BR112020026879A2 - Dispositivo e método para intra predição - Google Patents

Dispositivo e método para intra predição Download PDF

Info

Publication number
BR112020026879A2
BR112020026879A2 BR112020026879-8A BR112020026879A BR112020026879A2 BR 112020026879 A2 BR112020026879 A2 BR 112020026879A2 BR 112020026879 A BR112020026879 A BR 112020026879A BR 112020026879 A2 BR112020026879 A2 BR 112020026879A2
Authority
BR
Brazil
Prior art keywords
intra
prediction
filter
directional
reference sample
Prior art date
Application number
BR112020026879-8A
Other languages
English (en)
Inventor
Alexey Konstantinovich Filippov
Vasily Alexeevich Rufitskiy
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of BR112020026879A2 publication Critical patent/BR112020026879A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • 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/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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Abstract

DISPOSITIVO E MÉTODO PARA INTRA PREDIÇÃO. A presente invenção refere-se ao campo de processamento de imagem, por exemplo codificação de figura/imagem de vídeo e/ou figura/imagem estática. Em particular, a invenção se refere a um dispositivo e método correspondente para intra predição de um bloco de predição de uma imagem de vídeo. O dispositivo é configurado para selecionar um modo de intra predição direcional a partir de um conjunto de modos de intra predição direcional, em que cada modo de intra predição direcional corresponde a um ângulo de intra predição diferente. Além disso, o dispositivo é configurado para selecionar um filtro de um conjunto de filtros com base no modo de intra predição direcional selecionado. Além disso, o dispositivo é configurado para determinar, para uma amostra de predição dada do bloco de predição, uma amostra de referência a partir de um conjunto de amostras de referência com base no modo de intra predição direcional selecionado, e aplicar o filtro selecionado à amostra de referência determinada.

Description

DISPOSITIVO E MÉTODO PARA INTRA PREDIÇÃO CAMPO TÉCNICO
[0001] As modalidades da presente invenção referem- se ao campo de processamento de imagem, por exemplo codificação de figura/imagem de vídeo e/ou figura/imagem estática. Em particular, a invenção refere-se a um dispositivo para intra predição, ou seja, para intra predição de um bloco de predição de uma imagem de vídeo. O dispositivo pode ser ou ser parte de um codificador de imagem de vídeo ou um decodificador de imagem de vídeo. O dispositivo é particularmente configurado para realizar intra predição direcional do bloco de predição. A invenção também se refere a um método de intra predição correspondente.
ANTECEDENTES
[0002] A codificação de vídeo (codificação e decodificação de vídeo) é usada em uma ampla gama de aplicativos de vídeo digital, por exemplo, transmissão de TV digital, transmissão de vídeo pela Internet e redes móveis, aplicativos de conversação em tempo real como chat de vídeo, videoconferência, DVD e discos Blu-ray, sistemas de edição e aquisição de conteúdo de vídeo, e câmeras de vídeo de aplicativos de segurança.
[0003] Desde o desenvolvimento da abordagem de codificação de vídeo híbrida baseada em bloco no padrão H.261 em 1990, novas técnicas e ferramentas de codificação de vídeo foram desenvolvidas e formaram a base para novos padrões de codificação de vídeo. Um dos objetivos da maioria dos padrões de codificação de vídeo era atingir uma redução de taxa de bits em comparação com seu antecessor sem sacrificar a qualidade da imagem. Outros padrões de codificação de vídeo incluem vídeo MPEG-1, vídeo MPEG-2, ITU-T H.262/MPEG-2, ITU- T H.263, ITU-T H.264/MPEG-4, Parte 10, Codificação de vídeo avançada (AVC), ITU-T H.265, Codificação de Vídeo de Alta Eficiência (HEVC), e extensões, por exemplo, escalabilidade e/ou extensões tridimensionais (3D), desses padrões.
[0004] A compressão de vídeo é capaz de atingir a redução de taxa de bits desejada, mas é uma tarefa complexa. Em particular, a compressão de vídeo é restringida por dois parâmetros contraditórios: eficiência de compressão e complexidade computacional. Os padrões de codificação de vídeo, como o ITU-T H.264/AVC ou o ITU-T H.265/HEVC, fornecem um bom equilíbrio entre esses parâmetros. Por esse motivo o suporte aos padrões de codificação de vídeo é um requisito obrigatório para quase qualquer aplicação de compressão de vídeo.
[0005] Os padrões de codificação de vídeo de última geração são baseados no particionamento de uma imagem de origem em blocos. O processamento desses blocos depende do tamanho, posição espacial e um modo de codificação especificado por um codificador.
[0006] Os modos de codificação podem ser classificados em dois grupos de acordo com o tipo de predição: modos de intra e inter predição. Os modos de intra predição usam pixels da mesma imagem para gerar amostras de referência para calcular os valores de predição para os pixels do bloco sendo reconstruído. A intra predição também é chamada de predição espacial. Os modos de inter predição são projetados para predição temporal, e usam amostras de referência de imagens anteriores ou posteriores para prever pixels do bloco da imagem atual.
[0007] Após um estágio de predição, a codificação de transformação é realizada para um erro de predição que é a diferença entre um sinal original e sua predição. Em seguida, os coeficientes de transformação e as informações laterais são codificados usando um codificador de entropia (por exemplo, CABAC para AVC/H.264 e HEVC/H.265). O padrão recentemente adotado ITU-T H.265/HEVC (ISO/IEC 23008-2: 2013, "Information technology - High efficiency coding and media delivery in heterogeneous evironments - Part 2: High efficiency vídeo coding", novembro de 2013) declara um conjunto de ferramentas de codificação de vídeo de última geração que fornecem um compromisso razoável entre eficiência de codificação e complexidade computacional. Uma visão geral sobre o padrão ITU-T H.265/HEVC foi dada por Gary J. Sullivan, "Overview of the High Efficiency Video Coding (HEVC) Standard" em Transações IEEE em Circuitos e Sistemas para Tecnologia de Vídeo, vol. 22, Nº 12, dezembro de 2012, cujo todo conteúdo é aqui incorporado por referência.
[0008] Similarmente ao padrão de codificação de vídeo ITU-T H.264/AVC, o padrão de codificação de vídeo HEVC/H.265 fornece uma divisão da imagem de origem em blocos, por exemplo, Unidades de Codificação (CUs). Cada uma das CUs pode ser dividida em CUs menores ou Unidades de Predição (PUs). Uma PU pode ser intra ou inter predita de acordo com o tipo de processamento aplicado para os pixels da PU. No caso de inter predição, uma PU representa uma área de pixels que é processada pela compensação de movimento usando um vetor de movimento especificado para uma PU. Para intra predição, os pixels adjacentes dos blocos vizinhos são usados como amostras de referência para prever um bloco atual.
[0009] Uma PU especifica um modo de predição selecionado do conjunto de modos de intra predição para todas as Unidades de Transformação (TUs) contidas nesta PU. Ou seja, o modo de intra predição é o mesmo para cada TU da PU. Uma TU pode ter tamanhos diferentes (por exemplo, 4x4, 8x8, 16x16 e 32x32 pixels) e pode ser processada de maneiras diferentes. Para uma TU, a codificação de transformação é realizada, ou seja, o erro de predição é transformado com uma transformada de cosseno discreta ou uma transformada de seno discreta (no padrão HEVC/H.265, é aplicada a blocos intra codificados) e quantizada. Portanto, os pixels reconstruídos contêm ruído de quantização (pode se tornar aparente, por exemplo, como obstrução entre unidades, artefatos de toque junto com cantos vivos, etc.) que filtros em loop, como DBF, SAO e o ALF tentam suprimir. O uso de codificação de predição sofisticada (como compensação de movimento e intra predição) e técnicas de particionamento (por exemplo, Árvore Quaternária (“Quad-Tree”) (QT) para CUs e PUs, bem como Árvore Quaternária Residual (RQT) para TUs no padrão HEVC/H.265 e Árvore Quaternária e Árvore binária (QTBT) para o software de referência Joint Exploration Model (JEM) a partir da versão JEM-3.0) permitiu ao comitê de padronização reduzir significativamente a redundância em PUs. A diferença fundamental entre os mecanismos de particionamento QT e QTBT é que o último permite não apenas blocos quadrados, mas também retangulares, usando o particionamento baseado em árvore quaternária e árvore binária. A presente invenção se refere a intra predição direcional e introduz uma nova modificação de modos de intra predição direcional.
[00010] De acordo com o padrão HEVC/H.265, 35 modos de intra predição estão disponíveis. Conforme mostrado na Fig. 9, este conjunto contém os seguintes modos: modo planar (o índice de modo de intra predição é 0), modo DC (o índice de modo de intra predição é 1), modos direcionais (a faixa dos valores de índice de modo de intra predição é de 2 a 34) mostrados por setas sólidas na Fig. 9. O conjunto de modos de intra predição direcional foi estendido até 65 modos (ou seja, quase dobrado) diminuindo um passo angular entre os modos de intra predição direcional por um fator de 2. Esses modos adicionais são mostrados pelas setas tracejadas na Fig. 9.
[00011] Para o software JEM-3.0, foi proposto o novo mecanismo de particionamento conhecido como QTBT. Conforme representado na Fig. 10, o particionamento QTBT pode fornecer blocos não apenas quadrados, mas retangulares. Claro, alguma sobrecarga de sinalização e complexidade computacional aumentada no lado do codificador são o preço do particionamento QTBT, em comparação com o particionamento baseado em QT convencional utilizado no padrão H.265/HEVC. No entanto, o particionamento baseado em QTBT é dotado de melhores propriedades de segmentação e, portanto, demonstra eficiência de codificação significativamente maior do que o QT convencional.
[00012] No entanto, ao introduzir QTBT, o conjunto de modos de intra predição direcional disponíveis não foi alterado em conformidade. Em particular, a assimetria de blocos retangulares não foi levada em consideração, como mostrado na Fig. 11. Assim, o mesmo número de amostras de referência é usado ao longo dos lados mais curto e mais longo dos blocos retangulares. Na implementação atual do arcabouço conceitual QTBT, o número de modos de intra predição direcional não depende da proporção de aspecto dos blocos, nem da disponibilidade real de amostras de referência. Como resultado, há amostras de referência altamente improváveis usadas para o lado mais curto do bloco retangular, enquanto há amostras de referência prováveis que não são usadas para o lado mais longo.
[00013] Notavelmente, como mostrado na Fig. 12, neste documento, os termos de "bloco orientado verticalmente" ("orientação vertical de um bloco") e "bloco orientado horizontalmente" ("orientação horizontal de um bloco") são aplicados a blocos retangulares gerado pelo arcabouço conceitual QTBT. A Fig. 12 mostra particularmente (a) um bloco orientado horizontalmente e (b) um bloco orientado verticalmente.
[00014] Na contribuição JVET-D0113, foi ainda proposto aplicar um mecanismo, onde o número de modos de intra predição direcional é ajustável. Em particular, foi proposto aumentar ainda mais o número de modos de intra predição direcional para 131 para tamanhos de blocos grandes, enquanto reduz o número de modos de intra predição direcional para tamanhos de bloco pequenos. A comutação do número de modos de intra predição direcional com base nos tamanhos de bloco é controlada por dois valores limite, que são sinalizados no SPS como valores log2 menos 4 e menos 6, respectivamente. O primeiro limite indica o maior tamanho de bloco que pode ter 35 direções de modo de intra predição, e o segundo limite indica o maior tamanho de bloco que tem 67 direções de modo de intra predição, todos os outros blocos usam 131 direções de modo de intra predição. Na configuração padrão, os limites são sinalizados como 4 e 6, respectivamente, e para imagens de resolução mais alta é definido como 5 e 8.
[00015] Na implementação, um índice de modo de intra predição direcional é sempre representado por um intervalo de modo 131, independentemente do número de modos de intra predição direcional realmente usados. Para 67 modos de intra predição sendo realmente usados, apenas cada segundo modo angular (direcional) é permitido, e para 35 modos, apenas cada quarto modo angular (direcional) é permitido. Portanto, durante a sinalização de modo de intra predição, um modo de intra predição de um bloco vizinho pode precisar ser arredondado para o segundo, quarto ou modo de intra predição angular mais próximo, se o bloco atual usar menos que 131 direções de modo de intra predição, como é explicado na Fig.
13. Esta conversão é feita aplicando deslocamentos para a direita e para a esquerda de 1 ou 2 para um modo de intra predição. Se o modo não for MPM, a sinalização de modo está seguindo o mesmo processo do JEM-3.0, mas com um número diferente de modos de intra predição. Os modos Planar e DC são mantidos inalterados e não requerem conversão de modo. Para acomodar o maior número de modos de intra predição, filtros intra de 4 derivações são estendidos de 1/32 para 1/64 pel fracionário.
[00016] Além disso, uma tecnologia foi proposta recentemente para resolver o problema de quantos modos de intra predição direcional devem ser incluídos em um modo de intra predição definido para um bloco retangular. Como mostrado na Fig. 14, de acordo com a tecnologia proposta, o conjunto de modos de intra predição direcional pode ser estendido sujeito à proporção de aspecto de um bloco de predição, e pode ser sinalizado mapeando os modos de intra predição direcional adicionados ao subconjunto convencional.
[00017] A FIG. 15 ilustra, a este respeito, um caso de uma intra predição em uma direção diagonal com um ângulo igual a 45º associado a um modo de intra predição direcional. Os índices de modo intra HEVC correspondentes para este caso são 2 (do canto inferior esquerdo) e 35 (do canto superior direito).
[00018] No entanto, se um mecanismo de intra predição semelhante for aplicado a ângulos menores que 45º, ou seja, para os modos de intra predição direcional estendidos, a situação é como mostrada na Fig. 16. Ou seja, quando uma direção de intra predição é especificada como aguda (ou seja, menos de 45º), descontinuidades aparentes podem ser observadas na predição. A fonte dessas descontinuidades é particularmente que a diferença entre as posições das amostras de referência entre duas linhas adjacentes de amostras de predição pode se tornar maior do que uma amostra de referência. Este problema está relacionado a métodos de processamento de amostras de referência e realização de interpolação de intra predição.
SUMÁRIO
[00019] Tendo em vista as implementações acima mencionadas, a presente invenção visa melhorar ainda mais a codificação de vídeo híbrido. Em particular, a invenção tem o objetivo de fornecer um dispositivo e método para uma intra predição aprimorada de um bloco de predição de uma imagem de vídeo. A invenção tem como objetivo particular o ganho de codificação adicional sem adicionar hardware e complexidade computacional. Especificamente, a invenção pretende superar o problema descrito acima que ocorre em ângulos agudos de menos de 45º, isto é, deseja suprimir descontinuidades nesses ângulos agudos. A invenção deve ser facilmente implementada em codecs que usam mecanismos convencionais de intra predição direcional.
[00020] O objetivo da presente invenção é resolvido de acordo com modalidades da invenção definidas pelas características das reivindicações independentes. Outras implementações vantajosas das modalidades são definidas pelas características das reivindicações dependentes.
[00021] Em particular, a invenção propõe reduzir as descontinuidades, estendendo um comprimento de filtro para ângulos agudos de intra predição, isto é, menores que 45º. Esta solução é aplicável principalmente a blocos retangulares produzidos por arcabouços conceituais de particionamento como QTBT e MTT.
[00022] Um primeiro aspecto da invenção fornece um dispositivo para intra predição de um bloco de predição de uma imagem de vídeo, o dispositivo sendo configurado para selecionar um modo de intra predição direcional de um conjunto de modos de intra predição direcional, em que cada modo de intra predição direcional corresponde a um ângulo de intra predição diferente, selecionar um filtro de um conjunto de filtros com base no modo de intra predição direcional selecionado, determinar, para uma dada amostra de predição do bloco de predição, uma amostra de referência de um conjunto de amostras de referência com base no modo de intra predição direcional selecionado, e aplicar o filtro selecionado à amostra de referência determinada.
[00023] O dispositivo de acordo com o primeiro aspecto oferece as seguintes vantagens: ganho de codificação adicional pode ser alcançado; pode ser usado em muitas aplicações potenciais em paradigmas de codificação de vídeo híbrido que são compatíveis com o software HM e a família de codecs de vídeo VPX, bem como o software JEM e VTM e a família de codecs de vídeo VPX/AV1 que são um arcabouço conceitual de codificação de vídeo do estado da técnica e da próxima geração, respectivamente; as complexidades de hardware e computacional são mantidas baixas; o dispositivo pode ser facilmente implementado em tais codecs que usam mecanismos convencionais de intra predição direcional.
[00024] Em particular, ao selecionar os comprimentos de filtro de acordo com o ângulo, o problema acima descrito de ângulos de intra predição agudos inferiores a 45º pode ser superado. Se a distância entre duas amostras de referência usadas para intra predição de duas amostras de predição adjacentes se tornar maior, de modo que as duas amostras de referência não sejam mais adjacentes uma à outra, o maior comprimento de filtro selecionado evita descontinuidades. Para ângulos acima de 45º, onde os pixels de referência são adjacentes a outro, o comprimento de filtro pode ser selecionado menor para preservar os detalhes.
[00025] Notavelmente, o bloco de predição pode ser uma TU ou uma PU. O dispositivo é configurado para processar,
conforme descrito para a dada amostra de predição, cada amostra de predição no bloco de predição. Assim, o dispositivo é configurado para realizar intra predição de todo o bloco de predição na imagem de vídeo. Uma amostra é a interseção de um canal e um pixel na imagem de vídeo. Por exemplo, cada pixel da imagem de vídeo pode incluir três amostras de vermelho, verde e azul.
[00026] Em uma forma de implementação do primeiro aspecto, o dispositivo é configurado para determinar um comprimento de filtro com base no modo de intra predição direcional selecionado, e selecionar como o filtro aquele que tem pelo menos o comprimento de filtro determinado.
[00027] Assim, o dispositivo garante que o comprimento de filtro seja em cada caso longo o suficiente para evitar descontinuidades.
[00028] Em uma outra forma de implementação do primeiro aspecto, o conjunto de filtros inclui filtros com diferentes comprimentos de filtro, particularmente com comprimentos de filtro que abrangem 1, 3 ou 5 amostras de referência adjacentes.
[00029] Em uma outra forma de implementação do primeiro aspecto, cada filtro no conjunto de filtros realiza uma suavização diferente sobre a amostra de referência determinada e uma ou mais amostras de referência adjacentes, quando aplicado à amostra de referência determinada.
[00030] Para ângulos mais agudos, uma suavização mais forte, por exemplo, em amostras de referência mais adjacentes pode ser selecionada selecionando o filtro em conformidade, enquanto para ângulos menos agudos (ou não agudos) uma suavização mais suave, por exemplo, em amostras de referência menos adjacentes pode ser selecionada.
[00031] Em uma outra forma de implementação do primeiro aspecto, o dispositivo é configurado para determinar o ângulo de intra predição correspondente ao modo de intra predição direcional selecionado, e selecionar o filtro na dependência do ângulo de intra predição determinado.
[00032] Consequentemente, o melhor filtro pode ser selecionado para cada ângulo de intra predição.
[00033] Em uma outra forma de implementação do primeiro aspecto, o dispositivo é configurado para determinar o ângulo de intra predição correspondente ao modo de intra predição direcional selecionado, especificar, para uma amostra de predição adicional do bloco de predição, uma amostra de referência adicional do conjunto de amostras de referência com base no modo de intra predição direcional selecionado, determinar uma distância entre a amostra de referência determinada e a amostra de referência adicional, e selecionar o filtro na dependência da distância determinada.
[00034] O dispositivo pode ser configurado para realizar um algoritmo de seleção de filtro tomando o modo de intra predição direcional selecionado como entrada para obter como saída o ângulo de intra predição. O dispositivo pode determinar o ângulo de intra predição com base no índice do modo de intra predição direcional selecionado. Além disso, o dispositivo pode ser configurado para determinar o ângulo com base na proporção de aspecto do bloco de predição.
[00035] A amostra de referência adicional pode ser especificada para a amostra de predição adicional da mesma maneira que a amostra de referência determinada é determinada para a amostra de predição dada, particularmente com base na direção de intra predição do modo selecionado, isto é, o ângulo de intra predição. A distância entre a amostra de referência determinada e a amostra de referência adicional pode ser derivada com base em uma distância entre a amostra de predição dada e a amostra de predição adicional no bloco de predição e o ângulo de intra predição associado ao modo selecionado. A distância pode ser determinada em números inteiros ou frações de amostras de referência.
[00036] Para uma distância determinada menor, um filtro com um comprimento de filtro mais longo pode ser selecionado e, para uma distância determinada maior, um filtro com um comprimento de filtro mais curto pode ser selecionado. Em particular, um filtro com um comprimento de filtro de pelo menos a distância determinada pode ser selecionado. Se nenhum filtro selecionável tiver um comprimento de filtro de pelo menos a distância determinada, o filtro no conjunto de filtros com o maior comprimento de filtro pode ser selecionado.
[00037] Assim, o filtro pode ser selecionado de forma que a distância entre as amostras de referência não leve a descontinuidades após a intra predição.
[00038] Em uma outra forma de implementação do primeiro aspecto, o dispositivo é configurado para selecionar o mesmo filtro para cada modo de intra predição direcional selecionado de um primeiro subconjunto dos modos de intra predição direcional, e selecionar um filtro diferente para cada modo de intra predição direcional selecionado a partir de um segundo subconjunto dos modos de intra predição direcional.
[00039] Por exemplo, o primeiro subconjunto pode incluir modos de intra predição direcional associados a ângulos de intra predição de 45º e mais, enquanto o segundo subconjunto pode incluir modos de intra predição direcional associados a ângulos de intra predição de menos de 45º.
[00040] Em uma outra forma de implementação do primeiro aspecto, o dispositivo é configurado para realizar intra predição da amostra de predição dada diretamente da amostra de referência determinada, em que o dispositivo é configurado para aplicar o filtro selecionado à amostra de referência determinada antes ou durante a intra predição da amostra de predição dada.
[00041] Em uma outra forma de implementação do primeiro aspecto, o dispositivo é configurado para gerar uma amostra de referência transposta interpolando a amostra de referência determinada com base no modo de intra predição selecionado e realizar a intra predição da amostra de predição dada a partir da amostra de referência transposta, em que o dispositivo é configurado para aplicar o filtro selecionado à amostra de referência determinada antes ou durante a geração da amostra de referência transposta.
[00042] Em uma outra forma de implementação do primeiro aspecto, o dispositivo é configurado para transpor cada amostra de referência no conjunto de amostras de referência, em que uma linha de amostras de referência se torna uma coluna de amostras de referência transpostas, e uma coluna de amostras de referência se torna uma linha de amostras de referência transpostas.
[00043] Em uma outra forma de implementação do primeiro aspecto, as amostras de referência do conjunto de amostras de referência são dispostas em uma linha da imagem de vídeo adjacentemente acima e acima à direita do bloco de predição e/ou são dispostas em uma coluna da imagem de vídeo adjacentemente esquerda e esquerda sob o bloco de predição.
[00044] Em uma outra forma de implementação do primeiro aspecto, o dispositivo é configurado para codificar e/ou decodificar a imagem de vídeo, ou o dispositivo é um codificador de vídeo e/ou decodificador de vídeo.
[00045] Por exemplo, o dispositivo do primeiro aspecto pode ser incluído ou ser uma unidade de intra predição de um codificador ou decodificador.
[00046] Um segundo aspecto da invenção fornece um método para intra predição de um bloco de predição de uma imagem de vídeo, o método compreendendo: selecionar um modo de intra predição direcional de um conjunto de modos de intra predição direcional, em que cada modo de intra predição direcional corresponde a um ângulo de intra predição diferente, selecionar um filtro de um conjunto de filtros com base no modo de intra predição direcional selecionado, determinar, para uma dada amostra de predição do bloco de predição, uma amostra de referência de um conjunto de amostras de referência com base no modo de intra predição direcional selecionado, e aplicar o filtro selecionado à amostra de referência determinada.
[00047] Em uma forma de implementação do segundo aspecto, o método compreende determinar um comprimento de filtro com base no modo de intra predição direcional selecionado, e selecionar como o filtro um tendo pelo menos o comprimento de filtro determinado.
[00048] Em uma outra forma de implementação do segundo aspecto, o conjunto de filtros inclui filtros com diferentes comprimentos de filtro, particularmente com comprimentos de filtro que abrangem 1, 3 ou 5 amostras de referência adjacentes.
[00049] Em uma outra forma de implementação do segundo aspecto, cada filtro no conjunto de filtros realiza uma suavização diferente sobre a amostra de referência determinada e uma ou mais amostras de referência adjacentes, quando aplicado à amostra de referência determinada.
[00050] Em uma outra forma de implementação do segundo aspecto, o método compreende determinar o ângulo de intra predição correspondente ao modo de intra predição direcional selecionado, e selecionar o filtro na dependência do ângulo de intra predição determinado.
[00051] Em uma outra forma de implementação do segundo aspecto, o método compreende determinar o ângulo de intra predição correspondente ao modo de intra predição direcional selecionado, especificar, para uma amostra de predição adicional do bloco de predição, uma amostra de referência adicional do conjunto de referência amostras com base no modo de intra predição direcional selecionado, determinar uma distância entre a amostra de referência determinada e a amostra de referência adicional, e selecionar o filtro na dependência da distância determinada.
[00052] Em uma outra forma de implementação do segundo aspecto, o método compreende selecionar o mesmo filtro para cada modo de intra predição direcional selecionado de um primeiro subconjunto dos modos de intra predição direcional, e selecionar um filtro diferente para cada modo de intra predição direcional selecionado de um segundo subconjunto dos modos de intra predição direcional.
[00053] Em uma outra forma de implementação do segundo aspecto, o método compreende realizar intra predição da amostra de predição dada diretamente a partir da amostra de referência determinada, em que o método compreende aplicar o filtro selecionado à amostra de referência determinada antes ou durante a intra predição da amostra de predição dada.
[00054] Em uma outra forma de implementação do segundo aspecto, o método compreende gerar uma amostra de referência transposta por interpolação da amostra de referência determinada com base no modo de intra predição selecionado, e realizar a intra predição da amostra de predição dada a partir da amostra de referência transposta, em que o método compreende a aplicação do filtro selecionado à amostra de referência determinada antes ou durante a geração da amostra de referência transposta.
[00055] Em uma outra forma de implementação do segundo aspecto, o método compreende a transposição de cada amostra de referência no conjunto de amostras de referência, em que uma linha de amostras de referência se torna uma coluna de amostras de referência transpostas, e uma coluna de amostras de referência se torna uma linha de amostras de referência transpostas.
[00056] Em uma outra forma de implementação do segundo aspecto, as amostras de referência do conjunto de amostras de referência são dispostas em uma linha da imagem de vídeo adjacentemente acima e acima à direita do bloco de predição e/ou são dispostas em uma coluna da imagem de vídeo adjacentemente esquerda e esquerda sob o bloco de predição.
[00057] Em uma outra forma de implementação do segundo aspecto, o método é realizado para codificar e/ou decodificar a imagem de vídeo, ou o método é realizado em um codificador de vídeo e/ou decodificador de vídeo.
[00058] O método do segundo aspecto e suas formas de implementação alcançam as mesmas vantagens e efeitos descritos acima para o dispositivo do primeiro aspecto e suas respectivas formas de implementação.
[00059] Deve-se notar que todos os dispositivos, elementos, unidades e meios descritos no presente pedido podem ser implementados nos elementos de software ou hardware ou qualquer tipo de combinação dos mesmos. Todas as etapas que são realizadas pelas várias entidades descritas no presente pedido, bem como as funcionalidades descritas a serem realizadas pelas várias entidades, pretendem significar que a respectiva entidade está adaptada ou configurada para realizar as respectivas etapas e funcionalidades. Mesmo se, na seguinte descrição de modalidades específicas, uma funcionalidade ou etapa específica a ser realizada por entidades externas não for refletida na descrição de um elemento detalhado específico dessa entidade que realiza essa etapa ou funcionalidade específica, deve ficar claro para um técnico no assunto que esses métodos e funcionalidades podem ser implementados nos respectivos elementos de software ou hardware, ou qualquer tipo de combinação dos mesmos.
[00060] Os detalhes de uma ou mais modalidades são apresentados nos desenhos anexos e na descrição abaixo. Outras características, objetos e vantagens serão evidentes a partir da descrição, desenhos e reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[00061] Nas seguintes modalidades da invenção são descritas em mais detalhes com referência às figuras e desenhos anexos, nos quais: a Fig. 1 é um diagrama de blocos que mostra uma estrutura de exemplo de um codificador de vídeo configurado para implementar modalidades da invenção; a Fig. 2 é um diagrama de blocos que mostra uma estrutura de exemplo de um decodificador de vídeo configurado para implementar modalidades da invenção; a Fig. 3 é um diagrama de blocos que mostra um exemplo de um sistema de codificação de vídeo configurado para implementar modalidades da invenção; a Fig. 4 mostra (a) uma fonte de descontinuidades para um caso em que os ângulos de intra predição são menores que 45º, e (b) descontinuidades entre linhas para o caso em que os ângulos de intra predição são menores que 45º; a Fig. 5 é um diagrama de blocos que mostra um dispositivo de acordo com qualquer uma modalidade da invenção; a Fig. 6 mostra um fluxograma de um mecanismo de seleção de filtro de amostra de referência, que depende do ângulo de intra predição, conforme realizado por um dispositivo de acordo com qualquer uma modalidade da invenção; a Fig. 7 mostra um mecanismo de pré-interpolação de amostra de referência, como executado por um dispositivo de acordo com qualquer uma modalidade da invenção; a Fig. 8 mostra um diagrama de fluxo de um método de acordo com qualquer uma modalidade da invenção;
a Fig. 9 mostra os modos de intra predição no software HM e JEM (os modos angular/direcional que são marcados por linhas tracejadas são introduzidos apenas para JEM, mas não para HM); a Fig. 10 mostra esquematicamente uma partição QTBT; a Fig. 11 mostra uma implementação atual de um mecanismo de intra predição direcional nos arcabouços conceituais QT e QTBT; a Fig. 12 explica uma orientação de blocos retangulares, particularmente mostra um bloco retangular com (a) uma orientação horizontal e (b) uma orientação vertical; a Fig. 13 mostra a seleção de modo intra proposta no JVET-D0113; a Fig. 14 mostra uma extensão proposta dos modos de intra predição direcional; a Fig. 15 mostra esquematicamente uma distância entre as amostras de referência para intra predição de duas filas adjacentes de amostras de predição para ângulos de intra predição iguais a 45º; a Fig. 16 mostra esquematicamente uma distância entre as amostras de referência para intra predição de duas filas adjacentes de amostras de predição para ângulos de intra predição menores que 45º.
DESCRIÇÃO DETALHADA DAS MODALIDADES
[00062] Na descrição a seguir, é feita referência às figuras anexas, que fazem parte da divulgação e que mostram, a título de ilustração, aspectos específicos das modalidades da invenção ou aspectos específicos em que modalidades da presente invenção podem ser usadas. Entende-se que as modalidades da invenção podem ser usadas em outros aspectos e compreendem mudanças estruturais ou lógicas não representadas nas figuras. A seguinte descrição detalhada, portanto, não deve ser tomada em um sentido limitativo, e o escopo da presente invenção é definido pelas reivindicações anexas.
[00063] Por exemplo, entende-se que uma divulgação em conexão com um método descrito também pode ser verdadeira para um dispositivo ou sistema correspondente configurado para realizar o método e vice-versa. Por exemplo, se uma ou uma pluralidade de etapas de método específicas forem descritas, um dispositivo correspondente pode incluir uma ou uma pluralidade de unidades, por exemplo, unidades funcionais, para realizar uma ou uma pluralidade de etapas de método descrita (por exemplo, uma unidade realizando a uma ou a pluralidade de etapas, ou uma pluralidade de unidades, cada uma realizando uma ou mais da pluralidade de etapas), mesmo se tais uma ou mais unidades não forem explicitamente descritas ou ilustradas nas figuras. Por outro lado, por exemplo, se um aparelho específico é descrito com base em uma ou uma pluralidade de unidades, por exemplo, unidades funcionais, um método correspondente pode incluir uma etapa para realizar a funcionalidade de uma ou pluralidade de unidades (por exemplo, uma etapa de realização da funcionalidade de uma ou pluralidade de unidades, ou uma pluralidade de etapas, cada uma realizando a funcionalidade de uma ou mais da pluralidade de unidades), mesmo se tal uma ou pluralidade de etapas não forem explicitamente descritas ou ilustradas nas figuras. Além disso, entende-se que as características das várias modalidades exemplares e/ou aspectos descritos neste documento podem ser combinados uns com os outros, a menos que especificamente indicado de outra forma.
[00064] A codificação de vídeo normalmente se refere ao processamento de uma sequência de imagens, que formam o vídeo ou a sequência de vídeo. Em vez do termo imagem, o termo quadro ou figura pode ser usado como sinônimos no campo da codificação de vídeo. A codificação de vídeo compreende duas partes, codificação de vídeo e decodificação de vídeo. A codificação de vídeo é realizada no lado da fonte, normalmente compreendendo o processamento (por exemplo, por compressão) das imagens de vídeo originais para reduzir a quantidade de dados necessária para representar as imagens de vídeo (para armazenamento e/ou transmissão mais eficiente). A decodificação de vídeo é realizada no lado de destino e normalmente compreende o processamento inverso em comparação com o codificador para reconstruir as imagens de vídeo. As modalidades que se referem à "codificação" de imagens de vídeo (ou imagens de vídeo ou imagens em geral, como será explicado posteriormente) devem ser entendidas como relacionadas a "codificação" e "decodificação" de imagens de vídeo. A combinação da parte de codificação e da parte de decodificação também é conhecida como CODEC (COdificação e DECodificação).
[00065] No caso de codificação de vídeo sem perdas, as imagens de vídeo originais podem ser reconstruídas, ou seja, as imagens de vídeo reconstruídas têm a mesma qualidade das imagens de vídeo originais (assumindo nenhuma perda de transmissão ou outra perda de dados durante o armazenamento ou transmissão). Em caso de codificação de vídeo com perdas, a compressão adicional, por exemplo, por quantização, é realizada, para reduzir a quantidade de dados que representam as imagens de vídeo, que não podem ser completamente reconstruídas no decodificador, ou seja, a qualidade das imagens de vídeo reconstruídas é inferior ou pior comparada à qualidade das imagens de vídeo originais.
[00066] Vários padrões de codificação de vídeo desde H.261 pertencem ao grupo de "codecs de vídeo híbridos com perdas" (ou seja, combinam predição espacial e temporal no domínio de amostra e codificação de transformação 2D para aplicar a quantização no domínio de transformação). Cada imagem de uma sequência de vídeo é normalmente particionada em um conjunto de blocos não sobrepostos e a codificação é normalmente realizada em um nível de bloco. Em outras palavras, no codificador, o vídeo é tipicamente processado, ou seja, codificado, em um nível de bloco (bloco de vídeo), por exemplo, usando predição espacial (intra imagem) e predição temporal (entre imagens) para gerar um bloco de predição, subtraindo o bloco de predição do bloco atual (bloco atualmente processado/a ser processado) para obter um bloco residual, transformando o bloco residual e quantizando o bloco residual no domínio de transformação para reduzir a quantidade de dados a serem transmitidos (compressão), enquanto no decodificador, o processamento inverso em comparação com o codificador é aplicado ao bloco codificado ou comprimido para reconstruir o bloco atual para representação. Além disso, o codificador duplica o circuito de processamento de decodificador de modo que ambos gerem predições idênticas (por exemplo, intra e inter predições) e/ou reconstruções para processamento, ou seja, codificação dos blocos subsequentes.
[00067] Como processamento de imagem de vídeo (também conhecido como processamento de imagem em movimento) e processamento de imagem estática (o processamento de termo que compreende codificação), compartilham muitos conceitos e tecnologias ou ferramentas, a seguir o termo "imagem" é usado para se referir a uma imagem de vídeo de uma sequência de vídeo (conforme explicado acima) e/ou uma imagem estática para evitar repetições desnecessárias e distinções entre imagens de vídeo e imagens estáticas, onde não for necessário. No caso de a descrição referir-se apenas a imagens estáticas (ou figuras estáticas), o termo “imagem estática” deve ser usado.
[00068] A seguir, um codificador 100, um decodificador 200 e um sistema de codificação 300 para implementar modalidades da invenção são descritos com base nas Figs. 1 a 3, antes de descrever as modalidades da invenção em mais detalhes com base nas Figs. 4 a 11.
[00069] A Fig. 3 é um diagrama de blocos conceitual ou esquemático que ilustra uma modalidade de um sistema de codificação 300, por exemplo, um sistema de codificação de imagem 300, em que o sistema de codificação 300 compreende um dispositivo de origem 310 configurado para fornecer dados codificados 330, por exemplo, uma imagem codificada 330, por exemplo, para um dispositivo de destino 320 para decodificar os dados codificados 330.
[00070] O dispositivo de origem 310 compreende um codificador 100 ou unidade de codificação 100 e pode, adicionalmente, isto é, opcionalmente, compreender uma fonte de imagem 312, uma unidade de pré-processamento 314, por exemplo, uma unidade de pré-processamento de imagem 314 e uma interface de comunicação ou unidade de comunicação 318.
[00071] A fonte de imagem 312 pode compreender ou ser qualquer tipo de dispositivo de captura de imagem, por exemplo para capturar uma imagem do mundo real e/ou qualquer tipo de dispositivo de geração de imagem, por exemplo, um processador gráfico de computador para gerar uma imagem animada por computador, ou qualquer tipo de dispositivo para obter e/ou fornecer uma imagem do mundo real, uma imagem animada por computador (por exemplo um conteúdo de tela, uma imagem de realidade virtual (VR)) e/ou qualquer combinação dos mesmos (por exemplo, uma imagem de realidade aumentada (AR)). A seguir, todos esses tipos de imagens e qualquer outro tipo de imagem serão referidos como "imagem", a menos que especificamente descrito de outra forma, enquanto as explicações anteriores com relação ao termo "imagem" abrangendo "imagens de vídeo", "figuras de vídeo”, “imagens estáticas” e “figuras estáticas” continuam válidas, a menos que seja explicitamente especificado de forma diferente.
[00072] Uma imagem (digital) é ou pode ser considerada como um arranjo ou matriz bidimensional de amostras com valores de intensidade. Uma amostra no arranjo também pode ser referida como pixel (forma abreviada de elemento de imagem) ou pel. O número de amostras na direção horizontal e vertical (ou eixo geométrico) do arranjo ou imagem define o tamanho e/ou resolução da imagem. Para a representação da cor, normalmente três componentes de cor são empregados, ou seja, a imagem pode ser representada ou incluir três arranjos de amostra. No formato RBG ou espaço de cor, uma imagem compreende um arranjo de amostra vermelha, verde e azul correspondente. No entanto, na codificação de vídeo, cada pixel é tipicamente representado em um formato de luminância/crominância ou espaço de cor, por exemplo, YCbCr, que compreende um componente de luminância indicado por Y (às vezes também L é usado no lugar) e dois componentes de crominância indicados por Cb e Cr. O componente de luminância (ou luma curto) Y representa o brilho ou intensidade de nível de cinza (por exemplo, como em uma imagem em escala de cinza), enquanto os dois componentes de crominância (ou croma curto) Cb e Cr representam a cromaticidade ou componentes de informação de cor. Consequentemente, uma imagem no formato YCbCr compreende uma arranjo de amostra de luminância de valores de amostra de luminância (Y) e dois arranjos de amostra de crominância de valores de crominância (Cb e Cr). As imagens no formato RGB podem ser convertidas ou transformadas no formato YCbCr e vice-versa, o processo também é conhecido como transformação ou conversão de cores. Se uma imagem for monocromática, a imagem pode compreender apenas uma arranjo de amostra de luminância.
[00073] A fonte de imagem 312 pode ser, por exemplo, uma câmera para capturar uma imagem, uma memória, por exemplo, uma memória de imagem, compreendendo ou armazenando uma imagem previamente capturada ou gerada e/ou qualquer tipo de interface (interna ou externa) para obter ou receber uma foto. A câmera pode ser, por exemplo, uma câmera local ou integrada, integrada no dispositivo de origem, a memória pode ser uma memória local ou integrada, por exemplo, integrada no dispositivo de origem. A interface pode ser, por exemplo, uma interface externa para receber uma imagem de uma fonte de vídeo externa, por exemplo, um dispositivo externo de captura de imagem como uma câmera, uma memória externa ou um dispositivo externo de geração de imagem, por exemplo, um processador gráfico de computador externo, computador ou servidor. A interface pode ser qualquer tipo de interface, por exemplo, uma interface com fio ou sem fio, uma interface óptica, de acordo com qualquer protocolo de interface proprietário ou padronizado. A interface para obter os dados de imagem 312 pode ser a mesma interface ou uma parte da interface de comunicação 318.
[00074] Em distinção à unidade de pré-processamento 314 e ao processamento realizado pela unidade de pré- processamento 314, a imagem ou dados de imagem 313 também podem ser referidas como imagem bruta ou dados de imagem brutos 313.
[00075] A unidade de pré-processamento 314 está configurada para receber os dados de imagem (brutos) 313 e para realizar o pré-processamento nos dados de imagem 313 para obter uma imagem pré-processada 315 ou dados de imagem pré-processados 315. O pré-processamento realizado pela unidade de pré-processamento 314 pode, por exemplo, compreender corte, conversão de formato de cor (por exemplo, de RGB para YCbCr), correção de cor ou eliminação de ruído.
[00076] O codificador 100 está configurado para receber os dados 315 de imagem pré-processados e fornecer dados de imagem codificada 171 (serão descritos mais detalhes, por exemplo, com base na Fig. 1).
[00077] A interface de comunicação 318 do dispositivo de origem 310 pode ser configurada para receber os dados de imagem codificada 171 e para transmiti-los diretamente para outro dispositivo, por exemplo, o dispositivo de destino 320 ou qualquer outro dispositivo, para armazenamento ou reconstrução direta, ou para processar os dados de imagem codificada 171 para respectivamente antes de armazenar os dados codificados 330 e/ou transmitir os dados codificados 330 para outro dispositivo, por exemplo, o dispositivo de destino 320 ou qualquer outro dispositivo para decodificação ou armazenamento.
[00078] O dispositivo de destino 320 compreende um decodificador 200 ou unidade de decodificação 200, e pode, adicionalmente, isto é, opcionalmente, compreender uma interface de comunicação ou unidade de comunicação 322, uma unidade de pós-processamento 326 e um dispositivo de exibição
328.
[00079] A interface de comunicação 322 do dispositivo de destino 320 está configurada para receber os dados de imagem codificada 171 ou os dados codificados 330, por exemplo, diretamente do dispositivo de origem 310 ou de qualquer outra fonte, por exemplo, uma memória, por exemplo, uma memória de dados de imagem codificada.
[00080] A interface de comunicação 318 e a interface de comunicação 322 podem ser configuradas para transmitir respectivamente receber os dados de imagem codificada 171 ou dados codificados 330 através de um enlace de comunicação direto entre o dispositivo de origem 310 e o dispositivo de destino 320, por exemplo, uma conexão direta com fio ou sem fio, ou através de qualquer tipo de rede, por exemplo, uma rede com fio ou sem fio ou qualquer combinação delas, ou qualquer tipo de rede privada e pública, ou qualquer tipo de combinação das mesmas.
[00081] A interface de comunicação 318 pode ser, por exemplo, configurada para empacotar os dados de imagem codificada 171 em um formato apropriado, por exemplo, pacotes, para transmissão através de um enlace de comunicação ou rede de comunicação, e pode ainda compreender proteção contra perda de dados e recuperação de perda de dados.
[00082] A interface de comunicação 322, formando a contraparte da interface de comunicação 318, pode ser, por exemplo, configurada para desempacotar os dados codificados 330 para obter os dados de imagem codificada 171, e pode ainda ser configurada para realizar proteção contra perda de dados e recuperação de perda de dados, por exemplo, compreendendo a ocultação de erros.
[00083] Tanto a interface de comunicação 318 quanto a interface de comunicação 322 podem ser configuradas como interfaces de comunicação unidirecionais, conforme indicado pela seta para os dados de imagem codificada 330 na Fig. 3 apontando do dispositivo de origem 310 para o dispositivo de destino 320, ou interfaces de comunicação bidirecionais, e pode ser configurado, por exemplo, para enviar e receber mensagens, por exemplo, para configurar uma conexão, para reconhecer e/ou reenviar dados perdidos ou atrasados, incluindo dados de imagem, e trocar qualquer outra informação relacionada ao enlace de comunicação e/ou transmissão de dados, por exemplo, transmissão de dados de imagem codificada.
[00084] O decodificador 200 é configurado para receber os dados de imagem codificada 171 e fornecer dados de imagem decodificada 231 ou uma imagem decodificada 231 (mais detalhes serão descritos, por exemplo, com base na Fig. 2).
[00085] O pós-processador 326 do dispositivo de destino 320 é configurado para pós-processar os dados de imagem decodificada 231, por exemplo, a imagem decodificada 231, para obter dados de imagem pós-processados 327, por exemplo, uma imagem pós-processada 327. O pós-processamento realizado pela unidade de pós-processamento 326 pode compreender, por exemplo, conversão de formato de cor (por exemplo, de YCbCr para RGB), correção de cor, recorte ou reamostragem, ou qualquer outro processamento, por exemplo, para preparar os dados de imagem decodificadas 231 para exibição, por exemplo, pelo dispositivo de exibição 328.
[00086] O dispositivo de exibição 328 do dispositivo de destino 320 está configurado para receber os dados de imagem pós-processados 327 para exibir a imagem, por exemplo, para um usuário ou visualizador. O dispositivo de exibição 328 pode ser ou compreender qualquer tipo de tela para representar a imagem reconstruída, por exemplo, uma tela ou monitor integrada(o) ou externa(o). As telas podem, por exemplo, compreender tubos de raios catódicos (CRT), telas de cristal líquido (LCD), telas de plasma, telas de diodos emissores de luz orgânicos (OLED) ou qualquer outro tipo de tela, projetor ou holograma (3D).
[00087] Embora a Fig. 3 represente o dispositivo de origem 310 e o dispositivo de destino 320 como dispositivos separados, modalidades de dispositivos também podem compreender ambas ou ambas as funcionalidades, o dispositivo de origem 310 ou funcionalidade correspondente e o dispositivo de destino 320 ou funcionalidade correspondente. Em tais modalidades, o dispositivo de origem 310 ou funcionalidade correspondente e o dispositivo de destino 320 ou funcionalidade correspondente podem ser implementados usando o mesmo hardware e/ou software ou por hardware e/ou software separado ou qualquer combinação dos mesmos.
[00088] Como será evidente para o técnico no assunto com base na descrição, a existência e a divisão (exata) de funcionalidades das diferentes unidades ou funcionalidades dentro do dispositivo de origem 310 e/ou dispositivo de destino 320, como mostrado na Fig. 3, pode variar dependendo do dispositivo e aplicação reais.
[00089] Portanto, o dispositivo de origem 310 e o dispositivo de destino 320, conforme mostrados na Fig. 3, são apenas modalidades exemplares da invenção e as modalidades da invenção não estão limitadas àquelas mostradas na Fig. 3.
[00090] O dispositivo de origem 310 e o dispositivo de destino 320 podem compreender qualquer um de uma ampla gama de dispositivos, incluindo qualquer tipo de dispositivos portáteis ou fixos, por exemplo, notebooks ou laptops, telefones celulares, smartphones, tablets ou computadores tablets, câmeras, computadores desktop, set-top boxes, televisores, dispositivos de exibição, reprodutores de mídia digital, consoles de videogame, dispositivos de streaming de vídeo, dispositivo de receptor de difusão, ou semelhantes, e podem usar nenhum ou qualquer tipo de sistema operacional.
CODIFICADOR E MÉTODO DE CODIFICAÇÃO
[00091] A Fig. 1 mostra um diagrama de blocos esquemático/conceitual de uma modalidade de um codificador 100, por exemplo, um codificador de imagem 100, que compreende uma entrada 102, uma unidade de cálculo residual 104, uma unidade de transformação 106, uma unidade de quantização 108, uma quantização inversa unidade 110, e unidade de transformação inversa 112, uma unidade de reconstrução 114, um buffer 118, um filtro de loop 120, um buffer de imagem decodificada (DPB) 130, uma unidade de predição 160 (incluindo uma unidade de inter estimativa 142, uma unidade de inter predição 144, uma unidade de intra estimativa 152 e uma unidade de intra predição 154), uma unidade de seleção de modo 162, uma unidade de codificação por entropia 170 e uma saída 172. Um codificador de vídeo 100, como mostrado na Fig.1, também pode ser referido como codificador de vídeo híbrido ou um codificador de vídeo de acordo com um codec de vídeo híbrido.
[00092] Por exemplo, a unidade de cálculo residual 104, a unidade de transformação 106, a unidade de quantização 108, e a unidade de codificação por entropia 170 formam um percurso de sinal direto do codificador 100, enquanto, por exemplo, a unidade de quantização inversa 110, a unidade de transformação inversa 112, a unidade de reconstrução 114, o buffer 118, o filtro de loop 120, o buffer de imagem decodificada (DPB) 130, a unidade de inter predição 144, e a unidade de intra predição 154 formam um percurso de sinal reverso do codificador, em que o percurso de sinal para trás do codificador corresponde ao percurso de sinal do decodificador (veja o decodificador 200 na Fig. 2).
[00093] O codificador 100 está configurado para receber, por exemplo, pela entrada 102, uma imagem 101 ou um bloco de imagem 103 da imagem 101, por exemplo, imagem de uma sequência de imagens formando um vídeo ou sequência de vídeo. O bloco de imagem 103 também pode ser referido como bloco de imagem atual ou bloco de imagem a ser codificado,
e a imagem 101 como imagem atual ou imagem a ser codificada (em particular na codificação de vídeo para distinguir a imagem atual de outras imagens, por exemplo, imagens anteriormente codificadas e/ou decodificadas da mesma sequência de vídeo, ou seja, a sequência de vídeo que também compreende a imagem atual).
CÁLCULO RESIDUAL
[00094] A unidade de cálculo residual 104 é configurada para calcular um bloco residual 105 com base no bloco de imagem 103 e um bloco de predição 165 (mais detalhes sobre o bloco de predição 165 são fornecidos posteriormente), por exemplo, subtraindo valores de amostra do bloco de predição 165 a partir de valores de amostra do bloco de imagem 103, amostra por amostra (pixel por pixel) para obter o bloco residual 105 no domínio de amostra.
TRANSFORMAÇÃO
[00095] A unidade de transformação 106 é configurada para aplicar uma transformação, por exemplo, uma transformação de frequência espacial ou uma transformação (frequência) espacial linear, por exemplo, uma transformação discreta de cosseno (DCT) ou transformada de seno discreta (DST), nos valores de amostra do resíduo bloco 105 para obter coeficientes transformados 107 em um domínio de transformação. Os coeficientes transformados 107 também podem ser referidos como coeficientes residuais transformados e representam o bloco residual 105 no domínio de transformação.
[00096] A unidade de transformação 106 pode ser configurada para aplicar aproximações inteiras de DCT/DST, como as transformações de núcleo especificadas para
HEVC/H.265. Comparado a uma transformação DCT ortonormal, tais aproximações inteiras são normalmente escaladas por um determinado fator. A fim de preservar a norma do bloco residual que é processado pelas transformações direta e inversa, fatores de escala adicionais são aplicados como parte do processo de transformação. Os fatores de escala são normalmente escolhidos com base em certas restrições, como fatores de escala sendo uma potência de dois para operação de deslocamento, profundidade de bits dos coeficientes transformados, compensação entre precisão e custos de implementação, etc. Fatores de escala específicos são, por exemplo, especificados para a transformação inversa, por exemplo, pela unidade de transformação inversa 212, em um decodificador 200 (e a transformação inversa correspondente, por exemplo, pela unidade de transformação inversa 112 em um codificador 100) e fatores de escala correspondentes para a transformação direta, por exemplo, pela unidade de transformação 106, em um codificador 100 pode ser especificada em conformidade.
QUANTIZAÇÃO
[00097] A unidade de quantização 108 é configurada para quantizar os coeficientes transformados 107 para obter coeficientes quantizados 109, por exemplo, aplicando quantização escalar ou quantização vetorial. Os coeficientes quantizados 109 também podem ser referidos como coeficientes residuais quantizados 109. Por exemplo, para a quantização escalar, diferentes escalas podem ser aplicadas para alcançar uma quantização mais fina ou mais grosseira. Tamanhos de etapa de quantização menores correspondem a quantização mais fina, enquanto tamanhos de etapa de quantização maiores correspondem a quantização mais grosseira.
O tamanho de etapa de quantização aplicável pode ser indicado por um parâmetro de quantização (QP). O parâmetro de quantização pode ser, por exemplo, um índice para um conjunto predefinido de tamanhos de etapas de quantização aplicáveis.
Por exemplo, pequenos parâmetros de quantização podem corresponder a quantização fina (tamanhos de etapas de quantização pequenos) e parâmetros de quantização grandes podem corresponder a quantização grosseira (tamanhos de etapas de quantização grandes) ou vice-versa.
A quantização pode incluir a divisão por um tamanho de etapa de quantização e correspondente a desquantização inversa, por exemplo, por quantização inversa 110, pode incluir multiplicação pelo tamanho de etapa de quantização.
As modalidades de acordo com HEVC podem ser configuradas para usar um parâmetro de quantização para determinar o tamanho de etapa de quantização.
Geralmente, o tamanho de etapa de quantização pode ser calculado com base em um parâmetro de quantização usando uma aproximação de ponto fixo de uma equação incluindo divisão.
Fatores de escala adicionais podem ser introduzidos para quantização e desquantização para restaurar a norma do bloco residual, que pode ser modificada por causa da escala usada na aproximação de ponto fixo da equação para o tamanho de etapa de quantização e parâmetro de quantização.
Em uma implementação de exemplo, o dimensionamento da transformação inversa e a desquantização podem ser combinados.
Alternativamente, tabelas de quantização personalizadas podem ser usadas e sinalizadas de um codificador para um decodificador, por exemplo, em um fluxo de bits.
A quantização é uma operação com perdas, em que a perda aumenta com o aumento dos tamanhos de etapas de quantização.
[00098] As modalidades do codificador 100 (ou respectivamente da unidade de quantização 108) podem ser configuradas para emitir o esquema de quantização e o tamanho de etapa de quantização, por exemplo, por meio do parâmetro de quantização correspondente, de modo que um decodificador 200 possa receber e aplicar a quantização inversa correspondente. As modalidades do codificador 100 (ou unidade de quantização 108) podem ser configuradas para emitir o esquema de quantização e o tamanho de etapa de quantização, por exemplo, codificada diretamente ou por entropia através da unidade de codificação por entropia 170 ou qualquer outra unidade de codificação por entropia.
[00099] A unidade de quantização inversa 110 é configurada para aplicar a quantização inversa da unidade de quantização 108 nos coeficientes quantizados para obter coeficientes desquantizados 111, por exemplo, aplicando o inverso do esquema de quantização aplicado pela unidade de quantização 108 com base em ou usando o mesmo tamanho de etapa de quantização como a unidade de quantização 108. Os coeficientes desquantizados 111 também podem ser referidos como coeficientes residuais desquantizados 111 e correspondem - embora normalmente não sejam idênticos aos coeficientes transformados devido à perda por quantização - aos coeficientes de transformados 108.
[000100] A unidade de transformação inversa 112 é configurada para aplicar a transformação inversa da transformação aplicada pela unidade de transformação 106, por exemplo, uma transformação de cosseno discreta inversa
(DCT) ou transformada de seno discreta inversa (DST), para obter um bloco transformado inverso 113 no domínio de amostra. O bloco transformado inverso 113 também pode ser referido como bloco desquantizado transformado inverso 113 ou bloco residual transformado inverso 113.
[000101] A unidade de reconstrução 114 é configurada para combinar o bloco transformado inverso 113 e o bloco de predição 165 para obter um bloco reconstruído 115 no domínio de amostra, por exemplo, adicionando em forma de amostra os valores de amostra do bloco residual decodificado 113 e os valores de amostra do bloco de predição 165.
[000102] A unidade de buffer 116 (ou "buffer" curto 116), por exemplo, um buffer de linha 116, é configurado para buffer ou armazenar o bloco reconstruído e os respectivos valores de amostra, por exemplo, para intra estimativa e/ou intra predição. Em outras modalidades, o codificador pode ser configurado para usar blocos reconstruídos não filtrados e/ou os respectivos valores de amostra armazenados na unidade de buffer 116 para qualquer tipo de estimativa e/ou predição.
[000103] A unidade de filtro de loop 120 (ou "filtro de loop" curto 120) é configurada para filtrar o bloco reconstruído 115 para obter um bloco filtrado 121, por exemplo, aplicando um filtro de deslocamento adaptativo de amostra de desbloqueio (SAO) ou outros filtros, por exemplo, filtros de nitidez ou suavização ou filtros colaborativos. O bloco filtrado 121 também pode ser referido como bloco reconstruído filtrado 121.
[000104] As modalidades da unidade de filtro de loop 120 podem compreender (não mostrada na Fig. 1) uma unidade de análise de filtro e a unidade de filtro real, em que a unidade de análise de filtro é configurada para determinar parâmetros de filtro de loop para o filtro real. A unidade de análise de filtro pode ser configurada para aplicar parâmetros de filtro pré-determinados fixos ao filtro de loop real, selecionar adaptativamente parâmetros de filtro de um conjunto de parâmetros de filtro predeterminados, ou calcular adaptativamente parâmetros de filtro para o filtro de loop real.
[000105] As modalidades da unidade de filtro de loop 120 podem compreender (não mostrado na Fig. 1) um ou uma pluralidade de filtros (componentes/subfiltros de filtro de loop), por exemplo, um ou mais de diferentes tipos ou tipos de filtros, por exemplo, conectados em série ou em paralelo ou em qualquer combinação dos mesmos, em que cada um dos filtros pode compreender individualmente ou em conjunto com outros filtros da pluralidade de filtros uma unidade de análise de filtro para determinar os respectivos parâmetros de filtro de loop, por exemplo, conforme descrito no parágrafo anterior.
[000106] As modalidades do codificador 100 (respectivamente unidade de filtro de loop 120) podem ser configuradas para emitir os parâmetros de filtro de loop, por exemplo, diretamente ou entropia codificado por meio da unidade de codificação por entropia 170 ou qualquer outra unidade de codificação por entropia, de modo que, por exemplo, um decodificador 200 pode receba e aplique os mesmos parâmetros de filtro de loop para decodificação.
[000107] O buffer de imagem decodificada (DPB) 130 é configurado para receber e armazenar o bloco filtrado 121.
O buffer de imagem decodificada 130 pode ser ainda configurado para armazenar outros blocos previamente filtrados, por exemplo, blocos previamente reconstruídos e filtrados 121, da mesma imagem atual ou de imagens diferentes, por exemplo, imagens previamente reconstruídas, e pode fornecer imagens previamente reconstruídas completas, isto é, decodificadas, imagens (e blocos de referência e amostras correspondentes) e/ou uma imagem atual parcialmente reconstruída (e blocos e amostras de referência correspondentes), por exemplo, para inter estimativa e/ou inter predição.
[000108] Outras modalidades da invenção também podem ser configuradas para usar os blocos previamente filtrados e os valores de amostra filtrada correspondentes do buffer de imagem decodificada 130 para qualquer tipo de estimativa ou predição, por exemplo, intra e inter estimativa e predição.
ESTIMATIVA E PREDIÇÃO DE MOVIMENTO
[000109] A unidade de predição 160, também referida como unidade de predição de bloco 160, é configurada para receber ou obter o bloco de imagem 103 (bloco de imagem atual 103 da imagem atual 101) e decodificar ou pelo menos dados de imagem reconstruídos, por exemplo, amostras de referência da mesma imagem (atual) do buffer 116 e/ou dados de imagem decodificada 231 de um ou uma pluralidade de imagens previamente decodificadas do buffer de imagem decodificada 130, e para processar tais dados para predição, ou seja, para fornecer um bloco de predição 165, que pode ser um bloco inter predito 145 ou um bloco intra predito 155.
[000110] A unidade de seleção de modo 162 pode ser configurada para selecionar um modo de predição (por exemplo, um modo de intra ou inter predição) e/ou um bloco de predição correspondente 145 ou 155 a ser usado como bloco de predição 165 para o cálculo do bloco residual 105 e para a reconstrução do bloco reconstruído 115.
[000111] As modalidades da unidade de seleção de modo 162 podem ser configuradas para selecionar o modo de predição (por exemplo, daqueles suportados pela unidade de predição 160), que fornece a melhor combinação ou em outras palavras o residual mínimo (residual mínimo significa melhor compressão para transmissão ou armazenamento), ou uma sobrecarga mínima de sinalização (sobrecarga mínima de sinalização significa melhor compressão para transmissão ou armazenamento), ou que considera ou equilibra ambos. A unidade de seleção de modo 162 pode ser configurada para determinar o modo de predição com base na otimização de distorção de taxa (RDO), ou seja, selecionar o modo de predição que fornece uma otimização de distorção de taxa mínima ou cuja distorção de taxa associada pelo menos atende um critério de seleção de modo de predição.
[000112] A seguir, o processamento de predição (por exemplo, unidade de predição 160) e seleção de modo (por exemplo, por unidade de seleção de modo 162) realizados por um codificador de exemplo 100 serão explicados em mais detalhes.
[000113] Conforme descrito acima, o codificador 100 é configurado para determinar ou selecionar o melhor ou um modo de predição ideal a partir de um conjunto de modos de predição (pré-determinados). O conjunto de modos de predição pode compreender, por exemplo, modos de intra predição e/ou modos de inter predição.
[000114] O conjunto de modos de intra predição pode compreender 32 modos de intra predição diferentes, por exemplo, modos não direcionais como modo DC (ou médio) e modo planar, ou modos direcionais, por exemplo, conforme definido em H.264, ou pode compreender 65 diferentes modos de intra predição, por exemplo, modos não direcionais como modo DC (ou médio) e modo planar, ou modos direcionais, por exemplo, conforme definido em H.265.
[000115] O conjunto de (ou possíveis) modos de inter predição depende das imagens de referência disponíveis (ou seja, imagens anteriores pelo menos parcialmente decodificadas, por exemplo, armazenadas em DBP 230) e outros parâmetros de inter predição, por exemplo, se a imagem de referência inteira ou apenas uma parte, por exemplo, uma área de janela de pesquisa em torno da área do bloco atual, da imagem de referência é usada para pesquisar o melhor bloco de referência correspondente, e/ou por exemplo, se a interpolação de pixel é aplicada, por exemplo, interpolação de meio/semi-pel e/ou de quarto-de-pel, ou não.
[000116] Além dos modos de predição acima, o modo de salto e/ou o modo direto podem ser aplicados.
[000117] A unidade de predição 160 pode ser ainda configurada para particionar o bloco 103 em partições de bloco menores ou sub-blocos, por exemplo, iterativamente usando particionamento de árvore quaternária (QT), particionamento binário (BT) ou particionamento de árvore tripla (TT) ou qualquer combinação dos mesmos, e para realizar, por exemplo, a predição para cada uma das partições de bloco ou sub-blocos, em que a seleção de modo compreende a seleção da estrutura de árvore do bloco particionado 103 e o os modos de predição aplicados a cada uma das partições de bloco ou sub-blocos.
[000118] A unidade de inter estimativa 142, também referida como unidade de estimativa inter imagens 142, é configurada para receber ou obter o bloco de imagem 103 (bloco de imagem atual 103 da imagem atual 101) e uma imagem decodificada 231, ou pelo menos um ou uma pluralidade de blocos reconstruídos anteriormente, por exemplo, blocos reconstruídos de uma ou uma pluralidade de outras/diferentes imagens previamente decodificadas 231, para inter estimativa (ou "estimativa inter imagens"). Por exemplo, uma sequência de vídeo pode compreender a imagem atual e as imagens previamente decodificadas 231, ou em outras palavras, a imagem atual e as imagens previamente decodificadas 231 podem fazer parte de ou formar uma sequência de imagens formando uma sequência de vídeo.
[000119] O codificador 100 pode, por exemplo, ser configurado para selecionar um bloco de referência a partir de uma pluralidade de blocos de referência das mesmas ou diferentes imagens da pluralidade de outras imagens e fornecer uma imagem de referência (ou índice de imagem de referência) e/ou um deslocamento (deslocamento espacial) entre a posição (coordenadas x, y) do bloco de referência e a posição do bloco atual como parâmetros de inter estimativa 143 para a unidade de inter predição 144. Este deslocamento também é chamado de vetor de movimento (MV). A inter estimativa também é conhecida como estimativa de movimento (ME) e a inter predição também predição de movimento (MP).
[000120] A unidade de inter predição 144 é configurada para obter, por exemplo, receber, um parâmetro de inter predição 143 e realizar inter predição com base em ou usando o parâmetro de inter predição 143 para obter um bloco de inter predição 145.
[000121] Embora a Fig. 1 mostre duas unidades distintas (ou etapas) para a inter codificação, ou seja, inter estimativa 142 e inter predição 152, ambas as funcionalidades podem ser realizadas como uma (a inter estimativa tipicamente compreende o cálculo de um/o bloco de inter predição, ou seja, o ou um "tipo de" inter predição 152), por exemplo, testando todos os subconjuntos possíveis ou um subconjunto predeterminado de modos de interpretação possíveis iterativamente, enquanto armazena o melhor modo de inter predição e respectivo bloco de inter predição, e usa o melhor modo de inter predição e respectivo bloco de inter predição como o parâmetro de inter predição 143 (final) e bloco de inter predição 145 sem realizar outra vez a inter predição
144.
[000122] A unidade de intra estimativa 152 é configurada para obter, por exemplo, receber, o bloco de imagem 103 (bloco de imagem atual) e um ou uma pluralidade de blocos previamente reconstruídos, por exemplo, blocos vizinhos reconstruídos, da mesma imagem para intra estimativa. O codificador 100 pode, por exemplo, ser configurado para selecionar um modo de intra predição de uma pluralidade de modos de intra predição e fornecê-lo como parâmetro de intra estimativa 153 para a unidade de intra predição 154.
[000123] As modalidades do codificador 100 podem ser configuradas para selecionar o modo de intra predição com base em um critério de otimização, por exemplo, residual mínimo (por exemplo, o modo de intra predição fornecendo o bloco de predição 155 mais semelhante ao bloco de imagem atual 103) ou distorção de taxa mínima.
[000124] A unidade de intra predição 154 é configurada para determinar com base no parâmetro de intra predição 153, por exemplo, o modo de intra predição selecionado 153, o bloco de intra predição 155.
[000125] Embora a Fig. 1 mostre duas unidades (ou etapas) distintas para a intra codificação, ou seja, intra estimativa 152 e intra predição 154, ambas as funcionalidades podem ser realizadas como uma (a intra estimativa normalmente compreende o cálculo do bloco de intra predição, ou seja, o ou um "tipo de" intra predição 154), por exemplo, testando todos os possíveis ou um subconjunto predeterminado de possíveis modos de intra predição iterativamente enquanto armazena o melhor modo de intra predição e respectivo bloco de intra predição, e usa o atual melhor modo de intra predição e respectivo bloco de intra predição como o parâmetro de intra predição (final) 153 e o bloco de intra predição 155 sem realizar outra vez a intra predição 154.
[000126] A invenção, conforme explicado mais abaixo em relação ao dispositivo 500 (Fig. 5) e método 800 (Fig. 8), de acordo com as modalidades da invenção, pode ser aplicada nesta posição do codificador 100. Ou seja, o dispositivo 500 pode ser ou ser parte do codificador 100, especificamente da unidade de intra predição 154.
[000127] A unidade de codificação por entropia 170 é configurada para aplicar um algoritmo ou esquema de codificação por entropia (por exemplo, um esquema de codificação de comprimento variável (VLC), um esquema de VLC adaptável ao contexto (CALVC), um esquema de codificação aritmética, uma codificação aritmética binária adaptável ao contexto (CABAC) nos coeficientes residuais quantizados 109, parâmetros de inter predição 143, parâmetro de intra predição 153 e/ou parâmetros de filtro de loop, individualmente ou em conjunto (ou não) para obter dados de imagem codificada 171 que podem ser enviados pela saída 172, por exemplo, na forma de um fluxo de bits codificado 171.
[000128] A Fig. 2 mostra um decodificador de vídeo exemplar 200 configurado para receber dados de imagem codificada (por exemplo, fluxo de bits codificado) 171, por exemplo, codificado pelo codificador 100, para obter uma imagem decodificada 231.
[000129] O decodificador 200 compreende uma entrada 202, uma unidade de decodificação por entropia 204, uma unidade de quantização inversa 210, uma unidade de transformação inversa 212, uma unidade de reconstrução 214, um buffer 216, um filtro de loop 220, um buffer de imagem decodificada 230, uma unidade de predição 260 (incluindo uma unidade de inter predição 244 e uma unidade de intra predição 254), uma unidade de seleção de modo 260 e uma saída 232.
[000130] A unidade de decodificação por entropia 204 é configurada para realizar a decodificação por entropia para os dados de imagem codificada 171 para obter, por exemplo, coeficientes quantizados 209 e/ou parâmetros de codificação decodificados (não mostrados na Fig. 2), por exemplo, (decodificado) qualquer ou todos de parâmetros de inter predição 143, parâmetro de intra predição 153 e/ou parâmetros de filtro de loop.
[000131] Em modalidades do decodificador 200, a unidade de quantização inversa 210, a unidade de transformação inversa 212, a unidade de reconstrução 214, o buffer 216, o filtro de loop 220, o buffer de imagem decodificada 230, a unidade de predição 260 e a unidade de seleção de modo 260 são configurados para realizar o processamento inverso do codificador 100 (e as respectivas unidades funcionais) para decodificar os dados de imagem codificada 171.
[000132] Em particular, a unidade de quantização inversa 210 pode ser idêntica em função à unidade de quantização inversa 110, a unidade de transformação inversa 212 pode ser idêntica em função à unidade de transformação inversa 112, a unidade de reconstrução 214 pode ser idêntica em função de unidade de reconstrução 114, o buffer 216 pode ser idêntico em função ao buffer 116, o filtro de loop 220 pode ser idêntico em função ao filtro de loop 120 (no que diz respeito ao filtro de loop real, visto que o filtro de loop 220 tipicamente não compreende uma unidade de análise de filtro para determinar os parâmetros de filtro com base na imagem original 101 ou bloco 103, mas recebe (explicitamente ou implicitamente) ou obtém os parâmetros de filtro usados para codificação, por exemplo, da unidade de decodificação por entropia 204), e o buffer de imagem decodificada 230 pode ser idêntico em função ao buffer de imagem decodificada 130.
[000133] A unidade de predição 260 pode compreender uma unidade de inter predição 244 e uma unidade de intra predição 254, em que a unidade de inter predição 144 pode ser idêntica em função à unidade de inter predição 244, e a unidade de intra predição 154 pode ser idêntica em função da unidade de intra predição 254. A unidade de predição 260 e a unidade de seleção de modo 262 são normalmente configuradas para realizar a predição de bloco e/ou obter o bloco predito 265 a partir dos dados codificados 171 apenas (sem qualquer informação adicional sobre a imagem original 101) e para receber ou obter (explicitamente ou implicitamente) os parâmetros de predição 143 ou 153 e/ou as informações sobre o modo de predição selecionado, por exemplo, a partir da unidade de decodificação por entropia 204.
[000134] A invenção, conforme explicado mais abaixo em relação ao dispositivo 500 (vide Fig. 5) e método 800 (vide Fig. 8), de acordo com as modalidades da invenção, pode ser aplicada nesta posição do decodificador 200. Ou seja, o dispositivo 500 pode ser ou ser parte do decodificador 200, especificamente a unidade de intra predição 154.
[000135] O decodificador 200 é configurado para emitir a imagem decodificada 230, por exemplo, através da saída 232, para apresentação ou visualização a um usuário.
[000136] Com referência às Fig. 15 e 16, a Fig. 4 ilustra mais especificamente em (a) a fonte de descontinuidades que podem ser removidas pelas modalidades da invenção. Em particular, a razão para essas descontinuidades é que duas amostras de predição verticalmente adjacentes 401 em um bloco de predição 400 (por exemplo, PU ou TU) podem ser previstas a partir de amostras de referência 403 que não são adjacentes uma à outra devido a um ângulo de intra predição agudo, que é uma falha de interpolação. Embora esta falha possa ser parcialmente reduzida pela aplicação de um filtro de suavização de amostras de referência ou um filtro de intra interpolação com um comprimento N , um comprimento fixo pode não ser grande o suficiente no caso de um ângulo de intra predição significativamente inferior a 45º. O processo de filtragem pode reduzir os efeitos de descontinuidade convoluindo as amostras de referência 403 mostradas na Fig. 4 durante o processo de filtragem. No entanto, descontinuidades ainda podem ocorrer, se as amostras de referência 403 selecionadas para as amostras de predição verticalmente adjacentes 401 estiverem muito distantes umas das outras. Um exemplo de tais descontinuidades, que podem ser observadas visualmente, por exemplo, para o caso de referência sintetizada (a linha superior), é mostrado em (b).
[000137] A Fig. 5 mostra esquematicamente um dispositivo 500 de acordo com qualquer uma modalidade da invenção, que está configurado para intra predizer um bloco de predição 400 de uma imagem de vídeo de uma maneira melhorada, ou seja, é capaz de eliminar a fonte descrita acima das descontinuidades mostradas na Fig. 4. O dispositivo 500 pode ser ou ser parte do codificador 100 ou decodificador 200 mostrado na Fig. 1 ou Fig. 2, respectivamente, especificamente as unidades de intra predição 154 ou 254.
[000138] O dispositivo 500 está configurado para realizar várias funções, por exemplo, implementadas por meio de um processador ou outro tipo de circuito de processamento. Especificamente, o dispositivo 500 é configurado para selecionar um modo de intra predição direcional 501a a partir de um conjunto de modos de intra predição direcional 501, em que cada modo de intra predição direcional 501 corresponde a um ângulo de intra predição diferente. Esses modos de intra predição direcional 501 podem incluir os modos de intra predição direcional/angular mostrados na Fig. 9 (e conforme definido no padrão) e podem incluir modos de intra predição direcional estendidos, correspondendo a outros ângulos de intra predição, como mostrado, por exemplo, na Fig. 14. Em particular, para blocos de predição retangulares 400, os modos de intra predição direcional 501 podem incluir modos que se relacionam a ângulos de intra predição agudos (ângulos menores que 45º). O ângulo de intra predição se baseia na direção de intra predição de uma amostra de predição 401 a partir de uma amostra de referência 403. Por exemplo, o ângulo é definido entre esta direção de intra predição e uma borda superior (borda horizontal) do bloco de predição 400.
[000139] Além disso, o dispositivo 500 está configurado para selecionar um filtro 402a de um conjunto de filtros 402 com base no modo de intra predição direcional selecionado 501a. Em particular, o dispositivo 500 pode ser configurado para determinar um comprimento de filtro com base no modo de intra predição direcional selecionado 401a, e selecionar como filtro 402a um filtro 402 do conjunto tendo pelo menos o comprimento de filtro determinado.
[000140] O dispositivo 500 é ainda configurado para determinar, para uma dada amostra de predição 401 do bloco de predição 400, uma amostra de referência 403a de um conjunto de amostras de referência 403 com base no modo de intra predição direcional selecionado 501a, e aplicar o filtro selecionado 402a para a amostra de referência determinada 403a. O dispositivo 500 pode ser configurado particularmente para prosseguir desta forma para cada amostra de predição 401 do bloco de predição 400. Ou seja,
para cada amostra de predição 401, o dispositivo 500 pode determinar uma amostra de referência 403a a partir das amostras de referência 403, e pode aplicar o filtro selecionado 402a a cada amostra de referência 403. Desta forma, o dispositivo 500 é capaz de realizar intra predição de todo o bloco de predição 400.
[000141] Um conjunto de filtros exemplar, a partir do qual o dispositivo 500 é configurado para selecionar o filtro 402, é mostrado na tabela abaixo. O conjunto de filtros inclui particularmente diferentes filtros 402. Por exemplo, o conjunto de filtros 402 pode incluir filtros 402 com diferentes comprimentos de filtro N , particularmente tendo comprimentos de filtro N que abrangem 1, 3 ou 5 amostras de referência adjacentes 403. Além disso, cada filtro 402 no conjunto de filtros 402 pode realizar uma suavização diferente sobre a amostra de referência determinada 403a e uma ou mais amostras de referência adjacentes 403, quando é aplicado à amostra de referência determinada 403a. Esta suavização pode ser expressa como na tabela por diferentes coeficientes, em que os números dos coeficientes indicam a ponderação relativa da amostra de referência determinada 403a para as outras amostras de referência adjacentes (número do meio para determinada amostra de referência 403a para respectivamente 0, 2 ou 4 outros números para amostras de referência adjacentes 403). Índice 0 1 2 3 Coeficientes [1] [1, 2, 1] [2, 3, 6, 3, 2] [1,4, 6, 4, 1] Comprimento 1 3 5 5 de filtro N
[000142] A FIG. 6 mostra um fluxograma exemplar de um mecanismo de seleção de filtro de amostra de referência 600, que o dispositivo 500 pode ser configurado para realizar. O dispositivo 500 é particularmente capaz de selecionar o filtro de amostra de referência 402a dependendo do ângulo de intra predição. É assumido para o mecanismo 600 que o conjunto de filtros (aqui denotado F) é classificado pelo comprimento de filtro N em ordem ascendente.
[000143] No bloco 601, o dispositivo 500 é configurado para derivar como entrada para o mecanismo de seleção 600, o ângulo de intra predição ∝. O dispositivo 500 pode ser configurado para determinar o ângulo de intra predição correspondente ao modo de intra predição direcional selecionado 501.
[000144] No bloco 602, o dispositivo 500 é então configurado para derivar uma distância ∆p∝ (ver, por exemplo, a Fig. 4) entre a amostra de referência determinada 403a e uma amostra de referência adicional 403b, que pode ser especificada para uma amostra de predição adicional 401 do bloco de predição 400 do conjunto de amostras de referência 403 com base no modo de intra predição de direcional selecionado 501a.
[000145] No bloco 603, o índice de filtro é inicializado para i = 0. No bloco 604, um filtro 402 com o índice atual i é obtido do conjunto de filtros. Por exemplo, a tabela acima mostra que os filtros 402 podem ser indexados a partir de i = 0 − 3.
[000146] No bloco 605, o dispositivo 500 é configurado para determinar se o comprimento N do filtro 402 retirado do conjunto é menor do que a distância ∆p∝ . Caso contrário, o mecanismo de seleção 600 está completo, e o filtro atualmente obtido 402 é selecionado como o filtro 402a a ser aplicado à amostra de referência determinada 403a.
[000147] Caso contrário, o dispositivo 500 é configurado para verificar no bloco 606, se o índice de filtro atual i é menor do que k, em que k pode ser o índice de filtro mais alto possível e/ou indicar o número de filtros 402 no conjunto de filtros. Caso contrário, o mecanismo de seleção 600 está completo e o filtro atualmente tomado 402, que neste caso corresponde ao filtro 402 com o maior comprimento de filtro N assumindo que o conjunto é classificado pelo comprimento de filtro, é selecionado como o filtro 402a a ser aplicado à amostra de referência determinada 403a. Caso contrário, o índice de filtro é aumentado em 1 no bloco 607, e o mecanismo de seleção prossegue com o bloco 604 (isto é, o próximo filtro 402 no conjunto é usado).
[000148] Como mostrado na Fig. 7, o dispositivo 500 também pode ser configurado para realizar o pré- processamento de amostras de referência 403. Em particular, o dispositivo 500 pode ser configurado para gerar uma amostra de referência transposta 700a a partir da amostra de referência determinada 403a, ou seja, interpolando a amostra de referência determinada 403a com base no modo de intra predição selecionado 501a. Então, o dispositivo 500 pode ser configurado para realizar a intra predição da amostra de predição dada 401 a partir da amostra de referência transposta 700a, em vez de diretamente da amostra de referência determinada 403a.
[000149] Uma primeira etapa do pré-processamento é mostrada exemplarmente em (a) da Fig. 7, e pode consistir no cálculo de um conjunto de amostras de referência transpostas 700 (denotada R) de uma determinada linha superior de amostras de referência 403 (denotada R). Uma entrada para esta etapa pode ser um conjunto de amostras de referência 403 localizadas no lado superior e superior direito do bloco 400 a ser predito. Estas amostras de referência 403 podem ser filtradas conforme descrito acima, dependendo do ângulo de intra predição. Ou seja, o dispositivo 500 pode ser configurado para selecionar o filtro 402a como descrito acima e, em seguida, aplicar o filtro selecionado 402a à amostra de referência determinada 403a antes ou durante a geração da amostra de referência transposta 700a.
[000150] A primeira etapa é particularmente realizada por meio de interpolação realizada para duas partes do R. Uma parte do conjunto denotada R está localizada no lado esquerdo do pixel superior direito do bloco P . A amostra de referência 403 na posição P não é alterada durante esta primeira etapa, ou seja, R(P ) = R(P ). Outra parte denotada R está localizada ao lado direito de P . Para ambas as partes, a interpolação é realizada usando o mesmo mecanismo usado para prever amostras dentro de um bloco 400 a ser predito (denotado B) um ângulo de predição ∝ usado para essas duas partes é o mesmo, mas a direção de predição é oposta.
[000151] Uma segunda etapa do pré-processamento é mostrada em (b) da Fig. 7 e é realiza a intra predição das amostras de predição 401 do bloco 400 a serem previstas, ou seja, realizando interpolação de intra predição a partir do conjunto de amostras de referência transpostas 700 calculado na primeira etapa mostrada em (a). Se a direção de intra predição não usar a linha superior, ou seja, o ângulo da direção de intra predição ∝ for maior que 180 graus, um bloco e as amostras de referência correspondentes são transpostos (os índices de linha tornam-se índices de coluna e vice- versa), e a intra predição é realizada conforme descrito acima. O resultado final, neste caso, é obtido pela transposição de volta do bloco predito calculado.
[000152] A Fig. 8 mostra um método 800 de acordo com qualquer uma modalidade da invenção. O método 800 é para intra predição de um bloco de predição 400 de uma imagem de vídeo e pode ser realizado pelo dispositivo 500 mostrado na Fig. 5. Em particular, o método 800 compreende uma etapa 801 de selecionar um modo de intra predição direcional 501a a partir de um conjunto de modos de intra predição direcional 501, em que cada modo de intra predição direcional 501 corresponde a um ângulo de intra predição diferente. Além disso, o método 800 compreende uma etapa 802 de selecionar um filtro 402a de um conjunto de filtros 402 com base no modo de intra predição direcional selecionado 501a. Então, o método 800 compreende uma etapa 803 de determinar, para uma amostra de predição dada 401 do bloco de predição 400, uma amostra de referência 403a de um conjunto de amostras de referência 403 com base no modo de intra predição direcional selecionado 501a, e uma etapa 804 de aplicar o filtro selecionado 402a à amostra de referência determinada 403a.
[000153] Observe que esta especificação fornece explicações para imagens (quadros), mas os campos substituem como imagens no caso de um sinal de imagem entrelaçado.
[000154] Embora as modalidades da invenção tenham sido descritas principalmente com base na codificação de vídeo,
deve-se notar que as modalidades do codificador 100 e decodificador 200 (e correspondentemente o sistema 300) podem também ser configuradas para processamento ou codificação de imagem, isto é, o processamento ou codificação de uma imagem individual independente de qualquer imagem precedente ou consecutiva como na codificação de vídeo. Em geral, apenas a inter estimativa 142, a inter predição 144, 242 não estão disponíveis no caso de a codificação de processamento de imagem ser limitada a uma única imagem 101. A maioria, senão todas as outras funcionalidades (também chamadas de ferramentas ou tecnologias) do codificador de vídeo 100 e do decodificador de vídeo 200 podem igualmente ser usadas para imagens estáticas, por exemplo, particionamento, transformação (dimensionamento) 106, quantização 108, quantização inversa 110, transformação inversa 112, intra estimativa 142, intra predição 154, 254 e/ou filtragem de loop 120, 220 e codificação por entropia 170 e decodificação por entropia 204.
[000155] O técnico no assunto entenderá que os "blocos" ("unidades") das várias figuras (método e aparelho) representam ou descrevem funcionalidades de modalidades da invenção (em vez de necessariamente "unidades" individuais em hardware ou software) e assim, descrevem igualmente funções ou características de modalidades de aparelho, bem como modalidades de método (unidade = etapa).
[000156] A terminologia de "unidades" é usada apenas para fins ilustrativos da funcionalidade de modalidades do codificador/decodificador e não se destina a limitar a divulgação.
[000157] Nas várias modalidades fornecidas no presente pedido, deve ser entendido que o sistema, aparelho e método divulgados podem ser implementados de outras maneiras. Por exemplo, a modalidade de aparelho descrita é meramente exemplar. Por exemplo, a divisão de unidade é meramente uma divisão de função lógica e pode ser outra divisão em implementações reais. Por exemplo, uma pluralidade de unidades ou componentes pode ser combinada ou integrada em outro sistema, ou alguns recursos podem ser ignorados ou não realizados. Além disso, os acoplamentos mútuos exibidos ou discutidos acoplamentos diretos ou conexões de comunicação podem ser implementados usando algumas interfaces. Os acoplamentos indiretos ou conexões de comunicação entre os aparelhos ou unidades podem ser implementados em formas eletrônicas, mecânicas ou outras.
[000158] As unidades descritas como partes separadas podem ou não estar fisicamente separadas, e as partes exibidas como unidades podem ou não ser unidades físicas, podem estar localizadas em uma posição, ou podem ser distribuídas em uma pluralidade de unidades de rede. Algumas ou todas as unidades podem ser selecionadas de acordo com as necessidades reais para atingir os objetivos das soluções das modalidades.
[000159] Além disso, as unidades funcionais nas modalidades da presente invenção podem ser integradas em uma unidade de processamento, ou cada uma das unidades pode existir sozinha fisicamente, ou duas ou mais unidades são integradas em uma unidade.
[000160] As modalidades da invenção podem compreender ainda um aparelho, por exemplo, codificador e/ou decodificador, que compreende um circuito de processamento configurado para realizar qualquer um dos métodos e/ou processos descritos neste documento.
[000161] As modalidades do codificador 100 e/ou decodificador 200 podem ser implementadas como hardware, firmware, software ou qualquer combinação dos mesmos. Por exemplo, a funcionalidade do codificador/codificação ou decodificador/decodificação pode ser realizada por um circuito de processamento com ou sem firmware ou software, por exemplo, um processador, um microcontrolador, um processador de sinal digital (DSP), um arranjo de portas programáveis em campo (FPGA), um circuito integrado de aplicação específica (ASIC) ou semelhante.
[000162] A funcionalidade do codificador 100 (e correspondente método de codificação 100) e/ou decodificador 200 (e correspondente método de decodificação 200) pode ser implementada por instruções de programa armazenadas em um meio legível por computador. As instruções do programa, quando executadas, fazem com que um circuito de processamento, computador, processador ou semelhante, realize as etapas dos métodos de codificação e/ou decodificação. O meio legível por computador pode ser qualquer meio, incluindo mídia de armazenamento não transitória, na qual o programa é armazenado, como um disco Blu-ray, DVD, CD, unidade USB (flash), disco rígido, armazenamento de servidor disponível através de uma rede, etc.
[000163] Uma modalidade da invenção compreende ou é um programa de computador que compreende código de programa para realizar qualquer um dos métodos descritos neste documento, quando executado em um computador.
[000164] Uma modalidade da invenção compreende ou é um meio legível por computador que compreende um código de programa que, quando executado por um processador, faz com que um sistema de computador realize qualquer um dos métodos descritos neste documento.
LISTA DE SINAIS DE REFERÊNCIA Fig. 1 100 Codificador 103 Bloco de imagem 102 Entrada (por exemplo, porta de entrada, interface de entrada) 104 Cálculo residual [unidade ou etapa] 105 Bloco residual 106 Transformação (por exemplo, adicionalmente compreendendo dimensionamento) [unidade ou etapa] 107 Coeficientes transformados 108 Quantização [unidade ou etapa] 109 Coeficientes quantizados 110 Quantização inversa [unidade ou etapa] 111 Coeficientes de-quantizados 112 Transformação inversa (por exemplo, adicionalmente compreendendo escala) [unidade ou etapa] 113 Bloco transformado inverso 114 Reconstrução [unidade ou etapa] 115 Bloco reconstruído 116 Buffer (Linha) [unidade ou etapa] 117 Amostras de referência 120 Filtro de loop [unidade ou etapa] 121 Bloco filtrado 130 Buffer de imagem decodificada (DPB) [unidade ou etapa] 142 Inter estimativa (ou estimativa inter imagens) [unidade ou etapa] 143 Parâmetros de inter estimativa (por exemplo, imagem de referência/índice de imagem de referência, vetor de movimento/deslocamento) 144 Inter predição (ou predição entre imagens) [unidade ou etapa] 145 Bloco de inter predição 152 Intra estimativa (ou estimativa intra imagem) [unidade ou etapa] 153 Parâmetros de intra predição (por exemplo, modo de intra predição) 154 Intra predição (predição intra quadro/imagem) [unidade ou etapa] 155 Bloco de intra predição 162 Seleção de modo [unidade ou etapa] 165 Bloco de predição (seja bloco inter predição 145 ou bloco de intra predição 155) 170 Codificação por entropia [unidade ou etapa] 171 Dados de imagem codificada (por exemplo, fluxo de bits) 172 Saída (porta de saída, interface de saída) 231 Imagem decodificada Fig. 2 200 Decodificador 171 Dados de imagem codificada (por exemplo, fluxo de bits) 202 Entrada (porta/interface) 204 Decodificação por Entropia
209 Coeficientes quantizados 210 Quantização inversa 211 Coeficientes de-quantizados 212 Transformação inversa (escala) 213 Bloco transformado inverso 214 Reconstrução (unidade) 215 Bloco reconstruído 216 Buffer (Linha) 217 Amostras de referência 220 Filtro de loop (filtro em loop) 221 Bloco filtrado 230 Buffer de imagem decodificada (DPB) 231 Imagem decodificada 232 Saída (porta/interface) 244 Inter predição (predição inter quadro/imagem) 245 Bloco de inter predição 254 Intra predição (predição intra quadro/imagem) 255 Bloco de intra predição 260 Seleção de modo 265 Bloco de predição (bloco de inter predição 245 ou bloco de intra predição 255) Fig. 3 300 Sistema de codificação 310 Dispositivo de origem 312 Fonte de imagem 313 Dados de imagem (brutos) 314 Unidade de Pré-processador/ pré-processamento 315 Dados de imagem pré-processados 318 Unidade/interface de comunicação 320 Dispositivo de destino
322 Unidade/interface de comunicação 326 Unidade de Pós-processador/ pós-processamento 327 Dados de imagem pós-processados 328 Dispositivo/unidade de exibição 330 Dados de imagem transmitidos/recebidos/comunicados (codificados) Fig. 4 400 Bloco de predição 401 Amostra de predição 402 Filtro 403 Amostra de referência FIG. 5 402 Filtro 402a Filtro selecionado 403 Amostra de referência 403a Amostra de referência determinada 500 Dispositivo 501 Modos de intra predição direcional 501a Modo de intra predição direcional selecionado Fig. 6 600 Mecanismo de seleção de filtro 601-607 Blocos funcionais do mecanismo Fig. 7 400 Bloco de predição 401 Amostras de predição 403 Amostra de referência 403a Amostra de referência determinada 700 Amostras de referência transpostas 700a Amostra de referência transposta Fig. 8
800 Método para intra predizer um bloco de predição 801 Etapa de seleção de um modo de intra predição 802 Etapa de seleção de um filtro 803 Etapa de determinação de uma amostra de referência para uma determinada amostra de predição 804 Etapa de aplicação do filtro selecionado à amostra de referência

Claims (20)

REIVINDICAÇÕES EMENDADAS
1. Dispositivo (500) para intra predição de um bloco de predição (400) de uma imagem de vídeo, o dispositivo (500) caracterizado pelo fato de que é configurado para selecionar um modo de intra predição direcional (501a) a partir de um conjunto de modos de intra predição direcional (501), em que cada modo de intra predição direcional (501) corresponde a um ângulo de intra predição diferente, e o conjunto de modos de intra predição direcional incluem modos de intra predição direcional estendidos, selecionar um filtro (402a) de um conjunto de filtros (402) com base no modo de intra predição direcional selecionado (501a), determinar, para uma amostra de predição dada (401) do bloco de predição (400), uma amostra de referência (403a) a partir de um conjunto de amostras de referência (403) com base no modo de intra predição direcional selecionado (501a), e aplicar o filtro selecionado (402a) à amostra de referência determinada (403a).
2. Dispositivo (500), de acordo com a reivindicação 1, caracterizado pelo fato de que é configurado para determinar um comprimento de filtro com base no modo de intra predição direcional selecionado (401a), e selecionar como o filtro (402a) aquele que tem pelo menos o comprimento de filtro determinado.
3. Dispositivo (500), de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que o conjunto de filtros (402) inclui filtros (402) com diferentes comprimentos de filtro, particularmente com comprimentos de filtro que abrangem 1, 3 ou 5 amostras de referência adjacentes (403).
4. Dispositivo (500), de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que cada filtro (402) no conjunto de filtros (402) realiza uma suavização diferente sobre a amostra de referência determinada (403a) e uma ou mais amostras de referência adjacentes (403), quando aplicado à amostra de referência determinada (403a).
5. Dispositivo (500), de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que é configurado para, determinar o ângulo de intra predição correspondente ao modo de intra predição direcional selecionado (501a), e selecionar o filtro (402a) na dependência do ângulo de intra predição determinado.
6. Dispositivo (500), de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que é configurado para, determinar o ângulo de intra predição correspondente ao modo de intra predição direcional selecionado (501), especificar, para uma amostra de predição adicional (401) do bloco de predição (400), uma amostra de referência adicional (403b) a partir do conjunto de amostras de referência (403) com base no modo de intra predição direcional selecionado (501a), determinar uma distância entre a amostra de referência determinada (403a) e a amostra de referência adicional (403b), e selecionar o filtro (402a) na dependência da distância determinada.
7. Dispositivo (500), de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que é configurado para selecionar o mesmo filtro (402a) para cada modo de intra predição direcional (501a) selecionado a partir de um primeiro subconjunto dos modos de intra predição direcional (501), e selecionar um filtro (402a) para cada modo de intra predição direcional (501a) selecionado a partir de um segundo subconjunto dos modos de intra predição direcional (501).
8. Dispositivo (500), de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo fato de que é ainda configurado para realizar a intra predição da amostra de predição dada (401) diretamente a partir da amostra de referência determinada (403a), em que o dispositivo (400) é configurado para aplicar o filtro selecionado (402a) à amostra de referência determinada (403a) antes ou durante a intra predição da amostra de predição dada (401).
9. Dispositivo (500), de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo fato de que é ainda configurado para gerar uma amostra de referência transposta (700a) interpolando a amostra de referência determinada (403a) com base no modo de intra predição selecionado (501a), e realizar a intra predição da amostra de predição dada (401) a partir da amostra de referência transposta (700a),
em que o dispositivo (500) é configurado para aplicar o filtro selecionado (402a) à amostra de referência determinada (403a) antes ou durante a geração da amostra de referência transposta (700a).
10. Dispositivo (500), de acordo com a reivindicação 9, caracterizado pelo fato de que é configurado para transpor cada amostra de referência (403) no conjunto de amostras de referência (403), em que uma linha de amostras de referência (403) se torna uma coluna de amostras de referência transpostas (700), e uma coluna de amostras de referência (403) se torna uma linha de amostras de referência transpostas (700).
11. Dispositivo (500), de acordo com qualquer uma das reivindicações 1 a 10, caracterizado pelo fato de que as amostras de referência (403) do conjunto de amostras de referência (403) são dispostas em uma linha da imagem de vídeo adjacentemente acima e acima à direita do bloco de predição (400) e/ou são dispostas em uma coluna da imagem de vídeo adjacentemente esquerda e esquerda sob o bloco de previsão (400).
12. Dispositivo (500), de acordo com qualquer uma das reivindicações 1 a 11, caracterizado pelo fato de que o dispositivo (500) é configurado para codificar e/ou decodificar a imagem de vídeo, ou o dispositivo (500) é um codificador de vídeo (100) e/ou decodificador de vídeo (200).
13. Dispositivo (500), de acordo com a reivindicação 2, caracterizado pelo fato de que quando o comprimento de filtro é 1, o coeficiente para o filtro selecionado é [1]; ou quando o comprimento de filtro é 3, os coeficientes para o filtro selecionado são [1, 2, 1].
14. Método (800) para intra predição de um bloco de predição (400) de uma imagem de vídeo, o método (800) caracterizado pelo fato de que compreende: selecionar (801) um modo de intra predição direcional (501a) a partir de um conjunto de modos de intra predição direcional (501), em que cada modo de intra predição direcional (501) corresponde a um ângulo de intra predição diferente, e o conjunto de modos de intra predição direcional incluem modos de intra predição direcional estendidos, selecionar (802) um filtro (402a) de um conjunto de filtros (402) com base no modo de intra predição direcional selecionado (501a), determinar (803), para uma amostra de predição dada (401) do bloco de predição (400), uma amostra de referência (403a) a partir de um conjunto de amostras de referência (403) com base no modo de intra predição direcional selecionado (501), e aplicar (804) o filtro selecionado (402a) à amostra de referência determinada (403a).
15. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que o conjunto de filtros (402) inclui filtros (402) com diferentes comprimentos de filtro, particularmente com comprimentos de filtro que abrangem 1, 3 ou 5 amostras de referência adjacentes (403).
16. Método, de acordo com a reivindicação 15, caracterizado pelo fato de que quando o comprimento de filtro é 1, o coeficiente para o filtro selecionado é [1]; ou quando o comprimento de filtro é 3, os coeficientes para o filtro selecionado são [1, 2, 1].
17. Método (800) para intra predição de um bloco de predição (400) de uma imagem de vídeo, o método (800) caracterizado pelo fato de que compreende: selecionar (801) um modo de intra predição direcional (501a) a partir de um conjunto de modos de intra predição direcional (501), em que cada modo de intra predição direcional (501) corresponde a um ângulo de intra predição diferente, e o conjunto de modos de intra predição direcional incluem modos de intra predição direcional estendidos, determinar (803), para uma amostra de predição dada (401) do bloco de predição (400), uma amostra de referência (403a) a partir de um conjunto de amostras de referência (403) com base no modo de intra predição direcional selecionado (501), e determinar se aplica um filtro (402a) à amostra de referência determinada (403a) com base no modo de intra predição direcional selecionado (501a).
18. Método (800), de acordo com a reivindicação 17, caracterizado pelo fato de que ao determinar a não aplicação do filtro (402a) à amostra de referência determinada (403a), o coeficiente para o filtro (402a) é [1]; ou ao determinar a aplicação de filtro (402a) à amostra de referência determinada (403a), os coeficientes para o filtro (402a) são [1, 2, 1].
19. Método (800), de acordo com a reivindicação 17, caracterizado pelo fato de que os modos de intra predição direcional estendidos incluem modos que se referem a ângulos de intra predição agudos, ou pelo menos um valor dos modos de intra predição direcional estendido é maior do que 66.
20. Método (800), de acordo com a reivindicação 17, caracterizado pelo fato de que determinar se aplica um filtro (402a) à amostra de referência determinada (403a) compreende: determinar um comprimento de filtro com base no modo de intra predição direcional selecionado (401a), e quando o comprimento de filtro é 1, determinar não aplicar o filtro (402a) à amostra de referência determinada (403a); ou quando o comprimento de filtro é 3, determinar aplicar o filtro (402a) à amostra de referência determinada (403a).
BR112020026879-8A 2018-06-29 2018-06-29 Dispositivo e método para intra predição BR112020026879A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2018/000432 WO2020005093A1 (en) 2018-06-29 2018-06-29 Device and method for intra-prediction

Publications (1)

Publication Number Publication Date
BR112020026879A2 true BR112020026879A2 (pt) 2021-04-06

Family

ID=63080454

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020026879-8A BR112020026879A2 (pt) 2018-06-29 2018-06-29 Dispositivo e método para intra predição

Country Status (12)

Country Link
US (2) US11563939B2 (pt)
EP (1) EP3804313A1 (pt)
JP (2) JP7293263B2 (pt)
KR (2) KR20230127354A (pt)
CN (2) CN112262574A (pt)
AU (2) AU2018429284B2 (pt)
BR (1) BR112020026879A2 (pt)
CA (1) CA3104611C (pt)
MX (1) MX2021000168A (pt)
NZ (1) NZ771864A (pt)
SG (1) SG11202012838SA (pt)
WO (1) WO2020005093A1 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102427824B1 (ko) * 2010-12-08 2022-08-02 엘지전자 주식회사 인트라 예측 방법과 이를 이용한 부호화 장치 및 복호화 장치
US20240275959A1 (en) * 2023-02-10 2024-08-15 Tencent America LLC Self-guided intra interpolation filter

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2486731B1 (en) * 2009-10-05 2018-11-07 InterDigital Madison Patent Holdings Methods and apparatus for adaptive filtering of prediction pixels for chroma components in video encoding and decoding
US10142630B2 (en) * 2010-12-10 2018-11-27 Texas Instruments Incorporated Mode adaptive intra prediction smoothing in video coding
CN102857764B (zh) 2011-07-01 2016-03-09 华为技术有限公司 帧内预测模式处理的方法和装置
JP2013110502A (ja) * 2011-11-18 2013-06-06 Sony Corp 画像処理装置及び画像処理方法
JPWO2013125171A1 (ja) * 2012-02-20 2015-07-30 日本電気株式会社 イントラ予測モード判定装置、イントラ予測モード判定方法、及びイントラ予測モード判定プログラム
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
WO2014058207A1 (ko) * 2012-10-08 2014-04-17 엘지전자 주식회사 다시점 비디오 신호의 인코딩 방법, 디코딩 방법 및 이에 대한 장치
WO2015045272A1 (ja) * 2013-09-30 2015-04-02 日本電気株式会社 イントラ予測回路
WO2017035831A1 (en) * 2015-09-06 2017-03-09 Mediatek Inc. Adaptive inter prediction
WO2017043786A1 (ko) * 2015-09-10 2017-03-16 엘지전자 주식회사 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
EP3399663A4 (en) 2016-02-03 2019-01-16 Samsung Electronics Co., Ltd. METHOD AND APPARATUS FOR CONFIGURING A REFERENCE SIGNAL AND FOR GENERATING CHANNEL INFORMATION IN A MOBILE COMMUNICATION SYSTEM
MX2018009722A (es) * 2016-02-12 2019-01-24 Thomson Licensing Un metodo y dispositivo para codificacion/decodificacion intra-predictiva de una unidad de codificacion comprendiendo datos de imagen, tal codificacion intra-predictiva dependiente de un arbol de prediccion y un arbol de transformacion.
EP4030754A1 (en) 2016-05-02 2022-07-20 Industry-University Cooperation Foundation Hanyang University Image encoding/decoding method and computer-readable medium
US11368681B2 (en) * 2016-07-18 2022-06-21 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium in which bitstream is stored
EP3506638A4 (en) 2016-08-26 2020-04-08 Sharp Kabushiki Kaisha IMAGE DECRYLING DEVICE, IMAGE ENCRYPTION DEVICE, IMAGE DECRYLING METHOD AND IMAGE ENCRYPTION METHOD
US10506228B2 (en) * 2016-10-04 2019-12-10 Qualcomm Incorporated Variable number of intra modes for video coding
EP3334067B1 (en) * 2016-12-12 2019-10-02 Alcatel Lucent Synchronization device and system for communication networks
HUE062025T2 (hu) * 2016-12-23 2023-09-28 Huawei Tech Co Ltd Kódoló berendezés egy kiterjesztési irányú intra-predikciós mód jelzésére irányított intra-predikciós módok csoportján belül
US10992939B2 (en) * 2017-10-23 2021-04-27 Google Llc Directional intra-prediction coding
EP3879826B1 (en) 2017-05-31 2022-08-03 LG Electronics Inc. Method and device for performing image decoding on basis of intra prediction in image coding system
US20180376148A1 (en) * 2017-06-23 2018-12-27 Qualcomm Incorporated Combination of inter-prediction and intra-prediction in video coding
US11570470B2 (en) * 2017-09-28 2023-01-31 Vid Scale, Inc. Complexity reduction of overlapped block motion compensation
WO2019083284A1 (ko) * 2017-10-24 2019-05-02 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 장치
CN111602400B (zh) * 2018-01-15 2024-04-19 有限公司B1影像技术研究所 用于色度分量的帧内预测编码/解码方法和装置
CA3185207A1 (en) 2018-03-25 2019-10-03 B1 Institute Of Image Technology, Inc. Image encoding/decoding method and device
RU2752011C1 (ru) 2018-04-01 2021-07-21 Б1 Инститьют Оф Имидж Текнолоджи, Инк. Способ и оборудование для кодирования/декодирования изображения
US11153563B2 (en) * 2019-03-12 2021-10-19 Qualcomm Incorporated Combined in-loop filters for video coding
US11153598B2 (en) * 2019-06-04 2021-10-19 Tencent America LLC Method and apparatus for video coding using a subblock-based affine motion model

Also Published As

Publication number Publication date
MX2021000168A (es) 2021-03-25
CA3104611A1 (en) 2020-01-02
CN115988202B (zh) 2023-11-03
US11563939B2 (en) 2023-01-24
JP2021528919A (ja) 2021-10-21
AU2018429284A1 (en) 2021-01-21
AU2018429284B2 (en) 2023-01-19
CA3104611C (en) 2023-12-19
CN115988202A (zh) 2023-04-18
AU2023201715A1 (en) 2023-04-20
WO2020005093A1 (en) 2020-01-02
JP2023073286A (ja) 2023-05-25
NZ771864A (en) 2022-12-23
CN112262574A (zh) 2021-01-22
KR20210015963A (ko) 2021-02-10
EP3804313A1 (en) 2021-04-14
US20210120241A1 (en) 2021-04-22
KR20230127354A (ko) 2023-08-31
US20230124833A1 (en) 2023-04-20
SG11202012838SA (en) 2021-01-28
JP7293263B2 (ja) 2023-06-19

Similar Documents

Publication Publication Date Title
JP7381660B2 (ja) 符号化方法及び機器
KR102710907B1 (ko) 보간 필터를 사용하는 인트라 예측을 위한 방법 및 장치
JP2022179505A (ja) ビデオ復号方法およびビデオデコーダ
US11206398B2 (en) Device and method for intra-prediction of a prediction block of a video image
CN112673626A (zh) 各分割约束元素之间的关系
WO2020147782A1 (en) An encoder, a decoder and corresponding methods of deblocking filter adaptation
US20230124833A1 (en) Device and method for intra-prediction
WO2020030192A1 (en) Apparatus and method for performing deblocking
CN115988211A (zh) 用于视频译码中去块效应滤波器的装置和方法
JP7528188B2 (ja) ピクチャパーティショニング方法及び機器
BR112020019587A2 (pt) Dispositivo de processamento de imagem e método para realizar desbloqueio eficiente
CN114679583A (zh) 视频编码器、视频解码器及对应方法
WO2020106186A1 (en) Method and apparatus for hierarchical signaling of enabling and disabling prediction mechanisms for video coding
KR20240145061A (ko) 보간 필터를 사용하는 인트라 예측을 위한 방법 및 장치