PT2559246T - Regiões de fusão de amostras - Google Patents

Regiões de fusão de amostras Download PDF

Info

Publication number
PT2559246T
PT2559246T PT117146530T PT11714653T PT2559246T PT 2559246 T PT2559246 T PT 2559246T PT 117146530 T PT117146530 T PT 117146530T PT 11714653 T PT11714653 T PT 11714653T PT 2559246 T PT2559246 T PT 2559246T
Authority
PT
Portugal
Prior art keywords
simply
predetermined
blocks
block
coding parameters
Prior art date
Application number
PT117146530T
Other languages
English (en)
Inventor
Marpe Detlev
Wiegand Thomas
Winken Martin
Helle Philipp
Oudin Simon
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=44072790&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=PT2559246(T) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from PCT/EP2010/054833 external-priority patent/WO2011127963A1/en
Application filed by Ge Video Compression Llc filed Critical Ge Video Compression Llc
Publication of PT2559246T publication Critical patent/PT2559246T/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods 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 colour or a chrominance component
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/96Tree coding, e.g. quad-tree coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Mechanical Treatment Of Semiconductor (AREA)

Description

DESCRIÇÃO
REGIÕES DE FUSÃO DE AMOSTRAS A presente invenção refere-se a esquemas de codificação de sinais de informação em duas dimensões de amostras, tais como vídeos ou imagens estáticas.
Na codificação de imagem e vídeo, as imagens ou conjuntos específicos de matrizes de amostras para as imagens, são geralmente decompostos em blocos, os quais são associados a parâmetros de codificação específicos. As imagens consistem geralmente em várias matrizes de amostras. Além disso, uma imagem pode também ser associada com outras matrizes de amostras auxiliares, que podem, por exemplo, especificar informação de transparência ou mapas de profundidade. As matrizes de amostras de uma imagem (incluindo as matrizes de amostras auxiliares) podem ser agrupadas em um ou mais dos chamados planos de grupos, consistindo cada um destes planos de grupos em uma ou mais matrizes de amostras. Os planos de grupos de uma imagem podem ser codificados independentemente ou, no caso da imagem se encontrar associada a mais do que um plano de grupos, podem ser codificados com a previsão de outros planos de grupos da mesma imagem. Usualmente, cada plano de grupos é decomposto em blocos. Os blocos (ou os blocos correspondentes de matrizes de amostras) são previstos tanto através de previsão inter-imagem ou de previsão intra-imagem. Os blocos podem apresentar dimensões diferentes e tanto podem ser quadrados como retangulares. A partição de uma imagem em blocos pode ser fixada tanto por sintaxe, pelo menos parcialmente, ou ser sinalizada dentro do fluxo de bits. Frequentemente são transmitidos elementos de sintaxe que sinalizam a subdivisão para blocos de tamanhos pré-definidos. Estes elementos de sintaxe podem especificar se e como um bloco é subdividido em blocos menores e associado a parâmetros de codificação, como por ex. para fins de previsão. A descodificação dos parâmetros de codificação associados é especificada de uma forma determinada em todas as amostras de um bloco (ou blocos correspondentes de uma matriz amostras). No exemplo, todas as amostras de um bloco são previstas pela utilização de um mesmo conjunto de parâmetros de previsão, tais como índices de referência (identificando a imagem de referência no conjunto das imagens já codificadas), parâmetros de movimento (especificando a medida para o movimento de blocos entre a imagem de referência e a imagem atual) , parâmetros para especificação de filtros de interpolação, modos de intra-previsão, etc. Os parâmetros do movimento podem ser representados por vetores de deslocamento, com uma componente horizontal e vertical, ou por parâmetros de movimento de ordem superior, tais como parâmetros de movimento em espaço afim, os quais são definidos por seis componentes. É igualmente possível estar associado mais do que um conjunto de determinados parâmetros de previsão (tais como os índices de referência e os parâmetros de movimento) a um único bloco. Neste caso, para cada conjunto destes determinados parâmetros de previsão, é gerado um único sinal de previsão intermédio para o bloco (ou para os correspondentes blocos de matrizes de amostras) , sendo o sinal de previsão final construído por uma combinação que inclui a sobreposição dos sinais de previsão intermédios. Os correspondentes parâmetros de ponderação, e potencialmente também um deslocamento constante (que é adicionado à soma ponderada), pode ser tanto fixado para uma imagem, para a imagem de referência ou para um conjunto de imagens de referência, podendo também ser incluídos no conjunto de parâmetros de previsão do bloco correspondente. A diferença entre os blocos originais (ou os correspondentes blocos de matrizes de amostras) e os seus sinais de previsão, também referida como sinal residual, é normalmente transferida e quantificada. Frequentemente é aplicada uma transformação bidimensional ao sinal residual (ou às matrizes de amostras correspondentes para o bloco residual). Na transformação da codificação, os blocos (ou os correspondentes blocos de matrizes de amostras) , para os quais se usa um conjunto determinado de parâmetros de previsão, podem ser ainda divididos antes de ser aplicada a transformação. Os blocos de transformação podem ser iguais a ou de menor dimensão do que os blocos que são usados para a previsão. É também possível que um bloco de transformação inclua mais do que um dos blocos usados para a previsão. Diferentes blocos de transformação podem ter diferentes dimensões podendo representar blocos quadrados ou retangulares. Após a transformação, os coeficientes de transformação resultantes são quantificados, sendo obtidos os chamados níveis de coeficiente de transformação. Os níveis de coeficiente de transformação, bem como os parâmetros de previsão e, se presente, a informação de subdivisão são entropicamente codificados.
Nas normas de codificação de imagem e vídeo, as possibilidades de subdivisão de uma imagem (ou um plano de grupos) em blocos, que são fornecidos pela sintaxe, são muito limitados. Normalmente, esta só pode ser especificada se (e potencialmente como) um bloco de uma dimensão pré-definida puder ser subdividido em blocos de menores dimensões. Como exemplo, a maior dimensão de bloco em H.264 é 16x16. Os blocos de 16x16 são também referidos como macroblocos e cada imagem é particionada, numa primeira etapa, em macroblocos. Para cada macrobloco de 16x16, é possível sinalizar se é codificado como bloco de 16x16, como dois blocos de 16x8, como dois blocos de 8x16 ou como quatro blocos de 8x8. Se um bloco de 16x16 é subdividido em quatro blocos de 8x8, cada um destes blocos de 8x8 pode ser codificado tanto como um bloco de 8x8, como dois blocos de 8x4, como dois blocos de 4x8 ou como quatro blocos de 4x4. 0 menor conjunto de possibilidades para especificar a partição em blocos, no estado da técnica de normas de codificação de imagem e vídeo, tem a vantagem de que a taxa de informação secundária, para sinalizar a informação de subdivisão, pode ser mantida a um nível reduzido. Tem, contudo, a desvantagem da taxa de bits requerida, para a transmissão dos parâmetros de previsão dos blocos, poder tornar-se significativa, conforme explicado no seguinte. A taxa de informação secundária, de sinalização da informação de previsão, é a que geralmente representa a quantidade mais significativa da taxa total de bits de um bloco. A eficiência de codificação pode ser aumentada quando a referida informação secundária é reduzida, o que, por exemplo, poderia ser conseguido utilizando bloco maiores dimensões. Imagens reais ou de uma sequência de vídeo consistem em objetos formatados arbitrariamente com propriedades específicas. Como um exemplo, tais objetos, ou partes de objetos, são caracterizados por uma textura única ou um movimento único sendo, geralmente, possível, aplicar o mesmo conjunto de parâmetros de previsão a esse objeto ou parte de um objeto. Contudo, os limites do objeto geralmente não coincidem com os possíveis limites de bloco em grandes blocos de previsão, como por exemplo, macroblocos de 16x16 em H.264.
Usualmente, um codificador determina a subdivisão (entre o conjunto limitado de possibilidades), que resulta num mínimo de taxa de distorção de uma determinada medida de custo. Para objetos arbitrariamente formatados, isto pode resultar em um grande número de blocos de menor dimensão. Uma vez que cada um destes blocos pequenos está associado a um conjunto de parâmetros de previsão, que precisam de ser transmitidos, a taxa de informação secundária pode se tornar uma parte significativa da taxa total de bits. No entanto, uma vez que muitos dos blocos pequenos ainda representam áreas do mesmo objeto ou parte de um objeto, os parâmetros de previsão, para um determinado número de blocos obtidos, são iguais ou muito semelhantes.
Desta forma, a subdivisão ou arranjo de uma imagem em porções menores, mosaicos ou blocos influencia substancialmente a eficiência da codificação e a complexidade de codificação. Tal como o acima mencionado, a subdivisão de uma imagem num maior número de blocos de menores dimensões permite um ajuste espacial mais detalhado dos parâmetros de codificação, resultando assim na possibilidade de uma melhor adaptação dos mesmos para o material de imagem e video. Por outro lado, o ajuste dos parâmetros de codificação para uma granulometria mais fina representa uma carga maior na quantidade de informação secundária necessária para informar o descodificador sobre as definições requeridas. Para além disso, deve-se notar que qualquer liberdade para o codificador subdividir espacialmente (ainda mais) a imagem / vídeo em blocos, aumenta imensamente a quantidade de possíveis definições de parâmetros de codificação, o que geralmente torna a pesquisa da definição do melhor parâmetro de codificação, que conduz ao compromisso melhor taxa/distorção, ainda mais difícil. WO2008/127597 A2 divulga uma união dependente do contexto em modo de "SKIP-DIRECT" para a codificação e decodificação de vídeo. Este documento descreve ainda as vantagens decorrentes do uso de uma bandeira de união, para juntar partições resultantes de uma partição de imagens estruturada em árvore. 0 documento visa otimizar a combinação da técnica de fusão com o uso de modos "SKIP" e "DIRECT", que são considerados como envolvendo uma operação de fusão implícita. 0 documento Dl sugere, para este fim, os seguintes procedimentos, de forma a codificar um determinado bloco: em primeiro lugar, verifica-se se qualquer um dos blocos se encontra já unido ao bloco atual, através do modo SKIP / DIRECT. Em caso afirmativo, verifica-se se existe algum bloco passível de unido ao bloco atual e, se for este o caso, é então codificada uma bandeira de união/não união. No caso de existir mais de um bloco possível, codifica-se também uma direção de união. Desta forma, os modos "SKIP/DIRECT" são em conjunto eficientemente utilizados com os indicadores de união. XP 10851189 descreve uma união de folhas num um modelo de movimento baseado em estruturas quadtree e sugere a possibilidade de união de folhas vizinhas de maiores dimensões ou de dimensões semelhantes mas de diferente origem. Mais especificamente, este documento divulga que é determinado um conjunto de possíveis alvos de união para cada folha do bloco. Se este se encontra vazio, então não se faz nada, mas em caso contrário, uma bandeira de união binária indica se é selecionado ou não algum alvo de união. A bandeira de união é codificada através do uso de um ou dois contextos mantidos por um codificador aritmético binário adaptativo, dependendo o contexto selecionado do facto de alguma das folhas vizinhas ter sido já codificada e unida. Em caso de união das folhas, são enviados 0, 1 ou 2 bits para identificar o alvo específico a unir, de entre o conjunto de uniões possíveis. Nenhum bit é necessário no caso de haver apenas uma união possível, enquanto são necessários 2 bits no caso do número de uniões possíveis exceder os 2. WO 2008/156548 AI divulga uma estrutura de sintaxe de vídeo faseada para separar dados. Na forma de realização preferencial das figuras 6 e 7 são usados três passos: No primeiro passo, os modos de codificação dos macroblocos e sub-blocos são transmitidos para cada macrobloco. No segundo passo, a sintaxe de união dos macroblocos e sub-blocos é implicitamente ou explicitamente codificada com base na informação de modo da vizinhança causal ou não causal do macrobloco atual. Num terceiro passo, são codificados os dados de movimento, de uma forma explícita ou implícita, condicionados aos modos dos macroblocos e sub-blocos, sintaxe de união da vizinhança causal ou não causal e codificação residual. US20080310504 descreve uma técnica para exploração de coeficientes dos blocos de vídeo. Em particular, as técnicas aqui descritas adaptam a ordem de exploração usada para explorar um coeficiente de blocos bidimensional num vetor de coeficiente unidimensional baseado em dados estatísticos associados a um ou mais blocos previamente codificados, como por exemplo dados estatísticos que indicam a probabilidade de um dado valor de coeficiente, em determinada posição de um bloco bidimensional ser zero ou não zero, ser recolhida para um ou mais blocos previamente codificados. A determinada altura, pode ser necessário efetuar um ajuste à ordem de exploração, de forma a melhor garantir que os coeficientes não zero são agrupados perto da frente do vetor de coeficiente unidimensional, aumentando assim a eficácia da codificação de entropia. A recolha de dados estatísticos e ajuste da ordem de exploração pode ser feita separadamente para cada modo de previsão. É objeto da invenção o fornecimento de um esquema de codificação para codificação de uma matriz de amostras de informação que representam um sinal de informação bidimensional. Alguns exemplos, não sendo limitativos, são imagens de um vídeo ou imagens estáticas, que permitem alcançar um melhor compromisso entre a razão da complexidade de codificação e da taxa de distorção e/ou uma melhor razão da taxa de distorção.
Este objetivo é alcançado por um descodificador de acordo com a reivindicação 1, um método de descodificação de acordo com a reivindicação 6 e um meio de armazenamento digital de leitura computorizada de acordo com a reivindicação 7.
As formas de realização preferenciais da presente invenção encontram-se descritas da seguinte forma e com respeito às seguintes figuras, de entre as quais:
Fig.l apresenta um diagrama de blocos de um codificador de acordo com uma das formas de realização do presente pedido;
Fig.2 apresenta um diagrama de blocos de um codificador de acordo com uma forma de realização da presente invenção;
Figs.3a-c apresenta esquematicamente um exemplo ilustrativo de uma subdivisão em árvore quadtree, na qual
Fig.3a apresenta uma hierarquia de primeiro nivel;
Fig.3b apresenta uma hierarquia de segundo nivel; e
Fig.3c apresenta uma hierarquia de terceiro nivel;
Fig.4 apresenta esquematicamente uma estrutura em árvore para as subdivisões em árvore quadtree ilustradas nas Figs.3a-c de acordo com uma forma de realização da invenção;
Figs.5a,b ilustram esquematicamente a subdivisão em árvore quadtree das Figs.3a-c e a estrutura em árvore contendo índices que indexam os blocos individuais das folhas;
Figs.6a,b apresentam esquematicamente linhas binárias, sequências ou bandeiras, que representam a estrutura em árvore da Fig.4 e a subdivisão em árvore quadtree das Figs3a-c, de acordo com as respetivas formas de realização;
Fig.7 apresenta um fluxograma que mostra os passos realizados por um extrator de fluxo de dados, de acordo com uma forma de realização;
Fig.8 apresenta um fluxograma que ilustra as funcionalidades de um extrator de fluxo de dados, de acordo com uma outra forma de realização;
Fig. 9a, b apresenta diagramas esquemáticos de subdivisões em árvore quadtree com blocos candidatos de vizinhança para marcação de um determinado bloco, de acordo com uma forma de realização;
Fig.10 apresenta um fluxograma de funcionalidade de um extrator de fluxo de dados, de acordo com uma outra forma de realização;
Fig.11 apresenta esquematicamente a composição de uma figura tirada dos planos e planos de grupos e ilustra uma codificação usando adaptação/previsão inter-planos, de acordo com uma forma de realização;
Fig.l2a,b ilustra esquematicamente uma estrutura de subárvore, bem como a correspondente subdivisão, de forma a mostrar o esquema de hereditariedade, de acordo com uma forma de realização;
Figs.12c,d ilustra esquematicamente uma estrutura de subárvore de forma a mostrar o esquema de hereditariedade, com adoção e previsão, respetivamente, de acordo com uma forma de realização;
Fig.13 apresenta um fluxograma mostrando os passos realizados por um codificador desempenhando um esquema de hereditariedade, de acordo com uma forma de realização;
Fig.l4a,b apresenta uma subdivisão primária e uma subdivisão subordinada de forma a ilustrar a possibilidade de implementação de um esquema de hereditariedade conjuntamente com inter-previsão, de acordo com uma forma de realização;
Fig.15 apresenta um diagrama de blocos de um processo de descodificação em conjunto com um esquema de hereditariedade, de acordo com uma forma de realização;
Fig.17 apresenta um diagrama de blocos de um descodificador, de acordo com uma forma de realização;
Fig.l8a-c apresenta diagramas esquemáticos ilustrando diferentes possibilidades de subdivisões, de acordo com uma outras formas de realização;
Fig.19 apresenta um diagrama de blocos de um codificador, de acordo com uma forma de realização;
Fig.20 apresenta um diagrama de blocos de um descodificador, de acordo com outra forma de realização;
Fig.21 apresenta um diagrama de blocos de um codificador, de acordo com outra forma de realização;
Na seguinte descrição das figuras, os elementos comuns às constantes diferentes figuras encontram-se identificados pelas mesmas referências numéricas, sendo evitada a duplicação das respetivas explicações. Desta forma, explicações referentes a um determinado elemento de uma figura, serão aplicáveis ao mesmo elemento de outra figura, a menos que, as explicações relativas a esta outra figura mencionem derivações da explicação original.
Adicionalmente, a descrição seguinte tem inicio com formas de realização de um codificador e descodificador, os quais são explicados em relação às figuras Fig.l a Fig.ll. As firmas de realização destas figuras combinam vários aspetos da presente invenção. Contudo, são igualmente vantajosos quando implementados individualmente num esquema de codificação. Assim, de acordo com as figuras subsequentes, as formas de realização são sumariamente discutidas no que diz respeito à utilização individual dos referidos aspetos, nas quais cada uma destas formas de realização representa uma generalização, embora num contexto distinto, das formas de realização descritas relativamente às figuras Fig.l à Fig.ll. A figura 1 apresenta um codificador de acordo com uma forma de realização da presente invenção. 0 codificador 10 da figura 1 compreende um previsor 12, um pré-codificador residual 14, um reconstrutor residual 16, um dispositivo de inserção de fluxo de dados 18 e um divisor de blocos 20. O codificador 10 tem como função codificar o sinal de informação amostrado temporal e espacialmente para um fluxo de dados 22. Este sinal pode ser, por exemplo um video, i.e. uma sequência de imagens. Cada imagem representa uma matriz de amostras de imagens. Outros exemplos deste tipo de sinal incluem imagens de profundidade, obtidas através de, por exemplo, câmaras "Time-of-Flight" (ToF) . Para além disso, note-se que o sinal de informação amostrado espacialmente pode compreender mais do que uma matriz por quadro, ou marcação de tempo, tal como no caso de um vídeo a cores, que compreende, por exemplo, uma matriz de amostras de luminância, juntamente com duas matrizes de amostras de cromáticas por quadro. Pode também ser possível que a taxa de amostragem temporal para os diferentes componentes do sinal de informação, i.e. luminância e cromática, sejam diferentes. 0 mesmo se aplica à resolução espacial. Um vídeo pode ser acompanhado de outra informação espacialmente amostrada, tal como informação de profundidade e de transparência. Contudo, a seguinte descrição apenas se focará no processamento de uma destas matrizes, primeiro para fins de melhor compreensão dos aspetos essenciais da presente invenção, fazendo em seguida a explicação dos aspetos relacionados com mais de um plano. 0 codificador 10 da figura 1 é configurado de forma a criar o fluxo de dados 22, de maneira a que os elementos de sintaxe do fluxo de dados 22 descrevam as imagens com uma granulometria entre amostras da totalidade das imagens e de imagens individuais. Com este propósito, o divisor 20 é configurado para subdividir cada imagem 24 em regiões conectadas simplesmente de diferentes dimensões 26. Estas regiões serão simplesmente denominadas de blocos ou sub-regiões 26.
Tal como será explicado abaixo com maior detalhe, o divisor 20 usa uma subdivisão em árvore múltipla, de forma a subdividir a imagem 24 em blocos 26 de diferentes dimensões. De forma ainda mais precisa, as formas de realização específicas apresentadas abaixo, relativas às figuras 1 a 11, usam na sua maioria uma subdivisão em árvore quadtree. Tal como será explicado abaixo em maior detalhe, o divisor 20 pode, ao nível interno, compreender a concatenação de um subdivisor 28, para subdivisão das imagens 24 nos blocos acima mencionados 26, seguidos por uma união 30, a qual permite a combinação destes blocos 2 6 de forma a se obter uma subdivisão eficaz ou uma granulometria entre a não subdivisão das imagens 24 e a subdivisão definida pelo subdivisor 28.
Tal como ilustrado pela linha tracejada na Figurai, o previsor 12, o pré-codificador residual 14, o reconstrutor residual 16 e o dispositivo de inserção de fluxo de dados 18, operam nas subdivisões de imagem definidas pelo divisor 20. Como exemplo, que será explicado abaixo em maior detalhe, o previsor 12 usa uma subdivisão de previsão definida pelo divisor 20 de forma a determinar as sub-regiões individuais da subdivisão de previsão, tal como se a respetiva sub-região de ser sujeita a previsão intra-imagem ou previsão inter-imagem, com definição dos correspondentes parâmetros de previsão para a respetiva sub-região, de acordo com o modo de previsão selecionado. O pré-codificador residual 14, por seu lado, pode usar uma subdivisão residual das imagens 24, de forma a codificar o residual da previsão das imagens 24, fornecidas pelo previsor 12. À medida que o reconstrutor residual 16 reconstrói o residual a partir da saída dos elementos de sintaxe, pelo pré-codificador residual 14, o reconstrutor residual 16 opera igualmente na acima mencionada subdivisão residual. O dispositivo de inserção 18 pode explorar as referidas divisões, i.e. as subdivisões de previsão e residuais, de forma a determinar as ordens de inserção e as vizinhanças entre os elementos de sintaxe, para a inserção da saída dos elementos de sintaxe, pelo pré-codificador 14 e previsor 12, para o fluxo de dados 22, através de, por exemplo, codificação de entropia.
Tal como apresentado na figura 1, o codificador 10 compreende uma entrada 22, por onde o sinal de informação entra no codificador 10. Um subtrator 34, o pré-codificador 14 e o dispositivo de inserção de fluxo de dados 18 são conectados em séries na ordem mencionada entre a entrada 32 e a saída do dispositivo de inserção de dados 18, à saída do fluxo de dados codificado 22. O subtrator 34, o pré-codificador 14 são parte do "loop" de previsão, que é fechado pelo construtor residual 16, um adicionador 36 e um previsor 12, os quais estão conectados em série na ordem mencionada entre a saída do pré- codificador residual 14 e da entrada invertida do subtrator 34. A saida do previsor 12 está também conectada a uma outra entrada do adicionador 36. Adicionalmente, o previsor 12 compreende uma entrada diretamente conectada à entrada 32 e pode ainda compreender uma outra entrada, também conectada à saida do adicionador 36, através de um filtro "in-loop" 38 opcional. Além disso, o previsor 12 gera informação durante esta operação e, portanto, é também acoplada uma saida ao previsor 12 para o dispositivo de inserção de fluxo de dados 18. De forma similar, o divisor 20 compreende uma saida a qual está conectada a outra entrada do dispositivo de inserção de fluxo de dados 18.
Tendo sido descrita a estrutura do codificador 10 será, em seguida, descrito o modo de funcionamento mais detalhadamente.
Tal como o acima descrito, o divisor 20 decide a forma de subdividir cada imagem 24 em sub-regiões 26. Em concordância com a subdivisão da imagem 24 a ser utilizada para previsão, o previsor 12 decide como prever a sub-região para cada sub-região correspondente a esta subdivisão. O previsor 12 envia a previsão da sub-região para a entrada invertida do subtrator 34, bem como para a outra entrada do adicionador 36, enviando informação de predição refletindo a forma como o previsor 12 obteve esta predição a partir de porções do vídeo previamente codificadas, para o dispositivo de inserção de fluxo de dados 18.
Assim, a previsão residual é obtida, à saída do subtrator 34, onde o pré-codificador residual 14 processa esta previsão residual, de acordo com a subdivisão residual igualmente prescrita pelo divisor 20. Tal como o descrito detalhadamente abaixo, respeitante às figuras Fig.3 a Fig.10. a subdivisão residual da imagem 24, usada pelo pré-codificador residual 14, pode ser relacionada com a subdivisão da previsão usada pelo previsor 12, de tal forma que cada sub-região prevista é adotada como sub-região residual ou novamente subdividida em subdivisões de menores dimensões. No entanto, é igualmente possível determinar previsões e subdivisões residuais totalmente independentes. 0 pré-codificador 14 sujeita cada subdivisão residual a uma transformação de domínio espacial a espectral através de uma transformação bidimensional seguida por, ou envolvendo inerentemente, a quantificação dos coeficientes de transformação resultantes, dos blocos assim transformados, dos quais a distorção resulta do ruído de quantificação. 0 dispositivo de inserção de fluxo de dados 18 pode, por exemplo, codificar sem perdas, elementos de sintaxe que descrevem os acima mencionados coeficientes de transformação no fluxo de dados 22, através da utilização de, por exemplo, codificação de entropia. 0 reconstrutor residual 16, por seu lado, através de uma requantificação seguida de retransformação, reconverte os coeficientes de transformação em sinal residual, em que o sinal residual é combinado com a previsão usada pelo subtrator 34, no adicionador 36, para obtenção da previsão residual e consequentemente obtendo uma porção ou sub-região reconstruída de uma imagem, à saída do adicionador 36. 0 previsor 12 pode usar a sub-região reconstruída da imagem diretamente para intra-previsão, ou seja para prever uma determinada previsão de sub-região por extrapolação a partir de previsão de sub-regiões previamente reconstruídas na vizinhança. No entanto, uma intra-previsão efetuada diretamente dentro do domínio espectral da sub-região em questão, a partir da vizinhança, será também teoreticamente possível.
No caso de inter-previsão, o previsor 12 pode usar imagens previamente codificadas e reconstruída, numa versão de acordo com a qual as mesmas foram filtradas por um filtro "in-loop" 38 opcional. 0 filtro "in-loop" 38 pode, por exemplo, compreender um filtro descodificador e/ou um filtro adaptativo com função de transferência adaptada para formar, vantajosamente a quantificação de ruído atrás mencionada. 0 previsor 12 seleciona os parâmetros de previsão revelando a forma de previsão de uma determinada sub-região de previsão, através da comparação com as amostras origina dentro da imagem 24 .
Os parâmetros de previsão podem, tal como o descrito anteriormente, compreender uma indicação do modo de previsão para cada uma das sub-regiões de previsão, tais como previsão intra-imagem e previsão inter-imagem. No caso de previsão intra-imagem, os parâmetros de previsão podem igualmente compreender uma indicação do ângulo para o qual as margens se estendem, dentro da sub-região de previsão a ser intra-prevista. No caso previsão inter-imagem, os parâmetros de previsão podem igualmente compreender vetores de deslocamento, índices de imagem de movimento e, eventualmente, parâmetros de transformação de movimento de ordem superior. No caso de previsão inter e intra-imagem, é previsto um filtro de informação opcional, para filtrar as amostras de imagem reconstruídas, baseado na atual sub-região de previsão.
Tal como será descrito abaixo com mais detalhe, as anteriormente descritas subdivisões definidas pelo divisor 20, influenciam substancialmente a taxa / razão de distorção máxima atingível pelo pré-codificador residual 14, previsor 12 e dispositivo de inserção de dados de fluxo 18. No caso de haver uma subdivisão demasiado fina e o envio dos parâmetros de previsão 40, através do previsor 12 e a serem inseridos no fluxo de dados 22, requerer uma taxa de codificação demasiado grande, ainda que a previsão obtida pelo previsor 12 seja melhor e o sinal residual a ser codificado pelo pré-codificador residual 14 possa ser menor, para que o mesmo possa ser codificado com menos bits. No caso, de uma subdivisão demasiado grosseira, aplica-se o oposto. Para além disso, o conceito atrás descrito aplica-se também à subdivisão residual de forma similar: a transformação de uma imagem através do uso de uma granulometria mais fina dos blocos de transformação individuais conduz a uma menor complexidade de cálculo das transformações e aumenta a resolução espacial da transformação resultante. Ou seja, menores subdivisões residuais permitem uma maior consistência na distribuição espectral do conteúdo do interior das sub-regiões individuais. Contudo, a resolução espectral é reduzida e o coeficiente da razão entre significativo e insignificante, i.e. quantificado a zero, piora. Isto significa que a granulometria da transformação deve ser localmente adaptada ao conteúdo da imagem. Adicionalmente, independentemente do efeito positivo da uma granulometria mais fina, normalmente a granulometria mais fina aumenta a quantidade de informação secundária necessária para indicar ao descodificador a subdivisão selecionada. Tal como será explicado abaixo em maior detalhe, a forma de realização descrita abaixo conferem ao codificador 10 a capacidade de adaptação, de uma forma muito eficiente, das subdivisões ao conteúdo do sinal da informação a ser codificada e à sinalização das subdivisões a serem usadas por parte do descodificador, através da instrução de inserção ao dispositivo de inserção de fluxo de dados 22.
No entanto, antes de se definir a subdivisão do divisor 20 em maior detalhe, o descodificador, de acordo com qualquer uma das formas de realização da presente invenção, será descrito detalhadamente no que diz respeito à figura 2. O descodificador da figura 2 é apresentado com a referência 100 e compreende um extrator 102, um divisor 104, um reconstrutor residual 106, um adicionador 108, um previsor 110, um filtro "in-loop" opcional 112 e um pós-filtro opcional 114. O extrator 102 recebe o fluxo de dados codificado na entrada 116 do descodificador 100 e extrai, da informação de subdivisão do fluxo de dados codificado 118, parâmetros de previsão 120 e dados residuais 122, os quais são enviados pelo extrator 102, respetivamente para o divisor de imagem 104, para o previsor 110 e reconstrutor residual 106. 0 reconstrutor 106 tem uma saída conectada a uma primeira entrada do adicionador 108. A outra entrada do adicionador 108 e a correspondente saída estão conectadas num "loop" de previsão, no qual o filtro "in-loop" opcional 112 e o previsor 110 se encontram ligados em série, na ordem indicada por um atalho condutor, desde a saída do adicionador 108 para o previsor 110, de uma forma diretamente similar às das ligações acima mencionadas entre o adicionador 36 e o previsor 12 da figura 1. Em particular, uma para uma previsão intra-imagem e outra para uma previsão inter-imagem. Tanto a saída do adicionador 108 como a saída do filtro "in-loop" 112 podem estar conectadas à saída 104 do descodificador 100, como por exemplo, no caso do sinal de informação reconstruído ser enviado para um dispositivo de reprodução. Um pós-filtro opcional 114 pode ser ligado ao caminho de ligação da saída 124, de forma a aumentar a qualidade visual da impressão visual do sinal reconstruído na saída 124.
De uma forma geral, o reconstrutor residual 106, o adicionador 108 e o previsor 110 atuam como os elementos 16, 36 e 12 da figura 1. Noutras palavras, os mesmos simulam as operações dos elementos atrás referidos. Para este efeito, o reconstrutor residual 106 e o previsor 110 são controlados pelos parâmetros de previsão 120 e pela subdivisão prescrita pelo divisor de imagem 104, de acordo com a informação de subdivisão 118 do extrator 102, respetivamente, de forma a prever as sub-regiões de predição de maneira idêntica à forma como o previsor 12 fez ou decidiu fazer, e retransformar os coeficientes de transformação recebidos, na mesma granulometria tal como o efetuado pelo pré-codificador 14. Por outro lado, o divisor de imagem 104 reconstrói as subdivisões selecionadas pelo divisor 20 da figura 1, numa forma sincronizada, de forma sincronizada, baseando-se na informação subdivisão 118. O extrator, por sua vez, pode usar a informação da subdivisão de forma a controlar a extração de dados, tais como em termos de seleção de contexto, determinação de vizinhança, estimativa de probabilidade, análise da sintaxe de fluxo de dados, etc.
Podem ser realizadas várias derivações das formas de realização acima mencionadas. Algumas são indicadas, em seguida, na descrição detalhada, com respeito à subdivisão efetuada pelo subdivisor 28 e a união realizada pelo unificador 30, enquanto outros são descritos no que diz respeito às figuras subsequentes Figs. 12 a 16. Na ausência de obstáculos, todas estas derivações podem ser realizadas individualmente ou em subconjuntos aplicados respetivamente às formas de realização apresentadas nas figuras 1 e 2. Como exemplo, os divisores 20 e 104 não podem determinar a subdivisão de previsão e a subdivisão residual por imagem, apenas. Ao invés, podem determinar uma subdivisão de filtro para o filtro "in-loop" opcional 38 2 112, respetivamente, tanto de uma forma independente como de forma dependente de outras subdivisões para previsão ou codificação residual. Para além disso, a determinação da subdivisão ou subdivisões, realizada por estes elementos, não pode ser efetuada numa base de quadro-a-quadro. Pelo contrário, uma subdivisão ou subdivisões determinadas para um certo quadro podem ser reusadas ou adotadas para um determinado número de quadros seguintes, pela mera transferência para uma nova subdivisão.
Na descrição mais detalhada no que respeita a divisão de imagens em sub-regiões, primeiro será indicada a parte da subdivisão pela são responsáveis os subdivisores 28 e 104a.Sem seguida, será descrito o processo de união, pelo qual os unificadores 30 e 104b são responsáveis. Por fim, é descrita a previsão / adaptação inter-planos. A forma em que o subdivisor 28 e 104a divide as imagens permite que a imagem seja divisível num determinado número de blocos com diferentes tamanhos possíveis, para fins de codificação preditiva e residual da imagem ou dados de vídeo. Tal como foi anteriormente mencionado, a imagem 24 pode se encontrar disponível na forma de uma ou mais matrizes de valores de amostras de imagem. Como exemplo, no caso de espaço de cor YUV/YCbCr, a primeira matriz pode representar o canal de luminescência, enquanto as outras duas matrizes representam os canais cromáticos. Estas matrizes podem ter diferentes dimensões. Todas as matrizes podem ser agrupadas num ou mais planos de grupos, consistindo cada um destes num ou mais planos consecutivos, de tal forma que cada plano se encontra compreendido num, e apenas em um plano de grupos. 0 seguinte é aplicado a cada plano de grupos: A primeira matriz de um determinado plano de grupos pode ser chamada de matriz primária para este plano de grupos. As matrizes seguintes possíveis são matrizes subordinadas. A divisão de blocos da matriz primária pode ser feita com base numa abordagem de estrutura em árvore quadtree, tal como se encontra melhor descrito abaixo. A divisão de blocos das matrizes subordinadas pode ser baseada na derivação da divisão da matriz primária.
De acordo com as formas de realização descritas abaixo, os subdivisores 28 e 104a são configurados para dividirem a primeira matriz num número de blocos quadrados de igual dimensão, os chamados árvore de blocos, no seguinte: tipicamente, o comprimento de aresta das árvores de blocos é uma potência de dois, tal como 16, 32 ou 64, quando são usadas nas árvores quadtree. Para fins de exaustão do assunto é, no entanto, de notar que será possível a utilização de outros tipos de árvores, bem como a utilização de árvores binárias ou ainda de árvores com qualquer outro número de ramos. Adicionalmente, o número de filhos de cada árvore pode variar dependendo do nível dessa árvores e do sinal que essa árvore representa.
Para além disto, tal como o acima mencionado, a matriz de amostras pode também representar outra informação que não sequências de vídeo, tal como mapas de profundidade ou campos de luz, respetivamente. Para simplificar, a seguinte descrição centra-se nas estruturas quadtree como exemplo representativo de árvores múltiplas. Árvores quadtree são árvores que têm exatamente quatro filhos em cada um dos nós internos. Cada uma das árvores de blocos constitui uma árvore quadtree primária conjuntamente com árvores quadtree subordinadas, em cada uma das folhas da árvore quadtree primária. A árvore quadtree primária determina a subdivisão de uma determinada árvore de blocos para previsão, enquanto a árvore quadtree subordinada determina a subdivisão de um determinado bloco de previsão para fins de codificação residual. 0 nó de raiz da árvore quadtree primária corresponde à árvore de blocos completa. Como exemplo, a figura 3a mostra a árvore de blocos 150. Deve ser lembrado que cada imagem é dividida numa grelha regular de linhas e colunas da correspondente árvore de blocos, de forma, por exemplo, que cubra por completo a matriz de amostras. Deve ser notado, contudo que para todas as subdivisões de blocos apresentadas daqui por diante, que uma subdivisão perfeita, i.e. sem completa sobreposição não é essencial. Pelo contrário, blocos de vizinhança podem sobrepor-se uns aos outros desde que nenhum bloco de folha seja uma porção adequada de um bloco de folha da vizinhança.
Conjuntamente com a estrutura quadtree da árvore de blocos 150, cada nó pode ainda ser dividido noutros quatro nós filhos, que, no caso de uma árvore quadtree primária significa que cada árvore de blocos 150 pode ser dividida em quatro sub-blocos com metade da largura e metade da altura da árvore de blocos 150. Na figura 3a estes sub-blocos estão indicados com sinais de referência de 152a a 152d. Da mesma forma, cada um destes sub-blocos pode ser novamente dividido em 4 sub-blocos de menores dimensões, com metade da largura e metade da altura dos sub-blocos originais. Na figura 3d este exemplo é demonstrado como sub-bloco 152c, o qual é subdividido em quatro sub-blocos mais pequenos 154a a 154d. Uma vez que as figuras 3a a 3c apresentam exemplos de como uma árvore de blocos 150 é dividida nos quatro sub-blocos 152a a 152d, o sub-bloco inferior esquerdo 152c é então subdividido em quatro sub-blocos menores 154a a 154d e, finalmente, tal como apresentado na figura 3c, o bloco superior direito 154b, destes sub-blocos menores, é uma vez mais dividido noutros quatro blocos com um oitavo da largura e altura dos da árvore de blocos original 150, sendo estes identificados como 156a a 156d. A figura 4 apresenta a estrutura fundamental de uma divisão baseada numa árvore quadtree, tal como mostrado nas figuras 3a a 3d. Os números nos nós da árvore são valores das denominadas bandeira de subdivisão, os quais serão explicados com maior detalhe mais adiante, aquando da discussão da sinalização da estrutura de árvores quadtree. No topo da figura é apresentado o nó da raiz de uma árvore quadtree (marcado como "Nível 0"). Os quatro ramos do nivel 1 deste nó de raiz correspondem aos quatro sub-blocos, tal como apresentado na figura 3a. Uma vez que o terceiro destes sub-blocos é de novo subdividido, nos respetivos quatro sub-blocos da figura 3b, o terceiro nó no nivel 1 da figura 4 tem também quatro ramos. De forma análoga, há quatro sub-ramos ligadas ao segundo nó do nível 2 da hierarquia da árvore quadtree, que correspondem à subdivisão do segundo nó (superior direito) da descendência, na figura 3c. Os nós do nível 3 não são posteriormente divididos.
Cada folha da árvore quadtree primária corresponde a um bloco de dimensão variável, para o qual podem ser especificados os parâmetros de previsão (i.e. intra ou intermodo de previsão, parâmetros de movimento, etc.). Em seguida, estes blocos serão denominados de blocos de previsão. Em particular, estes blocos de folhas são apresentados na figura 3c. Com breve referência às figuras 1 e 2, o divisor 20 ou o subdivisor 28 determinam a subdivisão da árvore quadtree, tal como o atrás explicado. O subdivisor 152a-d efetua a decisão sobre qual das árvores de blocos 150, de sub-blocos 152a-d, sub-blocos menores 154a-d e por assim em diante, para divisão ou subpartição posterior, com o objetivo de encontrar uma troca ótima entre uma subdivisão demasiado fina e uma previsão demasiado grosseira, tal como o já explicado anteriormente. O previsor 12, por seu lado, utiliza a previsão de subdivisão prescrita de forma a determinar os parâmetros de previsão acima mencionados, à granulometria dependente da predição de subdivisão ou para cada uma das previsões de sub-regiões representadas pelos blocos mostrados na figura 3c, por exemplo.
Os blocos de previsão apresentados na figura 3c podem ser ainda divididos em blocos menores para fins de codificação residual. Para cada um dos blocos de previsão, i.e. para cada uma dos nós de folha da árvore quadtree primária, é determinada a correspondente subdivisão por uma ou mais árvores subordinadas para a codificação residual. Como exemplo, ao permitir-se uma dimensão máxima para um bloco residual de 16x16, um bloco de previsão de 32x32 pode ser dividido em quatro blocos de 16x16, sendo cada um destes determinado por uma árvore quadtree subordinada para efeitos de codificação residual. Cada bloco de 16x16 deste exemplo corresponde ao nó de raiz de uma árvore quadtree subordinada.
Tal como o descrito para os casos de subdivisão de uma determinada árvore de blocos em blocos de previsão, cada um destes blocos de previsão pode ser dividido num número de blocos residuais através da utilização de decomposição da árvore quadtree. A cada folha de uma árvore quadtree subordinada corresponde um bloco residual para o qual podem ser especificados parâmetros de codificação residuais (i.e. modo de transformação, coeficientes de transformação, etc.) através do pré-codificador 14, que controla os parâmetros de codificação residuais ao redor dos residuais reconstrutores 16 e 17, respetivamente.
Noutras palavras, o subdivisor 20 pode ser configurado para determinar a previsão de subdivisão para cada imagem ou grupo de imagens e uma subdivisão residual subordinada primeiro, por divisão da imagem in arranjos regulares de árvores de blocos 150, efetuando partições sucessivas de um subconjunto destas árvores de blocos em subdivisões quadtree de forma a obter a subdivisão de previsão em blocos de previsão (os quais podem ser árvores de blocos caso não tenha ocorrido qualquer partição na respetiva árvore de blocos, blocos de folhas da subdivisão da árvore quadtree), com posterior subdivisão deste subconjunto de blocos de previsão de uma forma similar, através de, no caso do bloco de previsão ser maior do que a dimensão máxima da subdivisão residual subordinada, primeiro divisão do bloco de previsão respetivo numa estrutura regular de subárvore de blocos e, posterior subdivisão de um subconjunto destas subárvores, de acordo com o procedimento de subdivisão de árvores quadtree de forma a obter os blocos residuais (os quais podem ser blocos de previsão, no caso de não haver ocorrido qualquer divisão em subárvores de blocos no respetivo bloco de previsão, subárvore de blocos, no caso de não ter havido divisão em regiões menores na respetiva subárvore de blocos ou blocos de folhas da subdivisão da árvore quadtree residual.
Como foi sumariamente atrás mencionado, as subdivisões selecionadas para uma matriz primária podem mapeadas em matrizes subordinadas. Este é um processo fácil, ao se considerar matrizes subordinadas de igual dimensão à da matriz primária. Contudo, é necessário tomar medidas especiais no caso das dimensões das matrizes subordinadas diferirem das dimensões da matriz primária. De uma forma geral, no caso de as dimensões serem diferentes, o mapeamento da subdivisão da matriz primária nas matrizes subordinadas pode ser efetuado através de mapeamento espacial, i.e. através do mapeamento espacial das extremidades do bloco da subdivisão da matriz primária nas matrizes subordinadas. Em particular, para cada matriz subordinada, pode haver um fator de escala na direção horizontal e na direção vertical, que determina a razão da dimensão da matriz primária e da matriz subordinada. A divisão da matriz subordinada em sub-blocos para a codificação de previsão e residual pode ser determinada pela árvore quadtree primária e pela(s) árvore(s) quadtree subordinada(s) de cada um das árvores de blocos co-instaladas na matriz primária, respetivamente, estando as resultantes as árvores de blocos da matriz subordinada à escala do respetivo fator de escala. No caso dos fatores de escala de direção horizontal e vertical serem distintos (ex. como na subamostras cromática em 4:2:2), os resultantes blocos de previsão e residuais da matriz subordinada não permanecerão quadrados. Neste caso, é possível tanto pré-determinar ou selecionar de forma adaptativa (quer para a sequência completa, para uma imagem de uma sequência ou para cada previsão isolada ou bloco residual) , se o bloco residual não quadrado deve ser dividido em blocos quadrados. No primeiro caso, por exemplo, o codificador e o descodificador podem concordar na subdivisão em blocos quadrados, a cada vez que o bloco mapeado não é quadrado. No segundo caso, o subdivisor 28 pode sinalizar a seleção através do dispositivo de inserção de fluxo de dados 18 e fluxo de dados 22 para o subdivisor 104a. Como exemplo, no caso da subamostras cromática 4:2:2, na qual as matrizes subordinadas têm metade da largura mas a mesma altura da matriz primária, os blocos residuais seriam duas vezes mais altos que largos. Através da divisão vertical deste bloco, seria possível obter dois blocos quadrados de novo.
Tal como mencionado anteriormente, o subdivisor 28 ou o divisor 20, respetivamente, assinalam a divisão baseada em árvores quadtree, via fluxo de dados 22 para o subdivisor 104a. Para este fim, o subdivisor 28 informa o dispositivo de inserção de fluxo de dados 18 acerca das subdivisões selecionadas para as imagens 24. O dispositivo de inserção, por seu lado, transmite a estruturas das matrizes primária e secundária quadtree e, portanto, a divisão da matriz de imagem em blocos de dimensão variável para previsão ou codificação residual, dentro do fluxo de dados ou do fluxo de bits 22, respetivamente, para a parte de descodificação.
As dimensões de blocos máximas e mínimas admissíveis são transmitidas como informação secundária e pode mudar de imagem para imagem. As dimensões de blocos máximas e mínimas admissíveis podem ainda ser fixadas no codificador e descodificador. Estas dimensões máximas e mínimas dos blocos podem ser diferentes para blocos de previsão e para blocos residuais. Na sinalização da estrutura da árvore quadtree, a árvore quadtree tem de ser percorrida e tem de ser especificado, para cada nó, se este nó particular é um nó de folha da árvore quadtree (i.e. o bloco correspondente não é subdividido posteriormente) ou se se ramifica nos seus quatro nós filhos (i.e. o bloco correspondente é dividido em quatro sub-blocos com metade da dimensão). A sinalização no interior da imagem é efetuada, através de pesquisa de varrimento de árvore de blocos em árvore de blocos, como por exemplo da esquerda para a direita e de cima para baixo, como ilustrado na figura 5a no 140. Esta ordem de pesquisa pode também ser diferente, como por exemplo do extremo inferior direito para o extremo superior esquerdo ou no sentido de um tabuleiro de damas. Numa forma de realização preferida, cada árvore de blocos e, portanto, cada árvore quadtree é percorrida numa ordem de profundidade para sinalização da informação de subdivisão.
Numa forma de realização preferencial a não apenas a informação de subdivisão, i.e. a estrutura da árvore, é transmitida/processada numa ordem de profundidade, mas também os dados de previsão, etc. i.e. a carga útil associada aos nós das folhas da árvore. Isto porque a leitura em ordem de profundidade tem maiores vantagens em relação à de ordem em primeiro-largura. Na figura 5b a estrutura da árvore quadtree é apresentada com os nós das folhas marcados como as A figura 5a mostra a divisão de blocos resultante. Se os blocos / nós das folhas forem lidos numa ordem de primeiro-largura, a seguinte ordem é obtida: abjchidefg. No entanto, quando se trata de ordem de profundidade, a ordem obtida é abc...ij. Tal como se pode observar na figura 5a, com a ordem de profundidade, o bloco de vizinhança de esquerda e o bloco de vizinhança de topo são sempre transmitidos antes do bloco atual. Assim, a previsão do vetor de deslocamento e a modelação de contexto podem sempre usar os parâmetros especificados para os blocos de vizinhança esquerda e de topo, de forma a conseguir um melhor desempenho de codificação. No caso da ordem de primeiro-largura isto não acontece, uma vez que o bloco j é transmitido antes dos blocos e, g e i, por exemplo.
Consequentemente, a sinalização efetuada para cada árvore de blocos é feita de forma recursiva em conjunto com a estrutura da árvore quadtree da primeira árvore quadtree, de forma a ser transmitida uma bandeira de sinalização para cada nó, especificando se o bloco correspondente é dividido em quatro sub-blocos. Se esta bandeira tiver o valor "1" (para "verdadeiro"), este processo de sinalização é repetidamente transmitido recursivamente para todos os quatro nós filhos, i.e. sub-blocos na ordem de rastreio de exploração (superior esquerdo, superior direito, inferior esquerdo, inferior direito) até se alcançar o nó da folha da árvore quadtree primária. É de salientar que um nó de folha é caraterizado por ter uma bandeira de subdivisão com o valor de "0". Para o caso de um nó estar localizado no nivel de hierarquia inferior da árvore quadtree primária, e portanto correspondendo à menor dimensão de blocos de previsão admissível, não é transmitida qualquer bandeira de subdivisão. Como exemplo, na figura 3a-c, primeiro transmite-se "1", tal como apresentado no 190 da figura 6a, especificando que a árvore de blocos 150 é dividida nos seus quatro sub-blocos 152a-d. Em seguida, codifica-se de forma recursiva a informação de subdivisão de todos os quatro sub-blocos 152a-d, seguindo a ordem de exploração de rastreio 200. No caso dos primeiros sub-blocos 152a,b seria transmitido "0" para especificar que não serão posteriormente subdivididos (ver 202 da Fig. 6a) . No caso do terceiro sub-bloco 152c (inferior esquerdo), seria transmitido "1", especificando que este bloco será posteriormente subdividido (ver 204 na Fig. 6a) . Assim, de acordo com esta abordagem recursiva, os quatro sub-blocos 154a-d deste bloco seriam processados. Aqui, seria transmitido "0" para o primeiro sub-bloco (206) e "1" para o segundo sub-bloco (208) (superior direito). Assim, os quatro sub-blocos com as menores dimensões de bloco, 154a-d na figura 3c, seriam processados. No caso do presente exemplo, já teriamos alcançado a menor dimensão de blocos permitida, e portanto, mais nenhuns dados teriam de ser transmitidos, uma vez que não é possível subdividir mais. Caso contrário, "0000" será transmitido para especificar que nenhum destes blocos será posteriormente dividido, tal como o indicado no 210 da figura 6a. Em seguida, será transmitido "00" para os dois blocos inferiores da figura 3b (ver 212 na Fig.6a) e, finalmente "0" para o bloco inferior direito na figura 3a (ver 214) . Desta forma, a cadeia binária completa representando a estrutura da árvore quadtree resultaria naquela apresentada na figura 6a.
Nesta representação de cadeia binária da figura 6a as diferentes sombras de fundo correspondem aos diferentes níveis na hierarquia da subdivisão baseada numa árvore quadtree. A sombra 216 representa o nível 0 (correspondente a uma dimensão dos blocos igual à da dimensão da árvore de blocos original), a sombra 218 representa o nível 1 (correspondente a uma dimensão dos blocos de metade da dimensão da árvore de blocos original), a sombra 220 representa o nível 2 (correspondente a uma dimensão dos blocos de um quarto da dimensão da árvore de blocos original) e a sombra 222 representa o nível 3 (correspondente a uma dimensão dos blocos de um oitavo da dimensão da árvore de blocos original) . Todas as bandeiras de subdivisão do mesmo nivel hierárquico (correspondente à mesma dimensão dos blocos e à mesma cor, na representação do exemplo da cadeia binária) podem ser entropicamente codificados usando apenas um e o mesmo modelo de probabilidades, através do dispositivo de inserção 18, por exemplo. É contudo de notar que para o caso da leitura de ordem de primeiro-largura, a informação de subdivisão deve ser transmitida numa ordem diferente, tal como apresentado na figura 6b.
De forma similar à da subdivisão de cada árvore de blocos, para fins de previsão, a divisão de cada bloco de previsão resultante em blocos residuais tem de ser transmitida em fluxo de bits. Aqui também pode haver uma dimensão máxima e minima dos blocos na codificação residual, que é transmitida como informação secundária, a qual pode mudar de imagem para imagem. Em alternativa, a dimensão máxima e minima dos blocos na codificação residual, pode ser fixada pelo codificador e descodificador. 0 bloco de previsão correspondente a cada nó da árvore quadtree primária, tal como mostra a figura 3c, pode ser dividido em blocos residuais da dimensão máxima admissível. Estes blocos são os constituintes dos nós das raízes da estrutura da árvore quadtree subordinada, na codificação residual. Como exemplo, se a dimensão máxima de um bloco residual de uma imagem dor 64x64 e o bloco de previsão tiver a dimensão de 32x32, então a totalidade do bloco de previsão corresponde a um nó de raiz da árvore subordinada (residual) de 32x32. Por outro lado, se a dimensão máxima do bloco residual para a imagem é de 16x16, então o bloco de previsão 32x32 consistirá em quatro nós de raiz de árvore quadtree residual, tendo cada um uma dimensão de 16x16. A sinalização da estrutura subordinada da árvore quadtree é realizada nó por nó da raiz, dentro de cada bloco de previsão, numa ordem de exploração de rastreio (esquerda para a direita e superior para inferior) . Tal como no caso da estrutura primária de árvore quadtree (previsão), é codificada uma bandeira para cada nó, especificando se este nó em particular é dividido nos seus quatro nós filhos. Assim, se a bandeira tem o valor "1", este procedimento é repetido de forma recursiva para todos os nós filhos correspondentes, bem como para os seus sub-blocos, numa ordem de exploração de rastreio (esquerda para a direita e superior para inferior), até se chegar a um nó de folha da árvore quadtree subordinada. Tal como no caso de uma árvore quadtree, não é necessário qualquer sinalização para nós de nível hierárquico inferior da árvore quadtree subordinada, uma vez que estes nós correspondem a blocos residuais com a dimensão mínima possível e que não podem ser ainda mais divididos.
Na codificação entrópica é possível codificar bandeiras de subdivisão de blocos residuais para blocos com as mesmas dimensões de bloco, através da utilização do mesmo modelo de probabilidade.
Assim, de acordo com o exemplo atrás apresentado, relativo às figuras 3a a 6a, o subdivisor 28 define uma subdivisão primária para fins de previsão e uma subdivisão subordinada dos blocos de dimensões diferentes, da subdivisão primária, para fins de codificação residual. 0 dispositivo de inserção de fluxo de dados 18 codifica a subdivisão primária através da sinalização de cada árvore de blocos numa ordem de exploração em zig-zag, uma sequência de bits construída de acordo com a figura 6a, em conjunto com a codificação dos blocos primários de dimensão máxima e com o nível hierárquico máximo da subdivisão primária. Para cada um dos então blocos de previsão definidos, são incluídos no fluxo de dados parâmetros de predição associados. Adicionalmente, uma codificação com informação similar, i.e. dimensão máxima, nível hierárquico máximo e sequência de bits, teve lugar para cada bloco de previsão com a dimensão igual ou menor do que a dimensão máxima para a subdivisão residual e para cada bloco de raiz da árvore residual, tal como apresentado na figura 6a, em blocos de previsão que haviam sido pré-divididos e cuja dimensão excedia a dimensão máxima definida para os blocos residuais. Para cada um dos então blocos residuais definidos, são incluídos no fluxo de dados residuais. 0 extrator 102 extrai as respetivas sequências de bits do fluxo de dados na entrada 116 e informa o divisor 104 sobre a informação de subdivisão assim obtida. Para além disso, o dispositivo de inserção de fluxo de dados 18 e o extrator 102 podem usar a ordem acima mencionada, de entre os blocos de previsão e os blocos residuais, para transmitir elementos de sintaxe adicionais, tais como saída de dados residuais do pré-codificador 14 e saída de parâmetros de previsão do previsor 12. A utilização desta ordem tem vantagens pelo fato de poderem ser selecionados contextos adequados para a codificação dos elementos individuais de sintaxe para um determinado bloco, através da exploração de elementos de sintaxe dos blocos de vizinhança previamente codificados ou descodificados. Adicionalmente, e de forma similar, o pré-codificador 14, o previsor 12, bem como o reconstrutor residual 106 e pré-codificador 110 podem processar os blocos de previsão e os blocos residuais individuais, de forma a obter a ordem acima mencionada. A figura 7 apresenta o diagrama de fluxo dos passos que podem ser realizados pelo extrator 102 de forma a extrair a ordem de informação de subdivisão do fluxo de dados 22 quando codificado da forma acima mencionada. Num primeiro passo, o extrator 102 divide a imagem 24 em blocos de raiz de árvore 150. Este passo é indicado como o passo 300 na figura 7. O passo 300 pode envolver, por parte do extrator 102, a extração de blocos de previsão com a dimensão máxima do fluxo de dados 22. Adicionalmente ou em alternativa, o passo 300 pode envolver, por parte do extrator 102, a extração do nível de hierarquia máximo do fluxo de dados 22.
Em seguida, no passo 302, o extrator 102 descodifica uma bandeira ou bit do fluxo de dados. Na primeira vez que o passo 302 é realizado, o extrator 102 sabe que a respetiva bandeira é a primeira bandeira da sequência de bits pertencente ao primeiro bloco de raiz 150 da árvore numa ordem de exploração de blocos de raiz de árvore 140. Como esta bandeira é uma bandeira de nivel hierárquico 0, o extrator pode usar uma modelação de contexto associada aquele nivel hierárquico 0, no passo 302, de forma a determinar um contexto. Cada contexto pode ter a respetiva estimativa de probabilidade para decodificação entrópica da bandeira a esta associada. A estimativa de probabilidade dos contextos pode ser adaptada de uma forma individual ao respetivos símbolo estatístico desse contexto. Como exemplo, na determinação de um contexto adequado para a descodificação da bandeira de nível hierárquico 0, no passo 302, o extrator 102 pode selecionar um contexto a partir de um conjunto de contextos, o qual está associado ao nível de hierarquia 0, dependendo da bandeira de nível hierárquico 0 da árvore de blocos da vizinhança. Mais ainda, dependendo também da informação contida nas linhas de bits que definem a subdivisão da quadtree da árvore de blocos da vizinhança da árvore de blocos atualmente processada, tal como da árvore de blocos da vizinhança do topo esquerdo.
No passo seguinte, nomeadamente no passo 304, o extrator 102 verifica se a bandeira recentemente descodificada sugere um particionamento. Se for este o caso, o extrator 102 particiona o bloco atual - presentemente uma árvore de blocos, ou indica esta partição ao subdivisor 104a, no passo 306, e verifica, no passo 308, se o atual nível hierárquico é igual ao nível máximo de hierarquia menos um. Por exemplo, o extrator 102 pode também ter extraído um nível máximo hierárquico do fluxo de dados no passo 300. Caso o nível hierárquico atual seja diferente ao nível máximo de hierarquia menos um, então o extrator 102 aumenta o nível hierárquico atual no valor de 1, no passo 310, e recua até ao passo 302 para descodificação da próxima bandeira do fluxo de dados. Nesta altura, as bandeiras a serem descodificadas no passo 302 pertencem a outro nivel hierárquico e, por essa razão, de acordo com outra forma de realização, o extrator 102 pode selecionar um contexto a partir de diferentes conjuntos de contextos, sendo este conjunto pertencente ao nivel hierárquico atual. A seleção pode ser baseada também em sequências de bits de subdivisão, de acordo com a figura 6a da árvore de blocos de vizinhança previamente descodificadas.
Se uma bandeira é descodificada, e a verificação no passo 304 revela que esta bandeira não sugere o particionamento do bloco atual, o extrator 102 continua com o passo 312 para verificação se o nivel hierárquico atual é 0. Se for este o caso, o extrator 102 continua a processar com respeito ao bloco de raiz de árvore seguinte, numa ordem de exploração 140 no passo 314, ou para o processamento extraindo a informação de subdivisão, caso não hajam mais blocos para processar.
Deve ser notado que a descrição da figura 7 foca a descodificação da subdivisão apenas indicando as bandeiras da previsão de subdivisão, de forma que, de facto, o passo 314 possa envolver a descodificação de bits adicionais ou de elementos de sintaxe relativos, por exemplo, à árvore de blocos atual. De qualquer das formas, caso exista um bloco de raiz adicional ou seguinte, o extrator 102 prossegue desde o passo 314 até ao passo 302 para descodificar a próxima bandeira a partir da informação de subdivisão, nomeadamente a primeira bandeira da sequência de bandeiras relativas ao novo bloco de raiz de árvore.
Se no passo 312 o nivel hierárquico se revelar diferente de 0, então a operação prossegue, no passo 316, com uma verificação quanto à existência de nós de filhos adicionais relativos ao nó atual. Ou seja, quando o extrator 102 efetua uma verificação no passo 316, já foi anteriormente verificado, no passo 312, que o nivel hierárquico atual é um nivel diferente de 0. Em contrapartida, isto significa que existe um nó parente deste, o qual pertence a um bloco de raiz de árvore 150, a um bloco de menor dimensão 152a-d ou até blocos menores 152a-d e assim por diante. O nó da estrutura de árvore, cuja bandeira foi recentemente descodificada, tem um nó parente e que é comum a três outros nós da estrutura atual. O nó da estrutura em árvore, ao qual pertence a bandeira que foi recentemente descodificada tem um nó parente, o qual é comum a outros 3 nós da estrutura em árvore atual. A ordem de exploração destes nós filhos, que têm em comum este parentesco, foi apresentada como exemplo na figura 3a para o nível de hierarquia 0, com o sinal referência 200. Assim, no passo 316, o extrator 102 verifica se estes quatro nós filhos foram já visitados, no processo da figura 7. Se não tiver sido este o caso, i.e. se houver mais nós filhos no nó parente atual, o processo da figura 7 prossegue com o passo 318, onde o nó filho é visitado, de acordo com a ordem de exploração em zig-zag 200, no contexto do nível hierárquico atual, de maneia a que o correspondente sub-bloco represente agora o bloco atual do processo 7 e, a partir daqui, é descodificada uma bandeira no passo 302 a partir do fluxo de dados relativo ao bloco ou nó atuais. Contudo, se não houver outros nós filhos para o nó parente atual, no passo 316, o processo da figura 7 prossegue até ao passo 320, onde o nível hierárquico atual é diminuído em 1 valor, a partir do qual o processo prossegue com o passo 312.
Através da realização dos passos apresentados na figura 7 o extrator 102 e o subdivisor 104a cooperam de forma a recuperar a subdivisão selecionada, pelo codificador, a partir do fluxo de dados. O processo da figura 7 é focado no caso de subdivisão de previsão acima mencionado. A figura 8 apresenta, em combinação com o diagrama de fluxo da figura 7, como o extrator 102 e o subdivisor 104a cooperam de forma a recuperar a subdivisão residual a partir do fluxo de dados.
Em particular, a figura 8 mostra os passos efetuados pelo extrator 102 e subdivisor 104a, respetivamente, para cada um dos blocos de previsão resultantes da subdivisão de previsão. Estes blocos de previsão são percorridos, tal como acima mencionado, de acordo com a ordem de exploração em zig-zag 140, de entre os blocos 150 da subdivisão de previsão e através da utilização de uma ordem de transversa de profundidade, dentro de cada árvore de blocos 150 atualmente visitadas para percorrer os blocos de folhas, tal como por exemplo, na figura 3c. De acordo com a ordem de profundidade, os blocos de folhas das árvores de blocos primárias particionadas são visitados na ordem transversa de profundidade com visita de sub-blocos de determinado nivel de hierarquia, os quais têm em comum o nó atual na ordem de exploração em zig-zag 200 e com a exploração primária da subdivisão de cada um destes blocos primeiro, antes de prosseguir para o próximo sub-bloco nesta ordem de exploração em zig-zag 200 .
Como exemplo, na figura 3c é mostrado, com o sinal de referência 350, o resultado da ordem de exploração entre os nós de folha de uma árvore de blocos 150. O processo da figura 8 inicia-se no passo 400 para o caso de um bloco de previsão atualmente visitado. No passo 400, é definido um parâmetro interno, igual à dimensão do nível de hierarquia 0 da subdivisão residual, indicando a dimensão atual do bloco atual, i.e. a dimensão máxima do bloco da subdivisão residual. Deve ser relembrado que a dimensão máxima dos blocos residuais pode ser inferior, igual ou superior à da menor dimensão dos blocos da subdivisão de previsão. Noutras palavras, de acordo com uma forma de realização preferencial, o codificador pode escolher livremente qualquer uma das possibilidades acima referidas.
No passo seguinte, isto é, no passo 402, é executada uma verificação, no que respeita à dimensão do bloco de predição do bloco correntemente visitado, para determinação se este é maior do que o parâmetro interno indicando o tamanho atual. Se for este o caso, ou seja se o bloco de previsão atualmente visitado, que pode ser um bloco folha da subdivisão de previsão ou uma árvore de blocos da divisão de previsão, o qual não foi sujeito a nova partição, for maior do que a dimensão máxima do bloco residual, então o processo da figura 8 prossegue com o passo 300 da figura 7. Assim, o bloco de previsão atualmente visitado é dividido em blocos de raiz de árvore residual sendo descodificada, no passo 302, a primeira bandeira da sequência de bandeiras da primeira árvore de blocos residual deste bloco de previsão atualmente visitado, e assim por diante.
Contudo, se o bloco de previsão atualmente visitado tem uma dimensão igual ou menos do que o parâmetro interno que indica a dimensão atual, então o processo da figura 8 prossegue para o passo 404, onde a dimensão do bloco de previsão é verificada de forma a determinar se o mesmo é igual ao parâmetro interno indicativo da dimensão corrente. Se for este o caso, o passo de divisão 300 pode ser ignorado e o processo prossegue diretamente para o passo 302 da figura 7.
Contudo, se a dimensão do bloco de previsão do bloco de previsão atualmente visitado for menor do que a do parâmetro interno indicativo da dimensão atual, então o processo da figura 8 prossegue com o passo 406, onde o nivel hierárquico é incrementado por 1, sendo a dimensão atual definida para a dimensão do novo nivel hierárquico, tal como dividida por 2 (em ambas as direções de eixo, no caso de subdivisão quadtree). Em seguida, é realizada nova verificação do passo 404. O efeito do "loop" formado nos passos 404 e 406 é tal que o nivel hierárquico corresponde sempre à dimensão do bloco correspondente a ser particionado, independentemente do facto do respetivo bloco de previsão ter uma dimensão menor, igual ou maior do que a dimensão máxima do bloco residual. Assim, as bandeiras de descodificação, no passo 302, e a modelação de contexto realizada dependem do nivel hierárquico e da dimensão do bloco ao qual a bandeira se refere concorrentemente. A utilização de diferentes contextos para bandeiras ou dimensões de blocos de diferentes níveis hierárquicos, respetivamente, é vantajosa por a estimativa de probabilidade poder encaixar na real distribuição de probabilidades, entre as ocorrências de valores das bandeiras e, por outro lado, havendo um número relativamente moderado de contextos a serem geridos, reduzindo deste modo o contexto de gestão de sobrecarga, bem como o aumento da adaptação de contexto para as estatísticas de símbolo real.
Tal como já mencionado anteriormente, pode haver mais do que uma matriz de amostras, que podem ser agrupadas num ou mais panos de grupos. 0 sinal de entrada a ser codificado, entrada 32, por exemplo, pode ser uma imagem de uma sequência de vídeo ou uma imagem estática. Assim, a imagem pode ser fornecida na forma de uma ou mais matrizes de amostras. No contexto de codificação de uma imagem de sequência de vídeo ou de uma imagem estática, as matrizes de amostras podem referir-se aos três planos de cores, tais como vermelho, verde e azul ou a planos de luminescência e cromáticos, tais como representações de cor de YUV ou YCbCr. Adicionalmente, as matrizes de amostras representando alfa, i.e. informação de transparência e/ou profundidade para material de vídeo 3-D, pode estar igualmente pressente. Um número determinado destas matrizes de amostras pode ser agrupado como os denominados planos de grupo. Por exemplo, luminescência (Y) pode ser um plano de grupos com apenas uma matriz de amostras e cromático, tal como CbCr, pode ser outro plano de grupos com duas matrizes de amostras, num outro exemplo, YUV pode ser um plano de grupos com. três matrizes e a informação de profundidade para material de vídeo 3-D pode ser um plano de grupos diferente com apenas uma matriz de amostras. Para cada plano de grupos pode ser codificada uma estrutura quadtree primária, no fluxo de dados 22 para representação da divisão em blocos de previsão e para cada bloco de previsão pode ser codificada uma estrutura quadtree secundária representando a divisão em blocos residuais. Assim, de acordo com um primeiro exemplo recentemente mencionado, onde a luminescência é um plano de grupos e o componente cromático forma outro plano de grupos haverá uma estrutura quadtree para os blocos de previsão do plano de luminescência, uma estrutura quadtree para os blocos residuais do plano de luminescência, uma estrutura quadtree para os blocos de previsão do plano cromático e outra estrutura quadtree para os blocos residuais do plano cromático. Contudo, no segundo exemplo acima mencionado, haverá uma estrutura quadtree para os blocos de previsão do plano de luminescência conjuntamente com o cromático (YUV), uma estrutura quadtree para os blocos residuais do plano de luminescência conjuntamente com o cromático (YUV), uma estrutura quadtree para os blocos de previsão da informação de profundidade para o material de vídeo 3-D e uma estrutura quadtree para os blocos residuais da informação de profundidade para o material de vídeo 3-D.
Para além disso, na descrição a seguir, o sinal de entrada estava dividido em blocos de predição utilizando a estrutura quadtree primária, estando descrito como estes blocos de previsão foram subsequentemente divididos em blocos residuais através da utilização de uma estrutura quadtree subordinada. De acordo com outra forma de realização alternativa, a subdivisão não pode terminar a etapa de quadtree subordinada. Assim, os blocos obtidos a partir da divisão através de uma estrutura quadtree subordinada pode ser novamente subdividida pela utilização de uma estrutura quadtree terciária. Esta divisão, por seu lado, pode ser usada para fins de ferramentas de codificação adicionais, as quais podem facilitar a codificação do sinal residual. A presente descrição concentra-se na subdivisão realizada pelo subdivisor 28 e subdivisor 104a, respetivamente. Tal como acima mencionado, a subdivisão definida pelo subdivisor 28 e subdivisor 104a, pode respet.ivam.ente controlar o processamento da granulometria dos módulos acima mencionados do codificador 10 e descodificador 100. Contudo, de acordo com as formas de realização descritas em seguida, os subdivisores 228 e 104a, são respetivamente seguidos de uma união 30 e uma união 104a, respetivamente. No entanto, deve ser notado que as uniões 30 e 104a são opcionais e podem ser deixadas de fora.
Com efeito, como será explicado abaixo com maior detalhe, o unificador fornece ao codificador a oportunidade de combinar alguns dos blocos de previsão ou blocos residuais em grupos ou aglomerados, de forma que outros módulos (ou pelo menos alguns dos outros módulos) possam tratar estes grupos de blocos em conjunto. Como exemplo, o previsor 12 pode sacrificar pequenos desvios entre os parâmetros de previsão de alguns dos blocos de previsão, de acordo com o determinado pela otimização, através da utilização da subdivisão do subdivisor 28, e utilizar parâmetros de previsão comuns a todos estes blocos de previsão se, ao invés de sinalizar os blocos de previsão do grupo em conjunto com a transmissão de um parâmetro comum a todos os blocos pertencentes a este grupo for mais vantajoso no que diz respeito à taxa / razão de distorção do que a sinalização dos parâmetros de previsão para todos estes blocos de previsão. Contudo, o processo de recuperação da previsão, nos previsores 12 e 110, baseado nestes parâmetros de previsão comuns, pode ainda assim ocorrer de forma tipo blocos de previsão. No entanto, é igualmente possível que os previsores 12 e 110 até realizem o processo de previsão uma vez para a totalidade do grupo de blocos de previsão.
Tal como será explicado abaixo com maior detalhe, é igualmente possível que o agrupamento de blocos de previsão não seja apenas para utilização dos parâmetros de previsão iguais ou comuns a um grupo de blocos de previsão, mas, em alternativa ou adicionalmente, permite que o codificador 10 envie um parâmetro de previsão para este grupo conjuntamente com os residuais de previsão para os blocos de previsão pertencentes a. este grupo de forma à sobrecarga de sinalização, para sinalizar os parâmetros de predição para este grupo, poder ser reduzida. Neste caso, o processo de união pode meramente influenciar o dispositivo de inserção de dados 18 em vez das decisões realizadas pelo pré-codificador residual 14 e previsor 12.Contudo, mais detalhes serão apresentados em seguida. Para uma melhor compreensão, deve no entanto ser notado que os aspetos agora mencionados também se aplicam tanto a outras subdivisões, tais como à subdivisão residual ou à subdivisão de filtragem acima mencionadas.
Em primeiro, a união de conjuntos de amostras, tais com a das previsões acima mencionadas e dos blocos residuais, é motivada num sentido mais geral, i.e. não restritas às subdivisões das árvores múltiplas acima mencionadas. Subsequentemente, a descrição foca-se na união de blocos resultantes de subdivisão de árvores múltiplas, para as quais foram descritas as formas de realização acima.
De uma forma geral, a união dos elementos de sintaxe associados a conjuntos específicos de amostras, para fins de transmissão de parâmetros de codificação associados, permite a redução da taxa de informação secundária em aplicações de codificação de imagens e de video. Por exemplo, as matrizes de amostras do sinal a ser codificado são usualmente particionadas em conjuntos de amostras específicos ou conjuntos de amostras, os quais podem representar blocos quadrados ou retangulares, ou ainda qualquer coleção de amostras, incluindo regiões arbitrariamente formatadas, triângulos ou outras formas. Nas formas de realização acima descritas, as regiões simplesmente conectadas eram blocos de previsão e blocos residuais resultantes da subdivisão de árvores múltiplas. A subdivisão de matrizes de amostras pode ser fixada pela sintaxe ou, tal como o descrito atrás, pode ser pelo menos parcialmente assinalada no interior do fluxo de bits. Com o objetivo de manter baixa a taxa de informação secundária, a sintaxe usualmente permite apenas um limitado número de escolhas que resultam em particionamento simples, tal como a subdivisão dos blocos em blocos menores. Os conjuntos de amostras estão associados a parâmetros específicos de codificação, os quais podem especificar informação de previsão ou modos de codificação residual, etc. Já foram descritos acima detalhes acerca deste assunto. Podem ser transmitidos, para cada conjunto de amostras, parâmetros de codificação individuais, tais como especificação de previsão e/ou codificação residual. Com o objetivo de alcançar uma melhor eficiência de codificação, aspetos de união descritos em seguida, nomeadamente a união de dois ou mais conjuntos de amostras nos denominados conjuntos de amostras, permitem algumas vantagens, as quais são descritas mais adiante. Por exemplo, conjuntos de amostras podem ser unidos de tal forma que todos os conjuntos de amostras de um grupo partilhem os mesmos parâmetros de codificação, os quais podem ser transmitidos em conjunto com um dos conjuntos de amostras dentro do grupo. Ao se fazer isto, os parâmetros de codificação não têm de ser transmitidos individualmente para cada conjunto de amostras do grupo de conjuntos de amostras, mas em vez disso, os parâmetros de codificação são transmitidos uma única vez para a totalidade do grupo de conjuntos de amostras. Em resultado disso, a taxa de informação secundária para a transmissão dos parâmetros de codificação pode ser reduzida, e a eficiência geral de codificação pode ser melhorada. Como abordagem alternativa, pode ser transmitido, para um ou mais dos conjuntos de amostras de um grupo de um conjunto de amostras, um refinamento adicional para um ou mais parâmetros de codificação. Este refinamento pode ser aplicado tanto a todos os conjuntos de amostras de um grupo ou apenas a um conjunto de amostras, para o qual é transmitido. 0 aspeto de união descrito abaixo possibilita, igualmente ao codificador uma grande flexibilidade na criação do fluxo de bits 22, uma vez que a abordagem de união aumenta signi f icat ivamente o número de possibilidades de seleção de particionamento para as matrizes de amostras de uma imagern. Uma vez que o codificador pode escolher de entre mais opções, tais como para minimizar -uma determinada medida de taxa/distorção, a eficiência de codificação pode ser melhorada. Existem várias possibilidades de operar um codificador. Numa abordagem simples, o codificador pode primeiramente determinar a melhor subdivisão de uma matriz de amostras. Em referência breve à figura 1, o subdivisor 28 pode determinar a subdivisão ótima numa primeira etapa. Em seguida, pode verificar-se se, para cada conjunto de amostras se a união com outro conjunto de amostras ou com outro grupo de conjuntos de amostras reduzem uma determinada taxa / medida de custo de distorção. Desta forma, é possível re-estimar os parâmetros de previsão associados a um grupo de conjuntos de amostras unificado, tal como efetuar uma nova pesquisa de movimento ou de parâmetros de previsão, que já foram anteriormente determinados para o conjunto de amostras comum e, o conjunto de amostras ou o grupo de conjuntos de amostras candidatos à união podem ser avaliados pjara o novo grupo de conjuntos de amostras considerado. Numa abordagem mais extensiva, é possível avaliar uma determinada taxa / medida de custo distorção para candidatos adicionais de conjuntos de grupos de amostras.
Deve ser notado que a abordagem de união, descrita de aqui para diante, não modifica a. ordem de processamento dos conjuntos de amostras. Assim, o conceito de união pode ser implementado de forma que o atraso não é aumentado, i.e. cada conjunto de amostras permanece descodificável no mesmo momento que sem a utilização da abordagem de união.
Por exemplo, se a taxa de bits que é poupada, através da redução do número de parâmetros de predição codificado, for maior do que a taxa de bits que é necessária para ser adicionalmente usada na codificação da informação de união, para indicação da união à parte da descodificação, então a abordagem de união, a ser abaixo descrita, .resulta numa eficiência de codificação incrementada. Deve ainda ser referido, que a extensão da sintaxe descrita, para a união, permite ao codificador ter uma liberdade adicional na seleção de particionamento de uma imagem ou de um plano de grupos em blocos. Noutras palavras, o codificador não está restrito à realização de subdivisão em primeiro lugar e só depois verificar se alguns dos blocos resultantes têm o mesmo conjunto, ou um conjunto semelhante, de parâmetros de previsão. Como uma alternativa simples, o codificador pode primeiro determinar a subdivisão, de acordo com uma medida de custo taxa de distorção, e só depois verificar, para cada bloco, se a união com um, dos blocos da sua vizinhança ou grupo de blocos já determinado, reduz a medida de custo taxa de distorção. Assim, é possível re-estimar os parâmetros de previsão associados a um novo grupo de blocos, tal como através da realização de uma nova pesquisa de movimento ou de parâmetros de previsão que já foram previamente determinados para os blocos atuais, e os blocos de vizinhança ou grupos de blocos podem ser avaliados para o novo grupo de blocos. A informação de união pode ser assinalada em função dos blocos. Efetivamente, a união pode ser também interpretada com inferência de parâmetros de previsão para um bloco atual, na qual os parâmetros de previsão inferidos são definidos como sendo iguais aos parâmetros de previsão de um dos blocos de vizinhança. Em alternativa, podem ser transmitidos residuais para os blocos dentro de um grupo de blocos.
Assim, a ideia básica subjacente ao conceito de união, descrito mais adiante, é a de reduzir a taxe de bits que é necessária para a transmissão dos parâmetros de previsão ou outros parâmetros de codificação, através da união de blocos de vizinhança em grupos de blocos, onde cada grupo de blocos é associado a um conjunto único de parâmetros de codificação, tais como parâmetros de previsão ou parâmetros de codificação residual. A informação de união é assinalada dentro do fluxo de bits em adição à informação de subdivisão, caso esteja presente. A vantagem do conceito de união é a de incrementar a eficiência de codificação em resultado de um decréscimo da taxa de informação secundária dos parâmetros de codificação. Deve ser salientado que o processo de união aqui descrito pode igualmente estender-se a outras dimensões para além das dimensões espaciais. Como exemplo, um grupo de conjuntos de amostras ou de blocos, constantes respetivamente em várias diferentes imagens de vídeo, pode ser unido num grupo de blocos. A união pode também ser aplicada a compressão 4-D e à codificação de campos de luz.
Assim, e retornando brevemente à descrição prévia das figuras 1 a 8, é notado que o processo de união subsequente ao da subdivisão é vantajoso, independentemente da forma, específica de como os subdivisores 28 e 104a, respetivamente, efetuam a subdivisão das imagens. Mais precisamente, o último pode subdividir as imagens de uma forma semelhante a, por exemplo, H264, i.e. pela subdivisão de cada imagem em arranjos regulares de macroblocos quadrados ou retângulos com uma determinada dimensão, tal como amostras de luminescência de 16x16 ou de dimensão assinalada dentro do fluxo de dados, tendo cada macrobloco determinados parâmetros de codificação associados a estes compreendendo, inter alia, parâmetros de partição definindo, para. cada macrobloco, uma. partição em subgrelhas regulares de 1, 2, 4 ou qualquer outro número de partições que sirvam de granulometria para previsão e, correspondentes parâmetros de previsão no fluxo de dados, bem como para definição da partição para a granulometria residual e de transformação residual.
Em qualquer um dos casos, a união determina as vantagens acima resumidamente descritas, tais como a redução de bits da taxa de informação secundária em aplicações de codificação de imagem e vídeo. Conjuntos de amostras específicos, os quais podem ser representados por blocos quadrados ou retangulares, regiões de forma arbitrária ou qualquer outra coleção de amostras, tais como qualquer região ou amostras conectadas de forma simples, são usualmente conectadas com um conjunto determinado de parâmetros de codificação e para cada um dos conjuntos de amostras, são incluídos parâmetros de previsão no fluxo de bits, representando esses parâmetros de codificação, por exemplo, parâmetros de previsão, os quais especificam como os correspondentes conjuntos de amostras são previstos através do uso de amostras já codificadas. A partição de matrizes de amostras de uma imagem, em conjuntos de amostras, deve ser fixada pela sintaxe ou podem ser assinalados pela correspondente informação de subdivisão, dentro do fluxo de bits. Os parâmetros de codificação, para o conjunto de amestras, podem ser transmitidos numa ordem predefinida, a qual é dada pela sintaxe. De acordo corn a funcionalidade de união, o unificador 30 é capaz de sinalizar, para um conjunto de amostras ou de blocos atual, tal como blocos de previsão ou blocos residuais, que está unido com um ou mais outros conjuntos de amostras num grupo de conjuntos de amostras. Assim, só é necessário transmitir uma única vez os parâmetros de codificação para um grupo de conjuntos de amostras. Numa forma de realização especifica, os parâmetros de codificação de um conjunto de amostras atual não são transmitidos se esse conjunto se encontra unido com um conjunto de amostras já existente ou com um grupo de conjuntos de amostras já existentes, para os quais os parâmetros de codificação já foram transmitidos. Pelo contrário, os parâmetros de codificação são definidos, para o conjunto de amostras atual, como igual aos parâmetros de codificação do conjunto ou grupo de amostras com os quais o conjunto de amostras atual é unido. Como abordagem alternativa, pode ser transmitido um refinamento adicional para um ou mais parâmetros de codificação do conjunto de amostras atuai. Este refinamento pode ser aplicado à totalidade do conjunto de amostras de um grupo ou apenas ao conjunto de amostras para o qual é transmitido.
De acordo com uma forma de realização, para cada conjunto de amostras, tais como um bloco de previsão mencionados anteriormente, um bloco residual também mencionado anteriormente, ou um bloco de folha de uma subdivisão de árvore múltipla também já mencionado, sendo o conjunto de todos as amostras previamente codificadas ou descodificadas denominado de "conjunto de conjuntos de amostras casuais", como por exemplo na figura 3c. Todos os blocos apresentados nesta figura são resultado de subdivisões de previsão ou subdivisões residuais ou ainda subdivisões de qualquer árvore múltipla ou similar, sendo a ordem de codificação e descodificação definida para estes blocos, apresentada pela seta 350. Considerando um determinado bloco de entre estes blocos, como sendo o conjunto de amostras atual ou a região conectada de uma forma simples, o seu conjunto de amostras casuais consiste na totalidade dos blocos que precedera o bloco atual ao longo da ordem 350. Contudo, é de novo salientado que será possível haver outra subdivisão que não a subdivisão em árvore múltipla, bem como a seguinte discussão dos princípios de união.
Os conjuntos de amostras que podem, ser usados para união com o conjunto atual, é denominado de "conjunto de conjuntos de amostras candidatas", no seguinte, e é sempre um subconjunto do "conjunto de conjuntos de amostras casuais". A forma como este subconjunto é formado pode ser conhecida para o descodificador ou pode ser especificada no interior do fluxo de dados ou do fluxo de bits do codificador para o descodificador. Se um determinado conjunto de amostras atual é codificado/descodifiçado e o correspondente conjunto de amostras candidato não está vazio, então é assinalado, dentro do fluxo de dados no codificador ou derivado do fluxo de dados no descodificador, se o conjunto comum de amostras é unido com um conjunto de amostras desde conjunto de conjuntos de amostras candidato e, em caso afirmativo, com qual destes. Caso contrário, a união não pode ser usada para este bloco, uma vez que o conjunto de conjuntos de amostras candidato se encontra, de qualquer das formas, vazio.
Existem formas diferentes de determinar qual o subconjunto dos conjuntos de conjuntos de amostras candidato que deve representar o conjunto de conjuntos de amostras candidato. Por exemplo, a determinação dos conjuntos de amostras candidatos pode ser baseado numa amostras dentro do conjunto de amostras atual, o qual é definido geometricamente de uma forma única, tal como amostras de imagem no topo esquerdo de um bloco quadrado ou retangular. Tendo inicio nesta amostras geometricamente definida de forma única, é determinado um determinado número diferente de zero, o qual representa a vizinhança espacial direta desta amostras definida geometricamente de forma única. Por exemplo, este número especifico diferente de zero das amostras compreende na vizinhança superior e na vizinhança esquerda, desta, amostras definida geometricamente de forma única do conjunto atual de amostras, de forma que o número diferente de zero da vizinhança das amostras possa ser, no máximo, dois, um, se uma das vizinhanças de topo ou esquerda não se encontra disponível ou se encontra fora da imagem, ou zero no caso de não existirem ambas as vizinhanças. 0 conjunto de conjuntos de amostras candidatos pode então ser determinado de forma a compreender aqueles conjuntos de amostras que contêm, pelo menos, um dos números diferentes de zero das amostras de vizinhança agora mencionadas. Ver por exemplo, a figura 9a. 0 conjunto de amostras corrente e sob consideração como objeto de união deve ser o bloco X, e as suas amostras definidas geometricamente de forma única deve, por exemplo, ser a amostras no topo superior esquerdo indicada no 400. As amostras de vizinhança no topo superior esquerdo das amostras 400 são indicadas como 402 e 404. O conjunto de conjuntos de amostras causal ou os blocos casuais são marcados de forma sombreada. De entre estes blocos, os blocos A e B compreendem uma destas amostras casuais 402 ou 404 e, portanto, estes blocos forrnas o conjunto de blocos candidato ou o conjunto de conjuntos de amostras candidato.
De acordo com outra forma de realização, o conjunto de conjuntos de amostras candidato, determinado para fins de união, pode incluir adicionalmente ou exclusivamente, conjuntos de amostras que contenham um número diferente de zero de amostras, os quais podem ser um ou dois que tenham a mesma localização espacial, mas que estejam contidos em imagens diferentes, nomeadamente, por exemplo, numa imagem previamente codificada/descodificada. Por exemplo, em adição aos blocos A e B da imagem 9a, pode ser usado u m bloco de uma imagem previamente codificada, o qual compreende a mesma posição que a amostras 400. A propósito, deve ser notado que as amostras de vizinhança de topo 404 ou a amostras de vizinhança esquerda 404 podem ser meramente usadas para definir o acima mencionado número diferente de zero das amostras de vizinhança. De uma forma geral, o conjunto de conjuntos de amostras candidato pode derivar de dados previamente processados dentro da imagem corrente ou de outras imagens. Esta derivação pode incluir informação de direção espacial, tal como coeficientes de transformação associados a uma direção especifica e a gradientes de imagem da imagem atual ou pode igualmente incluir informação de direção temporal, tal como representações de movimento de vizinhança. A partir dos dados disponíveis no recetor/descodificador e outros dados, bem como de informação secundária no interior do fluxo de dados, se presente, pode ser derivado o conjunto de conjuntos de amostras candidato.
Deve ser salientado que a. derivação dos conjuntos de amostras candidatos é realizada em paralelo por ambos os unificador 30, no lado do codificador, e pelo unificador 14 0b, do lado do descodificador. Tal como recentemente mencionado, ambos podem determinar o conjunto de conjuntos de amostras candidato a partir de cada um do outro, com base numa forma pré-definida e conhecida para ambos, ou o codificador pode sinalizar dicas, dentro do fluxo de dados, o qual traz o unificador 14 0b eiri posição para realizar a derivação destes conjuntos de amostras candidatos de forma igual à do unificador 30, do lado do codificador, determinada pelo conjunto de conjuntos de amostras candidato.
Tal como será descrito abaixo em maior detalhe, o unificador 30 e o dispositivo de inserção de fluxo de dados 18 cooperam de forma a transmitir um ou mais elementos de sintaxe para cada um dos conjuntos de amostras, que especificam se o conjunto de amostras é unido com outro conjunto de amostras, o qual, por seu turno, pode ser parte de um grupo de conjuntos de amostras previarnente unido e para o qual foi empregue o conjunto de conjuntos de amostras candidate para a união. O extrator 102, por seu turno, extrai estes elementos de sintaxe e informa o unificador em concordância. Em particular, com uma forma de realização especifica descrita mais abaixo, são transmitidos um ou dois elementos de sintaxe para especificação da informação de união, para um dado conjunto de amostras. O primeiro elemento de sintaxe especifica se o conjunto de amostras corrente é unido com outro conjunto de amostras. O segundo elemento de sintaxe, que é a apenas transmitido no caso do primeiro elemento de sintaxe especificar que o conjunto de amostras atual é unido com outro conjunto de amostras, especifica quais dos conjuntos dos conjuntos de amostras candidatos é usado para a união. A transmissão do primeiro elemento de sintaxe pode ser suprimida no caso do conjunto de conjuntos de amostras candidato se encontrar vazio. Noutras palavras, o primeiro elemento de sintaxe pode apenas ser transmitido se o conjunto derivado de conjuntos de amostras candidato não se encontrar vazio. O segundo elemento de sintaxe pode apenas ser transmitido se o conjunto derivado de conjuntos de amostras candidato contém mais do que um conjunto de amostras, uma. vez que se apenas um conjunto de amostras estiver contido no conjunto de conjuntos de amostras candidato, não é possível, de qualquer das formas, efetuar urna seleção posterior. Ainda mais, a transmissão do segundo elemento de sintaxe pode ser suprimida no caso do conjunto de conjuntos de amostras candidato compreender mais do que um conjunto de amostras, mas apenas no caso de todos os conjuntos de amostras do conjunto de conjuntos de amostras candidato estarem associados ao mesmo parâmetro de codificação. Noutras palavras, o segundo elemento de sintaxe pode ser apenas transmitido se, pelo menos, dois conjuntos de amostras de um conjunto derivado de conjuntos de amostras candidato, estiver associado a diferentes parâmetros de codificação.
Dentro do fluxo de bits, a informação de união para um conjunto de amostras pode ser codificado antes dos parâmetros de previsão ou para outros parâmetros de codificação específicos que estejam associados a esse conjunto de amostras. Os parâmetros de previsão ou de codificação podem apenas serem transmitidos se a informação de união sinalizar que o conjunto de amostras corrente não deve ser unido com qualquer outro conjunto de amostras. A informação de união, para determinados conjuntos de amostras, i.e. um bloco, por exemplo, pode ser codificado após a transmissão de um subconjunto de parâmetros de previsão adequado ou, de uma forma mais geral, dos parâmetros de previsão que estão associados ao respetivo conjunto de amostras terem sido transmitidos. 0 subconjunto de parâmetros de previsão / codificação podem consistir em um ou mais índices de referência de uma imagem ou um ou mais componentes de um vetor de parâmetro de movimento ou um índice de referência e um ou mais componentes de um vetor de parâmetros de movimento, etc. Os subconjuntos de parâmetros de previsão ou codificação já transmitidos podem ser usados para derivar um. conjunto de conjuntos de amostras candidato de entre um conjunto provisório de conjuntos de amostras maior, o qual já foi derivado da forma anteriormente descrita. Como exemplo, é possível calcular a medida de diferença ou a distância, de acordo com uma pré-determinada medida de distância, entre os parâmetros de previsão e de codificação já codificados, do conjunto de amostras corrente e dos correspondentes parâmetros de previsão ou de codificação de um conjunto preliminar de conjuntos de amostras candidato. Ver como exemplo a figura 9a. 0 conjunto de amostras corrente será o bloco X. Um subconjunto de parâmetros relativos a este bioco devem ter sido já inseridos no fluxo de dados 22. Imagine-se, por exemplo, que o bloco X é um bloco de previsão, em que o subconjunto de parâmetros de codificação adequado pode ser um subconjunto de parâmetros de previsão para este bloco X, tal que um subconjunto, de entre um conjunto compreendendo um index de referência de imagem e informação de mapeamento de movimento, tal como um vetor de deslocamento. Mo caso do bloco X ser um bloco residual, o subconjunto de parâmetros de codificação é um subconjunto de informação residual, tais como coeficientes de transformação ou um mapa indicando as posições de coeficientes de transformação significativos, dentro do bloco X. Com base nesta informação, tanto o dispositivo de inserção de fluxo de dados 18 como o extrator 102 são capazes de usar esta informação com o objetivo de determinar um subconjunto de entre os blocos A e B, os quais formam, nesta forma específica de realização, o conjunto preliminar de conjuntos de amostras candidato, previamente mencionado. Em particular, uma vez que os blocos A e B pertencem ao conjunto de conjuntos de amostras causal, os respetivos parâmetros de codificação encontram-se disponíveis, tanto para o codificador como para o descodificador, no momento em que os parâmetros de codificação do bloco X estão a ser atualmente codificados / descodificados. Assim, a acima descrita comparação, pela diferença de medidas, pode ser usada para excluir qualquer número de blocos do conjunto preliminar de conjuntos de amostras A e B. O resultante conjunto reduzido de conjuntos de amostras candidatos, pode então ser usado como o descrito acima, nomeadamente para. determinação se o indicador de união indica, que deve ser transmitida uma união ou se se deve extrair do fluxo de dados, dependendo do número de conjuntos de amostras contidos no conjunto reduzido de amostras candidato, e se o segundo elemento de sintaxe deve ser transmitido ou se deve ser extraído do fluxo de dados, com o segundo elemento de sintaxe, indicativo de quais dos conjuntos de amostras, de entre do conjunto reduzido dos conjuntos de amostras candidatos, deve ser o bloco selecionado para a união. Desta feita, a decisão de união ou de transmissão dos respetivos elementos de sintaxe para uma região pré-determinada e de conexão simples, que contêm uma pré-determinada relação de localização relativa e, concorrentemente têm parâmetros de codificação associados a estas, as quais preenchem a relação pré-determinada com o primeiro subconjunto dos parâmetros de codificação para a pré-determinada região de conexão simples, e a adoção ou previsão acompanhada da extração da previsão residual, pode ser efetuada no segundo subconjunto dos parâmetros de codificação para uma região pré-determinada de conexão simples. Assim, é possível adotar um mero subconjunto de parâmetros de codificação, de um ou de um número identificado de regiões conectadas simplesmente, que têm uma pré-determinada relação de localização relativa com a região pré-determinada de conexão simples e, concorrentemente têm parâmetros de codificação associados a estes, os quais preenchem a relação pré-determinada do primeiro subconjuntos de parâmetros de codificação, para uma região pré-determinada de conexão simples, a partir do segundo subconjunto da região pré-determinada de conexão simples ou podem ser usados para previsão do segundo subconjunto da região pré-determinada de conexão simples, respetivamente. 0 limiar acima mencionado, contra o qual as referidas distância são comparadas, pode ser fixado e conhecido tanto pelo codificador e descodificador ou pode ser derivado com base nas distâncias calculadas, tais como a mediana dos valores da diferença ou ainda qualquer outra tendência central ou similar. Neste caso, o conjunto reduzido de conjuntos de amostras candidatos será inevitavelmente um adequado subconjunto do conjunto preliminar de conjuntos de amostras candidatos. Alternativamente, apenas estes conjuntos de amostras são selecionados a partir do conjunto preliminar dos conjuntos de amostras candidatos, para os quais a distância, de acordo com a medida de distância, é minimizada. Alternativamente, é selecionado exatamente um conjunto de amostras de entre os conjuntos preliminares de conjuntos de amostras candidatos, através da utilização da já mencionada medida de distância. Neste último caso, a informação de união deve apenas necessitar de especificar se o conjunto de amostras corrente deve ser unido com um único conjunto de amostras candidato ou não.
Assim, o conjunto de blocos candidato pode ser formado ou derivado de acordo com o seguinte e a respeito da figura 9a. Começando-se a partir da posição das amostras de topo esquerda 400 do bloco X corrente, na figura 9a, é derivada a posição das amostras 402 da sua vizinhança esquerda e a p>osição das amostras 404 da sua vizinhança superior, do lado do codificador e descodificador. O conjunto de blocos candidatos pode assim ter apenas até dois elementos, nomeadamente aqueles blocos de entre o conjunto sombreado de blocos casuais da figura 9a, que contêm uma ou duas posições de amostras, as quais no caso da figura 9a são os blocos A e B. Assim, o conjunto de blocos candidatos pode apenas ter dois blocos de vizinhança direta da posição da amostras de topo esquerdo do bloco atual, como seus elementos. De acordo com outra forma de realização, o conjunto de blocos candidatos pode ser dado por todos os blocos que já foram codificados antes do bloco atual e contém uma ou mais amostras que representam a vizinhança espacial direta de quaisquer amostras do bloco corrente. A vizinhança espacial direta pode ser restrita às vizinhanças diretas de esquerda e/ou às vizinhanças diretas de topo e/ou s vizinhanças diretas de direita e/ou s vizinhanças diretas de baixo de qualquer amostras do bloco corrente. Ver como exemplo a figura 9b, que apresenta outra subdivisão de blocos. Neste caso, os blocos candidatos compreendem quatro blocos, nomeadamente os blocos A, B, C e D.
Em alternativa, o conjunto de blocos candidatos, pode, adicionalmente ou exclusivamente, incluir blocos que contém um ou mais amostras que se encontram localizadas na mesma posição que qualquer uma das amostras do bloco corrente, mas que estão contidas numa imagem diferente, i.e. numa imagem já codificada / descodificada.
Ainda numa outra alternativa, o conjunto de blocos candidatos representa um subconjunto dos acima descritos conjuntos de blocos, os quais foram determinados pela vizinhança numa direção espacial ou temporal. 0 subconjunto de blocos candidatos pode ser fixado, sinalizado ou derivado. A derivação do subconjunto de blocos candidatos pode considerar as decisões tomadas para outros blocos da imagem ou noutras imagens. Como exemplo, blocos que estão associados com os mesmos parâmetros de codificação ou com parâmetros de codificação muito semelhantes aos de outros blocos candidatos, podem não ser incluídos no conjunto candidato de blocos. A seguinte descrição, de uma forma de realização, é aplicável aos casos em que apenas são considerados os dois blocos que contém a amostras de vizinhança, de esquerda e a amostras de vizinhança de topo do bloco corrente, como potenciais candidatos ao máximo.
No caso do conjunto de blocos candidatos não se encontrar vazio, uma. bandeira, denominada de bandeira de união, é sinalizada, especificando se o bloco atual +e unido com algum dos blocos candidatos. No caso da bandeira de união ser igual a 0 (para "falso"), este bloco não é unido com os seus blocos candidatos e todos os parâmetros de codificação são transmitidos de forma ordinária. No caso da bandeira de união ser igual a 1 (para "verdade"), aplica-se o seguinte, Se o bloco candidato contém um e apenas um bloco, este bloco candidato é usado para a união. Caso contrário, o conjunto de blocos candidatos contém exatamente dois blocos. Se os parâmetros de previsão destes dois blocos for idêntico, então são usados estes parâmetros de previsão para o bloco corrente. De outra forma, se os dois blocos têm diferentes p>arâmetros de previsão, então é sinalizada uma bandeira, denominada de bandeira de união esquerda. Se a bandeira de união esquerda for igual a 1 (para "verdade"), então o bloco que contém a posição de amostras de vizinhança esquerda, da posição de amostras de topo esquerdo do bloco corrente, é selecionado de entre o conjunto de blocos candidatos. Se a bandeira cie união esquerda for igual a 0 (para "falso"), é selecionado o outro bloco (i.e. de vizinhança de topo), de entre o conjunto de blocos candidatos. Os parâmetros de previsão do bloco selecionado são usados para o bloco corrente.
Sumarizando alguns das formas de realização acima descritas, no que diz respeito à união, é feita referência à figura 10, que apresenta os p>assos realizados pelo extrator 102 para extrair informação de união a partir do fluxo de dados 22 recebidos pela entrada 116. O processo tem início em 450 com a identificação dos blocos candidatos ou dos conjuntos de amostras candidatos para uma amostras ou bloco correntes. Deve ser sublinhado que os parâmetros de codificação para os blocos são transmitidos no fluxo de dados 22 de uma forma unidimensional e assim, a figura 10 refere-se ao processo de recuperação da informação de união para um conjunto de amostras ou p>ara um bloco correntemente visitados.
Tal como antes referido, a identificação e passo 450 podem compreender a identificação de entre blocos previamente descodificados, i.e. o conjunto causal de blocos baseado nos aspetos de vizinhança. Por exemplo, estes blocos de vizinhança podem ser os candidatos designados, que incluem certas amostras de vizinhança, que se encontram na vizinhança de uma ou mais amostras do bloco corrente, geometricamente pré-determinadas quanto ao espaço e tempo. Para além disso, o passo de identificação pode compreender duas etapas, a primeira envolvendo a agora citada identificação, nomeadamente a identificação baseada na vizinhança, que conduz ao conjunto preliminar de blocos candidatos e, uma segunda etapa, de acordo com a qual apenas são designados como candidatos os blocos para os quais os parâmetros de codificação, que preenchem determinada relação para, com o adequado conjunto de parâmetros de codificação do bloco X corrente, já foram transmitidos e que já tenham sido descodificados do fluxo de dados antes do passo 450.
Em seguida, o processo passa para o passo 452 onde é determinado se o número de blocos candidatos é maior do que zero. Se for este o caso, é extraída uma bandeira de união a partir do fluxo de dados, no passo 454. Este passo pode envolver descodificação entrópica. O contexto para descodificação entrópica, do passo 454, pode ser determinada com. base nos elementos de sintaxe pertencentes, por exemplo, ao conjunto de blocos candidatos ou ao conjunto preliminar de blocos candidatos, na qual a dependência dos elementos de sintaxe pode ser restringida à informação sobre se os blocos pertencentes ao conjunto de interesse foi sujeito a união ou não. A estimativa de probabilidade do contexto selecionado pode ser adaptada.
Contudo, se o número de blocos candidatos é determinado para ser igual a zero, então o processo da figura 10 prossegue com o passo 456, onde os parâmetros de codificação do bloco corrente são extraídos a partir do fluxo de bits ou, no caso da identificação alternativa em duas etapas acima mencionada, dos parâmetros de codificação remanescentes, a partir dos quais o extrator 102 prossegue em seguida para o bloco seguinte numa ordem de exploração de blocos, tal como a ordem 350 apresentada na figura 3c.
Voltando ao passo 454, o processo prossegue, após extração no passo 454, com o passo 458, com uma verificação sobre se a bandeira de fusão extraída sugere a ocorrência ou ausência da fusão do bloco corrente. Caso não apareça qualquer sinal de união, o processo prossegue com o acima mencionado passo 456. De outra forma, o processo prossegue com o passo 460, o qual .inclui uma. verificação sobre o numero de blocos candidatos é igual a um. Se for este o caso, a transmissão de uma identificação de um determinado bloco candidato, de entre os blocos candidatos, não seria necessária e, portanto, o processo da figura 10 prossegue com o passo 462, de acordo com o qual o parceiro de união, do bloco corrente, é definido para ser o único bloco candidato, no qual, após o passo 4 64, os parâmetros de codificação do bloco de união parceiro, é usado para adaptação ou previsão dos parâmetros de codificação ou dos parâmetros de codificação restantes do bloco corrente. No caso de adaptação, os parâmetros de codificação em falta do bloco corrente são meramente copiados a partir do bloco de união parceiro. No caso de uma previsão, o passo 464 pode envolver uma outra extração de dados residuais a partir do fluxo de dados, sendo estes dados residuais relativos à previsão residual dos parâmetros de codificação em falta do bloco corrente e uma combinação destes dados residuais com previsão destes parâmetros de codificação obtidos a partir do bloco de união parceiro.
Contudo, se o número de blocos candidatos é determinado para ser maior do que um., no passo 4 60, então o processo da figura 10 passa para diante, para o passo 466, onde é efetuada uma verificação sobre se os parâmetros de codificação ou a parte relevante dos parâmetros de codificação, nomeadamente a. subparte destes, relativa à parte que ainda não foi transferida no fluxo de dados para o bloco atual, são idênticos um ao outro. Se for este o caso, então estes parâmetros de codificação comuns são definidos como referência de união ou então, os blocos candidatos são definidos como parceiros de união, no passo 468, sendo os respetivos parâmetros de codificação relevantes utilizados para adaptação ou para previsão no passo 464.
Deve ser notado que o parceiro de união pode ter sido, por si próprio, um bloco para o qual a união foi sinalizada. Neste caso, os parâmetros de codificação desse parceiro de união, adotados ou obtidos através de previsão, são usados no passo 464 .
Contudo, no caso dos parâmetros de codificação não serem iguais, o processo da figura 10 prossegue para o passo 470, onde é extraído um elemento de sintaxe adicional a partir do fluxo de dados, nomeadamente uma bandeira de união à esquerda. Pode ser usado um conjunto separado de contextos para a descodificação entrópica desta bandeira. O conjunto de contextos utilizado para a descodificação entrópica desta bandeira de união à esquerda pode compreender apenas um contexto. Após o passo 470, o bloco candidato indicado pela bandeira de união à esquerda, é definido para ser o parceiro de união no passo 472 e usado para adaptação ou previsão no passo 464. Após este passo 4 64, o extrator 102 prossegue com o tratamento to bloco seguinte, numa ordem de blocos.
Existem naturalmente muitas outras alternativas. Por exemplo, um. elemento de sintaxe combinada pode ser transmitido no fluxo de dados e assim, ao invés dos elementos de sintaxe individuais da bandeira de união e da bandeira de união à esquerda, descritas anteriormente, os elementos de sintaxe combinada sinalizam o processo de união. Para além disso, a bandeira de união à esquerda acima mencionada, pode ser transmitida no fluxo de dados, independentemente se dois blocos candidatos têm os mesmos parâmetros de previsão ou não, reduzindo assim o peso computacional para a realização do processo da figura 10.
Tal como foi já referido, no que diz respeito a, por exemplo na figura 9b, podem ser incluídos rnais do que dois blocos no conjunto de blocos candidatos. Para além disso, a informação de união, i.e. a informação que sinaliza se um bloco é unido e, em caso afirmativo, qual o bloco candidato a ser unido, pode ser sinalizado por um ou mais elementos de sintaxe. Um elemento de sintaxe pode especificar se o bloco é unido com algum dos blocos candidatos, tais como a bandeira de união descrita acima. Esta bandeira pode apenas ser transmitida se o conjunto de blocos candidatos está vazio. Um segundo elemento de sintaxe pode sinalizar quais os blocos candidatos deve ser empregue para a união, tal como a acima referida bandeira de união à esquerda, mas indicando, de uma forma geral, a seleção de entre dois ou mais de dois blocos candidatos. 0 segundo elemento de sintaxe pode ser transmitido apenas se o primeiro elemento de sintaxe sinaliza que o bloco corrente deve ser unido com um dos blocos candidatos. 0 segundo elemento de sintaxe pode ainda ser apenas transmitido se o conjunto de blocos candidatos contém mais do que um bloco candidato e/ou se algum, dos blocos candidatos tem parâmetros de previsão diferentes dos de quaisquer outros blocos candidatos. A sintaxe pode ser dependente do número de blocos candidatos fornecido e/ou como quão diferentes são os parâmetros de previsão associados aos blocos candidatos. A sintaxe de sinalização de quais os blocos de entre os blocos candidatos são usados, pode ser definida em simultâneo e/ou em paralelo por parte do codificador e do descodificador. Por exemplo, se existirem apenas três escolhas para a identificação dos blocos candidatos, no passo 450, a sintaxe é escolhida de forma que apenas estas três escolhas se encontrem disponíveis e sejam consideradas para a codificação entrópica, como por exemplo, no passo 470. Noutras palavras, o elemento de sintaxe é escolhido de forma que o seu símbolo alfabético tenha apenas tantos elementos como o número de escolha dos blocos candidatos. As probabilidades, para todas as outras escolhas, podem ser consideradas como sendo zero e a codificação / descodificação entrópica pode ser ajustada em simultâneo no codificador e descodificador,
També já foi notado que, no que diz respeito ao passo 464, os parâmetros de previsão inferidos, como consequência do processo de união, podem representar a totalidade do conjunto dos parâmetros de previsão que se encontram associados ao bloco corrente ou podem representar um subconjunto destes parâmetros de previsão, tais como os parâmetros de previsão para uma hipótese de um bloco para o qual é usada uma previsão de hipóteses múltiplas.
Tal como acima referido, os elementos de sintaxe relacionados com a informação de união podem ser entropicamente codificados através da utilização do contexto de modelação. Os elementos de sintaxe podem consistir na bandeira de união e na bandeira de união à esquerda acima descrita (ou por elementos de sintaxe similares). Num exemplo concreto, um de três modelos de contexto ou contextos, podem ser usados para codificação / descodificação da bandeira de união no passo 454, por exemplo. 0 index de modelo de contexto utilizado "merge_flag_ctx" pode ser derivado de acordo com o seguinte: se o conjunto de blocos candidatos contém dois elementos, o valor do "merge_flag ctx" é igual à soma dos valores do "merge_flag" dos dois blocos candidatos. Se o conjunto de blocos candidatos apenas contém um elemento, o valor do "merge_flag_ctx" pode ser igual a duas vezes o valor do "merge flag" deste bloco candidato. Como cada "merge_flag" da vizinhança dos blocos candidatos pode ser tanto um como zero, então ficam disponíveis três contextos para "merge_f lag". A "merge_left_flag" pode ser codificada, usando-se um modelo de probabilidade única.
No entanto, de acordo com uma forma de realização alternativa, podem ser usados modelos de contexto diferentes. Por exemplo, elementos de sintaxe não binária podem ser mapeados numa sequência de símbolos binários, os denominados "bins". Os modelos de contexto, para alguns elementos de sintaxe ou elementos de sintaxe de "bins", que definem a informação de união, podem ser derivados com base nos elementos de sintaxe previamente transmitidos dos blocos da vizinhança, dos números de blocos candidatos ou de outras medidas, enquanto que, outros elementos de sintaxe ou "bins" de elementos de sintaxe, podem ser codificados com um modelo de contexto fixo.
De acordo com a descrição dos blocos de união acima mencionada, é de notar que o conjunto de blocos candidatos pode também ser derivado da mesma forma que nas formas de realização acima descritas, mas com as seguintes alterações: os blocos de candidatos são restringidos a blocos que usem a previsão de movimento compensada ou inter-previsão, respetivamente. Apenas estes podem ser elementos do conjunto de blocos candidatos. A sinalização e a modelação de contexto da informação de união podem ser feitas como o acima descrito.
Voltando às formas de realização acima descritas e respeitantes à combinação da subdivisão em árvore múltipla e aos aspetos de união agora descritos, se a imagem for dividida em blocos quadrados de dimensões variáveis, através do uso de uma estrutura de subdivisão baseada numa quadtree, por exemplo, a "merge_flag" e a "merge_left_flag" ou outros elementos de sintaxe que especifiquem a união podem ser intervalados com parâmetros de previsão que são transmitidos para cada um dos nós das folhas da estrutura quadtree. Considerando de novo o exemplo da figura 9a, esta apresenta um exemplo de subdivisão de uma imagem baseada em quadtree, em blocos de previsão de dimensão variável. Os dois blocos de topo, de maior dimensão, são os chamados blocos de árvore, i.e. são blocos de previsão com a dimensão máxima possível. Os outros blocos desta figura são obtidos como subdivisão dos seus correspondentes blocos de árvore. 0 bloco corrente encontra-se marcado com urn "X". Todos os blocos a sombreado são codificados / descodificados antes do bloco corrente, formando assim o conjunto de blocos causal. Tal como o explicado na descrição da derivação do conjunto dos blocos candidatos, para uma das formas de realização, apenas os blocos que contém amostras de vizinhança direta (i.e. de topo ou esquerda) da posição de amostras superior esquerda em relação ao bloco corrente, podem ser membros do conjunto de blocos candidatos. Assim, o bloco corrente pode ser unido tanto com o bloco A como com o bloco B. Se a bandeira de união for igual a zero (para "falso", o bloco corrente X não é unido com nenhum dos dois blocos. Se o bloco A e o bloco B tiverem parâmetros de previsão iguais, não é necessário fazer qualquer distinção, uma vez que a união com qualquer um destes blocos conduz ao mesmo resultado. Assim, neste caso a "merge_left_falg" não é transmitida. Caso contrário, no caso dos blocos A e B terem parâmetros de prvisão diferentes, a bandeira de união "merge left flag" igual a 1 (para "verdade") unirá os blocos X e B, enquanto a bandeira "merge_left_flag" igual a zero (para "falso") unirá os blocos X e A. Numa outra forma de realização, blocos de vizinhança adicionais (já transmitidos) representam candidatos à união.
Na figura 9b é mostrado outro exemplo. Aqui o bloco X corrente e o bloco B da vizinhança esquerda são blocos de árvore, i.e. têm uma dimensão de bloco máxima permitida. A dimensão do bloco A de vizinhança de topo é um quarto da dimensão da árvore de blocos. Os blocos que são elementos do conjunto de blocos causal encontram-se a sombreado. Note-se que, de acordo com uma forma de realização preferencial, o bloco X corrente pode apenas ser unido com dois outros blocos A ou B, mas não com qualquer outro bloco da vizinhança superior. Noutra forma de realização preferida, blocos de vizinhança adicionais (já transmitidos) representam candidatos para a união.
Antes de se prosseguir com a descrição, no que diz respeito ao aspeto de como lidar com matrizes de amostras diferentes numa imagem, de acordo com realizações da presente invenção, é de notar que a discussão acima, relativa à subdivisão e sinalização em árvore múltipla, por um lado e, por outro lado o aspeto de união, tornam evidente que estes aspetos trazem vantagens as quais podem ser exploradas de forma independente umas das outras. Assim, tal como já foi explicado anteriormente, a combinação de uma subdivisão em árvore múltipla com a união tem vantagens especificas. No entanto, existem igualmente vantagens que resultam de alternativas onde, por exemplo, a característica de união se encontra nesta incorporada. Contudo, a subdivisão realizada, pelos divisores 30 e 140a, não é baseada numa subdivisão quadtree ou subdivisão em árvore múltipla, mas antes corresponde à subdivisão de macroblocos, com o particionamento regular destes macroblocos em partições menores. Por outro lado, a combinação da subdivisão com a transmissão da indicação da dimensão máxima da árvore de blocos, no fluxo de bits, e o uso da subdivisão em árvore múltipla em conjunto com a ordem de leitura transversal de profundidade, transportando os correspondentes parâmetros de codificação dos blocos, é vantajosa independentemente da característica. de união usada concorrentemente ou não. De uma forma geral, as vantagens da união podem ser compreendidas intuitivamente, ao se considerar que a eficiência de codificação pode ser incrementada quando a sintaxe da codificação da matriz de amostras é estendida de maneira a que não apenas permite subdividir um bioco, mas também unir dois ou mais blocos que são obtidos após a subdivisão. Em resultado, obtém-se um grupo de blocos que são codificados com os mesmos parâmetros de previsão. Os parâmetros de previsão, para tal grupo de blocos, necessita de ser codificado apenas uma vez. Para além disso, e com respeito a união de conjuntos de amostras, deve se de novo notado que, os conjuntos de amostras considerados podem ser blocos retangulares ou quadrados, representado os conjuntos de amostras, neste caso uma coleção de blocos .retangulares e/ou quadrados. Em alternativa, os conjuntos de amostras considerados são regiões de imagem arbitrariamente formadas e os conjuntos de amostras representam, uma coleção de regiões arbitrariamente formadas. A descrição seguinte foca-se na forma de tratar diferentes matrizes de amostras de uma imagem, no caso em que bá mais de uma matriz de amostras por imagem. Alguns dos aspetos referidos na seguinte subdescrição são vantajosos independentemente do tipo de subdivisão usada ser baseada numa subdivisão em árvore múltipla ou não e, independentemente de se usar união ou não. Antes de se iniciar a descrição de formas de realização específicas, no que diz respeito ao tratamento das diferentes matrizes de amostras de uma imagem, o assunto principal destas formas de realização é motivado através de uma curta introdução à área de tratamento de diferentes matrizes de amostras por imagem. A seguinte discussão foca-se nos parâmetros de codificação entre blocos de diferentes matrizes de amostras de uma imagem, numa aplicação de codificação de imagem ou de vídeo e, em particular, na forma de prever parâmetros de previsão de forma adaptativa entre matrizes de amostras diferentes de uma imagem em, por exemplo mas não exclusivamente, o codificador e o descodificador das figuras 1 e 2, respetivamente, ou outro ambiente de codificação de imagem ou de vídeo. As matrizes de amostras podem, como acima referido, representar matrizes de amostras que estão relacionadas com diferentes componentes de cor ou com matrizes de amostras que estão associadas a uma imagem com informação adicional, tal como dados de transparência ou mapas de profundidade. As matrizes de amostras que estão relacionadas com componentes de cor de uma imagem são também referidas como planos de cor. A técnica descrita é também referida como adoção / previsão inter-planos e pode ser usada em codificadores e descodificadores de imagem e de vídeo baseados em blocos, nos quais, a ordem de processamento dos blocos das matrizes de amostras de uma imagem podem ser arbitrários.
Os codificadores de imagem e de vídeo são tipicamente concebidos para codificarem imagens a cores (tanto imagens fixas como imagens de uma sequência de vídeo) . Uma imagem a cores consiste em múltiplos planos de cores, os quais representam matrizes de amostras para os diferentes componentes de cor. As imagens a cores são frequentemente codificadas como conjuntos de matrizes de amostras consistindo num plano de luminescência (plano "luma") e dois planos cromáticos (planos "chroma") , os últimos especificando os diferentes componentes de cor. Em algumas áreas de aplicação, é igualmente comum que o conjunto de matrizes de amostras consista em três planos de cor, representando as matrizes de amostras para as três cores primárias, vermelho, verde e azul. Adicionalmente, para uma representação cromática melhorada, uma imagem a cores pode consistir em mais do que três planos de cor. Para além disso, urna imagem pode ainda estar associada a matrizes de amostras auxiliares que especifiquem informação adicional para essa imagem. Por exemplo, estas matrizes de amostras auxiliares podem ser matrizes de amostras que especifiquem transparência (adequadas para fins de visualização específicos) para as matrizes de amostras associadas, ou matrizes de amostras que especifiquem mapas de profundidade (adequados para visualizações múltiplas, ex. para visualizações 3-D) .
Nas normas convencionais de codificação de imagem e de vídeo (tal como a H.264), os planos de cor são usualmente codificados em conjunto, nos quais parâmetros de codificação específicos, tais como modos de previsão de macroblocos e de sub-macroblocos, índices de referência e vetores de deslocamento são usados para todos os componentes de cor de um bloco. 0 plano "luma" pode ser considerado como o piano de cor primário para o qual os parâmetros de codificação específicos são definidos no fluxo de bits. Os planos "chroma" são considerados como planos secundários, para os quais os parâmetros de codificação correspondentes são inferidos a partir do plano "luma" primário. Cada bloco "luma" está associado a dois blocos "chroma" representando a mesma area numa imagem. Dependendo, do formato usado na amostragem "chroma" as matrizes de amostras "chroma" podem ser menores do que a matriz de amostras "luma", para um determinado bloco. Para cada macrobloco consistindo num componente "luma" e dois componentes "chroma", é usada a mesma partição em blocos menores (se o macrobloco for subdividido) . Para cada bloco consistindo num bloco de amostras "luma" e em dois blocos de amostras "chroma" (as quais podem ser o próprio macrobloco ou um sub-bloco desse macrobloco), são utilizados os mesmos parâmetros de previsão, tais como indices de referência, parâmetros de movimento e, algumas vezes, modos de intra-previsão. Em perfis específicos de normas de codificação de vídeo convencionais (tais, como os perfis 4:4:4 da H.264), é igualmente possível codificar independentemente diferentes planos de cores de uma figura. Nesta configuração, a partição de macroblocos, os modos de previsão, os índices de referência e os parâmetros de movimentos podem ser escolhidos em separado para cada. componente de cor de um macrobloco ou sub-bloco. Nas normas de codificação convencionais todos os planos de cor são codificados em conjunto, através da utilização de parâmetros de codificação específicos, tais como a informação de subdivisão e de parâmetros de previsão, ou todos os planos de cores são codificados de forma completamente independente uns dos outros.
Se os planos de cor são codificados em conjunto, deve ser usado um conjunto de parâmetros de subdivisão e de previsão para todos os componentes de um bloco. Isto assegura que a informação secundária é mantida de forma reduzida, mas pode resultar numa redução da eficiência de codificação quando comparado com uma forma de codificação independente, uma vez que a utilização de diferentes decomposições dos blocos e de parâmetros de previsão para os diferentes componentes de cor podem resultar num menor custo de taxa de distorção. Como exemplo, a utilização de um. vetor de deslocamento ou moldura de referência para os componentes "chroma" pode reduzir significativamente a energia do sinal residual para os componentes "chroma" e assim incrementar a eficiência de codificação geral. Se os planos de cor forem codificados independentemente, os parâmetros de codificação, tais como a partição de blocos, os índices de referência e os parâmetros de movimento podem ser selecionados para cada componente de cor separadamente, de forma a otimizar a eficiência de codificação para cada componente de cor. No entanto, não é possível utilizar a redundância entre os componentes de cor. As transmissões múltiplas de parâmetros de codificação específicos resultam, numa maior taxa de informação secundária, quando comparadas com a codificação combinada, podendo ter, este aumento da taxa de informação secundária, um impacto negativo na generalidade da eficiência de codificação. Da mesma forma, a assistência para as matrizes de amostras auxiliares e existentes no estado da técnica das normas de codificação de vídeo (tal como a H.264) é restrita ao caso das matrizes de amostras auxiliares serem codificadas pela. utilização do seu próprio conjunto de parâmetros de codificação.
Assim, em todas as formas de realização apresentadas até agora, os planos e imagern podem ser tratados como anteriormente descritos, mas, tal como também descrito anteriormente, a eficiência geral de codificação, da codificação de matrizes de amostras múltiplas, as quais podem estar relacionadas com os diferentes planos de cor / ou matrizes de amostras auxiliares, pode ser aumentada sempre que for possível decidir em função dos blocos. Por exemplo, se são usados, para todas as matrizes de amostras para um determinado bloco, os mesmos parâmetros de codificação ou com parâmetros de codificação diferentes. A ideia subjacente à seguinte previsão inter-planos é a de permitir tal decisão adaptativa em função dos blocos, por exemplo. 0 codificador pode
escolher, por exemplo, com base no critério da taxa de distorção, se todas ou apenas algumas matrizes de amostras, para um determinado bloco, são codificadas através da utilização dos mesmos parâmetros de codificação ou de parâmetros de codificação diferentes para as diferentes matrizes de amostras. Esta seleção pode ser igualmente obtida pela sinalização de um bloco especifico de uma matriz de amostras, caso os específicos parâmetros de codificação sejam inferidos a partir de um bloco da vizinhança, de uma matriz de amostras diferente, que já tenha sido codificado. Também é possível de fornecer diferentes matrizes de amostras para uma imagem em grupos, também referidas como grupos de matrizes de amostras ou planos de grupo. Cada plano de grupos pode conter um ou ma is matrizes de amostras de uma imagem. Os blocos de matrizes de amostras no interior de um plano de grupos partilham os mesmos parâmetros de codificação selecionados, tais como a informação de subdivisão, modos de previsão e modos de codificação residual, enquanto outros parâmetros de codificação, tais como níveis de coeficiente de transformação, são transmitidos separadamente para cada matriz de amostras do plano de grupos. Um plano de grupos é codificado como plano de grupos primário, i.e. para este grupo, nenhum dos parâmetros de codificação é inferido ou previsto a partir de outro plano de grupos. Para cada bloco de um piano de grupos secundário, é possível escolher de forma adaptativa se é transmitido um novo conjunto de parâmetros de codificação selecionados ou se os parâmetros de codificação selecionados são inferidos ou previstos a partir de um plano de grupos primário ou de outro pi ano de grupos. As decisões relativas a se os parâmetros de codificação são inferidos ou previstos, para um bloco especifico, encontram-se incluídas no fluxo de bits. A previsão inter-planos permite uma maior liberdade na seleção das trocas entre a taxa de informação secundária e a qualidade de previsão relativa ao estado da técnica da codificação de imagens que consistem em matrizes de amostras múltiplas. A vantagem, é uma taxa de eficiência de codificação incrementada relativamente à codificação convencional de imagens que consistem em matrizes de amostras múltiplas. A adoção / previsão intra-planos pode estender-se a um codificador de imagem ou de video, tal como nas formas de realização acima, de uma forma que pode ser escolhida, de forma adaptativa, para um bloco de uma matriz de amostras de cor, para uma matriz de amostras auxiliar ou para um conjunto de matrizes de amostras de cor e/ou matrizes de amostras auxiliares, se os parâmetros de codificação selecionados são inferidos ou previstos a partir de blocos de vizinhança de outras matrizes de amostras já previamente codificadas, na mesma imagem, ou se o conjunto de parâmetros de codificação selecionados para o bloco é codificado independentemente sem referência a blocos de vizinhança de outras matrizes de amostras da mesma imagem,. As decisões sobre se o conjunto dos parâmetros de codificação selecionado é inferido ou previsto, para um bloco de uma matriz de amostras ou para um bloco de matrizes de amostras múltiplas, pode ser incluído no fluxo de bits. As diferentes matrizes de amostras que se encontram associadas a uma imagem não precisam de ter dimensões iguais.
Tal como acima descrito, as matrizes de amostras associadas a uma imagem (as matrizes de amostras podem representar componentes de cor e/ou matrizes de amostras auxiliares) podem estar dispostas em dois ou mais dos chamados planos de grupo, em que cada plano de grupos consiste em uma ou mais matrizes de amostras. As matrizes de amostras que estão contidas num determinado plano de grupos não precisam de ter a mesma dimensão. E de notar que esta disposição em plano de grupos inclui os casos em que cada matriz de amostras é codificada separadamente.
Mais precisamente, e de acordo com uma forma de realização, para cada bloco de um plano de grupos, é selecionado de forma adaptativa se os parâmetros de codificação que especificam como o bloco é previsto, sáo inferidos ou previstos a partir de um bloco de vizinhança previamente codificado, de um plano de grupos diferente, para a mesma imagem, ou se estes parâmetros de codificação são codificados separadamente para cada bloco. Os parâmetros de codificação que especificam como um bloco +e previsto, incluem um ou rnais dos seguintes parâmetros: modos de previsão de blocos especificando qual o tipo de previsão usado para o bloco (ex. intra-previsão, inter-previsão usando um único vetor de deslocamento e uma imagem de referência, inter-previsão usando dois vetores de deslocamento e imagens de referência, inter-previsão usando uma ordem superior, i.e. modelo de movimento não translacional e uma única imagem de referência., inter-previsão usando modelos de movimento múltiplos e múltiplas imagens) , modos de intra-previsão especificando como é gerado o sinal de intra-previsão, um identificador especificando quantos sinais de previsão são combinados para gerar o sinal de previsão final para determinado bloco, indices de referência especificando qual a(s) imagem(ens) de referência é/são empregues para a previsão de movimento compensado, parâmetros de movimento (tais como vetores de deslocamento ou outros parâmetros de movimento afins) especificando como o8s) sinal (is) de previsão é/são gerados através da utilização de imagem/imagens, um identificador especificando como a(s) imagem(ens) é/são filtradas para gerar os sinais de previsão de movimento compensado. De uma forma geral um bloco pode estar associado a apenas um destes subconjuntos dos mencionados parâmetros codificação. Por exemplo, se o modo de previsão do bloco especifica que o bloco é intra-previsto, então os parâmetros de codificação para um bloco, podem, incluir adicionalmente modos de intra-previsão, mas não são gerados os parâmetros de codificação, tais como índices de referência e parâmetros de movimento, que especificam como o sinal de inter-previsão é gerado. Noutro exemplo, se o modo de previsão de bloco especifica uma inter-previsão, os parâmetros de codificação associados podem, adicionalmente incluir índices de referência e parâmetros de movimento, mas não são especificados modos de intra-previsão.
Um de dois ou mais planos de grupo pode ser codificado ou indicado, dentro do fluxo de bits, como o plano de grupos primário. Para todos os blocos deste plano de grupos primário, são transmitidos os parâmetros de codificação que especificam como o sinal de previsão é gerado, sem contudo referir a outro plano de grupos da mesma imagem. Os restantes planos de grupo são codificados como planos de grupo secundários. Para cada bloco dos planos de grupos secundários são transmitidos um ou mais elementos de sintaxe que sinalizam se os parâmetros de codificação para especificar como o bloco é previsto, são inferidos ou previsto a. partir de um bloco de vizinhança ou outro plano de grupos, ou se um novo conjunto deste parâmetros cie codificação é transmitido para o bloco. Um dos um ou mais elementos de sintaxe podem ser referidos com bandeira de previsão inter-planos ou parâmetro de previsão inter-plano. Se os elementos de sintaxe sinalizam que os correspondentes parâmetros de codificação não são inferidos nem previstos, então é transmitido um novo conjunto de parâmetros de codificação correspondentes no fluxo de bits. Se os elementos de sintaxe sinalizam que os correspondentes parâmetros de codificação são inferidos ou previstos, é determinado o bloco de vizinhança no plano de grupos. A atribuição do plano de grupos de referência para o bloco pode ser configurada de várias formas. Numa forma de realização, um determinado plano de grupos é atribuído a cada plano de grupos secundário. Esta atribuição pode ser fixada ou pode ser sinalizada em estruturas de sintaxe de nível superior, tais como conjuntos de parâmetros, cabeçalho da unidade de acesso, cabeçalho da imagem ou cabeçalho de secção.
Numa segunda forma de realização, a atribuição do plano de grupos de referência é codificada no fluxo de bits e sinalizado por um ou mais elementos de sintaxe, que são codificados para um bloco, de forma a especificar se os parâmetros de codificação selecionados são inferidos ou previstos ou codificados em separado.
De forma a facilitar as possibilidades acima mencionadas, em ligação com a previsão inter-planos e com as seguintes formas detalhadas de realização, é feita referência à figura 11, a qual apresenta, de forma ilustrativa a imagem 500 composta por três matrizes de amostras, 502, 504 e 506. Apenas subpartes das matrizes de amostras 502-506 são mostradas na figura 11 para fins de melhor compreensão. As matrizes de amostras são mostradas como se estivessem espacialmente dispostas umas contra as outras, de forma que as matrizes 502-506 se sobrepõem uma às outras ao longo da direção 508 de maneira que, a projeção das amostras da matriz cie amostras 502-506, ao longo da direção 508, resulta numa correta localização espacial das amostras de todas aquelas matrizes de amostras, em relação umas às outras. Ainda noutras palavras, os planos 502 e 506 foram dispersos ao longo da direção horizontal e vertical de forma a adaptar a sua resolução espacial a cada um dos outros e a dispô-los uns aos outros.
De acordo com outra forma de realização, todas as matrizes de amostras de uma imagem pertencente à mesma parte de um determinado cenário espacial, no qual a resolução pode diferir entre as matrizes de amostras individuais 502-506, ao longo da direção vertical e horizontal. Para além disso, para fins ilustrativos, as matrizes de amostras 502 e 504 são consideradas como pertencentes ao plano de grupos 510, enquanto a matriz de amostras 506 é considerada como pertencente a outro plano de grupos 512. Adicionalmente, a figura 11 ilustra o caso-exemplo onde a resolução espacial ao longo do eixo horizontal da matriz de amostras 504 é duas vezes a resolução da. matriz de amostras 502, na direção horizontal.
Mais ainda, a matriz de amostras 504 é considerada como formando a matriz primária relativa à matriz de amostras 502, a qual forma uma matriz subordinada relativamente à matriz primária 504. Tal como explicado anteriormente, neste caso a subdivisão da matriz de amostras 504 em sub-blocos, tal como decidido pelo subdivisor 30 da figurai 1, é adotada pela matriz subordinada 502, a qual, de acordo com o exemplo da figura 11, devido à resolução vertical da matriz de amostras 502 ser metade da resolução na direção vertical da matriz primária 504, cada bloco foi repartido em dois blocos horizontalmente justa-posicionados, que devido à repartição são blocos quadrados de novo, quando medidos em unidades de posição das amostras na matriz de amostras 502.
Tal como mostrado em forma de exemplo na figura 11, a subdivisão escolhida para a matriz de amostras 506 é diferente da subdivisão do outro plano de grupos 510. Tal como descrito antes, o subdivisor 30 pode selecionar a subdivisão da matriz de pixels 506 de forma separada ou independente da subdivisão para o plano de grupos 510. Evidentemente, a resolução da matriz de amostras 506 pode igualmente diferir das resoluções de planos 502 e 504 do plano de grupos 510.
Agora, quando da codificação das matrizes de amostras individuais 502-506, o codificador 10 pode começar com a codificação da matriz primária 504 do plano de grupos 510, por exemplo, da forma acima descrita. Os blocos apresentados na figura 11 podem, por exemplo ser os blocos de previsão acima referidos. Em alternativa, os blocos são blocos residuais ou outros blocos definindo a granulometria para definir determinados parâmetros de codificação. A previsão inter-planos não se restringe à subdivisão em quadtree ou em árvores múltiplas, embora seja isto o mostrado na figura 11.
Após a transmissão do elemento de sintaxe para a matriz primária 504, o codificador pode decidir declarar a matriz primária 504 como sendo o piano de referência para o plano subordinado 502. O codificador 10 e o extrator 30, respetivamente, podem sinalizar esta decisão através do fluxo de bits 22, enquanto a associação pode ser clara a partir do fato que a matriz de amostras 50 4 forma a matriz primária do plano de grupos 510, cuja informação, por seu lado, pode também fazer parte do fluxo de bits 22. Em caso algum, para cada bloco da matriz de amostras 502, o dispositivo de inserção 18 ou qualquer outro módulo do codificador 10, em conjunto com o dispositivo de inserção 18, pode decidir se suprime a transferência dos parâmetros de codificação deste bloco, no fluxo de bits e sinalizar no fluxo de bits para aquele bloco, em vez dos parâmetros de codificação do bloco de vizinhança da matriz primária 504 deverem ser usados, ou ainda, de que os parâmetros de previsão do bloco de vizinhança da matriz primária 504 deva ser usada como previsão para os parâmetros de codificação do bloco corrente da matriz de amostras 502, através da mera transferência dos correspondentes dados residuais para o bloco corrente da matriz de amostras 502, dentro do fluxo de bits. Mo caso de haver uma. decisão negativa., os parâmetros de previsão são transferidos no fluxo de dados, como usualmente. A decisão é sinalizada no fluxo de dados 22 para cada bloco. No lado do descodificador, o extrator 102 usa esta informação de previsão inter-planos para cada bloco, com o fim de obter os parâmetros de codificação do respetivo bloco de matriz de amostras 502, de acordo, nomeadamente por inferência dos parâmetros de codificação do bloco de vizinhança da matriz primária 504 ou, em alternativa, por extração dos dados residuais para esse bloco a partir do fluxo de dados e combinando esta informação residual com a previsão obtida a. partir dos parâmetros de codificação do bloco de vizinhança da matriz primária 504, no caso da informação de previsão/adoção inter-planos sugerir a previsão/adoção inter-planos ou a extração dos parâmetros de codificação do bloco corrente da matriz de amostras 502, como usual independente da matriz primária 504.
Tal como descrito anteriormente, os planos de referência não são restritos para residir dentro de um mesmo plano de grupos como o bloco para o qual a previsão inter-planos é de interesse corrente. Assim, tal como o acima descrito, o plano de grupos 510 pode representar o plano de grupos primário ou o plano de grupos de referência para o plano de grupos secundário 512. Neste caso, o fluxo de bits pode conter um elemento de sintaxe indicando, para cada. bloco da matriz de amostras 50 6, se deve ser efetuada ou não a acima indicada adoção / previsão dos parâmetros de previsão dos macroblocos de vizinhança de algum dos planos 502 e 504, dos piemos de grupo primário ou uma referência ao plano de grupos 510, em que no último caso os parâmetros de codificação do bloco corrente da matriz de amostras 506 são transmitidos de forma usual.
Deve ser notado que os parâmetros de subdivisão e/ou previsão para os planos no interior de um plano de grupos pode ser o mesmo, i.e. uma vez que são apenas codificados uma vez para um plano de grupos (todos os planos secundários de um plano de grupos inferem a informação de subdivisão e/ou os parâmetros de previsão a partir do plano primário de dentro do mesmo plano de grupos) e a previsão adaptativa ou a inferência da informação de subdivisão e/ou de parâmetros de previsão é realizada entre planos de grupos.
Deve ser sublinhado que o plano de grupos de referência pode ser um plano de grupos primário ou um plano de grupos secundário. A vizinhança entre blocos de diferentes planos dentro de um mesmo plano de grupos é facilmente entendida, uma vez que a subdivisão da matriz de amostras primária 504 é espacialmente adotada pela matriz de amostras subordinada 502, exceto no caso da recém-mencionada subpartição dos blocos, de forma a se obter os blocos de folha adotados em formato de blocos quadrados. No caso da adoção / previsão inter-planos entre planos de grupos diferentes, a vizinhança pode ser definida, de forma a permitir uma maior liberdade entre subdivisões destes planos de grupos. Dado o plano de grupos de referência, é determinado o bloco de vizinhança dentro do plano de grupos de referência. A derivação do bloco de vizinhança e do plano de grupos de referência pode ser feita através de um processo similar ao seguinte: é selecionada uma amostras especifica 514 no bloco corrente 516 de uma das matrizes de amostras 506 de um plano de grupos secundário. Esta pode ser a amostras de topo esquerdo do corrente bloco 516, tal como mostrado em 514 da figura 11, para fins ilustrativos, ou a amostrais no corrente bloco 516, perto do meio do bloco corrente 516, ou ainda, outra amostras dentro do bloco corrente, que seja definida de forma única geometricamente. É calculada a localização das amostras selecionada 515 dentro das matrizes de amostras 502 e 504 do plano de grupos de referência 510. As posições das amostras 514 dentro das matrizes de amostras 502 e 504 encontram-se indicadas na figura 11 em 518 e 520, respetivamente. A escolha da utilização dos planos 502 e 504, dentro do plano de grupos 510, pode ser pré-determinada ou pode ser sinalizada no fluxo de bits. É determinada a amostras correspondente à matriz de amostras 502 ou 504 do plano de grupos de referência, sendo esta a que se encontra mais perto das posições 518 e 520, respetivamente e, o bloco que a contém é escolhido como o bloco de vizinhança, dentro da respetiva matriz de amostras 502 e 504, resp>etivamente. No caso da figura 11, estes são os blocos 522 e 524 respetivamente. .A forma de determinação do bloco de vizinhança será descrita posteriormente numa abordagem alternativa à anteriormente descrita.
Numa forma de realização, os parâmetros de codificação, esp>ecif içando a previsão para o bloco corrente 516, são completamente inferidos através da utilização dos correspondentes parâmetros de previsão do bloco de vizinhança 522/524 de um plano de grupos 510 diferente da mesma imagem 500, sem transmissão adicional de informação secundária. Esta inferência pode consistir na simples cópia dos correspondentes parâmetros de codificação ou na adaptação dos parâmetros de codificação tendo em consideração as diferenças existentes entre o corrente 512 e o plano de grupos de referência 510. Como exemplo, esta adaptação pode consistir na adição de um parâmetro de movimento de correção (ex. vetor de deslocamento de correção) de forma a ter em consideração a diferença de fase entre as matrizes de amostras "luma" e "chroma". A adaptação pode também consistir na modificação da precisão dos parâmetros de movimento (ex. modificação da precisão dos vetores de deslocamento) de forma a ter em consideração a diferente resolução das matrizes de amostras "luma" e "chroma". Numa outra forma de realização, um ou mais dos parâmetros de codificação inferidos, para a especificação da geração do sinal de previsão, não são usados diretamente para o corrente bloco 516, mas são usados para a previsão dos correspondentes parâmetros de codificação para o bloco corrente 516, sendo transmitido um refinamento destes parâmetros de codificação para o bloco corrente 516, no fluxo de bits. Como exemplo, os parâmetros de movimento não são usados diretamente, mas as diferenças dos parâmetros de movimento (tais como a diferença do vetor de deslocamento), que especifica a derivação entre os parâmetros de movimento que são usados para o bloco corrente 516 e os parâmetros de movimento, são codificados no fluxo de bits. No lado do descodificador, os parâmetros de movimento usados atualmente são obtidos pela combinação dos parâmetros de movimento inferidos e as diferenças de parâmetros de movimento transmitidos.
Noutra forma de realização, a subdivisão de um bloco, tal como de uma árvore de blocos da subdivisão de previsão acima mencionada em. blocos de previsão (i.e. blocos de amostras para. os quais é usado o mesmo conjunto de parâmetros de previsão) é inferido de forma adaptativa ou de previsão a partir de blocos de vizinhança previamente codificados, de um plano de grupos diferente para a mesma imagem, i.e. de acordo com a sequência de bits das figuras 6a ou 6b. Numa forma de realização, um plano de grupos dos dois ou mais é codificado como plano de grupos primário. A informação de subdivisão é transmitida, para todos os blocos deste plano de grupos primário, sem qualquer referência a outros planos de grupo da mesma imagem. Os restantes planos de grupo são codificados como planos de grupo secundários. Um ou mais elementos de sintaxe são transmitidos para os blocos dos planos de grupo secundários, para sinalizar se a informação de subdivisão é inferida ou prevista a partir de um bloco de vizinhança de outros planos de grupo ou se a informação de subdivisão é transmitida no fluxo de bits. Um ou mais elementos de sintaxe podem ser referidos como bandeira de previsão inter-planos ou parâmetro de previsão inter-planos. Se os elementos de sintaxe sinalizam que a informação de subdivisão não é inferida nem prevista, então a informação de subdivisão é transmitida no fluxo de bits sem referência a outros planos de grupo da mesma imagem. Se os elementos de sintaxe sinalizam que a informação de subdivisão é inferida ou prevista, então é determinado o bloco de vizinhança do chamado plano de grupos de referência. A atribuição do plano de gruo de referência para o bloco pode ser configurada de várias formas. Numa forma de realização, é sinalizada uma referência especifica a um plano de grupos para cada plano de grupos secundário. Esta sinalização pode ser fixada ou pode ser sinalizada em estruturas de sintaxe de nível superior, tais corno em conjuntos de parâmetros cabeçalhos de unidades de acesso, cabeçalho de imagem ou cabeçalho cie secção. Numa segunda forma de realização, a atribuição do plano de referência de grupo é codificada no fluxo cie bits e sinalizada por um ou mais elementos de sintaxe que são codificados para urn bloco de forma a especificar se a informação de subdivisão é inferida ou prevista ou codificada em separado. 0 plano de grupos de referência pode ser um plano de grupos primário ou outro plano de grupos secundário. Dado o plano de grupos de referência, é determinado o bloco de vizinhança no interior do plano de grupos de referência. 0 bloco de vizinhança é o bloco, no plano de grupos de referência, que corresponde à mesma área de imagem do bloco corrente ou o bloco que representa o bloco dentro do plano de grupos de referência e que partilha a maior parte da área da imagem com o bloco corrente. 0 bloco de vizinhança pode ser particionado em blocos de previsão menores.
Numa outra forma de realização, a informação de subdivisão para o bloco corrente, tal como a informação de subdivisão baseada em quadtree, de acordo com as figuras 6a ou 6b, é totalmente inferida a através da utilização da informação de subdivisão do bloco de vizinhança, de um plano de grupos diferente mas da mesma imagem, sem transmissão de informação secundária adicional. Como exemplo específico, se o bloco de vizinhança for dividido em dois ou quatro blocos de previsão, o bloco corrente é igualmente dividido em dois ou quatro sub-blocos para fins de previsão. Como outro exemplo especifico, se o bloco de vizinhança é particionado em quatro sub-blocos, e um destes sub-blocos é de novo particionado em quatro sub-blocos menores, o bloco corrente é igualmente particionado em quatro sub-blocos, sendo um destes sub-blocos (o correspondente ao sub-bloco do bloco de vizinhança que é posteriormente decomposto) também particionado em quatro sub-blocos menores. Numa forma de realização preferencial, a informação de subdivisão não é diretamente usada para o bloco corrente, mas é usada como previsão para a informação de subdivisão atual, para o bloco corrente, sendo a correspondente informação de refinamento transmitida no fluxo de bits. Como exemplo, a informação de subdivisão que é inferida a partir do bloco de vizinhança, pode ser ainda mais refinada. Para cada sub-bloco que corresponde a um. sub-bloco na vizinhança do bloco, e que não é particionado em blocos menores, pode ser codificado um elemento de sintaxe, no fluxo de bits, o qual especifica se o sub-bloco é de novo decomposto no plano de grupos corrente. A transmissão deste elemento de sintaxe pode ser condicionada em função da dimensão do sub-bloco. No fluxo de bits pode também ser sinalizado que um sub-bloco é de novo particionado no plano de grupos de referência, mas que não particionado em blocos menores no plano de grupos corrente.
Numa outra forma de realização, tanto a subdivisão de um bloco em blocos de previsão, como os parâmetros de previsão que especificam como são previstos os sub-blocos, são inferidos de forma adaptativa ou previstos a partir de blocos de vizinhança, de um plano de grupos diferente piara a mesma imagem, previamente codificados. Numa forma preferida de realização da. invenção, um dos dois ou mais planos de grupos é codificado com plano de grupo primário. A informação de subdivisão é transmitida, para todos os blocos deste plano de grupos primário, sem qualquer referência a outros planos de grupo da mesma imagem. Os restantes planos de grupo são codificados como planos de grupo secundários. Um ou mais elementos de sintaxe são transmitidos para os blocos dos planos de grupo secundários, para sinalizar se a informação de subdivisão é inferida ou prevista a partir de um bloco de vizinhança de outros planos de grupo ou se a informação de subdivisão é transmitida no fluxo de bits. Um. ou mais elementos de sintaxe podem ser referidos como bandeira de previsão inter-planos ou. parâmetro de previsão inter-planos. Se os elementos de sintaxe sinalizam que a informação de subdivisão não é inferida nem prevista, então a informação de subdivisão é transmitida no fluxo de bits sem referência a outros planos de grupo da mesma imagem. Se os elementos de sintaxe sinalizam que a informação de subdivisão é inferida, ou prevista, então é determinado o bloco de vizinhança do chamado plano de grupos de referência. A atribuição do plano de gruo de referência para o bloco pode ser configurada de várias formas. Numa forma de realização, é sinalizada uma referência específica a um plano de grupos para cada plano de grupos secundário. Esta sinalização pode ser fixada ou pode ser sinalizada em estruturas de sintaxe de nível superior, tais como em conjuntos de parâmetros cabeçalhos de unidades de acesso, cabeçalho de imagem ou cabeçalho de secção. Numa segunda forma de realização, a atribuição do plano de referência de grupo é codificada no fluxo de bits e sinalizada por um ou mais elementos de sintaxe que são codificados para um bloco de forma a especificar se a informação de subdivisão é inferida ou prevista ou codificada em separado. 0 plano de grupos de referência pode ser um plano de grupos primário ou outro plano de grupos secundário. Dado o plano de grupos de referência, é determinado o bloco de vizinhança, no interior do plano de grupos de referência. 0 bloco de vizinhança é o bloco, no plano de grupos de referência, que corresponde à mesma área de imagem do bloco corrente ou o bloco que representa o bloco dentro do plano de grupos de referência e que partilha a maior parte da área. da imagem com o bloco corrente. 0 bloco de vizinhança pode ser particionado em blocos de previsão menores. Numa forma preferida de realização, a informação de subdivisão para o bloco corrente, tais como os parâmetros de previsão para os sub-blocos resultantes, são totalmente inferidos a através da utilização da informação de subdivisão do bloco de vizinhança de um plano de grupos diferente mas da mesma, imagem e dos parâmetros de previsão dos correspondentes sub-blocos, sem transmissão de informação secundária adicional. Como exemplo específico, se o bloco de vizinhança for dividido em dois ou quatro blocos de previsão, o bloco corrente é igualmente dividido em dois ou quatro sub-blocos para fins de previsão e os parâmetros de previsão, para os sub-blocos do corrente bloco, são derivados como o acima, descrito. Como outro exemplo específico, se o bloco de vizinhança é particionado em quatro sub-blocos, e um destes sub-blocos é de novo particionado em quatro sub-blocos menores, o bloco corrente é igualmente particionado em quatro sub-blocos, sendo um destes sub-blocos (o correspondente ao sub-bloco do bloco de vizinhança que é posteriormente decomposto) também particionado em quatro sub-blocos menores, sendo os parâmetros de previsão, para todos os sub-blocos não particionados de novo, inferidos como acima descrito. Numa forma de realização preferencial, a informação de subdivisão não é completamente inferida baseada na informação de subdivisão do bloco de vizinhança, no plano de grupo de referência, mas os parâmetros de previsão inferidos para os sub-blocos são apenas usados como previsão para a previsão dos parâmetros atuais dos sub-blocos. Os desvios entre os parâmetros de previsão atuais e os parâmetros de previsão inferidos são codificados no fluxo de bits. Numa outra forma de realização, a informação de subdivisão inferida para o bloco corrente e a diferença, são transmitidas no fluxo de bits (como descrito acima), mas os parâmetros de previsão são completamente inferidos. Numa outra forma de realização, tanto a informação de subdivisão inferida como os parâmetros de previsão inferidos são usados como previsão e as diferenças entre a informação de subdivisão atual e os parâmetros de previsão, bem como os seus valores inferidos, são transmitidos no fluxo de bits.
Numa outra forma de realização, é escolhido de forma adapt ativa, para um, bloco ou plano de grupo, se os modos de codificação residual (tais como o tipo de transformação) são inferidos ou previstos a partir de um bioco de vizinhança previamente codificado ou de um diferente plano de grupos de uma mesma imagem ou se os modos de codificação residual são codificados ern separado para o bloco. Esta forma de realização é semelhante à da inferência adaptativa / previsão dos parâmetros de previsão acima descritos.
Noutra forma de realização, a subdivisão de um bloco (ex. de um bloco de previsão) em blocos de transformação (i.e. blocos de amostras aos quais é aplicada uma transformação dimensional) é inferida de forma adaptativa ou de previsão a partir de blocos de vizinhança previamente codificados, de um plano de grupo diferente da mesma imagem. Esta forma de realização é semelhante à da inferência adaptativa ou de previsão da subdivisão em blocos de previsão acima descrita.
Noutra forma de realização, a subdivisão de um bloco em blocos de transformação e os modos de codificação residual (ex. tipos de transformação) dos blocos resultantes de transformação, são inferidos de forma adaptativa ou de previsão, a partir de blocos de vizinhança previamente codificados de um diferente plano de grupos para a mesma imagem. Esta forma de realização é semelhante à forma de realização da inferência adaptativa ou de previsão da subdivisão em blocos de previsão e parâmetros de previsão para os blocos de previsão resultantes, tal como acima descrita.
Numa outra forma de realização, a subdivisão de um bloco em blocos de previsão, os parâmetros de previsão, a informação de subdivisão dos blocos de previsão e os modos de codificação residual, para os blocos de transformação, são inferidos de forma adaptativa ou de previsão, a partir de blocos de vizinhança previamente codificados, de um plano de grupo diferente da mesma imagem. Esta forma de realização representa uma combinação das formas de realização descritas acima. É igualmente possível que apenas alguns dos parâmetros de codificação sejam inferidos ou previstos.
Assim, a adoção / previsão inter-planos pode aumentar a. eficiência de codificação descrita previamente. Contudo, a eficiência de codificação é também vantajosa, através da adoção / previsão inter-planos em caso de outras subdivisões de blocos ser usada, para além das subdivisões baseadas em estruturas de árvores múltiplas e independentemente da união de blocos ser implementada ou não.
As formas de realização descritas anteriormente, no que diz respeito à adaptação / previsão inter-planos, são aplicáveis a codificadores e descodificadores de imagem e de vídeo, que dividem os planos de cor de uma imagem e, em caso de se encontrarem presentes, as matrizes de amostras auxiliares associadas a uma imagem, em blocos associando estes blocos com parâmetros de codificação. Ξ possível incluir no fluxo de bits um conjunto de parâmetros para cada bloco. Por exemplo, estes parâmetros de codificação podem ser parâmetros que descrevam como um bloco é previsto ou descodificado por parte do descodif icaclor. Como exemplos específicos, os parâmetros de codificação podem representar modos de previsão de macroblocos ou de blocos, informação de divisão, modos de intra-previsão, índices de referência usados para previsão de compensação de movimento, parâmetros de movimento, tais como vetores de deslocamento, modos de codificação residual, coeficientes de transformação, etc. As diferentes matrizes de amostras, que se encontram associadas a uma imagem, podem ter diferentes dimensões.
Em seguida, é descrito um esquema para reforçar o sinal dos parâmetros de codificação de um esquema de particionamento baseado numa estrutura em árvore, como por exemplo os acima descritos com respeito às figuras 1 a 8. Tal como os outros esquemas, nomeadamente o de união e o adoção / previsão inter-planos, os efeitos e vantagens dos esquemas de reforço de sinal, a seguir frequentemente chamados de hereditariedade, são descritos de maneira independente das formas de realização acima explicadas, apesar dos esquemas a seguir descritos serem combináveis com qualquer um das formas de realização anteriormente descritas, tanto de forma individual como em combinação.
De uma forma geral, os esquemas de codificação melhorados, para codificação de informação secundária num esquema de particionamento baseado em estrutura de árvore, chamado de hereditariedade e descrito a seguir, permite as seguintes vantagens relativamente aos esquemas de tratamento de parâmetros de codificação.
Ma codificação convencional de imagem e ae víaeo, as imagens ou determinados conjuntos de matrizes de amostras, são usualmente decompostos em blocos, os quais estão associados a parâmetros de codificação específicos. As imagens consistem usualmente em matrizes de amostras. Adicionalmente, uma imagem pode estar associada a outras matrizes de amostras auxiliares, as quais podem, por exemplo, especificar informação de transparência ou mapas de profundidade. As matrizes de amostras de uma imagem (incluindo as matrizes de amostras auxiliares) podem ser agrupadas num ou mais dos chamados planos de grupos, em que cada plano de grupos consiste numa ou mais matrizes de amostras. Os planos de grupos de uma imagem podem ser codificados independentemente ou, no caso da imagem estar associada a mais do que um plano de grupo, com a utilização da previsão de outros planos de grupos da mesma imagem. Cada plano de grupo é usualmente decomposto em blocos. Os blocos, ou os correspondentes blocos de matrizes de amostras, são previstos quer através de previsão inter-imagem ou de previsão intra-imagem. Os blocos podem ter dimensões diferentes e podem. ser quadrados ou retangulares. 0 particionamento da imagem em blocos pode ser fixado por sintaxe ou poder ser, pelo menos em parte, sinalizado no interior do fluxo de bits. Frequentemente, são transmitidos elementos de sintaxe que sinalizam a subdivisão dos blocos em dimensões pré-definidas. Estes elementos de sintaxe podem especificar se e como um bloco é subdividido em blocos menores e podem estar associados a parâmetros de codificação, tais como para efeitos de previsão. Para todas as amostras de um bloco (ou correspondentes blocos de uma matriz de amostras) a descodificação dos parâmetros de codificação associados é especificada de uma determinada forma. No exemplo, todas as amostras de um bloco são previstas através da utilização de um mesmo conjunto de parâmetros de previsão, tais como índices de referência (identificando a imagem de referência no conjunto de imagens já codificadas), parâmetros demovimento (especificando uma medida de movimento de blocos entre a imagem de referência e a imagem corrente), parâmetros para especificar o filtro de interpolação, modos de intra-previsão, etc. Os parâmetros de movimento podem ser representados por vetores de deslocamento com componentes horizontal e vertical ou por parâmetros de movimento de ordem superior, tais como parâmetros de movimento afins, que consistem em seis compjonent.es. É igualmente possível que mais de um conjunto de determinados parâmetros de previsão (tais como os índices de referência e os parâmetros de movimento), estejam associados a um único bloco. Neste caso, para cada conjunto destes parâmetros de previsão específicos, é gerado um único sinal de previsão intermediário para o bloco (ou correspondentes blocos de matrizes de amostras), sendo o sinal de previsão final construído pela combinação, incluindo a sobreposição, dos sinais de previsão intermediários. Os parâmetros de ponderação correspondentes e eventualmente também uma constante compensação (que é adicionada à soma da ponderação) podem ser tanto fixados para uma imagem, imagem de referência ou conjunto de imagens de referência, como serem incluídos no conjunto de parâmetros de previsão do correspondente bloco. A diferença entre os blocos originais (ou correspondentes blocos de matrizes de amostras} e os seus sinais de previsão, também referidos como sinais residuais, é usualmente transformada e quantificada. Frequentemente é aplicada uma transformação bidimensional ao sinal residual (ou correspondentes matrizes de amostras para o bloco residual) . Para a codificação de transformação, os blocos (ou os correspondentes blocos das matrizes de amostras), para os quais foi usado um determinado conjunto de parâmetros de previsão, pode ser de novo dividido antes da transformação ser aplicada. Os blocos de transformação podem, ser iguais ou menores do que os blocos que são usados na previsão. É igualmente possível que um bloco de transformação inclua mais do que um dos blocos que são 'usados na previsão. Blocos de transformação diferentes podem ter dimensões diferentes, podendo representar blocos de forma quadrada ou retangular. Após a transformação, os resultantes coeficientes de transformação são quantificados e são obtidos os denominados níveis de coeficientes de transformação. Os níveis de coeficiente de transformação, bem como os parâmetros de previsão e, caso estejam presentes, a informação de subdivisão é então codificada de forma entrópica.
Em algumas das normas de codificação de imagem e de vídeo, as possibilidades de subdivisão de uma imagem (ou plano de grupo) em blocos, que são fornecidas pela sintaxe, são muito limitadas. Usualmente, apenas pode ser especificado se e (potencialmente) como se pode subdividir um bloco de uma dimensão pré-determinada em blocos de menores dimensões. Como exemplo, a maior dimensão de blocos na norma H.264 é de 16x16. Os blocos de 16x16 são também referidos como macroblocos e cada imagem. é, num primeiro passo, particionada em macroblocos. Para cada macrobloco de 16x16, é possível sinalizar-se se é codificado como 16x16, como dois blocos de 16x8, como dois blocos de 8x16 ou como quatro blocos de 8x8. Se um bloco de 16x16 for subdividido em quatro blocos de 8x8, cada um destes blocos de 8x8 pode ser codificado tanto como um bloco de 8x8, como dois blocos de 8x4, como dois blocos de 4x8 ou como quatro blocos de 4x4. 0 menor conjunto de possibilidades para especificar o particionamento dos blocos, no estado da técnica das normas de codificação de imagens e de vídeo, tem a. vantagem da. taxa. de informação para. sinalização da informação de subdivisão ser mantida reduzida, mas tem a desvantagem da taxa de bits necessária para a transmissão dos parâmetros de previsão para os blocos poder ser significativa, tal como o explicado a seguir. Usualmente, a taxa de informação secundária para sinalização da. informação de previsão representa verdadeiramente uma quantidade significativa da generalidade da taxa de bits para um bloco. A eficiência de codificação pode ser incrementada quando esta informação secundária é reduzida o que, por exemplo pode ser alcançado através da utilização de blocos de maiores dimensões. As imagens reais ou imagens de uma sequência de vídeo consistem em objetos arbitrariamente formatados com propriedades específicas. Como exemplo, tais objetos ou partes de objetos são caracterizados por uma textura única ou movimento único. Usualmente, o mesmo conjunto de parâmetros de previsão pode ser aplicado para esse objeto ou parte de um objeto. Contudo, usualmente os limites dos objetos não coincidem com os limites possíveis dos blocos, sobretudo no caso de blocos de previsão de grandes dimensões (ex. macroblocos 16x16 na H.264) . Normalmente um codificador determina a subdivisão, de entre o conjunto de limitadas possibilidades, que resulta num mínimo de uma determinada medida de custo taxa de distorção. Isto pode resultar num grande número de pequenos blocos, no caso de objetos arbitrariamente formatados. Uma vez que cada um destes pequenos blocos se encontra associado a um conjunto de parâmetros de previsão, que devem, ser transmitidos, a taxa de informação secundária pode tornar-se uma parte significativa da taxa de bits geral. No entanto, uma vez que vários dos blocos pequenos continuam a representar áreas do mesmo objeto ou de parte de um objeto, os parâmetros de previsão, para um dado número de blocos obtidos, são os mesmos ou muito semelhantes. Intuitivamente a eficiência de codificação poderia ser aumentada se a sintaxe fosse estendida de forma que não apenas permita subdividir um bloco, mas também permita a partilha de parâmetros de codificação entre os blocos que são obtidos após a subdivisão. Numa subdivisão baseada em árvore, a partilha de parâmetros de codificação, para um dado conjunto de blocos, pode ser alcançada pela atribuição de parâmetros de codificação, ou parte destes, a um ou mais nós de parentesco da hierarquia da estrutura em árvore. Em resultado, os parâmetros partilhados, ou partes destes, podem ser usados de forma a reduzir a informação secundária que é necessária para sinalizar a escolha atual dos parâmetros de codificação para blocos resultantes da subdivisão. Esta redução pode ser atingida pela omissão da sinalização dos parâmetros para os blocos subsequentes ou pela utilização de parâmetro(s) partilhado(s) para a previsão e/ou modelação de contexto dos parâmetros para os blocos subsequentes. A ideia subjacente ao esquema de hereditariedade, abaixo descrita, é a de reduzir a taxa de bits que é necessária para a transmissão dos parâmetros de codificação pela partilha de informação ao longo da hierarquia da árvore de blocos. A informação é sinalizada dentro do fluxo de bits (em adição à informação de subdivisão). A vantagem deste esquema de hereditariedade é um aumento da eficiência de codificação em resultado da decrescente taxa de informação secundária para os parâmetros de codificação.
Com o objetivo de reduzir a taxa de informação secundária, e de acordo com as formas de realização abaixo descritas, os parâmetros de codificação relativos a determinados conjuntos de amostras, i.e. a regiões conectadas simplesmente, que podem ser representadas por blocos quadrados ou retangulares, por regiões arbitrariamente formatadas ou por qualquer outra coleção de amostras de uma subdivisão de árvore múltipla, são sinalizados no fluxo de dados numa forma eficiente. 0 esquema de hereditariedade descrito abaixo permite que os parâmetros de codificação não tenham de ser explicitamente incluídos na sua totalidade no fluxo de bits, para cada um destes conjuntos de amostras. Os parâmetros de codificação podem representar parâmetros de previsão, os quais especificam. como os correspondentes conjuntos de amostras são previstas através da utilização de amostras já codificadas. Muitas possibilidades e exemplos foram anteriormente descritos e têm aqui aplicação. Tal como foi anteriormente indicado, e será descrito mais adiante, e no que diz respeito ao seguinte esquema de hereditariedade, o particionamento baseado numa estrutura de árvore, de matrizes de amostras de uma imagem em conjuntos de amostras, p ode ser fixado pela sintaxe ou pode ser sinalizado pela correspondente informação de subdivisão dentro do fluxo de bits. Os parâmetros de codificação, para os conjuntos de amostras podem, tal como o acima descrito, ser transmitidos numa ordem pré-definida a qual é dada pela sintaxe.
De acordo com o esquema de hereditariedade, o descodificador ou extrator 102 do descodificador, é configurado para derivar a informação sobre os parâmetros de codificação, das regiões conectadas simplesmente ou dos conjuntos de amostras indivíduaImente e de uma forma especifica. Mais especificamente, parâmetros de codificação ou partes destes, tais como os parâmetros que servem para fins de previsão, são partilhados entre blocos, ao longo de uma dado esquema de particionamento baseado em árvore, com o grupo ao longo da estrutura de árvore, sendo decidido pelo codificador ou dispositivo de inserção 18, respetivamente. Numa determinada forma, de realização, a indicação de partilha dos parâmetros de codificação, para todos os nós filhos de um dado nó interno da árvore de partição, é feita por uma bandeira de partilha de valor binário especifico. Numa abordagem alternativa, podem ser transmitidos refinamentos dos parâmetros de transmissão para cada nó, de forma que os refinamentos acumulados ao longo da hierarquia dos blocos da árvore possam ser aplicados a todos os conjuntos de amostras do bloco, num determinado nó de folha. Noutra forma de realização, partes dos parâmetros de codificação que são transmitidos aos nós internos ao longo da hierarquia de árvore dos blocos podem ser usados para codificação e descodrficação entrópica de contexto adaptativo, do parâmetro de codificação ou partes deste, para um bloco de um dado nó de folha.
As figuras 12a e 12 b ilustram a ideia base de hereditariedade para o caso especifico da utilização de partição de uma estrutura baseada em quadtree. Contudo, e tal como o mencionado várias vezes acima, podem ser igualmente usados outros esquemas de subdivisão de árvores múltiplas. A estrutura da arvore é mostrada na figura 12a, enquanto a correspondente partição espacial, relativa, a esta estrutura., é apresentada na figura 12b· A partição aqui apresentada é semelhante à apresentada nas figuras 3a a 3c. De uma forma geral, o esquema de hereditariedade permitirá que a informação secundária seja atribuída a nós de diferentes camadas de não folhas no interior da estrutura em árvore. Dependendo da informação secundária aos nós das diferentes camadas de uma árvore, tais como os nós internos da árvore da figura. 12a ou do nó da raiz desta, podem ser obtidos diferentes graus de partilha de informação secundária, no interior da hierarquia da árvore de blocos mostrada na figura 12b. Por exemplo, se é decidido que todos os nós de folha da camada 4, que no caso da figura 12a. têm. o mesmo nó parente, devem partilhar esta informação secundária, significa que, virtualmente os blocos mais pequenos da figura 12b, indicados como 156a a 156d, partilham esta informação secundária e que não será mais necessário efetuar a transmissão dessa informação secundária, na sua totalidade, a todos estes pequenos blocos 156a. a 156d, i.e. quatro vezes, embora isto seja mantido como uma opção do codificador. Contudo, é igualmente possível decidir se a. totalidade da região do nível hierárquico 1 (camada 2) da figura 12a, nomeadamente um quarto da parte da extremidade superior direita da árvore de blocos 150, que inclui os sub-blocos 156a a 156d acima mencionados, serve como região na qual os parâmetros de codificação devem ser partilhados. Assim, a área de partilha da informação secundária é aumentada. O próximo nível de aumento será a soma de todos os sub-blocos da camada 1, nomeadamente os sub-blocos 152a, 152c e 152d, bem como os acima mencionados blocos menores. Noutras palavras, neste caso a árvore de blocos terá, na sua totalidade, informação secundária que lhe está atribuída com todos os sub-blocos desta árvore de blocos 150 a partilharem a referida informação secundária.
Na seguinte descrição de hereditariedade, é usada a seguinte notação na descrição das formas de realização:
Amostras reconstruídas do nó de folha corrente: r Amostras reconstruídas das folhas de vizinhança: r'
Previsor do nó de folha corrente: p
Residual do nó de folha corrente: Res
Residual reconstruído do nó de folha corrente: RecR.es
Transformação de escala e inversa: SIT
Bandeira de partilha: f
Corno primeiro exemplo de hereditariedade será descrita a sinalização de intra-previsão ao nível dos nós internos. Mais prec.isam.ente é descrito como se sinaliza os modos de previsão ao nivel dos nós internos, numa partição de blocos de uma estrutura em árvore, para fins de previsão. Ao percorrer a árvore desde o nó de raiz para os nós de folha, os nós internos (incluindo o nó de raiz) podem transmitir partes de informação secundária que vai ser explorada por seus correspondentes nós filhos. Mais especificamente, uma bandeira f é transmitida aos nós internos com. o seguinte significado:
Se f tern um. valor de 1 ("verdade") , todos os nós filhos de um dado nó interno, partilham o mesmo modo de intra-previsão. Em adição à bandeira de partilha r, com o valor 1, o nó interno sinaliza também o parâmetro de modo de intra-previsão a ser usado por todos os nós filhos. Consequentemente, todos os subsequentes nós filhos não comportam qualquer informação de modo de previsão nem quaisquer bandeiras de partilha. Para a reconstrução de todos os nós de folha, relacionados, o descodificador aplica o modo de intra-previsão a partir do nó interno correspondente.
Se f tem um valor de 0 ("falso"), todos os nós filhos de um dado nó interno, não partilham o mesmo modo de intra-previsão e cada nó filho que é urn nó interno comporta uma bandeira de partilha separada. A figura 12c ilustra a sinalização de intra-previsão ao nível dos nós internos tal como o descrito anteriormente. 0 nó interno, na camada. 1, transmite a bandeira de partilha e a informação secundária, que é dada através de informação de modo de intra-previsão, e os nós filhos não comportam qualquer informação secundária.
Como segundo exemplo de hereditariedade, será descrito o refinamento de inter-previsão. Mais precisamente é descrito como sinalizar informação secundária de modos de inter-previsão ao nível dos nós internos, da partição de uma estrutura em árvore de blocos, para fins de refinamento de parâmetros de movimento, ex. dados por vetores de deslocação.
Ao percorrer a árvore desde o nó de raiz para os nós de folha, os nós internos (incluindo o nó de raiz) podem transmitir partes de informação secundária que vai ser explorada por seus correspondentes nós filhos. Mais especificamente, uma bandeira f é transmitida aos nós internos com o seguinte significado:
Se f tem um valor de 1 ("verdade") , todos os nós filhos de um dado nó interno, partilham o mesmo vetor de deslocamento de referência. Em adição à bandeira de partilha f, com o valor 1, o nó interno sinaliza também o vetor de deslocamento e o índice de referência. Consequentemente, todos os subsequentes nós filhos não comportam quaisquer bandeiras de partilha, mas podem comportar um refinamento deste vetor de deslocamento de referência herdado. Para a reconstrução de todos os nós de folha relacionados, o descodificador adiciona um refinamento do vetor de deslocamento a um dado nó de folha ao vetor de deslocamento de referência pertencente ao seu correspondente nó parente interno, que tem uma bandeira de partilha f com o valor de zero. Isto significa que o refinamento do vetor de deslocamento, ao nível de um determinado nó de folha, é a diferença entre o vetor de deslocamento atual, a ser aplicado oara a previsão da compensação de deslocamento a este nó de folha, e o vetor de deslocamento de referência do seu correspondente nó parente interno.
Se f tem um valor de 0 ("falso"), os nós filhos do correspondente nó interno, não partilham, necessariamente o mesmo modo de intra-previsão e não é efetuado o refinamento dos parâmetros de movimento ao nível dos nós filhos através da utilização dos parâmetros de movimento do correspondente nó interno e cada nó filho que é um nó interno comporta uma bandeira de partilha separada. A figura 12d ilustra o refinamento do parâmetro de movimento tal como acima descrito. 0 nó interno, na camada 1, transmite a bandeira de partilha e a informação secundária. Os nós filhos, que são nós de folha, comportam apenas os refinamentos do parâmetro de movimento e, por exemplo, o nó filho interno, na camada 2, não comporta informação secundária. É feita referência à figura 13. Esta mostra um diagrama de fluxo ilustrando o modo de operação de um descodificador, tal como o descodif icador da figura 2, na reconstrução de uma. matriz de amostras de informação, que representam um exemplo espacial do sinal de informação, o qual é subdividido em regiões folha de diferentes dimensões através de uma subdivisão em árvore múltipla, a partir do fluxo de dados. Tal como foi anter i ormente descrito, cada região folha tem associada um nível hierárquico de entre uma sequência de níveis hierárquicos de uma subdivisão de uma árvore múltipla. Por exemplo, todos os blocos mostrados na figura 12b são regiões folha. A região folha 156c, por exemplo, está associada a uma hierarquia de camada 4 (ou de nível 3} . Cada. região folha tem associada parâmetros de codificação. Já foram descritos anteriormente exemplos destes parâmetros de codificação. Os parâmetros de codificação são representados, para cada região folha, pelo respetivo conjunto de elementos de sintaxe. Cada elemento de sintaxe é um tipo de elemento de sintaxe relativo a um conjunto de tipos de elementos de sintaxe. Este tipo de elemento de sintaxe é, por exemplo, um modo de previsão, um componente de urrt vetor de deslocamento, uma indicação de um modo de intra-previsão ou similares. 0 descodificador realiza os seguintes passos, de acordo corn a figura 13.
No passo 550, é extraída informação de hereditariedade a partir do fluxo de dados. No caso da figura 2 o extrator 102 é o responsável pelo passo 550. A informação de hereditariedade indica se a hereditariedade é usada ou não para a matriz corrente de amostras de informação. A descrição seguinte revela que há várias possibilidades para a informação e hereditariedade, tais como inter alias, a bandeira de partilha f e a sinalização de estrutura em árvore múltipla dividida em partes primária e secundária. A matriz de amostras de informação pode ser já subparte de uma imagem, tal como uma árvore de blocos, nomeadamente a árvore de blocos 150 da figura 12b, por exemplo. Assim, a informação de hereditariedade indica se a hereditariedade é usada ou não para a árvore de blocos 150 específica. Esta informação de hereditariedade pode ser inserida no fluxo de dados para todos os blocos da árvore de blocos da subdivisão de previsão.
Para além disso, a informação de hereditariedade indica se a hereditariedade deve ser usada, pelo menos uma região de hereditariedade da matriz de amostras de informação, a qual é composta por um conjunto de regiões de folha e corresponde a um nível hierárquico da sequência de níveis hierárquicos de uma subdivisão de uma árvore múltipla, sendo esta mais baixa do que cada um dos níveis hierárquicos que estão associados ao conjunto de regiões de folha. Noutras palavras, a informação de hereditariedade indica se a hereditariedade deve ou não ser usada para a matriz de amostras corrente, tal como para a árvore de blocos 150. Em caso afirmativo, é observada pelo menos uma região ou uma sub-região de hereditariedade nesta árvore de blocos 150, dentro da qual cada região de folha partilha os parâmetros de codificação. Assim, a região de hereditariedade pode não ser uma região de folha. No exemplo da figura 12b, esta região de hereditariedade pode, por exemplo, ser a região formada pelos sub-blocos 156a a 156b. Em alternativa, a região de hereditariedade pode ser maior e pode igualmente compreender adicionalmente os sub-blocos 154a,b e d. Ainda noutra alternativa, a região de hereditariedade pode ser a própria árvore de blocos 150 com. todos os seus respetivos sub-blocos partilhando os parâmetros de codificação associados a essa região de hereditariedade.
Deve contudo ser notado que podem ser definidas mais do que uma região de hereditariedade numa matriz de amostras ou árvore de blocos 150, respetivamente. Imagine-se, por exemplo que o sub-bloco inferior esquerdo 152c foi também, particionado em blocos menores. Neste caso, o sub-bloco 152c pode também formar para da. região de hereditariedade.
Mo passo 552, a informação de hereditariedade é verificada quanto à hereditariedade dever ser usada ou não. Em caso afirmativo, o processo da figura 13 prossegue com o passo 554, onde um subconjunto de hereditariedade, que inclui pelo menos um elemento de sintaxe do tipo de elemento de sintaxe pré-determinado, é extraído a partir do fluxo de dados por região inter-hereditariedade. No passo 556 seguinte, este conjunto é então copiado para, ou usado como previsão para o correspondente subconjunto de elementos de sintaxe dentro do conjunto de elementos de sintaxe que representam os parâmetros de codificação associados ao conjunto de regiões de folha, o qual compreende pelo menos uma região de hereditariedade. Noutras palavras, para cada região de hereditariedade indicada na informação de hereditariedade, o fluxo de dados compreende um subconjunto de elementos de sintaxe. Ainda noutras palavras, a hereditariedade diz respeito a pelo menos um determinado tipo de elemento de sintaxe ou a uma categoria de elementos de sintaxe, a qual é disponível para a hereditariedade. Por exemplo, o modo de previsão, o modo de inter-previsão ou o elemento de sintaxe do modo de intra-previsão pode estar sujeito a hereditariedade. Por exemplo, o subconjunto de hereditariedade contido no fluxo de dados, para a região de hereditariedade, pode compreender um elemento de sintaxe de modo de inter-previsão. 0 subconjunto de hereditariedade pode também compreender ainda elementos de sintaxe, tipos de elementos de sintaxe dos quais dependem do valor do acima mencionado tipo de elemento de sintaxe fixado, associado ao esquema de hereditariedade. Por exemplo, no caso do modo de inter-previsão ser um componente fixado do subconjunto de hereditariedade, os elementos de sintaxe que definem a compensação de movimento, tais como os componentes do vetor de deslocamento, pode ou não estar incluídos no subconjunto de hereditariedade por sintaxe. Imagine-se, por exemplo que o canto superior direito da árvore de blocos 150, nomeadamente o sub-bloco 152b, é a região de hereditariedade. Então, para esta região de hereditariedade, pode ser indicado tanto o modo de inter-previsão sozinho ou o modo de inter-previsão pode ser indicado conjuntamente com os vetores de deslocamento e índices de vetores de deslocamento.
Todos os elementos de sintaxe, contidos no subconjunto de hereditariedade, são copiados para ou usados como uma previsão para os correspondentes parâmetros de codificação dos blocos de folha do interior dessa região de hereditariedade, i.e. os blocos de folha 154a,b,d e 156a a 156d. No caso de ser usada a previsão os residuais são transmitidos a todos os blocos individuais do bloco de folhas.
Uma das p>ossibilidades de transmissão da informação de hereditariedade à árvore de blocos 150 é a forma acima mencionada, com transmissão de bandeira de partilha f. A extração da informação de hereditariedade, no passo 550 pode, neste caso, compreender o seguinte. Em particular, o descodificador pode ser configurado para extrair e verificar, para as regiões de não folha que correspondem a qualquer conjunto de hereditariedade, de pelo menos um nível de hierarquia da subdivisão em árvore múltipla, e através do uso de uma ordem de nível hierárquico, a bandeira de partilha f do fluxo de dados, quanto à respetiva bandeira de hereditariedade ou bandeira de partilha, se determina hereditariedade ou não. Por exemplo, o conjunto de hereditariedade dos níveis de hierarquia pode ser formado por camadas hierárquicas de 1 a 3, na figura 12a. Assim, qualquer um dos nós da estrutura de subárvore, que não seja um nó de folha e estando em. quaisquer das camadas 1 a 3, pode ter associada uma bandeira de partilha, no fluxo de dados. 0 descodificador extrai estas bandeiras de partilha numa ordem desde a camada 1 para a camada 3, tal como numa leitura de ordem de profundidade ou largura. Assim que uma das bandeiras de partilha iguala 1, o descodificador reconhece que os blocos de folha contidos na correspondente região de hereditariedade partilham o subconjunto de hereditariedade, subsequentemente extraído no passo 5.54. No caso dos nós filhos do nó corrente, a verificação de bandeiras de hereditariedade não é rnais necessária. Noutras palavras, as bandeiras de hereditariedade não são transmitidas a estes nós filhos, no fluxo de dados, uma vez que é evidente que a área destes nós já pertence a uma região de hereditariedade, na qual o subconjunto de elementos de sintaxe já é partilhado. A bandeira de partilha f pode ser intercalada com os bits acima mencionados sinalizando subdivisão da quadtree. Por exemplo, uma sequência de bits intercalada que inclui ambas as bandeiras de subdivisão, bem como as bandeiras de partilha, poderia ser:
a qual é a mesma informação de subdivisão como a ilustrada na figura 6a com duas bandeiras partilha intercaladas, as quais se encontram marcadas com sublinhado, de forrna a indicar que na figura 3c todos os sub-blocos do canto inferior esquerdo da árvore de blocos 150 partilham os mesmos parâmetros de codificação.
Outra forma de definir a informação de hereditariedade, indicando a região de hereditariedade, é através do uso de duas subdivisões definidas de uma forma subordinada, uma para com a outra, tal como o acima explicado relativamente às subdivisões de previsão e residual, respetivamente. De uma forma geral, os blocos de folha da subdivisão primária podem formar a região de hereditariedade definindo regiões, dentro das quais os subconjuntos de elementos de sintaxe são partilhados, enquanto as subdivisões subordinadas definem regiões de hereditariedade para as quais o subconjunto de hereditariedade dos elementos de sintaxe são copiados ou usados como previsão.
Considerando que, por exemplo a árvore residual como uma extensão da árvore de previsão. Considerando também que os blocos de previsão podem ser de novo divididos em blocos menores para fins de codificação residual. A cada bloco de previsão corresponde um nó de folha da quadtree relacionada com a previsão, sendo a correspondente subdivisão para a codificação residual determinada por uma ou mais quadtree(s).
Neste caso, em vez de se utilizar qualquer sinalização de previsão nos nós internos, consideramos que a árvore residual é interpretada de maneira a que também especifique o refinamento da árvore de previsão, no sentido de usar um modo de previsão constante (sinalizado pelo correspondente nó de folha da árvore de previsão relacionada), mas com amostras de referência refinadas. O seguinte exemplo ilustra este caso.
Como exemplo, as figuras 14a e 14b mostram uma partição de quadtree para intra-previsão com as amostras de referência de vizinhança sendo marcadas para um nó de folha específico da subdivisão primária. A figura 14b mostra a subdivisão quadtree residual para o mesmo nó de folha de previsão com amostras de referência refinadas. Todos os sub-blocos apresentados na figura. 14b partilham os mesmos parâmetros de previsão contidos no fluxo de dados para o respetivos bloco de folha assinalado na figura 14a. Assim, a figura 14a mostra um exemplo da partição quadtree convencional para intra-previsão, onde são apresentadas as amostras de referência para um nó de folha especifico. Numa forma de realização preferida, é calculado contudo, um sinal de intra-previsão em separado para cada nó de folha na árvore residual, através do uso de amostras de vizinhança de nós de folha já reconstruídas na árvore residual, ex. como indicado pelo sombreado cinzento com riscas na figura 4b. Em seguida, é obtido o sinal reconstruído de um dado nó de folha residual de forma ordinária, através da adição do sinal residual quantificado a este sinal de previsão. Este sinal reconstruído é então usado como sinal de referência nos seguintes processos de previsão. Note-se que a ordem de descodificação para esta previsão é a mesma que a ordem para a descodificação residual.
No processo de descodificação, tal como apresentado na figura 15, o sinal de previsão é calculado, para cada nó ae folha residual, de acordo p com o modo de intra-previsão atual (taf como indicado pelo nó de folha da quadtree relacionado com a previsão), através do uso das amostras de referência r'.
Após o processo SIT
o sinal reconstruído r é calculado e armazenado para o próximo processo de cálculo de previsão:
A ordem de descodificação para. a previsão é a mesma que a ordem de descodificação residual, a qual é ilustrada na figura 16.
Cada nó de folha residual é descodificado tal como descrito no parágrafo anterior. 0 sinal reconstruído r é armazenado num "buffer", como o apresentado na figura 16. Fora deste "buffer" as amostras de referência r' serão usadas para o próximo processo de previsão de descodificação.
Após a descrição de formas de realização específicas, no que diz respeito às figuras 1 a 16, com combinação de subconjuntos distintos dos aspetos acima mencionados, outras formas de realização da presente invenção serão descritos com ênfase em alguns dos aspetos já descritos acima, mas cujas formas de realização representam generalizações de algumas das formas específ icas descritas anteriorrnente.
Em particular, as formas de realização acima descritas relativas ao enquadramento das figuras 1 e 2, combinam na sua maioria muitos dos aspetos da presente invenção, que podem ser igualmente vantajosos quando usados noutras aplicações ou outros campos de codificação. Tal como frequentemente mencionado durante a discussão acima, a subdivisão em árvores múltiplas, pode ser usada, por exemplo, sem união e/ou sem adoção/previsão inter-planos, e/ou sem. hereditariedade. Por exemplo, a transmissão da dimensão máxima de blocos, o uso da ordem de leitura de profundidade, o contexto de adaptação dependendo do nível de hierarquia da respetiva bandeira de subdivisão e a transmissão do nível de hierarquia máximo no fluxo de dados, de forma a poupar informação secundária, na taxa de bits, são aspetos que, na sua totalidade são vantajosos de forma independente uns dos outros. Isto é igualmente verdade, quando se considera o esquema de união. A união é vantajosa independentemente da forma exata de como uma imagem é dividida em regiões conectadas simplesmente e é também vantajosa independentemente da existência de mais de uma matriz de amostras ou do uso de adoção/previsão inter-planos e./ou hereditariedade. 0 mesmo se aplica às vantagens envolvidas na adoção/previsão inter-planos e hereditariedade.
Consequentemente, as formas de realização abaixo generalizam as acima mencionadas formas de realização, no que diz respeito aos aspetos referentes à união. Uma vez que as formas de realização a seguir descritas representam generalizações, muitos dos detalhes descritos podem ser considerados como sendo passíveis de combinação com outras formas de realização descritas a seguir. A figura 17 apresenta um descodificador de acordo com uma forma de realização da presente invenção. 0 descodificador da figura 17 compreende um extrator 600 e um reconstrutor 602. O extrator 600 é configurado para extrair dados a partir do fluxo de dados 60 4, de cada um das várias regiões conectadas simplesmente, em que uma matriz de amostras de informação representando um sinal de informação espacialmente amostrado é subdividida. Tal como o anteriormente descrito, as regiões conectadas de uma forma simples, nas quais a matriz de amostras de informação é subdividida, pode decorrer de uma subdivisão de árvore múltipla, podendo ter a forma de quadrangular ou retangular. Para além disso, as formas de realização especificamente descritas para a subdivisão de uma matriz de amostras, são meras formas específicas de realização e podem ser também usadas outras subdivisões. Algumas destas possibilidades são mostradas nas figuras 18a-c. A figura 18a, por exemplo, apresenta, a subdivisão de uma matriz de amostras 606 em arranjos bidimensionais regulares de árvores de blocos não sobrepostos 608 adjacentes uns aos outros, sendo algumas destas subdivididas de acordo com uma estrutura de árvore múltipla em sub-blocos 610 de diferentes dimensões. Tal como acima. mencionado, embora seja ilustrada uma subdivisão quadtree na figura 18a, é possível realizar a partição de cada nó parente num qualquer outro número de nós filhos. A figura 18b mostra uma forma de realização de acordo com a qual a matriz de amostras 606 é subdividida em sub-blocos de dimensões diferentes, através da aplicação da subdivisão em árvore múltipla diretamente sobre a totalidade da matriz de pixels 606. Desta forma, a totalidade da matriz de pixels 606 é tratada como uma árvore de blocos. A figura 18 mostra outra forma de realização. De acordo com esta forma de realização, a matriz de amostras é estruturada num arranjo bidimensional regular de macroblocos de formas quadradas ou retangulares, adjacentes uns aos outros, sendo cada um destes macroblocos 612 individualmente associado a informação de partição, de acordo com a qual o macrobloco 612 é deixado sem partição ou é particionado num arranjo bidimensional regular de blocos de dimensão indicada pela informação de partição. Como pode ser observado, todas as subdivisões das figuras 13a-13c conduzem à subdivisão da matriz de amostras 606 em regiões conectadas simplesmente, as quais são, em forma de exemplo, não sobrepostas, de acordo com as formas de realização das figuras 18a-18c. Contudo, várias outras alternativas são igualmente possíveis. Por exemplo, os blocos podem se sobrepor uns aos outros. A sobreposição pode, no entanto ser restringida de tal forma que cada bloco tenha uma parte não sobreposta por qualquer bloco de vizinhança ou que cada amostra de blocos esteja sobreposta, no máximo, por um bloco de entre os blocos de vizinhança, dispostos de forma justaposta à do bloco corrente, ao longo de uma direção pré-determinada. Neste último caso, significa que os blocos de vizinhança à esquerda e à direita do bloco corrente podem sobrepor-se a este de forma a cobri-lo por completo, mas não podem sobrepor-se um ao outro. O mesmo se aplica aos blocos de vizinhança nas direções vertical e diagonal.
Tal como o acima descrito com respeito às figuras 1 a 16, a matriz de amostras de informação não tem necessariamente de representar uma imagem de um video ou uma imagem estática. A matriz de amostras 606 pode também representar um mapa de profundidade ou um mapa. de transparência de um determinado cenário.
Os dados úteis associados a cada região das várias regiões conectadas simplesmente, podem, tal como acima discutido, compreender dados residuais no domínio espacial ou no domínio de transformação, tais como coeficientes de transformação e mapa de significância identificando as posições de coeficientes de transformação significativos, num bloco de transformação correspondente ao bloco residual. De uma forma geral, os dados úteis extraídos pelo extrator 600, para cada região de conexão simples, a partir do fluxo de dados 604, correspondem a dados que descrevem espacialmente a respetiva região de conexão simples associada, tanto no domínio espacial como num domínio espectral e tanto diretamente ou como residual para alguma forma de previsão desta, como por exemplo. O reconstrutor 602 é configurado para reconstruir a matriz de amostras de informação a partir dos dados úteis, para as regiões conectadas simplesmente da matriz de amostras de informação e para cada região de conexão simples, através do processamento dos dados úteis para as respetivas regiões conectadas simplesmente, de uma forma determinada pelos parâmetros de codificação associados às respetivas regiões conectadas simplesmente. De forma análoga à discussão cima, os parâmetros de codificação podem ser parâmetros de previsão e assim, as regiões conectadas simplesmente apresentadas nas figuras 18a-18b podem, corresponder aos blocos de previsão atrás mencionados, i.e. blocos em unidades para as quais o fluxo de dados 604 define os detalhes de previsão para previsão individual das regiões conectadas simplesmente. Contudo, os parâmetros de codificação não são restringidos aos parâmetros e previsão. Os parâmetros de codificação podem indicar a transformação usada para transformar os dados úteis ou podem definir um filtro a ser usado na reconstrução das regiões conectadas simplesmente .individualmente, aquando da reconstrução da matriz de amostras de informação. 0 extrator 600 é configurado para identificar, para uma pré-determinada região de conexão simples, as regiões conectadas simplesmente de entre uma pluralidade de regiões conectadas simplesmente que têm uma relação de localização relativa com a região de conexão simples pré-determinada. Foram descritos os detalhes relativos a este passo anteriormente no que diz respeito ao passo 450. Assim, em adição a esta relação de localização relativa pré-determinada, a identificação pode depender de um subconjunto de parâmetros de codificação associados a uma pré-determinada região de conexão simples. Após a identificação, o extrator 600 extrai um indicador de união para a região de conexão simples pré-determinada, a partir do fluxo de dados 604. No caso do número de regiões conectadas simplesmente que têm uma relação de localização relativa com a região de conexão simples pré-determinada é maior que zero. Isto corresponde aos passos 452 e 454 acima descritos. Se o indicador de união sugere o processamento de união de um bloco pré-determinado, o extrator 600 é configurado para verificar se o número de regiões conectadas simplesmente que têm uma relação de localização relativa pré-determinada com a região de conexão simples é um ou se o número de regiões conectadas simplesmente que têm uma relação de localização relativa pré-determinada com a região de conexão simples é maior que um, sendo contudo, os parâmetros de codificação destes idênticos uns aos outros. Caso uma ou as duas alternativas sejam aplicáveis, o extrator adota os parâmetros de codificação ou usa-os para prever os parâmetros de codificação da região de conexão simples ou do restante subconjunto desta, tal como o acima descrito com, respeito aos passos 458-468. Tal como anteriormente descrito, com respeito à figura 10, pode ser extraído outro indicador pelo extrator 600 a partir do fluxo de dados 604, no caso da última verificação revelar que o número regiões conectadas simplesmente que têm uma relação de localização relativa pré-determinada com a região de conexão simples é superior a um e que têm diferentes parâmetros de codificação um do outro.
Através da utilização destas últimas verificações, é possível suprimir a transmissão de outros indicadores que indicam uma ou um subconjunto de regiões conectadas simplesmente candidatas, reduzindo assim a sobrecarga de informação secundária. A figura 19 mostra a estrutura feral de um codificador para gerar dados descodificáveis pelo descodificador da figura 17. 0 codificador da figura 19 compreende um gerador de dados 650 e um dispositivo de inserção de dados 652. 0 gerador de dados 650 é configurado para codificar a matriz de amostras de informação em dados úteis para cada uma de uma pluralidade de regiões interconectadas, para as quais a matriz de amostras de informação é subdividida, em conjunto com os parâmetros de codificação associados com as regiões conectadas simplesmente, de forma a indicar como os dados úteis da região de conexão simples deve ser reconstruído. O dispositivo de inserção 652 efetua a identificação e verifica se o extrator 600 do descodificador da figura 12 fez, mas realiza uma inserção do indicador de união em vez da sua extração, suprimindo uma. inserção de parâmetros de codificação do fluxo de dados ou substituindo uma inserção de parâmetros de codificação do fluxo de dados por completo, através da inserção da respetiva previsão residual ao invés da adoção/previsão descrita acima, com. .respeito à figura 12 e figura 10, respetivamente.
Além disso, deve ser notado que a. estrutura do codificador da. figura 19 é bastante esquemática e, na verdade, a determinação dos dados úteis, dos parâmetros de codificação e do indicador de união pode ser um processo interativo. Por exemplo, se os parâmetros de codificação de regiões conectadas simplesmente de vizinhança forem semelhantes, mas não idênticos um ao outro, um processo interativo pode determinar que, dadas as pequenas diferenças entre estes parâmetros de codificação, pode ser preferível, ao invés de sinalizar estas diferenças ao descodificador, considerando que o indicador de união permite suprimir os parâmetros de codificação de uma das regiões conectadas simplesmente por completo, substituir a submissão destes parâmetros de codificação, por completo, pela submissão de apenas um residual. A figura 20 apresenta uma outra forma de realização de um descodificador. O descodificador da figura 20 compreende um subdivisor 700, um unificador 702 e um reconstrutor 704. O subdivisor é configurado para subdividir espacialmente, dependendo do subconjunto de elementos de sintaxe contidos no fluxo de dados, uma matriz representando uma amostragem espacial do sinal de informação bidimensional, numa pluralidade de regiões conectadas simp>lesmente não sobrepostas de dimensões diferentes através de partição múltipla recursiva. Assim, a partição múltipla corresponde às formas de realização acima apresentadas, com respeito às figuras 1-16 ou à figura 18a, respetivamente, ou à figura 18b. O elemento de sintaxe contido no fluxo de dados, para indicação da subdivisão, pode ser definido, tal como acima mencionado com respeito às figuras 6a e 6b ou de outra forma alternativa. O unificador 702 é configurado para combinar, dependendo de um segundo subconjunto de elementos de sintaxe no fluxo de dados, sendo separado do primeiro subconjunto, regiões conectadas simplesmente de vizinhança espacial de uma pluralidade de regiões, de forma a obter uma subdivisão intermediária, da matriz de amostragem nos conjuntos separados das regiões conectadas simplesmente, a união das quais tem uma pluralidade de regiões conectadas simplesmente. Noutras palavras, o unificador 702 combina as regiões conectadas simplesmente e atribui-lhes, de uma forma única, a grupos de união de regiões conectadas simplesmente. 0 segundo subconjunto de elementos de sintaxe recentemente mencionado, indicando a informação de união, pode ser definido de forma acima apresentada, com respeito às figuras 19 e 10, respet.ivam.ente, ou de outra forma. No entanto, a capacidade do codificador indicar a subdivisão, através do uso de um subconjunto separado do conjunto, através do qual a união é indicada, aumenta a liberdade do codificador de adaptar a subdivisão da matriz de amostras ao conteúdo da atual matriz de amostras, de forma a aumentar a eficiência de codificação. O reconstrutor 704 é configurado para reconstruir a matriz de amostras do fluxo de dados, pela utilização da subdivisão intermediária. Tal como o acima indicado, o reconstrutor pode explorar a subdivisão intermediária através da adoção/previsão dos parâmetros de codificação dos parceiros de união de uma região de conexão simples corrente. Em alternativa, o reconstrutor 704 pode até aplicar urna transformação ou um processo de previsão à região combinada do grupo unido das regiões conectadas simplesmente. A figura 21 apresenta urn possível codificador para gerar fluxos de dados descodificáveis pelo descodificador da figura 15. O descodificador compreende uma etapa de subdivisão / união e um gerador de fluxo de dados 752. A etapa de subdivisão / união é configurada para determinar uma subdivisão intermediária de uma matriz de amostras de informação, que representam uma amostragem de sinal de informação bidimensional e dois conjuntos separados de regiões conectadas simp.lesm.ente. Com. a definição desta subdivisão intermediária, através de um primeiro subconjunto de elementos de sintaxe, de acordo com os quais a matriz de amostras de informação é subdividida numa pluralidade de regiões conectadas simplesmente não sobrepostas e de diferentes dimensões, através de multipartição recursiva, e um segundo subconjunto de elementos de sintaxe, que sendo separados do primeiro subconjunto, de acordo com o qual as regiões conectadas simplesmente de vizinhança espacial da pluralidade de regiões conectadas simplesmente, são combinadas para se obter uma subdivisão intermediária. O gerador de fluxo de dados usa a subdivisão intermediária de forma a codificar a matriz de amostras de informação em fluxo de dados. A etapa de subdivisão / união 750 insere o primeiro e o segundo subconjunto também no fluxo de dados.
De novo, como no caso da figura 14, o processo de determinação do primeiro e segundo subconjunto dos elementos de sintaxe, gerado pelo gerador de fluxo de dados 752, pode ser um processo operado iterativamente. Por exemplo, a etapa de subdivisão/ união 750 pode, preliminarmente, determinar uma subdivisão ótima na. qual após o gerador 752 determinar o conjunto de elementos de elementos de sintaxe ótimos, para a codificação das matrizes de amostras, pela utilização da subdivisão de amostras com a etapa de subdivisão / união e depois definindo o elemento de sintaxe que descreve a união de forma a. diminuir a carga de informação secundária. Contudo, o processo de codificação pode não terminar aqui. Ao invés, a etapa de subdivisão / união 750, em conjunto com o gerador de fluxo de dados 752, podem cooperar para tentar desviar, das definições ótimas de subdivisão e dos elementos de sintaxe previamente determinados pelo gerador de fluxo de dados 752, de forma a determinar se a melhor razão taxa /distorção é alcançada pela exploração das propriedades positivas de união.
Tal como descrito anteriormente, as formas de realização relativas às figuras 17-21 representam generalizações das formas de realização descritas antes com respeito às figuras 1-16 e, consequentemente, é possível associar de forma única os elementos das figuras 1-16 aos elementos mostrados nas figuras 17-21. Por exemplo, o extrator 102, em conjunto com o subdivisor 104a e o subdivisor 104b, assume a responsabilidade pelas tarefas a serem realizadas pelo extrator 600 da figura. 17. O subdivisor +e responsável pela subdivisão e gestão das relações de vizinhança entre as regiões conectadas simplesmente individuais. Por seu turno, o unificador 104b gere as regiões conectadas simplesmente num grupo e localiza os parâmetros de codificação corretos a serem copiados ou a serem usados, como previsão para as regiões conectadas simplesmente, em caso de um evento de união ser indicado pela informação de união correntemente descodificada. 0 extrator 102 assume a responsabilidade de extração dos dados atuais, a partir do fluxo de dados, usando o contexto correto, em caso de usar a descodificação entrópica para a extração de dados. Os restantes elementos da figura 2 são um exemplo do reconstrutor 602. O reconstrutor 602 pode, naturalmente, ser realizado de uma forma diferente do mostrado na figura 2. Por exemplo, o reconstrutor 602 pode não usar previsão e/ou intra-previsão de movimento compensado. Outras possibilidades podem ser igualmente aplicadas.
Para além disto, tal como mencionado acima, as regiões conectadas simplesmente, relativas à descrição da figura 17, correspondem, tal como o também indicado acima, tanto a blocos de previsão acima mencionados, ou a quaisquer outras subdivisões acima mencionadas, tais como subdivisões residuais ou os filtros de subdivisão acima indicados.
Quando se compara o codificador da figura 19 com o exemplo da figura 1, o gerador de dados 650 abrange todos os elementos para além do dispositivo de inserção de dados 18, enquanto o último corresponde ao dispositivo de inserção de dados 652 da figura 19. De novo, o gerador de dados 650 pode usar outra abordagem de codificação que não a abordagem híbrida apresentada na figura 1.
Quando se compara o descodificador da figura 20 com. o exemplo da figura 2, os subdivisores 104a e unificador 104b correspondem ao subdivisor 100 e ao unificador 102 da figura 20, respetivamente, enquanto que os elementos 106 e 114 correspondem ao reconstrutor 704. O extrator 102 pode participar na operação de todos os elementos mostrados na figura 20.
No que diz respeito ao codificador da figura 21, a etapa de subdivisão / união corresponde ao subdivisor 28 e unificador 30, enquanto de o gerador de fluxo de dados 752 compreende todos os outros elementos apresentados na figura 10. Embora alguns aspetos tenham sido descritos no contexto de um aparelho, é evidente que estes aspetos podem também representar uma descrição relativa ao correspondente método, no qual o bloco ou dispositivos corresponde a uma etapa de um método ou a urna característica de uma etapa de um método. De forma análoga, os aspetos descritos no contexto de uma etapa de um método podem, também representar a descrição de um bloco correspondente ou de um item ou ainda de uma característica de um aparelho correspondente. Algumas das etapas do método podem ser executadas por um (ou pelo uso de um) aparelho de hardware, como por exemplo um computador ou um circuito eletrónico. Em algumas formas de realização, algumas das mais importantes etapas de método são executadas por um deste tipo de aparelhos.
Os sinais inventivos codificados/comprimidos podem ser armazenados num meio de armazenamento digital ou podem ser transmitidos através de um meio de transmissão, tais como um meio de transmissão "wireless" ou através de um meio de ligação com cabos, tal como via Internet.
Dependendo de determinados requisitos de implementação, as formas de realização da presente invenção podem ser implementadas em hardware ou em software. A implementação pode ser realizada através doa utilização de um meio de armazenamento digital, como por exemplo uma disquete, um DVD, um Blu-Ray, um CD, um CD-ROM, um PROM, um EPROM, um EEPTOM ou uma memória FLASH, tendo sinais de controlo de leitura eletrónica nestes armazenada, que cooperam (ou capazes de cooperar) com um sistema programável de computador, tal que o respetivo método possa ser executado. Assim, o meio de armazenamento digital pode ser de leitura por computador.
Algumas formas de realização, de acordo com a presente invenção, compreendem meios cie suporte de dados com sinais de controlo de leitura eletrónica, os quais são capazes de cooperar com. urn sistema programável por computador, tal que um dos métodos acima descrito possa ser executado.
De uma forma geral, as formas de realização 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 funcional para a realização de um dos métodos, quando o produto de programa de computador corre num computador. 0 código do programa pode, por exemplo, ser armazenado num suporte de leitura por máquina.
Outras forrnas de .realização compreendem um programa de computador p>ara realizar um dos métodos acima descritos, armazenados num suporte de leitura por máquina.
Noutras palavras, uma forma de realização do método inventivo é, portanto, um programa de computador tendo um código de programa para execução de um dos métodos acima descritos, quando o programa de computador corre no computador.
Outra forma de realização do método inventivo é, assim, um suporte de dados (ou meio de armazenamento digital ou um meio de leitura por computador) compreendendo, nele gravado, o programa de computador para realizar um dos métodos aqui descritos.
Outra forma de realização do método inventivo é, assim, um fluxo de dados ou uma sequência de sinais que representam o programa de computador para execução de um dos métodos aqui descritos. 0 fluxo de dados ou as sequências de sinais podem, por exemp>Io, serem configurados para serem transferidos através de uma conexão de dados, tal como por Internet, por exemplo.
Outra forma de realização compreende meios de processamento, como por exemplo um computador ou um dispositivo de programação lógica, configurado ou adaptado para executar um dos métodos aqui descritos.
Outra forma de realização compreende um computador tendo em si instalado um programa de computador para execução de um dos métodos aqui descritos.
Em algumas formas de realização, pode ser usado um dispositivo de programação lógica (por exemplo um Arranjo de Portas Programável em Campo / FPGA), para execução de algumas ou todas as funcionalidades dos métodos aqui descritos. Em algumas formas de realização, o Arranjo de Portas Programável em. Campo pode cooperar com um. microprocessador de forma a executar um dos métodos aqui descritos, De uma forma geral, os métodos são preferencialmente executados por qualquer aparelho de hardware.
As formais de realização acima descritas são meramente ilustrativas dos princípios da presente invenção. Modificações e variações de arranjos e detalhes aqui descritos devem ser entendidas e aparentes para o perito na especialidade. Assim, a intenção é a de ser apenas .limitado pelo âmbito das reivindicações da patente e não pelos detalhes específicos apresentados de forma a descrever e explicar as formas de realização aqui presentes.

Claims (7)

REIVINDICAÇÕES
1. Um descodificador compreendendo: um extrator (600) configurado para extrair, para cada uma de uma pluralidade de regiões conectadas simplesmente, nas quais está subdividida uma matriz de amostras de informação, representando um sinal de informação amostrado espacialmente, de dados de carga útil de um fluxo de dados (22); e um reconstrutor (602) configurado para reconstruir a matriz de amostras de informação, a partir dos dados de carga útil, para as regiões conectadas simplesmente da matriz de amostras de informação, através do processamento, para cada região conectada simplesmente, dos dados de carga útil para as respetivas regiões conectadas simplesmente, de uma forma prescrita pelos parâmetros de codificação associados à respetiva região conectada simplesmente, na qual o codificador compreende ainda um subdivisor (104) configurado para subdividir espacialmente, através de uma subdivisão em árvore múltipla, a matriz de amostra de .informação em regiões conectadas simplesmente, por partição múltipla recursiva, de tal forma que as regiões conectadas simplesmente apresentam diferentes dimensões, sendo o extrator configurado para processar as regiões conectadas simplesmente numa ordem transversal em profundidade, e na qual os parâmetros de codificação associados ao número de regiões conectadas simplesmente são transmitidos no fluxo de dados (22) numa ordem transversal em profundidade, caracterizado por o extrator ser adicionalmente configurado para extrair um primeiro subconjunto de parâmetros de previsão para uma. região conectada simplesmente pré-determinada do fluxo de dados (22); calcular uma distância em função de uma medida de distância pré-determinada, entre um primeiro conjunto de parâmetros de codificação para a região conectada simplesmente pré- determinada e os parâmetros de codificação correspondentes das regiões simplesmente conectadas, que relação de localização relativa pré-determinadas com a região conectada simplesment e; identificar (450) para a região conectada simplesmente pré-determinada, as regiões conectadas simplesmente numa pluralidade de regiões conectadas simplesmente, que apresentam uma relação de localização relativa pré- determinada com a região conectada simplesmente pré-determinada e apresentam, em simultâneo, parâmetros de codificação associados a estas, que preenchem uma pré-determinada relação com o primeiro subconjunto de parâmetros de codificação para a. .região conectada simplesmente pré-determinada, sendo a relação pré-determinada preenchida unicamente para as regiões conectadas simplesmente, às quais estão associados os correspondentes parâmetros de codificação, que apresentam a distância, de acordo com uma medida de distância pré-determinada, a partir do primeiro subconjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada, a qual é inferior ou igual a um limiar pré-definido, . se o número de regiões conectadas simplesmente apresentam uma relação de localização com a região conectada simplesmente, e apresentam em simultâneo parâmetros de codificação a estas associados, os quais preenchem os requisitos de uma relação pré-determinada para com o primeiro subconjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada e são superiores a zero, extrair (454) um indicador de união para a região conectada simplesmente pré-determinada, a. partir do fluxo de dados (22), . se o indicador de união sugere um processo de união de um bloco pré-determinado, , se o número de regiões conectadas simplesmente, que apresentam uma pré-determinada relação de localização relativa para a. região conectada simplesmente pré-determinada e, em simultâneo têm parâmetros de codificação associados, os quais preenchem os requisitos da relação pré-determinada com o primeiro subconjunto de parâmetros de codificação para região conectada simplesmente pré-determinada, é um, adotar (462) um segundo subconjunto de parâmetros de codificação da região conectada simplesmente, que apresenta uma relação pré-determinada de localização relativa pré-determinada com a região conectada simplesmente pré-determinada e, em simultâneo tendo parâmetros de codificação a estas associados, os quais preenchem a relação pré-determinada para com o primeiro subconjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada, como segundo subconjunto de parâmetros de codificação para região conectada simplesmente pré-determinada, ou prever o segundo subconjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada a partir do segundo subconjunto de parâmetros de codificação das regiões conectadas simplesmente com relação pré-determinada de localização relativa para com região conectada simplesmente pré-determinada e, em simultâneo apresentam parâmetros de codificação associados a estas, os quais preenchem a relação pré-determinada para com o primeiro subconjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada, com extração de previsão residual para a região conectada simplesmente pré-determinada, a partir do fluxo de dados (22}.
2. 0 descodificador de acordo com a reivindicação 1, no qual o extrator (600) é adicionalmente configurado para se o número de regiões conectadas simplesmente que apresentam relações pré-determinadas de localização relativa, para com a região conectada simplesmente pré-determinada é maior do que 1, verificar (466) se os parâmetros de codificação associados com. as regiões conectadas simplesmente são idênticos entre si e, erti caso afirmativo, adotar os parâmetros de codificação das regiões conectadas simplesmente como parâmetros de codificação para a região conectada simplesmente pré-determinada ou prever os parâmetros de codificação para a região conectada simplesmente pré-determinada, a partir dos parâmetros de codificação do número de regiões conectadas simplesmente, que apresentam uma relação pré-determinada de localização relativa para com a região conectada simplesmente pré-determinada, com extração de residual de previsão a partir do fluxo de dados (22) .
3. 0 descodificador de acordo com qualquer uma das reivindicações 1 a 2, no qual o subdivisor (104) é configurado para dividir espacialmente a matriz de amostras de informação em regiões de raiz de árvore, com uma dimensão máxima de região e subdividindo, em função da informação de subdivisão em árvore múltipla, pelo menos um subconjunto de regiões de raiz de árvore em regiões conectadas simplesmente menores e de dimensões diferentes, através da partição múltipla recursiva do subconjunto de regiões de raiz de árvore, sendo estas regiões não particionadas de acordo com a informação de subdivisão de árvore múltipla, e as regiões conectadas simplesmente menores formam a pluralidade das regiões conectadas simplesmente.
4. 0 descodificador de acordo com qualquer uma das reivindicações 1 a 3, no qual o extrator (600) é configurado para identificar, na identificação de regiões conectadas simplesmente, que apresentam uma relação pré-determinada de localização relativa para com a .região conectada simplesmente, essas regiões conectadas simplesmente, dentro das quais, se alguma, se encontram amostras de informação adjacentes no limite da região conectada simplesmente pré-determinada.
5. 0 descodificador de acordo com qualquer uma das reivindicações 1 a 4, no qual o extrator (600) é configurado parei extrair, se os parâmetros de codificação associados ao numero de regiões conectadas simplesmente, que apresentam uma relação pré-determinada de localização relativa para com a região conectada simplesmente pré-determinada, são diferentes entre si, um identificador de vizinhança de referência a partir do fluxo de dados (22), identificando o subconjunto adequado do número de regiões conectadas simplesmente, que apresentam uma relação pré-determinada de localização relativa para com a região conectada simplesmente pré-determinada e adota os parâmetros de codificação deste subconjunto adequado como os parâmetros de codificação para a região conectada simplesmente pré-determinada, ou prevê os parâmetros de codificação da. região conectada simplesmente a partir do subconjunto adequado, com extração do residual de previsão do fluxo de dados (22).
6. Um método de descodificação compreendendo: - extrair, para cada uma de uma pluralidade de regiões conectadas simplesmente, nas quais está subdividida uma matriz de amostras de informação, representando um sinal de informação amostrado espacialmente, de dados de carga útil de um fluxo de dados (22); - reconstruir a matriz de amostras de informação, a partir dos dados de carga útil, para as regiões conectadas simplesmente da matriz de amostras de informação, através do processamento, para cada região conectada simplesmente, dos dados de carga útil para as respetivas regiões conectadas simplesmente, de uma forma prescrita pelos parâmetros de codificação associados à respetiva região conectada s inip 1 esmente, no qual o método compreende adicionalmente a subdivisão espacial, através da utilização de uma subdivisão em árvore múltipla, da matriz de amostras de informação em regiões conectadas simplesmente, através da subpartição recursiva, de forma que as regiões conectadas simplesmente apresentam diferentes dimensões, em que a extração é realizada de maneira a que as regiões conectadas simplesmente são processadas numa ordem transversa de profundidade, em que os parâmetros de codificação associados ao número de regiões conectadas simplesmente são transmitidos no fluxo de dados (22) numa ordem transversa de profundidade, caracterizado por a extração compreender a extração de um primeiro subconjunto de parâmetros de codificação para uma região conectada simplesmente pré-determinada a partir do fluxo de dados (22); calcular uma distância em função de uma medida de distância pré-determinada, entre um primeiro conjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada e os parâmetros de codificação correspondentes das regiões simplesmente conectadas, que relação de localização relativa pré-determinadas com a região conectada simples me n t e; identificar para a região conectada simplesmente pré- determinada, as regiões conectadas simplesmente numa pluralidade de regiões conectadas simplesmente, que apresentam uma relação de localização relativa pré-determinada com a região conectada simplesmente pré- determinada e apresentam, em simultâneo, parâmetros de codificação associados a estas, que preenchem uma pré-determinada relação com o primeiro subconjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada, sendo a relação pré-determinada preenchida unicamente para as regiões conectadas simplesmente, às quais estão associados os correspondentes parâmetros de codificação, que apresentam a distância, de acordo com uma medida de distância pré-determinada, a partir do primeiro subconjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada, a qual é inferior ou igual a um limiar pré-definido, , se o número de regiões conectadas simplesmente apresentam uma relação de localização com a região conectada simplesmente, e apresentam em simultâneo parâmetros de codificação a estas associados, os quais preenchem os requisitos de uma relação pré-determinada para com o primeiro subconjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada e são superiores a zero, extrair um indicador de união para a região conectada simplesmente pré-determinada, a partir do fluxo de dados (22), . se o indicador de união sugere um processo de união de um bloco pré-determinado, . se o número de regiões conectadas simplesmente, que apresentam uma pré-determinada relação de localização relativa para a região conectada simplesmente pré- determinada e, em simultâneo têm parâmetros de codificação associados, os quais preenchem os requisitos da relação pré-determinada com o primeiro subconjunto de parâmetros de codificação para região conectada simplesmente pré- determinada, é um, adotar um segundo subconjunto de parâmetros de codificação da região conectada simplesmente, que apresenta uma relação pré-determinada de localização relativa pré-determinada com a região conectada simplesmente pré-determinada e, em. simultâneo tendo parâmetros de codificação a estas associados, os quais preenchem a relação pré-determinada para com. o primeiro subconjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada, como segundo subconjunto de parâmetros de codificação para região conectada simplesmente pré-determinada, ou prever o segundo subconjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada a partir do segundo subconjunto de parâmetros de codificação das regiões conectadas simplesmente com relação pré-determinada de localização relativa para com região conectada simplesmente pré-determinada e, em simultâneo apresentam parâmetros de codificação associados a estas, os quais preenchem a relação pré-determinada para com o primeiro subconjunto de parâmetros de codificação para a região conectada simplesmente pré-determinada, com extração de previsão residual para a região conectada simplesmente pré-determinada, a partir do fluxo de dados (22).
7. Suporte de armazenamento digital de leitura por computador que apresenta armazenado um programa de computador que compreende um código de programa, para execução do método da reivindicação 6, quando executado por um computador.
PT117146530T 2010-04-13 2011-04-13 Regiões de fusão de amostras PT2559246T (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP10159799 2010-04-13
PCT/EP2010/054833 WO2011127963A1 (en) 2010-04-13 2010-04-13 Sample region merging

Publications (1)

Publication Number Publication Date
PT2559246T true PT2559246T (pt) 2016-09-14

Family

ID=44072790

Family Applications (1)

Application Number Title Priority Date Filing Date
PT117146530T PT2559246T (pt) 2010-04-13 2011-04-13 Regiões de fusão de amostras

Country Status (13)

Country Link
US (14) US10621614B2 (pt)
EP (5) EP3490257B1 (pt)
JP (9) JP5718453B2 (pt)
KR (13) KR101549644B1 (pt)
CN (12) CN106101700B (pt)
BR (4) BR122020007916B1 (pt)
DK (1) DK2559246T3 (pt)
ES (1) ES2590686T3 (pt)
HU (1) HUE030688T2 (pt)
PL (2) PL2559246T3 (pt)
PT (1) PT2559246T (pt)
TW (13) TWI605706B (pt)
WO (1) WO2011128366A1 (pt)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK2559005T3 (en) 2010-04-13 2015-11-23 Ge Video Compression Llc Inheritance at sample array multitræsunderinddeling
CN106231324B (zh) 2010-04-13 2019-11-05 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
KR101549644B1 (ko) 2010-04-13 2015-09-03 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
BR112012026400B1 (pt) 2010-04-13 2021-08-10 Ge Video Compression, Ll Predição inter-plano
KR101791242B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
KR101791078B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
JP2011259093A (ja) * 2010-06-07 2011-12-22 Sony Corp 画像復号化装置と画像符号化装置およびその方法とプログラム
KR101484281B1 (ko) * 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
EP2858366B1 (en) 2010-07-09 2017-02-01 Samsung Electronics Co., Ltd Method for decoding video by using block merging
CN106937124B (zh) * 2010-10-28 2020-01-10 韩国电子通信研究院 视频解码设备
EP2719176B1 (en) * 2011-06-13 2021-07-07 Dolby Laboratories Licensing Corporation Visual display resolution prediction based on fused regions
KR101678347B1 (ko) * 2011-06-20 2016-11-21 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램, 또한 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
CN102291583A (zh) * 2011-09-29 2011-12-21 中航华东光电有限公司 一种图像编码装置及其图像编码方法
US9807401B2 (en) * 2011-11-01 2017-10-31 Qualcomm Incorporated Transform unit partitioning for chroma components in video coding
EP2597872A3 (en) * 2011-11-23 2013-12-25 Humax Co., Ltd. Methods for encoding/decoding of video using common merging candidate set of asymmetric partitions
KR101909544B1 (ko) * 2012-01-19 2018-10-18 삼성전자주식회사 평면 검출 장치 및 방법
US9866829B2 (en) 2012-01-22 2018-01-09 Qualcomm Incorporated Coding of syntax elements that correspond to coefficients of a coefficient block in video coding
EP2629156B1 (en) * 2012-01-27 2024-04-17 Samsung Electronics Co., Ltd. Image processing apparatus and method
CN103389879B (zh) 2012-05-10 2016-08-17 慧荣科技股份有限公司 电子装置以及由电子装置传送数据至显示设备的方法
GB2505408A (en) * 2012-08-24 2014-03-05 British Broadcasting Corp Video Encoding and Decoding with Chrominance Sub-sampling
US9332266B2 (en) * 2012-08-24 2016-05-03 Industrial Technology Research Institute Method for prediction in image encoding and image encoding apparatus applying the same
TW201419862A (zh) * 2012-11-13 2014-05-16 Hon Hai Prec Ind Co Ltd 影像切割系統及方法
TW201419865A (zh) * 2012-11-13 2014-05-16 Hon Hai Prec Ind Co Ltd 影像切割系統及方法
TW201419863A (zh) * 2012-11-13 2014-05-16 Hon Hai Prec Ind Co Ltd 影像切割系統及方法
JP5719401B2 (ja) * 2013-04-02 2015-05-20 日本電信電話株式会社 ブロックサイズ決定方法、映像符号化装置、及びプログラム
EP2983360A4 (en) * 2013-04-05 2016-11-16 Mitsubishi Electric Corp COLOR IMAGE DEVICE, COLOR IMAGE DECODER, COLOR IMAGE PROCESS AND COLOR IMAGE DECODING METHOD
US9686561B2 (en) * 2013-06-17 2017-06-20 Qualcomm Incorporated Inter-component filtering
US9716899B2 (en) 2013-06-27 2017-07-25 Qualcomm Incorporated Depth oriented inter-view motion vector prediction
US20150063455A1 (en) * 2013-09-02 2015-03-05 Humax Holdings Co., Ltd. Methods and apparatuses for predicting depth quadtree in three-dimensional video
US20150089374A1 (en) * 2013-09-20 2015-03-26 Cyan Inc. Network visualization system and method
US10075266B2 (en) * 2013-10-09 2018-09-11 Qualcomm Incorporated Data transmission scheme with unequal code block sizes
US20150103883A1 (en) * 2013-10-11 2015-04-16 Mediatek Inc. Method and apparatus for fast intra prediction
EP3058730B8 (en) 2013-10-18 2021-03-10 GE Video Compression, LLC Multi-component picture or video coding concept
US20150189269A1 (en) * 2013-12-30 2015-07-02 Google Inc. Recursive block partitioning
WO2015169207A1 (en) * 2014-05-05 2015-11-12 Mediatek Singapore Pte. Ltd. Method and apparatus for determining residue transform tree representation
CN112087630B (zh) * 2014-09-30 2022-04-08 华为技术有限公司 图像预测方法、装置、解码器及存储介质
CN105828080B (zh) * 2015-01-26 2020-02-14 同济大学 图像编解码方法及装置
CN109005407B (zh) 2015-05-15 2023-09-01 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备
CN106358042B (zh) * 2015-07-17 2020-10-09 恩智浦美国有限公司 使用视频图像的帧间预测的并行解码器
WO2017052000A1 (ko) * 2015-09-24 2017-03-30 엘지전자 주식회사 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치
CN105357530B (zh) * 2015-10-16 2018-06-19 广州市百果园网络科技有限公司 一种预测编码的方法及装置
US10972731B2 (en) * 2015-11-10 2021-04-06 Interdigital Madison Patent Holdings, Sas Systems and methods for coding in super-block based video coding framework
US10306258B2 (en) * 2016-01-29 2019-05-28 Google Llc Last frame motion vector partitioning
US10469841B2 (en) 2016-01-29 2019-11-05 Google Llc Motion vector prediction using prior frame residual
KR102373060B1 (ko) * 2016-02-09 2022-03-11 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 효율적인 감소성 또는 효율적인 랜덤 액세스를 허용하는 픽처/비디오 데이터 스트림들에 대한 개념
US10609423B2 (en) * 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
US10110914B1 (en) * 2016-09-15 2018-10-23 Google Llc Locally adaptive warped motion compensation in video coding
WO2018131986A1 (ko) * 2017-01-16 2018-07-19 세종대학교 산학협력단 영상의 부호화/복호화 방법 및 장치
EP3358754A1 (en) * 2017-02-02 2018-08-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Antenna array codebook with beamforming coefficients adapted to an arbitrary antenna response of the antenna array
US10430104B2 (en) 2017-05-08 2019-10-01 International Business Machines Corporation Distributing data by successive spatial partitionings
KR20200044967A (ko) * 2017-09-18 2020-04-29 인텔렉추얼디스커버리 주식회사 블록 분할에 따른 병합 후보 리스트를 사용하는 비디오 코딩 방법 및 장치
ES2926517T3 (es) 2018-01-12 2022-10-26 Guangdong Oppo Mobile Telecommunications Corp Ltd Método y dispositivo de transmisión de información
EP3742403A4 (en) * 2018-01-19 2021-03-17 Panasonic Intellectual Property Corporation of America METHOD FOR CODING THREE-DIMENSIONAL DATA, METHOD FOR DECODING THREE-DIMENSIONAL DATA, DEVICE FOR CODING THREE-DIMENSIONAL DATA AND DEVICE FOR DECODING THREE-DIMENSIONAL DATA
KR102306884B1 (ko) * 2018-03-29 2021-09-30 닛폰 호소 교카이 화상 부호화 장치, 화상 복호 장치 및 프로그램
EP3780616B1 (en) * 2018-04-13 2024-03-06 LG Electronics Inc. Method and apparatus for inter prediction in video processing system
US11128871B2 (en) * 2018-04-25 2021-09-21 Panasonic Intellectual Property Corporation Of America Encoder for adaptively determining information related to splitting based on characteristics of neighboring samples
US10593097B2 (en) 2018-05-08 2020-03-17 Qualcomm Technologies, Inc. Distributed graphics processing
CN109035267B (zh) * 2018-06-22 2021-07-27 华东师范大学 一种基于深度学习的图像目标抠取方法
US11695967B2 (en) * 2018-06-22 2023-07-04 Op Solutions, Llc Block level geometric partitioning
CA3104630A1 (en) 2018-06-27 2020-01-02 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
EP3588800A1 (en) 2018-06-29 2020-01-01 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Antenna array codebook with beamforming coefficients adapted to an arbitrary antenna response of the antenna array
JP2020065143A (ja) * 2018-10-16 2020-04-23 セイコーエプソン株式会社 画像処理装置、画像処理装置の制御方法、及び表示装置
KR20210087450A (ko) 2018-11-06 2021-07-12 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 기하학적 파티션을 이용한 인터 예측을 위한 사이드 정보 시그널링
WO2020140862A1 (en) 2018-12-30 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Conditional application of inter prediction with geometric partitioning in video processing
US11956427B2 (en) 2019-03-21 2024-04-09 Sk Telecom Co., Ltd. Method of restoration in subblock units, and video decoding apparatus
EP3967035A4 (en) * 2019-05-10 2023-01-25 Beijing Dajia Internet Information Technology Co., Ltd. TRIANGLE PREDICTION VIDEO CODING METHODS AND APPARATUS
CN110533454B (zh) * 2019-07-24 2023-07-07 创新先进技术有限公司 一种识别业务对象群体的方法及系统
WO2021072375A1 (en) * 2019-10-10 2021-04-15 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatuses for video coding using triangle partition
WO2021136821A1 (en) * 2019-12-30 2021-07-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoding and decoding of color components in pictures
CN115486082A (zh) * 2020-04-27 2022-12-16 字节跳动有限公司 视频编解码中的虚拟边界
KR20230033954A (ko) 2021-09-02 2023-03-09 심준원 감염병 유행시 전자출입명부기록용 nfc태그를 사용한 전자출입명부카드와 전자출입명부카드 리더기

Family Cites Families (266)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2633468B1 (fr) 1988-06-24 1990-11-09 France Etat Procede de codage de donnees d'assistance a la reconstruction d'images electroniques animees sous-echantillonnees
US5603012A (en) 1992-06-30 1997-02-11 Discovision Associates Start code detector
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US5809270A (en) 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US6408097B1 (en) 1993-08-30 2002-06-18 Sony Corporation Picture coding apparatus and method thereof
US5446806A (en) 1993-11-15 1995-08-29 National Semiconductor Corporation Quadtree-structured Walsh transform video/image coding
CA2145363C (en) 1994-03-24 1999-07-13 Anthony Mark Jones Ram interface
DE69527525T2 (de) 1995-08-21 2003-04-03 Alcatel Sa Verfahren zur Schachtelung von Datenrahmen, Übertragungsfehlerkorrekturanordnung und Modulator damit
CA2233023A1 (en) 1995-09-25 1997-04-03 Edward A. Taft Optimum access to electronic documents
JPH10511532A (ja) * 1995-10-18 1998-11-04 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ ビデオ画像符号化方法
WO1997017797A2 (en) 1995-10-25 1997-05-15 Sarnoff Corporation Apparatus and method for quadtree based variable block size motion estimation
TW346571B (en) 1996-02-06 1998-12-01 Matsushita Electric Ind Co Ltd Data reception apparatus, data transmission apparatus, information processing system, data reception method
US6005981A (en) 1996-04-11 1999-12-21 National Semiconductor Corporation Quadtree-structured coding of color images and intra-coded images
DE19615493A1 (de) * 1996-04-19 1997-10-23 Philips Patentverwaltung Verfahren zur Bildsegmentierung
CN100521787C (zh) 1996-05-28 2009-07-29 松下电器产业株式会社 图像预测编码方法
US6639945B2 (en) * 1997-03-14 2003-10-28 Microsoft Corporation Method and apparatus for implementing motion detection in video compression
US6057884A (en) 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
US6269192B1 (en) 1997-07-11 2001-07-31 Sarnoff Corporation Apparatus and method for multiscale zerotree entropy encoding
CN1882093B (zh) 1998-03-10 2011-01-12 索尼公司 利用编码历史信息的编码转换系统
US6067574A (en) 1998-05-18 2000-05-23 Lucent Technologies Inc High speed routing using compressed tree process
US6269175B1 (en) 1998-08-28 2001-07-31 Sarnoff Corporation Method and apparatus for enhancing regions of aligned images using flow estimation
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US7085319B2 (en) 1999-04-17 2006-08-01 Pts Corporation Segment-based encoding system using segment hierarchies
JP2000350207A (ja) 1999-06-08 2000-12-15 Matsushita Electric Ind Co Ltd 低解像度ビデオ復号化のための一般化直交変換方法および装置
FI116992B (fi) 1999-07-05 2006-04-28 Nokia Corp Menetelmät, järjestelmä ja laitteet audiosignaalin koodauksen ja siirron tehostamiseksi
KR20020064888A (ko) 1999-10-22 2002-08-10 액티브스카이 인코포레이티드 객체 지향형 비디오 시스템
JP3957937B2 (ja) 1999-12-21 2007-08-15 キヤノン株式会社 画像処理装置及び方法並びに記憶媒体
EP1409959A2 (en) 1999-12-22 2004-04-21 Honeywell International Inc. Method, apparatus and computer program product for estimating airplane attitude with reduced sensor set
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
CN1193620C (zh) 2000-01-21 2005-03-16 诺基亚有限公司 视频编码器的运动估计方法及系统
US6502920B1 (en) 2000-02-04 2003-01-07 Lexmark International, Inc Ink jet print head having offset nozzle arrays
US6910001B2 (en) 2000-03-22 2005-06-21 Schlumberger Technology Corp. Distributed multiresolution geometry modeling system and method
US6785423B1 (en) 2000-05-26 2004-08-31 Eastman Kodak Company Producing a compressed digital image organized into layers having information relating to different viewing conditions and resolutions
CN1383684A (zh) 2000-06-14 2002-12-04 皇家菲利浦电子有限公司 彩色视频编码与解码方法
WO2002009438A2 (en) 2000-07-25 2002-01-31 Koninklijke Philips Electronics N.V. Video encoding method using a wavelet decomposition
AUPR063400A0 (en) 2000-10-06 2000-11-02 Canon Kabushiki Kaisha Xml encoding scheme
US7450641B2 (en) 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
US7929610B2 (en) 2001-03-26 2011-04-19 Sharp Kabushiki Kaisha Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
JP2003018602A (ja) 2001-04-24 2003-01-17 Monolith Co Ltd 画像データ符号化および復号のための方法および装置
US6987866B2 (en) * 2001-06-05 2006-01-17 Micron Technology, Inc. Multi-modal motion estimation for video sequences
US7483581B2 (en) 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
JP2003018604A (ja) 2001-07-04 2003-01-17 Matsushita Electric Ind Co Ltd 画像信号符号化方法、画像信号符号化装置および記録媒体
JPWO2003026315A1 (ja) 2001-09-14 2005-01-06 株式会社エヌ・ティ・ティ・ドコモ 符号化方法、復号方法、符号化装置、復号装置、画像処理システム、符号化プログラム及び復号プログラム
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
DE60236191D1 (de) 2001-10-16 2010-06-10 Koninkl Philips Electronics Nv Videokodierungsverfahren und entsprechendes übertragbares videosignal
EP1445957A4 (en) 2001-11-16 2009-05-06 Ntt Docomo Inc IMAGE ENCODING METHOD, IMAGE DECODING METHOD, ENCODER AND IMAGE DECODER, PROGRAM, COMPUTER DATA SIGNAL, AND IMAGE TRANSMISSION SYSTEM
RU2237284C2 (ru) 2001-11-27 2004-09-27 Самсунг Электроникс Ко., Лтд. Способ генерирования структуры узлов, предназначенных для представления трехмерных объектов с использованием изображений с глубиной
US7295609B2 (en) 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
EP1324615A1 (en) * 2001-12-28 2003-07-02 Deutsche Thomson-Brandt Gmbh Transcoding MPEG bitstreams for adding sub-picture content
KR20030065606A (ko) 2002-01-30 2003-08-09 양송철 개인 자동독립코드를 이용한 멀티트리구조의 보너스 적립순환 시스템과 그 방법
CN101127899B (zh) 2002-04-12 2015-04-01 三菱电机株式会社 提示信息描述方法
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
US20030198290A1 (en) 2002-04-19 2003-10-23 Dynamic Digital Depth Pty.Ltd. Image encoding system
US7433526B2 (en) * 2002-04-30 2008-10-07 Hewlett-Packard Development Company, L.P. Method for compressing images and image sequences through adaptive partitioning
EP1427216A1 (en) 2002-07-02 2004-06-09 Matsushita Electric Industrial Co., Ltd. Image encoding method and image decoding method
US7154952B2 (en) * 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US6975773B1 (en) 2002-07-30 2005-12-13 Qualcomm, Incorporated Parameter selection in data compression and decompression
JP3950777B2 (ja) 2002-09-30 2007-08-01 キヤノン株式会社 画像処理方法、画像処理装置および画像処理プログラム
US7266247B2 (en) 2002-09-30 2007-09-04 Samsung Electronics Co., Ltd. Image coding method and apparatus using spatial predictive coding of chrominance and image decoding method and apparatus
JP2004135252A (ja) 2002-10-09 2004-04-30 Sony Corp 符号化処理方法、符号化装置及び復号化装置
US7254533B1 (en) 2002-10-17 2007-08-07 Dilithium Networks Pty Ltd. Method and apparatus for a thin CELP voice codec
EP1431919B1 (en) * 2002-12-05 2010-03-03 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding three-dimensional object data by using octrees
WO2004080084A1 (en) 2003-03-03 2004-09-16 Agency For Science, Technology And Research Fast mode decision algorithm for intra prediction for advanced video coding
US7366352B2 (en) * 2003-03-20 2008-04-29 International Business Machines Corporation Method and apparatus for performing fast closest match in pattern recognition
US7643558B2 (en) * 2003-03-24 2010-01-05 Qualcomm Incorporated Method, apparatus, and system for encoding and decoding side information for multimedia transmission
GB2454195A (en) * 2007-10-30 2009-05-06 Sony Corp Address generation polynomial and permutation matrix for DVB-T2 16k OFDM sub-carrier mode interleaver
CN100399357C (zh) 2003-03-28 2008-07-02 数字加速器公司 用于视频压缩的基于超完备基变换的运动残余帧编码方法和装置
HUP0301368A3 (en) 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
EP1507415A3 (en) 2003-07-16 2005-05-04 Samsung Electronics Co., Ltd. Video encoding/decoding apparatus and method for color image
US7333544B2 (en) 2003-07-16 2008-02-19 Samsung Electronics Co., Ltd. Lossless image encoding/decoding method and apparatus using inter-color plane prediction
US7010044B2 (en) 2003-07-18 2006-03-07 Lsi Logic Corporation Intra 4×4 modes 3, 7 and 8 availability determination intra estimation and compensation
FR2858741A1 (fr) 2003-08-07 2005-02-11 Thomson Licensing Sa Dispositif et procede de compression d'images numeriques
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
CN1322472C (zh) 2003-09-08 2007-06-20 中国人民解放军第一军医大学 基于小波变换的预测四叉树图像压缩及解压方法
WO2005041420A1 (ja) 2003-10-29 2005-05-06 Nec Corporation 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置
KR20050045746A (ko) 2003-11-12 2005-05-17 삼성전자주식회사 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
DE602004017689D1 (de) 2003-11-21 2008-12-24 Samsung Electronics Co Ltd Vorrichtung und Methode zur Erzeugung von kodierten Blockanordnungen für ein Alpha-Kanalbild sowie Alpha-Kanalkodierungs und -dekodierungsvorrichtung und -methode.
US7418455B2 (en) 2003-11-26 2008-08-26 International Business Machines Corporation System and method for indexing weighted-sequences in large databases
KR100556911B1 (ko) 2003-12-05 2006-03-03 엘지전자 주식회사 무선 동영상 스트리밍 서비스를 위한 동영상 데이터의 구조
US7362809B2 (en) 2003-12-10 2008-04-22 Lsi Logic Corporation Computational reduction in motion estimation based on lower bound of cost function
US7599435B2 (en) 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7649539B2 (en) * 2004-03-10 2010-01-19 Microsoft Corporation Image formats for video capture, processing and display
US20050206741A1 (en) 2004-03-19 2005-09-22 Raber Gregory W Law enforcement vehicle surveillance system
CN1691087B (zh) 2004-04-26 2011-07-06 图形安全系统公司 用于解码数字编码图像的系统和方法
PL2207183T3 (pl) 2004-04-28 2012-09-28 Panasonic Corp Urządzenie do generowania strumienia ruchomego obrazu, urządzenie do kodowania ruchomego obrazu, urządzenie do multipleksowania ruchomego obrazu oraz urządzenie do dekodowania ruchomego obrazu
CN1281065C (zh) 2004-05-20 2006-10-18 复旦大学 基于树状结构的等级树集合划分视频图像压缩方法
US20070230574A1 (en) 2004-05-25 2007-10-04 Koninklijke Philips Electronics N.C. Method and Device for Encoding Digital Video Data
US20060002474A1 (en) 2004-06-26 2006-01-05 Oscar Chi-Lim Au Efficient multi-block motion estimation for video compression
CN1750656B (zh) * 2004-06-27 2012-04-18 苹果公司 编码和解码图像
US7292257B2 (en) 2004-06-28 2007-11-06 Microsoft Corporation Interactive viewpoint video system and process
CN1268136C (zh) 2004-07-02 2006-08-02 上海广电(集团)有限公司中央研究院 基于图像切片结构的帧场自适应编码方法
KR100657268B1 (ko) 2004-07-15 2006-12-14 학교법인 대양학원 컬러 영상의 신축적 부호화, 복호화 방법 및 장치
CN101124589A (zh) 2004-08-09 2008-02-13 图形安全系统公司 通过使用多级图像编码和解码来认证对象的系统和方法
CN1589022A (zh) 2004-08-26 2005-03-02 中芯联合(北京)微电子有限公司 多模式运动估计中由朝向树决定的宏块分割模式选择方法
DE102004059978B4 (de) 2004-10-15 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein computerlesbares Medium
CN101416149A (zh) 2004-10-21 2009-04-22 索尼电子有限公司 以高级视频编解码器文件格式支持保真度范围扩展
CN1780278A (zh) 2004-11-19 2006-05-31 松下电器产业株式会社 子载波通信系统中自适应调制与编码方法和设备
US20060120454A1 (en) 2004-11-29 2006-06-08 Park Seung W Method and apparatus for encoding/decoding video signal using motion vectors of pictures in base layer
CN101073265B (zh) * 2004-12-03 2012-08-22 汤姆森许可贸易公司 可缩放视频编码方法
KR100703734B1 (ko) 2004-12-03 2007-04-05 삼성전자주식회사 Dct 업샘플링을 이용한 다 계층 비디오 인코딩/디코딩방법 및 장치
US7970219B2 (en) 2004-12-30 2011-06-28 Samsung Electronics Co., Ltd. Color image encoding and decoding method and apparatus using a correlation between chrominance components
KR101138392B1 (ko) 2004-12-30 2012-04-26 삼성전자주식회사 색차 성분의 상관관계를 이용한 컬러 영상의 부호화,복호화 방법 및 그 장치
US20060153300A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
US20060153295A1 (en) 2005-01-12 2006-07-13 Nokia Corporation Method and system for inter-layer prediction mode coding in scalable video coding
EP1894412A1 (en) 2005-02-18 2008-03-05 THOMSON Licensing Method for deriving coding information for high resolution images from low resoluton images and coding and decoding devices implementing said method
CN101213840B (zh) * 2005-02-18 2011-02-02 汤姆森许可贸易公司 从低分辨率图像导出高分辨率图像的编码信息的方法以及实现该方法的编码和解码设备
JP4504230B2 (ja) * 2005-03-02 2010-07-14 株式会社東芝 動画像処理装置、動画像処理方法、及び動画像処理プログラム
TWI259727B (en) * 2005-03-09 2006-08-01 Sunplus Technology Co Ltd Method for rapidly determining macroblock mode
US7961963B2 (en) 2005-03-18 2011-06-14 Sharp Laboratories Of America, Inc. Methods and systems for extended spatial scalability with picture-level adaptation
EP1711018A1 (en) 2005-04-08 2006-10-11 Thomson Licensing Method and apparatus for encoding video pictures, and method and apparatus for decoding video pictures
US20060233262A1 (en) 2005-04-13 2006-10-19 Nokia Corporation Signaling of bit stream ordering in scalable video coding
KR101246915B1 (ko) 2005-04-18 2013-03-25 삼성전자주식회사 동영상 부호화 또는 복호화 방법 및 장치
KR100746007B1 (ko) * 2005-04-19 2007-08-06 삼성전자주식회사 엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더
KR100763181B1 (ko) * 2005-04-19 2007-10-05 삼성전자주식회사 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
JP2008544766A (ja) 2005-05-12 2008-12-11 ブラッコ イメージング エス.ピー.エー. デジタル画像のピクセルまたはボクセルをコーディングするための方法、およびデジタル画像を処理するための方法
US7548853B2 (en) 2005-06-17 2009-06-16 Shmunk Dmitry V Scalable compressed audio bit stream and codec using a hierarchical filterbank and multichannel joint coding
CN101213842A (zh) 2005-06-29 2008-07-02 诺基亚公司 用于使用运动补偿时域滤波的视频编码中的更新步骤的方法和装置
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
JP4444180B2 (ja) 2005-07-20 2010-03-31 株式会社東芝 テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム
KR20070012201A (ko) 2005-07-21 2007-01-25 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
MX2008000906A (es) 2005-07-21 2008-03-18 Thomson Licensing Metodo y aparato para la prediccion ponderada para la codificacion escalable de video.
CA2610276C (en) 2005-07-22 2013-01-29 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US8879856B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
US8625678B2 (en) 2005-09-29 2014-01-07 Telecom Italia S.P.A. Method for scalable video coding on a plurality of space resolution levels
CN101288311B (zh) 2005-10-12 2011-05-11 汤姆森特许公司 用于可分级视频编码和解码中的加权预测的方法和装置
KR100763196B1 (ko) 2005-10-19 2007-10-04 삼성전자주식회사 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치
MY159176A (en) * 2005-10-19 2016-12-30 Thomson Licensing Multi-view video coding using scalable video coding
JP2007135252A (ja) 2005-11-08 2007-05-31 Hitachi Ltd 電力変換装置
KR100873636B1 (ko) 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
CN101120584B (zh) 2005-11-18 2011-04-20 索尼株式会社 编码装置和方法、解码装置和方法、以及传输系统
KR100717055B1 (ko) * 2005-11-18 2007-05-10 삼성전자주식회사 Cabac 복호기에서 복수의 이진 값들을 파이프라인방식에 의하여 복호화하는 방법 및 이를 위한 복호화 장치
GB0600141D0 (en) 2006-01-05 2006-02-15 British Broadcasting Corp Scalable coding of video signals
WO2007077116A1 (en) 2006-01-05 2007-07-12 Thomson Licensing Inter-layer motion prediction method
US8792554B2 (en) 2006-01-09 2014-07-29 Lg Electronics Inc. Inter-layer prediction method for video signal
KR20070074452A (ko) 2006-01-09 2007-07-12 엘지전자 주식회사 영상신호의 엔코딩/디코딩시의 레이어간 예측 방법
US8315308B2 (en) 2006-01-11 2012-11-20 Qualcomm Incorporated Video coding with fine granularity spatial scalability
US8861585B2 (en) 2006-01-20 2014-10-14 Qualcomm Incorporated Method and apparatus for error resilience algorithms in wireless video communication
US7929608B2 (en) 2006-03-28 2011-04-19 Sony Corporation Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder
US8234537B2 (en) 2006-03-31 2012-07-31 Intel Corporation Layered decoder and method for performing layered decoding
US7916934B2 (en) 2006-04-04 2011-03-29 Mitsubishi Electric Research Laboratories, Inc. Method and system for acquiring, encoding, decoding and displaying 3D light fields
CN101047733B (zh) 2006-06-16 2010-09-29 华为技术有限公司 短信处理方法以及装置
CN101502119B (zh) 2006-08-02 2012-05-23 汤姆逊许可公司 用于视频编码的自适应几何分割方法和设备
US20080086545A1 (en) 2006-08-16 2008-04-10 Motorola, Inc. Network configuration using configuration parameter inheritance
EP2055108B1 (en) 2006-08-25 2011-04-20 Thomson Licensing Methods and apparatus for reduced resolution partitioning
US8428144B2 (en) 2006-09-07 2013-04-23 Lg Electronics Inc. Method and apparatus for decoding/encoding of a video signal
CN100471275C (zh) 2006-09-08 2009-03-18 清华大学 用于h.264/avc编码器的运动估计方法
CN100486336C (zh) * 2006-09-21 2009-05-06 上海大学 基于h.264压缩域运动对象实时分割方法
WO2008044511A1 (en) 2006-10-12 2008-04-17 Kabushiki Kaisha Toshiba Method and apparatus for encoding image
US9014280B2 (en) 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction
JP5134001B2 (ja) 2006-10-18 2013-01-30 アップル インコーポレイテッド 下層のフィルタリングを備えたスケーラブルビデオ符号化
US7775002B2 (en) * 2006-11-10 2010-08-17 John Puchniak Portable hurricane and security window barrier
CN101401430B (zh) 2006-11-17 2012-02-29 Lg电子株式会社 用于解码/编码视频信号的方法及装置
EP1933564A1 (en) 2006-12-14 2008-06-18 Thomson Licensing Method and apparatus for encoding and/or decoding video data using adaptive prediction order for spatial and bit depth prediction
BRPI0721077A2 (pt) 2006-12-28 2014-07-01 Nippon Telegraph & Telephone Método de codificação e método de decodificação de vídeo, aparelhos para os mesmos, programas para os mesmos, e meio de armazenamento o qual armazena os programas
RU2426267C2 (ru) * 2007-01-08 2011-08-10 Нокиа Корпорейшн Усовершенствованное межуровневое предсказание для расширенной пространственной масштабируемости при кодировании видеосигнала
US8787457B2 (en) 2007-01-11 2014-07-22 Thomson Licensing Methods and apparatus for using syntax for the coded—block—flag syntax element and the code—block—pattern syntax element for the CAVLC 4:4:4 intra, high 4:4:4 intra, and high 4:4:4 predictive profiles in MPEG-4 AVC high level coding
CN101222641B (zh) 2007-01-11 2011-08-24 华为技术有限公司 帧内预测编解码方法及其装置
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
US20080170793A1 (en) 2007-01-12 2008-07-17 Mitsubishi Electric Corporation Image encoding device and image encoding method
JP5026092B2 (ja) 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
CN101018333A (zh) 2007-02-09 2007-08-15 上海大学 空域可分级信噪比精细可分级视频编码方法
JP2010135863A (ja) * 2007-03-28 2010-06-17 Toshiba Corp 画像符号化方法及び装置
EP2140684B1 (en) * 2007-04-12 2018-08-15 Thomson Licensing DTV Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding
KR20080093386A (ko) 2007-04-16 2008-10-21 한국전자통신연구원 컬러 동영상 신축 부호화와 복호화 방법 및 그 장치
TW200845723A (en) 2007-04-23 2008-11-16 Thomson Licensing Method and apparatus for encoding video data, method and apparatus for decoding encoded video data and encoded video signal
US20090165041A1 (en) * 2007-12-21 2009-06-25 Penberthy John S System and Method for Providing Interactive Content with Video Content
CN100515087C (zh) 2007-05-30 2009-07-15 威盛电子股份有限公司 决定二相邻的宏区块是否位于相同条带区域的方法和装置
KR100906243B1 (ko) 2007-06-04 2009-07-07 전자부품연구원 Rgb 색 공간 신호의 영상 부호화 방법
CN100496129C (zh) 2007-06-05 2009-06-03 南京大学 基于h.264多路视频转码复用的方法
CN101321283B (zh) 2007-06-10 2010-04-07 华为技术有限公司 兼容不同大小块变换的编解码方法及编解码器
JP2008311781A (ja) 2007-06-12 2008-12-25 Ntt Docomo Inc 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
CN101682763B (zh) * 2007-06-12 2013-09-11 汤姆森许可贸易公司 支持针对片数据的多通路视频语法结构的方法和设备
JP4551948B2 (ja) 2007-06-13 2010-09-29 シャープ株式会社 線状光源装置、面発光装置、面状光源装置、および、液晶表示装置
CN101325714B (zh) 2007-06-13 2010-10-27 华为技术有限公司 变换数据处理方法和装置以及编码、解码方法和装置
JP5467651B2 (ja) 2007-06-14 2014-04-09 トムソン ライセンシング 符号化ビット・ストリームの修正
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8085852B2 (en) 2007-06-26 2011-12-27 Mitsubishi Electric Research Laboratories, Inc. Inverse tone mapping for bit-depth scalable image coding
US8145002B2 (en) * 2007-06-28 2012-03-27 Mitsubishi Electric Corporation Image encoding device and image encoding method
CN100534186C (zh) 2007-07-05 2009-08-26 西安电子科技大学 基于码率预分配的jpeg2000自适应率控制系统及方法
US8458612B2 (en) * 2007-07-29 2013-06-04 Hewlett-Packard Development Company, L.P. Application management framework for web applications
TWI338869B (en) 2007-08-03 2011-03-11 Via Tech Inc Method and apparatus for block-based digital encoded picture
CN101119493B (zh) 2007-08-30 2010-12-01 威盛电子股份有限公司 区块式数字编码图像的译码方法及装置
KR20090030681A (ko) 2007-09-20 2009-03-25 삼성전자주식회사 영상처리장치, 디스플레이장치, 디스플레이 시스템 및 그제어방법
JP4461165B2 (ja) * 2007-09-26 2010-05-12 株式会社東芝 画像処理装置、方法およびプログラム
WO2009041843A1 (en) 2007-09-28 2009-04-02 Vsevolod Yurievich Mokrushin Method of encoding digital signals (variants), method of decoding digital signals (variants), device for implementation thereof (variants), and system for image transmission via limited throughput communication channels (variants)
KR101403343B1 (ko) 2007-10-04 2014-06-09 삼성전자주식회사 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치
JP2011501508A (ja) 2007-10-12 2011-01-06 トムソン ライセンシング 幾何学分割された双方向予測モードパーティションのビデオエンコーディング及びデコーディングのための方法及び装置
US7777654B2 (en) * 2007-10-16 2010-08-17 Industrial Technology Research Institute System and method for context-based adaptive binary arithematic encoding and decoding
KR101681443B1 (ko) 2007-10-16 2016-11-30 톰슨 라이센싱 기하학적으로 분할된 수퍼 블록들의 비디오 인코딩 및 디코딩 방법 및 장치
CN101415149B (zh) 2007-10-19 2010-12-08 华为技术有限公司 一种bc业务改进的方法和设备
CN101676744B (zh) 2007-10-31 2012-07-11 北京航空航天大学 一种复杂背景低信噪比下弱小目标高精度跟踪方法
US8270472B2 (en) 2007-11-09 2012-09-18 Thomson Licensing Methods and apparatus for adaptive reference filtering (ARF) of bi-predictive pictures in multi-view coded video
US8553781B2 (en) 2007-12-07 2013-10-08 Thomson Licensing Methods and apparatus for decoded picture buffer (DPB) management in single loop decoding for multi-view video
US8540158B2 (en) 2007-12-12 2013-09-24 Yiwu Lei Document verification using dynamic document identification framework
US20090154567A1 (en) * 2007-12-13 2009-06-18 Shaw-Min Lei In-loop fidelity enhancement for video compression
US8531610B2 (en) 2007-12-28 2013-09-10 Entropic Communications, Inc. Arrangement and approach for image data processing
US8126054B2 (en) 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
CN101911700A (zh) 2008-01-11 2010-12-08 汤姆逊许可证公司 视频和深度编码
US8155184B2 (en) 2008-01-16 2012-04-10 Sony Corporation Video coding system using texture analysis and synthesis in a scalable coding framework
ATE524927T1 (de) 2008-01-21 2011-09-15 Ericsson Telefon Ab L M Auf prädiktion basierende bildverarbeitung
WO2009092454A1 (en) 2008-01-21 2009-07-30 Telefonaktiebolaget Lm Ericsson (Publ) Prediction-based image processing
KR101291196B1 (ko) 2008-01-25 2013-07-31 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8711948B2 (en) 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US20100220469A1 (en) 2008-05-23 2010-09-02 Altair Engineering, Inc. D-shaped cross section l.e.d. based light
TWI373959B (en) 2008-06-09 2012-10-01 Kun Shan University Of Technology Wavelet codec with a function of adjustable image quality
KR101517768B1 (ko) 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20100018810A (ko) 2008-08-07 2010-02-18 전자부품연구원 초고화질 영상 부호화, 복호화 방법 및 장치 및 컴퓨터로판독가능한 기록매체
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
EP2161936A1 (en) 2008-09-04 2010-03-10 Panasonic Corporation Locally adaptive filters for video coding controlled by local correlation data
US8750379B2 (en) 2008-09-11 2014-06-10 General Instrument Corporation Method and apparatus for complexity-scalable motion estimation
JP5422168B2 (ja) 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
US7837355B2 (en) 2008-09-30 2010-11-23 Disney Enterprises, Inc. Kinetic flame device
US8634456B2 (en) 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US20100086031A1 (en) 2008-10-03 2010-04-08 Qualcomm Incorporated Video coding with large macroblocks
US8619856B2 (en) 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
CN101404774B (zh) 2008-11-13 2010-06-23 四川虹微技术有限公司 运动搜索中宏块划分模式的选择方法
JP5394212B2 (ja) 2008-12-19 2014-01-22 トムソン ライセンシング データを挿入する方法、挿入されたデータを読み出す方法
JP5001964B2 (ja) 2009-02-18 2012-08-15 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
CN101493890B (zh) * 2009-02-26 2011-05-11 上海交通大学 基于特征的动态视觉注意区域提取方法
WO2010131903A2 (en) 2009-05-12 2010-11-18 Lg Electronics Inc. Method and apparatus for processing a video signal
US8810562B2 (en) 2009-05-19 2014-08-19 Advanced Micro Devices, Inc. Hierarchical lossless compression
US8306355B2 (en) 2009-07-13 2012-11-06 Sharp Laboratories Of America, Inc. Methods and systems for reducing compression artifacts
CN102612697B (zh) * 2009-07-21 2014-10-22 高通股份有限公司 用于视频图像的检测和增强的方法及系统
KR101456498B1 (ko) 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101624649B1 (ko) 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101452860B1 (ko) 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
CN102918840B (zh) 2009-10-01 2016-05-25 Sk电信有限公司 使用分割层进行图像编码/解码的方法和装置
KR101457418B1 (ko) 2009-10-23 2014-11-04 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US8594200B2 (en) 2009-11-11 2013-11-26 Mediatek Inc. Method of storing motion vector information and video decoding apparatus
JP5475409B2 (ja) 2009-11-20 2014-04-16 三菱電機株式会社 動画像符号化装置および動画像符号化方法
US20110122225A1 (en) 2009-11-23 2011-05-26 General Instrument Corporation Depth Coding as an Additional Channel to Video Sequence
US20110170608A1 (en) 2010-01-08 2011-07-14 Xun Shi Method and device for video transcoding using quad-tree based mode selection
US8315310B2 (en) 2010-01-08 2012-11-20 Research In Motion Limited Method and device for motion vector prediction in video transcoding using full resolution residuals
WO2011096770A2 (ko) 2010-02-02 2011-08-11 (주)휴맥스 영상 부호화/복호화 장치 및 방법
KR20110135471A (ko) 2010-06-11 2011-12-19 (주)휴맥스 블록 병합을 이용한 영상 부호화/복호화 장치 및 방법
US20110194613A1 (en) 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
KR101847072B1 (ko) * 2010-04-05 2018-04-09 삼성전자주식회사 영상 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101750046B1 (ko) * 2010-04-05 2017-06-22 삼성전자주식회사 트리 구조에 따른 부호화 단위에 기반한 인루프 필터링을 수반하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
KR101529992B1 (ko) 2010-04-05 2015-06-18 삼성전자주식회사 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치
US20110249743A1 (en) 2010-04-09 2011-10-13 Jie Zhao Super-block for high performance video coding
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
CN105933715B (zh) 2010-04-13 2019-04-12 Ge视频压缩有限责任公司 跨平面预测
KR101549644B1 (ko) 2010-04-13 2015-09-03 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
CN106028045B (zh) 2010-04-13 2019-06-25 Ge视频压缩有限责任公司 解码数据流的方法、生成数据流的方法及其解码器
CN106231324B (zh) 2010-04-13 2019-11-05 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
BR112012026400B1 (pt) 2010-04-13 2021-08-10 Ge Video Compression, Ll Predição inter-plano
DK2559005T3 (en) 2010-04-13 2015-11-23 Ge Video Compression Llc Inheritance at sample array multitræsunderinddeling
KR102405529B1 (ko) 2010-10-08 2022-06-08 지이 비디오 컴프레션, 엘엘씨 블록 분할 및 블록 병합을 지원하는 픽처 코딩
EP3962088B1 (en) 2010-11-04 2023-06-21 GE Video Compression, LLC Picture coding supporting block merging and skip mode
US20120170648A1 (en) 2011-01-05 2012-07-05 Qualcomm Incorporated Frame splitting in video coding
CN103119944B (zh) 2011-05-20 2017-04-12 太阳专利托管公司 用于使用色彩平面间预测对视频进行编码和解码的方法和装置
RU2642373C1 (ru) 2011-06-16 2018-01-24 ДжиИ Видео Компрешн, ЭлЭлСи Инициализация контекста при энтропийном кодировании
EP2898697A4 (en) 2012-09-24 2016-10-19 Qualcomm Inc CODING DEPTH CARD
KR102573801B1 (ko) 2013-04-08 2023-09-07 지이 비디오 컴프레션, 엘엘씨 성분-간 예측
US9264728B2 (en) 2014-01-10 2016-02-16 Sony Corporation Intra-plane and inter-plane predictive method for Bayer image coding
CN106660506B (zh) 2014-07-22 2019-08-16 奥托立夫开发公司 侧气囊装置
CN107409214B (zh) 2015-01-21 2021-02-02 三星电子株式会社 用于对层间视频进行解码的方法和设备以及用于对层间视频进行编码的方法和设备
CN106325631B (zh) * 2015-07-10 2023-03-07 宸鸿科技(厦门)有限公司 一种具有压力侦测的触控显示模组及其驱动方法
EP3563571A4 (en) 2016-12-30 2020-02-12 Telefonaktiebolaget LM Ericsson (publ) DECODED IMAGE BUFFER MEMORY MANAGEMENT FOR PROCESSING PREDICTION OF CROSS IMAGE DATA
CN117915081A (zh) 2019-01-02 2024-04-19 北京字节跳动网络技术有限公司 视频处理的方法
WO2020216176A1 (en) 2019-04-20 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Signaling of chroma syntax elements in video coding
BR112022003641A2 (pt) 2019-09-01 2022-05-24 Beijing Bytedance Network Tech Co Ltd Método e aparelho para processar dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios
WO2021197445A1 (en) 2020-04-01 2021-10-07 Beijing Bytedance Network Technology Co., Ltd. Constraints on adaptation parameter set syntax elements
US11770498B2 (en) 2020-09-29 2023-09-26 Lemon Inc. Supplemental enhancement information for multi-layer video streams

Also Published As

Publication number Publication date
PL3089450T3 (pl) 2023-01-09
CN106101700B (zh) 2019-08-13
CN106303523A (zh) 2017-01-04
EP3490257A1 (en) 2019-05-29
CN106303523B (zh) 2020-09-11
JP6909818B2 (ja) 2021-07-28
KR20200119353A (ko) 2020-10-19
KR20130020890A (ko) 2013-03-04
US20210304248A1 (en) 2021-09-30
PL2559246T3 (pl) 2017-02-28
US20230098693A1 (en) 2023-03-30
KR101549644B1 (ko) 2015-09-03
US11037194B2 (en) 2021-06-15
CN106210736B (zh) 2020-06-16
JP2016158259A (ja) 2016-09-01
TWI815295B (zh) 2023-09-11
TW202031043A (zh) 2020-08-16
JP5718453B2 (ja) 2015-05-13
KR101754507B1 (ko) 2017-07-06
KR102030951B1 (ko) 2019-10-10
KR101626688B1 (ko) 2016-06-01
US10719850B2 (en) 2020-07-21
CN106210736A (zh) 2016-12-07
CN106162172A (zh) 2016-11-23
KR102337744B1 (ko) 2021-12-09
CN106162170A (zh) 2016-11-23
KR20190115119A (ko) 2019-10-10
CN106303522B9 (zh) 2020-01-31
KR20200119355A (ko) 2020-10-19
US10248966B2 (en) 2019-04-02
CN106162169A (zh) 2016-11-23
JP2014195261A (ja) 2014-10-09
US11734714B2 (en) 2023-08-22
JP2019083583A (ja) 2019-05-30
KR102360005B1 (ko) 2022-02-08
US20180218397A1 (en) 2018-08-02
US10748183B2 (en) 2020-08-18
EP4057628A1 (en) 2022-09-14
HUE030688T2 (en) 2017-05-29
TW202114425A (zh) 2021-04-01
CN106162171B (zh) 2020-09-11
EP3089450B1 (en) 2022-08-31
US20200410532A1 (en) 2020-12-31
KR102166519B1 (ko) 2020-10-16
US20200320570A1 (en) 2020-10-08
CN102939754B (zh) 2016-09-07
CN106162172B (zh) 2020-06-02
TWI757963B (zh) 2022-03-11
CN102939754A (zh) 2013-02-20
TWI756010B (zh) 2022-02-21
KR20140074402A (ko) 2014-06-17
KR20230003428A (ko) 2023-01-05
TW202029762A (zh) 2020-08-01
TW201828703A (zh) 2018-08-01
JP6778496B2 (ja) 2020-11-04
EP3089450A1 (en) 2016-11-02
CN106303536B (zh) 2021-01-08
CN106162171A (zh) 2016-11-23
JP2020092449A (ja) 2020-06-11
KR102360146B1 (ko) 2022-02-08
CN106303522B (zh) 2019-08-16
KR20200019794A (ko) 2020-02-24
KR20150022020A (ko) 2015-03-03
TWI605706B (zh) 2017-11-11
ES2590686T3 (es) 2016-11-23
CN106303522A (zh) 2017-01-04
TW201828701A (zh) 2018-08-01
US20190197579A1 (en) 2019-06-27
KR102145722B1 (ko) 2020-08-20
TWI675587B (zh) 2019-10-21
JP2021101548A (ja) 2021-07-08
JP5911028B2 (ja) 2016-04-27
US11810019B2 (en) 2023-11-07
JP2019198081A (ja) 2019-11-14
US20230099885A1 (en) 2023-03-30
CN106101700A (zh) 2016-11-09
US11087355B2 (en) 2021-08-10
TWI675586B (zh) 2019-10-21
CN106162170B (zh) 2019-07-02
DK2559246T3 (en) 2016-09-19
US20200065855A1 (en) 2020-02-27
CN106162173A (zh) 2016-11-23
KR20180105277A (ko) 2018-09-27
TW202025758A (zh) 2020-07-01
BR112012026393B1 (pt) 2022-08-23
TWI466548B (zh) 2014-12-21
TWI730420B (zh) 2021-06-11
KR101903919B1 (ko) 2018-10-02
KR20180108896A (ko) 2018-10-04
US20190087857A1 (en) 2019-03-21
US10672028B2 (en) 2020-06-02
US20200074503A1 (en) 2020-03-05
JP2023126788A (ja) 2023-09-12
CN106162189B (zh) 2020-03-24
WO2011128366A1 (en) 2011-10-20
TW202139705A (zh) 2021-10-16
EP3490257B1 (en) 2024-01-10
US11900415B2 (en) 2024-02-13
BR112012026393A2 (pt) 2020-04-14
US20190164188A1 (en) 2019-05-30
US20130039423A1 (en) 2013-02-14
CN106162169B (zh) 2020-02-28
CN106162189A (zh) 2016-11-23
TW201204047A (en) 2012-01-16
CN106303536A (zh) 2017-01-04
TW201828702A (zh) 2018-08-01
JP2013524709A (ja) 2013-06-17
TW202402058A (zh) 2024-01-01
JP2022188123A (ja) 2022-12-20
BR122020007920B1 (pt) 2022-08-23
TWI718940B (zh) 2021-02-11
US20200372537A1 (en) 2020-11-26
US10803483B2 (en) 2020-10-13
KR20170078881A (ko) 2017-07-07
US20200019986A1 (en) 2020-01-16
CN106162173B (zh) 2020-02-28
EP2559246A1 (en) 2013-02-20
TWI713356B (zh) 2020-12-11
US10803485B2 (en) 2020-10-13
EP3703369A1 (en) 2020-09-02
KR102166520B1 (ko) 2020-10-16
BR122020007918B1 (pt) 2022-11-29
BR122020007916B1 (pt) 2022-08-23
KR20200098721A (ko) 2020-08-20
EP2559246B1 (en) 2016-06-08
JP6845282B2 (ja) 2021-03-17
TW202224433A (zh) 2022-06-16
US10460344B2 (en) 2019-10-29
KR102480988B1 (ko) 2022-12-26
US10621614B2 (en) 2020-04-14
KR20220020425A (ko) 2022-02-18
TW202349955A (zh) 2023-12-16
TW201517598A (zh) 2015-05-01
TWI678916B (zh) 2019-12-01

Similar Documents

Publication Publication Date Title
PT2559246T (pt) Regiões de fusão de amostras
JP6707594B2 (ja) 標本配列のマルチツリーの細分割での継承
BR112012026400B1 (pt) Predição inter-plano
ES2904650T3 (es) Codificación de vídeo que usa subdivisiones multiárbol de imágenes
WO2011127963A1 (en) Sample region merging
JP5755781B2 (ja) 平面間予測
BR122020007663B1 (pt) Codificação de uma amostragem espacial de um sinal de informação bidimensional usando subdivisão
BR112012026383B1 (pt) Decodificador, método de descodificação, codificador, método de codificação e meio de armazenamento digital