PT1135934E - Codificação eficiente do cabeçalho de macrobloco para compressão de vídeo - Google Patents
Codificação eficiente do cabeçalho de macrobloco para compressão de vídeo Download PDFInfo
- Publication number
- PT1135934E PT1135934E PT99965061T PT99965061T PT1135934E PT 1135934 E PT1135934 E PT 1135934E PT 99965061 T PT99965061 T PT 99965061T PT 99965061 T PT99965061 T PT 99965061T PT 1135934 E PT1135934 E PT 1135934E
- Authority
- PT
- Portugal
- Prior art keywords
- macroblock
- coded block
- block pattern
- blocks
- macroblocks
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Color Television Systems (AREA)
- Medicines Containing Material From Animals Or Micro-Organisms (AREA)
- Dc Digital Transmission (AREA)
- Holo Graphy (AREA)
- Error Detection And Correction (AREA)
Description
DESCRIÇÃO
"CODIFICAÇÃO EFICIENTE DO CABEÇALHO DE MACROBLOCO PARA COMPRESSÃO DE VÍDEO"
CAMPO TÉCNICO A invenção refere-se à codificação de vídeo e, especificamente, a um método melhorado para codificação de parâmetros de blocos, utilizados em formatos de codificação de vídeo com base em tramas e com base em objectos.
ANTECEDENTES
Exibições de imagens de vídeo animadas com base em sinais de vídeo analógicos estão há muito tempo disponíveis na forma de televisão. Com os recentes avanços nas capacidades de processamento e o baixo custo dos computadores, as exibições de imagens de vídeo animadas com base em sinais de vídeo digitais estão cada vez mais disponíveis. Os sistemas de vídeo digital podem proporcionar melhoramentos significativos, relativamente aos sistemas de vídeo analógico, na criação, modificação, transmissão, armazenamento e sequências de imagens de vídeo animadas.
As exibições em vídeo digital incluem um grande número de tramas de imagem que são reproduzias ou exibidas sucessivamente a frequências entre os 30 e 75 Hz. Cada trama de imagem é uma imagem parada formada por uma matriz de pixéis com base na 1 resolução do ecrã de um sistema particular. Como exemplos, os sistemas com base em VHS têm resoluções de ecrã de 320x480 pixéis, os sistemas com base em NTSC têm resoluções de ecrã de 720x486 pixéis e os sistemas de televisão de alta definição (HDTV), em desenvolvimento, têm resoluções de ecrã de 1360x1024 pixéis.
As quantidades de informação digital não tratada incluídas nas sequências de vídeo são massivas. O armazenamento e transmissão destas quantidades de informação de vídeo são irrealizáveis com o equipamento de computador pessoal convencional. Considere-se, por exemplo, uma forma digitalizada de um formato de imagem VHS de relativa baixa resolução, tendo uma resolução de 320x480 pixéis. Uma imagem animada de grande duração, com duas horas de duração a esta resolução, corresponde a 100 gigabytes de informação de vídeo digital. Por comparação, os discos ópticos compactos convencionais têm cerca de 0,6 gigabytes de capacidade, os discos rígidos magnéticos têm cerca de 1-2 gigabytes de capacidade e os discos ópticos compactos, em desenvolvimento, têm capacidades até 8 gigabytes.
Para superar as limitações no armazenamento ou transmissão de tais quantidades massivas de informação de vídeo digital, têm sido estabelecidas várias normas ou processos de compressão de vídeo, incluindo MPEG-1, MPEG-2 e H.26X. Estas técnicas de compressão de vídeo utilizam as semelhanças entre sucessivas tramas de imagem, designadas por correlação entre tramas ou temporal, para proporcionar compressão temporal, na qual os dados de movimento e sinais de erro são utilizados para codificar alterações entre tramas. 2
Além disso, as técnicas de compressão de vídeo convencional utilizam semelhanças no interior das tramas de imagens, designadas por correlação intra-tramas ou espacial, para proporcionar compressão espacial, na gual se comprimem amostras de imagens dentro de uma trama de imagem. A compressão espacial é baseada nos processos convencionais para compressão de imagens paradas, tais como codificação de transformada discreta de co-senos (DCT). Este tipo de codificação é, por vezes, designada por codificação de "textura" ou "transformada". Geralmente, uma "textura" refere-se a uma matriz bi-dimensional de valores de amostra de imagens, tais como uma matriz de valores de crominância e luminância ou uma matriz de valores alfa (opacidade). Neste contexto, o termo "transformada" refere-se à forma como as amostras de imagem são transformadas em componentes de frequência espacial durante o processo de codificação. Esta utilização do termo "transformada" deve ser distinguida de uma transformada geométrica utilizada para estimar alterações de cenas em alguns métodos de compressão temporal.
Tipicamente, a compressão temporal utiliza estimativa e compensação de movimento para codificar alterações de cenas entre tramas. A estimativa de movimento é um processo para estimar o movimento das amostras de imagens (e. g., pixéis) entre tramas. Utilizando estimativa de movimento, o codificador tenta fazer coincidir blocos de pixéis numa trama com os correspondentes pixéis de outra trama. Depois de ser encontrado o bloco com maiores semelhanças numa dada área de pesquisa, a alteração na posição das localizações dos pixéis dos correspondentes pixéis é aproximada e representada como dados de movimento, tal como um vector de movimento. A compensação de movimento é um processo para determinar uma imagem prevista e 3 calcular o erro entre a imagem prevista e a imagem original. Utilizando compensação de movimento, o codificador aplica os dados de movimento a uma imagem e calcula uma imagem prevista. A diferença entre a imagem prevista e a imagem de entrada é chamada de sinal de erro. Uma vez que o sinal de erro é apenas uma matriz de valores representando a diferença entre valores de amostra de imagens, este pode ser comprimido utilizando o mesmo método de codificação de textura que o utilizado para a codificação espacial de amostras de imagem.
Apesar de diferirem nas implementações específicas, as normas de compressão de vídeo MPEG-1, MPEG-2 e H.26X são semelhantes em várias características. A descrição da norma de compressão de vídeo MPEG-2 que se segue aplica-se, de um modo geral, às outras normas. 0 MPEG-2 proporciona compressão temporal e compressão espacial com base em blocos ou matrizes quadrados de pixéis em imagens de vídeo. Uma imagem de vídeo é dividida em blocos de amostras de imagem, chamados macroblocos tendo dimensões de 16x16 pixéis. Na MPEG-2, um macrobloco compreende quatro blocos de luminância (cada bloco são 8x8 amostras de luminância (Y)) e dois blocos de crominância (um bloco 8 x 8 de amostras para cada Cb e Cr).
Na MPEG-2, a codificação temporal é executada em macroblocos. Um codificador MPEG-2 executa estimativa e compensação de movimento para calcular vectores de movimento e sinais de erro de blocos. Por cada Bloco mn numa trama N de imagem, é executada uma pesquisa ao longo da imagem de uma seguinte trama N+l de vídeo sucessiva ou a imediatamente precedente trama N-l de imagem (i. e., bidireccionalmente) para 4 identificar os respectivos blocos MN+1 ou ΜΝ_! com maiores semelhanças. A localização do bloco com maiores semelhanças relativamente ao bloco MN é codificada com um vector de movimento (DX, DY) . Então, o vector de movimento é utilizado para calcular um bloco de valores amostra previsto. Estes valores amostra previstos são comparados com o bloco mn para determinar o sinal de erro de blocos. 0 sinal de erro é comprimido utilizando o método de codificação de textura, tal como a codificação transformada discreta de co-senos (DCT). Têm sido propostas técnicas de codificação de video com base em objectos como um melhoramento às convencionais normas de codificação com base em tramas. Na codificação com base em objectos, as caracteristicas de imagem com formato arbitrário são separadas das tramas na sequência de video, utilizando um método chamado "segmentação". Os objectos de video ou "segmentos" são codificados independentemente. A codificação com base em objectos pode melhorar a taxa de compressão porque esta aumenta a correlação temporal entre objectos de video em tramas sucessivas. Também tem vantagens para uma variedade de aplicações que requeiram acesso a objectos e seguimento de objectos numa sequência de video.
Nos métodos de codificação de video com base em objectos propostos para a norma MPEG-4, a forma, movimento e textura dos objectos de video são codificados independentemente. A forma de um objecto é representada por uma máscara binária ou alfanumérica, que define os limites do objecto de forma arbitrária numa trama de video. 0 movimento de um objecto é semelhante aos dados de movimento da MPEG-2, excepto por se aplicar a uma imagem de forma arbitrária do objecto que foi segmentada a partir de uma trama rectangular. A estimativa e 5 compensação de movimento são executados nos blocos de um "plano objecto de video", em vez de ser na trama inteira. 0 plano objecto de video é o nome dado para a imagem formatada de um objecto numa única trama. A textura de um objecto de video, é a informação de amostra de imagem num plano objecto de video abrangida pela forma do objecto. A codificação de textura de amostras de imagem de um objecto e sinais de erro são executados, utilizando métodos de codificação de textura semelhantes, como na codificação com base em tramas. Por exemplo, uma imagem segmentada pode ser colocada num rectângulo delimitado formado de macroblocos. A imagem rectangular formada pelo rectângulo delimitado pode ser comprimido, tal como uma trama rectangular, excepto que os macroblocos transparentes não precisam de ser codificados. Blocos parcialmente transparentes são codificados depois de encherem as partes do bloco, que não foram abrangidos pelos limites da forma do objecto, com valores de amostra numa técnica chamada "enchimento".
As técnicas de codificação com base em tramas, tais como MPEG-2 e H26X e as técnicas de codificação com base em objectos propostas para MPEG-4 são semelhantes no facto de executarem codificação espacial e temporal nos macroblocos. Cada macrobloco inclui uma série de parâmetros de cabeçalho, que proporcionam informação sobre o macrobloco. Como exemplo, a Fig. 1 mostra parâmetros de macrobloco utilizados num cabeçalho de um macrobloco temporal. 0 parâmetro (10) COD é um único bit que indica se o macrobloco temporal está codificado. Em particular, este bit indica se o macrobloco codificado inclui, ou não, dados de movimento e dados de erro de textura codificada. Em casos em que os dados de movimento e de sinal de erro são zero, o bit COD 6 reduz a informação necessária para codificar o macrobloco, porque apenas um único bit é enviado em vez de bits adicionais indicando que o vector de movimento e dados de textura não estão codificados.
Além do bit COD, a sintaxe de codificação para macroblocos inclui parâmetros de bloco codificados (CBP), indicando se os coeficientes de transformação codificados para crominância e luminância são transmitidos para o macrobloco. Se, para um bloco, os coeficientes de transformação forem todos zero, então não existe necessidade de enviar dados de textura para o bloco. Os Parâmetros de Bloco Codificados para crominância (CBPC) são dois bits indicando se os dados de textura codificados são, ou não, transmitidos para cada um dos dois blocos de crominância.
Os bits CBPC são codificados juntamente com outra bandeira que proporciona informação sobre o tipo de quantificação para o macrobloco. Estas bandeiras estão combinadas para formar um parâmetro chamado MCBPC (12), e MCBPC é codificado por entropia utilizando um método de codificação de entropia, tal como codificação Huffman ou aritmética. 0 parâmetro chamado AC_Pred_flag (14) é uma bandeira indicando se a predição AC é utilizada no macrobloco. 0 Padrão de Bloco Codificado para luminância (CBPY) (16) é compreendido por quatro bits indicando se os dados de textura codificada são, ou não, transmitidos para cada um dos quatro blocos de luminância. Como o parâmetro MCBPC, também as bandeiras CBPY são codificados por entropia utilizando quer codificação Huffman quer aritmética. 7
Depois do parâmetro CBPY, o macrobloco inclui dados do vector de movimento codificados (mostrados, na Fig. 1, como item 18) . A seguir aos dados do vector de movimento, os "dados de bloco" representam os dados de textura codificados para o macrobloco (mostrado como dados de bloco 20 na Fig. 1).
Um problema da abordagem por codificação, ilustrada na
Fig. 1, é que codifica, separadamente, as bandeiras CBPC e CBPY e, deste modo, não explora a correlação entre estes parâmetros para reduzir o cabeçalho do macrobloco. Além disso, não aproveita a dependência espacial dos parâmetros de bloco codificado. O documento US-A-5400075 refere-se a um codificador/descodificador de comprimento variável adaptativo, para codificação de comprimento variável do sinal de video comprimido.
RESUMO O objectivo da invenção é proporcionar um método e sistema melhorados de codificação numa aplicação de codificação de video.
Este objectivo é atingido pela invenção como reivindicado nas reivindicações independentes.
Formas de realização preferidas são definidas pelas reivindicações dependentes. A invenção proporciona um método melhorado de codificação de parâmetros de cabeçalho de macrobloco em aplicações de codificação de vídeo. Um aspecto da invenção é um método de codificação que explora a correlação entre os parâmetros de bloco codificado ao juntar todas as codificações dos parâmetros de bloco codificado com um único código de comprimento variável. Um outro aspecto da invenção é um método de codificação que aproveita a dependência espacial entre os padrões de bloco codificado de blocos vizinhos.
Numa implementação da invenção, os parâmetros de bloco codificado para luminância e crominância num macrobloco são formados num único parâmetro combinado para o macrobloco. Ao parâmetro combinado é atribuído um código de comprimento variável de uma tabela de codificação de comprimento variável. A tabela de codificação é instruída com base numa velocidade de transmissão de bits alvo (e. g., aplicações de Internet com baixa velocidade de transmissão de bits) e uma classe de conteúdo de vídeo alvo (e. g., vídeo porta-voz). Ao codificar em conjunto os valores de luminância e crominância, o codificador explora, no macrobloco, a correlação entre estes parâmetros.
Para melhorar mais a eficiência da codificação, a implementação utiliza predição para aproveitar a dependência espacial dos parâmetros de bloco codificado de blocos vizinhos. Antes de atribuir o código de comprimento variável ao parâmetro combinado, alguns dos parâmetros de bloco codificado são previstos a partir dos blocos vizinhos. Para macroblocos espaciais, por exemplo, o codificador calcula um valor previsto de tramas espaciais e para cada parâmetro de bloco codificado para luminância. Este parâmetro previsto em tramas espaciais faz parte do parâmetro combinado para o macrobloco. 9
As características e vantagens adicionais da invenção tornar-se-ão mais óbvias a partir da descrição detalhada e dos desenhos em anexo de uma implementação da invenção.
BREVE DESCRIÇÃO DOS DESENHOS A Fig. 1 é um diagrama que ilustra um exemplo de um cabeçalho de macrobloco utilizado num processo de codificação de video padrão. A Fig. 2 é um diagrama de blocos de um codificador de video. A Fig. 3 é um diagrama de bloco de um descodificador de video. A Fig. 4 é um diagrama que ilustra um exemplo de um cabeçalho de macrobloco melhorado, no qual os parâmetros de bloco codificado para crominância e luminância são codificados em conjunto com um único código de comprimento variável. A Fig. 5 é um fluxograma que ilustra como uma implementação da invenção calcula um único código de comprimento variável para os parâmetros de bloco codificado dos macroblocos dos tramas I e P. A Fig. 6 é um diagrama que ilustra quatro macroblocos e os seus blocos de luminância (Y) correspondentes. 10 A Fig. 7 é um diagrama, mostrando um exemplo dos gradiente vertical e horizontal dos valores de parâmetro de bloco codificado para os blocos de luminância seleccionados na Fig. 6. A Fig. 8 é um fluxograma que ilustra um método para calcular um preditor para os parâmetros de bloco codificado. A Fig. 9 é um diagrama de um sistema de computador, que serve como um ambiente operativo para uma implementação de software da invenção.
DESCRIÇÃO DETALHADA
Introdução A primeira secção, em baixo, proporciona uma descrição de um codificador e descodificador de video. As secções subsequentes, descrevem como melhorar a codificação dos parâmetros de cabeçalho de macrobloco ao explorar a correlação entre os parâmetros CBPC e CBPY e aproveitar da dependência espacial dos parâmetros de bloco codificado dos blocos vizinhos. A invenção é útil quer na codificação de vídeo com base em tramas quer na com base em objectos, melhora a codificação dos parâmetros de macrobloco, se os macroblocos são componentes de objecto de vídeo segmentados arbitrariamente de uma sequência de tramas ou de tramas de imagem de formato rectangular. A codificação com base em objectos utiliza movimentos semelhantes e módulos de codificação de textura, como são utilizados na codificação com base em tramas. Além disso, os codificadores com base em objectos, também, utilizam módulos de codificação de 11 forma. A sintaxe de bloco relevante para a invenção é semelhante quer na codificação com base em tramas quer na codificação com base em objectos. Enquanto o codificador e descodificador, descritos na próxima secção, são baseados em objectos, eles proporcionam uma base suficiente para explicar como se implementa a invenção, quer no esquema de codificação com base em tramas, quer no esquema de codificação com base em objectos.
Descrição de um Exemplo de Codificador e Descodificador A Fig. 2 é um diagrama de blocos que ilustra uma implementação de um codificador de video baseado em objecto. A entrada 30 para o codificador, inclui uma série de objectos, as suas informações de formato e rectângulos delimitadores. Deste modo, a informação de formato está disponível antes dos códigos de textura do codificador ou dados de movimento. A codificação com base em tramas difere em que o trama completo é codificado sem informação de formato. O módulo 32 de codificação de formato, recebe a definição de um objecto incluindo o seu rectângulo delimitador e estende o rectângulo delimitador para múltiplos inteiros de macroblocos. A informação de formato para um objecto compreende uma máscara ou "plano alfa". O módulo 32 de codificação de formato lê esta máscara e comprime-a utilizando, por exemplo, um método convencional de codificação em cadeia para codificar o contorno do objecto. O módulo 34 de estimativa de movimento, lê um objecto incluindo o seu rectângulo delimitador e uma imagem 36 previamente reconstruída e calcula os dados de estimativa de 12 movimento utilizados para prever o movimento do objecto de um a trama para outra. Depois de identificar os macroblocos na imagem objecto actual, o modulo 34 de estimativa de movimento procura o macrobloco com maiores semelhanças na imagem reconstruída para cada macrobloco na imagem do objecto actual para calcular os dados de movimento para cada macrobloco. 0 formato específico dos dados de movimento do módulo 34 de estimativa de movimento pode variar, dependendo do método de estimativa de movimento utilizado. A implementação, descrita abaixo, calcula um vector de movimento para cada macrobloco, o que é consistente com os formatos MPEG e H26X actuais. 0 módulo 38 de compensação de movimento, lê os vectores de movimento calculados pelo módulo de estimativa de movimento e a imagem 36 previamente reconstruída e calcula uma imagem prevista para a trama actual. 0 codificador encontra a diferença entre os valores da imagem amostra no bloco de imagem de entrada, como especificado na entrada 30 e os correspondentes valores de amostra no bloco de imagem previsto como calculado no módulo 38 de compensação de movimento, para determinar o sinal de erro do macrobloco. O módulo 40 de codificação de textura comprime este sinal de erro para objectos codificados temporal e comprime valores amostra de imagem para o objecto, do fluxo 30 de dados de entrada para os objectos codificados espacial. O caminho 42 de retorno do módulo 40 de codificação de textura representa o sinal de erro descodificado. O codificador utiliza os macroblocos de sinal de erro juntamente com os macroblocos de imagem previstos do módulo de compensação de movimento para calcular a imagem 36 previamente reconstruída. 13 0 módulo 40 de codificação de textura codifica blocos de espacial e dados de sinal de erro para um objecto utilizando qualquer técnica de uma variedade de técnicas de compressão de imagens paradas. Exemplos de técnicas de compressão incluem técnicas baseadas em transformação, tal como DCT e codificação wavelet, assim como, outros métodos de compressão de imagem convencionais, tal como codificação Pirâmide de LaPlacian. O fluxo de bits da sequência de vídeo comprimida inclui a forma, movimento e informação de textura codificada dos módulos de codificação da forma, estimativa de movimento e codificação de textura. O multiplexador 44 combina e formata estes dados na sintaxe apropriada e fá-la sair para a memória temporária 46.
Enquanto o codificador pode ser implementado em hardware ou software, é mais comum ser implementado em software. Numa implementação de software, os módulos no codificador representam instruções de software armazenadas em memória de um computador e executadas no processador e os dados de vídeo armazenados na memória. Um codificador de software pode ser armazenado e distribuído numa variedade de média legível por computador convencional Em implementações de hardware, os módulos de codificação são implementados em lógica digital, de um modo preferido, num circuito integrado. Algumas das funções do codificador podem ser optimizadas em dispositivos de lógica digital especializados, num periférico de computador para libertar um computador anfitrião do processamento intensivo. A Fig. 3 é um diagrama de blocos que ilustra um descodificador para um método de codificação de vídeo com base em objectos. Um desmultiplexador 6 0 recebe um fluxo de bits 62 representando, por base de objecto, uma sequência de vídeo 14 comprimida e dados de formas separadas, movimento e de textura codificada num objecto. 0 módulo 64 descodificador de forma, descodifica o formato ou contorno para o objecto actual que está a ser processado. Para o realizar, utiliza-se um descodificador de forma, o qual implementa o método de codificação de forma inverso ao utilizado no codificador da Fig. 2. Os dados de forma resultante são uma máscara, tal como um plano alfa binário ou plano de escala de cinzentos, representando a forma do objecto. 0 módulo 66 descodificador de movimento descodifica a informação de movimento num fluxo de bits. A informação de movimento descodificada inclui dados de movimento, tais como, vectores de movimento para blocos de macroblocos ou coeficientes de transformadas geométricas, dependendo do tipo de método de estimação utilizado no codificador. 0 módulo 66 descodificador de movimento fornece esta informação de movimento ao módulo 68 de compensação de movimento, e o módulo 68 de compensação de movimento aplica os dados de movimento aos dados 70 de objecto previamente reconstruído. O módulo 74 descodificador de textura descodifica os sinais de erro para dados de textura temporal codificados e uma matriz de valores de cor para dados de textura espacial, e passa esta informação a um módulo 72 para cálculo e acumulação da imagem reconstruída. Para objectos temporais codificados, este módulo 72 aplica os dados do sinal de erro à saída da imagem prevista do módulo de compensação de movimento, para calcular o objecto reconstruído para o trama actual. Para objectos espaciais codificados, o módulo 74 descodificador de textura descodifica os valores de amostra da imagem para o objecto e coloca o objecto reconstruído no módulo 72 de objecto reconstruído. Os objectos previamente reconstruídos são armazenados 15 temporariamente na memória 70 de objecto e são utilizados para construir o objecto para outras tramas.
Como o codificador, o descodificador pode ser implementado em hardware, software ou uma combinação dos dois. Em implementações de software, os módulos no descodificador são instruções de software armazenadas na memória de um computador e executadas pelo processador e, os dados de video armazenados em memória. Um descodificador de software pode ser armazenado e distribuído numa variedade de média legível pelo computador convencional. Em implementações de hardware, os módulos descodificadores são implementados em lógica digital, de um modo preferido, num circuito integrado. Algumas das funções do descodificador podem ser optimizadas em dispositivos lógicos digitais específicos num computador periférico, para libertar um computador anfitrião do processamento intensivo.
Codificação Melhorada da Sobrecarga do Macrobloco A invenção inclui inovações que melhoram a codificação dos parâmetros de cabeçalho de macrobloco. Uma inovação é um método para codificação de parâmetros de bloco codificados, para explorar a correlação entre CBPC e CBPY. Esta inovação é implementada, codificando em conjunto um parâmetro combinado CBPC e CBPY com um único código de comprimento variável. Uma outra inovação melhora, ainda, a eficiência da codificação dos parâmetros de cabeçalho ao explorar a dependência espacial dos parâmetros de bloco codificados. Em particular, os parâmetros de bloco codificado são comprimidos mais eficientemente ao preverem estes a partir do parâmetro de blocos vizinhos. 16 A Fig. 4 é um diagrama ilustrando os parâmetros de bloco cabeçalho calculados por uma implementação da invenção. Como a informação de cabeçalho, mostrada na Fig. 1, este bloco cabeçalho inclui um parâmetro 80 COD, uma AC_Pred_flag 82, dados (MV 84) de vector de movimento e dados 86 de bloco. Ao contrário do cabeçalho na Fig. 1, os parâmetros MCBPC e CBPY são codificados em conjunto com um único código de comprimento variável, chamado MBCBPCY 88. Este código combina os parâmetros de bloco codificado para a crominância e luminância, assim como, a bandeira para o tipo de macrobloco. A Fig. 5 é um fluxograma que ilustra a maneira como a implementação gera um código de comprimento variável para tramas Intra (I) e tramas Previstos (P) . Nesta implementação particular, os blocos cabeçalho para tramas I e P são codificados de modo diferente. Para as tramas I, o codificador executa o passo adicional de previsão dos parâmetros de bloco codificado para luminância antes de seleccionar o código de comprimento variável. Também é possível utilizar previsão para tramas P. Contudo, a previsão não melhora, significativamente, a eficiência da codificação em tramas P e, em alguns casos, pode mesmo diminuir a eficiência da codificação. O objectivo de utilizar previsão para parâmetros de bloco codificado é produzir para estes parâmetros tantos valores de zero quanto possível. Ao fazer a maioria dos valores zero, o codificador reduz a variação dos parâmetros de bloco codificado. Então, os processos de ensino da tabela de codificação de comprimento variável podem aproveitar do valor zero, o que melhora a eficiência da codificação. Em trama P, especialmente em aplicações de baixa velocidade de transmissão de bits, os parâmetros de bloco codificado são maioritariamente zero antes 17 da previsão. Deste modo, a previsão não tende a aumentar o número de valores de zero, e às vezes, diminui mesmo o número de valores zero. Assim, a implementação, mostrada na Fig. 5, não utiliza previsão para tramas P.
Para tramas P, o codificador começa por encontrar os parâmetros de bloco codificado para luminância e crominância, como mostrado no passo 100. Cada um destes parâmetros de bloco é um único bit indicando se um bloco correspondente é uma textura codificada. Os parâmetros de bloco codificado são calculados no módulo (40 na Fig. 2) de codificação de textura, o qual parametriza, para cada bloco, uma bandeira de bloco codificado que tem valores de textura codificada não-zero. Inversamente, o valor do parâmetro de bloco codificado, para um bloco no qual os valores de textura são todos zero (ou tão próximo de zero que é negligenciável), é zero.
Uma vez que existem dois blocos para crominância (cada um para o pixél U de 8 por 8 e blocos V) e quatro blocos para luminância (cada um para os quatro blocos de 8 por 8) no macrobloco, o parâmetro combinado para o padrão de bloco codificado é um total de seis bits. Combinando este número de 6 bits com o único bit para o tipo de macrobloco, o codificador forma um número de 7 bits, como mostrado no passo 102. O tipo de macrobloco indica se o macrobloco é para uma trama I ou P.
Uma vez formada a combinação MBCBPCY, o parâmetro combinado é procurado numa tabela de codificação de comprimento variável para encontrar um correspondente código de comprimento variável associado com o parâmetro, como mostrado no passo 104. O codificador atribui um único código de comprimento variável ao parâmetro MBCPCY combinado. 18 A tabela de codificação na tabela da implementação é uma tabela de codificação Huffman. A tabela é, de um modo preferido, ensinada com base na taxa alvo e cenário alvo. A Tabela 1, abaixo, é uma tabela de Codificação (VLC) de Comprimento Variável obtida para um cenário "porta-voz" de baixa velocidade de transmissão de bits. Para cada macrobloco numa trama P, a informação MBCBPCY combinada é codificada utilizando a palavra de código para a entrada correspondente nesta tabela.
Tabela 1: Tabela VLC para o padrão de bloco Codificado de crominância e luminância para a imagem P índice tipo de MB CBPCY Y (1234) uv Número de bits Código 0 I 000000 7 1000000 1 I 000001 13 1001111001001 2 I 000010 12 100111111101 3 I 000011 15 000000111111100 4 I 000100 12 100111111100 5 I 000101 18 000000101010000011 6 I 000110 17 10010110100110100 7 I 000111 16 1000001110111100 8 I 001000 12 100000111010 9 I 001001 17 00000011111111000 10 I 001010 16 0000001111111101 11 I 001011 16 0000001111111111 12 I 001100 13 0000001111001 13 I 001101 18 000000101010000010 14 I 001110 16 1001011010011101 15 I 001111 16 0000001010100100 16 I 010000 12 100101111000 17 I 010001 17 00000010101000011 18 I 010010 15 100000111011111 19 I 010011 17 00000011111111001 20 I 010100 13 1001011110011 21 I 010101 18 100101101001101011 22 I 010110 18 100101111011111001 23 I 010111 16 0000001111111010 24 I 011000 14 10000011101110 19 tipo de MB CBPCY Y (1234) uv Número de bits Código I 011001 20 10010110100110101011 I 011010 16 1001011010011100 I 011011 18 100101111011111000 I 011100 13 1001011010010 I 011101 18 000000101010000101 I 011110 16 1001011010011110 I 011111 15 100101111001000 I 100000 12 000000111101 I 100001 17 10010111101111111 I 100010 16 0000001010100010 I 100011 16 1001011010011111 I 100100 14 10010111101110 I 100101 21 100101101001101010101 I 100110 17 10010111101111101 I 100111 17 10010111101111110 I 101000 12 100111100101 I 101001 18 000000101010000001 I 101010 19 1001011010011010100 I 101011 16 1000001110111101 I 101100 13 0000001111000 I 101101 16 1001011010011011 I 101110 16 0000001111111110 I 101111 16 0000001010100101 I 110000 13 0000001111110 I 110001 18 000000101010000000 I 110010 16 0000001010100011 I 110011 16 0000001111111011 I 110100 13 1000001110110 I 110101 18 000000101010000100 I 110110 15 000000101010011 I 110111 15 100101111001001 I 111000 13 0000001010101 I 111001 21 100101101001101010100 I 111010 15 100101111011110 I 111011 14 10010111100101 I 111100 10 1001011011 I 111101 15 100101101001100 I 111110 12 100101101011 I 111111 12 100101101010 P 000000 2 01 P 000001 7 0000000 P 000010 6 100110 P 000011 9 100101011 P 000100 3 111 20 tipo de MB CBPCY Y (1234) uv Número de bits Código P 000101 10 1000001111 P 000110 9 000000100 P 000111 12 000000101000 P 001000 3 110 P 001001 10 1000001010 P 001010 9 100101000 P 001011 12 000000101011 P 001100 5 10001 P 001101 11 00000011011 P 001110 9 100111010 P 001111 11 10011111111 P 010000 4 0011 P 010001 10 1001110111 P 010010 9 100000110 P 010011 12 100000111001 P 010100 4 1011 P 010101 10 1001111011 P 010110 9 100101100 P 010111 11 10010111111 P 011000 6 001001 P 011001 12 000000110101 P 011010 10 1001111110 P 011011 13 1001111001000 P 011100 6 000001 P 011101 11 10010101010 P 011110 10 1000001000 P 011111 12 000000101001 P 100000 4 0001 P 100001 10 1001010100 P 100010 9 100101110 P 100011 12 100000111000 P 100100 6 100100 P 100101 11 10011110011 P 100110 10 1001110110 P 100111 13 1001011110110 P 101000 5 00001 P 101001 10 1001111010 P 101010 9 100111110 P 101011 12 000000111110 P 101100 6 001000 P 101101 11 10000010011 P 101110 10 0000001100 P 101111 11 10010111110 P 110000 5 10100 21 índice tipo de MB CBPCY Y (1234) UV Número de bits Código 113 P 110001 11 10000010010 114 P 110010 10 1001010011 115 P 110011 12 100101111010 116 P 110100 6 100001 117 P 110101 11 10010101011 118 P 110110 10 1000001011 119 P 110111 12 000000110100 120 P 111000 5 10101 121 P 111001 10 1001111000 122 P 111010 10 1001010010 123 P 111011 12 100101101000 124 P 111100 5 00101 125 P 111101 10 0000001011 126 P 111110 8 10011100 127 P 111111 10 0000001110
Na implementação, mostrada na Fig. 5, os tramas I são codificados de modo diferente que as tramas P, em que o codificador utiliza previsão para explorar a dependência espacial do bloco de parâmetros codificado. Por cada macrobloco o codificador começa por obter o bloco de parâmetros codificado para crominância e luminância, como mostrado no passo 106. A seguir, o codificador calcula a previsão do bloco de parâmetros codificado para a luminância. Nesta implementação particular, o codificador utiliza apenas previsão para os parâmetros CBPY. Contudo, o mesmo método de previsão também pode ser utilizado para prever o bloco de parâmetros codificado para crominância. No caso de crominância, a previsão é calculada com base em blocos de crominância de 8 por 8 pixéis em macroblocos vizinhos, ao contrário dos blocos de luminância de 8 por 8 pixéis vizinhos, a qual pode ser no mesmo macrobloco ou um macrobloco vizinho. Como cada macrobloco tem quatro blocos de luminância, os blocos vizinhos para um dado bloco de luminância 22 pode vir do mesmo macrobloco ou de um vizinho. Para previsão envolvendo blocos de crominância, os blocos vizinhos vêm dos macroblocos vizinhos. 0 codificador executa previsão espacial no bloco de parâmetros codificado. Em primeiro lugar, ele procura no bloco de parâmetros codificado por blocos vizinhos para determinar se o valor do bloco de parâmetro está, provavelmente, a alterar um bloco vizinho para o bloco de interesse actual. Se a localização de um bloco representando a mais pequena alteração no bloco de parâmetro codificado pode ser identificada (í. e., o gradiente espacial mais baixo no bloco de parâmetros codificado), então o bloco de parâmetros codificado para o bloco nesta localização é utilizado como a previsão. Caso contrário, não interessa qual vizinho é escolhido como previsão e, meramente, é seleccionado um. Um exemplo especifico de selecção de previsão é descrito e ilustrado em maior detalhe com referência às Figs. 6-8 abaixo.
No passo 110 seguinte, o codificador calcula um valor previsto para o bloco de parâmetros codificado. O valor previsto representa a alteração no bloco de parâmetro codificado para o bloco de previsão e o bloco actual. Para calcular o valor previsto, o codificador executa uma operação de lógica binária OU exclusivo (XOR) entre os valores previstos e o bloco actual. Ao vector resultante, chamado CBPCY_XOR é então atribuído um código de comprimento variável de uma tabela Huffman. O codificador verifica a entrada para CPCY_XOR na tabela e encontra o código de comprimento variável correspondente. A tabela 2, abaixo, mostra a tabela VLC utilizada, na implementação, para codificar os valores CBPCY previstos para tramas I. 23
2: Tabela VLC para o padrão de bloco Codificado de e luminância para a imagem I CBPCY_XOR Y (1234) UV Número de bits Código 000000 1 1 000001 6 010111 000010 5 01001 000011 5 00101 000100 5 00110 000101 9 001000111 000110 7 0100000 000111 7 0010000 001000 5 00010 001001 9 001111100 001010 7 0111010 001011 7 0011101 001100 6 000010 001101 9 011101100 001110 8 01110111 001111 8 00000000 010000 5 00011 010001 9 010110111 010010 7 0101100 010011 7 0010011 010100 6 000001 010101 10 0101101000 010110 8 01000110 010111 8 00111111 011000 6 011110 011001 13 0011100010010 011010 9 010110101 011011 8 01000010 011100 7 0100010 011101 11 00111000101 011110 10 0100011110 011111 9 010000111 100000 4 0110 100001 9 000000011 100010 7 0011110 100011 6 011100 100100 7 0010010 100101 12 001110001000 100110 9 001000100 100111 9 001110000 101000 6 011111 24 ✓ , Número de índice CBPCY_XOR Y (1234) UV bits Código 41 101001 11 01000111110 42 101010 8 00111001 43 101011 9 010001110 44 101100 7 0000001 45 101101 11 00111000110 4 6 101110 9 010110110 47 101111 9 001000101 48 110000 6 010100 49 110001 11 01000111111 50 110010 9 001111101 51 110011 9 000011000 52 110100 7 0000111 53 110101 11 00111000111 54 110110 9 010000110 55 110111 9 000011001 56 111000 6 010101 57 111001 10 0111011011 58 111010 9 000000010 59 111011 9 001000110 60 111100 8 00001101 61 111101 13 0011100010011 62 111110 10 0111011010 63 111111 10 0101101001 As Figs. 6-8 ilustram, em maior detalhe, a previ spacial executada no codificador. A Fig. 6 é um diagrama mostra quatro macroblocos (cima à esquerda - 120, cima à direita - 122, baixo à esquerda - 124 e baixo à direita - 126) vizinhos. O exemplo que se segue concentra-se no bloco de baixo à direita, o qual é circular. Cada um dos macroblocos inclui quatro blocos de pixéis 8 por 8 para luminância, denominados como Yl, Y2, Y3 e Y4.
Como um exemplo, considere o bloco Yl de luminância de cima à esquerda para o macrobloco 126. Os blocos utilizados para calcular a previsão são rodeados por uma linha 128 a tracejado. O bloco que interessa é o Yl (denominado como bloco 130a) e os 25 blocos utilizados para calcular a previsão são blocos vizinhos denominados como 132a, 134a e 136a.
Para dar um exemplo especifico, a Fig. 7 mostra valores do bloco padrão de parâmetros codificado para cada um dos blocos dentro da linha tracejada da Fig. 6. Os números de referência 130b, 132b, 134b e 136b correspondem, respectivamente, aos blocos 130a, 132a, 134a e 136a da Fig. 6. Os gradientes espaciais dos blocos de parâmetros codificados vizinhos são utilizados para seleccionar o preditor. Em particular, o gradiente vertical é calculado a partir do bloco de parâmetros codificado dos blocos vizinhos de cima à esquerda e à esquerda (136a, 132a, mostrados no circulo 140 na Fig. 7) . O gradiente horizontal é calculado a partir do bloco de parâmetros codificado dos blocos vizinhos de cima à esquerda e de cima (136a, 130a, mostrados no circulo 142 na Fig. 7). A Fig. 8 é um fluxograma que ilustra os passos para encontrar a previsão. Em primeiro lugar, o codificador encontra os gradientes vertical e horizontal. Cada um é calculado como o OU exclusivo do bloco de parâmetros codificado, mostrado no círculo na Fig. 7 (140 é o gradiente vertical e 142 é 0 gradiente horizontal). A seguir, o codificador compara os valores de gradiente. Se os gradientes não são os mesmos, o codificador selecciona 0 preditor como o valor atribuído ao bloco na direcção do gradiente inferior. No exemplo mostrado na Fig. 7, o gradiente vertical é zero, enquanto o gradiente horizontal é um. Deste modo, a direcção do gradiente inferior é para cima. Como tal, o valor do bloco de parâmetro codificado para o bloco 134a é utilizado como o preditor porque está localizado na direcção "para cima" em relação ao bloco de interesse. 26
Independentemente da previsão ser ou não, utilizada para modificar os parâmetros de bloco codificado, o resultado final é um único código de comprimento variável representando todos os parâmetros de blocos codificados para o macrobloco. Uma vez que as tramas I e P estão codificados de maneira diferente na implementação, o descodificador trata de uma maneira diferente os macroblocos para estas tramas. Para as tramas P, o descodificador utiliza a tabela 1 VLC para procurar o único código de comprimento variável e encontrar a entrada correspondente que armazena o parâmetro combinado representando os parâmetros de bloco codificados para a luminância e crominância. Para os tramas I, o descodificador utiliza a tabela 2 VLC, para procurar o único código de comprimento variável e encontrar a entrada correspondente que armazena o parâmetro combinado representando os parâmetros de bloco codificados para a luminância e crominância. Em ambas as tramas I e P, o módulo descodificador de textura (bloco 74 na Fig. 3) utiliza os parâmetros de bloco codificados, para determinar se os dados de textura para os parâmetros de bloco codificados correspondentes necessitam de ser descodificados. 0 descodificador salta a descodificação de textura para os blocos que têm um parâmetro de bloco o codificado de zero.
Em casos onde os parâmetros de bloco codificados também são preditores, o descodificador utiliza os parâmetros de bloco previamente descodificados dos blocos vizinhos, para calcular o parâmetro de bloco, para o bloco de interesse actual. Em primeiro lugar, o descodificador calcula a localização do bloco preditor com base nos gradientes espaciais, da mesma maneira que no codificador. A seguir, calcula o valor dos parâmetros de bloco codificados para o bloco actual através do cálculo do OU exclusivo do valor descodificado e do parâmetro de bloco 27 codificado do bloco preditor (o operador OU exclusivo tem a seguinte propriedade: X XOR Y = Z; Z XOR X = Y) . Depois desta etapa de previsão inversa, o descodificador de textura utiliza então o bloco de parâmetro codificado para determinar se salta a descodificação da textura para o bloco.
Breve Descrição de um Sistema de Computador A Figura 9 e a discussão que se segue têm a intenção de proporcionar uma descrição breve e genérica de um ambiente computacional compatível, no qual a invenção pode ser implementada. Apesar de a invenção ou aspectos desta poderem ser implementadas num dispositivo físico, o codificador e o descodificador descritos acima foram implementados em instruções, executáveis num computador, organizadas em módulos de programa. Os módulos de programa incluem as rotinas, programas, objectos, componentes e estruturas de dados que executam as tarefas e implementam os tipos de dados descritos acima.
Enquanto a Fig. 9 mostra uma configuração típica de um computador de secretária, a invenção pode ser implementada noutras configurações de sistemas de computador, incluindo dispositivos de bolso, sistemas multiprocessador, baseados em microprocessador ou electrónica de consumo programável, minicomputadores, computadores centrais, e semelhantes. A invenção, também, pode ser utilizada em ambientes de computação distribuída, onde as tarefas são executadas por dispositivos de processamento remoto que estão ligados através de uma rede de comunicações. Num ambiente de computação distribuído os módulos 28 de programas podem estar localizados quer no dispositivo de memória de armazenamento local quer no remoto. A Figura 9 ilustra um exemplo de um sistema de computador, que serve como um ambiente operativo para a invenção. 0 sistema de computador inclui um computador 920 pessoal, incluindo uma unidade 921 de processamento, uma memória 922 de sistema e um barramento 923 de sistema que interliga vários componentes de sistema incluindo a memória de sistema à unidade 921 de processamento. O barramento de sistema pode compreender qualquer um de vários tipos de estruturas de barramento incluindo um barramento de memória ou controlador de memória, um barramento periférico e um barramento local utilizando uma arquitectura de barramento, tal como, PCI, VESA, Microcanal (MCA), ISA e EISA para nomear algumas. A memória de sistema inclui memória 924 apenas de leitura (ROM) e memória 925 de acesso aleatório (RAM). Um sistema 926 de entrada/saída básico (BIOS), contendo as rotinas básicas que ajudam a transferir informação entre elementos dentro do computador 920 pessoal, tal como, durante o arranque do sistema está armazenado na ROM 924. O computador 920 pessoal, inclui ainda uma unidade 927 de disco rígido, uma unidade 928 de disco magnético, e. g., para ler de e escrever para um disco 929 amovível, e uma unidade 930 de disco óptico, e. g., para leitura de um disco 931 de CD-ROM ou para ler de ou escrever para outro média óptico. A unidade 927 de disco rígido, unidade 928 de disco magnético e unidade 930 de disco óptico estão ligadas, respectivamente, ao barramento 923 de sistema por uma interface 932 de unidade de disco rígido, uma interface 933 de unidade de disco magnético e uma interface 934 de unidade de disco óptico. As unidades e os seus suportes legíveis pelo computador associados proporcionam armazenamento de dados não volátil, estruturas de dados, instruções executáveis pelo 29 computador (código de programa, tais como bibliotecas de ligação dinâmica e ficheiros executáveis), etc. para o computador 920 pessoal. Apesar de a descrição acima dos média legíveis por computador se referir a um disco rígido, um disco magnético amovível e um CD, também pode incluir outros tipos de suportes que sejam legíveis por um computador, tais como cassetes magnéticas, cartões de memória flash, discos de vídeo digital, cartuchos Bernoulli e semelhantes. vários módulos de programa podem ser armazenados nas unidades e na RAM 925, incluindo um sistema 935 operativo, um ou mais programas 936 de aplicação, outros módulos 937 de programas e dados 938 de programa. Um utilizador pode introduzir comandos e informação para o computador 920 pessoal através de um teclado 940 e de um dispositivo apontador, tal como um rato 942. Outros dispositivos de entrada (não mostrados) podem incluir um microfone, alavanca de jogos, comando de jogos, prato de satélite, digitalizador, ou semelhantes. Estes e outros dispositivos estão frequentemente ligados à unidade 921 de processamento através de uma interface 946 de porta série que está acoplada ao barramento de sistema, mas pode ser ligada por outras interfaces, tais como uma porta paralela, porta de jogos ou um barramento série universal (USB). Um monitor 947 ou outro tipo de dispositivo de visualização está, também, ligado ao barramento 923 de sistema através de uma interface, tal como um controlador de vídeo ou adaptador 948 de vídeo. Além do monitor, os computadores pessoais incluem, tipicamente, outros dispositivos de saída periféricos (não mostrados), tais como, altifalantes ou impressoras. O computador 920 pessoal, pode funcionar num ambiente de rede utilizando ligações lógicas para um ou mais computadores 30 remotos tais como, um computador 949 remoto. 0 computador 949 remoto pode ser um servidor, um reencaminhador, um dispositivo par ou outro nó de rede comum e inclui, tipicamente, apesar de na Figura 9 apenas ser descrito o dispositivo 950 de armazenamento de memória, muitos ou todos os elementos descritos relativos ao computador 920 pessoal. As ligações lógicas descritas na Figura 9 incluem uma rede 951 de área local (LAN) e uma rede 952 de área alargada (WAN). Tais ambientes de rede são lugares comuns nos escritórios, redes empresariais de computadores alargada, redes internas e a internet.
Quando utilizada num ambiente de rede LAN, o computador 920 pessoal é ligado à rede 951 local através de uma interface ou adaptador 953 de rede. Quando utilizado num ambiente de rede WAN, o computador 920 pessoal inclui, tipicamente, um modem 954 ou outros meios para estabelecer comunicações sobre a rede 952 de área alargada, tal como a Internet. O modem 954, o qual pode ser interno ou externo, é ligado ao barramento 923 de sistema através de uma interface 946 de porta série. Num ambiente de rede, os módulos de programa descritos em relação ao computador 920 pessoal, ou partes destes, podem ser armazenados no dispositivo de armazenamento de memória remoto. As ligações de rede mostradas são meros exemplos e outros meios podem ser utilizados para estabelecer uma ligação de comunicações entre computadores.
Conclusão
Enquanto a invenção foi ilustrada, utilizando como exemplo, uma implementação específica, o âmbito da invenção não está limitada a esta implementação específica. Por exemplo, 31 utilizando técnicas semelhantes, é possível utilizar a previsão espacial para ambos os blocos de crominância e de luminância. Adicionalmente, a previsão espacial pode ser utilizada para codificação dos parâmetros de bloco codificados quer para a trama intra quer para a trama preditor. A implementação utiliza tabelas Huffman para gerar códigos de comprimento variável. De facto, pode-se utilizar uma variedade de métodos de codificação de entropia para gerar um código de comprimento variável para cada parâmetro de bloco codificado combinado. Por exemplo, podem ser utilizadas várias formas de aritmética e/ou execução de codificação de comprimento. Cada um destes métodos de codificação atribui códigos mais longos aos sinais de entrada que ocorrem menos frequentemente, enquanto atribuem códigos mais curtos para sinais de entrada mais frequentes. Como acima verificado, os métodos de codificação para melhorar a eficiência dos cabeçalhos do macrobloco podem ser aplicada aos métodos de codificação com base em objectos e com base em tramas.
Lisboa, 10 de Dezembro de 2007 32
Claims (15)
- REIVINDICAÇÕES 1. Método de reconstrução de uma ou mais imagens de vídeo numa sequência de vídeo durante a descodificação de vídeo num sistema de computador, sendo o método caracterizado por: para cada macrobloco da pluralidade de macroblocos, receber um código de comprimento variável num fluxo de bits, em que um padrão de bloco codificado inclui uma primeira informação de padrão de bloco codificado para a pluralidade de blocos de luminância do macrobloco, em que o padrão de bloco codificado inclui uma segunda informação padrão de bloco codificado para a pluralidade de blocos de crominância do macrobloco, em que o código de comprimento variável recebido indica uma entrada na tabela de códigos numa tabela de códigos, especificando a entrada na tabela de códigos um parâmetro combinado que representa a primeira informação de padrão de bloco codificado e a segunda informação de padrão de bloco codificado para o macrobloco, em que o padrão de bloco codificado indica que bloco, da pluralidade de blocos de luminância e da pluralidade de blocos de crominância, tem dados (86) de coeficiente de transformada correspondentes no fluxo de bits, e em que o macrobloco tem um tipo de macrobloco; recuperar o padrão de bloco codificado para o macrobloco, com base, pelo menos em parte, no código de comprimento variável recebido, em que a recuperação inclui procurar a entrada da tabela de códigos na tabela de códigos e, em que o tipo de macrobloco é intra para, pelo menos, um da 1 pluralidade de macroblocos para o qual os padrões de bloco codificado são recuperados; e utilizar o padrão de bloco codificado para o macrobloco durante a reconstrução da imagem ou mais imagens de video.
- 2. Método da reivindicação 1, em que cada macrobloco da pluralidade de macroblocos consiste em quatro blocos de luminância e dois blocos de crominância.
- 3. Método da reivindicação 1, em que cada macrobloco da pluralidade de macroblocos inclui uma matriz de 16x16 pixéis e, em que cada bloco da pluralidade de blocos de luminância e da pluralidade de blocos de crominância inclui uma matriz de 8x8 pixéis.
- 4. Método da reivindicação 1, em que a recuperação do padrão de bloco codificado é ainda baseada, pelo menos em parte, em dados descodificados de um ou de outros macroblocos.
- 5. Método da reivindicação 4, em que os dados descodificados de um, ou de outros macroblocos compreende informação de padrão de bloco codificado descodificada.
- 6. Método da reivindicação 1, em que o código de comprimento variável recebido é diferente, dependendo do tipo de macrobloco do macrobloco ser ou não intra.
- 7. Método da reivindicação 1, em que o padrão de bloco codificado para cada macrobloco da pluralidade de macrobloco consiste em seis bits. 2
- 8. Método da reivindicação 7, em que quatro dos seis bits indicam, respectivamente, qual dos blocos da pluralidade de blocos de luminância tem dados de coeficiente de transformada no fluxo de bits.
- 9. Método de codificação de uma ou mais imagens de video de uma sequência de video num sistema de computador, sendo o método caracterizado por: receber uma ou mais imagens de vídeo de uma sequência de vídeo; e para cada macrobloco da pluralidade de macroblocos de uma ou mais imagens de vídeo, determinar um código de comprimento variável para um padrão de bloco codificado do macrobloco, em que o padrão de bloco codificado inclui uma primeira informação (100, 106 "CBPY") de padrão de bloco codificado para a pluralidade de blocos de luminância do macrobloco, em que o padrão de bloco codificado inclui uma segunda informação (100, 106 "CBPC") de padrão de bloco codificado para a pluralidade de blocos de crominância do macrobloco, em que o código de comprimento variável indica, uma entrada na tabela de códigos numa tabela de códigos, especificando a entrada na tabela de códigos um parâmetro combinado que representa a primeira informação de padrão de bloco codificado e a segunda informação de padrão de bloco codificado do padrão de bloco codificado para o macrobloco, em que o padrão de bloco codificado indica qual dos blocos da pluralidade de blocos de luminância e da pluralidade de blocos de crominância tem dados (86) de coeficiente de transformada 3 correspondentes num fluxo de bits, em que o macrobloco tem um tipo de macrobloco e em que o tipo de macrobloco é intra para, pelo menos, um da pluralidade de macroblocos para o qual os códigos de comprimento variável são determinados para padrões de bloco codificado; e emitir o código de comprimento variável no fluxo de bits, pelo que um descodificador de video que recebe o código de comprimento variável determina o padrão de bloco codificado para o macrobloco com base, pelo menos em parte, na consulta da entrada da tabela de códigos na tabela de códigos. Método da reivindicação 9, em que cada macrobloco da pluralidade de macroblocos consiste em quatro blocos de luminância e dois blocos i de crominância. Método da reivindicação 9, em que cada macrobloco da pluralidade de macroblocos inclui uma matriz de 16x16 pixéis, e em que cada bloco da pluralidade de blocos de luminância e da pluralidade de blocos de crominância inclui uma matriz de 8x8 pixéis.
- 12. Método da reivindicação 9, em que a determinação do código de comprimento variável é ainda baseada, pelo menos em parte, nos dados de um ou outros macroblocos.
- 13. Método da reivindicação 12, em que os dados de um ou outros macroblocos compreende informação de padrão de bloco codificado. 4
- 14. Método da reivindicação 9, em que o código de comprimento variável é diferente dependendo do tipo de macrobloco do macroMoco ser ou não intra.
- 15. Método da reivindicação 9, em que o padrão de bloco codificado para cada macrobloco da pluralidade de macroblocos consiste em seis bits.
- 16. Método da reivindicação 15, em que quatro dos seis bits indicam, respectivamente, que blocos da pluralidade de blocos de luminância têm dados de coeficiente de transformação no fluxo de bits .
- 17. Suporte legível por computador que armazena instruções executáveis pelo computador, para fazer o sistema de computador executar o método de qualquer das reivindicações 1 a 16. Lisboa, 10 de Dezembro de 2007 5
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/201,272 US6563953B2 (en) | 1998-11-30 | 1998-11-30 | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
Publications (1)
Publication Number | Publication Date |
---|---|
PT1135934E true PT1135934E (pt) | 2007-12-20 |
Family
ID=22745185
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT07014945T PT1863295E (pt) | 1998-11-30 | 1999-11-30 | Codificação/descodificação de padrão de bloco codificado com predição espacial |
PT99965061T PT1135934E (pt) | 1998-11-30 | 1999-11-30 | Codificação eficiente do cabeçalho de macrobloco para compressão de vídeo |
PT07014891T PT1853069E (pt) | 1998-11-30 | 1999-11-30 | Descodificação de informação de tipo de macrobloco e de padrão de bloco codificado |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT07014945T PT1863295E (pt) | 1998-11-30 | 1999-11-30 | Codificação/descodificação de padrão de bloco codificado com predição espacial |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT07014891T PT1853069E (pt) | 1998-11-30 | 1999-11-30 | Descodificação de informação de tipo de macrobloco e de padrão de bloco codificado |
Country Status (10)
Country | Link |
---|---|
US (7) | US6563953B2 (pt) |
EP (3) | EP1135934B1 (pt) |
JP (4) | JP3778798B2 (pt) |
AT (3) | ATE456254T1 (pt) |
DE (3) | DE69941965D1 (pt) |
DK (3) | DK1863295T3 (pt) |
ES (3) | ES2337612T3 (pt) |
HK (2) | HK1115256A1 (pt) |
PT (3) | PT1863295E (pt) |
WO (1) | WO2000033583A1 (pt) |
Families Citing this family (134)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6571016B1 (en) * | 1997-05-05 | 2003-05-27 | Microsoft Corporation | Intra compression of pixel blocks using predicted mean |
US6215910B1 (en) | 1996-03-28 | 2001-04-10 | Microsoft Corporation | Table-based compression with embedded coding |
US6563953B2 (en) | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
US6499060B1 (en) | 1999-03-12 | 2002-12-24 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
FI116819B (fi) * | 2000-01-21 | 2006-02-28 | Nokia Corp | Menetelmä kuvien lähettämiseksi ja kuvakooderi |
GB2359209A (en) * | 2000-02-09 | 2001-08-15 | Motorola Ltd | Apparatus and methods for video distribution via networks |
US20020191698A1 (en) * | 2001-06-15 | 2002-12-19 | Solidstreaming, Inc. | Video data CODEC system with low computational complexity |
US7292731B2 (en) * | 2001-06-29 | 2007-11-06 | Ntt Docomo, Inc. | Image encoder, image decoder, image encoding method, and image decoding method |
CN100380983C (zh) * | 2001-08-02 | 2008-04-09 | 皇家飞利浦电子股份有限公司 | 视频编码方法 |
JP4610195B2 (ja) | 2001-12-17 | 2011-01-12 | マイクロソフト コーポレーション | スキップマクロブロックコード化 |
CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
US7003035B2 (en) * | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
WO2003084241A2 (en) * | 2002-03-22 | 2003-10-09 | Realnetworks, Inc. | Context-adaptive macroblock type encoding/decoding methods and apparatuses |
JP4130780B2 (ja) * | 2002-04-15 | 2008-08-06 | 松下電器産業株式会社 | 画像符号化方法および画像復号化方法 |
TW560179B (en) * | 2002-04-16 | 2003-11-01 | Pixart Imaging Inc | Moving correction and compensation method |
US7832566B2 (en) | 2002-05-24 | 2010-11-16 | Biomet Biologics, Llc | Method and apparatus for separating and concentrating a component from a multi-component material including macroparticles |
US20030205538A1 (en) | 2002-05-03 | 2003-11-06 | Randel Dorian | Methods and apparatus for isolating platelets from blood |
US7845499B2 (en) | 2002-05-24 | 2010-12-07 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
US20060278588A1 (en) | 2002-05-24 | 2006-12-14 | Woodell-May Jennifer E | Apparatus and method for separating and concentrating fluids containing multiple components |
EP1944977B1 (en) * | 2002-05-28 | 2014-12-31 | Sharp Kabushiki Kaisha | Method and Systems for Image intra-prediction mode estimation, communication, and organization |
CN101568035B (zh) * | 2002-05-28 | 2012-02-01 | 夏普株式会社 | 图像内预测模式估计、通信和组织的方法和系统 |
US7289672B2 (en) | 2002-05-28 | 2007-10-30 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode estimation |
US7386048B2 (en) | 2002-05-28 | 2008-06-10 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode organization |
US7236524B2 (en) | 2002-05-28 | 2007-06-26 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode communication |
US20040001546A1 (en) * | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US7280700B2 (en) * | 2002-07-05 | 2007-10-09 | Microsoft Corporation | Optimization techniques for data compression |
US7154952B2 (en) | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
KR100994295B1 (ko) * | 2002-07-19 | 2010-11-12 | 소니 주식회사 | 정보 신호 처리 장치, 정보 신호 처리 방법, 보정 데이터의 생성 장치 및 생성 방법, 계수 데이터의 생성 장치 및 생성 방법, 및 각 방법을 실행하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 매체 |
US20040120404A1 (en) * | 2002-11-27 | 2004-06-24 | Takayuki Sugahara | Variable length data encoding method, variable length data encoding apparatus, variable length encoded data decoding method, and variable length encoded data decoding apparatus |
US7130350B1 (en) * | 2003-02-28 | 2006-10-31 | Vixs Systems, Inc. | Method and system for encoding and decoding data in a video stream |
US7424493B2 (en) * | 2003-04-21 | 2008-09-09 | Microsoft Corporation | Replication-based propagation mechanism for pipelines |
US7499495B2 (en) * | 2003-07-18 | 2009-03-03 | Microsoft Corporation | Extended range motion vectors |
US7738554B2 (en) * | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US7426308B2 (en) * | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
US7502415B2 (en) * | 2003-07-18 | 2009-03-10 | Microsoft Corporation | Range reduction |
US7830963B2 (en) | 2003-07-18 | 2010-11-09 | Microsoft Corporation | Decoding jointly coded transform type and subblock pattern information |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US7269288B2 (en) * | 2003-07-30 | 2007-09-11 | Mediatek Inc. | Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof |
US8014450B2 (en) | 2003-09-07 | 2011-09-06 | Microsoft Corporation | Flexible range reduction |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7317839B2 (en) * | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
US7092576B2 (en) * | 2003-09-07 | 2006-08-15 | Microsoft Corporation | Bitplane coding for macroblock field/frame coding type information |
US8064520B2 (en) * | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US7599438B2 (en) * | 2003-09-07 | 2009-10-06 | Microsoft Corporation | Motion vector block pattern coding and decoding |
US7567617B2 (en) * | 2003-09-07 | 2009-07-28 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US7606308B2 (en) * | 2003-09-07 | 2009-10-20 | Microsoft Corporation | Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields |
US7912291B2 (en) * | 2003-11-10 | 2011-03-22 | Ricoh Co., Ltd | Features for retrieval and similarity matching of documents from the JPEG 2000-compressed domain |
US7627037B2 (en) * | 2004-02-27 | 2009-12-01 | Microsoft Corporation | Barbell lifting for multi-layer wavelet coding |
US7580461B2 (en) * | 2004-02-27 | 2009-08-25 | Microsoft Corporation | Barbell lifting for wavelet coding |
US7649539B2 (en) * | 2004-03-10 | 2010-01-19 | Microsoft Corporation | Image formats for video capture, processing and display |
US7586647B2 (en) * | 2004-07-29 | 2009-09-08 | Canon Kabushiki Kaisha | Halftone detection and removal |
CN100359953C (zh) * | 2004-09-08 | 2008-01-02 | 华为技术有限公司 | 基于帧内编码的图像色度预测方法 |
CN100461867C (zh) * | 2004-12-02 | 2009-02-11 | 中国科学院计算技术研究所 | 一种帧内图像预测编码方法 |
US8634413B2 (en) | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
KR100682912B1 (ko) * | 2005-01-05 | 2007-02-15 | 삼성전자주식회사 | 화상 데이터 부호화 및 복호화 방법 및 장치 |
WO2006086201A2 (en) | 2005-02-07 | 2006-08-17 | Hanuman Llc | Platelet rich plasma concentrate apparatus and method |
US7866485B2 (en) | 2005-02-07 | 2011-01-11 | Hanuman, Llc | Apparatus and method for preparing platelet rich plasma and concentrates thereof |
EP2910258B1 (en) | 2005-02-07 | 2018-08-01 | Hanuman LLC | Platelet rich plasma concentrate apparatus |
JP4683374B2 (ja) * | 2005-03-14 | 2011-05-18 | 富士ゼロックス株式会社 | 符号化装置、符号化方法及びプログラム |
JP4301193B2 (ja) * | 2005-03-31 | 2009-07-22 | ソニー株式会社 | 画像比較装置及び方法、画像検索装置及び方法、並びにプログラム及び記録媒体 |
US8619860B2 (en) | 2005-05-03 | 2013-12-31 | Qualcomm Incorporated | System and method for scalable encoding and decoding of multimedia data using multiple layers |
WO2007027011A1 (en) | 2005-07-15 | 2007-03-08 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image |
US9077960B2 (en) | 2005-08-12 | 2015-07-07 | Microsoft Corporation | Non-zero coefficient block pattern coding |
US7860327B2 (en) * | 2005-10-06 | 2010-12-28 | Sony Corporation | Systems and methods for enhanced coding gain |
KR100763196B1 (ko) * | 2005-10-19 | 2007-10-04 | 삼성전자주식회사 | 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치 |
TW200746655A (en) * | 2005-11-18 | 2007-12-16 | Sony Corp | Encoding device and method, decoding device and method, and transmission system |
KR100791295B1 (ko) * | 2006-01-12 | 2008-01-04 | 삼성전자주식회사 | 플래그 부호화 방법, 플래그 복호화 방법, 및 상기 방법을이용한 장치 |
US8848789B2 (en) * | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
KR100745765B1 (ko) * | 2006-04-13 | 2007-08-02 | 삼성전자주식회사 | 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법 |
US8880571B2 (en) * | 2006-05-05 | 2014-11-04 | Microsoft Corporation | High dynamic range data format conversions for digital media |
US8567609B2 (en) | 2006-05-25 | 2013-10-29 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
KR100809298B1 (ko) * | 2006-06-22 | 2008-03-04 | 삼성전자주식회사 | 플래그 인코딩 방법, 플래그 디코딩 방법, 및 상기 방법을이용한 장치 |
RU2430485C2 (ru) | 2006-10-10 | 2011-09-27 | Ниппон Телеграф Энд Телефон Корпорейшн | Способ кодирования и способ декодирования видеоинформации, устройства для реализации этого способа, программы для реализации этого способа и носители информации для записи этих программ |
US8054886B2 (en) * | 2007-02-21 | 2011-11-08 | Microsoft Corporation | Signaling and use of chroma sample positioning information |
US8189676B2 (en) * | 2007-04-05 | 2012-05-29 | Hong Kong University Of Science & Technology | Advance macro-block entropy coding for advanced video standards |
US8328024B2 (en) | 2007-04-12 | 2012-12-11 | Hanuman, Llc | Buoy suspension fractionation system |
WO2008127639A1 (en) | 2007-04-12 | 2008-10-23 | Biomet Biologics, Llc | Buoy suspension fractionation system |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
NO326724B1 (no) * | 2007-09-03 | 2009-02-02 | Tandberg Telecom As | Metode for entropikoding av transformasjonskoeffisienter i videokomprimeringssystemer |
NO328295B1 (no) * | 2007-12-20 | 2010-01-25 | Tandberg Telecom As | VLC-fremgangsmate og -innretning |
EP2620139B1 (en) | 2008-02-27 | 2016-07-20 | Biomet Biologics, LLC | Interleukin-1 receptor antagonist rich solutions |
US8337711B2 (en) | 2008-02-29 | 2012-12-25 | Biomet Biologics, Llc | System and process for separating a material |
US8542748B2 (en) | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
US8012077B2 (en) | 2008-05-23 | 2011-09-06 | Biomet Biologics, Llc | Blood separating device |
US10455248B2 (en) * | 2008-10-06 | 2019-10-22 | Lg Electronics Inc. | Method and an apparatus for processing a video signal |
CN101742329B (zh) * | 2008-11-24 | 2013-02-13 | 北京中星微电子有限公司 | 一种图像编码方法及装置 |
CN101742301B (zh) * | 2008-11-24 | 2017-04-19 | 北京中星微电子有限公司 | 一种块模式编码方法及装置 |
FR2940736B1 (fr) * | 2008-12-30 | 2011-04-08 | Sagem Comm | Systeme et procede de codage video |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
US8187475B2 (en) | 2009-03-06 | 2012-05-29 | Biomet Biologics, Llc | Method and apparatus for producing autologous thrombin |
US8313954B2 (en) | 2009-04-03 | 2012-11-20 | Biomet Biologics, Llc | All-in-one means of separating blood components |
WO2010131903A2 (en) | 2009-05-12 | 2010-11-18 | Lg Electronics Inc. | Method and apparatus for processing a video signal |
US9011800B2 (en) | 2009-07-16 | 2015-04-21 | Biomet Biologics, Llc | Method and apparatus for separating biological materials |
EP2375751A1 (en) | 2010-04-12 | 2011-10-12 | Panasonic Corporation | Complexity reduction of edge-detection based spatial interpolation |
US8591391B2 (en) | 2010-04-12 | 2013-11-26 | Biomet Biologics, Llc | Method and apparatus for separating a material |
US8942282B2 (en) * | 2010-04-12 | 2015-01-27 | Qualcomm Incorporated | Variable length coding of coded block pattern (CBP) in video compression |
CN106454373B (zh) | 2010-04-13 | 2019-10-01 | Ge视频压缩有限责任公司 | 解码器、重建数组的方法、编码器及编码方法 |
CN105872563B (zh) * | 2010-04-13 | 2019-06-14 | Ge视频压缩有限责任公司 | 用于解码、生成、存储数据流以及传输视频的方法 |
RS63059B1 (sr) | 2010-04-13 | 2022-04-29 | Ge Video Compression Llc | Kodiranje videa primenom podele sa više stabala na slikama |
CN106162172B (zh) | 2010-04-13 | 2020-06-02 | Ge视频压缩有限责任公司 | 解码器及方法、编码器及方法、产生和解码数据流方法 |
KR102595454B1 (ko) | 2010-04-13 | 2023-10-27 | 지이 비디오 컴프레션, 엘엘씨 | 평면 간 예측 |
KR101813189B1 (ko) * | 2010-04-16 | 2018-01-31 | 에스케이 텔레콤주식회사 | 영상 부호화/복호화 장치 및 방법 |
US9319880B2 (en) * | 2010-09-15 | 2016-04-19 | Intel Corporation | Reformatting data to decrease bandwidth between a video encoder and a buffer |
US8344917B2 (en) * | 2010-09-30 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Methods and systems for context initialization in video coding and decoding |
US9313514B2 (en) | 2010-10-01 | 2016-04-12 | Sharp Kabushiki Kaisha | Methods and systems for entropy coder initialization |
US9172963B2 (en) | 2010-11-01 | 2015-10-27 | Qualcomm Incorporated | Joint coding of syntax elements for video coding |
JP5878295B2 (ja) * | 2011-01-13 | 2016-03-08 | ソニー株式会社 | 画像処理装置、画像処理方法およびプログラム |
US9674521B2 (en) | 2011-06-28 | 2017-06-06 | Samsung Electronics Co., Ltd. | Prediction method and apparatus for chroma component of image using luma component of image |
KR101889101B1 (ko) * | 2011-09-14 | 2018-08-17 | 세종대학교산학협력단 | 메모리 복사를 이용하여 영상을 복원하는 방법 및 장치 |
WO2013039363A2 (ko) * | 2011-09-16 | 2013-03-21 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 그 장치 |
KR101542585B1 (ko) | 2011-10-19 | 2015-08-06 | 주식회사 케이티 | 영상 부호화/복호화 방법 및 그 장치 |
US8615138B2 (en) * | 2011-11-03 | 2013-12-24 | Google Inc. | Image compression using sub-resolution images |
WO2013187060A1 (ja) * | 2012-06-12 | 2013-12-19 | パナソニック株式会社 | 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置 |
US9642956B2 (en) | 2012-08-27 | 2017-05-09 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
CN103096090B (zh) * | 2013-02-20 | 2015-12-02 | 广州柯维新数码科技有限公司 | 一种用于视频压缩中的编码块划分的方法 |
US20140271589A1 (en) | 2013-03-15 | 2014-09-18 | Biomet Biologics, Llc | Treatment of collagen defects using protein solutions |
US10208095B2 (en) | 2013-03-15 | 2019-02-19 | Biomet Manufacturing, Llc | Methods for making cytokine compositions from tissues using non-centrifugal methods |
US10143725B2 (en) | 2013-03-15 | 2018-12-04 | Biomet Biologics, Llc | Treatment of pain using protein solutions |
US9950035B2 (en) | 2013-03-15 | 2018-04-24 | Biomet Biologics, Llc | Methods and non-immunogenic compositions for treating inflammatory disorders |
US9895418B2 (en) | 2013-03-15 | 2018-02-20 | Biomet Biologics, Llc | Treatment of peripheral vascular disease using protein solutions |
JP2015095733A (ja) * | 2013-11-11 | 2015-05-18 | キヤノン株式会社 | 画像伝送装置、画像伝送方法、及びプログラム |
KR102269590B1 (ko) * | 2014-02-19 | 2021-06-24 | 삼성전자주식회사 | 바이너리 생성 방법 및 그 전자 장치 |
US10067951B2 (en) * | 2014-02-19 | 2018-09-04 | Samsung Electronics Co, Ltd | Method for creating binary code and electronic device thereof |
US9713810B2 (en) | 2015-03-30 | 2017-07-25 | Biomet Biologics, Llc | Cell washing plunger using centrifugal force |
US9757721B2 (en) | 2015-05-11 | 2017-09-12 | Biomet Biologics, Llc | Cell washing plunger using centrifugal force |
US10091506B2 (en) * | 2015-06-11 | 2018-10-02 | Sony Corporation | Data-charge phase data compression architecture |
US10027968B2 (en) * | 2015-06-12 | 2018-07-17 | Sony Corporation | Data-charge phase data compression tool |
US10171810B2 (en) | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
CN108464005A (zh) | 2015-12-22 | 2018-08-28 | 真实网络公司 | 视频编码中的残差变换及逆向变换系统和方法 |
CN109788290A (zh) * | 2017-11-13 | 2019-05-21 | 慧荣科技股份有限公司 | 影像处理装置及利用帧内预测的无损影像压缩方法 |
CN111010572A (zh) * | 2018-12-04 | 2020-04-14 | 北京达佳互联信息技术有限公司 | 一种视频编码方法和装置及设备 |
MX2022006718A (es) * | 2019-12-11 | 2022-07-12 | Sony Group Corp | Dispositivo de procesamiento de imagenes, metodo de generacion de flujo de bits, metodo de generacion de datos de coeficiente y metodo de generacion de coeficiente de cuantificacion. |
CN115280769A (zh) * | 2020-03-12 | 2022-11-01 | 交互数字Vc控股法国公司 | 用于视频编码和解码的方法和设备 |
Family Cites Families (147)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56128070A (en) | 1980-03-13 | 1981-10-07 | Fuji Photo Film Co Ltd | Band compressing equipment of variable density picture |
JPS61205086A (ja) | 1985-03-08 | 1986-09-11 | Mitsubishi Electric Corp | 画像符号化復号化装置 |
EP0207774B1 (en) | 1985-07-02 | 1992-03-04 | Matsushita Electric Industrial Co., Ltd. | Block encoder |
FR2599577B1 (fr) | 1986-05-29 | 1988-08-05 | Guichard Jacques | Procede de codage par transformation pour la transmission de signaux d'image. |
US4800432A (en) | 1986-10-24 | 1989-01-24 | The Grass Valley Group, Inc. | Video Difference key generator |
DE3704777C1 (de) | 1987-02-16 | 1988-04-07 | Ant Nachrichtentech | Verfahren zum UEbertragen und zum Wiedergeben von Fernsehbildsequenzen |
NL8700565A (nl) | 1987-03-10 | 1988-10-03 | Philips Nv | Televisiesysteem waarin aan een transformatiekodering onderworpen gedigitaliseerde beeldsignalen worden overgebracht van een kodeerstation naar een dekodeerstation. |
EP0290085B1 (de) | 1987-05-06 | 1996-03-20 | Philips Patentverwaltung GmbH | System zur Übertragung von Videobildern |
FR2648254B2 (fr) * | 1988-09-23 | 1991-08-30 | Thomson Csf | Procede et dispositif d'estimation de mouvement dans une sequence d'images animees |
US5379351A (en) * | 1992-02-19 | 1995-01-03 | Integrated Information Technology, Inc. | Video compression/decompression processing and processors |
JPH07109990B2 (ja) | 1989-04-27 | 1995-11-22 | 日本ビクター株式会社 | 適応型フレーム間予測符号化方法及び復号方法 |
JP2562499B2 (ja) | 1989-05-29 | 1996-12-11 | 日本電信電話株式会社 | 高能率画像符号化装置およびその復号化装置 |
JPH0822064B2 (ja) | 1990-02-15 | 1996-03-04 | 三菱電機株式会社 | 変換符号化方式 |
EP0715469B1 (en) | 1989-10-14 | 2001-09-12 | Sony Corporation | Video signal coding/decoding method and apparatus |
JPH082107B2 (ja) | 1990-03-02 | 1996-01-10 | 国際電信電話株式会社 | 動画像のハイブリッド符号化方法及びその装置 |
JPH03265290A (ja) | 1990-03-14 | 1991-11-26 | Toshiba Corp | テレビジョン信号走査線変換器 |
US5091782A (en) | 1990-04-09 | 1992-02-25 | General Instrument Corporation | Apparatus and method for adaptively compressing successive blocks of digital video |
US4999705A (en) | 1990-05-03 | 1991-03-12 | At&T Bell Laboratories | Three dimensional motion compensated video coding |
US5155594A (en) | 1990-05-11 | 1992-10-13 | Picturetel Corporation | Hierarchical encoding method and apparatus employing background references for efficiently communicating image sequences |
US5068724A (en) | 1990-06-15 | 1991-11-26 | General Instrument Corporation | Adaptive motion compensation for digital television |
JP3037383B2 (ja) | 1990-09-03 | 2000-04-24 | キヤノン株式会社 | 画像処理システム及びその方法 |
US5193004A (en) * | 1990-12-03 | 1993-03-09 | The Trustees Of Columbia University In The City Of New York | Systems and methods for coding even fields of interlaced video sequences |
US5111292A (en) * | 1991-02-27 | 1992-05-05 | General Electric Company | Priority selection apparatus as for a video signal processor |
JPH0630280A (ja) * | 1991-03-19 | 1994-02-04 | Nec Eng Ltd | 2値画像データのブロック別選択型符号化前処理方式 |
DE4113505A1 (de) | 1991-04-25 | 1992-10-29 | Thomson Brandt Gmbh | Verfahren zur bildsignalcodierung |
JPH04334188A (ja) | 1991-05-08 | 1992-11-20 | Nec Corp | 動画像信号の符号化方式 |
DE69223925T2 (de) | 1991-05-24 | 1998-06-18 | British Broadcasting Corp | Videobildverarbeitung |
US5317397A (en) * | 1991-05-31 | 1994-05-31 | Kabushiki Kaisha Toshiba | Predictive coding using spatial-temporal filtering and plural motion vectors |
JP2977104B2 (ja) * | 1991-07-26 | 1999-11-10 | ソニー株式会社 | 動画像データエンコード方法および装置、並びに動画像データデコード方法および装置 |
US5539466A (en) | 1991-07-30 | 1996-07-23 | Sony Corporation | Efficient coding apparatus for picture signal and decoding apparatus therefor |
JP3001688B2 (ja) | 1991-08-05 | 2000-01-24 | 株式会社大一商会 | パチンコ球の循環制御装置 |
JP2991833B2 (ja) * | 1991-10-11 | 1999-12-20 | 松下電器産業株式会社 | インターレス走査ディジタルビデオ信号の符号化装置及びその方法 |
JP3134424B2 (ja) | 1991-10-31 | 2001-02-13 | ソニー株式会社 | 可変長符号化方法及び装置 |
JP2962012B2 (ja) | 1991-11-08 | 1999-10-12 | 日本ビクター株式会社 | 動画像符号化装置及びその復号装置 |
US5227878A (en) | 1991-11-15 | 1993-07-13 | At&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video |
US5510840A (en) | 1991-12-27 | 1996-04-23 | Sony Corporation | Methods and devices for encoding and decoding frame signals and recording medium therefor |
US5287420A (en) * | 1992-04-08 | 1994-02-15 | Supermac Technology | Method for image compression on a personal computer |
KR0166716B1 (ko) | 1992-06-18 | 1999-03-20 | 강진구 | 블럭 dpcm을 이용한 부호화/복호화방법 및 장치 |
US6226327B1 (en) | 1992-06-29 | 2001-05-01 | Sony Corporation | Video coding method and apparatus which select between frame-based and field-based predictive modes |
US6160849A (en) | 1992-06-29 | 2000-12-12 | Sony Corporation | Selectable field and frame based predictive video coding |
US5412435A (en) * | 1992-07-03 | 1995-05-02 | Kokusai Denshin Denwa Kabushiki Kaisha | Interlaced video signal motion compensation prediction system |
JP2510456B2 (ja) | 1992-08-27 | 1996-06-26 | 三菱電機株式会社 | 画像符号化装置 |
JPH06153180A (ja) | 1992-09-16 | 1994-05-31 | Fujitsu Ltd | 画像データ符号化方法及び装置 |
JPH06113287A (ja) | 1992-09-30 | 1994-04-22 | Matsushita Electric Ind Co Ltd | 画像符号化装置と画像復号化装置 |
US5982437A (en) * | 1992-10-26 | 1999-11-09 | Sony Corporation | Coding method and system, and decoding method and system |
KR0166722B1 (ko) | 1992-11-30 | 1999-03-20 | 윤종용 | 부호화 및 복호화방법 및 그 장치 |
US5400075A (en) | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
US5491516A (en) * | 1993-01-14 | 1996-02-13 | Rca Thomson Licensing Corporation | Field elimination apparatus for a video compression/decompression system |
US5544286A (en) | 1993-01-29 | 1996-08-06 | Microsoft Corporation | Digital video data compression technique |
US5592228A (en) | 1993-03-04 | 1997-01-07 | Kabushiki Kaisha Toshiba | Video encoder using global motion estimation and polygonal patch motion estimation |
US5376968A (en) * | 1993-03-11 | 1994-12-27 | General Instrument Corporation | Adaptive compression of digital video data using different modes such as PCM and DPCM |
JPH06276481A (ja) | 1993-03-18 | 1994-09-30 | Sony Corp | 画像信号符号化及び復号化方法、並びに記録媒体 |
JP3312417B2 (ja) * | 1993-03-18 | 2002-08-05 | ソニー株式会社 | 画像信号符号化装置及び画像信号復号化装置 |
ATE204691T1 (de) | 1993-03-24 | 2001-09-15 | Sony Corp | Verfahren und vorrichtung zur kodierung/dekodierung von bewegungsvektoren, und verfahren und vorrichtung zur kodierung/dekodierung von bildsignalen |
DE69416717T2 (de) | 1993-05-21 | 1999-10-07 | Nippon Telegraph & Telephone | Bewegtbildkoder und -dekoder |
US5448297A (en) | 1993-06-16 | 1995-09-05 | Intel Corporation | Method and system for encoding images using skip blocks |
US5517327A (en) | 1993-06-30 | 1996-05-14 | Minolta Camera Kabushiki Kaisha | Data processor for image data using orthogonal transformation |
US5477272A (en) | 1993-07-22 | 1995-12-19 | Gte Laboratories Incorporated | Variable-block size multi-resolution motion estimation scheme for pyramid coding |
US5453799A (en) * | 1993-11-05 | 1995-09-26 | Comsat Corporation | Unified motion estimation architecture |
US5465118A (en) | 1993-12-17 | 1995-11-07 | International Business Machines Corporation | Luminance transition coding method for software motion video compression/decompression |
EP0675652B1 (fr) * | 1994-03-30 | 2009-05-13 | Nxp B.V. | Procédé et circuit d'estimation de mouvement entre images à deux trames entrelacées, et dispositif de codage de signaux numériques comprenant un tel circuit |
US5550541A (en) | 1994-04-01 | 1996-08-27 | Dolby Laboratories Licensing Corporation | Compact source coding tables for encoder/decoder system |
US5767898A (en) * | 1994-06-23 | 1998-06-16 | Sanyo Electric Co., Ltd. | Three-dimensional image coding by merger of left and right images |
US5594504A (en) | 1994-07-06 | 1997-01-14 | Lucent Technologies Inc. | Predictive video coding using a motion vector updating routine |
JP3474005B2 (ja) * | 1994-10-13 | 2003-12-08 | 沖電気工業株式会社 | 動画像符号化方法及び動画像復号方法 |
US5552832A (en) | 1994-10-26 | 1996-09-03 | Intel Corporation | Run-length encoding sequence for video signals |
JPH08140099A (ja) | 1994-11-11 | 1996-05-31 | Canon Inc | 符号化装置及び方法 |
JP2951861B2 (ja) | 1994-12-28 | 1999-09-20 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
KR0164411B1 (ko) * | 1994-12-28 | 1999-01-15 | 윤종용 | 원격안전 관리시스템의 유지보수를 위한 경보처리방법 및 장치 |
US5619281A (en) | 1994-12-30 | 1997-04-08 | Daewoo Electronics Co., Ltd | Method and apparatus for detecting motion vectors in a frame decimating video encoder |
EP0721287A1 (en) | 1995-01-09 | 1996-07-10 | Daewoo Electronics Co., Ltd | Method and apparatus for encoding a video signal |
JP3732867B2 (ja) * | 1995-03-09 | 2006-01-11 | 株式会社ルネサステクノロジ | 画像伸張装置 |
DE69619002T2 (de) | 1995-03-10 | 2002-11-21 | Toshiba Kawasaki Kk | Bildkodierungs-/-dekodierungsvorrichtung |
KR0181027B1 (ko) | 1995-03-20 | 1999-05-01 | 배순훈 | 화소 단위 움직임 추정을 이용하는 영상처리 시스템 |
KR0171118B1 (ko) | 1995-03-20 | 1999-03-20 | 배순훈 | 비디오신호 부호화 장치 |
KR0171143B1 (ko) | 1995-03-20 | 1999-03-20 | 배순훈 | 육각그리드에서의 삼각구조 형성 장치 |
KR0181063B1 (ko) | 1995-04-29 | 1999-05-01 | 배순훈 | 특징점을 이용한 움직임 보상에서의 그리드 형성방법 및 장치 |
US5654771A (en) | 1995-05-23 | 1997-08-05 | The University Of Rochester | Video compression system using a dense motion vector field and a triangular patch mesh overlay model |
JP3903496B2 (ja) * | 1995-06-05 | 2007-04-11 | ソニー株式会社 | 画像符号化方法、符号化装置、復号方法および復号装置 |
US5835149A (en) * | 1995-06-06 | 1998-11-10 | Intel Corporation | Bit allocation in a coded video sequence |
US6208761B1 (en) | 1995-07-11 | 2001-03-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Video coding |
US5687097A (en) | 1995-07-13 | 1997-11-11 | Zapex Technologies, Inc. | Method and apparatus for efficiently determining a frame motion vector in a video encoder |
US5668608A (en) | 1995-07-26 | 1997-09-16 | Daewoo Electronics Co., Ltd. | Motion vector estimation method and apparatus for use in an image signal encoding system |
US5825830A (en) | 1995-08-17 | 1998-10-20 | Kopf; David A. | Method and apparatus for the compression of audio, video or other data |
US5883678A (en) | 1995-09-29 | 1999-03-16 | Kabushiki Kaisha Toshiba | Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio |
US6307967B1 (en) | 1995-09-29 | 2001-10-23 | Kabushiki Kaisha Toshiba | Video coding and video decoding apparatus |
US6026182A (en) | 1995-10-05 | 2000-02-15 | Microsoft Corporation | Feature segmentation |
KR100211917B1 (ko) | 1995-10-26 | 1999-08-02 | 김영환 | 물체 모양정보 부호화 방법 |
US5692063A (en) | 1996-01-19 | 1997-11-25 | Microsoft Corporation | Method and system for unrestricted motion estimation for video |
US5831559A (en) | 1996-01-24 | 1998-11-03 | Intel Corporation | Encoding/decoding video signals using multiple run-val mapping tables |
JP3371191B2 (ja) | 1996-03-22 | 2003-01-27 | ソニー株式会社 | 画像信号の符号化方法及び復号方法、並びに、符号化装置及び復号装置 |
US5982438A (en) | 1996-03-22 | 1999-11-09 | Microsoft Corporation | Overlapped motion compensation for object coding |
CN1143551C (zh) * | 1996-05-28 | 2004-03-24 | 松下电器产业株式会社 | 图像预测解码装置 |
DE19637522A1 (de) | 1996-09-13 | 1998-03-19 | Bosch Gmbh Robert | Verfahren zur Reduzierung von Daten in Videosignalen |
KR100488422B1 (ko) * | 1996-09-24 | 2005-09-02 | 주식회사 팬택앤큐리텔 | 그레이스케일모양정보부호화/복호화장치및그방법 |
KR100303685B1 (ko) * | 1996-09-30 | 2001-09-24 | 송문섭 | 영상 예측부호화 장치 및 그 방법 |
US5748789A (en) | 1996-10-31 | 1998-05-05 | Microsoft Corporation | Transparent block skipping in object-based video coding systems |
JP4034380B2 (ja) * | 1996-10-31 | 2008-01-16 | 株式会社東芝 | 画像符号化/復号化方法及び装置 |
JPH10145779A (ja) * | 1996-11-06 | 1998-05-29 | Sony Corp | フィールド検出装置およびフィールド検出方法、画像符号化装置および画像符号化方法、並びに記録媒体および記録方法 |
EP0786907A3 (en) | 1997-01-24 | 2001-06-13 | Texas Instruments Incorporated | Video encoder |
KR100322515B1 (ko) * | 1997-02-14 | 2002-02-07 | 미야즈 준이치로 | 동화상의 예측 부호화 방법 및 복호 방법 |
US5991447A (en) | 1997-03-07 | 1999-11-23 | General Instrument Corporation | Prediction and coding of bi-directionally predicted video object planes for interlaced digital video |
US6005980A (en) | 1997-03-07 | 1999-12-21 | General Instrument Corporation | Motion estimation and compensation of video object planes for interlaced digital video |
US6404813B1 (en) * | 1997-03-27 | 2002-06-11 | At&T Corp. | Bidirectionally predicted pictures or video object planes for efficient and flexible video coding |
JP4001969B2 (ja) * | 1997-03-31 | 2007-10-31 | ソニー株式会社 | 符号化装置および方法、並びに復号装置および方法 |
US6064771A (en) | 1997-06-23 | 2000-05-16 | Real-Time Geometry Corp. | System and method for asynchronous, adaptive moving picture compression, and decompression |
US6351563B1 (en) * | 1997-07-09 | 2002-02-26 | Hyundai Electronics Ind. Co., Ltd. | Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers |
US6148033A (en) * | 1997-11-20 | 2000-11-14 | Hitachi America, Ltd. | Methods and apparatus for improving picture quality in reduced resolution video decoders |
US5973743A (en) | 1997-12-02 | 1999-10-26 | Daewoo Electronics Co., Ltd. | Mode coding method and apparatus for use in an interlaced shape coder |
EP0921683B1 (en) | 1997-12-02 | 2010-09-08 | Daewoo Electronics Corporation | Method and apparatus for encoding mode signals for use in a binary shape coder |
JP3740813B2 (ja) * | 1997-12-12 | 2006-02-01 | ソニー株式会社 | 画像符号化方法および画像符号化装置 |
US5946043A (en) | 1997-12-31 | 1999-08-31 | Microsoft Corporation | Video coding using adaptive coding of block parameters for coded/uncoded blocks |
KR100281462B1 (ko) | 1998-03-30 | 2001-02-01 | 전주범 | 격행 부호화에서 이진 형상 신호의 움직임 벡터 부호화 방법 |
US6408029B1 (en) * | 1998-04-02 | 2002-06-18 | Intel Corporation | Method and apparatus for simplifying real-time data encoding |
JP3888597B2 (ja) | 1998-06-24 | 2007-03-07 | 日本ビクター株式会社 | 動き補償符号化装置、及び動き補償符号化復号化方法 |
EP0969656B1 (en) * | 1998-06-29 | 2007-01-24 | Xerox Corporation | Compression for image boundaries |
US6275531B1 (en) | 1998-07-23 | 2001-08-14 | Optivision, Inc. | Scalable video coding method and apparatus |
US6573905B1 (en) | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
US6563953B2 (en) * | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
CN100393128C (zh) | 1999-02-05 | 2008-06-04 | 索尼公司 | 编码设备和方法、解码设备和方法以及译码系统和方法 |
JP3778721B2 (ja) * | 1999-03-18 | 2006-05-24 | 富士通株式会社 | 動画像符号化方法および装置 |
JP2001036908A (ja) | 1999-07-15 | 2001-02-09 | Oki Electric Ind Co Ltd | 動画像圧縮装置 |
FR2802048B1 (fr) | 1999-12-01 | 2002-01-18 | France Telecom | Procede de diffusion de television numerique, signal numerique et equipement associes |
KR100739281B1 (ko) * | 2000-02-21 | 2007-07-12 | 주식회사 팬택앤큐리텔 | 움직임 추정 방법 및 장치 |
CN1322759C (zh) * | 2000-04-27 | 2007-06-20 | 三菱电机株式会社 | 编码装置和编码方法 |
KR100341063B1 (ko) * | 2000-06-28 | 2002-06-20 | 송문섭 | 실시간 영상 통신을 위한 율제어 장치 및 그 방법 |
US6765963B2 (en) * | 2001-01-03 | 2004-07-20 | Nokia Corporation | Video decoder architecture and method for using same |
US6920175B2 (en) * | 2001-01-03 | 2005-07-19 | Nokia Corporation | Video coding architecture and methods for using same |
US7042948B2 (en) * | 2001-03-05 | 2006-05-09 | Intervideo, Inc. | Systems and methods for management of data in a ring buffer for error resilient decoding of a video bitstream |
US6677868B2 (en) * | 2001-03-16 | 2004-01-13 | Sharp Laboratories Of America, Inc. | Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols |
JP3764458B2 (ja) * | 2001-11-16 | 2006-04-05 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラム |
JP4610195B2 (ja) * | 2001-12-17 | 2011-01-12 | マイクロソフト コーポレーション | スキップマクロブロックコード化 |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
US6870578B2 (en) | 2001-12-19 | 2005-03-22 | Thomson Licensing Sa. | Apparatus and method for sharing signal control lines |
EP1347649A1 (en) * | 2002-03-18 | 2003-09-24 | Lg Electronics Inc. | B picture mode determining method and apparatus in video coding system |
US7099387B2 (en) * | 2002-03-22 | 2006-08-29 | Realnetorks, Inc. | Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses |
JP4151374B2 (ja) * | 2002-03-29 | 2008-09-17 | セイコーエプソン株式会社 | 動画像符号化装置および動画像符号化方法 |
AU2003241696A1 (en) * | 2002-07-26 | 2004-02-16 | Matsushita Electric Industrial Co., Ltd. | Moving picture encoding method, moving picture decoding method, and recording medium |
US6795584B2 (en) * | 2002-10-03 | 2004-09-21 | Nokia Corporation | Context-based adaptive variable length coding for adaptive block transforms |
AU2003290536A1 (en) * | 2002-10-23 | 2004-05-13 | Divxnetworks, Inc. | Method and system for supercompression of compressed digital video |
US20060257000A1 (en) * | 2003-06-25 | 2006-11-16 | Boyce Jill M | Decoding method an apparatus for detection of watermarks in a compressed video bitsream |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7620106B2 (en) * | 2003-09-07 | 2009-11-17 | Microsoft Corporation | Joint coding and decoding of a reference field selection and differential motion vector information |
US8107531B2 (en) * | 2003-09-07 | 2012-01-31 | Microsoft Corporation | Signaling and repeat padding for skip frames |
KR20050061762A (ko) * | 2003-12-18 | 2005-06-23 | 학교법인 대양학원 | 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 |
US7599435B2 (en) * | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
-
1998
- 1998-11-30 US US09/201,272 patent/US6563953B2/en not_active Expired - Lifetime
-
1999
- 1999-11-30 AT AT07014891T patent/ATE456254T1/de active
- 1999-11-30 ES ES07014945T patent/ES2337612T3/es not_active Expired - Lifetime
- 1999-11-30 DK DK07014945.5T patent/DK1863295T3/da active
- 1999-11-30 DK DK07014891.1T patent/DK1853069T3/da active
- 1999-11-30 PT PT07014945T patent/PT1863295E/pt unknown
- 1999-11-30 PT PT99965061T patent/PT1135934E/pt unknown
- 1999-11-30 DE DE69941965T patent/DE69941965D1/de not_active Expired - Lifetime
- 1999-11-30 WO PCT/US1999/028276 patent/WO2000033583A1/en active IP Right Grant
- 1999-11-30 DE DE69937462T patent/DE69937462T2/de not_active Expired - Lifetime
- 1999-11-30 DE DE69941964T patent/DE69941964D1/de not_active Expired - Lifetime
- 1999-11-30 PT PT07014891T patent/PT1853069E/pt unknown
- 1999-11-30 JP JP2000586108A patent/JP3778798B2/ja not_active Expired - Lifetime
- 1999-11-30 ES ES07014891T patent/ES2337611T3/es not_active Expired - Lifetime
- 1999-11-30 ES ES99965061T patent/ES2296415T3/es not_active Expired - Lifetime
- 1999-11-30 EP EP99965061A patent/EP1135934B1/en not_active Expired - Lifetime
- 1999-11-30 AT AT07014945T patent/ATE456255T1/de active
- 1999-11-30 EP EP07014945A patent/EP1863295B1/en not_active Expired - Lifetime
- 1999-11-30 EP EP07014891A patent/EP1853069B1/en not_active Expired - Lifetime
- 1999-11-30 DK DK99965061T patent/DK1135934T3/da active
- 1999-11-30 AT AT99965061T patent/ATE377327T1/de active
-
2003
- 2003-03-19 US US10/393,458 patent/US6735345B2/en not_active Expired - Lifetime
- 2003-12-11 US US10/733,223 patent/US7054494B2/en not_active Expired - Lifetime
-
2005
- 2005-12-30 US US11/323,034 patent/US7127114B2/en not_active Expired - Lifetime
-
2006
- 2006-01-23 JP JP2006014154A patent/JP4673758B2/ja not_active Expired - Lifetime
- 2006-01-23 JP JP2006014153A patent/JP4625411B2/ja not_active Expired - Lifetime
- 2006-07-27 US US11/495,355 patent/US7289673B2/en not_active Expired - Fee Related
-
2007
- 2007-09-20 US US11/903,222 patent/US8290288B2/en not_active Expired - Fee Related
-
2008
- 2008-05-07 HK HK08105160.5A patent/HK1115256A1/xx unknown
- 2008-06-05 HK HK08106309.5A patent/HK1115966A1/xx not_active IP Right Cessation
- 2008-12-01 JP JP2008306851A patent/JP4558827B2/ja not_active Expired - Lifetime
-
2012
- 2012-10-15 US US13/652,405 patent/US8582903B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PT1135934E (pt) | Codificação eficiente do cabeçalho de macrobloco para compressão de vídeo | |
US7408990B2 (en) | Efficient motion vector coding for video compression | |
JP4662636B2 (ja) | 動き推定とブロックマッチング・パターンの改良 | |
US5946043A (en) | Video coding using adaptive coding of block parameters for coded/uncoded blocks | |
EP1500050A1 (en) | Compression of images and image sequences through adaptive partitioning | |
US7177356B2 (en) | Spatially transcoding a video stream | |
KR100378339B1 (ko) | 동화상 부호방법 및 부호장치와 동화상 부호 프로그램을기록하는 기록매체 |