BRPI0316335B1 - processo para a geração de uma corrente de bits a partir de uma árvore de indexação - Google Patents

processo para a geração de uma corrente de bits a partir de uma árvore de indexação Download PDF

Info

Publication number
BRPI0316335B1
BRPI0316335B1 BRPI0316335A BR0316335A BRPI0316335B1 BR PI0316335 B1 BRPI0316335 B1 BR PI0316335B1 BR PI0316335 A BRPI0316335 A BR PI0316335A BR 0316335 A BR0316335 A BR 0316335A BR PI0316335 B1 BRPI0316335 B1 BR PI0316335B1
Authority
BR
Brazil
Prior art keywords
index
bit stream
node
tree
paths
Prior art date
Application number
BRPI0316335A
Other languages
English (en)
Other versions
BR0316335A (pt
Inventor
Andrea Kofler-Vogt
Andreas Hutter
Harald Kosch
Jörg Heuer
Original Assignee
Siemens Ag
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 Siemens Ag filed Critical Siemens Ag
Publication of BR0316335A publication Critical patent/BR0316335A/pt
Publication of BRPI0316335B1 publication Critical patent/BRPI0316335B1/pt

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

"processo para a geração de uma corrente de bits a partir de uma árvore de indexação". a presente invenção refere-se a um processo para a geração de uma corrente de bits a partir de uma árvore de indexação, sendo que a árvore de indexação abrange uma multiplicidade de planos hierárquicos e a cada plano hierárquico acha-se combinado um ou mais nó de index, sendo que os nós de index contêm dados de index que estão classificados na árvore de indexação segundo um ou mais critérios predeterminados. no processo, os dados de index dos nós de index são inseridos na corrente de bits, e para um nó de index, insere-se respectivamente a informação na corrente de bits, naquele ponto na corrente de bits em que se encontram os dados de index de um ou mais nós de index do plano hierárquico que se localiza abaixo do plano hierárquico do respectivo nó.

Description

Relatório Descritivo da Patente de Invenção para "PROCESSO PARA A GERAÇÃO DE UMA CORRENTE DE BITS A PARTIR DE UMA ÁRVORE DE INDEXAÇÃO". A presente invenção refere-se a um processo para a geração de uma corrente de bits a partir de uma árvore de indexação, bem como a um processo de codificação e um processo de decodificação, que utilizam o processo para a geração da corrente de bits. Além disso, a invenção refere-se a um dispositivo de codificação e decodificação.
Freqüentemente, é necessário que determinados conteúdos de uma corrente de bits sejam lidos segundo uma busca efetuada por um usuário, respectivamente pesquisar, quanto a determinados conteúdos, se esses conteúdos estão contidos na corrente de bits. Nesse caso, uma solicitação definida por um usuário pode ser formulada por meio de uma linguagem de busca, como SQL (ver referência [1]) ou XPATH (ver referência [2]). Nesse caso, é vantajoso quando não for preciso pesquisar toda a corrente de bits à procura dos conteúdos desejados, senão quando as informações estiverem depositadas em uma lista de indexação ou em uma árvore de indexação, de tal modo que seja preciso pesquisar somente a parte da corrente de bits na qual esteja armazenada a árvore de indexação, respectivamente a lista de indexação. O problema da leitura de dados a partir de uma corrente de bits ocorre, por exemplo, em um documento elaborado com ajuda da linguagem XML (XML = extensible markup language), o qual é representado no formato MPEG7-BÍM. No que se refere ao formato MPEG7-BÍM de um documento XML toma-se aqui como referência o documento [3]. No caso de uma representação desse tipo, a corrente de bits gerada é dividida em várias unidades (access units), as quais, por sua vez, são constituídas por muitos fragmentos (fragment update units). As unidades são codificadas e, em caso de necessidade, são enviadas como corrente de MPEG7-BÍM a um ou mais receptores.
No que se refere à busca de informações a partir de documentos XML, já são conhecidas várias linguagens de busca que permitem buscar determinadas informações no documento. Por exemplo, nesse ponto cabe remeter-se à linguagem de busca XPATH já mencionada (ver referência [2]). Por meio da linguagem de busca XPATH pode-se definir critérios de seleção para a filtragem de informações desejadas dentro de um documento XML. O objetivo de uma busca, nesse caso, pode ser, por um lado, a avaliação de se uma unidade da corrente de bits é importante para o receptor. Por outro lado, com a ajuda de uma busca pode-se recorrer planejadamente a informações desejadas no documento XML. Até agora, na geração da corrente de bits de um documento XML, o processo de codificação MPEG7 ainda não previu nenhum mecanismo que possibilite um acesso de livre escolha a determinados elementos do documento XML. Por isso, a corrente de bits MPEG7 tem que ser decodificada para a busca por elementos. Obtém-se, então, novamente, um documento no formato XML, o qual pode ser pesquisado por meio da linguagem de busca XPATH. A decodificação e o subse-qüente processamento de um documento XML para a busca por informações específicas, conseqüentemente, demanda muito tempo e é inaceitável para determinadas aplicações críticas quanto ao tempo. Além disso, pode surgir o problema de que a memória no decodificador seja limitada, de tal modo que a corrente de bits não seja decodificada totalmente. Além disso, o esforço da decodificação teria sido desnecessário, caso a busca XPATH, executada no documento XML decodificado, tenha decorrido negativamente.
No âmbito de TV-Anytime (TVA), que se acha inscrito no documento [4], emprega-se uma estrutura de índex que permita um acesso de livre escolha a determinados elementos de um fragmento de dados. A estrutura de índex consiste em várias partes e abrange uma assim chamada lista de Key-lndex, na qual são depositados todos os caminhos indexados de um documento. No caso de uma busca, esses caminhos são comparados, segundo a sequência, com a busca até que seja encontrado um determinado registro na lista de Key-lndex. Por meio das informações que são armazenadas na lista de Key-lndex para esse registro é possível determinar os locais em uma corrente descritiva nos quais encontra-se codificado o registro indexado. Por meio do emprego da lista de Key-lndex não é mais necessário decodificar fragmentos de dados desinteressantes, de tal modo que durante uma busca necessita-se de menos espaço de memória. No entanto, migração linear da lista de Key-lndex gasta muito tempo e a transmissão de todos os caminhos indexados demanda muito esforço.
Por isso, a presente invenção pretende criar um processo para a geração de uma corrente de bits a partir de uma árvore de indexação, no qual a busca por dados indexados seja possível de modo fácil e eficiente.
Esse objetivo é alcançado de acordo com as características das reivindicações independentes. Desdobramentos da invenção resultam das reivindicações dependentes. A árvore de indexação, a partir da qual uma corrente de bits é gerada por meio do processo de acordo com a invenção, abrange uma multiplicidade de planos hierárquicos, sendo que a cada plano hierárquico acha-se combinado um ou mais nós de índex e os nós de índex contêm dados de índex que se acham classificados na árvore de indexação de acordo com um ou mais critérios predeterminados. No processo de acordo com a invenção, os dados de índex dos nós de índex são inseridos na corrente de bits e, a-lém disso, para um nó de índex insere-se respectivamente a informação na corrente de bits, em cujo local na corrente de bits se localizam os dados de índex de um ou mais nós de índex do plano hierárquico, que se localiza a-baixo do plano de hierarquia do respectivo nó. Devido à armazenagem da informação adicional quanto aos nós de índex em um plano hierárquico situado abaixo, torna-se mais fácil uma busca por determinados dados de índex, pois desse modo tornam-se possíveis saltos para os nós de índex que são relevantes para a busca. Desse modo, assegura-se uma pesquisa e uma busca essencialmente mais eficiente por dados de índex.
Em uma forma preferida de execução, a árvore de indexação acha-se estruturada como uma assim chamada B-Tree (= Balanced Tree), a qual assegura uma distribuição equilibrada dos dados pelos nós da árvore. Uma descrição exata da B-Tree encontra-se na referência [5].
Os dados de índex na árvore de indexação podem ser classificados por quaisquer critérios, como, por exemplo, de modo lexicográfico.
Em uma forma de execução particularmente preferida, os dados de índex acham-se inseridos na corrente de bits segundo a ordem Depth-First. Devido ao emprego da ordem Depth-Firts, os dados de índex na árvore de indexação são inseridos inicialmente segundo a profundidade na corrente de dados, e devido a isso as informações relevantes para uma pesquisa são dispostas na corrente de bits uma ao lado da outra e salta-se por cima eficientemente das informações não relevantes. Uma descrição exata da ordem Depth-First encontra-se na referência [6], Em uma outra forma de execução preferida da invenção, os dados de índex abrangem caminhos de uma árvore de estrutura de documento, a qual compreende um nó de raiz e uma multiplicidade de nós de folhas. Além disso, os dados de índex abrangem, de preferência, as características de valor dos caminhos e as posições das características de valor no documento, que se acha representado pela árvore de estrutura de documento. Além disso, em uma forma preferida de execução, os dados de índex também abrangem a quantidade dos caminhos em um nó de índex.
Nesse caso, os caminhos podem ser caminhos absolutos que começam dos nós de raiz da árvore de estrutura de documento e conduzem a um nó de folhas da árvore de estrutura de documento. No entanto, em uma forma de execução da invenção particularmente preferida, os caminhos são caminhos relativos, sendo que um caminho relativo de um respectivo nó de índice é um caminho relativamente a um caminho, anteriormente inserido na corrente de bits, do respectivo nó de índex ou de um nó de índex de um plano hierárquico situado sobre o plano hierárquico do respectivo nó de índex. Por meio do emprego de caminhos relativos aproveita-se aquilo que há em comum nos caminhos, pois os caminhos de nós adjacentes possuem, em sua maioria, uma fração em comum. Desse modo, pode-se reduzir a necessidade de memória requerida para os dados de índex na corrente de bits. Uma outra redução da necessidade de memória pode ser obtida na medida em que os caminhos do nó de índex, cujos dados de índex são inseridos como primeiros de um plano hierárquico na corrente de bits, sejam inseridos na corrente de bits em uma sequência inversa à seqüência na qual os dados de índex ficam dispostos no nó de índex. Nesse caso, leva-se em conta o fato de que os dados de índex ao final do primeiro nó de Index de um plano hierárquico apresentam uma semelhança maior em relação ao nó de índex do plano hierárquico imediatamente superior do que os dados de índex ao início do primeiro nó de índex. Conseqüentemente, em determinados casos resulta uma codificação particularmente efetiva por meio de caminhos relativos.
Em uma forma de execução particularmente preferida da invenção, os caminhos abrangem elementos descritivos de um documento XML (XML = extensible markup language), sendo que os caminhos são particularmente caminhos XPATH do documento XML
Em uma outra forma de execução da invenção, os dados de índex estão codificados binariamente por meio de um processo de codificação, especialmente por meio de um processo de codificação MPEG. Em uma forma de execução particularmente preferida, o processo de codificação empregado é o processo de codificação MPEG7.
Além do processo acima descrito para a geração de uma corrente de bits, a invenção abrange ainda um processo para a codificação de uma estrutura de dados, no qual os elementos de dados da estrutura de dados ficam indexados em uma árvore de indexação, sendo que uma corrente de bits é gerada de acordo com o processo de acordo com a invenção e essa corrente de bits é parte da corrente de dados codificada. Além disso, a invenção abrange um processo para a decodificação de uma estrutura de dados, sendo que o processo é configurado de tal forma que seja decodificada uma estrutura de dados codificada por meio do processo de codificação a-cima descrito.
Além disso, a invenção abrange um processo para a codificação e decodificação de uma estrutura de dados, o qual abrange o processo de codificação e o processo de decodificação acima descritos. A invenção abrange também um dispositivo de codificação, com o qual pode-se executar o processo de codificação de acordo com a invenção, bem como um dispositivo de decodificação com o qual se pode executar o processo de decodificação de acordo com a invenção. Além disso, a invenção refere-se a um dispositivo correspondente para a codificação e decodifi- cação, com o qual se pode executar o processo combinado de codificação e decodificação acima descrito.
Exemplos de execução da invenção serão representados e explicados a seguir com base nos desenhos.
Mostra-se: Fig. 1: um exemplo de uma árvore de indexação empregada no processo de acordo com a invenção;
Fig. 2: um recorte da árvore de indexação mostrada na figura 1;
Fig. 3: um recorte de uma corrente de bits, que foi gerada a partir da árvore de indexação da figura 1 por meio do processo de acordo com a invenção;
Fig. 4: uma árvore de indexação simplificada, na qual estão ordenados lexicograficamente os dados de índex, os quais representam caminhos de uma árvore de estrutura de documento;
Fig. 5: a árvore de indexação da figura 4, sendo que os caminhos do segundo plano hierárquico acham-se representados parcialmente como caminhos relativos;
Fig. 6: a árvore de indexação da figura 4, sendo que todos os caminhos do segundo plano hierárquico acham-se representados como caminhos relativos; e Fig. 7: uma variação da árvore de indexação segundo a figura 4. A figura 1 mostra, como exemplo, uma árvore de indexação empregada no processo de acordo com a invenção. No caso dessa árvore, trata-se de uma assim chamada árvore B (B significa Balanced), que é freqüen-temente empregada na indexação de dados. A estrutura de uma árvore B acha-se descrita, por exemplo, na referência [5] já mencionada. A árvore B apresenta uma estrutura equilibrada e possibilita assim uma busca apenas com um esforço logarítmico medido pela quantidade de registros, enquanto que no caso de busca com uma lista é necessário um esforço linear. A árvore de indexação contém uma série de nós de 1 a 10, sendo que em cada nó acha-se armazenado um ou mais dados de índex sob a forma de assim chamadas chaves. No presente caso, os dados de índex são assim chamados caminhos XPATH de uma árvore de descrição de um documento XML. Uma descrição de caminhos XPATH encontra-se na referência [2] já mencionada. Os caminhos XPATH levam dos nós de raiz da árvore de descrição do documento XML para cada um dos nós de folhas da árvore de descrição do documento XML. Na árvore de descrição empregada nessa forma de execução, emprega-se como nós de folhas os elementos XML com conteúdo simples e todos os atributos XML. Conseqüentemente, os dados de índex da árvore de indexação mostrada na figura 1 abrangem caminhos raiz-folha de uma árvore de descrição XML.
Os caminhos XPATH estão representados na árvore de indexação da figura 1 como uma série de letras grandes e pequenas estão ordenados le-xicograficamente, sendo que cada letra corresponde a um nome de elemento na árvore de descrição XML. Por exemplo, o caminho MDMVUFACN no nó 1 significa MPEG7/Description/MultimediaContent/Video/Usagelnformation/Financia!Re suIts/Accountltem/Costtype/Name. Além do caminho, nos nós também estão armazenadas as características de valor, nas quais esse caminho ingressa no documento XML. No presente caso, o caminho MDMVUFACN no nó de índex 1 entra duas vezes com as características "Total for Production" e "Broadcast". Diferentemente deste, o caminho MDMVUAFAc, por exemplo, no nó de índex 2 entra apenas uma vez com a característica "EUR". A numeração dos nós de índex na árvore de indexação da figura 1 corresponde à sequência em que os dados de índex são inseridos na corrente de bits com a ajuda do processo de acordo com a invenção. Nesse caso, a seqüência corresponde a uma assim chamada ordem Depth-First, que se acha descrita, por exemplo, na referência [6] já mencionada. Por meio da inserção dos dados de índex na corrente de bits segundo a ordem Depth-First, obtém-se uma menor complexidade no acesso aos dados de índex, pois na busca por dados de índex salta-se por cima das informações não relevantes.
Na figura 2 mostra-se um recorte de uma árvore de indexação da figura 1, no qual, por meio de um exemplo, explica-se a pesquisa de dados de índex nessa árvore. Nesse caso, trata-se da pesquisa para saber se o caminho XPATH MPEG7/Description/Multimediacontent/Video/Usagelnformation/Availability/D issemination/Disseminator/Agent/Name contém a característica de valor "Disco-very" (resumidamente, MDMVUADDAN = "Discovery". Já que a linha MDM-VUADDAN, do ponto de vista lexicográfico, é menor do que o caminho XPATH "MDMVUFACN" do nó de índex 1, então cabe remeter-se ao nó de índex 2. A linha de busca também é menor lexicograficamente do que o registro "MDMVUAFAC" do nó de índex 2, Por isso, passa-se para o nó de índex 3 localizado à esquerda do nó de índex 2. Esse nó de índex contém dois caminhos XPATH, "MDMVUAAt" e "MDMVUADFh". A linha de busca localiza-se entre esses dois caminhos XPATH, de tal modo que, no plano hierárquico seguinte, passa-se para o nó de índex 5 localizado entre os nós de índex 4 e 6. Esse nó de índex contém agora, como primeiro elemento, o caminho XPATH buscado, "MDMVUADDAN", bem como a característica de valor buscada "Discovery". Com isso descobriu-se no nó de índex 5 a característica de valor adequada e obtém-se, então, a posição do elemento correspondente no documento XML indexado. Devido ao fato de que os nós de índex são inseridos na corrente de bits conforme a ordem Depth-First, então todos os demais nós da árvore de indexação são ignorados ou pulados durante a busca, de tal modo que a busca por elementos na árvore de indexação a-presente pouca complexidade. A seguir será tratada detalhadamente a inserção dos dados de índex na corrente de bits por meio do processo de acordo com a invenção. Isso é feito com base na figura 3, a qual representa um recorte de uma corrente de bits gerada por meio do processo de acordo com a invenção. Na corrente de bits mostrada na figura 3 são expostos, para melhor compreensão, os números dos nós de índex, sendo que, no entanto, esses números não são remetidos junto com a corrente. No detalhe são mostrados, na figura 3, os conteúdos dos nós de índex 1 e 3. Os nós contêm como primeiro elemento inicialmente a quantidade dos registros, isto é, a quantidade dos caminhos XPATH armazenados no nó. Nesse caso, para o nó de índex 1 resulta o número 1 e para o nó de Index 3 resulta o número 2. Em seguida, para cada entrada segue-se a chave, isto é, o respectivo caminho XPATH, bem como a quantidade de instâncias, isto é, a quantidade das características de valor que esse caminho XPATH tem no documento XML. Para o nó de índex 1 resulta, por exemplo, para o caminho XPATH, "MDMVUAFCN", a quantidade de instâncias 2, pois o caminho com as duas características de valor "Total for Production" e "Broadcast" aparece no documento XML. Além disso, para cada característica de valor, a posição dessa característica de valor no documento XML é inserida na corrente de bits. No processo de a-cordo com a invenção, é essencial que, além dessas informações, também seja inserida na corrente de bits a informação de em que posição na corrente de bits - particularmente em qual posição em relação à posição momentânea (offset) - encontram-se os dados de índex, do plano hierárquico inferior, de nós de índex ligados com o respectivo nó de índex. Desse modo, torna-se possível passar por cima de nós que não sejam relevantes para uma pesquisa de busca predeterminada. A seguir, o nó que se bifurca de um nó para um plano hierárquico inferior é chamado de nó filho. No processo de acordo com a invenção é preciso notar que a informação quanto à posição do primeiro nó filho de um plano hierárquico não precisa ser armazenada, pois esse nó filho na corrente de bits é lido como sendo o próximo. Como se pode deduzir da figura 3, desse modo, para o nó de índex 1 armazena-se apenas a posição do nó de índex 10 (chamado de "offset (10)") e para o nó de índex 3 armazena-se a-penas as posições dos nós de índex 5 e 6 (chamados de "offset (5)" e "offset (6)"). Resultando, por exemplo, que a informação buscada em uma pesquisa seja lexicograficamente maior do que o XPATH no nó 1, então, salta-se imediatamente para o nó 10, de tal modo que não seja mais necessário buscar o nó de índex 2 e o nó de índex que se bifurca do nó de índex 2. Desse modo torna-se possível uma busca efetiva.
Na tabela que se segue expõe-se novamente quais informações por nó são armazenadas na corrente de bits.
Tabela Nó {_____________________________________________________________________ Quantidade dos registros_______________________________________________ para cada registro:____________________________________________________ chaves_____________________________________________________________ quantidade das instâncias_______________________________________ para cada instância:_______________________________________________ ___________característica de valor_______________________________________ ___________posição_______________________________________________________ para cada nó filho, exceto o primeiro__________________________________ offset na corrente_________________________________________________ A corrente de bits gerada com processo de acordo com a invenção é remetida ao receptor e pode ser lida correspondentemente a uma pesquisa que, por exemplo, tenha sido explicada em relação à figura 2. Por meio de comparações entre o XPATH a ser pesquisado e os registros nos nós de Index, determinadas informações de nós são lidas a partir da corrente até que o correspondente XPATH buscado com a característica de valor buscada tenha sido encontrado ou até que não seja mais possível nenhum caminho XPATH adequado devido à classificação. Neste último caso, a informação desejada não está contida no documento indexado.
Outras formas de execução do processo de acordo com a invenção serão explicadas a seguir, com base nas figuras de 4 a 7, que apresentam árvores de indexação simplificadas com registros ordenados lexicografi-camente. Na figura 4 mostra-se uma árvore de indexação a ser codificada por meio do processo de acordo com a invenção, árvore esta que abrange nós de K1 a K4. Nesse caso, o nó K1 é chamado de nó pai e os nós K2-K4, ramificados do nó K1, são chamados de nós filhos. No caso dos registros, trata-se de caminhos de uma árvore de estrutura de documento. Em vez de transmitir na corrente de bits os caminhos com seus comprimentos totais, existe a possibilidade de armazenar os assim chamados caminhos relativos no nó de índex a ser transmitido, sendo que esses caminhos são relativos em relação a um caminho do nó pai transmitido anteriormente, respectiva- mente em reiação ao caminho transmitido anteriormente do nó de índex momentaneamente a ser transmitido. A inserção de caminhos relativos na corrente de bits é apresentada na figura 5. Nesse caso, a representação significa um passo para trás no caminho a que se refere o caminho relativo. No nó K1, para o registro "AE” transmite-se o caminho relativo "..E" em relação ao registro anterior ACB. Nos nós filhos Κ1, K2 e K3, respectivamente no segundo e no terceiro registro são transmitidos os caminhos relativos em relação ao primeiro caminho do respectivo nó filho.
Na forma de execução da figura 5, para os primeiros caminhos AA, ACC, respectivamente AEF, dos nós filhos K2, K3, respectivamente K4, transmite-se o caminho absoluto completo. Também é possível adicionalmente transmitir os primeiros caminhos dos nós filhos como sendo caminhos relativos em relação a um caminho do nó pai K1. Isso é apresentado na figura 6. Em vez dos caminhos AA e ACC do primeiro e do segundo nó filho, nesse caso são transmitidos os caminhos relativos ”..A" e ".C" em relação ao primeiro caminho do nó pai. Em vez do caminho "AEF" do terceiro nó filho, transmite-se o caminho relativo "F" em relação ao segundo caminho do nó pai. Nesse caso, os caminhos, de preferência em sua representação em Byte, são depositados na corrente de bits.
Devido ao emprego de caminhos relativos, reduz-se bastante o volume de dados na corrente, pois ao se armazenar os caminhos aproveita-se aquilo que há em comum nos caminhos, de tal modo que se necessita de menos espaço de memória. Particularmente, no caso de caminhos relativos, as respectivas frações em comum dos caminhos são remetidas apenas uma vez.
Em uma outra forma de execução da invenção obtém-se uma economia de dados na medida em que na disposição dos registros dos nós de índex para os primeiros nós filhos K2 é empregada uma seqüência inversa à da figura 4. Desse modo, consegue-se que o registro que apresenta a maior semelhança com o nó pai K1 anterior fique ao início do nó filho K2. Desse modo, no caso de configurações especiais da árvore de indexação obtêm-se caminhos relativos essencialmente reduzidos e uma menor necessidade de memória.
Os caminhos podem ser os caminhos XPATH, mencionados anteriormente, de uma árvore de descrição XML. Além disso, os caminhos podem ser codificados binariamente, como, por exemplo, com um processo de codificação MPEG7. Particularmente, para a codificação binária podem ser empregados os processos especificados na referência [3] já mencionada. O emprego de caminhos codificados binariamente pode economizar na quantidade dos bits a serem transmitidos, em comparação com representações textuais.

Claims (20)

1. Processo para a geração de uma corrente de bits a partir de uma árvore de indexação, sendo que a árvore de indexação abrange uma multiplicidade de planos hierárquicos e a cada plano hierárquico acha-se combinado um ou mais nó de índex (Κ1, K2, K3, K4), sendo que os nós de índex (K1, K2, K3, K4) contêm dados de índex que estão classificados na árvore de indexação segundo um ou mais critérios predeterminados, no qual: - os dados de índex dos nós de índex (K1, K2, K3, K4) são inseridos na corrente de bits; - para um nó de índex, insere-se respectivamente a informação na corrente de bits, naquele ponto na corrente de bits em que se encontram os dados de índex de um ou mais nós de índex (K1, K2, K3, K4) do plano hierárquico que se localiza abaixo do plano hierárquico do respectivo nó.
2. Processo de acordo com a reivindicação 1, no qual a árvore de indexação é uma B-Tree (=Balanced Tree).
3. Processo de acordo com a reivindicação 1 ou 2, no qual os dados de índex na árvore de indexação estão classificados lexicografica-mente.
4. Processo de acordo com uma das reivindicações anteriores, no qual os dados de índex são inseridos na corrente de bits segundo a ordem Depth-First.
5. Processo de acordo com uma das reivindicações anteriores, no qual os dados de índex abrangem caminhos de uma árvore de estrutura de documento constituída por pelo menos um nó de raiz e uma multiplicidade de nós de folhas.
6. Processo de acordo com a reivindicação 5, no qual os dados de índex contêm as características de valor dos caminhos e as posições das características de valor no documento que se acha representado pela árvore de estrutura de documento.
7. Processo de acordo com a reivindicação 5 ou 6, no qual os dados de índice abrangem a quantidade dos caminhos em um nó de índex (Κ1, Κ2, Κ3, Κ4).
8. Processo de acordo com uma das reivindicações de 5 a 7, no qual os caminhos abrangem caminhos absolutos, que começam no nó de raiz e levam a um nó de folhas.
9. Processo de acordo com uma das reivindicações de 5 a 8, no qual os caminhos abrangem caminhos relativos, sendo que um caminho relativo de um respectivo nó de índex (K1, K2, K3, K4) é um caminho relativo a um caminho, anteriormente inserido na corrente de bits, do respectivo nó de índex (K1, K2, K3, K4) ou de um nó de índex (K1, K2, K3, K4) de um plano hierárquico localizado acima do plano hierárquico do respectivo nó de índex (K1.K2, K3, K4).
10. Processo de acordo com a reivindicação 9, no qual os caminhos do nó de índex, cujos dados de índex são inseridos na corrente de bits como sendo os primeiros de um plano hierárquico, são inseridos na corrente de bits em uma seqüência inversa à sequência na qual os dados de índex ficam dispostos nos nós de índex (K1, K2, K3, K4).
11. Processo de acordo com uma das reivindicações de 5 a 10, no qual os caminhos abrangem elementos de descrição de um documento XML (XML = Extensible Markup Language).
12. Processo de acordo com a reivindicação 11, no qual os caminhos são caminhos XPATH do documento XML.
13. Processo de acordo com uma das reivindicações anteriores, no qual os dados de índex acham-se codificados binariamente por meio de um processo de codificação, particularmente por meio de um processo de codificação MPEG.
14. Processo de acordo com a reivindicação 13, no qual o processo de codificação é um processo de codificação MPEG7.
15. Processo para a codificação de uma estrutura de dados, no qual os elementos de dados da estrutura de dados estão indexados em uma árvore de indexação, sendo que é gerada uma corrente de bits de acordo com uma das reivindicações anteriores e a corrente de bits é parte da corrente de dados codificados.
16. Processo para a decodificação de uma estrutura de dados, sendo que o processo é configurado de tal modo que a estrutura de dados codificada de acordo com a reivindicação 12 é decodificada.
17. Processo para a codificação e decodificação de uma estrutura de dados abrangendo o processo de acordo com a reivindicação 15 e o processo de acordo com a reivindicação 16.
18. Dispositivo de codificação, com qual se pode executar o processo como definido na reivindicação 15.
19. Dispositivo de decodificação, com o qual se pode executar um processo como definido na reivindicação 16.
20. Dispositivo para a codificação e decodificação de uma estrutura de dados, com o qual se pode executar um processo como definido na reivindicação 17,
BRPI0316335A 2002-11-15 2003-10-30 processo para a geração de uma corrente de bits a partir de uma árvore de indexação BRPI0316335B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10253275 2002-11-15
DE10337825A DE10337825A1 (de) 2002-11-15 2003-08-18 Verfahren zur Erzeugung eines Bitstroms aus einem Indizierungsbaum
PCT/EP2003/012098 WO2004047304A2 (de) 2002-11-15 2003-10-30 Verfahren zur erzeugung eines bitstroms aus einem indizierungsbaum

Publications (2)

Publication Number Publication Date
BR0316335A BR0316335A (pt) 2005-09-27
BRPI0316335B1 true BRPI0316335B1 (pt) 2016-02-10

Family

ID=32327491

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0316335A BRPI0316335B1 (pt) 2002-11-15 2003-10-30 processo para a geração de uma corrente de bits a partir de uma árvore de indexação

Country Status (10)

Country Link
US (1) US7330854B2 (pt)
EP (1) EP1561281B1 (pt)
JP (1) JP2006515450A (pt)
KR (1) KR101032240B1 (pt)
CN (1) CN100576750C (pt)
AT (1) ATE416514T1 (pt)
AU (1) AU2003293638A1 (pt)
BR (1) BRPI0316335B1 (pt)
DE (2) DE10337825A1 (pt)
WO (1) WO2004047304A2 (pt)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418455B2 (en) * 2003-11-26 2008-08-26 International Business Machines Corporation System and method for indexing weighted-sequences in large databases
US7216127B2 (en) * 2003-12-13 2007-05-08 International Business Machines Corporation Byte stream organization with improved random and keyed access to information structures
DE102004034004A1 (de) * 2004-07-14 2006-02-09 Siemens Ag Verfahren zum Codieren eines XML-Dokuments, sowie Verfahren zum Decodieren, Verfahren zum Codieren und Decodieren, Codiervorrichtung, Decodiervorrichtung und Vorrichtung zum Codieren und Decodieren
KR100660028B1 (ko) * 2005-02-23 2006-12-20 인천대학교 산학협력단 데이터베이스 개념 구조에 기반한 xml 트리의 색인 및질의 방법
US7499931B2 (en) * 2005-05-09 2009-03-03 International Business Machines Corporation Method and apparatus for approximate projection of XML documents
US8229891B2 (en) * 2007-08-16 2012-07-24 International Business Machines Corporation Method, apparatus and computer program for model-driven message parsing
US8442998B2 (en) 2011-01-18 2013-05-14 Apple Inc. Storage of a document using multiple representations
US8683027B2 (en) * 2011-06-08 2014-03-25 International Business Machines Corporation Utilization of uncertainty dependency relationships between items in a data stream
JP5966673B2 (ja) * 2012-06-28 2016-08-10 富士通株式会社 符号処理のためのプログラム及びデータ構造
US8930374B2 (en) * 2012-06-29 2015-01-06 Nokia Corporation Method and apparatus for multidimensional data storage and file system with a dynamic ordered tree structure
JP6011421B2 (ja) 2013-03-29 2016-10-19 富士通株式会社 ストレージシステム、情報処理装置の制御プログラム及びストレージシステムの制御方法
CN109933584B (zh) * 2019-01-31 2021-04-02 北京大学 一种多级无序索引方法与系统
CN112685404A (zh) * 2020-12-18 2021-04-20 威盛电子股份有限公司 应用于键树的编码方法、应用于键树的解码方法与电子装置
CN112287642B (zh) * 2020-12-30 2021-06-08 华南理工大学 树形结构自增数据节点id及其路径链二进制编码方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8815978D0 (en) * 1988-07-05 1988-08-10 British Telecomm Method & apparatus for encoding decoding & transmitting data in compressed form
US5509088A (en) * 1993-12-06 1996-04-16 Xerox Corporation Method for converting CCITT compressed data using a balanced tree
US5557786A (en) * 1994-01-24 1996-09-17 Advanced Computer Applications, Inc. Threaded, height-balanced binary tree data structure
US5794249A (en) * 1995-12-21 1998-08-11 Hewlett-Packard Company Audio/video retrieval system that uses keyword indexing of digital recordings to display a list of the recorded text files, keywords and time stamps associated with the system
US6721723B1 (en) * 1999-12-23 2004-04-13 1St Desk Systems, Inc. Streaming metatree data structure for indexing information in a data base
EP1263229A4 (en) * 2000-01-31 2003-08-20 Canon Kk DEVICE, SYSTEM AND METHOD FOR DATA PROCESSING, AND INFORMATION MEDIUM
US6354126B1 (en) * 2000-04-25 2002-03-12 Burr Oak Tool And Gauge Company Tube straightener and drive therefor
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US7080318B2 (en) * 2001-02-28 2006-07-18 Koninklijke Philips Electronics N.V. Schema, syntactic analysis method and method of generating a bit stream based on a schema
US7231394B2 (en) * 2001-07-17 2007-06-12 Sony Corporation Incremental bottom-up construction of data documents
US7020643B2 (en) * 2002-01-25 2006-03-28 Microsoft Corporation Method and system for clickpath funnel analysis
US20040010752A1 (en) 2002-07-09 2004-01-15 Lucent Technologies Inc. System and method for filtering XML documents with XPath expressions
US6711300B2 (en) * 2002-08-15 2004-03-23 Envivio, Inc. Quantization and compression of information in a direct acyclic graph
US7171407B2 (en) * 2002-10-03 2007-01-30 International Business Machines Corporation Method for streaming XPath processing with forward and backward axes
US7133877B2 (en) * 2002-10-03 2006-11-07 International Business Machines Corporation Method and apparatus for managing a set of data structures associated with a large file
US7653636B2 (en) * 2003-02-28 2010-01-26 Bea Systems, Inc. Systems and methods for streaming XPath query

Also Published As

Publication number Publication date
DE50310876D1 (de) 2009-01-15
EP1561281B1 (de) 2008-12-03
WO2004047304A3 (de) 2004-07-29
US20060064424A1 (en) 2006-03-23
ATE416514T1 (de) 2008-12-15
AU2003293638A1 (en) 2004-06-15
EP1561281A2 (de) 2005-08-10
BR0316335A (pt) 2005-09-27
CN1739243A (zh) 2006-02-22
JP2006515450A (ja) 2006-05-25
KR20050086657A (ko) 2005-08-30
WO2004047304A2 (de) 2004-06-03
KR101032240B1 (ko) 2011-05-02
DE10337825A1 (de) 2004-06-03
US7330854B2 (en) 2008-02-12
CN100576750C (zh) 2009-12-30

Similar Documents

Publication Publication Date Title
TWI464606B (zh) Xml-文件之編碼方法,解碼方法,編碼和解碼方法,編碼裝置,解碼裝置以及編碼和解碼裝置
BRPI0316335B1 (pt) processo para a geração de uma corrente de bits a partir de uma árvore de indexação
Lu et al. From region encoding to extended dewey: On efficient processing of XML twig pattern matching
Li et al. QED: A novel quaternary encoding to completely avoid re-labeling in XML updates
US8346813B2 (en) Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments
US8266151B2 (en) Efficient XML tree indexing structure over XML content
US20040103105A1 (en) Subtree-structured XML database
US8566343B2 (en) Searching backward to speed up query
US20170255670A1 (en) Method, apparatus, system, and computer program product for data compression
RU2003114439A (ru) Бинарный формат для экземпляров mpeg-7
US10698953B2 (en) Efficient XML tree indexing structure over XML content
US8543614B2 (en) Packing nodes into records to store XML XQuery data model and other hierarchically structured data
KR20050097444A (ko) 엘리먼트 서치 방법 및 장치와 그 방법을 수행하기 위한프로그램이 저장된 기록 매체
KR20030001559A (ko) 멀티미디어 환경에서의 오디오 비쥬얼 데이터 콘텐츠의기술 방법
CN104021202B (zh) 一种知识共享平台的词条处理装置和方法
Ko et al. A binary string approach for updates in dynamic ordered XML data
CN101996190B (zh) 一种从网页中抽取信息的方法及装置
JP5225021B2 (ja) 全文検索方法及び装置及びプログラム
KR20050118171A (ko) 구성된 문서를 인코딩하기 위한 방법
CN103377183A (zh) 重复排版的方法和装置
Lu An Introduction to XML Query Processing and Keyword Search
RU2003128962A (ru) Схема, способ синтаксического анализа и способ формирования потока битов, основанного на схеме
Lu et al. XML Labeling scheme
Liang et al. A low-storage-consumption XML labeling method for efficient structural information extraction
Jayanthi Vector based labeling method for dynamic XML documents

Legal Events

Date Code Title Description
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 10/02/2016, OBSERVADAS AS CONDICOES LEGAIS.

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

Free format text: REFERENTE A 15A 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 2486 DE 28-08-2018 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.