Embodiment
Generally speaking, various embodiment of the present invention relate to a kind of ITV application program definitional language (ADL), and it is that different types of target platforms and device generate the ITV application program.The ITV application program with strengthen TV, tunnel, managed content (managed content), recreation, interactive program guide, and the Interactive Advertising content is associated, but also is not limited to these.
According to an embodiment, ADL provides a plurality of kernel data structure types, can set up one or more data structures on this, is also become structure (construct).These structure descriptions have also been organized such as for example font size and color, and the such ITV content presentation information of logic OR behavior that the ITV application program of content is provided.It is how response to be made in terminal use's action or another kind of external event that behavioural information has been described application program.
According to an embodiment, the data structure of having stored ITV content presentation information and behavioural information is called as resource.Resource is associated with GUID, and this identifier makes data structure can be stored effectively and retrieval from hash table (hash table).Resource is also stabbed (expiration time stamp) with expiration time and is associated, and this expiration time stabs to have indicated when discharge resource from memory.Resource has random length, and can comprise and the different value of default value that is stored in subscribing client device place.Resource also can be packaged as module, and it satisfies the platform of subscribing client and/or the needs of standard summary.Be included in platform and/or standard summary ID in the header of module by inspection, whether client computer promptly determination module is associated.
The kernel data structure type that is provided by ADL includes but not limited to: (1) dictionary (dictionary); (2) unique identifier (UID) vector; (3) UID is to vector; (4) image; (5) character string; And (6) font.By the number that the restricted number to of type of data structure is limited, and by making up these structures to make it high flexible and can reuse, dissimilar ITV application programs can be produced, and do not need to change the mode of ITV application program resolved (parse), coding or distribution.
Figure 1A is the block diagram of ITV system according to an embodiment of the invention, and this system uses ADL to describe ITV presentation information and behavioural information.This ITV system comprises broadcast system 100, task manager 102, data forwarding system (headend system) 104, and one or more client computer 106.The broadcast system 100 that is positioned at broadcasting running center comprises dispatching patcher 108, automation of broadcast continuity server 110, datin 112, and one or more video player 116 (as, VTR).In the heart miscellaneous equipment also can be included in the broadcast system 100 in the broadcasting running, such as, for example be used for text and image are overlayed character-generator (not shown) on the audiovisual content element.
Dispatching patcher 108 produces the TV programme playlists, and it has comprised the schedule of a program that is transmitted in the appointed date.This playlist comprises, for example, and timing code and with their program segment identifier, program fragment source, and/or the inventory of program segment duration.Next, dispatching patcher 108 uses playlist to drive video player 116, and this video player 116 has comprised the actual video and the audio frequency of the content element that will be transmitted.
Automation of broadcast continuity server 110 monitors the playlist that is produced, and detects any change that may make playlist.According to one embodiment of present invention, automation of broadcast continuity server 110 was read the playlist that produced before several hrs for example, and by wired or wireless data link 120 recent entry of playlist was passed to task manager 102.Data link 120 can be, for example, and the Internet link of maintaining secrecy, local area network (LAN) link, wide area network link or the like.
Task manager 102 receives playlist information from different broadcast system, and retrieves suitable ITV event information and respond.According to one embodiment of present invention, the ITV event information of different broadcast systems is that central authorities are kept in the ITV event database 122.Go up in this respect, ITV event database 122 is the mapping of each broadcasting station storage ITV incident to particular segment (or demonstration) identifier.ITV event database 122 further is used to move the ITV content presentation information and the behavioural information of ITV incident for the ITV incident storage of each mapping.
According to one embodiment of present invention, task manager 102 is coupled to creation instrument 103, and it uses ADL to produce the ITV application program that is associated with the ITV incident.With extensible markup (XML) language format, perhaps, express content presentation information and behavioural information in the ITV application program with any other data representation form well known in the art.In a single day the ITV application program produces, and just is stored in the ITV event database 122.
According to one embodiment of present invention, ITV task manager 102 detects the program segment that is associated with the ITV incident in the playlist information that is received, and preparation broadcast (playout) data relevant with the ITV incident.Played data comprises, for example, the ITV application program, it contains and is useful on actual logic and the presentation information that produces the ITV incident.
To various recipients transmission such as, for example TV programme, commercial advertisement or the such content element of VOD content, described various recipients comprise data forwarding system 104 or certain other up-line system of local cable or optical cable operator.According to one embodiment of present invention, data forwarding system 104 comprises the data distributing server 126 that is coupled to encoder 128 and multiplexer 128, and all these content element and any ITV application program that is associated that is used for being received sends client computer 106 to.
According to an embodiment, data forwarding (or up link) system 104 has comprised all or part of of the playlist that produced by dispatching patcher 108.This part of playlist can be passed through such as for example so wired or wireless data link 124 of secret the Internet link, local area network (LAN) link or wide area network link, and communicates with task manager 102.
Based on its playlist and the information that is provided by task manager 102, such as for example about the information (such as program segment) of the audiovisual content element that can utilize the ITV application program, data distributing server 126 is before the predetermined reproduction time of the audiovisual content element that is identified, send one or more requests to task manager 102, the ITV application program that request is associated.This request is transmitted by secure data communication link 124.
In response to request from data distributing server 126, task manager 102 transmits one or more all required ITV application programs that present with behavioral data that comprise to data forwarding system 104, and client computer need this present with behavioral data and move the ITV incident.Then, data distributing server 126 transmits the ITV application program that is received with suitable number of times to client computer, and this number of times calculates based on predetermined ITV event times.
According to one embodiment of present invention, the ITV application program sends client computer to a succession of standard summary and/or platform specific modules form.Module has comprised the object data stream that is cited within the ITV application program.Object can comprise and presenting and logical data, or carves when appropriate to call and present/order of logical data.
When generation passes to the object of client computer 106, be included in the DIF system analysis that at first is coupled to data distributing server 126 with logical data and relevant order that presents in the ITV application program.Then, the data of being resolved are converted into the compression of data and the expression that the meaning of one's words is equal to.According to one embodiment of present invention, the expression of this compression is a binary expression.
The DIF that this conversion is observed based on the DIF system.This DIF makes following thing become possibility: use much smaller bandwidth for transmission present with logical data to target platform and take the much less internal memory, can not cause the parsing of being undertaken by the execution engine on the client computer 106 more complicated simultaneously.
According to one embodiment of present invention, the sequence of modules of object data stream that comprises presentation information with compression and behavioural information is packaged, and is multiplexed as mpeg 2 transport stream, and (in-band) is transferred to client computer 106 in being with content element then.Module also may be encoded as the horizontal or vertical blanking interval of analog video signal, or is encoded to the auxiliary data interval (ancillary data space) of digital video frequency flow.In addition, can connect, perhaps by segregated channel band other places transport module such as QPSK modulates or the DOCSIS channel is such by the internet.
According to one embodiment of present invention, task manager 102 is not transferred to module data forwarding system so that module is passed to client computer, but gives automation of broadcast continuity system 110 with data passes, is used for being embedded into content element.In this case, automation of broadcast continuity server 110 calls datin 112, so that module is inserted in the content element.Therefore, the content element that received of data forwarding system 104 has just comprised client computer and is used to move required suitable of ITV incident and presents and logical message and the order that is associated.
According to one embodiment of present invention, client computer 106 is receiving systems of ITV arbitrarily known in the field, such as, for example analog or digital cable, ground or satellite set top box or consumer electronic devices.Client computer 106 comprises control (host) execution engine 133 and is coupled to the processor 132 of decoder 134.Client computer further is coupled to input unit 135, such as remote controllers, Wireless Keyboard, speech input device or the like, is used for receiving the input data from the beholder.Client computer also is coupled to output device 137, such as display, loud speaker or the like, so that dateout is offered the beholder.
Carry out engine 133 and retrieve and handle the module that is embedded among the content element with decoder, this content element receives by transmission channel 140.This execution engine also can further be retrieved and handle by the module with outer data path 142 transmission.
If identify a module relevant with carrying out engine 133, then to carry out the engine parsing and comprise and present/object of logic and command information, these information are represented with binary system or other certain compressed format.The ITV order of being resolved is stored in the event queue 138, and is called constantly in suitable execution, and described execution is indicated by time source 136 constantly.
Present and the logical message of being resolved are stored in the local storage 140, and are presented when being called in their ITV orders separately.According to one embodiment of present invention, carry out engine 133 based on unique identifier (UID), presenting of being resolved and logical message are stored in the hash table, this unique identifier is assigned to and has comprised the structure that presents with logical message.This just allows to quote the data of being stored with single level of indirection, keeps the cpu clock cycle term of execution of application program.
According to one embodiment of present invention, comprise the structure that presents with logical message and comprise the timestamp that expires.In case carry out engine 133 based on the indicated time of time source 136, to determine to have arrived expiration time and stabbed the indicated time, it just uses the timestamp that expires to discharge the memory location of storage construct.This allows to carry out engine 133 for passing to the new object vacating space of client computer.
According to one embodiment of present invention, the local storage 140 of client computer has stored that ADL describes presents all or part of default value with behavior property.If it is right that execution engine 133 does not receive (keyword is worth) of describing particular community, it just supposes that this default value should be used to this attribute.As a result of, comprise the variable-length that presents with the structure of logical message.Be different from the regular length structure of whole attributes of the prior art, as to comprise structure, it is more efficient that variable-length is configured in memory use aspect, and this variable-length structure only defines its value and the different attribute of value by client computer kept.
Figure 1B is the block diagram of module 200 according to an embodiment of the invention, and this module produces by data distributing server 126.Module has comprised header (header) part 202 and payload (payload) part 204.Header portion 202 comprise such as, for example application program ID 202a, standard summary ID 202b, and the such header information of platform ID 202c, its allow the execution engine 133 that receives promptly determination module whether can be applicable to this engine.If module is considered to use, carry out the byte that engine is ignored next block size 202d, up to the beginning of next module.Enter the correlation of module by assessment promptly, and ignore this module when it is uncorrelated, carrying out engine can be in the cpu clock cycle of assessing consumes least possibility quantity on the module that does not have correlation with it.
If module is considered to be correlated with, engine continues number of modules 202e, the object data stream number 202f of parsing and this module of decoding, and payload portions 204.According to an embodiment, payload portions comprises one or more object data stream 204a-204n, and each object data stream has comprised one or more object 206a-206m therein, and these objects are used to move one or more ITV incidents.Object can comprise resource or order.Resource is a data structure, its description and organize ITV presentation information and behavioural information.Order is the ITV order towards the time that interrelates with resource.According to one embodiment of present invention, object 206a-206m with such as, for example the such compressed format of binary format is represented.
Table 1 has been described the DIF that DIF system 127 is observed, and this DIF system 127 is used for according to one embodiment of the invention, with the form of expression of module converts for compression.
Table 1 module placement table
?Syntax? |
Number?of?bits |
Format? |
?ModuleLayoutTable(){ applicationID profiieID platformID moduleSize moduleNumber numberOfObjectStreams Private?Use Reserved?for?future?standardization Reserved?for?future?standardization for(i=0;i<(numberOfObjectStreams;1++){ streamID } for(i=0;i<(0·numberOfStreams)%4;i++){ padTo4ByteAlignment } for(i=0;1<numberOfObjectStreams;1++){ numberOfBytes firstObjectStartsAt }} |
32 8 8 8 8 8 8 8 8 8 8 32 32 |
uimsbf uimsbf uimsbf uimsbf uimsbf uirnebf uimsbf uimsb uimsbf uimsbf ulmsbf uimsbf uimsbf |
(wherein " Syntax " represents grammer; " Number of bits " represents figure place; " Format " presentation format, down together.)
ApplicationID: 32 place values of identification application.
ProfileID: sign is described in 8 place values of the standard summary of the object in the module.This value can be indicated common, benchmark, low, whole or senior standard summary.
PlatformID: sign is described in 8 place values of the platform of the object in the module.Special platform ID can be with Motorola set-top box for example and Scientific Atlanta set-top box distinguishing identifier mutually.
ModuleSize: 8 place values of the kilobytes number in the indicating module, it has comprised ModuleLayoutTable.
ModuleNumber: 8 place values of coming the identifier of indicating module based on profileID.This number of modules can be used as a continuity counter.
NumberOfObjectStreams: indication is included in 8 place values of the parallel object data stream number in the module.
StreamID: sign is included in 8 place values of the particular type of the stream in the module.This stream ID can indicate telegram end object data (trailer object data), blocks data (mask data), small object, big object, dynamic data or the like.
NumberOfBytes: 32 place values of the byte number in the denoted object stream.
FirstObjectStartsAt: first object in the object data stream begins to locate 32 biased the moving that begin from object data stream.
As described, the object data stream that is included in the module is the sequence of order and resource.Table 2 has been described the DIF that DIF system 127 is observed, and this DIF system 127 is used for being created in order or resource object header before according to one embodiment of the invention.
Table 2 object header
Syntax? |
Number?of?bits |
?Format? |
ObjectHeader()?{ ebiMagic objectLength } |
8 24 |
uimsbf?uimsbf? |
EbiMagic: 8 bit constants that are set to 0X77.
ObjectLength: 24 place values (not comprising the object header) of coming the length of directive command or resource object with byte.
Fig. 2 A is a process chart according to an embodiment of the invention, and it is carried out by carrying out engine 133, and this execution engine 133 receives and processing module based on the computer program instructions that is stored in the memory 140.In step 210, whether execution engine 133 detects the module with the object that comprises resource and order and arrives.In step 212, determination module is for carrying out whether engine 133 is applicable.For example, be included in application program ID 202a, standard summary ID 202b in the header portion 202 of module by detection, and/or platform ID 202c, and relatively itself and the application program ID, the standard summary ID that are stored in the execution engine self in the memory 140, and/or the matching of platform ID, can determination module whether be applicable for execution engine 133.
If it is applicable that module is considered to, carry out engine and next resolve the object that is included in the module.Go up in this respect, whether in step 214, existing in the determination module still needs resolved object.If answer is (Y), then next engine resolves current object in step 216.According to one embodiment of present invention, resolved object has comprised the compression expression of one or more data structures, and it has stored resource or command information.
In step 218, determine whether object comprises resource data structure.If answer is, then carry out engine just at the UID of step 220 retrieve resources.In step 222, based on the UID sign Hash-table entry of being retrieved.In step 224, resource is stored in the Hash-table entry that is identified.
If object does not comprise resource data structure, then determine in step 226 whether this object comprises command data structure.If answer is, then order just is stored in the event queue 138, and it is according to for example, the zero-time sign indicating number that is associated with this order.
Fig. 2 B is a flow chart according to an embodiment of the invention, and it is carried out based on being stored in the computer program that is used to carry out the ITV order in the memory 140 by carrying out engine 133.
In step 240, whether the zero-time sign indicating number time that the execution engine determines to be stored in the order in the time queue 138 arrives.For example, can indicate by the time in review time source 136 and finish this and determine.In step 242, be marked with the order of zero-time sign indicating number from the incident queue search.According to one embodiment of present invention, except the zero-time sign indicating number, the data structure of memory command information comprises command name and will carry out one or more UID of the resource data structure of this order.
In step 243, the execution engine. retrieves is included in the one or more UID in the order, and in step 244, carries out engine and use this UID to fetch the resource that is associated.According to one embodiment of present invention, one or more UID is used to calculate the Hash-table entry of storing one or more resources.
In step 245, determine whether the data structure of fetching has the attribute of missing value.If answer is, then carry out engine and just fetch the default value that is stored in the memory 140 in step 246, it is used on the attribute of missing value.
In step 248, be performed about the resource (one or more) that institute's retrieval obtains by the order that command name identified.For example, this order can be according to the order that comes display member with behavioural information that presents that is included in the resource data structure of being retrieved.
A.UIDs
According to one embodiment of present invention, each resource of presentation information and behavioural information is described and organized to the ADL independent process, and for each resource provides a memory location with the UID form, allow resource to be stored and to be quoted clearly.According to one embodiment of present invention, based on its UID, each resource is stored in the hash table.By this way, resource can be cited with single level of indirection, and keeps the cpu clock cycle during carrying out the ITV application program.
Can quote by its UID under the situation of same resource or value at one or more interactive applications, UID has also promoted re-using of resource.Opposite, art mechanisms with storage in having the table of row and column, and in the dictionary to locate described table.These row/row modes of making table generally need more operation when locating resource or value, and to reuse resource in whole application program be difficult.
UID can make that also carrying out engine is created, the dynamic management memory is to support reaching of new data element thus, this new data element is included in the element that must not be arrived by expectation when creating application program (, to the enhancing such as the such live event of Super Bowl Superbowl or Grammy Awards).Carry out engine and can receive the new data element, and by using data element UID, data element is stored in the memory, its position in memory can easily be quoted.This provides the advantage that is better than other method, and memory partition is specified within data flow self in advance in other method, makes that the support that new element is arrived is difficult.
According to one embodiment of present invention, UID can comprise the memory location of scalar value or resource.The UID that comprises scalar value is called as non-resource UID.The UID that quotes the particular instance of resource is called as resource UID.
Fig. 3 is the layout of resource UID according to an embodiment of the invention.The resource UID of illustrated explanation is one 64 place value, and it comprises that 24 are installed 250 and 40 resource values 252 of prefix (installationprefix).Yet those skilled in the art are to be understood that this UID can be by being less than or forming more than 64 indicated position.
According to an embodiment, source/founder that prefix 250 has identified resource uniquely is installed.Source/founder uses its unique installation prefix among its resource UID that creates at each.This allows UID is that the overall situation is unique.
The unique UID of the overall situation has many-sided advantage.The first, it allows before data are transferred to its source of execution engine validates it to be monitored.The second, it allows to cause greatly having reduced the return path data by transmitting mutual (the supposition reporting application can decompose UID with original contents) that UID follows the tracks of the beholder from carrying out engine to reporting application.The 3rd, overall unique UID stores if resource is based on, and one group of resource can be delivered to the execution engine effectively by multiple different data path.At last, overall unique UID allows the resources effective storage in object-oriented database.
Fig. 4 is the layout that comprises the non-resource UID of scalar value according to an embodiment of the invention.The non-resource UID of illustrated explanation is made up of field 260, type field 262 and value field 264, and wherein field 260 is corresponding to the installation prefix among the resource UID.Should the field 260 corresponding in non-resource UID, comprise 0 with installation resource.Type field 262 has identified the data type of the content of value field 264.The all kinds of non-resource UID its corresponding type i D in table 3 lists together.
Table 3 scalar type
Type i D | Type | |
1? |
Action |
2? |
Color |
3? |
Secret is used |
4? |
Designation |
5? |
Integer |
6? |
Floating number |
7? |
Incident |
8? |
Index (indexed) color |
9? |
Bolean number |
10? |
Bit vector |
11-127? |
For standard in the future keeps |
128-255 |
Privacy uses |
Except resource and non-resource UID, ADL has also defined and has comprised complete zero empty UID.Empty UID only indicates the shortage data.
B. resource
All other data structure/resources based on kernel data structure type/resource comprise that dictionary, UID vector, UID are to vector, image, character string and font.According to one embodiment of present invention, opposite with regular length, the special resource that produces based on one or more core resources has variable-length.This be since only when the default value that value and client computer kept that be associated with attribute not simultaneously, resource just comprises this attribute.
According to one embodiment of present invention, DIF system 127 produces the resource header that is used for all resources.Table 4 has been described and has been produced the DIF that the DIF system 127 that is used to produce the resource header is according to an embodiment of the invention observed.
Table 4 resource header binary format
?Syntax? |
Number?of?bits |
Format? |
?ResourceHeader(){ commandType headerVersionNumber resourceVersionNumber resourceType reserved resourceUID expiration?} |
8 4 4 8 8 64 32 |
uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf |
CommandTypes: 8 place values of marking command.Same, CommandType is set to 0 for resource object.
HeaderVersionNumber: 4 number of versions of resource header format.When carrying out the backward compatibility revision to the basic syntactic structure of resource header format, this value can increase at every turn.
ResourceVersionNumber: 4 number of versions of resource format.When carrying out the backward compatibility revision to the basic syntactic structure of resource format, this value can increase at every turn.
ResourceType: 8 place values of one of six kinds of core resource types of sign.
Reserved:, and be changed to complete " 0 " position for standard in the future keeps.
ResourceUID: 64 UID of resource.
ExpirationTime:32 bit time benchmark, at this moment between the benchmark place no longer need resource, and can from memory, discharge resource.
According to one embodiment of present invention, the stamp seal (stamping) with each resource of expiration time stamp allows to carry out engine 133 and manages its memory 140 efficiently, thinks the resource vacating space that enters.Suppose to strengthen the high dynamic characteristic of TV, for adding this expiration time, resource stabs mark, can make that carrying out engine discharges resource in the expiration time indicated time of stamp from memory, and be the resource vacating space that enters, thereby make the interactivity content of program or commercial advertisement to change in time.
According to one embodiment of present invention, the byte of following the resource header is carried out engine 133 and is explained according to the resourceType that is discerned by resolving.The boundary alignment of next 4 byte after the beginning of next object in byte stream and the end of this resource data.
1. dictionary resource
According to one embodiment of present invention, dictionary resource mapping symbols (being also referred to as keyword) is to the UID value.UID value or quote other resource perhaps comprises scalar value.
Fig. 5 has illustrated exemplary according to an embodiment of the invention dictionary resource XML file.The dictionary of this example explanation is a text member dictionary resource, as indicated by resource name 314.This resource comprises version 3 00, the resource UID302 that distributes to resource, the resource name 304 of the ADL standard (specification) that is used for producing resource and the count value (count) 306 that is included in the element in the resource.Those skilled in the art will be appreciated that other attribute also can be used to describe resource.
The dictionary resource comprises that it is mapped to UID value 312 with designation 310 by the clauses and subclauses of " Dictltem " type 308 signs.
Fig. 5 has described the DIF that DIF system 127 is observed, and it is used for according to one embodiment of the invention the dictionary resource being converted to the expression-form of compression.
Table 5 dictionary resource binary form
?Syntax? |
Number?ofbits |
Format? |
?DictionaryResource()?{ ResourceHeader() dlctlonarySize for(i=0;1<dictionarvSize;1++){?symbol } for(i=0;i<dictionarySize;1++){ uid }} |
32 32 64 |
uimsbf?uimsbf uimsbf |
DictionarySize: 32 of the mapping number of indication in the dictionary.
Symbol: with corresponding 32 place values of symbolic name that are included in the dictionary.
Uid: 64 UID of associated symbols.
Fig. 6 provides dictionary the Resources list of ADL definition, and has briefly described these resources.
Table 6 dictionary resource
BackEndServiceResource? |
Service features is mapped to the dictionary of UID |
ContextualAttibutesResource? |
The component specification name map of environment is arrived the dictionary of UID |
ConnectionResource? |
The return path that is described to response server or interactive network connects |
EventTableResource? |
The incident title is mapped to the dictionary of the UID of ActionListResources |
OPTResource? |
Be associated with item (item) and designation be mapped to the dictionary of UID |
VariableMapResource? |
To be present in the dictionary that whole name variables in the clauses and subclauses are mapped to UID |
?
Widget |
Be associated with member and with the dictionary of component specification name map to UID |
ContainerWidgetResource |
The member of other member is held in representative |
ImageWidgetResource |
Represent the member of display graphics |
TextEntryWidgetResource |
The member of text input is collected in representative from the beholder |
TextWidgeResource |
Represent the member of videotex |
VideoWidgetResource |
The member of the demonstration of motion video is being controlled in representative |
A. variable shines upon the dictionary resource
Variable mapping resource will be used for the mutual variable of specific ITV and be mapped to their initial UID value.Fig. 6 has illustrated exemplary according to an embodiment of the invention variable mapping resource XML document.For each clauses and subclauses, the resource file of illustrated explanation has identified the initial UID value 352 that is used for mutual variable 350, variable, and the optional literal title 354 (it is peeled off by the DIF system usually) that is used for readability purpose variable.According to one embodiment of present invention, exist one to be used for each mutual variable mapping resource.
B. characteristics of objects literary name allusion quotation resource
Characteristics of objects table (OPT) resource is to be mapped to the dictionary of corresponding UID with product or the designation that interrelates alternately.One section specific (for example, collection of TV plays, film or commercial advertisement) mutual set of medium is included in the product
The OPT resource generally comprises variable, its dynamically change such as, for example have the character string of new shares quotations.If value is updated, just may sends to change and order to upgrade the OPT value.Carrying out engine can the value of noticing be updated, and therefore upgrades them in the OPT resource.
As explanation as illustrated in Fig. 7, show the OPT element by " gensym " (or general symbol) 340 and the UID342 that lists reference to variable, UID342 or comprise the value of variable perhaps quotes the resource corresponding to variable.The feature that is associated with this resource further by symbol/UID to representing.
C. back-end services dictionary resource
The back-end services resources definition in the formal argument that is coupled to the remote function of moving on the response server (not shown) of client computer 106 (or signature).First dictionary item in the resource has defined the type of the value of returning from remote function, for example integer, character string, image or element vectors.The argument tabulation that second dictionary item is value, it is delivered to remote function, and wherein each UID in this row argument has passed on: (1) is when remote function required type of corresponding actual argument during by actual calling; And (2) are used to make up the default value of actual argument tabulation.According to an embodiment, use argument, backend resources is called as the part of action lists (action list).
D. connect the dictionary resource
The unordered list of connection resource is-symbol, each all is mapped to the return path parameter of UID value or resource symbology.Can on connection resource, carry out action.Such action is used for setting up with unloading under program control and is connected by the feature of connection resource is defined.Interactive application also can obtain the existing state that is connected that interrelates with connection resource.These connections can be that TCP or UDP socket, HTTP connect, and perhaps for example use such method such as ALOHA, the bag that transmits by the outer data channel of the band of QPSK modulation.It can be being connected or the special-purpose return data passage under the cable platform situation on modulator-demodulator and the telephone wire (for example, using together to family (DTH) platform with live).
Table 7 has been described an attribute list, and attribute is defined by connection resource according to an embodiment of the invention.
Table 7
Parameter |
Describe |
Grammer |
Server URL (Server URL) |
The standard URL of the server of this connection.This URL can describe the procotol (that is, http, udp, tcp, ALOHA or the like) that is used for server communication |
String |
Authentication URL (Authentication URL) |
The URL of the server on authentication machine top (that is, if there is the intermediate server that needs authenticating transactions to handle) |
String |
Telephone number (Phone Number) |
Default telephone number |
String |
Retries count value (Retry Count) |
The number of times of repeated call (do not comprise for the first time and attempting) |
Uint8 |
Standby number (Alternate Number) |
Backup phone number (when busy, sounding) |
String |
?
Parameter |
Describe |
Grammer |
Minimum baud rate (Minimum BaudRate) |
The minimum baud rate that connection should be attempted |
String? |
Maximum baud rate (Maximum BaudRate) |
The maximum baud rate that connection should be attempted |
String? |
Idle overtime (Idle Timeout) |
Hang up idle line second number afterwards |
uint8? |
Call out cost (Call Cost) |
Be shown to user representative and call out the character string of cost |
String? |
No dial tone message (No DialtoneMessage) |
When detecting less than dialing tone, modulator-demodulator is shown to user's character string |
String? |
Authentification failure message (Authentication Failure Message) |
When the authentification failure of machine top, be shown to user's character string |
String? |
E. member dictionary resource
According to an embodiment, the visual element of interactive application is defined as member dictionary resource.Member dictionary resource arrives UID with the component specification name map.
According to one embodiment of present invention, member has vision and behavior property simultaneously.How perceptual property domination member shows, and behavior property has been described action sequence, and it is based on showing time institute's event at these members and being performed.
Fig. 8 has described according to an embodiment of the invention, has been tabulated by a structure attribute of ADL definition.When the member structure was converted to binary format, DIF system 127 was converted to each parameter the binary numeral that is associated.In this respect, only required symbol need have the value that is used for member, and it is considered to corresponding to DIF.For example, the member title is a symbol that needs expression values.If non-required value does not offer symbol, carry out engine 133 and just use the default value that is stored in the memory 140.
Table 8
Parameter |
Describe |
Grammer |
Height (highly) |
Show as the member height of its parent (parent) height percentage (between 0 and 1) |
float? |
?
Parameter |
Describe |
Grammer |
Width (width) |
Show as the member width of its parent width percentage (between 0 and 1) |
float? |
X Position (X position) |
Show as the position of its parent width percentage (between 0 and 1) along the member upper left corner of trunnion axis |
float? |
Y Position (Y position) |
Show as the position of its parent height percentage (between 0 and 1) along the member upper left corner of vertical axes |
float? |
Z Order (Z order) |
About the drawing order of other daughter of parent container member, wherein be positioned at the daughter of tabulation back (promptly 3 or 4), can make the daughter that is positioned at the front of tabulating (promptly 0 or 1) become unclear potentially |
unit32? |
Event Table (event table) |
Comprise event table and reach when member has focus, the EventTableResource of their corresponding action tabulation that when incident takes place, will carry out |
ResourceUID? |
Initial Visibility (initial observability) |
When its parent member was given focus, whether the element of member was drawn |
Unit32 wherein 0=denys; 1=is |
Participate In Grid (participation grid) |
Whether member participates in the grid of its parent member |
boolean? |
Dictionary element: occur |
? |
? |
Parameter |
Describe |
Grammer |
Inactive Background Color (inactive background color) |
Background color when member does not have focus |
color? |
Active Background Color (movable background color) |
Member is movable but does not have background color when selected |
color? |
Inactive Selected Background Color (inactive selected background color) |
Selected but background color when no longer movable of member |
color? |
Active Selected Background Color (movable selected background color) |
Member is movable and the background color when being current selected element |
color? |
Armed Background Color (pending background color) |
The background color of member, it indicates this member selected |
color? |
?
Parameter |
Describe |
Grammer |
Inactive Border Color (inactive border color) |
Member border color when member does not have focus |
color? |
Active Border Color (movable border color) |
Member is movable but does not have member border color when selected |
color? |
Inactive Selected B orderColor (inactive selected border color) |
Selected but member border color when no longer movable of member |
color? |
Active Selected Border Color (movable selected border color) |
Member is movable and the member border color when being current selected element |
color? |
Armed Border Color (pending border color) |
The border color of member, it indicates this member selected |
color? |
Border Width (border width) |
The border width of representing with pixel |
unit32? |
Promote Own Arributes (pointing out the attribute of oneself) |
To quoting of the UID of ContextualAttributesResource, its with component specification name map of environment to UID |
ResourceUID? |
Vertical Contents Alignment (vertical content is arranged) |
Content along vertical axes is arranged |
Unit32 is a 0=left side wherein; 1=central authorities; The 2=right side |
Horizontal ContentsAlignment (horizontal content arrangement) |
Content along trunnion axis is arranged |
Unit32 is the 0=top wherein; 1=central authorities; The 2=bottom |
Horizontal Inset (level insertion) |
The horizontal edge of container contents (margin) |
unit32? |
Vertical Inset (the vertical insertion) |
The vertical edge of container contents |
unit32? |
List in the parameter of table 8, some attributes, for example title, UID, coordinate and size all are common for all members.The member subclass has specific to the attribute of they characteristics and element.The member subclass can be, for example image member, text member, textual entry member, video component, block member, " fault " member or container member.
The image definition of the component different images that represent by image resource, that be used for the various navigational states of member.The text definition of the component the different texts of representing by string resource, the text font represented by font resource, and the color that is used for the various different navigation states of member.The textual entry member comprises text member parameter, and has further defined the text of representing by string resource, text type, length or the like by beholder's input.Block definition of the component video cover the demonstration block.The fault member is used to display image and gives the user, with the appearance of indication interaction content during strengthening program.
It is how to be shown and the part that how shows as interaction content is come controlled that video component has been described motion image.Application author can be utilized video component to express the video size of convergent-divergent and position or fill the color of the screen that replaces video.Video component also can be used to be connected within the VOD storehouse, and makes it possible to switch between a plurality of video/audio streams.
Container member comprises the subclass of sub-member.Sub-member can be that perhaps they oneself are container members such as image or the such core resource of text.Fig. 8 has illustrated exemplary containers component resource XML file according to an embodiment of the invention.This resource has been indicated resource type 360 and has been used to produce the version 3 61 of the ADL standard of resource.Resource further comprises resource UID362, the resource name 364 of distributing to resource and the count value 366 that is included in the element in the resource.
Because the container member resource is the dictionary resource type, therefore the element that is included in the resource is identified by " Dictltem " type 368.In illustrative example, the multiple clauses and subclauses in the container member resource can be mapped to UID value 372 with designation 370.A this mapping is the mapping of " field list (list of fields) " parameter 374 to the UID 376 of list of fields resource, and this list of fields resource has comprised the tabulation of all daughter elements within the container.Then the field resource is mapped to environment attribute resource UID with the UID of sub-member, and it will describe in further detail hereinafter.
Container member allows member to be grouped into parent/daughter hierarchy (hierarchies).Container member plays the function of parent for other sub-member.Container member also can comprise other container member, makes it possible to produce meticulous member hierarchy.By this structure, sub-member can be inherited such as for example such feature of relative positioning feature based on their parent.Sub-member also can pass to incident their parent, and receiving as the fruit member does not so also have appointed incident, and it just can be returned to this incident its parent, and this parent can have the clauses and subclauses of this incident in its event table.
The navigation of the daughter element in the further specified containers of container member.The navigation of daughter element can use the navigation grid to show.The navigation grid allows to move to describe coming and going of a plurality of visualized elements with intuitive user interface design (intuitive user interface design) corresponding to mode.Usually when the video sequence that shows the visualized elements of to navigate, when illustrating the grid 400 of delegation four row in Fig. 9 A, the beholder will suppose that they can move around them with the order that visualized elements shows by using their " left side " and " right side " Long-distance Control button.Similarly, when the vertical series that shows such as such the navigated visualized elements of the grid 402 that illustrates four lines one row in Fig. 9 B, the beholder will suppose use they " on " and D score Long-distance Control button, they can move described element with the order of demonstration.In addition, when the navigated visualized elements sequence that shows more than row and row, when illustrating the grid 404 of two row two row in Fig. 9 C, the beholder will suppose by depressing D score Long-distance Control button, they can navigate to element 2 from element 1, and can navigate to element 3 from element 1 by depressing " right side " button.
Container member has defined a plurality of row 378 and/or the row 380 of its sub-member, so that this navigation framework can be used in the sub-member that can navigate.Container member is further with the UID 376 of navigating lists 374 parameter maps to navigation order resource, and this navigation order resource comprises the navigated daughter element tabulation with navigation order.Container member further comprises default focus 382 parameters of indication at navigating lists neutron element position, and it is given focus as default focus when member is drawn.According to an embodiment, member is exactly to have focus when they are clearly visible for the beholder, and they are subjected to the influence of beholder action, such as pressing the Long-distance Control button.
Member has the attribute of some navigational state, and whether relation and they or they container that described navigational state has been expressed they and beholder's interacting activity have focus.According to one embodiment of present invention, specify to change some component specification that comprises color, text and image, to indicate their state to the beholder.Can use these visual and combinations behavior state to describe navigation on the screen comprehensively.
Navigational state by ADL definition includes but not limited to: non-activity, activity and choose, activity and non-activity but selected state.According to an embodiment, inactive state is the basic state of all members.According to additional embodiments, designated if the feature of other state does not have, then inactive state feature slowly changes to other state.
When member had focus, it just was in activity and selected state, and when the beholder pressed the Long-distance Control key or starts some other input units 135, this member was affected.When member had focus, the parent of member was arranged or container, is added that other has any member of same parent, all is in their active state.Figure 10 A is the Snipping Tool that comprises the container member 420 of sub-member 422 and 424.Member 422 is in activity and selected state, and member 424 is in active state.
When first member is in activity and selected state, and the beholder moves to and when beginning to navigate in having another container of second member, this first member is converted to non-activity but selected state.Non-activity but the member chosen is the last member that had focus before the beholder shifts out this container.The container of first member and any member with same parent also are transformed into inactive state, as explanation as illustrated in Figure 10 B.
The member that the user chooses is transformed into armed state (armed state) immediately.This armed state provides such as for example producing to the beholder who selects and shows such immediate feedback.
F. environment attribute dictionary resource
The environment attribute resource is the dictionary resource that is mainly used to descriptor member in the environment of its parent member.For example, the height of sub-member and width can be described to the height of parent and the percentage of width respectively.As above described with reference to figure 8, the container member resource is listed its sub-member by list of fields parameter 374, and this list of fields parameter 374 is mapped to the list of fields resource, and next it be mapped to the UID of each sub-member the attribute resource of environment.The environment attribute resource has just had a feature list of quoting the parent of daughter.
The environment attribute structure makes the generation of interactive television assets (asset) and transmits more effective.For example, many resources with a lot of common traits can be used as an independent resource and realize, and difference are included in the environment attribute resource of each example of resource.For example, consider a ticktacktoe grid image component resource, it can be configured to " X " or " O " image.They do not have the individual images component resource of 9 different coordinates, have comprised all and present jointly with the ticktacktoe plate image component resource of behavioural characteristic and realize but can be used as independent one.The container member that is used for the ticktacktoe plate has 9 daughters in its list of fields, and each all is single ticktacktoe square chart as the resource UID of component resource to the varying environment attribute resource mapping that comprises different coordinates on the ticktacktoe plate.
Figure 11 has illustrated exemplary according to an embodiment of the invention XML file, and it is used for container member resource, list of fields resource and environment attribute resource.The container member resource 450 of illustrated explanation comprises the list of fields parameter of the UID 452 with corresponding list of fields resource 454.The list of fields resource 454 that is identified comprises UID 456,458, and it has identified the environment attribute resource of two sub-members.The environment attribute resource 460 of the first sub-member provides a row UID value 462, its with the x coordinate position of sub-member, y coordinate position, width, highly, initially observability, z interrelate in proper order or the like.
G. event table dictionary resource
Event table dictionary resource is mapped to the incident title UID of action lists resource.The event table resource is quoted by component resource, and the action that will carry out during the generation of listed incident when member has focus of indication.According to one embodiment of present invention, the peripheral operation excitation that incident is carried out from interactive TV program produces, such as for example pressing the such operation that expires of user's Long-distance Control button or timer.
Figure 12 has illustrated according to an embodiment of the invention schematically event table table resource XML file.In this illustrative example, the incident of listing is four numerical keys 500 that are positioned on the Long-distance Control, and it is mapped to the UID502 of corresponding actions tabulation.
2.UID vector resource
UID vector resource comprises only UID that itemizes.Element in UID vector resource is identified as " UIDReference " type.Various types of UID vector resources comprise action lists resource, argument tabulation resource and navigation order resource.
Table 9 has been described the DIF that DIF system 127 is observed, and system 127 is converted to UID vector resource the expression of compression according to one embodiment of present invention.
Table 9 UIDVector resource
?Syntax? |
Number?of?bits |
Format? |
?UIDVectorResource(){ ResourceHeader() UIDVectorSize for(i=0;i<UIDVectorSize;i++){ uid }} |
32 64 |
uimsbf uimsbf |
UIDVectorSize: 32 place values of the UID quantity in the sign UID vector resource.
Uid: 64 place values of designated value or UID.
A. action lists resource
The action lists resource is by the event table quoting resource of the UID that the incident title is mapped as the action lists resource.Next this event table resource is included in the component resource.
The action lists resource comprises the non-resource UID that identifies specific action, and action is being followed this specific action to its one or more operands of being operated.Operand can be UID, component specification, variable or the literal that is associated with member.The operation that action is carried out can be the action of branch operation (branching action), empty action, member action, variable operation and time correlation, or connecting moves (connection action).
Branch operation is converted to another action lists with execution under the control of interactive program.All branches stop the execution of current action lists immediately, and continue to carry out in the initial place of new action list.According to one embodiment of present invention, branch operation can be a branch operation with good conditionsi, and it depends on that the value of Boolean condition continues to carry out in two action lists.
Empty action is for not influence of interactive program.
The single feature of single variable or existing member is revised in the variable operation.Its calculates the simple expression comprise variable or feature, and with this as a result assignment give another variable or feature.
Figure 13 has illustrated according to an embodiment of the invention schematically action lists resource XML file.The action lists that illustrates has identified " assign " variable action 510, is following two symbol/UID thereafter to 512-518.Should " assign " value of the UID 514 that quoted of action first symbol 512 be set to the same value of the 2nd UID 518 that quoted with second symbol 516.
The action lists of illustrated explanation has also comprised " goto " branch operation 520, and it causes program to continue to carry out in the action lists that UID 522 is identified.
The relation between the member is revised in the member action, rather than operates the feature of revising single member by variable.For example, the member action can influence the relation of holding of member, determines that promptly which member comprises other member.In another example, the member action can determine which member has focus, and determines that therefore which member is the recipient of incident.
Table 10 provides the tabulation of member action and the sign indicating number that is associated by the DIF appointment, and this DIF is that DIF system 127 is observed according to an embodiment of the invention.
Table 10
Title |
Sign indicating number |
Describe |
ADD_WIDGET |
001
16 |
Increase by a member to container. |
DESTROY_WIDGET |
002
16 |
Remove member from its parent container, and discharge the resource that all are associated. |
Title |
Sign indicating number |
Describe |
REPLACE_WIDGET |
003
16 |
With the member in the container of new structural member replacement. |
HIDE_WIDGET |
004
16 |
Make member and all daughters thereof invisible and make it can not receive focus. |
SHOW_WIDGET |
005
16 |
Make member and all daughters thereof visible and make it can receive focus. |
GIVE_FOCUS |
006
16 |
Make specified member enter the focus storehouse. |
POP_FOCUS |
007
16 |
Member specified on the focus storehouse is popped, and the cancellation all subsequent manipulations. |
CALL |
008
16 |
Make specified item enter the focus storehouse, wait for value from this middle RETURN action. |
RETURN |
009
16 |
Make uppermost pop on the focus storehouse, and the cancellation all subsequent manipulations, the CALL action of wait then the return value of appointment is offered. |
POP_TO_ROOT |
00A
16 |
The whole contents of focus storehouse is popped, and make all component relations turn back to its initial condition. |
With the action of time correlation be the action of the contact time reading and setting a property.
Table 11 provides the tabulation with the action of time correlation and the sign indicating number that passes through the DIF appointment that is associated, and this DIF is that DIF system 127 is observed according to an embodiment of the invention.
Table 11
Operation |
Title |
Sign indicating number |
Describe |
y∏startTimer?x, t0=a1,tN=a2, data=a3? |
START_TIMER |
A01
16 |
Timer process x and variable y and initial timeout value a1, timeout interval a2 and optional timer data a3 are interrelated |
stopTimer?y? |
Stop_TIMER? |
A02
16 |
Dwell time process y |
?
a∏ getRemainingTimer Time?y |
GET_REMAINING_ TIMER_TIME |
A03
16 |
Before the next overtime incident of timer was come, a was set to the remaining time (unit millisecond) among the timer variable y |
y∏ExpiredTimer? |
GET_EXPIRED_ TIMER? |
A04
16 |
Y be set be the example of timer of expiring |
y∏ ExpiredTimerData? |
GET_EXPIRED_ TIMER_DATA? |
A05
16 |
The data of y for being associated with the timer that expires are set |
y∏ ApplicationRunTime? |
GET_APPLICATION RUN_TIME? |
A06
16 |
Y (unit millisecond) is set to the self-application program begins back institute elapsed time |
y∏DateTimeString? |
GET_DATE_TIME_S TRING? |
A07
16 |
Y is set to current date and time |
Connecting moves be used under interactive program control, being provided with, destroying or management with unload from carry out engine context to external server, by the connection that is connected the dictionary resources definition.Interactive program also can obtain the existing state that is connected that is associated with connection resource.
The tabulation of passing through the DIF designated code that table 12 provides a connecting moves and has been associated, this DIF are that DIF system 127 is observed according to an embodiment of the invention.
Table 12
Operation |
Title |
Sign indicating number |
Describe |
Connect |
? |
? |
? |
connect?c? |
CONNECT? |
B01
16 |
The specified new connection of the resource that connects c to server |
shutdown?c? |
SHUTDOWN? |
B02
16 |
Close the specified connection of connection resource c |
?
S<-?getstatus?c? |
GETSTATUS? |
B03
16 |
Obtain the state of the specified connection of connection resource c |
On?error?c,?a? |
ON_ERROR? |
B04
16 |
Whenever just carry out action lists a as long as detect mistake in the operation on connection resource c |
B. argument tabulation resource
One row scalar non-resource UID value that argument has been tabulated resources definition, it serves as argument for another resource.The exemplary resources of quoting argument tabulation resource is a rear end dictionary resource.The tabulation of argument in the dictionary resource of rear end has defined, for example, a row argument, it transmits carrying out engine 133 and run between the remote function of response server.According to an embodiment, each UID in this row argument transmits type and default value, described type remote function during by actual calling corresponding actual argument required, and described default value is used to make up actual argument tabulation.
Figure 14 has illustrated the exemplary XML file of back-end services resource and argument tabulation resource according to an embodiment of the invention.Back-end services resource 600 comprises return type 602, and it is mapped to the UID 604 of the resource of the value type that definition returned by remote function.The back-end services resource also comprises argument tabulation 606, and it is mapped to the UID 608 of argument tabulation resource 610.Argument tabulation resource 612 has defined two scalar UID values 614,616, and it is delivered to remote function.
C. navigation order resource
Navigation order resource is quoted by container member, and comprises that row have the sub-member that navigates of its navigation order.According to one embodiment of present invention, determined the order that sub-member will be moved around in the order of quoting the UID within the navigation order resource of sub-member.
Figure 15 has illustrated the exemplary XML file of container member resource and navigation order resource according to an embodiment of the invention.Container member resource 650 comprises the navigating lists of the UID 654 that is mapped to navigation order resource 654.This navigation order resource 654 has been listed the UID 658 of the sub-member within container, and it means and can be navigated by the user.The order of UID 658 within navigation order resource 656 has been determined the order that member will be moved around.
3.UID to the vector resource
It is right that UID has listed UID to the vector resource, and comprise the element with " UIDReferencePair " type.The list of fields resource is the type of UID to the vector resource.
Figure 16 has illustrated exemplary fields tabulation resource XML file according to an embodiment of the invention.This list of fields interrelates the UID 700 and the UID 702 of each member in the parent container, UID 702 referencing environment attribute resources.The environment attribute resource description attribute of the sub-member relevant with this parent container.
Table 13 has been described the DIF that DIF system 127 is according to an embodiment of the invention observed, and system 127 is used for UID is converted to the vector resource expression of compression.
Table 13 UID is to the vector resource
Syntax? |
Number?of?bits |
Format |
UIDPairVectorResource(){ ResourceHeader() UlDPairVectorSize for(i=0;i<UIDPairVecforSize;1++){ uidFirst }for(i=0;i<UIDPairVectorSize;i++){ uidSecond } } |
32 64 64 |
uimsbf uimsbf uimsbf |
UIDPairVectorSize: 32 place values that are identified at UID quantity among the UIDPairVectorResource.
UidFirst: 64 place values of pointing out first value of every centering or UID.
UidSecond: 64 place values of pointing out second value of every centering or UID.
4. image, character string and font resource
According to one embodiment of present invention, image, character string and font resource are the base configurations of interactive television applications.Font resource is quoted the font that resides on the client computer 106, and operation is used for the execution engine 133 of videotex character string.
Image resource has been described image, and comprises view data.Each image is made up of the rectangular array of pixel.According to one embodiment of present invention, each pixel comprises 8 place values [α, R, G, B], and it is Alpha's (opacity), the red, green and blue component of representative color respectively, is mark [α/255, R/255, G/255, B/255].Alpha's component is stored in the highest order of octet, and blue component is stored in the lowest order of octet.Pixel is represented with the scan line order from left to right.
String resource has comprised text-string, and it has corresponding to the formatted message that can draw in the text member.According to one embodiment of present invention, the HTML(Hypertext Markup Language) form can be used to describe such as for example format and the such character string information of locating information.Under this example, client computer 106 has comprised the HTML drawing engine that is used for rendering text.
C. order
According to one embodiment of present invention, order allows audiovisual material to strengthen by interaction content, the incident synchronised in this interaction content and the program.In this respect, demanded storage and is obtained by carrying out engine 133 retrievals when the time started of order arrives in event queue 138.The time started of order calculated based on the time that time source 136 is provided.
1. eject command
Eject command sends indication to show the member that is associated in time of appointment, with duration of appointment to carrying out engine, and it removes from display after this duration.According to an embodiment, member shows that at the top of existing rootkey just described rootkey always can be accessed, such as for example static menu.
Table 14 provides according to an embodiment of the invention, by a row eject command element of ADL definition.
Table 14
Attribute |
Describe |
Grammer |
StartCode |
When resource should be shown, the time started sign indicating number (representing) in the product of " timing " with frame.(optionally) |
" a
1: a
2: a
3.a
4" 0≤a wherein
1≤ 24 0≤a
2≤ 60 0≤a
3≤ 60 0≤a
4≤ 30 a
1, a
2, a
3, a
4Be uint8
|
Uid |
UID with the member that is shown |
ResourceUID |
Platform (platform) |
Special target platform (optionally) |
String (character string) |
Duration (duration) |
The duration that member should show on screen (representing) with frame |
Uint32 |
?
Example |
Be the example of PopUpCommand below:<popUpCommand startCode="01:04:15.00"uid="E200000000006739"platform="Platform:Common"duration="420"/></PopUpCommand> |
Table 15 has been described the DIF that DIF system 127 is according to an embodiment of the invention observed, and DIF system 127 is used for eject command is converted to compressed format.
Table 15 eject command
?Syntax? |
Number?of?bits |
Format? |
?PopUpCornmand(){ CommandHeader() duration optUID?} |
32 64 |
uimsbf uimsbf |
Duration: 32 place values of representing to eject the duration according to frame.
OptUID: in preset time (in the order header), be superimposed upon mutual 64 UIDs of root on mutual with the given duration.
Table 16 has been described the DIF that DIF system 127 is according to an embodiment of the invention observed, and DIF system 127 is used for producing the order header.
Table 16
?Syntax? |
Number?of?bits |
Format? |
?CommandHeader(){ commandType reserved1 reserved2 reserved3 startTime} |
8 8 8 8 32 |
uimsbf uimsbf uimsbf uimsbf uimsbf |
CommandType: 8 place values of marking command.
Reserved: be standard reservation in future, and be set to complete " 0 " position.
StartTime:32 bit time benchmark, fill order at this moment.
Explain the byte of following after header according to CommandType by resolving execution engine 133.The next one 4 byte boundaries after the beginning of the next object in byte stream and order data finish align.
2. make the root order
Make the root order and send indication, replace rootkey by the new rootkey that UID was quoted to adopt to carrying out engine.
Table 17 provides according to an embodiment of the invention, has made the element of root order by the defined row of ADL.
Table 17
Attribute |
Describe |
Grammer |
StartCode |
When should the be manufactured new rootkey of item, the time started sign indicating number (representing) in " timing " product with frame. |
" a
1: a
2: a
3.a
4" 0≤a wherein
1≤ 24 0≤a
2≤ 60 0≤a
3≤ 60 0≤a
4≤ 30 a
1, a
2, a
3, a
4Be uint8
|
Uid |
The UID of new rootkey |
ResourceUID |
Platform (platform) |
Special target platform (optionally) |
String (character string) |
EndCode |
When item should no longer be rootkey, the concluding time sign indicating number (representing) in " timing " product with frame. |
" a
1: a
2: a
3.a
4" 0≤a wherein
1≤ 24 0≤a
2≤ 60 0≤a
3≤ 60 0≤a
4≤ 30 a
1, a
2, a
3, a
4Be uint8
|
Example |
|
|
Below be the example of MakeRootCommand:<MakeRootCommandstart Code=" 00:05:15.00 " uid=" E200000000007039 " platform=" Platform:Common "/</MakeRootCommand 〉 |
|
|
Table 18 has been described the DIF that DIF system 127 is according to an embodiment of the invention observed, and DIF system 127 is used for manufacturing root command conversion is compressed format.
Table 18
?Syntax? |
Number?of?bits |
Format? |
?MakeRootCommand(){ CommandHeader() expirationTime optUID } |
32 64 |
uimsbf uimsbf |
ExpirationTime: the overdue 32 bit time benchmark of root.
OptUID: order in the header given time, will be set to 64 mutual UID of root.
3. change order
Change order and send indication, with the UID of " gensym " clauses and subclauses of changing the appointment in project OPT resource by new UID to carrying out engine.This order can be used to upgrade such as for example comprising the such dynamic value of recent titles, perhaps is used for upgrading being set at the value that the preassigned moment changes, such as for example such specific character string of the lyrics in the interactive mode Karaoke is used.
Table 19 provides according to an embodiment of the invention, a series of variance command elements by the ADL definition.
Table 19
Attribute |
Describe |
Grammer |
StartCode |
When OPT should be updated, the time started sign indicating number (representing) in " timing " product with frame.(optionally) |
" a
1: a
2: a
3.a
4" 0≤a wherein
1≤ 24 0≤a
2≤ 60 0≤a
3≤ 60 0≤a
4≤ 30; a
1, a
2, a
3, a
4Be uint8
|
Changedictref |
UID with OPTResource of the clauses and subclauses that will be updated |
ResourceUID |
Gensym |
Among the OPTResource with the title of the clauses and subclauses that are updated |
String (character string) |
Newuidref |
The UID of the new resources that interrelate with clauses and subclauses |
ResourceUID |
Example |
|
|
?
Be the example of ChangeCommand below:<changeCommand startCode="00:00:38.01"changedictref="E00210000003F2D7"gansym="1000099"newuidref="E002100000043DB0"></ChangeCommand> |
Table 20 has been described the DIF that DIF system 127 is according to an embodiment of the invention observed, and DIF system 127 is used for the change command conversion is expressed for compression.
Table 20
?Syntax? |
Numberofbits |
?Format? |
?ChangeCommand(){ CommandHeader() optUID symbol newUID } |
64 32 64 |
uimsbf?uimsbf?uimsbf |
OptUID: 64 UID of the OPT resource of given time change in the order header.
Symbol: with 32 place values that designation interrelates, this designation is within the OPT that its UID becomes new UID.
NewUID: 64 new UID values of symbol.
4. telegram end object command
The telegram end order is sent indication to carrying out engine, will being appointed as the telegram end object by the specific resources that its UID was identified, and shows this resource, is loaded fully up to main application program or root track.According to one embodiment of present invention, telegram end is to liking less relatively in size resource, often be broadcasted, as introducing or telegram end just is shown when being received, the remainder (usually greatly greater than the afterbody object) of root track is loaded in the memory simultaneously at one.
Table 21 provides a row telegram end command element that is defined by ADL according to an embodiment of the invention.
Table 21
Attribute |
Describe |
Grammer |
uid? |
UID with the resource of given " TrailerObject " state |
?ResourceUID? |
Example |
? |
? |
Be the example of TrailerObjectCommand below:<trailerObjectCommand uid="0006000000169152"></TrailerObjectCommand> |
? |
? |
Table 22 has been described the DIF that DIF system 127 is according to an embodiment of the invention observed, and DIF system 127 is used for the telegram end command conversion is expressed for compression.
Table 22 TrailerObject order
?Syntax? |
Number?of?bits |
Format? |
?TraiierObjectCommand(){ CommandHeader() optUID} |
64 |
uimsbf? |
OptUID: 64 the mutual UID that when loading primary application program, make root.
The advantage of the ADL of embodiment described above is according to the present invention: specific although the established data structure can be designated as platform, but ADL is a platform independence, and this allows the ITV application program using this language to produce to be used for different platform by independent creation instrument.
Allow by producing new data configuration or existing structure is expanded the kernel data structure type is combined simply by kernel data structure type (that is, dictionary, UID vector, UID are to vector, image, character string, and font) that ADL provided.For example, one or more symbols can be added to the dictionary resource to define new interactive object.The generation of neotectonics or expansion can be finished under the situation that does not change the input parsing, resolves to the conversion and the compressed format of compressed format.In addition, the kernel data structure type of restricted number needs littler memory capacity with respect to the system of a large amount of specialized purpose-build.
In the prior art, add the new object definition of functional general requirement change within user agent (agent), perhaps brand-new object of requirements definition to interactive object.This just requires to increase new structure by changing existing structure (and the follow-up version number that changes) or defining new structure to language.Next this may cause in code base the change in a lot of zones, such as for example XML resolve, format, data compression on the user agent or the like.In addition, by using high commissioner also to be limited to the scope that this object adapts to (tailor) with functional scope of the incompatible expression of fixed set of sex object.
ADL according to the foregoing description also provides the element structure with mother-child relationship (MCR), and this allows the succession to attribute and/or behavior, and can reuse data element, thereby has reduced the demand to transmission bandwidth and memory space.
The structure that uses ADL to produce also has length variable, and only comprises the different value of default value of preserving with client computer.This and prior art structure have formed striking contrast: the prior art structure generally has regular length, and has comprised whole attributes of structure, causes using more storage.In the prior art, to the arbitrarily renewal of some or cover and generally need to retransmit whole structure in these attributes.
Structure by the ADL definition is quoted by UID, and the UID indication structure is stored in memory location wherein.This and prior art are different with the tabulating method of storage in having the table of row and column.Because row and column has fixing length, and image and other data type change in size, therefore generally need to fill to adapt to large-sized image and data, this has wasted bandwidth and memory resource.
ADL according to various embodiments also allows to carry out the effective memory management by the timestamp that expires, and this expiration time stabs has indicated the resource that is associated when can discharge from memory.The high dynamic performance of given enhancing TV stabs mark for resource adds expiration time, and just allow to carry out engine 133 and manage its memory 140 effectively, and the resource vacating space for entering.
In addition, the module structure permission object that is provided by ADL is that specific platform is got together.Be positioned at affiliated application program, standard summary and the platform (if applicable words) of the rapid identification module content of header information that module begins to locate, it allows to carry out engine 133 and promptly estimates the correlation that enters module, and ignores it when not having correlation.
Standard summary specific modules method helps standard summary specific modules is divided into a plurality of standard summary ID, wherein all are carried out engine and can at first be adjusted to the standard summary ID that comprises the total module of all standard summaries, and can next be adjusted to the standard summary ID that comprises for its standard summary specific modules.This help has reduced the load time of application program, this be because: carrying out before engine arrives relative module, it no longer need be waited for when module incoherent with it arrives, if and carry out engine regulation to the specific stream of standard summary, it just has the ability to begin loading data immediately, does not need to wait for whether evaluating data has correlation.
Although the present invention is described with certain embodiments, the variation that those skilled in the art design the embodiment that describes is easy, and this never departs from the scope of the present invention and spirit.In addition, for the technical staff in various fields, the solution for other task and the modification of other application have also been hinted in this present invention itself.By claims, the applicant plans to cover whole purposes of the present invention and to these changes and improvements of the embodiment of the invention, and does not depart from the scope of the present invention and spirit, the embodiment of the invention of selection at this to be disclosed as purpose.Therefore, existing embodiment of the present invention should be understood that illustrative rather than restrictive aspect all, and scope of the present invention is by claims and their equivalents, rather than aforesaid specification limits.