WO2005084348A2 - Systeme et procede decrivant les informations de presentation et de comportement d'une application itv - Google Patents

Systeme et procede decrivant les informations de presentation et de comportement d'une application itv Download PDF

Info

Publication number
WO2005084348A2
WO2005084348A2 PCT/US2005/006804 US2005006804W WO2005084348A2 WO 2005084348 A2 WO2005084348 A2 WO 2005084348A2 US 2005006804 W US2005006804 W US 2005006804W WO 2005084348 A2 WO2005084348 A2 WO 2005084348A2
Authority
WO
WIPO (PCT)
Prior art keywords
data structure
resource
itv
command
data
Prior art date
Application number
PCT/US2005/006804
Other languages
English (en)
Other versions
WO2005084348A3 (fr
Inventor
Karen Sarachik
Jon Dakss
Jeff Gorder
Original Assignee
Goldpocket Interactive
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Goldpocket Interactive filed Critical Goldpocket Interactive
Priority to EP05724368A priority Critical patent/EP1730949A4/fr
Priority to CA2555276A priority patent/CA2555276C/fr
Priority to CN2005800068179A priority patent/CN101073254B/zh
Publication of WO2005084348A2 publication Critical patent/WO2005084348A2/fr
Publication of WO2005084348A3 publication Critical patent/WO2005084348A3/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/44504Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot

Definitions

  • This invention relates generally to interactive television systems, and more particularly, to an application definition language describing presentation and behavior information in an interactive television application.
  • ITV Interactive television
  • ITV content refers to any additional information or application that is invoked to create one of the aforementioned enhanced television experiences.
  • information on how the enhanced content is to be displayed, as well as how the enhanced content is to behave in response to user actions or other external events, are provided to an executing client.
  • presentation and behavior information should be as rich and descriptive as possible to provide a viewer with a superior enhanced television experience.
  • the presentation information should also be small and efficient. Accordingly, what is desired is a system and method for an optimized interactive application definition language that describes ITV presentation and behavior information in a manner that relieves the tension between these two competing requirements for generating an ITV experience.
  • the present invention is directed to an application definition language used to generate ITV applications for different types of target platforms and devices in an interactive television system.
  • the interactive television system includes an authoring tool and an execution engine.
  • the authoring tool generates an ITV application including presentation information represented via a plurality of data structures built based on one or more predetermined data structure types. Each data structure may be referenced by a unique identifier that is associated with a memory location for the data structure.
  • the execution engine receives and executes the ITV application and provides an associated interactive event.
  • the ITV application includes behavior information describing how the application behaves in response to an external event. The behavior information is stored in a data structure separate from the data structure storing the presentation information.
  • the execution engine stores a plurality of default values for the presentation information and retrieves the default values in response to an absence of corresponding values in the plurality of data structures.
  • an interchange formatting system generates a compact representation of the ITV application prior to delivery to the execution engine.
  • the compact representation may be a binary representation.
  • a first of the plurality of data structures inherits properties associated with a second of the plurality of data structures.
  • the plurality of data structures are packaged into a module having header information.
  • the module may be catered to a particular platform and/or profile of a receiving client.
  • the execution engine may examine the header information for determining a relevance of the module to the execution engine.
  • the present invention is directed to an authoring tool generating an ITV application.
  • the authoring tool includes a data store storing and organizing a first portion of interactive content presentation or behavior information in a first data structure generated based on one or more base data structure types.
  • the first data structure includes a symbol mapped to a unique identifier value that references a second data structure.
  • the data store also stores and organizes a second portion of interactive content presentation or behavior information in the second data structure.
  • the second data structure inherits properties defined by the first data structure. Such properties may include visual presentation properties.
  • the first data structure stores and organizes the presentation information
  • the second data structure stores and organizes the behavior information.
  • the present invention is directed to a client device in an interactive television system.
  • the client device includes a decoder receiving an
  • the ITV application including presentation and behavior information represented via a plurality of data structures. Each data structure is identified by an identifier.
  • the ITV application further includes one or more ITV commands.
  • the client device also includes a processor coupled to the decoder, and a memory coupled to the processor.
  • the memory includes computer program instructions executable by the processor stored therein.
  • the computer program instructions include parsing each data structure included in the received ITV application and retrieving the identifier associated with the parsed data structure; identifying a memory location based on a retrieved identifier; storing an associated data structure in the identified memory location; retrieving an ITV command included in the received ITV application, the command including a command name and an identifier of a particular data structure associated with the command; retrieving the particular data structure from a particular memory location based on the identifier included in the ITV command; and executing the ITV command with respect to the retrieved data structure.
  • FIG. 1A is a block diagram of an ITV system that employs an application definition language to describe ITV presentation and behavior information according to one embodiment of the invention
  • FIG. IB is a block diagram of a module generated by a data distribution server in the ITV system of FIG. 1A according to one embodiment of the invention
  • FIG. 2A is a process flow diagram executed by an execution engine for receiving and processing modules according to one embodiment of the invention
  • FIG. 2B is a process flow diagram executed by an execution engine for executing ITV commands according to one embodiment of the invention
  • FIG. 3 is layout diagram of a resource UID according to one embodiment of the invention
  • FIG. 4 is a layout diagram of a non-resource UID containing a scalar value according to one embodiment of the invention
  • FIG. 5 illustrates an exemplary dictionary resource XML document according to one embodiment of the invention
  • FIG. 6 illustrates an exemplary variable map resource XML document according to one embodiment of the invention
  • FIG. 7 illustrates an exemplary object properties table resource XML document according to one embodiment of the invention
  • FIG. 8 illustrates an exemplary container widget resource XML document according to one embodiment of the invention
  • FIG. 9A illustrates a navigation grid with four columns and one row according to one embodiment of the invention
  • FIG. 9B illustrates a navigation grid with one column and four rows according to one embodiment of the invention
  • FIG. 9A illustrates a navigation grid with four columns and one row according to one embodiment of the invention
  • FIG. 9B illustrates a navigation grid with one column and four rows according to one embodiment of the invention
  • FIG. 9A illustrates a navigation grid with four columns and one row according to one embodiment of the invention
  • FIG. 9C illustrates a navigation grid with two columns and two rows according to one embodiment of the invention
  • FIG. 10A is a screen shot of a container widget according to one embodiment of the invention
  • FIG. 10B is a screen shot of a container widget transitioning to an inactive state according to one embodiment of the invention
  • FIG. 11 illustrates an exemplary XML document for a container widget resource, field list resource, and contextual attributes resource according to one embodiment of the invention
  • FIG. 12 illustrates an exemplary event table resource XML document according to one embodiment of the invention
  • FIG. 13 illustrates an exemplary action list resource XML document according to one embodiment of the invention
  • FIG. 14 illustrates an exemplary XML document for a back end service resource and an argument list resource according to one embodiment of the invention
  • FIG. 15 illustrates an exemplary XML document for a container widget resource and navigation order resource according to one embodiment of the invention
  • FIG. 16 illustrates an exemplary field list resource XML document according to one embodiment of the invention.
  • ITV application definition language used to generate ITV applications for different types of target platforms and devices.
  • the ITV applications are associated with, but not limited to, enhanced television, virtual channels, managed content, games, interactive program guides, and interactive advertising content.
  • the ADL provides a plurality of core data structure types upon which one or more data structures, also referred to as constructs, may be built. These constructs describe and organize ITV content presentation information, such as, for example, font size and color, as well as the logic, or behavior, of the ITV application providing the content.
  • the behavior information describes how the application responds to an end user's action or another external event.
  • data structures storing ITV content presentation and behavior information are referred to as resources.
  • a resource is associated with a globally unique identifier that allows the data structure to be efficiently stored and retrieved from a hash table.
  • a resource is also associated with an expiration time stamp that indicates when the resource is to be freed from memory.
  • a resource is of arbitrary length, and contains values that differ from the default values stored at a receiving client device. Resources are also packaged into a module that may be catered to a platform and/or profile of a receiving client. The client may quickly determine whether the module is relevant to it by examining the platform and/or profile ID contained in a header of the module.
  • the core data structure types provided by the ADL include but are not limited to: (1) dictionaries; (2) unique identifier (UID) vectors; (3) UID pair vectors; (4) images; (5) strings; and (6) fonts.
  • UID unique identifier
  • FIG. 1A is a block diagram of an ITV system that employs the ADL to describe ITV presentation and behavior information according to one embodiment of the invention.
  • the ITV system includes a broadcast system 100, event manager 102, headend system 104, and one or more clients 106.
  • the broadcast system 100 which may be located at a broadcast operating center, includes a scheduling system 108, broadcast automation server 110, data inserter 112, and one or more video players 116 (e.g. VTRs). Other equipment typical in a broadcast operating center may also be included in the broadcast system 100, such as, for example, a character generator (not shown) for overlaying text and images on top of an audiovisual content element.
  • the scheduling system 108 generates a television programming playlist including a schedule of the programs to be transmitted on a given day.
  • the playlist includes, for example, a list of timecodes along with their program segment identifiers, program segment sources, and/or program segment durations.
  • the playlist is then used by the scheduling system 108 to drive the video players 116 containing the actual video and audio of the content elements that are to be delivered.
  • the broadcast automation server 110 monitors the generated playlist and detects any changes that may be made to the playlist. According to one embodiment of the invention, the broadcast automation server 110 reads ahead in the generated playlist by, for example, a couple of hours, and transmits up-to-date entries of the playlist to the event manager 102 over a wired or wireless data communications link 120.
  • the data communications link 120 may be for example, a secure Internet link, local area network link, wide area network link, or the like.
  • the event manager 102 receives playlist information from different broadcast systems and retrieves appropriate ITV event information in response.
  • the ITV event information for the different broadcast systems is centrally maintained in an ITV events database 122.
  • the ITV events database 122 stores for each broadcast station, a mapping of ITV events to specific segment (or show) identifiers.
  • the ITV events database 122 further stores for each mapped ITV event, the ITV content presentation and behavior information for running the ITV event.
  • the event manager 102 is coupled to an authoring tool 103 which generates the ITV applications associated with the ITV events using the ADL.
  • the presentation and behavior information in the ITV applications are expressed in an Extensible Markup Language (XML) format, or in any other data expression format known in the art.
  • XML Extensible Markup Language
  • the ITV event manager 102 detects, among the received playlist information, a program segment that is associated with an ITV event, and prepares to playout data related to the ITV event.
  • the playout data includes, for example, the ITV application with the actual logic and presentation information for generating the ITV event.
  • a content element such as, for example, a television program, commercial, or VOD content, is transmitted to various recipients, including the headend system 104 of a local cable operator or some other uplink system.
  • the headend system 104 includes a data distribution server 126 coupled to an encoder 128 and multiplexer 128, all of which are used to deliver the received content element and any associated ITV applications to the client 106.
  • the headend (or uplink) system 104 includes a copy of all or a portion of the playlist generated by the scheduling system 108.
  • the portion of the playlist may be communicated by the event manager 102 over a wired or wireless data communications link 124 such as, for example, a secure Internet link, local area network link, or wide area network link.
  • the data distribution server 126 Based on its playlist and information provided by the event manager 102, such as, for example, information on the audiovisual content elements for which ITV applications are available, such as a program segment, the data distribution server 126 transmits to the event manager 102 one or more requests for associated ITV applications prior to the scheduled play time of the identified audiovisual content elements. The request is transmitted over the secure data communications link 124. In response to the request from the data distribution server 126, the event manager
  • an ITV application is sent to the client in a sequence of profile and/or platform specific modules.
  • the modules contain a stream of objects that are referenced within the ITV application.
  • An object may either include the presentation and logic data, or a command invoking the presentation/logic data at an appropriate time.
  • the presentation and logic data and associated commands contained in the ITV application are first parsed by an interchange formatting system 133 coupled to the data distribution server 126.
  • the parsed data is then transformed into a compact, semantically equivalent representation of the data.
  • the compact representation is a binary representation.
  • the transformation is based on an interchange format to which the interchange formatting system 133 adheres.
  • the interchange format makes it possible to use significantly less bandwidth to deliver the presentation and logic data to a target platform, and to occupy significantly less memory, while not making it any more complicated to parse by an execution engine residing at the client 106.
  • the sequence of modules that include the stream of objects with the compact presentation and behavior information are packetized and multiplexed into an MPEG-2 transport stream and streamed to the client 106 in-band with the content element.
  • the modules may also be encoded into the vertical or horizontal blanking interval of an analog video signal or into an ancillary data space of a digital video stream.
  • the modules may be delivered out-of-band over an Internet connection, or via a separate channel such as, for example, a QPSK-modulated or DOCSIS channel.
  • the event manager 102 instead of transmitting the modules to the headend system for delivering to the client, transmits the data to the broadcast automation server 110 for embedding into the content element.
  • the broadcast automation server 110 invokes a data inserter 112 for inserting the modules into the content element.
  • the content element received by the headend system 104 already includes the appropriate presentation and logic information and associated commands needed by the client for running an ITV event.
  • the client 106 is any ITV reception device known in the art, such as, for example, an analog or digital cable, terrestrial, or satellite set-top box or consumer electronics device.
  • the client 106 includes a processor 132 hosting an execution engine 133 and coupled to a decoder 134.
  • the client is further coupled to an input device 135, such as a remote controller, wireless keyboard, voice input device, and the like, for receiving input data from a viewer.
  • the client is also coupled to an output device 137, such as a display, a speaker, and the like, to provide output data to the viewer.
  • the execution engine 133 together with the decoder, retrieve and process the modules embedded into a content element received over a transmission channel 140.
  • the execution engine may further retrieve and process modules transmitted over an out-of-band data path 142. If a module relevant to the execution engine 133 is identified, the execution engine parses the objects containing the presentation/logic and command information represented in a binary or some other compact format.
  • the parsed ITV commands are stored in an event queue 138 and invoked at their appropriate execution times as indicated by a time source 136.
  • the parsed presentation and logic information are stored in a local memory 140 and presented when their respective ITV commands are invoked.
  • the execution engine 133 stores the parsed presentation and logic information in a hash table based on unique identifiers (UIDs) assigned to the constructs that include the presentation and logic information. This allows the stored data to be referenced with a single level of indirection, preserving CPU cycles during the execution of an application.
  • the constructs containing the presentation and logic information include an expiration timestamp. The execution engine 133 uses the expiration timestamp to free the memory location storing the construct once it is determined, based on the time indicated by the time source 136, that the time indicated by the expiration timestamp has arrived. This allows the execution engine 133 to make room for new objects that are delivered to the client.
  • the client's local memory 140 stores default values for all or a portion of presentation and behavior attributes described by the ADL. If the execution engine 133 does not receive a (key, value) pair describing a particular attribute, it assumes that the default value should be used for that attribute.
  • the constructs containing the presentation and logic information may be variable in length. Unlike fixed length constructs of the prior art that contain all of the construct's attributes, variable length constructs that only define attributes whose values are different from the values maintained by the client are more efficient in terms of memory usage.
  • FIG. IB is a block diagram of a module 200 generated by the data distribution server
  • the module includes a header portion 202 and payload portion 204.
  • the header portion 202 includes header information, such as, for example, an application ID 202a, profile ID 202b, and platform LD 202c, which allows the receiving execution engine 133 to quickly determine whether the module is applicable to the engine or not. If the module is deemed to not be applicable, the execution engine ignores the next moduleSize 202d bytes until the start of the next module. By quickly evaluating the relevance of an incoming module and choosing to ignore it if it is not relevant, the execution engine may spend the smallest possible amount of CPU cycles evaluating modules that have no relevance to it.
  • the engine proceeds to parse and decode a module number 202e, an object streams number 202f, and a payload portion 204 of the module.
  • the payload portion includes one or more object streams 204a-204n where each object stream includes one or more objects 206a-206m used for running one or more ITV events.
  • An object may contain a resource or a command.
  • Resources are data structures describing and organizing the ITV presentation and behavior information. Commands are time-oriented ITV commands associated with the resources.
  • the objects 206a-206m are represented in a compact format, such as, for example, a binary format. Table 1 describes an interchange format adhered by the interchange formatting system
  • ModuleLayoutTable() ⁇ applicationlD 32 uimsbf profilelD 8 uimsbf platform ID 8 uimsbf moduleSize 8 uimsbf moduleNumber 8 uimsbf numberOfObjectStreams 8 uimsbf Private Use 8 uimsbf Reserved for future standardization 8 uimsbf
  • appIicationID a 32-bit value identifying the application.
  • profilelD an 8-bit value identifying the profile of the objects described in the module. The value may indicate a common, baseline, low, full, or advanced profile.
  • platformID an 8-bit value identifying the platform of the objects described in the module. A particular platform ID may identify, for example, a Motorola set-top-box as opposed to a Scientific Atlanta set-top-box.
  • moduleSize an 8-bit value indicating a number of kilobytes in the module, including the ModuleLayoutTable.
  • moduleNumber an 8-bit value indicating an identifier for the module based on the profilelD. The module number may serve as a continuity counter.
  • numberOfObjectStreams an 8-bit value indicating a number of parallel objects streams contained in the module.
  • streamlD an 8-bit value identifying a particular type of stream contained in the module.
  • the stream ID may indicate a trailer object data, mask data, small objects, large objects, dynamic data, and the like.
  • numberOfBytes a 32-bit value indicating a number of bytes in an object stream.
  • firstObjectStartsAt a 32-bit offset, from the beginning of the object stream, of the beginning of the first object in an object stream.
  • Table 2 describes an interchange format adhered by the interchange formatting system 127 for generating an object header preceding a command or resource according to one embodiment of the invention.
  • Table 2 Object Header an 8-bit value indicating a number of parallel objects streams contained in the module.
  • streamlD an 8-bit value identifying a particular type of stream contained in the module.
  • the stream ID may indicate a trailer object data, mask data, small objects, large objects, dynamic data, and
  • FIG. 2A is a process flow diagram executed by the execution engine 133 based on computer program instructions stored in the memory 140 for receiving and processing modules according to one embodiment of the invention.
  • the execution engine 133 detects arrival of a module with objects containing resources and commands.
  • a determination is made as to whether the module is applicable to the execution engine 133.
  • the execution engine proceeds to parse the objects included in the module.
  • step 214 a determination is made as to whether there are objects in the module that still need to be parsed. If the answer is YES, the engine proceeds to parse a current object in step 216.
  • the object that is parsed contains a compressed representation of one or more data structures that store the resource or command information.
  • step 218 a determination is made as to whether the object contains a resource data structure. If the answer is YES, the execution engine retrieves the resource's UID in step 220. In step 222, a hash table entry is identified based on the retrieved UID. In step 224, the resource is stored in the identified hash table entry. If the object does not contain a resource data structure, a determination is made in step 226 as to whether the object contains a command data structure. If the answer is YES, the command is stored in the event queue 138 according to, for example, a start timecode associated with the command. FIG.
  • step 240 the execution engine determines whether a start timecode time for a command stored in the event queue 138 has arrived. This may be done, for example, by examining the time source 136 for its time indication.
  • step 242 the command marked with the start timecode is retrieved from the event queue.
  • the data structure storing the command information includes, in addition to the start timecode, a command name and one or more UIDs of resource data structures for which the command is to be executed.
  • the execution engine retrieves the one or more UIDs included in the command, and in step 244, uses the UIDs to retrieve the associated resources.
  • the one or more UIDs are used to compute one or more hash table entries storing the one or more resources.
  • a determination is made as to whether any of the retrieved data structures have attributes with missing values. If the answer is YES, the execution engine retrieves, in step 246, default values stored in the memory 140 to be used for the attributes with the missing values.
  • the command identified by the command name is executed with respect to the retrieved resource(s).
  • the command may be a command to display a widget according to the presentation and behavior information included in the retrieved resource data structure. A.
  • the ADL treats each resource describing and organizing the presentation and behavior information independently, and provides to each resource a memory location in the form of a UID, allowing the resource to be stored and unambiguously referenced.
  • each resource is stored in a hash table based on its UID. In this manner, resources may be referenced with a single level of indirection, preserving CPU cycles during the execution of the ITV application.
  • UIDs also promote reuse of resources where one or more interactive applications can reference the same resource or value through its UID. In contrast, prior art mechanisms store data in tables with rows and columns, and a directory to locate the tables.
  • UIDs also enable an execution engine to be created whereby memory is managed dynamically to support the arrival of new data elements, including elements that were not necessarily expected to arrive when an application is authored (i.e. enhancements to a live event such as the Superbowl or Grammy awards).
  • An execution engine can receive new data elements and, through use of the data elements' UIDs, store the data elements in memory in locations that can be easily referenced. This offers advantages over other approaches where a memory partition is dictated in advance within the data stream itself, making it a challenge to support the arrival of new elements.
  • a UID may contain a scalar value or a memory location of a resource.
  • UIDs containing scalar values are referred to as non-resource UIDs.
  • UIDs referring to a specific instance of a resource are referred to as resource UIDs.
  • FIG. 3 is layout diagram of a resource UID according to one embodiment of the invention.
  • the illustrated resource UID is a 64-bit value including 24-bit installation prefix 250 and a 40-bit resource value 252.
  • the installation prefix 250 uniquely identifies a source/creator of the resource.
  • the source/creator uses its unique installation prefix in every resource UID it creates. This allows HDDs to be globally unique.
  • a globally unique UID has various advantages. First, it allows the monitoring of data prior to delivery to the execution engine to authenticate its source. Second, it allows a viewer's interaction to be tracked by delivering the UID from the execution engine to a reporting application (provided the reporting application can resolve the UID with the original content) resulting in a significantly reduced return-path data. Third, if a resource is stored based on a globally unique UID, a set of resources may be efficiently delivered to an execution engine through a variety of different data paths. Lastly, globally unique UIDs allow efficient storage of the resources in an object-oriented database. FIG.
  • FIG. 4 is a layout diagram of a non-resource UID containing a scalar value according to one embodiment of the invention.
  • the illustrated non-resource UID is composed of a field 260 that corresponds to the installation prefix in the resource UID, a type field 262, and a value field 264.
  • Field 260 that would correspond to the installation prefix contains zeros in a non-resource UID.
  • the type field 262 identifies the data type of the contents of the value field 264.
  • the various types of non-resource UIDs are provided in Table 3, along with their corresponding type IDs. Table 3 Scalar Types
  • the ADL also defines a null UID which contains all zeros.
  • a null UID simply indicates the absence of data.
  • the core data structure types/resources upon which all other data structures/resources are based include dictionaries, UID vectors, UID pair vectors, images, strings, and fonts.
  • a particular resource generated based on one or more core resources have variable lengths, as opposed to fixed lengths. This is because a resource includes an attribute only if a value associated with the attribute differs from a default value maintained by the client.
  • the interchange formatting system 127 generates a resource header for all resources.
  • Table 4 describes an interchange format adhered by the interchange formatting system 127 for generating the resource header according to one embodiment of the invention.
  • commandType an 8-bit value identifying a command. As such, the commandType is set to 0 for resource obj ects .
  • headerVersionNumber a 4-bit version number for the resource header format. This value is incremented each time a backward-incompatible revision is made to a fundamental syntactic structure of the resource header format.
  • resourceVersionNumber a 4-bit version number for the resource format. This value is incremented each time a backward-incompatible revision is made to a fundamental syntactic structure of the resource format.
  • resourceType an 8-bit value identifying one of the six core resource types. reserved: reserved for future standardization, and set to all '0' bits.
  • resourceUID a 64-bit UID of the resource.
  • expirationTime a 32-bit time reference at which the resource is no longer needed and may be freed from memory.
  • the stamping of each resource with an expiration time stamp allows the execution engine 133 to efficiently manage its memory 140 to make room for incoming resources. Given the highly dynamic nature of enhanced television, marking resources with such expiration timestamps enables the execution engine to free a resource from memory at the time indicated by the expiration timestamp, and make room for incoming resources, thereby enabling the interactive content of a program or commercial to change over time.
  • the bytes that follow the resource header are interpreted by the parsing execution engine 133 according to the identified resourceType.
  • dictionary resources map symbols, also referred to as keys, to UID values.
  • the UID values either reference other resources or contain a scalar value.
  • FIG. 5 illustrates an exemplary dictionary resource XML document according to one embodiment of the invention.
  • the illustrated dictionary is a text widget dictionary resource as indicated by a resource name 314.
  • the resource includes a version 300 of the ADL specification used to generate the resource, a resource UID 302 allocated to the resource, resource name 304, and a count 306 of the elements contained in the resource.
  • a person of skill in the art should recognize that other attributes may also be used to describe the resource.
  • Dictionary resources include entries identified by a "Dictltem” type 308 which map symbol names 310 to UID values 312.
  • Table 5 describes an interchange format adhered by the interchange formatting system 127 for translating a dictionary resource into a compressed representation according to one embodiment of the invention.
  • variable map resource maps variables used for a particular ITV interaction, to their initial UID values.
  • FIG. 6 illustrates an exemplary variable map resource XML document according to one embodiment of the invention. For each entry, the illustrated resource document identifies a variable 350 used for the interaction, an initial UID value 352 of the variable, and an optional text name 354 of the variable for readability purposes (this is typically stripped out by the interchange formatting system). According to one embodiment of the invention, there is one variable map resource for each interaction.
  • OPT Dictionary Resource An object property table (OPT) resource is a dictionary that maps symbol names associated with a production or interaction, to corresponding UIDs.
  • the OPT resource generally contains variables that change dynamically, such as, for example, a string with a new stock quote. If a value is updated, a change command may be sent to update the OPT values. The execution engine may see that the values have been updated and update them in the OPT resource accordingly.
  • OPT elements are represented by listing a "gensym" (or generic symbol) reference to the variable 340 and a UID 342 that either contains the value for the variable or references a resource that corresponds to the variable. Properties associated with the resource are further represented by symbol/UID pairs. c.
  • a back end service resource defines the formal arguments (or signature) of a remote function which runs on a response server (not shown) coupled to the client 106.
  • a first dictionary item in the resource defines the type of the value returned by the remote function, such as an integer, string, image or vector of elements.
  • a second dictionary item is an argument list of values to be passed to the remote function where each UID in the list of arguments conveys both: (1) the type required by the corresponding actual argument when the remote function is actually invoked; and (2) a default value for use in constructing the actual argument list.
  • the back end resource is invoked as part of an action list with the values of the arguments. d.
  • Connection resources are an unordered list of symbols representing return-path parameters, each of which map to an UID value or resource. Actions may be performed on connection resources. Such actions are used to setup and tear down the connections defined by the properties of the connection resource under program control.
  • An interactive application may also obtain the status of an existing connection associated with a connection resource.
  • This connection could be a TCP or UDP socket, an HTTP connection, or, for example a packet delivered over a QPSK modulated out-of-band data channel using a method such as ALOHA. It could be a connection over a modem and phone line (for instance, for use with a DTH platform) or a dedicated return data channel as is the case with a cable platform.
  • Table 7 describes a list of attributes defined by a connection resource according to one embodiment of the invention. Table 7
  • the visual elements of an interactive application are defined as widget dictionary resources.
  • a widget dictionary resource maps widget property names to UIDs.
  • widgets possess both visual and behavioral attributes. Visual attributes govern how the widget is displayed, and behavioral attributes describe sequences of actions to be executed based on events that occur when those widgets are displayed.
  • Table 8 describes a list of widget attributes that are defined by the ADL according to one embodiment of the invention.
  • the interchange formatting system 127 When translating a widget construct to a binary format, the interchange formatting system 127 translates each parameter to an associated binary value. In this regard, only required symbols need to have values for the widget to be considered to be in compliance with the interchange format. For example, a widget name is a symbol that requires an express value. If a non-required value is not provided for a symbol, the execution engine 133 utilizes the default value stored in the memory 140. Table 8
  • Widget sub-classes have attributes and elements that are specific to their nature.
  • a widget sub-class may be, for example, an image widget, a text widget, a text entry widget, a video widget, a mask widget, a "bug" widget, or a container widget.
  • Image widgets define different images represented via image resources for various navigational states of the widget.
  • Text widgets define different texts represented via string resources, the font of the text represented via font resources, and colors, for various navigational states of the widget.
  • Text entry widgets include the parameters of a text widget, and further define text to be entered by a viewer represented via a string resource, the text type, the length, and the like.
  • FIG. 8 illustrates an exemplary container widget resource XML document according to one embodiment of the invention.
  • the resource indicates a resource type 360 and a version 361 of the ADL specification used to generate the resource.
  • the resource further includes a resource UID 362 allocated to the resource, a resource name 364, and a count 366 of elements contained in the resource.
  • a container widget resource is a type of dictionary resource, the elements contained in the resource are identified by a "Dictltem" type 368.
  • the various entries in the container widget resource map symbol names 370 to UID values 372.
  • One such mapping is a mapping of a "field list" parameter 374 to a UID 376 of a field list resource that includes a list of all child elements within the container.
  • a field resource in turn maps a child widget's UID to a contextual attributes resource UID which is described in further detail below.
  • Container widgets allow widgets to be grouped into parent/child hierarchies.
  • Container widgets function as parents to other child widgets.
  • Container widgets may also contain other container widgets to enable the creation of elaborate widget hierarchies.
  • child widgets may inherit properties, such as, for example, relative positioning properties, based on their parent.
  • Child widgets may also pass events to their parent such that if the child widget receives an event that has not been specified, it can pass it back to its parent who may have an entry for the event in its event table.
  • Container widgets further specify the navigation of the child elements in the container. Navigation of the child elements may be expressed using a navigation grid.
  • a navigation grid allows a description of the traversal of multiple visual elements in a manner consistent with an intuitive user interface design. Typically when shown a horizontal sequence of navigable visual elements, such as grid 400 illustrated in FIG.
  • a container widget defines a number of columns 378 and/or rows 380 of its child widgets.
  • the container widget further maps a navigation list 374 parameter to a UID 376 of a navigation order resource which contains a list of the navigable child elements in the navigation order.
  • the container widget further includes a default focus 382 parameter indicating the position of the child element in the navigation list that is given focus as a default when the widget is rendered.
  • widgets are said to have focus when they are clearly visible to the viewer, and they are affected by the viewer's actions, such as remote control button presses.
  • Widgets are attributed certain navigation states which express their relationship to viewer interaction activity and whether or not they or their containers have focus.
  • certain widget properties are designated to change to indicate their state to the viewer.
  • On-screen navigation may be fully described using combinations of these visual and behavioral states.
  • the navigation states defined by the ADL include, but are not limited to, inactive, active selected, active, and inactive selected states.
  • the inactive state is the base state for all widgets.
  • inactive state properties trickle down to the other states.
  • a widget is in an active selected state when the widget has focus, and is the widget that is affected when the viewer presses remote control keys or actuates some other input device 135.
  • FIG. 10A is a screen shot of a container widget 420 including child widgets 422 and 424. Widget 422 is in an active selected state, and widget 424 is in an active state.
  • Widget 422 is in an active selected state
  • widget 424 is in an active state.
  • the first widget transitions to an inactive selected state.
  • the inactive selected widget is the last widget to have focus before the viewer moves out of that container.
  • the first widget's container and any widgets with the same parent also transition to the inactive state, as is illustrated in FIG. 10B.
  • a user-selected widget momentarily transitions to the armed state.
  • a contextual attributes resource is a dictionary resource which is used primarily to describe child widgets in the context of their parent widget. For example, a child widget's height and width may respectively be described as a percentage of the parent's height and width.
  • a container widget resource lists its child widgets via the field list parameter 374 that is mapped to a field list resource which in turn maps the UID of each child widget to a contextual attributes resource.
  • the contextual attributes resource in turn has a list of properties that reference the child's parent.
  • the contextual attributes construct affords a number of efficiencies in the creation and delivery of interactive television assets.
  • a number of resources that have many common properties may be implemented as a single resource with the differences contained in the contextual attributes resource of each instance of the resource. For instance, consider a tic-tac-toe grid of image widget resources which can be set to either an "X" or "O" image. Rather than having nine individual image widget resources with different coordinates, they can be implemented as a single tic-tac-toe board image widget resource containing all common presentation and behavior properties.
  • the container widget for the tic-tac-toe board will have nine children in its field list, each of which is a mapping of the resource UID of a single tic-tac-toe square image widget resource to a different contextual attributes resource containing different coordinates on the tic-tac-toe board.
  • FIG. 11 illustrates an exemplary XML document for a container widget resource, field list resource, and contextual attributes resource according to one embodiment of the invention.
  • the illustrated container widget resource 450 includes a field list parameter with a UID 452 of a corresponding field list resource 454.
  • the identified field list resource 454 includes UIDs 456, 458 which identify the contextual attribute resources for two child widgets.
  • a contextual attributes resource 460 for a first child widget provides a list of UID values 462 relating to the child widget's x-coordinate position, y-coordinate position, width, height, initial visibility, z-order, and the like.
  • Event Table Dictionary Resource An event table dictionary resource maps event names to UIDs of action list resources. Event table resources are referenced by widget resources, and indicate the actions to be executed when the listed events occur when the widget has focus. According to one embodiment of the invention, events are stimuli generated from an operation external to the execution of an interactive television program, such as, for example, a user's remote control button press or the expiration of a timer.
  • FIG. 12 illustrates an exemplary event table resource XML document according to one embodiment of the invention.
  • UID VECTOR RESOURCES A UID vector resource includes a list of single UIDs. Elements in a UID vector resource are identified by a "UIDReference" type. The various types of UID vector resources include action list resources, argument list resources, and navigation order resources. Table 9 describes an interchange format adhered by the interchange formatting system 127 for translating a UID vector resource into a compressed representation according to one embodiment of the invention. Table 9 UIDVector Resource
  • UIDVectorSize a 32-bit identifying a number of UIDs in the UID vector resource. uid: 64-bit specifying a value or UID.
  • a. Action List Resource An action list resource is referenced by an event table resource that maps an event name to a UID of the action list resource. The event table resource is in turn included in a widget resource.
  • An action list resource includes a non-resource UID identifying a particular action followed by one or more operands upon which the action operates.
  • the operands may be UIDs associated with widgets, widget properties, variables, or literals.
  • the operations performed by the actions may be branching actions, null actions, widget actions, variable operations, time-related actions, or connection actions.
  • a branching action transfers execution to another action list under control of the interactive program. All branches immediately terminate execution of the current action list and continue execution at the beginning of the new action list.
  • a branching action may be a conditional branch action that continues execution in one of two action lists depending on a value of a Boolean condition.
  • a null action is one that has no effect on the interactive program.
  • a variable operation modifies a single variable or a single property of an existing widget. It computes a simple expression involving variables or properties and assigns the result to another variable or property.
  • FIG. 13 illustrates an exemplary action list resource XML document according to one embodiment of the invention. The illustrated action list identifies an "assign" variable action 510 followed by two symbol UID pairs 512-518.
  • the "assign" action sets the value of a first UID 514 referenced by a first symbol 512, to be the same value of a second UID 518 referenced by a second symbol 516.
  • the illustrated action list also includes a "got to" branching action 520 which causes the program to continue execution in an action list identified by a UTD 522.
  • a time-related action is one that reads and sets attributes related to time.
  • Table 11 provides a list of time-related actions and associated codes specified by an interchange format adhered by the interchange formatting system 127 according to one embodiment of the invention.
  • Connection actions are used to setup, destroy, or manage and tear down a connection from the execution engine environment to an external server defined by a connection dictionary resource under control of the interactive program.
  • the interactive program may also obtain the status of an existing connection associated with a connection resource.
  • Table 12 provides a list of connection actions and associated codes specified by an interchange format adhered by the interchange formatting system 127 according to one embodiment of the invention.. Table 12
  • An argument list resource defines a list of scalar non-resource UID values which act as arguments for another resource.
  • An exemplary resource that references an argument list resource is a back end dictionary resource.
  • the argument list in a back end dictionary resource defines, for example, a list of arguments that is passed between the execution engine 133 and a remote function running on a response server.
  • each UID in the list of arguments conveys both the type required by the corresponding actual argument when the remote function is actually invoked, and a default value for use in constructing the actual argument list.
  • FIG. 14 illustrates an exemplary XML document for a back end service resource and an argument list resource according to one embodiment of the invention.
  • the back end service resource 600 includes a return type 602 which is mapped to a UID 604 of a resource which defines the type of value returned by the remote function.
  • the back end service resource also includes an argument list 606 which is mapped to a UID 608 of an argument list resource 610.
  • the argument list resource 612 defines two scalar UTD values 614, 616 to be passed to the remote function.
  • c. Navigation Order Resource A navigation order resource is referenced by a container widget and includes a list of navigable child widgets in their navigation order. According to one embodiment of the invention, the order of the UIDs within the navigation order resource referencing the child widgets determines the sequence in which the child widgets will be traversed. FIG.
  • the container widget resource 650 includes a navigation list mapped to a UID 654 of a navigation order resource 654.
  • the navigation order resource 654 lists UIDs 658 of child widgets within the container that are meant to be navigated by the user.
  • the order of the UIDs 658 within the navigation order resource 656 determines the sequence in which the widgets will be traversed.
  • UID PAIR VECTOR RESOURCES A UID pair vector resource lists UID pairs, and includes elements having a "UIDReferencePair" type.
  • a field list resource is a type of UID pair vector resource.
  • the field list resource associates a UID 700 of each widget in a parent container with a UID 702 that references a contextual attributes resource.
  • the contextual attributes resource describes attributes for the child widget that are relative to the parent container.
  • Table 13 describes an interchange format adhered by the interchange formatting system 127 for translating a UID pair vector resource into a compressed representation according to one embodiment of the invention.
  • UIDPairVectorResourceQ ⁇ ResourceHeader()
  • uidFirst a 64-bit value specifying the first value or UID in every pair.
  • uidSecond a 64-bit value specifying the second value or UID in every pair. 4.
  • image, string, and font resources are fundamental constructs for interactive television applications.
  • a font resource references fonts resident on the client 106 and running the execution engine 133 used to display text strings.
  • An image resource describes an image and contains its data. Each image consists of a rectangular array of pixels.
  • each pixel contains four 8-bit values [ ⁇ , R, G, B] representing, respectively, alpha (opacity), red, green, and blue components of the color in the fractions [ ⁇ / 255 , R 2S5, G /2S5, B /25s]-
  • the alpha component is stored in the most-significant octet, and the blue component in the least- significant octet.
  • the pixels are expressed in scanline order from left to right.
  • a string resource contains text strings with corresponding formatting information that may be rendered in a text widget.
  • a hypertext markup language (HTML) format may be used to describe the string information, such as, for example, formatting and positioning information.
  • commands allow an audio-visual program to be enhanced with interactive content that is synchronized to events within the program.
  • commands are stored in the event queue 138 and retrieved by the execution engine 133 when the start time of the command is reached. The start time of the command is computed based on a time provided by the time source 136.
  • Pop-up Command A pop-up command instructs the execution engine to display an associated widget at the specified time and for the specified duration after which it is to be removed from the display.
  • the widget is displayed on top of an existing root item, that is, an item that may always be accessed, such as, for example, a static menu.
  • Table 14 provides a list of elements of a pop-up command as defined by the ADL according to one embodiment of the invention. Table 14
  • Table 15 describes an interchange format adhered by the interchange formatting system 127 for translating a pop-up command into a compressed format according to one embodiment of the invention.
  • commandType an 8-bit value identifying the command. reserved: reserved for future standardization, and set to all '0' bits.
  • startTime a 32-bit time reference at which to execute the command. The bytes that follow the header are interpreted by the parsing execution engine 133 according to the commandType. The start of the next object in the byte stream is aligned to the next 4 byte boundary after the end of the command data.
  • Make Root Command instructs the execution engine to replace a root item with a new rot item that is referenced by a UID.
  • Table 17 provides a list of elements of a make root command as defined by the ADL according to one embodiment of the invention. Table 17
  • Table 18 describes an interchange format adhered by the interchange formatting system 127 for translating a make root command into a compressed format according to one embodiment of the invention.
  • a change command instructs the execution engine to change the UID of a specified "gensym" entry in an item's OPT resource with a new UID. This command may be used to update dynamic values, such as, for example, a string containing the latest news headline, or values that are set to change at pre-specified times, such as, for example, certain string of lyrics during an interactive karaoke application.
  • Table 19 provides a list of elements of a change command as defined by the ADL according to one embodiment of the invention. Table 19
  • Table 20 describes an interchange format adhered by the interchange formatting system 127 for translating a change command into a compressed representation according to one embodiment of the invention.
  • a trailer command instructs the execution engine to designate a particular resource identified by its UID as a trailer object, and displays that resource until a primary application, or root track, is fully loaded.
  • the trailer object is a resource that is relatively small in size, broadcast often, and displayed as soon as it is received as an introduction or trailer, while the rest of the root track, which is generally much larger than the trailer object, is being loaded into memory.
  • Table 21 provides a list of elements of a trailer command as defined by the ADL according to one embodiment of the invention. Table 21
  • Table 22 describes an interchange format adhered by the interchange formatting system 127 for translating a trailer command into a compressed representation according to one embodiment of the invention.
  • Table 22 Trailer Object Command
  • the ADL a 64-bit UID of the interaction to make the root while loading the main application.
  • the ADL is advantageous in that it is platform-independent, although certain data structures may be specified as platform-specific, allowing the language to the used for generating ITN applications for different platforms via a single authoring tool.
  • the core data structure types provided by the ADL i.e. dictionaries, UID vectors, UID pair vectors, images, strings, and fonts
  • adding new functionality to an interactive object generally entails changing the object definition within a user agent, or defining an entirely new object. This may entail adding new constructs to the language by changing existing structures (and subsequently, version numbers) or defining new structures. This in turn may cause changes in many areas in the code base such as, for example, XML parsing, formatting, data consumption on the user agent, and the like.
  • the ADL according to the above-described embodiments also provide widget structures with parent-child relationships that allow inheritance of attributes and/or behaviors and re-use of data elements, reducing required transmission bandwidth and storage space.
  • the constructs generated using the ADL are also of variable length, and only contain values that differ from the default values maintained by the client. This may be contrasted with prior art constructs which are generally of fixed length, and contain all of the construct's attributes, resulting in more memory usage. An update or override in the prior art of any of these attributes would generally require the re-sending of the entire construct.
  • the constructs defined by the ADL are referenced by UIDs which indicate the memory locations in which the constructs are stored. This differs from a tabular approach of the prior art where data is stored in tables with rows and columns. Because rows and columns are of fixed length, and images and many other data types vary in size, padding is generally required to accommodate images and data of a large size, wasting bandwidth and memory resources.
  • the ADL according to the various embodiments also allows efficient memory management via expiration timestamps that indicate when an associated resource may be freed from memory. Given the highly dynamic nature of enhanced television, marking resources with expiration timestamps allow the execution engine 133 to efficiently manage its memory 140 to make room for incoming resources. Furthermore, the module construct provided by the ADL allows objects to be grouped for specific platforms.
  • the header information at the start of the module that quickly identifies the application, the profile, and the platform (if applicable) to which the module's content pertains allows the execution engine 133 to quickly evaluate the relevance of an incoming module and choose to ignore it if it is not relevant.
  • the profile-specific module approach lends itself well to splitting profile-specific modules across multiple profile IDs, where all execution engines may first tune to a profile ID containing modules common across all profiles, and might then tune to a profile ID containing modules specific to its profile.

Abstract

L'invention porte sur un langage de définition d'applications (ADL) de TV interactive (ITV) servant à générer de telles applications destinées à différents types de plates-formes et dispositifs. L'ADL offre plusieurs types de structures de données fondamentales sur lesquelles on peut construire une ou des structures de données. Les structures de données contenant des informations de présentation et de comportement de contenus ITV sont dénommées 'ressources'. Une ressource est associée à un identificateur globalement unique permettant de stocker et d'extraire efficacement une structure de données d'une table de hachage. Une ressource est également associée à un horodatage d'expiration indiquant quand la ressource doit être libérée par la mémoire. Une ressource présente une longueur arbitraire et contient des valeurs différant de celles stockées dans un dispositif récepteur client. Les ressources sont également stockées dans un module d'assistance à la plate-forme et/ou au profil d'un client récepteur lequel peut rapidement déterminer si le module le concerne, en examinant l'identité de la plate-forme et/ou du profile contenu dans l'en-tête du module.
PCT/US2005/006804 2004-03-01 2005-03-01 Systeme et procede decrivant les informations de presentation et de comportement d'une application itv WO2005084348A2 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP05724368A EP1730949A4 (fr) 2004-03-01 2005-03-01 Systeme et procede decrivant les informations de presentation et de comportement d'une application itv
CA2555276A CA2555276C (fr) 2004-03-01 2005-03-01 Systeme et procede decrivant les informations de presentation et de comportement d'une application itv
CN2005800068179A CN101073254B (zh) 2004-03-01 2005-03-01 用于在itv应用中描述呈现和行为信息的系统和装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US54899704P 2004-03-01 2004-03-01
US60/548,997 2004-03-01
US63475704P 2004-12-09 2004-12-09
US60/634,757 2004-12-09

Publications (2)

Publication Number Publication Date
WO2005084348A2 true WO2005084348A2 (fr) 2005-09-15
WO2005084348A3 WO2005084348A3 (fr) 2007-05-24

Family

ID=34922700

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/006804 WO2005084348A2 (fr) 2004-03-01 2005-03-01 Systeme et procede decrivant les informations de presentation et de comportement d'une application itv

Country Status (4)

Country Link
EP (1) EP1730949A4 (fr)
CN (1) CN101073254B (fr)
CA (1) CA2555276C (fr)
WO (1) WO2005084348A2 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10086289B2 (en) * 2016-11-22 2018-10-02 Sony Interactive Entertainment America Llc Remastering by emulation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496981B1 (en) * 1997-09-19 2002-12-17 Douglass A. Wistendahl System for converting media content for interactive TV use
US6018768A (en) * 1996-03-08 2000-01-25 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US6240555B1 (en) * 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
US6173317B1 (en) * 1997-03-14 2001-01-09 Microsoft Corporation Streaming and displaying a video stream with synchronized annotations over a computer network
US6392664B1 (en) * 1998-11-30 2002-05-21 Webtv Networks, Inc. Method and system for presenting television programming and interactive entertainment
CA2326197A1 (fr) * 2000-01-11 2001-07-11 International Business Machines Corporation Methode et systeme permettant l'execution de transactions de commerce electronique interactives et en temps reel
US7120924B1 (en) * 2000-02-29 2006-10-10 Goldpocket Interactive, Inc. Method and apparatus for receiving a hyperlinked television broadcast

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None
See also references of EP1730949A4

Also Published As

Publication number Publication date
WO2005084348A3 (fr) 2007-05-24
EP1730949A4 (fr) 2009-08-12
EP1730949A2 (fr) 2006-12-13
CA2555276C (fr) 2012-05-15
CN101073254B (zh) 2011-05-18
CA2555276A1 (fr) 2005-09-15
CN101073254A (zh) 2007-11-14

Similar Documents

Publication Publication Date Title
US7913286B2 (en) System and method for describing presentation and behavior information in an ITV application
US11765445B2 (en) Validation of content
US10587930B2 (en) Interactive user interface for television applications
CA2622900C (fr) Procede et systeme de mini-applications autonomes destines a la television numerique
US7627814B1 (en) Hierarchical bit stream markup compilation and rendering
US20030217369A1 (en) Flexible application information formulation
EP1110402B1 (fr) Dispositif et procede permettant d'executer des applications televisees interactives sur des coffrets d'abonnes
US20060168639A1 (en) Interactive television system with partial character set generator
US20060130120A1 (en) Optimized application on-the-wire format for construction, delivery and display of enhanced television content
MX2012014279A (es) Acceso por archivo de comandos a componentes de multimedia ocultos.
CN101398754A (zh) 一种嵌入式设备的交互系统
Laiola Guimarães et al. Composer: Authoring tool for iTV programs
WO2003088674A1 (fr) Systeme et procede de creation d'un contenu interactif au niveau de plusieurs points dans un processus de production televisuelle
Crinon et al. Data broadcasting and interactive television
CA2555276C (fr) Systeme et procede decrivant les informations de presentation et de comportement d'une application itv
CA2301935A1 (fr) Interface de programme d'application de commande et de synchronisation d'information en continu pour un recepteur de television numerique
Rodriguez-Alsina et al. Analysis of the TV interactive content convergence and cross-platform adaptation
Chiao et al. A template-based MHP authoring tool
de Resende Costa Synchronization Management in DTV Applications
Jang et al. Xlet-based, IESG (Integrated Electronic Service Guide) in ATSC-ACAP

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2555276

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2005724368

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 200580006817.9

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 2005724368

Country of ref document: EP