ES2272429T3 - Metodo para comprimir un arbol jerarquico, señal correspondiente y metodo para descodificar una señal. - Google Patents

Metodo para comprimir un arbol jerarquico, señal correspondiente y metodo para descodificar una señal. Download PDF

Info

Publication number
ES2272429T3
ES2272429T3 ES01460047T ES01460047T ES2272429T3 ES 2272429 T3 ES2272429 T3 ES 2272429T3 ES 01460047 T ES01460047 T ES 01460047T ES 01460047 T ES01460047 T ES 01460047T ES 2272429 T3 ES2272429 T3 ES 2272429T3
Authority
ES
Spain
Prior art keywords
data
context
compression
subtree
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES01460047T
Other languages
English (en)
Inventor
Cyril Concolato
Claude Seyrat
Gregoire Pau
Cedric Thienot
Alexandre Cotarmanac'h
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Expway SA
Groupe des Ecoles des Telecommunications
Original Assignee
France Telecom SA
Expway SA
Groupe des Ecoles des Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA, Expway SA, Groupe des Ecoles des Telecommunications filed Critical France Telecom SA
Application granted granted Critical
Publication of ES2272429T3 publication Critical patent/ES2272429T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Document Processing Apparatus (AREA)
  • Error Detection And Correction (AREA)

Abstract

Un método para comprimir un árbol jerárquico que describe una señal multimedia, comprendiendo dicho árbol nodos y hojas, que pueden estar asociados a datos de al menos dos naturalezas distintas, llamados tipos de datos, en el que dicho método pone en práctica una compresión de datos para al menos algunas de dichas hojas, y en el que dicho método comprende: una operación de identificar (2) al menos un subárbol; una operación de asignar (3) una técnica de codificación por compresión asignada a dicho subárbol sólo para las hojas de dicho subárbol cuyos datos son del tipo asociado a dicha técnica de codificación por compresión, mientras las otras hojas de dicho subárbol no sufren ninguna codificación por compresión.

Description

Método para comprimir un árbol jerárquico, señal correspondiente y método para descodificar una señal.
El campo del invento es el de la compresión de datos. Más precisamente, el invento se refiere a la compresión de documentos basados en XML ("Lenguaje de Markup Extendido").
El invento tiene aplicaciones, en particular, pero no solamente, en los campos siguientes:
- aplicaciones multimedia;
- herramientas de indexación;
- herramientas de manipulación de datos meta;
- la especificación MPEG-7 (véase particularmente NACK y col. "Todo lo que quería saber acerca de MPEG-7: Parte 2" Multimedia IEEE, Sociedad de Ordenadores de IEEE, Estados Unidos de Norteamérica, volumen 6, nº 4, octubre de 1999, páginas 64-73).
- SMIL;
- TV en cualquier instante;
- la tercera generación de radiocomunicaciones (3GPP).
Las técnicas de compresión de la técnica anterior para XML tienen varios inconvenientes. En particular, no soportan al mismo tiempo acceso rápido a datos, relaciones de alta compresión y construcción progresiva del documento. En otras palabras, la mayoría del tiempo, cuando una de las características antes mencionadas es soportada, las demás características se pierden.
Una de las técnicas de compresión de la técnica anterior es conocida como BiM (MPEG binario) y está notablemente descrita en Texto de ISO/IEC FCD 15938-1 Enlace de Descripción de Contenido Multimedia de Tecnología de la Información - Parte 1 Sistemas "ISO/IEC" JTC1/SC 29/WG11 "MPEG" 01/N4001, marzo de 2001. Tal técnica proporciona un método para comprimir un documento XML haciendo binaria la estructura del documento, es decir los nodos de una estructura de árbol asociados al documento XML. Por tanto, la relación de compresión conseguida empleando la técnica BiM es muy pobre, aunque la técnica BiM permite un rápido acceso a datos, construcción progresiva del documento y capacidad para omitir. Liefke y col., en "XMILL: Un compresor eficiente para datos XML". (Registro Sigmod, Asociación para Maquinaria de Ordenadores, Nueva York, Estados Unidos de Norteamérica, vol. 29, nº 2, Junio de 2000, páginas 153-164) ha descrito también un método para comprimir datos en un árbol XML. Un inconveniente de esta técnica es que no permite identificar un subárbol, asignar una técnica de codificación de compresión específica a un tipo de datos del subárbol identificado, e implantar esta técnica de codificación de compresión sólo para las hojas del subárbol cuyos datos son del tipo de técnica de codificación de compresión
asociada.
Es un propósito del invento compensar los inconvenientes de las técnicas de la técnica anterior.
Más precisamente, el invento tiene por objetivo proporcionar una técnica de compresión eficiente para documentos basados en XML.
El invento también tiene por objetivo proporcionar una técnica de compresión para XML que proporciona la capacidad para omitir, relaciones de alta compresión y construcción progresiva del documento.
El invento también tiene por objetivo comprimir eficientemente descriptores MPEG-7.
Otro propósito del invento es poner en práctica un método para comprimir un documento XML que mejora mucho la relación de compresión proporcionada por una técnica del tipo BIM, pero que proporciona las mismas funcionalidades que las proporcionadas por el BIM.
Los propósitos antes mencionados del invento, así como otros propósitos del invento que aparecerán después, son conseguidos, de acuerdo con el invento, por medio de un método para comprimir un árbol jerárquico que describe una señal multimedia, comprimiendo dicho árbol nodos y hojas, que pueden estar asociadas a contenidos de al menos dos tipos distintos, en el que dicho método emplea una compresión de contenido para al menos alguna de dichas hojas por medio de al menos dos técnicas de codificación por compresión, estando selectivamente asociada cada una de dichas técnicas al menos a uno de dichos tipos de contenido.
De acuerdo con una realización preferida del invento, tal método comprende una operación de identificar al menos un subárbol y una operación de asignar una de dichas técnicas de codificación por compresión a dicho subárbol.
Ventajosamente, tal método comprende una operación de implantar dicha técnica de codificación por compresión asignada a dicho subárbol solamente para las hojas de dicho subárbol cuyo contenido es del tipo asociado a dicha técnica de codificación por compresión, y las otras hojas de dicho subárbol no experimentan ninguna codificación por compresión.
De acuerdo con una característica ventajosa del invento, tal método emplea una descripción paramétrica de dichas técnicas de codificación por compresión.
Preferentemente, tal método comprende también una operación de comprimir la estructura de dicho árbol.
Ventajosamente, dicho árbol es del tipo BiM (MPEG binario) de acuerdo con el estándar MPEG7.
Preferentemente, una de dichas técnicas de codificación por compresión emplea una cuantificación lineal.
Ventajosamente, una de dichas técnicas de codificación por compresión emplea un algoritmo de compresión estadístico.
Preferentemente, dicho algoritmo es del tipo GZip.
Ventajosamente, dicho algoritmo es empleado simultáneamente para un conjunto de datos correspondiente al contenido de al menos dos hojas.
Preferentemente, dicho árbol representa la estructura de un documento de tipo XML (Lenguaje de Markup extendido).
El invento se refiere también a un método para descodificar una señal multimedia comprimida de acuerdo con el método antes mencionado para comprimir un árbol jerárquico.
Ventajosamente, tal método pone en práctica una operación de refrescar un contexto de descodificación actual de acuerdo con la información del contexto de codificación transportada por dicha señal.
Preferentemente, dicho contexto actual define al menos un tipo de contenido, comprendiendo dicho método una operación de puesta en práctica de una técnica de descodificación por compresión asociada dicho tipo de contenido para las hojas que tienen un contenido de dicho tipo de contenido.
El invento se refiere también a una señal generada por el método antes mencionado para comprimir un árbol jerárquico.
Otras características y ventajas del invento aparecerán más claramente a la luz de la siguiente descripción, dada como ejemplo meramente ilustrativo pero no restrictivo, y de las siguientes figuras:
La fig. 1 ilustra el concepto de contexto de codificación
La fig. 2 describe la estructura de un elemento cuando es codificado de acuerdo con la técnica BiM;
La fig. 3 ilustra alguna de las operaciones llevadas a cabo de acuerdo con el invento para comprimir el contenido de las hojas de un árbol jerárquico.
Antes de describir en detalle como poner en práctica el invento, primero recordaremos las principales características de la técnica de compresión de la técnica anterior, conocida como la técnica BiM.
Para facilitar la comprensión del documento, algunas referencias están reunidas en el anexo 9 y se ha hecho referencia a ellas a lo largo de todo el documento.
Todos los anexos proporcionados con el presente documento son parte de la descripción actual del invento.
1. Técnica anterior Introducción
Un contexto de codificación, ilustrado en la fig. 1, es un conjunto de información de descodificación, necesario mientras se descodifica la corriente o flujo de bits. Un contexto de codificación es aplicable al subárbol completo del nodo donde está definido. En todos los nodos del árbol, el contexto de codificación puede ser modificado: conduciendo a la creación de un nuevo contexto de codificación, aplicable al subárbol correspondiente.
Un contexto puede llevar varias informaciones que editan características aplicables al subárbol referido. Actualmente, en el formato de codificación de subárbol BiM [1], estas características tienen la capacidad de omitir de un subárbol/contexto y codificación de múltiples esquemas de un subárbol/contexto (con el fin de proporcionar la característica de compatibilidad hacia atrás y hacia adelante). Al final, el mecanismo de contenido puede ser deshabilitado en cada subárbol con el fin de ahorrar ancho de banda; este es el modo congelado de contexto.
El mecanismo de contexto de codificación proporciona máxima flexibilidad en cada subárbol de un árbol de documento y permite que características extensibles sean enchufadas en el mecanismo de codificación BiM. Conocemos ahora el mecanismo el contexto actual usado en BiM.
Mecanismo de contexto de codificación actual Definiciones Contexto de codificación
Un codingContext (contexto de codificación) es un conjunto de información, la información contextual, necesitada por el descodificador para descodificar la corriente de bits. Un contexto de codificación es aplicable al nodo donde ha sido definido, y al subárbol completo correspondiente a este nodo.
El codingContext (contexto de codificación) actual, (es decir el contexto aplicable a un nodo especificado de una descripción) puede ser modificado dentro del documento (es decir, una modificación de su conjunto subyacente de información). Cada modificación de un codingContext (contexto de codificación) conduce a la creación de un nuevo codingContext (contexto de codificación), que transportará el conjunto de información modificado. Todos los codingContexts (contextos de codificación) se espera que sean apilados, con el fin de recogerlos de nuevo, cuando el descodificador ha terminado de descodificar un contexto de subárbol correspondiente.
Descodificador
El descodificador BiM está compuesto de dos descodificadores:
-
el descodificador de contexto: este descodificador está dedicado a descodificar la información contextual. Como se ha establecido antes, la información contextual no es parte de la descripción. Esto es un conjunto de información que soporta algunas características externas, compatibilidad hacia atrás y hacia adelante, omisión rápida...
-
el descodificador de elementos; este descodificador, el BiM regular [1] está dedicado va a descodificar la información del elemento.
Fragmentos
Cada elemento de una descripción es codificado como el 3-plet ilustrado en la fig. 2, donde la parte de encabezamiento está constituida por dos fragmentos, cuyos tamaños pueden ser nulos:
-
MC es el fragmento de meta-contexto;
-
C es el fragmento de contexto;
-
Elemento es el fragmento de elemento, que es el fragmento de codificación de elemento regular, véase [1].
El fragmento de meta-contexto MC contiene la información necesitada por el descodificador para descodificar el siguiente fragmento C. Es decir que el fragmento C es el fragmento de contexto del fragmento de contexto C.
El fragmento de contexto C contiene la información capaz de cambiar el conjunto de información de contexto de codificación actual, y necesitada por el descodificador para descodificar el siguiente fragmento de elemento. Es decir que el fragmento C es el fragmento de contexto del fragmento de elemento.
Conjunto de información
El contexto de codificación BiM actual lleva un conjunto de información, la información contextual, que puede estar dividida en las dos siguientes clases principales:
-
la sección de meta-contexto; la información contenida en esta sección, influye sólo en el proceso de descodificación de contexto
-
la sección de contexto; si la información contenida en esta sección, influye sólo en el proceso de descodificación de elemento
El conjunto actual de información es el siguiente conjunto de variables:
1
Las clases definidas son codificando exactamente los fragmentos descritos antes (el fragmento de meta-contexto MC y el fragmento de contexto C).
Fragmento de meta-contexto Definición
El fragmento de meta-contexto MC, cuyo tamaño puede ser nulo, contiene información para saber si el descodificador tiene que leer el siguiente fragmento de contexto C, descrito en la siguiente sección.
2
Valores por Defecto
El valor por defecto del freezing_state es falso: es decir que, por defecto, el contexto de raíz puede ser cambiado dinámicamente.
Reglas de propagación
En la creación de un nuevo contexto:
-
el valor de freezing_state es ajustado al valor de freezing_state de su contexto padre.
Reglas de modificación dinámica
En cada nodo de una descripción y con el fin de crear un nuevo contexto:
-
el valor de freezing_state puede ser intercambiado desde el valor falso al valor verdadero.
Reglas de descodificación
Si el valor de freezing_state es verdadero, el fragmento de meta-contexto MC (y el fragmento de contexto C próximo) no es codificado a la corriente de bits. De otro modo, la parte del fragmento de meta-contexto MC del encabezamiento es codificada como sigue:
3
El context_chunk es una variable local, inicializada en falso.
4
Como se ha indicado en la sección previa, la modificación de las variables del contexto actual implica la creación de un nuevo contexto.
Influencia en el proceso de descodificación de contexto
Si el valor del context_chunk es verdadero, el descodificador tiene que leer el siguiente fragmento de contexto C.
Fragmento de Contexto Definición
El fragmento de contexto C, cuyo tamaño puede ser nulo, contiene un conjunto de información capaz de cambiar dinámicamente las variables de contexto actuales. Estas variables son llamadas Propiedades de codificación ya que influyen en el proceso de descodificación de elemento BiM.
5
Valores por defecto
La variable allows_skip es inicializada al comienzo de la corriente de bits por los dos primeros bits del campo de bit especial de 4 bits, como se ha definido en el documento de Sistemas FCD [1].
La variable allows_partial_instantiation es inicializada al comienzo de la corriente de bits por los dos terceros bits del campo de bit especial de 4 bits.
La variable allows_subtyping es inicializada al comienzo de la corriente de bits por los dos cuartos bits del campo de bit especial de 4 bits.
El valor por defecto de scheme_mode es mono; es decir que, por defecto, la raíz del subárbol/contexto es codificada con un esquema
Reglas de propagación
En la creación de un nuevo contexto:
-
el valor allows_skip es configurado al valor allows_skip de su contexto padre
-
el valor allows_partial_instantiation es configurado al valor de su contexto padre
-
el valor allows_subtyping es configurado al valor de su contexto padre
-
el valor del schema_mode es configurado a su valor por defecto
Reglas de modificación dinámica
En cada nodo de una descripción y con el fin de crear un nuevo contexto:
-
allows_skip puede ser dinámicamente modificado
-
allows_partial_instantiation no puede ser dinámicamente modificado
-
allows_subtyping no puede ser dinámicamente modificado
-
el scheme_mode puede ser dinámicamente modificado
Reglas de descodificación
El fragmento de contexto C está presente solo si el fragmento de meta-contexto MC está ya presente y su variable local previa context_chunk es verdadera.
La modificación dinámica del contexto actual está descrita con un elemento XML que es codificado por el esquema de codificación regular BiM. El elemento global modifyContext desde el esquema BiM es usado. El esquema de codificación http://www.mpeg7.org/2001/BiMCoding está descrito en el anexo 1.
El fragmento de contexto C ha de ser descodificado con el esquema regular BiM, con el esquema anterior.
Como se ha indicado antes, la modificación de codingProperties actual en el contexto implica la creación de un nuevo contexto. Por ello, la presencia del fragmento de contexto C, implica la creación de un nuevo contexto, que llevará las codingProperties modificadas.
Si el elemento allows_skip es instantiado dentro del elemento de modificación de contexto, entonces el valor allows_skip será actualizado en el nuevo contexto.
Si el elemento schema_mode es instantiado dentro del elemento modifyContext, entonces el valor del schema_mode será actualizado en el nuevo contexto.
Influencia sobre el proceso de descodificación del elemento
Los valores allows_skip y schema_mode influyen sobre el proceso de descodificación del elemento, cuando está relacionado con la característica de omitir. Este comportamiento está descrito en [1].
El valor de schema_mode influye sobre el proceso de descodificación del elemento, con el fin de saber si el elemento está codificado con o solo uno o varios esquemas. Este mecanismo está descrito en [1].
El valor allows_partial_instantiation influye sobre el proceso de descodificación del elemento, añadiendo un tipo especial partiallyInstantiated a los subtipos posibles del elemento. Véase [1].
El valor de allow_subtyping influye sobre el proceso de descodificación del elemento, y permite a un elemento o a un atributo tener diferentes tipos posibles, en caso de polimorfismo de elemento (con el atributo xsi:type) o unión. Véase [1].
2. Descripción del invento 2.1. Extensión del mecanismo de contexto para proporcionar una estructura para la compresión de la hoja
El invento propone extender el mecanismo de contexto BiM actual con el fin de soportar una nueva e interesante característica: el uso de compresores locales para comprimir hojas de un documento, con el fin de reducir el tamaño de la corriente de bits resultante.
Esta sección describe como extender el mecanismo de contexto BiM actual para soportar el uso de compresores locales. Esto es típicamente un nuevo conjunto de variables, codingProperties, enlazadas con reglas de semántica, propagación y codificación específicas. Por ello, este nuevo conjunto de codingProperties extenderá el fragmento de contexto actual.
Introducción
En un subárbol, todos los casos de uno o varios tipos simples especificados pueden ser comprimidos con uno o varios compresores especificados. Esto define básicamente un cartografiado entre un compresor y uno o varios tipos simples. Además:
-
en algunos casos, un compresor puede necesitar algunos parámetros externos.
-
un cartografiado puede ser activado/desactivado, con el fin de usar un compresor en algunos subárboles pero no en otros.
Por último, con el fin de ser activado/desactivado, un cartografiado debería ser referenciable y por ello, debe tener un identificador único en un contexto.
Por ello, cada contexto puede llevar cero, uno o varios codecTypeMapper; donde un codecTypeMapper es un 4-plet, que consiste de un identificador, uno o varios tipos simples, un codec, parámetros de codec opcional externos y un estado de activación.
Definiciones CodecTypeMapper
Un codecTypeMapper es un 4-plet, que consiste en:
-
un identificador, usado como una clave de referencia única en un subárbol/contexto
-
uno o varios tipos simples, para los que es aplicable el cartografiado
-
un codec
-
parámetros de codec opcionales externos (depende del codec)
-
un estado de activación
Identificador
El identificador es un número único que identifica un cartografiado dentro de un contexto en un modo no ambiguo. El esquema de codificación BiM restringe el número máximo de codecTyoeMappers en un contexto a 32.
Tipo simple
Todos los tipos simples definidos en un esquema podrían ser a priori codificados por cada codec pero, cada codec puede restringir esta elección. Por ejemplo, un cuantificador lineal, como se ha definido de aquí en adelante en el documento, puede ser solamente usado con tipos numéricos simples.
Un tipo simple es identificado por su nombre, y por la URL del esquema al que pertenece. Los prefijos de esquema XML deberían ser usados, con el fin de apuntar al esquema correcto. El esquema de codificación BiM define un tipo especial para codificar esta pareja; este tipo debería ser codificado como pareja de enteros; el primer entero está restringido al número actual de esquemas conocido (esta pieza de información puede ser traída en la parte DecoderConfig [1]) y el segundo entero está restringido al número de tipos simples globales presentes en el esquema correspondiente.
Codec
Un codec, abreviaturade compresor/descompresor, es un módulo que toma bits de entrada, y escribe bits de salida. Puede necesitar algunos parámetros externos opcionales.
Un codec es identificado por un nombre, entre los nombres de los codecs no abstractos definidos en el esquema de codificación BiM. El esquema de codificación BiM actual, definido en una sección anterior, no define ningún codec no abstractos, pero el \NAK2.2 del presente documento lo hace.
Estado de activación
El estado de activación es una bandera booleana.
Reglas semánticas CodecTypeMapper
Cada contexto:
-
puede llevar 0,1 o varios codecTypeMapper
-
puede definir uno o varios codecTypeMapper
-
puede activar o desactivar uno o varios codecTypeMapper existentes. Si un codecTypeMapper está definido en un contexto, permanece en todos sus subcontextos.
Un codecTypeMapper existente, dentro de un contexto, no puede ser borrado ni modificado (excepto su estado de activación).
Identificador
El identificador de un cartografiado debe ser único entre todos los codecTypeMapper de un contexto.
Tipo simple
Cuando se asocia en un codecTypeMapper uno o varios tipos simples y un codec, el codec codificará/descodificará los propios tipos simples y todo los tipos simples que sean derivados de ellos.
En un contexto, debe haber como mucho un tipo simple que pueda ser aplicable con un codec.
Codec
Hay dos tipos de codecs: codecs sin memoria y codecs contextuales.
Un codec sin memoria es un módulo que codifica siempre los mismos bytes de entrada en los mismos bytes de salida: independientemente de la historia del codec. Un codec sin memoria típico es un cuantificador lineal. La compresión de hoja BiM (véase \NAK2.2 del documento presente) describe tal codec.
Un codec contextual es un módulo que usa los bytes previos alimentados en él, (cambiando así el contexto del codec).
Tal codec no genera los mismos bytes de salida para los mismos bytes de entrada que recibe. Un codec típicamente contextual es un codec local a modo de Zip, uno está descrito en el \NAK2.2 del documento presente.
Un codec sin memoria no induce ningún problema en la arquitectura de contexto actual pero un codec contextual si lo hace, en caso de subárbol omitible. En tales casos, un codec contextual es repuesto, con el fin de no confundir al descodificador, cuando este anterior ha omitido el subárbol.
Estado de activación
En cada subárbol/contexto, un codecTypeMapper puede ser activado o desactivado.
Este mecanismo permite definir un codecTypeMapper a un nivel más elevado del árbol de documentos, y activarlo solamente en los subárboles en los que es usado, sin redefinir el codecTypeMapper.
Un nuevo codingProperty: codecTypeMapper
En esta parte, añadiremos un nuevo codingProperty al conjunto previo de variables de la sección de contexto, descrito antes. Este nuevo codingProperty es denominado codecTypeMapper y es una lista del codecTypeMapper previo descrito en la sección previa.
Nuevo CodingProperty implicado
El contexto lleva una lista de codecTypeMapper:
6
Nuevos valores por defecto
Por defecto, no hay codecTypeMapper en un subárbol/contexto.
Si un codecTypeMapper está definido dentro de un contexto, su identificador, codec y el valor simple_type debe ser definido. Si no es especificado, el estado de activación de un codecTypeMapper nuevamente definido es ajustado a verdadero por defecto; es decir que un codecTypeMapper nuevamente definido es activado por defecto.
Nuevas reglas de propagación
Regla 1: En la creación de un nuevo contexto, la lista de codecTypeMapper es la copia de su contexto padre:
-
el valor de identificador es copiado
-
el valor simple_type es copiado
-
el valor de codec es copiado de acuerdo con la regla 2
-
el valor de codec_parameters son copiados
-
el activation_state es copiado
Regla 2: el valor de codec es copiado y si:
-
el codec padre codingProperty[i].codec es un codec contextual
-
y si el contexto actual es omitible
Entonces,
el descodificador se espera que cree un nuevo caso del codec copiando el caso del codec padre (no solamente su valor) y reponiéndolo.
Por ejemplo, un codec Zlib sería copiado y reinicializado cuando entre en un nodo omitible.
Nuevas reglas de modificación dinámica
La lista de codecTypeMapper puede ser modificada dinámicamente, dentro de la descripción:
-
un nuevo codecTypeMapper puede ser definido
-
el activation_state de un codecTypeMapper existente (a continuación referenciable) puede ser modificado dinámicamente.
Un codecTypeMapper existente no puede ser eliminado y sus miembros no pueden ser modificados dinámicamente (excepto su activation_state).
Nuevas reglas de descodificación
Las mismas reglas previas se aplican a la descodificación del fragmento de contexto C, pero el nuevo esquema, descrito en el anexo 2, debería ser usado, con el fin de añadir las funcionalidades de modificación dinámica del nuevo codecTypeMapper.
Parte informativa Ejemplos
El ejemplo, ilustrado en el anexo 3, presenta la definición de un cuantificador lineal activado (véase \NAK2.2 del documento presente) en una descripción.
El ejemplo, ilustrado en el anexo 4, presenta la definición de un cuantificador lineal desactivado en una descripción.
2.2 Compresión de hoja BiM
Presentamos ahora el mecanismo empleado por el invento para codificar datos con diferentes codecs. Más precisamente, ilustramos ahora dos ejemplos, uno en el que un codec de cuantificación lineal es usado para comprimir, por ejemplo, valores de coma flotante, y el otro en el que un codec gzip es usado para comprimir, por ejemplo, valores de cadena.
Tal mecanismo está estrechamente relacionado con el contexto de codificación y permite el uso de varios otros tipos de codecs. Además, permite relacionarse apropiadamente con las características de contexto de codificación, por ejemplo subárboles omitibles. Finalmente permite volver a utilizar codecs en diferentes contextos de codificación.
Introducción
La codificación de subárbol BiM [1] no comprime las hojas de datos de una descripción. Actualmente, los valores de hoja son codificados con respecto a sus tipos (IEEE 754 flotantes y dobles, cadenas UTF...).
En muchos casos, podría ser útil usar algunas técnicas de compresión clásica como cuantificación lineal o compresión estadística para mejorar la relación de compresión de BiM sin perder sus características principales (análisis de la línea de corriente, característica de omisión rápida, descodificación tecleada).
Este documento presenta cómo puede hacerse la compresión de hojas de datos de un documento dentro del mecanismo de codificación de contexto descrito en \NAK2.1 con el fin de conseguir mejores relaciones de compresión.
2.2.1 Cuantificación lineal Definición
La cuantificación lineal es un modo usual y con pérdidas de reducir el tamaño de números codificados en la corriente de bits, cuando la fuente de la información es conocida y por ello, cuando las pérdidas pueden ser controladas.
Como ejemplo, la envolvente de una señal de audio muestreada es a menudo conocida con una cuantificación de tamaño de bit precisa, y esta técnica podría ser usada satisfactoriamente para codificar descripciones de audio
MPEG-7.
Si es un número real, puede ser codificado con v_{q} con bits nbits donde:
\nu_{q} = \frac{\nu - \nu_{min}}{\nu_{max} - \nu_{min}}(2^{nbits} - 1)
donde:
- \nu_{q} es el valor cuantificado, codificado de \nu
- nbits es la precisión requerida en bits
- \nu_{min} es el valor mínimo inclusivo que \nu puede alcanzar
- \nu_{max} es el valor máximo incluido que \nu puede alcanzar
Y el valor descodificado desde \nu es \nu, con:
\overline{\nu} = \nu_{min} + \nu_{q}\frac{\nu_{max} - \nu_{min}}{2^{nbits} - 1}
donde;
- \nu es el valor descodificado, aproximado de \nu
Integración con el mecanismo de contexto: el LinearQunatizerCodec
La cuantificación lineal puede ser usada como un codec, como se ha definido en el mecanismo de contexto de codificación descrito en \NAK2.1 del presente documento. Con este mecanismo, la cuantificación lineal puede ser aplicada en hojas de datos numéricos, de un tipo simple deseado, en cualquier subárbol de una descripción.
Usados como éste, el mecanismo de contexto de codificación, asociado con el codec de cuantificación lineal, está actuando como el nodo QuatizationParameter, usado en MPEG-4 BIFS [3].
Restricción en tipos simples aplicables
De acuerdo con la definición de un codec en \NAK2.1 del documento presente, este codec es un codec sin memoria, que puede ser aplicado en cada uno de los tipos numéricos simple atómicos y no atómicos; cuyo tipo primitivo de Esquema XML es flotante, doble o decimal.
Parámetros de codec externo
El codec cuantificador lineal necesita los 3 siguientes parámetros obligatorios:
-
bitSize: la variable nbits descrita antes
-
minInclusive: la variable \nu_{min} descrita antes
-
maxInclusive: la variable \nu_{max} descrita antes
Definición de esquema del codec
El codec de cuantificación lineal es un nuevo codec de tipo LinearQuantizerCodecType, basado en el tipo CodecType abstracto (véase \NAK2.1) y definido por el esquema dado en el anexo 5, en el contexto de codificación espacio de nombre URL xmins: cc=http://www.mpeg7.org/2001/BiMCoding.
Codificación (informativa)
Una hoja de datos numéricos de valor \nu es codificada con el entero sin signo \nu_{q} en bits nbits donde:
\vskip1.000000\baselineskip
\nu_{q} = \frac{\nu - \nu_{min}}{\nu_{max} - \nu_{min}}(2^{nbits} - 1)
\vskip1.000000\baselineskip
Descodificación
El entero sin signo \nuç_{q} codificado en bits nbits, debería ser descodificado como \nu donde:
\vskip1.000000\baselineskip
\overline{\nu} = \nu_{min} + \nu_{q}\frac{\nu_{max} - \nu_{min}}{2^{nbits} - 1}
Ejemplo
(Informativo)
El ejemplo ilustrado en el anexo 6 presenta la definición de un cuantificador lineal en una descripción.
2.2.2 Compresión estadística
Algoritmos de compresión sin pérdida estadística clásicos pueden ser usados como codecs, como se ha definido en el mecanismo de contexto de codificación (véase \NAK2.1). Con este mecanismo, las hojas de datos, de un tipo simple deseado, pueden ser comprimidas de manera eficiente en cualquier subárbol de una descripción.
Este codec es útil para reducir significativamente el tamaño de la corriente de bits, especialmente cuando la descripción contiene muchas cadenas repetitivas o similares.
Definición
Algoritmos de compresión estadística sin pérdidas clásicos (como Zip o GZip) pueden ser usados en BiM para comprimir cualesquiera hojas de una descripción.
Pero, en la mayoría de los casos, cuando las hojas de datos son cadenas cortas que contiene menos de 10 caracteres, esto conduce a pobres rendimientos ya que los algoritmos de compresión estadística usuales requieren una mayor memoria tampón para mirar hacia delante.
Con el fin de conseguir una relación de compresión óptima, las hojas de un documento han de ser almacenadas en una pequeña memoria tampón antes de ser comprimidas. La siguiente sección define tal codificador estadístico almacenado, basándose en un algoritmo de compresión estadística sin pérdidas subyacentes.
Definiciones de un codificador estadístico almacenado
Un codificador estadístico almacenado se basa en un codificador estadístico subyacente que debería contener los siguientes métodos primitivos genéricos:
-
initialize_stream(); que inicializada una corriente de compresión o descompresión
-
reset_model(); que repone el modelo estadístico actual del codificador
-
feed_input_bytes(); que toma bytes descomprimidos de entrada y los pone en la corriente de compresión
-
flush_output_bytes(); que descarga la corriente de compresión comprimiendo los bytes de entrada ya procesados y emitiendo los correspondientes bytes de salida comprimidos
-
decompress_input_bytes(); que toma una cantidad específica de bytes de entrada comprimidos y los descodifica emitiendo los bytes de salida descomprimidos correspondientes.
Un codec almacenado tiene una longitud de bytes bufferSize, estructura FIFO de memoria tampón de matriz de byte.
Desde el lado del codificador, el valor bufferSize indica cuántos bytes de entrada puede procesar el codificador antes de descargar. Desde el lado del descodificador, este es el tamaño de memoria tampón mínimo en bytes, necesario para descodificar la corriente de bits, a través del codificador estadístico subyacente API.
La memoria tampón tiene también una variable fillingLevel, que contiene el nivel de llenado real, en bytes, de la memoria tampón.
Usar el ZLib API como un codificador estadístico
La librería pública Zlib API [4], usada en el esquema de compresión GZip, proporciona un API eficiente y útil para usar compresión estadística en hojas de documentos.
El API ZLib satisface los métodos genéricos previos, con el siguiente cartografiado:
-
initialize_stream() puede ser cartografiado con las funciones inflateInit() o deflateInit() de Zlib, con el parámetro de valor de eficiencia Z_DEFAULT_COMPRESSION.
-
reset_model() puede ser cartografiado con una llamada inflateEnd() o deflateEnd() de ZLib y una siguiente llamada initialize_stream().
-
feed_input_bytes() puede ser cartografiado con el método deflate() de ZLib con el parámetro Z_NO_FLUSH.
-
flush_output_bytes() puede ser cartografiado con el método deflate() de ZLib con el parámetro Z_SYNC_FLUSH.
El codec almacenado ZLib debería ser inicializado con el valor de eficiencia Z_DEFAULT_COMPRESSION, como se ha definido en [4], que proporciona un buen resultado entre los requisitos de huella de memoria y la eficiencia de compresión.
Integración con el mecanismo de contexto: el ZLibCodec
Esta sección describe la integración de un codificador estadístico con memoria tampón previamente definido, basándose en el API ZLib, dentro del mecanismo de contexto de codificación.
Restricción en tipos simples aplicables
De acuerdo con la definición de un codec en \NAK2.1, este codec es un codec contextual, que puede ser aplicado en cada tipo de cadena atómica y no atómica. EL ZLibCodec está basándose en la codificación primitiva subyacente de hojas de un documento, como se ha descrito en [1]. Por ejemplo, hojas int son codificadas con un entero sin signo de 32 bits, cadena con una codificación UTF-8, flotante y doble son codificados con el formato IEEE 754,... Por ello, el ZLibCodec comprimirá la hoja codificada.
Parámetros externos de codec
El codec ZLib con memoria tampón no necesita ningún parámetro externo, ya que la eficiencia del ZLib subyacente está ajustada a Z_DEFAULT_COMPRESSION y como el parámetro bufferSize no es necesario desde el lado del descodificador.
Definición de esquema del codec
El codec ZLib es un codec nuevo del tipo ZLibCodecType, basado en el tipo CodecType abstracto (véase \NAK2.1) y definido por el esquema ilustrado en el anexo 7, en el espacio de nombre de contexto de codificación.
Codificación (informativa)
En la activación/creación de caso del codec:
-
la estructura de memoria tampón FIFO se ha supuesto que está vacía, su fillinLevel es ajustado a 0
-
la variable global referencable_chunk es inicializada a cero.
El referencable_chunk debería contener un fragmento referenciable de bits, que debe ser contenido por el codificador, ya que su valor será conocido después durante el proceso de codificación. La función de señalización signal_reference_chunk_known() podría ser llamada cuando este fragmento es conocido.
El tamaño, en bytes, de cada fragmento no nulo debería ser escrito antes que el propio fragmento, durante la llamada flush_output_bytes(), con la codificación de entero infinito estándar sin signo 4+1, como se ha definido en [1].
Una hoja de entrada es el valor codificado de una hoja textual, con respecto a su tipo primitivo. La longitud de la hoja, en bytes, está dada por el campo leaf.length. Por ejemplo [1], una hoja de cadena es un código UTF-8, precedido por el tamaño en bytes de la cadena (codificado con la codificación de entero infinito [1]); una hoja doble es el valor de 64 bits del estándar IEEE 754 correspondiente...
La siguiente función encode_leaf es capaz de codificar una hoja en un fragmento de bytes de salida:
\vskip1.000000\baselineskip
7
8
Descodificación
Supóngase que string_file es una cadena FIFO.
Los siguientes métodos dar() y poner() tomar respectivamente un elemento fuera de resp. Poner un elemento desde resp en el FIFO.
El método es señales Empty() si el FIFO está vacío.
Supóngase que sub es la función que toma una subcadena.
Supóngase que concat sea la función de concatenación.
Supóngase que getData() es la función que devuelve el carácter que contiene los datos de gzip desde una hoja.
Supóngase que split(char), char sep, Fifo, char remainder) sea el método que divide una matriz de caracteres en cada separador "sep" y almacena los elementos de cadena separados en la FIFO y devuelve el resto (es decir el último fragmento que no tiene "sep" para terminarlo).
9
10
En inicialización, string_fifo está vacío.
En la activación/creación de caso del codec;
-
la estructura FIFO se ha supuesto que está vacía, su numberOfLeaves es ajustado a 0.
-
el first_chunk variable es ajustado a verdadero.
Supóngase que el byte separador es 0x00.
La siguiente función decode_leaf es capaz de descodificar una hoja comprimida desde la corriente de bits:
11
La descodificación está definida por:
1.
Si La FIFO está vacía:
a.
Descodificar los datos codificados
b.
Apilar en una FIFO todos los elementos separados por 0x00
c.
Si el último carácter no es 0x00 almacenar la cadena sin terminar temporalmente.
d.
Si "last_element" no está vacío, insertarlo al comienzo del primer elemento en FIFO.
e.
Ponga la cadena sin terminar de este redondeo en last_element.
f.
Retirar y devolver el primer elemento.
2.
Si el FIFO está vacío, entonces retire y devuelva el primer elemento, es equivalente a decir: "el FIFO no está vacío" y decir "no hay datos codificados en una hoja actual".
Ejemplo
(Informativo)
La descripción dada en el anexo 8 es un ejemplo del uso del codec ZlibCodecType, cartografiado con la cadena y los tipos anyURI.
Resultados (informativo)
Las siguientes cifras muestran los rendimientos de usar el ZlibCodec de modo que comprima las hojas de texto de descripciones (las derivadas de la cadena y los tipos primitivos anyURI XML Esquema). Una memoria tampón de bufferSize = 256 bytes fue usada durante el proceso de codificación.
Los archivos usados fueron proporcionados por el subgrupo MPEG-7 MDS.
\vskip1.000000\baselineskip
12
\vskip1.000000\baselineskip
Ahora describimos rápidamente las operaciones llevadas a cabo de acuerdo con el invento para comprimir el contenido de las hojas de un árbol jerárquico.
La operación 1 consiste en asociar una técnica de codificación por compresión a un tipo de contenido. Por ejemplo, la cuantificación lineal puede ser asociada a valores de coma flotante.
En la operación 2, un subárbol es identificado dentro del árbol jerárquico correspondiente a la estructura del documento XML considerado.
La operación 3 consiste en asignar una técnica de codificación por compresión al subárbol identificado.
La operación 4 consiste entonces en comprobar si el codec que pone en práctica la técnica de codificación por compresión está o no activada, si no, no se consigue compresión (5) de las hojas en el subárbol.
Si así sucede, el invento emplea (6) la compresión del contenido de las hojas del subárbol cuyo contenido es del tipo de contenido asociado (1) a la técnica de codificación por compresión.
\newpage
Anexo 1
\vskip1.000000\baselineskip
13
14
\newpage
Anexo 2
\vskip1.000000\baselineskip
15
16
17
Anexo 3
18
19
Anexo 4
20
21
\newpage
Anexo 5
\vskip1.000000\baselineskip
22
\vskip1.000000\baselineskip
Anexo 6
\vskip1.000000\baselineskip
23
24
\vskip1.000000\baselineskip
Anexo 7
\vskip1.000000\baselineskip
25
\newpage
Anexo 8
26
27
Anexo 9
Referencias
1- MPEG-7 Systems FCD, N4001, MPEG Reunión de Singapore. Marzo de 2001.
3- ISO/IEC 14496-1, MPEG-4 Systems, N3850.
4- La Zlib API, http://www.gzip.org/zlib/, RFC 1950, RFC 1951, RFC 1952 disponible en http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1950.html

Claims (18)

1. Un método para comprimir un árbol jerárquico que describe una señal multimedia, comprendiendo dicho árbol nodos y hojas, que pueden estar asociados a datos de al menos dos naturalezas distintas, llamados tipos de datos, en el que dicho método pone en práctica una compresión de datos para al menos algunas de dichas hojas, y en el que dicho método comprende: una operación de identificar (2) al menos un subárbol; una operación de asignar (3) una técnica de codificación por compresión asignada a dicho subárbol sólo para las hojas de dicho subárbol cuyos datos son del tipo asociado a dicha técnica de codificación por compresión, mientras las otras hojas de dicho subárbol no sufren ninguna codificación por compresión.
2. Un método según la reivindicación 1ª, que emplea una descripción paramétrica de dichas técnicas de codificación por compresión.
3. Un método según cualquiera de las reivindicaciones 1ª y 2ª, que comprende también una operación de comprimir la estructura de dicho árbol.
4. Un método según cualquiera de las reivindicaciones 1ª a 3ª, en el que dicho árbol es del tipo BiM (MPEG binario) de acuerdo con el estándar MPEG7.
5. Un método según la reivindicación 4ª, en el que dichos tipos de datos son tipos simples de acuerdo con el estándar MPEG7.
6. Un método según cualquiera de las reivindicaciones 1ª a 5ª, en el que una de dichas técnicas de codificación por compresión emplea la cuantificación lineal.
7. Un método según cualquiera de las reivindicaciones 1ª a 6ª, en el que en una de dichas técnicas de codificación por compresión emplea un algoritmo de compresión estadística.
8. Un método según la reivindicación 7ª, en el que dicho algoritmo es del tipo GZip.
9. Un método según cualquiera de las reivindicaciones 7ª y 8ª, en el que dicho algoritmo es empleado simultáneamente para un conjunto de datos correspondiente a los datos de al menos dos hojas.
10. Un método según cualquiera de las reivindicaciones 1ª a 9ª, en el que dicho árbol representa la estructura de un tipo de documento XML (lenguaje Markup extendido).
11. Un método según cualquiera de las reivindicaciones 1ª a 10ª, que comprende también una operación de asociar al menos un contexto de codificación a dicho subárbol, comprendiendo dicho contexto de codificación piezas de información que permiten omitir dicho subárbol mientras descodifica dicho árbol jerárquico.
12. Un método según la reivindicación 11ª, en el que dichas piezas de información comprende: una pieza de información que indica la técnica de codificación por compresión usada; y/o una pieza de información que indica si el subárbol correspondiente ha sido comprimido; y/o una pieza de información que indica si el subárbol correspondiente es omitible; y/o una pieza de información que indica que al menos, un parámetro de la técnica de codificación por compresión usada ha sido modificado.
13. Un método para descodificar una señal multimedia comprimida de acuerdo con el método de cualquiera de las reivindicaciones 1ª a 12ª.
14. Un método según la reivindicación 13ª, que pone en práctica una operación de refrescar un contexto de descodificación actual de acuerdo con la información de contexto de codificación transportada por dicha señal.
15. Un método según la reivindicación 14ª, en el que dicho contexto presente define al menos un tipo de datos, comprendiendo dicho método una operación de emplear una técnica de descodificación por compresión asociada a dicho tipo de datos para las hojas que comprenden datos de dicho tipo de datos.
16. Una señal representativa de un árbol jerárquico comprimido según el método de cualquiera de las reivindicaciones 1ª a 12ª, comprendiendo dicho árbol nodos y hojas, que pueden ser asociados a datos de al menos dos naturalezas distintas, llamados tipos de datos, comprendiendo también dicho árbol al menos un subárbol al que ha sido asignada una técnica de codificación por compresión para al menos un tipo de datos, en el que dicha señal comprende al menos un campo que contiene: las hojas de dicho subárbol cuyos datos son del tipo de datos asociados a dicha técnica de codificación por compresión y que han sufrido dicha codificación por compresión; las otras hojas de dicho subárbol cuyos datos no son del tipo de datos asociados a dicha técnica de codificación por compresión y que no han sufrido dicha codificación por compresión.
17. Una señal según la reivindicación 16ª, en el que dicha señal comprende también: al menos un campo que indica dicha técnica de codificación por compresión asignada a dicho o dichos subárboles para dicho al menos uno de dicho tipo de datos; al menos un campo que indica al menos dicho tipo de datos asociado a dicha técnica de codificación por compresión para dicho o dichos subárboles.
18. Una señal según la reivindicación 17, en la que dicha señal comprende también al menos un campo que indica al menos un parámetro de dicha técnica de codificación por compresión asignada a dicho subárbol para al menos uno de dichos tipos de datos.
ES01460047T 2001-07-13 2001-07-13 Metodo para comprimir un arbol jerarquico, señal correspondiente y metodo para descodificar una señal. Expired - Lifetime ES2272429T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP01460047A EP1276324B1 (en) 2001-07-13 2001-07-13 Method for compressing a hierarchical tree, corresponding signal and method for decoding a signal

Publications (1)

Publication Number Publication Date
ES2272429T3 true ES2272429T3 (es) 2007-05-01

Family

ID=8183367

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01460047T Expired - Lifetime ES2272429T3 (es) 2001-07-13 2001-07-13 Metodo para comprimir un arbol jerarquico, señal correspondiente y metodo para descodificar una señal.

Country Status (13)

Country Link
US (1) US20040267710A1 (es)
EP (1) EP1276324B1 (es)
JP (2) JP2004535034A (es)
KR (1) KR20040036897A (es)
CN (1) CN100493187C (es)
AT (1) ATE341901T1 (es)
AU (1) AU2002330359A1 (es)
BR (1) BRPI0211106B8 (es)
CA (1) CA2452639C (es)
DE (1) DE60123596T2 (es)
ES (1) ES2272429T3 (es)
MX (1) MXPA04000219A (es)
WO (1) WO2003007614A2 (es)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7126955B2 (en) 2003-01-29 2006-10-24 F5 Networks, Inc. Architecture for efficient utilization and optimum performance of a network
US8159940B1 (en) 2004-11-11 2012-04-17 F5 Networks, Inc. Obtaining high availability using TCP proxy devices
KR100660028B1 (ko) * 2005-02-23 2006-12-20 인천대학교 산학협력단 데이터베이스 개념 구조에 기반한 xml 트리의 색인 및질의 방법
US8111694B2 (en) 2005-03-23 2012-02-07 Nokia Corporation Implicit signaling for split-toi for service guide
CN101223699A (zh) * 2005-07-21 2008-07-16 易斯普维 压缩与解压缩结构化文档的方法和装置
US7783781B1 (en) 2005-08-05 2010-08-24 F5 Networks, Inc. Adaptive compression
US8275909B1 (en) 2005-12-07 2012-09-25 F5 Networks, Inc. Adaptive compression
US7882084B1 (en) 2005-12-30 2011-02-01 F5 Networks, Inc. Compression of data transmitted over a network
US8417833B1 (en) 2006-11-29 2013-04-09 F5 Networks, Inc. Metacodec for optimizing network data compression based on comparison of write and read rates
CN101584120B (zh) * 2007-01-19 2013-01-09 三菱电机株式会社 表装置、可变长度编码装置、可变长度解码装置
JP4360428B2 (ja) 2007-07-19 2009-11-11 ソニー株式会社 記録装置、記録方法、コンピュータプログラムおよび記録媒体
KR101323439B1 (ko) 2008-11-12 2013-10-29 보드 오브 트러스티스 오브 더 리랜드 스탠포드 주니어 유니버시티 특징 디스크립터를 표현하고 식별하는 방법, 장치 및 컴퓨터 판독가능 저장 매체
CN101741708B (zh) * 2008-11-13 2012-11-21 华为技术有限公司 一种存储数据的方法和装置
US8818024B2 (en) 2009-03-12 2014-08-26 Nokia Corporation Method, apparatus, and computer program product for object tracking
CN101557399A (zh) * 2009-05-20 2009-10-14 深圳市汇海科技开发有限公司 一种xmpp协议传输数据压缩与解压缩方法
US8687891B2 (en) 2009-11-19 2014-04-01 Stanford University Method and apparatus for tracking and recognition with rotation invariant feature descriptors
US9002859B1 (en) 2010-12-17 2015-04-07 Moonshadow Mobile, Inc. Systems and methods for high-speed searching and filtering of large datasets
WO2012097009A2 (en) 2011-01-10 2012-07-19 Ward Roy W Systems and methods for high-speed searching and filtering of large datasets
EP2557752B1 (de) 2011-08-11 2017-09-27 Siemens Aktiengesellschaft Verfahren und vorrichtung zum herstellen einer end-zu-end-kommunikation zwischen zwei netzwerken
US9171054B1 (en) 2012-01-04 2015-10-27 Moonshadow Mobile, Inc. Systems and methods for high-speed searching and filtering of large datasets
US8990204B1 (en) 2012-01-17 2015-03-24 Roy W. Ward Processing and storage of spatial data
US10521411B2 (en) 2016-08-10 2019-12-31 Moonshadow Mobile, Inc. Systems, methods, and data structures for high-speed searching or filtering of large datasets
CN107092656B (zh) * 2017-03-23 2019-12-03 中国科学院计算技术研究所 一种树状结构数据处理方法及系统
US11379420B2 (en) * 2019-03-08 2022-07-05 Nvidia Corporation Decompression techniques for processing compressed data suitable for artificial neural networks
CN113282776B (zh) * 2021-07-12 2021-10-01 北京蔚领时代科技有限公司 用于图形引擎资源文件压缩的数据处理系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995001677A1 (en) * 1993-06-30 1995-01-12 Codex, Inc. Method and apparatus for encoding and decoding compressed data in data communication
WO1997034240A1 (en) * 1996-03-15 1997-09-18 University Of Massachusetts Compact tree for storage and retrieval of structured hypermedia documents
EP0928070A3 (en) * 1997-12-29 2000-11-08 Phone.Com Inc. Compression of documents with markup language that preserves syntactical structure
JP2000067348A (ja) * 1998-08-24 2000-03-03 Matsushita Electric Ind Co Ltd 携帯電話機及び携帯電話機による緊急通報システム
JP4003854B2 (ja) * 1998-09-28 2007-11-07 富士通株式会社 データ圧縮装置及び復元装置並びにその方法
GB9911099D0 (en) * 1999-05-13 1999-07-14 Euronet Uk Ltd Compression/decompression method
FR2813743B1 (fr) * 2000-09-06 2003-01-03 Claude Seyrat Procede de compression/decompression de documents structures
EP1223759A1 (en) * 2001-01-08 2002-07-17 Robert Bosch Gmbh Method for providing an extension code for a binary description for multimedia data
FR2820563B1 (fr) * 2001-02-02 2003-05-16 Expway Procede de compression/decompression d'un document structure

Also Published As

Publication number Publication date
ATE341901T1 (de) 2006-10-15
CN1528091A (zh) 2004-09-08
MXPA04000219A (es) 2005-04-19
JP2004535034A (ja) 2004-11-18
BR0211106A (pt) 2004-06-22
EP1276324B1 (en) 2006-10-04
CA2452639C (en) 2012-10-23
JP4884438B2 (ja) 2012-02-29
DE60123596T2 (de) 2007-08-16
US20040267710A1 (en) 2004-12-30
CN100493187C (zh) 2009-05-27
CA2452639A1 (en) 2003-01-23
DE60123596D1 (de) 2006-11-16
JP2009043267A (ja) 2009-02-26
BRPI0211106B8 (pt) 2017-04-11
EP1276324A1 (en) 2003-01-15
WO2003007614A3 (en) 2003-10-16
KR20040036897A (ko) 2004-05-03
WO2003007614A2 (en) 2003-01-23
BRPI0211106B1 (pt) 2016-10-18
AU2002330359A1 (en) 2003-01-29

Similar Documents

Publication Publication Date Title
ES2272429T3 (es) Metodo para comprimir un arbol jerarquico, señal correspondiente y metodo para descodificar una señal.
US7616138B2 (en) Data compression using a stream selector with edit-in-place capability for compressed data
Sadakane et al. Squeezing succinct data structures into entropy bounds
US20070143664A1 (en) A compressed schema representation object and method for metadata processing
US7870483B2 (en) Encoding and distribution of schema for multimedia content descriptions
JP2007226813A (ja) 構造化された文書を圧縮/伸長する方法
EP1388211A2 (en) Method and system for compressing structured documents
US20030218554A1 (en) Method and system for compressing and decompressing multiple independent blocks
KR100855192B1 (ko) 멀티미디어 데이터를 위한 2진 기술에 대한 확장 코드를제공하는 방법
US6225922B1 (en) System and method for compressing data using adaptive field encoding
KR101109201B1 (ko) 멀티미디어 환경에서의 오디오 비쥬얼 데이터 콘텐츠의기술 방법
US7797346B2 (en) Method for improving the functionality of the binary representation of MPEG-7 and other XML based content descriptions
US7571152B2 (en) Method for compressing and decompressing structured documents
Lin A hardware architecture for the LZW compression and decompression algorithms based on parallel dictionaries
Fang et al. Automatic generation of entropy coding programs using flavor
JP2009543243A (ja) 構造化文書の圧縮のための方法と装置
Leighton et al. A grammar-based approach for compressing XML
JP2004524723A (ja) バイナリマルチメディア記述のためのビットストリームの構造生成方法および該ビットストリームの構文解析方法