BR112013008461B1 - Codificação de imagem suportando particionamento de blocos e mesclagem de blocos - Google Patents
Codificação de imagem suportando particionamento de blocos e mesclagem de blocos Download PDFInfo
- Publication number
- BR112013008461B1 BR112013008461B1 BR112013008461-8A BR112013008461A BR112013008461B1 BR 112013008461 B1 BR112013008461 B1 BR 112013008461B1 BR 112013008461 A BR112013008461 A BR 112013008461A BR 112013008461 B1 BR112013008461 B1 BR 112013008461B1
- Authority
- BR
- Brazil
- Prior art keywords
- encoding
- candidate
- block
- blocks
- parameters
- Prior art date
Links
- 238000000638 solvent extraction Methods 0.000 title claims abstract description 170
- 238000000034 method Methods 0.000 claims description 57
- 239000011159 matrix material Substances 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims 4
- 238000005192 partition Methods 0.000 description 130
- 239000000523 sample Substances 0.000 description 95
- 230000033001 locomotion Effects 0.000 description 50
- 230000008569 process Effects 0.000 description 27
- 230000011664 signaling Effects 0.000 description 15
- 239000013598 vector Substances 0.000 description 15
- 238000013459 approach Methods 0.000 description 11
- 235000019580 granularity Nutrition 0.000 description 11
- 238000002156 mixing Methods 0.000 description 11
- 230000002123 temporal effect Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000003491 array Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 9
- 238000009795 derivation Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000001364 causal effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 241001342895 Chorus Species 0.000 description 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 240000000359 Triticum dicoccon Species 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000002758 humerus Anatomy 0.000 description 1
- 229940071542 i-deal Drugs 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 235000019587 texture Nutrition 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/93—Run-length coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Selective Calling Equipment (AREA)
- Channel Selection Circuits, Automatic Tuning Circuits (AREA)
- Error Detection And Correction (AREA)
Abstract
CODIFICAÇÃO DE IMAGEM SUPORTANDO PARTICIONAMENTO DE BLOCOS E MESCLAGEM DE BLOCOS. Um aumento de eficiência de codificação adicional pode ser atingido se, para um bloco atual de uma imagem, para o qual o fluxo de bits sinalize um dos padrões de particionamento suportados, uma inversão do particionamento, através de mesclagem de bloco, for evitada. Em particular se o padrão de particionamento suportado sinalizado especificar uma subdivisão do bloco em sois ou mais blocos adicionais, uma remoção de certos candidatos a parâmetro de codificação para todos os blocos adicionais, exceto um primeiro bloco adicional dos blocos adicionais em uma ordem de codificação, é realizada. Em particular, estes candidatos a parâmetro de codificação para o respectivo bloco adicional, os parâmetros de codificação do qual são os mesmos que os parâmetros de codificação associados a qualquer um dos blocos adicionais que, quando mesclados com o respectivo bloco adicional, resultariam em um dos padrões de particionamento suportados. Por esta medida, a redundância entre a codificação de particionamento e a codificação de mesclagem é evitada.
Description
O presente pedido de patente refere-se codificação de imagem e/ou video., e e.m particular a codecs que suportam particíonamento de bloços e meselagem de blocos.
Muitos codecs de imagem e/ou vídeo tratam as imagens em unidades de blocos. Pot exemplo, codecs preditivos utilizam uma granularidade d.e blocos para atingir um. bom 10 compromisso entre parâmetros de predição definidos muito precisamente definidos em uma alta resolução espacial com., entretanto., o emprego de muitas informações secundárias para os parâmetros de predição por um lado, e parâmetros de predição definidos, de maneira muito grosseira, fatendo com que a quantidade 15 de bits necessários para codificar ©. residual de predição aumente devido á menor resolução espacial dos parâmetros de predição, por outro lado, Com efeito, a configuração ideal para os parâmetros de predição reside em algum lugar entre ambos os extremos.
Diversas tentativas fõram feitas para se obter a solução ideal para o problema acima citado. Por exemplo, em vez de utilizar uma subdivisão regalar de urna imagem em blocos dispostos regularmente em linhas- e colunas, a subdivisão em particíonamento ' multi-árvore busea aumentar a liberdade de aubdivisâõ de una imagem em blocos em uma demanda razoável para informações de 25 subdivisão. Não obstantes até mesmo a subdivisão multi-árvore necessita da sinalização de uma quantidade considerável de dados, e a liberdade na subdivisão- de uma imagem é bastante restrita, mesmo no caso d.a utilização de tal subdivisão multi-árvore.
Para permitir uma melhor compensação entre a quantidade de informações secundarias necessárias para sinalizar a subdivisão de imagem por um lado, e a liberdade na subdivisão da imagem por outro lado, a mesclagem dos blocos pode ser utilizada para aumentar o número dê subdivisões de imagem, possíveis em uma quantidade razoável de dados, adicionais necessários para sinalizar as informações de mesclagem. Para blocos sendo mesclados, os parâmetros de codifiçaçãe precisam ser transmitidos dentro do fluxo de bits completamente apenas uma vez, do mesmo modo que se o grupo de blocos mesclado resultante fosse uma porção diretgmente subdividida da imagem.
Entretanto, ainda há uma necessida.de de atingir melhor eficiência de codificação, devido a redundâncias restantes recentemçnte causadas pela combinação de mesclagem de blocos e 15 subdivisão de blocos.
Assim, o objeto da presente invenção ê a provisão de um. conceito de codificação possuindo uma maior eficiência de codificação. Este objeto ê atingido pelas reivindicações i^dependentes pendentes.
A ideia por trás da presente invenção é que um aumento de eficiência de codificação adicional pode ser atingido se, para um bloco atual de uma imagem, para o qual o fluxo de bits sinalize um dos. padrões de particionamento suportados, uma. inversão do particionamento, através de mesclagem de blocos, for evitada. Em. particular se1 o padrão de particionamento suportado sinalizado especificar uma subdivisão do bloco em seis ou mais blocas adicionais, uma remoção de certos candidatos a parâmetro de codificação para todos os blocos adicionais, exceto um primeiro bloco adicional dos blocos adicionais em uma ordem de codificação, 4 realizada. Em particular t estes candidatos a parâmetro de .codificação são removidos do conjunto de candidatos a parâmetro de codificação para o respectivo bloco adicional,, os parâmetros de 5 codificação dõ qual são os mesmos que ps parâmetros de codificação associados a qual qua r um dos blocos adicionais que, quando mesclados com o respectivo bloco adicional, resultariam era um dos padrões de particionamanto suportados. Através désta. medida, _á redundância entré codificação de particionamento e codificação de 10 mesclagcm ê. evitada, e a sobrecarga de sinalização para sinalizar as informações de mesclagem pode ser adieionalroente reduzida ao exploràr o tamanho reduzido do conjunto de candidatos a paràifiétrbs dé codificação. Além disso, as efeitos positivos da combinação de particionamento de blocos com mesclagem de blocos são mantidos. Isto é,. devido, ã combinação do particionaifteiitb de blocos gpm a mé selagem de blocos, a variedade de padrões de particioπamento atingíveis é aumentada em relação ao caso sem meselagem d.® blocos. 0 aumento na sobrecarga Sé sinãligã^ãõ é mabt’idb èffi limites razoáveis. Por último, a cssclagam de bleeps permite a união entre b-Ocos além, da barreira do bloco atual, oferecendo assim granularidades que não seriam possíveis sem a mesirlàgem de blocos.
Aplicando uma vista le-vemente diferente do conjunto de candidatos a- mesclagem, a ideia acima explicada se manifesta, de acordo com um aspecto adicional dM presente invenção/ em um decodificâdbf qbhfigurado paiá decodificar um fluxo de bits sinaiizandç um dos padrões de partícionamento suportados para ura bloco atual de uma imagem com o decodificador gentio configurado para remover, se ;é pãdfâd db paÊtigldWíteíltd suportado sinalizado. especificar uma subdivisão dp bloco em dois ou roais blocos adicionais/ para todos os blocos adicionais, exceto um primeiro bloco adicional dos blocos adicionais em uma ordem de codificação, a partir de um conjunto de blocos candidates que iriam, ao serem mesclados com os respectivos blocos adicionais-, resultar em um dos padrões de particionamento suportados* Implementações vantajosas da presents invenção são a matéria das reivindicações dependentes apensas.
Realizações preferidas do presente pedido de patente são desferi tas a. seguir em maiores detalhes a relação as Figuras, dentre aã quais:
A Figura 1 mostra üm diagrama, de blocos de um codificador de acordo com uma realização;
A Figura 2 mostra um diagrama de blocos de um decõdifiçador de acordo coro, uma realização;
A Figura 3 mostra um diagrama de blocos de uma possível estrutura Interna do codificador da Figura 1;
A Figura 4 mostra um diagrama de blocos de uma possível estrutura interna do decodificador da Figura 2;
A Figura 5ã mostra .esquematicamente uma possível subdi^ieão de uma imageb .em blocos de raiz de árvore,. dnídadés de codificação (blocos) e unidades de predição- (partições.)
A Figura õh mostra. Ud.a árvore da subdivisão do bloco de raiz de árvora .uicstrado na Figura 5a até o nível das 25 partições, de acordo com um exemplo ilustrativo;
A Figura 6 mostra uma realização para um conjunto de possíveis padrões de particionamento suportados de acordo com uma realização;
A Figura 7 mostra possíveis padrões de partioionamènto que resultam de maneira eficaz da combinação de mesçlagem de blocos é particíonamento de blocos ao utilizar o particiovíamento de blocos de acordo com a Figura 6;
A Figura 8 esquematicamente mostra blocos candidates para um mode SKIP/DIRECT de acordo com uma realização;
As Figuras 9 a 11 mostram porções de sintaxe de acordo com uma realização; ã
à Figura 12 mostra esquema ti carne n. te a definição 10 de partições vizinhas para uma partição de acordo com uma realização.
Em relação â seguinte descrição, é observado que sempre que o mesmo sinal de referência for utilizado em conexão oom diferentes figuras, as explicações em relação ao respectivo IS elemento apresentado em relação a uma destas figures deve SÊ aplicar igualmente às outras figuras, contanto que tal transferência de explicações de uma figura pata a outra não conflite com a descrição restante desta outra figura.
A Figura 1 mostra ura codificador 10 de acordo com 20 uma realização da presente invenção- O codificador 10 é configurado para codificar unia imagem 2'0 em um fluxo de bits 30. Uaturalmente,, a imagem 20 poderia fazer parte de um video., neste caso, o codificador seria ura codificador de video.
A imagem 20 compreende um blocs 40 que atualmente 25 deve ser codificado pelo codificador 10. Conforme mostrado na Figura 1, a imagem 20 poda compreender mais de um bloco 40, Por exemplo, a imagem 20. pode ser subdividida era. uma disposição regular de blocos 40, de modo que. os blocos 40 sejam dispostos em linhas e colunas conforme exeraplarmenre mostrado na Figura 1.
Entretanto, qualquer outra subdivisão da imagem 20 em blocos 40 pode também ser possível. Em particular, a subdivisão da ijnagsm 20 em blocos 40 pode ser fixa, isto é, conhecida por padrão, ou pode ser sinalizada dentro do fluxo de bits 30 do decodificadori Em particular, os blocos 40 da imagem 20 podem variar em tamanho» l?or exemplo, uma subdivisão multi-.árvore, tal como uma subdivisão quad-árvore, p>ode ser aplicada à imagem_20 ou a uma jarê-subdívisão. regular da imagem 20 em blocos de raiz de árvore dispostos 10 regularm.en.te, de modo a obter os blocos 4 0, os quaiá, neste caso, formam os blocos de folha da subdivisão multi-árvore.
Em qualquer caso, o codificador 10 é configurado para sinalizar dentro- do fluxo de bits 30 ura dos padrões de particioπamento suportados para o bloco atual 40. Isto è, o 15 codificador 10' decide se em algum, por exemplo, sentido de otimização de distorção de taxa, é melhor particionar ainda mais o bloco 40, e sobre quais padrões de particioπamento suportados devem ser utilizados para um bloco atual 40 para adaptar a granuiaridade na qual certos parâmetros de codificação são 20 definidos dentre do bloco atual 40 da imagem 20. Conforme será descrito em mais detalhes abaixo, os parâmetros de codificação podem, pot exemplo, representar parâmetros de predição, tais como parâmetros de inter predição. Tais parâmetros de inter predição podem, por exemplo, compreender um índice de imagem de referência, 25 um vetor de movimento e semelhantes. Os padrões de particioπamento suportados podem, por exemplo, compreender um modo sem particioπamento, Isto é, tuna opção, de acordo com a. qual o bloco atual 40 não é mais particionado, um modo de partlcionamento horizontal, isto é, uma opção de acordo cora a qual o bloco atual 40 é subdividido ao longo de uiaa linha que se estende horizontalmente em uma porção superior ou de topo e uma porção inferior ou de fundo, e um modo de particionamento vertical, isto 5 é, uma opção de acordo com a qual o bloco atual 40 ê subdividido verticalmente ao longo de uma linha que se estende verticalmente em uma porção esquerda e uma porção direita. Além disto, os _padrÔe3 de páxticionamentp. podem também, compreender, .uma opção de acordo com a qual o bloco atual 40 ê adicionaImente subdividido 10 regularmente em quatro blocos adicionais., cada um assumindo, ura quarto do blbóe atual 40. Além disso, o particíonamento pode pertencer a todos os blocos 40 da imagem 20, ou meramente um subconjunto adequado da mesma», tal corto aquelas possuindo um certo modo de codificação associado â mesma, tal como o modo de inter 15 predição. Aléia disso, o conjunto de possíveis biocos, para os quais a mesclagem deve ser aplicada paca a.(a) partição (des) do bloco pode ser adicionalraente confinado por uma sinalização de fluxo de bits para .qada bloco. 40 para o qual a mesclagem poderia, ser realizada, quanto ao fato de que a mesclagem está disponível 20 para a partição do bloco ou não. 'Naturalmente, tal sinalização poderia também ser realizada para cada partição candidata a mesclagem em potencial individualmente. Além' disso, diferentes subconjuntos dos modos de particionamento suportados podem estar disponíveis para os blocos 40, dependendo, por exemplo, do tamanho 25 do bloco, do níirel de subdivisão do bloco 4Ü no cãs© do mesmo ser um bloco de folha de subdivisão multi-árvore, em combinação ou individualmente.
Isto é, enquanto a subdivisão da imagem 2Q em blocos para obter,, entre outros, o bloco 40 pode ser fixa QU sinalizada dentro d© fluxo dé bits, o padrão de particionamento a ser utilizado para um bloco atual 4 0 é sinalizado dentro do fluxo de bits 30 na forma de informações de particionamento. Portanto, 5 as informações de particionamento podem, assim, ser imaginadas como sendo um tipo de extensão da subdivisão da imagem .20 ém blocos 40. Por outro lado, uma relevância adicional da granularidade original da subdivisão da_ imagem 20. em blocos.. 40 pode ainda permanecer. Por esemplc, P codificador 10 pode ser configurado para sinalizar dentro do fluxo de bits 30 o modo de codificação a. ser utilizado para a respectiva porção ou bloco 40 da imagem 20 na granularidade definida pelo bloco 40, enquanto o codificador 10 ê configurado para variar os parâmetros de codificação do respectivo modo de codificação dentro do respective bloco 40 em uma granularidade maior (mais fina) definida pelo respectivo padrão de particionamento escolhido para ã respectivo bloco 40. Por exemplo, o modo de codificação sinalizado na granularidade dos blocos 40 pode distinguir entre o modo de intra predição, mαdo de inter predição e semelhantes, tai comp modo de inter predição temporal, modo de predição intét-visão, etc. O tipo de parâmetros de codificação associados aos um. ou mais sub-blocos (partições) resultantes do particionamento do respectivo bioco 40, então, depende do modo de codificação atribuído ao respectivo bloco 40. Por exemplo, para um bloco intra codificado 40, os 25 parâmetros de codificação podem compreender uma direção espacial ao longo da qual o conteúdo de imagem de porções previ amente decodificadas da imagem 20 é utilizado para preencher o respectivo bloco 30. No caso de um bloco intra codificado 40, os parâmetros de codif icação podem c-Qiiipreen.der, entre outros,. um vetor de movimento para predição com compensação de movimento.
A Figura 1 mostra exemptarmente o bloco atual 40 como sendo subdividido em. dois blocos adicionais (menores) 50 e 60. Em particular, um modo de particioπamento vertical e exemplarmente mostrado. Os blocos menores 50 e 60 podem também ser chamados de sub-olocos 50 e 60 ou partições 50 e 60 ou unidades de predição 50 _e 6CL Era particular,^, o codificador 1-0 é configurado " para, remover, em tais casos onde o padrão de particioπamento suportado sinalizado especifica uma. subdivisão do bloco atual 4Q em dois ou mais blocos adicionais 50 e 60f para todos os bldcos adicionais exceto um primeiro bloco adicipnal dps blocos adicionais 50 e 6'0 em uma ordem de codificação, a. partir de um conjunto de candidatos a parâmetro de codificação para d respectivo bloco adicional f-. os candidatos a parâmetro de codificação possuindo parâmetros dé codificação que são os mesmas parâraãtras de codificação associados a qualquer um d@.s blocos adicionais, que iriam, ao serem mesclados com os respectivos blocos adicionais, resultar em um dos padrões de particioπamento suportados; Para ser mais preciso, para cada padrão de particioπamento suportado, uma ordem de codificação é definida dentre as uma ou mais partições resultantes 50 e 60. No caso da Figura 1, a ordem de codificação é exemplarmente ilustrada por uma seta. 70, definindo qüe a partição esquerda é codificada antes da partição direita 6.0. No caso de Um modo de particioπamento horizontal., poderia ser definido que a partição superior é çodifiçada antes da partição inferior. De qualquer modo, õ codificador 10 ê configurado para remover,, para a segunda partição 60 na ordem de codificação 70, do con junce de candidatos a parâmetro de codificação: para, a respectiva segunda partição 60, candidatos a parâmetro de codificação possuindo parâmetros de codificação que são os .mesmos que os parâmetros de codificação 5 associados â primeira partição 50, para evitar o resultado desta mesclagem, a saber, q fato de que ambas as partições 50 e 60 possuiriam os mesmos parâmetros de codificação associados ás . mesmas.. que, na verdade, poderiam produzir igualmente através da escolha do modo sem particionamento para o bloco atual 40 em ura 1.0 taxa de codificação menor,
Para ser mais preciso, g codificador 10 é configurado para utilizar mesclagem de blocos de maneira eficaz com "particionamentb de blocos. No que diz respeito ã mesclagem de blocos, o codificador 10 determina para cada partição 50 e 60., um 15 respectivo conjunto de candidatos a parâmetro de codificaçãoi O codificador pode ser configurado para determinar os conjuntos de candidatos a parâmetro de codificação para cáda uma das partições 5Q e 60 com base em parâmetros de codificação associados a blocos previamente decodificados. Em particular, pelo menos parte dos 20 candidatos a parâmetro de codificação dentro dos conjuntos de candidatos a parâmetro de codificação pode ser igual a, isto é, pode ser adotada a partir dos parâmetros de codificação de partições previ aicieb te decodificadas. Adi.eiçnalm&nte ou alternativamente, pelo menos parte dos candidatos a parâmetro de 25 codificação pode ser derivada de candidatos a parâmetro de cgdifiç&çâo associados a maia de uma partição previamente çõdificada, por meio de uma combinação adequada, tal como uma mediana, media ou semelhante. Entretanto, uma vez que o codificador 10 é configurado para realizar a determinação do conjunto reduzido de candidatos a parâmetro de codificação e, se mais de um tal candidato a parâmetro de codificação permanecer após a remoção, a escolha dentre os candidates a parâmetro de codificação restantes e não removidos, para cada uma das não primeiras partições 60 para definir parâmetros de codificação associados â respectiva partição dependendo do candidato a --parâmetro-de- codificação não removido ou escolhido, o codificador 10 é configurado para realizar a remoção, de medo que os 10 candidatos a parâmetro de codificação que levariam, de maneira eficaz, à reunião das partições Ô0 e S0, sejam removidos. 1st© é, constelações de sintaxe são evitadas de maneira eficaz, dé acordo com a qual uma situação de particionamento eficaz é codificada mais complexa do que iw caso de sinalização direta deste 15 parti-cionamento meramente pelo uso das informações de particionamento sozinhas.
Além disso, à medida que os conjuntos de candidatos a parâmetro de codificação se tornam menores, a quantidade de informações secundárias necessárias para codificar 20 as informações de mesclagem no fluxo de bits 30 pode diminuir devido ão menor número de elementos nestes .çpn juntos de candidatos. Em particular, uma vez que o decodificador é capaz de determinar o subsequentemente reduzir os conjuntos de candidatos a parâmetro de codificação da mesma maneira que o codificador da 25 Figura 1 q faz, o codificador 10 da Figura 1 é capaz de explorar os gtínjúntos reduzidos de candidatos a parâmetro de codificação através, por exemplo, do uso de menos bits para inserir uni elemento de sintaxe no fluxo de bits 30, especificando qual dos candidatos a parâmetro de codificação não removidos deve ser empregado para a mesclagem. Naturalmente, a introdução do elemento de sintaxe no fluxo de bits 30 pode ser mais completamente Suprimida no Caso do número de candidatos a parâmetro de 5 codificação não removidos para a respectiva partição ser meramente um. D.e qualquer modo, devido à mesclagem, isto è, a definição ds parâmetros de codificação associados à respectiva partição dependente da restante, oü escolhida, dentre os candidatos a parâmetros de codificação não removidos, o codificador 1® é capaz 10 de suprimir a. inserção completamente nova de parâmetros de . codificação para a respectiva partição no fluxo de bits 30, reduzindo, assim, as informações secundárias também. De acordo com algumas realizações do presente pedido de patente, o codificador 10, pode ser configurado para sinalizar dentro do fluxo de bits’ 30 15 informações de refinamento para refinar o candidato a parâmetro de codificação restante ou escolhido para as respectivas partições.
De acordo com a descrição da Figura 1 conforme defini da. acima,, g codificador 1Ó é configurado para determinar cs ! candidatos a mesclagem a serem removidos por meio de uma comparação de seus parâmetros de codificação com os parâmetros de codificação da partição, a mesclagem com os quais geraria, outro padràd de partisionamento suportado. Esta maneira de tratar os candidatos a parâmetro de codificação iria* de maneira eficaz* remover pelo menos um candidato a parâmetro de codificação no caso 25 ilustrativo da Figura 1, por exemplo, contanto que os parâmetros de codificação da partição esquerda 50 formem um elemento do conjunto de candidatos a parâmetro de codificação para a partição esquerda Candidates a parâmetro de codificação adicionais podem, entretanto, também ser removidos caso sejam iguais aos parâmetros de codificação da partição esquerda 50, De. acordo com outra realização da presente invenção, entretanto, o codificador 10 seria configurado para determinar um conjunto de blocos candidatos para cada segunda e seguinte partição na Ordem de codificação, côm a remoção .daquele (s) bloco (,s) candidato(s) deste conjunto de blocos candidates, os quais iriam, ao serem mesclados tom -a respectiva partição, -resultar em- um des padrões -de particionamento suportadost Em certo sentido, isto significa o 10 seguinte, O codificador 10 pode ser configurado para determinar candidatos para tima respectiva partição 50 ou êO (isto é, o primeiro e os seguintes na ordem de codificação) de modo que cada elemento d.o conjunto de candidatos possua exatamente ume partição do bloco atual 40 ou qualquer um dos blocos 40 previamente 15 codificados, associado ao mesmo em que o candidato adota os respectivos, parâmetros de codificação da partição associada. Por exempla, cada elemento do conjunto de candidatos poderia ser igual a, isto é, adotado ã partir de um dos tais parâmetros de codificação de partições previamentè codificadas, ou poderia pelo 20 menos ser derivado de parâmetros de codificação de meramenté uma tal partição previamente codificada, tal como através do dimensionamento ou refinamento adicional utilizando as informações de refinamento adieionaImente enviadas. 0 codificador 10 poderia, entretanto, ser também configurado para acompanhar tal conjunto de 25 candidates com elementos ou candidatos adicionais, a saber, candidatos a parâmetro, de codificação que foram derivados de uma combinação de parâmetros de codificação de mais de uma partição previamentè codificada, ou que foram derivados - por modificação - de parâmetros de codificação de uma partição previameπte codificada, tal como tomando meramente os parâmetros de codificação de uma lista de parâmetros de movimento. Para os elementos "combinados’", não há associação 1:1 entre os parâmetros 5 de codificação dõ respectivo elemento candidato e uma respectiva partição-. De acordo com uma primeira alternativa da descrição da Figura 1/ o codificador 10 poderia ser configurado, para remover todõs oa candidatos de ~todo m conjunto de candidatos, cs parâmetros de codificação do qual são iguais aos parâmetros de codificação da partição 50. De acordo com a última alternativa da descrição da Figura 1, o codificador 10 poderia ser configurado para remover meramente o elemento do conjunto de candidatos que é associado à partição 5Q. Harmonizando ambos os pontos de vista, o codificador 10 podèria ser configurado para remover candidatos da porção do conjunto de candidatos, mostrando uma associação 1:1 para algumas partições previamente codificadas (por exemplo, vizinhas), sem estender a remoção (e a busca por candidatos possuindo parâmetros de codificação iguais) para a porção restante do conjunto de candidatos possuindo parâmetros de codificação sendo obtidos por combinação. Porém, ©pviamente, se uma combinação também Levasse à representação redundante, isto poderia ser resolvido ao remover os parâmetros de codificação redundantes da Lista ou realizando verificação de redundância para os candidatos combinados também.
Após ter descrito um codificador de acordo com uma realização da presente invenção, em. referência ã Figurã 2? um decodificador .80 de acordo com uma realização ê descrito, õ decodificador 80 da Figura 2 é configurado pára decodificar o fluxo de bits 30 que, conforme descrito acima, sinaliza um dos padrões de particionamento suportados para um bloco atual 40 da imagem 20. O decodificador 8.0 é configurado para, se 0 padrão de particionamento suportado sinalizado especificar uma subdivisão do 5 bloco atual 40 em duas ou mais partições 50 e 60, remover para todas as partições, exceto a primeira partição 50 das partições em ordem de codificação 70, isto é, para a partição 60 no Exemplo ilustrado das Figuras 1 c 2, a partir de um conjunto de candidatos a parâmetro dte codificação para os respectivos candidatos a 10 parâmetro de codificação de partição possuindo parâmetros de
Codificação que são os mesmos que, au iguais aos parâmetros associados a qualquer uma das partições', ps quais iriam, quando mesclados com a respectiva partição, resultar em um dos padrões de particionamento suportados, a saber, Um que não foi sinalizado 15 dentro do fluxo de bits 30 porém sendo, não obstante, um dos padrões de particionamento suportados.
Isto é, a funcionalidade de decodificador amplamente coincide com a do decodificador descrito em relação à Figura 1. Por exemplo, o decodificador 80 pode ser configurado 20 para, se um número dos candidatos a parâmetro de codificação não removidos for diferente de zero, definir parâmetros de codificação associados à respectiva partição 60 dependendo de um dos candidatos a parâmetro de codificação nâo removidos. Por exemplé, o decodificador 80 define os parâmetros de codificação da partição 25 60 de modo a serem iguais a um dos candidatos a parâmetro, de codificação não removidos-, coro ou sem refinamento adicional e/ou com ou sem dimensionamento de acordo com uma distância temporal â qual os parâmetros de codificação se referem, respectivamente. Por exemplo, o candidato a parâmetro de codificação a se mesclar com um dos candidatos a parâmetro de codificação não removidos, pode possuir índice dé imagem de referência associado ao mesmo diferente de um índice de imagem de referência explicitamente sinalizado dentro do fluxo de bits 30 para s partição 50. Nessé caso, os parâmetros de. codificação para os candidatos a parâmetro de codificação podem definir vetores de movimento, cada um relacionado- a- um respectivo ’ irfdiSe ~de imagem de referência, e o deoodiíicador 80 pode ser configurado pata dimensionar o vetor de 10 movimento do candidato a parâmetro de codificação não removido de acordo com a relação entre ambos os índices de imagem de referência. Assim, de acordo com a alternativa acima mencionada, os parâmetros de codificação sendo submetidos â mesclagem, englobariam os parâmetros de movimento* enquanto, que os índices de 15 imagem de referência seriam separados dos mesmos. Entretanto, conforme indicado acima? de acordo com realizações alternativas, os indices de imagem de referência poderiam também fazer parte dos parâmetros de codificação sendo submetidos â mesclagem.
È igualmente aplicado ad codificador da Figura 1 20 e ao de codificador da Figura 2 que o comportamento de mesclagem pede ser restrito aos blocos inter previstos 40,. Portanto, o decodificados 80 e o codificador 10 podem ser configurados para suportar modos de intra e inter predição para o bloco atual 40 e realizar mesclagem e remoção de candidatos meramente no caso do 25 bloco atuai 4,0 ser codificado em modo da inter predição, portanto, msramente, os parâmetros de codifiéaçãb/predição de tais partições previamente codificadas inter previstas podem ser utilizados para determinar/construir a lista de candidatos.
Conforme já discutido acima, os parâmetros de codificação podem ser parâmetros de predição, e o decodificador 80 poda ser configurado para utilizar os parâmetros de codificação das partições 50 e 60 para derivar um sinal de predição para a respectiva partição. Naturalmente,, o codificador 10 realiza a derivação do sinal de predição da mesma maneira, também. O codificador 10, entretanto, adlcXonslmente define os parâmetros de predição com "todos os outros elementos de sintaxe dentro do fluxo de bits 30 para atingir uma certa otimização em um sentido de otimização adequada.
Além disso, conforme já discutido acima, o codificador pode ser configurado, para inserir um índice em um candidato a parâmetro de codificação não removido caso o número de candidatos a parâmetro de codificação não removidos para uma respectiva partição for maior que um» Portanto, o decodificador 80 pode ser configurado para, dependendo do número de candidatos a parâmetro de codificação não reir.ovidos para, por exemplo, a partição 60, meramente esperar que o flux.0 de bits. 30 compreenda um elemento de sintaxe especificando qual dos candidatos a 20 parâmetro de codificação não removidos é empregado para mesclagem, se o número de candidatos a parâmetro de codificação não removidos for maior que um. Entretanto, o caso do conjunto de candidatos se- tornar menor em número do que dois, poderia ser gcralmente excluído de pcorrer através da extensão, conforme descrito acima> 25 da lis ta ./conjunto de candidatos utilizando- parâmetros de codificação combinados, isto é, parâmetros. derivados psla combinação dos parâmetros de codificação de mais de uma - ou mais de duas — partições previ anuente codificadas, restringindo o desempenho do conjunto de candidatos àqueles candidatos sendo obtidos através da adoção, ou derivação a partir dos parâmetros de codificação de exatamente uma partição previamentè codificada, 0 oposto também é possível, isto éz remover geraimptite todos os 5 candidatos a parâmetro de codificação possuindo o mesmo valor que 03 da partição, resultando em outro padrão de particionamento suportado.
Em relação à determinação., o decodificador §0 atua como o codificador 10’, Isto é, o decodificador §0 pode ser 10 configurado para determinar o conjunto de candidatos a parâmetro de codificação para a partição ©u as partições apôs á primeira partição 50 em ordem de codificação 70 com base em parâmetros de codificação 70 associados a partições previamente decodificadas. Isto è, uma ordem de codificação é não somente definida dentro as 1S partições 50 e 60 de um respectivo bloco 40, mas também dentre blocos 40 da imagem. 20 propriamente dita. Todas as partições que fpram decodificadas antes da partição 60 podem, assim, servir como a base para a determinação do conjunto de candidatos a parâmetro de codificação para qualquer wa das partições subsequentes, tal como a partição 60 h,o paso da Figura 2. Conforme é também descrito acima, o codificador e o decodificador podem restringir a determinação do conjunto de candidatos a parâmetro de codificação a partições em uirtã certa vizinhança espacial e/ou temporal. For exemplo, o decodificador 80 pode ser configurado para determinar o conjunto de candidatos a parâmetro de codificação para úma partição 60 diferente da primeira com base nos parâmetros de codificação associados a partições previamente codificadas adjacentes â respectiva partição diferente da primeira, em que tais partições podem residir fora e dentro do bloco atual 40. Naturalmente, a determinação de candidatos a mesclagem pode também ser realizada para a primeira partição em ordem de codificação. Meramente, a remoção não é realizada.
Coincidindo com a descrição da Figura 1, o decodificador 80 pode ser configurado para determinar o conjunto de candidatos a parâmetro de codificação para a respectiva partição 60 diferente da primeira dentre um conjunto inicial de partições previamente decodificadas, excluindo as que foram 10 codificadas em um modo de intra predição.
Além disso, no caso do codificador introduzir informações de subdivisão ao fluxo de bits para subdividir a imagem 20 nos blocos 40, o decodificador 80 pode ser configurado • para recuperar a subdivisão da imagem 20 em tais blocos de 15 codificação 40 de acordo com as informações de subdivisão no fluxo de bits 30.
Em relação à Figura 1 e à Figura 2, ' deve ser observado que o sinal residual para o bloco atual 40 pode ser transmitido através de fluxo de dados 30 em uma granularidade que 20 pode diferir da granularidade definida pelas partições em relação aos parâmetros de codificação. Por exemplo, o codificador 10 da Figura 1 pode ser configurado para subdividir o bloco 40 em um ou mais blocos transformados em uma maneira paralela, ou independente do particionamento nas partições 50 e 60. O codificador pode 25 sinalizar a respectiva subdivisão de bloco transformado para o bloco 40 por meio de informações de subdivisão adicionais. O decodificador 80, por sua vez, pode ser configurado para recuperar esta subdivisão adicional do bloco 40 em um ou mais blocos transformados de acordo com as informações de subdivisão adicionais no fluxo de bits, e derivar um sinal residual do bloco atual 40 a partir do fluxo de bits ejn unidades destes blocos transformados. O significado do particionamento de bloco. 5 transformado pode ser que a transformada, tal como DCT, no codificador, e a transformada inversa correspondente, tal como IDCT no decodif icador seja realizada dentro de cada bloco transformado do bloco 40 individualmente. ’ Para reconstruir “ a imagem 20 d©aid b bloco 40, o codificador 10, em seguida, combina, 10 tal como por adição, o sinal de predição derivado aplicando os parâmetros de codificação nas respectivas partições 50 e 60, e no sinal residual, respect!vamente. Entretanto,. é observado que a codificação residual pode não envolver néniiuma transformada e transformada inversa respectivamente, e que o resídua é codificado 15 na domínio espacial, em vez disso, por exemplo.
Antes de descrever possíveis detalhes adicionais de realizações adicionais abaixa, Uma possível estrutura interna do codificador e do decodificador das Figuras 1 e 2 deve ser descrita em relação às Figuras 3 e 4. Ã Figura 3 mostra 20 exemplarmente como o codificador 10. pode ser internamente construído. Conforme mostrado, o codificador 10 pode compreender um subtrator 108, Um transformador 100, e um gerador de fluxo de bits 102, os quais, podem, conforme indicadõ na Figura 3, realizar codificação de entropia. Os elementos 108, 100 e 102 são conectados em série entre uma entrada 112 que recebe a imagem 20, e uma saída 114 que emite O fluxo de bits acima mencionado 30. Em particular, O subtrator 108 possui, sua entrada não inversora conectada â entrada 112 e o transformador 100 é conectado entre uma saída do subtrator e uma primeira entrada do gerador de fluxo de bits 102, o qual, por aua vez, possuí uma saída conectada à çaida 114. O codificador 10 da Figura 3 adicionalmente compreende um transformador inverse 104 e um somador 110 conectado em série, na ordem mencionada, à saída do transformador 100. O codificador 10 adicionalmente compreende um preditor 106, o qual é conectado entre uma saída do somador 110 e uma entrada adicional do somador 110 e â entrada inversora do subtrator 108.
Os elementos da Figura 3 interagem conforme a seguir: O preditor 106 prediz porções da imagem 20 com o resultado da predição, isto é, o sinal de predição, sendo aplicado à entrada inversora do subtrator 108. A saida do subtrator 108, por sua vez, representa a diferença entre o sinal de predição e a respectiva porção da imagem 20, isto é, uro sinal residual. O sinal residual ê submetido à codificação de transformada no transformador 100. Isto é, o transformador 10O pode realizar uma transformada, tal coino DCT ou semelhante, è uma quantizaçãc subsequente no sinal residual transformado, isto é, os coeficientes de transformada, de maneira a obter níveis de coeficiente de transformada- A transformada inversa 104 reconstrói o sinal residual final emitido pelo transformador 100 para obter uro sinal residual reconstruído que corresponde ao sinal residual inserido no transformador 100, exceto para a perda de informação devido à quantização no transformador 100. A adição dó sinal residual reconstruído c- do sinal de predição conforme emitido pelo preditor 106 resulta em uma reconstrução da respectiva porção da imagem 20 e é encaminhada a partir da saida do somador 110 à entrada do preditor 106. O preditor 106 opera em diferentes modos conforme descrito acima tai com© am modo de intra predição, modo de inter predição, e semelhante. 0 modo de predição e os parâmetros de codificação ou predição correspondentes aplicados por um preditor 10:6 para obter o sinal de predição, são encaminhados pelo preditor 106 para o 5 codifidador de entropia 102 para inserção no fluxo de bits.
Uma possível implementação da estrutura interna do decodificador 80 da Figura 2, correspondente à possibilidade mostrada na Figura 3 em relação ao codificador, é mostrada ria Figuxa 4. Conforme mostrado na mesma, o decodificador 80 pode 10 compreender ura extrator de fluxo de bits 150 que pode, coníctrne mostrado ná Figura 4,. ser implementado como Um decodificador de entropia, ura transformador inverso 1S2 e um aomador 154, os quais são, na ordem mencionadas, conectados entre uma entrada 158 e uma salda 16® do decodificador. Além disso, o decodificador da Figura 15 4 compreende um preditor 156 conectado entre uma saída do soinador 154 e uma entrada adicional dó mesmo. -0 decodificador de entropial50 é conectado a uma entrada de parâmetro do preditor 156.
Brevemente descrevendo a funcionalidade dp 20 decodificador da Figura 4, o decodificador de entropia 150 é para extrair todas as informações contidas no fluxo de bits 30» O esquema de codificação de entropia utilizado pode ser codificação de comprimento variável ou codificação aritmética. Através disto, o decodificador 150 obtém do fluxo de bits os níveis de 25 coeficiente de transformada representeando o sinal residual, s encaminha os mesmos para o transformador inverso 152. Além disso, © decodificador de entropia 150 obtém do fluxo de bits todos os modos de codificação e parâmetros de. codificação associados e encaminha os mesmos para o preditor 156. Adicionalmente, as informações de particionamento e as informações de mesclagem são extraídas do fluxo de bits pelo extrator 150. O sinal residual inversamente transforma-dp, isto è, reconstruído/ e o sinal da 5 predição couforme derivado pelo preditor 156 são combinados, tal como adicionados, pelo somador 154/ d QUθl/ pór sua vez, emite o sinal reconstruído assim recuperado na saída 16D e encaminha õ mesmo ao preditor 156, . _
Conforme se torna claro a partir da comparação 10 éhtrs as Figuras 3 e 4r oô elementos 152, 154 e 156 correspondem funcionalmente aos elementos 104, 110 e 105 da Figura 3.
Na descrição acima das Figuras 1 a 4, diversas diferentes possibilidades foram apresentadas em relação a possíveis subdivisões da imagem 20 e a girawlaJíidade 15 correspondente na. variação de alguns dos parâmetros envolvidos na codificação da imagem 20. Uma tal possibilidade é novamente dpscrita em relação à Figura 5a a à Figura 5b. A Figura 5a mostra uma porção de uma imagem 20. De acordo com a realização da Figura 5a, o codificador e o decodificador são configurados para 20 primeif emente subdividir a imagem 20 em blocos de raiz de árvore 200. Um tal bloco de raiz de árvore é mostrada na Figura 5a. A subdivisão da imagem 20 em blocos de raiz ds árvore é realizada regularmente em linhas e colunas conforme ilustrado pelas linhas pontilhadas. O tamanho dos blocos de raiz de árvore 200 pode ser 25 selecionado pelo codificador e sinalizado ao decodificador pelo fluxo de bits 30. Alrernativamente., o tamanho destes blocos de raiz de árvore 200 pode ser fixo por padrão. Os blocos de raiz de árvore 200 são subdivididos pelo aso de particionamento de quad- árvore para produzir bs blocos acima identificados 40, os quais podem ser chamados blocos de codificação ou unidades de codificação. Estes blocos de codificação ou unidades de codificação são desenhados com linhas sólidas finas na Figura 5a.
Por meio disto, o codificador companha cada bloco de raiz dé árvore 200 com informações de -subdivisão e insere as informações, de subdivisão. no fluxo d.e bits. As- informações de subdivisão indicam como o bioco de. raiz dé árvore JÜQ deve ser subdividido em . blocos 40. Em uma granularidade, e nas unidades destes blocos 40, o modo de predição- varia dentro da imagem áCL. Conforme indicado acima, cada bloco 40: - ou cada bloco possuindo ürá oertq modo- de predição, tal como modo de inter predição - é acompanhado por informações de particionamento sobre qual padrão de particionamento é utilizado para 0 respective. blbeó- 40. No taso 1.5 ilustrativo da Eigura 5a/ para .muitos blocos de codificação 40, o modo de não particionamento foi escolhido de modo que ó bloco de çódifi-eação 4Q coincida espacialmente com a partição correspondents• Em outras palavras, o bioco de codificação 40 é, oon.cor rentemente, uma partição possuindo um respectivo conjunto de parâmetros de predição ãssçciãdoã áo mé.átób-, O tipo des parâmetros; de predição, por sua vez, depende do modo associado ao respective bloco codificação 40. Outros blocos codificação, no entanto, são exemplarmente mostrados comé sendo adiçionalm&nte divididos, 0 bloco codificação 40 no canto superior direito do bloco de raiz de árvore 200, por exemplo, é mostrado como sendo particionado em quatro partições, enquanto que o bloco codificação no canto inferior direito- do bloco ds rδis de átvor.e. 2-QO é exemptarmente mostrado come sendo verticalmente subdividido em duas partições. A subdivisão para o particionamento em partições é ilustrada pelas linhas pontilhadas. & Figura &a também méstra ã ordem de codificação dentre as partições assim defialdas, Conform.® mostrado, uma ordem dé passagem, em profundidade é utiliíada. Do 5 outro lado das bordpa do bioco de raiz de árvore, a ordem, de codificação pode continuar em uma ordem de rastreamento de acordo eom á qual as linhas dos blocos de raia; de árvore 2C0 são rástreadas linha. ppr linha, dó topo- pára a = parte inferior da. imagem.. Por esta medida., é po-ssivel possuir uma. possibilidade 10 máxima de que uma certa partição possua uma partição previamente. codificada adjacente à sua borda superior e à borda esquerda. Cada bloco - ou cada bloço possuindo, um certo modo de predição tal cã» modo de inter predição - pode possuir um indicador de chave de mésçlágem dentro do fluxo de bits indicando se a mesclagem está 15 ativada para as partições correspondences da mesmo ou não. Deve ser observado que cr particionamento dos bloaçs em partiçSes/iinídades de predição poderia ser restrito a um parti ui onáiutn.t& de no máximo duas partições, com meramente uma exceção a esta regra sendo somente feita para o menor tamanho de 20 bloco possível dos blocos 40. Isto poderia, no caso de utilização de rma subdivisão de quad-árvore para obter os blocos 40, evitar a redundância entre lãfoXroaçõss de subdivisão para subdividir a imagem 20 no bloca 40 e informações de particionamento para subdividir o bloco 40 em partições. Alternativamente, meramente .25 parricionamentos em uma cu duas partições poderiam ser permitidos, incluindo ou não incluindo os assimétricos.
A Figura 5b mostra uma árvore de suhdivísãOi Com linhas sólidas, a subdivisão dó bloco ds raiz de árvore 20Q, é ilustrada, enquanto que as linhas pontilhadas simbolizam o particionamento de blocos de folha da subdivisão de quad-árvore, os quais são os blocos de codificação 40. Isto é, o particioπamento dos blocos de codificação representa um tipo de 5 extensão da qnad-subdivisão*
Conforme já observado ateima, cada bloco de .. codificação 40 pode ser paralalamente subdivido em blocos transformados/ de modo que os blocos transformados - possam, representar uma subdivisão diferente do respectivo bloco de 10 codificação 40. Fara cada um destes blocos transformados, que não são mostrados nas Figuras 5a e 5b, uma. transformada para transformar o sinal residual dos blocos de codificação pode ser realizada separadamente.
A seguir, realizações adicionais da presence 15 invenção são descritas. Enquanto as realisaçòes acima se concentraram na relação entre a mesclagem de blocos por um lado e o pa.tticier.amentc de blocos por outro lado, a seguinte descrição também inclui aspectos do presente pedido de patente relacionados a outros princípios de codificação conhecidos nos presentes 20 codecs, tais como modos SKIP/DIRECT. Não obstante, a subsequente descrição não deve ser considerada como meramente descrevendo realizações separadas, isto ê, realizações separadas das descritas acima. Em vez disso, a descrição abaixo também revela possíveis detalhes de implementação para as realizações descritas acima- 25 Fortaritó, á descrição abaixo utiliza sinais de referência das figuras já descritos acima, de mod© que uma possível respectiva implementação descrita abaixo, deve definir possíveis variações de realizações descritas acima, também. A maior parte destas variações pode sèr individualmente transferida para as realizações acima.
Em outras palavras, as realizações do presente pedido de patente descrevem métodos. para reduzir a taxa de informações secundarias em aplicações de codificação de imagem é vídeo ao mesclar elementos de sintaxe associados- a conjuntos específicos de amostras, isto ê, blocos, para- o propósito de. transmitir parâmetros- de codificação associados. As realizações dó presente pedido de patente s.ão partidularmente. capazes de 10 considerar a combinação da mesclagem de elementos de sintaxe com dm particionamento de partes de uma imagem em diversos padrões de particionamento e a combinação cora modos SKIP/DIRECT, nos quais os parâmetros de codificação são inferidos a partir de uma vizinhança espacial e/ou temporal de um bloco atual. Nesta medida, as realizações acima descritas podem ser modificadas para implementar a. mesclagem para conjuntos de amostras, isto é, blocos, em combinação cóm diferentes padrões de particionamento- e modos SKIP/DIRECT.
Além disso, antes de descrever estas variações e detalhes adicionais, uma visão geral de codecs de imagem e vídeo é apresentada.
Em aplicações de -codificação de imagem e vídeo, as matrize.s de amostxas associadas a uma imagem são geralmente particionadas eni conjuntos específicos de amostras (ou conjuntos 25 de ampstrasl, os quais podem representar blocos retangulares ou quadráticos ou qualquer outro conjunto de amostras incluindo regiões de forma arbitrária, triângulos, oü quaisquer outras formas. A subdivisão das matrizes de amostras pode ser fixada pela sintaxe, ou a subdivisão á (pelo menos parcialmente) sinalizada dentro dó fluxo de bits. Para manter a taxa de informações secundárias para sinalizar as informações de subdivisão pequena, a sintaxe geralmente permite somente um número limitado de escolhas 5 resultante em particionamento simples tal como a subdivisão de blocos em blocos menores. Um esquema de particionamento frequentemente utilizado é o particionamento dó blócó quadrado em quatro, blocos quadrados menores, ou em blocos retangulares- de - mesmo tamanho, ou em dois blocos retangulares do diferentes 10 tamanhos, çnde d particionamento realmente empregado é sinalizado dentre do fluxo de bits. Os conjuntos de amostras são associados a parâmetros de codificação específicos, que podem especificar informações de predição ou modos de codificação residual, etc. Em aplicações de video, um particionamento é frequentemente feito para o propósito do representação de movimento. Todas as amostras de um bloco (dentro de um padrão de particionamento} são associadas ao mesmo conjunto de parâmetros d,e móvimento, OÈ quais podem incluir parâmetros especificando o tipo de predição (por exemplo, lista 0, lista 1, ou bi-predição; e/ou predição trans lacional ou afim ou uma predição com um diferente modelo de movimente), parâmetros especificando as imagens de referência empregadas, parâmetros especificando o movimento em relação às imagens de referência (por exemplo, vetores de deslocamento, vetores de parâmetro de movimento afins, PU vetores de parâmetro de movimento para qualquer outro modelo de movimento), os quais são geralmente transmitidos coma uma diferença a um preditor, parâmetros especificando a precisão de parâmetros de movimento (por exemplo, precisão de meia amostra ou de quarto de amostra), parâmetros especificando õ peso do sinal de amostra de referência (por exemplo, para o propósito de compensação de iluminação) , ou parâmetros especificando o filtro- de interpolação que ê empregado para decivar o sinal de predição com compensação de movimento do 5 bloco atual* É presumido que pa.ra oada conjunto de aahstra, parâmetros de codificação individuals (pgr exemplo, para especificar a predição e ou codificação rèsidualj são transmitidos. pára atingir uma eficiência decodifi cacao melhorada, esta invenção apresenta um .método e realizações' 10 específicas para mesclar dois ou mais conjuntos dé. amostras nos chamados grupos de conjuntos de amostra. T®do& ps- conjuntos de amostras de tal grupo compartilham dos mesmos parâmetros de codificação, os quais poderá ser transmitidos com ‘"um <os conjuntos de amostras no grupo* Ao realizar isto, os parâmetros de 15 eddiíicãção. não precisam ser transmitidos para cada conjunto de amostra do grupo de conjunto de amostras in.dividualnientê.,. em vez disso, 03: parâmetros, de codificação são transmitidos somente uma vez para todo. o grupo de conjuntos de amostras* Como resultado, a taxa de informações secundárias para transmitir os parâmetros de 20 çodifiçáção é reduzida, e a eficiência de codificação geral è melhorada, Como uma abordagem alternativa, um refinamento adicional para um ou roais dos parâmetros de codificação pode ser transmitido para um ou mais dps gpnjiiβtαs- dp amostras de W gtupo de conjuntos de amostras. 0 refinamento pode ser aplicado a todos 25 os- conjuntos de amostras ds um grupo ou somente ao conjunto de amostras ao qüal è transmitido* As- realizações da presente invenção paXtieularmen.te Sè referem à combinação do processo de mesclagem com um particionamento de W bloco em diversos sub-blocos 50,. 6C (conforme mencionado acima) » ÈéraInv&rítet QS sistemas de codificação de imagem ou vídeo suportam diversos padrões de par ti cdonamento para Um bloco 40. Como um exemplo, um bloco 5 quadrad©. pode nâo ser particionado oíj pode ser particionado em quatro blocos quadrados do mesmo tamanho, cu em dois blocos retangulares do mesmo tamanho (onde o bloco quadrado pode sés - dividido verti cai men te- ou - hérigoiitá.linente);^ cu _ em blocos ( retangulares de diferentes tamanhos (horizontal linente ou verticalmente). Os padrões de partição descritos exemplarmenté são iluátrad.o.a na Figura &. Além da descrição acima, o particionamento pode envolver ainda mais que Um nível de partiMbnamento. Por exemplo, os •aub-blocos quadrados podem opcionalmente também. sèx ainda mais particionados utilizando os mesmos padrões de partieignamenté.
Á questão que surgé quando tal pfgçessp dé particionamento é combinado com mu processo de mesclagem. que permite a mesclagem de um bloco (quadrado ou retangular). εonr por exemplo, lâm de seus blocos vizinhos é qué o mesmo partiglõhaméhtõ; pode, ser atingido por diferentes combinações dos padrões de 20 particionamento e sinais de mesclagem. Assim, as mesmas informações podem ser transmitidas no fluxo de dados utilizando diferentes palavpas de código, o que é claramsnte sub-ideal em relação à eficiência de codificação. Como um simples exemplo, consideramos um bloco quadrado que não ê adiGÍonalmente 25 par tielonadó (cpafornie ilustrado no canto su-perior esquerdo da Figura S. Este particionamento pode ser diretainente sinalizado através do envio de um elemento de sintaxe do que este bloco 4Q não é subdividido. Porém,' õ mesmo padrão pótle taji\bém s.er sinalizado ao. enviar um elemento de sintaxe que específica que este bloco é, por exemplo, subdividido em dois blocos retangulares alinhados verticaliuenté (ou horizontalmen.te) 50, 60. Em seguida, podemos transmitÍJ- informações de rnesçlagem que especifiquem que o 5 segundo destes .blocos retangulares é mesclado com o prJméj,rn bloco retangular, o que resulta exatainente no mesmo particionamento que. quando sinalizamos que o bloco não ê adieiohalπient.e dividido, 0 - m&sroo pode= também ser- atingida ad-pxint^ir-âiuente especificar que p bloco é subdividido em quatro sub-blocos quadrados-, e em seguida 10 transmitir informações de mesclagem que mesclem de maneira eficaz todos estes quatro blocos.. Este conceito e cláraménte. súb-i-deal (uma voz que * possuímos diferentes palavras de código para sinalizar a mesma coisa).
As realizações da presente invenção descrevem úm 15 conceito e possibilidades para reduzir a taxa de informações secundárias e, assim, aumentar .a eficiência de codificação para unia combinação do conceito da mesαlagejft com o conceito de prover diferentes padrões de particionamento para um bloco, Se olharmos para os padrões de particionamento exemplares na Figura 6, a 20 "simulação" do bloco não adic5.bnalmen.te dividido pop qualquer u® dos padrões de particionamento com dois blocos retangulares pode ser evitada quando proibimos (isto é, excluímos da especificação de sintaxe- do fluxo de dados) o caso em qué um bloco retangular ê. mesclado som um primeiro bloco retangular. Quando olhamos mais 2;5 profundamente para a questão, também é possível "estimular" o padrão não subdividido .ao mesclar o segundo retangular com qualquer outro vizinho (isto é, nâg õ primeiro blocõ retangular) que for cissociadç aos mesmos parâmetros (por exemplo, info.rmações para especificar... a predição) como o primeiro bloco. As realizações da presente invenção condidõnam o envio de informações de mesclagem de maneira que o envio de parâmetros de mesclagem específicos seja excluído da sintaxe do fluxo de bits quando estes 5 parâmetros de mesclagem resultarem eja um padrão que possa também ser atingido através dã sinalização de um. dos padrões de particioπamento suportados. Como um exemplo, se o padrão de particioπamento atual especificar a subdivisão em dois blocos retangulares, conforme mostrada na Figura 1 e 2, por exemplo-., 10 antes de enviar as informações de mesclagem para o segundo bloco, isto é, 60 no caso da Figura 1 e 2, pode ser verificado qual dos possíveis candidatos a mesclagem possui os mesmos parâmetros (por - exemplo, parâmetros para especificar o sinal de predição) como o primeiro bloco retangular, isto é, 5.0 no caso das Figuras 1 c 2. E 15 todos os candidatos que possuírem os mesmos parâmetros de movimento (incluindo o primeiro bloco retangular propriamente dito) são removidos do conjuntos de candidatos a mesclagem. As palavras dfe código ou sinalizações que são transmitidas para, sinalizar as informações de mesclagem sío adaptadas para o conjunto de candidatos resultante. Se o conjunto de candidatos se tornar vazio devido à verificação de parâmetro, nenhuma informação de mesclagem é transmitida. Se o conjunto de candidatos consistir em somente uma entrada, é sinalizado somente se o bloco é mesclado cu não, porém o candidato não precisa ser sinalizado, uma vez que pode ser derivado no lado do decodificador, etc. Para o exemplo acima, o mesmo conceito é também empregado para o padrão de particioπamento que divide um bloco quadrado em quatro blocos quadrados menores. Aqui, o. envio de sinalizações de mesclagem é adaptado em uma maneira em que nem o padrão de particionameiito que especifica nenhuma subdivisão., nem nenhum dos padrões de partiçÍQ:name.ntó que especificam uma subdivisão em dois blocos retangulares do mesmo tamanho, pode ser atingido por Uma combinação 5 de sinalizações de mesclagem. Embora tenhamos descrito o conceito na maior parte do exemplo acima com padrões de particionamento específicos, deve ser claro que. d iue sitio conaeitc (evitar a especificação de um padrão de- partiqion.am.ento.especifico através de uma combinação de outro padrão de particionamento e informações 10 de mesclagem correspondentes) pode ser empregado para qualquer outro conjunto de padrões dê particionamcrito, Á. vantagem cia invenção descrita em relação a üm conceito no qual somente o particionamento é permitido ê que. urna liberdade muito maior ê provida pata sinalizar o particionamento 15 de uma imagem em partes que alô. associadas aos mesmos parâmetros (por exemplo, para especificar o sinal de predição) . Como um exemplo, padrões de particionamento adicionais que resultem da mesclagem de blocos quadrados de um bloco subdividido maior são ilustrados il.á Figura 7. Deve, entretanto, ser observado que mais 20 padrões resultantes podem ser atingidos ao mesclar com blocos vizinhos adicionais (fora do bloco previamente subdividido), Com somente poucas palavras de código para sinalizar as informações de partici.onainen.to e de mesclagem, uma variedade de possibilidades é provida, e um codificador pode selecionar a melhor opção (pata uma 25 dada complexidade de c.odificador) em um sentido do distorção de taxa (por exemplo, ao minimizar uma medida de distorção de taxa específica) . & vantagem em comparação çom. uma abordagem na qual somente um padrão de particionamento (por exemplo, uma subdivisão em quàtro blocos cie mesmo tamanho) é provido em combinação com a abordagem de mesclagem ê que Qs padrões utilizados frequentemente (como, por exemplo, formas retangulares de tamanhos diferentes) podem ser sinalizados por uma palavra de código curta em vez de 5 diversas sinalizações de subdivisão e mesclagem.
Outro aspecto que prdcisa ser considerado é que o conceito, de mesclagem è, em certo sentido, similar aos modos SKIP ou DIRECT que são encontrados em projetes de codificação de vídeo. Nos modos SKIP/D.IRECT, basicamente nenhum, parâmetro de movimento è 10 transmitido pára um bloco atual, mas sim são inferidos a partir de uma vizinhança espacial e/ou temporal. Em um conceito eficiente especifico dos modos SKIP/DIRECT, uma lista de candidatos a parâmetro de movimento (índices de quadro de referência, vetores de deslocamentos, etc.) é criada a partir de uma vizinhança 15 espacial e/ou temporal,, e um índice para está lista ê transmitido, o qual especifica qual dos parâmetros candidatos é escolhido. Para blocos hi -preditos, (ou quadros de multi-hipóteses.), um candidato separado pode ser sinalizado para cada lista de referência. Possíveis candidatos podem incluir o bloco ao topo do bloco atual, 20 o bloco. à esquerda do bloco atual, o bloco no canto superior esquerdo do bloco atual, o bloco no canto superior direito do bloco atual, o preditor de mediana de diversos destes candidatos, o bloco co-localizado em um ou mais quadros de. referência prévios (ou qualquex' outro bloco já codificado, ou uma combinação, obtida a 25 partir de blocos já codificados) . Ao combinar o ebuceito de mesclagem com o mod® SKIP/DIRECT, deve ser garantido que tanto os mαdos SKIP/DIRECT quanto o modo de mesclagem não devem incluir &s mesmos candidatos. Isto pode ser atingido através de diferentes configurações. É possível permitir o modo SKIP/DIRECT (por exemplo, com mais candidatos que o modo de mesclagem) somente para blocos específicos (por exemplo, com um tamanho maior que um tamanho especificado, õU somente para biocos quadrados, etc.) e nâo suportar o modo de mesclagem para estes blocos. Ou o modo SKIP/DIRECT pode ser removido e todos os candidatos (incluindo es parâmetros que representam uma combinação de parâmetros para os — blocos vizínhod-.espaciais/temporalsj. são adicionados ao modo de mesólageni como candidatos. Esta opção foi também menciènada acima em relação às Figuras 1 a 5* O conjunto de. candidatos ampliado pode somente ser utilizado para blocos específicos (com tamanho maior que ura dado tamanho mínimo, ou blocos quadrados, etc,), onde, para outros blocos, um conjunto de candidatos reduzido é utilizado- Ou como, uma variante adicional, o modo de mesclagem é utilizado coin um conjunto de candidatos reduzido (pot exemple, samaatã o vizinho superior e ,o esquerdo) e candidatos adicionais (por exemplo, o modo superior esquerdo, o bloco co-Localizado, etc.) são utilizados para o modo SKIP/DIRECT. Também em tais configurações, os modos SKIP/DIRECT podem somente ser permitidos para blocos específicos (com um tamanho maior que um dado tamanho mínimo, ou biocos quadrados, etc.), enquanto que O modo de mesclagem é permitido para. um conjunto maiõr dé blõços;, A vantagem de tais combinações é que diversas opções para sinalizar a reutilização de parâmetros já transmitidos (por exemplo, para especificar a predição) são providas para diferentes tainanhos de bloco. Como um exemplo, para blocos quadrados maiores, mais opções gap. providas, uma vez que aqui, a taxa de bits adicionalmente empregada provê um aumento na eficiência de. distorção de taxa.
Para blocos menores, um conjunto de opções menor é provido. Um aumenta do çonjunto de candidatos .não traria nenhum ganho- na eficiência de distorção de taxa devida à pequena relação de amostras por bit, necessária para sinalizar o -çandidato 5 selecionado.
Conforme mencionado acima, as realizações da presente invenção também provêm um codificador com maior liberdade para criar um fluxo de bits, uma vsz que a abordagem de mesclagem aumenta significativamente o número de possibilidades para 10 seleciona?.' ura particionamento para as matrizes de amostras de uma imagem. Uma vez que o codificador pode escolher entre mais opções, por exemplar pata minimizar unia medida de -distorção dê taxa especifica, a eficiência de codificação pode §er melhorada. Como um exemplo, alguns dos padrões adicionais que podem ser 15 representados por uma combinação de sub-particionaiuent<o e mesclagem (por exemplo, os padrões na Figura 7) podem ser adícionalmente testados (utilizando os tamanhos de blocos correspondentes para estimativa de movimento e decisão de modo) e o melhor dos padrões provido através de particionamento puro 20 (Figura 6) e por particionamen.ro e mesclagem (Figura 7) podem ser selecionados com base em uma medida de distorção de taxa especifica. Além disso, -para cada bloco, pede ser testado se uiua mesclagem com qualquer um dbs conjuntos de candidatos codificados produz era diminuição de uma medida de distorção de taxa 25 especifica, e então, as sinalizações de mesclagem correspondentes sã.o ativadas durante o processo de codificação. Em resumo, existem diversas possibilidades para operar um codificador. Era uma abordagem simples, b codificador poderia primeiro determinar a fldl.hoi subdivisão das marrires de amostra teohfõrme nos esquemas de codificação da técnica, anterior) - E em seguida poderia verificar para cada conjunto de amostras, se uma mesclagem com. outro conjunto de amostras ou outro grupo de conjuntos de amostra zçdu? wna medida de custo dè distorção de taxa especifica.. Cora isto, os parâmetros d.e predição associados a este grupo de conjuntos de amostras mesclado podem ser reestinados (por exemplo,, realijando uma jnova búsçá por moviméntos) ou <>s parâmetros de _= predição que já foram, determinados para o conjuntg de amostra atual e o conjunto de amostra candidato (ou grupa de conjuntos de amostras) para mesclagem poderiam ser avaliados pára p-s grupos de conjuntos de amostras .csnsiderados. Em uma abordagem. mais ampla, uma medida de custo de distorção de taxa especifica poderia ser avaliada pata grupo® de cén junto®, de áBidstráS- candidatos - adiçiçnais. Como i#n, exemplo especifico, a.o testar os. diversos padrões de particionamento possíveis (ver Figura 6, por exemplo), uma parte ou todos os padrões que podem ser representados por uma combinação de partí cionarcento e raes cl a gera (ver Figura 7, por g^emplõ) podem ®er adieionalmente testados. Isto é,, para tõdos õs padrões, uma estimativa de movimento especifiça e processo de. decisão de modo são realizados, e o padrão que produzir a menor medida de distorção de taxa é selecionado. Este processo pode tambèra ser combinado- com o processo de baixa còmplexidade dáserito acima, de modo que, pata es blocos resultantes, é adicionalmente testado se uma mesclagem com os blocos já codificados (por exemplo, fora dos pa.dròes da Figura 6 e da Figura 7) pròduz uma redução em uma medida de distorção de taxa.
A seguir, algumas possíveis implementações detalhadas para as realizações descritas acima sad descritas, tal como para os codificadores nas Figuras 1 e 3 s os decodificadores das Figuras 2 é 4. Conformã jã observada acima, o mesmo é utilizável na codificação de imagem e de video. Conforme descrito 5 acima, as imagens ou conjuntos específIcós de matrizes de amostras podem, ser decompostos em blbdõs, os quais são associados a parâmetros de codificação específicos.;. As imagens geralmente , consistem em diversas matrizes de .amostras. Além—disso, uma-imagem pode também ser associada a matrizes de amostras auxiliaries adicionais, as quais podem, por exemplo, especificar informações de transparência ou mapa» de profundidade. As matrizes de amostras de uma imagem (incluindo matrizes de amostras auxiliares) podem ser agrüpãdas em um ou mais dos chamados grupos de plano, onde cada grupo de plano consiste em uma ou mais matrizes de amostras. 0s grupos de plano de uma imagem podem ser codificados independent emente ou, se a imagem é associada a mais de um grupo de plano, com a predição de outros grupos de plano da mesma imagem. Cada grupo de plano é geralmente decomposto, em blocos, Qs blocos (ou os blocos correspor.dentes de matrizes de amostras) são preditos por predição inter imagem ou predição intra, imagem. Os blocos podem possuir diferentes tamanhos e podem ser quadráticos ou retangulares. Q particíonamento de uma imagem em blocos pode ser fixado pela sintaxe, ou pode ser (pelo menos parcialmente) sinalizado dentro do fluxo de bits. Frequentemente, elementos de sintaxe são transmitidos, ps quais sinalizam a subdivisão para blocos de tamanhds pré-definidos. Tais elementos de sintaxe podem especificar se ou como um bloco é subdividido em blocos menores e sendo associados a parâmetros dê codificação, por exemplo, para o propósito de predição. Um exemplo de possíveis padrões de particionamento é mostrado na Figura 6. Para todas as amostras de um bloco (ou os blocos de matrizes de amostras correspondentes)? a decodificaçâo dos parâmetros de codificação associados é 5 especificada de certa maneira. No exemplo, todas as amostras em um bloco são preditas utilizando p mesmo conjunto de parâmetros de predição, tais como índices de referência (identificando uma imagem de referência, na conjunto de' imagens já codificadas), parâmetros de movimento (especificando uma medida para o movimento 10 de blocos entre uma imagem, de referência e a, imagem atual) , parâmetros para especificar o filtro de ixite.rpoiação, modos de intra predição, etc. Os parâmetros de movimento podem ser representados por vetores de desl.ocaraer.ro cant uma componente batizdntal e uma. vertical, ou por parâmetros dé ordem mais alta, 15 tais como parâmetros de movimento afins consistindo em seis componentes. Também ê- possível que mais de um conjunto de parâmetros de predição específicos (tais como índices de referência e parâmetros de movimento) sejam associados a um, único bloco. Neste caso, para cada conjunto destes parâmetros de 20 predição, um único sinal de predição intermediário para o bloco (ou os blocos correspondentes de matrizes de amostras) ê gerado., e p sinal de predição final é construído por uma combinação incluindo a sobreposição dos sinais de predição intermediários. Oã parâmetros de peso correspondentes, e potênciaImente também um 25 deslocamento (o qual é adicionada à soma ponderada) podem ser fixos para uma imagem, em uma imagem de referência,, ou um conjunto de imagens de referência, ou eles podem ser incluídos no conjunto de parâmetros de predição para o bloco correspondente, A diferença entre os blocos originais (ou os blocos correspondentes de matrizes de amostras) e seus sinais de predição* também chamados de sinal residual, é geralmente transformada e quantizada. Frequentemente, uma transformada bidimensional é aplicada ao sinal 5 residual (ou às matrizes de amostras correspondentes para o bloco residual) > J?ara codificação de transformada, oa blocos (ou bs blocos correspondentes de matrizes de amostras) para os quais um conj-unto especifico de parâmetros de predição foi utilizado, podem ser adicionalmente divididos antes de aplicar a transformada. Os 10 blocos transformados podem ser iguais ou menores que es blocos que são utilizados para a predição. Também é possível que um bloco transfarmado inclua mais de um dos blocos que são utilizados para a predição. Diferentes blocos transformados podem possuir diferentes tamanhos, e os blocos transformados podem representar blocas quadráticos ou retangulares. No exemplo acima para as Figuras 1 a 3, foi observado que é postlvel que bs nós de folha da primeira subdivisão, isto é, os blocos de codificação 40, podem ser adicionalmente particionados paralelamente na partição definindo a granularidade dos parâmetbos de codificação, por um 20 lado, e os blocos transformados sobre os quais a transformada bidimensional é aplicada individualmente, por putro lado. Após a transformada, os coeficientes de transformada resultantes são quantizados, e os chamados níveis de coeficiente de transformada são obtidos. Os níveis de coeficiente de transformada, bem como os 25 parâmetros de predição e, se presehtèç, as informações dé subdivisão são codificados por entropia.
Nos padrões de codificação de imagem e video da técnica anterior, as possibilidades para subdividir uma imagem (ou um grupo de plano) em blocos que ãâõ providos pela sinr.axe são muito limitadas. Geralmente, somente pode ser .especificado se <e potencíalmente como) um bloco de tamanho pré-definido pode ser subdividido e® blocos menores.. Como um exemplo, o major tamanho de 5 bloco em H.264 é 16x16. Os blocos de 16x16 sãõ também chamados de macroblocos., e cada imagem é participnada em macroblocos em uma primeira etapa, Para cada macroblpco de 16x16, pode ser sinalizado se é codificado como um bloco 16x16, ou como dois blocos de 15x8, ou como dois blocos de 8x16, ou como quatro blocos de 8x8. Se um 10 bloco de 16x16 for subdividido em quatro blocos de 8x8, cada uin destes blocos de 8x8 pode ser codificado como um bloco de 8x8, pu como dois blocos de 8x4, ou como dois blocos de 3x8, ou como quatro blocos de 4x4. O pequeno conjunto de possibilidades para especificar o particionamento em blocos nos padrões de codificação 15 de imagem e video da técnica anterior possui a vantagem, que a taxa de informações secundárias para sinalizar as informações de subdivisão pode ser mantida pequena, porém ele possui a desvantagem que a taxa de bits necessária para transmitir os parâmetros de predição para os blocos pode se Lqrnar significativa, conformo explicado a seguir; A taxa de informações secundárias para sinalizar as informações dé predição geralmente representa uma quantidade significativa da taxa de bits geral para um bloco. E a eficiência de codificação poderia ser aumentada quando estas informações secundárias são. reduzidas, o que, por 25 exemplo, poderia ser obtido utilizando tamanhos de bloco maiores.
Também é possível aumentar © conjunto de padrões de par ti cionamento suportados em comparação ao H. 264,. Por exemplo, os padrões de particioπamento ilustrados na Figura 6 podem ser providos para blocos quadradas de. todos os tamanhos (ou tamanhos selecionados) . As imagens ou fotos reais de uma séquãnaia de vídeo consistem em objetas de forma arbitrária com propriedades especificas. Como um exemplo, tais objetos ou partes dos objetos são caracterizados por uma textura exclusiva ou movimento exclusivo. E geralmente, o mesmo conjunto do parâmetros de predição pode ser aplicado para tal objeto ou parte de um objeta. Porém, as fronteiras do objeto geralmente nãp coinciderá com as possíveis frõntqiras de bloco. para grandes bloqps de predição (por exemplo, macroblocos 16x16 em H.264). Ura codificador geralme-nte determina a subdivisão (dentre o conjunto limitado de possibilidades) que resulta no mínimo de uma medida de custo de distorção de taxa específica. Para objetos de forma arbitrária, isto pode resultar em um maior número de blocos pequenos, Esta afirmação permanece também verdadeira quando mais padrões de particionamento (conforme mencionado) acima são providos. Deve, ser observado que a quantidade de padrões de particionamento não deve se tornar muito grande, uma vez que muitas informações secundárias e/ou complexidade de decodificador/decodificador são necessárias para sinalizar e processar estes padrões, Então, Os objetos de forma arbitrária frequentemente resultará em urá maior número, de pequenos blocos devido ao partib.ior.ame ato. E uma vez que cada um destes blocos. pequenos está associado a um conjunto de parâmetros de predição, os quais precisam ser transmitidos, a taxa de informações secundárias pode se tornar uráa parte significativa da taxa d.e bits geral. Porém, uma vez que diversos blocos pequenos ainda representará áreas do mesmo objeto oü parte dé ura, objeto, os parâmetros de predição para um húmerô de blocas obtidos são os mesmos ou muito similares* Intuitivamentef a eficiência de codificação poderia ser aumentada quando a sintaxe for estendida era tuna maneira que nàç somente' permita subdividir um bloco, mas também mesclar dois pu mais dos blocos que estão contidos após ã subdivisão. Como ura resultado, poderia sé obter ura grupo de blocos que são codificados com os mesmos parâmetros de predição. Os parâmetros de predição para tal grupo de blocos precisam ser codificados apenas uma vez. Nos exemplos, acima das Figuras 1 a 5, por exemplo, os parâmetros de codificação para o bloco atual 40 .1.0 não são transmit .idos, contanto que a mesclagem ocorra, isto ê, o conjunto reduzido de candidatos não desapareça. Isto é, o codificador não transmite os parâmetros de codificação associados ao bloco atual, e ó decodificador não espera que o fluxo de bits 30 contenha parâmetros de codificação para p bloco atual 40. Em. vez disso, de acordo com suas realúzações especificas, meraraente- õ refinamento de informações pode ser transmitido para o bloco atual mesclado 40. Como uraa determinação de um conjunto de candidatos e a redução do mesmo, bem como a. mesclagem e assim: por diante também aão realizados para os outros blocos de codificação 40 da imagem
Os blocos de codificação, formam de alguma maneira grupos de blocos de codificação ao longo de uma cadeia de codificação, em que cs1 parâmetros de codificação para estes grupos são II transmitidos dentro do fluxo de bits completaraente, apenas uma vez;
Se a taxa de bits que é salva reduzindo & de parâmetros de predição codificados for maior que uma taxa de bits que é adicionalraente empregada para codificar as informações de- mesclagem, a mesclagem descrita resulta em maior eficiência de codificação. Deve ser adiei ona Iroente mencionado que a extensão de sintaxe descrita (para a mesclagem) provê o codificador qom liberdade adicional na seleção do particionamento de uma imagem ou grupo de plano em blocos. O codificador não é restrito para fa?er 5 a subdivisão primeiro, e em seguira verificar se alguns dos blocos resultantes possuem o mesmo conjuntç de parâmetros de predição.
Como uma alternativa simples, o codificador poderia primeiramente determinar ã subdiyisâtL jsomα nas téenicàs de dádífieaçãó da téSnti a antéSldí. B em seguida poderia verificar para cada bloco, se uma rrescladem com um de seus blocos vizinhos (ou o grupo de blocos determinado já associada1) reduz umâ medida de custo de distorção de taxa. Com isc.c, os parâmetros de predição associados a© novo grupo de blocos podem ser reestimados ÍJPor exemplo, realizando uma nova busca por movimentos) ou os parâmetros de 15 predição que já foram determinados para o bloco atual e o e o bioco pu grupo de blocos vizinhos poderiam ser avaliados para s novo grupo de blocos. Um codificador pode também diretamente verificar (ura subconjunto dos) padrões que são providos por uma combinação de separação e mesclagem; isto ér a estimativa de 20 movimento e a decisão de modo podem ser feitos com as formas resultantes conforme já mencionado acima. As informações de mesclagem podem ser sinalizadas- com base era bloco. Efetivamente, a mesclagem poderia também ser interpretada como inferência dos parâmetros de predição para um bloco atual,, onde os parâmetros de 25 predição inferidos são definidos iguais aos parâmetros de predição de um dos blocos vizinhos.
Com isto, deve ser observado que a combinação de diferentes padrões de particionamento e informações de .mesclagem podem resultar nas mesmas formas (que são associadas aos mesmos parâmetros) . Isto é claramente sub-ideal, uma vez ijiag a mesma mensagem pode ser transmitida com diferentes combinações de palavras de cpdigo. Para evitar (ou reduzir) este inconveniente, 5 as realizações da presente invenção descrevera um conceito» o qual proibe que a mesma forma (associada a um conjunto especifico de parâmetros) possa ser sinalizada por diferentes elementos de sintaxe de particionamento e de mesclagem. Portanto, para todos ps blocos de um bloco previ amente subdividido - exceto o primeiro em ordem de codificação - é checado em codificadores e decodif icadores tais como 10 e 50, para todos os candidatos S mesclagem, -se1 uma mesclagem resultaria em ura padrão que poderia ser sinalizado por um particionamento sem informações de mesclagem. Todos os blocos de candidatos para os quais isto é verdade são removidos do conjunto de candidatos a mesclagem, e as informações de mesclagem transmitidas são adaptadas ao conjunto de candidates resultante. Se não sobrar candidatos, hão será transmitida nenhuma informação de mesclagem; se um candidato permanecer, somente uma sihaiiz-ação que especifica se o bloco: é mesclado ou não é transmitida, etc. Para uma ilustração adicional deste conceito, uma realização preferida é descrita abaixo. A ' vantage» da invenção descrita em relação a um conceito no qual somente o particionamento é permitido è que uma liberdade muito maior é provida para sinalizar o particionamento de uma imagem em 25. partes que são associadas aos mesmos parâmetros (por exemplo, para especificar o sinal de predição) . A vantage®, em. comparação com tuna abordagem na qual somente um padrão de particionamento (por exemplo, uma subdivisão em quatro blocos de roesmo tamanho) é provido em combinação con a abordagem de mesclagem é que o-S padrões utilizados frequentemente (como, por exemplo, formas retangulares de tamanhos diferentes) podem ser sinalizados par uma palavra de código curta em vez de diversas sinalizações de 5 subdivisão e mesclagem.
Os padrões de codificação de video da técnica anterior, d©mp o H.2§4, também contêm modos de inter código específicos chamados--modos SKIP e .DIRECT, nps quais os. parâmetros^ especificando a predição são completamente inferidos a partir de blocos vizinhos espaciaImente e/ou temporalmenteA diferença entre SKIP e DIRECT é que o modo SKIP adicioualmpnte sinaliza que não é transmitida rienhum sinal residual- Em diversas melhorias propostas d© modo SKIP/DIRECT, em vez de um único candidato '(como no H.264), uma lista de possíveis candidatos ê inferida a partir de uma vizinhança espacial e/ou temporal do bloco atual» Possivei-s candidatos podem incluir o bloco a.o topo do bloco atual, o bloco à esquerda do bloco atual, o bloco no canto superior esquerdo do bloco atual# o bloco1 no canto superior direito do bloco atual, o preditor d.e mediana de diversos destes candidatos, o bloco co- localizado em um ou mais quadros de referência prévias (ou qualquer outro bloco já codificado, ou uma combinação obtida a partir de blocos já codificados) . Para uma combinação com o. modo de mesclagem, deve ser garantido que tanto o modo SKIP/DIRECT quanto 0 modo de mesclagem não deva incluir os mesmos candidates isto pode ser atingido por diferentes configurações conforme mencionado acima. A vantagem das combinaçógs descritas é que diversas opções para sinalizar a reutilização de parâmetros já transmitidos (por exemplo, para especificar a predição) são providas para diferentes tamanhos de bloco.;
Uma vantagem das realizações da presente invenção è reduzir a taxa de bits qué é necessária para transmitir os parâmetros de predição ao: mesclar blocos vizinhos' em um grupo de 5 blocos, onde cada grupo de blocos é associado a uni conjunto exclusivo de parâmetros de codificação, por exemplo, parâmetros de predição ou parâmetros de codificação residual. As informações de1 mesclagem são sinalizadas dentro do fluxo de .bits., (além das informações de subdivisão, caso presentes). Em combinação com diferentes padrões dê separação e modos SKIP/DIRECT,, pode ser garantido que o. modo SKIP/DIRECT e nenhum dos padrões providos sejam ""simulados"' ao enviar informações de mesclagem correspondentes. A vantagem das realizações da presente invenção é 1:
Uma maior eficiência de codificação resultante de uma taxa de 15 informações secundárias reduzida para os parâmetros. de codificação,. As realizações da presente invenção são aplicáveis em aplicações de codificação de imagem e video, nas quais conjuntos de amostras são associados a parâmetros de codificação ou de predição específicos. Õ processo de mesclagem pregentemente 20 descrito também se estende a uma terceira dimensão ou mais dimensões. Por exemplo, w grupo, dê blocos em diversas imagens de vídeo podería ser mesclado em um grupo de blocos* Poderia também ser aplicado ã compressão era 4D na codificação em campo de luz. Por outro lado, pode também ser utilizado para compressão em 25 sinais 1D, onde o sinal 1D é particionado, e es dadas partições são mescladas.
As realizações dã presente invenção também referem-se a um método para reduzir a taxa de informações realização específica, os parâmetros de codificação de um conjunto de amostras atual não são transmitidos se a amostra atual for mesclada com um conjunto de amostras (ou grupo de conjuntos de amostras) para o qual os parâmetros de codificação já foram transmitidos; em vez disso, os parâmetros de codificação para conjunto atual de amostras são definidos iguais aos parâmetros de codificação do conjunto de amostras (ou grupo de conjuntos de amostras) com o qual o conjunto atual de amostras é mesclado. 'Como uma abordagem alternativa, um .refinamento, adicional para um ou mais dos parâmetros de codificação pode ser transmitido para um Gpiijunto de amostras atual; o refinamento pode ser aplicado a todos os conjuntos de amostras de um grupo ou somente ao conjunto de amostra para o. qual é transmitido.
Em uma realização preferida,, para cada conjunto de amostras, o. conjunto dé todos os conjuntos de amostras previaniente codificadas é chamado o "conjunto de conjuntos de amostras causais". Os conjuntos de amostras que podem ser utilizados para, mesclar com um conjunto de amostras atual é chamado o "conjunto de conjuntas de amostras candidatos" e é sempre um subconjunto do "conjunto de conjuntos de amostras causais". A maneira pela qual este subconjunto é formado pode ser Conhecida pelo decodificador ou po.de. ser especificada dentro do fluxo de bits 4 De qualquer modo, o. codificador 10 @ α decodificador 80 determinam o conjunto de candidatos a ser reduzido. Se um conjunto de amostras específicos for codificado, e seu conjunto de conjuntos de amostras candidatos não estiver vazio, é sinalizado' (ou derivado) se o conjunto atual de amostras é mesclado com um conjunto de' amostras dentre este conjunto de conjuntos de amostras candidatos e, se sim, com qual deles (se mais de um candidato existir) . Caso contrário, a mesclagem não pode ser utilizada para este bloco. Os blocas candidatos para os quais uma mesclagem resultaria em uma forma que poderia também 5 diretamente ser especificada por unj padrão de particiçmamento são excluídos do conjunto de candidatos, pars, evitar que a mesma forma possa ser representada por diferentes combinações das informações de particioπamento e dados' de mesclagem. Isto ‘ é, & conjunto de candidatos é reduzido, através da remoção dos respectivos candidates, conforme descrito acima em relação às Figuras 1 a 5,
Em uma realização preferida, um número do conjunto de conjuntos de amestras candidatos é zero ou mais conjuntos de amostras que contêm pelo menos um número diferente dé zero éspedifico de amostras (o qual pode ser um oil dois ou atê 15 mais) que representem vizinhos espaciais diretos de qualquer amostra dentro do conjunto de amestras atual. Em outra realização preferida da invenção, o conjunto de conjuntos de amostras na nd ida t-os pode adicionalme.nte (ou exclusivamente). incluir conjuntos de amostras que contenham um número de amestras 20 diferente de zero especifico (o qual pode ser um õ..u dois ou até mais) que possuam o mesmo local espacial, isto é.r são. compreendidas tanto pelos conjuntos de amostras candidatos quanto, pelo conjunto de amostras atual atualmente submetido a mesclagem - porém estão contidas em uma imagem diferente, Em outra realização 25 preferida da invenção, õ conjunto de conjuntos de amostras candidatos pode ser derivado a partir de dados previamente processados denteç da imagem atual ou em outras imagens. D método de derivação pode incluir informações direcionais espaciais tais como coeficientes de trans formada r- associados a uma direção específica, e gradientes de imagem da imagem atual, ou pode incluir informações direcionais temporais., tais como representações de movimentos vizinhos. A partir de tais dados 5 disponíveis no receptor e outros dados e informações -secundárias (sé préaentes), a conjunto dte conjuntos de amostras candidatos pode ser derivado. A remoção dos candidatos (do conjunto de candidatos original) que-resultaria no- mesmo formato qúe podería ser representado por um padrão de particionamento especifico é 10 derivada da mesma maneira n© codificador e no decodificador, de modo que o codificador e o decodificador derivem o conjunto de candidatos final para tnèsclagam exatamente da mesma maneira.
Em uma realização preferida, os conjuntos considerados de amostras são biocos retangulares oü quadráticos.
Em seguida, os conjuntos me selados de amostras representam ura conjunto de blogos retangulares e/ou. quadráticos. Em outra realização preferida da invenção, os conjuntos considerados de amostras regiões de imagem cõm forma arbitrária, e 05 conjuntos mesclados de amostras representam um. conjunto de regiões de imagem 20 cura forma arbitrária.
Em uma realização preferida, ura ou mais. elementos de sintaxe são transmitidas para cada conjunto de amostras, 03 quais especificam se o conjunto de amostras è mesclado asm outro conjunto de amostras (o qual pode fazer parte de um grupo de 25 conjuntos de amostras já mesclados) e qual dos conjuntos de conjuntos de amostras candidatos é empregado para mesclagem.. O elemento de sintaxe, entretanto, não é transmitido se o conjunto de candidatos estiver vazio (por exemplo, devido à remoção dos candidatos que produziriam um particionamento que poderia se sinalizado por um diferente padrão de particionamento sem, mesclagem.) .
Em uma realização preferida, um ow mais elementos de sintaxe são transmitidos para especificar as informação de mesclagem. 0 primeiro element© de .sintaxe espeçifiça se g conjunto atual de amostras é mesclado coin outro conjunto de amostras. 0 segundo elemento de- sintaxe, -o qual, é somente transmitido se _ o primeiro elemento de sintaxe especificar que. o conjunto atual de amostras é mesclado com outro conjunto de amostras, especifica quais, dos conjuntos de conjuntos de. amostras candidatos' é empregado para mesclagem. Em uma realização preferida, o primeiro elemento de sintaxe ê somente transmitido se um conjunto derivado de conjuntos de amostras candidatos não for vazio (após a potencial remoção dos candidatos que produziria um parti-elónamento que podería .ser sinalizado por um diferente padrão. de particionaiaento sem mesclagem.) , Em outra realização preferida, o segundo elemento de sintaxe é somente transmitido se um conjunto derivado de conjuntos de amostras candidatos contiver mais de um. conjunto de amostras, Em uma realização preferida adicional da invenção, ó segundo elemento de sintaxe 4 somente transmitido si pelo menos dois conjuntos de amostras de um. conjunto de conjuntos de amostras candidatos fprem associados a diferentes parâmetros de codificação.
Em uma realização preferida da invenção, aS informações de mesclagem para um conjunto de amostras são codificadas antes dos parâmetros de predição (ou, de forma mais geral, ós parâmetros de codificação específicos, que são associados aos coinjuntos ,de amostras) = Os parâmetros de predição ou codificação são somente transmitidos se as informações de mesclagem sinalizarem que o conjunto atual de amostras não é mesclado com outro conjunto de amostras.
Em outra realização preferida, as informações de mesclagem parâ um conjunto de amostras são codificadas após um subconjunto dos parâmetros de predição (ou, de forma mais geral, os parâmetros de codificação específiads que são ~associados aos - conjuntos de amostras) ter sido transmitido. O subconjunto de parâmetros de predição pode consistir em um ou mais índices de imagem, de referência ou um ou mais componentes de um vetor de parâmetro de movimento ou úm índice de referência e um ou mais componentes de um vetor de parâmetro de movimento, etc. O subconjunto de parâmetros de predição ou codificação já transmitido pode ser utilizado para derivar um conjunto (reduzido.) de conjuntos de amostras candidatos. Cpmo um exemplo, uma medida de diferença entre os parâmetros de predição ou codificação já codificados. e os parâmetros de predição ou codificação correspondentes de um conjunto original de conjuntos de amostras candidatos podem ser calculados. E somente esses conjuntos de amostras., para ps quais a medida de diferença .calculada é menor ou igual a um limiar pré-def ini.do ou derivado, são incluídos no conjunto final (reduzido) de conjuntos de amostras candidatos, Ò limiar podê. ser derivado com base nas medidas de diferença calculadas. Ou, como outro exemplo, somente esses conjuntos de amostras são selecionados para os quais a medida de diferença é minimizada. OU somente um conjunto de amostras é selecionado com base na. medida de diferença. Neste último caso, as informações de mesclagem podem ser reduzidas de maneira que somente especifiquem se b conjunto atual de amostras é mesclado com o único conjunto de amostras candidato.
As seguintes realizações preferidas são descritas para conjuntos de amostras que representem blocos retangulares ε quadráticos, porém podem ser estendidas para regiões de formatos arbitrários ou outros conjuntos de amostras em uma maneira simples.
A derivação dp conjunto inicial de amostras descrita nestas seções refere-se à derivação de um conjunto de candidatos inicial. Üma parte ou rodos, os blocos candidates podem sçr posterio,rmente removidos através da análise dos parâmetros 15 associados (por exemplo, informações de predição) e remoção destes blocos candidatos para os quais uma mesclagem resultaria em um particiónameDto final gúe poderia ser também obtido utilizando outros padrões de particionamento. Este processo é descrito, na próxinta subseção.
Em uma realização preferida, o conjunto de blocos candidatos inicial é formado da seguinte forma. Começando da posição da amostra superior esquerda do bloco atual, a posição de sua amostra Vizinha esquerda e a posição de sua amostra vizinha superior são derivadas. O conjunto de blocos candidatos iniciai 25 pode possuir somente até dois elementos, a saber, os blocos dentre o conjunto de blocos causais que contêm uma das duas posições de amostra. Assim, o conjunto de blocos candidatos inicial pode somente possuir os dois blocos diretamente vizinhos da posição de amostra superior eβquerda do bloco atual como seus elementos,
Em outra realização preferida da invenção, o conjunto de blocos candidatos iniciais é dado por todos os blocos que foram codificados antes do bloco atual e contêm uma ou mais amostras que representem vizinhos espaciais diretos {os vizinhos espaciais diretos podem ser restritos aos- viainhos esquerdos diretos e/ou vizinhos superiores diretos e/ou vizinhos direitos diretos e/ou vizinhos inferiores diretos) de qualquer amostra do bloco atual. Em outra realização preferida da invenção, o conjunto de bloods cajididatos inicial inclui adiei ona Ime nte (ou exclusivamente) blocos que contêm uma ou mais amostras que estão localizadas na mesma posição que qualquer uma das amestras do bloco atual# porém estão contidas em uma imagem diferente í já. codificada). Em outra realização preferida da invenção? o conjunto de candidatos inicial de blocos representa um subconjunto dos conjuntos acima descritos de blbcos (vizinhos) . O subconjunto de biocos candidatos pode ser fixo, sinalizado ou derivado, ft derivação do subconjunto de blocos candidatos pode considerar decisões feitas para outros blocos na imagem ou em outras imagens. Como um exemplo, QS blocos que são associados aos mesinos parâmetros de codificação (ou muito similares) que outros blocos candidatos podem não ser incluídos no conjunto de blocos candidatos inicial. En; uma realização preferida da invenção, c conjunto de blocos candidatos inicial é derivado conforme para uma das realizações. descritas acima, porém com a seguinte restrição: Somente blocos utilizando predição com compensação de movimento (inter predição) podem ser elementos do conjunto de hlo-cps candidatos. Isto é, os blocos intra codificados nap são incluídos no conjunto de- candi da tos (inicial) .
Conforme jâ foi afirmado acima, é possível estender a lista de candidatos para candidatos extra para 5 meadíagem de blocos, tal como para candidatos a mesclagem bl- preditiva combinada, candidatos a mesclagem, bi-preditiva não dimensionada, e um vetei de movimento zero.
A derivação do conjunto inicial de blocos cándidãtós é tealiaada tanto pelo -codificador quanto pelo 10 decodificador da mesma maneira.
Após derivar ç, conjunto de candidatos inicial, os parâmetros associados: dos blocos candidatos dentro de um. coiLj.un.tQ 15 de éstídidatos inicial são analisados, e os candidatos a mesclagem para ps quais uma mesclagem. resalvaria em um particionamento que poderia ser representado utilizando um diferente padrão de parti oionamento são removidos. Se as matrizes de amostras que podem ser mescladas são de forma e/ou, tamanho diferente, podem 20 existir particionamontos idênticos que podem ser descritos por pelo menos duas palavras de código diferentesi Por exemplo, se o codifícaddi decidir separar uma matriz dé amostras em duas -^atrizes d® amostras, esta separação seria invertida ao mesclar as duas matrizes de amostras. Para evitar tais descrições 25 redundantes, o conjunto de blocos oandidatos para mesclagem é restringido dependendo das formas de blocro especificas, é separações que seriam permitidas. Por outro lado, as formas permitidas de matrizes de amostras podem ser restringidas dependendo das listas de candidatos específicas utilizadas para mesclagem. As duas instalações de separaçãõ e mesclagem têm de ser projetadas juntas de modo que, em combinação das duas, descrições redundantes sejam evitadas.
EKI uma realização preferida da invenção, o conjunto de modos de separação (ou modos de particionamento) ilustrados na Figura 6 são suportados por blocos quadrados, Se ura bloco quadrado de tamanho particular for separado era quatro lai ocos quadrados menores de mesmo tamanho (padrão inferior esquerdo na Figura 6), o mesmo conjunto de padrões de particionamento pode ser aplicado aos quatro blocos quadrados resultantes, de modo que um particionamento hierárquico possa ser especificado.
Apôs derivar o conjunto de blocos candidatos iniciais, a redução das listas de candidatos é feita da seguinte maneira, e o hloço atual não for adicibnalmente particionado (padrão superior esquerdo na Figura 6) , a lista de candidatos inicial não é reduzida. Isto é, todos os candidatos iniciais representam. Oã candidatos finais parã mesclagem. - Se o bloco atual for particionado, era exatamente dois blocos de tamanho arbitrário, um destes dois bloçsos é codificado arites do outro, o que ê determinado pela sintaxe. Para o primeiro bloco codificado, o conjunto de candidatos inicial não é reduzido. Porem para o segundo bloco codificado, todos os blocos candidatos que possuírem, os mesmos parâmetros associados que o priiueiro bloco são removidos do conjunto de candidatos (iato inclui o primeiro bloco codificado). - Se um bloco for particionado em quatro blocos quadrados de mesmo tamanho, a lista de candidatos inicial dos primeiros três blocos (em. ordem de codificação) não é reduzida. Todos os blocos da lista de candidatos inicial estão também presentes na lista de. candidates final. Porém, para o quarto (último) bloco em ordem de codificação, d seguinte se aplica: - Se os blocos que estiverem em uma linha diferente (no esquema de particionamento ilustrado na parte inferior esquerda da -Figura—6) dd bloco atual possuírem, os. mesmos^ parâmetros associados (por exemplo, parâmetros de movimento), JO todos çs candidatos que possuírem os mesmos parâmetros de movimento que Q bloco jâ codificado na mesma linha que o bloco atual são removidos do conjunto de candidatos (isto inclui o bloco na mesma linha). - Se os blocos que estiverem em uma coluna 15 diferente (no esquema de particionamento ilustrado na parte inferior esquerda da Figura 6) do bloco atual possuírem cs meamos parâmetros associados (por exemplo, parâmetros de movimento), todos os candidatos que possuírem os meamos parâmetros de movimento que o bloco já codificado na mesma coluna que o bloco 20 atual são removidos do conjunto de candidatos (isto inclui ç bloco na mesma coluna).
Em uma variação de baixa complexidade da realização (utilizando os padrões de particionamento da Figura g), a redução das listas de candidatos ê feita da seguinte maneira. - Se o bloco atual fíãõ fbt adicionalmente particionado (padrão superior esquerdo na Figura fj) , ã lista de candidatos inicial nâo é reduzidai Isto é, todos os candidatos iniciais representam os candidatos finais pata mesclagem. - se o biocc atual for particionado -em exatamahtê dois blocos de tamanho arbitrário, um destes dois blocos ê codificado antes do outro, ò que é determinado pela sintaxe. Para 0 primeiro bloco codificado, © conjunto de candidatos inicial não é reduzido. Porém, para o segundo bloco, o primeiro bloco codificado do padrão de particionamento é removido do conjunto de candidatos. - Se um bloco for particionado em quatro blocos quadrados- de- mesmo tamanho, a lista dê candidatos inicial dos primeiros três blocos (em ordem de codificação) não é reduzida.
Todos. cs blocos da lista de candidatos inicial estão também presentes na lista de candidatos final. Porém, paia o quarto (último) bloco em ordem de codificação, o seguinte se aplica: - Se, para um bloco nà outra linha (diferente do bloco atual) que for codificado posteriptmente, as informações de mesclagem sinalizarem que. ele ê mesclado com o primeiro bloco codificado daquela linha, o bloco na mesma linha que o bloco atilai é removido do conjunto de candidatos. - Se, para ym bloco na outra coluna (diferente do bloco atual) que for codificado posteriormente, as informações de mesclagem sinalizarem que ele é mesclado cora o primeiro bloco codificado daquela coluna, o bloco na mesma linha que o bloco atual é removido dó conjunto de candidatos.
Em outra realização preferida, ós mesmos padrões dê particiõnamento ilustrados ria Figura 6 são suportados, porém sem os padrões que particionam o bloco quadrado em dois blocos retangulares de testas tamanho. A redução da lista de candidatos procede gonfcrme descrito por qualquer uma das realizações descritas acima, com a exceção do padrão que separa o bloco em quatro blocos quadrados.. Aqui, todos os candidatos iniciais aão permitidos para todos os sub-blocos, ou somente a lista, de candidatos d.o último sub-bloco codificado é restringida da 5 seguinte maneira. Se os três blocos previamente codificados forem associados aos mesmos parâmetros, todos os candidatos que forem associados a estes parâmetros s-áó removidos da lista de candidatos. Em uma versão de baixa complexidade,. o último sub-= bloco codificado nâo pode ser mesclado com nenhum dos três sub- 10 blocos previamente codificados se estes três sub-blocos tiverem sido mesclados juntos.
Em dúbia realização preferida, um diferente conjunto de padrões de particionamento para um. bloco (ou qualquer outra forma de conjunto de matriz, de amostras) é suportado. Para 15 conjuntos de matrizes de amostras que não sâo particionados, todos os candidatos das listas de candidatos iniciais podem ser utilizados para a mesclagem* Se uma matriz de amostras for particionada em exatamentè duas matrizes de amostras, para a matriz de amostras que for a primeira na ordem de codificação, 20 todos os candidatos do conjunto de candidatos inicial são inseridos no conjunto de candidatos final. Para a segunda matriz de amostras em ordem de codificação, todos os candidatos quê possuem OS mesmos parâmetros associados que a primeira matriz de amostras sâo removidos. Ou, em uma variação de baixa complexidade, 25 somente a primeira matriz de amostras é removida do conjunto de candidatos. Para os padrões de part:cionamento que separam uma matriz de amostras em mais, de 2 matrizes de amostras, a remoção dos candidatos depende do fato de que outro padrão de partiαionamento pcde set simulado con o padrão de particionamento atual e as informações de mesclagem correspondentes. O processo de remoção de candidatos segue o conceito explicitamente descrito acima, porém considera os padrões candidatos realmente suportados.
Em uma realização preferida adicional, se o modo SKIB/DJREÇT for suportado para um bloco específico, ©s candidatos a mesclagem que são também presentes candidatos para os modos SKIP/DIRECT são removidos da lista de candidatos. Esta remoção pode substituir as remoções de blocos candidatos descritos acima ou MíMUsâás com "as remoções de blocos candidatos descritas acima.
Os modos SKIP/DIRECT podem ser suportados para todos os tamanhos ou somente tamanhos de blocos e/ou formas de blocos especificasUm conjunto de blocos candidatos é utilizado para os modos 3KlP/DIRECT• A diferença entre SKIP e DIRECT é o fato de que informações residuais são enviadas ou não. Os parâmetros (por exemplo, para predição) de SKIP e DIRECT são inferidos como sendo iguais a qualquer um dos candidatos correspondentes. O candidato é escolhido ao transmitir um índice para a lista de candidatos.
Em uma realização preferida, a lista de candidatos para SKIP/DIRECT pode conter diferentes candidatos. Um exemplo é ilustrado na Figura 8. A lista de candidatos pode íncLilir os seguintes candidatos (o bloco atual é denotado por XI) : - Mediana (entre Esquerda, Acima, Canto) - Bloco esquerdo (Li) - Bloco acima (Ai) - Blocos de canto (Em ordem: Acima Direita (Cil, Abaixa Esquerda (Ci2), Acima Esquerda (C13)) - Bloco cb-localizado em uma imagem diferente, porém já codificada.
Em uma realização preterida, GS candidatos para mesclagem incluem Li (bloco Esquerdo) e Ai (bloco Acima), A escolha destes candidatos para mesclagem requer uma pequena quantidade de informações secundárias para ainalizarr com qual bloco o bloco atual é mesclado.
A seguinte notação é utilizada para descrever as seguintes realizações: - set. _mvp. _ori é um conjunto de candidatos utilizado para o modo SKIP/DIRECT* Este, conjunto é composto de {Mediana,. Esquerda, Acima, Çanfo, Co-lpualizado}, onde
Mediana é a mediana (valor do meio em um conjunto ordenado d.e
Esquerda, Acima e Canto), e co-localizado é ciado pele quadro de referência mais próximo e é dimensionado de acordo- com. uma distância temporal, - Sét_mvp_comb é um conjunto de 20 candidatos utilizado para o modo SKIP/DIRECT em. Combinação cdfíi. o processo de mesclagem de blocos.
Para, â realização preferida, a combinação entre o modo SKIP/DIRECT e o modo de mesclagem de blocos pode ser processada pom o conjunto original d® candidatos, Isto significa 25 que o modo SKIP/DIRECT possui o mesmo conjunto de candidatos que quando é ativado sozinho. O interesse de combinar estes dois modes vem de sua complementaridade na sinalização de informações secundárias em inter quadro. Apesar do fato de que ambos estes modos estão utilizando informações de seus vizinhos para melhorar a sinalização do bloco atual, a mesclagem de blocos está processando somente os vizinhos esquerdo, e acima, e o modo SKIP/DIRECT está processando até 5 candidatos. A complementaridade 5 reside na diferente abordagem de processar as informações de vizinho. 0 processo de mesclagem. de blocos mantém o conjunto completo de informações de seus vizinhos para todas as listas de referência. .Isto significa que a mesclagem de blocos idantéifi todas as informações secundárias destes vizinhos e não semente seus 10 vetores de movimento por lista de referência, enquanto que o modo SKIP/DIRECT separadamente processa os parâmetros de predição para, cada lista de referência e transmite um índice em uma lista de candidatos para cada lista de referência. Isto é, para imagens bi- preditas, dois indices são transmitidos para sinalizar um 15 candidato para a lista oe referência 0 e um candidato para a lista de referência 1.
Em outra realização preferida, um conjunto combinado de candidatos, chamado set_mvp_comb, pode ser encontrado para o modo SKIP/DIRECT em combinação com o modo de mesclagem de 20 blocos. Este conjunto combinado faz parte do conjunto original (set StVp_Qri) e permite unia redução da sinalização para o modo - ~ SKIP/DIRECT, por cansa da redução da lista do candidatos: sec_invp_comb. Os candidatos que deveriam ser removidos da lista original (s*t_mvp_ori) são estes que poderiam ser redundantes com 25 o processo de mesclagem de blocos ou não são frequentemente utilizados.
Em outra realização preferida, a combinação entre o modo SKIP/DIRECT c o processo de mesclagem de blocos pode ser processada com õ conjunto combinado de candidatos (set_mvp_comb)r Q qual é o conjunto original (set_mvp_óri) sem a Mediana. Devido a uma baixa eficiência observada para a Mediana para o modo SKIP/DIRECT, sua redução da lista original, traz uma melhoria na, 5 eficiência de codificação..
Em outra realização preferida, a combinação entre o modo SKIP/DIRECT e a mesclagem de blocos pode set processada com o conjunto combinado-de candidatos (set_mvp_comb) , o qual é o conjunto original (set_mvp_ori) somente cora os de Canto e/ou Co- 10 localizados como candidatos.
Em outra realização preferida,, a combinação entre o modo SKIP/DIRECT e o processo de mesclagem. de blocos pode ser processada com o conjunto combinado de candidatos, o qual é o conjunto set _;nvp_ori somente com os de Canto e/ou Co-localizados 1,5 como candidatos. Apesar da complementaridade entre o modo SKIP/DIRECT e a mesclagem de blocos, conforme já mencionado, os candidatos que devera ser removidos da lista são os que poderiam ser redundantes com os candidatos do processo de mesclagem de blocos. Estes candidatos sã© bs Esquerdo & Acima. O conjunto 20 combinado de candidatos (sét_mvp_comb) foi reduzido para somente dois candidatos: Canto e Co-localizado. O modo SKIP/DIRECT utilizando este conjunto de candidatos set_mvp._combr combinado com o processo de mesclagem de blocos proporciona um grande aumento na eficiência da sinalização das informações secundárias em inter 25 quadros. Nesta realização, o modo SKIP/DIRECT e o modo de mesclagem não compartilham nenhum bloco de candidatos.
Em realizações adicionais, urna combinação ligeiramente diferente dos modos SKIP/DIRECT e de mesclagem pode ser utilizada. É possivel permitir o mode SKIP/DIRECT (por exemplo, com mais candidatos qú.e õ modo de mesclagem) somente para ülocos específicos (pox exemplo, com um tamanho maior que ura tamanho especificado, ou somente para blocos quadrados, etc.,) e III III não suportar o modo de mesclagem para estes blocos. Ou o modo 5KÍ.P/DIRECT pode ser removido e todos os candidatos (incluindo os parâmetros que representam uma combinação de parâmetros para os blocos' vizinhos espaciais/temporais) são adicionados ao jnodo de mesclagem. corno candidatos. Esta opção foi descrita nas Figuras 1 a 5. O conjunto de candidatos ampliado pode somente ser utilizado para blocos específicos (com tamanho maior que um dado tamanho mínimo, ou blocos quadrados, etc.), onde, para outros blocos, um conjunto de candidatos reduzido é utilizado. Ou come variante adicional, o modo de mesclagem é utilizado com um conjunto de candidatos reduzido (por exemplo, somente os vizinhos superior e esquerdo) e candidatos adicionais (por exemplo, o vizinho superior esquerdo, õ bloco co-localizado, etc.) são utilizados para o modo SKIP/DIRECT. Também em tais configurações, cs modos SKID/DIRECT podem somente ser permitidos para blocos específicos. (com um 20 tamanho maior que um dado tamanho mínimo, ou blocos quadrados, etc.), enquanto que o modo de mesclagem é permitido para um conjunto maior de blocos.
Para a realização preferida e, em particular, 25 para as realizações das Figuras 1 a &r o seguinte pode se aplicar. Imagine que somente os dois blocos que contém as amostras. Vizinhas esquerda e superior da amostra superior esquerda dos .blocos atuais .sejam considerados candidatos. Se o conjunto de blocos candidatos (após remoção de candidatos conforme descrito acima) não estiver vazio, uma sinalização chamada merge_flug é sinalizada, especificando se o bloco atual é mesclado com qualquer um dos blocos candidatos, Se a merge_flág for igual a 0 (para "falso"), 5 este bloco nâo é mesclado com um de seus blocos candidatos, e todos os parâmetros de codificação sâo transmitidos normalmente. Se a merge_fiag for igual a 1 /para "verdadeiro"), o seguinte se aplica, Se o conjunto de blocos candidatos contiver um e somente um bloco, este bloco candidato é utilizado para mesclagem. Caso 10 contrário, o conjunto de blocos candidatos contém exatamente dois blocos. Se os parâmetros de predição destes dois blocos forem idênticos, estes parâmetros de predição são utilizados para o bloco atual. Caso contrário (os dois blocos possuírem diferentes parâmetros de predição), uma sinalização chamada merge_left_flag é 15 sinalizada- Se a sinalização merge_left_flag for igual a 1 (para "verdadeiro"), o bloco contendo a posição dã amostra vizinha esquerda da posição de amostra superior esquerda do bloco atual é selecionado dentre o conjunto de blocos candidatos, Se merge_left_flag for igual a 0 (para "falso"), o outro bloco (isto 20 é, o vizinho -superior) dentre o conjunto de blocos candidatos é selecionado. Os parâmetros de predição do bloco selecionado, sâo Utilizados para o blo.e-ç atual. Ém outra realização, um elemento de sintaxe combinada é transmitido, o qual sinaliza õ processo de mesclagem. Era outra realização, a merge_flag é transmitida 25 independente do fato dos dois blocos candidatos possuírem os mesmos parâmetros de predição.
Deve ser observado que o elemento ds sintaxe raerge_left_flag poderia também se chamar merge_index, uma vez que sua função é indexar o candidato escolhido dentre os candidatos nâo removidos.
Eni outra realização preferida, mais de dois blocos podem ser incluídos no conjunto de blocos candidatos, As informações de mesclagem (isto êf se um bloco é mesclado e, se sim, com qual bloco candidato ele é mesclado) são sinalizadas por um ou mais elementos de sintaxe. Com, istoj, o conjunto de palavras de código depende do número de candidatos no conjunto de candidatos final.* e ê selecionado do mesmo modo quθ o- codificador e o decodificador. Em uma realização, as informações de mesclagem são transmitidas utilizando um elemento de sintaxe. Em outra realização, ym elemento de sintaxe especifica se o bloco é X mesclado com- qualquer um dos blocos candidatos (cp, a merge_flag descrita acima); Esta sinalização è somente transmitida, se o conjunto de blocos candidates não estiver vazio, ú segundo elemento de sintaxe sinaliza, qual dos blocos candidatos é empregado para mesclagem; ele é somente transmitido se o primeiro elemento de sintaxe sinaliza que o bloco atual é mesclado com um dos blocos candidatos. Em Uma realização preferida da invenção, o segundo elemento de sintaxe é somente transmitido se o conjunto de blocos candidatos contiver mais de um bloco candidato e/ou se qualquer um dos blocos candidatos possuir parâmetros de predição diferentes de qualquer um dos outros blocos candidatos,. A sintaxe pode ser dependente de quantos blocos candidatos são dados e/ou quantos parâmetros de predição diferentes são associados aos blocos candidatos*
Ê possível adicionar um conjunto de candidatos para mesclagem de blocos conforms foi feiro para o modo DIRECT,
Conforme descrito em outras realizações preferidas, o segundo Índice dé mesclagem de elemento dê sintaxe pode soinente ser transmitido se © lista de candidatos contiver mais de ura candidato. Isto requer a derivação da lista antes de 5 analisar o índice de mesclagem, evitando realizai estês dois processos em paralelo. Para permitir um maior rendimento de análise e tomar o processo de análise mais robusto em relação a erros de transmissão, é possível remover esta dependência utilizando uma palavra de código para cada valor de índice e um número fixo de candidatos, Se este número não puder ser atingido por uma seleção de candidatos, é possivel derivar candidatos auxiliares para completar a lista. Estes candidatos adicionais podem incluir os chamados candidatas combinados, os quais são construídos a partir de parâmetros de movimento de. candidatos possivelmente diferentes já na lista, e vetores de movimento zero.
Em outra realização preferida, a sintaxe para sinalizar qUal dos blocos do conjunto de candidatos é simultaneamente adaptada no codificador e no decodificador. Sê., por exemplo, 3 escolhas de blocos para mesclagem sSõ dadas., estas 20 três escolhas estão somente presentes na sintaxe e são consideradas para codificação de entropia. As probabilidades para todas as outras escolhas são consideradas sendo 0, e o codec de entropia é ajustado simultaneamente no codificador e rio decodificador>
Os parâmetros de predição que são inferidos como unta consequência do processo dê mesclagem podem representar o qonjunto completa de parâmetros de predição que são associados a um bloco ou eles podem representar um. subconjunto destes parâmetros de predição (por exemplo, os parâmetros de predição para uma hipótese de um bioco para o qual a predição de multi- hipótese é utilizada).
Em uma realização preferida, os elementos de 5 sintaxe relacionados às informações de mesclagem são codificados por entropia utilizando modelagem de contexto. Os elementos de sintaxe podem consistir nas sinalizações mçrge_flag e m$rgs_left_flag descritas acima.
Em uma realização preferida,. um dentre três 10 modelos de epiitexto é utilizado para codificar a merge_flag, Ò modèlo de contexto utilizado raerge_flag_ctx ê derivado da seguinte maneira. Se o conjunto de blocos candidatos contiver dois elementos, o valor de merge_flag_ctx é igual à soma dos valores dã merge_flag dõs dois blocos candidatos. Se. q conjunto de blocos 15 candidatos contiver um element valor da merge_flag_ctx é igual a duas vezes o valõr da iBerge_flag deste bloco candidate.
Em uma realização preferida, a uierge_left_.flag é codificada utilizando um único modelo de probabilidade. diferentes modelos de contexto codificando para 20 me.rge_idx (merge_left_flag) podem ser utilizados.
Em outras realizações, diferentes modelos de contexto podem ser utilizados. Elementos de sintaxe não binários podem ser mapeados em ’uma sequência de simbolós binários (bins). Os modelos de contexto para alguns elementos de sintaxe ou bins de 25 elementos de sintaxe podem ser derivados cam base em elementos de sintaxe já transmitidos dê bloaos vizinhasr ou o número de blocos candidatos ou outras medidas, enquanto outros elementos de sintaxe ou bins de elementos de sintaxe podem ser codificados com um primeiro modelo de contexto.
A inclusão do conceito de mesclagem provê um codificador de uma. maior liberdade para a criação de um fluxo de bits, uma vez que a abordagem. de me selagem aumenta sign!floativamente o número de possibilidades para selecionar um particionamento para as matrizes de amostras de uma imagem, em, obviamente, maior sobrecarga de sinal izaçâpj. JJirta parte OU todos os padrões adicionais que podem ser representados por uma combinação 10 de sub-partieionamento e mesclagem (por exemplo, os padrões na
Figura 7, quando o padrão de particionamento da Figura 6 é suportado) podem ser adicionalmente testados (utilizando os tamanhos de blocos correspondentes para estimativa de movimento s decisão de modo) e o melhor dos padrões provido através de particionamento puro (Figura 6) e. por particionamento e mesclagem (Figura 7) podem ser selecionados cqiu base em uma medida de distorção de taxa especifica. Além disso, para cada bloco, pode ser testado se uma mesclagem com qualquer um dos conjuntos de candidatos codificados produz em diminuição de uma mgdida de distorção de taxa especifica, e então, as sinalizações de mesclagem correspondentes são ativadas durante, o processo de codificação.
Em outra realização preferida, o codificador poderia primeiramente determinar a melhor subdivisão das matrizes 25 de amostra (doliforme nos esquemas de codificação da técnica anterior). E em seguida, podería verificar para cada conjunto de amostras, se uma mesclagem com outro conjunto de amostras ou outro grupo de conjuntos de anicstra reduz uma medida de custo de distorção de taxa específica. Com isto, os parâmetros de predição associados a este grupo de canjuntos de amostras mesclado podem set reestimados (por exemplo, realizando uma nova busca por movimentos) ou os parâmetros de predição que já foram determinados 5 para Q conjunto de amostra atual e o conjunto de amostra candidato (ou grupo de conjuntos de amostras) para mesclagem poderiam ser avaliados para os grupos de conjuntos de amostras considerados.
Era uma realização preferida, üiua medida, tís custo de distorção de taxa especifica poderia ser avaliada para grupos de conjuntos de amostras candidatos adicionais. Como um exemplo específico, ao testar os diversos padrões de particionamento possíveis (ver Figura 6, por exemplo), uma parte ou todos os padrões que podem ser representados por uma combinação de particionamento e mesclagem (ver Figura 7, por exemplo) podem ser adiei ona Imente testados1. Isto ê, para todos os padrões, uma estimativa de movimento específica e processo de decisão de modo, sâo realizados, ® o padrão que produzir a menor medida de distorção de taxa é selecionado. Este processo, pode também ser combinado com o processo de baixa complexidade descrito acima, de modo que, para os blocos resultantes, ê adicionalmente testado se □ma mesclagem com os blocos já codificados (por exemplo, fora dos padrões da Figura 6 e da Figura 7) produz uma redução em uma medida de distorção de taxa.
Em outra realização preferida, o codificador testa os diferentes padrões que podem ser representados. pelo particionamento e mesclagem em ’.ima ordem de prioridade, e testa o maior número de padrões possível pbr uma dada exigência em tempo real. A ordem de prioridade pode também ser modificada com base nos blocos já codificados e padrões de particioπamento escolhidos..
Orna maneira de transferir as realizações descritas acima a uma sintaxe específica é explicada a seguir em relação às seguintes figuras. Em particular, as Figuras 9 a 11 5 mostram diferentes porções de. uma sintaxe que tira Vantagem das realizações descritas acima* Ein particular, de acordo com a realização descrita abaixo, a imagem 20 ê primeiramente sobre- dividida em blocos de árvore de modificação, o çontetàde de íiiiàgem dos quais sendo codificado utilizando a sintaxe coding__tree 10 mosttada na Figura 9. Conforme mostrado neste documento, para entropy_coding_mode_f lag-1, o que se refere a, por exemplo, codificação aritmética binária ádapra.tiva ao contexto ou outro modo de codifi dação especifico, a subdivisão em quad-árvore do bloco de árvore de codificação atual é sinalizada dentro da porção 15 de sintaxe coding^tree por meio das sinalizações chamadas splitcoding_unit_flag na. marca 400.. Conforme mostrado, na Figura 9, de acordo com a realização descrita a seguir, o bloco de raiz de árvore é subdividido conforme sinalizado por split_coding_unit_flag em uma ordem de passagem em profundidade, 20 conforme mostrado na Figura 9a. Sempre que um nó de folha for atingido, o mesmo representa uma unidade de código que é crπdi f í rada imediatamente utilizando a função de sintaxe coding_unit, Isto pode ser visto ha Figura 9, ao olhar para a cláusula if em 4QS, a qual verifica se a split_coding_unit_flag 25 atual está ativada ou não. Se sim, a função coding_tree è chamada recursivamente, levando a uma transmissão/extração adicional de uma 3plit_Godin.g._unit_flag adicional no codificador e no decodificador, respectiv.am«nte. Se não, isto. é, se split_coding^unit_flag-0, o sub-bloco atual do bloco de raiz de árvore 20Q da Figura Sa é um bloco de folha, e para codificar est-a. unidade de código, a função coding_unit da Figura. 10 é chamada em 404.
Na realização atualmente descrita, § opção mencionada acima é utilizada de acordo com qual mesclagem for meramente utilizável para imagem para as- quais o modo de inter predição’ estiver' disponível;. I-sto é, as f atias-Zimagens -intra, codificadas hão utilizam a mesclagem, de qualquer modo. Isto é visível a partir da Figura 10, onde a .sinalização raerge^flag é transmitida em 406 meramente no caso de um tipo de fatia ser diferente do tipo de fatia intra imagem. A mesclagem se refere, de acordo com a presente realização, meramente aos parâmetros de predição relacionados à inter predição. De acordo cora a presente realização., a sinalização metge_flag ã sinalizada para toda a unidade de código 40 è também sinaliza ao decodificador um certo modo de particionamento para a unidade- de código atual, a saber, o modo sem particionamento. Portanto, ,a função predidtion_unit ê chamada em 4 0'8 com a denotação, da unidade de código atual como sendo uma unidade de predição. Esta não é, entretanto, a única possibilidade para ativar a opção de mesclagem. Em vez disso, se a merge_flag relacionada a toda a unidade de código não for ativada em 406, o tipo dé predição da unidade de código da fatia não íntra imagem é sinalizado em 410 pelo elemento de sintaxe pred_type com, dependendo do mesmo, a chamada da função prediction_unit para qualquer partição da unidade de código atual em por exemplo, 412, caso a unidade de código atual não seja adieiona Imentê particionada. Na Figura 10, meramente quatro opçóés de particionamento diferentes são mostradas, porém as outras opções de particionamento mostradas na Figura 6 podem estar disponíveis também. Outra possibilidade seria a que a opção de particionamento PART_NxN não está disponível, mas sim as outras. A associação 5 entre os nomes para os modos de particionamento utilizados na Figura 10 às opções de particionamento mostradas na Figura 6 é indicada na Figura G pelos respectivos subscritos abaixo das1 opções de particionamento individuais. A fupção prediction unit é Chamada para cada partição, tal como as partições 50 e 60 na ordem 10 de codificação mencionada acima. A função predict lo n_tn.it começa com ã verificação da merge_flag em 414. Se ,a mer.ge_flag estiver ativada, um merge_iadex inevitavelmente se resulta, em 416. A verificação na etapa 414 é para verificar se a merge_flag relacionada a. toda a Unidade de código conforme sinalizada em 406 1.5 foi ativada dU não. Se não, uma me.rge_flag é sinalizada novamente em 418, e se esta última estiver ativada, uma merge_index se resulta, .em. 420, a qual indica ó candidato a mesclagem para a partição atual. Novamentc, a merge_flag é sinalizada para a partição atual em .418 meramente no caso do modo de predição atual 20 da unidade de código atual ser um modo de inter predição (ver 422) .
Conforme é visível na Figura 11, a transmissão dos parâmetros de predição em uso para a unidade de predição atual em 42'4 é., de acordo com a presents realização, realizada meramente. 25 no caso da. mesclagem não ser utilizada para a presente unidade de predição.
Embora a descrição acima da realização das Figuras 9 a 11 já descreva a maior parte de sua funcionalidade é semântica, algumas informações adicionais são apresentadas abaixo. merge_flag[ xO ] [ yO ] específica se os parâmetros de inter predição para a unidade de predição atual (ver 50 e 80 nas Figuras.) são inferidos a partir ds uma partição inter- predita vizinha. Qs Índices- de matriz xO, y0 especificam, a Localização ( x0< y0 ) da amostra de luminãncia superior esquerda do bloco de predição considerado (ver 50 e 50 nas figuras), em relação â amostra de luminâtiGia superior esquerda da imagem (ver 20 nas figuras). merge_idx[ xO ] [ yÓ 1 especifica © ihdice de candidato a mesclagem da lista de candidatos, a mesclagem, onde xO, yQ especificam a localização ( xO, yO ) da amostra de luminância superior esquerda do bloco de predição considerado em relação à amostra de luminância superior esquerda da imagem.
Ejubpra não especifiqainente indicado na descrição dãs Figuras 9 a 11 acima,, os candidatos a mesclagem ou a. lista de: candidatos a mesclagem é determinada nesta realização exemplarmente utilizando não só os parâmetros de codificação ou parâmetros de predição de unidades/partições de predição espacialmente vizinhas, mas sim, uma lista de candidatos também é formada utilizando parâmetros d© predição de partições temporalmente vizinhas de imagens teraporalmente vizinhas ã previainente codificadas. Além disso, combinações dos parâmetros dé predição de unidades/partições de predição espacialmente e/ou têmporaImente vizinhas são utilizadas e incluídas na lista de candidatos a mesclagem. Naturalmente, meramente um subconjunto des mesmos.- pode ser utilizado. Em particular, A Figiira 12 mostra uma possibilidade de determinar vizinhos espaciais, istõ é,. partições ou unidades de predição espacialmente vizinhas. A Figura 12 mostra exemplarmente uma unidade de predição cc partição 60 e as pixels Bo a B2 S AQ e Ai, os quais §3ç localizados diretamente adjacentes ã fronteira 500 da partição 60, a saber, B2 sendo diagonalmente adjacente ao pixel superior esquerdo da partição 60, BI sendo localizado verticalmante acima e adjacente ao pixel superior direito da partição 60, BO sendo localizado diagónalmênte ao pixel superior direito da partição 60, Al sendp localizado horizontalmeiite à esquerda de# e adjacente ao pixel inferior esquerdo da partição 60, e AO sendo localizado diagonalmente aõ pixel inferior esquerdo da partição 60. Uma partição que inçlui pelo menos um dos pixels Bo a B? e An e Aj forma uma vizinhança espacial, e os parâmetros de predição da mesma formam um candidato a mesclagem.
Pars realizar ã remoção acima mencionada desses candidatos que levaria a outro modo de particionamento que também teria estado disponível, as seguintes funções poderíam ser utilizadas,;
Em particular, o candidato N, isto é, ós parâmetros de codificação/predição decorrentes da unidade de predição/pattiçãd cobrindo os pixels N= ( Bp, Bi, BS/ Ao, Ax) , isto é, a posição (xK, yN) , é removido da lista de candidatos se qualquer uma das condições for verdadeira (por favor, veja a Figura. 6 para o modo de particionamento- FartMode e o índice de.particionamento correspondente. Part Id x indexando a respectiva partição dentro da unidade de código); - 0 PartMode da unidade de predição atual é PART_2MxN, e Partldx é igual a 1, e as unidades de predição cobrindo a localização de luminância ( xP, yP - 1) (Partldx =0) e a localização de luminância (xN, yN) (Cand. N) possuem parâmetros de movimento idênticos: mvLX[ xP, yP - 1 ] = = mvLX[ xN, yN ] refIdxLX[ xP, yP - 1 ] = = refldxLXl xN, yN ] predFlagLX[ xP, yP - 1 ] - = predFlagLX^ xN, yN ] - 0 PartMode da unidade de predição atual é PART_Nx2N, e Partldx é igual al, e as unidades de predição cobrindo a localização de luminância ( xP - 1, yP) (Partldx = 0} e a localização de luminância (xN, yN) (Cand. N) possuem parâmetros de movimento idênticos: mvLX[ xP - 1, yP ] = - mvLX[ xN, yN ] refldxLXf xP - 1, yP ] = = pefIdxLX( xN, yN ] i predFlagLX[ xP - 1, yP ] = = predFlagLX[ xN, yN ] - O PartMode da unidade de predição atual é PART_NxN, e Partldx é igual a 3, e as unidades de predição cobrindo a localização de luminância ( xP - 1, yP) (Partldx = 2} e a localização de luminância (xP - 1, yP - 1 ) ( Partldx = 0 ) possuem parâmetros de movimento idênticos: mvLX[ xP - 1, yP ] = = mvLX[ xP - 1, yP - 1 ] refldxLXC xP - 1, yP ] = = refldxLXf xP - 1, yP - 1 ] predFlagLX[ xP - 1, y? ] = = predFlagLX[ xP - 1, yP - 1 ] e as unidades de predição cobrindo a localização de luminância ( xP, yP - 1 ) ( Partldx = 1 ) e a localização de luminância ( xN, yN ) (Cand. N) possuem parâmetros de movimento idênticos: invLX [ xP, yP - 1 ] = = mvLX [ xN, yN ] refIdxlX[ xP, yP - 1 ] = = refIdxL.X[ jtH, yN ] predFlagLX[ xP, yp - 1 ] = - predFlagLX[. xN, yW ] - O PartMode da unidade de predição atual é PART_NxN, e Partldx é igual a 3, e as .unidades de predição cobrindo a localização de luminância ( xP, yP - 1) (Pattldx =■ 1) e a localização de luiuinância (xP - 1, yp - 1 ) f Partldx = 0 ) possuem parâmetros de movimento idênticos: __ _ mvLXÍ xP, yP - 1 ] - - πrvK[ xP =- lr yP - 1 ] refidxLX[ xP, yp -1 j => - refIdx'LX[ xP - yP – 1] predFlagLXf xP, yP - 1 ] = = predFlagXX[ xP - 1, yp - 1 ] e as unidades de predição cobrindo a localização de luminãndiã ( xP <- 1, yP ) ( Partldx = 2 ) e a localização de lumlnancia ( xN, yN i (Çand. N) possuem parâmetros de movimento idênticos: mvLX[ xP - 1/ yP J. =- mvI>M V-N ] refldxLXr x'P - lr yP J = = re.tldslXf xN, yN ] A este respeito, per i-avor observe que a posição ou localização ( xPf yP j- deflota o pixel do topo da partição/unidade de predição atual. Isto ê, de acordo com o primeiro item, todos es candidatos a parâmetro de codificação são verificados, os quais foram derivados ao diretamente adotar os respectivos parâmetros de codificação de unidades de predição vitinhas, a saber> a unidade de predição N. OS outros candidatos à parâmetro de codificação podem, entretanto, ser verificados da mesma maneira em qu.e se os mesmos sãõ iguais aos parâmetros de codificação da respectiva unidade de predição emergindo com a qual resultaria na obtenção de outro padrão de particionamento também suportado pela sintaxe. De acordo com as realizações acima descritas, a igualdade dos parâmetros de codificação engloba uma 5 verificação da igualdade do vetor de movimento, isto é, mvLX,. o Índice de referência, isto ê, reflxLX, e a sinalização de predição predFragLX indicando que os parâmetros, isto é, o vetor de « movimentcL è b indi.çe. de referência, associados ã. Lista de referência X, com X sendo 0 ou 1, são utilizados em inter 10 predi çâ o.
Por favor, observe que a possibilidade acima descrita pata a remoção de candidatos a parâmetro de codificação de unidades de predição/partições vizinhas seria também aplicável no caso do suporte a modos de particionamento assimétricos 15 mostrados na metade direita da Figura 6. Nesse caso, o modo PART_2NxN poderia representar todos os modos de subdivisão horizontal e PART_Nx2K poderiam corresponder a todos os modos de subdivisão vertical. Além disso, o modo PART_NxN poderia ser excluído dos modos de particionamento suportado ou padrões de 20 partiaionamento e, nesse caso, meramente as primeiras duas veri.ficações de remoção teriam de ser removidas.
Em referência às realizações das Figuras 9 a 12, deve também ser observado que é possível excluir as partições intra preditas da lista de. candidatos, isto é, seus parâmetros, de 25 codificação, naturalmente, não são incluídos na lista de candidatos,.
Além disso, é observado que três contextos poderiam se.i utilizados para a merge_flag e a merge_index.
Embora alguns destes aspectos tenham sido descritos r.o contexto de um aparelho, está claro que estes aspectos também representam uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma 5 etapa de método ou uma característica de uma. etapa de método.
Analogamente, os aspectos descritos no contexto de um método também Apresentam uma descrição de uiii bloco ou item ou I característica correspondente de um aparelho correspondente.
Partes ou o todo das etapas do método podem ser executadas por (ou 10 utilizando, um] aparelho, como, por exemplo, um microprocessador, cOiTiputador programável, ou um circuito eletrônico. Em algumas realizações, algumas, ou uma ou. mais das etapas de método mais importantes podem ser executadas por tal aparelho.
Dependendo das certas exigências de 15 implementação, as realizações da invenção podem, ser implementadas em hardware ou em software. A implementação, pode ser realizada utilizando u® meio de armazenamento digital, por exemplo, um disquete, um DVD, um Blu-ray, um CD, uma memória ROM, uma memória PROM, uma memória EPROM, uma memória EEPROM, ou uma memória FLASH, ! 20 possuindo sinais- de controle eletronicamente legíveis armazenados na mesma, Oâ quais cooperam (ou são capazes de cooperar) cpiU um sistema de computador programável, de modo- que o respectivo método seja realizado. Portanto, p meio de armazenamento digital pode, ser legível por computador.
Algumas realizações de acordo com a invenção compreendem um portador de dados possuindo sinais de controle legíveis eletronicamente, os quais são capazes de cooperar com um sistema computador programável, de modo que um dos métodos descritos neste documente seja realizado.
Em geral, as realizações da presente invenção podem ser implementadas como um produto de programa de computador com um código de programs, α código de programa sendo operativo 5 para realizar um d©s métodos' quando o produto de programa de computador for executado em um computador. 0 código de programa pode, por exemplo, ser armazenado em um portador legível em máquina.
Outras realizações compreendem e programa de 10 computador para realizar um dos métodos descritos neste documento, armazenado em. um portador légivel em. máquina.
Em outras palavras, uma realização do método inventivo é, portanto, um programa de computador possuindo ura código de programa para realizar um dos métodos descritos neste 15 documento, quando o programa de computador for executado em um computador,
Uma realização adicional do método inventivo ê, por exemplo, um portador de dados {ou um meio, de armazenamento digital, ou um meio legível por computador) compreendendo, gravado 20 no mesmo, o programa de computador para realizar um dos métodos descritos neste documento. O portador de dados, o meio de armazenamento digital PU o meio gravado são tipicamente tangíveis e/ou não transitórios.
Uma realização adicional do método inventivo é, 25 portanto, um fluxo de dados ou uma sequência de sinais representando o programa de computador para realizar um dos métodos descritos neste documento. O fluxo de dadas ou a sequência X de sinais pode, por e5£émpldt ser configurado (ã) para ser transferido(a) através de tuna conexão de comunicação, por exemplo, através da Internet. hma realização adicional compreende meios de processamento, por exemplo, um computador, ou um dispositivo 5 lógico programável, configurado para, ou adaptado para realizar um dos métodos, descritos neste documento.
Uma realização adicional compreende um computador _ possuindo, instalado no mesmo, _ó programa de computador para realizar um dos métodos descritos neste documento.
Uma realização adicional de acordo qom a invenção compreende um aparelho ou um sistema configurado para transferir (por exemplo, eletronicamente ou oticamente) um programa de computador para realizar um dos métodos descritos neste documento a wn receptçjr. 0 receptor pode, por exemplo, ser um computador, «m 15 dispositivo móvel, um dispositivo de memória, ou semelhante, 0 aparelho ou sistema pode, por exemplo, compreender um servidor de arquivos pata transferir p- programa de computador ão receptor.
Em algumas realizações, um dispositivo lógico programável (por exemple, um FPGA) pode ser utilizado para 20 realizar algumas ou todas as funcionalidades dos métodos descritos neste documento. Em algumas realizações, um FPGA pode cooperar com um- microprocessador para realizar um -dos métodos descritos neste documento. Em geral, o-s métodos são preferivelmente realizados por qualquer aparelho1 de hardware.
As realizações acima descritas sâo meramente ilustrativas para os princípios da presente invenção. É entendido que modificações e variações das disposições e detalhes descritos neste documento se tornarão aparentes para outros técnicos no -as santo. É a intenção, portanto, ser limitado ao escapo das reivindicações de patente iminentes, e nâo aos detalhes específicos apresentados por meio da descrição e explicação das realizações neste documento.
Claims (4)
1. Decodificador (50), caracterizado por compreender: um extrator (150) configurado para extrair, de um fluxo de dados que representa informações de vídeo codificadas, informações de primeira subdivisão associadas à codificação de predição e informações de segunda subdivisão associadas à codificação de transformação; um divisor configurado para: usar particionamento recursivo, com base nas primeiras informações de subdivisão, para dividir uma matriz de amostras de informações que representam uma parte espacialmente amostrada das informações de vídeo em um primeiro conjunto de regiões raiz e subdividir pelo menos parte do primeiro conjunto de regiões raiz em um primeiro conjunto de sub-regiões, com base no tamanho de pelo menos um do primeiro conjunto de sub-regiões; dividir pelo menos um dos primeiros conjuntos de sub-regiões em um segundo conjunto de regiões raiz; determinar, para cada um do segundo conjunto de regiões de raiz, se a respectiva região de raiz do segundo conjunto de regiões de raiz deve ser subdividida, e responsivo para uma determinação de que a respectiva região raiz do segundo conjunto de regiões raiz deve ser subdividida, subdividir a respectiva região raiz do segundo conjunto de regiões raiz em um segundo conjunto de sub-regiões usando particionamento recursivo com base em a segunda informação de subdivisão; em que o decodificador é configurado para: determinar candidatos a parâmetros de codificação para uma sub-região atual do primeiro conjunto de sub-regiões com base, pelo menos parcialmente, em parâmetros de codificação associados a sub-regiões previamente decodificadas do primeiro conjunto de sub-regiões vizinhas à sub-região atual, verificar se um número de candidatos a parâmetros de codificação determinados é igual a um número fixo de candidatos a parâmetros de codificação necessários para completar um conjunto de candidatos a parâmetros de codificação para a sub-região atual, com base em uma indicação da verificação de que o número de candidatos a parâmetros de codificação determinados é menor que o número fixo de candidatos a parâmetros de codificação, de modo que o conjunto de candidatos a parâmetros de codificação não está completo, adicione candidatos a parâmetros de codificação auxiliares ao conjunto de codificação de um parâmetro de candidatos para que o número fixo seja atendido; e um reconstrutor configurado para reconstruir uma porção da matriz de amostras de informação usando codificação de predição de acordo com o conjunto de candidatos a parâmetros de codificação.
2. Codificador (10), caracterizado por compreender: um insersor configurado para inserir, em um fluxo de dados que representa informações de vídeo codificadas, informações de primeira subdivisão associadas à codificação de predição e informações de segunda subdivisão associadas à codificação de transformação; um divisor configurado para: usar particionamento recursivo, com base nas primeiras informações de subdivisão, para dividir uma matriz de amostras de informações que representam uma parte espacialmente amostrada das informações de vídeo em um primeiro conjunto de regiões raiz e subdividir pelo menos parte do primeiro conjunto de regiões raiz em um primeiro conjunto de sub-regiões, com base no tamanho de pelo menos um do primeiro conjunto de sub-regiões; dividir pelo menos um dos primeiros conjuntos de sub-regiões em um segundo conjunto de regiões raiz; determinar, para cada um do segundo conjunto de regiões de raiz, se a respectiva região de raiz do segundo conjunto de regiões de raiz deve ser subdividida, e responsivo para uma determinação de que a respectiva região raiz do segundo conjunto de regiões raiz deve ser subdividida, subdividir a respectiva região raiz do segundo conjunto de regiões raiz em um segundo conjunto de sub-regiões usando particionamento recursivo com base em a segunda informação de subdivisão; em que o codificador é configurado para: determinar candidatos a parâmetros de codificação para uma sub-região atual do primeiro conjunto de sub-regiões com base, pelo menos parcialmente, em parâmetros de codificação associados a sub-regiões previamente codificadas do primeiro conjunto de sub-regiões vizinhas à sub-região atual, verificar se um número de candidatos a parâmetros de codificação determinados é igual a um número fixo de candidatos a parâmetros de codificação necessários para completar um conjunto de candidatos a parâmetros de codificação para a sub-região atual, com base em uma indicação da verificação de que o número de candidatos a parâmetros de codificação determinados é menor que o número fixo de candidatos a parâmetros de codificação, de modo que o conjunto de candidatos a parâmetros de codificação não está completo, adicione candidatos a parâmetros de codificação auxiliares ao conjunto de codificação de um parâmetro de candidatos para que o número fixo seja atendido; e codificar uma porção da matriz de amostras de informação usando codificação de predição de acordo com o conjunto de candidatos a parâmetros de codificação.
3. Método de Decodificação caracterizado por compreender: extração de um fluxo de dados que representa informações de vídeo codificadas, informações de primeira subdivisão associadas à codificação de predição e informações de segunda subdivisão associadas à codificação de transformação; utilização de particionamento recursivo, com base nas primeiras informações de subdivisão, para dividir uma matriz de amostras de informações que representam uma parte espacialmente amostrada das informações de vídeo em um primeiro conjunto de regiões raiz e subdividir pelo menos parte do primeiro conjunto de regiões raiz em um primeiro conjunto de sub-regiões, com base no tamanho de pelo menos um do primeiro conjunto de sub-regiões; divisão de pelo menos um dos primeiros conjuntos de sub-regiões em um segundo conjunto de regiões raiz; determinação para cada um do segundo conjunto de regiões de raiz, se a respectiva região de raiz do segundo conjunto de regiões de raiz deve ser subdividida, e responsivo para uma determinação de que a respectiva região raiz do segundo conjunto de regiões raiz deve ser subdividida; subdivisão da respectiva região raiz do segundo conjunto de regiões raiz em um segundo conjunto de sub-regiões usando particionamento recursivo com base em a segunda informação de subdivisão; determinação dos candidatos a parâmetros de codificação para uma sub-região atual do primeiro conjunto de sub-regiões com base, pelo menos parcialmente, em parâmetros de codificação associados a sub-regiões previamente decodificadas do primeiro conjunto de sub-regiões vizinhas à sub-região atual, verificação se um número de candidatos a parâmetros de codificação determinados é igual a um número fixo de candidatos a parâmetros de codificação necessários para completar um conjunto de candidatos a parâmetros de codificação para a sub-região atual, com base em uma indicação da verificação de que o número de candidatos a parâmetros de codificação determinados é menor que o número fixo de candidatos a parâmetros de codificação, de modo que o conjunto de candidatos a parâmetros de codificação não está completo; adição dos candidatos a parâmetros de codificação auxiliares ao conjunto de codificação de um parâmetro de candidatos para que o número fixo seja atendido; e reconstrução de uma porção da matriz de amostras de informação usando codificação de predição de acordo com o conjunto de candidatos a parâmetros de codificação.
4. Método de Codificação, caracterizado por compreender: inserção de um fluxo de dados que representa informações de vídeo codificadas, informações de primeira subdivisão associadas à codificação de predição e informações de segunda subdivisão associadas à codificação de transformação; utilização de particionamento recursivo, com base nas primeiras informações de subdivisão, para dividir uma matriz de amostras de informações que representam uma parte espacialmente amostrada das informações de vídeo em um primeiro conjunto de regiões raiz e subdividir pelo menos parte do primeiro conjunto de regiões raiz em um primeiro conjunto de sub-regiões, com base no tamanho de pelo menos um do primeiro conjunto de sub-regiões; divisão de pelo menos um dos primeiros conjuntos de sub-regiões em um segundo conjunto de regiões raiz; determinação para cada um do segundo conjunto de regiões de raiz, se a respectiva região de raiz do segundo conjunto de regiões de raiz deve ser subdividida, e responsivo para uma determinação de que a respectiva região raiz do segundo conjunto de regiões raiz deve ser subdividida; subdivisão da respectiva região raiz do segundo conjunto de regiões raiz em um segundo conjunto de sub-regiões usando particionamento recursivo com base em a segunda informação de subdivisão; determinação dos candidatos a parâmetros de codificação para uma sub-região atual do primeiro conjunto de sub-regiões com base, pelo menos parcialmente, em parâmetros de codificação associados a sub-regiões previamente codificadas do primeiro conjunto de sub-regiões vizinhas à sub-região atual, verificação se um número de candidatos a parâmetros de codificação determinados é igual a um número fixo de candidatos a parâmetros de codificação necessários para completar um conjunto de candidatos a parâmetros de codificação para a sub-região atual, com base em uma indicação da verificação de que o número de candidatos a parâmetros de codificação determinados é menor que o número fixo de candidatos a parâmetros de codificação, de modo que o conjunto de candidatos a parâmetros de codificação não está completo; adição dos candidatos a parâmetros de codificação auxiliares ao conjunto de codificação de um parâmetro de candidatos para que o número fixo seja atendido; e codificação de uma porção da matriz de amostras de informação usando codificação de predição de acordo com o conjunto de candidatos a parâmetros de codificação.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US39147310P | 2010-10-08 | 2010-10-08 | |
US61/391,473 | 2010-10-08 | ||
PCT/EP2011/067647 WO2012045886A1 (en) | 2010-10-08 | 2011-10-10 | Picture coding supporting block partitioning and block merging |
Publications (2)
Publication Number | Publication Date |
---|---|
BR112013008461A2 BR112013008461A2 (pt) | 2016-06-28 |
BR112013008461B1 true BR112013008461B1 (pt) | 2022-06-07 |
Family
ID=44764172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112013008461-8A BR112013008461B1 (pt) | 2010-10-08 | 2011-10-10 | Codificação de imagem suportando particionamento de blocos e mesclagem de blocos |
Country Status (14)
Country | Link |
---|---|
US (7) | US10735748B2 (pt) |
EP (3) | EP3703373B1 (pt) |
JP (6) | JP2013545342A (pt) |
KR (10) | KR20140139615A (pt) |
CN (7) | CN106878725B (pt) |
BR (1) | BR112013008461B1 (pt) |
DK (1) | DK2625855T3 (pt) |
ES (1) | ES2859635T3 (pt) |
HK (2) | HK1244981A1 (pt) |
HU (1) | HUE053483T2 (pt) |
PL (2) | PL2625855T3 (pt) |
PT (1) | PT2625855T (pt) |
TW (8) | TWI554086B (pt) |
WO (1) | WO2012045886A1 (pt) |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3703369B1 (en) | 2010-04-13 | 2024-07-24 | GE Video Compression, LLC | Sample region merging |
CN106067983B (zh) * | 2010-04-13 | 2019-07-12 | Ge视频压缩有限责任公司 | 解码数据流的方法、生成数据流的方法及解码器 |
CN106231337B (zh) | 2010-04-13 | 2020-06-19 | Ge视频压缩有限责任公司 | 解码器、解码方法、编码器以及编码方法 |
BR122020008249B1 (pt) | 2010-04-13 | 2021-02-17 | Ge Video Compression, Llc | herança em amostra de arranjo em subdivisão multitree |
HUE061303T2 (hu) * | 2010-05-04 | 2023-06-28 | Lg Electronics Inc | Eljárás és berendezés videojel kódolására és dekódolására |
KR20140139615A (ko) | 2010-10-08 | 2014-12-05 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 블록 분할 및 블록 병합을 지원하는 픽처 코딩 |
KR102390352B1 (ko) * | 2011-01-07 | 2022-04-25 | 엘지전자 주식회사 | 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치 |
CN102595116B (zh) | 2011-01-14 | 2014-03-12 | 华为技术有限公司 | 多图像块划分的编解码方法和装置 |
US9066110B2 (en) | 2011-03-08 | 2015-06-23 | Texas Instruments Incorporated | Parsing friendly and error resilient merge flag coding in video coding |
KR20120140181A (ko) | 2011-06-20 | 2012-12-28 | 한국전자통신연구원 | 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치 |
US9282338B2 (en) * | 2011-06-20 | 2016-03-08 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
US9313494B2 (en) * | 2011-06-20 | 2016-04-12 | Qualcomm Incorporated | Parallelization friendly merge candidates for video coding |
US8743969B2 (en) | 2011-06-23 | 2014-06-03 | Panasonic Corporation | Image decoding method and apparatus based on a signal type of the control parameter of the current block |
USRE47366E1 (en) | 2011-06-23 | 2019-04-23 | Sun Patent Trust | Image decoding method and apparatus based on a signal type of the control parameter of the current block |
WO2012176464A1 (ja) | 2011-06-24 | 2012-12-27 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
KR102062283B1 (ko) | 2011-06-24 | 2020-01-03 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
CA2842646C (en) | 2011-06-27 | 2018-09-04 | Panasonic Corporation | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
CN106878724B (zh) | 2011-06-28 | 2020-06-05 | 太阳专利托管公司 | 图像编码解码装置 |
MX2013010892A (es) | 2011-06-29 | 2013-12-06 | Panasonic Corp | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. |
AU2012277219A1 (en) | 2011-06-30 | 2013-09-19 | Sun Patent Trust | Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device |
CA2837537C (en) | 2011-06-30 | 2019-04-02 | Panasonic Corporation | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
WO2013005966A2 (ko) * | 2011-07-01 | 2013-01-10 | 한국전자통신연구원 | 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치 |
CA2838575C (en) | 2011-07-11 | 2018-06-12 | Panasonic Corporation | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
EP2942961A1 (en) * | 2011-11-23 | 2015-11-11 | HUMAX Holdings Co., Ltd. | Methods for encoding/decoding of video using common merging candidate set of asymmetric partitions |
US9729873B2 (en) * | 2012-01-24 | 2017-08-08 | Qualcomm Incorporated | Video coding using parallel motion estimation |
US20130235926A1 (en) * | 2012-03-07 | 2013-09-12 | Broadcom Corporation | Memory efficient video parameter processing |
RU2658146C9 (ru) * | 2012-04-12 | 2018-12-12 | ДжейВиСи КЕНВУД КОРПОРЕЙШН | Устройство декодирования движущегося изображения и способ декодирования движущегося изображения |
US9635356B2 (en) | 2012-08-07 | 2017-04-25 | Qualcomm Incorporated | Multi-hypothesis motion compensation for scalable video coding and 3D video coding |
WO2014058280A1 (ko) * | 2012-10-12 | 2014-04-17 | 한국전자통신연구원 | 영상의 부호화/복호화 방법 및 이를 이용하는 장치 |
US9300977B2 (en) * | 2013-10-02 | 2016-03-29 | Amlogic Co., Ltd. | Methods for encoding motion vectors |
WO2015100729A1 (en) * | 2014-01-03 | 2015-07-09 | Mediatek Singapore Pte. Ltd. | Improved merging candidate list construction in 3dvc |
CN104853216B (zh) * | 2014-02-18 | 2018-10-02 | 寰发股份有限公司 | 基于深度的块分割方法和电子装置 |
WO2015135175A1 (en) * | 2014-03-13 | 2015-09-17 | Mediatek Singapore Pte. Ltd. | Simplified depth based block partitioning method |
CN104159121A (zh) * | 2014-06-26 | 2014-11-19 | 华为技术有限公司 | 一种基于深度信息的图像块的编码、解码方法及装置 |
CN112087629B (zh) * | 2014-09-30 | 2021-08-20 | 华为技术有限公司 | 图像预测方法、装置及计算机可读存储介质 |
JP6462119B2 (ja) * | 2014-09-30 | 2019-01-30 | マイクロソフト テクノロジー ライセンシング,エルエルシー | コンピューティングデバイス |
EP3270593A4 (en) * | 2015-03-13 | 2018-11-07 | LG Electronics Inc. | Method of processing video signal and device for same |
KR20170128390A (ko) * | 2015-03-19 | 2017-11-22 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 이를 위한 장치 |
CN107852506A (zh) * | 2015-05-12 | 2018-03-27 | 三星电子株式会社 | 用于执行帧内预测的图像解码方法及其装置以及用于执行帧内预测的图像编码方法及其装置 |
JP6866369B2 (ja) * | 2015-11-24 | 2021-04-28 | サムスン エレクトロニクス カンパニー リミテッド | 符号化順序符号化方法及びその装置、該復号方法及びその装置 |
CN105511759B (zh) * | 2015-12-14 | 2020-01-31 | 联想(北京)有限公司 | 一种图片处理方法及电子设备 |
WO2017114450A1 (en) * | 2015-12-31 | 2017-07-06 | Mediatek Inc. | Method and apparatus of prediction binary tree structure for video and image coding |
US10469841B2 (en) | 2016-01-29 | 2019-11-05 | Google Llc | Motion vector prediction using prior frame residual |
US10306258B2 (en) | 2016-01-29 | 2019-05-28 | Google Llc | Last frame motion vector partitioning |
CN116506600A (zh) | 2016-03-11 | 2023-07-28 | 数字洞察力有限公司 | 视频编码方法以及装置 |
KR102669632B1 (ko) * | 2016-03-11 | 2024-05-28 | 디지털인사이트 주식회사 | 가변 크기의 양자화 계수 그룹을 이용한 비디오 코딩 방법 및 장치 |
US10560712B2 (en) | 2016-05-16 | 2020-02-11 | Qualcomm Incorporated | Affine motion prediction for video coding |
US10284845B2 (en) * | 2016-05-25 | 2019-05-07 | Arris Enterprises Llc | JVET quadtree plus binary tree (QTBT) structure with multiple asymmetrical partitioning |
US10880548B2 (en) | 2016-06-01 | 2020-12-29 | Samsung Electronics Co., Ltd. | Methods and apparatuses for encoding and decoding video according to coding order |
CN109565595B (zh) * | 2016-06-24 | 2021-06-22 | 华为技术有限公司 | 一种使用基于分割的视频编码块划分的视频编码设备和方法 |
JP6938612B2 (ja) * | 2016-07-12 | 2021-09-22 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | 画像復号方法、画像符号化方法、及び非一時的なコンピュータ可読の記録媒体 |
US11368681B2 (en) | 2016-07-18 | 2022-06-21 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and device, and recording medium in which bitstream is stored |
WO2018045944A1 (en) * | 2016-09-06 | 2018-03-15 | Mediatek Inc. | Methods and apparatuses of candidate set determination for binary-tree splitting blocks |
US10448010B2 (en) * | 2016-10-05 | 2019-10-15 | Qualcomm Incorporated | Motion vector prediction for affine motion models in video coding |
JP6895247B2 (ja) | 2016-10-06 | 2021-06-30 | 日本放送協会 | 符号化装置、復号装置及びプログラム |
US11057624B2 (en) * | 2016-10-14 | 2021-07-06 | Industry Academy Cooperation Foundation Of Sejong University | Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored |
US20180109812A1 (en) * | 2016-10-14 | 2018-04-19 | Media Tek Inc. | Block partitioning using tree structures |
CN116405669A (zh) * | 2016-10-14 | 2023-07-07 | 世宗大学校产学协力团 | 影像解码/编码方法、传送比特流的方法及记录介质 |
CN117119179A (zh) * | 2016-11-18 | 2023-11-24 | 株式会社Kt | 视频解码方法、视频编码方法和压缩视频数据发送设备 |
JP6565885B2 (ja) * | 2016-12-06 | 2019-08-28 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム |
US11039135B2 (en) * | 2016-12-27 | 2021-06-15 | Samsung Electronics Co., Ltd. | Encoding method based on encoding order change and device therefor, and decoding method based on encoding order change and device therefor |
US10484703B2 (en) * | 2017-02-07 | 2019-11-19 | Mediatek Inc. | Adapting merge candidate positions and numbers according to size and/or shape of prediction block |
US20180242024A1 (en) * | 2017-02-21 | 2018-08-23 | Mediatek Inc. | Methods and Apparatuses of Candidate Set Determination for Quad-tree Plus Binary-tree Splitting Blocks |
KR102424411B1 (ko) * | 2017-04-13 | 2022-07-25 | 엘지전자 주식회사 | 영상의 부호화/복호화 방법 및 이를 위한 장치 |
US20180332312A1 (en) * | 2017-05-09 | 2018-11-15 | Futurewei Technologies, Inc. | Devices And Methods For Video Processing |
EP3410717A1 (en) * | 2017-05-31 | 2018-12-05 | Thomson Licensing | Methods and apparatus for candidate list pruning |
CN114554221B (zh) | 2017-07-19 | 2023-08-01 | 三星电子株式会社 | 编码方法及用于其的设备、解码方法及用于其的设备 |
US11089317B2 (en) * | 2017-08-03 | 2021-08-10 | Lg Electronics Inc. | Method and apparatus for processing video signal using affine prediction |
US11064217B2 (en) | 2017-09-18 | 2021-07-13 | Intellectual Discovery Co., Ltd. | Method and apparatus for coding video using merging candidate list according to block division |
US11877001B2 (en) * | 2017-10-10 | 2024-01-16 | Qualcomm Incorporated | Affine prediction in video coding |
EP3518536A1 (en) * | 2018-01-26 | 2019-07-31 | Thomson Licensing | Method and apparatus for adaptive illumination compensation in video encoding and decoding |
WO2019152283A1 (en) * | 2018-02-02 | 2019-08-08 | Apple Inc. | Techniques of multi-hypothesis motion compensation |
US11924440B2 (en) * | 2018-02-05 | 2024-03-05 | Apple Inc. | Techniques of multi-hypothesis motion compensation |
JP7179080B2 (ja) * | 2018-03-29 | 2022-11-28 | フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | 画像境界処理を使用して画像を符号化および復号する装置および方法 |
EP3780608A4 (en) * | 2018-04-02 | 2021-12-01 | SZ DJI Technology Co., Ltd. | IMAGE PROCESSING PROCESS AND IMAGE PROCESSING DEVICE |
EP3794819A4 (en) * | 2018-05-23 | 2022-12-07 | HFI Innovation Inc. | METHOD AND APPARATUS FOR VIDEO CODING WITH BI-DIRECTIONAL CU WEIGHTS |
EP3804329A1 (en) * | 2018-06-01 | 2021-04-14 | FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. | Video codec using template matching prediction |
TWI746994B (zh) | 2018-06-19 | 2021-11-21 | 大陸商北京字節跳動網絡技術有限公司 | 用於不同參考列表的不同精確度 |
TWI750486B (zh) | 2018-06-29 | 2021-12-21 | 大陸商北京字節跳動網絡技術有限公司 | 運動資訊共用的限制 |
TWI728389B (zh) | 2018-07-01 | 2021-05-21 | 大陸商北京字節跳動網絡技術有限公司 | 基於優先級的非相鄰merge設計 |
CN110677650B (zh) * | 2018-07-01 | 2023-06-09 | 北京字节跳动网络技术有限公司 | 降低非相邻Merge设计的复杂度 |
TW202304207A (zh) * | 2018-07-13 | 2023-01-16 | 弗勞恩霍夫爾協會 | 分區框內寫碼技術 |
AU2018217336A1 (en) * | 2018-08-17 | 2020-03-05 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a transformed block of video samples |
WO2020056095A1 (en) * | 2018-09-13 | 2020-03-19 | Interdigital Vc Holdings, Inc. | Improved virtual temporal affine candidates |
EP4325859A3 (en) | 2018-09-19 | 2024-05-15 | Beijing Bytedance Network Technology Co., Ltd. | Syntax reuse for affine mode with adaptive motion vector resolution |
US11012697B2 (en) * | 2018-12-07 | 2021-05-18 | Qualcomm Incorporated | Shared candidate list and parallel candidate list derivation for video coding |
US10893298B2 (en) | 2018-12-12 | 2021-01-12 | Tencent America LLC | Method and apparatus for video coding |
CN114222135A (zh) | 2018-12-13 | 2022-03-22 | 北京达佳互联信息技术有限公司 | 视频编码方法以及设备 |
WO2020156517A1 (en) | 2019-01-31 | 2020-08-06 | Beijing Bytedance Network Technology Co., Ltd. | Fast algorithms for symmetric motion vector difference coding mode |
KR20210121021A (ko) | 2019-01-31 | 2021-10-07 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 어파인 모드 적응적 움직임 벡터 해상도 코딩 문맥 |
KR102166337B1 (ko) * | 2019-09-17 | 2020-10-15 | 삼성전자주식회사 | 영상의 ai 부호화 방법 및 장치, 영상의 ai 복호화 방법 및 장치 |
KR20220063248A (ko) * | 2019-09-19 | 2022-05-17 | 알리바바 그룹 홀딩 리미티드 | 병합 후보 목록 구성 방법 |
CN114651446B (zh) * | 2019-09-21 | 2024-10-18 | Lg电子株式会社 | 基于变换的图像编译方法及其装置 |
CN111246046B (zh) * | 2020-03-27 | 2022-03-15 | 支付宝(杭州)信息技术有限公司 | 图案编码方法及装置、图案解码方法及装置 |
US20220408098A1 (en) * | 2021-06-18 | 2022-12-22 | Tencent America LLC | Block-wise entropy coding method in neural image compression |
WO2023055146A1 (ko) * | 2021-09-29 | 2023-04-06 | 한국전자통신연구원 | 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체 |
US20240129474A1 (en) * | 2022-10-14 | 2024-04-18 | Tencent America LLC | Systems and methods for cross-component geometric/wedgelet partition derivation |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5225904A (en) * | 1987-10-05 | 1993-07-06 | Intel Corporation | Adaptive digital video compression system |
CN100454339C (zh) * | 2001-09-14 | 2009-01-21 | 诺基亚有限公司 | 基于上下文的自适应二进制算术编码的方法和系统 |
US20040001546A1 (en) * | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
EP1604530A4 (en) * | 2003-03-03 | 2010-04-14 | Agency Science Tech & Res | FAST-DECISION ALGORITHM FOR INTRAPRADICTION FOR ADVANCED VIDEO CODING |
US8179963B2 (en) * | 2003-07-24 | 2012-05-15 | Panasonic Corporation | Coding mode determining apparatus, image coding apparatus, coding mode determining method and coding mode determining program |
US7369709B2 (en) * | 2003-09-07 | 2008-05-06 | Microsoft Corporation | Conditional lapped transform |
US8064520B2 (en) * | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
FR2875974A1 (fr) * | 2004-09-28 | 2006-03-31 | Thomson Licensing Sa | Procede et dispositif de codage d'une sequence d'images sources |
WO2006058921A1 (en) * | 2004-12-03 | 2006-06-08 | Thomson Licensing | Method for scalable video coding |
CN100471280C (zh) * | 2005-01-07 | 2009-03-18 | 株式会社Ntt都科摩 | 运动图像编码及译码装置、方法 |
CN101223780A (zh) * | 2005-07-18 | 2008-07-16 | 三星电子株式会社 | 减少编码器和解码器之间的不匹配的视频编码方法和设备 |
JP4047879B2 (ja) * | 2005-08-23 | 2008-02-13 | 松下電器産業株式会社 | 動きベクトル検出装置および動きベクトル検出方法 |
US8265349B2 (en) * | 2006-02-07 | 2012-09-11 | Qualcomm Incorporated | Intra-mode region-of-interest video object segmentation |
EP2360843A3 (en) * | 2006-02-16 | 2013-04-03 | Vidyo, Inc. | System and method for thinning of scalable video coding bit-streams |
RU2426267C2 (ru) * | 2007-01-08 | 2011-08-10 | Нокиа Корпорейшн | Усовершенствованное межуровневое предсказание для расширенной пространственной масштабируемости при кодировании видеосигнала |
CN100495438C (zh) * | 2007-02-09 | 2009-06-03 | 南京大学 | 一种基于视频监控的运动目标检测与识别方法 |
JP5666293B2 (ja) | 2007-04-12 | 2015-02-12 | トムソン ライセンシングThomson Licensing | ビデオ・エンコーディング、およびデコーディングのためのスキップ/ダイレクトモードのコンテクストに依存するマージのための方法と装置 |
US7965900B2 (en) * | 2007-09-26 | 2011-06-21 | Hewlett-Packard Development Company, L.P. | Processing an input image to reduce compression-related artifacts |
US20090154567A1 (en) * | 2007-12-13 | 2009-06-18 | Shaw-Min Lei | In-loop fidelity enhancement for video compression |
US8854964B2 (en) | 2007-12-14 | 2014-10-07 | General Instrument Corporation | Method and apparatus for determining a transport bit rate for a Multiprogram transport stream |
WO2009091383A2 (en) * | 2008-01-11 | 2009-07-23 | Thomson Licensing | Video and depth coding |
CN100586184C (zh) * | 2008-01-24 | 2010-01-27 | 北京工业大学 | 帧内预测方法 |
CN101282478A (zh) * | 2008-04-24 | 2008-10-08 | 上海华平信息技术股份有限公司 | 实现高清视频并行编码的方法及系统 |
CN101409831B (zh) * | 2008-07-10 | 2010-10-27 | 浙江师范大学 | 一种多媒体视频对象处理方法 |
JP5067361B2 (ja) * | 2008-12-25 | 2012-11-07 | ソニー株式会社 | エンコーダ及びデコーダ、符号方法及び復号方法、並びに記録媒体 |
KR20140139615A (ko) | 2010-10-08 | 2014-12-05 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 블록 분할 및 블록 병합을 지원하는 픽처 코딩 |
JP6248767B2 (ja) | 2014-04-08 | 2017-12-20 | 新日鐵住金株式会社 | パネル部材 |
-
2011
- 2011-10-10 KR KR1020147030727A patent/KR20140139615A/ko not_active IP Right Cessation
- 2011-10-10 PL PL11767016T patent/PL2625855T3/pl unknown
- 2011-10-10 EP EP20155688.3A patent/EP3703373B1/en active Active
- 2011-10-10 PL PL20155688.3T patent/PL3703373T3/pl unknown
- 2011-10-10 CN CN201611217249.3A patent/CN106878725B/zh active Active
- 2011-10-10 WO PCT/EP2011/067647 patent/WO2012045886A1/en active Application Filing
- 2011-10-10 KR KR1020137011780A patent/KR101526778B1/ko active IP Right Grant
- 2011-10-10 JP JP2013532229A patent/JP2013545342A/ja active Pending
- 2011-10-10 EP EP20201843.8A patent/EP3833025A1/en active Pending
- 2011-10-10 KR KR1020207010666A patent/KR102277273B1/ko active IP Right Grant
- 2011-10-10 BR BR112013008461-8A patent/BR112013008461B1/pt active IP Right Grant
- 2011-10-10 PT PT117670166T patent/PT2625855T/pt unknown
- 2011-10-10 EP EP11767016.6A patent/EP2625855B8/en active Active
- 2011-10-10 KR KR1020247007428A patent/KR20240034886A/ko active Search and Examination
- 2011-10-10 KR KR1020177029757A patent/KR101893923B1/ko active IP Right Grant
- 2011-10-10 CN CN201180059404.2A patent/CN103477635B/zh active Active
- 2011-10-10 KR KR1020177029761A patent/KR101952103B1/ko active IP Right Grant
- 2011-10-10 HU HUE11767016A patent/HUE053483T2/hu unknown
- 2011-10-10 KR KR1020207010671A patent/KR102405529B1/ko active IP Right Grant
- 2011-10-10 DK DK11767016.6T patent/DK2625855T3/da active
- 2011-10-10 CN CN201611216859.1A patent/CN107360427B/zh active Active
- 2011-10-10 KR KR1020197004924A patent/KR102102600B1/ko active IP Right Grant
- 2011-10-10 CN CN201611216843.0A patent/CN107181944B/zh active Active
- 2011-10-10 CN CN201611216865.7A patent/CN107071438B/zh active Active
- 2011-10-10 CN CN201611217848.5A patent/CN107105258B/zh active Active
- 2011-10-10 KR KR1020187024592A patent/KR102034004B1/ko active IP Right Grant
- 2011-10-10 CN CN201611217282.6A patent/CN106878726B/zh active Active
- 2011-10-10 ES ES11767016T patent/ES2859635T3/es active Active
- 2011-10-10 KR KR1020227018392A patent/KR102647083B1/ko active Application Filing
- 2011-10-11 TW TW103146089A patent/TWI554086B/zh active
- 2011-10-11 TW TW110103651A patent/TWI792167B/zh active
- 2011-10-11 TW TW112106488A patent/TW202332270A/zh unknown
- 2011-10-11 TW TW105124463A patent/TWI616089B/zh active
- 2011-10-11 TW TW109106914A patent/TWI720831B/zh active
- 2011-10-11 TW TW106145760A patent/TWI673998B/zh active
- 2011-10-11 TW TW108129640A patent/TWI728431B/zh active
- 2011-10-11 TW TW100136725A patent/TWI520579B/zh active
-
2013
- 2013-04-05 US US13/857,506 patent/US10735748B2/en active Active
-
2015
- 2015-10-09 JP JP2015200777A patent/JP6808310B2/ja active Active
-
2018
- 2018-01-04 JP JP2018000339A patent/JP6728249B2/ja active Active
- 2018-03-06 HK HK18103206.4A patent/HK1244981A1/zh unknown
- 2018-05-03 HK HK18105750.9A patent/HK1246546A1/zh unknown
-
2019
- 2019-12-18 US US16/719,462 patent/US10743001B2/en active Active
-
2020
- 2020-03-17 JP JP2020046738A patent/JP2020120380A/ja active Pending
- 2020-04-01 US US16/837,561 patent/US10812811B2/en active Active
- 2020-04-13 US US16/846,579 patent/US10827187B2/en active Active
- 2020-09-17 JP JP2020156724A patent/JP7391807B2/ja active Active
- 2020-09-30 US US17/038,777 patent/US11057630B2/en active Active
-
2021
- 2021-05-25 US US17/330,197 patent/US11785229B2/en active Active
-
2023
- 2023-09-01 US US18/460,432 patent/US20240089468A1/en active Pending
- 2023-09-25 JP JP2023159938A patent/JP2023179552A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR112013008461B1 (pt) | Codificação de imagem suportando particionamento de blocos e mesclagem de blocos | |
ES2955542T3 (es) | Codificación de instantánea que soporta unión de bloques y modo de salto | |
KR102205041B1 (ko) | 평면 간 예측 | |
TWI774141B (zh) | 視訊編解碼方法及裝置 | |
BR112012025309B1 (pt) | Método de codificar um vídeo mediante realização de filtração em malha com base nas unidades de codificação, método de decodificar um vídeo mediante realização de filtração em malha com base nas unidades de codificação, equipamento de codificação de vídeo para codificar um vídeo mediante realização de filtração em malha com base nas unidades de codificação, equipamento de decodificação de vídeo para decodificar um vídeo mediante realização de filtração em malha com base nas unidades de codificação, e meio de gravação legível por computador. | |
BR112012026383B1 (pt) | Decodificador, método de descodificação, codificador, método de codificação e meio de armazenamento digital | |
BR112015032150B1 (pt) | Intra-predição a partir de bloco preditivo | |
BR112012026393A2 (pt) | fusão de região de amostra | |
CN111052745A (zh) | 编码单元的内部子块的细化 | |
BR122021003281B1 (pt) | Codificação de imagem suportando particionamento de blocos e mesclagem de blocos | |
BR112018000549B1 (pt) | Método de particionamento de blocos para a codificação ou decodificação de vídeo para um codificador de vídeo ou para um decodificador de vídeo respectivamente e aparelho para o particionamento de blocos para a codificação ou a decodificação de vídeo efetuada por um codificador de vídeo ou por um decodificador de vídeo respectivamente |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B15K | Others concerning applications: alteration of classification |
Ipc: H04N 19/119 (2014.01), H04N 19/147 (2014.01), H04N |
|
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B25A | Requested transfer of rights approved |
Owner name: GE VIDEO COMPRESSION, LLC. (US) |
|
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 10/10/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |
|
B25G | Requested change of headquarter approved |
Owner name: GE VIDEO COMPRESSION, LLC. (US) |