BR112014025496B1 - Decodificador e método para reconstruir a imagem a partir de um fluxo de dados, codificador e método para codificar uma imagem e fluxo de dados codificado - Google Patents

Decodificador e método para reconstruir a imagem a partir de um fluxo de dados, codificador e método para codificar uma imagem e fluxo de dados codificado Download PDF

Info

Publication number
BR112014025496B1
BR112014025496B1 BR112014025496-6A BR112014025496A BR112014025496B1 BR 112014025496 B1 BR112014025496 B1 BR 112014025496B1 BR 112014025496 A BR112014025496 A BR 112014025496A BR 112014025496 B1 BR112014025496 B1 BR 112014025496B1
Authority
BR
Brazil
Prior art keywords
slice
coding
context
slices
decoding
Prior art date
Application number
BR112014025496-6A
Other languages
English (en)
Other versions
BR112014025496A2 (pt
Inventor
Thomas Schierl
Valeri GEORGE
Anastasia HENKEL
Detlev Marpe
Karsten GRÜNEBERG
Robert SKUPIN
Original Assignee
Ge Video Compression, Llc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=48141968&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BR112014025496(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Ge Video Compression, Llc filed Critical Ge Video Compression, Llc
Publication of BR112014025496A2 publication Critical patent/BR112014025496A2/pt
Publication of BR112014025496B1 publication Critical patent/BR112014025496B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of 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/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Color Television Systems (AREA)
  • Communication Control (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

CODIFICAÇÃO DE IMAGENS DE BAIXO ATRASO. Os conceitos de processamento paralelo, como o processamento paralelo de frente de onda, podem ser realizados com um reduzido atraso de extremo a extremo se prescindir do conceito de módulo usual, de acordo com o qual os módulos são ou codificados/decodificados completamente independentes das áreas da imagem fora do respetivo módulo, ou pelo menos independentes das áreas fora do respetivo módulo, no que diz respeito à codificação entrópica, a favor de módulos de diferentes modos, nomeadamente os chamados módulos dependentes. que possibilitam interdependências para além das fronteiras dos modulas, e outros, os chamados módulos normais, que não possibilitam isso. Combinado com o aspecto ou não, o conceito de processamento WPP torna-se mais eficaz se usar as partes da sintaxe de iniciar módulos para localizar os pontos de entrada WPP.

Description

[001] A presente invenção refere-se à codificação de imagens de baixo atraso.
[002] Nas atuais fatias de design HEVC, as Tiles de Fatias Entrópicas (anteriores Fatias de Baixo Peso) e o WPP (Processamento Paralelo de Frente da Onda) estão incluídos como ferramentas para paralelização.
[003] Para a paralelização de codificadores de vídeo e decodificadores, a partição do nível da imagem tem várias vantagens comparativamente com outras abordagens. Em Codecs de vídeo anteriores, como H.264/AVC [1], as partições de imagem só eram possíveis com fatias regulares com um alto custo em termos de eficiência de codificação. Para a codificação H.264/AVC paralela escalonável, é necessário combinar o paralelismo a nível do macrobloco para a reconstrução de imagem e o paralelismo a nível do frame para a decodificação entrópica. Esta abordagem, porém, fornece uma redução limitada das latências de imagem e um elevado uso da memória. Para superar estas limitações, foram incluídas novas estratégias de partição de imagem no Codec HEVC.
[004] A versão atual do software de referência (HM-6) contém 4 diferentes abordagens: fatias regulares ou normais, fatias entrópicas, subfluxos de processamento paralelo de frente de onda (WPP) e tiles. Tipicamente, essas partições de imagem compreendem um conjunto de Unidades de Codificação Maiores (LCUs), ou, em uma expressão sinónima, Unidades de Árvore de Codificação (CTU), conforme definido no HEVC ou mesmo num subconjunto deles.
[005] A Figura 1 mostra uma 898 posicionada, a título de exemplo, numa fatia regular 900 por fila 902 de LCUs ou macroblocos em uma imagem. As fatias regulares ou normais (conforme definido em H.264 [1]) têm a maior penalidade de codificação, uma vez que interrompem a decodificação entrópica e dependências de predição.
[006] As fatias entrópicas, como fatias, interrompem dependências de decodificação entrópica mas permitem a predição (e filtração) para atravessar as fronteiras da fatia. No WPP, as partições de imagem estão intercaladas em fila, e tanto a decodificação entrópica como a predição podem usar dados a partir dos blocos em outras partições. Deste modo, minimizam-se as perdas da codificação, ao mesmo tempo que se pode explorar o paralelismo de frente de onda. O intercalamento, porém, viola a casualidade do fluxo de bits, uma vez que uma partição anterior precisa de uma próxima partição para decodificar.
[007] A Figura 2 mostra, a título de exemplo, uma imagem 898 dividida em duas filas 904, 904b de tiles horizontalmente divididas 906. As tiles definem as fronteiras horizontal 908 e vertical 910 que dividem uma imagem 898 nas colunas da tile 912a,b,c e filas 904a,b. De modo idêntico às fatias regulares 900, as tiles 906 interrompem a decodificação entrópica e dependências de predição, mas não requerem um cabeçalho para cada tile.
[008] Para cada uma destas técnicas, o número de partições pode ser livremente escolhido pelo codificador. De um modo geral, ter mais partições causa maiores perdas de compressão. Porém, no WPP a propagação de perda não é tão alta e, por isso, o número de partições de imagem até pode ser fixado a um por fila. Isto causa também várias vantagens. Primeiro, garante-se a casualidade do fluxo de bits para WPP. Segundo, as implementações do decodificador podem assumir que está disponível uma certa quantidade de paralelismo, que também aumenta com a resolução. E, por fim, nenhuma das seleções de contexto e dependências de predição tem de ser interrompida quando decodificar por ordem de frente de onda, resultando em uma perda de codificação relativamente baixa.
[009] Porém, até agora toda a codificação paralela e conceitos de transformação falharam em conseguir uma elevada eficiência de compressão combinada com a manutenção de um baixo atraso. Isto também é verdade para o conceito de WPP. As fatias são as unidades mais pequenas de transporte, na conduta de codificação, e vários subfluxos WPP continuam a ter de ser transportados em série.
[010] Correspondentemente, o objetivo da invenção é providenciar um conceito de codificação de imagem que permita a decodificação paralela de acordo com, por exemplo, o processamento paralelo de frente de onda, com maior eficiência, como reduzindo ainda mais o atraso de extremo a extremo ou melhorando a eficiência de codificação ao reduzir os custos gerais de codificação a gastar.
[011] Este objetivo é conseguido pela matéria das reivindicações independentes.
[012] Uma descoberta básica da invenção é que os conceitos de processamento paralelo, como o processamento paralelo de frente de onda, podem ser realizados com um reduzido atraso de extremo a extremo se se prescindir do conceito de fatia usual, de acordo com o qual as fatias são ou codificadas/decodificadas completamente independentes das áreas da imagem fora da respetiva fatia, ou pelo menos independentes das áreas fora da respetiva fatia, no que diz respeito à codificação entrópica, a favor de fatias de diferentes modos, nomeadamente as chamadas fatias dependentes, que possibilitam interdependências para além das fronteiras das fatias, e outros, as chamadas fatias normais, que não possibilitam isso. Outra descoberta básica da presente invenção, que pode ser combinada com a primeira ou usada de um modo individual, é que o conceito de processamento WPP pode tornar-se mais eficiente se forem usadas as partes da sintaxe de iniciar as fatias para localizar pontos de entrada WPP. Versões preferidas do presente pedido são descritas abaixo relativamente às figuras, onde as versões vantajosas são objeto das reivindicações dependentes. Entre as figuras,
[013] a Figura 1 mostra uma imagem dividida, a título de exemplo, numa fatia regular por fila de LCUs ou macroblocos em uma imagem;
[014] a Figura 2 mostra, a título de exemplo, uma imagem dividida em duas filas de tiles horizontalmente divididas;
[015] a Fig. 3 mostra, a título de exemplo, uma atribuição de partições codificadas em paralelo a uma fatia ou segmento de transporte de rede;
[016] a Fig. 4 mostra um diagrama esquemático que ilustra uma fragmentação genérica de um frame com uma abordagem de codificação de tile para o mínimo atraso extremo a extremo;
[017] a Fig. 5 mostra um diagrama esquemático que ilustra uma fragmentação exemplificativa de um frame com uma abordagem de codificação WPP para o mínimo atraso extremo a extremo;
[018] a Fig. 6 mostra um diagrama de bloco esquemático que ilustra um cenário de uma conversação usando serviços de vídeo;
[019] a Fig. 7 ilustra esquematicamente uma possível programação temporal da codificação, transmissão e decodificação para tiles com subconjuntos genéricos com o mínimo atraso extremo a extremo;
[020] a Fig. 8 mostra esquematicamente uma programação temporal que obtém comumente um atraso extremo a extremo;
[021] a Fig. 9 ilustra uma imagem que tem, a título de exemplo, 11x9 blocos em árvore de codificação, que está dividida em duas fatias;
[022] a Fig. 10 ilustra uma imagem que tem, a título de exemplo, 13x8 blocos em árvore de codificação, que está dividida em três fatias;
[023] a Fig. 11 mostra um exemplo para uma sintaxe de conjunto de parâmetros de sequência;
[024] a Fig. 12 mostra um exemplo para uma sintaxe de conjunto de parâmetros de imagem;
[025] a Fig. 13 mostra um exemplo para uma sintaxe de cabeçalho de fatia;
[026] a Fig. 14 exemplifica uma partição de uma imagem para o processamento WPP numa fatia regular e, para um processamento de baixo atraso, em fatias dependentes;
[027] a Fig. 15 mostra um exemplo para uma parte dentro de uma sintaxe de conjunto de parâmetros de imagem;
[028] a Fig. 16 mostra uma possível sintaxe de fatia-cabeçalho;
[029] a Fig. 17 ilustra esquematicamente interdependências de codificação para fatias normais (e fatias dependentes);
[030] a Fig. 18 mostra um diagrama esquemático que compara uma codificação para o transporte de baixo atraso de tiles (processamento paralelo de frente de onda usando fatias dependentes);
[031] a Fig. 19 ilustra uma programação temporal que ilustra uma codificação WPP exemplificativa com transmissão de baixo atraso da conduta quando se usa o processamento paralelo de frente de onda utilizando fatias dependentes, como se pode ver no lado direito da Fig. 18;
[032] a Fig. 20 mostra um diagrama esquemático que ilustra um melhoramento da robustez ao usar fatias regulares como âncoras;
[033] a Fig. 21 mostra outra versão para uma sintaxe de cabeçalho de fatia;
[034] a Fig. 22 mostra outra versão para uma sintaxe de conjunto de parâmetros de imagem;
[035] a Fig. 23 mostra um diagrama esquemático que ilustra um processo de inicialização da probabilidade do símbolo para uma fatia dependente no caso de começar na fronteira esquerda da imagem;
[036] a Fig. 24 mostra um diagrama esquemático de um decodificador;
[037] a Fig. 25 mostra esquematicamente um diagrama de bloco de um decodificador, ao mesmo tempo que ilustra esquematicamente a partição de uma imagem em blocos e fatias de codificação;
[038] a Fig. 26 mostra esquematicamente um diagrama de bloco de um codificador;
[039] a Fig. 27 mostra esquematicamente uma imagem dividida em fatias normais e dependentes, aqui denominados segmentos de fatias;
[040] a Fig. 28a e 28b mostram esquematicamente uma imagem dividida em fatias normais e dependentes, aqui denominados segmentos de fatias, por um lado, e tiles por outro lado;
[041] a Fig. 29 mostra um fluxograma que ilustra um processo de inicialização de contexto usando fatias dependentes;
[042] a Fig. 30 mostra um fluxograma que ilustra um processo de armazenamento de contexto para usar fatias dependentes; e
[043] a Fig. 31 mostra esquematicamente diferentes possibilidades para sinalizar pontos de entrada WPP.
[044] De seguida, a descrição começa com uma descrição dos conceitos da atualidade para permitir o processamento de imagem em paralelo e a codificação de baixo atraso, respetivamente. São destacados os problemas que ocorrem quando se pretendem as duas capacidades. Em particular, como se vai poder depreender da seguinte discussão, o conceito de subfluxo WPP conforme ensinado até agora entra de algum modo em conflito com a vontade de ter um baixo atraso devido à necessidade de transportar subfluxos WPP agrupando-os na mesma fatia.
[045] As seguintes versões desenham conceitos de processamento paralelo, como o conceito WPP, aplicáveis a aplicações que necessitam ainda de menos atraso através do alargamento do conceito de fatia, nomeadamente introduzindo outro tipo de fatia, mais tarde designado de fatias dependentes.
[046] A minimização do atraso de vídeo extremo a extremo desde a captação até o visor é um dos objetivos em aplicações como a conferência de vídeo e idêntico.
[047] A cadeia de processamento de sinal para a transmissão de vídeo digital consiste de câmara, dispositivo de captação, codificação, encapsulamento, transmissão, demultiplexador, decodificador, restituidor e visor. Cada um destes estágios contribui para o atraso extremo a extremo ao armazenar temporariamente os dados da imagem antes da sua transmissão em série para o estágio seguinte.
[048] Algumas aplicações requerem a minimização desse atraso, p. ex. manuseamento remoto de objetos em áreas perigosas, sem a visualização direta do objeto manuseado, ou cirurgia minimamente invasiva. Mesmo o mais curto atraso pode resultar em sérias dificuldades de um manuseamento adequado ou causar mesmo erros catastróficos.
[049] Em muitos casos, armazena-se temporariamente um frame de vídeo inteiro dentro de um estágio de processamento, p. ex. para permitir o processamento intra-frame. Alguns estágios recolhem dados para formar pacotes que são reencaminhados para o próximo estágio. De um modo geral, existe uma fronteira inferior para o atraso que resulta dos requisitos do processamento local. Isto será mais abaixo analisado em detalhe para cada estágio individual.
[050] O processamento dentro da câmara não requer necessariamente um processamento de sinal intra-frame, portanto o atraso mínimo é dado pelo tempo de integração do sensor, que é restringido pela taxa do frame, e algumas escolhas de design pelo fabricante do hardware. A saída da câmara está tipicamente relacionada com a ordem de análise que usualmente começa a processar no canto superior esquerdo, move-se sobre o canto superior direito e continua linha a linha para o canto inferior direito. Consequentemente, demora aproximadamente um frame até todos os dados serem transferidos do sensor para a saída da câmara.
[051] O dispositivo de captação podia reencaminhar os dados da câmara imediatamente após recepção; porém, normalmente memoriza temporariamente alguns dados e cria pacotes para otimizar o acesso dos dados à memória ou armazenamento. Além disso, a ligação entre câmara/capturador e memória do computador normalmente limita a taxa de bits para reencaminhar os dados da imagem captada para a memória para continuar o processamento (codificação). Normalmente as câmaras estão ligadas via USB 2.0 ou brevemente a USB 3.0, que inclui sempre um transporte parcial dos dados da imagem para o codificador. Isto limita o paralelismo do lado do codificador num cenário de atraso extremamente baixo, isto é o codificador vai tentar começar a codificar assim que possível, quando os dados ficam disponíveis a partir da câmara, p. ex. por uma ordem de análise por varrimento de cima a baixo da imagem.
[052] No codificador existem alguns graus de liberdade que permite a eficiência de codificação de compromisso, em termos de débito de dados necessária para uma certa fidelidade de vídeo, para uma redução do atraso de processamento.
[053] O codificador usa dados que já foram enviados para prever a imagem que será codificada a seguir. De um modo geral, a diferença entre a imagem atual e a predição pode ser codificada com menos bits do que seria necessário sem predição. Estes valores de predição têm de estar disponíveis no decodificador e, assim sendo, a predição baseia-se em partes anteriormente decodificadas da mesma imagem (predição intra-frame) ou em outras imagens (predição inter-frame) que foram processadas antes. Os padrões de codificação de vídeo anteriores a HEVC usam apenas a parte da imagem acima ou na mesma linha, mas à esquerda — que foi anteriormente codificada — para a predição intra-frame, predição de vetor de movimento e codificação entrópica (CABAC).
[054] Adicionalmente à otimização da estrutura de predição, pode ser considerada a influência do processamento paralelo. O processamento paralelo requer a identificação de áreas de imagem que podem ser processadas independentemente. Por razões práticas, são escolhidas zonas contíguas, como os retângulos horizontais ou verticais, que são frequentemente designadas de "tiles". No caso de restrições de baixo atraso, essas zonas devem permitir a codificação paralelizada dos dados que chegam do capturador para a memória, o mais rapidamente possível.
[055] Assumindo uma transferência de memória de análise por varrimento, as partições verticais dos dados em bruto fazem sentido para começar imediatamente a codificação. Dentro dessas tiles, que dividem a imagem em partições verticais (cf. figura em baixo), a intra-predição, a predição do vetor de movimento e a codificação entrópica (CABAC) podem levar a uma eficiência de codificação razoável. Para minimizar o atraso, apenas uma parte da imagem, a começar pelo topo, seria transferida para a memória de frame do codificador, e o processamento paralelo deve ser iniciado em tiles verticais.
[056] Outra forma de permitir o processamento paralelo é usar WPP dentro de uma fatia regular, que seria comparado com tiles, uma “fila” de tiles incluída numa fatia única. Os dados dentro da fatia podiam ser também paralelamente codificados usando subfluxos WPP dentro da fatia. A separação da imagem em fatias 900 e tiles/subfluxos WPP 914 é apresentada na Fig. 3/1 em forma de exemplos.
[057] A Fig. 3, por conseguinte, mostra a atribuição de partições codificadas em paralelo, como 906 ou 914, para uma fatia ou segmento de transporte de rede (um único pacote de rede ou múltiplos pacotes 900 de rede).
[058] O encapsulamento dos dados codificados nas unidades da Camada de Abstração da Rede (NAL), conforme definida em H.264 ou HEVC, antes da transmissão ou durante o processo de codificação, adiciona algum endereço aos blocos de dados, o que permite a identificação de cada bloco e a reordenação de blocos, se aplicável. Em uma situação padrão, não é exigida nenhuma sinalização adicional, uma vez que a ordem dos elementos de codificação está sempre pela ordem de decodificação, que é uma atribuição implícita da posição da tile ou fragmento de codificação geral.
[059] Se for considerado o processamento paralelo com uma camada de transporte adicional para o transporte paralelo de atraso, isto é, a camada de transporte pode reordenar as partições da imagem para tiles para possibilitar uma transmissão de baixo atraso, o que quer dizer mandar fragmentos tal como estão codificados, tal como mostra a Fig. Esses fragmentos podem ser também fatias não completamente codificadas, podem ser um subconjunto de uma fatia ou podem estar contidos numa fatia dependente.
[060] No caso de criar fragmentos adicionais, existe um compromisso entre a eficiência, que seria a mais alta com grandes blocos de dados porque a informação do cabeçalho adiciona um número constante de bytes, e o atraso porque grandes blocos de dados dos codificadores paralelos necessitariam de ser temporariamente armazenados antes da transmissão. O atraso geral pode ser reduzido se a representação codificada das tiles verticais 906 estiver separada num número de fragmentos 916, que são transmitidos assim que um fragmento estiver completamente codificado.
[061] O tamanho de cada fragmento pode ser determinado em termos de uma zona de imagem fixada, como macroblocos, LCUs ou em termos de dados máximos, como se pode ver na Fig. 4.
[062] A Fig. 4 mostra, assim, uma fragmentação genérica de um frame com uma abordagem de codificação de tile para o mínimo atraso extremo a extremo.
[063] Similarmente, a Fig. 5 mostra uma fragmentação de um frame com uma abordagem de codificação WPP para o mínimo atraso extremo a extremo.
[064] A transmissão pode adicionar mais atraso, p. ex., se for aplicado um adicional processamento orientado para o bloco, como códigos de Correção de Erro por Prevenção a aumentar a robustez da transmissão. Além disso, a infraestrutura da rede (routers etc.) ou a ligação física pode acrescentar atraso, que é tipicamente conhecida como latência para uma ligação. Para além da latência, a taxa de bits de transmissão determina o tempo (atraso) para transferir os dados da Parte para uma Parte b, em uma conversação, como se pode ver na Fig. 6, que usa serviços de vídeo.
[065] Se os blocos de dados codificados forem transmitidos fora de ordem, é preciso reconsiderar o atraso de reordenação. A decodificação pode começar assim que chegar uma unidade de dados, presumindo que estão disponíveis outras unidades de dados que têm de ser decodificadas antes desta.
[066] No caso de tiles, não existem dependências entre tiles, podendo assim uma tile ser imediatamente decodificada. Se os fragmentos foram produzidos de uma tile, como fatias separadas por cada fragmento, como se pode ver na Fig. 4, os fragmentos podem ser diretamente transportados, assim que estiverem codificados respetivamente os seus LCUs incluídos ou os CUs.
[067] O restituidor reúne as saídas dos mecanismos de decodificação paralela e reencaminha a imagem combinada linha a linha para o visor.
[068] O visor não adicionar necessariamente qualquer atraso, mas na prática pode realizar algum processamento intra-frame antes de os dados da imagem serem realmente exibidos. Isto depende das escolhas de design do fabricante do hardware.
[069] Resumindo, nós podemos influenciar os estágios de codificação, encapsulamento, transmissão e decodificação para obter o mínimo atraso extremo a extremo. Se usarmos o processamento paralelo, tiles e fragmentação dentro das tiles, o atraso total pode ser reduzido significativamente, como se pode ver na Fig. 7, comparando com a cadeia de processamento comumente usada que acrescenta aproximadamente um frame de atraso em cada um destes estágios, como se pode ver na Fig. 8.
[070] Em particular, enquanto a Fig. 7 mostra a codificação, transmissão e decodificação para tiles com subconjuntos genéricos com o mínimo atraso extremo a extremo, a Fig. 8 ilustra um atraso extremo a extremo comumente obtido.
[071] HEVC permite o uso da partição de fatias, partição de tiles e do seguinte modo.
[072] Tile: Um número inteiro de blocos em árvore que co-ocorrem em uma coluna e em uma fila, ordenados consecutivamente em uma análise de varrimento do bloco em árvore da tile. A divisão de cada imagem em tiles é uma partição. As tiles em uma imagem são ordenadas consecutivamente na análise de varrimento da tile da imagem.
[073] Apesar de uma fatia conter blocos em árvore que são consecutivos na análise de varrimento do bloco em árvore de uma tile, estes blocos em árvore não são necessariamente consecutivos em uma análise de varrimento do bloco em árvore da imagem.
[074] Fatia: Um número inteiro de blocos em árvore ordenados consecutivamente em uma análise de varrimento. A divisão de cada imagem em fatias é uma partição. Os endereços do bloco em árvore derivam do primeiro endereço de bloco em árvore numa fatia (como representado no cabeçalho da fatia).
[075] Análise por varrimento: Um mapeamento de um padrão bidimensional retangular para um padrão unidimensional, de modo a que as primeiras entradas no padrão unidimensional são da primeira fila de cima do padrão bidimensional analisadas da esquerda para a direita, seguidas de modo similar pelas segundas, terceiras, etc., filas do padrão (a descer) cada um analisado da esquerda para a direita.
[076] Bloco em árvore: Um bloco NxN de amostras luminância e dois correspondentes blocos de crominância de uma imagem que tem três redes de amostras, ou um bloco NxN de amostras de uma imagem monocromática ou uma imagem que é codificada usando três planos de cores separados. A divisão de uma fatia em blocos de árvore é uma partição.
[077] Partição: A divisão de um conjunto em subconjuntos, de modo a que cada elemento do conjunto está em exatamente um dos subconjuntos.
[078] Quadtree: Uma árvore onde um nó parental pode ser dividido em quatro nós descendentes. Um nó descendente pode tornar-se num nó parental para ser novamente dividido em quatro nós descendentes.
[079] Em seguida, explica-se a subdivisão espacial das imagens, fatias e tiles. Em particular, a seguinte descrição especifica como uma imagem é dividida em fatias, tiles e blocos em árvore de codificação. As imagens são divididas em fatias e tiles. Uma fatia é uma sequência de blocos em árvore de codificação. De igual modo, uma tile é uma sequência de blocos em árvore de codificação. As amostras são processadas em unidades de blocos em árvore de codificação. O tamanho da rede de luminância para cada bloco em árvore em amostras tanto em largura como em altura é CtbTamanho. A largura e altura das redes de crominância para cada bloco em árvore de codificação são CtbLarguraC e CtbAlturaC, respetivamente.
[080] Por exemplo, uma imagem pode ser dividida em duas fatias, como se pode ver na figura que se segue. Outro exemplo é uma imagem que pode ser dividida em três tiles, como se pode ver na segunda figura que se segue.
[081] Ao contrário das fatias, as tiles são sempre retangulares e contêm sempre um número inteiro de blocos em árvore de codificação na análise de varrimento do bloco em árvore de codificação. Uma tile pode consistir de blocos em árvore de codificação incluídos em mais do que uma fatia. De igual modo, uma fatia pode compreender blocos em árvore de codificação incluídos em mais do que uma tile.
[082] A Fig. 9 ilustra uma imagem 898 com 11 por 9 blocos em árvore de codificação, que está dividida em duas fatias 900a, b.
[083] A Fig. 10 ilustra uma imagem 898 com 13 por 8 blocos em árvore de codificação, que está dividida em duas fatias 900a, b.
[084] Cada bloco em árvore 918 de codificação 898 tem atribuída uma sinalização de partição para identificar os tamanhos dos blocos para a intra- predição ou inter-predição e para a codificação de transformação. A partição é uma partição quadtree recursiva. A raiz do quadtree está associada ao bloco em árvore de codificação. O quadtree é dividido até chegar a uma folha, que é designada de bloco de codificação. O bloco de codificação é o nó da raiz de dias árvores, a árvore de predição e a árvore de transformação.
[085] A árvore de predição especifica a posição e o tamanho dos blocos de predição. Os blocos de predição e os dados de predição associados são designados de unidade de predição.
[086] A Fig. 11 mostra uma sintaxe RBSP do conjunto de parâmetros de sequência a título exemplificativo.
[087] A árvore de transformação especifica a posição e o tamanho dos blocos de transformação. Os blocos de transformação e os dados de transformação associados são designados de unidade de transformação.
[088] A informação de divisão para luminância e crominância é idêntica para a árvore de predição e pode ser ou não idêntica para a árvore de transformação.
[089] O bloco de codificação, os dados de codificação associados e a predição associada e as unidades de transformação formam em conjunto uma unidade de codificação.
[090] Podia ser assim um processo para uma conversão de um endereço de bloco em árvore de codificação na ordem de varrimento do bloco em árvore de codificação para a ordem de análise de tiles:
[091] Saídas deste processo são
[092] -uma rede CtbEndeTS [ctbEndeRS], com ctbEndeRS na faixa de 0 para ImaAlturaEmCtbs * ImaLarguraEmCtbs - 1, inclusive.
[093] -uma rede PlacaId [ ctbEndeTS ], com ctbEndeTS na faixa de 0 para ImaAlturaEmCtbs * ImaLarguraEmCtbs - 1, inclusive. A rede CtbEndeTS [ ] deriva do seguinte:
Figure img0001
[094] A rede PlacaId [ ] deriva do seguinte:
Figure img0002
[096] É apresentada uma correspondente sintaxe exemplificativa nas Figuras 11, 12 e 13, sendo que a Fig. 12 tem uma sintaxe RBSP do conjunto de parâmetros de imagem exemplificativa. A Fig. 13 mostra um exemplo de sintaxe de cabeçalho de fatia.
[097] No exemplo de sintaxe, podem aplicar-se as seguintes semânticas:
[098] entropia_fatia_bandeira igual a 1 especifica que o valor dos elementos de sintaxe do cabeçalho da fatia não presente está inferido para ser igual ao valor dos elementos de sintaxe do cabeçalho da fatia numa fatia procedente, em que uma fatia procedente está definida como a fatia que contém o bloco em árvore de codificação com localização (FatiaCtbEndeRS - 1). entropia_fatia_bandeira deve ser igual a 0 quando FatiaCtbEndeRS é igual a 0.
[099] tiles_ou_entropia_codificação_sinc_idc igual a 0 especifica que existe apenas uma tile em ada imagem na sequência de vídeo codificada, e não é invocado nenhum processo de sincronização específico para variáveis de contexto antes de decodificar o primeiro bloco em árvore de codificação de uma fila de blocos em árvore de codificação.
[100] tiles_ou_entropia_codificação_sinc_idc igual a 1 especifica que existe apenas uma tile em cada imagem na sequência de vídeo codificada, e não é invocado nenhum processo de sincronização específico para variáveis de contexto antes de decodificar o primeiro bloco em árvore de codificação de uma fila de blocos em árvore de codificação.
[101] tiles_ou_entropia_codificação_sinc_idc igual a 2 especifica que existe apenas uma tile em cada imagem na sequência de vídeo codificada, e é invocado um processo de sincronização específico para variáveis de contexto antes de decodificar o primeiro bloco em árvore de codificação de uma fila de blocos em árvore de codificação, e é invocado um processo de memorização específico para variáveis de contexto depois de decodificar dois blocos em árvore de codificação de uma fila de blocos em árvore de codificação.
[102] O valor de tiles_ou_entropia_codificação_sinc_idc deve estar na faixa entre 0 e 2, inclusive.
[103] num_tile_colunas_menos1 mais 1 especifica o número de partição de colunas de tiles na imagem.
[104] num_tile_filas_menos1 mais 1 especifica o número de partição de filas na imagem.
[105] Quando num_tile_colunas_menos1 é igual a 0, num_tile_filas_menos1 não deve ser igual a 0.
[106] Uma ou ambas as seguintes condições devem ser cumpridas para cada fatia e tile:
[107] - Todos os blocos codificados numa fatia pertencem à mesma tile.
[108] - Todos os blocos codificados em uma tile pertencem à mesma fatia.
[109] NOTA - Dentro da mesma imagem, pode haver ambas as fatias que contêm múltiplas tiles e tiles que contêm múltiplas fatias.
[110] uniforme_espaçamento_bandeira igual a 1 especifica que as fronteiras de coluna e igualmente as fronteiras de fila são distribuídas uniformemente ao longo da imagem. uniforme_espaçamento_bandeira igual a 0 especifica que as fronteiras de coluna e igualmente as fronteiras de fila não são distribuídas uniformemente ao longo da imagem, mas sinalizadas explicitamente usando os elementos de sintaxe coluna_largura [ i ] e fila_altura [ i ].
[111] coluna_largura [ i ] especifica a largura da coluna da i-ésima tile em unidades de blocos em árvore de codificação.
[112] fila_altura [ i ] especifica a altura da fila da i-ésima tile em unidades de blocos em árvore de codificação.
[113] Os valores de ColunaLargura [ i ], especificando a largura da coluna da i-ésima tile em unidades de blocos em árvore de codificação, e os valores de ColunaLarguraEmLumiAmostras [ i ], especificando a largura da coluna da i- ésima tile em unidades de amostras de luminância, são derivados do seguinte modo:
Figure img0003
[114] Os valores de FilaAltura [ i ], especificando a altura da fila de i-ésima tile em unidades de blocos em árvore de codificação, são derivados do seguinte modo:
Figure img0004
[115] Os valores de ColBd [ i ], especificando a localização da fronteira da coluna esquerda da coluna de i-ésima tile em unidades de blocos em árvore de codificação, são derivados do seguinte modo:
Figure img0005
[117] Os valores de FilaBd [ i ], especificando a localização da fronteira da fila de cima da fila da i-ésima tile em unidades de blocos em árvore de codificação, são derivados do seguinte modo:
Figure img0006
[119] num_subfluxos_menos1 mais 1 especifica o número máximo de subconjuntos incluídos numa fatia quando tiles_ou_entropia_codificação_sinc_idc é igual a a 2. Quando não está presente, o valor de num_subfluxos_menos1 é inferido para ser igual a 0.
[120] num_entrada_ponto_desvios especifica o número dos elementos sintaxe entrada_ponto_desvio [ i ] no cabeçalho da fatia. Quando tiles_ou_entropia_codificação_sinc_idc é igual a 1, o valor de num_entrada_ponto_desvios deve situar-se entre 0 e (num_tile_colunas_menos1 + 1 ) * (num_tile_filas_menos1 + 1 ) - 1, inclusive. Quando tiles_ou_entropia_codificação_sinc_idc é igual a 2, o valor de num_entrada_ponto_desvios deve situar-se entre 0 e num_subfluxos_menos1, inclusive. Quando não está presente, o valor de num_entrada_ponto_desvios é inferido para ser igual a 0.
[121] desvio_compr_menos1 mais 1 especifica o comprimento, em bits, dos elementos de sintaxe entrada_ponto_desvio [ i ].
[122] entrada_ponto_desvio [ i ] especifica o desvio do ponto de i-ésima entrada, em bytes e deve ser representado por desvio_comp_menos1 mais 1 bits. A unidade de fatias codificadas NAL consiste de subconjuntos num_entrada_ponto_desvios + 1, com valores de índice do subconjunto desde 0 até num_entrada_ponto_desvios, inclusive. O subconjunto 0 consiste dos bytes 0 para entrada_ponto_desvio [ 0 ] - 1, inclusive, da unidade de fatias codificadas NAL, subconjunto k, com k entre 1 e num_entrada_ponto_desvios - 1, inclusive, consiste de bytes entrada_ponto_desvio [ k - 1 ] para entrada_ponto_desvio [ k ] + entrada_ponto_desvio [ k - 1 ] - 1, inclusive, da unidade de fatias codificadas NAL, e o último subconjunto (com o índice de subconjunto igual a num_entrada_ponto_desvios) consiste dos restantes da unidade de fatias codificadas NAL.
[123] NOTA - O cabeça da unidade NAL e o cabeçalho da fatia de uma unidade de fatias codificadas NAL estão sempre incluídos no subconjunto 0.
[124] Quando tiles_ou_entropia_codificação_sinc_idc é igual a 1 e num_entrada_ponto_desvios é superior a 0, cada subconjunto deve conter todos os bits codificados de uma ou múltiplas tiles, e o número de subconjuntos deve ser igual ou inferior ao número de tiles na fatia.
[125] Quando tiles_ou_entropia_codificação_sinc_idc é igual a 2 e num_entrada_ponto_desvios é superior a 0, o subconjunto k, para cada um de todos os possíveis valores k, deve conter todos os bits a usar durante o processo de inicialização para o atual indicador de fluxo de bits k.
[126] Relativamente à semântica dos dados da fatia, pode aplicar-se o seguinte.
[127] end_de_fatia_bandeira igual a 0 especifica que outro macrobloco segue a fatia. end_de_fatia_bandeira igual a 1 especifica o fim da fatia e que não se segue mais nenhum macrobloco.
[128] entada_ponto_marcador_dois_3bytes é uma sequência de valor fixado de 3 bytes igual a 0x000002. Este elemento de sintaxe é chamado de prefixo marcador de entrada.
[129] tile_idx_menos_1 especifica PlacaID por ordem de análise de varrimento. A primeira tile na imagem deve ter PlacaID de 0. O valor de tile_idx_menos_1 deve situar-se entre 0 e (num_tile_colunas_menos1 + 1 ) * ( num_tile_filas_menos1 + 1 ) - 1.
[130] Um processo de análise CABAC para os dados de fatia pode ser:
[131] Este processo é invocado ao analisar elementos de sintaxe com descritor ae(v).
[132] As entradas para este processo são um pedido para um valor de um elemento de sintaxe e valores de anteriores valore de sintaxe analisados.
[133] A saída deste processo é o valor do elemento de sintaxe.
[134] Quando começar a análise dos dados de uma fatia, é invocado o processo de inicialização de um processo de análise CABAC. Quando tiles_ou_entropia_codificação_sinc_idc é igual a 2 e num_subfluxos_menos1 é superior a 0, é derivado do seguinte modo um quadro de mapeamento QuadroFluxoBit com entradas num_subfluxos_menos1 + 1 especificando um quadro de indicador de fluxos de bits para usar mais tarde na derivação do indicador de fluxos de bits atual.
[135] - QuadroFluxoBit [ 0 ] é inicializado para conter um indicador de fluxo de bits.
[136] - Para todos os índices i superiores a 0 e inferiores a num_subfluxos_menos1+1, o QuadroFluxoBit [ i ] contém um indicador de fluxo de bits para bytes entrada_ponto_desvio [ i ] após QuadroFluxo Bit [ i - 1 ].
[137] O indicador atual do fluxo de bits está definido para QuadroFluxoBit [ 0 ].
[138] O endereço de bloco mínimo do bloco em árvore de codificação que contém o bloco vizinho espacial T, ctbMinCbEndeT, é derivado usando uma localização ( x0, y0 ) da amostra de luminância em cima à esquerda do atual bloco em árvore de codificação, como, por exemplo, o que se segue.
[139] x= x0 + 2 << Log2CtbTamanho - 1 y = y0 - 1
[140] ctbMinCbEndeT = MinCbEndeZS [ x >> Log2MinCbTamanho ] [ y >> Log2MinCbTamanho ]
[141] A variável disponívelBandeiraT é obtida invocando um processo de derivação da disponibilidade do bloco de codificação apropriado com ctbMinCbEndeT como entrada.
[142] Quando começar a análise de uma árvore de codificação e tiles_ou_entropia_codificação_sinc_idc é igual a 2 e num_subfluxos_menos1 é maior que 0 ,aplica-se o seguinte.
[143] - Se CtbEndeRS % ImaLarguraEmCtbs for igual a 0, aplica-se o seguinte.
[144] - Quando disponívelBandeiraT é igual a 1, o processo de sincronização do processo de análise CABAC é invocado conforme especificado em uma subcláusula “Processo de sincronização para variáveis de contexto”.
[145] - Um processo de decodificação para decisões de binário antes de ser invocada a terminação, seguido por um processo de inicialização para o mecanismo de decodificação aritmética.
[146] - O indicador do subfluxo atual está definido para indicar QuadroFluxoBit [ i ] com o índice i derivado do seguinte modo.
[147] i = ( CtbEndeRS / PicLarguraEmCtbs ) % ( num_subfluxo_menos1 + 1 )
[148] - Caso contrário, se CtbEndeRS % PicLarguraEmCtbs for igual a 2, o processo de memorização do processo de análise CABAC é invocado conforme especificado na subcláusula “Processo de memorização para variáveis de contexto”.
[149] Um processo de inicialização podia ser o seguinte:
[150] Deste processo saem variáveis internas CABAC inicializadas.
[151] Os seus processos especiais são invocados ao iniciar a análise dos dados de uma fatia ou ao iniciar a análise dos dados de uma árvore de codificação e esta é a primeira árvore de codificação em uma tile.
[152] O processo de memorização para variáveis de contexto podia ser o seguinte:
[153] As entradas deste processo são as variáveis de contexto CABAC indexadas por ctxIdx.
[154] O que sai deste processo são variáveis QuadroEstadoSinc e QuadroMPSSinc que contêm os valores das variáveis m e n usadas no processo de inicialização das variáveis de contexto que são atribuídas a elementos de sintaxe exceto para a bandeira extremo a extremo.
[155] Para cada variável de contexto, as entradas correspondentes n e m dos quadros QuadroEstadoSinc e QuadroMPSSinc são inicializadas para o correspondente pEstadoIdx e valMPS.
[156] O processo de memorização para variáveis de contexto podia ser o seguinte:
[157] As entradas deste processo são variáveis QuadroEstadoSinc e QuadroMPSSinc que contêm os valores das variáveis m e n usadas no processo de memorização das variáveis de contexto que são atribuídas a elementos de sintaxe exceto para a bandeira extremo a extremo.
[158] As saídas deste processo são as variáveis de contexto CABAC indexadas por ctxIdx.
[159] Para cada variável de contexto, as correspondentes variáveis de contexto pEstadoIdx e valMPS são inicializadas para as correspondentes entradas n e m dos quadros QuadroEstadoSinc e QuadroMPSSinc.
[160] De seguida, é explicada uma codificação e transporte de baixo atraso usando WPP. Em particular, a discussão abaixo revela como o transporte de baixo atraso, conforme descrito na Fig. 7, pode ser aplicado a WPP. Em primeiro lugar, é importante que possa ser enviado um subconjunto da imagem antes de completar toda a imagem. Normalmente, isto pode ser conseguido usando fatias, como já foi apresentado na Fig. 5.
[161] Para reduzir o atraso comparativamente com tiles, como é apresentado nas figuras que se seguem, existe a necessidade de aplicar um único subfluxo WPP por fila de LCUs e ainda permitir a transmissão separada de cada uma dessas filas. Para manter a eficiência de codificação alta, não podem ser utilizados as fatias por cada fila/subfluxo. Por isso, abaixo é introduzida a chamada Fatia Dependente conforme definido na próxima secção. Esta fatia, por exemplo, não tem todos os campos do Cabeçalho de Fatia completo HEVC, mas os campos utilizados para Fatias entrópicas. Além disso, pode haver um interruptor para desligar o a interrupção de CABAC entre filas. No caso do WPP, o uso de contexto CABAC (setas na Fig. 14) e a predição de filas devem ser permitidos para manter o ganho da eficiência de codificação do WPP sobre as tiles.
[162] Em particular, a Fig. 14 exemplifica uma imagem 10 para WPP numa fatia regular 900 (reg. SL), e, para o processamento de baixo atraso, em fatias dependentes(OS) 920.
[163] Atualmente, o próximo padrão HEVC oferece dois tipos de partição em termos de fatias. Existe a fatia regular (normal) e a fatia entrópica. A fatia regular é completamente independente da partição da imagem exceto algumas dependências que podem estar disponíveis graças ao processo de filtro de desbloqueio nas fronteiras da fatia. A fatia entrópica é também independente, mas apenas em termos de codificação entrópica. A ideia da Fig. 14 é generalizar o conceito de fatias. Assim sendo, o próximo padrão HEVC deve oferecer dois tipos gerais de fatias: independente (regular) ou dependente. Por isso, é introduzido um novo tipo de fatia, uma Fatia Dependente.
[164] A Fatia Dependente é uma fatia que tem dependências para com a fatia anterior. As dependências são dados particulares que podem ser utilizados entre fatias em processo de decodificação entrópica e/ou processo de reconstrução de pixéis.
[165] Na Figura 14 é apresentado, a título de exemplo, um conceito de fatias dependentes. A imagem começa, por exemplo, sempre com uma fatia regular. Note-se que neste conceito o comportamento de fatia regular está ligeiramente mudado. Tipicamente, nos padrões como H264/AVC ou HEVC, a fatia regular é uma partição completamente independente e não tem de manter quaisquer dados depois da decodificação, exceto alguns dados para o processo de filtro de desbloqueio. Mas o processamento da fatia dependente que está para vir 920 só é possível referenciando os dados da fatia acima, aqui na primeira fila: fatia regular 900. Para estabelecer isso, as fatias regulares 900 devem manter os dados da última fila CU. Estes dados compreendem:
[166] - dados de mecanismo de codificação CABAC (estados do modelo de contexto de um CU a partir do qual o processo de decodificação entrópica da fatia independente pode ser inicializado),
[167] - todos os elementos de sintaxe decodificados de CUs para o processo de decodificação CABAC regular de CUs dependentes,
[168] - dados da predição do vetor intra e de movimento.
[169] Consequentemente, cada fatia dependente 920 deve realizar o mesmo procedimento - manter dados para a fatia dependente que se aproxima na mesma imagem.
[170] Na prática, estes passos adicionais não devem ser uma questão porque o processo de decodificação é, de um modo geral, forçado a guardar sempre alguns dados como os elementos de sintaxe.
[171] Nas secções abaixo, são apresentadas as possíveis mudanças para a sintaxe do padrão HEVC que são exigidas para possibilitar o conceito de fatias dependentes.
[172] A Fig. 5, por exemplo, ilustra possíveis mudanças na sintaxe RBSP do conjunto de parâmetros da imagem.
[173] A semântica do conjunto de parâmetros da imagem para fatias dependentes pode ser a seguinte:
[174] dependente_fatias_presente_bandeira igual a 1 especifica que a imagem contém fatias dependentes e a fatia do processo de decodificação de cada (regular ou dependente) deve guardar estados de decodificação entrópica e dados da predição do vetor intra e de movimento para as próximas fatias que pode ser uma fatia dependente que também pode seguir-se à fatia regular. A seguinte fatia dependente pode referenciar esses dados guardados.
[175] A Fig. 16 mostra uma possível sintaxe fatia_cabeçalho com as mudanças relativas ao estado atual do HEVC.
[176] dependente_fatia_bandeira igual a 1 especifica que o valor dos elementos de sintaxe do cabeçalho da fatia não presente está inferido para ser igual ao valor dos elementos de sintaxe do cabeçalho da fatia numa fatia procedente (regular), em que uma fatia procedente está definida como a fatia que contém o bloco em árvore de codificação com localização (FatiaCtbEndeRS - 1). dependente_fatia_bandeira deve ser igual a 0 quando FatiaCtbEndeRS é igual a 0.
[177] sem_cabac_reset_bandeira igual a 1 especifica a inicialização CABAC do estado guardado da fatia anteriormente decodificada (e não com valores iniciais). Caso contrário, isto é, se 0, inicialização CABAC independente a partir de qualquer estado da fatia anteriormente codificada, isto é, com valores iniciais.
[178] último_ctb_cabac_inic_bandeira igual a 1 especifica a inicialização CABAC a partir do estado guardado do último bloco em vário codificado da fatia anteriormente decodificada (p. ex. para tiles sempre igual a 1).
[179] Caso contrário (igual a 0), os dados de inicialização são referenciados a partir do estado guardado do segundo bloco em árvore codificado da última fila ctb (vizinha) da fatia anteriormente decodificada, se o primeiro bloco em árvore codificado da atual fatia é o primeiro bloco em árvore codificado em fila (isto é, no modo WPP), caso contrário a inicialização CABAC é realizada a partir do estado guardado do último bloco em árvore codificado da fatia anteriormente decodificada.
[180] É apresentada em baixo uma comparação dos Fatias Dependentes e outros esquemas (informativos) de partição.
[181] A Fig. 17 mostra a diferença entre fatias normais e dependentes.
[182] Uma possível codificação e transmissão dos subfluxos WPP em fatias dependentes (DS), conforme ilustrado relativamente à Fig. 18, compara uma codificação para o transporte de baixo atraso de tiles (esquerda) e WPP/DS (direita). As cruzes desenhadas contínuas a negrito na Fig. 18 mostram o mesmo momento para os dois métodos assumirem que a codificação da fila WPP demora o mesmo tempo que a codificação de uma única tile. Devido às dependências de codificação, apenas a primeira linha de WPP está pronta depois de todas as tiles terem sido codificadas. Mas a utilização da abordagem da fatia dependente permite à abordagem WPP enviar a primeira fila assim que estiver codificada. Isto é diferente das anteriores atribuições de subfluxo WPP, o “subfluxo” está definido para WPP como uma concatenação de filas CU da fatia para ser um WPP decodificado pelo mesmo fio decodificador, isto é, o mesmo núcleo/processador. Apesar de, um subfluxo por fila e por fatia entrópica também ter sido possível antes, a fatia entrópica interrompe as dependências de codificação entrópica e tem, por isso, uma menor eficiência de codificação, isto é, perde-se o ganho de eficiência WPP.
[183] Adicionalmente, a diferença de atraso entre ambas as abordagens pode ser realmente baixa, presumindo uma transmissão conforme apresentada na Fig. 19. Em particular, a Fig. 19 ilustra uma codificação WPP com transmissão de baixo atraso em conduta.
[184] Presumindo que a codificação dos últimos dois CUs de DS #1.1 na abordagem WPP na Fig. 18 não demora mais do que a transmissão da primeira fila SL #1, não existe diferença entre Tiles e WPP no caso de baixo atraso. Mas a eficiência de codificação de WP/DS ultrapassa o conceito de tile.
[185] Para aumentar a robustez para o modo de baixo atraso WPP, a Fig. 20 ilustra que se consegue melhorar a robustez usando Fatias Regulares (RS) como âncora. Na imagem apresentada na Fig. 20, uma fatia (regular) (RS) é seguida por fatias dependentes (DS). Aqui, a fatia (regular) atua como uma âncora para interromper as dependências a fatias precedentes, conseguindo-se assim mais robustez nesse ponto de inserção de uma fatia (regular). Em princípio, isto não é diferente de inserir fatias (regulares) de qualquer modo.
[186] O conceito de fatias dependentes também pode ser implementado do seguinte modo.
[187] Aqui, a Fig. 21 mostra uma possível sintaxe do cabeçalho da fatia.
[188] A semântica do cabeçalho da fatia é a seguinte:
[189] dependente_fatia_bandeira igual a 1 especifica que o valor de cada elemento de sintaxe do cabeçalho da fatia não presente é inferido para ser igual ao valor do correspondente elemento de sintaxe do cabeçalho da fatia na fatia precedente que contém o bloco em árvore de codificação, para o qual o endereço do bloco em árvore de codificação é FatiaCtbEndeRS - 1. Quando não está presente, o valor de dependente_fatia_bandeira é inferido para ser igual a 0. O valor de dependente_fatia_bandeira deve ser iguala a 0 quando FatiaCtbEndeRS é igual a 0.
[190] fatia_endereço especifica o endereço na resolução de granularidade da fatia, onde a fatia começa. O comprimento do elemento de sintaxe fatia_endereço é bits (Forro( Log2( ImaLarguraEmCtbs * ImaAlturaEmCtbs ) ) + FatiaGranularidade ).
[191] A variável FatiaCtbEndeRS, especificando o bloco em árvore de codificação em que a fatia começa por ordem de análise por varrimento do bloco em árvore de codificação, é derivada do seguinte modo.
[192] FatiaCtbEndeRS = ( fatia_endereço >> FatiaGranularidade )
[193] A variável FatiaCbEndeZS, especificando no endereço do primeiro bloco de codificação na fatia em granularidade mínima do bloco de codificação por ordem de análise z, é derivada do seguinte modo.
[194] FatiaCbEndeZS = fatia_endereço
[195] << ( ( log2_dif_máx_mín_codificação_bloco_tamanho - FatiaGranul aridade ) <<1 )
[196] A decodificação da fatia começa com a maior unidade de codificação possível ou, por outras palavras, CTU, na coordenada de iniciar a fatia.
[197] primeiro_fatia_em_ima_bandeira indica se a fatia é a primeira fatia da imagem. Se primeiro_fatia_em_ima_bandeira for igual a 1, as variáveis FatiaCbEndeZS e FatiaCtbEndeRS são ambas definidas para 0 e a decodificação começa com o primeiro bloco em árvore de codificação na imagem.
[198] ima_parâmetro_conjunto_id especifica o conjunto de parâmetros da imagem em uso. O valor de ima_parâmetros_con_id deve situar-se entre 0 e 255, inclusive.
[199] num_entrada_ponto_desvios especifica o número dos elementos sintaxe entrada_ponto_desvio [ i ] no cabeçalho da fatia. Quando tiles_ou_entropia_codificação_sinc_idc é igual a 1, o valor de num_entrada_ponto_desvios deve situar-se entre 0 e (num_tile_colunas_menos1 + 1 ) * (num_tile_filas_menos1 + 1 ) - 1, inclusive. Quando tiles_ou_entropia_codificação_sinc_idc é igual a 2, o valor de num_entrada_ponto_desvios deve situar-se na faixa de 0 até ImaAlturaEmCtbs - 1, inclusive. Quando não está presente, o valor de num_entrada_ponto_desvios é inferido para ser igual a 0.
[200] desvio_compr_menos1 mais 1 especifica o comprimento, em bits, dos elementos de sintaxe entrada_ponto_desvio [ i ].
[201] entrada_ponto_desvio [ i ] especifica o desvio do ponto de i-ésima entrada, em bytes e deve ser representado por desvio_comp_menos1 mais 1 bits. Os dados da fatia codificados após o cabeçalho da fatia consistem de subconjuntos num_entrada_ponto_desvios + 1, com valores de índice do subconjunto desde 0 até num_entrada_ponto_desvios, inclusive. O subconjunto 0 consiste dos bytes 0 para entrada_ponto_desvio [ 0 ] - 1, inclusive, dos dados da fatia codificados, subconjunto k, com k entre 1 e num_entrada_ponto_desvios - 1, inclusive, consiste de bytes entrada_ponto_desvio [ k - 1 ] para entrada_ponto_desvio [ k ] + entrada_ponto_desvio [ k - 1 ] - 1, inclusive, dos dados da fatia codificados, e o último subconjunto (com o índice de subconjunto igual a num_entrada_ponto_desvios) consiste dos restantes dos dados da fatia codificados.
[202] Quando tiles_ou_entropia_codificação_sinc_idc é igual a 1 e num_entrada_ponto_desvios é superior a 0, cada subconjunto deve conter todos os bits de exatamente uma tile, e o número de subconjuntos (isto é, o valor do num_entrada_ponto_desvios + 1) deve ser igual ou inferior ao número das tiles na fatia.
[203] NOTA - Quando tiles_ou_entropia_codificação_sinc_idc é igual a 1, cada tile tem de incluir um subconjunto de uma tile (e neste caso não é necessário sinalizar pontos de entrada) ou um número inteiro de tiles completas.
[204] Quando tiles_ou_entropia_codificação_sinc_idc é igual a 2 e num_entrada_ponto_desvios é superior a 0, cada subconjunto k com k na faixa de 0 a num_entrada_ponto_desvios - 1, inclusive, deve conter todos os bits codificados de exatamente uma fila de blocos em árvore codificados, o último subconjunto (com índice de subconjunto igual a num_entrada_ponto_desvios) deve conter todos os bits codificados dos restantes blocos de codificação incluídos na fatia, em que os restantes blocos de codificação consistem de exatamente uma fila de blocos em árvore de codificação ou de um subconjunto de uma fila de blocos em árvore de codificação, e o número de subconjuntos (isto é, o valor, de num_entrada_ponto_desvios + 1) deve ser igual ao número de filas dos blocos em árvore de codificação na fatia, em que é também contado um subconjunto de uma fila de blocos em árvore de codificação na fatia.
[205] NOTA Quando tiles_ou_entropia_codificação_sinc_idc é igual 2, uma fatia pode incluir um número de filas de blocos em árvore de codificação e um subconjunto de uma fila de blocos em árvore de codificação. Por exemplo, se uma fatia incluir duas filas e meia de blocos em árvore de codificação, o número de subconjuntos (isto é, o valor de num_entrada_ponto_desvios + 1) deve ser igual a 3.
[206] A correspondente sintaxe RBSP do conjunto de parâmetros de imagem deve ser selecionada como mostra a Fig. 22.
[207] A semântica RBSP do conjunto de parâmetros da imagem pode ser a seguinte:
[208] dependente_fatia_ativado_bandeira igual a 1 especifica a presença do elemento de sintaxe dependente_fatia_bandeira no cabeçalho da fatia para imagens codificadas referentes ao conjunto de parâmetros de imagem. dependente_fatia_ativado_bandeira igual a 0 especifica a ausência do elemento de sintaxe dependente_fatia_bandeira no cabeçalho da fatia para imagens codificadas referentes ao conjunto de parâmetros de imagem. Quando tiles_ou_entropia_codificação_sinc_idc é igual a 3, o valor de dependente_fatia_ativado_bandeira deve ser igual a 1.
[209] tiles_ou_entropia_codificação_sinc_idc igual a 0 especifica que deve haver apenas uma tile em cada imagem referente ao conjunto de parâmetros da imagem, não deve haver nenhum processo de sincronização específico para variáveis de contexto invocadas antes da decodificação do primeiro bloco em árvore de codificação de uma fila de blocos em árvore de codificação em cada imagem referente ao conjunto de parâmetros da imagem, e os valores de cabac_independente_bandeira e dependente_fatia_bandeira para imagens codificadas referentes ao conjunto de parâmetros da imagem não devem ser iguais a 1.
[210] Note-se que quando cabac_independente_bandeira e dependente_fatia_bandeira são ambos iguais a 1 para uma fatia, a fatia é uma fatia entrópica.
[211] tiles_ou_entropia_codificação_sinc_idc igual a 1 especifica que pode haver mais de uma tile em cada imagem referente ao conjunto de parâmetros da imagem, não deve haver nenhum processo de sincronização específico para variáveis de contexto invocadas antes da decodificação do primeiro bloco em árvore de codificação de uma fila de blocos em árvore de codificação em cada imagem referente ao conjunto de parâmetros da imagem, e os valores de cabac_independente_bandeira e dependente_fatia_bandeira para imagens codificadas referentes ao conjunto de parâmetros da imagem não devem ser iguais a 1.
[212] tiles_ou_entropia_codificação_sinc_idc igual a 2 especifica que deve haver apenas uma tile em cada imagem referente ao conjunto de parâmetros da imagem, um processo de sincronização específico para variáveis de contexto deve ser invocado antes da decodificação do primeiro bloco em árvore de codificação de uma fila de blocos em árvore de codificação em cada imagem referente ao conjunto de parâmetros da imagem, e um processo de memorização específico para variáveis de contexto deve ser invocado depois da decodificação de dois blocos em árvore de codificação de uma fila de blocos em árvore de codificação em cada imagem referente ao conjunto de parâmetros da imagem, e os valores de cabac_independente_bandeira e dependente_fatia_bandeira para imagens codificadas referentes ao conjunto de parâmetros da imagem não devem ser iguais a 1.
[213] tiles_ou_entropia_codificação_sinc_idc igual a 3 especifica que deve haver apenas uma tile em cada imagem referente ao conjunto de parâmetros da imagem, não deve haver nenhum processo de sincronização específico para variáveis de contexto invocadas antes da decodificação do primeiro bloco em árvore de codificação de uma fila de blocos em árvore de codificação em cada imagem referente ao conjunto de parâmetros da imagem, e os valores de cabac_independente_bandeira e dependente_fatia_bandeira para imagens codificadas referentes ao conjunto de parâmetros da imagem podem ser ambos iguais a 1.
[214] Quando dependente_fatia_ativado_bandeira deve ser iguala a 0, tiles_ou_entropia_codificação_sinc_idc não deve ser igual a 3.
[215] É um requisito da conformidade do fluxo de bits que o valor de tiles_ou_entropia_codificação_sinc_idc seja o mesmo para todos os conjuntos de parâmetros de imagem que são ativados dentro de uma sequência de vídeo codificado.
[216] Para cada fatia referente ao conjunto de parâmetros da imagem, quando tiles_ou_entropia_codificação_sinc_idc é igual a 2 e o primeiro bloco em árvore de codificação na fatia não é primeiro bloco de codificação no primeiro bloco em árvore de codificação de uma fola dos blocos em árvore de codificação, o último bloco de codificação na fatia deve pertencer à mesma fila dos blocos em árvore de codificação como o primeiro bloco de codificação na fatia.
[217] num_tile_colunas_menos1 mais 1 especifica o número de partição de colunas de tiles na imagem.
[218] num_tile_filas_menos1 mais 1 mais 1 especifica o número de partição de filas na imagem.
[219] Quando num_tile_colunas_menos1 é igual a 0, num_tile_filas_menos1 não deve ser iguala a 0, uniforme_espaçamento_bandeira igual a 1 especifica que as fronteiras de coluna e igualmente as fronteiras de fila são distribuídas uniformemente ao longo da imagem. uniforme_espaçamento_bandeira igual a 0 especifica que as fronteiras de coluna e igualmente as fronteiras de fila não são distribuídas uniformemente ao longo da imagem, mas sinalizadas explicitamente usando os elementos de sintaxe coluna_largura [ i ] e fila_altura [ i ].
[220] coluna_largura [ i ] especifica a largura da coluna da i-ésima tile em unidades de blocos em árvore de codificação.
[221] fila_altura [ i ] especifica a altura da fila da i-ésima tile em unidades de blocos em árvore de codificação.
[222] O vetor colLargura [ i ] especifica a largura da coluna da i-ésima tile em unidades de CTBs com a coluna i a estender-se desde 0 até num_tile_colunas_menos1, inclusive.
[223] O vetor CtbEndeRSparaTS [ ctbEndeRS ] especifica a conversação de um endereço CTB por ordem de análise por varrimento para um endereço CTB na ordem da análise de tile com o índice ctbEndeRS desde 0 até (imaAlturaEmCtbs * imaLarguraEmCtbs) - 1, inclusive.
[224] O vetor CtbEndeTSParaRS [ ctbEndeTS ] especifica a conversação de um endereço CTB por ordem de análise de tile para um endereço CTB na ordem da análise por varrimento com o índice ctbEndeTS desde 0 até (imaAlturaEmCtbs * imaLarguraEmCtbs) - 1, inclusive.
[225] O vetor PlacaId [ ctbEndeTS ] especifica a conversação de um endereço CTB na ordem de análise de tile para uma tile id com ctbEndeTS desde 0 até (imaAlturaEmCtbs * imaLarguraEmCtbs) - 1, inclusive.
[226] Os valores de colLargura, CtbEndeRSparaTS, CtbEndeTSparaRS e PlacaId são derivados invocando um processo de conversação e análise e varrimento de tiles CTB com ImaAlturaEmCtbs e ImaLarguraEmCtbs como entradas e a saída é atribuída a colLargura, CtbEndeRSparaTS e PlacaId.
[227] Os valores de ColunaLarguraEmLuminânciaAmostras [ i ], especificando a largura da coluna da i-ésima tile em unidades e amostras de luminância, são definidos iguais a colLargura [ i ] << Log2CtbTamanho.
[228] A rede MinCbEndeZS [ x ] [ y ], especificando a conversação de uma localização ( x, y ) em unidades de endereços mínimos CBs para um endereço CB mínimo por ordem de análise z com x desde 0 até imaLarguraEmMinCbs - 1, inclusive, e y desde 0 até imaAlturaEmMinCbs - 1, inclusive, é derivada invocando um processo de inicialização da rede de ordem de análise Z com Log2MinCbTamanho, Log2CtbTamanho, ImaAlturaEmCtbs, ImaLarguraEmCtbs, e o vetor CtbEndeRSparaTS como entradas e a saída é atribuída a MinCbEndeZS.
[229] circuito_filtro_através_tiles_ativado_bandeira é iguala 1 especifica que as operações de filtração em circuito são realizadas para além das fronteiras de tiles. circuito_filtro_através_tiles_ativado_bandeira igual a 0 especifica que as operações de filtração em circuito não são realizadas para além das fronteiras das tiles. As operações de filtração em circuito incluem o filtro de desbloqueio, desvio adaptativo de amostras e operações de filtro de circuito adaptativo. Quando não está presente, o valor de circuito_filtro_através_tiles_ativado_bandeira é inferido para ser igual a 1.
[230] cabac_independente_bandeira igual a 1 especifica que a decodificação CABAC de blocos de codificação numa fatia é independente de qualquer estado da fatia anteriormente decodificada. cabac_independente_bandeira igual a 0 especifica que a decodificação CABAC dos blocos de codificação numa fatia dependente dos estados da fatia anteriormente decodificada. Quando não está presente, o valor de cabac_independente_bandeira é inferido para ser igual a 0.
[231] Um processo de derivação para a disponibilidade de um bloco de codificação com um endereço mínimo do bloco de codificação pode ser o seguinte:
[232] As entradas para este processo são
[233] - um endereço mínimo do bloco de codificação mínCbEndeZS por ordem de análise z
[234] - o endereço atual mínimo do bloco de codificação atualMínCBEndeZS por ordem de análise z
[235] O resultado deste processo é a disponibilidade do bloco de codificação com endereço mínimo do bloco de codificação cbEndeZS por ordem de análise z cbDisponível
[236] NOTA 1 - O significado de disponibilidade é determinado quando o processo é invocado.
[237] NOTA 2 - Qualquer bloco de codificação, independentemente do seu tamanho, está associado a um endereço mínimo do bloco de codificação, que é o endereço do bloco de codificação com o tamanho mínimo do bloco de codificação por ordem de análise z.
[238] - Se uma ou mais das seguintes condições for verdadeira, cbDisponível é definido para FALSO.
[239] - mínCbEndeZS é inferior a 0
[240] - mínCbEndeZS é superior a atualMínCBEndeZS
[241] - o bloco de codificação com endereço mínimo do bloco de codificação mínCbEndeZS pertence a uma fatia diferente do que o bloco de codificação com o endereço atual mínimo do bloco de codificação atualMínCBEndeZS e o dependente_fatia_bandeira da fatia que contém o bloco de codificação com o endereço atual mínimo do bloco de codificação atualMínCBEndeZS é igual a 0.
[242] - o bloco de codificação com endereço mínimo do bloco de codificação mínCbEndeZS está contido em uma tile diferente que o bloco de codificação com o endereço atual mínimo do bloco de codificação atualMínCBEndeZS.
[243] - Caso contrário, cbDisponível é definido para VERDADEIRO.
[244] Um processo de análise CABAC para os dados de fatia pode ser:
[245] Este processo é invocado ao analisar certos elementos de sintaxe com descritor ae(v).
[246] As entradas para este processo são um pedido para um valor de um elemento de sintaxe e valores de anteriores valore de sintaxe analisados.
[247] A saída deste processo é o valor do elemento de sintaxe.
[248] Quando começar a análise dos dados de uma fatia, é invocado o processo de inicialização do processo de análise CABAC.
[249] A Fig. 23 ilustra como é usado um vizinho espacial T para invocar o processo de derivação da disponibilidade do bloco em árvore de codificação relativamente ao atual bloco em árvore de codificação (informativo).
[250] O endereço mínimo do bloco de codificação do bloco em árvore de codificação que contém o bloco vizinho espacial T (Fig. 23), ctbMinCbEndeT, é derivado usando uma localização ( x0, y0 ) da amostra de luminância em cima à esquerda do atual bloco em árvore de codificação, como, por exemplo, o que se segue. x= x0 + 2 << Log2CtbTamanho - 1 y= y0 - 1 ctbMínCbEndeT = MínCbEndeZS [ x >> Log2MinCbTamanho ] [ y >> Log2MínC bTamanho ]
[251] A variável disponívelBandeiraT é obtida invocando um processo de derivação da disponibilidade do bloco de codificação com ctbMinCbEndeT como entrada.
[252] Ao iniciar a análise de uma árvore de codificação como específica, aplicam-se os seguintes passos ordenados.
[253] O mecanismo de decodificação aritmética é inicializado do seguinte modo.
[254] Se CtbEndeRS for igual a fatia_endereço, dependente_fatia_bandeira for igual a 1 e entropia_codificação_reset_bandeira é igual a 0, aplica-se o seguinte.
[255] O processo de sincronização do processo de análise CABAC é invocado com QuadroEstadoIdxDS e QuadroMPSValDS como entrada.
[256] - Um processo de decodificação para decisões de binário antes de ser invocada a terminação, seguido por um processo de inicialização para o mecanismo de decodificação aritmética.
[257] Caso contrário, se tiles_ou_entropia_codificação_sinc_idc for iguala 2 e CtbEndeRS % ImaLarguraEmCtbs for igual a 0, aplica-se o seguinte:
[258] Quando disponívelBandeiraT é igual a 1, é invocado um processo de sincronização do processo de análise CABAC com QuadroEstadoIdxWPP e QuadroMPSValWPP como entrada.
[259] - Um processo de decodificação para decisões de binário antes de ser invocada a terminação, seguido pelo processo para o mecanismo de decodificação aritmética.
[260] Quando cabac_independente_bandeira é igual a 0 e dependente_fatia_bandeira for igual a 1, ou quando tiles_ou_entropia_codificação_sinc_idc é igual a 2, o processo de memorização é aplicado do seguinte modo.
[261] Quando tiles_ou_entropia_codificação_sinc_idc é igual a 2 e CtbEndeRS % ImaLarguraEmCtbs é igual a 2, o processo de memorização do processo de análise CABAC é invocado com QuadroEstadoIdxWPP e QuadroMPSValWPP como saída.
[262] Quando cabac_independente_bandeira é igual a 0, dependente_fatia_bandeira é igual a 1, e fim_de_fatia_bandeira é igual a 1, o processo de memorização do processo de análise CABAC é invocado com QuadroEstadoIdxDS e QuadroMPSValDS como saída.
[263] A análise dos elementos de sintaxe é feita do seguinte modo:
[264] Para cada valor pedido de um elemento de sintaxe, é derivada uma binarização.
[265] A binarização para o elemento de sintaxe e a sequência de recipientes analisados determina o fluxo do processo de decodificação.
[266] Para cada recipiente da binarização do elemento de sintaxe, que e indexado pelo recipienteIdx variável, é derivado um ctxIdx do índice de contexto.
[267] Para cada ctxIdx. é invocado o processo de decodificação aritmética.
[268] A sequência resultante ( b0..bbinIdx ) de recipientes analisados é comparada ao conjunto de cadeias de recipientes fornecido pelo processo de binarização após a decodificação de cada recipiente. Quando a sequência corresponde a uma cadeia de recipientes no conjunto fornecido, o valor correspondente é atribuído ao elemento de sintaxe.
[269] No caso de o pedido de um valor de um elemento de sintaxe ser processado para o elemento de sintaxe pcm-bandeira e de o valor decodificado de pcm_bandeira ser igual a 1, o mecanismo de decodificação é inicializado depois da decodificação de qualquer pcm_alinhamento_zero_bit, num_subsequente_pcm, e todos os pcm_amostra_luminância e pcm_amostra_dados de crominância.
[270] Por conseguinte, a descrição acima revela um decodificador como se pode ver na Fig. 24. Este decodificador, que é geralmente indicado pelo sinal de referência 5, reconstrói uma imagem 10 a partir de um fluxo de dados 12, para o qual a imagem 10 está codificada em unidades de fatias 14 nos quais a imagem 10 está dividida, sendo que o decodificador 5 está configurado para decodificar as fatias 14 a partir do fluxo de dados 12 de acordo com a ordem de fatias 16. Naturalmente, o decodificador 5 não está restringido a fatias seriamente decodificadas 14. Em vez disso, o decodificador 5 pode usar o processamento paralelo de frente de onda para decodificar as fatias 14, desde que a partição das imagens 10 em fatias 14 seja apropriada para o processamento paralelo de frente de onda. Correspondentemente, o decodificador 5 pode, por exemplo, ser um decodificador capaz de decodificar fatias 14 em paralelo de um modo escalonado começando por decodificar as fatias 14 tendo em conta a ordem da fatia16 para assim permitir o processamento de frente de onda tal como foi descrito acima e tal como será descrito abaixo também.
[271] O decodificador 5 reage a uma parte do elemento de sintaxe 18 dentro de uma fatia atual das fatias 14 para assim decodificar a fatia atual de acordo com um de pelo menos dois modos 20 e 22. De acordo com um primeiro de pelo menos dois modos, nomeadamente o modo 20, a fatia atual é decodificada a partir do fluxo de dados 12 usando a decodificação entrópica adaptativa do contexto incluindo uma derivação do contexto para além das fronteiras da fatia, isto é, para além das linhas tracejadas na Fig. 24, isto é, utilizando a informação originária da codificação/decodificação de "outras fatias por ordem de fatia 16". Além disso, a decodificação da fatia atual a partir do fluxo de dados 12 usando o primeiro modo 20 compreende uma atualização contínua das probabilidades do símbolo do CoDdec e uma inicialização das probabilidades do símbolo no início da decodificação da fatia atual, que depende dos estados guardados das probabilidades do símbolo de uma fatia anteriormente decodificada. Essa dependência foi descrita acima, por exemplo, em ligação com o “processo de sincronização para variáveis Codec”. Por fim, o primeiro modo 20 também envolve a decodificação preditiva para além das fronteiras da fatia. Essa decodificação preditiva para além das fronteiras da fatia pode, por exemplo, envolver intra-predição para além das fronteiras da fatia, isto é prever valores de amostra dentro da fatia atual com base nos valores de amostra já reconstruídos de uma “ordem de fatia 16”, fatia precedente, ou uma predição de parâmetros de codificação para além das fronteiras da fatia, como uma predição de vetores de movimento, modos de predição, modos de codificação ou idêntico.
[272] De acordo com o segundo modo 22, o decodificador 5 decodifica a fatia atual, isto é a fatia atualmente por decodificar, a partir do fluxo de dados 12 usando a decodificação entrópica adaptativa do contexto com a restrição, porém, da derivação dos contextos para não atravessar as fronteiras da fatia. Se alguma vez, por exemplo, um modelo de posições vizinhas usado para derivar o contexto para um certo elemento de sintaxe relacionado com um bloco dentro da fatia atual se estender para uma fatia vizinha, atravessando assim a fronteira da fatia atual, o correspondente atributo da respetiva parte da fatia vizinha, como o valor do correspondente elemento de sintaxe desta parte vizinha da fatia vizinha, é definido para o valor por defeito para inibir interdependências entre a fatia atual e as fatias vizinhas. Enquanto pode ocorrer uma atualização contínua das probabilidades do símbolo dos contextos tal como é o caso no primeiro modo 20, a inicialização das probabilidades do símbolo no segundo modo 22 é independente de qualquer fatia anteriormente decodificada. Além disso, a decodificação preditiva é realizada restringindo a decodificação preditiva, de modo a não atravessar as fronteiras da fatia.
[273] Para facilitar a compreensão da descrição da Fig. 24 e a descrição que se segue, faz-se referência à Fig. 25, que mostra uma possível implementação do decodificador 5 num sentido mais estrutural comparativamente com a Fig. 24. Tal como é o caso na Fig. 24, o decodificador 5 é um decodificador preditivo usando a decodificação entrópica adaptativa do contexto para decodificar o fluxo de dados, para assim obter, por exemplo, o residual da predição e os parâmetros de predição.
[274] Como se pode ver na Fig. 25, o decodificador 5 pode compreender um decodificador entrópico 24, uma fatia de desquantização e de transformação inversa 26, um combinador 28 implementado, como se pode ver na Fig. 25, por exemplo, como um adicionador e preditor 28. O decodificador entrópico 24, fatia 26 e adicionador 27 estão ligados em série entre a entrada e a saída de um decodificador 5 para a sua menção, e o preditor 28 está ligado entre a saída e o adicionador 28 e uma outra ainda sua para formar o circuito de predição juntamente com o combinador 27. Por conseguinte, o decodificador 24 tem a sua saída adicionalmente ligada a uma entrada do parâmetro de codificação do preditor 28.
[275] Apesar de a Fig. 25 dar a impressão de que o decodificador decodifica em série a imagem atual, o decodificador 5 pode, por exemplo, ser implementado para decodificar imagem 10 em paralelo. O decodificador 5 pode, por exemplo, compreender múltiplos núcleos em cada operação de acordo com os elementos 24-28 na Fig. 25. O processamento paralelo, porém, é opcional e um decodificador de operação em série 5 também é capaz de decodificar o fluxo de dados para dentro na entrada do decodificador entrópico 24.
[276] Para conseguir eficientemente a habilidade acabada de mencionar de decodificar em série ou em paralelo a imagem atual 10, o decodificador 5 opera em unidades de blocos de decodificação 30 para decodificar a imagem 10. Os blocos de codificação 30 são, por exemplo, blocos de folhas nos quais os blocos em árvore de codificação ou os maiores blocos em árvore de codificação 32 são divididos para a partição de múltiplas árvores recursiva, como a partição quadtree. Os blocos em árvore de códigos 32, por sua vez, podem estar dispostos regularmente em colunas e filas para formar uma partição regular da imagem 10 em blocos em árvore de códigos 32.
[277] Na Fig. 25, os blocos em árvore de códigos 32 são apresentados com linhas contínuas, sendo que os blocos de codificação 30 são apresentados com linhas tracejadas. Para efeitos de ilustração, é meramente exibido um bloco em árvore de códigos 32 que será ainda mais dividido em blocos de codificação 30, enquanto os outros blocos em árvore de códigos 32 são apresentados sem mais partição para assim formarem diretamente um bloco de codificação, em vez disso.
[278] O fluxo de dados 12 pode compreender uma parte da sintaxe que sinaliza como a imagem 10 é dividida em blocos de código 30.
[279] O fluxo de dados 12 transporta, para cada bloco de codificação 30, elementos de sintaxe que revelam como as fatias de 24 a 28 recuperam o conteúdo da imagem dentro desse bloco de codificação 30. Por exemplo, esses elementos de sintaxe compreendem: 1) opcionalmente, dados de partição que continuam a dividir o bloco de codificação 30 em blocos de predição, 2) opcionalmente, dados de partição que continuam a dividir o bloco de codificação 30 em blocos de transformação e/ou residuais, 3) um modo de predição que sinaliza que modo de predição deve ser usado para derivar o sinal de predição para o bloco de codificação 30, em que a granularidade à qual este modo de predição está sinalizado pode depender dos blocos decodificação 30 e/ou bloco de predição. 4) os parâmetros de predição podem ser sinalizados por bloco de codificação ou, se presente, por bloco de predição com uma espécie de parâmetro de predição enviados dependendo, por exemplo, do modo de predição. Os possíveis modos de predição podem, por exemplo, compreender a intra-predição e/ou a inter-predição. 5) Outros elementos de sintaxe podem também estar presentes, como a informação de filtração para filtrar a imagem 10 no bloco de codificação 30 para assim obter o sinal de predição e/ou o sinal reconstruído para ser reproduzido. 6) Por fim, a informação residual em forma de, nomeadamente, coeficientes de transformação podem ser compreendida num fluxo de dados para o bloco de codificação 30; em unidades de blocos residuais, os dados residuais podem ser sinalizados; por bloco residual, a decomposição espectral pode, por exemplo, realizada em unidades dos anteriormente mencionados blocos de transformação, se presente.
[280] O decodificador entrópico 24 é responsável pela obtenção dos elementos de sintaxe recentemente referidos a partir do fluxo de dados. Com esta finalidade, o decodificador entrópico 24 usa a decodificação entrópica adaptativa do contexto. Isto é, o decodificador entrópico 24 fornece vários contextos. Para derivar um certo elemento de sintaxe a partir do fluxo de dados 12, o decodificador entrópico 24 seleciona um certo contexto de entre os possíveis contextos. A seleção de entre possíveis contextos é realizada dependendo de um atributo de uma vizinhança da parte da imagem 10, à qual o elemento de sintaxe atual pertence. Para cada um dos possíveis contextos, o decodificador entrópico 24 gere probabilidades de símbolos, isto é, uma estimativa de probabilidade para cada possível símbolo do alfabeto de símbolos com base no qual o decodificador entrópico 24 opera. A “gestão” envolve as contínuas atualizações mencionadas das probabilidades do símbolo dos contextos, de modo a adaptar as probabilidades do símbolo associadas a cada contexto ao conteúdo atual da imagem. Através desta medida, as probabilidades do símbolo são adaptadas às atuais estatísticas de probabilidade dos símbolos.
[281] Outra circunstância em que os atributos vizinhos influenciam a reconstrução de uma parte da imagem 10, como um bloco de codificação atual 30, é a decodificação preditiva dentro do preditor 28. A predição é restringida não apenas a um conteúdo de predição dentro do atual bloco de codificação 30, podendo também abranger a predição de parâmetros contidos dentro do fluxo de dados 12 para o bloco de codificação atual 30, como os parâmetros de predição, dados de partição ou mesmo coeficientes de transformação. Isto é, o preditor 28 pode prever conteúdo de imagem ou esses parâmetros da vizinhança mencionada, de modo a obter o sinal escrito que é depois combinado com o residual de predição conforme obtido pela fatia 26 a partir do fluxo de dados 12. No caso de parâmetros de predição, o preditor 28 pode usar elementos de sintaxe incluídos no fluxo de dados como residuais de predição, de modo a obter o valor atual do parâmetro de predição. O preditor 28 usa o último valor do parâmetro de predição para obter o sinal de predição recentemente mencionado para se combinado com o residual de predição no combinador 27.
[282] A acima mencionada “vizinhança” cobre primeiramente a parte superior esquerda da circunferência da parte atual, à qual pertence o elemento de sintaxe atualmente por decodificar entropicamente ou o elemento de sintaxe atualmente por predizer. Na Fig. 25, essa vizinhança está ilustrada em 34, a título de exemplo, para um bloco de codificação 30.
[283] Uma ordem de codificação/decodificação é definida de entre os blocos de codificação 30: a um nível mais lato, os blocos em árvore de códigos 32 da imagem 10 são analisados por uma ordem de análise 36, aqui ilustrados como uma análise por varrimento orientada por fila de cima a baixo. Dentro de cada bloco em árvore de códigos, os blocos de codificação 30 são analisados por uma primeira ordem transversal profunda, de modo a que, em cada nível hierárquico, o bloco em árvore de códigos 32 é substancialmente analisado também em uma análise por varrimento orientada por fila de cima a baixo.
[284] A ordem de codificação definida de entre os blocos de codificação 30 está em harmonia com a definição da vizinhança 34 utilizada para derivar um atributo na vizinhança de modo a selecionar contextos e/ou realizar a predição espacial, em que a vizinhança 34 cobre maioritariamente parte da imagem 10, que já foi sujeita à decodificação de acordo com a ordem de codificação. Sempre que uma parte da vizinhança 34 cobrir partes não disponíveis da imagem 10, é porque se está a usar, em vez disso, os dados por defeito. Por exemplo, um modelo da vizinhança 34 pode estender-se para fora da imagem 10. Outra possibilidade é, porém que a vizinhança 34 se estenda para uma fatia vizinha.
[285] As fatias dividem, por exemplo, a imagem 10 ao longo de uma ordem de codificação/decodificação definida ao longo dos blocos de codificação 30, isto é, cada fatia é uma sequência contínua não interrupta de blocos de codificação 30 ao longo da ordem de bloco de codificação anteriormente mencionada. Na Fig. 25, as fatias são indicadas com linhas de pontos tracejadas 14. A ordem definida de entre as fatias 14 resulta da sua composição de funcionamentos de blocos de codificação sequenciais 30 tal, como delineado acima. Se a parte do elemento de sintaxe 18 de uma certa fatia 14 indicar que o mesmo deve ser decodificado no primeiro modo, então o decodificador entrópico 24 permite a decodificação entrópica adaptativa dos contextos para derivar contextos para além das fronteiras da fatia. Isto é, a vizinhança espacial 34 é usada para selecionar contextos em dados de decodificação entrópica relativos à fatia atual 14.
[286] No caso da Fig. 25, por exemplo, o número da fatia 3 pode ser a fatia atualmente decodificada, e no elemento de sintaxe da decodificação entrópica relativamente ao bloco de codificação 30 ou alguma parte contida aí, o decodificar entrópico 24 pode usar atributos originários das partes de decodificação dentro da fatia vizinha, tal como o número da fatia 1. O preditor 28 comporta-se da mesma maneira: para fatias do primeiro modo 20, o preditor 28 usa a predição espacial para além da fronteira da fatia, circundando a fatia atual.
[287] Para fatias, porém, com o segundo modo 22 associado, isto é, para o qual a parte do elemento de sintaxe 18 indica o segundo modo 22, o decodificador entrópico 24 e o preditor 28 restringem a derivação dos contextos entrópicos e a decodificação preditiva para depender dos atributos relacionados com partes dentro da fatia atual apenas. Obviamente, a eficiência de codificação sobre com esta restrição. Por outro lado, as fatias do segundo modo 22 permitem interdependências disruptivas entre a sequência de fatias. Correspondentemente, as fatias do segundo modo 22 podem ser intercaladas dentro da imagem 10 ou dentro de um vídeo, ao qual a imagem 10 pertence, para permitir pontos de sincronização. Não é necessário, porém, que cada imagem 10 tenha pelo menos uma fatia no segundo modo 22.
[288] Como já foi mencionado antes, o primeiro e o segundo modo 20 e 22 também diferem na sua inicialização das probabilidades do símbolo. As fatias codificadas no segundo modo 22, resultam no facto de o decodificador entrópico 24 reinicializar as probabilidades independentes de qualquer fatia anteriormente decodificada, isto é, previamente decodificado no sentido da ordem definida de entrem as fatias. As probabilidades do símbolo são, por exemplo, definidas para valores por defeito conhecidos pelo codificador e pelo decodificador, ou os valores de inicialização estão incluídos nas fatias codificadas num segundo modo 22.
[289] Isto é, para fatias que são codificados/decodificados num segundo modo 22, a adaptação das probabilidades do símbolo começa sempre imediatamente a partir do início dessas fatias. Correspondentemente, a precisão de adaptação é má para estas fatias no início dessas fatias.
[290] As coisas são diferentes nas fatias codificadas/decodificadas no primeiro modo 20. Para as últimas fatias, a inicialização das probabilidades do símbolo realizada pelo decodificador entrópico 24 depende dos estados guardados das probabilidades do símbolo de uma fatia anteriormente decodificada. Sempre que uma fatia codificada/decodificada num primeiro modo 20 tiver o seu início, por exemplo, não posicionado no lado esquerdo da imagem 10, isto é, não no lado a partir do qual a análise por varrimento 36 começa a funcionar por fila antes de passar para as próxima fila descendente, são adotadas as probabilidades do símbolo resultantes no fim da decodificação entrópica da fatia imediatamente antes. Isto é ilustrado, por exemplo, na Fig. 2 por uma seta 38 para a fatia n.° 4. A fatia n.° 4 tem o seu início algures entre o lado direito e o lado esquerdo da imagem 10 e correspondentemente, ao inicializar as probabilidades do símbolo, o decodificador entrópico 24 adota, na inicialização das probabilidades do símbolo, as probabilidades do símbolo que foram obtidas na decodificação entrópica da fatia imediatamente anterior, isto é, a fatia n.° 3, até ao seu fim, isto é, incluindo a atualização contínua das probabilidades do símbolo durante a decodificação entrópica da fatia 3 até ao seu fim.
[291] As fatias com o segundo modo 22 associados aí, que têm, porém, o início no lado esquerdo da imagem 10, como, por exemplo, a fatia n.° 5, não adaptam as probabilidades do símbolo conforme obtidas depois de terminar a decodificação entrópica da fatia imediatamente antes, a fatia n.° 4, porque isso iria impedir o decodificador 5 de decodificar paralelamente a imagem 10 usando o processamento de frente de onda. Em vez disso, e conforme delineado antes, o decodificador entrópico 24 adapta as probabilidades do símbolo conforme obtidas depois de terminar a decodificação entrópica do segundo - por ordem de codificação/decodificação 36 - bloco em árvore de códigos 32 na imediatamente anterior -por ordem de codificação/decodificação 36 - fila do bloco em árvore de códigos, conforme ilustrado pela seta 40.
[292] Na Fig. 25, por exemplo, a imagem 10 foi dividida, a título de exemplo, em três filas dos blocos em árvore de códigos e em quatro colunas dos blocos de raiz da árvore de codificação 32, e cada fila do bloco em árvore de códigos foi subdividida em duas fatias 14, de modo a que o início de cada segunda fatia coincida com a primeira unidade de codificação pela ordem da unidade de codificação de uma respetiva fila do bloco de raiz da árvore de códigos. O decodificador entrópico 24 seria, correspondentemente, capaz de usar o processamento de frente de onda na imagem de decodificação 10, ao decodificar cada fila do bloco de raiz da árvore de códigos em paralelo, começando a decodificação destas filas do bloco de raiz da árvore de códigos de um modo escalonado, a começar com uma primeira ou a mais acima fila do bloco de raiz da árvore de códigos, depois a segunda e depois a terceira.
[293] Naturalmente, a divisão de blocos 32 de um modo recursivo em mais blocos de codificação 30 é opcional e correspondentemente, num sentido mais lato, os blocos 32 podem ser chamados também de “blocos de codificação". Isto é, falando de um modo mais geral, a imagem10 pode ser dividida em blocos de codificação 32 dispostos em filas e colunas e com uma ordem de análise por varrimento 36 definida entre os próprios, e o decodificador 5 pode ser considerado para associar cada fatia 14 a um subconjunto contínuo dos blocos de codificação 32 pela ordem de análise de varrimento 36, de modo a que os subconjuntos sigam-se uns aos outros ao longo da ordem de análise por varrimento 36 de acordo com a ordem das fatias.
[294] A discussão também elucidou que o decodificador 5 ou, mais especificamente, o decodificador entrópico 24 pode ser configurado para guardar probabilidades de símbolo conforme obtidas na decodificação entrópica adaptativa do contexto de qualquer fatia até um segundo bloco de codificação em uma fila de bloco de codificação de acordo com a ordem de análise por varrimento 36. Na inicialização das probabilidades de símbolo pra a decodificação entrópica adaptativa do contexto de uma fatia atual com o primeiro modo 20 associado, o decodificador 5, ou, mais especificamente, o decodificador entrópico 24, verifica se um primeiro bloco de codificação 32 do subconjunto contínuo dos blocos de codificação 32 associado à fatia atual é um primeiro bloco de codificação 32 em uma fila de bloco de codificação de acordo com a ordem da análise por varrimento 36. Em caso afirmativo, as probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual são inicializadas conforme explicado relativamente à seta 40, nomeadamente dependendo das probabilidades de símbolo guardadas conforme obtidas na decodificação entrópica do contexto da fatia anteriormente decodificada até um segundo bloco de codificação na fila de codificação de acordo com a ordem da análise por varrimento 36. Em caso negativo, a inicialização das probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual é realizada dependendo das probabilidades do símbolo conforme obtidas em uma decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até ao fim da fatia anteriormente decodificada, isto é, de acordo com a seta 38. Mais uma vez, no caso da inicialização de acordo com 38, refere- se ao estado guardado no fim da decodificação entrópica da fatia imediatamente antes pela ordem das fatias 36, enquanto no caso da inicialização 40 refere-se à fatia anteriormente decodificada que compreende o fim do segundo bloco da fila imediatamente antes do bloco 32 pela ordem dos blocos 36.
[295] Conforme ilustrado pelas linhas tracejadas na Fig. 4, o decodificador pode ser configurado para reagir a uma parte do elemento de sintaxe 18 dentro da fatia atual das fatias 14 para assim decodificar a fatia atual de acordo com um de pelo menos três modos. Isto é, pode haver um terceiro modo 42 para além dos outros dois 20 e 22. O terceiro modo 42 pode diferir do segundo modo 22 pelo facto de permitir a predição para além das fronteiras da fatia, enquanto a codificação/decodificação entrópica continua a ser restringida para não atravessar as fronteiras da fatia.
[296] Em cima, as duas versões foram apresentadas relativamente à parte do elemento de sintaxe 18. O quadro em baixo resume estas duas versões.
Figure img0007
Figure img0008
[297] Em uma versão, a parte do elemento de sintaxe 18 é formada por dependente_fatia_bandeira individualmente, enquanto na outra versão, a combinação de dependente_fatia_bandeira e sem_cabac_reset_bandeira forma a parte do elemento de sintaxe. Faz-se referência ao processo de sincronização para variáveis de contexto, no que diz respeito à inicialização das probabilidades do símbolo dependentes dos estados guardados das probabilidades do símbolo de uma fatia anteriormente decodificada. Em particular, o decodificador pode ser configurado para, se último_ctb_cabac_inic_bandeira=0 e tiles_ou_entropia_codificação_sinc_idc=2, guardar probabilidades do símbolo conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até um segundo bloco de codificação em uma fila de acordo com a ordem de análise por varrimento, e, na inicialização das probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual de acordo com o primeiro modo, verificar se um primeiro bloco de codificação do subconjunto contínuo dos blocos de codificação associados à fatia atual é um primeiro bloco de codificação em uma fila de acordo com a ordem da análise por varrimento, e, em caso afirmativo, inicializar as probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo guardadas conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até um segundo bloco de codificação em uma fila de acordo com a ordem de análise por varrimento, e, em caso negativo, inicializar as probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até ao fim da fatia anteriormente decodificada.
[298] Assim sendo, por outras palavras, de acordo com a segunda versão para uma sintaxe, o decodificador iria reconstruir a imagem 10 a partir do fluxo de dados 12, no qual a imagem está codificada em unidades de fatias 14 nas quais a imagem (10) está dividida, em que o decodificador está configurado para decodificar as fatias 14 a partir do fluxo de dados 12 de acordo com uma ordem de fatias 16 e o decodificador reage a uma parte do elemento de sintaxe 18, nomeadamente dependente_fatia_bandeira dentro de uma fatia atual das fatias, de modo a decodificar a fatia atual de acordo com um dos pelos menos dois modos 20, 22.c De acordo com um primeiro 20 dos pelo menos dois modos, nomeadamente se dependente_fatia_bandeira=1, o decodificador decodifica a fatia atual a partir do fluxo de dados 12 usando a decodificação entrópica adaptativa do contexto 24 incluindo uma derivação dos contextos para além das fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização 38, 40 das probabilidades do símbolo dependendo dos estados guardados das probabilidades do símbolo de uma fatia anteriormente decodificada, e a decodificação preditiva para além das fronteiras da fatia, e de acordo com um segundo 22 de pelo menos dois modos, nomeadamente se dependente_fatia_bandeira=0, o decodificador decodifica a fatia atual a partir do fluxo de dados 12 usando a decodificação entrópica adaptativa do contexto com a restrição da derivação dos contexto, de modo a não atravessar as fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização das probabilidades do símbolo independente de qualquer fatia anteriormente decodificada, e a decodificação preditiva com restrição da decodificação preditiva para não atravessar as fronteiras da fatia. A imagem10 pode ser dividida em blocos de codificação 32 dispostos em filas e colunas e com uma ordem de análise por varrimento 36 definida entre os próprios, e o decodificador é considerado para associar cada fatia 14 a um subconjunto contínuo dos blocos de codificação 32 pela ordem de análise de varrimento 36, de modo a que os subconjuntos sigam- se uns aos outros ao longo da ordem de análise por varrimento 36 de acordo com a ordem das fatias. O decodificador pode ser configurado para, nomeadamente reagir a tiles_ou_entropia_codificação_sinc_idc=2, guardar probabilidades do símbolo conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até um segundo bloco de codificação 32 em uma fila de acordo com a ordem de análise por varrimento 36, e, na inicialização das probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual de acordo com o primeiro modo, verificar se um primeiro bloco de codificação do subconjunto contínuo dos blocos de codificação 32 associados à fatia atual é um primeiro bloco de codificação 32 em uma fila de acordo com a ordem da análise por varrimento, e, em caso afirmativo, inicializar 40 as probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo guardadas conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até um segundo bloco de codificação em uma fila de acordo com a ordem de análise por varrimento 32, e, em caso negativo, inicializar 38 as probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até ao fim da fatia anteriormente decodificada. O decodificador pode ser configurado para reagir à parte do elemento de sintaxe (18) dentro da fatia atual das fatias 14, para decodificar a fatia atual de acordo com um dos pelo menos três modos, nomeadamente no modo do primeiro 20 e um terceiro modo 42 ou um segundo modo 22, em que o decodificador está configurado para, de acordo com o terceiro modo 42, nomeadamente se dependente_fatia_bandeira=1 e tiles_ou_entropia_codificação_sinc_idc=3, decodificar a fatia atual a partir do fluxo de dados usando a decodificação entrópica adaptativa do contexto com restrição da derivação dos contextos para não atravessar as fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização das probabilidades do símbolo independente de qualquer fatia anteriormente decodificada, e a decodificação preditiva para além das fronteiras das fatias, em que o modo dos primeiro e terceiro modos está selecionado dependendo do elemento de sintaxe, nomeadamente cabac_independente_bandeira. O decodificador está ainda configurado para, nomeadamente se tiles_ou_entropia_codificação_sinc_idc=0,1,e 3 (“3” quando cabac_independente bandeira=0), guardar probabilidades do símbolo conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até um fim da fatia anteriormente decodificada, e, na inicialização das probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual de acordo com o primeiro modo, inicializar as probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo guardadas. O decodificador pode ser configurado para, nomeadamente se tiles_ou_entropia_codificação_sinc_idc=1, no primeiro e no segundo modo, restringir a decodificação preditiva dentro das tiles, nas quais a imagem está subdividida.
[299] Naturalmente, um codificador é capaz de definir a sintaxe acima apresentada de acordo com a ordem para permitir que o decodificador ganhe as vantagens acima destacadas. O codificador pode ser um processamento paralelo, como um núcleo múltiplo, codificador, mas não tem de ser. Para codificar a imagem 10 no fluxo de dados 12 em unidades de fatias 14, o codificador estaria configurado para codificar as fatias 14 para o fluxo de dados 12 de acordo com a ordem das fatias 16. O codificador iria determinar a parte do elemento de sintaxe 18 para, e codificar a mesma em, uma fatia atual das fatias, de modo a que a parte do elemento de sintaxe sinalize a fatia atual a codificar de acordo com um dos pelo menos dois modos 20, 22, e se a fatia atual deve ser codificado de acordo com um primeiro 20 dos pelo menos dois modos, codificar a fatia atual para o fluxo de dados 12 usando a codificação entrópica adaptativa do contexto 24 incluindo uma derivação dos contextos para além das fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização 38, 40 das probabilidades do símbolo dependendo dos estados guardados das probabilidades do símbolo de uma fatia anteriormente codificado, e a codificação preditiva para além das fronteiras da fatia, e se a fatia atual deve ser codificado de acordo com um segundo 22 dos pelo menos dois modos, codificar a fatia atual para o fluxo de dados 12 usando a codificação entrópica adaptativa do contexto com restrição da derivação dos contextos para não atravessar as fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização das probabilidades do símbolo independente de qualquer fatia anteriormente codificada, e a codificação preditiva com restrição da codificação preditiva para não atravessar as fronteiras da fatia. Enquanto a imagem 10 pode ser divida em blocos de codificação 32 dispostos em filas e colunas e ter uma ordem de análise por varrimento 36 definida entre eles, o codificador pode
[300] ser configurado para associar cada fatia 14 com um subconjunto contínuo dos blocos de codificação 32 na ordem de análise por varrimento 36, de modo a que os subconjuntos se seguem uns aos outros ao longo da ordem de análise por varrimento 36 de acordo com a ordem das fatias. O codificador pode ser configurado para guardar probabilidades do símbolo conforme obtidas na codificação entrópica adaptativa do contexto da fatia anteriormente codificado até um segundo bloco de codificação 32 em uma fila de acordo com a ordem de análise por varrimento 36, e, na inicialização das probabilidades do símbolo para a codificação entrópica adaptativa do contexto da fatia atual de acordo com o primeiro modo, verificar se um primeiro bloco de codificação do subconjunto contínuo dos blocos de codificação 32 associados à fatia atual é um primeiro bloco de codificação 32 em uma fila de acordo com a ordem da análise por varrimento, e, em caso afirmativo, inicializar 40 as probabilidades do símbolo para a codificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo guardadas conforme obtidas na codificação entrópica adaptativa do contexto da fatia anteriormente codificado até um segundo bloco de codificação em uma fila de acordo com a ordem de análise por varrimento 32, e, em caso negativo, inicializar 38 as probabilidades do símbolo para a codificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo conforme obtidas na codificação entrópica adaptativa do contexto da fatia anteriormente codificado até ao fim da fatia anteriormente codificado. O codificador pode ser configurado para ser uma parte do elemento de sintaxe do código (18) para a fatia atual das fatias (14), para que a fatia atual seja sinalizado para ser codificado para aí de acordo com um de pelo menos três modos, nomeadamente no modo do primeiro (20) e um terceiro modo (42) ou um segundo modo (22), em que o codificador está configurado para ** de acordo com o terceiro modo (42) codificar a fatia atual para o fluxo de dados usando a codificação entrópica adaptativa do contexto com restrição da derivação dos contextos para não atravessar as fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização das probabilidades do símbolo independente de qualquer fatia anteriormente codificada, e a codificação preditiva para além das fronteiras das fatias, em que o codificador distingue entre o modo do primeiro e terceiro modos usando um elemento de sintaxe, nomeadamente cabac_independente_bandeira, por exemplo. O codificador pode ser configurado para determinar um elemento de sintaxe genérico, como dependente_fatias_presente_bandeira e escrever o mesmo para o fluxo de dados com operação num dos pelo menos dois modos de operação genéricos dependendo do elemento de sintaxe genérico, nomeadamente, com, de acordo com um primeiro modo de operação genérico, a realização da codificação de parte do elemento de sintaxe para cada fatia, e, de acordo com um segundo modo de operação genérico, inevitavelmente usando um dos pelo menos dois modos que não seja o primeiro modo. O codificador pode ser configurado para, de acordo com o primeiro e o segundo modos, inevitavelmente e ininterruptamente continuar a atualizar continuamente as probabilidades do símbolo a partir de um começo até um fim da fatia atual. O codificador pode ser configurado para guardar probabilidades do símbolo conforme obtidas na codificação entrópica adaptativa do contexto da fatia anteriormente codificado até um fim da fatia anteriormente codificada, e, na inicialização das probabilidades do símbolo para a codificação entrópica adaptativa do contexto da fatia atual de acordo com o primeiro modo, inicializar as probabilidades do símbolo para a codificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo guardadas. O decodificador pode, no primeiro e no segundo modo, restringir a codificação preditiva dentro das tiles, nas quais a imagem está subdividida.
[301] Na Fig. 26 é apresentada, para completar, uma possível estrutura de um codificador. O preditor 70 opera quase do mesmo modo como o predito 28, isto é, realiza a predição, mas também determina, por otimização, por exemplo, os parâmetros de codificação incluindo os parâmetros de predição e os modos. As fatias 26 e 27 também ocorrem no decodificador. O subtrator 72 determina o residual de predição sem perdas que é depois, com perda - através do uso de quantização e, opcionalmente, usando a transformação de decomposição espectral -, codificado na fatia de transformação e quantização 74. O codificador entrópico 76 realiza a codificação entrópica adaptativa do contexto.
[302] Adicionalmente aos exemplos de sintaxe concretos acima, é delineado em baixo um exemplo diferente com a apresentação da concordância entre os termos usados daqui em diante e os termos usados acima.
[303] Em particular, sem ter uma particularidade acima delineada, as fatias dependentes não são apenas “dependentes” nesse mesmo permissão para explorar conhecimentos do exterior da sua fronteira, como por exemplo, conforme delineado acima, adaptar os contextos entrópicos mais rapidamente ou conseguir uma melhor predição espacial devido à permissão de atravessar as suas fronteiras.
[304] Em vez disso, para poupar custos de velocidade ao definir os cabeçalhos da fatia dividindo a imagem em fatias, as fatias dependentes adotam uma parte da sintaxe do cabeçalho da fatia das fatias anteriores, isto é, esta parte do cabeçalho de sintaxe da fatia não é transmitida novamente às fatias dependentes. Isto é apresentado, por exemplo, na Fig. 16 com 100 e na Fig. 21 com 102, de acordo com o tipo de fatia, por exemplo, é adotado a partir da fatia anterior. Através desta medida, a subdivisão de uma imagem em fatias, como uma fatia independente e fatias dependentes, é mais barata em termos de despesas de consumo de bits.
[305] É a dependência recentemente mencionada que leva, no exemplo delineado abaixo, a uma expressão ligeiramente diferente: as fatias são definidas como partes de uma unidade de uma imagem, onde a sintaxe do cabeçalho da fatia pode ser individualmente definida. Correspondentemente, as fatias são compostas por um - usando a nomenclatura acima - fatia independente/regular/normal, agora chamado de fatia independente e sem, com um ou mais - usando a nomenclatura acima - fatias dependentes, agora chamados segmentos de fatia dependentes.
[306] A Fig. 27, por exemplo, mostra uma imagem para ser dividida em duas fatias, uma formado por segmentos de fatia 141 a 143 e a outra meramente formada pelo segmento de fatia 144. Os índices de 1 a 4 mostram a ordem de fatias por ordem de codificação. A Fig. 28a e b mostra um exemplo diferente no caso de uma subdivisão da imagem 10 em duas tiles, com, no caso da Fig. 28a, uma fatia formada por todos os cinco segmentos de fatia 14, cobrindo ambas as tiles 501 e 502 - o índice subindo novamente por ordem de codificação -, e, no caso da Fig. 28a, duas fatias formadas por segmentos de fatia 141 e 142e 143 e 144, respetivamente, subdividindo a tile 501, e outra fatia formando por segmentos de fatia 145-146 cobrindo a tile 502.
[307] As definições podem ser as seguintes:
[308] segmento de fatia dependente: Um segmento de fatia, para o qual os valores de alguns elementos de sintaxe do cabeçalho do segmento da fatia são inferidos a partir dos valores para o anterior segmento de fatia independente pela ordem de decodificação - anteriormente - nas versões acima - chamado de segmento dependente.
[309] segmento de fatia independente: Um segmento de fatia, para o qual os valores dos elementos de sintaxe do cabeçalho do segmento da fatia não são inferidos a partir dos valores para o anterior segmento de fatia - anteriormente - nas versões acima - chamado de segmento normal.
[310] fatia: Um número inteiro de unidades de árvore de codificação contido num segmento de fatia independente e todos os subsequentes segmentos de fatia dependentes (se houver) que precede o próximo segmento de fatia independente (se houver) dentro da mesma unidade/imagem de acesso.
[311] cabeçalho da fatia: O cabeçalho da fatia do segmento de fatia independente que é um atual segmento de fatia ou é o segmento de fatia independente que precede um atual segmento de fatia dependentes.
[312] segmento de fatia: Um número inteiro de unidades de árvore de codificação ordenado consecutivamente na análise de tiles e contido em uma única unidade NAL; a divisão de cada imagem em segmentos de fatia é a partição.
[313] cabeçalho do segmento de fatia: Uma parte de um segmento de fatia codificado que contém os elementos de dados que pertencem à primeira ou todas as unidades de árvore de codificação representado no segmento de fatia.
[314] A sinalização dos “modos” 20 e 22, isto é, “segmento de fatia dependente” e “segmento de fatia independente” pode ser a seguinte:
[315] Em algumas unidades NAL extra, como PPS, pode ser usado um elemento de sintaxe para sinalizar se a utilização de fatias dependentes é realizada ou não para uma certa imagem ou mesmo uma sequência para certas imagens:
[316] dependente_fatia_segmentos_ativado_bandeira igual a 1 especifica a presença do elemento de sintaxe dependente_fatia_segmento_bandeira nos cabeçalhos do segmento da fatia. dependente_fatia_segmentos_ativado_bandeira iguala 0 especifica a ausência do elemento de sintaxe dependente_fatia_segmento_bandeira nos cabeçalhos do segmento da fatia.
[317] dependente_fatia_segmentos_ativado_bandeira é, no âmbito, similar ao anteriormente descrito dependente_fatias_presente_bandeira .
[318] Similarmente, dependente_fatia_bandeira podia ser chamadodependente_fatia_segmento_bandeira para considerar a nomenclatura diferente relativamente às fatias.
[319] dependente_fatia_segmento_bandeira igual a 1 especifica que o valor de cada elemento de sintaxe do cabeçalho do segmento da fatia que não está presente no cabeçalho atual do segmento da fatia é inferido para ser igual ao valor do correspondente elemento de sintaxe do cabeçalho do segmento da fatia no cabeçalho da fatia, isto é, o cabeçalho do segmento da fatia do anterior segmento da fatia independente.
[320] Ao mesmo nível, como um nível de imagem, pode ser incluído o seguinte elemento de sintaxe:
[321] entropia_codificação_sinc_ativado_bandeira igual a 1 especifica que um processo de sincronização específico para varáveis de contexto é invocado antes da decodificação da unidade em árvore de codificação, que inclui o primeiro bloco em árvore de codificação de uma fila de blocos em árvore de codificação em cada tile em cada imagem referente ao PPS, e um processo de armazenamento específico para variáveis de contexto é invocado depois da decodificação da unidade em árvore de codificação que inclui o segundo bloco em árvore de codificação de uma fila de blocos em árvore de codificação em cada tile em cada imagem referente ao PPS. entropia_codificação_sinc_ativado_bandeira igual a 0 especifica que não é exigido nenhum processo de sincronização específico para variáveis de contexto para ser invocado antes da decodificação da unidade em árvore de codificação que inclui um primeiro bloco em árvore de codificação de uma fila dos blocos em árvore de codificação em cada tile em cada imagem referente a PPS, e não é exigido nenhum processo de armazenamento específico para variáveis de contexto para ser invocado depois da decodificação da unidade em árvore de codificação que inclui um segundo bloco em árvore de codificação de uma fila de blocos em árvore de codificação em cada tile em cada imagem referente ao PPS.
[322] É um requisito da conformidade do fluxo de bits que o valor de entropia_codificação_sinc_ativado_bandeira seja o mesmo para todos os PPSs que são ativados dentro de uma CVS.
[323] Quando entropia_codificação_sinc_permtido_bandeira é igual a 1 e o primeiro bloco em árvore de codificação numa fatia não é o primeiro bloco em árvore de codificação de uma fila de blocos em árvore de codificação em uma tile, é um requisito da conformidade do fluxo de bits que o último bloco em árvore de codificação na fatia pertença à mesma fila dos blocos em árvore de codificação como o primeiro bloco em árvore de codificação na fatia.
[324] Quando entropia_codificação_sinc_permtido_bandeira é igual a 1 e o primeiro bloco em árvore de codificação num segmento de fatia não é o primeiro bloco em árvore de codificação de uma fila de blocos em árvore de codificação em uma tile, é um requisito da conformidade do fluxo de bits que o último bloco em árvore de codificação no segmento de fatia pertença à mesma fila dos blocos em árvore de codificação como o primeiro bloco em árvore de codificação no segmento de fatia.
[325] Como já foi descrito, a ordem de codificação/decodificação de entre os CTBs 30 orienta-se em varrimento por fila de cima para baixo a começar pela análise da primeira tile e passando pela visita da próxima tile, se houver mais do que uma tile na imagem.
[326] O decodificador 5 - e o codificador correspondentemente - atua do seguinte modo na decodificação (codificação) entrópica sobre os segmentos da fatia 14 da imagem:
[327] A1) Sempre que um elemento de sintaxe atualmente decodificado/codificado synEl for o primeiro elemento de sintaxe de uma tile 50, o segmento da fatia 14 ou fila de CTB, começa um processo de inicialização da Fig. 29.
[328] A2) Caso contrário, a decodificação destes elemento de sintaxe ocorre usando os contextos entrópicos atuais.
[329] A3) Se o elemento atual de sintaxe foi o último elemento de sintaxe num CTB 30, começa um processo de armazenamento de contexto entrópico como mostra a Fig. 30.
[330] A4) O processo prossegue em A1) com o próximo elemento de sintaxe.
[331] No processo de inicialização, verifica-se 200 se synEI é o primeiro elemento de sintaxe de um segmento de fatia 14 ou tile 50. Em caso afirmativo, os contextos são inicializados independentemente de qualquer segmento de fatia anterior no passo 202. Em caso negativo, verifica-se 204 se synEI é o primeiro elemento de sintaxe de uma fila de CTBs 30 e se entropia_codificação_sinc_ativado_bandeira é igual a um. Em caso afirmativo, verifica-se 206 se na linha anterior dos CTBs 30 da tile igual, o segundo CTB 30 está disponível (ver Fig. 23). Em caso afirmativo, é realizada uma adoção de contexto de acordo com 40 no passo 210 usando as probabilidades do contexto atualmente guardadas para as adoções do tipo 40. Em caso negativo, os contextos são inicializados independentemente de qualquer segmento de fatia anterior no passo 202. Se a verificação 204 for negativa, verifica-se no passo 212, se synEl é o primeiro elemento de sintaxe no primeiro CTB de um segmento de fatia dependente 14 e se dependente_fatia_segmento_bandeira é igual a um, e em caso afirmativo, é realizada uma adoção de contexto de acordo com 38 no passo 214 usando as probabilidades do contexto atualmente guardadas para adoções do tipo 38. Depois de qualquer um dos passos 214, 212, 210 e 202, começa de facto a decodificação/codificação.
[332] Segmentos de fatias dependentes com dependente_fatia_segmento_bandeira igual a um, ajuda a diminuir ainda mais o atraso de codificação/decodificação com quase nenhuma penalidade na eficiência de codificação.
[333] No processo de armazenamento da Fig. 30, verifica-se no passo 300 se o codificado/decodificado synEl é o último elemento de sintaxe de um segundo CTB 30 de uma fila de CTBs 30, e se entropia_codificação_sinc_ativado_bandeira é igual a um. Em caso afirmativo, os atuais contextos entrópicos são guardados no passo 302, isto é, as probabilidades de codificação entrópica dos contextos, num armazenamento que é específico para adoções segundo 40. Similarmente, verifica-se no passo 304, adicionalmente aos passos 300 ou 302, se synEl codificado/decodificado é o último elemento de sintaxe de um segmento de fatia 14, e se dependente_fatia_segmento_bandeira é igual a um. Em caso afirmativo, os atuais contextos entrópicos são guardados no passo 306, isto é, as probabilidades de codificação entrópica dos contextos, num armazenamento que é específico para adoções segundo 38.
[334] Note-se que qualquer verificação sobre se um elemento de sintaxe é o primeiro synEl de uma fila CTB, explora por exemplo, o elemento de sintaxe fatia_endereço 400 dentro dos cabeçalhos do segmento da fatia, isto é, um elemento de sintaxe que revela a posição de um início do respetivo segmento da fatia ao longo da ordem de decodificação.
[335] Ao reconstruir a imagem 10 a partir do fluxo de dados 12 usando o processamento WPP, o decodificador é capaz de explorar exatamente a última parte da sintaxe de iniciar 400, de modo a recuperar os pontos de entrada do subfluxo WPP. Uma vez que cada segmento de fatia compreende uma parte da sintaxe de iniciar 400 indicando a posição de um início de decodificação do respetivo segmento da fatia dentro da imagem 10, o decodificador é capaz de identificar os pontos de entrada dos subfluxos WPP, nos quais os segmentos da fatia são agrupados, através da identificação, usando as partes da sintaxe de iniciar o segmento da fatia 400, começando os segmentos da fatia no lado esquerdo da imagem. O decodificador pode depois, em paralelo, decodificar os subfluxos WPP de um modo escalonado começando sequencialmente a decodificação dos subfluxos WPP de acordo com a ordem das fatias. Os segmentos da fatia podem até ser mais pequenos do que uma largura de imagem, isto é, uma fila de CTBs, de modo a que a sua transmissão possa ser intercalada entre os subfluxos WPP para reduzir ainda mais a transmissão geral do atraso extremo a extremo. O codificador fornece a cada fatia (14) uma parte da sintaxe de iniciar (400) indicando uma posição de um início de codificação da respetiva fatia dentro da imagem (10) e agruparia as fatias em subfluxos WPP, de modo a que, para cada subfluxo WPP, a primeira fatia na ordem de fatias comece no lado esquerdo da imagem. O codificador pode até, ele próprio, usar o processamento WPP na codificação da imagem: o codificador codifica em paralelo os subfluxos WPP de um modo escalonado começando sequencialmente a codificação dos subfluxos WPP de acordo com a ordem das fatias.
[336] Aliás, o último aspeto da utilização das partes da sintaxe de iniciar os segmentos da fatia como um meio para localizar os pontos de entrada dos subfluxos WPP pode ser usado sem o conceito de fatia dependente.
[337] Seria viável para todos para processar paralelamente uma imagem 10, definir as variáveis acima do seguinte modo:
Figure img0009
[338] Seria até viável misturar WPP com a partição. No caso de se poder tratar as tiles como imagens individuais: quem usar WPP seria composto por um tile com um ou mais segmentos de fatias dependentes, e a verificação no passo 300 e 208 referir-se-ia ao segundo CTB na fila CTB de cima na mesma tile, assim como os passos 204 e A1 referir-se-iam ao primeiro CTB 30 na fila CTB 30 da tile atual! Nesse caso, o quadro acima podia ser expandido:
Figure img0010
Figure img0011
[339] Breve nota; a última expansão também teria sido possível com a versão 2. A versão 2 permite o seguinte processamento:
Figure img0012
[340] Mas com as seguintes extensões, o quadro abaixo seria assim:
[341] Adicionar a semântica do conjunto de parâmetros da imagem:
[342] Se tiles_ou_entropia_codificação_sinc_idc for igual a 4, cada uma, exceto a primeira fila de CTBs, deve estar incluída numa fatia diferente com bandeira da fatia dependente definida para 1. Os CTBs de diferentes filas não têm de estar presentes na mesma fatia. Pode haver mais do que uma fatia presente por fila de CTB.
[343] Se tiles_ou_entropia_codificação_sinc_idc for igual a 5, os CTBs de cada uma, exceto a primeira tile, tem de estar incluída numa fatia diferente. Os CTBs de diferentes tiles não têm de estar presentes na mesma fatia. Pode haver mais do que uma fatia presente por tile.
[344] Ver Fig. 31, para mais explicação.
[345] Isso é, o quadro acima pode ser expandido:
Figure img0013
Figure img0014
[346] Relativamente às versões acima referidas, note-se que o decodificador pode ser configurado para, por exemplo, reagir a tiles_ou_entropia_codificação_sinc_idc=1,2, no primeiro e o segundo modo, ler informação a partir da fatia atual revelando uma subdivisão da fatia atual em subsecções paralelas, em que as subsecções paralelas podiam ser subfluxos WPP ou tiles, cessar a decodificação entrópica adaptativa do contexto no fim da primeira subsecção paralela e resumir de novo a decodificação entrópica adaptativa do contexto no início de qualquer subsequente subsecção paralela incluindo, no primeiro modo, uma inicialização das probabilidades do símbolo dependendo dos estados guardados das probabilidades do símbolo da precedente subsecção paralela e, no segundo modo, uma inicialização das probabilidades do símbolo a partir de qualquer fatia anteriormente decodificada e qualquer subsecção paralela previamente decodificada.
[347] Assim sendo, a descrição acima revelou métodos para a codificação de baixo atraso, decodificação, encapsulamento e transmissão de dados de vídeo estruturados pelo novo padrão de codificação HEVC, como estruturado em tiles, subfluxos de Processamento Paralelo de Frente de Onda (WPP), fatias ou fatias entrópicas.
[348] Especialmente, foi definido como transportar os dados paralelamente codificados num cenário de conversa para ganhar latência mínima na codificação, decodificação e processo de transmissão. Por isso, foi descrita uma abordagem de codificação, transmissão e decodificação paralela de conduta para permitir aplicações de atraso mínimas, como jogos, cirurgia remota, etc.
[349] Além disso, as versões anteriores taparam a lacuna do Processamento Paralelo de Frente de Onda (WPP) para o tornar útil em cenários de transmissões de baixo atraso. Por isso, foi apresentado um novo formato de encapsulamento para subfluxos WPP Erro! Fonte de referência não encontrada., uma fatia dependente. Esta fatia dependente pode conter dados da Fatia entrópica, um subfluxo WPP, uma fila inteira de LCUs, apenas um fragmento de uma fatia, em que o cabeçalho da fatia anteriormente transmitido também se aplica aos dados de fragmento contidos. Os dados contidos são sinalizados no cabeçalho da sub-fatia.
[350] Por fim, note-se que a mudança de nome das novas fatias também podia ser “Subconjunto/Fatias de baixo peso”, mas o nome “Fatia Dependente” foi considerado o melhor.
[351] Foi apresentada uma sinalização que descreve o nível de paralelização ao codificar e transportar.
[352] Apesar de alguns aspetos terem sido descritos no contexto de um aparelho, é claro que estes aspetos também representam uma descrição do correspondente método, em que um bloco ou dispositivo corresponde a um passo de método ou a uma característica de um passo de método. De modo análogo, os aspetos descritos no contexto de um passo de método também representam uma descrição de um correspondente bloco ou item ou característica de um correspondente aparelho. Alguns ou todos os passos do método podem ser executados (ou usados) por um aparelho de hardware, com por exemplo, um microprocessador, um computador programável ou um circuito eletrônico. Em algumas versões, um ou mais dos mais importantes passos do método podem ser executados por um aparelho destes.
[353] Dependendo de certos requisitos de implementação, as versões da invenção podem ser implementadas em hardware ou em software. A implementação pode ser realizada usando um meio de armazenamento digital, por exemplo uma disquete, um DVD, um Blu-Ray, um CD, um ROM, um PROM, um EPROM, um EEPROM ou uma memória FLASH, com sinais de controlo de leitura eletrônica guardados lá, que cooperam (ou são capazes de cooperar) com um sistema de computador programável, de modo a que seja executado o respetivo método. Por isso, o meio de armazenamento digital pode ser lido em computador.
[354] Algumas versões de acordo com a invenção compreendem um suporte de dados com sinais de controlo de leitura eletrônica, que são capazes de cooperar com um sistema de computador programável, de modo a que seja executado um dos métodos aqui descritos.
[355] De um modo geral, as versões da presente invenção podem ser implementadas como um produto de programa de computador com um código de programa, sendo o código de programa operativo para executar um dos métodos quando o produto do programa de computador corre num computador. O código de programa pode, por exemplo, ser guardado num suporte de leitura em máquina.
[356] Outras versões compreendem o programa de computador para executar um dos métodos aqui descritos, guardados num suporte de leitura em máquina.
[357] Por outras palavras, uma versão do método da invenção é, por isso, um programa de computador com um código de programa para executar um dos métodos aqui descritos, quando o programa de computador corre num computador.
[358] Outra versão dos métodos da invenção é, por isso, um suporte de dados (ou um suporte de armazenamento digital ou um suporte de leitura em computador) compreendendo, aí gravados, o programa de computador para executar um dos métodos aqui descritos. O suporte de dados, o suporte de armazenamento digital ou o suporte gravado são tipicamente tangíveis e/ou não transicionários.
[359] Outra versão do método da invenção é, por isso, um fluxo de dados ou uma sequência de sinais que representam o programa de computador para executar um dos métodos aqui descritos. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido através de uma ligação de comunicação de dados, por exemplo via Internet.
[360] Outra versão compreende um meio de processamento, por exemplo, um computador, ou um dispositivo lógico programável, configurado ou adaptado para executar um dos métodos aqui descritos.
[361] Outra versão compreende um computador com o programa de computador instalado para executar um dos métodos aqui descritos.
[362] Outra versão de acordo com a invenção compreende um aparelho ou um sistema configurado para transferir (por exemplo, eletronicamente ou opticamente) um programa de computador para executar um dos métodos aqui descritos para um receptor. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou idêntico. O aparelho ou sistema pode, por exemplo, compreender um servidor de ficheiros para transferir o programa de computador para o receptor.
[363] Em algumas versões, pode ser utilizado um dispositivo programável lógico (por exemplo uma rede de portas lógicas programáveis) para executar algumas ou todas as funcionalidades dos métodos aqui descritos. Em algumas versões, uma rede de portas lógicas programáveis pode cooperar com um microprocessador para executar um dos métodos aqui descritos. De um modo geral, os métodos são preferencialmente executados por qualquer aparelho de hardware.
[364] As versões acima descritas são meramente ilustrativas para os princípios da presente invenção. Compreende-se que as modificações e variações das disposições e dos detalhes descritos serão evidentes aos profissionais da matéria. Pretende-se, por isso, que seja limitado apenas pelo âmbito das reivindicações impendentes da patente e não pelos detalhes específicos da descrição e explicação das versões aqui constantes.

Claims (18)

1. Decodificador para reconstruir a imagem (10) a partir de um fluxo de dados (12), no qual a imagem está codificada em unidades de fatias (14) nas quais a imagem (10) está dividida, caracterizado por o decodificador estar configurado para decodificar as fatias (14) a partir do fluxo de dados (12) de acordo com uma ordem de fatias (16), e o decodificador reagir a uma parte do elemento de sintaxe (18) dentro de uma fatia atual das fatias, de modo a decodificar a fatia atual de acordo com um dos pelos menos dois modos (20, 22), e de acordo com um primeiro (20) dos pelo menos dois modos, decodificar a fatia atual a partir do fluxo de dados (12) usando a decodificação entrópica adaptativa do contexto (24) incluindo uma derivação de contextos para além das fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização (38, 40) das probabilidades do símbolo dependendo dos estados guardados das probabilidades do símbolo de uma fatia anteriormente decodificada, e a decodificação preditiva para além das fronteiras da fatia, e de acordo com um segundo (22) dos pelo menos dois modos, decodificar a fatia atual a partir do fluxo de dados (12) usando a decodificação entrópica adaptativa do contexto com restrição da derivação dos contextos de modo a não atravessar as fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização das probabilidades do símbolo independentemente de qualquer fatia anteriormente decodificada, e a decodificação preditiva com restrição da decodificação preditiva para não atravessar as fronteiras da fatia, em que a imagem (10) é dividida em blocos de codificação (32) dispostos em filas e colunas e com uma ordem de análise por varrimento (36) definida entre os próprios, e o decodificador é configurado para associar cada fatia (14) a um subconjunto contínuo dos blocos de codificação (32) pela ordem de análise de varrimento (36), de modo que os subconjuntos sigam-se uns aos outros ao longo da ordem de análise por varrimento (36) de acordo com a ordem das fatias, e em que o decodificador é configurado para guardar probabilidades do símbolo conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até um segundo bloco de codificação (32) em uma fila de acordo com a ordem de análise por varrimento (36), e, na inicialização das probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual de acordo com o primeiro modo, verificar se um primeiro bloco de codificação do subconjunto contínuo dos blocos de codificação (32) associados à fatia atual é um primeiro bloco de codificação (32) em uma fila de acordo com a ordem da análise por varrimento, e, em caso afirmativo, inicializar (40) as probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo guardadas conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até um segundo bloco de codificação em uma fila de acordo com a ordem de análise por varrimento (32), e, em caso negativo, inicializar (38) as probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até ao fim da fatia anteriormente decodificada.
2. Decodificador de acordo com a reivindicação 1, caracterizado por o decodificador ser configurado para reagir à parte do elemento de sintaxe (18) dentro da fatia atual das fatias (14), de modo a decodificar a fatia atual de acordo com um dos pelo menos três modos, nomeadamente no modo do primeiro (20) e um terceiro modo (42) ou um segundo modo (22), em que o decodificador está configurado para de acordo com um terceiro modo (42), decodificar a fatia atual a partir do fluxo de dados usando a decodificação entrópica adaptativa do contexto com restrição da derivação dos contextos de modo a não atravessar as fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização das probabilidades do símbolo independentemente de qualquer fatia anteriormente decodificada, e a decodificação preditiva para além das fronteiras da fatia, em que o modo dos primeiro e terceiro modos é selecionado em função de um elemento de sintaxe.
3. Decodificador de acordo com as reivindicações 1 ou 2, caracterizado por o decodificador estar configurado para reagir a um elemento de sintaxe genérico no fluxo de dados, de modo a operar em um de pelo menos dois modos de operação genéricos, com, de acordo com um primeiro modo de operação genérico, realizando a reação a parte do elemento de sintaxe para cada fatia, e, de acordo com um segundo modo de operação genérico, inevitavelmente usar um diferente dos pelo menos dois modos que não o primeiro modo.
4. Decodificador de acordo com qualquer uma das reivindicações 1 a 3, caracterizado por o decodificador estar configurado para, de acordo com o primeiro e o segundo modos, inevitavelmente e ininterruptamente continuar a atualizar continuamente as probabilidades do símbolo a partir de um começo até um fim da fatia atual.
5. Decodificador de acordo com qualquer uma das reivindicações 1 a 4, caracterizado por o decodificador estar configurado para guardar probabilidades do símbolo conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até um fim da fatia anteriormente decodificada.
6. Decodificador de acordo com qualquer uma das reivindicações 1 a 5, caracterizado por o decodificador estar configurado para, no primeiro e no segundo modo, restringir a decodificação preditiva dentro das tiles, nas quais a imagem está subdividida.
7. Decodificador de acordo com qualquer uma das reivindicações 1 a 6, caracterizado por o decodificador estar configurado para, no primeiro e o segundo modo, ler informação a partir da fatia atual revelando uma subdivisão da fatia atual em subsecções paralelas, cessar a decodificação entrópica adaptativa do contexto no fim da primeira subsecção paralela e resumir de novo a decodificação entrópica adaptativa do contexto no início de qualquer subsequente subsecção paralela incluindo, no primeiro modo, uma inicialização das probabilidades do símbolo dependendo dos estados guardados das probabilidades do símbolo da precedente subsecção paralela e, no segundo modo, uma inicialização das probabilidades do símbolo independentemente de qualquer fatia anteriormente decodificada e qualquer subsecção paralela previamente decodificada.
8. Decodificador de acordo com qualquer uma das reivindicações 1 a 7, caracterizado por o decodificador estar configurado para, de acordo com o primeiro (20) dos pelo menos dois modos, copiar para a fatia atual uma parte de uma sintaxe do cabeçalho da fatia a partir de uma fatia precedente decodificada no segundo modo.
9. Decodificador de acordo com qualquer uma das reivindicações 1 a 8, caracterizado por o decodificador estar configurado para reconstruir a imagem (10) a partir do fluxo de dados (12) usando o processamento WPP, em que cada fatia (14) compreende uma parte da sintaxe de iniciar (400) indicando uma posição de um início da decodificação da respetiva fatia dentro da imagem (10) e em que o decodificador está configurado para identificar pontos de entrada dos subfluxos WPP, nos quais as fatias estão agrupadas, através da identificação, usando as partes da sintaxe de iniciar fatias, iniciando fatias no lado esquerdo da imagem, e a decodificação paralela dos subfluxos WPP de um modo escalonado com um começo sequencial da decodificação dos subfluxos WPP de acordo com a ordem das fatias.
10. Decodificador de acordo com qualquer uma das reivindicações 1 a 9, caracterizado por o decodificador estar configurado para dividir blocos de transformação de crominância diferentemente dos blocos de transformação de luminância em resposta à informação no fluxo de dados.
11. Codificador para codificar uma imagem (10) para um fluxo de dados (12) em unidades de fatias (14), nos quais a imagem (10) está dividida, caracterizado por o codificador estar configurado para codificar as fatias (14) para o fluxo de dados (12) de acordo com uma ordem de fatias (16) e o codificador estar configurado para determinar a parte do elemento de sintaxe (18) para, e codificar a mesma em, uma fatia atual das fatias, de modo que a parte do elemento de sintaxe sinalize a fatia atual a codificar de acordo com um dos pelo menos dois modos (20, 22), e se a fatia atual deve ser codificada de acordo com um primeiro (20) dos pelo menos dois modos, codificar a fatia atual para o fluxo de dados (12) usando a codificação entrópica adaptativa do contexto (24) incluindo uma derivação dos contextos para além das fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização (38, 40) das probabilidades do símbolo dependendo dos estados guardados das probabilidades do símbolo de uma fatia anteriormente codificada, e a codificação preditiva para além das fronteiras da fatia, e se a fatia atual deve ser codificada de acordo com um segundo (22) dos pelo menos dois modos, codificar a fatia atual para o fluxo de dados (12) usando a codificação entrópica adaptativa do contexto com restrição da derivação dos contextos para não atravessar as fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização das probabilidades do símbolo independente de qualquer fatia anteriormente codificada, e a codificação preditiva com restrição da codificação preditiva para não atravessar as fronteiras da fatia, em que a imagem (10) está dividida em blocos de codificação (32) dispostos em filas e colunas e com uma ordem de análise por varrimento (36) definida entre os próprios, e o codificador é considerado para associar cada fatia (14) a um subconjunto contínuo dos blocos de codificação (32) pela ordem de análise de varrimento (36), de modo a que os subconjuntos sigam-se uns aos outros ao longo da ordem de análise por varrimento (36) de acordo com a ordem das fatias, e em que o codificador está configurado para guardar probabilidades do símbolo conforme obtidas na codificação entrópica adaptativa do contexto da fatia anteriormente codificada até um segundo bloco de codificação (32) em uma fila de acordo com a ordem de análise por varrimento (36), e, na inicialização das probabilidades do símbolo para a codificação entrópica adaptativa do contexto da fatia atual de acordo com o primeiro modo, verificar se um primeiro bloco de codificação do subconjunto contínuo dos blocos de codificação (32) associados à fatia atual é um primeiro bloco de codificação (32) em uma fila de acordo com a ordem da análise por varrimento, e, em caso afirmativo, inicializar (40) as probabilidades do símbolo para a codificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo guardadas conforme obtidas na codificação entrópica adaptativa do contexto da fatia anteriormente codificada até um segundo bloco de codificação em uma fila de acordo com a ordem de análise por varrimento (32), e, em caso negativo, inicializar (38) as probabilidades do símbolo para a codificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo conforme obtidas na codificação entrópica adaptativa do contexto da fatia anteriormente codificada até ao fim da fatia anteriormente codificada.
12. Codificador, de acordo com a reivindicação 11, caracterizado por o codificador estar configurado para dividir blocos de transformação de crominância diferentemente dos blocos de transformação de luminância.
13. Codificador, de acordo com a reivindicação 11, caracterizado por o codificador estar configurado para codificar a parte do elemento de sintaxe (18) dentro da fatia atual das fatias (14), de modo que a fatia atual é sinalizada para ser codificado aí de acordo com um dos pelo menos três modos, nomeadamente no modo do primeiro (20) e um terceiro modo (42) ou um segundo modo (22), em que o codificador está configurado para de acordo com um terceiro modo (42), codificar a fatia atual a partir do fluxo de dados usando a codificação entrópica adaptativa do contexto com restrição da derivação dos contextos de modo a não atravessar as fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização das probabilidades do símbolo independentemente de qualquer fatia anteriormente codificada, e a codificação preditiva para além das fronteiras da fatia, em que o codificador distingue entre o modo dos primeiro e terceiro modos usando um elemento de sintaxe.
14. Codificador de acordo com as reivindicações 11 ou 12, caracterizado por o codificador estar configurado para determinar um elemento de sintaxe genérico e escrever o mesmo para o fluxo de dados com operação em um dos pelo menos dois modos de operação genéricos dependendo do elemento de sintaxe genérico, nomeadamente, com, de acordo com um primeiro modo de operação genérico, a realização da codificação de parte do elemento de sintaxe para cada fatia, e, de acordo com um segundo modo de operação genérico, inevitavelmente usando um diferente dos pelo menos dois modos que não seja o primeiro modo.
15. Método para reconstruir uma imagem (10) a partir do fluxo de dados (12), no qual a imagem está codificada em unidades de fatias (14) nas quais a imagem (10) está dividida, caracterizado por o método compreender a decodificação das fatias (14) a partir do fluxo de dados (12) de acordo com uma ordem de fatias (16) e o método reagir a uma parte do elemento de sintaxe (18) dentro de uma fatia atual das fatias, de modo a decodificar a fatia atual de acordo com um dos pelos menos dois modos (20, 22), em que de acordo com um primeiro (20) dos pelo menos dois modos, a fatia atual é decodificada a partir do fluxo de dados (12) usando a decodificação entrópica adaptativa do contexto (24) incluindo uma derivação de contextos para além das fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização (38, 40) das probabilidades do símbolo dependendo dos estados guardados das probabilidades do símbolo de uma fatia anteriormente decodificada, e a decodificação preditiva para além das fronteiras da fatia, e de acordo com um segundo (22) dos pelo menos dois modos, a fatia atual é decodificada a partir do fluxo de dados (12) usando a decodificação entrópica adaptativa do contexto com restrição da derivação dos contextos de modo a não atravessar as fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização das probabilidades do símbolo independentemente de qualquer fatia anteriormente decodificada, e a decodificação preditiva com restrição da decodificação preditiva para não atravessar as fronteiras da fatia, em que a imagem (10) é dividida em blocos de codificação (32) dispostos em filas e colunas e com uma ordem de análise por varrimento (36) definida entre os próprios, e o método compreende associar cada fatia (14) a um subconjunto contínuo dos blocos de codificação (32) na ordem de análise de varrimento (36), de modo a que os subconjuntos sigam-se uns aos outros ao longo da ordem de análise por varrimento (36) de acordo com a ordem das fatias, e em que o método compreende guardar probabilidades do símbolo conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até um segundo bloco de codificação (32) em uma fila de acordo com a ordem de análise por varrimento (36), e, na inicialização das probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual de acordo com o primeiro modo, verificar se um primeiro bloco de codificação do subconjunto contínuo dos blocos de codificação (32) associados à fatia atual é um primeiro bloco de codificação (32) em uma fila de acordo com a ordem da análise por varrimento, e, em caso afirmativo, inicializar (40) as probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo guardadas conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até um segundo bloco de codificação em uma fila de acordo com a ordem de análise por varrimento (36), e, em caso negativo, inicializar (38) as probabilidades do símbolo para a decodificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo conforme obtidas na decodificação entrópica adaptativa do contexto da fatia anteriormente decodificada até ao fim da fatia anteriormente decodificada.
16. Método para codificar uma imagem (10) para um fluxo de dados (12) em unidades de fatias (14) nas quais a imagem (10) está dividida, caracterizado por o método compreender a codificação das fatias (14) para o fluxo de dados (12) de acordo com uma ordem de fatias (16), e o método compreender determinar uma parte elemento de sintaxe (18) para, e codificar o mesmo para, uma fatia atual das fatias, de modo a que a parte do elemento de sintaxe sinalize a fatia atual por codificar de acordo com um dos pelo menos dois modos (22, 22), e se a fatia atual deve ser codificada de acordo com um primeiro (20) dos pelo menos dois modos, codificar a fatia atual para o fluxo de dados (12) usando a codificação entrópica adaptativa do contexto (24) incluindo uma derivação de contextos para além das fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização (38, 40) das probabilidades do símbolo dependendo dos estados guardados das probabilidades do símbolo de uma fatia anteriormente codificada, e a codificação preditiva para além das fronteiras da fatia, e se a fatia atual deve ser codificada de acordo com um segundo (22) dos pelo menos dois modos, codificar a fatia atual para o fluxo de dados (12) usando a codificação entrópica adaptativa do contexto com restrição da derivação dos contextos de modo a não atravessar as fronteiras da fatia, uma atualização contínua das probabilidades do símbolo dos contextos e uma inicialização das probabilidades do símbolo independentemente de qualquer fatia anteriormente codificada, e a codificação preditiva com restrição da codificação preditiva para não atravessar as fronteiras da fatia, em que a imagem (10) é dividida em blocos de codificação (32) dispostos em filas e colunas e com uma ordem de análise por varrimento (36) definida entre os próprios, e o método compreender associar cada fatia (14) a um subconjunto contínuo dos blocos de codificação (32) pela ordem de análise de varrimento (36), de modo que os subconjuntos sigam-se uns aos outros ao longo da ordem de análise por varrimento (36) de acordo com a ordem das fatias, e em que o método ainda compreende guardar probabilidades do símbolo conforme obtidas na codificação entrópica adaptativa do contexto da fatia anteriormente codificada até um segundo bloco de codificação (32) em uma fila de acordo com a ordem de análise por varrimento (36), e, na inicialização das probabilidades do símbolo para a codificação entrópica adaptativa do contexto da fatia atual de acordo com o primeiro modo, verificar se um primeiro bloco de codificação do subconjunto contínuo dos blocos de codificação (32) associados à fatia atual é um primeiro bloco de codificação (32) em uma fila de acordo com a ordem da análise por varrimento, e, em caso afirmativo, inicializar (40) as probabilidades do símbolo para a codificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo guardadas conforme obtidas na codificação entrópica adaptativa do contexto da fatia anteriormente codificada até um segundo bloco de codificação em uma fila de acordo com a ordem de análise por varrimento (32), e, em caso negativo, inicializar (38) as probabilidades do símbolo para a codificação entrópica adaptativa do contexto da fatia atual dependendo das probabilidades do símbolo conforme obtidas na codificação entrópica adaptativa do contexto da fatia anteriormente codificada até ao fim da fatia anteriormente codificada.
17. Fluxo de dados codificado, caracterizado por usar o método de acordo com a reivindicação 16.
18. Fluxo de dados codificado, de acordo com a reivindicação 17, caracterizado por blocos de transformação de crominância serem divididos diferentemente dos blocos de transformação de luminância.
BR112014025496-6A 2012-04-13 2013-04-15 Decodificador e método para reconstruir a imagem a partir de um fluxo de dados, codificador e método para codificar uma imagem e fluxo de dados codificado BR112014025496B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261624098P 2012-04-13 2012-04-13
US61/624,098 2012-04-13
US201261666185P 2012-06-29 2012-06-29
US61/666,185 2012-06-29
PCT/EP2013/057798 WO2013153226A2 (en) 2012-04-13 2013-04-15 Low delay picture coding

Publications (2)

Publication Number Publication Date
BR112014025496A2 BR112014025496A2 (pt) 2017-09-19
BR112014025496B1 true BR112014025496B1 (pt) 2023-03-07

Family

ID=48141968

Family Applications (2)

Application Number Title Priority Date Filing Date
BR122020007621-6A BR122020007621B1 (pt) 2012-04-13 2013-04-15 Decodificador, método para reconstruir uma imagem, codificador e método para codificar uma imagem
BR112014025496-6A BR112014025496B1 (pt) 2012-04-13 2013-04-15 Decodificador e método para reconstruir a imagem a partir de um fluxo de dados, codificador e método para codificar uma imagem e fluxo de dados codificado

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR122020007621-6A BR122020007621B1 (pt) 2012-04-13 2013-04-15 Decodificador, método para reconstruir uma imagem, codificador e método para codificar uma imagem

Country Status (29)

Country Link
US (10) US10045017B2 (pt)
EP (6) EP3793200B1 (pt)
JP (7) JP5993083B2 (pt)
KR (13) KR20220164077A (pt)
CN (10) CN104620584B (pt)
AU (7) AU2013246828B2 (pt)
BR (2) BR122020007621B1 (pt)
CA (2) CA2870039C (pt)
CL (2) CL2014002739A1 (pt)
DK (5) DK2842318T3 (pt)
ES (5) ES2937793T3 (pt)
FI (1) FI3793200T3 (pt)
HK (3) HK1205839A1 (pt)
HU (5) HUE033604T2 (pt)
IL (5) IL301488B2 (pt)
LT (1) LT3793200T (pt)
MX (3) MX344485B (pt)
MY (1) MY173763A (pt)
PH (7) PH12014502303B1 (pt)
PL (4) PL3174295T3 (pt)
PT (5) PT3174295T (pt)
RS (1) RS64003B1 (pt)
RU (3) RU2603531C2 (pt)
SG (2) SG10201702988RA (pt)
SI (1) SI3793200T1 (pt)
TW (9) TWI527466B (pt)
UA (2) UA115240C2 (pt)
WO (2) WO2013153227A2 (pt)
ZA (1) ZA201407815B (pt)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2977111A1 (fr) * 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
SG10201606621XA (en) 2012-01-20 2016-09-29 Ge Video Compression Llc Coding Concept Allowing Parallel Processing, Transport Demultiplexer and Video Bitstream
CN104620584B (zh) 2012-04-13 2019-10-18 Ge视频压缩有限责任公司 可缩放数据流及网络实体
KR20130116782A (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 계층적 비디오 부호화에서의 계층정보 표현방식
JP6376719B2 (ja) * 2012-06-29 2018-08-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
SG11201408612TA (en) 2012-06-29 2015-01-29 Fraunhofer Ges Forschung Video data stream concept
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9635369B2 (en) * 2012-07-02 2017-04-25 Qualcomm Incorporated Video parameter set including HRD parameters
US10116947B2 (en) 2012-07-06 2018-10-30 Samsung Electronics Co., Ltd. Method and apparatus for coding multilayer video to include scalable extension type information in a network abstraction layer unit, and method and apparatus for decoding multilayer video
MX341067B (es) * 2012-09-26 2016-08-05 Panasonic Ip Corp America Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
AU2013322008B2 (en) * 2012-09-26 2016-10-27 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
RU2608465C1 (ru) * 2013-01-04 2017-01-18 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него и способ энтропийного декодирования сегмента слайса и устройство для него
US10419778B2 (en) * 2013-01-04 2019-09-17 Sony Corporation JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure
KR102284110B1 (ko) * 2013-01-17 2021-07-30 삼성전자주식회사 디코더 설정을 위한 비디오 부호화 방법 및 그 장치, 디코더 설정에 기초한 비디오 복호화 방법 및 그 장치
EP2983364A4 (en) * 2013-04-05 2016-12-07 Samsung Electronics Co Ltd MULTILAYER VIDEO PROCESSING AND DEVICE AND MULTILAYER VIDEO DECODING PROCESS AND DEVICE
US9973748B1 (en) * 2013-04-26 2018-05-15 Mediatek Inc. Multi-core video decoder system for decoding multiple coding rows by using multiple video decoder cores and related multi-core video decoding method
JP2015005939A (ja) * 2013-06-24 2015-01-08 ソニー株式会社 画像処理装置および方法、プログラム、並びに撮像装置
JP6445552B2 (ja) 2013-07-15 2018-12-26 ジーイー ビデオ コンプレッション エルエルシー 拡張機構を使用している層idの信号
US9912943B2 (en) * 2013-07-15 2018-03-06 Qualcomm Incorporated Signaling of bit rate information and picture rate information in VPS
US10264261B2 (en) * 2013-08-27 2019-04-16 Integrated Device Technology, Inc. Entropy encoding initialization for a block dependent upon an unencoded block
US10110910B2 (en) * 2013-10-21 2018-10-23 Vid Scale, Inc. Parallel decoding method for layered video coding
WO2015100731A1 (en) * 2014-01-03 2015-07-09 Mediatek Singapore Pte. Ltd. Methods for determining the prediction partitions
US9402083B2 (en) * 2014-04-24 2016-07-26 Vidyo, Inc. Signaling conformance points using profile space
US10827178B2 (en) 2014-05-28 2020-11-03 Arris Enterprises Llc Content aware scheduling in a HEVC decoder operating on a multi-core processor platform
CA2951009A1 (en) 2014-06-20 2015-12-23 Sony Corporation Image encoding device and method, and image decoding device and method
US20160014415A1 (en) * 2014-07-08 2016-01-14 Mediatek Inc. Method and apparatus for performing wave-front parallel encoding procedure with constraint on coding mode and/or quantization parameter selection
US10080019B2 (en) 2014-09-19 2018-09-18 Intel Corporation Parallel encoding for wireless displays
US9516147B2 (en) 2014-10-30 2016-12-06 Microsoft Technology Licensing, Llc Single pass/single copy network abstraction layer unit parser
US10148969B2 (en) * 2015-02-11 2018-12-04 Qualcomm Incorporated Of sample entry and operation point signalling in a layered video file format
CN105323586B (zh) * 2015-04-07 2016-11-09 佛山世寰智能科技有限公司 一种用于多核并行视频编码和解码的共享内存接口
US10027989B2 (en) * 2015-05-06 2018-07-17 Integrated Device Technology, Inc. Method and apparatus for parallel decoding
JP2016219913A (ja) * 2015-05-15 2016-12-22 富士通株式会社 画像符号化装置、画像符号化方法および画像符号化プログラム
US10574993B2 (en) * 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US10834444B2 (en) * 2015-08-25 2020-11-10 Sony Corporation Transmitting apparatus, transmission method, receiving apparatus, and reception method
WO2017091023A1 (ko) * 2015-11-24 2017-06-01 삼성전자 주식회사 비디오 복호화 방법 및 장치, 그 부호화 방법 및 장치
US10575007B2 (en) 2016-04-12 2020-02-25 Microsoft Technology Licensing, Llc Efficient decoding and rendering of blocks in a graphics pipeline
US10291923B2 (en) * 2016-05-24 2019-05-14 Qualcomm Incorporated Mapping of tile grouping and samples in HEVC and L-HEVC file formats
US10157480B2 (en) 2016-06-24 2018-12-18 Microsoft Technology Licensing, Llc Efficient decoding and rendering of inter-coded blocks in a graphics pipeline
US20180020228A1 (en) * 2016-07-12 2018-01-18 Mediatek Inc. Video processing system with multiple syntax parsing circuits and/or multiple post decoding circuits
US10523973B2 (en) 2016-09-23 2019-12-31 Apple Inc. Multiple transcode engine systems and methods
US11197010B2 (en) 2016-10-07 2021-12-07 Microsoft Technology Licensing, Llc Browser-based video decoder using multiple CPU threads
EP3590259A4 (en) * 2017-02-23 2020-08-19 RealNetworks, Inc. STRUCTURE AND SYNTAX OF CODING BLOCK BINARY FLOWS IN VIDEO CODING SYSTEMS AND METHODS
JP6957638B2 (ja) * 2017-03-20 2021-11-02 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 高度なビデオデータストリーム抽出および多重解像度ビデオ伝送
US11212529B2 (en) 2017-08-23 2021-12-28 Sony Semiconductor Solutions Corporation Image processing apparatus and image processing method
CN109587478B (zh) * 2017-09-29 2023-03-31 华为技术有限公司 一种媒体信息的处理方法及装置
GB2569107B (en) * 2017-11-29 2022-04-06 Displaylink Uk Ltd Managing display data
US10659781B2 (en) * 2018-04-02 2020-05-19 Tencent America LLC Concatenated coding units in flexible tree structure
RU2767601C1 (ru) * 2018-07-02 2022-03-17 Нокиа Текнолоджиз Ой Способ и устройство для связанной с тайлом адресации при кодировании видеосигнала
CN110891180B (zh) 2018-09-10 2023-11-17 华为技术有限公司 视频解码方法及视频解码器
SI3846467T1 (sl) 2018-10-04 2024-02-29 Lg Electronics Inc. Postopki za kodiranje slik na podlagi zgodovine
CN113196757B (zh) * 2018-12-20 2024-04-26 瑞典爱立信有限公司 用于使用图片中的均匀片段分割进行视频编码的方法和装置
WO2020125738A1 (en) * 2018-12-21 2020-06-25 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods using history based motion vector prediction
RU2751552C1 (ru) * 2019-01-16 2021-07-14 Телефонактиеболагет Лм Эрикссон (Пабл) Кодирование видео, содержащее равномерное мозаичное разделение с остатком
WO2020190715A1 (en) * 2019-03-15 2020-09-24 Beijing Dajia Internet Information Technology Co., Ltd. Signaling of lossless coding in video coding
JP2022526023A (ja) * 2019-04-10 2022-05-20 ホアウェイ・テクノロジーズ・カンパニー・リミテッド エンコーダ、デコーダ、および対応する方法
CN112789860A (zh) 2019-04-17 2021-05-11 株式会社 Xris 用于对图像信号进行编码/解码的方法及其装置
EP3981157A4 (en) * 2019-07-11 2022-07-06 Huawei Technologies Co., Ltd. MOTION FIELD STORAGE OPTIMIZATION FOR LINE BUFFER
BR112022005293A2 (pt) 2019-09-19 2022-09-20 Beijing Bytedance Network Tech Co Ltd Método de processamento de vídeo, aparelho para processar dados de vídeo e meios de armazenamento e de gravação não transitórios legíveis por computador
US11356685B2 (en) * 2019-09-23 2022-06-07 Qualcomm Incorproated Signaling number of sub-pictures in high-level syntax for video coding
KR20220070437A (ko) 2019-10-05 2022-05-31 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩 툴의 레벨 기반 시그널링
EP4042678A4 (en) 2019-10-12 2023-01-18 Beijing Bytedance Network Technology Co., Ltd. USE AND REPORTING OF REFINEMENT VIDEO CODING TOOLS
KR20220073834A (ko) 2019-11-05 2022-06-03 엘지전자 주식회사 영상/비디오 코딩을 위한 상위 레벨 신택스 시그널링 방법 및 장치
CA3163400A1 (en) * 2019-11-28 2021-06-03 Lg Electronics Inc. Image/video coding method and apparatus
CN114868399A (zh) 2019-12-26 2022-08-05 字节跳动有限公司 条带类型和视频层的信令通知
KR20220120566A (ko) 2019-12-26 2022-08-30 바이트댄스 아이엔씨 비디오 비트스트림들에서의 가상 참조 디코더 파라미터들의 시그널링에 대한 제약들
CN115152230A (zh) * 2019-12-27 2022-10-04 抖音视界有限公司 视频图片标头中的条带类型的信令
WO2021134054A1 (en) 2019-12-27 2021-07-01 Bytedance Inc. Subpicture signaling in video coding
CN114946174A (zh) * 2020-01-09 2022-08-26 字节跳动有限公司 层间参考图片的存在的信令通知
WO2021164783A1 (en) 2020-02-21 2021-08-26 Beijing Bytedance Network Technology Co., Ltd. Signaling of slice and tile picture partitions
JP7393267B2 (ja) * 2020-03-25 2023-12-06 株式会社ソニー・インタラクティブエンタテインメント 画像データ転送装置、画像表示システム、および画像データ転送方法
KR102359367B1 (ko) * 2020-04-07 2022-02-07 주식회사 엔씨소프트 게임 스트리밍을 위한 방법 및 장치
CN117834916A (zh) * 2020-05-22 2024-04-05 字节跳动有限公司 访问单元中图片信息的信令
US11206415B1 (en) 2020-09-14 2021-12-21 Apple Inc. Selectable transcode engine systems and methods
US11375242B1 (en) 2021-01-27 2022-06-28 Qualcomm Incorporated Compression of bitstream indexes for parallel entropy coding
CN113873253B (zh) * 2021-10-29 2023-03-10 龙思云(北京)科技有限公司 基于rdp的云应用打开优化方法及设备
CN116112683A (zh) * 2021-11-10 2023-05-12 腾讯科技(深圳)有限公司 视频压缩方法、装置、计算机设备和存储介质
EP4220561A1 (en) * 2022-02-01 2023-08-02 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding a slice of point cloud data

Family Cites Families (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020121A (en) 1990-08-16 1991-05-28 Hewlett-Packard Company Neighborhood block prediction bit compression
US5786858A (en) * 1993-01-19 1998-07-28 Sony Corporation Method of encoding image signal, apparatus for encoding image signal, method of decoding image signal, apparatus for decoding image signal, and image signal recording medium
RU2093968C1 (ru) 1995-08-02 1997-10-20 Закрытое акционерное общество "Техно-ТМ" Способ кодирования-декодирования изображений и устройство для его осуществления
JP3409552B2 (ja) 1995-12-27 2003-05-26 三菱電機株式会社 ディジタル情報符号化装置、ディジタル情報復号化装置、及びディジタル情報符号化・復号化装置
JPH09298668A (ja) 1996-05-07 1997-11-18 Mitsubishi Electric Corp ディジタル情報符号化装置、ディジタル情報復号化装置、ディジタル情報符号化・復号化装置、ディジタル情報符号化方法、及びディジタル情報復号化方法
EP0861001B1 (en) 1997-02-07 2012-05-23 Texas Instruments Incorporated Error resilient video encoding
HUP0001273A3 (en) * 1998-01-20 2000-09-28 Interactic Holdings Llc New Yo A scalable low-latency switch, interconnect apparatus, interconnect structure and method
US6754271B1 (en) * 1999-04-15 2004-06-22 Diva Systems Corporation Temporal slice persistence method and apparatus for delivery of interactive program guide
US7093028B1 (en) * 1999-12-15 2006-08-15 Microsoft Corporation User and content aware object-based data stream transmission methods and arrangements
TW488155B (en) * 2000-01-27 2002-05-21 Hewlett Packard Co Task-partitioned hybrid codec
US6493388B1 (en) 2000-04-19 2002-12-10 General Instrument Corporation Rate control and buffer protection for variable bit rate video programs over a constant rate channel
GB2377573B (en) 2001-07-11 2004-03-31 Motorola Inc Video transmission system, video tranmission unit and methods of encoding/decoding video data
US7206501B2 (en) * 2001-10-12 2007-04-17 The Directv Group, Inc. Method and apparatus for identifying MPEG picture coding types
WO2003043345A1 (en) * 2001-11-16 2003-05-22 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
JP3807342B2 (ja) * 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
US7305036B2 (en) 2002-05-14 2007-12-04 Broadcom Corporation System and method for entropy code preprocessing
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US8661496B2 (en) 2002-12-10 2014-02-25 Ol2, Inc. System for combining a plurality of views of real-time streaming interactive video
CN1751518B (zh) 2003-02-18 2010-12-01 诺基亚有限公司 图像编码方法
US20070036215A1 (en) 2003-03-03 2007-02-15 Feng Pan Fast mode decision algorithm for intra prediction for advanced video coding
US7447369B2 (en) 2003-03-07 2008-11-04 Ricoh Co., Ltd. Communication of compressed digital images
US6894628B2 (en) * 2003-07-17 2005-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
US20050185541A1 (en) * 2004-02-23 2005-08-25 Darren Neuman Method and system for memory usage in real-time audio systems
US7586924B2 (en) 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
EP1754378A1 (en) 2004-05-25 2007-02-21 Koninklijke Philips Electronics N.V. Method and device for encoding digital video data
EP1624610B1 (en) * 2004-08-06 2006-12-27 Matsushita Electric Industrial Co., Ltd. Feedback control for multicast or broadcast services
US7440626B2 (en) 2004-12-02 2008-10-21 Mitsubishi Electric Research Laboratories, Inc. Image transcoding
KR101138392B1 (ko) 2004-12-30 2012-04-26 삼성전자주식회사 색차 성분의 상관관계를 이용한 컬러 영상의 부호화,복호화 방법 및 그 장치
JP4680608B2 (ja) 2005-01-17 2011-05-11 パナソニック株式会社 画像復号装置及び方法
US7664041B2 (en) * 2005-05-26 2010-02-16 Dale Trenton Smith Distributed stream analysis using general purpose processors
US20070022215A1 (en) * 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
GB2429593A (en) 2005-08-26 2007-02-28 Electrosonic Ltd Data compressing using a wavelet compression scheme
CN102271249B (zh) 2005-09-26 2014-04-09 韩国电子通信研究院 用于可伸缩视频的感兴趣区域信息设置方法和解析方法
KR101255226B1 (ko) 2005-09-26 2013-04-16 한국과학기술원 스케일러블 비디오 코딩에서 다중 roi 설정, 복원을위한 장치 및 방법
JP4950206B2 (ja) 2005-10-11 2012-06-13 ノキア コーポレイション 効率的なスケーラブルストリーム適応のためのシステム及び方法
EP1947862B1 (en) 2005-10-14 2016-04-27 NEC Corporation Method for re-encoding image blocks, device using the same, and computer program
JP4211780B2 (ja) * 2005-12-27 2009-01-21 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
CA2845591C (en) 2006-01-05 2015-12-08 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs
WO2007081139A1 (en) 2006-01-09 2007-07-19 Lg Electronics Inc. Inter-layer prediction method for video signal
RU2384970C1 (ru) * 2006-01-09 2010-03-20 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ межслойного предсказания для видеосигнала
KR20070074453A (ko) 2006-01-09 2007-07-12 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
US8619865B2 (en) 2006-02-16 2013-12-31 Vidyo, Inc. System and method for thinning of scalable video coding bit-streams
WO2007107170A1 (en) * 2006-03-22 2007-09-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding scheme enabling precision-scalability
US8848789B2 (en) 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
WO2007114612A1 (en) * 2006-03-30 2007-10-11 Lg Electronics Inc. A method and apparatus for decoding/encoding a video signal
KR100828404B1 (ko) * 2006-05-08 2008-05-08 한국과학기술원 경계관찰질의를 이용한 데이터 스트림 처리 방법
JP2008017331A (ja) 2006-07-07 2008-01-24 Toshiba Corp パケットストリーム送信装置
US7840078B2 (en) 2006-07-10 2010-11-23 Sharp Laboratories Of America, Inc. Methods and systems for image processing control based on adjacent block characteristics
BRPI0714127A2 (pt) * 2006-07-13 2012-12-25 Qualcomm Inc codificaÇço de vÍdeo com escalabilidade de granularidade fina utilizando fragmentos alinhados por ciclo.
ES2348686T3 (es) 2006-07-13 2010-12-10 Qualcomm Incorporated Codificaciã“n de video con escalabilidad granular fina mediante fragmentos alineados con ciclos.
JP4129694B2 (ja) 2006-07-19 2008-08-06 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
US7554468B2 (en) * 2006-08-25 2009-06-30 Sony Computer Entertainment Inc, Entropy decoding methods and apparatus using most probable and least probable signal cases
JP5143829B2 (ja) 2006-09-07 2013-02-13 エルジー エレクトロニクス インコーポレイティド スケーラブルビデオコーディングされたビットストリームのデコーディング方法及び装置
CN101150719B (zh) * 2006-09-20 2010-08-11 华为技术有限公司 并行视频编码的方法及装置
EP2080383A4 (en) * 2006-10-20 2009-12-09 Nokia Corp GENERIC INDICATION OF ADJUSTMENT GUIDE FOR SCALABLE MULTIMEDIA
US8218640B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
US8218641B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
US7778277B2 (en) 2006-11-03 2010-08-17 Mediatek Inc. Timing recovery method and system thereof
US7675549B1 (en) 2006-12-08 2010-03-09 Itt Manufacturing Enterprises, Inc. Imaging architecture for region and time of interest collection and dissemination
US8345767B2 (en) 2006-12-14 2013-01-01 Nec Corporation Video encoding method, video encoding device, and video encoding program
TWI328199B (en) * 2006-12-15 2010-08-01 Via Tech Inc Method for image rendering
US9179157B2 (en) 2007-01-05 2015-11-03 Thomson Licensing Hypothetical reference decoder for scalable video coding
US20080247459A1 (en) 2007-04-04 2008-10-09 General Instrument Corporation Method and System for Providing Content Adaptive Binary Arithmetic Coder Output Bit Counting
US20100142613A1 (en) * 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
WO2008129516A2 (en) 2007-04-24 2008-10-30 Nokia Corporation Signaling of multiple decoding times in media files
TWI330987B (en) * 2007-05-18 2010-09-21 Via Tech Inc Method and apparatus for determining whether adjacent macroblocks are located in the same slice
US8180029B2 (en) 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
WO2009003885A2 (en) 2007-06-29 2009-01-08 Thomson Licensing Video indexing method, and video indexing device
KR20090004658A (ko) 2007-07-02 2009-01-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR20090004659A (ko) 2007-07-02 2009-01-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
CN100534186C (zh) 2007-07-05 2009-08-26 西安电子科技大学 基于码率预分配的jpeg2000自适应率控制系统及方法
US8873625B2 (en) * 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
WO2009027606A1 (fr) * 2007-08-24 2009-03-05 France Telecom Codage/decodage par plans de symboles, avec calcul dynamique de tables de probabilites
CA2700448A1 (en) 2007-09-28 2009-04-02 Pin-Han Ho A robust system and method for wireless data multicasting using superposition modulation
US20090097704A1 (en) 2007-10-10 2009-04-16 Micron Technology, Inc. On-chip camera system for multiple object tracking and identification
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
US20090141809A1 (en) 2007-12-04 2009-06-04 Sony Corporation And Sony Electronics Inc. Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in parallel with video
KR101291196B1 (ko) 2008-01-25 2013-07-31 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US9357233B2 (en) 2008-02-26 2016-05-31 Qualcomm Incorporated Video decoder error handling
CN101552924B (zh) * 2008-03-31 2011-08-03 深圳市融创天下科技发展有限公司 一种用于视频编码的空间预测方法
CN101568037B (zh) * 2008-04-21 2010-12-15 展讯通信(上海)有限公司 一种dvb-h手机电视流式修复的方法、终端与系统
JP4962400B2 (ja) 2008-04-30 2012-06-27 ソニー株式会社 算術復号装置
US20090316793A1 (en) * 2008-06-20 2009-12-24 Yang Zhijie Michael Method and system for adaptive deblocking for avs1-p2
US8908763B2 (en) 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
CN101320371A (zh) * 2008-07-07 2008-12-10 华南师范大学 一种基于可放缩矢量图形的空间信息分析方法
JP5449162B2 (ja) 2008-07-31 2014-03-19 三菱電機株式会社 映像符号化装置、映像符号化方法、映像再生装置、及び映像再生方法
EP2338278B1 (en) 2008-09-16 2015-02-25 Intel Corporation Method for presenting an interactive video/multimedia application using content-aware metadata
KR101007381B1 (ko) 2008-10-06 2011-01-13 주식회사 아이엠케이네트웍스 관심 영역을 고려한 영상 부호화 장치
JP5345149B2 (ja) 2008-10-10 2013-11-20 パナソニック株式会社 画像復号化装置および画像復号化方法
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
KR20110096118A (ko) * 2008-10-30 2011-08-29 톰슨 라이센싱 이미지 인코딩 장치, 이미지 인코딩 방법, 및 이미지 인코딩 프로그램
US9467699B2 (en) * 2008-12-03 2016-10-11 Hfi Innovation Inc. Method for performing parallel coding with ordered entropy slices, and associated apparatus
WO2010067505A1 (ja) * 2008-12-08 2010-06-17 パナソニック株式会社 画像復号化装置および画像復号化方法
US20120014451A1 (en) * 2009-01-15 2012-01-19 Wei Siong Lee Image Encoding Methods, Image Decoding Methods, Image Encoding Apparatuses, and Image Decoding Apparatuses
KR20110106465A (ko) 2009-01-28 2011-09-28 노키아 코포레이션 비디오 코딩 및 디코딩을 위한 방법 및 장치
JP5516843B2 (ja) 2009-01-29 2014-06-11 コマニー株式会社 3ウェイ方式のパネル連結構造及び連結金具
TWI387314B (zh) 2009-03-10 2013-02-21 Univ Nat Central Image processing apparatus and method thereof
US8514931B2 (en) 2009-03-20 2013-08-20 Ecole Polytechnique Federale De Lausanne (Epfl) Method of providing scalable video coding (SVC) video content with added media content
JP5072893B2 (ja) 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
US20100246683A1 (en) * 2009-03-27 2010-09-30 Jennifer Lois Harmon Webb Error Resilience in Video Decoding
US9112618B2 (en) 2009-07-02 2015-08-18 Qualcomm Incorporated Coding latency reductions during transmitter quieting
US8948241B2 (en) * 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US8718149B2 (en) 2009-10-29 2014-05-06 Panasonic Corporation Image coding method and image decoding method
JP2011109469A (ja) * 2009-11-18 2011-06-02 Canon Inc コンテンツ受信装置及びコンテンツ受信装置の制御方法
KR101495724B1 (ko) 2010-02-02 2015-02-25 삼성전자주식회사 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US20110196673A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Concealing lost packets in a sub-band coding decoder
US8487791B2 (en) 2010-02-18 2013-07-16 Research In Motion Limited Parallel entropy coding and decoding methods and devices
US9973768B2 (en) * 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
JP2011217044A (ja) * 2010-03-31 2011-10-27 Sony Corp 画像処理装置、画像処理方法および画像処理プログラム
JP5914962B2 (ja) * 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
BR122020007923B1 (pt) 2010-04-13 2021-08-03 Ge Video Compression, Llc Predição interplano
US20110280314A1 (en) * 2010-05-12 2011-11-17 Texas Instruments Incorporated Slice encoding and decoding processors, circuits, devices, systems and processes
US9661338B2 (en) * 2010-07-09 2017-05-23 Qualcomm Incorporated Coding syntax elements for adaptive scans of transform coefficients for video coding
US9591320B2 (en) * 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
US20120014433A1 (en) * 2010-07-15 2012-01-19 Qualcomm Incorporated Entropy coding of bins across bin groups using variable length codewords
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US20120014429A1 (en) 2010-07-15 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US8930562B2 (en) * 2010-07-20 2015-01-06 Qualcomm Incorporated Arranging sub-track fragments for streaming video data
US20120063515A1 (en) * 2010-09-09 2012-03-15 Qualcomm Incorporated Efficient Coding of Video Parameters for Weighted Motion Compensated Prediction in Video Coding
US8344917B2 (en) 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US8902988B2 (en) 2010-10-01 2014-12-02 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US20120082235A1 (en) * 2010-10-05 2012-04-05 General Instrument Corporation Coding and decoding utilizing context model selection with adaptive scan pattern
WO2012048053A2 (en) * 2010-10-05 2012-04-12 Massachusetts Institute Of Technology System and method for optimizing context-adaptive binary arithmetic coding
CN102476550B (zh) 2010-11-24 2015-09-30 上海宝信软件股份有限公司 刻印控制方法
US20120163457A1 (en) 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
FR2972588A1 (fr) * 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9325999B2 (en) 2011-03-10 2016-04-26 Sharp Kabushiki Kaisha Video decoder for slices
MX352139B (es) 2011-03-10 2017-11-10 Velos Media Int Ltd Método de decodificación de video.
GB2491164B (en) 2011-05-25 2013-09-11 Canon Kk Method and device for compression of video data
US8995523B2 (en) 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
EP2719182B1 (en) 2011-06-07 2018-05-02 Thomson Licensing Method for encoding and/or decoding images on macroblock level using intra-prediction
US10298939B2 (en) 2011-06-22 2019-05-21 Qualcomm Incorporated Quantization in video coding
US9398307B2 (en) 2011-07-11 2016-07-19 Sharp Kabushiki Kaisha Video decoder for tiles
US9584819B2 (en) 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US9247258B2 (en) 2011-10-26 2016-01-26 Qualcomm Incorporated Unified design for picture partitioning schemes
WO2013077236A1 (en) 2011-11-21 2013-05-30 Canon Kabushiki Kaisha Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and storage medium
US9578326B2 (en) 2012-04-04 2017-02-21 Qualcomm Incorporated Low-delay video buffering in video coding
CN104620584B (zh) 2012-04-13 2019-10-18 Ge视频压缩有限责任公司 可缩放数据流及网络实体
CA2870989C (en) 2012-04-23 2018-11-20 Panasonic Intellectual Property Corporation Of America Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
SG11201408612TA (en) 2012-06-29 2015-01-29 Fraunhofer Ges Forschung Video data stream concept
US9930562B2 (en) 2016-02-05 2018-03-27 Arris Enterprises Llc Utilization based control of wireless network services

Also Published As

Publication number Publication date
EP2842318A2 (en) 2015-03-04
IL295693B1 (en) 2023-04-01
EP3481068A1 (en) 2019-05-08
JP2015516747A (ja) 2015-06-11
TW201349878A (zh) 2013-12-01
TWI634794B (zh) 2018-09-01
AU2013246828B2 (en) 2016-08-25
JP6560170B2 (ja) 2019-08-14
CN108337526B (zh) 2020-10-30
IL268801A (en) 2019-10-31
CN104620584A (zh) 2015-05-13
US20200275109A1 (en) 2020-08-27
CN104641647A (zh) 2015-05-20
TWI544803B (zh) 2016-08-01
KR102472481B1 (ko) 2022-11-30
AU2022268403B2 (en) 2023-06-15
FI3793200T3 (fi) 2023-03-01
SG11201406493RA (en) 2014-11-27
RS64003B1 (sr) 2023-03-31
US11876985B2 (en) 2024-01-16
AU2023229505A1 (en) 2023-09-28
AU2022201459A1 (en) 2022-03-24
WO2013153227A3 (en) 2013-12-19
KR20150020538A (ko) 2015-02-26
PH12017501900A1 (en) 2018-06-25
IL301488B1 (en) 2023-11-01
KR20190057419A (ko) 2019-05-28
JP7140870B2 (ja) 2022-09-21
JP6133400B2 (ja) 2017-05-24
US20220224920A1 (en) 2022-07-14
CN115442610A (zh) 2022-12-06
PH12017501899B1 (en) 2018-06-25
PH12017501902A1 (en) 2018-06-25
MX344485B (es) 2016-12-16
PL3174295T3 (pl) 2019-05-31
CN108540814B (zh) 2021-03-05
RU2710908C2 (ru) 2020-01-14
EP4192012A1 (en) 2023-06-07
IL261381B (en) 2019-09-26
RU2019141081A (ru) 2021-06-16
JP2024050612A (ja) 2024-04-10
US20150023434A1 (en) 2015-01-22
HK1258728A1 (zh) 2019-11-15
KR102096566B1 (ko) 2020-04-02
RU2019141081A3 (pt) 2021-06-16
KR101981270B1 (ko) 2019-05-23
IL301488B2 (en) 2024-03-01
PH12017501900B1 (en) 2018-06-25
CN108337526A (zh) 2018-07-27
SI3793200T1 (sl) 2023-03-31
KR102330153B1 (ko) 2021-11-23
PT3793200T (pt) 2023-02-06
MX2023001435A (es) 2023-03-06
MY173763A (en) 2020-02-19
PL3793200T3 (pl) 2023-06-12
TW202130175A (zh) 2021-08-01
DK3793200T3 (da) 2023-02-13
US11259034B2 (en) 2022-02-22
TWI711298B (zh) 2020-11-21
EP2842318B1 (en) 2016-12-28
CN108540814A (zh) 2018-09-14
CN104620584B (zh) 2019-10-18
CN115442611A (zh) 2022-12-06
KR101981267B1 (ko) 2019-05-23
DK3481068T3 (da) 2020-11-16
US10674164B2 (en) 2020-06-02
MX2014012255A (es) 2014-12-05
TW201408074A (zh) 2014-02-16
AU2013246828A1 (en) 2014-12-11
CL2014002739A1 (es) 2015-04-10
IL261381A (en) 2018-10-31
AU2022201459B2 (en) 2022-08-18
US11122278B2 (en) 2021-09-14
KR102171208B1 (ko) 2020-10-28
KR20170140433A (ko) 2017-12-20
UA125468C2 (uk) 2022-03-23
AU2016259446B2 (en) 2019-01-17
US20190342560A1 (en) 2019-11-07
CN108462880B (zh) 2021-04-09
WO2013153226A2 (en) 2013-10-17
US20190045201A1 (en) 2019-02-07
EP3174295B1 (en) 2018-12-12
IL295693B2 (en) 2023-08-01
KR20200020012A (ko) 2020-02-25
PT3174295T (pt) 2019-03-25
AU2016259446A1 (en) 2016-12-08
TW201705765A (zh) 2017-02-01
PH12014502303A1 (en) 2014-12-22
HUE060889T2 (hu) 2023-04-28
KR101667341B1 (ko) 2016-10-18
EP3793200B1 (en) 2022-11-09
TWI816249B (zh) 2023-09-21
KR20160145843A (ko) 2016-12-20
PL2842313T3 (pl) 2017-06-30
ES2607438T3 (es) 2017-03-31
BR122020007621B1 (pt) 2023-03-07
CN108322752B (zh) 2021-04-09
EP2842313A2 (en) 2015-03-04
KR101809591B1 (ko) 2017-12-18
HUE042951T2 (hu) 2019-07-29
TWI752680B (zh) 2022-01-11
MX2023001434A (es) 2023-03-06
TW201742452A (zh) 2017-12-01
US10123006B2 (en) 2018-11-06
KR20190057417A (ko) 2019-05-28
US20200221105A1 (en) 2020-07-09
PT2842318T (pt) 2017-03-31
US10045017B2 (en) 2018-08-07
TW202349949A (zh) 2023-12-16
IL307660A (en) 2023-12-01
RU2758037C2 (ru) 2021-10-25
CL2016001115A1 (es) 2017-04-07
KR20170140432A (ko) 2017-12-20
KR20200123289A (ko) 2020-10-28
KR101686088B1 (ko) 2016-12-13
DK2842313T3 (en) 2017-01-23
KR101981272B1 (ko) 2019-05-23
JP5993083B2 (ja) 2016-09-14
CA2870039C (en) 2019-10-08
CN108322752A (zh) 2018-07-24
KR20170140434A (ko) 2017-12-20
JP2022184904A (ja) 2022-12-13
PH12017501899A1 (en) 2018-06-25
EP3793200A1 (en) 2021-03-17
HUE033604T2 (en) 2017-12-28
SG10201702988RA (en) 2017-05-30
JP2015516748A (ja) 2015-06-11
CA3056122A1 (en) 2013-10-17
AU2021201682B2 (en) 2022-07-07
RU2016141337A3 (pt) 2018-12-18
US20240155141A1 (en) 2024-05-09
TWI527466B (zh) 2016-03-21
PH12014502303B1 (en) 2014-12-22
EP3481068B1 (en) 2020-08-12
KR102080085B1 (ko) 2020-02-24
RU2603531C2 (ru) 2016-11-27
KR102080835B1 (ko) 2020-02-25
PH12017500992A1 (en) 2018-06-25
PH12019501219A1 (en) 2019-11-11
LT3793200T (lt) 2023-02-27
US20150023409A1 (en) 2015-01-22
WO2013153227A2 (en) 2013-10-17
TWI586179B (zh) 2017-06-01
ZA201407815B (en) 2016-01-27
ES2937793T3 (es) 2023-03-31
AU2022268403A1 (en) 2022-12-15
JP2017022724A (ja) 2017-01-26
RU2014145559A (ru) 2016-06-10
KR20190057418A (ko) 2019-05-28
TW201921932A (zh) 2019-06-01
BR112014025496A2 (pt) 2017-09-19
EP3174295A1 (en) 2017-05-31
DK2842318T3 (en) 2017-04-10
US20180309997A1 (en) 2018-10-25
CN115426496A (zh) 2022-12-02
RU2016141337A (ru) 2018-12-18
CN110809160A (zh) 2020-02-18
HUE051172T2 (hu) 2021-03-01
KR20220164077A (ko) 2022-12-12
IL301488A (en) 2023-05-01
DK3174295T3 (en) 2019-04-01
KR20150013521A (ko) 2015-02-05
ES2831415T3 (es) 2021-06-08
UA115240C2 (uk) 2017-10-10
HK1258819A1 (zh) 2019-11-22
WO2013153226A3 (en) 2013-12-19
IL295693A (en) 2022-10-01
PT2842313T (pt) 2016-12-22
TW202220443A (zh) 2022-05-16
KR20210144928A (ko) 2021-11-30
JP6864425B2 (ja) 2021-04-28
PT3481068T (pt) 2020-11-19
CN108462880A (zh) 2018-08-28
PH12017501901B1 (en) 2018-06-25
IL268801B (en) 2022-09-01
US11343517B2 (en) 2022-05-24
HK1205839A1 (en) 2015-12-24
JP2021106415A (ja) 2021-07-26
CA3056122C (en) 2021-05-04
CN104641647B (zh) 2018-05-04
US20220264127A1 (en) 2022-08-18
PL2842318T3 (pl) 2017-06-30
CN110809160B (zh) 2022-09-16
JP2019208250A (ja) 2019-12-05
AU2019202551B2 (en) 2020-12-17
AU2019202551A1 (en) 2019-05-09
PH12017501901A1 (en) 2018-06-25
TWI575940B (zh) 2017-03-21
PH12017501902B1 (en) 2018-06-25
HUE031183T2 (en) 2017-06-28
EP2842313B1 (en) 2016-10-19
TW201633777A (zh) 2016-09-16
ES2715107T3 (es) 2019-05-31
US10694198B2 (en) 2020-06-23
AU2021201682A1 (en) 2021-04-08
CA2870039A1 (en) 2013-10-17
ES2620707T3 (es) 2017-06-29

Similar Documents

Publication Publication Date Title
BR112014025496B1 (pt) Decodificador e método para reconstruir a imagem a partir de um fluxo de dados, codificador e método para codificar uma imagem e fluxo de dados codificado
RU2784930C1 (ru) Кодирование изображений с малой задержкой

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: H04N 7/00 (2011.01)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B25A Requested transfer of rights approved

Owner name: GE VIDEO COMPRESSION, LLC (US)

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/00

Ipc: H04N 19/13 (2006.01), H04N 19/174 (2006.01), H04N

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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