The present invention relates to methods and systems for controlling access to an enhancement within a trigger.
Interactive video systems have recently been developed that can allow a viewer to interact with video the viewer is watching. Such systems may be used with television, cable television, satellite, the Internet or other systems to allow a viewer to receive additional information about a topic in the program being viewed, for example. Also, the user could be allowed to order a product described in the video program, such as allowing the viewer to order a product in a commercial being viewed.
An Enhanced Content Specification has been developed by the Advanced Television Enhancement Forum (ATVEF) to specify a single public standard for delivering interactive television to a variety of television, set-top and PC-based receivers. The Enhanced Content Specification defines fundamentals necessary to enable creation of enhanced television content so that it can be broadcast across any network to any compliant receiver. It uses “triggers” to launch the enhancements. The triggers include a Uniform Resource Locator (URL) that contains a link to the enhancement, which may be a website, for example.
The trigger may result in the creation of an icon on the viewer's screen. The icon may typically include wording that will be displayed with the video asking the user if additional information is desired. Such wording may be set up in accordance with the topic of the video program being viewed. For example, if the user is watching a sporting event, the trigger may result in an icon being displayed saying “STATISTICS”, or if a commercial is being viewed, the trigger may result in an icon being displayed saying “BUY PRODUCT”.
The user may be able to select the icon by hitting an appropriate button on a remote control or placing a cursor over the icon and activating a mouse, for example. Selection of the icon may result in initiation of the enhancement, where the viewer can be presented with additional information, such as the “STATISTICS” or information on how to buy a product. Typically, the trigger may be generated and inserted into a video signal by a content creator, who originates the content of the program, as well as the content components of the enhancement, including graphics, layout, interaction and triggers.
A transport operator, such as a cable television operator, will run a delivery infrastructure, that may include servers or other units that deliver the video program and the enhancements. Upon activation of the trigger, the transport operator may deliver the triggered enhancement. The transport operator will deliver the content to the user, along with the triggers. However, every content provider can insert triggers within it's content, which may create problems. The transport operator may not wish to enable a large number of triggers, or the transport operator may want to decide which triggers to enable. Current systems, however, do not allow the transport operator to select which triggers to enable when the content providers supply the program content with triggers included.
An apparatus, systems and methods control access to an enhancement within a trigger. A portion of a trigger is encrypted and included within the trigger. The trigger with the encrypted portion is then included within a signal. When it is determined that a signal is received with the trigger, the encrypted portion is decrypted and compared to predetermined criteria. If the decrypted portion meets the predetermined criteria, display of an enhancement within the trigger is allowed.
The processor 110 may be a general-purpose microprocessor, such a Pentium series microprocessor manufactured by the Intel Corporation of Santa Clara, Calif. In another embodiment, the processor 110 can be an Application Specific Integrated Circuit (ASIC), which has been designed to implement in its hardware and/or firmware at least a part of a method in accordance with embodiments of the present invention.
Memory 120 can be any device capable of storing analog or digital information, such as a hard disk, Random Access Memory (RAM), Read Only Memory (ROM), flash memory, a compact disk, a magnetic tape, a floppy disk, and any combination thereof, for example.
User input 130 can be any type of input device, such as a keyboard, keypad, pointing device, microphone, mouse, wired or wireless remote control, touch pad, touch screen, a port(s) to attach other input devices, voice recognition software, etc. Any type of input device will function in accordance with embodiments of the present invention.
The display 140 can be any type of display or screen that is capable of displaying images. For example, the display may be a CRT or LCD monitor, a heads-up display, a television, etc. The display 140 may be structurally included as part of the electronic device, or may be physically separated from but connected with the other components of device 100, such as a monitor in a desktop computer.
The headend 210 may include a processor 212 and a memory 214. The memory 214 may have software stored therein to be used by processor 212 to encrypt at least a portion of a trigger, as further explained below. The computing unit 220 may include a processor 222 and a memory 224. The memory may have software stored therein to be used by the processor 222 to decrypt an encrypted portion of a trigger, as further described below. The decryption algorithm may be downloaded to the computing unit 220, or may be pre-stored in the memory of the computing unit 220.
The encrypted certificate may be generated by taking the URL 410 and running it through an encryption algorithm. No particular encryption algorithm is required. Various types of encryption algorithms may be used as known by those of skill in the art. Optionally, the encrypted certificate may include activation and/or deactivation dates, which may be used to set dates when the encrypted certificate will be deemed to be valid, as further explained below.
In step 510, the trigger is decrypted. Decrypting the trigger involves removing the encrypted certificate value from the rest of the trigger, and decrypting the encrypted certificate. The decryption may occur in the computing unit 220, or in head end 210, or in a server or other computing unit that replaces head end 210 in the embodiment of
In step 520, it is determined whether the decrypted trigger is valid. This step may involve comparing the decrypted certificate value to the URL (such as URL 410). If the decrypted certificate value matches the URL, the process moves to step 530, where the enhancement may be displayed to a user, on a display, such as display 230. If the decrypted certificate value does not match the URL, the process moves to step 540, and the enhancement is not displayed to the user.
In step 620, the encrypted certificate value is sent to the content provider. The content provider may be instructed to include the encrypted certificate value in the script portion of the trigger. In step 630, the trigger is detected in the video signal. In step 640, the trigger is decrypted, by decrypted the encrypted certificate value in the trigger.
In step 650, it is determined whether the decrypted certificate value is valid. This may be done by comparing the decrypted certificate value to the URL in the trigger. If the decrypted certificate value is determined to be valid, the enhancement may be displayed to the user in step 660. If the decrypted certificate value is determined not to be valid, then the enhancement is not displayed to the user in step 670.
In step 710, the enhancement URL is converted into an encrypted certificate value by use of an encryption algorithm, as discussed above. The encrypted certificate value may optionally include an activation date, a deactivation date, or both, although these are not required. The activation and deactivation dates may be provided by the content provider, or by the party that receives the enhancement URL.
In step 720, the encrypted certificate value is sent to the content provider. The content provider may be instructed to insert the encrypted certificate value in the script portion of the trigger.
In step 730, a trigger is detected in a video signal. The trigger may be in a VBI of a video signal, as discussed above. The trigger may be detected in computing unit 220 illustrated in
In step 740, the trigger is decrypted. Decrypting the trigger involves removing the encrypted certificate value from the rest of the trigger, and decrypting the encrypted certificate, as discussed above. If the encrypted certificate value includes the activation date and/or the deactivation date, then these elements will also be decrypted as part of the encrypted certificate value.
In step 750, it is determined whether the decrypted trigger is valid. This step may involve comparing the decrypted certificate value to the URL (such as URL 410). If the decrypted certificate value is determined to be valid, the process may move to step 760 (step 760 may be skipped if the optional activation and deactivation dates are not included). If the decrypted certificate value is determined not to be valid, then the enhancement is not displayed to the user in step 780.
If the decrypted certificate value includes an activation date, then the activation date is compared to the current date in step 760. If the current date is prior to the activation date, then the enhancement is not displayed to the user in step 780. If the decrypted certificate value includes a deactivation date, then the deactivation date is compared to the current date in step 760. If the current date is subsequent to the deactivation date, then the enhancement is not displayed to the user in step 780.
If the decrypted trigger is determined to be valid, and the activation and deactivation dates (if included) are valid, then the enhancement may be displayed to the user in step 770.
The present invention described above allows the provider of programming from multiple sources to control when enhancements will be displayed to a user. This is useful because the content providers may otherwise provide enhancements in triggers that the provider of programming, such as a cable company or Internet service provider, may not want to be displayed to a user.
Several embodiments of the present invention are specifically illustrated and described herein. However, it will be appreciated that modifications and variations of the present invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.