BRPI0711103A2 - predição de movimento entre camadas simplificadas para codificação de vìdeo escalonável - Google Patents
predição de movimento entre camadas simplificadas para codificação de vìdeo escalonável Download PDFInfo
- Publication number
- BRPI0711103A2 BRPI0711103A2 BRPI0711103-7A BRPI0711103A BRPI0711103A2 BR PI0711103 A2 BRPI0711103 A2 BR PI0711103A2 BR PI0711103 A BRPI0711103 A BR PI0711103A BR PI0711103 A2 BRPI0711103 A2 BR PI0711103A2
- Authority
- BR
- Brazil
- Prior art keywords
- layer
- macroblock
- partlnfo
- value
- base layer
- Prior art date
Links
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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- 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/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- 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/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
PREDIçãO DE MOVIMENTO ENTRE CAMADAS SIMPLIFICADAS PARA CODIFICAçãO DE VIDEO ESCALONáVEL Trata-se de um método para determinar a um macrobloco de alta camada que usa predição entre camadas um particionamento do macrobloco em partições. Esse compreende as seguintes etapas: - dividir o macrobloco de camada alta em blocos de camada alta não-sobrepostos de um tamanho predefinido; - determinar um pixel de camada base correspondente para um pixel, chamado pixel de referência, de cada bloco de camada alta; - identificar, para cada pixel de referência, um macrobloco de camada base ao qual o pixel de camada correspondente pertence, uma partição de camada base à qual o dito pixel de camada base correspondente no macrobloco de camada base identificado, uma subpartiçáo de camada base à qual o pixel de camada base correspondente pertence na dita partição de camada base identificada se existir a dita subpartição; - derivar, para cada bloco de camada alta, um único valor, chamado valor Partínfo,e - determinar um particionamento do macrobloco de camada alta em partições de macrobloco ao comparar entre esses os valores de Partínfo associados com cada bloco de alta camada.
Description
"PREDIÇÃO DE MOVIMENTO ENTRE CAMADAS SIMPLIFICADAS PARACODIFICAÇÃO DE VÍDEO ESCALONÁVEL"
A invenção refere-se á codificação de vídeo escalonável (SVC), maisespecificamente em predição de movimento entre camadas usada em padrão SVC que édefinido por Joint Video Team (JVT) de ISO/IEC MPEG & ITU-T VCEG.
Os métodos de codificação hierárquica escalonável no estado da técnica permitema codificação das informações de maneira hierárquica para que essas possam serdecodificadas em níveis de resoiução e/ou qualidade diferentes. Um fluxo de dados geradopor um dispositivo de codificação escalonável é, assim, dividido em diversas camadas, umacamada de base e uma ou mais camadas de otimização. Esses dispositivos permitem aadaptação de um único fluxo de dados a condições de transmissão variáveis (largura debanda, taxa de erro...) e também a capacidades de dispositivo de recepção (CPU,características de dispositivo de reprodução...). Um método de codificação hierárquicaespacialmente escalonável (ou decodificação) codifica (ou decodifica) uma primeira parte dedados denominada de camada base se refere a imagens de baixa resolução, e a partirdessa camada base codifica (ou decodifica) ao menos outra parte de dados denominadacamada de otimização que se refere a imagens de alta resolução. As informações decodificação referentes à camada de otimização são possivelmente herdadas (ou seja,derivadas) de informações de codificação referentes à camada base por um métododenominado método de derivação entre camadas. As informações de codificação derivadaspodem compreender possivelmente: um padrão de particionamento associado ao bloco depixels da imagem de alta resolução (para dividir o dito bloco em diversos sub-blocos),modos de codificação associados aos ditos blocos, possivelmente vetores de movimento eum ou mais índices de referência de imagem associados com alguns blocos que permitemfazer referência à imagem usada para estimar o dito bloco. Uma imagem de referência éuma imagem da seqüência usada para prever outra imagem da seqüência. Assim, se nãoestiverem explicitamente codificadas no fluxo de dados, as informações de codificação (maisespecificamente, tipo macrobloco e tipos sub-macrobloco) referentes à camada deotimização devem ser derivadas das informações de codificação referentes às imagens debaixa resolução. Os métodos no estado da técnica para derivar informações de codificaçãopodem ser usados para imagens de alta resolução cujo formato não está vinculado aoformato de imagens de baixa resolução por uma transformada diádica. O método maisrecente, como descrito no documento de Joint Video Team (JVT) de ISO/IEC MPEG & ITU-T VCEG JVT-R202 intitulado "Joint Scalable Video Model JSVM-5: Joint Draft 5 withproposed changes", J.Reichel, H.Schwarz1 M.Wien (indicado na seqüência JSVM5), propõeum método de predição entre camadas direta, baseado em alguns processos complexos(em termos de descrição textual).Um objetivo da invenção é simplificar de maneira significativa esse processo depredição de movimento entre camadas e sua descrição. Mais especificamente, a invençãorefere-se a um processo para determinar a divisão do dito macrobloco em partições epossivelmente o particionamento das ditas partições em subpartições. Outro objetivo dainvenção é derivar o tipo de macrobloco e tipos de sub-macrobloco, para um determinadomacrobloco de alta camada, utilizando predição entre camadas, de acordo com areivindicação 1.
Outras particularidades e vantagens da invenção se tornarão claras a partir daseguinte descrição determinada a título de exemplos sem caráter Iimitativo e determinadaem consideração às figuras em anexo que representam:
- figura 1, relações geométricas entre imagens espaciais baixas e altas,
- figura 2, um sinótico de particionamento de macrobloco, subparticionamento,processos de derivação de tipo de macrobloco e tipos de sub-macrobloco.
- figura 3, possíveis índices de partição e subpartição,- figura 4, sinótico de processo de limpeza de blocos 4x4,
- figura 5, sinótico de limpeza de blocos 8x8,
- figura 6, sinótico de processos de particionamento de macrobloco e derivação dembType; e
- figura 7, sinótico de processo de subparticionamento e derivação de subMbTypes.Na seqüência, duas camadas espaciais são consideradas, uma camada baixa (denominadacamada base) correspondente às imagens de baixa resolução e uma camada alta(denominada camada de otimização) correspondente às imagens de alta resolução. Comorepresentado na figura 1, a largura e altura de imagens da camada de otimização (ou seja,imagens de alta resolução) são definidas respectivamente por We e He. As dimensões deimagens da camada base (ou seja, imagens de baixa resolução) são definidas por Wb e Hb.As imagens de baixa resolução pode ser uma versão com resolução reduzida de sub-imagens de imagens de camada de otimização, de dimensões Ws e Hs, posicionadas emcoordenadas (Xorig, Y0rig) no sistema de coordenadas de imagens de camada de otimização.As imagens de baixa e alta resolução também podem ser proporcionadas por câmerasdiferentes. Nesse caso, as imagens de baixa resolução não são obtidas ao reduzir aresolução de imagens de alta resolução e os parâmetros geométricos podem serproporcionados por meios externos (por exemplo, pelas próprias câmeras). A janelacorrespondente à camada base é denominada uma janela de recorte. Um macrobloco daimagem de baixa resolução corresponde a um macrobloco da imagem de alta resoluçãoquando se sobrepõe a parte de imagem de baixa resolução de resolução aumentada pelarazão entre camadas em ambas as direções com a parte de imagem de alta resolução, omacrobloco correspondente cobre ao menos parcialmente o dito macrobloco da imagem dealta resolução. Nas bordas da imagem de camada de otimização, os macroblocos podemnão possuir camada base correspondente ao macrobloco, bem serem apenas parcialmentecobertos pelos macroblocos de camada base escalonados.
Para um determinado macrobloco de alta camada que usa predição entre camadas,as partições, possivelmente subpartições, o processo de derivação de tipo de macrobloco etipos de sub-macrobloco está baseado no uso de uma matriz de números inteiros 4x4,denominada partinfo[x][y], com x=0 a 3 e y-0 a 3.
O processo trabalha nas seguintes etapas:
- na etapa 20, a derivação de valores de matriz partlnfo,
- na etapa 22, possivelmente a limpeza de matriz partlnfo,
- na etapa 24, a determinação de partições e possivelmente subpartições; e
- na etapa 26, a derivação de tipo de macrobloco e tipos de sub-macrobloco. Essasetapas sucessivas, representadas na figura 2, são detalhadas mais adiante.
Derivação de valores de partlnfo (etapa 20)
Seja (xM,yM) a posição superior esquerdo do dito macrobloco de alta camada nareferência de alta camada (com a origem posicionada no pixel superior esquerdo da imagemde alta camada).
De acordo com a invenção, o processo compreende uma etapa para identificar acada bloco 4x4 (x,y), x=0 a 3 e y=0 a 3 do dito macrobloco de alta camada um macroblococorrespondente mbBase na imagem de camada base, ou seja, identificar seu endereçombAddrBase. Para esse propósito, seja (Xin=4*x,Yin=4*y) a posição de pixel de entradadesse processo, que irá derivar o endereço de macrobloco de camada basecorrespondente, o índice de partição de camada base do dito macrobloco de camada base,e o índice de subpartição de camada base da dita partição, que compreende o pixelcorrespondente na camada base de pixel (Xin1Yin). Seja (xP,yP) o autodenominado pixel dereferência do bloco 4x4 do dito macrobloco de alta camada definido como
o xP = Xin + do yP = Yin + d
onde d é um parâmetro predefinido ajustado no intervalo [0,3]. Em umaimplementação preferida, d é ajustado para 1.
A posição correspondente (xB,yB) na camada base é então computada da seguintemaneira:
o xB = ((xP + xM - Xorig)*Wb + Ws / 2 ) / Wso yB = ((yP + yM - Yorig)* Hb + Hs / 2 ) / Hs
O endereço mbAddrBase do macrobloco de camada base mbBase quecompreende o pixel (xB,yB) é identificado como se segue:o mbAddrBase = ( yB /16 ) * (Wb /16 ) + ( χΒ /16 )
Se ο dito macrobloco de camada base mbBase não existir (por exemplo, o pixel(xB,yB) está fora dos limites de imagem de camada base), mbAddrBase é marcado comonão disponível. A predição entre camadas é proibida para o macrobloco de alta camada e oprocesso é interrompido.
O processo compreende uma etapa para identificar a partição (mbPartldxBase) esubpartição (subMbPartldxBase) de mbBase de bloco correspondente 4x4. A partição(mbPartIdxBase) e subpartição (subMbPartldxBase) são identificadas cp,p se segue:
• mbPartldxBase é ajustado para o índice da partição de mbBase que compreendepixel (xB.yB).
• - subMbPartldxBase é derivado como se segue:
o Se mbBase for dividido como 8x8 (dividido em 4 blocos 8x8), subMbPartldxBaseé ajustado para o índice da subpartição de partição mbPartldxBase de mbBase quecompreende pixel (xB,yB).
o De outra forma, subMbPartldxBase é ajustado para 0.
O processo de derivação de macrobloco base, partição e subpartição descritoacima é aplicado com a posição (Xin=4*x,Yin=4*y) como entrada, para derivar o endereçode macrobloco base mbAddrBase, o índice mbPartldxBase da partição de camada base e oíndice subMbPartldxBase da subpartição, correspondente ao dito bloco 4x4. A Figura 3fornece os possíveis índices de partição e subpartição, dependendo do particionamento demacrobloco, como definido na figura 6 a 9 de JSVM5. Essa refere-se, por exemplo, apartições de um macrobloco de amostras claras 16*16 e amostras de pureza de corassociadas e a partições de um sub-macrobloco de amostras claras 8*8 e amostras depureza de cor associadas. O processo compreende uma etapa para derivar partlnfo[x][y],partInfo[x][y] é computado como se segue:
o Se o macrobloco base de endereço mbAddrBase for INTRA codificado
• partInfo[x][y] = -1 (ou seja, é marcado como derivado de macrobloco base intra),um valor negativo exceto -1 pode ser usado para identificar que o bloco é herdado demacrobloco base intra
o De outro modo
• partInfo[x][y] = 16* mbAddrBase + 4* mbPartldxBase + subMbPartldxBase.
Essa fórmula é definida para que um único conjunto (mbAddrBase, mbPartldxBase,subMbPartldxBase) gere um único valor de partlnfo.
A partir de partlnfo[x][y], mbAddrBase, mbPartldxBase e subMbPartldxBase podemser especificamente identificados como:
mbAddrBase = partinfo[x][y] /16
mbPartldxBase = ( parti nfo[x][y] % 16 ) / 4subMbPartldxBase = ( partInfo[x][y] % 16 ) % 4
Limpeza de matriz de partInfo (etapa 22)
O seguinte processo é então aplicado para gerenciar as configurações em quealguns blocos 4x4 são herdados de macroblocos base intra e outros de macroblocos baseinter. O processo limpa a matriz partInfo ao substituir qualquer elemento de partInfo[x][y]igual a -1 por um de seu elemento adjacente. Esse processo de limpeza se aplica primeiro ablocos 4x4 de cada bloco 8x8. Então, os blocos 8x8 são limpos, se necessário. O processoé detalhado na seqüência. Para cada bloco 8x8 (X,Y), X=0 ai e Y= 0 a 1, o seguinte seaplica:
Limpeza de blocos 4x4
O sinótico do processo é ilustrado na figura 4. Se o valor de partInfo de umdeterminado bloco for igual a -1, esse é substituído pelo valor de partInfo de um de seusblocos 4x4 adjacentes que pertence ao mesmo bloco 8x8, se esse valor não for igual a -1.Os blocos 4x4 adjacentes são varridos na seguinte ordem: 1. adjacente horizontal, 2.adjacente vertical, 3. adjacente diagonal.
Descrição de pseudocódigo desse processo
- Na etapa 40, para cada bloco 4x4 (x,y), x=0 a 1 e y=0 a 1, o seguinte se aplica.
- Se partInfo[ 2*X + x][2*Y + y]for igual a -1, o seguinte se aplica.
- Na etapa 42, se partInfo[ 2 *X + 1 - x][ 2 * Y + y] não for igual a - 1, cópia deadjacente horizontal: partInfo[2*X + x][2*Y + y] = partInfo[ 2*X+1-x][2*Y + y]
- De outro modo, na etapa 44, se partInfo[ 2 *X + x][2 *Y+ 1 -y] não for igual a -1,cópia de adjacente vertical: partInfof 2*X + ?][2? + y] = partInfof 2*X + x][2*Y + 1-y]
- De outro modo, na etapa 46, se partInfo[ 2*X+ 1-x][2*Y+ 1-y] não for igual a -1,cópia de adjacente diagonal: partInfo[2*X + x][2*Y + y] = partInfo[2*X+1-x][2* ?+1-y]
Limpeza de bloco 8x8
O sinótico do processo é ilustrado na figura 5. Para um determinado bloco 8x8, se ovalor de partInfo de seu primeiro bloco 4x4 for igual a -1, os valores de partInfo de seus 4blocos 4x4 são substituídos por aqueles de um bloco 8x8 adjacente que pertence aomacrobloco de alta camada. Essa substituição é apenas aplicada se o primeiro bloco 4x4 dobloco 8x8 adjacente considerado possuir um valor de partInfo que não seja igual a -1. Osblocos 8x8 adjacentes são varridos na seguinte ordem: 1. adjacente horizontal, 2. adjacentevertical, 3. adjacente diagonal.
Descrição de pseudocódigo desse processo
- Na etapa 50, para cada bloco 8x8 (X, Y), X=0 a 1 e Y=0 a 1, o seguinte se aplica.
- Na etapa 52, se partInfof [2 * X][2 * Y] for igual a -1, o seguinte se aplica.
- Se partInfo [2* (1 - X)][2 * Y] não for igual a-1, cópia de adjacente horizontal:
- Para cada bloco 4x4 (x,y), x=0 a 1 e y=0 a 1, o seguinte se aplica.partInfo[ 2*X + x][2*Y + y] = partlnfo[2*(1 -X)][2*Y]
- De outro modo, na etapa 54, se partlnfo[ 2*X ][2*(1 - Y) ] não for igual a -1,cópia de adjacente vertical:
- Para cada bloco 4x4 (x,y), x=0 a 1 e y=0 a 1, o seguinte se aplica.partlnfo[2*X + χ][2*Ύ + y] = partlnfo[2*X][2*(1-Y)j
- De outro modo, na etapa 56, se partlnfo[ 2 *(1-X) ][2 * (1 -Y) ] não for igual a -1,cópia de adjacente diagonal:
- Para cada bloco 4x4 (x,y), x=G a 1 e y-Q a 1, o seguinte se aplica.partlnfo[2*X + χ][2Ύ + y] = partlnfo [2*(1-X)][2* (1-Y)J
Derivação de partições, subpartições, tipo de macrobloco (mbType) e tipos de sub-macrobloco (subMbTvpe)
Esse processo deriva o macrobloco de camada alta tipo mbType e, se esse fordividido em 4 blocos 8x8, o sub-macrobloco tipo subMbType[blkldx] de cada bloco 8x8 deíndice blkldx, a partir de matriz de partlnfo e do tipo de macroblocos de camada base(também denominados, modos de codificação).
Dados de camada base disponíveis
Considera-se que cada macrobloco de camada base contém uma informaçãodisponível que indica a cada bloco 8x8 qual lista de predição esse utiliza. Essa informação éarmazenada como uma matriz bidimensional usedPredList[mbAddr][blkldx], sendo que aprimeira dimensão é correspondente ao endereço de macrobloco mbAddr, a segundadimensão ao índice do bloco 8x8 dentro do macrobloco blkldx (obtendo valores entre 0 e 3).
Se o bloco 8x8 de índice blkldx de macrobloco de endereço mbAddr usar:
- apenas lista de predição LO usedPredlist[mbAddr][blkldx] = 1.
- apenas lista de predição L1, usedPredl_ist[ mbAddr][blkldx] =2.
- ambas as listas de predição LO e L1, usedPredList[ mbAddr][blkldx] = 3.
Como especificado em JSVM5, o tipo de macrobloco é definido entre os valores da
Tabela 1. Similarmente, como especificado em JSVM5, o tipo de sub-macrobloco é definidoentre os valores da Tabela 1.
<table>table see original document page 7</column></row><table><table>table see original document page 8</column></row><table>
Tabela 1: possíveis tipos de macrobloco e sub-macrobloco.
Descrição de processo
O processo de derivação de tipo de macrobloco mbType e, se aplicável, tipo desub-macrobloco subMbType[blkldx] de cada bloco 8x8 de índice blkldx, funciona como sesegue.
Determinação de partição e derivação de mbTvpe
O sinótico do processo é ilustrado na figura 6.
- Na etapa 60, se todos os valores de partlnfo forem iguais a -1 , mbType éajustado para modo l_BL.
- De outro modo, o particionamento é determinado dependendo da análise devalores de partlnfo.
o Se todos os 16 valores de partlnfo forem iguais,
■ Na etapa 62, o particionamento partSize é ajustado para 16x16
■ Na etapa 64, derivação de informações de lista de predição
• partPredModeO = usePredList[partlnfo[0][0]/16][((partlnfo[0][0]%16)/4)].
o De outro modo, se 8 valores de partlnfo superiores forem iguais aos 8 valores departlnfo inferiores são iguais,
■ Na etapa 66, o particionamento partSize é ajustado para 16x8
■ Na etapa 68, derivação de informações de lista de predição de partição acima de16x8:
• partPredModeO = usePredList[partlnfo[0][0]/16][((partlnfo[0][0]%16)/4)].■ Na etapa 68, derivação de informações de lista de predição de partição abaixo de16x8:
■ partPredModel = usePredList[partlnfo[3][3]/16][((partlnfo[3][3]%16)/4)].
o De outro modo, se os 8 valores de partlnfo da esquerda forem iguais e os 8valores de partlnfo da direita forem iguais,
■ Na etapa 70, o particionamento partSize é ajustado para 8x16
■ Na etapa 72, derivação de informações de lista de predição de partição 8x16esquerda:
- partPredModeO = usePredlist[partlnfo[0][0]/16] [((parti nfo[0][0]%16)/4)].
■ Na etapa 72, derivação de informações de lista de predição de partição 8x16direita:
• partPredModel = usePredl_ist[partlnfo[3][3]/16] [((parti nfo[3][3]%16)/4)].
o De outro modo,
■ Na etapa 74, o particionamento partSize é ajustado para 8x8
Por fim, o mbType é derivado, na etapa 76, com base no particionamento departSize, as informações de lista de predição derivadas partPredModeO e partPredModel e otipo de porção slice_type que compreende o macrobloco de alta camada sob consideração,utilizando a Tabela 2.
<table>table see original document page 9</column></row><table><table>table see original document page 10</column></row><table>
Tabela 2: derivação de macrobloco tipo mbType ("na" significa não disponível).Descrição de pseudocódigo desse processo
- Se partInfo[0][0] for igual a -1, mbType é ajustado igual a I_BL.
- De outro modo, o seguinte se aplica.
- Seja partSize, partPredMode0, e partPredModel variáveis temporárias que sãoderivadas como se segue.
- Se partInfo[x, y], com x, y= 0..3, for igual a partinfo[0, 0], o seguinte se aplicapartSize =16x16
partPredMode0 = usedPredictionLists [partInfo[0, 0]/16][(partlnfo[0, 0]%16)/4]
- De outro modo, se partInfo[ x, y], com x= 0..3 e y=0..1, for igual a partlnfo[0, 0] epartinfo[x, y ], com x=0..3 e y=2..3, for igual a partinfo[ 0, 2], o seguinte se aplica.
partSize = 16x8
partPredModeO = usedPredictionLists
[partInfo[0, 0]/16][(partInfo[0, 0]%16)/4]partPredModel =
2 *predFlagL1Base[partInfo[3, 3]/16][(partlnfo[3, 3] % 16)/4]
- De outro modo, se partInfo[x, y], com χ= 0..1 e y=0..3, for igual a partInfo[0, 0] epartInfo[x, y], com χ = 2..3 e y=0..3, for igual a partInfo [2, 0], o seguinte se aplica partSize= 8x16
partPredModeO = usedPredictionLists[partinfo[0, 0]/16][(partInfo[0, 0]%16)/4]
partPredModel = usedPredictionLists [partInfo[3, 3]/16][(partInfo[3,3]%16)/4]
- De outro modo, partSize é ajustado igual a 8x8.
- Dependendo do slice_type, partSize, partPredMode0, e partPredModel, mbType éderivado como especificado pela Tabela 2.
Determinação de subpartições e derivação de subMbTypes
Se mbType for igual a P_8x8 ou B_8x8, o tipo de sub-macrobloco de cada bloco8x8 é determinado, como se segue.O sinótico do processo é ilustrado na figura 7.
Para cada bloco 8x8 (xO.yO]) com x0,y0=0,..,1, o subparticionamento é determinadodependendo da análise de valores de partlnfo.
• Na etapa 80, derivação de informações de lista de predição:o partPredMode = usedPredictionLists [partlnfo[x0, y0]/16][(partlnfo[x0, y0] %16)/4].
• Na etapa 82, se os 4 valores de partlnfo de bloco 8x8 considerado forem iguais, osubparticionamento subPartSize é ajustado para 8x8
• De outro modo, na etapa 84, se 2 valores de partlnfo de bloco 8x8 consideradoforem iguais e 2 valores de partlnfo inferiores de bloco 8x8 considerado forem iguais, osubparticionamento subPartSize é ajustado para 8x4
• De outro modo, na etapa 86, se 2 valores de partlnfo da esquerda de bloco 8x8considerado forem iguais e 2 valores de partlnfo da direita de bloco 8x8 considerado foremiguais, o subparticionamento subPartSize é ajustado para 4x8
• De outro modo, na etapa 88, o subparticionamento subPartSize é ajustado para4x4
Por fim, o subMbType do bloco 8x8 considerado é derivado, na etapa 90, baseadono subparticionamento subPartSize, as informações de lista de predição derivadaspartPredMode e o tipo de porção slice_type que compreende o macrobloco de alta camadasob consideração, utilizando a Tabela 3.
<table>table see original document page 11</column></row><table>Tabela 3: derivação de sub-macrobloco tipo subMbType ("na" significa nãodisponível).
Descrição de pseudocódigo desse processo
Quando mbType for igual a P_8x8 ou B_8x8, para mbPartldx = 0..3, derivação de subMbType para cada partição é obtida como se segue.
- Seja x0, y0, e partPredMode variáveis temporárias que são derivadas por x0 = 2 *(mbPartldx % 2) y0 = 2 * (mbPartldx/2) partPredMode = usedPredictionLists[partinfo[ x0, y0]/16][ (partinfo[x0, y0]% 16)/4]
Seja subPartSize uma variável temporária que é derivada como se segue. -Se partlnfo[ x0 + x, y0 + y ], com x, y = 0..1, for igual a partlnfo[x0, y0],subPartSize é ajustada igual a 8x8.
- De outro modo, se partlnfo [x0, y0] for igual a partlnfofxO + 1, y0]] e partlnfo[x0, y0+ 1 ] for igual a partlnfofxO + 1, y0 + 1 ], subPartSize é ajustado igual a 8x4.
- De outro modo, se partlnfo [x0, y0] for igual a partlnfo [x0, y0 + 1] e partlnfo [x0 + 1, y0] for igual a partlnfo [x0 + 1, y0 + 1], subPartSize é ajustado igual a 4x8.
- De outro modo, subPartSize é igual a 4x4.
Dependendo do slice_type, subPartSize, partPredMode, subMbTypef mbPartldx ] éderivado como especificado pela Tabela 3.
Claims (8)
1. Método, como parte de um método de codificação ou decodificação de vídeoescalonável, para determinar para um macrobloco de alta camada que usa predição entrecamadas um particionamento do dito macrobloco em partições, CARACTERIZADO pelofato de que esse compreende as seguintes etapas:- dividir o dito macrobloco de camada alta em blocos de camada alta não-sobrepostos de um tamanho predefinido;- determinar um pixel de camada base correspondente para um pixel, chamadopixel de referência, de cada bloco de camada alta;- identificar, para cada pixel de referência, um macrobloco de camada base ao qualo dito pixel de camada correspondente pertence, uma partição de camada base à qual o ditopixel de camada base correspondente no dito macrobloco de camada base identificado, umasubpartição de camada base à qual o dito pixel de camada base correspondente pertencena dita partição de camada base identificada se existir a dita subpartição;- derivar, para cada dito bloco de camada alta, um único valor, chamado valorPartlnfo, como se segue:- ajustar o valor Partlnfo a um valor negativo predefinido se o dito macrobloco decamada base identificado for INTRA codificado; e- computar o dito valor Partlnfo sobre a base do macrobloco de camada baseidentificado, partição de camada base identificada e subpartição de camada baseidentificada se a dita subpartição existir, de outro modo; e- determinar um particionamento do dito macrobloco de camada alta em partiçõesde macrobloco ao comparar entre esses os ditos valores de Partlnfo associados com cadadito bloco de alta camada.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que odito macrobloco de camada base é identificado por seu endereço mbAddrBase na imagem,sendo que a dita partição de camada base é identificada no dito macrobloco de camadabase por um índice mbPartldxBase, e em que a dita subpartição de camada base éidentificada na dita partição de camada base por um índice subMbPartldxBase.
3. Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que odito valor Partlnfo é computado de acordo com a seguinte equação: 16* mbAddrBase + 4 *mbPartldxBase + subMbPartldxBase.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3,CARACTERIZADO pelo fato de que método compreende adicionalmente após a etapa paraderivar o valor Partlnfo, uma etapa para ajustar cada valor Partlnfo associado com umdeterminado bloco de alta camada e igual ao dito valor negativo predefinido a um valorPartlnfo não igual ao dito valor negativo predefinido e associado com um dos blocos de altacamada adjacentes do dito bloco de alta camada determinado, se tal valor Partlnfo existir.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4,CARACTERIZADO pelo fato de que o dito macrobloco de alta camada possui um tamanhode 16 por 16 pixels e com isso os ditos blocos de alta camada possuem um tamanho de 4por 4 pixels.
6. Método, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que:- se todos os valores de Partlnfo associados com cada bloco de alta camada foremiguais a um mesmo valor, então o dito macrobloco de alta camada é dividido em umapartição de 16 pixels de largura e 16 pixels de altura;- se os valores de Partlnfo associados com os 8 blocos de alta camada da partesuperior do dito macrobloco de alta camada forem iguais a um mesmo primeiro valor e se osvalores de Partlnfo associados com os 8 blocos de alta camada da parte inferior do ditomacrobloco de alta camada forem iguais a um mesmo segundo valor diferente do ditoprimeiro valor, então o dito macrobloco de alta camada é dividido em duas partições de 16pixels de largura de 8 pixels de altura; e- se os valores de Partlnfo associados com os 8 blocos de alta camada da parteesquerda do dito macrobloco de alta camada forem iguais a um mesmo terceiro valor e seos valores de Partlnfo associados com os 8 blocos de alta camada da parte direita do ditomacrobloco de alta camada forem iguais a um mesmo quarto valor diferente do dito terceirovalor, então o dito macrobloco de alta camada é dividido em duas partições de 8 pixels delargura e 16 pixels de altura; e- de outro modo, o dito macrobloco de alta camada é dividido em quatro partiçõesde 8 pixels de largura e 8 pixels de altura.
7. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que odito macrobloco de alta camada é dividido em 4 partições de 8 pixels de largura e 8 pixelsde altura, sendo que o método compreende ainda uma etapa para determinar, para cadapartição do dito macrobloco de alta camada, um particionamento em subpartições aocomparar entre esses os ditos valores de Partlnfo associados com cada dito bloco de altacamada que pertence à dita partição.
8. Método, de acordo com qualquer uma das reivindicações 1 a 7,CARACTERIZADO pelo fato de que o dito pixel de referência é o pixel superior esquerdo dodito bloco de alta camada.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP06290747 | 2006-05-05 | ||
| EP06290747.2 | 2006-05-05 | ||
| PCT/EP2007/054108 WO2007128706A2 (en) | 2006-05-05 | 2007-04-26 | Simplified inter-layer motion prediction for scalable video coding |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| BRPI0711103A2 true BRPI0711103A2 (pt) | 2011-08-23 |
Family
ID=38596410
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0711103-7A BRPI0711103A2 (pt) | 2006-05-05 | 2007-04-26 | predição de movimento entre camadas simplificadas para codificação de vìdeo escalonável |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US8275037B2 (pt) |
| EP (1) | EP2016774B1 (pt) |
| JP (1) | JP5011378B2 (pt) |
| KR (1) | KR101311656B1 (pt) |
| CN (1) | CN101438596B (pt) |
| AT (1) | ATE466453T1 (pt) |
| BR (1) | BRPI0711103A2 (pt) |
| DE (1) | DE602007006177D1 (pt) |
| WO (1) | WO2007128706A2 (pt) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006087319A2 (en) * | 2005-02-18 | 2006-08-24 | Thomson Licensing | Method for deriving coding information for high resolution pictures from low resoluton pictures and coding and decoding devices implementing said method |
| KR20140005296A (ko) * | 2011-06-10 | 2014-01-14 | 미디어텍 인크. | 스케일러블 비디오 코딩의 방법 및 장치 |
| EP2719176B1 (en) * | 2011-06-13 | 2021-07-07 | Dolby Laboratories Licensing Corporation | Visual display resolution prediction based on fused regions |
| CN103765899B (zh) | 2011-06-15 | 2018-03-06 | 韩国电子通信研究院 | 用于编码和解码可伸缩视频的方法以及使用其的设备 |
| EP4161078A1 (en) | 2011-11-11 | 2023-04-05 | GE Video Compression, LLC | Effective wedgelet partition coding using spatial prediction |
| WO2013068566A1 (en) | 2011-11-11 | 2013-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Adaptive partition coding |
| EP2777286B1 (en) | 2011-11-11 | 2017-01-04 | GE Video Compression, LLC | Effective wedgelet partition coding |
| KR102468287B1 (ko) * | 2011-11-11 | 2022-11-18 | 지이 비디오 컴프레션, 엘엘씨 | 분할 코딩을 이용한 효과적인 예측 |
| WO2013137701A1 (ko) * | 2012-03-16 | 2013-09-19 | 한국전자통신연구원 | 다계층 영상을 위한 인트라 예측 방법 및 이를 이용하는 장치 |
| US20150043639A1 (en) * | 2012-03-20 | 2015-02-12 | Samsung Electronics Co., Ltd. | Method and device for coding scalable video on basis of coding unit of tree structure, and method and device for decoding scalable video on basis of coding unit of tree structure |
| GB2501517A (en) | 2012-04-27 | 2013-10-30 | Canon Kk | Scalable Encoding and Decoding of a Digital Image |
| US20150043638A1 (en) * | 2012-05-15 | 2015-02-12 | Sony Corporation | Image processing apparatus and image processing method |
| US20150288976A1 (en) * | 2012-09-09 | 2015-10-08 | Lg Electronics Inc. | Image decoding method and apparatus using same |
| CN104584552B (zh) * | 2012-09-25 | 2019-02-12 | 英特尔公司 | Svc中重复使用层间sao参数的方法、设备、系统及机器可读存储介质 |
| EP4054188A1 (en) | 2012-10-01 | 2022-09-07 | GE Video Compression, LLC | Scalable video coding using inter-layer prediction of spatial intra prediction parameters |
| US10375405B2 (en) * | 2012-10-05 | 2019-08-06 | Qualcomm Incorporated | Motion field upsampling for scalable coding based on high efficiency video coding |
| WO2014107720A1 (en) * | 2013-01-07 | 2014-07-10 | Vid Scale, Inc. | Motion information signaling for scalable video coding |
| CN105122801A (zh) * | 2013-04-17 | 2015-12-02 | 韦勒斯标准与技术协会公司 | 视频信号处理方法及装置 |
| WO2015152608A2 (ko) * | 2014-03-31 | 2015-10-08 | 삼성전자 주식회사 | 서브블록 기반 예측을 수행하는 인터 레이어 비디오 복호화 방법 및 그 장치 및 서브블록 기반 예측을 수행하는 인터 레이어 비디오 부호화 방법 및 그 장치 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100586882B1 (ko) * | 2004-04-13 | 2006-06-08 | 삼성전자주식회사 | 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치 |
| FR2872974A1 (fr) * | 2004-07-06 | 2006-01-13 | Thomson Licensing Sa | Procede ou dispositif de codage adaptatif |
| CN101204092B (zh) * | 2005-02-18 | 2010-11-03 | 汤姆森许可贸易公司 | 从低分辨率图像导出高分辨率图像的编码信息的方法以及实施所述方法的编码和解码设备 |
| KR100896279B1 (ko) * | 2005-04-15 | 2009-05-07 | 엘지전자 주식회사 | 영상 신호의 스케일러블 인코딩 및 디코딩 방법 |
-
2007
- 2007-04-26 WO PCT/EP2007/054108 patent/WO2007128706A2/en not_active Ceased
- 2007-04-26 BR BRPI0711103-7A patent/BRPI0711103A2/pt active Search and Examination
- 2007-04-26 US US12/227,046 patent/US8275037B2/en not_active Expired - Fee Related
- 2007-04-26 CN CN200780016203.8A patent/CN101438596B/zh not_active Expired - Fee Related
- 2007-04-26 AT AT07728563T patent/ATE466453T1/de not_active IP Right Cessation
- 2007-04-26 KR KR1020087027170A patent/KR101311656B1/ko not_active Expired - Fee Related
- 2007-04-26 EP EP07728563A patent/EP2016774B1/en not_active Not-in-force
- 2007-04-26 JP JP2009508319A patent/JP5011378B2/ja not_active Expired - Fee Related
- 2007-04-26 DE DE602007006177T patent/DE602007006177D1/de active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP2016774B1 (en) | 2010-04-28 |
| ATE466453T1 (de) | 2010-05-15 |
| CN101438596B (zh) | 2014-03-26 |
| KR20090015048A (ko) | 2009-02-11 |
| WO2007128706A3 (en) | 2008-01-03 |
| US20090103615A1 (en) | 2009-04-23 |
| JP5011378B2 (ja) | 2012-08-29 |
| CN101438596A (zh) | 2009-05-20 |
| WO2007128706A2 (en) | 2007-11-15 |
| DE602007006177D1 (de) | 2010-06-10 |
| US8275037B2 (en) | 2012-09-25 |
| KR101311656B1 (ko) | 2013-09-25 |
| JP2009536479A (ja) | 2009-10-08 |
| EP2016774A2 (en) | 2009-01-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0711103A2 (pt) | predição de movimento entre camadas simplificadas para codificação de vìdeo escalonável | |
| US8848779B2 (en) | Method of parallel video coding based on block size | |
| US8855188B2 (en) | Method of parallel video coding based on mapping | |
| US8879619B2 (en) | Method of parallel video coding based on scan order | |
| US8345762B2 (en) | Method for deriving coding information for high resolution pictures from low resolution pictures and coding and decoding devices implementing said method | |
| KR100947234B1 (ko) | 다시점 비디오의 처리 방법 및 장치 | |
| US8837577B2 (en) | Method of parallel video coding based upon prediction type | |
| US20080267291A1 (en) | Method for Deriving Coding Information for High Resolution Images from Low Resolution Images and Coding and Decoding Devices Implementing Said Method | |
| US9202290B2 (en) | Apparatus and method for encoding/decoding images for intra-prediction | |
| US8873617B2 (en) | Method of parallel video coding based on same sized blocks | |
| JP2022522774A (ja) | ビデオ処理方法、装置及び記憶媒体 | |
| BRPI0920213A2 (pt) | método de codificação de vídeo escalável, aparelho de codificação de vídeo escalável, programa de codificação de vídeo escalável, e meio de gravação legível por computador armazenando o programa | |
| US20120014441A1 (en) | Parallel video coding based on boundaries | |
| KR101276847B1 (ko) | 다시점 비디오의 처리 | |
| WO2007065796A2 (en) | Method of predicting motion and texture data | |
| Kang et al. | Efficient HD video coding with joint first-order-residual (FOR) and second-order-residual (SOR) coding technique | |
| EP1848218A1 (en) | Method for deriving motion data for high resolution pictures from motion data of low resolution pictures and coding and decoding devices implementing said method | |
| HK40106320A (zh) | 使用图片边界处理对图片进行编码和解码的装置和方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B15K | Others concerning applications: alteration of classification |
Ipc: H04N 19/33 (2014.01), H04N 19/61 (2014.01), H04N 1 |
|
| B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
| B06T | Formal requirements before examination [chapter 6.20 patent gazette] | ||
| B25G | Requested change of headquarter approved |
Owner name: THOMSON LICENSING (FR) |
|
| B25G | Requested change of headquarter approved |
Owner name: THOMSON LICENSING (FR) |
|
| B25A | Requested transfer of rights approved |
Owner name: INTERDIGITAL VC HOLDINGS, INC. (US) |
|
| B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
| B11D | Dismissal acc. art. 38, par 2 of ipl - failure to pay fee after grant in time |