BR112018000549B1 - Método de particionamento de blocos para a codificação ou decodificação de vídeo para um codificador de vídeo ou para um decodificador de vídeo respectivamente e aparelho para o particionamento de blocos para a codificação ou a decodificação de vídeo efetuada por um codificador de vídeo ou por um decodificador de vídeo respectivamente - Google Patents

Método de particionamento de blocos para a codificação ou decodificação de vídeo para um codificador de vídeo ou para um decodificador de vídeo respectivamente e aparelho para o particionamento de blocos para a codificação ou a decodificação de vídeo efetuada por um codificador de vídeo ou por um decodificador de vídeo respectivamente Download PDF

Info

Publication number
BR112018000549B1
BR112018000549B1 BR112018000549-5A BR112018000549A BR112018000549B1 BR 112018000549 B1 BR112018000549 B1 BR 112018000549B1 BR 112018000549 A BR112018000549 A BR 112018000549A BR 112018000549 B1 BR112018000549 B1 BR 112018000549B1
Authority
BR
Brazil
Prior art keywords
block
constraint
partitioning
binary
video
Prior art date
Application number
BR112018000549-5A
Other languages
English (en)
Other versions
BR112018000549A2 (pt
Inventor
Kai Zhang
Jicheng An
Original Assignee
Mediatek Singapore Pte. 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
Priority claimed from PCT/CN2015/084062 external-priority patent/WO2017008263A1/en
Application filed by Mediatek Singapore Pte. Ltd. filed Critical Mediatek Singapore Pte. Ltd.
Publication of BR112018000549A2 publication Critical patent/BR112018000549A2/pt
Publication of BR112018000549B1 publication Critical patent/BR112018000549B1/pt

Links

Abstract

MÉTODO DE ESTRUTURA DE PARTICIONAMENTO CONDICIONAL BINÁRIO DE BLOCOS EM ÁRVORE PARA CODIFICAÇÃO DE VÍDEO E IMAGEM. São propostos um método e um aparelho de divisão em partições de blocos para a codificação ou a decodificação de vídeo para um codificador de vídeo ou para um decodificador de vídeo respectivamente. A estrutura de árvores de partições que corresponde a um processo condicional de partições é determinada para a divisão em partições do bloco corrente de dados de vídeo em um ou mais sub-blocos finais. 0 processo condicional de divisão em partições compreende um processo de particionamento binário condicional que utiliza pelo menos uma primeira restrição se um bloco dado da estrutura de árvore de partições estiver dividido em blocos superior e inferior, ou uma segunda restrição se o dado bloco da estrutura de árvore de partições estiver dividido em blocos esquerdo e direito. 0 bloco inferior é desabilitado para ser dividido em um bloco inferior esquerdo e um bloco inferior direito de acordo com a primeira restrição, e o bloco direito é desabilitado para ser dividido em um bloco superior direito e um bloco inferior direito de acordo com a segunda restrição.

Description

REFERÊNCIA CRUZADA A PEDIDOS CORRELATOS
[001] A presente invenção reivindica prioridade ao Pedido de Patente PCT, No. de Série PCT/CN2015/084062, depositado em 15 de julho de 2015. O Pedido de Patente PCT é incorporado integralmente ao presente documento a título de referência.
CAMPO TÉCNICO
[002] A invenção se refere em linhas gerais a processamento de imagem e de vídeo. Mais especificamente, a presente invenção se refere a uma estrutura de particionamento de blocos com restrições para reduzir ou remover a redundância associada com a estrutura de particionamento de blocos na codificação de vídeo e imagem.
FUNDAMENTOS
[003] O padrão de Codificação de Vídeo de Alta Eficiência (HEVC) é desenvolvido pelo projeto conjunto de vídeo das organizações de padronização Grupo de Peritos de Codificação de Vídeo (VCEG) de ITU-T e Grupo de Peritos de Cinema (MPEG) de ISO/IEC e é, especialmente, com parceria conhecida como Equipe Conjunta Colaborativa de Codificação de Vídeo (JCT-VC).
[004] Em HEVC, uma fatia é dividida em múltiplas unidades de árvore de codificação (CTU). No perfil principal, os tamanhos mínimo e máximo de CTU são especificados pelos elementos sintáticos no conjunto de parâmetros de sequência (SPS). O tamanho de CTU permitido pode ser de 8x8, 16x16, 32x32 ou 64x64. Para cada fatia, os CTUs no interior da fatia são processados de acordo com uma ordem de varredura.
[005] A CTU é adicionalmente repartida em múltiplas unidades de codificação (CU) para se adaptar a diversas características locais. Uma árvore quaternária, indicada como uma árvore de codificação, é usada para repartir a CTU em múltiplas CUs. Suponhamos que o tamanho de CTU seja MxM, onde M é um dos valores de 64, 32 ou 16. A CTU pode ser uma única CU ou pode ser dividida em quatro unidades menores de tamanhos iguais (isto é, M/2xM/2) que são nós da árvore de codificação. Se as unidades forem nós de folhas da árvore de codificação, as unidades se tornam CUs. Caso contrário, o processo de divisão da árvore quaternária pode ser repetido até que o tamanho para um nó atinja um mínimo tamanho de CU permitido conforme especificado no SPS. Esta representação resulta em uma estrutura recorrente conforme especificado por uma árvore de codificação (a que se refere também como uma estrutura de árvore de partição) 120 na figura 1. A partição de CTU 110 é mostrada na Figura 1, onde as linhas cheias indicam os limites de CU. A decisão de se codificar uma área de imagem usando-se uma predição Inter-imagem (temporal) ou Intra-imagem (espacial) é tomada no nível de CU. Como o tamanho mínimo de CU pode ser 8x8, a granularidade mínima para se comutar entre tipos de predição básicos diferentes é 8x8.
[006] Uma ou mais unidades de predição (PU) são especificadas para cada CU. Acoplada com CU, a PU funciona como um bloco representativo básico para compartilhar as informações de predição. No interior de cada PU, o mesmo processo de predição é aplicado e as informações relevantes são transmitidas ao decodificador em uma base de PU. Uma CU pode ser dividida em uma, duas ou quatro PUs de acordo com o tipo de divisão de PU. HEVC define oito formatos para a divisão de uma CU em PU, conforme mostrado na Figura 2. Ao contrário de CU, a PU pode ser dividida somente uma vez. As partições mostradas na segunda linha correspondem às partições assimétricas, em que duas partes divididas têm tamanhos diferentes.
[007] Depois de se obter o bloco residual por aplicação do processo de predição com base no tipo de divisão de PU, uma CU pode ser repartida em unidades de transformação (TUs) de acordo com uma outra estrutura de árvore quaternária, que é análogo à árvore de codificação para a CU. Na Figura 1, as linhas cheias no bloco 110 indicam os limites de CU, e as linhas pontilhadas no bloco 110 indicam os limites de TU. De modo análogo, as linhas cheias para a estrutura de árvore de partição 120 correspondem à estrutura de árvore de partição de CU e as linhas tracejadas para a estrutura de árvore de partição 120 corresponde à estrutura de árvore de partição de TU. A TU é um bloco representativo básico de coeficientes residuais ou de transformação para a aplicação da transformação integral e da quantização. Para cada TU, uma transformação integral com o mesmo tamanho é aplicada à TU para se obter coeficientes residuais. Estes coeficientes são transmitidos ao decodificador depois da quantização numa base de TU.
[008] Os termos bloco de árvore de codificação (CTB), bloco de codificação (CB), bloco de predição (PB) e bloco de transformação (TB) são definidos para especificar o arranjo de amostra em 2-D de um componente de cor associado com CTU, CU, PU e TU, respectivamente. Assim uma CTU consiste em uma CTB luma, duas CTBs croma e elementos sintáticos associados. Uma relação análoga é válida para CU, PU e TU.
[009] O particionamento de árvore é geralmente aplicado simultaneamente tanto a componentes luma como croma, embora exceções possam ser aplicadas quando determinados tamanhos mínimos são atingidos para o componente croma.
[0010] No entanto, devido a algumas restrições da estrutura de particionamento de bloco HEVC atual, a eficiência de codificação pode não ser suficiente para lidar com demandas cada vez mais crescentes para armazenagem e transmissões maiores de conteúdos de vídeo. As restrições da estrutura de particionamento de blocos HEVC atual existem na árvore quaternária devido ao particionamento de CTU em CU e de CU em TU e à profundidade limitada do particionamento de PU.
[0011] Uma estrutura de árvore binária foi divulgada por alguns inventores comuns para o particionamento de uma unidade em múltiplas unidades menores, tal como o particionamento de uma fatia em CTUs, uma CTU em Cus, uma CU em PUs ou de uma CU em TUs no pedido de patente PCT No. PCT/CN2015/096761.
[0012] Na estrutura de particionamento de árvore binária conforme descrito no pedido de Patente PCT No. PCT/CN2015/096761, um bloco pode ser recursivamente dividido em dois blocos menores. Há diversos tipos de divisão binária conforme mostrado na Figura 3. Os mais simples são os divididos simétricos horizontais e verticais conforme mostrado na linha de topo dos tipos de divisão na Figura 3. Portanto, em uma modalidade do Pedido de Patente PCT No. PCT/CN2015/096761, somente estes dois tipos de divisão são usados para a divisão binária. Para um bloco dado de tamanho MxN, um sinalizador é usado para indicar se um bloco está dividido em dois blocos menores. Se tal for o caso, um outro elemento sintático é usado para indicar qual foi o tipo de divisão usado. Se for usada a divisão horizontal, então ele é dividido em dois blocos de tamanho MxN/2. Caso contrário, ele é verticalmente dividido em dois blocos de tamanho M/2xN.
[0013] O processo de divisão de árvore binária pode ser repetido até que o tamanho (isto é, largura ou altura) para um bloco de divisão atinge um tamanho de bloco mínimo permitido. O tamanho de bloco mínimo permitido pode ser definido em sintaxe de nível elevado tal como SPS (conjunto de parâmetros de sequência). Como a árvore binária tem dois tipos de divisão (isto é, horizontal e vertical), a largura e a altura de bloco mínimas permitidas devem ser ambas indicadas. A divisão não horizontal está implícita quando a divisão resultaria em uma altura de bloco menor do que o mínimo indicado. A divisão não vertical é implícita quando a divisão resultaria em uma largura de bloco menor do que o mínimo indicado. A Figura 4 ilustra um exemplo de particionamento de bloco 410 e a sua estrutura de árvore binária correspondente 420. Em cada nó de divisão (isto é, não folha) da estrutura de árvore binária, um sinalizador é usado para indicar qual o tipo de divisão (isto é, horizontal ou vertical) que é usado, em que 0 indica divisão horizontal e 1 indica divisão vertical.
[0014] A estrutura de árvore binária proposta pode ser usada para particionar um bloco em uma multiplicidade de pequenos blocos tais como particionando uma fatia em CTUs, uma CTU em CUs, uma CU em PUs ou uma CU em TUs e assim por diante. Em uma modalidade, a árvore binária é usada para o particionamento de uma CTU em CUs. Em outras palavras, o nó de raiz da árvore binária é um CTU e os nós de folhas da árvore binária são CUs. Os nós de folhas são ainda mais processados por codificação de predição e transformação. Em uma outra modalidade, não há nenhum outro particionamento de CU em PU ou de CU em TU para simplificar o processo de particionamento de blocos. Isso significa que CU é igual à PU e também igual a TU. Portanto, os nós de folhas da árvore binária são também a unidade básica para a codificação de predição e transformação neste caso.
[0015] A estrutura de árvore binária é mais flexível do que a estrutura de árvore quaternária, uma vez que a estrutura de árvore binária permite mais formatos de partição, o que é também a fonte de melhoramento da eficiência de codificação. No entanto, a complexidade de codificação também aumentará devido a seleções aumentadas par a escolha do melhor formato de partição. Para atingir um equilíbrio entre a complexidade e a eficiência de codificação, o Pedido de Patente PCT No. PCT/CN2015/096761 divulga um método para combinar a estrutura de árvore quaternária e a de árvore binária que é denominada estrutura de árvore quaternária mais árvore binária (QTBT). Em uma estrutura QTBT exemplar, um bloco é primeiro particionado por uma estrutura de árvore quaternária, e a divisão de árvore quaternária pode ser repetida até que o tamanho para o bloco de divisão atinja o mínimo tamanho de nó de folha de árvore quaternária permitido. Se o bloco de árvore quaternária de folha não for maior do que o tamanho máximo de nó de raiz de árvore binária permitido, ele pode ser ainda particionado por uma estrutura de árvore binária. A divisão de árvore binária pode ser repetida até que o tamanho (isto é, largura ou altura) para um bloco de divisão atinja o tamanho de nó de folha mínimo de árvore binária permitido (isto é, largura ou altura) ou até que a profundidade da árvore binária atinja a profundidade de árvore binária máxima permitida.
[0016] Em uma estrutura QTBT, o tamanho de nó de folha de árvore quaternária mínimo permitido, o tamanho de nó de raiz de árvore binária máximo permitido, a largura e a altura de nó de folha de árvore binária mínimas permitidas e a profundidade de árvore binária máxima permitida, podem ser indicadas em uma sintaxe de alto nível tal como SPS. A Figura 5 ilustra um exemplo de particionamento de bloco 510 e a sua estrutura QTBT 520. As linhas cheias indicam a divisão de árvore quaternária e as linhas pontilhadas indicam divisão de árvore binária. Em cada nó (isto é, não folha) de divisão da árvore binária, um sinalizador indica qual o tipo de divisão (isto é, horizontal ou vertical) que é usado, onde 0 indica a divisão horizontal e 1 indica a divisão vertical.
[0017] A estrutura QTBT pode ser usada para o particionamento de um bloco em uma multiplicidade de blocos menores, tal como o particionamento de uma fatia em CTUs, uma CTU em CUs, uma CU em PUs ou uma CU em TUs, e assim por diante. Em uma modalidade do Pedido de Patente PCT No. PCT/CN2015/096761, a QTBT é usada para o particionamento de uma CTU em CUs, sendo o nó de raiz da QTBT uma CTU que é particionada em uma multiplicidade de CUs por uma estrutura QTBT. As CUs são ainda mais processadas por codificação de predição e transformação. Para simplificar o processo de partição, não há nenhum outro particionamento de CU em PU ou de CU em TU. Isto implica que cada CU é igual a uma PU assim como a uma TU. Em outras palavras, o nó de folha da estrutura QTBT é a unidade básica para predição e transformação.
[0018] Para ilustrar um exemplo da estrutura QTBT, os parâmetros de sistema são ajustados do seguinte modo: uma CTU tendo o tamanho de 128x128, o tamanho de nó de folha de árvore quaternária permitido igual a 16x16, o tamanho de nó de raiz de árvore binária máximo permitido igual a 64x64, a largura e altura de nó de folha de árvore binária mínimas permitidas ambas iguais a 4, e a profundidade de árvore binária máxima permitida igual a 4. Em primeiro lugar, a CTU é particionada por uma estrutura de árvore quaternária e a unidade de árvore quaternária de folha pode ter o tamanho de 16x16 (isto é, o tamanho de nó de folha de árvore quaternária mínimo permitido) até 128x128 (isto é o tamanho de CTU sem divisão). Se a unidade de árvore quaternária de folha for 128x128, ela não pode ser ainda mais dividida pela árvore binária, uma vez que o tamanho excede o tamanho de nó de raiz de árvore binária máximo permitido, 64x64. Caso contrário, a unidade de folha de árvore quaternária pode ser ainda dividida pela árvore binária, e cada unidade de árvore quaternária de folha é também a unidade de árvore binária de raiz e tem a profundidade de árvore binária igual a 0. Quando a profundidade da árvore binária atinge 4 (isto é, o máximo indicado), nenhuma divisão posterior é implícita. Consequentemente, quando o nó de árvore binária tem uma altura igual a 4, fica implícita uma divisão não vertical. Os nós de folha da QTBT são ainda mais processados por codificação de predição (predição Intraimagem ou Interimagem, por exemplo) e de transformação.
[0019] A estrutura de árvore é aplicada separadamente a luma e a croma para a fatia I e aplicada simultaneamente tanto a luma como a croma para a fatia P e para a fatia B exceto quando são atingidos determinados tamanhos mínimos para o componente de croma. Em outras palavras, em uma fatia I, o CTB de luma tem o seu particionamento de blocos por QTBT, e os CTBs de dois cromas tem um outro particionamento de blocos por QTBT. No entanto, os CTBs de dois cromas podem também ter o seu próprio particionamento de blocos por QTBT.
[0020] Embora a estrutura QTBT proporcione uma maior flexibilidade, ela pode introduzir algumas estruturas redundantes. As Figuras 6A a 6C ilustram exemplos de estruturas redundantes. Na Figura 6A, um bloco é dividido em 4 sub-blocos diretamente usando uma partição quaternária. Na Figura 6B, um bloco é dividido em um bloco superior e um bloco inferior usando partição binária horizontal, e cada bloco é ainda dividido em um bloco esquerdo e um bloco direito usando partição binária vertical. Na Figura 6C, um bloco é dividido em um bloco esquerdo e um bloco direito usando partição binária vertical e cada bloco é ainda dividido em um bloco superior e um bloco inferior usando a partição binária horizontal. Todos os trajetos de divisão nas Figuras 6A a 6C resultam nas mesmas partições, isto é, em quatro sub-blocos.
SUMÁRIO
[0021] É proposto um método e um aparelho de partição de blocos para a codificação ou decodificação de vídeo para um codificador de vídeo ou um decodificador de vídeo respectivamente. Em uma modalidade, uma estrutura de árvore de particionamento que corresponde a um processo de particionamento condicional é determinada para a particionamento do bloco de dados de vídeo corrente em um ou mais sub-blocos finais. O processo de particionamento condicional compreende um processo de particionamento binário condicional que usa pelo menos uma primeira restrição se um dado bloco da estrutura de árvore de particionamento (por exemplo, o bloco corrente) é particionado em um bloco superior e um bloco inferior, ou uma segunda restrição se o dado bloco da estrutura de árvore de particionamento for particionada em um bloco esquerdo e um bloco direito. O bloco inferior tem a sua divisão em um primeiro bloco inferior esquerdo e em um primeiro bloco inferior direito desabilitada de acordo com a primeira restrição, e o bloco direito tem a sua divisão em um segundo bloco superior direito e um segundo bloco inferior direito desabilitada de acordo com uma segunda restrição. Um processo de codificação ou decodificação compreende um processo de predição, um processo de transformação, ou ambos, é/são então aplicado(s) ao bloco de dados de vídeo corrente por aplicação do processo de codificação ou de decodificação a um nível que corresponde aos sub-blocos finais.
[0022] Do lado do codificador de vídeo, a estrutura de árvore de particionamento é determinada pelo codificador de vídeo e as informações associadas com a estrutura de árvore de particionamento são sinalizadas do codificador de vídeo para um decodificador de vídeo. Do lado do decodificador de vídeo, a estrutura de árvore de particionamento é determinada pelo decodificador de vídeo com base em informações associadas com a estrutura de árvore de particionamento sinalizada em uma corrente de bits. O processo de particionamento binário condicional pode ser aplicado ao bloco dado recursivamente para gerar nós de folha de árvore binária que pertencem ao um ou mais sub- blocos.
[0023] Em uma modalidade, se tanto a partição quaternária como a partição binária são habilitadas para o bloco dado da estrutura de árvore de particionamento, o processo de particionamento binário condicional pode usar tanto a primeira restrição como a segunda restrição. Em uma outra modalidade, se somente for permitida a partição binária para o bloco dado da estrutura de árvore de particionamento, o processo de particionamento binário condicional usa somente a primeira restrição ou a segunda restrição. Quando o processo de particionamento binário condicional usa a segunda restrição, um sinalizador pode ser usado para o bloco esquerdo para indicar se o bloco esquerdo está dividido em um segundo bloco superior esquerdo e em um segundo bloco inferior esquerdo, e nenhum sinalizador é usado para o bloco direito para indicar se o bloco direito está dividido no segundo bloco superior direito e no segundo bloco inferior direito. De modo análogo, quando o processo de particionamento condicional binário usa a primeira restrição, um sinalizador é usado para o bloco acima para indicar se o bloco superior está dividido em um primeiro bloco superior esquerdo e um primeiro bloco superior direito, e nenhum sinalizador é usado para o bloco inferior para indicar se o bloco inferior está dividido no primeiro bloco inferior esquerdo, e no primeiro bloco inferior direito.
[0024] Se o processo de particionamento condicional binário usa a primeira restrição, a segunda restrição ou ambas, pode ser baseado em um tipo de fatia de uma fatia corrente abrangendo o bloco corrente de dados de vídeo. O processo de particionamento condicional binário, por exemplo, usa somente a primeira restrição ou a segunda restrição se a fatia corrente for fatia P ou fatia B e o processo de particionamento binário condicional não usa nem a primeira restrição nem a segunda restrição se a fatia corrente for uma fatia I. Em um outro exemplo, o processo de particionamento binário condicional usa somente a primeira restrição ou a segunda restrição se a fatia corrente for uma fatia I e o processo de particionamento binário condicional não usa nem a primeira restrição nem a segunda restrição se a fatia corrente for uma fatia P ou fatia B.
[0025] Se o processo de particionamento binário condicional usa a primeira restrição, a segunda restrição ou ambas, pode ser baseado em um tipo de componente de cor do bloco corrente de dados de vídeo. O processo de particionamento binário condicional usa, por exemplo, somente a primeira restrição ou a segunda restrição se o bloco corrente de dados de vídeo for um componente luma e o processo de particionamento binário condicional não usa nem a primeira restrição nem a segunda restrição se o bloco corrente de dados de vídeo for um componente croma. Em um outro exemplo, o processo de particionamento binário condicional usa somente a primeira restrição ou a segunda restrição se o bloco corrente de dados de vídeo for um componente croma e o processo de particionamento binário condicional não usa nem a primeira restrição nem a segunda restrição se o bloco corrente de dados de vídeo for um componente luma.
[0026] Pelo menos um sinalizador pode ser usado em VPS (conjunto de parâmetros de vídeo), SPS (conjunto de parâmetros de sequência), PPS (conjunto de parâmetros de imagem), cabeçalho da fatia ou CU (unidade de codificação) para indicar se a primeira restrição, a segunda restrição, ou ambas estão incluídas para o processo de particionamento binário condicional.
DESCRIÇÃO SUCINTA DOS DESENHOS
[0027] A Figura 1 ilustra a subdivisão de uma CTU em CUs e TUs usando uma árvore quaternária em HEVC (codificação de vídeo de alta eficiência).
[0028] A Figura 2 ilustra os oito tipos de partição para a divisão de uma CU (unidade de codificação) em uma ou mais PUs (unidades de predição) em HEVC (codificação de vídeo de alta eficiência).
[0029] A Figura 3 ilustra os tipos de divisão possíveis para uma árvore binária.
[0030] A Figura 4 ilustra um exemplo de partição de blocos usando uma árvore binária correspondente.
[0031] A Figura 5 ilustra um exemplo de partição de blocos usando uma árvore quaternária correspondente mais árvore binária (QTBT).
[0032] As Figuras 6A-6C ilustram exemplos de estrutura de codificação redundante através de diferentes trajetos de divisão.
[0033] A Figura 7 ilustra um exemplo de um particionamento não permitido em um bloco de 2NxN inferior de acordo com uma modalidade da presente invenção.
[0034] A Figura 8 ilustra um exemplo de particionamento não permitido em um bloco Nx2N direito de acordo com uma modalidade da presente invenção.
[0035] A Figura 9 ilustra um fluxograma para um sistema de codificação exemplar incorporando o particionamento binário condicional de acordo com uma modalidade da presente invenção.
DESCRIÇÃO DETALHADA
[0036] A descrição que segue é do modo mais bem contemplado de implementação da invenção. Esta descrição é dada com a finalidade de ilustrar os princípios gerais da invenção e não deve ser tomada em um sentido limitante. O âmbito da invenção é melhor determinado por referência às reivindicações apensas.
[0037] Conforme mencionado acima, há alguma redundância em um sistema de codificação que incorpora o particionamento de blocos incluindo o particionamento binário. Especialmente, para a estrutura de árvore quaternária mais árvore binária (QTBT), existe uma redundância que pode causar uma perda em eficiência de codificação. Para se resolver o problema de redundância em um sistema que usa uma estrutura de árvore binária, especialmente a estrutura QTBT, são descritos métodos para remover ou reduzir a redundância na estrutura de árvore binária. Em uma modalidade, quando um bloco é dividido em um bloco superior e um bloco inferior usando partição binária horizontal (partição 710) e o bloco superior é dividido em um bloco esquerdo e um bloco direito usando partição binária vertical (partição 720), então não é permitido que o bloco inferior seja dividido em um bloco esquerdo e um bloco direito (a partição 730 não é permitida). Esta restrição é denominada restrição I ou primeira restrição nesta invenção, conforme ilustrado na figura 7. Quando um bloco corrente é particionado em um bloco superior e um bloco inferior, por exemplo, é usada a primeira restrição se o bloco superior é dividido em um bloco superior esquerdo e um bloco superior direito.
[0038] Em uma outra modalidade, quando um bloco é dividido em um bloco esquerdo e um bloco direito usando a partição binária vertical (partição 810) e o bloco esquerdo é dividido em um bloco superior e um bloco inferior usando partição binária horizontal (partição 820), então não é permitido que o lodo direito seja dividido em um bloco superior e um bloco inferior (a partição 830 não é permitida). Esta restrição é denominada restrição II ou segunda restrição nesta invenção, conforme ilustrado na Figura 8. Quando um bloco corrente é particionado em um bloco esquerdo e um bloco direito, por exemplo, é usada a segunda restrição se o bloco esquerdo é dividido em um bloco superior esquerdo e um bloco inferior esquerdo.
[0039] Há diversos modos de se aplicar a restrição I e a restrição II de modo adaptativo, dependendo do bloco a ser particionado. Quando um bloco pode ser dividido ou em quatro ou em dois sub-blocos, por exemplo, (isto é, são permitidos para este bloco tanto a partição quaternária como a partição binária), são aplicadas tanto a restrição I como a restrição II. Em um outro exemplo, quando um bloco pode somente ser dividido em dois sub-blocos (isto é, somente a partição binária é permitida para este bloco), é aplicada a restrição I e a restrição II não é aplicada. Em um outro exemplo ainda, quando um bloco pode somente ser dividido em dois sub-blocos, é aplicada a restrição II e a restrição I não é aplicada.
[0040] Quando é aplicada a restrição I somente um sinalizador é usado para indicar o modo de divisão para o bloco acima, pois não há necessidade de se sinalizar para o bloco inferior (de acordo com a restrição I, o bloco inferior não tem permissão de ser dividido em um bloco inferior esquerdo e em um bloco inferior direito). O sinalizador indica se o bloco superior não foi dividido, ou ainda mais dividido em um bloco superior esquerdo e em um bloco superior direito. De modo análogo, quando é aplicada a restrição II, somente um sinalizador é usado para indicar o modo de divisão para o bloco esquerdo. O sinalizador indica se o bloco esquerdo não foi dividido ou ainda mais dividido em um bloco superior esquerdo e em um bloco inferior esquerdo. Nenhum sinalizador é necessário para indicar o modo de divisão para o bloco direito, uma vez que o bloco direito não tem permissão de ser dividido em um bloco superior direito e um bloco inferior direito de acordo com a restrição II. Nesta modalidade, o sinalizador para a divisão vertical/horizontal no caso proibido é salvo.
[0041] Em uma modalidade, se as duas restrições são aplicadas ou não depende do tipo de fatia. Por exemplo, a restrição I pode ser aplicada para a fatia P/B, por exemplo, mas não para a fatia I. Neste exemplo, a restrição I é usada pra o bloco na fatia P/B, mas não é usada para o bloco na fatia I. Em um outro exemplo ainda, a restrição II pode ser aplicada para a fatia P/B, mas não para a fatia I. Neste exemplo, a restrição II é usada para o bloco na fatia P/B, mas não é usada para o bloco na fatia I. A restrição I pode também ser aplicada para a fatia I, mas não para a fatia P/B. De modo análogo, a restrição II pode ser aplicada para a fatia I, mas não para a fatia P/B.
[0042] Em uma outra modalidade, se as duas restrições são aplicadas ou não depende do componente de cor. A restrição I pode ser aplicada, por exemplo, para o componente luma, mas não para o componente croma. Neste exemplo, a restrição I é usada para o bloco de luma, mas não é usada para o bloco de croma. Em um outro exemplo, a restrição II pode ser aplicada para o componente luma, mas não para o componente croma. Neste exemplo, a restrição II, é usada para o bloco de luma, mas não é usada para o bloco de croma. A restrição I pode também ser aplicada para o componente croma, mas não para o componente luma. De modo análogo, a restrição II pode ser aplicada para o componente croma, mas não para o componente luma.
[0043] Em uma modalidade, um sinalizador é usado partindo do codificador ao decodificador para indicar se é aplicada a restrição I. O sinalizador pode ser usado em VPS (conjunto de parâmetros de vídeo), SPS (conjunto de parâmetros de sequência), PPS (conjunto de parâmetros de imagem), cabeçalho de fatia ou CU. De modo análogo, um sinalizador pode ser usado partindo do codificador para o decodificador para indicar se é aplicada a restrição II. O sinalizador pode ser usado em VPS, SPS, PPS, cabeçalho de fatia ou CU. Em um outro exemplo, um sinalizador pode ser usado partindo do codificador para o decodificador para indicar se tanto a restrição I como a restrição II são aplicadas.
[0044] A Figura 9 ilustra um fluxograma para um sistema de codificação exemplar incorporando particionamento binário condicional de acordo com uma modalidade da presente invenção. Com base neste método, os dados de entrada associados com um bloco corrente de dados de vídeo são recebidos na etapa 910. Do lado do codificador, os dados de entrada podem corresponder aos dados de píxels a serem codificados ou preditos ou dados residuais a serem processados pela transformação. Do lado do decodificador, os dados de entrada correspondem aos dados de transformação codificados a serem transformados inversamente ou dados de píxels codificados a serem decodificados ou a serem preditos. A estrutura de árvore de particionamento correspondendo a um processo de particionamento condicional para o particionamento do bloco corrente de dados de vídeo em um ou mais sub-blocos finais é determinada na etapa 920. Do lado do codificador, o codificador determina a estrutura de árvore de particionamento com base no atributo dos dados de vídeo, por exemplo, e sinaliza as informações associadas com ela na corrente de bits. Do lado do decodificador, o decodificador pode determinar a estrutura de árvore de particionamento com base nas informações associadas com a estrutura de árvore de particionamento sinalizada na corrente de bits. O processo de particionamento condicional compreende um processo de particionamento binário condicional que usa pelo menos uma primeira restrição se um bloco dado da estrutura de árvore de particionamento (o bloco corrente, por exemplo) é particionado em um bloco superior e um bloco inferior, ou uma segunda restrição se o bloco dado da estrutura de árvore de particionamento (o bloco corrente, por exemplo) for particionado em um bloco esquerdo e um bloco direito. O bloco inferior não tem permissão para ser dividido em um bloco inferior esquerdo e um bloco inferior direito de acordo com a primeira restrição, e o bloco direito não tem permissão para ser dividido em um bloco superior direito e um bloco inferior direito de acordo com a segunda restrição. O processo de particionamento binário condicional é aplicado ao bloco dado (o bloco corrente, por exemplo) recursivamente para gerar nós de folhas de árvore binária pertencendo aos sub- blocos finais. O processo de codificação ou de decodificação compreendendo processo de predição, processo de transformação ou ambos é aplicado ao bloco corrente dos dados de vídeo aplicando-se o processo de codificação ou de decodificação a um nível que corresponde aos sub-blocos finais, conforme mostrado na etapa 930.
[0045] O fluxograma apresentado é destinado a ilustrar um exemplo de codificação de vídeo de acordo com a presente invenção. Os versados na técnica poderão modificar cada etapa, rearranjar as etapas, dividir uma etapa ou combinar etapas para implementação da presente invenção sem que haja desvio do espírito da presente invenção. Na descrição foram usadas uma sintaxe e semântica específicas para ilustrar exemplos para implementar modalidades da presente invenção. Os versados na técnica poderão colocar em prática a presente invenção substituindo a sintaxe e a semântica com uma sintaxe e semântica equivalente sem que haja desvio do espírito da presente invenção.
[0046] A descrição acima é apresentada para permitir que os versados na técnica na técnica coloquem em prática a presente invenção conforme ela vem provida dentro do contexto de uma aplicação específica e conforme for necessário. Diversas modificações às modalidades descritas serão evidentes aos versados na técnica, e os princípios definidos no presente documento podem ser aplicados a outras modalidades. Portanto, a presente invenção não se destina a ser limitada às modalidades específicas apresentadas e descritas, mas deve estar de acordo com o mais amplo âmbito consistente com os princípios e características inéditas que foram aqui descritas. Na descrição detalhada acima, são ilustrados diversos detalhes específicos para proporcionar uma compreensão completa da presente invenção. Mesmo assim, deve ficar subentendido pelos versados na técnica que a presente invenção pode ser implementada.
[0047] A modalidade da presente invenção como descrita acima, pode ser implementada em diversos hardwares, códigos de software ou em uma combinação dos dois. Uma modalidade da presente invenção pode, por exemplo, consistir em um ou mais circuitos integrados em um chip de compressão de vídeo ou código de programa integrado a um software de compressão de vídeo para efetuar o processamento descrito no presente documento. Uma modalidade da presente invenção pode também consistir em um código de programa a ser executado em um Processador de Sinal Digital (DSP) para efetuar o processamento descrito no presente documento. A invenção pode também envolver uma série de funções a serem conduzidas por um processador computador, um processador de sinal digital, um microprocessador ou um arranjo de portas programáveis no campo (FPGA). Estes processadores podem ser configurados para desempenhar tarefas específicas de acordo com a invenção, pela execução de um código de software ou de um código de firmwarelegível por máquina que define os métodos específicos incorporados pela invenção. O código de software ou código de firmware pode ser desenvolvido em diferentes linguagens de programação e em diferentes formatos ou estilos. O código de softwaretambém pode ser compilado para plataformas alvo diferentes. No entanto, diferentes formatos de códigos, estilos e linguagens de códigos de software e outros meios de configuração de código para desempenhar as tarefas de acordo com a invenção não se afastarão do espírito e âmbito da invenção.
[0048] A invenção pode ser incorporada a outras formas específicas, sem que haja desvio do seu espírito ou características essenciais. Os exemplos descritos devem ser considerados em todos os sentidos somente como ilustrativos e não restritivos. O âmbito da invenção é, portanto, indicado pelas reivindicações apensas e não pela descrição acima. Todas as alterações que incidem no significado e alcance de equivalência das reivindicações devem incidir em seu âmbito.

Claims (15)

1. Método de particionamento de blocos para a codificação ou decodificação de vídeo para um codificador de vídeo ou para um decodificador de vídeo respectivamente, o método compreendendo: receber (910) dados de entrada associados com um bloco corrente de dados de vídeo; determinar (920) uma estrutura de árvore de particionamento correspondendo a um processo condicional de particionamento para dividir em partições o bloco corrente de dados de vídeo em um ou mais sub-blocos finais; e aplicar (930) um processo de codificação ou de decodificação compreendendo um processo de predição, um processo de transformação, ou ambos, ao bloco de dados de vídeo corrente aplicando o processo de codificação ou de decodificação em um nível que corresponde ao dos sub-blocos finais; o método sendo caracterizado pelo fato de que: o processo condicional de particionamento compreende um processo de particionamento binário condicional que usa pelo menos: uma primeira restrição, definindo que se um determinado bloco da estrutura da árvore de particionamento for particionado em um bloco superior e um bloco inferior usando partição binária horizontal e o bloco superior for dividido em um bloco esquerdo e um bloco direito usando partição binária vertical, então o inferior não pode ser dividido em um bloco esquerdo e um bloco direito; ou uma segunda restrição, definindo que se o bloco dado da estrutura da árvore de particionamento for particionado em um bloco esquerdo e um bloco direito usando partição binária vertical e o bloco esquerdo é dividido em um bloco superior e um bloco inferior usando partição binária horizontal, então o bloco direito não pode ser dividido em um bloco superior e um bloco inferior.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a determinação da estrutura de árvore de particionamento é efetuada pelo codificador de vídeo e informações associadas com a estrutura de árvore de particionamento são sinalizadas do codificador de vídeo ao decodificador de vídeo.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a determinação da estrutura de árvore de particionamento é efetuada pelo decodificador de vídeo com base em informações associadas com a estrutura de árvore de particionamento sinalizada em uma corrente de bits.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o processo de particionamento binário condicional é aplicado a um bloco dado para gerar nós de folha de árvore binária pertencendo a um ou mais sub-blocos finais.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que se tanto o particionamento quaternário como o particionamento binário são permitidos para o bloco dado da estrutura de árvore de particionamento, o processo de particionamento binário condicional usa tanto a primeira restrição como a segunda restrição.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que se somente for permitida um particionamento binário para o bloco dado da estrutura de árvore de particionamento, o processo de particionamento binário condicional usa somente a primeira restrição ou usa somente a segunda restrição.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que quando o processo de particionamento binário condicional usa a segunda restrição, um sinalizador é usado para o bloco esquerdo para indicar se o bloco esquerdo está dividido em um segundo bloco superior esquerdo e um segundo bloco inferior esquerdo, e nenhum sinalizador é usado para o bloco direito para indicar se o bloco direito está dividido no segundo bloco superior direito e no segundo bloco inferior direito.
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que quando o processo de particionamento binário condicional usa a primeira restrição, um sinalizador é usado para o bloco superior para indicar se o bloco superior está dividido em um primeiro bloco superior esquerdo e um primeiro bloco superior direito, e nenhum sinalizador é usado para o bloco inferior para indicar se o bloco inferior está dividido no primeiro bloco inferior esquerdo e no primeiro bloco inferior direito.
9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que se o processo de particionamento binário condicional utilizar a primeira restrição, a segunda restrição ou ambas está baseado em um tipo de fatia de uma fatia corrente que abrange o bloco corrente de dados de vídeo, em que, preferencialmente: o processo de particionamento binário condicional usa a primeira restrição ou a segunda restrição se a fatia corrente for uma fatia P ou uma fatia B, e em que o processo de particionamento binário condicional não usa nem a primeira restrição nem a segunda restrição se a fatia corrente for uma fatia I; ou o processo de particionamento binário condicional usa a primeira restrição ou a segunda restrição se a fatia corrente for uma fatia I, e em que o processo de particionamento binário condicional não usa nem a primeira restrição nem a segunda restrição se a fatia corrente for uma fatia P ou uma fatia B.
10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o processo de particionamento binário condicional usa a primeira restrição, a segunda restrição ou ambas está baseado em um tipo de componente de cor do bloco corrente de dados de vídeo, em que, preferencialmente: o processo de particionamento binário condicional usa a primeira restrição ou a segunda restrição se o bloco corrente de dados de vídeo for um componente luma, e em que o processo de particionamento binário condicional não usa nem a primeira restrição nem a segunda restrição se o bloco corrente de dados de vídeo for um componente croma; ou o processo de particionamento binário condicional usa a primeira restrição ou a segunda restrição se o bloco corrente de dados de vídeo for um componente croma, e em que o processo de particionamento binário condicional não usa nem a primeira restrição nem a segunda restrição se o bloco corrente de dados de vídeo for um componente luma.
11. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que pelo menos um sinalizador é usado em VPS (conjunto de parâmetros de vídeo), SPS (conjunto de parâmetros de sequência), PPS (conjunto de parâmetros de imagem), cabeçalho de fatia, ou CU (unidade de codificação) para indicar se a primeira restrição, a segunda restrição, ou tanto a primeira como a segunda restrição estão incluídas no processo de particionamento binário condicional.
12. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o processo de particionamento binário condicional usa a primeira restrição se o bloco superior for dividido em um primeiro bloco superior esquerdo e em um primeiro bloco superior direito.
13. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o processo de particionamento binário condicional usa a segunda restrição se o bloco esquerdo estiver dividido em um segundo bloco superior esquerdo e em um segundo bloco inferior esquerdo.
14. Aparelho para o particionamento de blocos para a codificação ou a decodificação de vídeo efetuada por um codificador de vídeo ou por um decodificador de vídeo respectivamente, o aparelho compreendendo um ou mais circuitos eletrônicos ou um processador configurado para: receber dados de entrada associados com um bloco corrente de dados de vídeo; determinar uma estrutura de árvore de particionamento correspondendo a um processo condicional de particionamento para o particionamento do bloco corrente de dados de vídeo em um ou mais sub-blocos finais; e aplicar um processo de codificação ou de decodificação compreendendo um processo de predição, um processo de transformação ou ambos ao bloco corrente de dados de vídeo aplicando o processo de codificação ou decodificação a um nível que corresponde aos sub-blocos finais; o aparelho sendo caracterizado pelo fato de que: o processo condicional de particionamento compreende um processo de particionamento binário condicional que usa pelo menos: uma primeira restrição, definindo que se um determinado bloco da estrutura da árvore de particionamento for particionado em um bloco superior e um bloco inferior usando partição binária horizontal e o bloco superior for dividido em um bloco esquerdo e um bloco direito usando partição binária vertical, então o inferior não pode ser dividido em um bloco esquerdo e um bloco direito; ou uma segunda restrição, definindo que se o bloco dado da estrutura da árvore de particionamento for particionado em um bloco esquerdo e um bloco direito usando partição binária vertical e o bloco esquerdo é dividido em um bloco superior e um bloco inferior usando partição binária horizontal, então o bloco direito não pode ser dividido em um bloco superior e um bloco inferior
15. Aparelho, de acordo com a reivindicação 14, caracterizado pelo fato de que: se forem permitidas tanto a partição quaternária como a partição binária para o bloco dado da estrutura de árvore de particionamento, o processo de particionamento binário condicional usa tanto a primeira restrição como a segunda restrição; ou se somente for permitida a partição binária para o bloco dado da estrutura de árvore de particionamento, o processo de particionamento binário condicional usa somente a primeira restrição ou somente a segunda restrição.
BR112018000549-5A 2015-07-15 2016-07-07 Método de particionamento de blocos para a codificação ou decodificação de vídeo para um codificador de vídeo ou para um decodificador de vídeo respectivamente e aparelho para o particionamento de blocos para a codificação ou a decodificação de vídeo efetuada por um codificador de vídeo ou por um decodificador de vídeo respectivamente BR112018000549B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2015/084062 2015-07-15
PCT/CN2015/084062 WO2017008263A1 (en) 2015-07-15 2015-07-15 Conditional binary tree block partitioning structure
PCT/CN2016/089106 WO2017008678A1 (en) 2015-07-15 2016-07-07 Method of conditional binary tree block partitioning structure for video and image coding

Publications (2)

Publication Number Publication Date
BR112018000549A2 BR112018000549A2 (pt) 2018-09-18
BR112018000549B1 true BR112018000549B1 (pt) 2023-09-05

Family

ID=

Similar Documents

Publication Publication Date Title
US10506231B2 (en) Method of video coding using binary tree block partitioning
EP3298777B1 (en) Method of conditional binary tree block partitioning structure for video and image coding
US10812806B2 (en) Method and apparatus of localized luma prediction mode inheritance for chroma prediction in video coding
US10750169B2 (en) Method and apparatus for intra chroma coding in image and video coding
US10863207B2 (en) Method and apparatus of entropy coding and context modelling for video and image coding
US11039147B2 (en) Method and apparatus of palette mode coding for colour video data
EP3731527A1 (en) Method and apparatus of palette mode coding for colour video data
US11032568B2 (en) Method of video coding using prediction based on intra picture block copy
US20180139444A1 (en) Method and Apparatus of Video Coding Using Flexible Quadtree and Binary Tree Block Partitions
US20170244964A1 (en) Method and Apparatus of Flexible Block Partition for Video Coding
JP6223998B2 (ja) 高効率ビデオコーディングにおける符号化ブロックフラグ符号化の方法と装置
BR112021000667A2 (pt) Método e aparelho de processamento de vídeo em um sistema de codificação de vídeo para codificar ou decodificar imagens de vídeo com uma restrição de partição e meio legível por computador não transitório
BR112016027420B1 (pt) Codificação de sequências de execução com evasão em codificação de vídeo baseada em paleta
WO2017008679A1 (en) Method and apparatus of advanced intra prediction for chroma components in video and image coding
BR122022005759A2 (pt) Método e aparelho de codificação de vídeo
BR112020019816A2 (pt) Métodos e aparelhos para sinalização de particionamento de unidade de codificação de dados de vídeo
US10904566B2 (en) Method and apparatus for index map coding in video and image compression
US20180359494A1 (en) Method and apparatus of prediction binary tree structure for video and image coding
BR112018000549B1 (pt) Método de particionamento de blocos para a codificação ou decodificação de vídeo para um codificador de vídeo ou para um decodificador de vídeo respectivamente e aparelho para o particionamento de blocos para a codificação ou a decodificação de vídeo efetuada por um codificador de vídeo ou por um decodificador de vídeo respectivamente
BR112019001415B1 (pt) Método para processar dados de vídeo em um sistema de conversão em código de vídeo, aparelho de processar dados de vídeo em um sistema de conversão e mídia legível por computador não transitória
BR112016021228B1 (pt) Método de codificação de um bloco de dados de vídeo e aparelho
BR112019007634A2 (pt) dispositivos e métodos para codificação de vídeo