ES2234878T3 - Procedimiento para la compresion/decompresion de documentos estructur dos. - Google Patents

Procedimiento para la compresion/decompresion de documentos estructur dos.

Info

Publication number
ES2234878T3
ES2234878T3 ES01967412T ES01967412T ES2234878T3 ES 2234878 T3 ES2234878 T3 ES 2234878T3 ES 01967412 T ES01967412 T ES 01967412T ES 01967412 T ES01967412 T ES 01967412T ES 2234878 T3 ES2234878 T3 ES 2234878T3
Authority
ES
Spain
Prior art keywords
document
information
elements
type
compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES01967412T
Other languages
English (en)
Inventor
Cedric Thienot
Claude Seyrat
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Expway SA
Original Assignee
Expway SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Expway SA filed Critical Expway SA
Application granted granted Critical
Publication of ES2234878T3 publication Critical patent/ES2234878T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Document Processing Apparatus (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Computer And Data Communications (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

Procedimiento para la compresión y la descompresión de un documento estructurado, asociado con al menos un esquema de estructura arborescente (1; 31, 39, 43) que define una estructura del documento y que comprende elementos de estructura (32, 33, 34, 40, 44, 45, 46, a3, a4, X, Y, a1, a5, a1, a2, A, B) imbricados, que representan conjuntos de informaciones del documento, estando distribuidos los elementos de estructura en tres categorías, a saber elementos raíz estructurados (31, 39, 43), grupos de elementos (32, 33, 34, 40, 44, 45, 46) y elementos de base estructurados (X, Y, A, B) o no estructurados (a3, a4, a1, a5, a1, a2) que corresponden a los elementos de nivel más bajo en la estructura, estando asociado cada elemento de base con un tipo de información, caracterizado porque al menos un tipo de información de los elementos de base está asociado previamente con un algoritmo de compresión (16) adaptado, comprendiendo el procedimiento las etapas siguientes: - el análisis sintáctico (11) del esquema de estructura del documento, - la compilación (13) del esquema de estructura con vistas a obtener un autómata de estados finitos (5) por elemento raíz, comprendiendo cada autómata estados (¿0¿, ¿1¿, ... ¿n¿) conectados entre sí mediante transiciones (¿m1¿, ¿m2¿, ... ¿mn¿) que representan, respectivamente, los elementos de la estructura, y - la compresión (15) del documento estructurado (2) a ser comprimido, que comprende la ejecución de los autómatas con estados finitos (5) sobre el documento, y la ejecución del algoritmo de compresión (16) cuando se encuentre en el documento estructurado (2) un conjunto de informaciones que tenga un tipo de información asociado con dicho algoritmo.

Description

Procedimiento para la compresión/descompresión de documentos estructurados.
La presente invención se refiere a un procedimiento para la compresión/descompresión de documentos estructurados.
La invención se aplica, principalmente, pero no de manera exclusiva, a la transmisión de documentos tales como imágenes o secuencias de imágenes, datos vídeo o audio, a través de redes de transmisión de datos numéricos, así como al almacenamiento de tales documentos.
En el momento actual, existen varios algoritmos para la compresión numérica de documentos. Algunos algoritmos de compresión están concebidos para tratar directamente los datos binarios del documento, sin tener en cuenta el tipo de estos datos. Estos algoritmos presentan la ventaja de poder tratar cualquier documento, pero tienen pocas prestaciones (grado de compresión poco elevado) para tratar documentos voluminosos que son generalmente del tipo sonido o imagen.
Se conocían, por otra parte, otros algoritmos para la compresión más eficaces, pero especialmente adaptados a un tipo de datos, por ejemplo de tipo imagen o sonido, de manera que no son utilizables, o no dan prestaciones si son aplicados a documentos que no contengan exclusivamente datos para los cuales han sido concebidos.
Ahora bien, cada vez más los documentos utilizados y que circulan a través de las redes de transmisión de datos contienen varios tipos de informaciones integradas en una estructura.
Un documento estructurado es una colección de conjuntos de informaciones asociados cada uno a un tipo, y compuestos entre sí según relaciones principalmente jerárquicas. Estos documentos emplean un lenguaje de estructuración tal como SGML, HTML, XML, que permiten principalmente distinguir los diferentes conjuntos de informaciones que compone el documento. En oposición, en un documento denominado lineal, las informaciones de contenido del documento están mezcladas con las informaciones de presentación y de tipaje.
De este modo, un documento estructurado incluye marcas de separación de los diferentes conjuntos de informaciones del documento. En el caso de los formatos SGML, XML o HTML, estas marcas denominadas "balizas" tienen la forma "<XXXX>" y "</XXXX>", indicando la primera marca el inicio del conjunto de informaciones "XXXX" y la segunda el final de este conjunto. Un conjunto de informaciones puede estar compuesto por varios conjuntos de informaciones de nivel más bajo. De este modo, un documento estructura presenta un esquema de estructura jerárquica o arborescente, representando cada nudo un conjunto de informaciones y que está conectado a un nudo de nivel jerárquico superior, que representa un conjunto de informaciones que contiene los conjuntos de informaciones de nivel inferior. Los nudos situados en el extremo de la rama de esta estructura arborescente representan conjuntos de informaciones que contienen datos de un tipo predefinido, que no pueden ser descompuestos en subconjuntos de informaciones.
Un documento estructurado está asociado, generalmente, a lo que se denomina un esquema de estructura que define bajo la forma de reglas la estructura y el tipo de información de cada conjunto de informaciones del documento. Un esquema está constituido por grupos imbricados de estructuras de conjuntos de informaciones, pudiendo ser estos grupos secuencias ordenadas, grupos de elementos alternativos o grupos de elementos necesarios, ordenados o no ordenados.
De este modo, un documento estructurado está asociado con un esquema de estructura y contienen marcas de separación representadas en la forma de datos textuales o binarios, delimitando estas marcas conjuntos de informaciones que pueden constituir en sí mismas otros conjuntos de informaciones delimitados por las marcas. De aquí resulta que un documento, estructura de este tipo, puede comprender, no solamente datos textuales, sino también cualquier tipo de información (por ejemplo datos sonoros, imágenes, etc). Como consecuencia, los algoritmos de compresión, específicos de un tipo particular de datos, son poco eficaces y están mal adaptados para tratar este tipo de documentos.
La presente invención tiene por objeto suprimir estos inconvenientes. A este efecto, la invención propone un procedimiento para la compresión y la descompresión de un documento estructurado, asociado con al menos un esquema de estructura arborescente que define una estructura del documento y que comprende elementos de estructura imbricados que representan conjuntos de informaciones, estando distribuidos los elementos de estructura en tres categorías, a saber elementos raíz, estructurados descompuestos en grupos de elementos y en elementos de base estructurados, o no estructurados que corresponden a los elementos del nivel más bajo en la estructura, estando asociado cada elemento de base y elemento raíz con un tipo de información.
Según la invención, este procedimiento se caracteriza porque al menos un tipo de información de los elementos de base está asociado previamente con un algoritmo de compresión adaptado, comprendiendo el procedimiento las etapas siguientes:
-
el análisis sintáctico del esquema de estructura del documento,
-
la compilación del esquema de estructura con vistas a obtener un autómata con estados definidos por elementos raíz, comprendiendo cada autómata estados relacionados entre sí por transmisiones que representan, respectivamente, los elementos de la estructura, y
-
la compresión del documento estructura, que comprende la ejecución de los autómatas con estados finitos sobre el documento, y la ejecución del algoritmo de compresión cuando se encuentre en el documento a ser comprimido un conjunto de informaciones que tenga un tipo de información asociado con dicho algoritmo.
Merced a la compilación del sistema de estructura, la estructura del documento está representada de una manera muy compacta, y debido a que cada conjunto de informaciones, que corresponde a un elemento de estructura de base, está asociado con un tipo de información, puede ser tratado por el algoritmo de compresión mejor adaptado a su tipo. De esta manera, si el documento contiene, por ejemplo, datos textuales, imágenes y datos sonoros, estos datos son marcados perfectamente en el documento estructurado, y asociados con un elemento de estructura de bajo nivel y un tipo. En el transcurso de la ejecución de los autómatas, estos detectan la presencia de conjunto de informaciones que tengan un tipo de base asociado con un algoritmo de compresión y aplican sucesivamente los algoritmos correspondientes sobre estos datos para obtener secuencias de informaciones binarias correspondientes que son insertadas a medida que se producen en el documento que resulta de la compresión.
Además, en el caso de una transmisión de datos, si los documentos transmitidos presentan siempre el mismo esquema de estructura, no es necesario transmitirlo con cada transmisión de documento, de donde se deduce una ganancia suplementaria al nivel del grado de compresión obtenido merced al procedimiento según la invención. Esta transmisión es incluso inútil cuando el esquema sea previamente conocido por el destinatario del documento. Por ejemplo, si se trata de un documento HTML, no hay nunca necesidad, ni siquiera la primera vez, de codificar el esquema del documento.
Por autómata con estados finitos, es preciso entender un conjunto de estados, estando asociado cada estado a un conjunto de acontecimientos de entrada y una función de transición que determina, para cada acontecimiento de entrada, el conjunto de estados activos del autómata. Teniendo en cuenta esta definición, se pueden imaginar numerosas representaciones, por ejemplo haciendo intervenir tablas de transcodificación, a razón de una tabla por estado que indique, para cada acontecimiento de entrada, la tabla que corresponde al estado siguiente, o incluso tablas de correspondencia, a razón de una tabla por autómata, que tenga tantas líneas y columnas como estados tenga el autómata, conteniendo cada casilla de la tabla la descripción de la transición entre los dos estados correspondientes.
Durante la descompresión, el esquema de estructura es tratado de la misma manera para determinar los autómatas que hayan servido para la compresión y analizan el contenido del documento comprimido con vistas a reconstituir un documento con formato original que tenga una estructura al menos equivalente, sino idéntica, ejecutándose algoritmos de descompresión, que corresponden a los algoritmos de compresión utilizados durante la compresión, para restituir los conjuntos de informaciones de origen a partir de las secuencias de informaciones binarias marcadas en el documento comprimido.
En el caso en que el esquema de estructura deba ser transmitido con el documento, el procedimiento según la invención comprende, ventajosamente, una etapa de transmisión del esquema de estructura que puede ser el de origen, el obtenido tras la transformación y normalización, o incluso el obtenido tras la compilación.
Según una particularidad de la invención, cada conjunto de información está marcado en el documento comprimido con el fin de permitir un acceso directo a un elemento de información particular, sin que sea necesario descomprimir todo el documento, ni los conjuntos de informaciones que preceden al conjunto a ser descomprimido.
Según otra particularidad de la invención, cada elemento de esquema de estructura está asociado, además, con un conjunto de numerosos acontecimientos posibles, que indican el número de veces que un conjunto de informaciones que tenga este elemento de estructura puede aparecer en el conjunto de informaciones de nivel inmediatamente superior a aquél en el que aparece.
El procedimiento según la invención puede comprender una etapa de optimización del esquema de estructura del documento que consiste en reducir el número de niveles jerárquicos de grupos de elementos de estructura. Esta optimación permite simplificar el esquema de estructura, pero hace que el tratamiento de compresión sea menos eficaz.
Un modo de realización del procedimiento según la invención se describe a continuación a título de ejemplo no limitativo, con referencia a los dibujos adjuntos, en los que:
la figura 1 representa, en forma de un esquema de bloques, el encadenamiento de las diferentes etapas del procedimiento según la invención;
las figuras 2a, 2b y 2c representan gráficamente un esquema de estructura en forma de un árbol;
la figura 3 muestra un esquema de estructura obtenido aplicando un método de reducción según la invención al esquema de estructura representado en la figura 2;
las figuras 4a, 4b y 4c muestran un esquema de estructura obtenido aplicando otro método de reducción según la invención al esquema de estructura representado en la figura 2;
las figuras 5a hasta 5c representan, respectivamente, tres autómatas con estados finitos obtenidos y utilizados por el procedimiento según la invención;
la figura 6 representa otro autómata que ilustra un método de optimación utilizado por el procedimiento según la invención;
las figuras 7a y 7b representan dos autómatas obtenidos por medio del procedimiento según la invención a partir de un esquema de estructura particular; y
la figura 8 ilustra la aplicación de un método de reducción a los autómatas representados en las figuras 7a y 7b.
La figura 1 representa el encadenamiento de las diferentes etapas del procedimiento según la invención.
Este procedimiento está concebido para tratar un documento estructurado constituido por un esquema de estructura 1, que define la estructura del documento e informaciones estructuradas 2 del documento.
En el lenguaje esquema XML, un esquema de estructura presenta, por ejemplo, la forma siguiente:
\vskip1.000000\baselineskip
<nombre del elemento = "C">
<complejo Tipo>
<nombre del atributo = "a2" requerido = falso tipo = "booleano"/>
<nombre del atributo = "a1" requerido = verdadero tipo = "integrar"/>
<orden del Grupo = elección>
<nombre del elemento = "A" tipo = "TA" Acontecimiento mínimo = 1
\hskip6cm
Acontecimiento máximo = 1/>
<nombre del elemento = "B" tipo = "TB" Acontecimiento mínimo = 1
\hskip6cm
Acontecimiento máximo = 1/>
</Grupo>
</complejo Tipo>
</elemento>
\vskip1.000000\baselineskip
Este esquema indica que el elemento denominado "C" presenta una estructura compleja constituida por un primer elemento denominado "a2" de tipo booleano, que es opcional, por un segundo elemento denominado "a1" de tipo entero, que está siempre presente en la estructura, y por un grupo de elementos alternativos denominados "A" y "B" de tipos respectivos "TA" y "TB", estando presentes uno de estos dos elementos una sola vez en la estruc-
tura.
Los tipos "TA" y "TB" están definidos en el esquema de estructura del documento por una formulación aná-
loga.
De una manera general, se utilizan los grupos de elementos siguientes para definir una estructura del documento:
-SEQ:
que define una lista de elementos ordenados, que deben aparecer siempre en el documento y en el orden indicado,
-CHO:
que define un conjunto de elementos alternativos, debiendo aparecer un solo elemento del grupo,
-ET:
que define un conjunto de elementos, todos los cuales deben aparecer en el documento y en un orden cualquiera que no debe ser modificado,
-ET_{NO}:
que define un conjunto de elementos, todos los cuales deben estar presentes en el documento en un orden cualquiera, que no tiene importancia, y
-ANY:
que comprende un elemento cualquiera entre todos los elementos posibles que se pueden encontrar en el documento.
Según la invención esta formulación es analizada y transformada en la etapa 11 del procedimiento para obtener árboles sintácticos 4, a razón de un árbol por elemento de estructura. El árbol sintáctico que corresponde a un elemento de estructura TC está simbolizado por la fórmula siguiente:
\vskip1.000000\baselineskip
(1)TC \rightarrow ((a1^{1.\text{.}1}_{\{int\}} \binampersand_{no} a2^{0.\text{.}1}_{\{bool\}})^{1.\text{.}1}, (A^{1.\text{.}1}_{\{TA\}} | B^{1.\text{.}1}_{\{TB\}})^{1.\text{.}1})^{1.\text{.}1}
\vskip1.000000\baselineskip
en la que:
"\rightarrow"
indica que TC es el nombre dado a la estructura definida después de este símbolo,
"( )"
indica las periodicidades con las cuales los grupos de elementos deben ser leídos,
","
corresponde a un grupo de elementos de tipo secuencia (SEQ),
"|"
representa un grupo de elementos alternativos (CHO),
"&"
representa un grupo de elementos de tipo ET,
"&_{no}"
representa un grupo de elementos de tipo ET no ordenado,
"{}"
asocia con un elemento un nombre de elemento de estructura o bien un tipo de base (por ejemplo entero o booleano), y
"A^{x..y}"
indica que el elemento A está repetido desde x hasta y veces en el documento, pudiendo ser y igual a "*" que representa un valor indeterminado.
\quad
Esta formulación utiliza igualmente el símbolo \textdollar'', que representa cualquier elemento (ANY).
La fórmula (1) puede estar representada por el árbol representado en la figura 2c, comprendiendo este árbol un elemento raíz "TC" 43 constituido por un acontecimiento único de un grupo de tipo secuencia 44. Este grupo comprende un acontecimiento único de un grupo de tipo "ET" no ordenado 45 y un acontecimiento único de un grupo alternativo 46.
El grupo 45 está constituido por un acontecimiento único de un entero denominado "a1" y por un booleano denominado "a2", y el grupo 46 comprende un acontecimiento único de un elemento denominado "A" de tipo "TA" y de un elemento "B" denominado tipo "TB".
Los tipos "TA" y "TB" obtenidos en la etapa 11 están dados, por ejemplo, por las fórmulas siguientes:
\vskip1.000000\baselineskip
(2)TA \rightarrow ((a3^{1.\text{.}1}_{\{int\}} \binampersand a4^{0.\text{.}1}_{\{int\}})^{1.\text{.}1}, (X^{1.\text{.}1}_{\{TC\}} | Y^{1.\text{.}1}_{\{TC\}})^{1.\text{.}1})^{1.\text{.}1}
(3)TB \rightarrow (a1^{1.\text{.}1}_{\{bool\}}, a5^{0.\text{.}1}_{\{bool\}})^{1.\text{.}1}
\vskip1.000000\baselineskip
y están representados por los árboles mostrados, respectivamente, en las figuras 2a y 2b.
El tipo "TA" 31 comprende un grupo único 32 de tipo secuencia constituido por dos grupos únicos 33, 34, respectivamente de tipo ET y SEQ. El grupo 33 comprende dos acontecimientos únicos de tipo entero, denominados, respectivamente, "a3" y "a4". El grupo 34 comprende dos acontecimientos únicos de tipo "TC" denominados respectivamente "X" y "Y".
El tipo "TB" 39 está constituido por un grupo único 40 de tipo secuencia que comprende dos booleanos respectivamente denominados "a1" y "a5".
Aún cuando en la descripción que precede, se ha distinguido el nombre de cada elemento y su tipo, el procedimiento según la invención se aplica, igualmente, a los lenguajes de estructuración que no hacen esta distinción.
Por otra parte, los elementos de estructura deben ser deterministas, es decir que un elemento no puede ser interpretado de varias maneras diferentes. Por ejemplo, en el esquema "(a | (a , b))", en el caso en que "a" aparezca, no se sabe si "b" debe aparecer a continuación. A este efecto existen algoritmos que pueden ser aplicados por el procedimiento según la invención para transformar un esquema no determinista en un esquema determinista. De manera ejemplificativa se puede hacer referencia a los documentos ["Regular expressions into finite automata" Brüggemann-Klein, Anne, Extended Abstract in I. Simon, Hrsg. LATIN 1992, páginas 97-98. Springer-Verlag, Berlín 1992. Full Version in Theoretical Computer Science 120: 197-213, 1993]. De este modo, el esquema anterior puede ser reemplazado por ejemplo por "(a , b^{0.\text{.}1})".
En la etapa 12 siguiente del procedimiento según la invención, los elementos del esquema de estructura transformados en árboles sintácticos pueden sufrir, en primer lugar, un tratamiento de reducción o de simplificación.
Este tratamiento de reducción consiste en efectuar un aplastamiento global generando un solo árbol sintáctico 51 a partir de todos los árboles 31, 39 y 43, como se ha representado en la figura 3.
Este árbol presenta, de hecho, un diccionario de todos los tipos de elementos susceptibles de ser encontrados en el documento, estando agrupados estos elementos en un grupo 52 de tipo alternativo que aparece al menos una vez (1..*) en el documento. En este árbol, los elementos de tipo complejo "A", "B", "X" e "Y" están asociados a un tipo "ANY", y el elemento "a1" que aparece dos veces (en los elementos "TB" y "TC") con tipos diferentes, está asociado con un tipo por defecto "pcdata" según el lenguaje XML o al tipo del elemento en el documento inicial, por ejemplo texto. Un mismo conjunto de informaciones puede ser representado, en efecto, de varias maneras: por ejemplo una secuencia binaria puede ser considerada igualmente como una cadena de caracteres o un número
entero.
Alternativamente, este tratamiento de reducción consiste en aplastar localmente los árboles sintácticos para obtener los árboles representados 31', 39' y 43' en las figuras 4a hasta 4c.
En cada una de las figuras, los grupos 32 hasta 34 (figura 2a), 40 (figura 2b) y 44 hasta 46 (figura 2c) han sido reemplazados, respectivamente, por un grupo 53, 55, 54 de tipo alternativo que aparece, al menos, una vez
(1..*).
Los árboles "TA", "TB" y "TC" pueden sufrir, además, un tratamiento suplementario para suprimir las ambigüedades que aparecen en el esquema de estructura.
En la etapa 12, los árboles "TA", "TB" y "TC" sufren, igualmente, un tratamiento de normalización, que consiste en reordenar el esquema con el fin de obtener un orden único de los elementos del esquema. Este tratamiento asigna un número binario a los diferentes nudos de los árboles sintácticos obtenidos como consecuencia de los tratamientos precedentes. Este número es utilizado durante la compresión del elemento correspondiente.
Este tratamiento de normalización consiste en atribuir a cada grupo una signatura constituida por la concatenación del nombre del grupo con la signatura de todos los elementos y de los subgrupos del grupo, previamente ordenados. De este modo, el grupo 53 en la figura 4 está asociado a la signatura "CHO.a3.a4.X.Y" (o "| a3.a4.X.Y.").
Para este tratamiento de normalización, se considera que los grupos ordenados (SEQ) están ya normalizados. Los grupos a normalizar son, por lo tanto, los grupos de tipo alternativo ("CHO"), y los grupos "ET" y "ET_{NO}". Este tratamiento comprende las etapas siguientes para cada grupo G compuesto por subgrupos g_{i} y de elementos
e_{i}:
-
la normalización de los subgrupos gi eventuales del grupo G antes de normalizar el grupo G, siendo recursivo el algoritmo de normalización,
-
el reagrupamiento de los elementos e_{i} eventuales del grupo G antes que los subgrupos g_{i},
-
el reagrupamiento de los elementos e_{i} en un orden predefinido,
-
el reagrupamiento de los subgrupos g_{i} en el orden predefinido y
-
la determinación de la signatura del grupo G dada por la concatenación de todas las signaturas de sus componentes (elementos y subgrupos) según el orden establecido como consecuencia de las etapas precedentes.
El orden predefinido de reagrupamiento de los compuestos del grupo puede ser el orden alfanumérico de sus signaturas respectivas, o el orden decreciente de su número mínimo de acontecimientos, siendo dispuestos a continuación por orden alfanumérico los componentes que tengan el mismo número mínimo de acontecimientos.
Debe señalarse que este tratamiento de normalización no es necesario en el procedimiento según la invención. En efecto, puede conservarse el orden de aparición de los componentes en el esquema.
La etapa 13 siguiente del procedimiento consiste en genera autómatas con estados finitos 5. Este tratamiento consiste en generar, para cada árbol sintáctico, un conjunto de autómatas de base, a razón de un autómata por grupo del árbol sintáctico, y a continuación en combinar estos autómatas de base.
En la figura 5a, el autómata de un grupo secuencial (SEQ) de n elementos de signaturas m1, m2, ... mn, de nivel jerárquico inmediatamente inferior comprende n +2 estados numerados desde 0 hasta n+1 simbolizados en la figura por círculos, estando conectado cada nudo con su sucesor por una transición simbolizada con un arco que corresponde a un elemento del grupo y denominado por la signatura del elemento, marcando la última transición F (hacia el estado n+1) el final del grupo.
En la figura 5b, el autómata de un grupo de tipo alternativo (CHO) de n elementos de signaturas m1, m2, ... mn, de nivel jerárquico inmediatamente inferior comprende un estado inicial numerado "0" y n estados finitos numerados desde 1 hasta n, estando conectado el estado 0 con los estados finitos 1 hasta n respectivamente por n transiciones que corresponden, respectivamente, a los n elementos del grupo.
En la figura 5c, el autómata de un grupo ET de n elementos de signaturas m1, m2, ... mn, de nivel jerárquico inmediatamente inferior, comprende 1+n+n*(n-1)+n*(n-1)*(n-2)+...+n! estados que representan todas las combinaciones posibles de n elementos.
Un autómata de este tipo puede ser generado por un algoritmo simple tal como el siguiente:
E es el conjunto de los componentes posibles del grupo
Ejecute la función_1 (E, estado inicial)
Función_1 (E, estado e):
Repita mientras que E no esté vacío
Seleccione un elemento mi de E y retírelo de E
Cree un estado e' y un arco que una e y e' notado mi
Duplique E en E'
Ejecute la función_1 (E', estado e')
Final repita
El autómata de un grupo ET_{NO} de n elementos de signaturas m1, m2, ... mn, de nivel jerárquico inmediatamente inferior puede ser el de un SEQ desde que se acepte perder información relativa al orden de aparición de los elementos en el grupo en el que está fijado.
Estos autómatas (caso de los grupos de tipo CHO, ET y ET_{NO}) pueden ser optimizados aplicándoles un tratamiento de evitación de los elementos opcionales, es decir cuyo conjunto de acontecimientos posibles tenga la forma (0...k). Esta regla refleja el hecho de que cada elemento asociado con un número de acontecimientos mínimo nulo no está obligatoriamente codificado.
Como se ha representado en la figura 6, este tratamiento consiste en añadir una transición entre el estado "1" situado inmediatamente aguas arriba de un elemento opcional "2" y todos los estados "3" inmediatamente situados aguas abajo de este elemento, estando asociada esta nueva transición a la signatura "m3" del elemento correspondiente al estado al que conduce.
Si uno de los estados situados inmediatamente aguas abajo está asociado igualmente con un elemento opcional, es preciso haber previsto también una transición hacia todos los estados situados inmediatamente aguas abajo de este estado.
Este tratamiento puede efectuarse por el algoritmo siguiente:
Sea Z el subconjunto de nudos del autómata, cuyo elemento asociado tiene un acontecimiento mínimo nulo.
Repita (en tanto en cuanto el autómata es modificado por el procedimiento siguiente):
Para cada elemento X de Z:
Para cada transmisión entre TEx de X:
Para cada transmisión que sale de TEx de X:
1.
Cree una nueva transición N, uniendo el nudo fuente de la transición TEx y el nudo destino de la transición TSx. La transición está marcada por el valor del arco TSx.
2.
Si no existe ya una transición idéntica en el gráfico, añadirla al gráfico.
Fin para
Fin para
Fin para
Fin repita
Debe señalarse que los autómatas generados de este modo para un esquema de estructura están imbricados en los otros. En efecto, en los autómatas que corresponden al ejemplo del esquema representado en la figura 2, cuando el tipo TC (elementos X e Y) sea encontrado en el autómata correspondiente al tipo TA 31, el autómata que corresponde al tipo TC 43 es ejecutado por completo antes de proseguir la ejecución del autómata correspondiente al tipo TA.
La etapa 14 siguiente del procedimiento según la invención consiste en reducir y transformar los autómatas obtenidos precedentemente.
De este modo se pueden fusionar autómatas de un mismo árbol sintáctico (y no autómatas de árboles diferentes que se llaman los unos a los otros), de la manera explicada con referencia a las figuras 7a y 7b.
Estas figuras representan los autómatas que han sido generados de acuerdo con el procedimiento según la invención a partir de los elementos de estructura (a_{1}^{0..\text{*}},(b_{1} | b_{2})^{0..\text{*}}). El primer autómata (figura 7a) corresponde al grupo SEQ (","), mientras que el segundo autómata (figura 7b) corresponde al grupo alternativo ("|").
En el transcurso de la ejecución de estos autómatas, la llegada al estado 2 en el primer autómata entraña la ejecución del segundo autómata y la llegada al estado finito 1 o 2 en el segundo autómata va seguida por la prosecución de la ejecución del primer autómata, es decir de la ejecución de la transición F entre el estado 2 y el estado finito 3 del primer autómata.
El tratamiento de fusión de los dos autómatas permite obtener el autómata representado en la figura 8, en el que cada alternativa al grupo CHO está representada por una transición asociada con la signatura "cho.b1.b2" del grupo, concatenada con la signatura "b1", "b2" del elemento del grupo que figura en la alternativa elegida.
En el transcurso de esta etapa 14, los autómatas pueden sufrir igualmente un tratamiento de minimización del número de estados, por ejemplo aplicando el algoritmo de Hopcroft, y a continuación un tratamiento de normalización para obtener autómatas normalizados 6.
Después de este tratamiento, las transiciones al inicio de cada nudo están numeradas desde 0 hasta n.
La etapa siguiente 15 consiste en volver a leer el documento 2, comprimir los datos que contiene, ejecutando los autómatas sobre la estructura del documento, con el fin de obtener una sucesión de secuencias binarias en las cuales se encuentra el valor comprimido de cada elemento o conjunto de informaciones de base del documento. Según un primer tipo de codificación, estas secuencias binarias tienen la forma (K.N.V_{1}...V_{N})_{e} para cada elemento o grupo de elementos e, siendo N el número de acontecimientos del elemento e o el número de conjuntos de informaciones sucesivos que corresponden al elemento e, siendo K el número de la transición que ha permitido alcanzar el elemento e, y (V_{1}...V_{N}) son los valores respectivos, eventualmente comprimidos, de los N acontecimientos del elemento e. Si e es un grupo de elementos, su valor V está descompuesto en tantas secuencias binarias (K.N.V.) como elementos contenga. Sin embargo, en ciertos casos, N puede ser omitido, principalmente cuando este número sea fijo. Lo mismo ocurre con K en el caso en que no haya más que un solo arco procedente de un estado, por ejemplo en un grupo de tipo secuencia.
Previamente se puede realizar un encabezado general del documento comprimido que reagrupe varios parámetros codificados, útiles para la descripción del documento. De este modo, un encabezado de este tipo puede comprender una signatura del o de los esquemas de estructura utilizados, y un conjunto de parámetros que describa la codificación utilizada, como por ejemplo:
-
un parámetro, que indique si la codificación de la longitud de cada elemento es obligatoria u opcional o no está presente en el documento,
-
un parámetro, que indique si los elementos pueden o no ser subtipos, es decir asociados a un tipo más preciso que su tipo de base, y
-
un parámetro, que indique el tipo de codificación utilizado para el número de acontecimientos.
Cada elemento de información del documento puede estar asociado, igualmente, con un descabezado, estando precisadas su presencia y su naturaleza en el encabezado del documento.
De este modo, el encabezado de un elemento puede comprender la longitud codificada de este, con el fin de permitir, durante la descompresión del documento, el acceso a un elemento particular sin descomprimir todos los elementos precedentes en el documento. Los encabezados de elementos están insertados en el documento por ejemplo justo antes de la codificación del valor de los elementos.
De una manera general, la compresión del documento consiste en leer secuencialmente el documento, ejecutando los autómatas del esquema, lo que permite, además, verificar que la estructura del documento corresponda al esquema compilado.
En el transcurso de este tratamiento, se codifica el número de acontecimientos de cada elemento que aparezca en el documento. A este efecto, se aplican las reglas siguientes.
En el caso en que el número de acontecimientos de un elemento e esté definido por (i...j), se distinguen los casos siguientes:
Si j es diferente de "*" e i es diferente de 0, la codificación se descompone en dos partes, a saber (i...i) y (0...j-i), no estando codificada la primera parte por esta formulación específica más que si son necesarios i acontecimientos. La segunda parte está codificada sobre | log_{2}(j-i+1) | bitios.
Si j es diferente de "*" e i es igual a 0, la codificación del número de acontecimientos es efectuada entre 1 y j, es decir sobre | log_{2}(j) | bitios, puesto que si esta codificación es necesaria, esto significa que al menos hay un elemento e en el documento.
Si j es igual a "*", se utiliza una técnica de codificación tal como ASN1 según la cual el primer octeto indica el número de octetos sobre los que se ha efectuado la codificación, y los octetos siguientes contienen el valor del número de acontecimientos. También se puede utilizar el bitio más significativo de cada octeto para indicar si es o no es el último octeto de codificación del número de acontecimientos, sirviendo los siete bitios siguientes de cada octeto para codificar el número de acontecimientos.
Alternativamente, se puede elegir otro tipo de codificación en el que no sea necesario introducir el número de acontecimientos de los elementos de un esquema de estructura. Según este tipo de codificación, se introduce un tipo denominado "escape" o "esc" que indica el estado finito de los autómatas. Por lo tanto es necesario aplicar previamente una transformación a los autómatas obtenidos precedentemente.
Esta transformación consiste en añadir a cada estado de los autómatas una transición de retorno hacia el estado precedente y añadir una transición "esc" hacia un estado finito, que marca el final de la ejecución del autómata. La codificación de los elementos es entonces sólo de la forma (KV), terminándose la codificación de un autómata por el número K_{esc} de la transición "esc".
De hecho, este tipo de codificación no es interesante más que para la codificación de formas complejas y para elementos que no tengan un número máximo de acontecimientos. En particular está completamente adaptado a la codificación de grupos de tipo alternativo que comprendan un número de elementos diferente de 2^{p}, siendo p un número entero.
Este tipo de codificación puede combinarse con el precedente. Para ello es suficiente entonces indicarlo en el encabezado del documento comprimido y atribuir un bitio a los puntos de la codificación en los que debe encontrarse un número de acontecimientos.
Según la invención, al menos un tipo de base de los conjuntos de informaciones del documento está asociado con un módulo externo de compresión 16. De esta manera, durante la lectura del documento, los tipos respectivos de los conjuntos de informaciones encontrados son analizados, y cuando un tipo de conjunto de informaciones esté asociado con un módulo externo de compresión 16, éste es aplicado al contenido del conjunto de información y el resultado de la compresión se inserta en el documento comprimido como valor del conjunto de información correspondiente.
Los módulos externos de compresión pueden aplicar, por ejemplo, la norma "mp3" para las informaciones sonoras, "jpeg" para las imágenes y "MPEG 1" o "MPEG 2" para los datos de tipo vídeo.
Si no está asociado ningún módulo de compresión con un tipo de conjunto de informaciones, se puede utilizar un módulo de compresión por defecto o recuperar los conjuntos de informaciones que tengan este tipo tales como los que aparecen en el documento inicial.
Si se ha indicado en el encabezado del documento, que la codificación de la longitud es opcional u obligatoria, los elementos están asociados a un encabezamiento en el documento comprimido, que contiene la longitud en número de bitios del valor del elemento. Esta particularidad permite un acceso directo a un elemento del documento comprimido sin tener que descomprimir los elementos situados por delante en el documento, leyendo por medio de los autómatas únicamente las longitudes respectivas de estos elementos hasta el elemento buscado.
La longitud de los elementos puede estar codificada de la manera siguiente.
En el caso en que el encabezado del documento, se haya indicado que la codificación de la longitud de los elementos es obligatoria, la longitud L de los elementos en número de bitios es calculada por medio de la fórmula siguiente:
(4)L = 8*p+h
en la que p representa el número de octetos (en codificación ASN1 se utilizan los bitios más significativos de cada octeto utilizado para codificar este número) utilizados para codificar la longitud del elemento, y h representa el número de bitios restantes de esta longitud (h < 8).
Debe señalarse que el módulo externo de compresión 16, que está llamado a efectuar la codificación del valor de un elemento, puede proporcionar, como contestación, esta longitud.
En el caso en que la codificación de la longitud de los elementos no sea obligatoria, el valor del primer bitio, que corresponde al valor del elemento, indica si los bitios siguientes representan o no la longitud del elemento.
Si los elementos pueden ser subtipos (indicado en el encabezado del documento), los nuevos tipos eventuales son insertados en un encabezado de elemento colocado en el documento comprimido justo delante del valor del elemento. El primer bitio indica si el tipo del elemento es diferente o no del tipo esperado. En el primer caso, los bitios siguientes en el encabezado del elemento contienen el código del nuevo tipo, determinándose este código por numeración de todos los subtipos posibles del tipo de base del elemento, estando dada esta numeración por la codificación de la estructura del documento.
De una manera más precisa, la codificación de un documento se efectúa en tres etapas principales.
En la primera etapa, se numeran los arcos que salen de cada nudo. Esta etapa es facultativa si únicamente hay un solo arco de partida del nudo. Si hay n arcos salientes, se asocia con cada uno de estos arcos un número dado por el orden de los arcos atribuidos durante la normalización (etapa 14). Este número está codificado sobre n' bitios, siendo n' tal que 2^{n'-1} < n \leq 2^{n'}.
De este modo, si n transiciones son originarias del estado E, cada transición será codificada sobre | log_{2}(n-1) | +1 bitios.
En la segunda etapa, se codifica el número de acontecimientos de cada subautómata como se ha descrito anteriormente.
En la tercera etapa, se codifica el subautómata. Este tratamiento puede ser formulado por el algoritmo siguiente:
Colocarse al comienzo del autómata,
Mientras que el estado activo no sea final
Se codifica el arco que se atraviesa, si es necesario
Se codifica el número n de acontecimientos, si es necesario
Se desplaza en el subautómata correspondiente hasta el nudo esperado,
Se codifica n veces este subautómata.
Se reemplaza en el autómata inicial.
Fin por el momento.
Por ejemplo, para la codificación del acontecimiento "a_{2} a_{3} a_{1} a_{1} a_{3}" del autómata (a_{1} | a_{2} | a_{3})^{(0...\text{*})}, hay tres arcos salientes. La numeración de los arcos se efectúa por lo tanto sobre dos bitios. Como consecuencia, el resultado de la codificación es el siguiente, en el caso en que se codifique el número de acontecimientos:
0000 \ 0101 \ 01 \ V_{a2} \ 10 \ V_{a3} \ 00 \ V_{a1} \ 00 \ V_{a1} \ 10 \ V_{a3}
en el cual "0000 0101" representa el valor binario del número de acontecimientos, es decir 5, y V_{a1}, V_{a2} y V_{a3} son, respectivamente, los valores de los acontecimientos de a1, a2 y a3.
En el caso en que no se codifique el número de acontecimientos:
01 \ V_{a2} \ 10 \ V_{a3} \ 00 \ V_{a1} \ 00 \ V_{a1} \ 10 \ V_{a3} \ 11
11 corresponde al número de transiciones de salida "esc".
En el ejemplo de las figuras 7a, 7b, la codificación del acontecimiento "b_{2} b_{1} a_{1}" del autómata (a_{1}^{0..\text{*}}, (b_{1} | b_{2})^{0..\text{*}}) conduce al resultado siguiente (caso en el que los estados no estén fusionados):
0000 0010 número de acontecimientos de la secuencia (en este caso 2 veces)
1 codificación del arco "cho.b_{1}.b_{2}"
0000 0010 número de acontecimientos del grupo "cho.b1.b2" (en este caso 2 veces)
1 codificación del arco b_{2} en el grupo "cho.b1.b2"
V_{b2} codificación del valor de b_{2}
0 codificación del arco b_{1} en el grupo "cho.b1.b2"
V_{b1} codificación del valor de b_{1}
0 codificación del arco a_{1}
0000 0001 número de acontecimientos de a_{1}
V_{a1} codificación del valor de a_{1}
1 codificación del arco de salida F.
En el caso en que los estados estén fusionados (figura 8):
0000 0010 número de acontecimientos de la secuencia
10 codificación del arco "cho.b_{1}.b_{2}-b_{2}"
0000 0010 número de acontecimientos del grupo "cho.b1.b2"
V_{b2} codificación del valor de b_{2}
0 codificación del arco b_{1} en el grupo "cho.b1.b2"
V_{b1} codificación del valor de b_{1}
00 codificación del arco a_{1}
0000 0001 número de acontecimientos de a_{1}
V_{a1} codificación del valor de a_{1}
10 codificación del arco de salida F.
Puede ser necesario efectuar una reordenación del autómata, principalmente si el esquema ha sido interpretado y reordenado con el fin de optimizar la codificación en el caso del grupo ET_{NO}.
Si el orden de los atributos no es útil (como en el lenguaje XML), se puede efectuar una codificación que reordene los atributos de los elementos en un orden predeterminado, por ejemplo según un orden alfanumérico, y a continuación según que sean requeridos o no. Esta disposición permite reducir correspondientemente el tamaño de la descripción comprimida.
El tratamiento de descompresión de un documento, obtenido de este modo, se efectúa ejecutando las etapas 11 a 15 sobre el esquema de estructura del documento para obtener los autómatas, a continuación se ejecuta la etapa 15' de descodificación o de descompresión del documento, esta etapa consiste en recorrer el documento comprimido ejecutando los autómatas obtenidos como consecuencia de las etapas 11 a 14, con el fin de poder determinar el tipo y el número de los elementos de información comprimidos encontrados en el documento. Los valores de los elementos que han sido obtenidos por medio de los módulos 16 de compresión externos son descomprimidos por medio de módulos de descompresión 16' correspondientes.
Debe señalarse que si deben tratarse (comprimirse o descomprimirse) varios documentos que tengan el mismo esquema de estructura, las etapas 11 a 15 no son ejecutadas más que una sola vez, únicamente las etapas 15 y 16 (o 15' y 16') deben ser aplicadas a cada documento a ser tratado.

Claims (10)

1. Procedimiento para la compresión y la descompresión de un documento estructurado, asociado con al menos un esquema de estructura arborescente (1; 31, 39, 43) que define una estructura del documento y que comprende elementos de estructura (32, 33, 34, 40, 44, 45, 46, a3, a4, X, Y, a1, a5, a1, a2, A, B) imbricados, que representan conjuntos de informaciones del documento, estando distribuidos los elementos de estructura en tres categorías, a saber elementos raíz estructurados (31, 39, 43), grupos de elementos (32, 33, 34, 40, 44, 45, 46) y elementos de base estructurados (X, Y, A, B) o no estructurados (a3, a4, a1, a5, a1, a2) que corresponden a los elementos de nivel más bajo en la estructura, estando asociado cada elemento de base con un tipo de información, caracterizado porque al menos un tipo de información de los elementos de base está asociado previamente con un algoritmo de compresión (16) adaptado, comprendiendo el procedimiento las etapas siguientes:
-
el análisis sintáctico (11) del esquema de estructura del documento,
-
la compilación (13) del esquema de estructura con vistas a obtener un autómata de estados finitos (5) por elemento raíz, comprendiendo cada autómata estados ("0", "1",... "n") conectados entre sí mediante transiciones ("m1", "m2", ... "mn") que representan, respectivamente, los elementos de la estructura, y
-
la compresión (15) del documento estructurado (2) a ser comprimido, que comprende la ejecución de los autómatas con estados finitos (5) sobre el documento, y la ejecución del algoritmo de compresión (16) cuando se encuentre en el documento estructurado (2) un conjunto de informaciones que tenga un tipo de información asociado con dicho algoritmo.
2. Procedimiento según la reivindicación 1, caracterizado porque, con vistas a la descompresión del documento comprimido (10), éste comprende la ejecución de las etapas (11, 12, 13) para determinar los autómatas (5) que han servido para la compresión a partir del esquema de estructura (1), la ejecución (15') de los autómatas (5) sobre el documento comprimido (10) para analizar el contenido de este, con vistas a reconstituir un documento con el formato de origen que tenga una estructura al menos equivalente, siendo ejecutados algoritmos de descompresión (16'), que corresponden a los algoritmos de la compresión (16), utilizados durante la compresión (15), para restituir los conjuntos de informaciones del documento estructurado (2) de origen a partir de secuencias de informaciones binarias marcadas en el documento comprimido durante la ejecución de los autómatas.
3. Procedimiento según la reivindicación 1 ó 2, caracterizado porque en el caso en que el esquema de estructura (1) deba ser transmitido con el documento, el procedimiento según la invención comprende una etapa de transmisión del esquema de estructura (5).
4. Procedimiento según una de las reivindicaciones 1 a 3, caracterizado porque comprende una etapa de normalización (12) del esquema de estructura (5) del documento con el fin de obtener un orden único predefinido de los elementos del esquema.
5. Procedimiento según una de las reivindicaciones 1 a 4, caracterizado porque cada conjunto de información está marcado en el documento comprimido, con el fin de permitir el acceso directo a un conjunto de informaciones particular, sin que sea necesario descomprimir los conjuntos de informaciones que preceden al conjunto a ser descomprimido.
6. Procedimiento según una de las reivindicaciones 1 a 5, caracterizado porque cada elemento del esquema de estructura está asociado, además, con un conjunto de números de acontecimientos posibles, que indica el número de veces que un conjunto de informaciones que tiene este elemento de estructura puede aparecer en el conjunto de informaciones del nivel inmediatamente superior a aquél al que pertenece.
7. Procedimiento según una de las reivindicaciones 1 a 6, caracterizado porque comprende una etapa de optimización del esquema de estructura del documento que consiste en reducir el número de niveles jerárquicos de grupos de elementos de estructura.
8. Procedimiento según una de las reivindicaciones 1 a 7, caracterizado porque el documento comprimido (10) comprende para cada conjunto de informaciones del documento de origen, un número de transición que corresponde al elemento de estructura asociado con el elemento de informaciones y con el valor binario del conjunto de informaciones comprimido.
9. Procedimiento según la reivindicación 8, caracterizado porque en el documento comprimido (10), cada elemento de estructura de al menos una parte de los elementos de estructura del esquema de estructura, está asociado con un número de acontecimientos de conjuntos de informaciones en el documento.
10. Procedimiento según las reivindicaciones 8 ó 9, caracterizado porque en el documento comprimido (10), está marcado el fin de un grupo de varios acontecimientos de conjuntos de informaciones del mismo tipo, por una secuencia binaria que representa un número de transición hacia el estado finito.
ES01967412T 2000-09-06 2001-08-31 Procedimiento para la compresion/decompresion de documentos estructur dos. Expired - Lifetime ES2234878T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0011356A FR2813743B1 (fr) 2000-09-06 2000-09-06 Procede de compression/decompression de documents structures
FR0011356 2000-09-06

Publications (1)

Publication Number Publication Date
ES2234878T3 true ES2234878T3 (es) 2005-07-01

Family

ID=8854020

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01967412T Expired - Lifetime ES2234878T3 (es) 2000-09-06 2001-08-31 Procedimiento para la compresion/decompresion de documentos estructur dos.

Country Status (11)

Country Link
US (2) US8015218B2 (es)
EP (1) EP1316220B1 (es)
JP (1) JP4653381B2 (es)
AT (1) ATE285656T1 (es)
AU (1) AU2001287796A1 (es)
DE (1) DE60107964T2 (es)
DK (1) DK1316220T3 (es)
ES (1) ES2234878T3 (es)
FR (1) FR2813743B1 (es)
PT (1) PT1316220E (es)
WO (1) WO2002021848A1 (es)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3368883B2 (ja) * 2000-02-04 2003-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
ATE341901T1 (de) * 2001-07-13 2006-10-15 France Telecom Verfahren zur komprimierung einer baumhierarchie, zugehöriges signal und verfahren zur dekodierung eines signals
US20030188265A1 (en) * 2002-04-02 2003-10-02 Murata Kikai Kabushiki Kaisha Structured document processing device and recording medium recording structured document processing program
KR100968083B1 (ko) * 2002-07-15 2010-07-05 지멘스 악티엔게젤샤프트 구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치
AU2003250302A1 (en) * 2002-07-15 2004-03-03 Siemens Aktiengesellschaft Method and devices for encoding/decoding structured documents, especially xml documents
US7603654B2 (en) * 2004-03-01 2009-10-13 Microsoft Corporation Determining XML schema type equivalence
US8977859B2 (en) * 2004-05-04 2015-03-10 Elsevier, Inc. Systems and methods for data compression and decompression
US7509631B2 (en) * 2004-05-21 2009-03-24 Bea Systems, Inc. Systems and methods for implementing a computer language type system
US8111694B2 (en) 2005-03-23 2012-02-07 Nokia Corporation Implicit signaling for split-toi for service guide
US20070143664A1 (en) * 2005-12-21 2007-06-21 Motorola, Inc. A compressed schema representation object and method for metadata processing
WO2007134407A1 (en) * 2006-05-24 2007-11-29 National Ict Australia Limited Selectivity estimation
DE112007001386A5 (de) * 2006-07-07 2009-03-19 Universität Paderborn Verfahren zur Kompression einer Datensequenz eines elektronischen Dokuments
US7747558B2 (en) 2007-06-07 2010-06-29 Motorola, Inc. Method and apparatus to bind media with metadata using standard metadata headers
US7925643B2 (en) * 2008-06-08 2011-04-12 International Business Machines Corporation Encoding and decoding of XML document using statistical tree representing XSD defining XML document
EP2161667A1 (en) * 2008-09-08 2010-03-10 Thomson Licensing, Inc. Method and device for encoding elements
EP2219117A1 (en) * 2009-02-13 2010-08-18 Siemens Aktiengesellschaft A processing module, a device, and a method for processing of XML data
RU2413985C2 (ru) * 2009-03-05 2011-03-10 Борис Васильевич Черников Способ преобразования слабоформализуемых документов для минимизации их объема при хранении
JP5570202B2 (ja) * 2009-12-16 2014-08-13 キヤノン株式会社 構造化文書解析装置、構造化文書解析方法、及びコンピュータプログラム
EP2388701A1 (en) * 2010-05-17 2011-11-23 Siemens Aktiengesellschaft Method and apparatus for providing a service implementation
WO2012128830A2 (en) * 2011-03-24 2012-09-27 Okeefe Kevin J System and mehtod for information exchange and processing
US9543980B2 (en) 2014-10-10 2017-01-10 Massachusettes Institute Of Technology Systems and methods for model-free compression and model-based decompression
US10733237B2 (en) 2015-09-22 2020-08-04 International Business Machines Corporation Creating data objects to separately store common data included in documents
JP6903892B2 (ja) * 2016-10-12 2021-07-14 富士通株式会社 検証プログラム、検証装置、検証方法、符号化プログラム、符号化装置および符号化方法
US10467275B2 (en) * 2016-12-09 2019-11-05 International Business Machines Corporation Storage efficiency
CN108763379B (zh) * 2018-05-18 2022-06-03 北京奇艺世纪科技有限公司 一种数据压缩方法、数据解压缩方法、装置及电子设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438512A (en) * 1993-10-22 1995-08-01 Xerox Corporation Method and apparatus for specifying layout processing of structured documents
WO1997034240A1 (en) * 1996-03-15 1997-09-18 University Of Massachusetts Compact tree for storage and retrieval of structured hypermedia documents
JPH10187680A (ja) * 1996-12-20 1998-07-21 Nec Corp 単語、文、部分の粒度で管理するドキュメントリポジトリ装置
US6266419B1 (en) * 1997-07-03 2001-07-24 At&T Corp. Custom character-coding compression for encoding and watermarking media content
US6121903A (en) * 1998-01-27 2000-09-19 Infit Communications Ltd. On-the-fly data re-compression
US6363381B1 (en) * 1998-11-03 2002-03-26 Ricoh Co., Ltd. Compressed document matching
US6553141B1 (en) * 2000-01-21 2003-04-22 Stentor, Inc. Methods and apparatus for compression of transform data
JP3368883B2 (ja) * 2000-02-04 2003-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
US6883137B1 (en) * 2000-04-17 2005-04-19 International Business Machines Corporation System and method for schema-driven compression of extensible mark-up language (XML) documents
IT1314626B1 (it) * 2000-04-21 2002-12-20 Ik Multimedia Production Srl Procedimento per la codifica e la decodifica di flussi di dati,rappresentanti suoni in forma digitale, all'interno di un
US20020029229A1 (en) * 2000-06-30 2002-03-07 Jakopac David E. Systems and methods for data compression
CN1401188B (zh) * 2000-10-17 2011-06-08 皇家菲利浦电子有限公司 Mpeg-7样品的二进制格式
US6850948B1 (en) * 2000-10-30 2005-02-01 Koninklijke Philips Electronics N.V. Method and apparatus for compressing textual documents
JP4774145B2 (ja) * 2000-11-24 2011-09-14 富士通株式会社 構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム
JP2004518327A (ja) * 2001-01-11 2004-06-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 逆進的にストリングを参照する為の識別子を用いたデータ圧縮方法
FR2820563B1 (fr) * 2001-02-02 2003-05-16 Expway Procede de compression/decompression d'un document structure
US7246177B2 (en) * 2001-05-17 2007-07-17 Cyber Ops, Llc System and method for encoding and decoding data files
JP3832807B2 (ja) * 2001-06-28 2006-10-11 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ
US20030028673A1 (en) * 2001-08-01 2003-02-06 Intel Corporation System and method for compressing and decompressing browser cache in portable, handheld and wireless communication devices
AU2003250302A1 (en) * 2002-07-15 2004-03-03 Siemens Aktiengesellschaft Method and devices for encoding/decoding structured documents, especially xml documents
US6667700B1 (en) * 2002-10-30 2003-12-23 Nbt Technology, Inc. Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation
US7509574B2 (en) * 2005-02-11 2009-03-24 Fujitsu Limited Method and system for reducing delimiters

Also Published As

Publication number Publication date
WO2002021848A1 (fr) 2002-03-14
EP1316220B1 (fr) 2004-12-22
PT1316220E (pt) 2005-02-28
DE60107964D1 (de) 2005-01-27
FR2813743B1 (fr) 2003-01-03
AU2001287796A1 (en) 2002-03-22
FR2813743A1 (fr) 2002-03-08
ATE285656T1 (de) 2005-01-15
JP2004508647A (ja) 2004-03-18
US20040013307A1 (en) 2004-01-22
US20110283183A1 (en) 2011-11-17
EP1316220A1 (fr) 2003-06-04
DK1316220T3 (da) 2005-01-24
DE60107964T2 (de) 2005-05-25
JP4653381B2 (ja) 2011-03-16
US8015218B2 (en) 2011-09-06

Similar Documents

Publication Publication Date Title
ES2234878T3 (es) Procedimiento para la compresion/decompresion de documentos estructur dos.
ES2272666T3 (es) Procedimiento de compresion/descompresion de un documento estructurado.
JP3368883B2 (ja) データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
JP3009727B2 (ja) 改良形データ圧縮装置
JP4373721B2 (ja) マークアップ言語文書を符号化するための方法およびシステム
US20050120031A1 (en) Structured document encoder, method for encoding structured document and program therefor
US20070112810A1 (en) Method for compressing markup languages files, by replacing a long word with a shorter word
JPH07160473A (ja) バイト整列式データ圧縮方法及び装置
CN101040444B (zh) 压缩结构化文档的方法和装置
US20090254882A1 (en) Methods and devices for iterative binary coding and decoding of xml type documents
US20070143664A1 (en) A compressed schema representation object and method for metadata processing
KR100667293B1 (ko) 허프만 코드 길이 정보를 생성하는 방법
US9128912B2 (en) Efficient XML interchange schema document encoding
US7676742B2 (en) System and method for processing of markup language information
CN118523780A (zh) 一种对sas数据集进行解压以及压缩的方法及应用
Wang et al. XCpaqs: compression of XML document with XPath query support
JP4821287B2 (ja) 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造
KR20060123197A (ko) 구조적 문서의 압축 및 압축 해제 방법
US7043502B1 (en) Methodology for JEDEC file repair through compression field techniques
Liefke et al. XMill: an E cient Compressor for XML Data
JP2004342029A (ja) 構造化文書圧縮方法及び装置
JP4675748B2 (ja) Xmlデータ変換装置及びxmlデータ復元装置
JP2633121B2 (ja) データ解析処理方式
Conner Compact Binary XML
Muqtida et al. Improvement in Compression Efficiency of Huffman Coding