BR9715336B1 - métodos de codificação e decodificadores. - Google Patents

métodos de codificação e decodificadores. Download PDF

Info

Publication number
BR9715336B1
BR9715336B1 BRPI9715336-2A BR9715336A BR9715336B1 BR 9715336 B1 BR9715336 B1 BR 9715336B1 BR 9715336 A BR9715336 A BR 9715336A BR 9715336 B1 BR9715336 B1 BR 9715336B1
Authority
BR
Brazil
Prior art keywords
code
bit
synchronization
sync
string
Prior art date
Application number
BRPI9715336-2A
Other languages
English (en)
Inventor
Yoshihiro Kikuchi
Toshiaki Watanabe
Kenshi Dachiku
Takeshi Chujoh
Takeshi Nagai
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
Priority claimed from JP24388396A external-priority patent/JP3597647B2/ja
Application filed filed Critical
Publication of BR9715336B1 publication Critical patent/BR9715336B1/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
    • H04N7/56Synchronising systems therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • H04J3/0605Special codes used as synchronising signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/07Synchronising arrangements using pulse stuffing for systems with different or fluctuating information rates or bit rates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0075Transmission of coding parameters to receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • 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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream

Description

"MÉTODOS DE CODIFICAÇÃO E DECODIFICADORES".
"Dividido do PI9708223-6, depositado em 18/03/1997"
Campo Técnico
A presente invenção refere-se genericamente a um sistema paratransmitir e/ou armazenar informações em meios de alta taxa de erros, tal comouma linha de radiotransmissão. Mais especificamente, a invenção refere-se aum sistema de codificação e/ou decodificação apropriado para efetuar acodificação com correção/detecção de erros de uma cadeia (,string) de códigocomprimida obtida pela codificação de compressão de alta eficiência paratransmitir e/ou armazenar a cadeia de código comprimida.
Técnica Anterior
Por exemplo, em um sistema para realizar a codificação comcompressão altamente eficiente de uma imagem e/ou informação de voz demodo a ter um pequeno teor de informações para transmitir a imagem e/ouinformação de voz codificada por compressão da fonte via uma linha de radiotransmissão, tal como um telefone radio visual, um terminal de informaçõesportátil e um sistema de televisão digital, é importante como transmitir a cadeiade código obtida com uma alta qualidade uma vez que a linha de transmissãotem uma alta taxa de erros.
Num caso onde uma cadeia de código é transmitida e/ouarmazenada via um meio deste tipo com uma alta taxa de erros, um códigocorretor de erros, tal como um código Bose-Chaudhuri-Hoacquenguem (BCH),um código padrão recomendado (RS) e um código convolucional, éfreqüentemente usado como meio para reduzir a taxa de erros. Além disso, umcódigo corretor de erro, tal como um teste por soma e um teste de redundânciacíclica (CRC), é usado como recurso para habilitar a correção de erros no ladode recepção. A supra citada correção de erro e/ou detecção errônea adicionabits excessivos (redundância) às informações transmitidas e/ou armazenadas deacordo com uma regra predeterminada para examinar se a cadeia de códigotransmitida e/ou armazenada obedece à regra durante a decodificação, pararealizar a correção/detecção de erros na base dos resultados.
Todavia, em um processo deste tipo para codificar uma cadeiade código obtida com codificação por compressão da fonte de alta eficiênciaem códigos de correção/detecção de erros para transmitir e/ou armazenar oscódigos, existe uma desvantagem pelo fato de ser difícil de ser combinada comuma técnica de recuperação síncrona para recuperar uma falha causada por umerro de palavra código na linha/meio de transmissão. Como uma técnica derecuperação síncrona, um processo para inserir um código uniformementedecodificável designado de um código de sincronização para retomar adecodificação imediatamente após o código de sincronização ser detectadoquando ocorre uma falha é freqüentemente usado.
Para realizar uma palavra código uniformemente decodificáveldo código de sincronização, a palavra código tem de ser combinada com outrapalavra código de modo não formar a mesma configuração de bits que o códigode sincronização. Todavia, em uma codificação de correção/detecção de erros,é genericamente difícil formar uma palavra código de modo a prevenir aocorrência de uma determinada configuração de bits. Quando ocorre umaconfiguração de bits idêntica ao código de sincronização, uma pseudosincronização pode ser causada pela detecção errônea do código de sincronização.
Para evitar este problema, é utilizado um processo para prevenira pseudo sincronização determinando se a mesma configuração de bit docódigo de sincronização existe na cadeia de código após efetuar a codificaçãode correção de erro/detecção, inserindo um bit fictício na configuração de bitde acordo com uma determinada regra quando existe a mesma configuração debit, e deletando o bit fictício na mesma regra em um sistema de decodificação.Todavia, em um caso onde a cadeia de código é transmitida e/ou armazenadavia um meio no qual os erros são fáceis de corrigir, erros podem ocorrer no bitinserido, de forma que existe um problema pelo fato de uma nova falha ouuma nova pseudo sincronização poder ocorrer.
Além disso, em um caso onde a codificação decorreção/detecção de erro de uma cadeia de código é realizada para inserir umcódigo de sincronização, existe também um problema pelo fato do rendimentode codificação baixar uma vez que é requerido adicionar muitos bits inseridosna cadeia de código de maneira a compensar um excesso de bits de informação,para os quais a codificação de detecção e/ou correção de erros deve serefetuada, na parte final de um intervalo de sincronização entre os códigos desincronização adjacentes.
Por outro lado, de maneira a aumentar a capacidade decorreção/detecção de erros, a redundância das informações transmitidas e/ouarmazenada pode ser aumentada. Todavia, se a redundância é aumentada, onúmero de bits requerido para transmitir a mesma informação é aumentado. Porconseguinte, se a capacidade de correção/detecção de erros é aumentada, érequerido fornecer uma linha de transmissão de uma velocidade de transmissãomais alta, ou o número de bits de informação a ser armazenado é aumentado.Além disso, se a velocidade de transmissão e a capacidade armazenada são asmesmas, a quantidade de informações, que pode ser transmitida e/ouarmazenada é decrescida quando a redundância é aumentada. Num caso ondeuma imagem e/ou informação de voz é codificada para compressão de fontealtamente eficiente para ser transmitida e/ou armazenada, de forma a aumentara redundância para aperfeiçoar a resistência a erros, a codificação porcompressão da fonte em uma quantidade de informações menor tem de serrealizada se a velocidade de transmissão e/ou armazenamento é a mesma, demodo que a qualidade de imagem e qualidade de som decrescem.
Por conseguinte, como um processo para proporcionar umamenor redundância e uma alta resistência a erros, existe um processo designadode codificação hierárquica. Este é um processo para aumentar a resistência aerros utilizando a mesma redundância em comparação com quando o mesmocódigo de correção/detecção de erros é usado. Classificar a informaçãocodificada por compressão de alta-eficiência de acordo com a magnitude deerros influenciando a qualidade de imagem e a qualidade de som, utilizandoum código de correção/detecção de erros de uma capacidade decorreção/detecção de erros mais alta embora tendo uma alta redundância, parainformações sob uma grande influência do erro, e utilizando um código decorreção/detecção de erro de uma menor redundância embora não tendo umacapacidade de correção/detecção de erros tão elevada, para informações quenão são tão grandemente influenciadas pelo erro.
Por exemplo, em um sistema de codificação, que é formadocombinando a predição de movimento-compensada com a transformaçãoortogonal e que é freqüentemente usado para a codificação por compressão dealto-rendimento de uma imagem dinâmica, isto é, em um sistema para prediçãode compensação de movimento de um sinal de imagem dinâmica de entradapara transformação ortogonal de seu resíduo de predição por uma DCT(transformação cossenoidal discreta) ou similar, os códigos decorreção/detecção de erro de uma alta capacidade de detecção/correção de errosão usados para informação de vetor de movimento que grandemente deterioraa qualidade de imagem se um erro ocorre, e para coeficientes mais baixos doscoeficientes de transformação ortogonal do sinal residual de predição, e oscódigos de detecção/correção de erro de uma baixa capacidade dedetecção/correção de erro são usados para coeficientes mais altos doscoeficientes de transformação ortogonal do sinal residual de predição, queestão sob uma pequena influência do erro.
De maneira a obter uma codificação hierárquica deste tipo, éexigido comutar os códigos de correção/detecção de erro de diferentescapacidades corretoras/detectoras de erro no centro da cadeia de códigos desaída. Como um processo para comutar os códigos de correção/detecção deerro de diferentes capacidades de correção/detecção de erro, existe umprocesso para adicionar uma informação de cabeçalho representativa do tipodos códigos de correção/detecção de erro a uma cadeia de código. A fig. 11mostra um exemplo de uma cadeia de código, à qual a informação decabeçalho é adicionada para comutar os códigos de correção/detecção de erro.No presente exemplo, dois tipos de códigos de correção/detecção de erro FECle FEC2 são comutados. Os cabeçalhos 1101 a 1104 tem uma informação decabeçalho representativa do tipo dos códigos de correção/detecção de erro e donúmero das palavras de código. Em um sistema de codificação, as palavrascódigo, que são codificadas para correção/detecção de erros, são dispostas apósa informação de cabeçalho. Em um sistema decodificador, as informações decabeçalho são decodificadas, e os códigos de correção/detecção de erro sãodecodificados de acordo com a decodificação da informação de cabeçalho.
Todavia, no processo de comutar os códigos decorreção/detecção de erro adicionando as informação de cabeçalho em questão,existe um problema pelo fato do número de bits da cadeia de código a sertransmitida e/ou armazenada adicionando a informação de cabeçalho éaumentado.
Em um caso onde as informações de imagem e/ou de voz écodificada por compressão de fonte de alta eficiência para ser transmitida e/ouarmazenada, se o número de bits é ocupado pela informação de cabeçalho, onúmero de bits usado para a codificação por compressão de fonte de altaeficiência da informação de imagem e/ou voz é decrescido, de forma que aqualidade de imagem e qualidade de som é deteriorada.
Como acima mencionado, se a codificação decorreção/detecção de erro da cadeia de código, na qual a codificação porcompressão de alta eficiência de sinais de imagem dinâmica e assim por dianteé efetuada, é realizada, uma configuração de bit opcional é produzida. Porconseguinte, em um caso onde a codificação de correção/detecção de erro écombinada com a técnica de recuperação síncrona utilizando um código desincronização uniformemente decodificável, existe um problema pelo fato deuma pseudo sincronização ser causada pela detecção errônea do código desincronização. Também em um caso onde o bit simulado é inserido paraprevenir a pseudo sincronização, existe um problema pelo fato de uma novafalha ou uma nova pseudo sincronização ser causada pelo erro do bit inserido.
Além disso, em um caso onde a codificação decorreção/detecção de erro da cadeia de código é efetuada e o código desincronização é inserido, é convencionalmente requerido utilizar muitos bitsinseridos para compensar um excesso de bits de informação, para os quais acodificação de detecção de erro e/ou a codificação de detecção deve serrealizada, na parte final de um intervalo de sincronização entre os códigos desincronização adjacentes, assim existe um problema pelo fato da eficiência decodificação ser decrescida.
Além disso, em um sistema de codificação/decodificação paracomutar códigos de correção/detecção de erro de diferentes capacidades decorreção/detecção de erro adicionando uma informação de cabeçalho, onúmero de bits a ser transmitido e/ou armazenado adicionando a informação decabeçalho é aumentado.
Por conseguinte, em um caso onde uma informação deimagem e/ou voz é codificada por compressão de alta-eficiência para sertransmitida e/ou armazenada, existe um problema pelo fato do teor deinformações alocado à informação de imagem e/ou voz ser decrescida parabaixar a qualidade de imagem e a qualidade de som.
Descrição da Invenção
Por conseguinte um objetivo principal da presente invenção éeliminar os problemas supracitados e proporcionar sistemas de codificação edecodificação, que possam prevenir uma pseudo sincronização e uma falhadevido à detecção errônea de um código de sincronização.
Outro objetivo da presente invenção é proporcionar sistemas decodificação/decodificação, que previnem uma pseudo sincronização e umafalha devido à detecção de erro quando uma codificação de correção/detecçãode erro é combinada com uma técnica de recuperação de sincronizaçãoutilizando um código de sincronização.
Um objetivo adicional da presente invenção é proporcionarsistemas de codificação e decodificação, que podem decrescer o número de bitsinseridos usado na parte final em um intervalo de sincronização para aumentaro rendimento da codificação, quando uma codificação de correção/detecção deerro é combinada com uma técnica de recuperação de sincronização utilizandoum código de sincronização.
É ainda objetivo adicional da presente invenção proporcionarsistemas de codificação e decodificação que podem decrescer o número de umacadeia de código, à qual uma informação de cabeçalho representativa do tipode codificação de correção/detecção de erro tem de ser adicionada e que étransmitido e/ou armazenado, para aperfeiçoar a qualidade de informação.
(1) Um primeiro sistema de codificação, de acordo com apresente invenção, compreende: dispositivos codificadores para codificar umacadeia de código de entrada com um código de correção/detecção de errocompreendendo um bit de informação e um bit de inspeção; e dispositivos demontagem de cadeia de código para inserir um código de sincronização emqualquer uma de uma pluralidade de posições de inserção de código desincronização predeterminadas em uma cadeia de código de saída, para disporo bit de informação em uma posição opcional na cadeia de código de saída, epara dispor o bit de inspeção em uma posição diferente das posições deinserção de código de sincronização na cadeia (string) de código de saída paramontar a cadeia de código de saída.
Um primeiro sistema de decodificação, de acordo com apresente invenção, compreende: dispositivos detectores de código desincronização para detectar um código de sincronização em uma pluralidade deposições de inserção de código de sincronização predeterminadas na base deuma cadeia de código, que é codificada com um código de correção/detecçãode erro compreendendo um bit de informação e um bit de inspeção;dispositivos resolvedores de cadeia de código para resolver a cadeia de códigopara extrair o bit de informação do código de correção/detecção de erro e o bitde teste do código de correção/detecção de erro disposto em uma posiçãodiferente das posições de inserção de código de sincronização; e dispositivosdecodificadores para receber o bit de informação e o bit de inspeção extraídopelos dispositivos de resolução da cadeia de código para decodificar o códigode correção/detecção de erro.
Assim, no primeiro sistema de codificação/decodificação, ocódigo de sincronização existe somente na posição de inserção de código desincronização predeterminada na cadeia de código de saída, e o bit de inspeçãodo código de correção/detecção de erro existe em uma posição diferente daposição de inserção do código de sincronização. Por conseguinte, mesmo se amesma configuração de bit que a do código de sincronização estiver contida nobit de inspeção, inexiste probabilidade de que seja erroneamente detectado quea mesma configuração de bit do código de sincronização seja um código desincronização. Consequentemente, uma vez que não é requerido usar umcódigo de correção/detecção de erro especial para prevenir uma configuraçãode bit específica e inserir um bit para prevenir um código de sincronizaçãoapós a codificação de correção/detecção de erro, o grau de liberdade para ocódigo de correção/detecção de erro usado pode ser aumentado. Além disso,uma vez que inexiste qualquer probabilidade de que um novo erro de detecçãode sincronização possa ocorrer devido à inserção de um erro em um bitinserido, é possível aperfeiçoar a resistência a erros.
(2) Em um segundo sistema de codificação de acordo com apresente invenção, dispositivos transformadores de cadeia de código sãoadicionados ao primeiro sistema codificador. O dispositivo transformador dacadeia de código transforma uma cadeia de código de entrada diferente doscódigos de sincronização dispostos em uma pluralidade de posições deinserção de código de sincronização predeterminadas em uma cadeia de códigode saída de forma que uma distância de humming do código de sincronização éigual a ou maior que um valor prefixado. A cadeia de código transformada pelodispositivo transformador de cadeia de código é alimentada ao dispositivocodificador para ser codificada com um código de correção/detecção de errocompreendendo um bit de informação e um bit de inspeção.
Em um segundo sistema decodificador de acordo com apresente invenção, os dispositivos transformadores de cadeia de código sãoadicionados ao primeiro sistema decodificador. Os dispositivostransformadores de cadeia de código transformam uma cadeia de códigodiferente de um código de sincronização, que existe em uma posição deinserção de código de sincronização e que é transformada de forma que umadistância de humming do código de sincronização na cadeia de códigodecodificada pelo dispositivo decodificador seja igual a ou maior que um valorpredeterminado, na cadeia de código original.
Assim, no segundo sistema codificador/decodificador, osistema codificador executa o processo de transformação de forma que adistância de humming do código de sincronização com relação a uma cadeia debits disposta na posição de inserção de código de sincronização seja igual a oumaior que um valor predeterminado, e o sistema decodificador realiza atransformação inversa. Por conseguinte, uma vez que a mesma configuração debits que o código de sincronização não está contida na cadeia de bits, épossível prevenir a detecção de erro de um código de sincronização. Alémdisso, se a transformação é realizada de forma que as distâncias de hummingentre o código de sincronização e as outras cadeias de código sejam grandes, ocódigo de sincronização pode ser distinguido das outras cadeia de códigomesmo se um erro é misturado nas cadeias de código, de forma que aprobabilidade da detecção de erro do código de sincronização devido a errospode ser decrescida.
Uma vez que este processo de transformação/transformaçãoinversa é realizada somente na posição de inserção de código de sincronização,o número de operações auxiliares é menor que aquele nos processosconvencionais para executar o processo de transformação/transformaçãoinversa sobre a inteira cadeia de código. Além disso, na cadeia de códigointroduzida no sistema de codificação, não é requerido executar o processo detransformação de modo a não produzir a mesma configuração de bits que ocódigo de sincronização, e não é requerido utilizar uma cadeia de códigoespecial. Mais especificamente, em um caso onde um sistema de codificação decomprimento variável para comutação e utilizar diferentes tabelas de tabelas depalavras de código é usado como uma entrada deste sistema de codificação, sea tabela de palavras de código é preparada de maneira a não produzir a mesmaconfiguração que o código de sincronização no sistema de codificação decomprimento variável, existe um problema pelo fato da eficiência decodificação ser diminuída. Todavia, o segundo sistema decodificação/decodificação pode eliminar um problema deste tipo.
(3) Um terceiro sistema de codificação, de acordo com apresente invenção, compreende: dispositivos codificadores para codificar umacadeia de código de entrada em um código de correção/detecção de erro;dispositivos de inserção de código de sincronização para inserir um código desincronização na cadeia de código; e dispositivos determinadores paradeterminar o número de bits de uma informação a ser codificada em um códigode correção/detecção de erro imediatamente antes do código de sincronizaçãona cadeia de código, no qual os dispositivos d codificação causa o código decorreção/detecção de erros imediatamente anterior ao código de sincronização,a ser um código degenerado, que auto-adaptavelmente se degenera na base donúmero de bits determinado pelos dispositivos determinadores.
Um terceiro sistema de decodificação, de acordo com a presenteinvenção, compreende: dispositivos decodificadores para decodificar umacadeia de código, que é codificada com um código de correção/detecção deerro e na qual um código de sincronização é inserido; dispositivos detectoresde código de sincronização para detectar o código de sincronização na cadeiade código; e dispositivos determinadores para determinar o número de bits deuma informação, que é codificada com um código de correção/ detecção deerro imediatamente antes do código de sincronização na cadeia de códigodetectada pelos dispositivos detectores de código de sincronização, na qual osdispositivos decodificadores decodificam identificando se o código decorreção/detecção de erro imediatamente anterior ao código de sincronização éum código degenerado na base do resultado determinado pelos dispositivosdeterminadores.
Assim, no terceiro sistema de codificação/decodificação, umavez que um código degenerado ao número de bits requerido para codificar o bitde informação remanescente na parte final de um intervalo de sincronização éusado como o código de correção/ detecção de erro imediatamente anterior aocódigo de sincronização, não é requerido utilizar muitos bits inseridos demaneira a compensar o remanescente do bit de informação na parte final dointervalo de sincronização, de forma que a eficiência de codificação pode seraperfeiçoada.
(4) Um quarto sistema de codificação, de acordo com a presenteinvenção, compreende; dispositivos codificadores para codificar uma cadeia decódigo contendo tipos de informações de entrada para um código decorreção/detecção de erro; e dispositivos comutadores para comutar o tipo docódigo de correção/detecção de erros de acordo com os tipos das informaçõesde entrada na cadeia de código.
Um quarto sistema decodificador, de acordo com a presenteinvenção, compreende dispositivos decodificadores para decodificar umacadeia de código, que é codificada com um tipo diferente de código decorreção/detecção de erros de acordo com o tipo de informação, para gerar ainformação original; e dispositivos para determinar o tipo do código decorreção/detecção de erro na base do tipo de informação gerada pelosdispositivos decodificadores, para informar os dispositivos decodificadores.
Assim, no quarto sistema de codificação/decodificação, em umcaso onde a codificação/decodificação é realizada comutando o código decorreção/decodificação de erro de acordo com o tipo de informação, o sistemacodificador comuta o código de correção/ detecção de erro de acordo com otipo informação da cadeia de código de entrada, e o sistema decodificadordetermina o tipo do código de correção/detecção de erro na base da informaçãodecodificar para realizar a mesma comutação como aquela do sistemacodificador. Por conseguinte, não é requerido utilizar uma informação decabeçalho representativa do tipo do código de correção/detecção de errodiferentemente dos sistemas convencionais, de modo que é possível remover aoperação auxiliar devido às informações de cabeçalho.
(5) Um quinto sistema de codificação, de acordo com a presenteinvenção, compreende: dispositivos transformadores de cadeia de código paratransformar uma cadeia de código de entrada diferente dos códigos desincronização, que é disposta em uma pluralidade de posições de inserção decódigo de sincronização predeterminadas em uma cadeia de código de saída eem intervalos de um número predeterminado de bits antes e após as posiçõesde inserção de código de sincronização predeterminadas em uma cadeia decódigo de saída, de forma que uma distância de humming do código desincronização seja igual a ou maior que um valor predeterminado; dispositivoscodificadores para codificar uma cadeia de código transformada pelosdispositivos transformadores de cadeia de código, em um código de correção/detecção de erro compreendendo um bit de informação e um bit de inspeção; edispositivos de montagem de cadeia de código para inserir um código desincronização em qualquer uma de uma pluralidade de posições de inserção decódigo de sincronização predeterminadas na cadeia de código de saída, paradispor o bit de informação em uma posição opcional na cadeia de código desaída, e para dispor o bit de inspeção em uma posição diferente das posições deinserção de código de sincronização de código de sincronização na cadeia decódigo de saída para montar a cadeia de código de saída.
Um quinto sistema decodificador, de acordo com a presenteinvenção, compreende: dispositivos detectores de código de sincronização paradetectar um código de sincronização em uma posição de inserção de código desincronização predeterminada e em um intervalo de um númeropredeterminado de bits antes e após a posição de código de sincronizaçãopredeterminada, na base de uma cadeia de código, que é codificada em umcódigo de correção/ detecção de erro compreendendo um bit de informação eum bit de inspeção e no qual o código de sincronização; dispositivos deresolução de cadeia de código para resolver a cadeia de código para extrair obit de informação do código de correção/detecção de erro e o bit de inspeçãodo código de correção/detecção de erro disposto em uma posição diferente daposição de inserção de código de sincronização; dispositivos decodificadorespara receber o bit de informação e o bit de inspeção extraído pelos dispositivosde resolução de cadeia de código para decodificar o código decorreção/detecção de erro; e dispositivos transformadores de cadeia de códigopara transformar uma cadeia de código diferente do código de sincronização,que é transformada para que uma distância de humming do código desincronização na cadeia de código decodificada pelos dispositivosdecodificadores seja igual a ou maior que um valor predeterminado e queexiste na posição de inserção de código de sincronização e em um intervalo deum número predeterminado de bits antes e após a posição de inserção decódigo de sincronização, na cadeia de código original.
Assim, no quinto sistema de codificação/decodificação, acadeia de código de entrada é transformada no intervalo de inserção do códigode sincronização assim como no intervalo do número predeterminado de bitsantes e após o intervalo de inserção de código de sincronização para que adistância de humming seja igual a ou maior que o valor predeterminado, e osistema decodificador realiza a transformação inversa da cadeia de código deentrada, para que a mesma configuração de bit do código de sincronização nãoseja contida neste intervalo. Por conseguinte, mesmo se atransmissão/armazenamento de uma cadeia de bit codificada através de umalinha de transmissão ou meio de armazenamento para causar a perda de um bit,na qual uma parte de bits é perdida, e uma adição de bit, na qual um bitexcedente é adicionado, é realizada, o código de sincronização pode serdistinguido das outras cadeias de código se o número de bitsperdido/adicionado é igual a ou menor que número predeterminado de bits, deforma que o sistema decodificador pode realizar corretamente a detecção dasincronização.
(6) Um sexto sistema de codificação, de acordo com a presenteinvenção, compreende: dispositivos multiplexadores para multiplexar tipos decódigos comprimidos, que são obtidos por codificação de compressão de umsinal de entrada, para produzir uma cadeia de código multiplexada; edispositivos de montagem de cadeia de código para introduzir a cadeia decódigo multiplexada para montar uma cadeia de código de saída, no qual osdispositivos de montagem de cadeia de código inserem um código desincronização em qualquer uma de uma pluralidade de posições de inserção decódigo de sincronização periodicamente predeterminadas na cadeia de códigode saída.
Neste caso, de maneira a inserir o código de sincronização emqualquer uma da pluralidade de posições de inserção de código desincronização periodicamente predeterminadas, os dispositivos de montagemde cadeia de código inserem um bit de enchimento na cadeia de código desaída, ou periodicamente determina a pluralidade de posições de inserção decódigo de sincronização na cadeia de código de saída e insere uma informação(uma informação indicadora) representativa do limite da cadeia de códigomultiplexada, para inserir o código de sincronização em qualquer uma dapluralidade de posições de inserção de código de sincronização. Assim, ocódigo de sincronização pode ser inserido somente em qualquer uma dapluralidade de posições de inserção de código de sincronização periodicamentepredeterminadas.
O bit de enchimento de preferência é um código, que pode seruniformemente decodificado numa direção para trás da cadeia de código desaída. Assim, se o sistema decodificador comparar a posição finaldecodificadora da cadeia de código imediatamente antes do bit de enchimentocom a posição inicial do bit de enchimento, é possível facilmente detectar umerro na cadeia de código de entrada.
Outrossim, as distâncias de humming do bit de enchimento docódigo de sincronização e da parte do mesmo de preferência são iguais a oumaiores que um valor predeterminado. Assim, existe uma vantagem pelo fatoda probabilidade da ocorrência de uma pseudo sincronização.
Um sexto sistema decodificador, de acordo com a presenteinvenção, compreende dispositivos detectores de código de sincronização paradetectar um código de sincronização em uma cadeia de código de saída;dispositivos desmultiplexadores para desmultiplexar na base da posição docódigo de sincronização detectado pelos dispositivos detectores de código desincronização em relação à cadeia de código de entrada, para produzir umacadeia de código comprimido; e dispositivos decodificadores para decodificaro código comprimido para emitir um sinal reconstruído, no qual os dispositivosdetectores de código de sincronização detectam o código de sincronização emuma pluralidade de posições de inserção de código de sincronizaçãoperiodicamente predeterminadas na cadeia de código de entrada.
Assim, no caso do sexto sistema de codificação/ decodificação,uma vez que o sistema de codificação insere o código de sincronização nacadeia de código multiplexada, que é obtida multiplexando tipos de códigoscomprimidos, somente nas posições de inserção de código de sincronizaçãoperiodicamente predeterminadas, o sistema decodificador pode realizar adetecção de sincronização somente nas posições de inserção de código desincronização, de forma que o número de processos de detecção de código desincronização pode ser decrescido em comparação com os sistemasconvencionais para inserir um código de sincronização em uma cadeia decódigo em uma posição opcional. Além disso, de acordo com o decréscimo donúmero dos processos de detecção de código de sincronização, é possíveldecrescer a probabilidade da ocorrência de uma pseudo sincronização devido àcadeia de bit introduzida no sistema de decodificação alterada para a mesmaconfiguração de bit do código de sincronização devido ao erro de bit. Porconseguinte, de acordo com a presente invenção, é possível decrescer o númerodas ocorrências da pseudo sincronização, para que a quantidade deprocessamento na detecção de código de sincronização possa ser decrescida.
(7) Em um sétimo sistema de codificação de acordo com apresente invenção, dispositivos de transformação de cadeia de código sãoadicionados ao sexto sistema de codificação. Os dispositivos de transformaçãode cadeia de código transformam uma cadeia de código diferente do código desincronização, que é disposta na posição de inserção de código desincronização na cadeia de código de saída, de forma que uma distância dehumming do código de sincronização é igual a ou maior que um valorpredeterminado.
Um sétimo sistema de decodificação, de acordo com a presenteinvenção, adicionalmente compreende: dispositivos transformadores de cadeiade código para transformar uma cadeia de código diferente do código desincronização, que é transformada para que a distância de humming do códigode sincronização seja igual a ou maior que um valor predeterminado na posiçãode inserção de código de sincronização da cadeia de código de entrada, nacadeia de código original.
Assim, no sétimo sistema de codificação/decodificação,adicionalmente à construção do sexto sistema de codificação/ decodificação, ainserção de bit em vista do erro do código de sincronização, isto é, atransformação da distância de humming da cadeia de bit disposta na posição deinserção do código de sincronização em relação ao código de sincronização, érealizada de forma que a mesma configuração de bit do código desincronização seja contida na cadeia de código de bit. Por conseguinte, épossível assegurar que a detecção de erro do código de sincronização nãoocorra com respeito a um erro de um número presumido de bits ou menor, demodo que é possível decrescer a probabilidade de detecção de erro do códigode sincronização.
Outrossim, na presente invenção, o código de sincronização éuma cadeia de código, que é inserida em uma cadeia de código pararecuperação de sincronização e que pode ser uniformemente decodificada. Porexemplo, se uma cadeia de código para inserir um código de sincronização éuma cadeia de código multiplexada, que é obtida multiplexando umapluralidade de tipos de códigos comprimidos obtidos por codificação decompressão de um sinal de imagem introduzido para cada quadro, o código desincronização é um código representativo de uma partição de um quadro decodificação, partições da pluralidade de tipos de códigos comprimidos, e outraspartições.
Como descrito acima, de acordo com a presente invenção, asseguintes vantagens podem ser obtidas.
(1) De acordo com o primeiro sistema de codificação/decodificação, os códigos de sincronização são inseridos somente nas posiçõesde inserção de código de sincronização dispostas a intervalos regulares, e osbits de teste do código de correção/ detecção de erro são deslocados de modo aexistirem em outras posições além das posições de inserção de código desincronização. Por conseguinte, ainda que a mesma configuração do código desincronização ocorra no bit de inspeção, a mesma configuração do código desincronização não ocorre na posição de inserção de código de sincronização, e,em teoria, inexiste qualquer probabilidade de que a sincronização sejadetectada.
Além disso, se a inserção de bit em uma cadeia de código naposição de inserção de código de sincronização é realizada de modo a nãoproduzir um código de pseudo sincronização, é possível eliminar a dificuldadena formação de uma palavra código de modo a não produzir a mesmaconfiguração de bit do bit de sincronização.
(2) De acordo com o segundo sistema de codificação/decodificação, adicionalmente à construção do primeiro sistema decodificação, a inserção de bit é realizada em virtude do código desincronização, isto é, o processo de transformação é realizado de forma que adistância de humming do código de sincronização é igual a ou maior que ovalor predeterminado com respeito à cadeia de bit disposta na posição deinserção de código de sincronização, e o sistema decodificador realiza atransformação reversa, de modo que o código de bit não contém a mesmaconfiguração de bit que o código de sincronização. Por conseguinte, é possívelassegurar a prevenção da ocorrência da detecção errônea do código desincronização devido a erros do número presumido de bits ou menor, de modoque a probabilidade da detecção errônea do código de sincronização édecrescida. Além disso, se a dita transformação é executada, é possíveldistinguir o código de sincronização das demais cadeias de código mesmo seum erro é misturado na cadeia de código, de modo que a probabilidade dadetecção de erro do código de sincronização devido a erros pode serdecrescida.
Além disso, uma vez que a correção/detecção de erro érealizada após a palavra código ser transformada pela inserção de bit, aproteção contra erros é realizada para o bit inserido. Por conseguinte, emcomparação com os sistemas convencionais para realizar a inserção de bit apósa codificação de correção/detecção de erro, a probabilidade de que um erroocorra no bit inserido é decrescida. Além disso, uma vez que a inserção de bit érealizada somente na posição de inserção do código de sincronização, oaumento da quantidade de códigos devido à inserção de bit é menor que aquelanos sistemas convencionais para realizar a inserção de bit através da inteiracadeia de código, de modo que a eficiência de codificação é aperfeiçoada.
(3) De acordo com o terceiro sistema decodificação/decodificação, uma vez que o código de correção/ detecção de erroimediatamente anterior ao código de sincronização é um código degenerado, épossível decrescer o número de bits inseridos para compensar o restante do bitde informação na parte imediatamente anterior ao código de sincronização,para aperfeiçoar a eficiência de codificação, em comparação com os sistemasde codificação convencionais.
(4) De acordo com o quarto sistema decodificação/decodificação, o sistema de codificação utiliza a regra demultiplexação no sistema de codificação por compressão de alta eficiência, talcomo imagem e voz, e comutar o código de correção/detecção de erro deacordo com o tipo da informação de uma cadeia de código de entrada, e osistema decodificador determina o tipo do código de correção/detecção de errona base da informação decodificada para realizar a mesma comutação daquelado sistema de codificação. Por conseguinte, não é requerido adicionar ainformação de cabeçalho representativa do tipo de código de correção/detecçãode erro, e é possível alocar o número de bits à codificação de compressão dealta eficiência, tal como imagem e voz, de forma que é possível aperfeiçoar aqualidade de informação, tal qualidade de imagem e qualidade de som.
(5) De acordo com o quinto sistema de codificação/decodificação, o sistema de codificação transforma uma cadeia de código deentrada de maneira que uma distância de humming em um intervalo de inserçãode código de sincronização assim como uma distância de humming em umintervalo de um número predeterminado de bits antes e após o intervalo deinserção de código de sincronização são iguais a ou maiores que um valorpredeterminado, e o sistema decodificador realiza a transformação inversa dacadeia de código de entrada, de forma que é possível prevenir que a mesmaconfiguração de bit do código de sincronização esteja contida neste intervalo.Por conseguinte, mesmo se uma cadeia de bit codificada através de uma linhade transmissão e/ou um suporte de armazenamento, que pode causar uma perdade bit por perder uma parte de bit é perdida e uma adição de bit para adicionarum bit excedente, é transmitida/armazenada, se o número de bitsperdidos/adicionados é igual a ou menor que um número predeterminado debits, é possível distinguir um código de sincronização de outras cadeias decódigo, para que o sistema de decodificação possa realizar corretamente adetecção de sincronização.
(6) De acordo com o sexto sistema de codificação/decodificação, uma vez que o sistema codificador insere códigos desincronização somente em posições de inserção de código de sincronizaçãoperiodicamente predeterminadas em uma cadeia de código multiplexada, que éobtida multiplexando tipos de códigos comprimidos, o sistema decodificadorpode realizar a detecção de sincronização somente nas posições de inserção decódigo de sincronização, de modo que o número dos processos de detecção decódigo de sincronização pode ser decrescido em comparação com os sistemasconvencionais para inserir códigos de sincronização em uma cadeia de códigoem posições opcionais.
Além disso, uma vez que a probabilidade de que uma pseudosincronização ocorra pela variação da cadeia de bit introduzida no sistema decodificação na mesma configuração de bit que o código de sincronização, édecrescida de acordo com o decréscimo do número dos processos de detecçãode código de sincronização, é possível prevenir a pseudo sincronização deacordo com a presente invenção, de forma que a quantidade de processamentopara a detecção do código de sincronização decresce.
(7) De acordo com o sétimo sistema de codificação/decodificação, além da construção do sexto sistema decodificação/decodificação, a inserção de bit em vista do erro do código desincronização, isto é, a transformação da distância de humming da cadeia de bitna posição de inserção do código de sincronização do código de sincronizaçãoé realizada, de maneira que a mesma configuração de bit do código desincronização não é contida na cadeia de bit. Por conseguinte, é assegurado quea detecção errônea do código de sincronização não ocorra com respeito a errosde número de bits presumido, de forma que a probabilidade de detecçãoerrônea de códigos de sincronização pode ser decrescida.Descrição Sucinta dos Desenhos
A fig. 1 é um diagrama em blocos das primeira e segundaconcretizações preferenciais de um sistema codificador de imagem dinâmico deacordo com a presente invenção.
A fig. 2 é um diagrama ilustrando uma regra de multiplexaçãoem um multiplexador do sistema codificador de imagem dinâmico da fig. 1.
A fig. 3 é um diagrama em blocos de uma unidade decodificação de saída do sistema codificador de imagem dinâmico da fig. 1.
A fig. 4 é um diagrama ilustrando um exemplo de uma cadeiade código de saída do sistema codificador de imagem dinâmico da fig. 1.
A fig. 5 é um diagrama ilustrando um exemplo de um código desincronização.
A fig. 6 é um diagrama em blocos de uma parte codificadora decomutação de correção/detecção de erro na unidade codificadora de saída dafig. 3.A fig. 7 é um diagrama em blocos de uma unidade demontagem de cadeia de código da unidade codificadora de saída da fig. 3.
A fig. 8 é um diagrama em blocos das primeira e segundaconcretizações preferenciais de um sistema decodificador de imagem dinâmicode acordo com a presente invenção.
A fig. 9 é um diagrama em blocos de uma unidadedecodificadora de entrada do sistema decodificador de imagem dinâmico dafig. 8.
A fig. 10 é um diagrama em blocos de um determinador decadeia de código da unidade decodificadora de entrada da fig. 9.
A fig. 11 é um diagrama ilustrando um exemplo de uma cadeiade código obtida por um sistema codificador de comutação decorreção/detecção de erros convencional.
A fig. 12 é um diagrama ilustrando um exemplo de um códigode sincronização, no qual um erro é causado pela adição/perda de bit(s) emuma linha de transmissão, para explanar a segunda concretização preferencialda presente invenção.
A fig. 13 é um diagrama explanando a operação de umaunidade de inserção de bit da fig. 3 na segunda concretização preferencial.
A fig. 14 é um diagrama explanando as operações de umdetector de sincronização e de uma unidade removedora de bit inserido da fig.9 na segunda concretização preferencial.
A fig. 15 é um diagrama ilustrando um exemplo de uma cadeiade código, na qual uma proteção de sincronização é realizada utilizando umainformação de comprimento de quadro nas primeira e segunda concretizaçõespreferenciais.
A fig. 16 é um diagrama ilustrando outro exemplo de umacadeia de código, na qual uma proteção de sincronização é realizada utilizandouma informação de comprimento de quadro nas primeira e segundaconcretizações preferenciais.
A fig. 17 é um diagrama ilustrando exemplo adicional de umacadeia de código na qual uma proteção de sincronização é realizada utilizandouma informação de comprimento de quadro nas primeira e segundaconcretizações preferenciais.
A fig. 18 é um diagrama em blocos das terceira e quartaconcretizações preferenciais de um sistema de codificação de imagemdinâmico de acordo com a presente invenção.
A fig. 19 é um diagrama em blocos de uma unidade decodificação de saída da terceira concretização preferencial de um sistema decodificação de imagem dinâmico de acordo com a presente invenção.
A fig. 20 é um diagrama ilustrando um exemplo de uma cadeiade código de saída da terceira concretização preferencial de um sistema decodificação de imagem dinâmico de acordo com a presente invenção.
A fig. 21 é um diagrama em blocos das terceira e quartaconcretizações de um sistema decodificador de imagem dinâmico de acordocom a presente invenção.
A fig. 22 é um diagrama em blocos de uma unidadedecodificadora de entrada da terceira concretização preferencial de um sistemadecodificador de imagem dinâmico de acordo com a presente invenção.
A fig. 23 é um diagrama em blocos de uma unidadecodificadora de saída da quarta concretização preferencial de um sistema decodificação de imagem dinâmico de acordo com a presente invenção.
A fig. 24 é um diagrama em blocos de uma unidadedecodificadora de entrada da quarta concretização preferencial de um sistemadecodificador de imagem dinâmico de acordo com a presente invenção.
A fig. 25 é um diagrama em blocos de um exemplo de umacadeia de código de saída da quarta concretização preferencial de um sistemacodificador de imagem dinâmico de acordo com a presente invenção.A fig. 26 é um diagrama ilustrando uma regra de multiplexaçãoem um multiplexador de um sistema codificador de imagem dinâmico.
A fig. 27 é um diagrama em blocos de exemplos de cadeias decódigo de saída da quinta concretização preferencial de um sistema codificadorde imagem dinâmico de acordo com a presente invenção.
A fig. 28 é um diagrama ilustrando outros exemplos de regrasde multiplexação em um multiplexador de um sistema codificador de imagemdinâmico.
A fig. 29 é um diagrama de uma cadeia de código de saída, naqual os códigos de sincronização são processados quando a multiplexaçãoilustrada na fig. 28 é realizada.
A fig. 30 é uma tabela de código para explanar exemplos de bitsde enchimento usados para a presente invenção.
A fig. 31 é um diagrama explanando um processo em umsistema decodificador quando os bits de enchimento da fig. 30 são utilizados.
A fig. 32 é um diagrama explanando as características dos bitsde enchimento da fig. 30.
A fig. 33 é um diagrama de exemplos de cadeias de código desaída quando um intervalo de inserção de código de sincronização é mais curtoque um código de sincronização.
A fig. 34 é um diagrama de exemplos do uso de códigos desincronização de diferentes comprimentos.
A fig. 35 é um diagrama de exemplos de cadeias de código desaída da sexta concretização preferencial de um sistema de codificação deimagem dinâmico de acordo com a presente invenção.
Modalidade Ideal de Realização da Invenção
Reportando-se a seguir aos desenhos apensos, as concretizaçõespreferenciais da presente invenção serão descritas abaixo.
(Primeira Concretização Preferencial)A fig. 1 é um diagrama em blocos da primeira concretizaçãopreferencial de um sistema codificador de imagem dinâmico, de acordo com apresente invenção, no qual um sistema codificador tendo uma íunçãocomutadora de código de correção/detecção de erros da presente invenção écombinado com um sistema codificador por compressão de alta eficiência queutiliza uma predição auto-adaptável de movimento-compensado e umacodificação de transformação cossenoidal discreta servindo como um tipo deuma codificação de transformação ortogonal. Um sistema codificadorcompreendendo a combinação de uma predição auto-adaptável de movimento-compensado e uma codificação cossenoidal discreta é detalhada em, p.ex.,Literatura 1 "International Standard of Multimedia Coding" por HiroshiYazuda, Maruzen (Junho de 1991). Por conseguinte, somente a operação dosistema de codificação será esquematicamente descrita. Além disso, épresumido que os bits de informação são separados dos bits de detecção em umcódigo de correção/detecção de erro similar a um código BCH.
Na fig. 1, com respeito a um sinal de imagem dinâmico deentrada 131 servindo como um objeto a ser codificado, que é introduzido paracada quadro, uma predição auto-adaptável de movimento compensado éprimeiramente realizada para cada pequena região, tal como um macro bloco.Isto é, em um preditor adaptável de movimento compensado 101, um vetor demovimento entre um sinal de imagem dinâmico de entrada 131 e um sinal deimagem, que é armazenado em uma memória de quadro 102 e que foicodificado e/ou localmente decodificado, é detectado, e um sinal de predição132 é produzido pela predição de movimento compensado na base do vetor demovimento. Neste preditor de movimento compensado 101, um modo depredição próprio para codificação é selecionado da codificação de predição demovimento-compensado e da codificação intraquadros (sinal de predição = 0),que codifica diretamente o sinal de imagem dinâmico de entrada 131, paraproduzir o correspondente sinal de predição 132.O sinal de predição 132 é alimentado a um subtrator 103, noqual o sinal de predição 132 é subtraído do sinal de imagem dinâmico deentrada 131 para emitir um sinal residual de predição 133. O sinal residual depredição (133 é objeto de uma transformação cossenoidal discreta (DCT) emum transformador cossenoidal discreto 104 para cada bloco tendo umadimensão predeterminada para produzir um coeficiente DCT. O coeficienteDCT é quantificado por intermédio de um quantificador 105. Os dados decoeficiente DCT quantificados pelo quantificador 105 são divididos em duaspartes, uma das quais é codificada em comprimento variável por intermédio deum primeiro codificador de comprimento variável 106, e o outro dos quais éobjeto de uma quantificação inversa por intermédio de um quantificadorinverso 107 para ser transformado cossenoidalmente discretamente invertido(DCT inverso) por intermédio de um transformador cossenoidal discretoinverso 108. A saída do transformador cossenoidal discreto inverso 108 ésomada ao sinal de predição 132 em um somador 109 para produzir um sinallocalmente decodificado. Este sinal localmente decodificado é armazenado namemória de quadros 102.
Por outro lado, a informação sobre o modo de predição e ovetor de movimento, que foi determinada pelo preditor adaptável demovimento compensado 101, é codificada em comprimento variável porintermédio de um segundo codificador de comprimento variável 110. Oscódigos de comprimento variável (códigos comprimidos) emitidos pelosprimeiro e segundo codificadores de comprimento variável 106 e 110 sãomultiplexados por intermédio de um multiplexador 111 para serem emitidoscomo uma cadeia de código multiplexada 201.
O multiplexador 11 emite a cadeia de código multiplexada 101,um sinal identificador tipo FEC 202 representativo do tipo de código decorreção/detecção de erro correspondente ao mesmo, e um sinal de solicitaçãode inserção de código de sincronização para solicitar a inserção de um códigode sincronização. A cadeia de código 202, o sinal identificador tipo FEC 202 eo sinal de solicitação de inserção de código de sincronização 203 sãoalimentados a uma unidade codificadora de saída 200 para comutar e codificara cadeia de código 202 em tipos de códigos de correção/detecção de diferentescapacidades de correção/detecção de erro, para produzir uma cadeia de códigode saída final 205. Nesta concretização preferencial, a unidade codificadora desaída 200 corresponde a um sistema de codificação de acordo com a presenteinvenção.
A fig. 2 é um diagrama ilustrando um fluxo de multiplexaçãono multiplexador 111. A multiplexação é realizada para cada quadro decodificação. Primeiro, um código de sincronização 301 é multiplexado.
Quando o código de sincronização 301 é multiplexado, o sinal de solicitaçãode inserção de código de sincronização 203 é emitido pelo multiplexador 111,e o sistema de codificação 200 é notificado que a palavra de códigomultiplexada é um código de sincronização. A seguir, cabeçalhos de imagem203 representativos de vários modos de codificação do quadro de codificaçãosão multiplexados para serem a cadeia de código multiplexada 201. A seguir,uma informação de modo de predição 303 representativa de um modo depredição em um preditor adaptável de movimento compensado MC em cadaregião é multiplexada, e uma informação de vetor de movimento 304 e umcoeficiente DCT 305 de um sinal residual preditivo (doravante designado deum "coeficiente DCT residual") são multiplexados. Quando o cabeçalho deimagem 302, a informação de modo de predição 303, a informação de vetor demovimento 304 e o coeficiente DCT residual 305 são multiplexados, os sinaisidentificadores de tipo FEC 202 representativos do tipo de códigos decorreção/detecção de erro correspondentes aos mesmos são emitidos.
Os códigos de correção/detecção de erro de altas capacidadesde correção/detecção são usados para o cabeçalho de imagem 302, ainformação de modo de predição 303 e a informação de vetor de movimento304, que grandemente deteriora a qualidade de imagem se um erro é misturado.Por outro lado, se um erro é misturado com o coeficiente DCT residual 305, épossível prevenir que a qualidade de imagem de deteriore grandementedetectando erro e ajustando o resíduo para ser zero. Por conseguinte, acapacidade corretora de erro não é exigida a ser alta, e somente a detecção deerro pode ser realizada.
A fig. 3 é um diagrama em blocos de uma unidade codificadorade saída da fig. 1. A unidade codificadora de saída 200 compreende umaunidade de inserção de bit 211, um codificador de comutação decorreção/detecção de erro 212 e uma unidade de montagem de cadeia decódigo 213. A fig. 4 mostra um exemplo de uma cadeia de código de saída 205produzida pela unidade codificadora de saída 200. Na fig. 4, PSC indica umsinal de sincronização, PH indicada um cabeçalho de imagem, MODE indicauma informação de modo de predição, MV indica um vetor de movimento,CHK indica um bit de inspeção de um código de correção/ detecção de erro,DOEF é um coeficiente DCT residual, e STUFF indica um bit de enchimento(um bit inserido). Esta cadeia de código de saída 205 tem as seguintescaracterísticas.
(1) Os códigos de inserção de sincronização PSC são inseridosem somente posições de inserção de código de sincronização indicadas pelassetas, que são dispostas a intervalos regulares (cada bits de período desincronização [sync_period\). A duração do sync-period é estabelecida para sermaior que o comprimento do código de sincronização PSC e que ocomprimento máximo do bit de inspeção CHK. O bit de inspeção CHK ' edeslocado de modo a ser posicionado imediatamente antes da posição deinserção de código de sincronização.
(2) O código de correção/detecção de erros na parte final de umquadro, isto é, um período de sincronização entre um código de sincronizaçãoPSC e o PSC seguinte, é um código degenerado para codificar somente o bit deinformação finalmente remanescente, e os bits de enchimento STUFF tendo onúmero de bits requerido para deslocar o bit de inspeção CHK (CHK6 noexemplo da fíg. 4) são inseridos.
(3) O sinal identificador de tipo FEC representativo do tipo enúmero dos códigos de correção/detecção de erro inexistem na cadeia decódigo de saída 205 fíg. 4.
Nesta cadeia de código de saída 205, uma vez que o bit deinspeção CHK é deslocado como descrito em (1), nenhum bit de inspeçãoCHK entra nas posições de inserção de código de sincronização indicadaspelas setas, de forma que não há probabilidade de que uma pseudosincronização seja produzida pelo bit de inspeção CHK. Além disso, em umcaso onde a codificação de correção/detecção de erro do final do quadro érealizada como descrito em (2), era exigida a inserção de muitos bits inseridos(bits de enchimento) na técnica anteriormente conhecida. Todavia, na presenteconcretização preferencial, uma vez que o final do quadro tem o códigodegenerado, o número de bits inseridos pode ser pequeno. Outrossim, comodescrito em (3), uma vez que a informação de cabeçalho representativa do tipoe número dos códigos de correção/detecção de erro está contida na cadeia decódigo de saída 205, a quantidade de códigos não é para isto aumentada.
Comparando a cadeia de código multiplexada 201 da fig. 2emitida pelo multiplexador 111 com a cadeia de código de saída 205 da fig. 4,a construção e operação da unidade de codificação de saída 200 da fig. 3 paraproduzir uma cadeia de código de saída deste tipo 205 será descrita em detalheabaixo.
Quando o código de sincronização 301 é multiplexado nomultiplexador 111, o sinal de solicitação de inserção de código desincronização 203 é emitido como descrito acima. Por exemplo, comomostrado na fig. 5, o código de sincronização 301 compreende "0"s de bitssync_0_len, um "1" de um bit, e um "xxxxx" de bits sync_nb_lenrepresentativos do tipo de código de sincronização 301. A unidadecodificadora de saída 200 emite um código de sincronização (PSC) servindocomo uma cadeia de código de saída 205 da unidade de montagem de cadeia decódigo 213 ao receber o código de sincronização 301 e o sinal de solicitação deinserção de código de sincronização 203 do multiplexador 111.
Como mostrado na fig. 4, uma vez que o código de sincronização 301 pode ser inserido somente nas posições de inserção decódigo de sincronização dispostas a intervalos de bits de sync_period, quandoo final da cadeia de código de saída 205 produzida não é disposto na posiçãode inserção de código de sincronização, um bit de enchimento STUFF éinserido de forma que o código de sincronização 301 é disposto na posição deinserção de código de sincronização conforme descrito mais adiante.
Após o código de sincronização 301 ser emitido para a cadeiade código de saída 205, o cabeçalho de imagem 302, a informação de modo depredição 303, a informação de vetor de movimento 304 e o coeficiente DCTresidual 305 são codificados como segue. A inserção de bit na cadeia de códigomultiplexada 201 emitida pelo multiplexador 111 é realizada para prevenir aocorrência de uma pseudo sincronização na unidade de inserção de bit 211.Isto é, se a mesma configuração de bit da palavra código do código desincronização 301 existe na cadeia de código de saída 201, a inserção de bit erealizada, se necessário, de forma a prevenir que o código de sincronização 301não possa ser uniformemente decodificado. Por exemplo, em um caso onde ocódigo de sincronização 301 é uma palavra código tendo contínuos "0"s de bitssync_0-len como mostrado na fig. 5, se um "1" é inserido para que os "0"s dosbits sync_0_len ou mais não continuem em outras cadeias de código além docódigo de sincronização 201, é possível prevenir que uma pseudo-sincronização venha a ser produzida.
Como descrito acima, uma vez que os códigos de sincronização301 são inseridos somente nas posições de inserção de código desincronização, as operações de inserção de bit para prevenir a ocorrência depseudo sincronização podem ser realizadas somente nas posições de inserçãode código de sincronização. Por conseguinte, um valor contado 221representativo do número total de bits das cadeias de código de saída 205produzidas é emitido pela unidade de montagem de cadeia de código 213, e édeterminado pela unidade de inserção de bit 211 na base do valor contador 221se a inserção de bit é requerida. Presumindo-se que o valor contado 221, isto é,o número total de bits das cadeias de código de saída 205 produzidas, étotal_len, o número de "l"s na cadeia de código multiplexada 201 é contadoem um intervalo no qual
0 < total_len mod sync_period < sync_0_len. Se nenhum "1"existe neste intervalo, um "1" de um bit é inserido. Um mod B indica um restoquando A é dividido por B.
Além disso, de maneira a decrescer a probabilidade da detecçãode erro do código de sincronização 301, a inserção de bit pode ser realizadacomo se segue.
De maneira a detectar o código de sincronização 301 mesmo seum erro de η bits é misturado no código de sincronização 301, é requeridodeterminar que uma palavra código tendo uma distância de humming de η oumenos de um sistema decodificador de imagem dinâmico como descrito maisadiante é um código de sincronização. Todavia, se uma determinação deste tipoé realizada enquanto outras cadeias de código além do código de sincronização301 se apresentam, configurações de bit tendo uma distância de humming de ηou menos do código de sincronização podem existir mesmo nas outras cadeiasde código além do código de sincronização 301. Por conseguinte, se esta éprevista na posição de inserção de código de sincronização pode sererroneamente determinado ser o código de sincronização 301.
Por conseguinte, a inserção de bit na cadeia de códigomultiplexada 201 é realizada por intermédio da unidade de inserção de bit 211,para que as cadeias de código diferentes dos códigos de sincronizaçãodispostas na posição de inserção de código de sincronização na cadeia decódigo multiplexado 201 sejam transformadas de modo a terem um distânciade humming de 2 * η + 1 ou maior do código de sincronização 301.Especificamente, o número de l's (presumido ser nO) é contado em umintervalo no qual 0 < total_len mod sync_period < sync_0_len - (2 * N + 1). SenO é igual a ou menor que 2*n+l,'T'sde2*n+l -nO bits são inseridos nacadeia de código multiplexada 201.
Assim, uma cadeia de código 222, na qual a inserção de bit érealizada por intermédio da unidade de inserção de bit 211, juntamente com osinal identificador tipo FEC 202 representativo do tipo de um códigocorreção/detecção de erro, é introduzido na parte de codificação de comutaçãode código de correção, detecção de erro 212.
A fig. 6 é um diagrama em blocos de uma parte codificadora decomutação de código de correção/detecção de erro 212. Um circuito biestável603 é um circuito para travar um sinal identificador do tipo FEC 202. Quando asaída de um código de sincronização do multiplicador 111 para a cadeia decódigo multiplexada 201 é completada para deter a saída do sinal de solicitaçãode inserção de código de sincronização 203, o circuito biestável 603 bloqueia osinal identificador de tipo FEC 202 para fornecer um sinal travado 623 a umcodificador de correção/detecção de erro 604.
Um codificador de correção/detecção de erro 604 realiza acodificação de correção/detecção de erro de uma cadeia de código 222, que éemitida por um unidade de inserção de bit 211, na base do sinal bloqueado 623para emitir um bit de informação 631 e um bit de inspeção 632. Além disso,quando a codificação de correção/ detecção de erro de um bloco é completada,o codificação de correção/detecção de erro 604 emite um sinal indicador debloqueio 625, que indica o bloqueio do sinal identificador de tipo FECseguinte 202, para o circuito biestável 603. O circuito biestável 603 é travadode acordo com o sinal indicador de bloqueio 625 para fornecer o sinalbloqueado 623 à codificação de correção/detecção de erro 604.
A operação supra mencionada é repetida na unidade decodificação de saída 200, para que a codificação de correção/detecção de erroda cadeia de código bit-inserida 222 emitida pela unidade de inserção de bit211 seja realizada enquanto comutando o código de correção/detecção de errono codificador de comutação de correção/detecção de erro 212 na base do sinalidentificador de tipo FEC 202 emitido pelo multiplexador 111. Uma vez que osinal identificador de tipo FEC 202 é travado pelo circuito biestável 603somente na ocasião que a codificação do código de correção/detecção de errode um bloco é completada, os mesmos códigos de correção/detecção de errosão aplicados antes deste ponto de comutação. Por exemplo, em um caso ondeo cabeçalho de imagem 302 utiliza um código de correção/detecção de erroFECl e a informação de modo de predição 303 utiliza um código decorreção/detecção de erro FEC2, se o número de bits do cabeçalho de imagem302 é menor que o número de bits de informação de um bloco do FEC1, oFECl é usado como o código de correção/detecção de erro da informação demodo de predição subsequente 303 até o número de bits do cabeçalho deimagem 302 alcançar o número de bits de informação do FEC1.
A fig. 7 é um diagrama em blocos de uma unidade demontagem de cadeia de código 213 da fig. 3. A unidade de montagem decadeia de código 213 compreende um contador 701 para contar o número debits da cadeia de código de saída 205, uma memória intermediária 702 paraarmazenar temporariamente o bit de inspeção 632 e o número de bits domesmo, um comutador 703 para comutar a cadeia de código de saída 205, e umcontrolador de comutador 704 para controlar o comutador 703.
O contador 701 é reposicionado para ser um valor de um comprimento de código de sincronização sync len quando sinal de solicitaçãode inserção de código de sincronização 203 é introduzido, e contaprogressivamente seqüencialmente a partir do bit seguinte do código desincronização até o código de sincronização seguinte ser introduzido. Ocomutador 703 é operado de forma que o bit de informação 631 é emitido antesdo bit de inspeção inicial 532 ser introduzido após o código de sincronizaçãoser introduzido. Quando o bit de inspeção 632 é introduzido, ele é armazenadona memória intermediária 702 e o número de bits do mesmo (o número de bitsde teste) 711 é emitido pela memória intermediária 702 para o controlador decomutador 704.
O controlador de comutador 704 controla o comutador 703 nabase do número 711 de bits de teste e do valor contado 221 do contador 701 demaneira que o bit de inspeção é deslocado de modo a prevenir que o bit dedeste 632 seja emitido para a posição de inserção de código de sincronizaçãocomo descrito acima. Por exemplo, presumindo-se que o valor contado 221seja bit_count e o número 711 de bits de teste seja check_len, o bit deinformação 631 é emitido quando o bit_count mod sync_+period <sync_period - check_l en, e um bit de inspeção 713 armazenado na memóriaintermediária 702 é emitido quando sync__period - check_len < total_bits modsync_period < sync_period. Subseqüentemente, o processo supra mencionado érepetido enquanto o bit de informação 631 e o bit de inspeção 632 sãointroduzidos.
Como descrito acima, uma vez que a unidade codificadora desaída 200 utiliza um código degenerado como um código de correção/detecçãode erro na parte extrema de um quadro e realiza a inserção de bit para deslocaro bit de inspeção, ela executa uma operação diferente das operações usuais deoutras além da parte final. Isto é, quando a saída da cadeia de códigomultiplexado 201 de um quadro é completada, o multiplexador 111 emite umsinal de solicitação de inserção de código de sincronização 203 para o quadroseguinte. Em resposta ao mesmo, o código de correção/detecção de erro 604 naparte codificadora de comutação de correção/detecção de erro 213 da fig. 6efetua a codificação de correção/detecção de erro utilizando um códigodegenerado, presumindo que uma deficiência dos bits de informação 631 docódigo de correção/detecção de erro é uma configuração de bit predeterminadaemitida por um gerador de bit inserido 705. Esta configuração de bit pode seruma configuração de bit na qual todos os bits "l"s ou "0"s, ou pode ser umaconfiguração repetida específica tal como "0101 " Estes bits inseridoscompensados não são emitidos com o bit de informação 631.
Na unidade de montagem de cadeia de código 213 da fig. 7,após o bit de informação 613 ser emitido até o final, o comutador 713 écomutado do gerador de bit 705 para a entrada, e os bits inseridos são inseridosde forma que o bit de inspeção 713 armazenado na memória temporária 702 éposicionado imediatamente antes do código de sincronização seguinte.Presumindo-se que o valor contador 221 do contador 701 é total_len quando obit de informação final 631 de um quadro é emitido e que o número dos bits deteste finalmente emitidos 632 é last_check_len, o número de bits inseridosstuffing_len - (total_len mod sync_period). Além disso, numa caso ondenenhum código degenerado é usado, é requerido inserir (into_len -last_into_len) bits, que é uma deficiência do último bit de informaçãolast_into_len do bit de informação usual into_len, e inserir uma deficiência debits para deslocar o bit de inspeção. Por conseguinte, é requerido mais bitsinseridos que aqueles no uso do código degenerado, pelo into_len -last_into_len + (into+len - last_into_len) mod sync_period.
Assim, após a unidade de montagem de cadeia de código 213emitir os bits de informação 631 e os bits inseridos para a cadeia de código desaída 205 via o comutador 703, e finalmente emite o bit de inspeção 713 para acadeia de código de saída 205.
A primeira concretização preferencial de um sistemadecodificador de imagem dinâmico, de acordo com a presente invenção, serádescrita abaixo.A fig. 8 é um diagrama em blocos de um sistema decodificadorde imagem dinâmico correspondente ao sistema codificador de imagemdinâmico da fig. 1. A cadeia de código de saída 205 emitida pelo sistemadecodificador de imagem dinâmico da fig. 1 passa através de um sistema detransmissão/armazenamento para ser alimentado a uma unidade decodificadorade entrada 800 como uma cadeia de código de entrada 205'. Nestaconcretização preferencial, a unidade decodificadora de entrada 800corresponde a um sistema de decodificação da presente invenção.
A unidade decodificadora de entrada 800 comuta os códigos decorreção/detecção de erro na base de um sinal identificador de tipo FEC 802representativo do tipo de um código de correção/detecção de erro emitido porum desmultiplexador a jusante 811, para emitir uma cadeia de código 801, quefoi codificada por correção/detecção de erro, um sinal de detecção de código desincronização 803 e um sinal de detecção de erro 804. O desmultiplexador 811recebe a cadeia de código 801, o sinal de detecção de código de sincronização803 e o sinal de detecção de erro 804 para separadamente emitir um sinalresidual de predição 841 e um código de informação de predição auto-adaptável de movimento-compensado 842.
O sinal residual de predição 841 e o código de informação depredição auto-adaptável de movimento compensado 842 são alimentados aoprimeiro e segundo decodificadores de comprimento variável 806 e 810,respectivamente. Para um coeficiente DCT residual 831 decodificado peloprimeiro decodificador de comprimento variável 806, uma série de processos éexecutada, isto é, a quantificação inversa é realizada por intermédio de umquantificador inverso 807 e a transformação cossenoidal discreta inversa érealizada por intermédio de uma unidade DCT inversa 808. A seguir, ocoeficiente DCT residual processado é adicionado a um sinal de predição auto-adaptável de movimento compensado 832, que é uma saída do preditóradaptável de movimento compensado 821, em um somador 809 para seremitido como um sinal de imagem reconstruído 850. O sinal de imagemreconstruído 850 é emitido para o exterior do sistema e gravado em umamemória de quadros 820. A informação de predição auto-adaptável demovimento compensado decodificada pelo segundo decodificador decomprimento variável 810 é alimentada ao preditor adaptável de movimentocompensado 821 para produzir o sinal de predição auto-adaptável demovimento compensado 832.
Os processos supra mencionados são processos para produziruma imagem dinâmica de forma a corresponder com o sistema de codificaçãode imagem dinâmico da fig. 1. Os processos do quantificador inverso 807, daunidade DCT inversa 808, do somador 809 e da memória de quadros 820 sãobasicamente os mesmos daqueles do quantificador inverso 107, da unidadeDCT inversa 108, do somador 109 e da memória de quadros 102 embora odispositivo de realização possa ser diferente. Além disso, os processos nosprimeiro e segundo decodificadores de comprimento variável 806 e 810, nodesmultiplexador 811 e na unidade decodificadora de entrada 800 sãoprocessos inversos aqueles nos codificadores de comprimento variável 106 e110, no multiplexador 111 e na unidade codificadora de saída 200, exceto parao caso em que um erro é misturado na cadeia de código.
A fig. 9 é um diagrama em blocos da unidade decodificadora deentrada 800. A unidade decodificadora de entrada 800 compreende um detectorde sincronização 901 para detectar um código de sincronização na cadeia decódigo de entrada 205', um contador 902 para contar o número de bits dacadeia de código de entrada 205', um resolvedor de cadeia de código 903 paradecompor uma cadeia de código em bits de informação 912 e bits de teste 913,um decodificador de correção/detecção de erro 904, e um removedor de bitinserido 905.
O detector de sincronização 901 detecta códigos desincronização somente nas posições de inserção de código de sincronização nabase do valor contado 911 do contador 902. Por exemplo, presumindo-se que ointervalo entre as posições de inserção de código de sincronização adjacentesseja sync_period, o valor contado 911 é bit_count, e o comprimento desincronização é sync_len, a detecção de sincronização é realizada somentequando 0 < bit_count % sync_period < sync_len.
Outrossim, o código de sincronização pode ser detectado emvirtude de erros no código de sincronização.
Na unidade de inserção de bit 211 da unidade de codificação desaída da fig. 3, se a cadeia de código é transformada inserindo bits de modo a ter uma distância de humming de 2 * η + 1 ou maior do código desincronização em virtude de erros de η bits ou menos, mesmo se é determinadoque a cadeia de código tendo uma distância de humming de η ou menos de umsinal de sincronização verdadeiro é um código de sintonização, a detecção desincronização de erro não ocorre quando o erro de η bits ou menos é misturado.
A fig. 10 é um diagrama em blocos do resolvedor de cadeia decódigo 903. A cadeia de código de entrada 205 é comutada em bits deinformação 1021 e bits de teste 913 por intermédio de um primeiro comutador1002 controlado por um controlador 1001 que será descrito mais tarde. Quandoos bits de informação 1021 são emitidos pelo primeiro comutador 1003, ocomprimento de bit dos bits de informação 1021 é transmitido para umamemória temporária (doravante báfer) 1004 via um segundo comutador 1003para ser armazenado na mesma. Um contador 1005 conta o número de bits desaída do segundo comutador 1003. Um comparador 1006 compara um valorcontador 1023 do contador 1005 com um comprimento de bit de informação1024 emitido por uma unidade de saída de informação de códigocorretor/detector de erro 1007. Quando ambos são os mesmos, o contador 1005é reposicionado, o sinal identificador de tipo FEC 802 representativo do tipo deum código de detecção/ correção de erro é travado por intermédio de umcircuito biestável 1008, e a báfer 1004 emite o bit de informação 904. A saída914 do circuito biestável 1008 é alimentada ao circuito de saída de informaçãode código de correção/detecção de erro 1007 , e emitido para o decodificadorde detecção/correção de erro 904 mostrado na fíg.9.
Como descrito acima, os bits de prova do código decorreção/detecção de erro são deslocados para serem dispostos entre os bits deinformação do código de correção/detecção de erro após a cadeia de código205. O controlador 1001 controla de modo que os bits de prova deslocados sãoseparados dos bits de informação. Quando a entrada dos bits de informação docódigo de correção/detecção de erro de um bloco é completada, o valorcontado 1023 corresponde ao comprimento de bit de informação 1024 nocomparador 1006. Em resposta ao mesmo, o controlador 1001 recebe umcomprimento de bit de inspeção 1025 da unidade de saída de informação decorreção/detecção de erro 1007, e calcula as posições dos bits de testedispostos entre os bits de informação seguintes. Quando é determinado pelocomparador 1006 que ambos correspondem mutuamente, presumindo-se que ovalor contador 911 do número de bits de entrada da cadeia de código 205 ébit_count e o comprimento de bit de inspeção é check_len, a posição de partidade bit de inspeção é check_len, a posição de partida de bit de inspeçãocheck start é check_start = (bit_count/sync_period + 1) * sync_period -check_len, e a posição final de bit de inspeção check_end é check_end =(bit_count/sync_period_ + 1) * sync_period. O controlador 1001 controla ocomutador 1002 de modo que os bits de teste 913 são emitidos pela check_startpara check_end do valor contado 911.
Uma vez que o final de um quadro é um código degenerado e asua codificação de correção/detecção de erro do mesmo é realizada, éespecialmente processado. Ao atingir o término de um quadro, um sinal 803representativo da detecção do quadro seguinte é emitido. Em resposta a estesinal 803, o controlador 1001 calcula as posições dos bits de teste do últimocódigo corretor/detector de erro do quadro e o número de bits insuficiente dosbits de informação. É presumido que o valor contado 911 do número de bits dacadeia de código 205' introduzida ao principiar a introduzir o último código decorreção/detecção de erro de um quadro é pre_last_count, o valor contado 911quando a entrada de cadeia de código 205' de um quadro é completada étotal count, o valor contado 911 durante o processo é bit count, ocomprimento de bit de inspeção do último código de correção/detecção de errode um quadro é last_check_len e o comprimento de bit de inspeção do códigode correção/detecção de erro imediatamente anterior ao último código decorreção/detecção de erro é pre_last_check_len. Primeiro, o excesso edeficiência de bits de informação devido ao código corretor de erros sendo umcódigo degenerado e devido à inserção de bits é calculado. Entre os bits deinformação do último código de correção/detecção de erro de um quadro, onúmero de bits contidos na cadeia de código de saída 205, last_info_len, élast_info_len = total_co unit - last_check_len - pre_last_count - pre_last-check_len. Quando last_info_len é mais curto que o comprimento de informação docódigo corretor de erro info len, é determinado que o código corretor de erro éum código degenerado. Além disso, quando o valor contado 1023 está na gamade last_into_lent a info-len, o comutador 1021 é comutado para umaconfiguração de bit emitida por um gerador de bit inserido 1015, paracomplementar a deficiência de bits de informação devido à degeneração. Aconfiguração de bit do gerador de bit inserido 105 gera a mesma configuraçãode bit daquela do gerador de bit inserido 705 da fig. 7 do codificador.
Por outro lado, quando last_info_len é mais longo que info_len,é determinado que o código corretor de erro é a parte de bit inserida, de formaque os bits de informação 912 não são emitidos para a parte na qual o valorcontado 1023 é igual a ou maior que info_len. Com respeito aos bits de teste,comutador 1002 é controlado de modo a emitir, como bits de teste, a cadeia decódigo de saída 205 quando total count - check len < bit_count < total count.
O decodificador de correção/detecção de erro 904 recebe os bitsde informação 912 e os bits de teste 913, que são emitidos pelo resolvedor decadeia de código 903, e decodificam o código de correção/detecção de erro nabase do sinal identificador de tipo FEC 914 representativo do tipo do código decorreção/detecção de erro travado pelo circuito biestável 1008 da fig. 10, paraemitir uma cadeia de código erro corrigida 915 e um sinal de detecção de erro804.
A cadeia de código erro corrigida 915 é alimentada aoremovedor de bit introduzido 905. O removedor de bit inserido 905 remove osbits inseridos para prevenir o sinal de pseudo sincronização inserido pelaunidade de inserção de bit 211 da unidade de codificação de saída 200. Comodescrito acima, uma vez que a inserção de bit é realizada somente na posiçãode inserção de sincronização, a posição de inserção de sincronização édeterminada na base do valor contado 911 do contador 902.
Por exemplo, quando a palavra código de sincronização éaquela mostrada na fig. 5 e quando a unidade de inserção de bit 211 insere bitsna parte "0000 " dos primeiros sync len bit do código de sincronização deforma que a distância de humming do código de sincronização é maior que2*n+l, o número de "l"s (= n0) de "sync O len - (2*n+l)" bits da posição deinserção de código de sincronização é contada. Quando o nO é igual a oumenor que 2*n+l, 2*n+l - nO bits são removidos. Todavia, uma vez que édeterminado que o bit inserido é "1", quando o bit determinado como o bitinserido pela unidade removedora de bit inserido 905 é "0", é considerado queum erro está misturado no intervalo de inserção de código de sincronização.Neste caso, o sinal de detecção de erro 804 é emitido.
Assim, a cadeia de código 801 decodificada pela unidadedecodificadora de entrada 800 é inversa multiplexada por intermédio dodesmultiplexador 811. Esta é operação para separar e emitir a palavra decódigo multiplexada como mostrado na fig. 2. Este multiplexador inverso 811trabalha com os primeiro e segundo decodificadores de comprimento variável806 e 810.
Primeiro, quando o sinal de detecção de código desincronização 803 é introduzido pelo sistema decodificador de saída 800, odesmultiplexador 811 retorna ao estado inicial do processo de quadro. Aseguir, o código de correção/detecção de erro para o cabeçalho de imagem éemitido como sinal identificador de tipo FEC 802 representativo do tipo docódigo de correção/detecção de erro, e a cadeia de código 801 é introduzidapara decodificar o cabeçalho de imagem 302, de forma que é determinado seinexiste qualquer erro no cabeçalho de imagem. Quando inexiste qualquer erro,o código de correção/detecção de tipo de erro para a informação de modo depredição 303 é emitido como o sinal identificador de tipo FEC 802, e a cadeiade código 801 é introduzida para desmultiplexar a informação de modo depredição para emitir a mesma para o segundo decodificador de comprimentovariável 810.
Quando todas as informações de modo de predição sãodecodificadas, o segundo decodificador de comprimento variável 810 emite umsinal representativo do mesmo para o desmultiplexador 811. Em resposta aomesmo, o desmultiplexador 811 emite um sinal identificador de tipo FECrepresentativo do tipo de um código de correção/detecção de erro para ainformação de vetor de movimento 304, e inicia a desmultiplexação dasinformações de vetor de movimento 304. As informações de vetor demovimento desmultiplexadas são emitidas para o segundo decodificador decomprimento variável 810 para serem decodificadas. Quando a decodificaçãode todas as informações de vetor de movimento é completada, um sinalrepresentativo da mesma é emitida pelo segundo decodificador decomprimento variável 810 para o desmultiplexador 811. Em resposta aomesmo, o desmultiplexador 811 emite um sinal identificador de tipo FECrepresentativo do tipo de um código de correção/detecção de erro para ocoeficiente DCT residual, e desmultiplexa o coeficiente DCT residual 305 queé emitido para o primeiro de codificador de comprimento variável 806.
Como descrito acima, o tipo de código de correção/detecção deerro é determinado na base da regra de multiplexação é definida nodesmultiplexador 811 de modo a ser a mesma daquela da unidade decodificação de saída 200. Por conseguinte, a cadeia de código de saída 205 nãoé requerida a conter as informações de cabeçalho representativas do código decorreção/detecção de erro e assim por diante.
No decodificador de correção/detecção de erro 904, pode serdetectado pelo código de detecção de erro que um erro está misturado nacadeia de código de entrada 205'. Além disso, como acima descrito, um errodos bits inseridos pode ser detectado pela unidade removedora de bit inserido905. Nestes casos, o código de detecção de erro 804 é emitido pela unidadedecodificadora de entrada 800. Outrossim, quando uma palavra código, queinexiste na tabela de palavra código de comprimento variável, é detectada noprocesso decodificador de comprimento variável, é determinado que um erroestá misturado. Além disso, quando é determinado que uma parte está contra aregra de multiplexação no processo de desmultiplexação no desmultiplexador811, é determinado que um erro está misturado. Nestes casos, a unidadedecodificadora de entrada 800 e o desmultiplexador 811 executam os seguintesprocessos de modo a não deteriorar grandemente a imagem reconstruída.
(1) Quando um erro é detectado no coeficiente DCT residual, oresíduo da parte correspondente é posicionado para ser 0. Quando um modo deintracodificação é selecionado como um modo de predição, o sinal de imagemreconstruído na região correspondente pode ser predito na base do sinal deimagem reconstruída no quadro reconstruído e na região circundante.
(2) Em um caso onde um erro é detectado na informação demodo de predição e no vetor de movimento, quando a informação de modo depredição e a informação de vetor de movimento na região, na qual o erro édetectado, pode ser presumido na base da informação de modo de predição e dainformação de vetor de movimento na região circundante, as informaçõespresumidas são usadas. Quando é impossível, o sinal de imagem reconstruídana região correspondente é predito na base do sinal de imagem reconstruída noquadro reconstruído e região circundante.
(3) Quando um erro é detectado em um cabeçalho de imagem,se o cabeçalho de imagem é usado como está, existe probabilidade de que aqualidade de imagem seja muito grandemente deteriorada. Por conseguinte, aimagem reconstruída do último quadro é usada como a imagem reconstruída doquadro atual.
Nos processos supra mencionados (1), (2) e (3), quando o errotem a influência sobre os códigos subsequentes para o código de sincronizaçãoseguinte devido ao uso da codificação de comprimento variável, os mesmosprocessos são executados para aquela parte.
Embora tenha sido descrito que o detector de código desincronização 901 detecta códigos de sincronização somente nas posições deinserção de código de sincronização (a intervalos de sync_period bits), a perdade bits e/ou a inserção de bits de erro pode ocorre em um meio detransmissão/armazenamento. Neste caso, os códigos de sincronização podemser detectados em outras posições além das posição de inserção desincronização, e pode ser determinado que as posições, nas quais os códigos desincronização são detectados, são posições de inserção de código desincronização.
(Segunda Concretização Preferencial)
Reportando-se às figs. 12 a 14 inclusive, a segundaconcretização preferencial da presente invenção será descrita abaixo.
Nesta concretização preferencial, um sistema de codificação deimagem dinâmico e um sistema decodificador de imagem dinâmico podempositivamente detectar a sincronização mesmo se uma cadeia de código étransmitida/armazenada em uma linha de transmissão/meio de armazenamentona qual o número de bits é decrescido devido à perda de uma parte de umacadeia de bit ou o número de bits é aumentado devido à adição de bitsexcessivos.
A fig. 12 é um diagrama em blocos mostrando o princípio deum processo para detectar sincronização quando ocorre a dita adição/perda debits. É presumido aqui que o código de sincronização correto compreende "0"sde sync_0_len bits e um "1" de um bit como mostrado na fig. 12(a). Outrossim,na fig. 12 "x" designa um bit diferente de um código de sincronização.
As figs. 12(b) a 12(e) mostram como o código de sincronizaçãoé mudado pela adição/perda de bits. É presumido aqui que o número de bitsadicionado/perdido (Nid) é de um bit no máximo. A fig. 12(b) mostra que umbit é eliminado de uma cadeia de bit antes de um código de sincronização, deforma que o inteiro código de sincronização é avançado por um bit. A fig.12(c) mostra que um bit é adicionado a uma cadeia de bits antes de um códigode sincronização, de forma que o inteiro código de sincronização é recuado porum bit. A fig. 12 (d) mostra que um bit é eliminado de um código desincronização, de forma que os bits após a posição de eliminação de bitindicada pela seta são avançados por um bit. Outrossim, a fig. 12(e) mostra queum bit é adicionado a um código de sincronização na posição de adicionar bitindicada pela seta, de forma que os bits após a posição de adicionar bit sãorecuados por um bit.
De maneira a detectar corretamente a sincronização mesmo seocorre a adição/perda de bits, é requerido determinar que as cadeias de bitmostradas nas figs. 12(b) a (12(e) são códigos de sincronização. Como podeser visto pela fig. 12, o número de "l"s contidos no intervalo de ±Nid bits nasposições de inserção de código de sincronização direitas é sync_0_len - 3*Nidno máximo. Por conseguinte, a sincronização pode ser detectada no intervalode ±Nid bits nas posições de inserção de código de sincronização no ladodecodificador, e se o número "l"s contido nesta gama é menor que o valorsupra mencionado, pode ser determinado ser um código de sincronização.Além disso, no sistema de codificação, cadeia de código são transformadas deforma que as configurações de bit das figs. 12(b) a 12(d) inclusive nãoocorrem.
Essencialmente com respeito à diferença da primeiraconcretização preferencial, os ditos sistemas de codificação/ decodificaçãoserão descritos abaixo.
A inteira construção da segunda concretização preferencial deum sistema de codificação de imagem dinâmico, de acordo com a presenteinvenção, é a mesma daquela da primeira concretização preferencial de umsistema de codificação de imagem dinâmico, exceto pela operação da unidadede inserção de bit 211 da fig. 3. A fig. 13 mostra a operação da unidade deinserção de bit 211. Isto é, na unidade de inserção de bit 211 na primeiraconcretização preferencial, a operação de inserção de bit é executada somenteno intervalo de inserção de código de sincronização. Por outro lado, na unidadede inserção de bit 211 na segunda concretização preferencial, a inserção de bité efetuada em um intervalo de inserção de código de sincronização de ±Nidbits de maneira a prevenir que a mesma configuração de bit que o código desincronização venha a ser produzida mesmo se a adição/perda de Nid bitsocorra ao máximo.
Presumindo-se que o valor contado 221 na fig. 3 seja total_len eo intervalo entre as posições de inserção de código de sincronização adjacentesseja sync_period, a unidade de inserção de bit 221 conta o número de "l"s(presumido ser =n0) na região de total_len mod sync_period = sync_0_len- 1 -3 * Nid na base de total len mod sync_period = sync_period - Nid(modroperação excedente), e insere "l"s de "3 * Nid + 1 - nO" se nO é menorque 3 * Nid + 1.
A fig. 13 mostra um exemplo da operação da unidade deinserção de bit 211 quando sync_period =12, sync_0_len = 9, e Nid =1. Nesteexemplo, uma vez que nO = 2, " 1 "s de 3 * Nid + 1 - nO = 2 bits são inseridos.
Pela dita inserção de bit, é assegurado que o número de "0"s de±Nid bits no intervalo de inserção de código de sincronização é igual a oumaior que 3 * Nid bits, de modo que é possível identificar uniformementecódigos de sincronização.
Por outro lado, a inteira construção da segunda concretizaçãopreferencial de um sistema decodificador de imagem dinâmico, de acordo coma presente invenção, é o mesmo daquele da primeira concretizaçãopreferencial, exceto pelas operações do detector de sincronização 901 e oremovedor de bit inserido 905 na fig. 9. A fig. 14 mostra a operação de umremovedor de bit inserido 905.
Isto é, o detector de sincronização 901 detecta códigos desincronização na gama de ±Nid bits antes e após a posição de inserção decódigo de sincronização, de maneira a detectar sincronização mesmo se aadição/perda de Nid bits ocorrer ao máximo.
Primeiro, é determinado se existem códigos de sincronizaçãoem cada posição de inserção de código de sincronização. Isto é, presumindoque o valor contado 911 do contador 902 seja bit_count o número de "0"s(presumido ser — nsO) na gama de bit count mod sync_period = sync_0_len - 1+ Nid é contado na base de bit_count mod sync_period - Nid. Quando nO estáabaixo de 3 * Nid, é determinado que existe um código de sincronização nestaregião.
A fig. 14 mostra a operação quando sync_period = 12,sync_0_len = 9, e Nid = 1. Neste exemplo, o número de "0"s é contado nagama que (bit_count mod sync_period) é de "1" a "8". No exemplo da fig. 14,uma vez que nsO = 2, é determinada existência de um código de sincronização.
A seguir, é determinado que bits a cadeia de código é deslocadapela adição/perda de bits no intervalo de inserção de código de sincronização,no qual é determinada a existência de um código de sincronização. No caso desync_0_len bits mostrado na fig. 14, a extensão deslocada da posição do últimobit "1" é determinada. Especificamente, após a busca por um "1" que primeirose apresenta a partir da (sync_0_len + 1 bits) th da cabeça da regiãodeterminadora de código de sincronização, é derivado de qual bit o "1"buscado é da cabeça desta região determinadora de código de sincronização(presumindo-se que este é o bit de first_l-posição). Na base dos resultadosderivados, o valor deslocado é derivado de "o número de bits deslocados =first_l_pos - (sync_0_len + 1 + Nid)" ( deslocamento para a frente no caso denegativo, e deslocamento para trás no caso de positivo). No exemplo da fig. 14,uma vez que first_l_pos = 10, o número de bits deslocados = 10- (+1 + 1) = -1, de modo que é determinado que a cadeia de código deslocada para a frenteem um bit.
Distintamente da primeira concretização preferencial, noremovedor de bit inserido 905, o processo de remover bit inserido é realizadono intervalo de ±Nid bits antes e após a posição de inserção de código desincronização. Isto é, na base de bit count mod sync_period = sync_period -Nid, o número de "l"s (presumido ser =n0) é contado na região de bit_countmod sync_period = sync=0_len - 1 - 3 * Nid. Quando o nO é igual a ou menorque 3 * Nid + 1, os "l"s de 3 * Nid + 1 - nO bits são removidos.
Na segunda concretização preferencial, se a região, na qual aadição/perda de bits ocorre em uma linha de transmissão ou um meio dearmazenamento, pode ser determinada por determinado processo, o processode detecção de sincronização, o processo de inserção de bit e o processoremovedor de bit, que consideram a adição/perda de bits, podem ser realizadossomente naquela região.
Além disso, também no sistema de decodificação de imagemdinâmico na primeira concretização preferencial como descrito acima, adetecção de sincronização correspondente à adição/perda de bits em uma linhade transmissão e/ou um meio de armazenamento é realizada.Consequentemente, o detector de sincronização 901 pode detectarsincronização no intervalo de inserção de código de sincronização, isto é, nointervalo de ±Nid bits, similar à segunda concretização preferencial. Nestecaso, ainda que uma pseudo sincronização, que é erroneamente determinada serum código de sincronização enquanto sendo uma parte diferente de código desincronização, possa ser produzida, é possível inibir a qualidade de umaimagem reproduzida ser deteriorada devido ao erro de detecção desincronização em uma linha de transmissão e/ou meio de armazenamento quetende a causar a adição/perda de bits, para que a qualidade de imagem possaser aperfeiçoada.
Além disso, se a região, na qual a adição/perda de bits ocorreem uma linha de transmissão e/ou em um meio de armazenamento, pode serdeterminada por algum processo, aquele processo pode ser realizado somentenaquela região, e uma detecção de sincronização usual pode ser realizada emoutras regiões.
Outrossim, nas primeira e segunda concretização como acimadescrito, a sincronização pode ser adicionalmente protegida utilizandoinformações representativas do comprimento de um quadro (que serásubseqüentemente designada de uma "informação de comprimento dequadro"). As fígs. 15, 16 e 17 mostram exemplos de cadeias de códigoutilizando um INDICADOR de informação de comprimento de quadro.
No exemplo da fig. 15, um INDICADOR de informação decomprimento de quadro e um CHKP de bit de inspeção de um código decorreção/detecção de erro para proteger o INDICADOR de informação decomprimento de quadro são dispostos imediatamente após um código desincronização PSC. O número de bits do último quadro, isto é, informaçõesrepresentativas do número de bits do código de sincronização do último quadropara o código de sincronização do quadro atual, são armazenadas noINDICADOR de informação de comprimento de quadro.O sistema de codificação conta o número de bits de uma cadeiade código de um quadro para transformar o número contado em umINDICADOR de comprimento de quadro, e executa a codificação decorreção/detecção de erro para produzir um bit de inspeção CHKP. A seguir,como mostrado na fig. 15, o sistema codificador produz uma cadeia de códigoimediatamente após o código de sincronização do quadro seguinte.
Por outro lado, após o sistema decodificador detectar códigosde sincronização pelo mesmo processo como aqueles nas primeira e segundaconcretizações preferenciais, ele extrai o INDICADOR de informação decomprimento de quadro subsequente e o bit de inspeção CHKP da cadeia decódigo, e executa a decodificação de correção/detecção de erro paradecodificar o INDICADOR de informação de comprimento de quadro. Aseguir, o INDICADOR de informação de comprimento de quadro decodificadoé comparado com um valor derivado contando o número de bits do últimocódigo de sincronização detectado para o código de sincronização atual (valorcontado de comprimento de quadro), para testar se inexiste detecção de erro decódigos de sincronização.
Se o valor contado de comprimento de quadro é diferente docomprimento de código do último quadro indicado no INDICADOR deinformação de comprimento de quadro, há probabilidade de que um código desincronização seja erroneamente detectado, de forma que o código desincronização erroneamente detectado é detectado mais uma vez utilizando oINDICADOR de informação de comprimento de quadro. Isto é, é presumidoque um código de sincronização, que não poderia ser detectado, existe antes docódigo de sincronização atual pelo número de bits indicado pelo INDICADORde informação de comprimento de quadro. Neste caso, o intervalo entre oúltimo código de sincronização detectado, e o código de sincronização atual édividido em dois quadros, isto é, o intervalo entre o último código desincronização e a posição indicada pelo INDICADOR de informação decomprimento de quadro e o intervalo entre a posição e o código desincronização atual, para executar o processo de decodificação.
Todavia, se o número de bits indicado pelo INDICADOR deinformação de comprimento de quadro é maior que o número de bits do últimocódigo de sincronização detectado para o código de sincronização atual, épresumido que o INDICADOR de informação de comprimento de quadro estáerrôneo, de forma que o processo de re-detectação de sincronização supramencionado não é executado.
Se o número de bits do INDICADOR de informação decomprimento de quadro e do bit de inspeção CHKP é grande, o código desincronização PSC, o INDICADOR de informação de comprimento de quadro,e o bit de inspeção CHKP podem se estender em uma pluralidade de intervalosde sincronização como mostrado na fig. 16. Neste caso, o processo de inserçãode bit no sistema de codificação e o processo removedor de bit no sistema dedecodificação, que são realizados de modo a manter uma distância de hummingconstante entre uma cadeia de código diferente de um código de sincronizaçãoe o código de sincronização, não podem ser realizados em um intervalo no qualo INDICADOR de informação de comprimento de quadro e o bit de inspeçãoCHKP existem.
Nos exemplos das figs. 15 e 16, em um caso onde a metadefinal de um código de sincronização PSC contém informações representativasdo tipo do código de sincronização (a distinção entre um código desincronização de quadro, um código de sincronização GOB e assim por diante),o INDICADOR de informação de comprimento de quadro é não somenteprotegido, porém a metade final do código de sincronização PSC também podeser protegida por um código de correção de erro. Assim, uma vez que o tipo deum código de sincronização pode ser acuradamente detectado adicionalmente àposição do código de sincronização, a resistência a erros pode seradicionalmente aperfeiçoada.No exemplo da fig. 17, um INDICADOR de informação decomprimento de quadro e um bit de inspeção CHKP são dispostos no final deum quadro (imediatamente antes de um código de sincronização no quadroseguinte). Neste caso, após o sistema decodificador detectar o código desincronização no quadro seguinte, ele extrai um INDICADOR de informaçãode comprimento de quadro e um bit de inspeção CHKP imediatamente antes docódigo de sincronização detectado para efetuar a decodificação de correção/detecção de erro, para realizar a re-detecção do código de sincronização pelosmesmos processos daqueles das figs. 15 e 16.
No exemplo da fig. 15, uma vez que os códigos desincronização existem somente nas posições de inserção de código desincronização, o INDICADOR de informação de comprimento de quadro a sergravado pode ser um valor derivado dividindo o número de bits do quadro porum intervalo de inserção de código de sincronização (= bits de sync_period).Assim, o comprimento de quadro pode ser indicado por um número menor debits.
Além disso, nas primeira e segunda concretização, emboratenham ilustrados exemplos de uma codificação hierárquica para mudar umcódigo de correção/detecção de erros de acordo com a importância dainformação codificada, o mesmo código de detecção/ correção de erro pode serusado no quadro, ou nenhum código de detecção/correção de erro pode serusado. Nestes casos, e possível aperfeiçoar a capacidade de detectarsincronização em comparação com os sistemas convencionais, utilizando oprocesso de inserção de bit para manter uma cadeia de código diferente de umcódigo de sincronização a uma distancia de humming maior que um valorpredeterminado do código de sincronização, e o processo de detecção decódigo de sincronização correspondente ao processo de inserção de bit, comodescrito nesta concretização preferencial.
Além disso, nas concretizações preferenciais supramencionadas, embora tenha sido mostrado que um sinal de imagem dinâmico écodificado por compressão de alta eficiência para ser transmitido/armazenado,a presente invenção pode ser aplicada à transmissão/armazenamento de umaimagem estática, voz, dados ou semelhantes Por exemplo, quando acodificação por compressão de alta eficiência de um sinal de imagem estática érealizada utilizando a transformação ortogonal, o código de correção/detecçãode erro pode ser comutado de maneira a realizar mais fortemente a proteção deerro de um baixo componente de um coeficiente de transformação. Noprocesso para modelar e codificar voz em uma fonte excitadora e um filtro detrato vocal, o código de correção/detecção de erro pode ser comutado de modoa realizar mais fortemente a proteção de erro de um ciclo de tom, de umparâmetro de trato vocal e assim por diante.
(Terceira Concretização Preferencial)
A terceira concretização preferencial da presente invenção serádescrita abaixo. Nesta concretização preferencial, o código decorreção/detecção de erro não é utilizado. Neste ponto, esta concretizaçãopreferencial é diferente das primeira e segunda concretizações.
A fig. 18 é um diagrama em blocos de um sistema codificadorde imagem dinâmico nesta concretização preferencial. Utilizando os mesmosnumerais de referência como aqueles na fig. 1 para as partes correspondentesaquelas na fig. 1, os diferentes pontos da primeira concretização preferencialserão essencialmente descritos. Nesta concretização preferencial, a construçãoe operação de uma unidade de codificação de saída 200 são diferentes. Alémdisso, ainda que a operação básica de um multiplexador 111 seja a mesma domultiplexador 111 da fig. 1, o multiplexador 111 nesta concretizaçãopreferencial emite somente uma cadeia de código multiplexada 201 e um sinalde solicitação de inserção de código de sincronização 203 uma vez o código decorreção/detecção de erro não é utilizado.
A fig. 19 é um diagrama em blocos da unidade codificadora desaída 200 da fig. 18. A unidade codificadora de saída 200 compreende umcontador 1701 para contar o número de bits de uma cadeia de código de saída205, um comutador 1703 para comutar a cadeia de código de saída 205, umcontrolador de comutador 1704 para controlar o comutador 1703, e um geradorde bits de enchimento 1705 para gerar bits de enchimento.
A fig. 20 mostra um exemplo de uma cadeia de código de saída205 gerada pela unidade codificadora de saída 200 da fig. 19. Os mesmossinais algébricos como aqueles na fig. 4 são usados para palavras códigocorrespondentes aqueles da cadeia de código de saída da fig. 4. De maneirasimilar à fig. 4, cada um dos códigos de sincronização PSC é inserido somenteem qualquer uma das posições de inserção de código de sincronização, que sãodispostas periodicamente, isto é, a intervalos regulares (bits de sync_period) eque são indicados por setas. A fig. 20 não contém o bit de inspeção CHK parao código de correção/detecção de erro. Neste ponto, a fig. 20 é diferente da fig.4. Um bit de enchimento STUFF é inserido na parte final de um quadro dacadeia de código de saída 205 de modo que um código de sincronização PSC éinserido na posição de inserção de código de sincronização. O número de bitsdo bit de enchimento STUFF é igual a ou menor que o sync_period.
A construção e operação da unidade de codificação de saída200 da fig. 19 para produzir uma cadeia de código de saída deste tipo 205 serão descritas em detalhe abaixo.
O contador 1701 é estabelecido para ser "1" quando um sinal desolicitação de inserção de código de sincronização 203 é introduzido por ummultiplexador 111 no mesmo e um bit inicial de um código de sincronização301 é introduzido no mesmo como uma cadeia de código multiplexado 201, e éestabelecido para ser um comprimento de código de sincronização sync_lenquando todos os bits do código de sincronização 301 são introduzidos nomesmo. Subseqüentemente, o contador 1701 conta progressivamentesucessivamente do bit seguinte do código de sincronização 301 até um bitimediatamente anterior ao código de sincronização seguinte ser emitido.
Quando bits do bit inicial do código de sincronização até o bitanterior ao código de sincronização seguinte são introduzidos como umacadeia de código multiplexada 201, o controlador de comutador 1704 controlao comutador o comutador 1703 de forma a comutar o comutador 1703 para acadeia de código multiplexada 201 para emitir a cadeia de código multiplexada201 como uma cadeia de código de saída 205.
A seguir, na última parte de um quadro, a inserção de bit(enchimento de bit) é realizada para que o código de sincronização seguinteseja inserido na posição de inserção de código de sincronização. Omultiplexador 111 emite um sinal de solicitação de inserção de código desincronização 203 para o quadro seguinte quando a saída da cadeia de códigomultiplexada 201 do quadro é completada. Em resposta à mesma, o controladorde comutador 1704 comuta o comutador 1703 para o gerador de bit deenchimento 1705 para emitir um bit de enchimento 1223 como uma cadeia decódigo de saída 205. O bit de enchimento 1223 pode ter todos os bits de "1" ou"0", ou uma configuração específica tal como "0101...".
Esta concretização preferencial de um sistema decodificador deimagem dinâmico, de acordo com a presente invenção, será descrita abaixo.
A flg. 21 é um diagrama em blocos de um sistemadecodificador de imagem dinâmico correspondente ao sistema codificador deimagem dinâmico da fig. 18. Utilizando os mesmos numerais de referênciacomo aqueles na fig. 8 para partes correspondentes aquelas na fig. 8, os pontosdiferentes da primeira concretização preferencial serão essencialmentedescritos. Nesta concretização preferencial , a construção e operação de umsistema codificador de entrada 800 são diferentes daquelas na primeiraconcretização preferencial. Além disso, os sinais introduzidos pela unidadedecodificadora de entrada 800 em um multiplexador 811 são somente um sinalde detecção de código de sincronização 803, e nenhum sinal é introduzido pelodesmultiplexador 811 na unidade decodificadora de entrada 800.
A fig. 22 é um diagrama em blocos da unidade decodificadorade entrada 800. A unidade decodificadora de entrada 800 compreende umdetector de sincronização 1901 para detectar um código de sincronização emuma cadeia de código de entrada 205', e um contador 1902 para contar onúmero de bits da cadeia de código de entrada 205'.
O contador 1902 é reposicionado para ser "0" no estágio inicialde decodificação, e conta progressivamente até um valor contado 1911 paracada "1" cada vez que um bit da cadeia de código de entrada 205' éintroduzido.
O detector de sincronização 1901 detecta códigos desincronização somente nas posições de inserção de código de sincronização nabase do valor contado 1991 do contador 1902. por exemplo, presumindo-seque o intervalo de inserção de código de sincronização seja sync_period, ovalor contador 1911 é bit count, e o comprimento do código de sincronizaçãoé synclen, a detecção de sincronização é realizada somente quando 0 <bit_count mod sync_period < sync_len, na qual A mod B designa um restoquando A é divido por Β. O detector de sincronização 1901 emite um sinal dedetecção de código de sincronização 803 quando um código de sincronização édetectado.
A cadeia de código 801 da unidade decodificadora de entrada éintroduzida no multiplexador 811 enquanto a cadeia de código de entrada 205'é emitida como está. Subseqüentemente, de modo similar ao sistemadecodificador de imagem dinâmico da fig. 21, os processos dedesmultiplexação e decodificação são executados.
Em um caso onde o último bit de enchimento STUFF do quadroé uma configuração de bit predeterminada, é determinado se o bit deenchimento STUFF corresponde a uma configuração predeterminada nodesmultiplexador 811. Quando não corresponde à mesma, é determinado queexiste um erro na cadeia de código de entrada 205', de forma que o processopara prevenir que a qualidade de imagem venha ser grandemente deteriorada,que foi descrito com respeito ao sistema de codificação de imagem dinâmicona primeira concretização preferencial, pode ser realizado.
(Quarta Concretização Preferencial)
A quarta concretização preferencial da presente invenção serádescrita abaixo.
Nesta concretização preferencial, a inteira construção de umsistema codificador de imagem dinâmico é idêntica àquela do sistemacodificador de imagem dinâmico da fig. 18, e a operação de uma unidadecodificadora de saída é diferente daquela na terceira concretização preferencial.
A fig. 23 é um diagrama em blocos de uma unidadecodificadora de saída 200 na fig. 18. Utilizando os mesmos numerais dereferência para partes correspondentes aquelas da unidade codificadora desaída da fig. 19, a diferença da unidade codificadora de saída da fig. 19 é queuma unidade de inserção de bit 1211 para realizar o processo de enchimento debit para prevenir um código de pseudo sincronização é adicionada.
Na unidade de inserção de bit 1211, a inserção de bit paraprevenir a ocorrência de uma pseudo sincronização é realizada para a cadeia decódigo multiplexada 201. Uma vez que não é possível decodificaruniformemente um código de sincronização se a mesma configuração de bit docódigo de sincronização está contida na cadeia de código de saída 205, ainserção de bit é realizada de maneira a prevenir isto. Por exemplo, comomostrado na fig. 5, quando o código de sincronização compreende "0"s de bitssync_0_len, um " 1" de um bit e "xxxxx" de bits sync_nb_len representativosdo tio de código de sincronização, é possível prevenir a ocorrência de umapseudo sincronização se um "1" é inserido para que os "0"s de bits sync_0_lenou mais não sejam continuamente dispostos na cadeia de código diferente docódigo de sincronização.O código de sincronização é inserido somente no sistema deinserção de código de sincronização. Por conseguinte, a operação de inserçãode bit para prevenir a ocorrência de pseudo sincronização pode ser realizadasomente nas posições de inserção de código de sincronização. Assim, édeterminado se é requerido realizar a inserção de bit na base de um valorcontador 1221 representativo do número total de bits de uma cadeia de códigode saída 205. Presumindo-se que o valor contador 1221 seja total_len, onúmero de "l"s na cadeia de código multiplexada 201 é contado em umintervalo de 0 < total_len_mod_sync_period < sync_0_len. Se nenhuma "1"existir neste intervalo, um "1" de um bit é inserido. Aqui, A mod B designa umresto quando A é dividido por B.
Além disso, de forma a decrescer a probabilidade da detecçãode erro de um código de sincronização devido a erro, a inserção de bit pode serrealizada como segue.
De maneira a detectar um código de sincronização mesmo seum erro de η bits estiver misturado no código de sincronização, é requeridodeterminar que uma palavra código tendo uma distância de humming de η oumenos de um código de sincronização verdadeiro em uma unidadedecodificadora de entrada de um sistema decodificador de imagem dinâmicocomo descrito mais adiante em um código de sincronização. Todavia, se umadeterminação deste tipo é realizada enquanto cadeias de código diferentes docódigo de sincronização são como estão, configuração de bit tendo umadistância de humming de η ou menor do código de sincronização podem existirmesmo em cadeias de código diferentes do código de sincronização. Se isto éprevisto na posição de inserção de código de sincronização, pode sererroneamente determinado ser o código de sincronização.
Por conseguinte, a inserção de bit seguinte em uma cadeia decódigo multiplexada 201 é realizada por intermédio de uma unidade deinserção de bit 211, para que as cadeias de código diferentes dos códigos desincronização dispostas nas posições de inserção de código de sincronização nacadeia de código multiplexada 201 sejam transformadas de modo a terem umadistância de humming de 2 χ η + 1 ou maior do código de sincronização.Especificamente, o número de "l"s (presumido ser nO) é contado em umintervalo no qual 0 < total_len mod sync_period < sync_0_len - (2 χ N + 1). Sen0 é menor que 2xn+l,'T'sde2xn+l- nO bits são inseridos na cadeia decódigo multiplexada 201.
Com respeito a uma cadeia de código 1222, na qual a inserçãode bit foi assim realizada, a inserção de bit (STUFF na fig. 20) é realizada noúltimo intervalo do quadro similar à unidade codificadora de saída da fig. 19,para ser emitida como uma cadeia de código de saída 205.
Esta concretização preferencial de um sistema decodificador deimagem dinâmico, de acordo com a presente invenção, será descrita abaixo. Ainteira construção deste sistema decodificador de imagem dinâmico é a mesmadaquela do sistema decodificador de imagem dinâmico da fig. 21, e a operaçãode um sistema codificador de entrada 800 do mesmo é diferente daquela naterceira concretização preferencial.
A fig. 24 é um diagrama em blocos de uma unidadedecodificadora de entrada 800. Utilizando os mesmos numerais de referênciapara partes correspondentes aquela da unidade decodificadora de entrada dafig. 22, a diferença entre esta concretização preferencial e a terceiraconcretização preferencial será essencialmente descrita. Nesta concretizaçãopreferencial, uma unidade removedora de bit 1905 é adicionada.
Uma cadeia de código de entrada 205' é introduzida em umremovedor de bit inserido 1905, e um processo para remover bits inseridos érealizado de maneira a prevenir um código de pseudo sincronização inseridopor uma unidade de inserção de bit 1211 da unidade codificadora de saída dafig. 23. Como descrito acima, uma vez que a inserção de bit é realizadasomente nas posições de inserção de código de sincronização, as posições deinserção de código de sincronização são determinadas na base de um valorcontado 1911 de um contador 1902.
Por exemplo, presumindo-se que o código de sincronização éuma palavra código mostrada na fig. 5 e quando a unidade de inserção de bit1211 realiza a inserção de bit na parte inicial "0000 " do código desincronização para que a distância de humming do código de sincronização sejamaior que 2 χ η + 1, o número de "l"s de sync_0_len - (2 χ η + 1) bits a partirda posição de inserção de código de sincronização é contado. Quando o nO émenor que 2xn+l,2xn+l-n0 bits são removidos.
Uma vez que é determinado que o bit inserido é "1", quando obit determinado ser o bit inserido é "0", é considerado que um erro é misturadono intervalo de inserção de código de sincronização. Neste caso, um sinal dedetecção de erro (não mostrado) pode ser emitido para um desmultiplexador811, e o mesmo processo daquele na primeira concretização preferencial podeser realizado de forma a prevenir que uma imagem reproduzida sejagrandemente deteriorada.
O processo de inserção de bit pela unidade de inserção de bit1211 da fig. 23 pode ser executado para que os bits inseridos de um númeropredeterminado de bits sejam inseridos em todos os intervalos de inserção decódigo de sincronização diferentes do código de sincronização. A fig. 25mostra um exemplo de uma cadeia de código de saída 205 quando um processode inserção de bit deste tipo é realizado. No desenho, SB designa um bitinserido.
Por exemplo, como mostrado na fig. 5, quando um código desincronização compreende "0"s de bits sync_0_len, um "1" de um bit e"xxxxx" de sync_nb_len bits representativos do tipo do código desincronização , um bit inserido SB de um bit é inserido em uma posiçãopredeterminada de um intervalo de bits sync_0_len da cabeça do intervalo deinserção de código de sincronização.O bit inserido SB pode ser sempre "1". Além disso, de acordocom uma configuração de bit em um intervalo de sync_0_len bits da cabeça dointervalo de inserção de código de sincronização, o bit inserido SB pode serconvenientemente determinado para que o número de "l"s no intervalo sejaigual a ou maior que 1.
Outrossim, o bit inserido SB pode ser uma paridade ímpar emum intervalo de sync_0_len bits da cabeça do intervalo de inserção de códigode sincronização, para prevenir que a mesma configuração de it do código desincronização ocorra e detectar um erro misturado nesta configuração de bit.
A fig. 25(b) mostra um exemplo de uma cadeia de código desaída, na qual um processo de inserção de bit deste tipo é realizado. Nesteexemplo, um bit inserido SB de 1 bit é inserido na parte inicial da posição deinserção de código de sincronização. Este bit inserido SB é determinado deforma que o número de " 1 "s em um intervalo do bit inserido SB e sync O len -1 bits do bit seguinte seja sempre um número ímpar. Por exemplo, no exemploesquerdo da fig 25(b), o bit inserido SB é "1". Além disso, no exemplo direitoda fig. 25(b), uma vez que o bit SB inserido é "1" mesmo se todos os bits são"0" no intervalo de sync_0_len - 1 bits do bit seguinte para o bit inserido SB,"l"s de 1 bit ou mais sempre existem no intervalo de inserção de código desincronização, de forma que a mesma configuração de bit do código desincronização não é produzida. Além disso, uma vez que o bit SB inseridoserve como um teste de paridade, é possível detectar um erro de bit misturadoneste intervalo.
Além disso, o bit SB inserido pode ser um bit de inspeção de paridade ímpar para todos os bits antes da posição de inserção de código desincronização seguinte. Todavia, de maneira a prevenir que a mesmaconfiguração de bit do código de sincronização ocorra somente quando todosos sync_0_len - 1 bits do bit seguinte ao bit SB inserido sejam "O",o bit SBinserido é sempre posicionado para ser "1" Assim, é possível realizar adetecção de erro elo teste de paridade de todos os bits.
De modo a decrescer a probabilidade da detecção de erro de umcódigo de sincronização devido a erro, é desejado inserir mais bits. Porexemplo, para detectar corretamente sincronização mesmo se um erro de η bitsestiver misturado, "l"s de 2 χ η + 1 bits são inseridos em uma posiçãopredeterminada neste intervalo.
Nesta concretização preferencial, a operação da unidaderemovedora de bit 1905 da fig. 24 é diferente de modo a corresponder àoperação da unidade de inserção de bit supra mencionada 1211. Isto é, aunidade removedora de bit 1905 remove o bit SB inserido em uma posiçãopredeterminada, na qual a inserção de bit foi realizada pela unidade de inserçãode bit 1211.
Em um caso onde o bit SB inserido é sempre "1", é determinadoque um erro de bit existe quando um bit na posição de inserção de bit na cadeiade código de entrada 205' é "0", de forma que um sinal de detecção de erro(não mostrado) ode ser emitido para o multiplexador inverso 811 de modo aprevenir que uma imagem reproduzida seja grandemente deteriorada.
Nas primeira à quarta concretizações preferenciais, embora ainformação de modo de predição 303, a informação de vetor de movimento304 e o coeficiente DCT residual 305 tenham sido multiplexados nomultiplexador 111 para cada quadro de codificação como mostrado na fig. 2, ainformação de modo de predição 303, a informação de vetor de movimento304 e o coeficiente DCT residual 305 podem ser multiplexados para cadaregião de codificação (p.ex., um macro bloco , GOB) como mostrado na fig.26. Neste caso, o cabeçalho de imagem 302 e as outras informações podem terdiferente código de correção/detecção de erro, ou o mesmo código decorreção/detecção de erro. Alternativamente, um código de correção/detecçãode erro pode ser usado para somente o cabeçalho de imagem ou para uma partede uma cadeia de código de um número predeterminado de bits de cada quadro,ou nenhum código de correção/detecção de erro pode ser usado.
Além disso, a multiplexação pode não ser realizada somentepara cada quadro (imagem), porém também ode ser realizada para cada partede um quadro ou para cada camada de uma pluralidade de quadros, para queum código de sincronização possa ser inserido para cada uma destas unidadesde multiplexação (unidade de camada).
A fig. 28 mostra exemplos da dita multiplexação. Nos exemplosda fig. 28, os processos de multiplexação são realizados para cada uma dequatro camadas, isto é, cada de macro bloco de uma pluralidade de blocos decodificação, cada camada GOB de uma pluralidade de macro blocos, cadacamada de imagem (quadro) e cada camada de sessão de uma pluralidade deimagens. Entre estas camadas, as camadas de sessão, imagem e GOB utilizamseus sinais de sincronização (SSC, PSC e GSC no desenho), respectivamente.Diferentes códigos são usados para os SSC, SEC, PSC e GSC para que sejapossível identificar em que camada o código de sincronização é detectado.Quando o código de sincronização mostrado na fig. 5 é usado, estes códigos desincronização podem ser distinguidos pela parte de sync_nb_len bitsrepresentativos do tipo do código de sincronização.
Também quando a dita multiplexação é realizada, os mesmosprocessos daqueles para o código de sincronização de quadro nasconcretizações preferenciais precedentes podem ser realizados para uma parteou para todos os códigos de sincronização da sessão, imagem ou GOB A fig.29 mostra um exemplo de uma cadeia de código de saída, na qual um processodeste tipo é realizado. Como mostrado na fig. 29, os bits de enchimento STUFFsão inseridos antes do PSC e do GSC, e os SSC, PSC e GSC são inseridos nasposições de inserção de código de sincronização indicadas pelas setas nodesenho. Por conseguinte, de maneira similar à concretização preferencialsupra mencionada que mostra o código de sincronização de quadro PSC, aprecisão de detecção de cada código de sincronização pode ser aperfeiçoada.A mesma informação de comprimento que a informação decomprimento de quadro INDICADOR (POINTER) das figs. 15, 16 e 17 podeser adicionada a cada código de sincronização da sessão, imagem e GOB. Emum caso onde a informação de comprimento de quadro INDICADOR éprotegida pelo código de correção/detecção de erro como mostrado nas figs. 15e 16, se o código de correção/detecção de erro não é usado somente para ainformação de comprimento de quadro INDICADOR, porém também é usadapara uma parte dos sync_nb_len bits representativos do tipo de um código desincronização, é possível aperfeiçoar a probabilidade de que o tipo do códigode sincronização, adicionalmente à sua posição, possa ser corretamentedetectada. Além disso, uma parte ou a totalidade da informação de cabeçalho(SH, PH e GF no desenho) da sessão, imagem e GOB ode ser protegidautilizando o código de correção/detecção de erro, de forma que é possívelaperfeiçoar a resistência a erro de cada informação de cabeçalho.
Em um caso onde o processo de enchimento para prevenir queum código de pseudo sincronização seja realizado nesta concretizaçãopreferencial, o seguinte processo pode ser realizado para que o intervalo deinserção de código de sincronização syncj>eriod seja igual a ou menor que ocomprimento do código de sincronização.
Primeiramente, será descrito o processo na unidade decodificação de saída do sistema codificador de imagem dinâmico. É presumidoaqui que o código de sincronização seja uma palavra código compreendendo"0"s de sync_0_len bits e um "1" de 1 bit como mostrado a fig. 5. Na unidadecodificadora de saída da fig. 23, presumindo-se que o valor contado 1221representativo do número de bits emitidos pela unidade de inserção de bit 1211seja total_len, quando um resto de divisão de total_len pelo intervalo deinserção de código de sincronização sync_period é igual a um resto de divisãode um valor, que é derivado subtraindo 1 do número de bits sync_0_len do "O"inicial do código de sincronização, pelo sync_period, isto é, quandototal_len mod sync_period
= (sync_0_len - 1) mod sync_period (1)
0 número de "l"s (presumido ser nl) nos bits de saída anteriores (sync_0_len -1) bits do bit de saída naquela ocasião é contado, e um "1" de 1 bit é inserido seinexiste qualquer "1" (isto é, se nl = 0).
A fig. 3 3 (a) mostra um exemplo de uma cadeia de código desaída, para a qual um processo deste tipo foi executado. No desenho, cada umadas setas para baixo indica uma posição de inserção de código desincronização, e um código de sincronização compreende "0"s de 23 bits (istoé, sync_0_len = 23), e um "1" de um 1 bit. No exemplo ilustrado, um períodode intervalo de inserção de código de sincronização é 8, que é mais curto que ocomprimento do código de sincronização (= 24 bits).
No desenho, os intervalos 1 a 4 inclusive indicam intervalospara contar o supra mencionado nl. Em cada intervalo, o número de "l"s nl éseqüencialmente contado. Se η 1 =0, um bit de enchimento é inserido no bitseguinte do intervalo. Uma vez que nl > 0 no intervalo 1, não é requeridoinserir o bit de enchimento. Uma vez que nl = 0 no intervalo 2, um bit deenchimento 3301 de 1 bit é inserido no intervalo seguinte. No intervalo 3, nl =1 devido ao bit de enchimento inserido 3301, de forma que não é requeridoinserir um bit de enchimento.
Se um processo de enchimento de bit é executado, a mesmaconfiguração de bit de um código de sincronização inexiste em uma partediferente do código de sincronização em uma cadeia de código de saída, demodo que não ocorre qualquer pseudo sincronização.
Por outro lado, de maneira a decrescer a probabilidade de queum código de sincronização seja erroneamente detectado devido a um erro dalinha de transmissão, um inserção de bit pode ser realizada como segue:
Mesmo se um erro de η bits entrar um código de sincronização,o código de sincronização pode ser corretamente detectado executando umprocesso de inserção de bit para que uma distância entre uma outra parte alémdo código de sincronização e o código de sincronização em uma cadeia decódigo de saída em uma inserção de bit 1211 é igual a ou maior que 2 χ η +1.
Neste processo, quando um resto derivado dividindo um valorcontado 1221 total_len representativo do número total de bits da cadeia decódigo de saída 205 da fig. 23 por um intervalo de inserção de código desincronização sync_period é coincidente com um resto derivado dividindo umvalor, que é derivado subtraindo 2 χ η + 1 do número inicial de bits de "0"s deum código de sincronização, por sync_period, isto é, quandototal_len mod sync_period
= (sync_0_len - (2 χ η + 1)) mod sync_period (2)
o número de " 1 "s (presumido ser nl) em bits de saída de (sync_0_len - (2 χ η +1)) bits do bit de saída naquela ocasião.
Se o número de "l"s é menor que (2xn+ 1) bits, isto é, se nl <2 χ η + 1, "1 "s de (2 χ η + 1 - nl) bits são inseridos.
Como mostrado na fig. 5, quando um código de sincronizaçãopartindo de "0"s de uma pluralidade de bits é usado, se o número de "l"s emuma cadeia de bit imediatamente antes do código de sincronização éinsuficiente, uma detecção de erro de sincronização pode ocorrer naquela parte.Para prevenir isto, uma inserção de bit (STUFF na fig. 20) no último intervalode um quadro pode ser emitida para que o número de bits de "l"s em umintervalo de sync_period bits do código de sincronização para a posição deinserção de código de sincronização imediatamente anterior ao código desincronização é igual a ou maior que 2 χ η + 1 bits.
Para realizar isto, um enchimento (STUFF) sempre contendo"l"s de 2 χ η + 1 bits pode ser usado, ou o enchimento (STUFF) pode serdeterminado de acordo com uma cadeia de código de saída. Isto, o enchimento(STUFF) pode ser determinado para que o número de bits de "lMs desync_period bits imediatamente anterior ao código de sincronização na cadeiade código de saída contendo o enchimento (STUFF) seja igual a ou maior que2 χ η + 1 bits.
A fig. 33(b) mostra um exemplo de uma cadeia de código desaída, para a qual um processo deste tipo foi executado. No desenho, osintervalos 1 a 4 inclusive indicam intervalos para contar o sura mencionado nl.Em cada intervalo, o número de "l"s ni é seqüencialmente contado. Se η 1 < 2 χη + 1, um bit de enchimento é inserido no bit seguinte daquele intervalo. Umavez que nl = 1 no intervalo 2, bits de enchimento 3311 de(2xn + 1) - 1 = 2bits são inseridos no intervalo seguinte. Em um intervalo 3, nl =3 devido aosbits de enchimento 3311 inseridos, de forma que não é requerido inserir bits de enchimento.
Além disso, de modo a prevenir uma detecção de erro de códigode sincronização imediatamente anterior a um código de sincronização, umenchimento (STUFF) é determinado como segue. E presumido que um bitimediatamente anterior ao enchimento (STUFF) é 331. Uma vez que o númerode "l"s em um intervalo (intervalo 5) de sync_period bits de uma posição deinserção de código de sincronização imediatamente anterior ao bit 3312 parauma posição de inserção de código de sincronização imediatamente após o bit3312 é somente 1 bit, uma detecção de erro de sincronização pode ocorrernesta parte se o código de sincronização tem uma pluralidade de "O"continuamente dispostos como mostrado na fig. 5. Por conseguinte, a posição,na qual o código de sincronização é inserido, é deslocada para a posição deinserção de código de sincronização seguinte, e um enchimento STUFF 3313contendo muitos " 1 "s é emitido. Assim, uma vez que "1 "s de 2 χ η + 1 ou maisestão contidos em um intervalo (intervalo 6) de sync_period bits imediatamenteanterior ao código de sincronização, é possível prevenir a detecção de erro desincronização.
Se um processo de enchimento de bit deste tipo é executado, adistância de humming do código de sincronização pode ser 2 χ η + 1 ou maiorem uma parte diferente do código de sincronização na cadeia de código desaída, de forma que a probabilidade da detecção de erro de sincronização podeser decrescida.
Processos em um sistema decodifícador de saída de um sistemadecodificação de imagem dinâmico serão descritos abaixo. No removedor debit 1905 da fíg. 24, presumindo que o valor contado 1905 representativo donúmero de bits de uma cadeia de código de entrada seja total_len, e quando ototal_len satisfaz as condições nas quais é 1, o número de " 1 "s (presumido sernl) nos bits de entrada de (sync_0_len - 1) bits a partir do bit de entradanaquela ocasião é contado. Se nenhum "1" existe, isto é, se nl = 0, 1 bit é removido.
De maneira a detectar um código de sincronização mesmo seum erro de η bits é misturado no código de sincronização, num caso onde umprocesso de inserção de bit é executado pela unidade de inserção de bit 1211para que a distância de humming entre uma parte diferente do código desincronização e o código de sincronização em uma cadeia de código de saídaseja igual a ou maior que 2 χ η + 1 o seguinte processo pode ser executado.Quando o total_len atinge um valor satisfazendo a fórmula (2), o número de"l"s (presumido ser nl) de (sync_0_len - (2 χ η + 1)) bits do bit de entradanaquela ocasião nos bits de saída é contado. Quando o número de "l"s é menorque (2 χ η + 1), isto é, quando nl < (2 χ η + 1), (2 χ η + 1 - nl) bits sãoremovidos.
Na unidade codificadora de saída e na unidade decodificadorade entrada, se os processos supra mencionados são executados de forma que ointervalo de inserção de código de sincronização sync_period tem um númerode bits menor que o comprimento do código de sincronização, o número de bitsde bits de enchimento (STUFF) pode ser decrescido, de maneira que aeficiência de codificação pode ser aperfeiçoada. Em particular, quando umcódigo de sincronização é longo, ou quando muitos códigos de sincronizaçãosão inseridos, o grau da eficiência de codificação aumentada devido aodecréscimo do número de bits dos bits de enchimento (STUFF) ser grande. Porexemplo, em um sistema para dividir uma tela em um ou uma pluralidade demacro blocos ou linhas de macro bloco para inserir códigos de sincronizaçãoem cada unidade, tal como GOB/slice em uma codificação de imagemdinâmica, muitas configurações de imagem dinâmica são inseridas, de maneiraque o grau da eficiência de codificação devido ao decréscimo do número debits de enchimento (STXJFF) é aumentado.
Além disso, quando uma estrutura tendo uma pluralidade decamadas é multiplexada como mostrado na fig. 28, códigos de sincronizaçãotendo diferentes comprimentos de acordo com as camadas podem ser usados.
A fig. 34(a) mostra exemplos dos ditos códigos desincronização. Entre quatro tipos de códigos de sincronização, cada um deSSC, SEC e PSC tem 32 bits, que compreendem "0"s de 23 bits, um "1" de 1bit e 8 bits representativos do tipo do código de sincronização. Por outro lado,um código de sincronização GSC de uma camada GOB é um código desincronização de 17 bits, que compreende "0"s de 16 bits e um "1" de 1 bit, e éuma palavra código mais curta que outros códigos de sincronização.
A razão pela qual somente o GSC tem uma palavra código amenos é a seguinte. GOB é uma unidade codificada, que compreende um ouuma pluralidade de macro blocos (MB) e que é formada dividindo uma tela empequenas regiões, de forma que genericamente existem mais códigos desincronização da camada GOB do que outros códigos de sincronização. Porconseguinte, se o comprimento do código de sincronização é decrescido, aextensão de código da cadeia de código de saída pode ser decrescida. Alémdisso, é possível emitir mais GSCs se a extensão de código é a mesma, e épossível dividir a tela em pequenas regiões GOB para codificação, de modoque a qualidade de uma imagem reproduzida pode ser aperfeiçoada quandoocorre um erro da linha de transmissão.Um processo para prevenir uma pseudo sincronização comodescrito no quarta concretização preferencial, isto é, um processo deenchimento de bit para prevenir que a mesma configuração de bit de um códigode sincronização venha a ser produzida em uma cadeia de código diferente deum código de sincronização, possa ser realizada. Se um processo deenchimento de bit para decrescer a probabilidade de detecção de erro de umcódigo de sincronização devido a um erro de linha de transmissão, p.ex. umprocesso de enchimento de bit para prevenir que a mesma configuração de bitde um código de sincronização mais curto (GSC no exemplo da fig. 34(a))venha a ser produzida em uma cadeia de bit, para a qual é assegurado somenteque a mesma configuração de bit de um longo comprimento de bit de código desincronização (SSC, SEC, PSC no exemplo da fig. 34(a)) não seja produzida, érealizado, é possível prevenir que as mesmas configurações de bit de todos oscódigos de sincronização venham a ser produzidas. Este processo pode serrealizado para a cadeias de código de todas as camadas, ou para cadeias decódigo de camadas inferiores (camada GOB, camada de macro bloco noexemplo ilustrado) do que uma camada utilizando o código mais curto, ou paracadeias de código de camadas (camada de imagem, camada GOB, camada demacro bloco) abaixo de uma camada imediatamente acima daquela camada.Alternativamente, este processo pode ser realizado somente para cadeias decódigo de uma camada predeterminada.
Para identificar facilmente códigos de sincronização dediferentes comprimentos mesmo se ocorrer um erro de linha de transmissão, oprocesso de um código de sincronização ou antes o após o código desincronização pode ser realizado como segue.
(i) Em um caso onde um código de sincronizaçãocompreendendo uma pluralidade de bits de "0"s e o subsequente "1" é usado,as posições recíprocas de uma palavra código longa e de uma palavra códigocurta em relação à posição de inserção do código de sincronização do "1"podem ser diferentes. No exemplo da fig. 34(b), o "1" 3211 do PSC e o "1"3412 do GSC são dispostos em posições diferentes, e todos os bits (3413 a3411, 3414 a 3412) dispostos nas mesmas posições em outros códigos desincronização são "O". Assim, uma vez que a distância de humming do códigode sincronização e uma cadeia de código parcial do mesmo é aumentada épossível facilmente identificar diferentes códigos de sincronização mesmo seocorre um erro de linha de transmissão.
(ii) Um bit de enchimento pode ser inserido antes de um códigode sincronização curto. Por exemplo, se um bit de enchimento 3401compreendendo um ou uma pluralidade de "l"s é inserido antes de um GSCcurto, a distância de humming entre o OSC e a cadeia de código parcial deoutro código de sincronização pode ser aumentada.
(iii) Um bit de enchimento pode ser inserido após um código desincronização curto. Por exemplo, uma inserção de bit 3402 pode ser realizadaapós um GSC de modo a aumentar a distância de humming de uma parteidentificando o tipo de um código de sincronização em longos códigos desincronização.
(Quinta Concretização Preferencial)
A quinta concretização preferencial da presente invenção serádescrita abaixo.
Nesta concretização preferencial, as inteiras construções de umsistema codificador de imagem dinâmico e um sistema decodificador deimagem dinâmico são as mesmas daquelas na primeira concretizaçãopreferencial, exceto pelos processos realizados nas partes inicial e final de umintervalo de sincronização por uma unidade codificadora de saída 200 e umaunidade decodificadora de entrada 800.
As figs. 27(a), 27(b) e 27(c) são exemplos de uma cadeia decódigo de saída 205 de um sistema codificador de imagem dinâmico napresente concretização preferencial. Nesta cadeia de código de saída 205, umaparte 2701 de uma cadeia de código do último quadro (quadro n-1) é dispostaapós um código de sincronização PSC5 e uma informação indicadora 2702(SA) representativa de um limite 2703 (um ponto de partida de uma cadeia decódigo do quadro atual) entre a cadeia de código 2701 e o quadro atual (quadron), isto é, o limite entre cadeias de código multiplexadas, é estabelecido, deforma que o bit de enchimento (STUFF na fig. 4) inexiste no último de umquadro. Neste ponto, esta cadeia de código de saída 205 é diferente da cadeiade código de saída da fig. 4.
Na unidade codificadora de saída 200 do sistema codificador deimagem dinâmico, o número de bits resid_bit das cadeias de código residual doquadro é testada em cada posição de inserção de código de sincronização.Quando a soma do resid_bit e do número de bits de um código desincronização PSC e de uma informação indicadora SA é menor que o de bitssync_period do intervalo de inserção de código de sincronização, o código desincronização PSC é emitido antes das cadeias de código residuais do quadroserem emitidas para a cadeia de código de saída 205. Então, a informaçãoindicadora SA (representativa do resid_bit neste caso) é emitida, e então, ascadeias de código residuais 2701 são emitidas. Subseqüentemente, as cadeiasde código do quadro seguinte são emitidas.
No sistema de codificação de entrada 800 do sistemadecodificador de imagem dinâmico, um código de sincronização é detectadoem cada uma das posições de inserção de código de sincronização. Quando ocódigo de sincronização é detectado, é determinado que a informação deindicador SA e a informação residual do quadro sejam dispostas após o códigode sincronização detectado, e o processo subsequente é executado.
Por exemplo, o limite entre um quadro n-1 e um quadro η nafig. 27 será descrito. Após o processo decodificador imediatamente anterior2704 o código de sincronização PSC é completado, um código desincronização é detectado no intervalo de inserção de código de sincronizaçãosubsequente. Quando o código de sincronização é detectado, a informaçãoindicadora 2702 é decodificada, e é derivado quais bits as cadeias de código doquadro n-1 possuem. Na base disto, os bits do número de bits indicado pelainformação indicadora são extraídos da cadeia de código imediatamente após ainformação indicadora (para 2703 na fig. 27), e a cadeia de código 801 éemitida de forma que estas são dispostas após 2704.
Nesta concretização preferencial, a codificação de correção/detecção de erro de uma parte ou de todas as cadeias de código de saída podeser realizada como mostrado na fig. 27(a). Neste caso, todos os tipos doscódigos de correção/detecção de erro podem ser os mesmos ou diferentes.
Além disso, como mostrado na fig. 27(b), a codificação decorreção/detecção de erro não pode ser realizada.
Outrossim, como mostrado na fig. 27(c), a informaçãoINDICADORA (POINTER) de comprimento de quadro representativa donúmero de bits de cadeias de código de um quadro como mostrado nas figs. 15e 16 pode ser inserida. Neste caso, a informação INDICADORA (POINTER)de comprimento de quadro pode ser representativa do número de bits docódigo de sincronização PSC do quadro para um código de sincronização PSCdo quadro seguinte.
Em um caso onde a codificação de correção/detecção de erro érealizada como mostrado na fig. 27(a), a informação de indicador SA, ascadeias de código residual 2701 do quadro n-1, e as cadeias de código doquadro η após 2703 são combinadas para serem um bit de informação, e acodificação de correção/detecção de erro do bit de informação combinado érealizada.
A informação indicadora (POINTER) SA pode ser informação,para a qual a codificação de correção/detecção de erro foi realizada. Nestecaso, o código de sincronização PSC (ou uma parte do mesmo), a informaçãode comprimento de quadro POINTER e a informação indicadora podem sercombinadas para efetuar a codificação de correção/detecção de erro.
Exemplos de bits de enchimento STUFF serão descritos abaixo.
As figs. 30(a) e 30(b) mostram exemplos de tabelas de códigode bits de enchimento STUFF como exemplos dos bits de enchimento supramencionados STUFF. Ambas as figs. 30(a) e 30(b) são caracterizadas pelo fatoda decodificação poder ser uniformemente realizada na direção para trás parauma cadeia de código de saída, para que a posição de partida dos bits deenchimento STUFF possa ser uniformemente identificada. Por conseguinte, umerro misturado em uma cadeia de código pode ser detectado comparando aposição final decodificadora de uma cadeia de código imediatamente antes dobit de enchimento STUFF com a posição inicial do bit de enchimento STUFF,e o ponto de partida da decodificação para trás pode ser identificado quandoum sistema codificador para decodificação numa direção para trás de umcódigo de sincronização é usado.
Outrossim, nos bits de enchimento STUFF mostrados nastabelas de código das figs. 30(a) e 30(b), o primeiro bit é sempre "0", de formaque a detecção de erro pode ser realizada por uma decodificação simplificadacomo descrito mais adiante.
A fig. 31 mostra um exemplo de um processo decodificador deuma cadeia de código, que contém os bits de enchimento STUFF mostradosnas tabelas de código das figs. 30(a) e 30(b). Embora a fig. 31 mostre umexemplo do bit de enchimento imediatamente antes da posição de inserção decódigo de sincronização, o mesmo processo pode ser realizado inserindo umbit de enchimento imediatamente antes de outra posição de inserção de códigode sincronização opcional. Na fig. 31, as setas 3101 a3103 indicam exemplosde posições extremas de decodificação de uma cadeia de código (indicada por"xxx ") imediatamente anterior ao bit de enchimento STUFF quando adecodificação é realizada numa direção para a frente, e a extremidade direita decada uma das setas indica a posição final de decodificação. Quando nenhumerro é misturado em uma cadeia de código e a decodificação é normalmenterealizada, a posição final de decodificação de uma cadeia de códigoimediatamente anterior ao bit de enchimento STUFF é coincidente com aposição inicial do bit de enchimento STUFF como indicado pela seta 3101.
Por outro lado, quando um erro é misturado em uma cadeia decódigo, a posição final de decodificação de uma cadeia de códigoimediatamente anterior ao bit de enchimento STUFF é deslocada da posição departida do bit de enchimento STUFF como indicada pelas setas 3102 e 3103.Neste caso, é determinado que existe um erro na cadeia de código
No sistema decodificador, quando a decodificação de uma cadeia de código imediatamente anterior ao bit de enchimento STUFF écompletada, o bit de enchimento STUFF anterior à posição de inserção decódigo de sincronização seguinte é lido, e é determinado se o bit deenchimento STUFF lido é coincidente com os códigos na tabela de códigosmostrada nas figs. 30(a) e 30(b). Se o bit de enchimento STUFF não écoincidente com quaisquer códigos, é determinado que existe um erro.
Quando é determinado se o bit de enchimento STUFF écoincidente com a tabela de código, um pequeno erro de bit pode ser tolerável.Assim, é possível decrescer a detecção de erro de um erro quando um erro émisturado no bit de enchimento STUFF propriamente dito.
A tabela de código da fig. 30(a) sempre se inicia de "0" e tem osbits subsequentes de " 1 "s. Por conseguinte, de maneira a realizar a detecção derro, pode ser determinado somente se o bit seguinte à posição final dedecodificação da cadeia de código imediatamente antes do bit de enchimentoSTUFF é "0", ou a detecção de erro pode ser realizada somente pelo primeiro"0" e alguns "l"s subsequentes. Assim, embora a precisão de detecção de erroseja ligeiramente baixada, o trabalho exigido para a decodificação pode serreduzido. Assim, em um caso onde uma tabela de código partindo de umaconfiguração de bit específica, na qual todos os bits de enchimento STUFFcompreendem um bit específico ou uma pluralidade de bits, é utilizada, oprocesso de decodificação pode ser simplificado.
Além disso, os bits de enchimento STUFF mostrados nastabelas de código das figs. 30(a) e 30(b) contém uma porção de bits de "1", e asdistâncias de humming do código de sincronização contendo uma porção de"0"s e uma parte dos mesmos são grandes como mostrado na fig. 5, de maneiraque existe uma vantagem pelo fato de ser baixa a probabilidade da ocorrênciade uma pseudo sincronização. Especificamente, na tabela de código da fig.30(a), todos de somente os primeiros bits dos bits de enchimento STUFF são"0", e todos dos outros bits são"0", de forma que a distância de humming entreos códigos de sincronização, todos os quais são "0", e uma parte da mesma é (ocomprimento do bit de enchimento STUF é -1). Além disso, na tabela decódigo da fig. 30(b), somente os primeiro e último bits dos bits de enchimentoSTUFF são "0", e todos outros bits são "1", de forma que as distâncias dehumming do código de sincronização e uma parte das mesmas são (ocomprimento do bit de enchimento STUFF é -2). Assim, se as distâncias dehumming entre o bit de enchimento STUFF, e o código de sincronização e umaparte do mesmo são selecionados de forma a ser maior que um valorpredeterminado, p.ex., (o comprimento de bit de enchimento STUFF -2), demaneira que é difícil produzir um código de pseudo sincronização ainda queexista um erro misturado em uma cadeia de código.
Reportando-se à fig. 32, este efeito será descrito. As figs. 32(a-0) e 32(b-0) mostram exemplos de cadeias de código quando os bits deenchimento usual (todos os bits são "0") e os bits de enchimento STUFFmostrados na tabela de código da fig. 30(a) são utilizados, e as figs. 32(a-l) e32(b-l) mostram exemplos quando um erro de 1 bit é misturado nas figs. 32(a-0) e 32(b-0), respectivamente. Como pode ser visto pela fig. 32(a-l), sesomente um erro de 1 bit é misturado nos bits de enchimento usuais nos quaistodos os bits são "0", a mesma configuração de bit como o código desincronização é produzida como indicado pela linha descontínua na fig. 32(a-1), de forma que uma pseudo sincronização ocorre. Por outro lado, o bit deenchimento STUFF representativo da tabela de código da fig. 30(b) não é damesma configuração do código de sincronização mesmo se um erro estivermisturado como mostrado na fig. 32(b-2), de maneira que nenhuma pseudosincronização ocorre.
Assim, o bit de enchimento nesta concretização preferencialapresenta vantagens pelo fato de ser possível facilmente detectar um erro deuma cadeia de código, e é difícil produzir um código de pseudo sincronizaçãomesmo se um erro estiver misturado em uma cadeia de código, de modo que épossível proporcionar uma forte resistência a erro.
Além disso, o bit de enchimento na presente concretização podedecodificar uniformemente na direção para trás, e identificar a posição departida do mesmo, isto é, a posição final de uma cadeia de códigoimediatamente anterior ao bit de enchimento STUFF. Por conseguinte, após acodificação, pela qual uma cadeia de código de informação pode serdecodificada em ambas as direções para a frente e para trás, ser realizada, acadeia de código imediatamente anterior a STUFF pode ser decodificada nadireção para trás como indicado pela seta 3104 na fig. 31.
Na concretização preferencial supra mencionada, o bit deenchimento STUFF, pode ser determinado como segue.
(1) Em um caso onde um código de sincronização contém "0"sde sync_0_bit como mostrado na fig. 5, se todos os bits dos bits de enchimentodos bits de enchimento STUFF ou pelo menos nas posições de inserção decódigo de sincronização são posicionados para serem "1", as distâncias dehumming entre as partes de "0" do código de sincronização e os bits deenchimento STUFF podem ser aumentadas. Por conseguinte, é possíveldecrescer a probabilidade de que um erro seja misturado nos bits deenchimento STUFF para produzir uma pseudo sincronização.(2) O bit de enchimento STUFF pode ser uma palavra códigorepresentativa do seu comprimento. No sistema decodificador, o comprimentodo STUFF a partir do ponto, no qual a decodificação de uma cadeia de códigodiferente do bit de enchimento STUFF é completada, é determinado, e adecodificação do STUFF é efetuada para decodificar a informação decomprimento do STUFF. Neste caso, se ambas são coincidentes entre si, podeser determinado que um erro está misturado na cadeia de código.
Além disso, o comprimento da cadeia de código dos bits deenchimento STUFF pode ser indicado por números binários. Por exemplo, seos STUFFs são de 5 bits, "5" pode ser indicado por números binários de modoa ser "00101". Alternativamente, um valor derivado tomando um complementode "1" ou "2" de um valor indicado por números binários pode ser usado comouma palavra código dos bits de enchimento STUFF. Assim, o número de bitsde "0"s nos STUFFs é decrescida, de forma que é possível inibir a ocorrênciade uma pseudo sincronização similar à supra mencionada (1).
(3) Em um caso onde a codificação é realizada utilizando umapalavra código que pode ser decodificada em ambas as direções para a frente epara trás, é requerido decodificar os bits de enchimento STUFFs na direçãopara trás a partir do ponto final do quadro no sistema decodificador, paradeterminar o ponto de partida (o ponto limite entre o STUFF e outra palavracódigo). Neste caso, os bits de enchimento STUFFs podem ser determinadosde forma a serem uma palavra código, que se inicia de "0"(s) de 1 bit ou deuma pluralidade de bits e tem os residuais de "l"s, tal como "01111111".Assim, se os bits de enchimento STUFF são decodificados na direção para tráspara buscar a posição de "0", pode ser uniformemente determinado que aposição buscada é o ponto de partida dos bits de enchimento STUFF. Alémdisso, neste exemplo, os bits diferentes da parte inicial dos bits de enchimentoSTUFF são "1", de forma que é possível reduzir a probabilidade de ocorrênciade uma pseudo sincronização similar a (1) supra mencionado.(4) O bit de enchimento STUFF pode ser um bit de inspeção,um bit de inspeção de paridade ou semelhante para um código dedetecção/correção de erro de uma parte de todos os bits de uma cadeia decódigo de saída. Assim, a correção/detecção de erro de um erro de bitmisturado em uma cadeia de código de saída pode ser realizada.
Como descrito nos exemplos acima, os bits de enchimentoSTUFFs são produzidos de acordo com uma regra predeterminada, e os bits deenchimento STUFFs em uma cadeia de código de entrada são testados com aregra produtora em um sistema decodificador. Se é determinado que os bits deenchimento STUFF são contra a regra produtora, pode ser determinado que umerro é misturado com a cadeia de código de entrada. Assim, se um processopara prevenir que uma imagem reproduzida seja grandemente deteriorada érealizado em um sistema decodificador de imagem dinâmico, é possívelaperfeiçoar a qualidade de uma imagem reproduzida quando um erro émisturado com a cadeia de código de entrada.
Outrossim, na concretização preferencial supra mencionada, ointervalo de inserção de código de sincronização sync_period pode serdeterminado como segue.
(1) Em um caso onde um código de correção/detecção de erro éusado, um intervalo de inserção de código de sincronização sync_period podeser maior que o número mínimo de bits requerido para realizar a detecção desincronização por intermédio de um sistema decodificador, isto é, a soma docomprimento de um código de sincronização e do valor máximo de um bit deinspeção para uma código de correção/detecção de erro. Uma vez que o valormédio dos números de bits dos últimos bits de enchimento STUFFs de umquadro é de sync_period / 2, se o sync_period tem o número mínimo de bits,pelo qual a detecção de sincronização pode ser realizada, é possível decrescer onúmero de bits dos bits de enchimento STUFF para aperfeiçoar a eficiência decodificação.(2) Num caso onde nenhum código de correção/detecção deerros é usado, um intervalo de inserção de código de sincronizaçãosync_period pode ser maior que o número mínimo de bits requerido pararealizar a detecção de sincronização por intermédio de um sistemadecodificador, isto é, o comprimento de um código de sincronização. Uma vezque o valor médio do número de bits dos últimos bits de enchimento STUFFsde um quadro é sync_period / 2, se o sync_period tem os bits mínimos pelosquais a detecção de sincronização pode ser realizada, é possível decrescer onúmero de bits dos bits de enchimento STUFFs para aperfeiçoar a eficiência decodificação.
(3) Em um caso onde a informação de comprimento de quadroPOINTER é usada como mostrado nas figs. 15, 16, 17 e 27, um intervalo deinserção de código de sincronização sync_period pode ser mais curto que ocomprimento de um código de sincronização. Assim, é possível decrescer onúmero de bits dos bits de enchimento STUFFs para aperfeiçoar a eficiência decodificação.
(4) Em um caso onde a transmissão/armazenamento é realizadadividindo em pacotes ou células a intervalos determinados em uma linha detransmissão ou um meio de armazenamento, um intervalo de inserção decódigo de sincronização sync_period pode ser casado com o intervalo dospacotes ou células, ou um divisor do mesmo. Assim, uma vez que a cabeça dospacotes ou células é sempre disposta na posição de inserção de código desincronização, é possível detectar um código de sincronização mesmo se umpacote ou célula é produzido devido à perda de pacote ou perda de célula.
(5) O intervalo de inserção de código de sincronização sync_period de preferência é mais curto que o número mínimo requerido de bits deum quadro. Assim, é possível decrescer o número de bits dos bits deenchimento STUFFs para aperfeiçoar a eficiência da codificação.
(Sexta Concretização Preferencial)A sexta concretização preferencial da presente invenção serádescrita.
A fig. 35 mostra exemplos de cadeias de código de saída de umsistema codificador de imagem dinâmico nesta concretização preferencial.Nestas cadeias de código de saída, de maneira a reduzir a probabilidade dadetecção de erro de um código de sincronização devido a erros, o processo deinserção de bit como descrito nas concretizações preferenciais supramencionadas é realizado. Além disso, informações, tais como informaçõesheater são dispostas em posições predeterminadas, ou em posiçõespredeterminadas baseadas sobre um código de sincronização.
A fig. 35(a) é uma cadeia de código antes de um processo deinserção de bit ser realizado, e a fig. 35(b) é uma cadeia de código após umprocesso de inserção de bit ser realizado. Nos desenhos, cada uma das partes3201, 3202, 3261 e 3262 indicadas pelas linhas oblíquas mostra informaçõesdispostas na posição predeterminada (a posição predeterminada baseada sobreum código de sincronização), e cada uma das setas vazias 3211 e 3212 indica aposição, na qual a informação é inserida. A informação 3261 e a informação3262 da cadeia de código na fig. 35(b) correspondem às informações 3201 einformações 3202 da cadeia de código na fig. 35(a), respectivamente. Emalguns casos, quando a cadeia de código (a) é transformada na cadeia decódigo (b), estas informações podem ser transformadas (isto é, a transformaçãoda informação 3201 na informação 3261 e a transformação da informação 3202na informação 3262).
Na fig. 35(b), 3203 designa um bit inserido pelo processo deinserção de bit. Uma vez que a cadeia de bit subsequente ao bit inserido édeslocada para trás pelo processo de inserção de bit, uma parte de uma cadeiade código imediatamente anterior à informação a ser inserida em uma posiçãopredeterminada é deslocada de forma que a informação seja inserida na posiçãopredeterminada. Por exemplo, presumindo-se que o total dos números de bitsinseridos do código de sincronização 3205 imediatamente antes da informação3201 é Nsl, Nsl bits indicados pelo sinal 3221 na fig. 35(a) imediatamenteantes da informação 3201 podem ser deslocados para a parte de sinal 3231 nafig. 35(b) imediatamente após a informação 3201.
Se informação tal como um indicador representativo de umaposição específica em uma cadeia de código é contida na informação 3201 e/ou3202, esta pode ser transformada. Especificamente, por exemplo, seinformação representativa da posição indicada pela seta 3241 é contida nainformação 3201, a informação representativa da posição na informação 3261 étransformada de modo a indicar a posição representativa da seta 3251 após aposição pelo número Nsl dos bits inseridos.

Claims (10)

1. Método de codificação, caracterizado pelo fato decompreender as etapas de:multiplexar uma pluralidade de tipos de códigos decomprimento variável (PH, MODE, MV, COEF) gerados por codificação porcompressão de um sinal de imagem de entrada (131) para gerar uma cadeia decódigo multiplexada (201);montar uma cadeia de código de saída (205) pelo uso da cadeiade código multiplexada (201) como uma entrada; einserir um código de sincronização (PSC) em uma de umapluralidade de posições de inserção de código de sincronização periodicamente(sync__period) predeterminadas na cadeia de código de saída (205), e inserir umbit de enchimento (STUFF), um primeiro bit do bit de enchimento sendo umprimeiro valor, e, quando há um bit subseqüente ao primeiro bit do bit deenchimento, o bit subseqüente do bit de enchimento sendo um segundo valor.
2. Método de codificação, caracterizado pelo fato decompreender as etapas de:multiplexar uma pluralidade de tipos de códigos decomprimento variável (PH, MODE, MV, COEF) gerados por codificação porcompressão de um sinal de imagem de entrada (131) para gerar uma cadeia decódigo multiplexada (201);montar uma cadeia de código de saída (205) pelo uso da cadeiade código multiplexada (201) como uma entrada; einserir um código de sincronização (PSC) em uma de umapluralidade de posições de inserção de código de sincronização periodicamente(sync_period) predeterminadas na cadeia de código de saída (205), e inserir umbit de enchimento (STUFF) de 8 bits ou menos na cadeia de código de saída (205).
3. Método de codificação, caracterizado pelo fato decompreender as etapas de:multiplexar uma pluralidade de tipos de códigos decomprimento variável (PH, MODE, MV, COEF) gerados por codificação porcompressão de um sinal de imagem de entrada (131) para gerar uma cadeia decódigo multiplexada (201);montar uma cadeia de código de saída (205) pelo uso da cadeiade código multiplexada (201) como uma entrada; einserir um código de sincronização (PSC) em uma de umapluralidade de posições de inserção de código de sincronização periodicamente(sync_period) predeterminadas na cadeia de código de saída (205), e inserir umbit de enchimento (STUFF), o número mais longo de bits do bit de enchimentosendo o mesmo comprimento que um intervalo (sync_period) da posição deinserção de código de sincronização na cadeia de código de saída (205).
4. Método de codificação, caracterizado pelo fato decompreender as etapas de:multiplexar uma pluralidade de tipos de códigos decomprimento variável (PH, MODE, MV, COEF) gerados por codificação porcompressão de um sinal de imagem de entrada (131) para gerar uma cadeia decódigo multiplexada (201);montar uma cadeia de código de saída (205) pela inserção dacadeia de código multiplexada (201); einserir um código de sincronização (PSC) em uma de umapluralidade de posições de inserção de código de sincronização periodicamente(sync_period) predeterminadas na cadeia de código de saída (205), e inserir umbit de enchimento (STUFF) na cadeia de código de saída, o bit de enchimentotendo um comprimento igual ou menor que um intervalo (sync_period) dasposições de inserção de código de sincronização.
5. Método de codificação, caracterizado pelo fato decompreender as etapas de:multiplexar uma pluralidade de tipos de códigos decomprimento variável (PH, MODE, MV, COEF) gerados por codificação porcompressão de um sinal de imagem (131) para cada pluralidade de camadas(Camada de Sessão, Camada de Quadro, Camada GOB, Camada MB) paragerar uma cadeia de código multiplexada (201);montar uma cadeia de código de saída (205) pelo uso da cadeiade código multiplexada (201) como uma entrada; einserir um código de sincronização (SSC, SEC, PSC, GSC) emuma de uma pluralidade de posições de inserção de código de sincronizaçãoperiodicamente (sync_period) predeterminadas na cadeia de código de saída(205), o código de sincronização tendo um comprimento diferente um do outrodependendo de cada camada (Camada de sessão, Camada de Quadro, CamadaGOB, Camada MB).
6. Decodificador, caracterizado pelo fato de compreender:um detector de código de sincronização (800) configurado paradetectar um código de sincronização (PSC) em uma pluralidade de posições deinserção de código de sincronização de um intervalo fixo em uma cadeia decódigo de entrada (205'), a cadeia de código de entrada incluindo uma cadeiade código multiplexada (801) obtida pela multiplexação de uma pluralidade decadeias de código de comprimento variável (PH, MODE, MV5 COEF), cadauma da pluralidade de cadeias de código de comprimento variável sendogerada pela compressão e codificação de um sinal de imagem, a cadeia decódigo de entrada tendo bits de enchimento (STUFF) dos quais um primeiro bitpossui um primeiro valor e um bit subseqüente (PSC) possui um segundo valorquando o bit subseqüente estiver presente;um demultiplexador (811) configurado para demultiplexar acadeia de código multiplexada (801) na cadeia de código de entrada (205')com base em uma posição do código de sincronização (PSC) detectado pelodetector de código de sincronização (800) para gerar o código de comprimentovariável (841, 842); eum decodificador (806, 807, 808, 809, 810, 801, 820)configurado para decodificar o código de comprimento variável gerado (841,-842) para emitir um sinal de imagem reproduzido (850).
7. Decodificador, caracterizado pelo fato de compreender:um detector de código de sincronização (800) configurado paradetectar um código de sincronização (PSC) em uma pluralidade de posições deinserção de código de sincronização periodicamente (sync_period)predeterminadas em uma cadeia de código de entrada (205') que inclui umacadeia de código multiplexada (801) obtida pela multiplexação de umapluralidade de cadeias de código de comprimento variável (PH, MODE, MV,COEF) e um bit de enchimento do qual o mais longo comprimento de bit é 8bits, o código de comprimento variável sendo gerado pela compressão ecodificação de um sinal de imagem;um demultiplexador (811) configurado para demultiplexar acadeia de código multiplexada (801) na cadeia de código de entrada (205')com base em uma posição do código de sincronização (PSC) detectado pelodetector de código de sincronização (800) para gerar o código de comprimentovariável (841, 842); eum decodificador (806, 807, 808, 809, 810, 801, 820)configurado para decodificar o código de comprimento variável gerado (841,-842) para emitir um sinal de imagem reproduzido (850).
8. Decodificador, caracterizado pelo fato de compreender:um detector de código de sincronização (800) configurado paradetectar um código de sincronização (PSC) em uma pluralidade de posições deinserção de código de sincronização de um intervalo fixo em uma cadeia decódigo de entrada (205'), a cadeia de código de entrada incluindo uma cadeiade código multiplexada (801) obtida pela multiplexação de uma pluralidade decadeias de código de comprimento variável (PH, MODE, MV, COEF), cadauma da pluralidade de cadeias de código de comprimento variável sendogerada pela compressão e codificação de um sinal de imagem, a cadeia decódigo de entrada tendo bits de enchimento (STXJFF) dos quais o comprimentode bit mais longo é igual ao intervalo fixo (sync_period) da pluralidade deposições de inserção de código de sincronização;um demultiplexador (811) configurado para demultiplexar acadeia de código multiplexada (801) na cadeia de código de entrada (205')com base em uma posição do código de sincronização (PSC) detectado pelodetector de código de sincronização (800) para gerar o código de comprimentovariável (841, 842); eum decodificador (806, 807, 808, 809, 810, 801, 820)configurado para decodificar o código de comprimento variável gerado (841,-842) para emitir um sinal de imagem reproduzido (850).
9. Decodificador, caracterizado pelo fato de compreender:um detector de código de sincronização (800) configurado paradetectar um código de sincronização (PSC) em uma pluralidade de posições deinserção de código de sincronização periodicamente (sync_period)predeterminadas em uma cadeia de código de entrada (205'), a cadeia decódigo de entrada incluindo uma cadeia de código multiplexada (801) obtidapela multiplexação de uma pluralidade de cadeias de código de comprimentovariável (PH, MODE, MV, COEF), cada uma da pluralidade de cadeias decódigo de comprimento variável sendo gerada pela compressão e codificaçãode um sinal de imagem, a cadeia de código de entrada tendo um bit deenchimento (STUFF) com um comprimento de bit igual ou menor que umperíodo da pluralidade de posições de inserção de código de sincronização;um demultiplexador (811) configurado para demultiplexar acadeia de código multiplexada (801) na cadeia de código de entrada (205')com base em uma posição do código de sincronização detectado pelo detectorde código de sincronização (800) para gerar o código de comprimento variável(841, 842); eum decodificador (806, 807, 808, 809, 810, 801, 820)configurado para decodificar o código de comprimento variável gerado (841,-842) para emitir um sinal de imagem reproduzido (850).
10. Decodificador, caracterizado pelo fato de compreender:um detector de código de sincronização (800) configurado paradetectar um código de sincronização (SSC, SEC, PSC, GSC) em umapluralidade de posições de inserção de código de sincronização periodicamente(sync_period) predeterminadas em uma cadeia de código de entrada (205'), acadeia de código de entrada incluindo uma cadeia de código multiplexada(801) obtida pela multiplexação de uma pluralidade de cadeias de código decomprimento variável (PH, MODE, MV, COEF) para cada uma de umapluralidade de camadas (Camada de Sessão, Camada de Quadro, CamadaGOB, Camada MB), cada uma da pluralidade de cadeias de código decomprimento variável sendo gerada pela compressão e codificação de um sinalde imagem, o código de sincronização possuindo um comprimento diferentedependendo de cada uma das camadas;um demultiplexador (811) configurado para demultiplexar acadeia de código multiplexada (801) na cadeia de código de entrada (205')com base em uma posição do código de sincronização (SSC, SEC, PSC, GSC)detectado pelo detector de código de sincronização (800) para gerar o códigode comprimento variável (841, 842); eum decodificador (806, 807, 808, 809, 810, 801, 820)configurado para decodificar o código de comprimento variável gerado paraemitir um sinal de imagem reproduzido.
BRPI9715336-2A 1996-03-18 1997-03-18 métodos de codificação e decodificadores. BR9715336B1 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP6145096 1996-03-18
JP16308296 1996-06-24
JP23236296 1996-09-02
JP24388396A JP3597647B2 (ja) 1995-09-29 1996-09-13 符号化方法及び装置

Publications (1)

Publication Number Publication Date
BR9715336B1 true BR9715336B1 (pt) 2011-03-09

Family

ID=27464039

Family Applications (2)

Application Number Title Priority Date Filing Date
BRPI9715336-2A BR9715336B1 (pt) 1996-03-18 1997-03-18 métodos de codificação e decodificadores.
BRPI9708223-6A BR9708223B1 (pt) 1996-03-18 1997-03-18 sistemas de codificação e de decodificação.

Family Applications After (1)

Application Number Title Priority Date Filing Date
BRPI9708223-6A BR9708223B1 (pt) 1996-03-18 1997-03-18 sistemas de codificação e de decodificação.

Country Status (7)

Country Link
EP (12) EP1755264A3 (pt)
KR (22) KR20070086740A (pt)
CN (2) CN1271815C (pt)
AU (1) AU1942797A (pt)
BR (2) BR9715336B1 (pt)
CA (1) CA2249540C (pt)
WO (1) WO1997035401A1 (pt)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1178620A1 (fr) * 2000-07-31 2002-02-06 Koninklijke Philips Electronics N.V. Procédé et systeme pour la synchronisation de trame
EP1310097B1 (en) 2000-08-15 2019-07-31 Microsoft Technology Licensing, LLC Methods, systems and data structures for timecoding media samples
US20020089602A1 (en) 2000-10-18 2002-07-11 Sullivan Gary J. Compressed timing indicators for media samples
EP1261204A2 (en) * 2001-03-29 2002-11-27 Matsushita Electric Industrial Co., Ltd. Method and apparatus for data reproduction
US9019899B2 (en) * 2001-09-27 2015-04-28 Alcatel Lucent Method and apparatus for synchronous communication of frames of digital information
US7149247B2 (en) 2002-01-22 2006-12-12 Microsoft Corporation Methods and systems for encoding and decoding video data to enable random access and splicing
CN1618235A (zh) 2002-01-22 2005-05-18 微软公司 用于防止起始码模仿和数据填充的方法和系统
TWI310137B (en) * 2002-04-19 2009-05-21 Microsoft Corp Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions
US8213779B2 (en) 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
US7852919B2 (en) 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US7839930B2 (en) 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
US7924921B2 (en) 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US7609762B2 (en) 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
CN100353274C (zh) * 2004-01-14 2007-12-05 凌阳科技股份有限公司 以保护位元码对—程序进行加密保护的装置
KR101044935B1 (ko) 2004-01-14 2011-06-28 삼성전자주식회사 전송 에러가 발생한 지점을 탐지하여 바르게 디코딩된데이터를 복원하는 디코딩 방법 및 그 디코딩 장치
CN100390697C (zh) * 2004-01-14 2008-05-28 凌阳科技股份有限公司 以检查比特对处理器指令进行加密保护的装置及方法
KR100987777B1 (ko) * 2004-02-05 2010-10-13 삼성전자주식회사 에러의 전파를 방지하고 병렬 처리가 가능한 디코딩 방법및 그 디코딩 장치
CN101807926B (zh) * 2010-01-21 2013-01-23 上海电力学院 低功耗soc测试数据压缩编码方法
JP2012073678A (ja) * 2010-09-27 2012-04-12 Fujitsu Ltd 擬似エラー発生装置
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
KR102198174B1 (ko) 2020-08-31 2021-01-04 정재우 용접용 토치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3578240D1 (de) * 1985-12-04 1990-07-19 Ibm Multiplexschnittstelle fuer eine uebertragungssteuerung.
JPH03198432A (ja) * 1989-12-26 1991-08-29 Sharp Corp 符号・復号器
JPH03250935A (ja) * 1990-02-28 1991-11-08 Victor Co Of Japan Ltd 可変長データ伝送方式及びその送受信装置
JP3341781B2 (ja) * 1992-12-15 2002-11-05 ソニー株式会社 画像復号化装置および画像符号化装置
US5396497A (en) * 1993-02-26 1995-03-07 Sony Corporation Synchronization of audio/video information
JPH06343065A (ja) * 1993-02-26 1994-12-13 Sony Corp デコーディングシステム、デマルチプレクス方法および信号処理方法
JP2862064B2 (ja) * 1993-10-29 1999-02-24 三菱電機株式会社 データ復号装置及びデータ受信装置及びデータ受信方法

Also Published As

Publication number Publication date
EP1755258A3 (en) 2008-04-02
KR20070086730A (ko) 2007-08-27
KR20070086729A (ko) 2007-08-27
KR100877952B1 (ko) 2009-01-12
KR20070086741A (ko) 2007-08-27
KR100877950B1 (ko) 2009-01-12
EP0886398A1 (en) 1998-12-23
KR20000064643A (ko) 2000-11-06
EP2211495A1 (en) 2010-07-28
EP1755266A3 (en) 2008-04-02
EP1755261A2 (en) 2007-02-21
EP1755262A2 (en) 2007-02-21
KR100841974B1 (ko) 2008-06-30
KR20070086685A (ko) 2007-08-27
CN1622505A (zh) 2005-06-01
EP1755265A2 (en) 2007-02-21
CA2249540C (en) 2006-02-21
KR100841975B1 (ko) 2008-06-30
EP1755258A2 (en) 2007-02-21
EP1755260A3 (en) 2008-04-02
KR100773304B1 (ko) 2007-11-06
KR20070086740A (ko) 2007-08-27
EP1755257A2 (en) 2007-02-21
KR100685771B1 (ko) 2007-02-26
WO1997035401A1 (en) 1997-09-25
KR20060121995A (ko) 2006-11-29
KR20070086680A (ko) 2007-08-27
KR20070086681A (ko) 2007-08-27
KR100841976B1 (ko) 2008-06-30
KR20060095869A (ko) 2006-09-04
EP1755260A2 (en) 2007-02-21
EP1755262A3 (en) 2008-04-02
EP1755263A2 (en) 2007-02-21
KR100685772B1 (ko) 2007-02-26
KR20070086732A (ko) 2007-08-27
EP1755259A3 (en) 2008-04-02
KR100877948B1 (ko) 2009-01-12
KR20070086734A (ko) 2007-08-27
KR100841972B1 (ko) 2008-06-30
CN1271815C (zh) 2006-08-23
EP1755266A2 (en) 2007-02-21
BR9708223B1 (pt) 2010-07-27
KR100877953B1 (ko) 2009-01-12
KR100841973B1 (ko) 2008-06-30
CN1216653A (zh) 1999-05-12
KR20070086683A (ko) 2007-08-27
EP1755265A3 (en) 2008-04-02
AU1942797A (en) 1997-10-10
KR20070086742A (ko) 2007-08-27
CA2249540A1 (en) 1997-09-25
EP1755263A3 (en) 2008-04-02
KR20070086682A (ko) 2007-08-27
EP1755257A3 (en) 2008-04-02
KR100877951B1 (ko) 2009-01-12
EP0886398A4 (en) 2001-01-17
EP1755261A3 (en) 2008-04-02
KR20070086733A (ko) 2007-08-27
KR20070086728A (ko) 2007-08-27
KR20070086731A (ko) 2007-08-27
CN100593294C (zh) 2010-03-03
KR20060121994A (ko) 2006-11-29
KR100877949B1 (ko) 2009-01-12
EP1755259A2 (en) 2007-02-21
KR20070086679A (ko) 2007-08-27
EP1755264A3 (en) 2008-04-02
KR20070086684A (ko) 2007-08-27
KR20070086678A (ko) 2007-08-27
KR100877944B1 (ko) 2009-01-12
EP1755264A2 (en) 2007-02-21
BR9708223A (pt) 1999-07-27

Similar Documents

Publication Publication Date Title
US7464305B2 (en) Coding system and decoding system using a synchronization code
BR9715336B1 (pt) métodos de codificação e decodificadores.
US7051247B2 (en) Coding system and decoding system
JP3597647B2 (ja) 符号化方法及び装置

Legal Events

Date Code Title Description
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 09/03/2011, OBSERVADAS AS CONDICOES LEGAIS.

B15K Others concerning applications: alteration of classification

Ipc: H04N 7/56 (2006.01), G11B 27/30 (2006.0

B21A Patent or certificate of addition expired [chapter 21.1 patent gazette]

Free format text: PATENTE EXTINTA EM 09.03.2021