BRPI0807189B1 - Método, meio de armazenamento e sistema de processamento de mídia digital - Google Patents

Método, meio de armazenamento e sistema de processamento de mídia digital Download PDF

Info

Publication number
BRPI0807189B1
BRPI0807189B1 BRPI0807189-6A BRPI0807189A BRPI0807189B1 BR PI0807189 B1 BRPI0807189 B1 BR PI0807189B1 BR PI0807189 A BRPI0807189 A BR PI0807189A BR PI0807189 B1 BRPI0807189 B1 BR PI0807189B1
Authority
BR
Brazil
Prior art keywords
chrominance
information
transform
position information
fact
Prior art date
Application number
BRPI0807189-6A
Other languages
English (en)
Inventor
Sridhar Srinivasan
Chengjie Tu
Shankar Regunathan
Gary J Sullivan
Original Assignee
Microsoft Technology Licensing, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of BRPI0807189A2 publication Critical patent/BRPI0807189A2/pt
Publication of BRPI0807189B1 publication Critical patent/BRPI0807189B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/186Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

"sinalização e uso de informações de posicionamento de ·' amostra de crgminância" são descritas regras para a sinalização e interpretação da posição de crominância. uma regra, chamada de "regra curta", define quinze posições de centralização de crominância distintas e um elemento de sintaxe de quatro bits correspondente. outra regra, chamada de "regra estendida", define 81 posições de centralização de crominância distintas e elementos de sintaxe de sete bits correspondentes. o método descrito inclui receber dados de mídia digital em um codificador de mídia digital, determinar informações de posição de cromi- nância para os dados de mídia digital recebidos, e representar as informações de posição de crominância com um ou mais elementos de sintaxe em um fluxo de bits codificado. o um ou mais elementos de sintaxe são operáveis para comunicar as informações de posição de crominância a um decodificador de mídia digital. as informações de posição de crominância facilitam a rotação ou inversão da imagem.

Description

Relatório Descritivo da Patente de Invenção para MÉTODO, MEIO DE ARMAZENAMENTO E SISTEMA DE PROCESSAMENTO DE MÍDIA DIGITAL
SUMÁRIO
[0001] No sumário, a descrição detalhada está direcionada a aspectos de codificação e decodificação de dados de mídia digital, e em particular, à codificação e decodificação de dados de mídia digital em codificadores e decodificadores de mídia digital.
[0002] Por exemplo, são descritas regras para a sinalização e interpretação da posição de crominância. Uma regra, chamada de regra curta, define quinze posições de centralização de crominância distintas e um elemento de sintaxe de quatro bits correspondente. Outra regra, chamada de regra estendida, define 81 posições de centralização de crominância distintas e elementos de sintaxe de sete bits correspondentes. Também são descritas variações dessas regras e outros aspectos.
[0003] Em um aspecto, um método compreende receber dados de mídia digital em um codificador de mídia digital; determinar informações de posição de crominância para os dados de mídia digital recebidos; representar as informações de posição de crominância com um ou mais elementos de sintaxe em um fluxo de bits codificado, sendo que o elemento de sintaxe é operável para comunicar as informações de posição de crominância a um decodificador de mídia digital, e sendo que as informações de posição de crominância facilitam uma rotação ou inversão da imagem; e gerar o fluxo de bits codificado. Em outro aspecto, as informações de posição de crominância são decodificadas.
[0004] A intenção deste sumário é a de apresentar, de maneira simplificada, uma seleção de conceitos, descritos em detalhes adiante na descrição detalhada. O presente sumário não tem a intenção de
Petição 870190108533, de 25/10/2019, pág. 4/33
2/22 identificar aspectos cruciais ou essenciais da matéria reivindicada e não deve ser usado para limitar o âmbito da matéria reivindicada. [0005] O que foi dito acima e outros objetivos, aspectos e vantagens ficarão mais evidentes na descrição detalhada seguinte, que prossegue com referência às figuras em anexo.
BREVE DESCRIÇÃO DOS DESENHOS
[0006] A Figura 1 é um diagrama de blocos de um ambiente de computação adequado para implementar as técnicas e ferramentas para sinalização e uso das informações de posição de crominância em uma ou mais das implementações descritas.
[0007] A Figura 2 é um diagrama que mostra uma primeira regra de posição de amostra de crominância exemplificativa.
[0008] A Figura 3 é um diagrama que mostra uma segunda regra de posição de amostra de crominância exemplificativa.
[0009] A Figura 4 é um diagrama que mostra a redução de crominância dos dados de entrelaçamento.
[00010] A Figura 5 é um diagrama de blocos de um codec baseado em transformação de blocos. A Figura 6 é um diagrama de fluxo de dados de um codificador representativo. A Figura 7 é um diagrama de fluxo de dados de um decodificador representativo.
DESCRIÇÃO DETALHADA
[00011] O presente pedido se refere a técnicas e ferramentas para compressão e descompressão eficiente de dados de mídia digital. Nas várias concretizações descritas, um codificador e/ou decodificador de imagens fixas incorpora técnicas para comprimir e/ou descomprimir dados de imagem.
[00012] Várias alternativas às implementações aqui descritas são possíveis. Por exemplo, as técnicas descritas com referência aos diagramas de fluxo de dados podem ser alteradas mediante a modificação da ordenação dos estágios apresentados nos fluxogramas, a repePetição 870190108533, de 25/10/2019, pág. 5/33
3/22 tição ou omissão de certos estágios, etc. Como outro exemplo, embora algumas implementações sejam descritas com referência a formatos de mídia digital específicos, outros formatos também podem ser usados.
[00013] As várias técnicas e ferramentas podem ser usadas em combinação ou separadamente. Diferentes concretizações implementam uma ou mais das técnicas e ferramentas descritas. Algumas técnicas e ferramentas descritas aqui podem ser usadas em um codificador ou decodificador de imagens fixa, ou em algum outro sistema não limitado especificamente à codificação ou decodificação de imagens fixas.
I. Ambiente de Computação.
[00014] A Figura 1 ilustra exemplo generalizado de um ambiente de computação adequado 100 no qual várias das concretizações descritas podem ser implementadas. O ambiente de computação 100 não tem a intenção de implicar qualquer limitação quanto ao escopo de uso ou funcionalidade, uma vez que as técnicas e ferramentas podem ser implementadas em diversos ambientes de computação de uso geral ou especial.
[00015] Com referência à Figura 1, o ambiente de computação 100 inclui pelo menos uma unidade de processamento 110 e memória 120. Na Figura 1, essa configuração mais básica 130 está incluída dentro de uma linha tracejada. A unidade de processamento 110 executa instruções executáveis por computador e pode ser um processador real ou virtual. Em um sistema de multiprocessamento, várias unidades de processamento executam instruções executáveis por computador para aumentar a capacidade de processamento. A memória 120 pode ser memória volátil (por exemplo, registros, cache, RAM), memória nãovolátil (por exemplo, ROM, EEPROM, memória flash, etc.), ou alguma combinação das duas. A memória 120 armazena o software 180 implementando um codificador ou decodificador de mídia digital com uma
Petição 870190108533, de 25/10/2019, pág. 6/33
4/22 ou mais das técnicas e ferramentas descritas.
[00016] Um ambiente de computação pode ter recursos adicionais. Por exemplo, o ambiente de computação 100 inclui o meio de armazenamento 140, um ou mais dispositivos de entrada 150, um ou mais dispositivos de saída 160 e uma ou mais conexões de comunicação 170. Um mecanismo de interconexão (não ilustrado), tal como um barramento, controlador ou rede interconecta os componentes do ambiente de computação 100. Normalmente, o software do sistema operacional (não ilustrado) oferece um ambiente operacional para outros softwares em execução no ambiente de computação 100, e coordena as atividades dos componentes do ambiente de computação 100.
[00017] O armazenamento 140 pode ser removível ou nãoremovível, e pode incluir discos magnéticos, fitas ou cassetes magnéticos, CD-ROMs, DVDs (inclusive DVDs de alta definição) ou qualquer outro meio que possa ser usado para armazenar informações e que possa ser acessado dentro do ambiente de computação 100. O armazenamento 140 armazena instruções para o software 180 implementando o codificador ou decodificador de mídia digital.
[00018] O(s) dispositivo(s) de entrada 150 pode(m) ser um dispositivo de entrada por toque, tal como um teclado, mouse, caneta ou trackball, um dispositivo de entrada de voz, um dispositivo de digitalização, dispositivo de captura de imagem fixa (por exemplo, uma câmara digital), ou outro dispositivo que alimente informações de entrada ao ambiente de computação 100. Para codificação de áudio ou vídeo, o(s) dispositivo(s) de entrada 150 pode(m) ser uma placa de som, placa de vídeo, placa sintonizadora de TV ou dispositivo similar que aceite entrada de áudio ou vídeo na forma analógica ou digital, ou um CDROM ou CD-RW que lê amostras de áudio ou vídeo para o ambiente de computação 100. O(s) dispositivo(s) de saída 160 pode(m) ser um meio de exibição, impressora, alto-falante, gravador de CD/DVD, ou
Petição 870190108533, de 25/10/2019, pág. 7/33
5/22 outro dispositivo que proporcione uma saída para o ambiente de computação 100.
[00019] As conexões de comunicação 170 permitem comunicação por um meio de comunicação para outra entidade de computação. O meio de comunicação transmite informações, como instruções executáveis por computador, entrada ou saída de mídia digital, ou outros dados em um sinal de dados modulado. Um sinal de dados modulado é um sinal que tem uma ou mais de suas características ajustadas ou alteradas de tal maneira a codificar as informações no sinal. A título exemplificativo, sem limitação, os meios de comunicação incluem técnicas com ou sem fio implementadas com um meio elétrico, óptico, RF, infravermelho, acústico ou outra portadora.
[00020] As técnicas e ferramentas podem ser descritas no contexto geral de meios legíveis por computador. Os meios legíveis por computador são qualquer meio disponível que pode ser acessado dentro de um ambiente de computação. A título de exemplo, sem limitação, com o ambiente de computação 100, os meios legíveis por computador incluem a memória 120, o armazenamento 140, meios de comunicações e combinações de qualquer um dos citados.
[00021] As técnicas e ferramentas podem ser descritas no contexto geral de instruções executáveis por computador, tais como as incluídas nos módulos de programa, sendo executadas em um ambiente de computação em um processador real ou virtual de destino. Geralmente, os módulos de programa incluem rotinas, programas, bibliotecas, objetos, classes, componentes, estruturas de dados etc., que efetuam tarefas específicas ou implementam tipos de dados abstratos específicos. A funcionalidade dos módulos de programa pode ser combinada ou dividida entre os módulos de programa conforme desejado nas várias concretizações. As instruções executáveis por computador para módulos de programa podem ser executadas dentro de um ambiente
Petição 870190108533, de 25/10/2019, pág. 8/33
6/22 de computação local ou distribuído.
[00022] Para fins de apresentação, a descrição detalhada usa termos como “selecionar e receber para descrever operações de computador em um ambiente de computação. Esses termos são abstrações de nível superior para as operações realizadas por um computador, e não devem ser confundidos com os atos realizados por um ser humano. As operações reais do computador que correspondem a esses termos variam, dependendo da implementação.
II. Sinalização e Uso das Informações de Posição da Amostra de Crominância
[00023] As concretizações descritas proporcionam recursos de fluxo de bits de codificador de imagens fixas avançados, inclusive a possibilidade de efetuar rotações cardinais e inversões espelhadas sem uma decodificação e recodificação completa. Esse recurso pode ser suportado por várias técnicas estruturais, como por exemplo:
1. Transformada Biortogonal Sobreposta (LBT) -
a. A simetria das funções de base da LBT permite uma inversão espelhada dos dados especiais dentro do bloco de transformação pela simples negação do sinal dos coeficientes da transformada de simetria ímpar. Isso é verdadeiro para ambas as orientações espaciais, X e Y.
b. A natureza isotrópica das funções de base da LBT permite que os dados espaciais dentro do bloco de transformação sejam transpostos pela simples transposição dos coeficientes da transformada. As posições cardinais podem ser implementadas como combinações de transposição e inversões por efeito espelho.
2. Hierarquias espaciais de blocos, macroblocos e microblocos
a. De modo a realizar uma inversão espelhada dentro de um macrobloco de dados, os blocos de transformada modificados são
Petição 870190108533, de 25/10/2019, pág. 9/33
7/22 varridos na sequência invertida lateralmente (em X e/ou Y, dependendo da necessidade). De modo similar, dentro de um segmento, os macroblocos modificados são varridos na ordem invertida lateralmente, e dentro de uma imagem, os segmentos modificados são varridos na ordem invertida lateralmente.
b. De modo a realizar uma transposição, os blocos, macroblocos e microblocos modificados são transpostos. As posições cardinais podem ser implementadas como combinações de transposição e inversões por efeito espelho.
3. Sinalização de uma área inscrita dentro de uma área de recorte estendida - isso permite que imagens alinhadas sem macroblocos sejam invertidas por efeito espelho ou giradas livremente e o desvio da imagem da grade de macroblocos seja permitido em qualquer direção, e não apenas para a direita e para baixo.
4. Sinalização da posição da amostra de crominância - Isso permite que formatos de cores subamostrados de crominância, tal como YUV4:2:0 e YUV4:2:2, sejam girados permitindo a especificação independente da localização da amostra de crominância. Ela permite ainda que os alinhamentos relativos das posições das amostras de luminância / crominância sejam sinalizados ao decodificados, de modo que um filtro de sobreamostragem (upsample) com a fase apropriada possa ser escolhido.
[00024] A sinalização das posições das amostras de crominância é abordada em detalhes a seguir. As técnicas de sinalização descritas permitem que as imagens sejam giradas dentro do domínio comprimido sem nenhuma perda de informações e nenhuma alteração significativa no tamanho comprimido. Esse é um recurso de fluxo de bits desejável e introduz benefícios de complexidade.
A. Centralização da Crominância
[00025] Uma imagem consiste de vários planos de dados. No espa
Petição 870190108533, de 25/10/2019, pág. 10/33
8/22 ço primário, uma imagem é geralmente formada de 3 planos de cores correspondendo, respectivamente, aos canais Vermelho, Verde e Azul (R, G e B). No espaço de cores interno usado na maioria dos codecs populares, uma imagem é constituída de 3 planos de cores convertidos, geralmente chamados de Y, U e V. O componente Y é chamado de plano luma ou luminância, que corresponde aproximadamente a uma representação da imagem em escala de cinza. Os componentes U e V são chamados de croma, crominância ou planos de diferença de cor. A nomenclatura Y, U, V é usada aqui num sentido genérico, sendo entendido que as técnicas e ferramentas descritas são aplicáveis a uma variedade de formatos de cores do tipo YUV, tal como YCbCr, YCoCg, etc. Um formato de cor chamado de YUV 4:4:4 tem uma amostra U e uma amostra V para cada amostra Y.
[00026] O olho humano é muito sensível à variação de intensidade e à resolução do canal de luminância. Ele é relativamente menos sensível à crominância. Isso possibilita uma maneira simples de reduzir a contagem de pixels nos dados pela redução ou diminuição da resolução dos componentes de crominância (U e V).
[00027] Duas técnicas de sub-amostragem de crominância são populares:
1. YUV 4:2:2 - aqui, a resolução espacial de U e V na direção X é reduzida por um fator de 2 (geralmente com algum filtro de suavização).
2. YUV 4:2:0 - nesta, a resolução espacial de U e V em ambas as direções X e Y é reduzida por um fator de 2.
[00028] Para o caso da YUV 4:2:2, cada amostra de crominância corresponde a duas amostras de luminância. De forma similar, para o caso da YUV 4:2:0, cada amostra de crominância corresponde a quatro amostras de luminância. A subamostragem da crominância é geralmente realizada após a filtragem das amostras com um filtro de suPetição 870190108533, de 25/10/2019, pág. 11/33
9/22 avização.
[00029] A fase desse filtro determina a posição relativa das amostras de crominância e luminância.
[00030] Durante a conversão de qualquer desses formatos de volta ao YUV 4:4:4 com fins de exibição ou impressão, as informações sobre as posições relativas da amostra devem estar disponíveis de modo que o filtro de sobreamostragem apropriado possa ser utilizado.
[00031] Uma solução para esse problema consiste em direcionar ou sinalizar o filtro de sobreamostragem exato que deve ser utilizado. No entanto, essa abordagem impõe exigências adicionais sobre o sistema e pode não ser compatível com o restante da indústria.
[00032] Uma solução mais simples e flexível para indicar como reconstruir os dados em resolução total a partir de uma versão subamostrada consiste em sinalizar informações de posição com respeito ao alinhamento das amostras de luminância e crominância. Essa abordagem permite ao codificador utilizar qualquer filtro de sobreamostragem cuja fase seja correspondida às informações de posição.
[00033] Embora essa abordagem não especifique uma regra de reconstrução única (isto é, filtro de sobreamostragem único), ela tem um desempenho suficientemente satisfatório e ampla aceitação.
[00034] A posição de um ponto de dado subamostrado é a localização ou fase desse valor dentro de uma grade de resolução total. As informações de posição são usadas para escolher entre os filtros de sobreamostragem que são compatíveis com a restrição de fase. As informações de posição são bidimensionais em geral - um desvio é especificado tanto na direção horizontal quanto vertical.
[00035] As Figuras 2 e 4 mostram exemplos de duas regras de posição de crominância comuns usadas para YUV 4:2:0. Na Figura 2, fase = (0,0), e, na Figura 3, fase = (0,5, 0,5) em unidades de pixel de luminância.
Petição 870190108533, de 25/10/2019, pág. 12/33
10/22
B. Centralização da crominância com rotação/inversões de imagem
[00036] Os dois exemplos apresentados nas Figuras 2 e 3 são os casos mais comuns para a subamostragem em YUV 4:2:0 da crominância. Essas duas regras de centralização geralmente são suficientes para dados de vídeo, mas normalmente são insuficientes para dados de imagem. Uma diferença entre o vídeo e as imagens é que o vídeo raramente é girado ou invertido por efeito espelho, ao passo que as imagens são giradas e/ou invertidas por efeito espelho com muita frequência.
[00037] Para entender porque as duas regras de centralização são geralmente insuficientes para dados de imagem, considere os seguintes casos.
[00038] Caso 1: Considere uma inversão por efeito espelho ao longo da direção horizontal para o exemplo de centralização 1. Agora, a amostra de crominância está co-localizada não com a amostra de luminância superior-esquerda, mas sim com a amostra de luminância superior-direita. A fase correspondente da crominância é (1,0) em unidades de pixel de luminância, o que não é definido pelas regras apresentadas nas Figuras 2 e 3.
[00039] Caso 2: De modo similar, uma inversão espelhada ao longo da direção vertical de uma imagem com a posição de crominância apresentada no exemplo 1 resulta em uma posição de crominância com fase (0,1) em unidades de pixel de luminância, o que não é definido pelas regras apresentadas nas Figuras 2 e 3.
[00040] Os casos anteriores mostram a utilidade de se definir regras de centralização de crominância adicionais como informações laterais a um fluxo de bits para auxiliar no processo de reconstrução correta quando a imagem for submetida às operações básicas de rotações cardinais e inversões espelhadas.
Petição 870190108533, de 25/10/2019, pág. 13/33
11/22
C. Centralização da crominância com dados de entrelaçamento
[00041] Outra complicação é introduzida pelo vídeo entrelaçado. Um quadro de vídeo entrelaçado contém dois campos - o campo superior e o campo inferior. Um campo de vídeo pode ser armazenado em sua resolução total, sem nenhuma subamostragem de crominância. Mais geralmente, ele é transportado em uma forma com crominância subamostrada, tal como YUV 4:2:2, em que a crominância é subamostrada na direção X por um fator de 2, e corresponde à resolução de luminância na direção Y. Nos codecs de vídeo recentes, um campo de vídeo entrelaçado é definido no espaço YUV 4:2:0, de modo que sua crominância seja subamostrada por um fator de 2 em ambas as direções, X e Y.
[00042] Essa operação geralmente resulta em uma centralização de crominância com um desvio de fase de 0,25 ou 0,75 (em unidades de pixel de luminância) na direção vertical, dependendo de se esse dado é um dado de campo superior ou inferior, respectivamente Tal centralização pode ser usada para assegurar o seguinte:
1. Que linhas alternadas de crominância no quadro sejam produzidas por campos alternados.
[00043] Que a centralização da crominância seja uniforme ao longo das linhas sucessivas do quadro.
[00044] A subamostragem da crominância dos dados de entrelaçamento é ilustrada na Figura 4. A subamostragem no eixo geométrico X pode ter qualquer fase e não é relevante para esta discussão. Portanto, a figura ilustra apenas a centralização e os deslocamentos no eixo geométrico Y.
D. Posições de crominância
[00045] Tendo em mente o que foi dito anteriormente, definidos duas regras para a posição de crominância. A primeira regra, chamada
Petição 870190108533, de 25/10/2019, pág. 14/33
12/22 de regra curta, define 15 fases de centralização de crominância. Essa regra é sinalizada usando uma palavra de 4 bits dentro de um fluxo de bits de imagem. A Tabela 1 enumera os valores e fases correspondentes do elemento de sintaxe CHROMA_CENTERING_SHORT em uma implementação. No exemplo apresentado na Tabela 1, CHROMA_CENTERING_SHORT pode assumir valores entre 0 e 15, mas o valor 14 é reservado e não é usado.
[00046] O CHROMA_CENTERING_SHORT pode ser sinalizado, por exemplo, em um cabeçalho de imagem ou em um cabeçalho de plano de imagem.
CHROMA_CENTERING_SHORT Fase X = 0 Fase X = 0,5 Fase X = 1
Fase Y = 0 0 10 1
Fase Y = 0,25 6 12 7
Fase Y = 0,5 4 15 5
Fase Y = 0,75 8 13 9
Fase Y = 1 2 11 3
Tabela 1: Enumeração dos valores de
CHROMACENTERINGSHORT e das fases correspondentes.
[00047] Uma segunda regra de centralização de crominância mais abrangente, chamada de regra estendida, também é descrita. Essa regra tem a vantagem de permitir que uma imagem seja traduzida, seja perda de dados, por qualquer número inteiro de pixels. Isso serve, além disso, para giros e inversões por efeito espelho.
[00048] Em uma implementação, a regra estendida é sinalizada com uma palavra de sete bits (CHROMA_CENTERING_LONG) dentro do fluxo de bits da imagem, e a enumeração das fases correspondendo ao elemento de sintaxe CHROMA_CENTERING_LONG se dá como segue.
[00049] CHROMA_CENTERING_LONG = CHROMA_CENTERING_X + CHROMA_CENTERING_Y * 9, em que CHROMA_CENTERING_X e
Petição 870190108533, de 25/10/2019, pág. 15/33
13/22
CHROMA_CENTERING_Y são elementos de sintaxe definindo a fase nas direções X e Y, como apresentado adiante na Tabela 2. CHROMA_CENTERING_X e CHROMA_CENTERING_Y assumem valores entre 0 e 8. Portanto, CHROMA_CENTERING_LONG pode assumir valores entre 0 e 80. Os valores fora dessa faixa são reservados. CHROMA_CENTERING_LONG, CHROMA_CENTERING_X e/ou
CHROMA_CENTERING_Y podem ser sinalizados, por exemplo, em um cabeçalho de imagem ou em um cabeçalho de plano de imagem.
CHROMA_CENTERING_X ou Y Fase X ou Y
8 -0,5
7 -0,25
0 0
1 0,25
2 0,5
3 0,75
4 1,0
5 1,25
6 1,5
Tabela 2: Enumeração dos valores de
CHROMA_CENTERING_X e CHROMA_CENTERING_Y e da fase correspondente
[00050] É possível usar outros mapeamentos no lugar das Tabelas 1 e 2. Também é possível usar outras codificações dos elementos CHROMA_CENTERING, tais como códigos de comprimento variável.
III. Codificação Baseada em Transformada de Bloco
[00051] A codificação de transformada é uma técnica de compressão usada em diversos sistemas de compressão de mídia digital (por exemplo, áudio, imagem e vídeo). As imagens e vídeos digitais não comprimidos são geralmente representados ou capturados como amostras de elementos de imagem ou cores em localizações em um
Petição 870190108533, de 25/10/2019, pág. 16/33
14/22 quadro de imagem ou vídeo disposto em uma grade bidimensional (2D). Isso é chamado de representação no domínio espacial da imagem ou vídeo. Por exemplo, um típico formato para imagens consiste de um fluxo de amostras de elementos de imagem colorida de 24 bits dispostas como uma grade. Cada amostra é um número que representa componentes de cor em uma localização de pixel na grade dentro de um espaço de cor, tal como RGB ou YIQ, dentre outros. Vários sistemas de vídeo e imagem podem usar diferentes resoluções de cores, espaciais e de tempo na amostragem. De forma similar, o áudio digital é normalmente representado como um fluxo de sinais de áudio com amostragem temporal. Por exemplo, um típico formato de áudio consiste de um fluxo de amostras de amplitude de 16 bits de um sinal de áudio obtido em intervalos de tempo regulares.
[00052] Os sinais de áudio digital, imagem e vídeo não comprimidos podem consumir considerável capacidade de armazenamento e transmissão. A codificação de transformada reduz o tamanho dos áudios, imagens e vídeos digitais pela transformação da representação no domínio espacial do sinal em uma representação no domínio da frequência (ou outro domínio de transformada similar), e então reduzindo a resolução de certos componentes de frequência, geralmente menos perceptíveis, da representação no domínio da transformada. Isso geralmente produz uma degradação muito menos perceptível do sinal digital se comparado à redução da cor ou resolução espacial das imagens ou vídeos no domínio espacial, ou do áudio no domínio do tempo.
[00053] Mais especificamente, um típico sistema codificador/decodificador baseado em transformada de bloco 500 (também chamado de codec) apresentado na Figura 5 divide os pixels da imagem digital não comprimida em dois blocos dimensionais de tamanho fixo (X1, ..., Xn), cada bloco possivelmente em superposição com ou
Petição 870190108533, de 25/10/2019, pág. 17/33
15/22 tros blocos. Em um codificador 510, uma transformada linear 520-521 que efetua a análise de frequência espacial é aplicada a cada bloco, o que converte as amostras espaçadas dentro do bloco em um conjunto de coeficientes de frequência (ou transformada) geralmente representando a potência do sinal digital em bandas de frequência correspondentes ao longo do intervalo de bloco. Para compressão, os coeficientes de transformada podem ser seletivamente quantizados 530 (isto é, ter sua resolução reduzida, tal como pela eliminação dos bits menos significativos dos valores de coeficiente ou então mapeando valores em um conjunto de números de resolução superior para uma resolução inferior) e também codificados por entropia ou comprimento variável 530 em um fluxo de dados comprimido. Na decodificação, os coeficientes de transformada irão inversamente transformar 570-571 para reconstruir aproximadamente o sinal original de imagem/vídeo com amostragem espacial/de cor (blocos reconstruídos - *>>).
[00054] A transformada de bloco 520-521 pode ser definida como uma operação matemática em um vetor x de tamanho Λ/. Na maioria das vezes, a operação é uma multiplicação linear, produzindo a saída do domínio de transformada y = Mx, M, sendo a matriz de transformada. Quando os dados de entrada são arbitrariamente longos, eles são segmentados em N vetores dimensionados e uma transformada de bloco é aplicada a cada segmento.
[00055] Para fins de compressão de dados, são escolhidas transformadas de bloco reversíveis. Em outras palavras, a matriz M é invertível. Em múltiplas dimensões (por exemplo, para imagem e vídeo), as transformadas de bloco são geralmente implementadas como operações separáveis. A multiplicação da matriz é aplicada de modo separável ao longo de cada dimensão dos dados (isto é, tanto fileiras quanto colunas).
[00056] Para compressão, os coeficientes de transformada (com
Petição 870190108533, de 25/10/2019, pág. 18/33
16/22 ponentes do vetor y) podem ser seletivamente quantizados (isto é, ter sua resolução reduzida, tal como pela eliminação dos bits menos significativos dos valores de coeficiente ou então mapeando valores em um conjunto de números de resolução superior para uma resolução inferior) e também codificados por entropia ou comprimento variável em um fluxo de dados comprimido.
[00057] Na decodificação no decodificador 550, o inverso dessas operações (desquantização/decodificação por entropia 560 e transformada de bloco inversa 570-571 é aplicado ao lado do decodificador 550, como mostra a Figura 5. Durante a reconstrução dos dados, a matriz inversa M-1 (transformada inversa 570-571) é aplicada como um multiplicador aos dados de domínio da transformada. Quando aplicada aos dados de domínio da transformada, a transformada inversa reconstrói aproximadamente a mídia digital original no domínio do tempo ou no domínio espacial.
[00058] Em diversas aplicações de codificação baseadas em transformada de bloco, e transformada é preferencialmente reversível para suportar tanto a compressão com perdas quanto sem perdas, dependendo do fator de quantização. Sem nenhuma quantização (geralmente representada como um fato de quantização de 1) por exemplo, um codec utilizando uma transformada reversível pode reproduzir exatamente os dados de entrada na decodificação. No entanto, a necessidade de reversibilidade nessas aplicações restringe a escolha das transformadas baseadas nas quais o codec pode ser projetado.
[00059] Muitos sistemas de compressão de imagem e vídeo, tal como MPEG e Windows Media, dentre outros, utilizam transformadas baseando-se na Transformada Discreta de Cosseno (DCT). O DCT é conhecido por ter propriedades de compactação de energia favoráveis, que resultam numa compressão de dados quase ideal. Nesses sistemas de compressão, a DCT inversa (IDCT) é empregada nos ciclos de
Petição 870190108533, de 25/10/2019, pág. 19/33
17/22 reconstrução tanto no decodificador quanto no decodificador do sistema de compressão para reconstruir os blocos de imagem individuais.
IV. Exemplo de Implementação do Codificador/Decodificador [00060] As Figuras 6 e 7 são um diagrama generalizado do processo empregado em um decodificador de dados 700 e em um codificador de dados 600 bidimensional (2D) representativo. Os diagramas apresentam uma ilustração generalizada ou simplificada de um sistema de compressão / descompressão que pode ser usado para implementar as técnicas e ferramentas descritas. Em sistemas de compressão / descompressão alternativos, podem ser usados menos processos ou processos adicionais aos ilustrados neste codificador e decodificador representativo para a compressão de dados 2D. Por exemplo, alguns codificadores/decodificadores também podem incluir conversão de cor, formatos de cor, codificação escalonável, codificação sem perdas, modos de macrobloco, etc. O sistema de compressão (codificador e decodificador) pode oferecer compressão com perda e/ou sem perda dos dados 2D, dependendo da quantização que pode ser baseada em um parâmetro de quantização variando de sem perdas para com perdas.
[00061] O codificador de dados 2D 600 produz um fluxo de bits comprimido 620 que é uma representação mais compacta (para típica entrada) de dados 2D 610 apresentados na forma de entrada ao codificador. Por exemplo, a entrada de dados 2D pode ser uma imagem, um quadro de uma sequência de vídeo ou outros dados com duas dimensões. O codificador de dados 2D divide um quadro dos dados de entrada em blocos (ilustrados em geral na Figura 6 como o particionamento 630), que, na implementação ilustrada, são blocos de pixels 4x4 não sobrepostos que formam um padrão regular ao longo do plano do quadro. Esses blocos são agrupados em aglomerados, chamados de macroblocos, que são os pixels com tamanho 16x16 neste codificador
Petição 870190108533, de 25/10/2019, pág. 20/33
18/22 representativo. Por sua vez, os macroblocos são agrupados em estruturas regulares chamadas de microblocos. Os microblocos também formam um padrão regular na imagem, de modo que os microblocos em uma fileira horizontal sejam de altura uniforme e estejam alinhados, e os microblocos em uma coluna vertical sejam de largura uniforme e estejam alinhados. No codificador representativo, os microblocos podem ser qualquer tamanho arbitrário que seja um múltiplo de 16 na direção horizontal e/ou vertical. Implementações alternativas do codificador podem dividir a imagem em blocos, macroblocos, microblocos, ou outras unidades de tamanhos e estruturas diferentes.
[00062] Um operador de sobreposição direta 640 é aplicado a cada borda entre os blocos, após o que cada bloco de 4x4 é transformado usando uma transformada de bloco 650. Essa transformada de bloco 650 pode ser a transformada 2D reversível, em escala livre, descrita por Srinivasan, Pedido de Patente U.S. No 11/015,707, intitulado Reversible Transform For Lossy And Lossless 2-D Data Compression, depositado em 17 de dezembro de 2004. O operador de sobreposição 640 pode ser o operador de sobreposição reversível descrito por Tu e col., Pedido de Patente U.S. No 11/015,148, intitulado, Reversible Overlap Operator for Efficient Lossless Data Compression, depositado em 17 de dezembro de 2004; e por Tu e col., Pedido de Patente U.S. No 11/035,991, intitulado, Reversible 2-Dimensional Pre-/PostFiltering For Lapped Biorthogonal Transform, depositado em 14 de janeiro de 2005. Como alternativa, a transformada discreta de cosseno ou outras transformadas de bloco e operadores de sobreposição podem ser utilizados. Após a transformada, o coeficiente DC 660 de cada bloco de transformada 4x4 é submetido a uma cadeia de processamento similar (inclinação, sobreposição direta, seguido de uma transformada de bloco de 4x4). Os coeficientes de transformada DC resultantes e os coeficientes de transformada AC 662 são quantizados 670,
Petição 870190108533, de 25/10/2019, pág. 21/33
19/22 codificados por entropia 680 e empacotados 690.
[00063] O decodificador realiza o processo inverso. No lado do decodificador, os bits do coeficiente de transformada são extraídos 710 de seus respectivos pacotes, dos quais os próprios coeficientes são decodificados 720 e desquantizados 730. Os coeficientes DC 740 são regenerados pela aplicação de uma transformada inversa, e o plano dos coeficientes DC é sobreposto por inversão usando um operador de suavização adequado aplicado às bordas do bloco DC. Subsequentemente, todos os dados são regenerados pela aplicação da transformada inversa 4x4 750 aos coeficientes DC, e os coeficientes AC 742 são decodificados do fluxo de bits. Finalmente, as bordas de bloco nos planos de imagem resultante são filtrados por sobreposição inversa 760. Isso produz uma saída de dados 2D reconstruída 790.
[00064] Em uma implementação exemplificativa, o codificador 600 (Figura 6) comprime uma imagem de entrada no fluxo de bits comprimido 620 (por exemplo, um arquivo) e o decodificador 700 (Figura 7) reconstrói a entrada original ou uma aproximação dela, baseado em se a codificação com perdas ou sem perdas é empregada. O processo de codificação envolve a aplicação de uma transformada sobreposta direta (LT) discutida a seguir, que é implementada com a pré/pós-filtragem bidimensional também descrita em mais detalhes a seguir. O processo de decodificação envolve a aplicação da transformada sobreposta inversa (ILT) usando a pré/pós-filtragem bidimensional reversível.
[00065] A LT e a ILT ilustrada são inversos uma da outra, num sentido exato, e, portanto, podem ser chamadas coletivamente de transformada sobreposta reversível. Como uma transformada reversível, o par LT/ILT pode ser usado para compressão de imagem sem perdas.
[00066] Os dados de entrada 610 comprimidos pelo codificados 600/decodificador 700 ilustrado podem ser imagens de vários formatos de cores (por exemplo, formatos de imagem colorida RGB/YUV 4:4:4,
Petição 870190108533, de 25/10/2019, pág. 22/33
20/22
YUV 4:2:2 ou YUV 4:2:0). Geralmente, a imagem de entrada tem um componente de luminância (Y). Caso seja um a imagem RGB/YUV 4:4:4, YUV 4:2:2 ou YUV 4:2:0, a imagem também tem componentes de crominância, tal como um componente U e um componente V. Os planos de cor ou componentes separados da imagem podem ter diferentes resoluções espaciais. No caso de uma imagem de entrada no formato de cores YUV 4:2:0, por exemplo, os componentes U e V possuem metade da largura e altura do componente Y.
[00067] Como discutido acima, o codificador 600 divide a imagem de entrada em macroblocos. Em uma implementação exemplificativa, o codificador 600 divide a imagem de entrada em áreas de 16x16 pixels (chamadas de macroblocos) no canal Y (que podem ser áreas de 16x16, 16x8 ou 8x8 nos canais U e V, dependendo do formato de cor). Cada plano de cor de macrobloco é dividido em regiões ou blocos de 4x4 pixels. Portanto, um macrobloco é composto para os vários formatos de cores da seguinte maneira para essa implementação exemplificativa do codificador:
• Para uma imagem em escala de cinza, cada macrobloco contém 16 blocos de luminância (Y) de 4x4.
• Para uma imagem colorida no formato YUV 4:2:0, cada macrobloco contém 16 blocos Y de 4x4, e 4 blocos de crominância (U e V) de 4x4.
• Para uma imagem colorida no formato YUV 4:2:2, cada macrobloco contém 16 blocos Y de 4x4, e 8 blocos de crominância (U e V) de 4x4.
• Para uma imagem colorida no formato RGB ou YUV 4:4:4, cada macrobloco contém 16 blocos de canais Y, U e V.
[00068] Sendo assim, após a transformada, um macrobloco neste codificador 600/decodificador 700 representativo possui três subbandas de frequência: uma subbanda DC (macrobloco DC), uma subban
Petição 870190108533, de 25/10/2019, pág. 23/33
21/22 da passa-baixa (macrobloco passa-baixa) e uma subbanda passa-alta (macrobloco passa-alta). No sistema representativo, as subbandas passa-baixa e/ou passa-alta são opcionais no fluxo de bits—essas subbandas podem ser totalmente eliminadas.
[00069] Além disso, os dados comprimidos podem ser empacotados no fluxo de bits em uma dentre duas ordenações: ordem espacial e ordem de frequência. Para a ordem espacial, diferentes subbandas do mesmo macrobloco dentro de um microbloco são ordenadas juntas, e o fluxo de bits resultante de cada microbloco é gravado em um pacote. Para a ordem de frequência, a mesma subbanda de diferentes macroblocos dentro de um microbloco é agrupada, e, assim, o fluxo de bits de um microbloco é gravado em três pacotes: um pacote de microbloco DC, um pacote de microbloco passa-baixa e um pacote de microbloco passa-alta. Além disso, pode haver outras camadas de dados.
[00070] Sendo assim, para o sistema representativo, uma imagem é organizada nas seguintes dimensões:
• Dimensão espacial : Quadro Microbloco Macrobloco;
• Dimensão de frequência : DC | Passa-baixa | Passa-alta; e • Dimensão de canal: Luminância | Crominância_0 | Crominância_1 ... (por exemplo, como Y | U | V).
[00071] As setas acima indicam uma hierarquia, ao passo que as barras verticais indicam uma divisão.
[00072] Embora o sistema representativo organize os dados de mídia digital comprimidos em dimensões espacial, de frequência e canal, a abordagem de quantização flexível descrita na presente invenção pode ser aplicada em sistemas de codificador/decodificador alternativos que organizam seus dados ao longo de menos dimensões, dimensões adicionais ou dimensões diferentes. Por exemplo, a abordagem de quantização flexível pode ser aplicada à codificação usando um
Petição 870190108533, de 25/10/2019, pág. 24/33
22/22 número maior de bandas de frequência, outro formato de canais de cor (por exemplo, YIQ, RGB, etc.), canais de imagem adicionais (por exemplo, para stereo vision ou múltiplos arranjos de câmeras).
[00073] Tendo descrito e ilustrado os princípios da invenção com referência às várias concretizações descritas, reconhecer-se-á que as várias concretizações descritas podem ser modificadas, tanto na configuração como nos detalhes, sem divergir de tais princípios. Deve-se entender que os programas, processos ou métodos descritos neste documento não estão relacionados ou limitados a qualquer tipo específico de ambiente de computação, salvo indicação ao contrário. Vários tipos de ambientes de computação de uso geral ou específico podem ser usados com, ou realizar, operações de acordo com os ensinamentos descritos no presente documento. Os elementos das concretizações ilustradas em software podem ser implementados em hardware, e vice versa.
[00074] Em vista das diversas concretizações possíveis às quais os princípios da invenção revelada podem ser aplicados, deve-se reconhecer que as concretizações ilustradas são apenas exemplos preferidos da invenção e não devem ser interpretados como limitações ao âmbito da invenção. Em vez disso, o âmbito da invenção é definido pelas reivindicações a seguir. Portanto, reivindicamos como nossa invenção tudo o que se enquadrar no âmbito e espírito dessas reivindicações.

Claims (10)

  1. REIVINDICAÇÕES
    1. Método, caracterizado pelo fato de que compreende as etapas de:
    receber dados de imagem digital codificados (620) para uma imagem fixa, em que a imagem fixa é codificada usando uma transformada sobreposta reversível, os dados de imagem digital codificados (620) compreendendo informações de crominância subamostradas;
    decodificar as informações de posição de crominância para as informações de crominância subamostradas, em que as informações de posição de crominância são sinalizadas no cabeçalho da imagem, em que as informações de posição de crominância são determinadas conforme uma regra de posição de crominância que mapeia as informações de posição de crominância para as informações de fase em uma dimensão X e para as informações de fase em uma dimensão Y, em que a regra de posição de crominância mapeia as informações de posição de crominância para informações de fase que incluem posições de fase -0,5, -0,25, 0, 0,25, 0,5, 0,75, 1, 1,25 e 1,5, onde as posições de fase estão em unidades de pixel, em que a decodificação das informações de posição de crominância compreendem a decodificação de um primeiro elemento de sintaxe que representa a informação de fase na dimensão X e um segundo elemento de sintaxe que representa a informação de fase na dimensão Y;
    executar uma operação de rotação ou inversão para os dados de imagem digital codificados (620) enquanto a imagem fixa está no domínio compactado, incluindo a execução da operação de inversão através da modificação dos coeficientes da transformada em blocos da transformada gerados usando a transformada sobreposta reversível ou a execução da operação de rotação através da modificação e transposição dos coeficientes da transformada nos blocos da
    Petição 870190108533, de 25/10/2019, pág. 26/33
  2. 2/3 transformada, em que a modificação dos coeficientes da transformada compreende negar o sinal de coeficientes da transformada de simetria ímpar nos blocos da transformada, e modificar as informações de posição de crominância para refletir a operação de rotação ou inversão;
    decodificar a imagem fixa a partir dos dados de imagem digital codificados (620) usando um inverso de uma transformada sobreposta reversível; e gerar uma imagem fixa decodificada (790).
    2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações de crominância subamostradas são subamostradas por um fator de dois em uma ou mais dimensões.
  3. 3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações de fase na dimensão X compreendem informações de fase de meia unidade de pixel.
  4. 4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações de fase na dimensão Y ou na dimensão X compreendem informações de fase de um quarto de unidade de pixel.
  5. 5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende usar as informações de posição de crominância para sobreamostrar as informações de crominância subamostradas.
  6. 6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende usar as informações de posição de crominância para executar a operação de rotação ou inversão para a imagem codificada (620).
  7. 7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que realizar a operação de inversão ainda compreende varrer os blocos da transformada modificados em uma sequência invertida lateralmente.
    Petição 870190108533, de 25/10/2019, pág. 27/33
    3/3
  8. 8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que realizar a operação de rotação ainda compreende a transposição dos blocos modificados e a varredura dos blocos da transformada modificados em uma sequência invertida lateralmente.
  9. 9. Meio de armazenamento caracterizado pelo fato de que contém o método conforme definido em qualquer uma das reivindicações 1 a 8.
  10. 10. Sistema de processamento de mídia digital, caracterizado pelo fato de que está configurado para executar o método conforme definido em qualquer uma das reivindicações 1 a 8.
BRPI0807189-6A 2007-02-21 2008-02-20 Método, meio de armazenamento e sistema de processamento de mídia digital BRPI0807189B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US89103007P 2007-02-21 2007-02-21
US60/891.030 2007-02-21
US11/772,070 US8054886B2 (en) 2007-02-21 2007-06-29 Signaling and use of chroma sample positioning information
US11/772.070 2007-06-29
PCT/US2008/054481 WO2008103774A2 (en) 2007-02-21 2008-02-20 Signaling and use of chroma sample positioning information

Publications (2)

Publication Number Publication Date
BRPI0807189A2 BRPI0807189A2 (pt) 2014-05-27
BRPI0807189B1 true BRPI0807189B1 (pt) 2020-05-26

Family

ID=39706639

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0807189-6A BRPI0807189B1 (pt) 2007-02-21 2008-02-20 Método, meio de armazenamento e sistema de processamento de mídia digital

Country Status (10)

Country Link
US (1) US8054886B2 (pt)
EP (1) EP2123057B1 (pt)
JP (1) JP5149310B2 (pt)
KR (1) KR101465817B1 (pt)
CN (1) CN101617540B (pt)
BR (1) BRPI0807189B1 (pt)
IL (1) IL199957A (pt)
RU (1) RU2518406C2 (pt)
TW (1) TWI454154B (pt)
WO (1) WO2008103774A2 (pt)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8880571B2 (en) * 2006-05-05 2014-11-04 Microsoft Corporation High dynamic range data format conversions for digital media
US8369638B2 (en) 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform
US8447591B2 (en) * 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
US8275209B2 (en) 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
US8194977B2 (en) * 2008-12-09 2012-06-05 Microsoft Corporation Remote desktop protocol compression acceleration using single instruction, multiple dispatch instructions
CN104780385B (zh) 2009-01-29 2018-01-16 杜比实验室特许公司 视频装置、用于将多视图帧的序列编码为比特流的装置
US20110026593A1 (en) * 2009-02-10 2011-02-03 New Wei Lee Image processing apparatus, image processing method, program and integrated circuit
US20100226437A1 (en) * 2009-03-06 2010-09-09 Sony Corporation, A Japanese Corporation Reduced-resolution decoding of avc bit streams for transcoding or display at lower resolution
KR101066117B1 (ko) * 2009-11-12 2011-09-20 전자부품연구원 스케일러블 영상 코딩 방법 및 장치
US9712847B2 (en) * 2011-09-20 2017-07-18 Microsoft Technology Licensing, Llc Low-complexity remote presentation session encoder using subsampling in color conversion space
JP5653328B2 (ja) * 2011-09-26 2015-01-14 株式会社東芝 画像処理装置及び画像処理システム
FR2989856B1 (fr) * 2012-04-23 2014-11-28 Assistance Tech Et Etude De Materiels Electroniques Compression/decompression progressive d'un flux numerique video comprenant au moins une image entrelacee
US10448032B2 (en) * 2012-09-04 2019-10-15 Qualcomm Incorporated Signaling of down-sampling location information in scalable video coding
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9661340B2 (en) 2012-10-22 2017-05-23 Microsoft Technology Licensing, Llc Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats
US20140198855A1 (en) * 2013-01-14 2014-07-17 Qualcomm Incorporated Square block prediction
KR20160132857A (ko) * 2014-03-14 2016-11-21 삼성전자주식회사 스케일러블 비디오 부호화/복호화 방법 및 장치
CA2919328A1 (en) * 2014-06-12 2015-12-17 Spinella Ip Holdings, Inc. Transmission and restoration of decimated image data
US10412387B2 (en) 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
CN107211146A (zh) * 2014-11-21 2017-09-26 Vid拓展公司 一维变换模式和系数扫描顺序
US9749646B2 (en) 2015-01-16 2017-08-29 Microsoft Technology Licensing, Llc Encoding/decoding of high chroma resolution details
US9854201B2 (en) 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
KR102440941B1 (ko) 2015-03-03 2022-09-05 삼성전자주식회사 이미지 처리 정보에 따라 크기와 방향을 갖는 초기 위상을 계산할 수 있는 이미지 처리 장치들
US10735755B2 (en) 2015-04-21 2020-08-04 Arris Enterprises Llc Adaptive perceptual mapping and signaling for video coding
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
US12425648B2 (en) * 2023-04-24 2025-09-23 Tencent America LLC Upsampling of displacement field in mesh compression

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5776634A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
US4626825A (en) * 1985-07-02 1986-12-02 Vlsi Technology, Inc. Logarithmic conversion apparatus
USRE35910E (en) 1989-05-11 1998-09-29 Matsushita Electric Industrial Co., Ltd. Moving image signal encoding apparatus and decoding apparatus
JP3191935B2 (ja) 1990-11-30 2001-07-23 株式会社日立製作所 画像符号化方法、画像符号化装置、画像復号化方法
JP3303869B2 (ja) 1990-11-30 2002-07-22 株式会社日立製作所 画像符号化方法、画像符号化装置、画像復号化方法
US5611038A (en) 1991-04-17 1997-03-11 Shaw; Venson M. Audio/video transceiver provided with a device for reconfiguration of incompatibly received or transmitted video and audio information
US5414469A (en) 1991-10-31 1995-05-09 International Business Machines Corporation Motion video compression system with multiresolution features
US5257215A (en) * 1992-03-31 1993-10-26 Intel Corporation Floating point and integer number conversions in a floating point adder
GB9224952D0 (en) 1992-11-28 1993-01-20 Ibm Improvements in image processing
US5467134A (en) * 1992-12-22 1995-11-14 Microsoft Corporation Method and system for compressing video data
US5544286A (en) * 1993-01-29 1996-08-06 Microsoft Corporation Digital video data compression technique
KR970000683B1 (ko) 1993-05-31 1997-01-16 삼성전자 주식회사 해상도 가변 적응적 화상압축/복원방법 및 장치
US5465118A (en) * 1993-12-17 1995-11-07 International Business Machines Corporation Luminance transition coding method for software motion video compression/decompression
JP2933487B2 (ja) * 1994-07-15 1999-08-16 松下電器産業株式会社 クロマフォーマット変換の方法
US5828421A (en) 1994-10-11 1998-10-27 Hitachi America, Ltd. Implementation efficient digital picture-in-picture decoding methods and apparatus
US5821986A (en) 1994-11-03 1998-10-13 Picturetel Corporation Method and apparatus for visual communications in a scalable network environment
JPH08163562A (ja) * 1994-12-06 1996-06-21 Matsushita Electric Ind Co Ltd 映像信号処理装置
US6002801A (en) 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
US5864637A (en) 1995-04-18 1999-01-26 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selective reduction of spatial resolution
US5699124A (en) * 1995-06-28 1997-12-16 General Instrument Corporation Of Delaware Bandwidth efficient communication of user data in digital television data stream
US5995670A (en) 1995-10-05 1999-11-30 Microsoft Corporation Simplified chain encoding
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5737023A (en) * 1996-02-05 1998-04-07 International Business Machines Corporation Hierarchical motion estimation for interlaced video
US6246787B1 (en) * 1996-05-31 2001-06-12 Texas Instruments Incorporated System and method for knowledgebase generation and management
JP3466032B2 (ja) 1996-10-24 2003-11-10 富士通株式会社 動画像符号化装置および復号化装置
US5801975A (en) * 1996-12-02 1998-09-01 Compaq Computer Corporation And Advanced Micro Devices, Inc. Computer modified to perform inverse discrete cosine transform operations on a one-dimensional matrix of numbers within a minimal number of instruction cycles
US6256347B1 (en) * 1996-12-17 2001-07-03 Thomson Licensing S.A. Pixel block compression apparatus in an image processing system
US6259810B1 (en) * 1997-04-15 2001-07-10 Microsoft Corporation Method and system of decoding compressed image data
KR19980082906A (ko) * 1997-05-09 1998-12-05 김영환 부동 소수점 숫자의 정수형으로의 변환 방법
SE509582C2 (sv) * 1997-06-05 1999-02-08 Telia Ab System vid telekommunikationsnät
JPH11122624A (ja) * 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
US6061782A (en) * 1997-11-29 2000-05-09 Ip First Llc Mechanism for floating point to integer conversion with RGB bias multiply
WO1999029112A1 (en) 1997-12-01 1999-06-10 Matsushita Electric Industrial Co., Ltd. Image processor, image data processor and variable length encoder/decoder
US6519288B1 (en) * 1998-03-06 2003-02-11 Mitsubishi Electric Research Laboratories, Inc. Three-layer scaleable decoder and method of decoding
US6560285B1 (en) * 1998-03-30 2003-05-06 Sarnoff Corporation Region-based information compaction as for digital images
US6239815B1 (en) * 1998-04-03 2001-05-29 Avid Technology, Inc. Video data storage and transmission formats and apparatus and methods for processing video data in such formats
US5995122A (en) * 1998-04-30 1999-11-30 Intel Corporation Method and apparatus for parallel conversion of color values from a single precision floating point format to an integer format
CA2331852A1 (en) 1998-05-14 1999-11-18 Interval Research Corporation Video compression with storage reduction, color rotation, combined signal and border filtering
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
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6418166B1 (en) 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US6259741B1 (en) * 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
US6115031A (en) * 1999-04-23 2000-09-05 Lexmark International, Inc. Method of converting color values
US6396422B1 (en) * 1999-06-09 2002-05-28 Creoscitex Corporation Ltd. Methods for quantizing and compressing digital image data
US20020145610A1 (en) 1999-07-16 2002-10-10 Steve Barilovits Video processing engine overlay filter scaler
EP1145563A1 (en) * 1999-10-28 2001-10-17 Koninklijke Philips Electronics N.V. Color video encoding method based on a wavelet decomposition
EP1236086A2 (en) * 1999-12-10 2002-09-04 Broadcom Corporation Apparatus and method for reducing precision of data
JP3474173B2 (ja) * 2000-02-25 2003-12-08 株式会社ソニー・コンピュータエンタテインメント 画像出力装置に応じた画像データを作成する情報処理装置およびそのための記録媒体
JP3593944B2 (ja) * 2000-03-08 2004-11-24 日本電気株式会社 画像データ処理装置及びそれに用いる動き補償処理方法
US6510177B1 (en) 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US6438168B2 (en) * 2000-06-27 2002-08-20 Bamboo Media Casting, Inc. Bandwidth scaling of a compressed video stream
US6961063B1 (en) * 2000-06-30 2005-11-01 Intel Corporation Method and apparatus for improved memory management of video images
KR100370076B1 (ko) 2000-07-27 2003-01-30 엘지전자 주식회사 다운 컨버젼 기능을 갖는 비디오 디코더 및 비디오 신호를디코딩 하는 방법
US6937291B1 (en) 2000-08-31 2005-08-30 Intel Corporation Adaptive video scaler
DE10048735A1 (de) 2000-09-29 2002-04-11 Bosch Gmbh Robert Verfahren zur Codierung und Decodierung von Bildsequenzen sowie Einrichtungen hierzu
US6606418B2 (en) 2001-01-16 2003-08-12 International Business Machines Corporation Enhanced compression of documents
US6898323B2 (en) * 2001-02-15 2005-05-24 Ricoh Company, Ltd. Memory usage scheme for performing wavelet processing
US8374237B2 (en) * 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US6850571B2 (en) * 2001-04-23 2005-02-01 Webtv Networks, Inc. Systems and methods for MPEG subsample decoding
US7206453B2 (en) 2001-05-03 2007-04-17 Microsoft Corporation Dynamic filtering for lossy compression
EP1393296A4 (en) * 2001-06-08 2008-09-03 Univ Southern California PICTURE EDITING WITH BIG DYNAMIC CIRCUMFERENCE
US7242717B2 (en) * 2001-06-08 2007-07-10 Sharp Laboratories Of America, Inc. Wavelet domain motion compensation system
US8526751B2 (en) * 2001-08-24 2013-09-03 International Business Machines Corporation Managing image storage size
EP1313066B1 (en) * 2001-11-19 2008-08-27 STMicroelectronics S.r.l. A method for merging digital images to obtain a high dynamic range digital image
US7006699B2 (en) * 2002-03-27 2006-02-28 Microsoft Corporation System and method for progressively transforming and coding digital data
US7136417B2 (en) * 2002-07-15 2006-11-14 Scientific-Atlanta, Inc. Chroma conversion optimization
US6909459B2 (en) * 2002-08-21 2005-06-21 Alpha Innotech Corporation Method of and apparatus for extending signal ranges of digital images
US7072394B2 (en) 2002-08-27 2006-07-04 National Chiao Tung University Architecture and method for fine granularity scalable video coding
US7379496B2 (en) 2002-09-04 2008-05-27 Microsoft Corporation Multi-resolution video coding and decoding
SE0300286D0 (sv) * 2003-02-05 2003-02-05 Axis Ab Method and apparatus for combining video signals to one comprehensive video signal
US7187811B2 (en) * 2003-03-18 2007-03-06 Advanced & Wise Technology Corp. Method for image resolution enhancement
US20040190771A1 (en) * 2003-03-27 2004-09-30 Michel Eid Integer format for efficient image data processing
KR20060109247A (ko) * 2005-04-13 2006-10-19 엘지전자 주식회사 베이스 레이어 픽처를 이용하는 영상신호의 엔코딩/디코딩방법 및 장치
US6879731B2 (en) * 2003-04-29 2005-04-12 Microsoft Corporation System and process for generating high dynamic range video
JP4207684B2 (ja) 2003-06-27 2009-01-14 富士電機デバイステクノロジー株式会社 磁気記録媒体の製造方法、および、製造装置
US7502415B2 (en) * 2003-07-18 2009-03-10 Microsoft Corporation Range reduction
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
US7876974B2 (en) * 2003-08-29 2011-01-25 Vladimir Brajovic Method for improving digital images and an image sensor for sensing the same
US8014450B2 (en) * 2003-09-07 2011-09-06 Microsoft Corporation Flexible range reduction
US7519274B2 (en) * 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US7649539B2 (en) * 2004-03-10 2010-01-19 Microsoft Corporation Image formats for video capture, processing and display
US20050243176A1 (en) * 2004-04-30 2005-11-03 James Wu Method of HDR image processing and manipulation
JP4609155B2 (ja) 2005-03-30 2011-01-12 セイコーエプソン株式会社 画像圧縮方法、画像圧縮装置、画像圧縮プログラム及び画像読み取り装置
US8036274B2 (en) * 2005-08-12 2011-10-11 Microsoft Corporation SIMD lapped transform-based digital media encoding/decoding
US20070160134A1 (en) * 2006-01-10 2007-07-12 Segall Christopher A Methods and Systems for Filter Characterization
US8880571B2 (en) * 2006-05-05 2014-11-04 Microsoft Corporation High dynamic range data format conversions for digital media

Also Published As

Publication number Publication date
CN101617540B (zh) 2012-09-05
WO2008103774A3 (en) 2008-10-16
EP2123057A4 (en) 2011-11-16
IL199957A (en) 2013-07-31
HK1140342A1 (en) 2010-10-08
IL199957A0 (en) 2010-04-15
KR101465817B1 (ko) 2014-12-11
CN101617540A (zh) 2009-12-30
US20080198936A1 (en) 2008-08-21
EP2123057A2 (en) 2009-11-25
TWI454154B (zh) 2014-09-21
BRPI0807189A2 (pt) 2014-05-27
EP2123057B1 (en) 2016-08-03
RU2518406C2 (ru) 2014-06-10
JP5149310B2 (ja) 2013-02-20
US8054886B2 (en) 2011-11-08
RU2009131597A (ru) 2011-02-27
JP2010521083A (ja) 2010-06-17
WO2008103774A2 (en) 2008-08-28
TW200847801A (en) 2008-12-01
KR20090123861A (ko) 2009-12-02

Similar Documents

Publication Publication Date Title
BRPI0807189B1 (pt) Método, meio de armazenamento e sistema de processamento de mídia digital
RU2518417C2 (ru) Управление вычислительной сложностью и точностью в мультимедийном кодеке, основанном на преобразовании
JP5065272B2 (ja) 画像圧縮に関する変換係数の予測
US9123089B2 (en) Signaling and uses of windowing information for images
BRPI0710704B1 (pt) Quantização flexível
RU2518932C2 (ru) Уменьшенное рассогласование коэффициентов усиления постоянной состовляющей (dc) и dc-утечки при обработке преобразования с перекрытием
HK1140341B (en) Computational complexity and precision control in transform-based digital media codec

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 9/77

Ipc: H04N 19/186 (2014.01), H04N 19/46 (2014.01), H04N

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

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 26/05/2020, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 18A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2867 DE 16-12-2025 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.