BRPI0211106B1 - método para comprimir uma árvore hierárquica que descreve um sinal multimídia, método para decodificar um sinal multimídia comprimido e sinal gerado pelo referido método para comprimir - Google Patents

método para comprimir uma árvore hierárquica que descreve um sinal multimídia, método para decodificar um sinal multimídia comprimido e sinal gerado pelo referido método para comprimir Download PDF

Info

Publication number
BRPI0211106B1
BRPI0211106B1 BRPI0211106A BR0211106A BRPI0211106B1 BR PI0211106 B1 BRPI0211106 B1 BR PI0211106B1 BR PI0211106 A BRPI0211106 A BR PI0211106A BR 0211106 A BR0211106 A BR 0211106A BR PI0211106 B1 BRPI0211106 B1 BR PI0211106B1
Authority
BR
Brazil
Prior art keywords
context
subtree
compression
data
codec
Prior art date
Application number
BRPI0211106A
Other languages
English (en)
Other versions
BR0211106A (pt
BRPI0211106B8 (pt
Inventor
Cotarmanac H Alexandre
Claude Seyrat
Cyril Concolato
Cédric Thienot
Grégoire Pau
Original Assignee
Expway
France Telecom
Groupe Ecoles Telecomm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Expway, France Telecom, Groupe Ecoles Telecomm filed Critical Expway
Publication of BR0211106A publication Critical patent/BR0211106A/pt
Publication of BRPI0211106B1 publication Critical patent/BRPI0211106B1/pt
Publication of BRPI0211106B8 publication Critical patent/BRPI0211106B8/pt

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

"método para comprimir uma árvore hierárquica, sinal correspondente e método para decodificar um sinal". a invenção diz respeito a um método para comprimir uma árvore hierárquica que descreve um sinal multimídia, a dita árvore compreendendo nós e folhas, que podem ser associados com os conteúdos de pelo menos dois tipos distintos. de acordo com a invenção, o dito método implementa uma compressão de conteúdo para pelo algumas das ditas folhas por meio de pelo menos duas técnicas de codificação de compressão, cada uma das ditas técnicas sendo associada seletivamente a pelo menos um dos ditos tipos de conteúdo.

Description

"MÉTODO PARA COMPRIMIR UMA ÁRVORE HIERÁRQUICA QUE DESCREVE UM SINAL MULTIMÍDIA, MÉTODO PARA DECODIFICAR UM SINAL MULTIMÍDIA COMPRIMIDO e SINAL GERADO PELO REFERIDO MÉTODO PARA COMPRIMIR" O campo da invenção é o da compressão de dados. Mais particularmente, a invenção diz respeito a compressão de documento baseado em XML ("Linguagem de Marcação Estendida"). A invenção tem aplicações, em particular, mas não apenas, nos seguintes campos: aplicações de multimídia; ferramentas de indexação; ferramentas de manipulação de metadados; especificação MPEG-7; SMIL; TV a gualguer momento; a terceira geração de radiocomunicações (3GPP). Técnicas de compressão da tecnologia anterior para XML têm diversos inconvenientes. Em particular, elas não suportam ao mesmo tempo acesso rápido aos dados, altas taxas de compressão e construção progressiva do documento. Em outras palavras, na maior parte do tempo, quando uma das características supramencionadas é suportada, todas as outras características falham.
Uma das técnicas de compressão da tecnologia anterior é conhecida como BiM (MPEG Binário). Uma técnica como essa fornece um método para comprimir um documento XML bina-rizando a estrutura do documento, isso quer dizer, os nós de uma estrutura de árvore associados como o documento XML. Conseqüentemente, a taxa de compressão alcançada pela imple- mentação da técnica BiM é muito baixa, embora a técnica BiM permita um acesso rápido aos dados, construção progressiva do documento e capacidade de salto. É um objetivo da invenção compensar esses inconvenientes das técnicas anteriores.
Mais precisamente, a invenção visa fornecer uma técnica de compressão eficiente para documentos baseados em XML. A invenção também visa fornecer uma técnica de compressão para XML que forneça capacidade de salto, altas taxas de compressão e construção progressiva do documento. A invenção também visa comprimir eficientemente descritores MPEG-7.
Um outro objetivo da invenção é implementar um método para comprimir um documento XML que melhore bastante a taxa de compressão fornecida por uma técnica do tipo BiM, mas que forneça as mesmas funcionalidades fornecidas pela BiM.
Os objetivos supramencionados da invenção, bem como outros objetivos da invenção que surgirão posteriormente, são alcançados, de acordo com a invenção, por meio de um método para comprimir uma árvore hierárquica que descreve um sinal multimídia, a dita árvore compreendendo nós e folhas, que podem ser associados com dados de pelo menos duas naturezas distintas, chamadas de tipos de dados, em que o dito método implementa uma compressão de dados pelo menos para algumas das ditas folhas por meio de pelo menos duas técnicas de codificação de compressão, cada uma das técnicas sendo seletivamente associada a pelo menos um dos ditos tipos de dados.
De acordo com uma modalidade preferida da invenção, um método como esse compreende uma etapa de identificar pelo menos uma subárvores e uma etapa de alocar uma das ditas técnicas de codificação de compressão à dita subárvore.
Vantajosamente, um método como esse compreende uma etapa de implementar a dita técnica de codificação de compressão alocada à dita subárvore somente para as folhas da dita subárvore cujo conteúdo seja do tipo associado com a dita técnica de codificação de compressão, e as outras folhas da dita subárvore não são submetidas a nenhuma codificação de compressão.
De acordo com uma característica vantajosa da invenção, um método como esse implementa uma descrição paramé-trica das ditas técnicas de codificação de compressão.
Preferivelmente, um método como esse também compreende uma etapa de comprimir a estrutura da dita árvore.
Vantajosamente, a dita árvore é do tipo BiM (MPEG Binário) de acordo com o padrão MPEG7.
Preferivelmente, uma das ditas técnicas codificação de compressão implementa quantização linear.
Vantajosamente, uma das ditas técnicas de codificação de compressão implementa um algoritmo de compressão estatística.
Preferivelmente, o dito algoritmo é do tipo GZip.
Vantajosamente, o dito algoritmo é implementado simultaneamente para um conjunto de dados correspondente ao conteúdo de pelo menos duas folhas.
Preferivelmente, a dita árvore representa a estrutura de um documento do tipo XML (Linguagem de Marcação Estendida) . A invenção também diz respeito a um método para decodificar um sinal multimídia comprimido de acordo com o método supramencionado para comprimir uma árvore hierárquica.
Vantajosamente, um método como esse implementa uma etapa de refrescar um contexto de decodificação atual de acordo com informação do contexto de codificação levado pelo dito sinal.
Preferivelmente, o dito contexto atual define pelo menos um tipo de conteúdo, o dito método compreendendo uma etapa de implementação de uma técnica de decodificação de compressão associada com o dito tipo de conteúdo para as folhas que têm um conteúdo do dito tipo de conteúdo. A invenção também diz respeito a um sinal gerado pelo método supramencionado para comprimir uma árvore hierárquica .
Outras características e recursos da invenção ficarão mais claros sob a luz da descrição seguinte, dada como mero exemplo ilustrativo, mas não restritivo, e das figuras seguintes: A Figura 1 ilustra o conceito de contexto de codificação ; A Figura 2 descreve a estrutura de um elemento codificado de acordo com a técnica BiM; A Figura 3 ilustra algumas etapas implementadas de acordo com a invenção para comprimir o conteúdo das folhas de uma árvore hierárquica.
Antes de descrever com detalhes como implementar a invenção, primeiro recordaremos as principais características da técnica de compressão da tecnologia anterior, conhecida como técnica BiM.
Para facilitar o entendimento do documento, algumas referência estão reunidas no anexo 9 e referidas por todo o documento.
Todos os anexos fornecidos com o presente documento são parte da presente descrição da invenção. 1. Tecnologia Anterior Introdução Um contexto de codificação, ilustrado na figura 1, é um conjunto de informação de decodificação necessário enquanto se decodifica o fluxo de bits. Um contexto de codificação é aplicável a toda a subárvore do nó onde ele está definido. Em cada um dos nós da árvore, o contexto de codificação pode ser modificado, levando à criação de um novo contexto de codificação, aplicável a subárvore correspondente.
Um contexto pode levar diversas informações gue edita características aplicáveis a subárvore em guestão. Atualmente, no formato de codificação de subárvore BiM [1], essas características são capacidade de salto de uma subár-vore/contexto e codificação de múltiplos esguemas de uma su-bárvore/contexto (a fim de fornecer a característica de compatibilidade para trás e para frente) . Finalmente, o mecanismo de contexto pode ser descapacitado em cada subárvore a fim de economizar largura de banda; este é o modo congelado de contexto. 0 mecanismo de contexto de codificação fornece flexibilidade máxima em cada subárvore de uma árvore de documento e permite que características extensíveis sejam plu-gadas no mecanismo de codificação BiM.
Apresentamos agora o mecanismo de contexto atual usado em BiM.
Mecanismo de Contexto de Codificação Atual Definições CodingContext Um codingContext é um conjunto de informações, a informação contextual, necessário pelo decodificador para decodificar um fluxo de bits. Um codingContext é aplicável ao nó onde ele foi definido, e toda a subárvore correspondente a este nó. 0 codingContext atual (isto é, o contexto aplicável a um nó especifico de uma descrição) pode ser modificado dentro do documento (quer dizer, uma modificação de seu conjunto subjacente de informação). Cada modificação de um codingContext leva à criação de um novo codingContext, que levará o conjunto modificado de informação. É de se esperar que todos os codingContexts sejam empilhados, a fim de trazê-los de volta, quando o decodificador tiver terminado a decodificação de um contexto da subárvore correspondente.
Decodificador 0 BiM decoder é composto de três decodificadores: o decofificador de contexto: este decodificador é dedicado a decodificar a informação contextual. Conforme estabelecido anteriormente, a informação contextual não é parte da descrição. Este é um conjunto de informação que leva algumas características externas, compatibilidade à trás e à frente, salto rápido. o decodificador de elemento: este decodificador, o BiM regular um [1] é dedicado a decodificar a informação de elemento.
Partes do arquivo Cada elemento de uma descrição é codificado como o 3-pleto ilustrado na figura 2, onde à parte do cabeçalho é constituída de dois partes do arquivo, cujos tamanhos podem ser nulos: MC é à parte do arquivo de metacontexto; C é a parte do arquivo de contexto;
Elemento é à parte do arquivo de elemento, que é a parte do arquivo de codificação do elemento regular, ver [1] . À parte do arquivo de metacontexto MC contém a informação necessária pelo decodificador para decodificar a parte do arquivo C seguinte. Isso quer dizer que a parte do arquivo MC é a parte do arquivo de contexto da parte do arquivo de contexto C. À parte do arquivo de contexto C contém a informação capaz de alterar o conjunto de informações do contexto de codificação atual, e necessário pelo decodificador para decodificar a parte do arquivo do elemento seguinte. Isso quer dizer que à parte do arquivo C é a parte do arquivo de contexto da parte do arquivo de elemento.
Conjunto de Informação 0 contexto de codificação BiM atual leva um conjunto de informação, a informação contextual, que pode ser dividido em duas classe principais seguintes: a seção de metacontexto: se a informação estiver contida nesta seção, afeta somente o processo de decodifica-çao de contexto,- a seção de contexto: se a informação estiver contida nesta seção, afeta somente o processo de decodificação do elemento. 0 conjunto de informação atual é o conjunto de variáveis seguinte:____________________________________________ As classes definidas estão codificando exatamente as partes do arquivo supradescritos (a parte do arquivo de metacontexto MC e a parte do arquivo de contexto C).
Parte do arquivo de Metacontexto Definição À parte do arquivo de metacontexto MC, cujo tamanho pode ser nulo, contém informação para saber se o decodificador tem que ler a parte do arquivo de contexto C seguinte, descrito na seção seguinte.
Variáveis Envolvidas Valores Padrões 0 valor padrão do freezlng_state é falso; isso quer dizer, pelo valor padrão, que a subárvore raiz/contexto pode ser alterado dinamicamente.
Regras de Propagação Na criação de um novo contexto: o valor de freèzing_state é estabelecido como o valor freezing_state de seu contexto pai.
Regras de Modificação Dinâmica Em cada nó de uma descrição e a fim de criar um novo contexto: o valor freezing_state pode ser comutado do valor falso para o valor verdadeiro.
Regras de Decodificaçào Se o valor £reezing_state for verdadeiro, a parte do arquivo de metacontexto MC (e a parte do arquivo de contexto C que chega) não é codificado no fluxo de bits. De outra forma, a parte da parte do arquivo de metacontexto do cabecalho é codificada como se seoue: 0 context_chunk é uma variável local, inicializada em falso.
Conforme estabelecido na seção anterior, a modificação das variáveis do contexto atual implica na criação de um novo contexto.
Influência do processo de decodificação de contexto Se o valor context_chunk for verdadeiro, o decodi-ficador tem. que ler a parte do arquivo de contexto C seguinte.
Parte do arquivo de Contexto Definição h parte do arquivo de contexto C, cujo tamanho pode ser nulo, contém um conjunto de informação capaz de mudar dinamicamente as variáveis do contexto atual. Essas variáveis são denominadas codingProperties, em virtude de elas afetarem no processo de decodificação do elemento BiM.
CodinaProoerties envolvidas Valores Padrões A variável allows_skip é inicializada no começo do fluxo de bits pelos primeiros dois bits do campo de bits de 4 bits especial, definido no documento FCD Systems [1]. A variável allows_part ial_instant iat ion é inicia-lizada no inicio do fluxo de bit pelos terceiros dois bits do campo de bits de 4 bits especial. A variável allows_subtyping é inicializada no inicio do fluxo de bits pelos quartos dois bits do campo de 4 bits especial. 0 valor padrão do schema_mode é mono: isso quer dizer, pelo valor padrão, a subárvore raiz/contexto é codificado com um esquema.
Regras de Propagação Na criação de um novo contexto: o valor allows_skip é estabelecido no valor al-lows_skip de seu contexto pai; o valor allows_partial_instantiation é estabelecido no valor de seu contexto pai; o valor allows_subtyping é estabelecido no valor de seu contexto pai; o valor schema_mode é estabelecido no seu valor padrão.
Regras de Modificação Dinâmica Em cada nó de uma descrição e a fim de criar um novo contexto: allows_skip pode ser modificado dinamicamente; allows_partial_instantiation não pode ser modificado dinamicamente; allows_subtyping não pode ser modificado dinamicamente ; schema_mode pode ser modificado dinamicamente.
Regras de Decodificação À parte do arquivo de Contexto C está presente somente se à parte do arquivo de metacontexto MC já estiver presente e se seu context_chunk variável local prévio for verdadeiro. A modificação dinâmica do contexto atual está descrita com um elemento XML que é codificado com o esquema de codificação regular BiM. 0 modifyContext de elemento global do esquema BiM é usado. 0 esquema de codificação http://mpeg7.org/2001/BiMCoding está descrito no anexo 1. À parte do arquivo de contexto C tem que ser decodificada com o esquema regular BiM, com o esquema referido.
Conforme supraestabelecido, a modificação do co-dingProperties atual no contexto implica na criação de um novo contexto. Portanto, a presença da parte do arquivo de contexto C implica na criação de um novo contexto, que levará o codingProperties modificado.
Se o elemento allowsSkip for instanciado dentro do elemento modifyContext, então o valor de allows_skip será atualizado no novo contexto.
Se o elemento schema_mode for instanciado dentro do elemento modifyContext, então o valor de schema_mode será atualizado no novo contexto.
Influência no processo de decodificação de elemento Os valores allows_skip e schema_mode afetam o processo de decodificação de elemento, quando se trata com a característica de salto. Este comportamento está descrito em [1] · 0 valor schema_mode afeta o processo de decodifi-cação de elemento, a fim de saber se o elemento está codificado com apenas um esquema ou diversos deles. Este mecanismo está descrito em [1]. 0 valor allows_partial_instantiation afeta o processo de decodificação de elemento, adicionando um tipo par-tiallylnstantiated do tipo especial a possíveis subtipos do elemento. Ver [1]. 0 valor allows_subtyping afeta o processo de deco- dificação de elemento e permite que um elemento ou um atributo tenha diferentes tipos possíveis, no caso de polimor-fismo de elemento (com o atributo xsi:type) ou união. Ver [1] . 2. Descrição da Invenção 2.1 Extensão do mecanismo de contexto para fornecer uma estrutura para compressão de folha A invenção propõe estender o mecanismo de contexto BiM atual a fim de suportar uma nova e interessante característica: o uso de compressores locais para comprimir folhas de um documento, a fim de reduzir o tamanho do fluxo de bits resultante.
Esta seção descreve como estender o mecanismo de contexto BiM atual para suportar o uso de compressores locais. Isto é tipicamente um novo conjunto de variáveis, co-dingProperties, ligado com regras de semântica, propagação e codificação específicas. Portanto, este novo conjunto de co-dingProperties estenderá a parte do arquivo de contexto atual.
Introdução E uma subárvore, todas as instâncias de um ou vários tipos simples especificados podem ser comprimidos com um ou vários compressores especificados. Isto basicamente define um mapeamento entre um compressor e um ou diversos tipos simples.
Além do mais: em alguns casos, um compressor precisa de alguns parâmetros externos; um mapeamento pode ser ativado/desativado, a fim de usar um compressor em algumas subárvores, mas não nas outras.
Finalmente, a fim de ser ativado/desativado, um mapeamento dever ser referenciável e, portanto, deve ter um identificador exclusivo em um contexto.
Portanto, cada contexto pode levar zero, um ou diversos codecTypeMapper; onde um codecTypeMapper é um 4-pleto, que consiste de um identificador, um ou diversos tipos simples, um codec, parâmetros codec externo opcionais e um estado de ativação.
Definições CodecTypeMapper Um codecTypeMapper é um 4-pleto que consiste de: um identificador usado como uma chave de referência exclusiva em uma subárvore/contexto; um ou diversos tipos simples para os quais o mapeamento é aplicável; um codec; parâmetros codec externos opcionais (depende do codec); um estado de ativação.
Identificador 0 identificador é um número exclusivo que identifica um mapeamento dentro de um contexto de uma maneira não ambiqua. 0 esquema de codificação BiM restrinqe o número máximo de codecTypeMappers em um contexto a 32.
Tipo simples Todos os tipos simples definidos em um esquema podería ser a priori codificados por cada codec mas cada codec pode restrinqir esta escolha. Por exemplo, um quantizador linear, tal como anteriormente definido neste documento, pode ser usado somente com tipos simples numéricos.
Um tipo simples é identificado pelo seu nome, e pelo URL do esquema a que ele pertence. Os prefixos XML Schema devem ser usados a fim de apontar para o esquema correto. 0 esquema de codificação BiM define um tipo especial para codificar este par; este tipo deve ser codificado como par de inteiros; o primeiro inteiro está restrito ao número atual de esquemas conhecidos (esta peça de informação pode ser buscado na parte DecoderConfig ['] e o segundo inteiro é restrito ao número de tipos simples globais presentes no esquema correspondente.
Codec Um codec, que apoia compressor/descompressor, é um módulo que leva bits de entrada e grava bits de saida. Ele pode necessitar alguns parâmetros externos opcionais.
Um codec é identificado por um nome, entre os nomes de codecs não-abstratos definidos no esquema de codificação BiM. 0 esquema de codificação BiM atual, definido em uma seção anterior, não define nenhum codec não-abstrato, mas §2.2 do presente documento o faz.
Estado de ativação 0 estado de ativação é uma bandeira booleana.
Regras esquemáticas CodecTypeMapper Cada contexto: pode levar zero, um ou diversos codecTypeMappers; pode definir um ou diversos codecTypeMappers; pode ativar ou desativar um ou diversos codecTypeMappers existentes.
Se um CodecTypeMapper for definido em um contexto, ele permanece em todos seus subcontextos.
Um codecTypeMapper existente, dentro de um contexto, não pode ser deletado nem modificado (exceto seu estado de ativação).
Identificador 0 identificador de um mapeamento deve ser exclusivo entre todos os codecTypeMappers de um contexto.
Tipo simples Quando se associa em um codecTypeMapper um ou vários tipos simples e um codec, o codec codifica-rá/decodificará os próprios tipos simples e todos os tipos simples que derivaram deles.
Em um contexto, deve existir no máximo um tipo simples que pode ser aplicável com um codec.
Codec Existem dois tipos de codec: codecs sem memória e codecs contextuais.
Um codec sem memória é um módulo que codifica sempre os mesmos bytes de entrada nos mesmos bytes de saída; independentemente da história do codec. Um codec sem memória tipico é um quantificador linear. A compressão de folha BiM (ver §2.2 do presente documento) descreve um codec como esse.
Um codec contextual é um módulo que usa os bytes anteriores alimentados nele (mudando assim o contexto do codec) . Um codec como esse não qera os mesmos bytes de saída para os mesmo bytes de entrada que ele recebe. Um codec tipicamente contextual é um codec local tipo Zip, um está descrito em §2.2 do presente documento.
Um codec sem memória não induz nenhum problema na arquitetura de contexto atual, ma um codec contextual induz, no caso de subárvore saltável. Em tais casos, um codec contextual é reinicializado, a fim de não confundir o decodifi- cador, quando este primeiro tiver saltado a subárvore.
Estado de ativação Em cada subárvore/contexto, um codecTypeMapper pode ser ativado ou desativado.
Este mecanismo permite definir um codecTypeMapper em um nível mais alto da árvore de documento, e ativá-lo somente nas subárvores em que ele é usado, sem redefinir o codecTypeMapper .
Um novo codingProperty t codecTypeMapper Nesta parte, adicionamos um novo codingProperty ao conjunto anterior de variáveis da seção de contexto supra-descrita, Este novo codingProperty é denominado codecTypeMapper e é uma lista dos codecTypeMapper anteriores descritos na seção anterior, Novo codingProperty envolvido 0 contexto leva uma lista de codecTypeMapper: Novos valores padrões Pelo valor padrão, não existe nenhum codecTypeMap-per em uma subárvore/contexto.
Se um codecTypeMapper for definido dentro de um contexto, seu identificador, codec e valor simple_type devem ser definidos. Se não especificados, o estado de ativação de um codecTypeMapper recém-definido é estabelecido em verdadeiro por valor padrão; isso quer dizer que um codecTypeMapper recém-definido é ativado pelo valor padrão.
Novas regras de propagação Regra 1: Na criação de um novo contexto, a lista codecTypeMapper é a cópia de seu contexto pai: o valor do identificador é copiado; o valor simple_type é copiado; o valor codec é copiado de acordo com a regra 2; os valores codec_parameters são copiados; o activation_state é copiado.
Regra 2: 0 valor codec é copiado e se: o codingProperty. codec do codec pai é um codec contextual, e; se o contexto atual for saltável, então, espera-se que o decodificador crie uma nova instância do codec, copiando a instância do codec pai (não apenas seu valor) e reconfigurando-o.
Por exemplo, um codec ZLib seria copiado e reini-cializado quando entrar em um nó saltável.
Novas regras de modificação dinâmica A lista de codecTypeMapper pode ser modificada dinamicamente, dentro da descrição; um novo codecTypeMapper pode ser definido; o activation_state de um codecTypeMapper existente (então referenciável) pode ser modificado dinamicamente.
Um codecTypeMapper existente não pode ser deleta-do, e seus componentes não podem ser modificados dinamicamente (exceto seu activation_state).
Novas regras de decodificação As mesmas regras anteriores aplicam-se à decodifi-cação de parte do arquivo de contexto C, mas o novo esquema, descrito no anexo 2, deve ser usado, a fim de adicionar as novas funcionalidades de modificação dinâmica de codecTypeMapper .
Parte informativa Exemplos 0 exemplo, ilustrado no anexo 3, apresenta a definição de um quantificador linear ativado (ver §2.2 do presente documento) em uma descrição. 0 exemplo, ilustrado no anexo 4, apresenta a defini- ção de um quantificador linear desativado em uma descrição.
2.2 Compressão de folha BiM É apresentado agora o mecanismo implementado pela invenção para codificar dados com diferentes codec. Mais precisamente, estão ilustrados agora dois exemplos, um, onde um codec de guantização linear é usado para comprimir, por exemplo, valores de ponto flutuante, e o outro, onde um codec gzip é usado para comprimir, por exemplo, valores de cadeia.
Um mecanismo como esse está estritamente relacionado com o contexto de codificação e permite o uso de diversos outros tipos de codec. Além disso, ele permite lidar devidamente com características de contexto de codificação, por exemplo, subárvores saltáveis. Finalmente, ele permite a reutilização de codec em diferentes contextos de codificação.
Introdução A codificação de subárvore BiM [1] não comprime as folhas de dados de uma descrição. Atualmente, valores de folha são codificados com relação aos seus tipos (IEEE 754 flutuantes e duplos, cadeias UTF...).
Em muitos casos, podería ser útil usar algumas técnicas de compressão clássica como guantização linear ou compressão estatística para melhorar a taxa de compressão de BiM sem perder suas características principais (análise encadeada, característica de salto rápido, decodificação teclada) .
Este documento mostra como a compressão de folhas de dados de um documento pode ser feita dentro do mecanismo de codificação de contexto descrito em §2.1, a fim de conseguir melhores taxas de compressão. 2.2.1 Quantização linear Definição Quantização linear é uma maneira usual e sem perda para reduzir o tamanho de números codificados no fluxo de bits, quando a fonte da informação é conhecida e portanto quando as perdas são controladas.
Como um exemplo, o envelope de um sinal de áudio amostrado é geralmente conhecido com uma quantização de tamanho de bits precisa, e esta técnica podería ser frutifera-mente usada para codificação de descrições de áudio MPEG-7.
Se v for um número real, ele pode ser codificado com vq com os bits nbits, onde: onde: vq é o valor quantizado codificado de v; nbits é a precisão exigida em bits;
Vmin é o valor mínimo inclusive que v pode alcançar;
Vmax é o valor máximo inclusive que v pode alcançar. E o valor decodificado de v é v, com: onde: v é o valor decodificado aproximado de v.
Integração com o mecanismo de contexto: o Linear-QuantizerCodec Quantização linear pode ser usada como um codec, na forma definida no mecanismo de contexto de codificação descrito em §2.1 do presente documento. Com este mecanismo, a quantização linear pode ser aplicada a folhas de dados nu- méricos, de um tipo simples desejado em qualquer subárvore de uma descrição.
Usado desta maneira, o mecanismo de contexto de codificação, associado com o codec de quantização linear, está aqindo como o nó QuantizationParameter, usado em MPEG-4 BIFS [3].
Restrição a tipos simples aplicáveis De acordo com a definição de um codec em §2.1 do presente documento, este codec é um codec sem memória, que pode ser aplicado em cada um dos tipos numéricos simples atômico e não-atômico; cujo tipo primitivo de Esquema XML é float, double ou decimal.
Parâmetros externos de codec 0 codec do quantizador linear precisa dos três parâmetros mandatórios sequintes: bitSize: a variável nbits supradescrita; minlnclusive: a variável vmin supradescrita; maxlnclusive: a variável Vmax supradescrita.
Definição de esquema do codec 0 codec de quantização linear é um novo codec do tipo LinearQuantizerCodecType, baseado no tipo CodecType abstrato (ver §2.1) e definido pelo esquema dado no anexo 5, no URL de espaço de nome de contexto de codificação xmlns:cc=http://www.mpeq7.orq/2001/BiMCodinq.
Codificação (informativo) Uma folha de dados numéricos de valor v é codificada com o inteiro não associado vq nos bits nbits, onde: Decodificação 0 inteiro não associado vg, codificado em bits nbits, deve ser decodificado como v, onde: Exemplo (informativo) 0 exemplo ilustrado no anexo 6 apresenta a definição de um quantizador linear em uma descrição. 2.2.2 Compressão estatística Algoritmos de compressão sem perda estatísticos clássicos podem ser usados como codec, na forma definida no mecanismo de contexto de codificação (ver § 2.1). Com este mecanismo, folhas de dados, de um tipo simples desejado, podem ser comprimidas eficientemente em qualquer subárvore de uma descrição.
Este codec é útil para reduzir significativamente o tamanho do fluxo de bits, especialmente quando a descrição contiver muitas cadeias repetitivas ou similares.
Definição Algoritmos de compressão estatística sem perda clássicos (tipo Zip ou GZip) podem ser usados em BiM para comprimir qualquer folha de uma descrição.
Mas, na maioria dos casos, quando folhas de dados são cadeias curtas que contêm menos de 10 caracteres, isto leva a baixos desempenhos, em virtude de os algoritmos de compressão estatística usuais exigirem um maior armazenamento provisório de busca antecipada de instruções. A fim de conseguir taxa de compressão ideal, as folhas de um documento têm que ser armazenadas provisoriamente em um armazenamento provisório pequeno antes de ser comprimidas. A seção seguinte define um codificador estatístico armazenado temporariamente como esse, que baseia-se em um algoritmo de compressão estatística sem perda subjacente.
Definições de um codificador estatístico armazenado temporariamente Um codificador estatístico armazenado temporariamente baseia-se em um codificador estatístico subjacente que deve conter os métodos primitivos seguintes genéricos: initialize_stream(): que inicializa um fluxo de compressão ou de descompressão; reset_mode(): que reinicializa o modelo estatístico atual do codificador; feed_imput_bytes(): que pega os bytes descomprimidos de entrada e coloca-os na cadeia de compressão; flush_output_bytees(): que esvazia a cadeia de compressão, comprimindo os bytes de entrada já processados e eliminando os bytes de saída comprimidos correspondentes; decompress_imput_bytes(): que toma uma quantidade especificada de bytes comprimidos de entrada e decodifica-os emitindo os bytes de saída descomprimidos correspondentes.
Um codec armazenado temporariamente tem uma estrutura FIFO de armazenamento temporário de byte de comprimento de bytes bufferSize.
Pelo lado do codificador, o valor bufferSize indica quantos bytes de entrada o codificador pode processar antes do esvaziamento. Pelo lado do decodif icador, este é o tamanho de armazenamento temporário mínimo necessário para decodificar o fluxo de bits através da API do codificador estatístico subjacente. 0 armazenamento temporário também tem uma variável fillingLevel, que contém o nivel de enchimento real, em bytes, do armazenamento temporário.
Uso da API ZLib como um codificador estatístico A API da biblioteca pública ZLib [4], usada no esquema de compressão GZip, fornece uma API eficiente e útil para usar compressão estatística em folhas de documento. A API ZLib atende os métodos genéricos anteriores, com o seguinte mapeamento: initialize_stream () pode ser mapeado com as funções inflatelnit() ou deflatelinit() de ZLib, com o parâmetro do valor de eficiência Z_DEFAULT_COMPRESSION. reset_model() pode ser mapeado com uma chamada in-flateEnd() ou deflateEnd() de ZLib e uma chamada initiali-ze_stream() seguinte. feed_input_bytes() pode ser mapeado com o método def iate () de ZLib com o parâmetro Z_NO_FLUSH. flush_output_bytes() pode ser mapeado com o método deflate () de ZLib com o parâmetro Z_SYNC_FLUSH. decompress_input_bytes() pode ser mapeado com o método inf iate () de ZLib. 0 codec armazenado temporariamente ZLib deve ser inicializado com o valor de eficiência Z_DEFAULT_COMPRESSION, definido em [4], que fornece um bom balanço entre as exigências de base de memória e eficiência de compressão.
Integração com o mecanismo de contexto: o ZLibCodec Esta seção descreve a integração do codificador estatístico armazenado temporariamente previamente que ba- seia-se na API ZLib dentro do mecanismo de contexto de codificação .
Restrição sobre tipos simples aplicáveis De acordo com a definição de um codec em §2.1, este codec é um codec contextual, que pode ser aplicado em cada um dos tipos de cadeia atômica e não-atômica. 0 ZLibCodec está baseando na codificação primitiva subjacente de folhas de um documento, descrito em [1] . Por exemplo, folhas int são codificadas com um número interior de 32 bits, string com uma codificação UTF-8, float e double são codificados como o formato IEEE 754, ... Portanto, o ZLibCodec comprimirá a fo- lha codificada.
Parâmetros externos do codec 0 codec ZLib armazenado temporariamente não precisa de nenhum parâmetro externo, já que a eficiência do ZLib subjacente é estabelecido em Z_DEFAULT_COMPRESSION e já que o parâmetro bufferSize não é necessário por parte do decodi-ficador.
Definição do esquema do codec 0 codec ZLib é um novo codec do tipo ZLibCode-cType, baseado no tipo CodecType abstrato (ver §2.1) e definido pelo esquema ilustrado no anexo 7, no espaço de nome do contexto de codificação.
Codificação (informativo) Na ativação/instanciação do codec: supõe-se que a estrutura de armazenamento temporário FIFO seja clara, seu fillingLevel é estabelecido em 0; o referencable_chunck variável global é iniciali-zado em nuii · 0 referencable_chunck deve conter uma parte do arquivo referenciável de bits, que deve ser contido pelo codificador, porque seu valor será conhecido posteriormente durante o processo de codificação. A função de sinalização signal_refernce_chunk_konwn() deve ser chamada quando este parte do arquivo for conhecido. 0 tamanho, em bytes, de cada um dos parte do arquivo não-nulo deve ser gravado antes da parte do arquivo propriamente dito, durante a chamada de flush_output_bytes(), com a codificação 4+1 inteira infinita não associada padrão, definida em [1].
Uma íeaf de entrada é o valor codificado de uma leaf textual, com relação ao seu tipo primitivo. 0 comprimento da leaf, em bytes, é dado pelo campo leaf.length. Por exemplo [1], uma folha string é um código UTF-8, precedido pelo tamanho em bytes da cadeia (codificado com a codificação inteira infinita [1]; uma folha double é o valor de 64 bits do padrão IEEE 754 correspondente... A função encode_leaf seguinte é capaz de codificar uma íeaf em uma parte do arquivo de bytes de saida: while (leaf is not empty) { if (fillingLevel + leaf.length < bufferSize) { feed_input_bytes(leaf,leaf.length) fillingLevel = fillingLevel + leaf.length if (referencable_chunk is null) { referencable_chunk = new chunk retum referencable_chunk } else { retum nil_size_chunk } } else { remaining_bytes = bufferSize - fillingLevel - leaf.length feed_input_bytes(leaf,remaining_bytes) referencable_chunk = flush_output_bytes() signal_reference_chunk_known() fillingLevel = 0 leaf = leaf.remove„beginning_bytes(remaining_bytes) referencable_chunk = null } } Decodificação Deixe string_fifo ser uma cadeia FIFO.
Os métodos seguintes get() e put() respectivamente tomam um elemento out resp. put um elemento de resp no FIFO. 0 método é sinais Empty() se o Fifo estiver vazio. Deixe sub ser a função eu toma a subcadeia.
Deixe concat ser a função de concatenação.
Deixe getDataO a função que retorna o char[]holding de-zip dados de uma folha.
Deixe split(char[], char sep, Fifo, char[] remainder) ser o método que divide um arranjo de caracteres em cada separador 'sep' e armazena os elementos de cadeia separados no Fifo e retorna o resto (isto é, o última parte do arquivo que não tem 'sep' para finalizá-lo). split(char [] data, char sep, FIFO string_fifo,char[] remainder) { if (data==null) retum; int BEGIN=0; for (int I=0;I<data.length;I++) { if (data[I]==sep) { char[] str= concat(remainder, sub(data,BEGIN,I)); put(string_fifo, str); BEGIN=I+1; } } if (BEGIN!=data.length) { //there's a remainder. remainder = sub(data,BEGIN,dataJength); } } String decode() { if (isEmpty(string_fifo) { data = getData(); split(data,OxOO,string_fifo,remainder); } retum get(string_fifo); } Na inicialização, string_fifo está vazio.
Na ativação/instanciação do codec: supõe-se que a estrutura FIFO seja clara, seu num-berOfleaves é estabelecido em 0 a variável first_chunk é estabelecida em verdadeira. Deixe o byte separador em 0x00. A função decode_leaf seguinte é capaz de decodificar uma folha comprimida do fluxo de bits: string decode-_leaf() { if (numberOfLeaves == 0) { read_and_decompressed„byte() numberOfLeaves = count_number_ofJeave_in_buffer() } else { } > A decodificação é definida por: 1. Se o FIFO estiver vazio: a. decodificar os dados codificados, b. empilha em um FIFO todos elementos separados por 0x00 c. se o último caracter não for 0x00, armazenar a primeira cadeia inacabada temporariamente.
d. se "last_element" não estiver vazio, inseri-lo no inicio do primeiro elemento em FIFO e. colocar a cadeia inacabada desta rodada no last_element. f. remover e retornar o primeiro elemento. 2. Se o FIFO não estiver vazio, então remover e retornar o primeiro elemento. É equivalente a dizer: "o FIFO não está vazio" e a dizer "não existe nenhum dado codificado na folha atual".
Exemplo (informativo) A descrição dada no anexo 8 é um exemplo do uso do codec ZlibCodecType, mapeado com os tipos string e o anyURI.
Resultados (informativo) Os valores seguintes mostram os desempenhos do uso do ZLibCodec de maneira a comprimir folhas textuais de descrições (aquelas derivadas dos tipos primitivos de string e anyURI XML Schema). Um armazenamento temporário de bufferSi-ze - 256 bytes foi usado durante o processo de codificação.
Os arquivos usados foram providos pelo subgrupo MPEG-7 MDS ._______________________________________ Serão agora descritas rapidamente as etapas implementadas de acordo com a invenção para comprimir o conteúdo das folhas de uma árvore hierárquica. A etapa 1 consiste em associar uma técnica de codificação de compressão a um tipo de conteúdo. Por exemplo, quantização linear pode ser associada com valores de ponto flutuante.
Na etapa 2, uma subárvore é identificada dentro da árvore hierárquica correspondente à estrutura do documento XML considerado. A etapa 3 consiste em alocar uma técnica de codificação de compressão à subárvore identifícada. A etapa 4 então consiste em checar se o codec que implementa a técnica de codificação de compressão está ou não ativado. Se não, nenhuma compressão <5} das folhas da subárvore é conseguida.
Caso sim, a invenção implementa (6} compressão do conteúdo das folhas da subárvore cujo conteúdo é do tipo de conteúdo associado (1) com a técnica de codificação de compressão . ANEXO 1 <schema targetNamespace="http://www.mpeg7.org/2001/BiMCoding" xmlns:cc="http://www.mpeg7.org/2001/BiMCoding" xmlns="http://w ww. w3 .org/2000/10/XMLSchema" > <element name="modifyContext"> <complexType> <sequence> <element name="allowsSkip" minOccurs="0"> <simpleType> <restriction base="string"> <enumeration value=" mandatory '7> <enumeration value="optional7> <enumeration value=" forbidden" /> </restriction> </simpleType> </element> <element name="schemaMode" minOccurs="0"> <simpleType> <restriction base="string"> <enumeration value="mono'7> <enumeration value="multi'7> </restriction> </simpleType> </element> </sequence> </complexT ype> </element> </schema> ANEXO 2 <schema targetNamespace="http://www.mpeg7.org/2001/BiMCoding" xmlns:cc=" http://www.mpeg7.org/2001/BiMCodíng" xmlns="http://www.w3.org/2000/10/XMLSchema" > <element name="context"> <complexType> <sequence> <element name="allowsSkip" min0ccurs="0"> <simpleType> crestriction base="string"> <enumeration value="mandatory"/> <enumeration value="optional"/> <enumeration value="forbidden"/> </restriction> </simpleType> </element> <element name="schemaMode" minOccurs="0"> <simpleType> crestriction base="string">
Cenumeration value="mono"/> Cenumeration value="multi"/> </restriction> </simpleType> </element>
Celement name="codecTypeMappers" minOccurs="0"> <complexType> <sequence> celement name="codecTypeMapper" type="cc:codecTypeMapper" maxOccurs="unbounded"/> c/sequence> c/complexType> c/element> c/sequence> c/complexType> c/element> c!-- a type can be pointed with the help of a XML Schema prefix, in order to know the schema it is belonging to —> csimpleType name="coupleSchemaTypeType">
Crestriction base="string"/> c/simpleType> <!— restriction of 32 maximal codecTypeMappers in a context <simpleType name="codecIDType"> <restriction base="integer"> <minInclusive="0"/> <maxlnclusive="31"/> </restriction> </simpleType> <complexType name="codecTypeMapperType"> <sequence> <element name="type" type="coupleSchemaTypeType" maxOccurs="unbounded"/> <element name="codec" type="cc:codecType"/> </sequence> <attribute name="id" use="required" type="codecIDType"/> <attribute narae="state"> <simpleType> <restriction base="string"> <enumeration value="activated"/> <enumeration value="deactivated"/> </restriction> </simpleType> </attribute> </complexType> <complexType name="codecType" abstract="true"/> </schema> ANEXO 3 <Example xmlns:cc="http://www.mpeg7.org/2001/BiMCoding"> <AudioEnvelope>
<cc: modify Cont ex O <codingProperties> <codingProperty id=" 1 "> <type>audioFloat</íype> <codec xsi:type="LinearQuantifierType"> <bi tS i ze>8 </bit Size> <min I nc 1 u si ve>-1 .()</mi ninei us i v e> <maxlnclus:ive>l .0</max!nclusive> </codec> </codingProperty > </codingProperties> </cc: modifyContext> <Values> <Raw> -0.25411 0.88541 0.2141946 0.3652541 -0.148941 0.8814 0.145544-0.847 </Raw> </Values> </AudioEnvelope> </Example> ANEXO 4 <Example xmlns:cc="http://www.mpeg7.org/2001/BiMCoding"> <AudioEnvelope> <cc:modiíyContext> <codingProperties> <cod:ingProperty id=" 1" state="deactivated"> <type>audloFloat</type> <codec xsi: type=" LinearQu antifierTvpe" > <bitSize>8</bitSize> <minlndusive>- i .0</minInclusíve> <maxlncl.usive>1.0</maxlnclusive> </codec> </codingProperty> </codingProperti.es> </cc: modifyCo:ntext> <Values> <Raw> <!— quantization here —> <cc:modi.fyContext> <codingProperties> <codingProperty id="l" st.ate="acüvat.ed"/> </codingProperties> </cc:modlfyContext> -0.25411 0.88541 0.2141946 0.3652541 -0.148941 0.8814 0.145544 -0.847 </Raw> <Variance> > <!— but no quantization here —> 0.1777441 0.2094511 0.349411 0.548444 -0.445445 -0.3654847 0.9541 </Variance> </Values> </AudioEnvelope> </Example> ANEXO 5 ccomplexType name="LinearQuantizerCodecType"> <complexContent> <extension base="cc:CodecType"> <element name="bitSize"> <simpleType> <restriction base="int"> <minlnclusive value=" 1 "/> <maxlnclusive value="327> </restriction> </simpleType> </element> <element name="minlnclusive" value="float"/> <element name="maxlnclusive" value="float"/> </extension> </complexContent> </complexT ype> ANEXO 6 <Example xmlns:cc="http://www.mpeg7.org/2001/BiMCoding"> <AudioEnvelope> <cc:modifyContext> <codecT ypeMappers> <codecTypeMapper id="l“ state=''deactivated"> <type>audioEloat</type> <codec xshtype-XinearQuantizerCodecType1^ <bitsSíze>S</bitSize> <minlnclusive>-i.0</minlnclus.íve> <maxlnclusive>1.0</maxlnclusive> </codeo </codecT vpe]V1 apper> </codecT ypeMappers> </cc;]TK)difyConlex(> <Values> <Raw> <!— quantization here —> <cc:modifyContexl> <codecTy peM a ppers> <codecTypeMapper id=" 1 ” state="activated"/> </codecT ypeM appers> </cc:modifyContext> -0.25411 0.88541 0.2141946 0.3652541 -0.148941 0.8814 0.145544-0.847 </Raw> <Variance> > <!— but no quantization here —> 0.1777441 0.2094511 0.349411 0.548444-0.445445 -0.3654847 0.9541 </Variance> </Values> </AudioEnvelope> </Example> ANEXO 7 ccomplexType name=,'ZLibCodecType"> <complexContent> <extension base=" cc: CodecT ype" /> </complexContent> </complexType> ANEXO 8 <MdsExampleTest xmlns-'http://www.mpeg7.org/2001/MPEG-7_Schema" xmlns:cc="hltp://www.mpeg7.org/2001/BiMCoding" <cc: mod ify Co rife x t> <codecTypeMappers> <codecTypeMapper id=" 1" > <type>string</type> < ty pe>any U RI </ty pe> <codec xsi:type="ZLibCodecType7> </codecTypeMapper> </codecTypeMappers> </cc:rnodifyContext> <!— the termld attributes, Name elements and Definitions elements will be catched by the ZLibCodecType —> <ClassificationScheme uri="um:mpeg:MPEG7AudioDomainCS" domain="/.."> <Term termld-' 1 "> <Name xml:lang="en">Source</Name> <Definition xml: lang=" en ">Type of audio source</Definition> <Term termld-' 1.1"> <Name xml:lang="en">Synthetic</Name> </Term> <Term termld="1.2"> <Namexml:lang="en" >N atural</N amo </Term> </Term> <Term termld="2"> <Name xml:lang="en">Acquisition</Name> <Definition xml:lang="en">Type of Content</Definition> <Term termld=''2.1"> <Name xml:lang="en">Music</Name> </Term> <Term termld="2.2"> <Name xml:lang="en">Speech</Name> </Term> <Term termld="2.3"> <Name xml:lang="en">Mixed</Namo </Term> <Term termld=''2.4"> <Name xml:lang="en">Multi-track</Name> </Term> </Term>
REIVINDICAÇÕES

Claims (16)

1. Método para comprimir uma árvore hierárquica que descreve um sinal multimídia, a dita árvore compreendendo nós e folhas, que podem ser associados com dados de pelo menos duas naturezas distintas, denominadas tipos de dados, em que o dito método implementa uma compressão de dados para pelo menos alqumas das ditas folhas, e em que o dito método é CARACTERIZADO por compreender : uma etapa de identificar (2) pelo menos uma subár- vore; uma etapa de alocar (3) uma das ditas técnicas de codificação de compressão a dita subárvore para pelo menos um tipo de dado; e uma etapa de implementar (6) a dita técnica de codificação de compressão alocada a dita subárvore somente para as folhas da dita subárvore cujos dados são do tipo associado à dita técnica de codificação de compressão, enquanto as outras folhas da dita subárvore são livres de qualquer codificação de compressão.
2. Método de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que implementa uma descrição pa-ramétrica das ditas técnicas de codificação de compressão.
3. Método de acordo com qualquer uma das reivindicações 1 a 2, CARACTERIZADO pelo fato de que adicionalmente compreende uma etapa de comprimir a estrutura da dita árvore.
4. Método de acordo com qualquer uma das reivindicações 1 a 3, CARACTERIZADO pelo fato de que a dita árvore é do tipo BiM (MPEG binário) de acordo com o padrão MPEG7.
5. Método de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que os tipos de dados são tipos simples de acordo com o padrão MPEG7.
6. Método de acordo com qualquer uma das reivindicações 1 a 5, CARACTERIZADO pelo fato de que uma das ditas técnicas de codificação de compressão implementa quantização linear.
7. Método de acordo com qualquer uma das reivindicações 1 a 6, CARACTERIZADO pelo fato de que uma das ditas técnicas de codificação de compressão implementa um algoritmo de compressão estatística.
8. Método de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que o dito algoritmo é do tipo GZip.
9. Método de acordo com qualquer uma das reivindicações 7 e 8, CARACTERIZADO pelo fato de que o dito algoritmo é implementado simultaneamente para um conjunto de dados correspondente aos dados de pelo menos duas folhas.
10. Método de acordo com qualquer uma das reivindicações 1 a 9, CARACTERIZADO pelo fato de que a dita árvore representa a estrutura de um documento tipo XML (linguagem de marcação estendida).
11. Método de acordo com qualquer uma das reivindicações 1 a 10, CARACTERIZADO pelo fato de que adicionalmente compreende uma etapa de associar pelo menos um contexto de codificação à dita subárvore, o dito contexto de codificação compreendendo pedaços de informação que permitem saltar a dita subárvore durante a decodificação da dita subárvore hierárquica.
12. Método de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que os ditos pedaços de informação compreendem: um pedaço de informação que indica a técnica de codificação de compressão usada; e/ou um pedaço de informação que indica se a subárvore correspondente foi comprimida; e/ou um pedaço de informação que indica se a subárvore correspondente é saltável; e/ou um pedaço de informação que indica que pelo menos um parâmetro da técnica de codificação de compressão usada foi modificada.
13. Método para decodificar um sinal multimídia comprimido, CARACTERIZADO pelo fato de utilizar o método definido em qualquer uma das reivindicações 1 a 12.
14. Método de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que implementa uma etapa de refrescar um contexto de decodificação atual de acordo com informação de contexto de codificação levado pelo dito sinal.
15. Método de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o dito contexto atual define pelo menos um tipo de dado, o dito método compreendendo uma etapa de implementar uma técnica de decodificação de com- pressão associada com o tipo de dado para as folhas que compreendem dados do dito tipo de dado.
16. Sinal, CARACTERIZADO pelo fato de ser gerado pelo método definido em qualquer uma das reivindicações 1 a 12.
BRPI0211106A 2001-07-13 2002-07-12 método para comprimir uma árvore hierárquica que descreve um sinal multimídia, método para decodificar um sinal multimídia comprimido e sinal gerado pelo referido método para comprimir BRPI0211106B8 (pt)

Applications Claiming Priority (2)

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
PCT/EP2002/008667 WO2003007614A2 (en) 2001-07-13 2002-07-12 Method for compressing a hierarchical tree, corresponding signal and method for decoding a signal.

Publications (3)

Publication Number Publication Date
BR0211106A BR0211106A (pt) 2004-06-22
BRPI0211106B1 true BRPI0211106B1 (pt) 2016-10-18
BRPI0211106B8 BRPI0211106B8 (pt) 2017-04-11

Family

ID=8183367

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0211106A BRPI0211106B8 (pt) 2001-07-13 2002-07-12 método para comprimir uma árvore hierárquica que descreve um sinal multimídia, método para decodificar um sinal multimídia comprimido e sinal gerado pelo referido método para comprimir

Country Status (13)

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

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
ES2272429T3 (es) 2007-05-01
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
AU2002330359A1 (en) 2003-01-29

Similar Documents

Publication Publication Date Title
BRPI0211106B1 (pt) método para comprimir uma árvore hierárquica que descreve um sinal multimídia, método para decodificar um sinal multimídia comprimido e sinal gerado pelo referido método para comprimir
US6825781B2 (en) Method and system for compressing structured descriptions of documents
US7870483B2 (en) Encoding and distribution of schema for multimedia content descriptions
KR100855192B1 (ko) 멀티미디어 데이터를 위한 2진 기술에 대한 확장 코드를제공하는 방법
US7263490B2 (en) Method for description of audio-visual data content in a multimedia environment
CN1748426A (zh) 在流系统中发送和接收字体信息的方法
US7251277B2 (en) Efficient means for creating MPEG-4 textual representation from MPEG-4 intermedia format
WO2004051423A2 (en) Efficient means for creating mpeg-4 intermedia format from mpeg-4 textual representation
US7571152B2 (en) Method for compressing and decompressing structured documents
Fang et al. Automatic generation of entropy coding programs using flavor
JP5536066B2 (ja) 要素の符号化方法と装置
JP2004524723A (ja) バイナリマルチメディア記述のためのビットストリームの構造生成方法および該ビットストリームの構文解析方法

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 3A ANUIDADE.

B08G Application fees: restoration [chapter 8.7 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 18/10/2016, OBSERVADAS AS CONDICOES LEGAIS.

B16C Correction of notification of the grant [chapter 16.3 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 18/10/2016, OBSERVADAS AS CONDICOES LEGAIS. (CO) REFERENTE A PUBLICACAO NA RPI 2389 DE 18/10/2016 QUANTO AO TITULAR.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 18A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2594 DE 24-09-2020 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.