BR112014017706B1 - Sinalização de parâmetros de filtro de desbloqueio em codificação de vídeo - Google Patents

Sinalização de parâmetros de filtro de desbloqueio em codificação de vídeo Download PDF

Info

Publication number
BR112014017706B1
BR112014017706B1 BR112014017706-6A BR112014017706A BR112014017706B1 BR 112014017706 B1 BR112014017706 B1 BR 112014017706B1 BR 112014017706 A BR112014017706 A BR 112014017706A BR 112014017706 B1 BR112014017706 B1 BR 112014017706B1
Authority
BR
Brazil
Prior art keywords
filter
parameters
slice
syntax element
image layer
Prior art date
Application number
BR112014017706-6A
Other languages
English (en)
Other versions
BR112014017706A8 (pt
Inventor
Marta Karczewicz
Geert Van der Auwera
Ye-Kui Wang
Original Assignee
Qualcomm Incorporated
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 Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112014017706A8 publication Critical patent/BR112014017706A8/pt
Publication of BR112014017706B1 publication Critical patent/BR112014017706B1/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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/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/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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

Landscapes

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

Abstract

SINALIZAÇÃO DE PARÂMETROS DE FILTRO DE DESBLOQUEIO EM CODIFICAÇÃO DE VÍDEO. Essa descrição descreve técnicas para sinalização de parâmetros de filtro de desbloqueio para uma fatia atual de dados de vídeo com overhead de sequência de bits reduzido. Os parâmetros de filtro de desbloqueio podem ser codificados em um ou mais dentre um conjunto de parâmetros de camada de imagem e um cabeçalho de fatia. As técnicas reduzem um número de bits utilizado para sinalizar os parâmetros de filtro de desbloqueio pela codificação de um primeiro elemento de sintaxe que indica se os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetros de camada de imagem e cabeçalho de fatia, e codificando apenas um segundo elemento de sintaxe no cabeçalho de fatia quando ambos os conjuntos de parâmetros de filtro de desbloqueio estão presentes. A codificação do segundo elemento de sintaxe é eliminado quando os parâmetros de filtro de desbloqueio estão presentes em apenas um dentre o conjunto de parâmetros de camada de imagem ou cabeçalho de fatia. O segundo elemento de sintaxe indica qual conjunto de parâmetros de filtro de desbloqueio para utilizar para definir um filtro de desbloqueio aplicado a uma fatia atual.

Description

[0001] Esse pedido reivindica os benefícios do pedido provisório U.S. No. 61/588.454, depositado em 19 de janeiro de 2012, pedido provisório U.S.No. 61/593.015, depositado em 31 de janeiro de 2012, e pedido provisório U.S. No. 61/620.339, depositado em 4 de abril de 2012, todo o conteúdo de cada um dos quais é incorporado aqui por referência.
Campo Técnico
[0002] Essa descrição refere-se à codificação de vídeo, e mais particularmente, ao desbloqueio de dados de vídeo.
Fundamentos
[0003] Capacidades de vídeo digital podem ser incorporadas a uma ampla faixa de dispositivos, incluindo televisores digitais, sistemas de difusão direta digital, sistemas de difusão sem fio, assistentes digitais pessoais (PDAs), computadores laptop ou desktop, computadores tablet, leitoras de e-book, câmeras digitais, dispositivos de gravação digital, aparelhos de reprodução de mídia digital, dispositivos de jogos de vídeo, consoles de jogo de vídeo, telefones de rádio via satélite ou celulares, os chamados "smartphones", dispositivos de teleconferência de vídeo, dispositivos de sequenciamento de vídeo, e similares. Os dispositivos de vídeo digital implementam técnicas de compressão de vídeo, tal como as descritas nos padrões definidos por MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Parte 10, Codificação de Vídeo Avançada (AVC), padrão de Codificação de Vídeo de Alta Eficiência (HEVC) atualmente em desenvolvimento, e extensões de tais padrões. Os dispositivos de vídeo podem transmitir, receber, codificar, decodificar e/ou armazenar informação de vídeo digital mais eficientemente pela implementação de tais técnicas de compressão de vídeo.
[0004] As técnicas de compressão de vídeo realizam previsão espacial (intraimagem) e/ou previsão temporal (interimagem) para reduzir ou remover a redundância inerente em sequências de vídeo. Para a codificação de vídeo com base em bloco, uma fatia de vídeo (isso é, um quadro de vídeo ou uma parte de um quadro de vídeo) pode ser dividida em blocos de vídeo, que também podem ser referidos como blocos de árvore, unidades de codificação (CUs) e/ou nós de codificação. Os blocos de vídeo em uma fatia intracodificada (I) de uma imagem são codificados utilizando-se previsão espacial com relação às amostras de referência em blocos vizinhos na mesma imagem. Os blocos de vídeo em uma fatia intercodificada (P ou B) de uma imagem pode utilizar previsão espacial com relação às mostras de referência em blocos vizinhos na mesma imagem ou previsão temporal com relação às amostras de referência em outras imagens de referência. As imagens podem ser referidas como quadros, e imagens de referência podem ser referidas a um quadro de referência.
[0005] A previsão espacial ou temporal resulta em um bloco de previsão para um bloco a ser codificado. Os dados residuais representam diferentes de pixel entre obloco original a ser codificado e o bloco de previsão. Um bloco intercodificado é codificado de acordo com um vetor de movimento que aponta para um bloco de amostras de referência formando o bloco de previsão, e os dados residuais indicando a diferença entre obloco codificado e obloco de previsão. Um bloco intracodificado é codificado de acordo com um modo de intracodificação que define como o bloco de previsão é criado e os dados residuais. Para compressão adicional, os dados residuais podem ser transformados a partir do domínio de pixel em um domínio de transformação, resultando em coeficientes de transformação residual, que então podem ser quantizados. Os coeficientes de transformação quantizados, inicialmente dispostos em um conjunto bidimensional, podem ser digitalizados a fim de produzir um vetor unidimensional de coeficientes de transformação, e a codificação por entropia pode ser aplicada para alcançar ainda mais compressão.
Sumário
[0006] Em geral, essa descrição descreve as técnicas para sinalização de parâmetros de filtro de desbloqueio com um overhead de sequência de bits reduzido para uma fatia atual de dados de vídeo. Os parâmetros de filtro de desbloqueio definem um filtro de desbloqueio utilizado para remover artefatos de bloqueio de blocos de vídeo decodificados da fatia. Os parâmetros de filtro de desbloqueio incluem elementos de sintaxe definidos para indicar se a filtragem de desbloqueio está ativada ou desativada e, se estiver ativada, os desvios de parâmetro de filtro de desbloqueio para valores limite tc e β. Os parâmetros de filtro de desbloqueio podem ser codificados em um ou mais dentre um conjunto de parâmetro de camada de imagem e um cabeçalho de fatia. O conjunto de parâmetro de camada de imagem pode compreender um conjunto de parâmetro de imagem (PPS) ou um conjunto de parâmetros de adaptação (APS).
[0007] As técnicas podem reduzir um número de bits utilizado para sinalizar os parâmetros de filtro de desbloqueio pela codificação de um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, e codificando apenas um segundo elemento de sintaxe no cabeçalho de fatia quando os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetros de camada de imagem e o cabeçalho de fatia. O segundo elemento de sintaxe é definido para indicar se utiliza um primeiro conjunto de parâmetros de filtro de desbloqueio incluídos no conjunto de parâmetro de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia para definir o filtro de desbloqueio aplicado à fatia de vídeo atual. Nesse caso, quando os parâmetros de filtro de desbloqueio estão presentes em apenas um dentre o conjunto de parâmetros de camada de imagem ou o cabeçalho de fatia, um codificador de vídeo pode eliminar a codificação do segundo elemento de sintaxe no cabeçalho de fatia, e um decodificador de vídeo pode determinar, com base no primeiro elemento de sintaxe, que o segundo elemento de sintaxe não está presente no cabeçalho de fatia a ser decodificado.
[0008] Em um exemplo, essa descrição é direcionada a um método de decodificação de dados de vídeo, o método compreendendo a decodificação de um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetros de camada de imagem e um cabeçalho de fatia, quando o primeiro elemento de sintaxe indica que os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, decodificando um segundo elemento de sintaxe no cabeçalho de fatia definido para indicar se utiliza um primeiro conjunto de parâmetros de filtro de desbloqueio incluídos no conjunto de parâmetro de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual, e quando o primeiro elemento de sintaxe indica que os parâmetros de filtro de desbloqueio não estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, determinando que o segundo elemento de sintaxe não está presente no cabeçalho de fatia a ser decodificado.
[0009] Em outro exemplo, essa descrição é direcionada a um dispositivo de decodificação de vídeo compreendendo uma memória que armazena dados de vídeo, e um processador configurado para decodificar um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetro de camada de imagem e um cabeçalho de fatia. O processador é configurado para, quando o primeiro elemento de sintaxe indica que os parâmetros de filtro de desbloqueio está presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, decodificam um segundo elemento de sintaxe no cabeçalho de fatia definido para indicar se utiliza um primeiro conjunto de parâmetros de filtro de desbloqueio incluídos no conjunto de parâmetro de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual. Por outro lado, o processador é configurado para, quando o primeiro elemento de sintaxe indica que os parâmetros de filtro de desbloqueio não estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, determinar que o segundo elemento de sintaxe não está presente no cabeçalho de fatia a ser decodificado.
[0010] Em um exemplo adicional, essa descrição é direcionada a um dispositivo de decodificação de vídeo compreendendo meios para decodificação de um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetro de camada de imagem e um cabeçalho de fatia, quando o primeiro elemento de sintaxe indica que os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, meios para decodificar um segundo elemento de sintaxe no cabeçalho de fatia definido para indicar se utiliza um primeiro conjunto de parâmetros de filtro de desbloqueio incluídos no conjunto de parâmetro de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual, e, quando o primeiro elemento de sintaxe indica que os parâmetros de filtro de desbloqueio não estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, meios para determinar que o segundo elemento de sintaxe não está presente no cabeçalho de fatia a ser decodificado.
[0011] Em outro exemplo, essa descrição é direcionada a um meio legível por computador compreendendo instruções para decodificação de dados de vídeo que quando executados fazem com que um ou mais processadores decodifiquem um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetros de camada de imagem e um cabeçalho de fatia, quando o primeiro elemento de sintaxe indica que os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, decodificar um segundo elemento de sintaxe no cabeçalho de fatia definido para indicar se utiliza um primeiro conjunto de parâmetros de filtro de desbloqueio incluídos no conjunto de parâmetro de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluído no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual, e, quando o primeiro elemento de sintaxe indica que os parâmetros de filtro de desbloqueio não estão presentes em ambos o conjunto de parâmetro de camada de imagem e cabeçalho de fatia, determinar que o segundo elemento de sintaxe não está presente no cabeçalho de fatia a ser decodificado.
[0012] Em ume exemplo adicional, essa descrição é direcionada a um método de codificação de dados de vídeo, o método compreendendo a codificação de um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetros de camada de imagem e um cabeçalho de fatia, quando o primeiro elemento de sintaxe indica que os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, um primeiro conjunto de parâmetros de filtro de desbloqueio incluído no conjunto de parâmetro de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluído no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual, quando o primeiro elemento de sintaxe indica que os parâmetros de filtro de desbloqueio não estão presentes em ambos o conjunto de parâmetros de camada de imagem e o cabeçalho de fatia, eliminando a codificação do segundo elemento de sintaxe no cabeçalho de fatia.
[0013] Em um exemplo adicional, a descrição é direcionada a um dispositivo de codificação de vídeo compreendendo uma memória que armazena dados de vídeo, e um processador configurado para codificar um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetro de camada de imagem e um cabeçalho de fatia. O processador é configurado para, quando o primeiro elemento de sintaxe indicar que os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, codificar um segundo elemento de sintaxe no cabeçalho de fatia definido para indicar se utiliza um primeiro conjunto de parâmetros de filtro de desbloqueio incluídos no primeiro conjunto de parâmetro de camada ou um segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual. Por outro lado, o processador é configurado para, quando o primeiro elemento de sintaxe indicar que os parâmetros de filtro de desbloqueio não estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, eliminar a codificação do segundo elemento de sintaxe no cabeçalho de fatia.
[0014] Em outro exemplo, essa descrição é direcionada a um dispositivo de codificação de vídeo compreendendo meios para codificação de um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetro de camada de imagem e um cabeçalho de fatia, quando o primeiro elemento de sintaxe indicar que os parâmetros de filtro de desbloqueio estão resentes em ambos o conjunto de parâmetros de camada de imagem e o cabeçalho de fatia, meios para codificação de um segundo elemento de sintaxe no cabeçalho de fatia definidos para indicar se deve ser utilizado um primeiro conjunto de parâmetros de filtro de desbloqueio incluído no conjunto de parâmetro de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual, e, quando o primeiro elemento de sintaxe indicar que os parâmetros de filtro de desbloqueio não estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, meios para eliminar a codificação do segundo elemento de sintaxe no cabeçalho de fatia.
[0015] Em um exemplo adicional, essa descrição é direcionada a um meio legível por computador compreendendo instruções para a codificação de dados de vídeo que quando executados fazem com que um ou mais processadores codifiquem um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetro de camada de imagem e um cabeçalho de fatia, quando o primeiro elemento de sintaxe indica que os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, codificar um segundo elemento de sintaxe no cabeçalho e fatia definido para indicar se deve se utilizar um primeiro conjunto de parâmetros de filtro de desbloqueio incluídos no conjunto de parâmetro de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual, e, quando o primeiro elemento de sintaxe indicar que os parâmetros de filtro de desbloqueio não estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, eliminar a codificação do segundo elemento de sintaxe no cabeçalho de fatia.
[0016] Os detalhes de um ou mais exemplos são apresentados nos desenhos em anexo e descrição abaixo. Outras características, objetivos, e vantagens serão aparentes a partir da descrição e dos desenhos e das reivindicações.
Breve Descrição dos Desenhos
[0017] A figura 1 é um diagrama em bloco ilustrando um sistema de codificação e decodificação de vídeo ilustrativo que pode codificar parâmetros de filtro de desbloqueio de acordo com as técnicas descritas nessa descrição;
[0018] A figura 2 é um diagrama em bloco ilustrando um exemplo de um codificador de vídeo que pode implementar as técnicas descritas nessa descrição para codificar os parâmetros de filtro de desbloqueio com overhead de sequência de bits reduzido;
[0019] A figura 3 é um diagrama em bloco ilustrando um exemplo de um decodificador de vídeo que pode implementar as técnicas descritas nessa descrição para decodificar os parâmetros de filtro de desbloqueio utilizados para definir filtros de desbloqueio aplicados às fatias de vídeo;
[0020] A figura 4 é um diagrama em bloco ilustrando componentes de um filtro de desbloqueio ilustrativo definido com base nos parâmetros de filtro de desbloqueio sinalizados de acordo com as técnicas descritas nessa descrição;
[0021] A figura 5 é um diagrama conceitual ilustrando posições de pixel próximos a uma borda de um bloco de vídeo entre os sub-blocos;
[0022] A figura 6 é um fluxograma ilustrando uma operação ilustrativa de codificação de parâmetros de filtro de desbloqueio para uma fatia de vídeo atual com o overhead de sequência de bits reduzido de acordo com as técnicas descritas nessa descrição;
[0023] A figura 7 é um fluxograma ilustrando uma operação ilustrativa da decodificação de parâmetros de filtro de desbloqueio para uma fatia de vídeo atual com overhead de sequência de bit reduzido de acordo com as técnicas descritas nessa descrição;
[0024] A figura 8 é um fluxograma ilustrando uma operação ilustrativa de codificação de parâmetros de filtro de desbloqueio para uma fatia de vídeo atual em um conjunto de parâmetros de imagem (PPS) que pode ser eliminado pelos parâmetros de filtro de desbloqueio em um cabeçalho de fatia;
[0025] A figura 9 é um fluxograma ilustrando uma operação ilustrativa de decodificação de parâmetros de filtro de desbloqueio para uma fatia de vídeo atual em um conjunto de parâmetros de imagem (PPS) que podem ser eliminado pelos parâmetros de filtro de desbloqueio em um cabeçalho de fatia.
Descrição Detalhada
[0026] Algumas técnicas ilustrativas dessa descrição reduzem o número de bits utilizados para sinalizar os parâmetros de filtro de desbloqueio para uma fatia de vídeo atual pela codificação de um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetros de camada de imagem e um cabeçalho de fatia, e apenas a codificação de um segundo elemento de sintaxe no cabeçalho de fatia quando os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetros de camada de imagem e o cabeçalho de fatia. O segundo elemento de sintaxe é definido para indicar se deve ser utilizado um primeiro conjunto de parâmetros de filtro de desbloqueio incluídos no conjunto de parâmetro de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia para definir o filtro de desbloqueio aplicado à fatia de vídeo atual. Nesse caso, quando os parâmetros de filtro de desbloqueio estão presentes em apenas um conjunto de parâmetros de camada de imagem ou cabeçalho de fatia, um dispositivo de codificação de vídeo pode eliminar a codificação do segundo elemento de sintaxe no cabeçalho de fatia, e um dispositivo de decodificação de vídeo pode determinar, com base no primeiro elemento de sintaxe, que o segundo elemento de sintaxe não está presente no cabeçalho de fatia a ser decodificado.
[0027] A figura 1 é um diagrama em bloco ilustrando um sistema de codificação e decodificação de vídeo ilustrativo 10 que pode codificar os parâmetros de filtro de desbloqueio de acordo com as técnicas descritas nessa descrição. Como ilustrado na figura 1, o sistema 10 inclui um dispositivo fonte 12 que gera os dados codificados a serem decodificados posteriormente por um dispositivo de destino 14. O dispositivo fonte 12 e o dispositivo de destino 14 podem compreender qualquer um dentre uma ampla faixa de dispositivos, incluindo computadores desktop, computadores notebook (isso é, laptop), computadores tablet, caixas de decodificação, aparelhos telefônicos tal como os chamados "smartphones", os chamados "smart pads", televisores, câmeras, dispositivos de exibição, aparelhos de reprodução de mídia digital, consoles de jogos de vídeo, dispositivo de sequenciamento de vídeo, ou similares. Em alguns casos, o dispositivo fonte 12 e o dispositivo de destino 14 podem ser equipados para comunicação sem fio.
[0028] O dispositivo de destino 14 pode receber dados de vídeo codificados a serem decodificados através de um link 16. O link 16 pode compreender qualquer tipo de meio ou dispositivo capaz de mover os dados de vídeo codificados do dispositivo fonte 12 para o dispositivo de destino 14. Em um exemplo, o link 16 pode compreender um meio de comunicação para permitir que o dispositivo fonte 12 transmita os dados de vídeo codificados diretamente para o dispositivo de destino 14 em tempo real. Os dados de vídeo codificados podem ser modulados de acordo com um padrão de comunicação, tal como o protocolo de comunicação sem fio, e transmitidos para o dispositivo de destino 14. O meio de comunicação pode compreender qualquer meio de comunicação sem ou com fio, tal como espectro de frequência de rádio (RF) ou uma ou mais linhas de transmissão físicas. O meio de comunicação pode formar parte de uma rede com base em pacote, tal como uma rede de área local, uma rede de área ampla, ou uma rede global tal como a Internet. O meio de comunicação pode incluir roteadores, comutadores, estações base ou qualquer outro equipamento que possa ser útil para facilitar a comunicação do dispositivo fonte 12 para o dispositivo de destino 14.
[0029] Em outro exemplo, o link 16 pode corresponder a um meio de armazenamento que pode armazenar dados de vídeo codificados gerados pelo dispositivo fonte 12 e que o dispositivo de destino 14 pode acessar como desejado através de acesso por disco ou acesso por cartão. O meio de armazenamento pode incluir qualquer um dentre uma variedade de meios de armazenamento de dados acessados localmente tal como discos Blu-ray, DVDs, CD-ROMs, memória flash ou qualquer outro meio de armazenamento digital adequado para armazenamento de dados de vídeo codificados. Em um exemplo adicional, o link 16 pode corresponder ao vídeo gerado pelo dispositivo fonte 12 e que o dispositivo de destino 14 pode acessar como desejado através de sequenciamento ou download. O servidor de arquivo pode ser qualquer tipo de servidor capaz de armazenar dados de videocodificados e transmitir esses dados de vídeo codificados para o dispositivo de destino 14. Servidores de arquivo ilustrativos incluem um servidor de rede (por exemplo, para um sítio da rede),um servidor FTP, dispositivos de armazenamento fixados à rede (NAS), ou um acionador de disco local. O dispositivo de destino 14 pode acessar os dados de vídeo codificados através que qualquer conexão de dados parado, incluindo uma conexão com a Internet. Isso pode incluir um canal sem fio (por exemplo, uma conexão Wi-Fi), uma conexão com fio (por exemplo, DSL, modem a cabo, etc.) ou uma combinação de ambos que seja adequada para acessar os dados de vídeo codificados armazenados em um servidor de arquivo. A transmissão de dados de vídeo codificados a partir do servidor de arquivo pode ser uma transmissão de sequenciamento, uma transmissão de download,ou uma combinação de ambas.
[0030] As técnicas dessa descrição não são necessariamente limitadas a aplicativos ou configurações sem fio. As técnicas podem ser aplicadas à codificação de vídeo suportando qualquer uma dentre uma variedade de aplicativos de multimídia, tal como difusões de televisão através do ar, transmissões de televisão a cabo, transmissões de televisão via satélite, transmissões de vídeo sequenciado, por exemplo, através da Internet, codificação de vídeo digital para armazenamento em um meio de armazenamento de dados, decodificação de vídeo digital armazenado em um meio de armazenamento de dados, ou outros aplicativos. Em alguns exemplos, o sistema 10 pode ser configurado para suportar transmissão de vídeo de via única ou duas vias para suportar aplicativos de suporte tal como sequenciamento de vídeo, reprodução de vídeo, difusão de vídeo e/ou videotelefonia.
[0031] No exemplo da figura 1, o dispositivo fonte 12 inclui uma fonte de vídeo 18, um codificador de vídeo 20 e uma interface de saída 22. Em alguns casos, a interface de saída 22 pode incluir um modulador/demodulador (modem) e/ou um transmissor. No dispositivo fonte 12, a fonte de vídeo 18 pode incluir uma fonte tal como um dispositivo de captura de vídeo, por exemplo, uma videocâmera, um arquivo de vídeo contendo vídeo previamente capturado, uma interface de alimentação de vídeo para receber o vídeo de um provedor de conteúdo de vídeo, e/ou um sistema gráfico de computador para gerar dados gráficos de computador como vídeo fonte, ou uma combinação de tais fontes. Como um exemplo, se a fonte de vídeo 18 for uma câmera de vídeo, o dispositivo fonte 12 e o dispositivo de destino 14 podem formar os chamados telefones de câmera ou videofones. No entanto, as técnicas descritas nessa descrição podem ser aplicáveis à codificação de vídeo em geral, e podem ser aplicadas a aplicativos sem e/ou com vídeo.
[0032] O vídeo capturado, pré-capturado ou gerado por computador pode ser codificado pelo codificador de vídeo 20. Os dados de vídeo codificados podem ser transmitidos diretamente para o dispositivo de destino 14 através da interface de saída 22 do dispositivo fonte 12. Os dados de vídeo codificados também podem ser armazenados em um meio de armazenamento ou um servidor de arquivo para acesso posterior pelo dispositivo de destino 14 para decodificação e/ou reprodução.
[0033] O dispositivo de destino 14 inclui uma interface de entrada 28, um decodificador de vídeo 30 e um dispositivo de exibição 32. Em alguns casos, a interface de entrada 28 pode incluir um receptor e/ou um modem. A interface de entrada 28 do dispositivo de destino 14 recebe os dados de vídeo codificados através do link 1. Os dados de vídeo codificados comunicados através do link 16, ou fornecidos em um meio de armazenamento de dados, podem incluir uma variedade de elementos de sintaxe gerados pelo codificador de vídeo 20 para uso por um decodificador de vídeo, tal como o decodificador de vídeo 30, na decodificação de dados de vídeo. Tais elementos de sintaxe podem ser incluídos com os dados de vídeo codificados transmitidos em um meio de comunicação, armazenados em um meio de armazenamento ou armazenados em um servidor de arquivo.
[0034] O dispositivo de exibição 32 pode ser integrado com, ou pode estar fora do dispositivo de destino 14. Em alguns exemplos, o dispositivo de destino 14 pode incluir um dispositivo de exibição integrado e também pode ser configurado para interfacear com um dispositivo de exibição externo. Em outros exemplos, o dispositivo de destino 14 pode ser um dispositivo de exibição. Em geral, o dispositivo de exibição 32 exibe os dados de vídeo decodificados para um usuário, e pode compreender qualquer um dentre uma variedade de dispositivos de exibição tal como o monitor de cristal líquido (LCD), um monitor de plasma, um monitor de diodo de emissão de luz orgânica (OLED), ou qualquer outro tipo de dispositivo de exibição.
[0035] O codificador de vídeo 20 e o decodificador de vídeo 30 podem operar de acordo com um padrão de compressão de vídeo, tal como o padrão de Codificação de Vídeo de Alta Eficiência (HEVC) atualmente em desenvolvimento e pode se conformar ao Modelo de Teste HEVC (HM). Alternativamente, o codificador de vídeo 20 e o decodificador de vídeo 30 podem operar de acordo com outros padrões proprietários ou da indústria, tal como o padrão ITU-T H.264, alternativamente referido como MPEG-4, parte 10, Codificação de Vídeo Avançada (AVC), ou extensões de tais padrões. As técnicas dessa descrição, no entanto, não estão limitadas a qualquer padrão de codificação em particular. Outros exemplos dos padrões de compressão de vídeo incluem MPEG-2 e ITU-T H.263.
[0036] Apesar de não ilustrado na figura 1, em alguns aspectos, o codificador de vídeo 20 e o decodificador de vídeo 30 podem, cada um, ser integrados a um codificador e decodificador de áudio, e podem incluir unidades MUX-DEMUX adequadas, ou outro hardware e software, para manusear a codificação de ambos o áudio e o vídeo em uma sequência de dados comum ou sequências de dados separadas. Se aplicável, em alguns exemplos, unidades MUX- DEMUX podem se conformar ao protocolo multiplexador ITU H.223, ou outros protocolos tal como o protocolo de datagrama de usuário (UDP).
[0037] O codificador de vídeo 20 e o decodificador de vídeo 30 podem, cada um, ser implementados como qualquer um dentre uma variedade de conjuntos de circuito de codificador adequados, tal como um ou mais microprocessadores, processadores de sinal digital (DSPs), circuitos integrados específicos de aplicativo (ASICs), conjuntos de porta programável em campo (FPGAs), lógica discreta, software, hardware, firmware ou qualquer combinação dos mesmos. Quando as técnicas são implementadas parcialmente em software, um dispositivo pode armazenar instruções para software em um meio legível por computador não transitório adequado e executar as instruções em hardware utilizando um ou mais processadores para realizar as técnicas dessa descrição. Cada codificador de vídeo 20 e decodificador de vídeo 30 pode ser incluído em um ou mais codificadores ou decodificadores, qualquer um dos quais pode ser integrado como parte de um codificador/decodificador combinado (CODEC) em um dispositivo respectivo.
[0038] O Time Colaborativo Conjunto de Codificação de Vídeo (JCT-VC) está trabalhando no desenvolvimento do padrão HEVC. Os esforços de padronização HEVC são baseados em um modelo de evolução de um dispositivo de codificação de vídeo referido como Modelo de Teste HEVC (HM). HM presume várias capacidades adicionais de dispositivos de codificação de vídeo com relação aos dispositivos existentes de acordo com, por exemplo, ITU-T H.264/AVC. Por exemplo, ao passo que H.264 fornece nove modos de codificação intraprevisão, HM pode fornecer tantos quantos trinta e três modos de codificação de intraprevisão.
[0039] Em geral, o modelo de trabalho de HM descreve que um quadro de vídeo ou imagem pode ser dividido em uma sequência de blocos de árvore ou unidades de codificação maiores (LCU) que incluem ambas as amostras de luminescência e crominância. Um bloco de árvore possui uma finalidade similar a um macrobloco do padrão H.264. Uma fatia inclui um número de blocos de árvore consecutivos na ordem de codificação. Um quadro de vídeo ou imagem pode ser dividido em uma ou mais fatias. Cada bloco de árvore pode ser dividido em unidades de codificação (CUs) de acordo com um quadtree. Por exemplo, um bloco de árvore, como um nó raiz do quadtree, pode ser dividido em quatro nós criança, e cada nó criança pode, por sua vez, ser um nó parente e dividido em quatro outros nós criança. Um nó criança não dividido final tal como um nó folha do quadtree, compreende um nó de codificação, isso é, um número máximo de vezes que um bloco de árvore pode ser dividido, e também define um tamanho mínimo de nós de codificação.
[0040] Uma CU inclui um nó de codificação e unidades de previsão (PUs) e as unidades de transformação (TUs) associadas com o nó de codificação. Um tamanho da CU corresponde a um tamanho do nó de codificação. O tamanho da CU pode variar de 8 x 8 pixels até o tamanho do bloco de árvore com um máximo de 64 x 64 pixels ou mais. Cada CU pode conter uma ou mais PUs e uma ou mais Us. Os dados de sintaxe associados com uma CU podem descrever, por exemplo, partição da CU em uma ou mais PUs. Os modos de divisão podem diferir entre se a CU é codificada por modo direto ou pulado, codificada por modo de intraprevisão ou codificada por modo de interprevisão. As PUs podem ser divididas para serem quadradas ou não em formato. Os dados de sintaxe associados com uma CU também podem descrever, por exemplo, a partição da CU em uma ou mais TUs de acordo com um quadtree. Uma TU pode ser dividida para ser quadrada ou não.
[0041] Em geral, uma PU inclui dados relacionados com o processo de previsão. Por exemplo, quando a PU é codificada por intramodo, a PU pode incluir dados descrevendo um modo de intraprevisão para a PU. Como outro exemplo, quando a PU é codificada por intermodo, a PU pode incluir dados definindo um vetor de movimento para a PU. Os dados definindo o vetor de movimento para uma PU podem descrever, por exemplo, um componente horizontal do vetor de movimento, um componente vertical do vetor de movimento, uma resolução para o vetor de movimento (por exemplo, precisão de um quarto de pixel ou preciso de um oitavo de pixel), uma imagem de referência à qual o vetor de movimento aponta e/ou uma lista de imagem de referência (por exemplo, Lista 0 ou Lista 1) para o vetor de movimento.
[0042] Em geral, uma TU é utilizada para os processos de transformação e quantização. Uma CU possuindo uma ou mais PUs também pode incluir uma ou mais TUs. Seguindo a previsão, o codificador de vídeo 20 pode calcular valores residuais correspondentes à PU. Os valores residuais compreendem valores de diferença de pixel que podem ser transformados em coeficientes de transformação, quantizados e digitalizados utilizando as TUs para produzir os coeficientes de transformação serializados para codificação por entropia. Essa descrição utiliza tipicamente o termo "bloco de vídeo" para referir a um nó de codificação de uma CU. Em alguns casos específicos, essa descrição também pode utilizar o termo "bloco de vídeo" para fazer referência a um bloco de árvore, isso é, LCU, ou uma CU, que inclui um nó de codificação e PUs e TUs.
[0043] Uma sequência de vídeo inclui tipicamente uma série de quadros de vídeo ou imagens. Um grupo de imagens (GOP) geralmente compreende uma série de uma ou mais imagens de vídeo. Um GOP pode incluir dados de sintaxe em um cabeçalho do GOP, um cabeçalho de uma ou mais das imagens, ou em outro lugar, que descreva um número de imagens incluídas no GOP. Cada fatia de uma imagem pode incluir dados de sintaxe de fatia que descrevem um modo de codificação para a fatia respectiva. O codificador de vídeo 20 opera tipicamente em blocos de vídeo dentro de fatias de vídeo individuais a fim de codificar os dados de vídeo. Um bloco de vídeo pode corresponder a um nó de codificação dentro de uma CU. Os blocos de vídeo podem ter tamanhos fixos ou variáveis, e podem diferir em tamanho de acordo com um padrão de codificação especificado.
[0044] Como um exemplo, HM suporta a previsão de vários tamanhos de PU. Assumindo-se que o tamanho de uma CU em particular é 2N x 2N, HM suporta a intraprevisão em tamanhos de PU de 2N x 2N ou N x N, e interprevisão em tamanhos de PU simétricos de 2N x 2N, 2N x N, N x 2N, ou 2N x nU, 2N x nD, nL x 2N e nR x 2N. Na partição assimétrica, uma direção de uma CU não é dividida, enquanto a outra direção é dividida em 25% e 75%. A parte da CU correspondente à partição de 25% é indicada por um "n" seguido por uma indicação de "cima", "baixo", "esquerda" ou "direita". Dessa forma, por exemplo, "2X x nU" se refere a uma CU 2N x 2N que é dividida horizontalmente com uma PU de 2N x 0,5N em cima e uma PU 2N x 1,5N em baixo.
[0045] Nessa descrição, "N x N" e "N por N" podem ser utilizados de forma intercambiável para fazer referência às dimensões de pixel de um bloco de vídeo em termos de dimensões vertical e horizontal, por exemplo, 16 x 16 pixels ou 16 por 16 pixels. Em geral, um bloco de 16 x 16 terá 16 pixels em uma direção vertical (y = 16) e 16 pixels em uma direção horizontal (x = 16). Da mesma forma, um bloco N x N geralmente possui N pixels em uma direção vertical e N pixels em uma direção horizontal, onde N representa valor inteiro não negativo. Os pixels em um bloco podem ser dispostos em fileiras e colunas. Ademais, os blocos necessários não precisam necessariamente ter o mesmo número de pixels na direção horizontal que na direção vertical. Por exemplo, blocos podem compreender N x M pixels, onde M não é necessariamente igual a N.
[0046] Seguindo a codificação intraprevisível ou interprevisível utilizando PUs de uma CU, o codificador de vídeo 20 pode calcular os dados residuais para as TUs da CU. As PUs podem compreender dados de pixel no domínio espacial (também referido como domínio de pixel) e as TUs podem compreender coeficientes no domínio de transformação seguindo a aplicação de uma transformação, por exemplo, uma transformação de cosseno discreto (DCT), uma transformação de inteiro, uma transformação de wavelet ou uma transformação conceitualmente similar para dados de vídeo residuais. Os dados residuais podem corresponder às diferenças de pixel entre os pixels da imagem não codificada e valores de previsão correspondentes às PUs. O codificador de vídeo 20 pode formar as TUs incluindo os dados residuais para a CU, e então transformar as TUs para produzir coeficientes de transformação para a CU.
[0047] Seguindo quaisquer transformações para produzir os coeficientes de transformação, o codificador de vídeo 20 pode realizar a quantização dos coeficientes de transformação. A quantização geralmente se refere a um processo no qual os coeficientes de transformação são quantizados para possivelmente reduzir a quantidade de dados utilizados para representar os coeficientes, fornecendo compressão adicional. O processo de quantização pode reduzir a profundidade de bit associada com alguns ou todos os coeficientes.
[0048] Em alguns exemplos, o codificador de vídeo 20 pode utilizar uma ordem de digitalização predefinida para digitalizar os coeficientes de transformação quantizados para produzir um vetor serializado que pode ser codificado por entropia. Em outros exemplos, o codificador de vídeo 20 pode realizar uma digitalização adaptativa. Depois da digitalização dos coeficientes de transformação quantizados para formar um vetor unidimensional, o codificador de vídeo 20 pode codificar por entropia o vetor unidimensional, por exemplo, de acordo com a codificação de comprimento variável adaptativa de contexto (CAVLC), codificação aritmética binária adaptativa de contexto (CABAC), codificação aritmética binária adaptativa de contexto com base em sintaxe (SBAC), códigos de entropia de partição de intervalo de probabilidade (PIPE), ou outra metodologia de codificação por entropia. O codificador de vídeo 20 também pode codificar por entropia elementos de sintaxe associados com os dados de vídeo codificados para uso pelo decodificador de vídeo 30 na decodificação de dados de vídeo.
[0049] Para realizar CABAC, o codificador de vídeo 20 pode designar um contexto dentro de um modelo de contexto para um símbolo a ser transmitido. O contexto pode se referir a, por exemplo, se os valores vizinhos do símbolo são diferentes de zero ou não. Para realizar CAVLC, o codificador de vídeo 20 pode selecionar um código de comprimento variável para um símbolo a ser transmitido. Palavras código em VLC podem ser construídas de modo que códigos relativamente mais curtos correspondam a mais símbolos prováveis, enquanto códigos mais longos correspondam a símbolos menos prováveis. Dessa forma, o uso de VLC pode alcançar uma economia de bit sobre, por exemplo, a utilização de palavras código de mesmo comprimento para cada símbolo a ser transmitido. A determinação da probabilidade pode ser baseada em um contexto designado para o símbolo.
[0050] Em adição à sinalização de dados de vídeo codificados em uma sequência de bits para o decodificador de vídeo 30 no dispositivo de destino 14, o codificador de vídeo 20 também pode decodificar os dado de vídeo codificados e reconstruir os blocos dentro de um quadro de vídeo ou imagem para uso como dados de referência durante o processo de intra ou interprevisão para blocos codificados subsequentemente. Depois da divisão de um quadro de vídeo ou imagem em blocos (por exemplo, LCUs e sub-CUs da mesma), a codificação de blocos, e então a decodificação de blocos, no entanto, artefatos perceptíveis nas bordas entre os blocos podem ocorrer. A fim de se remover esses artefatos de "bloqueio", o codificador de vídeo 20 pode aplicar filtros de desbloqueio aos blocos de vídeo decodificados antes do armazenamento como blocos de referência. De forma similar, o decodificador de vídeo 30 pode ser configurado para decodificar os dados de vídeo recebidos em uma sequência de bits do codificador de vídeo 20 do dispositivo fonte 12, e aplicar os mesmos filtros de desbloqueio ou filtros similares aos dados de vídeo decodificados para fins de exibição de dados de vídeo além de para utilização dos dados de vídeo como dados de referência para os dados de vídeo subsequentemente decodificados.
[0051] A filtragem de desbloqueio realizada por um dispositivo de codificação de vídeo, tal como um codificador de vídeo 20 ou decodificador de vídeo 30, antes do armazenamento os dados para uso como dados de referência são geralmente referidos como filtragem "em circuito", visto que a filtragem é realizada dentro do circuito de codificação. Pela configuração de ambos o codificador de vídeo 20 e o decodificador de vídeo 30 para aplicar as mesmas técnicas desbloqueio,os dispositivos de codificação de vídeo podem ser sincronizados, de modo que o desbloqueio não introduzam erro para os dados de vídeo subsequentemente codificados que utilizam os dados de vídeo desbloqueados como dados de referência.
[0052] O codificador de vídeo 20 e o decodificador de vídeo 30 são geralmente configurados para determinar, para cada borda de um bloco de vídeo, incluindo as bordas PU e TU, se aplica um filtro de desbloqueio para desbloquear a borda. Os dispositivos de codificação de vídeo podem ser configurados para determinar se desbloqueia uma borda com base em uma análise de uma ou mais linhas dos pixels perpendiculares à borda, por exemplo, uma linha de 8 pixels. Dessa forma, por exemplo, para uma borda vertical, um dispositivo de codificação de vídeo pode determinar se desbloqueia a borda pelo exame de quatro pixels para a esquerda e quatro pixels para a direita da borda ao longo de uma linha comum. O número de pixels selecionados geralmente corresponde ao menor bloco para desbloqueio, por exemplo, 8 x 8 pixels. Dessa forma, a linha de pixels utilizada para análise estica através de bordas PU e TU do bloco de vídeo com pixels em cada lado da borda, por exemplo, para a esquerda e direita de uma borda ou acima e abaixo de uma borda. A linha de pixels utilizada para análise de se realiza o desbloqueio para uma borda é referida também como um conjunto de pixels de suporte, ou simplesmente "suporte".
[0053] Os dispositivos de codificação de vídeo podem ser configurados para executar funções de decisão de desbloqueio com base no suporte para uma borda particular. Em geral, as funções de decisão de desbloqueio são configuradas para detectar mudanças de alta frequência dentro dos pixels de suporte. Tipicamente, quando uma mudança de alta frequência é detectada, a função de decisão de desbloqueio fornece uma indicação que artefatos perceptíveis estão presentes na borda e desbloqueio deve ocorrer. As funções de decisão de desbloqueio também podem ser configuradas para determinar um tipo e resistência do filtro de desbloqueio para aplicar à borda com base no suporte. O tipo e resistência do filtro de desbloqueio podem ser indicados pelos valores limítrofes tc e β.
[0054] Essa descrição descreve as técnicas para sinalização de parâmetros de filtro de desbloqueio para uma fatia atual de dados de vídeo com overhead de sequência de bits reduzido. Os parâmetros de filtro de desbloqueio definem um filtro de desbloqueio utilizado para reduzir ou remover os artefatos de bloqueio dos blocos de vídeo decodificados da fatia atual. Os parâmetros de filtro de desbloqueio incluem elementos de sintaxe configurados para indicar se a filtragem de desbloqueio é ativada ou desativadas e, se ativada, desvios de parâmetro de filtro de desbloqueio para valores limite tc e β.
[0055] Parâmetros de filtro de desbloqueio podem ser codificados em um ou mais dentre um conjunto de parâmetro de camada de imagem e um cabeçalho de fatia. O conjunto de parâmetros de camada de imagem pode compreender um conjunto de parâmetro de imagem (PPS) ou um conjunto de parâmetros de adaptação (APS). PPS é um conjunto de parâmetros de camada de imagem que contém os dados diferentemente da mudança entre as imagens que se referem a PPS. APS é um conjunto de parâmetros de camada de imagem destinado ao uso com dados adaptativos de imagem que devem mudar de imagem para imagem. Em um exemplo, o APS inclui parâmetros para um filtro de desbloqueio, um Filtro de Circuito Adaptativo (ALF), e um Desvio Adaptativo de Amostra (SAO). Incluindo esses parâmetros no APS ao invés de PPS pode reduzir um número de bits transmitidos para uma sequência de vídeo visto que os dados PPS constantes não precisam ser repetidos quando o filtro de desbloqueio, ALF ou parâmetros SAO mudem.
[0056] A figura 2 é um diagrama em bloco ilustrando um exemplo de codificador de vídeo 20 que pode implementar as técnicas descritas nessa descrição para codificar os parâmetros de filtro de desbloqueio com overhead de sequência de bits reduzido. O codificador de vídeo 20 pode realizar a intra e intercodificação de blocos de vídeo dentro de fatias de vídeo. A intracodificação se baseia na previsão espacial para reduzir ou remover a redundância espacial em vídeo dentro de um quadro de vídeo ou imagem determinada. A intercodificação se baseia na previsão temporal para reduzir ou remover a redundância temporal em vídeo dentro de quadros ou imagens adjacentes de uma sequência de vídeo. O intramodo (modo I) pode se referir a qualquer um dentre os vários modos de compressão com base espacial. Os intermodos, tal como a previsão unidirecional (modo P) ou previsão bidirecional (modo B), podem se referir a qualquer um dos vários modos de compressão com base temporal.
[0057] No exemplo da figura 2, o codificador de vídeo 20 inclui uma unidade de seleção de modo 40, unidade de estimativa de movimento 42, unidade de compensação de movimento 44, unidade de processamento de intraprevisão 46, memória de imagem de referência 64, somador 50, unidade de processamento de transformação 52, unidade de quantização 54, e unidade de codificação por entropia 56. Para reconstrução de bloco de vídeo, o codificador de vídeo 20 também inclui unidade de quantização inversa 58, unidade de processamento de transformação inversa 0, e somador 62. Um filtro de desbloqueio 63 também é incluído para filtrar limites de bloco para remover artefatos de bloqueio dos blocos de vídeo reconstruídos.
[0058] Como ilustrado na figura 2, o codificador de vídeo 20 recebe um bloco de vídeo atual dentro de uma fatia de vídeo a ser codificada. A fatia pode ser dividida em múltiplos blocos de vídeo. A unidade de seleção de modo 40 pode selecionar um dos modos de codificação, intra ou inter, para o bloco de vídeo atual com base em resultados de erro. Se os modos intra e inter forem selecionados, a unidade de seleção de modo 40 fornece o bloco intra ou intercodificado resultante para o somador 50 para gerar dados de bloco residuais e para o somador 62 para reconstruir o bloco codificado para uso como um bloco de referência dentro de uma imagem de referência armazenada na memória de imagem de referência 64. A unidade de processamento de intraprevisão 46 realiza a codificação intraprevisível do bloco de vídeo atual com relação a um ou mais blocos vizinhos no mesmo quadro ou fatia que o bloco atual a ser codificado para fornecer compressão espacial. A unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44 realizam a codificação interprevisível do bloco de vídeo atual com relação a um ou mais blocos de previsão em uma ou mais imagens de referência para fornecer compressão temporal.
[0059] No caso de intercodificação, a unidade de estimativa de movimento 42 pode ser configurada para determinar o modo de interprevisão para uma fatia de vídeo de acordo com um padrão predeterminado para uma sequência de vídeo. O padrão predeterminado pode designar fatias de vídeo na sequência como fatias P ou fatias B. A unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44 podem ser altamente integradas, mas são ilustradas separadamente para fins conceituais. A estimativa de movimento, realizada pela unidade de estimativa de movimento 42, é o processo de geração de vetores de movimento, que estimam o movimento para os blocos de vídeo. Um vetor de movimento, por exemplo, pode indicar o deslocamento de uma PU de um bloco de vídeo dentro de um quadro de vídeo atual ou imagem com relação a um bloco de previsão dentro de uma imagem de referência.
[0060] Um bloco de previsão é um bloco que é encontrado para combinar de perto com a PU do bloco de vídeo a ser codificado em termos de diferença de pixel, que pode ser determinada pela soma da diferença absoluta (SAD), soma da diferença quadrada (SSD), ou outras métricas de diferença. Em alguns exemplos, o codificador de vídeo 20 pode calcular os valores para posições de pixel subinteiros das imagens de referência armazenadas na memória de imagem de referência 64. Por exemplo, o codificador de vídeo 20 pode calcular os valores de posições de um quarto de pixel, posições de um oitavo de pixel, ou outras posições de pixel fracionado da imagem de referência. Portanto, a unidade de estimativa de movimento 42 pode realizar uma busca de movimento com relação às posições de pixel inteiro e posições de pixel fracionado e enviar um vetor de movimento com a previsão de pixel fracionado.
[0061] A unidade de estimativa de movimento 42 calcula um vetor de movimento para uma PU de um bloco de vídeo em uma fatia intercodificada pela comparação da posição da PU com a posição de um bloco de previsão de uma imagem de referência. A imagem de referência pode ser selecionada a partir de uma primeira lista de imagens de referência (Lista 0) ou uma segunda lista de imagens de referência (lista 1), cada uma das quais identifica uma ou mais imagens de referência armazenadas na memória de imagem de referência 64. A unidade de estimativa de movimento 42 envia o vetor de movimento calculado para a unidade de codificação por entropia 56 e unidade de compensação de movimento 44.
[0062] A compensação de movimento, realizada pela unidade de compensação de movimento 44, pode envolver a coleta ou geração de bloco de previsão com base no vetor de movimento determinado pela estimativa de movimento. Mediante o recebimento do vetor de movimento para a PU do bloco de vídeo atual, a unidade de compensação de movimento 44 pode localizar o bloco de previsão para o qual o vetor de movimento aponta em uma das listas de imagem de referência. O codificador de vídeo 20 forma um bloco de vídeo residual pela subtração de valores de pixel do bloco de previsão a partir dos valores de pixel do bloco de vídeo atual sendo codificado, formando os valores de diferença de pixel. Os valores de diferença de pixel formam dados residuais para o bloco e podem incluir ambos os componentes de diferença de luminescência e crominância. O somador 50 representa o componente ou componentes que realizam essa operação de subtração. A unidade de compensação de movimento 44 também pode gerar elementos de sintaxe associados com os blocos de vídeo e a fatia de vídeo para uso pelo decodificador de vídeo 30 na decodificação de blocos de vídeo da fatia de vídeo.
[0063] Depois da unidade de compensação de movimento 44 gerar o bloco de previsão para obloco de vídeo atual, o codificador de vídeo 20 forma um bloco de vídeo residual pela subtração do bloco de previsão do bloco de vídeo atual. Os dados de vídeo residuais no bloco residual podem ser incluídos em uma ou mais TUs e aplicados à unidade de processamento de transformação 52. A unidade de processamento de transformação 52 transforma os dados de vídeo residuais em coeficientes de transformação residual utilizando uma transformação, tal como a transformação de cosseno discreto (DCT) ou uma transformação conceitualmente similar. A unidade de processamento de transformação 52 pode converter os dados de vídeo residuais de um domínio de pixel em um domínio de transformação, tal como um domínio de frequência.
[0064] A unidade de processamento de transformação 52 pode enviar os coeficientes de transformação resultantes para a unidade de quantização 54. A unidade de quantização 54 quantiza os coeficientes de transformação para reduzir ainda mais a taxa de bit. O processo de quantização pode reduzir a profundidade de bit associada com alguns ou todos os coeficientes. O grau de quantização pode ser modificado pelo ajuste de um parâmetro de quantização. Em alguns exemplos, a unidade de quantização 54 pode então realizar uma digitalização da matriz incluindo os coeficientes de transformação quantizados. Alternativamente, a unidade de codificação por entropia 56 pode realizar a digitalização.
[0065] Seguindo a quantização, a unidade de codificação por entropia 56 codifica por entropia os coeficientes de transformação quantizados. Por exemplo, a unidade de codificação por entropia 56 pode realizar a codificação de comprimento variável adaptativo de contexto (CAVLC), a codificação aritmética binária adaptativa de contexto (CABAC), ou outra técnica de codificação por entropia. Seguindo a codificação por entropia pela unidade de codificação por entropia 56, a sequência de bits codificada pode ser transmitida para o decodificador de vídeo 30, ou arquivada para transmissão ou recuperação posterior pelo decodificador de vídeo 30. A unidade de codificação por entropia 56 também pode codificar por entropia os vetores de movimento e outros elementos de sintaxe para a fatia de vídeo atual sendo codificada.
[0066] A unidade de quantização inversa 58 e a unidade de processamento de transformação inversa 60 aplicam a quantização inversa e a transformação inversa, respectivamente, para reconstruir o bloco residual no domínio de pixel para uso futuro como um bloco de referência de uma imagem de referência. A unidade de compensação de movimento 44 pode calcular um bloco de referência pela adição de bloco residual a um bloco de previsão de uma das imagens de referência dentro de uma das listas de imagem de referência. A unidade de compensação de movimento 44 também pode aplicar um ou mais filtros de interpolação ao bloco residual reconstruído para calcular os valores de pixel subinteiro para uso na estimativa de movimento. O somador 62 adiciona o bloco residual reconstruído ao bloco de previsão de movimento compensado produzido pela unidade de compensação de movimento 44 para produzir um bloco de referência de uma imagem de referência para armazenamento na memória de imagem de referência 64. O bloco de referência é filtrado pelo filtro de desbloqueio 63 a fim de remover os artefatos de bloqueio. Obloco de referência é então armazenado na memória de imagem de referência 64. O bloco de referência pode ser utilizado pela unidade de estimativa de movimento 42 e unidade de compensação de movimento 44 como um bloco de referência para interprever um bloco em um quadro de vídeo subsequente ou imagem.
[0067] De acordo com as técnicas dessa descrição, o codificador de vídeo 20 inclui o filtro de desbloqueio 63 que filtra de forma seletiva a saída do somador 62. Em particular, o filtro de desbloqueio 63 recebe os dados de vídeo reconstruídos do somador 62, que corespondem aos dados de previsão recebidos da unidade de compensação de movimento 44 ou da unidade de intraprevisão 46 adicionados aos dados residuais quantizados de forma inversa ou transformados de forma inversa. Dessa forma, o filtro de desbloqueio 63 recebe os blocos decodificados de dados de vídeo, por exemplo, os blocos decodificados correspondentes às CUs de uma LCU e/ou LCUs de uma fatia ou imagem, e filtra seletivamente os blocos para remover os artefatos de bloqueio.
[0068] O filtro de desbloqueio 63 no codificador de vídeo 20 filtra determinadas bordas de TU e PU de um bloco de vídeo decodificado com base em um resultado de uma computação de intensidade limite e decisões de desbloqueio. O filtro de desbloqueio 63 é geralmente configurado para analisar os pixels de um bloco de vídeo perto de uma determinada borda do bloco para determinar se e como desbloquear a borda. Mais particularmente, as decisões de desbloqueio podem incluir se o filtro de desbloqueio está ligado ou desligado, se o filtro de desbloqueio está fraco ou forte, e a intensidade do filtro fraco para um bloco de vídeo determinado. O filtro de desbloqueio 63 pode alterar os valores de pixels perto da borda determinada quando uma mudança de alta frequência nos valores for detectada a fim de remover os artefatos de bloqueio perceptíveis na borda.
[0069] A computação de intensidade de limite e as decisões de desbloqueio são dependentes de valores limite tc e β. Os valores limite tc e β do filtro de desbloqueio dependem de um parâmetro Q, que é derivado de um valor de parâmetro de quantização (QP) e uma resistência limite (Bs) para o bloco de vídeo atual como segue: Se Bs = 2, então TcOffset = 2 Se Bs < 1, então TcOffset = 0 Se tC: Q = Clip3(0, MAX_QP + 2, QP + TcOffset);MAX_QP = 51 Se β: Q = Clip3(0, MAX_QP, QP) Clip3(th1, th2, value) = min(th1, max(th2, value)) Os valores limítrofes tc e β podem ser armazenados em uma tabela que é acessível com base no parâmetro Q derivado do valor QP do bloco de vídeo. O processo de desbloqueio é descrito em maiores detalhes abaixo com relação ao filtro de desbloqueio 100 ilustrado na figura 4.
[0070] Essa descrição descreve as técnicas de sinalização, com overhead de sequência de bit reduzido, parâmetros de filtro de desbloqueio utilizados para definir o filtro de desbloqueio 63 para uma fatia atual de dados de vídeo. O codificador de vídeo 20 determina os parâmetros de filtro de desbloqueio que definem o filtro de desbloqueio 63 e então sinaliza os parâmetros de filtro de desbloqueio de modo que o decodificador de vídeo 30 possa aplicar o mesmo ou um filtro de desbloqueio similar aos blocos de vídeo decodificados. Os parâmetros de filtro de desbloqueio incluem elementos de sintaxe definidos para indicar se a filtragem de desbloqueio está ativada ou desativada e, se ativada, os desvios de parâmetro de filtro de desbloqueio para os valores limite tc e β.
[0071] Os parâmetros de filtro de desbloqueio podem ser codificados em um ou mais dentre um conjunto de parâmetro de camada de imagem e um cabeçalho de fatia para sinalizar para o decodificador de vídeo 30. O conjunto de parâmetro de camada de imagem pode compreender um conjunto de parâmetros de imagem (PPS) ou um conjunto de parâmetros de adaptação (APS). O PPS é um conjunto de parâmetros de camada de imagem que contém dados com poucas chances de mudança entre as imagens que se referem ao PPS. O APS é um conjunto de parâmetros de camada de imagem destinado ao uso com dados adaptativos de imagem que têm mais chances de mudar de imagem para imagem.
[0072] A unidade de codificação por entropia 56 do codificador de vídeo 20 codifica um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetros de camada de imagem e um cabeçalho de fatia para imagens com referência ao conjunto de parâmetros de camada de imagem. De acordo com as técnicas descritas nessa invenção, a unidade de codificação por entropia 56 codifica os parâmetros de filtro de desbloqueio para uma fatia de vídeo atual com overhead de sequência de bits reduzido pela codificação apenas de um segundo elemento de sintaxe no cabeçalho de fatia quando os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia.
[0073] Quando os parâmetros de filtro de desbloqueio não estão presentes em ambos o conjunto de parâmetros de camada de imagem e o cabeçalho de fatia, a unidade de codificação por entropia 56 elimina a codificação de um segundo elemento de sintaxe no cabeçalho de fatia definido para indicar qual conjunto de parâmetros de filtro de desbloqueio é utilizado para definir o filtro de desbloqueio 63 para uma fatia de vídeo atual. No caso onde os parâmetros de filtro de desbloqueio estão presentes apenas em um dentro o conjunto de parâmetros de camada de imagem ou cabeçalho de fatia, o filtro de desbloqueio 63 é definido para a fatia de vídeo atual com base no conjunto de parâmetros de filtro de desbloqueio que estão presentes no conjunto de parâmetro de camada de imagem ou cabeçalho de fatia. O segundo elemento de sintaxe, portanto, é desnecessário para indicar os parâmetros de filtro de desbloqueio para o decodificador de vídeo 30 visto que nenhuma decisão precisa ser tomada entre o conjunto de parâmetros de camada de imagem e o cabeçalho de fatia com relação a qual conjunto de parâmetros de filtro de desbloqueio utilizar para definir o filtro de desbloqueio no decodificador de vídeo 30.
[0074] Quando os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, a unidade de codificação por entropia 56 codifica o segundo elemento de sintaxe no cabeçalho de fatia definido para indicar se utiliza um primeiro conjunto de parâmetros de desbloqueio incluídos no conjunto de parâmetros de camada de imagem ou um segundo conjunto de parâmetros de desbloqueio incluídos no cabeçalho de fatia. Nesse caso, o filtro de desbloqueio 63 é definido para a fatia de vídeo atual com base em um dentre o primeiro conjunto ou o segundo conjunto de parâmetros de desbloqueio. O segundo elemento de sintaxe, portanto, é necessário para indicar os parâmetros de filtro de desbloqueio utilizados para definir o filtro de desbloqueio 63 no codificador de vídeo 20 de modo que o decodificador de vídeo 30 possa aplicar o mesmo filtro de desbloqueio ou similar aos blocos de vídeo decodificados.
[0075] Em alguns casso, a unidade de codificação por entropia 56 também pode codificar um controle presente no elemento de sintaxe definido para indicar se qualquer elemento de sintaxe de controle de filtro de desbloqueio está presente no conjunto de parâmetros de camada de imagem ou cabeçalho de fatia. O elemento de sintaxe presente no controle pode ser sinalizado no conjunto de parâmetro de camada de imagem ou a partir de um conjunto de parâmetro de camada superior, por exemplo, um conjunto de parâmetro de sequência (SPS). Os elementos de sintaxe de controle de filtro de desbloqueio compreendem primeiro e segundo elementos de sintaxe descritos acima. A unidade de codificação por entropia 56, portanto, codifica o elemento de sintaxe presente em controle antes da codificação do primeiro elemento de sintaxe. Se nenhum elemento de sintaxe de controle de filtro de desbloqueio estiver presente, o codificador de vídeo 20 notifica o decodificador de vídeo 30 e não codifica os primeiro ou segundo elementos de sintaxe. Nesse caso, o codificador de vídeo 20 pode utilizar os parâmetros de filtro de desbloqueio padrão para definir o filtro de desbloqueio 63 aplicado aos blocos de vídeo decodificados.
[0076] Em outros casos, a unidade de codificação por entropia 56 pode codificar um elemento de sintaxe ativado por filtro de desbloqueio definido para indicar se o filtro de desbloqueio 63 está ativado para uma ou mais imagens de uma sequência de vídeo antes da codificação do primeiro elemento de sintaxe. O elemento de sintaxe ativado por filtro de desbloqueio pode ser sinalizado em um conjunto de parâmetros de camada superior, por exemplo, um conjunto de parâmetros de sequência (SPS). Se o filtro de desbloqueio 63 estiver desativado para a sequência de vídeo, o codificador de vídeo 20 notifica o decodificador de vídeo 30 e não codifica os primeiro ou segundo elementos de sintaxe visto que o filtro de desbloqueio 63 não está plicado aos blocos de vídeo decodificados. Nesse caso, o codificador de vídeo 20 também não codifica um elemento de sintaxe presente no controle.
[0077] Em um exemplo, o primeiro elemento de sintaxe compreende um indicador ativado de eliminação codificado em um PPS para uma imagem determinada. Nesse caso, um primeiro conjunto de parâmetros de filtro de desbloqueio é codificado no PPS e o indicador ativado de eliminação indica se um segundo conjunto de parâmetros de filtro de desbloqueio está presente em um cabeçalho de fatia para uma ou mais fatias da imagem determinada que pode ser utilizada para eliminar os parâmetros do PPS. Adicionalmente, o segundo elemento de sintaxe compreende um indicador de eliminação que pode ser codificado no cabeçalho de fatia. Quando o indicador de eliminação ativada no PPS indicar que o segundo conjunto de parâmetros de filtro de desbloqueio está presente no cabeçalho de fatia, a unidade de codificação por entropia 56 codifica o indicador de eliminação para indicar para o decodificador de vídeo 30 se utiliza o primeiro conjunto de parâmetros de filtro de desbloqueio no PPS ou se elimina o primeiro conjunto de parâmetros de filtro de desbloqueio com o segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia para definir o filtro de desbloqueio no decodificador de vídeo 30. Do contrário, quando o indicador de eliminação ativada no PPS indicar que apenas o primeiro conjunto de parâmetros de filtro de desbloqueio no PPS está presente, a unidade de codificação por entropia 56 elimina a codificação do indicador de eliminação no cabeçalho de fatia. Os elementos de sintaxe específicos para esse exemplo são descritos em maiores detalhes abaixo com relação ao decodificador de vídeo 30 na figura 3.
[0078] Em outro exemplo, o primeiro elemento de sintaxe compreende um indicador de herança ativada, codificado em um SPS e/ou um APS para uma imagem determinada. Nesse caso, um segundo conjunto de parâmetros de filtro de desbloqueio é codificado no cabeçalho de fatia e o indicador de herança ativado indica se um primeiro conjunto de parâmetros de filtro de desbloqueio está presente no APS que pode ser herdado pelo cabeçalho de fatia. O segundo elemento de sintaxe compreende um indicador de herança que pode ser codificado no cabeçalho de fatia. Quando o indicador de herança ativado no SPS e/ou APS indicar que o primeiro conjunto de parâmetros de filtro de desbloqueio está presente no APS, a unidade de codificação por entropia 56 codifica o indicador de herança para indicar para o decodificador de vídeo 30 se utiliza o segundo conjunto de parâmetros de filtro de desbloqueio no cabeçalho de fatia ou se herda o primeiro conjunto de parâmetros de filtro de desbloqueio no APS para definir o filtro de desbloqueio no decodificador de vídeo 30.Do contrário, quando o indicador de herança ativada no SPS e/ou APS indicar que apenas o segundo conjunto de parâmetros de filtro de desbloqueio no cabeçalho de fatia está presente, a unidade de codificação por entropia 56 elimina a codificação do indicador de herança no cabeçalho de fatia. Os elementos de sintaxe específicos para esse exemplo são descritos em maiores detalhes abaixo com relação ao decodificador de vídeo 30 na figura 3.
[0079] A figura 3 é um diagrama em bloco ilustrando um exemplo de um decodificador de vídeo 30 que pode implementar as técnicas descritas nessa descrição para decodificar os parâmetros de filtro de desbloqueio utilizados para definir os filtros de desbloqueio aplicados às fatias de vídeo. No exemplo da figura 3, o decodificador de vídeo 30 inclui uma unidade de decodificação por entropia 80, uma unidade de processamento de previsão 81, uma unidade de quantização inversa 86, uma unidade de processamento de transformação inversa 88, um somador 90, um filtro de desbloqueio 91, e uma memória de imagem de referência 92. A unidade de processamento de previsão 81 inclui uma unidade de compensação de movimento 82 e uma unidade de processamento de intraprevisão 84. O decodificador de vídeo 30 pode, em alguns exemplos, realizar uma passagem de decodificação geralmente alternada à passagem de codificação descrita com relação ao codificador de vídeo 20 da figura 2.
[0080] Durante o processo de decodificação, o decodificador de vídeo 30 recebe uma sequência de bits de vídeo codificada que representa os blocos de vídeo de uma fatia de vídeo codificada e elementos de sintaxe associados a partir do codificador de vídeo 20. Quando os blocos de vídeo representados na sequência de bits incluem dados de vídeo comprimidos, a unidade de decodificação por entropia 80 do decodificador de vídeo 30 decodifica por entropia a sequência de bits para gerar os coeficientes quantizados, os vetores de movimento, e outros elementos de sintaxe. A unidade de decodificação por entropia 80 envia os vetores de movimento e outros elementos de sintaxe para a unidade de processamento de previsão 81. O decodificador de vídeo 30 pode receber os elementos de sintaxe em um nível de sequência, um nível de imagem, um nível de fatia e/ou um nível de bloco de vídeo. Em alguns casos, a unidade de decodificação por entropia 80 decodifica os elementos de sintaxe de controle de filtro de desbloqueio, incluindo parâmetros de filtro de desbloqueio, para definir um filtro de desbloqueio 91 para uma determinada fatia de vídeo.
[0081] Quando a fatia de vídeo é codificada como uma fatia intracodificada (I), a unidade de processamento de intraprevisão 84 da unidade de processamento de previsão 81 pode gerar dados de previsão para um bloco de vídeo da fatia de vídeo atual com base em um modo de intraprevisão sinalizado e dados de blocos decodificados anteriormente do quadro ou imagem atual. Quando o quadro de vídeo é codificado como uma fatia intercodificada (isso é, B ou P), a unidade de compensação de movimento 82 da unidade de processamento de previsão 81 produz blocos de previsão para um bloco de vídeo da unidade de decodificação de vídeo atual 80. Os blocos de previsão podem ser produzidos a partir de uma das imagens de referência dentro de uma das listas de imagem de referência. O decodificador de vídeo 30 pode construir as listas de quadro de referência, Lista 0 e Lista 1, utilizando técnicas de construção padrão com base nas imagens de referência armazenadas na memória de imagem de referência 92.
[0082] A unidade de compensação de movimento 82 determina a informação de previsão para um bloco de vídeo da fatia de vídeo atual pela análise de vetores de movimento e outros elementos de sintaxe, e utiliza a informação de previsão para produzir os blocos de previsão para o bloco de vídeo atual sendo decodificado. Por exemplo, a unidade de compensação de movimento 82 utiliza alguns dos elementos de sintaxe recebidos para determinar um modo de previsão (por exemplo, intra ou interprevisão) utilizado para codificar os blocos de vídeo da fatia de vídeo, um tipo de fatia de interprevisão (por exemplo, fatia B ou fatia P), informação de construção para uma ou mais das listas de imagem de referência para a fatia, vetores de movimento para cada bloco de vídeo intercodificado da fatia, situação de interprevisão para cada bloco de vídeo intercodificado da fatia, e outras informações para decodificar os blocos de vídeo na fatia de vídeo atual.
[0083] A unidade de compensação de movimento 82 também pode realizar a interpolação com base nos filtros de interpolação. A unidade de compensação de movimento 82 pode utilizar filtros de interpolação como utilizados pelo codificador de vídeo 20 durante a codificação de blocos de vídeo para calcular os valores interpolados para pixels subinteiros dos blocos de referência. A unidade de compensação de movimento 82 pode determinar os filtros de interpolação utilizado pelo codificador de vídeo 20 a partir dos elementos de sintaxe recebidos, e utilizar os filtros de interpolação para produzir blocos de previsão.
[0084] A unidade de quantização inversa 86 quantiza de forma inversa, isso é, desquantiza, os coeficientes de transformação quantizados fornecidos na sequência de bits e decodificados pela unidade de decodificação por entropia 80. O processo de quantização inversa pode incluir o uso de um parâmetro de quantização calculado pelo codificador de vídeo 20 para cada bloco de vídeo na fatia de vídeo para determinar um grau de quantização e, da mesma forma, um grau de quantização inversa que deve ser aplicado. A unidade de processamento de transformação inversa 88 aplica uma transformação inversa, por exemplo, uma DCT inversa, uma transformação de inteiro inversa, ou um processo de transformação inversa conceitualmente similar, aos coeficientes de transformação a fim de produzir blocos residuais no domínio de pixel.
[0085] Depois que a unidade de compensação de movimento 82 gera o bloco de previsão para o bloco de vídeo atual com base nos vetores de movimento e outros elementos de sintaxe, o decodificador de vídeo 30 forma um bloco de vídeo decodificado pela soma dos blocos residuais a partir da unidade de processamento de transformação inversa 88 com os blocos de previsão correspondentes gerados pela unidade de compensação de movimento 82. O somador 90 representa o componente ou componentes que realizam essa operação de soma. Um filtro de desbloqueio 91 é aplicado para filtrar os blocos recebidos do somador 90 a fim de remover os artefatos de bloqueio. Os blocos de vídeo decodificados em uma imagem determinada são então armazenados na memória de imagem de referência 92, que armazena as imagens de referência utilizadas para a compensação de movimento subsequente. A memória de imagem de referência 92 também armazena vídeo decodificado para apresentação posterior em um dispositivo de exibição, tal como o dispositivo de exibição 32 da figura 1.
[0086] O filtro de desbloqueio 91 no decodificador de vídeo 30 filtra determinadas bordas de TU e PU de um bloco de vídeo decodificado com base em um resultado de uma computação de intensidade de limite e decisões de desbloqueio. A computação de intensidade de limite e as decisões de desbloqueio dependem de valores limítrofes tc e β, que podem ser sinalizados para o decodificador de vídeo 30 a partir do codificador de vídeo 20 utilizando elementos de sintaxe. O filtro de desbloqueio 91 pode alterar os valores de pixels perto de uma borda determinada de um bloco de vídeo a fim de remover os artefatos de bloqueio perceptíveis na borda. O filtro de desbloqueio 91 se conforma substancialmente ao filtro de desbloqueio 63 da figura 2 visto que o filtro de desbloqueio 91 pode ser configurado para realizar toda ou qualquer uma das técnicas descritas com relação ao filtro de desbloqueio 63. O processo de desbloqueio é descrito em maiores detalhes abaixo com relação ao filtro de desbloqueio 100 ilustrado na figura 4.
[0087] De acordo com as técnicas dessa descrição, a unidade de decodificação por entropia 80 no decodificador de vídeo 30 decodifica os elementos de sintaxe de controle de filtro de desbloqueio incluídos na sequência de bits recebida do codificador de vídeo 20. Os elementos de sintaxe de controle de filtro de desbloqueio incluem parâmetros de filtro de desbloqueio que indicam se a filtragem de desbloqueio está ativada ou desativada e, se estiver ativada, desvios de parâmetro de filtro de desbloqueio para os valores limite tc e β. O codificador de vídeo 30 determina os parâmetros de filtro de desbloqueio a serem utilizados para o filtro de desbloqueio 91 a partir dos elementos de sintaxe de controle de filtro de desbloqueio incluídos na sequência de bits. O decodificador de vídeo 30 então define o filtro de desbloqueio 91 com base nos parâmetros de filtro de desbloqueio para operar o mesmo ou um filtro de desbloqueio similar 63 no codificador de vídeo 20 a fim de decodificar os blocos de vídeo na sequência de bits.
[0088] Essa descrição descreve técnicas para sinalizar, com overhead de sequência de bits reduzido, os parâmetros de filtro de desbloqueio utilizados para definir o filtro de desbloqueio 91 para uma fatia atual de dados de vídeo. Os parâmetros de filtro de desbloqueio podem ser codificados em um ou mais dentre um conjunto de parâmetros de camada de imagem e um cabeçalho de fatia para sinalizar para o decodificador de vídeo 30. O conjunto de parâmetro de camada de imagem pode compreender um conjunto de parâmetros de imagem (PPS) ou um conjunto de parâmetros de adaptação (APS). O PPS é um conjunto de parâmetros de camada de imagem que contém dados com poucas chances de mudar entre as imagens que fazem referência ao PPS. O APS é um conjunto de parâmetros de camada de imagem destinado ao uso com dados adaptativos de imagem que têm chances de mudar de imagem para imagem.
[0089] A unidade de decodificação por entropia 80 do codificador de vídeo 30 decodifica um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetros de camada de imagem e um cabeçalho de fatia para imagens que fazem referência ao conjunto de parâmetros de camada de imagem. De acordo com as técnicas descritas nessa invenção, a unidade de decodificação por entropia 80 só codifica um segundo elemento de sintaxe no cabeçalho de fatia quando os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetros de camada de imagem e o cabeçalho de fatia.
[0090] Quando os parâmetros de filtro de desbloqueio não estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia, a unidade de decodificação por entropia 80 determina que um segundo elemento de sintaxe definido para indicar qual conjunto de parâmetros de filtro de desbloqueio utilizar para definir o filtro de desbloqueio 91 para uma fatia de vídeo atual não está presente no cabeçalho de fatia a ser decodificado. No caso onde os parâmetros de filtro de desbloqueio estão presentes apenas em um dentre o conjunto de parâmetros de camada de imagem ou o cabeçalho de fatia, o filtro de desbloqueio 91 é definido para a fatia de vídeo atual com base no conjunto de parâmetros de filtro de desbloqueio que estão presentes em um dentre o conjunto de parâmetros de camada de imagem ou o cabeçalho de fatia. O segundo elemento de sintaxe, portanto, é desnecessário visto que o decodificador de vídeo 30 não precisa decidir qual conjunto de parâmetros de filtro de desbloqueio utilizar para definir o filtro de desbloqueio 91 no decodificador de vídeo 30.
[0091] Quando os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetros de camada de imagem e no cabeçalho de fatia, a unidade de decodificação por entropia 80 decodifica o segundo elemento de sintaxe no cabeçalho de fatia definido para indicar se utiliza um primeiro conjunto de parâmetros de desbloqueio incluídos no conjunto de parâmetros de camada de imagem ou um segundo conjunto de parâmetros de desbloqueio incluído no cabeçalho de fatia. Nesse caso, o filtro de desbloqueio 91 é definido para a fatia de vídeo atual com base em um dentre um primeiro conjunto ou um segundo conjunto de parâmetros de desbloqueio. O segundo elemento de sintaxe, portanto, é necessário de modo que o decodificador de vídeo 30 saiba qual conjunto dos parâmetros de filtro de desbloqueio utilizar para definir o filtro de desbloqueio 91 para ser igual ou similar ao filtro de desbloqueio 63 no codificador de vídeo 20.
[0092] Em alguns casos, a unidade de decodificação por entropia 80 também pode decodificar um elemento de sintaxe presente em controle definido para indicar se qualquer elemento de sintaxe de controle de filtro de desbloqueio está presente no conjunto de parâmetro de camada de imagem ou no cabeçalho de fatia. O elemento de sintaxe presente em controle pode ser decodificado a partir do conjunto de parâmetro de camada de imagem ou de um conjunto de parâmetros de camada superior, por exemplo, um conjunto de parâmetros de sequência (SPS). Os elementos de sintaxe de controle de filtro de desbloqueio compreendem os primeiro e segundo elementos de sintaxe descritos acima. A unidade de decodificação por entropia 80, portanto, decodifica o elemento de sintaxe presente em controle antes da decodificação do primeiro elemento de sintaxe. Se o elemento de sintaxe presente em controle indicar que nenhum elemento de sintaxe de controle de filtro de desbloqueio está presente, o decodificador de vídeo 30 sabe que não precisa decodificar os primeiro ou segundo elementos de sintaxe visto que os primeiro e segundo elementos de sintaxe não estão presentes na sequência de bits a ser decodificada. Nesse caso, o decodificador de vídeo 30 pode utilizar os parâmetros de filtro de desbloqueio padrão para definir o filtro de desbloqueio 91 aplicado aos bocós de vídeo decodificados.
[0093] Em outros casos, a unidade de decodificação por entropia 80 pode decodificar um elemento de sintaxe ativado em filtro de desbloqueio definido para indicar se o filtro de desbloqueio 91 está ativado para uma ou mais imagens de uma sequência de vídeo antes da decodificação do primeiro elemento de sintaxe. O elemento de sintaxe ativado em filtro de desbloqueio pode ser decodificado de um conjunto de parâmetros de camada superior, por exemplo, um conjunto de parâmetros de sequência(SPS). Se o filtro de desbloqueio 91 for desativado para a sequência de vídeo, o decodificador de vídeo 30 sabe que não precisa decodificar os primeiro ou segundo elementos de sintaxe visto que o filtro de desbloqueio 91 não é aplicado aos blocos de vídeo decodificados. Nesse caso,o decodificador de vídeo 30 também não precisa decodificar um elemento de sintaxe presente em controle.
[0094] Em um exemplo, o primeiro elemento de sintaxe compreende um indicador de eliminação ativada codificado em um PPS para uma imagem determinada. Nesse caso, um primeiro conjunto de parâmetros de filtro de desbloqueio é codificado no PPS e o indicador de eliminação ativada indica se um segundo conjunto de parâmetros de filtro de desbloqueio está presente em um cabeçalho de fatia para uma ou mais fatias da imagem determinada que podem ser utilizados para eliminar os parâmetros do PPS. Adicionalmente, o segundo elemento de sintaxe compreende um indicador de eliminação que pode ser codificado no cabeçalho de fatia. Quando o indicador de eliminação ativada no PPS indica que o segundo conjunto de parâmetros de filtro de desbloqueio está presente no cabeçalho de fatia, a unidade de decodificação por entropia 80 decodifica o indicador de eliminação para determinar se utiliza o primeiro conjunto de parâmetros de filtro de desbloqueio no PPS ou se elimina o primeiro conjunto de parâmetros de filtro de desbloqueio com o segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia para definir o filtro de desbloqueio 91. Do contrário, quando o indicador de eliminação ativada no PPS indica que apenas o primeiro conjunto de parâmetros de filtro de desbloqueio no PPS está presente, a unidade de decodificação por entropia 80 determina que o indicador de eliminação não está presente no cabeçalho de fatia a ser decodificado.
[0095] A Tabela 1 fornece uma parte ilustrativa da sintaxe PPS incluindo um indicador de eliminação ativado, isso é, deblocking_filter_override_enabled_flag, e um elemento de sintaxe presente em controle, isso é, deblocking_filter_control_present_flag. TABELA 1. Sintaxe PPS com indicador de eliminação ativado
Figure img0001
[0096] Semântica para a sintaxe PPS da Tabela 1 é definida como segue. Deblocking_filter_control_present_flag igual a 1 especifica a presença dos elementos de sintaxe de controle de filtro de desbloqueio no conjunto de parâmetros de imagem e no cabeçalho de fatia para imagens referindo ao conjunto de parâmetros de imagem. Deblocking_filter_control_present_flag igual a 0 especifica a ausência de elementos de sintaxe de controle de filtro de desbloqueio no conjunto de parâmetros de imagem e no cabeçalho de fatia para imagens referindo ao conjunto de parâmetros de imagem.
[0097] Deblocking_filter_override_enabled_flag igual a 1 especifica a presença de um deblocking_filter_override_flag no cabeçalho de fatia para imagens referindo ao conjunto de parâmetros de imagem. Deblocking_filter_override_enabled_flag igual a 0 especifica a ausência de deblocking_filter_override_flag no cabeçalho de fatia para imagens referindo ao conjunto de parâmetros de imagem. Quando na presente, o valor de deblocking_filter_override_enabled_flag é inferido como sendo igual a 0.
[0098] Pic_disable_deblocking_filter_flag igual a 1 especifica que a operação do filtro de desbloqueio não deve ser aplicada a imagens referindo ao conjunto de parâmetros de imagem quando deblocking_filter_override_enbabled_flag é igual a 0. O pic_disable_deblocking_filter_flag igual a 0 especifica que a operação do filtro de desbloqueio deve ser aplicada a imagens referindo ao conjunto de parâmetros de imagem quando deblocking_filter_override_enabled_flag é igual a 0. Quando não está presente, o valor de pic_disable_deblocking_filter_flag é inferido como sendo igual a 0.
[0099] Os elementos de sintaxe beta_offset_div2 e tc_offset_div2 especificam os desvios de parâmetro de desbloqueio padrão para β e tc (divididos por 2) que são aplicados a imagens referindo ao conjunto de parâmetros de imagem a menos que os desvios de parâmetro de desbloqueio padrão sejam eliminados pelos desvios de parâmetro de desbloqueio presentes no cabeçalho de segmento de fatia para imagens referindo ao conjunto de parâmetros de imagem. Os valores dos elementos de sintaxe de beta_offset_div2 e tc_offset_div2 devem estar ambos na faixa de -6 a 6, inclusive. Quando não presente, o valor dos elementos de sintaxe beta_offset_div2 e tc_offset_div2 é inferido como sendo igual a 0.
[0100] A Tabela 2 fornece uma parte ilustrativa da sintaxe de cabeçalho de fatia incluindo um indicador de eliminação, isso é, deblocking_filter_override_flag, que é condicionalmente codificado com base no indicador de eliminação ativado e o elemento de sintaxe presente em controle na sintaxe PPS. Tabela 2. Sintaxe de Cabeçalho de Fatia com indicador de eliminação
Figure img0002
[0101] A semântica para a sintaxe de cabeçalho de fatia da Tabela 2 é definida como segue. Deblocking_filter_override_flag igual a 0 especifica que os parâmetros de desbloqueio do conjunto de parâmetros de imagem ativa são utilizados para desbloquear a fatia atual. Deblocking_filter_override_flag igual 1 especifica que os parâmetros de desbloqueio do cabeçalho de segmento de fatia são utilizados para desbloquear a fatia atual. Quando não presente, o valor de deblocking_filter_override_flag é inferido como sendo igual a 0.
[0102] Slice_disable_deblocking_filter_flag igual a 1 especifica que a operação do filtro de desbloqueio não é aplicada à fatia atual. Slice_disable_deblocking_filter_flag igual a 0 especifica que a operação do filtro de desbloqueio é aplicada à fatia atual. Quando slice_disable_deblocking_filter_flag não está presente, é inferido que seja igual a pic_disable_deblocking_filter_flag na sintaxe PPS.
[0103] Os elementos de sintaxe beta_offset_div2 e tc_offset_div2 especificam os desvios de parâmetro de desbloqueio para β e tc (divididos por 2) para a fatia atual. Os valores dos elementos de sintaxe beta_offset_div2 e tc_offset_div2 devem estar na faixa de -6 a 6, inclusive.
[0104] Em outro exemplo, o primeiro elemento de sintaxe compreende um indicador de herança ativada codificado em um SPS e/ou um APS para uma imagem determinada. Nesse caso, um segundo conjunto de parâmetros de filtro de desbloqueio é codificado no cabeçalho de fatia e o indicador de herança ativada indica se um primeiro conjunto de parâmetros de filtro de desbloqueio está presente no APS que podem ser herdados pelo cabeçalho de fatia. O segundo elemento de sintaxe compreende um indicador de herança que pode ser codificado no cabeçalho de fatia. Quando o indicador de herança ativada no SPS e/ou APS indicar que o primeiro conjunto de parâmetros de filtro de desbloqueio está presente no APS, a unidade de decodificação por entropia 80 decodifica o indicador de herança para determinar se utiliza o segundo conjunto de parâmetros de filtro de desbloqueio no cabeçalho de fatia ou herda o primeiro conjunto de parâmetros de filtro de desbloqueio no APS para definir o filtro de desbloqueio 91. Do contrário, quando o indicador de herança ativada no SPS e/ou APS indicar que apenas o segundo conjunto de parâmetros de filtro de desbloqueio no cabeçalho de fatia está presente, a unidade de decodificação por entropia 80 determina que o indicador de herança não está presente no cabeçalho de fatia a ser decodificado.
[0105] A sinalização de parâmetros de filtro de desbloqueio para um decodificador de vídeo foi proposta em A. Norkin, "BoG report on resolving deblocking filter description issues," 7o. Encontro JCT-VC, Genebra, CH, novembro de 2011, Doc.JCT-VC G1035_r1 + atualização. A Tabela 3 fornece um exemplo de sintaxe SPS incluindo um indicador de herança ativado, isso é, deblocking_filter_in_aps_enabled_flag. TABELA 3. Sintaxe SPS com indicador de herança ativado
Figure img0003
[0106] A Tabela 4 fornece um exemplo de sintaxe APS incluindo um indicador de herança ativado, isso é, aps_deblocking_filter_flag. TABELA 4. Sintaxe APS com indicador de herança ativado
Figure img0004
Figure img0005
[0107] A semântica para a sintaxe SPS e APS das Tabelas 3 e 4 é definida como segue. Deblocking_filter_in_aps_enabled_flag em SPS igual a 0 significa que os parâmetros de filtro de desbloqueio estão presentes no cabeçalho de fatia,e igual a 1 significa que os parâmetros de filtro de desbloqueio estão presentes no APS. Aps_deblocking_filter_flag em APS é igual a deblocking_filter_in_aps_enabled_flag em SPS. Aps_deblocking_filter_flag indica que os parâmetros de filtro de desbloqueio estão presentes em APS (igual a 1) ou não presentes em APS (igual a 0).
[0108] Um problema com a sinalização dos parâmetros de filtro de desbloqueio é que o indicador de herança é sinalizado no cabeçalho de fatia mesmo quando os parâmetros de filtro de desbloqueio não estão presentes em APS. Como descrito acima, quando os parâmetros de filtro de desbloqueio estão presentes apenas no cabeçalho de fatia e não estão presentes no APS, o filtro de desbloqueio é definido com base nos parâmetros de filtro de desbloqueio presentes no cabeçalho de fatia e o indicador de herança é desnecessário. A Tabela 5 fornece uma parte ilustrativa da sintaxe de cabeçalho de fatia incluindo um indicador de herança, isso é, inherit_dbl_params_from_APS_flag, que é codificado de forma condicional com base nos indicadores de herança ativada na sintaxe APS e sintaxe SPS. TABELA 5. Sintaxe de cabeçalho de fatia com indicador de herança
Figure img0006
[0109] Como uma alternativa, a Tabela 6 fornece uma parte ilustrativa da sintaxe de cabeçalho de fatia incluindo o indicador de herança, isso é, inherit_dbl_params_from_APS_flag, que é codificado de forma condicional com base no indicador de herança ativada na sintaxe SPS. TABELA 6. Sintaxe de cabeçalho de fatia com indicador de herança
Figure img0007
[0110] A semântica para a sintaxe de cabeçalho de fatia das Tabelas 5 e 6 são definidas como segue. Disable_deblocking_filter_flag igual a 0 significa que o filtro de desbloqueio está ativado, e igual a 1 significa que o filtro de desbloqueio está desativado. Os elementos de sintaxe beta_offset_div2 e tc_offset_div2 indicam os desvios de parâmetro de desbloqueio para tc e β (divididos por 2). Inherit_dbl_params_from_APS_flag igual a 1 significa que os parâmetros de filtro de desbloqueio presentes no APS devem ser utilizados, e igual a 0 significa que os parâmetros de filtro de desbloqueio que seguem o cabeçalho de fatia devem ser utilizados.
[0111] Um segundo problema com a sinalização dos parâmetros de filtro de desbloqueio é que nenhum indicador de ativação/desativação de nível de SPS é definido para indicar se o filtro de desbloqueio está ativado para as imagens da sequência de vídeo. Quando o filtro de desbloqueio é desativado, nenhum dos parâmetros de filtro de desbloqueio é necessário para definir o filtro de desbloqueio e a codificação dos parâmetros de filtro de desbloqueio não é necessária. A Tabela 7 fornece um exemplo da sintaxe SPS incluindo o indicador de herança ativada, isso é, deblocking_in_aps_enabled_flag, codificado de forma condicional com base em um indicador de filtro de desbloqueio ativado, isso é, deblocking_filter_enabled_flag. TABELA 7. Sintaxe SPS com indicador de filtro de desbloqueio ativado e indicador de herança ativada
Figure img0008
[0112] A semântica para a sintaxe SPS d la Tabela 7 é definida como segue. Deblocking_filter_enabled_flag igual a 0 significa que o filtro de desbloqueio está desativado, e iguala 1 significa que o filtro de desbloqueio está ativado.
[0113] Dessa forma, quando o filtro de desbloqueio está desativado no nível SPS, pode ser inferido que nenhum dos parâmetros de desbloqueio foram sinalizados no APS (isso é, o deblocking_filter_in_aps_enabled_flag no SPS é igual a 0 e aps_deblocking_filter_flag no APS é igual a 0). Adicionalmente, quando o filtro de desbloqueio é desativado no nível SPS, pode ser inferido que disable_deblocking_filter_flag no cabeçalho de fatia seja igual a 1, indicando que o filtro de desbloqueio está desativado no nível de fatia.
[0114] A Tabela 8 fornece um exemplo da sintaxe APS onde o indicador de herança ativada, isso é, aps_deblocking_filter_flag é inferido como sendo igual a 0 quando o filtro de desbloqueio é desativado no nível SPS. TABELA 8. Sintaxe APS com indicador de herança ativado
Figure img0009
Figure img0010
[0115] A Tabela 9 fornece uma parte ilustrativa da sintaxe de cabeçalho de fatia incluindo os parâmetros de filtro de desbloqueio que são codificados de forma condicional com base no indicador de filtro de desbloqueio ativado, isso é, deblocking_filter_enabled_flag, na sintaxe SPS. TABELA 9. Sintaxe de cabeçalho de fatia com indicador de herança e parâmetros de filtro de desbloqueio codificados de forma condicional
Figure img0011
Figure img0012
[0116] Como uma alternativa, ao invés de introduzir uma condição para codificação de parâmetros de filtro de desbloqueio no cabeçalho de fatia com base no indicador de filtro de desbloqueio ativado em SPS, as técnicas podem inferir que nenhum dos elementos de sintaxe de controle de filtro de desbloqueio são sinalizados no cabeçalho de fatia quando o filtro de desbloqueio é desativado no nível SPS. Um elemento de sintaxe presente em controle, isso é, deblocking_filter_control_present_flag, incluído na sintaxe PPS é definido para indicar se os elementos de sintaxe de controle de filtro de desbloqueio, incluindo os parâmetros de filtro de desbloqueio, são sinalizados no cabeçalho de fatia. Nesse caso, os parâmetros de filtro de desbloqueio são codificados apenas no cabeçalho de fatia quando os elementos de sintaxe de controle de filtro de desbloqueio são sinalizados no cabeçalho de fatia, o que só ocorre quando o filtro de desbloqueio é ativado no nível SPS. O elemento de sintaxe presente em controle no PPS é proposto em Bross,W.-J. Han, J.-R. Ohm, G.J. Sullivan, T. Wiegand, "High efficiency vídeo coding (HEVC) text specification draft 6," 8o. Encontro JCT-VC, San José, CA. US,fevereiro de 2012, que também é referido como HEVC "Working Draft 6", HEVC WD6, ou simplesmente WD6.
[0117] A Tabela 10 fornece um exemplo da sintaxe SPS incluindo o indicador de herança ativada codificado de forma condicional com base no indicador de filtro de desbloqueio ativado, e onde um elemento de sintaxe presente em controle, isso é, deblocking_filter_control_present_flag, no PPS é inferido como sendo igual a 0 quando o filtro de desbloqueio é desativado no nível SPS. TABELA 10. Sintaxe SPS com indicador de filtro de desbloqueio ativado e indicador de herança ativado
Figure img0013
[0118] A Tabela 11 fornece uma parte ilustrativa da sintaxe de cabeçalho de fatia incluindo os parâmetros de filtro de desbloqueio que são codificados de forma condicional com base no elemento de sintaxe presente em controle, isso é, deblocking_filter_control_present_flag, na sintaxe PPS. TABELA 11. Sintaxe de cabeçalho de fatia com indicador de herança e parâmetros de filtro de desbloqueio codificados de forma condicional
Figure img0014
Figure img0015
[0119] A diferença entre o exemplo descrito com relação às Tabelas 10 e 11 e o exemplo descrito com relação às Tabelas 7 a 9 é que quando deblocking_filter_enable_flag em SPS é igual a 0, deblocking_filter_control_present_flag em PPS também é inferido como sendo igual a 0. Dessa forma, o resultado do filtro de desbloqueio sendo desativado no nível SPS é que nenhum dos parâmetros de filtro de desbloqueio serão sinalizados em APS ou no cabeçalho de fatia, e que o filtro de desbloqueio é efetivamente desativado no nível de fatia. Mais especificamente, quando o filtro de desbloqueio é desativado no nível SPS, o decodificador de vídeo 30 pode inferir que nenhum dos parâmetros de filtro de desbloqueio está presente no APS (isso é, deblocking_filter_in_aps_enabled_flag em SPS é igual a 0 e aps_deblocking_filter_flag em APS é igual a 0) e que nenhum dos parâmetros de filtro de desbloqueio é sinalizado no cabeçalho de fatia (isso é, deblocking_filter_control_present_flag em PPS é igual a 0). Adicionalmente, o decodificador de vídeo 30 pode inferir que disable_deblocking_filter_flag no cabeçalho de fatia é igual a 1, indicando que o filtro de desbloqueio está desativado no nível de fatia. Nesse caso, nenhuma condição adicional pode precisar ser adicionada à sintaxe de cabeçalho de fatia visto que,quando deblocking_filter_control_present_flag no PPS é igual a 0, nenhum dos parâmetros de filtro de desbloqueio é sinalizado no cabeçalho de fatia.
[0120] Um terceiro problema com a sinalização dos parâmetros de filtro de desbloqueio é que nenhum indicador de nível SPS é definido para indicar quando nenhum dos elementos de sintaxe de controle de filtro de desbloqueio é sinalizado e os parâmetros padrão, tal como valores iguais a zero, devem ser utilizados para definir o filtro de desbloqueio. Quando nenhum dos elementos de sintaxe de controle de filtro de desbloqueio é sinalizado no APS ou no cabeçalho de fatia, nenhum dos parâmetros de filtro de desbloqueio é sinalizado para definir o filtro de desbloqueio. A Tabela 12 fornece um exemplo da sintaxe SPS incluindo o indicador de herança ativado, isso é, deblocking_in_aps_enabled_flag, codificado de forma condicional com base em um elemento de sintaxe presente em controle, isso é, deblocking_filter_control_present_flag. TABELA 12. Sintaxe SPS com elemento de sintaxe presente em controle e indicador de herança ativado codificado de forma condicional
Figure img0016
[0121] A Tabela 13 fornece um exemplo da sintaxe APS onde o indicador de herança ativado, isso é, aps_deblocking_filter_flag, é inferido como sendo igual a 0 quando nenhum dos elementos de sintaxe de controle de filtro de desbloqueio estão presentes em APS ou cabeçalho de fatia, isso é, quando deblocking_filter_control_present_flag na sintaxe SPS é igual a 0. TABELA 13. Sintaxe APS com indicador de herança ativado
Figure img0017
Figure img0018
[0122] A Tabela 14 fornece um exemplo da sintaxe de cabeçalho de fatia incluindo os parâmetros de filtro de desbloqueio que são condicionalmente codificados com base no elemento de sintaxe presente em controle, isso é, deblocking_filter_controle_present_flag, na sintaxe SPS. TABELA 14. Sintaxe de cabeçalho de fatia com indicador de herança e parâmetros de filtro de desbloqueio codificados condicionalmente
Figure img0019
[0123] A figura 4 é um diagrama em bloco ilustrando componentes de um filtro de desbloqueio ilustrativo 100 definido com base nos parâmetros de filtro de desbloqueio sinalizados de acordo com as técnicas descritas nessa descrição. Em geral, um ou ambos o filtro de desbloqueio 63 da figura 2 e o filtro de desbloqueio 91 da figura 3 podem incluir componentes substancialmente similares aos do filtro de desbloqueio 100.Outros dispositivos de codificação de vídeo, tal como codificadores de vídeo, decodificadores de vídeo, codificador/decodificador de vídeo (CODECs),e similares também podem incluir componentes substancialmente similares ao filtro de desbloqueio 100. O filtro de desbloqueio 100 pode ser implementado em hardware, software, ou firmware ou qualquer combinação dos mesmos. Quando implementadas em software ou firmware, hardware correspondente (tal como um ou mais processadores ou unidades de processamento e memória para armazenamento de instruções para o software ou firmware) também podem ser fornecidos.
[0124] No exemplo da figura 4, o filtro de desbloqueio 100 inclui a unidade de determinação de desbloqueio 104, definições de suporte 102 armazenadas na memória, unidade de filtragem de desbloqueio 106, definições de filtro de desbloqueio 108 armazenadas na memória, unidade de localização de borda 103, e a estrutura de dados de localizações de borda 105. Todo ou qualquer componente do filtro de desbloqueio 100 pode ser funcionalmente integrado. Os componentes do filtro de desbloqueio 100 são ilustrados separadamente apenas para fins de ilustração. Em geral, o filtro de desbloqueio 100 recebe dados para os blocos decodificados, por exemplo, a partir de um componente de soma que combina os dados de previsão com dados residuais para os blocos. Os dados podem incluir adicionalmente uma indicação de como os blocos foram previstos. No exemplo descrito abaixo, o filtro de desbloqueio 100 é configurado para receber dados incluindo um bloco de vídeo decodificado associado com uma LCU e um quadtree CU para a LCU, onde o quadtree CU descreve como a LCU é dividida em Cus e os modos de previsão para as PUs e TUs das CUs de nó folha.
[0125] O filtro de desbloqueio 100 pode manter a estrutura de dados de localizações de borda 105 em uma memória do filtro de desbloqueio 100, ou em uma memória externa fornecida por um dispositivo de codificação de vídeo correspondente. Em alguns exemplos, a unidade de localização de borda 103 pode receber um quadtree CU correspondente a uma LCU que indica como a LCU é dividida em CUs. A unidade de localização de borda 103 pode então analisar o quadtree CU para determinar as bordas entre os blocos de vídeo decodificados associados com as TUs e PUs das CUs na LCU que são candidatos ao desbloqueio.
[0126] A estrutura de dados de localizações de borda 105 pode compreender um conjunto possuindo uma dimensão horizontal, uma dimensão vertical, e uma dimensão representativa das bordas horizontais e verticais. Em geral, as bordas entre os blocos de vídeo podem ocorrer entre dois blocos de vídeo associados com as CUs de menor tamanho da LCU, ou TUs e PUs das CUs. Assumindo-se que a LCU possui um tamanho de N x N, e assumindo-se que a CU de menor tamanho da LCU tenha o tamanho de M x M, o conjunto pode compreender um tamanho de [N/M] x [N/M] x 2, onde "2" representa as duas possíveis direções das bordas entre CUs (horizontal e vertical). Por exemplo, assumindo-se que uma LCU tenha 64 x 64 pixels e uma CU de menor tamanho 8 x 8, o conjunto pode compreender [8] x [8] x [2] registros.
[0127]Cada registro pode geralmente corresponder a uma possível borda entre dois blocos de vídeo. As bordas podem não existir de fato em cada uma das posições dentro da LCU correspondendo a cada um dos registros da estrutura de dados de localização de borda 105. De acordo, os valores da estrutura de dados podem ser inicializados como falso. Em geral, a unidade de localização de borda 103 pode analisar o quadtree CU para determinar as localizações das bordas entre dois blocos de vídeo associados com as TUs e PUs das CUs da LCU e configurar os valores correspondentes na estrutura de dados de localizações de borda 105 como verdadeiros.
[0128] Em geral, os registros do conjunto podem descrever se uma borda correspondente existe na LCU como um candidato ao desbloqueio. Isso é, quando a unidade de localização de borda 103 determina que uma borda entre dois blocos de vídeo vizinhos associados com as TUs e PUs das CUs da LCU existem, a unidade de localização de borda 103 pode configurar um valor do registro correspondente na estrutura de dados de localizações de borda 105 para indicar que a borda existe (por exemplo, para um valor igual a "verdadeiro").
[0129] A unidade de determinação de desbloqueio 104 geralmente determina se, para dois blocos vizinhos, uma borda entre os dois blocos deve ser desbloqueada. A unidade de determinação de desbloqueio 104 pode determinar as localizações das bordas utilizando a estrutura de dados de localizações de borda 105. Quando um valor da estrutura de dados de localizações de borda 105 possui um valor Booleano,a unidade de determinação de desbloqueio 104 pode determinar que um valor "verdadeiro" indica a presença de uma borda, e um valor "falso" indica que nenhuma borda está presente, em alguns exemplos.
[0130] Em geral, a unidade de determinação de desbloqueio 104 é configurada com uma ou mais funções de determinação de desbloqueio. As funções podem incluir uma pluralidade de coeficientes aplicados às linhas de pixels que cruzam a borda entre os blocos. Por exemplo, as funções podem ser aplicadas a uma linha de oito pixels que é perpendicular à borda, onde quatro dos pixels estão em um dos dois blocos e os outros quatro pixels estão em outro dos dois blocos. As definições de suporte 102 definem o suporte para as funções. Em geral, "suporte" corresponde aos pixels aos quais as funções são aplicadas. Vários exemplos de conjuntos de suporte são descritos em maiores detalhes abaixo com relação à figura 5.
[0131] A unidade de determinação de desbloqueio 104 pode ser configurada para aplicar uma ou mais funções de determinação de desbloqueio para um ou mais conjuntos de suporte, como definido pelas definições de suporte 102, para determinar se uma borda em particular entre dois blocos dos dados de vídeo deve ser desbloqueada. A linha tracejada originária da unidade de determinação de desbloqueio 104 representa os dados para blocos sendo enviados sem serem filtrados. Nos casos onde a unidade de determinação de desbloqueio 104 determina que uma borda entre dois blocos não deve ser filtrada, o filtro de desbloqueio 100 pode enviar os dados para os blocos sem alteração de dados. Isso é, os dados podem ultrapassar a unidade de filtragem de desbloqueio 106. Por outro lado, quando a unidade de determinação de desbloqueio 104 determina que uma borda deve ser desbloqueada, a unidade de determinação de desbloqueio 104 pode fazer com que a unidade de filtragem de desbloqueio 106 filtre os valores para pixels perto da borda a fim de desbloquear a borda.
[0132] A unidade de filtragem de desbloqueio 106 recupera as definições de filtros de desbloqueio a partir dos parâmetros de filtro de desbloqueio 108 para bordas a serem desbloqueadas, como indicado pela unidade de determinação de desbloqueio 104. Em geral, a filtragem de uma borda utiliza valores de pixels da vizinhança de uma borda atual a ser desbloqueada. Portanto, ambas as funções de decisão de desbloqueio e filtros de desbloqueio podem ter uma região de suporte determinada em ambos os lados de uma borda. Pela aplicação de um filtro de desbloqueio aos pixels na vizinhança de uma borda, a unidade de filtragem de desbloqueio 106 pode suavizar os valores dos pixels de modo que as transições de alta frequência perto da borda sejam amortecidas. Dessa forma, a aplicação de filtros de desbloqueio aos pixels perto de uma borda pode reduzir os artefatos de bloqueio perto da borda.
[0133] A figura 5 é um diagrama conceitual ilustrando posições de pixel perto de uma borda 134 de um bloco de vídeo entre os sub-blocos 130 e 132. Como um exemplo, a borda 134 pode compreender uma borda CU interna tal como uma borda TU entre duas TUs definidas na CU, ou uma borda PU entre duas PUs definidas na CU. Cada uma das posições de pixel é projetada utilizando o formato [p|q]IJ, onde p corresponde ao sub-bloco 130 e q corresponde a um indicador de fileira a partir de cima para baixo dos sub- blocos 130 e 132. Em alguns exemplos, o suporte utilizado para funções de decisão de desbloqueio e filtros de desbloqueio possui uma linha de oito pixels. Em tais exemplos, para uma linha X determinada onde 0 < X < 7, cada um dos pixels p3x a q3x pode ser utilizado como suporte.
[0134] A figura 6 é um fluxograma ilustrando uma operação ilustrativa de codificação dos parâmetros de filtro de desbloqueio para uma fatia de vídeo atual com overhead de sequência de bits reduzido de acordo com as técnicas descritas nessa descrição. A operação ilustrada na figura 6 é descrita com relação ao codificador de vídeo 20 a partir da figura 2.
[0135] Unidade de codificação por entropia 56 do codificador de vídeo 20 codifica um primeiro elemento de sintaxe definido para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetros de camada de imagem e um cabeçalho de fatia para imagens referentes ao conjunto de parâmetros de camada de imagem (140). Se os parâmetros de filtro de desbloqueio não estiverem presentes em ambos o conjunto de parâmetros de camada de imagem e o cabeçalho de fatia (ramificação NÃO de 1421), a unidade de codificação por entropia 56 elimina a codificação de um segundo elemento de sintaxe no cabeçalho de fatia (142). O segundo elemento de sintaxe é definido para indicar qual conjunto de parâmetros de filtro de desbloqueio utilizar para definir um filtro de desbloqueio para uma fatia de vídeo atual. No caso onde os parâmetros de filtro de desbloqueio só estão presentes em um dentre o conjunto de parâmetros de camada de imagem ou cabeçalho de fatia, o segundo elemento de sintaxe é desnecessário visto que nenhuma decisão precisa ser tomada referente a quais parâmetros de filtro de desbloqueio utilizar para definir o filtro de desbloqueio. Ao invés disso, o filtro de desbloqueio 63 é definido para a fatia de vídeo atual com base no único conjunto de parâmetros de filtro de desbloqueio que está presente no conjunto de parâmetro de camada de imagem ou no cabeçalho de fatia (144).
[0136] Se os parâmetros de filtro de desbloqueio estiverem presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia (ramificação SIM de 141), a unidade de codificação por entropia 56 codifica o segundo elemento de sintaxe no cabeçalho de fatia, que é definido para indicar se utiliza um primeiro conjunto de parâmetros de desbloqueio incluídos no conjunto de parâmetros de camada de imagem ou um segundo conjunto de parâmetros de desbloqueio incluídos no cabeçalho de fatia (146). Nesse caso, o filtro de desbloqueio 63 é definido para a fatia de vídeo atual com base no conjunto indicado de parâmetros de desbloqueio (148). De acordo com as técnicas descritas nessa descrição, portanto, os parâmetros de filtro de desbloqueio são codificados para uma fatia de vídeo atual com overhead de sequência de bits reduzido pela codificação apenas do segundo elemento de sintaxe no cabeçalho de fatia quando os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetro de camada de imagem e o cabeçalho de fatia.
[0137] A figura 7 é um fluxograma ilustrando uma operação de decodificação de parâmetros de filtro de desbloqueio para uma fatia de vídeo atual com o overhead de sequência de bits reduzido de acordo com as técnicas descritas nessa descrição. A operação ilustrada na figura 7 é descrita com relação ao decodificador de vídeo 30 a partir da figura 3.
[0138] A unidade de decodificação por entropia 80 do decodificador de vídeo 30 decodifica um primeiro elemento de sintaxe configurado para indicar se os parâmetros de filtro de desbloqueio estão presentes em ambos um conjunto de parâmetros de camada de imagem e um cabeçalho de fatia para imagens referentes ao conjunto de parâmetros de camada de imagem (150). Se os parâmetros de filtro de desbloqueio não estiverem presentes em ambos o conjunto de parâmetros de camada de imagem e o cabeçalho de fatia (ramificação NÃO de 151), a unidade de decodificação por entropia 80 determina que um segundo elemento de sintaxe não está presente no cabeçalho de fatia a ser decodificado (152). O segundo elemento de sintaxe é definido para indicar qual conjunto de parâmetros de filtro de desbloqueio utilizar para definir um filtro de desbloqueio para uma fatia de vídeo atual. No caso onde os parâmetros de filtro de desbloqueio estão presentes apenas em um dentre o conjunto de parâmetros de camada de imagem ou cabeçalho de fatia, o segundo elemento de sintaxe é desnecessário visto que nenhuma decisão precisa ser tomada referente a quais parâmetros de filtro de desbloqueio utilizar para definir o filtro de desbloqueio. Ao invés disso, o filtro de desbloqueio 91 é definido para a fatia de vídeo atual com base no conjunto único de parâmetros de filtro de desbloqueio que estão presentes em qualquer um dentre o conjunto de parâmetros de camada de imagem ou o cabeçalho de fatia (154).
[0139] Se os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetros de camada de imagem e o cabeçalho de fatia (ramificação SIM de 151), a unidade de decodificação por entropia 80 decodifica o segundo elemento de sintaxe no cabeçalho de fatia, que é definido para indicar se utiliza um primeiro conjunto de parâmetros de desbloqueio incluído no conjunto de parâmetros de camada de imagem ou um segundo conjunto de parâmetros de desbloqueio incluídos no cabeçalho de fatia (156). Nesse caso, o filtro de desbloqueio 91 é definido para a fatia de vídeo atual com base no conjunto indicado de parâmetros de desbloqueio (158). De acordo com as técnicas descritas nessa descrição, portanto, os parâmetros de filtro de desbloqueio são decodificados para uma fatia de vídeo atual com um overhead de sequência de bits reduzido pela decodificação apenas do segundo elemento de sintaxe no cabeçalho de fatia quando os parâmetros de filtro de desbloqueio estão presentes em ambos o conjunto de parâmetros de camada de imagem e cabeçalho de fatia.
[0140] A figura 8 é um fluxograma ilustrando uma operação de codificação ilustrativa dos parâmetros de filtro de desbloqueio para uma fatia de vídeo atual em um conjunto de parâmetros de imagem (PPS) que pode ser eliminado pelos parâmetros de filtro de desbloqueio em um cabeçalho de fatia. A operação ilustrada na figura 8 é descrita com relação ao codificador de vídeo 20 da figura 2.
[0141] A unidade de codificação por entropia 56 codifica um elemento de sintaxe presente em controle no PPS definido para indicar se qualquer elemento de sintaxe de controle de filtro de desbloqueio está presente no PPS e no cabeçalho de fatia (160). Os elementos de sintaxe de controle de filtro de desbloqueio incluem um indicador de eliminação ativado sinalizado no PPS, um indicador de eliminação sinalizado no cabeçalho de fatia, e os parâmetros de filtro de desbloqueio sinalizados no PPS e/ou o cabeçalho de fatia. Quando os elementos de sintaxe de controle de filtro de desbloqueio não estão presentes no PPS ou na ramificação de cabeçalho de fatia (ramificação NÃO de 162), a unidade de codificação por entropia 56 elimina a codificação de qualquer elemento de sintaxe de controle de filtro de desbloqueio (164). Nesse caso, o codificador de vídeo 20 sinaliza para o decodificador de vídeo 30 que o filtro de desbloqueio 63 não está definido com base nos parâmetros de filtro de desbloqueio codificados. Ao invés disso, o filtro de desbloqueio 63 não é definido com base nos parâmetros de filtro de desbloqueio codificados. Ao invés disso, o filtro de desbloqueio 63 é definido com base nos parâmetros de filtro de desbloqueio padrão (166).
[0142] Quando os elementos de sintaxe de controle de filtro de desbloqueio estão presentes no PPS ou o cabeçalho de fatia (ramificação SIM de 162), a unidade de codificação por entropia 56 codifica um indicador de eliminação ativado no PPS que indica se uma eliminação de um primeiro conjunto dos parâmetros de filtro de desbloqueio incluídos no PPS por um segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia é ativado (168).
[0143] Se a eliminação dos parâmetros de filtro de desbloqueio no PPS não for ativada (ramificação NÃO de 170), a unidade de codificação por entropia 56 elimina a codificação de um indicador de eliminação no cabeçalho de fatia (172). O indicador de eliminação indica qual conjunto de parâmetros de filtro de desbloqueio utilizar para definir um filtro de desbloqueio para uma fatia de vídeo atual. No caso onde os parâmetros de filtro de desbloqueio só estão presentes no PPS, o indicador de eliminação no cabeçalho de fatia e desnecessário visto que nenhuma decisão precisa ser tomada com relação a quais parâmetros de filtro de desbloqueio utilizar para definir o filtro de desbloqueio. Ao invés disso, o filtro de desbloqueio 63 é definido para a fatia de vídeo atual com base nos parâmetros de filtro de desbloqueio presentes no PPS (174).
[0144] Se a eliminação dos parâmetros de filtro de desbloqueio no PPS pelos parâmetros de desbloqueio no cabeçalho de fatia estiver ativado (ramificação SIM de 170), a unidade de codificação por entropia 56 codifica o indicador de eliminação no cabeçalho de fatia que indica se utiliza o primeiro conjunto dos parâmetros de filtro de desbloqueio a partir do PPS ou eliminar o primeiro conjunto dos parâmetros de filtro de desbloqueio com o segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia (176). Nesse caso, o filtro de desbloqueio 63 é definido para a fatia de vídeo atual com base no conjunto indicado de parâmetros de desbloqueio (178).
[0145] A figura 9 é um fluxograma ilustrando uma operação de decodificação de parâmetros de filtro de desbloqueio para uma fatia de vídeo atual em um conjunto de parâmetros de imagem (PPS) que pode ser eliminado pelos parâmetros de filtro de desbloqueio em um cabeçalho de fatia. A operação ilustrada na figura 9 é descrita com relação ao decodificador de vídeo 30 a partir da figura 3.
[0146] A unidade de decodificação por entropia 80 decodifica um elemento de sintaxe presente em controle no PPS definido para indicar se qualquer elemento de sintaxe de controle de filtro de desbloqueio está presente no PPS e no cabeçalho de fatia (180). Os elementos de sintaxe de controle de filtro de desbloqueio incluem um indicador de eliminação ativada sinalizado no PPS, um indicador de eliminação sinalizado no cabeçalho de fatia, e parâmetros de filtro de desbloqueio sinalizados no PPS e/ou no cabeçalho de fatia. Quando os elementos de sintaxe de controle de filtro de desbloqueio não estão presentes no PPS ou no cabeçalho de fatia (ramificação NÃO de 182), a unidade de decodificação por entropia 80 determina que nenhum dos elementos de sintaxe de controle de filtro de desbloqueio estão presentes na sequência de bits a ser decodificada (184). Nesse caso, o decodificador de vídeo 30 sabe que o filtro de desbloqueio 91 não é definido com base nos parâmetros de filtro de desbloqueio codificados. Ao invés disso, o filtro de desbloqueio 91 é definido com base nos parâmetros de filtro de desbloqueio padrão (186).
[0147] Quando os elementos de sintaxe de controle de filtro de desbloqueio estão presentes no PPS ou no cabeçalho de fatia (ramificação SIM de 182), a unidade de decodificação por entropia 80 decodifica um indicador de eliminação ativado no PPS que indica se uma eliminação de um primeiro conjunto de parâmetros de filtro de desbloqueio incluídos no PPS por um segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia é ativado (188).
[0148] Se a eliminação dos parâmetros de filtro de desbloqueio no PPS não for ativada (ramificação NÃO de 190), a unidade de decodificação por entropia 80 determina que um indicador de eliminação não está presente no cabeçalho de fatia a ser decodificado (192). O indicador de eliminação indica qual conjunto de parâmetros de filtro de desbloqueio utilizar para definir um filtro de desbloqueio para uma fatia de vídeo atual. No caso onde os parâmetros de filtro de desbloqueio só estão presentes no PPS, o indicador de eliminação no cabeçalho de fatia é desnecessário visto que nenhuma decisão precisa ser tomada com relação a quais parâmetros de filtro de desbloqueio utilizar para definir o filtro de desbloqueio. Ao invés disso, o filtro de desbloqueio 91 é definido para a fatia de vídeo atual com base nos parâmetros de filtro de desbloqueio presentes no PPS (194).
[0149] Se a eliminação dos parâmetros de filtro de desbloqueio no PPS pelos parâmetros de desbloqueio no cabeçalho de fatia for ativada (ramificação SIM de 190), a unidade de decodificação por entropia 80 decodifica o indicador de eliminação no cabeçalho de fatia que indica se utiliza o primeiro conjunto de parâmetros de filtro de desbloqueio do PPS ou elimina o primeiro conjunto de parâmetros de filtro de desbloqueio com o segundo conjunto de parâmetros de filtro de desbloqueio incluídos no cabeçalho de fatia (196). Nesse caso, o filtro de desbloqueio 91 é definido para a fatia de vídeo atual com base no conjunto indicado dos parâmetros de desbloqueio (198).
[0150] Nos exemplos descritos acima nos quais um conjunto de parâmetros de filtro de desbloqueio é incluído em um APS, o APS pode ser sinalizado para o decodificador de vídeo 30 a qualquer momento que os parâmetros mudam para ALF, SAO ou desbloqueio. Os parâmetros ALF e SAO têm mais chances de mudar com mais frequência do que os parâmetros de filtro de desbloqueio. Nesse caso, os bits podem ser desperdiçados quando os mesmos parâmetros de filtro de desbloqueio são repetidos no APS sempre que os parâmetros SAO ou ALF mudam. Como uma solução para reduzir o overhead de sequência de bits APS, em alguns exemplos, as técnicas introduzem múltiplos APSs para atualizar os parâmetros de filtro de desbloqueio separadamente dos parâmetros ALF e SAO. Para evitar a sinalização de cópias dos parâmetros de desbloqueio constante em APSs subsequentes, o cabeçalho de fatia pode se referir a múltiplos APSs para decodificar os dados de vídeo das fatias. Várias opções para utilização de múltiplos APSs para sinalizar os parâmetros de filtro de desbloqueio como descrito abaixo. A sintaxe de APSs e cabeçalhos de fatia são apresentados em tabelas abaixo onde riscos representam elementos de sintaxe e condições que podem ser removidos do APS e sintaxe de cabeçalho de fatia.
[0151] Como um primeiro exemplo, o cabeçalho de fatia pode fazer referência a múltiplos APSs diferentes utilizando identificadores APS singulares, por exemplo, aps_id[i], para cada APS válido. Nesse caso, as técnicas incluem os parâmetros de filtro de desbloqueio em uma abordagem de múltiplos APS, por exemplo, onde a abordagem de múltiplos APS pode ser similar à proposta em M. Li, P. Wu, "Multiple Adaptation Parameter Sets Referring," 7o. Encontro JCT-VC, Genebra, Suíça, novembro de 2011, Doc. JCTVC-G332. TABELA 15. Sintaxe de cabeçalho de fatia com identificadores APS
Figure img0020
[0152] A semântica para a sintaxe de cabeçalho de fatia da Tabela 15 é definida como segue. Deblocking_filter_enabled_flag igual a 0 significa que o filtro de desbloqueio está desativado, e igual a 1 significa que o filtro de desbloqueio está ativado. O elemento de sintaxe number_of_valid_aps especifica o número de APSs válidos para a decodificação da fatia. O valor de number_of_valid_aps deve estar na faixa de [0, MaxNumberValidAps], inclusive. O valor de MaxNumberValidAps é especificado no Perfil/Nível. Se number_of_valid_aps não existir, seu valor é inferido como sendo 0. Se number_of_valid_aps for igual a 0, é inferido que não existem APSs ativos. Aps_id[i] especifica os IDs de APS válidos para decodificação de fatia, onde i deve estar na faixa de [0, number_of_valid_aps-1], inclusive.
[0153] De acordo com a sintaxe de cabeçalho de fatia acima, as regras de decodificação para uma fatia de acordo com múltiplos APSs em potencial são como segue. Quando o valor de number_of_valid_aps for igual a 0 ou não for apresentado, isso é, nenhum APS é referido no cabeçalho de fatia, os indicadores de aps_sample_adaptive_offset_falg e aps_adaptive_loop_filter_flag e aps_deblocking_filter_flag na decodificação dessa fatia deve ser configurado para 0, e nem SAO nem ALF deve ser aplicado na decodificação da fatia. Se o valor de inherit_dbl_params_from_APS_flag for igual a 0, então o filtro de desbloqueio deve ser aplicado na decodificação dessa fatia e os parâmetros de desbloqueio incluídos nesse cabeçalho de fatia devem ser utilizados.
[0154] Quando o valor de number_of_valid_aps é igual a 1, isso é, apenas um APS é referido no cabeçalho de fatia, os indicadores de aps_sample_adaptive_offset_flag e aps_adaptive_loop_filter_flag e aps_deblocking_filter_flag e os parâmetros de ferramenta de SAO e ALF na decodificação dessa fatia deve ser configurada igual aos valores dos elementos de sintaxe correspondentes apresentados nesse APS referido. Se o valor de inherit_dbl_params_from_APS_flag for igual a 1, então os parâmetros de desbloqueio devem ser configurados iguais aos valores dos parâmetros correspondentes no APS referido.
[0155] Quando number_of_valid_aps for maior que 1, isso é, quando a abordagem de múltiplos APS for aplicada, para o filtro de desbloqueio, se todos os elementos aps_deblocking_filter_flag nos APSs referidos forem iguais a 0, aps_deblocking_filter_flag na decodificação dessa fatia deve ser configurado para 0 e, se inherit_dbl_params_from_APS_flag for igual a 0, então o filtro de desbloqueio deve ser aplicado a essa fatia utilizando os parâmetros de desbloqueio presentes nesse cabeçalho de fatia. Do contrário, se um e apenas um APS contiver aps_deblocking_filter_flag igual a 1, aps_deblocking_filter_flag na decodificação dessa fatia deve ser configurado para 1 e se inherit_dbl_params_from_APS_flag for igual a 1, então o filtro de desbloqueio com os parâmetros de desbloqueio analisados a partir dessa APS deve ser aplicado à decodificação dessa fatia. Do contrário, se houver mais de um APS contendo aps_deblocking_filter_flag igual a 1, aps_deblocking_filter_flag na decodificação dessa fatia deve ser configurado para 0 e se inherit_dbl_params_from_APS_flag for igual a 0 então o filtro de desbloqueio deve ser aplicado a essa fatia utilizando os parâmetros de desbloqueio presentes nesse cabeçalho de fatia.
[0156] De acordo com as técnicas dessa descrição, aps_deblocking_filter_flg pode indicar que os parâmetros de desbloqueio estão presentes no APS, como fornecido na Tabela 16 abaixo. TABELA 16. Sintaxe APS com indicador de herança ativado
Figure img0021
Figure img0022
[0157] A semântica para a sintaxe APS da Tabela 16 é definida como segue. Aps_sample_adaptive_offset_data_present_flag igual a 1 especifica que os parâmetros SAO existem nesse APS, e igual a 0 especifica que os parâmetros SAO não existem nesse APS, onde os parâmetros SAO se referem ao indicador de SAO ativado e os parâmetros SAO quando o indicador SAO ativado é igual a 1.
[0158] Aps_sample_adaptive_offset_flag igual a 1 especifica que SAO está ligado para as fatias referidas para o APS atual, e igual a 0 especifica que SAO está desligado para fatias referidas para o APS atual. Se não houver qualquer APS ativo ou o valor de aps_sample_adaptive_offset_flag for igual a 0, o valor de aps_sample_adaptive_offset_flag é inferido como sendo igual a 0.
[0159] Aps_adaptive_loop_filter_data_present_flag igual a 1 especifica que os parâmetros ALF existem nesse APS e igual a 0 especifica que os parâmetros ALF não existem nesse APS, onde os parâmetros ALF se referem ao indicador de ALF ativado e os parâmetros ALF quando o indicador de ALF ativado é igual a 1. Aps_adaptive_loop_filter_flag igual a 1 especifica que ALF está ligado para fatias referidas para APS atual, e igual a 0 especifica que ALF está desligado para fatias referidas ao APS atual. Se não houver APS ativo ou o valor de aps_adaptive_loop_filter_data_present_flag for igual a 0, o valor aps_adaptive_loop_filter_flag é inferido como sendo 0.
[0160] De acordo com a sintaxe APS acima, as regras de decodificação para uma fatia de acordo para múltiplos APSs em potencial são como segue. Quando number_of_valid_aps é maior que 1 (outros casos como antes), APS com seu ID igual a os_id[0] pode ser hipoteticamente considerado o APS básico na decodificação da fatia atual, enquanto os outros APSs com seus IDs iguais a aps_id[1], aps_id[2],...aps_id[number_valid_aps-1] podem ser considerados APSs emendados. A informação apresentada nos APSs emendados com seu ID APS de aps_id[i] (i > 0), que se refere aos parâmetros de ferramenta (isso é, aps_deblocking_filter_flag e parâmetros de desbloqueio para o filtro de desbloqueio e/ou aps_sample_adaptive_offset_flag e sao_param() para SAO e/ou aps_adaptive_loop_filter_flag e alf_param() para ALF) apresentados em um APS quando aps_deblocking_filter_flag é igual a 1 e/ou aps_sample_adaptive_offset_data_present_flag é igual a 1 e/ou aps_adaptive_loop_filter_data_present_flag é igual a 1, elimina a informação das ferramentas correspondentes anteriormente e temporalmente determinadas pelos APSs com seu ID APS de aps_id[i-1],...,aps_id[0]. Dessa forma, os valores finalmente obtidos de aps_deblocking_filter_flag e dos parâmetros de desbloqueio são utilizados para desbloquear a fatia atual (dependendo adicionalmente do valor de inerit_dbl_params_from_APS_flag). O aps_sample_adaptive_offset_flag finalmente obtido e os parâmetros em sao_param() são utilizados para implementar SAO na decodificação da fatia atual, e o aps_adaptive_loop_filter_flag finalmente obtido e os parâmetros em alf_param() são utilizados para implementar ALF na decodificação da fatia atual.
[0161] Em outras palavras quando múltiplos APSs são referidos por uma fatia, para cada ferramenta, de acordo com a ordem de apresentação dos IDs APS, o último APS que contém data_present_flag (isso é, aps_deblocking_filter_flag ou aps_sample_adaptive_ofsset_data_present_flag ou aps_adaptive_loop_filter_data_present_flag) dessa ferramenta igual a 1 é ativado para inicializar essa ferramenta antes da decodificação dessa fatia.
[0162] como um segundo exemplo para utilização de múltiplos APSs para sinalizar os parâmetros de filtro de desbloqueio, o cabeçalho de fatia pode fazer referência a múltiplos sub-APSs diferentes utilizando identificadores de sub-APS singulares para cada tipo de APS. Nesse caso, as técnicas incluem os parâmetros de filtro de desbloqueio em uma abordagem sub-APS tal como proposto em J. Tanaka, Y. Morigami, T. Suzuki, "Non-CE4 Subtest3: Extension of Adaptation Parameter Sets Syntax for Quantization matriz," 7o. Encontro JCT-VC, Genebra, Suíça, novembro de 2011, Doc. JCTVC-G295.
[0163] De acordo com as técnicas dessa descrição, é proposta a inclusão de aps_dbl_id no APS, como segue nas Tabelas 17 e 18. Se inherit_dbl_params_from_APS_flag=1, então os parâmetros de desbloqueio são copiados a partir de APS com aps_dbl_id. TABELA 17. Sintaxe APS com indicador de herança ativado e ID APS de desbloqueio codificado de forma condicional
Figure img0023
Figure img0024
TABELA 18. Sintaxe de cabeçalho de fatia com identificadores sub-APS
Figure img0025
Figure img0026
[0164] O problema com a sintaxe de cabeçalho de fatia acima é que aps_dbl_id é sinalizado mesmo quando inherit_dbl_params_from_APS_flag=0. Como uma alternativa, aps_dbl_id pode ser sinalizado no cabeçalho de fatia como fornecido na Tabela 19 abaixo. TABELA 19. Sintaxe de cabeçalho de fatia com identificadores sub-APS condicionalmente codificados
Figure img0027
[0165] Como um terceiro exemplo para utilização de múltiplos APSs para sinalizar os parâmetros de filtro de desbloqueio, o cabeçalho de fatia pode fazer referência a múltiplos APSs diferentes utilizando APSs de lista conectada. Nesse caso, as técnicas incluem parâmetros de filtro de desbloqueio no método de referência APS com base nos APSs de lista conectada, por exemplo, como descrito em M. Li, P. Wu, S. Wenger J. Boyce, "APS Referencing", 8o. Encontro JCT-VC, San José, fevereiro de 2011.
[0166] O documento de Referência APS é construído sobre o método de atualização APS parcial proposto em JCTVC=G332 no sentido de também introduzir indicadores no APS para sinalizar a presença de parâmetros de lista de escalonamento e filtro de circuito. Adicionalmente, os elementos de sintaxe ref_aps_flag e ref_aps_id são introduzidos no APS para permitir a atualização parcial dos parâmetros através de um mecanismo de lista conectada. De acordo com as técnicas dessa descrição, aps_deblocking_filter_flag pode indicar que os parâmetros de desbloqueio estão presentes no APS, como fornecido na Tabela 20 abaixo. Mudanças associadas na sintaxe do cabeçalho de fatia são fornecidas na Tabela 21 abaixo. TABELA 20. Sintaxe APS com indicador de herança ativado e APSs de lista conectada
Figure img0028
Figure img0029
TABELA 21. Sintaxe de cabeçalho de fatia com identificadores APS de lista conectada
Figure img0030
Figure img0031
[0167] A semântica para APS e sintaxe de cabeçalho de fatia das Tabelas 20 e 21 é definida como segue. Aps_id i dentifica o conjunto de parâmetro de adaptação que é referido pelo cabeçalho de fatia ou pelo ref_aps_id em outro conjunto de parâmetros de adaptação. O valor de aps_id deve estar na faixa de 0 a 7, inclusive. Ref_aps_flag igual a 1 especifica que esse conjunto de parâmetros de adaptação faz referência a outro conjunto de parâmetro de adaptação Ref_aps_flag igual a 0 especifica que esse conjunto de parâmetro de adaptação não faz referência a qualquer outro conjunto de parâmetro de adaptação. Ref_aps_id especifica que o conjunto de parâmetro de adaptação anterior com aps_id igual a ref_aps_id é referido por esse parâmetro de adaptação.
[0168] Aps_deblocking_filter_flag indica que os parâmetros de desbloqueio estão presentes no APS (igual a 1) ou não presentes (igual a 0). Aps_scaling_list_data_present_flag igual a 1 especifica que os parâmetros de lista de escalonamento estão presentes nesse conjunto de parâmetros de adaptação e igual a 0 especifica que os parâmetros de lista de escalonamento não estão presentes nesse conjunto de parâmetros de adaptação. Aps_sample_adaptive_offset_data_present_flag igual a 1 especifica que os parâmetros SAO estão presentes nesse conjunto de parâmetro de adaptação, e igual a 0 especifica que os parâmetros SAO não estão presentes nesse conjunto de parâmetros de adaptação. Aps_adaptive_loop_filter_data_present_flag igual a 1 especifica que os parâmetros ALF estão presentes nesse conjunto de parâmetros de adaptação é igual a 0 especifica que os parâmetros ALF não estão presentes nesse conjunto de parâmetros de adaptação.
[0169] Scaling_list_flag iguala 1 especifica que a matriz de escalonamento é aplicada à fatia atual, e igual a 0 especifica que a matriz de escalonamento não é aplicada à fatia atual. O valor scaling_list_flag deve ser igual para todas as fatias no quadro atual. Adaptive_loop_filter_flag igual a 1 especifica que o filtro de circuito adaptativo é aplicado à fatia atual, é igual a 0 especifica que o filtro de circuito adaptativo não é aplicado à fatia atual. O valor de adaptive_loop_filter_flag deve ser o mesmo para todas as fatias no quadro atual. Sample_adaptive_offset_flag igual a 1 especifica que o desvio adaptativo de amostra é aplicado à fatia atual e, igual a 0 especifica que o desvio adaptativo de amostra não é aplicado à fatia atual. O valor de sample_adaptive_offset_flag deve ser igual para todas as fatias no quadro atual.
[0170] Como uma quarta opção para utilização de múltiplos APSs para sinalizar os parâmetros de filtro de desbloqueio, o cabeçalho de fatia pode incluir atualizações parciais de parâmetros de filtro de desbloqueio especificados no APS. Nesse caso, as técnicas incluem atualizações parciais de parâmetros de filtro de desbloqueio. Essas técnicas podem ser aplicadas, por exemplo, no método de atualização de parâmetros APS utilizando sinalização de cabeçalho de fatia descrita em A. Minezawa, K. Sugimoto, S. -I. Sekiguchi, "On partial updating of APS parameters", 8o. Encontro JCT-VC, San José, CA, USA, fevereiro de 2012, Doc.JCTVC-H0255.
[0171] As técnicas dessa descrição podem atualizar os parâmetros de ajuste de filtro de desbloqueio no APS identificado pelo aps_id no cabeçalho de fatia com base nos parâmetros de ajuste de filtro de desbloqueio incluídos no cabeçalho de fatia. As técnicas podem introduzir um update_dbl_params_in_APS_flag no cabeçalho de fatia para indicar quando os parâmetros de ajuste de filtro de desbloqueio no APS devem ser atualizados pelos parâmetros de ajuste de filtro de desbloqueio no cabeçalho de fatia, como apresentado na Tabela 22 abaixo. TABELA 22. Sintaxe de cabeçalho de fatia com parâmetros de desbloqueio de atualização no indicador APS
Figure img0032
[0172] A semântica para a sintaxe de cabeçalho de fatia da Tabela 22 é definida como segue. Update_dbl_params_in_APS_flag igual a 1 significa que os parâmetros de ajuste de filtro de desbloqueio no APS com ID igual a aps_id devem ser atualizados com os parâmetros de ajuste de filtro de desbloqueio no cabeçalho de fatia, e igual a 0 significa nenhuma atualização.
[0173] Adicionalmente, as técnicas dessa descrição podem incluir a atualização dos parâmetros de ajuste de filtro de desbloqueio no APS identificados pelo aps_dbl_id no cabeçalho de fatia com base nos parâmetros de ajuste de filtro de desbloqueio incluídos no cabeçalho de fatia. Aps_dbl_id de APS a ser atualizado com os parâmetros de ajuste de filtro de desbloqueio de cabeçalho pode ser sinalizado separadamente no cabeçalho de fatia, como apresentado na Tabela 23 abaixo. TABELA 23. Sintaxe de cabeçalho de fatia com parâmetros de desbloqueio de atualização em indicador APS e identificadores sub-APS
Figure img0033
[0174] Em um ou mais exemplos, as funções descritas podem ser implementadas em hardware, software, firmware, ou qualquer combinação dos mesmos. Se implementadas em software, as funções podem ser armazenadas em ou transmitidas como uma ou mais instruções ou código em um meio legível por computador e executadas por uma unidade de processamento com base em hardware. O meio legível por computador pode incluir meio de armazenamento legível por computador, que corresponde a um meio tangível tal como um meio de armazenamento de dados,ou meio de comunicação incluindo qualquer meio que facilite a transferência de um programa de computador de um lugar para outro, por exemplo, de acordo com um protocolo de comunicação. Dessa forma, o meio legível por computador geralmente pode corresponder a (1) meio de armazenamento legível por computador tangível que é não transitório ou (2) um meio de comunicação tal como um sinal ou onda portadora. O meio de armazenamento de dados pode ser qualquer meio disponível que possa ser acessado por um ou mais computadores ou um ou mais processadores para recuperar instruções, código e/ou estruturas de dados para implementação das técnicas descritas nessa descrição. Um produto de programa de computador pode incluir um meio legível por computador.
[0175] Por meio de exemplo, e não de limitação, tal meio de armazenamento legível por computador pode compreender RAM, ROM, EEPROM, CD-ROM ou outro armazenamento em disco ótico, armazenamento em disco magnético, ou outros dispositivos de armazenamento magnético, memória flash, ou qualquer outro meio que possa ser utilizado para armazenar código de programa desejado na forma de instruções ou estrutura de dados e que possa ser acessado por um computador. Além disso, qualquer conexão é adequadamente chamada de meio legível por computador. Por exemplo, se instruções forem transmitidas a partir de um sítio da rede, servidor ou outra fonte remota utilizando um cabo coaxial, um cabo de fibra ótica, um par torcido, linha de assinante digital (DSL), ou tecnologias sem fio tal como infravermelho, rádio, e micro-ondas, então o cabo coaxial, o cabo de fibra ótica, o par torcido, DSL ou tecnologias sem fio tal como infravermelho, rádio e micro-onda estão incluídos na definição de meio. Deve-se compreender, no entanto, que o meio de armazenamento legível por computador e meio de armazenamento de dados não incluem conexões, ondas portadoras, sinais ou outro meio transitório, mas, ao invés disso, são direcionados para meio de armazenamento tangível não transitório. Disquete e disco, como utilizado aqui, inclui disco compacto (CD), disco a laser,disco ótico, disco versátil digital (DVD), disquete e disco blu- ray onde disquetes normalmente reproduzem dados magneticamente, enquanto discos reproduzem dados oticamente com lasers. As combinações do acima também devem ser incluídas no escopo de meio legível por computador.
[0176] Instruções podem ser executadas por um ou mais processadores, tal como mais processadores de sinal digital (DSPs), microprocessadores de finalidade geral, circuitos integrados específicos de aplicativo (ASICs), conjuntos lógicos programáveis em campo (FPGAs), ou outro conjunto de circuito lógico discreto ou integrado equivalente. De acordo, o termo "processador", como utilizado aqui pode fazer referência a qualquer uma dentre a estrutura acima ou qualquer outra estrutura adequada para implementação das técnicas descritas aqui. Adicionalmente, em alguns aspectos, a funcionalidade descrita aqui pode ser fornecida dentro de hardware dedicado e/ou módulos de software configurados para codificar e decodificar, ou incorporada a um codec combinado. Além disso, as técnicas podem ser totalmente implementadas em um ou mais circuitos ou elementos lógicos.
[0177] As técnicas dessa descrição podem ser implementadas em uma ampla variedade de dispositivos ou aparelhos, incluindo um aparelho sem fio, um circuito integrado(IC) ou um conjunto de ICs (por exemplo, conjunto de chip). Vários componentes, módulos ou unidades são descritos nessa descrição para enfatizar os aspectos funcionais dos dispositivos configurados para realizar as técnicas descritas, mas não exigem necessariamente a realização por diferentes unidades de hardware. Ao invés disso, como descrito acima, várias unidades podem ser combinadas em uma unidade de hardware codec ou fornecidas por uma coleção de unidades de hardware interoperacionais, incluindo um ou mais processadores como descrito acima, em conjunto com software e/ou firmware adequado.
[0178] Vários exemplos foram descritos. Esses e outros exemplos estado dentro do escopo das reivindicações a seguir.

Claims (15)

1. Método para decodificar de dados de vídeo, caracterizado pelo fato de que compreende: decodificar (150) um elemento de sintaxe de camada de imagem em um conjunto de parâmetros de camada de imagem, o elemento de sintaxe de camada de imagem indicando se parâmetros de filtro de desbloqueio (deblocking) estão presentes no conjunto de parâmetros de camada de imagem; no caso do elemento de sintaxe de camada de imagem indicar que parâmetros de filtro de desbloqueio estão presentes no conjunto de parâmetros de camada de imagem, decodificar (156) um elemento de sintaxe de camada de fatia em um cabeçalho de fatia definido para indicar se utiliza um primeiro conjunto de parâmetros de filtro de desbloqueio incluído no conjunto de parâmetros de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluído no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual; e caso contrário, determinar (152) que o elemento de sintaxe de camada de fatia não está presente no cabeçalho de fatia a ser decodificado.
2. Método para codificar dados de vídeo, caracterizado pelo fato de que compreende: codificar (140) um elemento de sintaxe de camada de imagem em um conjunto de parâmetros de camada de imagem, o elemento de sintaxe de camada de imagem indicando se parâmetros de filtro de desbloqueio estão presentes no conjunto de parâmetros de camada de imagem; no caso do elemento de sintaxe de camada de imagem indicar que parâmetros de filtro de desbloqueio estão presentes no conjunto de parâmetros de camada de imagem, codificar (146) um elemento de sintaxe de camada de fatia em um cabeçalho de fatia indicando se utiliza um primeiro conjunto de parâmetros de filtro de desbloqueio incluído no conjunto de parâmetros de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluído no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual; e caso contrário, eliminar codificação (142) do elemento de sintaxe de camada de fatia no cabeçalho de fatia.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de parâmetros de camada de imagem compreende um dentre um conjunto de parâmetros de imagem, PPS, ou um conjunto de parâmetros de adaptação, APS.
4. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de compreende adicionalmente, quando o elemento de sintaxe de camada de imagem indicar que parâmetros de filtro de desbloqueio estão presentes no conjunto de parâmetros de camada de imagem, definir o filtro de desbloqueio aplicado à fatia de vídeo atual com base em parâmetros de filtro de desbloqueio presentes em um dentre o conjunto de parâmetros de camada de imagem e o cabeçalho de fatia.
5. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que decodificar ou codificar o elemento de sintaxe de camada de imagem compreende decodificar ou codificar um indicador de eliminação habilitado no conjunto de parâmetros de camada de imagem que indica se uma eliminação do primeiro conjunto de parâmetros de filtro de desbloqueio pelo segundo conjunto de parâmetros de filtro de desbloqueio está habilitada.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que, no caso da eliminação estar habilitada, decodificar ou codificar o elemento de sintaxe de camada de fatia compreende decodificar ou codificar um indicador de eliminação no cabeçalho de fatia que indica se utiliza o primeiro conjunto de parâmetros de filtro de desbloqueio do conjunto de parâmetros de camada de imagem ou elimina o primeiro conjunto de parâmetros de filtro de desbloqueio com o segundo conjunto de parâmetros de filtro de desbloqueio incluído no cabeçalho de fatia para definir o filtro de desbloqueio aplicado à fatia de vídeo atual; e no caso da eliminação não estar habilitada, determinar que o elemento de sintaxe de camada de fatia não está presente no cabeçalho de fatia compreende determinar que um indicador de eliminação não está presente no cabeçalho de fatia a ser decodificado ou codificado, compreendendo adicionalmente definir o filtro de desbloqueio aplicado à fatia de vídeo atual com base no primeiro conjunto de parâmetros de filtro de desbloqueio incluído no conjunto de parâmetros de camada de imagem.
7. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que decodificar o elemento de sintaxe de camada de imagem compreende decodificar um indicador de herança habilitado que indica se o primeiro conjunto de parâmetros de filtro de desbloqueio está presente no conjunto de parâmetros de camada de imagem a ser herdado pelo cabeçalho de fatia.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que, no caso do primeiro conjunto de parâmetros de filtro de desbloqueio estar presente para ser herdado pelo cabeçalho de fatia, decodificar ou codificar o elemento de sintaxe de camada de fatia compreende decodificar um indicador de herança no cabeçalho de fatia que indica se utiliza o segundo conjunto de parâmetros de filtro de desbloqueio incluído no cabeçalho de fatia ou herda o primeiro conjunto de parâmetros de filtro de desbloqueio do conjunto de parâmetros de camada de imagem para definir o filtro de desbloqueio aplicado à fatia de vídeo atual, e no caso do primeiro conjunto de parâmetros de filtro de desbloqueio não estar presente para ser herdado pelo cabeçalho de fatia, determinar que o elemento de sintaxe de camada de fatia não está presente no cabeçalho de fatia compreende determinar que um indicador de herança não está presente no cabeçalho de fatia a ser decodificado, compreendendo adicionalmente definir o filtro de desbloqueio aplicado à fatia de vídeo atual com base no segundo conjunto de parâmetros de filtro de desbloqueio incluído no cabeçalho de fatia.
9. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que compreende adicionalmente decodificar ou codificar um terceiro elemento de sintaxe definido para indicar que elementos de sintaxe de controle de filtro de desbloqueio estão presentes no conjunto de parâmetros de camada de imagem antes de decodificar o elemento de sintaxe de camada de imagem, em que o elemento de sintaxe de camada de imagem e o elemento de sintaxe de camada de fatia compreendem elementos de sintaxe de controle de filtro de desbloqueio.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que decodificar ou codificar o terceiro elemento de sintaxe compreende decodificar ou codificar um controle presente no elemento de sintaxe em um dentre o conjunto de parâmetros de camada de imagem e um conjunto de parâmetros de sequência, SPS.
11. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que compreende adicionalmente decodificar ou codificar um quarto elemento de sintaxe definido para indicar que o filtro de desbloqueio está habilitado para a fatia de vídeo atual.
12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que decodificar o quarto elemento de sintaxe compreende decodificar um indicador de filtro de desbloqueio habilitado em um conjunto de parâmetros de sequência, SPS, antes de decodificar o elemento de sintaxe de camada de imagem.
13. Dispositivo de decodificação de vídeo (30), caracterizado pelo fato de que compreende: meios (80) para decodificar um elemento de sintaxe de camada de imagem em um conjunto de parâmetros de camada de imagem, o elemento de sintaxe de camada de imagem indicando se parâmetros de filtro de desbloqueio estão presentes no conjunto de parâmetros de camada de imagem; meios para, no caso do elemento de sintaxe de camada de imagem indicar que parâmetros de filtro de desbloqueio estão presentes no conjunto de parâmetros de camada de imagem, decodificar um elemento de sintaxe de camada de fatia em um cabeçalho de fatia indicando se utiliza um primeiro conjunto de parâmetros de filtro de desbloqueio incluído no conjunto de parâmetros de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluído no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual; e meios para caso contrário, determinar que o segundo elemento de sintaxe não está presente no cabeçalho de fatia a ser decodificado.
14. Dispositivo de codificação de vídeo (20), caracterizado pelo fato de que compreende: meios para codificar um elemento de sintaxe de camada de imagem definido para indicar se parâmetros de filtro de desbloqueio estão presentes em um conjunto de parâmetros de camada de imagem; meios para, no caso do elemento de sintaxe de camada de imagem indicar que parâmetros de filtro de desbloqueio estão presentes no conjunto de parâmetros de camada de imagem, codificar um elemento de sintaxe de camada de fatia em um cabeçalho de fatia indicando se utiliza um primeiro conjunto de parâmetros de filtro de desbloqueio incluído no conjunto de parâmetros de camada de imagem ou um segundo conjunto de parâmetros de filtro de desbloqueio incluído no cabeçalho de fatia para definir um filtro de desbloqueio aplicado a uma fatia de vídeo atual; e meios para caso contrário, eliminar codificação do elemento de sintaxe de camada de fatia no cabeçalho de fatia.
15. Memória caracterizada pelo fato de que compreende instruções armazenadas na mesma, as instruções sendo executadas por um computador para realizar o método conforme definido em qualquer uma das reivindicações 1 a 12.
BR112014017706-6A 2012-01-19 2013-01-18 Sinalização de parâmetros de filtro de desbloqueio em codificação de vídeo BR112014017706B1 (pt)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201261588454P 2012-01-19 2012-01-19
US61/588,454 2012-01-19
US201261593015P 2012-01-31 2012-01-31
US61/593,015 2012-01-31
US201261620339P 2012-04-04 2012-04-04
US61/620,339 2012-04-04
US13/743,592 US9538200B2 (en) 2012-01-19 2013-01-17 Signaling of deblocking filter parameters in video coding
US13/743,592 2013-01-17
PCT/US2013/022230 WO2013109946A1 (en) 2012-01-19 2013-01-18 Signaling of deblocking filter parameters in video coding

Publications (2)

Publication Number Publication Date
BR112014017706A8 BR112014017706A8 (pt) 2021-03-02
BR112014017706B1 true BR112014017706B1 (pt) 2022-12-06

Family

ID=48797198

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014017706-6A BR112014017706B1 (pt) 2012-01-19 2013-01-18 Sinalização de parâmetros de filtro de desbloqueio em codificação de vídeo

Country Status (21)

Country Link
US (3) US9538200B2 (pt)
EP (1) EP2805494B1 (pt)
JP (1) JP6151277B2 (pt)
KR (1) KR101788370B1 (pt)
CN (1) CN104054339B (pt)
AU (1) AU2013209556B2 (pt)
BR (1) BR112014017706B1 (pt)
CA (1) CA2863062C (pt)
DK (1) DK2805494T3 (pt)
ES (1) ES2602484T3 (pt)
HK (1) HK1198235A1 (pt)
HU (1) HUE030041T2 (pt)
IL (1) IL233359A (pt)
MY (1) MY168360A (pt)
PH (1) PH12014501529A1 (pt)
PT (1) PT2805494T (pt)
RU (1) RU2573743C1 (pt)
SG (1) SG11201403387QA (pt)
SI (1) SI2805494T1 (pt)
WO (1) WO2013109946A1 (pt)
ZA (1) ZA201406063B (pt)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9538200B2 (en) 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
KR20130090465A (ko) * 2012-02-06 2013-08-14 삼성전자주식회사 순차 주사 기반의 디블록킹 필터링 장치 및 방법
CN104380749A (zh) * 2012-04-16 2015-02-25 诺基亚公司 用于视频编码的方法和装置
WO2013162454A1 (en) * 2012-04-24 2013-10-31 Telefonaktiebolaget L M Ericsson (Publ) Identifying a parameter set for decoding a multi-layer video representation
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9591302B2 (en) 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US9813736B2 (en) * 2013-09-27 2017-11-07 Qualcomm Incorporated Inter-view dependency type in MV-HEVC
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
EP4087247A1 (en) * 2014-02-26 2022-11-09 Dolby Laboratories Licensing Corp. Luminance based coding tools for video compression
US9654806B2 (en) * 2014-03-26 2017-05-16 Qualcomm Incorporated Determining palette size, palette entries and filtering of palette coded blocks in video coding
WO2016056398A1 (ja) * 2014-10-06 2016-04-14 ソニー株式会社 画像処理装置および方法
WO2017045101A1 (en) * 2015-09-14 2017-03-23 Mediatek Singapore Pte. Ltd. Advanced deblocking filter in video coding
CN113301334B (zh) * 2015-11-17 2023-11-03 华为技术有限公司 视频编码样本自适应滤波的方法和装置
BR112018073434A2 (pt) * 2016-05-13 2019-03-26 Interdigital Vc Holdings, Inc. método e aparelho para codificação de vídeo com corte adaptativo
WO2018117895A1 (en) * 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd Mixed domain collaborative in-loop filter for lossy video coding
EP3529986A1 (en) * 2016-12-23 2019-08-28 Huawei Technologies Co., Ltd. Low complexity mixed domain collaborative in-loop filter for lossy video coding
KR20230079466A (ko) * 2017-04-11 2023-06-07 브이아이디 스케일, 인크. 면 연속성을 사용하는 360 도 비디오 코딩
US10638126B2 (en) * 2017-05-05 2020-04-28 Qualcomm Incorporated Intra reference filter for video coding
US11418816B2 (en) 2017-09-20 2022-08-16 Vid Scale, Inc. Handling face discontinuities in 360-degree video coding
CN114979634B (zh) * 2017-10-09 2023-10-27 佳能株式会社 用于对样本块进行滤波的方法、装置和存储介质
US10616577B2 (en) * 2017-10-16 2020-04-07 Intel Corporation Adaptive video deblocking
US11140418B2 (en) * 2018-07-17 2021-10-05 Qualcomm Incorporated Block-based adaptive loop filter design and signaling
AU2019344400C1 (en) * 2018-09-18 2023-12-21 Huawei Technologies Co., Ltd. A video encoder, a video decoder and corresponding methods
KR20230156456A (ko) 2019-01-10 2023-11-14 후아웨이 테크놀러지 컴퍼니 리미티드 인트라 서브파티션 코딩 툴로 인한 서브파티션 경계를 위한 디블로킹 필터
BR112021018509A2 (pt) * 2019-03-24 2021-11-23 Beijing Bytedance Network Tech Co Ltd Método para processar vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador
US11683487B2 (en) 2019-03-26 2023-06-20 Qualcomm Incorporated Block-based adaptive loop filter (ALF) with adaptive parameter set (APS) in video coding
CN113796079A (zh) * 2019-04-15 2021-12-14 Lg 电子株式会社 基于缩放列表参数的视频或图像编译
EP3958568A4 (en) * 2019-04-15 2023-01-11 Lg Electronics Inc. VIDEO OR IMAGE ENCODING BASED ON SIGNALING SCALING LIST DATA
CN113796075B (zh) * 2019-05-03 2024-05-31 寰发股份有限公司 视频编码系统中编码或解码视频数据的方法和装置
WO2020224581A1 (en) 2019-05-05 2020-11-12 Beijing Bytedance Network Technology Co., Ltd. Chroma deblocking harmonization for video coding
WO2020228661A1 (en) 2019-05-11 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Deblocking filter for video coding
US11109041B2 (en) * 2019-05-16 2021-08-31 Tencent America LLC Method and apparatus for video coding
CN114424539A (zh) 2019-06-14 2022-04-29 北京字节跳动网络技术有限公司 处理视频单元边界和虚拟边界
KR102540022B1 (ko) 2019-06-24 2023-06-02 텔레폰악티에볼라겟엘엠에릭슨(펍) 인코딩된 비디오 비트스트림에 포함된 데이터의 양을 줄이기 위한 파라미터 세트의 시그널링 파라미터 값 정보
US11190793B2 (en) * 2019-07-09 2021-11-30 Qualcomm Incorporated Memory constraint for adaptation parameter sets for video coding
CN114128295B (zh) * 2019-07-14 2024-04-12 北京字节跳动网络技术有限公司 视频编解码中几何分割模式候选列表的构建
US11616962B2 (en) * 2019-07-15 2023-03-28 Tencent America LLC Method and apparatus for video coding
EP4005206A4 (en) 2019-08-23 2022-09-21 Beijing Bytedance Network Technology Co., Ltd. UNLOCKING FILTERING AT CODING BLOCK OR SUB-BLOCK BOUNDARIES
JP7321364B2 (ja) 2019-09-14 2023-08-04 バイトダンス インコーポレイテッド ビデオコーディングにおけるクロマ量子化パラメータ
KR20220061980A (ko) * 2019-09-22 2022-05-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 적응적 루프 필터링에서의 패딩 프로세스
CN114651442A (zh) 2019-10-09 2022-06-21 字节跳动有限公司 视频编解码中的跨分量适应性回路滤波
JP7443509B2 (ja) 2019-10-14 2024-03-05 バイトダンス インコーポレイテッド ビデオコーディングにおけるクロマ量子化パラメータの使用
EP4032290A4 (en) 2019-10-18 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX CONSTRAINTS IN REPORTING SUBPICTURE PARAMETER SETS
CN114982231A (zh) * 2019-11-27 2022-08-30 Lg电子株式会社 图像解码方法及用于其的装置
WO2021118977A1 (en) 2019-12-09 2021-06-17 Bytedance Inc. Using quantization groups in video coding
CN115088262B (zh) * 2019-12-12 2024-06-04 Lg电子株式会社 用于发信号通知图像信息的方法和装置
CN115053522A (zh) * 2019-12-12 2022-09-13 Lg电子株式会社 采用自适应环路滤波器的视频或图像编码
US20230051024A1 (en) * 2019-12-12 2023-02-16 Lg Electronics Inc. Methods and device for signaling image information
EP4078978A1 (en) * 2019-12-19 2022-10-26 Telefonaktiebolaget LM Ericsson (publ) Output process disable indicator
GB2590636B (en) * 2019-12-20 2024-01-10 Canon Kk High level syntax for video coding and decoding
CN114902657A (zh) 2019-12-31 2022-08-12 字节跳动有限公司 视频编解码中的自适应颜色变换
CN113411584A (zh) * 2020-03-17 2021-09-17 北京三星通信技术研究有限公司 视频编解码的方法和装置
KR20220137998A (ko) * 2020-03-23 2022-10-12 엘지전자 주식회사 비디오 또는 이미지 코딩 시스템에서 디블록킹 필터 파라미터 정보를 시그널링하는 방법
EP4107941A4 (en) * 2020-03-23 2023-04-19 Beijing Bytedance Network Technology Co., Ltd. PREDICTION REFINEMENT FOR AFFINE BLENDING MODE AND AFFINE MOTION VECTOR PREDICTION MODE
US11516514B2 (en) * 2020-03-27 2022-11-29 Tencent America LLC High level control for deblocking operations
WO2021202385A1 (en) * 2020-03-29 2021-10-07 Alibaba Group Holding Limited High level syntax control of loop filter
KR20220163401A (ko) * 2020-03-29 2022-12-09 엘지전자 주식회사 인루프 필터링 기반 영상 코딩 장치 및 방법
JP2021158633A (ja) * 2020-03-30 2021-10-07 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
US20230137221A1 (en) * 2020-04-02 2023-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Decoding based on bi-directional picture condition
WO2021204135A1 (en) 2020-04-07 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Signaling and inference of subpicture related syntax element
EP4118825A4 (en) 2020-04-09 2023-08-09 Beijing Bytedance Network Technology Co., Ltd. UNLOCKING SIGNALING IN VIDEO CODING
WO2021204251A1 (en) 2020-04-10 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Use of header syntax elements and adaptation parameter set
CN115868159A (zh) 2020-04-17 2023-03-28 抖音视界有限公司 自适应参数集单元的存在
WO2021222036A1 (en) 2020-04-26 2021-11-04 Bytedance Inc. Conditional signaling of video coding syntax elements
US11729381B2 (en) 2020-07-23 2023-08-15 Qualcomm Incorporated Deblocking filter parameter signaling

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8300690B2 (en) * 2002-07-16 2012-10-30 Nokia Corporation Method for random access and gradual picture refresh in video coding
WO2005027495A2 (en) 2003-09-07 2005-03-24 Microsoft Corporation Slice layer in video codec
US8879635B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
ES2371188T3 (es) * 2005-09-27 2011-12-28 Qualcomm Incorporated Transcodificador dirigido por el contenido que organiza la transcodificación multimedia usando información del contenido.
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
BRPI0710048A2 (pt) * 2006-03-30 2011-08-02 Lg Electronics Inc método e aparelho para decodificar / codificar um sinal de vìdeo
ES2440824T3 (es) 2006-07-10 2014-01-30 Orange Dispositivo y procedimiento de codificación y de decodificación escalables de flujo de datos de imágenes, señal y programa informático correspondientes
US7991236B2 (en) 2006-10-16 2011-08-02 Nokia Corporation Discardable lower layer adaptations in scalable video coding
KR100896290B1 (ko) 2006-11-17 2009-05-07 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
US9445128B2 (en) * 2006-12-08 2016-09-13 Freescale Semiconductor, Inc. System and method of determining deblocking control flag of scalable video system for indicating presentation of deblocking parameters for multiple layers
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
JP2008182562A (ja) * 2007-01-25 2008-08-07 Matsushita Electric Ind Co Ltd 量子化マトリクスを用いた適応的デブロッキングフィルタリングの方法と装置
US8204129B2 (en) * 2007-03-27 2012-06-19 Freescale Semiconductor, Inc. Simplified deblock filtering for reduced memory access and computational complexity
KR20090004658A (ko) * 2007-07-02 2009-01-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
JP5347849B2 (ja) 2009-09-01 2013-11-20 ソニー株式会社 画像符号化装置、画像受信装置、画像符号化方法及び画像受信方法
US20120250767A1 (en) 2009-12-15 2012-10-04 Ferran Valldosera Method and apparatus for bi-directional prediction within p-slices
US20110194613A1 (en) 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
US9538200B2 (en) 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding

Also Published As

Publication number Publication date
DK2805494T3 (en) 2016-12-05
CN104054339B (zh) 2017-09-15
CA2863062C (en) 2018-03-13
US9137547B2 (en) 2015-09-15
HK1198235A1 (en) 2015-03-13
US20170064339A1 (en) 2017-03-02
BR112014017706A8 (pt) 2021-03-02
JP6151277B2 (ja) 2017-06-21
JP2015508251A (ja) 2015-03-16
MY168360A (en) 2018-10-31
SG11201403387QA (en) 2014-09-26
CN104054339A (zh) 2014-09-17
IL233359A (en) 2017-12-31
US9723331B2 (en) 2017-08-01
CA2863062A1 (en) 2013-07-25
EP2805494A1 (en) 2014-11-26
ES2602484T3 (es) 2017-02-21
PT2805494T (pt) 2016-11-15
HUE030041T2 (en) 2017-04-28
ZA201406063B (en) 2016-05-25
KR20140120342A (ko) 2014-10-13
RU2573743C1 (ru) 2016-01-27
KR101788370B1 (ko) 2017-10-19
IL233359A0 (en) 2014-08-31
SI2805494T1 (sl) 2016-12-30
PH12014501529B1 (en) 2014-10-08
US20140369404A1 (en) 2014-12-18
PH12014501529A1 (en) 2014-10-08
US9538200B2 (en) 2017-01-03
WO2013109946A1 (en) 2013-07-25
AU2013209556A1 (en) 2014-08-14
AU2013209556B2 (en) 2016-07-28
US20130188733A1 (en) 2013-07-25
EP2805494B1 (en) 2016-08-10

Similar Documents

Publication Publication Date Title
BR112014017706B1 (pt) Sinalização de parâmetros de filtro de desbloqueio em codificação de vídeo
JP7071603B1 (ja) ビデオコーディングのためにブロックの複数のクラスのためのフィルタをマージすること
EP3158738B1 (en) Block vector coding for intra block copying
JP6231109B2 (ja) コンテキスト適応型、マルチレベル有意性コーディングに関するコンテキスト導出
BR112014010046B1 (pt) Método para decodificar dados de vídeo, método e dispositivo para codificar dados de vídeo e memória legível por computador
BR112014009416B1 (pt) Desblocagem de vídeo em modo de codificação intra pcm (ipcm) e sem perda
BR112018006408B1 (pt) Predição intra de vídeo melhorada usando combinação de predição dependente de posição para codificação de vídeo
US20170324962A1 (en) Signalling of filtering information
US20150071357A1 (en) Partial intra block copying for video coding
BR112014010326B1 (pt) Codificação de vídeo intramodo
BR112014008097B1 (pt) Remoção de corte de candidato a preditor de vetor de movimento para codificação de vídeo
BR112014024920B1 (pt) Codificação de indicador de bloco codificado
BR112014017364B1 (pt) Aperfeiçoamento de rendimento para codificação de nível de coeficiente cabac
BR112016000863B1 (pt) Previsão residual de componente intercor
BR112015025910B1 (pt) Atualização de parâmetro rice para codificação de nível de coeficiente em processo de codificação de vídeo
BR112016022085B1 (pt) Determinação de tamanho de paleta, entradas de paleta e filtragem de blocos codificados por paleta em codificação de vídeo
BR112014017121B1 (pt) Método e dispositivo para decodificar dados de vídeo, método e dispositivo para codificar dados de vídeo e memória legível por computador
BR112015016256B1 (pt) Sinalização de contagem de ordem de imagens para relações de informação de temporização para temporização de vídeo em codificação de vídeo
US20150098504A1 (en) Block vector coding for intra block copying
BR112015026899B1 (pt) Reposicionamento dos blocos residuais de previsão na codificação de vídeo
BR112013018816B1 (pt) Realização de predição de vetor de movimento para codificação de vídeo
BR112014012939B1 (pt) Método e codificador de vídeo para realizar processos de desvio adaptativo de amostra (sao) em um processo de codificação de vídeo, método e decodificador de video para realizar processos de desvio adaptativo de amostra em um processo de decodificação de vídeo e memória legível por computador
BR112016007360B1 (pt) Previsão ponderada explícita de alta precisão para codificação de vídeo
BR112014023466B1 (pt) Derivação de contexto para codificação de última posição para codificação de vídeo
JP2015516764A (ja) ビデオコーディングにおけるデブロッキングフィルタのためのベータオフセット制御

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: H04N 7/00 (2011.01)

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

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/00

Ipc: H04N 19/117 (2014.01), H04N 19/174 (2014.01), H04N

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

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 18/01/2013, OBSERVADAS AS CONDICOES LEGAIS