PT101039B - Aparelho para ocultacao de erros num sistema digital de processamento video - Google Patents

Aparelho para ocultacao de erros num sistema digital de processamento video Download PDF

Info

Publication number
PT101039B
PT101039B PT101039A PT10103992A PT101039B PT 101039 B PT101039 B PT 101039B PT 101039 A PT101039 A PT 101039A PT 10103992 A PT10103992 A PT 10103992A PT 101039 B PT101039 B PT 101039B
Authority
PT
Portugal
Prior art keywords
data
compressed
macroblocks
video data
errors
Prior art date
Application number
PT101039A
Other languages
English (en)
Other versions
PT101039A (pt
Inventor
Joel Walter Zdepski
Huifang Sun
Original Assignee
Rca Thomson Licensing Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rca Thomson Licensing Corp filed Critical Rca Thomson Licensing Corp
Publication of PT101039A publication Critical patent/PT101039A/pt
Publication of PT101039B publication Critical patent/PT101039B/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • H04N7/54Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal the signals being synchronous
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Description

O invento refere-se à ocultação de dados, que se perdem durante uma transmissão de sinal.
A Organização Internacional para a Normalização está presentemente a desenvolver uma norma que específica a exibição codificada de video para meios de armazenamento digital, que suportam um ritmo de transferência contínua de dados de 1,5 Mbits/seg., norma que se encontra descrita no documento ISO-IEC JTC1/SC2/WG11; CODING OF MOVING PICTURES AND ASSOCIATED AUDIO; MPEG90/176 Rev.2, de 18 de Dezembro de 1990. Este formato tornou-se conhecido por MPEG. De acordo com este formato as sequências de quadros são divididas em grupos e os respectivos quadros, dentro de cada grupo, são codificados de acordo com uma pluralidade de modos de codificação. Tipicamente, os modos de codificação incluem a codificação intraquadro (quadros I) e dois tipos de codificação preditiva interquadro (quadros P e B). Em todos os modos apenas os campos ímpares são codificados, sendo os campos pares rejeitados.
O Advanced Television Research Consortium (ATRC) dos Estados Unidos, modificou o formato MPEG para a transmissão de sinais de televisão de alta definição (HDTV) em formato digital. Geralmente, a codificação inicial deste sinal de HDTV é semelhante ao MPEG, salvo em resolução dos elementos de imagem (pixels) e ao facto dos ritmos dos dados serem aumentados e os quadros tanto ímpares como pares de cada um dos campos serem codificados. No sistema HDTV, é dada prioridade o sinal codificado para transmissão, entre um canal de mais alta e um canal de mais baixa prioridade. Os dados codificados, com maior importância aparente para a reprodução da imagem, são transmitidos com um determinado nível de energia e os dados codificados, com menor importância, são transmitidos com um nível de energia inferior, para minimizar a interferência conjunta de canais.
A FIGURA 1 é uma representação esquemática do formato de codificação antes de ser dada prioridade. A sequência de quadros
451
RCA 86,409 “2“ é meramente representativa. As letras I, P e B, acima dos respectivos quadros, indicam o modo de codificação para o respectivo quadro. A sequência de quadros está dividida em grupos de quadros (GOF), cada um dos quais inclui a mesma sequência de codificação. Cada quadro dos dados codificados está dividido em porções que representam, por exemplo, 16 linhas de imagem. Cada porção está dividida em macroblocos, cada um dos quais representa, por exemplo, uma matriz de 16 x 16 dos elementos de imagem (pixels). Cada macrobloco está dividido em 6 blocos, que incluem quatro blocos de informação relacionada com o sinal de luminância e dois blocos de informação relacionados com o sinal de crominância. As informações de luminância e crominância são codificadas separadamente e depois combinadas para transmissão. Os blocos de luminância incluem dados relacionados com as respectivas matrizes de 8 x 8 dos elementos de imagem. Cada bloco de crominância inclui uma matriz de 8 x 8 dos dados relacionados com toda a matriz de 16 x 16 dos elementos de imagem, representada pelo macrobloco.
Os blocos de dados, codificados de acordo com a codificação intraquadro, são constituídos por coeficientes de cosenos discretos (Discrete Cosine Coefficients). Quer dizer, os respectivos blocos de 8 x 8 dos elementos de imagem são sujeitos a uma transformada de cosenos discretos (DCT) (Discrete Cosine Transform) para fornecerem um sinal codificado. Os coeficientes são sujeitos a uma quantificação adaptativa e, depois de serem aplicados ao processador de prioridade, são codificados em extensão de curso e em extensão variável. Os blocos respectivos de dados transmitidos podem portanto incluir menos que uma matriz de 8 x 8 de palavras de código. Os macroblocos dos dados codificados intraquadro, incluirão, além dos coeficientes DCT, informação tal como o nível de quantificação empregue, um indicador de endereço ou de localização do macrobloco e um tipo de macrobloco.
Os blocos de dados codificados de acordo com codificação interquadro P ou B, consistem também em matrizes de coeficientes de cosenos discretos. Neste caso, no entanto, os coeficientes
451
-3RCA 86,409
representam resíduos ou diferenças entre uma matriz prevista de 8x8 elementos de imagem e a matriz efectiva de 8 x 8 elementos de imagem. Estes coeficientes são também sujeitos a quantificação e codificação em extensão de curso e em extensão variável. Na sequência de quadros, os quadros I e P são designa dos por quadros de fixação. Cada quadro P é predito a partir do último dos quadros de fixação que tenha ocorrido. Cada quadro B é predito a partir de um ou de ambos os quadros de fixação entre os quais o mesmo esteja disposto. 0 processo de codificação preditivo envolve a geração de vectores de deslocamento que indicam que bloco de um quadro de fixação, corresponde mais exactamente ao bloco do quadro predito que esteja a ser codificado nesse momento. Os dados dos elementos de imagem do bloco correspondente no quadro de fixação, são subtraídos, numa base de elemento de imagem por elemento de imagem, do bloco do quadro que está a ser codificado, para desenvolver os resíduos. Os resíduos transformados e os vectores compreendem os dados codificados para os quadros preditivos. Como para os quadros codificados intraquadro, os macroblocos incluem informação de quantificação, endereço e tipo. Note-se que, mesmo se um quadro for codificado preditivamente, se não puder ser verificada uma correspondência razoável de blocos, um bloco ou macrobloco particular num quadro preditivo pode ser codificado intraquadro. Além disso, determinados macroblocos podem não ser codificados. Os macroblocos são omitidos aumentando o endereço do macrobloco codificado seguinte.
Depois dos dados video serem codificados, são organizados de acordo com um protocolo semelhante ao MPEG. 0 formato hierárquico MPEG inclui uma pluralidade de camadas, cada uma delas com a respectiva informação de cabeçalho, como mostrado na FIGURA 2. Nominalmente, cada cabeçalho inclui um código de partida, dados relacionados com a respectiva camada e a possibilidade de se adicionarem extensões de cabeçalho. Muita da informação de cabeçalho (como indicado no documento MPEG referenciado) é necessária para fins de sincronização, num ambiente de sistemas MPEG. Com o objectivo de proporcionar um sinal video comprimido para um sistema de emissão simulada HDTV digital, é
-4ΊΑ 451
RCA 86,409
necessária apenas a informação de cabeçalho descritiva, isto é, podem ser excluídos códigos de partida e extensões opcionais.
Quando se refere ao sinal tipo MPEG produzido pelo presente sistema, o que se quer significar é que a) os quadros/campos sucessivos de sinal video são codificados de acordo com uma sequência de codificação I, P, B e b) os dados codificados ao nível da imagem são codificados em porções ou grupos de blocos tipo MPEG, embora o número de porções por campo/quadro possa diferir e o número de macroblocos por porção possa diferir.
O sinal de saída codificado do presente sistema é segmentado em grupos de campos/quadros (GOF), representados pela fila de caixas LI (FIGURA 2). Cada GOF (L2) inclui um cabeçalho seguido por segmentos de dados de imagem. 0 cabeçalho do GOF inclui dados relativos às dimensões de imagem horizontal e vertical, à relação do aspecto, ao ritmo campo/quadro, ao ritmo dos impulsos binários, etc.
Os dados de imagem (L3), correspondentes aos respectivos campos/quadros, incluem um cabeçalho seguido por dados de porções (L4). 0 cabeçalho de imagem inclui um número de campo/quadro e um código de tipo de imagem. Cada porção (L4) inclui um cabeçalho seguido por uma pluralidade de blocos de dados MBi. 0 cabeçalho da porção inclui um número de grupo e um parâmetro de quantificação.
Cada bloco MBi (L5) representa um macrobloco e inclui um cabeçalho seguido por vectores de movimento e coeficientes codificados. Os cabeçalhos MBi incluem um endereço de macrobloco, um tipo de macrobloco e um parâmetro de quantificação. Os coeficientes codificados estão representados na camada L6. Note-se que cada macrobloco é constituído por 6 blocos, incluindo quatro blocos de luminância, um bloco de crominância U e um bloco de crominância V.
Os coeficientes de bloco são fornecidos a um bloco de cada vez, ocorrendo os coeficientes DCT, DC primeiro, seguidos pelos
Ί4 451
RCA 86,409
-5respectivos coeficientes DCT AC,
por ordem da sua importância relativa. Um terminal de código de bloco EOB é acrescentado no terminal de cada bloco de dados que ocorre sucessivamente.
Os dados video comprimidos, formatados hierarquicamente como indicado na FIGURA 2, são aplicados a um processador de prioridade, onde os dados codificados são divididos entre um canal de alta prioridade HP e um canal de baixa prioridade LP. A informação de alta prioridade é a informação cuja perda ou corrupção, criaria a maior degradação nas imagens reproduzidas. Dito de outra forma, são os dados mínimos necessários para criar uma imagem, embora inferior a uma imagem perfeita. A informação de baixa prioridade é informação restante. A informação de alta prioridade inclui praticamente toda a informação de cabeçalho, incluída nos diferentes níveis hierárquicos, mais os coeficientes DC dos respectivos blocos e uma parte dos coeficientes AC dos respectivos blocos (nível 6, FIGURA 2).
Para fins de processamento de prioridade, são atribuídos classes ou tipos de prioridade aos respectivos tipos de dados codificados. Por exemplo, a toda a informação acima da parte de informação do cabeçalho (incluindo o identificador da porção, parâmetro de quantificação da porção, etc.) é atribuída uma prioridade tipo 0. Aos dados de cabeçalho de macroblocos é atribuída uma prioridade do tipo 1. Aos vectores de movimento é atribuída a prioridade do tipo 2”. 0 tipo de prioridade 3 pode ficar de reserva. Ao padrão do bloco codificado é atribuída a prioridade do tipo ,'4’1. Aos coeficientes DCT DC é atribuída prioridade do tipo 5 e às sucessivas palavras de código que representam coeficientes DCT de ordem mais elevada, são atribuídas prioridades dos tipos n6 a 68’1. 0 processador de prioridades determina, de acordo com as quantidades relativas de dados de alta e baixa prioridades, os tipos de prioridade que serão distribuídos para os canais de alta e de baixa prioridade. Note-se que a classificação da prioridade é indicativa da importância relativa dos tipos particulares de dados, sendo os dados com prioridade do tipo ”0” os mais importantes. Com efeito, o processador determina um ponto de ruptura de prioridade (PBP),
-6que corresponde ao número de classe ou de tipo, acima
451
RCA 86,409
todos os dados são enviados para o canal de baixa prioridade. Os tipos de dados restantes são distribuídos para o canal de alta prioridade. Referindo a FIGURA 2 e assumindo que, para um determinado macrobloco, o PBP é estabelecido como sendo n5n, de modo que os coeficientes DC e todos os dados hierarquicamente mais elevados são distribuídos ao canal HP e todos os coeficientes AC e os códigos EOB são atribuídos ao canal LP. Para fins de transmissão todas as palavras de código HP, são reunidas em forma de bits série, sem demarcação dos dados, dos seus respectivos blocos. Além disso, as palavras de código são codificadas com comprimentos variáveis e não há separações entre palavras de código (a fim de se realizar a maior largura de banda efectiva dentro de um canal de largura de banda limitada). O PBP, para os correspondentes macroblocos, é transmitido de modo que o receptor tenha a informação necessária para separar os dados HP de entre os respectivos blocos. No canal LP, os dados dos blocos respectivos são separados por códigos EOB.
Os dados video HP e LP comprimidos, são aplicados a um processador de transporte que a) segmenta as correspondentes correntes de dados HP e LP em respectivos blocos de transporte HP e LP, b) executa uma verificação da redundância de paridade ou cíclica, em cada bloco de transporte e acrescenta-lhe os bits de verificação de paridade apropriados e c) multiplexa os dados auxiliares com os dados video HP ou LP. Os bits de verificação são utilizados pelo receptor para isolar erros, conjuntamente com a informação de cabeçalho de sincronização e para proporcionar a ocultação dos erros, em caso de aparecimento de erros de bits incorrigíveis nos dados recebidos.
A FIGURA 3 representa o formato do sinal fornecido pelo processador de transporte. Os respectivos blocos de transporte podem incluir mais ou menos do que uma porção de dados. Assim, um bloco de transporte particular pode incluir dados do terminal de uma porção e dados do início da porção imediatamente a seguir. Os blocos de transporte, que incluem dados video, podem ser intercalados com blocos de transporte contendo outros dados,
-7transporte inclui um cabeçalho tipo de informação incluída no por exemplo audio. Cada bloco de tipo serviço ST, o qual indica o
451
RCA 86,409
bloco de respectivo transporte. Neste exemplo o cabeçalho ST é uma palavra de 8 bits, que indica se os dados são HP ou LP e se a informação são dados audio, video ou auxiliares.
Cada bloco de transporte inclui um cabeçalho de transporte TH, imediatamente a seguir ao cabeçalho ST. Para o canal LP, o cabeçalho de transporte inclui um indicador de macrobloco de 7 bits, um identificador de 18 bits e um indicador de cabeçalho de registo (RH). 0 cabeçalho de transporte do canal HP incltíi apenas um indicador de cabeçalho de registo (RH) de 8 bits. 0 indicador de macrobloco é utilizado para componentes de macrobloco segmentado ou cabeçalhos de registo e indica o início do componente descodificável seguinte. Por exemplo, se bloco de transporte particular inclui dados de macrobloco associados com o terminal da porção n e o início da porção n+1, os dados da porção n são colocados adjacentes ao cabeçalho de transporte e o indicador indica que os dados descodificáveis seguintes estão adjacentes ao cabeçalho de transporte TH. Contrariamente, se um cabeçalho de registo RH estiver adjacente ao TH, o primeiro indicador indica a posição de byte que se segue ao cabeçalho de registo RH. Um indicador de macrobloco com valor zero indica que o bloco de transporte não tem nenhum ponto de entrada de macrobloco.
bloco de transporte pode incluir nenhum, um ou mais cabeçalhos de registo. Ocorre um cabeçalho de registo no início de cada porção de dados de macrobloco nos canais HP e LP. Não é incluído qualquer cabeçalho de registo nos blocos de transporte que contenham apenas informação de cabeçalho de dados video. 0 indicador de cabeçalho de registo (RH) indica a posição de bits que contém o início do primeiro cabeçalho de registo do bloco de transporte. Um indicador RH com valor zero indica que não existem cabeçalhos de registo no bloco de transporte. Se tanto o indicador de cabeçalho de registo como o indicador de macrobloco tiverem um valor zero, este estado indica que o bloco de transporte apenas inclui informação de cabeçalho de dados video.
-874 451
RCA 86,409
identificador de 18 bits, no cabeçalho de transporte LP, identifica o tipo de quadro presente, o número do quadro (módulo 32), o número da porção presente e o primeiro macrobloco contido no bloco de transporte.
A seguir ao cabeçalho de transporte situa-se quer um cabeçalho de registo, RH, ou dados. Como indicado na FIGURA 3, o cabeçalho de registo para os dados video no canal HP, inclui a seguinte informação: uma marcação (FLAG), que indica se a extensão do cabeçalho (EXTEND) se encontra presente. A seguir à FLAG encontra-se um identificador IDENTITY, que indica a) o tipo de campo/quadro I, B ou P; b) um número de campo/quadro (módulo 32) identificador de quadro (FRAME ID); e c) um número da porção (módulo 64) identificador de porção (SLICE IDENTITY). A seguir ao identificador, o cabeçalho de registo inclui um indicador de ponto de ruptura de prioridade do macrobloco, PBP. O PBP indica a classe da palavra de código, desenvolvida pelo analisador 152 do selector de prioridade, para dividir as palavras de código entre os canais HP e LP. Finalmente, pode ser incluída uma extensão de cabeçalho facultativa no cabeçalho de registo HP.
O cabeçalho de registo incorporado no canal LP inclui apenas um identificador (IDENTITY), semelhante ao identificador implementado no canal HP.
Cada bloco de transporte termina por uma sequência de verificação de quadro de 16 bits, FCS, que é calculada através de todos os bits do bloco de transporte. A FCS pode ser gerada por meio da utilização de um código de redundância cíclica.
Os blocos de transporte de informação são aplicados a respectivos elementos codificadores de erro dianteiros que a) executam uma correcção dianteira de erro REED SOLOMON, codificando independentemente as respeetivas correntes de dados; b) intercala blocos de dados para evitar que grandes impulsos bruscos de erros corrompam uma grande área contígua de uma imagem reproduzida; e c) junta, por exemplo, códigos de Barker para os dados destinados à sincronização da corrente de dados no
-974 451
RCA 86,409 receptor.
Um receptor, que responde aos sinais transmitidos, os quais são formatados como indicado acima, incluí aparelhos para proporcionar a prioridade inversa e executar a codificação inversa. A prioridade inversa, ou a recombinação dos dados HP e LP, deve ser proporcionada antes da descodificação poder ser executada, porque o descodificador espera ver os dados num formato predeterminado (semelhante ao mostrado na FIGURA 2). É fácil observar que, pelo menos, uma parte do sinal recebido será corrompida pelo processo de transmissão. Considere-se que o código PBP num bloco de transporte HP se perdeu. Sem esse código PBP, a informação correspondente aos respectivos blocos do macrobloco não pode ser separada. Como um resultado disso, uma parte considerável da informação contida no bloco de transporte HP pode tornar-se inutilizável. Além disso, a informação no bloco de transporte LP, correspondente aos blocos contidos no bloco de transporte HP, torna-se também inutilizável. De facto, a perda de uma única palavra de código PBP, contida num bloco de transporte HP, pode tornar inutilizáveis, dados que de outro modo seriam válidos para toda uma porção. Um segundo exemplo é a perda de, por exemplo, a palavra de código de um cabeçalho de imagem que indica o tipo de codificação de quadro. Sem esta palavra de código, todo um quadro de dados codificados é tornado inutilizável ou pelo menos falível.
presente invento é concretizado em aparelhos, num sistema de processamento de sinal video digital, para ocultação de erros que possam surgir nas imagens reproduzidas, devido à perda de dados de imagem durante a transmissão de sinal. O sistema inclui aparelhos para detectarem os dados video transmitidos, gerarem sinais de erro se estiverem presentes erros em segmentos (blocos de transporte) dos dados recebidos e extraírem os segmentos com erros da corrente de dados. Os dados recebidos são aplicados a um sistema descodificador/descompressor, que descodifica e descomprime os dados video transmitidos, de acordo com uma sequência predeterminada. Os dados video descomprimidos podem ser aplicados a uma memória para posterior exibição, registo,
—10—
O descodificador/descompressor responde aos sinais de erro
451
RCA 86,409 etc.
para substituir os blocos de dados, nos quais ocorreram erros, por dados de substituição. Os dados de substituição incluem, numa concretização particular, dados comprimidos e, numa outra concretização, tanto dados comprimidos como dados descodificados relacionados espacial e temporalmente.
Numa concretização particular, os dados recebidos são fornecidos em duas correntes de dados de palavras de código de comprimento variável (sem limites de palavras de código), correntes de dados que foram derivadas de uma única corrente de dados de acordo com uma hierarquia particular, incluindo a primeira e a segunda correntes de dados recebidas, respectivamente dados de maior ou menor importância. Os dados de cada uma das duas correntes de dados, ocorrem em respectivos segmentos e são independentemente verificadas para detecção de erros, que são extraídos, no caso de ocorrerem erros. As duas correntes de dados são aplicadas a um descodificador de comprimento variável para a determinação dos limites das palavras de código e a recombinação das duas correntes de dados numa única corrente de dados. O descodificador de comprimento variável, que responde a sinais de erro que indicam quais os segmentos de dados de menor importância foram retirados, substitui os dados correspondentes a um valor determinado, para os dados retirados na corrente de dados recombinados.
BREVE DESCRIÇÃO DOS DESENHOS
A FIGURA 1 é uma representação esquemática da hierarquia de codificação de sinal tipo MPEG.
A FIGURA 2 indica esquematicamente um formato de sinal tipo MPEG.
A FIGURA 3 é um diagrama de um segmento do sinal disposto para transmissão.
A FIGURA 4 é um diagrama de blocos de uma parte de um receptor de HDTV, que inclui um dispositivo de ocultação de
451
RCA 86,409
erros.
A FIGURA 5 é um diagrama de blocos dos aparelhos para o processamento de blocos de transportes recebidos e fornecimento de sinais de erro.
A FIGURA 6 é um diagrama de blocos de um combinador de sinal HP/LP.
A FIGURA 7 é um diagrama de blocos, de circuitos exemplificativos que podem ser implementados no circuito de descompressão 27 da FIGURA 4.
A FIGURA 8 é um diagrama esquemático de um combinador-compressor de sinal combinado.
Referindo a FIGURA 4, o sinal transmitido é acoplado a um desmodulador 20, que fornece dois sinais correspondentes a dados video de alta prioridade HP e de baixa prioridade LP. Estes dois sinais são aplicados a respectivos descodificadores correctores de erros REED SOLOMON 21 e 22. Os sinais corrigidos quanto aos erros são acoplados a separadores de ritmo 23 e 24, que recebem dados a um ritmo constante e emitem dados a ritmos variáveis, de acordo com as necessidades dos circuitos de descompressão que se seguem. O ritmo variável dos dados HP e LP é aplicado a um processador de transporte 25, que executa mais uma verificação de erro adicional, separa os respectivos tipos de dados transmitidos (aux., audio e video) e separa os respectivos cabeçalhos de blocos de transporte dos dados de serviço. Os dados de serviço video e os correspondentes dados de erro e os dados de cabeçalho de transporte, são aplicados a um processador sem selecção de prioridade 26, que reformata os dados HP e LP num sinal hierarquicamente estratificado, que é aplicado a um descompressor 27. 0 descompressor 27 converte o sinal comprimido, num sinal adequado para exibição ou armazenamento.
A FIGURA 5 representa o processador de transporte 25, incluído na parte receptora do sistema. São necessários dois
-12ΊΑ 451
RCA 86,409
destes processadores, um para o canal HP e um para o canal LP. Se é sabido, à priori, que os dados audio ou auxiliares serão sempre excluídos de um canal particular, podem ser eliminados os correspondentes elementos de tal processador de transporte de canal.
Na FIGURA 5, os dados vindos do separador de ritmo 23 ou 24, são aplicados a um detector de ERRO FCS 250 e a um elemento de retardo 251. O elemento de retardo 251 proporciona um retardo de um intervalo de bloco de transporte, para permitir ao detector 250 determinar se ocorreram quaisquer erros, que não fossem corrigíveis pelos descodificadores REED SOLOMON 21 e 22 e fornece um sinal de erro E, que indica a presença ou ausência de erros no bloco de transporte. O sinal de erro é aplicado à porta de entrada de um desmultiplexador de um para três 253. Os dados do bloco de transporte retardado são também aplicados à porta de entrada do multiplexador 253. Os dados de bloco de transporte retardados são também acoplados a um detector de tipo serviço (ST DETECT) 252, que examina o cabeçalho ST e que responde também às condições do multiplexador 253, para passar os dados do bloco de transporte e o correspondente sinal de erro para um dos circuitos de processamento apropriado de sinal audio, auxiliar ou video.
No circuito de processamento do sinal video, os dados de bloco de transporte e o sinal de erro são acoplados a um elemento de processamento 256, que extrai o código FCS e os cabeçalhos de bloco de transporte ST, TH e RH, da corrente de dados. O mesmo está também organizado para apagar blocos de transporte de dados video inteiros, em que tenham sido detectados erros. O elemento 256 fornece os dados video com os cabeçalhos de blocos de transporte extraídos, os dados de erro e os cabeçalhos de transporte ao processador sem selecção de prioridade 26 em bus separados.
Os circuitos FEC 21 e 22, fornecem os dados recebidos em palavras de comprimento fixo, correspondentes às palavras de comprimento fixo fornecidas pelos circuitos FEC no codificador.
dados cabeçalhoblocotransporte ocorrem nos
451
RCA 86,409
Como limiar de byte que são quer predeterminados (ST,TH e FCS) quer identificados (RH) pelo cabeçalho de transporte. Assim, é uma questão relativamente simples identificar e extrair os cabeçalhos de bloco de transporte requeridos, dos respectivos blocos de transporte.
A FIGURA 6 representa um exemplo de processador sem selecção de prioridade. 0 processador sem selecção de prioridade aceita os dados vindos do processador de transporte receptor e reconfigura os dados HP e LP numa única corrente de dados. Para fazer isso, têm de ser identificadas as respectivas palavras de código da corrente de dados, quer dizer, as classes ou tipos de palavras de código de cada bloco têm de ser detectáveis. Uma vez que os dados estão na forma de códigos encadeados de comprimento variável, devem ser, pelo menos parcialmente, descodificados VLC para definirem os limites das palavras de código e os tipos das palavras de código. Uma vez que os limites e os tipos correspondentes sejam determinados, podem ser determinados os pontos de ruptura de prioridade dos dados, PBP, (no canal HP). Em seguida os dados HP podem ser distribuídos entre os respectivos blocos e divididos para a respectiva forma de código VLC de bits paralelos. Dados LP correspondentes aos blocos sucessivos, podem ser distinguidos por meio dos códigos EOB. No entanto, a descodificação VLC dos dados LP é necessária para reconhecer os códigos EOB e para dividir os dados encadeados em palavras de código separadas. A detecção de códigos EOB faz com que o processador retorne ao canal de alta prioridade. Além disso, por meio da contagem da ocorrência dos códigos EOB, o processador pode determinar quando esperar novos dados de cabeçalho, seja para macroblocos, porções, ou quadros, etc.
Dependendo da configuração do descompressor 27, os dados de saída fornecidos pelo aparelho sem selecção de prioridade tomarão formas diferentes. Por exemplo, se o descompressor for um descompressor tipo MPEG, o qual inclui circuitos de descodificação de comprimento variável, VLD, os circuitos sem selecção serão configurados para fornecerem dados de saída em
-1474 451
RCA 86,409 formato VLC. Alternativamente, os circuitos sem selecção podem ser incluídos no descompressor 27 e fornecer a função VLD do descompressor, caso em que as palavras de código de saída serão em formato descodificado de comprimento variável.
A FIGURA 6 representa um aparelho Sem selecção de prioridade geral exemplificativo, o qual pode estar preparado para fornecer dados video de saída, tanto codificados como descodificados com comprimento variável. Na FIGURA 6 dados HP e LP fornecidos pelo processador de transporte 25, presumem-se como ocorrendo em comprimentos fixos de palavra de código. Estas palavras de código são aplicadas a respectivos deslocadores de barril 60 e 61. Os deslocadores de barril juntam algumas das palavras de código de comprimento fixo e aplicam combinações de bits de dados, a tabelas de descodificação incluídas no VLD 64, por intermédio do desmultiplexador 62. A forma dos dados saídos do VLD será determinada pelas tabelas de descodificação. Este tipo de descodificação de comprimento variável é conhecido dos peritos na arte da compressão e uma descrição mais pormenorizada da descodificação de comprimento variável, pode ser encontrada no artigo An Entropy Coding System for Digital HDTV Applications, de Lei e Sun, IEEE TRANSSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 1, Na. 1, de Março de 1991.
VLD está programado para aceitar dados HP do multiplexador 62, até ser encontrada uma ruptura de prioridade e aceita então dados de canal LP até ser encontrado um EOB, altura em que volta a aceitar os dados do canal HP e assim sucessivamente. Mais especificamente, o VLD inclui uma máquina de estado (sequenciador de estado do descodificador) que está programada para controlar a sequência de descodificação. O sequenciador de estado está programado para controlar o VLD, de acordo com uma sequência esperada de dados de entrada, por exemplo conformando-se ao formato de dados da FIGURA 2. Os dados de cabeçalho fornecidos pelo processador de transporte, são ligados ao sequenciador de estado para iniciar as respectivas sequências das sequências controlo programadas no dispositivo. Uma vez sincronizado para um ponto particular da sequência de dados, por
-1574 451
RCA 86,409
exemplo, o início de um quadro ou o início de uma porção, etc., o sequenciador fornece as funções de controlo requeridas para descodificar os dados ocorrendo subsequentemente. Além disso, à medida que as respectivas palavras de código são descodificadas, o sequenciador de estado é programado para fazer sair um sinal indicativo da classe ou tipo esperados da palavra de código que ocorra a seguir. O sinal tipo'· é aplicado a um terminal de entrada de um circuito comparador 63. 0 código do ponto de ruptura de prioridade, PBP, obtido do processador de transporte, é aplicado a um segundo terminal de entrada do comparador. A saída do comparador condiciona o multiplexador 62 para passar dados HP para o VLD 64, enquanto o sinal tipo do sequenciador de estado for inferior ao sinal de PBP e para passar o sinal LP quando assim não seja.
Os dados video HP e LP recombinados, fornecidos pelo VLD 64, são aplicados a um multiplexador 67 e enviados para o descompressor 27, se não houver quaisquer indicações de erro. Se tiverem sido detectados erros, são enviados do multiplexador 67, dados video de substituição fornecidos por um gerador de símbolos de erro 65.
O gerador de símbolos de erro 65 é, por exemplo, um microprocessador que está programado para responder à informação de cabeçalho incluída nos blocos de transporte, ao estado do VLD e às indicações de erro. 0 gerador de símbolos de erro 65 pode incluir uma tabela de dados de substituição que simulem os dados video comprimidos. Estes dados correspondem a dados particulares que são reconhecidos pelo descompressor tipo MPEG. Ao gerador de símbolos de erro são também fornecidos dados vindos de uma memória 66, os quais podem ser substituídos pelos dados video extraídos. Em particular, a memória 66, que responde ao sequenciador de estado do VLD, é carregada com vectores de movimento correspondentes a, por exemplo, vectores de movimento dos macroblocos na porção anterior dos dados.
movimento dos objectos de imagem dar-se-á através dos limites de macrobloco. Além disso, os erros propagar-se-ão ou
-1674 451
RCA 86,409 , 7 — .*
-!6Yj ocorrerão ao longo da direcção horizontal. É, portanto, provável que os vectores de movimento de blocos verticalmente adjacentes, sejam semelhantes e a substituição dos vectores de movimento dos macroblocos verticalmente adjacentes resultem numa ocultação de erros aceitável. Similarmente, é de esperar que os coeficientes DCT DC dos blocos verticalmente adjacentes, sejam semelhantes. Como tal, podem também ser armazenados na memória 66, para a substituição dos coeficientes DC perdidos.
O armazenamento de dados na memória 66, é controlado pelo sequenciador de estado. O sequenciador é programado para condicionar o VLD a fazer sair dados de acordo com uma sequência predeterminada e pode, portanto, fornecer os sinais apropriados para ir buscar o tipo de dados desejado, quando os mesmos são feitos sair do VLD. Estes dados podem ser escritos dentro da memória em localizações de endereços predeterminadas, às quais o gerador de símbolos de erro pode ter acesso.
O gerador de símbolos de erro monitoriza os dados de cabeçalho de transporte e o sinal de erro, para determinar quando e que dados se perderam e, respondendo aos dados perdidos, substitui os dados numa base de macrobloco. As sequências de tipos predeterminados de dados, são pré-programadas para substituição, dependendo do tipo de quadro e do tipo de dado que se perdeu. Por exemplo, os macroblocos levam endereços particulares e ocorrem em sequência predeterminada. O gerador de símbolos de erro, determina, em resposta aos dados de cabeçalho, se existe alguma ruptura na sequência normal dos macroblocos e fornece macroblocos de substituição para os macroblocos em falta.
Antes de se discutirem os exemplos específicos dos dados de substituição fornecidos pelo gerador de símbolos de erro 65, é útil descrever-se um descompressor do tipo MPEG. Faz-se referência à FIGURA 7, que mostra a forma geral de um exemplo de descompressor do tipo MPEG.
Os dados video fornecidos pelo multiplexador 67 do proces-1774 451
RCA 86,409 sador sem selecção de prioridade,
são aplicados a uma memória separadora 300. O controlador de descompressão 302 tem acesso a estes dados e os mesmos são aplicados a um descodificador de comprimento variável, VLD, 303, que descodifica em comprimento variável os dados aplicados ao mesmo. Os dados de cabeçalho são extraídos para programar o controlador 302. As palavras descodificadas com comprimento variável correspondentes aos coeficientes DCT, são extraídas e aplicadas a um descodificador 308 e as palavras de código de comprimento variável, correspondentes a vectores de movimento, são aplicadas ao descodificador 306. 0 descodificador 308 contém aparelhos para efectuar uma descodificação de comprimento de curso inversa e uma codificação
DPCM inversa, como apropriado, sob o controlo do controlador 302. Os dados descodificados, vindos do descodificador 308, são aplicados a um circuito de DCT inverso 310, o qual inclui circuitos para quantificação inversa dos respectivos coeficientes DCT e para converter os coeficientes'numa matriz de dados dos elementos de imagem. Os dados dos elementos de imagem são então acoplados à entrada de um adicionador 312, cuja saída está ligada à memória de acesso aleatório RAM de exibição vídeo 318 e às memórias separadoras 314 e 316.
O descodificador 306 inclui circuitos para executar a codificação DPCM inversa dos vectores de movimento, como apropriado, sob o controlo do controlador 302. Os vectores de movimento descodificados são aplicados a um preditor com compensação de movimento 304. Respondendo aos vectores de movimento, o preditor acede aos correspondentes blocos dos elementos de imagem armazenados numa (anterior) ou em ambas (anterior e posterior) as memórias separadoras 314 e 316. O preditor fornece um bloco de dados (vindos de uma das memórias separadoras) ou um bloco de dados interpolados (derivados de respectivos blocos de cada uma das memórias separadoras) a uma segunda entrada do adicionador 312.
A descompressão é executada como se segue. Se um campo/quadro de dados video de entrada é codificado intraquadro, não há vectores de movimento e os coeficientes DCT descodifica74 451
RCA 86,409 —18—
inversamente transformados correspondem
valores dos elementos de imagem. Assim, para os dados codifica dos intraquadro, o preditor 304 aplica um valor zero ao adicionador 312 e os coeficientes DCT transformados inversamente passam inalterados pelo adicionador 312, para a memória de acesso aleatório (RAM) de exibição video, onde são armazenados para leitura de acordo com uma exploração de quadro normal. Os valores dos elementos de imagem descodificados são também armazenados numa das memórias separadoras 314 e 316, para utilização na formação dos valores de imagem preditos para descodificação de quadros com movimento compensado (B ou P).
Se um campo/quadro dos dados de entrada corresponder a um campo/quadro P de movimento compensado dianteiro, os coeficientes transformados inversos corrrespondem a resíduos ou diferenças entre o campo/quadro presente e o quadro I, que ocorreu em último lugar. O preditor 304, respondendo aos vectores de movimento descodificados, acede aos blocos correspondentes de dados do quadro I, armazenados nas memórias separadoras 314 e 316 e fornece esses blocos de dados ao adicionador, onde os respectivos blocos de resíduos fornecidos pelo circuito de DCT inverso 310 são adicionados ao correspondente bloco de dados dos elementos de imagem, fornecido pelo preditor 304. As somas geradas pelo adicionador 312 correspondem ao valor dos elementos de imagem para os respectivos blocos do campo/quadro P, valores dos elementos de imagem que são aplicados à RAM de exibição 318, para actualização das respectivas localizações de armazenamento. Além disso, os valores dos elementos de imagem fornecidos pelo adicionador 312, são armazenados numa das memórias separadoras 314 e 316 que não armazena o campo/quadro I de dados dos elementos de imagem, utilizado para gerar os dados dos elementos de imagem preditos.
Para os campos/quadros (B) codificados bidireccionalmente, a operação é semelhante, excepto o facto dos valores preditos serem acedidos a partir dos quadros de fixação armazenados (I ou
P) em ambas as memórias separadoras 314 e 316, dependendo dos respectivos vectores de movimento serem vectores para a frente
-1974 451
RCA 86,409
ou para trás ou ambos. Os valores dos elementos de imagem de campos/quadros B gerados, são aplicados para actualizar a RAM de exibição 318, mas não são armazenados em nenhuma das memórias separadoras, uma vez que não são utilizados os dados dos campos/quadros B para gerarem outros campos/quadros de dados de imagem.
Um ponto a ter em conta no formato do sinal tipo MPEG é que, para os quadros codificados P e B, podem ser omitidos os macroblocos. Este factor permite alguma flexibilidade na ocultação dos erros. Para macroblocos que são omitidos, o desCÕdificador copia efectivamente os mesmos da imagem anterior para a imagem presente ou, alternativamente, os macroblocos omitidos não são simplesmente actualizados para as áreas correspondentes da RAM de exibição video 318. A omissão de macroblocos pode ser conseguida por meio de codificação de vectores de movimento com o valor zero e coeficientes DCT com todos os valores zero. Por outro lado, nos quadros codificados I, não são omitidos nenhuns macroblocos. Ou seja, o descodificador espera dados para todos os macroblocos nos quadros I. Assim, os macroblocos não podem, simplesmente, ser substituídos por dados vindos do quadro anterior.
Um segundo ponto a ter em conta é que, quando os coeficientes DCT são codificados, é colocado um código EOB depois do último coeficiente não zero. 0 descodificador é programado, no entanto, para acomodar muitos coeficientes com valor zero ocorridos entre o último coeficiente não zero e o último coeficiente potencial num respectivo bloco.
Um terceiro ponto a ter em conta, é que para os quadros P e B, será provavelmente transmitida uma maior quantidade de dados, correspondentes aos dados mais elevados na hierarquia dos dados, no canal LP do que para os quadros I.
Serão agora considerados exemplos de dados de substituição fornecidos pelo gerador de símbolos de erro. 0 tipo de dados de substituição é dependente do tipo de quadro a ser correntemente
-20e que apenas
451
RCA 86,409 processado, se o erro ocorreu no canal HP ou no ponto da corrente de dados é que o erro ocorreu, que ocorreu um erro no canal LP de um quadro I, estão a ser transmitidos coeficientes de AC no canal LP (o PBP é maior ou igual a 5). Neste caso, os respectivos códigos EOB podem substituir os coeficientes AC que eram esperados no canal
LP, para cada bloco de um macrobloco e de cada macrobloco que foi extraído no canal LP. A imagem resultante dos dados substituídos terá falta de estrutura, mas terá o valor apropriado de brilho. Assim, os elementos de imagem gerados a partir dos dados video de substituição, embora um tanto errados, não produzirão interferências que sejam particularmente notadas. Alternativamente, se o PBP for inferior a 5, o coeficiente DCT DC é transmitido no canal LP. A substituição, neste caso, dos dados LP perdidos, por códigos EOB, proporcionará muito poucos dados ao descompressor, para lhe permitir produzir interferências que não sejam passíveis de objecção. Neste caso e no caso de um erro de HP, os dados de substituição incluirão informação suficiente para que o descompressor execute uma função de descodificação numa base de macrobloco. Ou seja, ao descompressor são fornecidos dados suficientes para se evitar que entre num estado inoperacional, embora a imagem reproduzida, para as áreas, para as quais os dados video tenham sido substituídos, poderem não ter qualquer relação com a imagem efectiva. Estes dados de substituição podem compreender o endereço de macroblo co, o tipo de macrobloco, os coeficientes DCT DC correspondentes a um valor cinzento médio para os respectivos blocos dos macroblocos e os códigos EOB para os blocos respectivos do macroblo co. Note-se que tais erros nos quadros I se propagarão através dos GOF, se não forem iniciados processos adicionais, os quais serão melhor explicados abaixo.
Os dados de substituição fornecidos para os quadros P e B podem ser de formato semelhante. Assuma-se, por exemplo, que apenas os dados correspondentes aos coeficientes DCT AC se perderam no canal LP. Como nos quadros I, estes dados perdidos podem ser substituídos por um EOB. Alternativamente, assuma-se que os vectores de movimento e os dados hierarquicamente menos
451
RCA 86,409 —21— importantes se perderam em qualquer um ou em ambos os canais LP e HP. Podem ser utilizadas, pelo menos, duas formas alternativas de dados de substituição. A primeira pode tomar a forma do fornecimento de macroblocos de substituição comprimidos com vectores de movimento com valor zero e coeficientes DCT com valor zero, para os macroblocos extraídos. Isto fará com que os dados dos elementos de imagem do quadro anterior substituam efectivamente os macroblocos perdidos. A parte da imagem reproduzida, correspondente aos macroblocos substituídos conterá dados de alta resolução, mas poderá sofrer de uma anomalia de movimento, dado que o resto da imagem pode estar em movimento relativamente à área para a qual os dados são substituídos. Uma segunda forma pode fornecer macroblocos de substituição com vectores de movimento seleccionados a partir de macroblocos verticalmente adjacentes, e uma indicação de que o macrobloco corrente não foi codificado, o que significa que todos os valores de resíduos devem ser considerados como sendo zero. Neste caso, a área da imagem em questão mover-se-á, provavelmente, em sincronismo com o resto da imagem, embora o pormenor da imagem presente dessa área possa estar ligeiramente errado. Isto são compromissos a serem considerados pelo projectista do sistema, quando seleccionar os sinais de substituição particulares, para serem utilizados para os diversos tipos de dados perdidos. Note-se que os vectores de movimento de macroblocos verticalmente adjacentes são ciclicamente armazenados e obtidos a partir da memória 66.
Considere-se também que os coeficientes DCT DC podem ser codificados diferencialmente (DCPM) de macrobloco para macrobloco. Neste caso, o último macrobloco de uma sequência de macroblocos de substituição não terá um valor DCT AC correcto para o primeiro macrobloco não substituído a referenciar. O gerador de símbolos de erro pode, por isso, ser programado para substituir um coeficiente DCT DC, nesses últimos macroblocos de substituição a partir de um macrobloco verticalmente adjacente (isto é, retirados da memória 66) ou de um macrobloco colocado temporalmente deslocado (retirado de uma memória expandida 66, organizada para armazenar os dados comprimidos seleccionados,
-22por exemplo, um quadro completo).
ΊΑ 451
RCA 86,409
Referira-se de novo a FIGURA 7. Foi indicado atrás que para os quadros I e certos tipos de dados perdidos, os dados de substituição foram fornecidos apenas para fazer com que o descompressor continue a funcionar, mesmo apesar dos dados de imagem descodificados a ser gerada tenderem para se tornarem inaceitáveis. Estes dados são impedidos de serem escritos na RAM de exibição 318, em virtude de um mapa de erro fornecido pelo gerador de símbolos de erro. Durante o processamento dos quadros I, o gerador de símbolos de erro desenvolve um mapa de erros de todos os dados de substituição que sejam considerados passíveis de produzir imagens potencialmente inaceitáveis. Este mapa de erros é constituído por um padrão de uns e zeros binários, correspondentes a elementos de imagem (ou blocos ou macroblocos) que são gerados a partir de dados de substituição particulares e outros que o não são. Este padrão de erros é carregado no arranjo de memória 313, em localizações de endereço correspondentes às localizações de endereço dos elementos de imagem associados na RAM de exibição video, VDR. Como os endereços de escrita são aplicados à RAM de exibição, estes valores de endereço são aplicados ao arranjo de memória 313 para endereçar o padrão de erro. Se uma localização de endereço particular contém uma indicação de erro, é produzido um sinal pelo arranjo de memória, para inibir a escrita de novos dados na correspondente localização de memória da RAM de exibição.
A FIGURA 8 apresenta uma concretização adicional, em que o aparelho sem selecção de prioridade e o descompressor partilham o descodificador de comprimento variável. Este arranjo, não só elimina a necessidade de dois VDL no sistema, como também evita o arranjo de memória 313 da FIGURA 7. Os elementos do circuito da FIGURA 8, que estão indicados pelos mesmos números que os elementos das FIGURAS 6 e 7, desempenham funções semelhantes. Nos circuitos da FIGURA 8, no entanto, as palavras de saída fornecidas pelo VDL têm formato descodificado de comprimento variável e a tabela dos dados de substituição incluída no gerador de símbolos de erro é alterada para incluir, por exemplo,
451
RCA 86,409 macroblocos omitidos para os quadros I. O algoritmo de descompressão para este arranjo, conforma-se substancialmente com o algoritmo da descompressão MPEG, mas com uma excepção vantajosa. A excepção é a provisão para aceitar os macroblocos omitidos nos quadros I. Permitir ao descodificador reconhecer os macroblocos omitidos para os quadros I, significa que os dados dos quadros I não serão actualizados na RAM de exibição ou nas memórias separadoras de descodificação (314, 316), para as áreas correspondentes aos macroblocos omitidos. Esta característica evita o arranjo de memória 313 da FIGURA 7 e a função de geração do mapa de erros do gerador de símbolos de erro. Assim, enquanto no primeiro arranjo, os dados de substituição de quadro I, foram configurados para apenas satisfazer a exigência de que sejam fornecidos dados para cada macrobloco, no arranjo da FIGURA 8, o gerador de símbolos de erro fornecerá dados de substituição, que serão indicativos de macroblocos omitidos e os dados perdidos serão efectivamente substituídos por dados colocados temporalmente deslocados.
Os circuitos da FIGURA 8 incluem um controlador de sistema 370 e um controlador de descompressor 360. 0 controlador de sistema 370, controla todo o sistema receptor e responde a estímulos de entrada do utilizador. Este controlador condiciona o VLD, o sequenciador de estado, o gerador de símbolos de erro e o controlador do descompressor, para iniciar, no arranque do sistema, para ultrapassar determinadas sequências de descodificação, para proporcionar efeitos especiais e para controlar as mudanças de canal, etc. O controlador de descompressão 360, controla os circuitos de descompressão e a RAM de exibição. Os dados video do VLD são aplicados ao controlador 360, que está programado para reconhecer os diversos dados de cabeçalho MPEG e que responde aos mesmos, para sequenciar os dados apropriados através das funções de descodificação apropriadas . Em resposta a endereços de macroblocos, o controlador condiciona a RAM de exibição de modo a escrever os correspondentes valores de elementos de imagem descodificados nas áreas de quadro apropriadas. As células de memória da RAM de exibição correspondentes às áreas de quadro representadas pelos macroblo74 451
RCA 86,409 ’' τ·.
-24- cos omitidos, são periodicamente renovadas pelo controlador 360, que efectua uma substituição temporal nestas áreas.
Uma vez que o sistema da FIGURA 8 está disposto para processar (ou, mais correctamente, não processar) macroblocos omitidos em quadros I, P e B, podem ser proporcionados determinados efeitos especiais por intermédio do gerador de símbolos de erro. Uma função de paragem do quadro pode ser induzida pelo utilizador, modificando simplesmente o controlador do sistema, para ultrapassar o gerador de símbolos de erro e fazer com que o mesmo substitua os dados video correspondentes aos macroblocos omitidos por todos os macroblocos em todos os quadros, ou ultrapassando o controlador de descompressão e condicionando o mesmo para tratar todos os macroblocos como se os mesmos fossem omitidos. Pode ser proporcionado um efeito estroboscópico ultrapassando-se, por exemplo, todos os quadros P e B com macroblocos omitidos. Pode ser realizado um efeito estroboscópico parcial programando o controlador 370, para condicionar o gerador de símbolos de erro, a fim de fornecer os dados correspondentes aos macroblocos omitidos em conjuntos alternados de porções.
gerador de símbolos de erro pode ser disposto de modo a fornecer dados video de substituição específicos, não relacionados com a ocultação de erros. A tabela de dados de substituição pode incluir dados de substituição para o fornecimento de determinadas imagens em determinadas condições. Enquanto que o receptor está a sincronizar um canal de emissão particular, e nenhum dado de cabeçalho reconhecível está disponível a partir do processador de transporte, o gerador de símbolos de erro pode ser condicionado de modo a produzir dados de substituição correspondentes a, por exemplo, uma écran azul ou, possivelmente, a um desenho de tabuleiro de xadrez, etc. Alternativamente, guando é provocada uma mudança de canal, o gerador de símbolos pode ser condicionado para parar o último quadro do canal que estava a ser anteriormente visto, até o sistema se ressincronizar para o novo canal.
invento foi descrito no ambiente de um sistema de duas
451
RCA 86,409
-25camadas ou de dois canais. No entanto, os peritos na arte da compressão de sinais video, reconhecerão facilmente que o mesmo pode ser posto em prática em sistemas de canal único e em diferentes formatos de sinal comprimidos, e as reivindicações seguintes devem ser consideradas nessa óptica.

Claims (16)

  1. REIVINDICAÇÕES
    1 - Aparelho para ocultação de erros num sistema digital de processamento video, que se destina a converter dados comprimidos, representando imagens, em dados não comprimidos, acorrendo os ditos dados comprimidos como blocos de dados e estando sujeitos a erros, caracterizado por compreender:
    meios (20-25) para receberem os ditos dados comprimidos e detectarem erros nos mesmos e que respondem aos ditos erros, substituindo em (26) os blocos de dados comprimidos, nos quais tenham ocorrido erros, por sequências de dados comprimidos predeterminadas;
    meios de descompressão (27), tendo uma porta de entrada ligada para receber os dados comprimidos, vindos dos ditos meios de recepção, e tendo uma porta de saída, para fornecer dados descomprimidos, respondendo os ditos meios de descompressão às ditas sequências de dados comprimidos predeterminadas, para substituir a informação de sinal video dos dados de imagem anteriormente descomprimidos por dados de imagem, correspondentes aos dos ditos blocos de dados comprimidos, nos quais tenham ocorrido erros.
  2. 2 - Aparelho de acordo com a reivindicação 1, caracterizado por os ditos dados comprimidos serem organizados em macroblocos, terminando um terminal do código de bloco cada macrobloco e por os ditos dados comprimidos ocorrerem em primeiro e segundo canais, ocorrendo os macroblocos parciais de dados comprimidos no dito primeiro canal e o remanescente dos macroblocos correspondentes no dito segundo canal e por os ditos meios de recepção substituírem o dito remanescente dos macroblocos correspondentes, pelo terminal dos códigos de bloco, para aqueles do dito remanescente dos macroblocos correspondentes em que são detectados erros.
  3. 3 - Aparelho de acordo com a reivindicação 2, caracterizado por os ditos blocos de dados comprimidos incluírem uma pluralidade dos ditos macroblocos parciais e os ditos macroblocos parciais poderem conter vectores de movimento
    74 451 hl
    RCA 86,409 —9— ,<>
    cíí^X ’ A ' associados e por os ditos meios de recepção incluírem ainda meios de substituição, nos blocos em que se tenham verificado erros, dos respectivos vectores de movimento, na dita pluralidade de macroblocos parciais, por vectores de movimento a partir de macroblocos correspondentes a área de imagem, que são respectivamente os macroblocos adjacentes às da dita pluralidade de macroblocos.
  4. 4 - Aparelho de acordo com a reivindicação 1, caracterizado por os ditos dados comprimidos estarem organizados em macroblocos e os ditos blocos de dados comprimidos incluírem pluralidades dos ditos macroblocos e os ditos macroblocos poderem incluir vectores de movimento associados e por os ditos meios de recepção incluírem ainda meios de substituição, nos blocos em que se verificaram erros, dos respectivos vectores de movimento da dita pluralidade de macroblocos por vectores de movimento de macroblocos, correspondentes a áreas de imagem que são adjacentes aos respectivos macroblocos correspondentes da dita pluralidade de macroblocos.
  5. 5 - Aparelho de acordo com a reivindicação 1, caracterizado por os ditos meios de recepção substituírem os dados comprimidos em blocos, nos quais ocorreram erros, por uma combinação de dados comprimidos a partir de blocos de dados comprimidos que representam áreas e sequências de imagem verticalmente adjacentes de dados comprimidos predeterminados.
  6. 6 - Aparelho de acordo com a reivindicação 1, caracterizado por compreender ainda:
    meios de memória ligados para receberem o sinal video descomprimido vindo dos ditos meios de descompressão;
    meios associados aos ditos meios de recepção, para gerarem um mapa de erro representando áreas de imagem correspondentes a um dos ditos blocos que foram substituídos; e meios que respondem ao dito mapa de erro, para inibirem os ditos meios de memória de escreverem os dados video descomprimidos correspondentes aos dos ditos blocos que foram substituídos.
    -374 451
    RCA 86,409
  7. 7 - Aparelho de acordo com a reivindicação 1, caracterizado por os ditos meios de recepção incluírem ainda meios que respondem a estímulos do utilizador, para substituírem quadros inteiros de dados video comprimidos por dados video comprimidos de substituição, a fim de proporcionarem efeitos especiais.
  8. 8 - Aparelho para ocultação de erros num sistema digital de processamento video destinado a descomprimir dados video comprimidos transmitidos, aparecendo os ditos dados video comprimidos em blocos e estando sujeitos a incorrer em erros, caracterizado por compreender um aparelho (25) para detectar a ocorrência de erros e substituir em (26) blocos de dados vidéó comprimidos, por sequências predeterminadas de dados comprimidos que emulam, em parte, dados video comprimidos; meios de descompressão (27) para descomprimirem os ditos dados video comprimidos, incluindo as ditas sequências predeterminadas; e meios (313, 318), associados ao dito aparelho para detecção de erros e aos ditos meios de descompressão, para substituírem dados video descomprimidos, correspondentes aos blocos de dados comprimidos em que se verificaram erros, por dados video descomprimidos, deslocados temporalmente e colocados espacialmente.
  9. 9 - Aparelho para ocultar erros em imagens reproduzidas a partir dos ditos dados video comprimidos num aparelho de descompressão de dados video proporcionados em canais de alta e baixa prioridade, sendo os dados video comprimidos no dito canal de alta prioridade organizados em blocos de transporte, incluindo os ditos blocos de transporte uma pluralidade de macroblocos parciais de informação, sendo os dados video no dito canal de baixa prioridade organizados em blocos de transporte, incluindo os ditos blocos de transporte uma pluralidade de macroblocos parciais de informação, em que a informação nos ditos macroblocos corresponde a dados video comprimidos hierarquicamente em camadas, ficando os dados de maior importância contidos em macroblocos parciais no canal de alta prioridade e ficando os dados de menor importância contidos nos correspondentes macroblocos parciais, no dito canal de baixa prioridade e em que os ditos dados video comprimidos estão
    -4sujeitos a incorrer em erros;
    em imagens reproduzidas a
    74 451
    RCA 86,409 comprimidos caracterizado por compreender:
    meios (25) que respondem a dados video comprimidos, nos ditos canais de alta e baixa prioridade, para detectarem a ocorrência de erros e extraírem os blocos de transporte de informação que contêm erros;
    meios (26) para combinarem os correspondentes macroblocos parciais da informação de alta e baixa prioridade e que respondem aos blocos de transporte extraídos da informação de baixa prioridade para anexarem códigos de fim de blocos ãós correspondentes macroblocos parciais de informação de alta prioridade; e meios (27) para descomprimirem os macroblocos combinados da informação, para produzirem um sinal video descomprimido.
  10. 10 - Aparelho de acordo com a reivindicação 9, caracterizado por os ditos meios de combinação incluírem meios para extraírem macroblocos parciais, no canal de baixa prioridade, correspondentes aos macroblocos parciais extraídos do canal de alta prioridade.
  11. 11 - Aparelho de acordo com a reivindicação 10, caracterizado por os ditos meios de combinação incluírem, ainda:
    meios de armazenamento para armazenarem sequências predeterminadas de dados comprimidos em formato video comprimido; e meios de substituição dos macroblocos parciais extraídos de alta prioridade e dos correspondentes macroblocos parciais extraídos de baixa prioridade, por macroblocos de sequências predeterminadas de dados comprimidos.
  12. 12 - Aparelho de acordo com a reivindicação 9, caracterizado por os ditos meios de combinação incluírem:
    meios de armazenamento para armazenar sequências predeterminadas de dados comprimidos em formato video comprimido; e meios de substituição dos macroblocos parciais extraídos de
    74 451
    RCA 86,409 —5— alta prioridade e dos macroblocos parciais extraídos de baixa prioridade, por macroblocos de sequências predeterminadas de dados comprimidos.
  13. 13 - Aparelho de acordo com a reivindicação 12, caracterizado por compreender ainda:
    meios de memória acoplados aos ditos meios de descompressão, para armazenamento do sinal video descomprimido em formato de exploração de quadro, sendo a dita memória regularmente actualizada com dados descomprimidos, vindos dos meios de descompressão;
    meios, associados aos ditos meios para detecção, para gerarem um mapa de erros correspondente a áreas de imagem, representadas por dados video comprimidos, nos blocos dos blocos de transporte que tiverem sido extraídos; e meios, que respondem ao dito mapa de erros, para inibir os ditos meios de memória de actualizarem os dados, existentes nos ditos meios de memória, correspondentes a áreas de imagem representadas por dados video comprimidos nos ditos blocos dos blocos de transporte.
  14. 14 - Aparelho de acordo com a reivindicação 9, caracterizado por os ditos blocos de transporte incluírem índices para identificação, pelo menos, porções da informação contida nos ditos blocos de transporte e o dito aparelho incluir ainda:
    meios para separarem os ditos índices dos respectivos blocos de transporte de informação;
    meios para armazenarem dados video comprimidos, vindos do dito canal de alta prioridade;
    meios para armazenarem sequências predeterminadas de dados comprimidos em formato video comprimido; e por os ditos meios de combinação incluírem meios que respondem aos ditos índices, para substituírem macroblocos parciais de alta prioridade extraídos e os correspondentes macroblocos parciais de baixa prioridade, por macroblocos das ditas sequências predeterminadas dos dados comprimidos, aumentados com dados video comprimidos vindos dos ditos meios de * 74 451
    RCA 86,409
    -6armazenamento de dados video comprimidos.
  15. 15 - Aparelho de acordo com a reivindicação 14, caracterizado por os ditos dados video comprimidos incluírem palavras de código correspondentes a vectores de movimento e coeficientes DC e AC de transformação de cosenos discretos e os ditos meios de armazenamento de dados video comprimidos estarem organizados para armazenarem tais vectores de movimento e por os ditos meios de combinação responderem aos ditos índices para aumentarem as ditas sequências predeterminadas dos dados comprimidos com vectores de movimento, vindos dos ditos meios de armazenamento.
  16. 16 - Aparelho para um sistema de processamento de televisão, para conversão de dados video comprimidos, representando imagens, em dados video não comprimidos, estando os ditos dados video comprimidos, sujeitos a erros e incluindo, pelo menos parcialmente, coeficientes de transformação no domínio da frequência, representando as ditas imagens, caracterizado por compreender: circuitos (25) que respondem aos ditos dados video comprimidos para gerarem sinais de erro, quando ocorram erros nos ditos dados video comprimidos; circuitos (26) que respondem aos ditos sinais de erro, por meio da substituição de segmentos de dados video comprimidos em que os erros se tenham verificado, por dados substitutos com a forma de dados video comprimidos; e circuitos de descompressão (27, 313, 318) para descomprimirem dados fornecidos pelos ditos circuitos para substituição de segmentos de dados video comprimidos e que respondem aos ditos sinais de erro, para substituição de dados video descomprimidos, que são representados por segmentos de dados video comprimidos, nos quais ocorreram erros, por dados video descomprimidos relacionados espacial e temporalmente.
PT101039A 1991-11-07 1992-11-06 Aparelho para ocultacao de erros num sistema digital de processamento video PT101039B (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US78924591A 1991-11-07 1991-11-07

Publications (2)

Publication Number Publication Date
PT101039A PT101039A (pt) 1994-09-30
PT101039B true PT101039B (pt) 1999-11-30

Family

ID=25147035

Family Applications (1)

Application Number Title Priority Date Filing Date
PT101039A PT101039B (pt) 1991-11-07 1992-11-06 Aparelho para ocultacao de erros num sistema digital de processamento video

Country Status (18)

Country Link
EP (1) EP0611512B1 (pt)
JP (1) JP3649729B2 (pt)
KR (1) KR100274524B1 (pt)
CN (1) CN1039764C (pt)
CA (1) CA2123089C (pt)
DE (1) DE69225718T2 (pt)
ES (1) ES2116347T3 (pt)
FI (1) FI114962B (pt)
MX (1) MX9206406A (pt)
MY (1) MY111959A (pt)
PL (1) PL169283B1 (pt)
PT (1) PT101039B (pt)
RU (1) RU2119269C1 (pt)
SG (1) SG70962A1 (pt)
TR (1) TR28342A (pt)
TW (1) TW241350B (pt)
UA (1) UA41874C2 (pt)
WO (1) WO1993009636A1 (pt)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231486A (en) * 1992-07-27 1993-07-27 General Electric Company Data separation processing in a dual channel digital high definition television system
JP3428697B2 (ja) * 1993-09-07 2003-07-22 キヤノン株式会社 画像復号化方法
CA2204828C (en) * 1996-05-10 2004-11-23 Ray Nuber Error detection and recovery for high rate isochronous data in mpeg-2 data streams
EP1225770B1 (en) * 1996-05-10 2005-03-30 General Instrument Corporation Error detection and recovery for high rate isochronous data in mpeg-2 data streams
JP2933133B2 (ja) * 1997-01-28 1999-08-09 日本電気株式会社 ディジタル映像信号多重方式および分離方式
US6128339A (en) * 1997-02-13 2000-10-03 Samsung Electronics Co., Ltd. Apparatus and method for masking video data errors
US6263019B1 (en) * 1998-10-09 2001-07-17 Matsushita Electric Industrial Co., Ltd. Variable rate MPEG-2 video syntax processor
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
CN101102507B (zh) * 2007-08-01 2010-09-15 北京创毅视讯科技有限公司 移动多媒体广播数据的传输方法、装置和系统
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
CN102057424B (zh) * 2008-06-13 2015-06-17 诺基亚公司 用于经编码的音频数据的错误隐藏的方法和装置
KR101452713B1 (ko) 2009-10-30 2014-10-21 삼성전자주식회사 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치
RU2467499C2 (ru) * 2010-09-06 2012-11-20 Государственное образовательное учреждение высшего профессионального образования "Поволжский государственный университет телекоммуникаций и информатики" (ГОУВПО ПГУТИ) Способ сжатия цифрового потока видеосигнала в телевизионном канале связи
CN105245893A (zh) * 2011-12-13 2016-01-13 Jvc建伍株式会社 动图像解码装置、动图像解码方法、接收装置及接收方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950009856B1 (ko) * 1985-10-02 1995-08-29 도이체 톰손-브란트 게엠베하 블록마다 전송되는 신호의 보정방법
GB2219463B (en) * 1988-05-24 1992-08-12 Sony Corp Television apparatus
GB9102220D0 (en) * 1991-02-01 1991-03-20 British Telecomm Method and apparatus for decoding video signals

Also Published As

Publication number Publication date
RU2119269C1 (ru) 1998-09-20
MY111959A (en) 2001-03-31
PL169283B1 (pl) 1996-06-28
PT101039A (pt) 1994-09-30
MX9206406A (es) 1993-05-01
FI942096A0 (fi) 1994-05-06
EP0611512B1 (en) 1998-05-27
KR100274524B1 (ko) 2000-12-15
CN1039764C (zh) 1998-09-09
TW241350B (pt) 1995-02-21
FI114962B (fi) 2005-01-31
TR28342A (tr) 1996-05-02
UA41874C2 (uk) 2001-10-15
CA2123089C (en) 2003-08-19
ES2116347T3 (es) 1998-07-16
SG70962A1 (en) 2000-03-21
DE69225718D1 (de) 1998-07-02
EP0611512A1 (en) 1994-08-24
CA2123089A1 (en) 1993-05-13
WO1993009636A1 (en) 1993-05-13
FI942096A (fi) 1994-05-06
JP3649729B2 (ja) 2005-05-18
CN1072553A (zh) 1993-05-26
DE69225718T2 (de) 1998-09-17
JPH07503343A (ja) 1995-04-06

Similar Documents

Publication Publication Date Title
PT101039B (pt) Aparelho para ocultacao de erros num sistema digital de processamento video
US5455629A (en) Apparatus for concealing errors in a digital video processing system
JP3481956B2 (ja) 符号化ビデオ信号データを転送ブロックに配列する装置
US5122875A (en) An HDTV compression system
US5442400A (en) Error concealment apparatus for MPEG-like video data
KR100234839B1 (ko) 우선순위 비디오 데이타의 재결합 장치
JP3462208B2 (ja) 独立に圧縮された偶数および奇数フィールド・データ用のビデオ信号圧縮解除装置
JP4067579B2 (ja) ビデオ信号符号化システム
US5289276A (en) Method and apparatus for conveying compressed video data over a noisy communication channel
US5231486A (en) Data separation processing in a dual channel digital high definition television system
KR0134299B1 (ko) 가변장디코딩장치의 동기 복원방법 및 장치
JP3285220B2 (ja) デジタル形式で画像信号を伝送するテレビジョンシステム
KR100295185B1 (ko) 비트확장 가변부호화 장치
KR100209913B1 (ko) 고속 mpeg 복호화장치 및 그의 런길이 에러 처리방법
JPH0798944A (ja) 映像信号再生装置

Legal Events

Date Code Title Description
BB1A Laying open of patent application

Effective date: 19940505

FG3A Patent granted, date of granting

Effective date: 19990830

MM4A Annulment/lapse due to non-payment of fees, searched and examined patent

Free format text: LAPSE DUE TO NON-PAYMENT OF FEES

Effective date: 20070228

NF4A Restitutio in integrum

Free format text: RESTITUTIO IN INTEGRUM

Effective date: 20071214

MM4A Annulment/lapse due to non-payment of fees, searched and examined patent

Free format text: LAPSE DUE TO NON-PAYMENT OF FEES

Effective date: 20120229