Internet – Mark Eyer, Saturn Licensing LLC

Abstract for “Extensions to trigger parameters for interactive TV”

“A reception apparatus for processing control data, reception apparatus and a non-transitory computer readable storage medium is provided. The method receives content from a source. The received content is displayed on a controlled display. During the display of the content, the control information is received. Control information also includes location information that indicates the location of application information. Application control documents are part of the application information. The location information is used to retrieve the application information. This information can be modified in accordance with the control information. The application control file is loaded. The display is controlled according to the application control.

Background for “Extensions to trigger parameters for interactive TV”

“Field of Invention”

“Embodiments” refers to an apparatus that triggers compaction.

“Background”

Modern televisions and set-top boxes can perform many functions, in addition to receiving and broadcasting television broadcasts. A television viewer can pull up tools and web pages right from the television. These functions often require additional data to be received by the set top box or television. In the case of EPG, for example, the set top box or television would have to receive program information.

“In certain cases, additional data may be provided with the broadcast. The amount of additional data that can often be provided when this is done is usually limited. It may be necessary to either reduce the amount of additional information provided with the broadcast, or obtain additional data from another source.

“Embodiments in the present disclosure address at most the problem discussed above by providing trigger compression using a trigger parameter table (TPT).

“A method for processing triggers according to an embodiment of this disclosure is disclosed. This method involves receiving content from a source and then displaying the content on a display. The closed caption data associated to the received content is used as a trigger. Based on the first trigger, the reception apparatus retrieves a trigger parameter table (TPT). The TPT contains at least one event and one or more trigger identifiers and first media times of the received content. It is saved in the apparatus’ memory. The reception apparatus further processes the event using a combination of a trigger identifier, a first media time equal to a current media timeline of the received content and a second trigger.

“Another embodiment of the method states that the step of receiving content involves receiving the content via at minimum one of a satellite broadcast, cable television transmission, or the Internet.”

According to another embodiment, retrieving the TPT involves processing a Program Map Table of a broadcast virtual channels associated with the received content. Processing a Service Signaling Channel to retrieve a Service Map Table, discovering coordinates for a File Delivery Over Unidirectional Transport session (FLUTE), acquiring a FLUTE FLUTE File Delivery Table, (FDT), comparing the locator-part in the first trigger with Content-Location Values in the FLUTE FLUTE FDT until a match has been found and retrieving the TPT using the matched Content Location value.

“Another embodiment of the method calls for performing an Internet httpGET using the locator-part the first trigger to retrieve the TPT.”

“Accordingly to another embodiment, the method includes extracting first trigger from non-closed caption data in a service block with a range of service numbers between 1-6.”

“Accordingly to another embodiment, the method includes extracting first trigger from non-closed caption data in a service block with a service number 6”

“Accordingly to another embodiment, the method also includes extracting the second trigger and a second media times from the closed caption data associated the received content and determining current media time based upon the second media times.”

“According another embodiment of this method, the method further involves extracting the second trigger that indicates that the event will be retimed at a second media timing from the closed caption data associated to the received content and associating with the second media the event contained in the TPT stored within the memory.”

“According another embodiment of the method the method also includes extracting second trigger from closed caption data associated to the received content. The second trigger is used to indicate the execution of the event associated the trigger ID. The second trigger indicates that the processing step includes processing the trigger id event immediately.

“An embodiment of the present disclosure also provides a computer-readable storage media with instructions embedded therein that, when executed by computers, causes them to perform the method described above.

“Accordingly to one embodiment of the present disclosure, there’s a reception device. The reception apparatus comprises a receiver, display interface, extraction unit, and processor. The receiver is designed to receive content from a source. The display interface is set up to display the content received. The extraction unit can extract the first trigger from the closed caption data associated to the received content. Based on the first trigger, the processor will retrieve a TPT. The TPT contains at least one event that is associated with a trigger identifier or combination thereof and a first content time. The processor is also configured to store the TPT on the memory of the reception device and process the event using one or more of a second trigger, which includes the trigger identifier as well as the first media equaling a current time of the received contents.

“Accordingly to another embodiment, the reception apparatus is capable of receiving the content via at minimum one of a satellite broadcast or a cable TV transmission and the Internet.

“Accordingly to another embodiment, the processor can process a PMT associated with a broadcast channel, process an SC to retrieve an SMS, discover coordinates for a FLUTE session and acquire an FDT. The FDT will compare a locator part of the first trigger against Content Location values in the FLUTE FLUTE FDT until a match has been found. Finally, it will retrieve the TPT based upon the matched Content Location value.

“Accordingly to another embodiment, the processor can perform an Internet httpGET using a locator part of the first trigger to retrieve TPT.

“Accordingly to another embodiment, the reception apparatus is designed to extract the first trigger in non-closed caption data from a service block with a range of service numbers between 1-6.”

“Accordingly to another embodiment, the reception apparatus is designed to extract the first trigger in non-closed caption data within a service bloc having a number of 6.

“Accordingly to another embodiment, the reception apparatus is equipped with an extraction unit that can extract the second trigger and a second media times from closed caption data associated to the received content. Based on the second media, the processor can determine the current media times.

“According another embodiment of reception apparatus, the extraction device is configured to extract second trigger which indicates that the event will be retimed at a second media times from closed caption data associated to the received content. In response to the second trigger, the processor can associate the event in the TPT stored on the memory with the second time.

“According another embodiment of the reception apparatus the extraction unit is designed to extract the second trigger in the closed caption data associated to the received content. The second trigger signals the execution of the trigger event immediately. In response to the second trigger, the processor will immediately process the event associated to the trigger id.

“Accordingly to one embodiment of the present disclosure, there’s provided an information-providing apparatus that includes a memory as well as a communication unit. The memory can store a TPT. The TPT can include at least one event and one or more trigger identifiers. The TPT is provided to the reception device by the communication unit. TPT is delivered at the location specified in closed caption data that is associated with content given to the reception apparatus.

“According an embodiment of the current disclosure, there is a method for a reception apparatus to process triggers. This method involves receiving content from a source and then displaying it on a display. The first trigger is associated with the content received by the reception apparatus 20. Based on the first trigger, the reception apparatus retrieves a TPT. The TPT contains at least one event that is associated with one or more of a trigger ID and a first media times of the received content. It is kept in the memory of the apparatus. The reception apparatus also determines whether to process at least one of the events in the TPT using one or more of the TPT’s capabilities and a protocol version.

“Another embodiment of the method states that the step of receiving content involves receiving the content via at minimum one of a satellite broadcast, cable television transmission, or the Internet.”

“According another embodiment of this method, retrieving the text includes processing a PMT from a broadcast virtual channels associated with the received content and processing an SSC for retrieving an SMT. Obtaining coordinates of FLUTE sessions is done by acquiring an FDT, comparing a locator part of the first trigger against the Content-Location Values in the FLUTE FDT until the match is found, then retrieving the text using the matched Content Location value.

“Another embodiment of the method calls for performing an Internet httpGET using the locator-part the first trigger to retrieve the TPT.”

“According another embodiment of this method, the method also includes computing a random period based upon a diffusion attribute in the TPT and retrieving the supplemental content referenced within the TPT after the calculated random time period.”

“According another embodiment of this method, the method further involves retrieving a second event trigger that indicates that the event should be retimed at a second media timing from a server identified by the TPT and associating with the second media the event contained in the TPT.

“An embodiment of the present disclosure also provides a computer-readable storage media with instructions embedded therein that, when executed by computers, causes them to perform the method described above.

“Accordingly to one embodiment of the present disclosure, there’s a reception device. The reception apparatus includes a transmitter, a display interface and a processor. The receiver is designed to receive content from a source. The content is displayed by the display interface. The processor can receive the first trigger associated to the received content. Based on the first trigger, the processor will retrieve a TPT. The TPT contains at least one event that is associated with one or more of a trigger ID and a first media times of the received content. The processor can store the TPT in a memory on the reception apparatus and decide whether to process at least one of the events in the TPT using one or more of the protocol versions and/or one or two capabilities specified in the TPT.

“Accordingly to another embodiment, the receiver can receive the content via at minimum one of a satellite transmission, a cable TV transmission, or the Internet.”

“According another embodiment of this disclosure, the processor can process a PMT associated with a broadcast channel, process an SC to retrieve an SMS, discover coordinates for a FLUTE session and acquire an FDT. It will also compare a locator part of the first trigger with Content-Location Values in the FLUTE FLUTE FDT until a match has been found. Then, it will retrieve the TPT based upon the matched Content Location value.”

“Accordingly to another embodiment, the processor can perform an Internet httpGET using a locator part of the first trigger in order to retrieve the TPT.”

“Accordingly to another embodiment, the processor can be configured to compute a random period based upon a diffusion attribute in the TPT and retrieve the supplemental content referenced within the TPT after the calculated random time period.”

“According another embodiment of this disclosure, the processor can retrieve a second trigger informing that the event should be retimed at a second media timing from a server identified by the TPT and associate the TPT stored within the memory with the second time.”

“Accordingly to one embodiment of the present disclosure, there’s provided an information-providing apparatus that includes a memory as well as a communication unit. The memory can store a TPT. The TPT contains at least one event that is associated with one or more of a trigger ID and a media content time to be provided to a receiver apparatus. The communication unit is designed to transmit the TPT to a reception apparatus. This determines whether the at least one event in the TPT should be processed based on one, or several combinations of a protocol version as well as one or more capabilities specified in the TPT.

“While the disclosure can be embodied in many forms, it is shown in the drawings. We will now describe in detail specific embodiments. The present disclosure of these embodiments is intended to be used as an example of principles and not to limit disclosure to the specific embodiments described. The following description uses like reference numbers to describe similar, corresponding parts in various views of the drawings.

Interactive television applications offer viewers additional (or supplemental) content that allows them interact with the program in some way. An Internet uniform resource locator (URL), which points to a website with additional information about the item, program, or service, could provide this extra content. An interactive element can provide text and/or graphic information to augment the program video. One example is an element that displays the latest statistics of a player during a sporting event.

“Often, the behavior or appearance/disappearance of these interactive elements is dependent on the timing of events within the program. These objects need to be visible on television receivers. They must also be able receive the signaling necessary to adjust the display of interactive elements. These objects are called “triggers”. Because they trigger an operation at the specified time. There are many operations that can be triggered. Simple examples are?execute? (starts the interactive function), and?hide? Remove all visible elements from display, perform some specified action like display or updating some text or graphics and?terminate End all operations and release memory resources

“The trigger must be transported from where the interactive element was sourced, operated and delivered to the receiver. The trigger object can be transported using a variety of methods. You can include the trigger object in the digital transport multiplex at a variety locations or you can provide it via an Internet-based server that can be accessed by Internet-connected receivers. The digital transport can be found in audio or video?user data. Within the closed captioning transport (as discussed below), within a description carried in a program-specific information (PSI table), within adaptation fields, embedded in audio and modulated within video in luminance/chrominance.

“In every case, smaller triggers will be preferred. E.g. A trigger that is as small as 30 bytes or characters of text can provide greater flexibility and transport efficiency than one that might take up to 100 bytes. A method of providing interactivity according to embodiments of this disclosure is described. The trigger function is performed using a small or compact? trigger.”

Referring to FIG. FIG. 1 shows an exemplary broadcasting system 2. It includes a content source 10, a receiver apparatus 20, a trigger parameters server (TPT) 40, a TDO server 50, and optionally an automatic content recognition system (ACR). The reception apparatus 20 connects to the TPT server 40 and TDO server 60 via one or several communication networks, such as the Internet 30, and/or the ACR system 60. Other embodiments provide TPTs stored on the TPT server 40, and/or TDOs stored on the TDO server 60 to the reception apparatus 20, via the content source 10, or the ACR 60.

“The broadcast system 2 presents an interactive digital TV feature that allows viewers to view supplemental content. This content is associated with and synchronized in the time with events within the original content source. One or more media types can be used to supplement the content, such as audio, video or text. One embodiment of the supplemental contents’ behavior and appearance is associated with the content and synchronized in the time with the events within it.

“In one embodiment, a content source 10 delivers content to the reception device 20 via a terrestrial broadcast. Other embodiments provide the content 10 via a satellite broadcast, cable television transmission, terrestrial television broadcast, or cellular network. A data communication network can also be used such as a wide area network (WAN), local area network(LAN), or the Internet 30. Content source 10 provides one or more television programs. It doesn’t matter if the content is a movie, sports event, segment of multi-part series, news broadcast, or other content. The content source 10 can also provide informationmercials and advertisements. These content may not be reported in an EPG.

“The reception apparatus 20 receives content from the content source 10, and displays it on a display 350. FIG. 3. One embodiment of the display 350 is an integral component of the reception apparatus 20, such as a television set. Alternately, the display 350 can be connected to an external device such as a set top box or television set.

“According one embodiment, the reception apparatus (20) includes a Declarative Object Engine (DO) Engine, which accepts declarative objects and renders them together with the content (e.g. audio/video content of a programme) received from the source. A DO Engine renders a DO upon a request from a user, or in response a trigger event. A trigger event can result in a DO being rendered. This is called a “triggered declarative object” (TDO).

The TDO is a downloadable object of software that is created by content providers, content creators, or service providers. It includes declarative content (e.g. text, graphics and/or audio), whose function is linked in some manner to the content it accompanies. U.S. Application Ser. No. No. to Blanchard et al. This document is hereby included by reference in its entirety. Blanchard et al. do not limit the TDO to this structure. Many attributes that are listed in Blanchard et al. as part of a TDO can be found in triggers or vice versa depending on the function and triggering of a specific TDO.

The TDO is usually regarded as?declarative? It can be distinguished from?executable by adding content. Content such as Java applets or applications that run on an operating system platform. The TDO is generally considered a declarative object. However, a TDO player (e.g. the DO Engine), supports an object-oriented scripting language. In the examples, the TDOs are received from content providers in advance of their execution so that they are available whenever needed. A trigger signal is not always necessary. TDOs can also be self-triggered or triggered by actions other than receiving a trigger signal. Different standards bodies can define the associated behaviors, appearances and trigger actions as well as transport methods for metadata and content for a TDO. Standards bodies may also have requirements for audio/video-related TDO behavior timing accuracy.

“The trigger is a data item, optionally bound with a particular content item (e.g. a television program), by using a file name (or identifier) for an object to be downloaded (e.g. when instructing downloading of the TDO/TPT) or that has been downloaded (e.g. when instructing execution suspension termination etc. TDO or TPT. TDOs may only be used in conjunction with specific content. A TDO that collects viewer response data (e.g. voting on a contest or game show) is one example.

“In one embodiment, triggers are received by the DO Engine that coincide with certain points (e.g. trigger events) in the content, such as scene changes or the start or end of an ad section. There are two types of triggers: 1) those that are processed by DO Engine and 2) those that are passed to the TDO for processing. For example, the triggers associated to a type 1 command can be associated with commands that will be executed by DO Engine. For example, the triggers associated to a type 2 command can be associated with parameters (e.g. commands, data, etc.). To be used within the DO to make changes to the appearance, behavior, and state of any supplemental content.

“A trigger can be transported within a broadcast emissions stream, as described in U.S. Patent Application Ser. No. 13/216,375 is incorporated by reference in its entirety. A trigger can be transported, for example, in a Packetized Elementary Stream, in an MPEG-2 Transport Stream, or within the DTV closed caption stream as described in U.S. provisional patent No. 61/613 869, filed Mar. 21, 2012. 21. The trigger could be embedded in audio or video content, and then recovered through processing of decoded audio in the reception apparatus 20.

For some transport methods, smaller objects are preferable. The trigger should be represented in a limited number of bits and bytes. Some transport methods, such as the DTV Closed Caption Channel, may limit the size of the trigger to a certain number of bytes.

“In one embodiment, a trigger that is transported within the broadcast emissions stream is delivered in the DTV Closed caption Channel, in Standard Caption service #6, in a command named?URL String? as an URI_type=0 URL. (Interactive TV Trigger). The trigger’s size can be used to segment it into multiple segments. One embodiment of the trigger can be separated into multiple segments. Each segment is assigned a type which indicates whether it is (1) the first or the last of the two or more; (2) the last nor the first; (3) the last; and (4) if it is the one-and only. You can use any predefined values to identify the type for a segment. In one embodiment, type information also defines the order in which the segments are placed. The type information can also be used in other embodiments to communicate any information about segments to enable the reception apparatus 20 reconstruct the trigger.

For example, if the trigger has a length of less than 26 characters, it will be sent un-segmented (e.g. Type=11). The trigger that is between 27 and 52 characters long is sent in two segments: the first segment is in a Type=00 Segment and the second in a Type=10 Segment. In other embodiments, however, you can use any other criteria to determine how the trigger should segment. Other service numbers can be used as an alternative or in addition to service number 6. FIG. 9C.”

“FIG. “FIG. If the reception apparatus 20 has access, such as to the MPEG-2 Transportation Stream or the compressed content, then it can access such a trigger. At S902, closed caption data, including closed caption text, is received within a first Standard Service block with a pre-determined number between 1-6. Non-closed caption data are received at S904 within a Standard service bloc with a pre-determined service number. The Standard service that is used to receive the non-closed caption data can be any one of a number of service numbers between 1 and 6. However, it is rare for more than a few service numbers to be used for caption data. Service number 6 is used in the one embodiment.

“At step S906, reception apparatus 20 parses (e.g. in a parsing computing process module) the nonclosed caption text data from closed caption data service number 6 or n. Step S908 is used to process the non-closed caption data. This operation extracts the trigger and performs a function based upon the trigger. The CEA-708 compliant non-closed caption data are stored in a variable length command. In other embodiments, however, the non-closed caption data are carried in either a CEA-708 compliant fixed length command, or a combination variable and fixed length commands.

“It is important to note that the DTV Closed Caption Channel may also contain other types of data in addition or alternatively to the trigger. These additional types of data can be provided by one or more Standard Service blocks with a pre-determined number (e.g. Service #5, 4 or 3), or using different predetermined command codes sequences within the same Standard services block as the trigger.

“In one embodiment, triggers are delivered using one unused code point, e.g. 0x98 in CEA-708 code space to deliver short variable-length triggers. See FIG. FIG. 9B shows an example specification in the form of a CEA Standard (e.g. As an extension to CEA-708 “Trigger” is a variable-length command that is delivered in, for instance, the C3 code as defined in CEA-708.

“The trigger command illustrated at FIG. 9B allows for the transmission of interactive TV trigger data. In one embodiment, the trigger command can be transported in standard caption #6. The Length (L), an unsigned integer, is used in the above command coding. It indicates the number bytes that follow the header. This range can be between 11 and 27.

“As per CEA-708 D Section 7.1.11.2, variable length commands are indicated with the EXT1 characters followed by a number between 0x90 and 0x9F. The?0x is the base character. Notation refers to a number in hexadecimal format. FIG. 9B shows the command format. 9B, the EXT1 (0x10) character is followed by 0x98. In this context, 0x98 stands for command identifier. Any other command identifier that is not in use can be linked to the trigger command. The syntax in CEA-708 D Section 7.1.11.2 states that the next byte contains a two-bit Type field. This is followed by a zero and a five-bit length field.

“In one embodiment, trigger( ) data structures follow the byte containing length field. FIG. 9C shows the syntax for one example trigger data. 9C in pseudo code. FIG. 9C shows an example trigger syntax. 9C, trigger_type represents a 4-bit unsigned integer which indicates the type trigger to be used. Only type 0 triggers can be defined in one embodiment. The value of trigger_type has been set to 0. The receiver apparatus 20 will ignore instances of trigger commands indicating triggers that are not recognized by it. Another embodiment of trigger_type is set at one value to indicate Interactive TV trigger, and another value for the URL to indicate that the URL is used to report service usage.

“Further,” in one embodiment trigger_character is an ASCII 8-bit character whose value is limited to Uniform Resource Identifiers, (URIs), as per RFC 2396. The trigger( ) character string is a valid RFC 2396 URI, and is incorporated in its entirety by reference.

“Using a variable-length DTV closed caption signal in Service #6 for transporting the trigger allows: (1) robust (explicit), signalling of the presence of trigger; (2) signaling the type of trigger (for expansion); (3) a format that is natural extension to existing CEA-708 DTVCC protocol; (4) a method that is transparent to legacy recipients.”

A trigger can also be transmitted via other routes, such as the Internet. One embodiment of this invention is that the trigger cannot be obtained via the broadcast emission stream. The reception apparatus 20 acquires it via the ACR 60 by, for instance, sending A/V samples from the content being received to the ACR 60.

“When the reception device 20 does not have access to the broadcast TS and broadcast triggers, one embodiment of the invention is that the reception apparatus 20 uses the ACR system 60 to identify the content being watched as well as the Media Time. The TPT and associated files are then retrieved from the Internet server (e.g. TPT server 40), identified by the trigger. In one embodiment, however, the ACR 60 will not be responsible to provide updated triggers. This is because it does not establish the timing of live events. Updated triggers will instead be distributed from TPT server 40, identified by a locator_part trigger. The ACR 60 may also provide updated triggers in other embodiments. This is when, for instance, the TPT server 40 and ACR 60 are combined into one system.

“In the ACR scenario, the reception apparatus 20 will access the TPT server forty to create a channel through which trigger updates may be received. The protocols for trigger refresh could, for example, conform to RFC 6202’s Long Polling methods. This document is incorporated by reference in its entirety.

The present disclosure provides some ideas for a system design where the trigger can be represented in a limited number of bytes. This allows for easy and reliable transport. A small number of bytes is needed to represent the trigger. This addresses issues such as small, compact and robust triggers that can be used for transport methods with limited data capacity. It also allows for variable-sized payloads which can often prove difficult to transport. The present disclosure addresses the need to provide a flexible system that can be “table-driven”. This means that the TDO’s actions and behavior can be specified in data within an associated table rather than coded into it. This allows one TDO script to be used in many situations.

The concept of triggers was created because the files that make up a TDO, and the data files used by the TDO for taking some action, take some time to transmit to 20. Although interactive elements can be created before broadcast, certain behaviors need to be timed carefully to coincide with program events, such as the occurrences of commercial advertisements. The broadcast system 2 allows for the delivery of declarative objects, as well as associated data and scripts. It also signals the timing of the playout (i.e. the trigger).

“Triggers support interactive services by performing various signaling functions related to timing. Triggers can be multifunctional. Depending on the structure of the trigger instance, one or more functions may be performed by it.

FIG. 10A illustrates an exemplary normative syntax to trigger the trigger. 10A. 10A. ?://? ?://? portion, with additional restrictions as described below. FIG. FIG.

“The syntactic description illustrated in FIG. ? Alternatives are designated by the vertical bar symbol? ?=?, indentation separates rules from definitions. It is used to continue a rule’s definition over multiple lines. Literals are quoted with? ?, parentheses?(?and?)? parentheses?(?and?)? are used to group elements. Optional elements are enclosed in??[?]. optional elements are enclosed in?[???? and?]? brackets and elements can be preceded by * to denote n or more repetitions the following element; defaults to 0.

“One embodiment has additional restrictions: (1) The trigger’s maximum length is not more than 52 bytes and (2) the hostname portion of the Trigger must be a registered Internet domain. In the above-described embodiment, the maximum length of the trigger is 52 bytes. You can set different maximum lengths if the trigger is sent via another portion of the DTV Closed Caption Channel, or any other transport method.

“In some embodiments, the trigger may be considered to have three parts. Two are required, and one is optional. / [? ].”

“The Refers to a registered Internet domain. The An arbitrary string of characters that identifies a directory path under control and management by the entity which owns the domain name. Combination of And Uniquely identify the files that can be processed using the reception apparatus 20, to add interactivity to the content.

“The Optional: This is a portion of the Trigger. It can contain one or more trigger parameters if it is present. One embodiment of the trigger contains parameters in a query string (e.g. the trigger portion to the right from the ???).). For example, (1) is one of the defined formats for the query strings. Optionally, followed by ; (2) Optionally, followed by ; (3) Optionally, followed by ; and (4) .”

“In one embodiment, parameters are formatted following the following rules:

?two parameters. A trigger event ID denoted by?e=? The event ID is followed by a decimal numeral and the timing value. The string should be between 1-7 characters long and represent a hexadecimal number that indicates a new media timing for the trigger event.

?a term that is designated by?m= Then, a character string of 1-7 characters representing the hexadecimal number that indicates the current Media Time in units in milliseconds is followed.

?a term that is designated by?s= If it is the only term or?&s=? When it is the only term, or?&s=? Each reception apparatus 20 will be expected to determine a random time within that time frame and delay access requests by that amount. This spreads the time needed to meet peak demand, which might otherwise occur when a trigger is activated at the reception apparatus 20.

A term that is not?e,?m? or??M?. It is followed by an equals-sign, and an alphanumeric string. A second term can appear after the first. If present, the start of the second term will be delimited by the?&? character. Unrecognized terms are expected to be ignored by each reception apparatus 20.”

Table 1 below shows examples of triggers that are valid and their functions.

“TABLE 1\nExample Triggers and Functions\nExample Trigger Function\nxbc.tv/e12 Pre-load interactive content (or TPT) from identified\ndirectory/location (online at http://xbc.tv/e12 or within\nassociated FLUTE session).\nxbc.tv/e12?s=10 Pre-load interactive content (or TPT) from identified\ndirectory/location (online at http://xbc.tv/e12 or within\nassociated FLUTE session), with smoothing parameter\nvalue 10 seconds.\nxbc.tv/e12?m=5a33 Identify the location of interactive content (or TPT)\nand establish the current Media Time of the associated\ncontent.\nxbc.tv/e12?e=7 Identify the location of interactive content (or TPT)\nand signal the immediate execution of the TPT\ninteractive event associated with trigger_ID (or\neventID) value 7.\nxbc.tv/e12?e=8&t=77ee Identify the location of interactive content (or TPT)\nand signal the execution of the TPT interactive event\nassociated with trigger_ID (eventID) value 8 at Media\nTime 77ee.\nxbc.tv/e12?m=5a33&s=12 Identify the location of interactive content (or TPT)\nand establish the current Media Time of the associated\ncontent, with smoothing parameter value 12 seconds.”

“Query terms that are not defined above (e?,?m??,?s??, and?t?) “Query terms other than those defined above (?e?,?m??,???s?, and?)) may be used in a trigger to determine one or more predetermined functions. In one embodiment, these triggers are legal, and each reception apparatus 20 will process them according to the following:

“a.xbc.tv/77?a=6EE43f. Reception apparatus 20 may be used as a preload. If it is not recognized, reception apparatus 20 can be used as a pre-load.

“a.xbc.tv/133-Ar4?w=3&s=10. Reception apparatus 20 can be used as a preload with spreading parameter 10. If it is not recognized, reception apparatus 20 can be used as a pre-load with spreading parameter 10.

“x.tv/E7?B=OK&C=OK&S=10. Reception apparatus 20 can be used as a preload with spreading parameter 10 and ignore the?B? If they are not recognized, reception apparatus 20 can be used as a pre-load with spreading parameter 10. If they are not recognized, you can use the?C? commands. Please note that the query term identifier can be case sensitive depending on the embodiment.

“When the TPT is specified as an XML Schema, an exemplary namespace for this schema is http://www.atsc.org/XMLSchemas/tpt/2012/1 indicating that it is major version 1 of the schema. The?schema is one example. In one embodiment, the?schema? element in the XML schema contains a?version?? Attribute set to the value of 1.0 indicates that the schema’s minor version number is 0.

“To provide flexibility for future schema changes, decoders (e.g. reception apparatus 20) should adhere to the?must ignore?” rule. rule. They should disregard any elements or attributes that they don’t recognize and instead treat them as errors.

The Table 2 below illustrates an embodiment of the TPT architecture. Items that begin with?@ are attributes; others are elements. Items preceded by?@ are attributes, others are elements.

“TABLE 2\nTPT Structure\nNo.\nElement/Attribute (with @) permitted Description & Value\ntpt\n@id 1 domain_name/Program_id = segment id\n@tptType 1 ?static?|?dynamic?\n@majorVersion 1 Interactive protocol major version number\n@minorVersion 0 . . . 1 Interactive protocol minor version number\n@tptVersion 1 Version of this TPT instance\n@updatingTime 0 . . . 1 Recommended TPT polling interval for type ==n?dynamic )\n@beginMt 0 . . . 1 The start time for the TPT scopen@endMt 0. . . 1 The expiration date of the TPT scopen@expireDate 0. . . 1 Expire Date for Caching TPT Document. (only for\ntype = ?static? )\nliveTrigger 0 . . . 1 optional specification of server providing live\nTriggers\n@liveTriggerURL 1 URL of server providing updated live Triggers\n@longPoll 0 . . . 1 true means to use?long survey? protocol; false meansnreg. poll\n@pollPeriod 0 . . . 1 polling period in seconds if regular polling isnusednevent 1. . . N\n@eventID 1 event_id\n@startTime 0 . . . 1 The command’s start time is valid for a period of time. . . 1 End time of command valid period n@destination 0. . . 1 Type of device?receiver : receiver itself;\n?external_1? external device type1\n?external_2? external device type2\n@action 1 ?register?|?suspend-execute?|?terminate-\nexecute?|?suspend-resume?|?terminate-resume?|\n?terminate?|?event?\n@diffusion 0 . . . 1 Period for applying command diffusion\napplication 1 Description for target TDO\n@appID 1 TDO ID\n@type 1 TDO type\n@url 1 TDO URL\n@priority 0 . . . 1 Priority to persist 1 : High 0 : Normal n@expireDate 1. . . 1 Expire date for caching the application\ncapability 0 . . . N Receiver required capability for this application\nstreamEvent 0 . . . 1 Description for event\n@streamEventID 1 Event ID\ndata 0 . . . 1 Embedded data

“The TPT structure in Table 2 contains major and minor version attributes at the top level, TPT. These attributes work in a similar way to how namespaces can be used for different types of TPT data structure to enable extensibility. The reception apparatus 20 can easily identify whether a specific TPT instance is a first or future release of a standard whose structure may differ by using the major and minor protocol versions attributes.

“The TPT structure in Table 2 also contains a simplified XML description of a diffusion mechanism. Instead of a diffusion mechanism for a complex type called Diffusion Type that has a single attribute and a complicated diffusion mechanism, the diffusion mechanism can be simplified to only one attribute of the Event Type.

“The complex diffusion type refers to diffusion that occurs during repeated TPT deliveries. One in four receivers might be able to access the server after receiving the first issuance. The second could indicate that 1 out of 3 should access the server, etc. The last would indicate that all remaining receivers should have access. The more realistic use scenario would be that the TPT is only retrieved once and all receivers could want to start retrieving the referenced assets immediately. This application is best suited for a one-parameter approach.

These items were part of the prior 3-parameter method:

“rate”: A characteristic of the diffusion element. It is the number of timings divided for random diffusion of command execution timings in integer.

“range”: A characteristic of a diffusion element. It is used to indicate the time taken for the random diffusion of command execution.

Summary for “Extensions to trigger parameters for interactive TV”

“Field of Invention”

“Embodiments” refers to an apparatus that triggers compaction.

“Background”

Modern televisions and set-top boxes can perform many functions, in addition to receiving and broadcasting television broadcasts. A television viewer can pull up tools and web pages right from the television. These functions often require additional data to be received by the set top box or television. In the case of EPG, for example, the set top box or television would have to receive program information.

“In certain cases, additional data may be provided with the broadcast. The amount of additional data that can often be provided when this is done is usually limited. It may be necessary to either reduce the amount of additional information provided with the broadcast, or obtain additional data from another source.

“Embodiments in the present disclosure address at most the problem discussed above by providing trigger compression using a trigger parameter table (TPT).

“A method for processing triggers according to an embodiment of this disclosure is disclosed. This method involves receiving content from a source and then displaying the content on a display. The closed caption data associated to the received content is used as a trigger. Based on the first trigger, the reception apparatus retrieves a trigger parameter table (TPT). The TPT contains at least one event and one or more trigger identifiers and first media times of the received content. It is saved in the apparatus’ memory. The reception apparatus further processes the event using a combination of a trigger identifier, a first media time equal to a current media timeline of the received content and a second trigger.

“Another embodiment of the method states that the step of receiving content involves receiving the content via at minimum one of a satellite broadcast, cable television transmission, or the Internet.”

According to another embodiment, retrieving the TPT involves processing a Program Map Table of a broadcast virtual channels associated with the received content. Processing a Service Signaling Channel to retrieve a Service Map Table, discovering coordinates for a File Delivery Over Unidirectional Transport session (FLUTE), acquiring a FLUTE FLUTE File Delivery Table, (FDT), comparing the locator-part in the first trigger with Content-Location Values in the FLUTE FLUTE FDT until a match has been found and retrieving the TPT using the matched Content Location value.

“Another embodiment of the method calls for performing an Internet httpGET using the locator-part the first trigger to retrieve the TPT.”

“Accordingly to another embodiment, the method includes extracting first trigger from non-closed caption data in a service block with a range of service numbers between 1-6.”

“Accordingly to another embodiment, the method includes extracting first trigger from non-closed caption data in a service block with a service number 6”

“Accordingly to another embodiment, the method also includes extracting the second trigger and a second media times from the closed caption data associated the received content and determining current media time based upon the second media times.”

“According another embodiment of this method, the method further involves extracting the second trigger that indicates that the event will be retimed at a second media timing from the closed caption data associated to the received content and associating with the second media the event contained in the TPT stored within the memory.”

“According another embodiment of the method the method also includes extracting second trigger from closed caption data associated to the received content. The second trigger is used to indicate the execution of the event associated the trigger ID. The second trigger indicates that the processing step includes processing the trigger id event immediately.

“An embodiment of the present disclosure also provides a computer-readable storage media with instructions embedded therein that, when executed by computers, causes them to perform the method described above.

“Accordingly to one embodiment of the present disclosure, there’s a reception device. The reception apparatus comprises a receiver, display interface, extraction unit, and processor. The receiver is designed to receive content from a source. The display interface is set up to display the content received. The extraction unit can extract the first trigger from the closed caption data associated to the received content. Based on the first trigger, the processor will retrieve a TPT. The TPT contains at least one event that is associated with a trigger identifier or combination thereof and a first content time. The processor is also configured to store the TPT on the memory of the reception device and process the event using one or more of a second trigger, which includes the trigger identifier as well as the first media equaling a current time of the received contents.

“Accordingly to another embodiment, the reception apparatus is capable of receiving the content via at minimum one of a satellite broadcast or a cable TV transmission and the Internet.

“Accordingly to another embodiment, the processor can process a PMT associated with a broadcast channel, process an SC to retrieve an SMS, discover coordinates for a FLUTE session and acquire an FDT. The FDT will compare a locator part of the first trigger against Content Location values in the FLUTE FLUTE FDT until a match has been found. Finally, it will retrieve the TPT based upon the matched Content Location value.

“Accordingly to another embodiment, the processor can perform an Internet httpGET using a locator part of the first trigger to retrieve TPT.

“Accordingly to another embodiment, the reception apparatus is designed to extract the first trigger in non-closed caption data from a service block with a range of service numbers between 1-6.”

“Accordingly to another embodiment, the reception apparatus is designed to extract the first trigger in non-closed caption data within a service bloc having a number of 6.

“Accordingly to another embodiment, the reception apparatus is equipped with an extraction unit that can extract the second trigger and a second media times from closed caption data associated to the received content. Based on the second media, the processor can determine the current media times.

“According another embodiment of reception apparatus, the extraction device is configured to extract second trigger which indicates that the event will be retimed at a second media times from closed caption data associated to the received content. In response to the second trigger, the processor can associate the event in the TPT stored on the memory with the second time.

“According another embodiment of the reception apparatus the extraction unit is designed to extract the second trigger in the closed caption data associated to the received content. The second trigger signals the execution of the trigger event immediately. In response to the second trigger, the processor will immediately process the event associated to the trigger id.

“Accordingly to one embodiment of the present disclosure, there’s provided an information-providing apparatus that includes a memory as well as a communication unit. The memory can store a TPT. The TPT can include at least one event and one or more trigger identifiers. The TPT is provided to the reception device by the communication unit. TPT is delivered at the location specified in closed caption data that is associated with content given to the reception apparatus.

“According an embodiment of the current disclosure, there is a method for a reception apparatus to process triggers. This method involves receiving content from a source and then displaying it on a display. The first trigger is associated with the content received by the reception apparatus 20. Based on the first trigger, the reception apparatus retrieves a TPT. The TPT contains at least one event that is associated with one or more of a trigger ID and a first media times of the received content. It is kept in the memory of the apparatus. The reception apparatus also determines whether to process at least one of the events in the TPT using one or more of the TPT’s capabilities and a protocol version.

“Another embodiment of the method states that the step of receiving content involves receiving the content via at minimum one of a satellite broadcast, cable television transmission, or the Internet.”

“According another embodiment of this method, retrieving the text includes processing a PMT from a broadcast virtual channels associated with the received content and processing an SSC for retrieving an SMT. Obtaining coordinates of FLUTE sessions is done by acquiring an FDT, comparing a locator part of the first trigger against the Content-Location Values in the FLUTE FDT until the match is found, then retrieving the text using the matched Content Location value.

“Another embodiment of the method calls for performing an Internet httpGET using the locator-part the first trigger to retrieve the TPT.”

“According another embodiment of this method, the method also includes computing a random period based upon a diffusion attribute in the TPT and retrieving the supplemental content referenced within the TPT after the calculated random time period.”

“According another embodiment of this method, the method further involves retrieving a second event trigger that indicates that the event should be retimed at a second media timing from a server identified by the TPT and associating with the second media the event contained in the TPT.

“An embodiment of the present disclosure also provides a computer-readable storage media with instructions embedded therein that, when executed by computers, causes them to perform the method described above.

“Accordingly to one embodiment of the present disclosure, there’s a reception device. The reception apparatus includes a transmitter, a display interface and a processor. The receiver is designed to receive content from a source. The content is displayed by the display interface. The processor can receive the first trigger associated to the received content. Based on the first trigger, the processor will retrieve a TPT. The TPT contains at least one event that is associated with one or more of a trigger ID and a first media times of the received content. The processor can store the TPT in a memory on the reception apparatus and decide whether to process at least one of the events in the TPT using one or more of the protocol versions and/or one or two capabilities specified in the TPT.

“Accordingly to another embodiment, the receiver can receive the content via at minimum one of a satellite transmission, a cable TV transmission, or the Internet.”

“According another embodiment of this disclosure, the processor can process a PMT associated with a broadcast channel, process an SC to retrieve an SMS, discover coordinates for a FLUTE session and acquire an FDT. It will also compare a locator part of the first trigger with Content-Location Values in the FLUTE FLUTE FDT until a match has been found. Then, it will retrieve the TPT based upon the matched Content Location value.”

“Accordingly to another embodiment, the processor can perform an Internet httpGET using a locator part of the first trigger in order to retrieve the TPT.”

“Accordingly to another embodiment, the processor can be configured to compute a random period based upon a diffusion attribute in the TPT and retrieve the supplemental content referenced within the TPT after the calculated random time period.”

“According another embodiment of this disclosure, the processor can retrieve a second trigger informing that the event should be retimed at a second media timing from a server identified by the TPT and associate the TPT stored within the memory with the second time.”

“Accordingly to one embodiment of the present disclosure, there’s provided an information-providing apparatus that includes a memory as well as a communication unit. The memory can store a TPT. The TPT contains at least one event that is associated with one or more of a trigger ID and a media content time to be provided to a receiver apparatus. The communication unit is designed to transmit the TPT to a reception apparatus. This determines whether the at least one event in the TPT should be processed based on one, or several combinations of a protocol version as well as one or more capabilities specified in the TPT.

“While the disclosure can be embodied in many forms, it is shown in the drawings. We will now describe in detail specific embodiments. The present disclosure of these embodiments is intended to be used as an example of principles and not to limit disclosure to the specific embodiments described. The following description uses like reference numbers to describe similar, corresponding parts in various views of the drawings.

Interactive television applications offer viewers additional (or supplemental) content that allows them interact with the program in some way. An Internet uniform resource locator (URL), which points to a website with additional information about the item, program, or service, could provide this extra content. An interactive element can provide text and/or graphic information to augment the program video. One example is an element that displays the latest statistics of a player during a sporting event.

“Often, the behavior or appearance/disappearance of these interactive elements is dependent on the timing of events within the program. These objects need to be visible on television receivers. They must also be able receive the signaling necessary to adjust the display of interactive elements. These objects are called “triggers”. Because they trigger an operation at the specified time. There are many operations that can be triggered. Simple examples are?execute? (starts the interactive function), and?hide? Remove all visible elements from display, perform some specified action like display or updating some text or graphics and?terminate End all operations and release memory resources

“The trigger must be transported from where the interactive element was sourced, operated and delivered to the receiver. The trigger object can be transported using a variety of methods. You can include the trigger object in the digital transport multiplex at a variety locations or you can provide it via an Internet-based server that can be accessed by Internet-connected receivers. The digital transport can be found in audio or video?user data. Within the closed captioning transport (as discussed below), within a description carried in a program-specific information (PSI table), within adaptation fields, embedded in audio and modulated within video in luminance/chrominance.

“In every case, smaller triggers will be preferred. E.g. A trigger that is as small as 30 bytes or characters of text can provide greater flexibility and transport efficiency than one that might take up to 100 bytes. A method of providing interactivity according to embodiments of this disclosure is described. The trigger function is performed using a small or compact? trigger.”

Referring to FIG. FIG. 1 shows an exemplary broadcasting system 2. It includes a content source 10, a receiver apparatus 20, a trigger parameters server (TPT) 40, a TDO server 50, and optionally an automatic content recognition system (ACR). The reception apparatus 20 connects to the TPT server 40 and TDO server 60 via one or several communication networks, such as the Internet 30, and/or the ACR system 60. Other embodiments provide TPTs stored on the TPT server 40, and/or TDOs stored on the TDO server 60 to the reception apparatus 20, via the content source 10, or the ACR 60.

“The broadcast system 2 presents an interactive digital TV feature that allows viewers to view supplemental content. This content is associated with and synchronized in the time with events within the original content source. One or more media types can be used to supplement the content, such as audio, video or text. One embodiment of the supplemental contents’ behavior and appearance is associated with the content and synchronized in the time with the events within it.

“In one embodiment, a content source 10 delivers content to the reception device 20 via a terrestrial broadcast. Other embodiments provide the content 10 via a satellite broadcast, cable television transmission, terrestrial television broadcast, or cellular network. A data communication network can also be used such as a wide area network (WAN), local area network(LAN), or the Internet 30. Content source 10 provides one or more television programs. It doesn’t matter if the content is a movie, sports event, segment of multi-part series, news broadcast, or other content. The content source 10 can also provide informationmercials and advertisements. These content may not be reported in an EPG.

“The reception apparatus 20 receives content from the content source 10, and displays it on a display 350. FIG. 3. One embodiment of the display 350 is an integral component of the reception apparatus 20, such as a television set. Alternately, the display 350 can be connected to an external device such as a set top box or television set.

“According one embodiment, the reception apparatus (20) includes a Declarative Object Engine (DO) Engine, which accepts declarative objects and renders them together with the content (e.g. audio/video content of a programme) received from the source. A DO Engine renders a DO upon a request from a user, or in response a trigger event. A trigger event can result in a DO being rendered. This is called a “triggered declarative object” (TDO).

The TDO is a downloadable object of software that is created by content providers, content creators, or service providers. It includes declarative content (e.g. text, graphics and/or audio), whose function is linked in some manner to the content it accompanies. U.S. Application Ser. No. No. to Blanchard et al. This document is hereby included by reference in its entirety. Blanchard et al. do not limit the TDO to this structure. Many attributes that are listed in Blanchard et al. as part of a TDO can be found in triggers or vice versa depending on the function and triggering of a specific TDO.

The TDO is usually regarded as?declarative? It can be distinguished from?executable by adding content. Content such as Java applets or applications that run on an operating system platform. The TDO is generally considered a declarative object. However, a TDO player (e.g. the DO Engine), supports an object-oriented scripting language. In the examples, the TDOs are received from content providers in advance of their execution so that they are available whenever needed. A trigger signal is not always necessary. TDOs can also be self-triggered or triggered by actions other than receiving a trigger signal. Different standards bodies can define the associated behaviors, appearances and trigger actions as well as transport methods for metadata and content for a TDO. Standards bodies may also have requirements for audio/video-related TDO behavior timing accuracy.

“The trigger is a data item, optionally bound with a particular content item (e.g. a television program), by using a file name (or identifier) for an object to be downloaded (e.g. when instructing downloading of the TDO/TPT) or that has been downloaded (e.g. when instructing execution suspension termination etc. TDO or TPT. TDOs may only be used in conjunction with specific content. A TDO that collects viewer response data (e.g. voting on a contest or game show) is one example.

“In one embodiment, triggers are received by the DO Engine that coincide with certain points (e.g. trigger events) in the content, such as scene changes or the start or end of an ad section. There are two types of triggers: 1) those that are processed by DO Engine and 2) those that are passed to the TDO for processing. For example, the triggers associated to a type 1 command can be associated with commands that will be executed by DO Engine. For example, the triggers associated to a type 2 command can be associated with parameters (e.g. commands, data, etc.). To be used within the DO to make changes to the appearance, behavior, and state of any supplemental content.

“A trigger can be transported within a broadcast emissions stream, as described in U.S. Patent Application Ser. No. 13/216,375 is incorporated by reference in its entirety. A trigger can be transported, for example, in a Packetized Elementary Stream, in an MPEG-2 Transport Stream, or within the DTV closed caption stream as described in U.S. provisional patent No. 61/613 869, filed Mar. 21, 2012. 21. The trigger could be embedded in audio or video content, and then recovered through processing of decoded audio in the reception apparatus 20.

For some transport methods, smaller objects are preferable. The trigger should be represented in a limited number of bits and bytes. Some transport methods, such as the DTV Closed Caption Channel, may limit the size of the trigger to a certain number of bytes.

“In one embodiment, a trigger that is transported within the broadcast emissions stream is delivered in the DTV Closed caption Channel, in Standard Caption service #6, in a command named?URL String? as an URI_type=0 URL. (Interactive TV Trigger). The trigger’s size can be used to segment it into multiple segments. One embodiment of the trigger can be separated into multiple segments. Each segment is assigned a type which indicates whether it is (1) the first or the last of the two or more; (2) the last nor the first; (3) the last; and (4) if it is the one-and only. You can use any predefined values to identify the type for a segment. In one embodiment, type information also defines the order in which the segments are placed. The type information can also be used in other embodiments to communicate any information about segments to enable the reception apparatus 20 reconstruct the trigger.

For example, if the trigger has a length of less than 26 characters, it will be sent un-segmented (e.g. Type=11). The trigger that is between 27 and 52 characters long is sent in two segments: the first segment is in a Type=00 Segment and the second in a Type=10 Segment. In other embodiments, however, you can use any other criteria to determine how the trigger should segment. Other service numbers can be used as an alternative or in addition to service number 6. FIG. 9C.”

“FIG. “FIG. If the reception apparatus 20 has access, such as to the MPEG-2 Transportation Stream or the compressed content, then it can access such a trigger. At S902, closed caption data, including closed caption text, is received within a first Standard Service block with a pre-determined number between 1-6. Non-closed caption data are received at S904 within a Standard service bloc with a pre-determined service number. The Standard service that is used to receive the non-closed caption data can be any one of a number of service numbers between 1 and 6. However, it is rare for more than a few service numbers to be used for caption data. Service number 6 is used in the one embodiment.

“At step S906, reception apparatus 20 parses (e.g. in a parsing computing process module) the nonclosed caption text data from closed caption data service number 6 or n. Step S908 is used to process the non-closed caption data. This operation extracts the trigger and performs a function based upon the trigger. The CEA-708 compliant non-closed caption data are stored in a variable length command. In other embodiments, however, the non-closed caption data are carried in either a CEA-708 compliant fixed length command, or a combination variable and fixed length commands.

“It is important to note that the DTV Closed Caption Channel may also contain other types of data in addition or alternatively to the trigger. These additional types of data can be provided by one or more Standard Service blocks with a pre-determined number (e.g. Service #5, 4 or 3), or using different predetermined command codes sequences within the same Standard services block as the trigger.

“In one embodiment, triggers are delivered using one unused code point, e.g. 0x98 in CEA-708 code space to deliver short variable-length triggers. See FIG. FIG. 9B shows an example specification in the form of a CEA Standard (e.g. As an extension to CEA-708 “Trigger” is a variable-length command that is delivered in, for instance, the C3 code as defined in CEA-708.

“The trigger command illustrated at FIG. 9B allows for the transmission of interactive TV trigger data. In one embodiment, the trigger command can be transported in standard caption #6. The Length (L), an unsigned integer, is used in the above command coding. It indicates the number bytes that follow the header. This range can be between 11 and 27.

“As per CEA-708 D Section 7.1.11.2, variable length commands are indicated with the EXT1 characters followed by a number between 0x90 and 0x9F. The?0x is the base character. Notation refers to a number in hexadecimal format. FIG. 9B shows the command format. 9B, the EXT1 (0x10) character is followed by 0x98. In this context, 0x98 stands for command identifier. Any other command identifier that is not in use can be linked to the trigger command. The syntax in CEA-708 D Section 7.1.11.2 states that the next byte contains a two-bit Type field. This is followed by a zero and a five-bit length field.

“In one embodiment, trigger( ) data structures follow the byte containing length field. FIG. 9C shows the syntax for one example trigger data. 9C in pseudo code. FIG. 9C shows an example trigger syntax. 9C, trigger_type represents a 4-bit unsigned integer which indicates the type trigger to be used. Only type 0 triggers can be defined in one embodiment. The value of trigger_type has been set to 0. The receiver apparatus 20 will ignore instances of trigger commands indicating triggers that are not recognized by it. Another embodiment of trigger_type is set at one value to indicate Interactive TV trigger, and another value for the URL to indicate that the URL is used to report service usage.

“Further,” in one embodiment trigger_character is an ASCII 8-bit character whose value is limited to Uniform Resource Identifiers, (URIs), as per RFC 2396. The trigger( ) character string is a valid RFC 2396 URI, and is incorporated in its entirety by reference.

“Using a variable-length DTV closed caption signal in Service #6 for transporting the trigger allows: (1) robust (explicit), signalling of the presence of trigger; (2) signaling the type of trigger (for expansion); (3) a format that is natural extension to existing CEA-708 DTVCC protocol; (4) a method that is transparent to legacy recipients.”

A trigger can also be transmitted via other routes, such as the Internet. One embodiment of this invention is that the trigger cannot be obtained via the broadcast emission stream. The reception apparatus 20 acquires it via the ACR 60 by, for instance, sending A/V samples from the content being received to the ACR 60.

“When the reception device 20 does not have access to the broadcast TS and broadcast triggers, one embodiment of the invention is that the reception apparatus 20 uses the ACR system 60 to identify the content being watched as well as the Media Time. The TPT and associated files are then retrieved from the Internet server (e.g. TPT server 40), identified by the trigger. In one embodiment, however, the ACR 60 will not be responsible to provide updated triggers. This is because it does not establish the timing of live events. Updated triggers will instead be distributed from TPT server 40, identified by a locator_part trigger. The ACR 60 may also provide updated triggers in other embodiments. This is when, for instance, the TPT server 40 and ACR 60 are combined into one system.

“In the ACR scenario, the reception apparatus 20 will access the TPT server forty to create a channel through which trigger updates may be received. The protocols for trigger refresh could, for example, conform to RFC 6202’s Long Polling methods. This document is incorporated by reference in its entirety.

The present disclosure provides some ideas for a system design where the trigger can be represented in a limited number of bytes. This allows for easy and reliable transport. A small number of bytes is needed to represent the trigger. This addresses issues such as small, compact and robust triggers that can be used for transport methods with limited data capacity. It also allows for variable-sized payloads which can often prove difficult to transport. The present disclosure addresses the need to provide a flexible system that can be “table-driven”. This means that the TDO’s actions and behavior can be specified in data within an associated table rather than coded into it. This allows one TDO script to be used in many situations.

The concept of triggers was created because the files that make up a TDO, and the data files used by the TDO for taking some action, take some time to transmit to 20. Although interactive elements can be created before broadcast, certain behaviors need to be timed carefully to coincide with program events, such as the occurrences of commercial advertisements. The broadcast system 2 allows for the delivery of declarative objects, as well as associated data and scripts. It also signals the timing of the playout (i.e. the trigger).

“Triggers support interactive services by performing various signaling functions related to timing. Triggers can be multifunctional. Depending on the structure of the trigger instance, one or more functions may be performed by it.

FIG. 10A illustrates an exemplary normative syntax to trigger the trigger. 10A. 10A. ?://? ?://? portion, with additional restrictions as described below. FIG. FIG.

“The syntactic description illustrated in FIG. ? Alternatives are designated by the vertical bar symbol? ?=?, indentation separates rules from definitions. It is used to continue a rule’s definition over multiple lines. Literals are quoted with? ?, parentheses?(?and?)? parentheses?(?and?)? are used to group elements. Optional elements are enclosed in??[?]. optional elements are enclosed in?[???? and?]? brackets and elements can be preceded by * to denote n or more repetitions the following element; defaults to 0.

“One embodiment has additional restrictions: (1) The trigger’s maximum length is not more than 52 bytes and (2) the hostname portion of the Trigger must be a registered Internet domain. In the above-described embodiment, the maximum length of the trigger is 52 bytes. You can set different maximum lengths if the trigger is sent via another portion of the DTV Closed Caption Channel, or any other transport method.

“In some embodiments, the trigger may be considered to have three parts. Two are required, and one is optional. / [? ].”

“The Refers to a registered Internet domain. The An arbitrary string of characters that identifies a directory path under control and management by the entity which owns the domain name. Combination of And Uniquely identify the files that can be processed using the reception apparatus 20, to add interactivity to the content.

“The Optional: This is a portion of the Trigger. It can contain one or more trigger parameters if it is present. One embodiment of the trigger contains parameters in a query string (e.g. the trigger portion to the right from the ???).). For example, (1) is one of the defined formats for the query strings. Optionally, followed by ; (2) Optionally, followed by ; (3) Optionally, followed by ; and (4) .”

“In one embodiment, parameters are formatted following the following rules:

?two parameters. A trigger event ID denoted by?e=? The event ID is followed by a decimal numeral and the timing value. The string should be between 1-7 characters long and represent a hexadecimal number that indicates a new media timing for the trigger event.

?a term that is designated by?m= Then, a character string of 1-7 characters representing the hexadecimal number that indicates the current Media Time in units in milliseconds is followed.

?a term that is designated by?s= If it is the only term or?&s=? When it is the only term, or?&s=? Each reception apparatus 20 will be expected to determine a random time within that time frame and delay access requests by that amount. This spreads the time needed to meet peak demand, which might otherwise occur when a trigger is activated at the reception apparatus 20.

A term that is not?e,?m? or??M?. It is followed by an equals-sign, and an alphanumeric string. A second term can appear after the first. If present, the start of the second term will be delimited by the?&? character. Unrecognized terms are expected to be ignored by each reception apparatus 20.”

Table 1 below shows examples of triggers that are valid and their functions.

“TABLE 1\nExample Triggers and Functions\nExample Trigger Function\nxbc.tv/e12 Pre-load interactive content (or TPT) from identified\ndirectory/location (online at http://xbc.tv/e12 or within\nassociated FLUTE session).\nxbc.tv/e12?s=10 Pre-load interactive content (or TPT) from identified\ndirectory/location (online at http://xbc.tv/e12 or within\nassociated FLUTE session), with smoothing parameter\nvalue 10 seconds.\nxbc.tv/e12?m=5a33 Identify the location of interactive content (or TPT)\nand establish the current Media Time of the associated\ncontent.\nxbc.tv/e12?e=7 Identify the location of interactive content (or TPT)\nand signal the immediate execution of the TPT\ninteractive event associated with trigger_ID (or\neventID) value 7.\nxbc.tv/e12?e=8&t=77ee Identify the location of interactive content (or TPT)\nand signal the execution of the TPT interactive event\nassociated with trigger_ID (eventID) value 8 at Media\nTime 77ee.\nxbc.tv/e12?m=5a33&s=12 Identify the location of interactive content (or TPT)\nand establish the current Media Time of the associated\ncontent, with smoothing parameter value 12 seconds.”

“Query terms that are not defined above (e?,?m??,?s??, and?t?) “Query terms other than those defined above (?e?,?m??,???s?, and?)) may be used in a trigger to determine one or more predetermined functions. In one embodiment, these triggers are legal, and each reception apparatus 20 will process them according to the following:

“a.xbc.tv/77?a=6EE43f. Reception apparatus 20 may be used as a preload. If it is not recognized, reception apparatus 20 can be used as a pre-load.

“a.xbc.tv/133-Ar4?w=3&s=10. Reception apparatus 20 can be used as a preload with spreading parameter 10. If it is not recognized, reception apparatus 20 can be used as a pre-load with spreading parameter 10.

“x.tv/E7?B=OK&C=OK&S=10. Reception apparatus 20 can be used as a preload with spreading parameter 10 and ignore the?B? If they are not recognized, reception apparatus 20 can be used as a pre-load with spreading parameter 10. If they are not recognized, you can use the?C? commands. Please note that the query term identifier can be case sensitive depending on the embodiment.

“When the TPT is specified as an XML Schema, an exemplary namespace for this schema is http://www.atsc.org/XMLSchemas/tpt/2012/1 indicating that it is major version 1 of the schema. The?schema is one example. In one embodiment, the?schema? element in the XML schema contains a?version?? Attribute set to the value of 1.0 indicates that the schema’s minor version number is 0.

“To provide flexibility for future schema changes, decoders (e.g. reception apparatus 20) should adhere to the?must ignore?” rule. rule. They should disregard any elements or attributes that they don’t recognize and instead treat them as errors.

The Table 2 below illustrates an embodiment of the TPT architecture. Items that begin with?@ are attributes; others are elements. Items preceded by?@ are attributes, others are elements.

“TABLE 2\nTPT Structure\nNo.\nElement/Attribute (with @) permitted Description & Value\ntpt\n@id 1 domain_name/Program_id = segment id\n@tptType 1 ?static?|?dynamic?\n@majorVersion 1 Interactive protocol major version number\n@minorVersion 0 . . . 1 Interactive protocol minor version number\n@tptVersion 1 Version of this TPT instance\n@updatingTime 0 . . . 1 Recommended TPT polling interval for type ==n?dynamic )\n@beginMt 0 . . . 1 The start time for the TPT scopen@endMt 0. . . 1 The expiration date of the TPT scopen@expireDate 0. . . 1 Expire Date for Caching TPT Document. (only for\ntype = ?static? )\nliveTrigger 0 . . . 1 optional specification of server providing live\nTriggers\n@liveTriggerURL 1 URL of server providing updated live Triggers\n@longPoll 0 . . . 1 true means to use?long survey? protocol; false meansnreg. poll\n@pollPeriod 0 . . . 1 polling period in seconds if regular polling isnusednevent 1. . . N\n@eventID 1 event_id\n@startTime 0 . . . 1 The command’s start time is valid for a period of time. . . 1 End time of command valid period n@destination 0. . . 1 Type of device?receiver : receiver itself;\n?external_1? external device type1\n?external_2? external device type2\n@action 1 ?register?|?suspend-execute?|?terminate-\nexecute?|?suspend-resume?|?terminate-resume?|\n?terminate?|?event?\n@diffusion 0 . . . 1 Period for applying command diffusion\napplication 1 Description for target TDO\n@appID 1 TDO ID\n@type 1 TDO type\n@url 1 TDO URL\n@priority 0 . . . 1 Priority to persist 1 : High 0 : Normal n@expireDate 1. . . 1 Expire date for caching the application\ncapability 0 . . . N Receiver required capability for this application\nstreamEvent 0 . . . 1 Description for event\n@streamEventID 1 Event ID\ndata 0 . . . 1 Embedded data

“The TPT structure in Table 2 contains major and minor version attributes at the top level, TPT. These attributes work in a similar way to how namespaces can be used for different types of TPT data structure to enable extensibility. The reception apparatus 20 can easily identify whether a specific TPT instance is a first or future release of a standard whose structure may differ by using the major and minor protocol versions attributes.

“The TPT structure in Table 2 also contains a simplified XML description of a diffusion mechanism. Instead of a diffusion mechanism for a complex type called Diffusion Type that has a single attribute and a complicated diffusion mechanism, the diffusion mechanism can be simplified to only one attribute of the Event Type.

“The complex diffusion type refers to diffusion that occurs during repeated TPT deliveries. One in four receivers might be able to access the server after receiving the first issuance. The second could indicate that 1 out of 3 should access the server, etc. The last would indicate that all remaining receivers should have access. The more realistic use scenario would be that the TPT is only retrieved once and all receivers could want to start retrieving the referenced assets immediately. This application is best suited for a one-parameter approach.

These items were part of the prior 3-parameter method:

“rate”: A characteristic of the diffusion element. It is the number of timings divided for random diffusion of command execution timings in integer.

“range”: A characteristic of a diffusion element. It is used to indicate the time taken for the random diffusion of command execution.

Click here to view the patent on Google Patents.