WO2004109968A1 - Procede de traitement d’ensembles de donnees de description de contenue multimedia avec mise a jour, utilisation de ce procede et programme d’ordinateur correspondant - Google Patents

Procede de traitement d’ensembles de donnees de description de contenue multimedia avec mise a jour, utilisation de ce procede et programme d’ordinateur correspondant Download PDF

Info

Publication number
WO2004109968A1
WO2004109968A1 PCT/FR2004/001316 FR2004001316W WO2004109968A1 WO 2004109968 A1 WO2004109968 A1 WO 2004109968A1 FR 2004001316 W FR2004001316 W FR 2004001316W WO 2004109968 A1 WO2004109968 A1 WO 2004109968A1
Authority
WO
WIPO (PCT)
Prior art keywords
output
assembly
threshold
data
input
Prior art date
Application number
PCT/FR2004/001316
Other languages
English (en)
Inventor
Isabelle Amonou
Christian Bertin
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Publication of WO2004109968A1 publication Critical patent/WO2004109968A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Definitions

  • the present invention relates to a method for processing multimedia content description data sets, for providing at least one output set from at least one input set.
  • the invention also relates to the use of such a method and a corresponding computer program.
  • Methods are known for generating data sets for describing multimedia contents, in particular according to the DVB standard (from the English "Digital Video Broadcast"). Once generated, these sets are intended to be transmitted to remote storage means in the form of files, or simply to be broadcast with the multimedia content with which they are associated.
  • the size of these data sets cannot be modified once they are generated, in particular to meet the constraints of the broadcasting network, or the constraints of the remote storage means.
  • the description data set is generated by the service or network operator, it is transmitted to the receivers without being able to be modified dynamically.
  • the instantaneous speed available is high and constant, which makes it possible to easily transmit these sets of description data.
  • the transmission of these data sets can cause problems, when they are too large. In conclusion, what does not pose a problem in conventional broadcasting becomes problematic in the context of the Internet.
  • the invention aims to remedy this drawback by providing a method for processing description data sets making it possible to take into account the speed constraints of the data set broadcasting network, during the generation of these data sets.
  • the subject of the invention is therefore a method of processing sets of data for describing multimedia contents, for the supply of at least one output set from at least one input set, characterized in that it comprises the following steps: - priority coefficients are assigned to at least part of the description data of the input set;
  • At least one threshold of priority coefficients is associated with each output set; the data are distributed in at least one intermediate output set as a function of the priority coefficients assigned to the elements of the input set and of the threshold associated with each output set;
  • the threshold associated with each outlet assembly is modified by calculating at least one new threshold as a function of a list of available bit rates and of the size of each intermediate outlet assembly;
  • the steps of distributing the data and modifying thresholds are again executed as long as the size of said intermediate output assembly is not adapted to the available bit rates according to a predetermined criterion; and - providing said intermediate outlet assembly as an outlet assembly, when its size is adapted to the available flow rates.
  • priority coefficients assigned to each of the description data are distributed in one or more output sets.
  • the modification of the priority coefficient threshold (s) makes it possible to regulate the size of the output set (s) as a function of network constraints to reach a recipient.
  • the method further comprises a step of transmitting at least one output assembly to a recipient as a function of the capacities of means for transmitting description data to the recipient;
  • the method further comprises a step of transmitting at least one output assembly to a recipient as a function of the storage means capacities of the recipient;
  • the method further comprises a step of transmitting at least one set of output to a recipient according to a level of subscription of the user to a predetermined service;
  • the method further comprises a step of transmitting at least one set of output to a recipient according to a payment made beforehand for access to this set of output.
  • the invention also relates to a method of processing data sets as described above, for the supply of at least one output set from a plurality of input sets.
  • the invention also relates to the use of a method for processing description data sets as defined above, for processing an XML data file.
  • the subject of the invention is also a computer program suitable for processing data sets for describing multimedia contents, for providing at least one output set from at least one input set, characterized in that it comprises:
  • the invention also relates to a computer program as described above, for the supply of at least one output assembly from a plurality of input assemblies.
  • FIG. 1 schematically shows the structure of a system for implementing a method of processing data sets according to a first embodiment of the invention
  • FIG. 4 is a diagram representing the evolution of thresholds updated according to the method of Figure 3;
  • FIG. 5 schematically shows the structure of a system for implementing a method of processing data sets according to a second embodiment of the invention;
  • FIG. 7 symbolically illustrates output files provided by a method according to a second variant of the invention.
  • FIG. 8 schematically shows the general structure of a first system allowing the use of a method according to the invention
  • - Figure 9 schematically shows the general structure of a second system allowing the use of a method according to the invention.
  • the system represented in FIG. 1 comprises a set 10 of XML data
  • each of these output sets comprising part of the XML data contained in set 10.
  • the filter 12 is for example an executable program stored by a microcomputer (not shown).
  • the filter 12 is adapted to receive as input a file 16 of priority coefficients associated with each of the description data of the set 10 of XML data.
  • Each XML data is either an element delimited by an opening tag and a closing tag of the same name in the XML data set 10, or an attribute attached to an element.
  • the file 16 then associates with each XML data a priority coefficient.
  • the filter 12 is also adapted to receive as input a file 18 comprising thresholds of priority coefficients, these thresholds being associated respectively with the sets 14 ⁇ , 14 2 , ..., 14 ⁇ .
  • the priority coefficients are assigned the higher the lower the data associated with these coefficients.
  • a priority coefficient equal to zero is assigned, for the most important description data, that is to say those which must be contained in all the output assemblies 14 ⁇ , 14 2 , ..., 14 n .
  • the file 18 of priority coefficient thresholds comprises n threshold values Ni, ..., N n .
  • the filter 12 is then configured to:
  • the filter 12 can also be configured to copy into an additional set 14 n + 1 the data associated with the zero priority coefficient and the data associated with the priority coefficients strictly greater than N n , in particular the data which are not associated with no priority coefficient.
  • the sets supplied at output 14 ⁇ 14 2 , ..., 14 n (and possibly
  • the output assemblies 14 ⁇ 14 2 , ..., 14 n are then intended to be transmitted through a data transmission network or to be stored in storage means of one or more remote recipients.
  • the output assembly 14 ⁇ contains the most important data, for example the title or the duration of a film, while the other assemblies 14 2 14 n (and possibly 14 n + ⁇ ) include less and less important data, such as for example the actors or the date of production of a film.
  • the input data set is for example an XML table such as the following table, inspired by the specifications of the TV-Anytime forum: ⁇ TVAMain>
  • this file includes instructions for assigning priority coefficients to each of the data in the input file 10, and also instructions for sorting the XML data from the input table, or for deleting some of it.
  • the data of the input table can have inheritance relations between them, so that a parent datum (for example the TVAMain datum) having at least one descendant can inherit the priority coefficient of this descendant.
  • a parent datum for example the TVAMain datum
  • the second XML table 14 2 includes the following data: ⁇ TVAMain>
  • the system shown in FIG. 1 also comprises means 20 for modifying the threshold file 18.
  • These modification means 20 receive as input a list of debits available at the output of the system to n separate recipients. These rates can be provided manually, but also automatically, with an update in real time according to changes in the connection between the system and the recipients.
  • the modification means 20 also receive as input a list of predetermined periodicity of transfers to the recipients.
  • a link at the bit rate O ⁇ is available and the periodicity of the transmissions must be Pi. More generally, with each recipient, a bit rate Dj and a periodicity Pj are associated.
  • the modification means 20 compare the size of this output set to the product of the available bit rate Dj by the required periodicity Pj. If the size is greater than the product Dj Pj, the modification means 20 calculate new values of the thresholds of the file 18, for reduce the size of the output set considered and allow its transmission to the corresponding recipient.
  • the modification means 20 calculate new thresholds and relaunch the generation by the filter 12 of the output assemblies 14 ⁇ , 14 2 , ..., 14 n if there is modification of the thresholds, to provide at the output of the system, assemblies outlet 22 ⁇ , 22 2 , ..., 22 n whose sizes are adapted to the recipients to whom they must be transmitted.
  • FIG. 2 represents the successive stages of the treatment method implemented by the filter 12.
  • a file f is created corresponding to the i-th output set 14j.
  • the filter 12 searches for and then reads an XML data item of the input set 10 associated with a priority coefficient equal to zero, or strictly greater than Binf and less than or equal to Bsup.
  • the filter 12 accesses the tag corresponding to this XML data and inserts the XML data into the output file fj.
  • the filter 12 checks whether it has read the last XML data item of the input set 10. If this is not the case, we return to step 34, to continue reading XML data from the input data set 10.
  • step 44 we go to a step 44 of incrementation. During this step 44, the index i is incremented by one, then we assign to Binf the value Nj.i, and to Bsup the value Nj. We then go back to step 32 to create a new fj file. Otherwise, that is to say if during the test step 42 it is found that the last output file 14 n has been generated, we go to a step 46 at the end of the process.
  • FIG. 3 represents the successive steps of the processing method implemented by the modification means 20.
  • This method comprises a first step 50 of initialization and reading of the data supplied at the input of the modification means 20, in particular of reading the list of available bit rates D ⁇ D 2 , ..., D n , for reading the list of periodicities Pi, P 2 , ...,
  • the maximum size of the output assembly (s) to be sent to this recipient is equal to the product Dj P L
  • an index i is initialized to the value 1.
  • the filter 12 is activated so that it generates the output set or sets to be transferred to the i-th recipient, at using the threshold file 18. Also during this step, the effective size of the output set or sets thus generated is calculated.
  • step 56 of incrementing the threshold level or levels corresponding to this or these output sets, in the threshold file 18, then again to step 52.
  • step 58 we test if the effective size of the output assembly or sets is greater than the maximum desired size, calculated during step 50. If this is the case, we passes to a step 60 during which the threshold level or levels corresponding to the output set or to the output sets to be transferred to the i-th recipient are decremented by one. We then return to step 52.
  • step 62 during which the index i is incremented by one unit, the size of the output set or sets being equal to the maximum size calculated during step 50.
  • a margin ⁇ allowing to go to step 62, even if the size of the output assembly or sets is not strictly equal to the maximum size desired.
  • step 64 the value of the index i is tested. If this index is equal to n, then we go to a step 68 at the end of the process, otherwise we go back to step 52. During the last step 68, it can be decided to broadcast the output sets obtained to the recipients or to store these output sets locally for broadcasting later.
  • the diagram in FIG. 4 represents the evolution over time of any threshold value Nj among the values of file 18, during the application of the method described with reference to FIG. 3. To take into account modifications possible in real time from the input data set 10 or the sending periodicity values, or even the available bitrate values, this process is repeated regularly.
  • a threshold Nj can initially have the value 1 which implies an effective bit rate of the transmission of the corresponding output assembly or sets, lower than the available bit rate Dj. This threshold is then incremented during step 56 to reach the value 2.
  • one or more output assemblies are always obtained, the transmission of which implies a bit rate lower than the available bit rate Dj.
  • the threshold Nj is then again incremented by one during step 56 to reach the value 3. Again the effective bit rate is lower than the available bit rate.
  • Nj is then again incremented by one during step 56 to reach the value
  • the threshold is decremented by one unit and returns to the value 3.
  • the input data set 10, or other parameters may have been modified, so that the effective bit rate with this threshold value of 3 is not necessarily equal to the effective bit rate previously calculated with this same threshold value.
  • the effective bit rate can at a certain time exceed the available bit rate Dj which requires a decrementation of this index during step 60.
  • the various threshold values of the file 18 are updated regularly to take account of changes in the parameters used by the system, or to be adjusted to the available bit rates and to the sending frequency.
  • the system represented in FIG. 5 is configured for the implementation of a method of processing data sets for the supply, from a plurality of sets of input, from a plurality of output sets to a plurality of recipients having a plurality of available transfer rates.
  • this system differs from that of FIG. 1 in that it comprises several filters 112, 212 and 312, identical to the filter 12 previously described, connected to the modification means 20.
  • the first filter 112 is adapted to receive as input data coming from a first set 110 of XML data, from a first file 116 of priority coefficients associated with each of the description data of the set 110 , and of a first set of thresholds 118. In addition, this first filter 112 is adapted to provide output from output assemblies 114 ⁇ , 1 14 114 n themselves supplied as inputs to modification means 20.
  • the second filter 212 is adapted to receive as input data from a second set 210 of XML data, from a second file 216 of priority coefficients associated with each of the description data of the set 210 and a second threshold file 218.
  • this second filter 212 is adapted to provide output sets 214 ! , 214 2 , ... 214 n , themselves supplied as input to the modification means 20.
  • C 2 ⁇ , C 2 , ... the priority coefficients of the second file 216 we will denote C 2 ⁇ , C 2 , ... the priority coefficients of the second file 216.
  • the third filter 312 is adapted to receive as input data coming from a third set 310 of XML data, from a third file 316 of priority coefficients associated with each of the description data of the set 310 and from a third threshold file 318.
  • This filter is also suitable for providing the output of the output assemblies 314 ⁇ 314 2 , ... 314 n , themselves supplied at the input of the modification means 20.
  • the modification means 20 receive as input a list of available bit rates DD 2 , ..., D n and a list of predetermined frequency of transfers to recipients, here consisting of three values of periodicity per available bit rate .
  • the flow D ⁇ is associated with the output sets 114 ⁇ 2 ⁇ ⁇ and 314 ⁇
  • the flow D correspond to three periodicities Pu, P 12 and P ⁇ 3 , to define the periodicity of sending the output sets 114 ⁇ 214 ! and 314 ⁇ respectively.
  • the flow D 2 is associated with the output assemblies 114 2 , 214 2 and 314.
  • the flow rate D 2 corresponds to three periodicities P ⁇ , P 22 and P 3 , to define the periodicity of sending the output assemblies 114 2 , 214 2 and 314 2 respectively.
  • the flow D 3 is associated with the outlet assemblies 114 3 , 214 3 and 314 3 .
  • the flow rate D 3 corresponds to three periodicities P 31 , P 32 and P 33 , in order to define the periodicities for sending the output assemblies 114 3 , 214 3 and 314 3 respectively.
  • the modification means 20 receive as input a priority list ordering the priority coefficients of the files 116, 216 and 316 in a global manner.
  • the modification means operate according to the method described above, to provide output assemblies 122 ⁇ 122 2 ... 122 n , 222 ! , 222 2 ... 222 n , 322 ! , 322 2 , ... 322 n , and transmit these output assemblies, according to the respective maximum authorized sizes DiPn, D ⁇ P 12 , D ⁇ . Etc.
  • FIG. 6 represents the complementarity of the output sets provided by the description data processing method, in accordance with the embodiment described above. Only three output assemblies are represented and are noted 22 ' ! , 22 ' 2 and 22' 3 . In this case, when description data is contained in one of the output sets, it is not present in the other sets, with the exception of the priority data associated with the zero coefficient. Thus, depending on the capacities of the network, or according to the storage capacities of the recipient, only one, two, or even three of the output sets generated by the filter 12 are transmitted.
  • Figure 7 shows the output sets provided by the description data processing method, according to another embodiment. Only three output assemblies are shown and are denoted 22 " ! , 22" 2 and 22 “ 3 to distinguish them from those provided by the previous embodiment.
  • the assembly 22" ⁇ includes all the data associated with the lower priority coefficients N-
  • the set 22 " 2 contains all the description data associated with the priority coefficients less than N 2 and the set 22" 3 includes all the description data associated with the lower priority coefficients N 3 . Consequently, the set 22 " 3 contains all the description data of the set 22" 2 , which itself contains all the description data of the set 22'V
  • the system represented in FIG. 8 illustrates a first use of the method described above, in the embodiment as described with reference to FIG. 6, in the context of a broadcasting application. It includes a server 70 'comprising means for storing the set 10 of input data. The filter 12 is also implemented on this server 70 '.
  • the threshold file 18 comprises for example three threshold values and the filter 12 is configured to supply the three output sets 22 ⁇ , 22 ' 2 and 22' 3 , on the basis of these threshold values.
  • the server 70 ′ is connected to a data transmission network 72, such as the Internet network, in order to broadcast these output sets to different recipients, by using the Multicast function of the Internet network.
  • a data transmission network 72 such as the Internet network
  • a first recipient is a terminal 74 connected to the data transmission network 72 by means of an ADSL line at 512 Kbits / s.
  • a second recipient is a terminal 76 connected to the data transmission network 72 by means of an ADSL line at 1024 Kbits / s.
  • a third recipient is a terminal 78 connected to the data transmission network 72 by means of an ADSL line at 2048 Kbits / s.
  • the description data is broadcast by the server 70 'to the terminals 74, 76 and 78 in the following manner, according to the capacities of their connection to the network 72: - only the data set 22' ⁇ is received by the terminal 74 ;
  • FIG. 9 illustrates a second use of the method described above, in the embodiment as described with reference to FIG. 4.
  • This system includes a server 70 "connected to the data transmission network 72.
  • the filter 12 is also implemented on this server 70".
  • the threshold file 18 comprises for example three threshold values and the filter 12 is configured to supply the three output sets 22! , 22 " 2 and 22" 3 , from these threshold values.
  • a first terminal 80 such as a GSM mobile telephone, is connected to the data transmission network 72 and is adapted to send a request ⁇ to the server 70 ".
  • This request contains information on the nature of terminal 80 (mobile phone
  • a second terminal 82 for example a personal digital assistant, is connected to the data transmission network 72 and is adapted to send a request r 2 to the server 70 ". This request contains information on the nature of the terminal 82
  • a third terminal 84 for example a microcomputer, is connected to the network
  • This request contains information on the nature of the terminal 84 (microcomputer) and therefore on its capacities to store a response to this request (for example, the server will limit its response to 10 KB for this terminal).
  • the description data are transmitted by the server 70 "to the terminals 80, 82 and 84 in the following manner, according to the capacities of their connection to the network 72:

Abstract

11. Ce procédé comporte les étapes suivantes - on affecte des coefficients de priorité (16) à au moins une partie des données de description d'un ensemble d'entrée (10) ; - on associe à au moins un ensemble de sortie (221, 222, ..., 22n), au moins un seuil (18) de coefficients de priorité ; - on répartit les données dans au moins un ensemble de sortie intermédiaire (141, 142, ..., 14n) en fonction des coefficients de priorité (16) affectés aux éléments de l'ensemble d'entrée et du seuil (18) associé à chaque ensemble de sortie ; - on modifie le seuil (18) associé à chaque ensemble de sortie en calculant au moins un nouveau seuil en fonction d'une liste de débits disponibles et de la taille de chaque ensemble de sortie intermédiaire ; - on exécute de nouveau les étapes de répartition des données et de modification de seuils (18) tant que la taille dudit ensemble de sortie intermédiaire (141, 142, ..., 14n) n'est pas adaptée aux débits disponibles selon un critère prédéterminé ; et - on fournit ledit ensemble de sortie intermédiaire (141, 142, ..., 14n) en tant qu'ensemble de sortie (221, 222, ..., 22n), lorsque sa taille est adaptée aux débits disponibles.

Description

Procédé de traitement d'ensembles de données de description de contenus multimédia avec mise à jour, utilisation de ce procédé et programme d'ordinateur correspondant
La présente invention concerne un procédé de traitement d'ensembles de données de description de contenus multimédia, pour la fourniture d'au moins un ensemble de sortie à partir d'au moins un ensemble d'entrée. L'invention concerne également l'utilisation d'un tel procédé et un programme d'ordinateur correspondant. On connaît des procédés de génération d'ensembles de données de description de contenus multimédia, notamment selon le standard DVB (de l'anglais "Digital Video Broadcast"). Une fois générés, ces ensembles sont destinés à être transmis à des moyens de stockage distants sous forme de fichiers, ou bien tout simplement à être diffusés avec les contenus multimédia auxquels ils sont associés. Cependant, la taille de ces ensembles de données ne peut pas être modifiée une fois que ceux-ci sont générés, notamment pour répondre à des contraintes du réseau de diffusion, ou des contraintes des moyens de stockage distants. Autrement dit, une fois que l'ensemble de données de description est généré par l'opérateur de service ou de réseau, il est transmis à destination des récepteurs sans pouvoir être modifié dynamiquement. Sur un réseau de diffusion DVB, dans le cadre d'un transfert de données MPEG2, le débit instantané disponible est élevé et constant, ce qui permet de transmettre aisément ces ensembles de données de description. Par contre, sur un réseau de type Internet, pour lequel la qualité de service est variable, la transmission de ces ensembles de données peut poser des problèmes, lorsqu'ils sont trop volumineux. En conclusions, ce qui ne pose pas de problème en diffusion classique devient problématique dans le contexte d'Internet.
L'invention vise à remédier à cet inconvénient en fournissant un procédé de traitement d'ensembles de données de description permettant de prendre en compte des contraintes de débit du réseau de diffusion des ensembles de données, lors de la génération de ces ensembles de données.
L'invention a donc pour objet un procédé de traitement d'ensembles de données de description de contenus multimédia, pour la fourniture d'au moins un ensemble de sortie à partir d'au moins un ensemble d'entrée, caractérisé en ce qu'il comporte les étapes suivantes : - on affecte des coefficients de priorité à au moins une partie des données de description de l'ensemble d'entrée ;
- on associe à chaque ensemble de sortie, au moins un seuil de coefficients de priorité ; - on répartit les données dans au moins un ensemble de sortie intermédiaire en fonction des coefficients de priorité affectés aux éléments de l'ensemble d'entrée et du seuil associé à chaque ensemble de sortie ;
- on modifie le seuil associé à chaque ensemble de sortie en calculant au moins un nouveau seuil en fonction d'une liste de débits disponibles et de la taille de chaque ensemble de sortie intermédiaire ;
- on exécute de nouveau les étapes de répartition des données et de modification de seuils tant que la taille dudit ensemble de sortie intermédiaire n'est pas adaptée aux débits disponibles selon un critère prédéterminé ; et - on fournit ledit ensemble de sortie intermédiaire en tant qu'ensemble de sortie, lorsque sa taille est adaptée aux débits disponibles.
Ainsi, en fonction des coefficients de priorité affectés à chacune des données de description, celles-ci sont réparties dans un ou plusieurs ensembles de sortie. La modification du ou des seuils de coefficients de priorité permet de réguler la taille du ou des ensembles de sortie en fonction de contraintes du réseau pour parvenir à un destinataire.
Un procédé de traitement d'ensembles de données selon l'invention peut en outre comporter les caractéristiques suivantes :
- on modifie le seuil de façon périodique ; - le procédé comporte en outre une étape de transmission d'au moins un ensemble de sortie vers un destinataire en fonction des capacités de moyens de transmission des données de description vers le destinataire ;
- le procédé comporte en outre une étape de transmission d'au moins un ensemble de sortie vers un destinataire en fonction des capacités de moyens de stockage du destinataire ;
- le procédé comporte en outre une étape de transmission d'au moins un ensemble de sortie vers un destinataire en fonction d'un niveau de souscription de l'usager à un service prédéterminé ;
- le procédé comporte en outre une étape de transmission d'au moins un ensemble de sortie vers un destinataire en fonction d'un paiement effectué préalablement pour l'accès à cet ensemble de sortie. L'invention a également pour objet un procédé de traitement d'ensembles de données tel que décrit précédemment, pour la fourniture d'au moins un ensemble de sortie à partir d'une pluralité d'ensembles d'entrée. L'invention a également pour objet l'utilisation d'un procédé de traitement d'ensembles de données de description tel que défini précédemment, pour le traitement d'un fichier de données XML.
L'invention a également pour objet un programme d'ordinateur adapté pour le traitement d'ensembles de données de description de contenus multimédia, pour la fourniture d'au moins un ensemble de sortie à partir d'au moins un ensemble d'entrée, caractérisé en ce qu'il comporte :
- des moyens de lecture d'un ensemble de coefficients de priorité affectés à au moins une partie des données de description de l'ensemble d'entrée ; - des moyens de lecture d'au moins un seuil de coefficients de priorité associé à chaque ensemble de sortie ;
- des moyens de répartition des données dans au moins un ensemble de sortie intermédiaire en fonction des coefficients de priorité affectés aux éléments de l'ensemble d'entrée et du seuil associé à chaque ensemble de sortie ;
- des moyens de modification du seuil associé à chaque ensemble de sortie par le calcul d'au moins un nouveau seuil en fonction d'une liste de débits disponibles et de la taille de chaque ensemble de sortie intermédiaire, pour l'adaptation de la taille dudit ensemble de sortie intermédiaire aux débits disponibles ; et
- des moyens de fourniture de cet ensemble de sortie intermédiaire en tant qu'ensemble de sortie, lorsque sa taille est adaptée aux débits disponibles.
Enfin, l'invention a également pour objet un programme d'ordinateur tel que décrit précédemment, pour la fourniture d'au moins un ensemble de sortie à partir d'une pluralité d'ensembles d'entrée.
L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels :
- la figure 1 représente schématiquement la structure d'un système de mise en œuvre d'un procédé de traitement d'ensembles de données selon un premier mode de réalisation de l'invention ;
- les figures 2 et 3 représentent les étapes successives d'un procédé selon l'invention ;
- la figure 4 est un diagramme représentant l'évolution de seuils mis à jour selon le procédé de la figure 3 ; - la figure 5 représente schématiquement la structure d'un système de mise en œuvre d'un procédé de traitement d'ensembles de données selon un second mode de réalisation de l'invention ;
- la figure 6 illustre symboliquement des fichiers de sortie fournis par un procédé selon une première variante de l'invention ;
- la figure 7 illustre symboliquement des fichiers de sortie fournis par un procédé selon une seconde variante de l'invention ;
- la figure 8 représente schématiquement la structure générale d'un premier système permettant l'utilisation d'un procédé selon l'invention ; et - la figure 9 représente schématiquement la structure générale d'un second système permettant l'utilisation d'un procédé selon l'invention.
Le système représenté sur la figure 1 comporte un ensemble 10 de données XML
(de l'Anglais « eXtended Markup Language ») d'entrée destiné à être traité par un filtre
12, pour la fourniture en sortie du filtre d'une pluralité d'ensembles de sortie 141 ( 142, ..., 14n, chacun de ces ensembles de sortie comportant une partie des données XML contenues dans l'ensemble 10.
On notera que les données XML ne constituent qu'un exemple de données de description et que l'invention peut également s'appliquer à des données de description conformes à un autre standard. Le filtre 12 est par exemple un programme exécutable stocké par un microordinateur (non représenté).
Le filtre 12 est adapté pour recevoir en entrée un fichier 16 de coefficients de priorité associés à chacune des données de description de l'ensemble 10 de données XML. Chaque donnée XML est soit un élément délimité par une balise ouvrante et une balise fermante de même nom dans l'ensemble de données XML 10, soit un attribut rattaché à un élément. Le fichier 16 associe alors à chaque donnée XML un coefficient de priorité.
Le filtre 12 est également adapté pour recevoir en entrée un fichier 18 comportant des seuils de coefficients de priorité, ces seuils étant associés respectivement aux ensembles 14ι, 142, ..., 14π. Dans un mode de réalisation préféré, on affecte aux données des coefficients de priorité d'autant plus élevés que les données associées à ces coefficients sont de priorité faible. Ainsi, on affecte un coefficient de priorité égal à zéro, pour les données de description les plus importantes, c'est-à-dire celles qui doivent être contenues dans tous les ensembles de sortie 14ι, 142, ..., 14n. On affecte ensuite des coefficients strictement positifs aux autres données, déterminés en fonction de leur importance. Enfin, en ce qui concerne les données de description les moins importantes, on peut ne pas leur affecter de coefficient de priorité, si l'on considère que l'absence de coefficient correspond à un coefficient infini.
Dans un mode préféré de réalisation, le fichier 18 de seuils de coefficients de priorité comporte n valeurs de seuils Ni, ..., Nn. Le filtre 12 est alors configuré pour :
- recopier dans l'ensemble 14ι les données associées au coefficient de priorité nul et les données associées aux coefficients de priorité inférieurs ou égaux à Ni ;
- recopier dans l'ensemble 142 les données associées au coefficient de priorité nul et les données associées aux coefficients de priorité strictement supérieurs à l^ et inférieurs ou égaux à N2 ;
- recopier dans l'ensemble 14n les données associées au coefficient de priorité nul et les données associées aux coefficients de priorité strictement supérieurs à Nn-1 et inférieurs ou égaux à Nn.
En variante, le filtre 12 peut aussi être configuré pour recopier dans un ensemble supplémentaire 14n+1 les données associées au coefficient de priorité nul et les données associées aux coefficients de priorité strictement supérieurs à Nn, notamment les données qui ne sont associées à aucun coefficient de priorité. II en résulte que les ensembles fournis en sortie 14^ 142, ..., 14n (et éventuellement
14n+ι) ont la propriété d'être complémentaires, c'est-à-dire que les données de description qu'ils contiennent sont distinctes, à l'exception des données de description associées au coefficient de priorité nul.
Les ensembles de sortie 14^ 142, ..., 14n sont ensuite destinés à être transmis à travers un réseau de transmission de données ou à être stockés dans des moyens de stockage d'un ou plusieurs destinataires distants.
Dans le cas d'une application à des données de description de contenus audiovisuels, l'ensemble de sortie 14ι comporte les données les plus importantes, par exemple le titre ou la durée d'un film, alors que les autres ensembles 142 14n (et éventuellement 14n+ι) comportent des données de moins en moins importantes, telles que par exemple les acteurs ou la date de réalisation d'un film.
Pour illustrer plus précisément le système qui vient d'être décrit, l'ensemble de données d'entrée est par exemple une table XML telle que la table suivante, inspirée des spécifications du forum TV-Anytime : <TVAMain>
<ProgramLocationTable version="11 "> <Schedule> <Event>
<Program crid="c d://www.ft.com/Lanœlot" /> <EventDescription> <PublishedTime 2000-05-31 T17: 10:00/>
<PublishedDuration PlY0M0DT01H35M00S/> </EventDescription> </Event> <Event> <Program
Figure imgf000008_0001
<EventDescription>
<PublishedTime 2000-05-31 T14:00:00/> <PublishedDuration P 1 YOMODT01 H35M00 /> </EventDescription> </Event>
<Event>
<Program crid= "crid://www. ft. com/Merlin " /> <EventDescription>
<PublishedTime2000-05-31 T12: 10:00/> <PublishedDurationP1 Y0M0DT01H35M00S/>
</EventDescήption> </Event> <Event>
<Program crid="crid://www. ft. corn/Arthur" /> <EventDescription>
<PublishedTime 2000-05-31 T16:10:00/> </EventDescription> </Event> </Schedule> </ProgramLocationTable>
<Programlnformation version= "9 " programld= "crid://www. FT. com/Merlin "> <BasicDescription>
<Title> Concert </ Title > </BasicDescription> </Programlnformation>
<Programlnformation version= "13" programld= "crid://www. FT. com/Viviane "> <BasicDescription>
<Title> La fée </ Title > </BasicDescription> </Programlnformation> <Programlnformation version="11 " programld="crid://www.FT.com/Lancelot">
<BasicDescription>
<Title> Chevalier </ Title > </BasicDescription> </Programlnformation> <Programlnformation version="15" rogramld="crid://www.FT.com/Arthur">
<BasicDescription>
<Title> Roi </ Title > </BasicDescription> </Programlnformation> </TVAMain>
Un fichier de construction des coefficients de priorité est par exemple le fichier suivant :
//étape de tri par ordre chronologique de date
Opération (field=(dateTime)Schedule/Event/PublishedTime() , mode=« tri ») Filtre (
//suppression des événements passés (Merlin) Event[((dateTime) EventDescription/PublishedTimeQ + (duration) EventDescription/PublishedDuration()) < 2000-05-31 T14:30:00 ]: remove
)
//affectation d'une priorité max aux événements courant et suivant Filtre(
Programlnformation[position()<=2] : 1 Programlnformation[position()>2 & position()<4] : 3
)
ListeVar= Operation( field = Schedule/Event/Program/@crid , mode=" extraction") Filtre(
Programlnformation[/@programld() ~ une des valeurs de ListeVar[1 :2] : 1
Programlnformation[/@programld() == une des valeurs de ListeVar[3:*] : 3 Schedule/Event[Program/@crid() == une des valeurs de ListeVar[1 :2] : 1 Schedule/Event[Program/@crid() == une des valeurs de ListeVar[3:*] : 3
)
On notera que ce fichier comporte des instructions pour affecter des coefficients de priorité à chacune des données du fichier d'entrée 10, et également des instructions visant à trier les données XML de la table d'entrée, ou à en supprimer certaines.
Les données de la table d'entrée peuvent avoir des relations d'héritage entre elles, de sorte qu'une donnée parent (par exemple la donnée TVAMain) ayant au moins un descendant peut hériter du coefficient de priorité de ce descendant.
Il permet la génération du fichier 16 de coefficients de priorité suivant (présenté sous forme d'un tableau) :
Figure imgf000010_0001
Figure imgf000011_0001
Le fichier 18 de seuils est par exemple le fichier suivant : Niveau N1 = 2 Niveau N2 = 4 Niveau N3 = 65000 où le nombre 65000 représente l'infini.
L'application du filtre 12 à la table XML précédente avec les fichiers 16 et 18 donnés en exemple donne deux tables XML de sortie 14ι et 142.
La première table XML 14! comporte les données suivantes : <TVAMain> <ProgramLocation Table version= " 11 ">
<Schedule> <Event>
<Program crid="crid://www. ft. com/Viviane " /> <EventDescription> <PublishedTime 2000-05-31 T14:00:00/>
<PublishedDuration P1 Y0M0DT01 H35M00S/> </EventDescription> </Event> <Event> <Program crid="crid://www.ft.com/Arthur"/>
<EventDescription>
<PublishedTime 2000-05-31 T16: 10:00/> </EventDescription> </Event> </Schedule>
</ProgramLocationTable>
<Programlnformation programld="crid://www. FT. com/Viviane "> <BasicDescription>
<Title> Concert </ Title > </BasicDescription>
</Programlnformation>
<Programlnformation programld= "crid://www. FT. co / Arthur" > <BasicDescription>
<Title> La fée </ Title > </BasicDescription>
</Programlnformation> </TVAMain>
La deuxième table XML 142 comporte les données suivantes : <TVAMain>
<ProgramLocationTable version="11"> <Schedule>
<Event>
<Program crid="crid://www. ft. com/Lancelot" /> <EventDescription>
<PublishedTime>2000-05-31 T17: 10:00/> <PublishedDuration>P1Y0M0DT01H35M00S/>
</EventDescription> </Event> </Schedule> </ProgramLocation Table> <Program Information version="11" programld="crid://www.FT.com/Lancelot">
<BasicDescription>
<Title> Chevalier </Title > </BasicDescription> </Programlnformation> </TVAMain>
Le système représenté sur la figure 1 comporte en outre des moyens 20 de modification du fichier de seuil 18.
Ces moyens de modification 20 reçoivent en entrée une liste de débits disponibles en sortie du système vers n destinataires distincts. Ces débits peuvent être fournis de façon manuelle, mais également de façon automatique, avec une mise à jour en temps réel en fonction des évolutions de la connexion entre le système et les destinataires.
Les moyens de modification 20 reçoivent également en entrée une liste de périodicités prédéterminées des transferts vers les destinataires.
Ainsi par exemple, pour un premier destinataire, une liaison au débit O^ est disponible et la périodicité des émissions doit être de Pi. De façon plus générale, à chaque destinataire, on associe un débit Dj et une périodicité Pj.
Si au moins un ensemble de sortie quelconque doit être transmis à un destinataire, les moyens de modification 20 comparent la taille de cet ensemble de sortie au produit du débit disponible Dj par la périodicité requise Pj. Si taille est supérieure au produit Dj Pj, les moyens de modification 20 calculent de nouvelles valeurs des seuils du fichier 18, pour réduire la taille de l'ensemble de sortie considéré et permettre sa transmission au destinataire correspondant.
Ainsi, en prenant en compte la liste des débits disponibles D^ D2, ..., Dπ, et la liste des périodicités requises Pi, P2 Pn. les moyens de modification 20 calculent de nouveaux seuils et relancent la génération par le filtre 12 des ensembles de sortie 14ι, 142, ..., 14n s'il y a modification des seuils, pour fournir en sortie du système, des ensembles de sortie 22ι, 222, ..., 22n dont les tailles sont adaptées aux destinataires auxquels ils doivent être transmis.
Le fonctionnement des moyens de modification 20 sera détaillé en référence à la figure 3.
La figure 2 représente les étapes successives du procédé de traitement mis en œuvre par le filtre 12.
Ce procédé comporte une première étape 30 d'initialisation et de lecture des données fournies en entrée du filtre 12, notamment de lecture des fichiers 16 et 18. Lors de cette étape, un indice i est initialisé à 1 , une borne inférieure Binf est initialisée à zéro et une borne supérieure Bsup est initialisée à N, = Ni.
Lors de l'étape 32 suivante, on crée un fichier f,, correspondant au i-ème ensemble de sortie 14j.
Ensuite, lors d'une étape 34 de lecture de l'ensemble 10 de données d'entrée, le filtre 12 cherche puis lit une donnée XML de l'ensemble d'entrée 10 associée à un coefficient de priorité égal à zéro, ou strictement supérieur à Binf et inférieur ou égal Bsup.
Lors de l'étape 36 suivante, le filtre 12 accède à la balise correspondant à cette donnée XML et insère la donnée XML dans le fichier de sortie fj. Lors de l'étape de test 38 suivante, le filtre 12 vérifie s'il a lu la dernière donnée XML de l'ensemble d'entrée 10. Si ce n'est pas le cas, on revient à l'étape 34, pour poursuivre la lecture des données XML dans l'ensemble 10 de données d'entrée.
Si la dernière donnée XML a été lue, on passe à une étape 40 de validation et de sauvegarde du fichier de sortie fj. Ensuite, lors d'une étape de test 42, on vérifie si le fichier de sortie généré fj est le dernier fichier de sortie devant être généré.
Si ce n'est pas le cas, on passe à une étape 44 d'incrémentation. Lors de cette étape 44, l'indice i est incrémenté d'une unité, puis l'on affecte à Binf la valeur Nj.i, et à Bsup la valeur Nj. On passe ensuite de nouveau à l'étape 32 pour la création d'un nouveau fichier fj. Sinon, c'est-à-dire si lors de l'étape de test 42 on constate qu'on a généré le dernier fichier de sortie 14n, on passe à une étape 46 de fin de procédé.
La figure 3 représente les étapes successives du procédé de traitement mis en œuvre par les moyens de modification 20. Ce procédé comporte une première étape 50 d'initialisation et de lecture des données fournies en entrée des moyens de modification 20, notamment de lecture de la liste des débits disponibles D^ D2, ..., Dn, de lecture de la liste des périodicités P-i, P2, ...,
Pn, et de calculs de la taille maximale d'au moins un ensemble de sortie devant être transmis à un i-ème destinataire. La taille maximale du ou des ensembles de sortie devant être envoyés à ce destinataire est égale au produit Dj PL
Lors de cette étape également on initialise un indice i à la valeur 1. Lors de l'étape 52 suivante, on active le filtre 12 pour que celui-ci génère le ou les ensembles de sortie devant être transférés au i-ème destinataire, à l'aide du fichier de seuils 18. Lors de cette étape également, on calcule la taille effective du ou des ensembles de sortie ainsi générés.
Ensuite, lors d'une étape de test 54, on teste si la taille du ou des ensembles de sortie ainsi générés est inférieure à la taille maximale souhaitée, calculée lors de l'étape
50. Si c'est le cas, on passe à une étape 56 d'incrémentation du ou des niveaux de seuil correspondant à ce ou à ces ensembles de sortie, dans le fichier de seuils 18, puis de nouveau à l'étape 52.
Sinon, on passe à une deuxième étape test 58, lors de laquelle on teste si la taille effective du ou des ensembles de sortie est supérieure à la taille maximale souhaitée, calculée lors de l'étape 50. Si c'est le cas, on passe à une étape 60 lors de laquelle on décrémente d'une unité le ou les niveaux de seuil correspondant à l'ensemble de sortie ou aux ensembles de sortie devant être transférés au i-ème destinataire. On retourne ensuite à l'étape 52.
Sinon, on passe à une étape 62, lors de laquelle on incrémente l'indice i d'une unité, la taille du ou des ensembles de sortie étant égale à la taille maximale calculée lors de l'étape 50. En variante, lors des étapes 54 et 58, on peut définir une marge δ permettant de passer à l'étape 62, même si la taille du ou des ensembles de sortie n'est pas strictement égale à la taille maximale souhaitée.
Ensuite, lors de l'étape de test suivante 64, on teste la valeur de l'indice i. Si cet indice est égal à n, alors on passe à une étape 68 de fin de procédé, sinon on passe de nouveau à l'étape 52. Lors de la dernière étape 68, on peut décider de diffuser les ensembles de sortie obtenus vers les destinataires ou de stocker localement ces ensembles de sortie pour les diffuser ultérieurement.
Le diagramme de la figure 4 représente l'évolution au cours du temps d'une valeur de seuil quelconque Nj parmi les valeurs du fichier 18, lors de l'application du procédé décrit en référence à la figure 3. Pour prendre en compte des modifications possibles en temps réel de l'ensemble de données d'entrée 10 ou des valeurs de périodicité d'envoi, ou bien encore des valeurs de débit disponible, ce procédé est réitéré régulièrement.
Par exemple, comme cela est illustré sur la figure 4, un seuil Nj peut initialement avoir la valeur 1 qui implique un débit effectif de la transmission du ou des ensembles de sortie correspondant, inférieur au débit disponible Dj. Ce seuil est alors incrémenté lors de l'étape 56 pour atteindre la valeur 2.
Comme cela est illustré de nouveau sur la figure 4, avec la valeur 2, on obtient toujours un ou plusieurs ensembles de sortie dont la transmission implique un débit inférieur au débit disponible Dj.
Le seuil Nj est alors de nouveau incrémenté d'une unité lors de l'étape 56 pour atteindre la valeur 3. De nouveau le débit effectif est inférieur au débit disponible. Le seuil
Nj est alors de nouveau incrémenté d'une unité lors de l'étape 56 pour atteindre la valeur
4. Avec cette valeur, le débit effectif dépasse le débit disponible D,. Ainsi, lors de l'étape 60, le seuil est décrémenté d'une unité et retrouve la valeur 3.
Entre temps, l'ensemble de données d'entrée 10, ou d'autres paramètres peuvent avoir été modifiés, de sorte que le débit effectif avec cette valeur de seuil à 3 n'est pas nécessairement égal au débit effectif calculé précédemment avec cette même valeur de seuil. Ainsi, de nouveau avec cette même valeur de seuil Nj= 3, le débit effectif peut à un certain moment dépasser le débit disponible Dj ce qui nécessite une décrémentation de cette indice lors de l'étape 60.
On voit que les différentes valeurs de seuil du fichier 18 sont mises à jour régulièrement pour tenir compte des modifications des paramètres utilisés par le système, ou pour être ajustées aux débits disponibles et aux périodicités d'envoi. Selon un second mode de réalisation de l'invention, le système représenté sur la figure 5 est configuré pour la mise en œuvre d'un procédé de traitement d'ensembles de données pour la fourniture, à partir d'une pluralité d'ensembles d'entrée, d'une pluralité d'ensembles de sortie vers une pluralité de destinataires présentant une pluralité de débits de transfert disponibles. Pour cela, ce système se distingue de celui de la figure 1 en ce qu'il comporte plusieurs filtres 112, 212 et 312, identiques au filtre 12 précédemment décrit, reliés aux moyens de modification 20. Le premier filtre 112 est adapté pour recevoir en entrée des données provenant d'un premier ensemble 110 de données XML, d'un premier fichier 116 de coefficients de priorité associés à chacune des données de description de l'ensemble 110, et d'un premier ensemble de seuils 118. En outre, ce premier filtre 112 est adapté pour fournir en sortie des ensembles de sortie 114ι, 1 14 114n eux-mêmes fournis en entrées des moyens de modification 20. On notera Cn, C12, ... les coefficients de priorités du premier fichier 1 16. Par exemple Cn = 0, Cι2 = 1 , ...
De la même façon, le deuxième filtre 212 est adapté pour recevoir en entrée des données provenant d'un deuxième ensemble 210 de données XML, d'un deuxième fichier 216 de coefficients de priorités associé à chacune des données de description de l'ensemble 210 et d'un deuxième fichier de seuils 218. En outre, ce deuxième filtre 212 est adapté pour fournir en sortie des ensembles de sortie 214! , 2142, ...214n, eux-mêmes fournis en entrée des moyens de modification 20. On notera C2ι, C 2, ... les coefficients de priorités du deuxième fichier 216. Enfin, le troisième filtre 312 est adapté pour recevoir en entrée des données provenant d'un troisième ensemble 310 de données XML, d'un troisième fichier 316 de coefficients de priorité associés à chacune des données de description de l'ensemble 310 et d'un troisième fichier de seuils 318. Ce filtre est lui aussi adapté pour fournir en sortie des ensembles de sortie 314^ 3142, ...314n, eux-mêmes fournis en entrée des moyens de modification 20. On notera C31, C32, ... les coefficients de priorités du troisième fichier 316.
Dans ce mode de réalisation, les moyens de modification 20 reçoivent en entrée une liste de débits disponibles D D2, ..., Dn et une liste de périodicités prédéterminées des transferts vers les destinataires, constituée ici de trois valeurs de périodicité par débit disponible. Par exemple, le débit D^ est associé aux ensembles de sortie 114^ 2Λ \ et 314^ Au débit D correspondent trois périodicités Pu, P12 et Pι3, pour définir les périodicités d'envoi des ensembles de sortie 114^ 214! et 314ι respectivement. Le débit D2 est associé aux ensembles de sortie 1142, 2142 et 314 . Au débit D2 correspondent trois périodicités P ι, P22 et P 3, pour définir les périodicités d'envoi des ensembles de sortie 1142, 2142 et 3142 respectivement. Le débit D3 est associé aux ensembles de sortie 1143, 2143 et 3143. Au débit D3 correspondent trois périodicités P31, P32 et P33, pour définir les périodicités d'envoi des ensembles de sortie 1143, 2143 et 3143 respectivement.
En outre, les moyens de modification 20 reçoivent en entrée une liste de priorités ordonnant d'une façon globale les coefficients de priorité des fichiers 116, 216 et 316. Par exemple, cette liste comporte les éléments ordonnés suivants : (Cn, C2ι, C3ι, C32, C1 , C-22, C33, ...). Elle définit quelles données des ensembles d'entrée 110, 210 et 310 doivent être transmises d'une façon globale. Par exemple, une donnée de priorité C32 = 2 de l'ensemble 310 est prioritaire par rapport à une donnée de priorité C12 = 2 de l'ensemble 110.
Les moyens de modification fonctionnent selon le procédé décrit précédemment, pour fournir en sortie des ensembles de sortie 122^ 1222...122n, 222!, 2222...222n, 322!, 3222, ...322n, et transmettre ces ensembles de sortie, en fonction des tailles maximales autorisées respectives DiPn, DιP12, D^^.etc.
La figure 6 représente la complémentarité des ensembles de sortie fournis par le procédé de traitement de données de description, conformément au mode de réalisation décrit précédemment. Seuls trois ensembles de sortie sont représentés et sont notés 22'!, 22'2 et 22'3. Dans ce cas, lorsque des données de description sont contenues dans l'un des ensembles de sortie, elles ne sont pas présentes dans les autres ensembles, à l'exception des données de priorité associées au coefficient nul. Ainsi, en fonction des capacités du réseau, ou en fonction des capacités de stockage du destinataire, on transmet l'un uniquement, deux, ou bien trois des ensembles de sortie générés par le filtre 12.
En variante, la figure 7 représente les ensembles de sortie fournis par le procédé de traitement de données de description, conformément à un autre mode de réalisation. Seuls trois ensembles de sortie sont représentés et sont notés 22"!, 22"2 et 22"3 pour les distinguer de ceux fournis par le mode de réalisation précédent. Dans ce cas, l'ensemble 22"ι comporte toutes les données associées aux coefficients de priorité inférieurs N-|. L'ensemble 22"2 contient toutes les données de description associées aux coefficients de priorité inférieurs à N2 et l'ensemble 22"3 comprend toutes les données de description associées aux coefficients de priorité inférieurs N3. Par conséquent, l'ensemble 22"3 contient toutes les données de description de l'ensemble 22"2, qui lui-même contient toutes les données de description de l'ensemble 22'V
Ainsi, dans ce mode de réalisation, en fonction des capacités du réseau, ou en fonction des capacités de stockage du destinataire, on transmet l'un uniquement des ensembles de sortie générés par le filtre 12. Le système représenté sur la figure 8 illustre une première utilisation du procédé décrit précédemment, dans le mode de réalisation tel que décrit en référence à la figure 6, dans le cadre d'une application de diffusion. Il comporte un serveur 70' comprenant des moyens de stockage de l'ensemble 10 de données d'entrée. Le filtre 12 est en outre implémenté sur ce serveur 70'. Le fichier 18 de seuils comporte par exemple trois valeurs seuils et le filtre 12 est configuré pour fournir les trois ensembles de sortie 22^, 22'2 et 22'3, à partir de ces valeurs seuils.
Le serveur 70' est relié à un réseau de transmission de données 72, tel que le réseau Internet, pour diffuser ces ensembles de sortie à différents destinataires, en utilisant la fonction Multicast du réseau Internet.
Ainsi, par exemple un premier destinataire est un terminal 74 relié au réseau 72 de transmission de données au moyen d'une ligne ADSL à 512 Kbits/s.
Un deuxième destinataire est un terminal 76 relié au réseau 72 de transmission de données au moyen d'une ligne ADSL à 1024 Kbits/s.
Enfin, un troisième destinataire est un terminal 78 relié au réseau 72 de transmission de données au moyen d'une ligne ADSL à 2048 Kbits/s.
Les données de description sont diffusées par le serveur 70' aux terminaux 74, 76 et 78 de la façon suivante, en fonction des capacités de leur raccordement au réseau 72 : - seul l'ensemble de données 22'ι est reçu par le terminal 74 ;
- les ensembles de données 22'! et 22'2 sont reçus par le terminal 76 ; et
- les ensembles de données 22'1 ; 22'2 et 22'3 sont reçus par le terminal 78. Le système représenté sur la figure 9 illustre une seconde utilisation du procédé décrit précédemment, dans le mode de réalisation tel que décrit en référence à la figure 4. Ce système comporte un serveur 70" relié au réseau 72 de transmission de données. Le filtre 12 est en outre implémenté sur ce serveur 70".
Le fichier 18 de seuils comporte par exemple trois valeurs seuils et le filtre 12 est configuré pour fournir les trois ensembles de sortie 22! , 22"2 et 22"3, à partir de ces valeurs seuils. Un premier terminal 80, tel qu'un téléphone mobile GSM, est relié au réseau 72 de transmission de données et est adapté pour émettre une requête η vers le serveur 70".
Cette requête contient des informations sur la nature du terminal 80 (téléphone mobile
GSM) et donc sur ses capacités à stocker une réponse à cette requête (par exemple, le serveur limitera sa réponse à 2 Ko pour ce terminal). Un deuxième terminal 82, par exemple un assistant numérique personnel, est relié au réseau 72 de transmission de données et est adapté pour émettre une requête r2 vers le serveur 70". Cette requête contient des informations sur la nature du terminal 82
(assistant numérique personnel) et donc sur ses capacités à stocker une réponse à cette requête (par exemple, le serveur limitera sa réponse à 3 Ko pour ce terminal). Enfin, un troisième terminal 84, par exemple un micro-ordinateur, est relié au réseau
72 de transmission de données et est adapté pour émettre une requête r3 vers le serveur 70". Cette requête contient des informations sur la nature du terminal 84 (microordinateur) et donc sur ses capacités à stocker une réponse à cette requête (par exemple, le serveur limitera sa réponse à 10 Ko pour ce terminal).
En conséquence, les données de description sont transmises par le serveur 70" aux terminaux 80, 82 et 84 de la façon suivante, en fonction des capacités de leur raccordement au réseau 72 :
- seul l'ensemble de données 22"i est transmis au terminal 80 ;
- seul l'ensemble de données 22" est transmis au terminal 82 ; et
- seul l'ensemble de données 22"3 est transmis au terminal 84.

Claims

REVENDICATIONS
1. Procédé de traitement d'ensembles de données de description de contenus multimédia, pour la fourniture d'au moins un ensemble de sortie (22! , 222, ..., 22n) à partir d'au moins un ensemble d'entrée (10), caractérisé en ce qu'il comporte les étapes suivantes :
- on affecte des coefficients de priorité (16) à au moins une partie des données de description de l'ensemble d'entrée (10) ;
- on associe à chaque ensemble de sortie (22ι, 222 22n), au moins un seuil (18) de coefficients de priorité ;
- on répartit les données dans au moins un ensemble de sortie intermédiaire (14ι, 142, ..., 14n) en fonction des coefficients de priorité (16) affectés aux éléments de l'ensemble d'entrée et du seuil (18) associé à chaque ensemble de sortie ; - on modifie le seuil (18) associé à chaque ensemble de sortie en calculant au moins un nouveau seuil en fonction d'une liste de débits disponibles et de la taille de chaque ensemble de sortie intermédiaire ;
- on exécute de nouveau les étapes de répartition des données et de modification de seuils (18) tant que la taille dudit ensemble de sortie intermédiaire (14ι, 142, ..., 14n) n'est pas adaptée aux débits disponibles selon un critère prédéterminé ; et
- on fournit ledit ensemble de sortie intermédiaire (14^ 142 14n) en tant qu'ensemble de sortie (22ι, 222, ..., 22n), lorsque sa taille est adaptée aux débits disponibles.
2. Procédé de traitement d'ensembles de données selon la revendication 1 , caractérisé en ce qu'on modifie le seuil de façon périodique.
3. Procédé de traitement d'ensembles de données selon la revendication 1 ou 2, caractérisé en ce qu'il comporte en outre une étape de transmission d'au moins un ensemble de sortie (22! , 222, ..., 22n) vers un destinataire (74, 76, 78 ; 80, 82, 84) en fonction des capacités de moyens de transmission des données de description vers le destinataire.
4. Procédé de traitement d'ensembles de données selon la revendication 1 ou 2, caractérisé en ce qu'il comporte en outre une étape de transmission d'au moins un ensemble de sortie (22! , 222, ..., 22n) vers un destinataire (74, 76, 78 ; 80, 82, 84) en fonction des capacités de moyens de stockage du destinataire.
5. Procédé de traitement d'ensembles de données selon la revendication 1 ou 2, caractérisé en ce qu'il comporte en outre une étape de transmission d'au moins un ensemble de sortie (22ι, 222, ..., 22n) vers un destinataire (74, 76, 78 ; 80, 82, 84) en fonction d'un niveau de souscription de l'usager à un service prédéterminé.
6. Procédé de traitement d'ensembles de données selon la revendication 1 ou 2, caractérisé en ce qu'il comporte en outre une étape de transmission d'au moins un ensemble de sortie (22!, 222, ..., 22n) vers un destinataire (74, 76, 78 ; 80, 82, 84) en fonction d'un paiement effectué préalablement pour l'accès à cet ensemble de sortie (22ι,
7. Procédé de traitement d'ensembles de données selon l'une quelconque des revendication 1 à 6, pour la fourniture d'au moins un ensemble de sortie (122ι,...122n, 222ι...222n, 3221...,322n) à partir d'une pluralité d'ensembles d'entrée (110, 210, 310).
8. Utilisation d'un procédé de traitement d'ensembles de données selon l'une quelconque des revendications 1 à 6 pour le traitement d'un fichier de données XML (10).
9. Programme d'ordinateur (12, 20) adapté pour le traitement d'ensembles de données de description de contenus multimédia, pour la fourniture d'au moins un ensemble de sortie (22^ 222, ..., 22n) à partir d'au moins un ensemble d'entrée (10), caractérisé en ce qu'il comporte :
- des moyens (30) de lecture d'un ensemble de coefficients de priorité (16) affectés à au moins une partie des données de description de l'ensemble d'entrée (10) ;
- des moyens (30) de lecture d'au moins un seuil (18) de coefficients de priorité associé à chaque ensemble de sortie (221 t 222, ..., 22n) ;
- des moyens (34, 36) de répartition des données dans au moins un ensemble de sortie intermédiaire (14ι, 142, ..., 14n) en fonction des coefficients de priorité (16) affectés aux éléments de l'ensemble d'entrée et du seuil (18) associé à chaque ensemble de sortie ;
- des moyens de modification du seuil (18) associé à chaque ensemble de sortie par le calcul d'au moins un nouveau seuil en fonction d'une liste de débits disponibles et de la taille de chaque ensemble de sortie intermédiaire, pour l'adaptation de la taille dudit ensemble de sortie intermédiaire (14^ 142, ..., 14n) aux débits disponibles ; et
- des moyens de fourniture de cet ensemble de sortie intermédiaire (141 ; 142, ..., 14n) en tant qu'ensemble de sortie (22^ 222, ..., 22n), lorsque sa taille est adaptée aux débits disponibles.
10. Programme d'ordinateur (12, 20) selon la revendication 9, pour la fourniture d'au moins un ensemble de sortie (1221,...122n, 2221...222n, 3221...,322n) à partir d'une pluralité d'ensembles d'entrée (110, 210, 310).
PCT/FR2004/001316 2003-05-30 2004-05-27 Procede de traitement d’ensembles de donnees de description de contenue multimedia avec mise a jour, utilisation de ce procede et programme d’ordinateur correspondant WO2004109968A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0306582A FR2855701B1 (fr) 2003-05-30 2003-05-30 Procede de traitement d'ensembles de donnees de description de contenus multimedia avec mise a jour, utilisation de ce procede et programme d'ordinateur correspondant
FR03/06582 2003-05-30

Publications (1)

Publication Number Publication Date
WO2004109968A1 true WO2004109968A1 (fr) 2004-12-16

Family

ID=33427575

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2004/001316 WO2004109968A1 (fr) 2003-05-30 2004-05-27 Procede de traitement d’ensembles de donnees de description de contenue multimedia avec mise a jour, utilisation de ce procede et programme d’ordinateur correspondant

Country Status (2)

Country Link
FR (1) FR2855701B1 (fr)
WO (1) WO2004109968A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999066676A1 (fr) * 1998-06-12 1999-12-23 Telefonaktiebolaget Lm Ericsson Procede de commande d'admission et noeud de commutation pour reseaux a commutation par paquets a services integres
US20030067877A1 (en) * 2001-09-27 2003-04-10 Raghupathy Sivakumar Communication system and techniques for transmission from source to destination

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999066676A1 (fr) * 1998-06-12 1999-12-23 Telefonaktiebolaget Lm Ericsson Procede de commande d'admission et noeud de commutation pour reseaux a commutation par paquets a services integres
US20030067877A1 (en) * 2001-09-27 2003-04-10 Raghupathy Sivakumar Communication system and techniques for transmission from source to destination

Also Published As

Publication number Publication date
FR2855701B1 (fr) 2005-08-19
FR2855701A1 (fr) 2004-12-03

Similar Documents

Publication Publication Date Title
JP4799057B2 (ja) 増分アンチスパムのルックアップサービスおよびアップデートサービス
US20030088778A1 (en) Datacast distribution system
FR2882164A1 (fr) Procede et dispositif de transfert de donnees numeriques a format progressif
EP2039159A1 (fr) Procede d&#39;affichage d&#39;une image mosaïque au sein d&#39;un recepteur pour la selection de programmes audiovisuels, recepteurs et serveurs associes
FR2824215A1 (fr) Procede et dispositif de traitement d&#39;un message dans un reseau de communication
EP2290955B1 (fr) Procédé de diffusion de données numériques
WO2006100409A1 (fr) Systeme et procede de transmission de messages pour un ensemble de dispositifs de communication
CN101170442B (zh) 软件在线升级方法及系统
CA2552470A1 (fr) Procede d&#39;enregistrement de contenus audio-visuels dans un reseau de communication
EP2668746A1 (fr) Procede d&#39;acces a des contenus multimedias au sein d&#39;un foyer
WO2004109968A1 (fr) Procede de traitement d’ensembles de donnees de description de contenue multimedia avec mise a jour, utilisation de ce procede et programme d’ordinateur correspondant
EP1632076B1 (fr) Procede de traitement d&#39;ensembles de donnees de description de contenus multimedia, et dispositif correspondant
WO2009121808A1 (fr) Procede de gestion de messages electroniques a partir d&#39;un client de messagerie et systeme pour mettre en oeuvre le procede
EP1759287A1 (fr) Procede et module d&#39;hebergement dynamique d&#39;applications logicielles dans une passerelle entre un reseau operateur et un reseau local
WO2005091559A1 (fr) Procede d’acces a un service a travers un reseau d’acces multivoies
FR2906101A1 (fr) Systeme et procede de transmission en temps reel ou en differe de services interactifs associes a des contenus diffuses
WO2021123563A1 (fr) Analyse d&#39;un contenu multimedia
FR2864396A1 (fr) Systeme de diffusion multimedia par des terminaux commandes a distance
EP4128807A1 (fr) Procede et dispositif de personnalisation de contenu multimedia generique
WO2010037940A1 (fr) Procede pour verifier l&#39;acces a un contenu, terminal, module d&#39;acces et dispositif fournisseur de guide electronique de services associes
EP4254968A1 (fr) Procédé de génération d&#39;une chaîne de télévision virtuelle pour un utilisateur d&#39; au moins un service de diffusion de contenus audiovisuels, dispositif de génération, équipement de service et programme d ordinateur correspondants
WO2001054349A2 (fr) Procede et systeme pour la diffusion de donnees en boucle
FR2893801A1 (fr) Procede de diffusion maitrisee d&#39;informations
EP1441526A1 (fr) Procédé d&#39;enregistrement thématique de contenus numériques à diffusion programmée
EP1565799A1 (fr) Systeme et procede de transmission d informations associes a des droits d utilisation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase