ES2272666T3 - Procedimiento de compresion/descompresion de un documento estructurado. - Google Patents
Procedimiento de compresion/descompresion de un documento estructurado. Download PDFInfo
- Publication number
- ES2272666T3 ES2272666T3 ES02701380T ES02701380T ES2272666T3 ES 2272666 T3 ES2272666 T3 ES 2272666T3 ES 02701380 T ES02701380 T ES 02701380T ES 02701380 T ES02701380 T ES 02701380T ES 2272666 T3 ES2272666 T3 ES 2272666T3
- Authority
- ES
- Spain
- Prior art keywords
- document
- elements
- component
- code
- sequence
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Document Processing Apparatus (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Auxiliary Devices For And Details Of Packaging Control (AREA)
- Input From Keyboards Or The Like (AREA)
- Jellies, Jams, And Syrups (AREA)
- Press Drives And Press Lines (AREA)
Abstract
Procedimiento de compresión de un documento estructurado que comprende elementos de información imbricados los unos en los otros y asociados cada uno a un tipo de información, estando el documento estructurado (2) con al menos un esquema de estructura ( 1; 31, 39, 43) que define una estructura arborescente del documento que comprende componentes de estructura (a3, a4, X, Y, a1, a5, a1, a2, A, B, 32, 33, 34, 40, 44, 45, 46) imbricados los unos en los otros, estando cada tipo de información en el documento definido por un componente del esquema, caracterizado por que comprende las etapas consistentes en: -analizar (11) el esquema de estructura (1) del documento generado, para cada componente del esquema de estructura, una secuencia de instrucciónes ejecutables (5) que comprende instrucciones de inserción en un flujo binario, de códigos de control y de valores comprimidos de elementos de informaciones o de códigos de llamada de secuencias de instrucciones de componente, e instrucciones de control del desarrollo de la ejecución de la secuencia en función de los valores de códigos de control, permitiendo la ejecución de secuencias de instrucciones en el documento estructurado (2) comprimir el documento estructurado (2) en un flujo binario (10) que contiene valores comprimidos de elementos de informaciones del documento, -ejecutar (14) sobre el documento estructurado (2) la secuencia de instrucciones generadas, para obtener un flujo binario (10) que contiene los valores comprimidos de elementos de información en el documento.
Description
Procedimiento de compresión/descompresión de un
documento estructurado.
La presente invención se relaciona con un
procedimiento de compresión/descompresión de documentos
estructurados.
Se aplica particularmente pero no
exclusivamente, a la transmisión de documentos tales como imágenes o
secuencias de imágenes, datos, vídeo o sonoras, por redes de
transmisión de datos numéricos, así como al almacenamiento de tales
documentos, y de datos que describen estos documentos.
Un documento estructurado es una colección de
elementos de informaciones asociadas cada una a un tipo y atributos,
y compuestos entre ellos según relaciones principalmente
jerárquicas. Estos documentos emplean un lenguaje de estructuración
tales como SGML, HTML. XML, que permiten particularmente distinguir
los diferentes sub-elementos de información que
componen el documento. Por oposición, en un documento denominado
lineal, las informaciones de contenido en el documento son
mezcladas a las informaciones de presentación y de
mecanografiado.
Un documento estructural incluye señales de
separación de los diferentes elementos de informaciones en el
documento. En los casos de formatos SGML, XML, o HTML, estas señales
llamadas "balizas" son de la forma "<XXXX>" y
"</XXXX>", indicando la primera señal el inicio de un
elemento de informaciones "XXXX" y el segundo el final de este
elemento. Un elemento de información puede estar compuesto de varios
elementos de información de más bajo nivel. Así, un documento
estructurado presenta un esquema de estructura jerárquica o
arborescente, representando cada nodo un elemento de informaciones
y estando unido a un nodo de nivel jerárquico superior que
representa un elemento de información que contiene los elementos de
informaciones de nivel inferior. Los nodos situados en el extremo
de la rama de esta estructura arborescente que representan los
elementos de información que contienen datos de un tipo
predefinido, que no pueden estar descompuestos en
sub-elementos de
informaciones.
informaciones.
Así, un documento estructurado contiene señales
de separación representadas bajo la forma de datos textuales o
binarios, estas señales que delimitan elementos o
sub-elementos de informaciones que pueden ellos
mismos contener en otros sub-elementos de
informaciones delimitadas por señales.
Por otro lado un documento estructurado está
asociado a lo que se llama un esquema de estructura que define bajo
la forma de reglas la estructura y el tipo de información de cada
elemento de informaciones en el documento. Un esquema está
constituido de grupos imbricados de componentes, pudiendo ser estos
grupos secuencias ordenadas, grupos de componentes alternativos o
grupos de componentes necesarios, ordenados o no ordenados.
Actualmente, existen varios algoritmos de
compresión de documentos numéricos. Ciertos algoritmos de compresión
son conocidos por tratar directamente los datos binarios en el
documento, sin tener en cuenta el tipo de estos datos. Estos
algoritmos presentan la ventaja de que pueden tratar no importa que
documento, pero son poco eficientes (tasa de compresión poco
elevada) para tratar estos documentos voluminosos que son
generadamente del tipo sonido o imagen.
Se conocen por otra parte otros algoritmos de
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 potentes si son aplicados a documentos que no
contienen exclusivamente datos para los cuales son concebidos. Por
consiguiente los algoritmos de compresión específicos de un tipo de
datos particular son poco eficaces y mal adaptados para tratar los
documentos estructurados que contienen diferentes tipos de
datos.
En los documentos XMILL: "An efficient
Compressor for XML Data" de H. Liefke et al., Sigmod
Record, Association for Computing Machinery, New York, US, Vol. 29,
n°2, juin 2000, pages 153-164, et "Millau: An
Encoding Format for Efficient Representation and Exchange of XML
over the Web" de M. Girardot et al., Computer Networks ans
ISDN Systems, North Holland Publishing. Amsterdam, NL, Vol. 33, n°
1-6, juin 2000, pages 747-765, son
puestos a punto algoritmos de compresión adaptados a la compresión
de documentos al formato XML.
La presente invención tiene por meta suprimir
los inconvenientes mencionados anteriormente y mejorar los
algoritmos adaptados a los documentos al formato XML. El objetivo
es alcanzar mediante la previsión de un procedimiento de compresión
de un documento estructurado que comprende elementos de
informaciones imbricadas las unas en las otras y asociadas cada uno
a un tipo de información, estando el documento estructurado asociado
con al menos un esquema de estructura que define una estructura
arborescente en el documento y comprende componentes de estructura
imbricados los unos en los otros, estando cada tipo de información
en el documento definido por un componente del esquema.
Según la invención este procedimiento comprende
etapas que consisten en:
- analizar el esquema de estructura en el
documento, generado, para cada componente del esquema de estructura
una secuencia de instrucciones ejecutables, que comprenden
instrucciones de inserción en un flujo binario, de códigos de
control y de valores comprimidos de elementos de informaciones o de
códigos de llamadas de secuencia de instrucciones de componentes, y
de instrucciones de control del desarrollo de la ejecución de la
secuencia en función de los valores de los códigos de control.
La ejecución de la secuencia de instrucción
sobre el documento estructurado que permite comprimir el documento
estructurado en un flujo binario que contienen los valores
comprimidos de los elementos de informaciones en el documento,
- ejecutar en el documento estructurado las
secuencias de instrucciones generadas, para obtener un flujo binario
que contiene los valores comprimidos de los elementos de
informaciones en el documento.
Según una particularidad de la invención, el
documento que comprende elementos de base no descomprimidos en
sub-elementos, al menos un tipo de información de
los elementos de base está asociada previamente a un algoritmo de
compresión adaptado al tipo de información, comprendiendo el
procedimiento, durante la ejecución de la secuencia de
instrucciones, la aplicación del algoritmo de compresión con el
valor de cada elemento de información que tiene un tipo de
información asociada al dicho algoritmo.
Según otra particularidad de la invención, el
procedimiento comprende una etapa de compilación de secuencias de
instrucciones obtenidas para cada componente del dicho esquema de
estructura, para obtener un programa binario de codificación
dedicado al dicho esquema de estructura, y directamente ejecutable o
interpretable por un ordenador para comprimir un documento que
tenga el esquema de estructura.
Según aún una otra particularidad de la
invención, el procedimiento comprende una etapa previa de
normalización del esquema de estructura en el documento, de manera
que se obtenga un orden único predefinido de los componentes del
esquema.
Según aún una otra particularidad de la
invención, el procedimiento comprende una etapa previa de
optimización y de simplificación del esquema de estructura en el
documento que consiste en reducir el número de niveles de
imbricaciones de componentes de estructura.
Ventajosamente, al menos un elemento de
informaciones en el documento está asociado, del flujo binario
generado, con un código de elemento de informaciones que está
señalado de manera que permite el acceso directo con un elemento de
informaciones comprimidos particular del flujo binario, sin que sea
necesario descomprimir los elementos de informaciones que preceden
el elemento en descomprimir del flujo binario.
Según aún una otra particularidad de la
invención, el documento comprimido generado comprende para cada
elemento de informaciones en el documento estructurado, un código
que permite determinar el tipo de informaciones asociadas con el
elemento de informaciones, y el valor binario del elemento de
informaciones.
Según aún otra particularidad de la invención,
el esquema de estructura en el documento comprende la definición de
sub-tipos de al menos un tipo de información, y del
que la secuencia de instrucciones que está generada para un
componente de un tipo que tenga un sub-tipo
comprende sucesivamente:
- Una instrucción de inserción de un código de
sub-tipo que representa un sub-tipo
para aplicar a un elemento que corresponda en el documento al
componente, asociado al tamaño de ese código en número de bits,
y
- instrucciones de prueba del valor del código
de sub-tipo, estando cada instrucción asociada a una
referencia al sub-tipo del elemento que corresponde
al valor del código de sub-tipo probado, y a una
secuencia de instrucciones que está generada para la compresión de
un elemento asociado al sub-tipo.
Preferiblemente, el flujo binario que está
generado para un componente que corresponda en el documento a varias
circunstancias de un conjunto de elementos que comprenden al menos
un elemento de informaciones, comprende un código de final
predefinido.
Según aún una otra particularidad de la
invención, a componente del esquema de estructura corresponde en el
documento a un conjunto de elementos que comprenden al menos un
elemento de informaciones, y está además asociado a un conjunto de
números de circunstancias posibles, que indican el número de veces
que un conjunto de elementos correspondientes a este componente,
puede aparecer en un elemento de informaciones de nivel
inmediatamente superior al cual corresponde.
Según aún una otra particularidad de la
invención, la secuencia de instrucciones que es generada para un
componente que tiene el número de circunstancias igual a 0 ó 1
comprende sucesivamente:
- una instrucción de inserción de un código de
presencia sobre bit que indica la presencia o no en el documento de
un conjunto de elementos correspondientes al componente,
- una instrucción de prueba del valor del código
de presencia, y
\newpage
- en asociación con la instrucción de prueba, si
el valor del código de presencia indica la presencia del conjunto
de elementos en el documento, una secuencia de instrucciones que
esta genera para el componente, independientemente del número de
circunstancias asociadas.
Según aún otra particularidad de la invención,
la secuencia de instrucciones que es generada para un componente
que tiene un número de circunstancias comprendidas entre n y m
comprende sucesivamente:
- una instrucción de inserción de un código de
número de circunstancias que indican el número de circunstancias
sucesivas de un conjunto de elementos que corresponden al componente
en el documento comprimido, al cual se le ha suprimido el número n
mínimo de circunstancias, asociados al tamaño de ese código en
número de bits,
- una instrucción de bucle que define un número
de iteraciones correspondientes al valor del código de número de
circunstancias, y
- en asociación con la instrucción de bucle, una
secuencia de instrucciones que es generada para el componente,
independientemente del número de circunstancias asociadas.
Según aún una otra particularidad de la
invención, la secuencia de instrucciones que es generada para un
componente que tiene un número de circunstancias comprendidas entre
0 y m comprende además:
- una instrucción de inserción de un código de
presencia que indica sobre un bit la presencia o no en el documento
de al menos una circunstancia del conjunto de elementos
correspondientes al componente, y
- una instrucción de prueba del valor del código
de presencia, asociado a la secuencia de instrucciones generada
para un número de circunstancias comprendidas entre 1 y m del
componente, si el valor del código de presencia indica la presencia
de al menos un conjunto de elementos.
Según aún otra particularidad de la invención,
la secuencia de instrucciones que es generada para un componente
que tiene un número de circunstancias comprendidas entre n y m
comprende sucesivamente:
- una instrucción de inserción de un código de
presencia sobre bit de una circunstancia de un conjunto de elementos
que corresponde al componente en el documento, asociado al tamaño
de ese código el número de bits,
- una instrucción de bucle para ejecutar en
tanto que el código de presencia para insertar indique la presencia
de una nueva circunstancia del conjunto de elementos,
- en asociación con la instrucción de bucle, una
secuencia de instrucciones que es generada por el componente, y una
instrucción de inserción de un nuevo código de presencia sobre un
bit de una nueva circunstancia del conjunto de elementos en el
documento.
Según aún una otra particularidad de la
invención, cada componente del esquema de estructura corresponde a
un conjunto de elementos que comprende al menos un elemento de
informaciones, en el que el esquema de estructura en el documento
estructurado comprende al menos un componente de tipo secuencia de
componentes ordenados, cuyo orden de aparición en la secuencia
define al orden de aparición en el documento de los conjuntos de
elementos correspondientes a los componentes del grupo de tipo de
secuencia, y en que la secuencia de instrucciones que es generada
para una secuencia que comprende n componentes comprende
sucesivamente secuencias de instrucciones que son generadas para
cada componente de la secuencia.
Según aún una otra particularidad de la
invención, cada componente del esquema de estructura corresponde con
un conjunto de elementos que comprenden al menos un elemento de
informaciones, en el que el esquema de estructura en el documento
para comprimir comprende al menos un componente de tipo secuencia de
componentes alternativos, cada componente alternativo
correspondiente con un conjunto de elementos de informaciones, el
componente de tipo grupo de componentes alternativos
correspondiente en el documento a un conjunto de informaciones que
corresponden a los componentes alternativos, y en que la secuencia
de instrucciones que es generada para un grupo de componentes
alternativos que comprende n componentes que definen respectivamente
n conjuntos de elementos, comprende sucesivamente:
- una instrucción de inserción de un código de
número de conjunto de elementos que designan el conjunto de
elementos que aparecen en el documento entre los n conjuntos de
elementos asociad a la tamaño en número de bits de ese código,
y
- instrucciones de prueba del valor de código de
número de conjunto de elementos, estando cada instrucción de prueba
asociada a una secuencia de instrucciones que es generada para el
componente correspondiente al conjunto de elementos que corresponde
al valor probado del código del número del número de elementos.
Según aún una otra particularidad de la
invención, cada componente del esquema de estructura corresponde con
un conjunto de elementos que comprende al menos un elemento de
informaciones, en el que el esquema de estructura en el documento
para comprimir comprende al menos un grupo ético no ordenado de
componentes, cada componente del grupo no ordenado correspondiente
con un conjunto de elementos y el grupo de tipo grupo no ordenado
correspondiente en el documento con un grupo que reúne en un orden
cualquiera todo los conjuntos de elementos correspondiente a los
componentes del grupo de tipo no ordenado, y del que la secuencia de
instrucciones que es generada para un grupo de tipo no ordenado que
comprende n componentes correspondientes en el documento
respectivamente a n conjuntos de elementos, comprendiendo
sucesivamente
- una instrucción de inserción de un código de
un número de conjunto de elementos que designa el conjunto de
elementos que aparecen en el documento, entre los n conjuntos de
elementos, asociados con el tamaño en número de bits de ese código,
y
- instrucciones de prueba del valor del código
de número de conjunto de elementos, estando cada instrucción de
prueba asociada con secuencia de instrucciones que es generada por
el componente que corresponde con el conjunto de elementos
correspondiente al valor del código del número de conjunto de
elementos
probado, y una secuencia de instrucciones que es
generada para un grupo de tipo no ordenado que comprende todo los
componentes del grupo no ordenado salvo el componente
correspondiente con el conjunto de elementos.
La invención se relaciona igualmente con un
procedimiento de descompresión de un documento estructurado que
comprende elementos de informaciones imbricadas las unas en las
otras y asociadas cada una con un tipo de información, estando el
documento estructurado asociado con al menos un esquema de
estructura que define una estructura arborescente en el documento y
que comprende componentes de estructura imbricados los unos en los
otros, estando cada tipo de información en el documento definido por
un componente del esquema.
Según la invención este procedimiento comprende
etapas que consisten en:
- analizar el esquema de estructura en el
documento generado, para componente del esquema de estructura, una
secuencia de instrucciones ejecutables, que comprende instrucciones
de lectura en un flujo binario que constituye el documento
comprimido, de códigos de control y de valores comprimidos de
elementos de informaciones o de códigos de llamada de secuencias de
instrucciones de componentes y de instrucciones de control del
desarrollo de la ejecución de la secuencia en función de los
valores de los códigos de control, la ejecución de la secuencia de
instrucciones en el documento comprimido que permite en reconstituir
un documento al formato en el documento de origen y que tiene una
estructura al menos equivalente,
- ejecutar sobre el flujo binario constituyente
el documento para descomprimir la secuencia de instrucciones
generadas, para obtener un documento estructurado al formato en el
documento estructurado de origen y que tiene una estructura al
menos equivalente.
Ventajosamente, este procedimiento comprende
además una etapa de ejecución de secuencia de instrucciones del
flujo binario que constituye el documento por descomprimir.
Según una particularidad de la invención, el
documento estructurado que comprende elementos de base no
descompuestos en sub-elementos, al menos un tipo de
información de elementos de base está asociada a un algoritmo de
descompresión adaptado al tipo de información, el procedimiento que
comprende, durante la ejecución secuencias de instrucciones sobre
el flujo binario que constituye el documento comprimido, la
detección en el flujo binario de un código binario de un elemento
de informaciones que corresponde al dicho tipo de información, y la
aplicación del algoritmo de compresión con ese código binario.
Según otra particularidad de la invención, el
procedimiento comprende una etapa de compilación de secuencia de
instrucciones obtenidas para cada componente del dicho esquema de
estructura, para obtener un programa binario de decodificación
dedicado al dicho esquema de estructura, y directamente ejecutable o
interpretable por un ordenador para descomprimir un documento que
tenga este esquema de estructura.
Según aún una otra particularidad en la
invención, el procedimiento comprende una etapa previa de
normalización del esquema de estructura en el documento, de manera
que se obtiene un orden único predefinido de los componentes del
esquema.
Según aún una otra particularidad de la
invención, el procedimiento comprende una etapa previa de
optimización y de simplificación del esquema de estructura en el
documento que consiste en reducir el número de niveles jerárquicos
de grupos de componentes de estructuras.
Ventajosamente, al menos un código de elemento
de informaciones es señalado en el flujo binario en el documento
comprimido, de manera que permite el acceso directo a este elemento
de informaciones, sin que sea necesario descomprimir los elementos
de informaciones que preceden este elemento del flujo binario.
Según aún otra particularidad de la invención,
el documento comprimido comprende para cada elemento de
informaciones en el documento de origen, un código que permite
determinar el tipo de información asociado al elemento de
informaciones y el valor binario del elemento de informaciones
comprimido.
Según aún una otra particularidad de la
invención, el esquema de estructura en el documento para
descomprimir comprende la definición de sub-tipo de
al menos un tipo de información, en el que la secuencia de
instrucciones que es generada para un componente de un tipo que
tiene n subtipos comprende sucesivamente:
- una instrucción de lectura de un código de
subtipo que representa un número de sub-tipo para
aplicar con un elemento correspondiente en el documento al
componente, asociado con el tamaño de ese código en número de bits,
y
- instrucciones de prueba del valor de código de
subtipo, estando cada instrucción de prueba asociada con una
referencia al sub-tipo del elemento correspondiente
con el valor del código de subtipo probado, y a una secuencia de
instrucciones que es generada para la descompresión de un elemento
asociado al subtipo.
Preferiblemente, en el flujo binario en el
documento comprimido, al final de un grupo de varias circunstancias
de un conjunto de elementos que comprenden al menos un elemento de
informaciones y que corresponde a un componente del esquema, está
marcado por un código binario determinado.
Según aún una otra particularidad de la
invención, cada componente del esquema de estructura corresponde en
el flujo binario en el documento con un conjunto de elementos que
comprenden al menos un elemento de informaciones, y está además
asociado con un conjunto de número de circunstancias posibles, que
indican el número de veces que un conjunto de elementos que
corresponda con este documento de estructura, puede aparecer en el
elemento informaciones de nivel inmediatamente superior al cual él
pertenece.
Según aún otra particularidad de la invención,
la secuencia de instrucciones que es generada para un componente
que tiene un número de circunstancias igual a 0 ó 1 comprende
sucesivamente:
- una instrucción de lectura de un código de
presencia sobre un bit que indica la presencia o no en el documento
comprimido de un conjunto de elementos que corresponden al
componente,
- una instrucción de prueba del valor del código
de presencia, y
- en asociación con la instrucción de prueba, si
el valor del código de presencia indica la presencia del conjunto
de elementos en el documento comprimido, una secuencia de
instrucciones que es generada para el componente,
independientemente del número de circunstancias asociadas.
Según aún una otra particularidad de la
invención, la secuencia de instrucciones que es generada para un
componente que tiene un número de circunstancias comprendidas entre
n y m comprende sucesivamente:
- una instrucción de lectura de un código de
número de circunstancias que indican el número de circunstancias
sucesivas en el documento comprimido de un conjunto de elementos que
corresponde al componente, en el cual se ha suprimido el número n
mínimo de circunstancias, asociado al tamaño de ese código en número
de bits,
- una instrucción de bucle que define un número
de iteraciones que corresponden con el valor del código de número
de circunstancias, y
- en asociación con la instrucción de bucle, una
secuencia de instrucciones que es generada para el componente,
independientemente del número de circunstancias asociadas.
Según aún una otra particularidad de la
invención, la secuencia de instrucciones que es generada para un
componente que tiene el número de circunstancias comprendidas entre
0 y m comprende además:
- una instrucción de lectura de un código de
presencia que indica sobre un bit la presencia o no en el documento
comprimido de al menos una circunstancia de un conjunto de elementos
correspondientes al componente, y
- una instrucción de prueba del valor del código
de presencia, asociado a la secuencia de instrucciones generada
para un número de circunstancias comprendidas entre 1 y m del
componente, si el valor del código de presencia indica la presencia
de al menos un conjunto de elementos.
Según aún otra particularidad de la invención,
la secuencia de instrucciones que es generada para un componente
que tenga un número de circunstancias comprendidas entre n y m
comprende sucesivamente:
- una instrucción de lectura de un código de
presencia en un bit de una circunstancia de un conjunto de elementos
que corresponde al componente en el documente comprendido, asociado
al tamaño de ese código en número de bits,
- una instrucción de bucle para ejecutar tanto
como el código de presencia leído en el flujo binario en el
documento comprimido indica la presencia de una nueva circunstancia
del conjunto de elementos,
- en asociación con la instrucción de bucle, una
secuencia de instrucciones que es generada por el componente, y una
instrucción de inserción de un nuevo código de presencia en un bit
de una nueva circunstancia del conjunto de elementos en el
documento comprimido.
Según aún una otra particularidad de la
invención, cada componente del esquema de estructura corresponde a
un conjunto de elementos que comprenden al menos un elemento de
informaciones, en el que el esquema de estructura en el documento
comprimido comprende al menos un componente de tipo secuencia de
componentes ordenados, cuyo orden de aparición en la secuencia
define el orden de aparición en el documento de conjuntos de
elementos correspondiente a los componentes del grupo en de tipo de
secuencia, y que la secuencia de instrucciones que es generada para
una secuencia que comprende n componentes comprende sucesivamente
secuencia de instrucciones que son generadas para cada componente
de la secuencia.
Según aún otra particularidad de la invención,
que cada componente del esquema de estructura corresponde a un
conjunto de elementos que comprende al menos un elemento de
información, en el que el esquema de estructura en el documento por
descomprimir comprende al menos un componente de tipo grupo de
componentes alternativos, cada componente alternativo
correspondiente a un conjunto de elementos de informaciones, el
componente de tipo grupo de componentes alternativos
correspondiente en el documento con uno de los conjuntos de
informaciones correspondiente a los componentes alternativos, y en
que la secuencia es instrucciones que generada para un grupo de
componentes alternativos que comprende n componentes que definen
respectivamente del conjuntos de elementos, comprende
sucesivamente:
- una instrucción de lectura de un código de
número de conjuntos de elementos que designan el conjunto de
elementos que aparecen en el documento entre los n conjunto de
elementos, asociados al tamaño el número de bits de ese código,
y
- instrucciones de prueba del valor del código
de número de conjunto de elementos, estando cada instrucción de
prueba asociada a una secuencia de instrucciones que es generada
para el componente correspondiente al conjunto de elementos que
corresponden al valor probado del código de número de conjunto de
elementos.
Según aún una otra particularidad de la
invención, cada componente del esquema de estructura corresponde a
un conjunto de elementos que comprende al menos un elemento de
informaciones, en el que el esquema de estructura en el documento
para descomprimir comprende al menos un grupo de tipo no ordenado de
componentes, cada componente del grupo no ordenado que expone un
conjunto de elementos y el grupo de tipo o no ordenado que
corresponde en el documento a un grupo que reúne en un orden
cualquiera todo los conjuntos de elementos que corresponden a los
componentes del grupo de tipo no ordenado, y en que la secuencia de
instrucciones que es generada para un grupo de tipo no ordenado que
comprende n componentes que corresponden al documento
respectivamente a n conjuntos de elementos, comprende
sucesivamente:
- una instrucción de lectura de un código de
número de conjunto de elementos y que designa el próximo conjunto
de elementos que aparecen en el documento, asociado al tamaño en
número de bits de ese código, e
- instrucciones de prueba del valor del código
de número de conjunto de elementos, estando cada instrucción de
problema asociada a una secuencia de instrucciones que es generada
para el componente correspondiente al conjunto de elementos que
corresponde al valor de del código de número de conjuntos de
elementos probado, y una secuencia de instrucciones que es generada
para un grupo de tipo no ordenado que comprende todos los
componentes del grupo no ordenado salvo el componente
correspondiente al conjunto de elementos.
Un modo de realización preferido de la invención
será descrito más adelante, a título de ejemplo no limitativo, con
referencia a los dibujos anexos en los cuales:
La figura 1 representa bajo la forma de un
esquema bloque 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 bajo la 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 han representada en la figura
2.
La figura 1 representa el encadenamiento de las
diferentes etapas del procedimiento según la invención.
Este procedimiento es conocido para tratar un
documento estructurado constituido de un esquema de estructura 1
que define la estructura en el documento y las informaciones
estructuradas 2 en el documento.
\newpage
En el lenguaje xml-esquema, un
esquema de estructura presenta por ejemplo la forma siguiente:
Este esquema indica que el componente de
estructura denominado "C" presenta una estructura compleja y
constituida de un primer atributo denominado "a2" de tipo
booleano que es opcional, de un segundo atributo denominado
"al" de tipo entero que está siempre presente en la estructura,
y de un grupo de componentes alternativos denominados a "A" y
"B" de tipos respectivos "TA" y "TB" estando uno de
estos dos componentes presente una sola vez en la estructura.
Los tipos "TA" y "TB" son definidos en
el esquema de estructura en el documento por una formulación
análoga.
De una manera general, se utilizan componentes
particulares llamados grupos de componentes para definir una
estructura de documento. Estos grupos de componentes pueden ser del
tipo:
- SEQ: que define una lista de componentes
ordenados cuyos elementos correspondientes en el documento debe
aparecer todos y en el orden indicado,
- CHO: define un grupo de componentes
alternativos, un solo elemento correspondiente a un componente del
grupo que debe aparecer en el documento,
- ET: define un grupo de componentes cuyos
elementos correspondientes deben aparecer todos en el documento y
en un orden cualquiera que no deba ser modificado; este grupo
corresponde al grupo "all" en norma XML esquema,
- ET_{no}: que define un grupo de componentes
cuyos elementos correspondientes deben estar todos presentes en el
documento en un orden cualquiera que no tiene importancia; este
grupo puede ser utilizado para la codificación de los atributos
cuyo orden no tiene importancia en la norma XML, y
- ANY 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 componente
de estructura. El árbol sintáctico que corresponde al componente
estructura TC está simbolizado por la expresión siguiente:
TCSEQ[1,1](ETNO[1,1](a1int
[1,1],a2bool[0,1]),CHO[1,1](ATA[1,1],BTB[1,1]))
en la cual:
"A[x,y]" indica que el componente
"A" corresponde a un elemento señalado de x a y veces en el
documento, donde puede allí ser igual a "*" que representa un
valor indeterminado.
Esta expresión puede ser representada por el
árbol mostrado en la figura 2c, que comprende un componente raíz
"TC" 43 constituido de una circunstancia única de un grupo de
componentes de tipo secuencia 44. Este grupo comprende una
circunstancia única de un grupo de componentes de tipo "ET" no
ordenado 45 y una circunstancia única de un grupo de componentes
alternativos 46. El grupo 45 está constituido de una circunstancia
única de un entero nominado "al" y de un booleano nominado
"a2", y el grupo 46 comprende una circunstancia única de un
elemento nominado "A" de tipo "TA" y de un elemento
nominado "B" tipo "TB".
Los tipos "TA" y" TB" en la etapa 11
son por ejemplo dados en los las fórmulas siguientes:
TASEQ[1,1](ET[1,1](a3int
[1,1],a4int
[0,1]),SEQ[1,1](XTC[1,1],YTC[1,1]))
\newpage
TBSEQ[1,1](a1bool[1,1],
a5bool[1,1]) y representadas por los árboles mostrados
respectivamente sobre las figuras 2a y 2b.
El tipo "TA" 31 comprende un grupo único 32
de tipo secuencia constituido de dos grupos únicos 33,34
respectivamente de tipo ET y SEQ. El grupo 33 comprende dos
circunstancia únicas de de tipo entero, minadas respectivamente
"A3" y "A4". El grupo 34 comprenden dos circunstancias
única de tipo "TC" nominadas respectivamente "X" y
"Y".
El tipo"TB" 39 está constituido de un grupo
único 40 de tipo secuencia que comprende dos booleanos nominados
"a1" y "a5" respectivamente.
Aunque en la descripción que precede, se ha
distinguido el número 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.
Además, ciertos lenguajes como el lenguaje XML
esquema que autorizan esto que se llama el polimorfismo o la
utilización de sub-tipo.
Tales sub-tipos son definidos de
la siguiente manera:
Estas sintaxis definen los tipos TA1 y TA2 como
sub-tipo del tipo TA por restricción o extensión, y
el componente de información X de tipo TA.
Un documento que tenga este esquema de
estructura puede comprender un elemento X de tipo TA1 que puede ser
introducido de la siguiente manera:
Además ciertos tipos que poseen así subtipos
pueden ser declarados abstractos, lo que significa que los elementos
de información en un documento que tenga un esquema de estructura
que comprende la definición de un tipo abstracto no pueden contener
elementos de información que tengan este tipo. De hecho, los tipos
abstractos no son utilizados más que para crear jerarquías o clase
de tipos. Un tipo abstracto está definido en el lenguaje XML esquema
de la manera siguiente:
Por otro lado, los componentes de estructura
deben ser determinados, en decir que un elemento del documento no
deba poder ser interpretado de varias maneras diferentes. Por
ejemplo, en el esquema "CHO(a,SEQ(a,b))", en el
caso en el cual "a" aparece en el documento, no se sabe si
"b" que debe aparecer enseguida. Existen con este efecto
algoritmos que pueden ser aplicados por el procedimiento según la
invención para transformar un esquema no determinista en un esquema
determinista se puede por ejemplo referir a los documentos
["Regular expressions into finite automata"
Brüggemann-Klein, Anne, Extended Abstract in I.
Simon, Hrsg., LATIN 1992, S. 97-98.
Springer-Verlag, Berlin 1992. Full Version in
Theoretical Computer Science 120: 197-213, 1993].
Así, el esquema de más adelante puede por ejemplo ser remplazado por
"SEQ(a,b[0,1])".
En la etapa 12 siguiente del procedimiento según
la invención, los componentes de esquema de estructura transformados
en árboles sintácticos pueden siempre inicialmente sufrir un
tratamiento de reducción o de simplificación.
Este tratamiento de reducción puede consistir
por ejemplo en efectuar un aplanamiento global que genera un solo
árbol sintáctico 51 a partir de todo los árboles 31,39 y 43, como el
que está representado en la figura 3.
Este árbol representa de hecho un diccionario de
todos los tipos de elementos susceptibles de ser encontrados en el
documento, estando estos elementos reunidos en un grupo 52 de tipo
alternativo que aparecen al menos una vez del [1]* documento. En
este árbol, los componentes de tipo complejo "A", "B",
"X" y "Y", son asociados a un topo a un tipo "ANY",
y el componente "a1" que aparece dos veces (en los componentes
"TB" y "TC") con los tipos diferentes, están asociados a
un tipo por defecto "pcdata" según el lenguaje XML o al tipo de
elemento en el documento inicial, por ejemplo texto. Un mismo
elemento de información puede en efecto se representado de varias
maneras: por ejemplo una secuencia binaria puede igualmente ser
considerada como una cadena de caracteres o un número entero.
Alternativamente, este tratamiento de reducción
consiste en aplanar localmente los árboles sintácticos para tener
los árboles representados 31', 39', y 43' sobre las figuras 4a y
4c.
En cada una de estas figuras, los grupos 32 a 34
(figura 2a), 40 (figura 2b) y 44 a 46 (figura 2c) han sido
respectivamente reemplazadas por un grupo 53, 54, 55 de tipo
alternativo que aparece al menos una vez [1*].
Los árboles "TA", "TB" y "TC",
pueden además sufrir un tratamiento suplementario para suprimir las
ambigüedades que aparecen en el esquema de estructura.
En ciertos casos, los árboles sintácticos pueden
ser simplificados de una manera no destructiva, siempre mejorando
la compacidad del código binario que podrá ser generado.
Una simplificación tal puede ser efectuada en el
caso de un grupo de componentes que contengan un solo componente X
cuyo número mínimo de circunstancias n_{x} es igual a 0 ó 1 de la
forma:
GROUP[nG,mG](X[nX,mX])
en la cual GROUP puede ser un grupo de tipo
SEQ,CHO o ET. Un grupo tal puede ser reemplazado por el componente
siguiente:
X[nG,nX,mG,mX]
Otro caso de simplificación no destructiva es
posible en el caso de un grupo de componentes alternativos CHO que
comprenden al menos un componente cuyo número de circunstancias
mínimas es igual a 0. Así, el grupo:
CHO[nC,mC](X1[nX1,mX1],
X2[0,mX2], X3[nX3,mX3])
puede ser reemplazado por:
CHO[0,mC](X1[nX1,mX1],
X2[1,mX2], X3[nX3,mX3])
Igualmente un grupo CHO[1,1](..,
CHO[1,1](...), ...) de una única circunstancia de tipo CHO
que contiene particularmente una única circunstancia de tipo CHO,
puede ser simplificada siendo reemplazada por un grupo único
CHO[1,1](…) de de tipo CHO que contiene todo los componentes
de los dos grupos de tipo CHO.
En la etapa 12, los árboles "TA", "TB"
y "TC" sufren igualmente un tratamiento de normalización que
consiste en reordenar el esquema que se obtenga un orden único de
los componentes del esquema. Este tratamiento afecta enseguida un
número binario en los diferentes nodos de árboles sintácticos
obtenidos enseguida de los tratamientos precedentes. Este número es
utilizado durante la compresión del elemento de información
correspondiente.
El tratamiento de normalización consiste en
particular en atribuir a cada grupo una firma constituida de la
concatenación de un número de grupo con la firma de todos los
componentes del grupo previamente ordenadas. Así, el grupo 53 en la
figura 4 está asociado a la firma "CHO.a3.a4.XY".
Durante este tratamiento, se considera que los
grupos ordenados (SEQ) son ya normalizados. Los grupos para
normalizar son pues los grupos de tipo alternativo ("CHO"), y
los grupos "ET" y "ET_{NO}". Este tratamiento comprende
las etapas siguientes para cada grupo g compuesto de
sub-grupos g_{i y} de componentes e_{i} que
definen un elemento respectivo en el documento:
- la normalización de sub grupos g_{i}
eventuales del grupo G antes de normalizar el grupo G, siendo el
algoritmo de normalización recursivo,
- el arreglo de los componentes e_{i}
eventuales del grupo G antes de los sub-grupos
g_{i},
- el arreglo de los componentes e_{i} en un
orden predefinido,
- el arreglo de sub-grupos
g_{i} que del orden predefinido, y
la determinación de la firma de grupo G dado por
la concatenación de todas las firmas de sus componentes (y
sub-grupos) que siguen orden establecido enseguida
de las etapas precedentes.
El orden predefinido del arreglo de los
componentes del grupo puede ser el orden alfanumérico de sus firmas
respectivas o el orden decreciente de su número mínimo de
circunstancias, estando los componentes que tienen el mismo número
mínimo de circunstancias enseguida ordenados por orden alfa
numérico.
Es de notar que este tratamiento de
normalización no es necesario en el procedimiento según la
invención. El orden de aparición de componentes en el esquema puede
en efecto ser conservado.
La etapa 13 siguiente del procedimiento consiste
en generar una secuencia de instrucciones 5, igualmente llamada
"sintaxis binaria", que describe un flujo binario. Este
tratamiento consiste en generar para cada árbol sintáctico o tipo
complejo del esquema de estructura una secuencia de instrucciones,
comenzando por los nodos o componentes de más bajo nivel en los
árboles sintácticos del esquema de estructura arborescente en el
documento. Instrucciones de llamada a la sintaxis binaria así
generadas para los nodos de bajo nivel, son insertados enseguida en
la sintaxis binaria de los nodos de más alto nivel en los cuales los
componentes de bajo nivel aparecen. De esta manera, se obtiene una
sintaxis binaria para el conjunto del esquema de estructura en el
documento, la cual llama la sintaxis binaria de los componentes de
más bajo nivel, de una manera análoga a un software que
comprende un programa principal que llama los
sub-programas, los cuales pueden igualmente llamar
otros programas, y así sucesiva-
mente.
mente.
La sintaxis binaria de un componente que
representa un elemento X de tipo TX es de la siguiente forma:
| X | TX |
En la cual "X" representa una instrucción
de inserción o de lectura del valor del elemento X o la llamada de
la secuencia de instrucciones que corresponde al elemento X, y
"TX" representa una referencia al tipo de elemen-
to X.
to X.
Si el tipo TX que posee uno varias sub tipos,
representa lo que se llama un polimorfismo. En ese caso, está
asociado a la sintaxis binaria siguiente:
| X | TX_poly |
Si el tipo TX comprende los subtipos S1, S2…, Sn
hay que considerar dos casos en que el tipo TX por defecto sea
abstracto o no.
- Si el tipo TX por defecto es abstracto, se
genera una sintaxis binaria "TX-poli2" que
comprende sucesiva-
mente:
mente:
- una instrucción de inserción o de lectura de
un código de sub tipo "flagPoly" que representan un número de
sub tipos para aplicar al elemento X, asociado al tamaño de ese
código en número de bits, y
- instrucciones de prueba del valor del código
de sub tipo, estando cada instrucción de prueba asociada a una
instrucción de inserción o de lectura del valor del elemento X o la
llamada de la secuencia de instrucción que corresponde al elemento
X, asociada con una referencia al sub-tipo del
elemento X que corresponde al valor del código de subtipo
probado.
Las sub tipos S1…., Sn son previamente ordenados
en orden de sus firmas respectivas:
\newpage
una sintaxis binaria es por ejemplo de la forma
siguiente:
Siendo E () la función redondeada al entero
superior y "flagPoly" que contiene el código del número de
sub-tipo para aplicar del elemento X y "X" que
indica los emplazamientos donde debe ser insertado el código del
elemento X.
Sin 2E(log2(n)) > n, se puede
ajustar la línea siguiente al final de la sintaxis binaria para
detectar disfunciones:
Siendo "Specific Process" un procedimiento
concebido para señalar un error de tratamiento en el caso en donde
"flagPoly" no tiene un valor correspondiente a un
sub-tipo de TX.
Si el tipo por defecto TX no es abstracto, la
sintaxis binaria de TX-poly es obtenida insertando
la sintaxis binaria precedente en una sintaxis binaria que
comprende sucesivamente:
- una instrucción de inserción o de lectura de
un código de presencia de sub-tipo
"typeInfoFlag" que indica en un bit si el tipo de elemento es
el tipo por defecto o un sub tipo de éste, y
- o de instrucción de prueba del valor del
código de presencia de sub tipificación, y
- en asociación con la instrucción de prueba,
definiendo la secuencia de instrucciones polimorfismo tal como el
indicado en la tabla 1, si el valor del código de presencia de
sub-tipo indica que el tipo de elemento es un sub
tipo, y en el caso contrario, una instrucción de inserción o de
lectura del valor del elemento X, asociado con una referencia al
tipo por defecto del elemento X.
Una sintaxis tal binaria es por ejemplo de la
forma siguiente:
En la cual "typelnfoFlag" es un código que
indica si X tiene el tipo TX o uno de los sub tipos de TX.
Enseguida, se determina la sintaxis binaria del
número de circunstancias [n, m] de cada elemento o conjunto de
elementos X en el cual se ha determinado la sintaxis binaria. En lo
que sigue, un elemento puede representar un conjunto de
elementos.
Para este efecto, se distinguen tres casos. En
el primer caso, m y n son iguales a 1, es decir que el componente X
está asociado a los números de circunstancias [1,1]. La sintaxis
binaria producto corresponde a aquella que ha sido generada para el
componente X.
En el segundo caso, n = 0 y m = 1, la sintaxis
binaria generada comprende sucesivamente:
- una instrucción de inserción o de lectura de
un código de presencia "FlagX" que indica sobre un bit la
presencia o no del elemento X en el documento comprendido, asociado
al tamaño de ese código en número de bits,
- una instrucción de prueba del valor del código
de presencia, y
- en asociación con la instrucción de prueba,
una instrucción de inserción o de lectura del valor del elemento X
o la llamada de la secuencia de instrucciones correspondientes al
elemento X, si el valor del código de presencia indica la presencia
del elemento X en el documento.
Una tal sintaxis binaria es por ejemplo de la
forma siguiente:
en cual la X es un código sobre un
bit que indica la presencia o no de X en el documento. Esta sintaxis
binaria es análoga a una secuencia de instrucciones de
programación, en la cual X está insertada si el valor del indicador
flagX es
"verdadero".
En el tercer caso, m-n es
inferior a una constante de umbral predeterminado, por ejemplo
2^{16}(= 65536), lo que significa que el número de circunstancias
puede ser codificado bajo la forma de un entero no señalizados
sobre 16 bits. En este caso, la sintaxis binaria del elemento X [n,
m] es comprende sucesivamente:
- una instrucción inserción o de lectura de un
código de número de circunstancias loopflagX que indica el número
de circunstancias sucesivas del elemento X en el documento
comprimido, al cual se le ha suprimido el número nn mínimo de
circunstancias del elemento X, asociado al tamaño de ese código en
número de bits,
- una instrucción de bucle que define un número
de iteraciones correspondientes al valor del código de número de
circunstancias, y
- en asociación con la instrucción de bucle, una
instrucción de inserción o de lectura del valor del elemento X o la
llamada de una secuencia de instrucciones que corresponde al
elemento X.
Una tal sintaxis binaria es por ejemplo de la
forma siguiente:
En la cual "loopflagX" es el código del
número de circunstancias sucesivas de X en el documento, al cual se
le ha suprimido el número n mínimo de circunstancias de X, y E () es
la función redondeada con el entero superior.
\newpage
Esta sintaxis indica que "loopflagX" está
codificado en E E(log2(m-n+1)) bits y
que X debe ser insertada un número de veces igual a (loopflagX
+n).
En el cuarto caso, m no es limitado donde
m-n es superior a la constante de umbral
predeterminado. La sintaxis binaria generada es análoga a la del
tercer caso, con la diferencia que "loopflagX" no es codificado
sobre E E(log2(m-n+1)) bits pero en
otro formato que permite codificar no importa que entero.
Este formato puede por ejemplo tener la forma
"UINT-VLC" constituido de conjuntos de un
número predeterminado de bits, por ejemplo 5, el primer de cada
conjunto que indica si sí o no este conjunto es el último del código
del número entero, y siendo los cuatro bits siguientes del conjunto
utilizados para codificar el número entero.
En el tercero y cuarto caso, si el número de
circunstancias mínima n es nulo, se ajusta preferiblemente una
sintaxis binaria que comprende entre otras:
- una instrucción de inserción o de lectura de
un código de presencia "shuntflag" que indica sobre un bit la
presencia o no de al menos un elemento X en el documento comprimido,
y
- una instrucción de prueba del valor del código
de presencia, asociado a la secuencia de instrucciones generada
para un número de circunstancias comprendidas entre 1 y m del
elemento X, si el valor de código de presencia indica la presencia
de al menos un elemento X.
Una tal sintaxis binaria es por ejemplo de la
forma siguiente:
En la cual "shuntflag" designa un código
sobre un bit que indica si sí o no el número de circunstancias es
nulo, y la línea "sintaxis binaria de X [n, m]" la sintaxis
binaria del número de circunstancias de X que corresponden al
tercero o al cuarto caso.
Alternativamente, se pueden escoger otro tipo de
codificación en el cual no es necesario introducir el número de
circunstancias de elementos de un esquema en estructura. Este tipo
de codificación utiliza una sintaxis binaria que comprende
sucesivamente:
- una instrucción de inserción o de lectura de
un código de presencia "flag X" sobre un bit de una
circunstancia del elemento X, en el documento, asociado al tamaño
de ese código en número de bits,
- una instrucción de bucle para ejecutar tanto
como el código de presencia por insertar o leído indica la presencia
de una nueva circunstancia del elemento X,
- en asociación con la instrucción de bucle, una
instrucción de inserción o de lectura del valor del elemento X o la
llamada de una secuencia de instrucciones que corresponda al
elemento X, y una instrucción de inserción o de lectura de un nuevo
código de presencia "flagX" sobre un bit de una nueva
circunstancia del elemento X en el documento.
Una tal sintaxis binaria es por ejemplo de la
forma siguiente:
Esta solución presenta la ventaja de no tener en
que analizar todo el esquema de estructura en el documento para
determinar los número de circunstancias mínimo y máximo de cada
elemento en la estructura.
La sintaxis binaria de un grupo de tipo
secuencial SEQ(X1,X2…,Xn) comprende sucesivamente secuencias
de instrucciones generadas respectivamente para los componentes del
grupo de tipo de secuencia, o la llamada de esas secuencias de
instrucciones.
Una tal sintaxis binaria es por ejemplo la forma
siguiente:
La sintaxis binaria de un grupo del tipo
alternativo CHO(X1,X2,…Xn) comprende sucesivamente:
Una instrucción de inserción o de lectura de un
código de número componente "flagChoX" representando un número
de componentes Xi(i=1,,, n) y que designa el próximo elemento
Xi del grupo por insertar o para leer en el documento comprimido,
asociado en tamaño al número de bits de ese código, e
- instrucciones de prueba del valor del código
de número de elementos, estando cada instrucción de prueba asociada
con una instrucción de inserción o de lectura del valor del elemento
Xi o la llamada de una secuencia de instrucciones correspondiente
con el elemento Xi correspondiente al valor de código del componente
probado.
Una tal sintaxis binaria es por ejemplo de la
forma siguiente:
en la cual n es el número de
componentes del grupo, y "flagCho" es el código de componentes
para seleccionar del grupo
CHO.
Como precedentemente, si
2E(log2(n)) > n, se puede ajustar la línea
siguiente con la fm de la sintaxis binaria para detectar
disfunciones:
Esta instrucción permite llamar un procedimiento
de señalamiento de errores en el caso en el cual el valor del
indicador "flagCho" no corresponda a uno de los componentes
esperados del grupo CHO.
En el caso en el cual l no se codifique se puede
igualmente utilizar un valor de "flagCho" no utilizado
2E(log2(n)) > n) para marcar la última
circunstancia del grupo CHO:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
La sintaxis binaria del grupo de tipo ET es
generada por un procedimiento recursivo, Consiste en una imbricación
de grupos de de tipo CHO, cada determinando cuál es el elemento
presente en la descripción.
De una manera más precisa, para generar una tal
sintaxis binaria, se distinguen dos casos, según que el grupo
comprende uno solo o varios componentes. Si el grupo no contiene más
que un solo componente, la sintaxis binaria de un grupo tal es la
misma que la de un grupo de tipo secuencia con un solo
componente.
Si el grupo contiene n componentes, se puede
escribir de la forma ET (X1, X2,….Xn). La sintaxis binaria de un
grupo tal comprende sucesivamente:
- -
- una instrucción de inserción o de lectura de un código de número de componentes "flagChoX" que representa un número de componentes Xi del grupo y que designa el próximo elemento Xi del grupo para insertar o para leer en el documento comprimido, asociado al tamaño y número de bits de ese códi- go, e
- -
- instrucciones de prueba del valor del código de número de componentes estando cada instrucción de prueba asociada a una instrucción de inserción o de lectura del valor del elemento Xi o la llamada de una secuencia de instrucciones que corresponda al elemento Xi correspondiente al valor de código de componente probado, y una secuencia de instrucciones que está generada para un grupo de tipo "un grupo no ordenado" que comprende todo los componentes X1,….Xn del grupo salvo el componente Xi.
\newpage
Una tal sintaxis binaria es por ejemplo de la
forma siguiente:
Esta sintaxis binaria es obtenida a partir de la
sintaxis binaria de un grupo CHO(X1,X2,….Xn) en la cual se
ha ajustado, a continuación de la sintaxis binaria de cada
componente X_{k} del grupo (estando k comprendida entre 1 y n),
la sintaxis binaria de un grupo ET del cual se ha retirado el
componente X_{K}. Esta sintaxis binaria es pues recursiva.
La sintaxis binaria del grupo ET_{no} es
idéntica a la del grupo SEQ, en la cual se puede además optimizar
la codificación adoptando un orden apropiado de los componentes del
grupo.
La etapa siguiente 14 consiste en unir el
documento 2 para comprimir los datos que contiene ejecutando la
sintaxis binaria que ha sido generada en la estructura el documento,
con vista a obtener un flujo binario que comprenda una sucesión de
códigos binarios en los cuales se encuentra el valor comprimido de
cada elemento o elemento de informaciones de base del
documento.
Más precisamente, se trata de determinar a
partir del contenido del documento, los valores para insertar en el
flujo binario, de los diferentes códigos "typelnfoFlag"
"flagX", "loopflagX",… definidos por las secuencias
binarias.
Según un primer tipo de codificación este flujo
binario es de la forma (K.N.V1…Vn)_{e} para cada elemento
e, siendo N el número de circunstancias del elemento e, o el número
de elementos de informaciones sucesivas que correspondan al
elemento e, siendo K el código que permite determinar el elemento e,
y V1..Vn los valores respectivos, eventualmente comprimidos desde n
circunstancias del elemento e. Si e es un grupo de elementos, su
valor V es descompuesto en otro tanto de secuencias binarias
(k.N.V.) que contiene elementos. Sin embargo, en ciertos casos, N
puede ser omitido, particularmente cuando este número es fijo. Es lo
mismo para K en el caso por ejemplo de un grupo de tipo
secuencia.
A título de ejemplo de comparación, si se
considera el formato extenso de representación de duraciones, tal
como es definido por la norma ISO 8601:
sPnYnMnDTnHnMnS
\newpage
En el cual s es "+" o "-", nY
representa un número de años (entero infinito), nM el número de
meses (entero infinito), nD número de días (entero infinito),
"T" es un carácter separador entre la fecha y el tiempo, Nh
número de horas (entero infinito), nM un número de minutos (entero
infinito) y nS número de segundos (decimal), siendo todos estos
elementos opcionales.
Este formato corresponde a un esquema de
estructura que puede ser representado de la siguiente manera:
(\+|\-)P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+(\,\d+)?S)?)?
En la cual "/+" indica la inserción del
carácter "+", "(x/y9" indica la inserción del elemento x o
y, "?" indica que la inserción del elemento precedente es
opcional y "/d*" representa un número binario sobre un número
de bits cualquiera.
Esta estructura corresponde a la sintaxis
binaria siguiente:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
En la cual valor Signe vale 0 para representar
el signo "+" y 1 para representar el signo "-".
Así, la duración "+P1347Y" es codificada de
la siguiente manera:
Esta codificación necesita 22 bits, mientras que
la codificación clásica le necesita 48 bits.
\newpage
La duración "-P1Y2MT2H" está codificada de
la siguiente manera:
en 22 bits en lugar de 72 con la
codificación
clásica.
Previamente, se puede realizar un encabezamiento
general en el documento comprimido que reagrupa varios parámetros
codificados, útiles para la descripción del documento. Así, un tal
encabezamiento puede comprender una firma del o de los esquemas de
estructura utilizados, y un conjunto de parámetros que describen la
codificación utilizada, como por ejemplo:
- un parámetro que indica si la codificación de
la longitud de cada elemento es obligatoria u opcional o no
presente en el documento,
- un parámetro que indica 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 indica el tipo de
codificación utilizado para el número de circunstancias.
Cada elemento de información del documento puede
igualmente estar asociado o encabezamiento, siendo su presencia y
su naturaleza precisas en el encabezamiento en el documento.
El encabezamiento de un elemento puede así
comprender la longitud codificada de éste, de manera que permita,
durante la descompresión en el documento, el acceso a un elemento
particular sin descomprimir todos los elementos precedentes en el
documento. Los encabezamientos de elementos son insertados en el
documento por ejemplo justo antes de la codificación del valor de
los elementos.
De una manera general, la descompresión en el
documento consiste en leer secuencialmente el documento comprimido,
ejecutando las sintaxis binarias generadas a partir del esquema
sobre el flujo binario obtenido por la lectura secuencial en el
documento comprimido. Este tratamiento permite además verificar que
la estructura en el documento comprimido corresponde al esquema
compilado en sintaxis binarias.
Cuando el número de circunstancias de los
elementos del esquema de estructura no está codificada, la
codificación de elementos no es entonces más que la forma KV, la
codificación de cada conjunto de elementos del mismo tipo se
terminan por un bit K_{esc} que vale 0.
De hecho, este de tipo de codificación no es
interesante más que para la codificación de formas complejas, y
para elementos que no tengan número de circunstancias máximas o un
número circunstancias mínimas nulo. Es en particular del todo
adaptado a la codificación del grupo de tipo alternativo que
comprende un número de elementos diferentes de 2^{p}, siendo p un
número entero.
Este tipo de codificación puede ser combinado
con el precedente. Es suficiente entonces para ello, indicar en el
encabezamiento del documento comprimido y atribuir un bit a los
lugares de codificación del cual deben encontrarse un número de
circunstancias.
Según la invención, al menos un tipo de base de
elementos de información en el documento está asociado a un módulo
externo de compresión 16. De esta manera, durante la lectura del
documento, los tipos respectivos de elementos de información
encontradas son analizadas, y cuando un tipo de información es
asociado a un módulo externo de compresión 16, éste es aplicado al
contenido del elemento de información y el resultado de la
compresión insertada en el documento comprimido tanto como el valor
del elemento de información correspondiente.
Los módulos externos de compresión pueden por
ejemplo aplicar 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, o IEEE 754 para los valores de
tipo número real o UTF8 para las cadenas de caracteres.
Si ningún modulo de compresión está asociado a
un tipo de información, se puede utilizar un módulo de compresión
por defecto o recuperar los elementos de información que tengan este
tipo tales como aparece en el documento inicial.
\newpage
Por ejemplo, la codificación de la estructura
CHO [0,*](a1,a2,a3) produce la sintaxis binaria siguiente:
\vskip1.000000\baselineskip
Si ahora se desea codificar la circunstancia de
"a2,a3,a1,a1,a3" que tiene esta estructura, el resultado de
codificación es el siguiente en el cual se codifica el número de
circunstancias:
0010101 Va2 10 Va3 00 Va1 00 Va1 10 Va3
En cual "00101" representa el valor binario
del número de circunstancias en el formato
"UINT-VLC" y Va1, Va2 y Va3 son
respectivamente los valores de las circunstancias de a1, a2, a3.
En el caso en el cual no se codifica el número
de circunstancias la codificación es la siguiente:
01 Va2 10 Va3 00 Va1 00 Va1 10 Va3 11
"11" correspondiente al código de final del
número de circunstancias que está en este caso integrado en el
código de selección del grupo CHO.
En el primer caso, se tiene una codificación en
15 bits además de los códigos de los valores de los elementos,
mientras que en el segundo caso, se obtiene una codificación más
compacta en 12 bits.
El tratamiento de codificación de la
circunstancia "b2 b1 a1" que tiene por estructura:
SEQ[0,*](a1[0,*],CHO[0,*](b1,b2))
conduce a la sintaxis binaria siguiente:
Esta sintaxis binaria conduce a la codificación
siguiente:
- 1
- número de circunstancias de la secuencia diferente de 0
- 00010
- el número de circunstancias de la secuencia (aquí dos veces)
- 0
- número de circunstancias de a= 0
- 1
- número de circunstancias de CHO. diferente de 0
- 00010
- número de circunstancias de CHO (dos veces)
- 1
- código de escogencia de b_{2}
- V_{b2}
- código del valor de b_{2}
- 0
- código de escogencia de b_{1}
- V_{b1}
- código del valor de b_{1}.
- 1
- número de circunstancias de a= 0
- 00001
- números de circunstancias de a_{1} (1 vez)
- V_{a1}
- codificación del valor de a_{1}
- 0
- número de circunstancias de CHO = 0
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 siguiendo un orden alfanumérico, luego siguiendo el hecho
de que estos son requeridos o no. Esta disposición permite reducir
de otro tanto el tamaño de la descripción comprimida.
Si en el encabezamiento el documento, está
indicado que la codificación de la longitud es opcional u
obligatoria, los elementos son asociados a un encabezamiento en el
documento comprimido, que contiene la longitud del número de bits
del valor del elemento. Esta particularidad permite un acceso
directo a un elemento del documento comprimido sin tener que
descomprimir los elementos situados adelante en el documento,
leyendo con la ayuda de sintaxis binaria únicamente las longitudes
respectivas de estos elementos hasta el elemento buscado.
La longitud de los elementos puede ser
codificada de la manera siguiente.
En el caso de que el encabezamiento del
documento, este indicado que la codificación de la longitud de los
elementos es obligatoria, la longitud L. de los elementos en número
de bits es calculada con la ayuda de la fórmula siguiente:
(1)L =
8*p+h
Donde p representa el número de octetos (en
codificación ASN1 o utilizando los bits de peso fuerte de cada
octeto utilizado para codificar ese número) utilizados para
codificar la longitud del elemento, y h representa el número de
bits restantes de esta longitud (h < 8).
Hay que anotar que el módulo externo de
compresión 16 que es llamado para efectuar la codificación del valor
de un elemento puede suministrar esta longitud.
En el caso en el cual la codificación de la
longitud de los elementos no es obligatoria, el valor del primer
bit correspondiente al valor del elemento indica si los bits
siguientes representan o no la longitud del elemento.
El tratamiento de descompresión de un documento
así comprimido es efectuado ejecutando las etapas 11 a 14 del
esquema de estructura en el documento para obtener la sintaxis
binaria de los componentes de estructura del esquema de estructura
en el documento, luego ejecutando la etapa 14 de de codificación o
de descompresión en el documento, consistiendo esta etapa en
recorrer el documento comprimido ejecutando la sintaxis binarias
obtenidas a continuación de las etapas 11 a 14, de manera que se
pueda determinar el tipo y el número de los elementos de
información comprimidos reencontrados en el documento. Los valores
de los elementos que han sido obtenidos con la ayuda de módulos 16
de compresión externa son descomprimidos con la ayuda de módulos de
descompresión 16' correspondientes.
Hay que anotar que si se debe tratar (comprimir
o descomprimir) varios documentos que tienen el mismo esquema de
estructura, las etapas 11 a 13 no son ejecutadas más que una sola
vez, sólo las etapas 14 a 16 (o 14' 16') deben ser aplicadas a cada
documento para tratar.
Además, por un tratamiento de conversión
apropiado, la sintaxis binaria de un esquema de estructuras que está
próximo de un lenguaje de programación clásica, puede ser compilado
17,17' para generar un código binario de programas de compresión o
de descompresión 6,6' directamente ejecutable o interpretable por el
procesador de un ordenador. El procedimiento según la invención
permite pues generar automáticamente programas de compresión o de
descompresión ejecutables, por tanto muy rápidos, dedicados a un
esquema de estructura dada.
Claims (34)
1. Procedimiento de compresión de un documento
estructurado que comprende elementos de información imbricados los
unos en los otros y asociados cada uno a un tipo de información,
estando el documento estructurado (2) con al menos un esquema de
estructura (1; 31, 39, 43) que define una estructura arborescente
del documento que comprende componentes de estructura (a3, a4, X,
Y, a1, a5, a1, a2, A, B, 32, 33, 34, 40, 44, 45, 46) imbricados los
unos en los otros, estando cada tipo de información en el documento
definido por un componente del esquema,
caracterizado porque comprende las etapas
consistentes en:
- analizar (11) el esquema de estructura (1) del
documento generado, para cada componente del esquema de estructura,
una secuencia de instrucciones ejecutables (5) que comprende
instrucciones de inserción en un flujo binario, de códigos de
control y de valores comprimidos de elementos de informaciones o de
códigos de llamada de secuencias de instrucciones de componente, e
instrucciones de control del desarrollo de la ejecución de la
secuencia en función de los valores de códigos de control,
permitiendo la ejecución de secuencias de instrucciones en el
documento estructurado (2) comprimir el documento estructurado (2)
en un flujo binario (10) que contiene valores comprimidos de
elementos de informaciones del documento,
- ejecutar (14) sobre el documento estructurado
(2) la secuencia de instrucciones generadas, para obtener un flujo
binario (10) que contiene los valores comprimidos de elementos de
información en el documento.
2. Procedimiento de compresión según la
reivindicación 1,
caracterizado porque, el documento que
comprende elementos de base no descompensados en
sub-elementos, al menos un tipo de información de
elementos de base está asociado previamente a un algoritmo de
compresión (16) adaptado al tipo de información, comprendiendo el
procedimiento, durante la ejecución de secuencias de instrucción
(5), la aplicación del algoritmo de compresión (16) con el valor de
cada elemento de información que tiene un tipo de información
asociado al dicho algoritmo.
3. Procedimiento de compresión según la
reivindicación 1 ó 2,
caracterizado porque comprende una etapa
de compilación (17) de secuencias de instrucciones (5) obtenidas
para cada componente del dicho esquema de estructura, para obtener
un programa binario de codificación (6) dedicado al dicho esquema
de estructura, y directamente ejecutable o interpretable por un
ordenador para comprimir un documento (2) que tenga el esquema de
estructura (1).
4. Procedimiento de compresión según una de las
reivindicaciones 1 a 3,
caracterizado porque comprende una etapa
previa de normalización (12) del esquema de estructura (5) en el
documento, de manera que se obtiene un orden único predefinido de
los componentes del esquema.
5. Procedimiento de compresión según una en las
reivindicaciones 1 a 4,
caracterizado porque comprende una etapa
(12) previa de optimización y simplificación del esquema de
estructura en el documento consistente en reducir el número de
niveles de imbricaciones de componentes de estructura.
6. Procedimiento de compresión según una de las
reivindicaciones 1 a 5,
caracterizado porque al menos un elemento
de información del documento (2) está asociado, en el flujo binario
(10) generado, con un código de elemento de información que es
señalado de manera que permite el acceso directo a un elemento de
información comprimido particular en el flujo binario, sin que sea
necesario descomprimir los elementos de información que preceden al
elemento para descomprimir en el flujo binario.
7. Procedimiento de compresión según una de la
reivindicaciones 1 a 6,
caracterizado porque el documento
comprimido generado (10) comprende para cada elemento de información
en el documento estructurado (2), un código que permita determinar
el tipo de información asociado al elemento de información, y el
valor binario del elemento de información.
8. Procedimiento de compresión según una de la
reivindicaciones 1 a 7,
caracterizado porque el esquema de
estructura (1) del documento (2) comprende la definición de
sub-tipo de al menos un tipo de información, y en
que la secuencia de instrucciones (5) que es generada para un
componente de un tipo (TX) que tiene n subtipos (S1, S2,… Sn)
comprende sucesivamente:
- una instrucción de inserción de un código de
subtipo ("flagPoly") que representa un sub-tipo
para aplicar a un elemento (X) correspondiente en el documento al
componente, asociado al tamaño de ese código en número de bits,
y
- instrucciones de prueban del valor de código
de sub-tipo, estando cada instrucción de prueba
asociada a una referencia al subtipo (S1, S2, …Sn) del elemento (X)
correspondiente al valor del código de subtipo probado, y a una
secuencia de instrucciones que es generada para la compresión de un
elemento (X) asociada al subtipo.
9. Procedimiento de compresión según una de las
reivindicaciones 1 a 8,
caracterizado porque el flujo binario que
es generado para un componente correspondiente en el documento (2)
con varias circunstancias de un conjunto de elementos que comprenden
al menos un elemento de información, comprende un código de fin
predefinido.
10. Procedimiento de compresión según una la
reivindicaciones 1 a 9,
caracterizado porque cada componente del
esquema de estructura (1) corresponde en el documento (2) a un
conjunto de elementos que comprende al menos un elemento de
información, y está además asociado a un conjunto de números de
circunstancias posibles, que indican el número de veces que un
conjunto de elementos correspondientes a este componente, puede
aparecer en un elemento de información de nivel inmediatamente
superior al cual el pertenece.
11. Procedimiento de compresión según la
reivindicación 10,
caracterizado porque la secuencia de
instrucciones que es generada para un componente que tiene el número
de circunstancias igual a 0 ó 1 comprende sucesivamente:
- una instrucción de inserción de un código de
presencia ("flagX") sobre un bit indicando la presencia o no
en el documento (2) de un conjunto de elementos (X) correspondiente
al documento,
- una instrucción de prueba del valor del código
de presencia, y
- en asociación con la instrucción de prueba, si
el valor del código de presencia indica la presencia del conjunto
de elementos (X) en el documento, una secuencia en instrucciones que
es generada por el componente, independientemente del número de
circunstancias asociadas.
12. Procedimiento de compresión según la
reivindicación 10 u 11,
caracterizado porque la secuencia de
instrucciones que es generada para un componente que tenga un número
de circunstancias comprendidas entre n y m comprende
sucesivamente:
- una instrucción de inserción de un código de
número de circunstancias ("loopflagX") que indica el número de
circunstancias sucesivas de un conjunto de elementos (X)
correspondiente al componente en el documento comprendido, al cual
se le ha suprimido el número n mínimo de circunstancias, asociado al
tamaño de ese código en número de bits,
- una instrucción de bucle que define un número
de iteraciones correspondiente al valor del código de número de
circunstancias, y
- en asociación con la instrucción de bucle, una
secuencia de instrucciones que es generada para el componente,
independientemente del número de circunstancias asociadas.
13. Procedimiento de compresión según la
reivindicación 12,
caracterizado porque la secuencia de
instrucciones que es generada para un componente que tiene el número
de circunstancias comprendidas entre 0 y m comprende además:
- una instrucción de inserción de un código de
presencia ("shuntFlagX") que indica sobre un bit la presencia
o no en el documento de al menos una circunstancia del conjunto de
elementos (X) correspondiente akl componente, e
- una instrucción de prueba del valor de código
de presencia, asociado a la secuencia de instrucciones generada
para un número de circunstancias comprendido entre 1 y m del
componente, si el valor del código de presencia indica la presencia
de al menos un conjunto de elementos.
14. Procedimiento de compresión según la
reivindicación 10,
caracterizado porque la secuencia de
instrucciones que es generada para un componente que tiene el número
de circunstancias comprendidas entre n y m comprende
sucesivamente:
- una instrucción de inserción de un código de
presencia ("flagX") en un bit de una circunstancia de un
conjunto de elementos (X) que corresponde al componente en el
documento (2) asociado al tamaño de ese código en número de
bits,
- una instrucción de bucle para ejecutar tanto
como el código de presencia para insertar indica la presencia de
una nueva circunstancia del conjunto de elementos (X),
- en asociación con la instrucción de bucle, una
secuencia de instrucciones que es generada para el componente, y
una instrucción de inserción de un nuevo código de presencia
("flagX") sobre un bit de una nueva circunstancia del conjunto
de elementos (X) en el documento.
15. Procedimiento de compresión según una de la
reivindicaciones 1 a 14,
caracterizado porque cada componente del
esquema de estructura (1) corresponde a un conjunto de elementos
que comprende al menos un elemento de información, en el que el
esquema de estructura (1) en el documento estructurado (2)
comprende al menos un componente de tipo secuencia de componentes
ordenados, cuyo orden de aparición en la secuencia define el orden
de aparición en el documento de los conjuntos de elemento
correspondiente a los componentes del grupo de tipo secuencia, y
porque la secuencia de instrucciones que es generada para una
secuencia que comprende n componentes (X1, X2,..Xn) comprende
sucesivamente secuencias de instrucciones que son generadas para
cada componente de la secuencia.
16. Procedimiento de compresión según una de las
reivindicaciones 1 a 15,
caracterizado porque cada componente del
esquema de estructura (1) corresponde un conjunto de elementos que
comprende al menos un elemento de información, en el que el esquema
de estructura (1) en el documento para comprimir comprende al menos
un componente de tipo grupo de componentes alternativos,
correspondiendo cada componente alternativo a un conjunto de
elementos de informaciones, correspondiendo el componente de tipo
grupo de componentes alternativos d el documento a un conjunto de
informaciones correspondientes a los componentes alternativos, y
porque la secuencia de acciones que es generada para un grupo de
componentes alternativos comprende n componentes que definen
respectivamente n conjuntos de elementos (X1, X2,..Xn), comprende
sucesi-
vamente:
vamente:
- una instrucción de inserción de un código de
número de conjunto de elementos ("flagCHoX") que designa el
conjunto de elementos que aparecen en el documento (2) entre los n
conjuntos de elementos (X1, X2,… Xn), asociada al tamaño en número
de bits de ese código, y
- instrucciones de prueba del valor del código
de número de conjunto de elementos, estando cada instrucción de
prueba asociada a una secuencia de instrucciones que es generada
para el componente correspondiente al conjunto de elementos (Xi)
correspondiente al valor probado del código de número de conjunto de
elementos.
17. Procedimiento de compresión según una de la
reivindicaciones 1 a 16,
caracterizado porque cada componente del
esquema de estructura (1) corresponde a un conjunto de elementos
que comprende al menos un elemento de información, en el que el
esquema de estructura (1) del documento para comprimir comprende al
menos un grupo de tipo no ordenado de componentes, correspondiendo
cada componente del grupo no ordenado a un conjunto de elementos y
el grupo de tipo grupo no ordenado correspondiente del documento a
un grupo que reúne en un orden cualquiera todos los conjuntos de
elementos correspondientes a los componentes del grupo de tipo no
ordenado, en que la secuencia que es generada para un grupo de tipo
no ordenado comprende n componentes correspondientes en el
documento respectivamente a n conjuntos de elementos (X1, X2…, Xn)
comprende sucesivamente:
- una instrucción de inserción de un código
("flagChoX") de número de conjunto de elementos (Xi) y que
designa el próximo conjunto de elementos que aparecen en el
documento (2), asociado al tamaño el número de bits de ese código,
y
- instrucciones de prueba del valor del código
de número de conjunto de elementos, cada instrucción de prueba
estando asociada a una secuencia de instrucciones que es generada
por el componente correspondiente con el conjunto de elementos (Xi)
correspondiente al valor de código de número de conjunto de
elementos probado, y una secuencia de instrucciones que es generada
para un grupo de tipo no ordenado que comprende todos los
componentes (X1…,Xn) del grupo no ordenado salvo el componente
correspondiente al conjunto de elementos (Xi).
18. Procedimiento de descompresión de un
documento estructurado que comprende elementos de información
imbricados los unos en los otros y asociados cada uno a un tipo
información, estando el documento estructurado (2) asociado con al
menos un esquema de estructura(1, 31, 39, 43) que define una
estructura arborescente del documento que comprende componentes de
estructura (a3, a4, X, Y, a1, a5, a1, a2, A,B, 32, 33, 40, 44, 45,
46) imbricados los unos en los otros, estando cada tipo de
información del documento definido por un componente del esquema,
caracterizado porque comprende etapas que consisten en:
- analizar (11) el esquema de estructura (1) en
el documento generado, para cada componente del esquema de
estructura, una secuencia de instrucciones ejecutable (5), que
comprende instrucciones de lectura en un flujo binario que
constituye el documento comprimido (10), de códigos de control y de
valores comprimidos de elementos de informaciones o de códigos de
llamada de secuencias de instrucciones de componentes, y la
instrucciones de control del desarrollo de la ejecución de la
secuencia en función de los valores de código de control, la
ejecución de la secuencia de instrucción sobre el documento
comprimido (10) que permiten reconstituir un documento (2') al
formato del documento (2) de origen y que tiene una estructura al
menos equivalente.
- ejecutar (14') sobre el flujo binario que
constituye el documento para descomprimir (10) la secuencia de
instrucciones generadas para obtener un documento estructurado (2')
al formato del documento estructurado (2) de origen que tiene una
estructura al menos equivalente.
19. Procedimiento de descompresión según la
reivindicación 18,
caracterizado porque el documento
estructurado (2) comprende elementos de base no descompuestos en sus
elementos, al menos un tipo de información de elementos de base
está asociado con un algoritmo de descompresión (16') adaptado al
tipo información, el procedimiento que comprende, durante la
ejecución de la secuencia de instrucción (5) sobre el flujo binario
que constituye el documento comprimido (10), la detección en el
flujo binario de un código binario de elemento de informaciones que
corresponde al dicho tipo de información y la aplicación del
algoritmo de compresión a ese código binario.
20. Procedimiento de descompresión según la
reivindicación 18 o 19,
caracterizado porque comprende una etapa
de compilación (17) de la secuencia de instrucciones (5) obtenidas
para cada componente del esquema de estructura (1), para obtener un
programa binario de descodificación (6) dedicado al dicho esquema
de estructura, y directamente ejecutable o interpretable por un
ordenador para descomprimir un documento (10) que tenga ese esquema
de estructura.
21. Procedimiento de descompresión según una de
las reivindicaciones 18 a 20
caracterizado porque comprende una etapa
previa de normalización (12) del esquema de estructura (5) en el
documento, de manera que se obtenga un orden único predefinido de
los componentes del esquema.
22. Procedimiento de descompresión según una de
la reivindicaciones 18 a 21,
caracterizado porque comprende una etapa
(12) previa de optimización y de simplificación del esquema de
estructura en el documento que consiste en reducir el número de
niveles jerárquicos de grupos de componentes de estructura.
23. Procedimiento de descompresión según una de
la reivindicaciones 18 a 22,
caracterizado por al menos un código de
elemento de información es señalado en el flujo binario en el
documento comprimido (10), de manera que permite el acceso directo
a este elemento de información, sin que sea necesario descomprimir
los elementos de información precedentes de este elemento en el
flujo binario.
24. Procedimiento de descompresión según una de
la reivindicaciones 18 a 23,
caracterizado porque el documento
comprimido (10) comprende para cada elemento de información en el
documento de origen, un código que permite determinar el tipo de
información asociado al elemento de información y el valor binario
del elemento de información comprimido.
25. Procedimiento de descompresión según una de
la reivindicaciones 18 a 24,
caracterizado porque el esquema de
estructura (1) del documento para descomprimir (10) comprende la
definición de sub-tipos de al menos un tipo de
información (TX), y porque la secuencia de instrucciones (5) que es
generada para un componente de un tipo (TX) que tenga n subtipos
(S1, S2, .....Sn) comprende sucesivamente:
- una instrucción de lectura de un código de
subtipo ("flagPoly") que representa un número de
sub-tipos para aplicar a un elemento (X) que
corresponda en el documento al componente, asociado al tamaño de ese
código en número de bits, y
-instrucciones de prueba del valor del código de
subtipo, estando cada instrucción de prueba asociada con una
referencia al subtipo (S1, S2, .....Sn) del elemento (X) que
corresponde al valor del código de subtipo probado, y a una
secuencia de instrucciones que es generada para la descompresión de
un elemento (X) asociada al subtipo.
26. Procedimiento de descompresión según una de
las reivindicaciones 18 a 25, Caracterizado porque en el
flujo binario en el documento comprimido (10), al final de un grupo
de varias circunstancias de un conjunto de elementos que comprenden
al menos un elemento de información y que corresponde a un
componente del esquema (1), está marcada por un código binario
determinado.
27. Procedimiento de descompresión según las
reivindicaciones 18 a 26,
\newpage
caracterizado porque en cada componente
del esquema de estructura (1) que corresponde del flujo binario en
el documento (10) con un conjunto de elementos que comprende al
menos un elemento de información, y ésta además asociado a un
conjunto de número de circunstancias posibles, que indica el número
de veces que un conjunto de elementos que corresponde a ese
componente estructura, puede aparecer en el elemento de
informaciones del nivel inmediatamente superior al cual el
pertenece.
28. Procedimiento de descompresión según la
reivindicación 27,
caracterizado porque en la secuencia de
instrucciones que es generada para un componente que tiene el número
de circunstancias igual 0 ó 1 comprende sucesivamente:
- una instrucción de lectura de un código de
presencia ("flagX") sobre un bit que indica la presencia o no
en el documento comprimido de un conjunto de elementos (X) que
corresponden al componente,
- una instrucción de prueba del valor del código
de presencia, y
- en asociación con la instrucción de prueba, si
el valor del código de presencia indica la presencia del conjunto
de elementos (X) en el documento comprimido, una secuencia de
instrucciones que es generada por el componente, independientemente
del número de circunstancias asociadas.
29. Procedimiento de descompresión según las
reivindicaciones 27 ó 28,
caracterizado porque la secuencia de
instrucciones que es generada para un componente que tiene un número
de circunstancias comprendidas entre n y m comprende
sucesivamente:
- una instrucción de lectura de un código de
número de circunstancias ("loopflagX") que indica el número de
circunstancias sucesivas en el documento comprimido de un conjunto
de elementos (X) que corr4esponde la componente, al cual se le ha
suprimido el número n mínimo de circunstancias, asociado al tamaño
de ese código en número de bits,
- una instrucción de bucle que define un número
de iteraciones correspondiente al valor del código de número de
circunstancias, y
- en asociación con la instrucción de bucle, una
secuencia de instrucciones que es generada para el componente,
independientemente del número de circunstancias asociadas.
30. Procedimiento de descompresión según la
reivindicación 29,
caracterizado porque en la secuencia de
instrucciones que es generada para un componente que tiene el número
de circunstancias comprendidas entre 0 y m. comprende además:
- una instrucción de lectura de un código de
presencia ("shuntflagX") que indica sobre un bit la presencia
o no en el documento comprimido de al menos una circunstancia de un
conjunto de elementos (X) que corresponde al componente, y
- una inserción de prueba del valor del código
de presencia, asociado a la secuencia de instrucciones generada
para un número de circunstancias comprendidas entre 1 y m del
componente, si el valor del código de presencia indica la presencia
de al menos un conjunto de elementos.
31. Procedimiento de descompresión según la
reivindicación 27,
caracterizado porque en la secuencia de
instrucciones que es generada para un componente que tiene el número
de circunstancias comprendidas entre n y m comprende
sucesivamente:
- una instrucción de lectura de un código de
presencia ("flagX") sobre un bit de una circunstancia de un
conjunto de elementos (X) que corresponde al componente en el
documento comprimido (10), asociado al tamaño de ese código en
número de bits,
- una instrucción de bucle para ejecutar tanto
como el código de presencia leído en el flujo binario en el
documento comprimido indica la presencia de una nueva circunstancia
del conjunto de elementos (X),
- en asociación con la instrucción del bucle,
una secuencia de instrucciones que es generada para el componente,
y una instrucción de inserción de un nuevo código de presencia
("flagX") sobre un bit de una nueva circunstancia del conjunto
de elementos (X) en el documento comprimido (10).
32. Procedimiento de descompresión según una de
la reivindicaciones 18 a 31,
caracterizado porque en cada componente
del esquema de estructura (1) corresponde un conjunto de elementos
que comprende al menos un elemento de información, en el que el
esquema de estructura (1) en el documento comprimido (10) comprende
al menos un componente de tipo secuencia de componentes ordenados,
cuyo orden de aparición en la secuencia define el orden de
aparición en el documento de los conjuntos de elementos
correspondientes a los componentes del grupo de tipo secuencia, y
porque la secuencia de instrucciones que es generada para una
secuencia que comprende n componentes (X1, X2,,,,,Xn) comprende
sucesivamente secuencias de instrucciones que son generadas para
cada componente de la secuencia.
33. Procedimiento de descompresión según una de
la reivindicaciones 18 a 32,
caracterizado porque en cada componente
del esquema de estructura (1) corresponde a un conjunto de elementos
que comprende al menos un elemento de información, en el que el
esquema de estructura (1) del documento para descomprimir comprende
al menos un componente del tipo grupo de componentes alternativos,
correspondiente cada componente alternativo a un conjunto de
elementos de informaciones, correspondiente el componente de tipo
de grupo componentes alternativos en el documento a un conjunto de
informaciones que corresponde a los componentes alternativos, y en
el que la secuencia de instrucciones que es generada para un grupo
de componentes alternativos que comprende n componentes que definen
respectivamente n conjuntos de elementos (X1, X2,….. Xn), comprende
sucesivamente:
- una instrucción de lectura de un código de
número de conjunto de elementos ("flagChoX") que designa el
conjunto de elementos que aparecen en el documento (10) entre los n
conjuntos de elementos (X1, X2,….Xn), asociado al tamaño en número
de bits de ese código, e
- instrucciones de prueba del valor del código
del número de conjunto de elementos, estando cada instrucción de
prueba asociada a una secuencia de instrucciones que es generada
para el componente correspondiente con el conjunto de elementos
(Xi) correspondiente al valor probado del código de número de
conjunto de elementos.
34. Procedimiento de descompresión según una de
la reivindicaciones 18 a 33, caracterizado porque cada
componente del esquema de estructura (1) corresponde aun conjunto
de elementos que comprende al menos un elemento de información, en
el que el esquema de estructura (1) del documento para des comprimir
comprende al menos un grupo de tipo no ordenado de componentes,
correspondiente cada componente del grupo no ordenado a un conjunto
de elementos y el grupo de tipo grupo no ordenado que corresponde en
el documento a un grupo que reúne en un grupo cualquiera todos los
elementos del conjunto que corresponden a los componentes del grupo
de de tipo no ordenado, y porque que la secuencia es flexiones que
es generada para un grupo de tipo no ordenado que comprende del
componentes que corresponde en el documento respectivamente a n
conjunto de elementos (X1, X2,,,,,Xn), comprende sucesivamente:
- una instrucción de lectura de un código de
número de conjuntos de elementos (Xi) y que designa el próximo
conjunto de elementos que aparecen en el documento (10), asociado al
tamaño en número de bits de ese código, y
- instrucciones de prueba del valor del código
de número de conjunto de elementos, estando cada instrucción de
prueba asociada con una secuencia de instrucciones que es generada
para el componente correspondiente al conjunto de elementos (Xi)
que corresponde al valor de código de número de conjunto de
elementos probado, y una secuencia de instrucciones que es generada
para un grupo de tipo no ordenado que comprende todos los
componentes (X1, … Xn) del grupo no ordenado salvo el componente
correspondiente al conjunto de elementos (Xi).
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0101447 | 2001-02-02 | ||
| FR0101447A FR2820563B1 (fr) | 2001-02-02 | 2001-02-02 | Procede de compression/decompression d'un document structure |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2272666T3 true ES2272666T3 (es) | 2007-05-01 |
Family
ID=8859571
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES02701380T Expired - Lifetime ES2272666T3 (es) | 2001-02-02 | 2002-02-01 | Procedimiento de compresion/descompresion de un documento estructurado. |
Country Status (12)
| Country | Link |
|---|---|
| US (1) | US20040054692A1 (es) |
| EP (1) | EP1356595B1 (es) |
| JP (2) | JP3973557B2 (es) |
| KR (1) | KR100614677B1 (es) |
| CN (1) | CN1309173C (es) |
| AT (1) | ATE336108T1 (es) |
| AU (1) | AU2002234715B2 (es) |
| CA (1) | CA2445300C (es) |
| DE (1) | DE60213760T2 (es) |
| ES (1) | ES2272666T3 (es) |
| FR (1) | FR2820563B1 (es) |
| WO (1) | WO2002063776A2 (es) |
Families Citing this family (48)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2813743B1 (fr) * | 2000-09-06 | 2003-01-03 | Claude Seyrat | Procede de compression/decompression de documents structures |
| WO2002063775A2 (en) * | 2001-02-05 | 2002-08-15 | Expway | Method and system for compressing structured documents |
| US7080318B2 (en) * | 2001-02-28 | 2006-07-18 | Koninklijke Philips Electronics N.V. | Schema, syntactic analysis method and method of generating a bit stream based on a schema |
| US7028286B2 (en) * | 2001-04-13 | 2006-04-11 | Pts Corporation | Methods and apparatus for automated generation of abbreviated instruction set and configurable processor architecture |
| 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 |
| WO2004107112A2 (en) * | 2003-05-23 | 2004-12-09 | Snapbridge Software, Inc. | Data federation methods and system |
| WO2005046059A1 (en) * | 2003-11-07 | 2005-05-19 | Expway | Method for compressing and decompressing structured documents |
| US8037102B2 (en) | 2004-02-09 | 2011-10-11 | Robert T. and Virginia T. Jenkins | Manipulating sets of hierarchical data |
| US7603654B2 (en) * | 2004-03-01 | 2009-10-13 | Microsoft Corporation | Determining XML schema type equivalence |
| CN1697327A (zh) * | 2004-05-13 | 2005-11-16 | 皇家飞利浦电子股份有限公司 | 一种顺序压缩/解压缩数据的方法及装置 |
| US9646107B2 (en) | 2004-05-28 | 2017-05-09 | Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust | Method and/or system for simplifying tree expressions such as for query reduction |
| US7620632B2 (en) | 2004-06-30 | 2009-11-17 | Skyler Technology, Inc. | Method and/or system for performing tree matching |
| US7801923B2 (en) | 2004-10-29 | 2010-09-21 | Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust | Method and/or system for tagging trees |
| US7627591B2 (en) | 2004-10-29 | 2009-12-01 | Skyler Technology, Inc. | Method and/or system for manipulating tree expressions |
| US7630995B2 (en) | 2004-11-30 | 2009-12-08 | Skyler Technology, Inc. | Method and/or system for transmitting and/or receiving data |
| US7636727B2 (en) | 2004-12-06 | 2009-12-22 | Skyler Technology, Inc. | Enumeration of trees from finite number of nodes |
| US8316059B1 (en) | 2004-12-30 | 2012-11-20 | Robert T. and Virginia T. Jenkins | Enumeration of rooted partial subtrees |
| US7634502B2 (en) * | 2005-01-24 | 2009-12-15 | Paul Colton | System and method for improved content delivery |
| US8615530B1 (en) | 2005-01-31 | 2013-12-24 | Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust | Method and/or system for tree transformation |
| US7681177B2 (en) | 2005-02-28 | 2010-03-16 | Skyler Technology, Inc. | Method and/or system for transforming between trees and strings |
| KR100714539B1 (ko) * | 2005-03-09 | 2007-05-07 | 엘지전자 주식회사 | 냉장고용 정수장치 |
| US8111694B2 (en) | 2005-03-23 | 2012-02-07 | Nokia Corporation | Implicit signaling for split-toi for service guide |
| US8356040B2 (en) | 2005-03-31 | 2013-01-15 | Robert T. and Virginia T. Jenkins | Method and/or system for transforming between trees and arrays |
| US20060234681A1 (en) * | 2005-04-18 | 2006-10-19 | Research In Motion Limited | System and method for data and message optimization in wireless communications |
| US7899821B1 (en) * | 2005-04-29 | 2011-03-01 | Karl Schiffmann | Manipulation and/or analysis of hierarchical data |
| US20060288028A1 (en) * | 2005-05-26 | 2006-12-21 | International Business Machines Corporation | Decompressing electronic documents |
| US20070143664A1 (en) * | 2005-12-21 | 2007-06-21 | Motorola, Inc. | A compressed schema representation object and method for metadata processing |
| JP4429329B2 (ja) * | 2007-02-16 | 2010-03-10 | キヤノン株式会社 | 符号化装置及びその制御方法、復号装置及びその制御方法、プログラム、記憶媒体 |
| US7747558B2 (en) | 2007-06-07 | 2010-06-29 | Motorola, Inc. | Method and apparatus to bind media with metadata using standard metadata headers |
| US8694893B2 (en) * | 2008-08-08 | 2014-04-08 | Oracle International Corporation | Interactive product configurator with persistent component association |
| US20100049727A1 (en) * | 2008-08-20 | 2010-02-25 | International Business Machines Corporation | Compressing xml documents using statistical trees generated from those documents |
| FR2936623B1 (fr) * | 2008-09-30 | 2011-03-04 | Canon Kk | Procede de codage d'un document structure et de decodage, dispositifs correspondants |
| JP5570202B2 (ja) * | 2009-12-16 | 2014-08-13 | キヤノン株式会社 | 構造化文書解析装置、構造化文書解析方法、及びコンピュータプログラム |
| WO2011079796A1 (zh) * | 2009-12-30 | 2011-07-07 | 北京飞天诚信科技有限公司 | .net文件压缩方法 |
| US8442998B2 (en) | 2011-01-18 | 2013-05-14 | Apple Inc. | Storage of a document using multiple representations |
| US9111327B2 (en) | 2011-01-18 | 2015-08-18 | Apple Inc. | Transforming graphic objects |
| JP2014086048A (ja) | 2012-10-26 | 2014-05-12 | Toshiba Corp | 検証装置、検査方法およびプログラム |
| CN103019895B (zh) * | 2012-12-28 | 2015-01-28 | 华为技术有限公司 | 文件存储方法及装置 |
| US9481029B2 (en) | 2013-03-14 | 2016-11-01 | Hitchiner Manufacturing Co., Inc. | Method of making a radial pattern assembly |
| US9498819B2 (en) | 2013-03-14 | 2016-11-22 | Hitchiner Manufacturing Co., Inc. | Refractory mold and method of making |
| US9486852B2 (en) | 2013-03-14 | 2016-11-08 | Hitchiner Manufacturing Co., Inc. | Radial pattern assembly |
| CN104868922B (zh) * | 2014-02-24 | 2018-05-29 | 华为技术有限公司 | 数据压缩方法及装置 |
| US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
| KR101702767B1 (ko) * | 2015-08-18 | 2017-02-03 | 라인 가부시키가이샤 | 비트를 이용하여 문서에 대한 접근 권한과 타입에 따라 문서를 검색하는 시스템 및 방법 |
| CA3040138A1 (en) * | 2016-10-11 | 2018-04-19 | Giorgio Zoia | Method and system for selective access of stored or transmitted bioinformatics data |
| KR20210099017A (ko) * | 2018-12-07 | 2021-08-11 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 코딩 도구 조합 및 제한의 관리 |
| CN114266018B (zh) * | 2021-11-17 | 2025-01-21 | 成都安恒信息技术有限公司 | 一种将任意字节转化为执行逻辑的方法及系统 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5778375A (en) * | 1996-06-27 | 1998-07-07 | Microsoft Corporation | Database normalizing system |
| US6580834B2 (en) * | 1997-05-30 | 2003-06-17 | Competitive Technologies Of Pa, Inc. | Method and apparatus for encoding and decoding signals |
| EP0928070A3 (en) * | 1997-12-29 | 2000-11-08 | Phone.Com Inc. | Compression of documents with markup language that preserves syntactical structure |
| US6272252B1 (en) * | 1998-12-18 | 2001-08-07 | Xerox Corporation | Segmenting image data into blocks and deleting some prior to compression |
| GB9911099D0 (en) * | 1999-05-13 | 1999-07-14 | Euronet Uk Ltd | Compression/decompression method |
| 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 |
| US6865664B2 (en) * | 2000-12-13 | 2005-03-08 | Conexant Systems, Inc. | Methods, systems, and computer program products for compressing a computer program based on a compression criterion and executing the compressed program |
-
2001
- 2001-02-02 FR FR0101447A patent/FR2820563B1/fr not_active Expired - Fee Related
-
2002
- 2002-02-01 KR KR1020037010251A patent/KR100614677B1/ko not_active Expired - Fee Related
- 2002-02-01 ES ES02701380T patent/ES2272666T3/es not_active Expired - Lifetime
- 2002-02-01 DE DE60213760T patent/DE60213760T2/de not_active Expired - Lifetime
- 2002-02-01 EP EP02701380A patent/EP1356595B1/fr not_active Expired - Lifetime
- 2002-02-01 AU AU2002234715A patent/AU2002234715B2/en not_active Ceased
- 2002-02-01 US US10/470,373 patent/US20040054692A1/en not_active Abandoned
- 2002-02-01 AT AT02701380T patent/ATE336108T1/de not_active IP Right Cessation
- 2002-02-01 CN CNB028057090A patent/CN1309173C/zh not_active Expired - Fee Related
- 2002-02-01 WO PCT/FR2002/000394 patent/WO2002063776A2/fr not_active Ceased
- 2002-02-01 CA CA002445300A patent/CA2445300C/en not_active Expired - Fee Related
- 2002-02-01 JP JP2002563607A patent/JP3973557B2/ja not_active Expired - Fee Related
-
2007
- 2007-03-05 JP JP2007054875A patent/JP2007226813A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| FR2820563A1 (fr) | 2002-08-09 |
| FR2820563B1 (fr) | 2003-05-16 |
| CA2445300A1 (en) | 2002-08-15 |
| EP1356595A2 (fr) | 2003-10-29 |
| EP1356595B1 (fr) | 2006-08-09 |
| WO2002063776A2 (fr) | 2002-08-15 |
| WO2002063776A3 (fr) | 2002-11-28 |
| CN1494767A (zh) | 2004-05-05 |
| DE60213760T2 (de) | 2007-08-09 |
| CA2445300C (en) | 2007-04-24 |
| US20040054692A1 (en) | 2004-03-18 |
| KR20040007442A (ko) | 2004-01-24 |
| AU2002234715B2 (en) | 2005-10-06 |
| KR100614677B1 (ko) | 2006-08-21 |
| JP3973557B2 (ja) | 2007-09-12 |
| CN1309173C (zh) | 2007-04-04 |
| JP2004530188A (ja) | 2004-09-30 |
| ATE336108T1 (de) | 2006-09-15 |
| DE60213760D1 (de) | 2006-09-21 |
| JP2007226813A (ja) | 2007-09-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2234878T3 (es) | Procedimiento para la compresion/decompresion de documentos estructur dos. | |
| JP3973557B2 (ja) | 構造化された文書を圧縮/伸長する方法 | |
| US20210303588A1 (en) | Dynamic Field Data Translation to Support High Performance Stream Data Processing | |
| US8291150B2 (en) | Table device, variable length coding apparatus, variable length decoding apparatus, and variable length coding and decoding apparatus | |
| US20050120031A1 (en) | Structured document encoder, method for encoding structured document and program therefor | |
| ES2272429T3 (es) | Metodo para comprimir un arbol jerarquico, señal correspondiente y metodo para descodificar una señal. | |
| CN104283567A (zh) | 一种名称数据的压缩、解压缩方法及设备 | |
| ATE334449T1 (de) | Erstellung von strukturierten daten aus unformatiertem text | |
| KR20190064621A (ko) | 2진 데이터를 인코딩 및 디코딩하기 위한 방법 및 디바이스 | |
| US7652596B1 (en) | Variable-length compression technique for encoding or decoding a sequence of integers | |
| US20070273564A1 (en) | Rapidly Queryable Data Compression Format For Xml Files | |
| CN113704575A (zh) | 解析XML与Java文件的SQL方法、装置、设备及存储介质 | |
| US7609000B1 (en) | Variable-length compression technique for encoding or decoding a sequence of integers | |
| CN105843663A (zh) | 适用于asn.1递归解析数据结构描述的编解码方法 | |
| KR20060054315A (ko) | 구조화된 문서의 코딩 방법 | |
| CN101369953B (zh) | 一种字库的网络分发方法及系统 | |
| JP2004523166A (ja) | Mpeg−7および他のxmlベースの内容記述のバイナリ表現における機能を改善する方法 | |
| CN101877005A (zh) | 一种基于文档模式的gml压缩方法 | |
| KR20060123197A (ko) | 구조적 문서의 압축 및 압축 해제 방법 | |
| CN107818121A (zh) | 一种html文件压缩方法、装置及电子设备 | |
| JP2004302868A (ja) | Xmlのタグ圧縮方法 | |
| JP2633121B2 (ja) | データ解析処理方式 | |
| US8336037B1 (en) | JNI-minimizing data structures for XML parsing | |
| JP2004342029A (ja) | 構造化文書圧縮方法及び装置 | |
| Galambos et al. | Compression of Semistructured Documents |