(54) Título: MÉTODO DE DESBLOQUEIO DE UM QUADRO DE VÍDEO RECONSTRUÍDO (51) IntCI.: H04N 19/176; H04B 1/66; H04N 19/117; H04N 19/14; H04N 19/80; (...).
(52) CPC: H04N 19/176; H04N 19/117; H04N 19/14; H04N 19/80; H04N 19/86; (...).
(30) Prioridade Unionista: 20/09/2004 US 60/611,513.
(73) Titular(es): SONIC IP, INC..
(72) lnventor(es): CHENG HUANG.
(86) Pedido PCT: PCT US2005033782 de 20/09/2005 (87) Publicação PCT: WO 2006/034331 de 30/03/2006 (85) Data do Início da Fase Nacional: 11/04/2006 (57) Resumo: FILTRO DE DESBLOQUEIO DE VÍDEO. A presente invenção refere-se a filtros de desbloqueio, onde a natureza do filtro é determinada com base no nível de detalhe de um quadro de vídeo reconstruído na região na qual a fronteira de bloco está localizada. Uma modalidade do método da invenção inclui a identificação de uma fronteira entre dois blocos do quadro de vídeo reconstruído, a determinação do nível de detalhe do quadro de vídeo reconstruído em uma região na qual a fronteira de bloco está localizada, onde a região inclui pixels de múltiplas linhas e múltiplas colunas do quadro de vídeo reconstruído e inclui pelo menos um pixel que não é imediatamente adjacente à fronteira de bloco e à seleção de um filtro para aplicação a pixels predeterminados em um dos lados da fronteira de bloco com base no nível de detalhe determinado.
1/24
Relatório Descritivo da Patente de Invenção para MÉTODO DE DESBLOQUEIO DE UM QUADRO DE VÍDEO RECONSTRUÍDO.
ANTECEDENTES [001] A presente invenção refere-se à compressão de vídeo e, em particular, a métodos de desbloqueio de vídeo comprimido.
[002] As sequências de vídeo digital são compostas por quadros de pixel, onde as características dos pixels são representadas usandose uma informação digital. A quantidade de dados que é requerida para a representação de uma sequência de vídeo pode ser reduzida usando-se uma compressão. Vários esquemas de compressão visam utilizar características que comumente ocorrem em sequências de vídeo para a obtenção de reduções significativas na quantidade de dados digitais requerida para a codificação de uma sequência de vídeo. [003] Os esquemas de codificação, tal como o esquema descrito no padrão MPEG-4, podem incluir algoritmos de compressão de vídeo que dividem os quadros em blocos de pixels e usam as características dos pixels nos blocos para a codificação dos blocos do quadro de vídeo. O tratamento de blocos adjacentes separadamente em um esquema de compressão com perda pode resultar em artefatos nas fronteiras de bloco, quando um quadro de vídeo codificado for reconstruído. Uma técnica que pode ser usada para a remoção de artefatos e melhorar a qualidade de uma imagem reconstruída envolve a aplicação de um filtro de desbloqueio a pixels adjacentes às fronteiras de bloqueio.
[004] O padrão MPEG-4 desenvolvido pelo Motion Picture Experts Group (isto é, ISO/IEC 14496) contém um exemplo de um filtro de desbloqueio que pode ser aplicado quando da reconstrução de um vídeo usando um codificador em conformidade com MPEG-4. A descrição do padrão MPEG-4 é incorporada aqui como referência em sua
Petição 870180065735, de 30/07/2018, pág. 9/45
2/24 totalidade. A filtração tipicamente é realizada por um decodificador e o filtro é aplicado ao longo das bordas dos blocos 8 x 8 de pixels que foram usados na codificação do quadro de vídeo. Em muitos casos, o filtro de desbloqueio é aplicado a dados de luminância e crominância. [005] O filtro de desbloqueio especificado no padrão MPEG-4 pode operar em um de dois modos. Os modos são comumente referidos como o modo offset DC e o modo default. As condições de pixel em torno de cada fronteira de bloco determinam qual modo usar. O modo offset DC tipicamente é selecionado para a filtração de fronteiras de bloco que estão localizadas em regiões muito suaves de um quadro de vídeo (isto é, uma região sem muitos detalhes). O modo default é selecionado tipicamente para todos os outros casos. O termo suave descreve uma região de um quadro de vídeo em que a crominância e a luminância não variam ou variam gradualmente através de pixels adjacentes. O termo detalhe tipicamente é usado para a descrição de elementos visuais de um quadro de vídeo que variam significativamente através de pixels adjacentes. A aparência de uma imagem reconstruída usualmente pode ser melhorada pela aplicação de um filtro que suaviza uma variação através de fronteiras de bloco que ficam em regiões suaves da imagem. Contudo, a suavização de uma fronteira de bloco que fica em uma região que possui um alto nível de detalhe na realidade pode prejudicar a aparência do quadro reconstruído.
[006] O processo de decodificação especificado no padrão MPEG-4 envolve a aplicação do filtro de desbloqueio de MPEG-4 a cada linha de pixels em fronteiras de bloco verticais e a cada coluna de pixels em fronteiras de bloco horizontais. A aplicação do filtro de desbloqueio em relação a cada linha ou coluna de pixels envolve uma decisão concernente a qual modo de filtro é mais apropriado. De modo a determinar o modo de filtração a usar, o decodificador inspeciona cinco pixels da linha ou coluna em um dos lados da fronteira de bloco.
Petição 870180065735, de 30/07/2018, pág. 10/45
3/24
O algoritmo de decisão de modo de filtro a seguir então é aplicado, usando-se os valores de crominância ou luminância de dez pixels vo a vg:
eqcnt = φ(νο-ν-ΐ) + Φ(νΐ-ν2) + Φ(ν2-ν3) + Φ(ν3-ν4) + Φ(ν4-ν5) + Φ(ν5-νδ) + Φ(νδ-ν7) + Φ(ν7-νβ) + Φ(νβ-ν9), onde φ(γ)=1 se |γ| < THR1 e 0 senão.
Se (eq_cnt > THR2) modo CC offset é aplicado, de outro modo modo default é aplciado.
[007] Os valores de limite THR1 e THR2 podem ser determinados com base na qualidade desejada da imagem visual. Os valores adequados para os limites são THR1 = 2 e THR2 = 6.
[008] O modo offset DC do filtro de desbloqueio é especificado no padrão MPEG-4 e é pretendido para a redução dos artefatos de bloqueio devido ao deslocamento dc em regiões muito suaves de uma imagem. O filtro que é aplicado aos valores de crominância ou luminância dos quatro pixels em um dos lados de uma fronteira de bloco (isto é, vo a vs) no modo offset DC é como se segue:
max=MAX (vi, V2, V3, V4, vs, ve, V7, ve) min=MIN(vi, V2, V3, V4, νβ, νβ, V7, ve)
Se (|max-min|<2.QP) {
Vn = Σ^·^’1 - H - 8 (|vl-v0|<eP)?v0:vl,sem<1 se 1 < m < 8 .(I v8 - v91< gP)?v9: v8,se m > 8 {bk: -4 < k < 4} = {1,1,2,2,4,2,2,1,1)//16 de outro modo
Petição 870180065735, de 30/07/2018, pág. 11/45
4/24
Nenhuma alteração será feita onde [009] QP é a média das quantidades usadas na codificação dos dois blocos.
[0010] O modo default do filtro de desbloqueio também é especificado no padrão MPEG-4 e envolve a substituição dos dois pixels adjacentes à fronteira de bloco (isto é, v4 e vé) como se segue:
V41 = V4 - d V51 = V5 + d, e
d = CLIP(5.(a3,o'-a3,o)//8, 0, (v4 - v5y2J.Ô(|íZ3,o|<QPJ onde ct3,o' = SIGN(a3,o)-MIN(|a3,o|, |ct3,i|, |ot3,2|).
[0011] As componentes de frequência a3,o, a3,i e a3,2 podem ser avaliadas a partir do produto escalar do kernel de DCT aproximado [2 5 5 -2] com os vetores de pixel, como se segue:
Ct3,0-([2 -5 5 -2] · [V3 V4 V5 v6]t)//8,
O3,1=([2 -5 5 -2] · [V1 V2 V3 v4]t)//8, a3,2=([2 -5 5 -2] · [V5 V6 V7 ve]T)//8, [0012] O algoritmo usado no modo default do filtro de desbloqueio descrito no padrão MPEG-4 pode envolver cálculos complexos incluindo uma filtração de quatro tomadas e clipping.
SUMÁRIO DA INVENÇÃO [0013] As modalidades da presente invenção incluem filtros de desbloqueio e métodos de aplicação de filtros de desbloqueio. Em uma modalidade da invenção, as características do filtro de desbloqueio são determinadas com base no nível relativo de suavidade ou detalhe na região de um quadro de vídeo reconstruído no qual uma fronteira de bloco está localizada. Em muitas modalidades, o nível de detalhe de uma região é avaliado pela inspeção de um conjunto de pixels incluindo múltiplas linhas e colunas e pelo menos um pixel que
Petição 870180065735, de 30/07/2018, pág. 12/45
5/24 não é adjacente à fronteira de bloco. Em várias modalidades, o conjunto de pixels é um bloco de pixels dividido pela fronteira de bloco. Em numerosas modalidades, as características do filtro podem ser adicionalmente determinadas pelo nível de detalhe da imagem na região dos pixels sendo filtrados.
[0014] Uma modalidade do método da invenção inclui a identificação de uma fronteira entre dois blocos do quadro de vídeo reconstruído, a determinação do nível de detalhe do quadro de vídeo reconstruído em uma região na qual a fronteira de bloco está localizada, onde a região inclui pixels de múltiplas linhas e de múltiplas colunas do quadro de vídeo reconstruído e inclui pelo menos um pixel que não é imediatamente adjacente à fronteira de bloco, e a seleção de um filtro para a aplicação a níveis predeterminados em um lado da fronteira de bloco com base no nível determinado de detalhe.
[0015] Em uma outra modalidade, a determinação do nível de detalhe do quadro de vídeo reconstruído em uma região na qual a fronteira de bloco está localizada ainda inclui tomar a soma da diferença absoluta de pelo menos alguns dos pixels em um conjunto de pixels que circunda a fronteira de bloco.
[0016] Em uma outra modalidade, a fronteira de bloco é uma fronteira de bloco horizontal e o conjunto de pixels é um bloco de pixels que é dividido pela fronteira de bloco horizontal. Além disso, a soma da diferença absoluta é tomada para cada par verticalmente adjacente de pixels em cada coluna do bloco de pixels, exceto pelo par de pixels que é separado pela fronteira de bloco.
[0017] Ainda em uma outra modalidade, o conjunto de pixels é um bloco 8x8 que é uniformemente dividido pela fronteira de bloco horizontal.
[0018] Ainda em uma outra modalidade, a determinação do nível de detalhe envolve o cálculo da soma a seguir:
Petição 870180065735, de 30/07/2018, pág. 13/45
6/24
Σ Σ \Vi+1J~ Vi’j\> °nde i = 1 a 7 e i v4, j = 1 a 8.
i j [0019] onde:
Víj é a crominância de um pixel em uma linha / e uma coluna j do bloco 8 x 8 de pixels.
[0020] Ainda em uma outra modalidade, a determinação do nível de detalhe envolve o cálculo da soma a seguir:
Σ Σ k/+íj-v/J, onde i = 1 a 7e i#4, j = 1 a 8.
i j [0021] onde:
Víj é a luminância de um pixel em uma linha / e uma coluna j do bloco 8 x 8 de pixels.
[0022] Ainda em uma outra modalidade, o conjunto de pixels é um bloco 4x8 que é uniformemente dividido pela fronteira de bloco horizontal.
[0023] Em uma outra modalidade, de novo, a determinação do nível de detalhe envolve o cálculo da soma a seguir:
Σ Σ \Vi+1J~ Vi’j\> onde I = 1 a 7 e i *4, j = 1 a 4.
i j [0024] onde:
Víj é a crominância de um pixel em uma linha / e uma coluna j do bloco 4 x 8 de pixels.
[0025] Em uma outra modalidade, de novo, a determinação do nível de detalhe envolve o cálculo da soma a seguir:
Σ Σ k/+íj-v/J, onde i = 1 a 7e i#4, j = 1 a4.
i j [0026] onde:
Víj é a luminância de um pixel em uma linha / e uma coluna j do bloco 4 x 8 de pixels.
[0027] Ainda em uma outra modalidade, de novo, a fronteira de bloco é uma fronteira de bloco vertical, o conjunto de pixels é um bloco
Petição 870180065735, de 30/07/2018, pág. 14/45
7/24 de pixels que é dividido pela fronteira de bloco vertical e a soma da diferença absoluta é tomada para cada par adjacente de pixels em cada linha do bloco de pixels, exceto pelo par de pixels que é separado pela fronteira de bloco.
[0028] Ainda em uma outra modalidade, de novo, o conjunto de pixels é um bloco 8x8 que é uniformemente dividido pela fronteira de bloco vertical.
[0029] Ainda em uma outra modalidade, de novo, a determinação do nível de detalhe envolve o cálculo da soma a seguir:
Σ Σ k/j+f - v/J, onde i = 1 a 8, j = 1 a 7 ej#4.
i j [0030] onde:
Víj é a crominância de um pixel em uma linha /' e uma coluna j do bloco 8 x 8 de pixels.
[0031] Ainda em uma outra modalidade, de novo, a determinação do nível de detalhe envolve o cálculo da soma a seguir:
Σ Σ kv+í - Y/J, onde i = 1 a 8, j = 1 a 7 ej#4.
i j [0032] onde:
Víj é a luminância de um pixel em uma linha / e uma coluna j do bloco 8 x 8 de pixels.
[0033] Ainda em uma outra modalidade adicional, o conjunto de pixels é um bloco 8x4 que é uniformemente dividido pela fronteira de bloco vertical.
[0034] Ainda em uma outra modalidade, a determinação do nível de detalhe envolve o cálculo da soma a seguir:
Σ Σ kv+í-^d. = 1a7ej#4.
i j [0035] onde:
Víj é a crominância de um pixel em uma linha /' e uma coluna j do bloco 8 x 4 de pixels.
Petição 870180065735, de 30/07/2018, pág. 15/45
8/24 [0036] Ainda em uma outra modalidade adicional, a determinação do nível de detalhe envolve o cálculo da soma a seguir:
Σ Σ k/j+f-v/J, a4,j = 1 a7ej#4.
i j [0037] onde:
Víj é a luminância de um pixel em uma linha / e uma coluna j do bloco 8 x 4 de pixels.
[0038] Ainda em uma outra modalidade adicional, a seleção de um filtro para aplicação a pixels predeterminados em um dos lados da fronteira de bloco com base na determinação do nível de detalhe inclui a comparação do nível determinado de detalhe com um limite.
[0039] Ainda em uma outra modalidade adicional, de novo, o limite varia dependendo do quantificador usado na codificação dos blocos na fronteira de bloco.
[0040] Ainda em uma outra modalidade adicional, de novo, a seleção de um filtro para aplicação a pixels predeterminados em um dos lados da fronteira de bloco com base na determinação do nível de detalhe ainda inclui quando o nível de detalhe excede ao limite, a seleção de um filtro para aplicação a pixels predeterminados. Ainda, a seleção de um filtro inclui a determinação do detalhe da imagem na região dos pixels sendo filtrados.
[0041] Ainda em uma outra modalidade adicional, de novo, a fronteira de bloco é uma fronteira de bloco horizontal e a determinação do detalhe da imagem na região dos pixels sendo filtrados inclui o cálculo da expressão a seguir com respeito a uma coluna de pixels dividida pela fronteira de bloco horizontal:
(|v-2 - v-i|*3 + |v-i - vi|*2 + |vi - V2|*3)//8 [0042] onde:
V, é a crominância do pixel / pixels a partir da fronteira de bloco horizontal.
Petição 870180065735, de 30/07/2018, pág. 16/45
9/24 [0043] Ainda em uma outra modalidade adicional, de novo, a fronteira de bloco é uma fronteira de bloco horizontal e a determinação do detalhe da imagem na região dos pixels sendo filtrados inclui o cálculo da expressão a seguir com respeito a uma coluna de pixels dividida pela fronteira de bloco horizontal:
(|v-2 - v-i|*3 + |v-i - vi|*2 + |vi - V2|*3)//8 [0044] onde:
ν, é a luminância do pixel / pixels a partir da fronteira de bloco horizontal.
[0045] Ainda em uma outra modalidade adicional, a fronteira de bloco é uma fronteira de bloco vertical, e a determinação do detalhe da imagem na região dos pixels sendo filtrados inclui o cálculo da expressão a seguir com respeito a uma linha de pixels dividida pela fronteira de bloco vertical:
(|v-2 - v-i|*3 + |v-i - vi|*2 + |vi - V2|*3)//8 [0046] onde:
ν, é a crominância do pixel / pixels a partir da fronteira de bloco vertical.
[0047] Ainda em uma outra modalidade adicional, a fronteira de bloco é uma fronteira de bloco vertical, e a determinação do detalhe da imagem na região dos pixels sendo filtrados inclui o cálculo da expressão a seguir com respeito a uma linha de pixels dividida pela fronteira de bloco vertical:
(|v-2 - v-i|*3 + |v-i - vi|*2 + |vi - V2|*3)//8 [0048] onde:
ν, é a luminância do pixel / pixels a partir da fronteira de bloco vertical.
[0049] Ainda em uma outra modalidade adicional, de novo, a seleção de um filtro para aplicação a cada pixel em cada lado da fração relativamente menos volátil ainda inclui a comparação do nível deterPetição 870180065735, de 30/07/2018, pág. 17/45
10/24 minado de detalhe na região dos pixels sendo filtrados com um primeiro limite e a aplicação de um primeiro filtro, quando o nível de detalhe for menor do que o limite.
[0050] Ainda em uma outra modalidade adicional, de novo, o primeiro limite varia com respeito ao valor do quantificador usado na codificação de cada um dos blocos na fronteira de bloco.
[0051] Ainda em uma outra modalidade adicional, a seleção de um filtro para aplicação a cada pixel em um dos lados da fronteira de bloco ainda inclui a comparação do nível determinado de detalhe na região dos pixels sendo filtrados com um segundo limite e a aplicação de um segundo filtro, quando o nível de detalhe exceder ao primeiro limite e for menor do que o segundo limite.
[0052] Ainda em uma outra modalidade adicional, a seleção de um filtro para aplicação a cada pixel em um dos lados da fronteira de bloco ainda inclui a aplicação do filtro a seguir, quando o nível de detalhe for menor do que o primeiro limite:
v-i' = ([4 9 3]· [v-2 v-ι vi]T)//16 v? = ([4 9 3]· [v2 vi v-i]T)//16 a aplicação do filtro a seguir quando o nível de detalhe exceder ao primeiro limite e for menor do que o segundo limite:
v-i'= ([3 11 2] .[v-2 v-ι vi]T)//16 vi'= ([3 11 2]·[ν2 vi v-i]T)//16 caso contrário, a aplicação do filtro a seguir:
V-11 = V-1
V11 = V1 [0053] onde v, é a crominância do pixel / pixels a partir da fronteira de bloco.
[0054] Ainda em uma outra modalidade adicional, a seleção de um filtro para aplicação a cada pixel em um dos lados da fronteira de bloco ainda inclui a aplicação do filtro a seguir, quando o nível de detalhe for
Petição 870180065735, de 30/07/2018, pág. 18/45
11/24 menor do que o primeiro limite:
v-i' = ([4 9 3]· [v-2 v-ι vi]T)//16 v? = ([4 9 3]· [v2 vi v-i]T)//16 a aplicação do filtro a seguir quando o nível de detalhe exceder ao primeiro limite e for menor do que o segundo limite:
v-i'= ([3 11 2] .[v-2 v-ι vi]T)//16 vi'= ([3 11 2]·[ν2 vi v-i]T)//16 caso contrário, a aplicação do filtro a seguir:
V-11 = V-1
V11 = V1 onde V, é a luminância do pixel / pixels a partir da fronteira de bloco.
[0055] Uma modalidade do aparelho da invenção inclui um filtro de três tomadas. Além disso, as entradas para o filtro de três tomadas incluem a crominância de três pixels, o filtro de três tomadas é configurado para aumentar o peso da segunda entrada, quando uma variação aumentada entre um conjunto de pixels incluindo pelo menos três pixels for provida para as entradas e o filtro de três tomadas é configurado para diminuição do peso para as primeira e terceira entradas com uma variação aumentada entre o conjunto de pixels incluindo pelo menos os três pixels providos para as entradas.
[0056] Em uma outra modalidade, o conjunto de pixels incluindo pelo menos os três pixels providos para as entradas ainda inclui um quarto pixel, onde o filtro de três tomadas é configurado para a determinação da variação entre os pixels pela tomada de uma soma absoluta ponderada da diferença entre a crominância dos pixels.
[0057] Em uma outra modalidade, o filtro de três tomadas é configurado para calcular:
(|vi-V2|*3 + |v2-v3|*2 + |v3-V4|*3)//8 onde
Petição 870180065735, de 30/07/2018, pág. 19/45
12/24
Vi é a crominância do iésimo pixel.
[0058] Em uma outra modalidade, de novo, os pesos do filtro de três tomadas são assimétricos com respeito à segunda entrada.
[0059] Uma outra modalidade, de novo, inclui um filtro de três tomadas. Além disso, as entradas para o filtro de três tomadas incluem a crominância de três pixels, o filtro de três tomadas é configurado para aumentar o peso da segunda entrada, quando uma variação aumentada entre um conjunto de pixels incluindo pelo menos três pixels for provida para as entradas e o filtro de três tomadas é configurado para diminuição do peso para as primeira e terceira entradas com uma variação aumentada entre o conjunto de pixels incluindo pelo menos os três pixels providos para as entradas.
[0060] Em uma outra modalidade, o conjunto de pixels incluindo pelo menos os três pixels providos para as entradas ainda inclui um quarto pixel, onde o filtro de três tomadas é configurado para a determinação da variação entre os pixels pela tomada de uma soma absoluta ponderada da diferença entre a luminância dos pixels.
[0061] Em uma outra modalidade, o filtro de três tomadas é configurado para calcular:
(|vi-V2|*3 + |v2-v3|*2 + |v3-V4|*3)//8 onde
V, é a luminância do iésimo pixel.
[0062] Ainda em uma outra modalidade, os pesos do filtro de três tomadas são assimétricos com respeito à segunda entrada.
BREVE DESCRIÇÃO DOS DESENHOS [0063] A Figura 1 é uma vista esquemática de um quadro central reconstruído a partir de dados de vídeo obtidos usando-se um esquema de codificação que utiliza as características de blocos de pixel 8 x 8;
[0064] a Figura 2 é um fluxograma que mostra um processo para a
Petição 870180065735, de 30/07/2018, pág. 20/45
13/24 filtração de fronteiras de bloco de um quadro de vídeo reconstruído de acordo com uma modalidade da invenção;
[0065] a Figura 3 é uma vista esquemática de um bloco de pixels usado para a determinação de um filtro apropriado para aplicação a uma fronteira de bloco horizontal de acordo com uma modalidade da invenção; e [0066] a Figura 4 é uma vista esquemática de um bloco de pixels para a determinação da filtração aplicada a uma fronteira de bloco vertical de acordo com uma modalidade da invenção.
DESCRIÇÃO DETALHADA DA INVENÇÃO [0067] Fazendo referência, agora, aos desenhos, um esquema de desbloqueio é ilustrado, que aplica níveis variáveis de suavização às fronteiras de borda com base no nível de detalhe de um quadro de vídeo em uma região que circunda a fronteira de bloco. Em muitas modalidades, a decisão concernente às características específicas do filtro aplicado aos pixels adjacentes a uma fronteira de bloco é tomada pela análise das características de um conjunto de pixels, incluindo pixels de múltiplas linhas e múltiplas colunas, que ficam em um dos lados da fronteira. Uma vez que o nível de detalhe do conjunto de pixels tenha sido determinado, um filtro apropriado para o nível de detalhe pode ser aplicado aos pixels adjacentes à fronteira.
[0068] Uma porção de um quadro de vídeo reconstruído é representada na Figura 1. O quadro de vídeo 10 é constituído por vários pixels 12. Na modalidade ilustrada, o quadro de vídeo foi reconstruído a partir de dados codificados usando-se as características de blocos de pixels. As fronteiras horizontais 14 e as fronteiras verticais 16 entre os blocos de pixels reconstruídos são mostradas na Figura 1. Na modalidade ilustrada, os blocos são de 8 x 8 pixels. Em outras modalidades, o bloco pode incluir um número maior ou menor de pixels com um número diferente de pixels nas dimensões horizontal e/ou vertical. Um
Petição 870180065735, de 30/07/2018, pág. 21/45
14/24 filtro de desbloqueio de acordo com uma modalidade da presente invenção pode ser aplicado aos pixels ao longo das fronteiras de bloco horizontais e verticais, para melhoria da aparência visual do quadro de vídeo.
[0069] Um processo para aplicação de um filtro de desbloqueio de acordo com uma modalidade da presente invenção é mostrado na Figura 2. O processo 20 envolve a identificação (22) da localização de fronteiras de bloco horizontais e verticais. O nível de detalhe da região do quadro de vídeo na qual a fronteira de bloco está localizada então é determinado (24). Se o processo determinar (26) que uma fronteira fica em uma região suave da imagem reconstruída, então, um filtro de suavização pode ser aplicado (28) aos pixels adjacentes à fronteira. Quando a fronteira fica em uma região que possui um nível de limite de detalhe, um filtro apropriado para o nível de detalhe pode ser aplicado (30) aos pixels ao longo da fronteira horizontal ou vertical. Como será discutido adicionalmente abaixo, um primeiro filtro de desbloqueio pode ser aplicado à crominância de pixel e/ou um segundo filtro de desbloqueio pode ser aplicado à luminância de pixel. Em muitas modalidades, as mesmas técnicas podem ser usadas para a determinação das características dos primeiro e segundo filtros que são aplicados à crominância e/ou à luminância de pixel.
[0070] Muitas modalidades de filtros de desbloqueio de acordo com a presente invenção usam conjuntos de pixels que incluem pixels de múltiplas linhas e múltiplas colunas, incluindo pixels que não são adjacentes à fronteira para se determinar se uma fronteira fica em uma região da imagem que é suave ou em uma região que contém níveis significativos de detalhe. Os pixels que podem ser usados para se determinar se uma fronteira horizontal fica em uma região suave de um quadro de vídeo reconstruído de acordo com uma modalidade da invenção são ilustrados na Figura 3. O conjunto de pixels 40 inclui pixels
Petição 870180065735, de 30/07/2018, pág. 22/45
15/24 de múltiplas linhas e múltiplas colunas. Na modalidade ilustrada, o conjunto de pixels 40 é um bloco 8x8 que é dividido na metade pela fronteira horizontal 14. Em outras modalidades, as dimensões do conjunto de pixels podem variar.
[0071] Na modalidade ilustrada, cada pixel no conjunto de pixels usado para a determinação do nível de detalhe da região da imagem na qual a fronteira fica é indicado usando-se a notação Vjj, onde / e j representam a posição do pixel com respeito ao canto esquerdo de topo do conjunto 8 x 8 de pixels. Quando da aplicação de um filtro de desbloqueio à crominância de pixel, vq pode ser o valor da crominância dos pixels. Quando da aplicação de um filtro de desbloqueio à luminância de pixel, vq pode ser o valor da luminância de pixel.
[0072] Em várias modalidades, o nível de detalhe de um conjunto de pixels pode ser determinado tomando-se a soma da diferença absoluta de pixels adjacentes no conjunto de pixels. Quando da determinação do nível de detalhe na crominância ou luminância usando-se uma soma da diferença absoluta na crominância ou na luminância de pixels, a diferença absoluta de pixels separados por um bloco dificilmente é excluída frequentemente do cálculo. A diferença absoluta de pixels separados por uma fronteira de bloco pode ser excluída, porque a diferença absoluta destes pixels frequentemente pode ser mais reflexiva das diferenças nos valores do quantificador usado para a codificação de blocos adjacentes do quadro de vídeo do que o nível de detalhe da imagem naquela região. No caso de uma fronteira de bloco horizontal 14, muitas modalidades tomam a soma da diferença absoluta em cada par verticalmente adjacente de pixels em cada coluna do conjunto de pixels, exceto pelo par de pixels que é separado pela fronteira de bloco. No caso de uma fronteira de bloco vertical 16, muitas modalidades tomam a soma da diferença absoluta de cada par horizontalmente adjacente de pixels em cada linha do conjunto de pixels,
Petição 870180065735, de 30/07/2018, pág. 23/45
16/24 exceto pelo par de pixels que é separado pela fronteira de bloco.
[0073] Em uma modalidade, a suavidade relativa da região na qual uma fronteira de bloco horizontal está localizada pode ser determinada de acordo com o algoritmo a seguir:
sum_SAD=^^l vmj ~víj I’ oncle i = 1a7ei*4, j = 1a8.
i j se(sum_SAD<THR(QP)*2) a fronteira está situada dentro de uma região relativamente estável, de outro modo a fronteira fica situada dentro de uma região relativamente detalhada.
onde
THR(QP) é o valor inicial adaptável para QP [0074] QP é a média do quantizador para dois blocos 8x8 em cada lado da fronteira de bloco.
[0075] Em uma modalidade, os valores de limite que são usados para cada QP são como listados na Tabela 1.
Tabela 1: THR (QP) como uma função de QP
|
QP |
THR(QP) |
|
1 |
10 |
|
2 |
12 |
|
3 |
15 |
|
4 |
18 |
|
5 |
21 |
|
6 |
23 |
|
7 |
25 |
|
8 |
27 |
|
9 |
29 |
Petição 870180065735, de 30/07/2018, pág. 24/45
17/24
|
QP |
THR(QP) |
|
10 |
31 |
|
11 |
33 |
|
12 |
35 |
|
13 |
37 |
|
14 |
39 |
|
15 |
41 |
|
16 |
43 |
|
17 |
45 |
|
18 |
47 |
|
19 |
49 |
|
20 |
51 |
|
21 |
52 |
|
22 |
53 |
|
23 |
54 |
|
24 |
55 |
|
25 |
56 |
|
26 |
57 |
|
27 |
59 |
|
28 |
61 |
|
29 |
63 |
|
30 |
65 |
|
31 |
68 |
[0076] Em outras modalidades, outros valores para THR (QP) com respeito a QP podem ser usados com base na qualidade de imagem relativa resultante da aplicação de vários filtros aos pixels ao longo da fronteira. Além disso, o valor de QP pode ser determinado de outras formas. Em uma modalidade, QP é determinado como a média dos
Petição 870180065735, de 30/07/2018, pág. 25/45
18/24 valores de quantificador para cada bloco no quadro de vídeo. Em uma outra modalidade, o valor de QP é determinado como o valor do quantificador usado para a codificação de um dos blocos adjacentes à fronteira de bloco. Em outras modalidades, QP pode ser determinado em uma variedade de formas que são indicativas de valores do quantificador usado na codificação do quadro de vídeo.
[0077] Em muitas modalidades, uma determinação de que a fronteira fica em uma região da imagem que é suave (por exemplo, soma_SAD < THR(QP)*2) resulta na aplicação de um filtro que possui características similares ao filtro de desbloqueio especificado no padrão MPEG-4 quando da operação no modo offset DC. Em outras modalidades, outros filtros de suavização podem ser aplicados. Em várias modalidades, uma determinação que uma fronteira fica em uma região de uma imagem que é relativamente detalhada (por exemplo, soma_SAD > THR(QP)*2) pode resultar na aplicação de um filtro apropriado ao nível de detalhe. As modalidades de filtros de acordo com a presente invenção que são apropriadas em casos em que uma fronteira de bloco fica em uma região que possui um nível comparativamente alto de detalhe são discutidas abaixo.
[0078] Quando uma imagem reconstruída inclui uma fronteira que fica em uma região detalhada da imagem, a qualidade da imagem pode ser melhorada pela aplicação de um nível de filtração apropriado ao nível de detalhe. Em uma modalidade, a quantidade de suavização aplicada por um filtro de desbloqueio ao longo de uma fronteira de bloco é inversamente proporcional ao nível de detalhe da imagem na região sendo filtrada.
[0079] Em várias modalidades, o filtro aplicado é determinado com base no nível de detalhe da porção da imagem representada pelos pixels aos quais o filtro é para ser aplicado. Em uma modalidade, o filtro é aplicado aos pixels a partir de uma linha única ou coluna que
Petição 870180065735, de 30/07/2018, pág. 26/45
19/24 são adjacentes à fronteira de bloco. Em uma outra modalidade, o filtro é aplicado aos dois pixels em um dos lados da fronteira de bloco e o nível de detalhe da porção da imagem representada por estes quatro pixels é obtido usando-se a expressão a seguir:
var=(|v3j-V4j|*3 + |v4j-vsj|*2 + |vsj-V6j|*3)//8 [0080] Usando-se um filtro de passa baixa de 3 tomadas simples, um filtro de desbloqueio de acordo com uma modalidade da presente invenção pode ser criado para o nível de detalhe de acordo com o algoritmo a seguir:
se (var<THR_1(QP))
V4j' = ([4 9 3].[V3jV4jV5j]T)//16 V5j' = ([4 9 3] · [v6j V5j v4j]T)//16 de outro modo se (var<THR_2(QP))
V4j' = ([3 11 2].[V3jV4jV5j]T)//16 V5j' = ([3 11 2].[V6jV5jV4j]T)//16 de outro modo V4j' = V4j V5j' = V5j [0081] Em uma modalidade, os valores de limite para cada QP são os valores mostrados na Tabela 2.
Tabela 2: valores de THR 1 e THR 2 com respeito a QP
|
QP |
THR1 (QP) |
THR 2 (QP) |
|
1 |
1 |
2 |
|
2 |
1 |
3 |
|
3 |
2 |
5 |
|
4 |
2 |
6 |
|
5 |
3 |
8 |
|
6 |
4 |
9 |
Petição 870180065735, de 30/07/2018, pág. 27/45
20/24
|
QP |
THR1 (QP) |
THR 2 (QP) |
|
7 |
5 |
10 |
|
8 |
5 |
11 |
|
9 |
6 |
12 |
|
10 |
6 |
13 |
|
11 |
7 |
14 |
|
12 |
7 |
15 |
|
13 |
8 |
16 |
|
14 |
8 |
17 |
|
15 |
9 |
18 |
|
16 |
9 |
19 |
|
17 |
10 |
20 |
|
18 |
10 |
21 |
|
19 |
11 |
22 |
|
20 |
11 |
23 |
|
21 |
12 |
24 |
|
22 |
12 |
25 |
|
23 |
13 |
26 |
|
24 |
13 |
27 |
|
25 |
14 |
28 |
|
26 |
14 |
30 |
|
27 |
15 |
32 |
|
28 |
15 |
34 |
|
29 |
16 |
36 |
|
30 |
16 |
38 |
|
31 |
17 |
40 |
Petição 870180065735, de 30/07/2018, pág. 28/45 [0082] Na modalidade descrita acima, o filtro de desbloqueio aplica a maior quantidade de suavização quando o nível de detalhe é menor
21/24 do que o primeiro limite (isto é, var < THR_1(QP)). Uma quantidade diminuída de suavização é aplicada quando o nível de detalhe está entre os primeiro e segundo limites (isto é, THR_1(QP) < var < THR_2(QP)) e o filtro de desbloqueio não aplica qualquer suavização aos pixels, quando o nível de detalhe excede ao segundo limite (isto é, var > THR_2(QP)).
[0083] Em outras modalidades, outros valores de THR_1(QP) e THR_2(QP) podem ser usados, que são determinados com base na observação da qualidade de imagem subsequente à aplicação do filtro de desbloqueio à imagem reconstruída. Como discutido acima, outras modalidades dos filtros de desbloqueio de acordo com a presente invenção derivam QP de outras formas, que são indicativas dos valores dos quantificadores usados para a codificação dos blocos do quadro de vídeo reconstruído.
[0084] Embora a modalidade acima use dois limites para a determinação do nível de suavização a ser aplicado pelo filtro de desbloqueio aos pixels adjacentes a uma fronteira de bloco localizada em uma região detalhada de uma imagem, muitas modalidades usam o mesmo nível de suavização para todos os pixels adjacentes às fronteiras de bloco localizadas em regiões relativamente detalhadas de uma imagem. Alternativamente, as modalidades de desbloqueio de filtros de acordo com a presente invenção podem incluir um limite único ou mais de dois limites para a determinação do filtro apropriado a aplicar. [0085] Em muitas modalidades, um filtro de 3 tomadas é usado, que aumenta o peso provido à segunda entrada de filtro, conforme o nível de detalhe da porção da imagem representada pelos pixels sendo filtrados aumentar. Além disso, várias modalidades diminuem o peso provido para as primeira e terceira entradas do filtro de três tomadas, conforme o nível de detalhe da porção da imagem representada pelos pixels sendo filtrados aumentar. Mais ainda, numerosas modaliPetição 870180065735, de 30/07/2018, pág. 29/45
22/24 dades de filtros de três tomadas de acordo com a presente invenção são assimétricas com respeito ao pixel sendo filtrado. Em muitos casos, o uso de pesos assimétricos de acordo com modalidades da presente invenção podem reduzir a tradução de distorções que podem resultar da filtração através de uma fronteira de bloco.
[0086] Em muitas modalidades, uma técnica similar é usada para a suavização de fronteiras de bloco verticais, como é usado para a suavização de fronteiras de bloco horizontais. Em outras modalidades, a técnica usada para a determinação do nível de detalhe da região de uma imagem na qual uma fronteira de bloco vertical fica não precisa corresponder à técnica usada para a determinação do nível de detalhe da região da imagem na qual uma fronteira de bloco horizontal fica. [0087] Um conjunto de pixels que pode ser usado para se determinar se uma fronteira de bloco vertical fica em uma região relativamente suave de uma imagem ou em uma região relativamente detalhada de uma imagem é mostrada na Figura 4. O conjunto 50 forma um bloco 8 x 4 de pixels 12 que inclui quatro pixels em um dos lados da fronteira de bloco vertical 16. Como discutido acima, outros conjuntos de pixel possuindo dimensões maiores ou menores também podem ser usados.
[0088] Em uma modalidade, uma determinação quanto a se a fronteira de bloco vertical 16 fica em uma região relativamente suave ou em uma região relativamente detalhada envolve a análise dos pixels neste bloco 8x4 como se segue:
sum_SAD=^^l _ vm-i I» onc|e i = 1 a 4, j = 1 a 7 e j * 4
Ϊ j se(sum_SAD<THR(QP)) a fronteira de bloco está situada dentro de uma região relativamente suave, de outro modo a fronteira de bloco fica situada dentro de uma região rePetição 870180065735, de 30/07/2018, pág. 30/45
23/24 lativamente detalhada, onde
THR(QP) é o valor inicial adaptável para QP [0089] QP é o valor médio do quantizador para os dois blocos 8 x 8 em cada lado.
[0090] Em uma modalidade, os valores de limite que são usados para cada QP são como o listado na Tabela 1 acima. Em outras modalidades, outros valores podem ser usados com base na qualidade de imagem relativa resultante da aplicação de vários filtros aos pixels ao longo da fronteira.
[0091] Uma vez que uma determinação tenha sido feita quanto a se a fronteira de bloco fica em uma região relativamente suave ou em uma região relativamente detalhada, filtros de desbloqueio similares àqueles descritos acima com respeito à filtração de fronteiras de bloco horizontais podem ser usados para a filtração de pixels ao longo da fronteira vertical, de acordo com uma modalidade da invenção. Em outras modalidades, outros filtros de desbloqueio adequados podem ser aplicados. Mais ainda, embora a descrição acima se refira a fronteiras verticais, as mesmas técnicas podem ser aplicadas de acordo com as modalidades da presente invenção ao uso de blocos 4x8 para a determinação do nível de detalhe de uma imagem circundando uma fronteira horizontal.
[0092] Embora a descrição acima contenha muitas modalidades específicas da invenção, estas não devem ser construídas como limitações para o escopo da invenção, mas, ao invés disso, como um exemplo de uma modalidade da mesma. Por exemplo, embora determinações de suavidade relativa ou detalhe de uma região de uma imagem na qual uma fronteira fica sejam discutidas com respeito a blocos 8x8, 8x4e4x8de pixels, as técnicas são igualmente aplicáveis para conjuntos de pixel em que o número de linhas e colunas de
Petição 870180065735, de 30/07/2018, pág. 31/45
24/24 pixels é aumentado e/ou diminuído. Assim sendo, o escopo da invenção deve ser determinado não pelas modalidades ilustradas, mas pelas reivindicações em apenso e seus equivalentes.
Petição 870180065735, de 30/07/2018, pág. 32/45
1/8