(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-15
(45)【発行日】2022-07-26
(54)【発明の名称】映像圧縮におけるイントラ予測のための参照サンプルパディング及びフィルタリング
(51)【国際特許分類】
H04N 19/593 20140101AFI20220719BHJP
【FI】
H04N19/593
(21)【出願番号】P 2020543619
(86)(22)【出願日】2019-06-03
(86)【国際出願番号】 US2019035116
(87)【国際公開番号】W WO2020018181
(87)【国際公開日】2020-01-23
【審査請求日】2020-08-13
(32)【優先日】2018-07-16
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-11-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】リャン・ジャオ
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】シャン・リ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】坂東 大五郎
(56)【参考文献】
【文献】国際公開第2013/105622(WO,A1)
【文献】Gagan Rath et al.,CE3-related: Block Shape Adaptive Intra Prediction Directions,Joint Video Experts Team (JVET),2018年07月13日,[JVET-K0169_r1] (version 2)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
映像シーケンスを復号するためにイントラ予測を制御する方法であって、前記方法は少なくとも1つのプロセッサによって実行され、前記方法は、
複数のイントラ予測角度
と、前記複数のイントラ予測角度のそれぞれ
に対応する複数のイントラ予測モード
とを含むテーブルを設定するステップであって、前記複数のイントラ予測角度は、
高さに対する幅の比がそれぞれ異なる複数の異なる長方形の複数の符号化ユニット
の対角方向にそれぞれ対応する対角イントラ予測角度を含む、ステップと、
前記映像シーケンスを復号するために、前記設定されたテーブルから前記複数のイントラ予測モードの1つを選択するステップと
を備える方法。
【請求項2】
前記対角イントラ予測角度の各々はαで示され、
tan(α)は符号化ユニットの高さに対する幅の比であり、tan(α)は{1/64,2/64,4/64,8/64,16/64,32/6
4}に等しい、請求項1に記載の方法。
【請求項3】
前記対角イントラ予測角度の各々はαで示され、
tan(α)は符号化ユニットの高さに対する幅の比であり、tan(α)は{1/128,2/128,4/128,8/128,16/128,32/128,64/12
8}に等しい、請求項1に記載の方法。
【請求項4】
前記設定されたテーブルは、
【表1】
を含み、
predModeIntraは前記複数のイントラ予測モードを示し、intraPredAngleは前記複数のイントラ予測角度を示す、請求項1に記載の方法。
【請求項5】
映像シーケンスを復号するためにイントラ予測を制御する装置であって、前記装置は、
コンピュータプログラムコードを記憶するように構成されている少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスして、前記コンピュータプログラムコードにしたがって動作するように構成されている少なくとも1つのプロセッサであって、前記コンピュータプログラムコードは、
複数のイントラ予測角度
と、前記複数のイントラ予測角度のそれぞれ
に対応する複数のイントラ予測モード
とを含むテーブルを前記少なくとも1つのプロセッサに設定させ、前記複数のイントラ予測角度は、
高さに対する幅の比がそれぞれ異なる複数の異なる長方形の複数の符号化ユニット
の対角方向にそれぞれ対応する対角イントラ予測角度を含む、ように構成されている設定コードと、
前記映像シーケンスを復号するために、前記設定されたテーブルから前記複数のイントラ予測モードの1つを前記少なくとも1つのプロセッサに選択させるように構成されている選択コードと
を備える、少なくとも1つのプロセッサと
を備える装置。
【請求項6】
前記対角イントラ予測角度の各々はαで示され、
tan(α)は符号化ユニットの高さに対する幅の比であり、tan(α)は{1/64,2/64,4/64,8/64,16/64,32/6
4}に等しい、請求項
5に記載の装置。
【請求項7】
前記対角イントラ予測角度の各々はαで示され、
tan(α)は符号化ユニットの高さに対する幅の比であり、tan(α)は{1/128,2/128,4/128,8/128,16/128,32/128,64/12
8}に等しい、請求項
5に記載の装置。
【請求項8】
前記設定されたテーブルは、
【表2】
を含み、
predModeIntraは前記複数のイントラ予測モードを示し、intraPredAngleは前記複数のイントラ予測角度を示す、請求項
5に記載の装置。
【請求項9】
複数のイントラ予測角度
と、前記複数のイントラ予測角度のそれぞれ
に対応する複数のイントラ予測モード
とを含むテーブルを設定することであって、前記複数のイントラ予測角度は、
高さに対する幅の比がそれぞれ異なる複数の異なる長方形の複数の符号化ユニット
の対角方向にそれぞれ対応する対角イントラ予測角度を含む、設定することと、
映像シーケンスを復号するために、前記設定されたテーブルから前記複数のイントラ予測モードの1つを選択することと
をプロセッサに行なわせる指示を記憶する非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連する出願の参照
本出願は、2018年7月16日に米国特許商標庁に出願された米国仮特許出願第62/698,526号の優先権を主張する。本仮出願の全体が参照により本明細書に援用される。
【0002】
実施形態に係る方法及び装置は、映像処理に関し、特に、映像圧縮におけるイントラ予測のための参照サンプルパディング及びフィルタリングに関する。
【背景技術】
【0003】
High Efficiency Video Coding(HEVC)で用いられるイントラ予測モードが
図1に示されている。HEVCでは、モード10(101)が水平モードであり、モード26(102)が垂直モードであり、モード2(103)、モード18(104)及びモード34(105)は対角モードである。モード2(103)とモード34(105)とは同じ予測方向を示す。
【0004】
さらにHEVCでは、従来のイントラ予測モードによってカバーされる予測方向の範囲を越えた広い角度を、広角イントラ予測モード(wide angular intra prediction mode)と呼んでいる。当該広い角度は、以下のような正方形ではないブロックにしか適用されていない。
【0005】
ブロック幅がブロック高さを超える場合、右上方向(HEVCのイントラ予測モード34)にある45度を超える角度。
【0006】
ブロック高さがブロック幅を超える場合、左下方向(HEVCのイントラ予測モード2)にある45度を超える角度。
【0007】
さらにHEVCでは、以下に転載する第8.4.4.2節にてイントラモードのイントラサンプル置換プロセスが説明されており、これには、参照サンプル置換プロセス、隣接プロセスのフィルタリングプロセス及びイントラ予測プロセスが含まれている。
8.4.4.2.2イントラサンプル予測のための参照サンプル置換プロセス
本プロセスに対する入力は、
イントラサンプル予測用のx=-1,y=-1...nTbS*2-1及びx=0...nTbS*2-1,y=-1の参照サンプルp[x][y]、
変換ブロックサイズnTbS、
現在のブロックの色成分を示す変数cIdx
である。
本プロセスの出力は、イントラサンプル予測用のx=-1,y=-1...nTbS*2-1及びx=0...nTbS*2-1,y=-1の修正参照サンプルp[x][y]である。
変数bitDepthを以下のように求める。
cIdxが0に等しい場合、bitDepthを、BitDepthYに等しい値に設定する。
それ以外の場合、bitDepthを、BitDepthCに等しい値に設定する。
x=-1,y=-1...nTbS*2-1及びx=0...nTbS*2-1,y=-1のサンプルp[x][y]の値を以下のように修正する。
x=-1,y=-1...nTbS*2-1及びx=0...nTbS*2-1,y=-1のすべてのサンプルp[x][y]が「イントラ予測に使用不可」と評価される場合、すべてのサンプルp[x][y]の値に値1<<(bitDepth-1)を代入する。
それ以外の場合(すべてではないが少なくとも1つのサンプルp[x][y]が「イントラ予測に使用不可」と評価される場合)、以下の順序のステップを実行する。
1.p[-1][nTbS*2-1]が「イントラ予測に使用不可」と評価される場合、x=-1,y=nTbS*2-1からx=-1,y=-1まで逐次探索し、その後、x=0,y=-1からx=nTbS*2-1,y=-1まで逐次探索する。「イントラ予測に使用可」と評価されるサンプルp[x][y]が見つかれば、探索を終了してp[x][y]の値をp[-1][nTbS*2-1]に割り当てる。
2.x=-1,y=nTbS*2-2からx=-1,y=-1まで逐次探索し、p[x][y]が「イントラ予測に使用不可」と評価される場合、p[x][y]の値にp[x][y+1]の値を代入する。
3.x=0...nTbS*2-1,y=-1について、p[x][y]が「イントラ予測に使用不可」と評価される場合、p[x][y]の値にp[x-1][y]の値を代入する。
x=-1,y=-1...nTbS*2-1及びx=0...nTbS*2-1,y=-1のすべてのサンプルp[x][y]が「イントラ予測に使用可」と評価される。
8.4.4.2.3隣接サンプルのフィルタリングプロセス
本プロセスに対する入力は、
x=-1,y=-1...nTbS*2-1及びx=0...nTbS*2-1,y=-1の隣接サンプルp[x][y]
変換ブロックサイズを示す変数nTbS
である。
本プロセスの出力は、x=-1,y=-1...nTbS*2-1及びx=0...nTbS*2-1,y=-1のフィルタリング済みサンプルpF[x][y]である。
変数filterFlagを以下のように求める。
以下の条件の1つ以上が真である場合、filterFlagを、0に等しい値に設定する。
predModeIntraがINTRA_DCに等しい。
nTbSが4に等しい。
それ以外の場合、以下を適用する。
変数minDistVerHorを、Min(Abs(predModeIntra-26),Abs(predModeIntra-10))に等しい値に設定する。
変数intraHorVerDistThres[nTbS]の仕様を表8-3に示す。
変数filterFlagを以下のように求める。
minDistVerHorがintraHorVerDistThres[nTbS]を超える場合、filterFlagを、1に等しい値に設定する。
それ以外の場合、filterFlagを、0に等しい値に設定する。
【0008】
【0009】
filterFlagが1に等しい場合、以下を適用する。
変数biIntFlagを以下のように求める。
以下の条件のすべてが真である場合、biIntFlagを、1に等しい値に設定する。
strong_intra_smoothing_enabled_flagが1に等しい。
nTbSが32に等しい。
Abs(p[-1][-1]+p[nTbS*2-1][-1]-2*p[nTbS-1][-1])<(1<<(BitDepth
Y-5))
Abs(p[-1][-1]+p[-1][nTbS*2-1]-2*p[-1][nTbS-1])<(1<<(BitDepth
Y-5))
それ以外の場合、biIntFlagを、0に等しい値に設定する。
フィルタリングを以下のように実行する。
biIntFlagが1に等しい場合、x=-1,y=-1...63及びx=0...63,y=-1のフィルタリング済みサンプル値pF[x][y]を以下のように求める。
pF[-1][-1]=p[-1][-1](8-30)
pF[-1][y]=((63-y)*p[-1][-1]+(y+1)*p[-1][63]+32)>>6 y=0...62とする(8-31)
pF[-1][63]=p[-1][63](8-32)
pF[x][-1]=((63-x)*p[-1][-1]+(x+1)*p[63][-1]+32)>>6 x=0...62とする(8-33)
pF[63][-1]=p[63][-1](8-34)
それ以外の場合(biIntFlagが0に等しい場合)、x=-1,y=-1...nTbS*2-1及びx=0...nTbS*2-1,y=-1のフィルタリング済みサンプル値pF[x][y]を以下のように求める。
pF[-1][-1]=(p[-1][0]+2*p[-1][-1]+p[0][-1]+2)>>2(8-35)
pF[-1][y]=(p[-1][y+1]+2*p[-1][y]+p[-1][y-1]+2)>>2 y=0...nTbS*2-2とする(8-36)
pF[-1][nTbS*2-1]=p[-1][nTbS*2-1](8-37)
pF[x][-1]=(p[x-1][-1]+2*p[x][-1]+p[x+1][-1]+2)>>2 x=0...nTbS*2-2とする(8-38)
pF[nTbS*2-1][-1]=p[nTbS*2-1][-1](8-39)
8.4.4.2.6 INTRA_ANGULAR2 INTRA_ANGULAR34の範囲でのイントラ予測モードの仕様
本プロセスに対する入力は、
イントラ予測モードpredModeIntra
x=-1,y=-1...nTbS*2-1及びx=0...nTbS*2-1,y=-1の隣接サンプルp[x][y]
変換ブロックサイズを示す変数nTbS
現在のブロックの色成分を示す変数cIdx
である。
本プロセスの出力は、x,y=0...nTbS-1の予測したサンプルpredSamples[x][y]である。
図8-2は全33個のイントラ角度を示し、表8-4はpredModeIntraと角度パラメータintraPredAngleとの間のマッピングテーブルの仕様を示す。
【0010】
【0011】
さらに、表8-5はpredModeIntraと逆角度パラメータ(inverse angle parameter)invAngleとの間のマッピングテーブルの仕様を示す。
【0012】
【0013】
x,y=0...nTbS-1の予測サンプルpredSamples[x][y]の値を以下のように求める。
predModeIntraが18以上である場合、以下の順序のステップを適用する。
1.参照サンプル配列ref[x]を以下のように定める。
以下を適用する。
ref[x]=p[-1+x][-1]ここでx=0...nTbS(8-47)
intraPredAngleが0未満である場合、主要な参照サンプル配列を以下のように拡張する。
(nTbS*intraPredAngle)>>5が-1未満である場合、
ref[x]=p[-1][-1+((x*invAngle+128)>>8)]
ここでx=-1...(nTbS*intraPredAngle)>>5(8-48)
それ以外の場合、
ref[x]=p[-1+x][-1]ここでx=nTbS+1...2*nTbS(8-49)
2.x,y=0...nTbS-1の予測サンプルの値predSamples[x][y]を以下のように求める。
a.インデックス変数iIdx及び倍率iFactを以下のように求める。
iIdx=((y+1)*intraPredAngle)>>5(8-50)
iFact=((y+1)*intraPredAngle)&31(8-51)
b.iFactの値に応じて以下を適用する。
iFactが0に等しくない場合、予測サンプルの値predSamples[x][y]を以下のように求める。
predSamples[x][y]=
((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16)>>5(8-52)
それ以外の場合、予測サンプルの値predSamples[x][y]を以下のように求める。
predSamples[x][y]=ref[x+iIdx+1](8-53)
c.predModeIntraが26(垂直)に等しく、かつcIdxが0に等しく、かつnTbSが32未満である場合、x=0,y=0...nTbS-1として以下のフィルタリングを適用する。
predSamples[x][y]=Clip1Y(p[x][-1]+((p[-1][y]-p[-1][-1])>>1))(8-54)
それ以外の場合(predModeIntraが18未満である場合)、以下の順序のステップを適用する。
1.参照サンプル配列ref[x]を以下のように定める。
以下を適用する。
ref[x]=p[-1][-1+x]ここでx=0...nTbS(8-55)
intraPredAngleが0未満である場合、主要な参照サンプル配列を以下のように拡張する。
(nTbS*intraPredAngle)>>5が-1未満である場合、
ref[x]=p[-1+((x*invAngle+128)>>8)][-1]
ここでx=-1...(nTbS*intraPredAngle)>>5(8-56)
それ以外の場合、
ref[x]=p[-1][-1+x]ここでx=nTbS+1...2*nTbS(8-57)
2.x,y=0...nTbS-1の予測サンプルpredSamples[x][y]の値を以下のように求める。
a.インデックス変数iIdx及び倍率iFactを以下のように求める。
iIdx=((x+1)*intraPredAngle)>>5(8-58)
iFact=((x+1)*intraPredAngle)&31(8-59)
b.iFactの値に応じて以下を適用する。
iFactが0に等しくない場合、予測サンプルの値predSamples[x][y]を以下のように求める。
predSamples[x][y]=
((32-iFact)*ref[y+iIdx+1]+iFact*ref[y+iIdx+2]+16)>>5(8-60)
それ以外の場合、予測サンプルの値predSamples[x][y]を以下のように求める。
predSamples[x][y]=ref[y+iIdx+1](8-61)
c.predModeIntraが10(水平)に等しく、かつcIdxが0に等しく、かつnTbSが32未満である場合、x=0...nTbS-1,y=0として以下のフィルタリングを適用する。
predSamples[x][y]=Clip1Y(p[-1][y]+((p[x][-1]-p[-1][-1])>>1))(8-62)
【発明の概要】
【課題を解決するための手段】
【0014】
実施形態に係れば、映像シーケンスを復号するためにイントラ予測を制御する方法は少なくとも1つのプロセッサによって実行され、複数のイントラ予測角度にそれぞれ対応する複数のイントラ予測モードを含むテーブルを設定することを含む。複数のイントラ予測角度は、符号化ユニットのすべての形状の対角方向にそれぞれ対応する対角イントラ予測角度を含む。方法は、映像シーケンスを復号するために、設定されたテーブルから複数のイントラ予測モードの1つを選択することをさらに含む。
【0015】
実施形態に係れば、映像シーケンスを復号するためにイントラ予測を制御する装置は、コンピュータプログラムコードを記憶するように構成されている少なくとも1つのメモリと、少なくとも1つのメモリにアクセスして、コンピュータプログラムコードにしたがって動作するように構成されている少なくとも1つのプロセッサとを含む。コンピュータプログラムコードは、複数のイントラ予測角度にそれぞれ対応する複数のイントラ予測モードを含むテーブルを少なくとも1つのプロセッサに設定させるように構成されている設定コードを含む。複数のイントラ予測角度は、符号化ユニットのすべての形状の対角方向にそれぞれ対応する対角イントラ予測角度を含む。コンピュータプログラムコードは、映像シーケンスを復号するために、設定されたテーブルから複数のイントラ予測モードの1つを少なくとも1つのプロセッサに選択させるように構成されている選択コードをさらに含む。
【0016】
実施形態に係れば、非一時的コンピュータ可読記憶媒体は、複数のイントラ予測角度にそれぞれ対応する複数のイントラ予測モードを含むテーブルをプロセッサに設定させる指示を記憶する。複数のイントラ予測角度は、符号化ユニットのすべての形状の対角方向にそれぞれ対応する対角イントラ予測角度を含む。指示は、映像シーケンスを復号するために、設定されたテーブルから複数のイントラ予測モードの1つを選択することをプロセッサにさらに行なわせる。
【図面の簡単な説明】
【0017】
【
図2】一実施形態に係る通信システムの単純化したブロック図である。
【
図3】一実施形態に係る、ストリーミング環境における映像エンコーダ及び映像デコーダの構成の図である。
【
図4】一実施形態に係る映像デコーダの機能ブロック図である。
【
図5】一実施形態に係る映像エンコーダの機能ブロック図である。
【
図6A】Versatile Video Coding(VVC)Test Model(VTM 1)のイントラ予測モードの図である。
【
図6B】正方形ではないブロックについてイントラ予測モードを広角イントラ予測モードに変更する様子を示す図である。
【
図7A】一実施形態に係る、対角方向以内の予測角度と対角方向を越えた予測角度との図である。
【
図7B】一実施形態に係る、対角方向を越えた予測角度を調節する様子を示す図である。
【
図8】一実施形態に係る、映像シーケンスを復号するためにイントラ予測を制御する方法を示すフローチャートである。
【
図9】一実施形態に係る、映像シーケンスを復号するためにイントラ予測を制御する装置の単純化したブロック図である。
【
図10】実施形態を実施するのに適するコンピュータシステムの図である。
【発明を実施するための形態】
【0018】
図2は、一実施形態に係る通信システム(200)の単純化したブロック図である。通信システム(200)は、ネットワーク(250)を介して相互接続される少なくとも2つの端末(210~220)を含んでもよい。データの一方向伝送のために、第1の端末(210)は、ネットワーク(250)を介して他の端末(220)に伝送するためにローカルな位置で映像データを符号化してもよい。第2の端末(220)はネットワーク(250)から他の端末の符号化映像データを受け、符号化データを復号し、復元された映像データを表示してもよい。一方向データ伝送は、メディアを取り扱う用途などでは一般的であるといえる。
【0019】
図2は、たとえばテレビ会議中に起こる場合がある符号化映像の双方向伝送をサポートするために設けられる端末の別の組(230,240)を示す。データの双方向伝送のために、各端末(230,240)は、ネットワーク(250)を介して他の端末に伝送するためにローカルな位置でキャプチャされる映像データを符号化してもよい。この場合も各端末(230,240)は他の端末によって伝送された符号化映像データを受けて、符号化データを復号して、復元された映像データをローカル表示デバイスに表示してもよい。
【0020】
図2において、端末(210~240)をサーバ、パーソナルコンピュータ及びスマートフォンとして図示してもよいが、実施形態の原理はそのようには限定されない。実施形態については、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ及び/又は専用のテレビ会議装置を用いる用途が見出されている。ネットワーク(250)は、端末(210~240)間で符号化映像データを搬送する任意の数のネットワーク(たとえば有線及び/又は無線通信ネットワークを含む)を表わす。通信ネットワーク(250)は回路交換及び/又はパケット交換チャンネルでデータを交換してもよい。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク及び/又はインターネットを含む。本説明の適用上、ネットワーク(250)のアーキテクチャ及びトポロジは、本明細書において以下で説明されない限り、実施形態の動作に重要ではない場合がある。
【0021】
図3は、一実施形態に係る、ストリーミング環境における映像エンコーダ及び映像デコーダの構成の図である。たとえば、開示されている保護対象は、テレビ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタル媒体に圧縮映像を記憶することなどを含む、映像を使用可能な他の用途に同様に適用可能である。
【0022】
たとえば圧縮されていない映像サンプルストリーム(302)を生成する映像供給元(301)、たとえばデジタルカメラを含むことができる撮像サブシステム(313)をストリーミングシステムが含んでもよい。このサンプルストリーム(302)(符号化映像ビットストリームと比較する場合にデータ量が多いことを強調するために太線として示されている)を、カメラ(301)に接続されているエンコーダ(303)によって処理することができる。エンコーダ(303)は、以降で詳細に説明されているように開示されている保護対象の態様を使用可能にしたり実施したりするハードウェア、ソフトウェア又はこれらの組み合わせを含むことができる。符号化映像ビットストリーム(304)(サンプルストリームと比較する場合にデータ量が少ないことを強調するために細線として示されている)を、後の使用のためにストリーミングサーバ(305)に記憶することができる。1つ以上のストリーミングクライアント(306,308)がストリーミングサーバ(305)にアクセスして符号化映像ビットストリーム(304)のコピー(307,309)を取得することができる。クライアント(306)は、入力された符号化映像ビットストリーム(307)のコピーを復号して、ディスプレイ(312)又は他のレンダリングデバイス(図示せず)で描画することができる出力映像サンプルストリーム(311)を生成する映像デコーダ(310)を含むことができる。いくつかのストリーミングシステムでは、映像ビットストリーム(304,307,309)を所定の映像符号化/圧縮標準にしたがって符号化することができる。当該標準の例にはITU-T勧告H265が含まれる。非公式にVVCとして知られている映像符号化標準が開発中である。開示されている保護対象をVVCに関連づけて用いてもよい。
【0023】
図4は、一実施形態に係る映像デコーダ(310)の機能ブロック図である。
【0024】
デコーダ(310)によって復号される1つ以上のコーデック映像シーケンスを受信器(410)が受けてもよい。同じ実施形態又は一実施形態では、1回に1つの符号化映像シーケンスを受け、各符号化映像シーケンスの復号が他の符号化映像シーケンスから独立している。符号化映像シーケンスをチャンネル(412)から受けてもよい。チャンネル(412)は符号化映像データを記憶する記憶デバイスに対するハードウェア/ソフトウェアリンクであってもよい。受信器(410)は、他のデータ、たとえば、符号化音声データ及び/又は付属データストリームを有する符号化映像データを受けてもよく、これらのデータストリームを、対応する使用箇所(図示せず)にそれぞれ転送してもよい。受信器(410)は符号化映像シーケンスを他のデータから分離してもよい。ネットワークジッタに対処するために、受信器(410)とエントロピデコーダ/パーサ(420)(以下「パーサ」)との間にバッファメモリ(415)を接続してもよい。受信器(410)が十分な帯域幅及び制御性の記憶/転送デバイス、又はアイソシンクロナス(isosychronous)ネットワークからデータを受けている場合、バッファ(415)を要さなくてもよいし、小規模であることが可能である。インターネットなどのベストエフォートパケットネットワークに用いるには、バッファ(415)を要する場合があり、バッファ(415)は比較的大規模にすることが可能であり、最適なサイズのものにすることが可能であるという効果がある。
【0025】
映像デコーダ(310)は、エントロピ符号化映像シーケンスからシンボル(421)を再構築するパーサ(420)を含んでもよい。当該シンボルのカテゴリはデコーダ(310)の動作を管理するのに用いられる情報を含み、また、
図4に示されているように、デコーダの一体部分ではなくてデコーダに接続可能であるディスプレイ(312)などのレンダリングデバイスを制御する情報を含む場合がある。1つ以上のレンダリングデバイスの制御情報は、Supplementary Enhancement Information(SEIメッセージ)又はVideo Usability Information(VUI)パラメータセットフラグメント(図示せず)の形態をとってもよい。パーサ(420)は受けた符号化映像シーケンスをパース/エントロピ復号してもよい。符号化映像シーケンスの符号化は映像符号化技術や映像符号化標準に準拠することができ、また、文脈依存の有無にかかわらず可変長符号化、ハフマン符号化、算術符号化などを含む、当業者に周知の原理にしたがうことができる。パーサ(420)は、映像デコーダ中の画素のサブグループの少なくとも1つについてのサブグループパラメータのセットを、グループに対応する少なくとも1つのパラメータに基づいて符号化映像シーケンスから抽出してもよい。サブグループは、Group of Pictures(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。エントロピデコーダ/パーサは、変換係数、量子化パラメータ(quantizer parameter)(QP)値、動きベクトルなどの情報も符号化映像シーケンスから抽出してもよい。
【0026】
パーサ(420)は、バッファ(415)から受けた映像シーケンスにエントロピ復号/パース動作を実行することにより、シンボル(421)を生成してもよい。パーサ(420)は符号化データを受けて特定のシンボル(421)を選択的に復号してもよい。さらに、パーサ(420)は、特定のシンボル(421)が動き補償予測部(453)に提供されることになるのか、スケーラ/逆変換部(451)に提供されることになるのか、イントラ予測部(452)に提供されることになるのか、ループフィルタ部(454)に提供されることになるのかを判断してもよい。
【0027】
シンボル(421)の再構築では、符号化映像ピクチャ又はその一部のタイプ(インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロックなど)及びその他の因子に応じて複数の異なる部位を関与させることができる。どの部位をどのように関与させるのかは、パーサ(420)によって符号化映像シーケンスからパースされたサブグループ制御情報によって制御することができる。パーサ(420)と後述の複数の部位との間のこのようなサブグループ制御情報のフローは明確にするために図示されていない。
【0028】
既に説明した機能ブロック以外については、後述されているようにデコーダ(310)をいくつかの機能部位に概念的に細分することができる。商業上の制約を受けて運用される実用上の実現例では、これらの部位の多くが互いに密接にやり取りし、少なくとも部分的に互いに一体化させることができる。その一方で、開示されている保護対象を説明する上では、後述の機能部位への概念的細分はその目的に合致する。
【0029】
第1の部位はスケーラ/逆変換部(451)である。スケーラ/逆変換部(451)は、量子化した変換係数と、変換に用いたもの、ブロックサイズ、量子化因子(quantization factor)、量子化スケーリングマトリックスなどを含む制御情報とをパーサ(420)からのシンボル(421)として受ける。スケーラ/逆変換部(451)は、サンプル値を備えるブロックを出力することができ、これはアグリゲータ(455)に入力させることができる。
【0030】
いくつかの場合では、スケーラ/逆変換(451)の出力サンプルはイントラ符号化ブロックと係わることが可能である。イントラ符号化ブロックとは、以前に再構築されたピクチャに由来する予測用情報は用いないが、現在のピクチャの以前に再構築された部分に由来する予測用情報を用いることができるブロックのことである。このような予測用情報をイントラピクチャ予測部(452)によって提供することができる。いくつかの場合では、イントラピクチャ予測部(452)は、現在の(部分的に再構築された)ピクチャ(456)から得られる周囲の既に再構築された情報を用いて、再構築中のブロックと同じサイズ及び同じ形状のブロックを生成する。いくつかの場合では、アグリゲータ(455)は、サンプル毎に、イントラ予測部(452)が生成した予測情報を、スケーラ/逆変換部(451)によって提供された出力サンプル情報に付加する。
【0031】
他の場合には、スケーラ/逆変換部(451)の出力サンプルは、インター符号化されたブロックと係わることが可能であり、場合によっては動き補償されたブロックと係わることが可能である。この場合、動き補償予測部(453)は参照ピクチャメモリ(457)にアクセスして、予測に用いられるサンプルを取得することができる。ブロックに関連するシンボル(421)にしたがって、取得されたサンプルを動き補償した後、これらのサンプルをスケーラ/逆変換部の出力(この場合、残差サンプルや残差信号と称する)にアグリゲータ(455)によって付加することにより、出力サンプル情報を生成することができる。動き補償部が予測サンプルを取得するところである参照ピクチャメモリ形式内のアドレスは動きベクトルによって制御することができ、たとえばX,Y及び参照ピクチャ成分を有することができるシンボル(421)の形態で動き補償部に利用可能である。動き補償は、サブサンプルの正確な動きベクトルを使用しているときに参照ピクチャメモリから取得されるサンプル値の内挿、動きベクトル予測機構などを含むこともできる。
【0032】
アグリゲータ(455)の出力サンプルには、ループフィルタ部(454)で様々なループフィルタリング技法を施すことができる。映像圧縮技術はループ内フィルタ技術を含むことができ、ループ内フィルタ技術は、符号化映像ビットストリームに含まれるパラメータであって、パーサ(420)からのシンボル(421)としてループフィルタ部(454)に利用可能なものにされるパラメータによって制御される。その一方で、ループ内フィルタ技術は、符号化ピクチャ又は符号化映像シーケンスの以前(復号順で以前)の部分を復号する際に得られるメタ情報と、以前に再構築されてループフィルタリングされたサンプル値とにも影響される場合がある。
【0033】
ループフィルタ部(454)の出力は、描画デバイス(312)に出力することができるサンプルストリームと、その後のピクチャ内予測で用いるために参照ピクチャメモリ(456)に記憶することができるサンプルストリームとであることが可能である。
【0034】
所定の符号化ピクチャが完全に再構築されると、その後の予測のための参照ピクチャとして用いることができる。符号化ピクチャが完全に再構築され、符号化ピクチャが参照ピクチャとして(たとえばパーサ(420)によって)特定され終わると、現在の参照ピクチャ(456)は参照ピクチャバッファ(457)の一部になることができ、以降の符号化ピクチャの再構築を開始する前になったばかりの現在のピクチャメモリを再割付けすることができる。
【0035】
映像デコーダ(310)は規定の映像圧縮技術にしたがって復号動作を行なってもよく、この技術はITU-T勧告H265などの標準の文書に記載されているものであってもよい。符号化映像シーケンスは、映像圧縮技術文書又は標準で定められているように、特にプロファイルについてはその文書で定められているように映像圧縮技術又は標準の構文を遵守するという意味で、用いられている映像圧縮技術又は標準によって定められている構文に準拠してもよい。また、映像圧縮技術又は標準のレベルによって決まる限界内に符号化映像シーケンスの複雑さがあることがコンプライアンスに必要である場合がある。いくつかの場合では、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート(たとえば、メガサンプル/秒で測定)、最大参照ピクチャサイズなどがレベルによって限定される。いくつかの場合では、レベルによって決まる限定は、Hypothetical Reference Decoder(HRD)仕様と、符号化映像シーケンスでシグナリングされるHRDバッファ管理のためのメタデータとによりさらに制限される場合がある。
【0036】
一実施形態では、受信器(410)は符号化映像とともにさらなる(冗長)データを受けてもよい。さらなるデータは1つ以上の符号化映像シーケンスの一部として含まれてもよい。データを適切に復号しかつ/又は元の映像データをより正確に再構築するのにさらなるデータを映像デコーダ(310)によって用いてもよい。さらなるデータは、たとえば、時間的、空間的又は信号対ノイズ比(SNR)拡張レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正コードなどの形態をとることができる。
【0037】
図5は一実施形態に係る映像エンコーダ(303)の機能ブロック図である。
【0038】
エンコーダ(303)は、エンコーダ(303)によって符号化される映像画像を撮像することができる映像供給元(301)(エンコーダの一部ではない)から映像サンプルを受けてもよい。
【0039】
映像供給元(301)は、任意の適当なビットデプス(たとえば、8ビット、10ビット、12ビット、...)、任意の色空間(たとえば、BT.601 Y CrCB、RGB、...)及び任意の適当なサンプリング構造(たとえばY CrCb 4:2:0、Y CrCb 4:4:4)のものであることが可能であるデジタル映像サンプルストリームの形式でエンコーダ(303)によって符号化される素材映像シーケンスを提供してもよい。メディアを取り扱うシステムでは、映像供給元(301)は、予め用意した映像を記憶する記憶デバイスであってもよい。テレビ会議システムでは、映像供給元(301)は、映像シーケンスとして特定の場所の画像情報を撮像するカメラであってもよい。順番に見られると動きを与える複数の個々のピクチャとして映像データを提供してもよい。ピクチャそのものを画素の空間配列として編成してもよい。この場合、各画素は、使用に際してサンプリング構造、色空間などに応じて1つ以上のサンプルを備えることができる。当業者は画素とサンプルとの関係を容易に理解することができる。以下の説明ではサンプルに注目する。
【0040】
一実施形態に係れば、エンコーダ(303)は素材映像シーケンスのピクチャを符号化映像シーケンス(543)にリアルタイムで符号化して圧縮したり、アプリケーションで必要とされる他の任意の時間制約を受けつつ符号化して圧縮したりしてもよい。適切な符号化速度を実現することがコントローラ(550)の一機能である。コントローラは後述されている他の機能部位を制御し、当該部位に機能的に接続されている。明確にするために接続は図示されていない。コントローラによって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化量(quantizer)、レート-歪最適化技術のλ値、...)、ピクチャサイズ、Group of Pictures(GOP)配置、最大動きベクトル探索範囲などを含むことができる。所定のシステム設計向けに最適化される映像エンコーダ(303)に関係するようなコントローラ(550)の他の機能を当業者は容易に特定することができる。
【0041】
いくつかの映像エンコーダは、当業者が「符号化ループ」として容易に理解するものの中で運用される。大幅に単純化して説明すると、符号化ループは、エンコーダ(530)(以下「ソースコーダー」)(符号化される入力ピクチャに基づいてシンボルを生成し、1つ以上の参照ピクチャを生成することを担う)の符号化部分と、エンコーダ(303)に組み込まれ、シンボルを再構築して、(別の場所の)デコーダも生成したであろうサンプルデータを生成する(開示されている保護対象で考えられる映像圧縮技術におけるシンボルと符号化映像ビットストリームとの間のいかなる圧縮でもロスがないように生成する)(現地の)デコーダ(533)とからなることが可能である。この再構築されたサンプルストリームは参照ピクチャメモリ(534)に入力される。シンボルストリームを復号すると、デコーダの場所(現地か別の場所か)によらずビットが不変であるという結果が得られるので、参照ピクチャバッファの内容についても現地のエンコーダと別の場所のエンコーダとの間でビットは不変である。言い換えれば、エンコーダの予測部分は、復号化の際に予測を用いるときにデコーダが「見る」のと厳密に同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャのシンクロニシティに関するこの基本的な原理は(さらには、たとえばチャンネルエラーのためにシンクロニシティを維持することができない場合にその結果としてドリフトが生じることも)当業者には周知である。
【0042】
「現地の」デコーダ(533)の動作は「別の場所の」デコーダ(310)の動作と同じであることが可能であり、これは
図4とあわせて上記で既に詳細に説明されている。しかし、
図4も少しだけ参照するが、シンボルが使用可能であり、エントロピコーダー(545)及びパーサ(420)による符号化映像シーケンスに対するシンボルの符号化/復号化のロスがないことが可能であれば、チャンネル(412)、受信器(410)、バッファ(415)及びパーサ(420)を含むデコーダ(310)のエントロピ復号部分を現地のデコーダ(533)で完全には実施しなくてもよい。
【0043】
この点でなすことができる所見は、デコーダに存在するパース/エントロピ復号化以外の任意のデコーダ技術も、対応するエンコーダにほぼ同一の機能的な形態で必ず存在する必要があるということである。網羅的に説明されているデコーダ技術の逆であれば、エンコーダ技術の説明を省略することができる。特定の領域でのみより詳細な説明が必要であり、それを以下で行なう。
【0044】
その動作の一部として、ソースコーダー(530)は、動き補償予測符号化を実行してもよい。「参照フレーム」として指定された映像シーケンスから1つ以上の以前に符号化されたフレームを参照して予測して入力フレームを符号化する。このようにして、符号化エンジン(532)は、入力フレームの画素ブロックと、入力フレームに対する1つ以上の予測参照として選択することができる1つ以上の参照フレームの画素ブロックとの差を符号化する。
【0045】
現地の映像デコーダ(533)は、ソースコーダー(530)によって生成されたシンボルに基づいて、参照フレームとして指定することができるフレームの符号化映像データを復号することができる。符号化エンジン(532)の動作がロスのあるプロセスであってもよいという効果がある。符号化映像データを映像デコーダで復号することができる場合(
図4には示されていない)、再構築された映像シーケンスは一般的には、なんらかのエラーを含む素材映像シーケンスの再現物である場合がある。現地の映像デコーダ(533)は、参照フレームに対して映像デコーダによって実行することができ、再構築された参照フレームを参照ピクチャキャッシュ(534)に記憶することができる復号プロセスを再現する。このようにして、エンコーダ(303)は、離れた側の映像デコーダによって取得される再構築された参照フレームと共通の内容を持つ再構築された参照フレームのコピーを現地で記憶することができる(伝送エラーはない)。
【0046】
予測器(535)は、符号化エンジン(532)のために予測探索を実行してもよい。すなわち、符号化される新しいフレームについて、予測器(535)は参照ピクチャメモリ(534)を探索して、(候補参照画素ブロックとして)サンプルデータを見つけたり、新しいピクチャのための適切な予測参照として用いることができる参照ピクチャ動きベクトル、ブロック形状などの所定のメタデータを見つけたりしてもよい。予測器(535)は画素ブロック1つにサンプルブロックを1つ対応させる仕方で動作して適切な予測参照を見つけてもよい。いくつかの場合では、予測器(535)によって得られた探索結果により判断が行なわれると、入力ピクチャは、参照ピクチャメモリ(534)に記憶された複数の参照ピクチャから抜き出された予測参照を有することができる。
【0047】
コントローラ(550)は、たとえば、映像データを符号化するのに用いられるパラメータ及びサブグループパラメータを設定することを含む映像コーダー(530)の符号化動作を管理してもよい。
【0048】
すべての上述の機能部位の出力はエントロピコーダー(545)でエントロピ符号化を受けてもよい。エントロピコーダーは、たとえば、ハフマン符号化、可変長符号化、算術符号化などとして当業者に知られている技術にしたがってシンボルをロスなく圧縮することによって、様々な機能部位によって生成されたシンボルを符号化映像シーケンスに変換する。
【0049】
送信器(540)はエントロピコーダー(545)によって生成された符号化映像シーケンスをバッファリングして、通信チャンネル(560)を介して伝送するための符号化映像シーケンスを用意してもよい。通信チャンネル(560)は符号化映像データを記憶することができる記憶デバイスに対するハードウェア/ソフトウェアリンクであってもよい。送信器(540)は、映像コーダー(530)からの符号化映像データを、伝送される他のデータ、たとえば、符号化音声データ及び/又は付属データストリーム(供給元は図示せず)にマージしてもよい。
【0050】
コントローラ(550)はエンコーダ(303)の動作を管理してもよい。符号化の際、コントローラ(550)は、それぞれのピクチャに適用することができる符号化技術に影響を及ぼすことができる所定の符号化ピクチャタイプを各符号化ピクチャに割り当ててもよい。たとえば、以下のフレームタイプの1つとしてピクチャを割り当てることができる場合が多い。
【0051】
イントラピクチャ(Iピクチャ)は、シーケンス中のその他一切のフレームを予測のソースとして用いずに符号化及び復号することができるものである場合がある。いくつかの映像コーデックでは、たとえば、Independent Decoder Refresh Pictureを含む異なるタイプのイントラピクチャが可能である。当業者はIピクチャの当該変形例並びにそれに対応する用途及び特徴に想到する。
【0052】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するのに多くとも1つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号することができるものである場合がある。
【0053】
双方向的予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するのに多くとも2つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号することができるものである場合がある。同様に、マルチ予測ピクチャは、1つのブロックの再構築のために2つ超の参照ピクチャ及び関連メタデータを用いることができる。
【0054】
一般的に複数のソースピクチャを複数のサンプルブロック(たとえば、それぞれ4×4個、8×8個、4×8個や16×16個のサンプルのブロック)に空間的に細分して、1つずつブロックを符号化してもよい。ブロックの、そのブロックに対応するピクチャに適用される符号化割当てによって決定される他の(既に符号化された)ブロックを参照して予測してブロックを符号化してもよい。たとえば、Iピクチャのブロックを予測せずに符号化してもよいし、同じピクチャの既に符号化されたブロックを参照して予測して(空間的予測又はイントラ予測)符号化してもよい。Pピクチャの画素ブロックを、以前に符号化された1つの参照ピクチャを参照して空間的予測又は時間的予測により予測せずに符号化してもよい。Bピクチャのブロックを、以前に符号化された1つ又は2つの参照ピクチャを参照して空間的予測又は時間的予測により予測せずに符号化してもよい。
【0055】
映像コーダー(303)は規定の映像符号化技術又はITU-T勧告H265などの標準にしたがって符号化動作を実行してもよい。その動作では、映像コーダー(303)は、入力映像シーケンスにおける時間的及び空間的冗長性を活用する予測符号化動作を含む様々な圧縮動作を実行してもよい。したがって、符号化映像データは、用いられている映像符号化技術又は標準によって定められている構文に準拠してもよい。
【0056】
一実施形態では、送信器(540)は符号化映像とともにさらなるデータを伝送してもよい。映像コーダー(530)は符号化映像シーケンスの一部としてこのようなデータを含んでもよい。さらなるデータは、時間的/空間的/SNR拡張レイヤ、冗長ピクチャ及びスライスなどの、冗長データの別の形態、Supplementary Enhancement Information(SEI)メッセージ、Visual Usability Information(VUI)パラメータセットフラグメントなどを備えてもよい。
【0057】
図6AはVTM 1のイントラ予測モードの図である。
【0058】
図6Aを参照して、自然映像中で示される任意のエッジ方向を捕捉するために65個の方向モードに基づくイントラ予測スキームが提案されており、65個の方向モードに基づくこのイントラ予測スキームはVVCの開発のために研究されている。VTM 1では、モード2とモード66とは同じ予測方向を示す。
【0059】
正方形ではないブロックについては、いくつかの従来のangularイントラ予測モードを広角モードに変更してもよい。変更されたモードをオリジナルの方法を用いてシグナリングし、パースの後に広角モードのインデックスに再マッピングしてもよい。イントラ予測モードの総数を変更しなくてもよく(すなわち、VTM 1の場合のように35個)、また、イントラモード符号化ステップを変更しなくてもよい。
【0060】
35個のイントラ予測モードの場合、変更されたイントラ予測モードは以下の表1に示されているものであってもよい。ここで、Wはブロック幅を示し、Hはブロック高さを示す。
【0061】
【0062】
67個のイントラ予測モードの場合、変更されたイントラ予測モードは以下の表2に示されているものであってもよい。ここで、Wはブロック幅を示し、Hはブロック高さを示す。
【0063】
【0064】
図6Bは、正方形ではないブロックについてイントラ予測モードを広角イントラ予測モードに変更する様子を示す図である。
【0065】
図6Bを参照して、モード2(601)及びモード3(602)が広い角度のモード35(603)及びモード36(604)に変更される。モード35(603)の方向はモード3(602)の反対方向に向いており、モード36(604)の方向はモード4(605)の反対方向に向いている。
【0066】
しかし、VTM 1において、広い角度のイントラ予測方向が適用される場合、上にある行又は左側の列中の隣接参照サンプルは、正方形ではないブロックに対しては十分ではない。
【0067】
ここでの実施形態を別々に用いてもよいし、任意の順序で組み合わせてもよい。本説明では、幅が高さ以上である場合、一番上の行を長辺と称し、左側の列を短辺と称する。それ以外の場合、一番上の行を短辺と称し、左側の列を長辺と称する。ブロック幅をnWidthで示し、ブロック高さをnHeightで示す。
【0068】
N個の参照サンプルの配列すなわちバッファにパディングする場合、このパディングとは、参照サンプル値に、参照サンプルの関連位置に位置する隣接する再構築されたサンプルを入れるか、参照サンプル値を、既に入れられている参照サンプルからコピーするか、規定の関数(たとえば、直線外挿)を用いて既に入れられている参照サンプルから求めることを意味する。
【0069】
実施形態は、ブロックサイズ、ブロック幅、ブロック高さ、ブロックの幅と高さとの比、ブロックエリアサイズ及びイントラ予測方向を含む(ただし、これらに限定されない)符号化情報に応じて異なる個数の参照サンプルにパディングすることを含んでもよい。
【0070】
一実施形態では、上及び左側の隣接参照サンプルの両方について2*max(nWidth,nHeight)+1個のサンプルにパディングすることを提案する。
【0071】
別の実施形態では、長辺については2*max(nWidth,nHeight)+1個のサンプルにパディングし、短辺についてはnWidth+nHeight+1個のサンプルにパディングすることを提案する。
【0072】
別の実施形態では、上にある参照サンプルについては2*nWidth+3個のサンプルにパディングし、左側の参照サンプルについては2*nHeight+3個のサンプルにパディングすることを提案する。
【0073】
別の実施形態では、幅/高さ<=4又は高さ/幅<=4の場合、上にある参照サンプルについては2*nWidth+3個のサンプルにパディングし、左側の参照サンプルについては2*nHeight+3個のサンプルにパディングすることを提案する。それ以外の場合、長辺については2*max(nWidth,nHeight)+1個のサンプルにパディングし、短辺については2*min(nWidth,nHeight)+1+M個にパディングする。Mは10,11,12,13又は14であることが可能である。
【0074】
別の実施形態では、上にある参照サンプルについては2*nWidth+M個のサンプルにパディングし、左側の参照サンプルについては2*nHeight+N個のサンプルにパディングすることを提案する。M及びNの値は、ブロックサイズ、ブロック幅、ブロック高さ、ブロックの幅と高さとの比、ブロックエリアサイズ及びイントラ予測方向を含む(ただし、これらに限定されない)符号化情報に応じた値であってもよい。
【0075】
実施形態は、短辺でいくつかの従来の角度を削除して、長辺に同じ個数の広い角度を付加することを含んでもよい。短辺で角度を削除した後、残りの角度はすべて、各ブロック形状の対角方向以内にある。ここで、対角方向は右上隅と左下隅とをつなぐ線で示される。
【0076】
図7Aは、一実施形態に係る、対角方向以内の予測角度と対角方向を越えた予測角度との図である。
【0077】
図7Aを参照して、左上の塗りつぶされた三角形領域(720)内に位置する予測角度(710)(実線の矢印)は対角方向以内のイントラ予測角度であり、左上の塗りつぶされた三角形領域(720)の外側に位置する予測角度(730)(点線の角度)は対角方向を越えたイントラ予測角度である。
【0078】
一実施形態では、35個のイントラモードの場合について、いくつかの削除モードが表3によって示されている。ここで、Wはブロック幅を示し、Hはブロック高さを示す。
【0079】
【0080】
一実施形態では、67個のイントラモードの場合について、いくつかの削除モードが表4によって示されている。ここで、Wはブロック幅を示し、Hはブロック高さを示す。
【0081】
【0082】
実施形態は、短辺でいくつかの従来の角度を削除して、長辺に同じ個数の広い角度を付加することを含んでもよい。短辺で角度を削除した後、残りの角度はすべて、N個の予測角度を除いて各ブロック形状の対角角度以内にある。Nの値の例には、1,2,3及び4が含まれるが、これらに限定されない。その後、対角角度以内にあるようにN個の予測角度をさらに調節する。
【0083】
図7Bは、一実施形態に係る、対角方向を越えた予測角度を調節する様子を示す図である。
【0084】
図7Bを参照して、対角方向を越えた予測角度(730)(点線の矢印)を、対角方向以内にある(左上の塗りつぶされた三角形領域(720)内にある)予測角度(740)(太い矢印)になるように調節する。
【0085】
1つ又は複数の予測角度を調節する場合、既に対角方向以内にある角度も、すべての使用可能な予測角度の分布を一様にするようにさらに調節し、たとえば、予測角度は均一に分布する状態になる。
【0086】
対角方向以内にあるように予測角度を制限する代わりに、上記で説明されているように、実施形態は、使用可能な予測角度について参照サンプルの規定の範囲(又はグループ又は個数)内の参照サンプルのみを利用するようにして予測角度を制限することを含んでもよい。
【0087】
一実施形態では、一番上のm*nWidth+1+offsetX(左上隅を含む)個の参照サンプルのみをイントラ予測に用いることができ、一番上のn*nWidth+1+offsetX個のサンプル以外の参照サンプルを用いる可能性があるイントラ予測角度を許容しないという制限がなされる。offsetXの値の例は、1,2,3,4,...,14,...及び48を含んでもよいが、これらに限定されない。m及びnの値の例は、1,2,3及び4を含んでもよいが、これらに限定されない。
【0088】
一実施形態では、一番上のm*nHeight+1+offsetY(左上隅を含む)個の参照サンプルのみをイントラ予測に用いることができ、一番上のn*nHeight+1+offsetY個のサンプル以外の参照サンプルを用いる可能性があるイントラ予測角度を許容しないという制限がなされる。offsetYの値の例は、1,2,3,4,...,14,...及び48を含んでもよいが、これらに限定されない。m及びnの値の例は、1,2,3及び4を含んでもよいが、これらに限定されない。
【0089】
一実施形態では、m*max(nHeight,nWidth)+1+offset(左上隅を含む)個の参照サンプルのみをイントラ予測に用いることができ、n*max(nHeight,nWidth)+1+offset個のサンプル以外の参照サンプルを用いる可能性があるイントラ予測角度を許容しないという制限がなされる。offsetの値の例は、1,2,3,4,...,14,...及び48を含んでもよいが、これらに限定されない。m及びnの値の例は、1,2,3及び4を含んでもよいが、これらに限定されない。
【0090】
一実施形態では、m*min(nHeight,nWidth)+1+offset(左上隅を含む)個の参照サンプルのみをイントラ予測に用いることができ、n*min(nHeight,nWidth)+1+offset個のサンプル以外の参照サンプルを用いる可能性があるイントラ予測角度を許容しないという制限がなされる。offsetの値の例は、1,2,3,4,...,14,...及び48を含んでもよいが、これらに限定されない。m及びnの値の例は、1,2,3及び4を含んでもよいが、これらに限定されない。
【0091】
実施形態は、35個のイントラ予測モードの場合において幅/高さ比が2(又は1/2)、4(又は1/4)、8(又は1/8)、16(又は1/16)又は32(1/32)であるときに短辺で3つ、5つ、6つ、7つ又は8つのモードを削除することと、67個のイントラ予測モードの場合において幅/高さ比が2(又は1/2)、4(又は1/4)、8(又は1/8)、16(又は1/16)又は32(1/32)であるときに短辺で6つ、10個、12個、14個又は16個のモードを削除することとを含んでもよい。
【0092】
一実施形態では、短辺の残りのモードについて、このモードの角度が当該ブロックの対角方向を越える場合、この角度はこのブロックの対角方向にマッピングされる。たとえば、35個のイントラ予測モードの場合において、幅/高さ=2(又は1/2)であり、モード5(又はモード31)の角度が17/32であって、当該ブロックの対角方向を越えるとき、モード5(又はモード31)の角度は16/32にマッピングされ、幅/高さ=4(又は1/4)であり、モード7(又はモード29)の角度が9/32であって、当該ブロックの対角方向を越えるとき、モード7(又はモード29)の角度は8/32にマッピングされ、幅/高さ=8(又は1/8)であり、モード8(又はモード28)の角度が5/32であって、当該ブロックの対角方向を越えるとき、モード8(又はモード28)の角度は4/32にマッピングされる。
【0093】
別の例では、67個のイントラ予測モードの場合において、幅/高さ=2(又は1/2)であり、モード8(又はモード60)の角度が17/32であって、当該ブロックの対角方向を越えるとき、モード8(又はモード60)の角度は16/32にマッピングされ、幅/高さ=4(又は1/4)であり、モード12(又はモード56)の角度が9/32であって、当該ブロックの対角方向を越えるとき、モード12(又はモード56)の角度は8/32にマッピングされ、幅/高さ=8(又は1/8)であり、モード14(又はモード54)の角度が5/32であって、当該ブロックの対角方向を越えるとき、モード14(又はモード54)の角度は4/32にマッピングされる。
【0094】
実施形態は、角度がすべてのブロック形状の対角方向を含むように、イントラ予測モードの角度を修正したり設定したりすることを含んでもよい。
【0095】
一実施形態では、tan(α)が{1/32,2/32,4/32,8/32,16/32,32/32}に等しいような角度αを角度テーブルに含ませることを提案する。別の実施形態では、1/32サンプルから1/64サンプルに予測角度正確度を高くし、tan(α)が{1/64,2/64,4/64,8/64,16/64,32/64,64/64}に等しいような角度αを角度テーブルに含ませることを提案する。別の実施形態では、1/32サンプルから1/128サンプルに予測角度正確度を高くし、tan(α)が{1/128,2/128,4/128,8/128,16/128,32/128,64/128,128/128}に等しいような角度αを角度テーブルに含ませることを提案する。
【0096】
別の実施形態では、35個のイントラ予測モードの場合、角度テーブルは以下の表5及び表6によって表わされているものであってもよい。
【0097】
【0098】
【0099】
別の実施形態では、67個のイントラ予測モードの場合、角度テーブルは以下の表7によって表わされているものであってもよい。
【0100】
【0101】
上記の表5~表7では、intraPredAngleはイントラ予測角度を示し、predModeIntraはイントラ予測モードを示し、invAngleは逆角度を示す。
【0102】
図8は、一実施形態に係る、映像シーケンスを復号するためにイントラ予測を制御する方法(800)を示すフローチャートである。いくつかの実現例では、
図8の1つ以上のプロセスブロックをデコーダ(310)によって実行してもよい。いくつかの実現例では、エンコーダ(303)など、デコーダ(310)とは別体であったりデコーダ(310)を含んだりする別のデバイス又はデバイスのグループによって
図8の1つ以上のプロセスブロックを実行してもよい。
【0103】
図8を参照して、第1のブロック(810)では、方法(800)は、複数のイントラ予測角度にそれぞれ対応する複数のイントラ予測モードを含むテーブルを設定することを含み、複数のイントラ予測角度は、符号化ユニットのすべての形状の対角方向にそれぞれ対応する対角イントラ予測角度を含む。
【0104】
対角イントラ予測角度の各々をαで示すことができ、tan(α)は{1/32,2/32,4/32,8/32,16/32,32/32}に等しい。
【0105】
設定されたテーブルに含まれる複数のイントラ予測モードの個数は67個であってもよく、設定されたテーブルは上記の表7を含んでもよい。
【0106】
対角イントラ予測角度の各々をαで示すことができ、tan(α)は{1/64,2/64,4/64,8/64,16/64,32/64,64/64}に等しい。
【0107】
対角イントラ予測角度の各々をαで示すことができ、tan(α)は{1/128,2/128,4/128,8/128,16/128,32/128,64/128,128/128}に等しい。
【0108】
設定されたテーブルに含まれる複数のイントラ予測モードの個数は35個であってもよく、設定されたテーブルは上記の表5を含んでもよい。
【0109】
第2のブロック(820)では、方法(800)は、映像シーケンスを復号するために、設定されたテーブルから複数のイントラ予測モードの1つを選択することを含む。
【0110】
方法(800)は、符号化ユニットの高さに対する幅の比を決定することと、4以上又は1/4以下である決定された比に基づいて、設定されたテーブルから第1の個数の複数のイントラ予測モードを削除することであって、第1の個数は決定された比と、幅及び高さのうちで短い方の辺とに対応する、削除することとをさらに含んでもよい。複数のイントラ予測モードの1つを選択することは、映像シーケンスを復号するために、第1の個数の複数のイントラ予測モードが削除されたテーブルから複数のイントラ予測モードの1つを選択することを含んでもよい。
【0111】
第1の個数の複数のイントラ予測モードを削除することは、35個である、テーブルに含まれる複数のイントラ予測モードの第2の個数に基づいた上で、4,8,16又は32である決定された比に基づいて、設定されたテーブルから第1の個数の複数のイントラ予測モードを削除することであって、第1の個数はそれぞれ、5,6,7又は8個である、削除することと、1/4,1/8,1/16又は1/32である決定された比に基づいて、設定されたテーブルから第1の個数の複数のイントラ予測モードを削除することであって、第1の個数はそれぞれ、5,6,7又は8個である、削除することとを含んでもよい。
【0112】
第1の個数の複数のイントラ予測モードを削除することは、67個である、テーブルに含まれる複数のイントラ予測モードの第2の個数に基づいた上で、4,8,16又は32である決定された比に基づいて、設定されたテーブルから第1の個数の複数のイントラ予測モードを削除することであって、第1の個数はそれぞれ、10,12,14又は16個である、削除することと、1/4,1/8,1/16又は1/32である決定された比に基づいて、設定されたテーブルから第1の個数の複数のイントラ予測モードを削除することであって、第1の個数はそれぞれ、10,12,14又は16個である、削除することとを含んでもよい。
【0113】
方法は、第1の個数の複数のイントラ予測モードが削除されたテーブルに含まれる複数のイントラ予測モードの各々について、符号化ユニットの対角方向よりも大きい複数のイントラ予測角度のうちの、そのイントラ予測モードに対応づけられたイントラ予測角度に基づいて、複数のイントラ予測角度のうちの、そのイントラ予測モードに対応づけられたイントラ予測角度を対角方向にマッピングすることをさらに含んでもよい。
【0114】
図8は方法(800)のブロック例を示しているが、いくつかの実現例では、方法(800)は、追加ブロック、より少数のブロック、異なるブロックや、
図8に示されているものとは異なるように配置されたブロックを含んでもよい。これに加えて、又はこれの代わりに、方法(800)のブロックの2つ以上を並列に実行してもよい。
【0115】
さらに、提案されている方法を処理回路(たとえば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実施してもよい。一例では、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に記憶されているプログラムを実行して提案されている方法の1つ以上を実行する。
【0116】
図9は、一実施形態に係る、映像シーケンスを復号するためにイントラ予測を制御する装置(900)の単純化したブロック図である。
【0117】
図9を参照して、装置(900)は設定コード(910)と選択コード(920)とを含む。
【0118】
設定コード(910)は、複数のイントラ予測角度にそれぞれ対応する複数のイントラ予測モードを含むテーブルを設定し、複数のイントラ予測角度は、符号化ユニットのすべての形状の対角方向にそれぞれ対応する対角イントラ予測角度を含む、ように構成されている。
【0119】
対角イントラ予測角度の各々をαで示すことができ、tan(α)は{1/32,2/32,4/32,8/32,16/32,32/32}に等しい。
【0120】
設定されたテーブルに含まれる複数のイントラ予測モードの個数は67個であってもよく、設定されたテーブルは上記の表7を含んでもよい。
【0121】
対角イントラ予測角度の各々をαで示すことができ、tan(α)は{1/64,2/64,4/64,8/64,16/64,32/64,64/64}に等しい。
【0122】
対角イントラ予測角度の各々をαで示すことができ、tan(α)は{1/128,2/128,4/128,8/128,16/128,32/128,64/128,128/128}に等しい。
【0123】
設定されたテーブルに含まれる複数のイントラ予測モードの個数は35個であってもよく、設定されたテーブルは上記の表5を含んでもよい。
【0124】
選択コード(920)は、映像シーケンスを復号するために、設定されたテーブルから複数のイントラ予測モードの1つを選択するように構成されている。
【0125】
装置(900)は、符号化ユニットの高さに対する幅の比を決定するように構成されている決定コード(930)と、4以上又は1/4以下である決定された比に基づいて、設定されたテーブルから第1の個数の複数のイントラ予測モードを削除し、第1の個数は決定された比と、幅及び高さのうちで短い方の辺とに対応する、ように構成されている削除コード(940)とをさらに含んでもよい。映像シーケンスを復号するために、第1の個数の複数のイントラ予測モードが削除されたテーブルから複数のイントラ予測モードの1つを少なくとも1つのプロセッサに選択させるように選択コード(920)をさらに構成してもよい。
【0126】
35個である、テーブルに含まれる複数のイントラ予測モードの第2の個数に基づいた上で、4,8,16又は32である決定された比に基づいて、設定されたテーブルから第1の個数の複数のイントラ予測モードを削除することであって、第1の個数はそれぞれ、5,6,7又は8個である、削除することと、1/4,1/8,1/16又は1/32である決定された比に基づいて、設定されたテーブルから第1の個数の複数のイントラ予測モードを削除することであって、第1の個数はそれぞれ、5,6,7又は8個である、削除することとを行なうように削除コード(930)をさらに構成してもよい。
【0127】
67個である、テーブルに含まれる複数のイントラ予測モードの第2の個数に基づいた上で、4,8,16又は32である決定された比に基づいて、設定されたテーブルから第1の個数の複数のイントラ予測モードを削除することであって、第1の個数はそれぞれ、10,12,14又は16個である、削除することと、1/4,1/8,1/16又は1/32である決定された比に基づいて、設定されたテーブルから第1の個数の複数のイントラ予測モードを削除することであって、第1の個数はそれぞれ、10,12,14又は16個である、削除することとを行なうように削除コード(930)をさらに構成してもよい。
【0128】
装置(900)は、第1の個数の複数のイントラ予測モードが削除されたテーブルに含まれる複数のイントラ予測モードの各々について、符号化ユニットの対角方向よりも大きい複数のイントラ予測角度のうちの、そのイントラ予測モードに対応づけられたイントラ予測角度に基づいて、複数のイントラ予測角度のうちの、そのイントラ予測モードに対応づけられたイントラ予測角度を対角方向にマッピングするように構成されているマッピングコード(950)をさらに含んでもよい。
【0129】
コンピュータ可読指示を用い、1つ以上のコンピュータ可読媒体に物理的に記憶されるコンピュータソフトウェアとして上述の技術を実施することができる。
【0130】
図10は、実施形態を実施するのに適するコンピュータシステム(1000)の図である。
【0131】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンクを行なってもよい任意の適当なマシンコード又はコンピュータ言語や、コンピュータ中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)などによって、直接実行したり、解釈、マイクロコード実行などを通じて実行したりすることができる指示を備えるコードを作成する同様の機構を用いてコーディングすることができる。
【0132】
指示は、たとえば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む様々なタイプのコンピュータ上又はその構成要素上で実行することができる。
【0133】
コンピュータシステム(1000)についての
図10に示されている構成要素は一例としての性質を持つものであり、実施形態を実施するコンピュータソフトウェアの使用や機能の範囲に関してなんら限定を示唆することも意図していない。構成要素の構成についても、コンピュータシステム(1000)の例示的な実施形態に示されている構成要素のいずれか1つ又はこれらの組み合わせに関するなんらかの依存性又は要件を有するものとして解釈するべきではない。
【0134】
コンピュータシステム(1000)は、いくつかのヒューマンインタフェイス入力デバイスを含んでもよい。このようなヒューマンインタフェイス入力デバイスは、たとえば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を通じた1人又は複数の人間のユーザによる入力に応答してもよい。音声(発話、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから得られる写真画像など)、映像(2次元映像、立体映像を含む3次元映像など)などの人間による意識的な入力に必ずしも直接関係しない、なんらかのメディアを捕捉するのにヒューマンインタフェイスデバイスを用いることもできる。
【0135】
入力ヒューマンインタフェイスデバイスは、キーボード(1001)、マウス(1002)、トラックパッド(1003)、タッチ画面(1010)、データグローブ(1004)、ジョイスティック(1005)、マイク(1006)、スキャナ(1007)、カメラ(1008)の1つ以上(各々の1つだけが示されている)を含んでもよい。
【0136】
コンピュータシステム(1000)はいくつかのヒューマンインタフェイス出力デバイスも含んでもよい。このようなヒューマンインタフェイス出力デバイスは、たとえば、触覚出力、音、光及び匂い/味覚を通じて1人又は複数の人間のユーザの感覚を刺激してもよい。このようなヒューマンインタフェイス出力デバイスは、触覚出力デバイス(たとえば、タッチ画面(1010)、データグローブ(1004)やジョイスティック(1005)による触覚フィードバックただし、入力デバイスとして機能しない触覚フィードバックデバイスもある)、オーディオ出力デバイス(スピーカ(1009)、ヘッドホン(図示せず)など)、視覚出力デバイス(ブラウン管(CRT)画面、液晶ディスプレイ(LCD)画面、プラズマ画面、有機発光ダイオード(OLED)画面を含む画面(1010)など各々はタッチ画面入力機能の有無にかかわらない各々は触覚フィードバック機能の有無にかかわらないこれらのいくつかは、立体出力などの手段を通じて2次元の視覚出力又は3次元を超える出力を出力する機能があってもよい、仮想現実グラス(図示せず)、ホログラフィックディスプレイ、発煙剤タンク(図示せず))、及びプリンタ(図示せず)を含んでもよい。
【0137】
コンピュータシステム(1000)は、CD/DVD等の媒体(1021)を含むCD/DVD ROM/RW(1020)を含む光学媒体、thumb-drive(1022)、リムーバブルハードドライブ又はソリッドステートドライブ(1023)、テープ及びフロッピー(登録商標)ディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの専用のROM/ASIC/PLDベースのデバイス(図示せず)などの人間がアクセス可能な記憶デバイス及びその関連媒体を含むこともできる。
【0138】
ここで開示されている保護対象に関連して用いられている用語「コンピュータ可読媒体」が、伝送媒体、搬送波又は他の一時的な信号を包含しないことも当業者は当然理解する。
【0139】
コンピュータシステム(1000)は、1つ以上の通信ネットワークに対するインタフェイスを含むこともできる。たとえば、ネットワークは無線、有線、光学式であることが可能である。さらに、ネットワークは、ローカル、広域、都市型、車両用及び産業用、リアルタイム、遅延耐性などであることが可能である。ネットワークの例には、Ethernetなどのローカルエリアネットワーク、無線LAN、global systems for mobile communications(GSM(登録商標))、第3世代(3G)、第4世代(4G)、第5世代(5G)、Long-Term Evolution(LTE)などを含むセルラーネットワーク、ケーブルTV、衛星TV及び地上波放送TVを含むTV有線又は無線広域デジタルネットワーク、CANBusを含む車両用及び産業用などが含まれる。一般的に、いくつかのネットワークでは、いくつかの汎用データポート又は周辺バス((1049))に取り付けられる外部ネットワークインタフェイスアダプタが必要である(たとえば、コンピュータシステム(1000)のユニバーサルシリアルバス(USB)ポートなどであり、その他としては、以下に説明されているように、一般的には、システムバスに取り付けることによってコンピュータシステム(1000)のコアに統合されるものがある(たとえば、PCコンピュータシステムへはEthernetインタフェイスであったり、スマートフォンコンピュータシステムへはセルラーネットワークインタフェイスであったりする)。これらのネットワークのどれを用いても、コンピュータシステム(1000)は相手方と通信することができる。このような通信は、一方向、受信専用(たとえば、テレビ放送)、一方向送信専用(たとえば、CANbusから特定のCANbusに送信するデバイス)又は双方向(たとえば、ローカル若しくは広域デジタルネットワークを用いて他のコンピュータシステムに通信する)であることが可能である。上記で説明されているネットワーク及びネットワークインタフェイスの各々にいくつかのプロトコル及びプロトコルスタックを用いることができる。
【0140】
上述のヒューマンインタフェイスデバイス、人間がアクセス可能な記憶デバイス及びネットワークインタフェイスをコンピュータシステム(1000)のコア(1040)に取り付けることができる。
【0141】
コア(1040)は、1つ以上の中央処理装置(CPU)(1041)、グラフィックスプロセッシングユニット(GPU)(1042)、フィールドプログラマブルゲートエリア(Field Programmable Gate Areas)(FPGA)(1043)の形態をとる専用のプログラム可能な処理装置、特定のタスク用のハードウェアアクセラレータ(1044)などを含むことができる。これらのデバイスは、読出し専用メモリ(ROM)(1045)、ランダムアクセスメモリ(RAM)(1046)、ユーザがアクセスすることができない内部ハードドライブ、ソリッドステートドライブ(SSD)などの内部大容量記憶装置(1047)とともにシステムバス(1048)を通じて接続してもよい。いくつかのコンピュータシステムでは、システムバス(1048)は、追加CPU、GPUなどによって拡張を可能にするように、1つ以上の物理的なプラグの形態をとるアクセス可能なものであることが可能である。周辺デバイスは、コアのシステムバス(1048)に直接取り付けられるか、周辺バス(1049)を通じて取り付けられるかするものであることが可能である。周辺バス用の構造は、peripheral component interconnect(PCI)、USBなどを含む。
【0142】
CPU(1041)、GPU(1042)、FPGA(1043)及びアクセラレータ(1044)は、組み合わさって上述のコンピュータコードを形成することができる所定の指示を実行することができる。このコンピュータコードをROM(1045)又はRAM(1046)に記憶することができる。また、変化していくデータはRAM(1046)に記憶することができる一方で、不変のデータはたとえば内部大容量記憶装置(1047)に記憶することができる。1つ以上のCPU(1041)、GPU(1042)、大容量記憶装置(1047)、ROM(1045)、RAM(1046)などに密接に関連づけることができるキャッシュメモリを用いることにより、任意のメモリデバイスに対する高速記憶及び高速読出しが可能になる。
【0143】
コンピュータ可読媒体上にはコンピュータで実施される様々な動作を実行するコンピュータコードを設けることができる。媒体及びコンピュータコードは、実施形態のために特別に設計及び構築されたものであることが可能であったり、コンピュータソフトウェア技術の当業者に周知で利用可能な種類のものであることが可能であったりする。
【0144】
限定ではなく例として、アーキテクチャ(1000)、特にコア(1040)を有するコンピュータシステムは、1つ又は複数の有形のコンピュータ可読媒体に組み込まれたソフトウェアをプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が実行した結果として機能を発揮することができる。このようなコンピュータ可読媒体は、上記で紹介したユーザがアクセス可能な大容量記憶装置と、コア内大容量記憶装置(1047)やROM(1045)など、非一時的な性質を持つコア(1040)のなんらかの記憶装置とに関連する媒体であることが可能である。様々な実施形態を実施するソフトウェアを、このようなデバイスに記憶してコア(1040)によって実行することができる。コンピュータ可読媒体は具体的な要求に応じて1つ以上のメモリデバイスやチップを含むことができる。ソフトウェアを用いることで、コア(1040)、特にコア(1040)中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1046)に記憶されるデータ構造を定めることと、ソフトウェアによって定められたプロセスにしたがってこのようなデータ構造を変更することとを含む、本出願で説明されている特定のプロセスや特定のプロセスの特定の部分を実行させることができる。これに加えて、又はこれの代わりとして、コンピュータシステムは、ロジックを回路(たとえばアクセラレータ(1044))にハードワイヤードしたり回路に別様に組み込んだりした結果としての機能を発揮することができ、その回路はソフトウェアの代わりに動作したりソフトウェアと協働したりして、本出願で説明されている特定のプロセスや特定のプロセスの特定の部分を実行することができる。ソフトウェアに言及することはロジックに言及することを包含することができ、その逆も可能である(該当する場合)。コンピュータ可読媒体に言及することは、実行用のソフトウェアを記憶する回路(集積回路(IC)など)、実行用のロジックを具体化する回路又はその両方に言及することを包含することができる(該当する場合)。実施形態はハードとソフトとの任意の適当な組み合わせを含む。
【0145】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲に含まれる変形例、置換例及び様々な代替均等物が存在する。したがって、本明細書では明示的に示されていなかったり説明されていなかったりするが、本開示の原理を具体化することでその精神及び範囲内に含まれる多数のシステム及び方法を当業者が考え出すことができることが分かる。
【符号の説明】
【0146】
101 モード10
102 モード26
103 モード2
104 モード18
105 モード34
200 通信システム
210 第1の端末
220 第2の端末
250 通信ネットワーク
301 映像供給元
302 映像サンプルストリーム
303 映像エンコーダ
304 符号化映像ビットストリーム
305 ストリーミングサーバ
306 クライアント
307 符号化映像ビットストリーム
310 映像デコーダ
311 出力映像サンプルストリーム
312 描画デバイス
313 撮像サブシステム
410 受信器
412 チャンネル
415 バッファメモリ
420 パーサ
421 シンボル
451 スケーラ/逆変換部
452 イントラピクチャ予測部
452 イントラ予測部
453 動き補償予測部
454 ループフィルタ部
455 アグリゲータ
456 現在のピクチャ
457 参照ピクチャバッファ
530 ソースコーダー
532 符号化エンジン
533 デコーダ
534 参照ピクチャメモリ
535 予測器
540 送信器
543 符号化映像シーケンス
545 エントロピコーダー
550 コントローラ
560 通信チャンネル
601 モード2
602 モード3
603 モード35
604 モード36
605 モード4
710 予測角度
720 三角形領域
730 予測角度
740 予測角度
800 方法
810 ブロック
820 ブロック
900 装置
910 設定コード
920 選択コード
930 削除コード
950 マッピングコード
1000 コンピュータシステム
1001 キーボード
1002 マウス
1003 トラックパッド
1004 データグローブ
1005 ジョイスティック
1006 マイク
1007 スキャナ
1008 カメラ
1009 スピーカ
1010 タッチ画面
1010 画面
1020 CD/DVD ROM/RW
1021 CD/DVD
1022 thumb-drive
1023 ソリッドステートドライブ
1040 コア
1041 CPU
1042 GPU
1043 FPGA
1044 アクセラレータ
1045 ROM
1046 RAM
1047 内部大容量記憶装置
1048 システムバス
1049 周辺バス