BR122020004415B1 - Codificação de mapas de significância e blocos de coeficiente de transformada - Google Patents
Codificação de mapas de significância e blocos de coeficiente de transformada Download PDFInfo
- Publication number
- BR122020004415B1 BR122020004415B1 BR122020004415-2A BR122020004415A BR122020004415B1 BR 122020004415 B1 BR122020004415 B1 BR 122020004415B1 BR 122020004415 A BR122020004415 A BR 122020004415A BR 122020004415 B1 BR122020004415 B1 BR 122020004415B1
- Authority
- BR
- Brazil
- Prior art keywords
- block
- type
- syntax elements
- transform coefficients
- significant
- Prior art date
Links
Images
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/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/18—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 set of transform coefficients
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/136—Incoming video signal characteristics or properties
-
- 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/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/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
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
a eficiência mais elevada de codificação para a codificação de um mapa de significância que indica posições de coeficientes de transformada significativos dentro de um bloco de coeficientes de transformada é conseguida pela ordem de verificação, através da qual os elementos de sintaxe sequencialmente extraídos indicando, para as posições associadas dentro do bloco de coeficientes de transformada, como se na respectiva posição de um coeficiente de transformada significativo ou insignificante se situa, são sequencialmente associadas às posições do bloco de coeficientes de transformada, entre as posições do bloco de coeficientes de transformada que dependem das posições dos coeficientes de transformada significativos indicados pelos elementos de sintaxe previamente associados. em alternativa, os elementos do primeiro tipo podem ser decodificados por entropia adaptativamente ao contexto usando contextos que são selecionados individualmente para cada um dos elementos de sintaxe dependentes de um número de coeficientes de transformada significativos em uma vizinhança do respectivo elemento de sintaxe, indicado como sendo significativo por qualquer um dos elementos de sintaxe anteriores. mesmo em alternativa, os valores são verificados em sub-blocos, e os contextos são selecionados com base em estatísticas de sub-bloco.
Description
[001] O presente pedido é direcionado a mapas de significância que indicam as posições dos coeficientes de transformada significantes dentro de blocos de coeficiente de transformada e a codificação de tais blocos de coeficiente de transformada. Tal codificação pode, por exemplo, ser utilizada em codificação de imagem e vídeo, por exemplo.
[002] Em codificação de vídeo convencional, as imagens de uma sequência de vídeo são, em geral, decompostas em blocos. Os blocos ou os componentes de cor dos blocos são previstos por uma predição com compensação de movimento ou intra predição. Os blocos podem ter diferentes tamanhos, podendo ser ou quadráticos ou retangulares. Todas as amostras de um bloco ou de um componente de cor de um bloco são previstas usando o mesmo conjunto de parâmetros de predição, tais como os índices de referência (identificando um quadro de referência no conjunto de imagens já codificado), os parâmetros de movimento (especificando uma medida para o movimento de um bloco entre uma imagem de referência e a imagem atual), parâmetros para especificar o filtro de interpolação, modos de predição intra, etc. Os parâmetros de movimento podem ser representados por vetores de deslocamento com uma componente horizontal e vertical, ou por meio de parâmetros de movimento de ordem mais elevada, tais como o movimento de parâmetros afins, consistindo de 6 componentes. Também é possível que mais do que um conjunto de parâmetros de predição (tais como os índices de referência e parâmetros de movimento) estejam associados a um único bloco. Neste caso, para cada conjunto de parâmetros de predição, um sinal de predição único intermediário para o bloco ou o componente de cor de um bloco é gerado, e o sinal de predição final é construído por uma soma ponderada dos sinais de predição intermediários. Os parâmetros de ponderação e potencialmente também um deslocamento constante (que é adicionado à soma ponderada) podem ser fixados para uma imagem, ou uma imagem de referência, ou um conjunto de imagens de referência, ou eles podem ser incluídos no conjunto de parâmetros de predição para o bloco correspondente. Da mesma forma, as imagens estáticas são também frequentemente decompostas em blocos, e os blocos são previstos por um método de intra predição (que pode ser um método de intra predição espacial ou um método de intra predição simples que prevê o componente CC do bloco). Em um caso extremo, o sinal de predição pode também ser zero.
[003] A diferença entre os blocos originais ou os componentes de cor dos blocos originais e os sinais de predição correspondentes, também referidos como o sinal residual, é geralmente transformada e quantizada. A transformada bidimensional é aplicada ao sinal residual e os coeficientes da transformação resultantes são quantizados. Para esta codificação de transformação, os blocos ou os componentes de cor dos blocos, para que um conjunto particular de parâmetros de predição que foram utilizados, podem ser ainda divididos antes de aplicar a transformada. Os blocos de transformada podem ser iguais a ou menores do que os blocos que são usados para a predição. Também é possível que um bloco de transformada inclua mais do que um dos blocos que são usados para a predição. Diferentes de blocos de transformada em uma imagem estática ou uma imagem de uma sequência de vídeo podem ter tamanhos diferentes e os blocos de transformada podem representar blocos quadráticos ou retangulares.
[004] Os coeficientes de transformada quantizados resultantes, também referidos como níveis de coeficiente de transformada, são, então, transmitidos através de técnicas de codificação por entropia. Portanto, um bloco de níveis de coeficiente de transformada normalmente é mapeado para um vetor (isto é, um conjunto ordenado) de valores de coeficiente de transformada usando uma varredura, onde diferentes varreduras podem ser usadas para diferentes blocos. Muitas vezes, uma varredura de zigue-zague é usada. Para os blocos que contêm apenas amostras de um campo de um quadro entrelaçado (estes blocos podem ser blocos em campos codificados ou blocos de campo em quadros codificados), também é comum o uso de uma varredura diferente projetada especificamente para os blocos de campo. Um algoritmo de codificação por entropia comumente usado para codificar a sequência de coeficientes de transformada resultante ordenada é a codificação de nível de execução. Normalmente, um grande número de níveis de coeficiente de transformada é zero, e um conjunto de níveis de coeficiente de transformada sucessivos que são iguais a zero, pode ser eficientemente representado pela codificação do número de níveis de coeficiente de transformada sucessivos que são iguais a zero (a execução). Para os coeficientes de transformada restantes (não-zero), o nível real está codificado. Existem várias alternativas de códigos de nível de execução. A execução antes que um coeficiente diferente de zero e o nível de coeficiente de transformada não-zero pode ser codificado em conjunto, utilizando um único símbolo ou palavra-chave. Frequentemente, os símbolos especiais para o fim do bloco, que é enviado após o último coeficiente de transformada diferente de zero, estão incluídos. Ou, é possível codificar o primeiro número de níveis de coeficiente de transformada diferente de zero, e dependendo deste número, os níveis e as execuções são codificados.
[005] Uma abordagem ligeiramente diferente é utilizada na codificação por entropia CABAC altamente eficiente em H.264. Aqui, a codificação dos níveis de coeficiente de transformada é dividida em três etapas. Na primeira etapa, um elemento de sintaxe binário coded_block_flagé transmitido para cada bloco de transformada, que indica se o bloco de transformada contém níveis de coeficiente de transformada significativos (isto é, coeficientes de transformada que são diferentes de zero). Se esse elemento de sintaxe indica que níveis de coeficiente de transformada significativos estão presentes, um mapa de significância de valor binário é codificado, que especifica qual dos níveis de coeficiente de transformada têm valores diferentes de zero. E, em seguida, em uma ordem de varredura inversa, os valores dos níveis de coeficiente de transformada diferentes de zero são codificados. O mapa de significância é codificado como a seguir. Para cada coeficiente, na ordem de varredura, um elemento de sintaxe binário significant_coeff_flagé codificado, que especifica se o níveis de coeficiente de transformada correspondente não é igual a zero. Se o binário significant_coeff_flagé igual a um, isto é, se um nível de coeficiente de transformada diferente de zero existe nesta posição de varredura, um elemento de sintaxe binário adicional last_significant_coeff _flagé codificado. Este binário indica se nível de coeficiente de transformada significativo atual é o último nível de coeficiente de transformada significativo dentro do bloco ou se mais níveis de coeficiente de transformada significativos seguem na ordem de varredura. Se significant_coeff_flag indica que nenhum coeficiente de transformada significativo adicional segue, nenhum elemento de sintaxe adicional é codificado para indicar o mapa de significância para o bloco. Na etapa seguinte, os valores dos níveis de coeficiente de transformada significativos são codificados, cujas localizações dentro do bloco já estão determinadas pelo mapa de significância. Os valores dos níveis de coeficiente de transformada significativos são codificados em ordem de varredura inversa por meio de três elementos de sintaxe. O elemento de sintaxe binário coeff_abs_greater_one indica se o valor absoluto do nível de coeficiente de transformada significativo é maior do que um. Se o elemento de sintaxe binário coeff_abs_greater_one indica que o valor absoluto é maior do que um, um elemento de sintaxe adicional coeff_abs_level_minus_oneé enviado, que especifica que o valor absoluto do nível de coeficiente de transformada menos um. Finalmente, o elemento de sintaxe binário coeff_sign_flag, que especifica o sinal do valor do coeficiente de transformada, é codificado para cada nível de coeficiente de transformada significativo. Deve ser notado, mais uma vez, que os elementos de sintaxe que estão relacionados com o mapa de significância estão codificados em modo de varredura, enquanto que os elementos de sintaxe que estão relacionados com os valores reais dos níveis de coeficiente de transformada são codificados, em ordem de varredura inversa permitindo a utilização de modelos de contexto mais apropriados.
[006] No codificação por entropia CABAC em H.264, todos os elementos de sintaxe para os níveis de coeficiente de transformada são codificados utilizando uma modelagem de probabilidade binária. O elemento de sintaxe não-binário coeff_abs_level_minus_oneé primeiro binarizado, ou seja, é mapeado em uma sequência de decisões binárias (binários), e esses binários são sequencialmente codificados. Os elementos de sintaxe binários significant_coeff_flag, significant_coeff_flag, coeff_abs_greater_one e coeff_sign_flagsão diretamente codificados. Cada binário codificado (incluindo os elementos de sintaxe binários) é associado a um contexto. Um contexto representa um modelo de probabilidade para uma classe de binários codificados. A medida relativa da probabilidade de um dos dois valores de binários possíveis é estimada para cada contexto com base nos valores dos binários que já foram codificados com o contexto correspondente. Para diversos binários relacionados com a codificação da transformada, o contexto em que é usado para a codificação é selecionado com base em elementos de sintaxe já transmitidos ou com base na posição dentro de um bloco.
[007] O mapa de significância especifica informações sobre o significado (nível de coeficiente de transformada é diferente de zero) para as posições de varredura. Na codificação por entropia CABAC em H.264, para um bloco de tamanho de 4x4, um contexto diferente é usado para cada posição de varredura para a codificação dos elementos de sintaxe binária significant_coeff_flag e o significant_coeff_flag, onde contextos diferentes são usados para significant_coeff_flag e significant_coeff_flag de uma posição de varredura. Para blocos 8 x 8, o mesmo modelo de contexto é utilizado para quatro posições de varredura sucessivas, resultando em 16 modelos de contexto para significant_coeff_flag e mais 16 modelos de contexto para o significant_coeff_flag. Este método de modelagem de contexto para o significant_coeff_flag e o significant_coeff_flag tem algumas desvantagens para os grandes tamanhos de blocos. Por outro lado, se cada posição de varredura está associada a um modelo de contexto separado, o número de modelos de contexto é significativamente aumentado quando os blocos maiores do que 8 x 8 são codificados. Um tal número maior de resultados dos modelos de contexto em uma adaptação lenta das estimativas de probabilidade e, geralmente, uma imprecisão de cálculo das probabilidades, onde os dois aspectos têm um impacto negativo sobre a eficiência de codificação. Por outro lado, a atribuição de um modelo de contexto para um número de posições de varredura sucessivas (como foi feito para os blocos 8 x 8 em H.264) não é também ótima para grandes tamanhos de blocos, uma vez que os coeficientes de transformada diferente de zero estão geralmente concentrados em regiões especial de um bloco de transformada (as regiões são dependentes da estruturas principais dentro dos blocos correspondentes do sinal residual).
[008] Após a codificação do mapa de significância, o bloco é processado na ordem de varredura inversa. Se uma posição de varredura é significativa, isto é, o coeficiente é diferente de zero, o elemento de sintaxe binário coeff_abs_greater_one é transmitida. Inicialmente, o segundo modelo de contexto do conjunto de contexto correspondente do modelo escolhido para o elemento de sintaxe coeff_abs_greater_one. Se o código de valor de qualquer elemento de sintaxe coeff_abs_greater_one dentro do bloco é igual a um (isto é, o absoluto coeficiente seja maior do que 2), os comutadores de modelagem de contexto de volta para o primeiro contexto modelo de conjunto e usa esse modelo de contexto até ao final de o bloco. Caso contrário (todos codificados valores de coeff_abs_greater_one dentro do bloco são zero e os correspondentes absolutos dos coeficientes níveis é igual a um), o modelo de contexto é escolhida em função do número de elementos de sintaxe coeff_abs_greater_one iguais a zero, que já foram codificadas / decodificadas no reverter varredura de o considerado bloco. A seleção do modelo de contexto para o elemento de sintaxe coeff_abs_greater_one pode ser resumida pela seguinte equação, em que o índice modelo de contexto atual Ct + j é selecionado com base no índice do modelo do contexto anterior Ct e o valor do elemento dw sintaxe anteriormente codificado coeff_abs_greater_one, o qual é representado por bint na equação. Para o primeiro elemento de sintaxe coeff_abs_greater_one dentro de um bloco, o índice de modelo de contexto é definido igual a Ct = 1:
[009] O segundo elemento de sintaxe para a codificação dos níveis de coeficiente de transformada absolutos, coeff_abs_level_minus_onesó é codificado, quando o elemento de sintaxe coeff_abs_greater_one para a mesma posição de varreduraé igual a um. O elemento de sintaxe não binário coeff_abs_level_minus_oneé binarizado para uma sequência de binários e para o primeiro binário desta binarização, um índice de modelo de contexto é selecionado como descrito a seguir. Os binários restantes da binarização são codificados com os contextos fixos. O contexto para o primeiro binário da binarização é selecionado como a seguir. Para o primeiro elemento de sintaxe coeff_abs_level_minus_one, o primeiro modelo de contexto do conjunto de modelos de contexto para o primeiro binário do elemento de sintaxe coeff_abs_level_minus_oneé selecionado, o índice do modelo de contexto correspondente é definido como igual a Ct = 0. Para cada primeiro binário adicional do elemento de sintaxe coeff_abs_level_minus_one, o contexto alterna para modelar o modelo de contexto seguinte no conjunto, em que o número de modelos de contexto no conjunto é limitado a 5. A escolha do modelo de contexto pode ser expressa pela fórmula seguinte, em que o índice do modelo de contexto actual Ct + 1 é selecionado com base no índice de modelo de contexto anterior Ct. Como mencionado acima, para o primeiro elemento de sintaxe coeff_abs_level_minus_one dentro de um bloco, o índice de modelo de contexto é definido igual a Ct = 0. Note que conjuntos diferentes de modelos de contexto são utilizados para os elementos de sintaxe coeff_abs_greater_one e coeff_abs_level_minus_one: Ct+1(Ct) = min(Ct +1,4)
[010] Para grandes blocos, este método apresenta alguns inconvenientes. A seleção do primeiro modelo de contexto coeff_abs_greater_one (que é utilizado, se um valor de coeff_abs_greater_one igual a 1, foi codificado para os blocos ) é normalmente feito muito cedo e o último modelo de contexto para coeff_abs_level_minus_oneé atingido muito rapidamente, pois o número de coeficientes significativos é maior do que em pequenos blocos. Assim, a maioria dos binários de coeff_abs_greater_one e coeff_abs_level_minus_onesão codificados com um modelo de contexto único. Mas estes binários, em geral, têm probabilidades diferentes e, portanto, a utilização de um modelo de contexto único para um grande número de binários tem um impacto negativo sobre a eficiência de codificação.
[011] Embora, em geral, grandes blocos aumentem a sobrecarga computacional para a realização da transformada de decomposição espectral, a capacidade para eficazmente codificar ambos os pequenos e grandes blocos permitiria a obtenção de uma melhor eficiência de codificação na codificação de matrizes de amostra, tais como imagens ou matrizes de amostras representativas de outros sinais de informação espacialmente amostrados, tais como mapas de profundidade ou semelhantes. A razão para isto é a dependência entre a resolução espacial e espectral quando da transformação de uma matriz de amostra dentro de blocos: quanto maior o bloco, maior será a resolução espectral da transformação. Geralmente, seria favorável ser capaz de aplicar localmente a transformada individual em uma matriz de amostra de tal modo que dentro da área de uma tal transformada individual, a composição espectral da matriz de amostra não varia em grande medida. Para pequenos blocos garantirem que o conteúdo dentro dos blocos é relativamente consistente. Por outro lado, se os blocos forem demasiado pequenos, a resolução espectral é baixa, e a relação entre os coeficientes de transformada não significativos e significativos se torna mais menor.
[012] Assim, seria favorável ter um regime de codificação que permita uma codificação eficiente para blocos de coeficiente de transformada, mesmo quando eles são grandes, e os seus mapas de significância.
[013] Assim, o objetivo da presente invenção é o de proporcionar um esquema codificação para codificação dos blocos de coeficiente de transformada e de mapas de significância indicando posições de coeficientes de transformada significativas dentro dos blocos de coeficientes de transformada, respectivamente, de modo que a eficiência de codificação é aumentada.
[014] Este objetivo é atingido pelo objeto das reivindicações independentes.
[015] De acordo com um primeiro aspecto do presente pedido, uma ideia subjacente do presente pedido é que uma maior eficiência de codificação para codificação de um mapa de significância indicando as posições dos coeficientes de transformada significativos dentro de um bloco de coeficiente de transformada pode ser alcançada se a ordem de varredura, através da qual os elementos de sintaxe sequencialmente extraídos indicando, para as posições associadas dentro do bloco de coeficiente de transformada, quanto ao fato de a respectiva posição de um de coeficiente de transformada significativo ou insignificante está situado, são sequencialmente associadas às posições do bloco de coeficiente de transformada, entre as posições do bloco de coeficiente de transformada depende das posições dos coeficientes de transformada significativos indicados pelos elementos de sintaxe previamente associados. Em particular, os inventores descobriram que, em conteúdo típico de matriz de amostra, tais como vídeo, imagem ou os conteúdos do mapa de profundidade, os coeficientes de transformada significativos principalmente formam aglomerados em um determinado lado do bloco de coeficiente de transformada correspondente, quer para frequências diferentes de zero na vertical e baixas frequências no sentido horizontal ou vice-versa, de modo que, levar em conta as posições dos coeficientes de transformada significativos indicados pelos elementos de sintaxe previamente associados permite controlar a causa adicional da varredura de modo que a probabilidade de atingir o último coeficiente de transformada significativo dentro do bloco de coeficiente de transformada anterior é aumentada em relação a um procedimento de acordo com a qual a ordem de varredura é predeterminada independente das posições dos coeficientes de transformada significativos indicados pelos elementos de sintaxe previamente associados até agora. Isto é particularmente verdadeiro para grandes blocos, embora o dito anteriormente é também válido para pequenos blocos.
[016] De acordo com uma concretização do presente pedido, o decodificador por entropia é configurado para extrair a informação do fluxo de dados que permita o reconhecimento de saber se um coeficiente de transformada significativo atualmente indicado por um elemento de sintaxe associado no momento é o último coeficiente de transformada significativo independente da sua exata posição dentro do bloco de coeficiente de transformada, em que o decodificador por entropia está configurado para não esperar nenhum elemento de sintaxe adicional, no caso de o elemento de sintaxe corrente relativamente a tais último coeficiente de transformada significativo. Esta informação pode incluir o número de coeficientes de transformada significativos dentro do bloco. Como alternativa, os segundos elementos de sintaxe são intercalados com os primeiros elementos de sintaxe, os segundos elementos de sintaxe, indicando, para as posições associadas em que um coeficiente de transformada significativo se situa, para saber se o mesmo é o último coeficiente de transformada no bloco de coeficiente de transformada ou não.
[017] De acordo com uma concretização, o associador adapta a ordem de varredura de acordo com as posições dos coeficientes de transformada significativos indicados até agora apenas em posições pré-definidas dentro do bloco de coeficiente de transformada. Por exemplo, vários sub-caminhos que atravessam mutuamente sub-conjuntos desconexos de posições dentro do blocos de coeficiente de transformada prolongam-se substancialmente na diagonal de um par de lados dos blocos de coeficiente de transformada correspondendo à frequência mínima ao longo de uma primeira direção e frequência mais elevada ao longo da direção oposta, respectivamente, para um par de lados oposto dos blocos de coeficiente de transformada correspondentes à frequência zero ao longo da segunda direção e frequência máxima ao longo da primeira direção, respectivamente. Neste caso, o associador está configurado para selecionar o modo de varredura de tal forma que os sub-caminhos são atravessados por uma ordem entre os sub- caminhos se a distância de sub-caminhos para a posição CC no interior do bloco de coeficiente de transformada aumenta monotonicamente, cada sub-caminho é percorrido sem interrupção ao longo da direção de execução, e para cada sub-caminho, a direção ao longo da qual o sub-caminho é percorrido é selecionada pelo associador dependendo das posições dos coeficientes de transformada significativos terem sido desviados durante os sub-caminhos anteriores. Por esta medida, a probabilidade é maior de que o último sub-caminho, em que o último coeficiente de transformada significativo está situado, é executado em uma direção de modo que é mais provável que o último coeficiente de transformada significativo encontre-se dentro da primeira metade deste último sub-caminho do que dentro da segunda metade do mesmo, permitindo, desse modo, reduzir o número de elementos de sintaxe indicando a respeito de se a uma respectiva posição um coeficiente de transformada significante ou insignificante está situado. O efeito é especialmente valioso no caso de grandes blocos de coeficiente de transformada.
[018] De acordo com um aspecto adicional do presente pedido, o presente pedido de patente baseia-se na constatação de que um mapa de significância indicando as posições de coeficientes de transformada significativos dentro de um bloco de coeficiente de transformada podem ser codificados de forma mais eficiente se os elementos de sintaxe acima mencionados indicando, para as posições associadas dentro do bloco de coeficiente de transformada quanto a se na respectiva posição de um coeficiente de transformada significativo ou insignificante está situado, são decodificados por entropia adaptativamente ao contexto usando contextos que são selecionados individualmente para cada um dos elementos de sintaxe dependente de um número de coeficientes de transformada significativos de uma vizinhança do respectivo elemento de sintaxe, indicado como sendo significativo, por qualquer um dos elementos de sintaxe precedentes. Em particular, os inventores descobriram que, com o aumento do tamanho dos blocos de coeficientes de transformada, os coeficientes de transformada significativos são, de alguma forma, agrupados em certas áreas no interior do bloco de coeficiente de transformada de modo que uma adaptação de contexto que não só é sensível à quantidade de coeficientes de transformada significativos tendo sido atravessados nas ordens de varredura pré-determinadas até agora, mas também levar em consideração a vizinhança do coeficiente de transformada significativo resulta em uma melhor adaptação de contexto e, portanto, aumenta a eficiência de codificação da codificação por entropia.
[019] É claro que ambos os aspectos acima delineados podem ser combinados de uma forma favorável.
[020] Além disso, de acordo com um aspecto ainda adicional do presente pedido de patente, o pedido é baseado na constatação de que a eficiência de codificação para a codificação de um bloco de coeficiente de transformada pode ser aumentada quando um mapa de significância indicando as posições dos coeficientes de transformada significativos dentro do bloco de coeficiente de transformada precede a codificação dos valores reais dos coeficientes de transformada significativos dentro do bloco de coeficiente de transformada, e se a ordem de varredura predeterminada, entre as posições do bloco de coeficiente de transformada utilizado para associar sequencialmente a sequência de valores dos coeficientes de transformada significativos com as posições dos coeficientes de transformada significativos verifica o bloco de coeficiente de transformada em sub-blocos usando uma ordem de varredura de sub-bloco entre os sub-blocos com, a subsidiária, fazendo a varredura das posições dos coeficientes de transformada dentro dos sub-blocos em uma ordem de varredura de coeficiente, e se um conjunto selecionado de um certo número de contextos de uma pluralidade de conjuntos de um número de contexto é usado para sequencialmente decodificar por entropia adaptativamente ao contexto os valores dos valores de coeficiente de transformadas significativos, a seleção do conjunto selecionado, dependendo dos valores dos coeficientes de transformada dentro de um sub-bloco do bloco de coeficiente de transformada já tendo sido percorrido na ordem de varredura do sub-bloco ou os valores dos coeficiente de transformadas de um sub- bloco co-localizado de um bloco de coeficiente de transformada previamente decodificado. Desta forma, a adaptação de contexto é muito bem adequada para a propriedade acima esboçada dos coeficientes de transformada significativos sendo agrupados em certas áreas no interior de um bloco de coeficiente de transformada, em especial quando grandes blocos de coeficiente de transformada são considerados. Em outras palavras, os valores podem ser digitalizados em sub-blocos, e contextos selecionados com base em estatísticas de sub-bloco.
[021] Mais uma vez, mesmo este último aspecto pode ser combinado com qualquer um dos aspectos anteriormente identificados da presente aplicação, ou com ambos os aspectos.
[022] As concretizações preferidas do presente pedido de patente são descritas a seguir com respeito às figuras, entre as quais: A Figura 1 mostra um diagrama de bloco de um codificador de acordo com uma concretização; As Figuras 2a-2c esquematicamente mostram diferentes sub-divisões de uma matriz de amostra tal como uma imagem em blocos; A Figura 3 mostra um diagrama de bloco de um decodificador de acordo com uma concretização; A Figura 4 mostra um diagrama de bloco de um codificador de acordo com uma concretização do presente pedido de patente em mais detalhes; Figura 5 mostra um diagrama de bloco de um decodificador de acordo com uma concretização do presente pedido de patente em mais detalhes; A Figura 6 ilustra esquematicamente a transformação de um bloco de domínio espacial em domínio espectral; A Figura 7 mostra um diagrama de bloco de um aparelho para decodificar o mapa de significância e os coeficientes de transformada significativos de uma bloco de coeficiente de transformada, de acordo com uma concretização; A Figura 8 mostra esquematicamente um sub-particionamento de uma ordem de varredura em sub-caminhos e suas direções transversais diferentes; A Figura 9 ilustra esquematicamente definições da vizinhança para posições dentro de uma varredura de certos blocos de transformada, de acordo com uma concretização; A Figura 10 ilustra esquematicamente definições de vizinhança possíveis para algumas posições de varredura dentro do bloco de transformada que estão na fronteira de um bloco de transformada; A Figura 11 mostra uma possível varredura de blocos de transformada de acordo com uma concretização adicional do presente pedido de patente.
[023] Deve ser notado que, durante a descrição da Figuras, os elementos que ocorrem em várias destas figuras estão indicados com o sinal de referência semelhante em cada uma destas Figuras e uma descrição repetida de tais elementos, tanto quanto diz respeito à funcionalidade é evitada de forma a evitar repetições desnecessárias. No entanto, as funcionalidades e descrições fornecidas com respeito a uma figura é igualmente aplicável a outras figuras, a menos que o contrário seja expressamente indicado.
[024] A Figura 1 mostra um exemplo de um codificador 10, em que os aspectos do presente pedido de patente podem ser aplicados. O codificador codifica uma matriz de amostras de informação 20 em um fluxo de dados. A matriz de amostras de informação pode representar qualquer tipo de sinal de informação espacialmente amostrado. Por exemplo, a matriz de amostra 20 pode ser uma fotografia ou uma imagem de um vídeo. Deste modo, as amostras de informação podem corresponder a valores de brilho, valores de cor, valores de luminância, valores de croma ou semelhantes. No entanto, as amostras de informação podem também ser valores de profundidade, no caso da matriz 20 ser uma amostra de mapa de profundidade gerado por, por exemplo, um sensor de luz de tempo ou semelhantes.
[025] O codificador 10 é um codificador baseado em bloco. Isto é, o codificador 10 codifica a matriz de amostra 20 para o fluxo de dados 30, em unidades de blocos 40. A codificação em unidades de blocos 40, não significa necessariamente que o codificador 10 codifica os blocos 40 totalmente independentes um do outro. Em vez disso, o codificador 10 pode usar reconstruções de blocos previamente codificados, a fim de extrapolar ou intra-predizer blocos restantes, e pode usar a granularidade dos blocos para a definição de parâmetros de codificação, ou seja, para definir a forma como cada região da matriz da amostra correspondente a um respectivo bloco é codificada.
[026] Além disso, o codificador 10 é um codificador de transformada. Isto é, o codificador 10 codifica os blocos usando uma transformada, a fim de transferir as amostras de informação dentro de cada bloco 40 do domínio espacial para o domínio espectral. Uma transformada bidimensional tal como uma CCT da FFT ou semelhantes pode ser utilizada. De preferência, os blocos 40 são de forma quadrangular ou retangular.
[027] A sub-divisão da matriz da amostra 20 em blocos 40 mostrados na Figura 1 serve meramente para fins de ilustração. A Figura 1 mostra a matriz de amostra 20 como sendo sub-dividida em um arranjo bidimensional regular dos blocos quadráticos ou retangulares 40 que se encostam um ao outro de uma maneira não sobreposta. O tamanho dos blocos 40 pode ser pré-determinado. Isto é, o codificador 10 não pode transferir uma informação sobre o tamanho do bloco dos blocos 40 no interior do fluxo de dados 30 para o lado da decodificação. Por exemplo, o decodificador pode esperar que o tamanho do bloco pré-determinado.
[028] No entanto, várias alternativas são possíveis. Por exemplo, os blocos podem sobrepor-se uns aos outros. A sobreposição pode, no entanto, ser limitada de tal forma que cada bloco tem uma porção não sobreposta por qualquer bloco vizinho, ou de tal modo que cada amostra dos blocos é sobreposta por, no máximo, um bloco entre os blocos vizinhos dispostos em justaposição para o bloco atual ao longo de uma direção pré-determinada. Que este último significaria que os blocos vizinhos da esquerda e da direita podem se sobrepor ao bloco atual, de modo a cobrir totalmente o bloco atual, mas não podem se sobrepor um ao outro, e o mesmo se aplica aos vizinhos na direção vertical e diagonal.
[029] Como uma outra alternativa, a sub-divisão da matriz de amostra 20 para os blocos 40 pode ser adaptada para o conteúdo da matriz de amostra 20 no codificador 10 com a informação de sub-divisão na subdivisão usada sendo transferida para o lado do decodificador através de fluxo de bits 30.
[030] As Figuras 2a a 2c mostram diferentes exemplos de uma sub-divisão de uma matriz de amostra 20 para os blocos 40. A Figura 2a mostra uma sub-divisão baseada em quadtree de uma matriz de amostra 20 em blocos 40 de diferentes tamanhos, com a representação de blocos sendo indicada em 40a, 40b, 40c e 40d, com o aumento do tamanho. De acordo com a sub-divisão da Figura 2a, a matriz de amostra 20 é, em primeiro lugar, dividida em um arranjo bidimensional regular de blocos de árvore 40d, que, por sua vez, têm a informação de sub-divisão individual com ele associado, segundo a qual um certo bloco de árvore 40d pode ainda ser subdividido de acordo com uma estrutura de quadtree ou não. O bloco de árvore para a esquerda do bloco 40d é exemplarmente sub-dividido em pequenos blocos, de acordo com uma estrutura de quadtree. O codificador 10 pode executar uma transformada bidimensional para cada um dos blocos mostrados com linhas cheias e tracejadas na Figura 2a. Em outras palavras, o codificador 10 pode transformar a matriz 20, em unidades do bloco de subdivisão.
[031] Em vez de uma sub-divisão baseada em quadtree, uma sub-divisão mais geral baseada em multi árvore pode ser utilizada, o número de nós secundários por nível de hierarquia pode diferir entre diferentes níveis hierárquicos.
[032] A Figura 2b mostra um outro exemplo de uma sub-divisão. De acordo com a Figura 2b, a matriz de amostra 20 é, em primeiro lugar, dividida em macroblocos 40b dispostos em um arranjo bidimensional regular não sobrepostos mutuamente encostados, em que cada macrobloco 40b tem, com ele associada, a informação de sub-divisão de acordo com a qual um macrobloco não é sub-dividido, ou, se subdividido, sub-dividido de uma forma bi-dimensional regular em sub-blocos de tamanho igual, de modo a atingir diferentes granularidades de sub-divisão para diferentes macroblocos. O resultado é uma sub-divisão da matriz de amostra 20 em diferentes tamanhos de blocos 40 com representantes de diferentes tamanhos sendo indicados em 40a, 40b e 40a'. Como na Figura 2a, o codificador 10 realiza uma transformada bidimensional em cada um dos blocos mostrados na Figura 2b, com as linhas cheias e tracejadas. A Figura 2c será discutida mais tarde.
[033] A Figura 3 mostra um decodificador 50 sendo capaz de decodificar o fluxo de dados 30 gerado pelo codificador 10 para reconstruir uma versão reconstruída 60 da matriz de amostra 20. O decodificador 50 extrai a partir do fluxo de dados 30, o bloco de coeficiente de transformada para cada um dos blocos 40 e reconstrói a versão reconstruída 60 através da realização de uma transformada inversa em cada dos blocos de coeficiente de transformada.
[034] O codificador 10 e o decodificador 50 podem ser configurados para realizar a codificação / decodificação por entropia, a fim de inserir a informação sobre os blocos de coeficiente de transformada em, e extrair essa informação do fluxo de dados, respectivamente. Detalhes a este respeito são descritos mais adiante. Deve ser notado que o fluxo de dados não necessariamente 30 compreende informação sobre blocos de coeficiente de transformada para todos os blocos 40 da matriz de amostra 20. Em vez disso, como o sub-conjunto de blocos 40 pode ser codificado dentro do fluxo de bits 30 de outro modo. Por exemplo, o codificador 10 pode decidir a se abster da inserção de um bloco de coeficiente de transformada para um determinado bloco de blocos 40 com a inserção no fluxo de bits 30 de parâmetros de codificação alternativos, em vez dos que permitem que o decodificador 50 faça a predição ou, de outro modo, encha o respectivo bloco na versão reconstruída 60. Por exemplo, o codificador 10 pode realizar uma análise de textura, a fim de localizar os blocos no interior de matriz de amostra 20 que podem ser cheios no lado do decodificador através de decodificação por meio de síntese de textura e indicar isso dentro do fluxo de bits consequentemente.
[035] Como discutido nas figuras seguintes, os blocos de coeficientes de transformada não representam necessariamente uma representação do domínio espectral de amostras de informação originais de um respectivo bloco 40 da matriz de amostra 20. Em vez disso, um tal bloco de coeficiente de transformada pode representar uma representação de domínio espectral de um residual de predição do respectivo bloco 40. A Figura 4 mostra uma concretização de um tal codificador. O codificador da Figura 4 compreende um estágio da transformada 100, um codificador por entropia 102, um estágio de transformação inversa 104, um preditor 106 e um subtrator 108, bem como um adicionador 110. O subtrator 108, o estágio de transformada 100 e o codificador por entropia 102 estão ligados em série pela ordem mencionada entre uma entrada 112 e uma saída 114 do codificador da Figura 4. O estágio de transformada inversa 104, adicionador 110 e preditor 106 são ligados na ordem mencionada entre a saída do estágio da transformada 100 e a entrada inversora do subtrator 108, com a saída do preditor 106 também estando ligada a uma outra entrada do somador 110.
[036] O codificador da Figura 4 é um codificador de bloco baseado em transformada preditivo. Isto é, os blocos de uma matriz de amostra 20 inserindo entrada 112 estão previstos a partir de porções previamente codificadas e reconstituídas da matriz de amostra 20 ou outras matrizes de amostra previamente codificadas e reconstruídas que podem preceder ou suceder a matriz da amostra 20 no tempo. A predição é executada pelo preditor 106. O subtractor 108 subtrai a predição de um tal bloco original e o estágio de transformada 100 executa uma transformação bidimensional nos residuais de predição. A transformação bidimensional em si ou a uma medida subsequente dentro do estágio de transformada 100 pode levar a uma quantização dos coeficientes de transformada dentro dos blocos de coeficientes de transformada. Os blocos de quantizada coeficientes de transformada são codificados, sem perdas, por exemplo, codificação por entropia no codificador por entropia 102 com o fluxo de dados resultante sendo emitido na saída 114. O estágio de transformada inversa 104 reconstrói o residual quantificado e o adicionador 110, por sua vez, combina o residual reconstruído com a predição correspondente, a fim de se obter amostras de informação reconstruídas com base em que o preditor 106 pode prever os referidos blocos de predição atualmente codificados. O preditor 106 pode utilizar modos de predição diferentes, tais como modos de predição intra e modos de predição inter a fim de prever os blocos e os parâmetros de predição são transmitidos ao codificador por entropia 102 para inserção dentro do fluxo de dados.
[037] Isto é, de acordo com a concretização da Figura 4, os blocos de coeficientes de transformada representam uma representação espectral de um residual da matriz da amostra, em vez de amostras de informação efetivas.
[038] Deve ser notado que existem várias alternativas para a concretização da Figura 4, com alguma delas tendo sido descritas na parte introdutória da especificação cuja descrição é incorporada na descrição da Figura 4 em anexo. Por exemplo, a predição gerada pelo preditor 106 não pode ser codificada por entropia. Em vez disso, a informação lateral pode ser transferida para o lado da decodificação por meio de um outro esquema de codificação.
[039] A Figura 5 mostra um decodificador capaz de decodificar um fluxo de dados gerado pelo codificador da Figura 4. O decodificador da Figura 5 compreende um decodificador por entropia 150, um estágio de transformada inversa 152, um adicionador 154 e um preditor 156. O decodificador por entropia 150, o estágio de transformada inversa 152, e o adicionador 154 são ligados em série entre uma entrada 158 e uma saída 160 do decodificador da Figura 5, na ordem mencionada. Uma outra saída do decodificador por entropia 150 está ligada ao preditor 156 que, por sua vez, está ligado entre a saída do somador 154 e uma outra entrada do mesmo. O decodificador por entropia 150 extrai, a partir do fluxo de dados de entrada do decodificador da Figura 5 na entrada 158, os blocos de coeficientes de transformação, em que uma transformada inversa é aplicada aos blocos de coeficiente de transformada no estágio 152, a fim de obter o sinal residual. O sinal residual é combinado com uma predição de preditor 156 no somador 154, de modo a obter um bloco reconstruído da versão reconstruída da matriz de amostra na saída 160. Com base nas versões reconstruídas, o preditor 156 gera as predições, assim, reconstruindo as predições realizadas pelo preditor 106 no lado do codificador. A fim de obter as predições idênticas às utilizadas no lado do codificador, o preditor 156 utiliza os parâmetros de predição que o decodificador por entropia 150 também obtém a partir do fluxo de dados na entrada 158.
[040] Deve ser notado que nas concretizações acima descritas, a granularidade espacial em que a predição e a transformação do residual são realizadas, não tem que ser igual uma à outra. Isto é mostrado na Figura 2C. Esta figura mostra uma subdivisão de predição para os blocos de granularidade da predição com linhas contínuas e a granulosidade residual com linhas tracejadas. Como pode ser visto, as subdivisões podem ser selecionadas pelo codificador independente um do outro. Para ser mais preciso, a sintaxe do fluxo de dados pode permitir uma definição da subdivisão residual independente da subdivisão de predição. Alternativamente, a subdivisão residual pode ser uma extensão da subdivisão de predição de modo que cada bloco residual ou é igual a ou um subconjunto apropriado de um bloco de predição. Isto é mostrado na Figura 2a e a Figura 2b, por exemplo, quando de novo a granularidade de predição é mostrada com linhas cheias e a granulosidade residual com linhas tracejadas. Isto é, nas Figuras 2a-2c, todos os blocos que têm um sinal de referência associado com o mesmo seriam blocos residuais para os quais uma transformada bidimensional seria realizada enquanto os blocos de linhas sólidas maiores que englobam os blocos de linhas tracejadas 40a, por exemplo, seria blocos de predição para os quais uma definição de parâmetro de predição é realizada individualmente.
[041] As concretizações acima têm em comum o fato de que um bloco (residual ou original) de amostras deve ser transformado, no lado do codificador para um bloco de coeficiente de transformada, que, por sua vez, está ser transformado inversamente em um bloco de amostras reconstruído no lado do decodificador. Isto está ilustrado na Figura 6. A Figura 6 mostra um bloco de amostras 200. No caso da Figura 6, este bloco 200 é exemplarmente quadrático e amostras de 4 x 4 202 em tamanho. As amostras 202 são regularmente dispostas ao longo de uma direção horizontal x e direção vertical y. Pela transformada bidimensional T acima mencionado, o bloco 200 é transformado no domínio espectral, isto é, em um bloco 204 de coeficientes de transformada 206, o bloco de transformada 204 sendo do mesmo tamanho do bloco 200. Isto é, o bloco de transformada 204 tem o maior número de coeficiente de transformada 206 que o bloco de amostras 200 tem, em ambas as direções horizontal e vertical. No entanto, como a transformada T é uma transformação espectral, as posições do coeficiente 206 de transformadas dentro do bloco de transformada 204 não correspondem a posições espaciais, mas sim a componentes espectrais do conteúdo do bloco 200. Em particular, o eixo horizontal do bloco de transformada 204 corresponde a um eixo ao longo do qual a frequência do espectro na direção horizontal aumenta monotonicamente, enquanto que o eixo vertical corresponde a um eixo ao longo do qual a frequência espacial na direção vertical aumenta monotonicamente em que o coeficiente de transformada do componente CC está posicionado em um canto - aqui exemplarmente o canto superior esquerdo - do bloco 204, de modo que no canto inferior direito, o coeficiente de transformada 206 correspondente à maior frequência na direção horizontal e vertical é posicionado. Negligenciar a direção espacial, a frequência espacial para que um certo coeficiente de transformada 206 pertence, em geral, aumenta a partir do canto superior esquerdo para o canto inferior direito. Por uma transformação inversa T-1, o bloco de transformada 204 é transferido novamente do domínio espectral para o domínio espacial, de modo a obter novamente uma cópia 208 do bloco 200. No caso de nenhuma quantização / perda ter sido introduzida durante a transformação, a reconstrução seria perfeita.
[042] Como já foi notado acima, pode ser visto a partir da Figura 6 que tamanhos maiores de bloco do bloco 200 aumentam a resolução espectral da representação espectral resultante 204. Por outro lado, o ruído de quantização tende a espalhar-se sobre a totalidade do bloco 208 e, assim, encostam os objetos muito localizados dentro dos blocos 200 tendem a conduzir a desvios do bloco transformado novamente em relação ao bloco original 200 devido ao ruído de quantificação. A principal vantagem de utilizar blocos maiores é, no entanto, que a razão entre o número de significantes, isto é, coeficiente de transformada diferentes de zero (quantizados) de um lado, e o número de coeficientes de transformada insignificantes, por outro lado, pode ser diminuído dentro de grandes blocos em comparação com pequenos blocos permitindo assim uma melhor eficiência de codificação. Em outras palavras, com frequência, os coeficientes de transformada significativos, isto é, os coeficientes de transformada não quantizados para zero, são distribuídos através do blocos de transformação 204 com baixa densidade. Devido a isso, de acordo com as concretizações descritas em mais detalhe abaixo, as posições do coeficiente de transformada significativos são sinalizadas dentro do fluxo de dados por meio de um mapa de significância. Separadamente do mesmo, os valores do coeficiente de transformada significativos, ou seja, os níveis de coeficiente de transformada no caso de coeficiente de transformadas serem quantificados, são transmitidos no fluxo de dados.
[043] Por conseguinte, de acordo com uma concretização do presente pedido, um dispositivo para a decodificação de um tal mapa de significância do fluxo de dados ou para decodificar o mapa de significância ao longo dos correspondentes valores de coeficiente de transformadas significativos a partir do fluxo de dados, pode ser implementado como mostrado na Figura 7, e cada um dos decodificadores por entropia 50 acima mencionado e decodificador por entropia 150 podem compreender o aparelho representado na Figura 7.
[044] O aparelho da Figura 7 compreende um decodificador por entropia de mapa / coeficiente 250 e um associador 252. O decodificador por entropia de mapa / coeficiente 250 está conectado a uma entrada 254, na qual elementos de sintaxe representando o mapa de significância e os valores coeficiente de transformada significativos entram. Como será descrito em mais detalhes abaixo, diferentes possibilidades existem com respeito à ordem na qual os elementos de sintaxe que descrevem o mapa de significância por um lado e os valores de coeficiente de transformada significativos por outro lado entre o decodificador por entropia de mapa / coeficiente 250. Os elementos de sintaxe do mapa de significância podem preceder os níveis correspondentes, ou ambos podem ser intercalados. No entanto, presume- se que preliminarmente os elementos de sintaxe que representam o mapa de significância precedem os valores (níveis) de coeficientes de transformada significativos de modo que o decodificador por entropia de mapa / coeficiente 250 decodifica, primeiro, o mapa de significância e, em seguida, os níveis de coeficiente de transformada dos coeficientes de transformada significativos.
[045] Como o decodificador por entropia de mapa / coeficiente 250 sequencialmente decodifica os elementos de sintaxe que representam o mapa de significância e os valores de coeficiente de transformada significativos, o associador 252 está configurado para associar estes elementos de sintaxe sequencialmente decodificados / valores para os posições dentro do bloco de transformada 256. A ordem de varredura na qual o associador 252 associa os elementos de sintaxe sequencialmente decodificados representando o mapa de significância e os níveis dos coeficientes de transformada significativos para as posições do bloco de transformada 256 segue uma ordem de varredura unidimensional entre as posições dos blocos de transformada 256 que é idêntica à ordem utilizada no lado de codificação para introduzir estes elementos no fluxo de dados. Conforme também será descrito mais detalhadamente abaixo, a ordem de varredura para os elementos de sintaxe do mapa de significância pode ser igual à ordem usada para os valores de coeficiente de transformada significativos, ou não.
[046] O decodificador por entropia de mapa / coeficiente 250 pode acessar as informações sobre o bloco de transformada 256 disponíveis até agora, como geradas pelo Associador 252 para um momento a ser elemento/ nível de sintaxe decodificado, a fim de definir o contexto de estimativa de probabilidade para a decodificação por entropia do elemento / nível de sintaxe atualmente sendo decodificado, tal como indicado por uma linha tracejada 258. Por exemplo, o associator 252 pode registrar as informações coletadas até agora a partir dos elementos de sintaxe sequencialmente associados, tais como os próprios níveis ou a informação sobre se na respectiva posição um coeficiente de transformada significativo está situado ou não, ou sobre se nada se sabe sobre a respectiva posição do bloco de transformada 256 em que o decodificador por entropia de mapa / coeficiente 250 acessa essa memória. A memória apenas mencionada não é mostrada na Figura 7, mas o sinal de referência 256 pode também indicar esta memória como a memória ou armazenamento temporário de registro que seria para armazenar a informação preliminar obtida pelo associador 252 e decodificador por entropia 250 até agora. Por conseguinte, a Figura 7 ilustra as posições cruzadas de coeficientes de transformada significativos obtidos a partir dos elementos de sintaxe previamente decodificados que representam o mapa de significância e um "1" deve indica que os níveis de coeficiente de transformada significativos do coeficiente de transformada significativo na respectiva posição já foi decodificado e é 1. No caso do mapa de significância de elementos de sintaxe que precedem os valores significativos no fluxo de dados, uma cruz teria sido registrada na memória 256 para na posição de "1" (esta situação teria representado o mapa de significância inteiro) antes de entrar no "1" mediante a decodificação do respectivo valor.
[047] A descrição a seguir concentra-se em concretizações específicas para a codificação dos blocos de coeficiente de transformada ou o mapa de significância, em que as concretizações são facilmente transferíveis para as concretizações descritas acima. Nestas concretizações, um elemento de sintaxe binário coded_block_flag pode ser transmitido para cada bloco de transformada, que indica se a bloco de transformada contém qualquer nível de coeficiente de transformada significativo (isto é, coeficientes de transformada que são diferentes de zero). Se este elemento de sintaxe indica que os níveis de coeficiente de transformada significativos estão presentes, o mapa de significância é codificado, isto é, apenas em seguida. O mapa de significância especifica, como indicado acima, qual dos níveis de coeficiente de transformada têm valores diferentes de zero. A codificação do mapa de significância implica em uma codificação de elementos de sintaxe binários significant_coeff_flag especificando cada um, respectivamente, posição de coeficiente associadas se o nível de coeficiente de transformada correspondente não é igual a zero. A codificação é realizada de uma certa ordem de varredura que pode mudar durante a codificação do mapa de significância dependendo das posições dos coeficientes significativos identificados para ser significativos, até agora, como será descrito em mais detalhes abaixo. Além disso, a codificação do mapa de significância implica em uma codificação de elementos de sintaxe binários significant_coeff_flag entremeados com a sequência significant_coeff_flag nas posições do mesmo, onde significant_coeff_flag sinaliza um coeficiente significativo. Se o significant_coeff_ bin fiag é igual a um, isto é, se um nível de coeficiente de transformada diferente de zero existe nesta posição de varredura, o elemento de sintaxe binário adicional significant_coeff_flagé codificado. Este binário indica se o nível de coeficiente de transformada significativo atual é o último nível de coeficiente de transformada significativo dentro do bloco ou se mais níveis de coeficiente de transformada significativos seguem a ordem de varredura. Se significant_coeff_flag indica que nenhum coeficiente de transformada significativo adicional segue, nenhum elemento de sintaxe adicional é codificado para indicar o mapa de significância para o bloco. Alternativamente, o número de posições de coeficiente significativas poderia ser sinalizado dentro do fluxo de dados com antecedência da codificação de sequência significant_coeff_flag. Na etapa seguinte, os valores dos níveis de coeficiente de transformada significativos são codificados. Como descrito acima, em alternativa, a transmissão de níveis pode ser intercalada com a transmissão do mapa de significância. Os valores dos níveis de coeficiente de transformada significativos são codificados em mais de uma ordem de varredura, para os quais exemplos estão descritos abaixo. Os três elementos de sintaxe seguintes são usados. O elemento de sintaxe binário coeff_abs_greater_one indica se o valor absoluto do nível de coeficiente de transformada significativo é maior do que um. Se o elemento de sintaxe binário coeff_abs_greater_one indica que o valor absoluto é maior do que um, um elemento de sintaxe adicional coeff_abs_level_minus_oneé enviado, que especifica que o valor absoluto do nível de coeficiente de transformada menos um. Finalmente, o elemento de sintaxe binário coeff_sign_flag, que especifica o sinal do valor do coeficiente de transformada, é codificado para cada um dos níveis de coeficiente de transformada significativos.
[048] As concretizações descritas abaixo permitem reduzir ainda mais a taxa de bits e, assim, aumentar a eficiência de codificação. A fim de fazer isso, estas concretizações utilizam uma abordagem específica para a modelagem de elementos de sintaxe de contexto relacionadas com os coeficientes de transformada. Em particular, um novo modelo de seleção de contexto para os elementos de sintaxe significant_coeff_flag, significant_coeff_flag, coeff_abs_greater_one e coeff_abs_level_minus_oneé usado. E, além disso, uma comutação adaptável da varredura durante a codificação / decodificação do mapa de significância (especificando os locais de níveis de coeficiente de transformada diferentes de zero) é descrita. Quanto ao significado dos elementos de sintaxe que devem ser mencionados, é feita referência à parte introdutória acima do presente pedido de patente.
[049] A codificação dos elementos de sintaxe significant_coeff_flag e significant_coeff_flag, que especificam o mapa de significância, é melhorada por uma varredura adaptativa e uma nova modelagem de contexto com base em uma vizinhança definida das posições de varredura já codificadas. Estes conceitos resultam em uma nova codificação mais eficiente do mapa de significâncias (ou seja, uma redução de taxa de bits correspondente), em especial para os grande tamanho de blocos.
[050] Um aspecto das concretizações a seguir delineadas é que a ordem de leitura (isto é, o mapeamento de um bloco de valores de coeficiente de transformada para um conjunto ordenado (vetor) dos níveis de coeficiente de transformada) está adaptado, durante a codificação / decodificação de um mapa de significância com base nos valores dos elementos de sintaxe já codificados / decodificados para o mapa de significância.
[051] Em uma concretização preferida, a ordem de varredura é adaptativamente comutada entre dois ou mais padrões de varredura predefinidos. Em uma concretização preferida, a comutação pode ocorrer apenas em certas posições de varredura predefinida. Em uma concretização adicional preferida da invenção, a ordem de varredura é adaptativamente comutada entre dois padrões de varredura predefinidos. Em uma concretização preferida, a comutação entre os dois padrões de varredura predefinidos pode ocorrer apenas em certas posições de varredura predefinidas.
[052] A vantagem da comutação entre os padrões de varredura é uma taxa de bits reduzida, o que é um resultado de um menor número de elementos de sintaxe codificados. Como exemplo intuitivo e referindo-se à Figura 6, é muitas vezes o caso de que os valores de coeficiente de transformada significativo - em especial para grandes blocos de transformada - estão concentrados em uma da bordas dos blocos 270, 272, porque os blocos residuais contêm principalmente estruturas horizontais ou verticais. Com a varredura de em zigue-zague usada principalmente 274, existe uma probabilidade de cerca de 0,5 de que a última sub-varredura diagonal da varredura em zigue-zague em que o último coeficiente significativo é encontrado inicia a partir do lado em que os coeficientes significativos não estão concentrados. Neste caso, um grande número de elementos de sintaxe para níveis de coeficiente de transformada iguais a zero, tem de ser codificado antes do último valor de coeficiente de transformada não nula ser atingido. Isto pode ser evitado se as sub-varreduras diagonais são sempre iniciadas no lado onde os níveis de coeficiente de transformada significativos estão concentrados.
[053] Mais detalhes de uma concretização preferida da presente invenção são descritos abaixo.
[054] Como mencionado acima, também para grandes tamanhos de blocos, é preferível manter o número de modelos de contexto razoavelmente pequenos, a fim de permitir uma rápida adaptação dos modelos de contexto e proporcionar uma elevada eficiência de codificação. Assim, em um contexto particular, deve ser usado para mais do que uma posição de varredura. Porém, o conceito de atribuição do mesmo contexto de uma série de posições de varredura sucessivas, como é feito para blocos 8 x 8 em H.264, em geral não é adequado, uma vez que os níveis de coeficiente de transformada significativos são geralmente concentrados em certas áreas de um bloco de transformadas (esta concentração pode ser um resultado de certas estruturas dominantes que estão normalmente presentes em, por exemplo, blocos residuais). Para projetar a seleção de contexto, pode-se usar a observação acima mencionada que níveis de coeficiente de transformada significativos são geralmente concentrados em determinadas áreas de um bloco de transformada. Na descrição a seguir, conceitos são descritos pelos quais essa observação pode ser explorada.
[055] Em uma concretização preferida, um grande bloco de transformada (por exemplo, maior do que 8 x 8) é dividido em um número de sub-blocos retangulares (por exemplo, em 16 sub-locos ) e cada um destes sub-blocos está associado a um modelo de contexto separado para codificação de significant_coeff_flag e significant_coeff_flag (em que os modelos de contexto diferentes são usados para a significant_coeff_fiag e significant_coeff_flag). O particionamento em sub-blocos pode ser diferente para o significant_coeff_flag e significant_coeff_flag. O modelo de um mesmo contexto pode ser utilizado para todas as posições de varredura que estão localizadas em um determinado sub-bloco.
[056] Em uma outra concretização preferida, um grande bloco de transformada (por exemplo, maior do que 8 x 8) pode ser dividido em um número de sub-regiões retangulares e / ou não-retangulares e cada uma destas sub-regiões está associada a um modelo de contexto separado para codificação de significant_coeff_flag e / ou significant_coeff_flag. O particionamento em sub-regiões pode ser diferente para o significant_coeff_flag e significant_coeff_flag. O mesmo modelo de contexto é utilizado para todas as posições de varredura que estão localizadas em uma determinada sub-região.
[057] Em uma concretização preferida adicional, o modelo de contexto para a codificação de _flag significant_coeff e / ou significant_coeff_flagé selecionado com base nos símbolos já codificados em uma vizinhança espacial predefinida de varredura da posição atual. A vizinhança predefinida pode ser diferente para diferentes posições de varredura. Em uma concretização preferida, o modelo de contexto é selecionado com base no número de níveis de coeficiente de transformada significativos na vizinhança espacial predefinida da posição de varredura corrente, onde apenas indicações de significância já codificadas são contadas.
[058] Mais detalhes de uma concretização preferida da presente invenção são descritos abaixo.
[059] Como mencionado acima, para grandes tamanhos de blocos, a modelagem de contexto convencional codifica um grande número de binários (que geralmente têm probabilidades diferentes) com um modelo de contexto único para os elementos de sintaxe coeff_abs_greater_one e coeff_abs_level_minus_one. A fim de evitar este inconveniente para grande tamanho de bloco, grandes blocos podem, de acordo com uma concretização, ser divididos em pequenos sub-blocos quadráticos ou retangulares de um determinado tamanho e uma modelagem de contexto é aplicada em separado para cada sub-bloco. Além disso, vários conjuntos de modelos de contexto podem ser utilizados, em que um dos modelos de contexto destes conjuntos é selecionado para cada sub-bloco com base na análise de dados estatísticos de sub- blocos previamente codificados. Em uma concretização preferida presente invenção, o número de coeficiente de transformadas maiores do que 2 (ie. coeff_abs_level_minus_1 > 1) no sub-bloco anteriormente codificado do mesmo bloco é utilizado para derivar o modelo de contexto definido para o sub-bloco corrente. Estas melhorias para modelagem do contexto dos elementos de sintaxe coeff_abs_greater_one e coeff_abs_leveI_minus_one resulta em codificação mais eficiente de ambos os elementos de sintaxe, em especial para os grandes tamanhos de blocos. Em uma concretização preferida, o bloco de tamanho de um sub-bloco é 2x2. Noutra concretização preferida, o tamanho do bloco de um sub-bloco é 4 x 4.
[060] Em uma primeira etapa, um bloco maior do que um tamanho pré-definido pode ser dividido em pequenos sub-blocos de um tamanho particular. O processo de codificação dos níveis de coeficiente de transformada absolutos mapeia o bloco quadrático ou retangular de sub-blocos em um conjunto ordenado (vetor) de sub- blocos, usando uma varredura, onde varreduras diferentes podem ser usadas para diferentes blocos. Em uma concretização preferida, os sub-blocos são processados utilizando uma varredura em zigue-zague, e os níveis de coeficiente de transformada dentro de um sub-bloco são processados em uma varredura em zigue-zague inversa, isto é, uma carga de varredura a partir de um coeficiente de transformada pertencente à frequência mais elevada na direção vertical e horizontal para o coeficiente relativamente à frequência mais baixa em ambas as direções. Em uma outra concretização preferida da invenção, uma varredura em zigue-zague invertida é usada para a codificação dos sub-blocos e para a codificação dos níveis de coeficiente de transformada dentro dos sub-blocos. Em uma outra concretização preferida da invenção, a mesma varredura adaptativa que é utilizada para a codificação do mapa de significância (ver acima) é usada para processar o bloco completo de níveis de coeficiente de transformada.
[061] A divisão de um grande bloco de transformada em sub-blocos evita o problema de usar apenas um modelo de contexto para a maioria dos binários de um grande bloco de transformada. Dentro dos sub-blocos, a modelagem de contexto do estado da técnica (como especificado em H.264) ou um contexto fixo podem ser usadas, dependendo do tamanho real dos sub-blocos. Além disso, as estatísticas (em termos de modelagem de probabilidade) para esses sub-blocos são diferentes das estatísticas de um bloco de transformada com o mesmo tamanho. Esta propriedade pode ser explorada por estender o conjunto de modelos de contexto para os elementos de sintaxe coeff _abs_greater_one e coeff_abs_level_minus_one. Vários conjuntos de modelos de contexto podem ser fornecidos, e para cada sub-bloco de um desses conjuntos de modelo de contexto podem ser selecionados com base nas estatísticas de sub-bloco previamente codificados no bloco de transformada atual ou bloco de transformadas anteriormente codificado. Em uma concretização preferida da invenção, o conjunto selecionado de modelos de contexto é derivado com base nas estatísticas dos sub-blocos previamente codificados a partir do mesmo bloco. Em uma outra concretização preferida da invenção, o conjunto selecionado de modelos de contexto é derivado com base nas estatísticas do mesmo sub-bloco de blocos previamente codificados. Em uma concretização preferida o número de conjuntos de modelo de contexto é definido igual a 4, enquanto que, em uma outra concretização preferida, o número de conjuntos de modelo de contexto é definido como igual a 16. Em uma concretização preferida, as estatísticas que são utilizadas para derivar o conjunto modelo de contexto é o número de níveis de coeficiente de transformada absolutos superiores a 2 em sub-blocos previamente codificados. Em outra concretização preferida, as estatísticas que são utilizadas para derivar o conjunto de modelo de contexto é a diferença entre o número de coeficientes significativos e o número de níveis de coeficiente de transformada com um valor absoluto maior que 2.
[062] A codificação do mapa de significância pode ser realizada como descrito abaixo, ou seja, por uma comutação adaptável da ordem de varredura.
[063] Em uma concretização preferida, a ordem de varredura para a codificação do mapa de significância é adaptada por comutação entre dois padrões de varredura predefinidos. A comutação entre os padrões de varredura só pode ser feita em certas posições de varredura predefinidas. A decisão sobre se o padrão de varredura é comutado depende dos valores dos elementos de sintaxe do mapa de significância já codificados / decodificados. Em uma concretização preferida, ambos os padrões de varredura predefinidos especificam padrões de varredura com sub-varreduras em diagonal, semelhante ao padrão de varredura da varredura em zigue-zague. Os padrões de varredura estão ilustrados na Figura 8. Ambos os padrões de varredura 300 e 302 consistem de um número de sub- varreduras diagonais para diagonais do canto inferior esquerdo para canto superior direito ou vice-versa. A varredura das sub- varreduras diagonais (não ilustradas na figura) é feita de cima da esquerda para baixo para direita para ambos os padrões de varredura predefinidos. Mas a varredura no interior das sub-varreduras diagonais é diferente (tal como ilustrado na figura). Para o primeiro padrão de varredura 300, as sub-varreduras diagonais são varridas a partir canto inferior esquerdo para canto superior direito (esquerda da ilustração da Figura 8), e para o segundo padrão de varredura 302, as sub-varreduras diagonais são varridas a partir do canto superior direito para o canto inferior esquerdo (ilustração direito da Figura 8). Em uma concretização, a codificação do mapa de significância começa com o segundo padrão de varredura. Enquanto a codificação / decodificação dos elementos de sintaxe, o número de valores de coeficiente de transformada significativos é contado por dois contadores c1 e c2. O primeiro contador c1 conta o número de coeficientes de transformada significativos que estão localizados na parte inferior esquerda do bloco de transformada, ou seja, este contador é incrementado de um, quando um nível de coeficiente de transformada significativo é codificado / decodificado para o qual a coordenada horizontal x dentro do bloco de transformada é menor do que a coordenada vertical y. O segundo contador c2 conta o número de coeficientes de transformada significativos que estão localizados na parte superior direita do bloco de transformada, ou seja, este contador é incrementado de um, quando uma nível de coeficiente de transformada significativo é codificado / decodificado para o qual a coordenada horizontal x dentro do bloco de transformada for maior do que a coordenada vertical y. A adaptação de contadores pode ser efetuadas pelo associador 252 na Figura 7 e pode ser descrita pelas fórmulas seguintes, em que t especifica o índice da posição de varredura e os dois contadores são inicializados com zero:
[064] No final de cada sub-varredura diagonal, ‘e decidido pelo associador 252 se o primeiro ou o segundo dos padrões de varredura predefinidos 300, 302 é utilizado para a próxima sub-varredura diagonal. Esta decisão é tomada com base nos valores dos contadores da c1 e c2. Quando o contador para a parte inferior esquerda do bloco de transformada é maior do que o contador para a parte inferior esquerda, o padrão de varredura que varre a sub-varredura diagonal da parte inferior esquerda para canto superior direito é usado, caso contrário (o contador para a parte inferior esquerda do bloco de transformada é menor do que ou igual ao contador para a parte inferior esquerda), o padrão de varredura que varre a sub-varredura diagonal superior direita para baixo esquerda é utilizada. Esta decisão pode ser expressa pela fórmula seguinte:
[065] Deve ser notado que a concretização acima descrita da invenção pode ser facilmente aplicada a outros padrões de varredura. Como exemplo, o padrão de varredura que é usado para macroblocos de campo em H.264 também pode ser decomposto em sub-varreduras. Em uma outra concretização preferida, um dado, mas arbitrário padrão de varredura é decomposto em sub-varreduras. Para cada uma das sub-varreduras, dois padrões de varredura estão definidos: um de baixo da esquerda para a direita superior e um para superior direito para baixo-esquerda (como a direção da varredura básica). Além disso, dois contadores são introduzidos que contam o número de coeficientes significativos em uma primeira parte (perto da fronteira inferior esquerda de um bloco de transformada) e uma segunda parte (perto da fronteira superior direita de um bloco de transformada) dentro das sub-varreduras. Por fim, no final de cada uma das sub-varreduras é decidido (com base nos valores dos contadores), se a próxima sub-varredura é digitalizada a partir da base para o topo da esquerda para a direita ou da direita superior para a esquerda inferior.
[066] Na descrição a seguir, concretizações para como o decodificador por entropia 250 modela os contextos, são apresentadas.
[067] Em uma concretização preferida, a modelagem de contexto para o significant_coeff_flagé feito como a seguir. Para blocos 4x4, a modelagem do contexto é feita conforme especificado em H.264. Para os blocos 8x8, o bloco de transformada é decomposto em 16 sub-blocos de amostras de 2x2, e cada um de estes sub-blocos está associado com um contexto diferente. Note-se que este conceito também pode ser estendido para grande tamanho de blocos diferentes, um número de sub-blocos, e também sub-regiões não retangulares, como descrito acima.
[068] Em uma outra concretização preferida, a seleção do modelo de contexto para maiores blocos de transformada (por exemplo, para os blocos superiores 8 x 8) é baseada no número de coeficientes de transformada significativos já codificados em uma zona pré-definida (dentro do bloco de transformada). Um exemplo para a definição de zonas, o que corresponde a uma concretização preferida da invenção, encontra-se ilustrado na Figura 9. Cruzes com um círculo em volta das mesmas são vizinhos disponíveis, que são sempre levados em conta para a avaliação e cruzes com um triângulo são vizinhos que são avaliados em função da posição de varredura atual e a direção de varredura atual): • Se a posição de varredura corrente situa-se no interior do canto esquerdo 2 x 2 304, um modelo de contexto separado é usado para cada posição de varredura (Figura 9, ilustração da esquerda) • Se a posição de varredura corrente não está dentro do canto esquerdo 2x2e não está localizada na primeira linha ou a primeira coluna do bloco de transformada, em seguida, os vizinhos ilustrados à direita na Figura 9 são usados para avaliar o número de coeficiente de transformada significativos na vizinhança da posição de varredura atual "x" sem nada em torno dela. • Se a posição de varredura corrente "x" sem nada em torno dela cai na primeira linha do bloco de transformada, em seguida, os vizinhos especificados na figura à direita da Figura 10 são utilizados • Se a posição corrente de varredura "x" cai para a primeira coluna do bloco, em seguida, os vizinhos especificados na figura esquerda da figura 10 são utilizados.
[069] Em outras palavras, o decodificador 250 pode ser configurado para extrair sequencialmente os elementos de sintaxe do mapa de significância pela decodificação por entropia adaptativamente ao contexto através do uso de contextos que são selecionados individualmente para cada um dos elementos de sintaxe de mapa de significância, dependendo de um número de posições em que de acordo com os coeficientes de transformada significativos dos elementos de sintaxe de mapa de significância extraídos anteriormente e associados estão situados, as posições sendo limitadas a esses encontram-se em uma vizinhança da posição ("x" na Figura 9 do lado da mão direita e Figura 10, ambos os lados, bem como qualquer das posições marcadas de lado esquerdo da Figura 9) com a qual o respectivo elemento de sintaxe de mapa de significância atual está associado. Como mostrado, a vizinhança de posição com o qual o respectivo elemento de sintaxe corrente está associado, pode simplesmente compreender posições, quer diretamente adjacentes ou separadas a partir da posição em que o respectivo elemento de sintaxe de mapa de significância está associado, na primeira posição na direção vertical e / ou uma posição na direção horizontal, no máximo. Alternativamente, apenas posições diretamente adjacentes ao respectivo elemento de sintaxe corrente podem ser levadas em conta. Ao mesmo tempo, o tamanho do bloco de coeficiente de transformada pode ser igual a ou maior do que 8 x 8 posições.
[070] Em uma concretização preferida, o modelo de contexto que é utilizado para a codificação de um significant_coeff_flag particular é escolhido em função do número de níveis de coeficientes de transformada significativos já codificados nas vizinhanças definidos. Aqui, o número de modelos de contexto disponíveis pode ser menor do que o valor para o número possível de níveis de coeficiente de transformada significativos na vizinhança definida. O codificador e decodificador pode conter uma tabela (ou um mecanismo de mapeamento diferente) para mapear o número de níveis de coeficiente de transformada significativos na vizinhança definida para um índice de modelo de contexto.
[071] Em uma outra concretização preferida, o índice de modelo de contexto escolhido depende do número de níveis de coeficiente de transformada significativo s na vizinhança definida e em um ou mais parâmetros adicionais como o tipo de vizinhança utilizado ou a posição de varredura ou um valor quantizado para a posição de varredura.
[072] Para os códigos de significant_coeff_flag, uma modelagem de contexto semelhante como para significant_coeff_flag pode ser usada. No entanto, a medida de probabilidade para o significant_coeff_flag depende, principalmente, da uma distância de varredura da posição atual para o canto superior esquerdo do bloco de transformada. Em uma concretização preferida, o modelo de contexto para a codificação de significant_coeff_flagé escolhido com base na varredura diagonal, em que a posição de varredura corrente encontra-se (isto é, é escolhido com base em x + y, em que x e y representam a localização horizontal e vertical de uma posição de varredura dentro do bloco de transformada, respectivamente, no caso da concretização anterior da Figura 8, ou com base em quantas sub-varreduras por entre a sub-varredura corrente e a posição superior esquerda CC (tal como o índice de sub- varredura menos 1 )). Em uma concretização preferida da invenção, o mesmo contexto é utilizado para diferentes valores de x + y. A medida de distância ou seja, x + y ou o índice de sub-varredura é mapeado no conjunto de modelos de contexto de uma certa maneira (por exemplo, quantizar x + y ou o índice de sub-varredura), onde o número de valores possíveis para a medida de distância é maior do que o número de modelos de contexto disponíveis para codificação de significant_coeff_flag.
[073] Em uma concretização preferida, os esquemas de modelagem de contexto diferentes são utilizados para diferentes tamanhos de bloco de transformadas.
[074] Na sequência, a codificação dos níveis de coeficiente de transformada absolutos é descrito.
[075] Em uma concretização preferida, o tamanho dos sub-blocos é de 2x2 e a modelagem do contexto no interior dos sub-blocos está desativada, isto é, um modelo de contexto único é usado para todos os coeficientes de transformada dentro de um sub-bloco 2 x 2. Somente blocos maiores do que 2 x 2 podem ser afetados pelo processo de subdivisão. Em uma concretização adicional preferida da presente invenção, o tamanho dos sub-blocos é 4 x 4 e a modelagem de contexto no interior dos sub-blocos é feita como em H.264; apenas blocos maiores do que 4 x 4 são afetados pelo processo de subdivisão.
[076] Quanto ao modo de varredura, em uma concretização preferida, uma varredura em zigue-zague 320 é utilizada para varrer os sub-blocos 322 de um bloco de transformada 256 ou seja, ao longo de uma direção de um aumento substancial da frequência, enquanto os coeficientes de transformada dentro de um sub-bloco são varridos em uma varredura em zigue-zague inversa 326 (Figura 11). Em uma concretização adicional preferida da presente invenção, ambos os sub-blocos 322 e os níveis de coeficiente de transformada no interior dos sub-blocos 322 são varridos utilizando uma varredura em zigue-zague inversa (como a ilustração na Figura 11, onde a seta 320 é invertida). Em uma outra concretização preferida, a mesma varredura adaptativa para a codificação do mapa de significância é utilizada para processar os níveis de coeficiente de transformada, onde a decisão de adaptação é a mesma, de modo que exatamente a mesma varredura é utilizada para ambas as codificação do mapa de significância e a codificação dos valores de níveis de coeficiente de transformada. Deve ser notado que a varredura em si não costuma depender das estatísticas selecionadas ou do número de conjuntos de modelo de contexto ou da decisão para habilitar ou desabilitar a modelagem de contexto dentro dos sub-blocos.
[077] As próximas concretizações para modelagem de contexto para os níveis de coeficiente são descritas.
[078] Em uma concretização preferida, a modelagem de contexto para um sub- bloco é semelhante ao modelo de contexto para blocos 4 x 4 em H.264 como foi descrito acima. O número de modelos de contexto que são utilizados para a codificação do elemento de sintaxe coeff_abs_greater_one e o primeiro binário do elemento de sintaxe coeff_abs_level_minus_oneé igual a cinco, com, por exemplo, utilizando diferentes conjuntos de modelos de contexto para os dois elementos de sintaxe. Em uma concretização ainda mais preferida, a modelagem de contexto dentro dos sub-blocos é desativada e apenas um modelo predefinido contexto é utilizado dentro de cada sub-bloco. Para ambas as concretizações, o modelo de contexto definido para um sub-bloco 322 é selecionado entre um número pré-definido de conjuntos de modelo de contexto. A seleção do modelo de contexto definido para um sub-bloco 322 é determinado com base em estatísticas de um ou mais sub-blocos já codificados. Em uma concretização preferida, as estatísticas utilizadas para selecionar um modelo de contexto definido para um sub-bloco são tomadas a partir de um ou mais sub-blocos já codificados do mesmo bloco 256. Como as estatísticas são utilizadas para derivar o conjunto do modelo selecionado contexto é descrito abaixo. Em uma concretização preferida adicional, as estatísticas são tiradas do mesmo sub- bloco de um bloco previamente codificados com o mesmo tamanho de bloco, tais como o bloco 40a e 40a' na Figura 2b. Em uma outra concretização preferida da invenção, as estatísticas são tomadas a partir de um sub-bloco vizinho definido no mesmo bloco, o qual depende da varredura selecionada para os sub-blocos. Além disso, é importante notar que a fonte de dados estatísticos deve ser independente da ordem de varredura e como as estatísticas são criadas para derivar o conjunto do modelo de contexto.
[079] Em uma concretização preferida, o número de conjuntos de modelo de contexto é igual a quatro, enquanto que, em outra concretização preferida, o número de conjuntos de modelo de contexto é igual a 16. Geralmente, o número de conjuntos de modelo de contexto não é fixo e deve ser adaptado de acordo com as estatísticas selecionadas. Em uma concretização preferida, o modelo de contexto definido para um sub-bloco 322 é determinado com base no número de níveis de coeficiente de transformada absolutos superiores a dois em um ou mais sub-blocos já codificados. Um índice para o conjunto de modelo de contexto é determinado por mapeamento do número de níveis de coeficiente de transformada absolutos superiores a dois no sub- bloco de referência ou sub-blocos de referência para um conjunto de índices de modelo de contexto predefinidos. Este mapeamento pode ser implementado por quantificação do número de níveis de coeficiente de transformada absolutos superiores a dois ou por uma tabela predefinida. Em uma concretização preferida adicional, o modelo de contexto definido para um sub-bloco é derivado a partir da diferença entre o número de níveis de coeficiente de transformada significativos e o número de níveis de coeficiente de transformada absolutos maiores do que dois em um ou mais sub-blocos já codificados. Um índice para o conjunto de modelo de contexto é determinado por mapeamento dessa diferença para um conjunto de índices de modelo de contexto predefinidos. Este mapeamento pode ser implementado por quantificação da diferença entre o número de níveis de coeficiente de transformada significativos e o número de níveis de coeficiente de transformada absolutos superiores a dois ou por uma tabela predefinida.
[080] Em uma outra concretização preferida, mesmo quando a varredura adaptativa é utilizada para processar os níveis de coeficientes de transformada absolutos e os mapas de significância, as estatísticas parciais dos sub-blocos nos mesmos blocos podem ser utilizadas para derivar o modelo de contexto definido para o sub-bloco corrente, ou, se disponível, as estatísticas dos sub-blocos anteriormente codificados nos blocos de previamente codificados podem ser utilizadas. Isso significa que, por exemplo, em vez de utilizar o número absoluto de níveis de coeficiente de transformada absolutos superiores a dois no(s) sub-bloco(s) para a derivação do modelo de contexto, o número de níveis de coeficientes de transformada absolutos já codificados maiores do que dois multiplicado pela relação do número de coeficientes de transformada no(s) sub-bloco (s) e o número de coeficientes de transformada já codificados no(s) sub-bloco (s) é utilizado, ou em vez de utilizar a diferença entre o número de níveis de coeficiente de transformada significativos e o número de coeficiente de transformada absolutos maior do que dois níveis no(s) sub-bloco (s), a diferença entre o número de níveis de coeficiente de transformada significativos já codificados e o número de níveis de coeficiente de transformada absolutos já codificados maior do que dois multiplicado pela relação do número de coeficiente de transformadas no(s) sub-bloco (s) e o número de coeficientes de transformada já codificados no(s) sub-bloco (s) é utilizado.
[081] Para a modelagem de contexto dentro dos sub-blocos, basicamente o inverso da modelagem do contexto do estado da técnica para H.264 pode ser empregado. Isso significa que, mesmo quando a varredura adaptativa é utilizada para processar os níveis de coeficiente de transformada absolutos e o mapa de significância, os níveis de coeficiente de transformada são basicamente codificados em uma ordem de varredura para a frente, em vez de uma ordem de varredura inversa como em H.264. Assim, a comutação de modelo de contexto tem de ser adaptado em conformidade. De acordo com uma concretização, a codificação dos níveis de coeficiente de transformada começa com um primeiro modelo de contexto para os elementos de sintaxe coeff_abs_greater_one e coeff_abs_level_minus_one, e é comutado para o modelo de contexto seguinte no conjunto, quando dois elementos de sintaxe coeff_abs_greater_one iguais a zero foram codificados uma vez que a última comutação do modelo de contexto. Em outras palavras, a escolha de contexto é dependente do número de elementos de sintaxe já codificados coeff_abs_greater_one maiores que zero, na ordem de varredura. O número de modelos de contexto para coeff_abs_greater_one e para coeff_abs_level_minus_one pode ser o mesmo que em H.264.
[082] Assim, as concretizações acima podem ser aplicadas ao campo de processamento de sinais digitais e, em particular, a decodificadores e codificadores de imagem e de vídeo. Em particular, as concretizações acima permitem a codificação de elementos de sintaxe referentes a coeficiente de transformadas em imagem baseada em blocos e codecs de vídeo, com uma modelagem de contexto melhorada para elementos de sintaxe referentes a coeficiente de transformadas que são codificados com um codificador por entropia, que emprega um modelo de probabilidade. Em comparação com o estado da técnica, uma melhor eficiência de codificação é alcançada, em particular para os grandes blocos de transformadas.
[083] Embora alguns aspectos tenham sido descritos no contexto de um aparelho, é evidente que estes aspectos representam também uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma etapa do método, ou uma característica de uma etapa do método. De forma análoga, os aspectos descritos no contexto de uma etapa do método também representam uma descrição de um bloco correspondente ou item ou característica de um aparelho correspondente.
[084] O sinal codificado inventivo para a representação do bloco de transformada ou o mapa de significância, respectivamente, pode ser armazenado em um meio de armazenamento digital ou pode ser transmitido em um meio de transmissão, tal como um meio de transmissão sem fio ou um meio de transmissão com fio, tal como a Internet.
[085] Dependendo dos requisitos de aplicação, certas concretizações da invenção podem ser implementadas em hardware ou em software. A aplicação pode ser realizada utilizando um meio de armazenamento digital, por exemplo, um disquete, um DVD, um Blue-Ray, um CD, uma ROM, uma PROM, uma EPROM, uma EEPROM ou uma memória FLASH, com sinais de controle legíveis eletronicamente armazenados na mesma, que cooperam (ou são capazes de cooperar) com um sistema de computador programável de modo que o respectivo método seja realizado. Portanto, o meio de armazenamento digital pode ser legível por computador.
[086] Algumas concretizações de acordo com a invenção compreendem um suporte de dados com os sinais de controle legíveis eletronicamente, os quais são capazes de cooperar com um sistema de computador programável, de modo que um dos métodos aqui descritos é realizado.
[087] Geralmente, as concretizações do presente invenção podem ser implementadas como um produto de programa de computador com um código de programa, o código de programa sendo operativo para executar um dos métodos em que o produto de programa de computador roda em um computador. O programa de código pode, por exemplo, ser armazenado em uma portadora de leitura óptica.
[088] Outras concretizações incluem o programa de computador para executar um dos métodos descritos no presente documento, armazenado em uma portadora de leitura óptica.
[089] Em outras palavras, uma concretização do método da invenção é, portanto, um programa de computador que tem um código de programa para a realização de um dos métodos aqui descritos, quando o programa de computador é executado em um computador.
[090] Uma concretização adicional dos métodos da invenção é, portanto, um suporte de dados (ou um meio de armazenamento digital, ou um meio legível por computador), que compreende, nele registrados, o programa de computador para executar um dos métodos aqui descritos.
[091] Uma concretização adicional do método da invenção é, assim, um fluxo de dados ou de uma sequência de sinais que representam o programa de computador para a realização de um dos métodos aqui descritos. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido através de um link de comunicação de dados, por exemplo através da Internet.
[092] Uma concretização compreende, além disso, um meio de processamento, por exemplo, um computador ou um dispositivo lógico programável, configurado para ou adaptado para executar um dos métodos aqui descritos.
[093] Uma outra concretização compreende um computador tendo nele instalado um programa de computador para executar um dos métodos aqui descritos.
[094] Em algumas concretizações, um dispositivo lógico programável (por exemplo, um arranjo de portas programável em campo) pode ser usado para realizar algumas ou todas as funcionalidades dos métodos aqui descritos. Em algumas concretizações, um arranjo de portas programável em campo pode cooperar com um microprocessador para executar um dos métodos aqui descritos. Geralmente, os métodos são, de preferência, realizados por qualquer dispositivo de hardware.
[095] As concretizações acima descritas são meramente ilustrativas dos princípios da presente invenção. Entende-se que modificações e variações das disposições e detalhes aqui descritos serão evidentes para outros especialistas na matéria. É intenção, portanto, ser limitada apenas pelo escopo das reivindicações de patente seguintes e não pelos pormenores específicos apresentados a título de descrição e explicação das concretizações da presente invenção.
Claims (18)
1. Aparelho para decodificar um mapa de significância codificado em um fluxo de dados, em que o mapa de significância indica posições de coeficientes de transformada significativos dentro de um bloco de coeficientes de transformada, sendo o aparelho caracterizado porcompreender: um decodificador (250) configurado para extrair sequencialmente elementos de sintaxe do primeiro tipo do fluxo de dados, em que cada um dos elementos de sintaxe do primeiro tipo indica pelo menos, para posições associadas dentro do bloco de coeficientes de transformada (256), se um coeficiente de transformada significativa está presente, e um associador (252) configurado para associar sequencialmente cada um dos elementos de sintaxe do primeiro tipo extraídos com uma respectiva posição associada dentro do bloco de coeficientes de transformada em uma ordem de verificação, sendo que a ordem de verificação relacionada às posições de coeficientes de transformada significativos indicados pelos elementos de sintaxe do primeiro tipo anteriores, em que o decodificador é configurado para extrair os elementos de sintaxe do primeiro tipo com base na decodificação de entropia adaptativa ao contexto com uso de contextos selecionados para os elementos de sintaxe do primeiro tipo, em que um contexto para um elemento de sintaxe atual do primeiro tipo sendo decodificado é determinado com base em um número de posições, em uma vizinhança em relação à posição do elemento de sintaxe atual do primeiro tipo, que são associados a coeficientes de transformada significativos indicados por elementos de sintaxe do primeiro tipo anterior previamente extraídos.
2. Aparelho, de acordo com a reivindicação 1, caracterizado poro aparelho ser configurado para determinar, com base em informações extraídas do fluxo de dados e independente de uma estatística associada a coeficientes de transformada insignificantes, se em uma posição atual que tem um coeficiente de transformada significativo é onde um último coeficiente de transformada significativo está no bloco de coeficientes de transformada.
3. Aparelho, de acordo com a reivindicação 1, caracterizado poro decodificador ser ainda configurado para extrair, a partir do fluxo de dados em relação a uma posição atual do bloco de coeficientes de transformada, um elemento de sintaxe do tipo segundo indicando se a posição atual é onde o último coeficiente de transformada significativo está no bloco de coeficientes de transformada.
4. Aparelho, de acordo com a reivindicação 1, caracterizado poro decodificador ser ainda configurado para extrair do fluxo de dados, subsequente à extração de pelo menos um dos elementos de sintaxe do primeiro tipo, informações relacionadas aos coeficientes de transformada significativos dentro do bloco de coeficientes de transformada, em que o associador está configurado para associar os coeficientes de transformação significativos extraídos com suas respectivas posições no bloco de coeficiente de transformada em uma ordem de verificação de coeficiente, pela qual o bloco de coeficiente de transformada é verificado nos sub-blocos do bloco de coeficiente de transformada de acordo com um modo de varredura de sub-bloco e os coeficientes de transformada dentro dos sub-blocos são verificados em uma ordem de subverificação de posição.
5. Aparelho, de acordo com a reivindicação 1, caracterizado pora vizinhança compreender pelo menos uma posição horizontalmente e/ou verticalmente adjacente ao elemento de sintaxe atual do primeiro tipo.
6. Aparelho, de acordo com a reivindicação 1, caracterizado poro decodificador ser ainda configurado para mapear o número de posições para um índice de contexto que aponta para um conjunto de índices de contexto possíveis.
7. Aparelho, de acordo com a reivindicação 1, caracterizado poro associador ser ainda configurado para associar os elementos de sintaxe do primeiro tipo extraídos com posições do bloco de coeficientes de transformada ao longo de uma sequência de subcaminhos em que os subcaminhos estão localizados em posições que têm distâncias crescentes a partir de uma posição da frequência mais baixa em ambas as direções vertical e horizontal, e em que o associador é configurado para determinar uma direção de cada um dos subcaminhos, ao longo dos quais os elementos de sintaxe do primeiro tipo extraídos estão associados às posições do bloco de coeficientes de transformada, com base em um número de posições dos coeficientes de transformada significativos ao longo de um subcaminho anterior.
8. Aparelho, de acordo com a reivindicação 1, caracterizado poro fluxo de dados compreender pelo menos uma porção associada a amostras de cor.
9. Aparelho, de acordo com a reivindicação 1, caracterizado poro fluxo de dados compreender pelo menos uma porção associada a valores de profundidade relacionados a um mapa de profundidade.
10. Método para decodificar um mapa de significância codificado em um fluxo de dados, em que o mapa de significância indicar posições de coeficientes de transformada significativos dentro de um bloco de coeficientes de transformada, sendo o método caracterizado porcompreender: extrair sequencialmente elementos de sintaxe do primeiro tipo do fluxo de dados, em que cada um dos elementos de sintaxe do primeiro tipo indica pelo menos, para posições associadas dentro do bloco de coeficientes de transformada (256), se um coeficiente de transformada significativa está presente, e associar sequencialmente cada um dos elementos de sintaxe do primeiro tipo extraídos com uma respectiva posição associada dentro do bloco de coeficientes de transformada em uma ordem de verificação, sendo que a ordem de verificação relacionada às posições de coeficientes de transformada significativos indicados pelos elementos de sintaxe do primeiro tipo anteriores, em que os elementos de sintaxe do primeiro tipo são extraídos com base na decodificação de entropia adaptativa ao contexto com uso de contextos selecionados para os elementos de sintaxe do primeiro tipo, em que um contexto para um elemento de sintaxe atual do primeiro tipo sendo decodificado é determinado com base em um número de posições, em uma vizinhança em relação à posição do elemento de sintaxe atual do primeiro tipo, que são associados a coeficientes de transformada significativos indicados por elementos de sintaxe do primeiro tipo anterior previamente extraídos.
11. Aparelho para codificar um mapa de significância indicando posições de coeficientes de transformada significativos dentro de um bloco de coeficientes de transformada em um fluxo de dados, caracterizado poro aparelho ser configurado para sequencialmente codificar elementos de sintaxe do primeiro tipo no fluxo de dados por codificação de entropia, em que cada um dos elementos de sintaxe do primeiro tipo pelo menos indica, para uma posição associada dentro do bloco de coeficientes de transformada, se um coeficiente de transformada significativo está presente, sendo que o aparelho é configurado para sequencialmente codificar cada um dos elementos de sintaxe do primeiro tipo com uma respectiva posição associada dentro do bloco de coeficientes de transformada em uma ordem de verificação, em que a ordem de verificação está relacionada a posições de coeficientes de transformada significativos indicadas por elementos de sintaxe do primeiro tipo anteriores, em que o aparelho é configurado para codificar os elementos de sintaxe do primeiro tipo com base na codificação de entropia adaptativa ao contexto com uso de contextos selecionados para os elementos de sintaxe do primeiro tipo, em que um contexto para um elemento de sintaxe atual do primeiro tipo sendo codificado é determinado com base em um número de posições, em uma vizinhança em relação à posição do elemento de sintaxe atual do primeiro tipo, que são associados a coeficientes de transformada significativos indicados por elementos de sintaxe do primeiro tipo anterior previamente codificados.
12. Aparelho, de acordo com a reivindicação 11, caracterizado poro aparelho ser ainda configurado para codificar, independente de uma estatística de coeficientes de transformada insignificantes, seja na posição atual associada a um coeficiente de transformada significativo, seja situado um último coeficiente de transformada significativo no bloco de coeficientes de transformada.
13. Aparelho, de acordo com a reivindicação 11, caracterizado poro fluxo de dados compreender pelo menos uma porção associada a amostras de cor.
14. Aparelho, de acordo com a reivindicação 11, caracterizado poro fluxo de dados compreender pelo menos uma porção associada a valores de profundidade relacionados a um mapa de profundidade.
15. Fluxo de dados caracterizado porcompreender um mapa de significância codificado indicando as posições de coeficientes de transformada significativos dentro de um bloco de coeficientes de transformada, em que elementos de sintaxe de primeiro tipo são sequencialmente codificados no fluxo de dados por codificação de entropia, os elementos de sintaxe de primeiro tipo indicando pelo menos uma posição associada dentro do bloco de coeficiente de transformada, se um coeficiente de transformada significativo está presente, em que cada um dos elementos de sintaxe de primeiro tipo com uma respectiva posição associada dentro do bloco de coeficientes de transformada é sequencialmente codificado em uma ordem de verificação, sendo que a ordem de verificação é relacionada a posições de coeficientes de transformada significativos indicados pelos elementos de sintaxe do primeiro tipo anteriores, em que os elementos de sintaxe do primeiro tipo são codificados com base na codificação de entropia adaptativa ao contexto com uso de contextos selecionados para os elementos de sintaxe do primeiro tipo, em que um contexto para um elemento de sintaxe atual do primeiro tipo sendo codificado é determinado com base em um número de posições, em uma vizinhança em relação à posição do elemento de sintaxe atual do primeiro tipo, que são associados a coeficientes de transformada significativos indicados por elementos de sintaxe do primeiro tipo anterior previamente codificados.
16. Fluxo de dados, de acordo com a reivindicação 15, caracterizado por ainda compreender um elemento de sintaxe do segundo tipo codificado, indicando informações sobre um último coeficiente de transformada significativo no bloco de coeficientes de transformada.
17. Fluxo de dados, de acordo com a reivindicação 15, caracterizado por o fluxo de dados compreender pelo menos uma porção associada a amostras de cor.
18. Fluxo de dados de acordo com a reivindicação 15, caracterizado por o fluxo de dados compreender pelo menos uma porção associada a valores de profundidade relacionados a um mapa de profundidade.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP2010054822 | 2010-04-13 | ||
EP10159766 | 2010-04-13 | ||
WOPCT/EP2010/054822 | 2010-04-13 | ||
EPEP10159766.4 | 2010-04-13 | ||
BR112012026388-9A BR112012026388B1 (pt) | 2010-04-13 | 2011-04-11 | aparelho para decodificar e aparelho para codificar um mapa de significância, decodificador baseado em transformada, decodificador preditivo, método para decodificar e método para codificar um mapa de significância, fluxo de dados codificado |
PCT/EP2011/055644 WO2011128303A2 (en) | 2010-04-13 | 2011-04-11 | Coding of significance maps and transform coefficient blocks |
Publications (1)
Publication Number | Publication Date |
---|---|
BR122020004415B1 true BR122020004415B1 (pt) | 2021-09-08 |
Family
ID=43989787
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR122020004415-2A BR122020004415B1 (pt) | 2010-04-13 | 2011-04-11 | Codificação de mapas de significância e blocos de coeficiente de transformada |
BR122020004414-4A BR122020004414B1 (pt) | 2010-04-13 | 2011-04-11 | Codificação de mapas de significância e blocos de coeficiente de transformada |
BR112012026388-9A BR112012026388B1 (pt) | 2010-04-13 | 2011-04-11 | aparelho para decodificar e aparelho para codificar um mapa de significância, decodificador baseado em transformada, decodificador preditivo, método para decodificar e método para codificar um mapa de significância, fluxo de dados codificado |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR122020004414-4A BR122020004414B1 (pt) | 2010-04-13 | 2011-04-11 | Codificação de mapas de significância e blocos de coeficiente de transformada |
BR112012026388-9A BR112012026388B1 (pt) | 2010-04-13 | 2011-04-11 | aparelho para decodificar e aparelho para codificar um mapa de significância, decodificador baseado em transformada, decodificador preditivo, método para decodificar e método para codificar um mapa de significância, fluxo de dados codificado |
Country Status (21)
Country | Link |
---|---|
US (25) | US9894368B2 (pt) |
EP (9) | EP3244612B1 (pt) |
JP (12) | JP2013524707A (pt) |
KR (14) | KR102417196B1 (pt) |
CN (25) | CN113556562B (pt) |
BR (3) | BR122020004415B1 (pt) |
CY (1) | CY1119639T1 (pt) |
DK (8) | DK3410716T3 (pt) |
ES (8) | ES2784509T3 (pt) |
FI (1) | FI3435674T3 (pt) |
HR (2) | HRP20220743T1 (pt) |
HU (8) | HUE040296T2 (pt) |
LT (3) | LT2559244T (pt) |
NO (1) | NO2559244T3 (pt) |
PL (8) | PL3410716T3 (pt) |
PT (8) | PT3691267T (pt) |
RS (3) | RS63325B1 (pt) |
SI (3) | SI3435674T1 (pt) |
TR (1) | TR201815695T4 (pt) |
TW (11) | TWI545525B (pt) |
WO (1) | WO2011128303A2 (pt) |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SI3435674T1 (sl) | 2010-04-13 | 2023-10-30 | Ge Video Compression, Llc | Kodiranje map pomembnosti in blokov transformacijskih koeficientov |
SG185371A1 (en) | 2010-04-23 | 2012-12-28 | Soo-Mi Oh | Image encoding device and method |
KR101983380B1 (ko) | 2010-05-12 | 2019-05-28 | 인터디지탈 매디슨 페이튼트 홀딩스 | 통합된 유효성 맵 코딩을 위한 방법 및 장치 |
US9215470B2 (en) | 2010-07-09 | 2015-12-15 | Qualcomm Incorporated | Signaling selected directional transform for video coding |
KR101373814B1 (ko) | 2010-07-31 | 2014-03-18 | 엠앤케이홀딩스 주식회사 | 예측 블록 생성 장치 |
US9497472B2 (en) * | 2010-11-16 | 2016-11-15 | Qualcomm Incorporated | Parallel context calculation in video coding |
US8976861B2 (en) | 2010-12-03 | 2015-03-10 | Qualcomm Incorporated | Separately coding the position of a last significant coefficient of a video block in video coding |
US9042440B2 (en) | 2010-12-03 | 2015-05-26 | Qualcomm Incorporated | Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding |
US9609354B2 (en) | 2010-12-14 | 2017-03-28 | M&K Holdings Inc. | Apparatus for decoding a moving picture |
US20120163456A1 (en) | 2010-12-22 | 2012-06-28 | Qualcomm Incorporated | Using a most probable scanning order to efficiently code scanning order information for a video block in video coding |
US9106913B2 (en) * | 2011-03-08 | 2015-08-11 | Qualcomm Incorporated | Coding of transform coefficients for video coding |
US20120230418A1 (en) | 2011-03-08 | 2012-09-13 | Qualcomm Incorporated | Coding of transform coefficients for video coding |
CN102685503B (zh) * | 2011-03-10 | 2014-06-25 | 华为技术有限公司 | 变换系数的编码方法、变换系数的解码方法,和装置 |
US9167253B2 (en) | 2011-06-28 | 2015-10-20 | Qualcomm Incorporated | Derivation of the position in scan order of the last significant transform coefficient in video coding |
US9756360B2 (en) | 2011-07-19 | 2017-09-05 | Qualcomm Incorporated | Coefficient scanning in video coding |
JP2014523710A (ja) * | 2011-07-22 | 2014-09-11 | モトローラ モビリティ エルエルシー | ビデオ・コーディングにおける直交形状変換をスキャンするためのデバイスおよび方法 |
AU2011236109B2 (en) * | 2011-10-18 | 2015-02-19 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit |
ES2496365T3 (es) * | 2011-10-24 | 2014-09-18 | Blackberry Limited | Codificación y descodificación de mapas significativos usando selección de la partición |
US8891630B2 (en) | 2011-10-24 | 2014-11-18 | Blackberry Limited | Significance map encoding and decoding using partition set based context assignment |
EP3846479B1 (en) * | 2011-10-31 | 2024-07-03 | Samsung Electronics Co., Ltd. | Determining a context model for transform coefficient level entropy encoding |
US8964849B2 (en) | 2011-11-01 | 2015-02-24 | Blackberry Limited | Multi-level significance maps for encoding and decoding |
CN109120927B (zh) * | 2011-11-04 | 2021-05-18 | 夏普株式会社 | 图像解码装置、图像解码方法以及图像编码装置 |
WO2013063800A1 (en) * | 2011-11-04 | 2013-05-10 | Mediatek Inc. | Methods and apparatuses of solving mdcs parsing issue |
KR20130050404A (ko) | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 복원 블록 생성 방법 |
US10390046B2 (en) | 2011-11-07 | 2019-08-20 | Qualcomm Incorporated | Coding significant coefficient information in transform skip mode |
JP6120490B2 (ja) | 2011-11-07 | 2017-04-26 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
KR20130050405A (ko) * | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 시간 후보자 결정방법 |
US9154792B2 (en) * | 2011-11-08 | 2015-10-06 | Qualcomm Incorporated | Progressive coding of position of last significant coefficient |
CA2773990C (en) | 2011-11-19 | 2015-06-30 | Research In Motion Limited | Multi-level significance map scanning |
WO2013077713A1 (ko) * | 2011-11-27 | 2013-05-30 | 엘지전자 주식회사 | 변환 계수 재정렬 방법 및 이를 이용하는 장치 |
US9350996B2 (en) | 2011-12-20 | 2016-05-24 | Google Technology Holdings LLC | Method and apparatus for last coefficient indexing for high efficiency video coding |
WO2013094199A1 (ja) * | 2011-12-21 | 2013-06-27 | パナソニック株式会社 | 画像符号化方法、画像符号化装置、画像復号化方法、画像復号化装置、および画像符号化復号化装置 |
CN108600761B (zh) * | 2012-01-03 | 2020-05-08 | 寰发股份有限公司 | 重要性群组旗标编码方法与装置 |
US9253481B2 (en) * | 2012-01-13 | 2016-02-02 | Qualcomm Incorporated | Determining contexts for coding transform coefficient data in video coding |
US9191670B2 (en) * | 2012-01-17 | 2015-11-17 | Qualcomm Incorporated | Throughput improvement for CABAC coefficient level coding |
US9584812B2 (en) | 2012-01-20 | 2017-02-28 | Blackberry Limited | Methods and devices for context set selection |
EP2621175B1 (en) * | 2012-01-20 | 2019-12-25 | BlackBerry Limited | Methods and devices for context modeling to enable modular processing |
EP2618570B1 (en) * | 2012-01-20 | 2017-12-13 | BlackBerry Limited | Method and devices for context set selection |
US9008184B2 (en) | 2012-01-20 | 2015-04-14 | Blackberry Limited | Multiple sign bit hiding within a transform unit |
KR20130086004A (ko) * | 2012-01-20 | 2013-07-30 | 삼성전자주식회사 | 병렬 처리가 가능한 엔트로피 부호화 방법 및 장치, 병렬 처리가 가능한 엔트로피 복호화 방법 및 장치 |
WO2013107908A1 (en) | 2012-01-20 | 2013-07-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Transform coefficient coding |
US9008189B2 (en) | 2012-01-20 | 2015-04-14 | Blackberry Limited | Methods and devices for context modeling to enable modular processing |
US9866829B2 (en) | 2012-01-22 | 2018-01-09 | Qualcomm Incorporated | Coding of syntax elements that correspond to coefficients of a coefficient block in video coding |
US9363510B2 (en) * | 2012-03-02 | 2016-06-07 | Qualcomm Incorporated | Scan-based sliding window in context derivation for transform coefficient coding |
US9491463B2 (en) | 2012-04-14 | 2016-11-08 | Qualcomm Incorporated | Group flag in transform coefficient coding for video coding |
US9124872B2 (en) | 2012-04-16 | 2015-09-01 | Qualcomm Incorporated | Coefficient groups and coefficient coding for coefficient scans |
US9350998B2 (en) * | 2012-06-29 | 2016-05-24 | Qualcomm Incorporated | Coding of significance flags |
CA2807919C (en) | 2012-08-31 | 2016-06-14 | Research In Motion Limited | Methods and devices for entropy coding in scalable video compression |
US9538175B2 (en) | 2012-09-26 | 2017-01-03 | Qualcomm Incorporated | Context derivation for context-adaptive, multi-level significance coding |
JPWO2014049982A1 (ja) * | 2012-09-28 | 2016-08-22 | 三菱電機株式会社 | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
KR102187179B1 (ko) | 2012-10-01 | 2020-12-04 | 지이 비디오 컴프레션, 엘엘씨 | 향상 레이어 예측에 대한 인터-레이어 예측 기여를 이용한 스케일러블 비디오 코딩 |
CN104272735B (zh) * | 2013-01-16 | 2018-04-13 | 黑莓有限公司 | 针对视频的上下文自适应二进制熵编码的变换系数编码 |
GB2513110A (en) * | 2013-04-08 | 2014-10-22 | Sony Corp | Data encoding and decoding |
WO2014167730A1 (ja) * | 2013-04-12 | 2014-10-16 | 富士通株式会社 | 圧縮装置、圧縮方法、および圧縮プログラム |
ITTO20130629A1 (it) * | 2013-07-24 | 2015-01-25 | Sisvel Technology Srl | Method for encoding an image descriptor based on a gradient histogram and relative image processing apparatus |
US9445132B2 (en) | 2013-09-09 | 2016-09-13 | Qualcomm Incorporated | Two level last significant coefficient (LSC) position coding |
CN105637869B (zh) * | 2013-10-16 | 2020-09-04 | 华为技术有限公司 | 用于确定视频译码块的分区的角落视频部分的方法 |
WO2015101640A1 (en) | 2014-01-03 | 2015-07-09 | Ge Video Compression, Llc | Wedgelet-based coding concept |
KR102257379B1 (ko) * | 2014-07-22 | 2021-06-01 | 삼성전자주식회사 | 비디오 인코딩 회로 및 그것을 이용하는 비디오 인코딩 방법 |
TWI561060B (en) * | 2015-01-15 | 2016-12-01 | Mstar Semiconductor Inc | Signal processing apparatus and signal processing method including quantization or inverse-quantization process |
US9781424B2 (en) * | 2015-01-19 | 2017-10-03 | Google Inc. | Efficient context handling in arithmetic coding |
US10520579B2 (en) * | 2015-05-12 | 2019-12-31 | HERE Global, B.V. | Compressing and decompressing data about radio signals |
US10805644B2 (en) * | 2015-09-08 | 2020-10-13 | Samsung Electronics Co., Ltd. | Device and method for entropy encoding and decoding |
EP3412028B1 (en) | 2016-02-12 | 2024-04-03 | Huawei Technologies Co., Ltd. | Method and apparatus for scan order selection |
SG11201806811TA (en) * | 2016-02-12 | 2018-09-27 | Huawei Tech Co Ltd | Method and apparatus for scan order selection |
US10708164B2 (en) * | 2016-05-03 | 2020-07-07 | Qualcomm Incorporated | Binarizing secondary transform index |
GB2557335A (en) * | 2016-12-07 | 2018-06-20 | Sony Corp | Image data encoding and decoding |
KR20180089290A (ko) | 2017-01-31 | 2018-08-08 | 세종대학교산학협력단 | 영상의 부호화/복호화 방법 및 장치 |
WO2018143670A1 (ko) * | 2017-01-31 | 2018-08-09 | 세종대학교 산학협력단 | 영상의 부호화/복호화 방법 및 장치 |
US11405645B2 (en) * | 2017-02-28 | 2022-08-02 | Google Llc | Transform kernel selection and entropy coding |
JP2018182444A (ja) * | 2017-04-07 | 2018-11-15 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム |
KR102424411B1 (ko) * | 2017-04-13 | 2022-07-25 | 엘지전자 주식회사 | 영상의 부호화/복호화 방법 및 이를 위한 장치 |
CA3222632A1 (en) | 2017-04-13 | 2018-10-18 | Lg Electronics Inc. | Method and device for entropy encoding and decoding video signal |
US11477492B2 (en) * | 2017-08-04 | 2022-10-18 | Google Inc. | Adaptation for entropy coding of blocks of image data |
WO2019050299A1 (ko) * | 2017-09-06 | 2019-03-14 | 가온미디어 주식회사 | 변화계수 서브그룹 스캐닝 방법에 따른 부/복호화 방법 및 장치 |
US10523968B2 (en) * | 2017-09-18 | 2019-12-31 | Google Llc | Coding of last significant coefficient flags |
EP3490253A1 (en) * | 2017-11-23 | 2019-05-29 | Thomson Licensing | Encoding and decoding methods and corresponding devices |
CN109874012B (zh) * | 2017-12-04 | 2020-09-11 | 北京金山云网络技术有限公司 | 一种视频编码方法、编码器、电子设备及介质 |
EP3503557A1 (en) | 2017-12-22 | 2019-06-26 | Thomson Licensing | Method and apparatus for video encoding and decoding based on context switching |
CN116600142A (zh) | 2018-03-27 | 2023-08-15 | 株式会社Kt | 对图像进行解码或编码的方法以及图像数据的传送方法 |
EP3562156A1 (en) * | 2018-04-27 | 2019-10-30 | InterDigital VC Holdings, Inc. | Method and apparatus for adaptive context modeling in video encoding and decoding |
CN110650343B (zh) * | 2018-06-27 | 2024-06-07 | 中兴通讯股份有限公司 | 图像的编码、解码方法及装置、电子设备及系统 |
US11019346B2 (en) * | 2018-07-02 | 2021-05-25 | Qualcomm Incorporated | Coefficient coding with grouped bypass remaining levels for dependent quantization |
KR102668688B1 (ko) | 2018-07-23 | 2024-05-24 | 삼성디스플레이 주식회사 | 유기 발광 소자 |
CN117729332A (zh) * | 2018-09-24 | 2024-03-19 | 弗劳恩霍夫应用研究促进协会 | 使用或适用于与依赖标量量化的组合的变换系数的有效编码 |
US11006150B2 (en) * | 2018-09-24 | 2021-05-11 | Tencent America LLC | Method and apparatus for video coding |
CN112806017B (zh) * | 2018-10-05 | 2024-03-15 | Tcl王牌电器(惠州)有限公司 | 用于编码变换系数的方法和设备 |
WO2020073884A1 (en) * | 2018-10-08 | 2020-04-16 | Mediatek Singapore Pte. Ltd. | Method and apparatus of last significant coefficient coding in image and video coding |
BR122021011813A2 (pt) * | 2018-11-12 | 2021-08-10 | Lg Electronics Inc. | Método de decodificação de imagens através de um aparelho de decodificação, método de codificação de imagens através de um aparelho de codificação e mídia de armazenamento legível por computador não transitória |
KR20210107118A (ko) * | 2019-01-02 | 2021-08-31 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 통합된 변환 타입 시그널링 및 변환 타입 종속 변환 계수 레벨 코딩 |
US11677955B2 (en) | 2019-01-15 | 2023-06-13 | Lg Electronics Inc. | Image decoding method for coding residual information on basis of high frequency zeroing in image coding system, and device therefor |
WO2020166977A1 (ko) * | 2019-02-12 | 2020-08-20 | 엘지전자 주식회사 | 비디오 신호를 처리하기 위한 방법 및 장치 |
KR102661468B1 (ko) | 2019-02-15 | 2024-04-30 | 삼성디스플레이 주식회사 | 유기 발광 소자 및 이를 포함한 전자 장치 |
US10986334B2 (en) * | 2019-03-09 | 2021-04-20 | Tencent America LLC | Method and apparatus for video coding |
US11218735B2 (en) * | 2019-04-02 | 2022-01-04 | Qualcomm Incorporated | Context derivation for last position coding for video coding |
KR102211000B1 (ko) * | 2019-06-21 | 2021-02-02 | 삼성전자주식회사 | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 |
US11949870B2 (en) * | 2019-06-21 | 2024-04-02 | Qualcomm Incorporated | Context modeling for low-frequency non-separable transformation signaling for video coding |
KR20210059153A (ko) | 2019-11-14 | 2021-05-25 | 삼성디스플레이 주식회사 | 유기 발광 소자 및 이를 포함한 장치 |
US11336893B2 (en) * | 2020-01-07 | 2022-05-17 | Qualcomm Incorporated | Context derivation and entropy coding initialization parameters for coordinates of last position coding in video coding |
EP4107960A4 (en) * | 2020-02-25 | 2024-03-27 | HFI Innovation Inc. | METHOD AND DEVICE FOR SIGNALING A SECONDARY TRANSFORMATION IN VIDEO CODING |
KR20210136224A (ko) | 2020-05-06 | 2021-11-17 | 삼성디스플레이 주식회사 | 발광 소자 및 이를 포함하는 전자 장치 |
US11425368B1 (en) * | 2021-02-17 | 2022-08-23 | Adobe Inc. | Lossless image compression using block based prediction and optimized context adaptive entropy coding |
CN113079377B (zh) * | 2021-04-01 | 2022-09-30 | 中国科学技术大学 | 一种深度图像/视频压缩网络的训练方法 |
Family Cites Families (154)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6563875B2 (en) * | 1987-12-30 | 2003-05-13 | Thomson Licensing S.A. | Adaptive method of encoding and decoding a series of pictures by transformation, and devices for implementing this method |
US5021891A (en) * | 1990-02-27 | 1991-06-04 | Qualcomm, Inc. | Adaptive block size image compression method and system |
NL9100234A (nl) | 1991-02-11 | 1992-09-01 | Philips Nv | Codeerschakeling voor transformatiecodering van een beeldsignaal en decodeerschakeling voor het decoderen daarvan. |
KR960006762B1 (ko) | 1992-02-29 | 1996-05-23 | 삼성전자주식회사 | 화상부호화를 위한 효율적인 2차원 데이타의 주사선택회로 |
US5734755A (en) * | 1994-03-11 | 1998-03-31 | The Trustees Of Columbia University In The City Of New York | JPEG/MPEG decoder-compatible optimized thresholding for image and video signal compression |
US6873734B1 (en) | 1994-09-21 | 2005-03-29 | Ricoh Company Ltd | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream |
CN100539695C (zh) * | 1996-05-28 | 2009-09-09 | 松下电器产业株式会社 | 图像预测编码/解码装置和方法以及记录媒体 |
EP0817494A3 (en) * | 1996-06-28 | 1998-07-22 | Oki Electric Industry Co., Ltd. | Image coding method and apparatus |
US5793314A (en) * | 1996-07-03 | 1998-08-11 | Motorola, Inc. | Method and apparatus for bound-based adaptive entropy encoding/decoding |
AU714554B2 (en) * | 1996-07-17 | 2000-01-06 | Sony Corporation | Image coding and decoding using mapping coefficients corresponding to class information of pixel blocks |
AUPO472897A0 (en) | 1997-01-22 | 1997-02-20 | Canon Information Systems Research Australia Pty Ltd | A method for digital image compression |
US6002812A (en) * | 1997-07-10 | 1999-12-14 | Samsung Electronics Co., Ltd. | Interpolation method for binary image |
SE512291C2 (sv) | 1997-09-23 | 2000-02-28 | Ericsson Telefon Ab L M | Inbäddad DCT-baserad stillbildskodningsalgoritm |
AUPO951497A0 (en) * | 1997-09-29 | 1997-10-23 | Canon Information Systems Research Australia Pty Ltd | A method for data compression |
KR20010072420A (ko) * | 1998-08-13 | 2001-07-31 | 벤자민 에프 커틀러 | 이미지 프로세싱 동안에 2차원 변환을 실행하기 위한 회로및 방법 |
US6611620B1 (en) * | 1998-08-28 | 2003-08-26 | Matsushita Electric Industrial Co. Ltd. | Reversible coding method, reversible coding apparatus, and memory medium used therein |
BR9915880A (pt) * | 1998-12-04 | 2001-09-11 | Gen Instrument Corp | Aperfeiçoamento da capacidade escalar de fina granularidade usando codificação de plano de bits de coeficientes de transformação |
US6680974B1 (en) * | 1999-12-02 | 2004-01-20 | Lucent Technologies Inc. | Methods and apparatus for context selection of block transform coefficients |
US6658159B1 (en) * | 2000-03-17 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Block entropy coding in embedded block coding with optimized truncation image compression |
AUPQ982400A0 (en) * | 2000-09-01 | 2000-09-28 | Canon Kabushiki Kaisha | Entropy encoding and decoding |
JP4612782B2 (ja) * | 2000-09-27 | 2011-01-12 | キヤノン株式会社 | 画像処理装置、及びその方法、並びにプログラム、記憶媒体 |
US6757429B2 (en) * | 2001-02-21 | 2004-06-29 | Boly Media Communications Inc. | Method of compressing digital images |
US20020118885A1 (en) * | 2001-02-27 | 2002-08-29 | Bernard Smeets | Font compression and retrieval |
US6856701B2 (en) * | 2001-09-14 | 2005-02-15 | Nokia Corporation | Method and system for context-based adaptive binary arithmetic coding |
CN1874509B (zh) * | 2001-09-14 | 2014-01-15 | 诺基亚有限公司 | 基于上下文的自适应二进制算术编码的方法和系统 |
DE10218541A1 (de) * | 2001-09-14 | 2003-04-24 | Siemens Ag | Verfahren zur Videocodierung und Computerprogrammprodukt |
US6882685B2 (en) * | 2001-09-18 | 2005-04-19 | Microsoft Corporation | Block transform and quantization for image and video coding |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
KR100468844B1 (ko) * | 2002-01-07 | 2005-01-29 | 삼성전자주식회사 | 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법 |
EP1333679B1 (en) * | 2002-02-05 | 2004-04-14 | Siemens Aktiengesellschaft | Data compression |
US6909808B2 (en) | 2002-03-08 | 2005-06-21 | Anzus, Inc. | Image compression to enhance optical correlation |
US7295610B2 (en) * | 2002-03-27 | 2007-11-13 | Scientific-Atlanta, Inc. | Hybrid rate control in a digital stream transcoder |
JP4090862B2 (ja) * | 2002-04-26 | 2008-05-28 | 松下電器産業株式会社 | 可変長符号化方法および可変長復号化方法 |
JP3944225B2 (ja) * | 2002-04-26 | 2007-07-11 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム |
JP4185047B2 (ja) | 2002-04-30 | 2008-11-19 | ノキア シーメンス ネットワークス ゲゼルシャフト ミット ベシュレンクテル ハフツング ウント コンパニー コマンディトゲゼルシャフト | 搬送周波数出力信号の振幅を制限する方法 |
EP1487113B1 (de) * | 2002-05-02 | 2006-10-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Kodierung und Dekodierung von Transformationskoeffizienten in Bild- oder Videokodierern |
FR2840093B1 (fr) * | 2002-05-27 | 2006-02-10 | Real Eyes 3D | Procede de numerisation par camera avec correction de la deformation et amelioration de la resolution |
DK1400954T3 (da) * | 2002-09-04 | 2008-03-31 | Microsoft Corp | Entropi-kodning ved tilpasning af kodning mellem niveau- og runlængde/niveau-moduser |
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 |
US20040151394A1 (en) * | 2003-01-31 | 2004-08-05 | Mikael Soderberg | Symmetrical, highly deterministic, low complexity, temporal transform video codec and vehicle distribution system incorporating same |
US6894628B2 (en) | 2003-07-17 | 2005-05-17 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables |
KR100683169B1 (ko) | 2003-08-29 | 2007-02-15 | 주식회사 엑스씨이 | 휴대폰 벨소리 제어 시스템 및 그 방법 |
US7286710B2 (en) * | 2003-10-01 | 2007-10-23 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Coding of a syntax element contained in a pre-coded video signal |
JP2005117196A (ja) | 2003-10-03 | 2005-04-28 | Matsushita Electric Ind Co Ltd | 映像符号化方法 |
JP4063205B2 (ja) * | 2003-11-20 | 2008-03-19 | セイコーエプソン株式会社 | 画像データ圧縮装置及びエンコーダ |
US7379608B2 (en) * | 2003-12-04 | 2008-05-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Arithmetic coding for transforming video and picture data units |
KR100896684B1 (ko) * | 2004-01-27 | 2009-05-14 | 삼성전자주식회사 | 수신 성능이 향상된 디지털 방송 송수신 시스템 및 그의신호처리방법 |
US20050185711A1 (en) | 2004-02-20 | 2005-08-25 | Hanspeter Pfister | 3D television system and method |
US20050193485A1 (en) * | 2004-03-02 | 2005-09-08 | Wolfe Michael L. | Machine for anticipatory sensing and intervention to avoid swimmer entrapment |
WO2005094109A1 (en) | 2004-03-18 | 2005-10-06 | Nokia Corporation | Position-based context awareness for mobile terminal device |
US20050206741A1 (en) * | 2004-03-19 | 2005-09-22 | Raber Gregory W | Law enforcement vehicle surveillance system |
US7519229B2 (en) | 2004-03-30 | 2009-04-14 | Apple, Inc. | Video coding system providing separate coding chains for dynamically selected small-size or full-size playback |
US7292257B2 (en) * | 2004-06-28 | 2007-11-06 | Microsoft Corporation | Interactive viewpoint video system and process |
US20060008009A1 (en) * | 2004-07-09 | 2006-01-12 | Nokia Corporation | Method and system for entropy coding for scalable video codec |
CN1860796B (zh) * | 2004-07-12 | 2010-06-16 | 索尼株式会社 | 编码方法、编码装置、解码方法、及解码装置 |
KR100612015B1 (ko) * | 2004-07-22 | 2006-08-11 | 삼성전자주식회사 | 컨텍스트 적응형 이진 산술 부호화 방법 및 그 장치 |
US7505043B2 (en) | 2004-08-30 | 2009-03-17 | Qualcomm Incorporated | Cache efficient rasterization of graphics data |
KR100647294B1 (ko) | 2004-11-09 | 2006-11-23 | 삼성전자주식회사 | 화상 데이터 부호화 및 복호화 방법 및 장치 |
US8311119B2 (en) * | 2004-12-31 | 2012-11-13 | Microsoft Corporation | Adaptive coefficient scan order |
US20060153294A1 (en) * | 2005-01-12 | 2006-07-13 | Nokia Corporation | Inter-layer coefficient coding for scalable video coding |
CA2590705A1 (en) * | 2005-01-14 | 2006-07-20 | Sungkyunkwan University | Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding |
KR100636229B1 (ko) * | 2005-01-14 | 2006-10-19 | 학교법인 성균관대학 | 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치 |
CN100345449C (zh) * | 2005-03-18 | 2007-10-24 | 清华大学 | 图像/视频编码中变换系数的熵编码方法 |
KR100703776B1 (ko) | 2005-04-19 | 2007-04-06 | 삼성전자주식회사 | 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치 |
US7620252B2 (en) * | 2005-04-22 | 2009-11-17 | Hewlett-Packard Development Company, L.P. | System and method for compressing an image |
EP1879401A4 (en) | 2005-05-03 | 2012-03-28 | Panasonic Corp | DYNAMIC IMAGE ENCODING METHOD, DYNAMIC IMAGE DECODING METHOD, AND DEVICE THEREFOR |
EP1768415A1 (en) * | 2005-09-27 | 2007-03-28 | Matsushita Electric Industrial Co., Ltd. | Adaptive scan order of DCT coefficients and its signaling |
KR20060119736A (ko) | 2005-05-19 | 2006-11-24 | 엘지전자 주식회사 | 영상 신호의 인코딩 방법 |
EP1882367A4 (en) * | 2005-05-19 | 2010-11-10 | Lg Electronics Inc | METHOD FOR ENCODING / DECODING VIDEO DATA |
CN1719903A (zh) * | 2005-06-24 | 2006-01-11 | 清华大学 | 用于图象算术编码中的一种二值化和概率模型选择方法 |
US20090123066A1 (en) * | 2005-07-22 | 2009-05-14 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein, |
US8599925B2 (en) * | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
US7791300B2 (en) | 2005-09-21 | 2010-09-07 | Mitsubishi Denki Kabushiki Kaisha | Excessive temperature detecting system of electric motor controller |
WO2007035056A1 (en) * | 2005-09-26 | 2007-03-29 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy encoding and entropy decoding fine-granularity scalability layer video data |
TW200719726A (en) * | 2005-09-27 | 2007-05-16 | Qualcomm Inc | Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information |
KR100873636B1 (ko) * | 2005-11-14 | 2008-12-12 | 삼성전자주식회사 | 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치 |
CN100488254C (zh) * | 2005-11-30 | 2009-05-13 | 联合信源数字音视频技术(北京)有限公司 | 一种基于上下文的熵编码方法及解码方法 |
US8023569B2 (en) | 2005-12-15 | 2011-09-20 | Sharp Laboratories Of America, Inc. | Methods and systems for block-based residual upsampling |
EP2983370A1 (en) | 2006-01-09 | 2016-02-10 | Matthias Narroschke | Adaptive coding of the prediction error in hybrid video coding |
CN101390398A (zh) * | 2006-01-09 | 2009-03-18 | 诺基亚公司 | 用于精细粒度可伸缩视频编码中的熵编码的方法和装置 |
AU2007205227B2 (en) * | 2006-01-09 | 2012-02-16 | Dolby International Ab | Method and apparatus for providing reduced resolution update mode for multi-view video coding |
US7983343B2 (en) * | 2006-01-12 | 2011-07-19 | Lsi Corporation | Context adaptive binary arithmetic decoding for high definition video |
WO2007079782A1 (en) * | 2006-01-13 | 2007-07-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Quality scalable picture coding with particular transform coefficient scan path |
JP4848785B2 (ja) | 2006-02-07 | 2011-12-28 | 株式会社明電舎 | インバータ装置の過負荷保護装置 |
US7488921B2 (en) | 2006-02-27 | 2009-02-10 | Honeywell International Inc. | Adaptive startup control method for electric drives |
JP5017555B2 (ja) | 2006-04-10 | 2012-09-05 | 株式会社メガチップス | 画像符号化装置及び画像復号化装置 |
TWI323133B (en) | 2006-05-08 | 2010-04-01 | Ind Tech Res Inst | Method and system for data and video coding |
CN101106721A (zh) * | 2006-07-10 | 2008-01-16 | 华为技术有限公司 | 一种编解码装置及相关编码器 |
US8275045B2 (en) * | 2006-07-12 | 2012-09-25 | Qualcomm Incorporated | Video compression using adaptive variable length codes |
US20080013624A1 (en) * | 2006-07-14 | 2008-01-17 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video signal of fgs layer by reordering transform coefficients |
US7903894B2 (en) * | 2006-10-05 | 2011-03-08 | Microsoft Corporation | Color image coding using inter-color correlation |
US8565314B2 (en) | 2006-10-12 | 2013-10-22 | Qualcomm Incorporated | Variable length coding table selection based on block type statistics for refinement coefficient coding |
US8019018B2 (en) * | 2006-10-12 | 2011-09-13 | Powerwave Cognition, Inc. | Determining a mode to transmit data |
US8090194B2 (en) | 2006-11-21 | 2012-01-03 | Mantis Vision Ltd. | 3D geometric modeling and motion capture using both single and dual imaging |
JP2008141382A (ja) | 2006-11-30 | 2008-06-19 | Sony Corp | 符号化装置および方法、並びにプログラム |
DE102006061647B3 (de) * | 2006-12-27 | 2008-08-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Kodieren eines Transformationskoeffizientenblockes |
EP2105025B1 (en) * | 2007-01-11 | 2021-04-07 | InterDigital VC Holdings, Inc. | Methods and apparatus for using syntax for the coded_block_flag syntax element and the coded_block_pattern syntax element for the cavlc 4:4:4 intra, high 4:4:4 intra, and high 4:4:4 predictive profiles in mpeg-4 avc high level coding |
EP2123052B1 (en) * | 2007-01-18 | 2010-11-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Quality scalable video data stream |
CN100508610C (zh) * | 2007-02-02 | 2009-07-01 | 清华大学 | H.264/avc视频编码中速率和失真的快速估计方法 |
DE202007002071U1 (de) | 2007-02-13 | 2007-06-14 | Trw Automotive Electronics & Components Gmbh & Co. Kg | Befestigungsvorrichtung |
US8184710B2 (en) * | 2007-02-21 | 2012-05-22 | Microsoft Corporation | Adaptive truncation of transform coefficient data in a transform-based digital media codec |
KR101356733B1 (ko) * | 2007-03-07 | 2014-02-05 | 삼성전자주식회사 | 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치 |
MX2009009489A (es) | 2007-03-13 | 2009-11-05 | Nokia Corp | Sistema y método para codificación y decodificación de video. |
CA2895855C (en) * | 2007-03-20 | 2018-09-11 | Fujitsu Limited | Video encoding and decoding apparatus and method using quantization in sub-blocks |
WO2008118145A1 (en) * | 2007-03-23 | 2008-10-02 | Thomson Licensing | Modifying a coded bitstream |
KR20080086766A (ko) | 2007-03-23 | 2008-09-26 | 삼성전자주식회사 | 픽셀 단위의 컨텍스트 모델을 이용한 영상의 부호화,복호화 방법 및 장치 |
US7772716B2 (en) | 2007-03-27 | 2010-08-10 | Newdoll Enterprises Llc | Distributed maximum power point tracking system, structure and process |
FR2915034B1 (fr) | 2007-04-12 | 2009-06-05 | Schneider Toshiba Inverter | Methode et systeme de gestion de la temperature dans un variateur de vitesse |
US8447123B2 (en) * | 2007-04-20 | 2013-05-21 | Thomson Licensing | Method and apparatus for selecting a scan path for the elements of a block in spatial domain picture encoding and decoding |
US7885473B2 (en) * | 2007-04-26 | 2011-02-08 | Texas Instruments Incorporated | Method of CABAC coefficient magnitude and sign decoding suitable for use on VLIW data processors |
US8031954B2 (en) * | 2007-04-26 | 2011-10-04 | Canon Kabushiki Kaisha | Image encoding apparatus and control method thereof using prediction encoding and pixel classification |
US7813567B2 (en) * | 2007-04-26 | 2010-10-12 | Texas Instruments Incorporated | Method of CABAC significance MAP decoding suitable for use on VLIW data processors |
CN101039430B (zh) * | 2007-05-08 | 2011-01-12 | 清华大学 | 一种视频编码中对残差矩阵的快速扫描方法 |
US8194119B2 (en) | 2007-05-10 | 2012-06-05 | Chroma3D Systems, Inc. | Display of generalized anaglyphs without retinal rivalry |
RU2010100485A (ru) * | 2007-06-12 | 2011-07-20 | Нокиа Корпорейшн (Fi) | Совместное кодирование множества блоков преобразования с уменьшенным количеством коэффициентов |
US8571104B2 (en) | 2007-06-15 | 2013-10-29 | Qualcomm, Incorporated | Adaptive coefficient scanning in video coding |
US8488668B2 (en) * | 2007-06-15 | 2013-07-16 | Qualcomm Incorporated | Adaptive coefficient scanning for video coding |
JPWO2009001793A1 (ja) | 2007-06-26 | 2010-08-26 | 株式会社東芝 | 画像符号化と画像復号化の方法及び装置 |
US7755313B2 (en) | 2007-09-12 | 2010-07-13 | Gm Global Technology Operations, Inc. | Power inverter module thermal management |
US8265162B2 (en) * | 2007-10-01 | 2012-09-11 | Cisco Technology, Inc. | Context adaptive position and amplitude coding of coefficients for video compression |
US8204327B2 (en) * | 2007-10-01 | 2012-06-19 | Cisco Technology, Inc. | Context adaptive hybrid variable length coding |
US8483282B2 (en) | 2007-10-12 | 2013-07-09 | Qualcomm, Incorporated | Entropy coding of interleaved sub-blocks of a video block |
KR101394153B1 (ko) * | 2007-12-11 | 2014-05-16 | 삼성전자주식회사 | 양자화 방법 및 장치, 역양자화 방법 및 장치 |
BRPI0821803A2 (pt) | 2007-12-21 | 2015-06-16 | Koninkl Philips Electronics Nv | Método para transferir dados de imagem a partir de um servidor para pelo menos um cliente, meio legível de computador para uso por um computador, e, sistemas para transferir dados de imagem e para transferir imagens a partir de um servidor para um cliente |
CN101217615B (zh) * | 2007-12-27 | 2011-04-06 | 北京中星微电子有限公司 | 一种压缩图像比特率控制的方法及装置 |
US8891615B2 (en) * | 2008-01-08 | 2014-11-18 | Qualcomm Incorporated | Quantization based on rate-distortion modeling for CABAC coders |
US9008171B2 (en) * | 2008-01-08 | 2015-04-14 | Qualcomm Incorporated | Two pass quantization for CABAC coders |
KR100950417B1 (ko) * | 2008-01-16 | 2010-03-29 | 에스케이 텔레콤주식회사 | 방향성 필터링 기반 웨이블렛 변환에서 문맥 모델링 방법및 웨이블렛 코딩 장치와 이를 위한 기록 매체 |
KR20090097013A (ko) * | 2008-03-10 | 2009-09-15 | 삼성전자주식회사 | 영상 부호화장치 및 영상 복호화장치 |
KR20090097689A (ko) | 2008-03-12 | 2009-09-16 | 삼성전자주식회사 | 영상의 인트라 예측 부호화/복호화 방법 및 장치 |
KR101375668B1 (ko) * | 2008-03-17 | 2014-03-18 | 삼성전자주식회사 | 변환 계수의 부호화, 복호화 방법 및 장치 |
US8902972B2 (en) * | 2008-04-11 | 2014-12-02 | Qualcomm Incorporated | Rate-distortion quantization for context-adaptive variable length coding (CAVLC) |
JP4962400B2 (ja) * | 2008-04-30 | 2012-06-27 | ソニー株式会社 | 算術復号装置 |
US8179974B2 (en) * | 2008-05-02 | 2012-05-15 | Microsoft Corporation | Multi-level representation of reordered transform coefficients |
US8254470B2 (en) | 2008-06-03 | 2012-08-28 | Rovi Solutions Corporation | Encoding and decoding of embedded data stream in analog video using copy protection pulses |
KR20090129926A (ko) * | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
US7999403B2 (en) | 2008-06-24 | 2011-08-16 | General Electric Company | System and method for locomotive engine cranking |
EP2154894A1 (en) | 2008-08-15 | 2010-02-17 | Thomson Licensing | Video coding with coding of the locations of significant coefficients in a block of coefficients |
US8406307B2 (en) * | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
CN101355700B (zh) * | 2008-09-09 | 2010-06-02 | 北京大学软件与微电子学院 | 一种并行类熵编码方法及其装置 |
AU2009298559B2 (en) * | 2008-10-03 | 2014-08-21 | Qualcomm Incorporated | Video coding using transforms bigger than 4x4 and 8x8 |
EP2182732A1 (en) | 2008-10-28 | 2010-05-05 | Panasonic Corporation | Switching between scans in image coding |
KR100936208B1 (ko) | 2008-12-09 | 2010-01-12 | 주식회사세오 | 무손실 문맥적응적이진산술부호화를 위한 h.264/avc 부호화기, 상기 부호화기의 문맥적응적이진산술부호화방법 |
US8611435B2 (en) | 2008-12-22 | 2013-12-17 | Qualcomm, Incorporated | Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding |
KR20100102386A (ko) | 2009-03-11 | 2010-09-24 | 삼성전자주식회사 | 레지듀얼 값 분포에 적응적인 부호표 선택에 기초한 영상 부호화, 복호화 방법 및 장치 |
US9621925B2 (en) | 2009-07-02 | 2017-04-11 | Thomson Licensing | Methods and apparatus for video encoding and decoding binary sets using adaptive tree selection |
CN101646086B (zh) * | 2009-08-21 | 2011-07-20 | 香港应用科技研究院有限公司 | 用于4×4块变换系数标示的前文参考模型化的方法及装置 |
US8411750B2 (en) * | 2009-10-30 | 2013-04-02 | Qualcomm Incorporated | Global motion parameter estimation using block-based motion vectors |
US8611414B2 (en) * | 2010-02-17 | 2013-12-17 | University-Industry Cooperation Group Of Kyung Hee University | Video signal processing and encoding |
SI3435674T1 (sl) * | 2010-04-13 | 2023-10-30 | Ge Video Compression, Llc | Kodiranje map pomembnosti in blokov transformacijskih koeficientov |
US20120230418A1 (en) * | 2011-03-08 | 2012-09-13 | Qualcomm Incorporated | Coding of transform coefficients for video coding |
US20130188698A1 (en) * | 2012-01-19 | 2013-07-25 | Qualcomm Incorporated | Coefficient level coding |
US10979732B2 (en) * | 2016-10-04 | 2021-04-13 | Qualcomm Incorporated | Adaptive motion vector precision for video coding |
-
2011
- 2011-04-11 SI SI201132091T patent/SI3435674T1/sl unknown
- 2011-04-11 PL PL18185240T patent/PL3410716T3/pl unknown
- 2011-04-11 DK DK18185240.1T patent/DK3410716T3/da active
- 2011-04-11 PT PT201506227T patent/PT3691267T/pt unknown
- 2011-04-11 LT LTEP11713791.9T patent/LT2559244T/lt unknown
- 2011-04-11 PT PT17177435T patent/PT3244612T/pt unknown
- 2011-04-11 PL PL11713791T patent/PL2559244T3/pl unknown
- 2011-04-11 ES ES18185240T patent/ES2784509T3/es active Active
- 2011-04-11 KR KR1020217013230A patent/KR102417196B1/ko active IP Right Grant
- 2011-04-11 CN CN202110789922.5A patent/CN113556562B/zh active Active
- 2011-04-11 PL PL18211098T patent/PL3471416T3/pl unknown
- 2011-04-11 KR KR1020187023952A patent/KR101951413B1/ko active IP Right Grant
- 2011-04-11 HU HUE17177435A patent/HUE040296T2/hu unknown
- 2011-04-11 CN CN201810801490.3A patent/CN108881922B/zh active Active
- 2011-04-11 HR HRP20220743TT patent/HRP20220743T1/hr unknown
- 2011-04-11 BR BR122020004415-2A patent/BR122020004415B1/pt active IP Right Grant
- 2011-04-11 RS RS20220572A patent/RS63325B1/sr unknown
- 2011-04-11 LT LTEP18195954.5T patent/LT3435674T/lt unknown
- 2011-04-11 ES ES13188796.0T patent/ES2620301T3/es active Active
- 2011-04-11 PL PL20150622T patent/PL3691267T3/pl unknown
- 2011-04-11 HU HUE13188796A patent/HUE032567T2/en unknown
- 2011-04-11 ES ES18211098T patent/ES2825200T3/es active Active
- 2011-04-11 SI SI201131334T patent/SI2559244T1/en unknown
- 2011-04-11 ES ES18195954T patent/ES2952881T3/es active Active
- 2011-04-11 HU HUE11713791A patent/HUE037038T2/hu unknown
- 2011-04-11 CN CN202110789141.6A patent/CN113556559A/zh active Pending
- 2011-04-11 BR BR122020004414-4A patent/BR122020004414B1/pt active IP Right Grant
- 2011-04-11 EP EP17177435.9A patent/EP3244612B1/en active Active
- 2011-04-11 EP EP18211094.0A patent/EP3487179B1/en active Active
- 2011-04-11 CN CN202110789089.4A patent/CN113556556B/zh active Active
- 2011-04-11 CN CN202110789045.1A patent/CN113556554B/zh active Active
- 2011-04-11 CN CN202110789075.2A patent/CN113556555B/zh active Active
- 2011-04-11 ES ES18211094T patent/ES2823549T3/es active Active
- 2011-04-11 DK DK18211098.1T patent/DK3471416T3/da active
- 2011-04-11 EP EP18195954.5A patent/EP3435674B1/en active Active
- 2011-04-11 KR KR1020207004416A patent/KR102249230B1/ko active IP Right Grant
- 2011-04-11 EP EP18185240.1A patent/EP3410716B1/en active Active
- 2011-04-11 ES ES17177435.9T patent/ES2692195T3/es active Active
- 2011-04-11 HU HUE18211094A patent/HUE051391T2/hu unknown
- 2011-04-11 PT PT181852401T patent/PT3410716T/pt unknown
- 2011-04-11 PT PT182110940T patent/PT3487179T/pt unknown
- 2011-04-11 EP EP18211098.1A patent/EP3471416B1/en active Active
- 2011-04-11 KR KR1020127028824A patent/KR101502495B1/ko active IP Right Grant
- 2011-04-11 EP EP20155685.9A patent/EP3709646A1/en active Pending
- 2011-04-11 PL PL18211094T patent/PL3487179T3/pl unknown
- 2011-04-11 KR KR1020147011615A patent/KR101607242B1/ko active IP Right Grant
- 2011-04-11 KR KR1020197004773A patent/KR102079664B1/ko active IP Right Grant
- 2011-04-11 ES ES11713791.9T patent/ES2645159T3/es active Active
- 2011-04-11 RS RS20230769A patent/RS64607B1/sr unknown
- 2011-04-11 CN CN202110788806.1A patent/CN114143553A/zh active Pending
- 2011-04-11 DK DK18211094.0T patent/DK3487179T3/da active
- 2011-04-11 RS RS20171118A patent/RS56512B1/sr unknown
- 2011-04-11 CN CN201810801730.XA patent/CN109151485B/zh active Active
- 2011-04-11 PT PT182110981T patent/PT3471416T/pt unknown
- 2011-04-11 HU HUE18185240A patent/HUE049043T2/hu unknown
- 2011-04-11 CN CN201810801729.7A patent/CN108777791B/zh active Active
- 2011-04-11 HU HUE18211098A patent/HUE050955T2/hu unknown
- 2011-04-11 HU HUE20150622A patent/HUE059150T2/hu unknown
- 2011-04-11 DK DK13188796.0T patent/DK2693752T3/en active
- 2011-04-11 DK DK18195954.5T patent/DK3435674T3/da active
- 2011-04-11 PT PT131887960T patent/PT2693752T/pt unknown
- 2011-04-11 CN CN201810801553.5A patent/CN108777797B/zh active Active
- 2011-04-11 KR KR1020227022546A patent/KR102553952B1/ko active IP Right Grant
- 2011-04-11 PL PL18195954.5T patent/PL3435674T3/pl unknown
- 2011-04-11 CN CN201810491886.2A patent/CN108471534B/zh active Active
- 2011-04-11 KR KR1020177013586A patent/KR101914176B1/ko active Application Filing
- 2011-04-11 ES ES20150622T patent/ES2912048T3/es active Active
- 2011-04-11 PT PT117137919T patent/PT2559244T/pt unknown
- 2011-04-11 FI FIEP18195954.5T patent/FI3435674T3/fi active
- 2011-04-11 CN CN202110789111.5A patent/CN113556557B/zh active Active
- 2011-04-11 SI SI201132056T patent/SI3691267T1/sl unknown
- 2011-04-11 DK DK20150622.7T patent/DK3691267T3/da active
- 2011-04-11 DK DK17177435.9T patent/DK3244612T3/en active
- 2011-04-11 BR BR112012026388-9A patent/BR112012026388B1/pt active IP Right Grant
- 2011-04-11 CN CN201810801793.5A patent/CN108777793B/zh active Active
- 2011-04-11 CN CN202110789161.3A patent/CN113556560B/zh active Active
- 2011-04-11 TR TR2018/15695T patent/TR201815695T4/tr unknown
- 2011-04-11 KR KR1020187023951A patent/KR102023566B1/ko active IP Right Grant
- 2011-04-11 CN CN201810492324.XA patent/CN108471538B/zh active Active
- 2011-04-11 KR KR1020147036152A patent/KR101605163B1/ko active IP Right Grant
- 2011-04-11 KR KR1020187031096A patent/KR101966211B1/ko active IP Right Grant
- 2011-04-11 CN CN202110789116.8A patent/CN113556558B/zh active Active
- 2011-04-11 PL PL17177435T patent/PL3244612T3/pl unknown
- 2011-04-11 CN CN201810801551.6A patent/CN108881910B/zh active Active
- 2011-04-11 WO PCT/EP2011/055644 patent/WO2011128303A2/en active Application Filing
- 2011-04-11 EP EP11713791.9A patent/EP2559244B1/en active Active
- 2011-04-11 PL PL13188796T patent/PL2693752T3/pl unknown
- 2011-04-11 CN CN201810492323.5A patent/CN108471537B/zh active Active
- 2011-04-11 KR KR1020237022899A patent/KR20230110371A/ko active Search and Examination
- 2011-04-11 CN CN202110789341.1A patent/CN113556561B/zh active Active
- 2011-04-11 EP EP20150622.7A patent/EP3691267B1/en active Active
- 2011-04-11 NO NO11713791A patent/NO2559244T3/no unknown
- 2011-04-11 CN CN201510483423.8A patent/CN105187829B/zh active Active
- 2011-04-11 EP EP13188796.0A patent/EP2693752B1/en active Active
- 2011-04-11 LT LTEP20150622.7T patent/LT3691267T/lt unknown
- 2011-04-11 CN CN201810801554.XA patent/CN108777790B/zh active Active
- 2011-04-11 DK DK11713791.9T patent/DK2559244T3/da active
- 2011-04-11 CN CN201810801791.6A patent/CN108777792B/zh active Active
- 2011-04-11 CN CN201180029192.3A patent/CN102939755B/zh active Active
- 2011-04-11 CN CN202110793690.0A patent/CN113556563B/zh active Active
- 2011-04-11 KR KR1020167007391A patent/KR101739808B1/ko active IP Right Grant
- 2011-04-11 CN CN202110788893.0A patent/CN113573075B/zh active Active
- 2011-04-11 JP JP2013504229A patent/JP2013524707A/ja active Pending
- 2011-04-11 HU HUE18195954A patent/HUE063400T2/hu unknown
- 2011-04-11 KR KR1020187023950A patent/KR102023565B1/ko active IP Right Grant
- 2011-04-11 PT PT181959545T patent/PT3435674T/pt unknown
- 2011-04-12 TW TW100112636A patent/TWI545525B/zh active
- 2011-04-12 TW TW104120305A patent/TWI590648B/zh active
- 2011-04-12 TW TW112123685A patent/TWI830676B/zh active
- 2011-04-12 TW TW107132298A patent/TWI705700B/zh active
- 2011-04-12 TW TW109128545A patent/TWI781435B/zh active
- 2011-04-12 TW TW109114126A patent/TWI711302B/zh active
- 2011-04-12 TW TW106110819A patent/TWI640190B/zh active
- 2011-04-12 TW TW111136489A patent/TWI810078B/zh active
- 2011-04-12 TW TW109114128A patent/TWI787604B/zh active
- 2011-04-12 TW TW112150972A patent/TW202431851A/zh unknown
- 2011-04-12 TW TW109136334A patent/TWI799747B/zh active
-
2012
- 2012-10-10 US US13/648,538 patent/US9894368B2/en active Active
-
2014
- 2014-01-15 JP JP2014005353A patent/JP5911027B2/ja active Active
-
2015
- 2015-04-28 JP JP2015092239A patent/JP6097332B2/ja active Active
- 2015-11-17 US US14/944,012 patent/US9357217B2/en active Active
-
2016
- 2016-06-28 US US15/195,504 patent/US9699467B2/en active Active
- 2016-07-01 US US15/200,300 patent/US9998741B2/en active Active
-
2017
- 2017-02-17 JP JP2017027407A patent/JP6438986B2/ja active Active
- 2017-10-30 CY CY20171101126T patent/CY1119639T1/el unknown
- 2017-10-31 HR HRP20171669TT patent/HRP20171669T1/hr unknown
- 2017-12-01 US US15/828,756 patent/US10021404B2/en active Active
-
2018
- 2018-03-29 US US15/940,584 patent/US10129549B2/en active Active
- 2018-03-29 US US15/940,733 patent/US10148968B2/en active Active
- 2018-03-29 US US15/940,820 patent/US10123025B2/en active Active
- 2018-05-07 US US15/972,372 patent/US10306242B2/en active Active
- 2018-06-08 US US16/003,183 patent/US10306243B2/en active Active
- 2018-07-11 JP JP2018131150A patent/JP6700341B2/ja active Active
- 2018-07-11 JP JP2018131152A patent/JP6700343B2/ja active Active
- 2018-07-11 JP JP2018131151A patent/JP6700342B2/ja active Active
- 2018-10-02 US US16/149,906 patent/US10750191B2/en active Active
- 2018-11-21 US US16/198,170 patent/US10341668B2/en active Active
- 2018-11-21 US US16/198,275 patent/US10477223B2/en active Active
- 2018-11-28 JP JP2018221820A patent/JP6753914B2/ja active Active
-
2019
- 2019-04-03 US US16/374,059 patent/US11070822B2/en active Active
- 2019-04-16 US US16/385,391 patent/US10462474B2/en active Active
- 2019-05-14 US US16/411,308 patent/US10587884B2/en active Active
- 2019-09-12 US US16/568,738 patent/US11025926B2/en active Active
- 2019-09-17 US US16/572,669 patent/US10855999B2/en active Active
-
2020
- 2020-01-28 US US16/774,880 patent/US11032556B2/en active Active
- 2020-06-02 JP JP2020095840A patent/JP7078670B2/ja active Active
- 2020-07-08 US US16/923,205 patent/US11252419B2/en active Active
- 2020-08-03 US US16/983,356 patent/US11095906B2/en active Active
- 2020-08-20 JP JP2020139406A patent/JP2020191684A/ja active Pending
- 2020-09-23 US US17/029,130 patent/US11297336B2/en active Active
- 2020-12-22 US US17/131,317 patent/US11128875B2/en active Active
-
2021
- 2021-03-25 US US17/212,396 patent/US20210211686A1/en not_active Abandoned
-
2022
- 2022-05-19 JP JP2022082110A patent/JP7518127B2/ja active Active
-
2023
- 2023-08-03 US US18/364,973 patent/US20240031585A1/en active Pending
-
2024
- 2024-07-04 JP JP2024107921A patent/JP2024129121A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR122020004415B1 (pt) | Codificação de mapas de significância e blocos de coeficiente de transformada |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
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: 20 (VINTE) ANOS CONTADOS A PARTIR DE 11/04/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |