Brevet FR2818409A1 — publié le 20020621

PROCÉDÉ POUR DIVISER DES DOCUMENTS STRUCTURÉS EN PLUSIEURS PARTIES. La présente invention concerne un procédé permettant de diviser des documents structurés en plusieurs parties. Elle s'applique notamment, mais non exclusivement, à la manipulation, à la transmission, au stockage et à la lecture de documents structurés multimédia, d'images ou de séquences d'images vidéo ou numériques, des oeuvres cinématographiques ou des programmes vidéo, et plus généralement à tout transfert de tels documents entre unités de traitements interconnectées par des réseaux de transmission de données. ou entre une unité de traitement et une unité de stockage, ou encore entre une unité de traitement et une unité de reproduction telle qu'un poste de télévision dans le cas de programmes vidéo. De plus en plus fréquemment, les documents ainsi manipulés et transmis contiennent plusieurs types d'informations intégrées dans une structure. Un document structuré est une collection d'ensembles d'informations associés chacun à un type et des attributs, et composés entre eux selon des relations principalement hiérarchiques. Ces documents emploient un langage de structuration tel que SGML, HTML, XML, permettant notamment de distinguer les différents sous-ensembles d'informations composant le document. Par opposition, dans un document dit linéaire, les informations de contenu du document sont mélangées aux informations de présentation et de typage. Un document structuré inclut des repères de séparation des différents ensembles d'informations du document. Dans le cas des formats SGML, XML ou HTML, ces repères appelés"balises"sont de la forme" "et" ", le premier repère indiquant le début d'un ensemble d'informations"XXXX"et le second la fin de cet ensemble. Un ensemble d'informations peut être composé de plusieurs ensembles d'informations de plus bas niveau. Ainsi, un document structuré présente un schéma de structure hiérarchique ou arborescente, chaque noeud représentant un ensemble d'informations et étant relié à un noeud de niveau hiérarchique supérieur représentant un ensemble d'informations qui contient les ensembles d'informations de niveau inférieur. Les noeuds situés en bout de branche de cette structure arborescente représentent des ensembles d'informations contenant des données d'un type prédéfini, qui ne peuvent pas être décomposées en sous-ensembles d'informations. Ainsi, un document structuré contient des repères de séparation représentés sous la forme de données textuelles ou binaires, ces repères délimitant des ensembles ou sous-ensembles d'informations pouvant eux-mêmes contenir d'autres sousensembles d'informations délimités par des repères. Un document structuré est associé à ce qu'on appelle un schéma de structure définissant sous la forme de règles la structure et le type d'information de chaque ensemble d'informations du document. Un schéma est constitué de groupes imbriqués de structures d'ensembles d'informations, ces groupes pouvant être des séquences ordonnées, des groupes d'éléments alternatifs ou des groupes d'éléments nécessaires, ordonnés ou non ordonnés. A l'heure actuelle, lorsqu'un document structuré doit être transmis, il est préalablement compressé, de manière à minimiser le volume des données à transmettre. Pour une plus grande efficacité d'un tel traitement de compression, les données de structuration du document sont également compressées, sachant que le destinataire du document est sensé connaître au préalable le schéma de structure du document et peut utiliser le schéma de structure pour déterminer à chaque instant quel ensemble d'informations il va recevoir. Il est donc indispensable que la structure du document transmis corresponde exactement au schéma de structure que le destinataire du document envisage d'utiliser pour la réception et le décodage du document, faute de quoi, le destinataire ne peut pas déterminer le type des données transmises notamment, et donc est incapable de les décoder et de reconstituer le document d'origine. Or les documents structurés à transmettre ont tendance à devenir de plus en plus volumineux. On envisage par exemple de transmettre ou diffuser de cette manière des descriptions complètes d'oeuvres cinématographiques ou de programmes de télévision. Dans ce contexte, si une erreur de transmission survient durant la transmission d'un document, le destinataire du document peut ne plus être en mesure de déterminer quel sous-ensemble est en cours de transmission, si bien que l'ensemble du document doit à nouveau être transmis. En outre, si l'on souhaite transmettre et simultanément afficher sur un écran une séquence cinématographique, il peut être nécessaire de respecter des plages horaires de transmission des différents éléments de la séquence. Certains éléments de la séquence doivent en outre pouvoir être transmis plusieurs fois pour permettre à un destinataire qui n'était pas connecté au début de la transmission de la séquence, de recevoir et afficher la fin de celle-ci. Il peut être également nécessaire de remplacer une partie de document par une autre, ces deux parties ayant le même schéma de structure. La solution consistant à retransmettre l'ensemble du document conduirait à augmenter considérablement le volume des informations à transmettre. Il est donc souhaitable de pouvoir diviser un document en plusieurs parties qui sont transmises séparément. Il s'avère que les procédés de transmission actuels ne permettent pas de transmettre partiellement un document. La présente invention a pour but de supprimer cet inconvénient. Cet objectif est atteint par la prévision d'un procédé pour diviser un document structuré présentant une structure hiérarchique définie par un schéma de structure, ce document regroupant un ensemble d'informations principal incluant des sousensembles d'informations, au moins une partie des sous-ensembles d'informations pouvant inclure des sous-ensembles d'informations de plus bas niveau hiérarchique, chaque sous-ensemble d'informations étant associé à un type d'informations respectif. Selon l'invention, ce procédé comprend les étapes consistant à : - diviser le document en parties manipulables séparément, à savoir une partie principale et au moins une partie secondaire, la partie principale contenant au moins l'ensemble d'informations principal, et la partie secondaire contenant un sous-ensemble d'informations qui est retiré de l'ensemble d'informations principal, chaque partie secondaire étant rattachée à la partie principale ou à une autre partie secondaire, et - attribuer une valeur prédéfinie au type d'informations de chaque sous- ensemble d'informations retiré d'un ensemble d'informations de niveau hiérarchique supérieur. De cette manière, chaque partie est compréhensible en elle-même et peut être décodée, et ce quel que soit le découpage choisi. En outre, lorsqu'une telle partie est transmise et que la transmission échoue, le reste du document reste valide et la partie non transmise correctement peut être retransmise sans avoir besoin de retransmettre l'ensemble du document. Par ailleurs, il n'est pas nécessaire de disposer des parties principales et secondaires en amont d'une partie pour pouvoir décoder cette dernière, puisque chaque partie est valide et compréhensible en elle-même. Grâce à ces dispositions, un document transmis peut être enrichi et modifié au cours du temps. Avantageusement, le document comprend un entête qui est inséré dans chaque partie, cet entête comprenant un indicateur dont la valeur indique si le document est complet ou non. Selon une particularité de l'invention, chaque partie comprend un entête comportant une information donnant l'emplacement de la partie dans la structure hiérarchique du document. Ladite information d'emplacement de la partie secondaire dans la structure hiérarchique du document décrit avantageusement un chemin dans cette structure, définissant la position de la partie secondaire dans le document. Ledit chemin peut être défini d'une manière absolue par rapport à l'ensemble principal d'informations du document. Il peut également être défini d'une manière relative par rapport à la position d'une dernière partie secondaire transmise. Alternativement, chaque type d'informations affecté à la valeur prédéfinie est suivi d'une référence à la partie secondaire contenant le sous-ensemble d'informations associé au type d'informations, ladite information d'emplacement de la partie secondaire dans la structure hiérarchique du document étant la référence de ladite partie secondaire. Ce procédé peut en outre comprendre la transmission de plusieurs parties du document associées au même emplacement dans la structure. Dans ce cas-, la dernière partie transmise remplace la précédente qui est associée au même emplacement. On peut prévoir également que l'entête de chaque partie comprend une information précisant un mode de traitement de la partie par rapport à une partie associée au même emplacement dans la structure. Le document structuré est par exemple de type SGML, XML ou HTML. Un mode de réalisation préféré de l'invention sera décrit ci-après, à titre d'exemple non limitatif, avec référence aux dessins annexés dans lesquels : La figure 1 représente une structure arborescente dont chaque noeud symbolise un ensemble ou sous-ensemble d'informations d'un document structuré qui est normalement transmis en une seule fois ; La figure 2 montre le document structuré représenté sur la figure 1 découpé en plusieurs parties, chacune pouvant être transmise séparément selon l'invention ; La figure 3 montre plus en détail la structure des informations contenues dans un document structuré ; La figure 4 représente une autre structure arborescente illustrant une méthode de définition de la position d'une partie de la structure, transmise séparément du reste de la structure. La figure 1 représente une structure arborescente comprenant un noeud racine 1 décomposé en trois noeuds de rang inférieur, dont le premier noeud 1.1 n'est pas décomposé en noeuds de rang inférieur, le second noeud 1.2 se compose de deux noeuds 1.2. 1 et 1.2. 2 et le troisième noeud 1.3 se compose d'un seul noeud 1.3. 1. Les deux noeuds 1.2. 1 et 1.2. 2 du second noeud 1.2 sont rattachés respectivement à un 1.2. 1.1 et deux noeuds 1.2. 2.1 et 1.2. 2.2 de rang inférieur. Cette structure représente un document structuré D comprenant un entête H dans lequel sont définis un certain nombre de paramètres définissant le format de codage et de représentation du document, et un corps principal B rassemblant les informations et ensembles d'informations constituant-le document. Selon l'invention, un document structuré peut être transmis en plusieurs parties séparées PI, P2, P3, à savoir une partie principale et des parties secondaires P2, P3 qui sont rattachées à la partie principale (figure 2). Chaque partie de document comprend un entête H, H2, H3 et un corps principal BI, B2, B3. Comme représenté sur la figure 3, un corps principal B de document comprend un entête de données DH et un ou plusieurs corps de données DB rassemblant chacun les informations d'un sous-ensemble d'informations du document. L'entête de données DH peut comprendre un champ K permettant de supprimer toute ambiguïté au moment du décodage du document, en donnant notamment un numéro permettant de définir l'ensemble d'informations qui suit, et/ou un champ contenant le nombre N d'occurrences du corps de données DB. Selon le format utilisé, chaque corps de données DB peut comprendre un champ T indiquant le type d'informations qu'il contient, un champ L donnant la longueur de ces informations en nombre de bits ou d'octets, un champ A rassemblant des attributs du sous-ensemble d'informations et un champ Val contenant la valeur ou le contenu du sous-ensemble d'informations. Comme le document est structuré sous une forme arborescente, le champ Val peut lui-même contenir un champ d'entête de données DH et un ou plusieurs champs contenant un corps de données DB. Il est à noter à ce sujet que dans le schéma de structure représenté sur la figure 1, les informations contenues dans le document sont rassemblées dans les noeuds 1.1, 1.2. 1.1, 1.2. 2.1, 1.2. 2.2 et 1.3. 1 situés aux extrémités des branches, ainsi que dans les champs attribut A des sous-ensembles symbolisés par tous les noeuds du document. Selon l'invention, lorsque l'on souhaite transmettre partiellement un tel document, le champ T contenant le type d'information d'un corps de données DB non transmis ou retiré du document, reçoit une valeur prédéfinie indiquant que le sous-ensemble d'informations qui suit n'est pas transmis. Cette valeur particulière prédéfinie de type d'information est par exemple choisie égale à 0, les valeurs des autres types d'information étant différentes de 0. Si cette valeur prédéfinie apparaît dans le document transmis, le champ longueur L et les champs A et Val qui suivent normalement le type d'information, n'apparaissent pas dans les données transmises. Par conséquent, à la suite d'un type d'information égal à la valeur prédéfinie, on trouve l'entête DH de l'ensemble d'informations suivant dans le document ou un indicateur de fin de document. On peut prévoir d'ajouter à l'entête H du document un paramètre indiquant si le document est totalement transmis ou non, de manière à indiquer au destinataire du document si le document qu'il est en train de recevoir est transmis entièrement ou non. Les parties PI, P2 et P3 peuvent être transmises séparément une ou plusieurs fois. Elles ont à cet effet un entête H, H2, H3 comprenant tout d'abord un paramètre indiquant que le document n'est pas complet, suivi d'une définition de l'emplacement de la partie transmise dans la structure arborescente du document complet. De cette manière, un document structuré peut être enrichi et modifié au cours du temps. Il est à noter que la transmission de la partie principale Pl n'est pas nécessaire puisque, grâce à la définition de l'emplacement figurant dans l'entête des parties secondaires, l'unité de traitement qui reçoit les parties secondaires transmises peut déterminer l'emplacement de la partie reçue dans la structure du document et ainsi décoder celle-ci. En outre, le découpage du document peut être réalisé de manière à ce que la partie principale ne contienne aucune donnée utile, et à ce que l'ensemble du document puisse être reconstitué à partir des parties secondaires et de leur emplacement dans la structure du document. En outre, l'entête H, H2, H3 des parties PI, P2, P3 peut comprendre une information précisant un mode de traitement de la partie par rapport à une partie déjà transmise associée au même emplacement dans la structure, à savoir par exemple, si la partie transmise doit remplacer une partie associée au même emplacement, qui a déjà été transmise, ou ne pas être prise en compte si elle figure déjà dans le document reçu, ou encore être fusionnée à la partie associée au même emplacement, qui a déjà été transmise. Comme illustré sur la figure 4, cette définition d'emplacement peut comprendre le nom de tous les noeuds supérieurs jusqu'au noeud racine R, éventuellement associés à un numéro d'ordre par rapport au noeud supérieur. Par exemple, le premier noeud du premier noeud du troisième noeud du premier noeud rattaché au noeud racine (repéré sur la figure 4 par une succession de flèches issues-du noeud racine R) peut être référencé de la manière suivante : /c/a [last]/b (l)/d Cette notation indique qu'il s'agit du noeud de type"d"relié au premier noeud de type"b"relié au dernier noeud de type"a"relié au noeud de type"c"qui est relié directement au noeud racine R. D'autres parties du document peuvent être ensuite transmises soit en utilisant la méthode de définition absolue (par rapport au noeud racine R) décrite ci-dessus, ou bien, avantageusement, en utilisant une méthode de définition relative. Ainsi, par exemple, le troisième noeud relié au même noeud immédiatement supérieur que le noeud précédent peut être référencé de la manière suivante : ../e [2] Cette notation indique que l'on fait référence au second noeud qui doit être de type"e"relié au même noeud de niveau immédiatement supérieur référencé par la notation"../". II apparaît que cette seconde méthode est plus compacte que la première. Alternativement, la définition de l'emplacement de la partie de document transmise P2, P3 peut simplement comprendre une référence à la partie de document, cette référence ayant été au préalable transmise dans la partie principale Pl du document, par exemple à la suite de la valeur prédéfinie indiquant que le sous-ensemble d'informations qui suit n'est pas transmis. REVENDICATIONS 1. Procédé pour diviser un document structuré (D) présentant une structure hiérarchique définie par un schéma de structure, ce document regroupant un ensemble d'informations principal (1) incluant des sousensembles d'informations (1.1, 1.2, 1.3,..., 1.2. 2.2), au moins une partie des sous-ensembles d'informations pouvant inclure des sous-ensembles d'informations de plus bas niveau hiérarchique, chaque sous-ensemble d'informations étant associé à un type d'informations (T) respectif, caractérisé en ce qu'il comprend les étapes consistant à : - diviser le document en parties (P1, P 2, P3) manipulables individuellement, à savoir une partie principale (pal) et au moins une partie secondaire (P2, P3), la partie principale contenant au moins l'ensemble d'informations principal (1), et la partie secondaire contenant un sous-ensemble d'informations (1.2. 1, 1.2. 2) qui est retiré de l'ensemble d'informations principal, chaque partie secondaire étant rattachée à la partie principale ou à une autre partie secondaire, et - attribuer une valeur prédéfinie au type (T) d'informations de chaque sous- ensemble d'informations (1.2. 1,1. 2.2) retiré d'un ensemble d'informations de niveau hiérarchique supérieur (1.2). 2. Procédé selon la revendication 1, caractérisé en ce que le document (D) comprend un entête (H) qui est inséré dans chaque partie (pal, P2, P3), cet entête comprenant un indicateur dont la valeur indique si le document est complet ou non. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que chaque partie (pal, P2, P3) comprend un entête (H, H2, H3) comportant une information donnant l'emplacement de la partie dans la structure hiérarchique du document. 4. Procédé selon la revendication 3, caractérisé en ce que ladite information d'emplacement de la partie secondaire dans la structure hiérarchique du document décrit un chemin dans cette structure, définissant la position de la partie secondaire dans le document. 5. Procédé selon la revendication 4, caractérisé en ce que ledit chemin est défini d'une manière absolue par rapport à l'ensemble principal d'informations du document. 6. Procédé selon la revendication 4, caractérisé en ce que ledit chemin est défini d'une manière relative par rapport à la position d'une dernière partie secondaire transmise. 7. Procédé selon la revendication 3, caractérisé en ce que chaque type d'informations (T) affecté à la valeur prédéfinie est suivi d'une référence à la partie secondaire (P2, P3) contenant le sous-ensemble d'informations associé au type d'informations, ladite information d'emplacement de la partie secondaire dans la structure hiérarchique du document étant la référence de ladite partie secondaire. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce qu'il comprend en outre la transmission de plusieurs parties du document associées au même emplacement dans la structure, la dernière partie transmise remplaçant la partie du document précédemment transmise, associée au même emplacement dans la structure. 9. Procédé selon l'une des revendications 1 à 7, caractérisé en ce qu'il comprend en outre la transmission de plusieurs parties du document associées au même emplacement dans la structure, l'entête de chaque partie comprenant une information indiquant le mode de traitement de la partie par rapport à une partie déjà transmise associée au même emplacement dans la structure. 10. Procédé selon l'une des revendications 1 à 9, caractérisé en ce que le document est de type SGML, XML ou HTML.