BR112016013761B1 - Método e aparelho para reconstruir blocos de imagem utilizando predição, e meio de armazenamento legível por computador - Google Patents

Método e aparelho para reconstruir blocos de imagem utilizando predição, e meio de armazenamento legível por computador Download PDF

Info

Publication number
BR112016013761B1
BR112016013761B1 BR112016013761-2A BR112016013761A BR112016013761B1 BR 112016013761 B1 BR112016013761 B1 BR 112016013761B1 BR 112016013761 A BR112016013761 A BR 112016013761A BR 112016013761 B1 BR112016013761 B1 BR 112016013761B1
Authority
BR
Brazil
Prior art keywords
reference samples
prediction
block
subset
filter parameters
Prior art date
Application number
BR112016013761-2A
Other languages
English (en)
Other versions
BR112016013761A2 (pt
Inventor
Alexey Konstantinovich Filippov
Vasily Alexeevich Rufitskiy
Original Assignee
Huawei Technologies Co., Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd filed Critical Huawei Technologies Co., Ltd
Publication of BR112016013761A2 publication Critical patent/BR112016013761A2/pt
Publication of BR112016013761B1 publication Critical patent/BR112016013761B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

MÉTODO E APARELHO PARA RECONSTRUIR BLOCOS DE IMAGEM UTILIZANDO PREDIÇÃO, E MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR. A invenção refere-se a técnicas de predição aprimoradas, por exemplo, predição de bloco utilizando intrapredição ou inter, a qual utiliza técnicas de filtragem de pré-predição para reduzir influência de ruído sobre amostras preditas de um bloco a ser reconstruído (804). As técnicas de predição sugeridas neste documento podem ser, por exemplo, utilizadas em um aparelho de codificação ou em um aparelho de decodificação. As amostras de referência que são utilizadas para reconstruir um dado bloco de pixels de uma imagem são categorizadas ou segmentadas em subconjuntos. Os subconjuntos podem ser processados de forma diferente, por exemplo, os sub conjuntos podem ser sujeitos a filtros distintos. Exemplos de tais filtros incluem filtros de suavização e/ou filtros de deblocagem, os quais são aplicados para os respectivos subconjuntos das amostras de referência .

Description

CAMPO DA INVENÇÃO
[001] A invenção refere-se a método para reconstruir blocos de uma imagem utilizando predição e sua implementação em hardware e/ou software. Mais especificamente, a invenção diz respeito a técnicas de predição aprimoradas, por exemplo, predição de bloco, utilizando intrapredição ou inter, a qual utiliza técnicas de filtragem de pré- predição para reduzir influencia de ruído sobre as amostras preditas de um bloco a ser reconstruído. As técnicas de predição sugeridas neste documento podem ser utilizadas, por exemplo, em um aparelho de codificação ou em um aparelho de decodificação.
ANTECEDENTE TÉCNICO
[002] A compressão com perda de dados possui várias aplicações, especialmente em comunicações, radio transmissão, entretenimento e segurança. A compressão de vídeo é uma tarefa desafiadora, devido às grandes taxas de compressão serem requeridas para transmitir imagens de alta qualidade e alta resolução através dos canais de comunicação existentes. Esta tarefa é igualmente mais desafiante no contexto de comunicações sem uso de fios e móveis, ou na codificação de mídia em tempo real.
[003] O padrão recentemente adotado ITU-T H.265/HEVC (IS- SO/IEC 23008-2:2013, "Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 2: High efficiency video coding", Novembro, 2013) declara um conjunto de ferramentas de codificação de vídeo do estado da técnica que proporcionam uma negociação razoável entre eficiência de codificação e complexidade computacional. Uma vista geral em relação ao padrão ITU- T H.265;HEVC é dada no artigo de Gary J. Sullivan, "Overview of the High Efficiency Video Coding (HEVC) Standard", no IEEE Transactions on Circuits and Systems for Video Technology, Vol. 22, No. 12, Dezembro de 2012, cujo conteúdo em sua totalidade é incorporado neste documento por referência.
[004] Similarmente ao padrão de codificação de vídeo ITU-T H.264/AVC, o padrão de codificação de vídeo HEVC/H.265 proporciona uma divisão da imagem fonte em blocos, por exemplo, unidade de codificação (CUs). Cada uma das CUs poderia ser adicionalmente repartida em CUs menores ou em unidades de predição (PUs). Uma PU poderia ser predita de forma intra ou inter de acordo com o tipo de processamento aplicado para os pixels da PU. No caso de interpredi- ção, uma PU representa uma área de pixels que é processada por compensação de movimento utilizando um vetor de movimento especificado para uma PU. Para a intrapredição, a PU especifica o modo de predição para um conjunto de unidade de transformada (TUs). Uma TU pode possuir diferentes tamanhos (por exemplo, 4x4, 8x8, 16x16 e 32x32 pixels) e poderia ser processada de modos diferentes. Para uma TU, a codificação de transformada está sendo executada, isto é, o erro de predição está sendo transformado com uma transformada discreta do cosseno (DCT) e quantizada. Os coeficientes da transformada quantizados resultantes são agrupados em CGs, cada CG possuindo 16 coeficientes de transformada quantizados.
[005] Como citado acima, as ferramentas principais destes padrões ou de codecs proprietários similares para codificar os blocos de imagem são a interpredição e intra, a transformação de espectro (por exemplos transformada discreta de cosseno ou sua aproximação de número inteiro) e a quantização. As ferramentas de interpredição e intra são utilizadas para gerar um sinal de predição para um dado bloco. No lado do codificador, a diferença entre um bloco fonte e sua predi- ção, o assim chamado sinal residual, é transformada em seu espectro, isto é, os pixels do bloco fonte são representados por transformar os coeficientes no domínio de frequência. Adicionalmente, os coeficientes são quantizados. Os coeficientes da transformada quantizados que não são zero e que são zero frequentemente são referidos como coeficientes significativos e insignificantes, respectivamente. Todos os elementos de sintaxe incluindo os coeficientes de transformada quan- tizados e a informação complementar (por exemplo, modos de intra- predição para codificação intra e vetores de movimento para codificação inter) são binarizados e codificados por entropia. A parte de coeficientes codificados por entropia em um fluxo de bits compactado H.265/HEVC pode exceder 80%.
[006] Os estágios para codificar os coeficientes de transformada quantizados são como dito a seguir:
[007] - Codificar a posição do último coeficiente significativo, isto é, o último coeficiente de transformada quantizado não zero.
[008] - Codificar o mapa de importância que é utilizado para res taurar posições de todos os coeficientes que não são zero.
[009] - Codificação de sinal dos coeficientes significativos.
[0010] - Codificação de magnitude dos coeficientes significativos.
[0011] Estes estágios são executados no contexto de coeficientes de transformação quantizados sendo divididos nos assim chamados grupos de coeficientes (CGs). Cada CG é um subconjunto que tipicamente consiste de 4 x 4 coeficientes.
[0012] Estes estágios são executados no contexto de coeficientes de transformada quantizados sendo divididos nos assim chamados grupos de coeficientes (CGs). Cada CG é um subconjunto que tipicamente consiste de 4 x 4 coeficientes
[0013] Como citado acima, os padrões de codificação de vídeo do estado da técnica são baseados no particionamento de uma imagem fonte (imagem) em blocos. O processamento destes blocos depende de seu tamanho, da posição espacial e de um modo de codificação especificado por um codificador. Os modos de codificação poderiam ser classificados em dois grupos de acordo com o tipo de predição: modos de intrapredição e inter. A intrapredição utiliza pixels da mesma imagem para gerar amostras de referência, baseadas na quais os valores de predição para os pixels do bloco sendo reconstruído são preditos. A intrapredição também poderia ser referida como predição espacial. Os modos de interpredição são designados para predição temporal e utilizam amostras de referência de imagens anteriores e/ou de próximas imagens para predizer os pixels do bloco da imagem atual.
[0014] Devido ao tipo de redundância diferente, os processos de predição para codificação intra e inter são diferentes. A intrapredição tipicamente constrói uma memória temporária unidimensional de amostras de referência. A interpredição utiliza interpolação de subpixel de matriz bidimensional de pixels de referência.
[0015] Entretanto, durante a padronização do ITU-T H.264/AVC, uma terceira técnica para predição de movimento também tem que ser considerada: A Filtragem Temporal com Movimento Compensado (MCTF). A MCTF processa um arranjo tridimensional de pixels que é construído por empilhar blocos de pixels. Cada um destes blocos é extraído a partir de sua própria imagem e o empilhamento destes blocos é executado na mesma ordem como especificada para as imagens da sequência de vídeo. A saída da MCTF são dois conjuntos de blocos: blocos de passa-alta (residuais) e blocos de passa-baixa. Este blocos são adicionalmente processados para produzirem predição e blocos residuais.
[0016] Uma vista geral em relação à MCTF é proporcionada em "Complexity and delay analysis of MCTF interframe wavelet structures" de J.-R. Ohm, ISSO/IEC JTC1/SC29/WG11, Document M8520, de Ju- lho de 2002. A MCTF é implementada por empregar um processo de elevação como exemplificado na Fig. 18, no qual os aspectos de compensação de movimento dos padrões de codificação de vídeo H.26x poderiam ser reutilizados na predição MCTF e nas etapas de atualização.
[0017] Como apresentado na Fig. 18, para duas imagens consecutivas A e B de uma sequência de vídeo, uma transformada com movimento compensado baseada em pirâmide é executada para obter o quadro de passa baixa "temporal" L e o quadro de passa alta H. Esta predição "temporal" poderia ser escrita como:
Figure img0001
onde α e β são coeficientes de ponderação utilizados para interpolação de subpixel.
[0018] É conhecido que a codificação de imagem introduz artefatos visuais em uma imagem reconstruída. Estes artefatos poderiam ser causados pelo ruído de quantização e pelos efeitos de colocação em blocos. As técnicas de predição, tal como a intrapredição e inter, utilizam amostras já decodificadas / reconstruídas como amostras de referência para predizer um bloco de pixels, e, portanto, o ruído dentro desta informação decodificada pode influenciar a precisão da predição. Este ruído também podem acarretar em energia mais elevada do sinal residual para um bloco ser codificado, o que pode ser endereçado por taxa de bits aumentada, ou por aceitar artefatos notáveis, se o aumento da taxa de bits do fluxo codificado não for aceitável.
SUMÁRIO
[0019] Em vista disto, um objetivo da invenção é sugerir uma técnica de predição que seja capaz de reduzir a influência do ruído sobre as amostras preditas de um bloco sem suprimir os detalhes da imagem.
[0020] O objetivo acima e outros objetivos são alcançado pelos aspectos das reivindicações independentes. Formas adicionais de implementação são aparentes a partir das reivindicações dependentes, da descrição e das figuras.
[0021] Assim, um aspecto da invenção se relaciona com técnicas de predição aprimoradas, por exemplo, predição de bloco utilizando intrapredição ou inter, a qual utiliza técnicas de filtragem de pré- predição para reduzir influência do ruído sobre as amostras preditas de um bloco a ser reconstruído. As técnicas de predição sugeridas neste documento podem ser, por exemplo, utilizadas em um aparelho de codificação ou em um aparelho de decodificação. As amostras de referência que são utilizadas para reconstruir um dado bloco de pixels de uma imagem são categorizadas ou segmentadas em subconjuntos. Os subconjuntos podem ser processados de forma diferente, por exemplo, os subconjuntos podem ser sujeitos a filtros distintos. Exemplos de tais filtros incluem filtros de suavização e/ou filtros de de- blocagem, os quais são aplicados para os respectivos subconjuntos das amostras de referência.
[0022] Uma 1a implementação do aspecto da invenção se relaciona com um método para reconstruir blocos de uma imagem utilizando predição. O método compreende determinar amostras de referência de um ou mais blocos já decodificados a serem utilizadas para predizer um bloco a ser reconstruído; selecionar um primeiro subconjunto das amostras de referência e um segundo subconjunto das amostras de referência; executar uma filtragem de pré-predição das amostras de referência selecionadas do dito primeiro subconjunto e do dito segundo subconjunto, onde os parâmetros do filtro para filtrar as amostras de referência do primeiro subconjunto são diferentes dos parâmetros de filtro para filtrar as amostras de referência do segundo subconjunto; e reconstruir o dito bloco por predição baseado nas amostras de referência incluindo as ditas amostras de referência filtradas por pré- predição do primeiro subconjunto e do segundo subconjunto.
[0023] Em uma 2a implementação, a qual é uma implementação mais detalhada da 1a implementação, o método adicionalmente compreende determinar o tamanho do bloco a ser reconstruído e/ou o modo de predição que foi empregado para codificar o bloco a ser reconstruído; e determinar o dito primeiro e/ou segundo subconjunto de amostras de referência e/ou selecionar parâmetros para a dita filtragem de pré-predição baseado no tamanho e/ou no modo de predição.
[0024] Em uma 3a implementação, a qual é uma implementação mais detalhada da 1a ou da 2a implementação, a intrapredição é utilizada para reconstruir o bloco, e a determinação do modo de predição que foi empregado para codificar o bloco a ser reconstruído compreende determinar se a intrapredição está de acordo com um modo vertical, com um modo horizontal, ou com um modo angular. No caso da intrapredição estar de acordo com outro modo angular, a dita filtragem de pré-predição de amostras de referência do primeiro subconjunto e do segundo subconjunto é executada. No da intrapredição estar de acordo com o modo vertical, uma filtragem de pré-predição é aplicada para amostras de referência localizadas na esquerda e/ou na esquer- da abaixo do bloco a ser reconstruído. No caso de a intrapredição estar de acordo com o modo horizontal, uma filtragem de pré-predição é aplicada para amostras de referência localizadas acima e/ou acima à direita do bloco a ser reconstruído.
[0025] Em uma 4a implementação, a qual é uma implementação mais detalhada da 3a implementação, o primeiro subconjunto compreende amostras de referência localizadas na esquerda e/ou na esquerda abaixo do bloco a ser reconstruído, e o segundo subconjunto compreende amostras de referência localizadas acima e/ou acima à direita do bloco a ser reconstruído.
[0026] Em uma 5a implementação, a qual é uma implementação mais detalhada da 3a ou da 4a implementação, determinar o modo de predição que foi empregado para codificar o bloco a ser reconstruído compreende determinar se a intrapredição está de acordo com um modo vertical, com um modo horizontal, ou com um modo angular. No caso de a intrapredição estar de acordo com o modo diagonal, todas as amostras de referência são sujeitas à filtragem de pré-predição.
[0027] Em uma 6a implementação, a qual é uma implementação mais detalhada de uma dentre a 1a até a 5a implementação, o dito segundo subconjunto compreende amostras de referência de um ou mais blocos para o qual nenhum resíduo foi codificado no fluxo de vídeo codificado. Adicionalmente, o dito bloco é reconstruído por predição baseado nas amostras de referência incluindo o dito primeiro subconjunto filtrado de amostras de referência e no segundo subconjunto filtrado de amostras de referência.
[0028] Em uma 7a implementação, a qual é uma implementação mais detalhada de uma dentre a 1a até a 6a implementação, o método adicionalmente compreende aplicar um filtro de deblocagem para amostras de referência filtradas por pré-predição de diferentes blocos decodificados, as ditas amostras de referência filtradas por pré- predição são amostras de referência nos limites entre os blocos decodificados.
[0029] Uma 8a implementação se relaciona com um método para reconstruir blocos de imagem utilização predição. O método compreende determinar amostras de referência de um ou mais blocos já decodificados a serem utilizadas para predizer um bloco a ser reconstruído; selecionar um subconjunto das amostras de referência para as quais um filtro é para ser aplicado antes da predição e executar uma filtragem de pré-predição das amostras de referência selecionadas do dito subconjunto; e reconstruir o dito bloco por predição baseado nas amostras de referência incluindo as ditas amostras de referência filtradas do dito subconjunto. A seleção do dito subconjunto e a filtragem por pré-predição das amostras de referência do dito subconjunto são repetidas antes da reconstrução do dito bloco por predição.
[0030] Em uma 9a implementação, a qual é uma implementação mais detalhada da 8a implementação, os parâmetros de filtro para filtrar as amostras de referência do subconjunto diferem nas ditas repetições de seleção do dito subconjunto e de filtragem por pré-predição.
[0031] Em uma 10a implementação, a qual é uma implementação mai detalhada da 8a ou da 9a implementação, os subconjuntos selecionados nas diferentes repetições são distintos ou se sobrepõem.
[0032] Em uma 11a implementação, a qual é uma implementação mais detalhada de uma dentre a 8a até a 10a implementação, em uma das repetições, o subconjunto selecionado de amostras de referência compreende todas as amostras de referência.
[0033] Em uma 12a implementação, a qual é uma implementação mais detalhada de uma dentre a 8a até a 11a implementação, existem três repetições, onde as primeiras duas repetições são executadas em relação às amostras de referência originais para obter amostras de referência filtradas, enquanto a terceira repetição é executada em re lação às amostras de referência filtradas obtidas nas duas primeiras repetições.
[0034] Em uma 13a implementação, a qual é uma implementação mais detalhada de uma dentre a 8a até a 12a implementação, em uma primeira repetição, o respectivo subconjunto de amostras de referência é filtrado baseado no tamanho do bloco a ser reconstruído e/ou no modo de predição que foi empregado para codificar o bloco a ser reconstruído. Em uma segunda repetição, o respectivo subconjunto de amostras de referência compreende amostras de referência de um ou mais blocos para os quais nenhum resíduo foi codificado no fluxo de vídeo codificado; e em uma terceira repetição, um filtro de deblocagem é aplicado para as amostras de referência filtradas na primeira ou na segunda repetição, a ditas amostras de referencia filtradas são amostras de referência nos limites entre blocos decodificados.
[0035] Em uma 14a implementação, a qual é uma implementação mais detalhada da 7a ou da 13a implementação, o método adicionalmente compreende adicionar um resíduo decodificado para o dito bloco a ser decodificado para o dito bloco reconstruído para obter um bloco decodificado, e aplicar um filtro de deblocagem em repetição para o bloco decodificado.
[0036] Em uma 15a implementação, a qual é uma implementação mais detalhada de uma dentre a 1a até a 15a implementação, a filtragem por pré-predição compreende aplicar um filtro de suavização para pelo menos um subconjunto das amostras de referência.
[0037] Em uma 17a implementação, a qual é uma implementação mais detalhada de uma dentre a 1a, 2a e 6a até a 16a implementação, a interpredição é utilizada para reconstruir o bloco de pixels.
[0038] Em uma 18a implementação, a qual é uma implementação mais detalhada da 17a implementação, as amostras de referência definem uma área de referência bidimensional dentro de um ou mais blo- cos decodificados a ser utilizada para interpredição quando reconstruindo o dito bloco. Um dos subconjuntos de amostras de referência sujeito à filtragem por pré-predição compreende amostras de referência pertencendo a um bloco decodificado para o qual um resíduo foi codificado no fluxo de vídeo codificado.
[0039] Em uma 19a implementação, a qual é uma implementação mais detalhada da 17a implementação, as amostras de referência definem uma área de referência bidimensional dentro de um ou mais blocos decodificados a ser utilizada para interpredição quando reconstruindo o bloco. A etapa de determinar os ditos subconjuntos de amostras de referência para os quais um filtro é para ser aplicado antes da in- terpredição compreende determinar vários subconjuntos distintos de amostras de referência baseado no resultado da execução de uma detecção de borda em relação às amostras de referência da dita área de referência bidimensional. Adicionalmente, executar a filtragem de pré- predição compreende filtrar as amostras de referência dos subconjunto utilizando diferentes parâmetros de filtro.
[0040] Em uma 20a implementação, a qual é uma implementação mais detalhada da 17a implementação, a interpredição com múltiplas referência é utilizada para reconstruir o bloco, e as amostras de referência definem uma pilha de áreas de referência bidimensionais a partir dos diferentes quadros de referência a ser utilizada para interpredi- ção quando reconstruindo o bloco. A determinação dos ditos subconjuntos de amostras de referência para os quais um filtro é para ser aplicado antes da predição compreende determinar vários subconjuntos distintos de amostras de referência dentro da dita pilha de áreas de referência bidimensionais baseado no resultado de executar uma detecção de borda em relação às amostras de referência. Além disso, executar a filtragem de pré-predição compreende filtrar as amostras de referência dos subconjuntos utilizando diferentes parâmetros de filtro; e reconstruir o bloco compreende predizer o dito bloco por calcular uma soma ponderada de amostras de referência filtradas a partir da pilha de áreas de referência bidimensionais.
[0041] Uma 21a implementação se relaciona com um aparelho para reconstruir blocos de uma imagem utilizando predição. O aparelho compreende uma memória temporária de amostra de referência para armazenar um ou mais blocos já decodificados a serem utilizados para predizer um bloco a ser reconstruído; uma unidade de processamento configurada para selecionar um primeiro subconjunto das amostras de referência e um segundo subconjunto das amostras de referência a partir da dita memória temporária de amostra de referência; uma unidade de filtro configurada para executar uma filtragem de pré-predição das amostras de referência selecionadas do dito primeiro subconjunto e do dito segundo subconjunto, onde os parâmetros de filtro para filtrar as amostras de referência do primeiro subconjunto diferem dos parâ-metros de filtro para filtrar as amostras de referência do segundo subconjunto; e uma unidade de predição configurada para reconstruir o dito bloco por predição baseada nas amostras de referência incluindo as ditas amostras de referência filtradas por pré-predição do primeiro subconjunto e do segundo subconjunto.
[0042] Em uma 22a implementação, a qual é uma implementação mais detalhada da 21a implementação, a diga unidade de processamento é configurada para determinar o tamanho do bloco a ser reconstruído e/ou o modo de predição que foi empregado para codificar o bloco a ser reconstruído. Em adição, a dita unidade de processamento é adicionalmente configurada para determinar se o dito primeiro e/ou segundo subconjunto de amostras de referência e/ou a seleção de parâmetros para a dita filtragem de pré-predição são baseados no tamanho e/ou no modo de predição.
[0043] Em uma 23a implementação, a qual é uma implementação mais detalhada da 21a implementação, a intrapredição é utilizada para reconstruir o bloco, e a dita unidade de processamento é configurada para determinar se a intrapredição está de acordo com um modo vertical, com um modo horizontal, ou com um modo angular. No caso de a intrapredição estar de acordo com outro modo angular, a dita unidade de processamento é configurada para causar que a unidade de filtro aplique a filtragem de pré-predição para amostras de referência do primeiro subconjunto e do segundo subconjunto. No caso de a intra- predição estar de acordo com o modo vertical, a dita unidade de processamento é configurada para causar que a unidade de filtro aplique a filtragem de pré-predição para as amostras de referência localizadas na esquerda e/ou na esquerda abaixo do bloco a ser reconstruído. No caso da intrapredição estar de acordo com o modo horizontal, a dita unidade de processamento é configurada para causar que a unidade de filtro aplique a filtragem de pré-predição para as amostras de referência localizadas acima e/ou acima à direita do bloco a ser reconstruído.
[0044] Em uma 24a implementação, a qual é uma implementação mais detalhada da 23a implementação, o primeiro subconjunto compreende amostras de referência localizadas à esquerda e/ou ou abaixo à esquerda do bloco a ser reconstruído, e o segundo primeiro subconjunto compreende amostras de referência localizadas acima e/ou acima à direita do bloco a ser reconstruído.
[0045] Em uma 25a implementação, a qual é uma implementação mais detalhada da 23a ou da 24a implementação, a unidade de processamento é configurada para determinar se a intrapredição está de acordo com um modo vertical, com um modo horizontal, ou com um modo angular. No caso de a intrapredição estar de acordo com o modo diagonal, a dita unidade de processamento é configurada para causar que a unidade de filtro aplique a filtragem de pré-predição para to- das as amostras de referência.
[0046] Em uma 26a implementação, a qual é uma implementação mais detalhada de uma dentre a 21a até a 25a implementação, o dito segundo subconjunto compreende amostras de referência de um ou mais blocos para o qual nenhum resíduo foi codificado no fluxo de vídeo codificado; e a unidade de predição é configurada para reconstruir o dito bloco baseada nas amostras de referência incluindo o dito primeiro subconjunto filtrado de amostras de referência e o segundo subconjunto filtrado de amostra de referência.
[0047] Em uma 27a implementação, a qual é uma implementação mais detalhada de uma dentre a 21a até a 26a implementação, o aparelho adicionalmente compreende um filtro de deblocagem configurado para executar uma deblocagem das amostras de referência filtradas por pré-predição de diferentes blocos decodificados antes da predição, onde as ditas amostras de referência filtradas por pré-predição são amostras de referência nos limites entre blocos decodificados.
[0048] Uma 28a implementação do aspecto da invenção se relaci ona com um aparelho para reconstruir blocos de imagem utilizando predição. O aparelho compreende uma memória temporária de amostra de referência para armazenar um ou mais blocos já decodificados a serem utilizados para predizer um bloco a ser reconstruído; uma unidade de processamento configurada para selecionar um subconjunto das amostras de referência para o qual um filtro é para ser aplicado antes da predição; uma unidade de filtro adaptada para executar uma filtragem de pré-predição das amostras de referência selecionadas do dito subconjunto; e uma unidade de predição configurada para reconstruir o dito bloco por predição baseada nas amostras de referência incluindo as ditas amostras de referência filtradas do dito subconjunto. A unidade de processamento e a dita unidade de filtro são configuradas para repetir a seleção do dito subconjunto e a filtragem de pré- predição das amostras de referência do dito subconjunto antes da re-construção do dito bloco por predição.
[0049] Em uma 29a implementação, a qual é uma implementação mais detalhada da 28a implementação, a unidade de filtro é configurada para utilizar diferentes parâmetros para filtrar as amostras de referência do subconjunto nas ditas repetições.
[0050] Em uma 30a implementação, a qual é uma implementação mais detalhada da 28a ou 29a implementação, a dita unidade de processamento é configurada para selecionar, nas diferentes repetições, subconjuntos que são distintos ou se sobrepõem.
[0051] Em uma 31a implementação, a qual é uma implementação mais detalhada de uma dentre a 28a até a 30a implementação, em uma das repetições, o subconjunto selecionado de amostras de referência compreende todas as amostras de referência.
[0052] Em uma 32a implementação, a qual é uma implementação mais detalhada de uma dentre a 28a até a 31a implementação, existem três repetições, onde a dita unidade de processamento e a dita unidade de filtro são configuradas para executar as primeiras duas repetições com as amostras de referência originais para obter amostras de referência filtradas, e para executar a terceira repetição em relação às amostras de referência filtradas obtidas nas primeiras duas repetições.
[0053] Em uma 33a implementação, a qual é uma implementação mais detalhada de uma dentre a 28a até a 32a implementação, em uma primeira repetição, a dita unidade de filtro filtra o respectivo subconjunto de amostras de referência baseado no tamanho do bloco a ser reconstruído e/ou no modo de predição que foi empregado para codificar o bloco a ser reconstruído; em uma segunda repetição, o respectivo subconjunto de amostras de referência compreende amostras de referência de um ou mais blocos para os quais nenhum resíduo foi codificado no fluxo de vídeo codificado; e em uma terceira repetição, a dita unidade de filtro aplica um filtro de deblocagem para as amostras de referência filtradas na primeira ou na segunda repetição, as ditas amostras de referência filtradas são amostras de referência nos limites entre blocos decodificados.
[0054] Em uma 34a implementação, a qual é uma implementação mais detalhada de uma dentre a 27a ou a 33a implementação, o aparelho adicionalmente compreende uma unidade de soma configurada para adicionar um resíduo decodificado para o dito bloco a ser decodificado para o dito bloco reconstruído para obter um bloco decodificado, e um filtro de deblocagem em repetição configurado para aplicar a de- blocagem para o bloco decodificado.
[0055] Em uma 35a implementação, a qual é uma implementação mais detalhada de uma dentre a 21a até a 34a implementação, a unidade de filtro é configurada para aplicar um filtro de suavização para pelo menos um subconjunto das amostras de referência.
[0056] Em uma 36a implementação, a qual é uma implementação mais detalhada de uma dentre a 21a até a 35a implementação, o aparelho é um aparelho de codificação para codificar imagens de um vídeo, ou um aparelho de decodificação para decodificar imagens codificadas de um fluxo de vídeo.
[0057] Uma 37a implementação se relaciona com um meio de armazenamento legível por computador armazenando instruções que, quando executadas por uma unidade de processamento, causam que a unidade de processamento execute o método para reconstruir blocos de imagem utilizando predição de acordo com uma dentre as várias implementações descritas neste documento.
[0058] Uma 1a concretização ilustrativa do aspecto mencionado acima se relaciona com um método para reconstruir blocos de uma imagem utilizando predição. Neste método, as amostras de referência de um ou mais blocos já decodificados a serem utilizadas para predi- zer um bloco a ser reconstruído são determinadas, e um primeiro subconjunto das amostras de referência e um segundo subconjunto das amostras de referência são selecionados. Adicionalmente, uma filtragem de pré-predição das amostras de referência selecionadas do primeiro subconjunto e do segundo subconjunto é executada, onde os parâmetros do filtro para filtrar as amostras de referência do primeiro subconjunto são diferentes dos parâmetros de filtro para filtrar as amostras de referência do segundo subconjunto. Seguindo esta filtragem de pré-predição, o bloco é reconstruído por predição baseado nas amostras de referência incluindo as amostras de referência filtradas por pré-predição do primeiro subconjunto e do segundo subconjunto.
[0059] Em uma 2a concretização ilustrativa, a qual é uma implementação mais detalhada da 1a concretização, o tamanho do bloco a ser reconstruído e/ou o modo de predição que foi empregado para codificar o bloco a ser reconstruído é determinado; e a determinação do primeiro e/ou segundo subconjunto de amostras de referência e/ou a seleção para a filtragem de pré-predição é baseada no tamanho e/ou no modo de predição.
[0060] Em uma 3a concretização ilustrativa, a qual é uma implementação mais detalhada da 1a ou da 2a concretização, a intrapredi- ção é utilizada para reconstruir o bloco. Nesta concretização, a determinação do modo de predição que foi empregado para codificar o bloco a ser reconstruído compreende determinar se a intrapredição está de acordo com um modo vertical, com um modo horizontal, ou com um modo angular. No caso da intrapredição estar de acordo com outro modo angular, a filtragem de pré-predição de amostras de referência do primeiro subconjunto e do segundo subconjunto pode ser executada. No da intrapredição estar de acordo com o modo vertical, uma fil-tragem de pré-predição pode ser aplicada para amostras de referência localizadas à esquerda e/ou abaixo à esquerda do bloco a ser recons- truído. No caso de a intrapredição estar de acordo com o modo horizontal, uma filtragem de pré-predição pode ser aplicada para amostras de referência localizadas acima e/ou acima à direita do bloco a ser reconstruído.
[0061] Em uma 4a concretização ilustrativa, a qual é uma implementação mais detalhada da 3a concretização, o primeiro subconjunto compreende amostras de referência localizadas à esquerda e/ou abaixo à esquerda do bloco a ser reconstruído, e o segundo subconjunto compreende amostras de referência localizadas acima e/ou acima à direita do bloco a ser reconstruído.
[0062] Em uma 5a concretização ilustrativa, a qual é uma implementação mais detalhada da 3a ou da 4a concretização, também existe um modo diagonal para intrapredição. Neste método, a determinação do modo de predição que foi empregado para codificar o bloco a ser reconstruído compreende determinar se a intrapredição está de acordo com um modo vertical, com um modo horizontal, ou com um modo angular, e no caso de a intrapredição estar de acordo com o modo diagonal, todas as amostras de referência são sujeitas à filtragem de pré- predição.
[0063] Em uma 6a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 1a até a 5a concretização, o dito segundo subconjunto compreende amostras de referência de um ou mais blocos para o qual nenhum resíduo foi codificado no fluxo de vídeo codificado, e o bloco é reconstruído por predição baseado nas amostras de referência incluindo o primeiro subconjunto filtrado de amostras de referência e o segundo subconjunto filtrado de amostras de referência.
[0064] Em uma 7a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 1a até a 6a concretização, o método adicionalmente compreende aplicar um filtro de deblocagem para amostras de referência filtradas por pré-predição de diferentes blocos decodificados, as amostras de referência filtradas por pré- predição são amostras de referência nos limites entre blocos decodificados.
[0065] Uma 8a concretização ilustrativa proporciona uma implementação adicional do aspecto da invenção mencionado acima e proporciona outro método para reconstruir blocos de imagem utilizando predição. Este método compreende determinar amostras de referência de um ou mais blocos já decodificados a serem utilizadas para predizer um bloco a ser reconstruído; selecionar um subconjunto das amostras de referência para as quais um filtro é para ser aplicado antes da predição e executar uma filtragem de pré-predição das amostras de referência selecionadas do subconjunto; e reconstruir o bloco por predição baseado nas amostras de referência incluindo as amostras de referência filtradas do subconjunto. Neste método, a seleção do subconjunto e a filtragem por pré-predição das amostras de referência do subconjunto são repetidas antes da reconstrução do bloco por predição.
[0066] Em uma 9a concretização ilustrativa, a qual é uma implementação mais detalhada da 8a concretização, os parâmetros de filtro para filtrar as amostras de referência do subconjunto diferem nas repetições de seleção do subconjunto e de filtragem por pré-predição.
[0067] Em uma 10a concretização ilustrativa, a qual é uma implementação mais detalhada da 8a ou da 9a concretização, os subconjuntos selecionados nas diferentes repetições são distintos ou se sobrepõem.
[0068] Em uma 11a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 8a até a 10a concretização, em uma das repetições, o subconjunto selecionado de amostras de referência compreende todas as amostras de referência.
[0069] Em uma 12a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 8a até a 11a concretização, existem três repetições (ou iterações) de filtragem de pré-predição. As primeiras duas repetições são executadas em relação às amostras de referência originais para obter amostras de referência filtradas, enquanto a terceira repetição é executada em relação às amostras de referência filtradas obtidas nas duas primeiras repetições.
[0070] Em uma 13a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 8a até a 12a concretização, em uma primeira repetição, o respectivo subconjunto de amostras de referência é filtrado baseado no tamanho do bloco a ser reconstruído e/ou no modo de predição que foi empregado para codificar o bloco a ser reconstruído; em uma segunda repetição, o respectivo subconjunto de amostras de referência compreende amostras de referência de um ou mais blocos para os quais nenhum resíduo foi codificado no fluxo de vídeo codificado; e em uma terceira repetição, um filtro de debloca- gem é aplicado para as amostras de referência filtradas na primeira ou na segunda repetição, a amostras de referencia filtradas são amostras de referência nos limites entre blocos decodificados.
[0071] Em uma 14a concretização ilustrativa, a qual é uma implementação mais detalhada da 7a ou da 13a concretização, o método adicionalmente compreende adicionar um resíduo decodificado para o dito bloco a ser decodificado para o dito bloco reconstruído para obter um bloco decodificado, e aplicar um filtro de deblocagem em repetição para o bloco decodificado.
[0072] Em uma 15a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 1a até a 14a concretização, as amostras de referência formam dois arranjos unidimensionais, um arranjo compreendendo uma coluna de amostras de um ou mais blocos adjacentes decodificados à direita ou à esquerda do bloco a ser decodificado, e o outro arranjo compreendendo uma fileira de amostras de um ou mais blocos adjacentes decodificados na parte de cima ou na parte de baixo do bloco a ser decodificado.
[0073] Em uma 16a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 8a até a 15a concretização, onde a filtragem de pré-predição compreende aplicar um filtro de sua- vização para pelo menos um subconjunto das amostras de referência.
[0074] Em uma 17a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 1a, 2a e 6a até a 16a concretização, a predição interinterpredição é utilizada para reconstruir o bloco de pixels.
[0075] Em uma 18a concretização ilustrativa, a qual é uma implementação mais detalhada da 17a concretização, as amostras de referência definem uma área de referência bidimensional dentro de um ou mais blocos decodificados a ser utilizada para predição interinterpredi- ção quando reconstruindo o bloco. Adicionalmente, um dos subconjuntos de amostras de referência sujeito à filtragem de pré-predição compreende amostras de referência pertencendo a um bloco decodificado para o qual um resíduo foi codificado no fluxo de vídeo codificado.
[0076] Em uma 19a concretização ilustrativa, a qual é uma implementação mais detalhada da 17a concretização, as amostras de referência definem uma área de referência bidimensional dentro de um ou mais blocos decodificados a ser utilizada para predição interinterpredi- ção quando reconstruindo o bloco. Neste método, a determinação dos subconjuntos de amostras de referência para os quais um filtro é para ser aplicado antes da predição interinterpredição compreende determinar vários subconjuntos distintos de amostras de referência baseado no resultado da execução de uma detecção de borda em relação às amostras de referência da dita área de referência bidimensional. Adici- onalmente, a filtragem de pré-predição compreende filtrar as amostras de referência dos subconjuntos utilizando diferentes parâmetros de filtro.
[0077] Em uma 20a concretização ilustrativa, a qual é uma implementação mais detalhada da 17a concretização, onde a predição inte- rinterpredição com múltiplas referência é utilizada para reconstruir o bloco, e as amostras de referência definem uma pilha de áreas de referência bidimensionais a partir dos diferentes quadros de referência a ser utilizada para predição interinterpredição quando reconstruindo o bloco. Neste método, a determinação dos subconjuntos de amostras de referência para os quais um filtro é para ser aplicado antes da predição compreende determinar vários subconjuntos distintos de amostras de referência dentro da dita pilha de áreas de referência bidimensionais baseado no resultado de executar uma detecção de borda em relação às amostras de referência, e a filtragem de pré-predição compreende filtrar as amostras de referência dos subconjuntos utilizando diferentes parâmetros de filtro; e
[0078] onde reconstruir o bloco compreende predizer o bloco por calcular uma soma ponderada de amostras de referência filtradas a partir da pilha de áreas de referência bidimensionais.
[0079] Uma 21a concretização ilustrativa proporcionar outra implementação do aspecto mencionado acima e se relaciona com um aparelho para reconstruir blocos de uma imagem utilizando predição. O aparelho compreende uma memória temporária de amostra de referência para armazenar um ou mais blocos já decodificados a serem utilizados para predizer um bloco a ser reconstruído; uma unidade de processamento configurada para selecionar um primeiro subconjunto das amostras de referência e um segundo subconjunto das amostras de referência a partir da dita memória temporária de amostra de referência; uma unidade de filtro configurada para executar uma filtragem de pré-predição das amostras de referência selecionadas do primeiro subconjunto e do segundo subconjunto, onde os parâmetros de filtro para filtrar as amostras de referência do primeiro subconjunto diferem dos parâmetros de filtro para filtrar as amostras de referência do segundo subconjunto; e uma unidade de predição configurada para reconstruir o bloco por predição baseada nas amostras de referência incluindo as amostras de referência filtradas por pré-predição do primeiro subconjunto e do segundo subconjunto.
[0080] Em uma 22a concretização ilustrativa, a qual é uma implementação mais detalhada da 21a concretização, a unidade de processamento é configurada para determinar o tamanho do bloco a ser reconstruído e/ou o modo de predição que foi empregado para codificar o bloco a ser reconstruído; e a unidade de processamento é adicionalmente configurada para determinar se o primeiro e/ou segundo subconjunto de amostras de referência e/ou a seleção de parâmetros para a filtragem de pré-predição são baseados no tamanho e/ou no modo de predição.
[0081] Em uma 23a concretização ilustrativa, a qual é uma implementação mais detalhada da 21a ou da 22a concretização, a intrapre- dição é utilizada para reconstruir o bloco, e a unidade de processamento é configurada para determinar se a intrapredição está de acordo com um modo vertical, com um modo horizontal, ou com um modo angular. A unidade de processamento é configurada para causar que a unidade de filtro aplique a filtragem de pré-predição para amostras de referência do primeiro subconjunto e do segundo subconjunto, no caso de a intrapredição estar de acordo com o modo angular. Adicionalmente, a unidade de processamento é configurada para causar que a unidade de filtro aplique a filtragem de pré-predição para amostras de referência localizadas à esquerda e/ou abaixo à esquerda do bloco a ser reconstruído, no caso da intrapredição estar de acordo com o mo- do vertical. Além disso, a unidade de processamento é configurada para causar que a unidade de filtro aplique a filtragem de pré-predição para as amostras de referência localizadas acima e/ou acima à direita do bloco a ser reconstruído, no caso da intrapredição estar de acordo com o modo horizontal.
[0082] Em uma 24a concretização, a qual é uma implementação mais detalhada da 23a concretização, o primeiro subconjunto compreende amostras de referência localizadas à esquerda e/ou ou abaixo à esquerda do bloco a ser reconstruído, e o segundo primeiro subconjunto compreende amostras de referência localizadas acima e/ou acima à direita do bloco a ser reconstruído.
[0083] Em uma 25a concretização ilustrativa, a qual é uma implementação mais detalhada da 23a ou da 24a concretização, a unidade de processamento é configurada para determinar se a intrapredição está de acordo com um modo vertical, com um modo horizontal, ou com um modo angular. A unidade de processamento é configurada para causar que a unidade de filtro aplique a filtragem de pré-predição para todas as amostras de referência, no caso da intrapredição estar de acordo com o modo diagonal.
[0084] Em uma 26a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 21a até a 25a concretização, o segundo subconjunto compreende amostras de referência de um ou mais blocos para o qual nenhum resíduo foi codificado no fluxo de vídeo codificado; e a unidade de predição é configurada para reconstruir o bloco baseada nas amostras de referência incluindo o primeiro subconjunto filtrado de amostras de referência e o segundo subconjunto filtrado de amostra de referência.
[0085] Em uma 27a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 21a até a 26a concretização, o aparelho compreende um filtro de deblocagem configurado para executar uma deblocagem das amostras de referência filtradas por pré-predição de diferentes blocos decodificados antes da predição. As amostras de referência filtradas por pré-predição são amostras de referência nos limites entre blocos decodificados.
[0086] Uma 28a concretização ilustrativa proporciona outra implementação do aspecto mencionado acima e se relaciona com um aparelho para reconstruir blocos de imagem utilizando predição. O aparelho compreende uma memória temporária de amostra de referência para armazenar um ou mais blocos já decodificados a serem utilizados para predizer um bloco a ser reconstruído; uma unidade de processamento configurada para selecionar um subconjunto das amostras de referência para o qual um filtro é para ser aplicado antes da predição; uma unidade de filtro adaptada para executar uma filtragem de pré- predição das amostras de referência selecionadas do subconjunto; e uma unidade de predição configurada para reconstruir o bloco por predição baseada nas amostras de referência incluindo as amostras de referência filtradas do subconjunto. A unidade de processamento e a dita unidade de filtro são configuradas para repetir a seleção do subconjunto e a filtragem de pré-predição das amostras de referência do subconjunto antes da reconstrução do bloco por predição.
[0087] Em uma 29a concretização ilustrativa, a qual é uma implementação mais detalhada da 28a concretização, a unidade de filtro é configurada para utilizar diferentes parâmetros para filtrar as amostras de referência do subconjunto nas repetições.
[0088] Em uma 30a concretização ilustrativa, a qual é uma implementação mais detalhada da 28a ou 29a concretização, a dita unidade de processamento é configurada para selecionar, nas diferentes repetições, subconjuntos que são distintos ou se sobrepõem.
[0089] Em uma 31a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 28a até a 30a concretiza- ção, em uma das repetições (as quais também poderiam ser referidas como iterações), o subconjunto selecionado de amostras de referência compreende todas as amostras de referência.
[0090] Em uma 32a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 28a até a 31a concretização, existem três repetições (ou iterações). A unidade de processamento e a unidade de filtro são configuradas para executar as primeiras duas repetições com as amostras de referência originais para obter amostras de referência filtradas, e para executar a terceira repetição em relação às amostras de referência filtradas obtidas nas primeiras duas repetições.
[0091] Em uma 33a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 28a até a 32a concretização, em uma primeira repetição, a unidade de filtro filtra o respectivo subconjunto de amostras de referência baseada no tamanho do bloco a ser reconstruído e/ou no modo de predição que foi empregado para codificar o bloco a ser reconstruído; em uma segunda repetição, o respectivo subconjunto de amostras de referência compreende amostras de referência de um ou mais blocos para os quais nenhum resíduo foi codificado no fluxo de vídeo codificado; e em uma terceira repetição, a unidade de filtro aplica um filtro de deblocagem para as amostras de referência filtradas na primeira ou na segunda repetição, as amostras de referência filtradas são amostras de referência nos limites entre blocos decodificados.
[0092] Em uma 34a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 27a ou a 33a concretização, o aparelho adicionalmente compreende uma unidade de soma configurada para adicionar um resíduo decodificado para o bloco a ser decodificado para o bloco reconstruído para obter um bloco decodificado, e um filtro de deblocagem em repetição configurado para aplicar a de- blocagem para o bloco decodificado.
[0093] Em uma 35a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 21a até a 34a concretização, a unidade de filtro é configurada para aplicar um filtro de suaviza- ção para pelo menos um subconjunto das amostras de referência.
[0094] Em uma 36a concretização ilustrativa, a qual é uma implementação mais detalhada de uma dentre a 21a até a 35a concretização, o aparelho é um aparelho de codificação para codificar imagens de um vídeo, ou um aparelho de decodificação para decodificar imagens codificadas de um fluxo de vídeo.
[0095] O aspecto mencionado acima e sua implementação de acordo com uma das diferentes concretizações discutidas neste documento também pode ser implementado em um meio de armazenamento legível por computador. Tal meio pode armazenar instruções que, quando executadas por uma unidade de processamento, causam que a unidade de processamento execute o método para reconstruir blocos de imagem utilizando predição de acordo com uma das várias concretizações descritas neste documento.
BREVE DESCRIÇÃO DAS FIGURAS
[0096] No dito a seguir, são descritas concretizações da invenção em maiores detalhes com referência às figuras anexas e aos desenhos. Detalhes similares ou correspondentes nas figuras são marcados com os mesmos números de referência.
[0097] A Fig. 1 apresenta um fluxograma ilustrativo de uma filtragem de pré-predição para uso na intrapredição de um bloco a ser decodificado, de acordo com uma concretização ilustrativa da invenção.
[0098] A Fig. 2 apresenta um fluxograma de uma implementação ilustrativa da filtragem de pré-predição dependente de tamanho e do modo na Fig. 1.
[0099] A Fig. 3 apresenta um fluxograma de uma implementação ilustrativa do processamento de amostras de referência para modos de predição angular na filtragem de pré-predição dependente do tamanho e do modo da Fig. 2.
[00100] A Fig. 4 exemplifica amostras de referência principal e lateral para diferentes modos de predição angular.
[00101] A Fig.5 exemplifica as amostras de referência para reconstruir um dado bloco de pixels de acordo com uma concretização da invenção, e o processamento das amostras de referência de acordo com as etapas 102 e 103 da filtragem de pré-predição da Fig. 1.
[00102] A Fig. 6 exemplifica o processamento de amostras de referência de acordo com uma concretização da invenção para o processamento das amostras de referência de acordo com a etapa 102 da Fig. 1,
[00103] A Fig. 7 apresenta um fluxograma do processamento das amostras de referência de acordo com a etapa 102 da Fig. 1, de acordo com uma concretização ilustrativa da invenção,
[00104] A Fig. 8 apresenta um fluxograma do processamento das amostras de referência de acordo com a etapa 103 da Fig. 1, de acordo com uma concretização ilustrativa da invenção,
[00105] A Fig. 9 apresenta uma implementação ilustrativa de um filtro de deblocagem de acordo com uma concretização da invenção,
[00106] A Fig. 10 apresenta uma estrutura de hardware ilustrativa para parametrizar um filtro de deblocagem de acordo com uma concretização da invenção,
[00107] A Fig. 11 exemplifica o processamento paralelo de subconjuntos de amostras de referência de acordo com uma concretização da invenção,
[00108] A Fig. 12 apresenta uma classificação ilustrativa de amostras de referência em uma área bidimensional utilizando um filtro de borda, de acordo com uma concretização da invenção,
[00109] A Fig. 13 exemplifica outro processamento paralelo de subconjuntos de amostras de referência de acordo com uma concretização da invenção, os subconjuntos tendo sido obtidos, por exemplo, pela classificação da Fig. 12,
[00110] A Fig. 14 exemplifica a pré-predição de um bloco baseada nas amostras de referência em diferentes imagens,
[00111] A Fig. 15 apresenta uma fluxograma ilustrativo exemplificando o processo de bipredição, de acordo com uma concretização da invenção,
[00112] A Fig. 16 apresenta um diagrama de blocos simplificado de uma concretização ilustrativa de um aparelho de codificação de acordo com uma concretização da invenção,
[00113] A Fig. 17 apresenta um diagrama de blocos simplificado de uma concretização ilustrativa de um aparelho de decodificação de acordo com uma concretização da invenção,
[00114] A Fig. 18 apresenta um processo de levantamento para MCTF, e
[00115] A Fig. 19 apresenta outra implementação ilustrativa de um filtro de deblocagem de acordo com uma concretização da invenção.
DESCRIÇÃO DETALHADA
[00116] Os parágrafos seguintes irão descrever várias implementações e concretizações dos diferentes aspectos. Como já citado acima, um aspecto da invenção se relaciona com filtragem de pré-predição de amostras de referência que são para ser utilizadas em predizer um bloco de uma imagem, por exemplo, como parte de um processo de codificação ou de decodificação. Os aprimoramentos para as técnicas de predição discutidas neste documento são, inter alia, aplicáveis para predição de bloco utilizando intrapredição ou inter. As técnicas de pré- predição para reduzir influência do ruído sobre as amostras preditas de um bloco a ser reconstruído. Amostras de referência (as quais tam- bém poderiam ser referidas como os respectivos valores dos pixels do dado bloco de uma imagem) que são utilizadas para reconstruir um dado bloco de pixels de uma imagem são categorizadas ou segmentadas em subconjuntos. Os subconjuntos podem ser processados de forma diferente, por exemplo, os subconjuntos podem ser sujeitos a filtros distintos. Exemplos de tais filtros incluem filtros de suavização e/ou filtros de deblocagem, os quais são aplicados para as respectivas.
[00117] Nas concretizações seguintes, será feita referência principalmente à intrapredição de um bloco de pixels de uma imagem baseada nas amostras de referência de outros blocos, os quais já foram decodificados antecipadamente. Entretanto, deve ser aparente que os princípios discutidos neste documento também podem ser aplicados para interpredição.
[00118] A Fig. 1 apresenta um fluxograma que exemplifica as etapas de filtragem de pré-predição de acordo com uma concretização ilustrativa da invenção. Aqui, um caso unidimensional de processamento de amostras de referência para intrapredição é assumido. Tipicamente, mas não limitado a isso, as amostras de referência (valores de pixels) para um bloco a ser reconstruído são pegas a partir de blocos adjacentes à esquerda (e abaixo à esquerda) e na parte de cima (e à direta na parte de cima) em relação ao bloco a ser reconstruído. O número de blocos a partir dos quais as amostras de referência são pegas depende, por exemplo, do tamanho do bloco a ser reconstruído, bem como do tamanho dos blocos adjacentes. Por exemplo, as amostras de referência poderiam ser as amostras (valores de pixel) da coluna mais à direita nos bloco(s) esquerdo adjacente e as amostras (valores de pixel) da fileira de baixo no bloco(s) adjacente acima (na parte de cima do) do bloco a ser reconstruído, como exemplificado na Fig. 3. As amostras de referência, por exemplo, podem ser proporcionadas em uma memória temporária de amostra de referência e a unidade de predição prediz o bloco baseada nas amostras armazenadas na memória temporária de predição. O número de blocos de referência e de amostras de referência requerido para predizer um bloco atual (por exemplo, um TU na codificação de vídeo H.265) pode depender do tamanho NxM do bloco atual. Pode-se assumir para propósito ilustrativo - como apresentado na Fig. 5 - que na direção vertical, amostras de referência são obtidas a partir de todos os blocos 502 à esquerda e abaixo à esquerda na faixa 2N em relação ao canto superior esquerdo do bloco atual, e na direção horizontal, amostras de referência são obtidas a partir de todos os blocos 501 acima e acima à direita na faixa 2M em relação ao canto superior esquerdo do bloco atual. Obviamente, M também pode ser igual a N.
[00119] Pode ser assumido para propósito ilustrativo que no começo da filtragem de pré-predição, as amostras de referência decodificadas para reconstruir um dado bloco são proporcionadas em uma memória temporária de amostra de referência de um aparelho de codificação ou de decodificação e podem ser acessadas nas etapas 101, 102 e 103 apresentadas na Fig. 1. Observe que uma das etapas 101 e 102 é opcional, de modo que as etapas 101 e 103 são executadas, as etapas 102 e 103 são executadas, ou todas as etapas 101, 103 e 103 são executadas.
[00120] A etapa 101 do processamento de amostra de referência é uma filtragem dependente do tamanho e Don modo que será discutida em conexão com a Fig. 2 abaixo neste documento em detalhes adicionais. A etapa 102 é um processamento especial de amostras de referência que são obtidas a partir de blocos decodificados para os quais nenhum sinal residual é codificado no fluxo de bits de vídeo. A etapa 103 é um filtro de deblocagem, o qual é aplicado para as amostras de referência nos limites do bloco dos blocos de referência. Enquanto as etapas 101 e 102 operam em relação às amostras de referência originais ("não modificadas"), a etapa 03 utiliza as amostras de referência processadas obtidas na etapa 101 e/ou na etapa 102.
[00121] A Fig. 2 apresenta um fluxograma ilustrativo para o processamento geral do bloco quando da reconstrução por meio de predição dependendo de seu modo de predição. Por exemplo, quando aplicando a invenção para a codificação de vídeo H.265, podem existir 35 modos de intrapredição, e 33 dos mesmos são modos de predição angular (incluindo diagonal, vertical, horizontal e modos angulares "verdadeiros"). O ângulo de intrapredição depende do índice Nam de um modo angular. Esta dependência é linear, isto é, um valor mais elevado do índice de modo Nam indica um maior valor do ângulo de predição. Para o propósito de generalidade, índices de modo angular míni-mo e máximo são denotados por Nmin e Nmax, respectivamente. No caso particular do padrão HEVC/H.265, Nmin = 2 e Nmax = 34, enquanto Nam = 0 indica um modo plano e Nam = 1 indica um modo CC. No modo plano, os pixels preditos são calculados como uma soma de duas interpolações bilineares: horizontal e vertical. Quando o modo de predição CC é selecionado, os pixels preditos são iguais ao valor médio de pixels de referência. Entretanto, para intrapredição CC de blocos possuindo tamanho menores do que 32 pixels, a primeira coluna e a primeira fileira de um bloco predito são calculadas como uma soma ponderada de pixels de referência correspondentes com o valor médio destes pixels de referência.
[00122] Como apresentado na Fig. 2, primeiro, é verificado se um dado bloco foi predito utilizando o modo CC 201 (por exemplo, por verificar se Nam = 1), e se este for o caso, nenhuma filtragem de pré- predição pode ser aplicada. A seguir, é verificado se o bloco foi predito utilizando o modo plano 202 (por exemplo, por verificar se Nam = 0). Se o modo plano for utilizado, todas as amostras de referência podem ser sujeitas a um filtro, por exemplo, um filtro de suavização, tal como um filtro de passa baixa (LPF).
[00123] Se o processamento do bloco a ser reconstruído não for o modo CC nem o modo plano, uma intrapredição de modo angular foi utilizada para o dado bloco. O processamento 204 de um bloco sujeito à intrapredição do modo angular de acordo com uma concretização ilustrativa da invenção é apresentado no fluxograma da Fig. 3.
[00124] Como indicado acima, o índice de modo Nam pode indicar várias direções especiais que poderiam ser selecionadas a partir destes modos angulares, especificamente: horizontal, vertical e diagonal. Cada uma destas direções possui um conjunto de índices de modo nominal
Figure img0002
associado com as mesmas. Por exemplo, os modos diagonais podem ser associados com os índices de modo
Figure img0003
o modo vertical pode ser associado com o índice de modo
Figure img0004
, e o modo horizontal ser associado com o índice de modo
Figure img0005
. Entretanto, estes índices ilustrativos não são pretendidos para ser limitativos.
[00125] Para verificar se um dado índice de modo de entrada Nam pertence a uma direção específica, uma faixa especial Ram pode ser especificada. A faixa Ram pode ser determinada baseada no tamanho do bloco STU do bloco a ser reconstruído. Por exemplo, para blocos maiores, valores de faixa maiores poderiam ser utilizados. A verifica- ção de se N am pertence a uma direção específica (definida por
Figure img0006
e Ram) poderia ser escrita como a seguir:
Figure img0007
[00126] O fluxograma ilustrativo da filtragem adaptável ao tamanho e ao modo 204 para diferentes modos angulares é apresentada na Fig. 3. Os modos de intrapredição angular disponíveis nesta concretização ilustrativa são o modo diagonal, modo vertical, modo horizontal, e modo angular (outro).
[00127] Na etapa 2401, o índice de modo Nam e o tamanho de bloco STU do bloco a ser reconstruído são obtidos para determinar o caso de intrapredição angular: predição vertical, horizontal, diagonal ou arbitrária. No modo diagonal, a predição das amostras de um bloco é baseada nas amostras de referência obtidas a partir dos blocos adjacentes esquerdo (e opcionalmente, abaixo à esquerda) e de cima (e opcionalmente de cima à direita). No modo vertical, a predição das amostras de um bloco é baseada nas amostras de referência obtidas a partir do bloco(s) de referência adjacente na parte de cima / acima (e opcionalmente, na parte de cima/ acima à direita) do bloco a ser reconstruído. Se o caso de intrapredição diagonal ocorrer, o índice de modo Nam e o tamanho de bloco STU produzem um caso diagonal de intra- predição, o que poderia ser determinado, por exemplo, por verificar se
Figure img0008
. Neste caso, todas as amostras de referência são sujeitas a um filtro 2403 (caso D para a tabela apresentada abaixo), por exemplo, um filtro de suavização, tal como um filtro de passa baixa (LPF).
[00128] Se o modo não é modo diagonal, a seguir é verificado 2404 se o modo de intrapredição é o modo horizontal, no qual a predição das amostras de um bloco é baseada nas amostras de referência obtidas a partir do bloco(s) de referência adjacente acima (e opcionalmente acima à direita) do bloco a ser reconstruído. Se intrapredição do modo horizontal é utilizada, as amostras de referência do bloco(s) acima e acima à direita (se presentes) são filtradas 2405 (caso C para a tabela apresentada abaixo) e se intrapredição do modo vertical é utilizada, as amostras de referência do bloco(s) à esquerda e de baixo à esquerda (se presente) são filtradas 2407 (caso B para a tabela apre-sentada abaixo).
[00129] O caso de predição angular arbitrária ocorre quando o índice de modo Nam não determina casos horizontal, vertical ou diagonal, como descrito acima (veja a Fig. 4). Neste caso, se o índice de modo Nam está produzindo mais em direção a direção horizontal, as amostras de referência do bloco(s) adjacente à esquerda (e abaixo à esquerda) do bloco a ser reconstruído estão formando um primeiro subconjunto (amostras de referência principais) e as amostras de referência do bloco(s) adjacente acima (e acima à direita) do bloco a ser reconstruído estão formando um segundo subconjunto (amostras de referência laterais). As amostras de referência principais e as amostras de referência laterais são sujeitas 2408 a filtros diferentes (caso A para a tabela apresentada abaixo), por exemplo, filtros de suavização, tal como um LPF - isto é, os parâmetros do filtro dos dois filtros são diferentes uns dos outros. Quando índice de modo Nam está produzindo mais em direção à direção vertical, as amostras de referência, principais e laterais, correspondem por consequência ao primeiro e ao segundo subconjuntos.
[00130] Em qualquer um dos casos discutidos acima, as amostras de referência filtradas podem ser armazenadas na memória temporária de amostra de referência para uso na etapa 103 (ou atualizadas na etapa 102).
[00131] A tabela abaixo ilustra uma configuração de filtro ilustrativa para a filtragem de pré-predição dependente do modo e do tamanho das amostras de referência de acordo com a Fig. 3. As letras nos cabeçalho da tabela indicam uma variação (caso A, B, C, D) descrita em conexão com a Fig. 3 acoima. O tamanho TU indica o tamanho (N x N pixels) do bloco a ser reconstruído. Os coeficientes de filtro são fornecidos dentro de colchetes e não são normalizados, isto é, cada um dos mesmos deve ser dividido em relação à soma dos coeficientes de filtro de modo que a soma de coeficientes após sua normalização deva ser igual a um. Os coeficientes de filtro especificados como "[1]" indicam casos específicos quando nenhuma filtragem deve ser aplicada.
Figure img0009
[00132] Como pode ser visto a partir da tabela, a filtragem das amostras de referência depende de seu modo de intrapredição e do tamanho do bloco a ser reconstruído.
[00133] Poderia ser observado que na tabela acima, o valor filter- _flag está presente. Este valor é sinalizado em um fluxo de bits de vídeo e índica variações adicionais de seleção de filtro especificadas pela tabela descrita acima. A sinalização deste indicador poderia ser executada explicitamente ou implicitamente. A sinalização implícita poderia ser implementada utilizando técnicas de ocultação de dados, por exemplo, similares à Sign Data Hiding descrita em "Sign Data Hiding" de Gordon Clare, Félix Henry, Joel Jung, Orange Lab’s contribui- tion to JCT-VC meeting, JCTVC-G273, Genebra, Novembro de 2011, o qual é incorporado neste documento por referência
[00134] A seguir, as etapas 102 e 103, como apresentadas na Fig. 1, serão descritas em detalhes adicionais. O processamento nas etapa 102 e 103 é exemplificado utilizando a Fig. 5, a qual apresenta a re-construção de um bloco utilizando amostras de referência a partir de blocos adjacentes (já decodificados). Como apresentado na Fig.5, é assumido que o bloco a ser reconstruído possui um tamanho de N x M pixels (M também pode ser igual à N). Na direção vertical, as amostras de referência são obtidas a partir de todos os blocos 502 à esquerda e abaixo à esquerda na faixa 2N relativa ao canto superior esquerdo do bloco atual (aqui, elas formam as colunas mais à direita de pixels dos blocos 502). Na direção horizontal, amostras de referência são obtidas a partir de todos os blocos 501 acima e acima à direita na faixa 2M em relação ao canto superior esquerdo do bloco atual (aqui, elas formam a fileira mais baixa de pixels dos blocos 501). Assim, a Fig. 5 assume uma intrapredição do modo diagonal ou angular diferente do modo horizontal ou do modo vertical (onde poderia existir amostras de referência a partir somente dos blocos 502 ou dos blocos 501, respectivamente).
[00135] Em uma implementação das etapas 102 e 103, o conjunto de amostras de referência é dividido em vários subconjuntos de acordo com a configuração de blocos adjacentes e com a presença de resíduos nos mesmos. Em uma implementação ilustrativa da etapa 102, é verificado se as amostras de referência são a partir de um bloco para o qual nenhum resíduo é codificado no fluxo de vídeo. No H.265, a presença de sinal residual pode ser determinada utilizando valores de dois indicadores:
[00136] • indicador de salto de transformada (TSk). Este indica se a codificação residual foi saltada no lado do codificador para um compo- nente de cor sendo processado. TSk igual a 1 significa que resíduos não devem ser processados e, por conseqüência, o fluxo de bits não contém coeficientes de transformada quantizados.
[00137] • indicadores cbf_luma, cbf_cb ou cbf_cr. Se um indicador for igual a zero, isto significa que para o componente de cor especificado de uma dada quantização de bloco de resíduo transformado não proporcionou qualquer coeficiente de transformada quantizado que não seja zero. CBFk denota um destes indicadores dependendo de um componente de cor sendo processado.
[00138] À medida que estes blocos são reconstruídos a partir somente da predição, mas nenhum sinal residual é adicionado, o ruído no bloco reconstruído (e assim, as amostras de referência a partir deste bloco) é reduzido, à medida que nenhum ruído de quantização (o qual poderia estar presente em um sinal residual) é adicionado, de modo que as amostras de referência são mais suaves. Portanto, de acordo com uma implementação ilustrativa, as amostras de referência (não modificadas) a partir de blocos de referência que são reconstruídos sem um sinal residual são filtradas pela aplicação de outros filtro "mais fraco" do que este / estes utilizados para a filtragem de pré- predição de amostras de referência na etapa 101 (observe que "não modificadas" pretende expressar que a filtragem na etapa 102 é executada em relação às amostras de referência originais, e não as amostras de referência filtradas da etapa 101). Aplicar um filtro mais fraco significar distorcer menos o sinal de entrada, isto é, a filtragem mais fraca é o menor que seja o valor da diferença média quadrada entre os sinais de entrada e saída. Por exemplo, os coeficientes de filtro para filtrar as amostras de referência do bloco de referência não possuindo um sinal residual em comparação com estes utilizados na etapa 01 da Fig. 1 são diferentes. Fazendo novamente referência à tabela acima e considerando o caso A, o arranho de coeficientes de filtro [2 3 6 3 2] na etapa 101 para filtrar as amostras de referência principais poderia ser substituído pelos coeficientes de filtro [1 2 1] na etapa 102, e ao invés do filtro [1 6 1] da etapa 101, as amostras de referência laterais não são filtradas. A última alteração dos coeficientes também poderia ser expressa na forma de uma filtragem [1]. O processamento de amostras de referência de acordo com a etapa 102 pode depender do tamanho STU do bloco a ser reconstruído e da direção de predição angular. Por exemplo, em uma implementação ilustrativa, a etapa 102 somente pode ser executada para blocos maiores ou iguais a 16 x 16 pixels e/ou somente no caso do modo de intrapredição não ser o modo horizontal, o modo vertical ou o modo diagonal.
[00139] A Fig. 7 apresenta um fluxograma ilustrativo da filtragem na etapa 102, onde amostras de referência de blocos que não possuem sinal residual são filtradas antes da predição em um processo iterativo. O índice de bloco k e o índice de amostra de referência i são inicializa- dos 701, 702 para zero. O processo seleciona 703 as Lk amostras de referência do próximo bloco adjacente k e verifica 704 para este bloco, se este bloco k possui um sinal residual ou não. Se o bloco k possuir um sinal residual, o processo continua para a etapa 706.
[00140] Se o bloco k não possuir sinal residual, então o processo continua para a etapa 705, onde as Lk amostras de referência do próximo bloco adjacente k são sujeitas a um filtro, por exemplo, um filtro de suavização, tal como um filtro de passa baixa. Observe que aqui nenhuma restrição adicional quanto ao tamanho do bloco é considerada, mas obviamente, tal parâmetro também poderia ser verificado como um critério de filtragem.
[00141] Nas etapas 706 e 707, o índice de amostra de referência i é incrementado por Lk e a variável de contagem k é incrementada por 1 para selecionar o próximo bloco adjacente. O processamento é terminado quando o índice de amostra de referência i excede 708 o número total de amostras de referência C. As amostras de referência filtradas na etapa 705 podem ser armazenadas em uma memória temporária de amostra de referência para uso posterior na predição. Observe que no caso de as etapas 101 e 102 serem ambas executadas em relação ao conjunto de amostras de referência, as amostras de referência filtradas na etapa 705 estão substituindo as amostras de referência cor-respondentes na memória de amostra de referência.
[00142] Na etapa 103, um filtro de deblocagem pode ser aplicado para as amostras de referência na memória de amostra de referência que foram sujeitas à filtragem nas etapas 101 e/ou 102 anterior. Isto também é indicado na Fig. 5 pelos blocos de amostras de referência possuindo setas duplas produzindo as amostras de referência nos limites de bloco nos quais a deblocagem é executada (veja também a Fig. 6). A deblocagem das amostras de referência pode reutilizar os mesmos algoritmos de deblocagem utilizados nos padrões conhecidos de codificação / decodificação de vídeo. Por exemplo, o algoritmo de de- blocagem para a deblocagem da amostra de referência pode ser o uti-lizado durante a filtragem em repetição do padrão de codificação de vídeo H.265. Entretanto, durante o processo de deblocagem da amos- tra de referência, os parâmetros de deblocagem (β e tc) devem ser di-ferentes dos parâmetros utilizados pela deblocagem em repetição. Os novos parâmetros de deblocagem para o filtro de deblocagem da amostra de referência poderiam ser derivados, por exemplo, utilizando os deslocamentos
Figure img0010
[00143] O papel destes deslocamentos é modificar as dependências de β e tc sobre o parâmetro de quantização (QP). A introdução de deslocamentos
Figure img0011
poderia ser ilustrada por um deslocamento horizontal ou vertical dos gráficos de dependências. O deslocamento horizontal é controlado pelo valor , e os deslocamentos verticais para β e tc são determinados por Δβ e Δtc, respectivamente. Os valores destes deslocamentos poderiam ser definidos como valores constantes, ou poderiam ser em função de QP. O último caso poderia ser implementado na forma de uma tabela de consulta, isto é, para cada valor QP, valores de três deslocamentos {ΔQP, Δβ, Δtc} poderiam ser definidos.
[00144] Uma implementação ilustrativa do processo de deblocagem da etapa 103 é exemplificada no fluxograma da Fig. 8. Na etapa 801, o valor do parâmetro de quantização (QP) é obtido. Adicionalmente, os parâmetros de deblocagem β e tc são calculados 802 como descrito acima (isto é, βmodif, e tcmodif são utilizados para deblocagem da amostra de referência) utilizando o parâmetro de quantização anteriormente definido. Similar à Fig. 7, o processo da Fig. 8 então repete através dos blocos adjacentes ao bloco a ser reconstruído e aplica o filtro de deblocagem para as amostras nos limites de dois blocos de referência adjacentes (como indicado na Fig. 5). Mais especificamente, o índice de bloco k (repetidor de bloco) e o índice de amostra de referência i são inicializados 803, 804 para um e zero, respectivamente. A seguir, Bk amostras de referência correspondendo ao limite de blocos com o índice k-1 e k são selecionadas 805 e um filtro de deblocagem é aplicado 806 para as Bk amostras de referência selecionadas, como esboçado acima. Nas etapas 807 e 808, o índice de amostra de referência i é incrementado pelo número Lk de amostras de referência do bloco atual k e o índice de bloco k é incrementado por um para selecionar o próximo bloco adjacente. O processamento é terminado quando o índice de amostra de referência i excede 809 o número total de amostras de referência C, similar à Fig. 7.
[00145] Em uma implementação vantajosa, a deblocagem da amos- tra de referência e a deblocagem em repetição da imagem reconstruída poderia utilizar o mesmo módulo de deblocagem em um aparelho de codificação de vídeo ou de decodificação de vídeo como exemplificado na Fig. 9. O filtro (módulo) de deblocagem recebe um sinal de controle de modo de deblocagem que causa a troca para trocar para a operação de filtro de deblocagem em repetição ou para a operação de filtro de deblocagem da amostra de referência. As amostras com a colocação em blocos retirada são gravadas junto à memória de imagem decodificada no caso de a deblocagem em repetição ser executada, ou junto à memória temporária de amostra de referência, no caso de a deblocagem de amostra de referência ser executada.
[00146] O fluxo de dados de tal módulo de filtro de deblocagem de acordo com a Fig. 9 é exemplificado na Fig. 10. Um multiplexador 1002 poderia ler os parâmetros do filtro para a deblocagem a partir da Memória Somente para Leitura (ROM) 1001. A ROM 1001 poderia, por exemplo, armazenar os parâmetros β e tc de acordo com o padrão de codificação de vídeo H.265. O multiplexador 002 e o demultiplexador 1004 são controlados por um sinal de controle de modo de debloca- gem. Se este sinal indicar operação de deblocagem em repetição, os parâmetros de deblocagem β e tc são emitidos a partir do demultiple- xador 1004 para o filtro de deblocagem. Se o sinal de controle de modo de deblocagem indicar filtragem de amostra de referência, os parâmetros β e tc são passados para o módulo de recálculo 1003, o qual calcula os parâmetros de deblocagem modificados βmodif e tcmodif para a deblocagem da amostra de referência baseado nos parâmetros β e tc. Neste caso, o demultiplexador 1004 emite os parâmetros de debloca- gem modificados βmodif e tcmodif para o filtro de deblocagem. O módulo de recálculo 1003 poderia ser implementado por um módulo de hardware especial que ajusta os valores de parâmetros armazenados na ROM 1001.
[00147] Uma implementação alternativa para uma implementação de filtro de deblocagem adaptável é apresentada na Fig. 18. A tomada de decisão para retirar a colocação em blocos é executada pela automação de controle que define um modo de filtragem. A automação operacional filtra amostras da memória temporária de entrada de acordo com o modo de filtragem proporcionado pela automação de controle. É digno de nota que o controle e a automação operacional podem utilizar diferentes amostras da memória temporária de entrada.
[00148] A deblocagem das amostras de referência poderia ser im-plementada como uma modificação do processo de deblocagem em repetição. Especificamente, as modificações seguintes poderiam ser introduzidas:
[00149] • Parâmetros da automação de controle, por exemplo, os parâmetros de deblocagem β e tc como descrito acima;
[00150] • Lógicas de automação operacional, isto é, o procedimento de controle de automação operacional;
[00151] • Lógicas de automação operacional, isto é, o procedimento de processamento de amostras;
[00152] • Todas as modificações listadas acima.
[00153] Geralmente, a implementação de hardware de pré-predição de subconjuntos individuais de amostras de referência poderia ser iterativa (como é, por exemplo, apresentado nas Figuras 7 e 8) ou em paralelo, como exemplificado na Fig. 11 abaixo. Entretanto, a paraleli- zação da filtragem de pré-predição utilizando vários encadeamentos como apresentado na Fig. 11 somente pode ser possível para processar subconjuntos que não estão se sobrepondo. Em essência, para processamento paralelo, os diferentes subconjuntos das amostras de referência são selecionados 101 são selecionados primeiro. Depois disso, cada subconjunto de amostras de referência pode ser processado em paralelo com outros subconjuntos em hardware dedicado. Este processamento pode incluir uma classificação de subconjunto 1102 que define qual procedimento de processamento 1103 deve ser aplicado para as amostras do subconjunto e um processamento / filtragem 1103 subsequente das amostras de referência do dado subconjunto.
[00154] Outra opção para obter uma implementação de hardware eficiente da filtragem de pré-predição é a técnica de pipeline: as etapas de classificação de subconjunto e de processamento de amostra podem ser processadas com módulos de hardware separados. Entretanto, a seleção da estratégia de implementação mais adequada depende de uma plataforma de hardware e das complexidade das operações de classificação e de processamento.
[00155] As concretizações descritas acima foram focadas sobre a intrapredição com o uso de amostras de referência unidimensionais. Entretanto, os conceitos acima para classificação de amostra de refe-rência e filtragem de pré-predição podem ser generalizados para um caso bidimensional, como, por exemplo, para predição de movimento (interpredição). A predição de movimento designa uma área de pixels de referência para um bloco sendo predito. Esta área é um arranjo bi-dimensional, isto é, uma matriz de valores de pixels reconstruídos. Estes valores possuem o problema similar de ruído de quantização como foi descrito para um caso unidimensional: O ruído de quantiza- ção pode ser distribuído de forma diferente dentro de uma área de referência. Esta diferença poderia ser estimada no lado do codificador / decodificador, por exemplo, pela classificação de pixels de referência utilizando dados na presença de sinal residual nas partições obtidas com quadtree como apresentando na Fig. 12.
[00156] Entretanto, também outro meios de classificações de amostra de referência podem ser definidos para uma matriz de pixels de referência bidimensional. Em outra implementação ilustrativa, a classifi- cação das amostras de referência em subconjuntos também poderia ser baseada nas técnicas de detecção de borda, a qual permite um mecanismo de processamento de pixels de referência adaptável ao conteúdo antes da interpredição. A técnica de detecção de borda poderia utilizar, por exemplo, o detector de borda de Canny, a transformada de Hough, a filtragem de Sobel e Prewitt. Um fluxograma ilustrativo de tal concretização é apresentado na Fig. 13.
[00157] Na Fig.13, pixels de amostra de referência são classificados 1301 de acordo com o processo de detecção de borda. Um dos modos possíveis para executar tal classificação é calcular valores de gradiente local e aplicar quantização em relação aos mesmos. Cada pixels de referência será associado com seu valor quantizado correspondente de gradiente local, e, por consequência, seria possível segmentar todos os pixels em classes de acordo com estes valores quantizados. Cada classe de pixel de referência pode ser processada utilizando seu próprio conjunto de parâmetros, por exemplo, intensidade de filtragem, intensidade de turvação, direção de filtragem, etc. A seleção 1302 destes parâmetros poderia ser executada localmente utilizando estatísticas estimadas separadamente para cada uma das classes. É digno de nota que a etapa de processamento de amostras de referência pode ser executada em paralelo. Cada uma das ramificações do processamento 1303 é associada com sua classe e, por consequência, deve utilizar seu próprio conjunto de parâmetros, o qual foi obtido na etapa anterior.
[00158] O processamento adaptável ao conteúdo das Figuras 12 e 13 também pode ser generalizado para arranjos de pixels de referência tridimensionais, como, por exemplo, utilizados pela interpredição com múltiplas referências (por exemplo, bi-predição). A Fig. 14 apresenta um exemplo deste tipo de interpredição. O bloco sendo predito depende de várias áreas de referência pertencendo a várias imagens de referência. Um fluxograma exemplificando o processo e bipredição é apresentado na Fig. 15. As áreas de referência são empilhadas em um arranjo tridimensional e são processadas 1501 utilizando filtragem de pixels de referência adaptável ao conteúdo. Esta operação possui as mesmas etapas que as apresentadas na Fig. 13. Entretanto, a detecção de borda e o processamento de amostras de referência são executados para arranjos tridimensionais neste caso. Conjuntos de pixels representando classes de amostras de referência igualmente possuem três dimensões.
[00159] A próxima etapa é calcular amostras preditas para o bloco sendo predito. Esta tarefa é executada no estágio de cálculo de média 1502. Cada uma das amostras preditas poderia ser definida como a soma ponderada das amostras correspondentes do arranjo tridimensional filtrado.
[00160] Outra concretização da invenção se relaciona com a codificação interquadro baseada no MCTF. Este procedimento de ergui- mento descrito acima e na Fig. 18 pode ser aplicado repetidamente de modo que uma representação de pirâmide poderia ser obtida. A filtragem de pré-predição das amostras de referência poderia ser utilizada na estrutura MCTF entre as repetições, de modo que α e β poderiam ser ajustados de acordo com o resultado da classificação. As etapas descritas na Fig. 13 poderiam ser utilizadas para obter classes para um arranjo de pixels tridimensional composto de H ou L valores calculados na dada repetição. Entretanto, a etapa de processamento de amostra de referência neste caso poderia ser descrita como um dos seguintes processos alternativos:
[00161] - ajuste de α e β;
[00162] - filtragem de L valores antes de eles serem passados para a próxima repetição de erguimento.
[00163] A Fig. 16 apresenta um diagrama de blocos simplificado de uma concretização ilustrativa de um aparelho de codificação de acordo com uma concretização ilustrativa da invenção.
[00164] O quadro fonte 1601 é dividido em quadtree dentro do pro-cedimento RDO 1602. Este procedimento seleciona o melhor modo de predição e tamanho de blocos de acordo com o custo da distorção de taxa (RD-cost). O custo é calculado como uma soma de distorção e de taxa ponderada. Este procedimento inclui enviar a transformada de frequência de sinal residual e a quantidade otimizada por RD do sinal residual transformado 1603. Quando calculando valores quantizados de coeficientes de transformada, é possível implicitamente sinalizar um indicador de filtro que seria adicionalmente utilizado pelo Filtro Adaptável de Amostras de Referência (RSAF) 1608.
[00165] O particionamento de um quadro fonte 1601 em um conjunto de quadtrees é armazenado em uma memória temporária de parti- cionamento LCU 1604, de modo que é possível restaurar a configuração de um quadtree que foi anteriormente codificado.
[00166] Os coeficientes quantizados produzidos pelo módulo 1602 são processados pelo codificador aritmético binário adaptável ao contexto (CABAC) 1605 e gravados dentro do fluxo de bits de saída. Alem desta operação, eles são passados para o dequantizador 1606 que preparar os coeficientes de transformada para transformada inversa adicional 1607. A transformada inversa gera sinal residual restaurado que é adicionalmente adicionado no domínio espacial com o sinal de predição por um adicionador 1611.
[00167] O sinal de predição poderia ser gerado por intrapredição 1609 ou por interpredição 1610. A intrapredição 1609 utiliza amostras de referência armazenadas na memória temporária de amostra de referência 1612 para gerar sinal de predição. A interpredição 1610 utiliza amostras de referência armazenadas na memória temporária de imagem decodificada 1618 para geração de sinal de predição.
[00168] A etapa de filtragem dependente do modo e do tamanho 101 apresentada na Fig. 1 requer que dados de modo e de tamanho devam ser passados a partir do módulo 1602 para o RSAF 608. Os dados de particionamento quadtree armazenados na memória temporária de particionamento LCU 1604 também são utilizados pelo RSAF 1608 para executar a etapa 102 da Fig. 1. A Partir da Fig. 16 também pode ser observado que o RSAF 1608 compartilha a memória temporária de amostra de referência 612 com o Filtro de Deblocagem de Amostras de Referência 1614. Os detalhes da utilização conjunta da memória temporária de amostra de referência 1612 pelo RSAF 608 e pelo RSDF 164 são fornecidos na descrição da Fig. 1 para a etapa 103. O módulo RSDF poderia ser executado utilizando o mesmo hardware 615 que o filtro de deblocagem em repetição 1613. Entretanto, o RSDF 1614 poderia igualmente ser um módulo separado. O filtro de deblocagem em repetição 1615 reduz os artefatos da colocação em blocos introduzidos pela quantização 1603. A imagem retirada da colocação em blocos é adicionalmente processada por Deslocamento Adaptável de Amostra (SAO) não linear 1616. Entretanto, a aplicação do SAO 1616 não é obrigatória.
[00169] A imagem resultante 1617 poderia ser emitida a partir do codificador e deve coincidir com a imagem produzida pelo decodifica- dor a partir do fluxo de bits produzido pelo codificador. Esta imagem de saída poderia ser armazenada na memória temporária de imagem decodificada 1618, de modo que o módulo de interpredição 1610 poderia utilizar a mesma para compensação de movimento.
[00170] A Fig. 17 apresenta um diagrama de blocos simplificado de uma concretização ilustrativa de um aparelho de decodificação de acordo com uma concretização ilustrativa da invenção. O fluxo de bits de entrada codificado 1701 é processado por um decodificador por entropia 1702. Alguns dos valores decodificados correspondem aos coe- ficientes de transformada quantizados. Estes valores são adicionalmente processados por um dequantizador 1703. O resultado deste processo são valores de coeficientes que são adequados para o processo de transformada inversa 1705.
[00171] Outros valores restaurados pelo decodificador por entropia a partir do fluxo de bits de entrada poderiam ser utilizados para restaurar o particionamento de quadtree. Os dados de quadtree restaurados são adicionalmente gravados junto à memória temporária de particio- namento LCU 1704.
[00172] A estrutura do aparelho de decodificação e as etapas de processamento que ele executa são as mesmas que as descritas acima para o lado do codificador (veja a Fig. 16). A saída do processo de decodificação é a imagem reconstruída 1709 que deve ser a mesma que a imagem (denotada como 1617 na Fig. 16) que poderia ser obtida durante o processo de codificação se o fluxo de bits de entrada de-codificado 1701 fosse gerado durante este processo de codificação.
[00173] Apesar de alguns aspectos terem sido descritos no contexto de um método, é claro que estes aspectos também representam uma descrição do aparelho correspondente adequadamente adaptado para executar tal método. Em tal aparelho um bloco (funcional ou tangível) pode corresponder a uma ou mais etapa do método ou a um aspecto de uma etapa do método. De forma análoga, os aspectos descritos no contexto de um bloco correspondente ou de um item ou aspecto de um aparelho correspondente também podem corresponder às etapas individuais do método de um método correspondente.
[00174] Adicionalmente, os métodos descritos neste documento também podem ser executados por (ou utilizando) um aparelho de hardware, como processador (processadores), microprocessador (microprocessadores), um computador programável ou um circuito eletrônico. Uma ou mais das etapas do método mais importantes podem ser executadas por tal aparelho. Onde um aparelho foi descrito neste do-cumento em termos de blocos funcionais, deve ser adicionalmente en-tendido que estes elementos do aparelho podem ser totalmente ou parcialmente implementados em elementos / sistema de circuitos de hardware. Hardware individual, como processador (processadores) ou microprocessador (microprocessadores), etc., também pode ser utilizado para implementar a funcionalidade de um ou mais elementos do aparelho.
[00175] Em adição, onde informações ou dados são para ser arma-zenados no processo de implementar uma etapa do método de elemento funcional de um aparelho em hardware, o aparelho pode compreender memória ou meio de armazenamento, o qual pode ser comunicativamente acoplado com um ou mais elementos / sistemas de circuitos de hardware do aparelho.
[00176] Também é contemplado implementar os aspectos da invenção em hardware ou em software ou em uma combinação dos mesmos. Isto pode ser utilizando um meio de armazenamento digital, por exemplo, um disco flexível, um DVD, um Blu-Ray, um CD, uma ROM, uma PROM, uma EPROM, uma EEPROM ou uma memória FLASH, possuindo sinais de controle ou instruções eletronicamente legíveis armazenados nos mesmos, as quais cooperam (ou são capazes de cooperar) com um sistema de computador programável de modo que o respectivo método seja executado. Um portador de dados pode ser proporcionados, o qual possui sinais de controle ou instruções eletronicamente legíveis, os quais são capazes de cooperar com um sistema de computador programável, de modo que o método descrito neste documento seja executado.
[00177] Também é contemplado implementar os aspectos da invenção na forma de um produto de programa de computador com um código de programa, o código de programa sendo operativo para exe- cutar o método quando o produto de programa de computador executa em um computador. O código de programa pode ser armazenado em um portador legível por máquina.
[00178] O descrito acima é meramente ilustrativo, e é entendido que modificações e variações das disposições e dos detalhes descritos neste documento serão aparentes para os versados na técnica. Portanto, a intenção é estar limitado somente pelo escopo das reivindicações eminentes e não pelos detalhes específicos apresentados acima a título de descrição e de explicação.

Claims (20)

1. Método para reconstruir blocos de uma imagem usando predição, o método caracterizado pelo fato de que compreende: determinar amostras de referência de um ou mais blocos já decodificados para predizer um bloco a ser reconstruído, as amostras de referência correspondendo a um modo de predição empregado para codificar o bloco a ser reconstruído; selecionar um primeiro subconjunto das amostras de referência e um segundo subconjunto das amostras de referência; determinar os primeiros parâmetros de filtro para o primeiro subconjunto das amostras de referência e os segundos parâmetros de filtro para o segundo subconjunto das amostras de referência com base no modo de previsão e um tamanho do bloco a ser reconstruído, os primeiros parâmetros de filtro sendo diferentes dos segundos parâmetros de filtro ; realizar a filtragem de pré-predição do primeiro subconjunto das amostras de referência e do segundo subconjunto das amostras de referência usando os primeiros parâmetros de filtro e os segundos parâmetros de filtro, respectivamente, para gerar amostras de referência filtradas de pré-predição; e reconstruir o bloco a ser reconstruído por predição com base nas amostras de referência, incluindo as amostras de referência filtradas de pré-predição.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda determinar o tamanho do bloco a ser reconstruído e o modo de previsão.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que a intra-predição é usada para reconstruir o bloco, determinar o modo de predição empregado para codificar o bloco a ser reconstruído compreende determinar se a intra-predição está de acordo com um modo vertical, um modo horizontal, ou um modo angular, e a filtragem de pré-predição é realizada usando os primeiros parâmetros de filtro e os segundos parâmetros de filtro quando o modo de predição corresponde ao modo angular.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o segundo subconjunto compreende amostras de referência de um ou mais blocos para os quais nenhum resíduo foi codificado em um fluxo de vídeo codificado.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda aplicar, subsequentemente à realização da filtragem de pré-predição, um filtro de desbloqueio às primeiras amostras de referência filtradas das amostras de referência filtradas de pré-predição de diferentes blocos decodificados, em que as primeiras amostras de referência filtradas são amostras de referência nos limites entre os blocos decodificados.
6. Método para reconstruir blocos de imagem usando predição, caracterizado pelo fato de que compreende: determinar amostras de referência de um ou mais blocos já decodificados para predizer um bloco a ser reconstruído (804), as amostras de referência correspondendo a um modo de predição empregado para codificar o bloco a ser reconstruído; selecionar um primeiro subconjunto das amostras de referência e um segundo subconjunto das amostras de referência; determinar os primeiros parâmetros de filtro para o primeiro subconjunto das amostras de referência e os segundos parâmetros de filtro para o segundo subconjunto das amostras de referência com base no modo de previsão e um tamanho do bloco a ser reconstruído, os primeiros parâmetros de filtro sendo diferentes dos segundos parâmetros de filtro ; realizar a primeira filtragem de pré-predição do primeiro subconjunto das amostras de referência e do segundo subconjunto das amostras de referência usando os primeiros parâmetros de filtro e os segundos parâmetros de filtro, respectivamente, para gerar as primeiras amostras de referência filtradas; selecionar um terceiro subconjunto das amostras de referência para as quais nenhum resíduo foi codificado em um fluxo de vídeo codificado; realizar a segunda filtragem de pré-predição do terceiro subconjunto das amostras de referência usando os parâmetros do terceiro filtro para gerar segundas amostras de referência filtradas; e reconstruir o bloco por predição com base nas amostras de referência, incluindo pelo menos algumas das primeiras amostras de referência filtradas, as segundas amostras de referência filtradas ou uma combinação das mesmas.
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que os primeiros parâmetros de filtro, os segundos parâmetros de filtro ou ambos são diferentes dos parâmetros do terceiro filtro.
8. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que o terceiro subconjunto das amostras de referência inclui uma ou mais amostras de referência em pelo menos um do primeiro subconjunto ou do segundo subconjunto.
9. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que compreende ainda realizar o desbloqueio usando um filtro de desbloqueio, em que a primeira e a segunda filtragem de pré- predição são realizadas antes de realizar o desbloqueio.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que o desbloqueio é realizado em uma ou mais das primeiras amostras de referência filtradas ou as segundas amostras de referência filtradas.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que uma ou mais das primeiras amostras de referência filtradas ou as segundas amostras de referência filtradas nas quais o desbloqueio é realizado são amostras de referência nos limites entre os blocos decodificados.
12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que compreende ainda: adicionar um resíduo decodificado para o bloco a ser decodificado ao bloco a ser reconstruído a fim de obter um bloco decodificado, e aplicar um filtro de desbloqueio em loop ao bloco decodificado.
13. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que as primeiras amostras de referência formam duas matrizes unidimensionais, uma matriz compreendendo uma coluna de amostras de um ou mais blocos vizinhos decodificados à esquerda ou à direita do bloco a ser decodificado, e outra matriz compreende uma linha de amostras de um ou mais blocos vizinhos decodificados na parte superior ou inferior do bloco a ser decodificado.
14. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que a primeira filtragem de pré-predição compreende a aplicação de um filtro de suavização ao primeiro subconjunto das amostras de referência e ao segundo subconjunto das amostras de referência de acordo com os primeiros parâmetros do filtro e os segundos parâmetros do filtro, respectivamente.
15. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que a inter-predição é usada para reconstruir o bloco a ser reconstruído.
16. Método, de acordo com a reivindicação 15, caracterizado pelo fato de que as amostras de referência definem uma área de referência bidimensional dentro de um ou mais blocos decodificados usados para inter-predição ao reconstruir o bloco, e em que um do primeiro ou segundo subconjuntos de amostras de referência compreende amostras de referência pertencentes a um bloco decodificado para o qual um residual foi codificado em um fluxo de vídeo codificado.
17. Método, de acordo com a reivindicação 15, caracterizado pelo fato de que o terceiro subconjunto das amostras de referência é selecionado com base em um ou mais valores de sinalizador de bloco de código (CBF) de um ou mais dos um ou mais blocos já decodificados que incluem o terceiro subconjunto de amostras de referência.
18. Método, de acordo com a reivindicação 16, caracterizado pelo fato de que o terceiro subconjunto das amostras de referência é selecionado quando os valores de CBF são iguais a zero.
19. Aparelho para reconstruir blocos de imagem usando previsão, o aparelho caracterizado pelo fato de que compreende: um buffer de amostra de referência para armazenar um ou mais blocos já decodificados, incluindo amostras de referência usadas para prever um bloco a ser reconstruído, as amostras de referência correspondendo a um modo de predição empregado para codificar o bloco a ser reconstruído; um processador configurado para: selecionar um primeiro subconjunto das amostras de referência e um segundo subconjunto das amostras de referência; e determinar os primeiros parâmetros de filtro para o primeiro subconjunto das amostras de referência e segundos parâmetros de filtro para o segundo subconjunto das amostras de referência com base no modo de predição e um tamanho do bloco a ser reconstruído, os primeiros parâmetros de filtro sendo diferentes dos segundos parâmetros de filtro ; um filtro acoplado ao processador e adaptado para realizar a filtragem de pré-predição do primeiro subconjunto das amostras de referência e o segundo subconjunto das amostras de referência usando os primeiros parâmetros de filtro e os segundos parâmetros de filtro, respectivamente, para gerar referência filtrada de pré-predição amostras; e um preditor acoplado ao processador e configurado para reconstruir o bloco por predição com base nas amostras de referência, incluindo as amostras de referência filtradas de pré-predição.
20. Meio de armazenamento legível por computador não transitório caracterizado pelo fato de que armazena instruções que, quando executadas por um processador, fazem com que o processador: determinar amostras de referência de um ou mais blocos já decodificados usados para predizer um bloco a ser reconstruído, as amostras de referência correspondendo a um modo de predição empregado para codificar o bloco a ser reconstruído; selecionar um primeiro subconjunto das amostras de referência e um segundo subconjunto das amostras de referência; determinar os primeiros parâmetros de filtro para o primeiro subconjunto das amostras de referência e segundos parâmetros de filtro para o segundo subconjunto das amostras de referência com base no modo de predição e um tamanho do bloco a ser reconstruído, os primeiros parâmetros de filtro sendo diferentes dos segundos parâmetros de filtro ; realizar a filtragem de pré-predição do primeiro subconjunto das amostras de referência e o segundo subconjunto das amostras de referência usando os primeiros parâmetros de filtro e os segundos parâmetros de filtro, respectivamente, para gerar amostras de referência filtradas de pré-predição; e reconstruir o bloco por predição com base nas amostras de referência, incluindo as amostras de referência filtradas de pré-predição.
BR112016013761-2A 2014-05-23 2014-05-23 Método e aparelho para reconstruir blocos de imagem utilizando predição, e meio de armazenamento legível por computador BR112016013761B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2014/000374 WO2015178796A1 (en) 2014-05-23 2014-05-23 Method and apparatus for pre-prediction filtering for use in block-prediction techniques

Publications (2)

Publication Number Publication Date
BR112016013761A2 BR112016013761A2 (pt) 2017-08-08
BR112016013761B1 true BR112016013761B1 (pt) 2023-03-14

Family

ID=52101559

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016013761-2A BR112016013761B1 (pt) 2014-05-23 2014-05-23 Método e aparelho para reconstruir blocos de imagem utilizando predição, e meio de armazenamento legível por computador

Country Status (7)

Country Link
US (1) US10313705B2 (pt)
EP (1) EP3058748A1 (pt)
JP (1) JP6324510B2 (pt)
KR (1) KR101844698B1 (pt)
CN (1) CN106134201B (pt)
BR (1) BR112016013761B1 (pt)
WO (1) WO2015178796A1 (pt)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301334B (zh) 2015-11-17 2023-11-03 华为技术有限公司 视频编码样本自适应滤波的方法和装置
KR20170058837A (ko) * 2015-11-19 2017-05-29 한국전자통신연구원 화면내 예측모드 부호화/복호화 방법 및 장치
WO2017086746A1 (ko) * 2015-11-19 2017-05-26 한국전자통신연구원 화면내 예측 모드 부호화/복호화 방법 및 장치
WO2018047995A1 (ko) * 2016-09-08 2018-03-15 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20230098714A (ko) * 2016-09-30 2023-07-04 로즈데일 다이나믹스 엘엘씨 영상 처리 방법 및 이를 위한 장치
US20180242016A1 (en) * 2017-02-21 2018-08-23 Intel Corporation Deblock filtering for 360 video
US10728548B2 (en) 2017-04-04 2020-07-28 Futurewei Technologies, Inc. Processing reference samples used for intra-prediction of a picture block
US10623738B2 (en) * 2017-04-06 2020-04-14 Futurewei Technologies, Inc. Noise suppression filter
EP3622713A1 (en) * 2017-05-09 2020-03-18 Google LLC Directional intra-prediction coding
TWI616090B (zh) * 2017-06-26 2018-02-21 元智大學 使用運算資料共用的高效率視訊編碼畫面內預測方法及其架構
WO2019050292A1 (ko) 2017-09-08 2019-03-14 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN115442599A (zh) * 2017-10-20 2022-12-06 韩国电子通信研究院 图像编码、解码方法以及存储比特流的记录介质
KR102539068B1 (ko) * 2017-10-31 2023-06-01 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
CN112335249A (zh) * 2018-06-25 2021-02-05 金起佰 用于编码/解码图像的方法和装置
CN112352435B (zh) * 2018-06-28 2022-02-18 华为技术有限公司 用于视频编解码的环内去块滤波器设备和方法
BR112021004679A2 (pt) * 2018-09-16 2021-06-01 Huawei Technologies Co., Ltd. método e aparelho para predição
KR20210084567A (ko) * 2018-11-28 2021-07-07 주식회사 윌러스표준기술연구소 화면 내 예측 필터링을 이용한 비디오 신호 처리 방법 및 장치
JP7346837B2 (ja) * 2019-02-06 2023-09-20 株式会社リコー 符号化装置、復号化装置、符号化方法、復号化方法、符号化プログラム及び復号化プログラム
WO2020184936A1 (ko) * 2019-03-08 2020-09-17 정병득 비디오 신호의 부호화 또는 복호화 방법 및 장치
US11638019B2 (en) * 2020-07-29 2023-04-25 Alibaba Group Holding Limited Methods and systems for prediction from multiple cross-components
CN113382257B (zh) * 2021-04-19 2022-09-06 浙江大华技术股份有限公司 编码方法、装置、电子设备及计算机可读存储介质
WO2023022530A1 (ko) * 2021-08-18 2023-02-23 엘지전자 주식회사 인트라 예측 모드에 기반하여 참조 샘플 필터링을 수행하는 영상 부호화/복호화 방법, 장치, 및 비트스트림을 전송하는 방법
WO2024016982A1 (en) * 2022-07-20 2024-01-25 Mediatek Inc. Adaptive loop filter with adaptive filter strength

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703788B1 (ko) * 2005-06-10 2007-04-06 삼성전자주식회사 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
WO2011000255A1 (en) 2009-07-02 2011-01-06 Mediatek Inc. Methods of intra prediction, video encoder, and video decoder thereof
KR20230093060A (ko) 2009-07-07 2023-06-26 인터디지털 브이씨 홀딩스 인코포레이티드 영역 기반 필터에 대해서 협력적 분할 부호화하는 방법 및 장치
US20120163479A1 (en) * 2009-09-28 2012-06-28 Canon Kabushiki Kaisha Methods and devices for filtering and coding a digital signal
EP2559238B1 (en) * 2010-04-13 2015-06-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Adaptive image filtering method and apparatus
JPWO2011158657A1 (ja) * 2010-06-17 2013-08-19 シャープ株式会社 画像フィルタ装置、復号装置、符号化装置、および、データ構造
US8976856B2 (en) * 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
US9008175B2 (en) 2010-10-01 2015-04-14 Qualcomm Incorporated Intra smoothing filter for video coding
US10142630B2 (en) 2010-12-10 2018-11-27 Texas Instruments Incorporated Mode adaptive intra prediction smoothing in video coding
US9930366B2 (en) 2011-01-28 2018-03-27 Qualcomm Incorporated Pixel level adaptive intra-smoothing
US9602839B2 (en) 2011-06-15 2017-03-21 Futurewei Technologies, Inc. Mode dependent intra smoothing filter table mapping methods for non-square prediction units
US9344723B2 (en) * 2012-04-13 2016-05-17 Qualcomm Incorporated Beta offset control for deblocking filters in video coding

Also Published As

Publication number Publication date
CN106134201A (zh) 2016-11-16
JP2017508324A (ja) 2017-03-23
KR20160082250A (ko) 2016-07-08
BR112016013761A2 (pt) 2017-08-08
US20170034536A1 (en) 2017-02-02
EP3058748A1 (en) 2016-08-24
US10313705B2 (en) 2019-06-04
KR101844698B1 (ko) 2018-04-02
JP6324510B2 (ja) 2018-05-16
CN106134201B (zh) 2019-10-25
WO2015178796A1 (en) 2015-11-26

Similar Documents

Publication Publication Date Title
BR112016013761B1 (pt) Método e aparelho para reconstruir blocos de imagem utilizando predição, e meio de armazenamento legível por computador
EP3560198B1 (en) Low-complexity sign prediction for video coding
WO2020016741A1 (en) Cross-component ipm derivation
CN108605143A (zh) 视频编码中的非局部自适应环内滤波器的方法和装置
CN107409218A (zh) 使用块分割的快速视频编码方法
EP4085610A1 (en) Methods for signaling virtual boundaries and wrap-around motion compensation
WO2020003268A2 (en) Definition of zero unit
KR20220110301A (ko) 화상 경계에서 블록 파티셔닝을 위한 방법들 및 장치들
US20210337233A1 (en) Moving image encoding device, moving image encoding method, moving image decoding device, and moving image decoding method
JP2023507935A (ja) パレットモードで映像データを符号化するための方法及び装置
JP2023509838A (ja) サブピクチャ分割情報をシグナリングするための方法及び機器
JP6528635B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
WO2023048646A2 (en) Methods and systems for performing combined inter and intra prediction
JP2017073602A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
CN105049846B (zh) 图像和视频编解码的方法和设备
BR112015025151B1 (pt) Método de codificação, método de decodificação, método de codificação e decodificação, aparelho para codificação, aparelho para decodificação e codec para codificar e decodificar uma sequência de imagens digitais
BR112021025916B1 (pt) Método de processamento de dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento e meio de gravação não transitórios legíveis por computador
WO2021195584A1 (en) Method and apparatus for deriving temporal motion information
BR122023023402A2 (pt) Método de codificação de imagem com base em uma transformada, e aparelho da mesma

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 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 23/05/2014, OBSERVADAS AS CONDICOES LEGAIS