Subject matter in this application may be used in conjunction with subject matter described in a disclosure entitled “A Method, Apparatus, And System for Overlapping Enhancement Control” which is attached hereto as Annex A and which is incorporated herein in its entirety by this reference.
Features in the disclosure relate generally to systems for interactive video and more particularly to integration of video with internet-based enhancements.
An increasingly popular set of technologies for interactive video involves encoding Uniform Resource Locators (“URLs”) in a video signal that is distributed to viewers, for instance, via broadcast. A view with an integrated video receiver and HTTP client may then enjoy an interactive enhanced video production through an HTTP session based on the URLs encoded in the video production.
A video production typically passes through several levels of a distribution hierarchy before being provided to the viewer. At each level, the entity typically has the right to control portions of the video production for enhanced video transport. For entities in the distribution hierarchy, and others such as broadcasters and viewers, it would be desirable for a means to exist that allowed for practical arrangements to be made to control enhanced video transport portions of the video production. It is possible to simply remove all enhanced video transport, however this precludes video enhancements and denies their benefits. It would also be beneficial for a tool to exist that allowed for the intelligent and selective modification of enhanced video transport data in a video production. Such an ability would allow entities in the video distribution hierarchy capability perform agreements respecting the content of the enhanced video transport and further prevent unauthorized distribution enhanced video transport.
Conventional technology provides an inadequate degree of control over units of video transport data. Some existing devices, e.g. closed captioning encoders, are directed towards encoding an additional data program (closed caption information) to accompany a video program. Others have the ability to write a closed captioning data program from a first channel on a second channel. The existing devices provide no mechanism for selective modification of unites of video transport data. A method of providing this type of control is highly desirable for entities in the distribution hierarchy and operators of server systems providing enhancements, for instance, because of the greater degree of control it could provide.
The greater control server system operators have over URLs in the video program, the better able they are to provide desired interactive enhancing resources. At a minimum, it is desirable there be some coordination between the URL stream encoded in the video program and the server system operator. However, with conventional techniques, coordination can be difficult, and in some instances, impossible. With conventional techniques, there is, at a minimum, a time a lag between the time of encoding the URLs and distribution to viewers (and the accompanying requests for enhancing resources). It would be desirable for a means to exist allowing server operators on-line and near real-time control over data for enhancing resources in a video production near the time of distribution to viewers.
In order to provide a solution to the forgoing and additional problems, aspects the present invention provide a method and system for video enhancement transport alteration.
One aspect of the invention are computer-controlled methods for selectively encoding video transport data. An illustrative method includes receiving a video signal and a video transport data stream. The video transport data stream is selectively modified forming a modified video transport data stream. The modified video transport data stream is combined with a video signal, forming an output video signal. The output video signal is provided, where it can undergo later use. In a variation, the video transport data stream is encoded in the video signal. Yet another variation involves receiving the stream of enhanced video transport data across a data network from a remote source; the data network could include a portion of the internet. In yet another variation, selectively modifying the video transport data stream includes detecting a first video transport data unit. A rule with a condition portion and an action portion is examined for determining whether the first video transport data unit satisfies the condition portion. The action portion executes for modifying the video transport data stream when the condition matches. The first video transport data unit can include a URL, an attribute associated with a URL, ATVEF Transport B data, or other data associated with the video signal.
Actions that could be taken by a rule include, for instance, allowing the first video transport data unit to be encoded in the modified video transport data stream, preventing the first video transport data unit from being encoded in the modified enhanced video transport data stream, encoding a second video transport data unit in lieu of the first video transport data unit, or generating a notification of the encoded or modified video transport data stream.
In another variation, the video signal also includes closed captioning information. In this instance, a further feature includes extracting the closed caption information and the video transport data stream from the video signal and reencoding the closed caption information in the video signal in near real-time for retaining synchronization of the closed caption information and the video signal.
The video signal can include a vertical blanking interval and the video transport data be encoded in the vertical blanking interval. The video signal could be, for instance, encoded in an MPEG format, a Serial Digital Video format, as a Synchronized Multimedia Integration Language presentation, or as a streaming media type. Also, the modified video transport data stream could be provided to a remote monitoring client system.
In another variation, selectively modifying the video transport data stream includes inserting an identifier of a video program enhancement. Then, in this variation, the video signal is received at a plurality of receiver locations and the identifier detected. This variation could also include receiving information from the one or more of the receiver locations detecting the identifier and preparing summary information regarding the video program enhancement based on the information. The information could be supplemented by information received by an enhancing resource server system receiving requests for enhancements. The summary information could also be based on this.
Yet another aspect of the invention are systems for video enhancement transport alteration. An illustrative system includes an input for receiving a video transport data stream and an encoder for encoding a modified video transport data stream in an output video signal. This system also includes a video transport data modification processor. It is operatively coupled with the encoder, and the input, and is configured for receiving a video transport data stream from the input. The video transport data modification processor selectively modifies the enhanced video transport data stream for creating the modified video transport data stream, and provides the modified video transport data stream to the encoder.
In a variation, this system further includes a decoder for receiving an input video signal where the input video signal includes a video transport data stream and the decoder is configured for extracting the video transport data stream. In another variation, the video transport data modification processor includes a set of rules (having a condition portion and an action portion) and a pattern matching module. The pattern matching module identifies whether a video transport data unit in the enhanced video transport data stream matches the condition portions of members of the set of rules. The video transport data unit could include, for instance, a URL, an attribute of a URL or ATVEF Transport B data.
Yet another aspect of this system involves the encoder encoding identifiers of a video program enhancement. This system also includes a receiver network where the receiver network is configured for detecting the predetermined identifiers in a broadcast of the output video signal. This system could also include a server system configured for receiving a requests for a resource associated with an identifier in the modified video transport data stream, where the request includes one of the identifiers. An additional aspect of this system could include a data processing system for generating summary reports responsive to receiving the identifiers—either from just the output video signal or the output video signal and the received requests.
Another variation on the illustrative system involves adding a computer system configured for providing an video transport data stream to the input across the data network. In another variation, an output is added for providing the enhanced video transport data stream to a data network; and a monitoring computer system configured for receiving the modified video transport data stream across the data network is also added.
These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:
Operating Environment
Features of the invention operate in connection with systems for video having associated enhancing resources. In some embodiments, the enhancing resources (the term “enhancement” is used interchangeably herein) are provided through an internet-based response network. The viewer (client) side of the response network typically involves a device that incorporates a television receiver with a Hypertext Transfer Protocol (“HTTP”) client (or “web browser”) and logic for rendering a video image incorporating both a telecast and enhancing resources received by the HTTP client. Many such devices are commercially available.
Given its ubiquity, the most common form of enhanced video is enhanced television. One standard for the transport of data for enhancing resources has been promulgated by the Advanced Television Enhancement Forum (“ATVEF”) of El Dorado Springs, Colo. See Enhanced Content Specification, Advanced Television Enhancement Forum (the “ATVEF Specification”). It is contemplated that enhanced video transmitted over networks using the Internet Protocol will grow in popularity, and features of the invention could be implemented in such an environment.
The ATVEF Specification defines two mechanisms for the transport of data for enhancing resources in connection with a video signal. The first mechanism (“ATVEF Transport A”) involves the transport of real-time triggers which include a Uniform Resource Location (“URL”), optional Attribute-Value pairs, and an optional checksum. The second mechanism (“ATVEF Transport B”) involves the delivery of both triggers and enhancing resource data as part of the video signal. ATVEF Transport A is for delivery of triggers by a forward path and the pulling of data by a return path (typically a portion of the Internet). ATVEF Transport B is for delivery of triggers and data by the forward path where the return path is optional.
Illustrative embodiments of the invention operate in connection with video productions including transport data for enhanced content (“video transport data”). In some embodiments, video transport data is conforming to the ATVEF Specification—either ATVEF Transport A or ATVEF Transport B could be used.
Depending on the transport mechanism, the meaningful video transport data unit may vary. In some embodiments it could be a trigger, in others a packet, in others delimited by start/stop indicators, in others a predetermined number of bits, and in still others based on time unit. A collection of successive video transport data units forms a video transport data stream.
A video production developer or producer 1200 may initially encode a first video transport data stream 1100 at creation-time of the video production. When the video production moves down the distribution hierarchy, programming networks 1300 desire a second video transport data stream 1110 be encoded with the video production. The second video transport data stream 1100 could include modifications to the first video transport data stream 1100, additional video transport data, or deletions of selected portions of the first video transport data stream 1100.
From the programming networks 1200 the video production continues along the distribution hierarchy to a distribution point 1400. The distribution point 1400 represents a last controlling entity before the video production reaches the viewer's premises equipment 1500. The distribution point 1400, too, may desire that a third video transport data stream 1200 be encoded with the video production. The third video transport data stream 1120 could be a modification of the previously-encoded video transport data stream, include additional video transport data, or delete previously-encoded video transport data.
As depicted in
Embodiments of the invention could be used at any level of the distribution hierarchy, although particular benefits are obtained through use at or near the distribution point 1400. One illustrative embodiment involves an enhancing resource server system operator employing features of the invention at the distribution point 1400. In this embodiment, the operator could, on behalf of some or all upstream entities in the distribution hierarchy, manage the encoding video transport data. This frees the upstream entities form having to attend to encoding video transport data and provides the server system operator greater flexibility.
Still further, localization can be provided that would be impractical with conventional techniques. For instance, the programming networks 1200 can provide a generic video transport data stream which, at the distribution point 1400 in localities, can be translated to provide localized enhancing resources. For instance, a national advertiser could arrange for an advertisement to be run on a nationwide broadcast. The programming networks 1200 encode the generic video transport data stream. At the distribution point 1400 of each local affiliate of the programming network, the generic video transport data stream is transformed to provide, for instance, information related to the local outlets of the national advertiser.
The decoder 2020 decodes the video transport data stream from the input video signal 2010 when present. In some embodiments, the video transport data stream is encoded in line 21 channel 1 of the vertical blanking intervals of an NTSC television signal in accordance with Electronics Industry Association standards. See EIA-608, Recommended Practice for Line 21 Data Service; EIA-746A Proposal for Sending URLs over ERA 608 T2. Norpak TES encoder/decoders (Norpak Corporation, Kanata Ontario, Canada) and Text Grabber (SunBelt Industries Technologies Group, Inc., Jacksonville, Fla.) are suitable devices for VBI decoding.
In some embodiments, other video signal formats could be used if the video transport data stream is suitably encoded in the video signal. Suitable formats include, for instance, MPEG-based formats, a Serial Digital Video format, streaming video formats, PAL or SECAM, high definition television formats. It is contemplated that other formats could be used as well. Generally, whatever the format of the input video signal 2010, the decoder 2020 should have the ability to decode the video transport data stream when encoded therein. The decoder 2020 outputs the video transport data stream to enhanced video (“EV”) transport processor 2050 (described below) and outputs the input video signal to a encoder 2090 (also described below).
A remote transport data source 2040 may also supply the video transport data stream across a first data network 2030. In some embodiments, the remote transport data source 2040 is a general purpose computer and the first data network 2030 includes a portion of the internet. Other hardware/software platforms available to one skilled in the field could be used for the remote transport data source 2040. Further the first data network 2030 could be either a public or private network, and use either the TCP/IP protocol suite or other protocols.
Central to process flow is the EV transport processor 2050. The EV transport processor 2050 receives the video transport data stream, for instance from the decoder 2020 or the remote transport data source 2040. The EV transport processor 2050 includes software executing on hardware for altering the video transport data stream to create a modified video transport data stream for encoding in the input video signal 2010 to form an output video signal 2110. In some embodiments, the EV transport processor 2050 is implemented as a collection of JAVA classes and operates in a Solaris operating environment on workstations for SUN Microsystems, although the platform-independence of JAVA allows flexibility with respect to operating environment. In other embodiments, the ETV transport processor 2050 could be implemented in a special-purpose hardware environment. It could be integrated in the same hardware platform as an encoder, a decoder, or both.
An application properties file 2060 includes global information about the runtime properties of the EV transport processor 2050. An encoder/decoder properties file 2080 includes information about the decoder 2020 and the encoder 2090 to be used in connection with transport translation. The information is for configuring the input and output streams of the encoder and decoder (respectively). The configuration format and values will typically vary with the particular decoder 2020 and encoder 2090 used. A conventional JAVA properties file could be used for application files 2060 and/or the encoder/decoder properties file 2080.
The EV transport processor 2050 also operates with a collection of filter rules 2070. The filter rules determine which video transport data units in the video transport data stream are altered in creating the modified video transport data stream. Members of the set of filter rules 2070 are generally of the form that if one or more conditions are satisfied, then action is taken with respect to a unit of the video transport data stream. In an illustrative embodiment, a condition is specified by a regular expression to which the unit of the video transport data stream matches. In this embodiment, actions available include:
(a) translating a unit matching a regular expression pattern into a string defined by a target pattern;
(b) allowing only those units of the video transport data stream matching the regular expression to be re-encoded to form the modified video transport data stream; and
(c) allowing all but those units of the video transport data stream matching the regular expression to be re-encoded to form the modified video transport data streams.
Using conventional Perl regular expression syntax, see e.g., Jeffrey E. F. Friedl, Mastering Regular Expressions (O'Reilly & Assoc. 1997), in this illustrative embodiment, lines of the collection of filter rules should match to one of the following expressions:
The general form of filter rules in this embodiment is:
Notationally, “RE” and “literal” are placeholders for a regular express, and a string literal, respectively. Elements with a trailing ellipsis ( . . . ), can occur any number of times. The angle-bracket tags are scope tags. The particular embodiment identified above indicates scope with “trigger” which in this instance, refers to an ATVEF trigger. The parentheses and alteration <e.g., (x|y|z), have their ordinary meaning with respect to scope. See Friedl. The semantics could vary and any number of scope identifiers could be used. “translate” “musthave” “always” “mandatory” “mustnothave” “never” “forbidden” are reserved keywords having their ordinary meaning.
It is not particularly fundamental that regular expressions be used, or that translations expand directly to a literal. One skilled in the art having the benefit of this disclosure will appreciate many possible variations on the above illustrative filter rule format also within the scope and spirit of the present invention. Further, the above syntax is merely illustrative; many others could be used. In some embodiments, the condition portion could have multiple components, could be based on scoring. In other embodiments, the condition portion could be based on date and/or time criteria: for instance all enhanced video transport data could be filtered out during a particular time window or all enhanced video transport data could be left unmodified during a particular time window. More generally, other mechanisms available to one skilled in the art could be also used for controlling selective modification of the video transport data stream.
By way of illustration, in connection with the above illustrative embodiment, several examples are provided below:
Example (1) allow example:
<trigger>
allowonly “^.*\.respondtv\.com”
allowonly “^.*\.weather\.com”
<trigger>
This filter rule denies all triggers except for those explicitly allowed. The result is that only respontv.com and weather.com will be allowed; all others are rejected.
Example (2) deny example:
<trigger>
never “^.*\.msnbc\.com”
never “^.*\ weather\.com:
</trigger>
This trigger filter allows all triggers except those explicitly denied. The result is that msnbc.com and weather.com are denied; all others are allowed.
Example (3) Enforced presence example
<trigger>
musthave http://
always “\.com”
mandatory “v:t”
</trigger>
This trigger filter use the synonyms musthave, always, and mandatory. The result is that triggers must contain http://, .com, v:t. All others are denied.
Example (4) Translation example.
<trigger>
translate “itv.weather.com.*>” to “etv.respondtv.com/c/bloomberg05/>”
</trigger>
This trigger filter will translate portions of URLs from itv.weather.com to etv.respondtv.com. The result is that URLs containing itv.weather.com will be replaced with etc.respondtv.com/c/bloomberg05/.
Example (5) Insertion example.
<trigger>
translate “>” to “>[nid:1234]”
</trigger>
This trigger filter will insert attribute after a URL (ending in >) in a trigger. The result is that a network identifier (nid:1234) attribute is inserted after the URL.
No particular order of evaluation of filter rules is required. Evaluation order can vary. In some embodiments, rule evaluation takes place in the order of the general filter above, i.e., (1) translations (2) ‘musthaves’ (3) ‘mustnothaves’, and (4) ‘allowonlys’. Conveniently when any filter rule denies a particular regular expression, remaining rules need not be evaluated. Further, ‘allowonly’ filter rules could be grouped and evaluated as a group. If no regular expression of the ‘allowonly’ group is matched, then that data unit may be discarded.
In some circumstanced, e.g. ATVEF transport A, units of the video transport data may include a checksum. In some embodiments when an invalid checksum is detected the associated unit of video transport data is discarded. When modifying units of video transport data that have an associated checksum, the checksum is modified to appropriately reflect the modified video transport data.
When processing the video transport data stream, the EV transport processor 2050 generates logs. An input log 2180 records the unmodified video transport data stream. An output log 2200 records the modified video transport data stream. An activity log 2190 records arrival of video transport data as well as the alterations performed to the modified video transport data stream through operation of the filter rules.
The EV transport processor 2050 outputs the modified video transport data stream to the encoder 2090. The encoder 2090 creates an output video signal 2110 by encoding the modified video transport data stream in the input video signal 2010. In some embodiments, the encoder 2090 and the decoder 2020 are integrated in the same hardware unit.
The EV transport processor 2050 can also provide an output of the modified video transport data stream to a network device. A remote monitor 2110 may then be used to monitor the modified video transport data stream from across a second data network 2100. The first data network 2030 and the second data network 2100 may be interconnected and could be the same network. In some embodiments, the remote monitor 2110 can retrieve the input log 2180, the activity log 2190, and/or the output log 2200.
Still further, in some embodiments the EV transport processor 2050 output units of video transport data to achieve a desired presentation. For instance, when a unit of video transport data includes an ATVEF Transport A trigger, it can be expected that some of the current generation of user-agents will present the URL in the trigger on the viewer's display upon receipt of the trigger. Some of the current generation of user-agents have a 32 character horizontal display. To present URLs in a form more conducive to presentation in such environments, in some embodiments the EV transport processor 2050 encodes non-printing characters in URLs to force the URL to wrap to such 32 character displays. This achieves a displayed presentation of the trigger URL to viewers with user-agents of the above-mentioned type with a more “user-friendly” presentation.
Features of the invention are not limited to operation with one video transport data stream or one video signal. In some embodiments, the EV transport processor 2050 could receive more than one video transport data stream and/or more than one video signal. For instance, plural video signals could be simultaneously processed with an EV transport processor 2050. Further, plural channels in a single video signal could be simultaneously processed with one EV transport processor 2050; additionally, each of the plural channels could be received as a separate video signal and the plural video signals processed simultaneously as mentioned above. Each of plural video signals (or channels in a single video signal) could have a corresponding video transport data stream encoded within. Further, a single video transport data stream could be received by the EV transport processor 2050 for processing and then be encoded in plural output video signals. Still further, the video transport data streams could be combined and encoded in one (or more) output video signal. The examples given are illustrative, one skilled in the art having the benefit of this disclosure will appreciate modifications, permutations, and adaptations of the examples and these are also within the scope and spirit of the present invention.
Concurrent handling of both CC data and video transport data is accomplished as shown in connection with
Process flow initiates where the decoder 2020 (not shown) extracts CC1 and EV13010. The EV transport processor 2050 promptly writes EV13015 to the input log 2180. The EV transport processor 2050 then writes CC13020 to the output video signal 2110 and to the output log 2200. The EV processor 2050 then enqueues 3030 EV1 in a queue 3035.
The EV processor 2050 dequeues video transport data from the queue 3035. Next the collection of filter rules 2070 are applied to EV1 in a process transport step 3050. The EV transport processor 2050 then encodes EV13060 (possibly modified by the filter rules) into the output video signal 2110. It will be appreciated that, as illustrated in
One particularly beneficial application of the present invention enables the monitoring of the distribution of enhancing resources in connection with a video production. As noted above in connection with
An application of the present invention can provide these features. Returning to
The EV transport processor 2050 is used on behalf of, for instance, an advertiser to include identifiers in the modified video transport data stream. The identifiers could be of a particular video program, of enhancements desired to accompany the video program. The identifiers could be encoded, for instance, as attributes to ATVEF Transport A URLs, as ATVEF Transport B data, or in other formats. The receivers 2130 monitor the output video signal 2110 at the time of distribution, e.g. broadcast. The receivers 2130 detect and log the presence of the identifiers (or implicitly detect their absence). The log data is then provided to generate report data 2170 of the distribution of the advertiser's video program and/or accompanying enhancements.
The above-described application can provide still further beneficial information. In addition to the receivers 2130 the output video signal is received by enhanced video equipment at users' premises 2140. When the user requests enhancing resources, requests are submitted to an enhancing resource server system 2160 across a response network 2150. The requests received by the enhancing resource server system 2160 can also be used to create the report data 2170. Thus it will be appreciated that the receivers 2130 contribute information about the distribution of enhancements, while the enhancing resource server system 2160 contributes information about the actual requests for the enhancing resources that are made.
Yet another application of the present invention can be found in connection with the invention entitled “Method, Apparatus and System for Overlapping Enhancement Control” filed concurrently herewith by attachment hereto. In some embodiments, operation in connection with overlapping enhancement control is achieved as follows. The EV transport processor 2050 creates a modified video transport data stream that includes ATVEF triggers. The trigger URLs in the triggers are the same. The EV transport processor 2050 also creates a LOAD directive in the SCRIPT field of the triggers in the modified video transport data stream. The URL attribute of the LOAD directive is to a next (in time) enhancing resource.
Although the present invention has been described in terms of features illustrative embodiments, one skilled in the art will understand that various modifications and alterations may be made without departing from the scope of the invention. Accordingly, the scope of the invention is not to be limited to the particular embodiments discussed herein, but should be defined only by the allowed claims and equivalents thereof.
ANNEX A
Method, Apparatus, and System for Overlapping Enhancement Control
A complex problem arises in connection with enhanced video: where a trigger comes through while an enhancement is already being displayed, how should that trigger (and its associated enhancement) be handled?
This problem could arise, for instance, where a show is enhanced, and an embedded ad is also enhanced; a show is enhanced in two places, and a viewer is still in the first enhancement when the second trigger arrives; two ads are enhanced, and a viewer is still in the first ad's enhancements when the second trigger arrives.
Conventionally, when one encodes triggers, client systems—for instance set-top boxes manufactured under license from WEBTV Networks, or Liberate Technologies—provide no effective control of overlapping enhancements. Some conventional client systems completely ignore the second trigger; this is undesirable for the sponsor of the second trigger as well as the programmer who sold that trigger spot. In other conventional client systems, if the new trigger does not contain the same URL as the currently displayed screen (which is not necessarily the URL in the old trigger), the new trigger pops up and the viewer has 10 seconds to choose the new trigger over the old enhancement. While this approach may better accommodate sponsors, it is inflexibly disruptive to the viewers. Still further, it also has problems where copies of the same trigger can disrupt subsequent screens of the first trigger's enhancements.
It would be desirable for a solution to exist which allowed for flexible control of overlapping enhancements. Still further it would be desirable for such a solution to be able to flexibly allow for overlapping enhancement control to be varied based on broadcast context. For instance, it would be desirable for a solution to exist for different broadcasters to specify how overlapping enhancements would be handled, and a similar pair of overlapping enhancements handled in accordance with the broadcasters' specifications.
Trigger-Script Scheduling
A solution to the above-described and other problems is obtained by a method, apparatus, and system for overlapping enhancement control. In some embodiments overlapping enhancement control can be obtained using the script field in ATVEF triggers. In keeping with the ATVEF specification, if a trigger comes through with the same URL as the enhanced screen currently being displayed, then the contents of the Script field of the trigger executes immediately.
With this aspect of the ATVEF specification, a trigger can provide a directive to an enhanced screen to wrap itself up through the Script field. To implement overlapping enhancement control in this way, all screens in a set of enhanced screens should have the same URL (even while viewers are navigating through screens), or more particularly, that all triggers on the same channel have the same URL. In some embodiments, this is obtained through having all enhancement campaigns display as a frame inside a single frameset document. That frameset document is also a convenient place to put the JavaScript methods which the trigger fields invoke.
In an illustrative example, a frameset document with the JavaScript methods is called /x.html. The single frame in the frameset starts off being filled with the URL tv:. However, it also has a “load” method which will load a different URL into the frame.
Then the first trigger URL would be, for instance, http://etv.respondtv.com/x.html with a script field load (“/c/seta”), and the second trigger would also be URL http://etv.respondtv.com/x.html but with a script field of load (“/c/setb”).
This load method, could be jarring to the viewer, who may be in the middle of filling out a form when the second set of screens abruptly starts. The viewer could press the BACK button to resume the previous set of enhancements, but this may not be appealing to the viewer. To help prevent the jarring effect, one aspect could involve a method that performs a different function, for instance a warning function, to give the viewer an explicit choice. For example the viewer could be warned that a new enhancement would be available and the viewer could be given a choice between ignoring the second trigger and staying with the current enhancements, saving the current session and proceeding to the second trigger, wrapping up the current enhancements and proceeding to the second trigger, or waiting until after the current interaction is done to proceed to the second trigger. An informational message could be provided in connection with the transition between successive sets of enhancements. For example, the viewer could be provided a message to the effect “the time period for the current television enhancements is about to end, and new enhancements called ‘[description]’ are about to start.” For this behavior, the second trigger would be the same URL with a script field of warn (“[description]”). Such an informational message screen or overlay preferably would also include the video broadcast as well.
Features of the invention can operate in connection with Enhancement Transport Alteration. For instance, if a trigger were to come through with URL: http://etv.respondtv.com/c/dominos04/ it could be translated on the fly to URL http://etv.respond.com/x.html with script field load (“/c/dominos04/”). This could further work in connection with translating a trigger URL http:/tv.nissan.com/foo.html to the x.html URL with script field load (http://tv.nissan.com/foo.html).
Additionally, in different broadcast contexts, the same URL could be translated as above with different directives in the script field. One having the benefit of this disclosure will appreciate that this would allow flexibility and convenience on the part of programmers and members of the distribution hierarchy. For instance, an advertiser could encode a single series of triggers in an advertisement. Enhancement transport alterations systems in various locations and/or for various broadcasters could translate, on the fly, the single series of triggers to be presented in the particular context desired. When the advertisement enhancements occur in connection with a program in which the advertisement was embedded, control can be ceded (or not) in the manner desired in the particular context, by suitably programming JavaScript methods and translating the script field to include calls of the JavaScript method.
For instance, a button could be placed on the screen allowing for control to be ceded to the second enhancement by clicking for one broadcaster. A different broadcaster could desire that a warning message as described above be given. A still different broadcaster could also desire that a warning message be given but, for instance, a different message, for a different duration, etc. Still further, in different broadcast contexts, the second enhancement could be limited to different portions of the screen depending on the requirements of the particular broadcaster.
An alternative to the above-described embodiments that employ trigger-script field based is timeout-based scheduling. Timeout based scheduling involves each set of enhanced screens having access to information about when the next set is due; each set of enhanced screens would be responsible for either completing or transitioning to the next set in time. Timeout based scheduling could be implemented if the server knew exactly when each set should start by building the timeout into the pages it serves. It is likely impractical for the server to know so much about the schedule, however. Instead, the programmer could encode the timeouts at the last minute into the triggers. E.G., suppose a second set of enhancements (“setb”) should start exactly 5 minutes (300 seconds) after a first set of enhancements (“seta”), and the Programmer has a program management system which knows this. Set A's trigger URL could be: <http://host.com/c/seta/?timeout=300&next=/c/setb/> and the first set of enhancements can use JavaScript to get the timeout and next URL.
Trigger-script field based scheduling is well-suited for live events, where the start time for a second set of enhancements may not be known when a first set of enhancements starts. With trigger-script scheduling, the broadcaster could have a mix of triggers inserted by the program management system as well as triggers from tape.
Many variations are possible, and one skilled in the art, having the benefit of this disclosure will appreciate modifications, permutations, adaptations, extensions, and alterations of the present of the foregoing that are also within the scope and spirit of the present invention.
This application claims the benefit of U.S. Provisional Application No. 60/232,050 filed Sep. 12, 2000.
Number | Name | Date | Kind |
---|---|---|---|
4400724 | Fields | Aug 1983 | A |
4573072 | Freeman | Feb 1986 | A |
4602279 | Freeman | Jul 1986 | A |
4847698 | Freeman | Jul 1989 | A |
4907322 | Kanno | Mar 1990 | A |
4918516 | Freeman | Apr 1990 | A |
5136633 | Tejada | Aug 1992 | A |
5202054 | Suzuki | Apr 1993 | A |
5220501 | Lawlor | Jun 1993 | A |
5347632 | Filepp | Sep 1994 | A |
5424770 | Schmelzer et al. | Jun 1995 | A |
5534911 | Levitan | Jul 1996 | A |
5537141 | Harper | Jul 1996 | A |
5578181 | Hirose | Nov 1996 | A |
5585858 | Harper | Dec 1996 | A |
5632007 | Freeman | May 1997 | A |
5664110 | Green | Sep 1997 | A |
5682196 | Freeman | Oct 1997 | A |
5686902 | Reis et al. | Nov 1997 | A |
5708845 | Wistendahl | Jan 1998 | A |
5710887 | Chelliah | Jan 1998 | A |
5715403 | Stefik | Feb 1998 | A |
5724091 | Freeman | Mar 1998 | A |
5740549 | Reilly | Apr 1998 | A |
5742759 | Nessett | Apr 1998 | A |
5745360 | Leone | Apr 1998 | A |
5745681 | Levine | Apr 1998 | A |
5751956 | Kirsch | May 1998 | A |
5758057 | Baba | May 1998 | A |
5760838 | Adams | Jun 1998 | A |
5761606 | Wolzien | Jun 1998 | A |
5770844 | Henn | Jun 1998 | A |
5774664 | Hidary et al. | Jun 1998 | A |
5774666 | Portuesi | Jun 1998 | A |
5774670 | Montulli | Jun 1998 | A |
5778181 | Hidary | Jul 1998 | A |
5790935 | Payton | Aug 1998 | A |
5794207 | Walker | Aug 1998 | A |
5812769 | Graber | Sep 1998 | A |
5812776 | Gifford | Sep 1998 | A |
5818441 | Throckmorton | Oct 1998 | A |
5818935 | Maa | Oct 1998 | A |
5822018 | Farmer | Oct 1998 | A |
5832223 | Hara et al. | Nov 1998 | A |
5848396 | Gerace | Dec 1998 | A |
5857190 | Brown | Jan 1999 | A |
5861881 | Freeman et al. | Jan 1999 | A |
5862339 | Bo{umlaut over (n)}naure | Jan 1999 | A |
5864604 | Moen | Jan 1999 | A |
5864823 | Levitan | Jan 1999 | A |
5892900 | Ginter | Apr 1999 | A |
5897622 | Blinn | Apr 1999 | A |
5910987 | Ginter | Jun 1999 | A |
5929849 | Kikinis | Jul 1999 | A |
5931906 | Fidelibus, Jr. et al. | Aug 1999 | A |
5960411 | Hartman | Sep 1999 | A |
5963915 | Kirsch | Oct 1999 | A |
5964829 | Ozden | Oct 1999 | A |
5970469 | Scroggie | Oct 1999 | A |
5970472 | Allsop | Oct 1999 | A |
5978013 | Jones et al. | Nov 1999 | A |
5978780 | Watson | Nov 1999 | A |
5978817 | Giannandrea | Nov 1999 | A |
5987509 | Portuesi | Nov 1999 | A |
6012080 | Ozden | Jan 2000 | A |
6016504 | Arnold | Jan 2000 | A |
6016509 | Dedrick | Jan 2000 | A |
6018768 | Ullman | Jan 2000 | A |
6036601 | Heckel | Mar 2000 | A |
6044469 | Horstmann | Mar 2000 | A |
6064438 | Miller | May 2000 | A |
6070191 | Narendran | May 2000 | A |
6081830 | Schindler | Jun 2000 | A |
6097441 | Allport | Aug 2000 | A |
6108706 | Birdwell | Aug 2000 | A |
6131086 | Walker | Oct 2000 | A |
6141694 | Gardner | Oct 2000 | A |
6154738 | Call | Nov 2000 | A |
6154771 | Rangan | Nov 2000 | A |
6157377 | Shah-Nazaroff | Dec 2000 | A |
6167378 | Webber, Jr. | Dec 2000 | A |
6177931 | Alexander et al. | Jan 2001 | B1 |
6178376 | Maquaire | Jan 2001 | B1 |
6182052 | Fulton | Jan 2001 | B1 |
6189785 | Lowery | Feb 2001 | B1 |
6202054 | Lawlor | Mar 2001 | B1 |
6216157 | Vishwanath | Apr 2001 | B1 |
6240555 | Shoff | May 2001 | B1 |
6282517 | Wolfe | Aug 2001 | B1 |
6282713 | Kitsukawa | Aug 2001 | B1 |
6286045 | Griffiths | Sep 2001 | B1 |
6296185 | Dejaeger | Oct 2001 | B1 |
6301619 | Segman | Oct 2001 | B1 |
6317881 | Shah-Nazaroff et al. | Nov 2001 | B1 |
6321209 | Pasquali | Nov 2001 | B1 |
6338094 | Scott | Jan 2002 | B1 |
6339826 | Hayes, Jr. | Jan 2002 | B2 |
6373950 | Rowney | Apr 2002 | B1 |
6374237 | Reese | Apr 2002 | B1 |
6394341 | Mäkipaa | May 2002 | B1 |
6401077 | Godden | Jun 2002 | B1 |
6401085 | Gershman | Jun 2002 | B1 |
6420555 | Dong | Jul 2002 | B1 |
6424714 | Wasilewski et al. | Jul 2002 | B1 |
6446109 | Gupta | Sep 2002 | B2 |
6460180 | Park et al. | Oct 2002 | B1 |
6470386 | Combar | Oct 2002 | B1 |
6493763 | Suzuki | Dec 2002 | B1 |
6502243 | Thomas | Dec 2002 | B1 |
6520409 | Mori | Feb 2003 | B1 |
6539545 | Dureau et al. | Mar 2003 | B1 |
6539548 | Hendricks et al. | Mar 2003 | B1 |
6560777 | Blackketter et al. | May 2003 | B2 |
6567984 | Allport | May 2003 | B1 |
6571390 | Dunn et al. | May 2003 | B1 |
6571392 | Zigmond | May 2003 | B1 |
6598027 | Breen, Jr. | Jul 2003 | B1 |
6604135 | Rogers | Aug 2003 | B1 |
6697792 | Bunney | Feb 2004 | B2 |
6698020 | Zigmond et al. | Feb 2004 | B1 |
6766524 | Matheny et al. | Jul 2004 | B1 |
6772435 | Thexton et al. | Aug 2004 | B1 |
6795973 | Estipona | Sep 2004 | B1 |
6807675 | Maillard | Oct 2004 | B1 |
6820277 | Eldering et al. | Nov 2004 | B1 |
6828775 | Chow et al. | Dec 2004 | B2 |
6832388 | Du Val | Dec 2004 | B1 |
6889385 | Rakib et al. | May 2005 | B1 |
6895392 | Stefik et al. | May 2005 | B2 |
6898570 | Tedesco | May 2005 | B1 |
6898762 | Ellis | May 2005 | B2 |
6976090 | Ben-Shaul | Dec 2005 | B2 |
7039933 | Chen et al. | May 2006 | B1 |
7047302 | Chatani et al. | May 2006 | B1 |
7076467 | Chatani et al. | Jul 2006 | B1 |
7174562 | Leak et al. | Feb 2007 | B1 |
7181412 | Fulgoni | Feb 2007 | B1 |
7206756 | Walsky | Apr 2007 | B1 |
7222155 | Gebhardt et al. | May 2007 | B1 |
7237251 | Oz et al. | Jun 2007 | B1 |
7313806 | Williams et al. | Dec 2007 | B1 |
7360232 | Mitchell | Apr 2008 | B2 |
7395546 | Asmussen | Jul 2008 | B1 |
7478414 | Glusker et al. | Jan 2009 | B1 |
7657920 | Arseneau et al. | Feb 2010 | B2 |
20010020242 | Gupta | Sep 2001 | A1 |
20010030624 | Schwoegler | Oct 2001 | A1 |
20010030664 | Shulman | Oct 2001 | A1 |
20010037500 | Reynolds et al. | Nov 2001 | A1 |
20010056460 | Sahota | Dec 2001 | A1 |
20020010798 | Ben-Shaul et al. | Jan 2002 | A1 |
20020010922 | Darin | Jan 2002 | A1 |
20020029291 | Crandall | Mar 2002 | A1 |
20020057286 | Markel et al. | May 2002 | A1 |
20020095676 | Knee et al. | Jul 2002 | A1 |
20020188532 | Rothstein | Dec 2002 | A1 |
20020188706 | Richards et al. | Dec 2002 | A1 |
20020194215 | Cantrell et al. | Dec 2002 | A1 |
20030005463 | Macrae | Jan 2003 | A1 |
20030149938 | McElfresh et al. | Aug 2003 | A1 |
20030204854 | Blackketter et al. | Oct 2003 | A1 |
20040010372 | Schwoegler | Jan 2004 | A1 |
20050138657 | Leftwich | Jun 2005 | A1 |
20050283792 | Swix et al. | Dec 2005 | A1 |
20060106681 | Shafron et al. | May 2006 | A1 |
20060212921 | Carr | Sep 2006 | A1 |
20070162951 | Rashkovskiy et al. | Jul 2007 | A1 |
20080077478 | Kim | Mar 2008 | A1 |
20080097830 | Kim | Apr 2008 | A1 |
Number | Date | Country |
---|---|---|
0 332 707 | Sep 1989 | EP |
598823 | Dec 1994 | EP |
0 849 946 | Jun 1998 | EP |
0 915 612 | May 1999 | EP |
0 915 621 | May 1999 | EP |
0 917 380 | May 1999 | EP |
915612 | May 1999 | EP |
810790 | Oct 1999 | EP |
2 340 276 | Feb 2000 | GB |
2340276 | Feb 2000 | GB |
10-91512 | Apr 1998 | JP |
10-177532 | Jun 1998 | JP |
10-257455 | Sep 1998 | JP |
WO 9613124 | May 1996 | WO |
WO9613124 | May 1996 | WO |
WO9733434 | Sep 1997 | WO |
WO9738529 | Oct 1997 | WO |
WO9741654 | Nov 1997 | WO |
WO9741960 | Nov 1997 | WO |
WO9747143 | Dec 1997 | WO |
WO 9817064 | Apr 1998 | WO |
WO9817064 | Apr 1998 | WO |
WO9747143 | May 1998 | WO |
WO9827441 | Jun 1998 | WO |
WO9828541 | Jun 1998 | WO |
9853611 | Nov 1998 | WO |
WO 9935845 | Jul 1999 | WO |
WO9935845 | Jul 1999 | WO |
0042768 | Jul 2000 | WO |
WO 02058399 | Jul 2002 | WO |
WO02058399 | Jul 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20020108128 A1 | Aug 2002 | US |
Number | Date | Country | |
---|---|---|---|
60232050 | Sep 2000 | US |