BR9810774B1 - Aparelho para processamento de um fluxo de dados digital, dispositivo para operação, sistema para processamento de dados e método de processamento do dito fluxo de dados digital - Google Patents

Aparelho para processamento de um fluxo de dados digital, dispositivo para operação, sistema para processamento de dados e método de processamento do dito fluxo de dados digital Download PDF

Info

Publication number
BR9810774B1
BR9810774B1 BRPI9810774-7A BR9810774A BR9810774B1 BR 9810774 B1 BR9810774 B1 BR 9810774B1 BR 9810774 A BR9810774 A BR 9810774A BR 9810774 B1 BR9810774 B1 BR 9810774B1
Authority
BR
Brazil
Prior art keywords
data stream
packets
list
received
output
Prior art date
Application number
BRPI9810774-7A
Other languages
English (en)
Other versions
BR9810774A (pt
Inventor
Jean-Claude Sarfati
Jerome Meric
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Publication of BR9810774A publication Critical patent/BR9810774A/pt
Publication of BR9810774B1 publication Critical patent/BR9810774B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40117Interconnection of audio or video/imaging devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Threshing Machine Elements (AREA)
  • Pyrane Compounds (AREA)
  • Detergent Compositions (AREA)
  • Iron Core Of Rotating Electric Machines (AREA)
  • Circuits Of Receivers In General (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
  • Television Systems (AREA)
  • Processing Of Color Television Signals (AREA)
  • Stereophonic System (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Photoreceptors In Electrophotography (AREA)
  • Control And Other Processes For Unpacking Of Materials (AREA)

Description

"APARELHO PARA PROCESSAMENTO DE UM FLUXO DE DADOS DIGITAL, DISPOSITIVO PARA OPERAÇÃO, SISTEMA DE PROCESSAMENTO DE DADOS E MÉTODO DE PROCESSAMENTO DO DITO FLUXO DE DADOS DIGITAL". A presente invenção refere-se à promoção da interface de programas de aplicações em dispositivos físicos, particularmente, mas não exclusivamente, no contexto de receptores/decodificadores para sistemas de televisão digital. 0 advento de sistemas de transmissão digital abriu a possibilidade de uso desses sistemas para outras finalidades. Uma dessas é proporcionar interatividade com o usuário final. Como aqui usado, o termo "sistema de transmissão digital" inclui qualquer sistema de transmissão para transmissão ou difusão de, por exemplo, dados digitais, basicamente audiovisuais ou de multimídia.
Ainda que a presente invenção seja particularmente aplicável a um sistema de televisão digital de difusão, a invenção também pode ser aplicável a uma rede de telecomunicação fixa para aplicações entre redes multimídia, a uma televisão de circuito fechado, e assim por diante. Como aqui usado, o termo "sistema de televisão digital" inclui, por exemplo, qualquer sistema via satélite, terrestre, a cabo e outros. A presente invenção encontra aplicação específica em um sistema de televisão digital de difusão, no qual os sinais recebidos são passados, por um receptor, a um receptor/ decodificador e, dai, para um aparelho de televisão. 0 termo "receptor/ decodificador", aqui usado, conota um receptor para recebimento de sinais codificados ou não codificados, por exemplo, sinais de televisão e/ou rádio, que podem ser difundidos ou transmitidos por algum outro meio. 0 termo também pode conotar um decodificador para decodificação de sinais recebidos.
As modalidades desses receptores/ decodificadores podem incluir um decodificador integral com o receptor, para decodificação dos sinais recebidos, por exemplo, em uma "caixa de posicionamento de topo", tal como um decodificador funcionando em combinação com um receptor fisicamente separado, ou esse decodificador incluindo funções adicionais, tais como um browser de rede, um gravador de video ou uma televisão. 0 receptor/ decodificador decodifica um sinal do tipo MPEG comprimido em um sinal de televisão para um aparelho de televisão. É controlado por um monofone de controlador remoto, por meio de uma interface no receptor/ decodificador, também conhecida como uma caixa de posicionamento de topo ou STB. 0 termo MPEG se refere aos padrões de transmissão de dados desenvolvidos pelo grupo de trabalho da Organização de Padrões Internacionais "Grupo Especialista de Imagens em Movimento" e, em particular, mas não exclusivamente, ao padrão MPEG-2 desenvolvido para aplicações de televisão digital e apresentado nos documentos ISO 13818-1, ISO 13818-2, ISO 13818-3 E ISO 13818-4. No contexto do presente pedido de patente, o termo inclui todas as variantes, modificações ou desenvolvimentos dos formatos MPEG aplicáveis ao campo de transmissão de dados digitais.
Um modo de proporcionar a interatividade descrita acima é processar uma aplicação no receptor/ decodificador por meio do qual o sinal de televisão é recebido. É desejável a permissão de comunicação de várias aplicações com vários dispositivos físicos de uma maneira transparente. Os pedidos de patentes copendentes do mesmo Requerente, PCT/ET97/02115 E PCT/EP97/02116, descrevem sistemas nos quais uma ou mais aplicações podem ser baixadas por um receptor/ decodificador e comunicar-se com os dispositivos físicos no receptor/ decodificador, tais como interfaces, paralelas e seriais, e leitoras de cartões inteligentes, por meio de um conector de dispositivo para cada dispositivo e um gerenciador de dispositivo global. Como aqui usado, o termo "cartão inteligente" inclui, mas não tão exclusivamente, qualquer dispositivo de cartão à base de chip, ou objeto de função e desempenho similares, possuindo, por exemplo, microprocessador e/ou armazenamento de memória. Estão incluídos nesse termo os dispositivos tendo formas físicas alternativas a um cartão, por exemplo, dispositivos em forma de chave, tais como os frequentemente usados em sistemas decodificadores de TV.
Em conformidade com a presente invenção, sugeriu-se proporcionar a capacidade para uma caixa de posicionamento de topo, para proporcionar um fluxo de saída digital de um fluxo de dados recebido, por exemplo, para permitir o armazenamento digital de programas e dados recebidos, usando, por exemplo, um gravador de vídeo digital, ou facilitar a comunicação de dados com outros dispositivos, por exemplo, por meio de uma rede TCP/IP.
Um problema para se proporcionar esse fluxo de saída digital é que o fluxo de dados recebido contém geralmente dados MPEG a uma taxa de bits muito alta, e seria impraticável armazenar o fluxo de dados recebido completo.
Além disso, o fluxo de dados recebido pode conter muitas informações que não são de interesse do espectador. Um receptor/ decodificador contém um aparelho para desmultiplexação e, se necessário, descodificação de uma parte do fluxo de dados recebido, para proporcionar um único canal para apresentação analógica, que pode ser gravada via um gravador de vídeo analógico convencional.
No entanto, o aparelho convencional carece de flexibilidade e não pode proporcionar um fluxo de dados adequado para armazenamento digital.
Os aspectos da invenção propõem novas técnicas para proporcionar um fluxo de dados digital adequado para armazenamento em um gravador de video digital. Embora a invenção ofereça muitas vantagens no processamento de fluxo de dados MPEG, contendo vários programas de televisão e outros dados recebidos por um receptor/ decodificador (para cabo ou, particularmente, satélite), para produzir um fluxo de saída adequado para transmissão a um gravador de vídeo digital, considerou-se, através dos inventores, que a invenção pode ser aplicada ao processamento de outros fluxos de dados e pode proporcionar uma edição em tempo real de vídeo digital.
Em um primeiro aspecto, a invenção proporciona um aparelho para processamento de um fluxo de dados digital, compreendendo: um meio para recebimento de um fluxo de dados digital, compreendendo uma pluralidade de pacotes de informações; um meio para armazenamento de uma lista de pacotes específicos a serem selecionados do fluxo de dados digital recebido, a dita lista incluindo informações de prioridade que indica uma prioridade atribuída a cada pacote; um meio para extração dos pacotes especificados na dita lista do fluxo de dados recebido; um meio de processamento, para processamento dos pacotes extraídos a fim de produzir um fluxo de dados de saída e de reduzir a seletividade dos vários pacotes extraídos no fluxo de dados de saída, por inclusão dos pacotes extraídos com prioridade mais alta no fluxo de dados de saída, em preferência aos pacotes extraídos com prioridade mais baixa.
Esse aspecto da presente invenção se estende a um método de processamento de um fluxo de dados digital, compreendendo: o recebimento de um fluxo de dados digital, compreendendo uma pluralidade de pacotes de informações; o armazenamento de uma lista de pacotes específicos a serem selecionados do fluxo de dados digital recebido, a dita lista incluindo informações de prioridade indicando uma prioridade atribuída a cada pacote; a extração de pacotes especificados na dita lista do fluxo de dados recebido; e o processamento dos pacotes extraídos para produzir um fluxo de dados de saída; e a redução da seletividade dos vários pacotes extraídos no fluxo de dados de saída, por inclusão dos pacotes extraídos com prioridade mais alta no fluxo de dados de saída, em preferência aos pacotes extraídos com prioridade mais baixa.
Desse modo, com esse aspecto da invenção, os pacotes específicos podem ser diretamente extraídos do fluxo de dados recebido (que também pode ser denominado o fluxo de transporte original) e das partes selecionadas, correspondendo, por exemplo, a um ou mais programas de interesse, extraídos e compilados no fluxo de dados de saída (que também pode ser chamado de fluxo de transporte parcial).
Considera-se que o aparelho ofereça uma flexibilidade importante, pois pode ser empregado simplesmente para copiar um fluxo de transporte original, contendo dados em vários canais inalterados, ou selecionar um pacote individual de dados.
Como a lista contém informações de prioridade indicando a prioridade atribuída a cada pacote, as informações menos importantes, por exemplo, as associadas com um programa de menor interesse, podem ser descartadas, originando uma deterioração na qualidade daquele programa, enquanto outro programa é gravado com maior confiabilidade.
Em uma modalidade, o meio de processamento é adaptado para reduzir seletivamente o número de pacotes extraídos no fluxo de dados de saída, no caso de o número de pacotes extraídos a serem incluídos ficar muito grande para a capacidade de tratamento de dados do fluxo de saída. Os pacotes podem ser excluídos por várias razões, como, por exemplo, no caso em que o número de pacotes seja muito grande para a capacidade de tratamento de dados de um meio de armazenamento para o qual os pacotes estão sendo transferidos, ou para a capacidade de tratamento de dados de um dispositivo ou porta de saída, recebendo o fluxo de dados de saída. 0 meio de processamento pode ser adaptado para reinserir, seletivamente, pacotes extraídos excluídos no fluxo de dados de saída, por exemplo, se a capacidade de tratamento de dados do fluxo de dados de saída aumenta.
Um pacote compreende, tipicamente, uma pluralidade de seções. 0 meio para processamento das seções extraídas pode executar, de preferência, uma de várias operações para encapsular ou empacotar as seções MPEG recebidas em um formato adequado. Em uma modalidade simples, o processamento das seções extraídas pode compreender simplesmente a remoção das informações de registro inicial MPEG ou de outros dados das seções, por exemplo, por extinção de partes dos segmentos, de preferência, no início ou no fim, para extrair os dados "brutos" para início da transmissão. Nesse caso, a adição de registros iniciais específicos de protocolos de comunicação e assemelhados deve ser feita na extremidade de envio, através de envio, por exemplo, de pacotes TCP/IP recém- preparados.
De preferência, o meio para processamento das seções extraídas inclui um meio para adição de pelo menos um registro de início e um rodapé, e, de preferência, ambos, a uma seção recebida, para proporcionar um fluxo de dados em conformidade com um protocolo de comunicação diferente do protocolo de comunicação do fluxo de dados recebido. 0 meio de processamento de seções pode incluir um meio para adição de uma sequência de teste de enquadramento requerido no transmissor, bem como redução da quantidade de dados que devem ser transmitidos. Além disso, o protocolo de comunicação pode ser alterado no receptor/ decodifiçador.
Em cada caso, o fluxo de dados digital recebido é, de preferência, um fluxo de dados MPEG (por meio da qual se deseja mencionar qualquer variante, modificação ou desenvolvimento do formato MPEG básico, de preferência, um fluxo de dados MPEG-2), compreendendo uma série de pacotes, tendo os respectivos identificadores de pacotes (também denominado PIDs).
Particularmente (mas não exclusivamente) , a lista compreende, de preferência, uma lista de identificadores de pacotes a serem selecionados do fluxo de dados recebido.
Particularmente (mas não exclusivamente), se a lista compreende uma lista de seções, cada seção pode ser identificada de acordo com um valor numérico, em um campo especifico na seção. A seção é, de preferência, especificada pela definição de um campo de um primeiro número predeterminado de bits em um desvio de um segundo número predeterminado de bits, a partir de um produto identificado, de preferência, o inicio na seção. 0 aparelho pode incluir um meio para registro cronológico dos identificadores das seções recebidas. 0 meio de registro cronológico pode compreender um meio para definir um mapa de bit, cada bit no mapa de bit correspondendo a uma seção recebida ou prevista para ser recebida, e um meio para alterar o estado do bit correspondente a uma seção recebida para significar a recepção daquela seção. 0 aparelho inclui, de preferência, um meio para o armazenamento de pelo menos uma outra lista de identificadores de pacotes, e aplicação de uma ou mais operações de processamento especificas, por exemplo, descodificação na ou em cada uma das outras listas prévias, para inclusão no fluxo de dados de saida. Isso permite, por exemplo, que um programa codificado seja descodificado e armazenado em forma descodificada. 0 aparelho também inclui, de preferência, um meio para inserção de outros dados, por exemplo, pacotes, no fluxo de dados de saída. 0 aparelho é, de preferência, disposto para receber os outros dados de uma aplicação.
Isso permite que outras informações, por exemplo, as informações identificadoras dos programas incluídos no fluxo de dados de saída, sejam armazenadas, ou permite que outros dados gerados por uma aplicação, recebendo o fluxo de transporte original, sejam armazenados. 0 aparelho é, particularmente, implementado como um dispositivo em um receptor/ decodificador, por exemplo, para um sistema via satélite digital, como descrito nos pedidos de patente copendentes do mesmo requerente PCT/EP97/02106 - 02117. Em tal implementação, o dispositivo pode operar sob o controle de uma aplicação, via um gerenciador de dispositivos, proporcionando uma disposição conveniente e flexível para controle da composição do fluxo de dados de saída. O dispositivo é, de preferência, disposto para se comunicar com um gravador de vídeo digital, usando um conector de dispositivo adequado, tal como aquele descrito no pedido de patente europeia do mesmo requerente de N° 97401793.1, mas pode ser usado com qualquer interface digital adequada. 0 aparelho pode ser disposto para proporcionar uma conexão TCP/IP virtual a um computador, por recebimento de pacotes MPEG de difusão e encapsulação dos pacotes para proporcionar um fluxo de dados TCP/IP para o computador.
Nesse caso, a comunicação pode ser via uma porta serial ou paralela, de preferência, uma porta paralela otimizada ou bidirecional.
Em um terceiro aspecto, a invenção proporciona um dispositivo para operação sob o controle de uma aplicação para processar um fluxo de dados digital recebido, para produzir um fluxo de saida dele, o dispositivo compreendendo: um meio para recebimento de um fluxo de dados digital compreendendo uma pluralidade de pacotes de informações; um meio para recebimento de informações de aplicação para compilação de uma lista de pacotes específicos a serem selecionados do fluxo de dados digital recebido, a dita lista incluindo informações de prioridade indicando uma prioridade atribuída a cada pacote; um meio para extração dos pacotes especificados na dita lista do fluxo de dados recebido; e um meio de processamento para processamento dos pacotes extraídos para produzir um fluxo de dados de saída e para reduzir a seletividade dos vários pacotes extraídos no fluxo de dados de saída, por inclusão dos pacotes extraídos com prioridade mais alta no fluxo de dados de saída, em preferência aos pacotes extraídos com prioridade baixa. 0 dispositivo opera, de preferência, em um dos dois modos, um modo inativo, no qual nenhum fluxo de saída está sendo produzido, e um modo de rodada, no qual os dados estão passando pelo dispositivo. Embora a produção do fluxo de saída pudesse ser interrompida, simplesmente por especificação de nenhum pacote para inclusão, a provisão de um modo inativo pode propiciar um uso mais eficiente dos recursos do sistema. 0 dispositivo também inclui, de preferência, um meio para recebimento de comandos de uma aplicação para partida e interrupção da geração de fluxo de saída (para comutação entre os modos).
De preferência, no dito modo inativo, o dispositivo é disposto para receber informações para compilação da dita lista, na forma de uma lista inicial de todos os identificadores de pacotes a serem copiados no fluxo de saída. Isso permite que a lista inicial seja posicionada eficientemente. Depois, no modo de rodada, o dispositivo é, de preferência, disposto para receber uma lista de identificadores de pacotes a serem adicionados ou eliminados da lista em curso. Dessa maneira, para atualizar a lista, não é necessário manusear listas crescentemente longas e manter a pista de todos os identificadores de pacotes anteriores; isso é particularmente vantajoso, pois o modo de rodada pode ser mais critico ao tempo do que o processamento em modo inativo.
Em uma maneira similar ao armazenamento inicial das listas de identificadores de pacotes a serem copiados no modo inativo e a adição e eliminação de entradas no modo de rodada, o dispositivo é, de preferência, disposto para manter uma outra lista de identificadores de pacotes a serem descodificados, de preferência, por um meio de descodificação do receptor/ decodificador usado para descodificar programas para exibição. Além disso, o dispositivo pode ser disposto para receber informações para uso na descodif icação de uma aplicação, de preferência, como parte de um procedimento para posicionamento da lista inicial de identificadores de pacotes a serem descodificados. 0 dispositivo inclui, de preferência, ainda um meio para armazenamento de uma lista de seções MPEG a ser inserida por uma aplicação. De preferência, o dispositivo é disposto para receber parâmetros de uma aplicação para controlar a repetição da seção no fluxo de saida, e o dispositivo é disposto para repetir a seção à base dos parâmetros. Isso permite a produção de fluxos complicados de dados com relativamente pouca entrada de uma aplicação.
Por exemplo, uma aplicação pode enviar um comando simples para inserir uma seção identificadora dos programas incluídos no fluxo de saída, e essa pode ser automaticamente inserida em intervalos regulares no fluxo de saída pelo dispositivo. 0 dispositivo inclui, de preferência, um meio para retorno a uma aplicação de informações relativas aos identificadores de pacotes atualmente selecionados incluídos no fluxo de saída.
As funções do dispositivo podem ser implementadas em hardware, por exemplo, em um circuito integrado dedicado; isso pode proporcionar uma velocidade de operação otimizada. De preferência, no entanto, pelo menos parte do conector de dispositivo é implementada em software, de preferência, rodada por um meio de processamento que roda a aplicação; isso permite uma maior flexibilidade, requer menos componentes e propicia que o conector de dispositivo seja atualizado mais prontamente.
Em um quarto aspecto, a invenção proporciona um sistema de processamento de dados compreendendo: um meio de mecanismo de processamento para rodar pelo menos uma aplicação; um meio para recebimento de um fluxo de dados digital difundida; um dispositivo, de preferência, como definido acima, para processamento do fluxo de dados digital recebido sob o controle da ou de cada aplicação ; e um meio para suprir a saida de fluxo de dados pelo dispositivo para uma interface de saida.
As características preferidas dos primeiro e segundo aspectos podem ser aplicadas nos terceiro e quarto aspectos. 0 sistema de processamento de dados é, de preferência, implementado em um receptor/ decodificador (por exemplo, uma caixa de posicionamento de topo), que inclui um meio para recebimento do fluxo de dados digital difundido de um receptor via satélite ou cabo, a interface sendo disposta para conexão a um gravador de vídeo digital (cujo termo é mencionado para incluir qualquer dispositivo de armazenamento digital configurado adequadamente, capaz de armazenar dados para um programa de televisão, independentemente do meio físico no qual os dados estão realmente armazenados) ou um dispositivo ou computador de exibição digital disposto para cooperar com um conector de dispositivo para transferência do fluxo de dados de saída a uma interface digital de alta velocidade (100 Kbit/s para cima, de preferência, pelo menos 1 Mbit/s, 10 Mbit/s ou maior). A interface se conforma, de preferência, com um padrão IEEE 1394 ou uma variante ou modificação dele.
Quando o sistema é implementado em um receptor/ decodificador disposto para conexão com um gravador de video digital, o receptor/ decodificador inclui, de preferência, uma aplicação disposta para controlar o dispositivo a fim de selecionar partes (pacotes ou seções) do fluxo de dados recebido, compreendendo dois ou mais programas de televisão para transferência para o gravador de video digital e incluindo, de preferência, um meio para adição de informações no fluxo de dados de saida identificadora dos programas. Desse modo, um usuário pode selecionar dois ou mais programas para gravar, e ver mais tarde; isso requerería, convenientemente, dois ou mais gravadores de vídeo analógicos e dois ou mais receptores/decodificadores. A aplicação pode incluir um meio para controlar o gravador de vídeo, por exemplo, como descrito no pedido de patente europeia de N° 97401793.1, cuja descrição é aqui incorporada por referência.
Esta característica pode ser proporcionada independentemente, em um quinto aspecto, no qual a invenção proporciona uma aplicação para um receptor/ decodificador, tendo um meio para recebimento de um fluxo de dados digital difundido, uma interface para conexãoa um meio de armazenamento digital, e um dispositivo para processamento do fluxo de dados digital recebido, para produzir um fluxo de dados de saida para suprimento ao meio de armazenamento digital, a aplicação compreendendo um meio para controlar o dito dispositivo a fim de selecionar partes do fluxo de dados digital recebido correspondente a dois ou mais programas difundidos e para transferência das partes para o meio de armazenamento digital, com a finalidade de armazenamento, de modo que os programas sejam subsequentemente reproduzidos, a aplicação sendo adaptada para reduzir, seletivamente, o número de partes no fluxo de dados recebido com prioridade mais alta na saida para o meio de armazenamento digital, em preferência, às partes com prioridade mais baixa. A aplicação é, de preferência, rodada em uma linguagem interpretada e o conector de dispositivo é, de preferência, compilado.
As modalidades incorporando as características preferidas da presente invenção serão descritas a seguir, meramente a título de exemplo, com referência aos desenhos anexados, nos quais: a Figura 1 é um diagrama esquemático das interfaces do receptor/ decodificador; a Figura 2 é um diagrama de blocos funcional do receptor/ decodificador; a Figura 3 mostra certos componentes da máquina virtual e do mecanismo de processamento em mais detalhes; a Figura 4 mostra uma visão geral esquemática das funções proporcionadas por um primeiro dispositivo caracterizando a invenção; a Figura 5 é um diagrama esquemático para explicação da inserção de seções repetidas no fluxo de dados de saída; a Figura 6 mostra uma visão geral esquemática das funções proporcionadas por um segundo dispositivo caracterizando a invenção; a Figura 7 é um diagrama esquemático de um datagrama produzido pela modalidade da Figura 6; a Figura 8 ilustra uma lista de PIDs que devem ser diretamente copiados de um fluxo de dados de entrada para um fluxo de dados de saída; e a Figura 9 ilustra uma lista de PIDs que devem ser descodificados antes de serem copiados do fluxo de dados de entrada para o fluxo de dados de saída.
ASPECTOS BÁSICOS DO PECEETCR/ DECCDIETCfiDCR
Para auxiliar no entendimento do dispositivo, a plataforma preferida sobre a qual ele opera, o receptor/ decodificador via satélite digital da presente invenção será sucintamente descrito primeiro.
Referindo-se à Figura 1, um receptor/ decodificador 2020 ou uma caixa de posicionamento superior para uso em um sistema de televisão interativo digital, no qual o conector de dispositivo da modalidade a ser instalado é ilustrado esquematicamente. Os detalhes de um sistema de televisão interativo digital adequado podem ser encontrados nos pedidos de patente copendentes do mesmo requerente PCT/EP97/02106 - 02117 aos quais devem ser feitas referências e cujas descrições são aqui incorporadas por referência. Para facilidade de referência, as partes descritas em mais detalhes nos relatórios descritivos mencionados acima são geralmente designadas pelos números de referência usados nesses relatórios descritivos.
Como descrito em mais detalhes nos relatórios descritivos mencionados acima, referindo-se à Figura 1, o receptor/ decodificador 2020 inclui várias interfaces; especificamente, um sintonizador 4028 para o fluxo de sinal MPEG, uma interface serial 4030, uma interface paralela 4032 e duas leitoras de cartões 4036, uma para um cartão inteligente, formando parte do sistema, e uma para cartões bancários ou outros cartões inteligentes (usados para fazer pagamentos, acesso bancário doméstico, etc.) ou outro cartão inteligente. 0 receptor/ decodificador também inclui uma interface 4034 para um canal de retorno via modem 4002 para o produtor do sinal de televisão, de modo que o usuário final possa indicar preferências, etc., de volta para o produtor do sinal de televisão (programa). 0 receptor também compreende um Mecanismo de processo 4008, um Gerenciador de Dispositivos 4068 e uma pluralidade de Dispositivos 4062 para processar uma ou mais aplicações 4056.
Para os propósitos deste relatório descritivo, uma aplicação é uma parte do código do computador para· controlar as funções de alto nível, preferivelmente, do receptor/ decodificador 2020. Por exemplo, quando o usuário final posiciona o foco de um controlador remoto em um objeto em forma de botão, visto na tela do aparelho de televisão 2022, e pressiona uma tecla de validação, a sequência de instruções associada com o botão é processada.
Uma aplicação interativa propõe menus e executa comandos por solicitação do usuário final e proporciona os dados relativos à finalidade da aplicação. As aplicações podem ser aplicações residentes, isto é, armazenadas na ROM (ou FLASH ou outra memória não volátil) do receptor/ decodificador 2020, ou radiodifundida e baixada na memória RAM ou FLASH do receptor/ decodificador 2020.
Alguns exemplos de aplicações, descritas em mais detalhes nas aplicações mencionadas acima, são: - uma aplicação de inicialização, que é uma coleção de módulos adaptável, permitindo que o receptor/ decodificador 2020 seja imediatamente operante no ambiente físico MPEG-2; - uma aplicação de partida, que permite que qualquer aplicação baixada ou residente seja processada no receptor/ decodificador 2020; um guia de programação, que é uma aplicação interativa que fornece todas as informações relativas à programação; uma aplicação Pay-per-view, que é um serviço interativo disponível em cada canal PPV do pacote de TV digital, para permitir que o usuário final compre o evento atual; - uma aplicação de download de PC, permitindo que um usuário final baixe o software de computador usando a aplicação de download de PC; - uma aplicação de browser de revista compreendendo um vídeo cíclico radiodifundido de imagens com navegação do usuário final através de botões na tela; uma aplicação de televendas, propiciando que ofertas de artigos para venda sejam transmitidas para o receptor/ decodificador 2020 e exibidas na televisão 2022, e permitindo que o usuário selecione um item particular para compra.
As aplicações são armazenadas em locais da memória no receptor/ decodificador 2020 e representadas como arquivos de recurso. Os arquivos de recurso compreendem arquivos unitários de descrição de objetos gráficos, arquivos unitários de blocos de variáveis, arquivos de sequência de instruções e arquivos de dados, como descrito em mais detalhes nos relatórios descritivos mencionados acima.
No fluxo de dados MPEG, cada módulo compreende um grupo de tabelas MPEG. Cada tabela MPEG pode ser formatada como várias seções. No fluxo de dados MPEG, cada seção tem um "tamanho" de até 4 Kbytes. Para transferência de dados através das portas serial e paralela, por exemplo, os módulos são similarmente divididos em tabelas e seções, o tamanho da seção variando com o meio de transporte.
Os módulos são transportados no fluxo de dados MPEG na forma de pacotes de dados de, tipicamente, 188 bytes dentro dos respectivos tipos de fluxo de dados, fluxos de dados de video, fluxos de dados de áudio e fluxos de dados de teletexto. Cada pacote é precedido por um Identificador de Pacotes (PID) de 13 bits, um PID para cada pacote transportado no fluxo de dados MPEG. Uma tabela de mapa de programas (tabela PMT) contém uma lista dos diferentes fluxos de dados e define o conteúdo de cada fluxo de dados de acordo com o PID respectivo. Um PID pode alertar um dispositivo para a presença de aplicações no fluxo de dados, o PID sendo identificado usando a tabela PMT. 0 decodificador contém memória dividida em um volume RAM, um volume FLASH e um volume ROM, mas essa organização física é distinta da organização lógica. A memória pode ser ainda dividida em volumes de memória associados com as várias interfaces. De um ponto de vista, a memória pode ser considerada como parte do hardware; de outro ponto de vista, considera-se que a memória pode suportar ou conter todo o sistema mostrado à parte do hardware. 0 sistema pode ser considerado centralizado em um mecanismo de processo 4008, formando parte de uma máquina virtual 4007. Esta, é acoplada às aplicações em um lado (o lado de "alto nível") e, no outro lado (o lado de "baixo nível"), via várias unidades lógicas intermediárias discutidas abaixo, ao hardware do receptor/ decodificador 4061. Considera-se que o hardware do receptor/ decodificador pode incluir as várias portas ou interfaces discutidas acima (a interface 2030 para o monofone 2026, a interface de fluxo MPEG4028, a interface serial 4030,a interface paralela 4032, as interfaces das leitoras de cartões 4036 e a interface 4034 ao canal de retorno via modem 4 0 02) .
Com referência à Figura 2, várias aplicações 4056 são acopladas à unidade 4007; algumas das aplicações mais comumente usadas podem ser mais ou menos permanentemente residentes no sistema, como indicado em 4057, enquanto que outras serão baixadas no sistema, por exemplo, do fluxo de dados MPEG ou de outras portas, como requerido. A unidade 4007 inclui, além do mecanismo de processo 4008, algumas funções de biblioteca residente 4006, que incluem uma caixa de ligações 4058. A biblioteca contém várias funções em linguagem C usada pelo mecanismo 4008.
Essas, incluem manipulação de dados, tal como compressão, expansão ou comparação de estruturas de dados, desenho de linha, etc. A biblioteca 4006 também inclui as informações sobre o hardware 4061 no receptor/ decodificador 2020, tais como os números das versões do hardware e software e o espaço RAM disponível, e uma função usada ao baixar um novo dispositivo 4062. As funções podem ser baixadas na biblioteca, sendo armazenadas na memória FLASH ou RAM. O mecanismo de processo 4008 é acoplado a um gerenciador de dispositivos 4068, que é acoplado a um conjunto de dispositivos 4062, que é acoplado aos conectores de dispositivos 4060, que são, por sua vez, acoplados às portas ou interfaces. Em termos amplos, considera-se que um conector de dispositivo pode definir uma interface lógica, de modo que dois diferentes conectores de dispositivos possam ser acoplados em uma porta física comum. Um dispositivo será, normalmente, acoplado a mais de um conector de dispositivo; se um dispositivo é acoplado a um único conector de dispositivo, ele será normalmente projetado para incorporar toda a funcionalidade requerida para comunicação, de modo que é eliminada a necessidade de um conector de dispositivo separado. Certos dispositivos podem se comunicar entre si.
Como será descrito abaixo, há 3 formas de comunicação dos dispositivos 4062 com o mecanismo de processo: por meio de variáveis, buffers e eventos que são passados para um conjunto de filas de eventos. Cada função do receptor/ decodificador 2020 é representada como um dispositivo 4062. Os dispositivos podem ser locais ou remotos. Os dispositivos locais 4064 incluem cartões inteligentes, sinais de conectores SCART, modens, interfaces serial e paralela, um reprodutor de vídeo e áudio MPEG, e uma seção e um extrator de tabela MPEG. Os dispositivos remotos 4066, executados em um local remoto, diferem dos dispositivos locais pelo fato de que uma porta e o procedimento devem ser definidos pela autoridade ou elaborador do sistema, em vez de por um dispositivo e um conector de dispositivo proporcionados e projetados pelo fabricante do receptor/ decodificador.
Quando um novo dispositivo 4062 é criado, ele pode ser instalado nos receptores/decodificadores 2020 existentes através de download da aplicação relevante 4056 do centro de radiodifusão. Este download é realizado no receptor/ decodificador 2020 por uma aplicação 4056, que testa as versões do hardware e do software e, se corretas, carrega o módulo de software, representando o novo dispositivo 4062, e solicita um procedimento da biblioteca 4066 para instalar o código do novo dispositivo dentro do suporte lógico inalterável (na memória FLASH). Isso pode proporcionar uma instalação flexível e segura das novas funções dentro do receptor/ decodificador 2020, sem afetar o resto do software. O gerenciador de dispositivos 4068 é uma interface de software comum entre a aplicação 4056 e as funções específicas do receptor/ decodificador 2020. O gerenciador de dispositivos 4068 controla o acesso aos dispositivos 4062, declara o recebimento de um evento inesperado e gerencia a memória partilhada. O mecanismo de processo 4008 roda sob o controle do microprocessador e de uma interface de programação de aplicação comum. Eles são instalados em cada receptor/ decodificador 2020, de modo que todos os receptores/decodificadores 2020 são idênticos, do ponto de vista da aplicação. 0 mecanismo 4008 roda as aplicações 4056 no receptor/ decodificador 2020. Ele executa as aplicações interativas 4056 e recebe eventos de fora do receptor/ decodificador 2020, exibe gráficos e texto, chama dispositivos para serviços e usa funções da biblioteca 4006 conectada ao mecanismo 4008 para computação especifica. O mecanismo de processo 4008 é um código executável instalado em cada receptor/ decodificador 2020 e inclui um interpretador para interpretar e processar aplicações. O mecanismo 4008 é adaptável a qualquer sistema operacional, incluindo um sistema operacional de tarefa única (tal como MS-DOS) . O mecanismo 4008 é baseado em unidades sequenciadoras de processo (que toma vários eventos, tal como uma pressão na tecla, para conduzir várias ações) e contém o seu próprio escalonador para gerenciar as filas de eventos das diferentes interfaces de hardware. Também processa a exibição de gráficos e texto. Uma unidade sequenciadora de processo compreende um conjunto de grupos de ação. Cada evento provoca movimentação da unidade sequenciadora do seu grupo de ação atual para outro grupo de ação, na dependência do caráter do evento, e a execução das ações do novo grupo de ação. O mecanismo 4008 compreende um carregador de códigos para carregar e baixar aplicações 4056 na memória do receptor/ decodificador 2028. Apenas o código necessário é carregado na memória RAM ou FLASH para garantir uso ótimo.
Os dados baixados são verificados por um mecanismo de autenticação, para evitar qualquer modificação de uma aplicação 4056 ou a execução de qualquer aplicação não autorizada. O mecanismo 4008 inclui ainda um descompressor. Na medida em que o código de aplicação (uma forma de código intermediário) é comprimido para economizar espaço e baixar rapidamente a partir do fluxo de transporte MPEG-2, ou via um modo receptor/ decodificador embutido, o código deve ser descomprimido antes de ser carregado na RAM. O mecanismo 4008 também compreende um interpretador para interpretar o código da aplicação, para atualizar os inúmeros valores variáveis e determinar as mudanças de estado, e um verificador de erro.
Antes de usar os serviços de qualquer dispositivo 4062, um programa (tal como uma sequência de instruções da aplicação) tem que ser declarado como um "cliente", isto é, uma via de acesso lógica para o dispositivo 4062 ou o gerenciador de dispositivos 4068. 0 gerenciador fornece ao cliente um número de cliente, que é referido, em todos os acessos, ao dispositivo. Um dispositivo 4062 pode ter muitos clientes, o número de clientes para cada dispositivo 4062 sendo especificado, dependendo do tipo de dispositivo 4062. Um cliente é introduzido no dispositivo 4062 por um procedimento "Device: Open Channel". Esse procedimento atribui um número de cliente ao cliente. Um cliente pode ser tirado da lista de clientes do gerenciador de dispositivos 4068 por um procedimento "Device: Close Channel". O acesso aos dispositivos 4062 proporcionado pelo gerenciador de dispositivos 4068 pode ser sincrono ou assincrono. Para o acesso sincrono, um procedimento "Device: Ca 11" é usado. Este é um meio de acesso de dados que está "imediatamente disponível, ou uma funcionalidade que não envolve espera para a resposta desejada. Para o acesso assincrono, é usado um procedimento "Device: I/O". **Esse é um meio de acesso de dados que envolve espera para uma resposta, por exemplo, a varredura das frequências do sintonizador para encontrar um multiplex ou retorno de uma tabela do fluxo MPEG. Quando o resultado requisitado está disponível, um evento é colocado na fila do mecanismo para sinalizar a sua chegada. Um outro procedimento "Device: Event" proporciona um meio de gerenciar eventos inesperados.
Como verificado acima, o laço principal do mecanismo de processo é acoplado a várias unidades sequenciadoras de processo, e quando o laço principal encontra um evento apropriado, o controle é temporariamente transferido para uma das unidades sequenciadoras de processo.
Referindo-se à Figura 3, o gerenciador de dispositivos inclui uma fila 100, na qual são passados os eventos dos dispositivos para armazenamento temporário. Em intervalos adequados, a máquina virtual envia um sinal para essa fila para extrair o primeiro item dela. Esse item de evento é movimentado para uma estrutura de fila 101 na máquina virtual. Dependendo do nivel de prioridade do item de evento, ele é inserido em uma das 5 filas apropriadas de 0 a 4. Os itens de evento são extraídos da estrutura da fila 101 por uma unidade seletora de fila 102, sob o controle do mecanismo de processo.
Quando um evento é selecionado da estrutura da fila 101, é passado para um mecanismo de unidade sequenciadora de processo 104, que consiste em um controlador de unidade sequenciadora de processo 105 e em um conjunto de unidades sequenciadoras de processo 106. Cada unidade sequenciadora de processo é um conjunto de grupos de ação ligados entre si, de modo que cada etapa de um grupo de ação para o grupo de ação seguinte é, em geral, dependente do grupo de ação atual e da natureza do evento. Diferentes unidades sequenciadoras de processo têm diferentes tamanhos e complexidades, incluindo uma na qual o grupo de ação "seguinte", isto é, o grupo de ação ao qual as etapas do sistema respondem a um evento, é dependente apenas da natureza do evento, mas é independente do grupo de ação atual. Também, como é mostrado no lado direito do bloco das unidades sequenciadoras de processo, há várias cópias de uma unidade sequenciadora de processo, isto é, várias unidades sequenciadoras de processo idênticas, para lidar com, por exemplo, vários fluxos de dados separados usando protocolos idênticos por meio de uma única porta.
Quando um evento é selecionado, é passado para a unidade sequenciadora de processo apropriada. Esta seleciona a saída apropriada do grupo de ação atual na unidade sequenciadora de processo. Isto resulta no grupo de ação seguinte apropriado sendo selecionado e nas ações neste grupo de ação sendo realizadas, envolvendo, por exemplo, o envio de uma mensagem para o gerenciador de dispositivos ou a execução de uma sequência de instruções.
Os grupos de ação na unidade sequenciadora de processo também podem enviar mensagens de eventos para outras unidades sequenciadoras de processo.
Se uma sequência de instruções é selecionada, a identificação da sequência de instruções é enviada para um seletor de sequência de instruções 107. Obtém-se a sequência de instruções desejada de uma memória de sequência de instruções 108 e passa-se a um interpretador de sequência de instruções 109, que executa a sequência de instruções. 0 sistema também inclui um filtro 110, que é carregado com os tipos de eventos, por exemplo, das unidades sequenciadoras de processo 106. Quando um item de evento é passado da fila 100, no gerenciador de dispositivos, para a estrutura de fila 101, na máquina virtual, o seu tipo ou caráter é comparado com a lista no filtro 110, e se é de um tipo que não é reconhecido, é rejeitado. Isto garante que, no caso em que o gerenciador de dispositivos ou o teclado gera eventos de um tipo com o qual a máquina virtual não possa lidar, esses eventos não são passados para a estrutura de fila 101. (Se os eventos desse tipo são passados para a estrutura de fila 101, eles se acumularão naquela estrutura de fila ou poderão provocar mau funcionamento do mecanismo da unidade sequenciadora de processo 104.) Desse modo, pode-se notar que o sistema básico da presente invenção proporciona uma plataforma, que possui uma flexibilidade considerável ao possibilitar que uma aplicação se comunique com vários dispositivos.
DISPOSITIVOS DE PROCESSAMENTO DE SINAL
Dois dispositivos de processamento de sinal que caracterizam a invenção serão descritos; os dois dispositivos podem ser ambos proporcionados no mesmo receptor/ decodificador, cada dispositivo sendo particularizado para proporcionar funções ligeiramente diferentes.
Um primeiro dispositivo de processamento de sinal que remultiplexa um fluxo de transporte recebido desmultiplexado, para produzir um fluxo de transporte parcial de saida contendo tipicamente algumas, mas não todas as informações no fluxo de transporte original e, possivelmente, informações adicionais serão descritas a seguir, com referência à Figura 4. Tara facilidade de referência, o dispositivo será referido abaixo como um dispositivo TS_REMUX (abreviação para remultiplexador de fluxo de transporte).
DISPOSITIVO TS_REMUX
Considera-se que o dispositivo TS_REMUX pode compreender várias unidades funcionais, a seguir denominadas comandos. Além disso, como será considerado, o dispositivo contém uma funcionalidade básica para implementar efetivamente as funções executadas pelos vários comandos. Por exemplo, a seleção efetiva de pacotes do fluxo de dados recebido pode ser implementada por meio de hardware dedicado, que filtra os dados para extrair os pacotes correspondentes aos identificadores de pacotes definidos, a lista de identificadores de pacotes sendo suprida sob controle de software, com base nas informações supridas por uma aplicação via um dos comandos descritos abaixo. Na discussão que se segue, deve-se notar que as versões de casos superiores e inferiores de um nome de comando são ambas intencionadas para se referirem ao mesmo comando.
Os detalhes precisos da implementação das várias funções e a distribuição entre hardware e software são uma questão de seleção para o implementador, e não serão descritos em detalhes. Nota-se, no entanto que os circuitos integrados dedicados, capazes de executar as operações de filtração em um fluxo de dados MPEG, são comercialmente disponíveis, e esses, podem ser usados como base para um acelerador de hardware, ou, particularmente, modificado para produzir um acelerador de hardware dedicado, para implementar várias das operações de seleção de pacotes requeridas, reduzindo assim o poder de processamento requerido para rodar o software. No entanto, as operações requeridas podem ser implementadas no software, se um poder.de processamento suficiente estiver disponível. 0 dispositivo é disposto para operar em um dos dois modos, um modo inativo, no qual nenhuma saída está sendo produzida, e um modo de rodada, no qual os dados estão sendo transportados para o fluxo de dados de saída. No modo de rodada, como será considerado, mais recursos do sistema são requeridos pelo dispositivo. A operação dos comandos descritos abaixo pode ser dependente do modo de operação e, em particular, a maior parte dos comandos apenas vai operar em um único modo, e retornar a um erro, se acessado no outro modo.
Cada comando se conecta através de interface a uma aplicação sob o controle de gerenciador de dispositivos 4068, por meio de um dos três procedimentos padrão mencionados acima, que são comuns aos outros dispositivos.
As informações podem ser passadas entre uma aplicação e o dispositivo, por meio das tabelas de parâmetros. Para facilidade de referência, os três procedimentos básicos são resumidos sucintamente abaixo: 1) Device: Call - este comando pode ser usado por uma aplicação para realizar comandos ou transferência de dados síncronos; a execução da aplicação é suspensa até que o controle seja reativado, quando a operação pelo conector de dispositivo tiver sido completada; isso permite que as operações, que devem ser realizadas em uma sequência estrita, sejam confiavelmente controladas; 2) Device: I/O - este comando propicia operações assíncronas; isto é, uma aplicação pode enviar uma solicitação para uma função particular ou de transferência de dados, a ser executada pelo conector de dispositivo, e a execução da aplicação pode continuar enquanto a transferência de dados ou função é executada pelo conector de dispositivo; 3) Device: Event - esta função de capturar eventos propicia que os eventos sejam sinalizados pelo dispositivo para uma aplicação e para que uma ação particular seja tomada pela aplicação, em resposta ao evento, independentemente do código de aplicação que está em execução quando o evento é sinalizado; efetivamente, a aplicação é interrompida; os eventos podem ser priorizados; os eventos podem ser usados para sinalizar os eventos ocorrendo na interface, tal como uma restauração de barramento, ou proporcionar monitoramento dos comandos assincronos, por exemplo, por sinalização do término de uma transferência de dados requisitada.
Os comandos proporcionados em um dispositivo, caracterizando a invenção, serão descritos a seguir. Cada comando pode ser acessado por uma aplicação por passagem de um identificador do comando, como um parâmetro, via um dos três procedimentos padrão mencionados acima. Nem todos os comandos descritos abaixo necessitam ser proporcionados, e as funções dos comandos podem ser alteradas. Embora os comandos possam ser independentemente proporcionados ou alterados, como será considerado, certos benefícios sinérgicos resultam da funcionalidade combinada proporcionada pelos comandos descritos.
Os comandos serão descritos em termos das características e das funções proporcionadas por cada comando, como visto por uma aplicação, juntamente com as características opcionais e preferíveis. Com as informações fornecidas e as especificações proporcionadas, a implementação real dessas características deve de fácil execução por uma pessoa versada na técnica, e os detalhes precisos são deixados para o implementador. Como um exemplo, cada comando podería ser implementado em software, escrito, de preferência, na linguagem de programação C e, de preferência, compilado para ser rodado no processador usado para rodar a aplicação; embora, o conector de dispositivo possa ser processado no processador usado para rodar a aplicação, e alguns ou todos os comandos podem ser implementados por hardware dedicado. Os comandos Call e 10 podem sinalizar informações ou passar parâmetros de volta para uma aplicação por posicionamento dos valores em uma tabela de parâmetros armazenada na memória, cujo endereço é passado para o dispositivo.
Comando: TS_REMUX SET PID
Este comando opera apenas no modo inativo. Com referência à Figura 8, o comando é disposto para receber uma lista inicial de identificadores de pacotes (PIDs) 200. A lista contém os vários PIDs (NB_PID) que serão copiados do fluxo de transporte de entrada, o valor de cada PID (PID) a ser copiado do fluxo de dados de entrada para o fluxo de dados de saida, e o valor de prioridade (PRIORIDADE) atribuído a cada PID. 0 valor de prioridade é, de preferência, um único byte, que varia de um valor de 0 a 255,0 indicando o nível de prioridade mais baixo, e 255 indicando o nível de prioridade mais alto. É possível que a capacidade da taxa de bit do fluxo de dados de saída seja mais baixa que a taxa de bit de um fluxo de dados, incluindo todos os pacotes listados que serão copiados do fluxo de dados de entrada. Sendo assim, os pacotes tendo PIDs com o nível de prioridade mais baixo são excluídos, sucessivamente, do fluxo de dados de saída, até que a taxa de bit do fluxo de dados seja reduzida a um nível que seja igual ou inferior à capacidade da taxa de bit do fluxo de dados de saída.
Se os pacotes são excluídos do fluxo de dados de saída, o(s) PID(s) desses pacotes não é(são) eliminado(s) da lista 200. A capacidade da taxa de bit do fluxo de dados de saída deveria aumentar, de modo que outros pacotes pudessem ser adicionados ao fluxo de dados de saída, depois os pacotes excluídos com a prioridade mais alta são incluídos, sucessivamente, no fluxo de saída, até que a capacidade da taxa de bit do fluxo de dados de saída seja alcançada. 0 comando é, de preferência, acessado sincronicamente por meio do procedimento Device: Call.
Comando: TS-REMUX SET SCR PID
Com referência à Figura 9, este comando opera similarmente ao comando Set_PID descrito acima, e é usado para especificar uma lista 300 de identificadores de pacotes a serem descodificados, antes da inclusão no fluxo de dados de saida. Além de uma lista de identificadores de pacotes (PIDs) e prioridades (PRIORIDADE), o comando recebe as informações necessárias para descodificar os pacotes. Essas informações podem incluir um indicador de modo (MODO), especificando o tipo de processamento a ser executado em cada pacote, o número da sessão (número da Sessão) e o número do índice (número do índice), uma referência do operador (OPI), o PID do pacote a ser descodificado (PID) e o PID do pacote contendo o ECM para usar na descodificação (PID_ECM).
Comando: TS REMUX SET DATA PID
Este comando opera de modo similar ao comando Set_PID descrito acima e é usado para especificar os identificadores de pacotes das seções MPEG a serem incluídas no fluxo de dados de saída. Além disso, a aplicação pode especificar os vários parâmetros incluindo um DESVIO especificando um retardo do início do modo de rodada, um parâmetro REPETIR especificando o número de vezes que uma seção será repetida, um RETARDO entre os pacotes de seção, um parâmetro CICL0_2 especificando o tempo do inicio de uma série de repetições para o inicio da série de repetições seguinte. A função desses parâmetros será melhor entendida com referência à Figura 5 .
Comando: TS REMUX ADD PID
Como mencionado acima, o comando Set_PID opera apenas no modo inativo. No modo de rodada, o comando Add_PID permite que uma aplicação incorpore PIDs à lista em curso de PIDs especificada para cópia para o fluxo de saida. 0 dispositivo inclui um comando complementar Ts_Remux_Stop_PID que elimina os PIDs da lista em curso.
Os PIDs são, de preferência, especificados da mesma maneira que o comando Set_PID, incluindo uma prioridade para cada comando. Em virtude de a edição dos PIDs em uma lista poder requerer algum tempo para que a lista seja atualizada, quando o dispositivo está no modo de rodada, esses comandos são, de preferência, acessados assincronamente via o procedimento Device: 1/0.
Além disso, são proporcionados procedimentos análogos para, dinamicamente, adicionar a ou eliminar das listas de pacotes a serem descodificados as seções a serem copiadas, ou as seções a serem inseridas, por meio dos comandos Ts_Remux_{Add; Stop) _{SCR_PID;Data_PID;Section).
Para comutar do modo inativo para o modo de rodada, o comando TS_REMX_Start é proporcionado e para comutar do modo de rodada de volta para o modo inativo, o comando Ts_Remux_Stop é proporcionado. Ambos esses comandos são, de preferência, acessados assincronamente via o procedimento Device: 1/0.
Além disso, para retornar às informações relativas aos PIDs, aos PIDs criptografados e às seções incluídas no fluxo de saída em curso, os comandos Ts_Remux_PID_Info, Ts_Remux_ECM_Info e Ts_Remux_Info_Section são proporcionados. Esses retornam a uma lista de PIDs em curso, em formato similar a aquele suprido por uma aplicação usando os comandos Set ou Add correspondentes.
Além dos comandos, que propiciam que uma aplicação envie comandos para o dispositivo, o dispositivo é disposto para sinalizar certos eventos para uma aplicação, via as funções de processamento de eventos do gerenciador de dispositivos. 0 dispositivo implementa os seguintes eventos: Evento: EV TS REMUX ECM
Este evento é usado para sinalizar a rejeição de um ECM pelo RSM. O dispositivo passa o PID de um pacote no qual o ECM foi encontrado e o endereço de um buffer, armazenando o ECM rejeitado, juntamente com as palavras de estado.
Evento: EV TS REMUX GETALL
Este evento é usado para sinalizar a resposta do RSM a uma aplicação, quando um ECM é enviado para o RSM.
Evento: EV TS REMUX BAD NB
Este evento sinaliza a recepção de um ECM com um número de sessão ou de índice inesperado; o ECM não é enviado para o RSM.
Evento: EV TX REMUX STREAM
Este evento é usado para sinalizar uma mudança na composição do fluxo, quando a prioridade associada com um PID tiver sido usada para controlar o salto ou adição de PIDs no fluxo de saída.
Um segundo dispositivo caracterizando a invenção será descrito a seguir com referência às Figuras 6 e 7. Esse dispositivo será referido como um MCOM (abreviatura para Comunicações MPEG) e basicamente tenciona encapsular as seções MPEG recebidas, para proporcionar uma fonte de dados TCP/IP virtual de uma ligação via satélite.
DISPOSITIVO MCOM
Este dispositivo, como o dispositivo TS_REMUX, é composto de vários comandos. Muitos dos comandos executam funções análogas aos comandos do dispositivo TS_REMUX, de modo que não serão descritos em detalhes. Como o dispositivo TS_REMUX, o dispositivo MCOM opera, de preferência, em um modo de rodada ou em um modo inativo, e tem comandos para comutação entre os modos. Em lugar dos comandos para adição e eliminação de pacotes do fluxo de dados de saída, o dispositivo MCOM compreende comandos para seleção de seções a serem incluídas para eliminar partes de seções (ou, visto de outro modo, extrair partes de seções a serem incluídas) e para alterar parâmetros do registro de início (se presente), rodapé (se presente) e teste de dados (se presente) a serem adicionados às seções recebidas (ou a parte delas a ser incluída no fluxo de dados de saída). 0 dispositivo proporciona flexibilidade proporcionando quaisquer de vários protocolos de comunicação a serem simulados com interação mínima requerida por uma aplicação durante o processamento. 0 dispositivo pode ser capaz de operar em um modo automático, no qual, após definição da filtração a ser feita nos dados recebidos, as seções são automaticamente dispostas em filas para transferência, até que todas as seções previstas tenham sido recebidas. Alternativamente, o dispositivo pode operar em um modo manual em que cada seção é transferida sob o controle da aplicação. A descrição do dispositivo MCOM se concentrará nos comandos que são significativamente diferentes daqueles apresentados no dispositivo TS_REMUX.
Comando: MCOM INIT COMM
Este comando é usado para configurar a porta de comunicação e é chamado (CALLed) com um buffer, contendo um identificador do tipo de porta para aquela porta. Esse comando é útil porque permite que o dispositivo MCOM opere em várias portas de comunicação (por exemplo, serial, paralela, IEEE 1394) sem requerer informações especificas de porta a ser usada com os outros comandos no dispositivo.
Comando: MCOM INIT FILTER
Este comando é chamado (CALLed) para definir um campo numérico de n bits de comprimento, partindo de m bits do inicio de uma seção MPEG na qual um identificador de seção deve ser encontrado. 0 campo definido pode conter um valor numérico c de 0 a (2 Λη-1) .
Seguinte a este comando, um mapa de bit de 2Λη bits é definido na memória, cada bit correspondendo a uma seção a receber. Por exemplo, se n = 8, um mapa de bit de 256 bits (32 bytes) é definido, para sinalizar o recebimento de 256 seções separadas. Durante o recebimento das seções do desmultiplexador, o valor numérico c deste campo é extraído e o (c - 1) ° bit do mapa de bit é testado; se o bit é posicionado, a seção é rejeitada. Desse modo, pode ser feita a filtração automática das seções, nas quais um bit posicionado pode ser usado para significar que uma seção já foi recebida, ou que não está prevista qualquer seção correspondente. Naturalmente, o bit pode ser restaurado, ou receber de seções sinalizadas de um modo diferente. 0 comando propicia que o mapa de bit inicial seja definido; todos os bits podem ser posicionados ou restaurados, ou um mapa de bit especifico pode ser posicionado como o mapa de bit inicial.
Os comandos correspondentes são proporcionados para alterar dinamicamente o filtro, por exemplo, em um modo de rodada, ou para interrogação do estado em curso do filtro. 0 mapa de bit (ou outra tabela de sinalização) pode ser usado para controlar o enfileiramento automático de pacotes, até que todas as seções previstas tenham sido recebidas Esse comando é útil em propiciar uma flexibilidade considerável em relação ao formato das seções MPEG que podem ser processadas pelo dispositivo com filtração automática.
Comando: MCOM PACKET DEL
Este comando é chamado (CALLed) para definir as partes de uma seção MPEG a ser removida como parte do processo de encapsulação. Por exemplo, um desvio de partida p e um desvio de finalização q podem ser definidos, e as partes de "topo e final" da seção MPEG por remoção de p bytes do inicio e q bytes, do fim.
Esse comando e a funcionalidade associada propiciam que dados importantes sejam comunicados para serem colocados livremente na parte intermediária de uma seção MPEG.
Comando: MCOM PACKET HEADER
Este comando propicia que um registro inicio de um formato definido seja adicionado a uma seção recebida; o registro inicial pode incluir informações concernentes a um protocolo de comunicação particular, por exemplo, TCP/IP. Esse comando pode operar em um de dois modos, um modo USE HEADER no qual apenas o registro inicial é adicionado, e um modo USE_LG HEADER no qual o comando também adiciona as informações concernentes ao comprimento do pacote encapsulado, por exemplo, uma constante aditiva definida mais o comprimento da seção, como ilustrado na Figura 7 .
De uma maneira similar, o dispositivo inclui um comando para adição de uma sequência de teste de estrutura, por exemplo, um CRC (teste de redundância cíclica) de 16 ou 32 bits ou um LRC em uma seção definida do pacote, partindo, por exemplo, após um desvio inicial do número de bytes e continuando até um desvio final do número de bytes do fim, com o valor calculado inserido imediatamente após a seção ter sido testada. 0 dispositivo também pode incluir um comando para a tradução de caracteres, por exemplo, uma lista de caracteres a serem "escapados" (isto é, substituídos por um par de caracteres compreendendo um caractere de escape definido e um valor definido).
Os comandos e eventos descritos acima são meramente ilustrativos e a invenção pode ser implementada de vários modos e, em particular, alguns comandos podem ser combinados com outros que executem funções similares, ou alguns podem ser omitidos nas implementações simplificadas. As implementações de hardware e software de cada uma das funções podem ser misturadas livremente, tanto entre os comandos quanto dentro de um único comando.
Deve ser prontamente entendido que as funções executadas pelo hardware, o software do computador e assemelhados são realizadas por ou usando sinais elétricos e similares. As implementações de software podem ser armazenadas na memória ROM ou FLASH, ou podem ser interconectadas na FLASH.
Deve-se entender que a presente invenção foi descrita acima meramente a título de exemplo, e modificações de detalhes podem ser feitas dentro do escopo da invenção.
Cada característica descrita na descrição e (quando apropriado) nas reivindicações e nos desenhos pode ser proporcionada independentemente ou em qualquer combinação apropriada.

Claims (42)

1. Aparelho para processamento de um fluxo de dados digital caracterizado pelo fato de que compreende: um meio (4028) para recebimento de um fluxo de dados digital compreendendo uma pluralidade de pacotes de informações; cada pacote possuindo um identificador de pacote comum para um ou mais pacotes; um meio de armazenamento de uma lista (200) de pacotes específicos a serem selecionados do fluxo de dados digital recebido, a dita lista (200) incluindo informações de prioridade, indicando uma prioridade atribuída a cada identificador de pacote; um meio para extração dos pacotes especificados na dita lista do fluxo de dados recebido; e um meio de processamento (4007) para processamento dos pacotes extraídos para produzir um fluxo de dados de saída e para reduzir a seletividade dos vários pacotes extraídos no fluxo de dados de saída, por inclusão dos pacotes extraídos com prioridade mais alta no fluxo de dados de saída em preferência aos pacotes extraídos com prioridade mais baixa.
2. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que o dito meio de processamento (4007) é adaptado para reduzir, seletivamente, o número de pacotes extraídos no fluxo de dados de saída, no caso de o número de pacotes extraídos a serem incluídos se tornarem maior que a capacidade de tratamento de dados do fluxo de saida.
3. Aparelho, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que o dito meio de processamento (4007) é adaptado, seletivamente, para reinserir os pacotes de dados extraídos excluídos no fluxo de dados de saída.
4. Aparelho, de acordo com qualquer uma das reivindicações de 1 a 3, caracterizado pelo fato de que os pacotes têm uma de uma multiplicidade de valores de prioridade.
5. Aparelho, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que os pacotes têm um valor de prioridade dentro da faixa de 0 a 255.
6. Aparelho, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que o fluxo de dados digital recebido é um fluxo de dados MPEG, a lista (200) compreendendo uma lista de identificadores de pacotes a serem selecionados do fluxo de dados recebido.
7. Aparelho, de acordo com a reivindicação 6, caracterizado pelo fato de que inclui um meio para armazenamento de pelo menos uma outra lista de identificadores de pacotes (300) e um meio para aplicação de uma ou mais operações de processamento específicas para os pacotes especificados na ou em uma outra lista anterior à inclusão no fluxo de dados de saida.
8. Aparelho, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo fato de que inclui um meio para inserção de outros pacotes no fluxo de dados de saida.
9. Aparelho, de acordo com qualquer uma das reivindicações 1 a 8, caracterizado pelo fato de que os pacotes recebidos compreendem uma pluralidade de seções de dados e o meio de processamento é disposto para executar pelo menos um de: corte de um cabeçalho e/ou rodapé de uma seção de dados recebida; adição de um cabeçalho e/ou rodapé de uma seção de dados recebida; adição de uma indicação do comprimento de uma seção recebida; e adição um teste de estrutura, sequência 4.
10. Aparelho, de acordo com qualquer uma das reivindicações 1 a 9, caracterizado pelo fato de que inclui um meio para monitoração do recebimento de pacotes de informação.
11. Aparelho, de acordo com a reivindicação 10, caracterizado pelo fato de que tem um meio para enfileirar automaticamente os pacotes extraídos até que o dito meio de monitoração indique que todos os pacotes previstos tenham sido recebidos, ou até o recebimento de uma instrução para parar, a partir de uma aplicação.
12. Aparelho, de acordo com qualquer uma das reivindicações de 1 a 11, caracterizado pelo fato de que o meio de combinação é disposto para produzir um fluxo de dados de saida adaptado para armazenamento em um gravador de video digital.
13. Aparelho, de acordo com qualquer uma das reivindicações 1 a 11, caracterizado pelo fato de que o meio de combinação é disposto para produzir um fluxo de dados de saida adaptado para comunicação de dados com um computador.
14. Aparelho, de acordo com qualquer uma das reivindicações 1 a 13, na forma de um dispositivo (4062) em um receptor/decodificador (2020), caracterizado pelo fato de ser disposto para operar sob o controle de uma aplicação (4056), via um gerenciador de dispositivos (4068).
15. Dispositivo para operação sob o controle de uma aplicação para processar um fluxo de dados digital recebido, para produzir um fluxo de saida dele, o dispositivo caracterizado pelo fato de que compreende: um meio (4028) para recebimento de um fluxo de dados digital compreendendo uma pluralidade de pacotes de informações, cada pacote tendo um identificador de pacotes comum a um ou mais pacotes; um meio para recebimento de uma informação de aplicação para compilação de uma lista (200) de pacotes específicos a serem selecionados do fluxo de dados digital recebido, a dita lista (200) incluindo informações de prioridade indicando uma prioridade atribuída a cada identificador de pacote; um meio para extração dos pacotes especificados na dita lista do fluxo de dados recebido; e um meio de processamento (4007) para processamento dos pacotes extraídos para produzir um fluxo de dados de saída e para reduzir seletivamente o número de pacotes extraídos no fluxo de dados de saída, por inclusão dos pacotes extraídos com prioridade mais ■ alta no fluxo de dados de saída, em preferência aos pacotes extraídos com prioridade mais baixa.
16. Dispositivo, de acordo com a reivindicação 15, caracterizado pelo fato de que é disposto para operar em um de dois modos, os modos compreendendo um modo inativo, no qual nenhum fluxo de saída está sendo produzida, e um modo de rodada, no qual os dados estão passando pelo dispositivo.
17. Dispositivo, de acordo com a reivindicação 16, caracterizado pelo fato de que inclui meio para recebimento de comandos de uma aplicação para comutação entre os ditos modos.
18. Dispositivo, de acordo com a reivindicação 16 ou 17, caracterizado pelo fato de que inclui um meio operativo no dito modo inativo para receber informações, para compilação da dita lista (200) na forma de uma lista inicial de identificadores de pacotes a serem copiados para o fluxo de saída.
19. Dispositivo, de acordo com a reivindicação 16, 17 ou 18, caracterizado pelo fato de que inclui um meio operativo no dito modo de rodada para receber uma lista compreendendo uma lista de identificadores de pacotes a serem adicionados ou eliminados da lista em curso.
20. Dispositivo, de acordo com qualquer uma das reivindicações 14 a 19, caracterizado pelo fato de que compreende ainda um meio disposto para manter uma outra lista (300) compreendendo uma lista de identificadores de pacotes a serem descodificados.
21. Dispositivo, de acordo com a reivindicação 20, caracterizado pelo fato de que é disposto para receber informações para uso na descodificação de uma aplicação, de preferência, como parte de um procedimento para posicionamento da lista inicial, compreendendo uma lista de identificadores de pacotes a serem descodificados.
22. Dispositivo, de acordo com qualquer uma das reivindicações 14 a 21, caracterizado pelo fato de que compreende ainda um meio para armazenamento de uma lista de seções MPEG a serem inseridas por uma aplicação.
23. Dispositivo, de acordo com a reivindicação 22, caracterizado pelo fato de que é disposto para receber parâmetros de uma aplicação para o controle da repetição da seção no fluxo de saida, o dispositivo sendo disposto para repetir a seção com base nos parâmetros.
24. Dispositivo, de acordo com qualquer uma das reivindicações 14 a 23, caracterizado pelo fato de que compreende ainda um meio para retornar a uma informação de aplicação relativa aos identificadores de pacotes atualmente selecionados incluídos no fluxo de saída.
25. Sistema de processamento de dados, caracterizado pelo fato de que compreende: um meio de mecanismo de processamento (4008) para rodar pelo menos uma aplicação; um meio para recebimento de um fluxo de dados digital difundido (4028); um dispositivo de acordo com qualquer uma das reivindicações 14 a 24, para processamento do fluxo de dados digital recebido sob o controle da ou de cada aplicação; e um meio para suprir a saída do fluxo de dados pelo dispositivo para uma interface de saída.
26. Sistema de processamento de dados, de acordo com a reivindicação 25, caracterizado pelo fato de que é implementado em um receptor/decodificador, o receptor/decodificador (2020) incluindo um meio para recebimento do fluxo de dados digital difundido de um receptor via satélite ou a cabo e a dita interface, a interface sendo disposta para conexão a um gravador de vídeo digital, a um dispositivo de exibição digital (2022), ou a um computador para exibição; para armazenamento de pelo menos uma parte dos dados recebidos; ou para proporcionar uma ligação de comunicação com o computador.
27. Receptor/decodificador, de acordo com a reivindicação 26, caracterizado pelo fato de que o dispositivo é disposto para cooperar com um controlador de dispositivo (4060) para transmitir o fluxo de dados de saida para a interface.
28. Receptor/decodificador, de acordo com a reivindicação 27, caracterizado pelo fato de que a interface obedece a um padrão IEEE1394 ou uma variante ou modificação dele.
29. Receptor/decodificador, de acordo com qualquer uma das reivindicações 26 a 28, caracterizado pelo fato de que é disposto para conexão com um gravador de video digital, o receptor/decodificador (2020) incluindo uma aplicação (4056) disposta para controlar o dispositivo para selecionar partes do fluxo de dados recebido, compreendendo dois ou mais programas de televisão para transmissão para o gravador de video digital, e um meio para adição de informações no fluxo de dados de saida identificador dos programas.
30. Método de processamento de um fluxo de dados digital caracterizado pelo fato de que compreende: o recebimento de um fluxo de dados digital compreendendo uma pluralidade de pacotes de informações, cada pacote tendo um identificador de pacotes comum a um ou mais pacotes; o armazenamento de uma lista (200) de pacotes específicos a serem selecionados do fluxo de dados digital recebido, a dita lista (200) incluindo informações de prioridade, indicando uma prioridade atribuida a cada identificador de pacote; a extração de pacotes específicos na dita lista (200) do fluxo de dados recebido; o processamento dos pacotes extraídos para produzir um fluxo de dados de saída; e a redução seletivamente do número de pacotes extraídos no fluxo de dados de saída, por inclusão dos pacotes extraídos com prioridade mais alta no fluxo de dados de saída em preferência aos pacotes extraídos com prioridade mais baixa.
31. Método, de acordo com a reivindicação 30, caracterizado pelo fato de que o número de pacotes extraídos no fluxo de dados de saída é seletivamente reduzido, no caso de o número de pacotes extraídos a serem incluídos tornar-se maior que a capacidade de tratamento de dados do fluxo de saída.
32. Método, de acordo com a reivindicação 30 ou 31, caracterizado pelo fato de que compreende ainda a etapa de reinserção, seletivamente, dos pacotes de dados extraídos no fluxo de dados de saída.
33. Método, de acordo com qualquer uma das reivindicações 30 a 32, caracterizado pelo fato de que os pacotes têm um de uma multiplicidade de valores de prioridade.
34. Método, de acordo com qualquer uma das reivindicações 30 a 33, caracterizado pelo fato de que os pacotes têm um valor de prioridade dentro da faixa de 0 a 255.
35. Método, de acordo com qualquer uma das reivindicações 30 a 34, caracterizado pelo fato de que o fluxo de dados digital recebido é um fluxo de dados MPEG, a lista compreendendo uma lista de identificadores de pacotes a serem selecionados do fluxo de dados recebida.
36. Método, de acordo com a reivindicação 35, caracterizado pelo fato de que compreende ainda as etapas de armazenamento de pelo menos uma outra lista de identificadores de pacotes, e aplicação de uma ou mais operações de processamento especificas em pacotes específicos na ou em outra lista, anterior à inclusão no fluxo de dados de saída.
37. Método, de acordo com qualquer uma das reivindicações 30 a 36, caracterizado pelo fato de que compreende ainda a etapa de inserção de outros pacotes no fluxo de dados de saída.
38. Método, de acordo com qualquer uma das reivindicações 30 a 37, caracterizado pelo fato de que os pacotes recebidos compreendem uma pluralidade de seções de dados, e a etapa de processamento compreende pelo menos um de: corte de cabeçalho e/ou rodapé de uma seção de dados recebida; adição de um cabeçalho e/ou rodapé de uma seção de dados recebida; adição de uma indicação do comprimento da seção recebida; e adição de uma sequência de teste de estrutura.
39. Método, de acordo com qualquer uma das reivindicações 30 a 38, caracterizado pelo fato de que compreende ainda a etapa para monitoração do recebimento dos pacotes de informação.
40. Método, de acordo com a reivindicação 39, caracterizado pelo fato de que compreende ainda uma etapa para enfileirar automaticamente os pacotes extraídos, até que todos os pacotes previstos tenham sido recebidos ou até o recebimento de uma instrução para parar, a partir de uma aplicação.
41. Método, de acordo com qualquer uma das reivindicações 30 a 40, caracterizado pelo fato de que produz um fluxo de dados de saída adaptado para armazenamento em um gravador de vídeo digital.
42. Método, de acordo com qualquer uma das reivindicações 30 a 40, caracterizado pelo fato de que produz um fluxo de dados de saída adaptado para a comunicação de dados com um computador.
BRPI9810774-7A 1997-07-24 1998-07-23 Aparelho para processamento de um fluxo de dados digital, dispositivo para operação, sistema para processamento de dados e método de processamento do dito fluxo de dados digital BR9810774B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97401792A EP0893913A1 (en) 1997-07-24 1997-07-24 Digital transport stream processing
EP97401792.3 1997-07-24
PCT/IB1998/001173 WO1999005854A1 (en) 1997-07-24 1998-07-23 Digital transport stream processing

Publications (2)

Publication Number Publication Date
BR9810774A BR9810774A (pt) 2000-09-19
BR9810774B1 true BR9810774B1 (pt) 2014-07-15

Family

ID=8229822

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI9810774-7A BR9810774B1 (pt) 1997-07-24 1998-07-23 Aparelho para processamento de um fluxo de dados digital, dispositivo para operação, sistema para processamento de dados e método de processamento do dito fluxo de dados digital

Country Status (21)

Country Link
EP (2) EP0893913A1 (pt)
JP (1) JP4201975B2 (pt)
KR (1) KR100553195B1 (pt)
CN (1) CN1158856C (pt)
AT (1) ATE244486T1 (pt)
AU (1) AU749225B2 (pt)
BR (1) BR9810774B1 (pt)
CA (1) CA2297843A1 (pt)
DE (1) DE69816087T2 (pt)
ES (1) ES2201511T3 (pt)
HK (1) HK1026552A1 (pt)
HR (1) HRP20000040A2 (pt)
HU (1) HUP0003527A3 (pt)
ID (1) ID24158A (pt)
IL (1) IL134146A0 (pt)
NO (1) NO322938B1 (pt)
NZ (1) NZ502918A (pt)
PL (1) PL338244A1 (pt)
TR (1) TR200000845T2 (pt)
WO (1) WO1999005854A1 (pt)
ZA (1) ZA986603B (pt)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925577B1 (en) 1997-11-14 2005-08-02 Sony International (Europe) Gmbh Method for recording/storing multiple transport streams by dividing into series of packets
US6954804B2 (en) * 1998-03-26 2005-10-11 Micro, Inc. Controller for portable electronic devices
EP0964572A1 (en) * 1998-06-08 1999-12-15 CANAL+ Société Anonyme Decoder and security module for a digital transmission system
US6671290B1 (en) 1998-11-10 2003-12-30 Sony Corporation Receiving apparatus and recording/reproducing system for digital broadcasts
FR2792154B1 (fr) * 1999-04-07 2001-06-08 Thomson Multimedia Sa Procede de gestion de donnees de service et recepteur dans un systeme de television numerique
EP1049336A3 (en) * 1999-04-26 2001-03-07 Sarnoff Corporation Establishing a datapipe in a video stream
EP1051028A1 (en) * 1999-05-05 2000-11-08 Sony International (Europe) GmbH Control module of a tuner for a HAVI network
GB9911989D0 (en) * 1999-05-25 1999-07-21 Pace Micro Tech Plc Data transport strems processing
GB2350980B (en) 1999-06-08 2003-08-27 Sgs Thomson Microelectronics Device and method for processing a stream of data
DE69943236D1 (de) * 1999-07-08 2011-04-14 Sony Deutschland Gmbh Verfahren zur Aufzeichnung von Datentransportströmen
GB2352595B (en) 1999-07-27 2003-10-01 Sgs Thomson Microelectronics Data processing device
EP1073263A1 (en) * 1999-07-28 2001-01-31 Sarnoff Corporation Acquiring data from a bitstream
JP2002094472A (ja) * 2000-05-30 2002-03-29 Matsushita Electric Ind Co Ltd データ取得装置及びその方法
EP1175086A1 (en) * 2000-07-21 2002-01-23 Sony International (Europe) GmbH Network storage device including a demultiplexer
FR2812500A1 (fr) * 2000-07-31 2002-02-01 Koninkl Philips Electronics Nv Traitement d'un ensemble de donnees
GB0022951D0 (en) * 2000-09-19 2000-11-01 Sgs Thomson Microelectronics Data injection
GB0022949D0 (en) 2000-09-19 2000-11-01 Sgs Thomson Microelectronics Processing instruction words
CN101241739B (zh) * 2001-01-16 2011-05-18 松下电器产业株式会社 信息记录装置和方法
KR100878926B1 (ko) * 2001-01-16 2009-01-19 파나소닉 주식회사 정보기록장치, 정보기록방법 및 기록매체
EP1304871A3 (en) 2001-08-21 2003-06-18 Canal+ Technologies Société Anonyme Method and apparatus for a receiver/decoder
US7027768B2 (en) 2001-10-12 2006-04-11 Bellsouth Intellectual Property Corporation Method and systems using a set-top box and communicating between a remote data network and a wireless communication network
EP1311116A3 (en) * 2001-11-08 2004-12-15 Thomson Licensing S.A. Method for recording digital video broadcast data, and digital video recorder
EP1311115A1 (en) * 2001-11-08 2003-05-14 Deutsche Thomson-Brandt Gmbh Method for recording digital video broadcast data, and digital video recorder
KR100439339B1 (ko) * 2002-01-15 2004-07-07 한국전자통신연구원 데이터 방송 서버 제어 장치 및 그 방법
US20030134651A1 (en) * 2002-01-16 2003-07-17 Hsu Raymond T. Method and apparatus for flow treatment and mapping on multicast/broadcast services
KR100439338B1 (ko) * 2002-01-16 2004-07-07 한국전자통신연구원 디지털 지상파 데이터 방송을 위한 데이터 부호화 장치 및그 방법
KR100483451B1 (ko) * 2002-05-27 2005-04-15 주식회사 아이큐브 컨텐츠 파일과 네비게이션 정보의 편집처리방법 및 그 방법에 의하여 정보가 기록된 기록매체
KR100468163B1 (ko) * 2002-06-22 2005-01-26 삼성전자주식회사 디지털 비디오 수신기 및 그 스트림 생성방법
US8000647B2 (en) 2002-10-11 2011-08-16 At&T Intellectual Property I, L.P. Method using a set-top box and communicating between a remote data network and a wireless communication network
ES2269603T3 (es) * 2002-12-04 2007-04-01 Irdeto Access B.V. Terminal, sistema de distribucion de datos que comprende dicho terminal y metodo de retransmision de datos digitales.
KR100717176B1 (ko) * 2005-08-23 2007-05-10 한국방송공사 멀티 애플리케이션 제공 방법 및 멀티 애플리케이션 제공시스템
EP1768285A1 (en) * 2005-09-23 2007-03-28 Udcast Method and device for processing a DVB-H (Digital Video Broadcasting - Handheld) compliant transport stream
KR100740201B1 (ko) * 2005-10-21 2007-07-18 삼성전자주식회사 듀얼 전송 스트림 생성 장치 및 그 방법
KR100740202B1 (ko) 2005-10-21 2007-07-18 삼성전자주식회사 듀얼 전송 스트림 생성 장치 및 그 방법
JP4123283B2 (ja) * 2006-04-03 2008-07-23 株式会社日立製作所 記録媒体記録装置
US8358687B2 (en) 2007-09-07 2013-01-22 Qualcomm Incorporated Method and apparatus for receiving multiple simultaneous stream bursts with limited DVB receiver memory
CN101568027B (zh) * 2009-05-22 2012-09-05 华为技术有限公司 转发视频数据的方法、装置和系统
US9439148B2 (en) * 2011-04-15 2016-09-06 Intel Corporation Methods and arrangements for channel access in wireless networks
FR3002718A1 (fr) * 2013-02-25 2014-08-29 France Telecom Traitement d'un multiplex video
CN106034259A (zh) * 2015-03-13 2016-10-19 杭州云链网络技术有限公司 一种多路广播数字电视信号的路由器及其广播方法
CN111343494B (zh) * 2018-12-19 2023-08-15 深圳市茁壮网络股份有限公司 数据过滤方法、解复用器及数字信号的处理设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2146472C (en) * 1994-04-22 2007-10-09 Kevin Elliott Bridgewater Packet video signal inverse transport processor with memory address circuitry
KR0166935B1 (ko) * 1994-11-23 1999-03-20 구자홍 엠펙2 트랜스포트 디코더 장치
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
KR100226528B1 (ko) * 1995-03-29 1999-10-15 가나이 쓰도무 다중화 압축화상/음성데이타의 복호장치
US5621463A (en) * 1995-05-16 1997-04-15 Thomson Multimedia S.A. Easily expandable transport stream encoder
US5574505A (en) * 1995-05-16 1996-11-12 Thomson Multimedia S.A. Method and apparatus for operating a transport stream encoder to produce a stream of packets carrying data representing a plurality of component signals
US6069902A (en) * 1995-06-14 2000-05-30 Matsushita Electric Industrial Co., Ltd. Broadcast receiver, transmission control unit and recording/reproducing apparatus
US5729292A (en) * 1995-12-21 1998-03-17 Thomson Multimedia, S.A. Optimizing performance in a packet slot priority packet transport system
US5899578A (en) * 1995-12-25 1999-05-04 Sony Corporation Digital signal processor, processing method, digital signal recording/playback device and digital signal playback method
JP3305183B2 (ja) * 1996-01-12 2002-07-22 株式会社東芝 ディジタル放送受信端末装置
FR2752350B1 (fr) * 1996-08-09 2001-06-08 Thomson Multimedia Sa Procede d'extraction de donnees dans un systeme de transmission cyclique et dispositif de mise en oeuvre

Also Published As

Publication number Publication date
AU749225B2 (en) 2002-06-20
KR20010022200A (ko) 2001-03-15
HK1026552A1 (en) 2000-12-15
BR9810774A (pt) 2000-09-19
EP0998813B1 (en) 2003-07-02
ID24158A (id) 2000-07-13
CN1158856C (zh) 2004-07-21
EP0998813A1 (en) 2000-05-10
JP4201975B2 (ja) 2008-12-24
CN1271492A (zh) 2000-10-25
IL134146A0 (en) 2001-04-30
KR100553195B1 (ko) 2006-02-22
WO1999005854A1 (en) 1999-02-04
HUP0003527A2 (hu) 2001-02-28
DE69816087D1 (de) 2003-08-07
NO20000320L (no) 2000-03-24
ES2201511T3 (es) 2004-03-16
NO322938B1 (no) 2006-12-18
ATE244486T1 (de) 2003-07-15
NO20000320D0 (no) 2000-01-21
CA2297843A1 (en) 1999-02-04
HUP0003527A3 (en) 2003-01-28
TR200000845T2 (tr) 2000-07-21
ZA986603B (en) 1999-03-16
HRP20000040A2 (en) 2000-10-31
JP2001511629A (ja) 2001-08-14
PL338244A1 (en) 2000-10-09
NZ502918A (en) 2002-09-27
AU8353498A (en) 1999-02-16
EP0893913A1 (en) 1999-01-27
DE69816087T2 (de) 2004-05-13

Similar Documents

Publication Publication Date Title
BR9810774B1 (pt) Aparelho para processamento de um fluxo de dados digital, dispositivo para operação, sistema para processamento de dados e método de processamento do dito fluxo de dados digital
US7590331B2 (en) Broadcast recording apparatus
JP4895424B2 (ja) 複数ユーザ用マルチメディア・ターミナル
US9264757B2 (en) Service executing apparatus
CN101208750B (zh) 记录和再现装置以及记录和再现方法
US20050238334A1 (en) Program reception/execution apparatus that can commence execution of a machine program having only received the program in part, and a program transmission apparatus that enables such execution
US20050044201A1 (en) Information processing apparatus
US7089554B2 (en) Program executing apparatus
EP1039758A2 (en) Apparatus for creating shared video scene content
US7478415B1 (en) Digital broadcast receiving system
JP4393710B2 (ja) テレビシステムにおけるサービスデータ管理方法及び装置
JP3874225B2 (ja) データ処理装置及びデータ処理方法
MXPA00000833A (en) Digital transport stream processing
CZ2000266A3 (cs) Zpracování digitálního přenosového toku dat
EP1392060A1 (en) System and method for broadcast testing
MX2007013716A (es) Aparato de grabacion y reproduccion y metodo de grabacion y reproduccion.
MXPA00000776A (en) Ieee set top box device driver

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B25C Requirement related to requested transfer of rights

Owner name: CANAL + SOCIETE ANONYME. (FR)

Free format text: AFIM DE ATENDER AS TRANSFERENCIAS REQUERIDAS ATRAVES DA PETICAO NO 020110017884/RJ DE 23/02/2011, E NECESSARIO RECOLHER AS GUIAS REFERENTES AS ALTERACOES DE NOME.

B25A Requested transfer of rights approved

Owner name: CANAL + TECHNOLOGIES (FR)

Free format text: TRANSFERIDO DE: CANAL + SOCIETE ANONYME

B25D Requested change of name of applicant approved

Owner name: NAGRA THOMSON LICENSING (FR)

Free format text: NOME ALTERADO DE: CANAL + TECHNOLOGIES

B25A Requested transfer of rights approved

Owner name: THOMSON LICENSING (FR)

Free format text: TRANSFERIDO DE: NAGRA THOMSON LICENSING

B06A Patent application procedure suspended [chapter 6.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 15/07/2014, OBSERVADAS AS CONDICOES LEGAIS.

B25G Requested change of headquarter approved
B25A Requested transfer of rights approved
B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 23A 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 2629 DE 25-05-2021 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.