BR112015024940B1 - Método e dispositivo para construir uma primeira lista de imagens de referência e uma segunda lista de imagens de referência para predição intercamadas de uma imagem atual de uma sequência de vídeo multicamadas, meio de armazenamento legível por computador, e, terminal móvel - Google Patents

Método e dispositivo para construir uma primeira lista de imagens de referência e uma segunda lista de imagens de referência para predição intercamadas de uma imagem atual de uma sequência de vídeo multicamadas, meio de armazenamento legível por computador, e, terminal móvel Download PDF

Info

Publication number
BR112015024940B1
BR112015024940B1 BR112015024940-0A BR112015024940A BR112015024940B1 BR 112015024940 B1 BR112015024940 B1 BR 112015024940B1 BR 112015024940 A BR112015024940 A BR 112015024940A BR 112015024940 B1 BR112015024940 B1 BR 112015024940B1
Authority
BR
Brazil
Prior art keywords
reference images
list
images
image
viewid
Prior art date
Application number
BR112015024940-0A
Other languages
English (en)
Other versions
BR112015024940A2 (pt
Inventor
Thomas Rusert
Andrey Norkin
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Publication of BR112015024940A2 publication Critical patent/BR112015024940A2/pt
Publication of BR112015024940B1 publication Critical patent/BR112015024940B1/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/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/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/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/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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/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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

CONSTRUÇÃO DE LISTAS DE IMAGENS DE REFERÊNCIA INTERCAMADAS. O Método (200) de construir pelo menos uma lista de imagens de referência para a predição intercamadas de uma imagem atual é fornecido. O método compreende inserir (210) imagens de referência em um primeiro conjunto de imagens de referência ou em um segundo conjunto de imagens de referência, com base nos respectivos valores de um identificador de escalabilidade associado às imagens de referência e um valor do identificador de escalabilidade associado à imagem atual, e inserir (220) o primeiro conjunto de imagens de referência e o segundo conjunto de imagens de referência em pelo menos uma lista de imagens de referência. Ao levar em conta indicações para as similaridades entre as camadas de referência e a camada atual em consideração, uma compressão de vídeo de múltiplas camadas mais eficientes é executada. Ademais, um programa de computador correspondente, um produto de programa de computador correspondente, e um dispositivo correspondente são fornecidos.

Description

CAMPO DA INVENÇÃO
[0001] A invenção refere-se a um método de construir pelo menos uma lista de imagens de referência para a predição intercamadas de uma imagem atual, um dispositivo para construir pelo menos uma lista de imagens de referência para a predição intercamadas de uma imagem atual, um programa de computador correspondente, e um produto de programa de computador correspondente.
FUNDAMENTOS DA INVENÇÃO
[0002] O padrão de núcleo de Codificação de Vídeo de Alta Eficiência (HEVC) foi finalizado recentemente pelo International Telecommunication Union (ITU) (ITU-T Rec. H.265) e pelo Grupo de Especialistas de Imagem em Movimento (MPEG) (ISO/IEC 23008-2/MPEG-H Parte 2). As extensões em camadas para o padrão HEVC estão em desenvolvimento, por exemplo, a extensão de múltiplas vistas (MVHEVC), a extensão 3D (3D-HEVC), e a extensão escalável (SHVC). Extensões adicionais ou combinações de extensões existentes podem ser especificadas no futuro.
[0003] A HEVC e suas extensões fazem uso extensivo de ferramentas de codificação preditivas. A partir do ponto de vista do decodificador, os dados de pixel são reconstruídos usando dados de pixel decodificados anteriormente para a predição. Em particular, para a predição interimagens, imagens previamente decodificadas, chamadas assim de imagens de referência, são usadas para a predição no processo de reconstrução de uma imagem atual.
[0004] De acordo com a especificação HEVC, cada imagem é subdividida em uma ou várias fatias, e cada fatia pode conter vários blocos (mais especificamente, unidades de codificação em forma de bloco e unidades de predição). As imagens que estão disponíveis como referências de predição para decodificar uma fatia atual são colocadas nas assim chamadas listas de imagens de referência. De acordo com a especificação HEVC, existem diferentes tipos de fatias. Para “fatias P”, no máximo uma imagem de referência pode ser usada para a predição de um bloco atual. Consequentemente, as fatias P têm uma lista de imagens de referência, chamada de “list0”. Para “fatias B”, no máximo duas imagens de referência podem ser usadas para a predição de um bloco atual, que é também chamado de “bipredição”. Conse-quentemente, as fatias B têm duas listas de imagens de referência, chamadas de “list0” e “list1”.
[0005] A imagem de referência usada para reconstruir um bloco particular pode ser sinalizada por meio dos assim chamados índices de imagens de referência. Um índice de imagem de referência é um índice para uma lista de imagens de referência, tal como list0 ou list1. Os índices de imagens de referência são codificados jun-tamente com outros dados no fluxo de bits HEVC como parte dos dados de fatia co-dificados. O comprimento de uma palavra de código usada para enviar um índice de imagem de referência depende do próprio valor do índice, em particular se a Codifi-cação de Comprimento Variável (VLC) for usada. Tipicamente, pequenos índices de imagem de referência exigem palavras de código mais curtas. Assim, é colocada mais à frente de uma lista de imagens de referência uma certa imagem de referência, onde os bits menores são exigidos para indicar seu uso. Consequentemente, de modo a alcançar uma alta eficiência de compressão, uma estratégia típica é colocar imagens de referência que são frequentemente usadas para a predição na frente de uma lista de imagens de referência.
[0006] Tipicamente, as listas de imagens de referência são construídas em um processo de duas etapas, (1) construção de lista de imagens de referência inicial, seguida por (2) modificação da lista de imagens de referência. A etapa 1 é predefini- da através da especificação do decodificador e resulta em uma lista de imagens de referência inicial. A etapa 2 envolve sinalizar os comandos de modificação de lista de imagens de referência em cabeçalhos de fatia e resulta na lista de imagens de referência final, aplicando os comandos de modificação da lista de imagens de refe-rência na lista de imagens de referência inicial. Visto que enviar os comandos de modificação da lista de imagens de referência exige a transmissão de bits adicionais, é desejável que a lista de imagens de referência inicial seja projetada cuidadosa-mente, de modo que as imagens de referência usadas frequentemente podem ser indicadas com poucos bits, produzindo alta eficiência de compressão.
[0007] Enquanto a especificação de núcleo HEVC usa somente as imagens tem- poralmente vizinhas para a predição interimagens, ou seja, as imagens dentro da mesma camada temporal, é provável que as extensões HEVC multicamadas, tais como extensões escaláveis e 3D, usem imagens a partir de outras camadas, por exemplo, camadas de escalabilidade e/ou camadas visuais, como imagens de referência. As especificações de SHVC do projeto atual, MV-HEVC, e 3D-HEVC estão usando métodos ad-hoc para a construção da lista de imagens de referência. Assim, de modo a melhorar a eficiência de bits, existe uma necessidade de métodos mais eficientes para a construção da lista de imagens de referência para HEVC de multi- camadas usando imagens de referência através das camadas.
[0008] Nas especificações de projeto SHVC (JCTVC-L1008) e MV-HEVC (JCT3V-C1004), uma camada identifica, ou seja, está associada a um conjunto de imagens que correspondem, por exemplo, a uma resolução ou qualidade espacial (para SHVC), para uma vista de câmera (por MV-HEVC), ou a uma vista de profundidade (para 3D-HEVC). Cada camada tem um índice i e é identificada por um identificador de camada layer_id (ver elemento de sintaxe layer_id_in_nuh[i] abaixo). O índice de camada i é tipicamente um indicador para a ordem de decodificação. Assim, para cada unidade de acesso (ou seja, tempo de amostragem ou momento no tempo), até uma imagem para cada camada (vista, resolução da imagem, etc.) é decodificada na ordem do índice de camada i.
[0009] Ademais, um conjunto de identificadores de escalabilidade está associado a cada camada (ver elemento de sintaxe dimension_id [i][j] abaixo). Exemplos de identificadores de escalabilidade são “ViewId” (identificação de uma determinada vista da câmera), o “DepthFlag” (identificar se uma camada carrega dados de pro-fundidade ou não), “DependencyId” (indicando as dependências de decodificação no caso, por exemplo, de escalabilidade espacial), “QualityId” (indicando uma qualidade de vídeo), e outros.
[0010] Em SHVC e MV-HEVC, os parâmetros relacionados às representações de vídeo de alto nível são sinalizados em extensões do assim chamado Conjunto de Parâmetros de Vídeo (VPS). A sintaxe de extensão VPS, e algumas semânticas re-levantes, são descritas abaixo. Especificamente, as dependências de camada são sinalizadas usando o elemento de sintaxe “direct_dependency_flag”, com base no qual arranjos variáveis RefLayerId[i][j] e NumDirectRefLayers[i] são derivados para cada camada i, como é descrito abaixo.
Figure img0001
Figure img0002
[0011] Layer_id_in_nuh[i] especifica o valor do elemento de sintaxe nuh_layer_id em unidades de Camada de Abstração de Rede (NAL) de Camada de Codificação de Vídeo (VCL) na ia camada. Para i em uma faixa de 0 a vps_max_layers_minus1, inclusive, quando não está presente, o valor de layer_id_in_nuh[i] é inferido como sendo igual a i. Quando i for maior que 0, layer_id_in_nuh[i] deve ser maior o que layer_id_in_nuh[i-1]. Para i em uma faixa de 0 a vps_max_layers_minus1, inclusive, a variável LayerIdInVps [layer_id_in_nuh[i]] é configurada igual a i.
[0012] Dimension_id[i][j] especifica o identificador do jo tipo de dimensão de es- calabilidade presente da ia camada. Quando não está presente, o valor de dimensi- on_id[i][j] é inferido como sendo igual a 0. O número de bits usados para a represen-tação de dimension_id[i][j] é dimension_id_len_minus1[j] + 1. Quando splitting_flag é igual a 1, ele se torna uma exigência de conformidade de fluxo de bits de que di- mension_id[i][j] seja igual a ((layer_id_in_nuh[i] & ((1 << dimBitOffset [j + 1]) - 1)) >> dimBitOffset [j]).
[0013] A variável ScalabilityId [i][smIdx] que especifica o identificador do tipo de dimensão de escalabilidade smIdxo da ia camada e a variável Vie- wId[layer_id_in_nuh[i]] que especifica o identificador de visualização da ia camada são derivadas como segue:
Figure img0003
[0014] Direct_dependency_flag[i][j] igual a 0 especifica que a camada com o índice j não é uma camada de referência direta para a camada com o índice i. Di- rect_dependency_flag[i][j] igual a 1 especifica que a camada com índice j pode ser uma camada de referência direta para a camada com índice i. Quando di- rect_dependency_flag[i][j] não está presente para i e j na faixa de 0 a vps_max_layers_minus1, ele é inferido como sendo igual a 0.
[0015] As variáveis NumDirectRefLayers[i] e RefLayerId[i][j] são derivadas como segue:
Figure img0004
[0016] Com base em RefLayerId[i][j] e NumDirectRefLayers[i], um assim chamado conjunto de imagens de referência intercamadas é construído como descrito abaixo.
[0017] A saída do processo de decodificação para um conjunto de imagens de referência intercamadas é uma lista atualizada de imagens intercamadas RefPicSe- tInterLayer.
[0018] A lista RefPicSetInterLayer é esvaziada primeiro e, em seguida, derivada como segue:
Figure img0005
[0019] A saída do processo de marcação para finalizar a decodificação de uma imagem codificada com nuh_layer_id maior que zero é uma marcação potencialmen-te atualizada como “usada para referência a curto prazo” para algumas imagens de- codificadas.
[0020] O seguinte se aplica:
Figure img0006
[0021] As imagens de referência temporais e imagens de referência intercama- das são combinadas em duas listas de imagens de referência temporárias, RefPi- cListTemp0 e RefPicListTemp1, como descrito abaixo. Finalmente, potenciais co-mandos de modificação da lista de imagens de referência são aplicados e as listas de imagens de referência finais RefPicList0 e RefPicList1 são obtidas, como descrito abaixo.
[0022] O processo de decodificação para a construção de listas de imagens de referência é invocado no início do processo de decodificação para cada fatia P ou B.
[0023] As imagens de referência são endereçadas através de índices de referência como especificado na subcláusula 8.5.3.3.2 da especificação base HEVC (JCTVC-L1003). Um índice de referência é um índice em uma lista de imagens de referência. Quando decodificando uma fatia P, há uma única lista de imagens de referência RefPicList0. Quando decodificando uma fatia B, há uma segunda lista de imagens de referência independente RefPicList1 em adição a RefPicList0.
[0024] No início do processo de decodificação para cada fatia, as listas de imagens de referência RefPicList0 e, para fatias B, RefPicList1 são derivadas como segue.
[0025] A variável NumRpsCurrTempList0 é configurada igual a Max (num_ref_idx_l0_active_minus1 + 1, NumPocTotalCurr) e a lista RefPicListTemp0 é construída como segue:
Figure img0007
Figure img0008
[0026] A lista RefPicList0 é construída como segue:
Figure img0009
[0027] Quando a fatia é uma fatia B, a variável NumRpsCurrTempList1 é configurada igual a Max(num_ref_idx_l1_active_minus1 + 1, NumPocTotalCurr), a lista Re- fPicListTemp1 é construída como segue:
Figure img0010
[0028] Quando a fatia é uma fatia B, a lista RefPicList1 é construída como segue:
Figure img0011
[0029] No procedimento de inicialização da lista de imagens de referência resumido anteriormente, as imagens de referência intercamadas são anexadas à lista de imagens de referência de acordo com a ordem das camadas de referência no arranjo ordenado RefPicSetInterLayer[]. A ordem das camadas de referência em Re- fPicSetInterLayer[] é fixada de acordo com o índice de camada i das camadas de referência, a partir de valores pequenos a valores grandes de i. Assim, as imagens de referência intercamadas em ambas as listas de imagens de referência iniciais são sempre inseridas com ordem crescente do índice de camada i. Essa ordem não leva em consideração as potenciais similaridades ou dissimilaridades de diferentes ca-madas, e assim não é otimizada em termos de eficiência de compressão, ou eficiên-cia da taxa de bits.
SUMÁRIO DA INVENÇÃO
[0030] É um objetivo da invenção fornecer uma alternativa aperfeiçoada às técnicas acima e à técnica anterior.
[0031] Mais especificamente, é um objetivo da invenção fornecer uma construção aperfeiçoada de listas de imagens de referência intercamadas, e em particular, de listas de imagens de referência iniciais.
[0032] Estes e outros objetivos da invenção são alcançados por meio de diferentes aspectos da invenção, como definidos pelas reivindicações independentes. As modalidades da invenção são caracterizadas nas reivindicações dependentes.
[0033] De acordo com um primeiro aspecto da invenção, um método de construir pelo menos uma lista de imagens de referência para predição intercamadas de uma imagem atual é fornecido. O método compreende inserir imagens de referência em um primeiro conjunto de imagens de referência ou a um segundo conjunto de ima-gens de referência. As imagens de referência são inseridas com base em respecti- vos valores de um identificador de escalabilidade associado às imagens de referên-cia e a um valor do identificador de escalabilidade associado à imagem atual. O mé-todo compreende ainda inserir o primeiro conjunto de imagens de referência e o se-gundo conjunto de imagens de referência em pelo menos uma lista de imagens de referência.
[0034] De acordo com um segundo aspecto da invenção, é fornecido um programa de computador. O programa de computador compreende instruções executáveis por computador para fazer com que um dispositivo execute o método de acordo com o primeiro aspecto da invenção, quando as instruções executáveis por computador são executadas em uma unidade de processamento compreendida no dispositivo.
[0035] De acordo com um terceiro aspecto da invenção, é fornecido um produto de programa de computador. O produto de programa de computador compreende um meio de armazenamento legível por computador. O meio de armazenamento legível por computador tem um programa de computador de acordo com o segundo aspecto da invenção nele incorporado.
[0036] De acordo com um quarto aspecto da invenção, são fornecidos dispositivos para construir pelo menos uma lista de imagens de referência para a predição intercamadas de uma imagem atual. Os dispositivos compreendem dispositivo confi-gurado para inserir imagens de referência em um primeiro conjunto de imagens de referência ou em um segundo conjunto de imagens de referência. Os dispositivos são configurados para inserir as imagens de referência com base nos respectivos valores de um identificador de escalabilidade associado às imagens de referência e um valor do identificador de escalabilidade associado à imagem atual. Os dispositi-vos são configurados ainda para inserir o primeiro conjunto de imagens de referência e o segundo conjunto de imagens de referência em pelo menos uma lista de i-magens de referência.
[0037] A invenção faz uso de um entendimento de que a construção de listas de imagens de referência pode ser aperfeiçoada levando em conta indicações para si-milaridades entre as camadas de referência e a camada atual. Desse modo, uma compressão de vídeo multicamadas mais eficiente é conseguida. Tais indicações para similaridades são fornecidas pelos identificadores de escalabilidade. Para esse fim, as imagens de referência intercamadas são inseridas de acordo com seus res-pectivos valores de seus identificadores de escalabilidade quando construindo as listas de imagens de referência iniciais.
[0038] A construção de listas de imagens de referência propostas aqui pode ser executada usando um processo predefinido, por exemplo, a classificação de ima-gens de referência de acordo com os identificadores de escalabilidade, tanto em um codificador de vídeo quanto em um decodificador de vídeo. Alternativamente, as lis-tas de imagens de referência podem ser construídas no codificador de vídeo e então sinalizadas para o decodificador de vídeo, por exemplo, a informação adicional, me-tadados, por meio de comandos de modificação de lista de imagens de referência ou similares, e então aplicadas no decodificador de vídeo.
[0039] De acordo com uma modalidade da invenção, as imagens de referência são inseridas no primeiro conjunto de imagens de referência ou no segundo conjunto de imagens de referência, com base em uma diferença de seu respectivo valor do identificador de escalabilidade e do valor do identificador de escalabilidade associa-do à imagem atual.
[0040] De acordo com uma modalidade da invenção, as imagens de referência com os respectivos valores do identificador escalabilidade, que são menores do que o valor do identificador de escalabilidade associado à imagem atual, são inseridas no primeiro conjunto de imagens de referência, e as imagens de referência com os respectivos valores do identificador de escalabilidade, que são maiores do que o va-lor do identificador de escalabilidade associado à imagem atual, são inseridas no segundo conjunto de imagens de referência.
[0041] De acordo com uma modalidade da invenção, as imagens de referência compreendidas no primeiro conjunto de imagens de referência e no segundo conjun-to de imagens de referência são ordenadas de acordo com os seus respectivos valo-res do identificador de escalabilidade.
[0042] De acordo com uma modalidade da invenção, as imagens de referência são ordenadas diminuindo o valor do identificador de escalabilidade.
[0043] De acordo com uma modalidade da invenção, as imagens de referência são ordenadas aumentando o valor do identificador de escalabilidade.
[0044] De acordo com uma modalidade da invenção, as imagens de referência são ordenadas diminuindo a diferença absoluta dos seus respectivos valores do i-dentificador de escalabilidade e o valor do identificador de escalabilidade associado à imagem atual.
[0045] De acordo com uma modalidade da invenção, as imagens de referência são ordenadas aumentando a diferença absoluta dos seus respectivos valores do identificador escalabilidade e o valor do identificador de escalabilidade associado à imagem atual.
[0046] De acordo com uma modalidade da invenção, duas listas de imagens de referência são construídas, onde o primeiro conjunto de imagens de referência é in-serido na primeira lista de imagens de referência em frente ao segundo conjunto de imagens de referência, e o segundo conjunto de imagens de referência é inserido na segunda lista de imagens de referência em frente do primeiro conjunto de imagens de referência.
[0047] De acordo com uma modalidade da invenção, o primeiro conjunto de imagens de referência é inserido na primeira lista de imagens de referência após um primeiro conjunto de imagens de referência de curto prazo e antes de um segundo conjunto de imagens de referência de curto prazo, e no final da segunda lista de imagens de referência. Ademais, o segundo conjunto de imagens de referência é inserido na segunda lista de imagens de referência, após o segundo conjunto de imagens de referência de curto prazo e antes do primeiro conjunto de imagens de referência de curto prazo, e no final da primeira lista de imagens de referência.
[0048] De acordo com uma modalidade da invenção, as imagens de referência são inseridas no primeiro conjunto de imagens de referência e no segundo conjunto de imagens de referência, com base em seus respectivos valores de pelo menos dois identificadores de escalabilidade, um primeiro e um segundo identificador de escalabilidade, associados às imagens de referência e os respectivos valores dos identificadores de escalabilidade associados à imagem atual.
[0049] De acordo com uma modalidade da invenção, cada um dos identificadores de escalabilidade é qualquer identificador de visualização que indica uma posição de captura de câmera espacial relativa, um identificador de dependência que indica uma ordem de decodificação, um identificador de qualidade que indica uma ordem de decodificação de camada, um identificador temporal que indica a informação de escalabilidade temporal, ou um sinalizador de profundidade que indica se uma camada contém a informação de textura ou profundidade.
[0050] De acordo com uma modalidade da invenção, o método está compreendido em um método de codificação de um vídeo.
[0051] De acordo com uma modalidade da invenção, o método está compreendido em um método de decodificação de um vídeo.
[0052] De acordo com uma modalidade da invenção, o dispositivo é um codificador de vídeo.
[0053] De acordo com outra modalidade da invenção, o dispositivo é um decodi- ficador de vídeo.
[0054] De acordo com uma modalidade da invenção, o dispositivo está compreendido em um terminal móvel.
[0055] Embora as vantagens da invenção tenham sido, em alguns casos, descritas com referência às modalidades de um certo aspecto da invenção, o raciocínio correspondente aplica-se às modalidades de outros aspectos da invenção.
[0056] Objetivos adicionais das características e vantagens da invenção estarão evidentes quando estudando a seguinte descrição detalhada, os desenhos e as rei-vindicações em anexo. Os versados na técnica perceberão que diferentes caracte-rísticas da invenção podem ser combinadas para criar modalidades que não as des-critas em seguida.
BREVE DESCRIÇÃO DOS DESENHOS
[0057] Os objetivos, características e vantagens da invenção citados acima bem como os adicionais serão compreendidos melhor através da seguinte descrição detalhada não limitante e ilustrativa das modalidades da invenção, com relação aos desenhos em anexo, nos quais:
[0058] A Figura 1 ilustra a construção do conjunto de imagens de referência de acordo com uma modalidade da invenção.
[0059] A Figura 2 mostra um método de construir listas de imagens de referência, de acordo com uma modalidade da invenção.
[0060] A Figura 3 mostra um codificador de vídeo, de acordo com uma modalidade da invenção.
[0061] A Figura 4 mostra um decodificador de vídeo, de acordo com uma modalidade da invenção.
[0062] A Figura 5 mostra um codificador ou decodificador de vídeo, de acordo com outra modalidade da invenção.
[0063] A Figura 6 mostra um terminal móvel, de acordo com uma modalidade da invenção.
[0064] Todas as Figuras são esquemáticas e não estão necessariamente em escala, e geralmente somente mostram partes que são necessárias de modo a elucidar a invenção, onde outras partes podem ser omitidas ou simplesmente sugeridas.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[0065] A invenção será descrita agora em mais detalhes com relação aos desenhos em anexo, nos quais certas modalidades da invenção são mostradas. Esta invenção pode, contudo, ser incorporada de muitas formas diferentes e não deveria ser interpretada como limitante das modalidades apresentadas aqui. De preferência, essas modalidades são fornecidas a título de exemplo, de modo que esta descrição seja minuciosa e completa, e transmitem totalmente o escopo da invenção àqueles versados na técnica.
[0066] Para efeitos de clareza, para cada modalidade, as diferenças com relação à sintaxe e às semânticas das especificações do projeto atual descritas na seção de Fundamentos da Invenção, são identificadas a seguir.
[0067] Construção da lista de imagens de referência com base em Viewld
[0068] Esta modalidade refere-se a casos em que a camada atual e as camadas de referência diferem em seus respectivos valores de ViewId. O mecanismo proposto compreende duas etapas:
[0069] - Etapa 1: Derivação de duas listas de imagens de referência, RefPicSe- tInterLayerBefore e RefPicSetInterLayerAfter.
[0070] Cada imagem de referência intervisualizações dada na lista RefLayerId[] é inserida ou em RefPicSetInterLayerBefore ou em RefPicSetInterLayerAfter, depen-dendo de seu valor de ViewId, ViewId_ref, e o valor de ViewId da imagem atual, Vi- ewId_curr. Se ViewId_ref < ViewId_curr, ele é inserido em RefPicSetInterLayerBefo- re. Caso contrário, ele é inserido em RefPicSetInterLayerAfter.
[0071] Isso é ilustrado 100 na Figura 1, que mostra cinco imagens, uma imagem atual (Curr) e quatro imagens de referência (A, B, C, e D) com os respectivos valores de ViewId que aumentam da esquerda para a direita na Figura 1. De acordo com uma modalidade da invenção, as imagens de referência A e B, na Figura 1 ilustradas como tendo os respectivos ViewIds menores do que o ViewId da imagem atual Curr, são inseridas em um primeiro conjunto 101. Consequentemente, as imagens de re-ferência C e D, na Figura 1 ilustradas como tendo os respectivos ViewIds maiores que o ViewId da imagem atual Curr, são inseridas em um segundo conjunto 102.
[0072] Opcionalmente, as imagens em RefPicSetInterLayerBefore (por exemplo, conjunto 101) são classificadas diminuindo o valor de seu ViewId, ou seja, a ordem das imagens de referência em RefPicSetInterLayerBefore de modo que a diferença absoluta abs(ViewId_ref - ViewId_curr) está aumentando. Ademais, as imagens em RefPicSetInterLayerAfter (por exemplo, lista 102) são classificadas aumentando o valor de seu ViewId, ou seja, na ordem das imagens de referência em RefPicSetIn- terLayerAfter é tal que a diferença absoluta abs(ViewId_ref - ViewId_curr) está au-mentando.
[0073] - Etapa 2: Inserção de imagens de referência intervisualizações nas listas de imagens de referência RefPicListTemp0 e RefPicListTemp1.
[0074] RefPicListTemp0 e RefPicListTemp1 são as listas de imagens de referência antes de aplicar os comandos de modificação de lista de imagens de referência. Para RefPicListTemp0, as imagens a partir de RefPicSetInterLayerBefore são inseri- das de acordo com a sua ordem em RefPicSetInterLayerBefore. Depois, as imagens a partir de RefPicSetInterLayerAfter são inseridas de acordo com a sua ordem em RefPicSetInterLayerAfter. Para RefPicListTemp1, as imagens a partir de RefPicSe- tInterLayerAfter são inseridas de acordo com sua ordem em RefPicSetInterLayerAf- ter. Depois, as imagens de RefPicSetInterLayerBefore são inseridas de acordo com sua ordem em RefPicSetInterLayerBefore.
[0075] A saída do processo de decodificação para os conjuntos de imagens de referência intercamadas é duas listas atualizadas de imagens intercamadas, Re- fPicSetInterLayerBefore e RefPicSetInterLayerAfter, bem como as variáveis NumIn- terLayerBefore e NumInterLayerAfter.
[0076] As listas RefPicSetInterLayerBefore e RefPicSetInterLayerBefore são primeiro esvaziadas e em seguida derivadas como segue:
Figure img0012
Figure img0013
[0077] A saída do processo de marcação para finalizar a decodificação de uma imagem codificada com nuh_layer_id maior do que 0 é uma marcação potencialmen-te atualizada como “used for short-term reference” para algumas imagens decodifi-cadas. O seguinte se aplica:
Figure img0014
[0078] O processo de decodificação para a construção de listas de imagens de referência é invocado no início do processo de decodificação para cada fatia P ou B.
[0079] No início do processo de decodificação para cada fatia, a lista de imagens de referência RefPicList0, e para as fatias B RefPicList1 B, são derivadas da seguinte forma.
[0080] A variável NumRpsCurrTempList0 é configurada igual a Max (num_ref_idx_l0_active_minus1 + 1, NumPocTotalCurr) e a lista RefPicListTemp0 é construída como segue:
Figure img0015
[0081] A lista RefPicList0 é construída como segue:
Figure img0016
[0082] Quando a fatia é uma fatia B, a variável NumRpsCurrTempList1 é configurada igual a Max(num_ref_idx_l1_active_minus1 + 1, NumPocTotalCurr) e a lista RefPicListTemp1 é construída como segue:
Figure img0017
Figure img0018
[0083] Quando a fatia é uma fatia B, a lista RefPicList1 é construída da seguinte forma:
Figure img0019
[0084] De acordo com a sintaxe de extensão VPS atual referida na seção de Fundamentos, o ViewId é sinalizado somente para camadas com índice de camada maior do que 0. A camada de base (índice de camada 0) tem sempre todas as di-mensões de escalabilidade iguais a 0, ou seja, ViewId é inferido como sendo igual a 0. Também, para o índice de camada maior que 0, o valor de ViewId é sempre não negativo.
[0085] De acordo com o processo proposto descrito acima, ViewId é interpretado como uma localização de câmera espacial associada a uma visualização. Se a visu-alização base tem ViewId igual a 0, então ela seria restrita somente a ser a visuali-zação “mais à esquerda” ou "mais à direita". De modo a superar essa restrição, uma sinalização mais flexível pode ser introduzida, onde várias alternativas são descritas a seguir.
[0086] - Alternativa A: Enviar dimension_id para o índice de camada igual a 0
Figure img0020
Figure img0021
[0087] - Alternativa B: Alternativa A com presença opcional de dimension_id para a camada de base
[0088] Os elementos de sintaxe dimension_id poderiam estar presentes para a camada de base, opcionalmente sincronizados por um sinalizador. Poderia haver um sinalizador que indica a presença de dimension_id para a camada de base para to-dos os tipos de escalabilidade.
[0089] Alternativamente, para cada tipo de escalabilidade poderia haver um sina-lizador separado que indica se o dimension_id para a camada de base está presente para esse tipo de escalabilidade.
[0090] - Alternativa C: Interpretação do ViewId como um inteiro sinalizado
[0091] Neste caso, o ViewId para a camada de base é ainda derivado para ser igual a 0. No entanto, ViewId, para as camadas mais altas, é derivado de modo que um bit do seu valor seja interpretado como um sinal, por exemplo, o bit menos significativo ou o bit mais significativo, e os bits restantes são interpretados como uma magnitude (menos 1). Isso é ilustrado no seguinte pseudocódigo, onde o bit menos significativo é interpretado como um sinal.
[0092] A variável ScalabilityIdl[i][smIdx], que especifica o identificador do tipo de dimensão de escalabilidade smIdx-th da ia camada, e a variável Vie- wId[layer_id_in_nuh[i]] que especifica o identificador de visualização da ia camada são derivadas como segue:
Figure img0022
[0093] Construção da lista de imagens de referência com base em Dependen- cyId
[0094] Esta modalidade refere-se a casos em que a camada atual e as camadas de referência diferem de seus respectivos valores de DependencyId. O mecanismo proposto compreende duas etapas.
[0095] - Etapa 1: Derivação da lista RefPicSetInterLayer.
[0096] Cada imagem de referência intercamadas dada na lista RefLayerId[] é inserida em RefPicSetInterLayer. As imagens em RefPicSetInterLayer são classificadas pela diminuição do valor de seu respectivo DependencyId. Assim, com De- pendencyId_ref sendo o valor do DependencyId da imagem de referência, e o De- pendencyId_curr sendo o valor do DependencyId da imagem atual, a ordem das i-magens de referência em RefPicSetInterLayer é tal que a diferença absoluta abs(DependencyId_ref-DependencyId_curr) é aumentada.
[0097] - Etapa 2: Inserção de imagens de referência intervisualizações nas listas de imagens de referência RefPicListTemp0 e RefPicListTemp1.
[0098] A etapa 2 não é mudada em comparação à especificação do projeto refe- rida na seção de Fundamentos.
[0099] A saída do processo de decodificação para os conjuntos de imagens de referência intercamadas é uma lista atualizada das imagens intercamadas, Re- fPicSetInterLayer. A lista RefPicSetInterLayer é esvaziada primeiro e então derivada da seguinte forma:
Figure img0023
[0100] Caso contrário, a derivação é feita da mesma forma que descrita na seção de Fundamentos.
[0101] Construção da lista de imagens de referência com base em uma combinação de DependencyId e QualityId
[0102] Esta modalidade refere-se a casos em que a camada atual e as camadas de referência diferem em seus respectivos valores de DependencyId, e, adicionalmente podem diferir em seus respectivos valores de QualityId. A solução proposta compreende duas etapas.
[0103] - Etapa 1: Derivação da lista RefPicSetInterLayer.
[0104] Cada imagem de referência intercamadas dada na lista RefLayerId[] é inserida em RefPicSetInterLayer. As imagens em RefPicSetInterLayer são classificadas principalmente pela diminuição do valor de seu DependencyId, e secundariamente, classificadas pela diminuição do valor de seu QualityId. Ou seja, as imagens são classificadas pelo DependencyId, e se o DependencyId é idêntico para algumas imagens na lista, então essas imagens são classificadas pela diminuição do valor do QualityId.
[0105] - Etapa 2: Inserção de imagens de referência intervisualizações nas listas de imagens de referência RefPicListTemp0 e RefPicListTemp1.
[0106] A etapa 2 não é mudada em comparação à especificação do projeto referida na seção de Fundamentos.
[0107] Construção da lista de imagens de referência com base em uma combinação de DependencyId e ViewId
[0108] Esta modalidade refere-se a casos em que a camada atual e as camadas de referência diferem em seus respectivos valores de DependencyId e/ou ViewId. Outros identificadores de escalabilidade podem ser combinados de formas similares. A solução proposta compreende duas etapas.
[0109] - Etapa 1: Derivação das listas RefPicSetInterDependency, RefPicSetIn- terViewBefore, RefPicSetInterViewAfter e RefPicSetInterDependencyView
[0110] Cada imagem de referência intercamadas dada na lista RefLayerId[] é inserida ou em RefPicSetInterDependency, RefPicSetInterViewBefore, RefPicSetIn- terViewAfter, ou em RefPicSetInterDependencyView.
[0111] As imagens de referência que diferem da imagem atual em seu respectivo valor de DependencyId, mas não diferem em seu respectivo valor de ViewId, são inseridas em RefPicSetInterDependency.
[0112] As imagens de referência que diferem da imagem atual em seu respectivo valor de ViewId, mas não diferem em seu respectivo valor de DependencyId, são inseridas em RefPicSetInterViewBefore ou em RefPicSetInterViewAfter, dependendo do seu valor de ViewId comparado a ViewId da imagem atual, similar ao descrito aqui anteriormente.
[0113] As imagens de referência que diferem da imagem atual tanto em seus respectivos valores de ViewId quanto de DependencyId são inseridas em RefPicSe- tInterDependencyView. Essas imagens podem ser, alternativamente, divididas em duas listas, dependendo do seu valor de ViewId comparado ao ViewId da imagem atual, similar ao descrito aqui anteriormente.
[0114] As imagens em RefPicSetInterDependency são classificadas pela dimi- nuição do valor de seu DependencyId, similar ao que é descrito anteriormente.
[0115] As imagens em RefPicSetInterViewBefore são classificadas pela diminuição do valor de seu ViewId, similar ao descrito anteriormente.
[0116] As imagens em RefPicSetInterViewAfter são classificadas pelo aumento do valor de seu ViewId, similar ao descrito anteriormente.
[0117] As imagens em RefPicSetInterDependencyView são classificadas por uma combinação de seus valores de DependencyId e ViewId, DependencyId_ref e ViewId_ref, em comparação com os valores de DependencyId e ViewId da imagem atual, DependencyId_curr e ViewId_curr. Por exemplo, a combinação mencionada acima de valores pode ser uma soma de diferenças absolutas (abs(ViewId_ref- ViewId_curr) + abs(DependencyId_ref-DependencyId_curr)), ou a soma de diferen-ças ao quadrado (ViewId_ref-ViewId_curr)2 + (DependencyId_ref- DependencyId_curr)2 ou combinações similares.
[0118] - Etapa 2: Inserção de imagens de referência intervisualizações nas listas de imagens de referência RefPicListTemp0 e RefPicListTemp1.
[0119] RefPicSetInterDependency, RefPicSetInterViewBefore, RefPicSetInterVi- ewAfter e RefPicSetInterDependencyView são inseridos separadamente nas listas de imagens de referência, por exemplo, na ordem RefPicSetInterViewBefore, Re- fPicSetInterViewAfter, RefPicSetInterDependency, RefPicSetInterDependencyView.
[0120] Construção da lista de imagens de referência com base em uma combinação de DependencyId e POC ou ViewId e POC
[0121] Esta modalidade refere-se a casos em que a camada atual e as camadas de referência diferem em seus respectivos valores de DependencyId, e pode diferir adicionalmente em seu respectivo valor da Contagem da Ordem de Imagem (POC). Similarmente, as camadas podem diferir nos respectivos valores, por exemplo, de ViewId, ou algum outro identificador de escalabilidade, e podem adicionalmente dife-rir em seu valor de POC. Este é, por exemplo, o caso em que a predição intercama- das é usada, mas não é restrita à predição intercamadas a partir do mesmo POC ou da unidade de acesso. Ou seja, a predição a partir de imagens em outras camadas que não estão alinhadas temporalmente com a imagem atual pode ser usada. Visto que a predição neste caso está em tanto através de camadas (predição intercama- das) quanto através do tempo (predição temporal), ou seja, atravessando duas di-mensões ao invés de uma, é às vezes chamada de predição “diagonal”.
[0122] De modo a implementar a predição diagonal em um esquema de codificação de vídeo, uma indicação e/ou acordo entre o codificador e o decodificador é ne-cessária, à qual ocorrências temporais, ou seja, um conjunto de valores de POC, a partir da camada de referência são usadas para a predição. Em seguida, várias al-ternativas são propostas.
[0123] Para cada camada de referência, uma lista de valores de POC ou diferenças de POC, ou seja, as diferenças entre o POC de uma imagem de referência e o POC da imagem atual, para imagens de referência, será usada a partir da camada de referência é indicada, por exemplo, em um Conjunto de Parâmetros de Sequência (SPS) ou um cabeçalho de fatia, e codificada no fluxo de bits. O decodificador pode então usar os valores indicados para construir a lista de imagens de referência.
[0124] Alternativamente, um número N de imagens de referência, indicado por valores de POC, a ser usado para a predição a partir da camada de referência é in-dicado, por exemplo, em um SPS ou cabeçalho de fatia, e codificado no fluxo de bits. Com base no número, o decodificador identifica a lista de valores de POC ou diferenças de POC, com relação ao POC da imagem atual, a ser usado para predi-ção, e usa os valores para construir a lista de imagens de referência.
[0125] A identificação de uma lista de valores de POC ou diferenças de POC pode, por exemplo, incluir adicionar N imagens previamente decodificadas na lista de imagens de referência. A identificação de uma lista de valores de POC ou diferenças de POC pode, alternativamente, incluir usar os mesmos valores de POC ou as dife-renças de POC usadas para a predição temporal na visualização de referência ou visualização base. Ademais, um subconjunto dos valores pode ser usado, por e-xemplo, os N primeiros valores de POC ou diferenças de POC que são usadas para a predição temporal na visualização de referência ou visualização de base.
[0126] A solução proposta compreende duas etapas.
[0127] - Etapa 1: Derivação da lista RefPicSetInterLayer.
[0128] As imagens de referência são inseridas em RefPicSetInterLayer e classifi-cadas por uma combinação de seus valores de DependencyId e POC, Dependen- cyId_ref e POC_ref, em comparação com os valores de DependencyId e POC da imagem atual, DependencyId_curr e POC_curr. A combinação mencionada acima de valores pode ser uma soma de diferenças absolutas (abs(POC_ref-POC_curr) + abs(DependencyId_ref-DependencyId_curr)), uma soma das diferenças ao quadrado (ViewId_ref-ViewId_curr)2 + (DependencyId_ref-DependencyId_curr)2, ou combina-ções similares.
[0129] Alternativamente, as imagens em RefPicSetInterLayer podem ser classifi-cadas principalmente pelo aumento de abs(POC_ref-POC_curr) e secundariamente pelo aumento de abs(DependencyId_ref-DependencyId_curr) ou principalmente pelo aumento de abs(DependencyId_ref-DependencyId_curr) e secundariamente pelo aumento de abs(POC_ref-POC_curr). Aqui, a classificação primária de uma lista por “X” e a classificação secundária de uma lista por “Y” significa que a lista é classifica-da por "X”, e se as imagens tiverem o mesmo valor de “X”, essas imagens são clas-sificadas por “Y”.
[0130] Alternativamente, as imagens podem ser divididas em três listas, Re- fPicSetInterLayerPOCBefore, RefPicSetInterLayerPOCCurr, e RefPicSetInterLayer- POCAfter, de modo que RefPicSetInterLayerPOCBefore contenha imagens que têm um POC menor do que o POC da imagem atual, RefPicSetInterLayerPOCCurr con-tém imagens que têm um POC idêntico ao POC da atual imagem, e RefPicSetInter- LayerPOCAfter contém imagens que têm um POC maior do que o POC da imagem atual. Cada uma das três listas pode ser classificada pelo aumento da diferença de POC em comparação ao POC das imagens de referência.
[0131] - Etapa 2: Inserção de imagens de referência intervisualizações nas listas de imagens de referência RefPicListTemp0 e RefPicListTemp1.
[0132] RefPicSetInterLayer é inserido nas listas de imagens de referência. Re- fPicSetInterLayerPOCBefore, RefPicSetInterLayerPOCCurr, e RefPicSetInterLayer- POCAfter são inseridos nas listas de imagens de referência, por exemplo, na ordem RefPicSetInterLayerPOCBefore, RefPicSetInterLayerPOCCurr, RefPicSetInterLa- yerPOCAfter para RefPicListTemp0, e na ordem RefPicSetInterLayerPOCAfter, Re- fPicSetInterLayerPOCCurr, RefPicSetInterLayerPOCBefore para RefPicListTemp1.
[0133] Construção da lista de imagens de referência no lado do codificador
[0134] Nesta modalidade, o codificador computa uma ordem de lista de imagens de referência de acordo com uma das modalidades anteriores e envia a ordem resul-tante, por exemplo, como listas de imagens de referência, de forma explícita ao de- codificador. A sinalização pode ser feita de acordo com os comandos de modificação da lista de imagens de referência. No entanto, os comandos de modificação da lista de imagens de referência podem ser bits ineficientes, visto que eles são enviados no cabeçalho de fatia e podem ter que ser enviados para todas as imagens de referên-cia, não somente para as imagens de referência intervisualizações.
[0135] Assim, uma sinalização alternativa pode ser usada, por exemplo, em um Conjunto de Parâmetros de Sequência (SPS) ou em um Conjunto de Parâmetros de Imagem (PPS), como será descrito a seguir.
Figure img0024
[0136] Aqui ref_layer_idx_l0 e ref_layer_idx_l1 podem especificar os índices para uma lista de camadas de referência RefLayers [], como especificado na seção de Fundamentos. Alternativamente:
Figure img0025
[0137] Aqui, ref_layer_idx_l0 e ref_layer_idx_l1 podem especificar os índices para uma lista de camadas de referência RefLayers [], como especificado na seção de Fundamentos.
[0138] Construção da lista de imagens de referência com base na distância entre as visualizações
[0139] Esta modalidade refere-se a casos em que a camada atual e as camadas de referência pertencem a diferentes posições de câmera. As posições relativas de câmera podem ser determinadas a partir dos parâmetros enviados para o decodifi- cador, tal como a distância de linha de base ou um parâmetro de escala usado no padrão de projeto 3D-HEVC atual, que é geralmente calculado com base no parâ-metro de linha de base da câmera. A solução proposta compreende duas etapas.
[0140] - Etapa 1: Derivação de duas listas RefPicSetInterLayerLeft e RefPicSe- tInterLayerRight.
[0141] Cada imagem de referência intervisualizações compreendida na lista Re- fLayerId[] é inserida ou em RefPicSetInterLayerLeft ou em RefPicSetInterLayerRight, dependendo de seu respectivo valor do parâmetro de linha de base, ou de um pa-râmetro derivado da linha de base. Se o parâmetro de escala correspondente à ima- gem de referência e à imagem atual for menor do que 0, a imagem de referência é inserida na lista RefPicSetInterLayerLeft, caso contrário, a imagem de referência é inserida na lista RefPicSetInterLayerRight. As imagens em RefPicSetInterLayerLeft são classificadas diminuindo-se a ordem do parâmetro de escala entre a câmera atual (visualização) e as câmeras correspondentes às imagens de referência. As imagens em RefPicSetInterLayerRight são classificadas na ordem de valores cres-centes dos parâmetros de escala entre as imagens de referência e a posição atual da câmera (imagem).
[0142] - Etapa 2: Inserção de imagens de referência intervisualizações nas listas de imagens de referência RefPicListTemp0 e RefPicListTemp1.
[0143] RefPicListTemp0 e RefPicListTemp1 são as listas de imagens de referência antes de aplicar os comandos de modificação da lista de imagens de referência. As imagens a partir de RefPicSetInterLayerBefore podem ser inseridas separadamente a partir das imagens de RefPiSetInterLayerAfter (ou seja, em posições diferentes na lista).
[0144] A saída do processo de decodificação para os conjuntos de imagens de referência intercamadas é duas listas atualizadas de imagens intercamadas, Re- fPicSetInterLayerLeft e RefPicSetInterLayerRight, bem como as variáveis NumInter-LayerLeft e NumInterLayerRight.
[0145] As listas RefPicSetInterLayerLeft e RefPicSetInterLayerRight são esvaziadas primeiro e em então derivadas da seguinte forma:
Figure img0026
Figure img0027
[0146] A saída do processo de marcação para finalizar a decodificação de uma imagem codificada com nuh_layer_id maior do que zero é uma marcação potencial-mente atualizada “used for short-term reference” para algumas imagens decodifica-das. O seguinte se aplica:
Figure img0028
[0147] O seguinte processo de decodificação para a construção das listas de imagens de referência é invocado no início do processo de decodificação para cada fatia P ou B.
[0148] Quando decodificando uma fatia P, há uma única lista de imagens de re-ferência RefPicList0. Quando decodificando uma fatia B, existe uma segunda lista de imagens de referência independente RefPicList1 em adição a RefPicList0. No início do processo de decodificação para cada fatia, a lista de imagens de referência Re- fPicList0, e para fatias B RefPicList1, são derivadas da seguinte forma.
[0149] A variável NumRpsCurrTempList0 é configurada igual a Max(num_ref_idx_l0_active_minus1 + 1, NumPocTotalCurr) e a lista RefPicList- Temp0 é construída da seguinte forma:
Figure img0029
[0150] A lista RefPicList0 é construída da seguinte forma:
Figure img0030
Figure img0031
[0151] Quando a fatia é uma fatia B, a variável NumRpsCurrTempList1 é configurada igual a Max(num_ref_idx_l1_active_minus1 + 1, NumPocTotalCurr) e a lista RefPicListTemp1 é construída da seguinte forma:
Figure img0032
[0152] Quando a fatia é uma fatia B, a lista RefPicList1 é construída da seguinte forma:
Figure img0033
[0153] A variável ScalabilityId[i] [smIdx] que especifica o identificador do tipo de dimensão de escalabilidade smIdxo da ia camada e a variável ViewId [la- yer_id_in_nuh[i]] que especifica o identificador de visualização da ia camada são de-rivadas da seguinte maneira:
Figure img0034
[0154] Construção da lista de imagens de referência com base em ViewId e criação de uma lista de imagens de referência
[0155] Esta modalidade refere-se a casos em que a camada atual e as camadas de referência diferem em seus respectivos valores de ViewId. A solução proposta compreende duas etapas.
[0156] - Etapa 1: Derivação de duas listas RefPicSetInterLayerLeft e RefPicSe- tInterLayerRight.
[0157] Cada imagem de referência intervisualizações dada na lista RefLayerId[] é inserida ou em RefPicSetInterLayerLeft ou em RefPicSetInterLayerRight, dependen-do de seu valor de ViewId, ViewId_ref, e o valor de ViewId da imagem atual, Vie- wId_curr. Se ViewId_ref < ViewId_curr, ela é inserida em RefPicSetInterLayerLeft. Caso contrário, ela é inserida em RefPicSetInterLayerRight.
[0158] Opcionalmente, as imagens em RefPicSetInterLayerLeft são classificadas diminuindo o valor de ViewId, ou seja, a ordem das imagens de referência em Re- fPicSetInterLayerLeft é tal que a diferença absoluta abs(ViewId_ref-ViewId_curr) aumenta. Ademais, as imagens em RefPicSetInterLayerRight são classificadas au-mentando o valor de seu ViewId, ou seja, a ordem das imagens de referência em RefPicSetInterLayerRight é tal que a diferença absoluta abs(ViewId_ref-ViewId_curr) aumenta.
[0159] - Etapa 2: Inserção de imagens de referência intervisualizações nas listas de imagens de referência RefPicListTemp0 e RefPicListTemp1.
[0160] RefPicListTemp0 e RefPicListTemp1 são as listas de imagens de referência antes da aplicação dos comandos de modificação da lista de imagens de referência. Para RefPicListTemp0, as imagens da RefPicSetInterLayerLeft são inseridas de acordo com a sua ordem em RefPicSetInterLayerLeft. Depois, as imagens de Re- fPicSetInterLayerRight são inseridas de acordo com a sua ordem em RefPicSetIn- terLayerRight. Para RefPicListTemp1, as imagens de RefPicSetInterLayerRight são inseridas de acordo com sua ordem em RefPicSetInterLayerRight. Depois, as ima-gens de RefPicSetInterLayerLeft são inseridas de acordo com a sua ordem em Re- fPicSetInterLayerLeft.
[0161] A seguinte sintaxe de extensão SPS é proposta:
Figure img0035
[0162] Aqui, inter_view_ref_picture_list_right_first_flag igual a 1 configura a variável interViewRefPictureListRightFirst igual a 1. Caso contrário, a variável inter- ViewRefPictureListRightFirst é igual a 0. A variável interViewRefPictureListRightFirst troca as posições onde as listas RefPicSetInterLayerLeft e RefPicSetInterLayerRight são inseridas em NumRpsCurrTempList0 e NumRpsCurrTempList1.
[0163] Alternativamente, o sinalizador inter_view_ref_picture_list_right_first_flag pode ser sinalizado em um cabeçalho de fatia ou em um PPS. Adicionalmente, um sinalizador pode ser sinalizado de modo a especificar se in- ter_view_ref_picture_list_right_first_flag é sinalizado em um nível de fatia ou em um nível SPS.
[0164] A seguinte sintaxe de extensão SPS alternativa é proposta:
Figure img0036
[0165] Correspondentemente, a seguinte sintaxe de segmento de fatia é propos-ta:
Figure img0037
Figure img0038
[0166] Se o sinalizador inter_view_ref_picture_list_right_first_slice_flag é sinalizado em um nível de fatia, o valor do sinalizador em um cabeçalho de fatia sobres- creve o valor do sinalizador em um SPS.
[0167] A saída do processo de decodificação para os conjuntos de imagens de referência intercamadas é duas listas atualizadas de imagens intercamadas, Re- fPicSetInterLayerLeft e RefPicSetInterLayerRight, e as variáveis NumInterLayerBefore e NumInterLayerAfter.
[0168] As listas RefPicSetInterLayerLeft e RefPicSetInterLayerLeft são esvaziadas e então derivadas da seguinte forma:
Figure img0039
Figure img0040
[0169] A saída do processo de marcação para finalizar a decodificação de uma imagem codificada com nuh_layer_id maior do que 0 é uma marcação potencialmen-te atualizada como “use for short-term reference” para algumas imagens decodifica-das. O seguinte se aplica:
Figure img0041
[0170] O seguinte processo de decodificação para a construção de listas de imagens de referência é invocado no início do processo de decodificação para cada fatia P ou B.
[0171] Quando decodificando uma fatia P, existe uma única lista de imagens de referência RefPicList0. Quando decodificando uma fatia B, existe uma segunda lista de imagens de referência independente RefPicList1 em adição à RefPicList0.
[0172] No início do processo de decodificação para cada fatia, a lista de imagens de referência RefPicList0, e para fatias B da RefPicList1, são derivadas da seguinte forma.
[0173] A variável NumRpsCurrTempList0 é configurada igual a Max(num_ref_idx_l0_active_minus1 + 1, NumPocTotalCurr) e a lista RefPicList- Temp0 é construída da seguinte forma:
Figure img0042
[0174] A lista RefPicList0 é construída da seguinte forma:
Figure img0043
[0175] Quando a fatia é uma fatia B, a variável NumRpsCurrTempList1 é configurada igual a Max(num_ref_idx_l1_active_minus1 + 1, NumPocTotalCurr) e a lista RefPicListTemp1 é construída da seguinte forma:
Figure img0044
[0176] Quando a fatia é uma fatia B, a lista RefPicList1 é construída da seguinte forma:
Figure img0045
Figure img0046
[0177] Alternativamente, as imagens da lista RefPicSetLtCurr podem ser colocadas na última posição quando construindo as listas RefPicListTemp0 e RefPicList- Temp1.
[0178] Posicionamento de conjuntos de imagens de referência na construção da lista de imagens de referência
[0179] Esta modalidade refere-se a casos em que a camada atual e as camadas de referência diferem em seus respectivos valores de ViewId. A solução proposta compreende duas etapas.
[0180] - Etapa 1: Derivação de duas listas RefPicSetInterLayerLeft e RefPicSe- tInterLayerRight ou alternativamente, RefPicSetInterLayerBefore e RefPicSetInter- LayerAfter.
[0181] Cada imagem de referência intervisualizações dada na lista RefLayerId[] é inserida ou em RefPicSetInterLayerLeft ou em RefPicSetInterLayerRight, dependen-do de seu valor de ViewId, ViewId_ref, e do valor de ViewId da imagem atual, Vie- wId_curr. Se ViewId_ref < ViewId_curr, ela é inserida em RefPicSetInterLayerLeft. Caso contrário, ela é inserida m RefPicSetInterLayerRight. As imagens em Re- fPicSetInterLayerLeft são classificadas pela diminuição do valor de seu ViewId, ou seja, a ordem das imagens de referência em RefPicSetInterLayerLeft é tal que a di-ferença absoluta abs(ViewId_ref-ViewId_curr) aumenta. As imagens em RefPicSetIn- terLayerRight são classificadas pela diminuição do valor de seu ViewId, ou seja, a ordem das imagens de referência em RefPicSetInterLayerRight é tal que a diferença absoluta abs(ViewId_ref-ViewId_curr) aumenta.
[0182] - Etapa 2: Inserção de imagens de referência intervisualizações nas listas de imagens de referência RefPicListTemp0 e RefPicListTemp1.
[0183] RefPicListTemp0 e RefPicListTemp1 são listas de imagens de referência antes da aplicação dos comandos de modificação da lista de imagens de referência. Para RefPicListTemp0, as imagens de RefPicSetInterLayerLeft são inseridas de a-cordo com a sua ordem em RefPicSetInterLayerLeft. Depois, as imagens de Re- fPicSetInterLayerRight são inseridas de acordo com a sua ordem em RefPicSetIn- terLayerRight. Para RefPicListTemp1, as imagens de RefPicSetInterLayerRight são inseridas de acordo com sua ordem em RefPicSetInterLayerRight. Depois, as ima-gens de RefPicSetInterLayerLeft são inseridas de acordo com a sua ordem em Re- fPicSetInterLayerLeft.
[0184] A seguinte sintaxe de extensão SPS é proposta:
Figure img0047
[0185] Alternativamente, a informação de posição é enviada no cabeçalho de fatia, usando a seguinte sintaxe:
Figure img0048
[0186] O sinalizador ref_pic_set_inter_layer_left_pos especifica a posição para inserir o conjunto de imagens de referência intercamadas esquerdo em RefPicList- Temp0 e RefPicListTemp1. O sinalizador ref_pic_set_inter_layer_right_pos especifica a posição para inserir o conjunto de imagens de referência intercamadas direito em RefPicListTemp0 e RefPicListTemp1. Os sinalizadores especificam a posição em termos dos conjuntos de imagens de referência. Alternativamente, os sinalizadores podem especificar a posição em termos das imagens de referência.
[0187] A saída do processo de decodificação para os conjuntos de imagens de referência intercamadas é duas listas atualizadas de imagens intercamadas, Re- fPicSetInterLayerLeft e RefPicSetInterLayerRight, e as variáveis NumInterLayerLeft e NumInterLayerRight. Esse processo é similar aos processos correspondentes que descrevem outras modalidades.
[0188] A saída do seguinte processo de marcação para finalizar a decodificação de uma imagem codificada com nuh_layer_id maior do que 0 é uma marcação po-tencialmente atualizada como “used for short-term reference” para algumas imagens decodificadas. O seguinte se aplica:
Figure img0049
[0189] O processo de decodificação para a construção de listas de imagens de referência é invocado no início do processo de decodificação para cada fatia P ou B.
[0190] Quando decodificando uma fatia P, existe uma única lista de imagens de referência RefPicList0. Quando decodificando uma fatia B, existe uma segunda lista de imagens de referência independente RefPicList1 em adição à RefPicList0.
[0191] No início do processo de decodificação para cada fatia, a lista de imagens de referência RefPicList0, e para fatias B RefPicList1, são derivadas da seguinte forma.
[0192] A variável NumRpsCurrTempList0 é configurada igual a Max(num_ref_idx_l0_active_minus1 + 1, NumPocTotalCurr) e a lista RefPicList- Temp0 é construída da seguinte forma:
Figure img0050
Figure img0051
Figure img0052
[0193] A lista RefPicList0 é construída da seguinte forma:
Figure img0053
[0194] Quando a fatia é uma fatia B, a variável NumRpsCurrTempList1 é configurada igual a Max(num_ref_idx_l1_active_minus1 + 1, NumPocTotalCurr) e a lista RefPicListTemp1 é construída da seguinte forma:
Figure img0054
Figure img0055
Figure img0056
[0195] Quando a fatia é uma fatia B, a lista RefPicList1 é construída da seguinte forma:
Figure img0057
[0196] Alternativamente, as imagens da lista RefPicSetLtCurr podem ser colocadas na última posição quando construindo as listas RefPicListTemp0 e RefPicList- Temp1.
[0197] A invenção é elucidada adicionalmente por meio dos seguintes exemplos não limitantes.
[0198] - Exemplo 1: O identificador de escalabilidade DependencyId pode cor responder a uma resolução espacial, onde um valor mais elevado de DependencyId corresponde à resolução espacial mais alta. Por exemplo, se a camada atual tem DependencyId = 3, e as imagens de referência têm DependencyId = 0, Dependen- cyId = 1, e DependencyId = 2, então a camada com DependencyId = 2 será prova-velmente mais similar à camada atual e a predição provavelmente funcionará bem assim. Ademais, a camada com DependencyId = 1 é provavelmente a segunda mais similar à camada atual, e a camada com DependencyId = 0 é provavelmente menos similar à camada atual.
[0199] Assim, as imagens de referência intercamadas são inseridas na ordem DependencyId = 2, DependencyId = 1, DependencyId = 0, ou seja, na ordem da res-pectiva diferença de seu valor de DependencyId e do valor de DependencyId para a imagem atual.
[0200] - Exemplo 2: O identificador de escalabilidade QualityId pode correspon der a um nível de qualidade (por exemplo, tamanho da etapa quantizadora), onde um valor mais alto de QualityId corresponde a uma fidelidade de sinal mais alta. Por exemplo, se a camada atual tem QualityId = 3, e as imagens de referência têm Qua- lityId = 0, QualityId = 1, e QualityId = 2, então a camada com QualityId = 2 provavel-mente é mais similar à camada atual e a predição provavelmente funcionará bem. Ademais, a camada com QualityId = 1 provavelmente é a segunda mais similar à camada atual, e a camada com QualityId = 0 é provavelmente menos similar à ca-mada atual.
[0201] Assim, as imagens de referência intercamadas são inseridas na ordem QualityId = 2, QualityId = 1, QualityId = 0, ou seja, na ordem da respectiva diferença de seu valor de QualityId e do valor de QualityId para a imagem atual.
[0202] - Exemplo 3: O identificador de escalabilidade DependencyId pode cor responder a uma resolução espacial, e o identificador de escalabilidade QualityId pode corresponder a um nível de qualidade (por exemplo, tamanho da etapa quanti- zadora), onde um valor mais alto de DependencyId corresponde a uma resolução espacial mais alta, e um valor mais alto de QualityId corresponde a uma fidelidade de sinal mais alta. Por exemplo, se a camada atual tem DependencyId = 1 e Qua- lityId = 0, e as camadas de referência têm DependencyId = 0 / QualityId = 0, Depen- dencyId = 0 / QualityId = 1 e DependencyId = 0 / QualityId = 2, respectivamente, então a camada com dependencyId = 0 / QualityId = 2 provavelmente é mais similar à camada atual e as imagens de referência intercamadas são inseridas na ordem De- pendencyId = 0 / QualityId = 2, DependencyId = 0 / QualityId = 1, DependencyId = 0 / QualityId = 0, ou seja, começando com o mais alto valor de QualityId e então dimi-nuindo a ordem de seu valor.
[0203] - Exemplo 4: O identificador de escalabilidade ViewId pode corresponder a um identificador de visualização, onde o identificador de visualização indica uma posição de câmera espacial. As visualizações com posições de câmera similares são provavelmente similares. Assim, as imagens de referência intercamadas podem ser inseridas de acordo com a diferença de seu valor de ViewId e do valor de ViewId para a imagem atual. Em um caso particular, quando a fatia atual é uma fatia B, que tem duas listas imagens de referência, list0 pode conter imagens de referência que têm o ViewId menor do que o ViewId da imagem atual, e list1 pode conter imagens de referência que têm o ViewId maior do que o ViewId da imagem atual (ou vice- versa), e as listas podem ser ordenadas de acordo com sua distância, ou seja, a diferença dos identificadores de camada, a partir da visualização atual. Por exemplo, se a imagem atual tem ViewId = 2, e as imagens de referência têm ViewId = 0, Vie- wId = 1, ViewId = 3, ViewId = 4, então list0 pode conter duas imagens de referência na ordem ViewId = 1, ViewId = 0 e list1 pode conter duas imagens de referência na ordem ViewId = 3, ViewId = 4. Se for possível inserir mais imagens de referência, list0 pode conter ViewId = 1, ViewId = 0, ViewId = 3, ViewId = 4, e list1 pode conter ViewId = 3, ViewId = 4, ViewId = 1, ViewId = 0.
[0204] De acordo com uma modalidade da invenção, onde a seleção e a ordenação são executadas com base no valor de um identificador de visualização ViewId, o valor de ViewId é definido como sendo igual a 0 para a camada com layer_id igual a 0, e o valor de ViewId de uma camada com layer_id maior do que 0 é sinalizado em um formato binário, onde um bit representa um sinal, e um ou mais bits representam uma magnitude.
[0205] De acordo com uma modalidade da invenção, o valor de ViewId para a camada com layer_id igual a 0 é sinalizado explicitamente.
[0206] - Exemplo 5: Os parâmetros relacionados às posições da câmera são u sados de modo a classificar as imagens de referência na lista. Por exemplo, um pa-râmetro de escala, como definido na especificação do projeto de 3D-HEVC, pode ser usado para este fim. Alternativamente, outros parâmetros derivados das posições relativas das câmeras, por exemplo, um parâmetro de linha de base, podem ser u-sados de modo a classificar as imagens de referência na lista. A lista é então criada na ordem crescente ou decrescente, da distância das posições da câmera, que cor- responde a uma diferença da imagem de referência a partir da imagem atual em termos dos identificadores de camada, ou seja, uma diferença entre os identificado-res de camada.
[0207] - Exemplo 6: Os parâmetros derivados a partir das posições relativas das câmeras também podem ser usados de modo a criar duas listas de referência, por exemplo, chamadas de “lista intervisualizações de referência anterior” e “lista intervi- sualizações de referência posterior”, ou alternativamente, chamadas de “lista de i-magens intervisualizações de referência esquerda” e “lista de imagens intervisuali- zações de referência direita”. Essas listas de imagens de referência são ordenadas na ordem crescente da distância entre as posições de câmera correspondentes às imagens de referência e a posição da câmera correspondente à imagem atual. Nesse caso, uma lista pode incluir as imagens que correspondem às posições da câmera, que estão localizadas em um lado da posição da câmera correspondente à imagem. Correspondentemente, a segunda lista pode incluir as imagens que têm localizações que estão no outro lado da posição de câmera correspondente à imagem atual.
[0208] - Exemplo 7: Os parâmetros derivados a partir das posições relativas das câmeras podem também ser usados de modo a criar duas listas de referência, por exemplo, chamadas de “lista intervisualizações de referência anterior” e “lista intervi- sualizações de referência posterior”, ou alternativamente, chamadas de “lista de i-magens intervisualizações de referência esquerda” e “lista de imagens intervisuali- zações de referência direita”. Essas duas listas podem ser usadas separadamente quando criando a lista de imagens de referência final. Por exemplo, as posições para inserir a lista de imagens de referência direita e a lista de imagens de referência es-querda em uma lista de imagens de referência final podem ser especificadas por padrão ou podem ser sinalizadas no fluxo de bits.
[0209] A lista de imagens de referência final pode incluir ainda, por exemplo, uma ou mais listas de imagens de referência de curto prazo e uma ou mais listas de imagens de referência de longo prazo, e as posições para inserir a lista de imagens de referência direita e a lista de imagens de referência esquerda na lista de imagens de referência final podem ser relativas às posições onde uma ou mais listas de ima-gens de referência de curto prazo e uma ou mais listas imagens de referência de longo prazo são inseridas.
[0210] - Exemplo 8: Um sinalizador pode ser sinalizado de modo a “trocar” a “lis ta de imagens de referência intervisualizações esquerda” e a “lista de imagens de referência intervisualizações direita”. Aqui, trocar significa que as imagens de refe-rência que foram incluídas na “lista de imagens de referência intervisualizações es-querda” serão removidas da “lista de imagens de referência intervisualizações es-querda” e incluídas na “lista de imagens de referência intervisualizações direita”, se o valor do sinalizador tiver sido configurado para “true” (ou 1). Da mesma forma, as imagens da “lista de imagens de referência intervisualizações direita” serão removi-das da “lista de imagens de referência intervisualizações direita” e incluídas na “lista de imagens de referência intervisualizações esquerda”. Um sinalizador pode ser si-nalizado no SPS, PPS, um cabeçalho de fatia (ou cabeçalho de segmento de fatia), ou em outro conjunto de parâmetros que faz parte do fluxo de bits.
[0211] Alternativamente, um critério implícito pode ser usado para determinar se as imagens da “lista de imagens de referência intervisualizações direita” deveriam ser trocadas pelas imagens da “lista de imagens de referência intervisualizações es-querda”.
[0212] - Exemplo 9: Nos Exemplos 4, 6, e 7, as posições exatas para os conjun tos de imagens de referência resultantes na lista de imagens de referência preliminar resultante podem ser sinalizadas explicitamente, de modo a melhorar a eficiência da codificação. O presente exemplo pode ser considerado como uma extensão do E-xemplo 8 com a diferença de que a posição exata para o primeiro conjunto de ima-gens de referência e para o segundo conjunto de imagens de referência é enviada para o decodificador. A posição pode ser sinalizada na forma da posição da imagem de referência na lista, bem como a posição do conjunto de imagens de referência em termos dos conjuntos de imagens de referência.
[0213] Com relação à Figura 2, uma modalidade 200 do método de construir pelo menos uma lista de imagens de referência para a predição intercamadas de uma imagem atual é descrita. O método 200 compreende inserir 210 imagens de referên-cia em um primeiro conjunto de imagens de referência ou em um segundo conjunto de imagens de referência, com base nos respectivos valores de um identificador de escalabilidade associado às imagens de referência e um valor do identificador de escalabilidade associado à imagem atual, e inserir 220 o primeiro conjunto de ima-gens de referência e o segundo conjunto de imagens de referência em pelo menos uma lista de imagens de referência. O método 200 pode compreender ainda ordenar 230 as imagens de referência compreendidas no primeiro conjunto de imagens de referência e no segundo conjunto de imagens de referência de acordo com os seus respectivos valores do identificador de escalabilidade. Opcionalmente, o método 200 pode compreender ainda as etapas descritas anteriormente.
[0214] Na Figura 3, uma modalidade 300 de um codificador é ilustrada. O codificador 300 compreende pelo menos uma seção de entrada 301, uma seção de saída 302, um processador 303, e uma memória 304.
[0215] O codificador 300 é disposto para receber um vídeo, ou seja, uma sequência de imagens, via a seção de entrada 301, e o processador 303 é configurado para executar os procedimentos descritos aqui acima. Em adição, o processador 303 pode ser configurado para executar outros procedimentos relacionados à codificação de vídeo que são conhecidos na técnica. A seção de saída 302 pode ser disposta para fornecer o fluxo de bits para processamento adicional ou transporte através de uma rede de comunicação.
[0216] A funcionalidade do processador pode ser executada por um programa de computador 305, ou seja, software armazenado na memória 304. O programa de computador 305 compreende as instruções executáveis por computador que são adaptadas, quando executadas no processador 303, para implementar os procedi-mentos descritos acima.
[0217] Uma modalidade do codificador 300 pode ser fornecida como parte 601 de um terminal móvel 600 (ilustrado na Figura 6), um tablet, um computador, ou similar.
[0218] Na Figura 4, uma modalidade de um decodificador 400 é ilustrada. O de- codificador 400 compreende pelo menos uma seção de entrada 401, uma seção de saída 402, um processador 403, e uma memória 404.
[0219] O decodificador 400 é disposto para receber um fluxo de bits via a seção de entrada 401, e o processador 403 é configurado para executar os procedimentos descritos acima. Em adição, o processador 403 pode ser configurado para executar outros processos relacionados à codificação de vídeo que são conhecidos na técni-ca. A seção de saída 402 pode ser disposta para fornecer o vídeo para processa-mento adicional, por exemplo, exibição. A funcionalidade do processador 403 pode ser executada por um programa de computador 405, ou seja, software armazenado na memória 404. O programa de computador 405 compreende instruções executáveis por computador que são adaptadas, quando executadas no processador 403, para implementar os procedimentos descritos acima.
[0220] Uma modalidade do decodificador 400 pode ser fornecida como parte 601 de um terminal móvel 600 (ilustrado na Figura 6), um tablet, um computador, ou similar.
[0221] Uma modalidade do decodificador 400 pode receber o fluxo de bits a partir de uma modalidade do codificador 300 via uma rede de comunicações, tal como a Internet, uma rede celular, uma rede de rádio, ou similares, ou uma combinação dessas.
[0222] Na Figura 5, uma modalidade alternativa 500 de um codificador de vídeo (decodificador) é ilustrada. O codificador de vídeo (decodificador) 500 compreende seções de entrada e saída, como descrito com relação às Figuras 3 e 4 (não mostrado na Figura 5), um módulo de codificação (decodificação) 501, um módulo de configuração 502, um módulo de lista 503, e opcionalmente, um módulo de ordena-ção 504. O módulo de configuração 502 e módulo de lista 503 são configurados para operar de acordo com o que foi descrito aqui anteriormente. Em particular, módulo de configuração 502 é configurado para inserir imagens de referência em um primeiro conjunto de imagens de referência ou em um segundo conjunto de imagens de referência, com base nos respectivos valores de um identificador de escalabilidade associado às imagens de referência e um valor do identificador de escalabilidade associado à imagem atual. Ademais, o módulo de lista 503 é configurado para inserir o primeiro conjunto de imagens de referência e o segundo conjunto de imagens de referência em pelo menos em uma lista de imagens de referência.
[0223] Se estiver presente, o módulo de ordenação 503 é configurado para operar de acordo com o que foi descrito aqui anteriormente, em particular ordenando as imagens de referência compreendidas no primeiro conjunto de imagens de referên-cia e no segundo conjunto de imagens de referência, de acordo com os seus respec-tivos valores do identificador de escalabilidade.
[0224] Uma modalidade de codificador (decodificador) 500 pode ser fornecida como parte 601 de um terminal móvel 600 (ilustrado na Figura 6), um tablet, um computador, ou similar.
[0225] O indivíduo versado na técnica percebe que a presente invenção não está limitada às modalidades descritas acima. Ao contrário, muitas modificações e varia-ções são possíveis dentro do escopo das reivindicações em anexo.

Claims (11)

1. Método (200) de construir uma primeira lista de imagens de referência e uma segunda lista de imagens de referência para predição intercamadas de uma imagem atual de uma sequência de vídeo multicamadas, caracterizado pelo fato de que compreende: inserir (210) imagens de referência tendo respectivos valores de um identificador de visualização, indicando uma posição de captura de câmera espacial relativa, que são menores do que o valor do identificador de visualização associado com a imagem atual em um primeiro conjunto (101) de imagens de referência, inserir (210) imagens de referência tendo respectivos valores do identificador de visualização que são maiores do que o valor do identificador de visualização associado com a imagem atual em um segundo conjunto (102) de imagens de referência, inserir (220) o primeiro conjunto (101) de imagens de referência na primeira lista de imagens de referência em frente do segundo conjunto (102) de imagens de referência, e inserir (220) o segundo conjunto (102) de imagens de referência na segunda lista de imagens de referência em frente do primeiro conjunto (101) de imagens de referência.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: o primeiro conjunto de imagens de referência é inserido (220) na primeira lista de imagens de referência, após um primeiro conjunto de imagens de referência de curto prazo, o primeiro conjunto de imagens de referência é inserido (220) no final da segunda lista de imagens de referência, o segundo conjunto de imagens de referência é inserido (220) na segunda lista de imagens de referência, após o segundo conjunto de imagens de referência de curto prazo e antes do primeiro conjunto de imagens de referência de curto prazo, e o segundo conjunto de imagens de referência é inserido (220) no final da primeira lista de imagens de referência.
3. Meio de armazenamento legível por computador (304; 404), caracterizado pelo fato de que compreende instruções executáveis por computador para fazer com que um dispositivo (300; 400) execute o método conforme definido em qualquer uma das reivindicações 1 ou 2, quando as instruções executáveis por computador são executadas em uma unidade de processamento (303; 403) compreendida no dispositivo.
4. Dispositivo (300; 400; 500; 601) para construir uma primeira lista de imagens de referência e uma segunda lista de imagens de referência para predição intercamadas de uma imagem atual de uma sequência de vídeo multicamadas, caracterizado pelo fato de que compreende meios (301-305; 401405; 501-504) configurados para: inserir imagens de referência tendo respectivos valores de um identificador de visualização, indicando uma posição de captura de câmera espacial relativa, que são menores do que o valor do identificador de visualização associado com a imagem atual em um primeiro conjunto (101) de imagens de referência, inserir imagens de referência tendo respectivos valores do identificador de visualização que são maiores do que o valor do identificador de visualização associado com a imagem atual em um segundo conjunto (102) de imagens de referência, inserir o primeiro conjunto (101) de imagens de referência na primeira lista de imagens de referência em frente do segundo conjunto (102) de imagens de referência, e inserir o segundo conjunto (102) de imagens de referência na segunda lista de imagens de referência em frente do primeiro conjunto (101) de imagens de referência.
5. Dispositivo, de acordo com a reivindicação 4, caracterizado pelo fato de que os meios são configurados adicionalmente para ordenar as imagens de referência compreendidas no primeiro conjunto de imagens de referência e no segundo conjunto de imagens de referência, de acordo com seus respectivos valores do identificador de visualização.
6. Dispositivo, de acordo com a reivindicação 5, caracterizado pelo fato de que os meios são configurados para ordenar as imagens de referência em diferença absoluta decrescente dos seus respectivos valores do identificador de visualização e o valor do identificador de visualização associado com a imagem atual.
7. Dispositivo, de acordo com a reivindicação 5, caracterizado pelo fato de que os meios são configurados para ordenar as imagens de referência em diferença absoluta crescente dos seus respectivos valores do identificador de visualização e o valor do identificador de visualização associado com a imagem atual.
8. Dispositivo, de acordo com qualquer uma das reivindicações 4 a 7, caracterizado pelo fato de que os meios são configurados para: inserir o primeiro conjunto de imagens de referência na primeira lista de imagens de referência, após um primeiro conjunto de imagens de referência de curto prazo, inserir o primeiro conjunto de imagens de referência no final da segunda lista de imagens de referência, inserir o segundo conjunto de imagens de referência na segunda lista de imagens de referência, após o segundo conjunto de imagens de referência de curto prazo e antes do primeiro conjunto de imagens de referência de curto prazo, e inserir o segundo conjunto de imagens de referência no final da primeira lista de imagens de referência.
9. Dispositivo, de acordo com qualquer uma das reivindicações 4 a 8, caracterizado pelo fato de que o dispositivo é um codificador de vídeo (400).
10. Dispositivo, de acordo com qualquer uma das reivindicações 4 a 8, caracterizado pelo fato de que o dispositivo é um decodificador de vídeo (500).
11. Terminal móvel (600), caracterizado pelo fato de que compreende o dispositivo (601) conforme definido em qualquer uma das reivindicações 4 a 10.
BR112015024940-0A 2013-04-12 2014-04-04 Método e dispositivo para construir uma primeira lista de imagens de referência e uma segunda lista de imagens de referência para predição intercamadas de uma imagem atual de uma sequência de vídeo multicamadas, meio de armazenamento legível por computador, e, terminal móvel BR112015024940B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361811376P 2013-04-12 2013-04-12
US61/811,376 2013-04-12
PCT/SE2014/050421 WO2014168561A1 (en) 2013-04-12 2014-04-04 Constructing inter-layer reference picture lists

Publications (2)

Publication Number Publication Date
BR112015024940A2 BR112015024940A2 (pt) 2017-07-18
BR112015024940B1 true BR112015024940B1 (pt) 2023-01-24

Family

ID=50625046

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015024940-0A BR112015024940B1 (pt) 2013-04-12 2014-04-04 Método e dispositivo para construir uma primeira lista de imagens de referência e uma segunda lista de imagens de referência para predição intercamadas de uma imagem atual de uma sequência de vídeo multicamadas, meio de armazenamento legível por computador, e, terminal móvel

Country Status (10)

Country Link
US (1) US10123039B2 (pt)
EP (2) EP2984841B1 (pt)
CN (1) CN105103558B (pt)
BR (1) BR112015024940B1 (pt)
ES (1) ES2587710T3 (pt)
HK (1) HK1215632A1 (pt)
MX (1) MX344186B (pt)
MY (1) MY169901A (pt)
PL (1) PL2984841T3 (pt)
WO (1) WO2014168561A1 (pt)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2983364A4 (en) * 2013-04-05 2016-12-07 Samsung Electronics Co Ltd MULTILAYER VIDEO PROCESSING AND DEVICE AND MULTILAYER VIDEO DECODING PROCESS AND DEVICE
GB201421095D0 (en) * 2014-11-27 2015-01-14 British Broadcasting Corp HEVC Optimization techniques
CA2983881C (en) * 2015-04-29 2019-11-19 Hfi Innovation Inc. Method and apparatus for intra block copy reference list construction
GB2554877B (en) * 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
EP3422722A1 (en) 2017-06-30 2019-01-02 Thomson Licensing Method for encoding a matrix of image views obtained from data acquired by a plenoptic camera

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
EP1800494A1 (en) 2004-10-13 2007-06-27 Thomson Licensing Method and apparatus for complexity scalable video encoding and decoding
US7671894B2 (en) * 2004-12-17 2010-03-02 Mitsubishi Electric Research Laboratories, Inc. Method and system for processing multiview videos for view synthesis using skip and direct modes
US20070086521A1 (en) * 2005-10-11 2007-04-19 Nokia Corporation Efficient decoded picture buffer management for scalable video coding
TWI344792B (en) * 2006-07-12 2011-07-01 Lg Electronics Inc A method and apparatus for processing a signal
CN101669367A (zh) * 2007-03-02 2010-03-10 Lg电子株式会社 用于解码/编码视频信号的方法及设备
CN101690220B (zh) * 2007-04-25 2013-09-25 Lg电子株式会社 用于解码/编码视频信号的方法和装置
JP2010183317A (ja) * 2009-02-05 2010-08-19 Olympus Imaging Corp 撮像装置、画像合成表示装置、画像合成表示方法、およびプログラム
US9036705B2 (en) * 2009-03-13 2015-05-19 Telefonaktiebolaget L M Ericsson (Publ) Technique for bringing encoded data items into conformity with a scalable coding protocol
US9131245B2 (en) * 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US9451284B2 (en) * 2011-10-10 2016-09-20 Qualcomm Incorporated Efficient signaling of reference picture sets
US9549180B2 (en) * 2012-04-20 2017-01-17 Qualcomm Incorporated Disparity vector generation for inter-view prediction for video coding
US9325990B2 (en) * 2012-07-09 2016-04-26 Qualcomm Incorporated Temporal motion vector prediction in video coding extensions
US9398284B2 (en) * 2012-08-16 2016-07-19 Qualcomm Incorporated Constructing reference picture lists for multi-view or 3DV video coding
EP2898696B1 (en) * 2012-09-19 2022-09-07 Qualcomm Incorporated Selection of pictures for disparity vector derivation
US9894383B2 (en) * 2012-10-09 2018-02-13 Hfi Innovation Inc. Method and apparatus for motion information prediction and inheritance in video coding
US20140218473A1 (en) * 2013-01-07 2014-08-07 Nokia Corporation Method and apparatus for video coding and decoding
US9635357B2 (en) * 2013-02-26 2017-04-25 Qualcomm Incorporated Neighboring block disparity vector derivation in 3D video coding
US9992493B2 (en) * 2013-04-01 2018-06-05 Qualcomm Incorporated Inter-layer reference picture restriction for high level syntax-only scalable video coding
US20140301463A1 (en) * 2013-04-05 2014-10-09 Nokia Corporation Method and apparatus for video coding and decoding
US9930363B2 (en) * 2013-04-12 2018-03-27 Nokia Technologies Oy Harmonized inter-view and view synthesis prediction for 3D video coding

Also Published As

Publication number Publication date
MX2015014188A (es) 2015-12-11
EP2984841A1 (en) 2016-02-17
CN105103558B (zh) 2018-09-11
PL2984841T3 (pl) 2016-12-30
ES2587710T3 (es) 2016-10-26
MX344186B (es) 2016-12-08
CN105103558A (zh) 2015-11-25
HK1215632A1 (zh) 2016-09-02
WO2014168561A1 (en) 2014-10-16
EP2984841B1 (en) 2016-06-08
US10123039B2 (en) 2018-11-06
EP3079365A1 (en) 2016-10-12
US20160323598A1 (en) 2016-11-03
BR112015024940A2 (pt) 2017-07-18
MY169901A (en) 2019-06-13

Similar Documents

Publication Publication Date Title
ES2714279T3 (es) Mejoras de conformidad e interoperabilidad en codificación de vídeo multicapa
JP6057395B2 (ja) ビデオ符号化方法および装置
JP5156088B2 (ja) ビデオ信号のデコーディング/エンコーディング方法及び装置
BR112016025107B1 (pt) Dispositivo e método para codificar dados de vídeo e memória legível por computador
BRPI0709167A2 (pt) método e aparelho para uso em um sistema de condificação de vìdeo de múltiplas visões
BR112016008374B1 (pt) Suporte de extração em múltiplos modos para codecs de vídeo de múltiplas camadas
BR112014018856B1 (pt) Método para a codificação de conteúdo de vídeo tridimensional, aparelho para codificação de conteúdo de vídeo tridimensional, meio legível por computador, método para decodificar conteúdo de vídeo tridimensional codificado, aparelho para decodificar conteúdo de vídeo tridimensional codificado
BR112016029751B1 (pt) Método e dispositivo para codificar um fluxo de bits de acordo com hevc escalonável, uma extensão 3d de hevc ou uma extensão de múltiplas vistas de hevc, e método e dispositivo para decodificar dados de vídeo de acordo com hevc escalonável, uma extensão 3d de hevc ou uma extensão de múltiplas vistas de hevc
BR112016000858B1 (pt) Processamento paralelo cross-layer e parâmetros de atraso de deslocamento para a codificação de vídeo
BR112016014227B1 (pt) Dispositivo e método para codificação escalável de informação de vídeo
BR112015024940B1 (pt) Método e dispositivo para construir uma primeira lista de imagens de referência e uma segunda lista de imagens de referência para predição intercamadas de uma imagem atual de uma sequência de vídeo multicamadas, meio de armazenamento legível por computador, e, terminal móvel
WO2014168965A1 (en) Coding video data for an output layer set
US10609394B2 (en) Encoding and deriving parameters for coded multi-layer video sequences
BR112016001223B1 (pt) Aparelho e método para codificar ou decodificar informações de vídeo e memória legível por computador
BR112015025639B1 (pt) Alinhamento poc de camada cruzada para fluxos de bits de várias camadas que podem incluir imagens irap não alinhadas
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
BR112016021475B1 (pt) Dispositivo e método para codificação escalável de informação de vídeo
US20240080493A1 (en) Profile tier level parameter set in video coding
RU2602345C2 (ru) Кодирование и декодирование видеопоследовательностей, содержащих наборы опорных изображений
BR122022009674A2 (pt) Método implementado por um codificador, dispositivo e aparelho de codificação, sistema e meio para codificação
US20170164004A1 (en) Method and device for processing multi-view video signal
KR101366288B1 (ko) 비디오 신호의 디코딩 방법 및 장치
US20220337853A1 (en) On Neural Network-Based Filtering for Imaging/Video Coding
CN115299050A (zh) 包括条带和片的图片的编解码
JP7414856B2 (ja) ビデオコーディングレイヤアップスイッチング指示

Legal Events

Date Code Title Description
B25D Requested change of name of applicant approved

Owner name: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) (SE)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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