IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベイジン バイトダンス ネットワーク テクノロジー カンパニー リミテッドの特許一覧 ▶ バイトダンス インコーポレイテッドの特許一覧

特許7230233複合イントラ‐インター予測の改善された重み付け処理
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-17
(45)【発行日】2023-02-28
(54)【発明の名称】複合イントラ‐インター予測の改善された重み付け処理
(51)【国際特許分類】
   H04N 19/105 20140101AFI20230220BHJP
   H04N 19/159 20140101ALI20230220BHJP
   H04N 19/176 20140101ALI20230220BHJP
【FI】
H04N19/105
H04N19/159
H04N19/176
【請求項の数】 19
(21)【出願番号】P 2021554616
(86)(22)【出願日】2020-03-23
(65)【公表番号】
(43)【公表日】2022-05-06
(86)【国際出願番号】 CN2020080632
(87)【国際公開番号】W WO2020187329
(87)【国際公開日】2020-09-24
【審査請求日】2021-09-10
(31)【優先権主張番号】PCT/CN2019/079148
(32)【優先日】2019-03-21
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/100616
(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)【発明者】
【氏名】ワン,ユエ
(72)【発明者】
【氏名】ザン,ナ
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2020/163526(WO,A1)
【文献】Luong Pham Van, et al.,CE10: CIIP with position-independent weights (Test CE10-1.1),JVET-N0302_Spec.docx,2019年03月13日,pp.47-48,93-94,202-203,https://jvet-experts.org/doc_end_user/documents/14_Geneva/wg11/JVET-N0302-v1.zip
【文献】Luong Pham Van, et al.,CE10-related: Inter-intra prediction combination,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0096-v3,13th Meeting: Marrakech, MA,2019年01月,pp.1-3
【文献】Andre Seixas Dias, Gosala Kulupana, and Saverio Blasi,CE10-related: Multi-Hypothesis Intra with Weighted Combination,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0454-v1,13th Meeting: Marrakech, MA,2019年01月,pp.1-4
【文献】Luong Pham Van, et al.,CE10: CIIP with position-independent weights (Test CE10-1.1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N0302_v1,14th Meeting: Geneva, CH,2019年03月13日,pp.1-3
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオを処理するための方法であって:
ビデオ・データの、複合イントラおよびインター予測モードでコーディングされる現在のビデオ・ブロックとビットストリームとの間の変換中に、現在のビデオ・ブロックに対する一つまたは複数の近傍ビデオ・ブロックに基づいて、現在のビデオ・ブロックの第1の予測結果についての第1の重みと、現在のビデオ・ブロックの第2の予測結果についての第2の重みとを含む重みペアを決定するステップであって、
前記第1の予測結果はイントラ予測モードによって生成され、前記第2の予測結果はインター予測モードによって生成される、ステップと;
前記第1の予測結果と前記第2の予測結果の重み付けされた和に基づいて現在のブロックの予測結果を決定するステップと;
前記予測結果に基づいて前記変換を実行するステップとを含む
前記重みペアが、前記一つまたは複数の近傍ビデオ・ブロックが利用可能であるかどうかに従って決定され、前記近傍ビデオ・ブロックの利用可能性が予測モードに依存するかどうかを指定する変数checkPredModeYが0に設定される、
方法。
【請求項2】
前記重みペアが:
現在のビデオ・ブロックの前記一つまたは複数の近傍ビデオ・ブロックの予測モードに従って決定される、
請求項1に記載の方法。
【請求項3】
前記一つまたは複数の近傍ビデオ・ブロックの前記予測モードは、前記一つまたは複数の近傍ビデオ・ブロックがイントラ予測モードでコーディングされているか非イントラ予測モードでコーディングされているかを示す、請求項2に記載の方法。
【請求項4】
前記近傍ビデオ・ブロックが、ブロック内コピー・モード、複合イントラおよびインター予測モード、幾何学的分割モードまたはパレットモードのうちの少なくとも1つでコーディングされている場合、前記近傍ビデオ・ブロックは、非イントラ予測モードでコーディングされたブロックとして扱われる、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項5】
前記近傍ビデオ・ブロックが複合イントラおよびインター予測モードでコーディングされている場合、前記近傍ビデオ・ブロックは、非イントラ予測モードであるインター予測モードでコーディングされたブロックとして扱われる、請求項4に記載の方法。
【請求項6】
前記重みペアが、現在のビデオ・ブロックの色成分にさらに従って決定される、請求項1ないし5のうちいずれか一項に記載の方法。
【請求項7】
前記一つまたは複数の近傍ビデオ・ブロックの位置が、現在のブロックの前記色成分に基づいて決定される、請求項6に記載の方法。
【請求項8】
前記一つまたは複数の近傍ビデオ・ブロックは、左の近傍ビデオ・ブロックまたは上の近傍ビデオ・ブロックのうちの少なくとも1つを含む、請求項1ないし7のうちいずれか一項に記載の方法。
【請求項9】
前記一つまたは複数の近傍ビデオ・ブロックが、位置(xCb-1,yCb-1+(cbHeight<<a))をカバーするビデオ・ブロックと、位置(xCb-1+(cbWidth<<a),yCb-1)をカバーするビデオ・ブロックとを含み、(xCb,yCb)は現在のビデオ・ブロックの左上のサンプルの位置であり、cbWidthおよびcbHeightはそれぞれ現在のビデオ・ブロックの幅および高さであり、aは現在のブロックのcIdxを使って決定される、請求項1ないしのうちいずれか一項に記載の方法。
【請求項10】
現在のブロックのcIdxが0に等しいことに応答して、aが0に設定される、請求項に記載の方法。
【請求項11】
現在のブロックのcIdxが0に等しくないことに応答して、aが1に設定される、請求項に記載の方法。
【請求項12】
前記重みペアが2つ以上の近傍ビデオ・ブロックに基づいて決定され、
前記2つ以上の近傍ビデオ・ブロックのすべてがイントラ予測モードでコーディングされる場合、前記重みペアは第1の候補重みペアであり、
前記2つ以上の近傍ビデオ・ブロックのすべてが非イントラ予測モードでコーディングされる場合、前記重みペアは前記第1の候補重みペアとは異なる第2の候補重みペアであり、
それ以外の場合、前記重みペアは、前記第1の候補重みペアおよび前記第2の候補重みペアと異なる第3の候補重みペアである、
請求項1ないし11のうちいずれか一項に記載の方法。
【請求項13】
前記第1の候補重みペアは(3,1)であり、前記第2の候補重みペアは(1,3)であり、前記第3の候補重みペアは(2,2)であり、(x,y)についてxが前記第1の重みであり、yが前記第2の重みである、請求項12に記載の方法。
【請求項14】
前記予測結果が、前記第1の予測結果および前記第2の予測結果について前記重みペアを
P=(wInter*Pinter+wIntra*Pintra+offset)>>N
として適用することによって得られ、
ここで、Pは前記予測結果であり、Pinterは前記第1の予測結果であり、Pintraは前記第2の予測結果であり、(wInter,wIntra)は前記重みペアであり、offsetは2に設定される、
請求項1ないし13のうちいずれか一項に記載の方法。
【請求項15】
前記変換が、現在のビデオ・ブロックを前記ビットストリームにエンコードすることを含む、請求項1ないし14のうちいずれか一項に記載の方法。
【請求項16】
前記変換が、現在のビデオ・ブロックを前記ビットストリームからデコードすることを含む、請求項1ないし14のうちいずれか一項に記載の方法。
【請求項17】
プロセッサと、命令を有する非一時的なメモリとを有する、ビデオを処理するための装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに:
ビデオ・データの、複合イントラおよびインター予測モードでコーディングされる現在のビデオ・ブロックとビットストリームとの間の変換中に、現在のビデオ・ブロックに対する一つまたは複数の近傍ビデオ・ブロックに基づいて、現在のビデオ・ブロックの第1の予測結果についての第1の重みと、現在のビデオ・ブロックの第2の予測結果についての第2の重みとを含む重みペアを決定するステップであって、
前記第1の予測結果はイントラ予測モードによって生成され、前記第2の予測結果はインター予測モードによって生成される、ステップと;
前記第1の予測結果と前記第2の予測結果の重み付けされた和に基づいて現在のブロックの予測結果を決定するステップと;
前記予測結果に基づいて前記変換を実行するステップとを実行させるものであ
前記重みペアが、前記一つまたは複数の近傍ビデオ・ブロックが利用可能であるかどうかに従って決定され、前記近傍ビデオ・ブロックの利用可能性が予測モードに依存するかどうかを指定する変数checkPredModeYが0に設定される、
装置。
【請求項18】
命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに:
ビデオ・データの、複合イントラおよびインター予測モードでコーディングされる現在のビデオ・ブロックとビットストリームとの間の変換中に、現在のビデオ・ブロックに対する一つまたは複数の近傍ビデオ・ブロックに基づいて、現在のビデオ・ブロックの第1の予測結果についての第1の重みと、現在のビデオ・ブロックの第2の予測結果についての第2の重みとを含む重みペアを決定するステップであって、
前記第1の予測結果はイントラ予測モードによって生成され、前記第2の予測結果はインター予測モードによって生成される、ステップと;
前記第1の予測結果と前記第2の予測結果の重み付けされた和に基づいて現在のブロックの予測結果を決定するステップと;
前記予測結果に基づいて前記変換を実行するステップとを実行させるものであ
前記重みペアが、前記一つまたは複数の近傍ビデオ・ブロックが利用可能であるかどうかに従って決定され、前記近傍ビデオ・ブロックの利用可能性が予測モードに依存するかどうかを指定する変数checkPredModeYが0に設定される、
記憶媒体。
【請求項19】
ビデオのビットストリームを記憶する方法であって
複合イントラおよびインター予測モードでコーディングされる現在のビデオ・ブロックについて、現在のビデオ・ブロックに対する一つまたは複数の近傍ビデオ・ブロックに基づいて、現在のビデオ・ブロックの第1の予測結果についての第1の重みと、現在のビデオ・ブロックの第2の予測結果についての第2の重みとを含む重みペアを決定するステップであって、
前記第1の予測結果はイントラ予測モードによって生成され、前記第2の予測結果はインター予測モードによって生成される、ステップと;
前記第1の予測結果と前記第2の予測結果の重み付けされた和に基づいて現在のブロックの予測結果を決定するステップと;
前記予測結果に基づいて前記ビットストリームを生成するステップと
非一時的なコンピュータ読み取り可能な記録媒体に前記ビットストリームを記憶するステップとを含
前記重みペアが、前記一つまたは複数の近傍ビデオ・ブロックが利用可能であるかどうかに従って決定され、前記近傍ビデオ・ブロックの利用可能性が予測モードに依存するかどうかを指定する変数checkPredModeYが0に設定される、
方法
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は2020年3月23日に出願された国際出願第PCT/CN2020/080632号であり、同出願は2019年3月21日に出願された国際特許出願第PCT/CN2019/079148号および2019年8月14日に出願された国際特許出願第PCT/CN2019/100616号の優先権および利益を適時に主張するものである。国際特許出願第PCT/CN2019/079148号および国際特許出願第PCT/CN2019/100616号の開示全体は参照により本願の開示の一部として組み込まれる。
【0002】
技術分野
本稿は、ビデオおよび画像のコーディング・復号技術に関する。
【背景技術】
【0003】
デジタル・ビデオは、インターネットおよびその他のデジタル通信ネットワークにおける最大の帯域幅使用を占める。ビデオの受信・表示が可能な接続されるユーザー装置の数が増加するにつれて、デジタル・ビデオの利用のための帯域幅需要は増加し続けることが予想される。
【発明の概要】
【課題を解決するための手段】
【0004】
開示される技術は、複合イントラ・インター予測が使用されるビデオまたは画像のデコーダまたはエンコーダの実施形態によって使用されうる。
【0005】
ある例示的な側面では、ビデオを処理する方法が開示される。この方法は、第1のビデオ・ブロックのコーディングモード(coded mode)を決定するステップと;第1のビデオ・ブロックのコーディングモードの決定に基づいて、一つまたは複数のフラグをある動作状態に拘束するステップであって、前記動作状態は偽または真である、ステップと;前記一つまたは複数のフラグの動作状態に応じて、第2のビデオ・ブロックのさらなる処理を実行するステップであって、第1のビデオ・ブロックは、第2のビデオ・ブロックとの関係において、近傍ビデオ・ブロックまたは参照ビデオ・ブロックである、ステップとを含む。
【0006】
別の例では、ビデオを処理する方法は、第1のビデオ・ブロックに関してペア毎予測(pairwise prediction)または複合双予測(combined-bi prediction)が使用されることを決定するステップと;ペア毎予測または複合双予測が使用されるとの決定に基づいて複合インター‐イントラ予測(combined inter-intra prediction、CIIP)の動作状態を決定するステップであって、前記動作状態は有効(enabled)または無効(disabled)である、ステップと;CIIPの動作状態に従って第1のビデオ・ブロックのさらなる処理を実行するステップとを含む。
【0007】
別の例では、ビデオ処理の別の方法が開示される。この方法は、ビデオのビデオ・ブロックと、該ビデオ・ブロックのコーディングされた表現との間の変換を、コーディングされた表現がビデオ・ブロックのイントラおよびインター予測結果の重み付け平均に対応する複合イントラおよびインター予測モードを使用して実行することを含み、重み付け平均は、3つ未満のペアが含まれる重みペアの集合からのある重みペアを使用する。
【0008】
別の例では、ビデオ処理の別の方法が開示される。この方法は、ビデオのビデオ・ブロックと、該ビデオ・ブロックのコーディングされた表現との間の変換を、コーディングされた表現がビデオ・ブロックのイントラおよびインター予測結果の重み付け平均に対応する複合イントラおよびインター予測モードを使用して実行することを含み、重み付け平均は、一つまたは複数の近傍ブロックの情報をコーディングすることに起因して決定された重みペアの集合からのある重みペアを使用する。
【0009】
別の例では、ビデオ処理の別の方法が開示される。この方法は、ビデオ・データ内の第1のブロックと該第1のブロックのビットストリーム表現との間の変換の間に、一つまたは複数の第2のブロックの一つまたは複数のコーディングモードを決定するステップと;前記一つまたは複数の第2のブロックの前記一つまたは複数のコーディングモードに基づいて、第1のブロックのコーディングモード制約条件を決定するステップと;少なくとも第1のブロックのコーディングモード制約条件を適用することによって、前記変換を実行するステップとを含み、前記一つまたは複数の第2のブロックは、前記第1のブロックの隣接ブロック、非隣接ブロック、および参照ブロックのうちの少なくとも1つを含む。
【0010】
別の例示的な側面では、ビデオ処理の別の方法が開示される。この方法は、ビデオ・データ中の現在ブロックと現在ブロックのビットストリーム表現との間の変換を、複合インター‐イントラ予測(CIIP)、拡散フィルタリング、バイラテラルフィルタリング、変換ドメインフィルタリング、または拡散フィルタリング、バイラテラルフィルタリング、および変換ドメインフィルタリングとは異なる別のタイプの再構成後フィルタリングのうちの少なくとも1つを使用することによって実行することを含み、ここで、複合インター‐イントラ予測(CIIP)、拡散フィルタリング、バイラテラルフィルタリング、変換ドメインフィルタリング、または前記別のタイプの再構成後フィルタリングのうちの少なくとも1つにおいて使用される現在ブロックの再構成された近傍サンプルは、一つまたは複数の参照ピクチャーにおける、該再構成された近傍サンプルの対応するサンプルから生成された近似サンプルによって置き換えられる。
【0011】
別の例示的な側面では、ビデオ処理の別の方法が開示される。この方法は、CIIPモードの複合インター‐イントラ予測(CIIP)フラグおよび/またはイントラモードを、動き情報とともに、履歴ベースの動きベクトル予測(history-based motion vector prediction、HMVP)テーブル内に記憶するステップと;少なくとも該HMVPテーブルに基づいて、ビデオ・データ内の現在ブロックと該現在ブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0012】
別の例示的側面では、ビデオ処理の別の方法が開示される。この方法は、ビデオ・データにおける現在ブロックと該現在ブロックのビットストリーム表現との間の変換の間に、現在ブロックについての予測モードを決定するステップと;現在ブロックが先進動きベクトル予測(AMVP)モードまたはマージ・モードでコーディングされるという決定に応答して、現在ブロックについてCIIPモードが有効であることを示す複合インター‐イントラ予測(CIIP)モードの適用可能性を決定するステップと;CIIPモードの適用可能性に基づいて前記変換を実行するステップとを含む。
【0013】
別の例示的側面では、ビデオ処理の別の方法が開示される。この方法は、ビデオ・データ内の現在ブロックと該現在ブロックのビットストリーム表現との間の変換の間に、現在ブロックのための選択されたマージ候補のタイプを決定するステップと;選択されたマージ候補のタイプに応じて現在ブロックのための複合インター‐イントラ予測(CIIP)の適用可能性を決定するステップとを含み、現在ブロックはマージ・モードでコーディングされる。
【0014】
別の例示的側面では、ビデオ処理の別の方法が開示される。この方法は、ビデオ・データ内の現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、現在のビデオ・ブロックに対する一つまたは複数の近傍ビデオ・ブロックのCIIPフラグを参照することなく、コンテキスト・モデルに基づくコーディングによって、現在のビデオ・ブロックのための複合インター‐イントラ予測(CIIP)フラグをコーディングするステップと;少なくとも現在のビデオ・ブロックの複合インター‐イントラ予測(CIIP)フラグを適用することによって、前記変換を実行するステップとを含む。
【0015】
別の例示的側面では、ビデオ処理の別の方法が開示される。この方法は、ビデオ・データ内の現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、バイパスコーディングによって現在のビデオ・ブロックについての複合インター‐イントラ予測(CIPP)フラグをコーディングし、少なくとも複合インター‐イントラ予測(CIIP)フラグを適用することによって、前記変換を実行することを含む。
【0016】
別の例示的側面では、ビデオ処理の別の方法が開示される。この方法は、規則に従ってビデオの第1のビデオ・ブロックのイントラ予測モードを決定するステップであって、該規則は:第1のビデオ・ブロックのイントラ予測モード導出プロセス中に、第1のビデオ・ブロックへの一つまたは複数の近傍ビデオ・ブロックの複合インター‐イントラ予測(CIIP)フラグをチェックすることをスキップすることを含む、ステップと;少なくとも決定されたイントラ予測モードに基づいて、第1のビデオ・ブロックと第1のビデオ・ブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0017】
別の例示的側面では、ビデオ処理の別の方法が開示される。この方法は、ビデオの、複合イントラおよびインター予測(CIIP)モードでコーディングされている現在のビデオ・ブロックと、現在のビデオ・ブロックのビットストリーム表現との間の変換中に、現在のビデオ・ブロックの第1の予測結果についての第1の重みおよび現在のビデオ・ブロックの第2の予測結果についての第2の重みを含む重みペアを、現在のビデオ・ブロックに対する一つまたは複数の近傍ビデオ・ブロックに基づいて決定するステップであって、前記第1の予測結果はイントラ予測モードによって生成され、前記第2の予測結果はインター予測モードによって生成される、ステップと;前記第1の予測結果と前記第2の予測結果の重み付けされた和に基づいて、現在のブロックの予測結果を決定するステップとを含む。
【0018】
別の例示的側面では、上述の方法は、プロセッサを備えるビデオ・エンコーダ装置によって実装されうる。
【0019】
さらに別の例示的側面では、これらの方法は、プロセッサ実行可能命令の形で具現され、コンピュータ読み取り可能プログラム媒体に記憶されてもよい。
【0020】
これらおよびその他の側面は、本稿においてさらに説明される。
【図面の簡単な説明】
【0021】
図1】マージ候補リスト構築のための導出プロセスの例を示す。
【0022】
図2】空間的マージ候補の位置の例を示す。
【0023】
図3】空間的マージ候補の冗長検査のために考慮される候補ペアの例を示す。
【0024】
図4】N×2Nおよび2N×N個のパーティションの第2のPUについての位置の例を示す。
【0025】
図5】時間的マージ候補のための動きベクトル・スケーリングの例を示す。
【0026】
図6】時間的マージ候補C0およびC1についての候補位置の例を示す。
【0027】
図7】複合双予測マージ候補の例を示す。
【0028】
図8】動きベクトル予測候補のための導出プロセスの例を示す。
【0029】
図9】空間的動きベクトル候補のための動きベクトル・スケーリングの例を示す。
【0030】
図10】あるコーディング単位(CU)についての代替的時間的動きベクトル予測(ATMVP)の例を示す。
【0031】
図11】ICパラメータを導出するために使用される近傍サンプルの例を示す。
【0032】
図12】極限動きベクトル表式(UMVE)探索プロセスの例を示す。
【0033】
図13】UMVE検索ポイントの例を示す。
【0034】
図14】提案されるHMVP法による復号フローチャートの例を示す。
【0035】
図15】提案されるHMVP法におけるテーブルの更新の例を示す。
【0036】
図16】対称モードの例を示す。
【0037】
図17】現在ブロックの近傍サンプルと、参照ピクチャー内のそれらの対応するサンプルの例を示す。
【0038】
図18】ビデオ処理装置の一例のブロック図である。
【0039】
図19】ビデオ・エンコーダの例示的実装のブロック図を示す。
【0040】
図20】ビデオ処理方法の一例についてのフローチャートである。
【0041】
図21】ビデオ処理方法の一例についてのフローチャートである。
【0042】
図22】CIIP重み評価において使用される上および左の近傍ブロックの例を示す。
【0043】
図23】ビデオ処理方法の一例についてのフローチャートである。
【0044】
図24】ビデオ処理方法の一例についてのフローチャートである。
【0045】
図25】ビデオ処理方法の一例についてのフローチャートである。
【0046】
図26】ビデオ処理方法の一例についてのフローチャートである。
【0047】
図27】ビデオ処理方法の一例についてのフローチャートである。
【0048】
図28】ビデオ処理方法の一例についてのフローチャートである。
【0049】
図29】ビデオ処理方法の一例についてのフローチャートである。
【0050】
図30】ビデオ処理方法の一例についてのフローチャートである。
【0051】
図31】ビデオ処理方法の一例についてのフローチャートである。
【発明を実施するための形態】
【0052】
本稿は、圧縮解除またはデコードされたデジタル・ビデオまたは画像の品質を改善するために、画像またはビデオ・ビットストリームのデコーダによって使用されることのできるさまざまな技術を提供する。簡潔のため、本明細書では、用語「ビデオ」は、一連のピクチャー(伝統的にビデオと呼ばれる)および個々の画像の両方を含むために使用される。さらに、ビデオ・エンコーダは、さらなるエンコードのために使用されるデコードされたフレームを再構成するために、エンコードのプロセス中にこれらの技術を実装することもできる。
【0053】
セクション見出しは、理解を容易にするために本稿で使用されており、実施形態および技術を対応するセクションに限定するものではない。よって、あるセクションからの実施形態は、他のセクションからの実施形態と組み合わせることができる。
【0054】
1.概要
【0055】
本稿は、ビデオコーディング技術に関する。具体的には、本稿はビデオコーディングまたは復号における複合イントラ・インター予測(CIIP)に関する。これは、HEVCのような既存のビデオコーディング規格、またはこれから最終化される規格(多用途ビデオコーディング(Versatile Video Coding))に適用されることがある。これは、将来のビデオコーディング規格またはビデオ・コーデックにも適用可能でありうる。
【0056】
2.背景
【0057】
ビデオコーディング規格は、主に、周知のITU-TおよびISO/IEC規格の開発を通じて発展してきた。ITU-TはH.261およびH.263を生み出し、ISO/IECはMPEG-1およびMPEG-4 Visualを生み出し、両機関は合同してH.262/MPEG-2 VideoおよびH.264/MPEG-4 先進ビデオコーディング(Advanced Video Coding、AVC)およびH.265/HEVC[1]規格を生み出した。H.262以来、ビデオコーディング規格は、時間的予測と変換コーディングが利用されるハイブリッドビデオコーディング構造に基づいている。HEVCを越えた将来のビデオコーディング技術を探求するため、2015年にVCEGとMPEGによって合同で、合同ビデオ探査チーム(Joint Video Exploration Team、JVET)が設立された。それ以来、JVETによって多くの新しい方法が採用され、JEM(Joint Exploration Model)と名付けられた参照ソフトウェアに入れられた。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間で合同ビデオエキスパートチーム(Joint Video Expert Team、JVET)を発足し、HEVCに比べ50%のビットレート削減を目指すVVC規格に取り組んでいる。
【0058】
図19は、ビデオ・エンコーダの例示的実装のブロック図である。図19は、エンコーダ実装が、ビデオ・エンコーダがビデオ・デコード機能(次のビデオ・データのエンコードにおいて使用するためにビデオ・データの圧縮された表現を再構成する)も実行するフィードバック経路を組み込んでいることを示している。
【0059】
2.1 HEVC/H.265におけるインター予測
【0060】
各インター予測されたPUは、1つまたは2つの参照ピクチャー・リストのための動きパラメータを有する。動きパラメータは、動きベクトルおよび参照ピクチャー・インデックスを含む。2つの参照ピクチャー・リストのうちの一方の使用は、inter_pred_idcを使用して信号伝達されてもよい。動きベクトルは、予測子に対するデルタとして明示的にコーディングされてもよい。
【0061】
CUがスキップ・モードでコーディングされる場合、1つのPUが該CUと関連付けられ、有意な残差係数はなく、コーディングされる動きベクトルのデルタまたは参照ピクチャー・インデックスは存在しない。マージ・モードが指定され、それにより、現在のPUのための動きパラメータが、空間的および時間的な候補を含む近傍のPUから取得される。マージ・モードは、スキップ・モードだけでなく、任意のインター予測PUに適用できる。マージ・モードの代わりは、動きパラメータの明示的な伝送であり、ここで、動きベクトル(より正確には、動きベクトル予測子と比較した動きベクトル差分)、各参照ピクチャー・リストについての対応する参照ピクチャー・インデックス、および参照ピクチャー・リスト使用が、各PUごとに明示的に信号伝達される。そのようなモードは、本開示においては、先進動きベクトル予測(Advanced motion vector prediction、AMVP)と呼ばれる。
【0062】
信号伝達が、2つの参照ピクチャー・リストのうちの一方が使用されるべきであることを示す場合、PUは、サンプルの1つのブロックから生成される。これは「単予測(uni-prediction)」と呼ばれる。単予測は、PスライスおよびBスライスの両方について可能である。
【0063】
信号伝達が両方の参照ピクチャー・リストが使用されるべきであることを示す場合は、PUはサンプルの2つのブロックから生成される。これは「双予測(bi-prediction)」と呼ばれる。双予測は、Bスライスについてのみ可能である。
【0064】
次のテキストは、HEVCで指定されたインター予測モードの詳細を与える。説明はマージ・モードから始まる。
【0065】
2.1.1 マージ・モード
【0066】
2.1.1.1 マージ・モードについての候補の導出
【0067】
マージ・モードを使用してPUが予測される場合、マージ候補リスト内のエントリーを指すインデックスがビットストリームからパースされ、動き情報を取得するために使用される。このリストの構築はHEVC規格で規定されており、以下の一連のステップに従って要約することができる。
【0068】
ステップ1:初期候補の導出
【0069】
ステップ1.1:空間的候補の導出
【0070】
ステップ1.2:空間的候補についての冗長性チェック
【0071】
ステップ1.3:時間的候補の導出
【0072】
ステップ2:追加的候補の挿入
【0073】
ステップ2.1:双予測候補の生成
【0074】
ステップ2.2:ゼロ動き候補の挿入
【0075】
これらのステップは、図1にも概略的に示されている。空間的マージ候補の導出のために、5つの異なる位置に位置する候補の中から最大4つのマージ候補が選択される。時間的マージ候補導出のためには、2つの候補の中から最大1つのマージ候補が選択される。デコーダでは各PUについて候補の数が一定であると想定されるので、ステップ1で得られた候補の数がスライスヘッダにおいて信号伝達されるマージ候補の最大数(MaxNumMergeCand)に達しない場合には、追加的な候補が生成される。候補の数は一定であるので、最良のマージ候補のインデックスは、打ち切りされた単進二値化(truncated unary binarization、TU)を用いてエンコードされる。CUのサイズが8に等しい場合、現在のCUのすべてのPUは、2N×2N予測単位のマージ候補リストと同一の単一のマージ候補リストを共有する。
【0076】
以下では、上記の諸ステップに関連する動作について詳述する。
【0077】
2.1.1.2 空間的候補の導出
【0078】
空間的マージ候補の導出では、図22に示される位置に位置する候補の中から、最大4つのマージ候補が選択される。導出の順序はA1、B1、B0、A0、B2である。位置B2は、位置A1、B1、B0、A0のどのPUも利用可能でない(たとえば、それが別のスライスまたはタイルに属するため)またはイントラコーディングされている場合にのみ考慮される。位置A1にある候補が追加された後、残りの候補の追加は、同じ動き情報をもつ候補がリストから除外されることを保証する冗長性チェックの対象となり、コーディング効率が改善される。計算複雑さを低減するために、前述の冗長性チェックでは、可能な候補ペアすべてが考慮されているわけではない。その代わりに、図3の矢印でつながれたペアのみが考慮され、冗長性チェックに使用される対応する候補が同じ動き情報を持たない場合にのみ、候補がリストに追加される。重複する動き情報の別の源は、2N×2Nとは異なるパーティションに関連付けられた「第2のPU」である。一例として、図4は、それぞれN×2Nおよび2N×Nの場合について第2のPUを示す。現在のPUがN×2Nとして分割されている場合、位置A1にある候補はリスト構築のためには考慮されない。実際、この候補を加えることによって、同じ動き情報をもつ2つの予測単位が得られる。これは、コーディング単位に1つのPUをもつだけであることに対して冗長である。同様に、現在のPUが2N×Nとして分割されている場合、位置B1は考慮されない。
【0079】
2.1.1.3 時間的候補の導出
【0080】
このステップでは、1つの候補のみがリストに追加される。具体的には、この時間的マージ候補の導出において、所与の参照ピクチャー・リスト内で現在ピクチャーとのPOC差が最小であるピクチャーに属する共位置のPUに基づいて、スケーリングされた動きベクトルが導出される。共位置のPUの導出のために使用される参照ピクチャー・リストは、スライスヘッダ内で明示的に信号伝達される。時間的マージ候補のためのスケーリングされた動きベクトルは、図5の点線によって示されているように得られ、これは、POC距離、tbおよびtdを使用して、共位置のPUの動きベクトルからスケーリングされる。ここで、tbは、現在ピクチャーの参照ピクチャーと現在ピクチャーとの間のPOC差であると定義され、tdは、共位置のピクチャーの参照ピクチャーと共位置のピクチャーとの間のPOC差であると定義される。時間的マージ候補の参照ピクチャー・インデックスはゼロに設定される。スケーリング・プロセスの実際的な実現がHEVC仕様に記述されている。Bスライスについては、一方は参照ピクチャー・リスト0について、他方は参照ピクチャー・リスト1についての2つの動きベクトルが得られ、組み合わされて、双予測マージ候補を作成する。
【0081】
参照フレームに属する共位置のPU(Y)では、図6に示されるように、候補C0と候補C1の間で時間的候補のための位置が選択される。位置C0にあるPUが利用可能でないか、イントラコーディングされているか、または現在のCTU行から外れている場合に、位置C1が使用される。それ以外の場合、位置C0が、時間的マージ候補の導出に使用される。
【0082】
2.1.1.4 追加的な候補の挿入
【0083】
空間的および時間的マージ候補のほかに、2つの追加的なタイプのマージ候補がある:複合双予測マージ候補とゼロマージ候補である。複合双予測マージ候補は、空間的および時間的マージ候補を利用することによって生成される。複合双予測マージ候補は、Bスライスについてのみ使用される。複合双予測候補は、初期候補の第1の参照ピクチャー・リスト動きパラメータを、別の候補の第2の参照ピクチャー・リスト動きパラメータと組み合わせることによって生成される。これらの2つのタプルが異なる動き仮説を提供するならば、それらは新しい双予測候補をなす。一例として、図7は、mvL0およびrefIdxL0またはmvL1およびrefIdxL1を有するもとのリスト(左側)における2つの候補を使って、最終的なリスト(右側)に追加される複合双予測マージ候補を作成する場合を示している。これらの追加的なマージ候補を生成するために考えられる組み合わせに関する多数の規則がある。
【0084】
マージ候補リストにおける残りのエントリーを埋め、よってMaxNumMergeCand容量に達するために、ゼロ動き候補が挿入される。これらの候補は、ゼロ空間変位と、ゼロから始まり、新しいゼロ動き候補がリストに追加される毎に増加する参照ピクチャー・インデックスとを有する。これらの候補によって使用される参照フレームの数は、それぞれ単方向および双方向予測について、1および2である。最後に、これらの候補に対して冗長性チェックは実行されない。
【0085】
2.1.1.5 並列処理のための動き推定領域
【0086】
エンコード・プロセスを高速化するために、動き推定が並列に実行されることができ、それにより、所与の領域内のすべての予測単位について動きベクトルが同時に導出される。空間的近傍からのマージ候補の導出は、並列処理を妨げる可能性がある。一つの予測単位が隣接するPUから動きパラメータを導出することができるのは、その関連する動き推定が完了した後だからである。コーディング効率と処理待ち時間との間のトレードオフを緩和するために、HEVCは、ピクチャーパラメータセットにおいて"log2_parallel_merge_level_minus2"シンタックス要素を用いてそのサイズが信号伝達される動き推定領域(motion estimation region、MER)を定義する。MERが定義されている場合、同じ領域にはいるマージ候補は利用不能とマークされ、よってリスト構築において考慮されない。
【0087】
2.1.2 AMVP
【0088】
AMVPは、動きパラメータの明示的伝送に使用される、近傍のPUとの動きベクトルの時間空間的相関を利用する。各参照ピクチャー・リストについて、まず左、上の時間的に近傍のPU位置の利用可能性をチェックし、冗長な候補を除去し、ゼロ・ベクトルを追加して候補リストを一定長にすることによって、動きベクトル候補リストが構築される。次いで、エンコーダは候補リストから最良の予測子を選択し、選択された候補を示す対応するインデックスを送信することができる。同様に、マージ・インデックス信号伝達では、最良の動きベクトル候補のインデックスは、打ち切りされた単進法を用いてエンコードされる。この場合にエンコードされるべき最大値は2である(図8参照)。下記の諸節では、動きベクトル予測候補の導出プロセスの詳細を示す。
【0089】
2.1.2.1 AMVP候補の導出
【0090】
図8は、動きベクトル予測候補のための導出プロセスをまとめたものである。
【0091】
動きベクトル予測では、空間的動きベクトル候補と時間的動きベクトル候補の2種類の動きベクトル候補が考慮される。
【0092】
空間的動きベクトル候補の導出のために、2つの動きベクトル候補が、図2に示すような5つの異なる位置に位置する各PUの動きベクトルに基づいて、最終的に導出される。時間的動きベクトル候補の導出のためには、2つの異なる共位置の位置に基づいて導出される2つの候補から1つの動きベクトル候補が選択される。空間時間的候補の第1のリストが作成された後、リスト内の重複した動きベクトル候補が除去される。潜在的な候補の数が2よりも多い場合、関連する参照ピクチャー・リスト内の参照ピクチャー・インデックスが1よりも大きい動きベクトル候補は、リストから除去される。空間時間的動きベクトル候補の数が2より少ない場合、追加的なゼロ動きベクトル候補がリストに追加される。
【0093】
2.1.2.2 空間的動きベクトル候補
【0094】
空間的動きベクトル候補の導出においては、5つの潜在的候補のうちで最大2つの候補が考慮される。5つの潜在的候補は、図2に示されるような位置に位置するPUから導出され、それらの位置は、動きマージの場合と同じである。現在のPUの左側についての導出の順序は、A0、A1、およびスケーリングされたA0、スケーリングされたA1として定義される。現在のPUの上側についての導出の順序は、B0、B1、B2、スケーリングされたB0、スケーリングされたB1、スケーリングされたB2として定義される。よって、それぞれの側について、動きベクトル候補として使用できる4つの場合があり、2つの場合は空間的スケーリングを使用する必要がなく、2つの場合は空間的スケーリングが使用される。4つの異なる場合は、次のようにまとめられる。
【0095】
空間的スケーリングなし
【0096】
(1)同じ参照ピクチャー・リスト、同じ参照ピクチャー・インデックス(同じPOC)
【0097】
(2)異なる参照ピクチャー・リストだが、同じ参照ピクチャー(同じPOC)
【0098】
空間的スケーリング
【0099】
(3)同じ参照ピクチャー・リストだが、異なる参照ピクチャー(異なるPOC)
【0100】
(4)異なる参照ピクチャー・リストおよび異なる参照ピクチャー(異なるPOC)
【0101】
空間的スケーリングのない場合を最初にチェックし、次に空間的スケーリングを扱う。空間的スケーリングは、参照ピクチャー・リストに関係なく、近傍のPUの参照ピクチャーと現在のPUの参照ピクチャーとの間でPOCが異なる場合に考慮される。左候補のすべてのPUが利用可能でないか、またはイントラコーディングされている場合、左および上のMV候補の並列導出を助けるために、上の動きベクトルについてのスケーリングが許容される。そうでない場合は、空間的スケーリングは、上の動きベクトルについて許容されない。
【0102】
空間的スケーリング・プロセスでは、近傍のPUの動きベクトルは、図9に示されるように、時間的スケーリングと同様の仕方でスケーリングされる。主な違いは、現在のPUの参照ピクチャー・リストおよびインデックスが入力として与えられる点であり、実際のスケーリング・プロセスは時間的スケーリングの場合と同じである。
【0103】
2.1.2.3 時間的動きベクトル候補
【0104】
参照ピクチャー・インデックスの導出は別として、時間的マージ候補の導出のためのすべてのプロセスは、空間的動きベクトル候補の導出のためのものと同じである(図6を参照)。参照ピクチャー・インデックスはデコーダに信号伝達される。
【0105】
2.2 新しいインター予測方法
【0106】
2.2.1 サブCUベースの動きベクトル予測
【0107】
QTBTをもつJEMでは、各CUは各予測方向について最大1セットの動きパラメータをもつことができる。大きなCUをサブCUに分割し、大きなCUのすべてのサブCUについての動き情報を導出することにより、エンコーダにおいて、二つのサブCUレベルの動きベクトル予測方法が考慮される。代替時間的動きベクトル予測(Alternative temporal motion vector prediction、ATMVP)方法は、各CUが、共位置の参照ピクチャーにおける現在のCUよりも小さい複数のブロックから、複数セットの動き情報をもってくることを許容する。空間時間的動きベクトル予測(spatial-temporal motion vector prediction、STMVP)方法では、サブCUの動きベクトルが、時間的動きベクトル予測子と空間的な近傍の動きベクトルを用いて再帰的に導出される。
【0108】
サブCU動き予測のためのより正確な動き場を保持するために、参照フレームについての動き圧縮は現在無効にされている。
【0109】
2.2.1.1 代替時間的動きベクトル予測
【0110】
代替時間的動きベクトル予測(ATMVP)方法では、動きベクトル時間的動きベクトル予測(temporal motion vector prediction、TMVP)を、現在のCUより小さいブロックから複数セットの動き情報(動きベクトルおよび参照インデックスを含む)を取ってくることによって修正する。図10に示されるように、サブCUは正方形のN×Nブロックである(Nはデフォルトで4に設定される)。
【0111】
ATMVPは、CU内のサブCUの動きベクトルを2段階で予測する。第1のステップは、いわゆる時間的ベクトルを用いて参照ピクチャー内の対応するブロックを識別することである。この参照ピクチャーは、動き源ピクチャーと呼ばれる。第2のステップは、図10に示されるように、現在のCUをサブCUに分割し、各サブCUに対応するブロックから、各サブCUの動きベクトルおよび参照インデックスを取得することである。
【0112】
第1のステップでは、参照ピクチャーおよび対応するブロックは、現在のCUの空間的近傍ブロックの動き情報によって決定される。近傍ブロックの反復的な走査プロセスを避けるために、現在のCUのマージ候補リストの最初のマージ候補が使用される。最初の利用可能な動きベクトルとそれに関連する参照インデックスは、動き源ピクチャーへの時間的ベクトルおよびインデックスに設定される。このように、ATMVPでは、対応するブロックは、TMVPと比較して、より正確に識別されうる。ここで、対応するブロック(時に共位置のブロックと呼ばれる)は、常に、現在のCUに対して右下または中央の位置にある。
【0113】
第2のステップでは、サブCUの対応するブロックが、動き源ピクチャー内で時間的ベクトルによって識別される。これは、現在のCUの座標に時間的ベクトルを加えることによる。各サブCUについて、対応するブロックの動き情報(中心サンプルをカバーする最小の動きグリッド)が、サブCUの動き情報を導出するために使用される。対応するN×Nブロックの動き情報が識別された後、それは、HEVCのTMVPと同様にして、現在のサブCUの動きベクトルおよび参照インデックスに変換される。ここで、動きスケーリングおよびその他の手順が適用される。たとえば、デコーダは、低遅延条件(すなわち、現在ピクチャーのすべての参照ピクチャーのPOCが現在ピクチャーのPOCよりも小さい)が満たされているかどうかを検査し、可能性としては、各サブCUについての動きベクトルMVy(Xは0または1に等しく、Yは1-Xに等しい)を予測するために動きベクトルMVx(参照ピクチャー・リストXに対応する動きベクトル)を使用する。
【0114】
2.2.2 ペア毎の平均候補
【0115】
ペア毎の平均候補(pairwise average candidate)は、現在のマージ候補リスト内のあらかじめ定義された諸ペアの候補を平均することによって生成される。あらかじめ定義されたペアは{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)}として定義される。ここで、数字はマージ候補リストへのマージ・インデックスを示す。平均動きベクトルは、各参照リストについて別々に計算される。両方の動きベクトルが1つのリストにおいて利用可能な場合、これらの2つの動きベクトルは、たとえそれらが異なる参照ピクチャーを指している場合でも平均される。1つの動きベクトルのみが利用可能な場合は、その1つの動きベクトルを直接使用し、利用可能な動きベクトルがない場合は、このリストを無効のままにする。ペア毎の平均候補は、HEVC規格における組み合わされた候補(combined candidate)に取って代わる。
【0116】
ペア毎の平均候補の複雑性解析が表1にまとめられている。平均のための追加的な計算の最悪のケース(表1の最後の列)については、各ペア(L0およびL1におけるMVxとMVy)について4つの加算と4つのシフトが必要とされ、各ペアについて4つの参照インデックス比較が必要とされる(L0およびL1においてrefIdx0が有効で、refIdx1が有効)。6つのペアがあり、合計で24の加算、24のシフト、および24の参照インデックスの比較となる。HEVC規格における組み合わされた候補は、各ペアについて2つの参照インデックス比較を使用し(refIdx0はL0で有効であり、refIdx1はL1で有効)、12のペアがあり、合計で24の参照インデックス比較となる。
【0117】
表1:ペア毎の平均候補の動作解析
【表1】
【0118】
2.2.3 局所照明補償
【0119】
局所照明補償(Local Illumination Compensation、LIC)は、スケーリング因子aとオフセットbを用いた、照明変化についての線形モデルに基づいている。また、各インター・モードコーディングされるコーディング単位(CU)について適応的に有効または無効にされる。
【0120】
LICがCUに適用される場合、現在のCUの近傍のサンプルおよびそれらの対応する参照サンプルを使用することによってパラメータaおよびbを導出するために最小平方誤差法が使用される。より具体的には、図11に示されるように、CUのサブサンプリング(2:1サブサンプリング)された近傍のサンプル、および参照ピクチャー内の対応するサンプル(現在のCUまたはサブCUの動き情報によって識別される)が使用される。ICパラメータが導出され、各予測方向について別々に適用される。
【0121】
CUがマージ・モードでコーディングされる場合、LICフラグは、マージ・モードにおける動き情報コピーと同様の仕方で近傍ブロックからコピーされる;そうでない場合、LICが適用されるか否かを示すために、そのCUについてLICフラグが信号伝達される。
【0122】
あるピクチャーについてLICが有効にされている場合、LICがCUについて適用されるか否かを決定するために、追加的なCUレベルのRDチェックが必要とされる。CUについてLICが有効にされている場合、SADおよびSATDの代わりに、平均除去絶対差分和(mean-removed sum of absolute difference、MR-SAD)および平均除去絶対アダマール変換差分和(mean-removed sum of absolute Hadamard-transformed difference、MR-SATD)が、整数画素動き探索と端数画素動き探索のためにそれぞれ使用される。
【0123】
エンコード複雑性を低減するために、以下のエンコード方式がJEMにおいて適用される。
【0124】
LICは、現在ピクチャーとその参照ピクチャーの間に明白な照明変化がない場合、ピクチャー全体について無効にされる。この状況を識別するために、現在ピクチャーのヒストグラムおよび現在ピクチャーのすべての参照ピクチャーがエンコーダにおいて計算される。現在ピクチャーと現在ピクチャーのすべての参照ピクチャーとの間のヒストグラム差が所定の閾値より小さい場合、LICは現在ピクチャーについて無効にされ;そうでない場合は、現在ピクチャーについてLICは有効にされる。
【0125】
2.2.4 複合イントラおよびインター予測
【0126】
いくつかの実施形態では、複数仮説予測(multi-hypothesis prediction)が提案されており、ここでは、複合イントラおよびインター予測が、複数の仮説を生成するための1つの方法である。
【0127】
複数仮説予測がイントラモードを改善するために適用される場合、複数仮説予測は、1つのイントラ予測と1つのマージ・インデックス予測(merge indexed prediction)を組み合わせる。マージCUでは、マージ・モードのために1つのフラグが信号伝達される。該フラグが真である場合に、イントラ候補リストからイントラモードを選択するためである。ルーマ成分については、イントラ候補リストは、DC、平面、水平、垂直モードを含む4つのイントラ予測モードから導出され、イントラ候補リストのサイズは、ブロックの形状に依存して3または4でありうる。CU幅がCU高さの2倍より大きい場合、水平モードはイントラモード・リストから除外され、CU高さがCU幅の2倍より大きい場合、垂直モードはイントラモード・リストから削除される。イントラモード・インデックスによって選択される1つのイントラ予測モードと、マージ・インデックスによって選択される1つのマージ・インデックス予測(merge indexed prediction)が、重み付け平均を用いて組み合わされる。クロマ成分については、DMは常に余分な信号伝達なしで適用される。予測を組み合わせるための重みは、以下のように記述される。DCまたは平面モードが選択される場合、またはCB幅または高さが4未満の場合は、等しい重みが適用される。CBの幅および高さが4以上のCBについては、水平/垂直モードが選択される場合は、1つのCBがまず4つの等面積領域に垂直/水平に分割される。(w_intrai,w_interi)として示される各重み集合が対応する領域に適用される。ここで、iは1から4までであり、(w_intra1,w_inter1)=(6,2)、(w_intra2,w_inter2)=(5,3)、(w_intra3,w_inter3)=(3,5)、(w_intra4,w_inter4)=(2,6)である。(w_intra1,w_inter1)は参照サンプルに最も近い領域についてであり、(w_intra4,w_inter4)は参照サンプルから最も遠い領域についてである。次いで、組み合わされた予測は、2つの重み付けされた予測を足し合わせて3ビット右シフトすることによって計算できる。さらに、予測子のイントラ仮説のためのイントラ予測モードは、後続の近傍CUの参照のために保存されることができる。
【0128】
一般化された双予測
【0129】
従来の双予測では、等しい重み0.5を用いて、L0およびL1からの予測子が平均されて、最終予測子を生成する。予測子生成式は、式(3)のように示される。
【0130】
PTraditionalBiPred=(PL0+PL1+RoundingOffset)>>shiftNum (1)
【0131】
式(3)において、PTraditionalBiPredは従来の双予測についての最終予測子であり、PL0およびPL1はそれぞれL0およびL1からの予測子であり、RoundingOffsetおよびshiftNumは最終予測子を正規化するために使用される。
【0132】
L0およびL1からの予測子に異なる重みを適用することを許容する一般化された双予測(Generalized Bi-prediction、GBI)が提案される。予測子生成は、式(4)に示される。
【0133】
PGBi=((1-w1)*PL0+w1*PL1+RoundingOffsetGBi)>>shiftNumGBi (2)
【0134】
式(4)において、PGBiはGBiの最終予測子であり、(1-w1)およびw1はそれぞれL0およびL1の予測子にそれぞれ適用される、選択されたGBI重みである。RoundingOffsetGBiおよびshiftNumGBiはGBiの最終予測子を正規化するために使用される。
【0135】
サポートされるw1重みテーブルは{-1/4,3/8,1/2,5/8,5/4}である。1つの等重み集合と4つの不等重み集合がサポートされる。等重みの場合、最終予測子を生成するプロセスは、従来の双予測モードの場合と全く同じである。ランダムアクセス(RA)条件における真の双予測の場合、候補重み集合の数は3に減る。
【0136】
先進動きベクトル予測(AMVP)モードについては、もしこのCUが双予測によってコーディングされるならば、GBIにおける重み選択はCUレベルで明示的に信号伝達される。マージ・モードについては、重み選択はマージ候補から継承される。この提案では、GBIは、BMS-1.0についての最終予測子のほかにテンプレートの重み付け平均を生成するためにDMVRをサポートする。
【0137】
2.2.6 極限動きベクトル表式
【0138】
いくつかの実施形態では、極限動きベクトル表式(ultimate motion vector expression、UMVE)が提示される。UMVEは、提案される動きベクトル表式法を用いて、スキップまたはマージ・モードのいずれかに使用される。
【0139】
UMVEは、VVCで使用するのと同じようにマージ候補を再利用する。マージ候補の中で、候補が選択されることができ、提案される動きベクトル表式法によってさらに拡張される。
【0140】
UMVEは、単純化された信号伝達による新しい動きベクトル表式を提供する。この表式方法は、開始点、動きの大きさ、および動きの方向を含む。
【0141】
この提案される技法は、マージ候補リストをそのまま使用する。だが、デフォルトのマージタイプ(MRG_TYPE_DEFAULT_N)である候補だけが、UMVEの拡張のために考慮される。
【0142】
ベース候補インデックスが開始点を定義する。ベース候補インデックスは、リスト内の候補の中で最良の候補を次のように示す。
【0143】
テーブル1:ベース候補IDX
【表2】
【0144】
ベース候補の数が1に等しい場合、ベース候補IDXは信号伝達されない。
【0145】
【0146】
距離インデックスは、動きの大きさの情報である。距離インデックスは、開始点情報からのあらかじめ定義された距離を示す。あらかじめ定義された距離は次のとおり。
【0147】
テーブル2:距離IDX
【表3】
【0148】
方向インデックスは、開始点に対するMVDの方向を表わす。方向インデックスは、以下に示す4方向を表わすことができる。
【0149】
テーブル3:方向IDX
【表4】
【0150】
UMVEフラグは、スキップ・フラグおよびマージ・フラグを送った直後に信号伝達される。スキップおよびマージ・フラグが真の場合、UMVEフラグはパースされる。UMVEフラグが1に等しい場合、UMVEシンタックスはパースされる。しかし、1でなければ、AFFINE〔アフィン〕フラグがパースされる。AFFINEフラグが1に等しい場合、それはAFFINEモードであるが、1でなければ、スキップ/マージ・インデックスはVTMのスキップ/マージ・モードのためにパースされる。
【0151】
UMVE候補に起因する追加的なラインバッファは必要とされない。ソフトウェアのスキップ/マージ候補が直接ベース候補として使用されるためである。入力UMVEインデックスを用いて、MVの補足(the supplement)が、動き補償の直前に決定される。このために長いラインバッファを保持する必要はない。
【0152】
2.2.7 履歴ベースの動きベクトル予測
【0153】
我々の以前の発明P1805028401Hでは、ブロックの動き情報を予測するために、少なくとも1つの動き候補が格納された一つまたは複数のルックアップテーブルがある。
【0154】
HMVP候補が以前にコーディングされたブロックの動き情報として定義される履歴ベースMVP(history-based MVP、HMVP)法が提案される。複数のHMVP候補をもつテーブルが、エンコード/デコード・プロセス中に維持される。新しいスライスに遭遇すると、テーブルは空にされる。インターコーディングブロックがあるときはいつでも、関連する動き情報が新しいHMVP候補としてテーブルの最後のエントリーに追加される。全体的なコーディングフローを図13に示す。
【0155】
一例では、テーブルサイズはL(たとえば、L=16または6、または44)に設定され、これはL個のHMVP候補がテーブルに追加される可能性があることを示す。
【0156】
ある実施形態では、前にコーディングされたブロックからのL個より多いHMVP候補がある場合、テーブルが常に最新の前にコーディングされたL個の動き候補を含むように、先入れ先出し(First-In-First-Out、FIFO)規則が適用される。図14は、HMVP候補を除去し、提案された方法で使用されたテーブルに新しいものを追加するために、FIFO規則が適用される例を示す。
【0157】
別の実施形態では、新しい動き候補を追加するとき(たとえば、現在ブロックがインターコーディングされ、非アフィン・モード)はいつでも、諸LUTの中に同一または類似の動き候補があるかどうかを識別するために、まず冗長性チェック・プロセスが適用される。
【0158】
2.2.8 対称動きベクトル差分
【0159】
いくつかの実施形態では、MVDをより効率的にエンコードするために、対称動きベクトル差分(symmetric motion vector difference、SMVD)が提案される。
【0160】
第一に、スライス・レベルでは、変数BiDirPredFlag、RefIdxSymL0、RefIdxSymL1は次のように導出される。
【0161】
現在ピクチャーに最も近い、参照ピクチャー・リスト0における前方参照ピクチャー(forward reference picture)が検索される。見つかった場合、RefIdxSymL0は前方ピクチャーの参照インデックスに等しく設定される。
【0162】
現在ピクチャーに最も近い、参照ピクチャー・リスト1における後方参照ピクチャー(backward reference picture)が検索される。見つかった場合、RefIdxSymL1は、後方ピクチャーの参照インデックスに等しく設定される。
【0163】
前方と後方の両方のピクチャーが見つかった場合、BiDirPredFlagは1に設定される。
【0164】
それ以外の場合は、下記が適用される。
【0165】
現在のものに最も近い、参照ピクチャー・リスト0における後方参照ピクチャーが検索される。見つかった場合、RefIdxSymL0は、後方ピクチャーの参照インデックスに等しく設定される。
【0166】
現在のものに最も近い、参照ピクチャー・リスト1における前方参照ピクチャーが検索される。見つかった場合、RefIdxSymL1は前方ピクチャーの参照インデックスに等しく設定される。
【0167】
後方と前方の両方のピクチャーが見つかった場合、BiDirPredFlagは1に設定される。それ以外の場合、BiDirPredFlagは0に等しく設定される。
【0168】
第二に、CUレベルでは、CUについての予測方向が双予測であり、BiDirPredFlagが1に等しい場合、対称モードが使用されるか否かを示す対称モード・フラグが明示的に信号伝達される。
【0169】
該フラグが真である場合、mvp_l0_flag、mvp_l1_flag、MVD0のみが明示的に信号伝達される。参照インデックスは、リスト0、リスト1についてそれぞれRefIdxSymL0、RefIdxSymL1に等しく設定される。MVD1は、-MVD0に等しく設定される。最終的な動きベクトルが次式に示される。
【0170】
【数1】
【0171】
コーディング単位シンタックスにおける修正をテーブル2に示す。
【0172】
テーブル2:コーディング単位シンタックスにおける修正
【表5】
【0173】
2.2.9 VTM4におけるCIIP
VTM4では、CUがマージ・モードでコーディングされ、CUが少なくとも64個のルーマ・サンプルを含む(すなわち、CU幅×CU高さが64以上)場合、現在のCUに複合インター/イントラ予測(CIIP)モードが適用されるかどうかを示すために追加的なフラグが信号伝達される。
【0174】
CIIP予測を形成するために、まず、2つの追加的なシンタックス要素からイントラ予測モードが導出される。DC、平面、水平、または垂直の4種類までの可能なイントラ予測モードが使用できる。次いで、通常のイントラおよびインター・デコード・プロセスを用いて、インター予測およびイントラ予測信号が導出される。最後に、インターおよびイントラ予測信号の重み付け平均が実行されて、CIIP予測が得られる。
【0175】
1.イントラ予測モードの導出
CIIPモードでは、DC、平面、水平、および垂直モードを含む最大4つのイントラ予測モードが、ルーマ成分を予測するために使用できる。CU形状が非常に幅広である場合(すなわち、幅が高さの2倍を超える場合)は、水平モードは許容されない。CUの形状が非常に狭い場合(つまり、高さが幅の2倍を超える場合)は、垂直モードは許容されない。これらの場合、3つのイントラ予測モードのみが許容される。
【0176】
CIIPモードは、イントラ予測のために3つの最確モード〔最も確からしいモード〕(most probable mode、MPM)を使用する。CIIP MPM候補リストは、次のように形成される:
-左近傍ブロックおよび上近傍ブロックはそれぞれAおよびBとして設定される。
-ブロックAおよびブロックBのイントラ予測モードは、それぞれintraModeAおよびintraModeBと記され、以下のように導出される:
○XをAかBのどちらかとする
○intraModeXは、1)ブロックXが利用可能でない場合、または2)ブロックXがCIIPモードまたはイントラモードを使用して予測されない場合、3)ブロックBが現在のCTUの外側にある場合、DCに設定される
○それ以外の場合、intraModeXは、1)ブロックXのイントラ予測モードがDCまたは平面の場合はDCまたは平面;または2)ブロックXのイントラ予測モードが「垂直様」角度モード(34より大きい)の場合は垂直、または3)ブロックXのイントラ予測モードが「水平様」角度モード(34以下)の場合は水平に設定される
-intraModeAとintraModeBが同じ場合:
○intraModeAが平面またはDCの場合、3つのMPMは{平面,DC,垂直}に設定される(この順で)
○そうでない場合、3つのMPMは{intraModeA,平面,DC}に設定される(この順で)
-それ以外の場合(intraModeAとintraModeBが異なる):
○最初の2つのMPMは{intraModeA,intraModeB}に(この順で)設定される
○平面、DC、垂直のユニーク性(uniqueness)が、この順で、最初の2つのMPM候補モードに対してチェックされ、ユニークな(unique)モードが見つかったらすぐに、それが3番目のMPMとして追加される。
【0177】
CUの形状が上記で定義したところにより非常に幅広である、または、非常に狭い場合、MPMフラグは、信号伝達なしで1であると推定される。そうでない場合、CIIPイントラ予測モードがCIIP MPM候補モードの1つであるかどうかを示すために、MPMフラグが信号伝達される。
【0178】
MPMフラグが1である場合、CIIPイントラ予測においてどのMPM候補モードが使用されるかを示すために、MPMインデックスがさらに信号伝達される。そうでなく、MPMフラグが0の場合は、イントラ予測モードは、MPM候補リストにおける「欠落(missing)」モードに設定される。たとえば、平面モードがMPM候補リストにない場合、平面が欠落モードになり、イントラ予測モードは平面に設定される。CIIPでは4つの可能なイントラ予測モードが許容され、MPM候補リストは3つのイントラ予測モードしか含まないため、4つの可能なモードのうちの1つは欠落モードでなければならない。
【0179】
クロマ成分については、追加的な信号伝達なしで常にDMモードが適用される。すなわち、クロマはルーマと同じ予測モードを使用する。
【0180】
CIIPコーディングCUのイントラ予測モードは保存され、将来の近傍CUのイントラモードコーディングにおいて使用される。
【0181】
2.2.9.2 インターおよびイントラ予測信号の組み合わせ
【0182】
CIIPモードにおけるインター予測信号Pinterは、通常のマージ・モードに適用される同じインター予測プロセスを用いて導出され、イントラ予測信号Pintraは、通常のイントラ予測プロセスに従ってCIIPイントラ予測モードを用いて導出される。次いで、重み付け平均を用いて、イントラ予測信号とインター予測信号が組み合わされる。ここで、重み値はイントラ予測モードに依存し、サンプルはコーディングブロック内に位置する。これは以下のようになる:
-イントラ予測モードがDCまたは平面モードである場合、またはブロック幅または高さが4より小さい場合、イントラ予測およびインター予測信号に等しい重みが適用される。
-そうでない場合、重みは、イントラ予測モード(この場合は水平モードまたは垂直モード)およびブロック内のサンプル位置に基づいて決定される。水平予測モードを例にとる(垂直モードについての重みは同様に、ただし直交方向において導出される)。Wをブロックの幅、Hをブロックの高さとする。コーディングブロックは、まず、それぞれ寸法(W/4)×Hの4つの等面積部分に分割される。イントラ予測参照サンプルに最も近い部分から始まり、イントラ予測参照サンプルから最も離れた部分で終わる4つの領域のそれぞれについての重みwtは、それぞれ6、5、3、および2に設定される。最終的なCIIP予測信号は、次式を用いて導出される:
【数2】
【0183】
VTM5におけるCIIP
VTM5では、CUがマージ・モードでコーディングされるとき、CUが少なくとも64個のルーマ・サンプルを含み(すなわち、CU幅×CU高さが64以上)、CU幅とCU高さの両方が128ルーマ・サンプル未満であれば、現在のCUに対して複合インター/イントラ予測(CIIP)モードが適用されるかどうかを示すために追加的なフラグが信号伝達される。その名前が示すように、CIIP予測は、イントラ予測信号とインター予測信号を組み合わせる。CIIPモードでのインター予測信号Pinterは、通常のマージ・モードに適用されるのと同じインター予測プロセスを用いて導出され、イントラ予測信号Pintraは、平面モードを用いて通常のイントラ予測プロセスに従って導出される。次いで、重み付け平均を用いて、イントラ予測信号およびインター予測信号が組み合わされる。ここで、重み値は、次のように、上の近傍ブロックおよび左の近傍ブロック(図16に示される)のコーディングモードに依存して計算される:
-上の近傍が利用可能であり、イントラコーディングされている場合、isIntraTopを1に設定し、そうでない場合はisIntraTopを0に設定する;
-左近傍が利用可能であり、イントラコーディングされている場合、isIntraLeftを1に設定し、そうでない場合はisIntraLeftを0に設定する;
-(isIntraLeft+isIntraTop)が2に等しい場合、wtは3に設定される;
-そうではなく、(isIntraLeft+isIntraTop)が1に等しい場合、wtは2に設定される;
-それ以外の場合は、wtを1に設定する。
【0184】
CIIP予測は以下のように形成される:
【数3】
【0185】
図16は、CIIP重み導出において使用される上および左近傍ブロックを示す。
【0186】
2.3 イントラモード導出プロセス
【0187】
現在のVTM-4.0では、1つのイントラコーディングブロックをコーディングするとき、1つの最確モード(MPM)フラグがまず信号伝達される。もしMPMフラグが真であれば、MPMリストへのインデックスがさらに信号伝達される。さもなければ、非MPMモードのインデックスが信号伝達される。
【0188】
最新のVVC仕様(JVET-M1001_v7)における関連するシンタックス要素、シンメトリック、デコード・プロセスは以下のように与えられている:
【0189】
関連するシンタックス
【0190】
コーディング単位シンタックス
【表6】
【0191】
意味内容
【0192】
シンタックス要素intra_luma_mpm_flag[x0][y0]、intra_luma_mpm_idx[x0][y0]、intra_luma_mpm_resedder[x0][y0]は、ルーマ・サンプルについてのイントラ予測モードを指定する。配列インデックスx0,y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されるコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。intra_luma_mpm_flag[x0][y0]が1に等しい場合、イントラ予測モードは、8.4.2節に従って近傍のイントラ予測されたコーディング単位から推定される。
【0193】
intra_luma_mpm_flag[x0][y0]が存在しない場合、1に等しいと推定される。
【0194】
デコード・プロセス
【0195】
ルーマ・イントラ予測モードについての導出プロセス
このプロセスへの入力は以下の通り:
現在ピクチャーの左上のルーマ・サンプルに対する現在のルーマコーディングブロックの左上のサンプルを指定するルーマ位置(xCb,yCb)、
ルーマ・サンプル単位で現在のコーディングブロックの幅を指定する変数cbWidth、
ルーマ・サンプル単位で現在のコーディングブロックの高さを指定する変数cbHeight。
このプロセスでは、ルーマ・イントラ予測モードIntraPredModeY[xCb][yCb]が導出される。
テーブル8-1は、イントラ予測モードIntraPredModeY[xCb][yCb]および関連する名前についての値を指定する。
テーブル8-1-イントラ予測モードおよび関連する名前の指定
【表7】
注記:イントラ予測モードINTRA_LT_CCLM、INTRA_L_CCLM、INTRA_T_CCLMはクロマ成分にのみ適用できる。
IntraPredModeY[xCb][yCb]は、以下の順序付けられたステップによって導出される:
1.近傍位置(xNbA,yNbA)および(xNbB,yNbB)は、それぞれ(xCb-1,yCb+cbHeight-1)および(xCb+cbWidth-1,yCb-1)に等しく設定される。
2.AまたはBのいずれかで置き換えられるXについて、変数candIntraPredModeXは次のように導出される:
-6.4.X節に規定されるブロックについての利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]は、(xCb,yCb)に等しいと設定された位置(xCurr,yCurr)と、(xNbX,yNbX)に等しいと設定された近傍位置(xNbY,yNbY)とを入力として呼び出され、出力はavailableXに割り当てられる。
-候補イントラ予測モードcandIntraPredModeXは以下のように導出される:
-下記の条件の一つまたは複数が真の場合、candIntraPredModeXはINTRA_PLANARに等しく設定される。
-変数avalableXはFALSEに等しい。
-CuPredMode[xNbX][yNbX]はMODE_INTRAと等しくなく、ciip_flag[xNbX][yNbX]は1と等しくない。
-pcm_flag[xNbX][yNbX]は1に等しい。
-XはBに等しく、yCb-1は((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)より小さい。
-それ以外の場合、candIntraPredModeXはIntraPredModeY[xNbX][yNbX]に等しく設定される。
3.変数ispDefaultMode1およびispDefaultMode2は次のように定義される:
-IntraSubPartitionsSplitTypeがISP_HOR_SPLITに等しい場合、ispDefaultMode1はINTRA_ANGULAR18に等しく設定され、ispDefaultMode2はINTRA_ANGULAR5に等しく設定される。
-そうでない場合、ispDefaultMode1はINTRA_ANGULAR50に等しく設定され、ispDefaultMode2はINTRA_ANGULAR63に等しく設定される。
4.x=0…5として、candModeList[x]は次のように導出される:
-candIntraPredModeBがcandIntraPredModeAに等しく、candIntraPredModeAがINTRA_DCより大きい場合、x=0…5として、candModeList[x]は次のように導出される:
-IntraLumaRefLineIdx[xCb][yCb]が0に等しく、IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しい場合、下記が適用される:
candModeList[0]=candIntraPredModeA (8-9)
candModeList[1]=INTRA_PLANAR (8-10)
candModeList[2]=INTRA_DC (8-11)
candModeList[3]=2+((candIntraPredModeA+61)%64) (8-12)
candModeList[4]=2+((candIntraPredModeA-1)%64) (8-13)
candModeList[5]=2+((candIntraPredModeA+60)%64) (8-14)
-それ以外の場合(IntraLumaRefLineIdx[xCb][yCb]が0に等しくないか、IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくない場合)、下記が適用される:
candModeList[0]=candIntraPredModeA (8-15)
candModeList[1]=2+((candIntraPredModeA+61)%64) (8-16)
candModeList[2]=2+((candIntraPredModeA-1)%64) (8-17)
-下記の条件:
-IntraSubpartitionsSplitTypeがISP_HOR_SPLITに等しく、candIntraPredModeAがINTRA_ANGULAR34より小さい、
-IntraSubpartitionsSplitTypeがISP_VER_SPLITに等しく、candIntraPredModeAがINTRA_ANGULAR34以上である、
-IntraLumaRefLineIdx[xCb][yCb]が0に等しくない
のうちの一つが真である場合、下記が適用される:
candModeList[3]=2+((candIntraPredModeA+60)%64) (8-18)
candModeList[4]=2+(candIntraPredModeA%64) (8-19)
candModeList[5]=2+((candIntraPredModeA+59)%64) (8-20)
-それ以外の場合は、下記が適用される:
candModeList[3]=ispDefaultMode1 (8-21)
candModeList[4]=ispDefaultMode2 (8-22)
candModeList[5]=INTRA_PLANAR (8-23)
-そうではなく、candIntraPredModeBがcandIntraPredModeAに等しくなく、candIntraPredModeAまたはcandIntraPredModeBがINTRA_DCより大きい場合、下記が適用される:
-変数minABおよびmaxABは次のように導出される:
minAB=Min(candIntraPredModeA,candIntraPredModeB) (8-24)
maxAB=Max(candIntraPredModeA,candIntraPredModeB) (8-25)
-candIntraPredModeAとcandIntraPredModeBがいずれもINTRA_DCよりも大きい場合、x=0…5として、candModeList[x]は次のように導出される:
candModeList[0]=candIntraPredModeA (8-26)
candModeList[1]=candIntraPredModeB (8-27)
-IntraLumaRefLineIdx[xCb][yCb]が0に等しく、IntraSubpartitionsSplitTypeがISP_NO_SPLITに等しい場合、下記が適用される:
candModeList[2]=INTRA_PLANAR (8-28)
candModeList[3]=INTRA_DC (8-29)
・maxAB-minABが2~62の範囲(両端を含む)にある場合は、下記が適用される:
candModeList[4]=2+((maxAB+61)%64) (8-30)
candModeList[5]=2+((maxAB-1)%64) (8-31)
・それ以外の場合は、下記が適用される:
candModeList[4]=2+((maxAB+60)%64) (8-32)
candModeList[5]=2+((maxAB)%64) (8-33)
-それ以外の場合(IntraLumaRefLineIdx[xCb][yCb]が0に等しくないか、またはIntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくない場合)、下記が適用される:
-IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくなく、かつabs(candIntraPredModeB-ispDefaultMode1)がabs(candIntraPredModeA-ispDefaultMode1)より小さい場合は、下記が適用される:
candModeList[0]=candIntraPredModeB (8-34)
candModeList[1]=candIntraPredModeA (8-35)
-もしmaxAB-minABが1に等しい場合、下記が適用される:
candModeList[2]=2+((minAB+61)%64) (8-36)
candModeList[3]=2+((maxAB-1)%64) (8-37)
candModeList[4]=2+((minAB+60)%64) (8-38)
candModeList[5]=2+(maxAB%64) (8-39)
-それ以外の場合、maxAB-minABが2に等しい場合、下記が適用される:
candModeList[2]=2+((minAB-1)%64) (8-40)
candModeList[3]=2+((minAB+61)%64) (8-41)
candModeList[4]=2+((maxAB-1)%64) (8-42)
candModeList[5]=2+((minAB+60)%64) (8-43)
-それ以外の場合、maxAB-minABが61より大きい場合、下記が適用される:
candModeList[2]=2+((minAB-1)%64) (8-44)
candModeList[3]=2+((maxAB+61)%64) (8-45)
candModeList[4]=2+(minAB%64) (8-46)
candModeList[5]=2+((maxAB+60)%64) (8-47)
-それ以外の場合、下記が適用される:
candModeList[2]=2+((minAB+61)%64) (8-48)
candModeList[3]=2+((minAB-1)%64) (8-49)
candModeList[4]=2+((maxAB+61)%64) (8-50)
candModeList[5]=2+((maxAB-1)%64) (8-51)
-それ以外の場合(candIntraPredModeAまたはcandIntraPredModeBがINTRA_DCより大きい)、x=0…5として、candModeList[x]は次のように導出される:
-IntraLumaRefLineIdx[xCb][yCb]が0に等しく、IntraSubpartitionsSplitTypeがISP_NO_SPLITに等しい場合、下記が適用される:
candModeList[0]=candIntraPredModeA (8-52)
candModeList[1]=candIntraPredModeB (8-53)
candModeList[2]=1-minAB (8-54)
candModeList[3]=2+((maxAB+61)%64) (8-55)
candModeList[4]=2+((maxAB-1)%64) (8-56)
candModeList[5]=2+((maxAB+60)%64) (8-57)
-それ以外の場合で、IntraLumaRefLineIdx[xCb][yCb]が0に等しくない場合、下記が適用される:
candModeList[0]=maxAB (8-58)
candModeList[1]=2+((maxAB+61)%64) (8-59)
candModeList[2]=2+((maxAB-1)%64) (8-60)
candModeList[3]=2+((maxAB+60)%64) (8-61)
candModeList[4]=2+(maxAB%64) (8-62)
candModeList[5]=2+((maxAB+59)%64) (8-63)
-それ以外の場合(IntraSubPartitionsSplitTypeがISP_NO_SPLITと等しくない場合)、下記が適用される:
candModeList[0]=INTRA_PLANAR (8-64)
candModeList[1]=maxAB (8-65)
candModeList[2]=2+((maxAB+61)%64) (8-66)
candModeList[3]=2+((maxAB-1)%64) (8-67)
candModeList[4]=2+((maxAB+60)%64) (8-68)
candModeList[5]=2+(maxAB%64) (8-69)
-それ以外の場合は、下記が適用される:
-IntraLumaRefLineIdx[xCb][yCb]が0に等しく、IntraSubpartitionsSplitTypeがISP_NO_SPLITに等しい場合、下記が適用される:
candModeList[0]=candIntraPredModeA (8-70)
candModeList[1]=(candModeList[0]==INTRA_PLANAR)?INTRA_DC:INTRA_PLANAR (8-71)
candModeList[2]=INTRA_ANGULAR50 (8-72)
candModeList[3]=INTRA_ANGULAR18 (8-73)
candModeList[4]=INTRA_ANGULAR46 (8-74)
candModeList[5]=INTRA_ANGULAR54 (8-75)
-それ以外の場合で、IntraLumaRefLineIdx[xCb][yCb]が0に等しくない場合、下記が適用される:
candModeList[0]=INTRA_ANGULAR50 (8-76)
candModeList[1]=INTRA_ANGULAR18 (8-77)
candModeList[2]=INTRA_ANGULAR2 (8-78)
candModeList[3]=INTRA_ANGULAR34 (8-79)
candModeList[4]=INTRA_ANGULAR66 (8-80)
candModeList[5]=INTRA_ANGULAR26 (8-81)
-それ以外の場合で、IntraSubPartitionsSplitTypeがISP_HOR_SPLITに等しい場合、下記が適用される:
candModeList[0]=INTRA_PLANAR (8-82)
candModeList[1]=INTRA_ANGULAR18 (8-83)
candModeList[2]=INTRA_ANGULAR25 (8-84)
candModeList[3]=INTRA_ANGULAR10 (8-85)
candModeList[4]=INTRA_ANGULAR65 (8-86)
candModeList[5]=INTRA_ANGULAR50 (8-87)
-それ以外の場合で、IntraSubPartitionsSplitTypeがISP_VER_SPLITに等しい場合、下記が適用される:
candModeList[0]=INTRA_PLANAR (8-88)
candModeList[1]=INTRA_ANGULAR50 (8-89)
candModeList[2]=INTRA_ANGULAR43 (8-90)
candModeList[3]=INTRA_ANGULAR60 (8-91)
candModeList[4]=INTRA_ANGULAR3 (8-e)
candModeList[5]=INTRA_ANGULAR18 (8-93)
5.IntraPredModeY[xCb][yCb]は、以下の手順を適用して導出される:
-intra_luma_mpm_flag[xCb][yCb]が1に等しい場合、IntraPredModeY[xCb][yCb]はcandModeList[intra_luma_mpm_idx[xCb][yCb]]に等しく設定される。
-それ以外の場合、IntraPredModeY[xCb][yCb]は、次の順序付けられたステップを適用することによって導出される:
1.i=0…4および各i、j=(i+1…5)についてcandModeList[i]がcandModeList[j]より大きい場合、両方の値は次のように交換される:
(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j]) (8-94)
2.IntraPredModeY[xCb][yCb]は、以下の順序付けられたステップによって導出される:
i.IntraPredModeY[xCb][yCb]は、intra_luma_mpm_remainder[xCb][yCb]に等しく設定される。
ii.0~5に等しいiについて、IntraPredModeY[xCb][yCb]がcandModeList[i]以上である場合、IntraPredModeY[xCb][yCb]の値は1だけインクリメントされる。
変数IntraPredModeY[x][y](ここで、x=xCb…xCb+cbWidth-1およびy=yCb…yCb+cbHeight-1)は、IntraPredModeY[xCb][yCb]に等しく設定される。
【0196】
3.実施形態によって解決される問題の例
【0197】
LICでは、スケーリング・パラメータおよびオフセットbを含む2つのパラメータが、近傍の再構成されたサンプルを使用することによって導出される必要があり、それが遅延問題を引き起こす可能性がある。
【0198】
GBIで使用される許容される重み付け因子の集合は固定されており、これは非効率的でありうる。
【0199】
CIIPモードは非スキップ・マージ・モードにのみ適用され、これは非効率的でありうる。
【0200】
現在の設計では、CIIPモード・フラグは、イントラコーディングブロックのイントラモード導出プロセスおよびCIIPコーディングブロックのイントラモード導出プロセスのために、近傍ブロックのCIIPモード・フラグが利用されるので、CIIPモード・フラグが記憶される必要がある。
【0201】
現在の設計では、CIIP重み導出をさらに改善することができ、たとえば、2つの近傍ブロックおよび3つの異なる重みペアをチェックすることは単純化できる可能性がある。
【0202】
現在の設計では、CIIP重み導出プロセスの間、近傍ブロックがBDPCMモードでコーディングされる場合、それはイントラモードとして扱われる。しかしながら、BDPCMはスクリーン・コンテンツコーディングのために設計されているので、非イントラ・モードとして扱うほうがより合理的でありうる。
【0203】
4.実施形態の例
【0204】
以下、ブロックは、変換単位(TU)/予測単位(PU)/コーディング単位(CU)/一つのTU/PU/CU等の中のサブブロックを表わすために使用される。
【0205】
以下の詳細な技術は、一般的な概念を説明するための例として考慮されるべきである。これらの技術は狭義に解釈されるべきではない。さらに、これらの技術は、任意の仕方で組み合わせることができる。
【0206】
(xCb,yCb)を現在ピクチャーの左上のサンプルに対する現在ブロックの左上のサンプルの位置とすると、cbWidthおよびcbHeightは現在ブロックの幅および高さを指定する。
1.CIIPフラグまたは/およびLICフラグまたは/および拡散フィルタリング・フラグまたは/およびバイラテラルフィルタリング・フラグまたは/および変換ドメインフィルタリング・フラグ、または/および他の種類の再構成後フィルタの有効化フラグは、他のブロック(たとえば隣接するまたは非隣接の近傍ブロックおよび/または参照ブロック)のコーディングモードに依存して、偽であるように制約されてもよい(およびCIIPまたは/およびLICまたは/および拡散フィルタまたは/およびバイラテラルフィルタまたは/および変換ドメインフィルタは暗黙的に無効にされてもよい)。
a.1つのフラグが偽であると導出された場合、対応する方法は適用されなくてもよい。
b.1つのフラグが偽であると導出された場合、そのようなモードの使用の指示の信号伝達はスキップされる。
c.1つのフラグが偽であると導出された場合、そのようなモードの使用の指示は依然として信号伝達されうるが、準拠ビットストリームでは偽であると制約され、そのようなモードは適用されない。
d.一例では、(1.a、1.bおよび1.cのような)一つまたは複数の提案された制約を適用するか否かは、隣接するおよび/または隣接しない近傍の行または列の全部または一部のもののコーディングモードに依存しうる。
i.あるいはまた、そのような制約を適用するか否かは、ある種のモードでコーディングされていない隣接するまたは隣接しない近傍の行または列におけるサンプルの少なくともN個(N≧1)に依存しうる。
e.一例では、隣接するおよび/または隣接しない近傍の行は、上記の行および/または右上の行を含んでいてもよい。
f.一例では、近傍の隣接するおよび/または隣接しない近傍の列は、左の列および/または左下および/または左上コーナーを含んでいてもよい。
g.一例では、現在ブロックではないブロックのある種のモードは、イントラモードおよび/またはCIIPモードおよび/またはCPRモードを含みうる。
h.一例では、近傍のおよび/または隣接しない行または列における近傍の/隣接しないブロックの任意のものが、ある種のモード(たとえば、イントラおよび/またはCIIPモードおよび/またはCPRモード)でコーディングされる場合、一つまたは複数の制約(1.a、1.bおよび1.cなど)が適用される。
i.一例では、隣接するおよび/または隣接しない近傍の行または列内のすべての近傍の/隣接しないブロックが、ある種のモード(たとえば、イントラおよび/またはCIIPおよび/またはCPRモード)でコーディングされる場合、一つまたは複数の提案された制約が適用される。
j.一例では、近傍のまたは隣接しない行または列における少なくともN個の近傍の/隣接しないブロックが、ある種のモード(たとえば、イントラおよび/またはCIIPモードおよび/またはCPRモード)でコーディングされていない場合、一つまたは複数の提案された制約(1.a、1.bおよび1.cなど)は適用されない
k.一例では、一つまたは複数の提案された制約(1.a、1.bおよび1.cなど)を適用するか否かは、現在ブロックの位置に依存しうる。
i.一例では、現在ブロックが現在のCTUのいちばん上にある場合(現在ブロックと上の近傍ブロックが異なるCTUに属する場合)、提案された制約は適用されない。
ii.一例では、現在ブロックが現在のCTUの左にある場合(現在ブロックとその左の隣接ブロックは異なるCTUに属する)、提案された制約は適用されない。
2.CIIPモードのCIIPフラグおよび/またはイントラモードは、履歴ベースの動きベクトル予測(HMVP)テーブル内に動き情報とともに記憶されてもよい。
a.一例では、2つの候補の動き情報(枝刈りプロセスなど)を比較する場合、CIIPモードにおけるCIIPフラグまたは/およびイントラモードは、比較において考慮されない。
b.一例では、2つの候補の動き情報を比較するとき、CIIPモードにおけるCIIPフラグまたは/およびイントラモードが、比較において考慮される。
c.一例では、マージ候補がHMVPテーブルのエントリーからである場合、そのエントリーのCIIPフラグもマージ候補にコピーされる。
d.一例では、マージ候補がHMVPテーブルのエントリーからである場合、そのエントリーのCIIPフラグおよびイントラモードもマージ候補にコピーされる。
3.CIIPは、AMVPモード(AMVPモードまたは/およびSMVD付きAMVPモード)について実行されてもよい。
a.近傍の/隣接しないブロックのCIIPモードにおけるCIIPフラグおよび/またはイントラモードは、現在ブロックのマージ・モードまたは/およびUMVE(動きベクトル差分のあるマージ(merge with motion vector difference)、略してMMVDとしても知られる)モードにおいて継承されてもよい。
b.CIIPモードにおけるCIIPフラグおよび/またはイントラモードは、非スキップ・マージ・モードまたは/および非スキップUMVEモードについて信号伝達されてもよく、近傍の/隣接しないブロックのCIIPモードにおけるCIIPフラグおよび/またはイントラモードは、スキップ・マージ・モードまたは/およびスキップUMVEモードにおいて継承されてもよい。
c.CIIPモードにおけるCIIPフラグおよび/またはイントラモードは、スキップ・マージ・モードまたは/およびスキップUMVEモードについて信号伝達されてもよく、近傍の/隣接しないブロックのCIIPモードにおけるCIIPフラグおよび/またはイントラモードは、非スキップ・マージ・モードまたは/および非スキップUMVEモードにおいて継承されてもよい。
d.一例では、CIIPフラグおよびイントラモードは、AMVPモードについて信号伝達されてもよい。
e.一例では、CIIPフラグはマージ・モードまたは/およびUMVEモードにおいて継承されてもよく、CIIPフラグが真であれば、2つ以上のイントラモードがCIIPで許可されている場合に、イントラモードがさらに信号伝達されてもよい。
f.一例では、マージ・モードまたは/およびUMVEモードにおける近傍の/隣接しないブロックのCIIPフラグおよびイントラモードは、現在ブロックによって継承されてもよい。
g.一例では、CIIPは、スキップ・モードについては無効にされてもよい。
h.一例では、2つのマージ候補を比較するとき、CIIPにおけるCIIPフラグまたは/およびイントラモードは、比較において考慮されなくてもよい。
i.一例では、2つのマージ候補を比較するとき、CIIPにおけるCIIPフラグまたは/およびイントラモードが、比較において考慮されてもよい。
4.CIIPは、ペア毎予測、複合双予測、または他の種類の仮想/人工候補(たとえば、ゼロ動きベクトル候補)については無効にされてもよい。
a.あるいはまた、ペア毎予測または複合双予測に関与する2つの候補のうちの1つがCIIP予測を採用する場合、ペア毎または複合双マージ候補(combined-bi merge candidate)についてCIIPが有効にされてもよい。
ii.一例では、CIIPモード候補のイントラモードが継承されてもよい。
iii.一例では、イントラモードは明示的に信号伝達されてもよい。
b.あるいはまた、ペア毎予測または複合双予測に関与する両方の候補がCIIP予測を採用する場合、ペア毎または複合双マージ候補についてCIIPが有効にされてもよい。
iv.一例では、2つの候補のうちの1つのイントラモードが継承されてもよい。
v.一例では、イントラモードは、2つの候補のイントラモードから導出されてもよく、ペア毎または複合双マージ候補のために使用される。
vi.一例では、イントラモードは明示的に信号伝達されてもよい。
5.CIIPモードまたは/および拡散フィルタまたは/およびバイラテラルフィルタまたは/および変換ドメインフィルタまたは/および他の種類の再構成後フィルタにおいて必要とされる近傍のおよび/または隣接しない空間的に再構成されたサンプルは、参照ピクチャーにおける対応するサンプル(図17に示されるように、参照ブロックの近傍のおよび/または隣接しない空間的サンプルなど)によって置き換えられてもよい。
a.一例では、現在ブロックが双予測される場合、2つの参照ブロックの近傍サンプルは平均化されて、最終的な近傍サンプルを生成してもよい。
b.一例では、現在ブロックが双予測される場合、2つの参照ブロックのうちの一方の近傍サンプルが、最終的な近傍サンプルとして使用されてもよい。
c.一例では、現在ブロックが双予測される場合、もし不等重みのGBIまたは重み付けされた予測またはLICが現在ブロックに適用されるならば、2つの参照ブロックの近傍サンプルが重み付け平均されて、最終的な近傍サンプルを生成してもよい。
d.一例では、参照ピクチャー内の対応するサンプル(たとえば、参照ブロックの近傍サンプル)は、現在ブロックの動き情報によって識別されてもよい。
e.一例では、参照ピクチャー内の対応するサンプル(たとえば、参照ブロックの近傍サンプル)は、現在ブロックの修正された動き情報によって識別されてもよい。たとえば、動きベクトルは、近傍サンプルを識別するために使用される前に整数精度に丸められてもよい。
f.一例では、参照ピクチャー内の対応するサンプル(たとえば、参照ブロックの近傍サンプル)は、整数画素精度で動きベクトルを介して識別される。
i.一例では、参照ブロックを参照するMVは、まず整数ピクセルに丸められる。丸められたMVは、参照ブロックの近傍サンプルを識別するために使用される。
ii.一例では、提案される置換は、現在ブロックが整数画素動き情報でコーディングされるときに適用される。したがって、丸めは必要とされない。
g.一例では、提案される置換は、ルーマ成分のみなど、ある種の色成分について適用されるだけであってもよい。
i.あるいはまた、提案された置換は、すべての色成分について適用されてもよい。
6.後続ブロックをコーディングするために以前にコーディングされたCIIPフラグを使用することを禁止することが提案される。
a.一例では、前にコーディングされたブロックからのCIIPフラグのチェック・プロセスは、スループットを改善するためにスキップされる。
b.一例では、イントラモード導出プロセスにおける近傍ブロックからのCIIPフラグのチェック・プロセスはスキップされる。
i.一例では、1つの近傍ブロックについて、それがCIIPモードでコーディングされる場合、関連するイントラモードは、所与のモード(たとえば、平面モード)に設定されてもよい。あるいはまた、さらに、関連するイントラモードが、MPMリスト導出プロセスにおいて使用されてもよい。
ii.一例では、1つの近傍ブロックについて、それがCIIPモードまたは通常のインター・モードでコーディングされる場合、関連するイントラモードは、所与のモード(たとえば、平面モード)に設定されてもよい。あるいはまた、さらに、関連するイントラモードが、MPMリスト導出プロセスにおいて使用されてもよい。
iii.一例では、CIIPコーディングブロックのイントラモードは記憶されなくてもよく、CIIPコーディングブロックはデコード・プロセスにおいて利用可能でないとみなされてもよい。あるいはまた、CIIPコーディングブロックは、通常のインター・モードと同様に扱われてもよい。
c.あるいはまた、さらに、モード情報を格納するための必要なメモリサイズを節約するために、メモリからCIIPフラグを除去することが提案される。
7.CIIPモード・フラグがバイパスコーディングによってコーディングされることが提案される。
a.あるいはまた、CIIPモード・フラグはコンテキストコーディングされてもよいが、近傍ブロックのCIIPモード・フラグは参照しない。
8.CIIPにおいて重み付け和を行なうアプローチが色成分に依存してもよいことが提案される。
a.たとえば、CIIPにおける重み付け値は、主な色成分(たとえば、G成分)と他の色成分(たとえば、B成分とR成分)で異なっている。
b.たとえば、ルーマ成分およびクロマ成分について、CIIPにおける重み付け値は異なる。
c.たとえば、インター予測およびイントラ予測についての重み付け値はクロマ成分で等しい。
9.重み付け因子選択が近傍ブロックに従う場合、ある近傍ブロックについて、CIIPモードとしてコーディングされる場合、それはインターコーディングブロックとして扱われてもよいことが提案される。
a.あるいはまた、重み付け因子選択が近傍ブロックに従う場合、ある近傍ブロックについて、CIIPモードとしてコーディングされる場合、それはイントラコーディングブロックとして扱われてもよい。
10.上記の提案される方法は、ブロックサイズ、スライス/ピクチャー/タイル・タイプ、または動き情報のようなある種の条件下で適用されてもよい。
a.一例では、ブロックサイズがM×Hより小さいサンプル、たとえば16または32または64ルーマ・サンプルを含む場合、提案される方法は許可されない。
b.あるいはまた、ブロックの幅または/および高さの最小サイズがXより小さいか、またはX以下である場合、提案される方法は許可されない。一例では、Xが8に設定される。
c.あるいはまた、ブロックの幅または/および高さの最小サイズがX以上である場合、提案される方法は許可されない。一例では、Xが8に設定される。
d.あるいはまた、ブロックの幅>th1または≧th1および/またはブロックの高さ>th2または≧th2である場合、提案される方法は許可されない。一例では、th1および/またはth2は8に設定される。
e.あるいはまた、ブロックの幅<th1または≦th1および/またはブロックの高さ<th2または≦th2である場合、提案される方法は許可されない。一例では、th1および/またはth2が8に設定される。
11.(a,b)および(c,d)として示されるCIIPで使用される許容される重みペア(wIntra,wInter)の数は3から2に減らされてもよい。
a.一例では、2つの対は、{(1,3)および(3,1)};または{(1,3)および(2,2)};または{(3,1)および(2,2)};または{(3,5)および(4,4)}または{(5,3)および(4,4)}または{(1,7)および(4,4)}または{(7,1)および(4,4)}として定義される。
b.一例では、重みペアは、1つの近傍ブロックAのみに基づいて決定される。
i.一例では、1つの近傍ブロックAが利用可能であり、かつイントラコーディングされている場合、(wIntra,wInter)は(a,b)に等しいと設定され;そうでない場合、(wIntra,wInter)は(c,d)に等しいと設定される。
ii.一例では、ブロックAは左の近傍ブロックである。
iii.一例では、ブロックAは、上の近傍ブロックである。
c.一例では、重みペアは、2つ以上の近傍ブロックに基づいて決定され、前記近傍ブロックのうちの少なくとも1つについて、ある種の条件が満たされる。
i.一例では、近傍ブロックAおよびBの少なくとも一方が利用可能であり、かつイントラコーディングされている場合、(wIntra,wInter)は(a,b)に等しく設定され、そうでない場合、(wIntra,wInter)は(c,d)に等しく設定される。
1.一例では、ブロックAは左の近傍ブロックであり、Bは上の近傍ブロックである。
d.一例では、重みペアは、2つ以上の近傍ブロックに基づいて決定され、前記近傍ブロックのそれぞれについて、同じ条件が満たされる。
i.一例では、近傍ブロックAおよびBがいずれも利用可能であり、かつイントラコーディングされている場合、(wIntra,wInter)は(a,b)に等しく設定され、そうでない場合、(wIntra,wInter)は(c,d)に等しく設定される。
1.一例では、ブロックAは左の近傍ブロックであり、Bは上の近傍ブロックである。
e.一例では、(a,b)および(c,d)の設定は、以下の通りであってもよい:
1.一例では、(a,b)は(2,2)または(3,1)に設定される。
2.一例では、(c,d)は(1,3)に等しく設定される。
3.一例では、2つの条件の少なくとも1つが真である:aはcに等しくない、またはbはdに等しくない。
4.(a,b)は(c,d)と等しくない。
f.一例では、上述の近傍ブロック(たとえば、AまたはB)は、隣接するまたは隣接しない空間的な近傍ブロックまたは時間的な近傍ブロックである。
i.一例では、近傍ブロックAまたはBは、左(または上)の近傍ブロックである。
ii.一例では、近傍ブロックAおよびBは、それぞれ左および上の近傍ブロックである。
iii.一例では、左の近傍ブロックは位置(xCb-1,yCb+cbHeight-1)をカバーする。
iv.一例では、上の近傍ブロックは位置(xCb+cbWidth-1,yCb-1)をカバーする。
v.一例では、左の近傍ブロックは位置(xCb-1,yCb)をカバーする。
vi.一例では、上の近傍ブロックは位置(xCb,yCb-1)をカバーする。
g.上記の諸例について、CIIP予測は次のように形成される:
【数4】
ここで、offsetは(1<<(N-1))または0に設定され、Nはlog2(wIntra+wInter)に設定されてもよい。
12.CIIPで使用される許容される重みペア(wIntra,wInter)の数は3から1に減らされてもよい。
a.一例では、1つの重みペアは、(1,3)または(2,2)または(1,7)または(2,6)または(3,5)または(4,4)として定義される。
b.一例では、(wIntra,wInter)が(2,2)に等しく設定される。
c.一例では、(wIntra,wInter)が(1,3)に等しく設定される。
d.上記の例については、CIIP予測は次のように形成される:
【数5】
ここで、offsetは(1<<(N-1))または0に設定され、Nはlog2(wIntra+wInter)に設定されてもよい。
13.(wIntr,wInter)の重みペアは、一つまたは複数の近傍ブロックがCIIPモードでコーディングされるかどうかに基づいて導出されてもよい。
a.現在ブロックについて使用される重みペアは、前にコーディングされたブロックについて使用された重みペアから導出されてもよい。
b.一例では、重みペアは、1つの近傍ブロックAのみに基づいて決定される。
i.一例では、1つの近傍ブロックAがCIIPモードでコーディングされる場合、現在ブロックの(wIntra,wInter)は近傍ブロックAの(wIntra,wInter)に等しく設定される;そうでない場合、近傍ブロックAが利用可能ありで、かつイントラコーディングされている場合、(wIntra,wInter)は(a,b)に等しく設定される;そうでない場合は、(wIntra,wInter)は(c,d)に等しく設定される。
ii.一例では、1つの近傍ブロックAがCIIPモードでコーディングされる場合、現在ブロックの(wIntra,wInter)は近傍の(wIntra,wInter)に等しく設定され;そうでない場合は、(wIntra,wInter)は(a,b)に等しく設定される。
iii.上記の例について、下記が適用されてもよい:
1.一例では、(a,b)が(2,2)または(3,1)に等しく設定される。
2.一例では、(c,d)が(1,3)に等しく設定される。
3.一例では、2つの条件の少なくとも一方が真である:aはcに等しくない;bはdに等しくない。
c.一例では、重みペアは、2つ以上の近傍ブロックに基づいて決定され、前記近傍ブロックのうちの少なくとも1つについて、ある種の条件が満たされる。
i.複数の隣接ブロックは、CIIPモードの使用を識別するために、所与のチェック順序でチェックされてもよい(たとえば、まず左ブロックをチェックし、次に上のブロックをチェックする)。
ii.一例では、近傍ブロックAおよびBの少なくとも一方がCIIPモードでコーディングされる場合、現在ブロックの(wIntra,wInter)は、所与のチェック順序において最初のCIIPコーディングされた近傍ブロックの(wIntra,wInter)に等しく設定される;そうでない場合、AおよびBのうち少なくとも1つの近傍ブロックが利用可能であり、かつイントラコーディングされる場合は、(wIntra,wInter)は(a,b)に等しく設定され;そうでない場合は(wIntra,wInter)は(c,d)に等しく設定される。
iii.上記の諸例について、下記が適用されてもよい:
1.一例では、(a,b)が(2,2)または(3,1)に等しく設定される。
2.一例では、(c,d)が(1,3)に等しく設定される。
3.一例では、2つの条件の少なくとも1つが真である:aはcに等しくない;bはdに等しくない。
iv.一例では、近傍ブロックAおよびBの少なくとも一方がCIIPモードでコーディングされる場合、現在ブロックの(wIntra,wInter)は、所与のチェック順序における最初のCIIPコーディングされた近傍ブロックの(wIntra,wInter)に等しく設定される;そうでない場合、近傍ブロックAおよびBがいずれも利用可能でありかつイントラコーディングされている場合は、(wIntra,wInter)は(a,b)に等しく設定される;そうでない場合は、(wIntra,wInter)は(c,d)に等しく設定される。
v.一例では、近傍ブロックAおよびBの少なくとも一方がCIIPモードでコーディングされている場合、現在ブロックの(wIntra,wInter)は、所与のチェック順序における最初のCIIPコーディングされた近傍ブロックの(wIntra,wInter)に等しく設定され;そうでない場合は、(wIntra,wInter)は(c,d)に等しく設定される。
vi.上記の諸例について、下記が適用されてもよい:
1.一例では、(c,d)は(2,2)または(1,3)に等しく設定される。
d.一例では、上述の近傍ブロックAまたはBは、隣接するまたは隣接しない空間的な近傍ブロック、または時間的な隣接ブロックである。
i.一例では、近傍ブロックAまたはBは、左(または上)の近傍ブロックである。
ii.一例では、近傍ブロックAおよびBは、それぞれ左および上の近傍ブロックである。
iii.一例では、左の近傍ブロックは位置(xCb-1,yCb+cbHeight-1)をカバーする。
iv.一例では、上の近傍ブロックは位置(xCb+cbWidth-1,yCb-1)をカバーする。
v.一例では、左の近傍ブロックは位置(xCb-1,yCb)をカバーする。
vi.一例では、上の近傍ブロックは位置(xCb,yCb-1)をカバーする。
e.上記の諸例については、CIIP予測は次のように形成される:
【数6】
ここで、offsetは(1<<(N-1))または0に設定され、Nはlog2(wIntra+wInter)に設定されてもよい。
14.CIIPにおいて使用される近傍ブロックの選択は、ブロック寸法/ブロック形状/低遅延チェック・フラグ/参照ピクチャー情報/現在ブロックおよび近傍ブロックの動き情報/近傍ブロックのイントラ予測モードのようなコーディングされた情報に依存しうる。
15.CIIPにおいて使用される重みペアは、ブロック寸法/ブロック形状/低遅延チェック・フラグ/参照ピクチャー情報/現在ブロックおよび近傍ブロックの動き情報/近傍ブロックのイントラ予測モードのようなコーディングされた情報に依存しうる。
a.一例では、重み付け対の集合は、さらに信号伝達される。
b.一例では、重みペアの選択は、近傍ブロックがイントラコーディングでなくインターコーディングされるかどうかに依存しうる。
16.CIIP情報を決定するときは(たとえば、前述の以前の設計およびブレットのためのイントラ予測信号またはインター予測信号に適用される重みの決定においては)、近傍ブロックがMODE_INTRA(すなわち、イントラモード)でコーディングされるのでない場合、それはイントラコーディングされたものとして取り扱われてもよい。
a.一例では、近傍ブロックがIBCコーディングされている場合。
b.一例では、近傍ブロックがCIIPコーディングされている場合。
c.一例では、近傍ブロックがTPMコーディングされている場合。
d.一例では、近傍ブロックがパレットコーディングされている場合。
e.一例では、近傍ブロックがRDPCMコーディングされている場合。
f.一例では、近傍ブロックが変換(たとえば、変換スキップ・モード)および/または量子化(たとえば、変換バイパス量子化モード)の適用なしでコーディングされている場合。
g.あるいはまた、近傍ブロックが上記の諸サブブレットで言及されたモード(たとえば、IBC、RDPCM、パレット)でコーディングされている場合、近傍ブロックは、非イントラコーディングされている(たとえば、インターコーディングされている)として扱われてもよい。
h.一例では、近傍ブロックがイントラコーディングされているが、ある種の予測モード(たとえば、平面)でコーディングされているのではない場合、近傍ブロックは、非イントラコーディングされている(たとえば、インターコーディングされている)として扱われてもよい。
i.あるいはまた、近傍ブロックが、行列ベースのイントラ予測方法および/またはK(たとえば、K=0)に等しくない参照線インデックスを有する複数参照線イントラ予測方法および/またはBDPCMによってコーディングされている場合、近傍ブロックは、非イントラコーディングされている(たとえば、インターコーディングされている)として扱われてもよい。
j.提案される方法は、近傍ブロックがイントラモードでコーディングされるか否かに依拠する他のコーディングツールに適用されてもよい。
k.提案される方法は、近傍ブロックがインター・モードでコーディングされるか否かに依拠する他のコーディングツールに適用されてもよい。
17.上記の諸方法を有効にするか無効にするかは、SPS/PPSS/VPS/シーケンスヘッダ/ピクチャーヘッダ/スライスヘッダ/タイルグループヘッダ/タイル/CTUのグループ等において信号伝達されてもよい。
a.あるいはまた、どの方法が使用されるかが、SPS/PPSS/VPS/シーケンスヘッダ/ピクチャーヘッダ/スライスヘッダ/タイルグループヘッダ/タイル/CTUのグループ等において信号伝達されてもよい。
b.あるいはまた、上記の諸方法を有効にするか無効にするか、および/またはどの方法が適用されるかは、ブロック寸法、ビデオ処理データ単位(video processing data unit、VPDU)、ピクチャータイプ、低遅延チェック・フラグ、現在ブロックのコーディング情報(たとえば参照ピクチャー、単予測または双予測)または以前にコーディングされたブロックに依存してもよい。
【0207】
5. 実施形態
【0208】
5.1 実施形態1
【0209】
以前にコーディングされたブロックのCIIPフラグのチェックをスキップする例が以下に与えられる。
8.4.2 ルーマ・イントラ予測モードについての導出プロセス
ルーマ・イントラ予測モードについての導出プロセス
このプロセスへの入力は以下の通り:
-現在ピクチャーの左上のルーマ・サンプルに対する現在のルーマコーディングブロックの左上のサンプルを指定するルーマ位置(xCb,yCb)、
ルーマ・サンプル単位で現在のコーディングブロックの幅を指定する変数cbWidth、
ルーマ・サンプル単位で現在のコーディングブロックの高さを指定する変数cbHeight。
このプロセスでは、ルーマ・イントラ予測モードIntraPredModeY[xCb][yCb]が導出される。
テーブル8-1は、イントラ予測モードIntraPredModeY[xCb][yCb]および関連する名前についての値を指定する。
テーブル8-1-イントラ予測モードおよび関連する名前の指定
【表8】
注記:イントラ予測モードINTRA_LT_CCLM、INTRA_L_CCLM、INTRA_T_CCLMはクロマ成分にのみ適用できる。
IntraPredModeY[xCb][yCb]は、以下の順序付けられたステップによって導出される:
1.近傍位置(xNbA,yNbA)および(xNbB,yNbB)は、それぞれ(xCb-1,yCb+cbHeight-1)および(xCb+cbWidth-1,yCb-1)に等しく設定される。
2.AまたはBのいずれかで置き換えられるXについて、変数candIntraPredModeXは次のように導出される:
-6.4.X節に規定されるブロックについての利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]は、(xCb,yCb)に等しいと設定された位置(xCurr,yCurr)と、(xNbX,yNbX)に等しいと設定された近傍位置(xNbY,yNbY)とを入力として呼び出され、出力はavailableXに割り当てられる。
-候補イントラ予測モードcandIntraPredModeXは以下のように導出される:
-下記の条件の一つまたは複数が真の場合、candIntraPredModeXはINTRA_PLANARに等しく設定される。
-変数avalableXはFALSEに等しい。
-CuPredMode[xNbX][yNbX]はMODE_INTRAと等しくない。
-pcm_flag[xNbX][yNbX]は1に等しい。
-XはBに等しく、yCb-1は((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)より小さい。
-それ以外の場合、candIntraPredModeXはIntraPredModeY[xNbX][yNbX]に等しく設定される。
3.変数ispDefaultMode1およびispDefaultMode2は次のように定義される:
-IntraSubPartitionsSplitTypeがISP_HOR_SPLITに等しい場合、ispDefaultMode1はINTRA_ANGULAR18に等しく設定され、ispDefaultMode2はINTRA_ANGULAR5に等しく設定される。
-そうでない場合、ispDefaultMode1はINTRA_ANGULAR50に等しく設定され、ispDefaultMode2はINTRA_ANGULAR63に等しく設定される。
4.x=0…5として、candModeList[x]は次のように導出される:
【0210】
実施形態#2
左の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(2,2)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0211】
実施形態#3
左の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(3,1)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0212】
実施形態#4
上の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(2,2)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0213】
実施形態#5
上の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(3,1)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0214】
実施形態#6
左の近傍および上の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(2,2)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0215】
実施形態#7
左の近傍および上の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(3,1)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0216】
実施形態#8
左または上の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(2,2)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
実施形態#9
左または上の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(3,1)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0217】
実施形態#10
(wIntra,wInter)は(2,2)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0218】
実施形態#11
(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0219】
実施形態#12
左の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は左近傍の(wIntra,wInter)に等しく設定される;そうでない場合、左の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(3,1)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0220】
実施形態#13
左の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は左近傍の(wIntra,wInter)に等しく設定される;そうでない場合、左の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(2,2)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0221】
実施形態#14
上の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は上近傍の(wIntra,wInter)に等しく設定される;そうでない場合、上の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(3,1)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0222】
実施形態#15
上の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は上近傍の(wIntra,wInter)に等しく設定される;そうでない場合、上の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(2,2)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0223】
実施形態#16
左または/および上の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は最初のCIIPコーディングされた近傍(左→上)の(wIntra,wInter)に等しく設定される;そうでない場合、左または/および上の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(3,1)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0224】
実施形態#17
左または/および上の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は最初のCIIPコーディングされた近傍(左→上)の(wIntra,wInter)に等しく設定される;そうでない場合、左または/および上の近傍が利用可能でありイントラコーディングされている場合、(wIntra,wInter)は(2,2)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0225】
実施形態#18
左の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は左近傍の(wIntra,wInter)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0226】
実施形態#19
左の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は左近傍の(wIntra,wInter)に等しく設定される;そうでない場合、(wIntra,wInter)は(2,2)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0227】
実施形態#20
上の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は上近傍の(wIntra,wInter)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0228】
実施形態#21
上の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は上近傍の(wIntra,wInter)に等しく設定される;そうでない場合、(wIntra,wInter)は(2,2)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0229】
実施形態#22
左または/および上の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は最初のCIIPコーディングされた近傍(左→上)の(wIntra,wInter)に等しく設定される;そうでない場合、(wIntra,wInter)は(1,3)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0230】
実施形態#23
左または/および上の近傍がCIIPコーディングされている場合、現在ブロックの(wIntra,wInter)は最初のCIIPコーディングされた近傍(左→上)の(wIntra,wInter)に等しく設定される;そうでない場合、(wIntra,wInter)は(2,2)に等しく設定される。
CIIP予測は
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
のように形成される。
【0231】
実施形態#24
8.5.6 インター・ブロックについてのデコード・プロセス
8.5.6.1 一般
このプロセスは、コーディング単位をインター予測モードでデコードするときに呼び出される。
ciip_flag[xCb][yCb]が1に等しい場合、予測サンプルの配列predSamplesは次のように修正される:
-cIdxが0に等しい場合、下記が適用される:
-8.4.5.2.5節に規定される一般的なイントラ・サンプル予測プロセスは、(xCb,yCb)に等しく設定された位置(xTbCmp,yTbCmp)、cbWidthおよびcbHeightに等しく設定された変換ブロック幅nTbWおよび高さnTbH、cbWidthおよびcbHeightに等しく設定されたコーディングブロック幅nCbWおよび高さnCbH、および変数cIdxを入力として呼び出され、出力は(cbWidth)×(cbHeight)の配列predSamplesIntraLである。
-8.5.6.7節に規定される組み合わされたマージおよびイントラ予測のための重み付けされたサンプル予測プロセスは、(xCb,yCb)に等しく設定された位置(xTbCmp,yTbCmp)、コーディングブロック幅cbWidth、コーディングブロック高さcbHeight、それぞれpredSamplesおよびpredSamplesIntraLと等しいと設定されたpredSamplesInterおよびPredSamplesIntra、IntraPredModeY[xCb][yCb]に等しいと設定されたイントラ予測モードpredModeIntra、および色成分インデックスcIdxを入力として呼び出され、出力は(cbWidth)×(cbHeight)の配列predSamplesに割り当てられる。
...
8.5.6.7 組み合わされたマージおよびイントラ予測のための重み付けされたサンプル予測プロセス
このプロセスへの入力は以下の通り:
-現在ピクチャーの左上のルーマ・サンプルに対する現在のルーマコーディングブロックの左上のサンプルを指定するルーマ位置(xCb,yCb)、
-現在のコーディングブロックの幅cbWidth、
-現在のコーディングブロックの高さcbHeight、
-preSamplesInterおよびpreSamplesIntraの2つの(cbWidth)×(cbHeight)配列、
-色成分インデックスを指定する変数cIdx。
このプロセスの出力は予測サンプル値の(cbWidth)×(cbHeight)配列preSamplesCombである。
変数bitDepthは次のように導出される:
-cIdxが0に等しい場合、bitDepthはBitDepthYに等しく設定される。
-それ以外の場合、bitDepthはBitDepthCに等しく設定される。
変数scallFactは以下のように導出される:
scallFact=(cIdx==0)?0:1 (8-838)
近傍ルーマ位置(xNbA,yNbA)および(xNbB,yNbB)はそれぞれ(xCb-1,yCb-1+(cbHeight<<scallFact))および(xCb-1+(cbWidth<<scallFact),yCb-1)に等しく設定される。
AかBのどちらかで置き換えられるXについて、変数availableXおよびisIntraCodedNeighbourXは次のように導出される:
-6.4.4節で規定された近傍ブロック利用可能性についての導出プロセスが、(xCb,yCb)に等しく設定された位置(xCurr,yCurr)、(xNbY,yNbY)に等しく設定された近傍位置(xNbY,yNbY)、FALSEに等しく設定されたcheckPredModeY、および0に等しく設定されたcIdxを入力として呼び出され、出力はavailableXに割り当てられる。
-変数isIntraCodedNeighbourXは次のように導出される:
-avallableXがTRUEに等しく、CuPredMode[0][xNbX][yNbX]がMODE_INTRAに等しく、BdpcmFlag[xNbX][yNbX]が0に等しい場合、isIntraCodedNeighbourXはTRUEに等しく設定される。
-それ以外の場合、isIntraCodedNeighbourXはFALSEに等しく設定される。
重みwは次のように導出される:
-isIntraCodedNeighbourAおよびisIntraCodedNeighbourBが両方ともTRUEに等しい場合、wは3に等しく設定される。
-そうでない場合、isIntraCodedNeighbourAおよびisIntraCodedNeighbourBが両方ともFALSEに等しいなら、wは1に設定される。
-それ以外の場合、wは2に等しく設定される。
【0232】
cIdxが0に等しく、slice_lmcs_enabled_flagが1に等しい場合、predSamplesInter[x][y](x=0…cbWidth-1およびy=0…cbHeight-1)は、次のように修正される。
【0233】
図18は、ビデオ処理装置1800のブロック図である。装置1800は、本明細書に記載される方法の一つまたは複数を実装するために使用されてもよい。装置1800は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機などにおいて具現されてもよい。装置1800は、一つまたは複数のプロセッサ1802、一つまたは複数のメモリ1804、およびビデオ処理ハードウェア1806を含んでいてもよい。プロセッサ1802は、本稿に記載される一つまたは複数の方法を実装するように構成されてもよい。メモリ(単数または複数)1804は、本明細書に記載される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用されてもよい。ビデオ処理ハードウェア1806は、ハードウェア回路において、本稿に記載されるいくつかの技術を実装するために使用されてもよい。
【0234】
図20は、ビデオを処理する方法2000のためのフローチャートである。方法2000は、第1のビデオ・ブロックのコーディングモードを判別するステップ(2005)と、一つまたは複数のフラグを、前記第1のビデオ・ブロックのコーディングモードの判別に基づいてある動作状態に制約するステップ(2110)と、前記一つまたは複数のフラグの動作状態に従って第2のビデオ・ブロックのさらなる処理を実行するステップ(2015)とを含み、前記第1のビデオ・ブロックは、前記第2のビデオ・ブロックに関して近傍のビデオ・ブロックまたは参照ビデオ・ブロックである。
【0235】
図21は、ビデオを処理する方法2100のためのフローチャートである。方法2100は、第1のビデオ・ブロックに関して、ペア毎予測または複合双予測が使用されることを判別するステップ(2105)と、ペア毎予測または複合双予測が使用されるとの判別に基づいて、複合インター‐イントラ予測の動作状態を決定するステップ(2110)であって、前記動作状態が有効または無効にされる、ステップと、CIIPの動作状態に応じて、第1のビデオ・ブロックのさらなる処理を実行するステップ(2115)とを含む。
【0236】
図23は、ビデオを処理する方法2300のフローチャートである。方法2300は、ビデオ・データ内の第1のブロックと第1のブロックのビットストリーム表現との間の変換中に、一つまたは複数の第2のブロックの一つまたは複数のコーディングモードを決定するステップ(2305)と、前記一つまたは複数の第2のブロックの前記一つまたは複数のコーディングモードに基づいて、第1のブロックのコーディングモード制約を決定するステップ(2310)と、少なくとも第1のブロックのコーディングモード制約を適用することによって、前記変換を実行するステップ(2315)とを含み、前記一つまたは複数の第2のブロックは、第1のブロックの隣接するブロック、隣接しないブロック、および参照ブロックのうちの少なくとも1つを含む。
【0237】
図24は、ビデオを処理する方法2400のためのフローチャートである。方法2400は、ビデオ・データ中の現在ブロックと現在ブロックのビットストリーム表現との間の変換を、複合インター‐イントラ予測(CIIP)、拡散フィルタリング、バイラテラルフィルタリング、変換ドメインフィルタリング、または拡散フィルタリング、バイラテラルフィルタリング、および変換ドメインフィルタリングとは異なる別のタイプの再構成後フィルタリングのうちの少なくとも1つを使用することによって実行すること(2405)を含み、ここで、複合インター‐イントラ予測(CIIP)、拡散フィルタリング、バイラテラルフィルタリング、変換ドメインフィルタリング、または前記別のタイプの再構成後フィルタリングのうちの少なくとも1つにおいて使用される現在ブロックの再構成された近傍サンプルは、一つまたは複数の参照ピクチャーにおける、該再構成された近傍サンプルの対応するサンプルから生成された近似サンプルによって置き換えられる。
【0238】
図25は、ビデオを処理する方法2500のためのフローチャートである。方法2500は、CIIPモードの複合インター‐イントラ予測(CIIP)フラグおよび/またはイントラモードを、動き情報とともに、履歴ベースの動きベクトル予測(history-based motion vector prediction、HMVP)テーブル内に記憶するステップ(2505)と;少なくとも該HMVPテーブルに基づいて、ビデオ・データ内の現在ブロックと該現在ブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0239】
図26は、ビデオを処理する方法2600のためのフローチャートである。方法2600は、ビデオ・データにおける現在ブロックと該現在ブロックのビットストリーム表現との間の変換の間に、現在ブロックについての予測モードを判別するステップ(2605)と;現在ブロックが先進動きベクトル予測(AMVP)モードまたはマージ・モードでコーディングされるという判別に応答して、現在ブロックについてCIIPモードが有効であることを示す複合インター‐イントラ予測(CIIP)モードの適用可能性を決定するステップ(1610)と;CIIPモードの適用可能性に基づいて前記変換を実行するステップ(2615)とを含む。
【0240】
図27は、ビデオを処理する方法2700のためのフローチャートである。方法2700は、ビデオ・データ内の現在ブロックと該現在ブロックのビットストリーム表現との間の変換の間に、現在ブロックのための選択されたマージ候補のタイプを判別するステップ(2705)と;選択されたマージ候補のタイプに応じて現在ブロックのための複合インター‐イントラ予測(CIIP)の適用可能性を決定するステップ(2710)とを含み、現在ブロックはマージ・モードでコーディングされる。
【0241】
図28は、ビデオを処理する方法2800のためのフローチャートである。方法2800は、ビデオ・データ内の現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、現在のビデオ・ブロックに対する一つまたは複数の近傍ビデオ・ブロックのCIIPフラグを参照することなく、コンテキスト・モデルに基づくコーディングによって、現在のビデオ・ブロックのための複合インター‐イントラ予測(CIIP)フラグをコーディングするステップ(2805)と;少なくとも現在のビデオ・ブロックの複合インター‐イントラ予測(CIIP)フラグを適用することによって、前記変換を実行するステップ(2810)とを含む。
【0242】
図29は、ビデオを処理する方法2900のためのフローチャートである。方法2900は、ビデオ・データ内の現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、バイパスコーディングによって現在のビデオ・ブロックについての複合インター‐イントラ予測(CIPP)フラグをコーディングするステップ(2905)と;少なくとも複合インター‐イントラ予測(CIIP)フラグを適用することによって、前記変換を実行するステップ(2910)とを含む。
【0243】
図30は、ビデオを処理する方法3000のためのフローチャートである。方法3000は、規則に従ってビデオの第1のビデオ・ブロックのイントラ予測モードを決定するステップであって、該規則は:第1のビデオ・ブロックのイントラ予測モード導出プロセス中に、第1のビデオ・ブロックへの一つまたは複数の近傍ビデオ・ブロックの複合インター‐イントラ予測(CIIP)フラグをチェックすることをスキップすることを含む、ステップ(3005)と;少なくとも決定されたイントラ予測モードに基づいて、第1のビデオ・ブロックと第1のビデオ・ブロックのビットストリーム表現との間の変換を実行するステップ(3010)とを含む。
【0244】
図31は、ビデオを処理する方法3100のためのフローチャートである。方法3100は、ビデオの、複合イントラおよびインター予測(CIIP)モードでコーディングされている現在のビデオ・ブロックと、現在のビデオ・ブロックのビットストリーム表現との間の変換中に、現在のビデオ・ブロックの第1の予測結果についての第1の重みおよび現在のビデオ・ブロックの第2の予測結果についての第2の重みを含む重みペアを、現在のビデオ・ブロックに対する一つまたは複数の近傍ビデオ・ブロックに基づいて決定するステップであって、前記第1の予測結果はイントラ予測モードによって生成され、前記第2の予測結果はインター予測モードによって生成される、ステップ(3105)と;前記第1の予測結果と前記第2の予測結果の重み付けされた和に基づいて、現在のブロックの予測結果を決定するステップ(3110)とを含む。
【0245】
方法2000および2100を参照するに、エンコードのための複合インター‐イントラ予測およびその使用のいくつかの例が、本稿のセクション4に記述されている。たとえば、セクション4に記載されているように、ビデオ・ブロックは、複合イントラ‐インター予測に従って使用して処理できる。
【0246】
方法2000および2100を参照するに、ビデオ・ブロックは、ビットストリーム内にエンコードされてもよく、そこでは、複合イントラ‐インター予測に関連するビットストリーム生成規則を使用することによって、ビット効率が達成されうる。
【0247】
これらの方法は、前記一つまたは複数のフラグが、複合インター‐イントラ予測(CIIP)フラグ、局所照明補償(LIC)フラグ、拡散フィルタリング・フラグ、バイラテラルフィルタリング・フラグ、変換ドメインフィルタ・フラグ、または別のタイプの再構成後フィルタ・フラグを含む、ことを含むことができる。
【0248】
これらの方法は、前記一つまたは複数のフラグが、第1の動作に関連する第1のフラグを含み、前記第1のフラグが偽であると導出され、前記第1の動作が適用されないことを含むことができる。
【0249】
これらの方法は、前記第1の動作の使用がスキップされることが信号伝達されることを含むことができる。
【0250】
これらの方法は、前記第1の動作の使用が、準拠ビットストリームにおいて偽であるように制約されるように信号伝達されることを含むことができる。
【0251】
これらの方法は、第1のビデオ・ブロックが第2のビデオ・ブロックに関して近傍の行または列内にあることを含むことができる。
【0252】
これらの方法は、近傍の行が上の行または右上の行を含むことを含むことができる。
【0253】
これらの方法は、近傍の列が、左の列、左下の列、または左上のコーナー列を含むことを含むことができる。
【0254】
これらの方法は、コーディングモードがイントラモード、CIIPモード、またはCPRモードを含むことを含むことができる。
【0255】
これらの方法は、第2のビデオ・ブロックの位置を決定することを含むことができ、前記一つまたは複数のフラグを偽状態に制約することは、第2のビデオ・ブロックの位置の決定にも基づく。
【0256】
これらの方法は、前記位置が現在のコーディングツリー単位(CTU)のいちばん上にあり、前記第2のビデオ・ブロックの上の近傍ブロックが異なるCTU内にあることを含むことができる。
【0257】
これらの方法は、前記位置が現在のコーディングツリー単位(CTU)の左端にあり、第2のビデオ・ブロックの左の近傍ブロックが異なるCTU内にあることを含むことができる。
【0258】
これらの方法は、前記一つまたは複数のフラグがCIIPフラグまたはCIIPモード・フラグのイントラモードを含み、前記一つまたは複数のフラグに関連するデータが履歴ベースの動きベクトル予測(HMVP)テーブル内の動き情報とともに格納されることを含むことができる。
【0259】
これらの方法は、2つの候補の動き情報を比較することを含むことができ、前記CIIPフラグまたは前記イントラモードCIIPモード・フラグは、動き情報の比較においては使用されない。
【0260】
これらの方法は、2つの候補の動き情報を比較することを含むことができ、前記CIIPフラグまたは前記イントラモードCIIPモード・フラグは、動き情報の比較において使用される。
【0261】
これらの方法は、マージ候補がHMVPテーブル内のエントリーからのものであることを決定することと、前記エントリーのCIIPフラグを前記マージ候補にコピーすることとを含むことができる。
【0262】
これらの方法は、マージ候補がHMVPテーブル内のエントリーからのものであることを決定することと、前記エントリーのCIIPフラグおよびイントラモードを前記マージ候補にコピーすることとを含むことができる。
【0263】
これらの方法は、前記一つまたは複数のフラグのうちのあるフラグがCIIPに関係しており、前記CIIPが先進動きベクトル予測(AMVP)のために実行される、ことを含むことができる。
【0264】
これらの方法は、CIIPフラグおよびイントラモード・フラグがAMVPモードのために信号伝達されることを含むことができる。
【0265】
これらの方法は、CIIPフラグがマージ・モードまたはUMVEモードにおいて継承され、前記CIIPフラグが真という動作状態を含み、CIIPにおいて複数のイントラモードが許容され、CIIPにおいて許容される前記複数のイントラモードに基づいてイントラモードが信号伝達されることを含むことができる。
【0266】
これらの方法は、マージ・モードまたはUMVEモードにおける近傍のまたは隣接しないビデオ・ブロックのCIIPフラグおよびイントラモードが、第2のビデオ・ブロックによって継承されることを含むことができる。
【0267】
これらの方法は、スキップ・モードについてCIIPが無効にされることを含むことができる。
【0268】
これらの方法は、2つの候補に関係した情報を比較することを含むことができ、CIIPフラグまたはイントラモードCIIPモード・フラグは、情報の比較において使用されない。
【0269】
これらの方法は、2つの候補に関係した情報を比較することを含むことができ、CIIPフラグまたはイントラモードCIIPモード・フラグは、情報の比較において使用される。
【0270】
これらの方法は、ペア毎予測または複合双予測に関与する一つまたは複数の候補がCIIP予測を採用し、前記動作状態が有効にされることを含むことができる。
【0271】
これらの方法は、2つの候補のうちの一方のイントラモードが継承されることを含むことができる。
【0272】
これらの方法は、イントラモードが信号伝達されることを含むことができる。
【0273】
これらの方法は、2つの候補がペア毎予測または複合双予測に関与することを含むことができる。
【0274】
これらの方法は、CIIPモード、拡散フィルタ、バイラテラルフィルタ、変換ドメインフィルタ、または他のタイプの再構成後フィルタにおいて使用される再構成されたサンプルが、参照ピクチャー内のサンプルによって置き換えられることを含むことができる。
【0275】
これらの方法は、第2のビデオ・ブロックが双予測され、2つの参照ブロックの近傍サンプルが平均されて最終的な近傍サンプルを生成することを含むことができる。
【0276】
これらの方法は、第2のビデオ・ブロックが双予測され、2つの参照ブロックの近傍サンプルが最終的な近傍サンプルとして使用されることを含むことができる。
【0277】
これらの方法は、第2のビデオ・ブロックが双予測され、2つの参照ブロックの近傍サンプルが、不均等重みの一般化された双予測(GBI)に基づいて重み付け平均されて、最終的な近傍サンプルを生成する、または重み付けされた予測LICが第2のビデオ・ブロックに適用される、ことを含むことができる。
【0278】
これらの方法は、参照ピクチャー内のサンプルが第2のビデオ・ブロックの動き情報によって識別されることを含むことができる。
【0279】
これらの方法は、参照ピクチャー内のサンプルが第2のビデオ・ブロックの動き情報によって識別されることを含むことができる。
【0280】
これらの方法は、動きベクトルが整数精度に丸められ、サンプルを識別するために使用される、ことを含むことができる。
【0281】
これらの方法は、サンプルが整数画素精度の動きベクトルによって識別される参照ピクチャー中にあることを含むことができる。
【0282】
これらの方法は、第2のビデオ・ブロックの特徴を決定することを含むことができ、前記特徴は、ブロックサイズ、スライスタイプ、ピクチャータイプ、タイル・タイプ、または動き情報のうちの一つまたは複数を含み、前記動作状態を制約することは、前記特徴の決定に基づく。
【0283】
これらの方法は、シーケンスパラメータセット(SPS)、ビューパラメータセット(VPS)、ピクチャーパラメータセット(PPS)、シーケンスヘッダ、ピクチャーヘッダ、スライスヘッダ、タイルグループヘッダ、タイル、またはCTUのグループ内で前記方法が信号伝達されることが含むことができる。
【0284】
以下の解決策のリストは、前のセクションにおいてリストされた項目(たとえば、項目11~16)に対する実施形態および変形をさらに提供する。
【0285】
40.ビデオのビデオ・ブロックと前記ビデオ・ブロックのコーディングされた表現との間の変換を、複合イントラおよびインター予測モードを用いて実行することを含む、ビデオ処理の方法であって、前記コーディングされた表現は、3つ未満のペアが含まれる重みペアの集合からの重みペアを用いた、前記ビデオ・ブロックのイントラ予測結果とインター予測結果の重み付けされた平均に対応する、方法。
【0286】
41.前記重みペアの集合は、2対に対応する、解決策40に記載の方法。
【0287】
42.前記重みペアが単一の近傍ブロックに基づいて決定される、解決策40ないし41のいずれかの方法。
【0288】
43.前記重みペアが複数の近傍ブロックに基づいて決定される、解決策40ないし41のいずれかの方法。
【0289】
44.前記重みペアの集合は、ちょうど1対を含む、解決策40に記載の方法。
【0290】
45.前記1対が、(1,3)または(2,2)または(1,7)または(2,6)または(3,5)または(4,4)のうちの1つである、解決策44に記載の方法。
【0291】
46.ビデオのビデオ・ブロックと前記ビデオ・ブロックのコーディングされた表現との間の変換を、複合イントラおよびインター予測モードを用いて実行することを含む、ビデオ処理の方法であって、前記コーディングされた表現は、一つまたは複数の近傍ブロックのコーディング情報により決定された重みペアの集合からの重みペアを用いた、前記ビデオ・ブロックのイントラ予測結果およびインター予測結果の重み付け平均に対応する、方法。
【0292】
47.前記重みペアの集合は、ちょうど1つの近傍ブロックにより決定される、解決策46に記載の方法。
【0293】
48.前記重みペアの集合は、2つ以上の近傍ブロックにより決定される、解決策46に記載の方法。
【0294】
49.前記変換が、前記コーディングされた表現を生成するために前記ビデオをエンコードすることを含む、解決策40ないし48のいずれかの方法。
【0295】
50.前記変換が、前記ビデオを生成するために、前記コーディングされた表現をデコードすることを含む、解決策40ないし48のいずれかの方法。
【0296】
これらの方法のさまざまな他の実施形態および追加的な特徴は、以下の条項ベースの記載を用いて記述できる。
【0297】
1.ビデオを処理するための方法であって:
ビデオ・データ内の第1のブロックと該第1のブロックのビットストリーム表現との間の変換中に、一つまたは複数の第2のブロックの一つまたは複数のコーディングモードを決定するステップと;
前記一つまたは複数の第2のブロックの前記一つまたは複数のコーディングモードに基づいて、前記第1のブロックのコーディングモード制約を決定するステップと;
少なくとも前記第1ブロックの前記コーディングモード制約を適用することによって、前記変換を実行するステップとを含み、
前記一つまたは複数の第2のブロックは、前記第1のブロックの隣接するブロック、隣接しないブロック、および参照ブロックのうちの少なくとも1つを含む、
方法。
【0298】
2.前記第1のブロックのコーディングモード制約を決定することが:
前記一つまたは複数の第2のブロックの前記一つまたは複数のコーディングモードに基づいて、それぞれ前記第1のブロックの一つまたは複数のコーディングモードに対応する一つまたは複数のフラグを決定することを含む、
条項1に記載の方法。
【0299】
3.前記一つまたは複数のコーディングモードが:
複合インター‐イントラ予測(CIIP)モード、局所照明補償(LIC)モード、拡散フィルタリングモード、バイラテラルフィルタリングモード、変換ドメインフィルタリングモード、または拡散フィルタリングモード、バイラテラルフィルタリングモード、および変換ドメインフィルタリングモードとは異なる再構成後フィルタリングモードを含む、
条項2に記載の方法。
【0300】
4.前記第1ブロックの前記コーディングモード制約が:
前記第1のブロックの前記一つまたは複数のコーディングモードのうちの第1のコーディングモードは、前記第1のコーディングモードに対応する第1のフラグが偽であると導出された場合は無効にされることを含む、
条項2ないし3のうちいずれか一項に記載の方法。
【0301】
5.前記第1ブロックの前記コーディングモード制約が:
前記第1ブロックの前記一つまたは複数のコーディングモードのうちの第2のコーディングモードが有効にされるか否かを示す情報は、前記第2のコーディングモードに対応する第2のフラグが偽であると導出された場合には信号伝達されないことを含む、
条項2ないし4のうちいずれか一項に記載の方法。
【0302】
6.前記第1ブロックの前記コーディングモード制約は:
前記第1のブロックの前記一つまたは複数のコーディングモードのうちの第3のコーディングモードが有効にされるか否かを示す情報は、前記第3のコーディングモードに対応する第3のフラグが偽であると導出されたときは、信号伝達され、準拠ビットストリーム(conformance bitstream)において偽であるように制約される、
条項2ないし5のうちいずれか一項に記載の方法。
【0303】
7.前記第1のブロックの前記コーディングモード制約を適用するかどうかを決定するステップをさらに含む、
条項1ないし6のうちいずれか一項に記載の方法。
【0304】
8.前記第1のブロックの前記コーディングモード制約を適用するかどうかを決定することが:
前記第1のブロックの近傍の行または列のコーディングモードに従って前記第1のブロックの前記コーディングモード制約を適用するかどうかを決定することを含む、
条項7に記載の方法。
【0305】
9.前記第1のブロックの前記コーディングモード制約を適用するかどうかを決定することが:
前記第1のブロックの近傍の行または近傍の列における、第4のモードでコーディングされていない少なくともN個のサンプルに基づいて、前記第1のブロックの前記コーディングモード制約を適用するかどうかを決定することを含む、
条項7に記載の方法。
【0306】
10.前記近傍の行は、前記第1のブロックの上の行および右上の行を含む、条項8または9に記載の方法。
【0307】
11.前記近傍の列が、前記第1のブロックの左の列、左下の列、および左上のコーナー列を含む、条項8ないし10のうちいずれか一項に記載の方法。
【0308】
12.前記第1ブロックの前記コーディングモード制約を適用するかどうかを決定することが:
いずれかの近傍の隣接しないブロックが第4のモードでコーディングされる場合、前記第1のブロックの前記コーディングモード制約が適用されると決定することを含む、
条項7ないし11のうちいずれか一項に記載の方法。
【0309】
13.前記第1のブロックの前記コーディングモード制約を適用するかどうかを決定することが:
近傍の隣接しないブロックの全部が第4のモードでコーディングされる場合、前記第1のブロックの前記コーディングモード制約が適用されると決定することを含む、
条項7ないし11のうちいずれか一項に記載の方法。
【0310】
14.前記第1のブロックの前記コーディングモード制約を適用するかどうかを決定することが:
少なくともM個の近傍の隣接しないブロックが第4のモードでコーディングされておらず、Mがあらかじめ定義された第1の閾値である場合、前記第1のブロックの前記コーディングモード制約を適用されないと決定することを含む、
条項7ないし11のうちいずれか一項に記載の方法。
【0311】
15.前記第4のコーディングモードが、イントラ予測モード、複合インター‐イントラ予測(CIIP)モード、および現在のピクチャー参照(current picture referencing、CPR)モードのうちの少なくとも1つを含む、条項9ないし14のうちいずれか一項に記載の方法。
【0312】
16.前記第1のブロックの前記コーディングモード制約を適用するかどうかを決定することが:
前記第1のブロックの位置に従って前記第1のブロックの前記コーディングモード制約を適用するかどうかを決定することを含む、
条項7ないし14のうちいずれか一項に記載の方法。
【0313】
17.前記第1のブロックの位置に従って前記第1のブロックの前記コーディングモード制約を適用するかどうかを決定することが:
前記位置が現在のコーディングツリー単位(CTU)のいちばん上にあり、上の近傍ブロックと前記第1のブロックが異なるCTUに属する場合には、前記第1のブロックの前記コーディングモード制約は適用されないと決定される、
条項16に記載の方法。
【0314】
18.前記第1のブロックの位置に従って前記第1のブロックの前記コーディングモード制約を適用するかどうかを決定することは:
前記位置が現在のコーディングツリー単位(CTU)の左にあり、左の近傍ブロックと前記第1ブロックが異なるCTUに属する場合には、前記第1ブロックの前記コーディングモード制約は適用されないと決定することを含む、
条項16に記載の方法。
【0315】
19.
現在ブロックの特徴を決定し;
現在ブロックの特徴があらかじめ定義された条件を満たす場合に、現在ブロックの前記コーディングモード制約を適用すると決定することをさらに含む、
条項1ないし18のうちいずれか一項に記載の方法。
【0316】
20.
現在ブロックおよび/または以前にコーディングされたブロックの特徴を決定し;
現在ブロックおよび/または以前にコーディングされたブロックの特徴に応じて現在ブロックの前記コーディングモード制約を適用するかどうかを決定することをさらに含む、
条項1ないし18のうちいずれか一項に記載の方法。
【0317】
21.ビデオを処理するための方法であって:
ビデオ・データにおける現在ブロックと現在ブロックのビットストリーム表現との間の変換を、複合インター‐イントラ予測(CIIP)、拡散フィルタリング、バイラテラルフィルタリング、変換ドメインフィルタリング、または拡散フィルタリング、バイラテラルフィルタリング、および変換ドメインフィルタリングとは異なる別のタイプの再構成後フィルタリングのうちの少なくとも1つを使用して実行することを含み、
複合インター‐イントラ予測(CIIP)、拡散フィルタリング、バイラテラルフィルタリング、変換ドメインフィルタリング、または前記別のタイプの再構成後フィルタリングのうちの少なくとも1つにおいて使用される現在ブロックの再構成された近傍サンプルは、一つまたは複数の参照ピクチャーにおける該再構成された近傍サンプルの対応するサンプルから生成された近似サンプルによって置き換えられる、
方法。
【0318】
22.現在ブロックが双予測されるとき、現在ブロックの2つの参照ブロックの近傍サンプルが平均されて前記近似サンプルを生成する、条項21に記載の方法。
【0319】
23.現在ブロックが双予測または単予測されるとき、現在ブロックの1つの参照ブロックの近傍サンプルが前記近似サンプルとして使用される、条項21に記載の方法。
【0320】
24.現在ブロックが双予測され、不等重みの一般化双予測(GBI)、重み付けされた予測および局所照明補償(LIC)のうちの少なくとも1つが現在ブロックに適用される場合、現在ブロックの2つの参照ブロックの近傍サンプルが重み付け平均されてる、条項21に記載の方法。
【0321】
25.現在ブロックの参照ブロックの近傍サンプルが、現在ブロックの動き情報によって識別される、条項22ないし24のうちいずれか一項に記載の方法。
【0322】
26.現在ブロックの参照ブロックの近傍サンプルが、現在ブロックの修正された動き情報によって識別される、条項22ないし24のうちいずれか一項に記載の方法。
【0323】
27.現在ブロックの前記修正された動き情報は、整数精度に丸められた修正された動きベクトルである、条項24に記載の方法。
【0324】
28.現在ブロックの前記参照ブロックの前記近傍サンプルは、動きベクトルによって整数画素精度で識別される、条項21に記載の方法。
【0325】
29.前記再構成された近傍サンプルの動きベクトルは、対応するサンプルを識別するために整数精度に丸められる、条項28に記載の方法。
【0326】
30.現在ブロックが整数画素精度でコーディングされている場合にのみ、現在ブロックの再構成された近傍サンプルが前記近似サンプルによって置き換えられる、条項21ないし29のうちいずれか一項に記載の方法。
【0327】
31.現在ブロックの再構成された近傍サンプルが、ルーマ成分またはクロマ成分のみについて前記近似サンプルによって置き換えられる、条項21ないし30のうちいずれか一項に記載の方法。
【0328】
32.
現在ブロックの特徴を決定し;
現在ブロックの前記特徴があらかじめ定義された条件を満たす場合に、前記再構成された近傍サンプルを前記近似サンプルで置き換えることを決定することをさらに含む、
条項19ないし31のうちいずれか一項に記載の方法。
【0329】
33.現在ブロックの前記特徴は、ブロックサイズ、スライスタイプ、ピクチャータイプ、タイル・タイプ、および動き情報のうちの少なくとも1つを含む、条項19または32に記載の方法。
【0330】
34.前記あらかじめ定義された条件は、現在ブロックがあらかじめ定義された第2の閾値よりも小さくないサンプルを含むことである、条項33に記載の方法。
【0331】
35.前記あらかじめ定義された条件は、現在ブロックの幅および高さが、あらかじめ定義された第3の閾値より大きいことである、条項33に記載の方法。
【0332】
36.前記あらかじめ定義された条件は、前記現在ブロックの幅および高さがあらかじめ定義された第4の閾値よりも小さいことである、条項33に記載の方法。
【0333】
37.前記あらかじめ定義された条件は、前記現在ブロックの幅があらかじめ定義された第5の閾値よりも小さい、および/または現在ブロックの高さがあらかじめ定義された第6の閾値よりも小さいことである、条項33に記載の方法。
【0334】
38.前記あらかじめ定義された条件は、現在ブロックの幅があらかじめ定義された第7の閾値より大きい、および/または現在ブロックの高さがあらかじめ定義された第8の閾値より大きいことである、条項33に記載の方法。
【0335】
39.シーケンスパラメータセット(SPS)、ビューパラメータセット(VPS)、ピクチャーパラメータセット(PPS)、シーケンスヘッダ、ピクチャーヘッダ、スライスヘッダ、タイルグループヘッダ、タイル、またはCTUのグループにおける、現在ブロックのコーディングモード制約を適用するかどうか、および/または、再構成された近傍サンプルを近似サンプルで置き換えるかどうかを示す情報は、信号伝達される、
条項38に記載の方法。
【0336】
40.
現在ブロックおよび/または以前にコーディングされたブロックの特徴を決定し;
現在ブロックおよび/または以前にコーディングされたブロックの特徴に応じて、再構成された近傍サンプルを近似サンプルで置き換えるかどうかを決定することをさらに含む、
条項21ないし39のうちいずれか一項に記載の方法。
【0337】
41.現在ブロックおよび/または以前にコーディングされたブロックの前記特徴は、現在ブロックおよび/または以前にコーディングされたブロックのブロック寸法、ビデオ処理データ単位(VPDU)、ピクチャータイプ、低遅延チェック・フラグ、コーディング情報のうちの少なくとも1つを含む、条項20または40に記載の方法。
【0338】
42.現在ブロックおよび/または以前にコーディングされたブロックの前記コーディング情報が、参照ピクチャー、単予測、または双予測を示す、条項41に記載の方法。
【0339】
43.条項1ないし42のうちいずれか一項に記載の方法を実装するように構成されたプロセッサを含む、ビデオ処理装置。
【0340】
44.当該装置がビデオ・エンコーダである、条項43に記載の装置。
【0341】
45.当該装置がビデオ・デコーダである、条項43に記載の装置。
【0342】
46.コードを含むプログラムが記録されているコンピュータ読み取り可能な記録媒体であって、前記プログラムは、プロセッサが、条項1ないし42のうちいずれか一項に記載の方法を実行するためのものである、媒体。
【0343】
これらの方法のさまざまな他の実施形態および追加的な特徴は、以下の条項ベースの記載を用いて記載することができる。
〔条項1〕
ビデオを処理するための方法であって:
CIIPモードの複合インター‐イントラ予測(CIIP)フラグおよび/またはイントラモードを動き情報とともに履歴ベースの動きベクトル予測(HMVP)テーブルに記憶するステップと;
少なくとも前記HMVPテーブルに基づいて、ビデオ・データ中の現在ブロックと該現在ブロックのビットストリーム表現との間の変換を実行するステップとを含む、
方法。
〔条項2〕
2つの候補の動き情報を比較するステップをさらに含み、
前記CIIPモードの前記CIIPフラグおよび/または前記イントラモードは、2つの候補の動き情報の前記比較において使用されない、
条項1に記載の方法。
〔条項3〕
2つの候補の動き情報を比較するステップをさらに含み、
前記CIIPモードの前記CIIPフラグおよび/または前記イントラモードは、2つの候補の動き情報の前記比較において使用される、
条項1に記載の方法。
〔条項4〕
前記実行するステップが:
マージ候補が前記HMVPテーブル内のエントリーからである場合、該エントリーの前記CIIPフラグを前記マージ候補にコピーすることを含む、
条項1ないし3のうちいずれか一項に記載の方法。
〔条項5〕
前記実行するステップが:
マージ候補が前記HMVPテーブル内のエントリーからである場合、該エントリーの前記CIIPフラグおよび前記イントラモードを前記マージ候補にコピーすることを含む、
条項1ないし3のうちいずれか一項に記載の方法。
〔条項6〕
ビデオを処理するための方法であって:
ビデオ・データ中の現在ブロックと現在ブロックのビットストリーム表現との間の変換中に、現在ブロックの予測モードを判別するステップと;
現在ブロックが先進動きベクトル予測(AMVP)モードまたはマージ・モードでコーディングされているとの判別に応答して、現在ブロックについてCIIPモードが有効にされることを示す複合インター‐イントラ予測(CIIP)モードの適用可能性を判断するステップと;
前記CIIPモードの前記適用可能性に基づいて前記変換を実行するステップとを含む、
方法。
〔条項7〕
現在ブロックが前記AMVPモードでコーディングされる場合、前記CIIPモードのCIIPフラグおよび/またはイントラモードが信号伝達される、条項6に記載の方法。
〔条項8〕
現在ブロックのマージ・モードおよび/または動きベクトル差分のあるマージ(MMVD)モードにおいては、隣接する近傍ブロックおよび/または隣接しない近傍ブロックのCIIPモードのCIIPフラグおよび/またはイントラモードが継承される、条項6または7に記載の方法。
〔条項9〕
非スキップ・マージ・モードおよび/または非スキップMMVDモードについてのCIIPモードのCIIPフラグおよび/またはイントラモードは信号伝達され、スキップ・マージ・モードおよび/またはスキップMMVDモードにおいては隣接する近傍ブロックおよび/または隣接しない近傍ブロックのCIIPモードのCIIPフラグおよび/またはイントラモードが継承される、条項6ないし8のうちいずれか一項に記載の方法。
〔条項10〕
スキップ・マージ・モードおよび/またはスキップMMVDモードについてのCIIPモードのCIIPフラグおよび/またはイントラモードが信号伝達され、非スキップ・マージ・モードおよび/または非スキップMMVDモードにおいては隣接する近傍ブロックおよび/または隣接しない近傍ブロックのCIIPモードのCIIPフラグおよび/またはイントラモードが継承される、条項6ないし8のうちいずれか一項に記載の方法。
〔条項11〕
前記CIIPフラグは、マージ・モードおよび/またはスキップMMVDモードにおいて継承される、条項6ないし10のうちいずれか一項に記載の方法。
〔条項12〕
前記CIIPフラグが真であり、前記CIIPモードにおいて2つ以上のイントラモードが許容される場合、前記イントラモードが信号伝達される、条項11に記載の方法。
〔条項13〕
マージ・モードおよび/またはMMVDモードでコーディングされた隣接する近傍ブロックおよび/または隣接しない近傍ブロックのCIIPモードのCIIPフラグおよび/またはイントラモードが、現在ブロックによって継承される、条項6ないし12のうちいずれか一項に記載の方法。
〔条項14〕
スキップ・モードについてCIIPモードを無効にすることをさらに含む、
条項6ないし13のうちいずれか一項に記載の方法。
〔条項15〕
2つのマージ候補の情報を比較するステップをさらに含み、
前記CIIPモードの前記CIIPフラグおよび/または前記イントラモードは、2つのマージ候補の情報の前記比較において使用されない、
条項6ないし13のうちいずれか一項に記載の方法。
〔条項16〕
2つのマージ候補の情報を比較するステップをさらに含み、
前記CIIPモードの前記CIIPフラグおよび/または前記イントラモードは、2つのマージ候補の情報の前記比較において使用される、
条項6ないし13のうちいずれか一項に記載の方法。
〔条項17〕
ビデオを処理するための方法であって:
ビデオ・データ中の現在ブロックと現在ブロックのビットストリーム表現との間の変換中に、現在ブロックについての選択されたマージ候補のタイプを判別するステップと;
前記選択されたマージ候補のタイプに応じて、現在ブロックについての複合インター‐イントラ予測(CIIP)の適用可能性を決定するステップとを含み、
現在ブロックはマージ・モードでコーディングされる、
方法。
〔条項18〕
現在ブロックについての前記選択されたマージ候補が、ペア毎のマージ候補、複合双マージ候補、ゼロ動きマージ候補、または仮想的もしくは人工的マージ候補のうちの少なくとも1つである場合、前記CIIPは無効にされる、条項17に記載の方法。
〔条項19〕
ペア毎のマージ候補または複合双マージ候補に関わる一方の候補が前記CIIPモードを採用する場合、前記CIIPモードは、前記ペア毎のマージ候補または前記複合双マージ候補について有効にされる、条項17または18に記載の方法。
〔条項20〕
前記関わるCIIPモード候補のイントラモードが継承される、条項19に記載の方法。
〔条項21〕
前記関わるCIIPモードのイントラモードは、前記ペア毎のマージ候補または前記複合双マージ候補について信号伝達される、条項19に記載の方法。
〔条項22〕
ペア毎のマージ候補または複合双マージ候補に関わる両方の候補が前記CIIPモードを採用する場合、前記CIIPモードは、前記ペア毎のマージ候補または前記複合双マージ候補について有効にされる、条項17または18に記載の方法。
〔条項23〕
前記2つの関わる候補のうちの一方のイントラモードが継承される、条項22に記載の方法。
〔条項24〕
前記関わるCIIPモードのイントラモードが、前記2つの関わる候補のイントラモードから導出され、前記ペア毎のマージ候補または前記複合双マージ候補のために使用される、条項22に記載の方法。
〔条項25〕
前記関わるCIIPモードのイントラモードが、前記ペア毎のマージ候補または前記複合双マージ候補について信号伝達される、条項22に記載の方法。
〔条項26〕
条項1ないし25のうちいずれか一項に記載の方法を実装するように構成されたプロセッサを備える、ビデオ処理装置。
〔条項27〕
当該装置がビデオ・エンコーダである、条項26に記載の装置。
〔条項28〕
当該装置はビデオ・デコーダである、条項26に記載の装置。
〔条項29〕
コードを含むプログラムが記録されるコンピュータ読み取り可能な記録媒体であって、該プログラムは、プロセッサが条項1ないし25のうちいずれか一項に記載の方法を実行するためのものである、媒体。
【0344】
これらの方法のさまざまな他の実施形態および追加的な特徴は、以下の条項ベースの記載を用いて記載することができる。
〔条項1〕
ビデオを処理するための方法であって:
ビデオ・データ内の現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、現在のビデオ・ブロックに対する一つまたは複数の近傍ビデオ・ブロックのCIIPフラグを参照することなくコンテキスト・モデルに基づくコーディングによって現在のビデオ・ブロックのための複合インター‐イントラ予測(CIIP)フラグをコーディングするステップと、
少なくとも、現在のビデオ・ブロックの複合インター‐イントラ予測(CIIP)フラグを適用することによって、前記変換を実行するステップとを含む、
方法。
〔条項2〕
現在のビデオ・ブロックの前記CIIPフラグの前記コンテキスト・モデルに基づくコーディングにおいて、固定されたコンテキストが使用される、条項1に記載の方法。
〔条項3〕
ビデオを処理するための方法であって:
ビデオ・データ内の現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、バイパスコーディングによって現在のビデオ・ブロックのための複合インター‐イントラ予測(CIIP)フラグをコーディングするステップと、
少なくとも複合インター‐イントラ予測(CIIP)フラグを適用することによって、前記変換を実行するステップとを含む、
方法。
〔条項4〕
バイパスコーディングによって現在のビデオ・ブロックのための複合インター‐イントラ予測(CIIP)フラグをコーディングすることが、0に等しい確率と1に等しい確率が等しく、前記CIIPフラグをコーディングすることを含む、条項3に記載の方法。
〔条項5〕
現在のビデオ・ブロックがCIIPモードでコーディングされることに応答して、現在のビデオ・ブロックに関連付けられたイントラ予測モードを所与のイントラ予測モードに設定することをさらに含む、
条項1ないし4のうちいずれか一項に記載の方法。
〔条項6〕
前記所与のイントラ予測モードが平面モードである、条項5に記載の方法。
〔条項7〕
前記所与のイントラ予測モードが、後続のコーディングビデオ・ブロックのイントラ予測モード決定プロセスのために使用される、条項5または6に記載の方法。
〔条項8〕
現在のビデオ・ブロックの後続のコーディングビデオ・ブロックの1つである第2のビデオ・ブロックの変換中に、現在のビデオ・ブロックが第2のビデオ・ブロックの近傍ビデオ・ブロックである場合には、前記所与のイントラ予測モードが第2のビデオ・ブロックのイントラ予測モード候補リストに追加されることをさらに含む、
条項7に記載の方法。
〔条項9〕
前記イントラ予測モード候補リストが最確モード候補リストを含むことをさらに含む、
条項8に記載の方法。
〔条項10〕
現在のビデオ・ブロックがCIIPモードでコーディングされることに応答して、現在のビデオ・ブロックのイントラ予測モード情報は記憶されない、条項1ないし9のうちいずれか一項に記載の方法。
〔条項11〕
現在のビデオ・ブロックは、他のブロックのデコード・プロセスにおいて使用不能とみなされる、条項10に記載の方法。
〔条項12〕
現在のビデオ・ブロックは、インター予測モードでコーディングされるビデオ・ブロックとみなされる、条項10に記載の方法。
〔条項13〕
現在のビデオ・ブロックのCIIPフラグが記憶されない、条項1ないし12のうちいずれか一項に記載の方法。
〔条項14〕
ビデオを処理するための方法であって:
規則に従ってビデオの第1のビデオ・ブロックのイントラ予測モードを決定するステップであって、前記規則は:
第1のビデオ・ブロックのイントラ予測モード導出プロセス中に、該第1のビデオ・ブロックに対する一つまたは複数の近傍ビデオ・ブロックの複合インター‐イントラ予測(CIIP)フラグをチェックすることをスキップすることを含む、ステップと;
少なくとも決定されたイントラ予測モードに基づいて、第1のビデオ・ブロックと該第1のビデオ・ブロックのビットストリーム表現との間の変換を実行するステップとを含む、
方法。
〔条項15〕
イントラ予測モードを決定することは、最確モードを決定することを含む、
条項14に記載の方法。
〔条項16〕
前記ビデオの第2のビデオ・ブロックについて、前記第2のビデオ・ブロックがインターコーディングまたはCIIPコーディングされていることに応答して、デフォルトのイントラ予測モードが前記第2のビデオ・ブロックに設定され、前記第2のビデオ・ブロックが前記第1のビデオ・ブロックに対する近傍ビデオ・ブロックである、条項14または15に記載の方法。
〔条項17〕
イントラ予測モードを決定することは、前記第2のビデオ・ブロックのデフォルトのイントラ予測モードに基づき、
該デフォルトのイントラ予測モードは平面状イントラ予測モードである、
条項16に記載の方法。
〔条項18〕
一つまたは複数の近傍ビデオ・ブロックのCIIPフラグが記憶されない、条項14ないし17のうちいずれか一項に記載の方法。
〔条項19〕
条項1ないし18のうちいずれか一項に記載の方法を実装するように構成されたプロセッサを有するビデオ処理装置。
〔条項20〕
当該装置がビデオ・エンコーダである、条項19に記載の装置。
〔条項21〕
当該装置がビデオ・デコーダである、条項19に記載の装置。
〔条項22〕
コードを含むプログラムが記録されているコンピュータ読み取り可能な記録媒体であって、前記プログラムは、プロセッサが条項1ないし21のうちいずれかに記載の方法を実行するためのものである、記録媒体。
【0345】
これらの方法のさまざまな他の実施形態および追加的な特徴は、以下の条項ベースの記載を用いて記載することができる。
〔条項1〕
ビデオを処理するための方法であって:
ビデオの、複合イントラおよびインター予測(CIIP)モードでコーディングされた現在のビデオ・ブロックと、現在のビデオ・ブロックのビットストリーム表現との間の変換中に、現在のビデオ・ブロックに対する一つまたは複数の近傍ビデオ・ブロックに基づいて、現在のビデオ・ブロックの第1の予測結果についての第1の重みと、現在のビデオ・ブロックの第2の予測結果についての第2の重みとを含む重みペアを決定するステップであって、
前記第1の予測結果はイントラ予測モードによって生成され、前記第2の予測結果はインター予測モードによって生成される、ステップと;
前記第1の予測結果と前記第2の予測結果の加重和に基づいて現在のブロックの予測結果を決定するステップとを含む、
方法。
〔条項2〕
前記重みペアを決定することが:
現在のビデオ・ブロックの前記一つまたは複数の近傍ビデオ・ブロックの予測モードに従って前記重みペアを決定することを含む、
条項1に記載の方法。
〔条項3〕
前記CIIPモードでコーディングされた近傍ビデオ・ブロックについて、前記近傍ビデオ・ブロックは、インター予測モードでコーディングされたブロックとして扱われる、条項1または2に記載の方法。
〔条項4〕
前記CIIPモードでコーディングされた近傍ビデオ・ブロックについて、前記近傍ビデオ・ブロックは、イントラ予測モードでコーディングされたブロックとして扱われる、条項1または2に記載の方法。
〔条項5〕
前記近傍ビデオ・ブロックは、現在のビデオ・ブロックの隣接するブロック、隣接しないブロック、および時間的な近傍ブロックのうちの少なくとも1つである、条項1ないし4のうちいずれか一項に記載の方法。
〔条項6〕
前記近傍ビデオ・ブロックの1つは、左の近傍ビデオ・ブロックまたは上の近傍ビデオ・ブロックである、条項1ないし5のうちいずれか一項に記載の方法。
〔条項7〕
前記近傍ビデオ・ブロックのうちの2つは、それぞれ、左の近傍ビデオ・ブロックおよび上の近傍ビデオ・ブロックである、条項1ないし5のうちいずれか一項に記載の方法。
〔条項8〕
前記左の近傍ビデオ・ブロックが位置(xCb-1,yCb+cbHeight-1)をカバーし、前記上の近傍ビデオ・ブロックが位置(xCb+cbWidth-1,yCb-1)をカバーし、(xCb,yCb)は現在のビデオ・ブロック(current video block)の左上のサンプルの位置であり、cbWidthおよびcbHeightはそれぞれ現在のビデオ・ブロックの幅および高さである、条項6または7に記載の方法。
〔条項9〕
前記左の近傍ビデオ・ブロックが位置(xCb-1,yCb)をカバーし、前記上の近傍ビデオ・ブロックが位置(xCb,yCb-1)をカバーし、(xCb,yCb)は現在のビデオ・ブロックの左上のサンプルの位置である、条項6または7に記載の方法。
〔条項10〕
CIIPモード結果が、前記イントラ予測結果および前記インター予測結果について前記重みペアを適用することによって、
PCIIP=(wInter*Pinter+wIntra*Pintra+offset)>>N
として得られ、
ここで、PCIIPは前記CIIPモード結果であり、Pinterは前記インター予測結果であり、Pintraは前記イントラ予測結果であり、(wInter,wIntra)は前記重みペアであり、offsetは(1<<(N-1))または0に設定され、Nはlog2(wIntra+wInter)に設定される、
条項1ないし9のうちいずれか一項に記載の方法。
〔条項11〕
前記近傍ビデオ・ブロックは、現在のブロックおよび/または前記近傍ブロックのコーディング情報に基づいて選択される、条項1ないし条項10のうちいずれか一項に記載の方法。
〔条項12〕
前記重みペアは、前記近傍ブロックおよび/または前記近傍ブロックのコーディング情報に基づいて決定される、条項1ないし11のうちいずれか一項に記載の方法。
〔条項13〕
前記コーディング情報は:現在のビデオ・ブロックおよび/または前記近傍ビデオ・ブロックのブロック寸法情報、ブロック形状情報、低遅延チェック・フラグ、参照ピクチャー情報、動き情報、または前記近傍ビデオ・ブロックの諸イントラ予測モードのうちの少なくとも1つを含む、条項11または12に記載の方法。
〔条項14〕
前記重みペアは、現在のビデオ・ブロックの色成分に依存する、条項1に記載の方法。
〔条項15〕
主要色成分の前記重みペアは、他の色成分の重みペアとは異なる、条項14に記載の方法。
〔条項16〕
ルーマ成分についての前記重みペアが、クロマ成分についての重みペアと異なる、条項14に記載の方法。
〔条項17〕
クロマ成分については前記第1の重みと前記第2の重みは等しい、条項14ないし16のうちいずれか一項に記載の方法。
〔条項18〕
前記重みペアは、第1の候補重みペアおよび第2の候補重みペアを含む2つの候補重みペアのうちの1つである、条項1ないし17のうちいずれか一項に記載の方法。
〔条項19〕
前記2つの候補重みペアは、{(1,3)および(3,1)}、{(1,3)および(2,2)}、{(3,1)および(2,2)}、{(3,5)および(4,4)}、{(5,3)および(4,4)}、{(1,7)および(4,4)}ならびに{(7,1)および(4,4)}のうちの1つである、条項18に記載の方法。
〔条項20〕
前記重みペアは、現在のビデオ・ブロックの単一の近傍ビデオ・ブロックに基づいて決定される、条項18または19に記載の方法。
〔条項21〕
前記単一の近傍ビデオ・ブロックが前記イントラ予測モードでコーディングされる場合、前記重みペアは前記第1の候補重みペアであり、前記単一の近傍ビデオ・ブロックが前記インター予測モードでコーディングされる場合、前記重みペアは前記第2の候補重みペアである、条項20に記載の方法。
〔条項22〕
前記単一の近傍ビデオ・ブロックが左の近傍ビデオ・ブロックまたは上の近傍ビデオ・ブロックである、条項20または21に記載の方法。
〔条項23〕
前記重みペアは、現在のビデオ・ブロックの2つ以上の近傍ビデオ・ブロックに基づいて決定され、前記2つ以上の近傍ビデオ・ブロックのうちの少なくとも1つは、所定の条件を満たす、条項18または19に記載の方法。
〔条項24〕
前記2つ以上の近傍ビデオ・ブロックのうちの少なくとも1つが前記イントラ予測モードでコーディングされる場合、前記重みペアは前記第1の候補重みペアであり、前記2つ以上の近傍ビデオ・ブロックのうちの少なくとも1つが前記インター予測モードでコーディングされる場合、前記重みペアは前記第2の候補重みペアである、条項23に記載の方法。
〔条項25〕
前記重みペアは、現在のビデオ・ブロックの2つ以上の近傍ビデオ・ブロックに基づいて決定され、前記2つ以上の近傍ビデオ・ブロックのそれぞれは、所定の条件を満たす、条項18または19に記載の方法。
〔条項26〕
前記2つ以上の近傍ビデオ・ブロックのすべてが前記イントラ予測モードでコーディングされる場合、前記重みペアは前記第1の候補重みペアであり、前記2つ以上の近傍ビデオ・ブロックのすべてが前記インター予測モードでコーディングされる場合、前記重みペアは前記第2の候補重みペアである、条項25に記載の方法。
〔条項27〕
前記2つ以上の近傍ビデオ・ブロックのうちの1つが左の近傍ビデオ・ブロックであり、前記2つ以上の近傍ビデオ・ブロックのうちの他の1つが上の近傍ビデオ・ブロックである、条項23ないし26のうちいずれか一項に記載の方法。
〔条項28〕
前記第1の候補重みペアが(2,2)および(3,1)のいずれかであり、前記第2の候補重みペアが(1,3)である、条項23ないし27のうちいずれか一項に記載の方法。
〔条項29〕
前記第1の候補重みペアにおける少なくとも1つの重み値が、前記第2の候補重みペアにおける少なくとも1つの重み値と異なる、条項23ないし28のうちいずれか一項に記載の方法。
〔条項30〕
前記第1の候補重みペアが前記第2の候補重みペアと異なる、条項23ないし29のうちいずれか一項に記載の方法。
〔条項31〕
前記重みペアがちょうど1つの候補重みペアである、条項1ないし17のうちいずれか一項に記載の方法。
〔条項32〕
前記1つの候補重みペアが、(1,3)、(2,2)、(1,7)、(2,6)、(3,5)および(4,4)のいずれかである、条項31に記載の方法。
〔条項33〕
前記重みペアは、一つまたは複数の近傍ビデオ・ブロックが前記CIIPモードでコーディングされるかどうかに基づいて決定される、条項1ないし32のうちいずれか一項に記載の方法。
〔条項34〕
前記重みペアは、以前にコーディングされたビデオ・ブロックについての前記重みペアから決定される、条項33に記載の方法。
〔条項35〕
現在のビデオ・ブロックについての重みペアは、現在のビデオ・ブロックの単一の近傍ビデオ・ブロックに基づいて決定される、条項33または34に記載の方法。
〔条項36〕
前記単一の近傍ビデオ・ブロックがCIIPモードでコーディングされる場合、現在のビデオ・ブロックについての重みペアは、前記単一の近傍ビデオ・ブロックについての前記重みペアに設定され、
前記単一の近傍ビデオ・ブロックがイントラ予測モードでコーディングされる場合、前記重みペアは、第1の候補重みペアと第2の候補重みペアを含む2つの候補重みペアのうちの前記第1の候補重みペアであり、
前記単一の近傍ビデオ・ブロックがインター予測モードでコーディングされる場合、前記重みペアは、前記第1の候補重みペアと前記第2の候補重みペアを含む2つの候補重みペアのうちの前記第2の候補重みペアである、
条項35に記載の方法。
〔条項37〕
前記単一の近傍ビデオ・ブロックがCIIPモードでコーディングされる場合、現在のビデオ・ブロックについての前記重みペアは、前記単一の近傍ビデオ・ブロックについての前記重みペアに設定され、
前記単一の近傍ビデオ・ブロックがイントラ予測モードまたはインター予測モードでコーディングされる場合、前記重みペアは、第1の候補重みペアおよび第2の候補重みペアを含む2つの候補重みペアのうちの前記第1の候補重みペアである、
条項35に記載の方法。
〔条項38〕
前記重みペアは、現在のビデオ・ブロックの2つ以上の近傍ビデオ・ブロックに基づいて決定され、前記2つ以上の近傍ビデオ・ブロックのうちの少なくとも1つは、所定の条件を満たす、条項33または34に記載の方法。
〔条項39〕
前記2つ以上の近傍ビデオ・ブロックは、前記2つ以上の近傍ビデオ・ブロックがCIIPモードでコーディングされるかどうかを識別するために、所定のチェック順序でチェックされる、条項38に記載の方法。
〔条項40〕
前記2つ以上の近傍ビデオ・ブロックのうちの少なくとも1つがCIIPモードでコーディングされるとき、前記現在のビデオ・ブロックについての前記重みペアは、前記所与のチェック順序においてCIIPモードでコーディングされることが最初に識別される近傍ビデオ・ブロックについての重みペアに設定され、
前記2つ以上の近傍ビデオ・ブロックのいずれもCIIPモードでコーディングされず、前記2つ以上の近傍ビデオ・ブロックのうちの少なくとも1つがイントラ予測モードでコーディングされる場合、前記重みペアは、第1の候補重みペアおよび第2の候補重みペアを含む2つの候補重みペアのうちの第1の候補重みペアであり、
前記2つ以上の近傍ビデオ・ブロックのいずれもCIIPモードでコーディングされず、前記2つ以上の近傍ビデオ・ブロックのうちの少なくとも1つがインター予測モードでコーディングされる場合、前記重みペアは、前記第1の候補重みペアおよび前記第2の候補重みペアを含む2つの候補重みペアのうちの第2の候補重みペアである、
条項39に記載の方法。
〔条項41〕
前記2つ以上の近傍ビデオ・ブロックのうちの少なくとも1つがCIIPモードでコーディングされる場合、現在のビデオ・ブロックについての前記重みペアは、前記所与のチェック順序においてCIIPモードでコーディングされることが最初に識別される近傍ビデオ・ブロックについての重みペアに設定され、
前記2つ以上の近傍ビデオ・ブロックのいずれもCIIPモードでコーディングされない場合、前記重みペアは、第1の候補重みペアおよび第2の候補重みペアを含む2つの候補重みペアのうちの第2の候補重みペアである、
条項39に記載の方法。
〔条項42〕
前記第1の候補重みペアが(2,2)および(3,1)のうちの1つであり、前記第2の候補重みペアが(1,3)である、条項36ないし41のうちいずれかに記載の方法。
〔条項43〕
前記第1の候補重みペアにおける少なくとも1つの重み値が、前記第2の候補重みペアにおける少なくとも1つの重み値と異なる、条項36ないし42のうちいずれか一項に記載の方法。
〔条項44〕
前記第2の候補重みペアが(2,2)および(1,3)のいずれかである、条項36ないし41のうちいずれか一項に記載の方法。
〔条項45〕
前記重みペアが信号伝達される、条項1ないし44のうちいずれか一項に記載の方法。
〔条項46〕
前記重みペアは、近傍ビデオ・ブロックがインター予測モードでコーディングされているかどうかに基づいて決定される、条項1ないし45のうちいずれか一項に記載の方法。
〔条項47〕
ある近傍ビデオ・ブロックがイントラ予測モードでコーディングされていない場合、その近傍ビデオ・ブロックは、イントラ予測モードでコーディングされたブロックとして扱われる、条項1ないし46のうちいずれか一項に記載の方法。
〔条項48〕
前記近傍ビデオ・ブロックは、ブロック内コピー(intra block copy、IBC)モード、CIIPモード、三角予測モード(triangular prediction mode、TPM)、パレットモード、RDPCMモードのうちの少なくとも1つではコーディングされない、条項47に記載の方法。
〔条項49〕
前記近傍ビデオ・ブロックは、変換および/または量子化を適用することなくコーディングされる、条項48に記載の方法。
〔条項50〕
前記近傍ビデオ・ブロックが、ブロック内コピー(IBC)モード、CIIPモード、三角予測モード(TPM)、パレットモード、RDPCMモードのうちの少なくとも1つでコーディングされる場合、前記近傍ビデオ・ブロックは、非イントラ予測モードでコーディングされたブロックとして扱われる、条項1ないし46のうちいずれか一項に記載の方法。
〔条項51〕
前記近傍ビデオ・ブロックがイントラ予測モードでコーディングされるが、所定の予測モードでコーディングされない場合、前記近傍ビデオ・ブロックは、非イントラ予測モードでコーディングされるブロックとして扱われる、条項1ないし46のうちいずれか一項に記載の方法。
〔条項52〕
前記近傍ビデオ・ブロックが、行列ベースのイントラ予測モードおよび/または0と等しくない参照線インデックスをもつ複数参照線イントラ予測モードおよび/またはBDPCMモードでコーディングされる場合、前記近傍ビデオ・ブロックは、非イントラ予測モードでコーディングされたブロックとして扱われる、条項1ないし46のうちいずれか一項に記載の方法。
〔条項53〕
条項1ないし52のうちいずれか一項に記載の方法を実装するように構成されたプロセッサを備える、ビデオ処理装置。
〔条項54〕
当該装置がビデオ・エンコーダである、条項53に記載の装置。
〔条項55〕
当該装置がビデオ・デコーダである、条項53に記載の装置。
〔条項56〕
コードを含むプログラムが記録されているコンピュータ読み取り可能な記録媒体であって、前記プログラムは、プロセッサが条項1ないし52のうちいずれか一項に記載の方法を実行するためのものである、記録媒体。
【0346】
開示された技術は、ハッシュベースの動き推定を使用して圧縮効率を改善するために、ビデオ・エンコーダまたはデコーダにおいて具現されうることが理解されるであろう。
【0347】
本稿に記載された、開示されたおよびその他の解決策、例、実施形態、モジュール、および機能的動作は、デジタル電子回路において、または本稿に開示された構造およびその構造的等価物を含むコンピュータ・ソフトウェア、ファームウェア、またはハードウェアにおいて、またはそれらの一つまたは複数の組み合わせにおいて実装できる。開示されたおよびその他の実施形態は、一つまたは複数のコンピュータ・プログラム・プロダクト、すなわち、データ処理装置による実行のため、またはデータ処理装置の動作を制御するために、コンピュータ読み取り可能媒体上にエンコードされたコンピュータ・プログラム命令の一つまたは複数のモジュールとして実装できる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶デバイス、機械読み取り可能記憶基板、メモリ装置、機械読み取り可能な伝搬信号を実現する物質の組成、または一つまたは複数のそれらの組み合わせでありうる。用語「データ処理装置」は、たとえば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するためのあらゆる装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータ・プログラムの実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの一つまたは複数の組み合わせを構成するコードを含むことができる。伝搬される信号は、好適な受信器装置への伝送のために情報をコーディングするために生成される人工的に生成された信号、たとえば機械生成される電気信号、光または電磁信号である。
【0348】
コンピュータ・プログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイルまたはインタープリットされる言語を含む、任意の形のプログラミング言語で書くことができ、それは、スタンドアローン・プログラムとして、またはコンピューティング環境での使用に好適なモジュール、コンポーネント、サブルーチン、または他のユニットとしてを含め、任意の形で展開されることができる。コンピュータ・プログラムは、必ずしもファイルシステム内のファイルに対応するものではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部分(たとえば、マークアップ言語文書に記憶される一つまたは複数のスクリプト)に、問題のプログラム専用の単一ファイルに、または複数の調整されたファイル(たとえば、一つまたは複数のモジュール、サブプログラム、またはコード部分を記憶するファイル)に記憶されることができる。コンピュータ・プログラムは、1つのコンピュータ上で、または1つのサイトに位置する、もしくは複数のサイトに分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開されることができる。
【0349】
本稿で記載されたプロセスおよび論理フローは、入力データに作用し、出力を生成することによって機能を実行するための一つまたは複数のコンピュータ・プログラムを実行する一つまたは複数のプログラマブルプロセッサによって実行されることができる。プロセスおよび論理フローはまた、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)のような特殊目的論理回路によって実行されることもでき、装置が、かかる特殊目的論理回路として実装されることもできる。
【0350】
コンピュータ・プログラムの実行に好適なプロセッサは、たとえば、汎用および専用両方のマイクロプロセッサ、および任意の種類のデジタル・コンピュータの任意の一つまたは複数のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受領する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための一つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための一つまたは複数の大容量記憶装置、たとえば、磁気ディスク、光磁気ディスク、または光ディスクにデータをも含んでいてもよく、あるいはかかる大容量記憶装置からデータを受領し、かかる大容量記憶装置にデータを転送するように動作上結合されていてもよく、あるいはその両方であってもよい。しかしながら、コンピュータは、そのような装置を有する必要はない。コンピュータ・プログラム命令およびデータを記憶するのに好適なコンピュータ読み取り可能媒体は、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス;磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびにCD-ROMおよびDVD-ROMディスクを含む、あらゆる形の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路によって補足されるか、または特殊目的論理回路に組み込まれることができる。
【0351】
この特許文献は多くの詳細を含んでいるが、これらは、いずれかの主題の範囲または特許請求されうるものの範囲に対する限定として解釈されるべきではなく、むしろ具体的な技術の具体的な実施形態に固有でありうる特徴の説明と解釈されるべきである。この特許文献において別々の実施形態の文脈で記載されているある種の特徴は、単一の実施形態において組み合わせて実装されることもできる。逆に、単一の実施形態の文脈において記載されるさまざまな特徴は、複数の実施形態において別々に、または任意の好適なサブコンビネーションにおいて実装されることもできる。さらに、特徴は、ある種の組み合わせにおいて作用するものとして上記に記載され、さらに当初はそのように請求項に記載されることがありうるが、請求項に記載された組み合わせからの一つまたは複数の特徴が、場合によっては、かかる組み合わせから切り出されてもよく、請求項に記載された組み合わせは、サブコンビネーションまたはサブコンビネーションの変形に向けられてもよい。
【0352】
同様に、図面では動作が特定の順序で示されているが、これは、所望の結果を達成するために、そのような動作がその特定の順序でまたは逐次順に実行されること、または、示されたすべての動作が実行されることを要求するものとして理解されるべきではない。さらに、この特許文献に記載されている実施形態におけるさまざまなシステム構成要素の分離は、すべての実施形態においてそのような分離を要求するものとして理解されるべきではない。
【0353】
少数の実装および例のみが記述されており、この特許文献に記載され、説明されている内容に基づいて、他の実装、向上および変形が可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31