[go: up one dir, main page]

WO2008095800A1 - Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants - Google Patents

Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants Download PDF

Info

Publication number
WO2008095800A1
WO2008095800A1 PCT/EP2008/050906 EP2008050906W WO2008095800A1 WO 2008095800 A1 WO2008095800 A1 WO 2008095800A1 EP 2008050906 W EP2008050906 W EP 2008050906W WO 2008095800 A1 WO2008095800 A1 WO 2008095800A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
terminal
server
content
program
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/EP2008/050906
Other languages
English (en)
Inventor
Ronan Kerebel
Elouan Le Coq
Jean-Claude Dufourd
Cédric Gegout
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Streamezzo SA
Original Assignee
Streamezzo SA
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 Streamezzo SA filed Critical Streamezzo SA
Priority to US12/525,638 priority Critical patent/US9560401B2/en
Priority to EP08708230A priority patent/EP2116056A1/fr
Priority to CN200880003829XA priority patent/CN101617536B/zh
Publication of WO2008095800A1 publication Critical patent/WO2008095800A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25841Management of client data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • 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
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25825Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25858Management of client data involving client software characteristics, e.g. OS identifier
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • 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/85406Content authoring involving a specific file format, e.g. MP4 format
    • 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
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the field of the invention is that of the creation and transmission of multimedia content on a radiocommunication terminal, for example of the radiotelephone type, PDA (in English "Personal Digital Assistant", in French “ personal digital assistant "), laptop, etc.
  • Multimedia content includes a set consisting of at least one animated graphic scene, also called multimedia scene, and a series of commands to change this scene from one state to another.
  • a multimedia scene corresponds in particular to the arrangement of a set of graphic objects in time and in space, with which the user of the radiocommunication terminal can interact. This arrangement is described using a vocabulary dependent on the scene description format.
  • the scene vocabulary can be used in textual descriptions or in binary descriptions.
  • vocabulary words are the names of the elements used in the description.
  • the words are the binary objects used in the description.
  • the invention finds applications in all fields requiring a representation of the signals in the form of a spatio-temporal arrangement of graphic objects, with interactivity.
  • the invention applies to the already known graphic scene description formats such as the MPEG-4 / BIFS (in English “Binary Format Scene", in French “binary format for stage”), the SVG (in English " Scalable
  • Compiler-type devices that, from an assembly of symbols, keywords, and rules (the., A computer language), describe instructions to an execution environment that will build equivalent binary content
  • Dynamic Publishing Engine type devices that, from documents, interpret them to send content to a user.
  • a disadvantage of this technique lies in the fact that it does not allow the author to translate a set of graphic scenes into executable code that will generate content according to the execution context. This technique is therefore not suitable for generating dynamic content.
  • the most advanced technique defines how a Dynamic Publishing Engine device interprets a document and constructs content for direct distribution, that is, in the format used for the scene description part of the original document. In the examples below, such a format is for example an XML or HTML text format rid of the scripts to be executed on the server.
  • Server Pages technologies eg, Active Server Pages TM or XML Server Pages
  • TM or XML Server Pages provide a server-based scripting environment for creating dynamic and interactive server applications for the Web.
  • the author can associate XML or HTML pages and script commands to create interactive web pages or powerful web-based applications.
  • Most active page technologies ASP, PHP, (7) rely on an interpreted code, the execution of which requires a lot of resources to provide the answer.
  • JSP Java Server Pages
  • the method allows an author to validate a dynamic service, ie a set of dynamic contents and navigation rules that connect said dynamic contents, before deploying this service. This is called "a priori validation”.
  • the method also allows an author to ensure optimal operation of the executable code representing a dynamic service by reducing the weight of the intermediate steps, and in particular by reducing the volume of strings characters to be processed for the execution of this service.
  • the method makes it possible to obtain a gain in expressivity on the creation of contents, because the author of the service benefits from an integrated mechanism allowing him to deal with Simultaneous presentation of the contents, interpretation of the instructions executed within the execution environment and generation of these contents in a dynamic mode.
  • the method makes it possible to obtain a reduction in the memory and the use of the computing resources in the execution of a dynamic service by not storing in memory and in n executing only the generated executable code. Unlike traditional publishing engines, interpreting documents in executable code is not necessary during the execution.
  • the method makes it possible to obtain a gain in the implementation of the publication system: the use of a device integrating a Compiler, an Encoder and a Publication Engine simplifies the process of editing said content. This ensures that the author has an integrated environment, allowing him in a single interface to generate dynamic services and validate, without deployment on a server platform, the complexity, consistency and operation of these services. .
  • the method also makes it possible to obtain compatibility with conventional execution environments, being able to generate executable code compatible with any compatible executing environment ( The., JAVA executable code on J2EE platform).
  • the method also makes it possible to add in the description extensions incompatible with the final language. These extensions are intended to optimize the service or one of the service phases, and are removed by the binary generation phase. This important flexibility makes it possible to express simply for the author useful information to optimize the execution of the code generated during the execution of the service: for example server cache instructions, factorization of a subset of scenes included in several other scenes.
  • the method makes it possible to implement fine management of the media referenced by the service, thanks to the systematic interpretation of all parts of the service, including references to said media.
  • the method makes it possible to increase the number of detectable design errors during the design phase and thus allows a better prior validation of the services: during the phase transformation of the textual description of the dynamic service into executable code, the two parts of the text description, to the scene description and the program instructions, are translated and merged into a single description that allows a static and global analysis of the links between the two parts, whereas for the existing techniques, the only way to check these links is to execute a large number of content queries in the usage environment.
  • the techniques used in the method according to at least one embodiment of the invention make it possible to reduce the development costs by not requiring advanced programming skills to design the services.
  • a generic rendering engine can be tested on each terminal type regardless of the number of services that will use this generic rendering engine.
  • such a method comprises: a preliminary phase of preparation of said service, comprising:
  • the method according to the invention makes it possible to transmit a binary content representative of a service to a terminal, in response to a request from the latter, having previously carried out a service preparation phase.
  • This preparation phase consists firstly in creating the service in question, via a service creator, and in providing this service to the transmission server.
  • This provisioning step consists in making available to the transmission server a service, either "created internally” at the server itself, in a service design environment, or created in a design environment external to the server. , like a computer or server dedicated specifically to the creation of services.
  • the provisioning step consists in transmitting, within the same server, a service, and in the second case, this step consists in providing the server with a service created "externally" to this service. server.
  • the created service is in the form of a textual description comprising a portion of text and at least one program instruction.
  • This translation step also takes place in the transmission server.
  • This phase of preparation of the service, prior to transmission, allows a considerable time saving in the processing of the response to the request of the terminal, the service is already pre-processed and "ready" to be executed, in the form of a service program. Moreover, the creation of this service program makes it possible, in the next execution step, to dynamically generate binary data, without going through a language such as XML, which saves significantly the memory necessary for the transmission. representative content of a service.
  • the transmission phase of the representative content of a service itself comprises several steps triggered upon receipt of a request from the destination terminal of the content.
  • the first step is first to execute, on the server, the service program, delivering, or generating, and content in the form of binary data.
  • said step of executing said service program on said server comprises a sub-step of identifying an execution context associated with said terminal, providing at least one characteristic of said terminal, which is taken into account for the generation of said binary data transmitted to said terminal.
  • the transmission server will take into account certain characteristics of the terminal, for example contained in the request issued by it, to create a runtime environment of the service program, and thus tailor the execution to the terminal in question.
  • This step of identifying an execution context thus makes it possible to optimize the execution step of the service program, taking into account characteristics of the terminal.
  • the server will also consider service-related features to create this execution context.
  • said translation and execution steps implement a same programming interface, using a scene vocabulary used in said textual description of said service.
  • the translation step will notably consider that the textual description of the service is in accordance with a scene vocabulary.
  • the terms belonging to this vocabulary will be used to translate text into instructions via a programming interface.
  • the translation step will use a dictionary including the terms of the scene vocabulary and the corresponding instructions.
  • said scene vocabulary comprises elements referring to at least one type of media.
  • the scene vocabulary makes it possible to refer, for example, to audio or video.
  • at least one of said program instructions relates to at least one multimedia object.
  • the program instructions may make it possible to create a video object (for example a "clip"), or an audio object (for example a musical interlude or "jingle").
  • a video object for example a "clip”
  • an audio object for example a musical interlude or "jingle”
  • at least one of said program instructions relates to at least one address pointing to at least one multimedia object or other content.
  • program instructions make it possible to use multimedia objects (audio, video, etc.) or contents that are not described directly in the service, but that are accessible via addresses, for example an "url”.
  • said transmission step comprises a step of multiplexing said binary data of said content, at the output of said server, with binary data generated independently of said content.
  • the method according to the invention enables the server to transmit to the terminal a content representative of a service, in which other data has been integrated, for example audio or video data.
  • This binary data is multiplexed with the service data to form a "complete" content to be transmitted to the terminal.
  • said transmission and execution steps are performed in parallel so that said binary data are transmitted to the terminal as and when they are generated.
  • said preliminary phase of preparation of said service comprises a step of checking said scene vocabulary before said translation step, verifying that said portion of text corresponds to elements of said scene vocabulary.
  • this control step will validate that the service was created respecting the selected scene vocabulary, and will facilitate the translation of the textual description of the service, either by eliminating the elements of the description that do not conform to the vocabularies, or correcting them.
  • said preliminary phase of preparation of said service comprises a step of checking said program instructions verifying that the said program instruction or instructions correspond to computer program instructions directly convertible into binary code sequences. able to be executed by said server.
  • This control step makes it possible to verify that the program instructions present in the description of the service comply with executable instructions per server. Again, this step facilitates the translation step.
  • said preliminary phase for preparing said service comprises a step of transforming said text portion into program instructions using said same programming interface.
  • this transformation step uses the same programming interface that is used in the translation and execution steps.
  • said preliminary phase of preparation of said service comprises a consistency check step verifying that said program instructions of said description are consistent with those from said transformation step.
  • the method can verify that the instructions do not use elements not present in the textual description for example.
  • this step can verify that the transformation step has generated instructions that conform to the instructions that are present when the service is created.
  • the invention also relates to a device for transmitting at least one representative content of a service, from a server to a terminal.
  • a device for transmitting at least one representative content of a service, from a server to a terminal.
  • a device comprises: prior means for preparing said service, comprising: means for receiving said service provided by a creator in the form of a textual description comprising a portion of text and at least one program instruction ; means for translating, into a compilation environment, said textual description of said service into a service program, comprising executable instructions; means for transmitting said content to said terminal, upon receipt of a request from the latter, comprising: means for executing said service program on said server delivering said content in the form of binary data; means for transmitting said binary data to said terminal.
  • a device is able to implement the transmission method according to the invention, as described above.
  • Such a device is for example a service server capable of transmitting content representative of a service to a terminal.
  • the invention also relates to a computer program product downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor, characterized in that it comprises program code instructions for the implementation of the transmission method as described above. 5. List of figures
  • FIG. 1 illustrates an exemplary design of a dynamic service according to one embodiment of the invention
  • FIG. 2 illustrates an exemplary transmission of a dynamic service designed according to the example of FIG. 1, according to one particular embodiment of the invention
  • Figure 3 shows the different steps of the method according to a particular embodiment of the invention
  • the general principle of the invention consists in describing a method of transforming a description of multimedia scenes into system code, the execution of this system code then generating binary multimedia data into a content still called service dynamic.
  • the method of the invention includes providing an author with tools for generating executable code directly understandable by a computer system based on a scene description. Execution of this code will then produce a set of contents that will depend on the execution context of said code, that is to say both the service and the client requesting to use this service. These contents are said to be dynamic.
  • the various steps of the method are presented according to a particular embodiment of the invention, with reference to FIG.
  • the different steps can be grouped into two phases: a preparation phase 31; a transmission phase 32.
  • the first preparation phase 31 comprises two steps, making it possible to generate a service program.
  • the first step 311 of providing a service is to design and create a service, intended to be used by a terminal having made the request.
  • This step can be performed internally in the transmission server, or externally.
  • a service represented in the form of a textual description, comprising a portion of text and at least one program instruction, is made available to the server for the second step 312 of translating this service into one. service program.
  • This step consists in transforming the textual description of the service into instructions executable by the server, in the form of a service program.
  • the second transmission phase 32 also comprises two steps, making it possible, in response to a request from a terminal, to provide a binary content and to transmit it to the terminal.
  • the first step 321 of executing the service program is to transform the service program into binary data by executing it. These binary data form the content to be transmitted to the terminal, in a second transmission step 322.
  • an author tool named Studio (11) creates and / or acts on a textual description of dynamic service (12).
  • the description of said dynamic service (12) is then compiled by an Interpreter (13), which is based on a Dictionary (14) of correspondence between the elements declared in the dynamic service description and the corresponding program instructions.
  • the result of the compilation is a dynamic service (15) in executable code (16).
  • FIG. 2 represents the transmission step of a dynamic service designed as described above, according to a particular embodiment of the invention.
  • the executable code (16) of the dynamic service (15) is placed in a Service Desk environment (23).
  • the terminal (20) sends a request (21) of content to the Service Server (23).
  • the Service Server (23) creates an execution context (24) for the client and the requested service.
  • the executable code (16) of the dynamic service (15) is executed to generate the response (22), which is then transmitted to the terminal (20) by the server (23).
  • the author also expresses navigation rules allowing a user to navigate between the different presentations.
  • dynamic service The set of dynamic contents and the navigation rules that connect them are hereinafter referred to as dynamic service.
  • the form of the dynamic service description (12) in the design stage is a textual form, in which program instructions are inserted into a declarative textual description using a LASeR type vocabulary.
  • An interpreter tool in charge in particular of the binary generation of the textual description of the dynamic contents, takes as input the graphic elements, the graphic layouts and the navigation rules expressed by the author.
  • This Interpreter (13) constructs a set of executable codes (16), also called binary data, on the basis of a Dictionary of Instructions and Rules (14), also called vocabulary, which allows: to translate an elementary graphic element in a set of elementary commands interpreted and executed by the execution environment of the Service Server (23) of FIG. 2, to apply rules for verifying the coherence of the description at a semantic level, also called the step of vocabulary control.
  • the textual description of dynamic service (12) is subjected to a text editing step by a service designer wishing to overcome the limitations associated with the Studio author tool. (11). 6.2.3 Third embodiment
  • the textual description of dynamic service (12) consists of a description LASeR ML
  • LASeR Markup Language that is, declaring the contents of an interactive multimedia scene in LASeR format, with LASeR scene elements and attributes and LASeR scene change controls.
  • Java statements can refer to: named elements of the scene's LASeR description, that is, elements with an "id" attribute whose value is the name of the string element ; - elements encompassing the place where the said instructions are inserted
  • Java Java
  • methods belonging to a library of specific functions for creating LASeR elements, so as to be able, within these instructions, to create attributes or elements and to insert them at any relevant place in the scene methods belonging to a library of generic functions useful for designing dynamic multimedia services on a variety of terminals, including: o recovering resources from remote servers (encapsulated HTTP client), o manipulating resources stored in cache (base of data), o resize / transcode images on said service server, o obtain information on the terminal by decoding the capacity information of the terminal. methods belonging to any library specific to the needs of a particular service, which library must then be present in the service execution environment.
  • the first box is for package imports containing all the necessary libraries, the second box is for an object to get properties, the third is for background color.
  • the Interpreter tool (13) consists of: an XML parser that creates a DOM representation ("Document Object Model" for the "Document Object Model”) of the LASeR part from the scene ; a Java pre-parser that isolates and analyzes the parts of instructions from program in the service description; a transformation that analyzes the DOM representation of the LASeR part of the scene and translates each attribute and each element into a sequence of program instructions; a step of merging the translated program instructions of the LASeR description and the program instructions possibly added to the service description by the designer, or the author; compiling the program instructions and editing links to obtain the executable code (16) of the dynamic service (15).
  • Linked libraries implement scene element creation interfaces, query interfaces, and other interfaces specifically required for the service being designed.
  • the Interpreter tool (13) consists of: an XML parser called “on the fly” or SAX ("Simple API for XML" for
  • the Terminal (20) requests content from a Service Server (23) following an interaction of a user generating a request (21).
  • the service server (23) selects the execution environment, defines the execution context (24) and executes the executable code (16), ie the different instructions contained in this code.
  • a service logic ie a logic corresponding to the specific operation of a service
  • - Management logic of the type of the client terminal (20) with possible adaptation of the content of the scene description according to the characteristics of said terminal (20)
  • management logic for the external resources required for the service such as access to external databases
  • - a media management logic used by the service such as for example the respect of a graphic charter, requiring the use of visual or audio logos
  • the execution therefore follows a logic of binary generation of the scene description resulting from the consideration of the different logics above.
  • the server then sends a content to the terminal (20) which describes the spatio-temporal arrangement of the graphic objects, which is the answer.
  • a multiplexing phase follows the binary generation phase.
  • a set of binary scene description packets are generated, and a set of packets containing frames media, usually audio or video, are sent in the same communication channel.
  • This multiplexing phase contains a step of planning the sending of the packets that have been entrusted to the multiplexer, then a step of interleaving the packets of the different types in an optimal manner for the user experience.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

La présente invention concerne un procédé de transmission d'au moins un contenu représentatif d'un service, depuis un serveur vers un terminal. Un tel procédé comprend : une phase préalable de préparation dudit service, comprenant : une étape de fourniture dudit service par un créateur sous la forme d'une description textuelle comprenant une partie de texte et au moins une instruction de programme; une étape de traduction, dans un environnement de compilation, de ladite description textuelle dudit service en un programme de service, comprenant des instructions exécutables; une phase de transmission dudit contenu vers ledit terminal, à réception d'une requête de ce dernier, comprenant : une étape d'exécution dudit programme de service sur ledit serveur, délivrant ledit contenu sous la forme de données binaires; une étape de transmission desdites données binaires vers ledit terminal.

Description

Procédé de transmission d'au moins un contenu représentatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants.
1. Domaine de l'invention Le domaine de l'invention est celui de la création et de la transmission de contenus multimédia sur un terminal de radiocommunication, par exemple de type radiotéléphone, PDA (en anglais « Personal Digital Assistant », en français « assistant numérique personnel »), ordinateur portable, etc.
On entend notamment par contenu multimédia un ensemble composé d'au moins une scène graphique animée, encore appelée scène multimédia, et d'une série de commandes permettant de faire évoluer cette scène d'un état à un autre. Une scène multimédia correspond notamment à l'agencement d'un ensemble d'objets graphiques dans le temps et dans l'espace, avec lesquels l'utilisateur du terminal de radiocommunication peut interagir. Cet agencement est décrit en utilisant un vocabulaire dépendant du format de description de scène. Le vocabulaire de scène peut être utilisé dans des descriptions textuelles ou dans des descriptions binaires. Dans une description textuelle au format XML, les mots du vocabulaire sont les noms des éléments utilisés dans la description. Dans une description binaire, les mots sont les objets binaires utilisés dans la description. L'invention trouve des applications dans tous les domaines nécessitant une représentation des signaux sous forme d'un agencement spatio-temporel d'objets graphiques, avec interactivité.
Notamment, l'invention s'applique aux formats de description de scènes graphiques déjà connus tels que le MPEG-4/BIFS (en anglais « Binary Format Scène », en français « format binaire pour scène »), le SVG (en anglais « Scalable
Vector Graphics », en français « graphiques vectoriels adaptables »), le SMIL (en anglais « Synchronized Multimedia Intégration Language », en français « langage d'intégration multimédia synchronisés »), le XHTML (en anglais « eXtensible HyperText Markup Language », en français « langage de balisage hypertexte extensible »), etc.
2. Art antérieur Actuellement, il existe plusieurs dispositifs de transformation de description de scène multimédia textuelle en contenus visualisable par un utilisateur, parmi lesquels :
• des dispositifs de type Encodeur qui, à partir d'une description textuelle, construisent un contenu binaire équivalent.
• des dispositifs de type Compilateur qui, à partir d'un assemblage de symboles, de mots clés et de règles (Le., un langage informatique), permettent de décrire des instructions à un environnement d'exécution qui construira un contenu binaire équivalent, • des dispositifs de type Moteur de publication dynamique qui, à partir de documents, les interprètent pour envoyer un contenu à un utilisateur.
Parmi les techniques citées ci-dessus, la plus usitée est du type Encodeur. Elle ne fait que traduire un ensemble d'instructions multimédia exprimées en un format Fl en un autre format F2, lequel format F2 étant en général plus compressé que le premier format F 1.
Un inconvénient de cette technique réside dans le fait qu'elle ne permet pas à l'auteur de traduire un ensemble de scènes graphiques en un code exécutable qui générera des contenus suivant le contexte d'exécution. Cette technique n'est donc pas adaptée à la génération de contenus dynamiques. La technique la plus avancée définit comment un dispositif de type Moteur de publication dynamique interprète un document et construit un contenu destiné à être diffusé directement, c'est-à-dire dans le format utilisé pour la partie description de scène du document initial. Dans les exemples ci-après, un tel format est par exemple un format textuel XML ou HTML débarrassé des scripts à exécuter sur le serveur.
Par exemple, les technologies Server Pages (e.g., Active Server Pages™ ou XML Server Pages) fournissent un environnement de développement de scripts serveur pour créer des applications serveur pour le Web, à la fois dynamiques et interactives. L'auteur peut associer des pages XML ou HTML et les commandes de script pour créer des pages Web interactives ou de puissantes applications basées sur le Web. La plupart des technologies de pages actives (ASP, PHP, ...) reposent sur un code interprété, dont l'exécution requiert beaucoup de ressources pour fournir la réponse.
Les technologies Java Server Pages (JSP) se distinguent par le fait qu'elles sont compilées seulement dans le cas où le script Java Server Pages a été mis à jour. Ces technologies JSP sont plus rapides à l'exécution que les technologies entièrement interprétées.
Cependant, dans tous les cas, l'interprétation du document est faite au moment de la requête utilisateur, ce qui rend délicate une validation a priori de l'ensemble des contenus. De plus, ces techniques ne permettent pas de valider a priori un "service dynamique", c'est à dire un ensemble de contenus dynamiques et de règles de navigation qui relient lesdits contenus dynamiques, et encore moins le fonctionnement du système de génération de contenus au complet.
En outre, l'interprétation au moment de la requête utilisateur rend délicate ou impossible toute gestion des médias utilisés dans le service, surtout si les références à ces médias sont créées par des commandes de script.
Enfin, un autre inconvénient des technologies JSP tient au fait que tous les mots du vocabulaire de la description du service doivent être des mots du langage final. Il n'est pas possible de faire des extensions, dans la description du service, qui ne seraient pas compatibles avec le langage final.
Il existe aussi des méthodes de conception d'applications reposant uniquement sur un langage de programmation. Il est effectivement possible d'inclure dans un programme informatique une série de modules dont les fonctions recouvrent : - la création d'une scène multimédia en mémoire ; la gestion de l'interactivité, de l'animation et du rendu de ladite scène ; le dialogue avec un serveur et l'interprétation des réponses dudit serveur.
Ces approches permettent de créer tout type de service, y compris un mélange très complexe de présentation de données et de calculs, ce qui peut être nécessaire dans une application de type jeu.
Par contre, ces approches sont extrêmement coûteuses en temps de développement et se prêtent mal à une diffusion sur un large parc de terminaux différents, car chaque application doit être testée sur chaque type de terminal.
Enfin les techniques basées sur des dispositifs de type Compilateur permettent seulement de générer un code exécutable, les langages informatiques utilisés en entrée décrivent souvent des instructions élémentaires interprétées et exécutées par l'environnement d'exécution et non des règles de création de contenus, et ne peuvent donc pas être utilisées dans le cadre de la création de contenus dynamiques.
3. Objectifs de l'invention L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.
Le procédé, selon au moins un mode de réalisation de l'invention, permet à un auteur de valider un service dynamique, c'est à dire un ensemble de contenus dynamiques et de règles de navigation qui relient lesdits contenus dynamiques, avant de déployer ce service. On parle alors de "validation a priori".
Le procédé, selon au moins un mode de réalisation de l'invention, permet également à un auteur d'assurer un fonctionnement optimal du code exécutable représentant un service dynamique en réduisant le poids des étapes intermédiaires, et en particulier en réduisant le volume de chaînes de caractères à traiter pour l'exécution de ce service.
De plus, le procédé, selon au moins un mode de réalisation de l'invention, permet d'obtenir un gain en expressivité sur la création de contenus, car l'auteur du service bénéficie d'un mécanisme intégré lui permettant de traiter de façon simultanée la présentation des contenus, l'interprétation des instructions exécutées au sein de l'environnement d'exécution et la génération de ces contenus sur un mode dynamique.
Le procédé, selon au moins un mode de réalisation de l'invention, permet d'obtenir une réduction de la mémoire et de l'utilisation des ressources de calcul à l'exécution d'un service dynamique en ne stockant en mémoire et en n'exécutant que le code exécutable généré. Contrairement aux moteurs de publication classique, l'interpréteur des documents en code exécutable n'est pas nécessaire lors de l'exécution.
Avantageusement, le procédé, selon au moins un mode de réalisation de l'invention, permet d'obtenir un gain dans l'implémentation du système de publication : l'utilisation d'un dispositif intégrant un Compilateur, un Encodeur et un Moteur de publication permet de simplifier le processus d'édition dudit contenu. Cela assure à l'auteur d'avoir un environnement intégré, lui permettant en une seule interface de générer des services dynamiques et de valider, sans déploiement sur une plate-forme serveur de publication, la complexité, la cohérence et le fonctionnement de ces services. Le procédé, selon au moins un mode de réalisation de l'invention, permet également d'obtenir une compatibilité avec les environnements d'exécution classiques, en étant capable de générer un code exécutable compatible avec n'importe quel environnement d'exécution compatible (Le., code exécutable JAVA sur plate-forme J2EE). Le procédé, selon au moins un mode de réalisation de l'invention, permet aussi de rajouter dans la description des extensions incompatibles avec le langage final. Ces extensions sont destinées à l'optimisation du service ou d'une des phases du service, et sont supprimées par la phase de génération binaire. Cette flexibilité importante permet d'exprimer simplement pour l'auteur des informations utiles pour optimiser l'exécution du code généré lors de l'exécution du service : par exemple instructions de cache serveur, factorisation d'un sous- ensemble de scènes inclus dans plusieurs autres scènes.
Le procédé, selon au moins un mode de réalisation de l'invention, permet d'implémenter une gestion fine des médias référencés par le service, grâce à l'interprétation systématique de toutes les parties du service, y compris les références auxdits médias.
De plus, le procédé, selon au moins un mode de réalisation de l'invention, permet d'augmenter le nombre d'erreurs de conceptions détectables pendant la phase de conception et permet donc une meilleure validation a priori des services : lors de la phase de transformation de la description textuelle du service dynamique en code exécutable, les deux parties de la description textuelle, à savoir la description de scène et les instructions de programme, sont traduites et fusionnées en une même description qui permet une analyse statique et globale des liens entre lesdites deux parties, alors que pour les techniques existantes, le seul moyen de vérifier ces liens est d'exécuter un grand nombre de requêtes de contenus dans l'environnement d'utilisation.
Enfin, les techniques utilisées dans le procédé selon au moins un mode de réalisation de l'invention permettent de réduire les coûts de développement en ne requérant pas de compétence avancée de programmation pour concevoir les services. De plus, un moteur de rendu générique peut être testé sur chaque type de terminal indépendamment du nombre des services qui utiliseront ce moteur de rendu générique.
4. Exposé de l'invention
Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de transmission d'au moins un contenu représentatif d'un service, depuis un serveur vers un terminal.
Selon l'invention, un tel procédé comprend : une phase préalable de préparation dudit service, comprenant :
- une étape de fourniture dudit service par un créateur sous la forme d'une description textuelle comprenant une partie de texte et au moins une instruction de programme ; une étape de traduction, dans un environnement de compilation, de ladite description textuelle dudit service en un programme de service, comprenant des instructions exécutables ; une phase de transmission dudit contenu vers ledit terminal, à réception d'une requête de ce dernier, comprenant :
- une étape d'exécution dudit programme de service sur ledit serveur, délivrant ledit contenu sous la forme de données binaires; une étape de transmission desdites données binaires vers ledit terminal. Ainsi, le procédé selon l'invention permet de transmettre un contenu binaire représentatif d'un service à un terminal, en réponse à une requête de celui- ci, en ayant au préalable effectué une phase de préparation du service. Cette phase de préparation consiste tout d'abord à créer le service en question, par l'intermédiaire d'un créateur de service, et à fournir ce service au serveur de transmission.
Cette étape de fourniture consiste à mettre à la disposition du serveur de transmission un service, soit créé "en interne", au niveau du serveur lui-même, dans un environnement de conception de service, soit créé dans un environnement de conception externe au serveur, comme un ordinateur ou un serveur dédié spécifiquement à la création de services.
Dans le premier cas, l'étape de fourniture consiste à transmettre, à l'intérieur d'un même serveur, un service, et dans le second cas, cette étape consiste à fournir au serveur un service créé de façon "externe" à ce serveur.
Avantageusement, le service créé se présente sous la forme d'une description textuelle comprenant une partie de texte et au moins une instruction de programme. Une fois le service ainsi créé et mis à la disposition du serveur, celui-ci subit une étape de traduction, dans un environnement dit de compilation. Cette étape de traduction consiste à transformer la description textuelle du service en un programme de service, comprenant des instructions exécutables.
Cette étape de traduction se déroule également dans le serveur de transmission.
Cette phase de préparation du service, préalable à la transmission, permet un gain de temps considérable dans le traitement de la réponse à la requête du terminal, le service étant déjà pré-traité et "prêt" à être exécuté, sous la forme d'un programme de service. De plus, la création de ce programme de service permet, dans l'étape suivant d'exécution, de générer dynamiquement des données binaires, sans passer par un langage tel que XML, ce qui permet d'économiser notablement la mémoire nécessaire pour la transmission d'un contenu représentatif d'un service.
La phase de transmission du contenu représentatif d'un service comprend elle-même plusieurs étapes, déclenchées à la réception d'une requête provenant du terminal destinataire du contenu. La première étape consiste d'abord à exécuter, sur le serveur, le programme de service, délivrant, ou générant, ainsi un contenu sous la forme de données binaires.
Ces données binaires ainsi générées sont ensuite transmises au terminal en réponse à sa requête.
Préférentiellement, ladite étape d'exécution dudit programme de service sur ledit serveur comprend une sous-étape d'identification d'un contexte d'exécution associé audit terminal, fournissant au moins une caractéristique dudit terminal, qui est prise en compte pour la génération desdites données binaires transmises audit terminal.
Ainsi, le serveur de transmission va prendre en compte certaines caractéristiques du terminal, par exemple contenues dans la requête émise par celui-ci, pour créer un environnement d'exécution du programme de service, et ainsi adapter l'exécution au terminal en question. Cette étape d'identification d'un contexte d'exécution permet ainsi d'optimiser l'étape d'exécution du programme de service, en tenant compte de caractéristiques du terminal.
Le serveur prendra également en considération des caractéristiques liées au service pour créer ce contexte d'exécution.
Avantageusement, lesdites étapes de traduction et d'exécution mettent en œuvre une même interface de programmation, faisant appel à un vocabulaire de scène utilisé dans ladite description textuelle dudit service.
Ainsi, l'étape de traduction va notamment considérer que la description textuelle du service est conforme à un vocabulaire de scène. Ainsi, les termes appartenant à ce vocabulaire vont servir à traduire du texte en instructions, par T'intermédiaire d'une interface de programmation. Par exemple, l'étape de traduction va utiliser un dictionnaire comprenant les termes du vocabulaire de scène et les instructions correspondantes.
De plus, le programme de service est lui aussi conforme à ce vocabulaire de scène. Ainsi, l'étape d'exécution du programme de service va se servir de cette même interface de programmation, faisant appel au même vocabulaire de scène, pour interpréter les instructions et les exécuter. Selon un aspect particulier du procédé selon l'invention, ledit vocabulaire de scène comprend des éléments faisant référence à au moins un type de média.
Ainsi, le vocabulaire de scène permet de faire référence par exemple à de l'audio ou de la vidéo. Selon un autre aspect du procédé selon l'invention, au moins une desdites instructions de programme porte sur au moins un objet multimédia.
Par exemple, les instructions de programme peuvent permettre de créer un objet vidéo (par exemple un "clip"), ou un objet audio (par exemple un intermède musical ou "jingle"). Selon un mode de réalisation particulier, au moins une desdites instructions de programme porte sur au moins une adresse pointant sur au moins un objet multimédia ou un autre contenu.
Ainsi, les instructions de programme permettent de faire appel à des objets multimédias (audio, vidéo, ...) ou des contenus qui ne sont pas décrits directement dans le service, mais qui sont accessibles par l'intermédiaire d'adresses, par exemple une "url".
De façon avantageuse, ladite étape de transmission comprend une étape de multiplexage desdites données binaires dudit contenu, à la sortie dudit serveur, avec des données binaires générées indépendamment dudit contenu. Ainsi, le procédé selon l'invention permet au serveur de transmettre au terminal un contenu représentatif d'un service, dans lequel ont été intégrées d'autres données, par exemple des données audio ou vidéo. Ces données binaires sont multiplexées avec les données de service pour former un contenu "complet" à transmettre au terminal. Selon encore un mode de réalisation particulier, lesdites étapes de transmission et d'exécution sont effectuées en parallèle de façon que lesdites données binaires soient transmises vers le terminal au fur et à mesure de leur génération.
Ainsi, la parallélisation de ces étapes d'exécution et de transmission permet une transmission en mode continu, encore appelé "streaming" en anglais, du contenu représentatif du service, au fur et à mesure de la génération des données binaires sur le serveur. Cela permet notamment de commencer à transmettre du contenu au terminal même si le programme de service en entier n'a pas encore été exécuté sur le serveur.
Avantageusement, ladite phase préalable de préparation dudit service comprend une étape de contrôle dudit vocabulaire de scène, avant ladite étape de traduction, vérifiant que ladite partie de texte correspond à des éléments dudit vocabulaire de scène.
Ainsi, cette étape de contrôle permettra de valider que le service a été créé en respectant le vocabulaire de scène choisi, et permettra de faciliter la traduction de la description textuelle du service, soit en éliminant les éléments de la description non conformes au vocabulaires, soit en les corrigeant.
De plus, selon un mode de réalisation particulier, ladite phase préalable de préparation dudit service comprend une étape de contrôle desdites instructions de programme vérifiant que la ou lesdites instructions de programme correspondent à des instructions de programme d'ordinateur directement transformables en séquences de code binaire aptes à être exécutées par ledit serveur.
Cette étape de contrôle permet quant à elle de vérifier que les instructions de programme présentes dans la description du service sont conformes à des instructions exécutables par serveur. La encore, cette étape facilite l'étape de traduction.
Avantageusement, ladite phase préalable de préparation dudit service comprend une étape de transformation de ladite partie de texte en instructions de programme utilisant ladite même interface de programmation.
Ainsi, cette étape permet de transformation utilise la même interface de programmation que celle utilisée dans les étapes de traduction et d'exécution.
Enfin, selon encore un mode de réalisation particulier, ladite phase préalable de préparation dudit service comprend une étape de contrôle de cohérence vérifiant que lesdites instructions de programme de ladite description sont cohérentes avec celles provenant de ladite étape de transformation. Ainsi, le procédé peut vérifier que les instructions ne font pas appel à des éléments non présents dans la description textuelle par exemple. De plus, cette étape peut vérifier que l'étape de transformation a généré des instructions conformes aux instructions présentes à la création du service.
L'invention concerne également un dispositif de transmission d'au moins un contenu représentatif d'un service, depuis un serveur vers un terminal. Selon l'invention, un tel dispositif comprend : des moyens préalables de préparation dudit service, comprenant : des moyens de réception dudit service fourni par un créateur sous la forme d'une description textuelle comprenant une partie de texte et au moins une instruction de programme ; - des moyens de traduction, dans un environnement de compilation, de ladite description textuelle dudit service en un programme de service, comprenant des instructions exécutables ; des moyens de transmission dudit contenu vers ledit terminal, à réception d'une requête de ce dernier, comprenant : - des moyens d'exécution dudit programme de service sur ledit serveur délivrant ledit contenu sous la forme de données binaires ; des moyens de transmission desdites données binaires vers ledit terminal. Notamment, un tel dispositif est apte à mettre en œuvre le procédé de transmission selon l'invention, tel que décrit précédemment. Un tel dispositif est par exemple un serveur de service apte à transmettre un contenu représentatif d'un service à un terminal.
L'invention concerne encore un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre du procédé de transmission tel que décrit précédemment. 5. Liste des figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 illustre un exemple de conception d'un service dynamique selon un mode de réalisation de l'invention ; la figure 2 illustre un exemple de transmission d'un service dynamique conçu selon l'exemple de la figure 1, selon un mode de réalisation particulier de l'invention ; la figure 3 présente les différentes étapes du procédé selon un mode de réalisation particulier de l'invention ; 6. Description de l'invention
6.1 Principe général de V invention Le principe général de l'invention consiste à décrire un procédé de transformation d'une description de scènes multimédia en code système, l'exécution de ce code système générant alors des données multimédia binaires en un contenu encore appelé service dynamique.
Le procédé selon l'invention consiste à fournir à un auteur des outils pour générer un code exécutable directement compréhensible par un système informatique sur la base d'une description de scène. L'exécution de ce code va alors produire un ensemble de contenus qui dépendra du contexte d'exécution dudit code, c'est à dire à la fois du service et du client demandant à utiliser ce service. Ces contenus sont dits dynamiques. On présente les différentes étapes du procédé selon un mode de réalisation particulier de l'invention, en relation avec la figure 3.
Les différentes étapes peuvent être regroupées en 2 phases : une phase de préparation 31 ; une phase de transmission 32. La première phase 31 de préparation comprend deux étapes, permettant de générer un programme de service.
La première étape 311 de fourniture d'un service consiste à concevoir et créer un service, destiné à être utilisé par un terminal en ayant fait la requête. Cette étape peut être réalisée en interne dans le serveur de transmission, ou en externe. Dans les deux cas, un service, représenté sous la forme d'une description textuelle, comprenant une partie de texte et au moins une instruction de programme, est mis à la disposition du serveur pour la deuxième étape 312 de traduction de ce service en un programme de service. Cette étape consiste à transformer la description textuelle du service en instructions exécutables par le serveur, sous la forme d'un programme de service.
La deuxième phase 32 de transmission comprend également deux étapes, permettant, en réponse à une requête d'un terminal, de fournir un contenu binaire et de le transmettre au terminal. La première étape 321 d'exécution du programme de service consiste à transformer le programme de service en données binaires en l'exécutant. Ces données binaires forment le contenu à transmettre au terminal, dans une deuxième étape 322 de transmission.
On présente ci-après, en relation avec la figure 1, l'étape de conception d'un service, selon un mode de réalisation particulier de l'invention.
De manière générale, un outil auteur nommé Studio (11) crée et/ou agit sur une description textuelle de service dynamique (12). La description dudit service dynamique (12) est ensuite compilée par un Interprète (13), lequel se base sur un Dictionnaire (14) de correspondance entre les éléments déclarés dans la description de services dynamiques et les instructions de programme correspondantes. Le résultat de la compilation est un service dynamique (15) en code exécutable (16).
La figure 2 représente l'étape de transmission d'un service dynamique conçu comme décrit précédemment, selon un mode de réalisation particulier de l'invention. Le code exécutable (16) du service dynamique (15) est placé dans un environnement du Serveur de services (23). Le terminal (20) envoie une requête (21) de contenu au Serveur de service (23). Le Serveur de service (23) crée un contexte d'exécution (24) pour le client et le service demandé. Au sein de ce contexte d'exécution (24), le code exécutable (16) du service dynamique (15) est exécuté pour générer la réponse (22), qui est alors transmise au terminal (20) par le serveur (23). 6.2 Conception d'un service dynamique
6.2.1 Premier mode de réalisation
On présente ci- après les différentes étapes de la conception d'un service dynamique, en relation avec la figure 1, selon un premier mode de réalisation de l'invention.
Un auteur va réaliser grâce à l'outil Studio (11) des présentations multimédia au sein desquelles les objets graphiques ont des comportements dynamiques.
L'auteur exprime aussi des règles de navigation permettant à un utilisateur de naviguer entre les différentes présentations.
L'ensemble des contenus dynamiques et les règles de navigation qui les relient sont désignés ci-après par le terme de service dynamique.
La forme de la description du service dynamique (12) dans l'étape de conception est une forme textuelle, dans laquelle des instructions de programme sont insérées dans une description textuelle déclarative utilisant un vocabulaire de type LASeR.
Un outil Interprète (13), en charge notamment de la génération binaire de la description textuelle des contenus dynamiques, prend en entrée les éléments graphiques, les agencements graphiques et les règles de navigation exprimés par l'auteur. Cet Interprète (13) construit un ensemble de codes exécutables (16), encore appelées données binaires, sur la base d'un Dictionnaire d'instructions et de règles (14), encore appelé vocabulaire, qui permet : de traduire un élément graphique élémentaire en un ensemble de commandes élémentaires interprétées et exécutées par l'environnement d'exécution du Serveur de services (23) de la figure 2, d'appliquer des règles de vérification de la cohérence de la description à un niveau sémantique, encore appelée étape de contrôle du vocabulaire. Il est à noter que ces vérifications ne sont pas possibles avec les descriptions syntaxiques, et non textuelles, par exemple de type DTD ( « Document Type Définition » pour « Définition du type de document ») permettant de vérifier qu'un document XML (en anglais « extensible Markup Language » pour« langage de balisage extensible ») est conforme à une syntaxe donnée, ou de type XSD (« XML Schéma Définition » pour « Définition de schéma XML »), permettant de vérifier qu'un document XML est conforme à une syntaxe donnée, - d'appliquer d'autres règles de production de contenu, comme par exemple des règles de gestion des médias synchronisés avec la description de scène, permettant d'optimiser l'expérience utilisateur.
L'ensemble de codes exécutables est alors inséré dans l'environnement d'exécution du Serveur de services (23). 6.2.2 Deuxième mode de réalisation
Dans un mode de mise en œuvre particulier de l'invention, la description textuelle de service dynamique (12) est soumise à une étape d'édition de texte par un concepteur de service désirant s'affranchir des limitations liées à l'outil auteur Studio (11). 6.2.3 Troisième mode de réalisation
Dans un autre mode de mise en œuvre de l'invention, la description textuelle de service dynamique (12) est constituée d'une description LASeR ML
(« LASeR Markup Language »), c'est-à-dire de la déclaration du contenu d'une scène multimédia interactive au format LASeR, avec des éléments et des attributs de scène LASeR et des commandes de modifications de scène LASeR.
Dans cette description, des instructions de programme Java sont insérées, telles que décrites ci-dessous dans un exemple : <%@ page import="dynamic.DynamicProperties"%> <saf:SAFSession xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:saf="urn:mpeg:mpeg4:SAF:2005" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:lsr="urn:mpeg:mpeg4:LASeR:2005" xmlns="http://www.w3.org/2000/svg" > <saf : sceneHeader> <lsr:LASeRHeader coordBits=" 19" resolution=" 1 " profile="full">
<% dynamic.DynamicProperties dp = new dynamic.DynamicProperties(); %>
</lsr:LASeRHeader> </saf : sceneHeader> <saf:sceneUnit time="0">
<lsr:NewScene>
<svg height="100%" width="100%" viewBox="0 0 176 208 "> <rect height="208" x="0" width="176" fill="<%= dp.getBgColor() %>" y="0"/> <polyline points="..." stroke="rgb(0,0,0)" fill="rgb(92, 140,250) "/>
</svg>
</lsr:NewScene> </saf : sceneUnit> <saf:endOfSAFSession/> </saf:SAFSession>
Ces instructions Java peuvent faire référence à : des éléments nommés de la description LASeR de la scène, c'est-à-dire les éléments possédant un attribut « id » dont la valeur est le nom de l'élément sous forme de chaîne de caractères ; - des éléments englobants l'endroit où sont insérées lesdites instructions
Java ; des méthodes appartenant à une bibliothèque de fonctions spécifiques permettant de créer des éléments LASeR, de manière à être capable, au sein de ces instructions, de créer des attributs ou des éléments et de les insérer à tout endroit pertinent de la scène ; des méthodes appartenant à une bibliothèque de fonctions génériques utiles pour la conception de services multimédia dynamiques sur une variété de terminaux, parmi lesquelles : o récupérer des ressources sur des serveurs distants (client HTTP encapsulé), o manipuler des ressources stockées en cache (base de données), o retailler/transcoder des images sur ledit serveur de services, o obtenir des informations sur le terminal par décodage des informations de capacité du terminal. des méthodes appartenant à toute bibliothèque spécifique aux besoins d'un service particulier, bibliothèque qui devra alors être présente dans l'environnement d'exécution du service.
Dans cette description, les « <% » et « %> » délimitent les zones d'instructions de programme. La première zone correspond aux importations de paquetages contenant toutes les bibliothèques nécessaires, la seconde crée un objet permettant d'obtenir des propriétés, la troisième interroge la couleur de fond.
Dans cette description, un attribut est décrit en XML, et sa valeur est définie en instructions de programme (ici en Java).
Cela permet notamment à l'auteur de définir librement les éléments, les attributs et les contenus dans l'un ou l'autre des formalismes, voire même de les définir partiellement dans un formalisme et de les compléter dans un autre.
Par exemple, l'extrait de description ci-dessous met en œuvre une référence à un élément englobant une instruction de programme : <lsr:Insert> <text DEF="text" fill="rgb(O,O,O)">
<% currentText.setString("toto"); %> </text> </lsr:Insert>
6.2.4 Exemples d'outils interprète selon différents modes de réalisation particuliers de l'invention
Dans un premier mode possible d'implémentation de l'invention, l'outil Interprète (13) est constitué de : un parseur XML qui crée une représentation DOM (« Document Object Model » pour « Modèle Objet de Document ») de la partie LASeR de la scène ; un pré-parseur Java qui isole et analyse les parties d'instructions de programme dans la description de service ; une transformation qui analyse la représentation DOM de la partie LASeR de la scène et traduit chaque attribut et chaque élément en une suite d'instructions de programme ; - une étape de fusion des instructions de programmes traduits de la description LASeR et des instructions de programmes éventuellement ajoutées à la description de service par le concepteur, ou l'auteur ; une compilation des instructions de programmes et édition de liens pour obtenir le code exécutable (16) du service dynamique (15). Les bibliothèques liées implémentent les interfaces de création d'éléments de scènes, les interfaces de requêtes, ainsi que les autres interfaces spécifiquement requises pour le service en cours de conception.
Dans un mode préférentiel d'implémentation de l'invention, l'outil Interprète (13) est constitué de : - un parseur XML dit « au vol » ou SAX (« Simple API for XML » pour
"Interface de programmation simple pour XML"), qui génère des événements ; un interprète qui analyse lesdits événements et les traduit en une suite d'instructions de programme générant chaque attribut et chaque élément; - une étape de fusion des instructions de programmes traduits de la description LASeR et des instructions de programmes éventuellement ajoutées à la description de service par le concepteur, ou l'auteur ; une compilation des instructions de programmes et édition de liens pour obtenir le code exécutable (16) dudit service (15). Les bibliothèques liées implémentent les interfaces de création d'éléments de scènes, les interfaces de requêtes, ainsi que les autres interfaces spécifiquement requises pour le service en cours de conception.
6.3 Transmission d'un service dynamique
On présente maintenant, en relation avec la figure 2, les étapes de la transmission d'un service dynamique conçu tel que décrit précédemment, selon un mode de réalisation de l'invention. Le Terminal (20) demande un contenu à un Serveur de services (23) suite à une interaction d'un utilisateur qui génère une requête (21).
Le Serveur de services (23) sélectionne l'environnement d'exécution, définit le contexte d'exécution (24) et exécute le code exécutable (16), c'est à dire les différentes instructions contenues dans ce code.
Ces différentes instructions permettent notamment de prendre en compte les différents paramètres suivants : une logique du service, c'est à dire une logique correspondant au déroulement spécifique à un service ; - une logique de gestion du type du terminal client (20), avec adaptation possible du contenu de la description de scène en fonction des caractéristiques dudit terminal (20) ; une logique de gestion des ressources externes nécessaires audit service, telles que l'accès à des bases de données externes ; - une logique de gestion des médias utilisés par ledit service, telle que par exemple le respect dune charte graphique, nécessitant l'utilisation de logos visuels ou sonores ;
Ces différents paramètres peuvent être pris en compte dans un ordre variable en fonction du service, avec notamment la prise en compte à plusieurs reprises d'un même paramètre lors de l'exécution, en fonction de la prise en compte des paramètres précédents.
L'exécution suit donc une logique de génération binaire de la description de scène résultant de la prise en compte des différentes logiques ci-dessus.
Le serveur renvoie ensuite un contenu au terminal (20) qui décrit l'agencement spatio-temporel des objets graphiques, ce qui constitue la réponse
(22). L'ensemble de ces étapes est alors répété autant de fois que nécessaire pour répondre aux requêtes successives de l'utilisateur.
Dans un mode particulier d'implémentation du Serveur de services (23), une phase de multiplexage suit la phase de génération binaire. Au cours de la vie du service, un ensemble de paquets binaires de description de scène sont générés, et un ensemble de paquets contenant des trames de médias, en général audio ou vidéo, sont envoyés dans un même canal de communication.
Cette phase de multiplexage contient une étape de planification de l'envoi des paquets qui ont été confiés au multiplexeur, puis une étape d'entrelacement des paquets des différents types d'une manière optimale pour l'expérience utilisateur.

Claims

REVENDICATIONS
1. Procédé de transmission d'au moins un contenu représentatif d'un service, depuis un serveur vers un terminal, caractérisé en ce qu'il comprend : une phase préalable (31) de préparation dudit service, comprenant : - une étape de fourniture (311) dudit service par un créateur sous la forme d'une description textuelle comprenant une partie de texte et au moins une instruction de programme ; une étape de traduction (312), dans un environnement de compilation, de ladite description textuelle dudit service en un programme de service, comprenant des instructions exécutables ; une phase de transmission (32) dudit contenu vers ledit terminal, à réception d'une requête de ce dernier, comprenant :
- une étape d'exécution (321) dudit programme de service sur ledit serveur, délivrant ledit contenu sous la forme de données binaires; - une étape de transmission (322) desdites données binaires vers ledit terminal.
2. Procédé de transmission selon la revendication 1, caractérisé en ce que ladite étape d'exécution dudit programme de service sur ledit serveur comprend une sous-étape d'identification d'un contexte d'exécution associé audit terminal, fournissant au moins une caractéristique dudit terminal, qui est prise en compte pour la génération desdites données binaires transmises audit terminal.
3. Procédé de transmission selon l'une quelconque des revendications 1 et 2, caractérisé en ce que lesdites étapes de traduction et d'exécution mettent en œuvre une même interface de programmation, faisant appel à un vocabulaire de scène utilisé dans ladite description textuelle dudit service.
4. Procédé de transmission selon la revendication 3, caractérisé en ce que ledit vocabulaire de scène comprend des éléments faisant référence à au moins un type de média.
5. Procédé de transmission selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'au moins une desdites instructions de programme porte sur au moins un objet multimédia.
6. Procédé de transmission selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'au moins une desdites instructions de programme porte sur au moins une adresse pointant sur au moins un objet multimédia ou un autre contenu.
7. Procédé de transmission selon l'une quelconque des revendications 1 à 6, caractérisé en ce que ladite étape de transmission comprend une étape de multiplexage desdites données binaires dudit contenu, à la sortie dudit serveur, avec des données binaires générées indépendamment dudit contenu.
8. Procédé de transmission selon l'une quelconque des revendications 1 à 7, caractérisé en ce que lesdites étapes de transmission et d'exécution sont effectuées en parallèle de façon que lesdites données binaires soient transmises vers le terminal au fur et à mesure de leur génération.
9. Procédé de transmission selon l'une quelconque des revendications 3 à 8, caractérisé en ce que ladite phase préalable de préparation dudit service comprend une étape de contrôle dudit vocabulaire de scène, avant ladite étape de traduction, vérifiant que ladite partie de texte correspond à des éléments dudit vocabulaire de scène.
10. Procédé de transmission selon l'une quelconque des revendications 1 à 9, caractérisé en ce que ladite phase préalable de préparation dudit service comprend une étape de transformation de ladite partie de texte en instructions de programme utilisant ladite même interface de programmation.
11. Procédé de transmission selon la revendication 10, caractérisé en ce que ladite phase préalable de préparation dudit service comprend une étape de contrôle de cohérence vérifiant que lesdites instructions de programme de ladite description sont cohérentes avec celles provenant de ladite étape de transformation.
12. Dispositif de transmission d'au moins un contenu représentatif d'un service, depuis un serveur vers un terminal, caractérisé en ce qu'il comprend : des moyens préalables de préparation dudit service, comprenant : des moyens de réception dudit service fourni par un créateur sous la forme d'une description textuelle comprenant une partie de texte et au moins une instruction de programme ; des moyens de traduction, dans un environnement de compilation, de ladite description textuelle dudit service en un programme de service, comprenant des instructions exécutables ; des moyens de transmission dudit contenu vers ledit terminal, à réception d'une requête de ce dernier, comprenant :
- des moyens d'exécution dudit programme de service sur ledit serveur délivrant ledit contenu sous la forme de données binaires ; des moyens de transmission desdites données binaires vers ledit terminal.
13. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre du procédé de transmission selon l'une au moins des revendications 1 à 11.
PCT/EP2008/050906 2007-02-02 2008-01-25 Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants Ceased WO2008095800A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/525,638 US9560401B2 (en) 2007-02-02 2008-01-25 Method of transmitting at least one content representative of a service, from a server to a terminal, and associated device and computer program product
EP08708230A EP2116056A1 (fr) 2007-02-02 2008-01-25 Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants
CN200880003829XA CN101617536B (zh) 2007-02-02 2008-01-25 从服务器向终端传输表示服务的至少一个内容的方法以及相关的设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0700765A FR2912275B1 (fr) 2007-02-02 2007-02-02 Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants
FR0700765 2007-02-02

Publications (1)

Publication Number Publication Date
WO2008095800A1 true WO2008095800A1 (fr) 2008-08-14

Family

ID=38669902

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/050906 Ceased WO2008095800A1 (fr) 2007-02-02 2008-01-25 Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants

Country Status (5)

Country Link
US (1) US9560401B2 (fr)
EP (1) EP2116056A1 (fr)
CN (1) CN101617536B (fr)
FR (1) FR2912275B1 (fr)
WO (1) WO2008095800A1 (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2912275B1 (fr) * 2007-02-02 2009-04-03 Streamezzo Sa Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants
US8487942B2 (en) * 2008-12-15 2013-07-16 Leonovus Usa Inc. Media action script acceleration system
US8487941B2 (en) * 2008-12-15 2013-07-16 Leonovus Usa Inc. Media action script acceleration apparatus
US20100149215A1 (en) * 2008-12-15 2010-06-17 Personal Web Systems, Inc. Media Action Script Acceleration Apparatus, System and Method
US20110219097A1 (en) * 2010-03-04 2011-09-08 Dolby Laboratories Licensing Corporation Techniques For Client Device Dependent Filtering Of Metadata
US8447873B1 (en) * 2011-06-29 2013-05-21 Emc Corporation Managing object model communications
CN112486796B (zh) * 2020-12-30 2023-07-11 智道网联科技(北京)有限公司 一种采集车载智能终端信息的方法和装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69837833T2 (de) * 1997-04-07 2008-01-31 At&T Corp. System und verfahren zur erzeugung und schnittstellenbildung von mpeg-kodierte audiovisuelle gegenstände darstellenden bitströmen
JP4035872B2 (ja) * 1997-10-27 2008-01-23 株式会社日立製作所 ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム
FI114371B (fi) * 1999-08-09 2004-09-30 Nokia Corp Menetelmä kantopalvelun valitsemiseksi palvelulle langattomassa matkaviestinjärjestelmässä, tiedonsiirtojärjestelmä ja matkaviestinpäätelaite
EP1107550B1 (fr) * 1999-12-06 2005-11-09 Alcatel Terminal destiné à exécuter une application terminal
EP1111506A1 (fr) * 1999-12-23 2001-06-27 Alcatel Méthode et dispositif pour la détermination d'un environnement de traitement
CN1307495C (zh) * 2000-03-17 2007-03-28 迪吉多电子股份有限公司 控制用服务器装置、控制用终端装置、控制系统
FR2819604B3 (fr) * 2001-01-15 2003-03-14 Get Int Procede et equipement pour la gestion des interactions multimedias mono-ou multi-uitilisateurs entre des peripheriques de commande et des applications multimedias exploitant la norme mpeg-4
US7216288B2 (en) * 2001-06-27 2007-05-08 International Business Machines Corporation Dynamic scene description emulation for playback of audio/visual streams on a scene description based playback system
US7395122B2 (en) * 2001-07-13 2008-07-01 Siemens Aktiengesellschaft Data capture for electronically delivered automation services
CN1685685A (zh) * 2002-09-25 2005-10-19 皇家飞利浦电子股份有限公司 管理流播会话的通信系统和方法
US7251277B2 (en) * 2002-12-04 2007-07-31 International Business Machines Corporation Efficient means for creating MPEG-4 textual representation from MPEG-4 intermedia format
KR100513736B1 (ko) * 2002-12-05 2005-09-08 삼성전자주식회사 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템
US8700988B2 (en) * 2002-12-20 2014-04-15 Sap Portals Israel Ltd. Selectively interpreted portal page layout template
US7774751B2 (en) * 2003-12-26 2010-08-10 Yefim Zhuk Knowledge-driven architecture
US20050234844A1 (en) * 2004-04-08 2005-10-20 Microsoft Corporation Method and system for parsing XML data
CN1985489B (zh) * 2004-07-09 2012-05-09 艾利森电话股份有限公司 在多媒体通信系统中提供不同服务的方法和装置
US20060179079A1 (en) * 2005-02-09 2006-08-10 Mikko Kolehmainen System, method and apparatus for data transfer between computing hosts
US7877460B1 (en) * 2005-09-16 2011-01-25 Sequoia International Limited Methods and systems for facilitating the distribution, sharing, and commentary of electronically published materials
FR2898707B1 (fr) * 2006-03-17 2009-05-15 Streamezzo Sa Procede, dispositif et systeme de gestion d'informations structurees au sein d'une scene graphique
FR2899755B1 (fr) * 2006-04-10 2008-10-10 Streamezzo Sa Procede de restitution adaptative d'au moins un contenu multimedia sur un dispositif de visualisation orientable d'un terminal
FR2902543A1 (fr) * 2006-06-20 2007-12-21 Alcatel Sa Procede de creation de contenus multimedia pour terminaux mobiles, produit programme d'ordinateur pour la mise en oeuvre d'un tel procede
US20080052396A1 (en) * 2006-08-22 2008-02-28 Motorola, Inc. Providing a service from an application service provider to a client in a communication system
FR2912275B1 (fr) * 2007-02-02 2009-04-03 Streamezzo Sa Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KIM K ET AL: "INTERACTIVE CONTENTS AUTHORING SYSTEM BASED ON XMT AND BIFS", PROCEEDINGS ACM MULTIMEDIA 2002. 10TH. INTERNATIONAL CONFERENCE ON MULTIMEDIA. JUAN-LES-PINS, FRANCE, DEC. 1 - 6, 2002, ACM INTERNATIONAL MULTIMEDIA CONFERENCE, NEW YORK, NY : ACM, US, vol. CONF. 10, 1 December 2002 (2002-12-01), pages 275 - 278, XP001175008, ISBN: 1-58113-620-X *
LIU ET AL: "Data flow analysis and testing of JSP-based Web applications", INFORMATION AND SOFTWARE TECHNOLOGY, ELSEVIER, AMSTERDAM, NL, vol. 48, no. 12, 8 November 2006 (2006-11-08), pages 1137 - 1147, XP005753346, ISSN: 0950-5849 *

Also Published As

Publication number Publication date
FR2912275A1 (fr) 2008-08-08
CN101617536A (zh) 2009-12-30
US9560401B2 (en) 2017-01-31
CN101617536B (zh) 2012-11-28
EP2116056A1 (fr) 2009-11-11
FR2912275B1 (fr) 2009-04-03
US20100030852A1 (en) 2010-02-04

Similar Documents

Publication Publication Date Title
US7681114B2 (en) Method of authoring, deploying and using interactive, data-driven two or more dimensional content
JP4451063B2 (ja) 双方向テレビジョンでの表示のためにコンテンツを再フォーマットする方法及び装置
US7599838B2 (en) Speech animation with behavioral contexts for application scenarios
US20250021309A1 (en) Ui design system with automatic front-end/back-end code generator
WO2008095800A1 (fr) Procede de transmission d&#39;au moins un contenu representatif d&#39;un service, depuis un serveur vers un terminal, dispositif et produit programme d&#39;ordinateur correspondants
FR2934388A1 (fr) Procede de creation de programme informatique
FR2826753A1 (fr) Procede et dispositif de traitement d&#39;un document informatique dans un systeme informatique
FR2826748A1 (fr) Description d&#39;une interface applicable a un objet informatique
WO2006136565A1 (fr) Procede de traitement de donnees compatible avec un formalisme de modelisation d&#39;objets
FR2906383A1 (fr) Referentiel semantique de services web et procede utilisant ce referentiel
US7529674B2 (en) Speech animation
WO2007051784A1 (fr) Procede d&#39;optimisation de rendu d&#39;une scene multimedia, programme, signal, support de donnees, terminal et procede de reception correspondants
EP1997040A1 (fr) Procédé, dispositif et système de gestion d&#39;informations structurées au sein d&#39;une scène graphique
Davis et al. Generative approaches for application tailoring of mobile devices
US20250306868A1 (en) Ai based front-end user interface design and code generator
EP3881178B1 (fr) Procédé de génération d&#39;un contenu de manière extensible
Little et al. Silverlight 3 programmer's reference
Karlík Blogging platform utilizing Kentico Cloud and Jekyll static site generator
WO2009141539A2 (fr) Procede et systeme de configuration de documents
Endres-Niggemeyer Mashups live on standards
CN117251231A (zh) 一种动画资源处理方法、装置、系统及电子设备
CN120179234A (zh) 一种Swagger文件的自动化解析系统
Paternò et al. of Document: Document about Architecture for migratory user
Obrenovic et al. REPORT INS-E0703 FEBRUARY 2007
WO2007010139A2 (fr) Procede et dispositif d&#39;interaction entre des applications informatiques et un site distant

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880003829.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08708230

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008708230

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12525638

Country of ref document: US