Relatório Descritivo cia Patente de Invenção: "DECODIFICADOR
PARA UM SISTEMA DE TRANSMISSÃO AUDIOVISUAL DIGITAL E MÉTODO DE PROCESSAR IMAGENS DIGITAIS EM UM DECODIFICADOR". A presente invenção se refere a um decodifiçador para um sistema de transmissão audiovisual digital, o decodif i cador compreendendo um rneio processador para descomprimir e exibir dados digitais de imagem comprimidos e um meio de memória. A iransmíssâo difundida de dados digitais é bem conhecida no campo de sistemas de TV paga, na guai as in forma co··.. s audiovisuais amontoadas são enviadas, usualmonte por uma ligação oor satélite ou satélite / cabo, a vários assinantes, cada assinante possuindo um decodifícador capa? de desamonto&r o programa transmitido para visualização subsequente. Os sistemas de difusão digitais terrestres também são conhecidos. Os sistemas recentes têm usado a Ligação per difusão para transmitir outros dados, além dos, ou bem como, dados audiovisuais, tais como programas de computador ou aplicações interat ivas.
No nível de funciona J.idaoe mais básico desses sistemas, os dados digitais de áudio e vídeo relativos ao programa televisionado são transmitidos em um formato comprimido, por exemplo, de acordo com o padrão de compressão MPEG-2. 0 decodificador recebe e descomprime esses dados para regenerar o programa televisionado.
Além dos simples dados de programas televisionados, está se tornando crescentemente comum que o decodificador seja instado a tratar outros dados de imagem ou gráficos comprimidos. Por exemplo, no caso no qual o decodificador inclui capacidades de pesquisa na rede, o processador do decodificador pode ser instado a receber e descomprimir dados digitais de imagem baixados, por exemplo, imagens de video imóveis, ícones gráficos, imagens móveis geradas por computador, etc. Essas informações de imagem podem ser exibidas sobre as imagens de programas televisionados normais.
Esses dados de imagem parada ou móvel pode ser recebidos, tipicamente, em um de quaisquer dos vários formatos que são atualmente usados no contexto dos pesquisadores de rede à base de PC. Por exemplo, uma imagem pode ser formatada e comprimida de acordo com os padrões GIF ou PNG bem conhecidos, em que uma imagem é descrita por uma tabela de conferência de cores, que define uma tabela de cores, e uma matriz de valores de pixel referentes a essa tabela, os dados da matriz sendo comprimidos de acordo com um procedimento de compressão conhecido para preparar a imagem GIF/PNG. Alternativamente, a imagem pode ser formatada e comprimida como uma imagem MPEG ou JPEG imóvel, na qual cada pixel é diretamente associado com um valor de cor vermelha / verde / azul. 0 processador gráfico usado por um decodificador para preparar as imagens é normalmente adaptado para processar essas imagens, uma vez que tenham sido descomprimidas e convertidas pelo processador geral em arquivos de imagem em um ou mais formatos de mapa de pixels predeterminados. Por exemplo, o processador gráfico pode ser adaptado para exibir arquivos de imagem submetidos nos formatos CLUT4 ou CLUT8, nos quais o princípio de uma tabela de conferência é aderido, ou no formato RGB, em que cada pixel tem um valor RGB.
Esses formatos de arquivos de imagem de mapa de pixels refletem a composição do pixel da imagem original e são distintos dos, embora estreitamente relacionados com, os formatos de compressão referidos acima. As imagens GIF/PNG são descomprimidas para formar um arquivo de imagem de mapa de pixels com uma tabela de conferência e os arquivos de imagem JPEG/MPEG são descomprimidos em arquivos de mapa de pixels sem essa tabela.
Em um meio físico de PC, a capacidade do processador e o espaço de memória disponível significam que vários arquivos de imagem comprimidos de acordo com os diferentes formatos podem ser recebidos, descomprimidos e exibidos, concorrentemente, o processador gráfico dentro de um PC sendo adaptado para manusear, facilmente, formatos múltiplos. Em contraste, em um meio físico de decodificador, a memória e a capacidade do processador disponíveis são, consideravelmente, mais limitadas, o processador gráfico tendo também que manusear pelo menos os dados MPEG associados com a transmissão televisionada.
Nesse caso, pode não ser possível converter e exibir arquivos de imagem em uma pluralidade de formatos.
Por exemplo, no caso de uma imagem original formatada em um formato RGB e comprimida com o algoritmo JPEG, o processador principal do decodificador pode descomprimir e armazenar, simplesmente, esse arquivo de imagem (e, na verdade, todos os arquivos de imagem recebidos subseqüentemente) em um formato CLUT fixo. Desse modo, o processador gráfico vai ter apenas que manusear outro tipo de arquivo de imagem. Ainda que esse método possibilite que o decodificador manuseie, efetivamente, dados de formatos múltiplos, pode ser uma perda desnecessária de qualidade de . imagem. Por exemplo, se nenhuma outra imagem está sendo manuseada pelo processador gráfico, pode não ser necessário impor um formato de arquivo de imagem convertido fixo. É ura objeto da presente invenção superar essas desvantagens da técnica anterior.
De acordo com a presente invenção, proporciona-se um decodificador para um sistema de transmissão audiovisual digital, o decodificador incluindo um processador para descomprimir e exibir dados de imagem comprimidos e uma memória, caracterizado pelo fato de que o processádor é adaptado para descomprimir e armazenar um arquivo de imagem no seu formato substancialmente original e, subseqüentemente, converter o arquivo de imagem em pelo menos um segundo formato para armazenar e exibir as primeira e segunda versões de formato do arquivo de imagem que está sendo armazenado contemporaneamente na memória. A descompressão e o armazenamento da versão do formato original da imagem comprimida possibilita que o decodificador gere depois arquivos de imagem de formato alternativo a serem enviados ao processador para exibição de acordo com a capacidade e a operação atuais do processador.
Por exemplo, no caso em que a imagem original está em um formato de "cor verdadeira" ou RGB e a carga e a operação do processador gráfico propiciam exibição nesse formato, a imagem pode ser descomprimida e exibida, substancialmente, "como é", isto é, um arquivo de imagem sem tabela de conferência. Não obstante, uma decimação do número de bits associados com cada pixel pode ser conduzida para alterar a resolução, enquanto que mantendo, substancialmente, o mesmo formato. Igualmente, no caso de uma imagem comprimida com uma tabela de conferência (GIF/PNG), a mesma tabela de conferência vai ser armazenada e referida na exibição da imagem.
Se uma exibição não pode ser feita usando o formato original, o processador pode converter o arquivo de imagem em um formato diferente para exibição, o arquivo original sendo todavia mantido para uso futuro. Desse modo, a presente invenção permite que seja feita a exibição de mais alta qualidade a qualquer momento dentro da memória e das restrições de processamento do decodificador naquele momento.
Em uma rr le, o processador é adaptado para converter o arquivo de imagem em uma pluralidade de formatos armazenados contemporaneamente com a versão original em uma memória do decodificador.
De preferência, o processador é adaptado para ler e exibir múltiplas versões de formato de um arquivo de imagem armazenado naquele momento. Por exemplo, o processador pode ser adaptado para exibir a mesma imagem duas vezes em duas janelas de tela diferentes e de acordo com os dois diferentes formatos usados nas janelas.
Em particular, o processador pode ser adaptado para definir uma pluralidade de regiões em uma camada gráfica correspondente a uma região da exibição, cada região sendo definida em parte por uma coordenada local e pela versão do formato dos arquivos de imagem que podem ser processados pelo processador e exibidos nessa região.
Essa divisão da área da tela nas áreas de formato é particularmente característica do meio físico do decodificador. Por exemplo, uma região dentro da camada gráfica pode corresponder a uma região na qual os arquivos de imagem em um formato CLUT particular podem ser exibidos, embora uma outra região possa estar associada com os arquivos de imagem em um formato RGB.
Nessa realização, o processador é, de preferência, adaptado para converter um arquivo de imagem original destinado a ser exibido em uma região em uma versão correspondente à versão do formato atualmente em uso naquela região. Por exemplo, quando uma imagem de formato original RGB vai ser exibida na mesma região em que uma imagem de formato CLUT já está sendo exibida, o processador vai converter a imagem no formato CLUT apropriado para exibição.
Em uma modalidade, o processador é adaptado para processar imagens na camada gráfica superposta sobre os dados digitais audiovisuais e correspondentes a uma ou mais camadas exibidas sobre a tela abaixo da camada gráfica. As imagens na camada gráfica podem ser igualmente exibidas pelo processador superpostas sobre outros tipos de dados de arquivos de imagem em camadas abaixo da camada gráfica.
Em uma modalidade, o processador é adaptado para descomprimir os dados de imagem enviados em um padrão de compressão que usa uma tabela de conferência, o padrão GIF ou PNG. Além disso ou alternativamente, o processador é adaptado para descomprimir os dados de imagem enviados em um padrão que usa um valor de cor vermelha / verde / azul associada com cada pixel, por exemplo, MPEG ou JPEG.
Como discutido acima, a vantagem do processo de descompressão e conversão em duas etapas usado na presente invenção se baseia na capacidade de processar o arquivo de imagem no formato original de qualquer dos vários modos. Em algumas circunstâncias, no entanto, pode ser desejável usar um formato fixo para todos os dados de imagem.
Portanto, em uma modalidade preferida da invenção, o processador é adaptado ainda para descomprimir, diretamente, dados de imagem, independentemente do seu formato de compressão, em um arquivo de imagem de um formato predeterminado.
Em particular, o processador pode ser adaptado ainda para descomprimir, diretamente, dados de imagem em um formato que usa uma tabela de conferência de cor, por exemplo, o formato CLUT4 ou CLUT8. Além disso, ou alternativamente, o processador pode ser ainda adaptado para descomprimir, diretamente, os dados de imagem em um formato que usa um valor de cor vermelha / verde / azul associado com cada pixel, por exemplo, o formato RGB16.
Todas as funções de descompressão e exibição de dados podem ser integradas em um único processador.
Alternativamente, o processador pode comprimir pelo menos um processador geral e um processador gráfico para manuseio das descompressão e exibição, respectivamente.
Similarmente, a memória usada para armazenar as primeira e segunda versões de formato pode não corresponder, necessariamente, a uma única unidade de memória, tal como uma RAM ou uma FLASH, mas pode corresponder a uma ou mais áreas de memória alocadas para essa finalidade por uma aplicação de controle e dividida entre um ou mais dispositivos de memória física. A presente invenção foi discutida acima em relação a um aparelho decodificador. A presente invenção abrange, igualmente, um método de processamento de imagens digitais dentro desse decodificador, correspondente aos aspectos gerais e preferidos da invenção discutida acima.
No contexto da presente aplicação, o termo "sistema de transmissão audiovisual digital" se refere a todos os sistemas de transmissão para transmitir ou difundir, basicamente, dados digitais audiovisuais ou multimídia.
Ainda que a presente invenção seja particularmente aplicável a um sistema de televisão digital difundido, a presente invenção pode ser igualmente usada na filtração de dados enviados por uma rede de telecomunicações fixa para aplicações multimídia de Internet, etc.
Similarmente, o termo "decodificador" é usado para aplicar-se a um conjunto receptor / decodificador integrados, para receber e descriptografar uma transmissão criptografada, os elementos receptor e decodificador desse sistema considerados separadamente, bem como a um receptor capaz de receber difusões não criptografadas. 0 termo cobre, igualmente, decodificadores incluindo outras funções, tais como pesquisadores de rede, juntamente com sistemas decodificadores integrados com outros dispositivos, por exemplo, dispositivos VHS / decodificador integrados ou assemelhados. 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 em 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 prèsente pedido de patente, o termo inclui todas as variantes, modificações ou desenvolvimentos dos formatos MPEG aplicáveis ao campo da transmissão de dados digitais.
Vai-se descreve a seguir, apenas por meio de exemplo, uma modalidade preferida da presente invenção, com referência às figuras em anexo, em que: a Figura 1 mostra uma visão geral de um sistema de televisão digital; a Figura 2 mostra os elementos do conjunto receptor / decodificador da Figura 1; a Figura 3 mostra em forma de camadas os dados de imagem processados pelo processador gráfico da Figura 2; a Figura 4 mostra em detalhes a camada gráfica da Figura 3; e a Figura 5 mostra as etapas de descompressão e conversão conduzidas em vários casos em dados de imagem comprimidos.
Uma visão geral de um sistema de televisão digital 1 de acordo com a presente invenção é mostrada na Figura 1. A invenção inclui um sistema de televisão digital 2 em grande parte convencional, que usa o sistema de compressão MPEG-2 conhecido para transmitir dados digitais comprimidos. Em mais detalhes, o compressor MPEG-2 3 recebe em um centro de difusão um fluxo de sinais digitais (tipicamente, um fluxo de sinais de video) . 0 compressor 3 é ligado a um multiplexador e amontoador 4 pela ligação 5. 0 multiplexador 4 recebe uma pluralidade de outros sinais de entrada, monta o fluxo de transporte e transmite os sinais digitais comprimidos para um transmissor 6 do centro de difusão, via a ligação 7, que pode, naturalmente, tomar uma ampla variedade de formas, incluindo ligações de telecomunicações. 0 transmissor 6 transmite sinais eletromagnéticos, via a ligação superior 8, para um transponder de satélite 9, no qual são processados e difundidos eletronicamente, via uma ligação inferior nocional 10, para o receptor em terra 12, convencionalmente, na forma de uma antena parabólica de propriedade do, ou alugada pelo, usuário final. Os sinais recebidos pelo receptor 12 são transmitidos para um conjunto receptor / decodificador integrados 13, de propriedade do, ou alugado pelo, usuário final e conectado ao aparelho de televisão do usuário final 14. 0 conjunto receptor / decodificador 13 decodifica o sinal MPEG-2 comprimido em um sinal de televisão para o aparelho de televisão 14.
Outros canais de transporte para transmissão dos dados são, naturalmente, possíveis, tais como difusão terrestre, transmissão a cabo, ligações via satélite / ' cabo combinadas, redes telefônicas, etc.
Em um sistema de canais múltiplos, o multiplexador 4 trata as informações de áudio e vídeo recebidas de várias fontes paralelas e interage com o transmissor 6 para difundir as informações por um número de canais correspondente. Além das informações audiovisuais, as mensagens ou aplicações ou qualquer outro tipo de dados digitais podem ser introduzidas em alguns ou em todos esses canais com as informações digitais de áudio e vídeo transmitidas. üm sistema de acesso condicional 15 é conectado ao multiplexador 4 e ao conjunto receptor / decodificador 13 e é localizado parcialmente no centro de difusão e parcialmente no decodificador. Possibilita que o usuário final tenha acesso às difusões de televisão digital de um ou mais fornecedores de difusão. Um cartão inteligente, capaz de decodificar mensagens relativas às ofertas comerciais (isto é, um ou mais programas de televisão vendidos pelo fornecedor de difusão), pode ser inserido no conjunto receptor / decodificador 12. Usando o decodificador 12 e o cartão inteligente, o usuário final pode adquirir ofertas em um modo de assinatura ou em um modo pay-per-view.
Como mencionado acima, os programas transmitidos' pelo sistema são amontoados no multiplexador 4, as condições e as chaves de criptografação aplicadas a uma determinada transmissão sendo determinadas pelo sistema de controle de acesso 15. A transmissão desse modo de dados amontoados é bem conhecida no campo dos sistemas de TV pagos.
Tipicamente, os dados amontoados são transmitidos juntamente com uma palavra de controle para desamontoamento dos dados, a própria palavra de controle sendo criptografada por uma denominada chave de exploração e transmitida na forma criptografada.
Os dados amontoados e a palavra de controle criptografada são depois recebidos pelo decodificador 13, que tem acesso a um equivalente da chave de exploração armazenada em um cartão inteligente inserido no decodificador para descriptografar a palavra de controle criptografada e, depois, desamontoar os dados transmitidos.
Um assinante em dia vai receber, por exemplo, em uma ECM (Mensagem de Controle de Habilitação) difundida mensalmente a chave de exploração necessária para descriptografar a palavra de controle criptografada, de modo a permitir a visualização da transmissão.
Um sistema interativo 16, também ligado ao multiplexador 4 e ao conjunto receptor / decodificador 13, e de novo localizado parcialmente no centro de difusão e parcialmente no decodificador, possibilita que o usuário final interaja com várias aplicações, via um canal de retorno por modem 16. 0 canal de retorno por modem também pode ser usado para as comunicações usadas no sistema de acesso condicional 15. Um sistema interativo pode ser usado, por exemplo, para permitir que o espectador se comunique imediatamente com o centro de transmissão para demandar a autorização para assistir um evento particular, baixar uma aplicação, etc.
Com referência à Figura 2, os elementos do conjunto receptor / decodificador 13 ou da caixa de posicionamento superior, adaptados para serem usados na presente invenção, vão ser descritos a seguir. Os elementos mostrados nessa figura vão ser descritos em termos de blocos funcionais. 0 decodificador 13 compreende um processador central 20, incluindo elementos de memória associados e adaptados para receber dados de entrada de uma interface serial 21, uma interface paralela 22, um modem 23 (conectado ao canal de retorno via modem 17 da Figura 1) e contatos de chave 24 no painel frontal do decodificador. 0 decodificador é adicionalmente adaptado para receber entradas de um controle remoto de infravermelho 25 via uma unidade de controle 26 e também possui duas leitoras de cartão inteligente 27, 28 adaptadas para ler cartões inteligentes de banco ou de assinatura 29, 30, respectivamente. A leitora de cartão inteligente de banco 28 é acoplada a um cartão de assinatura inserido 30 e com uma unidade de acesso condicional 29 para suprir a palavra de controle necessária a um desmultiplexador / desamontoador 30, para permitir que o sinal difundido criptografado seja desamontoado. O decodificador também inclui um sintonizador 31 e um desmodulador 32 convencionais, para receber e desmodular a transmissão via satélite antes de ser filtrada e desmultiplexada pela unidade 30. O processamento dos dados dentro do decodificador é geralmente feito pelo processador central 20. A arquitetura .. do software do processador central pode corresponder àquela usada em um decodificador conhecido e não vai ser descrita aqui em mais detalhes. Pode ser baseada, por exemplo, em uma máquina virtual interagindo, via uma camada de interface, com um sistema operacional de nível mais baixo implementado nos componentes do hardware do decodificador.
Em termos da arquitetura do hardware, o decodificador vai ser equipado com um processador, elementos de memória tais como ROM, RAM, FLASH, etc., como nos decodificadores conhecidos.
No caso de sinais de áudio e vídeo recebidos, e como vai ser descrito em mais detalhes abaixo, os pacotes MPEG contendo esses sinais vão ser desmultiplexados e filtrados de modo a passar dados de áudio e vídeo em tempo real na forma de um fluxo elementar comprimido (PES) de dados de áudio e vídeo para os processadores ou decodificadores de áudio e vídeo dedicados 33, 34. A saída convertida do processador de áudio 33 passa para um pré-amplificador 35 e, depois, via a saída de áudio do conjunto receptor / decodificador. A saída convertida do processador de vídeo 34 passa, via um processador gráfico 36 e um codificador PAL / SECAM 37, para a saída de vídeo do conjunto receptor / decodificador. 0 processador de vídeo pode ser de um tipo convencional, tal como o ST 3520A da SGS da Thomson. 0 processador gráfico 36 recebe, adicionalmente, dados gráficos para exibição (tais como imagens geradas, etc) do processador central 20 e combina essas informações com as informações recebidas do processador de vídeo 34, para gerar uma exibição de tela que combina imagens móveis juntamente com texto sobreposto ou outras imagens. Um exemplo de um processador gráfico adaptado para conduzir esse tipo de operação é o CM 9310 da C-CUBE.
No caso de dados de teletexto e/ou de subtítulo recebidos, a conversão dos dados PES em tempo real, para gerar as imagens apropriadas, também pode ser tratada por processadores dedicados. No entanto, nos sistemas mais convencionais, essa é tratada pelo processador geral 20.
Na verdade, muitas das funções associadas com os elementos, tal como o processador gráfico 36, decodificador de vídeo 34, processador central 20, etc., podem ser combinadas ou divididas em vários modos, por exemplo, para integrar os processadores central e gráfico para formar um único meio processador, etc.
Com referência agora à Figura 3, a funcionalidade do processador gráfico 36 vai ser descrita a seguir. Como discutido acima, o processador gráfico recebe e processa dados de vídeo em tempo real do decodificador de vídeo 34, juntamente com os dados gráficos recebidos do processador geral 20, para gerar um exibição de tela sobreposta.
Como mostrado na Figura 3, o processador gráfico 36 é adaptado para processar dados de entrada divididos em quatro camadas distintas; uma camada de fundo 40, uma camada MPEG 41, uma camada gráfica 42 e uma camada de cursor 43. Como vai ser entendido, a camada de fundo 50 corresponde à camada mais baixa da exibição da tela, as outras camadas sendo progressivamente sobrepostas com os vários graus de translucidez ou de opacidade por essa camada.
No caso no qual o decodificador é configurado para exibir um sinal de video difundido, as camadas de fundo e MPEG 40, 41 correspondem ao fluxo de dados recebidos do decodificador de vídeo 34, a camada 40 correspondendo às imagens paradas MPEG recebidas do decodificador 34, e a camada 41 correspondendo a um sinal MPEG de vídeo móvel recebido do decodificador. A divisão de um sinal de vídeo em uma parte fixa e variável é uma característica conhecida da compressão MPEG.
Outras configurações do decodificador são possíveis, por exemplo, quando as camadas de fundo e MPEG 40, 41 são completadas por dados de imagem em um número qualquer de formatos recebidos do processador 20. Por exemplo, no caso no qual o decodificador está agindo em uma configuração de pesquisador de rede, o processador 20 pode fornecer dados de imagem parada e/ou móvel para completar as camadas 40, 41. A camada 40 pode corresponder, igualmente, por exemplo, a uma cor de fundo e a camada 41 a uma ou mais janelas exibidas sobre o fundo e contendo, por exemplo, informações, ícones móveis ou assemelhados.
Os dados de imagem parada e móvel das camadas de fundo e MPEG 40, 41 são misturados em conjunto pelo processador gráfico 36, representado pelo elemento 44, e uma saída combinada proporcionada. A mistura das informações da camada MPEG 41 sobre a camada de fundo 40 pelo processador gráfico podem ser conduzidas usando um fator de mistura denominado alfa, para permitir um grau maior ou menor de translucidez dos pixels na imagem da camada MPEG. No caso de uma imagem de vídeo móvel recebida do decodificador de vídeo 34, o mesmo fator de mistura é usado para todos os pixels dentro da seqüência de vídeo. No caso de dados de imagem do processador central 20, o valor do fator de mistura para a camada 41 pode ser diferente para as diferentes partes da tela. A camada gráfica 42 é usada para textos, formas, ícones, etc, que vão ser exibidos na tela sobre as imagens tomadas das camadas 40, 41, para permitir, por exemplo, a exibição de um ícone móvel ou assemelhados gerado pelo processador 20 sobre uma seqüência de vídeo em tempo real tomada do decodificador de vídeo 34. Como essa modalidade da presente invenção se refere, basicamente, ao tratamento de dados nessa camada, as características dos dados nessa camada vão ser descritas em mais detalhes abaixo em relação . à Figura 4.
Em uma maneira similar à mistura conduzida para as camadas 40, 41, o elemento 45 conduz uma mistura da camada gráfica 42 com a saida combinada das camadas 40, 41. Como vai ser descrito, as diferentes regiões dentro da camada gráfica 42 podem receber um fator de mistura diferente e um nível de translucidez diferente correspondente, dependendo das características dos dados dentro de cada região.
Uma camada final, a camada do cursor, é mostrada em 43 e representa uma imagem de cursor opaca, gerada por hardware sob o controle do processador central 20 e superposta sobre todas as camadas anteriores. Como mostrado em 46, esta camada é combinada com a saída somada da combinação de todas as camadas anteriores para gerar uma saída combinada final 47 enviada para o codificador 37 para exibição subseqüente. Diferentemente das camadas anteriores, o cursor apresenta uma aparência continuamente opaca e é superposto sobre as camadas combinadas sem qualquer mistura.
Voltando agora à Figura 4, a camada gráfica é dividida em operação em uma ou mais regiões retangulares 50, cada região sendo definida por sua largura, sua altura, sua coordenada de exibição 51 e o sistema de cores usado dentro daquela região. Qualquer pixel na camada não pertencente a uma região designada, como mostrado em 52, é mantido transparente. A coordenada de exibição 51 é definida como a coordenada do canto esquerdo superior da região, como mostrado. 0 tamanho do pixel de todas as regiões é nunca mais do que toda a resolução da tela, isto é, 720 x 576 para PAL, 720 x 480 para NTSC.
Em relação ao sistema de cores a ser usado em uma região, as informações proporcionadas ao processador gráfico 36, para construir a camada são codificadas em uma forma de mapa de pixels, cada pixel sendo identificado por uma coordenada e uma referência de cor. Na prática, vários formatos de mapa de pixels podem ser manuseados pelo processador gráfico, tais como: CLU4: 4 bits/pixel endereçando uma tabela de conferência (CLUT) com 16 entradas; CLU4: 8 bits/pixel endereçando uma tabela de conferência (CLUT) com 256 entradas; e RGB16: 16 bits/pixel especificando a mistura vermelha / verde / azul para cada pixel.
No caso do formato RGB16, uma cor a ser exibida é simplesmente definida com referência à preponderância de cada uma das cores primárias vermelha / verde / azul usadas pelo sistema para gerar uma cor.
No caso de um formato do tipo CLUT, cada pixel inclui uma referência a um valor de cor designado em uma tabela de conferência. Essa cor é, por sua vez, definida por um valor de cor vermelha / verde / azul de 24 bits usado, eventualmente, pelo sistema para gerar uma cor. Um fato de mistura alfa de 6 bits também pode ser associado com cada valor de cor (ver abaixo).
Como indicado acima, o tamanho da tabela de conferência e o número de cores disponíveis podem variar, por exemplo, para definir uma imagem com referência as 16 ou 256 cores. Igualmente, as cores definidas dentro de uma tabela de conferência podem variar entre as tabelas, por exemplo, uma tabela definindo mais cores em uma determinada parte do espectro do que em uma outra parte. Antes da exibição de uma região, a tabela de conferência é carregada no processador gráfico. 0 processador gráfico 36 pode redimensionar em tempo real cada região e movimentar, horizontal e verticalmente, uma região na tela, com a condição de que não há qualquer sobreposição entre as regiões. Adicionalmente, como mencionado acima, cada região pode ser misturada independentemente com as camadas abaixo usando um fator de mistura alfa particular. No caso de cada um dos formatos, existem as seguintes possibilidades: CLUT4: um fator de mistura alfa de 6 bits global aplicado por toda a região OR, cada entrada de cor na tabela tem um fator de mistura alfa de 6 bits; um valor de cor pode ser transparente; CLUT8: um fator de mistura alfa de 6 bits global aplicado por toda a região OR, cada entrada de cor na tabela tem um fator de mistura alfa de 6 bits; um valor de cor pode ser transparente; e RGB16: um fator de mistura alfa de 6 bits global aplicado por toda a região.
Os formatos de mapa de pixels discutidos acima são distintos dos formatos multimídia comprimidos, usados convencionalmente para transmitir as imagens eventualmente a serem exibidas na camada gráfica. Por exemplo, uma imagem a ser exibida em uma das regiões gráficas pode ser comprimida como uma imagem parada MPEG, uma imagem de formato JPEG, uma imagem de formato GIF ou uma imagem de formato PNG. Na descrição a seguir, o termo "imagem" vai ser sempre usado para referir-se a dados de imagem em um formato comprimido. 0 formato MPEG foi descrito na introdução em relação aos padrões desenvolvidos ISO. Os padrões JPEG e GIF são igualmente formatos multimídia bem conhecidos, encontrados, freqüentemente, em imagens envidas via a Internet, enquanto que o formato PNG é, quando da gravação, um padrão mais recente introduzido como um competidor para o padrão GIF proprietário. Como vai ser discutido abaixo, as imagens recebidas nos formatos MPEG, JPEG, GIF ou PNG são descomprimidos por uma rotina dentro do processador 20 em um dos formatos CLUT ou RGB discutidos acima.
Naturalmente, vai-se entender que, ainda que a descrição se refira nesse caso aos formatos de exibição (ou de mapa de pixels) e formatos de transmissão (ou comprimidos) específicos, a presente invenção não vai ser de modo algum limitada ao uso desses formatos particulares.
No caso dos formatos GIF e PNG, esses formatos comprimidos são baseados em arquivos de imagem originais que incluem uma tabela de conferência. A descompressão direta de uma imagem comprimida GIF ou PNG vai resultar em um formato de mapa de pixels CLUT. No entanto, como vai ser discutido, uma imagem GIF ou PNG pode ser também diretamente descomprimida no formato de mapa de pixels RGB, por exemplo. Similarmente, ainda que uma imagem MPEG / JPEG seja comprimida em um modo RGB, de modo que possa ser descomprimida diretamente em um mapa de pixels RGB, pode haver determinadas circunstâncias nas quais pode-se desejar transformar a imagem em um formato CLUT. A Figura 5 representa, esquematicamente, as possíveis etapas de descompressão e conversão, que podem ser conduzidas pelo processador geral 20 em uma imagem do tipo GIF ou PNG comprimida de acordo com essa modalidade da invenção. Três tipos de descompressão ativados em resposta aos três comandos de descompressão, DECOMP_ORIGINAL, DEC0MP_T0_CLUT e DECOMP_TO_RGB são mostrados. As etapas de descompressão são ilustradas em relação a uma imagem formatada CLÜT, mas etapas de descompressão similares também pode ser executadas em relação às imagens paradas JPEG e MPEG em resposta aos mesmos comandos. DECOMP_ORIGINAL. Uma imagem GIF/PNG 60 recebida é mostrada, compreendendo uma tabela de conferência CLUT indicada em 61 e dados de pixels f(ID) que definem os valores de cor para cada pixel na imagem, como indicado em 62. Na etapa de descompressão mais superior 63, a imagem no arquivo transmitido é descomprimida e armazenada na memória no seu formato substancialmente original, como mostrado em 65, isto é, em um modo CLUT com um conjunto de dados de pixels 66 referentes à sua tabela CLUT associada 67. O número de entradas na tabela CLUT (15 ou 256) e o grau de resolução de cor subseqüente depende do formato original da tabela. Similarmente, o exato valor de bit RGB associado com cada cor é definido pela tabela CLUT em questão, que é mantido em uma forma inalterada.
No presente sistema, a imagem descomprimida resultante é armazenada na memória. Em uma etapa de conversão subseqüente mostrada em 64, a imagem pode ser ainda convertida em um segundo formato de mapa de pixels 68, tal como um formato CLUT alternativo, também armazenado na memória do sistema.
Por exemplo, uma imagem compreendendo uma tabela CLUT de entrada 256 pode ser convertida em uma imagem com uma tabela CLUT de entrada 16. Alternativamente, uma tabela CLUT característica pode ser transformada em uma tabela CLUT diferente, com diferentes valores RGB associados algumas ou todas as entradas. Ao mesmo tempo da transformação da tabela CLUT, os valores de ID de pixels vão ser transformados. Os algoritmos necessários para conduzir essas transformações vão ser do conhecimento daqueles versados na técnica. A vantagem dessa dupla descompressão / conversão, comparada com as outras etapas de descompressão descritas abaixo vai ser entendida em relação ao zoneamento da camada gráfica mostrada na Figura 4. Em um meio físico de PC, o tamanho da memória e a capacidade de processamento do PC significam que muitas janelas de imagem, cada uma delas tendo uma tabela CLUT particular, podem ser abertas. Nesse caso, uma imagem pode ser sempre descomprimida e exibida, diretamente, na sua forma original.
Em contraste, em um meio físico de decodificador, as restrições de memória e de processador propiciam a disposição das regiões descritas acima, em que cada região 50 é associada com um formato de mapa de pixels particular.
Em um exemplo, uma região pode ser associada com um formato CLÜT4, com uma tabela de conferência de entrada 16 mantida por uma ou mais imagens exibidas nessa região, enquanto que uma outra região pode ser associada com o formato CLUT8 com outra tabela de conferência predeterminada de 256 entradas.
No caso de um novo arquivo de imagem definindo, por exemplo, um ícone a ser exibido em ambas essas regiões, o arquivo de imagem vai ser primeiro descomprimido de acordo com o comando DECOMP_ORIGINAL, para proporcionar um arquivo com a tabela CLUT original associada com essa imagem. Esse arquivo original, armazenado na memória, pode ser depois reduzido e convertido no formato CLUT4 usado pela primeira região, bem como o formato CLUT8 (com o valor da tabela . CLUT específico) usado pela segunda região. Outras reconversões podem ser feitas à vontade no arquivo original.
Em contraste, se o arquivo de imagem original não foi nunca descomprimido, mas tinha sido convertido imediatamente em um valor de mapa de pixels padrão usado em uma região (ver abaixo), pode não ser possível reconverter, efetivamente, a imagem nesse formato em um segundo formato associado com outra região. Por exemplo, quando uma imagem CLUT8 é descomprimida e convertida simultaneamente em um formato CLUT4 padrão, vai haver uma perda de informações associadas com a imagem, tornando qualquer reconversão em um formato CLÜT8 duvidosa. Não obstante, em algumas circunstâncias pode ser desejável fixar o formato final de todos os arquivos de mapa de pixels antes da conversão. Nesse caso, os seguintes comandos podem ser proporcionados ao processador geral. DECOMP_TO_CLUT. Com esse comando, a imagem, qualquer que seja o formato do arquivo original (CLUT4, CLUT8, RGB), é descomprimida em 69 e convertida em um mapa de pixels de formato CLUT mostrado em 70. A resolução do CLUT, bem como os valores RGB de cada uma dessas entradas, são impostos no momento da descompressão. DECOMP_TO_RGB. Com esse comando, a imagem, qualquer que seja o formato do arquivo original (CLUT4, CLÜT8, RGB), é descomprimida em 71 e convertida em um mapa de pixels de formato RGB mostrado em 72. A resolução do formato RGB é fixada no momento da descompressão.
No caso de uma imagem originalmente em formato de cor verdadeira ou MPEG / JPEG, o comando DECOMP_ORIGINAL vai retornar uma imagem descomprimida em RGB. Embora o formato do arquivo descomprimido corresponda ao original (isto é, nenhuma tabela de conferência), uma ligeira variação de resolução pode requerer que uma conversão de cor verdadeira em RGB16 seja proporcionada no momento da criptografação. 0 comando DECOMP_TO_CLUT agindo em uma arquivo MPEG / JPEG vai descomprimir e converter o quadro em uma imagem no formato CLUT, a resolução do CLUT, bem como os valores de cada uma das suas entradas, sendo impostos no momento da descompressão. 0 comando DECOMP_TO_RGB vai ter o mesmo efeito neste caso que o quadro que o comando DECOMP_ORIGINAL, isto é, descomprimir a imagem de formato de cor verdadeira em RGB16.
Como vai ser entendido, os algoritmos de descompressão / conversão necessários para conduzir as operações acima são conhecidos. No entanto, a aplicação desses algoritmos para criar cada um dos arquivos armazenados indicados acima não é conhecida no contexto da tecnologia de decodificadores. Em particular, a descompressão de um arquivo de imagem em um arquivo de formato original, que está armazenado e pode ser convertido como desejado, não é conhecida nesse campo.
Similarmente, embora a descrição se refira ao uso do chip processador principal ou geral para conduzir as etapas de descompressão e conversão necessárias além das suas outras tarefas, essas etapas podem ser também conduzidas por um processador dedicado.