BR122022009499A2 - Método de codificação implementado por um codificador de vídeo, dispositivo de codificação, sistema e meio legível por computador não transitório - Google Patents

Método de codificação implementado por um codificador de vídeo, dispositivo de codificação, sistema e meio legível por computador não transitório Download PDF

Info

Publication number
BR122022009499A2
BR122022009499A2 BR122022009499-6A BR122022009499A BR122022009499A2 BR 122022009499 A2 BR122022009499 A2 BR 122022009499A2 BR 122022009499 A BR122022009499 A BR 122022009499A BR 122022009499 A2 BR122022009499 A2 BR 122022009499A2
Authority
BR
Brazil
Prior art keywords
image
video
layer
encoded
images
Prior art date
Application number
BR122022009499-6A
Other languages
English (en)
Inventor
Ye-Kui Wang
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 BR122022009499A2 publication Critical patent/BR122022009499A2/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/136Incoming video signal characteristics or properties
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/187Methods 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 scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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

MÉTODO DE CODIFICAÇÃO IMPLEMENTADO POR UM CODIFICADOR DE VÍDEO, DISPOSITIVO DE CODIFICAÇÃO, SISTEMA E MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO. É fornecido um método de decodificação implementado por um decodificador de vídeo. O método inclui receber (1002) um fluxo de bits incluindo uma unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS), em que a CVSS AU contém uma unidade de imagem (PU) para cada camada, e em que uma imagem codificada em cada PU é uma imagem de início de sequência de vídeo de camada (CLVSS); identificar (1004) a imagem codificada de uma das camadas com base em um valor de contagem de ordem de imagem (POC); e decodificar (1006) a imagem codificada para obter uma imagem decodificada.

Description

MÉTODO DE CODIFICAÇÃO IMPLEMENTADO POR UM CODIFICADOR DE VÍDEO, DISPOSITIVO DE CODIFICAÇÃO, SISTEMA E MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO (Dividido do Pedido BR 1120220053967 de 16/09/2020) REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
[0001] Este pedido de patente reivindica o benefício do Pedido de Patente Provisório dos EUA N° 62/905.141 depositado em 24 de setembro de 2019 por Ye-Kui Wang e intitulado "Support of Mixed RAP and Non-IRAP Pictures Within An Access Unit In Multiple-Layer Video Bitstreams".
CAMPO TÉCNICO
[0002] Em geral, esta divulgação está relacionada a fluxos de bits de vídeo de múltiplas camadas em codificação de vídeo. Mais especificamente, esta divulgação está relacionada ao suporte a fluxos de bits de vídeo de múltiplas camadas contendo tanto imagens de ponto de acesso aleatório intra (IRAP) e não-IRAP.
ANTECEDENTES
[0003] A quantidade de dados de vídeo necessária para representar até mesmo um vídeo relativamente curto pode ser substancial, a qual pode resultar em dificuldades quando os dados devem ser transmitidos em fluxo ou, de outra forma, comunicados através de uma rede de comunicações com capacidade de largura de banda limitada. Assim, os dados de vídeo são geralmente comprimidos antes de serem comunicados pelas redes de telecomunicações atuais. O tamanho de um vídeo também pode ser um problema quando o vídeo é armazenado em um dispositivo de armazenamento porque os recursos de memória podem ser limitados. Dispositivos de compressão de vídeo frequentemente usam software e/ou hardware na origem para codificar os dados de vídeo antes da transmissão ou armazenamento, diminuindo assim a quantidade de dados necessária para representar imagens de vídeo digital. Os dados comprimidos são então recebidos no destino por um dispositivo de descompressão de vídeo que decodifica os dados de vídeo. Com recursos de rede limitados e demandas cada vez maiores de qualidade de vídeo superior, são desejáveis técnicas de compressão e descompressão aprimoradas que melhoram a taxa de compressão com pouco ou nenhum sacrifício na qualidade da imagem.
SUMÁRIO
[0004] Um primeiro aspecto refere-se a um método de decodificação implementado por um decodificador de vídeo, compreendendo receber, pelo decodificador de vídeo, um fluxo de bits incluindo uma unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS), em que a CVSS AU contém uma unidade de imagem (PU) para cada camada, e em que uma imagem codificada em cada PU é uma imagem de início de sequência de vídeo de camada codificado (CLVSS); identificar, pelo decodificador de vídeo, a imagem codificada de uma das camadas com base em um valor de contagem de ordem de imagem (POC); e descodificar, pelo descodificador de vídeo, a imagem codificada para obter uma imagem descodificada.
[0005] O método fornece técnicas que simplificam a codificação utilizando um fluxo de bits que é restrito de modo que cada unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) seja uma AU completa e cada imagem na CVSS AU seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS). Isso garante que um ponto de acesso aleatório (RAP) seja fornecido para cada camada do fluxo de bits de multicamadas no início de cada sequência de vídeo codificado (CVS). Assim, o codificador/decodificador (também conhecido como “codec”) na codificação de vídeo é aprimorado em relação aos codecs atuais. Na prática, o processo de codificação de vídeo aprimorado oferece ao usuário uma melhor experiência de usuário quando os vídeos são enviados, recebidos e/ou visualizados.
[0006] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que a imagem CLVSS é uma imagem de ponto de acesso aleatório intra (IRAP).
[0007] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que a imagem CLVSS é uma imagem de atualização de decodificação gradual (GDR).
[0008] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que a imagem CLVSS é associada a um indicador sem saída antes da recuperação disposto em um conjunto de parâmetros de imagem (PPS) da PU, e em que o indicador sem saída antes da recuperação é igual a 1.
[0009] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que cada camada da CVSS AU seja especificada por um conjunto de parâmetros de vídeo (VPS).
[0010] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que a CVSS AU seja uma AU inicial de uma sequência de vídeo codificado (CVS).
[0011] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que a PU seja referida como uma unidade de acesso de camada.
[0012] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que a CVSS AU seja referida como uma AU completa porque cada camada da CVSS AU contém uma das PUs.
[0013] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece a exibição da imagem codificada como decodificada em uma tela de exibição de um dispositivo eletrônico.
[0014] Um segundo aspecto refere-se a um método de codificação implementado por um codificador de vídeo, o método compreendendo inserir, pelo codificador de vídeo, uma unidade de imagem (PU) contendo uma imagem codificada em cada camada de uma unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS), em que o codificador de vídeo é restringido de modo que a imagem codificada seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS); codificar, pelo codificador de vídeo, uma sequência de vídeo de camada codificado (CLVS) incluindo a CVSS AU em um fluxo de bits; e armazenar, pelo codificador de vídeo, o fluxo de bits para comunicação em direção a um decodificador de vídeo.
[0015] O método fornece técnicas que simplificam a codificação utilizando um fluxo de bits que é restrito de modo que cada unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) seja uma AU completa e cada imagem na CVSS AU seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS). Isso garante que um ponto de acesso aleatório (RAP) seja fornecido para cada camada do fluxo de bits de multicamadas no início de cada sequência de vídeo codificado (CVS). Assim, o codificador/decodificador (também conhecido como “codec”) na codificação de vídeo é aprimorado em relação aos codecs atuais. Na prática, o processo de codificação de vídeo aprimorado oferece ao usuário uma melhor experiência de usuário quando os vídeos são enviados, recebidos e/ou visualizados.
[0016] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que a imagem CLVSS é uma imagem de ponto de acesso aleatório intra (IRAP).
[0017] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que a imagem CLVSS é uma imagem de atualização de decodificação gradual (GDR).
[0018] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que cada camada da CVSS AU seja especificada por um conjunto de parâmetros de vídeo (VPS).
[0019] Um terceiro aspecto refere-se a um dispositivo de decodificação, compreendendo um receptor configurado para receber um fluxo de bits incluindo uma unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS), em que a CVSS AU contém uma unidade de imagem (PU) para cada camada, e em que um a imagem codificada em cada PU é uma imagem de início de sequência de vídeo de camada codificado (CLVSS); uma memória acoplada ao receptor, a memória armazenando instruções; e um processador acoplado à memória, o processador configurado para executar as instruções para fazer com que o dispositivo de decodificação identifique a imagem codificada de uma das camadas com base em um valor de contagem de ordem de imagem (POC); e descodificar a imagem codificada para obter uma imagem descodificada.
[0020] O dispositivo de decodificação fornece técnicas que simplificam a codificação utilizando um fluxo de bits que é restrito de modo que cada unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) seja uma AU completa e cada imagem na CVSS AU seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS). Isso garante que um ponto de acesso aleatório (RAP) seja fornecido para cada camada do fluxo de bits de multicamadas no início de cada sequência de vídeo codificado (CVS). Assim, o codificador/decodificador (também conhecido como “codec”) na codificação de vídeo é aprimorado em relação aos codecs atuais. Na prática, o processo de codificação de vídeo aprimorado oferece ao usuário uma melhor experiência de usuário quando os vídeos são enviados, recebidos e/ou visualizados.
[0021] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que a imagem CLVSS é uma imagem de ponto de acesso aleatório intra (IRAP).
[0022] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que a imagem CLVSS é uma imagem de atualização de decodificação gradual (GDR).
[0023] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que cada camada da CVSS AU seja especificada por um conjunto de parâmetros de vídeo (VPS).
[0024] Um quarto aspecto refere-se a um dispositivo de codificação, compreendendo uma memória contendo instruções; um processador acoplado à memória, o processador configurado para implementar as instruções para fazer com que o dispositivo de codificação insira uma unidade de imagem (PU) contendo uma imagem codificada em cada camada de uma unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS), em que o dispositivo de codificação é restringido de modo que a imagem codificada seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS); codificar uma sequência de vídeo de camada codificado (CLVS) incluindo a CVSS AU em um fluxo de bits; e um transmissor acoplado ao processador, o transmissor configurado para transmitir o fluxo de bits de vídeo para um decodificador de vídeo.
[0025] O dispositivo de codificação fornece técnicas que simplificam a codificação utilizando um fluxo de bits que é restrito de modo que cada unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) seja uma AU completa e cada imagem na CVSS AU seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS). Isso garante que um ponto de acesso aleatório (RAP) seja fornecido para cada camada do fluxo de bits de multicamadas no início de cada sequência de vídeo codificado (CVS). Assim, o codificador/decodificador (também conhecido como “codec”) na codificação de vídeo é aprimorado em relação aos codecs atuais. Na prática, o processo de codificação de vídeo aprimorado oferece ao usuário uma melhor experiência de usuário quando os vídeos são enviados, recebidos e/ou visualizados.
[0026] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que a imagem CLVSS é uma imagem de ponto de acesso aleatório intra (IRAP) ou uma imagem de atualização de decodificação gradual (GDR).
[0027] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece que cada camada da CVSS AU seja especificada por um conjunto de parâmetros de vídeo (VPS).
[0028] Um quinto aspecto refere-se a um aparelho de codificação. O aparelho de codificação inclui um receptor configurado para receber uma imagem para codificar ou para receber um fluxo de bits para decodificar; um transmissor acoplado ao receptor, o transmissor configurado para transmitir o fluxo de bits para um decodificador ou para transmitir uma imagem decodificada para uma tela de exibição; uma memória acoplada a pelo menos um dentre o receptor ou o transmissor, a memória configurada para armazenar instruções; e um processador acoplado à memória, o processador configurado para executar as instruções armazenadas na memória para realizar qualquer um dos métodos divulgados neste documento.
[0029] O aparelho de codificação fornece técnicas que simplificam a codificação utilizando um fluxo de bits que é restrito de modo que cada unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) seja uma AU completa e cada imagem na CVSS AU seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS). Isso garante que um ponto de acesso aleatório (RAP) seja fornecido para cada camada do fluxo de bits de multicamadas no início de cada sequência de vídeo codificado (CVS). Assim, o codificador/decodificador (também conhecido como “codec”) na codificação de vídeo é aprimorado em relação aos codecs atuais. Na prática, o processo de codificação de vídeo aprimorado oferece ao usuário uma melhor experiência de usuário quando os vídeos são enviados, recebidos e/ou visualizados.
[0030] Opcionalmente, em qualquer um dos aspectos anteriores, outra implementação do aspecto fornece uma tela de exibição configurada para exibir uma imagem decodificada.
[0031] Um sexto aspecto refere-se a um sistema. O sistema inclui um codificador; e um decodificador em comunicação com o codificador, em que o codificador ou o decodificador inclui o dispositivo de decodificação, o dispositivo de codificação ou o aparelho de codificação divulgado neste documento.
[0032] O sistema fornece técnicas que simplificam a codificação utilizando um fluxo de bits que é restrito de modo que cada unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) seja uma AU completa e cada imagem na CVSS AU seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS). Isso garante que um ponto de acesso aleatório (RAP) seja fornecido para cada camada do fluxo de bits de multicamadas no início de cada sequência de vídeo codificado (CVS). Assim, o codificador/decodificador (também conhecido como “codec”) na codificação de vídeo é aprimorado em relação aos codecs atuais. Na prática, o processo de codificação de vídeo aprimorado oferece ao usuário uma melhor experiência de usuário quando os vídeos são enviados, recebidos e/ou visualizados.
[0033] Um sétimo aspecto refere-se a um meio de codificação. Os meios de codificação incluem meios de recebimento configurados para receber uma imagem para codificar ou para receber um fluxo de bits para decodificar; meios de transmissão acoplados aos meios de recebimento, os meios de transmissão configurados para transmitir o fluxo de bits para um meio de decodificação ou para transmitir uma imagem decodificada para um meio de exibição; meios de armazenamento acoplados a pelo menos um dos meios de recebimento ou meios de transmissão, os meios de armazenamento configurados para armazenar instruções; e meios de processamento acoplados aos meios de armazenamento, os meios de processamento configurados para executar as instruções armazenadas nos meios de armazenamento para realizar qualquer um dos métodos divulgados neste documento.
[0034] Os meios para codificação fornecem técnicas que simplificam a codificação utilizando um fluxo de bits que é restrito de modo que cada unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) seja uma AU completa e cada imagem na CVSS AU seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS). Isso garante que um ponto de acesso aleatório (RAP) seja fornecido para cada camada do fluxo de bits de multicamadas no início de cada sequência de vídeo codificado (CVS). Assim, o codificador/decodificador (também conhecido como “codec”) na codificação de vídeo é aprimorado em relação aos codecs atuais. Na prática, o processo de codificação de vídeo aprimorado oferece ao usuário uma melhor experiência de usuário quando os vídeos são enviados, recebidos e/ou visualizados.
[0035] Para fins de clareza, qualquer uma das modalidades anteriores pode ser combinada com qualquer uma ou mais das outras modalidades anteriores para criar uma nova modalidade dentro do escopo da presente divulgação.
[0036] Estes e outros recursos serão mais claramente compreendidos a partir da descrição detalhada seguinte tomada em conjunto com os desenhos e reivindicações anexos.
BREVE DESCRIÇÃO DOS DESENHOS
[0037] Para uma compreensão mais completa desta divulgação, é feita agora referência à breve descrição seguinte, tomada em conexão com os desenhos anexos e a descrição detalhada, em que numerais de referência semelhantes representam partes semelhantes.
[0038] FIG. 1 é um fluxograma de um método de exemplo de codificação de um sinal de vídeo.
[0039] FIG. 2 é um diagrama esquemático de um sistema de codificação e decodificação (codec) de exemplo para codificação de vídeo.
[0040] FIG. 3 é um diagrama esquemático que ilustra um codificador de vídeo de exemplo.
[0041] FIG. 4 é um diagrama esquemático que ilustra um decodificador de vídeo de exemplo.
[0042] FIG. 5 ilustra um exemplo de codificação multicamada para escalabilidade espacial.
[0043] FIG. 6 é uma representação de uma relação entre uma imagem IRAP em relação às imagens conducentes e imagens seguidoras em uma ordem de decodificação e uma ordem de apresentação.
[0044] FIG. 7 ilustra um fluxo de bits de vídeo configurado para implementar uma técnica de atualização de decodificação gradual (GDR).
[0045] FIG. 8 é um diagrama esquemático que ilustra uma busca de movimento indesejável ao usar a restrição de codificador para suportar GDR.
[0046] FIG. 9 ilustra uma modalidade de um fluxo de bits de vídeo.
[0047] FIG. 10 é uma modalidade de um método de decodificação de um fluxo de bits de vídeo codificado.
[0048] FIG. 11 é uma modalidade de um método de codificação de um fluxo de bits de vídeo codificado.
[0049] FIG. 12 é um diagrama esquemático de um dispositivo de codificação de vídeo.
[0050] FIG. 13 é um diagrama esquemático de uma modalidade de um meio para codificação.
DESCRIÇÃO DETALHADA
[0051] Deve ser entendido desde o início que, embora uma implementação ilustrativa de uma ou mais modalidades seja fornecida abaixo, os sistemas e/ou métodos divulgados podem ser implementados usando qualquer número de técnicas, sejam atualmente conhecidas ou existentes. A divulgação não deve, de forma alguma, ser limitada às implementações, desenhos e técnicas ilustrativos ilustrados abaixo, incluindo os projetos e implementações exemplares ilustrados e descritos neste documento, mas pode ser modificada dentro do escopo das reivindicações anexas, juntamente com seu escopo completo de equivalentes.
[0052] Os termos a seguir são definidos como segue, a menos que sejam usados em um contexto contrário neste documento. Especificamente, as seguintes definições destinam-se a fornecer clareza adicional à presente divulgação. No entanto, os termos podem ser descritos de forma diferente em diferentes contextos. Consequentemente, as seguintes definições devem ser consideradas como um suplemento e não devem ser consideradas como limitantes de quaisquer outras definições de descrições fornecidas para tais termos neste documento.
[0053] Um fluxo de bits é uma sequência de bits incluindo dados de vídeo que são comprimidos para transmissão entre um codificador e um decodificador. Um codificador é um dispositivo configurado para empregar processos de codificação para compactar dados de vídeo em um fluxo de bits. Um decodificador é um dispositivo configurado para empregar processos de decodificação para reconstruir dados de vídeo de um fluxo de bits para exibição. Uma imagem é uma matriz de amostras de luma e/ou uma matriz de amostras de croma que criam um quadro ou um campo do mesmo. Uma imagem que está sendo codificada ou decodificada pode ser chamada de imagem atual para maior clareza da discussão. Uma imagem de referência é uma imagem que contém amostras de referência que podem ser usadas ao codificar outras imagens por referência de acordo com a predição inter e/ou predição intercamada. Uma lista de imagens de referência é uma lista de imagens de referência usadas para predição inter e/ou predição intercamada. Alguns sistemas de codificação de vídeo utilizam duas listas de imagens de referência, as quais podem ser indicadas como lista de imagens de referência um e lista de imagens de referência zero. Uma estrutura de lista de imagens de referência é uma estrutura de sintaxe endereçável que contém múltiplas listas de imagens de referência. A predição inter é um mecanismo de codificação de amostras de uma imagem atual por referência para amostras indicadas em uma imagem de referência que é diferente da imagem atual onde a imagem de referência e a imagem atual estão na mesma camada. Uma entrada de estrutura de lista de imagens de referência é um local endereçável em uma estrutura de lista de imagens de referência que indica uma imagem de referência associada a uma lista de imagens de referência. Um cabeçalho de fatia é uma parte de uma fatia codificada que contém elementos de dados pertencentes a todos os dados de vídeo dentro de um bloquete representado na fatia. Um conjunto de parâmetros de sequência (SPS) é um conjunto de parâmetros que contém dados relacionados a uma sequência de imagens. Um conjunto de parâmetros de imagem (PPS) é uma estrutura de sintaxe que contém elementos de sintaxe que se aplicam a zero ou mais imagens codificadas inteiras conforme determinado por um elemento de sintaxe encontrado em cada cabeçalho de imagem.
[0054] Um conjunto de parâmetros de vídeo (VPS) inclui dependência de decodificação ou informações para a construção do conjunto de imagens de referência de camadas de aprimoramento. O VPS fornece uma perspectiva geral ou visão de uma sequência escalonável, incluindo quais tipos de pontos de operação são fornecidos, o perfil, a categoria e o nível dos pontos de operação, e algumas outras propriedades de alto nível do fluxo de bits que podem ser usadas como base para negociação de sessão e seleção de conteúdo, etc.
[0055] Um indicador é uma variável ou elemento de sintaxe de bit único que pode assumir um dos dois valores possíveis: 0 e 1. Uma unidade de acesso (AU) é um conjunto de uma ou mais imagens codificadas associadas ao mesmo tempo de exibição (por exemplo, a mesma contagem de ordem de imagem) para saída de um armazenamento temporário de imagem decodificada (DPB) (por exemplo, para exibição para um usuário). Um delimitador de unidade de acesso (AUD) é um indicador ou estrutura de dados usado para indicar o início de uma AU ou a fronteira entre AUs. Uma sequência de vídeo decodificado é uma sequência de imagens que foram reconstruídas por um decodificador em preparação para exibição para um usuário.
[0056] Uma sequência de vídeo codificado (CVS) é uma sequência de unidades de acesso (AUs) que incluem, em ordem de decodificação, uma AU de início de sequência de vídeo codificado (CVSS), seguida por zero ou mais AUs que não são CVSS AUs, incluindo todas as AUs subsequentes. mas não incluindo qualquer AU subsequente que seja uma CVSS AU. Uma CVSS AU é uma AU na qual há uma unidade de predição (PU) para cada camada especificada pelo conjunto de parâmetros de vídeo (VPS) e a imagem codificada em cada PU é uma imagem de sequência de início de vídeo de camada codificado (CLVSS). Em uma modalidade, cada imagem está dentro de uma AU. Uma PU é um conjunto de unidades de camada de abstração de rede (NAL) que estão associadas umas às outras de acordo com uma regra de classificação especificada, são consecutivas em ordem de decodificação e contêm exatamente uma imagem codificada.
[0057] Uma imagem de ponto de acesso aleatório intra (IRAP) é uma imagem codificada para a qual todas as unidades VCL NAL têm o mesmo valor de nal_unit_type na faixa de IDR_W_RADL a CRA_NUT, inclusive. O processo de decodificação de uma sequência de vídeo codificado sempre começa em um IRAP. As imagens IRAP fornecem um ponto de acesso aleatório (RAP).
[0058] Uma imagem de atualização de decodificação gradual (GDR) é uma imagem para a qual cada unidade VCL NAL tem nal_unit_type igual a GDR_NUT. Imagens (GDR) também podem ser consideradas imagens IRAP. A imagem GDR é referida como uma imagem de início de CVS (CVSS).
[0059] Uma contagem de ordem de imagem (POC) é uma variável que é associada a cada imagem, identifica exclusivamente a imagem associada dentre todas as imagens no CLVS e, quando a imagem associada deve ser emitida do DPB, indica a posição da imagem associada na ordem de saída em relação às posições da ordem de saída das outras imagens no mesmo CLVS que devem ser emitidas do DPB.
[0060] As seguintes siglas são usadas neste documento: Unidade de Acesso (AU), Bloco de Árvore de Codificação (CTB), Unidade de Árvore de Codificação (CTU), Unidade de Codificação (CU), Sequência de Vídeo de Camada Codificado (CLVS), Início de Sequência de Vídeo de Camada Codificado (CLVSS), Sequência de Vídeo Codificado (CVS), Início de Sequência de Vídeo Codificado (CVSS), Equipe Conjunta de Especialistas em Vídeo (JVET), Conjunto de Bloquetes com Movimento Restrito (MCTS), Unidade Máxima de Transferência (MTU), Camada de Abstração de Rede (NAL), Conjunto de Camadas de Saída (OLS), Contagem de Ordem de Imagem (POC), Conjunto de Parâmetros de Imagem (PPS), Ponto de Acesso Aleatório (RAP), Payload de Sequência de Dados Bruta (RBSP), Conjunto de Parâmetros de Sequência (SPS), Conjunto de Parâmetros de Vídeo (VPS), Codificação de Vídeo Versátil (VVC) e Projeto em Andamento (WD).
[0061] FIG. 1 é um fluxograma de um método operacional 100 de exemplo de codificação de um sinal de vídeo. Especificamente, um sinal de vídeo é codificado em um codificador. O processo de codificação comprime o sinal de vídeo empregando vários mecanismos para reduzir o tamanho de arquivo de vídeo. Um tamanho de arquivo menor permite que o arquivo de vídeo comprimido seja transmitido em direção a um usuário, reduzindo o overhead de largura de banda associada. O decodificador então decodifica o arquivo de vídeo comprimido para reconstruir o sinal de vídeo original para exibição para um usuário final. O processo de decodificação geralmente espelha o processo de codificação para permitir que o decodificador reconstrua consistentemente o sinal de vídeo.
[0062] Na etapa 101, o sinal de vídeo é introduzido no codificador. Por exemplo, o sinal de vídeo pode ser um arquivo de vídeo não comprimido armazenado na memória. Como outro exemplo, o arquivo de vídeo pode ser capturado por um dispositivo de captura de vídeo, como uma câmera de vídeo, e codificado para suportar transmissão em fluxo ao vivo do vídeo. O arquivo de vídeo pode incluir um componente de áudio e um componente de vídeo. O componente de vídeo contém uma série de quadros de imagem que, quando vistos em sequência, dão a impressão visual de movimento. Os quadros contêm pixels que são expressos em termos de luz, referidos neste documento como componentes de luma (ou amostras de luma), e cor, o qual é referido como componentes de croma (ou amostras de cores). Em alguns exemplos, os quadros também podem conter valores de profundidade para suportar a visualização tridimensional.
[0063] Na etapa 103, o vídeo é particionado em blocos. O particionamento inclui subdividir os pixels em cada quadro em blocos quadrados e/ou retangulares para compressão. Por exemplo, em Codificação de Vídeo de Alta Eficiência (HEVC) (também conhecida como H.265 e MPEG-H Parte 2) o quadro pode primeiro ser dividido em unidades de árvore de codificação (CTUs), as quais são blocos de tamanho predefinido (por exemplo, sessenta e quatro pixels por sessenta e quatro pixels). As CTUs contêm amostras de luma e croma. As árvores de codificação podem ser empregadas para dividir as CTUs em blocos e então subdividir recursivamente os blocos até que sejam alcançadas configurações que suportem codificação adicional. Por exemplo, os componentes de luma de um quadro podem ser subdivididos até que os blocos individuais contenham valores de iluminação relativamente homogêneos. Além disso, os componentes de croma de um quadro podem ser subdivididos até que os blocos individuais contenham valores de cor relativamente homogêneos. Consequentemente, os mecanismos de particionamento variam dependendo do conteúdo dos quadros de vídeo.
[0064] Na etapa 105, vários mecanismos de compressão são empregados para comprimir os blocos de imagem particionados na etapa 103. Por exemplo, predição inter e/ou predição intra podem ser empregadas. A predição inter é projetada para aproveitar do fato de que objetos em uma cena comum tendem a aparecer em quadros sucessivos. Consequentemente, um bloco representando um objeto em um quadro de referência não precisa ser descrito repetidamente em quadros adjacentes. Especificamente, um objeto, como uma mesa, pode permanecer em uma posição constante em múltiplos quadros. Portanto, a mesa é descrita uma vez e os quadros adjacentes podem se referir ao quadro de referência. Mecanismos de correspondência de padrões podem ser empregados para combinar objetos em múltiplos quadros. Além disso, objetos em movimento podem ser representados em múltiplos quadros, por exemplo, devido ao movimento do objeto ou movimento da câmera. Como um exemplo específico, um vídeo pode mostrar um automóvel que se move pela tela em múltiplos quadros. Os vetores de movimento podem ser empregados para descrever tal movimento. Um vetor de movimento é um vetor bidimensional que fornece um deslocamento das coordenadas de um objeto em um quadro para as coordenadas do objeto em um quadro de referência. Como tal, a predição inter pode codificar um bloco de imagem em um quadro atual como um conjunto de vetores de movimento indicando um deslocamento de um bloco correspondente em um quadro de referência.
[0065] A predição intra codifica blocos em um quadro comum. A predição intra aproveita o fato de que os componentes luma e croma tendem a se agrupar em um quadro. Por exemplo, uma mancha verde em uma porção de uma árvore tende a ser posicionada adjacente a manchas verdes semelhantes. A predição intra emprega múltiplos modos de predição direcional (por exemplo, trinta e três em HEVC), um modo planar e um modo de corrente contínua (DC). Os modos direcionais indicam que um bloco atual é semelhante/igual às amostras de um bloco vizinho em uma direção correspondente. O modo planar indica que uma série de blocos ao longo de uma linha/coluna (por exemplo, um plano) podem ser interpolados com base em blocos vizinhos nas bordas da linha. O modo planar, na verdade, indica uma transição suave de luz/cor ao longo de uma linha/coluna, empregando uma inclinação relativamente constante na mudança de valores. O modo DC é empregado para suavização de fronteira e indica que um bloco é semelhante/igual a um valor médio associado a amostras de todos os blocos vizinhos associados às direções angulares dos modos de predição direcional. Consequentemente, os blocos de predição intra podem representar blocos de imagem como vários valores de modo de predição relacional em vez dos valores reais. Além disso, os blocos de predição inter podem representar blocos de imagem como valores de vetor de movimento em vez dos valores reais. Em ambos os casos, os blocos de predição podem não representar exatamente os blocos de imagem em alguns casos. Quaisquer diferenças são armazenadas em blocos residuais. As transformadas podem ser aplicadas aos blocos residuais para comprimir ainda mais o arquivo.
[0066] Na etapa 107, várias técnicas de filtragem podem ser aplicadas. No HEVC, os filtros são aplicados de acordo com um esquema de filtragem em circuito. A predição baseada em bloco discutida acima pode resultar na criação de imagens em bloco no decodificador. Além disso, o esquema de predição baseado em bloco pode codificar um bloco e, em seguida, reconstruir o bloco codificado para uso posterior como um bloco de referência. O esquema de filtragem em circuito aplica iterativamente filtros de supressão de ruído, filtros de deblocagem, filtros de circuito adaptativos e filtros de deslocamento adaptativo de amostra (SAO) aos blocos/quadros. Esses filtros atenuam esses artefatos de blocagem para que o arquivo codificado possa ser reconstruído com precisão. Além disso, esses filtros atenuam os artefatos nos blocos de referência reconstruídos para que os artefatos tenham menos probabilidade de criar artefatos adicionais nos blocos subsequentes que são codificados com base nos blocos de referência reconstruídos.
[0067] Uma vez que o sinal de vídeo foi particionado, comprimido e filtrado, os dados resultantes são codificados em um fluxo de bits na etapa 109. O fluxo de bits inclui os dados discutidos acima, bem como quaisquer dados de sinalização desejados para suportar a reconstrução adequada do sinal de vídeo no decodificador. Por exemplo, esses dados podem incluir dados de partição, dados de predição, blocos residuais e vários indicadores que fornecem instruções de codificação ao decodificador. O fluxo de bits pode ser armazenado na memória para transmissão em direção a um decodificador mediante solicitação. O fluxo de bits também pode ser difundido e/ou difundido multiplexadamente em direção a uma pluralidade de decodificadores. A criação do fluxo de bits é um processo iterativo. Consequentemente, as etapas 101, 103, 105, 107 e 109 podem ocorrer continuamente e/ou simultaneamente em muitos quadros e blocos. A ordem mostrada na FIG. 1 é apresentada para clareza e facilidade de discussão e não se destina a limitar o processo de codificação de vídeo a uma ordem específica.
[0068] O decodificador recebe o fluxo de bits e inicia o processo de decodificação na etapa 111. Especificamente, o decodificador emprega um esquema de decodificação por entropia para converter o fluxo de bits em sintaxe e dados de vídeo correspondentes. O decodificador emprega os dados de sintaxe do fluxo de bits para determinar as partições para os quadros na etapa 111. O particionamento deve corresponder aos resultados do particionamento de bloco na etapa 103. A codificação/decodificação por entropia, como empregada na etapa 111, é agora descrita. O codificador faz muitas escolhas durante o processo de compressão, tal como selecionar esquemas de particionamento de bloco de várias escolhas possíveis com base no posicionamento espacial dos valores na(s) imagem(ns) de entrada. A sinalização das escolhas exatas pode empregar um grande número de binários. Conforme usado neste documento, um binário (bin) é um valor binário que é tratado como uma variável (por exemplo, um valor de bit que pode variar dependendo do contexto). A codificação por entropia permite que o codificador descarte quaisquer opções que claramente não sejam viáveis para um caso específico, deixando um conjunto de opções permitidas. Cada opção permitida é então atribuída a uma palavracódigo. O comprimento das palavras-código é baseado no número de opções permitidas (por exemplo, um binário para duas opções, dois binários para três a quatro opções, etc.). O codificador então codifica a palavra-código para a opção selecionada. Esse esquema reduz o tamanho das palavras-código, pois as palavras-código são tão grandes quanto desejado para indicar exclusivamente uma seleção de um pequeno subconjunto de opções permitidas, em vez de indicar exclusivamente a seleção de um conjunto potencialmente grande de todas as opções possíveis. O decodificador então decodifica a seleção determinando o conjunto de opções permitidas de maneira semelhante ao codificador. Ao determinar o conjunto de opções permitidas, o decodificador pode ler a palavra-código e determinar a seleção feita pelo codificador.
[0069] Na etapa 113, o decodificador realiza a decodificação de bloco. Especificamente, o decodificador emprega transformadas reversas para gerar blocos residuais. Em seguida, o decodificador emprega os blocos residuais e os blocos de predição correspondentes para reconstruir os blocos de imagem de acordo com o particionamento. Os blocos de predição podem incluir blocos de predição intra e blocos de predição inter conforme gerados no codificador na etapa 105. Os blocos de imagem reconstruídos são então posicionados em quadros de um sinal de vídeo reconstruído de acordo com os dados de particionamento determinados na etapa 111. A sintaxe para a etapa 113 também pode ser sinalizada no fluxo de bits por meio de codificação por entropia, conforme discutido acima.
[0070] Na etapa 115, a filtragem é realizada nos quadros do sinal de vídeo reconstruído de uma maneira semelhante à etapa 107 no codificador. Por exemplo, filtros de supressão de ruído, filtros de deblocagem, filtros de circuito adaptativos e filtros SAO podem ser aplicados aos quadros para remover artefatos de blocagem. Uma vez que os quadros são filtrados, o sinal de vídeo pode ser enviado para uma tela de exibição na etapa 117 para visualização por um usuário final.
[0071] FIG. 2 é um diagrama esquemático de um sistema de codificação e decodificação (codec) 200 de exemplo para codificação de vídeo. Especificamente, o sistema de codec 200 fornece funcionalidade para suportar a implementação do método operacional 100. O sistema de codec 200 é generalizado para representar componentes empregados tanto em um codificador quanto em um decodificador. O sistema de codec 200 recebe e particiona um sinal de vídeo conforme discutido em relação às etapas 101 e 103 no método operacional 100, o qual resulta em um sinal de vídeo particionado 201. O sistema de codec 200 então comprime o sinal de vídeo particionado 201 em um fluxo de bits codificado ao atuar como um codificador conforme discutido em relação às etapas 105, 107 e 109 no método 100. Ao atuar como um decodificador, o sistema de codec 200 gera um sinal de vídeo de saída do fluxo de bits conforme discutido em relação às etapas 111, 113, 115 e 117 no método operacional 100. O sistema de codec 200 inclui um componente de controle de codificador geral 211, um componente de quantização e escalonamento de transformada 213, um componente de estimativa intraimagem 215, um componente de predição intraimagem 217, um componente de compensação de movimento 219, um componente de estimativa de movimento 221, um componente de escalonamento e transformada inversa 229, um componente de análise de controle de filtro 227, um componente de filtros em circuito 225, um componente de armazenamento temporário de imagem decodificada 223 e um componente de formatação de cabeçalho e codificação aritmética binária adaptável ao contexto (CABAC) 231. Tais componentes são acoplados como mostrado. Na FIG. 2, as linhas pretas indicam o movimento dos dados a serem codificados/decodificados enquanto as linhas tracejadas indicam o movimento dos dados de controle que controlam a operação de outros componentes. Os componentes do sistema de codec 200 podem estar todos presentes no codificador. O decodificador pode incluir um subconjunto dos componentes do sistema de codec 200. Por exemplo, o decodificador pode incluir o componente de predição intraimagem 217, o componente de compensação de movimento 219, o componente de escalonamento e transformada inversa 229, o componente de filtros em circuito 225 e o componente de armazenamento temporário de imagem decodificada 223. Esses componentes são agora descritos.
[0072] O sinal de vídeo particionado 201 é uma sequência de vídeo capturada que foi particionada em blocos de pixels por uma árvore de codificação. Uma árvore de codificação emprega vários modos de divisão para subdividir um bloco de pixels em blocos menores de pixels. Esses blocos podem então ser subdivididos em blocos menores. Os blocos podem ser referidos como nós na árvore de codificação. Os nós pais maiores são divididos em nós filhos menores. O número de vezes que um nó é subdividido é referido como a profundidade do nó/árvore de codificação. Os blocos divididos podem ser incluídos em unidades de codificação (CUs) em alguns casos. Por exemplo, uma CU pode ser uma subporção de uma CTU que contém um bloco de luma, bloco(s) de croma de diferença vermelha (Cr) e um(uns) bloco(s) de croma de diferença azul (Cb) juntamente com as instruções de sintaxe correspondentes para a CU. Os modos de divisão podem incluir uma árvore binária (BT), árvore tripla (TT) e uma árvore quádrupla (QT) empregada para particionar um nó em dois, três ou quatro nós filhos, respectivamente, de formas variadas, dependendo dos modos de divisão empregados. O sinal de vídeo particionado 201 é encaminhado para o componente de controle de codificador geral 211, o componente de quantização e escalonamento de transformada 213, o componente de estimativa intraimagem 215, o componente de análise de controle de filtro 227 e o componente de estimativa de movimento 221 para compressão.
[0073] O componente de controle de codificador geral 211 é configurado para tomar decisões relacionadas à codificação das imagens da sequência de vídeo no fluxo de bits de acordo com as restrições de aplicação. Por exemplo, o componente de controle de codificador geral 211 gerencia a otimização da taxa de bits/tamanho do fluxo de bits contra qualidade de reconstrução. Essas decisões podem ser tomadas com base na disponibilidade de espaço de armazenamento/largura de banda e solicitações de resolução de imagem. O componente de controle de codificador geral 211 também gerencia a utilização de armazenamento temporário à luz da velocidade de transmissão para mitigar problemas underrun e overrun de armazenamento temporário. Para gerenciar esses problemas, o componente de controle de codificador geral 211 gerencia o particionamento, predição e filtragem pelos outros componentes. Por exemplo, o componente de controle de codificador geral 211 pode aumentar dinamicamente a complexidade de compressão para aumentar a resolução e aumentar o uso de largura de banda ou diminuir a complexidade de compressão para diminuir a resolução e o uso de largura de banda. Assim, o componente de controle de codificador geral 211 controla os outros componentes do sistema de codec 200 para equilibrar a qualidade de reconstrução do sinal de vídeo com preocupações de taxa de bits. O componente de controle de codificador geral 211 cria dados de controle, os quais controlam a operação dos outros componentes. Os dados de controle também são encaminhados para o componente de formatação de cabeçalho e CABAC 231 para serem codificados no fluxo de bits para sinalizar parâmetros para decodificação no decodificador.
[0074] O sinal de vídeo particionado 201 também é enviado para o componente de estimativa de movimento 221 e o componente de compensação de movimento 219 para predição inter. Um quadro ou fatia do sinal de vídeo particionado 201 pode ser dividido em múltiplos blocos de vídeo. O componente de estimativa de movimento 221 e o componente de compensação de movimento 219 realizam codificação preditiva de modo inter do bloco de vídeo recebido em relação a um ou mais blocos em um ou mais quadros de referência para fornecer predição temporal. O sistema de codec 200 pode realizar múltiplas passagens de codificação, por exemplo, para selecionar um modo de codificação apropriado para cada bloco de dados de vídeo.
[0075] O componente de estimativa de movimento 221 e o componente de compensação de movimento 219 podem ser altamente integrados, mas são ilustrados separadamente para fins conceituais. A estimativa de movimento, realizada pelo componente de estimativa de movimento 221, é o processo de geração de vetores de movimento, que estimam o movimento para blocos de vídeo. Um vetor de movimento, por exemplo, pode indicar o deslocamento de um objeto codificado em relação a um bloco preditivo. Um bloco preditivo é um bloco que corresponde ao bloco a ser codificado, em termos de diferença de pixel. Um bloco preditivo também pode ser referido como um bloco de referência. Essa diferença de pixel pode ser determinada pela soma da diferença absoluta (SAD), soma da diferença quadrada (SSD) ou outras métricas de diferença. O HEVC emprega vários objetos codificados, incluindo uma CTU, blocos de árvore de codificação (CTBs) e CUs. Por exemplo, uma CTU pode ser dividida em CTBs, que podem então ser divididos em CBs para inclusão em CUs. Uma CU pode ser codificada como uma unidade de predição (PU) contendo dados de predição e/ou uma unidade de transformada (TU) contendo dados residuais transformados para a CU. O componente de estimativa de movimento 221 gera vetores de movimento, PUs e TUs usando uma análise de taxa-distorção como parte de um processo de otimização de distorção de taxa. Por exemplo, o componente de estimativa de movimento 221 pode determinar múltiplos blocos de referência, múltiplos vetores de movimento, etc. para um bloco/quadro atual, e pode selecionar os blocos de referência, vetores de movimento, etc. com as melhores características de taxadistorção. As melhores características de taxa-distorção equilibram a qualidade da reconstrução de vídeo (por exemplo, quantidade de perda de dados por compressão) com a eficiência de codificação (por exemplo, tamanho da codificação final).
[0076] Em alguns exemplos, o sistema de codec 200 pode calcular valores para posições de pixel subinteiro de imagens de referência armazenadas no componente de armazenamento temporário de imagem decodificada 223. Por exemplo, o sistema de codec de vídeo 200 pode interpolar valores de posições de um quarto de pixel, posições de um oitavo de pixel ou outras posições de pixel fracionárias da imagem de referência. Portanto, o componente de estimativa de movimento 221 pode realizar uma pesquisa de movimento em relação às posições de pixel completas e posições de pixel fracionárias e produzir um vetor de movimento com precisão de pixel fracionário. O componente de estimativa de movimento 221 calcula um vetor de movimento para uma PU de um bloco de vídeo em uma fatia intercodificada comparando a posição da PU com a posição de um bloco preditivo de uma imagem de referência. O componente de estimativa de movimento 221 emite o vetor de movimento calculado como dados de movimento para componente de formatação de cabeçalho e CABAC 231 para codificação e movimento para o componente de compensação de movimento 219.
[0077] A compensação de movimento, realizada pelo componente de compensação de movimento 219, pode envolver buscar ou gerar o bloco preditivo com base no vetor de movimento determinado pelo componente de estimativa de movimento 221. Novamente, o componente de estimativa de movimento 221 e o componente de compensação de movimento 219 podem ser funcionalmente integrados, em alguns exemplos. Ao receber o vetor de movimento para a PU do bloco de vídeo atual, o componente de compensação de movimento 219 pode localizar o bloco preditivo para o qual o vetor de movimento aponta. Um bloco de vídeo residual é então formado subtraindo os valores de pixel do bloco preditivo dos valores de pixel do bloco de vídeo atual que está sendo codificado, formando valores de diferença de pixel. Em geral, o componente de estimativa de movimento 221 realiza estimativa de movimento em relação aos componentes de luma e o componente de compensação de movimento 219 usa vetores de movimento calculados com base nos componentes de luma para ambos os componentes de croma e componentes de luma. O bloco preditivo e o bloco residual são encaminhados para o componente de quantização e escalonamento de transformada 213.
[0078] O sinal de vídeo particionado 201 também é enviado para o componente de estimativa intraimagem 215 e componente de predição intraimagem 217. Tal como acontece com o componente de estimativa de movimento 221 e o componente de compensação de movimento 219, o componente de estimativa intraimagem 215 e o componente de predição intraimagem 217 podem ser altamente integrados, mas são ilustrados separadamente para fins conceituais. O componente de estimativa intraimagem 215 e o componente de predição intraimagem 217 predizem de modo intra um bloco atual em relação aos blocos em um quadro atual, como uma alternativa à predição inter realizada pelo componente de estimativa de movimento 221 e componente de compensação de movimento 219 entre quadros, como descrito acima. Em particular, o componente de estimativa intraimagem 215 determina um modo de predição intra a ser usado para codificar um bloco atual. Em alguns exemplos, o componente de estimativa intraimagem 215 seleciona um modo de predição intra apropriado para codificar um bloco atual de múltiplos modos de predição intra testados. Os modos de predição intra selecionados são então encaminhados para o componente de formatação de cabeçalho e CABAC 231 para codificação.
[0079] Por exemplo, o componente de estimativa intraimagem 215 calcula os valores de distorção de taxa usando uma análise de distorção de taxa para os vários modos de predição intra testados e seleciona o modo de predição intra com as melhores características de taxadistorção dentre os modos testados. A análise de taxadistorção geralmente determina uma quantidade de distorção (ou erro) entre um bloco codificado e um bloco não codificado original que foi codificado para produzir o bloco codificado, bem como uma taxa de bits (por exemplo, um número de bits) usada para produzir o bloco codificado. O componente de estimativa intraimagem 215 calcula as razões das distorções e taxas para os vários blocos codificados para determinar qual modo de predição intra exibe o melhor valor de taxa-distorção para o bloco. Além disso, o componente de estimativa intraimagem 215 pode ser configurado para codificar blocos de profundidade de um mapa de profundidade usando um modo de modelagem de profundidade (DMM) com base na otimização de taxa-distorção (RDO).
[0080] O componente de predição intraimagem 217 pode gerar um bloco residual do bloco preditivo com base nos modos de predição intra selecionados determinados pelo componente de estimativa intraimagem 215 quando implementado em um codificador ou ler o bloco residual do fluxo de bits quando implementado em um decodificador. O bloco residual inclui a diferença de valores entre o bloco preditivo e o bloco original, representado como uma matriz. O bloco residual é então encaminhado para o componente de quantização e escalonamento de transformada 213. O componente de estimativa intraimagem 215 e o componente de predição intraimagem 217 podem operar em componentes de luma e croma.
[0081] O componente de quantização e escalonamento de transformada 213 é configurado para comprimir ainda mais o bloco residual. O componente de quantização e escalonamento de transformada 213 aplica uma transformada, tal como uma transformada discreta de cosseno (DCT), uma transformada discreta de seno (DST), ou uma transformada conceitualmente semelhante, ao bloco residual, produzindo um bloco de vídeo compreendendo valores de coeficiente de transformada residuais. Transformadas de onduleta, transformadas inteiras, transformadas de subbanda ou outros tipos de transformadas também podem ser usadas. A transformada pode converter a informação residual de um domínio de valor de pixel em um domínio de transformada, como um domínio de frequência. O componente de quantização e escalonamento de transformada 213 também é configurado para escalonar as informações residuais de transformada, por exemplo, com base na frequência. Tal escalonamento envolve aplicar um fator de escalonamento às informações residuais para que informações de frequência diferentes sejam quantizadas em diferentes granularidades, o que pode afetar a qualidade visual final do vídeo reconstruído. O componente de quantização e escalonamento de transformada 213 também é configurado para quantizar os coeficientes de transformada para reduzir ainda mais a taxa de bits. O processo de quantização pode reduzir a profundidade de bits associada a alguns ou todos os coeficientes. O grau de quantização pode ser modificado ajustando um parâmetro de quantização. Em alguns exemplos, o componente de quantização e escalonamento de transformada 213 pode então realizar uma varredura da matriz incluindo os coeficientes de transformada quantizados. Os coeficientes de transformada quantizados são encaminhados para o componente de formatação de cabeçalho e CABAC 231 para serem codificados no fluxo de bits.
[0082] O componente de escalonamento e transformada inversa 229 aplica uma operação reversa do componente de quantização e escalonamento de transformada 213 para suportar a estimativa de movimento. O componente de escalonamento e transformada inversa 229 aplica escalonamento inverso, transformada e/ou quantização para reconstruir o bloco residual no domínio de pixel, por exemplo, para uso posterior como um bloco de referência que pode se tornar um bloco preditivo para outro bloco atual. O componente de estimativa de movimento 221 e/ou componente de compensação de movimento 219 podem calcular um bloco de referência adicionando o bloco residual de volta a um bloco preditivo correspondente para uso na estimativa de movimento de um bloco/quadro posterior. Os filtros são aplicados aos blocos de referência reconstruídos para mitigar os artefatos criados durante o escalonamento, a quantização e a transformada. Esses artefatos podem causar predição imprecisa (e criar artefatos adicionais) quando blocos subsequentes são preditos.
[0083] O componente de análise de controle de filtro 227 e o componente de filtros em circuito 225 aplicam os filtros aos blocos residuais e/ou aos blocos de imagem reconstruídos. Por exemplo, o bloco residual transformado do componente de escalonamento e transformada inversa 229 pode ser combinado com um bloco de predição correspondente do componente de predição intraimagem 217 e/ou componente de compensação de movimento 219 para reconstruir o bloco de imagem original. Os filtros podem então ser aplicados ao bloco de imagem reconstruído. Em alguns exemplos, os filtros podem ser aplicados aos blocos residuais. Tal como acontece com outros componentes na FIG. 2, o componente de análise de controle de filtro 227 e o componente de filtros em circuito 225 são altamente integrados e podem ser implementados juntos, mas são representados separadamente para fins conceituais. Os filtros aplicados aos blocos de referência reconstruídos são aplicados a regiões espaciais específicas e incluem múltiplos parâmetros para ajustar como esses filtros são aplicados. O componente de análise de controle de filtro 227 analisa os blocos de referência reconstruídos para determinar onde tais filtros devem ser aplicados e define os parâmetros correspondentes. Tais dados são encaminhados para o componente de formatação de cabeçalho e CABAC 231 como dados de controle de filtro para codificação. O componente de filtros em circuito 225 aplica tais filtros com base nos dados de controle de filtro. Os filtros podem incluir um filtro de deblocagem, um filtro de supressão de ruído, um filtro SAO e um filtro de circuito adaptativo. Tais filtros podem ser aplicados no domínio espacial/pixel (por exemplo, em um bloco de pixel reconstruído) ou no domínio da frequência, dependendo do exemplo.
[0084] Ao operar como um codificador, o bloco de imagem reconstruído filtrado, bloco residual e/ou bloco de predição são armazenados no componente de armazenamento temporário de imagem decodificada 223 para uso posterior na estimativa de movimento conforme discutido acima. Ao operar como um decodificador, o componente de armazenamento temporário de imagem decodificada 223 armazena e encaminha os blocos reconstruídos e filtrados em direção a uma tela de exibição como parte de um sinal de vídeo de saída. O componente de armazenamento temporário de imagem decodificada 223 pode ser qualquer dispositivo de memória capaz de armazenar blocos de predição, blocos residuais e/ou blocos de imagem reconstruídos.
[0085] O componente de formatação de cabeçalho e CABAC 231 recebe os dados dos vários componentes do sistema de codec 200 e codifica esses dados em um fluxo de bits codificado para transmissão em direção a um decodificador. Especificamente, o componente de formatação de cabeçalho e CABAC 231 gera vários cabeçalhos para codificar dados de controle, como dados de controle gerais e dados de controle de filtro. Além disso, dados de predição, incluindo dados de predição intra e movimento, bem como dados residuais na forma de dados de coeficiente de transformada quantizado são todos codificados no fluxo de bits. O fluxo de bits final inclui todas as informações desejadas pelo decodificador para reconstruir o sinal de vídeo particionado original 201. Essas informações também podem incluir tabelas de índice de modo predição intra (também referidas como tabelas de mapeamento de palavra-código), definições de contextos de codificação para vários blocos, indicações de modos predição intra mais prováveis, uma indicação de informação de partição, etc. Esses dados podem ser codificados empregando codificação por entropia. Por exemplo, as informações podem ser codificadas empregando codificação de comprimento variável adaptável ao contexto (CAVLC), CABAC, codificação aritmética binária adaptável ao contexto baseada em sintaxe (SBAC), codificação por entropia de particionamento de intervalo de probabilidade (PIPE) ou outra técnica de codificação por entropia. Após a codificação por entropia, o fluxo de bits codificado pode ser transmitido para outro dispositivo (por exemplo, um decodificador de vídeo) ou arquivado para transmissão ou recuperação posterior.
[0086] FIG. 3 é um diagrama de blocos que ilustra um codificador de vídeo 300 de exemplo. O codificador de vídeo 300 pode ser empregado para implementar as funções de codificação do sistema de codec 200 e/ou implementar as etapas 101, 103, 105, 107 e/ou 109 do método operacional 100. O codificador 300 particiona um sinal de vídeo de entrada, resultando em um sinal de vídeo particionado 301, o qual é substancialmente semelhante ao sinal de vídeo particionado 201. O sinal de vídeo particionado 301 é então comprimido e codificado em um fluxo de bits por componentes do codificador 300.
[0087] Especificamente, o sinal de vídeo particionado 301 é encaminhado para um componente de predição intraimagem 317 para predição intra. O componente de predição intraimagem 317 pode ser substancialmente semelhante ao componente de estimativa intraimagem 215 e ao componente de predição intraimagem 217. O sinal de vídeo particionado 301 também é encaminhado para um componente de compensação de movimento 321 para predição inter com base em blocos de referência em um componente de armazenamento temporário de imagem decodificada 323. O componente de compensação de movimento 321 pode ser substancialmente semelhante ao componente de estimativa de movimento 221 e ao componente de compensação de movimento 219. Os blocos de predição e blocos residuais do componente de predição intraimagem 317 e do componente de compensação de movimento 321 são encaminhados para um componente de transformada e quantização 313 para transformada e quantização dos blocos residuais. O componente de transformada e quantização 313 pode ser substancialmente semelhante ao componente de quantização e escalonamento de transformada 213. Os blocos residuais transformados e quantizados e os blocos de predição correspondentes (juntamente com dados de controle associados) são encaminhados para um componente de codificação por entropia 331 para codificação em um fluxo de bits. O componente de codificação por entropia 331 pode ser substancialmente semelhante ao componente de formatação de cabeçalho e CABAC 231.
[0088] Os blocos residuais transformados e quantizados e/ou os blocos de predição correspondentes também são encaminhados do componente de transformada e quantização 313 para um componente de transformada e quantização inversa 329 para reconstrução em blocos de referência para uso pelo componente de compensação de movimento 321. O componente de transformada e quantização inversa 329 pode ser substancialmente semelhante ao componente de escalonamento e transformada inversa 229. Os filtros em circuito em um componente de filtros em circuito 325 também são aplicados aos blocos residuais e/ou blocos de referência reconstruídos, dependendo do exemplo. O componente de filtros em circuito 325 pode ser substancialmente semelhante ao componente de análise de controle de filtro 227 e ao componente de filtros em circuito 225. O componente de filtros em circuito 325 pode incluir múltiplos filtros conforme discutido em relação ao componente de filtros em circuito 225. Os blocos filtrados são então armazenados em um componente de armazenamento temporário de imagem decodificada 323 para uso como blocos de referência pelo componente de compensação de movimento 321. O componente de armazenamento temporário de imagem decodificada 323 pode ser substancialmente semelhante ao componente de armazenamento temporário de imagem decodificada 223.
[0089] FIG. 4 é um diagrama de blocos que ilustra um decodificador de vídeo 400 de exemplo. O decodificador de vídeo 400 pode ser empregado para implementar as funções de decodificação do sistema de codec 200 e/ou implementar as etapas 111, 113, 115 e/ou 117 do método operacional 100. O decodificador 400 recebe um fluxo de bits, por exemplo, de um codificador 300, e gera um sinal de vídeo de saída reconstruído com base no fluxo de bits para exibição para um usuário final.
[0090] O fluxo de bits é recebido por um componente de decodificação por entropia 433. O componente de decodificação por entropia 433 é configurado para implementar um esquema de decodificação por entropia, tal como codificação CAVLC, CABAC, SBAC, PIPE ou outras técnicas de codificação por entropia. Por exemplo, o componente de decodificação por entropia 433 pode empregar informações de cabeçalho para fornecer um contexto para interpretar dados codificados adicionais como palavrascódigo no fluxo de bits. As informações decodificadas incluem qualquer informação desejada para decodificar o sinal de vídeo, como dados de controle geral, dados de controle de filtro, informação de partição, dados de movimento, dados de predição e coeficientes de transformada quantizados de blocos residuais. Os coeficientes de transformada quantizados são encaminhados para um componente de transformada e quantização inversa 429 para reconstrução em blocos residuais. O componente de transformada e quantização inversa 429 podem ser semelhantes ao componente de transformada e quantização inversa 329.
[0091] Os blocos residuais reconstruídos e/ou blocos de predição são encaminhados para o componente de predição intraimagem 417 para reconstrução em blocos de imagem com base em operações de predição intra. O componente de predição intraimagem 417 pode ser semelhante ao componente de estimativa intraimagem 215 e um componente de predição intraimagem 217. Especificamente, o componente de predição intraimagem 417 emprega modos de predição para localizar um bloco de referência no quadro e aplica um bloco residual ao resultado para reconstruir blocos de imagem preditos de modo intra. Os blocos de imagem preditos de modo intra reconstruídos e/ou os blocos residuais e os dados de predição inter correspondentes são encaminhados para um componente de armazenamento temporário de imagem decodificada 423 por meio de um componente de filtros em circuito 425, os quais podem ser substancialmente semelhantes ao componente de armazenamento temporário de imagem decodificada 223 e componente de filtros em circuito 225, respectivamente. O componente de filtros em circuito 425 filtra os blocos de imagem reconstruídos, blocos residuais e/ou blocos de predição, e tal informação é armazenada no componente de armazenamento temporário de imagem decodificada 423. Blocos de imagem reconstruídos do componente de armazenamento temporário de imagem decodificada 423 são encaminhados para um componente de compensação de movimento 421 para predição inter. O componente de compensação de movimento 421 pode ser substancialmente semelhante ao componente de estimativa de movimento 221 e/ou ao componente de compensação de movimento 219. Especificamente, o componente de compensação de movimento 421 emprega vetores de movimento de um bloco de referência para gerar um bloco de predição e aplica um bloco residual ao resultado para reconstruir um bloco de imagem. Os blocos reconstruídos resultantes também podem ser encaminhados por meio do componente de filtros em circuito 425 para o componente de armazenamento temporário de imagem decodificada 423. O componente de armazenamento temporário de imagem decodificada 423 continua a armazenar blocos de imagem reconstruídos adicionais, que podem ser reconstruídos em quadros por meio da informação de partição. Tais quadros também podem ser colocados em sequência. A sequência é enviada para uma tela de exibição como um sinal de vídeo de saída reconstruído.
[0092] Mantendo o acima em mente, as técnicas de compressão de vídeo realizam predição espacial (intraimagem) e/ou predição temporal (interimagem) para reduzir ou remover a redundância inerente às sequências de vídeo. Para codificação de vídeo baseada em bloco, uma fatia de vídeo (ou seja, uma imagem de vídeo ou uma porção de uma imagem de vídeo) pode ser particionada em blocos de vídeo, que também podem ser chamados de blocos de árvore, blocos de árvore de codificação (CTBs), unidades de árvore de codificação (CTUs), unidades de codificação (CUs) e/ou nós de codificação. Blocos de vídeo em uma fatia intracodificada (I) de uma imagem são codificados usando predição espacial em relação a amostras de referência em blocos vizinhos na mesma imagem. Blocos de vídeo em uma fatia intercodificada (P ou B) de uma imagem podem usar predição espacial em relação a amostras de referência em blocos vizinhos na mesma imagem ou predição temporal em relação a amostras de referência em outras imagens de referência. As imagens podem ser chamadas de quadros, e as imagens de referência podem ser chamadas de quadros de referência.
[0093] A predição espacial ou temporal resulta em um bloco preditivo para um bloco a ser codificado. Os dados residuais representam as diferenças de pixel entre o bloco original a ser codificado e o bloco preditivo. Um bloco intercodificado é codificado de acordo com um vetor de movimento que aponta para um bloco de amostras de referência formando o bloco preditivo e os dados residuais indicando a diferença entre o bloco codificado e o bloco preditivo. Um bloco intracodificado é codificado de acordo com um modo de intracodificação e os dados residuais. Para compressão adicional, os dados residuais podem ser transformados do domínio de pixel para um domínio de transformada, resultando em coeficientes de transformação residuais, os quais podem então ser quantizados. Os coeficientes de transformada quantizados, inicialmente dispostos em uma matriz bidimensional, podem ser varridos para produzir um vetor unidimensional de coeficientes de transformada, e a codificação por entropia pode ser aplicada para obter ainda mais compressão.
[0094] A compressão de imagem e vídeo experimentou um rápido crescimento, levando a vários padrões de codificação. Esses padrões de codificação de vídeo incluem ITU-T H.261, Organização Internacional para Padronização/Comissão Eletrotécnica Internacional (ISO/IEC) MPEG-1 Parte 2, ITU-T H.262 ou ISO/IEC MPEG-2 Parte 2, ITUT H.263, ISO/IEC MPEG-4 Parte 2, Codificação de Vídeo Avançada (AVC), também conhecida como ITU-T H.264 ou ISO/IEC MPEG-4 Parte 10, e Codificação de Vídeo de Alta Eficiência (HEVC), também conhecida como ITU-T H.265 ou MPEG-H Parte 2. AVC inclui extensões como Codificação de Vídeo Escalonável (SVC), Codificação de Vídeo de Multivisualização (MVC) e Codificação de Vídeo de Multivisualização mais Profundidade (MVC+D), e AVC 3D (3DAVC). HEVC inclui extensões como HEVC escalonável (SHVC), HEVC de Multivisualização (MV-HEVC) e HEVC 3D (3D-HEVC).
[0095] Há também um novo padrão de codificação de vídeo, chamado Codificação de Vídeo Versátil (VVC), sendo desenvolvido pela equipe conjunta de especialistas em vídeo (JVET) da ITU-T e ISO/IEC. Embora o padrão VVC tenha projetos em andamento, um Projeto em Andamento (WD) do VVC em particular, a saber, B. Bross, J. Chen e S. Liu, “Codificação de Vídeo Versátil (Versão 5)”, JVET-N1001-v3, 13ª Reunião JVET, 27 de março de 2019 (VVC Versão 5) é referenciado neste documento.
[0096] A codificação de vídeo em camadas também é chamada de codificação de vídeo escalonável ou codificação de vídeo com escalabilidade. A escalabilidade na codificação de vídeo geralmente é suportada pelo uso de técnicas de codificação multicamadas. Um fluxo de bits multicamadas compreende uma camada base (BL) e uma ou mais camadas de aprimoramento (ELs). Um exemplo de escalabilidade inclui escalabilidade espacial, escalabilidade de qualidade/sinal-para-ruído (SNR), escalabilidade de múltiplas visualizações, etc. Quando uma técnica de codificação multicamada é usada, uma imagem ou parte dela pode ser codificada (1) sem usar uma imagem de referência, ou seja, usando a predição intra; (2) referenciando imagens de referência que estão na mesma camada, ou seja, usando predição inter; ou (3) fazendo referência a imagens de referência que estão em outra(s) camada(s), isto é, usando predição intercamadas. Uma imagem de referência usada para predição intercamadas da imagem atual é chamada de imagem de referência intercamadas (ILRP).
[0097] FIG. 5 é um diagrama esquemático que ilustra um exemplo de predição baseada em camada 500, por exemplo, conforme realizado para determinar vetores de movimento (MVs) na etapa de compressão de bloco 105, etapa de decodificação de bloco 113, componente de estimativa de movimento 221, componente de compensação de movimento 219, componente de compensação de movimento 321, e/ou componente de compensação de movimento 421. A predição baseada em camada 500 é compatível com predição inter unidirecional e/ou predição inter bidirecional, mas também é realizada entre imagens em diferentes camadas.
[0098] A predição baseada em camada 500 é aplicada entre as imagens 511, 513 e as imagens 515, 517 em diferentes camadas. No exemplo mostrado, as figuras 511 e 513 fazem parte da camada N+1 532 e as figuras 515, 516, 517 e 518 fazem parte da camada N 531. Uma camada, como a camada N 531 e/ou a camada N+1 532, é um grupo de imagens que estão todas associadas a um valor semelhante de uma característica, como tamanho, qualidade, resolução, relação sinal-para-ruído, capacidade, etc. No exemplo mostrado, a camada N+1 532 está associada a um tamanho de imagem maior do que a camada N 531. Consequentemente, as imagens 511 e 513 na camada N+1 532 têm um tamanho de imagem maior (por exemplo, maior altura e largura e, portanto, mais amostras) do que as imagens 515, 516, 517 e 518 na camada N 531 neste exemplo. No entanto, tais imagens podem ser separadas entre a camada N+1 532 e a camada N 531 por outras características. Enquanto apenas duas camadas, camada N+1 532 e camada N 531, são mostradas, um conjunto de imagens pode ser separado em qualquer número de camadas com base nas características associadas. A camada N+1 532 e a camada N 531 também podem ser indicadas por um identificador de camada (ID). Um ID de camada é um item de dados que é associado a uma imagem e indica que a imagem faz parte de uma camada indicada. Consequentemente, cada imagem 511, 513 e 515-518 pode ser associada a um ID de camada correspondente para indicar qual camada N+1 532 ou camada N 531 inclui a imagem correspondente.
[0099] As imagens 511, 513 e 515-518 em diferentes camadas 531-532 são configuradas para serem exibidas na alternativa. Como tal, as figuras 511, 513 e 515-518 em diferentes camadas 531-532 podem compartilhar o mesmo identificador (ID) temporal e podem ser incluídas na mesma AU. Conforme usado neste documento, uma AU é um conjunto de uma ou mais imagens codificadas associadas ao mesmo tempo de exibição para saída de um DPB. Por exemplo, um decodificador pode decodificar e exibir a imagem 515 no tempo de exibição atual se uma imagem menor for desejada ou o decodificador pode decodificar e exibir a imagem 511 no tempo de exibição atual se uma imagem maior for desejada. Como tal, as imagens 511 e 513 na camada superior N+1 532 contêm substancialmente os mesmos dados de imagem que as imagens correspondentes 515 e 517 na camada inferior N 531 (não obstante a diferença no tamanho da imagem). Especificamente, a imagem 511 contém substancialmente os mesmos dados de imagem que a imagem 515, a imagem 513 contém substancialmente os mesmos dados de imagem que a imagem 517, etc.
[00100] As imagens 511, 513 e 515-518 podem ser codificadas por referência a outras imagens 511, 513-518 na mesma camada N 531 ou N+1 532. Codificar uma imagem em referência a outra imagem na mesma camada resulta na predição inter 523, a qual é predição inter unidirecional e/ou predição inter bidirecional compatível. A predição inter 523 é representada por setas de linha sólida. Por exemplo, a imagem 516 pode ser codificada empregando predição inter 523 usando uma ou duas das imagens 515 e/ou 517 na camada N+1 532 como referência, onde uma imagem é referenciada para predição inter unidirecional e/ou duas imagens são referenciadas para predição inter bidirecional. Quando uma imagem é usada como referência para outra imagem na mesma camada ao realizar a predição inter 523, a imagem pode ser referida como uma imagem de referência. Por exemplo, a imagem 511 pode ser uma imagem de referência usada para codificar a imagem 513 de acordo com a predição inter 523. A predição inter 523 também pode ser referida como predição intracamada em um contexto multicamada. Como tal, a predição inter 523 é um mecanismo de codificação de amostras de uma imagem atual por referência a amostras indicadas em uma imagem de referência que são diferentes da imagem atual onde a imagem de referência e a imagem atual estão na mesma camada.
[00101] As figuras 511, 513 e 515-518 também podem ser codificadas por referência a outras figuras 511, 513 e 515- 518 em diferentes camadas. Este processo é conhecido como predição intercamadas 521 e é representado por setas tracejadas. A predição intercamadas 521 é um mecanismo de codificação de amostras de uma imagem atual por referência a amostras indicadas em uma imagem de referência onde a imagem atual e a imagem de referência estão em diferentes camadas e, portanto, têm diferentes IDs de camada. Por exemplo, uma imagem em uma camada inferior N 531 pode ser usada como uma imagem de referência para codificar uma imagem correspondente em uma camada superior N+1 532. Como um exemplo específico, a imagem 511 pode ser codificada por referência à imagem 515 de acordo com a predição intercamadas 521. Nesse caso, a imagem 515 é usada como uma imagem de referência intercamadas. Uma imagem de referência intercamadas é uma imagem de referência usada para predição intercamadas 521. Na maioria dos casos, a predição intercamadas 521 é restringida de tal forma que uma imagem atual, como a imagem 511, só pode usar imagens de referência intercamadas que estão incluídas na mesma AU e que estão em uma camada inferior, como imagem 515. Quando múltiplas camadas (por exemplo, mais de duas) estão disponíveis, a predição intercamadas 521 pode codificar/decodificar uma imagem atual com base em múltiplas imagem(ns) de referência intercamadas em níveis inferiores do que a imagem atual.
[00102] Um codificador de vídeo pode empregar predição baseada em camada 500 para codificar imagens 511, 513 e 515-518 por meio de muitas combinações e/ou permutações diferentes de predição inter 523 e predição intercamadas 521. Por exemplo, a imagem 515 pode ser codificada de acordo com a predição intra. As imagens 516-518 podem então ser codificadas de acordo com a predição inter 523 usando a imagem 515 como uma imagem de referência. Além disso, a imagem 511 pode ser codificada de acordo com a predição intercamadas 521 usando a imagem 515 como uma imagem de referência intercamadas. A imagem 513 pode então ser codificada de acordo com a predição inter 523 usando a imagem 511 como uma imagem de referência. Como tal, uma imagem de referência pode servir como uma imagem de referência de camada única e uma imagem de referência intercamadas para diferentes mecanismos de codificação. Ao codificar imagens de camada superior N+1 532 com base em imagens de camada inferior N 531, a camada superior N+1 532 pode evitar o emprego de predição intra, que tem uma eficiência de codificação muito menor do que a predição inter 523 e a predição intercamadas 521. Como tal, a baixa eficiência de codificação da predição intra pode ser limitada às imagens de menor/inferior qualidade e, portanto, limitada à codificação da menor quantidade de dados de vídeo. As imagens usadas como imagens de referência e/ou imagens de referência intercamadas podem ser indicadas nas entradas da(s) lista(s) de imagens de referência contidas em uma estrutura de lista de imagens de referência.
[00103] Cada AU 506 na FIG. 5 pode conter uma ou várias imagens. Por exemplo, uma AU 506 pode conter imagens 511 e 515. Outra AU 506 pode conter apenas a imagem 516. De fato, cada AU 506 é um conjunto de uma ou mais imagens codificadas associadas ao mesmo tempo de exibição (por exemplo, o mesmo ID temporal) para saída de um armazenamento temporário de imagem decodificada (DPB) (por exemplo, para exibição para um usuário). Cada delimitador de unidade de acesso (AUD) 508 é um indicador ou estrutura de dados usada para indicar o início de uma AU (por exemplo, AU 506) ou a fronteira entre AUs.
[00104] Em uma modalidade, uma AU 506 contendo uma imagem em cada camada é referida como uma AU completa. Um exemplo de uma AU completa é a AU 506 contendo as figuras 511 e 515 ou a AU 506 contendo as figuras 513 e 517. Em uma modalidade, uma AU 506 que não contém uma imagem em cada camada é referida como uma AU incompleta. Um exemplo de uma AU incompleta é a AU 506 contendo a imagem 516 ou a AU 506 contendo a imagem 518. O uso de AUs completas e incompletas em uma CLVS 540 permite que camadas diferentes tenham taxas de bits diferentes. A título de exemplo, a camada 531 tem quatro imagens 515-518 em comparação com as duas imagens 511, 513 da camada 532. Assim, a camada 531 tem uma taxa de bits mais alta em relação à camada 532. Em aplicações práticas, um número diferente de camadas pode ser incluído na CLVS 540 e as diferentes camadas podem ter um número diferente de imagens para suportar diferentes taxas de bits.
[00105] Em uma modalidade, a AU 506 no início ou começo da sequência de vídeo de camada codificado (CLVS) 540 é referida a uma AU de início de sequência de vídeo codificado (CVSS). Ou seja, a AU inicial ou a primeira 506 na CVS 540 é uma CVSS AU. Em uma modalidade, as imagens 511, 515 em cada camada 531, 532 da AU 506 designada como CVSS AU são imagens de início de sequência de vídeo de camada codificado (CLVSS). Ou seja, a CVSS AU contém uma imagem CLVSS (por exemplo, imagem 515) em uma camada (por exemplo, camada N 531) e outra imagem CLVSS (por exemplo, imagem 511) em outra camada (por exemplo, camada N+1 532). Uma imagem CLVSS é, por exemplo, uma imagem de ponto de acesso aleatório intra (IRAP), uma imagem de atualização de decodificação gradual, uma imagem de acesso aleatório limpo (CRA), uma imagem de atualização de decodificador instantânea (IDR), uma imagem de Acesso de Enlace Quebrado (BLA), ou outro tipo de imagem de ponto de acesso aleatório.
[00106] Em uma modalidade, algumas das AUs 506 (excluindo a CVSS AU) podem conter uma imagem IRAP (por exemplo, imagem 517) em uma camada (por exemplo, camada N 531) e uma imagem não IRAP (por exemplo, imagem 513) em outra camada (por exemplo, camada N+1 532). Ou seja, a mesma AU contém imagens IRAP e não IRAP em camadas diferentes. Enquanto uma das AUs 506 na FIG. 5 é mostrada contendo uma imagem IRAP e uma imagem não IRAP, um número diferente de imagens IRAP e não IRAP pode ser incluído na AU em aplicações práticas quando a AU contém mais de duas camadas. As imagens IRAP são discutidas com mais detalhes abaixo.
[00107] As famílias de codificação de vídeo H.26x anteriores forneceram suporte para escalabilidade em perfil(is) separado(s) do(s) perfil(is) para codificação de camada única. A codificação de vídeo escalonável (SVC) é a extensão escalonável do AVC/H.264 que fornece suporte para escalabilidades espacial, temporal e de qualidade. Para SVC, um indicador é sinalizado em cada macrobloco (MB) nas imagens EL para indicar se o EL MB é predito usando o bloco colocalizado de uma camada inferior. A predição do bloco colocalizado pode incluir textura, vetores de movimento e/ou modos de codificação. As implementações de SVC não podem reutilizar diretamente implementações H.264/AVC não modificadas em seu projeto. A sintaxe de macrobloco SVC EL e o processo de decodificação diferem da sintaxe H.264/AVC e do processo de decodificação.
[00108] HEVC Escalonável (SHVC) é a extensão do padrão HEVC/H.265 que fornece suporte para escalabilidades espacial e de qualidade, HEVC de múltiplas visualizações (MV-HEVC) é a extensão do HEVC/H.265 que fornece suporte para escalabilidade de múltiplas visualizações, e 3D HEVC (3D-HEVC) é a extensão do HEVC/H.264 que oferece suporte para codificação de vídeo tridimensional (3D) mais avançada e mais eficiente que o MV-HEVC. Observe que a escalabilidade temporal está incluída como parte integrante do codec HEVC de camada única. O projeto da extensão multicamadas do HEVC emprega a ideia de que as imagens decodificadas usadas para predição intercamadas vêm apenas da mesma unidade de acesso (AU) e são tratadas como imagens de referência de longo prazo (LTRPs), e são atribuídos índices de referência na(s) lista(s) de imagens de referência juntamente com outras imagens de referência temporal na camada atual. A predição intercamadas (ILP) é alcançada no nível da unidade de predição (PU) definindo o valor do índice de referência para se referir à(s) imagem(ns) de referência intercamadas na(s) lista(s) de imagens de referência.
[00109] Notavelmente, ambos os recursos de reamostragem de imagem de referência e escalabilidade espacial exigem reamostragem de uma imagem de referência ou parte dela. A reamostragem de imagem de referência (RPR) pode ser realizada nível de imagem ou no nível de bloco de codificação. No entanto, quando a RPR é referida como um recurso de codificação, é um recurso para codificação de camada única. Mesmo assim, é possível ou mesmo preferível do ponto de vista do projeto de codec usar o mesmo filtro de reamostragem tanto para o recurso RPR de codificação de camada única quanto para o recurso de escalabilidade espacial para codificação multicamada.
[00110] A versão mais recente do VVC suporta codificação de vídeo em camadas. Um fluxo de bits VVC pode incluir múltiplas camadas. As camadas podem ser todas independentes umas das outras, ou seja, cada camada é codificada sem usar a predição intercamadas (ILP). Nesse caso, as camadas também são chamadas de camadas de difusão simultânea (simulcast). Também é possível que algumas das camadas sejam codificadas usando ILP. Um indicador no VPS é usado para indicar se as camadas são camadas de difusão simultânea ou se algumas camadas usam ILP. Quando algumas camadas utilizam ILP, a relação de dependência de camada entre camadas também é sinalizada no VPS.
[00111] Ao contrário do SHVC e do MV-HEVC, a versão mais recente do VVC não especifica OLSs. Um OLS é um conjunto de camadas para as quais uma ou mais camadas são especificadas como camadas de saída. Uma camada de saída é uma camada de um conjunto de camadas de saída que é emitida.
[00112] Na última versão do VVC, quando as camadas são camadas de difusão simultânea, é especificado que apenas uma camada pode ser selecionada para decodificação e emissão. Na última versão do VVC, quando algumas camadas usam ILP, todas as camadas no fluxo de bits são especificadas para serem decodificadas, mas apenas algumas camadas são especificadas como camadas de saída. As camadas de saída podem ser indicadas como 1) apenas a camada mais alta, 2) todas as camadas ou 3) a camada mais alta mais um conjunto de camadas inferiores indicadas.
[00113] FIG. 6 é uma representação 600 de uma relação entre uma imagem 602 de ponto de acesso aleatório intra (IRAP) em relação às imagens conducentes 604 e imagens seguidoras 606 em uma ordem de decodificação 608 e uma ordem de apresentação 610 (também conhecida como uma ordem de saída). Em uma modalidade, a imagem IRAP 602 é referida como uma imagem de acesso aleatório limpo (CRA) ou como uma imagem de atualização de decodificador instantânea (IDR) com imagem decodificável de acesso aleatório (RADL). Em HEVC, imagens IDR, imagens CRA e imagens de Acesso de Enlace Quebrado (BLA) são todas consideradas imagens IRAP 602. Para o VVC, durante a 12ª reunião do JVET em outubro de 2018, foi acordado ter ambas as imagens IDR e CRA como imagens IRAP. Em uma modalidade, as imagens de Acesso de Enlace Quebrado (BLA) e imagens de Atualização de Decodificador Gradual (GDR) também podem ser consideradas imagens IRAP. O processo de decodificação de uma sequência de vídeo codificado sempre começa em um IRAP. As imagens IRAP fornecem um ponto de acesso aleatório (RAP).
[00114] Como mostrado na FIG. 6, as imagens conducentes 604 (por exemplo, imagens 2 e 3) seguem a imagem IRAP 602 na ordem de decodificação 608, mas precedem a imagem IRAP 602 na ordem de apresentação 610. A imagem seguidora 606 segue a imagem IRAP 602 tanto na ordem de decodificação 608 quanto na ordem de apresentação 610. Enquanto duas imagens conducentes 604 e uma imagem seguidora 606 são representadas na FIG. 6, os versados na técnica apreciarão que mais ou menos imagens conducentes 604 e/ou imagens seguidoras 606 podem estar presentes na ordem de decodificação 608 e na ordem de apresentação 610 em aplicações práticas.
[00115] As imagens conducentes 604 na FIG. 6 foram divididas em dois tipos, a saber, conducente ignorada de acesso aleatório (RASL) e RADL. Quando a decodificação começa com a imagem IRAP 602 (por exemplo, imagem 1), a imagem RADL (por exemplo, imagem 3) pode ser decodificada adequadamente; no entanto, a imagem RASL (por exemplo, imagem 2) não pode ser decodificada corretamente. Assim, a imagem RASL é descartada. À luz da distinção entre imagens RADL e RASL, o tipo de imagem conducente 604 associada à imagem IRAP 602 deve ser identificado como RADL ou RASL para codificação eficiente e adequada. Em HEVC, quando as imagens RASL e RADL estão presentes, é restringido que para imagens RASL e RADL que estão associadas à mesma imagem IRAP 602, as imagens RASL devem preceder as imagens RADL na ordem de apresentação 610.
[00116] Uma imagem IRAP 602 fornece as seguintes duas funcionalidades/benefícios importantes. Em primeiro lugar, a presença de uma imagem IRAP 602 indica que o processo de decodificação pode começar a partir dessa imagem. Esta funcionalidade permite um recurso de acesso aleatório no qual o processo de decodificação começa nessa posição no fluxo de bits, não necessariamente no começo do fluxo de bits, desde que uma imagem IRAP 602 esteja presente nessa posição. Em segundo lugar, a presença de uma imagem IRAP 602 atualiza o processo de decodificação de modo que uma imagem codificada começando na imagem IRAP 602, excluindo imagens RASL, seja codificada sem qualquer referência a imagens anteriores. Ter uma imagem IRAP 602 presente no fluxo de bits, consequentemente, interromperia qualquer erro que pudesse ocorrer durante a decodificação de imagens codificadas antes da imagem IRAP 602 para propagar para a imagem IRAP 602 e aquelas imagens que seguem a imagem IRAP 602 na ordem de decodificação 608.
[00117] Embora as imagens IRAP 602 forneçam funcionalidades importantes, elas vêm com uma penalidade na eficiência da compressão. A presença de uma imagem IRAP 602 causa um aumento na taxa de bits. Esta penalidade para a eficiência de compressão deve-se a duas razões. Em primeiro lugar, como uma imagem IRAP 602 é uma imagem predita de modo intra, a própria imagem exigiria relativamente mais bits para representar quando comparada a outras imagens (por exemplo, imagens conducentes 604, imagens seguidoras 606) que são imagens preditas de modo inter. Em segundo lugar, como a presença de uma imagem IRAP 602 quebra a predição temporal (isso porque o decodificador atualizaria o processo de decodificação, no qual uma das ações do processo de decodificação para isso é remover imagens de referência anteriores no armazenamento temporário de imagem decodificada (DPB)), a imagem IRAP 602 faz com que a codificação de imagens que seguem a imagem IRAP 602 na ordem de decodificação 608 seja menos eficiente (isto é, precisa de mais bits para representar) porque elas têm menos imagens de referência para sua codificação de predição inter.
[00118] Dentre os tipos de imagem que são considerados imagens IRAP 602, a imagem IDR em HEVC possui sinalização e derivação diferente quando comparada a outros tipos de imagem. Algumas das diferenças são as seguintes.
[00119] Para sinalização e derivação de um valor de contagem de ordem de imagem (POC) de uma imagem IDR, a parte do bit mais significativo (MSB) do POC não é derivada da imagem-chave anterior, mas simplesmente definida como igual a 0.
[00120] Para a informação de sinalização necessária para o gerenciamento da imagem de referência, o cabeçalho de fatia de uma imagem IDR não contém a informação necessária para ser sinalizada para auxiliar o gerenciamento de imagem de referência. Para outros tipos de imagem (ou seja, CRA, Seguidora, Acesso de Subcamada Temporal (TSA), etc.), informações como o conjunto de imagens de referência (RPS) descrito abaixo ou outras formas de informações semelhantes (por exemplo, listas de imagens de referência) são necessárias para o processo de marcação de imagens de referência (ou seja, o processo para determinar o estado de imagens de referência no armazenamento temporário de imagem decodificada (DPB), usado para referência e não usado para referência). No entanto, para a imagem IDR, tal informação não precisa ser sinalizada porque a presença de IDR indica que o processo de decodificação deve simplesmente marcar todas as imagens de referência no DPB como não usadas para referência.
[00121] Em HEVC e VVC, as imagens IRAP e as imagens conducentes recebem diferentes tipos de unidade NAL (NUTs) para que possam ser facilmente identificadas por aplicações de nível de sistema. Por exemplo, um emendador de vídeo precisa entender os tipos de imagens codificadas sem ter que entender detalhes demais do elemento de sintaxe no fluxo de bits codificado, particularmente para identificar imagens IRAP de imagens não IRAP e identificar imagens conducentes, incluindo determinar imagens RASL e RADL, a partir de imagens seguidoras. As imagens seguidoras são aquelas que estão associadas a uma imagem IRAP e seguem a imagem IRAP na ordem de saída. Uma imagem associada a uma imagem IRAP específica segue a imagem IRAP específica na ordem de decodificação e precede qualquer outra imagem IRAP na ordem de decodificação. Para isso, dar ao IRAP e às imagens conducentes seu próprio tipo de unidade NAL pode ajudar essas aplicações.
[00122] Em HEVC, cada imagem tem um valor POC atribuído a ela, denotado como PicOrderCntVal. O POC tem três usos principais: para identificar imagens de forma exclusiva, para indicar a posição de saída em relação a outras imagens no mesmo CVS e para realizar o escalonamento de vetor de movimento dentro do processo de decodificação da camada de codificação de vídeo de nível inferior (VCL). Todas as imagens no mesmo CVS têm um valor POC exclusivo. Imagens de diferentes CVSs podem compartilhar o mesmo valor POC, mas as imagens ainda podem ser identificadas de forma exclusiva, pois não há possibilidade de misturar imagens de um CVS com qualquer imagem de outro CVS. As lacunas nos valores POC são permitidas em um CVS. Ou seja, a diferença do valor POC entre duas imagens consecutivas na ordem de saída pode diferir em mais de um (e, de fato, a quantidade, pela qual os valores POC para imagens consecutivas podem diferir, pode variar arbitrariamente).
[00123] Em HEVC, o valor POC de uma imagem é sinalizado usando uma palavra-código no cabeçalho de fatia. A faixa de valores POC permitidos é de -231 a 231-1, portanto, para salvar bits no cabeçalho de fatia, apenas os bits menos significativos do valor POC (POC LSB) são sinalizados. O número de bits a serem usados para POC LSB pode estar entre 4 e 16, e são sinalizados no SPS. O resto dos bits são os bits de valor POC mais significativos (POC MSB). Como apenas o POC LSB é sinalizado no cabeçalho de fatia, o POC MSB para a imagem atual é derivado de uma imagem anterior, chamada prevTid0Pic. Para que a derivação POC funcione da mesma maneira, mesmo quando as imagens são removidas, prevTid0Pic é definido para a imagem anterior mais próxima da camada temporal 0 que não é uma imagem RASL, uma imagem RADL ou uma imagem sem referência de subcamada. O decodificador deriva o valor POC MSB comparando o valor POC da imagem atual com o valor POC da imagem prevTid0Pic.
[00124] Infelizmente, os projetos de codificação existentes têm desvantagens. Por exemplo, em SHVC e MVHEVC, imagens IRAP e não IRAP mistas podem ser incluídas dentro da mesma unidade de acesso (por exemplo, imagem 511 e 515 em AU 506 na FIG. 5), mas o projeto é muito complicado. De fato, o processo de decodificação geral para este projeto é especificado em SHVC e MV-HEVC usando várias páginas de texto na cláusula F.8.1 do padrão HEVC mais recente. O texto envolve o uso de muitos indicadores/variáveis/listas globais, incluindo NoClrasOutputFlag, LayerInitializedFlag, LayerResetFlag, FirstPicInLayerDecodedFlag, NumPredictedLayers, IdPredictedLayer, IdDirectRefLayer, NumDirectRefLayers, NumActiveRefLayerPics, NumActiveRefLayerPics0, NumActiveRefLayerPics1, etc. Muitos outros locais em SHVC e MV-HEVC que fornecem suporte para imagens IRAP e não IRAP mistas dentro de uma unidade de acesso também são complicados. Isso inclui o processo de derivação POC.
[00125] São divulgadas neste documento técnicas que simplificam a codificação utilizando um fluxo de bits que é restrito de modo que cada unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) seja uma AU completa e cada imagem na CVSS AU seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS). Isso garante que um ponto de acesso aleatório (RAP) seja fornecido para cada camada do fluxo de bits de multicamadas no início de cada sequência de vídeo codificado (CVS). Assim, o codificador/decodificador (também conhecido como “codec”) na codificação de vídeo é aprimorado em relação aos codecs atuais. Na prática, o processo de codificação de vídeo aprimorado oferece ao usuário uma melhor experiência de usuário quando os vídeos são enviados, recebidos e/ou visualizados.
[00126] FIG. 7 ilustra um fluxo de bits de vídeo 750 configurado para implementar uma técnica de atualização de decodificação gradual (GDR) 700. Conforme usado neste documento, o fluxo de bits de vídeo 750 também pode ser referido como um fluxo de bits de vídeo codificado, um fluxo de bits ou variações dos mesmos. Como mostrado na FIG. 7, o fluxo de bits 750 compreende um conjunto de parâmetros de sequência (SPS) 752, um conjunto de parâmetros de imagem (PPS) 754, um cabeçalho de fatia 756 e dados de imagem 758.
[00127] O SPS 752 contém dados que são comuns a todas as imagens em uma sequência de imagens (SOP). Em contraste, o PPS 754 contém dados que são comuns a toda a imagem. O cabeçalho de fatia 756 contém informações sobre a fatia atual, como, por exemplo, o tipo de fatia, qual das imagens de referência será usada e assim por diante. O SPS 752 e o PPS 754 podem ser genericamente referidos como um conjunto de parâmetros. O SPS 752, o PPS 754 e o cabeçalho de fatia 756 são tipos de unidades de Camada de Abstração de Rede (NAL). Uma unidade NAL é uma estrutura de sintaxe que contém uma indicação do tipo de dados a seguir (por exemplo, dados de vídeo codificado). As unidades NAL são classificadas em camada de codificação de vídeo (VCL) e unidades NAL não VCL. As unidades VCL NAL contêm os dados que representam os valores das amostras nas imagens de vídeo, e as unidades NAL não VCL contêm qualquer informação adicional associada, como conjuntos de parâmetros (dados importantes que podem ser aplicados a várias unidades VCL NAL) e informação de aprimoramento suplementar (informações de temporização e outros dados suplementares que podem melhorar a usabilidade do sinal de vídeo decodificado, mas não são necessários para decodificar os valores das amostras nas imagens de vídeo). Os versados na técnica apreciarão que o fluxo de bits 750 pode conter outros parâmetros e informações em aplicações práticas.
[00128] Os dados de imagem 758 da FIG. 7 compreende dados associados às imagens ou vídeo que estão sendo codificados ou decodificados. Os dados de imagem 758 podem ser simplesmente referidos como payload ou dados sendo portados no fluxo de bits 750. Em uma modalidade, os dados de imagem 758 compreendem o CVS 708 (ou CLVS) contendo uma imagem GDR 702, uma ou mais imagens seguidoras 704 e uma imagem de ponto de recuperação 706. Em uma modalidade, a imagem GDR 702 é referida como uma imagem de início de CVS (CVSS). A CVS 708 é uma sequência de vídeo codificado para cada sequência de vídeo de camada codificado (CLVS) no fluxo de bits de vídeo 750. Notavelmente, a CVS e a CLVS são as mesmas quando o fluxo de bits de vídeo 750 inclui uma única camada. A CVS e a CLVS são apenas diferentes quando o fluxo de bits de vídeo 750 inclui múltiplas camadas. Em uma modalidade, as imagens seguidoras 704 podem ser consideradas uma forma de imagem GDR, uma vez que precedem a imagem de ponto de recuperação 706 no período GDR.
[00129] Em uma modalidade, a imagem GDR 702, as imagens seguidoras 704 e a imagem de ponto de recuperação 706 podem definir um período GDR na CVS 708. Em uma modalidade, uma ordem de decodificação começa com a imagem GDR 702, continua com as imagens seguidoras 704 e, em seguida, prossegue para a imagem de recuperação 706.
[00130] A CVS 708 é uma série de imagens (ou porções da mesma) iniciando com a imagem GDR 702 e inclui todas as imagens (ou porções da mesma) até, mas não incluindo, a próxima imagem GDR ou até o final do fluxo de bits 750. O período GDR é uma série de imagens iniciando com a imagem GDR 702 e inclui todas as imagens até e incluindo a imagem de ponto de recuperação 706. O processo de decodificação para a CVS 708 sempre inicia na imagem GDR 702.
[00131] Como mostrado na FIG. 7, a técnica GDR 700 ou princípio funciona em uma série de imagens iniciando com a imagem GDR 702 e terminando com a imagem de ponto de recuperação 706. A imagem GDR 702 contém uma região atualizada/limpa 710 contendo blocos que foram todos codificados usando predição intra (ou seja, blocos preditos de modo intra) e uma região não atualizada/suja 712 contendo blocos que foram todos codificados usando predição inter (ou seja, blocos preditos de modo inter).
[00132] A imagem seguidora 704 imediatamente adjacente à imagem GDR 702 contém uma região atualizada/limpa 710 tendo uma primeira porção 710A codificada usando predição intra e uma segunda porção 710B codificada usando predição inter. A segunda porção 710B é codificada fazendo referência à região atualizada/limpa 710 de, por exemplo, uma imagem anterior dentro do período GDR da CVS 708. Conforme mostrado, a região atualizada/limpa 710 das imagens seguidoras 704 se expande à medida que o processo de codificação se move ou progride em uma direção consistente (por exemplo, da esquerda para a direita), o que reduz correspondentemente a região não atualizada/suja 712. Eventualmente, a imagem de ponto de recuperação 706, a qual contém apenas a região atualizada/limpa 710, é obtida a partir do processo de codificação. Notavelmente, e como será discutido mais adiante, a segunda porção 710B da região atualizada/limpa 710, que é codificada como blocos preditos de modo inter, pode se referir apenas à região atualizada/limpa 710 na imagem de referência.
[00133] Como mostrado na FIG. 7, fatias da imagem GDR 702, as imagens seguidoras 704 e a imagem de ponto de recuperação 706 na CVS 708 estão cada uma contida dentro de sua própria unidade VCL NAL 730.
[00134] Em uma modalidade, a unidade VCL NAL 730 contendo a imagem GDR 702 na CVS 708 tem um tipo de unidade GDR NAL (GDR_NUT). Ou seja, em uma modalidade, a unidade VCL NAL 730 contendo a imagem GDR 702 na CVS 708 tem seu próprio tipo de unidade NAL exclusivo em relação às imagens seguidoras 704 e à imagem de ponto de recuperação 706. Em uma modalidade, o GDR_NUT permite que o fluxo de bits 750 comece com a imagem GDR 702 em vez do fluxo de bits 750 ter que começar com uma imagem de ponto de acesso aleatório intra (IRAP). Designar a unidade VCL NAL 730 da imagem GDR 702 como GDR_NUT pode indicar para, por exemplo, um decodificador que a unidade VCL NAL 730 inicial na CVS 708 contém a imagem GDR 702. Em uma modalidade, a imagem GDR 702 é a imagem inicial na CVS 708. Em uma modalidade, a imagem GDR 702 é a imagem inicial no período GDR.
[00135] FIG. 8 é um diagrama esquemático que ilustra uma busca de movimento indesejável 800 ao usar a restrição de codificador para suportar GDR. Conforme mostrado, a busca de movimento 800 representa uma imagem atual 802 e uma imagem de referência 804. A imagem atual 802 e a imagem de referência 804 incluem, cada uma, uma região atualizada 806 codificada com predição intra, uma região atualizada 808 codificada com predição inter e uma região não atualizada 810. A região atualizada 806, a região atualizada 808 e a região não atualizada 810 são semelhantes à primeira porção 710A da região atualizada/limpa 710, à segunda porção 710B da região atualizada/limpa 710 e à região não atualizada/suja região 712 na FIG. 7.
[00136] Durante o processo de busca de movimento 800, o codificador é restringido ou impedido de selecionar qualquer vetor de movimento 812 que resulte em algumas das amostras do bloco de referência 814 localizadas fora da região atualizada 806. Isso ocorre mesmo quando o bloco de referência 814 fornece os melhores critérios de custo de taxa-distorção ao prever o bloco atual 816 na imagem atual 802. Assim, a FIG. 8 ilustra o motivo da não otimização na busca de movimento 800 ao usar a restrição do codificador para suportar GDR.
[00137] FIG. 9 ilustra uma modalidade de um fluxo de bits de vídeo 900. Conforme usado neste documento, o fluxo de bits de vídeo 900 também pode ser referido como um fluxo de bits de vídeo codificado, um fluxo de bits ou variações dos mesmos. Como mostrado na FIG. 9, o fluxo de bits 900 compreende pelo menos uma unidade de imagem (PU) 901. A PU 901 também pode ser referida como uma unidade de acesso de camada. Enquanto três das PUs 901 são mostradas na FIG. 9, um número diferente de PUs 901 pode estar presente no fluxo de bits 900 em aplicações práticas. Cada PU 901 é um conjunto de unidades NAL que estão associadas umas às outras de acordo com uma regra de classificação especificada, são consecutivas em ordem de decodificação e contêm exatamente uma imagem codificada (por exemplo, imagem 914).
[00138] Em uma modalidade, cada PU 901 contém um ou mais dos seguintes: uma informação de capacidade de decodificação (DCI) 902, um conjunto de parâmetros de vídeo (VPS) 904, um conjunto de parâmetros de sequência (SPS) 906, um conjunto de parâmetros de imagem (PPS) 908, um cabeçalho de imagem (PH) 912 e uma imagem 914. Cada um dos DCI 902, VPS 904, SPS 906 e PPS 908 pode ser genericamente referido como um conjunto de parâmetros. Em uma modalidade, outros conjuntos de parâmetros não mostrados na FIG. 9 também podem ser incluídos no fluxo de bits 900, como, por exemplo, um conjunto de parâmetros de adaptação (APS), que é uma estrutura de sintaxe contendo elementos de sintaxe que se aplicam a zero ou mais fatias conforme determinado por zero ou mais elementos de sintaxe encontrados em cabeçalhos de fatia.
[00139] A DCI 902, que também pode ser referida a um conjunto de parâmetros de decodificação (DPS) ou conjunto de parâmetros de decodificador, é uma estrutura de sintaxe contendo elementos de sintaxe que se aplicam a todo o fluxo de bits. A DCI 902 inclui parâmetros que permanecem constantes durante o tempo de vida do fluxo de bits de vídeo (por exemplo, fluxo de bits 900), o qual pode ser traduzido como tempo de vida de uma sessão. A DCI 902 pode incluir informações de perfil, nível e subperfil para determinar um ponto de interoperabilidade de complexidade máxima que é garantido que nunca será excedido, mesmo se ocorrer emenda de sequências de vídeo em uma sessão. Além disso, opcionalmente inclui indicadores de restrição, os quais indicam que o fluxo de bits de vídeo será restrito ao uso de determinados recursos conforme indicado pelos valores desses indicadores. Com isso, um fluxo de bits pode ser rotulado como não usando certas ferramentas, as quais permitem, entre outras coisas, alocar recursos em uma implementação de decodificador. Como todos os conjuntos de parâmetros, a DCI 902 está presente quando referenciada pela primeira vez, e referenciada pela primeira imagem em uma sequência de vídeo, o que implica que ela deve ser enviada dentre as primeiras unidades NAL no fluxo de bits. Embora múltiplas DCIs 902 possam estar no fluxo de bits, o valor dos elementos de sintaxe nela não pode ser inconsistente ao ser referenciado.
[00140] O VPS 904 inclui dependência de decodificação ou informações para construção de conjunto de imagens de referência de camadas de aprimoramento. O VPS 904 fornece uma perspectiva geral ou visão de uma sequência escalonável, incluindo quais tipos de pontos de operação são fornecidos, o perfil, a categoria e o nível dos pontos de operação, e algumas outras propriedades de alto nível do fluxo de bits que podem ser usadas como base para negociação de sessão e seleção de conteúdo, etc.
[00141] O SPS 906 contém dados que são comuns a todas as imagens em uma sequência de imagens (SOP). O SPS 906 é uma estrutura de sintaxe contendo elementos de sintaxe que se aplicam a zero ou mais CLVSs inteiras conforme determinado pelo conteúdo de um elemento de sintaxe encontrado no PPS referido por um elemento de sintaxe encontrado em cada cabeçalho de imagem. Em contraste, o PPS 908 contém dados que são comuns a toda a imagem. O PPS 908 é uma estrutura de sintaxe contendo elementos de sintaxe que se aplicam a zero ou mais imagens codificadas inteiras conforme determinado por um elemento de sintaxe encontrado em cada cabeçalho de imagem (por exemplo, PH 912).
[00142] Em uma modalidade, o SPS 906 contém um primeiro indicador 930, que é um indicador POC MSB designado como sps_poc_msb_cycle_flag. Quando o primeiro indicador 930 tem um primeiro valor (por exemplo, 1), o primeiro indicador 930 especifica que um cabeçalho (por exemplo, o cabeçalho de imagem 912) contém um segundo indicador 940, o qual é outro indicador POC MSB designado como ph_poc_msb_cycle_present_flag. Quando o primeiro indicador 930 tem um segundo valor (por exemplo, 0), o primeiro indicador 930 especifica que o cabeçalho (por exemplo, o cabeçalho de imagem 912) não contém o segundo indicador 940. Conforme usado neste documento, o segundo indicador 940 pode ser referido como um elemento de sintaxe ph_poc_msb_cycle_present_flag.
[00143] O SPS 908 também contém um indicador de comprimento 950 do valor POC MSB quando o valor POC MSB está contido no cabeçalho que se refere ao SPS 906. Em uma modalidade, o indicador do comprimento 950 é designado como sps_poc_msb_cycle_len_minus1. Em uma modalidade, sps_poc_msb_cycle_len_minus1, mais 1, especifica o comprimento, em bits, do valor POC MSB quando o valor POC MSB está presente no cabeçalho que se refere ao SPS. Em uma modalidade, o valor do indicador está em uma faixa de zero (0) a 32 − sps_log2_max_pic_order_cnt_lsb_minus4 − 5, inclusive. sps_log2_max_pic_order_cnt_lsb_minus4 especifica o valor da variável MaxPicOrderCntLsb (por exemplo, o LSB de contagem de ordem de imagem máxima) usada no processo de decodificação para contagem de ordem de imagem da seguinte maneira: MaxPicOrderCntLsb = 2(sps_log2_max_pic_order_cnt_lsb_minus4+4), onde o valor de sps_log2_max_pic_order_cnt_lsb_minus4 deve estar na faixa de 0 a 12, inclusive.
[00144] O segundo indicador 940 especifica se um valor POC MSB 960 está presente no cabeçalho. Quando o segundo indicador 940 tem um primeiro valor (por exemplo, 1), o segundo indicador 940 especifica que o valor POC MSB 960 está presente no cabeçalho (por exemplo, o cabeçalho de imagem 912). Quando o segundo indicador 940 tem um segundo valor (por exemplo, 0), o segundo indicador 940 especifica que o valor POC MSB 960 não está presente no cabeçalho. Em uma modalidade, o valor POC MSB 960 pode ser referido como elemento ou elementos de sintaxe de valor POC MSB.
[00145] O valor POC MSB 960 especifica o valor do ciclo POC MSB de uma imagem atual (por exemplo, imagem 914). Em uma modalidade, o valor POC MSB 960 é designado como ph_poc_msb_cycle_val. Assim, o valor POC MSB 960 é explicitamente sinalizado no fluxo de bits 900 em vez de ser derivado com base em uma imagem anterior. Em uma modalidade, o valor POC MSB sinalizado no fluxo de bits é usado para obter um valor POC. Em uma modalidade, o valor POC é determinado pela concatenação do valor POC MSB e um POC LSB, que também pode ser sinalizado no fluxo de bits 900.
[00146] Cada imagem codificada é associada a uma variável de contagem de ordem de imagem, denotada como PicOrderCntVal. PicOrderCntVal é derivado da seguinte forma: PicOrderCntVal = PicOrderCntMsb + ph_pic_order_cnt_lsb, onde PicOrderCntMsb é o POC MSB e ph_pic_order_cnt_lsb é o POC LSB.
[00147] Como será explicado mais detalhadamente abaixo, o uso dos indicadores mencionados acima permite imagens IRAP não sincronizadas ao longo de camadas. A manipulação de POC descrita neste documento garante que os valores POC de todas as imagens dentro de uma AU sejam os mesmos. Para efetuar isso, os valores POC MSB são sinalizados (em vez de serem derivados) para imagens IRAP, ou seja, imagens IDR, CRA e GDR. Isso permite um projeto significativamente mais simples para derivação POC em comparação com o mecanismo de redefinição de POC misto e sinalização de POC MSB no SHVC e MV-HEVC.
[00148] A DCI 902, o VPS 904, o SPS 906 e o PPS 908 estão contidos em diferentes tipos de unidades de Camada de Abstração de Rede (NAL). Uma unidade NAL é uma estrutura de sintaxe que contém uma indicação do tipo de dados a seguir (por exemplo, dados de vídeo codificado). As unidades NAL são classificadas em camada de codificação de vídeo (VCL) e unidades NAL não VCL. As unidades VCL NAL contêm os dados que representam os valores das amostras nas imagens de vídeo, e as unidades NAL não VCL contêm qualquer informação adicional associada, como conjuntos de parâmetros (dados importantes que podem ser aplicados a várias unidades VCL NAL) e informação de aprimoramento suplementar (informações de temporização e outros dados suplementares que podem melhorar a usabilidade do sinal de vídeo decodificado, mas não são necessários para decodificar os valores das amostras nas imagens de vídeo).
[00149] Em uma modalidade, a DCI 902 está contida em uma unidade NAL não VCL designada como uma unidade DCI NAL ou uma unidade DPS NAL. Ou seja, a unidade DCI NAL tem um tipo de unidade DCI NAL (NUT) e a unidade DPS NAL tem uma DPS NUT. Em uma modalidade, o VPS 904 está contido em uma unidade NAL não VCL designada como uma unidade VPS NAL. Portanto, a unidade VPS NAL possui uma VPS NUT. Em uma modalidade, o SPS 906 é uma unidade NAL não VCL designada como uma unidade SPS NAL. Portanto, a unidade SPS NAL possui uma SPS NUT. Em uma modalidade, o PPS 908 está contido em uma unidade NAL não VCL designada como uma unidade PPS NAL. Portanto, a unidade PPS NAL possui uma PPS NUT.
[00150] O PH 912 é uma estrutura de sintaxe contendo elementos de sintaxe que se aplicam a todas as fatias (por exemplo, fatias 918) de uma imagem codificada (por exemplo, imagem 914). Em uma modalidade, o PH 912 está em um novo tipo de unidade NAL não VCL designada como unidade PH NAL. Portanto, a unidade PH NAL possui um PH NUT (por exemplo, PH_NUT). Em uma modalidade, há um e apenas um PH 912 incluído em cada PU 901. Ou seja, a PU 901 contém um PH 912 único ou solitário. Em uma modalidade, exatamente uma unidade PH NAL está presente para cada imagem 914 no fluxo de bits 900.
[00151] Em uma modalidade, a unidade PH NAL associada ao PH 912 tem um ID temporal e um ID de camada. O ID temporal indica a posição da unidade PH NAL, no tempo, em relação às outras unidades PH NAL no fluxo de bits (por exemplo, fluxo de bits 900). O ID da camada indica a camada (por exemplo, camada 531 ou camada 532) que contém a unidade PH NAL. Em uma modalidade, o ID temporal é semelhante, mas diferente do POC. O POC identifica exclusivamente cada imagem em ordem. Em um fluxo de bits de camada única, o ID temporal e o POC seriam os mesmos. Em um fluxo de bits multicamada (por exemplo, veja a FIG. 5), imagens na mesma AU teriam POCs diferentes, mas teriam o mesmo ID temporal.
[00152] Em uma modalidade, a unidade PH NAL precede a unidade VCL NAL contendo a primeira fatia 918 da imagem associada 914. Isso estabelece a associação entre o PH 912 e as fatias 918 da imagem 914 associadas ao PH 912 sem a necessidade de ter um ID de cabeçalho de imagem sinalizado no PH 912 e referido a partir do cabeçalho de fatia 920. Consequentemente, pode-se inferir que todas as unidades VCL NAL entre dois PHs 912 pertencem à mesma imagem 914 e que a imagem 914 está associada ao primeiro PH 912 entre os dois PHs 912. Em uma modalidade, a primeira unidade VCL NAL que segue um PH 912 contém a primeira fatia 918 da imagem 914 associada ao PH 912.
[00153] Em uma modalidade, a unidade PH NAL segue conjuntos de parâmetros de nível de imagem (por exemplo, o PPS) ou conjuntos de parâmetros de nível superior, como DCI (também conhecido como DPS), o VPS, o SPS, o PPS, etc. tendo ambos o ID temporal e um ID de camada menor que o ID temporal e o ID de camada da unidade PH NAL, respectivamente. Consequentemente, esses conjuntos de parâmetros não são repetidos em uma imagem ou em uma unidade de acesso. Devido a esta ordenação, o PH 912 pode ser resolvido imediatamente. Ou seja, conjuntos de parâmetros que contêm parâmetros relevantes para uma imagem inteira são posicionados no fluxo de bits antes da unidade PH NAL. Qualquer coisa que contenha parâmetros para parte de uma imagem é posicionada após a unidade PH NAL.
[00154] Em uma alternativa, a unidade PH NAL segue conjuntos de parâmetros de nível de imagem e mensagens de informações de aprimoramento suplementares de prefixo (SEI), ou conjuntos de parâmetros de nível superior, como DCI (também conhecido como DPS), o VPS, o SPS, o PPS, o APS, a mensagem SEI, etc.
[00155] Em uma modalidade, o PH 912 pode conter um elemento de sintaxe (por exemplo, um indicador, etc.) que especifica o tipo de imagem da imagem 914 associada ao PH 912. O tipo de imagem pode incluir, mas não se limita a, os seguintes tipos: uma imagem de atualização do decodificador instantânea (IDR), uma imagem de acesso aleatório limpo (CRA), uma imagem GDR, uma imagem não IRAP que é uma imagem não GDR e contém apenas fatias preditas de modo intra (fatias I), uma imagem não IRAP imagem que é uma imagem não GDR e contém apenas fatias preditas de modo inter unidirecionais (fatias P) e fatias I, e uma imagem não IRAP que é uma imagem não GDR e contém apenas fatias preditas de modo inter bidirecionais (fatias B), fatias P e fatias I. Assim, um único indicador em um PH 912 é capaz de indicar se todas as fatias (por exemplo, fatias 918) em uma imagem (por exemplo, imagem 914) são, por exemplo, fatias de uma imagem GDR (por exemplo, imagem GDR 702). Isso também suporta a sinalização da contagem de ordem de imagem de ponto de recuperação (POC) para a imagem GDR uma vez no PH 912 em vez de em cada cabeçalho de fatia (por exemplo, cabeçalho de fatia 920).
[00156] Em uma modalidade, um ou mais elementos de sintaxe são sinalizados no PH 912 em vez dos cabeçalhos de fatia 920 da imagem 914 associada ao PH 912. Esses elementos de sintaxe são um PPS ID referido pela imagem 914, um indicador que especifica se a imagem 914 é uma imagem de referência ou não, um plano de cor da imagem 914, um bit menos significativo (LSB) de POC da imagem 914, um ponto de recuperação POC se a imagem 914 for uma imagem GDR (por exemplo, imagem GDR 702), um indicador especificando se as imagens anteriores à imagem 914 são emitidas, e um indicador especificando se a imagem 914 é uma imagem de saída ou não. O PPS ID é um identificador que identifica um PPS específico para a imagem 914. O plano de cor da imagem 914 compreende os componentes de luma e croma (por exemplo, Y, Cb e Cr, etc.) para a imagem 914. O POC LSB é o bit (ou bits) que identifica o POC. O POC é uma variável que está associada a cada imagem (por exemplo, imagem 914), identifica exclusivamente a imagem associada dentre todas as imagens no CLVS e, quando a imagem associada deve ser emitida do DPB, indica a posição da imagem associada na ordem de saída em relação às posições da ordem de saída das outras imagens no mesmo CLVS que devem ser emitidas do DPB. O POC de ponto de recuperação é um POC que identifica o ponto de recuperação e, consequentemente, a imagem de ponto de recuperação.
[00157] Mover esses elementos de sintaxe dos cabeçalhos de fatia 920 para o PH 912 permite que os elementos de sintaxe sejam sinalizados uma vez para toda a imagem 914 em vez de repetir os elementos de sintaxe em cada cabeçalho de fatia 920. Isso reduz a redundância e aumenta a eficiência da codificação.
[00158] A imagem 914 é uma matriz de amostras de luma em formato monocromático ou uma matriz de amostras de luma e duas matrizes correspondentes de amostras de croma em formato de cor 4:2:0, 4:2:2 e 4:4:4. Em uma modalidade, há uma e apenas uma imagem 914 incluída em cada PU 901. Como tal, existe apenas um PH 912 e apenas uma imagem 914 correspondente a esse PH 912 em cada PU 901. Ou seja, a PU 901 contém uma imagem única ou solitária 914.
[00159] A imagem 914 pode ser um quadro ou um campo. No entanto, em uma CVS 916, todas as imagens 914 são quadros ou todas as imagens 914 são campos. A CVS 916 é uma sequência de vídeo codificado para cada sequência de vídeo de camada codificado (CLVS) no fluxo de bits de vídeo 900. Notavelmente, a CVS 916 e a CLVS são as mesmas quando o fluxo de bits de vídeo 900 inclui uma única camada. A CVS 916 e a CLVS são diferentes apenas quando o fluxo de bits de vídeo 900 inclui múltiplas camadas (por exemplo, como mostrado na FIG. 5).
[00160] As PUs 901 podem compreender coletivamente uma CLVS. Uma CLVS é uma sequência de PUs 901 com o mesmo valor de nuh_layer_id que consiste, em ordem de decodificação, em uma PU de início de sequência de vídeo de camada codificado (CLVSS), seguida por zero ou mais PUs 901 que não são CLVSS PUs, incluindo todas as PUs 901 subsequentes até, mas não incluindo, qualquer PU 901 subsequente que seja uma CLVSS PU. Uma CLVSS PU é uma PU 901 na qual a imagem codificada (por exemplo, imagem 914) é uma imagem CLVSS. Uma imagem CLVSS é uma imagem codificada que é uma imagem IRAP com um NoOutputBeforeRecoveryFlag igual a 1 ou uma imagem GDR (por exemplo, imagem GDR 702) com NoOutputBeforeRecoveryFlag igual a 1. Em uma modalidade, o NoOutputBeforeRecoveryFlag para uma imagem é disposto no PPS 908 ou outra parte da PU 901.
[00161] Cada imagem 914 contém uma ou mais fatias 918. Uma fatia 918 é um número inteiro de ladrilhos completos ou um número inteiro de linhas de CTU completas consecutivas dentro de um bloquete de uma imagem (por exemplo, imagem 914). Cada fatia 918 está contida exclusivamente em uma única unidade NAL (por exemplo, uma unidade VCL NAL). Um bloquete (não mostrado) é uma região retangular de CTUs dentro de uma coluna de bloquetes específica e uma linha de bloquetes específica em uma imagem (por exemplo, imagem 914). Uma CTU (não mostrada) é um CTB de amostras de luma, dois CTBs correspondentes de amostras de croma de uma imagem que possui três matrizes de amostras ou um CTB de amostras de uma imagem monocromática ou uma imagem codificada usando três planos de cores e estruturas de sintaxe separados usados para codificar as amostras. Um CTB (não mostrado) é um bloco N×N de amostras para algum valor de N tal que a divisão de um componente em CTBs é um particionamento. Um bloco (não mostrado) é uma matriz MxN (coluna M por N-linha) de amostras (por exemplo, pixels), ou uma matriz MxN de coeficientes de transformada.
[00162] Em uma modalidade, cada fatia 918 contém um cabeçalho de fatia 920. Um cabeçalho de fatia 920 é a parte da fatia codificada 918 contendo os elementos de dados pertencentes a todos os bloquetes ou linhas de CTU dentro de um bloquete representado na fatia 918. Ou seja, o cabeçalho de fatia 920 contém informações sobre a fatia 918, como, por exemplo, o tipo de fatia, qual das imagens de referência será usada e assim por diante.
[00163] As imagens 914 e suas fatias 918 compreendem dados associados às imagens ou vídeo que estão sendo codificados ou decodificados. Assim, as imagens 914 e suas fatias 918 podem ser simplesmente referidas como o payload ou dados sendo portados no fluxo de bits 900.
[00164] Em uma modalidade, cada imagem 511, 513, 515-518 na FIG. 5 faz parte ou está contido em uma PU (por exemplo, PU 901) da mesma maneira ou de maneira semelhante à imagem 914, conforme mostrado na FIG. 9. Portanto, cada AU 506 na FIG. 5 contém uma PU em cada camada. No entanto, para facilitar a ilustração, toda a PU 901 da FIG. 9 não está representada na FIG. 5. Em vez disso, apenas as imagens (por exemplo, imagens 511, 513, 515-518) dessas PUs são mostradas na FIG. 5.
[00165] Em uma modalidade, a primeira ou AU inicial 506 da CLVS 540 na FIG. 5, a qual é designada como CVSS AU, contém uma PU (por exemplo, PU 901) para cada camada (por exemplo, camada 531 e 532). Além disso, uma imagem codificada (por exemplo, imagem 511, 513) em cada uma dessas PUs na CVSS AU é uma imagem CLVSS. Conforme observado acima, a imagem CLVSS pode ser uma imagem IRAP, uma imagem GDR ou outra imagem de ponto de acesso aleatório. Em uma modalidade, a imagem CLVSS tem um indicador sem saída antes de recuperação (também conhecido como indicador NoOutputBeforeRecovery) definido como um (1) para indicar que certas imagens (por exemplo, imagens RASL) não são emitidas pelo decodificador porque podem não ser decodificáveis. Na verdade, essas imagens podem conter referências a imagens que não estão presentes no fluxo de bits.
[00166] Em uma modalidade, o número de camadas na CVSS AU e/ou na CLVS (por exemplo, CLVS 540) é especificado pelo VPS (por exemplo, 904).
[00167] Os versados na técnica apreciarão que o fluxo de bits 900 pode conter outros parâmetros e informações em aplicações práticas.
[00168] FIG. 10 é uma modalidade de um método 1000 de decodificação implementado por um decodificador de vídeo (por exemplo, decodificador de vídeo 400). O método 1000 pode ser realizado após um fluxo de bits ter sido recebido direta ou indiretamente de um codificador de vídeo (por exemplo, codificador de vídeo 300). O método 1000 aprimora o processo de decodificação utilizando um fluxo de bits que é restringido de modo que cada unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) seja uma AU completa e cada imagem na CVSS AU seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS), o que simplifica a codificação em relação aos padrões atuais. Isso garante que um ponto de acesso aleatório (RAP) seja fornecido para cada camada do fluxo de bits de multicamadas no início de cada sequência de vídeo codificado (CVS). Assim, o codificador/decodificador (também conhecido como “codec”) na codificação de vídeo é aprimorado em relação aos codecs atuais. Na prática, o processo de codificação de vídeo aprimorado oferece ao usuário uma melhor experiência de usuário quando os vídeos são enviados, recebidos e/ou visualizados.
[00169] No bloco 1002, o decodificador de vídeo recebe um fluxo de bits (por exemplo, fluxo de bits 901) incluindo uma unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) (por exemplo, a AU 506 designada como uma CVSS AU). Em uma modalidade, a CVSS AU contém uma unidade de imagem (PU) (por exemplo, PU 901) para cada camada (por exemplo, camada 531 e camada 532). Em uma modalidade, uma imagem codificada (por exemplo, imagem codificada 511 e 515) em cada PU é uma imagem de início de sequência de vídeo de camada codificado (CLVSS).
[00170] Em uma modalidade, o decodificador de vídeo espera que uma imagem codificada em cada PU seja uma imagem CLVSS. Se, no entanto, o decodificador determinar que esta condição não é verdadeira, o decodificador pode detectar um erro, sinalizar um erro, solicitar que um fluxo de bits revisado (ou uma porção do mesmo) seja reenviado ou tomar algumas outras medidas corretivas para garantir que um fluxo de bits em conformidade seja recebido.
[00171] Em uma modalidade, a imagem CLVSS é uma imagem de ponto de acesso aleatório intra (IRAP). Em uma modalidade, a imagem CLVSS é uma imagem de atualização de decodificação gradual (GDR). Em uma modalidade, a imagem CLVSS tem um indicador sem saída antes de recuperação igual a 1.
[00172] Em uma modalidade, cada camada da CVSS AU é especificada por um conjunto de parâmetros de vídeo (VPS). Ou seja, o VPS indica quantas camadas estão incluídas em cada AU do CLVS. Em uma modalidade, a CVSS AU é uma AU inicial de uma sequência de vídeo codificado (CVS).
[00173] Em uma modalidade, a PU é referida como uma unidade de acesso de camada. Em uma modalidade, a CVSS AU é referida como uma AU completa porque cada camada da CVSS AU contém uma das PUs.
[00174] No bloco 1004, o decodificador de vídeo identifica a imagem codificada (por exemplo, imagem 914) de uma das camadas com base em um valor de contagem de ordem de imagem (POC). No bloco 1006, o decodificador de vídeo decodifica a imagem codificada para obter uma imagem decodificada. Uma vez decodificada, a imagem decodificada pode ser usada para gerar ou produzir uma imagem ou sequência de vídeo para exibição para um usuário em uma tela de exibição ou tela de um dispositivo eletrônico (por exemplo, um telefone inteligente, tablet, computador de colo, computador pessoal, etc.).
[00175] FIG. 11 é uma modalidade de um método 1100 de um codificador de vídeo (por exemplo, codificador de vídeo 300). O método 1100 pode ser realizado quando uma imagem (por exemplo, de um vídeo) deve ser codificada em um fluxo de bits de vídeo e então transmitida para um decodificador de vídeo (por exemplo, decodificador de vídeo 400). O método 1100 aprimora o processo de codificação utilizando um fluxo de bits que é restringido de modo que cada unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) seja uma AU completa e cada imagem na CVSS AU seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS), o que simplifica a codificação em relação aos padrões atuais. Isso garante que um ponto de acesso aleatório (RAP) seja fornecido para cada camada do fluxo de bits de multicamadas no início de cada sequência de vídeo codificado (CVS). Assim, o codificador/decodificador (também conhecido como “codec”) na codificação de vídeo é aprimorado em relação aos codecs atuais. Na prática, o processo de codificação de vídeo aprimorado oferece ao usuário uma melhor experiência de usuário quando os vídeos são enviados, recebidos e/ou visualizados.
[00176] No bloco 1102, o codificador de vídeo insere uma unidade de imagem (PU) (por exemplo, PU 901) contendo uma imagem codificada (por exemplo, imagem codificada 511 e 515) em cada camada (por exemplo, camada 531 e camada 532) de uma unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS) (por exemplo, a AU 506 designada como CVSS AU). Em uma modalidade, a imagem codificada é uma imagem de início de sequência de vídeo de camada codificado (CLVSS). Em uma modalidade, o codificador de vídeo é restringido de modo que a imagem codificada seja uma imagem de início de sequência de vídeo de camada codificado (CLVSS). Ou seja, é necessário que o codificador de vídeo tenha a imagem codificada como uma imagem de início de sequência de vídeo de camada codificado (CLVSS). Tal restrição ou requisito garante que o fluxo de bits esteja em conformidade com, por exemplo, VVC ou algum outro padrão, modificado conforme indicado neste documento. No entanto, o codificador também pode ser capaz de operar em outros modos onde não é tão restrito, como quando operando sob um padrão diferente ou uma versão diferente do mesmo padrão.
[00177] Em uma modalidade, a imagem CLVSS é uma imagem de ponto de acesso aleatório intra (IRAP). Em uma modalidade, a imagem CLVSS é uma imagem de atualização de decodificação gradual (GDR). Em uma modalidade, a imagem CLVSS tem um indicador sem saída antes de recuperação igual a 1.
[00178] Em uma modalidade, cada camada da CVSS AU é especificada por um conjunto de parâmetros de vídeo (VPS). Ou seja, o VPS indica quantas camadas estão incluídas em cada AU do CLVS. Em uma modalidade, a CVSS AU é uma AU inicial de uma sequência de vídeo codificado (CVS).
[00179] Em uma modalidade, a PU é referida como uma unidade de acesso de camada. Em uma modalidade, a CVSS AU é referida como uma AU completa porque cada camada da CVSS AU contém uma das PUs.
[00180] No bloco 1104, o codificador de vídeo codifica uma sequência de vídeo de camada codificado (CLVS) (por exemplo, CLVS 540) incluindo a CVSS AU em um fluxo de bits. No bloco 1106, o codificador de vídeo armazena o fluxo de bits para comunicação com um decodificador de vídeo. O fluxo de bits de vídeo pode ser armazenado na memória até que o fluxo de bits de vídeo seja transmitido para o decodificador de vídeo. Uma vez recebido pelo decodificador de vídeo, o fluxo de bits de vídeo codificado pode ser decodificado (por exemplo, conforme descrito acima) para gerar ou produzir uma imagem ou sequência de vídeo para exibição para um usuário na tela de exibição ou tela de um dispositivo eletrônico (por exemplo, um telefone inteligente, tablet, computador de colo, computador pessoal, etc.).
[00181] Observe que as soluções descritas neste documento ainda permitem imagens IRAP não sincronizadas ao longo das camadas. No entanto, para simplificar, o processo de decodificação a partir de uma AU contendo uma imagem IRAP na camada mais baixa, mas uma imagem não IRAP em outras camadas, não é normativamente especificado. No entanto, desde que o projeto permita imagens IRAP não sincronizadas ao longo das camadas, os benefícios técnicos de tal permissão ainda podem ser alcançados na prática por implementações.
[00182] As seguintes sintaxe e semântica podem ser empregadas para implementar as modalidades divulgadas neste documento. A descrição a seguir é relativa ao texto base, o qual é a especificação de versão de VVC mais recente.
[00183] Em uma modalidade, uma imagem IRAP associada (de uma imagem específica com nuh_layer_id igual a um valor específico layerId) é a imagem IRAP anterior em ordem de decodificação com nuh_layer_id igual a layerId (quando presente) entre as quais não há imagem GDR com nuh_layer_id igual a layerId. nuh_layer_id especifica o identificador da camada à qual uma unidade VCL NAL pertence ou o identificador de uma camada à qual uma unidade NAL não VCL se aplica. O valor de nuh_layer_id deve estar na faixa de 0 a 55, inclusive. Outros valores para nuh_layer_id são reservados para uso futuro pelo ITU-T | ISO/IEC.
[00184] Conforme usado neste documento, uma PU também pode ser referida como uma unidade de acesso de camada. Em uma modalidade, uma unidade de acesso de camada de acesso aleatório limpo (CRA) é uma unidade de acesso de camada na qual a imagem codificada é uma imagem CRA. Em uma modalidade, uma imagem de acesso aleatório limpo (CRA) é uma imagem IRAP para a qual cada unidade VCL NAL tem nal_unit_type igual a CRA_NUT. Em uma modalidade, uma imagem CRA não usa predição inter em seu processo de decodificação e pode ser a primeira imagem no fluxo de bits na ordem de decodificação ou pode aparecer mais tarde no fluxo de bits. Em uma modalidade, uma imagem CRA pode ter imagens RADL ou RASL associadas. Quando uma imagem CRA tem NoOutputBeforeRecoveryFlag igual a 1, as imagens RASL associadas não são emitidas pelo decodificador, pois podem não ser decodificáveis, pois podem conter referências a imagens que não estão presentes no fluxo de bits.
[00185] Em uma modalidade, uma sequência de vídeo de camada codificado (CLVS) é uma sequência de PUs com o mesmo valor de nuh_layer_id que consiste, em ordem de decodificação, em uma CLVSS PU, seguida por zero ou mais PUs que não são CLVSS PUs, incluindo todas as PUs subsequentes até, mas não incluindo, qualquer PU subsequente que seja uma CLVSS PU. Em uma modalidade, uma CLVSS PU pode ser uma IDR PU, uma CRA PU ou uma GDR PU. O valor de NoOutputBeforeRecoveryFlag é igual a 1 para cada PU IDR, e cada CRA PU que possui HandleCraAsClvsStartFlag igual a 1, e cada CRA PU ou GDR que é a primeira PU na camada do fluxo de bits em ordem de decodificação ou a primeira PU na camada do fluxo de bits que segue uma unidade EOS NAL na ordem de decodificação.
[00186] Em uma modalidade, uma unidade de acesso de camada de início de sequência de vídeo de camada codificado (CLVSS) é uma unidade de acesso de camada na qual a imagem codificada é uma imagem CLVSS. Uma imagem de início de sequência de vídeo de camada codificado (CLVSS) é uma imagem codificada que é uma imagem IRAP com NoIncorrectPicOutputFlag igual a 1 ou uma imagem GDR com NoIncorrectPicOutputFlag igual a 1.
[00187] Em uma modalidade, uma sequência de vídeo codificado (CVS): Uma sequência de unidades de acesso que consiste, em ordem de decodificação, em uma unidade de acesso CVSS, seguida por zero ou mais unidades de acesso que não sejam unidades de acesso CVSS, incluindo todas as unidades de acesso subsequentes até, mas não incluindo, qualquer unidade de acesso subsequente que seja uma unidade de acesso CVSS.
[00188] Em uma modalidade, uma unidade de acesso de início de sequência de vídeo codificado (CVSS): Uma unidade de acesso na qual existe uma unidade de acesso de camada para cada camada no CVS e a imagem codificada em cada unidade de acesso de camada é uma imagem CLVSS. Observe que isso requer que cada CVSS AU seja uma AU completa, e que cada imagem em uma CVSS AU seja uma imagem CLVSS. Em uma modalidade, uma unidade de acesso de atualização de decodificação gradual (GDR): Uma unidade de acesso na qual a imagem codificada em cada unidade de acesso de camada presente é uma imagem GDR. Em uma modalidade, uma unidade de acesso de camada de atualização de decodificação gradual (GDR): Uma unidade de acesso de camada na qual a imagem codificada é uma imagem GDR. Em uma modalidade, uma imagem de atualização de decodificação gradual (GDR): Uma imagem para a qual cada unidade VCL NAL tem nal_unit_type igual a GDR_NUT.
[00189] A sintaxe SPS é a seguinte.
Figure img0001
[00190] Em uma modalidade, os elementos de sintaxe em negrito acima podem ser incluídos no VPS.
[00191] A sintaxe de cabeçalho de fatia é a seguinte.
Figure img0002
Figure img0003
[00192] Em uma modalidade, a parte de condição de sintaxe "&& nal_unit_type >= IDR_W_RADL && nal_unit_type <= GDR_NUT" pode ser removida. Ou seja, sinaliza poc_msb_val para fatias com qualquer valor de nal_unit_type quando poc_msb_in_rap_pics_flag for igual a 1.
[00193] Em uma modalidade, adiciona um indicador de nível de imagem para condicionar a presença do elemento de sintaxe poc_msb_val. Ou seja, permitir que os codificadores decidam sinalizar ou não sinalizar poc_msb_val individualmente para cada fatia de uma imagem IRAP ou GDR quando poc_msb_in_rap_pics_flag for igual a 1.
[00194] Em uma modalidade, aplica ambas as alternativas acima. Em uma modalidade, sinaliza poc_msb_val usando se(v) ou ue(v), e remove o elemento de sintaxe poc_msb_len_minus1 da sintaxe SPS.
[00195] A semântica de cabeçalho de unidade NAL é fornecida.
[00196] nuh_layer_id especifica o identificador da camada à qual uma unidade VCL NAL pertence ou o identificador de uma camada à qual uma unidade NAL não VCL se aplica.
[00197] O valor de nuh_layer_id deve ser o mesmo para todas as unidades VCL NAL de uma imagem codificada. O valor de nuh_layer_id de uma imagem codificada ou uma unidade de acesso de camada é o valor de nuh_layer_id das unidades VCL NAL da imagem codificada ou da unidade de acesso de camada.
[00198] nal_unit_type especifica o tipo de unidade NAL, ou seja, o tipo de estrutura de dados RBSP contida na unidade NAL.
[00199] O valor de nal_unit_type deve ser o mesmo para todas as unidades NAL de fatia codificadas de uma imagem. Uma imagem ou uma unidade de acesso de camada é referida como tendo o mesmo tipo de unidade NAL que as unidades NAL de fatia codificadas da unidade de acesso de imagem ou camada. Observe que os dois parágrafos acima permitem que as unidades VCL NAL dentro de uma AU tenham diferentes tipos de unidade NAL, a qual permite imagens RAP e não RAP mistas dentro de uma AU. Uma imagem RAP é uma imagem IDR, CAR ou GDR.
[00200] O valor de nal_unit_type deve ser o mesmo para imagens de uma unidade de acesso CVSS.
[00201] A ordem das unidades de acesso e associação aos CVSs é fornecida.
[00202] Um fluxo de bits em conformidade com o padrão inclui um ou mais CVSs. Um CVS consiste em uma ou mais unidades de acesso. A primeira unidade de acesso de um CVS é uma unidade de acesso CVSS, em que cada unidade de acesso de camada presente é uma unidade de acesso de camada CLVSS, que é uma unidade de acesso de camada IRAP com NoIncorrectPicOutputFlag igual a 1 ou uma unidade de acesso de camada GDR com NoIncorrectPicOutputFlag igual a 1. Cada unidade de acesso CVSS deverá ter uma imagem em cada uma das camadas presentes no CVS. É um requisito de conformidade de fluxo de bits que, quando presente, cada unidade de acesso de camada na próxima unidade de acesso após uma unidade de acesso que contém uma unidade NAL de final de sequência ou uma unidade NAL de final de fluxo de bits deve ser uma unidade de acesso de camada IRAP, a qual pode ser uma unidade de acesso de camada IDR ou uma unidade de acesso de camada CRA ou uma unidade de acesso de camada GDR.
[00203] A semântica SPS é fornecida.
[00204] log2_max_pic_order_cnt_lsb_minus4 especifica o valor da variável MaxPicOrderCntLsb que é usada no processo de decodificação para contagem de ordem de imagem da seguinte forma: MaxPicOrderCntLsb = 2(log2_max_pic_order_cnt_lsb_minus4 + 4)
[00205] O valor de log2_max_pic_order_cnt_lsb_minus4 deve estar na faixa de 0 a 12, inclusive.
[00206] poc_msb_in_rap_pics_flag igual a 1 especifica que o elemento de sintaxe poc_msb_val é sinalizado para imagens referentes ao SPS e para as quais as unidades VCL NAL possuem nal_unit_type na faixa de IDR_W_RADL a GDR_NUT, inclusive. poc_msb_in_rap_pics_flag igual a 0 especifica que o elemento de sintaxe poc_msb_val não é sinalizado para imagens referentes ao SPS.
[00207] poc_msb_len_minus1 mais 1 especifica o comprimento, em bits, dos elementos de sintaxe poc_msb_val, quando presentes. O valor de poc_msb_len_minus1 deve estar na faixa de 0 a 32 − log2_max_pic_order_cnt_lsb_minus4 − 5, inclusive.
[00208] A semântica do cabeçalho de fatia é fornecida.
[00209] slice_pic_order_cnt_lsb especifica o módulo de contagem de ordem de imagem MaxPicOrderCntLsb para a imagem atual. O comprimento do elemento de sintaxe slice_pic_order_cnt_lsb é log2_max_pic_order_cnt_lsb_minus4 + 4 bits. O valor do slice_pic_order_cnt_lsb deve estar na faixa de 0 a MaxPicOrderCntLsb − 1, inclusive.
[00210] poc_msb_val especifica o valor POC MSB da imagem atual. O comprimento do elemento de sintaxe poc_msb_val é poc_msb_len_minus1 + 1 bits.
[00211] Um processo de decodificação para uma imagem codificada é fornecido.
[00212] PictureOutputFlag é definido da seguinte forma:
  • – Se uma das seguintes condições for verdadeira, PictureOutputFlag será definido como 0.
  • – A imagem atual é uma imagem RASL e NoIncorrectPicOutputFlag da imagem IRAP associada é igual a 1.
  • – gdr_enabled_flag é igual a 1 e a imagem atual é uma imagem GDR com NoIncorrectPicOutputFlag igual a 1.
  • – gdr_enabled_flag é igual a 1, a imagem atual está associada a uma imagem GDR com NoIncorrectPicOutputFlag igual a 1 e PicOrderCntVal da imagem atual é menor que RpPicOrderCntVal da imagem GDR associada.
  • – A imagem atual não pertence a uma camada de saída.
  • – Caso contrário, PictureOutputFlag é definido igual a pic_output_flag.
[00213] Um processo de decodificação para contagem de ordem de imagem é fornecido.
[00214] A saída deste processo é PicOrderCntVal, a contagem de ordem de imagem da imagem atual.
[00215] Cada imagem codificada é associada a uma variável de contagem de ordem de imagem, denotada como PicOrderCntVal.
[00216] Quando poc_msb_val não está presente para a imagem e a imagem atual não é uma imagem CLVSS, as variáveis prevPicOrderCntLsb e prevPicOrderCntMsb são derivadas da seguinte forma:
  • – Seja prevTid0Pic a imagem anterior em ordem de decodificação que tenha nuh_layer_id igual ao nuh_layer_id da imagem atual e TemporalId igual a 0 e que não seja uma imagem RASL ou RADL.
  • – A variável prevPicOrderCntLsb é igual a slice_pic_order_cnt_lsb de prevTid0Pic.
  • – A variável prevPicOrderCntMsb é igual a PicOrderCntMsb de prevTid0Pic.
[00217] A variável PicOrderCntMsb da imagem atual é derivada da seguinte forma:
  • – Se poc_msb_val está presente para a imagem, PicOrderCntMsb é definido como poc_msb_val * MaxPicOrderCntLsb.
  • – Caso contrário (poc_msb_val não está presente para a imagem), se a imagem atual for uma imagem CLVSS, PicOrderCntMsb é definido igual a 0.
  • – Caso contrário, PicOrderCntMsb é derivado da seguinte forma:
if((slice_pic_order_cnt_lsb < prevPicOrderCntLsb) && ((prevPicOrderCntLsb − slice_pic_order_cnt_lsb) >= (MaxPicOrderCntLsb / 2))) PicOrderCntMsb = prevPicOrderCntMsb + MaxPicOrderCntLsb (8-1) else if((slice_pic_order_cnt_lsb > prevPicOrderCntLsb) && ((slice_pic_order_cnt_lsb − prevPicOrderCntLsb) > (MaxPicOrderCntLsb / 2))) PicOrderCntMsb = prevPicOrderCntMsb − MaxPicOrderCntLsb else PicOrderCntMsb = prevPicOrderCntMsb
[00218] PicOrderCntVal é derivado da seguinte forma: PicOrderCntVal = PicOrderCntMsb + slice_pic_order_cnt_lsb (8-2)
[00219] NOTA – Todas as imagens CLVSS para as quais poc_msb_val não está presente terão PicOrderCntVal igual a slice_pic_order_cnt_lsb, pois para essas imagens PicOrderCntMsb é definido igual a 0.
[00220] O valor de PicOrderCntVal deve estar na faixa de −231 a 231 − 1, inclusive.
[00221] Em um CVS, os valores PicOrderCntVal para quaisquer duas imagens codificadas com o mesmo valor de nuh_layer_id não devem ser os mesmos.
[00222] Todas as imagens em qualquer unidade de acesso específica devem ter o mesmo valor de PicOrderCntVal.
[00223] A função PicOrderCnt(picX) é especificada da seguinte forma: PicOrderCnt(picX) = PicOrderCntVal da imagem picX (8-3)
[00224] A função DiffPicOrderCnt(picA, picB) é especificada da seguinte forma: DiffPicOrderCnt(picA, picB) = PicOrderCnt(picA) − PicOrderCnt(picB) (8-4)
[00225] O fluxo de bits não deve conter dados que resultem em valores de DiffPicOrderCnt(picA, picB) usados no processo de decodificação que não estejam na faixa de −215 a 215 − 1, inclusive.
[00226] NOTA – Seja X a imagem atual e Y e Z duas outras imagens no mesmo CVS, Y e Z são considerados como sendo na mesma direção de ordem de saída de X quando ambos DiffPicOrderCnt(X, Y) e DiffPicOrderCnt(X, Z) são positivos ou ambos são negativos.
[00227] FIG. 12 é um diagrama esquemático de um dispositivo de codificação de vídeo 1200 (por exemplo, um codificador de vídeo 300 ou um decodificador de vídeo 400) de acordo com uma modalidade da divulgação. O dispositivo de codificação de vídeo 1200 é adequado para implementar as modalidades divulgadas, conforme descrito neste documento. O dispositivo de codificação de vídeo 1200 compreende portas de ingresso 1210 e unidades receptoras (Rx) 1220 para receber dados; um processador, unidade lógica ou unidade de processamento central (CPU) 1230 para processar os dados; unidades transmissoras (Tx) 1240 e portas de egresso 1250 para transmitir os dados; e uma memória 1260 para armazenar os dados. O dispositivo de codificação de vídeo 1200 também pode compreender componentes ópticos para elétricos (OE) e componentes elétricos para ópticos (EO) acoplados às portas de ingresso 1210, as unidades receptoras 1220, as unidades transmissoras 1240 e as portas de egresso 1250 para egresso ou ingresso de sinais ópticos ou elétricos.
[00228] O processador 1230 é implementado por hardware e software. O processador 1230 pode ser implementado como um ou mais chips de CPU, núcleos (por exemplo, como um processador multinúcleo), matrizes de portas programáveis em campo (FPGAs), circuitos integrados específicos de aplicação (ASICs) e processadores de sinais digital (DSPs). O processador 1230 está em comunicação com as portas de ingresso 1210, unidades receptoras 1220, unidades transmissoras 1240, portas de egresso 1250 e memória 1260. O processador 1230 compreende um módulo de codificação 1270. O módulo de codificação 1270 implementa as modalidades divulgadas descritas acima. Por exemplo, o módulo de codificação 1270 implementa, processa, prepara ou fornece as várias funções de codec. A inclusão do módulo de codificação 1270, portanto, fornece uma melhoria substancial para a funcionalidade do dispositivo de codificação de vídeo 1200 e efetua uma transformação do dispositivo de codificação de vídeo 1200 para um estado diferente. Alternativamente, o módulo de codificação 1270 é implementado como instruções armazenadas na memória 1260 e executadas pelo processador 1230.
[00229] O dispositivo de codificação de vídeo 1200 também pode incluir dispositivos de entrada e/ou saída (I/O) 1280 para comunicar dados para e de um usuário. Os dispositivos I/O 1280 podem incluir dispositivos de saída, como uma tela de exibição para exibir dados de vídeo, altofalantes para saída de dados de áudio, etc. Os dispositivos I/O 1280 também podem incluir dispositivos de entrada, como um teclado, mouse, trackball, etc. e/ou interfaces correspondentes para interagir com tais dispositivos de saída.
[00230] A memória 1260 compreende um ou mais discos, unidades de fita e unidades de estado sólido, e pode ser usada como um dispositivo de armazenamento de dados de fluxo em excesso (over-flow), para armazenar programas quando tais programas são selecionados para execução e para armazenar instruções e dados que são lidos durante a execução do programa. A memória 1260 pode ser volátil e/ou não volátil e pode ser memória somente de leitura (ROM), memória de acesso aleatório (RAM), memória endereçável por conteúdo ternário (TCAM) e/ou memória de acesso aleatório estática (SRAM).
[00231] FIG. 13 é um diagrama esquemático de uma modalidade de um meio para codificar 1300. Em uma modalidade, os meios para codificar 1300 são implementados em um dispositivo de codificação de vídeo 1302 (por exemplo, um codificador de vídeo 300 ou um decodificador de vídeo 400). O dispositivo de codificação de vídeo 1302 inclui meios de recebimento 1301. O meio de recebimento 1301 é configurado para receber uma imagem para codificar ou para receber um fluxo de bits para decodificar. O dispositivo de codificação de vídeo 1302 inclui meios de transmissão 1307 acoplados aos meios de recebimento 1301. O meio de transmissão 1307 é configurado para transmitir o fluxo de bits para um decodificador ou para transmitir uma imagem decodificada para um meio de exibição (por exemplo, um dos dispositivos I/O 1280).
[00232] O dispositivo de codificação de vídeo 1302 inclui um meio de armazenamento 1303. O meio de armazenamento 1303 é acoplado a pelo menos um dos meios de recebimento 1301 ou os meios de transmissão 1307. O meio de armazenamento 1303 é configurado para armazenar instruções. O dispositivo de codificação de vídeo 1302 também inclui meios de processamento 1305. O meio de processamento 1305 é acoplado ao meio de armazenamento 1303. O meio de processamento 1305 é configurado para executar as instruções armazenadas no meio de armazenamento 1303 para realizar os métodos divulgados neste documento.
[00233] Também deve ser entendido que as etapas dos métodos exemplares estabelecidos neste documento não precisam necessariamente ser realizadas na ordem descrita, e a ordem das etapas de tais métodos deve ser entendida como meramente exemplar. Da mesma forma, etapas adicionais podem ser incluídas em tais métodos e certas etapas podem ser omitidas ou combinadas, em métodos consistentes com várias modalidades da presente divulgação.
[00234] Embora várias modalidades tenham sido fornecidas na presente divulgação, deve-se entender que os sistemas e métodos divulgados podem ser incorporados em muitas outras formas específicas sem se afastar do espírito ou escopo da presente divulgação. Os presentes exemplos devem ser considerados ilustrativos e não restritivos, e a intenção não se limita aos detalhes fornecidos neste documento. Por exemplo, os vários elementos ou componentes podem ser combinados ou integrados em outro sistema ou certos recursos podem ser omitidos ou não implementados.
[00235] Além disso, técnicas, sistemas, subsistemas e métodos descritos e ilustrados nas várias modalidades como discretos ou separados podem ser combinados ou integrados com outros sistemas, módulos, técnicas ou métodos sem se afastar do escopo da presente divulgação. Outros itens mostrados ou discutidos como acoplados ou acoplados diretamente ou comunicando entre si podem ser acoplados indiretamente ou se comunicar através de alguma interface, dispositivo ou componente intermediário, seja eletricamente, mecanicamente ou de outra forma. Outros exemplos de mudanças, substituições e alterações são verificáveis por um versado na técnica e podem ser feitos sem se afastar do espírito e do escopo divulgados neste documento.

Claims (9)

  1. Método de codificação implementado por um codificador de vídeo caracterizado pelo fato de que compreende: inserir (1102), pelo codificador de vídeo, uma unidade de imagem (PU) contendo uma imagem codificada em cada camada de uma unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS), em que o codificador de vídeo é restringido de modo que a imagem codificada em cada camada seja uma imagem início de sequência de vídeo de camada codificado (CLVSS); codificar (1108), pelo codificador de vídeo, uma sequência de vídeo de camada codificado (CLVS) incluindo a CVSS AU em um fluxo de bits; e armazenar (1110), pelo codificador de vídeo, o fluxo de bits para comunicação em direção a um decodificador de vídeo.
  2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a imagem CLVSS é uma imagem de ponto de acesso aleatório intra (IRAP).
  3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a imagem CLVSS é uma imagem de atualização de decodificação gradual (GDR).
  4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que cada camada da CVSS AU é especificada por um conjunto de parâmetros de vídeo (VPS).
  5. Dispositivo de codificação, caracterizado pelo fato de que compreende: uma memória contendo instruções; um processador acoplado à memória, o processador configurado para implementar as instruções para fazer com que o dispositivo de codificação: inserir uma unidade de imagem (PU) contendo uma imagem codificada em cada camada de uma unidade de acesso (AU) de início de sequência de vídeo codificado (CVSS), em que o dispositivo de codificação é restringido de modo que a imagem codificada esteja em cada camada, uma imagem de início de sequência de vídeo de camada codificado (CLVSS); codificar uma sequência de vídeo de camada codificado (CLVS), incluindo a CVSS AU em um fluxo de bits; e um transmissor acoplado ao processador, o transmissor configurado para transmitir o fluxo de bits de vídeo em direção a um decodificador de vídeo.
  6. Dispositivo de codificação, de acordo com a reivindicação 5, caracterizado pelo fato de que a imagem CLVSS é uma de uma imagem de ponto de acesso aleatório intra (IRAP) e uma imagem de atualização de decodificação gradual (GDR).
  7. Dispositivo de codificação, de acordo a reivindicação 5 ou 6, caracterizado pelo fato de que cada camada da CVSS AU é especificada por um conjunto de parâmetros de vídeo (VPS).
  8. Sistema, caracterizado pelo fato de que compreende: um codificador; e um decodificador em comunicação com o codificador, em que o codificador inclui o dispositivo de codificação, conforme definido em qualquer uma das reivindicações 5 a 7.
  9. Meio legível por computador não transitório armazenando instruções de computador, caracterizado pelo fato de que quando executado por pelo menos um processador de hardware, faz com que o pelo menos um processador de hardware realize o método, como definido em qualquer uma das reivindicações 1 a 4.
BR122022009499-6A 2019-09-24 2020-09-16 Método de codificação implementado por um codificador de vídeo, dispositivo de codificação, sistema e meio legível por computador não transitório BR122022009499A2 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962905141P 2019-09-24 2019-09-24
US62/905,141 2019-09-24
BR112022005396-7 2020-09-16
PCT/US2020/050988 WO2021080710A1 (en) 2019-09-24 2020-09-16 Support of mixed irap and non-irap pictures within an access unit in multi-layer video bitstreams

Publications (1)

Publication Number Publication Date
BR122022009499A2 true BR122022009499A2 (pt) 2022-07-05

Family

ID=75166803

Family Applications (4)

Application Number Title Priority Date Filing Date
BR122022009501-1A BR122022009501A2 (pt) 2019-09-24 2020-09-16 Método de codificação implementado por um codificador de vídeo, meio legível por computador não transitório, dispositivo de codificação e sistema
BR122022009499-6A BR122022009499A2 (pt) 2019-09-24 2020-09-16 Método de codificação implementado por um codificador de vídeo, dispositivo de codificação, sistema e meio legível por computador não transitório
BR112022005632A BR112022005632A2 (pt) 2019-09-24 2020-09-16 Método de decodificação, dispositivo de decodificação, meio legível por computador não transitório, aparelho e sistema de codificação
BR112022005396A BR112022005396A2 (pt) 2019-09-24 2020-09-16 Método de decodificação, dispositivo de decodificação, sistema e meio legível por computador não transitório

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR122022009501-1A BR122022009501A2 (pt) 2019-09-24 2020-09-16 Método de codificação implementado por um codificador de vídeo, meio legível por computador não transitório, dispositivo de codificação e sistema

Family Applications After (2)

Application Number Title Priority Date Filing Date
BR112022005632A BR112022005632A2 (pt) 2019-09-24 2020-09-16 Método de decodificação, dispositivo de decodificação, meio legível por computador não transitório, aparelho e sistema de codificação
BR112022005396A BR112022005396A2 (pt) 2019-09-24 2020-09-16 Método de decodificação, dispositivo de decodificação, sistema e meio legível por computador não transitório

Country Status (12)

Country Link
US (2) US20220217369A1 (pt)
EP (2) EP4018665A4 (pt)
JP (2) JP2022549128A (pt)
KR (2) KR20220058960A (pt)
CN (4) CN114845116B (pt)
AU (2) AU2020372257A1 (pt)
BR (4) BR122022009501A2 (pt)
CA (2) CA3152298A1 (pt)
CL (2) CL2022000689A1 (pt)
IL (1) IL291614A (pt)
MX (2) MX2022003449A (pt)
WO (2) WO2021080710A1 (pt)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103843341B (zh) * 2011-09-27 2017-06-13 瑞典爱立信有限公司 用于管理视频解码过程中的画面的解码器及其方法
US11758171B2 (en) * 2019-12-27 2023-09-12 Alibaba Group Holding Limited Methods and systems for performing gradual decoding refresh processing on pictures
US20230156227A1 (en) * 2020-04-01 2023-05-18 Lg Electronics Inc. Signaling-based image or video coding of information related to recovery point for gdr
CN115668933A (zh) 2020-05-22 2023-01-31 字节跳动有限公司 编解码视频中nal单元的排序
CN117834916A (zh) * 2020-05-22 2024-04-05 字节跳动有限公司 访问单元中图片信息的信令

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
US9432665B2 (en) * 2011-12-02 2016-08-30 Qualcomm Incorporated Coding least significant bits of picture order count values identifying long-term reference pictures
CN104412588B (zh) * 2012-07-01 2018-06-08 夏普株式会社 用于在参数集中发信号通知长期参考图片的设备
US9491487B2 (en) * 2012-09-25 2016-11-08 Apple Inc. Error resilient management of picture order count in predictive coding systems
US9491457B2 (en) * 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
EP2946558B1 (en) * 2013-01-15 2020-04-29 Huawei Technologies Co., Ltd. Method for decoding an hevc video bitstream
WO2014163460A1 (ko) * 2013-04-05 2014-10-09 삼성전자 주식회사 계층 식별자 확장에 따른 비디오 스트림 부호화 방법 및 그 장치, 계층 식별자 확장에 따른 따른 비디오 스트림 복호화 방법 및 그 장치
CN105612745A (zh) * 2013-10-08 2016-05-25 夏普株式会社 图像解码装置、图像编码装置以及编码数据
EP3056008A4 (en) * 2013-10-10 2017-03-22 Sharp Kabushiki Kaisha Alignment of picture order count
US9654774B2 (en) * 2013-12-12 2017-05-16 Qualcomm Incorporated POC value design for multi-layer video coding
US9854270B2 (en) * 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
CN104754347B (zh) * 2013-12-26 2019-05-17 中兴通讯股份有限公司 视频图像序号的编码、解码方法及装置、电子设备
WO2015101716A1 (en) * 2014-01-03 2015-07-09 Nokia Technologies Oy Parameter set coding
US9807406B2 (en) * 2014-03-17 2017-10-31 Qualcomm Incorporated Picture flushing and decoded picture buffer parameter inference for multi-layer bitstreams
KR20210024164A (ko) * 2018-07-01 2021-03-04 샤프 가부시키가이샤 코딩된 비디오에 포함된 픽처에 대한 픽처 순서 카운트 값을 시그널링하기 위한 시스템 및 방법
EP3906699A4 (en) * 2019-01-02 2022-11-02 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR CODING AND DECODING VIDEO
MX2022008177A (es) * 2019-12-31 2022-10-10 Huawei Tech Co Ltd Un codificador, un decodificador y métodos y aparatos correspondientes.
US11611778B2 (en) * 2020-05-20 2023-03-21 Sharp Kabushiki Kaisha Systems and methods for signaling general constraint information in video coding

Also Published As

Publication number Publication date
WO2021080710A1 (en) 2021-04-29
CN114845116B (zh) 2023-03-03
KR20220058961A (ko) 2022-05-10
MX2022003449A (es) 2022-04-19
IL291614A (en) 2022-05-01
CA3152298A1 (en) 2021-04-01
JP2022553128A (ja) 2022-12-22
EP4018663A4 (en) 2022-11-09
AU2020372257A8 (en) 2022-05-12
CL2022000689A1 (es) 2022-10-14
CN114845117A (zh) 2022-08-02
US20220217369A1 (en) 2022-07-07
BR122022009501A2 (pt) 2022-07-26
CL2022000700A1 (es) 2022-11-18
US20220217386A1 (en) 2022-07-07
AU2020372257A1 (en) 2022-04-14
CN114845116A (zh) 2022-08-02
KR20220058960A (ko) 2022-05-10
CN114430907A (zh) 2022-05-03
AU2020352446A1 (en) 2022-04-14
CN114424564A (zh) 2022-04-29
CN114845117B (zh) 2023-04-11
EP4018665A4 (en) 2022-11-09
JP2022549128A (ja) 2022-11-24
CA3152933A1 (en) 2021-04-29
MX2022003362A (es) 2022-04-11
WO2021061462A1 (en) 2021-04-01
BR112022005632A2 (pt) 2022-07-12
EP4018663A1 (en) 2022-06-29
EP4018665A1 (en) 2022-06-29
BR112022005396A2 (pt) 2022-06-21

Similar Documents

Publication Publication Date Title
BR122022009663A2 (pt) Prevenção de sinalização redundante em fluxos de bits de vídeo de múltiplas camadas
BR112021008659A2 (pt) Codificador de vídeo, decodificador de vídeo e métodos correspondentes
BR122022007954A2 (pt) Simplificação de dependência de mensagem sei em codificação de vídeo
JP7485759B2 (ja) ビデオコーディングにおけるピクチャーヘッダーのシグナリング
BR122022009499A2 (pt) Método de codificação implementado por um codificador de vídeo, dispositivo de codificação, sistema e meio legível por computador não transitório
EP3977723B1 (en) Handling of multiple picture size and conformance windows for reference picture resampling in video coding
JP7454657B2 (ja) ピクチャーレベルでの非ピクチャーレベルの構文要素のシグナリング
BR122022009680A2 (pt) Método implementado em um codificador, dispositivo de codificação de vídeo, meio legível por computador não transitório e codificador
BR122022009715A2 (pt) Método implementado por um codificador, dispositivo de codificação de vídeo, meio legível por computador não transitório, e codificador
BR122022009674A2 (pt) Método implementado por um codificador, dispositivo e aparelho de codificação, sistema e meio para codificação
BR112021011413A2 (pt) Método e aparelho de codificação de vídeo
BR122023003915B1 (pt) Fluxo de bits, método e dispositivo para armazenar um fluxo de bits,sistema e método para transmitir um fluxo de bits, e sistema para processar um fluxo de bits
RU2815736C1 (ru) Поддержка смешанных снимков irap и не-irap в пределах единицы доступа в многослойных битовых потоках видео
JP2024075651A (ja) マルチレイヤビデオビットストリームにおけるアクセスユニット内の混在したirapおよび非irapピクチャのサポート
BR122024003872A2 (pt) Codificador de vídeo, decodificador de vídeo e métodos correspondentes
BR112016021476B1 (pt) Método e dispositivo para codificar dados de vídeo e memória legível por computador

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]