BR112021014857A2 - Decodificador e codificador de vídeo e seus métodos, aparelho de composição de vídeo, composição de vídeo e fluxo de dados - Google Patents

Decodificador e codificador de vídeo e seus métodos, aparelho de composição de vídeo, composição de vídeo e fluxo de dados Download PDF

Info

Publication number
BR112021014857A2
BR112021014857A2 BR112021014857-4A BR112021014857A BR112021014857A2 BR 112021014857 A2 BR112021014857 A2 BR 112021014857A2 BR 112021014857 A BR112021014857 A BR 112021014857A BR 112021014857 A2 BR112021014857 A2 BR 112021014857A2
Authority
BR
Brazil
Prior art keywords
sub
image
images
video
picture
Prior art date
Application number
BR112021014857-4A
Other languages
English (en)
Inventor
Robert SKUPIN
Yago Sánchez De La Fuente
Cornelius Hellge
Thomas Schierl
Karsten SÜHRING
Thomas Wiegand
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
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 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Publication of BR112021014857A2 publication Critical patent/BR112021014857A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

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

Abstract

decodificador e codificador de vídeo e seus métodos, aparelho de composição de vídeo, composição de vídeo e fluxo de dados. trata-se de conceitos de codec de vídeo que permitem composição/mesclagem de vídeo mais eficaz e/ou uma implementação mais eficaz de atualização de decodificação gradual que são descritos junto aos conceitos de permissão composição/mesclagem de vídeo que é eficaz, por exemplo, em termos de complexidade da tarefa de composição/mesclagem.

Description

Relatório Descritivo da Patente de Invenção para “DECODIFICADOR E CODIFICADOR DE VÍDEO E SEUS MÉTODOS, APARELHO DE COMPOSIÇÃO DE VÍDEO, COMPOSIÇÃO DE VÍDEO E FLUXO DE DADOS”
[001] O presente pedido está relacionado à conversão em código e composição de vídeo.
[002] Várias aplicações fazem uso de subimagens, isto é, uma subdivisão das imagens de vídeo em subimagens para fins de codificação e decodificação separadas. Dentre essas aplicações, há o vídeo 360º e a atualização gradual da decodificação.
[003] No caso de vídeo 360º, as subimagens (ladrilhos, no caso de HEVC) são oferecidas separadamente em diferentes resoluções, conforme mostrado no lado esquerdo da Figura 1. Os usuários selecionam alguns ladrilhos em alta resolução e alguns em baixa resolução, dependendo de sua orientação de visualização, como mostrado no meio da Figura 1, e eles são mesclados em um fluxo de bits comum, como mostrado no lado direito da Figura 10. Sempre que o usuário muda sua orientação de visualização, o conjunto de ladrilhos em alta e baixa resolução muda. No entanto, nem todos os ladrilhos de alta resolução se transformam em ladrilhos de baixa resolução e vice-versa. Isso significa que apenas para o subconjunto de ladrilhos que mudam sua resolução um ponto de comutação é necessário, que normalmente é um Ponto de Acesso Aleatório (Random Access Point - RAP), para esse fluxo de bits de subimagem específico.
[004] A atualização de decodificação gradual (GDR) é um mecanismo para iniciar a decodificação de um fluxo de bits em não RAPs e ser capaz, após decodificar um determinado número de imagens, de mostrar o vídeo com a mesma qualidade como se o processo de decodificação tivesse sido iniciado em um RAP, conforme ilustrado na Figura 11.
[005] Na Figura 11, por exemplo, ilustra quatro imagens de não RAP consecutivas (consecutivas na ordem de conversão em código 900) como sendo igualmente subdivididas em três grupos de ladrilhos, tile_group0, tile_group1 e tile_group2, isto é, em regiões das respectivas imagens. A imagem do vídeo 902 é indicada pelos sinais de referência 904a a 904d, e as regiões nas quais eles estão subdivididos são indicadas com o uso da referência 906. Cada região 906 é indicada ou como sendo convertida em código de uma maneira autossuficiente, isto é, de uma maneira que forme um ponto de acesso aleatório, a saber, por ter um "IRAP" inscrito no mesmo, ou não, isto é, como convertida em código de uma maneira que faz referência a outras imagens, por ter um “inter” inscrito no mesmo. Nenhuma das quatro imagens 904a a 904d mostradas na Figura 11 tem todas as regiões 906 convertidas em código como pontos de acesso aleatórios. Em vez disso, no exemplo da Figura 11, apenas uma de suas regiões é um ponto de acesso aleatório, mas no exemplo da Figura 11, as regiões de ponto de acesso aleatório de três imagens consecutivas, como as imagens 904a a 904c, cobrem espacialmente de maneira completa a área de imagem das imagens do vídeo 902 e, consequentemente, após tal trinca de imagens, a última imagem de tal trinca, aqui a imagem 904c, está disponível no decodificador livre de artefatos desde que o codificador cuide para que as regiões de não RAP daquela imagem 904c meramente referenciada - para fins de predição e/ou derivação de contexto de entropia, por exemplo, isto é, em termos de interdependências de conversão em código - regiões sendo regiões de RAP ou regiões de não RAP que, por si mesmas, direta ou indiretamente, têm dependências de conversão em código somente em regiões de RAP. Ou seja, uma imagem decodificada limpa não é obtida instantaneamente como quando a decodificação começa com um RAP, mas depois de um tempo, depois que as imagens decodificadas foram gradualmente atualizadas para se livrar dos artefatos de referências ausentes. Aqui, esta é a imagem 904c. Normalmente, o GDR pode ser obtido dividindo-se o conteúdo em regiões (por exemplo, ladrilhos) e codificando-os com os RAPs de subimagem não alinhados.
[006] Como consequência de qualquer um dos dois cenários mencionados, as referências entre os diferentes subfluxos de bits variam. Além disso, a marcação de RAP, para as diferentes subimagens, não é claramente feita, visto que tais subimagens são apenas sinalizadas como tipos I_SLICES (sem predição da imagem decodificada anterior aplicada) e a predição de quebra para subimagens consecutivas do mesmo fluxo de bits da subimagem só é feita ao não incluir subimagens anteriores às imagens com o tipo I_SLICE nas listas de imagens de referência.
[007] Apesar dos conceitos de conversão em código de vídeo existentes acima, ainda há uma necessidade de um ambiente de conversão em código de vídeo que permita uma composição de vídeo mais eficaz, por exemplo, e/ou uma implementação mais eficaz de uma atualização de decodificação gradual.
[008] É, portanto, o objetivo da presente invenção fornecer um codec de vídeo que permite composição/mesclagem de vídeo mais eficaz e/ou uma implementação mais eficaz de atualização de decodificação gradual e/ou um conceito de permitir composição/mesclagem de vídeo sendo mais eficaz, por exemplo, em termos de complexidade da tarefa de composição/mesclagem.
[009] Este objetivo é alcançado pela matéria das reivindicações independentes do presente pedido.
[010] Um primeiro aspecto do presente pedido tem como alvo renderizar a composição/mesclagem de vídeo e/ou a implementação de atualização de decodificação gradual em um codec de vídeo mais eficaz através da introdução de uma indicação de granularidade de sinalização de ponto de acesso aleatório que indica a um decodificador de vídeo em que granularidade uma informação relacionada à subimagem pode variar espacialmente dentro das imagens do vídeo. A informação relacionada com a subimagem identifica as respectivas subimagens como sendo convertidas em código de uma maneira de ponto de acesso aleatório ou não sendo convertidas em código de uma maneira de ponto de acesso aleatório. A saber, se a indicação de granularidade de sinalização de ponto de acesso aleatório que é sinalizada no fluxo de dados separada de, ou além da informação relacionada à subimagem, assume uma primeira granularidade, isso indica que, para cada imagem de um conjunto de um ou mais imagens que formam um escopo da indicação de granularidade de sinalização de ponto de acesso aleatório, a informação relacionada à subimagem assume um estado comum para todas as subimagens da respectiva imagem. Isto é, todas as subimagens, em seguida, assumem o primeiro estado sinalizando uma conversão em código de ponto de acesso aleatório da subimagem associada ou um segundo estado sinalizando uma conversão em código de ponto de acesso não aleatório da subimagem associada. Se, no entanto, a indicação de granularidade de sinalização de ponto de acesso aleatório assumir uma segunda granularidade, isso indica que, para cada imagem do conjunto de uma ou mais imagens, a informação relacionada à subimagem pode assumir diferentes estados para as subimagens da respectiva foto. Como consequência da introdução de tal indicação de granularidade de sinalização de ponto de acesso aleatório, a tarefa de compor tal fluxo de dados que tem um vídeo codificado de uma maneira de acordo com a qual suas imagens são subdivididas em subimagens, é aliviada em termos de requisitos impostos ao reservatório de um ou mais fluxos de vídeo de entrada, às vezes chamados de subfluxos no presente documento, que têm as subimagens convertidas em código na mesma. Em particular, esses fluxos de vídeo de entrada não precisam ser convertidos em código de uma maneira mutuamente dependente, em que, se uma subimagem em um subfluxo é convertida em código por RAP, as subimagens alinhadas temporalmente de outros subfluxos também são convertidas em código de uma maneira de RAP. Se alguns subfluxos forem convertidos em código em um fluxo de vídeo de entrada comum, os mesmos podem ser convertidos em código da maneira usual, em que cada imagem do respectivo fluxo de dados de vídeo de entrada é convertido em código de uma maneira em que todas as subimagens da respectiva imagem têm uma informação relacionada à subimagem associada com o fluxo de dados de vídeo de entrada, que é o primeiro estado para todas as subimagens da respectiva imagem ou o segundo estado para todas as subimagens da respectiva imagem. Mas as subimagens alinhadas temporalmente em outros subfluxos podem não ser convertidas em código de maneira de RAP. Ao compor o fluxo de dados de vídeo que compreende a indicação de granularidade de sinalização de ponto de acesso aleatório, a composição/mesclagem está livre para compor imagens do vídeo convertidas em código no fluxo de dados composto de uma maneira que haja imagens subdivididas em subimagens, a informação relacionada com subimagem que foi adotada, ou assumida, a partir do respectivo fluxo de dados de vídeo de entrada apesar de pelo menos ser um RAP enquanto pelo menos outro não o é. Assim, não há necessidade de introduzir, por exemplo, um ou mais novos estados para a informação relacionada com a subimagem presente no fluxo de dados composto para cada subimagem. Em outras palavras, as informações relacionadas à subimagem podem simplesmente ser obtidas a partir do respectivo reservatório de um ou mais fluxos de dados de vídeo de entrada.
[011] As subimagens podem ser ladrilhos ou grupos de ladrilhos, isto é, as subimagens podem ser convertidas em código de modo independente de outras subimagens da mesma imagem. As subimagens podem, alternativamente, ser ladrilhos ou grupos de ladrilhos que formam um MCTS, isto é, um conjunto de ladrilhos com movimento restrito, o que significa que as subimagens podem, além disso, ser convertidas em código de modo independente a partir de subimagens de outras imagens, que são espacialmente deslocadas, em que as imagens podem, nesse caso, serem subdivididas nas subimagens de uma maneira constante, de modo que as subimagens de diferentes imagens sejam co-alinhadas ou espacialmente alinhadas com os limites da subimagem que coincidem espacialmente. Tal fluxo de dados, incluindo tal indicação de granularidade de sinalização de ponto de acesso aleatório, seria, portanto, capaz de sinalizar a informação relacionada à subimagem por meio do uso do mesmo alfabeto usado no reservatório de subfluxos que podem ter sido convertidos em código no regime de granularidade de imagem. As informações relacionadas à subimagem podem, por exemplo, compreender um elemento de sintaxe de valor inteiro discriminando entre uma pluralidade de tipos, tais como tipos de unidade NAL. Cada subimagem pode ser convertida em código em uma ou mais unidades NAL, em que a unidade NAL tem, cada uma, por exemplo, tal elemento de sintaxe de valor inteiro. Consequentemente, independentemente se a indicação de granularidade de sinalização de ponto de acesso aleatório indicaria a primeira ou segunda granularidade, um primeiro subconjunto de um ou mais tipos de unidade NAL da pluralidade de tipos de unidade NAL, discriminados pelo elemento de sintaxe de valor de número inteiro, corresponderia a o primeiro estado da informação relacionada à subimagem, enquanto um segundo subconjunto de um ou mais tipos de unidade NAL corresponderia ao segundo estado do mesmo.
[012] A indicação de granularidade de sinalização de ponto de acesso aleatório pode estar contida em um SPS ou VPS do fluxo de dados com o conjunto de uma ou mais imagens formando o escopo da indicação de granularidade de sinalização de ponto de acesso aleatório que compreende uma sequência de imagem do vídeo ou que cobre o todo vídeo. Alternativamente, a indicação de granularidade de sinalização de ponto de acesso aleatório pode ser transmitida no fluxo de dados por unidade de acesso, com o conjunto de uma ou mais imagens que formam o escopo da indicação de granularidade de sinalização de ponto de acesso aleatório que compreende apenas uma imagem.
[013] Os decodificadores de vídeo que não são capazes de analisar a indicação de granularidade de sinalização de ponto de acesso aleatório, podem identificar o fluxo de dados como um fluxo de dados não conforme no caso de as informações relacionadas à subimagem assumirem, para qualquer imagem, diferentes estados para diferentes subimagens dessa imagem. Os outros decodificadores de vídeo, sendo capazes de analisar e decodificar a indicação de granularidade de sinalização de acesso aleatório, poderiam adaptar o comportamento de decodificação dependendo desta indicação: eles poderiam identificar o fluxo de dados como um fluxo de dados não conforme no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, que assume a primeira granularidade e as informações relacionadas à subimagem, que assume, para qualquer imagem do conjunto de uma ou mais imagens que formam o escopo da indicação de granularidade de sinalização de ponto de acesso aleatório, diferentes estados para diferentes subimagens dessa imagem.
[014] Adicionalmente ou alternativamente, mais funcionalidades do decodificador de vídeo podem ser ativadas no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, que assume a segunda granularidade, isto é, a granularidade de subimagem, com o mesmo sendo discutido posteriormente com relação aos outros aspectos do presente aplicação, visto que essas funcionalidades podem, da mesma forma, ser vantajosamente usadas para alcançar codecs de vídeo mais eficazes, independentemente do uso da justaposição de informações relacionadas à subimagem, por um lado, e indicação de granularidade de sinalização de ponto de acesso aleatório, por outro lado. Ou seja, os decodificadores de acordo com os aspectos a seguir só poderiam operar no regime de granularidade da subimagem, sem a necessidade de sinalizar o uso desse regime.
[015] De acordo com um segundo aspecto do presente pedido, destina-se a tornar um codec de vídeo mais flexível em termos de seu uso no que diz respeito à conversão em código de subimagem e, por exemplo, no que diz respeito ao seu uso para representar vídeos compostos. As imagens dos mesmos são subdivididas em subimagens. O objetivo é alcançado tornando-se os decodificadores de vídeo responsivos a uma avaliação das informações relacionadas à subimagem transmitida no fluxo de dados para cada subimagem. Em particular, de acordo com o segundo aspecto, o fluxo de dados que tem tal vídeo codificado no mesmo, compreende para cada subimagem de cada subimagem de imagem, informações relacionadas que, ao assumir um primeiro estado, identifica a respectiva subimagem como sendo convertida em código de uma maneira de ponto de acesso aleatório e, ao assumir um segundo estado, identifica a respectiva subimagem como não sendo convertida em código de uma maneira de ponto de acesso aleatório. O decodificador de vídeo inspeciona as imagens em relação às informações relacionadas às subimagens de suas subimagens. Se a informação relacionada com a subimagem assume, para qualquer imagem, o primeiro estado para todas as subimagens da imagem predeterminada, isto é, todas as suas subimagens representam pontos de acesso aleatórios, o descodificador de vídeo libera o seu armazenamento temporário de imagem descodificado.
Semelhante ao primeiro aspecto, tal conceito permite a composição de um fluxo de dados a partir de subfluxos que foram realmente gerados para um domínio de codec de vídeo diferente, em que as subimagens dentro de uma imagem foram obrigadas a coincidir com as informações relacionadas à subimagem, isto é, todas as subimagens de uma imagem, teriam que assumir o mesmo estado.
No entanto, ao compor tal fluxo de dados, os estados das informações relacionadas à subimagem para as várias subimagens usadas para compor o fluxo de dados, podem simplesmente ser adotados ou obtidos a partir do mesmo.
Além disso, o decodificador de vídeo é capaz de, no entanto, identificar verdadeiros pontos de acesso aleatórios em que toda a imagem pode ser recuperada sem artefatos, identificando-se imagens em que a informação relacionada à subimagem assume o primeiro estado para todas as subimagens da respectiva imagem.
Em combinação com o primeiro aspecto, o decodificador de vídeo pode aplicar esta funcionalidade de identificação de imagens de ponto de acesso aleatório, em que o armazenamento temporário de imagem decodificado pode ser liberado em resposta a verificar que a informação relacionada à subimagem para tais imagens, assume o primeiro estado para todas as subimagens da respectiva imagem, se a indicação de granularidade de sinalização de ponto de acesso aleatório assumir a segunda granularidade, isto é, a granularidade de subimagem.
Combinado com o primeiro aspecto, tal decodificador de vídeo pode até mesmo alterar sua programação ao liberar o armazenamento temporário de imagem decodificado: no caso da indicação de granularidade de sinalização de ponto de acesso aleatório que assume a primeira granularidade, isto é, granularidade de imagem, o decodificador de vídeo pode liberar o armazenamento temporário de imagem decodificado em resposta à informação relacionada à subimagem, que assume o primeiro estado para uma primeira subimagem de uma determinada imagem de acordo com uma ordem de decodificação/codificação dentre as subimagens, uma vez que as informações relacionadas às subimagens relacionadas às outras subimagens, são obrigadas a assumir o mesmo estado, isto é, primeiro estado, de qualquer maneira.
A liberação do armazenamento temporário de imagem decodificado, em resposta à informação relacionada à subimagem, que assume, para uma determinada imagem, o primeiro estado para todas as subimagens da imagem predeterminada no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, que assume a segunda granularidade, isto é, a granularidade da subimagem, por sua vez, pode ser programada para ocorrer ao decodificar a última subimagem dessa imagem.
[016] O terceiro e quarto aspectos do presente pedido referem-se ao gerenciamento do armazenamento temporário de imagem decodificado no lado do decodificador. Estes aspectos do presente pedido podem ser combinados com qualquer um do primeiro e do segundo aspectos e têm um objetivo semelhante ao delineado acima em relação aos aspectos 1 e 2. Ou seja, o terceiro e o quarto aspectos do presente pedido destinam-se a fornecer um codec de vídeo que permite que uma fluxo de dados composto seja composto por subfluxos relacionados à subimagem de modo que o agente de composição/mesclagem não precise harmonizar ou unificar as descrições do armazenamento temporário de imagem de referência que descrevem o conjunto de imagens de referência que devem permanecer no DPB, que são sinalizadas nos vários subfluxos que contribuem para o fluxo de dados composto, de modo que o fluxo de dados composto sinalize, imediatamente, no início de cada imagem, quais imagens formam, para uma imagem atual, o conjunto de imagens de referência de modo que o decodificador possa remover todas as outras imagens do armazenamento temporário de imagem decodificada no começo dessa imagem atual. Em vez disso, de acordo com o terceiro e quarto aspectos, o codec de vídeo permite que o fluxo de dados sinalize a descrição do armazenamento temporário de imagem de referência que fornece informações sobre um conjunto de imagens de referência necessárias para decodificar uma imagem atual ou para decodificar em uma imagem seguinte para cada subimagem de uma imagem atualmente codificada/decodificada individualmente, de modo que as descrições do armazenamento temporário de imagem de referência, possam diferir entre as subimagens de uma imagem atual. Tal descrição de armazenamento temporário de imagem de referência descreve para uma subimagem atual de uma imagem atual, imagens que contêm subimagens que servem como uma referência para a subimagem atual ou uma subimagem de uma imagem seguinte, que está associada com a imagem de referência atual por meio de sua origem, por exemplo, como se relacionam a um subvídeo, por exemplo. Quando convertidos em código como subvídeos separados, as descrições do armazenamento temporário das subimagens são, na verdade, indicativas de imagens de referência que contêm subimagens que são do mesmo subvídeo e devem ser mantidas no DPB, pois as subimagens servem como referência para a subimagem atual ou as seguintes subimagens desse subvídeo.
De acordo com o terceiro aspecto do presente pedido, o decodificador tem a funcionalidade de formar uma união dos conjuntos de imagens de referência para que as subimagens dessa imagem atual devam permanecer no DPB de acordo com as descrições do armazenamento temporário de imagem de referência das subimagens, a fim de marcar essas imagens no armazenamento temporário de imagem decodificado, que devem permanecer no mesmo, enquanto as outras imagens são removidas do armazenamento temporário de imagem decodificado, como no final da decodificação da imagem atual.
De acordo com o quarto aspecto do presente pedido, o decodificador é capaz de realizar o esvaziamento da imagem decodificada em unidades de subimagens em vez de imagens completas.
A marcação e remoção de subimagens é realizada separadamente para cada subimagem.
Mesmo outras palavras, de acordo com o quarto aspecto, o armazenamento temporário de imagem decodificada é gerenciado em unidades de um armazenamento temporário de imagem decodificada de subimagem por subimagem de uma imagem atualmente decodificada e a marcação de subimagens deve permanecer no respectivo armazenamento temporário de imagem decodificada de subimagem, enquanto a outra deve ser removida do mesmo é realizada com base na descrição do armazenamento temporário de imagem de referência, submetida no fluxo de dados para a respectiva subimagem da imagem atualmente decodificada.
Como já mencionado acima, o último terceiro e quarto aspectos podem ser combinados, por exemplo, com o primeiro aspecto de modo que o decodificador possa ter as funcionalidades recém-descritas em relação ao terceiro e quarto aspectos, por exemplo, no caso de indicação de granularidade de sinalização de ponto de acesso, que assume a segunda granularidade, enquanto gerencia/esvazia o armazenamento temporário de imagem decodificado em unidades de imagens. no caso da indicação de granularidade de sinalização de ponto de acesso, que assume a primeira granularidade, isto é, granularidade de imagem, caso em que o decodificador pode ser configurado para realizar o esvaziamento do armazenamento temporário de imagem decodificado e marcação com base na primeira descrição de armazenamento temporário de imagem de referência encontrada para uma imagem atualmente decodificada, isto é, com base na descrição do armazenamento temporário de imagem de referência sinalizada primeiro para a imagem atual.
[017] Um quinto aspecto do presente pedido refere-se ao manuseio de POC. Semelhante ao terceiro e quarto aspectos, o quinto aspecto tem como alvo, fornecer um codec de vídeo que permite que um fluxo de dados seja composto por subfluxos convertidos em código separadamente, como usar diferentes períodos de ponto de acesso aleatório, grupos de imagens ou mesmo com o uso de taxas de quadros diferentes, que resulta assim em subimagens co-alinhadas temporalmente, devem contribuir para o fluxo de dados composto que são, de fato, sinalizados nos vários subfluxos com diferentes valores de POC. O quinto aspecto do presente pedido é combinável com qualquer um dos anteriores e destina-se a aliviar tal procedimento de composição/mesclagem, que faz com que o agente de composição/mesclagem seja liberado de ter que harmonizar os valores de POC de subfluxos associados a diferentes subimagens e que tem diferentes origens. Em vez disso, o codec de vídeo permite que o fluxo de dados sinalize diferentes valores de POC para subimagens realmente pertencentes à mesma imagem do fluxo de dados, com o decodificador sendo configurado para derivar, para cada subimagem de uma imagem atualmente decodificada, um valor de POC final para a respectiva subimagem com base no valor de POC decodificado para essa subimagem e um ou mais parâmetros de compensação de POC entre subimagem associados a uma respectiva subimagem e mantidos atualizados pelo decodificador de modo que, por cada imagem, os valores finais de POC das subimagens sejam iguais entre si para cada imagem do vídeo. Os um ou mais parâmetros de compensação de POC entre subimagens podem compensar as diferenças de taxa de quadros entre os subfluxos de contribuição, diferentes tamanhos de grupos de imagens, diferentes números mínimos de POC e semelhantes. Os um ou mais parâmetros de compensação de POC entre subimagens podem compreender um valor de deslocamento de POC e uma diferença de tamanho de etapa de POC. Alguns parâmetros podem ser determinados pelo próprio decodificador, como o valor de deslocamento de POC em subimagens de ponto de acesso aleatório com base em uma diferença entre seus valores de POC sinalizados e os valores de POC finais de pelo menos uma outra subimagem da mesma imagem que não forma um ponto de acesso aleatório. Dicas sobre as diferenças de tamanho da etapa de POC podem, por sua vez, ser transmitidas no fluxo de dados de modo a orientar o decodificador e aliviar a determinação dessas diferenças de tamanho da etapa de POC. Essas dicas podem ser inseridas no fluxo de dados pelo agente de composição/mesclagem que tem acesso a este conhecimento com base em parâmetros de alto nível nos subfluxos de contribuição.
[018] Um sexto aspecto do presente pedido está relacionado com a ideia de um codec de vídeo que implementa atualização de decodificação gradual de uma maneira em que o decodificador esteja ciente da atualização de decodificação gradual, não apenas em termos do ponto no tempo ou em termos da imagem a partir da qual em diante, a atualização de decodificação gradual é concluída, mas também em termos de atender a certas restrições na realização de derivação de predição com base nos parâmetros de conversão em código transmitidos no fluxo de dados durante a atualização de decodificação gradual. Em particular, de acordo com o sexto aspecto do presente pedido, o decodificador de vídeo é configurado para registrar, para cada uma das imagens de referência do vídeo, uma subdivisão das imagens de referência em uma região de imagem atualizada e uma imagem não atualizada região. O decodificador decodifica a partir do fluxo de dados uma informação em uma região de renovação de atualização dentro de uma imagem atualmente decodificada e decodifica a região de renovação de atualização do fluxo de dados com o uso de inter- predição. Além disso, o decodificador determina uma primeira região da imagem atualmente decodificada, desunida da região de renovação de atualização e a ser codificada/decodificada independente a partir da região de imagem não atualizada das imagens de referência e decodifica a primeira região do fluxo de dados derivando- se, com base nos parâmetros de conversão em código, o sinal no fluxo de dados para a primeira região, a predição para a primeira região a partir das imagens de referência de uma maneira dependente de uma localização da região da imagem atualizada das imagens de referência, de modo que a predição seja independente a partir da região da imagem não atualizada das imagens de referência. Por exemplo, vetores de movimento podem ser cortados de modo a alcançar a região de imagem não atualizada e/ou preenchimento pode ser usado a fim de preencher porções de blocos previstos com compensação de movimento em imagens de referência que excedem a região de imagem atualizada em a região da imagem não atualizada.
Alternativamente, a construção da lista de candidatos de vetores de movimento pode excluir vetores de movimento provenientes de fora da região de imagem atualizada. Uma segunda região pode ser tratada pelo decodificador de forma diferente. A segunda região é desunida da primeira região e da região de renovação de atualização e pode ser decodificada pelo decodificador, incluindo predições da região de imagem atualizada, bem como da região de imagem não atualizada. Por esta medida, a região da imagem atualizada cresce continuamente de imagem para imagem. O decodificador está ciente do crescimento, pois o decodificador tem que até mesmo acompanhar o crescimento da região da imagem atualizada e tem que realizar a derivação de predição em relação à primeira região consequentemente. Tornar o decodificador ciente da atualização gradual de decodificação tem várias vantagens: o decodificador está ciente da situação de atualização atual, possíveis períodos de acesso aleatório e assim por diante. Os esforços associados à derivação de predição e a necessidade de tornar esta derivação dependente da localização da região da imagem atualizada das imagens de referência vem quase sem custo, pois um decodificador pode precisar implementar medidas semelhantes, por exemplo, no limite externo de imagens ou o limite externo de ladrilhos de imagem convertidos em código de modo independente. O codificador, por sua vez, é capaz de codificar os parâmetros de conversão em código em uma faixa mais ampla de valores à medida que o decodificador redireciona alguns estados sinalizáveis dos parâmetros de conversão em código de predições, que levariam a uma dependência de regiões de imagem não atualizadas de imagens de referência, apenas para predições dependendo da região da imagem atualizadas. A ampliação dos estados sinalizáveis do parâmetro de conversão em código, no entanto, pode levar a uma maior eficiência de compressão no que diz respeito à conversão em código desses parâmetros de codificação.
[019] Aspectos vantajosos do presente pedido são o assunto de reivindicações dependentes. Modalidades preferenciais do presente pedido são descritas abaixo em relação às Figuras, dentre as quais: A Figura 1 mostra um diagrama esquemático que ilustra um ambiente para compor um fluxo de dados com base em vários subfluxos de entrada ou mesclagem de subfluxos em um fluxo de dados composto, em que um decodificador decodifica esse fluxo de dados composto; codificadores correspondentes para formar os subfluxos, assim como o próprio agente de composição/mesclagem, também são mostrados; as modalidades descritas em relação às Figuras 2 a 8 são usados para descrever funcionalidades e conceitos favoráveis que podem ser aplicados por um agente de composição/mesclagem e/ou decodificador; A Figura 2 mostra um diagrama esquemático que ilustra um conceito de codec de vídeo que permite uma indicação se a granularidade de subimagem ou granularidade de imagem é usada para sinalização de ponto de acesso aleatório; A Figura 3 mostra um diagrama de fluxo esquemático que ilustra uma possível funcionalidade de um decodificador para liberar seu armazenamento temporário de imagem decodificado; A Figura 4 mostra um fluxograma esquemático para ilustrar uma funcionalidade favorável para um decodificador na realização do esvaziamento do armazenamento temporário de imagem decodificada; A Figura 5 mostra um diagrama esquemático que ilustra um decodificador configurado para realizar o esvaziamento do armazenamento temporário de imagem decodificada de unidades de subimagens; A Figura 6 mostra um diagrama esquemático que ilustra possíveis medidas para abordar o rearranjo de subimagens de subimagens pertencentes a subvídeos contínuos, dentro das imagens de um fluxo de dados de vídeo composto; A Figura 7 mostra um diagrama esquemático que ilustra medidas favoráveis para um decodificador de vídeo, a fim de lidar com diferentes domínios POC para diferentes subimagens do vídeo. A Figura 8 mostra um diagrama esquemático que ilustra o conceito da Figura 7 em relação à compensação de deslocamento de POC em subimagens de ponto de acesso aleatório de acordo com uma modalidade; A Figura 9 mostra um diagrama esquemático que ilustra uma modalidade para codificador e decodificador que permite atualização de decodificação gradual eficiente; A Figura 10 mostra um diagrama esquemático que ilustra um exemplo para um exemplo de fluxo de 360º, em que um fluxo de dados de vídeo é composto de subfluxos relacionados a diferentes MCTS de uma cena panorâmica; e A Figura 11 mostra um diagrama esquemático que ilustra uma atualização de decodificação gradual.
[020] Com relação à Figura 1, uma tarefa de compor um fluxo de dados de um reservatório de subfluxos é explicada. Isso é feito para explicar os problemas associados, a saber, associados às diferentes origens dos subfluxos e a diferença, por exemplo, no posicionamento do ponto de acesso aleatório, valores de POC associados, estrutura GOP diferente e assim por diante, apenas para citar alguns. Esses problemas são então resolvidos de acordo com as modalidades descritas posteriormente. Estas modalidades se referem a diferentes aspectos do presente pedido e podem ser combinados mutuamente a fim de resultar em outras modalidades, uma vez que também será explicado mais abaixo. Deve-se notar, no entanto, que algumas das suposições feitas na Figura 1 não são necessárias para as modalidades descritas mais tarde ou, expressando de maneira diferente, que alguns dos recursos explicados e discutidos em relação à Figura 1, podem ser deixados de fora no que diz respeito às modalidades descritas subsequentemente, no entanto, obter vantagens a partir dos aspectos com os quais a respectiva modalidade lida. Tais circunstâncias também serão discutidas abaixo.
[021] A Figura 1 mostra um cenário em que um fluxo de dados 10 é gerado compondo-se o mesmo com base em uma pluralidade de, ou um reservatório de, subfluxos 12. Este processo de composição ou mesclagem é feito por um agente de composição/mesclagem 14. Em particular, o fluxo de dados 10 é gerado de tal maneira que o mesmo tenha um vídeo 16 de imagens 18 codificados no mesmo. As setas 20 na Figura 1 devem ilustrar a ordem de tempo de apresentação definida entre as imagens 18 do vídeo 16, isto é, a ordem em que as imagens 18 são emitidas por um decodificador 22, quando este último decodifica o vídeo 16 do fluxo de dados 10. As imagens 18 são subdivididas espacialmente em subimagens 24, conforme ilustrado pelas linhas tracejadas 26 na Figura 1, que, portanto, representam as bordas das subimagens. Em particular, o fluxo de dados 10 tem o vídeo 16 codificado de uma maneira de acordo com a qual as subimagens 24 sejam codificadas de modo independente entre si. A codificação independente de subimagens no fluxo de dados 10 e, consequentemente, a possibilidade de decodificar as subimagens 24 a partir do fluxo de dados 10 de uma maneira independente entre si, refere-se, pelo menos, a subimagens dentro de uma imagem 18, isto é, imagem internamente. Por exemplo, na Figura 1, as imagens 18 são ilustradas como sendo subdivididas em subimagens 24 de modo que cada imagem 18 compreenda seis subimagens que são enumeradas na Figura 1 por terem os respectivos dígitos inscritos na mesma. Consequentemente,
a subimagem 3, por exemplo, é codificada no fluxo de dados 10 de uma maneira independente de qualquer outra subimagem da mesma imagem 18. Consequentemente, a subimagem 3, tal como a mostrada hachurada na Figura 1, pode ser decodificada a partir do fluxo de dados 10 pelo decodificador 22 de uma maneira independente das outras subimagens 1, 2, 4, 5 e 6 da mesma imagem 18, isto é, aquelas mostradas também hachuradas. Uma outra característica do fluxo de dados 10 de acordo com a Figura 1 é, no entanto, que as imagens 18 de vídeo 16 são subdivididas espacialmente nas subimagens 24 de uma maneira constante ao longo da sequência de imagens. Ou seja, seus limites 26 coincidem espacialmente ao comparar imagens diferentes. Além disso, as subimagens colocadas ou alinhadas espacialmente, isto é, as subimagens 24 na Figura 1 com o mesmo dígito inscrito no mesmo, formam um subvídeo em que cada subimagem 24 é codificada de modo independente não apenas a partir de outras subimagens da mesma imagem, mas também de subimagens de outras imagens que estão espacialmente deslocadas em relação à respectiva subimagem, isto é, todas as subimagens pertencentes a outro subvídeo ou com outro dígito inscrito no mesmo na Figura 1. Falando em terminologia de HEVC, por exemplo, cada subimagem 24 da Figura 1 pode ser um MCTS. Sem a última característica de independência de conversão em código ou subimagens espacialmente deslocadas de até imagens diferentes do vídeo 16, as subimagens 24 podem ser, com o uso da terminologia de HEVC, por exemplo, como um ou mais ladrilhos.
[022] Os subvídeos individuais formados por subimagens espacialmente co- alinhadas 24 do vídeo 16 são mostrados na Figura 1 em 28 novamente. Todos esses subvídeos são, portanto, compostos por sequências de subimagens 24. Um codificador 30 codifica esses subvídeos 28 de modo independente em uma pluralidade de, ou um reservatório de, subfluxos 32. De fato, os subvídeos 28 podem ser tratados pelo codificador 30 em grupos. Um grupo de subvídeos 28 pode ser convertido em código em um fluxo de dados de entrada, de modo a ter um vídeo codificado no qual é composto do grupo de subvídeos 28 de uma maneira convertida em código de modo independente entre si, de modo que tal fluxo de dados de vídeo de entrada seja composto de um subfluxo 32 para cada subvídeo 28. Os subfluxos 32 são recebidos pelo agente de composição/mesclagem 14 que, por sua vez, compõe o fluxo de dados 10 com base nos subfluxos 32. Dependendo da aplicação, apenas um subconjunto dos subvídeos 28 ou meramente um subconjunto dos subfluxos 32 pode, de fato, contribuir para o fluxo de dados 10 e este subconjunto pode, além disso, mudar ou variar entre as imagens 18 do vídeo 16.
[023] O objetivo de tal tarefa de composição/mesclagem como feita pelo agente de composição/mesclagem 14 é realizar a tarefa no domínio codificado. Ou seja, repetir a quantização de resíduos de predição ou a repetição de realização da compensação de movimento é evitada pelo agente de composição/mesclagem 14. Cada subimagem 24 dos subvídeos 28 é, por exemplo, convertida em código em uma ou mais unidades NAL 34 do subfluxo correspondente 32 e se a subimagem 24 pertencer àqueles devem contribuir para o vídeo 16 do fluxo de dados 10, assim o agente de composição/mesclagem 14 insere as respectivas uma ou mais unidades NAL no fluxo de dados 10 como mostrado, com o uso do mesmo sinal de referência, a saber 34, mas com um apóstrofo para indicar que, no entanto, o agente de composição/mesclagem 14 pode ter para adaptar outros parâmetros de conversão em código nessas unidades NAL, além das informações do vetor de movimento ou dados residuais de predição. De acordo com as modalidades estabelecidas no presente documento abaixo, o agente de composição/mesclagem 14 tem a oportunidade de diminuir porções dos subfluxos 32 que devem ser adaptados ao formar o fluxo de dados 10 com base nos subfluxos 32. Isso também se refere a conjuntos de parâmetros dos subfluxos 32 ou aos fluxos de dados de vídeo de entrada dos quais os subfluxos fazem parte, quando o agente de composição/mesclagem 14 tem como alvo formar um conjunto de parâmetros correspondente 36 no fluxo de dados 10.
[024] A situação da Figura 1 pode ser ilustrada fazendo referência adicional à Figura 10. A Figura 10 mostra um caso em que o reservatório de subvídeos 28 forma subseções de um vídeo 360º. No exemplo da Figura 10, toda a cena foi subdividida em 24 subvídeo. Muitos subvídeos foram oferecidos no exemplo da Figura 10: 24 subvídeos mostraram esta cena em alta resolução e foram codificados pelo codificador 30 em dois fluxos de dados de vídeo de entrada 38a e 38b, uma vez mais eficientemente usando uma distância de RAP maior e a outra vez, como em relação ao fluxo de dados de vídeo de entrada 38b, usando uma distância de RAP menor, levando assim a uma compressão menos eficiente. Da mesma forma, dois outros fluxos de dados de vídeo de entrada foram oferecidos, cada um dos quais também tinha a cena completa com 24 subvídeos codificados no mesmo, novamente, um 38c com uma distância de RAP mais alta e o outro, 38d, com uma distância de RAP mais baixa. As imagens 16 do fluxo de dados de vídeo composto foram ilustradas como mostrando a cena completa. Em particular, cada imagem 16 é composta por 12 subimagens mutuamente alinhadas temporalmente dos subvídeos convertidos em código em fluxos de dados 38a e 38b, e 12 subimagens mutuamente alinhadas temporalmente e temporalmente alinhadas com as subimagens de alta resolução, que são retirados dos fluxos de dados 38c e 38d. Ou seja, a janela de visualização foi assumida no exemplo da Figura 10 como tendo 12 subimagens ou ladrilhos de largura. No meio da Figura 10, a hachura mostra a seleção de subimagens 24 dentro das imagens 16 do fluxo de dados composto, que contribuem para as imagens 16 do vídeo composto em alta resolução e que em baixa resolução. Outra escolha é feita com relação às diferentes versões de distância de RAP. Para cada subimagem de alta resolução 24 e para cada subimagem de baixa resolução 24, para uma determinada instância de tempo de imagem, há uma ou mais unidades NAL no fluxo de dados 38a e 38c, respectivamente, sendo convertidas em código de forma mais eficiente usando uma distância de RAP mais alta e outro 38b e 38d, respectivamente, convertidas em código usando uma distância de RAP mais baixa. De preferência, o fluxo de dados composto 10 é composto usando as unidades NAL dos fluxos de dados convertidos em código de forma mais eficiente 38a e 38c. Todos os fluxos de dados 38a a 38d podem ter os subfluxos 38 codificados usando pontos de acesso aleatórios síncronos dentro de cada fluxo de dados 38a a 38d, individualmente. Ou seja, as imagens do vídeo convertidas em código em cada um dos fluxos de dados 38a a 38d, são subdivididas em 24 subimagens 24 cada, e para cada uma dessas imagens, todas ou nenhuma das subimagens são convertidas em código em um ponto de acesso aleatório maneira no respectivo fluxo de dados de vídeo de entrada 38a a 38d.
[025] Os problemas ocorrem sempre que a janela de visualização muda. Ou seja, a seleção dos subfluxos contribuintes que contribuem para a composição/mesclagem do fluxo de dados 10 muda. No exemplo da Figura 8, 96 subfluxos estão disponíveis, mas apenas 24 contribuem para o fluxo de dados composto 10 em relação a uma determinada imagem. Suponha, por exemplo, que a janela de visualização mude por duas subimagens ou ladrilhos 24. Consequentemente, quatro das subimagens 24 da imagem 16 mudam seus subfluxos de origem: dois desses quatro que se originam a partir do fluxo de dados de alta resolução 38a, são agora tirados de um dos fluxos de dados de baixa resolução 38c e 38d, e o outro duas subimagens 24 que se originaram do fluxo de dados de baixa resolução 38c, são agora tiradas do fluxo de dados de baixa resolução 38d. Em particular, a fim de reduzir o tempo para encontrar o próximo ponto de acesso aleatório, o fluxo de dados de versão de baixa distância RAP 38b e 38d, respectivamente, é preliminarmente usado para essas quatro subimagens 24. As quatro subimagens mencionadas mudam de posição dentro da imagem 16. Todas as outras subimagens 24, no entanto, permanecem sendo transferidas por download na respectiva versão mais eficiente do fluxo de dados 38a e 38c, respectivamente. Eles não precisam de um ponto de acesso aleatório. Como uma variante, é notado que pode ser que o agente de composição/mesclagem 14 seria permitido inserir em um fluxo de dados 10 para aquelas subimagens 24 mudando de alta resolução para baixa resolução, as unidades NAL correspondentes do fluxo de dados de vídeo de entrada convertido em código de forma mais eficiente 38c com o uso de subamostragem de alta resolução para baixa resolução a fim de derivar as imagens de referência das correspondentes subimagens não RAP de resolução mais baixa.
[026] Ou seja, nesse exemplo de cenário ilustrado apenas em relação à Figura 1 em combinação com a Figura 10, o seguinte problema associado à transmissão contínua de 360º foi ilustrado. Particularmente, quando um usuário se junta a um serviço, isto é, sintoniza em um serviço, isto é, procura ver o vídeo panorâmico, uma imagem de ponto de acesso aleatório é necessária. Ou seja, sem as modalidades descritas posteriormente, o fluxo de dados compilado 10 exigiria que cada subimagem dentro da imagem inicial fosse convertida em código de uma maneira de ponto de acesso aleatório. Ou seja, todas as unidades NAL daquela imagem teriam que ser convertidas em código de uma maneira de ponto de acesso aleatório. Falando em linguagem HEVC, teriam que ser do tipo de unidade NAL IDR, CRA ou BLA, por exemplo. Ou seja, sem as modalidades descritas mais abaixo, o decodificador seria obrigado a encontrar uma imagem de RAP de modo a iniciar a decodificação. No entanto, quando um usuário muda a janela de visualização, conforme descrito antes em relação à Figura 10, uma vez que apenas alguns subfluxos de bits 32 são recentemente adicionados ao subconjunto de fluxos de bits 32 contribuindo para, ou mesclados no, fluxo de dados 10, seria muito ineficaz para exigir que todos os subfluxos de bits 32, isto é, mesmo aqueles que permanecem dentro do subconjunto de fluxos de bits de contribuição, tenham sua subimagem 24 na imagem inicial convertida em código de uma maneira de ponto de acesso aleatório. Em vez disso, conforme descrito anteriormente em relação à Figura 10, seria preferencial se apenas alguns fluxos de bits de subimagem 32 tivessem efetivamente um RAP e outros não. Isso significa, no entanto, o seguinte: os tipos de unidade NAL indicados nas unidades NAL 34’ dentro do fluxo de dados, 10 teriam então que ser alterados em relação à sua configuração nas unidades NAL subjacentes 34. Em particular, os tipos NAL de unidades NAL 34 de subimagens 24 da imagem inicial que são definidas como IDR, CRA ou BLA podem não estar associados ao mesmo tipo de unidade NAL na versão 34’ correspondente e fluxo de dados 10 como ele seria um requisito do fluxo de dados que se um dos fluxos de bits da subimagem tivesse um desses tipos de unidade NAL, todos os outros teriam que ter o mesmo tipo de unidade NAL. Particularmente, os decodificadores definidos até agora iriam, ao encontrar uma unidade IDR ou CRA (com EOS NALU antes) NAL para uma determinada unidade de acesso do fluxo de dados 10, isto é, para uma determinada imagem 18 de vídeo 16, reiniciar o processo de decodificação e liberar o armazenamento temporário de imagem do decodificador (DPB), pois qualquer imagem do mesmo não pode ou não é usada para referência. Isso significa que se, por exemplo, o cenário descrito antes, fosse implementado usando HEVC para o fluxo de dados 10 em sua versão atual, na mesclagem de subfluxos de bits 32, medidas teriam que ser tomadas se para alguma imagem 18 de vídeo 16, nem todos os subfluxos de bits contribuintes 32 continham um tipo de unidade NAL correspondente a uma conversão em código de ponto de acesso aleatório, mas apenas uma fração da mesma. Em vez disso, nesse caso, a unidade (ou unidades) RAP NAL dentro de tal imagem 18, teria que ser regravada em uma unidade não RAP NAL cujo processo também exigia uma mudança de outros cabeçalhos, como cabeçalhos de fatia, ladrilho e/ou grupo de ladrilhos como seu conteúdo depende se a unidade NAL em questão é um RAP ou não.
[027] Portanto, a modalidade descrita a seguir em relação à Figura 2 procura melhorar a sinalização de RAPs de subimagem além das tecnologias disponíveis até agora. Por exemplo, já existem propostas para se afastar da obrigação recém- delineada de atribuir tipos de unidade NAL às unidades NAL de um fluxo de dados de uma maneira que o tipo NAL no qual as subimagens são convertidas em código sejam constantes dentro de cada imagem. Por exemplo, o documento WO 2015/059194 já propõe o uso de uma sinalização por unidade NAL baseada, por exemplo, no cabeçalho NALU, mais especificamente um tipo NALU dedicado para indicar um tipo de ponto de acesso aleatório de subimagem ou uma mensagem SEI de ponto de recuperação contendo informações de substituição que substitui todos os parâmetros necessários para obter um fluxo de dados em conformidade com HEVC. No entanto, resolver o problema descrito acima da maneira proposta no último documento, ainda requer que o agente de composição/mesclagem 14 faça tarefas complicadas de "translações de fluxo" e, consequentemente, as modalidades descritas abaixo procuram superar este problema e procuram evitar a necessidade para o agente de composição/mesclagem 14 gastar sobrecarga de sinalização de tipos RAP adicionais.
[028] A Figura 2 mostra um conceito para um codec de vídeo de acordo com uma modalidade do presente pedido, em relação ao primeiro aspecto do presente pedido. A Figura 2 mostra, na medida em que, uma modalidade para um fluxo de dados correspondente 10 e um decodificador de vídeo 22 que pode estar em conformidade com tal novo codec de vídeo correspondente. O sinal de referência 10 da Figura 1 foi reutilizado porque o fluxo de dados 10 da Figura 1 pode corresponder à descrição agora apresentada em relação à Figura 2 com, consequentemente, permitindo que os problemas delineados acima sejam tratados pelo menos parcialmente.
[029] Ou seja, o decodificador de vídeo 22 da Figura 2 recebe um fluxo de dados 10 que tem um vídeo de imagens codificadas no mesmo. O fluxo de dados 10 tem o vídeo codificado de uma maneira de acordo com a qual as subimagens nas quais as imagens de vídeo estão espacialmente subdivididas são codificadas de modo independente entre si. Cada subimagem é convertida em código em uma ou mais unidades NAL 34’ respectivas do fluxo de dados 10. Ou seja, as unidades NAL 34’ carregam, entre outros, informações de movimento e informações residuais de predição. Deve ser apresentado que, diferente da descrição apresentada acima em relação à Figura 1, a independência de conversão em código de subimagem pode se referir apenas a subimagens dentro de uma imagem 18 do vídeo convertido em código no fluxo de dados 10. Consequentemente, a Figura 2 mostra de modo exemplificativo uma imagem 18, sua subdivisão em subimagens 24 e as unidades NAL correspondentes 34’ nas quais as subimagens 24 são convertidas em código dentro do fluxo de dados 10. Naturalmente, a conversão em código também pode ser feita para produzir subvídeos convertidos em código separadamente, conforme descrito acima em relação à Figura 1.
[030] O decodificador 22 decodifica a partir do fluxo de dados 10, para cada subimagem 24 de cada imagem 18, uma informação relacionada à subimagem 40. As informações relacionadas à subimagem para uma determinada subimagem 24 podem, por exemplo, ser o elemento de sintaxe que indica o tipo de unidade NAL de uma ou mais unidades NAL 34’ nas quais a respectiva subimagem 24 é codificada. Ao assumir um primeiro estado, a informação relacionada à subimagem 40 identifica sua subimagem 24 como sendo convertida em código em uma ou mais unidades NAL 34’ de uma maneira de ponto de acesso aleatório. Ou seja, forma uma subimagem de acesso aleatório. Ou seja, a subimagem seria convertida em código em uma ou mais unidades NAL 34’ de uma maneira independente, sem referência a qualquer outro sub-bloco. Ao assumir um segundo estado, a informação relacionada com a subimagem identificaria a sua subimagem 24 como não sendo convertida em código da maneira de ponto de acesso aleatório. Isto é, as unidades NAL 34’ que tem tais informações relacionadas à subimagem 40 podem ter seu sub-bloco associado 24 convertido em código no mesmo com o uso de dependências de conversão em código em outros sub-blocos. Particularmente, a informação relacionada à subimagem 40 pode compreender um elemento de sintaxe de valor de número inteiro para cada subimagem 24 que discrimina entre uma pluralidade de tipos de unidade NAL, um primeiro subconjunto de um ou mais tipos de unidade NAL dos quais corresponde ao primeiro estado, isto é, o estado RAP da subimagem e um segundo subconjunto de um ou mais tipos de unidade NAL que correspondem ao segundo estado, isto é, o estado não RAP.
[031] No entanto, o decodificador 22 da Figura 2 é ainda configurado para ler a partir do fluxo de dados 10 em relação a um conjunto 42 de uma ou mais imagens, um ponto de acesso aleatório que sinaliza a indicação de granularidade 44. Pode ser transmitido no fluxo de dados 10 como uma espécie de sinalização de nível superior relacionado a mais do que apenas uma imagem. Ou seja, nesse caso, o conjunto 42 de uma ou mais imagens 18 compreenderia uma sequência de imagens, como um GOP ou semelhante ou mesmo todo o vídeo 16. A indicação 44 pode ser, por exemplo, compreendida por um conjunto de parâmetros de sequência ou conjunto de parâmetros de vídeo do fluxo de dados 10. Por outro lado, a indicação 44 pode se referir a uma unidade de acesso, isto é, uma imagem 18 de vídeo 16, apenas. Em outras palavras, o conjunto 42 pode incluir uma imagem. Tal sinalização por unidade de acesso pode estar contida em um PPS, conjunto de parâmetros de imagem, de fluxo de dados 10 ou um delimitador de unidade de acesso ou semelhante. Esta indicação 44 teria pelo menos dois estados/granularidades sinalizáveis. Ao assumir ou sinalizar uma primeira granularidade, a indicação 44 indicaria que, para cada imagem 18 do conjunto 42 de uma ou mais imagens, a informação relacionada à subimagem 40 assume um estado comum para todas as subimagem 24 da respectiva imagem 18. Em outras palavras, a informação relacionada à subimagem 40 assumiria um estado igual para todas as subimagens 24 dentro de uma imagem 18 dentro do conjunto 42. A igualdade pode até ser verdadeira quando se considera o nível de tipos de unidade NAL. Ou seja, o tipo de unidade NAL de unidades NAL 34’ pertencentes às subimagens 24 de uma imagem 18 pode ser obrigado a ser o mesmo, isto é, iguais entre si, no caso da indicação 44 sinalizar a primeira granularidade, isto é, granularidade da imagem.
[032] Se, no entanto, a indicação 44 indica uma segunda granularidade, que pode ser chamada de granularidade de subimagem, isso indica que, para cada imagem 18 do conjunto 42, a informação relacionada à subimagem 40 pode assumir diferentes estados para as subimagens 24 da respectiva imagem 18.
[033] Ou seja, o decodificador da Figura 2 seria capaz de decodificar a partir do fluxo de dados uma indicação 44 e decidir, com base no mesmo, se o fluxo de dados 10 é de um tipo em que a informação relacionada à subimagem 40 são necessárias para serem as mesmas dentro de cada imagem 18, ou se o fluxo de dados 10 é de um tipo em que a última restrição não seja o caso. O decodificador 22 pode agir de forma diferente dependendo da indicação 44 em termos de uma ou mais das tarefas de decodificação descritas em mais detalhes abaixo.
[034] Em qualquer caso, no entanto, o agente de composição/mesclagem acima mencionado 14 é capaz de explorar a possibilidade de definir a indicação 44 para a granularidade da subimagem da seguinte maneira: ele pode compor unidades de acesso do fluxo de dados 10 juntando-se unidades NAL 34 de um reservatório de subfluxos convertidos em código 32 que se relacionam com subimagens temporariamente co-alinhadas 24 da imagem atual a que esta unidade de acesso, tal como 46 na Figura 2, se refere e pode, ao fazê-lo, assumir ou adotar ou deixar sem emendas os tipos de unidade NAL da unidade NAL, de modo que a unidade 34’ NAL no fluxo de dados 10 dentro desta unidade 46 de acesso coincida, na informação relacionada com a subimagem 40, com as unidades NAL que foram colocadas juntas.
[035] A seguir, são descritas algumas modalidades que descrevem a funcionalidade do decodificador 22 da Figura 2 para o caso em que a indicação 44 indica a granularidade da subimagem. Todas essas modalidades e a descrição das mesmas devem ser entendidas, no entanto, para também aplicar os decodificadores não configurados para ler ou decodificar a indicação 44 do fluxo de dados 10. Em outras palavras, as modalidades explicadas subsequentemente não devem ser restritas ao caso em que a indicação 44 está presente no fluxo de dados e que o decodificador 22 está configurado para ler o mesmo a partir do fluxo de dados 10. Em vez disso, as modalidades explicadas subsequentemente de outros aspectos do presente pedido, devem ser interpretadas simultaneamente como descrições de decodificadores capazes de tratar com o fato de que certas configurações, como a conversão em código de ponto de acesso aleatório ou conversão em código de ponto de acesso não aleatório de subimagens, varia dentro de uma imagem. Esses decodificadores podem, no entanto, não ter qualquer funcionalidade alternativa específica, uma vez que é verdade em relação ao decodificador 22 da Figura 2, que atua de forma diferente dependendo da indicação 44.
[036] Resumindo brevemente o que foi descrito até agora, a Figura 2 mostra um conceito em que uma indicação adicional 44 no fluxo de dados 10, como uma sinalização de nível superior, como uma sinalização no nível de sequência de vídeo convertido em código ou mesmo no nível de fluxo de bits, isto é, para a concatenação de sequências de vídeo convertidas em código, CVS, permite reinterpretar a sinalização de nível de unidade NAL, como a sinalização de tipo de unidade NAL como indicação de acesso aleatório de subimagem. Por exemplo, a indicação 44 pode ser sinalizada na forma de um sinalizador que pode ser chamado de sub_picture_random_access_process_enabled_flag. Quando este sinalizador seria igual a zero, por exemplo, os tipos de unidade NAL que indicam funcionalidade de acesso aleatório, seriam interpretados pelo decodificador 22 como acesso aleatório de nível de imagem completa. Quando o valor da bandeira seria igual a um, no entanto, os respectivos tipos de unidade NAL seriam interpretados como pontos de acesso aleatório de subimagem.
[037] Como alternativa, a indicação 44 pode ser incorporada como uma sinalização de unidade por acesso. Por exemplo, a unidade NAL do delimitador da unidade de acesso pode ser usada para indicar que tipo de acesso aleatório é permitido na unidade de acesso, que inicia nessa unidade NAL do delimitador da unidade de acesso. Um elemento de sintaxe pode ser adicionado a tal unidade NAL do delimitador de unidade de acesso que indica um dos seguintes estados: 1) todas as subimagens 24 da imagem da unidade de acesso à qual o delimitador pertence, contêm uma imagem de acesso aleatório (IRAP), 2) algumas subimagens 24 podem conter uma imagem de acesso aleatório (IRAP), 3) nenhuma das as subimagens 24 contêm uma imagem de acesso aleatório (IRAP).
[038] Com o uso da indicação 44, um decodificador pode facilmente identificar que tipo de funcionalidade de acesso aleatório pode ser aplicada à imagem (ou imagens) 18 do conjunto 42 que define o escopo da indicação 44, isto é, o escopo ao qual a indicação 44 se refere, e se um dos seguintes processos descritos em relação às seguintes modalidades deve ser realizado pelo decodificador 22 ou não.
[039] Antes de retomar a descrição de como o decodificador 22 faz se a indicação 44 sinalizar a granularidade da subimagem, deve-se notar que o decodificador 22 da Figura 2 pode ser configurado para identificar o fluxo de dados 10 como um fluxo de dados não conforme, isto é, um que não está em conformidade com o codec de vídeo, se a indicação 44 indicar granularidade de imagem e a informação relacionada à subimagem 40 assume, para qualquer imagem 18 do conjunto 42 ao qual a indicação 44 pertence, diferentes estados para diferentes subimagens 24 dessa imagem.
[040] A Figura 3 mostra uma modalidade para um comportamento do decodificador 22 em relação à liberação do seu armazenamento temporário de imagem decodificada, isto é, o armazenamento temporário dentro do qual as imagens de referência são armazenadas em armazenamento temporário com base no qual as imagens ainda a serem decodificadas podem ser preditas. Com linhas contínuas, a Figura 3 ilustra a funcionalidade do decodificador 22 para o caso de granularidade de subimagem, enquanto as linhas tracejadas mostram a funcionalidade correspondente para o caso de granularidade de imagem. Novamente, deve-se notar que a Figura 3 deve, na medida em que, ser tratada como uma descrição de ambas, uma extensão das funcionalidades descritas em relação ao decodificador descrito em relação à Figura 2 que é capaz de decodificar a indicação 44 e agir de acordo com para os modos representados na Figura 3 ou uma descrição de um decodificador alternativo 22 para o caso em que o fluxo de dados 10 não compreende a indicação 44 e em que o decodificador 22 atua de acordo com o modo de granularidade da subimagem inevitavelmente.
[041] Como mostrado na Figura 3, um decodificador 22 de acordo com a modalidade da Figura 3 é configurado para verificar, para uma determinada unidade de acesso ou para uma certa imagem 18, se a informação relacionada à subimagem 40 assume o ponto de acesso aleatório estado para todas as subimagens 24 dessa imagem, como mostrado na etapa 50. Se sim, isto é, em resposta ao mesmo, o decodificador libera seu armazenamento temporário de imagem decodificado 48 na etapa 52. Novamente, o decodificador 22 pode aplicar esta funcionalidade das etapas 50 e 52 para as imagens 18 para as quais a indicação 44 indica a granularidade da subimagem, enquanto aplica a abordagem alternativa ilustrada por linhas tracejadas na Figura 3 no caso de indicação 44 que indica a granularidade de imagem. De acordo com esta abordagem alternativa, o decodificador 22 verificou, para uma determinada unidade de acesso ou imagem 18, se a informação relacionada à subimagem 40 para a primeira subimagem encontrada 24 na unidade de acesso ou para a respectiva imagem, um ponto de acesso aleatório que se converte em código na etapa 54 e, em caso afirmativo, isto é, responsivo ao mesmo, o decodificador libera 56 o armazenamento temporário de imagem decodificada 48. Os diferentes comportamentos do decodificador 22 para liberar o armazenamento temporário de imagem decodificado 48 no caso de indicação 44 que indica a granularidade de subimagem por um lado e a granularidade de imagem por outro lado, podem consequentemente também se manifestar em uma programação diferente da liberação do armazenamento temporário de imagem decodificada na etapa 52 ou 56 em relação às vezes em que o decodificador 22 inicia a decodificar as unidades NAL individuais 34’ dessa unidade de acesso 46, tal como em relação às vezes em que o decodificador 22 recupera as unidades NAL 34' da unidade de acesso 46 a partir de um armazenamento temporário de imagem convertida em código. Embora a liberação do armazenamento temporário de imagem decodificada 48 na etapa 52, isto é, no domínio de granularidade da subimagem, possa ocorrer no momento da decodificação da última subimagem 24 em uma ou mais unidades NAL 34’ na ordem de decodificação 58, quando é claro que todas as subimagens da unidade de acesso atual são pontos de acesso aleatórios, que libera o armazenamento temporário de imagem decodificada 48 no caso da etapa 56, isto é, no domínio de granularidade da imagem, pode ocorrer ao decodificar a primeira subimagem 24 ou mais unidades NAL 34’ na ordem de conversão em código/decodificação 58, a saber, quando é claro que a informação relacionada com a subimagem 40 presente no fluxo de dados para essa subimagem, indica a conversão em código do ponto de acesso aleatório, isto é, mesmo antes da decodificação da segunda subimagem imagem 24 da imagem atual ou unidade de acesso na ordem de conversão em código/decodificação 58. Novamente, as funcionalidades explicadas em relação à Figura 3 relativas ao modo de granularidade de imagem podem, de acordo com uma modalidade alternativa em que a indicação 44 não existe, não ser implementadas no decodificador 22.
[042] Ou seja, a Figura 3 explicou uma modalidade em que o processo de decodificação é alterado para liberar um armazenamento temporário de imagem decodificada 48 do decodificador 22 e realizar operações de ponto de acesso aleatório apenas quando for claro que todas as subimagens 24 no fluxo de dados 10 para uma certa imagem são pontos de acesso aleatório de subimagem e, portanto, toda a imagem é um ponto de acesso aleatório em si. Consequentemente, o decodificador 22 pode ser configurado para decodificar até a última unidade NAL 34’ na unidade de acesso atual para determinar se esta unidade de acesso é um ponto de acesso totalmente aleatório ou não.
[043] A modalidade para decodificadores descrita a seguir em relação à Figura 4 concentra-se em uma funcionalidade/modo de operação do decodificador em relação à remoção de imagens de referência individuais ou imagens armazenadas no armazenamento temporário de imagem decodificada 48 não mais necessário para imagens ainda a serem decodificadas. Ou seja, enquanto a Figura 3 se concentra na liberação do armazenamento temporário de imagem decodificada 48, isto é, a remoção de todas as imagens atualmente armazenadas em armazenamento temporário no respectivo armazenamento temporário de imagem decodificada, a Figura 4 se concentra em outro aspecto em que o fluxo de dados 10 pode transmitir a descrição do armazenamento temporário de imagem de referência, isto é, informações sobre imagens de referência que devem permanecer no armazenamento temporário de imagem decodificada 48 de modo que sirva como uma possível base para a inter-predição de imagens ainda a ser decodificada. Para este fim, o fluxo de dados 10 transmite informações sobre um conjunto de imagens de referência, cujas informações são atualizadas por imagem ou por unidade de acesso. Semelhante à informação relacionada à subimagem 40, esta informação em conjuntos de imagens de referência a serem mantidos no armazenamento temporário de imagem decodificada para uso futuro, a saber, a descrição do armazenamento temporário de imagem de referência, é algo que é sinalizado no fluxo de dados 10 para cada subimagem 24, a saber, nas suas correspondentes uma ou mais unidades NAL 34’. De acordo com uma variante representada na Figura 4 pelo uso de linhas contínuas e tracejadas, esta descrição de armazenamento temporário de imagem de referência, pode ser uma informação sujeita a restrições semelhantes, dependendo da indicação 44, como foi descrito até agora em relação às informações relacionadas à subimagem 40, que era para indicar conversão em código RAP e não RAP.
Consequentemente, a descrição do armazenamento temporário de imagem de referência, conforme indicado na Figura 2, com o uso do sinal de referência 40’ para ilustrar a semelhança em termos de restrições dependendo da indicação 44 ou uma indicação semelhante que pode estar presente como alternativa ou em adição à indicação 44. Particularmente, o conjunto de imagens de referência indicado pela descrição do armazenamento temporário 40’ para a primeira subimagem 24 de uma determinada imagem 18 pode ser requerido para ser igual ao conjunto de imagens de referência indicado pela descrição do armazenamento temporário 40' para qualquer outra subimagem 24 da mesma imagem 18 ou pelo menos incluir todas as imagens de referência indicadas pela descrição do armazenamento temporário de imagem de referência 40’ para a segunda e as subimagens seguintes dessa imagem 18 na ordem de conversão em código/decodificação 58. No caso de indicação 44 (ou a indicação correspondente para manipulação de armazenamento temporário de imagem de referência) indicando granularidade de subimagem, os conjuntos de conjuntos de imagem de referência indicados pela descrição de armazenamento temporário 40’ para as várias subimagens 24 de uma imagem 18 podem ser livres para ser diferentes entre si de qualquer maneira, isto é, podem indicar conjuntos mutuamente diferentes de imagens de referência.
Diferença mútua significa que as subimagens dentro de uma imagem e suas subimagens sucessoras correspondentes nas imagens a seguir, requerem imagens de referência diferentes, isto é, diferentes conjuntos de imagens de referência, por causa de, por exemplo, suas correspondentes subimagens predecessoras, que são do as referências de predição, estão contidas em conjuntos mutuamente diferentes de imagens de referência.
A correspondência mútua de subimagens resulta, por exemplo, de sua origem, isto é, eles podem ter sido convertidos em código separadamente em um subfluxo correspondente 32 como um subvídeo 28. A última liberdade permite que um agente de composição/mesclagem componha um fluxo de dados 10 com base nas unidades NAL 34 de um reservatório de subfluxos 32, juntando-se essas unidades NAL para formar uma unidade de acesso do fluxo de dados 10, simplesmente assumindo, sem qualquer modificação, a descrição do armazenamento temporário de imagem de referência 40’ que seria, assim, igual entre as unidades NAL 34' no fluxo de dados final 10 por um lado e as unidades NAL 34 no reservatório de subfluxos 32 por outro lado.
[044] Assim, antes de retomar a descrição da Figura 4, isso significa que o fluxo de dados para modalidades da Figura, não compreende necessariamente a informação relacionada à subimagem 40. A modalidade descrita em relação à Figura 2 pode incluir a descrição do armazenamento temporário de imagem de referência 40’ ou não. Em seguida, semelhante à declaração feita acima em relação à Figura 3, a descrição da Figura 4 pode ser interpretada como descrevendo possíveis extensões/modificações das modalidades descritas até agora em relação às Figuras 2 e 3, bem como modalidade independente em que o decodificador apenas implementa a funcionalidade ilustrada na Figura 4 com o uso das linhas contínuas. Ou seja, em particular, uma indicação 44 pode não estar presente no fluxo de dados.
[045] De acordo com a Figura 4, um decodificador 22 é configurado para realizar a remoção de imagem do armazenamento temporário de imagem decodificada 48 como segue. Particularmente, o decodificador marca imagens no armazenamento temporário de imagem decodificada 48 que devem permanecer no armazenamento temporário de imagem decodificada 48 para servir como uma referência de predição para imagens ainda a serem decodificadas na etapa 60 e remove 62 imagens de referência não marcadas no armazenamento temporário da imagem decodificada 48 que não estão marcadas e que não são necessárias para exibição/saída futura pelo decodificador, que realiza ciclicamente essas etapas 60 e 62 para cada imagem. A fim de realizar a marcação 60, no entanto, o decodificador decodifica 64 para cada subimagem i da unidade de acesso atual ou descrição do armazenamento temporário de imagem atual 40’ indicativa de um conjunto de imagens de referência RefPi. As imagens no armazenamento temporário decodificada 48 a serem marcadas na etapa 60 são então identificadas 66 formando a união de conjuntos RefPi para todas as subimagens da unidade de acesso ou imagem atual. Conforme ilustrado na Figura 4, a remoção de imagens de referência não marcadas no armazenamento temporário de imagem decodificada na etapa 62 pode, consequentemente, ocorrer na decodificação da última subimagem 24 da unidade de acesso atual ou imagem na ordem de conversão em código/decodificação 58. Ou seja, a remoção 62 pode ocorrer após análise ou depois de decodificar todas as subimagens 24 da imagem atual ou pelo menos depois de buscar todas as subimagens 28 ou, para ser mais preciso, todas as unidades NAL 34’ a partir do armazenamento temporário de imagem decodificada. Naturalmente, as imagens não marcadas são removidas apenas se não forem necessárias para a saída, seja porque não são imagens de saída ou porque já foram emitidas.
[046] No caso de um decodificador 22 capaz de operar no modo de granularidade de subimagem descrito em relação às etapas 60 a 66, assim como o modo de granularidade de imagem ilustrado por linhas tracejadas na Figura 4, entre os quais o decodificador 22 pode alternar dependendo da indicação 44, o decodificador 22 pode, alternativamente, agir como segue na remoção de imagens a partir do armazenamento temporário de imagem decodificada. Particularmente, quando o modo de granularidade de imagem está ativo, o decodificador 22 pode ainda realizar a marcação 68 de imagens de referência a serem mantidas no armazenamento temporário de imagem decodificada 48 e a remoção de imagens de referência não marcadas do armazenamento temporário de imagem decodificada 48 na etapa 70 unidade/imagem de acesso, mas com o propósito de determinar as imagens de referência a serem marcadas e com relação à programação da remoção 70, um comportamento diferente pode ser aplicado. Particularmente, o decodificador pode, na etapa 72, decodificar a descrição do armazenamento temporário informando sobre o conjunto de imagens de referência para a subimagem 28 encontrada primeiro na ordem de conversão em código/decodificação 58 e identificar 74 as imagens de referência a serem marcadas na etapa 68 como aquele conjunto, isto é, RefP1 no caso dos índices correspondentes à ordem de decodificação/codificação. Naturalmente, o decodificador 22 também pode ler/decodificar a descrição do armazenamento temporário de imagem de referência 40’ a partir do fluxo de dados 10 para outras subimagens da unidade de acesso atual ou da imagem atual que não a primeira na ordem de conversão em código/decodificação 58, mas essa informação não é usada para a marcação na etapa 68. Além disso, a remoção de imagens de referência não marcadas na etapa 70 pode ocorrer antes de decodificar a segunda subimagem na ordem de conversão em código/decodificação 58 ou, falando de forma diferente, após a análise ou após a decodificação da primeira subimagem na ordem de conversão em código/decodificação 58. Naturalmente, as imagens não marcadas são removidas apenas se não forem necessárias para a saída, seja porque não são imagens de saída ou porque já foram emitidas.
[047] Se, de acordo com a possibilidade recém mencionada, o decodificador 22 também lê a descrição do armazenamento temporário de imagem de referência em relação às subimagens 28 diferentes da primeira na ordem de conversão em código/decodificação 58 para uma determinada unidade de acesso, o decodificador 22 pode ser configurado para identificar o fluxo de dados 10 como um fluxo de dados não conforme, no caso do conjunto de imagens de referência indicado pela descrição de armazenamento temporário 40’ para qualquer subimagem 28 diferente da primeira na ordem de conversão em código/decodificação 58 compreende uma imagem de referência que é não compreendido pelo conjunto de imagens de referência indicado pela descrição do armazenamento temporário 40’ para a primeira subimagem 24 dessa imagem.
[048] A Figura 5 ilustra uma alternativa em relação ao conceito delineado acima em relação à Figura 4. De acordo com a Figura 4, o armazenamento temporário de imagem decodificada 48 foi esvaziado em unidades de imagens. As medidas foram tomadas de acordo com o modo de granularidade da subimagem, para remover apenas as imagens que não são mais necessárias, nem para saída, nem como uma referência em relação a qualquer uma de suas subimagens. De acordo com a modalidade da Figura 5, o decodificador 22 é capaz de realizar o esvaziamento do armazenamento temporário de imagem decodificada 48 em unidades de subimagens
24. No que diz respeito à possível combinação desta modalidade em relação às modalidades descritas antes, o mesmo modo fornecido acima em relação à Figura 4 se aplica. Ou seja, a modalidade descrita a seguir em relação à Figura 5 pode ser combinada com a descrição de um decodificador da Figura 2 ou da Figura 3 e, consequentemente, um decodificador implementado de acordo com a Figura 5 pode, ou não, ser configurado para operar alternativamente em um modo de granularidade de imagem, como, por exemplo, em resposta à indicação 44.
[049] O conceito de acordo com a Figura 5 é o seguinte.
Particularmente, o fluxo de dados 10 decodificado pelo decodificador 22, tem o vídeo 16 codificado de uma maneira que as imagens de vídeo 18 sejam constantemente subdivididas em subimagens co-alinhadas 24, convertidas em código de uma maneira que não se sobreponham espacialmente as subimagens 24, ou as subimagens pertencentes a diferentes subvídeos, são convertidas em código de modo independente entre si.
Assim, a conversão em código ocorreu em subvídeos 28, levando assim ao reservatório de subfluxos 32. Como explicado acima em relação à Figura 1, cada subfluxo 32 tem um respectivo subvídeo 28 codificado no mesmo, em que cada subvídeo 28 compreende uma certa subimagem, isto é, um possível candidato para as subimagens 24 em imagens 18 de vídeo 16 do fluxo de dados 10. Os subfluxos 32 são codificados de modo independente entre si.
Eles contêm, por subimagem, 24, uma ou mais unidades NAL 34. Como parte do processo de codificação, a unidade NAL 34 pode já ter sido fornecida com um identificador de subimagem 80. Ou seja, cada unidade NAL 34 pode ser marcada com tal identificador de subimagem 80 de modo a permitir uma discriminação entre o reservatório de subfluxos 32. Conforme explicado em relação à Figura 1, meramente um subconjunto ou, para ser mais preciso, um subconjunto adequado do reservatório de subfluxos 32 pode ter sido eleito para usar suas unidades NAL 34, que têm uma subimagem correspondente de um carimbo de data/hora atual codificado no mesmo, de modo a formar, colocando-os juntos, uma unidade de acesso 46 do fluxo de dados 10. Ao colocá-los juntos, a unidade NAL 34’ que resulta no fluxo de dados 10 ainda tem o identificador de subimagem 80 no mesmo.
Na Figura 5, isso é ilustrado da seguinte maneira: os identificadores 80 do reservatório de fluxos de bits 32 são discriminados por números inteiros 1 ... N.
As imagens 18 do vídeo 16 convertidas em código no fluxo de dados 10, têm, cada uma, seis subimagens 24. Para cada subimagem 24 dentro de uma imagem 18, o fluxo de dados 10 tem, na unidade de acesso 46 correspondente, uma ou mais unidades NAL 34’ que são marcadas com o uso de um identificador de subimagem 80Ai com i = 1 ... 6, com Ai ∈ {1… N}. Quais subvídeos 28 ou subfluxos 32 são escolhidos para compor o fluxo de dados 10 podem depender da aplicação e podem ser constantes ou variar no tempo.
Adicionalmente, cada unidade NAL 34 e suas versões 34’ por meio da qual o fluxo de dados 10 é colocado junto, é indicada como compreendendo a descrição do armazenamento temporário de imagem de referência acima descrita 40’. Como está claro, devido à codificação separada dos subfluxos 32, esta informação 40’ é diferente para diferentes subfluxos 32.
[050] Ao realizar o esvaziamento do armazenamento temporário de imagem decodificada 48 em unidades de subimagens 24, o decodificador 22 atua como segue. De um modo geral, o decodificador 22 decodifica do fluxo de dados 10, para uma imagem atualmente decodificada 18, descrição do armazenamento temporário 40’ no conjunto de imagens de referência para cada subimagem 24 da imagem atualmente decodificada 18. Para cada subimagem 24 da imagem atualmente decodificada 18, o decodificador usa então a descrição do armazenamento temporário de imagem de referência para a respectiva subimagem 24, para identificar essas subimagem e o armazenamento temporário de imagem decodificada 48 deve permanecer no armazenamento temporário de imagem decodificada 48 que são espacialmente colocadas à respectiva subimagem, isto é, pertencem ao mesmo subvídeo 28. As outras subimagens são removidas. A remoção é, consequentemente, feita do tipo subimagem.
[051] Conforme representado na Figura 5, o decodificador de vídeo pode, para este fim, dividir o armazenamento temporário de imagem do decodificador 48 logicamente em DPBs de subimagem 481 a 486,, um para cada subimagem 24 em que as imagens 18 do vídeo 16 são espacialmente subdivididas atualmente. Como um comentário adicional, deve ser notado que as imagens 18 são ilustradas nas figuras do presente pedido para serem subdivididas em seis subimagens apenas para fins ilustrativos. Qualquer outro número também pode ser viável. Cada um dos DPBs de subimagem 48i é usado para armazenar temporariamente as subimagens 24 das imagens 18 que emergem a partir da unidade NAL 34’ no fluxo de dados 10 marcado com um determinado identificador de subimagem 80 que está associado ao respectivo DPB de subimagem. Em outras palavras, o decodificador 22 associa cada subimagem DPB 48i com um certo identificador de subimagem predeterminado Ai e, consequentemente, cada subimagem DPB 48i é usada, exclusivamente, para armazenar temporariamente subimagens de imagens previamente convertidas em código 18, convertidas em código por unidades NAL 34’ marcadas com um identificador de subimagem 80 igual a esse identificador de subimagem predeterminado Ai. Para uma imagem atualmente decodificada, o decodificador 22 faz o seguinte: para cada subimagem DPB 48i, o decodificador 22 inspeciona se a imagem atualmente decodificada 18 contém uma subimagem correspondente 24, cujo identificador de subimagem 80 é igual ao identificador de subimagem predeterminado Ai associado à respectiva subimagem DPB 48i e, em caso afirmativo, usa o conjunto de imagens de referência indicado para a correspondente subimagem pela descrição de armazenamento temporário dessa última 40’ para identificar que aquelas subimagens na respectiva subimagem que DPB 48i deve permanecer naquele DPB 48i de subimagem e o armazenamento temporário de imagem decodificada 48, respectivamente. Todas essas subimagens que estão nessa subimagem DPB 48i pertencem ao mesmo subvídeo 28 em virtude de coletar nessa subimagem DPB 48i apenas aquelas subimagens convertidas em código em unidades NAL 34’ etiquetadas com um certo identificador de subimagem distinguível. Se, no entanto, para uma determinada subimagem DPB 48i, nenhuma unidade NAL 34’ está presente na unidade de acesso atual e, consequentemente, nenhuma subimagem correspondente 24 está contida na imagem atual 18, então o decodificador 22 libera a subimagem DPB 48i correspondente e reatribui a respectiva subimagem DPB 48i a outro identificador de subimagem predeterminado de uma subimagem não correspondente 24 da imagem atualmente decodificada 18 que é desigual aos identificadores de subimagem predeterminados de todos os DPBs de subimagem 481 a 486. Em vez de liberar, dependendo da aplicação, o decodificador pode, em vez de liberar DPBs de subimagem reatribuídas, submeter as subimagens contidas nas mesmas a uma subamostragem ou semelhante, a fim de reutilizar as subimagens de referência contidas na mesma como subimagens de referência para as subimagens 24 do identificador de subimagem predeterminado ao qual a subimagem DPB foi reatribuída.
[052] Antes de prosseguir com a descrição do presente pedido com uma descrição de outras modalidades, as modalidades delineadas acima em relação às Figuras 4 e 5 serão brevemente resumidas novamente em outras palavras. Particularmente, enquanto a Figura 4 apresentou um conceito de despejo de imagem total, a Figura 5 representou uma modalidade para despejo parcial de imagem. Ambas as modalidades têm em comum que lidam com situações em que o esvaziamento do armazenamento temporário de imagem decodificada é realizado não responsivo a pontos de acesso aleatórios, mas responsivo a descrições de armazenamento temporário de imagem de referência, isto é, informações sobre imagens de referência/subimagens não mais necessárias para referência. Como explicado acima,
os pontos de acesso aleatório não são o único caso em que a informação da imagem é determinada não ser mais necessária para referência e, portanto, pode ser (se já tiver emitida) removida do respectivo armazenamento temporário de imagem decodificada. Em AVC ou HEVC, as imagens no armazenamento temporário de imagens decodificadas são marcadas como "usadas para referência" ou "não usadas para referência" durante o processo de decodificação. No HEVC, por exemplo, há sinalização para o que se denomina conjunto de imagens de referência (RPS). O RPS indica quais imagens no armazenamento temporário de imagem decodificada são usadas para referência para as imagens atuais ou para imagens que seguem a ordem de decodificação, isto é, RPS (RefP) sinaliza qual imagem marcar como usada para referência. Aqueles que não aparecem no RPS são marcados como "não usados para referência" e, portanto, podem ser removidos do armazenamento temporário de imagem decodificada se não for necessário para a saída (por exemplo, já emitida).
[053] Conforme discutido acima, para 360º, em que apenas alguns ladrilhos/subimagens são comutados de alta para baixa resolução ou vice-versa, um ponto de acesso aleatório pode ser alinhado, pois as imagens de referência podem ser diferentes.
[054] Quanto ao caso RAP, nos casos em que vários fluxos de bits foram agrupados, isto é, convertidos em fluxos de bits de subimagem de um novo fluxo de bits 10, o RPS precisaria ser regravado, processo que levaria a um aumento da complexidade para que tal operação ser realizada pelo agente de composição/mesclagem 14.
[055] Novos codecs de vídeo podem ter maneiras diferentes de marcar imagens de referência, mas o problema sempre se aplicará: referências diferentes podem ser aplicadas para subimagens diferentes dentro dos fluxos de bits e se os processos de marcação feitos para a primeira fatia/ladrilho de uma unidade de acesso, conforme mostrado usando linhas tracejadas na Figura 4, e isso precisa transmitir todas as informações para todas as fatias/ladrilhos na unidade de acesso, então a regravação dos cabeçalhos seria necessária quando os fluxos forem mesclados.
[056] A ideia das modalidades das Figuras 4 e 5 é, portanto, para alterar o processo de marcação de imagem de referência, a fim de permitir o acesso aleatório de subimagem ou alimentação e remoção de subimagem em relação ao armazenamento temporário de imagem decodificada.
[057] De acordo com a modalidade da Figura 4, a remoção do armazenamento temporário de imagem decodificada ainda é feita em unidades de imagens, mas o acesso aleatório de subimagem ainda é permitido. De acordo com a possibilidade de implementar a modalidade da Figura 4, uma sinalização no nível de sequência ou imagem, como a indicação 44, define se o processo de marcação é realizado na forma de granularidade de imagem ilustrada usando linhas tracejadas na Figura 4, ou se é realizado apenas após a última subimagem na unidade de acesso atual, como após análise ou após decodificação da unidade NAL da última subimagem ou fatia ou ladrilho na unidade de acesso atual. A comutação de sinalização entre os dois métodos pode ser incluída em um conjunto de parâmetros, como um SPS ou PPS na forma de um sub_picture_management_process_enabled_flag.
[058] No caso da manipulação de subimagem, que, conforme delineado acima, pode ser o único modo com uma comutação entre ambos os modos sendo deixados de fora, o processo pode, de acordo com um exemplo de implementação, compreender a geração de uma lista de imagens marcadas temporais para cada subimagem 24 da imagem atual 18 em que, no final, é verificado qual está marcada como "não usada para referência". Por exemplo, usando a sinalização RPS 40’ de HEVC como um exemplo para indicação de imagem de referência, pode-se usar o seguinte pseudocódigo a fim de identificar as imagens que devem permanecer no armazenamento temporário de imagem decodificada: N = número de imagens em DPB. Marcar imagens N como "não usada para referência” Para i=0…NumSubPicBitstream { Se Imagem (Pic) em RPS ativo => marcar essa imagem como "usada para referência" }
[059] Quando todos os fluxos de bits de subimagem forem decodificados para a unidade de acesso atual, remover a partir do DPB todas as imagens marcadas como “não usada para referência” e já emitidas.
[060] Em comparação com a abordagem de regravar todas as informações RPS, esta abordagem requer, no entanto, mais memória no armazenamento temporário de imagem decodificada.
[061] Em uma implementação alternativa da modalidade da Figura 4 em relação ao modo de remoção de DPB da subimagem, um primeiro processo é realizado em cada início de imagem, isto é, ao processar a primeira fatia/ladrilho ou subimagem, marcando-se todos imagens como “não usada para referência” enquanto, adicionalmente, para cada fatia/ladrilho/subimagem analisada, outro processo é realizado marcando-se a fatia/ladrilho/imagens indicadas do topo subimagem como “usada para referência”. Despejo da imagem de referência de acordo com o resultado final, isto é, ao analisar/decodificar a última fatia/ladrilho/subimagem é realizada após que a imagem de referência já ter sido emitida e todas as fatias/ladrilhos/subimagens da imagem atual são passadas/recebidas.
[062] A Figura 5 se refere ao caso em que o conteúdo é codificado com ladrilhos de restrição de movimento, ou seja, MCTS, ou, de um modo mais geral, subimagens convertidas em código de modo independente de subimagens espacialmente deslocadas ou subimagens pertencentes a diferentes subvídeos, cujas subimagens incluem não apenas as da mesma imagem, mas também as de outras imagens. Em tais casos, é possível marcar regiões específicas da subimagem com o uso de um identificador de subimagem de modo que possam ser removidas do armazenamento temporário de imagem decodificada. Um fluxo de bits codificado por MCTS só pode fazer referência a si mesmo.
[063] Na Figura 5, foi feita utilização da possibilidade de marcar as regiões de subimagem das imagens 18 separadamente. Se uma subimagem foi marcada como “não usada para referência” e essa imagem já foi emitida, essa região pode ser removida do armazenamento temporário de imagem decodificada. Assim, seria possível executar o processo de marcação separadamente para cada subimagem enquanto analisa o tipo de unidade NAL e RPS no grupo de fatia/ladrilho ou cabeçalho de subimagem sem ter que esperar até analisar todas as unidades NAL de uma unidade de acesso.
[064] Isso é feito de acordo com a Figura 5, inicializando-se vários DPBs de subimagem 48i com base em informações em, por exemplo, algum conjunto de parâmetros transmitido no fluxo de dados, ou por reatribuição de DPBs de subimagem ou alocando espaço de DPB para cada identificador de subimagem que ocorre recentemente (para cada novo subvídeo). Após a inicialização, as imagens (significando amostras reconstruídas e dados referenciáveis correspondentes para predição, como vetores de movimento) seriam armazenadas nos DPBs 48i da subimagem que correspondem ao identificador Ai da subimagem. O identificador de subimagem Ai pode, por exemplo, ser um ID de grupo de ladrilhos.
[065] Em seguida, o conjunto de imagens de referência, isto é, uma lista que indica quais imagens precisam ser mantidas para predição no armazenamento temporário de imagem decodificada 48 juntamente com um ID correspondente, seria analisado e influenciaria se uma subimagem em sua subimagem correspondente DPB poderia ser removida. Obviamente, em alguns cenários, a configuração do ladrilho em uma imagem pode mudar. Por exemplo, em cenários de mesclagem de fluxo de bits de subimagem, pode acontecer que por algum tempo a subimagem com ID 0 e 1 seja mesclada e, posteriormente, as subimagens com ID 1 e 2 sejam mescladas. Nesse caso, os DPBs de subimagem são liberados com base na indicação do conjunto de parâmetros. Sempre que o conjunto de parâmetros ativado não contém uma ID de subimagem anterior, a subimagem DPB correspondente a essa subimagem é liberada. Obviamente, a remoção de imagens só é feita se as imagens não forem destinadas à saída, isto é, já foram emitidas ou não são mais necessárias para a saída.
[066] Várias notas devem ser feitas com relação às Figuras 4 e 5. Por exemplo, diferente do descrito acima em relação à Figura 5, pode ser que a gestão dos DPBs da subimagem possa ser variada na medida em que o número de DPBs da subimagem gerenciados simultaneamente, excede o número de subimagens 24 nas imagens 18 de vídeo 16. Por exemplo, para cada identificador de subimagens 80 encontrado no reservatório de subfluxos 32 ou, para ser mais preciso, encontrado no fluxo de dados 10, o decodificador 22 pode fornecer subimagens separadas DPB.
[067] Além disso, nota-se que a descrição da Figura 5 se concentra no tratamento da granularidade da subimagem em relação ao esvaziamento do armazenamento temporário de imagem descodificada. No entanto, embora a Figura 5, assim, descreva um decodificador que poderia agir de acordo, a Figura 5 também deve ser vista como uma descrição de um decodificador que é capaz de agir da maneira mostrada na Figura 5, isto é, em um modo de manipulação de subimagem, assim como em um modo de manipulação do tipo imagem, como em resposta a uma indicação 44 mostrada na Figura 2 ou alguma sinalização equivalente. Nesse caso, o decodificador 22 da Figura 5 poderia gerenciar o armazenamento temporário de imagem decodificada 48 no modo de imagem da maneira representada na Figura 4 com o uso de linhas tracejadas.
[068] Quanto às descrições do armazenamento temporário 40’ mencionadas acima, deve-se notar que elas podem indicar que as imagens de referência devem permanecer no DPB de qualquer maneira, como na forma de uma lista, em vez de um termo analítico indicando imagens de referência correspondentes, como por meio de seus POCs ou semelhantes. As descrições do armazenamento temporário 40’ podem citar positivamente essas imagens ou podem citar essas imagens para serem removidas a partir do DPB.
[069] Além disso, as Figuras 4 e 5 se concentraram no esvaziamento do armazenamento temporário de imagem decodificada, mas é claro que o decodificador 22 dessas figuras preenche o armazenamento temporário de imagem decodificada com o uso do conteúdo de imagem recém-decodificado. Por exemplo, o preenchimento do armazenamento temporário de imagem decodificada 48 no caso da Figura 4 pode ser feito em imagens no caso de manipulação de subimagem ou em ambos os casos, manipulação de subimagem e manipulação do tipo imagem. Na Figura 5, que se concentra no esvaziamento DBP subimagem, o preenchimento poderia ser feito também do tipo subimagem, assim que uma determinada subimagem tenha sido decodificada, ela é inserida em sua subimagem correspondente DPB. Naturalmente, uma abordagem alternativa poderia ser que o preenchimento do armazenamento temporário de imagem decodificada 48 fosse feito imagem por imagem, isto é, as subimagens decodificadas 24 da imagem atualmente decodificada 18 seriam inseridas em seus DPBs de subimagem correspondentes simultaneamente no final da decodificação da imagem atual 18. No caso do modo de esvaziamento DPB em forma de imagem, o decodificador da Figura 5 poderia atuar como aquele que está no modo correspondente da Figura 4 (isto é, mostrado em linhas tracejadas na Figura 4).
[070] Além disso, algumas breves notas devem ser feitas com relação às modalidades acima descritas em relação ao manuseio do armazenamento temporário de imagem decodificada. Em particular, até agora, foi mencionado que as subimagens 24 das imagens 18 de vídeo 16 podem ser convertidas em código como subvídeos de uma maneira que as subimagens podem depender de outras subimagens de outras imagens, desde que pertencem ao mesmo subvídeo, mas são independentes de quaisquer outras subimagens, isto é, outras subimagens da mesma imagem 18 e subimagens de outras imagens 18 que pertencem a diferentes subvídeos. Pode ser que tais subimagens pertencentes ao mesmo subvídeo alterem a posição da subimagem dentro das imagens 18 do vídeo 16 a tempo. A Figura 6 ilustra este caso. Existem diferentes possibilidades para lidar com tal circunstância. Na Figura 6, duas imagens 18 de vídeo 16 são mostradas de modo exemplificativo. Em uma imagem 18, as subimagens 24 pertencentes ao subvídeo com a subimagem ID 2, 7, 3, 4, 5 e 6 estão presentes. Em uma imagem subsequente, é visível que as subimagens 24 de subvídeos com subimagem ID 2, 7, 4 e 5 ainda estão presentes, mas em diferentes posições de subimagem. Em vez de subimagens 24 com subimagens ID 3 e 6, duas novas subimagens ou, para ser mais preciso, subimagens de uma nova subimagem ID, a saber, 9 e 12, estão presentes na última imagem.
[071] Vamos agora assumir que as subimagens 24 da última imagem 18b que pertencem àqueles identificadores de subimagens que também ocorrem na imagem anterior 18a, não são convertidas em código de uma maneira de ponto de acesso aleatório e, adicionalmente, fazem referência às subimagens de imagem 18a. Ou seja, as subimagens corretas 24 de imagem 18a estariam presentes no armazenamento temporário de imagem decodificada 48 do decodificador 28 no momento da decodificação da imagem 18b, mas medidas precisam ser tomadas a fim de realizar a referência, isto é, a predição de movimento compensado, corretamente para realizar a predição em relação à decodificação das subimagens 24 da imagem 18b desses identificadores de subimagem.
[072] Uma possibilidade para resolver este problema poderia ser que o agente de composição/mesclagem 14 atenda a tais circunstâncias. Ele poderia usar a técnica apresentada no documento WO 2016/026526, de acordo com a qual imagens não emitidas 18c são inseridas no fluxo de dados 10 pelo agente de composição/mesclagem 14 que, pelo uso de um campo de vetor de movimento que é constante por peça, a saber, constante dentro de cada posição de subimagem, reorganiza o conteúdo de imagem de tal imagem 18a de modo que as subimagens 24 ainda necessárias em uma imagem subsequente 18b, sejam dispostas em suas novas posições de subimagem que eles assumem nessa imagem subsequente 18b. Além disso, agente de composição/mesclagem 14 toma cuidado para que, para tal imagem 18b, a referência da imagem 18a como uma imagem de referência, seja redirecionada de modo a declarar a imagem 18c como a imagem de referência. Além disso, a predição do vetor de movimento deve ser proibida para as subimagens 24 da imagem 18b que pertencem a esses subvídeos cujas subimagens, que estavam presentes na imagem 18a, foram redirecionadas pela imagem não emitida 18c.
[073] Outra possibilidade seria que o decodificador 22 reorganizasse suas imagens no armazenamento temporário de imagem decodificada a fim de gerar novas imagens de referência reorganizadas conforme as subimagens mudam sua posição de subimagem, como as subimagens da imagem 18b da subimagem ID 2, 7, 4 e 5 na Figura 6. De acordo com tal procedimento, as imagens de referência no armazenamento temporário de imagem decodificada seriam espacialmente divididas em suas subimagens e as subimagens seriam embaralhadas novamente. Conforme delineado acima em relação à Figura 1, tal manuseio também pode envolver uma reamostragem espacial no caso de certas subimagens 24 na imagem 18b serem indicadas como pertencendo ao mesmo conteúdo de imagem, com tendo, no entanto, resolução espacial reduzida em comparação com subimagens de fotos anteriores, como a imagem 18a. Desta forma, a transição de um layout de subimagem em uma imagem 18a para um layout de subimagem em uma nova imagem 18b pode ser levada em consideração sem a inserção de imagens de saída 18c.
[074] E uma alternativa ainda pode ser que o decodificador 22 redirecione os vetores de movimento usados para codificar as subimagens da imagem 18b. O decodificador 22 pode gerar deslocamentos de vetor de movimento para os vetores de movimento das subimagens reorganizadas na imagem 18b para compensar a mudança de posição da subimagem em relação à imagem de referência 18a. O deslocamento do vetor de movimento é, na predição compensada por movimento envolvida na decodificação de subimagens 24 da imagem 18b, adicionado aos vetores de movimento convertidos em código dos subfluxos pertencentes às subimagens 24 da imagem 18b ou, para ser mais preciso, daqueles subfluxos cujas subimagens também estão presentes na imagem 18a. Desse modo, o preditor correto dos blocos interpreditos dessas subimagens na imagem 18a são derivados, os quais apontam para a posição correta na imagem de referência 18a, a saber, as posições corretas dentro das subimagens pertencentes aos subvídeos mostrados em ambas as imagens 18a e 18b, mas em diferentes posições de subimagem.
[075] A reorganização da subimagem no armazenamento temporário de imagem decodificada em relação às imagens de referência e o redirecionamento do vetor de movimento possivelmente realizado pelo decodificador 22 pode ser acionado por uma mudança observada na associação do identificador da subimagem às posições individuais da subimagem dentro das imagens 18 do vídeo 16, cuja associação descreve a reorganização da subimagem das imagens de referência e suas subimagens no fluxo de dados 10 consequentemente. Alternativamente, esses processos podem ser acionados por uma indicação de fluxo de dados explícita no fluxo de dados 10 gravado no fluxo de dados pelo agente de composição/mesclagem 14, por exemplo, como dentro do PPS.
[076] A modalidade descrita a seguir em relação à Figura 7 tem como alvo descrever um ambiente de codec de vídeo que alivia aplicações, tais como aquelas descritas acima em relação à Figura 1, em termos de manuseio de POC (contagem de ordem de imagem). A Figura 7, portanto, descreve uma possível funcionalidade de um decodificador para tratar fluxos de dados que tem um vídeo codificado em que as imagens 18 são subdivididas em subimagens 24 e em que as subimagens 24 são convertidas em código como partes de subvídeos 28 separados entre si, como foi descrito em relação às figuras acima, como em relação à Figura 5. As funcionalidades descritas em relação à Figura 7 podem ser um certo modo do decodificador 22 que é acionado, por exemplo, por uma indicação de subimagem, tal como pela indicação 44 descrita em relação à Figura 2. Em particular, a Figura 7 permite que diferentes valores de POC sejam transmitidos no fluxo de dados 10 para as subimagens 24 das imagens 18 de modo que diferentes valores de POC ocorram mesmo dentro de uma imagem
18. Se a funcionalidade da Figura 7 representasse apenas um modo do decodificador 22, o outro modo poderia ser que apenas um valor de POC é permitido para uma imagem 18.
[077] Se um fluxo de dados 10 é composto com base em um reservatório de subfluxos 32, como descrito acima em relação à Figura 1, por exemplo, pode acontecer que o desenvolvimento da contagem da ordem das imagens das subimagens 24 dentro dos subvídeos 28 correspondentes na ordem do tempo de apresentação 20 seja diferente. Por exemplo, a diferença pode resultar de uma taxa de quadros diferente entre os subvídeos 24. O vídeo 16 teria, naturalmente, a taxa de quadros mínima de subvídeos 28 que contribuem para o vídeo 16. Consequentemente, as imagens correspondentes de um subvídeo de taxa de quadros superior 28 teriam que ser ignoradas pelo agente de composição/mesclagem 14 na composição do fluxo de dados 10. Ao codificar um subvídeo de taxa de quadros superior 28 em seu subfluxo 32 correspondente, o processo de codificação teria, naturalmente, de tomar cuidado para que tais imagens não sejam necessárias como imagens de referência para outras imagens P ou B devem permanecer e contribuir para a composição do vídeo 16 junto com as subimagens 24 dos subvídeos de taxa de quadros inferior 28. Adicionalmente ou alternativamente, tal diferença no desenvolvimento temporal dos valores de contagem de ordem de imagem das subimagens 24 nos vários subvídeos 28 e os subfluxos correspondentes 32, respectivamente, pode resultar de diferentes estruturas GOP subjacentes a esses subfluxos 32. Por exemplo, um comprimento de GOP diferente, isto é, um número diferente de subimagens 24 por GOP pode se aplicar a diferentes subfluxos 32. Naturalmente, o processo de geração/codificação para produzir subfluxos 32 deve ser feito de tal maneira que, pelo menos no que diz respeito às subimagens 24 dos subvídeos 28 correspondentes, que contribuem para a composição das imagens 18 do vídeo 16, coincide em sua ordem sequencial dentro de seu respectivo subvídeo 28 e subfluxo 32, respectivamente, em termos de ordem de tempo de apresentação 20, assim como ordem de conversão em código/decodificação 58.
[078] A Figura 7, portanto, mostra que uma ou mais unidades NAL 34 que tem subimagens 24 dos subvídeos 28 codificados nas mesmas, que são eleitas pelo agente de composição/mesclagem 14 de modo a serem usadas para participar de uma unidade acesso correspondente 46 do fluxo de dados 10, ao colocá-los juntos, são fornecidos com um valor de POC 90. O valor de POC ordena as subimagens 24 dentro de seu respectivo subvídeo 28 na ordem de tempo de apresentação 20, por exemplo, uma base GOP (grupo de imagens). Ou seja, pode ser que os valores de GOP 90 nas unidades NAL 34 iniciem a ordem novamente sempre que um novo GOP for iniciado. De preferência, o conceito da Figura 7 permite que um agente de composição/mesclagem 14 simplesmente assuma, sem modificação, os valores de POC 90 ao juntar as unidades NAL 34 dos subfluxos contribuintes 32 para resultar em unidades NAL correspondentes 34’ em as unidades de acesso 46 do fluxo de dados
10. Por hachura, a Figura 7 ilustra subimagens 24 dos vários subvídeos 28 e suas unidades NAL correspondentes 34 dentro dos subfluxos correspondentes 32 que correspondem a um instante de tempo comum e uma classificação comum de conversão em código/decodificação em termos de ordem de conversão em código/decodificação 58 de modo a formar em conjunto uma unidade de acesso 46 correspondente no fluxo 10. A fim de contabilizar as diferenças nos valores de POC 90 entre as unidades NAL 34’ correspondentes a diferentes subimagens de uma imagem atualmente decodificada 18 ou uma unidade de acesso atualmente decodificada 46, o decodificador 22 atua como segue.
Em particular, o decodificador 22 decodifica a partir do fluxo de dados, para cada subimagem 24 de uma imagem atualmente decodificada 18, os valores de POC 90 contidos na unidade NAL 34'. Além disso, o decodificador 22 gerencia, para cada subimagem 24 da imagem atualmente decodificada 18 ou, para ser mais preciso, para cada subvídeo 28 do qual as imagens 24 na imagem atualmente decodificada 18 derivam, um ou mais os parâmetros de compensação de POC da subimagem 92 devem parametrizar uma função de correção de POC 94 que, quando aplicada aos valores de POC 90 do subvídeo 28 correspondente, produz valores de POC finais 96 que são os mesmos para cada imagem 18 do vídeo 16. De acordo com um exemplo, pode ser que os valores de POC 90 transportados pelas unidades NAL 34’ dentro de uma unidade de acesso 46 do fluxo de dados, diferem por causa de um comprimento de GOP diferente usado para a conversão em código dos subvídeos aos quais as subimagens 24 pertencem, que são convertidos em código nestas unidades NAL 34'. Nesse caso, desde que os subvídeos contribuintes 28 e subfluxos 32 não sejam alterados durante a composição/mesclagem, o deslocamento mútuo entre os valores de POC 90 dentro de uma unidade de acesso 46 tende a ser constante ao longo de unidades de acesso consecutivas 46 e fluxo de dados 10, desde que nenhum dos 32 GOPs de subfluxos’ de contribuição inicie um novo GOP.
Os parâmetros de compensação de POC inter- subimagem 92 podem compreender, por exemplo, um deslocamento de compensação de POC que é adicionado pela função 94 ao valor de POC 90 do subvídeo correspondente, a fim de contabilizar a diferença entre os vários subfluxos 32 da subimagem atual 24 do subvídeo 28 correspondente ao início mais recente do GOP, isto é, a subimagem 24 do IRAP dentro de seu subvídeo 28. Sempre que um novo subvídeo 28 começa a contribuir para as imagens 18 de vídeo 16 ou um dos subvídeos 28 em execução, inicia um novo GOP por ter uma subimagem para a qual as informações 40 sinalizam um RAP, o decodificador 22 atualiza ou calcula ou redefine o deslocamento de compensação de POC desse subvídeo ou subfluxo 32,
respectivamente, com base em uma comparação, isto é, computando-se uma diferença, com qualquer valor de POC final 96 de qualquer subvídeo 28 ou subfluxo 32 ainda mantido no vídeo 16 naquele ponto no tempo, isto é, na mesma unidade de acesso 46 e não ter qualquer conversão em código de ponto de acesso aleatório na mesma. Devido a uma diferença de taxa de quadros entre os subfluxos 32, os parâmetros de compensação de POC entre subimagens 92 também podem compreender um fator pelo qual os valores de POC 90 são escalados com o uso da função 94 para produzir os valores de POC finais 96. Devido a essa diferença de taxa de quadros, a diferença mútua entre os valores de POC 90 dentro das unidades de acesso 46 do fluxo de dados 10 tende a, após ser compensada com o uso dos deslocamentos de compensação de POC mencionados acima, estar relacionada por uma diferença mútua dos valores de POC 90 que escala temporalmente de acordo com uma diferença de tamanho da etapa de POC. Esta diferença em escala é compensada pelo escalonamento inverso desses valores de POC. O decodificador 22 pode derivar tais fatores de escalonamento como parte dos parâmetros 92 a partir do fluxo de dados 10 que podem ter sido gravados no mesmo pelo agente de composição/mesclagem 14 com base em uma avaliação das taxas de quadros subjacentes aos subvídeos 28 e os subfluxos 32 correspondentes, respectivamente.
[079] Assim, resumindo brevemente, o decodificador 22 pode gerenciar os parâmetros de compensação de POC 92 para parametrizar as funções 94. Assim, parametrizadas, as funções 94 produzem, quando aplicadas ao valor de POC 90 correspondente a uma certa subimagem 24 de uma imagem atual 18, um valor de POC final 96. Os valores finais de POC 96 obtidos desta forma, são iguais entre si para cada imagem 18 do vídeo 16. Os deslocamentos entre os parâmetros 92 podem ser atualizados pelo decodificador 22 em subimagens de ponto de acesso aleatório 24 da maneira descrita acima, desde que uma subimagem não RAP 24 esteja presente nessa imagem 18 ou unidade de acesso 46, respectivamente. Se todas as subimagens 24 de uma imagem atual 18 forem codificadas por ponto de acesso aleatório, então o decodificador 22 pode definir os deslocamentos para qualquer valor padrão igual para as subimagens 24. Adicionalmente ou alternativamente, as subimagens RAP podem, por si, tal como parametrizar apropriadamente o codificador 30, definir para o mesmo valor de POC padrão. Esse valor pode ser zero. O decodificador não teria que fazer nada sob esta restrição do codificador. Pode ser, no entanto, que o codificador 30 seria livre para definir POCs de subimagens RAP 24 de uma imagem 18 para valores diferentes e, para tais casos, o decodificador pode ser configurado para definir os valores de POC dessas subimagens RAP para um valor de POC padrão, como zero ou um valor igual ao valor de POC 90 sinalizado para a primeira subimagem RAP encontrada. Os fatores de escalonamento entre os parâmetros 92 podem ser determinados pelo decodificador 22 cada vez que um subvídeo 28 contribui de novo para a composição de vídeo 16.
[080] Conforme descrito abaixo, o decodificador 22 pode ter que tomar cuidado para que o escalonamento do preditor de vetor de movimento realizada pelo decodificador 22, de modo a manter as subimagens 24 das unidades NAL 34’ correspondentes, seja realizada corretamente. O escalonamento do preditor de movimento é feito quando um preditor de vetor de movimento relacionado a uma imagem de referência A que tem uma distância POC a para a imagem que compreende o bloco para o qual o respectivo preditor de vetor de movimento foi usado, é dimensionado para se referir a alguma necessidade de distância POC b para um bloco atualmente previsto de uma imagem atual. Como o escalonamento deve ser realizado em relação à distância POC em relação à definição de POC do respectivo subfluxo 32, este escalonamento pode ter que ser feito pelo decodificador 22 ainda com base nos valores de POC do subfluxo individual 90. De acordo com o escalonamento do preditor de vetor de movimento HEVC, por exemplo, um escalonamento de vetor de movimento diferente pode, caso contrário, resultar se o fator de escala da taxa de quadros entre os parâmetros 92 não for uma potência de dois.
[081] Como já mencionado acima, as modalidades descritas acima podem ser combinadas entre si. Tal fato se dá não apenas combinando-se cada uma das modalidades descritas em relação às Figuras 3, 4, 5 e 7 com a modalidade da Figura 2, mas também com relação a uma combinação dentre as modalidades descritas em relação às Figuras 3, 4, 5 e 7 dentre si em pares, trincas ou todos eles. Cada um desses conceitos alivia o uso do conceito de codec de vídeo resultante no cumprimento da tarefa de composição/mesclagem de vídeo delineada em relação à Figura 1. Naturalmente, o exemplo delineado na Figura 1 não deve ser tratado como sendo limitante para os exemplos de codec de conversão em código de vídeo apresentados nas modalidades acima.
[082] Antes de começar com a descrição de uma outra modalidade do presente pedido que se refere a um outro aspecto do presente pedido, que se refere a um tópico ligeiramente diferente, a saber, a atualização de decodificação gradual, a modalidade da Figura 7 será novamente descrita e motivada em outras palavras. Particularmente, como já descrito acima, a modalidade da Figura 7 refere-se à derivação delta de POC. Conforme descrito, as subimagens 24, cada subimagem pode, por exemplo, ser um ladrilho ou um conjunto de ladrilhos (que se conformam a um fluxo de bits de união 10) pode ter pontos de acesso aleatórios não alinhados ou diferentes estruturas de referência ou estruturas GOP. Conforme delineado acima, tal caso de uso pode acontecer, por exemplo, quando fluxos de bits 32 codificados inicialmente separadamente são mesclados em um único fluxo de dados 10.
[083] Em tais casos, a POC (contagem de ordem de imagem) que é indicada dentro dos subfluxos de bits 32 de cada subimagem 24 pode ser diferente, embora se relacione a um instante de tempo comum ou contribua para uma unidade de acesso comum 46 no fluxo de dados fundidos 10. Quando este for o caso, isso leva a carga de que os valores de POC sinalizados dentro dos fluxos de bits 32, a saber, dentro das unidades NAL 34, terão que ser regravados pelo agente de composição/mesclagem para que possam ser mesclados no fluxo de dados composto resultante de modo a produzir um valor de POC para uma unidade de acesso. A modalidade da Figura 7 diminui esta carga e permite a mesclagem de tais subfluxos de subimagem 32 sem ajustar os valores de POC convertidos em código nas unidades NAL, como o cabeçalho de cada subimagem 24, isto é, o cabeçalho do grupo de ladrilhos.
[084] Uma POC é usada para derivar os limites da unidade de acesso. Ou seja, geralmente, uma POC é usada para associar um grupo de fatias ou grupos de ladrilhos ou unidades NAL a uma unidade de acesso 46. Este poderia ser o comportamento alternativo do decodificador 22 da Figura 7 no caso de ser combinado com a modalidade da Figura 2: o conceito descrito na Figura 7 seria aplicado pelo decodificador 22 no caso da indicação 44 que indica a granularidade da subimagem, enquanto o descodificador 22 esperaria que cada unidade 46 de acesso tivesse apenas um valor de POC que é igual dentro da unidade 46 de acesso no caso da indicação 44 que indica a granularidade da imagem. O decodificador 22 iria, no caso da granularidade da imagem, em resposta a uma mudança de valor de POC de uma unidade NAL para outra, identificar o início de uma próxima unidade de acesso 46. A identificação de interfaces de unidade de acesso que separam unidades de acesso consecutivas 46 no fluxo de dados 10 no caso da funcionalidade de granularidade de subimagem descrita na Figura 7 pode ocorrer pelo decodificador 22 com base, por exemplo, em delimitadores de unidade de acesso inseridos no fluxo de dados 10 pelo agente de composição/mesclagem 14, por exemplo.
[085] Dentre os diferentes processos para os quais os valores de POC são utilizados no processo de decodificação, estão a saída de imagem, isto é, as imagens são emitidas em ordem crescente ou ordem de POC, para referência de imagem, isto é, para determinar quais imagens são utilizadas para referência, imagens de referência de curto prazo ou imagens de referência de longo prazo.
[086] A modalidade descrita em relação à Figura 7, permite diferentes valores sinalizados de POC nas unidades NAL 34’ de cada uma das subimagens 24 dentro da mesma unidade de acesso 46, embora ainda permitindo uma derivação correta dos valores de POC 96 finalmente usados para as tarefas mencionadas de saída de imagem e referência de imagem, quando as várias subimagens 24 são decodificadas a partir do mesmo fluxo de dados 10. Os pontos de acesso aleatórios normalmente levam a uma redefinição do valor de POC com o qual um decodificador inicia um processo de decodificação no início de um fluxo de bits. Quando o decodificador encontra um IDR, normalmente atribui um valor de POC de 0 a essa imagem e deriva o valor de POC das imagens seguintes com base no mesmo. As seguintes unidades de acesso ou unidades NAL dentro da unidade de acesso, contêm informações como um bit de cabeçalho (grupo de ladrilhos), que sinaliza a POC da unidade de acesso a que pertencem. Normalmente, a POC é sinalizada com bits LSB no cabeçalho das fatias/grupos de ladrilhos e os bits MSB são derivados pelo decodificador. Este processo, se aplicado no cenário descrito na Figura 7, levaria à derivação errada dos limites da unidade de acesso, imagens de referência e ordem de saída quando as subimagens de uma unidade de acesso contiverem valores de POC LSB diferentes ou comprimento de LSB POC diferente dentro de uma unidade de acesso.
[087] A modalidade descrita em relação à Figura 7 usou uma computação delta de POC por subimagem que mantém o controle da diferença entre diferentes fluxos de bits de subimagem 32. Por exemplo, quando o processo de decodificação do decodificador 22 inicia em uma imagem completa regular IRAP, todas as unidades
NAL 34’ da unidade de acesso 46 transportam o mesmo valor de POC (NAL POC LSB). A POC MSB é definida como 0 nesta instância e o deltaPOC recém-introduzido. Agora, no curso do CVS, uma subimagem RAP pode ocorrer e transportar uma NAL POC LSB diferente, por exemplo, um valor zero, enquanto outros de NAL POC LSBs na unidade de acesso, permanecem inalterados (diferente de 0). Sempre que uma subimagem RAP é reconhecida como descrito acima ou através da sinalização do estado da técnica, como por meio de um tipo de unidade NAL ou uma mensagem SEI, um deltaPOC é derivado para esta subimagem como a diferença entre a subimagem IRAP NALU POC LSB e os outros NALU POC LSBs na unidade de acesso. Uma POC 96 de imagem completa é derivada para todas as NALUs como base para as funcionalidades acima de saída de imagem, referência de imagem e assim por diante. Ao lidar com a subimagem IRAP NALUs, a imagem completa POC 96 incorpora o deltaPOC diferente de zero, enquanto para a não subimagem restante IRAP NALU, incorpora o respectivo 0 deltaPOC no cálculo da imagem completa de POC 96 resulta no mesmo valor de POC de imagem completa 96 para todas as NALU para uma unidade de acesso 46. A Figura 8 ilustra a compensação de POC de acordo com a Figura 7 que usa um exemplo, em que quatro imagens consecutivas 18a a 18d do vídeo 16 são mostradas, subdividida, cada uma, em três subimagens 24 em que a primeira imagem 18a é uma imagem IRAP, isto é, todas as suas subimagens 24 são pontos de acesso aleatório, enquanto a segunda imagem 18b e a quarta imagem 18d têm todas as suas subimagens 24 não convertidas em código por RAP. A terceira imagem 18c tem uma subimagem 24, a saber, a superior na Figura 8, convertida em código de uma forma de ponto de acesso aleatório, enquanto a outra não é convertida em código de tal maneira. Como pode ser visto, a Figura 8 ilustra um exemplo fácil de função 94, a saber, uma adição com uma constante que representa o parâmetro de compensação de POC, a saber, o segundo adendo nas somas inscritas nas subimagens individuais 24. O primeiro adendo representa o valor de POC sinalizado, isto é, a entrada para a função parametrizável, enquanto a soma resultante corresponde ao valor de POC final 96. Como ilustrado na Figura 8, o decodificador obteve o deslocamento de compensação de POC por uma subtração 98 do valor de POC final para uma das subimagens não RAP 24 da imagem 18c com o valor de POC transmitido da subimagem RAP 24.
[088] A introdução do esquema de POC de imagem completa descrito pode ser conectado por porta por meio de um sinalizador de nível SPS / PPS. Alternativamente, em vez de derivação implícita do valor de deltaPOC, isto é, o deslocamento de compensação de POC, um parâmetro definido dentro do fluxo de dados 10 pode indicar o deltaPOC que deve ser subtraído/adicionado por meio da função 94 a cada valor de POC de subimagem 90 de modo que a POC 96 de imagem total resultante é alinhada para cada subimagem 24 de uma imagem atualmente decodificada 18 ou uma unidade de acesso atual 46 no fluxo de dados 10. Para o caso em que a subimagem IRAP NALUs estão em uma unidade de acesso 46, restrições adicionais podem ser necessárias para que a POC de imagem completa seja derivável.
[089] Por exemplo, pode ser feito um requisito de fluxo de dados 10, isto é, um requisito de conformidade de fluxo de bits, que pelo menos uma subimagem não IRAP NALU esteja presente na unidade de acesso 46, isto é, pelo menos uma subimagem 24 de cada imagem 18 é convertida em código de uma maneira não RAP, para permitir a derivação da imagem completa atual de POC 96, de acordo com a qual os deltaPOCs, isto é, os deslocamentos de compensação de POC, de todas as subimagem IRAP NALUs devem ser derivados. Em outras palavras, quando o sub- RAP é sinalizado com um novo tipo de unidade NAL, com um sinalizador e não permitindo diferentes tipos de unidade NAL. Nesse caso, essa sinalização só pode ser usada se uma das unidades NAL não for indicada que a unidade NAL é um sub-RAP.
[090] Uma solução diferente pode ser a seguinte. Quando todas as subimagens em um acesso 46 são reconhecidas como IRAPs de subimagem, a POC MSB é redefinida e deltaPOCs por subimagem 24 são calculados de modo que todas as subimagens resultem nas mesmas POCs de imagem completa. Por exemplo, a primeira subimagem deltaPOC nesse caso é definida para 0 e toda outra subimagem deltaPOCs são definidas consequentemente para resultar na imagem completa de POC 96 e depois na primeira subimagem IRAP NALU na unidade de acesso.
[091] Como também foi descrito acima, é possível que os subfluxos 32 que participam na composição do fluxo de dados 10 sejam de diferentes tamanhos de etapa de POC. Isso pode acontecer, por exemplo, em um cenário de conferência. Um fluxo pode ser convertido em código a 30 PFS e o outro subfluxo 32 a 60 FPS. Nesse caso, como foi descrito acima, é uma opção para mesclar na menor taxa de quadros comum, isto é, 30 FPS. Para este propósito, a camada temporal mais alta do subfluxo 32 de 60 FPS pode ser descartada, reduzindo assim a taxa de quadros para 30 FPS.
No entanto, o tamanho da etapa de POC entre imagens temporariamente adjacentes nos dois fluxos será diferente, pois o codificador de 60 FPS tem que acomodar a maior quantidade de quadros usando um tamanho de etapa de POC comparativamente maior em relação ao codificador de 30 FPS. Em um cenário como descrito acima, em que os fluxos devem ser mesclados em um fluxo de bits comum, deve-se tomar cuidado para garantir a derivação de POC correta. Quando as POCs de fluxos de bits de subimagem têm diferentes tamanhos de etapa, a modalidade da Figura 7 permite impor um escalonamento dos valores de POC 90 de subimagens individuais 24 dentro de uma sequência de vídeo convertida em código 10. Por exemplo, um agente de mesclagem/composição 14 seria informado ou derivaria da diferença no tamanho da etapa de POC a partir dos fluxos de bits de subimagem de entrada 32 e gravaria um respectivo fator de escalonamento de POC em um conjunto de parâmetros para todos os fluxos de bits de subimagem que contribui para a composição do fluxo de dados 10, a fim de alinhar todos as POCs de imagem completa.
[092] Uma notificação prévia foi feita acima, a saber, que a imagem completa em escalona de POC é usada para derivação de imagem de referência e ordem de saída, enquanto o escalonamento do vetor de movimento pode permanecer a ser feita de acordo com diferenças de POC fora de escala. Fazendo isso, o escalonamento correto do vetor de movimento, conforme previsto pelo codificador inicial, é realizado.
[093] Alternativamente para manter o controle de todos os valores de POC 90 de subimagens individuais 24, isto é, a POC não escalonada, no lado do decodificador, um decodificador pode derivar as diferenças de valor de POC usadas no lado do codificador para realizar o escalonamento do candidato do vetor de movimento também a partir dos valores de POC escalonados usando-se o respectivo fator de escalonamento de POC na derivação das diferenças POC para o escalonamento do vetor de movimento.
[094] Além disso, embora os valores de deslocamento de POC entre os parâmetros 92 tenham sido descritos para serem determinados automaticamente pelo decodificador, pode ser alternativamente ou adicionalmente, que os valores de deslocamento de POC sejam inseridos no fluxo de dados 10 pelo agente de composição/mesclagem 14, assim como foi descrito acima em relação aos fatores de escalonamento de POC.
[095] Com relação à Figura 9, o presente pedido prossegue com a descrição de um exemplo para um codec de vídeo que permite uma atualização de descodificação gradual. A Figura 9 ilustra o conceito subjacente a esta modalidade.
[096] Em particular, a Figura 9 ilustra imagens consecutivas 100 de um vídeo 102, a saber, quatro imagens consecutivas ordenadas ao longo de sua ordem de conversão em código/decodificação 58. A Figura 9 ilustra um codificador que codifica o vídeo 102 em um fluxo de dados 106 e um decodificador 108 que decodifica ou reconstrói o vídeo 102 a partir do fluxo de dados 106. O conceito é o seguinte. A fim de permitir a atualização de decodificação gradual, o decodificador de vídeo 108 registra, para cada uma das imagens de referência do vídeo 102, uma subdivisão da respectiva imagem de referência em uma região de imagem atualizada e região de imagem não atualizada. Em particular, as imagens de referência são aquelas imagens que precedem uma imagem atualmente decodificada na ordem de decodificação 58 disponível para uso como uma referência de predição para a imagem atualmente decodificada ou qualquer imagem seguinte. A imagem atualizada e a região da imagem não atualizada mencionada se tornarão claras a partir da seguinte descrição. Particularmente, o decodificador 108 decodifica do fluxo de dados 106 para uma certa imagem 100a uma informação em uma região de renovação de atualização 110 que é mostrada hachurada em corte na Figura 9. No exemplo da Figura 9, abrange o terço do lado esquerdo da imagem 100a. O codificador codifica, por exemplo, cada imagem 100a a 100d em uma respectiva unidade de acesso 112a a 112d e sinaliza na unidade de acesso 112a para a imagem 100a a informação 114 que localiza a região de renovação de atualização 110 dentro da imagem 100a. A indicação da região de renovação de atualização 114 pode iniciar a atualização de decodificação gradual que causa medidas especiais para a conversão em código e decodificação de imagens 100a e algumas imagens seguintes até a atualização de decodificação gradual completa em ambos os lados, o codificador 104 e o decodificador 108 como será explicado em mais detalhes abaixo.
[097] Particularmente, a região 110 localizada pela informação 114 é codificada por intraconversão em código apenas pelo codificador 104, isto é, representa uma região que converte em código de uma maneira de ponto de acesso aleatório e o decodificador 108, consequentemente, decodifica a região de renovação de atualização 110 consequentemente, a saber, com o uso de intra-predição. A conversão em código da outra região, isto é, a região restante 116, da imagem 100a não é mais restrita e pode ser codificada pelo codificador 104 e, consequentemente, decodificada pela decodificação 108 com o uso de intra-predição e/ou inter-predição com base nas imagens anteriores.
[098] Para a próxima imagem 100b na ordem de conversão em código/decodificação 58, a atualização gradual de decodificação ainda não foi concluída. O codificador 104 codifica esta imagem 100b para a unidade de acesso 112b correspondente e sinaliza, novamente, a informação 114 em uma região de renovação de atualização 110 dentro dessa imagem 100b. No exemplo da Figura 9, a região de renovação de atualização da imagem 100b cobre o terço médio horizontal da imagem 100b e, consequentemente, se une espacialmente à região de renovação de atualização 110 da imagem anterior 100a. Enquanto a informação 114 dentro da unidade de acesso 112a iniciou a atualização de decodificação gradual, informações 114 em relação à imagem 112b representam uma continuação desta atualização de decodificação gradual iniciada. A região 110 da imagem 100b é, novamente, codificada pelo codificador 104 apenas por intra-predição e decodificada pelo decodificador 108 consequentemente. Como parte da atualização de decodificação gradual iniciada, no entanto, o decodificador 108, assim como o codificador 104 realizam as seguintes tarefas: primeiramente, o codificador 104 e o decodificador 108 realizam o registro supracitado de regiões de imagens atualizadas de imagens de referência. Como uma atualização de decodificação gradual foi iniciada na imagem 100a, e a imagem 100a forma uma imagem de referência em relação à imagem subsequente 100b, a região de renovação de atualização 110 da imagem 100a representa uma região de imagem atualizada da imagem 100a, enquanto a outra região 116 é uma região da imagem não atualizada. As regiões de imagem atualizadas são indicadas na Figura 9 por serem circundadas por uma linha contínua 118. Em segundo lugar, o decodificador 108 e o codificador 104 determinam dentro da imagem atualmente codificada/decodificada, a saber, na imagem de descrição atual 100b, uma primeira região 120 que é separada da região de renovação de atualização 110 da mesma imagem 100b e deve ser convertida em código e decodificada independente da região da imagem não atualizada das imagens de referência, aqui a imagem 100a. O codificador 104 pode codificar sinalização explícita sobre onde está a região 120, ou, mais preferencialmente, o codificador 104 e o decodificador 108 determinam a região 120 como aquela região da imagem 100b que é colocada na região da imagem atualizada 118 da imagem 100a, isto é, a imagem imediatamente anterior na ordem de conversão em código/decodificação 58. A fim de diferenciar a região 120 das regiões de renovação de atualização 110, as regiões de renovação de atualização 110 são ilustradas na Figura 9 com o uso de hachura em corte, enquanto a hachura simples é usada para a região 120.
[099] Tanto o codificador quanto o decodificador tomam medidas especiais a fim de codificar/decodificar a região 120 na/a partir da unidade de acesso correspondente 112b. Particularmente, o codificador 104 não restringe, por exemplo, o domínio sinalizável de parâmetros de conversão em código com base nos quais a predição da região 120 deve ser derivada pelo codificador e decodificador. Em outras palavras, o codificador 104 codifica as imagens nas unidades de acesso correspondentes com o uso de parâmetros de conversão em código que determinam uma predição dessas imagens a partir de imagens anteriores, como o uso de predição compensada por movimento e com o uso de informações residuais de predição que descrevem o residual de predição com o qual esta predição deve ser corrigida. Os parâmetros de codificação e as informações residuais de predição são convertidos em código nas unidades de acesso de modo a descrever as imagens correspondentes. Dentro das regiões de renovação de atualização 110, no entanto, o codificador 104 usa exclusivamente intra-predição, isto é, nenhuma predição de qualquer outra imagem é usada. Com relação à região 120, o codificador 104 usa inter-predição e não restringe, por exemplo, o domínio sinalizável dos parâmetros de conversão em código, mas uma maneira diferente de derivar a predição da região 120 com base nos parâmetros de conversão em código sinalizados é usada pelo codificador 104 e decodificador 108 em comparação com outras regiões, como a região 116. Particularmente, a localização da região de atualização da imagem 110 da respectiva imagem de referência, aqui a imagem 100a, é levada em consideração. Por exemplo, o codificador 104 está livre para codificar nos vetores de movimento do fluxo de dados 106 para a região 120 que, se a derivação de predição não fosse variada, levaria a uma dependência da região 120 na região 116, isto é, vetores de movimento que realmente apontam a porções da imagem de referência 100a alcançando a região
116. Da mesma forma, o codificador 104 pode usar predição de vetor de movimento para converter em código os vetores de movimento para a região 120, mas ao construir listas de predição de vetor de movimento correspondentes de candidatos de preditor de vetor de movimento formados pelos vetores de movimento, usados para converter em código a imagem 100a, o codificador 104 preenche exclusivamente essas listas de candidatos de preditor de vetor de movimento, com o uso de vetores de movimento usados para blocos dentro da região de imagem atualizada 110 exclusivamente.
A possibilidade de que o codificador 104 possa usar estados sinalizáveis que são, de fato, redirecionados para resultados de derivação de predição para a região 120 que na verdade também seriam sinalizáveis por outros estados dos parâmetros de conversão em código para a região 120, fornece ao codificador 104 uma possibilidade aumentada de aumentar a eficiência de compressão como, por exemplo, às vezes aqueles estados de parâmetro de conversão em código que mais tarde são redirecionados pelo codificador 104 e decodificador 108 para outros estados, levando a uma predição dependendo apenas da região de imagem renovada 110, pode ser aquele que é codificável usando menos bits do que o estado do parâmetro de conversão em código que descreveria esta predição imediatamente, sem qualquer redirecionamento pelo codificador 104 e decodificador 108. Ou seja, o codificador 104 e o decodificador 108 poderiam, por exemplo, clipes de vetores de movimento realmente sinalizados no fluxo de dados 106 para a região 120 de modo a não alcançar além das bordas da região de imagem de atualização 110 da imagem de referência 100a.
Alternativamente ou adicionalmente, o codificador e o decodificador 108 podem usar preenchimento para porções da imagem de referência 108 apontadas por vetores de movimento sinalizados no fluxo de dados 106 para a região 120, que excedem as bordas da região de imagem atualizada 110. Mesmo alternativamente ou adicionalmente, a construção da lista de candidatos de vetor de movimento feita pelo codificador 104 e decodificador 108 poderia ser feita de forma a excluir vetores de movimento de povoar tais listas que se encontram fora da região de imagem atualizada 110 dentro da imagem de referência 100a.
O codificador 104 pode, por exemplo, sinalizar para o decodificador 108 o preditor de vetor de movimento escolhido, sinalizando dentro do fluxo de dados 106 e indexar em tal lista de candidatos de vetor de movimento construída consequentemente.
A região restante da imagem 100b, no caso da Figura 9, o terço direito da imagem 100b, representa uma região 116 desunida da primeira região 120 e a região de renovação de atualização 110 desta imagem 100b e uma região convertida em código pelo codificador 104 incluindo inter-predição sem qualquer restrição à região de atualização de imagem 110 da imagem 100a. Ou seja, a região 116 da imagem 100b é uma região inter-predita sem quaisquer restrições.
[0100] A imagem subsequentemente codificada/decodificada 100c representa, no exemplo da Figura 9, a conclusão da atualização de decodificação gradual iniciada na imagem 100a. O codificador 104 codifica para esta imagem 100c na unidade de acesso 112c correspondente as informações 114 que indicam a localização da região de renovação de atualização 110 da imagem 100c que, no caso da Figura 9, cobre o terço direito da imagem 100c. Ou seja, a Figura 9 mostra que as regiões de renovação de atualização 110 das imagens consecutivas 100a a 100c que inicia na imagem 100a que representa o início da atualização de decodificação gradual, assumem porções mutuamente desunidas da área da imagem das imagens de vídeo 102. Esta imagem 110 é, novamente, intra-codificada pelo codificador 104 e decodificada pelo decodificador 108 consequentemente.
[0101] Para a imagem 100c, a imagem 100b também representa uma imagem de referência. Sua região de imagem atualizada 118 é determinada pelo codificador e decodificador como a união da primeira região 120 e a região de renovação de atualização 110 da imagem 100b. Isto, por sua vez, significa que durante a atualização de decodificação gradual, a região de imagem atualizada 118 cresce continuamente. Novamente o codificador 104 e o decodificador 108 determinam a primeira região 120 da imagem 100c, tal como, por exemplo, de modo a ser a região espacialmente sobreposta à região de imagem atualizada 110 da imagem imediatamente anterior, a saber, a imagem 100b. Esta região 120 é codificada/decodificada como descrito anteriormente em relação à região 120 da imagem 100b, a diferença sendo que a região 120 tem dois candidatos a imagem de referência, a saber, imagem 100a com região de imagem atualizada 118 e imagem 100b com sua região de imagem atualizada 118. A inter-predição é usada para a região 120, isto é, um modo de conversão em código permitido além do modo de inter-predição, mas os parâmetros de conversão em código para a região 120 da imagem 100c são redirecionados para estados de modo que as predições resultantes não incorram em quaisquer dependências da conversão em código/decodificação da região 120 das regiões não atualizadas 116 das imagens 100a e 100b.
[0102] A partir da imagem 100c em diante, a atualização de decodificação gradual iniciada pelo codificador 104 na imagem 100a é concluída e a região de imagem atualizada 118 cobre, a partir dessa imagem 100c em diante, a imagem completa é das imagens de vídeo 102. Intermitentemente ou periodicamente, o codificador 104 pode iniciar outra atualização de decodificação gradual e a região de atualização de imagem entraria em colapso para corresponder à região de renovação de atualização 110 da primeira imagem de início daquela atualização de decodificação gradual seguinte.
[0103] A atualização de decodificação gradual conforme descrito em relação à Figura 9 pode ser descrita como preenchimento de atualização intra-imagem de subimagem. Pode ser implementado com o uso de ladrilhos ou grupos de ladrilhos ou pode ser implementado sem o uso de ladrilhos. Na modalidade da Figura 9, algumas partes das imagens, que poderiam ser chamadas de subimagens, são atualizadas, a saber, as regiões 110, pela aplicação de intra-codificação, enquanto as imagens seguintes são codificadas e inter-decodificadas de forma restrita. De acordo com o exemplo da Figura 9, as imagens foram subdivididas em colunas, aqui de forma exemplificativa em N = 3 colunas, mas deve ficar claro que o número de colunas N poderia ser escolhido de forma diferente e que mesmo uma forma diferente de crescimento da região de imagem renovada 118 durante tal atualização de descodificação gradual poderia ser escolhida, como um crescimento em unidades de blocos em vez de colunas de imagens. Conforme explicado em relação à Figura 9, na primeira subimagem RAP, isto é, a imagem na unidade de acesso 0, imagem 100a no caso da Figura 9, a primeira coluna, seja colldx = 0 é codificada apenas dentro intrablocos.
[0104] Na próxima unidade de acesso, AU = 1, que é a segunda ordem de conversão em código/decodificação de imagem 58, 100b na Figura 9, a segunda coluna, isto é, colldx = 1, é codificada apenas com intrablocos e a primeira coluna é codificada com blocos inter-codificados que podem apenas fazer referência a amostras que foram decodificadas na imagem anterior na coluna colldx = 0. Em vez de restringir os vetores de movimento que o codificador é capaz de codificar no fluxo de dados, no entanto, a modalidade da Figura 9 é livre para também codificar vetores de movimento que realmente levariam a uma dependência de outras regiões quando a coluna colldx = 0. Particularmente, de acordo com as modalidades da Figura 9, a região intra-atualização é indicada, isto é, a primeira coluna neste exemplo e preenchimento, como extrapolação ortogonal da linha de pixel mais externa, é usado para blocos referenciados de blocos inter-codificados que excedem a coluna colldx = 0 da imagem da unidade de acesso 1 se os vetores de movimento apontarem. O vetor de movimento de recorte com base na indicação da região pode, alternativamente ou adicionalmente, ser aplicado para garantir que os vetores de movimento de regiões atualizadas não dependam de regiões não atualizadas. À medida que as imagens são decodificadas consecutivamente, a região atualizada 118 aumenta e, portanto, uma região atualizada por imagem 110 é indicada.
[0105] Deve-se notar que uma alternativa à Figura 9 seria que o codificador 104 sinaliza a localização consecutiva das regiões de atualização de renovação 110 das imagens consecutivas 100a a 100c, isto é, da sequência de imagens que formam a atualização de conversão em código gradual, que indicam um padrão dessas regiões
110. Este padrão descreveria a atualização. Uma região por sequência também pode ser indicada. Assim, este tipo de informação pode ser sinalizado uma vez para a imagem 100a, isto é, a imagem inicial da sequência GDR 100a-100c, que sinaliza assim o início GDR e as regiões 110 para as imagens 100a-c. A indicação anterior poderia ser algo que poderia ser indicado no PPS. Alternativamente, uma indicação de início GDR pode ser sinalizada para a imagem 100a, tal como no seu PPS, enquanto o padrão de posições das regiões 110 nas sequências de imagem GGR que inicia em tal imagem inicial GDR, pode ser algo que é sinalizado em um nível mais alto, como no SPS.
[0106] Com relação às modalidades acima, o seguinte é adicionalmente observado. As modalidades acima apresentam conceitos de codec de vídeo vantajosos. Muitos deles permitem uma composição de vídeo vantajosa, conforme delineado acima. No entanto, deve-se notar que um codificador pode formar qualquer um dos fluxos de dados inventivos 10 descritos acima diretamente, isto é, sem uma composição de subfluxos pré-codificados. Um codificador pode, em tal tarefa, explorar as características vantajosas do fluxo de dados 10 presente acima, como a possibilidade de escolher instâncias de tempo RAP e descrições de armazenamento temporário de imagem de referência em subimagem em vez de imagem globalmente.
[0107] Assim, as modalidades acima também se referem a um decodificador de vídeo - e correspondem ao codificador de vídeo e ao fluxo de dados - para decodificar um vídeo 16 de imagens 18 a partir de um fluxo de dados 10 que tem o vídeo codificado no mesmo, de uma maneira de acordo com as subimagens 24 nas quais as imagens são subdivididas espacialmente são codificadas independentemente umas das outras.
O decodificador de vídeo é configurado para decodificar a partir do fluxo de dados, para cada subimagem de cada imagem de um conjunto 42 de uma ou mais imagens de vídeo, uma informação relacionada à subimagem 40, como um elemento de sintaxe nal_unit_type que, ao assumir um primeiro estado, identifica a respectiva subimagem como sendo convertida em código de uma maneira de ponto de acesso aleatório, como ao assumir o estado IDR_N_LP e, ao assumir um segundo estado, como ao assumir o estado TRAIL_NUT, identifica a respectiva subimagem como não sendo convertida em código em a maneira de ponto de acesso aleatório.
O decodificador decodifica a partir do fluxo de dados, para o conjunto 42 de uma ou mais imagens, como aquela para a qual um elemento de sintaxe mixed_nalu_types_in_pic_flag está contido em seu PPS, um ponto de acesso aleatório que sinaliza indicação de granularidade 44 que poderia ser denominado mixed_nalu_types_in_pic_flag que, ao assumir uma primeira granularidade ou primeiro estado, como 0, indica que, para cada imagem do conjunto de uma ou mais imagens, a informação relacionada à subimagem assume um estado comum, como IDR_N_LP para todas as subimagens da respectiva imagem e ao assumir uma segunda granularidade ou segundo estado, como 1, indica que, para cada imagem do conjunto de uma ou mais imagens, a informação relacionada à subimagem pode assumir diferentes estados para as subimagens da respectiva imagem, como IDR_N_LP para pelo menos uma subimagem e TRAIL_NUT para pelo menos uma outra subimagem dentro da mesma imagem.
Em outras palavras, mixed_nalu_types_in_pic_flag que assume um primeiro estado como sendo igual a 0, pode indicar que o valor de nal_unit_type deve ser o mesmo para todas as unidades NAL de fatia convertida em código de uma imagem e, portanto, para todas as subimagens dentro de uma imagem.
Caso contrário, entretanto, se mixed_nalu_types_in_pic_flag assume o outro estado, por exemplo, é igual a 1, isso pode indicar que as unidades VCL NAL de uma ou mais subimagens da imagem têm um valor particular de nal_unit_type tal como um de um conjunto de tipo de unidade NAL que consiste em um ou mais de STSA_NUT, RADL_NUT, RASL_NUT, IDR_W_RADL, IDR_N_LP e CRA_NUT, enquanto as outras unidades VCL NAL na imagem têm um valor particular diferente de nal_unit_type, a saber, um de um conjunto adicional que consiste em um ou mais de TRAIL_NUT, RADL_NUT e
RASL_NUT. Em outras palavras, mixed_nalu_types_in_pic_flag que assume o segundo estado como 1 pode especificar que cada imagem referente ao PPS que inclui mixed_nalu_types_in_pic_flag tem mais de uma unidade VCL NAL, as unidades VCL NAL não têm o mesmo valor de nal_unit_type, e a imagem não é uma imagem IRAP, enquanto mixed_nalu_types_in_pic_flag que assume o outro estado como 0 pode indicar que cada imagem cada imagem referindo-se àquele PPS tem uma ou mais unidades VCL NAL e as unidades VCL NAL de cada imagem referindo-se ao PPS têm o mesmo valor de nal_unit_type. Por este meio, mixed_nalu_types_in_pic_flag pode ser definido para o primeiro estado, como 1, a fim de indicar para imagens referentes ao PPS, como aquelas originadas de uma operação de mesclagem de fluxo de bits de subimagem que contêm fatias com diferentes tipos de unidade NAL.
[0108] Embora alguns aspectos tenham sido descritos no contexto de um aparelho, é evidente que esses aspectos também representam uma descrição do método correspondente, em que um bloco ou um dispositivo corresponde a uma etapa do método ou um recurso de uma etapa do método. De modo análogo, os aspectos descritos no contexto de uma etapa do método também representam uma descrição de um bloco ou item ou recurso correspondente de um aparelho correspondente. Algumas ou todas as etapas do método podem ser executadas por (ou com o uso de) um aparelho de hardware, como, por exemplo, um microprocessador, um computador programável ou um circuito eletrônico. Em algumas modalidades, uma ou mais das etapas mais importantes do método podem ser executadas por tal aparelho.
[0109] Dependendo de determinados requisitos de implementação, as modalidades da invenção podem ser implementadas em hardware ou em software. A implantação pode ser realizada com o uso de uma mídia de armazenamento digital, por exemplo, um disquete, um DVD, um Blu-Ray, um CD, uma ROM, uma PROM, uma EPROM, uma EEPROM ou uma memória FLASH, que têm sinais de controle eletronicamente legíveis armazenados nos mesmos, que cooperam (ou têm capacidade para cooperar) com um sistema de computador programável de modo que o respectivo método seja realizado. Portanto, a mídia de armazenamento digital pode ser legível por computador.
[0110] Algumas modalidades de acordo com a invenção compreendem uma portadora de dados que tem sinais de controle eletronicamente legíveis, que têm capacidade para cooperar com um sistema de computador programável, de modo que um dentre os métodos descritos no presente documento seja realizado.
[0111] O sinal de vídeo codificado inventivo ou fluxo de dados, respectivamente, pode ser armazenado em uma mídia de armazenamento digital ou pode ser transmitido em uma mídia de transmissão, como uma mídia de transmissão sem fio ou uma mídia de transmissão com fio, como a Internet.
[0112] Em geral, as modalidades da presente invenção podem ser implementadas como um produto de programa de computador com um código de programa, em que o código de programa é operacional para realizar um dentre os métodos quando o produto de programa de computador é executado em um computador. O código de programa pode, por exemplo, ser armazenado em uma portadora legível por máquina.
[0113] Outras modalidades compreendem o programa de computador para realizar um dentre os métodos descritos no presente documento, armazenado em uma portadora legível por máquina.
[0114] Em outras palavras, uma modalidade do método inventivo é, portanto, um programa de computador que tem um código de programa para realizar um dentre os métodos descritos no presente documento, quando o programa de computador é executado em um computador.
[0115] Uma modalidade adicional dos métodos inventivos é, portanto, uma portadora de dados (ou uma mídia de armazenamento digital ou uma mídia legível por computador) que compreende, registrada na mesma, o programa de computador para realizar um dentre os métodos descritos no presente documento. A portadora de dados, a mídia de armazenamento digital ou a mídia gravada são tipicamente tangíveis e/ou não transitórias.
[0116] Uma modalidade adicional do método inventivo é, portanto, um fluxo de dados ou uma sequência de sinais que representa o programa de computador para realizar um dentre os métodos descritos no presente documento. O fluxo de dados ou a sequência de sinais podem ser configurados, por exemplo, para serem transferidos por meio de uma conexão de comunicação de dados, por exemplo, por meio da internet.
[0117] Uma modalidade adicional compreende meios de processamento, por exemplo, um computador ou um dispositivo lógico programável, configurados ou adaptados para realizar um dentre os métodos descritos no presente documento.
[0118] Uma modalidade adicional compreende um computador que tem, instalado no mesmo, o programa de computador para realizar um dentre os métodos descritos no presente documento.
[0119] Uma modalidade adicional de acordo com a invenção compreende um aparelho ou um sistema configurado para transferir (por exemplo, de modo eletrônico ou óptico) um programa de computador para realizar um dentre os métodos descritos no presente documento para um receptor. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou semelhantes. O aparelho ou sistema pode compreender, por exemplo, um servidor de arquivo para transferir o programa de computador para o receptor.
[0120] Em algumas modalidades, um dispositivo lógico programável (por exemplo, um arranjo de portas programáveis em campo) pode ser usado para realizar algumas ou todas as funcionalidades dos métodos descritos no presente documento. Em algumas modalidades, um arranjo de portas programáveis em campo pode cooperar com um microprocessador a fim de realizar um dentre os métodos descritos no presente documento. De modo geral, os métodos são realizados, de preferência, por meio de qualquer aparelho de hardware.
[0121] O aparelho descrito no presente documento pode ser implementado com o uso de um aparelho de hardware, ou com o uso de um computador ou com o uso de uma combinação de um aparelho de hardware e um computador.
[0122] O aparelho descrito no presente documento ou quaisquer componentes do aparelho descrito no presente documento podem ser implementados pelo menos parcialmente em hardware e/ou em software.
[0123] Os métodos descritos no presente documento podem ser realizados com o uso de um aparelho de hardware, ou com o uso de um computador ou com o uso de uma combinação de um aparelho de hardware e um computador.
[0124] Os métodos descritos no presente documento ou quaisquer componentes do aparelho descrito no presente documento podem ser realizados pelo menos parcialmente por hardware e/ou por software.
[0125] As modalidades descritas acima são apenas ilustrativas para os princípios da presente invenção. Entende-se que as modificações e variações das disposições e os detalhes descritos no presente documento serão evidentes para aqueles versados na técnica. Portanto, pretende-se que sejam limitadas somente pelo escopo das reivindicações da patente iminentes e não pelos detalhes específicos apresentados a título de descrição e explicação das modalidades no presente documento.

Claims (79)

REIVINDICAÇÕES
1. Decodificador de vídeo para decodificar um vídeo (16) de imagens (18) a partir de um fluxo de dados (10), sendo que o fluxo de dados tem o vídeo codificado no mesmo, de uma maneira de acordo com a qual as subimagens (24), nas quais as imagens são espacialmente subdivididas, são codificadas de modo independente entre si, sendo que o decodificador de vídeo é caracterizado por ser configurado para decodificar a partir do fluxo de dados, para cada subimagem de cada imagem de um conjunto (42) de uma ou mais imagens do vídeo, uma informação relacionada à subimagem (40) que, ao assumir um primeiro estado, identifica a respectiva subimagem como sendo convertida em código de uma maneira de ponto de acesso aleatório e, ao assumir um segundo estado, identifica a respectiva subimagem como não sendo convertida em código na maneira de ponto de acesso aleatório, decodificar a partir do fluxo de dados, para o conjunto (42) de uma ou mais imagens, uma indicação de granularidade de sinalização de ponto de acesso aleatório (44) que, ao assumir uma primeira granularidade, indica que, para cada imagem do conjunto de uma ou mais imagens, a informação relacionada à subimagem que assume um estado comum para todas as subimagens da respectiva imagem, e ao assumir uma segunda granularidade, indica que, para cada imagem do conjunto de uma ou mais imagens, a informação relacionada à subimagem pode assumir diferentes estados para as subimagens da respectiva imagem.
2. Decodificador de vídeo, de acordo com a reivindicação 1, caracterizado por ser configurado para identificar o fluxo de dados como um fluxo de dados não conforme, no caso de indicação de granularidade de sinalização de ponto de acesso aleatório que assume a primeira granularidade e a informação relacionada à subimagem que assume, para uma imagem predeterminada do conjunto de uma ou mais imagens, diferentes estados para diferentes subimagens da imagem predeterminada.
3. Decodificador de vídeo, de acordo com a reivindicação 1 ou 2, caracterizado por a indicação de granularidade de sinalização de ponto de acesso aleatório estar contida em um SPS ou VPS do fluxo de dados e o conjunto de uma ou mais imagens compreender uma sequência de imagens do vídeo ou cobrir o vídeo, ou Ser transmitido no fluxo de dados por unidade de acesso (46), e o conjunto de uma ou mais imagens compreender uma imagem.
4. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado por as informações relacionadas à subimagem compreenderem um elemento de sintaxe de valor inteiro que discrimina entre uma pluralidade de tipos de unidade NAL, um primeiro subconjunto de um ou mais tipos de unidade NAL dos quais corresponde ao primeiro estado e um segundo subconjunto de um ou mais tipos de unidade NAL dos quais corresponde ao segundo estado.
5. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado por a indicação de granularidade de sinalização de ponto de acesso aleatório ser transportado no fluxo de dados em uma forma que distingue pelo menos três granularidades que compreende uma granularidade que, quando assumida pela indicação de granularidade de sinalização de ponto de acesso aleatório, indica que, para cada imagem do conjunto de uma ou mais imagens, as informações relacionadas à subimagem assumem o primeiro estado para todas as subimagens da respectiva imagem e uma granularidade adicional que, quando assumida pela indicação de granularidade de sinalização de ponto de acesso aleatório, indica que, para cada imagem do conjunto de uma ou mais imagens, as informações relacionadas à subimagem assumem o segundo estado para todas as subimagens da respectiva imagem e uma granularidade ainda mais adicional que, quando assumida pela indicação de granularidade de sinalização de ponto de acesso aleatório, indica que, para cada imagem do conjunto de uma ou mais imagens, as informações relacionadas à subimagem podem assumir diferentes estados para as subimagens da respectiva imagem.
6. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado por compreender um DPB (48) e configurado para, no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a segunda granularidade, liberar o DPB responsivo às informações relacionadas à subimagem que assume, por imagem predeterminada do conjunto de uma ou mais imagens, o primeiro estado para todas as subimagens da imagem predeterminada.
7. Decodificador de vídeo, de acordo com a reivindicação 6, caracterizado por ser configurado para no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a segunda granularidade, realizar a liberação após analisar ou decodificar todas as subimagens da imagem atualmente decodificada.
8. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado por compreender um DPB e configurado para, no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a primeira granularidade, liberar o DPB responsivo às informações relacionadas à subimagem que assume, para uma imagem predeterminada do conjunto de uma ou mais imagens, o primeiro estado para uma primeira subimagem da imagem predeterminada, em que o primeiro em uma ordem de decodificação de subimagem é definida entre as subimagens da imagem predeterminada.
9. Decodificador de vídeo, de acordo com a reivindicação 8, caracterizado por ser configurado para no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a primeira granularidade, realizar a liberação após analisar ou decodificar a primeira subimagem da imagem atualmente decodificada.
10. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 1 a 9, caracterizado por compreender um DPB (48) e configurado para marcar (60; 68) imagens no DPB (48) que devem permanecer no DPB (48) para servir como uma referência de predição, remover (62; 70) imagens do DPB que não estejam marcadas e que não sejam necessárias para exibição futura, no caso da indicação de granularidade de sinalização de ponto de acesso aleatório (44), assumir a segunda granularidade, decodificar (64) a partir do fluxo de dados, para uma imagem atualmente decodificada, uma descrição do armazenamento temporário de imagem de referência para cada subimagem da imagem atualmente decodificada, e identificar (66) as imagens no DPB a serem marcadas, para a imagem atualmente decodificada, formando uma união de um conjunto de imagens de referência indicadas pelas descrições do armazenamento temporário de imagem de referência para as subimagens da imagem atualmente decodificada.
11. Decodificador de vídeo, de acordo com a reivindicação 10, caracterizado por ser configurado para realizar a marcação das imagens no DPB que devem permanecer no DPB para servir de referência de predição e a remoção das imagens a partir do DPB que não estão marcadas e que não são necessárias para exibição futura, em imagens de forma cíclica, e no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a segunda granularidade, realizar a remoção após analisar ou decodificar todas as subimagens da imagem atualmente decodificada.
12. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 1 a 11, caracterizado por compreender um DPB (48) e configurado para marcar (60; 68) imagens no DPB que devem permanecer no DPB para servir como uma referência de predição, remover (62; 70) imagens do DPB que não estejam marcadas e que não sejam necessárias para exibição futura, no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a primeira granularidade, decodificar (72) a partir do fluxo de dados, para uma imagem atualmente decodificada, uma descrição do armazenamento temporário de imagem de referência para uma primeira [por exemplo primeiro na ordem de decodificação/fluxo] subimagem da subimagem da imagem atualmente decodificada, e identificar (74) as imagens no DPB a serem marcadas para a imagem atualmente decodificada, dependendo da descrição do armazenamento temporário de imagem de referência para a primeira subimagem da imagem atualmente decodificada.
13. Decodificador de vídeo, de acordo com a reivindicação 12, caracterizado por ser configurado para realizar a marcação das imagens no DPB que devem permanecer no DPB para servir de referência de predição e a remoção das imagens a partir do DPB que não estão marcadas e que não são necessárias para exibição futura, em imagens de forma cíclica, no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a primeira granularidade, realizar a remoção após analisar ou decodificar a primeira subimagem da imagem atualmente decodificada.
14. Decodificador de vídeo, de acordo com a reivindicação 12 ou 13, caracterizado por ser configurado para identificar o fluxo de dados como um fluxo de dados não conforme, no caso de um conjunto de imagens de referência indicado pela descrição do armazenamento temporário de imagem de referência para qualquer subimagem da imagem atualmente decodificada diferente da primeira subimagem, que compreende uma imagem de referência no DPB não composta por um conjunto de imagens de referência indicadas pela descrição do armazenamento temporário de imagem de referência para a primeira subimagem da imagem atualmente decodificada.
15. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 1 a 14, caracterizado por as imagens serem subdivididas espacialmente nas subimagens (24) de forma constante ao longo de uma sequência de imagens, de modo que os subvídeos (28) sejam convertidos em código na sequência de imagens e em cada imagem da sequência de imagens uma subimagem pertence a um dos subvídeos e em que cada subimagem é codificada independentemente das subimagens das imagens que pertencem a um subvídeo diferente, sendo que o decodificador de vídeo compreende um DPB (48) e é configurado para no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a segunda granularidade, realizar o esvaziamento do DPB em unidades de subimagens, e no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a primeira granularidade, realizar o esvaziamento do DPB em unidades de imagens.
16. Decodificador de vídeo, de acordo com a reivindicação 15, caracterizado por ser configurado para no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a segunda granularidade, decodificar a partir do fluxo de dados, para uma imagem atualmente decodificada, uma descrição do armazenamento temporário de imagem de referência (40’) para cada subimagem (24) da imagem atualmente decodificada, e para cada subvídeo, usar a descrição do armazenamento temporário de imagem de referência (40’) para uma subimagem da imagem atualmente decodificada que pertence ao respectivo subvídeo para identificar entre as subimagens no DPB que pertencem aos respectivos subvídeos, devem permanecer no DPB.
17. Decodificador de vídeo, de acordo com a reivindicação 15, caracterizado por ser configurado para no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a segunda granularidade, dividir o DPB (48) em DPBs de subimagem (481-6) que compreendem, pelo menos, um DPB de subimagem para cada subimagem (24) em que as imagens são subdivididas espacialmente, decodificar a partir do fluxo de dados, para uma imagem atualmente decodificada, uma descrição do armazenamento temporário de imagem de referência (40’) e um identificador de subimagem (80) para cada subimagem da imagem atualmente decodificada, e armazenamento temporário as subimagens das imagens no DPB (48) usando cada subimagem DPB para armazenamento temporário de subimagens de um identificador de subimagem predeterminado (A1-6) associado com o respectivo DPB de subimagem, para cada DPB de subimagem, inspecionar se a imagem atualmente decodificada contém uma subimagem correspondente (24), cujo identificador de subimagem (80) é igual ao identificador de subimagem predeterminado (A 1 a 6) associado com a respectiva subimagem DPB e, em caso afirmativo, usar a descrição do armazenamento temporário de imagem de referência (40’) para a subimagem correspondente, para identificar as subimagens na respectiva subimagem DPB que devem permanecer no DPB.
18. Decodificador de vídeo, de acordo com a reivindicação 17, caracterizado por ser configurado para no caso da indicação de granularidade de sinalização de ponto de acesso aleatório, assumir a segunda granularidade,
se a imagem atualmente decodificada não contém uma subimagem correspondente (24), cujo identificador de subimagem (80) é igual ao identificador de subimagem predeterminado (A1 a 6) associado ao respectivo DPB de subimagem, liberar a respectiva subimagem DPB e retribuir o respectivo DPB de subimagem a outro identificador de subimagem predeterminado de uma subimagem não correspondente da imagem atualmente decodificada, diferente do identificador de subimagem predeterminado de todos os DPBs de subimagem.
19. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 1 a 18, caracterizado por as imagens serem subdivididas espacialmente nas subimagens (24) em uma constante sobre uma sequência de imagens de modo que os subvídeos (28) sejam convertidos em código em sequência de imagens e em cada imagem da sequência de imagens, em que uma subimagem pertence a um dos subvídeos e em que cada subimagem é codificada independentemente das subimagens das imagens que pertencem a um subvídeo diferente, sendo que o decodificado de vídeo é configurado para decodificar a partir do fluxo de dados, para cada subimagem de cada imagem do conjunto (42) de uma ou mais imagens, um primeiro valor POC (90), se a indicação de granularidade de sinalização de ponto de acesso aleatório assumir a segunda granularidade, gerenciar, para cada subvídeo, um ou mais parâmetros de compensação POC entre subimagens (92) que parametrizam uma função parametrizável (94) que, quando aplicada ao primeiro valor POC decodificado para uma subimagem de uma imagem atualmente decodificada pertencente ao respectivo subvídeo, produzir um valor POC final (96) de modo que os valores POC finais das subimagens da imagem atualmente decodificada sejam iguais entre si.
20. Decodificador de vídeo, de acordo com a reivindicação 19, caracterizado por, para cada subvídeo, o um ou mais parâmetros de compensação POC entre subimagens (92) compreenderem um deslocamento de compensação POC que, pela função parametrizável (94), compensar o primeiro valor POC decodificado para subimagens do respectivo subvídeo e o decodificador de vídeo ser configurado para redefinir o deslocamento de compensação POC para um subvídeo predeterminado de uma imagem predeterminada ao encontrar uma primeira subimagem pertencente ao subvídeo predeterminado para o qual a informação relacionada à subimagem (40) assume o primeiro estado, que usa uma diferença (98) entre um primeiro valor POC (90) decodificado para a primeira subimagem e um valor POC final (96) de uma subimagem adicional para a qual a informação relacionada à subimagem (40) assume o segundo estado e que é composta por uma imagem, que compreende a primeira subimagem.
21. Decodificador de vídeo, de acordo com a reivindicação 19 ou 20, caracterizado por, para cada subvídeo, o um ou mais parâmetros de compensação POC entre subimagens (92) compreenderem um deslocamento de compensação POC que, pela função parametrizável (94), compensar o primeiro valor POC decodificado para subimagens do respectivo subvídeo e o decodificador de vídeo ser configurado para se a informação relacionada à subimagem (40) assumir o primeiro estado para todas as subimagens de uma imagem predeterminada, definir o deslocamento de compensação POC para todos os subvídeos aos quais as subimagens da imagem predeterminada pertencem igualmente a um valor POC padrão.
22. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 19 a 21, caracterizado por, para cada subvídeo, um ou mais parâmetros de compensação POC entre subimagens (92) compreenderem um fator de escala de tamanho de etapa POC que, pela função parametrizável (94), escala o valor POC final.
23. Decodificador de vídeo, de acordo com a reivindicação 22, caracterizado por ser configurado para derivar, para cada subvídeo, o fator de escala de tamanho da etapa POC do fluxo de dados.
24. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 19 a 23, caracterizado por ser configurado para usar o valor POC final para saída de imagem e/ou referência de imagens de referência em armazenamento temporário.
25. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 19 a 24, caracterizado por ser configurado para usar, para cada subvídeo, os valores POC decodificados para as subimagens que pertencem ao respectivo subvídeo para escalar candidatos de predição de vetor de movimento usados na decodificação das subimagens que pertencem ao respectivo subvídeo.
26. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 19 a 25, caracterizado por, para cada subvídeo, um ou mais parâmetros de compensação POC entre subimagens (92) compreenderem um fator de escala de tamanho da etapa POC que, pela função parametrizável (94), dimensiona o valor POC final e o decodificador de vídeo é configurado para realizar, para cada subvídeo, escalonamento de candidato de predição de vetor de movimento usado na decodificação das subimagens que pertencem ao respectivo subvídeo, escalando-se inversamente os valores de POC finais de modo a obter valores de POC em escala inversa e usar os valores POC em escala inversa para escalar os candidatos de predição de vetor de movimento usados na decodificação das subimagens que pertencem ao respectivo subvídeo.
27. Decodificador de vídeo para decodificar um vídeo (16) de imagens (18) a partir de um fluxo de dados (10), sendo que o fluxo de dados que tem o vídeo (16) codificado no mesmo de uma maneira de acordo com as subimagens (24) nas quais as imagens são espacialmente subdivididas são codificados de modo independente entre si, sendo que o decodificador de vídeo é caracterizado por compreender um DPB (48) e que é configurado para decodificar a partir do fluxo de dados, para cada subimagem de cada imagem do vídeo, uma informação relacionada à subimagem (40) que, ao assumir um primeiro estado, identifica a respectiva subimagem como sendo convertida em código de uma maneira de ponto de acesso aleatório e, ao assumir um segundo estado, identifica a respectiva subimagem como não sendo convertida em código de uma maneira de ponto de acesso aleatório, liberar o DPB (48) em resposta à informação relacionada com a subimagem (40) que assume, para uma imagem predeterminada do vídeo, o primeiro estado para todas as subimagens da imagem predeterminada.
28. Decodificador de vídeo, de acordo com a reivindicação 27, caracterizado por ser configurado para realizar a liberação após analisar ou decodificar todas as subimagens da imagem predeterminada.
29. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 27 a 28, caracterizado por ser configurado para, em resposta a uma sinalização (44) no fluxo de dados, liberar o DPB em resposta à informação relacionada à subimagem que assume, para uma imagem predeterminada do conjunto de uma ou mais imagens, o primeiro estado para uma primeira subimagem da imagem predeterminada, sendo que o primeiro está em uma ordem de decodificação de subimagem definida entre as subimagens da imagem predeterminada.
30. Decodificador de vídeo, de acordo com a reivindicação 29, caracterizado por ser configurado para realizar a limpeza do DPB em resposta à informação relacionada à subimagem que assume o primeiro estado para a primeira subimagem após a análise ou após a decodificação da primeira subimagem da imagem atualmente decodificada.
31. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 27 a 30, caracterizado por ser configurado para marcar (60) imagens no DPB que devem permanecer no DPB para servir como uma referência de predição, remover (62) imagens do DPB que não estejam marcadas e que não sejam necessárias para exibição futura,
decodificar (64) a partir do fluxo de dados, para uma imagem atualmente decodificada, uma descrição do armazenamento temporário de imagem de referência (40’) para cada subimagem da imagem atualmente decodificada, e identificar (66) as imagens no DPB a serem marcadas, para a imagem atualmente decodificada, formando uma união de conjunto de imagens de referência indicadas pelas descrições do armazenamento temporário de imagem de referência para as subimagens da imagem atualmente decodificada.
32. Decodificador de vídeo para decodificar um vídeo (16) de imagens (18) a partir de um fluxo de dados (10), sendo que o fluxo de dados tem o vídeo codificado no mesmo de uma maneira de acordo com as subimagens (24) nas quais as imagens são espacialmente subdivididas são codificados de modo independente entre si, sendo que o decodificador de vídeo é caracterizado por compreender um DPB (48) e que é configurado para marcar (60) imagens no DPB que devem permanecer no DPB para servir como uma referência de predição, remover (62) imagens do DPB que não estejam marcadas e que não sejam necessárias para exibição futura, decodificar (64) a partir do fluxo de dados, para uma imagem atualmente decodificada, uma descrição do armazenamento temporário de imagem de referência para cada subimagem da imagem atualmente decodificada, e identificar (66) as imagens no DPB a serem marcadas, para a imagem atualmente decodificada, formando uma união de conjunto de imagens de referência indicada pela descrição do armazenamento temporário de imagem de referência para as subimagens da imagem atualmente decodificada.
33. Decodificador de vídeo, de acordo com a reivindicação 31 ou 32, caracterizado por ser configurado para realizar a marcação das imagens no DPB que devem permanecer no DPB para servir de referência de predição e a remoção das imagens a partir do DPB que não estão marcadas e que não são necessárias para exibição futura, em imagens de forma cíclica, e realizar a remoção após analisar ou decodificar todas as subimagens da imagem atualmente decodificada.
34. Decodificador de vídeo, de acordo com a reivindicação 31 ou 32 ou 33, caracterizado por ser configurado para, em resposta a uma sinalização (44) no fluxo de dados, identificar as imagens no DPB a serem marcadas para a imagem atualmente decodificada, dependendo da descrição do armazenamento temporário de imagem de referência para uma primeira subimagem da imagem atualmente decodificada.
35. Decodificador de vídeo, de acordo com a reivindicação 34, caracterizado por ser configurado para ser responsivo a uma sinalização no fluxo de dados, identifica o fluxo de dados como um fluxo de dados não conforme no caso de um conjunto de imagens de referência indicado pela descrição do armazenamento temporário de imagem de referência para qualquer subimagem da imagem atualmente decodificada diferente da primeira subimagem, que compreende uma imagem de referência no DPB não composta por um conjunto de imagens de referência indicadas pela descrição do armazenamento temporário de imagem de referência para a primeira subimagem da imagem atualmente decodificada.
36. Decodificador de vídeo para decodificar um vídeo (16) de imagens (18) a partir de um fluxo de dados (10), sendo que o fluxo de dados que tem o vídeo (16) codificado no mesmo de uma maneira de acordo com a qual as imagens são subimagens espacialmente subdivididas (24) de uma maneira constante ao longo de uma sequência de imagens, de modo que os subvídeos (28) sejam convertidos em código na sequência de imagens e em cada imagem da sequência de imagens uma subimagem pertence a um dos subvídeos e em que cada a subimagem é codificada de modo independente a partir das subimagens das imagens que pertencem a um subvídeo diferente, sendo que o decodificador de vídeo é caracterizado por compreender um DPB (48) e configurado para realizar o esvaziamento do DPB em unidades de subimagens.
37. Decodificador de vídeo, de acordo com a reivindicação 36, caracterizado por ser configurado para decodificar a partir do fluxo de dados, para uma imagem atualmente decodificada, uma descrição do armazenamento temporário de imagem de referência para cada subimagem da imagem atualmente decodificada, e para cada subvídeo, usar a descrição do armazenamento temporário de imagem de referência (40’) para uma subimagem da imagem atualmente decodificada que pertence ao respectivo subvídeo para identificar entre as subimagens no DPB que pertencem aos respectivos subvídeos, devem permanecer no DPB.
38. Decodificador de vídeo, de acordo com a reivindicação 36, caracterizado por ser configurado para dividir o DPB (48) em DPBs de subimagem (481-6) que compreendem, pelo menos, um DPB de subimagem para cada subimagem em que as imagens são subdivididas espacialmente, decodificar a partir do fluxo de dados, para uma imagem atualmente decodificada, informações (40’) uma descrição do armazenamento temporário de imagem de referência (40’) e um identificador de subimagem (80) para cada subimagem da imagem atualmente decodificada, e armazenamento temporário as subimagens das imagens no DPB (48) usando cada subimagem DPB para armazenamento temporário de subimagens de um identificador de subimagem predeterminado associado com o respectivo DPB de subimagem, para cada DPB de subimagem, inspecionar se a imagem atualmente decodificada contém uma subimagem correspondente, cujo identificador de subimagem (80) é igual ao identificador de subimagem predeterminado (A 1 - 6) associado com a respectiva subimagem DPB e, em caso afirmativo, usar a descrição do armazenamento temporário de imagem de referência (40’) para a subimagem correspondente, para identificar as subimagens na respectiva subimagem DPB que devem permanecer no DPB.
39. Decodificador de vídeo, de acordo com a reivindicação 38, caracterizado por ser configurado para remover subimagens na respectiva subimagem DPB não pertencente às subimagens na respectiva subimagem DPB deve permanecer no DPB, após analisar ou após decodificar a subimagem correspondente da imagem atualmente decodificada e antes da decodificação uma próxima subimagem da imagem atualmente decodificada.
40. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 38 a 39, caracterizado por ser configurado para se a imagem atualmente decodificada não contém uma subimagem correspondente (24), cujo identificador de subimagem (80) é igual ao identificador de subimagem predeterminado (A1 a 6) associado ao respectivo DPB de subimagem, liberar a respectiva subimagem DPB e retribuir o respectivo DPB de subimagem a outro identificador de subimagem predeterminado de uma subimagem não correspondente da imagem atualmente decodificada, diferente do identificador de subimagem predeterminado de todos os DPBs de subimagem.
41. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 36 a 40, caracterizado por ser configurado para, em resposta a uma sinalização (44) no fluxo de dados, realizar o esvaziamento do DPB em unidades de fotos.
42. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 36 a 41, caracterizado por ser configurado para, em resposta a uma sinalização (44) no fluxo de dados, realizar o esvaziamento do DPB em cada imagem dependendo de uma descrição de armazenamento temporário de imagem de referência (40’) compreendida pelo fluxo de dados para uma subimagem encontrada pela primeira vez da imagem respectiva.
43. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 36 a 42, caracterizado por ser configurado para, em resposta a uma sinalização (44) no fluxo de dados, realizar o esvaziamento do DPB em cada imagem dependendo de uma descrição de armazenamento temporário de imagem de referência (40’) compreendida pelo fluxo de dados para uma subimagem encontrada pela primeira vez da imagem respectiva após a análise ou após a decodificação da primeira subimagem encontrada.
44. Decodificador de vídeo para decodificar um vídeo (16) de imagens (18) a partir de um fluxo de dados (10), sendo que o fluxo de dados que tem o vídeo (16) codificado no mesmo de uma maneira de acordo com a qual as imagens são subimagens espacialmente subdivididas (24) de uma maneira constante ao longo de uma sequência de imagens, de modo que os subvídeos (28) sejam convertidos em código na sequência de imagens e em cada imagem da sequência de imagens uma subimagem pertence a um dos subvídeos e em que cada a subimagem é codificada de modo independente a partir das subimagens das imagens que pertencem a um subvídeo diferente, sendo que o decodificador de vídeo é caracterizado por ser configurado para decodificar a partir do fluxo de dados, para cada subimagem de cada imagem do vídeo, uma informação relacionada à subimagem (40) que, ao assumir um primeiro estado, identifica a respectiva subimagem como sendo convertida em código de uma maneira de ponto de acesso aleatório e, ao assumir um segundo estado, identifica a respectiva subimagem como não sendo convertida em código de maneira de ponto de acesso aleatório, decodificar a partir do fluxo de dados, para cada subimagem de cada imagem do vídeo, um primeiro valor POC (90), gerenciar, para cada subvídeo, um ou mais parâmetros de compensação POC entre subimagens (92) que parametrizam uma função parametrizável (94) que, quando aplicada ao primeiro valor POC decodificado para uma subimagem de uma imagem atualmente decodificada pertencente ao respectivo subvídeo, produzir um valor POC final (96) de modo que os valores POC finais das subimagens da imagem atualmente decodificada sejam iguais entre si.
45. Decodificador de vídeo, de acordo com a reivindicação 44, caracterizado por, para cada subvídeo, o um ou mais parâmetros de compensação POC entre subimagens (92) compreenderem um deslocamento de compensação POC que, pela função parametrizável (94), compensar o primeiro valor POC decodificado para subimagens do respectivo subvídeo e o decodificador de vídeo ser configurado para redefinir o deslocamento de compensação POC para um subvídeo predeterminado de uma imagem predeterminada ao encontrar uma primeira subimagem pertencente ao subvídeo predeterminado para o qual a informação relacionada à subimagem (40) assume o primeiro estado, que usa uma diferença (98) entre um primeiro valor POC (90) decodificado para a primeira subimagem e um valor POC final (96) de uma subimagem adicional para a qual a informação relacionada à subimagem (40) assume o segundo estado e que é composta por uma imagem, que compreende a primeira subimagem.
46. Decodificador de vídeo, de acordo com a reivindicação 44 ou 45, caracterizado por, para cada subvídeo, o um ou mais parâmetros de compensação POC entre subimagens (92) compreenderem um deslocamento de compensação POC que, pela função parametrizável (94), compensar o primeiro valor POC decodificado para subimagens do respectivo subvídeo e o decodificador de vídeo ser configurado para Se a informação relacionada à subimagem (40) assumir o primeiro estado para todas as subimagens de uma imagem predeterminada, definir o deslocamento de compensação POC para todos os subvídeos aos quais as subimagens da imagem predeterminada pertencem igualmente a um valor POC padrão.
47. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 44 a 46, caracterizado por, para cada subvídeo, um ou mais parâmetros de compensação POC entre subimagens (92) compreenderem um fator de escala de tamanho de etapa POC que, pela função parametrizável (94), escala o valor POC final.
48. Decodificador de vídeo, de acordo com a reivindicação 47, caracterizado por ser configurado para derivar, para cada subvídeo, o fator de escala de tamanho da etapa POC do fluxo de dados.
49. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 44 a 48, caracterizado por ser configurado para usar o valor POC final para saída de imagem e/ou referência de imagens de referência em armazenamento temporário.
50. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 44 a 49, caracterizado por ser configurado para usar, para cada subvídeo, os valores POC decodificados para as subimagens que pertencem ao respectivo subvídeo para escalar candidatos de predição de vetor de movimento usados na decodificação das subimagens que pertencem ao respectivo subvídeo.
51. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 44 a 50, caracterizado por, para cada subvídeo, um ou mais parâmetros de compensação POC entre subimagens (92) compreenderem um fator de escala de tamanho da etapa POC que, pela função parametrizável (94), dimensiona o valor POC final e o decodificador de vídeo é configurado para realizar, para cada subvídeo, escalonamento de candidato de predição de vetor de movimento usado na decodificação das subimagens que pertencem ao respectivo subvídeo, escalando-se inversamente os valores de POC finais de modo a obter valores de POC em escala inversa e usar os valores POC em escala inversa para escalar os candidatos de predição de vetor de movimento usados na decodificação das subimagens que pertencem ao respectivo subvídeo.
52. Decodificador de vídeo para decodificar um vídeo de imagens a partir de um fluxo de dados, sendo que o decodificador de vídeo é caracterizado por ser configurado para registrar, para cada uma das imagens de referência do vídeo, subdivisão da respectiva imagem de referência em uma região de imagem atualizada (118) e região de imagem não atualizada (116), decodificar a partir do fluxo de dados (10) uma informação em uma região de renovação de atualização (110) dentro de uma imagem atualmente decodificada e decodificar a região de renovação de atualização (110) do fluxo de dados com o uso de intrapredição, determinar uma primeira região (120) da imagem atualmente decodificada, não contígua da região de renovação de atualização (110) e a ser convertida em código independente da região de imagem não atualizada (118) das imagens de referência, decodificar a primeira região (120) a partir do fluxo de dados derivando-se, com base em parâmetros de conversão em código sinalizados no fluxo de dados para a primeira região (120), uma predição para a primeira região (120) a partir das imagens de referência de uma maneira dependente de uma localização da região da imagem atualizada (118) das imagens de referência, de modo que a predição seja independente da região da imagem não atualizada (116) das imagens de referência, e determinar uma região de imagem atualizada da imagem atualmente decodificada como uma união da primeira região e a região de renovação de atualização.
53. Decodificador de vídeo, de acordo com a reivindicação 52, caracterizado por a primeira região estar em contiguidade com a região de renovação de atualização.
54. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 52 a 53, caracterizado por estar configurado para determinar a primeira região da imagem atualmente decodificada como uma região da imagem atualmente decodificada que é colocalizada em uma região de imagem atualizada de uma imagem imediatamente decodificada anteriormente.
55. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 52 a 54, caracterizado por os parâmetros de conversão em código compreenderem vetores de movimento e/ou índices de vetor de movimento em listas de candidatos de vetor de movimento.
56. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 52 a 55, caracterizado por estar configurado para realizar a derivação da predição ao realizar um ou mais vetores de movimento de recorte de modo a não referenciar porções das imagens de referência que se sobrepõem à região de imagem não atualizada (116) das imagens de referência, porções de preenchimento das imagens de referência referenciadas por vetores de movimento e sobreposição da região de imagem não atualizada (116) das imagens de referência a partir da região de imagem atualizada (118), excluir vetores de movimento da região de imagem não atualizada (116) das imagens de referência a partir da lista de candidatos de preditor de vetor de movimento para a qual os índices de movimento sinalizam para o ponto da primeira região.
57. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 52 a 56, caracterizado por ser configurado para decodificar uma segunda região (116) que é não contígua da primeira região e da região de renovação de atualização, predizendo-se a segunda região da região de imagem atualizada, bem como a região de imagem não atualizada das imagens de referência.
58. Decodificador de vídeo, de acordo com qualquer uma das reivindicações 52 a 57, caracterizado por ser configurado para decodificar, para uma imagem predeterminada, uma sinalização de atualização de decodificação gradual e, em resposta a mesma, iniciar o registro da subdivisão da respectiva imagem de referência na região da imagem atualizada (118) e na região da imagem não atualizada (116),
permitindo-se que cada imagem de referência seja completamente composta pela região da imagem não atualizada (116), decodificar uma região de renovação de atualização (110) da imagem predeterminada a partir do fluxo de dados usando intrapredição, e decodificar uma segunda região da imagem predeterminada, predizendo- se a segunda região da região de imagem não atualizada das imagens de referência, e determinar uma região de imagem atualizada da imagem predeterminada para ser a região de renovação de atualização da imagem predeterminada.
59. Decodificador de vídeo, de acordo com a reivindicação 58, caracterizado por ser configurado para derivar a partir da sinalização de atualização de decodificação gradual uma informação em uma região de renovação de atualização (110) de uma sequência de imagens que inicia na imagem predeterminada em que as regiões de renovação de atualização (110) da sequência de imagens são mutuamente não sobrepostas e cobrem completamente uma área de imagem do vídeo.
60. Decodificador de vídeo, de acordo com a reivindicação 58 ou 59, caracterizado por ser configurado para derivar informações em uma região de renovação de atualização (110) de uma sequência de imagens que inicia na imagem predeterminada a partir de um primeiro conjunto de parâmetros do fluxo de dados que tem um escopo maior do que um segundo conjunto de parâmetros que compreende a sinalização de atualização de decodificação gradual.
61. Decodificador de vídeo, de acordo com a reivindicação 60, caracterizado por o primeiro conjunto de parâmetros ser um conjunto de parâmetros de sequência e o segundo conjunto de parâmetros ser um conjunto de parâmetros de imagem.
62. Aparelho de composição de vídeo caracterizado por ser configurado para compor um fluxo de dados composto (10) a partir de uma pluralidade de subfluxos (32), o fluxo de dados de vídeo composto que tem um vídeo composto (16) de imagens compostas (18) codificadas no mesmo que são subdivididas em subimagens (24), em que os subfluxos foram codificados nos mesmos nas subimagens das imagens compostas do vídeo composto de uma maneira de modo que para cada imagem composta, cada subimagem da respectiva imagem composta, seja codificada em um dos subfluxos independentes a partir de outras subimagens do respectivo vídeo composto, que são codificadas em outro dos subfluxos, em que o aparelho de composição de vídeo é configurado para compor o fluxo de dados composto juntando-se os subfluxos com, para cada subfluxo, dominar a partir do respectivo subfluxo no fluxo de dados composto, para cada subimagem codificada no respectivo subfluxo, uma informação relacionada à subimagem (40) que identifica, ao assumir um primeiro estado, a respectiva subimagem como sendo convertida em código de uma maneira de ponto de acesso aleatório e, ao assumir um segundo estado, identifica a respectiva subimagem como não sendo convertida em código de uma maneira de ponto de acesso aleatório, definir no fluxo de dados compostos, para uma sequência de imagens compostas, uma indicação de granularidade de sinalização de ponto de acesso aleatório (44) de modo a assumir uma primeira granularidade, indicando-se assim que, para cada imagem composta da sequência de imagens compostas, as informações relacionadas à subimagem podem assumir diferentes estados para as subimagens da respectiva imagem composta.
63. Aparelho de composição de vídeo, de acordo com a reivindicação 62, caracterizado por ser configurada para na composição do fluxo de dados composto, juntando-se os subfluxos, para cada subfluxo, dominar a partir do respectivo subfluxo no fluxo de dados composto, para cada subimagem codificada no respectivo subfluxo, informações (80) em um conjunto de imagens de referência.
64. Aparelho de composição de vídeo, de acordo com a reivindicação 62, caracterizado por ser configurada para na composição do fluxo de dados composto, juntando-se os subfluxos, para cada subfluxo, dominar o controle do respectivo subfluxo no fluxo de dados composto, para cada subimagem codificada no respectivo subfluxo, um valor POC (90).
65. Aparelho de composição de vídeo, de acordo com a reivindicação 64, caracterizado por ser configurada para na composição do fluxo de dados composto, juntando-se os subfluxos, para cada subfluxo, escrever no fluxo de dados composto (10), um ou mais parâmetros de compensação POC entre subimagens (92) para parametrizar uma função parametrizável (94) de modo que o mesmo, quando aplicado aos valores POC de subimagens codificadas no respectivo subfluxo, produza um valor POC final (96) que é igual para subimagens em uma imagem composta.
66. Aparelho de composição de vídeo caracterizado por ser configurado para compor um fluxo de dados composto a partir de uma pluralidade de subfluxos, o fluxo de dados de vídeo composto que tem um vídeo composto de imagens compostas codificadas no mesmo que são subdivididas em subimagens, em que os subfluxos foram codificados nos mesmos nas subimagens das imagens compostas do vídeo composto de uma maneira de modo que para cada imagem composta, cada subimagem da respectiva imagem composta, seja codificada em um dos subfluxos independentes a partir de outras subimagens do respectivo vídeo composto, que são codificadas em outro dos subfluxos, em que o aparelho de composição de vídeo é configurado para compor o fluxo de dados composto juntando-se os subfluxos com, para cada subfluxo, dominar a partir do respectivo subfluxo para o fluxo de dados composto, para cada subimagem codificada no respectivo subfluxo, informações sobre um conjunto de imagens de referência para a respectiva subimagem.
67. Aparelho de composição de vídeo caracterizado por ser configurado para compor um fluxo de dados composto (10) a partir de uma pluralidade de subfluxos (32), o fluxo de dados de vídeo composto que tem um vídeo composto (16) de imagens compostas (18) codificadas no mesmo que são subdivididas em subimagens (24), em que os subfluxos foram codificados nos mesmos nas subimagens das imagens compostas do vídeo composto de uma maneira de modo que para cada imagem composta, cada subimagem da respectiva imagem composta, seja codificada em um dos subfluxos independentes a partir de outras subimagens do respectivo vídeo composto, que são codificadas em outro dos subfluxos, em que o aparelho de composição de vídeo é configurado para compor do fluxo de dados composto, juntando-se os subfluxos, para cada subfluxo, dominar o controle do respectivo subfluxo no fluxo de dados composto, para cada subimagem codificada no respectivo subfluxo, um valor POC (90).
68. Composição de vídeo, conforme definido na reivindicação 67, caracterizado por ser configurada para na composição do fluxo de dados composto, juntando-se os subfluxos, para cada subfluxo, escrever no fluxo de dados composto (10), um ou mais parâmetros de compensação POC entre subimagens (92) para parametrizar uma função parametrizável (94) de modo que o mesmo, quando aplicado aos valores POC de subimagens codificadas no respectivo subfluxo, produza um valor POC final (96) que é igual para subimagens em uma imagem composta.
69. Fluxo de dados que tem um vídeo (16) de imagens (18) codificados no mesmo de uma maneira de acordo com a qual as subimagens (24), nas quais as imagens são espacialmente subdivididas, são codificadas independentemente umas das outras, sendo que o fluxo de dados é caracterizado por compreender para cada subimagem de cada imagem de um conjunto (42) de uma ou mais imagens do vídeo, uma informação relacionada à subimagem (40) que, ao assumir um primeiro estado, identifica a respectiva subimagem como sendo convertida em código em uma maneira de ponto de acesso aleatório e, ao assumir um segundo estado, identifica a respectiva subimagem como não sendo convertida em código na maneira de ponto de acesso aleatório, para o conjunto (42) de uma ou mais imagens, uma indicação de granularidade de sinalização de ponto de acesso aleatório (44) que, ao assumir uma primeira granularidade, indica que, para cada imagem do conjunto de uma ou mais imagens, a informação relacionada à subimagem que assume um estado comum para todas as subimagens da respectiva imagem, e ao assumir uma segunda granularidade, indica que, para cada imagem do conjunto de uma ou mais imagens, a informação relacionada à subimagem pode assumir diferentes estados para as subimagens da respectiva imagem.
70. Fluxo de dados que tem um vídeo (16) de imagens (18) codificados no mesmo de uma maneira de acordo com a qual as imagens são subimagens espacialmente subdivididas (24) de uma maneira constante ao longo de uma sequência de imagens de modo que os subvídeos (28 ) sejam convertidos em código na sequência de imagens e em cada imagem da sequência de imagens uma subimagem pertence a um dos subvídeos e em que cada subimagem seja codificada independentemente das subimagens das imagens que pertencem a um subvídeo, sendo que o fluxo de dados é caracterizado por compreender para cada subimagem de cada imagem do vídeo, uma informação relacionada à subimagem (40) que, ao assumir um primeiro estado, identifica a respectiva subimagem como sendo convertida em código de uma maneira de ponto de acesso aleatório e, ao assumir um segundo estado, identifica a respectiva subimagem como não sendo convertida em código da maneira de ponto de acesso aleatório, e um ou mais parâmetros de compensação POC entre subimagens (92) para parametrizar uma função parametrizável (94) de modo que o mesmo, quando aplicado aos valores POC de subimagens codificadas no respectivo subfluxo, produza um valor POC final (96) que é igual para subimagens em uma imagem composta.
71. Codificador de vídeo para codificar um vídeo de imagens em um fluxo de dados, sendo que o codificador de vídeo é caracterizado por ser configurado para registrar, para cada uma das imagens de referência do vídeo, subdivisão da respectiva imagem de referência em uma região de imagem atualizada (118) e região de imagem não atualizada (116), codificar no fluxo de dados (10) uma informação em uma região de renovação de atualização (110) dentro de uma imagem atualmente decodificada e codificar a região de renovação de atualização (110) no fluxo de dados usando intrapredição, determinar uma primeira região (120) da imagem atualmente decodificada, não contígua da região de renovação de atualização (110) e a ser convertida em código independente da região de imagem não atualizada (118) das imagens de referência, codificar a primeira região (120) no fluxo de dados derivando-se, com base em parâmetros de conversão em código sinalizados no fluxo de dados para a primeira região (120), uma predição para a primeira região (120) a partir das imagens de referência de uma maneira dependente de uma localização da região da imagem atualizada (118) das imagens de referência, de modo que a predição seja independente da região da imagem não atualizada (116) das imagens de referência, e determinar uma região de imagem atualizada da imagem atualmente decodificada como uma união da primeira região e a região de renovação de atualização.
72. Método para decodificar um vídeo (16) de imagens (18) a partir de um fluxo de dados (10), sendo que o fluxo de dados tem o vídeo codificado no mesmo de uma maneira de acordo com qual as subimagens (24), nas quais as imagens são subdivididas espacialmente, são codificadas de forma independente entre si, sendo que o método é caracterizado por compreender decodificar a partir do fluxo de dados, para cada subimagem de cada imagem de um conjunto (42) de uma ou mais imagens do vídeo, uma informação relacionada à subimagem (40) que, ao assumir um primeiro estado, identifica a respectiva subimagem como sendo convertida em código de uma maneira de ponto de acesso aleatório e, ao assumir um segundo estado, identifica a respectiva subimagem como não sendo convertida em código na maneira de ponto de acesso aleatório, decodificar a partir do fluxo de dados, para o conjunto (42) de uma ou mais imagens, uma indicação de granularidade de sinalização de ponto de acesso aleatório (44) que, ao assumir uma primeira granularidade, indica que, para cada imagem do conjunto de uma ou mais imagens, a informação relacionada à subimagem que assume um estado comum para todas as subimagens da respectiva imagem, e ao assumir uma segunda granularidade, indica que, para cada imagem do conjunto de uma ou mais imagens, a informação relacionada à subimagem pode assumir diferentes estados para as subimagens da respectiva imagem.
73. Método para decodificar um vídeo (16) de imagens (18) a partir de um fluxo de dados (10), sendo que o fluxo de dados tem o vídeo (16) codificado no mesmo de uma maneira de acordo com a qual as subimagens (24), nas quais as imagens são subdivididas espacialmente, são codificadas de forma independente entre si, sendo que o método é caracterizado por compreender decodificar a partir do fluxo de dados, para cada subimagem de cada imagem do vídeo, uma informação relacionada à subimagem (40) que, ao assumir um primeiro estado, identifica a respectiva subimagem como sendo convertida em código de uma maneira de ponto de acesso aleatório e, ao assumir um segundo estado, identifica a respectiva subimagem como não sendo convertida em código de uma maneira de ponto de acesso aleatório, liberar um DPB (48) usado na decodificação do vídeo responsivo à informação relacionada à subimagem (40) que assume, para uma imagem predeterminada do vídeo, o primeiro estado para todas as subimagens da imagem predeterminada.
74. Método para decodificar um vídeo (16) de imagens (18) a partir de um fluxo de dados (10), sendo que o fluxo de dados tem o vídeo codificado no mesmo de uma maneira de acordo com a qual as subimagens (24), nas quais as imagens são subdivididas espacialmente, são codificadas de forma independente entre si, sendo que o método é caracterizado por compreender marcar (60) imagens em um DPB usado na decodificação do vídeo que devem permanecer no DPB para servir como uma referência de predição, remover (62) imagens do DPB que não estejam marcadas e que não sejam necessárias para exibição futura, decodificar (64) a partir do fluxo de dados, para uma imagem atualmente decodificada, uma descrição do armazenamento temporário de imagem de referência para cada subimagem da imagem atualmente decodificada, e identificar (66) as imagens no DPB a serem marcadas, para a imagem atualmente decodificada, formando uma união de conjunto de imagens de referência indicada pela descrição do armazenamento temporário de imagem de referência para as subimagens da imagem atualmente decodificada.
75. Método para decodificar um vídeo (16) de imagens (18) a partir de um fluxo de dados (10), sendo que o fluxo de dados que tem o vídeo (16) codificado no mesmo de uma maneira de acordo com a qual as imagens são subimagens espacialmente subdivididas (24) de uma maneira constante ao longo de uma sequência de imagens, de modo que os subvídeos (28) sejam convertidos em código na sequência de imagens e em cada imagem da sequência de imagens uma subimagem pertence a um dos subvídeos e em que cada a subimagem é codificada de modo independente a partir das subimagens das imagens que pertencem a um subvídeo diferente, sendo que o método é caracterizado por compreender realizar o esvaziamento de um DPB usado na decodificação do vídeo em unidades de subimagens.
76. Método para decodificar um vídeo (16) de imagens (18) a partir de um fluxo de dados (10), sendo que o fluxo de dados que tem o vídeo (16) codificado no mesmo de uma maneira de acordo com a qual as imagens são subimagens espacialmente subdivididas (24) de uma maneira constante ao longo de uma sequência de imagens, de modo que os subvídeos (28) sejam convertidos em código na sequência de imagens e em cada imagem da sequência de imagens uma subimagem pertence a um dos subvídeos e em que cada a subimagem é codificada de modo independente a partir das subimagens das imagens que pertencem a um subvídeo diferente, sendo que o método é caracterizado por compreender decodificar a partir do fluxo de dados, para cada subimagem de cada imagem do vídeo, uma informação relacionada à subimagem (40) que, ao assumir um primeiro estado, identifica a respectiva subimagem como sendo convertida em código de uma maneira de ponto de acesso aleatório e, ao assumir um segundo estado, identifica a respectiva subimagem como não sendo convertida em código de maneira de ponto de acesso aleatório, decodificar a partir do fluxo de dados, para cada subimagem de cada imagem do vídeo, um primeiro valor POC (90), gerenciar, para cada subvídeo, um ou mais parâmetros de compensação POC entre subimagens (92) que parametrizam uma função parametrizável (94) que, quando aplicada ao primeiro valor POC decodificado para uma subimagem de uma imagem atualmente decodificada pertencente ao respectivo subvídeo, produzir um valor POC final (96) de modo que os valores POC finais das subimagens da imagem atualmente decodificada sejam iguais entre si.
77. Método para decodificar um vídeo de imagens a partir de um fluxo de dados, sendo que o método é caracterizado por compreender registrar, para cada uma das imagens de referência do vídeo, subdivisão da respectiva imagem de referência em uma região de imagem atualizada (118) e região de imagem não atualizada (116), decodificar a partir do fluxo de dados (10) uma informação em uma região de renovação de atualização (110) dentro de uma imagem atualmente decodificada e decodificar a região de renovação de atualização (110) do fluxo de dados com o uso de intrapredição, determinar uma primeira região (120) da imagem atualmente decodificada, não contígua da região de renovação de atualização (110) e a ser decodificada independente da região de imagem não atualizada (118) das imagens de referência, decodificar a primeira região (120) a partir do fluxo de dados derivando-se, com base em parâmetros de conversão em código sinalizados no fluxo de dados para a primeira região (120), uma predição para a primeira região (120) a partir das imagens de referência de uma maneira dependente de uma localização da região da imagem atualizada (118) das imagens de referência, de modo que a predição seja independente da região da imagem não atualizada (116) das imagens de referência, e determinar uma região de imagem atualizada da imagem atualmente decodificada como uma união da primeira região e a região de renovação de atualização.
78. Método para codificar um vídeo de imagens em um fluxo de dados, sendo que o método é caracterizado por compreender registrar, para cada uma das imagens de referência do vídeo, subdivisão da respectiva imagem de referência em uma região de imagem atualizada (118) e região de imagem não atualizada (116), codificar no fluxo de dados (10) uma informação em uma região de renovação de atualização (110) dentro de uma imagem atualmente decodificada e codificar a região de renovação de atualização (110) no fluxo de dados usando intrapredição, determinar uma primeira região (120) da imagem atualmente decodificada, não contígua da região de renovação de atualização (110) e a ser convertida em código independente da região de imagem não atualizada (118) das imagens de referência, codificar a primeira região (120) no fluxo de dados derivando-se, com base em parâmetros de conversão em código sinalizados no fluxo de dados para a primeira região (120), uma predição para a primeira região (120) a partir das imagens de referência de uma maneira dependente de uma localização da região da imagem atualizada (118) das imagens de referência, de modo que a predição seja independente da região da imagem não atualizada (116) das imagens de referência, e determinar uma região de imagem atualizada da imagem atualmente decodificada como uma união da primeira região e a região de renovação de atualização.
79. Fluxo de dados caracterizado por ser codificado por um método, conforme definido na reivindicação 78.
BR112021014857-4A 2019-02-01 2020-01-31 Decodificador e codificador de vídeo e seus métodos, aparelho de composição de vídeo, composição de vídeo e fluxo de dados BR112021014857A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19155162 2019-02-01
EP19155162.1 2019-02-01
PCT/EP2020/052451 WO2020157287A1 (en) 2019-02-01 2020-01-31 Video codec allowing sub-picture or region wise random access and concept for video composition using the same

Publications (1)

Publication Number Publication Date
BR112021014857A2 true BR112021014857A2 (pt) 2021-10-05

Family

ID=65278279

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021014857-4A BR112021014857A2 (pt) 2019-02-01 2020-01-31 Decodificador e codificador de vídeo e seus métodos, aparelho de composição de vídeo, composição de vídeo e fluxo de dados

Country Status (9)

Country Link
US (1) US11968399B2 (pt)
EP (1) EP3918789A1 (pt)
JP (2) JP7293368B2 (pt)
KR (1) KR20210118183A (pt)
CN (1) CN113545045A (pt)
BR (1) BR112021014857A2 (pt)
MX (1) MX2021009140A (pt)
TW (1) TWI799682B (pt)
WO (1) WO2020157287A1 (pt)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3133079C (en) * 2019-03-11 2024-01-30 Huawei Technologies Co., Ltd. Pictures with mixed nal unit types
KR20200110213A (ko) * 2019-03-12 2020-09-23 현대자동차주식회사 영상 부호화 및 복호화 방법 및 장치
WO2021177794A1 (ko) * 2020-03-05 2021-09-10 엘지전자 주식회사 혼성 nal 유닛 타입에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
US20230336594A1 (en) * 2022-04-15 2023-10-19 Google Llc Videoconferencing with Reduced Quality Interruptions Upon Participant Join

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI114679B (fi) * 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
US8149922B2 (en) * 2004-10-22 2012-04-03 Humax Co., Ltd. Device and method for merging different video codec
US8855433B2 (en) * 2011-10-13 2014-10-07 Sharp Kabushiki Kaisha Tracking a reference picture based on a designated picture on an electronic device
EP2805490A1 (en) * 2012-01-20 2014-11-26 Telefonaktiebolaget LM Ericsson (Publ) Output of decoded reference pictures
US9578326B2 (en) 2012-04-04 2017-02-21 Qualcomm Incorporated Low-delay video buffering in video coding
CN104247428B (zh) * 2012-04-06 2018-08-07 索尼公司 解码装置和解码方法以及编码装置和编码方法
US9491457B2 (en) * 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
WO2014112354A1 (en) * 2013-01-15 2014-07-24 Sharp Kabushiki Kaisha Video decoder with signaling
US10609407B2 (en) * 2013-07-09 2020-03-31 Nokia Technologies Oy Method and apparatus for video coding
GB2542282B (en) 2013-10-22 2018-08-01 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data in a server
CN104754347B (zh) 2013-12-26 2019-05-17 中兴通讯股份有限公司 视频图像序号的编码、解码方法及装置、电子设备
US10484711B2 (en) * 2014-06-18 2019-11-19 Telefonaktiebolaget Lm Ericsson (Publ) Dependent random access point pictures
US9832463B2 (en) * 2014-06-18 2017-11-28 Telefonaktiebolaget L M Ericsson (Publ) Robust encoding and decoding of pictures in video
WO2016026526A2 (en) 2014-08-20 2016-02-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video composition
JP2017069866A (ja) 2015-10-01 2017-04-06 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US20170026659A1 (en) * 2015-10-13 2017-01-26 Mediatek Inc. Partial Decoding For Arbitrary View Angle And Line Buffer Reduction For Virtual Reality Video
US10531111B2 (en) * 2015-11-06 2020-01-07 Microsoft Technology Licensing, Llc Flexible reference picture management for video encoding and decoding
KR102256855B1 (ko) 2016-02-09 2021-05-26 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 효율적인 감소성 또는 효율적인 랜덤 액세스를 허용하는 픽처/비디오 데이터 스트림들에 대한 개념
US10764575B2 (en) * 2017-03-03 2020-09-01 Qualcomm Incorporated Coding MCTS-nested SEI messages to exclude other SEI messages that are not MCTS-nested
US10523934B2 (en) * 2017-05-31 2019-12-31 Mediatek Inc. Split based motion vector operation reduction
US10873754B2 (en) * 2017-12-12 2020-12-22 Coherent Logix, Incorporated Low latency video codec and transmission with parallel processing
CN109963176B (zh) * 2017-12-26 2021-12-07 中兴通讯股份有限公司 视频码流处理方法、装置、网络设备和可读存储介质
CN110351606B (zh) * 2018-04-04 2022-12-27 华为技术有限公司 媒体信息处理方法、相关设备及计算机存储介质
CN112602329B (zh) * 2018-06-21 2023-08-11 瑞典爱立信有限公司 用于360度视频解码的块置乱
KR20210058947A (ko) * 2018-09-20 2021-05-24 샤프 가부시키가이샤 비디오 코딩에서 파라미터들을 시그널링하기 위한 시스템들 및 방법들
EP3707904A1 (en) * 2018-10-02 2020-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and decoding pictures based on tile group id
EP4084490A1 (en) * 2019-01-02 2022-11-02 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
CN113498606A (zh) * 2019-01-02 2021-10-12 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机程序
KR20210107121A (ko) * 2019-01-04 2021-08-31 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 인코더, 비디오 디코더 및 대응하는 방법

Also Published As

Publication number Publication date
TWI799682B (zh) 2023-04-21
US20210360291A1 (en) 2021-11-18
JP2023113865A (ja) 2023-08-16
CN113545045A (zh) 2021-10-22
MX2021009140A (es) 2021-10-13
JP7293368B2 (ja) 2023-06-19
JP2022523728A (ja) 2022-04-26
EP3918789A1 (en) 2021-12-08
TW202037167A (zh) 2020-10-01
US11968399B2 (en) 2024-04-23
KR20210118183A (ko) 2021-09-29
WO2020157287A1 (en) 2020-08-06

Similar Documents

Publication Publication Date Title
BR112021014857A2 (pt) Decodificador e codificador de vídeo e seus métodos, aparelho de composição de vídeo, composição de vídeo e fluxo de dados
JP6397421B2 (ja) 画像復号装置及び画像符号化装置
CN101485208B (zh) 多视图视频的编码和解码方法及装置
JP6449241B2 (ja) 効率的なマルチビュー/レイヤ符号化を可能とする符号化コンセプト
EP3183878B1 (en) Video composition
US20090323824A1 (en) Methods and Apparatus for Use in Multi-View Video Coding
KR101895176B1 (ko) 독립 랜덤 액세스 포인트 화상
HUE028853T2 (en) Indication of reference image
BR112021010054A2 (pt) fluxo de dados, decodificador e codificador de vídeo baseado em bloco e seus respectivos métodos
BR122023021002A2 (pt) Aparelho e método para receber fluxo de dados de vídeo, fluxo de dados de vídeo, codificador e decodificador de vídeo, e método para codificar um vídeo em um fluxo de dados de vídeo
JP7421600B2 (ja) フレーム部分を有するビデオデータを符号化又は復号する方法及び装置
AU2016424515B2 (en) Apparatuses, methods, and computer-readable medium for encoding and decoding a video signal
JP7374872B2 (ja) ビデオエンコーディング方法、及び、エンコードされたビデオのファイルサイズを減らす方法
BR112015018420B1 (pt) Métodos de codificação e decodificação de um bloco de imagem,decodificador e codificador
BR112015020060B1 (pt) Métodos, decodificador, codificador, meio de armazenamento e dispositivo de transmissão relacionados a codificação e decodificação de um bloco de imagens
TWI798714B (zh) 時間移動向量預測、層間參考及時間子層指示的視訊寫碼技術
CN118044205A (zh) 用于视频处理的方法、装置和介质
TWI789662B (zh) 有關子圖像之視訊寫碼技術
JP2006129177A (ja) 記録装置及び記録媒体
TWI793632B (zh) 用於多層視訊位元流及輸出時序推導之多方面傳訊概念
TW202234891A (zh) 允許漂移限制之視訊寫碼概念技術
BRPI0714150A2 (pt) mÉtodos e aparelho para uso em codificaÇço de vÍdeo de méltiplas visualizaÇÕes
JP2015035642A (ja) 画像復号装置、および画像符号化装置