BRPI9915937B1 - sistema de multimídia para estender as capacidades nativas de uma linguagem de conteúdo digital - Google Patents

sistema de multimídia para estender as capacidades nativas de uma linguagem de conteúdo digital Download PDF

Info

Publication number
BRPI9915937B1
BRPI9915937B1 BRPI9915937A BR9915937A BRPI9915937B1 BR PI9915937 B1 BRPI9915937 B1 BR PI9915937B1 BR PI9915937 A BRPI9915937 A BR PI9915937A BR 9915937 A BR9915937 A BR 9915937A BR PI9915937 B1 BRPI9915937 B1 BR PI9915937B1
Authority
BR
Brazil
Prior art keywords
interface
memory
objects
digital content
language
Prior art date
Application number
BRPI9915937A
Other languages
English (en)
Other versions
BR9915937A (pt
Inventor
Julien Signes
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Publication of BR9915937A publication Critical patent/BR9915937A/pt
Publication of BRPI9915937B1 publication Critical patent/BRPI9915937B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

patente de invenção:<b>''método e sistema para controlar fluxos de multimídia utilizando protótipos dinâmicos''<d>. a presenta invenção refere-se a um método e um sistema para codificar um conteúdo de multimídia utilizando interfaces dinâmicas. pelo fornecimento de uma interface extensível, programática para o conteúdo de uma cena, a cena pode ser mais eficientemente codificada do que uma cena na qual cada característica de cada objeto na cena é explicitamente especificada no fluxo de vídeo para cada quadro.

Description

Relatório Descritivo da Patente de Invenção para "SISTEMA DE MULTIMÍDIA PARA ESTENDER AS CAPACIDADES NATIVAS DE UMA LINGUAGEM DE CONTEÚDO DIGITAL".
CAMPO DA INVENÇÃO A presente invenção refere-se à um método aperfeiçoado para codificar seqüências de imagens geradas por computador, e mais particularmente à utilização de protótipos para codificar como as porções de um fluxo de vídeo devem ser quantificadas, animadas ou de outro modo atualizadas.
FUNDAMENTO DA INVENÇÃO
Apesar de que muitas imagens geradas por computador foram anteriormente geradas pela especificação de cada pixel em cada quadro juntos, as sequências de imagens de computador modernas frequentemente são criadas pela fusão de objetos de multimídia plurais (por exemplo, primitivos de vídeo e de gráficos em 2D e 3D) - algumas vezes com uma ou mais trilhas sonoras. Na área de multimídia, as imagens e/ou cenas são compostas utilizando uma linguagem. Por exemplo, a Linguagem de Marcação de HiperTexto (HTML) especifica a composição de texto bidimensional (2D) e os gráficos. Similarmente, a Linguagem de Marcação de Realidade Virtual (VRML) descreve os mundos tridimensionais (3D).
As linguagens de multimídia também agora incluem extensões para uma alteração dinâmica das imagens compostas. A HTML agora inclui extensões de HTML Dinâmica (DHTML), tais como estão descritas em HTML Dinâmica: A Referência Definitiva, por Danny Goodman, publicado por 0’Reilly & Associates, inc., 1998, o conteúdo do qual é incorporado aqui por referência. Mais ainda, as extensões XML para HTML fornecem uma meta-linguagem para descrever como a linguagem nativa deve ser modificada ou estendida.
Similarmente, a VRML inclui um suporte para "PROTO" definições as quais permitem que novos primitivos sejam "prototipados". Parte de uma definição é um bloco de códigos ou blocos de códigos plurais que são executados pelo ambiente de VRML para fornecer uma funcionalidade re- centemente prototipada. O Grupo de Especialistas de Filmes (MPEG) foi formado para investigar as tecnologias necessárias para a codificação e a decodificação de fluxos de imagens. O padrão resultante (agora referido como "MPEG-1") serviu como uma base para dois padrões MPEG adicionais: MPEG-2 e MPEG-4. O MPEG-4 é um padrão que está "em desenvolvimento". Os desenhos finais do comitê são os Sistemas ISO/IEC FCD 14496-1 MPEG-4 e -2 MPEG-4 Visual, o conteúdo dos desenhos finais do comitê estão incorporados aqui por referência. Estes desenhos incluem vários métodos para codificar o conteúdo de multimídia. Tais métodos incluem: (1) métodos de quantificação para parâmetros de cena, (2) fluxos de animação para codificar e transmitir as cenas de multimídia, e (3) atualizar os fluxos para modificar as informações de multimídia ao longo do tempo. O desenho finalizado de MPEG-4 inclui suporte para: (1) quantificação em Formato Binário para Cenas (daqui por diante "BIFS"), (2) animação utilizando BIFS (daqui por diante "BIFS-Anim") e (3) controle de atualização utilizando BIFS (daqui por diante "BIFS-Comando").
Utilizando a quantificação sob BIFS inclui identificar nós e campos com uma categoria de quantificação. A cada campo de cada nó é designada uma categoria de quantificação, a qual é aplicada ao campo quando é dada uma estrutura de parâmetro de quantificação para parametrizar durante o processo de quantificação. BIFS-Anim define um método de codificação para uma animação baseada em fluxo e arquivo de dados de multimídia. O BIFS-Anim inclui 3 componentes básicos: (1) um gráfico da cena, (2) uma máscara de animação, e (3) quadros de animação. A cena inclui (a) objetos não identificados que são estáticos e (b) objetos identificados que devem ser modificados. A máscara de animação determina as propriedades dos objetos identificados que devem ser modificados pelo fluxo de animação. O BIFS-Comando é um protocolo para atualizar os nós de BIFS e um gráfico de cena. Ele permite o transporte de mudanças para a cena enviando comandos para substituir a cena toda por outra, removendo alguns dos objetos identificados, ou mudando os valores das propriedades dos objetos identificados na cena.
SUMÁRIO DA INVENÇÃO É um objeto da presente invenção fornecer interfaces e/ou extensões de programação dinâmica para uma linguagem de conteúdo de multimídia e/ou uma linguagem de colocação de multimídia . É um outro objeto da presente invenção fornecer conexões para os métodos de animação, modificação e quantificação e fornecer novos protótipos para as cenas, de tal modo que as cenas possam ser representadas, animadas e modificadas eficientemente.
Estes e outros objetos da presente invenção são tratados por um ou mais de (1) um método implementado em computador para codificar o conteúdo de multimídia utilizando interfaces dinâmicas, (2) um sistema para codificar o conteúdo de multimídia utilizando interfaces dinâmicas, e (3) um produto de programa de computador para codificar o conteúdo de multimídia utilizando interfaces dinâmicas.
BREVE DESCRIÇÃO DOS DESENHOS
Uma apreciação mais completa da invenção e muitas das suas vantagens resultantes se tornarão prontamente aparentes com referência à descrição detalhada seguinte, particularmente quando considerada em conjunto com os desenhos acompanhantes, nos quais: Figura 1 é uma ilustração esquemática de um computador para implementar o método da presente invenção;
Figura 2 é um diagrama de blocos da inter-relação entre uma declaração de interface e uma declaração de cena; e Figura 3 é um exemplo de pseudocódigo para uma declaração de interface.
DESCRIÇÃO DA MODALIDADE PREFERIDA
Referindo agora aos desenhos, em que os números de referência iguais designam as partes idênticas ou correspondentes através das diversas vistas, a Figura 1 é uma ilustração esquemática de um sistema de computador para codificar um conteúdo de multimídia utilizando as interfa- ces dinâmicas. Um computador 100 implementa o método da presente invenção, em que o gabinete do computador 102 aloja uma placa mãe 104 a qual contém uma CPU 106, uma memória 108 (por exemplo, DRAM, ROM, EPROM, EEPROM, SRAM, SDRAM, e RAM Instantânea), e outros dispositivos lógicos de uso especial opcionais (por exemplo, ASICs) ou dispositivos lógicos configuráveis (por exemplo, GAL e FPGA reprogramável). O computador 100 também inclui dispositivos de entrada plurais, (por exemplo, um teclado 122 e um mouse 124), e uma placa de vídeo 110 para controlar o monitor 120. Em adição, o sistema de computador 100 ainda inclui um leitor de disco flexível 114; outros dispositivos de mídia removível (por exemplo, disco compacto 119, fita, e mídia magneto-ótica removível (não mostrada)); e um disco rígido 112, ou outros leitores de mídia de alta densidade fixos, conectados utilizando um barramento de dispositivos apropriado (por exemplo, um barramento SCSI um barramento IDE Aumentado, ou um barramento Ultra DMA). Também conectado no mesmo barramento de dispositivos ou em outro barramento de dispositivos, o computador 100 pode incluir adicionalmente um leitor de disco compacto 118, uma unidade de leitor / escritor de disco compacto (não mostrada) ou um toca-discos de disco compacto (não-mostrado). Apesar do disco compacto 119 ser mostrado em um suporte de CD, o disco compacto 119 pode ser inserido diretamente em leitores de CD-ROM que não requerem suportes. Em uma modalidade alternativa, a presente invenção é implementada como uma ou de uma combinação de: (1) uma caixa de decodificação (“set-top box”), (2) uma placa de vídeo, e/ou (3) uma unidade de recepção / reprodução. Em ainda outra modalidade alternativa, uma impressora (não mostrada) fornece listagens impressas de interfaces para a codificação do conteúdo de multimídia. O sistema inclui pelo menos um meio legível por computador. Exemplos do meio legível por computador são os discos compactos 119, os discos rígidos 112, os discos flexíveis, as fitas, os discos magneto-óticos, PROMs (EPROM, EEPROM, EPROM Instantânea), DRAM, SRAM, SDRAM, etc. Armazenada em qualquer uma ou em uma combinação de mídias legíveis por computador, a presente invenção inclui um software para controlar tanto o hardware do computador 100 quanto para permitir que o computador 100 interaja com um usuário humano. Tal software pode incluir, mas não está limitada a, dispositivos acionadores, sistemas de operação e aplicações do usuário, tais como as ferramentas de desenvolvimento. Tal mídia legível por computador ainda inclui o produto de programa de computador da presente invenção para codificar o conteúdo de multimídia utilizando as interfaces dinâmicas. Os dispositivos de código de computador da presente invenção podem ser qualquer mecanismo de código interpretado ou executável, incluindo, mas não limitado a rotinas, interpretadores, bibliotecas de conexão dinâmica, classes Java, e programas executáveis completos.
Como mostrado na Figura 2, um fluxo de multimídia é recebido pela presente invenção e decodificado em componentes de cena e componentes de interface. Os componentes de cena incluem informações tanto sobre (1) objetos digitais na cena quanto (2) como estes objetos são atualizados ou animados. Os componentes de interface incluem as definições de interface que, após a decodificação, são armazenados internamente, e, em uma modalidade, as definições são armazenadas, pelo menos parcialmente, em uma Tabela de Codificação de Interface. Em particular, a Tabela de Codificação de Interface se anexa a uma nova interface e armazena os elementos de codificação de uma dada definição de interface de modo a aplicar os métodos (por exemplo, os métodos de quantificação, animação e atualização) da linguagem de conteúdo digital (por exemplo, MPEG-4 BIFS ou VRML) aos componentes de cena.
Uma Tabela de Codificação de Interface inclui as seguintes informações: (1) um modo de atualização, (2) um modo de animação (ou um modo Anim), (3) uma categoria de quantificação, (4) parâmetros de quantificação, e (5) uma categoria de animação. Utilizando o modo de atualização, qualquer parâmetro pode ser declarado como um tipo "entrada”. Nas linguagens (por exemplo, a VRML) que sustenta definir os tipos de parâmetros, ou implicitamente ou explicitamente, os parâmetros não precisam ser definidos separadamente como um tipo “entrada”. Especificamente, a VRML permite que os parâmetros sejam definidos como Evento de Entrada (Eventln), Campo Exposto (ExposedField), Evento de Saída (EventOut), e Campo (Fi-eld). Tanto Evento de entrada (Eventln) quanto Campo Exposto (ExposedField) são, por definição parâmetros do tipo “entrada”. Quando utilizado, um tipo “entrada” indica que a interface pode receber atualizações adicionais do fluxo de multimídia (por exemplo, através de um fluxo de atualização tal como um fluxo de BIFS-Comando). O modo Anim pode operar sobre qualquer parâmetro na interface identificando um parâmetro com a categoria de animação correspondente. O modo de quantificação pode também operar sobre qualquer parâmetro na interface, identificando um parâmetro com a categoria de quantificação correspondente, e transmitindo parâmetros de quantificação adicionais opcionais.
Os fluxos de multimídia podem utilizar as informações da Tabela de Codificação de Interface (ICT) como segue: (1) para controlar a quantificação, (2) para atualizar uma porção de uma interface correspondente, e (3) para executar a animação através da interface. Especificamente, uma categoria de quantificação qc[i] associada com um parâmetro de interface ai é aplicado utilizando o valor da ICT qp[i] assim como outras informações con-textuais da cena. Isto permite que a declaração de interface seja comprimida quase que otimamente. Qualquer parâmetro de interface ai dado identificado em “modo de entrada (in)” pode ser modificado por um fluxo de atualização que modificará os valores da interface em um dado ponto no tempo. A interface pode ser animada utilizando um fluxo de animação contínuo para atualizar continuamente um dos valores. A categoria de animação ac[i] é utilizada neste caso. A Tabela de Codificação de Interface é parte da Declaração de Interface que tem a estrutura mostrada pelo exemplo na Figura 3. Os parâmetros particulares estão descritos abaixo. máscara ICT: Máscara de valores Booleanos para determinar qual informação está disponível para cada parâmetro. useQuant: Booleano para determinar se um parâmetro de quantificação é enviado para cada parâmetro. useUpdate: Booleano para determinar se a informação sobre o “modo de entrada (in)” é enviada para cada parâmetro assim como a informação de atualizar categoria. Como descrito acima, nas linguagens que já suportam definir independentemente se um parâmetro pode ser atualizado, este parâmetro é opcional. useAnim: Booleano para determinar se a informação sobre o "modo dyn" e a categoria de animação são enviados para cada parâmetro. Um processamento adicional é executado para cada parâmetro ai na interface. Como descrito abaixo com referência à Definição de PROTOinterface, o número de parâmetros é especificado na variável "numCampos". Assim, para cada parâmetro, as seguintes informações são (opcionalmente) especificadas: dados do modo de entrada: Informações sobre se este parâmetro da interface é "atualizável". Estas informações também podem vir da declaração de interface. dados de categoria quant: A categoria de quantificação a ser utilizada. Estes dados são usados quando "useQuant" é verdadeiro. dados de parâmetro quant: Os parâmetros de quantificação específicos para esta categoria: valores min e máx, e informações utilizadas para compressão - de acordo com o método de quantificação específica / quantificação inversa da categoria. Estes dados são utilizados quando "useQuant" é verdadeiro. dados de parâmetro anim: O esquema de animação escolhido para o campo específico. Estes dados são utilizados quando "useAnim" é verdadeiro.
No contexto de MPEG-4 e de VRML, a presente invenção permite que novas interfaces sejam definidas através de PROTOs e EXTERN-PROTOs. A única diferença entre PROTOs e EXTERNPROTOs é que o código que implementa a interface é fornecido no primeiro caso dentro da mesma descrição (PROTO), enquanto que no segundo caso é fornecida em um recurso externo.
Em ambos os caso, a utilização de uma ICT com a declaração de protótipo permite que as declarações de campo sejam identificadas com todos os parâmetros necessários para codificar, animar e atualizar os nós posteriormente. Em MPEG-4, a ICT inclui as seguintes informações: (1) uma categoria de quantificação (ver Tabela 1), (2) uma categoria de animação (ver Tabela 2), e (3) parâmetros de quantificação (incluindo os valores mínimos e máximos para o campo). TABELA 1: Categorias de Quantificação TABELA 2: Categorias de Animação Com esta informações juntamente com a definição PROTO, um terminal de MPEG-4 será capaz de gerar uma Tabela de Codificação de Nós necessária para codificar, atualizar e animar um nó. Abaixo está um exemplo típico de uma Tabela de Codificação de Nós para um nó de Luz Direcional. Os valores mín. e max assim como os tipos de Quantificação (Q) e Animação (A) são fornecidos. Todas as ids são automaticamente deduzidas da declaração de campo. Os Tipos de Dados de Nós (SFWorldNode, SF3Dnode) e as suas ids correspondentes são utilizados para determinar o contexto no qual o nó pode ser utilizado. Os PROTOs recebem uma categoria de nó específica. TABELA 4 : Tipos de MPEG-4 Sintaxe Binária O seguinte é a sintaxe binária para a definição de PROTO com a Tabela de Codificação de Interface correspondente. A sintaxe de fluxo de bits binária é especificada acompanhando a linguagem de MPEG-4 MSDL. 1.0 PROTOdeclaration PROTOdeclaration () { PROTOcode(); protoCodingtabie (); } 2.0 PROTOinterfacelDefinition class PROTOinterfaceDefinítion { bit (id Bits) id; //A identificação de usuário para referência ao Proto Bit (5) type; // tipo contextual, usando últimos 5 bits, tabela 1. bit (4) fieldBits; // Número de números de especificação de campos bit (fieldBits) numfields; // Número de camposm e eventos no proto for (l=0); KNUMflELDS; ++I) { bit (2) eventType; // Evento de entrada (Eventln), Evento de Saída (EventOut), campo ou campo exporto bit (6) fieldType; // O tipo de cmapo, usando tabela 1 3.0 PROTOcode class PROTOcode { bit (1) isExtern // Este é um proto externo if (isExtern) { // Ler URL para localização de defs de PROTO MFUrl locations; } else { do { SFNode node (SFWorldNodeType, true); bit (1) moreNodes; } while (moreNodes); 4.0 SFNode class SFNode (ir.t nodeDataType,boolean ISED) ( bit(l) isReused ; if (isReused) ( bit(BIFSConfig.nodelDbits! nodelD; ) else ( bit (GetNDTnbBits(nodeDataType)> localNodeType; nodeType - GetNodeType (nodeDataType, localNodeType ) ; bit(l) isUpdateable; if (isUpdateable) { bit(BIFSConfig.nodelDbits) nodelD; ) bit(l) MaskAccess; if (MaskAccess) ( if (ISED) isedMaskNodeDescription node(MakeNode(nodeDataType, nodeType)); else MaskNoaeDescrcpcicn mnode(MakeNode(nodeDataType, nodeType));
I else { if (ISED) isedLiscNodeDescription mnode(MakeNode(nodeDataType, nodeType >); else ListNodeDescription lnode(MakeNode(nodeDataType, nodeType)); ) ) ) 5.0 isedMaskNodeDescription class isedMaskNodeDescription(NadeData node) ( for (i=0; i<node.numDEFfields; i + +) ( bit(l) Mask; if (Mask) ( if (node. nodeType =*· PROTO) { bit(1) ISedField; if (IsedField) bit(node.numDEFfields;) protoField; else Field value (node.field(node.de£2all[i]] ) ; > else | Field value(node.field[node.def2all[i]]); ) ) I Ζ/ I ο . 6.0 isedUstNodeDescription class isedListNodeDescription (NodeData node) { bit(l) endFlaa; while (!EndFlag)( int (node.r.DEFbits) fieldRef; if [node. r.odeType =«■ PROTO) ( bitU) ISedField; if (IsedField) bit(node . numDDFf ields ,·) protoField; el se Field value(node.field[node.def2allfi]]) ; > else { Field value(node . field(node.def2allIi])); bit(l) endFlag; ) ) 7.0 protoCodingTable InterfaceCodingTablei) ;
InterfaceCodingMask;
InterfaceCodingParameters; > 8.0 pratoCodingMask InterfaceCodingMask[) ( boolean useQuant; boolean useUpdate,' boolean useAnim; ) 9.0 protoCodingParameters InterfaceCodingParameters() ( for (i =0; i < proto.NbdefFields; i++) i if (useQuant) ( ui nt(4) quantCategory; if (quantCategory «·« 13) uint(5) nbBits,· bit(l) hasMinMax; if (hasMinMax) ( SFField(fieldType) minFieldValue; SFField (fieldType) i"·'--*'- - ’ HValue;
I ) / / REM: aqui não precisamos de um "isDpdatable" / / já que ele vem de maneira automática / / do "event and field type" if (useAnim) { boolean isDyní if (isDyn) { uint(4) animCategory; ) i ) Uma utilização ilustrativa da presente invenção utiliza os PRO-TOtipos em uma aplicação de MPEG-4 para implementar uma aplicação pro- fissional colaborativa que permite que múltiplos engenheiros trabalhem simultaneamente em um modelo / projeto (por exemplo, um modelo de barco) de locais remotos e ainda vejam as mudanças em tempo real. Os engenheiros executam as experiências no projeto e querem que todos os locais obtenham os resultados das experiências simultaneamente, enquanto utilizando a transmissão mais eficientemente comprimida para se adaptar a uma conexão de rede de baixa taxa de bits. Mais ainda, o sistema deve ser genérico o bastante para acomodar vários projetos. Utilizando a estrutura de MPEG-4 para esta aplicação, uma estrutura genérica e eficiente é obtida para todo o projeto de comunicação e de aplicação, ao invés de designar uma aplicação específica, e potencialmente sub-ótima, para cada caso.
Para este exemplo, um modelo de barco em 3D que inclui 10.000 polígonos feitos com 20.000 vértices é assumido. Na experiência, os engenheiros querem analisar e controlar a deformação do barco que resulta de certos ventos. Geralmente a deformação seria controlada por diversos parâmetros, por exemplo, a velocidade e a direção do vento, e a altura das ondas. O barco é então definido como um PROTO aumentado em MPEG-4, e quando da recepção de novos valores, uma Rotina dentro do PROTO calcula os novos parâmetros dos vértices. Deste modo, os engenheiros podem executar uma simulação ao vivo e transmitir, utilizando o protocolo BIFS-Anim somente por alguns parâmetros codificados otimamente, ao invés de reenviar os 20.000 vértices. Adicionalmente, cada vez que novos resultados devem ser testados, os engenheiros precisam somente transmitir um novo conjunto de parâmetros utilizando o protocolo de BIFS-Comando.
Baseado no exemplo, o seguinte PROTOtipo pode ser definido: PROTO WindBoat [ exposedField SFVec3f windSpeed exposedField SFVec3f windOriervtaticn exposedField SFFloan waveHeight ] í Script { # ( Mudar vfétices de acordo com parâmetros } InaexedFaceSet # Modelo 3D do barco } Parâmetros da ICT
Os seguintes parâmetros de codificação podem ser associados na ICT.
Além de adicionar funcionalidade, a presente invenção produz os fluxos de bits codificados mais eficientemente. Comparações de taxas de bits podem ser feitas comparando as informações transmitidas sem e com a utilização da Interface PROTO. O ganho pode ser medido por um instanta-neamento PROTO (colocando um barco em uma cena), para uma atualização de PROTO (mudar valores remotamente), ou para animação. O tamanho em bytes para cada dado a ser transmitido é comparado. Note que se PROTOs comuns sem ICT fossem utilizados, então a funcionalidade de atualização e de animação não estaria disponível.
Como um segundo exemplo, a presente invenção pode ser utilizada para animar uma bola que pula. Ao invés de enviar um fluxo de comandos para atualizar cada polígono da bola em cada quadro, uma interface é criada a qual controla a animação. A interface define um parâmetro para controlar a altura da bola do solo. De modo a animar a bola, somente o parâmetro de altura precisa ser mudado para cada quadro - a rotina da interface executa a atualização real dos vértices. Similarmente, se a interface da bola incluía um segundo parâmetro para a cor, a cor de cada polígono seria mudada por uma rotina ao invés de pela animação das cores dos polígonos individualmente.
Apesar da presente invenção ter sido descrito acima em termos de uma interface que estende os métodos nativos fornecidos por uma lin- guagem, a presente invenção está ainda direcionada para fornecer interfaces para interfaces. Do mesmo modo como os objetos podem herdar um comportamento das classes superiores, assim podem as interfaces herdar uma funcionalidade de interfaces anteriormente instantaneadas.
Como seria evidente para alguém versado na técnica, o método e o sistema da presente invenção pode ser praticado de outro modo além do explicitamente apresentado aqui sem se afastar do espírito da invenção. Portanto, a especificação não pretende ser limitante, e somente o escopo das reivindicações define os limites da invenção.

Claims (4)

1. Sistema de multimídia para estender as capacidades nativas de uma linguagem de conteúdo digital que compreende: um processador (106); uma primeira memória (108) incluindo uma linguagem de conteúdo digital com conjunto de capacidades nativas; e um decodificador para receber dados de BIFS de um fluxo MPEG-4, o decodificador transmitindo dados de BIFS decodificados como um fluxo de bits binários para uma interface a ser executada pelo processador (106) para quantizar, animar e atualizar os objetos digitais; caracterizado pelo fato de que ainda compreende: uma segunda memória (108) para receber, em um fluxo de entrada de vídeo, objetos digitais codificados e o referido protótipo da interface a ser executada pelo processador (106) para estender dinamicamente o conjunto de capacidades nativas da linguagem de conteúdo digital conforme definições do protótipo, as definições de protótipo definindo a interface como uma interface de compressão binária pela qual pelo menos valores dos objetos digitais recebidos são quantizados de forma parametrizada, os objetos digitais recebidos são animados de forma parametrizada e os objetos digitais recebidos são atualizados de forma parametrizada, sendo que o referido decodificador realiza a mencionada transmissão do referido fluxo de bits binários para a interface para a realização dinâmica da quantização, animação e atualização dos objetos digitais.
2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a linguagem de conteúdo digital é uma linguagem de marcação de realidade virtual que inclui uma extensão de protótipo.
3. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a primeira memória (108) compreende uma memória não volátil.
4. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a segunda memória (108) compreende uma memória repro-gramável.
BRPI9915937A 1998-12-04 1999-11-30 sistema de multimídia para estender as capacidades nativas de uma linguagem de conteúdo digital BRPI9915937B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/205,192 US6195088B1 (en) 1998-12-04 1998-12-04 Method and system for controlling multimedia streams using dynamic prototypes
PCT/US1999/026031 WO2000034922A1 (en) 1998-12-04 1999-11-30 Method and system for controlling multimedia streams using dynamic prototypes

Publications (2)

Publication Number Publication Date
BR9915937A BR9915937A (pt) 2001-08-21
BRPI9915937B1 true BRPI9915937B1 (pt) 2016-05-10

Family

ID=22761189

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI9915937A BRPI9915937B1 (pt) 1998-12-04 1999-11-30 sistema de multimídia para estender as capacidades nativas de uma linguagem de conteúdo digital

Country Status (11)

Country Link
US (1) US6195088B1 (pt)
EP (1) EP1138024A4 (pt)
JP (2) JP3908462B2 (pt)
KR (1) KR100510221B1 (pt)
CN (1) CN1203454C (pt)
AU (1) AU753885B2 (pt)
BR (1) BRPI9915937B1 (pt)
CA (1) CA2352293C (pt)
IL (1) IL143437A0 (pt)
NO (1) NO319076B1 (pt)
WO (1) WO2000034922A1 (pt)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654931B1 (en) * 1998-01-27 2003-11-25 At&T Corp. Systems and methods for playing, browsing and interacting with MPEG-4 coded audio-visual objects
US6934906B1 (en) 1999-07-08 2005-08-23 At&T Corp. Methods and apparatus for integrating external applications into an MPEG-4 scene
US7085995B2 (en) * 2000-01-26 2006-08-01 Sony Corporation Information processing apparatus and processing method and program storage medium
WO2001056281A1 (fr) * 2000-01-26 2001-08-02 Sony Corporation Procede et systeme informatique et support d'enregistrement de programmes
US6833840B2 (en) * 2000-02-14 2004-12-21 Optibase Ltd PROTO implementation in MPEG-4
US6898320B2 (en) * 2000-03-14 2005-05-24 Samsung Electronics Co., Ltd. Method for processing nodes in 3D scene and apparatus thereof
US8296805B2 (en) * 2000-05-30 2012-10-23 Sony Corporation Command description scheme providing for dynamic update of instance documents and their associated schema
DE10030764A1 (de) * 2000-06-23 2002-01-10 Realspace Gmbh Verfahren, Computerprogrammprodukt, Computersystem, Netzwerkserver und Netzwerkclient zur Erzeugung einer veränderlichen Darstellung eines Objektes
US20020120652A1 (en) * 2000-10-20 2002-08-29 Rising Hawley K. Two-stage mapping for application specific markup and binary encoding
EP1258837A1 (en) * 2001-05-14 2002-11-20 Thomson Licensing S.A. Method to generate mutual photometric effects
US7290057B2 (en) * 2002-08-20 2007-10-30 Microsoft Corporation Media streaming of web content data
US6937244B2 (en) * 2003-09-23 2005-08-30 Zhou (Mike) Hong Apparatus and method for reducing the memory traffic of a graphics rendering system
KR20050034811A (ko) * 2003-10-10 2005-04-15 한국전자통신연구원 이질적 환경 하에서 멀티미디어 서비스의 서비스질 지원을위한 시스템적인 형식 변환 방법 및 시스템
KR100695126B1 (ko) * 2003-12-02 2007-03-14 삼성전자주식회사 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템과, afx부호화 방법 및 장치
US7739599B2 (en) * 2005-09-23 2010-06-15 Microsoft Corporation Automatic capturing and editing of a video
US7643673B2 (en) * 2006-06-12 2010-01-05 Google Inc. Markup language for interactive geographic information system
US7945142B2 (en) 2006-06-15 2011-05-17 Microsoft Corporation Audio/visual editing tool
CN101715145B (zh) * 2008-10-06 2012-08-15 辉达公司 利用级联存储器评估处理能力的设备和方法
KR101685922B1 (ko) * 2010-04-05 2016-12-13 삼성전자주식회사 가상 세계 처리 장치 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002803A (en) * 1997-03-11 1999-12-14 Sharp Laboratories Of America, Inc. Methods of coding the order information for multiple-layer vertices
US6031548A (en) * 1997-06-13 2000-02-29 International Business Machines Corporation Progressive multi-level transmission and display of triangular meshes
US5956039A (en) * 1997-07-25 1999-09-21 Platinum Technology Ip, Inc. System and method for increasing performance by efficient use of limited resources via incremental fetching, loading and unloading of data assets of three-dimensional worlds based on transient asset priorities
US5999944A (en) * 1998-02-27 1999-12-07 Oracle Corporation Method and apparatus for implementing dynamic VRML
US6031872A (en) * 1998-06-16 2000-02-29 Daewoo Electronics Co., Ltd. Method and apparatus for encoding a video signal

Also Published As

Publication number Publication date
EP1138024A1 (en) 2001-10-04
CN1203454C (zh) 2005-05-25
AU1908800A (en) 2000-06-26
WO2000034922A1 (en) 2000-06-15
JP3908462B2 (ja) 2007-04-25
CN1329737A (zh) 2002-01-02
NO20012722L (no) 2001-07-30
NO20012722D0 (no) 2001-06-01
KR100510221B1 (ko) 2005-08-30
KR20010103709A (ko) 2001-11-23
US6195088B1 (en) 2001-02-27
JP2002532924A (ja) 2002-10-02
NO319076B1 (no) 2005-06-13
JP2007151119A (ja) 2007-06-14
AU753885B2 (en) 2002-10-31
BR9915937A (pt) 2001-08-21
CA2352293A1 (en) 2000-06-15
EP1138024A4 (en) 2005-06-29
IL143437A0 (en) 2002-04-21
CA2352293C (en) 2009-09-15

Similar Documents

Publication Publication Date Title
BRPI9915937B1 (pt) sistema de multimídia para estender as capacidades nativas de uma linguagem de conteúdo digital
Signes et al. MPEG-4's binary format for scene description
RU2360275C2 (ru) Уровень интеграции сред
US6741242B1 (en) Multimedia documents integrating and displaying system
US20100033484A1 (en) Personal-oriented multimedia studio platform apparatus and method for authorization 3d content
US6898320B2 (en) Method for processing nodes in 3D scene and apparatus thereof
JP2007116725A (ja) データアレイの予測符号化方法およびシステム
WO2024037247A1 (zh) 一种点云媒体的数据处理方法及相关设备
US20030001877A1 (en) Device for converting a BIFS text format into a BIFS binary format
Flotyński et al. Building multi-platform 3D virtual museum exhibitions with Flex-VR
US6549206B1 (en) Graphic scene animation signal, corresponding method and device
Thomas et al. MPEG media enablers for richer XR experiences
KR100316752B1 (ko) 장면의 공간과 시간 묘사의 표현으로 다른 데이터 타입의 정보를 실수값 입력장치에 연결하는 방법
AU739379B2 (en) Graphic scene animation signal, corresponding method and device
KR100657940B1 (ko) 깊이 영상 기반 표현 데이터 압축에 관한 메타표현을이용한 입력파일 생성 방법 및 시스템과, afx부호화방법 및 장치
Mitrea et al. BiFS-based approaches to remote display for mobile thin clients
MXPA01005521A (en) Method and system for controlling multimedia streams using dynamic prototypes
US20240193862A1 (en) Information processing device and method
Signès et al. MPEG-4: Scene Representation and Interactivity
Laier et al. Content-based multimedia data access in Internet video communication
Entrekin et al. Television Graphics
Kaczor et al. MPEG-4 binary format codec for scene description
Batali et al. The Evolution of RIB-Plumbing the Production Pipeline

Legal Events

Date Code Title Description
B25G Requested change of headquarter approved

Owner name: FRANCE TELECOM (FR)

Free format text: SEDE ALTERADA CONFORME SOLICITADO NA PETICAO NO 020050079347/RJ DE 09/08/2005.

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]

Free format text: INDEFIRO O PEDIDO DE ACORDO COM O ART.8O COMBINADO COM ART. 13O DA LPI E ART. 10 INCISOS V E VI DA LPI

B12B Appeal against refusal [chapter 12.2 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/05/2016, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time
B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)