PT679028E - Processador de transporte inverso com circuitos para enderecamento de memoria - Google Patents

Processador de transporte inverso com circuitos para enderecamento de memoria Download PDF

Info

Publication number
PT679028E
PT679028E PT95105541T PT95105541T PT679028E PT 679028 E PT679028 E PT 679028E PT 95105541 T PT95105541 T PT 95105541T PT 95105541 T PT95105541 T PT 95105541T PT 679028 E PT679028 E PT 679028E
Authority
PT
Portugal
Prior art keywords
memory
data
bit
packet
loads
Prior art date
Application number
PT95105541T
Other languages
English (en)
Inventor
Kevin Elliott Bridgewater
Michael Scott Deiss
Original Assignee
Thomson Consumer Electronics
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26926333&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=PT679028(E) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US08/232,789 external-priority patent/US5521979A/en
Priority claimed from US08/232,787 external-priority patent/US5475754A/en
Application filed by Thomson Consumer Electronics filed Critical Thomson Consumer Electronics
Publication of PT679028E publication Critical patent/PT679028E/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/426Internal components of the client ; Characteristics thereof
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)

Description

84 425 ΕΡ Ο 679 028/ΡΤ
DESCRICÃO “Processador de transporte inverso com circuitos para endereçamento de memória”
Este invento refere-se a aparelhos para processamento de pacotes de dados de componentes de programa a partir de um sinal de vídeo de pacote e extracção de correspondentes cargas de componentes de sinal de programa diferentes. O mesmo engloba um aparelho para endereçamento de uma memória separadora e o conceito de utilização de uma memória separadora de transporte comum.
ANTECEDENTES DO INVENTO É conhecido, por exemplo, a partir da patente US-A-5 168 356 e da patente US-A-5 289 276, que é vantajoso transmitir sinais de vídeo comprimidos em pacotes, permitindo os respectivos pacotes uma medida de protecção/correcção de erro. Os sistemas nas patentes anteriores transmitem e processam um único programa de televisão, embora com pluralidade de componentes de programa, a partir dos respectivos canais de transmissão. Estes sistemas utilizam processadores de transporte inversos para extraírem o componente de sinal de vídeo dos respectivos programas para um processamento adicional para condicionar o componente de vídeo para reprodução. A patente US-A-5 289 276 apenas explica o processamento do componente de sinal de vídeo. A patente US-A-5 168 356 descreve um processador de transporte inverso, o qual separa os outros componentes de programa com um desmultiplexador simples que responde aos dados de cabeçalho de pacote para distinguir os respectivos componentes de sinal. O componente de vídeo separado é acoplado a uma memória separadora, enquanto que os restantes componentes de sinal são mostrados acoplados directamente aos seus respectivos circuitos de processamento. É sabido a partir da patente US-A-5.233.654, que pode ser transmitido um código com sinais de televisão, de modo a proporcionar uma programação interactiva. Este código será tipicamente operado num computador associado com um receptor de televisão, ou executado pelo mesmo. É também conhecido a partir de W094/14284 como utilizar várias estruturas de memória de duração de tempo diferido para disseminação da programação de televisão em formação.
84 425 ΕΡ Ο 679 028/ΡΤ 2
Em aplicações em que a maioria dos componentes de programa são comprimidos, é necessária alguma separação entre o canal de transmissão e a maioria dos respectivos aparelhos de processamento (descompressão) de componentes, assim é desejável acoplar a maioria, senão todos os componentes à memória separadora. As velocidades de dados dos diferentes componentes de programa podem variar largamente entre os respectivos componentes, bem como dentro dos respectivos componentes. Assim, é vantajoso separar cada componente separadamente. Em geral não é insignificante a memória separadora para separar os dados de componentes de programa comprimidos e processar programas interactivos. De facto a mesma pode contribuir significativamente para o custo de um sistema receptor.
Se o processador de transporte inverso reside, por exemplo, numa caixa posta em cima, o tamanho da memória e os circuitos de administração devem ser mantidos num mínimo para manter os custos de consumidor tão baixos quanto possível. Assim, é economicamente desejável utilizar a mesma memória e os circuitos de administração de memória para a separação de componentes de programa, a manutenção do processador, e as funções interactivas.
RESUMO DO INVENTO O presente invento é um sistema de processador de transporte inverso para um receptor de sinal de pacote TDM. O sistema inclui um aparelho para extracção selectiva das cargas desejadas dos dados de componentes de programa e acoplamento estes dados a um acesso de entrada de dados da memória separadora comum. Um microprocessador gera os dados, os quais são também aplicados ao acesso de entrada de dados da memória separadora comum. Os respectivos dados e cargas de componentes gerados pelo microprocessador são armazenados nos blocos respectivos da memória separadora comum, em resposta aos endereços de memória associados, os quais são aplicados a um acesso de entrada de endereço de memória através de um multiplexador de endereços.
Numa concretização particular, as cargas de pacote de componentes de programa dos respectivos componentes de programa são multiplexadas para um acesso de entrada de dados de memória e dirigidas para selecção de áreas de memória de acesso aleatório (RAM) de acordo com uma pluralidade de indicadores de início e fim. Os indicadores de início e fim são armazenados numa primeira 84 425 ΕΡ Ο 679 028/ΡΤ 3
pluralidade de registadores, um para cada componente de programa. São gerados endereços, em parte, através de pluralidade registadores de indicador de leitura multiplexados com um adicionador para incrementar sucessivamente os indicadores para os respectivos componentes de programa. Os indicadores de início estão associados aos indicadores de leitura para endereços de memória, que passam através de blocos de memória indicados, atribuídos selectivamente aos respectivos componentes de programa.
Numa concretização adicional, um dispositivo de descodificação é incluído para decifrar dados de carga de acordo com chaves de decifração específicos de pacote.
Ainda numa concretização adicional, é incluído um detector para detectar cargas, que incluem dados de designação. As cargas que contêm dados de designação são dirigidas através da memória separadora comum para um cartão inteligente, o qual gera as chaves de descodificação específicas de pacote.
Uma saída de dados a partir da memória é acoplada a um canal interligado com os respectivos processadores de componentes de programa. Respondendo aos pedidos de dados dos respectivos processadores de componentes de programa, e aos pedidos de escrita de dados da fonte de carga de componentes, o acesso à memória para as funções de leitura e escrita é arbitrado, de modo que não seja perdido nenhum dado de programa que entra, e todos os processadores de componente sejam servidos.
BREVE DESCRIÇÃO DOS DESENHOS O invento será descrito com referência aos desenhos, nos quais: a FIG. 1 é uma representação pictórica de um sinal de televisão em pacotes multiplexado por divisão de tempo, a FIG. 2 é uma representação em pictórica dos respectivos pacotes de sinal; a FIG. 3 é um diagrama de blocos de um receptor para selecção e processamento de pacotes dos sinais de componentes multiplexados, que concretizam o presente invento, 84 425 ΕΡ Ο 679 028/ΡΤ 4
a FIG. 4 é um diagrama de blocos dos circuitos de gestão de memória exemplares, os quais podem ser implementados para o elemento 17 da FIG. 3; a FIG. 5 é uma representação pictórica, que mostra a formação de endereços de memória para os dados de canal de serviço; a FIG. 6 é uma representação pictórica, que mostra a formação de endereços de memória para os dados de pacote auxiliares; a FIG. 7 é um diagrama de blocos para circuitos exemplificativos para gerar endereços de memória de pacote auxiliares; a FIG. 8 é um diagrama de blocos de circuitos de registador alternativos para incrementar endereços de memória; a FIG. 9 é um fluxograma da operação do controlo de endereços de memória; a FIG. 10 é um diagrama de blocos de um detector de código filtro/início de acesso condicional.
DESCRIÇÃO PORMENORIZADA A FIG. 1 mostra um fluxo de sinais, que consiste numa sequência de caixas as quais representam os pacotes de sinal, os quais são componentes de uma pluralidade de programas de televisão diferentes ou de televisão interactivos. Estes componentes de programa são assumido como sendo formados por dados comprimidos e como tal a quantidade de dados de vídeo para as respectivas imagens é variável. Os pacotes têm comprimento fixo. Os pacotes com letras tendo índices semelhantes representam os componentes de um único programa. Por exemplo, Vj, A„ D( representam pacotes de vídeo, de áudio e de dados e os pacotes designados Vv A1f D1 representam os componentes de vídeo, de áudio e de dados para o programa 1, e V3, A31, A32, D3, representam os componentes de vídeo, de áudio 1, de áudio 2, e de dados do programa 3. Os pacotes de dados Dj podem conter, por exemplo, dados de controlo para iniciarem certa acção dentro de um receptor, ou os mesmos podem incluir códigos executáveis, que formam uma aplicação a ser executada, por exemplo, por um microprocessador, localizado
84 425 ΕΡ Ο 679 028/ΡΤ 5 dentro de ou associado a um receptor.
Na linha de topo da sequência de pacotes, os respectivos componentes de um programa particular são mostrados agrupados. Contudo, não existe a necessidade de pacotes do mesmo programa serem agrupados como é indicado pela sequência completa de pacotes. Nem existe qualquer ordem especial para a sequência da ocorrência dos respectivos componentes.
Os respectivos pacotes são dispostos de modo a incluírem um prefixo e uma carga, como mostrado na FIG. 2. O prefixo deste exemplo inclui dois bytes de 8 bits, que compreendem cinco campos, quatro (P, BB, CF, CS) dos quais são campos de 1 bit, e um (SCID) dos quais é um campo de 12 bit. O campo de SCID é o identificador de componente de sinal. O campo CF contém uma marca para indicar se a carga do pacote está embaralhada, e o campo CS contém um sinalizador o qual indica qual das duas chaves de desembaralhar alternativas é para ser utilizada para desembaralhar os pacotes embaralhados. O prefixo de todos os pacotes é alinhado no pacote, e assim a localização dos campos respectivos é facilmente identificável.
Dentro de todas as cargas está um cabeçalho, o qual contém uma contagem de continuidade, CC, o módulo 16, e um bit de marca TOGGLE, os quais são componentes de programa específicos. A contagem de continuidade é simplesmente uma numeração sucessiva de pacotes sucessivos do mesmo componente de programa. O bit sinalizador TOGGLE é um sinal de bit, o qual, para o componente de vídeo, altera o nível lógico ou muda o estado nos pacotes que definem o início de uma nova imagem (quadro), isto é, os pacotes, os quais contêm um cabeçalho de camada de imagem. A FIG. 3 ilustra na forma de bloco, uma porção de um receptor de sinal de televisão digital, que inclui elementos de um processador de transporte inverso. O sinal é detectado por uma antena 10 e aplicado a um detector de sintonia 11, o qual extrai uma banda de frequência particular dos sinais recebidos, e fornece um sinal comprimido de banda de base num formato binário. A banda de frequências é seleccionada pelo utilizador através de um microprocessador 19 por processos convencionais. Nominalmente os sinais digitais de transmissão terão sido codificados com erro utilizando, por exemplo, a codificação de correcção de erro directa (FEC) de Reed-Solomon. Os sinais de banda de base serão assim 84 425 ΕΡ Ο 679 028/ΡΤ 6
aplicados a um descodificador FEC 12. O descodificador FEC 12 sincroniza o vídeo recebido e fornece um fluxo de pacotes de sinal do tipo ilustrado na FIG. 1. O FEC 12 pode fornecer pacotes em intervalos regulares, ou a pedido, por exemplo, através do controlador de memória 17. Em qualquer caso é fornecido um enquadramento de pacotes ou de sinal de sincronização pelo circuito FEC, o qual indica os tempos em que a respectiva informação de pacote é transferida do FEC 12. A banda de frequências detectada pode conter uma pluralidade de programas multiplexados por divisão de tempo na forma de pacotes. Para ser útil, apenas os pacotes de um único programa devem ser passados para os elementos de circuito adicionais. Neste exemplo é assumido que o utilizador não tem conhecimento de qual dos pacotes deve seleccionar. Esta informação está contida num guia de programa, o qual tem um programa que consiste em dados, os quais inter-relacionam os componentes de sinal de programa através dos SCID, e podem incluir informação referente, por exemplo, a designações de assinante. O guia de programa é uma listagem para cada programa, dos SCID para os componentes de áudio, de vídeo, e de dados dos respectivos programas. Ao guia de programa (pacotes D4 na FIG. 1) está atribuído um SCID fixo. Quando é aplicada a alimentação de energia ao receptor, o microprocessador 19 é programado para carregar o SCID associado com o guia de programa num de um banco de registadores de SCID programáveis semelhantes 13. Os campos de SCID da porção de prefixo dos respectivos pacotes detectados de sinal do FEC 12 são carregados sucessivamente num registador de SCID adicional 14. Os registadores programáveis e o registador de SCID recebido são acoplados aos respectivos acessos de entrada de um circuito comparador 15, e o SCID recebido é comparado com o guia de programa de SCID. Se o SCID para um pacote coincide com o guia de programa de SCID, o comparador 15 condiciona um controlador de memória 17 para encaminhar esse pacote para uma localização predeterminada na memória 18, para utilização pelo microprocessador. Se o SCID recebido não coincide com o guia de programa de SCID, o correspondente pacote é simplesmente deitado no lixo. O microprocessador espera por um comando de programação do utilizador através de uma interface 20, a qual é mostrada como um teclado de computador, mas que pode ser um controlo remoto convencional, ou os comutadores de painel frontal de receptor. O utilizador pode pedir para visionar um programa fornecido no
84 425 ΕΡ Ο 679 028/ΡΤ canal 4 (na linguagem dos sistemas de TV analógicos). O microprocessador 19 está programado para explorar a lista de guia de programa que foi carregada na memória 18 para os respectivos SCID dos componentes de programa do canal 4, e para carregar estes SCID nos outros respectivos registadores programáveis do banco de registadores 13, os quais estão associados ao correspondente circuito de processamento de sinal de componente.
Os pacotes recebidos dos componentes de programa de áudio, de vídeo ou de dados, para um programa desejado, devem por último serem encaminhados para os respectivos processadores de sinal de áudio 23, de vídeo 22, ou de dados auxiliares 21 (24), respectivamente. Os dados são recebidos a uma velocidade relativamente constante, mas os processadores de sinal nominalmente requerem dados de entrada em impulsos súbitos (por exemplo, de acordo com os respectivos tipos de descompressão). O sistema exemplificativo da FIG. 3, encaminha, em primeiro lugar, os respectivos pacotes para localizações de memória predeterminadas na memória 18. Em seguida os respectivos processadores 21 a 24 requerem os pacotes de componente da memória 18. O encaminhamento dos componentes através da memória fornece uma medida da velocidade de dados de sinal desejado de separação ou de estrangulamento.
Os pacotes de áudio, de vídeo e de dados são carregados nas respectivas localizações de memória predeterminadas para permitir aos processadores de sinal o conveniente acesso separado aos dados de componentes. A fim de que as cargas dos respectivos pacotes de componentes sejam carregados nas áreas de memória apropriadas, os respectivos comparadores de SCID estão associados a essas áreas de memória. Esta associação pode ser feita por fios no controlador de memória 17, ou a associação pode ser programável. Se a anterior, serão sempre atribuídos aos SCID de áudio, de vídeo e de áudio, respectivamente, registadores específicos dos registadores programáveis 13. Se estes últimos dos SCID de áudio, de vídeo ou de dados podem ser carregados em qualquer um dos registadores programáveis 13, e a associação apropriada será programada no controlados de memória 17, quando os respectivos SCID são carregados nos registadores programáveis.
No estado constante, depois dos SCID de programa terem sido armazenados nos registadores programáveis 13, os SCID dos pacotes de sinal recebidos são comparados com todos os SCID nos registadores de SCID
84 425 ΕΡ Ο 679 028/ΡΤ 8 programáveis. Se é feita uma coincidência com cada um SCID de áudio, de vídeo ou de dados armazenados, a correspondente carga de pacote será armazenada na área ou bloco de memória de áudio, de vídeo ou de dados, respectivamente.
Os respectivos pacotes de sinal são acoplados a partir do FEC 12 para o controlador de memória 17 através de um decifrador de sinal 16. Apenas as cargas de sinal são embaralhadas e os cabeçalhos de pacote são passados pelo decifrador inalterado. Seja ou não um pacote para ser desembaralhado tal é determinado pela marca CF no prefixo de pacote, e como é para ser desembaralhado é determinado pela marca CS. Se não for feita a coincidência de SCID para um respectivo pacote, o descodificador pode simplesmente ser impedido de passar quaisquer dados. Em alternância, se não existir coincidência de SCID para um pacote, o decifrador pode ser autorizado a decifrar de acordo com os seus últimos ajustamentos e o controlo de escrita de memória pode ser impedido para deitar fora o respectivo pacote.
O decifrador é programado com chaves de descodificação fornecidas pelo aparelho de cartão inteligente 31. O cartão inteligente responde à informação de designação contida em pacotes particulares do guia de programa, para gerar chaves de decifração apropriadas. O sistema do presente exemplo incorpora dois níveis de acesso de cifra ou de programa, mensagens de controlo de designação ECM, e mensagens de gestão de designação EMM. O controlo de designação de programa e a informação de administração são regularmente transmitidos em pacotes identificáveis com SCID específicos, incluídos no fluxo de pacotes, que compreendem o guia de programa. A informação de ECM, contida nestes pacotes, é utilizada pelo cartão inteligente para gerar as chaves de descodificação utilizadas pelo descodificador. A informação EMM incluída nestes pacotes é utilizada pelo cartão inteligente para gerar as chaves de decifração utilizadas pelo decifrador. A informação de designação incluída nestes pacotes é utilizada pelo cartão inteligente específico de subscritor para determinar o material de programa, para o qual o subscritor é designado. A informação de designação de EMM dentro destes pacotes pode ser geograficamente específica, específica de grupo ou específica de subscritor. Por exemplo, o presente sistema incluirá um modem (modulador/desmodulador) (não mostrado) para comunicação da informação de facturação a partir do cartão inteligente para o fornecedor de programas, por exemplo, um transmissor de satélite. O cartão inteligente pode ser programado, por exemplo, com o código de área e central telefónica da localização do receptor. O
84 425 ΕΡ Ο 679 028/ΡΤ 9 ΕΜΜ pode incluir dados, os quais quando processados pelo cartão inteligente, designarão ou negarão a recepção dos programas particulares em códigos de área particulares. O fornecedor de programa pode querer a capacidade de escurecer áreas particulares ou grupos com tempo de condução muito curto. Por exemplo, pode ser necessário um transmissor para escurecer um jogo de futebol na área local do estádio, se os bilhetes para o jogo não tiverem sido vendidos. Esta informação não está disponível até imediatamente antes do início do jogo. Com um tal tempo de condução tão curto pode não ser possível programar os EMM para escurecer a área local. Uma codificação adicional da informação de designação é incluída dentro das cargas de dados de designação para permitir o escurecimento em questão.
Os pacotes que contêm os dados de designação incluem um cabeçalho de carga de 128 bits, disposto em 4 grupos codificados especialmente de 32 bits. Um filtro de coincidência ou descodificador de código E 30, está disposto para detectar certas combinações de padrões de bits dentro do cabeçalho de 128 bits. Se é detectada uma coincidência o descodificador comunica com o controlador de memória 17 e com o cartão inteligente 31 para tornar o restante da carga de designação disponível ao cartão inteligente (através da memória 18). Se não é detectada uma coincidência, a carga não é aceite pelo receptor específico. Os códigos especiais podem ser periodicamente alterados se o filtro de coincidência 30 é tornado programável. Estes códigos podem ser periodicamente fornecidos pelo cartão inteligente. Para mais pormenores específicos sobre a operação do cartão inteligente, quando relacionado com as designações do espectador, o leitor é convidado para rever a secção 25 de “THE SATELLITE BOOK, A COMPLETE GUIDE TO SATELLITE TV THEORY AND PRACTICE”, Swift Television Publications, 17 Pittsfield, Cricklade, Wilts, Inglaterra. O filtro de coincidência ou descodificador de código E está disposto de modo a executar uma segunda função, a qual é detectar cabeçalhos de vídeo MPEG particulares. Estes cabeçalhos ou códigos de início têm um comprimento de 32 bits, (o qual é a razão pela qual os cabeçalhos das cargas de designação são codificadas em grupos de 32 bits). Se os dados de vídeo forem perdidos, um descodificador de vídeo MPEG pode apenas recomeçar os dados de vídeo de descompressão em pontos de entrada de dados particulares. Estes pontos de 10 84 425 ΕΡ Ο 679 028/ΡΤ entrada coincidem com os códigos de início MPEG. O descodificador pode ser disposto de modo a comunicar com o controlador de memória 17 para inibir o fluxo de dados de vídeo para a memória, depois da perda dos pacotes de vídeo, e para resumir as cargas de vídeo de escrita para a memória, apenas depois do código de início MPEG seguinte serdetectado pelo descodificador 30. A FIG. 4 ilustra os aparelhos exemplificativos para o controlador de memória 17, mostrado na FIG. 3. Cada componente de programa é armazenado num bloco contíguo diferente da memória 18. Para além disso, outros dados, tais como os dados gerados pelo microprocessador 19 ou por um cartão inteligente (não mostrado) podem ser armazenados na memória 18. São aplicados endereços à memória 18 por um multiplexador 105, e são aplicados à memória 18 dados de entrada por meio de um multiplexador 99. Os dados de saída dos circuitos de gestão de memória são fornecidos aos processadores de sinal por um multiplexador adicional 104. Os dados de saída fornecidos pelo multiplexador 104 são derivados a partir do microprocessador 19, da memória 18 ou directamente do multiplexador 99. Presume-se que os dados de programa têm uma resolução e qualidade de imagem padrão, e que ocorrem a uma velocidade de dados particular. Por outro lado os sinais de televisão de alta definição, HDTV, os quais podem ser fornecidos por este receptor, ocorrem a uma velocidade de dados significativamente mais alta. Na prática todos os dados fornecidos pelo FEC serão encaminhados através da memória 18, através do multiplexador 99 e do circuito E/S de memória 102, excepto para os sinais HDTV de velocidade mais alta, os quais podem ser encaminhados directamente a partir do multiplexador 99 para o multiplexador 104. São fornecidos dados para o multiplexador 99 a partir do decifrador 16, dos circuitos do cartão inteligente, do microprocessador 19, e de uma fonte de códigos de erro de média 100. A expressão “códigos de erro de média”, como aqui utilizada, significa palavras de código especiais a serem inseridas num fluxo de dados, para condicionar o respectivo processador de sinal (descompressor) a suspender o processamento até à detecção de uma palavra de código predeterminada, tal como um código de início, e depois resumir o processamento de acordo, por exemplo, com o código de inicio.
Os endereços de memória são fornecidos ao multiplexador 105, a partir dos circuitos de endereçamento de programa 79 a 97, a partir do microprocessador 19, 11 84 425 ΕΡ Ο 679 028/ΡΤ a partir do aparelho de cartão inteligente 31 e a partir do contador de endereços de pacotes auxiliares 78. A selecção dos endereços particulares em qualquer período de tempo particular é controlada por um acesso à memória directo DMA, o circuito 98. Os sinais de controlo de SCID do comparador 15 e sinais "dados necessários" dos respectivos processadores de sinal são aplicados ao DMA 98, e respondem ao mesmo, a contenção de acesso à memória é arbitrada. O DMA 98 coopera com um controlador indicador de serviço 93, para fornecer os endereços de leitura ou de escrita aos respectivos componentes de sinal de programa.
Os respectivos endereços para os vários blocos de memória de componentes de sinal são gerados por quatro grupos de registadores de componente de programa ou indicadores de serviço 83, 87, 88, e 92. Os indicadores de início para os respectivos blocos de memória, nos quais são armazenados os respectivos componentes de sinal, estão contidos nos registadores 87 para os componentes de sinal respectivos. Os indicadores de início podem ter valores fixos, ou os mesmos podem ser calculados através de processos de gestão de memória convencional no microprocessador 19.
Os últimos indicadores de endereço para os respectivos blocos estão armazenados no banco de registadores de serviço 88, um para cada componente potencial de programa. Semelhantes aos endereços de início, os endereços de final podem ter valores fixos ou os mesmos podem ter valores calculados, fornecidos pelo microprocessador 19. A utilização de valores calculados para indicadores de início e de fim é preferida, em virtude de ser fornecido um sistema mais versátil com menos memória.
Os indicadores de escrita de memória ou indicadores de topo são gerados pelo adicionador 80 e os registadores de topo de serviço 83. Existe um registador de topo de serviço para cada componente de programa potencial. Um valor de indicador de escrita ou de topo é armazenado num registador 83 e fornecido ao multiplexador de endereços 105, durante um ciclo de escrita de memória. O indicador de topo é também acoplado ao adicionador 80, no qual o mesmo é incrementado de uma unidade, e o indicador incrementado é armazenado no registador apropriado 83, para o ciclo de escrita seguinte. Os registadores 83 são seleccionados pelo controlador de indicador de serviço 93, para o componente de programa apropriado que está correntemente em serviço.
84 425 ΕΡ Ο 679 028/ΡΤ 12
Neste exemplo é assumido que os indicadores de início e de fim são indicadores de 16 bits. Os registadores 83 fornecem indicadores de escrita e de topo de 16 bits. Os indicadores de 16 bits foram seleccionados para facilitar a utilização das linhas de alimentação de 16 bits e de 8 bits para carregamento dos indicadores de início e de fim nos registadores 87 e 88. A memória 18, por outro lado, tem endereços de 18 bits. Os endereços de escrita de 18 bits são formados através do encadeamento dos dois bits mais significativos dos indicadores de início para os indicadores de topo de 16 bits, com os bits de indicador de início nas posições de bit mais significativas do endereço de escrita de 18 bits combinado. Os indicadores de início são fornecidos pelos respectivos registadores 87 ao controlador de indicador de serviço 93. O controlador de indicador de serviço analisa os bits de indicador de início mais significativos, a partir dos indicadores de início armazenados nos registadores 87, e associa estes bits com o bus de indicador de topo de 16 bits. Isto está ilustrado pelo bus 96, mostrado a ser combinado com o bus de indicador de topo que sai do multiplexador 85, e pela FIG. 5 com referência às setas a cheio.
Na FIG. 5, as filas a meio do topo e de fundo das caixas representam os bits de um indicador de início, de um endereço e de um cabeçalho ou indicador de fim, respectivamente. As caixas com numeração mais alta representam as posições de bit mais significativas. As setas indicam quais as posições de bit dos indicadores de início ou de topo/fim que são originados os respectivos bits de um endereço. Nesta derivação as setas a cheio representam um funcionamento de estado constante.
De modo semelhante, os indicadores de leitura de memória ou indicadores de fim são gerados pelo adicionador 79 e os registadores de fim de serviço 92. Existe um registador de fim de serviço para cada componente de programa potencial. Um valor de indicador de leitura ou de fim é armazenado num registador 92, e fornecido ao multiplexador de endereços 105 durante um ciclo de leitura de memória. O indicador de fim é também acoplado ao adicionador 79, no qual é incrementado de uma unidade, e o indicador incrementado é armazenado no registador apropriado 92 para o ciclo de leitura seguinte. Os registadores 92 são seleccionados pelo controlador de indicador de serviço, 93, para o componente de programa apropriado que está correntemente em serviço.
Os registadores 92 fornecem indicadores de fim de 16 bits. Os endereços de leitura de 18 bits são formados através do encadeamento dos dois bits mais
84 425 ΕΡ Ο 679 028/ΡΤ 13 significativos dos indicadores de início nos indicadores de fim de 16 bits, com os bits de indicador de início nas posições de bit mais significativas do endereço de escrita de 18 bits combinado. O controlador de indicador de serviço analisa os mais significativos bits de indicador de início dos indicadores de início armazenados nos registadores 87, e associa estes bits ao bus de indicador de fim de 16 bits. Isto é ilustrado pelo bus 94, mostrado a ser combinado com o bus de indicador de fim, que sai do multiplexador 90.
Os dados são armazenados na memória 18 no endereço calculado. Depois do armazenamento de um byte de dados, o indicador de topo é incrementado de um e comparado ao indicador final para este componente de programa, e se os são iguais os bits mais significativos do indicador de topo são substituídos pelos 14 bits mais baixos do indicador de início e são colocados zeros nas duas posições mais baixas da porção de indicador de topo do endereço. Isto é ilustrado na FIG. 4 com referência às setas, com traços finos paralelos, entre os indicadores de início e o endereço. Este funcionamento é ilustrado pela seta 97, que aponta a partir do controlador de indicador de serviço 93 para a linha de alimentação de indicador de topo a partir do multiplexador 85. Presume-se que a aplicação dos bits de indicador de início 14 mais baixo excede os bits de indicador de topo. A substituição dos bits de indicador de topo pelos bits de indicador de início mais baixos no endereço para este um ciclo de escrita, faz com que a memória corra através do bloco de memória designado pelos dois bits de topo de indicador de início, obviando assim a reprogramação dos endereços de escrita no início de cada pacote para uma única localização de memória dentro de um bloco.
Se o indicador de topo alguma vez igualar o indicador de fim (utilizado para indicar onde fazer a leitura dos dados a partir da memória 18) é enviado um sinal para a secção de interrupção do microprocessador, para indicar que aconteceu a destruição de fim de topo. A escrita adicional na memória 18 deste canal de programa é impedido até que o microprocessador permita de novo o canal. Este caso é muito raro e não deve ocorrer em operação normal.
Os dados são recuperados a partir da memória 18, a pedido dos respectivos processadores de sinal, em endereços calculados pelo adicionador 79 e pelos registadores 92. Depois da leitura de um byte dos dados armazenados, o indicador de fim é incrementado de uma unidade e comparado com o indicador final para este canal lógico no controlador de indicador de serviço 93. Se os indicadores de
84 425 ΕΡ Ο 679 028/ΡΤ 14 fim e de fim são iguais então os bits mais significativos do indicador de fim são substituídos com os 14 bits mais baixos do indicador de início e são colocados zeros nas duas posições de bit mais baixas da porção de indicador de fim do endereço. Isto é ilustrado pela seta 95 que sai do controlador 93 e aponta para o bus de indicador de fim a partir do multiplexador 90. Se o indicador de fim é agora igual ao indicador de topo, então o respectivo bloco de memória é definido como vazio e não serão enviados mais bytes para o processador de sinal associado até que sejam recebidos mais dados do FEC para este canal de programa. A substituição efectiva das porções de indicador de topo ou dè fim dos respectivos endereços de escrita ou de leitura pelos 14 bits mais baixos do indicador de início pode ser conseguida através de uma multiplexação apropriada, ou da utilização de três interligações de estado.
Os dados transmitidos em pacotes auxiliares são tipicamente informações de directório, de cabeçalho ou de controlo e são assim processados de modo ligeiramente diferente dos dados de componentes de programa. Os dados nos pacotes auxiliares incluem a informação necessária para estabelecer as áreas de armazenamento de memória indispensáveis para os respectivos componentes de programa e quaisquer aplicações incluídas. Como tal é dada preferência aos pacotes auxiliares. São fornecidos dois blocos de serviço para cada componente. Cada bloco tem um endereço sequencial de oito bits ou localizações de armazenamento para 256 bytes de dados. Cada bloco tem um endereço total de dezoito bits, o qual é ilustrado na FIG. 6. Os oito LSB do endereço são fornecidos por um contador sequencial. O nono bit é fornecido pelo CS ou bit de chave de embaralhar a partir do prefixo de transporte. Do décimo ao décimo segundo bits são gerados respondendo aos SCI D atribuídos para detecção de programa. Este exemplo assume que o sistema tem a possibilidade de processar e detectar cinco componentes de programa ou de serviços (incluindo o guia de programa). Existem assim cinco SCID programados nos respectivos registadores de SCID programáveis 13 e cinco comparadores de SCID 15. Os cinco comparadores têm cada um, um terminal de saída, estando a cada terminal atribuído um componente de programa. Os cinco programas possíveis que são associados aos cinco terminais de saída de comparador são atribuídos os respectivos códigos de três bits, sendo três bits o número mais pequeno de bits que pode representar cinco estados. Os códigos de três bits são inseridos como sendo os do décimo até ao décimo segundo bits dos endereços de pacote auxiliares. Assume-se que os SCID para os cinco respectivos componentes de programa são atribuídos a registadores 15 84 425 ΕΡ Ο 679 028/ΡΤ programáveis, numerados arbitrariamente de 1 a 5. Os códigos de três bits atribuídos aos componentes atribuídos aos registadores programáveis de 1 a 5 são, respectivamente, 000, 001, 010, 011, e 100. Dependendo de cada componente de programa se está a ser correntemente detectado, o código de três bit, associado ao registador programável, que contém o componente de programa corrente de SCID, será inserido na décima até à décima segunda posições de bits no endereço de escrita de memória.
Os seis bits mais significativos dos 18 endereços de bit auxiliares são fornecidos pelo microprocessador, de acordo com as técnicas de gestão de memória convencionais. A FIG. 7 ilustra os circuitos de geração de endereços de memória auxiliares exemplificativos. A FIG. 7 inclui um registador de prefixo 125, utilizado para captar o bit de prefixo CS, o qual é aplicado ao microprocessador 19. As cinco linhas de controlo do detector de SCID 15 são aplicadas a um conversor de três bits 126 para cinco linhas de controlo, o qual pode ser um operador lógico Booleano simples. Os três bits gerados pelo conversor 126 são aplicados ao microprocessador 19 o qual compõe as respectivas 10 porções de bit mais significativo (MSB) dos endereços auxiliares. Ao detectar um pacote auxiliar, a 10 porção de endereço 10 MSB é aplicada à porção de MSB de um registador de um banco de registadores 128. A porção de 8 LSB do respectivo registador 128 é ajustada para um valor predeterminado, tipicamente zero, no início de cada pacote auxiliar. A porção 8 LSB está junta à porção 10 MSB e aplicada a um acesso de entrada de um multiplexador de 10 para 1 129. A porção 8 LSB dos respectivos endereços fornecidos pelo multiplexador 129 são acopladas a um adicionador 130, em que o valor de endereço 8 LSB é incrementado de uma unidade e acoplado de novo na porção 8 LSB do registador 128 através de um multiplexador adicional 127. A porção LSB incrementada (com a sua porção MSB) serve como o endereço sucessivo seguinte para o respectivo pacote auxiliar. Os multiplexadores 127 e 129 são controlados pelo controlador de DMA 98 para selecção do bloco de memória corrente a ser endereçado. Notar, que numa concretização alternativa o μΡΟ 19 pode ser disposto para estabelecer, pelo menos, uma porção dos endereços auxiliares.
Os pacotes auxiliares são tipicamente processados independentemente e uma carga de pacote auxiliar inteira é tipicamente carregada na memória antes da
84 425 ΕΡ Ο 679 028/ΡΤ 16 mesma poder ser utilizada. Como tal, o bloco de memória a ser endereçado para escrita de um pacote auxiliar corrente, não será normalmente endereçado ao mesmo tempo para fins de leitura e de escrita. Por conseguinte, podem ser utilizados os mesmos registadores para endereçamento de leitura e de escrita. Uma vez que um pacote auxiliar é armazenado num respectivo bloco de memória, a porção 8 LSB são reposicionadas para o endereço de início predeterminado na preparação para a leitura dos dados. Numa disposição alternativa, um banco paralelo de registadores, multiplexadores e um adicionador, semelhante aos elementos de 127 a 130, pode ser configurado para gerar endereços de leitura. Estes endereços de leitura podem ser multiplexados por divisão de tempo com um multiplexador adicional na ligação em cascata com o multiplexador 129. O controlo de leitura/escrita de memória é realizado pelos controlador de indicador de serviço e acesso à memória directo, DMA, e elementos 93 e 94. O DMA é programado para planear os ciclos de leitura e escrita. O planeamento é dependente de se o FEC 12 está a fornecer dados para serem escritos na memória ou não. As operações de escrita de dados de FEC têm precedência, de modo que não seja perdido qualquer dado de componente de sinal de entrada. No aparelho exemplificativo ilustrado na FIG. 4, existem quatro tipos de aparelhos, os quais podem aceder à memória. Estes são o cartão inteligente (não mostrado), o FEC 12 (mais precisamente o decifrador 16), o microprocessador 19 e os dispositivos de aplicação, tais como os processadores de áudio e vídeo. A contenção de memória é tratada da seguinte maneira. O DMA, que responde aos pedidos de dados a partir de vários elementos de processamento, listados acima, atribui blocos de memória aos respectivos componentes de programa. O acesso à memória é fornecido em intervalos de tempo de 95 ns, durante os quais é lido um byte de dados é lido da memória 18 ou escrito na mesma. Existem dois modos mais importantes de atribuição de acessos, definidos por "Dados de fornecimento de FEC", ou "Dados de não fornecimento de FEC" respectivamente. Para cada um destes modos são atribuídos e priorizados intervalos de tempo como se segue, assumindo uma velocidade de dados de FEC máxima de 5 Mbytes/segundo, ou um byte para cada 200 ns. Estes são:
84 425 ΕΡ Ο 679 028/ΡΤ 17
Dados de fornecimento de FEC 1) escrita de dados de FEC; 2) leitura do dispositivo de aplicação / leitura/escrita de microprocessador 3) escrita de dados de FEC; 4) leitura/escrita de microprocessador; e para os
Dados de não fornecimento de FEC 1) leitura/escrita de cartão inteligente; 2) leitura do dispositivo de aplicação / leitura/escrita de microprocessador; 3) leitura/escrita de cartão inteligente; 4) leitura/escrita de microprocessador.
Em virtude da escrita de dados FEC não poder ser deferida, o FEC (ou mais correctamente o descodificador), quando o fornecimento de dados deve ser um acesso à memória garantido durante cada intervalo de 200 ns. Os intervalos de tempo alternados são partilhados entre os dispositivos de aplicação e o microprocessador. Quando não existem dados disponíveis para os dispositivos que pedem, ao microprocessador é possibilitada a utilização dos intervalos de tempo de aplicação. O controlador 93 comunica com o detector de SCID, para determinar qual dos respectivos registadores de indicador de início, de topo e final para aceder às operações de escrita de memória. O controlador 93 comunica com o DMA para determinar qual dos registadores de início, final e de fim para aceder às operações de leitura de memória. O DMA 98 controla a selecção dos correspondentes endereços e dados por meio dos multiplexadores 99,104 e 105.
84 425 ΕΡ Ο 679 028/ΡΤ 18
Os circuitos alternativos preferidos para incrementar os endereços de memória são mostrados na FIG. 8, circuitos que podem ser utilizados nos aparelhos quer da FIG. 4 quer da FIG. 7. A FIG. 8 ilustra a sua implementação tal como para a implementação do indicador de fim, de acordo com a FIG. 4. No inicio de um pacote, o indicador no registador associado 92A é acoplado ao adicionador 79A, no qual o mesmo é incrementado de 1. Em vez de armazenar os indicadores de fim incrementados intermédios nos registadores 92A da FIG. 8 (92 da FIG. 4), os valores de indicador incrementado intermédios são sucessivamente armazenados num registador de trabalho 107. Depois de ser gerado o último valor de indicador para um pacote do sinal, o indicador actualizado no registador 107 é transferido para o registador 92A associado com o pacote de SCI D. Não é incomum que os dados num separador de memória possam necessitar de ser omitidos. Por exemplo, um pacote parcial pode ter sido armazenado quando ocorreu um erro de sistema ou uma interrupção de dados. Para conservar espaço de memória, a omissão de dados é realizada simplesmente através da escrita sobreposta do pacote parcial dos dados. A escrita sobreposta destes dados é efectuada através da reposição do indicador apropriado para o valor que o mesmo exibia no início do pacote. Tal reposição é conseguida não transferindo o valor no registador 107 para o registador de indicador, o que é nada fazer. É vantajoso inserir códigos de erro de média no fluxo de sinal de componentes de vídeo, quando são perdidos pacotes, para condicionar o descompressor de sinal de vídeo para suspender a descompressão até que ocorra o ponto de entrada de sinal particular no fluxo de dados. Não é prático predizer onde e em qual pacote de vídeo pode ocorrer um ponto de entrada seguinte. A fim de encontrar o ponto de entrada seguinte tão depressa quanto possível, é necessário incluir um código de erro de média no início do primeiro pacote de vídeo depois da detecção de que foi perdido um pacote. Os circuitos da FIG. 4 colocam um código de erro de média no início de todos os pacotes de vídeo e retiram depois o código de erro de média aos respectivos pacotes se não existir uma perda de um pacote anterior. O código de erro de média é inserido nas M primeiras localizações de endereço de memória, reservadas para a carga de pacotes de vídeo corrente, pela escrita na memória 18 para M ciclos de escrita, antes que a carga de vídeo chegue do descodificador. Ao mesmo tempo, o multiplexador 99 é condicionado pelo DMA 98, para aplicar o código de erro de média da fonte ,100 à 84 425 ΕΡ Ο 679 028/ΡΤ 19
memória 18 Ε/Ο. Μ é simplesmente ο número inteiro das localizações de memória necessárias para armazenar o código de erro de média. Assumindo que a memória armazena bytes de 8 bits e que o código de erro de média é de 32 bits, M será igual a 4.
Os endereços para carregamento do código de erro de média na memória são fornecidos pelo respectivo registador de serviço de componente de vídeo 83 através do multiplexador 82 e do multiplexador 85. Será apreciado que os M primeiros endereços fornecidos do registador de indicador 83, para carregamento do código de erro de média nas localizações de memória que seriam de outro modo carregadas com dados de componente de vídeo, serão simplesmente os M endereços sequenciais que seriam normalmente produzidos pelo indicador de topo de vídeo. Estes mesmos endereços são num elemento de retardo de andar M 84, de modo que, imediatamente depois do último byte do código de erro de média ser armazenado na memória 18, o primeiro dos M endereços está disponível na saída do elemento de retardo 84. A temporização do carregamento do código de erro de média para a memória coincide com a determinação de um pacote perdido. O carregamento do código de erro de média, enquanto é realizada a determinação de perda de pacote, não coloca restrições de temporização no processamento de fluxo de sinal.
Se é detectada uma perda de pacote, o componente de vídeo do pacote corrente é armazenado na memória 18, começando na localização de endereço seguinte ou de ordem M+1 do bloco de memória estabelecido para esse componente. Isto é conseguido pelo condicionamento do multiplexador 85 para continuar a passar os indicadores de topo sem retardo do registador apropriado 83. De modo alternativo, se não é detectada uma perda de pacote, os M primeiros bytes do componente de vídeo no pacote corrente são armazenados nas localizações de memória, nas quais o código de erro de média foi imediatamente armazenado anteriormente. Isto é conseguido através do controlador de indicador de serviço que condiciona o multiplexador 85 para passar os indicadores de topo retardados do elemento de retardo 84, para os M ciclos de escrita. No fim dos M ciclos de escrita o controlador de indicador de serviço 93 condicionará o multiplexador para passar novamente indicadores de topo sem retardo. Quando o multiplexador comuta de novo para os indicadores de topo sem retardo, o indicador sem retardo seguinte corresponderá ao endereço de ordem M+1.
84 425 ΕΡ Ο 679 028/ΡΤ 20 Ο erro de pacote ou detecção de perda é executado por um detector de erro 101, o qual responde aos dados de CC e de HD do pacote corrente. O detector 101 examina a contagem de continuidade CC no pacote corrente para determinar se o mesmo difere do CC de um pacote anterior de uma unidade. Além disso, o bit TOGGLE no pacote corrente é examinado para determinar se o mesmo sofreu uma alteração a partir do pacote anterior. Se o valor de CC está incorrecto, é examinado o estado do bit TOGGLE. Dependendo de se um ou ambos os bit CC e TOGGLE estão em erro ou alterados, respectivamente, são instituídos um primeiro ou segundo modos de reparação do erro. No segundo modo, iniciado pelo CC está em erro e tendo alterado o bit TOGGLE, o sistema é condicionado para reposicionar para um pacote, que contém um cabeçalho de camada de imagem. No primeiro modo, onde apenas o CC é erróneo, o sistema é condicionado para reposicionar para um pacote que contém um código de início de fatia. (Uma camada de fatia é um subconjunto dos dados comprimidos dentro de um quadro). Tanto no primeiro como no segundo modos, o código de erro de média escrito na memória é retido na respectiva carga para alertar o descompressor para instituir uma acção reparadora.
Dependendo de concepções particulares de um dado receptor, o mesmo pode ser ou não ser conducente à inclusão de códigos de erro de média em diferentes componentes dos componentes de sinal, quando são perdidos os respectivos pacotes de transporte de componentes. Além disso, pode ser vantajoso utilizar códigos de erro de média diferentes para diferentes formatos de componente de sinal ou processos de compressão. Assim podem ser requeridas uma ou mais fontes de códigos de erro de média.
A FIG. 9 ilustra um fluxograma exemplificativo do processo de acesso à memória DMA 98. O DMA responde (200) à detecção ou à não detecção de um pacote recebido através da detecção dos SCID. Se foi detectado um SCID indicando a presença de dados do decifrador 16 a serem escritos na memória, um byte dos dados de programa, vindo do descodificador, são escritos (201) na memória separadora 18. O bloco de memória no qual são escritos é determinado pelo processador 93, que responde ao SCID corrente. Em seguida, o DMA determina (202) se um qualquer dos processadores de componentes de programa, incluindo o cartão inteligente e o pPC estão a pedir os dados ou o acesso de leitura/escrita (R/W) à memória 18. Se não forem feitos pedidos de dados no DMA o processo volta ao passo (200). Se for feito um pedido de R/W de dados, o DMA
84 425 ΕΡ Ο 679 028/ΡΤ 21 determina (203) a prioridade do pedido. Isso será conseguido por uma rotina de interrupção convencional ou de modo alternativo por um serviço de um byte sequencial, numa ordem arbitrária desses dados pedindo processadores de programa. Por exemplo, assuma-se que uma ordem arbitrária de prioridade de acesso é de vídeo, de áudio I, de áudio II, de cartão inteligente, e de pPC. Assuma-se também que o vídeo, o áudio II e o pPC estão a pedir o acesso à memória. Durante a operação corrente do passo (203) um byte de vídeo será lido da memória. Durante a operação seguinte do passo (203) um byte de áudio II será lido da memória e durante a ocorrência subsequente seguinte do passo (203) um byte dos dados de μΡΟ serão escritos na memória 18 ou lidos a partir da mesma e assim por diante. Notar que os endereços do cartão inteligente e do acesso do μΡΟ são fornecidos pelo cartão inteligente e pelo pPC, respectivamente, mas os endereços para o vídeo, o áudio e os guias de programa estão disponíveis a partir da disposição de indicadores de endereço (80 a 93).
Uma vez que o acesso de prioridade tenha sido estabelecido (203), o processador de programa necessário é servido (204) com um byte de dados escrito na memória 18 ou lidos a partir da mesma. A seguir, um byte de dados do decifrador 16 é escrito (205) na memória. É feita uma verificação (206) para determinar se ο μΡΟ está a pedir acesso. Se ο μΡΟ estiver a pedir acesso, o mesmo é servido (207) com um byte de dados. Se ο μΡΟ não está a pedir acesso, o processo salta para o passo (202), para determinar se algum dos processadores de programa são a pedir acessos. Desta maneira os dados de entrada têm sempre acesso garantido para outro período de acesso à memória, e os períodos de acesso à memória intervenientes são espalhados entre os processadores de programa.
Se os dados não estão presentemente disponíveis a partir do decifrador 16, isto é, um SCID não é correntemente detectado, é seguido o processo (208 a 216). Em primeiro lugar (208) o cartão inteligente é examinado para determinar se é pedido um acesso à memória. Se estiver, ao mesmo é dado um acesso à memória de um byte (209), senão é feita uma verificação (210) para determinar se algum dos processadores de programa está a pedir acesso à memória. Se tiver sido feito um pedido de dados de R/W, o DMA determina (211) a prioridade do pedido. O processador apropriado é servido (212) com um acesso de leitura e escrita à memória de um byte. Se não for feito um pedido de dados de R/W pelos
84 425 ΕΡ Ο 679 028/ΡΤ 22 processadores de programa, ο processo salta para o passo (213) onde é executado um teste para determinar se o cartão inteligente está a pedir acesso à memória. Se estiver, o mesmo é servido (216) com um acesso à memória de um byte, senão o processo salta para o passo (200).
Deve ser reconhecido que, no presente exemplo preferido, quando no modo "Dados de não fornecimento de FEC", o cartão inteligente é provido com uma precedência de acesso de dois para um sobre todos os outros processadores de programa. Esta prioridade é programada numa máquina de estado programável dentro de um aparelho de DMA e é sujeita a ser alterada pelo μΡΟ. Como mencionado anteriormente, pretende-se que o sistema forneça serviços interactivos, e o pPC 19 responderá a dados interactivos para executar, pelo menos, em parte a operação interactiva. Deste modo, ο μΡΟ 19 utilizará a memória 18 tanto para o armazenamento de aplicação como para a memória de trabalho. Nestes casos, o operador do sistema pode alterar a prioridade de acesso à memória, de modo a fornecer ao μΡΟ 19 o acesso à memória com maior frequência. A reprogramação da prioridade de acesso à memória pode estar incluída como um subconjunto das instruções de aplicação interactivas. A FIG. 10 ilustra um aparelho exemplificativo para detecção de pacotes, o qual inclui informação de acesso condicional ou códigos de início MPEG (descodificador 30 da FIG. 3). Quer o descodificador 30 esteja condicionado para detectar cargas de designação quer códigos de início MPEG é uma função do SCID a ser correntemente recebido. Na FIG. 10, é assumido que os dados fornecidos a partir do decifrador 16 são alinhados em bytes de 8 bits e em pacotes. Isto é, o primeiro byte de uma carga de designação ou o primeiro byte de um código de início MPEG é alinhado precisamente com o início de uma carga de pacote, de tal modo que, para detecção do cabeçalho especifico ou das palavras de código de início, a sua posição no fluxo de bit/byte é precisamente conhecida. Os dados vindos do decifrador 16 são aplicados a um registador de 8 bits 250, o qual tem um acesso de saída paralelo de 8 bits acoplado às respectivas primeiras ligações de entrada de um comparador 254 o qual pode ser configurado, por exemplo, por um banco de oito circuitos NOU (XNOU), exclusivos tendo as ligações de saída respectivas acopladas a uma porta E e a um trinco. O trinco pode ser um trinco de dados, disposto para trancar os resultados da porta E em cada intervalo de byte.
84 425 ΕΡ Ο 679 028/ΡΤ
Um código de início MPEG de 32 bits é armazenado como quatro bytes num banco de registadores de 8 bits 265. Os códigos de cabeçalho de designação são armazenados como bytes de 8 bits num banco de registadores de 8 bits 257. O carregamento dos bancos de registadores 251 e 265 é controlado pelo microprocessador 19 e/ou pelo cartão inteligente. Os registadores de código de início 265 são acoplados a um multiplexador de quatro para um 266, e os registadores de cabeçalho de designação são acoplados ao multiplexador de dezasseis para um 257. Os acessos de saída dos multiplexadores 257 e 266 são acoplados a um multiplexador de dois para um 249. As respectivas ligações de saída do multiplexador 249 são acopladas aos respectivos segundos terminais de entrada correspondentes do comparador 254. Notar que as ligações de entrada e de saída dos multiplexadores 249, 257 e 266 são bus de 8 bits. Se os respectivos valores exibidos nas respectivas ligações de saída do registador 250 são correspondentemente os mesmos que os valores de saída exibidos pelas respectivas ligações de saída do multiplexador 249, é gerado um sinal verdadeiro pelo circuito comparador 254 para o byte de dados correspondente.
Para detecção de código de início, o multiplexador 266 é explorado pelo contador 258, de modo a fazer o acoplamento sequencial dos quatro registadores diferentes 265 para o XNOU em sincronismo com a ocorrência dos primeiros quatro bytes de dados vindos do decifrador 16. Como alternativa, para a detecção de cabeçalho de carga de designação, o multiplexador 257 é explorado pelo contador 258 de modo a fazer o acoplamento sequencial registadores diferentes dos registadores 265 no circuito comparador. A saída do circuito comparador é aplicada a um circuito de acumulação e teste 255. O circuito 255 determina se qualquer uma de um número predeterminado de condições de coincidência de byte tiver ocorrido, e se assim for, gera um sinal de activação de escrita para os dados de designação numa porção da carga particular sob exame. No presente sistema o cabeçalho de carga de designação contém 128 bits dispostos em quatro segmentos de 32 bits. Os diferentes subscritores serão dispostos para olharem para combinações diferentes de bytes dos 128 bits. Por exemplo, um aparelho de subscritor pode ser disposto para fazer coincidir os primeiros quatro bytes do cabeçalho de carga de designação. Um outro aparelho de subscritor pode ser disposto para fazer coincidir os segundos quatro bytes do cabeçalho de carga de designação e assim por diante. Em qualquer destas situações exemplificativas os circuitos 255 24 84 425 ΕΡ Ο 679 028/ΡΤ determinarão se ocorreu uma combinação para os quatro bytes consecutivos apropriados. O aparelho da FIG. 10 também inclui circuitos (os elementos 261 a 263) para detecção de uma condição de cabeçalho de carga de designação toda zero. Os bits dos respectivos bytes que chegam dos dados são acoplados aos respectivos terminais da porta OU de 8 bits 263. Se um qualquer dos bits é um bit lógico, a porta OU 263 gera uma saída lógica de um. A saída da porta OU 263 é acoplada a uma entrada de uma porta OU de duas entradas 262, a qual tem uma saída e uma segunda entrada acopladas, respectivamente, aos terminais de entrada de dados e de saída Q de um trinco tipo D 261. O trinco tipo D é temporizado pelo circuito de sincronização 259, sincronizadamente com a chegada de bytes de dados de entrada. Se qualquer bit em quaisquer dos bytes de dados, os quais ocorrem depois do trinco ser reposicionado é um lógico um, o trinco 261 mostrará um um lógico na sua saída Q até o impulso de reposicionamento seguinte. A saída Q do trinco 261 é acoplada a um inversor, o qual mostra um nível de saída zero sempre que o trinco mostra um nível de saída um. Assim, se depois dos 128 bits (16 bytes) do cabeçalho passarem através do registador 250, a saída do inversor é alta, então os 128 bits são avaliados como zero. Respondendo à detecção de um nível de saída alto do inversor depois da passagem do cabeçalho de carga de designação, os circuitos 255 gerarão um sinal de permissão de escrita de dados.
Foi verificado ser particularmente eficaz a partição do sistema, de tal modo que o detector de SCI D, o decifrador, os circuitos de endereçamento, o filtro de acesso condicional, e a interface de cartão inteligente sejam todos incluídos num único circuito integrado. Isto limita o número de circuitos externos os quais podem conduzir a constrangimentos de temporizações críticos.
EMG." ANTÓNIO JOÂO DA CUNHA FERREIRA Ag. Of. Pr. Ind. Ruo das Flores, 74 - 4.® 1600 LISBOA
Por THOMSON CONSUMER ELECTRONICS, INC. - O AGENTE OFICIAL -

Claims (17)

  1. 84 425 ΕΡ Ο 679 028/ΡΤ 1/6 REIVINDICAÇÕES 1 - Aparelho para processar componentes de programa de sinal em pacotes e multiplexados por divisão de tempo, incluindo os respectivos pacotes uma carga de componentes de programa e um cabeçalho, que contém um identificador de componente de sinal de SCID, que inclui: uma fonte (11) do dito sinal em pacotes multiplexado por divisão de tempo; caracterizado por compreender: uma memória separadora comum (18); pluralidade de aparelhos de processamento de componentes de programa (21 a 24), tendo os respectivos acessos de entrada acoplados a um acesso de saída de dados da dita memória separadora comum; um detector de SCID (13 a 15) acoplado à dita fonte para detectar pacotes identificados, respectivamente, por um SCID de uma pluralidade de SCID predeterminados; meios para aplicação das respectivas cargas de pacotes identificados pela dita pluralidade de SCID predeterminados para um acesso de entrada de dados da dita memória separadora comum; circuitos (17) de endereçamento, que respondem à detecção dos SCID da dita pluralidade de SCID predeterminados para gerar endereços de escrita para armazenar as respectivas cargas de componentes de programa nos respectivos blocos da dita memória separadora comum, e que respondem a pedidos de dados da dita pluralidade de aparelhos de processamento de componentes de programa, para leitura de correspondentes cargas de componentes de programa a partir dos ditos respectivos blocos da dita memória separadora comum para o aparelho de processamento de pedidos.
  2. 2 - Aparelho de acordo com a reivindicação 1, caracterizado por os ditos circuitos de endereço (17) estarem dispostos de modo a executarem alternativamente, em sucessivas operações de acesso à memória, a escrita dos dados de carga de pacotes com as funções de leitura/escrita, pedidas pela dita
    84 425 ΕΡ Ο 679 028/ΡΤ 2/6 pluralidade de aparelhos de processamento de componentes de programa.
  3. 3 - Aparelho de acordo com a reivindicação 1, em que as respectivas cargas são cifradas com chaves de cifra específicas de SCI D, e caracterizado por os meios para aplicação das respectivas cargas de pacotes a um acesso de entrada de dados da dita memória separadora comum, compreenderem: uma interface de cartão inteligente (31) para fazer a interface a um cartão inteligente, concebido para responder a dados de designação contidos nos pacotes predeterminados recebidos, para gerar chaves de decifração específicas de SCID;
  4. 4 - Aparelho de acordo com a reivindicação 3, em que os pacotes que contém dados de designação, incluem cargas com cabeçalhos específicos de carga, e caracterizado por o dito aparelho incluir ainda: um descodificador (30) para reconhecimento dos ditos cabeçalhos específicos de carga, para gerar um sinal de controlo para efectuar o carregamento dos ditos dados de designação num bloco de cartão inteligente da dita memória separadora comum.
  5. 5 - Aparelho de acordo com a reivindicação 1 ou com a reivindicação 4, caracterizado por compreender ainda: um microprocessador (19), para realizar, pelo menos, as funções de controlo de sistema: e em que o dito microprocessador está disposto para utilizar a dita memória separadora comum para armazenamento de aplicações e memória de trabalho.
  6. 6 - Aparelho de acordo com a reivindicação 1, caracterizado por compreender ainda: um detector, para detectar a ocorrência de pacotes perdidos dos componentes de programa: e aparelhos, para efectuarem acções reparadoras em resposta à detecção de pacotes perdidos. 84 425 ΕΡ Ο 679 028/ΡΤ 3/6
  7. 7 - Aparelho de acordo com a reivindicação 5, caracterizado por compreender ainda: um primeiro multiplexador (99) para acoplamento selectivo de dados de carga, de dados gerados pelo dito microprocessador e de dados gerados por alguns da dita pluralidade de aparelhos de processamento de componentes de programa para um acesso de entrada de dados ((l/C) da dita memória separadora comum (18); e um segundo multiplexador (105), para aplicação selectiva de endereços de memória gerados pelos ditos circuitos de geração de endereços, gerados pelo dito microprocessador e gerados por alguns da dita pluralidade de aparelhos de processamento de componentes de programa para uma porta de endereços de memória (APP) da dita memória separadora comum (18).
  8. 8 - Aparelho de acordo com a reivindicação 7, caracterizado por as respectivas cargas conterem códigos executáveis, associados a aplicações a serem executadas pelo dito microprocessador (19), e a dita memória separadora comum (18) estar condicionada para armazenar os ditos códigos executáveis bem como os dados gerados pelo dito microprocessador.
  9. 9 - Aparelho de acordo com a reivindicação 7, caracterizado por compreender ainda: um terceiro multiplexador (104), tendo os respectivos acessos de entrada acoplados a um acesso de saída do dito primeiro multiplexador (99) e a dita fonte do dito sinal em pacotes e multiplexado por divisão de tempo, sendo o dito terceiro multiplexador selectivamente condicionado para passar cargas a partir da dita fonte para um dos ditos aparelhos de processamento (21, 22, 23, 24) sem passar através da dita memória separadora comum (18).
  10. 10 - Aparelho de acordo com a reivindicação 9, em que as respectivas cargas são cifradas com chaves de cifra específicas de SCID, e caracterizado por as cargas serem acopladas a um acesso de entrada do dito primeiro multiplexador (99) pelo aparelho, compreendendo: uma interface de cartão inteligente para fazer a interface para um cartão 84 425 ΕΡ Ο 679 028/ΡΤ 4/6 inteligente concebido para responder aos dados de designação contidos em pacotes predeterminados recebidos, para gerar chaves de decifração específicas de SCID; um decifrador de sinal, tendo um acesso de saída acoplado ao dito acesso de entrada do dito primeiro multiplexador, para decifrar as respectivas cargas de acordo com as correspondentes chaves de decifração específicas de SCID.
  11. 11 - Aparelho de acordo com a reivindicação 10, caracterizado adicionalmente por compreender aparelhos que respondem aos SCID nos respectivos pacotes, para dirigirem as cargas de pacote correspondentes para as áreas indicadas na dita memória separadora comum.
  12. 12 - Aparelho de acordo com a reivindicação 1, caracterizado por compreender ainda: um aparelho de controlo (19), programado para gerar pluralidade de indicadores de início e fim de N bits, para reservar uma pluralidade de blocos da dita memória separadora, para armazenamento de cargas de pacotes de uma pluralidade de componentes de programa (sendo N um inteiro); primeira e segunda pluralidades de registadores (87, 88) para armazenamento da dita pluralidade de indicadores de início de N bits e indicadores de fim de N bits, respectivamente; uma terceira pluralidade de registadores (83) para armazenamento de indicadores de topo (escrita) de N bits, em que um conjunto de registadores, um de cada um das ditas primeira, segunda e terceira pluralidades são atribuídos a cada respectivo componente de programa: em qué para os respectivos conjuntos de registadores: circuitos (93, 96), para encadearem M bits do dito indicador de início com o dito indicador de topo de N bits para formar um endereço de escrita de N+M bits (sendo M um inteiro menor que N); e meios (82, 86, 89, 90), para aplicação dos ditos endereços de escrita
    84 425 ΕΡ Ο 679 028/ΡΤ 5/6 respectivos a um acesso de entrada de endereço da dita memória separadora.
  13. 13 - Aparelho de acordo com a reivindicação 12, caracterizado por compreender ainda: um comparador, para detecção quando um respectivo indicador de topo iguala um correspondente indicador de fim; e meios que respondem à detecção do indicador de topo e de fim sendo iguais, para gerar o endereço de escrita seguinte, com o dito indicador de início de N bit nas posições de bit mais significativas do dito endereço de escrita de M+N bits e zeros nas posições de bit menos significativas.
  14. 14 - Aparelho de acordo com a reivindicação 12, caracterizado por compreender ainda um adicionador (80) para incrementar de uma unidade, os respectivos indicadores de topo de cada vez que tais indicadores de topo são utilizados para formar endereços de escrita.
  15. 15 - Aparelho de acordo com a reivindicação 12, em que os ditos pacotes são de dois tipos, básico e auxiliar, e caracterizado por os circuitos para gerar os endereços de memória separadora para as cargas de pacotes auxiliares compreenderem: uma quarta pluralidade de registadores (92), dois para cada respectivo componente de programa, para armazenar indicadores de endereço auxiliares de N+M bits (leitura/escrita) para as cargas auxiliares; meios para determinação da ocorrência de cargas auxiliares; e meios para multiplexação de endereços de memória, gerados a partir dos ditos indicadores de endereço auxiliares para um acesso de endereço da dita memória separadora.
  16. 16 - Aparelho de acordo com a reivindicação 15, em que os respectivos cabeçalhos de pacotes auxiliares incluem uma chave embaralhamento CS, e caracterizado por naqueles circuitos para gerar endereços de memória separadora 84 425 ΕΡ Ο 679 028/ΡΤ 6/6 para cargas de pacote auxiliares compreenderem: um detector para detecção da dita chave de embaralhamento CS nos respectivos pacotes auxiliares; um tradutor para gerar códigos de W bits relacionados com o tipo de componente de programa com o qual os respectivos pacotes auxiliares estão associados; aparelhos de controlo dispostos para gerar um indicador de Z bits está encadeado com o dito código de W bits e a dita chave de embaralhamento CS; circuitos de acumulação para incrementação de um valor de L bits de uma unidade para cada ciclo de endereço de memória; e meios para anexação do valor de L bits ao indicador de Z bits encadeado, ao código de W bit e à dita chave de embaralhamento CS para formar um endereço de memória de pacote auxiliar de N+M bit e carregamento dos respectivos endereços N+M na dita quarta pluralidade de registadores.
  17. 17 - Aparelho de acordo com a reivindicação 16, caracterizado por compreender ainda meios para restabelecimento do dito valor de L bits para um componente, num valor predeterminado, no começo dos respectivos pacotes, que contém uma carga auxiliar do dito componente. Lisboa, L3. 2003 Por THOMSON CONSUMER ELECTRONICS, INC. - O AGENTE OFICIAL -
PT95105541T 1994-04-22 1995-04-12 Processador de transporte inverso com circuitos para enderecamento de memoria PT679028E (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/232,789 US5521979A (en) 1994-04-22 1994-04-22 Packet video signal inverse transport system
US08/232,787 US5475754A (en) 1994-04-22 1994-04-22 Packet video signal inverse transport processor memory address circuitry

Publications (1)

Publication Number Publication Date
PT679028E true PT679028E (pt) 2000-11-30

Family

ID=26926333

Family Applications (2)

Application Number Title Priority Date Filing Date
PT95105541T PT679028E (pt) 1994-04-22 1995-04-12 Processador de transporte inverso com circuitos para enderecamento de memoria
PT99120648T PT971538E (pt) 1994-04-22 1995-04-12 Processador de transporte inverso com circitos para enderecamento de memoria

Family Applications After (1)

Application Number Title Priority Date Filing Date
PT99120648T PT971538E (pt) 1994-04-22 1995-04-12 Processador de transporte inverso com circitos para enderecamento de memoria

Country Status (13)

Country Link
EP (2) EP0971538B1 (pt)
JP (2) JP3495454B2 (pt)
KR (2) KR100343819B1 (pt)
CN (2) CN1100438C (pt)
BR (1) BR9501735A (pt)
CA (1) CA2146472C (pt)
DE (2) DE69529001T2 (pt)
ES (2) ES2146677T3 (pt)
HK (1) HK1018564A1 (pt)
MY (2) MY121258A (pt)
PT (2) PT679028E (pt)
RU (1) RU2145728C1 (pt)
TR (1) TR28547A (pt)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0166935B1 (ko) * 1994-11-23 1999-03-20 구자홍 엠펙2 트랜스포트 디코더 장치
KR100226528B1 (ko) * 1995-03-29 1999-10-15 가나이 쓰도무 다중화 압축화상/음성데이타의 복호장치
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
JP3269768B2 (ja) * 1996-01-16 2002-04-02 株式会社東芝 ディジタル信号受信装置
ES2333997T3 (es) * 1996-05-06 2010-03-03 Irdeto Eindhoven B.V. Acceso a informacion a traves de dispositivo de seguridad.
CA2204828C (en) * 1996-05-10 2004-11-23 Ray Nuber Error detection and recovery for high rate isochronous data in mpeg-2 data streams
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
CA2216573C (en) * 1996-10-01 2006-03-14 Sony Corporation Digital tuner having ieee 1394 serial bus interface for providing a plurality of selected programs as a functional unit
US6226291B1 (en) * 1996-11-01 2001-05-01 Texas Instruments Incorporated Transport stream packet parser system
US6414726B1 (en) 1996-11-01 2002-07-02 Texas Instruments Incorporated Device for identifying packets of digital data and a receiver for digital television signals equipped with such a device
GB2329802B (en) * 1997-06-28 1999-08-18 United Microelectronics Corp Adaptive-selection method for memory access priority control in MPEG processor
EP0893913A1 (en) * 1997-07-24 1999-01-27 CANAL+ Société Anonyme Digital transport stream processing
EP1000510B1 (en) * 1997-08-01 2001-11-28 Scientific-Atlanta, Inc. Mechanism and apparatus for encapsulation of entitlement authorization in conditional access system
JP3578913B2 (ja) * 1997-09-29 2004-10-20 松下電器産業株式会社 データ一致検出装置,及びデータ選別装置
JP3389843B2 (ja) * 1997-10-17 2003-03-24 日本電気株式会社 情報処理装置におけるデジタル放送受信システム
NL1007453C2 (nl) * 1997-11-05 1999-05-07 United Microelectronics Corp Zich aanpassende kieswerkwijze voor het regelen van de geheugentoegangsprioriteit in een MPEG-processor.
US6621817B1 (en) 1999-07-06 2003-09-16 Texas Instruments Incorporated Transport packet parser
EP1096714A3 (en) * 1999-10-29 2003-04-09 Matsushita Electric Industrial Co., Ltd. Contents data conversion apparatus and method, and record medium storing contents data conversion program
WO2001037555A1 (fr) 1999-11-17 2001-05-25 Sony Corporation Procede et appareil pour le traitement de signaux numeriques et procede de creation d'une fonction d'extension
DE10035707A1 (de) * 2000-07-21 2002-01-31 Scm Microsystems Gmbh Digitales Aufnahme-und Weidergabeverfahren
DE60125297T2 (de) * 2000-09-27 2007-05-16 Texas Instruments Inc., Dallas Gerät und Verfahren für einen Sortierungmodus in einer Direktspeicherzugriffssteuerung von einer Einrichtung zur digitalen Signalverarbeitung
US6775254B1 (en) 2000-11-09 2004-08-10 Qualcomm Incorporated Method and apparatus for multiplexing high-speed packet data transmission with voice/data transmission
FR2819139B1 (fr) * 2001-01-03 2003-03-28 Canal Plus Technologies Procede et dispositif de gestion d'informations dans un systeme de communication interactif
US6868125B2 (en) * 2001-11-29 2005-03-15 Thomson Licensing S.A. Transport stream to program stream conversion
JP2003333024A (ja) * 2002-05-09 2003-11-21 Nec Corp 暗号化/復号化システム及びその暗号解読防止/改竄防止方法
US7213103B2 (en) 2004-04-22 2007-05-01 Apple Inc. Accessing data storage systems without waiting for read errors
US7366865B2 (en) * 2004-09-08 2008-04-29 Intel Corporation Enqueueing entries in a packet queue referencing packets
JP4667108B2 (ja) 2005-04-11 2011-04-06 パナソニック株式会社 データ処理装置
US7523146B2 (en) 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US8495015B2 (en) 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
JPWO2007099659A1 (ja) 2006-03-01 2009-07-16 パナソニック株式会社 データ転送装置及びデータ転送方法
US7797670B2 (en) 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US7860826B2 (en) 2006-08-04 2010-12-28 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US7657769B2 (en) 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US7924456B1 (en) * 2007-01-12 2011-04-12 Broadbus Technologies, Inc. Data distribution and buffering
US7760562B2 (en) * 2008-03-13 2010-07-20 Qualcomm Incorporated Address multiplexing in pseudo-dual port memory
CN114595105B (zh) * 2022-05-09 2022-08-05 深圳佰维存储科技股份有限公司 Psn唯一性设计方法、装置、可读存储介质及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965825A (en) 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US4866770A (en) * 1986-07-08 1989-09-12 Scientific Atlanta, Inc. Method and apparatus for communication of video, audio, teletext, and data to groups of decoders in a communication system
US5168356A (en) 1991-02-27 1992-12-01 General Electric Company Apparatus for segmenting encoded video signal for transmission
US5289276A (en) 1992-06-19 1994-02-22 General Electric Company Method and apparatus for conveying compressed video data over a noisy communication channel
RU2153234C2 (ru) * 1992-12-09 2000-07-20 Дискавери Коммьюникейшнз, Инк. Устройство для использования в головной станции системы кабельного телевидения (варианты) и способ распределения программ абонентам в системе кабельного телевидения

Also Published As

Publication number Publication date
CA2146472C (en) 2007-10-09
TR28547A (tr) 1996-09-30
DE69529001T2 (de) 2003-10-09
JPH07297855A (ja) 1995-11-10
RU95106681A (ru) 1997-01-27
BR9501735A (pt) 1995-11-14
DE69529001D1 (de) 2003-01-09
HK1018564A1 (en) 1999-12-24
PT971538E (pt) 2003-03-31
DE69517240T2 (de) 2000-10-26
ES2146677T3 (es) 2000-08-16
KR950035437A (ko) 1995-12-30
JP3690737B2 (ja) 2005-08-31
EP0679028A3 (en) 1996-04-24
DE69517240D1 (de) 2000-07-06
JP2002135739A (ja) 2002-05-10
CA2146472A1 (en) 1995-10-23
CN1208307A (zh) 1999-02-17
EP0679028B1 (en) 2000-05-31
CN1100438C (zh) 2003-01-29
KR100343821B1 (ko) 2002-07-20
CN1111867A (zh) 1995-11-15
EP0679028A2 (en) 1995-10-25
CN1113534C (zh) 2003-07-02
EP0971538B1 (en) 2002-11-27
ES2183468T3 (es) 2003-03-16
EP0971538A3 (en) 2000-07-19
EP0971538A2 (en) 2000-01-12
RU2145728C1 (ru) 2000-02-20
KR100343819B1 (ko) 2002-11-30
JP3495454B2 (ja) 2004-02-09
MY121258A (en) 2006-01-28
MY115173A (en) 2003-04-30

Similar Documents

Publication Publication Date Title
PT679028E (pt) Processador de transporte inverso com circuitos para enderecamento de memoria
US5521979A (en) Packet video signal inverse transport system
JP4316008B2 (ja) 条件付きアクセス情報アレンジメント
US5475754A (en) Packet video signal inverse transport processor memory address circuitry
US20080134234A1 (en) Conditional access filter as for a packet video signal inverse transport system