(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】イントラモードにおける予測サンプルフィルタリングのための重み付け係数
(51)【国際特許分類】
H04N 19/593 20140101AFI20241008BHJP
H04N 19/176 20140101ALI20241008BHJP
H04N 19/136 20140101ALI20241008BHJP
H04N 19/117 20140101ALI20241008BHJP
H04N 19/80 20140101ALI20241008BHJP
【FI】
H04N19/593
H04N19/176
H04N19/136
H04N19/117
H04N19/80
(21)【出願番号】P 2022508748
(86)(22)【出願日】2020-08-14
(86)【国際出願番号】 CN2020109217
(87)【国際公開番号】W WO2021027928
(87)【国際公開日】2021-02-18
【審査請求日】2022-02-18
(31)【優先権主張番号】PCT/CN2019/100615
(32)【優先日】2019-08-14
(33)【優先権主張国・地域又は機関】CN
【前置審査】
(73)【特許権者】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(73)【特許権者】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リュウ,ホンビン
(72)【発明者】
【氏名】ザン,リー
(72)【発明者】
【氏名】ザン,カイ
(72)【発明者】
【氏名】シュイ,ジィジォン
(72)【発明者】
【氏名】ワン,ユエ
【審査官】田部井 和彦
(56)【参考文献】
【文献】米国特許出願公開第2019/0110045(US,A1)
【文献】Benjamin Bross et al.,Versatile Video Coding (Draft 6) [online],JVET-O2001-vE (JVET-O2001-vE.docx),2019年07月31日,pp.178-180,196-198,インターネット <URL: https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O2001-v14.zip>
【文献】Liang Zhao Xin Zhao Xiang Li Shan Liu,Non-CE3: Unification of PDPC for diagonal intra prediction modes [online], JVET-O JVET-O0535-v2,ITU-T インターネット<URL:https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O0535-v2.zip>,2019年07月03日,pp.1, 3-9
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/593
H04N 19/176
H04N 19/136
H04N 19/117
H04N 19/80
(57)【特許請求の範囲】
【請求項1】
ビデオ処理の方法であって、
ビデオの現在ビデオブロックと前記ビデオのビットストリームとの間の変換のために、前記現在ビデオブロックの予測サンプルを生成するステップと、
位置依存イントラ予測サンプルフィルタリングプロセスを使用して、前記現在ビデオブロックの修正予測サンプルを生成するステップと、
前記修正予測サンプルに基づいて、前記変換を実行するステップと、を含み、
前記フィルタリングプロセスにおいては、第1予測サンプルと、前記現在ビデオブロックの少なくとも1つの隣接サンプルとが結合されて、前記第1予測サンプルの重み付け係数、および、前記少なくとも1つの隣接サンプルの少なくとも1つの重み付け係数に基づいて、修正第1予測サンプルが生成され、かつ、
前記現在ビデオブロックが、INTRA_ANGULAR18、INTRA_ANGULAR50、プラナーモード、またはDCモードのうちの1つを使用してコード化され、前記現在ビデオブロックの幅が4以上であり、かつ、前記現在ビデオブロックの高さが4以上であり、基準線インデックスが0であり、かつ、bdpcmフラグが0である場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスが許可され、かつ、少なくとも1つの隣接サンプルの前記少なくとも1つの重み付け係数は、前記現在ビデオブロックのディメンションおよび前記第1予測サンプルの位置だけから決定され、
前記現在ビデオブロックが、INTRA_ANGULAR50よりも大き
く、かつ、INTRA_LT_CCLMモードより小さいイントラ予測モードを使用してコード化されるか、または、INTRA_ANGULAR18より小さく、プラナーモードと等しくなく、かつ、DCモードと等しくないイントラ予測モードを使用してコード化され、前記現在ビデオブロックの幅が4以上であり、かつ、前記現在ビデオブロックの高さが4以上であり、基準線インデックスが0であり、かつ、bdpcmフラグが0である場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスが許可され、かつ、前記少なくとも1つの隣接サンプルの前記少なくとも1つの重み付け係数は、前記現在ビデオブロックのディメンションおよび前記第1予測サンプルの位置より多くから決定され、
前記現在ビデオブロックが、INTRA_ANGULAR18より大きく、かつ、INTRA_ANGULAR50より小さいイントラ予測モードを使用してコード化される場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスは許可されず、
かつ、
現在ビデオブロックが、DCモードを使用してコード化される場合に、前記第1予測サンプルの位置(x,y)について、左上隣接サンプルの重み付け係数はゼロである、
方法。
【請求項2】
前記現在ビデオブロックのディメンションは、前記現在ビデオブロックの幅および高さを含む、
請求項1に記載の方法。
【請求項3】
前記現在ビデオブロックが、INTRA_ANGULAR18、プラナーモード、またはDCモードのうちの1つを使用してコード化される場合に、前記第1予測サンプルの位置(x,y)について、前記少なくとも1つの隣接サンプルの上隣接サンプルに対する重み付け係数が、wT[y]=N1>>((y<N2)>>nScale)であり、
ここで、nScale=((Log2(W)+Log2(H)-N3)>>N4)であり、
Wは、前記現在ビデオブロックの幅であり、
Hは、前記現在ビデオブロックの高さであり、かつ、
N1、N2、N3、およびN4は、負でない整数である、
請求項1または2に記載の方法。
【請求項4】
前記上隣接サンプルは、位置(x,-1)に置かれたサンプルである、
請求項3に記載の方法。
【請求項5】
前記現在ビデオブロックが、INTRA_ANGULAR50、プラナーモード、またはDCモードのうちの1つを使用してコードされる場合に、前記第1予測サンプルの位置(x,y)について、前記少なくとも1つの隣接サンプルの左隣接サンプルに対する重み付け係数が、wL[x]=N1>>((x<N2)>>nScale)である、
請求項3または4に記載の方法。
【請求項6】
前記左隣接サンプルは、位置(-1,y)に置かれたサンプルである、
請求項5に記載の方法。
【請求項7】
N1=32、N2=1、N3=2、またはN4=2である、
請求項5または6に記載の方法。
【請求項8】
前記変換は、前記現在ビデオブロックを前記ビットストリームへとエンコーディングすることを含む、
請求項1乃至7のいずれか一項に記載の方法。
【請求項9】
前記変換は、前記ビットストリームから前記現在ビデオブロックをデコーディングドすることを含む、
請求項1乃至7のいずれか一項に記載の方法。
【請求項10】
プロセッサ、および、命令が保管された非一時的メモリを備えるビデオデータを処理する装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
ビデオの現在ビデオブロックと前記ビデオのビットストリームとの間の変換のために、前記現在ビデオブロックの予測サンプルを生成し、
位置依存イントラ予測サンプルフィルタリングプロセスを使用して、前記現在ビデオブロックの修正予測サンプルを生成し、かつ、
前記修正予測サンプルに基づいて、前記変換を実行する、
ようにさせ、
前記フィルタリングプロセスにおいては、第1予測サンプルと、前記現在ビデオブロックの少なくとも1つの隣接サンプルとが結合されて、前記第1予測サンプルの重み付け係数、および、前記少なくとも1つの隣接サンプルの少なくとも1つの重み付け係数に基づいて、修正第1予測サンプルが生成され、かつ、
前記現在ビデオブロックが、INTRA_ANGULAR18、INTRA_ANGULAR50、プラナーモード、またはDCモードのうちの1つを使用してコード化され、前記現在ビデオブロックの幅が4以上であり、かつ、前記現在ビデオブロックの高さが4以上であり、基準線インデックスが0であり、かつ、bdpcmフラグが0である場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスが許可され、かつ、少なくとも1つの隣接サンプルの前記少なくとも1つの重み付け係数は、前記現在ビデオブロックのディメンションおよび前記第1予測サンプルの位置だけから決定され、
前記現在ビデオブロックが、INTRA_ANGULAR50よりも大き
く、かつ、INTRA_LT_CCLMモードより小さいイントラ予測モードを使用してコード化されるか、または、INTRA_ANGULAR18より小さく、プラナーモードと等しくなく、かつ、DCモードと等しくないイントラ予測モードを使用してコード化され、前記現在ビデオブロックの幅が4以上であり、かつ、前記現在ビデオブロックの高さが4以上であり、基準線インデックスが0であり、かつ、bdpcmフラグが0である場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスが許可され、かつ、前記少なくとも1つの隣接サンプルの前記少なくとも1つの重み付け係数は、前記現在ビデオブロックのディメンションおよび前記第1予測サンプルの位置より多くから決定され、
前記現在ビデオブロックが、INTRA_ANGULAR18より大きく、かつ、INTRA_ANGULAR50より小さいイントラ予測モードを使用してコード化される場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスは許可されず、
かつ、
現在ビデオブロックが、DCモードを使用してコード化される場合に、前記第1予測サンプルの位置(x,y)について、左上隣接サンプルの重み付け係数はゼロである、
装置。
【請求項11】
前記現在ビデオブロックのディメンションは、前記現在ビデオブロックの幅および高さを含む、
請求項10に記載の装置。
【請求項12】
前記現在ビデオブロックが、INTRA_ANGULAR18、プラナーモード、またはDCモードのうちの1つを使用してコードされる場合に、前記第1予測サンプルの位置(x,y)について、前記少なくとも1つの隣接サンプルの上隣接サンプルに対する重み付け係数が、wT[y]=N1>>((y<N2)>>nScale)であり、
ここで、nScale=((Log2(W)+Log2(H)-N3)>>N4)であり、
Wは、前記現在ビデオブロックの幅であり、
Hは、前記現在ビデオブロックの高さであり、かつ、
N1、N2、N3、およびN4は、負でない整数である、
請求項10または11に記載の装置。
【請求項13】
命令を保管する非一時的なコンピュータで読取り可能な記憶媒体であって、前記命令が実行されると、プロセッサに、
ビデオの現在ビデオブロックと前記ビデオのビットストリームとの間の変換のために、前記現在ビデオブロックの予測サンプルを生成し、
位置依存イントラ予測サンプルフィルタリングプロセスを使用して、前記現在ビデオブロックの修正予測サンプルを生成し、かつ、
前記修正予測サンプルに基づいて、前記変換を実行する、
ようにさせ、
前記フィルタリングプロセスにおいては、第1予測サンプルと、前記現在ビデオブロックの少なくとも1つの隣接サンプルとが結合されて、前記第1予測サンプルの重み付け係数、および、前記少なくとも1つの隣接サンプルの少なくとも1つの重み付け係数に基づいて、修正第1予測サンプルが生成され、かつ、
前記現在ビデオブロックが、INTRA_ANGULAR18、INTRA_ANGULAR50、プラナーモード、またはDCモードのうちの1つを使用してコード化され、前記現在ビデオブロックの幅が4以上であり、かつ、前記現在ビデオブロックの高さが4以上であり、基準線インデックスが0であり、かつ、bdpcmフラグが0である場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスが許可され、かつ、少なくとも1つの隣接サンプルの前記少なくとも1つの重み付け係数は、前記現在ビデオブロックのディメンションおよび前記第1予測サンプルの位置だけから決定され、
前記現在ビデオブロックが、INTRA_ANGULAR50よりも大き
く、かつ、INTRA_LT_CCLMモードより小さいイントラ予測モードを使用してコード化されるか、または、INTRA_ANGULAR18より小さく、プラナーモードと等しくなく、かつ、DCモードと等しくないイントラ予測モードを使用してコード化され、前記現在ビデオブロックの幅が4以上であり、かつ、前記現在ビデオブロックの高さが4以上であり、基準線インデックスが0であり、かつ、bdpcmフラグが0である場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスが許可され、かつ、前記少なくとも1つの隣接サンプルの前記少なくとも1つの重み付け係数は、前記現在ビデオブロックのディメンションおよび前記第1予測サンプルの位置より多くから決定され、
前記現在ビデオブロックが、INTRA_ANGULAR18より大きく、かつ、INTRA_ANGULAR50より小さいイントラ予測モードを使用してコード化される場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスは許可されず、
かつ、
現在ビデオブロックが、DCモードを使用してコード化される場合に、前記第1予測サンプルの位置(x,y)について、左上隣接サンプルの重み付け係数はゼロである、
非一時的なコンピュータで読取り可能な記憶媒体。
【請求項14】
ビデオのビットストリームを保管するための方法であって、前記方法は、
前記ビデオの現在ビデオブロックの予測サンプルを生成するステップと、
位置依存イントラ予測サンプルフィルタリングプロセスを使用して、前記現在ビデオブロックの修正予測サンプルを生成するステップと、
前記修正予測サンプルに基づいて、前記ビットストリームを生成するステップと、を含み、
前記フィルタリングプロセスにおいては、第1予測サンプルと、前記現在ビデオブロックの少なくとも1つの隣接サンプルとが結合されて、前記第1予測サンプルの重み付け係数、および、前記少なくとも1つの隣接サンプルの少なくとも1つの重み付け係数に基づいて、修正第1予測サンプルが生成され、かつ、
前記現在ビデオブロックが、INTRA_ANGULAR18、INTRA_ANGULAR50、プラナーモード、またはDCモードのうちの1つを使用してコード化され、前記現在ビデオブロックの幅が4以上であり、かつ、前記現在ビデオブロックの高さが4以上であり、基準線インデックスが0であり、かつ、bdpcmフラグが0である場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスが許可され、かつ、少なくとも1つの隣接サンプルの前記少なくとも1つの重み付け係数は、前記現在ビデオブロックのディメンションおよび前記第1予測サンプルの位置だけから決定され、
前記現在ビデオブロックが、INTRA_ANGULAR50よりも大き
く、INTRA_LT_CCLMモードより小さいイントラ予測モードを使用してコード化されるか、または、INTRA_ANGULAR18より小さく、プラナーモードと等しくなく、かつ、DCモードと等しくないイントラ予測モードを使用してコード化され、前記現在ビデオブロックの幅が4以上であり、かつ、前記現在ビデオブロックの高さが4以上であり、基準線インデックスが0であり、かつ、bdpcmフラグが0である場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスが許可され、かつ、前記少なくとも1つの隣接サンプルの前記少なくとも1つの重み付け係数は、前記現在ビデオブロックのディメンションおよび前記第1予測サンプルの位置より多くから決定され、
前記現在ビデオブロックが、INTRA_ANGULAR18より大きく、かつ、INTRA_ANGULAR50より小さいイントラ予測モードを使用してコード化される場合に、前記現在ビデオブロックに対して前記フィルタリングプロセスは許可されず、
かつ、
現在ビデオブロックが、DCモードを使用してコード化される場合に、前記第1予測サンプルの位置(x,y)について、左上隣接サンプルの重み付け係数はゼロである、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
本文書は、ビデオおよび画像のコーディングおよびデコーディング技術に関する。
【0002】
関連出願の相互参照
本出願は、2020年8月14日に出願された国際特許出願第PCT/CN2020/109217号の国内移行である。パリ条約に基づく適用特許法及び/又はルールに基づいて、本出願は、2019年8月14日に出願された国際特許出願第PCT/CN2019/100615号の優先権および利益を適時に主張するように行われている。法に基づく全ての目的のために、上記の出願の開示全体は、本出願の開示の一部として引用により援用されている。
【背景技術】
【0003】
デジタルビデオは、インターネットおよびその他のデジタル通信ネットワークにおける最大の帯域幅使用を占めている。映像の受信および表示が可能な接続ユーザデバイスの数が増加するにつれて、デジタル映像の利用に対する帯域幅需要は増加し続けることが予想されている。
【発明の概要】
【0004】
開示される技術は、イントラ予測サンプルフィルタリング(intra prediction sample filtering)を使用してビデオのコーディングおよびデコーディング(coding and decoding)を実行するために、ビデオまたは画像のデコーダまたはエンコーダの実施形態によって使用され得る。
【0005】
一つの例として、ビデオ処理の方法が開示される。本方法は、ルールに従って、ビデオの現在ビデオブロックのサンプルの隣接サンプルに対する重み付け係数(weighting factor)を導出するステップと、現在ビデオブロックとビデオのコード化表現(coded representation)との間の変換を行うステップとを含む。ここで、本ルールは、現在ビデオブロックがプラナーモード(planar mode)またはDCモードを使用してコード化される場合、重み付け係数が、現在ビデオブロックのディメンション(dimension)又は現在ビデオブロックのサンプルの位置のうち少なくとも1つから決定されることを規定している。ここで、現在ビデオブロックは、現在ビデオブロックの精緻化(refined)された予測信号を生成するために、隣接サンプルを現在ビデオブロックの予測信号と組み合わせる、位置依存イントラ予測(position dependent intra prediction、PDPC)法を使用する。そして、ここで、サンプルの予測信号の重み付け係数は、サンプルの対応する隣接サンプルの重み付け係数に基づいて決定される。
【0006】
さらに別の例において、上述の方法は、プロセッサを備えるビデオエンコーダ装置によって実装することができる。
【0007】
さらに別の例において、上述の方法は、プロセッサを備えるビデオデコーダ装置によって実装することができる。
【0008】
さらに別の例において、これらの方法は、プロセッサ実行可能命令の形態で具現化され、そして、コンピュータ読取可能プログラム媒体に保管されてよい。
【0009】
これらの及びその他の態様が、本文書でさらに説明される。
【図面の簡単な説明】
【0010】
【
図1】
図1は、エンコーダブロック図の一つの例を示す。
【
図2】
図2は、67個のイントラ予測モードの一つの例を示す。
【
図3A】
図3Aは、広角(wide-angular)イントラ予測のための参照サンプルの例を示す。
【
図3B】
図3Bは、広角イントラ予測のための参照サンプルの例を示す。
【
図4】
図4は、45度を超える方向の場合の不連続性の問題を示す。
【
図5A】
図5Aは、参照サンプル(reference sample)の定義を示す。
【
図6】
図6は、4×8ブロックおよび8×4ブロックの分割に係る一つの例を示す。
【
図7】
図7は、4×8、8×4、および4×4を除く、全てのブロックの分割に係る一つの例を示す。
【
図8】
図8は、αおよびβの導出に使用されるサンプルの位置の例を示す。
【
図9】
図9は、対応するルマ領域(luma region)からのDM導出のための「CR」位置の一つの例を示す。
【
図10】
図10は、予測方向に沿って関与する隣接サンプルの例を示す。
【
図11A】
図11Aは、本文書で説明される技術を実装するために使用されるハードウェアプラットフォームに係る一つのブロック図である。
【
図11B】
図11Bは、本文書で説明される技術を実装するために使用されるハードウェアプラットフォームに係る一つのブロック図である。
【
図12】
図12は、例えば、ビデオ処理の方法のフローチャートである
【
図13】
図13は、例えば、ビデオ処理の方法のフローチャートである
【発明を実施するための形態】
【0011】
本文書は、解凍され(decompressed)またはデコーディングされたデジタルビデオまたは画像の品質を改善するために、画像またはビデオのビットストリームに係るデコーダによって使用され得る種々の技術を提供する。簡潔化のために、ここにおいて、用語「ビデオ(“video”)」は、一連のピクチャ(a sequence of pictures)(伝統的にビデオと呼ばれるもの)、および、個々の画像(image)の両方を含むように使用されている。さらに、ビデオエンコーダは、また、さらなるエンコーディングのため使用されるデコーディングされたフレームを再構成するために、エンコーディングのプロセス中にこれらの技術を実装することもできる。
【0012】
セクション見出し(section heading)は、理解を容易にするために本文書で使用されており、実施形態および技術を対応するセクションに限定するものではない。かくして、1つのセクションからの実施形態は、他のセクションからの実施形態と組み合わせることができる。
【0013】
1.要約
本文書は、ビデオコーディング技術に関するものである。具体的には、画像/ビデオコーディングにおけるイントラ予測に関連している。これは、HEVCのような既存のビデオコーディング規格、または、最終化される規格(バーサタイルビデオコーディング(Versatile Video Coding))に適用され得る。これは、また、将来のビデオコーディング規格またはビデオコーデックに対しても適用可能である。
【0014】
2.背景
ビデオコーディング規格は、主に、周知のITU-TおよびISO/IEC規格の開発を通じて発展してきた。ITU-TはH.261とH.263を作成し、ISO/IECはMPEG-1とMPEG-4Visualを作成し、そして、2つの組織はH.262/MPEG-2Videoと、H.264/MPEG-4AdvancedVideoCoding(AVC)と、H.265/High Efficiency Video Coding(HEVC)規格を共同で作成した。H.262から、ビデオコーディング標準は、時間的予測と変換コード化が利用されるハイブリッドビデオコーディング構造に基づいている。HEVCを越える将来のビデオコーディング技術を探求するため、2015年にVCEGとMPEGが共同で共同ビデオ探査チーム(Joint Video Exploration Team、JVET)を設立した。それ以来、JVETによって多くの新しい方法が採用され、JEM(Joint Exploration Model)と名付けられた参照ソフトウェアに入れられた。2018年4月には、VCEG(Q6/16)とISO/IECJTC1SC29/WG11(MPEG)の間のJVETが作成され、HEVCと比較してビットレートを50%低減することを目標としたVVC規格に取り組んでいる。
【0015】
VVC草案の最新バージョン、すなわち、Versatile Video Coding(Draft6)が、以下において見出される。
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/15_Gothenburg/wg11/JVET-O2001-v14.zip
【0016】
VVCの最新の参照ソフトウェア、VTMと名付けられているもの、が、以下において見出される。
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-5.2
【0017】
2.1色空間とクロマサブサンプリング
カラーモデル(またはカラーシステム)としても知られている、色空間(color space)は、単に色の範囲を数字のタプル(tuple)として、典型的には3個または4個の値もしくは色成分(例えば、RGB)として簡単に記述する抽象的な数学モデルである。基本的には、色空間は座標系とサブ空間の精緻化(elaboration)である。
【0018】
ビデオ圧縮について、最も頻繁に使用される色空間は、YCbCrとRGBである。YCbCr、Y'CbCr、またはYPb/CbPr/Crは、YCBCRまたはY'CBCRとしても書かれるように、ビデオおよびデジタル写真システムにおけるカラーピクチャパイプラインの一部として使用される色空間のファミリーである。Y′はルマ成分(luma component)であり、そして、CBおよびCRは青色差および赤色差クロマ成分(chroma component)である。Y′(プライム付き)は、輝度(luminance)であるYと区別され、これは、光強度がガンマ補正RGB原色(gamma corrected RGB primaries)に基づいて非線形にエンコーディングされることを意味する。
【0019】
クロマサブサンプリングは、ルマ情報よりもクロマ情報について解像度をより低く実装することによる画像のエンコーディングの実践であり、輝度(luminance)よりも色の違いについてヒトの視覚系の視力が低いことを利用している。
【0020】
2.1. 1:4:4
3個のY'CbCr成分は、それぞれ同じサンプルレートを持つので、クロマサブサンプリングは存在しない。このスキームは、ハイエンドのフィルムスキャナや映画のポストプロダクションで、ときどき、使用されている。
【0021】
2.1.2 4:2:2
2個のクロマ成分は、ルマのサンプルレートの半分でサンプリングされ、水平クロマ解像度(resolution)は半分になる。これにより、非圧縮ビデオ信号の帯域幅が3分の1だけ減少し、視覚的な差は、ほとんど又は全くない。
【0022】
2.1.3 4:2:0
4:2:0において、水平方向のサンプリングは4:1:1に比べて2倍になるが、CbとCrチャンネルは、このスキームの各代替ラインでのみサンプリングされるため、垂直方向の解像度は半分になる。従って、データレートは同じである。CbとCrは、それぞれ水平方向と垂直方向の2倍でサブサンプリングされる。4:2:0スキームの3個のバリエーションがあり、異なる水平および垂直位置を有している。
・MPEG-2では、CbとCrは水平に共配置(cosited)されている。CbとCrは垂直方向のピクセル間に配置されている(隙間(interstitially)に置かれている)。
・JPEG/JFIF、H.261、およびMPEG-1では、CbとCrは交互のルマサンプルの中間の隙間に位置している。
・4:2:0DVでは、CbとCrが水平方向に共配置されている。垂直方向において、それらは交互の線上に共配置される。
【0023】
2.2典型的なビデオコーデックのコーディングフロー
図1は、3個のインループフィルタリングブロック、すなわち、デブロッキングフィルタ(DF)、サンプル適応オフセット(SAO)、およびALFを含む、VVCのエンコーダブロック図の例を示す。事前に定義されたフィルタを使用するDFとは異なり、SAOおよびALFは、オフセットを追加し、有限インパルス応答(FIR)フィルタをそれぞれ適用することにより、現在ピクチャの元のサンプルを使用して、元のサンプルと再構成されたサンプルとの間の平均二乗誤差を減少させ、オフセットおよびフィルタ係数を信号化(signaling)するコード化側方情報(side information)を有する。ALFは、各ピクチャの最終処理ステージに置かれており、前のステージで生成されたアーチファクトをキャプチャし、修復(fix)しようとするツールと見なすことができる。
【0024】
2.3 67個のイントラ予測モードによるイントラモードコーディング
自然のビデオにおいて提示された任意のエッジ方向をキャプチャするために、VTM4における方向イントラモードの数は、HEVCで使用されるように、33個から65個に拡張されている。HEVCには無い新たな方向モードは、
図2において赤い点線の矢印として示されており、そして、プラナーモードおよびDCモードは同じままである。これらのより密度が高い方向イントラ予測モードは、全てのブロックサイズについて、および、ルマとクロマイントラ予測の両方について適用される。
従来の角度イントラ予測方向は、
図2に示すように、時計回り方向に45度から-135度まで定義されている。VTM2では、いくつかの従来の角度イントラ予測モードを、非二乗ブロックに対する広角イントラ予測モードに適応的に置き換える。置き換えられたモードは、オリジナルの方法を用いて信号化され、解析(parsing)後に広い角度モードのインデックスに再マップされる。イントラ予測モードの総数は変化せず、すなわち67であり、そして、イントラモードコーディングは変化しない。
【0025】
HEVCにおいて、各コーディングブロックは正方形の形状を有し、その各辺の長さは2のべき乗である。従って、DCモードを使用してイントラ予測子(intra-predictor)を生成するために、分割演算は必要とされない。VVV2において、ブロックは、一般的な場合、ブロックごとの分割演算の使用を必要とする長方形の形状を有することができる。DC予測のための除算演算を回避するために、長辺のみが非二乗ブロックの平均を計算するために使用される。
【0026】
図2は、67個のイントラ予測モードの一つの例を示している。
【0027】
2.4非正方形ブロックに対する広角イントラ予測
従来の角度イントラ予測方向は、時計回り方向に45度から-135度まで定義されている。VTM2では、いくつかの従来の角度イントラ予測モードを、非二乗ブロックに対する広角イントラ予測モードに適応的に置き換える。置き換えられたモードは、オリジナルの方法を用いて信号化され、解析(parsing)後に広い角度モードのインデックスに再マップされる。イントラ予測モードの総数は変化せず、すなわち67であり、そして、イントラモードコーディングは変化しない。
【0028】
図3A~3Bは、広角イントラ予測のための参照サンプルの例を示している。
【0029】
これらの予測方向をサポートするために、長さ2W+1の上基準(top reference)、および、長さ2H+1の左基準(left reference)が、
図3A~3Bに示すように定義されている。
【0030】
広角方向(wide-angle direction)モードにおける置換されるモードのモード数は、ブロックのアスペクト比に依存する。置換されるイントラ予測モードをテーブル2-1に示す。
【表1】
テーブル2-1広角モードに置換されるイントラ予測モード
【0031】
図4は、45度を超える方向の場合の不連続性の問題を示している。
【0032】
図4に示すように、2つの垂直に隣接した予測サンプルは、広角イントラ予測の場合に2つの非隣接参照サンプルを使用することができる。従って、広角予測にはローパス参照サンプルフィルタおよび側面平滑化が適用され、増加したギャップΔp
αの負の効果を低減する。
【0033】
2.5 位置依存イントラ予測の組合せ
VTM2において、プラナーモードのイントラ予測の結果は、位置依存イントラ予測結合(PDPC)法によってさらに修正されている。PDPCは、フィルタリングされていない境界参照サンプルと、フィルタリングされた境界参照サンプルを伴うHEVCスタイルのイントラ予測との組み合わせを呼び出すイントラ予測法である。PDPCは、以下のイントラモードに対して信号化(signalling)なしで適用される。プラナー、DC、水平、垂直、左下角度モード、および、その8個の隣接角度モード、並びに、右上角度モード、および、その8個の隣接角度モード、である。
【0034】
イントラ予測サンプルpred(x,y)は、イントラ予測モード(DC、プラナー、角度)を使用して予測され、そして、式に従った参照サンプルの線形結合をさらに適用して、以下のように最終予測サンプルpred(x,y)を生成することができる。
pred(x,y)=(wL×R(-1,y)+wT×R(x,-1)-wTL×R(-1,-1)+(64-wL-wT+wTL)×pred(x,y)+32)>>6(2-1)
ここで、R(x,-1)、R(-1,y)は、現在サンプル(x,y)の左上に位置する参照サンプルを表し、かつ、R(-1,-1)は、現在ブロックの左上隅(top-left corner)に位置する参照サンプルを表している。
【0035】
PDPCが、DC、プラナー、水平、および垂直イントラモードに適用される場合に、追加の境界フィルタは必要とされない。それらは、HEVCDCモード境界フィルタまたは水平/垂直モードエッジフィルタの場合に必要とされる。
【0036】
図5A-5Dは、種々の予測モードに適用されるPDPCの参照サンプル(R
(x,-1)、R
(-1,y)、およびR
(-1,-1))の定義を示している。予測サンプルpred(x',y')は、予測ブロック内の(x',y')に配置されている。参照サンプルR
(x,-1)の座標xは、x=x'+y'+1で与えられ、参照サンプルR
(-1,y)の座標yは、y=x'+y'+1で与えられる。
【0037】
図5A-5Dは、対角(diagonal)および隣接角度イントラモードに適用されるPDPCによって使用されるサンプルの例示的な定義を示している。
図5Aは、対角上右(top-right)モードの例を示す。
図5Bは、対角線下左(bottom-left)モードの例を示す。
図5Cは、隣接する対角上右モードの例を示す。
図5Dは、隣接する対角下左モードの例を示す。
【0038】
PDPC重み付けは、予測モードに依存しており、テーブル2-2に示されている。
【表2】
テーブル2-2 予測モードに従ったPDPC重み付けの例
【0039】
VVCdraft6におけるPDPCの詳細は、以下の通りである。
【0040】
8.4.5.2.5 一般的なイントラサンプル予測
このプロセスへのインプットは、以下の通りである。
-現在の画像の左上サンプルに対する現在変換ブロックの左上のサンプルを指定するサンプル位置(xTbCmp,yTbCmp)、
-イントラ予測モードを指定する変数predModeIntra、
-変換ブロック幅を指定する変数nTbW、
-変換ブロック高さを指定する変数nTbH、
-コーディングブロック幅を指定する変数nCbW、
-コーディングブロック高さを指定する変数nCbH、
-現在ブロックの色成分を指定する変数cIdx、である。
【0041】
このプロセスのアウトプットは、x=0..nTbW-1、y=0..nTbH-1で、予測サンプルpredSamples[x][y]である。
【0042】
変数refWと変数refHは、次のように導出される。
-IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しい場合、または、cIdxが0に等しくない場合は、次のようになる。
refW=nTbW*2 (8-118)
refH=nTbH*2 (8-119)
-そうでなければ(IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくなく、かつ、cIdxが0に等しい)、次のようになる。
refW=nCbW+nTbW (8-120)
refH=nCbH+nTbH (8-121)
【0043】
イントラ予測基準線(reference line)インデックスを指定する変数refIdxは、次のように導出される。
refIdx=(cIdx==0)?IntraLumaRefLineIdx[xTbCmp][yTbCmp]:0 (8-122)
【0044】
8.4.5.2.6条項に規定されている広角イントラ予測モードマッピングプロセスは、preModeIntra、nTbW、nTbH、およびcIdxをインプットとして、かつ、修正predModeIntraをアウトプットとして呼び出される。
【0045】
変数refFilterFlagは、次のように導出される。
-predModeIntraが0、-14、-12、-10、-6、2、34、66、72、76、78、80のいずれかの値に等しい場合、refFilterFlagは1に設定される。
-そうでなければ、refFilterFlagは0に設定される。
【0046】
x=-1-refIdx、y=-1-refIdx..refH-1、かつ、x=-refIdx..refW-1、y=-1-refIdxでの参照サンプルp[x][y]の生成について、以下の順序付けされたステップが適用される。
1. 8.4.5.2.7条項に規定されている参照サンプル可用性マーキング(availability marking)プロセスは、サンプル位置(xTbCmp,yTbCmp)を用いて呼び出される。イントラ予測基準線インデックスrefIdx、参照サンプル幅refW、参照サンプル高さrefH、色成分インデックスcIdxをインプットとして、および、x=-1-refIdx、y=-1-refIdx..refH-1、かつ、x=-refIdx..refW-1、y=-1-refIdxでの参照サンプルrefUnfilt[x][y]をアウトプットとする。
2. x=-1-refIdx、y=-1-refIdx..refH-1、かつ、x=-refIdx..refW-1、y=-1-refIdxでの少なくとも1つのサンプルが、「イントラ予測に利用不可」としてマーク付けされている場合、8.4.5.2.8条項に規定されている参照サンプル置換(substitution)プロセスが呼び出される。イントラ予測基準線インデックスrefIdx、参照サンプル幅refW、参照サンプル高さrefH、x=-1-refIdx、y=-1-refIdx..refH-1、かつ、x=-refIdx..refW-1、y=-1-refIdxでの参照サンプルrefUnfilt[x][y]を用いる。そして、色成分インデックスcIdxをインプットとして、および、x=-1-refIdx、y=-1-refIdx..refH-1、かつ、x=-refIdx..refW-1、y=-1-refIdxでの修正参照サンプルrefUnfilt[x][y]をアウトプットとする。
3. 8.4.5.2.9項に規定されている参照サンプルフィルタリングプロセスは、イントラ予測基準線インデックスrefIdx、変換ブロック幅nTbWと高さnTbH、参照サンプル幅refW、参照サンプル高さrefH、参照フィルタフラグrefFilterFlag、x=-1-refIdx、y=-1-refIdx..refH-1、かつ、x=-refIdx..refW-1、y=-1-refIdxでの非フィルタリングサンプルrefUnfilt[x][y]を用いて呼び出される。そして、色成分インデックスcIdxをインプットとして、および、x=-1-refIdx、y=-1-refIdx..refH-1、かつ、x=-refIdx..refW-1、y=-1-refIdxでの参照サンプルp[x][y]をアウトプットとする。
【0047】
predModeIntraに従ったイントラサンプル予測プロセスは、以下のように適用される。
-predModeIntraがINTRA_PLANARと等しい場合、8.4.5.2.10条項で指定された対応するイントラ予測モードプロセスが、変換ブロック幅nTbW、変換ブロック高nTbH、および参照サンプルアレイpをインプットとして呼び出され、そして、予測サンプルアレイpredSamplesがアウトプットされる。
-そうでなければ、predModeIntraがINTRA_DCに等しい場合、8.4.5.2.11条項で指定された対応するイントラ予測モードプロセスが、変換ブロック幅nTbW、変換ブロック高nTbH、イントラ予測基準ラインインデックスrefIdx、および参照サンプルアレイpをインプットとして呼び出され、そして、予測サンプルアレイpredSamplesがアウトプットされる。
-そうでなければ、predModeIntraがINTRA_LT_CCLM、INTRA_L_CCLM、またはINTRA_T_CCLMと等しい場合、8.4.5.2.13条項で指定された対応するイントラ予測モードプロセスが、イントラ予測モードpredModeIntra、(xTbCmp,yTbCmp)に設定されたサンプル位置(xTbC,yTbC)、変換ブロック幅nTbW、高さnTbH、色成分指数cIdx、および参照サンプルアレイpをインプットとして呼び出され、そして、アウトプットは予測されたサンプルアレイpredSamplesである。
-そうでなければ、8.4.5.2.12条項で指定された対応するイントラ予測モードプロセスが呼び出される。イントラ予測モードpredModeIntra、イントラ予測基準線インデックスrefIdx、変換ブロック幅nTbW、変換ブロック高nTbH、参照サンプル幅refW、参照サンプル高refH、コード化ブロック幅nCbWと高さnCbH、参照フィルタフラグrefFilterFlag、色成分インデックスcIdxおよび参照サンプルアレイpをインプットとして、および、予測サンプルアレイpredSamplesをアウトプットとする。
【0048】
以下の条件の全てが真である場合、8.4.5.2.14条項で指定される位置依存予測サンプルフィルタリングプロセスが呼び出される。イントラ予測モードpredModeIntra、変換ブロック幅nTbW、変換ブロック高nTbH、x=0..nTbW-1,y=0..nTbH-1での、予測サンプルpredSamples[x][y]、参照サンプル幅refW、参照サンプル高refH、x=-1,y-1..refH-1、かつ、x=0..refW-1,y=-1での、参照サンプルp[x][y]を用い、色成分インデックスcIdxをインプットとし、そして、アウトプットは修正予測サンプルアレイpredSamplesである。
-nTbWが4以上であり、かつ、nTbHが4以上またはcIdxが0に等しくない
-refIdxが0に等しい、または、cIdxが0に等しくない
-BdpcmFlag[xTbCmp][xTbCmp]が0に等しい
-以下の条件のいずれかが真である:
-preModeIntraがINTRA_PLANARと等しい
-preModeIntraはINTRA_DCと等しい
-preModeIntraがINTRA_ANGULAR18以下である
-preModeIntraがINTRA_ANGULAR50以下である
【0049】
8.4.5.2.14 位置依存イントラ予測サンプルフィルタリング処理
このプロセスへのインプットは、以下の通りである。
-イントラ予測モードpredModeIntra、
-変換ブロック幅を指定する変数nTbW、
-変換ブロック高さを指定する変数nTbH、
-参照サンプル幅を指定する変数refW、
-参照サンプル高さを指定する変数refH、
-x=0..nTbW-1,y=0..nTbH-1での、予測サンプルpredSample[x][y]、
-x=-1,y=-1..refH-1,かつ、x=0..refW-1,y=-1での、隣接サンプルp[x][y]、
-現在ブロックの色成分を指定する変数cIdx。
【0050】
このプロセスのアウトプットは、x=0..nTbW-1,y=0..nTbH-1での、修正予測サンプルpresample[x][y]である。
【0051】
cldxの値に応じて、関数clip1Cmpは、次のように設定される。
-cIdxが0に等しい場合、clip1CmpはClip1Yに等しく設定される
-そうでなければ、clip1CmpはClip1Cに等しく設定される
【0052】
変数nScaleは、次のように導出される。
-predModeIntraがINTRA_ANGULAR50より大きい場合、nScaleは、8.4.5.2.12条項で指定されるinvAngleを使用して、
Min(2,Log2(nTbH)-Floor(Log2(3*invAngle-2))+8に等しく設定される。
-そうでなければ、predModeIntraがINTRA_ANGULAR18より小さい場合、nScaleは、8.4.5.2.12条項で指定されたinvAngleを使用して、
Min(2,Log2(nTbW)-Floor(Log2(3*invAngle-2))+8に等しく設定される。
-そうでなければ、nSacleは、((Log2(nTbW)+Log2(nTbH)-2)>>2)に設定される。
【0053】
参照サンプルアレイmainRef[x]およびsideRef[y]は、x=0..refW-1かつy=0..refH-1で、以下のように導出される。
mainRef[x]=p[x][-1]
sideRef[y]=p[-1][y] (8-244)
【0054】
変数refL[x][y]、refT[x][y]、wT[y]、wL[x]、およびwTL[x][y]は、x=0..nTbW-1,y=0..nTbH-1で、以下のように導出される。
-predModeIntraが、INTRA_PLANARまたはINTRA_DCと等しい場合、次の条件が適用される。
refL[x][y]=p[-1][y] (8-245)
refT[x][y]=p[x][-1] (8-246)
wT[y]=32>>((y<<1)>>nScale) (8-247)
wL[x]=32>>((x<<1)>>nScale) (8-248)
wTL[x][y]=0 (8-249)
-そうでなければ、predModeIntraが、INTRA_ANGULAR18またはINTRA_ANGULAR50に等しい場合、次のようになる。
refL[x][y]=p[-1][y] (8-250)
refT[x][y]=p[x][-1] (8-251)
wT[y]=(predModeIntra==INTRA_ANGULAR18)?
32>>>>(y<<1)>>nScale:0 (8-252)
wL[x]=(predModeIntra==INTRA_ANGULAR50)?
32>>>>(x<1)>>nScale:0 (8-253)
wTL[x][y]=(predModeIntra==INTRA_ANGULAR18)?wT[y]:wL[x] (8-254) -そうでなければ、predModeIntraがINTRA_ANGULAR18より小さく、かつ、nScaleが0以上である場合、以下の順序付けられたステップが適用される。
1.変数dXInt[y]およびdX[x][y]は、intraPredModeに応じて、8.4.5.2.12条項で指定されたinvAngleを使用して、次のように導出される。
dXInt[y]=((y+1)*invAngle+256)>>9
dX[x][y]=x+dXInt[y] (8-255)
2.変数refL[x][y]、refT[x][y]、wT[y]、wL[x]、およびwTL[x][y]は、次のように導出される。
refL[x][y]=0 (8-256)
refT[x][y]=(y<(3<<nScale))?mainRef[dX[x][y]]:0 (8-257)
wT[y]=32>>((y<<1)>>nScale) (8-258)
wL[x]=0 (8-259)
wTL[x][y]=0 (8-260)
-そうでなければ、predModeIntraがINTRA_ANGULAR50より大きく、かつ、nScaleが0以上の場合、以下の順序付けられたステップが適用される。
1.変数dYInt[x]およびdY[x][y]は、intraPredModeに応じて、8.4.5.2.12条項で指定されたinvAngleを使用して、次のように導出される。
dYInt[x]=(((x+1)*invAngle+256)>>9
dY[x][y]=y+dYInt[x] (8-261)
2.変数refL[x][y]、refT[x][y]、wT[y]、wL[x]、およびwTL[x][y]は、次のように導出される。
refL[x][y]=(y<(3<<nScale))?sideRef[dY[x][y]]:0 (8-262)
refL[x][y]=0 (8-263)
wT[y]=0 (8-264)
wL[x]=32>>((x<<1)>>nScale) (8-265)
wTL[x][y]=0 (8-266)
-そうでなければ、refL[x][y]、refT[x][y]、wT[y]、wL[x]、およびwTL[x][y]は、全て0に設定される。
【0055】
x=0..nTbW-1,y=0..nTbH-1での、修正予測サンプルpredSamples[x][y]の値は、次のように導出される。
predSamples[x][y]=clip1Cmp((refL[x][y]*wL[x]+refT[x][y]*wT[y]-
p[-1][-1]*wTL[x][y]+
(64-wL[x]-wT[y]+wTL[x][y])*predSamples[x][y]+32)>>6) (8-267)
【0056】
2.6 イントラ・サブブロック・パーティション(ISP)
JVET-M0102では、テーブル1に示すように、ブロックサイズに応じて、垂直方向または水平方向に、ルマ・イントラ予測ブロックを2個または4個のサブパーティションに分割するISPが提案されている。
図6および
図7は、2つの可能性に係る例を示している。全てのサブパーティションは、少なくとも16サンプルを有するとの条件を満たしている。
【表3】
テーブル1:ブロックサイズに応じたサブパーティション数
【0057】
図6は、4×8ブロックおよび8×4ブロックの分割に係る一つの例を示す。
【0058】
図7は、4×8、8×4、および4×4を除く、全てのブロックの分割に係る一つの例を示す。
【0059】
これらのサブパーティションの各々に対して、エンコーダによって送信された係数をエントロピーデコーディングすることによって残差信号が生成され、次いで、それらを逆量子化し、かつ、逆変換する。次に、サブパーティションがイントラ予測され、そして、残差信号を予測信号に加えることによって対応する再構成サンプルを最終的に得る。従って、各サブパーティションの再構成値は、次のサブパーティションの予測値を生成するために利用可能であり、これはプロセスを繰り返す、等。全てのサブパーティションは、同じイントラモードを共有する。
【0060】
イントラモードおよび使用される分割に基づいて、2個の異なるクラスの処理順序が使用され、それらは通常(normal)順序および逆(reversed)順序と呼ばれる。通常順序では、処理される最初のサブパーティションは、CUの左上サンプルを含み、そして、下向き(水平分割)または右向き(垂直分割)に続くものである。その結果として、サブパーティション予測信号を生成するために使用される参照サンプルは、ラインの左および上にのみ配置されている。一方、逆処理順序は、CUの左下サンプルを含むサブパーティションで始まり、上方に続くか、または、CUの右上のサンプルを含むサブパーティションで始まり、左方向に続く。
【0061】
2.7 量子化残差ドメインBDPCM
JVET-N0413では、量子化残差(residual)ドメインBDPCM(以下、RBDPCMと表す)が提案されている。イントラ予測は、ブロック全体について、イントラ予測と同様に、予測方向(水平または垂直予測)にサンプルコピーすることによって行われる。残差は量子化され、そして、量子化された残差と、その予測子(水平または垂直)量子化値との間のデルタはコード化される。サイズM(行)×N(列)のブロックについて、r
i,j、0≦i≦M-1、0≦j≦N-1、を、上または左ブロック境界サンプルからのフィルタリングされていないサンプルを使用して、イントラ予測を水平方向(左隣接ピクセル値を予測されたブロックライン毎にコピーすること)、または、垂直方向(上隣接ピクセル値を予測されたブロックライン毎にコピーすること)に行った後の予測残差とする。Q(r
i,j)、0≦i≦M-1、0≦j≦N-1、を、残差r
i,jの量子化バージョンを示しものとする。こここで、残差は、元のブロックと予測ブロック値との間の差である。次いで、ブロックDPCMが量子化残差サンプルに適用され、要素r~
i,jを有する修正M×NアレイR~を結果として生じる。垂直BDPCMの場合には、以下のようになる。
【数1】
【0062】
水平予測について、同様のルールが適用され、残差量子化サンプルが、以下によって得られる。
【数2】
【0063】
残差量子化サンプルr~i,jは、デコーダに送付される。
【0064】
デコーダ側では、上記の計算を逆にして、Q(r
i,j)、0≦i≦M-1、0≦j≦N-1、を生成する。垂直予測の場合は、以下のようになる。
【数3】
【0065】
【0066】
逆量子化残差Q-1(Q(ri,j))が、イントラブロック予測値に加えられ、再構成されたサンプル値を生成する。
【0067】
このスキームの主な利点は、係数の解析中に、係数が解析される際に単純に予測子を追加して、逆DPCMがその場で(on the fly)実行できること、または、解析の後で実行され得ることである。
【0068】
変換スキップは、いつでも、量子化残差ドメインBDPCMで使用される。
【0069】
2.8 クロスコンポーネント線形モデル予測(CCLM)
クロスコンポーネント冗長性を低減するために、VTM4ではクロスコンポーネント線形モデル(CCLM)予測モードが使用されている。そのために、線形モデルを使用して、同じCUの再構成ルマサンプルに基づいて、次のようにクロマサンプルが予測される。
predC(i,j)=α・recL'(i,j)+β
【0070】
ここで、pred
C(i,j)はCU内の予測クロマサンプルを表し、そして、rec
L'(i,j)は同じCUのダウンサンプリングされた再構成ルマサンプルを表す。線形モデルパラメータαとβは、2個のサンプルからのルマ値とクロマ値の関係から導出される。それらは、ダウンサンプリングされた隣接するルマサンプルのセット内で最小サンプル値と最大サンプル値を有するルマサンプル、および、対応するクロマサンプルである。線形モデルパラメータαとβは、以下の式に従って得られる。
【数5】
【数6】
【0071】
ここで、YaとXaは、ルマサンプルのルマ値とクロマ値を表し、ルマサンプルの最大値を示す。また、XbとYbは、それぞれ最小ルマサンプルのルマ値とクロマ値を表す。
図8は、左上サンプルの位置とCCLMモードに関与する現在ブロックのサンプルの例を示す。
【0072】
図8は、αおよびβの導出に使用されるサンプルの位置の例を示す。
パラメータを計算する除算演算は、ルックアップテーブルを用いて実行される。テーブルの保管に必要なメモリを減らすために、diff値(最大値と最小値の差)とパラメータαを指数表記で表されている。例えば、diffは4ビットの有効部分と指数で近似される。従って、1/diffのテーブルは、次のように16個の有意値の16個の要素へ削減される。
DivTable[]={0,7,6,5,5,4,4,3,2,2,1,1,1,1,0}
【0073】
これは、計算の複雑さと、必要なテーブルを保管するのに必要なメモリサイズの両方を低減する利点を有する。
【0074】
上テンプレートと左テンプレートを使って線形モデル係数を計算するほかに、LM_AモードとLM_Lモードと呼ばれる他の2個のLMモードにおいて、それらは代替的に使用できる。
【0075】
LM_Aモードでは、上テンプレートのみを使用して線形モデル係数を計算する。より多くのサンプルを得るために、上テンプレートを(W+H)に拡張する。LM_Lモードでは、左テンプレートのみを使用して線形モデル係数を計算する。より多くのサンプルを得るために、左テンプレートが(H+W)に拡張される。
【0076】
非正方形ブロックの場合、上テンプレートはW+Wに拡張され、そして、左テンプレートはH+Hに拡張される。
【0077】
4:2:0ビデオシーケンスのクロマサンプル位置をマッチさせるために、2種類のダウンサンプリングフィルタがルマサンプルに適用され、水平方向と垂直方向の両方で2:1ダウンサンプリング比を達成する。ダウンサンプリングフィルタの選択は、SPSレベルフラグによって指定される。2つのダウンスプリングフィルタは、以下の通りであり、それぞれ「タイプ0“type-0”」と「タイプ2“type-2”」のコンテンツに対応する。
【数7】
【数8】
【0078】
上基準線がCTU境界にある場合、ダウンサンプリングされたルマサンプルを作成するためには、1個のルマライン(イントラ予測の一般的なラインバッファ)のみが使用されることに注意する。
【0079】
現在のVVC設計に従って、ルマサンプルに基づいてCCLMモードで生成された予測ブロックにPDPCがさらに適用される。
【0080】
このパラメータ計算は、デコーディング処理の一部として実行され、単にエンコーダ探索操作として実行されるだけではない。その結果として、αとβの値をデコーダに伝達するためにシンタックスは使用されない。
【0081】
クロマ・イントラモードコーディングでは、クロマ・イントラモードコーディングについて合計8個のイントラモードが許可されている。これらのモードは、5個の従来のイントラモードおよび3個のクロスコンポーネント線形モデルモード(CCLM,LM_A,LM_L)を含む。クロマモードコーディングは、対応するルマブロックのイントラ予測モードに直接的に依存する。Iスライスではルマ成分とクロマ成分のブロック分割構造が別々に有効になっているため、1個のクロマブロックが複数のルマブロックに対応する場合がある。従って、クロマDMモードでは、現在クロマブロックの中心位置をカバーしている対応するルマブロックのイントラ予測モードが直接的に継承される。
【0082】
2.9 クロマ・イントラ予測モード
クロマ・イントラモードコーディング化については、クロスコンポーネント線形モデル(CCLM)がイネーブルされているか否かに応じて、クロマ・イントラモードコーディングに対して合計8個または5個のイントラモードが許可される。これらのモードには、5個の従来のイントラモードおよび3個のクロスコンポーネント線形モデルモード(IntraPredModeCが、それぞれ81、82、83に設定される)が含まれる。
【0083】
2.9.1 DMモード
クロマ・ダイレクトモードまたは導出モード(Direct Mode or Derived Mode、DM)では、クロマイントラ予測モードを導出するために、共配置(co-located)ルマブロックの予測モードを使用する。
【0084】
最初に、イントラ予測モードlumaIntraPredModeが導出される。
・共配置されたルマブロックがMIPモードでコード化されている場合、lumaIntraPredModeはプラナーモードに等しく設定される。
・そうでなければ、共配置されたルマブロックがIBCモードまたはパレットモードでコード化されている場合、lumaIntraPredModeはDCモードに等しく設定される。
・そうでなければ、lumaIntraPredModeは、クロマブロックの中心の対応するルマサンプルをカバーする共配置ルマブロックのイントラ予測モードに等しく設定される。一つの例が
図9に示されている。
【0085】
次に、イントラクロマ予測モード(IntraPredModeCとして表記される)は、以下のテーブルで太字とイタリック体で強調されているように、lumaIntraPredModeに従って導出される。4に等しいintra_croma_pred_modeは、DMモードを参照することに注意する。
【0086】
VVCでは、デュアルツリーのせいで、1個のクロマブロックが複数のCUをカバーするルマ領域に対応し得ることに注意する。例えば、
図9において、クロマブロックのグレー領域は、5個のCUをカバーするルマ領域に対応している。DMモードを導出するとき、5個のCUのうち1つのみがチェックされ、これは、
図9において示されるように「CR」である。
【0087】
図9は、対応するルマ領域からのDM導出のための「CR」位置の一つの例を示す。
【表4】
テーブル8-2 cclm_mode_flag、cclm_mode_idx、intra_croma_pred_mode、およびlumaIntraPredModeに従ったIntraPredModeC[xCb][yCb]の仕様
【0088】
最後に、ピクチャのカラーフォーマットが4:2:2の場合、IntraPredModeCは、DMモードについて、以下のテーブルに従ってさらに変更される。
【表5】
chroma_format_idcが2に等しい場合の、クロマイントラ予測モードXからモードYへの4:2:2マッピングプロセスの仕様
【0089】
3.実施形態によって解決された技術的問題の例
PDPCには次のような問題がある。
1.プラナーモードまたはDCモードでは、隣接サンプルの重み付け係数(例えば、wL、wT、およびwLT)は、プレーナおよびDCモードでは定義されていない予測角度に依存している。
2.CCLMモードでPDPCがイネーブルされているが、隣接サンプル、隣接サンプルに適用される重み、および、線形モデルを用いてルマブロックから生成されるクロマ予測信号の選択方法が未定義である。
3.PDPCは、「predModeIntraがINTRA_ANGULAR50以下である」場合にイネーブルされる。右上広角モードについて、PDPCはイネーブルされる。従って、PDPCは、所定の広角モードについてディセーブルされ、これは、妥当でないことがある。
【0090】
4.技術および実施形態のリスト
以下のリストは、一般的な概念を説明するための例として考慮されるべきである。これらのアイテムは狭義に解釈されるべきではない。さらに、これらのアイテムは、任意の方法で組み合わせることができる。
【0091】
ブロック(CU/PU/TU/CB/PB/TBなど)の幅と高さをそれぞれWとHとし、predSamples(x,y)は位置(x,y)での予測サンプル値を表すものとする。x=0...W-1,y=0...H-1である。(x,y)はブロックの左上サンプルに対するサンプルの座標であり、xとyは、それぞれサンプルの水平と垂直の位置である。R(x,y)は、隣接サンプル(例えば、再構成隣接サンプル、または、所定のフィルタリングプロセスによって修正された再構成隣接サンプル)を表し、x=-1,y=-1...refH-1、および、x=0...refW-1,y=-1であり、ここで、refHおよびrefWは、参照隣接サンプルの高さおよび幅である。maxTbSizeを最大変換ブロックサイズ、例えば、32または64とし、そして、wL[x]、wT[y]をそれぞれ左隣接サンプルおよび上隣接サンプルの重み係数とする。関数Log2(N)をNの基数2の対数とする。
1.プラナーモード及び/又はDCモードでは、PDPC中の隣接サンプルの重み付け係数は、ブロックのディメンション(例えば、Wで示される幅およびHで示される高さ)、及び/又は、フィルタリングされるサンプルの位置にのみ依存することが提案されている。
PDPCを適 a.一つの例において、位置(x,y)のサンプルについて、上隣接サンプル(例えば、R
(x,-1))の重み付け係数は、wT[y]=N1>((y<N2)>>nScale)として定義され得る。ここで、nScale=((Log2(W)+Log2(H)-N3)>>N4であり、N1、N2、N3、およびN4は非負整数である。
b.一つの例において、位置(x,y)のサンプルについて、左隣接サンプルの重み付け係数(例えば、R
(-1,y))は、wL[x]=N1>((x<N2)>>nScale)として定義され得る。ここで、nScale=((Log2(W)+Log2(H)-N3)>>N4である。
c.一つの例において、位置(x,y)のサンプルについて、左上隣接サンプル(例えば、R
(-1,-1))の重み付け係数は、ゼロに等しく設定され得る。
d.N1,N2,N3,N4は非負の整数である。例えば、N1=32、N2=1、N3=2、N4=2である。
2.PDPCを適用するか否か、および、どのように適用するかは、現在ブロックがCCLMモード(LM、LM-T、LM-Lなど)でコード化されているか否かに依存し得る。
a.CCLMモードではPDPCが適用されない場合がある。
b.代替的に、PDPCはCCLMモードと共に適用され得る。ここで、ルマブロックおよびクロマ隣接サンプルから生成された予測信号は、最終予測クロマブロックを導出するために利用される。隣接するクロマサンプル及び/又は重み付け係数の選択は、以下のように定義され得る。
i.一つの例において、隣接クロマサンプルを選択する方法、及び/又は、隣接クロマサンプルの重み付け係数を決定する方法は、所定のモード(例えば、プラナーモード)の場合と同じであってよい。
ii.代替的に、対応するルマブロックが、角度予測モード(例えば、広角予測モード、垂直モード、または水平モードをさらに含む)、またはプラナーモード、またはDCモードのようなイントラ予測モードでコード化される場合、そのようなイントラ予測モードは、隣接クロマサンプルを選択し、そして、隣接クロマサンプルの重み付け係数を決定するために使用され得る。
1.一つの例において、対応するルマブロックは、対応するルマ領域(例えば、
図9の灰色領域)がカバーするコード化ユニット/予測ユニット/変換ユニットのうち1つである。
a.一つの例において、対応するルマブロックは、コーディングユニット/予測ユニット/変換ユニットが、中央クロマサンプルの対応する(
図9のCRのような)ルマサンプルをカバーする。
iii.代替的に、対応するルマブロックが、角度予測モード(例えば、広角予測モード、垂直モード、または水平モードをさらに含む)、またはプラナーモード、またはDCモードのようなイントラ予測モードでコード化される場合、そのようなイントラ予測モードは、隣接クロマサンプルを選択し、隣接するクロマサンプルの重み付け係数を決定するために使用され得る。
c.代替的に、PDPCをルマブロックから生成された予測信号を有するCCLMコーディングブロックに適用し、再構成クロマ隣接サンプルを使用する代わりにクロマ隣接サンプルを導出してもよい。
i.一つの例において、隣接クロマサンプルは、CCLMプロセスで導出された線形モデルを使用して、対応するルマブロックの隣接ルマサンプルから導出されてよい。
d.代替的に、対応するルマブロック内の対応する再構成ルマサンプルを、クロマサンプルを予測するために使用する前に、PDPCによってフィルタリングしてよい。
i.一つの例において、再構成されたルマサンプルをフィルタリングするとき、隣接サンプルを選択する方法及び/又は隣接ルマサンプルの重み付け係数を決定する方法は、予め定義されたモード(例えば、プラナーモード)の場合と同じであり得る。
ii.代替的に、隣接ルマサンプルを選択する方法及び/又は隣接ルマサンプルの重み付け係数を決定する方法は、ルマブロックのイントラ予測モードに依存し得る。
1.一つの例において、ルマブロックが角度予測モード(広角予測モード、垂直モード、または水平モードを含む)、またはプラナーモード、またはDCモードのようなイントラ予測モードでコード化される場合、そのようなイントラ予測モードは、隣接ルマサンプルを選択し、隣接ルマサンプルの重み付け係数を決定するために使用され得る。
3.PDPCを適用するか否かは、現在ブロックが広角イントラ予測モードでコード化されているか否かに依存し得る。
a.PDPCは広角イントラ予測モードのブロックに適用することができる。
i.一つの例において、PDPCは、いくつかの特定の(全てではない)広角イントラ予測モードを有するブロックに適用され得る。
b.広角イントラ予測モードのブロックには、PDPCを適用しないことがある。 4.ブロックにPDPCを適用できるか否かは、上隣接サンプルと式(2-1)の左隣接サンプル(例えば、R
(-1,y)およびR
(x,-1))の両方が、イントラ予測方向に「関与(“involved”)」しているか否かに依存し得る。例えば、イントラ予測プロセスにおいて、サンプルが隣接左/上サンプルから予測されると仮定する(分数位置に配置されてよい)。上/左隣接する行/列を横切る半線があれば、出発点を左/上隣接サンプルとし、上隣接サンプルと左隣接サンプルの両方とも、サンプルのイントラ予測方向に沿って「関与」すると言う。R
(-1,-1)は、常に左隣接サンプルまたは上隣接サンプルとみなされるが、両方ではないことに注意する。
a.一つの例において、イントラ予測方向は、角度イントラ予測モードとして定義され得る。
i.一つの例において、イントラ予測方向は、垂直または水平予測方向を除外し得る。
ii.一つの例において、イントラ予測方向は、DC及び/又はプラナーモードをし得る。
iii.一つの例において、イントラ予測方向は、広角イントラ予測モードを除外し得る。
b.一つの例において、上隣接サンプルおよび左隣接サンプルの両方が、ブロックの少なくともN個のサンプル(例えば、N=1)を予測するためのイントラ予測方向に「関与」する場合、PDPCが適用され得る。一つの例を
図10(a)および(b)に示す。ここで、PDPCはイネーブルされている。
i.代替的に、さらに、2個の隣接サンプルがブロックの任意のサンプルを予測するためのイントラ予測プロセスに「関与」しない場合、PDPCは適用されない場合があり。例を
図10(c)および
図10(d)に示す。
【0092】
図10は、予測方向に沿って関与する隣接サンプルの例を示す。
5.PDPCをイネーブルまたはディセーブルするか否かは、色成分に依存し得る。 a.一つの例において、PDPCは、ルマ色成分(例えば、YCbCrカラーフォーマットではY、RGBカラーフォーマットではG)についてイネーブルされてよいが、少なくとも1つのクロマ色成分(例えば、YCbCrカラーフォーマットではCb及び/又はCr、RBBカラーフォーマットではB及び/又はR)についてディセーブルされてよい。
6.PDPCの複数の方法は、1つの最終的な予測サンプルを導出するためにフィルタリングプロセスが何個のサンプルを必要とするかに基づいて、許可され得る。
a.一つの例において、1つの最終的な予測サンプルは、1つまたは複数の左隣接サンプル(フィルタリング済またはフィルタリングされていない)、および、例えば、通常のイントラ予測プロセスから得られる、イントラ予測値(例えば、等式2-1のpred(x,y))に従って導出され得る。
b.一つの例において、1つの最終的な予測サンプルは、1つまたは複数の上隣接サンプル(フィルタリング済またはフィルタリングされていない)、および、例えば、通常のイントラ予測プロセスから得られる、イントラ予測値(例えば、等式2-1のプレド(x,y))に従って導出され得る。
c.PDPCのどの方法がブロックに適用されるかは、コード化された情報に依存し得る。
i.ブロックディメンション
ii.ブロック形状
iii.ブロック幅と高さの比
iv.ビデオユニットにおいて信号化されたインデックスまたはフラグ
7.PDPCをブロックに適用できるか否かは、ブロックディメンション及び/又はブロック形状(正方形または非正方形)に依存し得る。
a.一つの例において、非正方形ブロックについて、PDPCはディセーブルされ得る。
b.一つの例において、PDPCをイネーブルまたはディセーブルするかは、ブロック幅とブロック高さの比に依存し得る。
c.ブロックサイズが小さい場合は、PDPCを禁止され得る。
i.一つの例において、ブロックの幅が閾値T以下(例えば、T=2,4)の場合、PDPCは許可されない。
ii.一つの例において、ブロックの高さが閾値T以下(例えば、T=2,4)の場合、PDPCは許可されない。
iii.一つの例において、ブロック内のルマサンプルの数が閾値T(例えば、16、32、64)以下の場合、PDPCは許可されない。
d.ブロックサイズが大きい場合は、PDPCを禁止され得る。
i.一つの例において、ブロックの幅が閾値T(例えば、T=32)以上である場合、PDPCは許可されない。
ii.一つの例において、ブロックの高さが閾値T(例えば、T=32)以上である場合、PDPCは許可されない。
iv.一つの例において、ブロック内のルマサンプルの数が閾値T(例えば、1024)以上である場合、PDPCは許可されない。
e.PDPCをイネーブルまたはディセーブルするかは、異なる色成分に対して独立して決定され得る。
【0093】
5.実施形態
新たに追加された部分は太字とイタリック体で強調表示され、削除された部分は二重括弧でマーク付けされている(例えば、[[a]]は文字「a]の削除を示す)。
【0094】
5.1 一つの実施例
これは、項目(bullet)1の実施例である。
【表6】
【0095】
5.2 一つの実施例
これは、項目2と項目3の実施例である。
【表7】
【0096】
図11Aは、ビデオ処理装置1100のブロック図である。装置1100は、ここにおいて記載される1つ以上の方法を実装するために使用され得る。装置1100は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機、などで具体化することができる。装置1100は、1つ以上のプロセッサ1102、1つ以上のメモリ1104、およびビデオ処理ハードウェア1106を含み得る。プロセッサ1102は、本文書に記載される1つ以上の方法を実装するように構成され得る。メモリ(複数のメモリ)1104は、ここにおいて記載される方法および技術を実施するために使用されるデータおよびコードを保管するために使用され得る。ビデオ処理ハードウェア1106は、ハードウェア回路において、本文書に記載されるいくつかの技術を実装するために使用され得る。いくつかの実施形態では、ハードウェア1106は、少なくとも部分的にプロセッサ1102、例えばグラフィックスコプロセッサ内にあってもよい。
【0097】
図11Bは、開示される技術を実装することができるビデオ処理システムのブロック図の別の例である。
図11Bは、ここにおいて開示される様々な技術が実装され得る例示的なビデオ処理システム1200を示すブロック図である。種々の実装は、システム2400のコンポーネントの一部または全部を含み得る。システム2400は、ビデオコンテンツを受信するための入力2402を含み得る。ビデオコンテンツは、生(raw)または非圧縮フォーマット、例えば、8または10ビットのマルチコンポーネント値で受信されてよく、または、圧縮または符号化フォーマットで受信されてもよい。入力2402は、ネットワークインターフェイス、ペリフェラルバスインターフェイス、または、ストレージインターフェイスを表すことができる。ネットワークインターフェイスの例は、イーサネット、受動光ネットワーク(passive optical network、PON)、等といった有線インターフェイス、および、Wi-Fi(登録商標)またはセルラーインターフェイスといった無線インターフェイスを含む。
【0098】
システム2400は、本文書に記載される種々のコーディングまたは符号化方法を実装することができるコーディングコンポーネント2404を含み得る。コーディングコンポーネント2404は、入力2402からコーディングコンポーネント2404の出力までのビデオの平均ビットレートを低減して、ビデオのコード化表現を生成することができる。従って、コーディング技術は、ときどき、ビデオ圧縮またはビデオトランスコーディング技術と呼ばれる。コーディングコンポーネント2404の出力は、コンポーネント2406によって表されるように、保管され、または、接続された通信を介して送信され得る。入力2402で受信されたビデオの保管され、または、通信されたビットストリーム(または、コード化)表現は、ディスプレイインターフェイス2410に送られるピクセル値、または、表示可能なビデオを生成するために、コンポーネント2408によって使用されてよい。ビットストリーム表現からユーザが見ることができるビデオを生成するプロセスは、ときどき、ビデオ解凍(decompression)と呼ばれる。さらに、所定のビデオ処理操作は、「コーディング(“coding”)」操作またはツールと称されるが、コーディングツールまたは操作は、エンコーダで使用され、そして、コーディングの結果を反転する、対応しているデコーディングツールまたは操作は、デコーダで実行されることが理解されるだろう。
【0099】
ペリフェラルバスインターフェイスまたはディスプレイインターフェイスの例は、ユニバーサルシリアルバス(USB)、または高精細度マルチメディアインターフェイス(HDMI(登録商標))、またはディスプレイポート、などを含み得る。ストレージインターフェイスの例は、SATA(serial advanced technology attachment)、PCI、IDEインターフェイス、などを含む。本文書において記載される技術は、携帯電話、ラップトップ、スマートフォン、または、デジタルデータ処理及び/又はビデオ表示を実行することができる他の装置、といった種々の電子装置において具体化され得る。
【0100】
いくつかの実施形態では、本特許文書で説明したビデオ処理方法は、
図11Aまたは11Bに関して説明したように、ハードウェアプラットフォーム上に実装された装置を使用して実装することができる。
【0101】
開示される技術のいくつかの実施形態は、ビデオ処理ツールまたはモードをイネーブルにする決定または判定を行うことを含む。一つの例において、ビデオ処理ツールまたはモードがイネーブルされている場合、エンコーダは、ビデオのブロックの処理においてツールまたはモードを使用または実装するが、必ずしもツールまたはモードの使用に基づいて結果として生じるビットストリームを修正しなくてよい。すなわち、ビデオのブロックからビデオのビットストリーム表現への変換は、決定または判定に基づいてイネーブルされたとき、ビデオ処理ツールまたはモードを使用する。別の例において、ビデオ処理ツールまたはモードがイネーブルされている場合、デコーダは、ビットストリームがビデオ処理ツールまたはモードに基づいて修正されたことを知って、ビットストリームを処理する。すなわち、ビデオのビットストリーム表現からビデオのブロックへの変換は、決定または判定に基づいてイネーブルされたビデオ処理ツールまたはモードを使用して実行される。
【0102】
開示される技術のいくつかの実施形態は、ビデオ処理ツールまたはモードをディセーブルにする決定または決定を行うことを含む。一つの例において、ビデオ処理ツールまたはモードがディセーブルされている場合、エンコーダは、ビデオのブロックをビデオのビットストリーム表現に変換する際に、ツールまたはモードを使用しない。別の例において、ビデオ処理ツールまたはモードがディセーブルされた場合、デコーダは、ビットストリームが、決定または判定に基づいてディセーブルされたビデオ処理ツールまたはモードを使用して修正されていないことを知って、ビットストリームを処理する。
【0103】
本文書において、「ビデオ処理(“video processing”)」という用語は、ビデオエンコーディング、ビデオデコーディング、ビデオ圧縮、またはビデオ解凍を指すことができる。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から対応するビットストリーム表現への変換の最中に適用されてよく、また、その逆も同様である。現在ビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるように、ビットストリーム内の異なる場所に共配置されるか、または、拡散されるビットに対応し得る。例えば、マクロブロックは、変換され、コード化されたエラー残差値の観点から、そして、また、ビットストリーム内のヘッダおよび他のフィールド内のビットも使用して、エンコーディングされ得る。
【0104】
様々な技術および実施形態は、以下の条項ベース(clause-based)のフォーマットを使用して説明され得る。条項の第1セットは、前のセクションで開示された技術に係る所定の特徴および態様を説明する。
【0105】
以下のセクションは、前のセクション(例えば、条項1)において列挙された項目に記載されている追加の実装方法と共に実施することができる。
【0106】
1.ビデオ処理の方法(例えば、
図12に示す方法1200)であって、ビデオの現在ビデオブロックと現在ビデオブロックのコード化表現との間の変換のために、自己コード化モードを使用する変換について隣接サンプルに適用される重み付け係数を決定するステップであり、前記重み付け係数は、前記現在ビデオブロックのサイズまたは前記重み付け係数が適用されるサンプル位置によって完全に定義されるステップ(1202)、および、前記決定に基づいて前記変換を実行するステップ(1204)を含む、方法。ここで、前記自己コード化モードは、DCコード化モードのプラナーコード化モードを含む。
【0107】
2.前記サンプル位置は(x,y)であり、かつ、前記隣接サンプルの重み付け係数は、wT[y]=N1>>((y<<N2)>>nScale)であり、ここで、nScale=((Log2(W)+Log2(H)-N3)>>N4であり、かつ、N1、N2、N3、およびN4は非負整数である、条項1に記載の方法。
【0108】
3.前記サンプル位置は(x,y)であり、かつ、前記隣接サンプルの重み付け係数は、wL[x]=N1>>((x<<N2)>>nScale)であり、ここで、nScale=((Log2(W)+Log2(H)-N3)>>N4であり、かつ、N1、N2、N3、およびN4は非負整数である、条項1に記載の方法。
【0109】
4.サンプル位置は(x,y)であり、かつ、左上位置における隣接サンプルの重み付け係数がゼロである、条項1に記載の方法。
【0110】
5.N1=32、N2=1、N3=2、またはN4=2のいずれかである、条項1-4のいずれかに記載の方法。
【0111】
以下のソリューションは、前のセクションに列挙されている項目(例えば、項目2、3、4、および7)に記載されている追加の技術と共に実装され得る。
【0112】
6.ビデオ処理の方法であって、ビデオの現在ビデオブロックと現在ビデオブロックのコード化表現との間の変換の最中に、前記変換現在ビデオブロックに使用されるコード化モードを使用するルールに基づいて、自己コード化モードが現在ビデオブロックに適用されているか否かを決定するステップ、および、前記決定に基づいて前記変換を実行するステップを含む、方法。
【0113】
7.前記コード化モードは、クロスコンポーネント線形モデル(CCLM)を含む、条項6に記載の方法。
【0114】
8.前記ルールは、CCLMが使用される場合、自己コード化モードをディセーブルにすることを規定する、条項7に記載の方法。
【0115】
9.前記ルールは、CCLMが使用される場合、自己コード化モードをイネーブルにすることを規定する、条項7に記載の方法。
【0116】
10.第2ルールは、自己コード化ベースの変換の最中に使用される参照サンプルの位置をさらに規定する、条項9に記載の方法。
【0117】
11.第2ルールは、プラナーコード化モードで使用される参照サンプルの位置と同じ位置を使用することを規定する、条項10に記載の方法。
【0118】
12.第2ルールは、自己コード化が、現在ビデオブロックの変換中に、予測されたルマサンプルまたは導出されたクロマ隣接サンプルを使用することを規定する、条項10に記載の方法。
【0119】
13.前記コード化モードは、広角イントラ予測モードを含む、条項6に記載の方法。
【0120】
14.前記ルールは、広角イントラ予測モードが使用される場合、自己コード化モードをディセーブルにすることを指定する、条項6に記載の方法。
【0121】
15.前記ルールは、使用されている広角イントラ予測モードについて、自己コード化をイネーブルにすることを指定する、条項6に記載の方法。
【0122】
16.前記コード化モードは、前記現在ビデオブロックのイントラ予測の最中に、上サンプルまたは左サンプルが関与するか否かによって定義される、条項6に記載の方法。
【0123】
17.前記イントラ予測は、角度イントラ予測モードを含む、条項16に記載の方法。
【0124】
18.前記コード化モードは、前記現在ビデオブロックの高さまたは幅、または、前記現在ビデオブロックの形状に対応する、条項6に記載の方法。
【0125】
19.前記ルールは、非正方形状を有する現在ビデオブロックについて、自己コード化モードがディセーブルにされることを規定する、条項18に記載の方法。
【0126】
以下の条項は、前のセクションに列挙されている項目(例えば、項目5)に記載されている追加の技術と共に実施することができる。
【0127】
20.ビデオ処理の方法であって、ビデオの現在ビデオブロックと、現在ビデオブロックのコード化表現との間の変換の最中に、現在ビデオブロックの構成要素を使用するルールに基づいて、自己コード化モードが現在ビデオブロックに適用されているか否かを決定するステップ、および、前記決定に基づいて前記変換を実行するステップを含む、方法。
【0128】
21.前記ルールは、現在ビデオブロックがルマブロックであるため、自己コード化モードをイネーブルにすることを規定する、条項20に記載の方法。
【0129】
22.前記ルールは、現在ビデオブロックがクロマブロックであるために、自己コード化モードをディセーブルにすることを規定する、条項20に記載の方法。
【0130】
以下のソリューションは、前のセクションに列挙されている項目(例えば、項目6)に記載されている追加の技術と共に実施することができる。
【0131】
23.ビデオ処理の方法であって、ビデオの現在ビデオブロックと、現在ビデオブロックのコード化表現との間の変換の最中に、ルールに基づいて、現在ビデオブロックに複数の自己コード化モードを適用するように決定するステップ、および、前記複数の自己コード化モードを適用した結果を使用して前記変換を実行するステップを含む、方法。
【0132】
24.前記複数の自己コード化モードは、フィルタリングされ、または、フィルタリングされていない左隣接サンプルに基づくコード化モードを含む、条項23に記載の方法。
【0133】
25.前記複数の自己コード化モードは、フィルタリングされ、または、フィルタリングされていない上隣接サンプルに基づくコード化モードを含む、条項23に記載の方法。
【0134】
26.前記ルールは、現在ビデオブロックのディメンション、または現在ビデオブロックの形状、または現在ビデオブロックの高さと幅の比率、またはコード化された表現で信号化されたフラグを含むコード化された情報に基づいている、条項23-25のいずれかに記載の方法。
【0135】
27.前記自己コード化モードは、位置依存イントラ予測結合(PDPC)モードを含む、上記いずれかの条項に記載の方法。
【0136】
28.前記変換するステップは、前記ビデオを前記コード化表現へとエンコーディングすることを含む、条項1-27のいずれかに記載の方法。
【0137】
29.前記変換するステップは、前記ビデオのピクセル値を生成するために、前記コード化表現をデコーディングすることを含む、条項1-27のいずれかに記載の方法。
【0138】
30.条項1-27のうち1つ以上に記載の方法を実装するように構成されたプロセッサを含む、ビデオデコーディング装置。
【0139】
31.条項1-27のうち1つ以上に記載の方法を実装するように構成されたプロセッサを含む、ビデオコーディング装置。
【0140】
32.コンピュータコードが保管されたコンピュータプログラム製品であって、本コードは、プロセッサによって実行されると、条項1-27のいずれかに記載の方法をプロセッサに実行させる。
【0141】
33.本文書に記載された方法、装置、またはシステム。
【0142】
条項の第2セットは、前のセクションで開示された技術に係る所定の特徴および態様、例えば、実施例1を説明する。
【0143】
1.ビデオ処理の方法(例えば、
図13に示す方法1300)であって、ルールに従って、ビデオの現在ビデオブロックのサンプルに係る隣接サンプルの重み付け係数を導出するステップ(1302)、および、現在ビデオブロックと前記ビデオのコード化表現との間で変換を実行するステップ(1304)を含み、前記ルールは、前記現在ビデオブロックがプラナーモードまたはDCモードを使用してコード化されている場合に、前記重み付け係数は、前記現在ビデオブロックのディメンションまたは前記サンプルの位置のうち少なくとも1つから決定されることを規定しており、前記現在ビデオブロックは、位置依存イントラ予測(PDPC)法を使用し、前記隣接サンプルを前記現在ビデオブロックの予測信号と組み合わせて、前記現在ビデオブロックの精緻化された予測信号を生成し、かつ、前記サンプルの予測信号の重み付け係数は、前記サンプルの対応する隣接サンプルの重み付け係数に基づいて決定される、方法。
【0144】
2.前記ルールは、サンプル位置(x,y)について、上隣接サンプルの重み付け係数が、wT[y]=N1>>((y<<N2)>>nScale)であることを規定しており、ここで、nScale=((Log2(W)+Log2(H)-N3)>>N4であり、かつ、N1、N2、N3、およびN4は非負整数である、条項1に記載の方法。
【0145】
3.前記上隣接サンプルは、位置(x,-1)を含む、条項2に記載の方法。
【0146】
4. 前記ルールは、サンプル位置(x,y)について、左隣接サンプルの重み付け係数が、wL[x]=N1>>((x<<N2)>>nScale)であることを規定しており、ここで、nScale=((Log2(W)+Log2(H)-N3)>>N4であり、かつ、N1、N2、N3、およびN4は非負整数である、条項1に記載の方法。
【0147】
5.前記左隣接サンプルは、位置(-1,y)を含む、条項4に記載の方法。
【0148】
6.前記ルールは、サンプル位置(x,y)について、左上隣接サンプルの重み付け係数がゼロであることを規定している、条項1に記載の方法。
【0149】
7.前記左上隣接サンプルの位置は、(-1,-1)である、条項6に記載の方法。
【0150】
8.N1=32、N2=1、N3=2、または、N4=2である、条項2-5のいずれかに記載の方法。
【0151】
9.前記変換を実行するステップは、前記現在ビデオブロックから前記コード化表現を生成することを含む、条項1-8のいずれかに記載の方法。
【0152】
10.前記変換を実行するステップは、前記コード化表現から前記現在ビデオブロックを生成することを含む、条項1-8のいずれかに記載の方法。
【0153】
11.条項1-10のいずれかに記載の方法を実装するように構成されたプロセッサを備える、ビデオ処理装置。
【0154】
12.コンピュータコードが保管されたコンピュータプログラム製品であって、本コードは、プロセッサによって実行されると、条項1-10のいずれかに記載の方法をプロセッサに実行させる。
【0155】
開示されたもの、および、他のソリューション、実施例、実施形態、モジュール、そして、この文書で説明される機能動作は、ここにおいて開示されている構造およびそれらの構造的等価物を含む、種々のシステム、デジタル電子回路、または、コンピュータソフトウェア、ファームウェア、もしくは、ハードウェアにおいて、または、それらの1つ以上の組み合わせにおいて実施することができる。ここにおいて説明される技術的事項の実装は、1つ以上のコンピュータプログラム製品、例えば、データ処理装置による、または、データ処理装置の動作を制御するための、有形および非一時的なコンピュータで読取り可能な媒体上にコーディングされたコンピュータプログラム命令の1つ以上のモジュールとして実装することができる。コンピュータで読取り可能な媒体は、マシン読取り可能記憶装置、マシン読取り可能記憶基板、メモリ装置、マシン読取り可能伝搬信号に影響を与える事項の組成、または、それらの1つ以上の組み合わせであり得る。用語「データ処理装置(“data processing apparatus”)」は、例えば、プログラマブルプロセッサ、コンピュータ、もしくは、複数のプロセッサまたはコンピュータを含む、データを処理するための全ての装置、デバイス、およびマシンを包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または、それらの1つ以上の組み合わせを構成するコードを含むことができる。伝搬される信号は、人工的に生成された信号、例えば、適切な受信器装置に送信するための情報をエンコーディングするために生成されるマシン生成電気信号、光学信号、または電磁信号である。
【0156】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、または、コードとしても知られるもの)は、コンパイルまたは解釈された言語を含む、任意の形態のプログラミング言語で書くことができ、それは、スタンドアロンプログラムとして、または、コンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、または他のユニットとしてのものを含む、任意の形態で展開することができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するものではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部分(例えば、マークアップ言語文書に保管される1つ以上のスクリプト)、問題のプログラム専用の単一ファイル、または、複数の協調ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部分を保管するファイル)に保管することができる。コンピュータプログラムは、1つのコンピュータまたは1つのサイトに配置されるか、または、複数のサイトに分散され、通信ネットワークによって相互接続される、複数のコンピュータ上で実行されるように展開することができる。
【0157】
この文書において説明されるプロセスおよび論理フローは、入力データ上で動作し、出力を生成することによって機能を実行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローは、また、FPG(フィールドプログラマブルゲートアレイ)またはASI(特定用途向け集積回路)のような特殊目的論理回路によって実行することができ、そして、装置も、また、実行することができる。
【0158】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、および、任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、読み出し専用メモリ、またはランダムアクセスメモリ、もしくは、その両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを保管するための1つ以上のメモリデバイスである。一般的に、コンピュータは、また、データを保管するための1つ以上の大容量ストレージ装置、例えば、磁気ディスク、磁気光ディスク、または光ディスクに、データを受信したり、データを転送したりするように動作可能に結合される。しかしながら、コンピュータは、そのような装置を有する必要はない。コンピュータプログラム命令およびデータを保管するのに適したコンピュータで読取り可能な媒体は、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスのような半導体メモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、並びに、CD ROMおよびDVD-ROMディスク、を含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路によって補足されるか、または、内蔵され得る。
【0159】
この特許文書には多くの詳細が含まれているが、これらは、任意の発明の範囲または特許請求され得るものを限定するものではなく、特定の発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。別々の実施形態のコンテキストにおいて、この特許文書に記載されている特定の特徴は、単一の実施形態において組み合わせて実施することもできる。逆に、単一の実施形態のコンテキストにおいて説明される種々の特徴は、複数の実施形態において、別々に、または、任意の適切なサブコンビネーションで実施することもできる。さらに、特徴は、特定の組み合わせにおいて作用するものとして上述され、最初にそのようにク請求され得るが、請求された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから切り出され、そして、請求された組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられ得る。
【0160】
同様に、図面には特定の順序で動作が示されているが、これは、所望の結果を達成するために、そうした動作を特定の順序または連続的な順序で実行すること、または、例示された全ての動作を実行することを要求するものとして理解されるべきではない。さらに、この特許文書に記載されている実施形態における種々のシステム構成要素の分離は、全ての実施形態においてそうした分離を必要とするものとして理解されるべきではない。
【0161】
少数の実施形態および実施例だけが記載されており、そして、この特許文書に記載され、説明されている内容に基づいて、他の実施、拡張、および変形が行われ得る。