(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025026941
(43)【公開日】2025-02-26
(54)【発明の名称】動き精度構文のためのエントロピーコーディング
(51)【国際特許分類】
H04N 19/13 20140101AFI20250218BHJP
H04N 19/157 20140101ALI20250218BHJP
H04N 19/176 20140101ALI20250218BHJP
H04N 19/513 20140101ALI20250218BHJP
H04N 19/70 20140101ALI20250218BHJP
【FI】
H04N19/13
H04N19/157
H04N19/176
H04N19/513
H04N19/70
【審査請求】有
【請求項の数】18
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024201111
(22)【出願日】2024-11-18
(62)【分割の表示】P 2022566447の分割
【原出願日】2021-05-06
(31)【優先権主張番号】PCT/CN2020/088546
(32)【優先日】2020-05-01
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】ワン ヤン
(72)【発明者】
【氏名】ジャン リー
(72)【発明者】
【氏名】ドン ジピン
(72)【発明者】
【氏名】ジャン カイ
(72)【発明者】
【氏名】リウ ホンビン
(57)【要約】 (修正有)
【課題】映像処理のためのシステム、方法および装置を提供する。
【解決手段】映像符号化、映像復号または映像トランスコーディングを含む映像処理方法であって、規則に従って、映像のブロックと、映像のビットストリームとの間の変換を実行することを含む。変換は、AMVR(Adaptive Motion Vector difference Resolution)ツールに基づき、規則は、AMVRシフトに関連付けられた動きベクトル差分の解像度を規定する第1の構文要素のビンの文字列内の第1のビンに対するコンテキストの選択を、ブロックに対するコーディングモードの使用に基づいて導出することを規定する。
【選択図】
図18
【特許請求の範囲】
【請求項1】
映像処理の方法であって、
規則に従って、映像のブロックと、前記映像のビットストリームとの間の変換を実行す
ること、
を有し、
前記変換は、AMVR(Adaptive Motion Vector Diffe
rence Resolution)ツールに基づき、
前記規則は、AMVRシフトに関連付けられた前記動きベクトル差分の前記解像度を規
定する第1の構文要素のビンの文字列の第1のビンに対するコンテキストの選択が、前記
ブロックに対するコーディングモードの使用に基づいて導出されることを規定する、方法
。
【請求項2】
前記ブロックは、コーディングユニットである、請求項1に記載の方法。
【請求項3】
前記ブロックに対する前記コーディングモードは、アフィンインターモード、イントラ
ブロックコピーモード、および、非アフィンインターモードである通常のインターモード
のうちの1つである、請求項1または2に記載の方法。
【請求項4】
異なるコーディングモードに対応する複数のコンテキストは、前記第1のビンに適用可
能である、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記複数のコンテキストは、3つのコンテキストを含む、請求項4に記載の方法。
【請求項6】
各コーディングモードは、単一のコンテキストに対応する、請求項4に記載の方法。
【請求項7】
前記ブロックが前記IBCモードを用いてコーディングされる場合、前記第1のビンに
対する第1のコンテキストは、第1の値に割り当てられ、
前記ブロックが前記IBCモードを用いてコーディングされない場合、前記第1のコン
テキストとは異なる少なくとも1つのコンテキストは、少なくとも1つのインターコーデ
ィングモードに対して前記第1のビンが適用可能である、請求項1から6のいずれか一項
に記載の方法。
【請求項8】
前記ブロックがアフィンインターモードを用いてコーディングされる場合、前記第1の
ビンに対する第2のコンテキストは、第2の値に割り当てられ、
前記ブロックが非アフィンインターモードである通常のインターモードを用いてコーデ
ィングされる場合、前記第1のビンに対する第3のコンテキストは、第3の値に割り当て
られ、
前記第2の値および前記第3の値は、それぞれ異なる、請求項1から7のいずれか一項
に記載の方法。
【請求項9】
前記ビンの文字列の第2のビンのコンテキストは、前記第1のビンに対して用いられた
1または複数のコンテキストと同じである、請求項1から8のいずれか一項に記載の方法
。
【請求項10】
前記ビンの文字列の第2のビンは、単一のコンテキストの値にてコーディングされる、
請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記同じコンテキストは、IBCモードを用いてコーディングされる第1のブロックに
対する前記ビンの文字列の前記第1のビン、および、非アフィンインターモードである通
常のインターモードを用いてコーディングされる第2のブロックに対する前記ビンの文字
列の前記第2のビンに対して選択される、請求項10に記載の方法。
【請求項12】
前記ブロックが、IBCモードまたはアフィンインターモードを用いてコーディングさ
れる場合、前記ビンの文字列は、前記第1のビンにて構成され、
前記ブロックが、非アフィンインターモードである通常のインターモードを用いてコー
ディングされる場合、前記ビンの文字列は更に、第2のビンを含む、請求項1から11の
いずれか一項に記載の方法。
【請求項13】
前記第1のビンに対して適用可能な前記複数のコンテキストのうちの少なくとも1つは
、前記動きベクトル差分の前記解像度が輝度サンプルの1/4であるか、または、前記第
1の構文要素によって規定されるかを規定する第2の構文要素に対して選択された少なく
とも1つのコンテキストと同じである、請求項4から9のいずれか一項に記載の方法。
【請求項14】
前記ブロックが前記IBCモードを用いてコーディングされる場合、前記動きベクトル
差分の前記解像度を規定する前記第1の構文要素に対する前記コンテキストは、前記動き
ベクトル差分の前記解像度が輝度サンプルの1/4であるか、または、前記第1の構文要
素によって規定されるかを規定する前記第2の構文要素に対して選択された前記コンテキ
ストと同じである、請求項13に記載の方法。
【請求項15】
前記ブロックが前記IBCモードまたは前記アフィンモードを用いてコーディングされ
ない場合、前記動きベクトル差分の前記解像度を規定する前記第1の構文要素に対する前
記コンテキストは、前記動きベクトル差分の前記解像度が輝度サンプルの1/4であるか
、または、前記第1の構文要素によって規定されるかを規定する前記第2の構文要素に対
して選択された前記コンテキストと同じである、請求項13に記載の方法。
【請求項16】
前記ビンの文字列の前記第1のビンに対する前記コンテキストは、CtxMの値に割り
当てられ、
前記ビンの文字列の前記第2のビンに対するコンテキストは、CtxQの値に割り当て
られ、
CtxM=CtxQである、請求項14または15に記載の方法。
【請求項17】
前記第1のビンと比較して、異なるコンテキストが前記第2のビンに対して選択される
、請求項16に記載の方法。
【請求項18】
前記ブロックが前記IBCモードにてコーディングされる場合の前記第1のビンに対す
る第1のコンテキスト、前記ブロックが前記アフィンモードを用いてコーディングされる
場合の前記第1のビンに対する第2のコンテキスト、および、前記ブロックが前記IBC
モードおよび前記アフィンモードのいずれも用いずにコーディングされる場合の前記第1
のビンに対する第3のコンテキストは同じである、請求項4に記載の方法。
【請求項19】
前記ブロックが前記IBCモードにてコーディングされる場合の前記第1のビンに対す
る第1のコンテキスト、および、前記ブロックが前記IBCモードおよび前記アフィンモ
ードのいずれも用いずにコーディングされる場合の前記第1のビンに対する第2のコンテ
キストは同じである、請求項4に記載の方法。
【請求項20】
前記ブロックが前記アフィンモードを用いてコーディングされる場合の前記第1のビン
に対する第3のコンテキストは、前記第1のコンテキストおよび前記第2のコンテキスト
とは異なる、請求項19に記載の方法。
【請求項21】
前記ブロックが前記IBCモードにてコーディングされる場合の前記第1のビンに対す
る第1のコンテキストと前記ブロックが前記アフィンモードを用いてコーディングされる
場合の前記第1のビンに対する第2のコンテキストは同じである、請求項4に記載の方法
。
【請求項22】
前記ブロックが前記IBCモードにてコーディングされる場合の前記ビンの文字列のす
べてのビンに対するコンテキスト、前記ブロックが前記アフィンモードを用いてコーディ
ングされる場合の前記ビンの文字列のすべてのビンに対するコンテキスト、および、前記
IBCモードおよび前記アフィンモードのいずれも用いずにコーディングされる場合の前
記ビンの文字列のすべてのビンに対するコンテキストは同じである、請求項4に記載の方
法。
【請求項23】
前記AMVRツールは、動きベクトル差分の解像度が、ブロック単位で適応的に調整さ
れるコーディングツールである、請求項1から22のいずれか一項に記載の方法。
【請求項24】
前記変換は、前記映像を前記ビットストリームに符号化することを含む、請求項1から
23のいずれか一項に記載の方法。
【請求項25】
前記変換は、前記映像を前記ビットストリームから復号することを含む、請求項1から
23のいずれか一項に記載の方法。
【請求項26】
映像のビットストリームを格納するための方法であって、
規則に従って、前記映像のビットストリームを、前記映像のブロックから生成する、
を有し、
前記生成することは、動きベクトル差分が前記動きベクトル差分の解像度を用いて前記
ビットストリームにて表現されるAMVR(Adaptive Motion Vect
or Difference Resolution)を用いることを含み、
前記規則は、AMVRシフトに関連付けられた前記動きベクトル差分の前記解像度を規
定する第1の構文要素のビンの文字列の第1のビンに対するコンテキストの選択が、前記
ブロックに対するコーディングモードの使用に基づいて導出されることを規定する、方法
。
【請求項27】
請求項1から26のうちの1または複数に記載の方法を実装するように構成されたプロ
セッサを有する映像復号装置。
【請求項28】
請求項1から26のうちの1または複数に記載の方法を実装するように構成されたプロ
セッサを有する映像符号化装置。
【請求項29】
格納されたコンピュータコードを有するコンピュータプログラムプロダクトであって、
前記コードがプロセッサによって実行された際に、前記プロセッサに、請求項1から2
6のいずれか一項に記載の方法を実行させる、コンピュータプログラムプロダクト。
【請求項30】
映像処理装置によって実行された方法によって生成される映像のビットストリームを格
納する非一時的コンピュータ可読記録媒体であって、
前記方法は、
規則に従って、前記映像のビットストリームを、前記映像のブロックから生成すること
と、
前記ビットストリームを、非一時的コンピュータ可読記録媒体に格納することと、
を有し、
前記生成することは、動きベクトル差分が前記動きベクトル差分の解像度を用いて前記
ビットストリームにて表現されるAMVR(Adaptive Motion Vect
or Difference Resolution)を用いることを含み、
前記規則は、AMVRシフトに関連付けられた前記動きベクトル差分の前記解像度を規
定する第1の構文要素のビンの文字列の第1のビンに対するコンテキストの選択が、前記
ブロックに対するコーディングモードの使用に基づいて導出されることを規定する、非一
時的コンピュータ可読記録媒体。
【請求項31】
本願明細書に記載された、方法、装置、またはシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2020
年5月1日出願の国際特許出願第PCT/CN2020/088546号の優先権および
利益を適時に主張することを目的とする。法に基づくすべての目的のために、上記出願の
開示全体は、本明細書の開示の一部として参照により援用される。
【0002】
本明細書は、映像および画像コーディング技術に関する。
【背景技術】
【0003】
デジタル映像は、インターネットおよび他のデジタル通信ネットワークにおいて最大の
帯域幅の使用量を占めている。映像を受信および表示することが可能である接続されたユ
ーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続ける
ことが予測される。
【発明の概要】
【0004】
開示された技術は、コンテキストベースの符号化および復号を使用して符号化または復
号を行うために、映像または画像またはエンコーダの実施形態によって使用されてもよい
。
【0005】
1つの例示的な態様において、映像を処理する方法が開示される。この方法は、映像の
映像ブロックと映像のコーディングされた表現との間の変換を実行することを含み、コー
ディングされた表現はフォーマット規則に準拠し、変換は、映像ブロックに対する動きベ
クトルまたは動きベクトル差分または動きベクトル予測子の表現が、適応解像度を用いて
コーディングされた表現において表されるAMVR(Adaptive Motion
Vector Difference Resolution)ツールに基づいて行われ
、フォーマット規則は、映像ブロックまたは映像ブロックの近傍ブロックのコーディング
された情報に依存するコンテキストモデリングによって、コーディング表現において適応
解像度の使用を表現することを規定する。
【0006】
別の例示的な態様において、別の映像を処理する方法が開示される。この方法は、映像
の映像ブロックと映像のコーディングされた表現との間の変換を実行することを含み、コ
ーディングされた表現はフォーマット規則に準拠し、変換は映像ブロックに対する動きベ
クトルまたは動きベクトル差分または動きベクトル予測子の表現が、適応解像度を使用し
てコーディング表現において表されるAMVR(Adaptive Motion Ve
ctor Difference Resolution)ツールに基づいて行われ、フ
ォーマット規則は、AMVRツールによって使用される精度のインデックスのための第1
のビンおよび第2のビンをコーディングするために使用されるコンテキストモデリングに
よって、コーディングされた表現における適応解像度の使用を表現する方法を規定する。
【0007】
別の例示的な態様において、別の映像を処理する方法が開示される。この方法は、複数
の映像ブロックからなる1または複数の映像ピクチャを含む映像と、映像のコーディング
された表現との間の変換を実行することを含み、コーディング表現は、1または複数の映
像ブロックのAMVR(Adaptivr Motion Vector Differ
ence Resolution)コーディングに関する情報を信号通知するためのフォ
ーマット規則に準拠し、フォーマット規則は、第1のコーディングモードを使用してコー
ディングされた第1の映像ブロックのAMVR精度インデックスのビンと、第2のコーデ
ィングモードを使用してコーディングされた第2の映像ブロックのAMVR精度インデッ
クスのビンとを、同一のコンテキストを使用してコーディングすることを規定する。
【0008】
別の例示的な態様において、別の映像を処理する方法が開示される。この方法は、映像
の映像ブロックと映像のコーディングされた表現との間の変換を実行することを含み、映
像ブロックは、1または複数の垂直および/または1または複数の水平分割に分割され、
コーディングされた表現は、映像ブロックの分割情報のコンテキストベースのコーディン
グを規定するフォーマット規則に準拠する。
【0009】
別の例示的な態様において、別の映像を処理する方法が開示される。この方法は、映像
の映像ブロックと映像のコーディングされた表現との間の変換を実行することを含み、コ
ーディングされた表現はフォーマット規則に準拠し、フォーマット規則は、変換係数の符
号を示すためにコンテキストコーディングまたはバイパスコーディングのいずれを使用す
るかを決定するために使用されるコーディング条件を規定する。
【0010】
別の例示的な態様において、別の映像を処理する方法が開示される。この方法は、映像
の映像ブロックと映像のコーディングされた表現との間の変換を実行することを含み、コ
ーディングされた表現はフォーマット規則に準拠し、フォーマット規則は、変換スキップ
残差コーディング処理の第3または残差係数走査パスにおける残りの構文要素のバイパス
コーディングの開始時に、残りの許可されたコンテキストコーディングされたビンの数を
規定する変数に処理が適用されることを規定する。
【0011】
別の例示的な態様において、上述された方法は、プロセッサを含む映像エンコーダ装置
によって実装されてもよい。
【0012】
さらに別の例示的な態様において、これらの方法は、プロセッサ実行可能命令の形式で
実施されてもよく、コンピュータ可読プログラム媒体に記憶されてもよい。
【0013】
これらの、および他の態様は、本明細書でさらに説明される。
【図面の簡単な説明】
【0014】
【
図4】サブブロックごとのアフィンMVFの例を示す。
【
図5】継承されたアフィン動き予測子の一の例を示す。
【
図7】構成されたアフィンマージモードのための候補位置の例を示す。
【
図8】提案された結合された方法のための動きベクトル使用の説明図である。
【
図9】サブブロックMV V
SBおよび画素Δv(i,j)の例を示す。(赤矢印)
【
図10】マルチタイプのツリー分割モードを例示する。
【
図11】ネストされたマルチタイプのツリーコーディングツリー構造を有する4分木における分割フラグの信号通知の例を示す。
【
図14】映像処理方法の例を示すフローチャートである。
【
図15】本開示のいくつかの実施形態による映像コーディングシステムを示すブロック図である。
【
図16】本発明のいくつかの実施形態によるエンコーダを示すブロック図である。
【
図17】本発明のいくつかの実施形態によるデコーダを示すブロック図である。
【
図18】本技術の1または複数の実施形態にしたがった映像処理方法を示すフローチャートである。
【
図19】本技術の1または複数の実施形態にしたがった別の映像処理方法を示すフローチャートである。
【
図20】本技術の1または複数の実施形態にしたがったさらに別の映像処理方法を示すフローチャートである。
【発明を実施するための形態】
【0015】
本明細書は、展開または復号されたデジタル映像または画像の品質を向上させるために
、画像または映像ビットストリームのデコーダによって使用できる様々な技術を提供する
。簡潔にするために、本明細書では、用語「映像」は、一連のピクチャ(従来から映像と
呼ばれる)および個々の画像の両方を含むように使用される。さらに、映像エンコーダは
、さらなる符号化に使用される復号されたフレームを再構成するために、符号化の処理中
にこれらの技術を実装してもよい。
【0016】
本明細書では、理解を容易にするために章の見出しを使用しており、1つの章に開示さ
れた実施形態をその章にのみ限定するものではない。このように、ある章の実施形態は、
他の章の実施形態と組み合わせることができる。
【0017】
1. 概要
本明細書は、映像コーディング技術に関する。具体的には、画像/映像コーディングに
おけるAMVR(Adaptive Motion Vector Resolutio
n)、ブロック分割などのコーディングツールに関連する。HEVCのような既存の映像
コーディング規格に適用してもよいし、規格(Versatile Video Cod
ing)を確定させるために適用してもよい。本発明は、将来の映像コーディング規格ま
たは映像コーデックにも適用可能である。
【0018】
2. 初期の協議
映像コーディング規格は、主に周知のITU-TおよびISO/IEC規格の開発によ
って発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMP
EG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 V
ideoとH.264/MPEG-4 AVC(Advanced Video Cod
ing)とH.265/HEVC規格を共同で作った。H.262以来、映像コーディン
グ規格は、時間予測と変換コーディングが利用されるハイブリッド映像コーディング構造
に基づく。HEVCを超えた将来の映像コーディング技術を探索するため、2015年に
は、VCEGとMPEGが共同でJVET(Joint Video Explorat
ion Team)を設立した。それ以来、多くの新しい方法がJVETによって採用さ
れ、JEM(Joint Exploration Mode)と呼ばれる参照ソフトウ
ェアに組み込まれてきた。2018年4月には、VCEG(Q6/16)とISO/IE
C JTC1 SC29/WG11(MPEG)の間にJoint Video Exp
ert Team(JVET)が発足し、HEVCと比較して50%のビットレート削減
を目標にVVC規格の策定に取り組んでいる。
【0019】
2.1. 典型的な映像コーデックのコーディングフロー
図1は、3つのインループフィルタリングブロック、すなわちDF(Deblocki
ng Filter)、SAO(Sample Adaptive Offset)およ
びALFを含むVVCのエンコーダブロック図の例を示す。予め定義されたフィルタを使
用するDFとは異なり、SAOおよびALFは、現在のピクチャのオリジナルサンプルを
利用し、オフセットおよびフィルタ係数を信号通知するコーディングされた側の情報を用
いて、それぞれ、オフセットを追加することにより、および、FIR(Finite I
mpulse Response)フィルタを適用することにより、元のサンプルと再構
成サンプルとの間の平均二乗誤差を低減する。ALFは、各ピクチャの最後の処理段階に
位置し、前の段階で生成されたアーチファクトを捕捉し、修正しようとするツールと見な
すことができる。
【0020】
2.2. 67個のイントラ予測モードを有するイントラモードコーディング
自然映像に表される任意のエッジ方向をキャプチャするために、指向性イントラモード
の数は、HEVCで使用されるように、33から65に拡張される。追加の指向性モード
は、
図2において赤い点線の矢印で示され、平面モードとDCモードは同じままである。
これらのより密度の高い指向性イントラ予測モードは、すべてのブロックサイズ、および
輝度および彩度イントラ予測の両方に適用される。
【0021】
従来の角度イントラ予測方向は、
図2に示すように、時計回り方向に45度から-13
5度まで規定される。VTMにおいて、いくつかの従来の角度イントラ予測モードは、非
正方形のブロックのために、広角イントラ予測モードに適応的に置き換えられる。置換さ
れたモードは、元の方法を使用して信号通知され、構文解析後、広角モードのインデック
スに再マッピングされる。イントラ予測モードの総数は変化せず、例えば、67であり、
イントラモードコーディングは変化しない。
【0022】
HEVCにおいて、すべてのイントラコーディングされたブロックは正方形の形状を有
し、その辺の各々の長さは2の累乗である。このように、DCモードを使用してイントラ
予測子を生成するのに、除算演算を必要としない。VVCにおいて、ブロックは、一般的
な場合、ブロックごとに除算演算を使用することが必要な長方形を有することがある。D
C予測のための除算演算を回避するために、長辺のみを使用して非正方形のブロックの平
均を計算する。
【0023】
2.3. インター予測
各インター予測CUに対し、動きベクトル、参照ピクチャインデックス、および参照ピ
クチャリスト使用インデックスで構成される動きパラメータ、並びにVVCの新しいコー
ディング特徴に必要な追加情報が、インター予測サンプル生成に使用される。動きパラメ
ータは、明示的または暗示的に信号通知されてもよい。CUがスキップモードでコーディ
ングされる場合、CUは1つのPUに関連付けられ、有意な残差係数、コーディングされ
た動きベクトル差分、または参照ピクチャインデックスを有さない。マージモードが規定
され、これにより、空間的および時間的候補、並びにVVCに導入された追加のスケジュ
ールを含む、現在のCUのための動きパラメータを、近傍のCUから取得する。マージモ
ードは、スキップモードのためだけでなく、任意のインター予測されたCUに適用するこ
とができる。マージモードの代替案は、動きパラメータを明確に送信することであり、動
きベクトル、各参照ピクチャリストおよび参照ピクチャリスト使用フラグに対応する参照
ピクチャインデックス、並びに他の必要な情報が、CUごとに明確に信号通知される。
【0024】
2.4. IBC(Intra Block Copy)
IBC(Intra Block Copy)は、SCCのHEVC拡張に採用されて
いるツールである。これにより、スクリーンコンテンツマテリアルのコーディング効率が
有意に向上することが知られている。IBCモードはブロックレベルコーディングモード
として実装されるので、BM(Block Matching)が、エンコーダにおいて
実行され、CUごとに最適なブロックベクトル(または動きベクトル)を見出す。ここで
、ブロックベクトルは、現在のブロックから、現在のピクチャの内部で既に再構成された
参照ブロックへの変位を示すために使用される。IBCコーディングされたCUの輝度ブ
ロックベクトルは、整数精度である。彩度ブロックベクトルは、整数精度にも丸められる
。AMVRと組み合わせた場合、IBCモードは、1画素と4画素の動きベクトル精度を
切り替えることができる。IBCコーディングされたCUは、イントラ予測モードまたは
インター予測モード以外の第3の予測モードとして扱われる。IBCモードは、幅および
高さの両方が64の輝度サンプル以下のCUに適用可能である。
【0025】
エンコーダ側では、IBCのためにハッシュベースの動き推定が実行される。エンコー
ダは、16の輝度サンプル以下の幅または高さを有するブロックに対してRDチェックを
行う。非マージモードの場合、まず、ハッシュベースの検索を使用してブロックベクトル
検索が実行される。ハッシュ検索が有効な候補を返さない場合、ブロックマッチングベー
スの局所検索が実行される。
【0026】
ハッシュベースの検索において、現在のブロックと参照ブロックとのハッシュキーマッ
チング(32ビットCRC)は、全ての許容されるブロックサイズに拡大される。現在の
ピクチャにおけるすべての位置のためのハッシュキーの計算は、4×4のサブブロックに
基づく。現在のブロックのサイズがより大きい場合、すべての4×4のサブブロックのす
べてのハッシュキーが対応する参照位置のハッシュキーに合致する場合には、ハッシュキ
ーは参照ブロックのそれに合致すると決定される。複数の参照ブロックのハッシュキーが
現在のブロックのハッシュキーに合致すると分かった場合、合致した各参照ブロックのブ
ロックベクトルコストを計算し、最小限のコストを有するものを選択する。ブロックマッ
チング検索において、検索範囲は前のCTUおよび現在のCTUの両方をカバーするよう
に設定される。
【0027】
CUレベルにおいて、IBCモードはフラグで信号通知され、IBC AMVPモード
またはIBCスキップ/マージモードとして以下のように信号通知され得る。
【0028】
-IBCスキップ/マージモード:マージ候補インデックスを使用して、近傍の候補I
BCコーディングされたブロックからのリストにおいて、どのブロックベクトルを使用し
て現在のブロックを予測するかを示す。マージリストは、空間候補、HMVP候補、およ
びペアワイズ候補からなる。
【0029】
-IBC AMVPモード:ブロックベクトル差分を動きベクトル差分と同様にコーデ
ィングする。ブロックベクトル予測方法は、2つの候補を予測子として使用し、1つは左
の近傍からのものであり、1つは上の近傍のものである(IBCコーディングされている
場合)。いずれかの近傍が利用可能でない場合、デフォルトのブロックベクトルが予測子
として使用される。ブロックベクトル予測子インデックスを示すように、フラグが信号通
知される。
【0030】
2.5. アフィン動き補償予測
HEVCにおいて、MCP(Motion Compensation Predic
tion)のために並進運動モデルのみが適用される。一方、現実世界において、動きに
は様々な種類があり、例えば、ズームイン/ズームアウト、回転、透視運動、および他の
不規則な動きがある。VVCにおいて、ブロックベースのアフィン変換動き補償予測が適
用される。
図3Aから
図3Bに示すように、ブロックのアフィン動きフィールドは、2つ
の制御点の動き情報(4パラメータ)または3つの制御点動きベクトル(6パラメータ)
によって説明される。
【0031】
【0032】
4パラメータアフィンモーションモデルの場合、ブロック内のサンプル位置(x,y)
の動きベクトルは以下のように導出される。
【0033】
【0034】
6パラメータアフィンモーションモデルの場合、ブロック内のサンプル位置(x,y)
の動きベクトルは以下のように導出される。
【0035】
【0036】
ここで、(mv0x,mv0y)は左上隅制御点の動きベクトル、(mv1x,mv1
y)は右上隅の制御点の動きベクトル、(mv2x,mv2y)は左下隅の制御点の動き
ベクトルである。
【0037】
動き補償予測を簡単にするために、ブロックに基づくアフィン変換予測が適用される。
各4×4の輝度サブブロックの動きベクトルを導出するために、各サブブロックの中心サ
ンプルの動きベクトルを、
図4に示すように、上記方程式に従って算出し、1/16の端
数精度に丸める。そして、動き補償補間フィルタを適用し、導出された動きベクトルを用
いて各サブブロックの予測を生成する。また、彩度成分のサブブロックサイズは4×4に
設定される。4×4の彩度サブブロックのMVは、対応する4×4の輝度サブブロックの
MVの平均値として計算される。
【0038】
並進動きインター予測と同様に、アフィンマージモードとアフィンAMVPモードの2
つのアフィン動きインター予測がある。
【0039】
2.5.1. アフィンマージ予測
AF_MERGEモードを、幅および高さの両方が8以上のCUに適用することができ
る。このモードでは、空間的近傍のCUの動き情報に基づいて、現在のCUのCPMVを
生成する。CPMVP候補は最大5つまであり、インデックスは、現在のCUに使用され
るべきものを示すように信号通知される。以下の3種類のCPVM候補を使用して、アフ
ィンマージ候補リストを形成する。
-近傍のCUのCPMVから外挿した継承されたアフィンマージ候補
-近傍のCUの並進MVを使用して導出された構築されたアフィンマージ候補CPMV
P
-ゼロMV
【0040】
VVCにおいて、近傍のブロックのアフィン動きモデルに由来する最大2つの継承され
たアフィン候補があり、1つは左の近傍のCUから、1つは上の近傍のCUからである。
候補ブロックは
図5に示す。左の予測子の場合、スキャン順序はA0->A1であり、上
の予測子の場合、スキャン順序はB0->B1->B2である。各側から1つ目の継承さ
れた候補のみを選択する。2つの継承された候補間でプルーニングチェックは行われない
。近傍のアフィンCUが識別されると、その制御点動きベクトルを使用して、現在のCU
のアフィンマージリストにおけるCPMVP候補を導出する。図に示すように、近傍の左
下のブロックAがアフィンモードでコーディングされる場合、ブロックAを含むCUの左
上隅、右上隅、左下隅の動きベクトルv
2、v
3、v
4が得られる。4パラメータアフィ
ンモデルでコーディングする場合、v
2およびv
3により現在のユニットの2つのCPM
Vを算出する。ブロックAが6パラメータアフィンモデルでコーディングされる場合、v
2、v
3およびv
4に基づいて、現在のCUの3つのCPMVを算出する。
【0041】
構築されたアフィン候補は、各制御点の近傍並進運動情報を組み合わせて候補を構築す
ることを意味する。
図7に示される特定された空間的近傍および時間的近傍から制御点の
動きを導出する。CPMV
k(k=1,2,3,4)は、k番目の制御点を表す。CPM
V
1の場合、B2->B3->A2ブロックがチェックされ、第1の使用可能なブロック
のMVが使用される。CPMV
2の場合、B1→B0ブロックがチェックされ、CPMV
3のために、A1→A0ブロックがチェックされる。使用可能であれば、CPMV
4とし
てTMVPが使用される。
【0042】
4つの制御点のMVに達した後、その動き情報に基づいてアフィンマージ候補を構築す
る。制御点MVの以下の組み合わせを使用して順番に構築する。
{CPMV1,CPMV2,CPMV3},{CPMV1,CPMV2,CPMV4},
{CPMV1,CPMV3,CPMV4},{CPMV2,CPMV3,CPMV4},
{CPMV1,CPMV2},{CPMV1,CPMV3}
【0043】
3つのCPMVの組み合わせは、6パラメータアフィンマージ候補を構成し、2つのC
PMVの組み合わせは、4パラメータアフィンマージ候補を構成する。動きスケーリング
プロセスを回避するために、制御点の基準指標が異なる場合、制御点MVの関連する組み
合わせを廃棄する。
【0044】
継承されたアフィンマージ候補および構築されたアフィンマージ候補をチェックした後
、リストがまだ満杯でない場合、ゼロMVをリストの末端に挿入する。
【0045】
2.5.2. アフィンAMVP予測
アフィンAMVPモードを、幅および高さの両方が16以上のCUに適用することがで
きる。アフィンAMVPモードが使用されるかどうかを示すために、CUレベルのアフィ
ンフラグがビットストリームにおいて信号通知され、次いで、4パラメータアフィンであ
るか6パラメータアフィンであるかどうかを示すために、別のフラグが信号通知される。
このモードにおいて、現在のCUのCPMVとその予測子CPMVPとの差がビットスト
リームにおいて信号通知される。アフィンAVMP候補リストサイズは2であり、以下の
4つのタイプのCPVM候補を順に使用して生成される。
-近傍のCUのCPUMVから外挿した継承されたアフィンAMVP候補
-近傍のCUの並進MVを使用して導出された構築されたアフィンAMVP候補CPM
VP
-近傍のCUからの並進MV
-ゼロMV
【0046】
継承されたアフィンAMVP候補のチェック順は、継承されたアフィンマージ候補のチ
ェック順と同じである。唯一の違いは、AVMP候補の場合、現在のブロックと同じ参照
ピクチャを有するアフィンCUのみを考慮することである。継承されたアフィン動き予測
子を候補リストに挿入する場合、プルーニング処理は適用されない。
【0047】
構築されたAMVP候補は、
図7に示す規定された空間的近傍から導出される。アフィ
ンマージ候補構築で行ったものとして、同じチェック順が使用される。また、近傍のブロ
ックの参照ピクチャインデックスもチェックする。インターコーディングされ、かつ、現
在のCUと同じ参照ピクチャを有する、チェック順の第1のブロックが使用される。現在
のCUが4パラメータアフィンモードでコーディングされ、かつ、mv
0およびmv
1が
両方とも利用可能である場合、それらをアフィンAMVP一覧に1つの候補として追加す
る。現在のCUが6パラメータアフィンモードでコーディングされ、かつ、3つのCPM
Vすべてが利用可能である場合、それらをアフィンAMVPリストにおける1つの候補と
して追加する。そうでない場合、構築されたAMVP候補を利用不可能に設定する。
【0048】
継承されたアフィンAMVP候補および構築されたAMVP候補をチェックした後、ア
フィンAMVP一覧候補が依然として2未満である場合、利用可能であれば、mv0、m
v1、およびmv2の順に、現在のCUのすべての制御点MVを予測する並進MVとして
追加される。最後に、まだアフィンAMVPリストがすべて満たされていない場合は、満
たすためにゼロMVを使用する。
【0049】
2.5.3. アフィン動き情報記憶域
VVCにおいて、アフィンCUのCPUMVは、別個のバッファに記憶される。記憶さ
れたCPMVは、最近コーディングされたCUのために、アフィンマージモードおよびア
フィンAMVPモードで継承されたCPMVPを生成するためだけに用いられる。CPM
Vから導出されたサブブロックMVは、動き補償、並進MVのマージ/AMVPリストの
MV導出、およびデブロッキングに用いられる。
【0050】
追加のCPUMVのためのピクチャラインバッファを回避するために、上のCTUから
のCUからのアフィン動きデータの継承は、通常の近傍のCUからの継承とは異なるよう
に扱われる。アフィン動きデータ継承の候補CUが上のCTUラインにある場合、アフィ
ンMVPの導出には、CPMVの代わりに、ラインバッファにおける左下および右下のサ
ブブロックMVを用いる。このようにして、CPMVはローカルバッファにのみ記憶され
る。候補CUが6パラメータアフィンコーディングされている場合、アフィンモデルは4
パラメータモデルに低下される。
図8に示すように、CTUの上限に沿って、CUの左下
および右下のサブブロック動きベクトルを用いて、下限のCTUにおけるCUをアフィン
継承する。
【0051】
2.5.4. アフィンモードのためのオプティカルフローによる予測改善
サブブロック・ベースのアフィン動き補償は、予測精度の犠牲を払って、メモリアクセ
ス帯域幅を節約し、ピクセル・ベースの動き補償に比べて計算の複雑さを低減することが
できる。動き補償のより微細な粒度を実現するために、PROF(Prediction
Refinement with Optical Flow)は、動き補償のための
メモリアクセス帯域幅を増加させることなく、サブブロックに基づくアフィン動き補償予
測を改善するために用いられる。VVCにおいて、サブブロックに基づくアフィン動き補
償を行った後、オプティカルフロー方程式で導出された差を加算することで、輝度予測サ
ンプルを微調整する。PROFは、以下の4つのステップとして説明される。
【0052】
ステップ1)サブブロックに基づくアフィン動き補償を行い、サブブロック予測I(i,
j)を生成する。
ステップ2)3タップフィルタ[-1,0,1]を使用して、個々のサンプル位置におい
て、サブブロック予測の空間的勾配gx(i,j)およびgy(i,j)を算出する。勾
配計算は、BDOFの勾配計算と全く同じである。
【0053】
【0054】
shift1は勾配の精度を制御するために使用される。サブブロック(例えば、4×
4)予測は、勾配計算のために各側で1つのサンプルだけ拡大される。付加的なメモリ帯
域幅および付加的な補間計算を避けるために、拡大された境界線上のこれらの拡大された
サンプルは、参照ピクチャにおける最も近い整数ピクセル位置からコピーされる。
【0055】
ステップ3)以下のオプティカルフロー方程式により輝度予測改善を算出する。
【0056】
【0057】
ここで、Δv(i,j)は、
図9に示すように、v(i,j)で表される、サンプル位
置(i,j)のため0に算出されたサンプルMVと、サンプル(i,j)が属するサブブ
ロックのサブブロックMVとの差分である。このΔv(i,j)は、1/32輝度サンプ
ル精度の単位で量子化される。
【0058】
サブブロック中心に対するアフィンモデルパラメータおよびサンプル位置はサブブロッ
クごとに変化しないので、第1のサブブロックについてΔv(i,j)を計算し、同じC
U内の他のサブブロックに再利用することができる。dx(i,j)およびdy(i,j
)を、サンプル位置(i,j)からサブブロック(xSB,ySB)の中心までの水平お
よび垂直のオフセットであるとすると、Δv(x,y)は、以下の式で導出することがで
きる。
【0059】
【0060】
精度を維持するために、サブブロック(xSB,ySB)の中心は、((WSB-1)
/2,(HSB-1)/2)として計算され、ここで、WSBおよびHSBは、それぞれ
、サブブロックの幅および高さである。
【0061】
4パラメータアフィンモデルの場合、
【0062】
【0063】
6パラメータアフィンモデルの場合、
【0064】
【0065】
ここで、(v0x,v0y)、(v1x,v1y)、(v2x,v2y)、は左上、右
上、左下の制御点動きベクトルであり、w、hはCUの幅および高さである。
【0066】
ステップ4)最後に、サブブロック予測I(i,j)に輝度予測の改善ΔI(i,j)を
加える。最終予測I’は、次の方程式のように生成される。
【0067】
【0068】
PROFは、アフィンコーディングされたCUの場合、2つのケースで適用されない。
1)すべての制御点MVは同じであり、これは、CUが並進運動のみを有することを示す
。2)サブブロックに基づくアフィンMCは、大きなメモリアクセス帯域幅要件を回避す
るために、CUに基づくMCに劣化するので、アフィン運動パラメータは、規定された制
限よりも大きい。
【0069】
PROFを用いたアフィン動き推定の符号化の複雑度を低減するために、高速符号化方
法が適用される。次の2つの状況、即ち、a)このCUがルートブロックでなく、その親
ブロックがアフィンモードをそのベストモードとして選択しない場合、現在のCUがアフ
ィンモードをベストモードとして選択する可能性が低いので、PROFは適用されず、b
)4つのアフィンパラメータ(C、D、E、F)の大きさがすべて予め定義された閾値よ
りも小さく、現在のピクチャが低遅延ピクチャでない場合、PROFによって導入される
改善はこの場合には小さいので、PROFは適用されない。このようにして、PROFに
よるアフィン動き推定を高速化することができる。
【0070】
2.6. ブロック分割の例示的な可用性プロセス
6.4.1 許容されたクアッド分割プロセス
この処理への入力は以下の通りである。
-輝度サンプルにおけるコーディングブロックサイズcbSize、
-マルチタイプツリーの深さmttDepth、
-単一ツリー(SINGLE_TREE)またはデュアルツリーを使用してコーディン
グツリーノードを分割するかどうか、およびデュアルツリーを使用する場合、輝度(DU
AL_TREE_LUMA)または彩度成分(DUAL_TREE_CHROMA)を現
在処理しているかどうかを規定する変数treeType。
-イントラ(MODE_INTRA)、IBC(MODE_IBC)、インターコーデ
ィングモードを使用できるか(MODE_TYPE_ALL)、またはイントラコーディ
ングモードおよびIBCコーディングモードのみを使用できるか(MODE_TYPE_
INTRA)、またはインターコーディングモードのみを使用できるか(MODE_TY
PE_INTER)を規定する変数modeType。
【0071】
この処理の出力が変数allowSplitQtである。
変数allowSplitQtが、以下のように導出される。
-以下の条件の1または複数が真である場合、allowSplitQtはFALSE
に設定される。
-treeTypeがSINGLE_TREEまたはDUAL_TREE_LUMA
に等しく、cbSizeがMinQtSizeY以下である
-treeTypeがDUAL_TREE_CHROMAに等しく、cbSizeが
(MinQtSizeC*SubHeightC/SubWidthC)以下である
-mttDepthが0に等しくない
-treeTypeがDUAL_TREE_CHROMAに等しく、(cbSize
/SubWidthC)が4 以下である
-treeTypeがDUAL_TREE_CHROMAに等しく、modeTyp
eがMODE_TYPE_INTRAに等しい
-そうでない場合、allowSplitQtがTRUEに設定される。
【0072】
6.4.2 許可されたバイナリ分割処理
この処理への入力は以下の通りである。
-バイナリ分割モードbtSplit、
-輝度サンプルにおけるコーディングブロック幅cbWidth、
-輝度サンプルにおけるコーディングブロックの高さcbHeight、
-ピクチャの左上の輝度サンプルに対する、考慮されるコーディングブロックの左上の
輝度サンプル位置(x0,y0)、
-マルチタイプツリーの深さmttDepth、
-maxMttDepthがオフセットされた最大マルチタイプツリー深さ、
-最大2分木サイズmaxBtSize、
-最小4分木サイズminQtSize、
-分割インデックスpartIdx、
-単一ツリー(SINGLE_TREE)またはデュアルツリーを使用してコーディン
グツリーノードを分割するかどうか、およびデュアルツリーを使用する場合、輝度(DU
AL_TREE_LUMA)または彩度成分(DUAL_TREE_CHROMA)を現
在処理しているかどうかを規定する変数treeType。
-イントラ(MODE_INTRA)、IBC(MODE_IBC)、インターコーデ
ィングモードを使用できるか(MODE_TYPE_ALL)、またはイントラコーディ
ングモードおよびIBCコーディングモードのみを使用できるか(MODE_TYPE_
INTRA)、またはインターコーディングモードのみを使用できるか(MODE_TY
PE_INTER)を規定する変数modeType。
【0073】
この処理の出力が変数allowBtSplitである。
【0074】
表2-1 btSplitに基づくparallelTtSplit、cbSizeの
仕様
【0075】
【0076】
表2-1に示すように、変数parallelTtSplitおよびcbSizeを導
出する。
変数allowBtSplitが、以下のように導出される。
-以下の1または複数の条件が真である場合、allowBtSplitはFALSE
に設定される。
-cbSizeがMinBtSizeY以下である
-cbWidthがmaxBtSizeより大きい
-cbHeightがmaxBtSizeより大きい
-mttDepthがmaxMttDepth以上である
-treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidt
h/SubWidthC)*(cbHeight/SubHeightC)が16以下で
ある
-treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidt
h/SubWidthC)が4に等しく、btSplitがSPLIT_BT_VERに
等しい
-treeTypeがDUAL_TREE_CHROMAに等しく、modeTyp
eがMODE_TYPE_INTRAに等しい
-cbWidth*cbHeightが32に等しく、modeTypeがMODE
_TYPE_INTERに等しい
-そうでない場合に、以下のすべての条件が満たされている場合、allowBtSp
litはFALSEに設定される。
-btSplitがSPLIT_BT_VERに等しい
-y0+cbHeightがpic_height_in_luma_sample
sより大きい
【0077】
-そうでない場合に、以下のすべての条件が満たされている場合、allowBtSp
litはFALSEに設定される。
-btSplitがSPLIT_BT_VERに等しい
-cbHeightが64より大きい
-x0+cbWidthがpic_width_in_luma_samplesよ
り大きい
-そうでない場合に、以下のすべての条件が満たされている場合、allowBtSp
litはFALSEに設定される。
-btSplitがSPLIT_BT_HORに等しい
-cbWidthが64より大きい
-y0+cbHeightがpic_height_in_luma_sample
sより大きい
-そうでない場合に、以下のすべての条件が満たされている場合、allowBtSp
litはFALSEに設定される。
-x0+cbWidthがpic_width_in_luma_samplesよ
り大きい
-y0+cbHeightがpic_height_in_luma_sample
sより大きい
-cbWidthがminQtSizeより大きい
【0078】
-そうでない場合に、以下のすべての条件が満たされている場合、allowBtSp
litはFALSEに設定される。
-btSplitがSPLIT_BT_HORに等しい
-x0+cbWidthがpic_width_in_luma_samplesよ
り大きい
-y0+cbHeightがpic_height_in_luma_sample
s以下である
-そうでない場合に、以下のすべての条件が真である場合、allowBtSplit
はFALSEに等しく設定される。
-mttDepthが0より大きい
-partIdx=1
-MttSplitMode[x0][y0][mttDepth-1]は、equ
altoparallelTtSplitである。
-そうでない場合に、以下のすべての条件が満たされている場合、allowBtSp
litはFALSEに設定される。
-btSplitがSPLIT_BT_VERに等しい
-cbWidthが64以下である
-cbHeightが64より大きい
-そうでない場合に、以下のすべての条件が満たされている場合、allowBtSp
litはFALSEに設定される。
-btSplitがSPLIT_BT_HORに等しい
-cbWidthが64より大きい
-cbHeightが64以下である
-そうでない場合、allowBtSplitはTRUEに設定される。
【0079】
6.4.3 許容されたターナリ(ternary)分割処理
この処理への入力は以下の通りである。
-ターナリ分割モードttSplit、
-輝度サンプルにおけるコーディングブロック幅cbWidth、
-輝度サンプルにおけるコーディングブロックの高さcbHeight、
-ピクチャの左上の輝度サンプルに対する、考慮されるコーディングブロックの左上の
輝度サンプル位置(x0,y0)、
-マルチタイプツリー深さmttDepth
-maxMttDepthがオフセットされた最大マルチタイプツリー深さ、
-最大3分木サイズmaxTtSize、
-単一ツリー(SINGLE_TREE)またはデュアルツリーを使用してコーディン
グツリーノードを分割するかどうか、およびデュアルツリーを使用する場合、輝度(DU
AL_TREE_LUMA)または彩度成分(DUAL_TREE_CHROMA)を現
在処理しているかどうかを規定する変数treeType、
-イントラ(MODE_INTRA)、IBC(MODE_IBC)、インターコーデ
ィングモードを使用できるか(MODE_TYPE_ALL)、またはイントラコーディ
ングモードおよびIBCコーディングモードのみを使用できるか(MODE_TYPE_
INTRA)、またはインターコーディングモードのみを使用できるか(MODE_TY
PE_INTER)を規定する変数modeType。
【0080】
この処理の出力が変数allowTtSplitである。
表2-2 ttSplitに基づくcbSizeの仕様
【0081】
【0082】
表2-2に示すように、変数cbSizeを導出する。
変数allowTtSplitが、以下のように導出される。
-以下の1または複数の条件が真である場合、allowTtSplitはFALSE
に設定される。
-cbSizeが2*MinTtSizeY以下である
-cbWidthがMin(64,maxTtSize)より大きい
-cbHeightがMin(64,maxTtSize)より大きい
-mttDepthがmaxMttDepth以上である
-x0+cbWidthがpic_width_in_luma_samplesよ
り大きい
-y0+cbHeightがpic_height_in_luma_sample
sより大きい
-treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidt
h/SubWidthC)*(cbHeight/SubHeightC)が32以下で
ある
-treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidt
h/SubWidthC)が8に等しく、ttSplitがSPLIT_TT_VERに
等しい
-treeTypeがDUAL_TREE_CHROMAに等しく、modeTyp
eがMODE_TYPE_INTRAに等しい
-cbWidth*cbHeightが64に等しく、modeTypeがMODE
_TYPE_INTERと等しい。
-そうでない場合、allowTtSplitがTRUEに設定される。
【0083】
6.4.4 近傍のブロック利用可能性の導出処理
この処理への入力は以下の通りである。
-現在のピクチャの左上の輝度サンプルに対する現在のブロックの左上のサンプルの輝
度位置(xCurr,yCurr)、
-現在のピクチャの左上の輝度サンプルに対して近傍のブロックで覆われた輝度位置(
xNbY,yNbY)、
-利用可能性が予測モードに依存するかどうかを規定する変数checkPredMo
deY、
-現在のブロックの色成分を規定する変数cIdx。
【0084】
この処理の出力は、位置(xNbY,yNbY)をカバーする近傍のブロックの利用可
能性であり、availableNと表される。
近傍のブロックの利用可能性availableNが、以下のように導出される。
-以下の1または複数の条件が真である場合、availableNはFALSEに設
定される。
-xNbYが0未満である。
-yNbYが0未満である。
-xNbYがpic_width_in_luma_samples以上である。
-yNbYがpic_height_in_luma_samples以上である。
-IsAvailable[cIdx][xNbY][yNbY]はFALSEに等
しい。
-近傍のブロックが現在のブロックとは異なるスライスに含まれている。
-近傍のブロックが現在のブロックとは異なるタイルに含まれている。
-sp_entropy_coding_sync_enabled_flagが1
に等しく、(xNbY>CtbLog2SizeY)が(xCurr>CtbLog2S
izeY)+1以上である。
-そうでない場合、availableNはTRUEに設定される。
以下のすべての条件が真である場合、availableNはFALSEに設定される
。
-checkPredModeYがTRUEに等しい。
-availableNはTRUEに設定される。
-CuPredMode[0][xNbY][yNbY]がCuPredMode[0
][xCurr][yCurr]に等しくない。
【0085】
2.7. AMVR(Adaptive Motion Vector Resolut
ion)
HEVCにおいて、use_integer_mv_flagがスライスヘッダにおい
て0である場合、1/4輝度サンプルの単位でMVD(Motion Vector D
ifference)(動きベクトルとCUの予測動きベクトルとの差)が信号通知され
る。VVCにおいて、CUレベルのAMVR(Adaptive Motion Vec
tor Resolution)スキームが導入される。AMVRは、CUのMVDを異
なる精度でコーディングすることを可能にする。現在のCUのモード(通常のAMVPモ
ードまたはアフィンAVMPモードまたはIBCモード)に基づいて、現在のCUのMV
Dは、以下のように適応的に選択できる。
-通常AMVPモード:1/4輝度サンプル、1/2輝度サンプル、1輝度サンプルま
たは4輝度サンプル
-アフィンAMVPモード:1/4輝度サンプル、1輝度サンプル、または1/16輝
度サンプル
-IBCモード:1輝度サンプルまたは1/4輝度サンプル
【0086】
現在のCUが少なくとも1つの非ゼロMVD成分を有する場合、CUレベルMVD解像
度表示が条件付きで通知される。すべてのMVD成分(すなわち、参照リストL0および
参照リストL1の水平および垂直MVDの両方)がゼロである場合、1/4輝度サンプル
MVD解像度が推論される。
【0087】
少なくとも1つの非ゼロMVD成分を有する、通常のAMVPインターモード(非IB
C、非アフィン)でコーディングされたCUの場合、1/4輝度サンプルMVD精度がC
Uに使用されるかどうかを示すために、第1のフラグ(例えば、amvr_flag)が
信号通知される。第1のフラグが0である場合、さらなる信号伝達は必要とされず、現在
のCUのために1/4輝度サンプルMVD精度が使用される。そうでない場合、第2のフ
ラグ(例えば、amvr_precision_idxの第1のビン)が、1/2輝度サ
ンプルまたは他のMVD精度(1輝度サンプルまたは4輝度サンプル)が通常のAMVP
CUに使用されることを示すように信号通知される。1/2輝度サンプルの場合、1/
2輝度サンプル位置には、デフォルトの8タップ補間フィルタに代えて、6タップ補間フ
ィルタが用いられる。そうでない場合、第3のフラグ(例えば、amvr_precis
ion_idxの第2のビン)は、1つの輝度サンプルまたは4つの輝度サンプルのMV
D精度が通常のAMVP_CUに使用されるかどうかを示すように信号通知される。
【0088】
アフィンAMVPモードでコーディングされたCUの場合、第2のフラグは、1輝度サ
ンプルまたは1/16輝度サンプルのMVD精度が使用されるかどうかを示すために使用
される。IBCモードでコーディングされたCUの場合、第1のフラグは信号通知されず
、1に等しいと推測される。
【0089】
AMVRの現在の設計において、0に等しいamvr_flagは、動きベクトルの差
の解像度が輝度サンプルの1/4であることを規定する。1に等しいamvr_flag
は、動きベクトルの差の解像度がamvr_precision_idxによってさらに
規定されることを規定する。
【0090】
amvr_precision_idxは、AmvrShiftとの動きベクトルの差
の分解能を表2-3に定義することを規定する。
AMVRのための構文テーブル例
7.3.10.5 コーディングユニット構文
【0091】
【0092】
【0093】
【0094】
【0095】
具体的には、amvr_flagおよびamvr_precision_idxのビン
の文字列をコーディングするためのビンの文字列およびコンテキストは以下のように定義
される。
【0096】
【0097】
【0098】
【0099】
【0100】
7.4.11.5 コーディングユニット構文
amvr_precision_idx[x0][y0]は、AmvrShiftとの
動きベクトル差の解像度を表2-3に定義することを規定する。配列インデックスx0,
y0は、ピクチャの左上の輝度サンプルに対する、考慮されるコーディングブロックの左
上の輝度サンプルの位置(x0,y0)を規定する。amvr_precision_i
dx[x0][y0]が存在しない場合、0に等しいと推論される。
【0101】
表2-3 AmvrShiftの仕様
【0102】
【0103】
9.3.3 2値化処理
【0104】
表126-構文要素および関連する2値化
【0105】
【0106】
【0107】
9.3.2.2 コンテキスト変数の初期化処理
【0108】
表51-初期化処理における各initializationTypeのctxIdx
と構文要素の関連付け
【0109】
【0110】
表88-amvr_flagのctxIdxのinitValueおよびshiftI
dxの仕様
【0111】
【0112】
表89-amvr_precision_idxのctxIdxのinitValue
およびshiftIdxの仕様
【0113】
【0114】
9.3.4.2 ctxTable,ctxIdx,bypassFlagの導出処理
9.3.4.2.1 一般
【0115】
表131-コンテキストコーディングされたビンを有する構文要素へのctxIncの
割り当て
【0116】
【0117】
2.8. 分割情報
VVCにおいて、バイナリおよびターナリ分割セグメンテーション構造を使用するネス
トされたマルチタイプツリーを有する4分木は、複数の分割ユニットタイプの概念に取っ
て代わり、例えば、それは、最大変換長に対して大き過ぎるサイズを有するCUに必要な
場合を除き、CU、PU、およびTU概念の分離を排除し、かつCU分割形状のためのよ
り多くの柔軟性をサポートする。コーディングツリー構造において、CUは正方形または
長方形のいずれかを有することができる。まず、CTU(Coding Tree Un
it)を4分木構造で分割する。そして、4分木のリーフのノードは、マルチタイプのツ
リー構造によってさらに分割され得る。
図10に示すように、マルチタイプツリー構造に
おいて4つ分割タイプ、垂直バイナリ分割(SPLIT_BT_VER)、水平バイナリ
分割(SPLIT_BT_HOR)、垂直ターナリ分割(SPLIT_TT_VER)、
水平ターナリ分割(SPLIT_TT_HOR)がある。マルチタイプツリーのリーフの
ノードは、CU(Coding Unit)と呼ばれ、CUが大き過ぎて最大変換長にな
らない限り、このセグメンテーションは、それ以上の分割なしに、予測および変換処理に
使用される。これは、ほとんどの場合、CU、PU、およびTUが、ネストされたマルチ
タイプのツリーコーディングブロック構造を有する4分木において、同じブロックサイズ
を有することを意味する。サポートされる最大変換長がCUの色成分の幅または高さより
も小さい場合、この例外が生じる。
【0118】
図11は、ネストされたマルチタイプツリーコーディングツリーを有する4分木におけ
る分割情報の信号通知メカニズムを示す。CTU(Coding Tree Unit)
は、4分木の根として取り扱われ、まず1つの4分木構造によって分割される。各4分木
の葉ノード(十分に大きいため許容される場合)は、次に、マルチタイプツリー構造によ
ってさらに分割される。マルチタイプツリー構造において、第1のフラグ(mtt_sp
lit_cu_flag)は、ノードがさらに分割されているかどうかを示すために信号
通知され、ノードがさらに分割されている場合、第2のフラグ(mtt_split_c
u_vertical_flag)は分割方向を示すために信号通知され、次に第3のフ
ラグ (mtt_split_cu_binary_flag)が分割がバイナリ分割で
あるか、ターナリ分割であるかを示すために信号通知される。mtt_split_cu
_vertical_flagおよびmtt_split_cu_binary_fla
gの値に基づいて、表2-4に示すように、CUのマルチタイプツリースリットモード(
MttSplitMode)が導出される。
【0119】
表2-4 マルチタイプツリー構文要素に基づくMttSplitModeの導出
【0120】
【0121】
mtt_split_cu_vertical_flag=0は、コーディングユニット
を水平に分割することを規定する。mtt_split_cu_vertical_fl
ag=1は、コーディングユニットを垂直に分割することを規定する。mtt_spli
t_cu_vertical_flagが存在しない場合、次のように推論される。
-allowSplitBtHorがTRUEに等しい、またはallowSplit
TtHorがTRUEに等しい場合、mtt_split_cu_vertical_f
lagの値は0に等しいと推測される。
-そうでない場合、mtt_split_cu_vertical_flagの値は1
に等しいと推測される。
【0122】
mtt_split_cu_vertical_flagの構文テーブルの例
9.3.2.2 コンテキスト変数の初期化処理
【0123】
表51-初期化処理における各initializationTypeのctxIdx
と構文要素の関連付け
【0124】
【0125】
表61-mtt_split_cu_vertical_flagのctxIncのi
nitValueおよびshiftIdxの仕様
【0126】
【0127】
9.3.4.2 ctxTable,ctxIdx,bypassFlagの導出処理
9.3.4.2.1 一般
【0128】
表131-コンテキストコーディングされたビンを有する構文要素へのctxIncの
割り当て
【0129】
【0130】
9.3.4.2.3 構文要素mtt_split_cu_vertical_flag
のctxIncforの導出プロセス
この処理への入力は、現在のピクチャの左上のサンプルに対する現在の輝度ブロックの
左上の輝度サンプル、デュアルツリーチャネルタイプchTypeおよび輝度サンプルに
おける現在のコーディングブロックの幅と高さcbWidth、cbHeight、並び
に節7.4.11.4にでコーディングツリー意味論において導出された変数allow
SplitBtVer、allowSplitBtHor、allowSplitTVe
r、allowSplitTHor、allowSplitTHorおよびallowS
plitである。
【0131】
この処理の出力はctxIncである。
位置(xNbL,yNbL)は(x0-1,y0)に等しく設定され、節6.4.4に
規定される近傍のブロックの利用可能性の導出処理は、(x0,y0)に等しく設定され
た位置(xCurr,yCurr)、(xNbL,yNbL)に等しく設定された近傍位
置(xNbY,yNbY)、FALSEに設定されたcheckPredModeYおよ
びcIdxを入力として実行され、出力がavailableLに割り当てられる。
位置(xNbA,yNbA)は(x0,y0-1)に等しく設定され、節6.4.4に
規定される近傍のブロックの利用可能性の導出処理は、(x0,y0)に等しく設定され
た位置(xCurr,yCurr)、(xNbA,yNbA)に等しく設定された近傍位
置(xNbY,yNbY)、FALSEに設定されたcheckPredModeYおよ
びcIdxを入力として実行され、出力がavailableAに割り当てられる。
【0132】
ctxIncの割り当ては、以下のように指定される。
-allowSplitBtVer+allowSplitBtHorがallowS
plitTVer+allowSplitTTHorより大きい場合、ctxIncは4
に設定される。
-そうでない場合、allowSplitBtVer+allowSplitBtHo
rがallowSplitTVer+allowSplitTTHorよりも小さい場合
、ctxIncは4に等しく設定される。
-そうでない場合、以下が適用される:
-変数dAおよびdLは、以下のように導出される。
dA=cbWidth/(availableA?CbWidth[chType
][xNbA][yNbA]:1) (1563)
dL=cbHeight/(availableL?CbHeight[chTy
pe][xNbL][yNbL]:1) (1564)
-以下の条件のいずれかが真である場合、ctxIncは0に等しく設定される。
-dAはdLに等しい、
-availableAはFALSEである
-availableLはFALSEである
-そうでない場合、dAがdLよりも小さい場合、ctxIncは1に等しく設定され
る。
そうでない場合、ctxIncは0に等しく設定される。
【0133】
2.9. 変換スキップモードにおける係数コーディング
現在のVVC草案において、残差コーディングを変換スキップレベルの統計および信号
特性に適応させるために、非TS係数コーディングに比べて、TS(Transform
Skip)モードにおける係数コーディングについていくつかの修正が提案されている
。
【0134】
7.3.10.11 残差コーディング構文
【0135】
【0136】
【0137】
【0138】
【0139】
【0140】
【0141】
【0142】
【0143】
2.9.1. 符号フラグcoeff_sign_flagのコンテキストモデリングお
よびコンテキストインデックスオフセット導出
【0144】
表51-初期化処理における各initializationTypeのctxIdx
と構文要素の関連付け
【0145】
【0146】
表125-coeff_sign_flagのctxIncのinitValueおよ
びshiftIdxの仕様
【0147】
【0148】
表131-コンテキストコーディングされたビンを有する構文要素へのctxIncの
割り当て
【0149】
【0150】
9.3.4.2.10 変換スキップモードのための構文要素coeff_sign_f
lagのctxIncの導出プロセス
この処理への入力は、色成分インデックスcIdx、現在のピクチャの左上のサンプル
に対して現在の変換ブロックの左上のサンプルを規定する輝度位置(x0,y0)、現在
の係数スキャン位置(xC,yC)である。
このプロセスの出力は変数ctxIncである。
変数leftSignおよびaboveSignは、以下のように導出される。
leftSign=(xC==0)?0:CoeffSignLevel[xC-1
][yC] (1595)
aboveSign=(yC==0)?0:CoeffSignLevel[xC]
[yC-1] (1596)
変数ctxIncは、以下のように導出される。
-leftSignが0に等しく、aboveSignが0に等しい場合、またはle
ftSignが-aboveSignに等しい場合、以下が適用される。
ctxInc=(BdpcmFlag[x0][y0][cIdx]==0?0:3
) (1597)
-そうでない場合、leftSignが0以上かつaboveSignが0以上である
場合、以下が適用される。
ctxInc=(BdpcmFlag[x0][y0][cIdx]?1:4) (
1598)
-そうでない場合、以下が適用される:
ctxInc=(BdpcmFlag[x0][y0][cIdx]?2:5) (
1599)
【0151】
3. 開示される技術的解決策および実施形態によって解決される技術的課題
AMVR精密インデックスおよび分割CU垂直フラグのためのコンテキスト導出プロセ
スの現在の設計は、以下の問題を有する。
1.ブロックを水平または垂直に分割することを規定する構文要素(例えば、mtt_
split_cu_vertical_flag)のコンテキストモデリングは、「al
lowSplitBtVer+allowSplitBtHor」と「allowSpl
itTVer+allowSplitTHor」との間の関係に依存する。しかし、BT
/TT水平を許可するよりも、分割情報とBT/TT垂直を許可する方が相関が大きいこ
とに留意されたい。
2.現在のVVCにおいて、AMVR精度インデックス(例えば、amvr_prec
ision_idx)の第1のビンは、ブロックがIBCモードでコーディングされるか
、アフィンモードでコーディングされるか、または通常のインターモード(非IBC、非
アフィン)でコーディングされるかを考慮せずに、1つのコンテキストでコンテキストコ
ーディングされる。AMVR精度インデックスをコーディングすることは、あまり効率的
でない場合がある。また、通常のインターモードを有するブロックに対してコーディング
されるamvr_precision_idxの第2のビンは、amvr_precis
ion_idxの第1のビンに使用されるコンテキストとは別個のコンテキストを使用す
る。構文要素のコーディングに使用される複数のコンテキストは、構文要素のコーディン
グ頻度が低い場合、最適でない場合がある。
3.係数コーディングは、画面コンテンツのコーディングにおいてコーディングの利点
を実現することができるが、係数コーディングおよびTSモードは、依然としていくつか
の欠点を有する可能性がある。
a.符号フラグにバイパスコーディングを使用するか、コンテキストコーディングを
使用するかは、このケースでは不明である。
i.残りの許可されたコンテキストコーディングされたビンの数(RemCcbs
で表される)は、0に等しい。
ii.現在のブロックはTSモードでコーディングされる。
iii.slice_ts_residual_coding_disabled
_flagは偽である。
【0152】
4. 技術的解決策および実施形態の一覧
以下の項目は、一般的な概念を説明するための例であると考えられるべきである。これ
ら項目は狭い意味で解釈されるべきではない。さらに、これらの項目は、任意の方法で組
み合わせることができる。
【0153】
本開示では、用語AMVRは、MV(Motion Vector)/MVD(MV
Difference)コーディングまたはMVP(MV Predictor)のため
に適応動きベクトル差分解像度を使用するコーディングツールを表す。本発明は、VVC
に記載されているAMVRおよびブロック分割技術に限定されるものではない。
【0154】
amvr_precision_idxは、許容される動きベクトルの差分解像度のイ
ンデックス(または指標)を規定する構文要素を表す。一例において、それはVVCテキ
ストにおいて定義されるamvr_precision_idxであってもよい。なお、
amvr_precision_idxは、1または複数のビンを含むことができるビン
の文字列に2値化されてもよい。
【0155】
mtt_split_cu_vertical_flagは、コーディングブロックを
垂直方向に分割するか否かを規定する構文要素を表す。一例において、それはVVCテキ
ストに定義されたmtt_split_cu_vertical_flagであることが
できる。
【0156】
amvr_precision_idxのコンテキストの派生
1.AMVRの使用を示すSE(Syntax Element)の第1のビン(ビン
インデックスが0に等しい)および/またはビンの文字列の他のビン(例えば、amvr
_precision_idxおよび/またはamvr_flag)のためのコンテキス
トモデリング(例えば、コンテキストをどのように選択するか)は、現在のブロックおよ
び/または近傍のブロックのコーディングされた情報(例えば、コーディングされたモー
ド)に依存してもよい。
a.一例において、コーディングされた情報は、IBC、アフィンAMVR、および
通常のインター(例えば、非IBC、非アフィン)モード、双予測および/または単予測
、現在のブロックのブロック寸法および/または近傍のブロックのブロック寸法のうちの
少なくとも1つを備えてもよく、コーディングされた情報に基づいてビン(例えば、第1
のビン)をコーディングするために異なるコンテキストを利用してもよい。
i.あるいは、IBCコーディングされたブロックの1つのビン(例えば、第1の
ビン)は、CtxMで示される単一のコンテキストでコーディングされる。
ii.あるいは、アフィンコーディングされたブロックのためのSEの1つのビン
(例えば、第1のビン)は、CtxNによって表される単一のコンテキストでコーディン
グされる。
iii.あるいは、さらに、通常のインター(例えば、非アフィンおよび非IBC
)コーディングされたブロックのためのSEの1つのビン(例えば、第1のビン)は、C
txPによって表される単一のコンテキストでコーディングされる。
iv.あるいは、3つのコンテキストCtxM、CtxN、CtxPのうち少なく
とも1つのコンテキストが他の2つのコンテキストと異なる。
v.あるいは、3つのコンテキストCtxM、CtxN、CtxPは、それぞれ異
なる。
vi.例えば、SEの1つのビン(例えば、第1のビン)は、双予測ブロックの場
合、CtxBiで示される単一のコンテキストでコーディングされ、単予測コーディング
ブロックの場合、CtxUniで示される単一のコンテキストでコーディングされる。
1)一例において、CtxBiは、CtxUniとは異なる。
【0157】
b.一例において、2つ以上のコンテキストが、SEのビンストリングの第1のビン
および/または他のビンをコーディングするために利用されてもよい。
i.一例において、第1のビンのためにX個のコンテキストを利用することができ
、ここで、X>1である。
1)一例において、X=3である。
a)あるいは、さらに、コンテキストの選択は、コーディングされた情報(例
えば、上述したモード)に依存する。
2)一例において、X=2である。
a)あるいは、さらに、コンテキストの選択は、コーディングされた情報(例
えば、上述したモード)およびIBCコーディングブロックのための1つのコンテキスト
に依存し、他のブロック(例えば、アフィンまたは通常のインターコーディング)のため
の他のコンテキストに依存する。
b)あるいは、コンテキストの選択は、コーディングされた情報(例えば、上
述したモード)、IBCおよびアフィンAMVRコーディングされたブロックの1つのコ
ンテキスト、および、他のブロック(例えば、通常のインターコーディング)の1つのコ
ンテキストに依存する。
c.一例において、コーディングされた情報(例えば、コーディングモード)に基づ
いて、SEのビンの文字列の第1のビン(ビンインデックスが0に等しい)および/また
は他のビンの異なるモデルを、異なる初期化値で初期化してもよい。
d.一例において、コーディングされた情報(例えば、コーディングモード)に基づ
いて、SEのビンの文字列の第1のビン(ビンインデックスが0に等しい)および/また
は他のビンの異なるモデルを、同じ初期化値で初期化してもよい。
【0158】
2.amvr_precision_idxのビンの文字列の第1および第2のビンの
ために様々なコンテキストを使用する代わりに、第2のビンをコーディングするために使
用されるコンテキストは、ビンの文字列の第1のビンをコーディングするために使用され
るコンテキストの1または複数と同じであってもよいことが提案される。
a.あるいは、ビンの文字列の第2のビンは、通常のインター(例えば、非アフィン
および非IBC)コーディングブロックに対してのみコーディングされる。
b.あるいは、ビンの文字列の第2のビンは、CtxQで表される単一のコンテキス
トでコーディングされる。
c.あるいは、同じコンテキストが、IBCコーディングブロックに対するamvr
_precision_idxの第1のビンをコーディングするために用いられ、通常の
インターコーディングされたブロックに対するamvr_precision_idxの
第2のビンをコーディングするために使用されてもよい。
d.あるいは、同じコンテキストが、アフィンコーディングされたブロックに対する
amvr_precision_idxの第1のビンをコーディングするために使用され
、通常のインターコーディングされたブロックに対するamvr_precision_
idxの第2のビンをコーディングするために使用されてもよい。
e.あるいは、同じコンテキストが、通常のインターコーディングされたブロックに
対するamvr_precision_idxの第1のビンをコーディングするために使
用され、通常のインターコーディングブロックに対するamvr_precision_
idxの第2のビンをコーディングするために使用されてもよい。
【0159】
3.IBCコーディングされたブロック(CtxMで示す)に対するamvr_pre
cision_idxの第1のビンと通常のインターコーディングされたブロック(Ct
xQで示す)のためのamvr_precision_idxの第2のビンをコーディン
グするために、CtxM=CtxQのように、同じコンテキストが使用されてもよい。
a.一例において、amvr_precision_idxをコーディングするため
に、X1(例えば、X1=3)コンテキストを利用してもよい。
b.あるいは、非IBCコーディングされたブロックに対し、amvr_preci
sion_idxのビンの文字列の第1のビンをコーディングするための様々なコンテキ
ストを利用してもよい。
【0160】
4.IBCコーディングされたブロックに対するamvr_precision_id
xの第1のビン、アフィンコーディングされたブロックに対するamvr_precis
ion_idxの第1のビン、および通常のインターコーディングに対するamvr_p
recision_idxの第1のビンをコーディングするために、CtxM=CtxN
=CtxPのように、同じコンテキストが使用されてもよい。
a.一例において、amvr_precision_idxをコーディングするため
に、X2(例えば、X2=2)コンテキストを利用してもよい。
b.あるいは、さらに、非IBCおよび非アフィンコーディングされたブロックに対
し、amvr_precision_idxのビンの文字列の第1のビンをコーディング
するための異なるコンテキストが利用されてもよい。
【0161】
5.IBCコーディングされたブロックに対するamvr_precision_id
xの第1のビンおよび通常のインターコーディングされたブロックに対するamvr_p
recision_idxの第1のビンをコーディングするために、CtxM=CtxP
のように、同じコンテキストが使用されてもよい。
a.一例において、amvr_precision_idxをコーディングするため
に、X3(例えば、X3=3)コンテキストを利用してもよい。
b.あるいは、非IBCおよび非通常のインターコーディングされたブロック(例え
ば、アフィンAMVRでコーディングされた)に対し、amvr_precision_
idxのビンの文字列の第1のビンをコーディングするための異なるコンテキストが利用
されてもよい。
c.あるいは、さらに、amvr_precision_idxのビンの文字列の第
2のビンをコーディングするための異なるコンテキストが利用されてもよい。
【0162】
6.IBCコーディングされたブロックのためのamvr_precision_id
xの第1のビン、およびアフィンコーディングされたブロックのためのamvr_pre
cision_idxの第1のビンをコーディングするために、CtxM=CtxNのよ
うに、同じコンテキストが使用されてもよい。
7.IBCコーディングされたブロック、アフィンコーディングされたブロック、およ
び通常のコーディングされたブロックに対し、amvr_precision_idxの
すべてのビンをコーディングするために、同じコンテキストを使用してもよい。
a.一例において、単一のコンテキストは、amvr_precision_idx
をコーディングするために利用してもよい。
【0163】
8.複数のコンテキストが、IBCコーディングされたブロック、アフィンコーディン
グされたブロック、および通常のインターコーディングされたブロックに対し、amvr
_precision_idxの第1のビンをコーディングするために用いられてもよく
、単一のコンテキストが、第1のビンをコーディングするために使用されるものとは異な
る第2のビンをコーディングするために用いられてもよい。
a.一例において、amvr_precision_idxをコーディングするため
に、X4(例えば、X4=4)コンテキストを利用してもよい。
b.例えば、CtxM!=CtxQ!=CtxN!=CtxPである。
【0164】
9.amvr_precision_idxをコーディングするために使用される少な
くとも1つのコンテキストは、amvr_flagをコーディングするために使用される
コンテキストと同じであってもよいことが提案される。
a.アフィンコーディングブロックのAMVRフラグ(例えば、amvr_flag
)をコーディングするためのコンテキストと同じコンテキストが、IBCコーディングさ
れたブロックに対するamvr_precision_idxの第1のビン、または/お
よびアフィンコーディングされたブロックに対するamvr_precision_id
xの第1のビン、または/および通常のインターコーディングされたブロックに対するa
mvr_precision_idxの第1のビンまたは/および第2のビンのために用
いられてもよい。
b.非アフィンコーディングされたブロックのAMVRフラグ(例えば、amvr_
flag)をコーディングするためのコンテキストと同じコンテキストが、IBCコーデ
ィングされたブロックに対するamvr_precision_idxの第1のビン、ま
たは/およびアフィンコーディングされたブロックに対するamvr_precisio
n_idxの第1のビン、または/および通常のインターコーディングされたブロックに
対するamvr_precision_idxの第1のビンまたは/および第2のビンの
ために用いられてもよい。
c.amvr_precision_idxの第1のビンのコンテキストモデリング
は、ブロックに対してアフィンモードが適用されるかどうかに依存する。
i.あるいは、さらに、1つのコンテキストが、アフィンコーディングされたブロ
ックの第1のビンをコーディングするために使用され、他のコンテキストが、非アフィン
コーディングされたブロック(例えば、通常のインターコーディングされたブロックおよ
びIBCコーディングされたブロックを含む)のために使用される。
ii.あるいは、さらに、第1のコンテキストが、アフィンコーディングされたブ
ロックの第1のビンをコーディングするために使用され、第2のコンテキストが、非アフ
ィンコーディングされたブロック(例えば、通常のインターコーディングされたブロック
およびIBCコーディングされたブロックを含む)のために使用される。第1のコンテキ
ストは、アフィンコーディングされたブロックのamvr_flagのコーディングのた
めに使用されるコンテキストと同じであり、第2のコンテキストは、非アフィンコーディ
ングされたブロックのamvr_flagのコーディングに使用されるコンテキストと同
じである。
【0165】
mtt_split_cu_vertical_flagのコンテキストの導出
変数allowSplitBtVer、allowSplitBtHor、allow
SplitTVer、allowSplitTVer、allowSplitTHorが
、現在のコーディングツリーノードに対して垂直BT分割、水平BT分割、垂直TT分割
、水平TT分割が許可されたかどうかをそれぞれ示すとする。allowSplitBt
Ver、allowSplitBtHor、allowSplitTtVer、allo
wSplitTTVer、allowSplitTTHorの値は0または1に等しくて
もよく、これらは章2.6で導出される。現在のブロックの幅、現在のブロックの高さ、
左の近傍のブロックの幅、左の近傍のブロックの高さ、上の近傍のブロックの幅、および
上の近傍のブロックの高さを、それぞれ、curW、curH、leftW、leftH
、aboveW、およびaboveHで表す。「numV」をallowSplitBt
VerとallowSplitTtVerの和に等しい値とし、「numH」をallo
wSplitBtHorとallowSplitTHorの和に等しい値とする。
【0166】
10.ブロック分割情報を示すSE(例えば、mtt_split_cu_verti
cal_flag)のコンテキストモデリングのためのコンテキストモデリングは、垂直
分割を許可する数(例えば、BTおよびTT)および水平分割を許可する数(例えば、B
TおよびTT)に依存してもよい。
a.一例において、水平分割と比較して垂直分割が許可された場合が多い場合(例え
ば、numV>numH)、第1のコンテキストのセットが利用される。
b.一例において、水平分割に比べて垂直分割が許可された場合が少ない(例えば、
numV<numH)場合、第2のコンテキストのセットが利用される。
c.一例において、水平分割と比較して垂直分割が許可された場合が同じである(例
えば、numV=numH)場合、第3のコンテキストのセットが利用される。
d.あるいは、さらに、第1/第2/第3のセットにおけるコンテキストはいずれも
同じではない。
e.あるいは、さらに、第1/第2/第3のセットにおけるコンテキストのうち少な
くとも1つは、別のセットに含まれるコンテキストと同じである。
f.あるいは、さらに、3つのセットそれぞれのコンテキストの数は、セットインデ
ックスに依存してもよい。
i.一例において、1つのコンテキストのみが第1および/または第2のセットに
含まれる。
ii.一例において、複数のコンテキストが第3のセットに含まれる。
1)あるいは、第3のセットからのコンテキストの選択は、上および左の近傍の
ブロックの利用可能性、および/または現在のブロックのブロック寸法および近傍のブロ
ックのブロック寸法にさらに依存してもよい。
g.1つの例が、章5.4の実施形態#4に示されている。
h.1つの例が、章5.5の実施形態#5に示されている。
【0167】
11.1つのブロックを垂直に分割するかどうかを示すSE(例えば、mtt_spl
it_cu_vertical_flag)は、BT/TT分割が許可されたかどうか、
または/および現在のブロックの幅/高さ、または/および近傍のブロックの幅/高さに
依存してよい、N個のコンテキストでコーディングされる。
i.一例において、SEをコーディングするためにどのコンテキストが使用されるか
は、numVおよびnumHに依存してよい。
i.例えば、numVがnumHよりも大きいかどうかに依存する。
ii.例えば、numVがnumHよりも小さいかどうかに依存する。
iii. 例えば、numVがnumHに等しいかどうかは、平均に依存する。
【0168】
j.一例において、SEのビンストリングは、BT/TT分割が許可されたかどうか
に基づいて、N個のコンテキストでコンテキストコーディングされてもよい。
i.一例において、SEは、numVがnumHよりも大きい場合、CtxAによ
って表されるコンテキストでコーディングされる。
ii.一例において、SEは、numVがnumH未満である場合、CtxBによ
って表されるコンテキストでコーディングされる。
iii.一例において、SEは、numVがnumHに等しい場合、CtxCによ
って表されるコンテキストでコーディングされる。
iv.一例において、CtxAはCtxBに等しく、CtxBはCtxCに等しく
(例えば、CtxA=CtxB=CtxC)、例えば、CtxA=CtxB=CtxC=
0である。
v.一例において、CtxA!=CtxB!=CtxCであり、例えば、CtxA
=0,CtxB=1,CtxC=2である。
【0169】
k.一例において、SEのビンの文字列は、現在のブロックの幅/高さ、および/ま
たは近傍のブロックの幅/高さに基づいて、N個のコンテキストでコンテキストコーディ
ングされてもよい。
i.一例において、近傍のブロックは、上の近傍のブロック、または/および左の
近傍のブロックを参照してよい。
ii.一例において、SEは、現在のブロックの幅または高さ、および/または近
傍のブロックの幅または高さの関数に依存してよい、N個のコンテキストでコーディング
される。dA=curW/aboveWおよびdL=curH/leftHを表す。
1)一例において、SEは、左の近傍のブロックまたは上の近傍のブロックのい
ずれかが利用可能でない場合、またはdAがdLに等しい場合、CtxDによって表され
るコンテキストでコーディングされる。
2)一例において、SEは、dAがdL未満である場合、CtxEによって表さ
れるコンテキストでコーディングされる。
3)一例において、SEは、dAがdLよりも大きい場合、CtxFによって表
されるコンテキストでコーディングされる。
【0170】
l.一例において、SEのビンの文字列は、BT/TT分割が許可されたかどうか、
および/または現在のブロックの幅/高さ、および/または近傍のブロックの幅/高さに
基づいて、N個のコンテキストでコンテキストコーディングされてもよい。
i.一例において、SEは、numVがnumHよりも大きい場合、CtxAによ
って表されるコンテキストでコーディングされる。
ii.一例において、SEは、numVがnumH未満である場合、CtxBによ
って表されるコンテキストでコーディングされる。
iii.一例において、SEは、numVがnumHに等しい(左の近傍のブロッ
クまたは上の近傍のブロックのいずれかが利用可能でない、またはdAがdLに等しい)
場合、CtxCによって示されるコンテキストでコーディングされる。
iv.一例において、SEは、numVがnumHに等しく、dAがdL未満であ
る場合、CtxEによって表されるコンテキストでコーディングされる。
v.一例において、SEは、numVがnumHに等しく、dAがdLよりも大き
い場合、CtxFによって表されるコンテキストでコーディングされる。
一例において、N=5,CtxA!=CtxB!=CtxC!=CtxE!=Ct
xFである。
【0171】
m.一例において、SEのビンの文字列は、現在のブロックがピクチャ境界にあるか
に基づいて、N個のコンテキストでコンテキストコーディングされてもよい。
n.一例において、SEのビンの文字列は、デュアルツリーおよび/またはローカル
デュアルツリーのいずれが適用されるかに基づいて、N個のコンテキストでコンテキスト
コーディングされてもよい。
o.一例において、SEのビンの文字列は、分割されるサンプルの色成分に基づいて
、N個のコンテキストでコンテキストコーディングされてもよい。
p.一例において、SEのビンの文字列は、現在のブロックの幅/高さに基づいて、
N個のコンテキストでコンテキストコーディングされてもよい。
i.一例において、コンテキスト増加手段は、ブロックの幅または高さの関数に設
定されてもよい。
【0172】
12.分割CU垂直フラグ(例えば、mtt_split_cu_vertical_
flag)は、単一のコンテキストでコーディングされてもよい。
【0173】
係数符号フラグのためにバイパスコーディングまたはコンテキストコーディングを使用
する方法
【0174】
13.変換係数レベルの符号(例えば、構文要素coeff_sign_flag)の
ためにコンテキストコーディングを使用するか、バイパスコーディングを使用するかは、
残りの許可されたコンテキストコーディングされたビンの数(例えば、RemCcbs)
および/または現在のブロックに使用される変換の種類(例えば、DCT2、DST7、
または変換スキップ)に依存する。
a.一例において、変換スキップ残差コーディングの処理において、RemCcbs
がT1より大きい(例えば、T1=0)場合、coeff_sign_flagにコンテ
キストコーディングを使用してもよい。
i.また、変換スキップ残差コーディングの手順において、RemCcbsがT1
に等しい(例えば、T1=0)場合、coeff_sign_flagにバイパスコーデ
ィングを使用してもよい。
b.一例において、変換スキップ残差コーディングの処理において、RemCcbs
がT2以上(例えば、T2=3)である場合、coeff_sign_flagにコンテ
キストコーディングを用いてもよい。
i.また、変換スキップ残差コーディングの処理において、RemCcbsがT2
より小さい場合(例えば、T2=3)、coeff_sign_flagに対してバイパ
スコーディングを使用してもよい。
【0175】
14.変換スキップ残差コーディング処理の第3/剰余係数走査パスにおける残りの構
文要素(例えば、構文要素abs_remainderおよびcoeff_sign_f
lag)に対するバイパスコーディングの開始時に、残りの許可されたコンテキストコー
ディングされたビンの数(例えば、RemCcbs)を規定する変数に1つの演算を適用
してもよい。
c.一例において、この動作は、RemCcbsをある値(例えば、0)に等しくな
るように設定してよい。
d.いくつかの実施形態において、動作は、RemCcbsを除く少なくとも1つの
変数または構文要素に基づいて、RemCcbsを値に等しく設定することであってもよ
い。
i.一例において、この動作は、RemCcbsをRemCcbsから1を減算し
たものに等しくなるように設定することができる。
【0176】
15.1つの例が、章5.7の実施形態#7に示されている。
16. 1つの例が、章5.8の実施形態#8に示されている。
【0177】
17.変換係数レベル(例えば、coeff_sign_flag)がバイパスモード
でコーディングされるか、またはコンテキストコーディングモードでコーディングされる
かは、残りの許可されたコンテキストコーディングされたビンの数(例えば、RemCc
bs)に依存してもよい。
e.残りの許可されたコンテキストコーディングされたビンの数(例えば、RemC
cbs)がNよりも小さい場合、変換係数レベルの符号(例えば、coeff_sign
_flag)をバイパスモードでコーディングすることが提案される。
f.一例において、符号フラグは、RemCcbs<=Nである場合、バイパスモー
ドでコーディングされる。
i.あるいは、一例において、RemCcbs>Nである場合、符号フラグはコン
テキストモードでコーディングされる。
g.一例において、RemCcbsがNに等しい場合、符号フラグはバイパスモード
でコーディングされる。
i. あるいは、一例において、RemCcbs>Nである場合、符号フラグはバ
イパスモードでコーディングされる。
ii.一例において、Nは4に等しく設定されてもよい。
1)あるいは、一例において、Nは0に等しく設定されてもよい。
iii.一例において、RemCcbsは、変換係数レベルの残りの絶対値を復号
する前に、Xに修正されてもよく、ここで、XはNに等しい。
【0178】
h.一例において、RemCcbsがN未満の場合、符号フラグはバイパスモードで
コーディングされる。
i.あるいは、一例において、RemCcbs>=Nである場合、符号フラグはコ
ンテキストモードでコーディングされる。
ii.一例において、Nは3に等しく設定されてもよい。
iii.一例において、RemCcbsは、変換係数レベルの残りの絶対値を復号
する前に、Xに修正されてもよく、ここで、XはNよりも小さい。
i.一例において、Nは整数であり、以下に基づいてもよい。
i.SPS/VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループ
ヘッダ/LCU行/LCUのグループ/LCU/CUにおいて信号通知された指示
ii.現在のブロックおよび/またはその近傍のブロックのブロック寸法
iii.現在のブロックおよび/またはその近傍のブロックのブロック形状
iv.カラーフォーマットの表示(例えば、4:2:0、4:4:4)
v.別個またはデュアルのコーディングツリー構造が使用されているかどうか
vi.スライスのタイプおよび/またはピクチャのタイプ
vii.色成分の数
【0179】
j.変換係数レベルをコーディングするために使用されるコーディングコンテキスト
(例えば、coeff_sign_flag)は、残りの許可されたコンテキストコーデ
ィングされたビンの数(例えば、RemCcbs)の数に依存してよい。
k.上記の例は、BDPCMコーディングされたブロックを含む、または含まない変
換ブロックおよび/または変換スキップブロックに適用されてもよい。
【0180】
一般
【0181】
18.上記開示された方法を適用するかどうかおよび/またはどのように適用するかは
、例えば、シーケンスヘッダ/ピクチャヘッダ/SPS/VPS/DPS/DCI/PP
S/APS/スライスヘッダ/タイルグループヘッダにおいて、シーケンスレベル/ピク
チャレベル/スライスレベル/タイルグループレベルで信号通知されてもよい。
19.上述した開示された方法を適用するかどうか、および/またはどのように適用す
るかは、カラーフォーマット、シングル/デュアルツリー分割等のコーディングされた情
報に依存してもよい。
【0182】
5. 実施形態
以下は、上記第4章に要約されたいくつかの発明の態様のためのいくつかの例示的な実
施形態であり、VVC仕様に適用できる。太字のイタリック体において、既に追加または
修正された最も関連する部分には下線を付し、削除された部分のうちのいくつかは、[[
]]を使用して示す。
【0183】
5.1. 実施形態1
9.3.2.2 コンテキスト変数の初期化処理
【0184】
表51-初期化処理における各initializationTypeのctxIdx
と構文要素の関連付け
【0185】
【0186】
表89-amvr_precision_idxのctxIdxのinitValue
およびshiftIdxの仕様
【0187】
【0188】
9.3.4.2 ctxTable,ctxIdx,bypassFlagの導出処理
9.3.4.2.1 一般
【0189】
表131-コンテキストコーディングされたビンを有する構文要素へのctxIncの
割り当て
【0190】
【0191】
【0192】
【0193】
上記の例において、X!=Y,X!=Z,Y!=Zである。
代替的には、さらに以下を適用する:
1)一例において、WはXに等しい。
2)代替的に、WはYに等しい。
3)代替的に、WはZに等しい。
【0194】
5.2. 実施形態2
9.3.2.2 コンテキスト変数の初期化処理
【0195】
表51-初期化処理における各initializationTypeのctxIdx
と構文要素の関連付け
【0196】
【0197】
表89-amvr_precision_idxのctxIdxのinitValue
およびshiftIdxの仕様
【0198】
【0199】
9.3.4.2 ctxTable,ctxIdx,bypassFlagの導出処理
9.3.4.2.1 一般
【0200】
表131-コンテキストコーディングされたビンを有する構文要素へのctxIncの
割り当て
【0201】
【0202】
【0203】
5.3. 実施形態3
9.3.2.2 コンテキスト変数の初期化処理
【0204】
表51-初期化処理における各initializationTypeのctxIdx
と構文要素の関連付け
【0205】
【0206】
表89-amvr_precision_idxのctxIdxのinitValue
およびshiftIdxの仕様
【0207】
【0208】
9.3.4.2 ctxTable,ctxIdx,bypassFlagの導出処理
9.3.4.2.1 一般
【0209】
表131-コンテキストコーディングされたビンを有する構文要素へのctxIncの
割り当て
【0210】
【0211】
5.4. 実施形態4
作業草案は、以下のように変更することができる。
9.3.4.2.3 構文要素mtt_split_cu_vertical_flag
のctxIncforの導出プロセス
この処理への入力は、現在のピクチャの左上のサンプルに対する現在の輝度ブロックの
左上の輝度サンプル、デュアルツリーチャネルタイプchTypeおよび輝度サンプルに
おける現在のコーディングブロックの幅と高さcbWidth、cbHeight、並び
に節7.4.11.4にでコーディングツリー意味論において導出された変数allow
SplitBtVer、allowSplitBtHor、allowSplitTVe
r、allowSplitTHor、allowSplitTHorおよびallowS
plitである。
【0212】
この処理の出力はctxIncである。
位置(xNbL,yNbL)は(x0-1,y0)に等しく設定され、節6.4.4に
規定される近傍のブロックの利用可能性の導出処理は、(x0,y0)に等しく設定され
た位置(xCurr,yCurr)、(xNbL,yNbL)に等しく設定された近傍位
置(xNbY,yNbY)、FALSEに設定されたcheckPredModeYおよ
びcIdxを入力として実行され、出力がavailableLに割り当てられる。
位置(xNbA,yNbA)は(x0,y0-1)に等しく設定され、節6.4.4に
規定される近傍のブロックの利用可能性の導出処理は、(x0,y0)に等しく設定され
た位置(xCurr,yCurr)、(xNbA,yNbA)に等しく設定された近傍位
置(xNbY,yNbY)、FALSEに設定されたcheckPredModeYおよ
びcIdxを入力として実行され、出力がavailableAに割り当てられる。
【0213】
【0214】
5.5. 実施形態5
作業草案は、以下のように変更することができる。
9.3.4.2.3 構文要素mtt_split_cu_vertical_flag
のctxIncforの導出プロセス
この処理への入力は、現在のピクチャの左上のサンプルに対する現在の輝度ブロックの
左上の輝度サンプル、デュアルツリーチャネルタイプchTypeおよび輝度サンプルに
おける現在のコーディングブロックの幅と高さcbWidth、cbHeight、並び
に節7.4.11.4にでコーディングツリー意味論において導出された変数allow
SplitBtVer、allowSplitBtHor、allowSplitTVe
r、allowSplitTHor、allowSplitTHorおよびallowS
plitである。
この処理の出力はctxIncである。
位置(xNbL,yNbL)は(x0-1,y0)に等しく設定され、節6.4.4に
規定される近傍のブロックの利用可能性の導出処理は、(x0,y0)に等しく設定され
た位置(xCurr,yCurr)、(xNbL,yNbL)に等しく設定された近傍位
置(xNbY,yNbY)、FALSEに設定されたcheckPredModeYおよ
びcIdxを入力として実行され、出力がavailableLに割り当てられる。
位置(xNbA,yNbA)は(x0,y0-1)に等しく設定され、節6.4.4に
規定される近傍のブロックの利用可能性の導出処理は、(x0,y0)に等しく設定され
た位置(xCurr,yCurr)、(xNbA,yNbA)に等しく設定された近傍位
置(xNbY,yNbY)、FALSEに設定されたcheckPredModeYおよ
びcIdxを入力として実行され、出力がavailableAに割り当てられる。
【0215】
【0216】
5.6. 実施形態6
作業草案は、以下のように変更することができる。
9.3.2.2 コンテキスト変数の初期化処理
【0217】
表51- 初期化プロセスにおける各initializatioTypeのctxI
dxと構文要素の関連付け
【0218】
【0219】
表61-mtt_split_cu_vertical_flagのctxIncのi
nitValueおよびshiftIdxの仕様
【0220】
【0221】
9.3.4.2 ctxTable,ctxIdx,bypassFlagの導出処理
9.3.4.2.1 一般
【0222】
表131-コンテキストコーディングされたビンを有する構文要素へのctxIncの
割り当て
【0223】
【0224】
[[9.3.4.2.3 構文要素mtt_split_cu_vertical_f
lagのctxIncforの導出プロセス
この処理への入力は、現在のピクチャの左上のサンプルに対する現在の輝度ブロックの
左上の輝度サンプル、デュアルツリーチャネルタイプchTypeおよび輝度サンプルに
おける現在のコーディングブロックの幅と高さcbWidth、cbHeight、並び
に節7.4.11.4にでコーディングツリー意味論において導出された変数allow
SplitBtVer、allowSplitBtHor、allowSplitTVe
r、allowSplitTHor、allowSplitTHorおよびallowS
plitである。
この処理の出力はctxIncである。
位置(xNbL,yNbL)は(x0-1,y0)に等しく設定され、節6.4.4に
規定される近傍のブロックの利用可能性の導出処理は、(x0,y0)に等しく設定され
た位置(xCurr,yCurr)、(xNbL,yNbL)に等しく設定された近傍位
置(xNbY,yNbY)、FALSEに設定されたcheckPredModeYおよ
びcIdxを入力として実行され、出力がavailableLに割り当てられる。
位置(xNbA,yNbA)は(x0,y0-1)に等しく設定され、節6.4.4に
規定される近傍のブロックの利用可能性の導出処理は、(x0,y0)に等しく設定され
た位置(xCurr,yCurr)、(xNbA,yNbA)に等しく設定された近傍位
置(xNbY,yNbY)、FALSEに設定されたcheckPredModeYおよ
びcIdxを入力として実行され、出力がavailableAに割り当てられる。
【0225】
ctxIncの割り当ては、以下のように指定される。
-allowSplitBtVer+allowSplitBtHorがallowS
plitTVer+allowSplitTTHorより大きい場合、ctxIncは4
に設定される。
-そうでない場合、allowSplitBtVer+allowSplitBtHo
rがallowSplitTVer+allowSplitTTHorよりも小さい場合
、ctxIncは4に等しく設定される。
-そうでない場合、以下が適用される:
-変数dAおよびdLは、以下のように導出される。
dA=cbWidth/(availableA?CbWidth[chType
][xNbA][yNbA]:1) (1563)
dL=cbHeight/(availableL?CbHeight[chTy
pe][xNbL][yNbL]:1) (1564)
-以下の条件のいずれかが真である場合、ctxIncは0に等しく設定される。
-dAはdLに等しい、
-availableAはFALSEである、
-availableLはFALSEである。
-そうでない場合、dAがdLよりも小さい場合、ctxIncは1に等しく設定さ
れる。
そうでない場合、ctxIncは0に等しく設定される。]]
【0226】
5.7. 実施形態7
作業草案は、以下のように変更することができる。
7.3.10.11 残差コーディング構文
【0227】
【0228】
【0229】
【0230】
表131-コンテキストコーディングされたビンを有する構文要素へのctxIncの
割り当て
【0231】
【0232】
5.8. 実施形態8
作業草案は、以下のように変更することができる。
7.3.10.11 残差コーディング構文
【0233】
【0234】
【0235】
【0236】
表131-コンテキストコーディングされたビンを有する構文要素へのctxIncの
割り当て
【0237】
【0238】
図12は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム
1200を示すブロック図である。様々な実装形態は、システム1200のコンポーネン
トの一部または全部を含んでもよい。システム1200は、映像コンテンツを受信するた
めの入力1202を含んでもよい。映像コンテンツは、未加工または非圧縮フォーマット
、例えば、8または10ビットのマルチコンポーネント画素値で受信されてもよく、また
は圧縮または符号化されたフォーマットで受信されてもよい。入力1202は、ネットワ
ークインタフェース、周辺バスインタフェース、または記憶インタフェースを表してもよ
い。ネットワークインタフェースの例は、イーサネット(登録商標)、PON(Pass
ive Optical Network)等の有線インタフェース、およびWi-Fi
(登録商標)またはセルラーインタフェース等の無線インタフェースを含む。
【0239】
システム1200は、本明細書に記載される様々なコーディングまたは符号化方法を実
装することができるコーディングコンポーネント1204を含んでもよい。コーディング
コンポーネント1204は、入力1202からの映像の平均ビットレートをコーディング
コンポーネント1204の出力に低減し、映像のコーディングされた表現を生成してもよ
い。従って、このコーディング技術は、映像圧縮または映像コード変換技術と呼ばれるこ
とがある。コーディングコンポーネント1204の出力は、コンポーネント1206によ
って表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。
入力1202において受信された、記憶されたまたは通信された映像のビットストリーム
(またはコーディングされた)表現は、コンポーネント1208によって使用されて、表
示インタフェース1210に送信される画素値または表示可能な映像を生成してもよい。
ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像伸張(
映像展開)と呼ばれることがある。さらに、特定の映像処理動作を「コーディング」動作
またはツールと呼ぶが、コーディングツールまたは動作は、エンコーダおよびそれに対応
する、コーディングの結果を逆にする復号ツールまたは動作が、デコーダによって行われ
ることが理解されよう。
【0240】
周辺バスインタフェースまたは表示インタフェースの例は、USB(Universa
l Serial BUs)またはHDMI(High Definition Mul
timedia Interface;登録商標)またはディスプレイポート等を含んで
もよい。ストレージインタフェースの例は、SATA(Serial Advanced
Technology Attachment)、PCI、IDEインタフェース等を
含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、また
はデジタルデータ処理および/または映像表示を実施可能な他のデバイス等の様々な電子
デバイスに実施されてもよい。
【0241】
図13は、映像処理装置3600のブロック図である。装置3600は、本明細書に記
載の方法の1または複数を実装するために使用されてもよい。装置3600は、スマート
フォン、タブレット、コンピュータ、IoT(Internet of Things)
受信機等に実施されてもよい。装置3600は、1または複数のプロセッサ3602と、
1または複数のメモリ3604と、映像処理ハードウェア3606と、を含んでもよい。
1つまたは複数のプロセッサ3602は、本明細書に記載される1または複数の方法を実
装するように構成されてもよい。1または複数のメモリ3604は、本明細書で説明され
る方法および技術を実装するために使用されるデータおよびコードを記憶するために使用
してもよい。映像処理ハードウェア3606は、本明細書に記載される技術をハードウェ
ア回路にて実装するために使用してもよい。
【0242】
図15は、本開示の技法を利用し得る例示的な映像コーディングシステム100を示す
ブロック図である。
【0243】
図15に示すように、映像コーディングシステム100は、送信元デバイス110と、
送信先デバイス120と、を備えてもよい。送信元デバイス110は、コーディング映像
データを生成するものであり、映像コーディング機器とも称され得る。送信先デバイス1
20は、送信元装置110によって生成された、符号化された映像データを復号してよく
、映像復号デバイスと呼ばれ得る。
【0244】
送信元デバイス110は、映像ソース112と、映像エンコーダ114と、入出力(I
/O)インタフェース116と、を備えてもよい。
【0245】
映像ソース112は、映像キャプチャデバイスなどのソース、映像コンテンツプロバイ
ダからの映像データを受信するためのインタフェース、および/または映像データを生成
するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを
含んでもよい。映像データは、1または複数のピクチャを含んでもよい。映像エンコーダ
114は、映像ソース112からの映像データを符号化し、ビットストリームを生成する
。ビットストリームは、映像データのコーディングされた表現を形成するビットのシーケ
ンスを含んでもよい。ビットストリームは、コーディングされたピクチャおよび関連付け
られたデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディング
表現である。関連付けられたデータは、シーケンスパラメータセット、ピクチャパラメー
タセット、および他の構文構造を含んでもよい。I/Oインタフェース116は、変復調
器(モデム)および/または送信機を含んでもよい。符号化された映像データは、ネット
ワーク130aを介して、I/Oインタフェース116を介して送信先デバイス120に
直接送信されてよい。符号化された映像データは、送信先デバイス120がアクセスする
ために、記録媒体/サーバ130bに記憶してもよい。
【0246】
送信先デバイス120は、I/Oインタフェース126、映像デコーダ124、および
表示装置122を含んでもよい。
【0247】
I/Oインタフェース126は、受信機および/またはモデムを含んでもよい。I/O
インタフェース126は、送信元デバイス110または記憶媒体/サーバ130bから符
号化された映像データを取得してもよい。映像デコーダ124は、符号化された映像デー
タを復号してもよい。表示装置122は、復号された映像データをユーザに表示してもよ
い。表示装置122は、送信先デバイス120と一体化されてもよく、または外部表示装
置とインタフェースで接続するように構成される送信先デバイス120の外部にあっても
よい。
【0248】
映像エンコーダ114および映像デコーダ124は、HEVC(High Effic
iency Video Coding)規格、VVVM(Versatile Vid
eo Coding)規格、および他の現在のおよび/または更なる規格等の映像圧縮規
格に従って動作してもよい。
【0249】
図16は、映像エンコーダ200の一例を示すブロック図であり、映像エンコーダ20
0は、
図15に示されるシステム100における映像エンコーダ114であってもよい。
【0250】
映像エンコーダ200は、本開示の技術のいずれかまたは全部を行うように構成されて
もよい。
図16の例において、映像エンコーダ200は、複数の機能コンポーネントを備
える。本開示で説明される技法は、映像エンコーダ200の様々なコンポーネント間で共
有され得る。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまた
はすべてを行うように構成してもよい。
【0251】
映像エンコーダ200の機能コンポーネントは、分割部201、予測部202、残差生
成部207、変換部208、量子化部209、逆量子化部210、逆変換部211、再構
成部212、バッファ213、およびエントロピー符号化部214を含んでもよく、予測
部202は、モード選択部203、動き推定部204、動き補償部205、およびイント
ラ予測部206を含む。
【0252】
他の例において、映像エンコーダ200は、さらに多くの、さらに少ない、または異な
る機能コンポーネントを含んでもよい。一例において、予測部202は、IBC(Int
ra Block Copy)部を含んでもよい。IBC部は、少なくとも1つの参照ピ
クチャが、現在の映像ブロックが位置するピクチャであるIBCモードにおいて予測を実
行してもよい。
【0253】
さらに、動き推定部204および動き補正部205などのいくつかのコンポーネントは
、高度に統合されてもよいが、説明のために、
図16の例においては別々に表されている
。
【0254】
分割部201は、ピクチャを1または複数の映像ブロックに分割してもよい。映像エン
コーダ200および映像デコーダ300は、様々な映像ブロックサイズをサポートしても
よい。
【0255】
モード選択部203は、例えば、誤りの結果に基づいて、イントラまたはインターのコ
ーディングモードのうちの1つを選択し、得られたイントラまたはインターコーディング
されたブロックを、残差ブロックデータを生成するために残差生成部207に供給し、符
号化されたブロックを参照ピクチャとして使用するために再構成するために再構成部21
2に供給してもよい。いくつかの例において、モード選択部203は、インター予測信号
およびイントラ予測信号に基づいて予測を行うCIIP(Combination of
Intra and Inter Prediction)モードを選択してもよい。
モード選択部203は、インター予測の場合、ブロックのために動きベクトルの解像度(
例えば、サブピクセルまたは整数ピクセル精度)を選択してもよい。
【0256】
現在の映像ブロックに対してインター予測を実行するために、動き推定部204は、バ
ッファ213からの1または複数の参照フレームと現在の映像ブロックとを比較すること
により、現在の映像ブロックのために動き情報を生成してもよい。動き補償部205は、
現在の映像ブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの動
き情報および復号されたサンプルに基づいて、現在の映像ブロックのための予測映像ブロ
ックを判定してもよい。
【0257】
動き推定部204および動き補償部205は、現在の映像ブロックがIスライスである
か、Pスライスであるか、またはBスライスであるかに基づいて、例えば、現在の映像ブ
ロックに対して異なる動作を行ってもよい。
【0258】
いくつかの例において、動き推定部204は、現在の映像ブロックに対して単一方向予
測を行い、動き推定部204は、現在の映像ブロックに対して、参照映像ブロック用のリ
スト0またはリスト1の参照ピクチャを検索してもよい。そして、動き推定部204は、
参照映像ブロックと、現在の映像ブロックと参照映像ブロックとの間の空間的変位を示す
動きベクトルとを含む、リスト0またはリスト1における参照ピクチャを示す参照インデ
ックスを生成してもよい。動き推定部204は、参照インデックス、予測方向インジケー
タ、および動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き
補償部205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現
在のブロックの予測映像ブロックを生成してもよい。
【0259】
他の例において、動き推定部204は、現在の映像ブロックを双方向予測してもよく、
動き推定部204は、現在の映像ブロックに対する参照映像ブロックについて、リスト0
から参照ピクチャを検索してもよく、また、現在の映像ブロックに対する別の参照映像ブ
ロックについて、リスト1における参照ピクチャも検索してもよい。そして、動き推定部
204は、参照映像ブロックを含むリスト0およびリスト1における参照ピクチャを示す
参照インデックスと、参照映像ブロックと現在の映像ブロックとの間の空間的変位を示す
動きベクトルとを生成してもよい。動き推定部204は、現在の映像ブロックの参照イン
デックスおよび動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。
動き補償部205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて
、現在の映像ブロックの予測映像ブロックを生成してもよい。
【0260】
いくつかの例において、動き推定部204は、デコーダの復号処理のために、動き情報
のフルセットを出力してもよい。
【0261】
いくつかの例では、動き推定部204は、現在の映像のための動き情報のフルセットを
出力しなくてもよい。むしろ、動き推定部204は、別の映像ブロックの動き情報を参照
して、現在の映像ブロックの動き情報を信号通知してもよい。例えば、動き推定部204
は、現在の映像ブロックの動き情報が近傍の映像ブロックの動き情報に十分に類似してい
ることを判定してもよい。
【0262】
一例において、動き推定部204は、現在の映像ブロックに関連付けられた構文構造に
おいて、現在の映像ブロックが別の映像ブロックと同一の動き情報を有することを映像デ
コーダ300に示す値を示してもよい。
【0263】
他の例において、動き推定部204は、現在の映像ブロックに関連付けられた構文構造
において、別の映像ブロックと、MVD(Motion Vector Differe
nce)とを識別してもよい。動きベクトル差分は、現在の映像ブロックの動きベクトル
と、示された映像ブロックの動きベクトルとの差分を示す。映像デコーダ300は、示さ
れた映像ブロックの動きベクトルおよび動きベクトル差を使用して、現在の映像ブロック
の動きベクトルを決定してもよい。
【0264】
上述したように、映像エンコーダ200は、動きベクトルを予測的に信号通知してもよ
い。映像エンコーダ200によって実装されてよい予測信号通知技術の2つの例は、AM
VP(Advanced Motion Vector Prediction)および
マージモード信号通知を含む。
【0265】
イントラ予測部206は、現在の映像ブロックに対してイントラ予測を行ってもよい。
イントラ予測部206が現在の映像ブロックにてイントラ予測を実行する場合、イントラ
予測部206は、同じピクチャにおける他の映像ブロックの復号されたサンプルに基づい
て、現在の映像ブロックのための予測データを生成してもよい。現在の映像ブロックのた
めの予測データは、予測された映像ブロックおよび様々な構文要素を含んでもよい。
【0266】
残差生成部207は、現在の映像ブロックから現在の映像ブロックの予測された映像ブ
ロックを減算することによって(例えば、マイナス符号によって示されている)、現在の
映像ブロックに対する残差データを生成してもよい。現在の映像ブロックの残差データは
、現在の映像ブロックにおけるサンプルの異なるサンプル成分に対応する残差映像ブロッ
クを含んでもよい。
【0267】
他の例において、例えば、スキップモードにおいて、現在の映像ブロックに対する残差
データがなくてもよく、残差生成部207は、減算動作を行わなくてもよい。
【0268】
変換処理部208は、現在の映像ブロックに関連付けられた残差映像ブロックに1また
は複数の変換を適用することによって、現在の映像ブロックのための1または複数の変換
係数映像ブロックを生成してもよい。
【0269】
変換処理部208が現在の映像ブロックに関連付けられた変換係数映像ブロックを生成
した後、量子化部209は、現在の映像ブロックに関連付けられた1または複数の量子化
パラメータ(QP:Quantization Parameter)値に基づいて、現
在の映像ブロックに関連付けられた変換係数映像ブロックを量子化してもよい。
【0270】
逆量子化部210および逆変換部211は、変換係数映像ブロックに逆量子化および逆
変換をそれぞれ適用し、変換係数映像ブロックから残差映像ブロックを再構成してもよい
。再構成部212は、予測部202によって生成された1または複数の予測映像ブロック
に対応するサンプルに再構成された残差映像ブロックを追加して、バッファ213に格納
するための現在のブロックに関連付けられた再構成された映像ブロックを生成してもよい
。
【0271】
再構成部212が映像ブロックを再構成した後、映像ブロックにおける映像ブロッキン
グアーチファクトを縮小するために、ループフィルタリング動作が行われてもよい。
【0272】
エントロピー符号化部214は、映像エンコーダ200の他の機能コンポーネントから
データを受信してもよい。エントロピー符号化部214がデータを受信した場合、エント
ロピー符号化部214は、1または複数のエントロピー符号化動作を行い、エントロピー
符号化されたデータを生成し、エントロピー符号化されたデータを含むビットストリーム
を出力してもよい。
【0273】
図17は、映像デコーダ300の一例を示すブロック図であり、この映像デコーダ30
0は、
図15に示すシステム100における映像デコーダ114であってもよい。
【0274】
映像デコーダ300は、本開示の技術のいずれかまたは全てを行うように構成されても
よい。
図17の例において、映像デコーダ300は、複数の機能コンポーネントを備える
。本開示で説明される技法は、映像デコーダ300の様々なコンポーネント間で共有され
てもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたは
すべてを行うように構成してもよい。
【0275】
図17の例において、映像デコーダ300は、エントロピー復号部301、動き補正部
302、イントラ予測部303、逆量子化部304、逆変換部305、および再構成部3
06、並びにバッファ307を備える。映像デコーダ300は、いくつかの例では、映像
エンコーダ200(
図16)に関して説明した符号化パスとほぼ逆の復号パスを行っても
よい。
【0276】
エントロピー復号部301は、符号化されたビットストリームを取り出す。符号化され
たビットストリームは、エントロピーコーディングされた映像データ(例えば、映像デー
タの符号化されたブロック)を含んでもよい。エントロピー復号部301は、エントロピ
ーコーディングされた映像データを復号し、エントロピー復号された映像データから、動
き補償部302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス
、および他の動き情報を含む動き情報を決定してもよい。動き補償部302は、例えば、
AMVPおよびマージモードを行うことで、このような情報を判定してもよい。
【0277】
動き補償部302は、動き補償されたブロックを生成してもよく、場合によっては、補
間フィルタに基づいて補間を行う。構文要素には、サブピクセルの精度で使用される補間
フィルタのための識別子が含まれてもよい。
【0278】
動き補償部302は、映像ブロックの符号化中に映像エンコーダ200によって使用さ
れるような補間フィルタを使用して、参照ブロックのサブ整数画素のための補間値を計算
してもよい。動き補償部302は、受信した構文情報に基づいて、映像エンコーダ200
により使用される補間フィルタを決定し、予測ブロックを生成に補間フィルタを使用して
してもよい。
【0279】
動き補償部302は、エンコードされた映像シーケンスのフレームおよび/またはスラ
イスをエンコードするために使用されるブロックのサイズを判定するための構文情報、エ
ンコードされた映像シーケンスのピクチャの各マクロブロックがどのように分割されるか
を記述する分割情報、各分割がどのようにエンコードされるかを示すモード、各インター
エンコードされたブロックに対する1または複数の参照フレーム(および参照フレームリ
スト)、およびエンコードされた映像シーケンスをデコードするための他の情報のいくつ
かを使用してもよい。
【0280】
イントラ予測部303は、例えば、ビットストリームにおいて受信したイントラ予測モ
ードを使用して、空間的に近傍のブロックから予測ブロックを形成してもよい。逆量子化
部303は、ビットストリームに提供され、エントロピー復号部301によって復号され
た量子化された映像ブロック係数を逆量子化(例えば、逆量子化)する。逆変換部303
は、逆変換を適用する。
【0281】
再構成部306は、残差ブロックと、動き補償部202またはイントラ予測部303に
よって生成された対応する予測ブロックとを合計し、復号されたブロックを形成してもよ
い。所望であれば、ブロックアーチファクトを除去するために、復号されたブロックをフ
ィルタリングするためにデブロッキングフィルタを適用してもよい。デコードされた映像
ブロックは、バッファ307に記憶され、バッファ307は、後続の動き補償/イントラ
予測のために参照ブロックを提供し、また表示デバイスに表示するためにデコードされた
映像を生成する。
【0282】
次に、いくつかの実施形態において好適な解決策を列挙する。
【0283】
以下の解決策は、前章(例えば、項目1)で論じた技術の例示的な実施形態を示す。
【0284】
1.映像処理方法(例えば、
図14に示される方法1400)は、映像の映像ブロック
と映像のコーディングされた表現との間の変換を実行することを含み、コーディングされ
た表現はフォーマット規則に準拠し、変換は、映像ブロックに対する動きベクトルまたは
動きベクトル差分または動きベクトル予測子の表現が、適応解像度を用いてコーディング
された表現において表されるAMVR(Adaptive Motion Vector
difference Resolution)ツールに基づいて行われ、フォーマッ
ト規則は、映像ブロックまたは映像ブロックの近傍のブロックのコーディングされた情報
に依存するコンテキストモデリングによって、コーディングされた表現において適応解像
度の使用を表現することを規定する。
【0285】
2.コーディングされた情報は、イントラブロックコピーモードを使用することを含む
、解決策1に記載の方法。
【0286】
3.コーディングされた情報は、アフィンAMVRモードまたは非アフィンおよび非イ
ントラブロックコピーモード、双予測または単一予測モードの使用を含む、解決策1に記
載の方法。
【0287】
4.コーディングされた情報は、映像ブロックの寸法を含む、解決策1から3のいずれ
かに記載の方法。
【0288】
以下の解決策は、前章(例えば、項目2)で論じた技術の例示的な実施形態を示す。
【0289】
5.映像処理の方法は、映像の映像ブロックと映像のコーディングされた表現との間の
変換を実行することを含み、コーディングされた表現はフォーマット規則に準拠し、変換
は映像ブロックに対する動きベクトルまたは動きベクトル差分または動きベクトル予測子
の表現が、適応解像度を使用してコーディング表現において表されるAMVR(Adap
tive Motion Vector difference Resolution
)ツールに基づいて行われ、フォーマット規則は、AMVRツールによって使用される精
度のインデックスのための第1のビンおよび第2のビンをコーディングするために使用さ
れるコンテキストモデリングによって、コーディングされた表現における適応解像度の使
用を表現する方法を規定する。
【0290】
6.フォーマット規則は、第1のビンを使用することを規定し、第2のビンは同じコン
テキストを使用してコーディングされる、解決策5に記載の方法。
【0291】
7.フォーマット規則は、映像ブロックをコーディングされた表現で表すために非アフ
ィンおよび非イントラブロックコピーモードが使用される場合、かつその場合にのみ、第
2のビンをコーディングされた表現でコーディングすることを規定する、解決策5に記載
の方法。
【0292】
以下の解決策は、前章(例えば、項目3から項目8)で論じた技術の例示的な実施形態
を示す。
【0293】
8.映像処理の方法は、複数の映像ブロックを含む1または複数の映像ピクチャを含む
映像と、映像のコーディングされた表現との間の変換を実行することを含み、コーディン
グされた表現は、1または複数の映像ブロックのAMVR(Adaptive Moti
on Vector difference Resolution)コーディングに関
する情報を信号通知するためのフォーマット規則に準拠し、フォーマット規則は、第1の
コーディングモードを使用してコーディングされた第1の映像ブロックのAMVR精度イ
ンデックスのビンと、第2のコーディングモードを使用してコーディングされた第2の映
像ブロックのAMVR精度インデックスのビンとを、同一のコンテキストを使用してコー
ディングすることを規定する。
【0294】
9.第1のコーディングモードは、イントラブロックコピーモードに対応し、第2のコ
ーディングモードは、インターコーディングに対応し、第1の映像ブロックのビンは、A
MVR精度インデックスの第1のビンであり、第2の映像ブロックのビンは、対応するA
MVR精度インデックスの第2のビンである、解決策8に記載の方法。
【0295】
10.第1のコーディングモードは、イントラブロックコピーモードに対応し、第2の
コーディングモードは、インターコーディングに対応し、第1の映像ブロックのビンは、
AMVR精度インデックスの第1のビンであり、第2の映像ブロックのビンは、対応する
AMVR精度インデックスの第1のビンである、解決策8に記載の方法。
【0296】
11.第1のコーディングモードは、イントラブロックコピーモードに対応し、第2の
コーディングモードは、インターコーディングに対応し、第1の映像ブロックのビンは、
AMVR精度インデックスの第1のビンであり、第2の映像ブロックのビンは、対応する
AMVR精度インデックスの第1のビンである、解決策8に記載の方法。
【0297】
12.第1のコーディングモードは、イントラブロックコピーモードに対応し、第2の
コーディングモードは、アフィンコーディングに対応し、第1の映像ブロックのビンは、
AMVR精度インデックスの第1のビンであり、第2の映像ブロックのビンは、対応する
AMVR精度インデックスの第1のビンである、解決策8に記載の方法。
【0298】
13.フォーマット規則は、イントラブロックコピーモード、アフィンモードおよびイ
ンターコーディングモードを有する、第1の映像ブロック、第2の映像ブロック、および
第3の映像ブロックのすべてのビンをコーディングするために、同じコンテキストを使用
することをさらに規定する、解決策8に記載の方法。
【0299】
14.フォーマット規則は、イントラブロックコピーモード、アフィンモード、および
インターコーディングモードを有する、第1の映像ブロック、第2の映像ブロック、およ
び第3の映像ブロックの第1のビンをコーディングするための異なるコンテキスト、およ
び第1の映像ブロック、第2の映像ブロック、および第3の映像ブロックの第2のビンを
コーディングするための同じコンテキストを用いることさらに規定する、解決策8に記載
の方法。
【0300】
以下の解決策は、前章(例えば、項目9)で論じた技術の例示的な実施形態を示す。
【0301】
15.フォーマット規則は、精度値をコーディングするために使用される少なくとも1
つのコンテキストが、AMVRツールの適用可能性を示すフラグをコーディングするため
に使用されるコンテキストと同じであることをさらに規定する、解決策1から14のいず
れかに記載の方法。
【0302】
以下の解決策は、前章(例えば、項目10、11)で論じた技術の例示的な実施形態を
示す。
【0303】
16.映像処理の方法は、映像の映像ブロックと映像のコーディングされた表現との間
の変換を実行することを含み、映像ブロックは、1または複数の垂直および/または1ま
たは複数の水平分割に分割され、コーディングされた表現は、映像ブロックの分割情報の
コンテキストベースのコーディングを規定するフォーマット規則に準拠する。
【0304】
17.フォーマット規則は、分割情報を示す構文要素のコンテキストモデリングが、映
像ブロックに対して許可された垂直分割の数および/または前記映像ブロックに対して許
可された水平分割の数に依存することを規定する、解決策16に記載の方法。
【0305】
18.フォーマット規則は、映像ブロックに対して許可された垂直分割の数が映像ブロ
ックに対して許可された水平分割の数よりも大きいかどうかに依存する、解決策17に記
載の方法。
【0306】
19.フォーマット規則は、構文要素をコーディングするためにN個のコンテキストを
使用することを規定し、Nは映像ブロックの寸法または近傍の映像ブロックの寸法に基づ
く、解決策17から18のいずれかに記載の方法。
【0307】
以下の解決策は、前章(例えば、項目12)で論じた技術の例示的な実施形態を示す。
【0308】
20.フォーマット規則は、映像ブロックへの垂直分割の適用可能性を示すフラグをコ
ーディングするために、単一のコンテキストを使用することを規定する、解決策16から
19のいずれかに記載の方法。
【0309】
以下の解決策は、前章(例えば、項目13、17)で論じた技術の例示的な実施形態を
示す。
【0310】
21.映像処理の方法は、映像の映像ブロックと映像のコーディングされた表現との間
の変換を実行することを含み、コーディングされた表現はフォーマット規則に準拠し、フ
ォーマット規則は、変換係数の符号を表現するためにコンテキストコーディングまたはバ
イパスコーディングのいずれを使用するかを決定するために使用されるコーディング条件
を規定する。
【0311】
22.コーディング条件は、残りの許可されたコンテキストコーディングされたビンの
数に対応する、解決策21に記載の方法。
【0312】
23.コーディング条件は、映像ブロックとコーディングされた表現との間の変換に使
用される変換の種類に対応する、解決策21に記載の方法。
【0313】
以下の解決策は、前章(例えば、項目14)で論じた技術の例示的な実施形態を示す。
【0314】
24.映像処理の方法は、映像の映像ブロックと、映像のコーディングされた表現との
間の変換を実行することを含み、コーディングされた表現はフォーマット規則に準拠し、
フォーマット規則は、変換スキップ残差コーディング処理の第3または残差係数走査パス
における残りの構文要素のバイパスコーディングの開始時に、残りの許可されたコンテキ
ストコーディングされたビンの数を規定する変数に演算が適用されることを規定する。
【0315】
25.変換は、映像をコーディングされた表現に符号化することを含む、解決策1から
24のいずれか1つに記載の方法。
【0316】
26.変換は、映像の画素値を生成するためにコーディングされた表現を復号すること
を含む、解決策1から24のいずれか1つに記載の方法。
【0317】
27.解決策1から26の1または複数に記載の方法を実装するように構成されたプロ
セッサを備える、映像復号装置。
【0318】
28.解決策1から26の1つまたは複数に記載の方法を実装するように構成されたプ
ロセッサを備える、映像符号化装置。
【0319】
29.コンピュータコードが記憶されたコンピュータプログラムプロダクトであって、
コードは、プロセッサにより実行された際に、プロセッサに、解決策1から26のいずれ
か1つに記載の方法を実装させるコンピュータプログラムプロダクト。
【0320】
30.本明細書に記載の方法、装置またはシステム。
【0321】
図18は、本技術の1つまたは複数の実施形態にしたがった映像処理方法1800を示
すフローチャートである。方法1800は、動作1810において、規則に従って映像の
ブロックと映像のビットストリームとの間の変換を実行することを含む。変換は、AMV
R(Adaptive Motion Vector Difference Reso
lution)ツールに基づいて行われ、規則は、ブロックのコーディングモードの使用
に基づいて、AMVRシフトに関連する動きベクトル差分の解像度を規定する第1の構文
要素のビンの文字列内の第1のビンのためのコンテキストの選択を導出することを規定す
る。
【0322】
いくつかの実施形態において、ブロックはコーディングユニットである。いくつかの実
施形態において、ブロックのコーディングモードは、アフィンインターモード、イントラ
ブロックコピーモードまたはノーマルインターモードのうち1つである。いくつかの実施
形態において、異なるコーディングモードに対応する複数のコンテキストが第1のビンに
適用されてもよい。いくつかの実施形態において、複数のコンテキストは3つのコンテキ
ストを含む。いくつかの実施形態において、各コーディングモードは単一のコンテキスト
に対応する。
【0323】
いくつかの実施形態において、IBCモードを利用してブロックをコーディングする場
合、第1のビンに対する第1のコンテキストが第1の値に割り当てられ、IBCモードを
利用してブロックをコーディングしない場合、第1のコンテキストとは異なる少なくとも
1つのコンテキストが、少なくとも1つのインターコーディングモードのための第1のビ
ンに適用可能である。いくつかの実施形態において、第1のビンに対する第2のコンテキ
ストは、ブロックがアフィンインターモードを使用してコーディングされている場合、第
2の値に割り当てられ、ブロックが、非アフィンインターモードである通常インターモー
ドを使用してコーディングされている場合、第1のビンに対する第3のコンテキストは第
3の値に割り当てられる。第2の値および第3の値は、それぞれ異なる値である。
【0324】
いくつかの実施形態において、ビンの文字列の第2のビンのコンテキストは第1のビン
に用いられる1または複数のコンテキストと同じである。いくつかの実施形態において、
ビンの文字列の第2のビンは単一のコンテキスト値でコーディングされる。いくつかの実
施形態において、IBCモードを利用してコーディングされる第1のブロックに対するビ
ンの文字列の第1のビンと、非アフィンインターモードである通常のインターモードを利
用してコーディングされる第2ブロックに対するビンの文字列の第2ビンには同じコンテ
キストが選択される。
【0325】
いくつかの実施形態において、IBCモードまたはアフィンインターモードを使用して
ブロックをコーディングする場合、ビンの文字列は第1のビンから構成される。非アフィ
ンインターモードである通常のインターモードを使用してブロックをコーディングする場
合、ビンの文字列は、第2のビンをさらに備える。いくつかの実施形態において、第1の
ビンに適用される複数のコンテキストの少なくとも1つは、動きベクトル差分の解像度が
輝度サンプルの1/4であるか、または第1の構文要素によって規定されるかどうかを規
定する第2の構文要素のために選択された少なくとも1つのコンテキストと同じである。
いくつかの実施形態において、IBCモードを使用してブロックをコーディングしている
場合、動きベクトル差分の解像度を規定する第1の構文要素のためのコンテキストは、動
きベクトル差分の解像度が輝度サンプルの1/4であるか、または第1の構文要素によっ
て規定されるかどうかを規定する第2の構文要素のために選択されたコンテキストと同じ
である。いくつかの実施形態において、IBCモードまたはアフィンモードを使用してブ
ロックをコーディングしていない場合、動きベクトル差分の解像度を規定する第1の構文
要素のためのコンテキストは、動きベクトル差分の解像度が輝度サンプルの1/4である
か、または第1の構文要素によって規定されるかどうかを規定する第2の構文要素のため
に選択されたコンテキストと同じである。いくつかの実施形態において、ビンの文字列内
の第1のビンのためのコンテキストにCtxMの値が割り当てられ、ビンの文字列を有す
る第2のビンのコンテキストにはCtxQの値が割り当てられ、ここで、CtxM=Ct
xQである。いくつかの実施形態において、第1のビンと比較し、第2のビンに異なるコ
ンテキストが選択される。
【0326】
いくつかの実施形態において、ブロックがIBCモードにてコーディングされる場合の
第1のビンに対する第1のコンテキストと、ブロックがアフィンモードを使用してコーデ
ィングされる場合の第1のビンに対する第2のコンテキストと、ブロックがIBCモード
もアフィンモードも使用せずにコーディングされる場合の第1のビンに対する第3のコン
テキストは同じである。いくつかの実施形態において、ブロックがIBCモードにてコー
ディングされる場合の第1のビンに対する第1のコンテキストと、ブロックがIBCモー
ドもアフィンモードも使用せずにコーディングされる場合の第1のビンに対する第2のコ
ンテキストは同じである。いくつかの実施形態において、アフィンモードを使用してブロ
ックをコーディングする場合の第1のビンに対する第3コンテキストは、第1のコンテキ
ストおよび第2のコンテキストと異なる。いくつかの実施形態において、ブロックがIB
Cモードにてコーディングされる場合の第1のビンに対する第1のコンテキストと、ブロ
ックがアフィンモードでコーディングされる場合の第1のビンに対する第2のコンテキス
トは同じである。いくつかの実施形態において、ブロックがIBCモードにてコーディン
グされる場合のビンの文字列内のすべてのビンに対するコンテキストと、ブロックがアフ
ィンモードを使用してコーディングされる場合のビンの文字列内のすべてのビンに対する
コンテキストと、ブロックがIBCモードもアフィンモードも使用せずにコーディングす
る場合のビンの文字列内のすべてのビンのためのコンテキストは同じである。
【0327】
本発明の実施形態において、AMVRツールは、動きベクトルの差分の解像度をブロッ
ク単位で適応的に調整するコーディングツールである。
【0328】
図19は、本発明の1または複数の実施形態による映像処理方法1900を示す流れ図
である。方法1900は、動作1910において、規則に従って映像の現在のブロックと
映像のビットストリームとの間の変換を実行することを含む。規則は、ブロックを水平方
向に分割するか垂直方向に分割するかを規定する構文要素をコーディングするコンテキス
トを、許可された垂直方向の分割数および許可された水平方向の分割数に基づいて選択す
ることを規定する。許可された垂直分割の数は、許可されたバイナリ(binary)垂
直分割の数と許可されたターナリ(ternary)垂直分割の数とを含み、許可された
水平分割の数は、許可されたバイナリ水平分割の数と許可されたターナリ水平分割の数と
を含む。
【0329】
いくつかの実施形態において、ブロックはコーディングユニットである。いくつかの実
施形態において、コンテンツは許可された垂直分割の数と許可された水平分割の数とを比
較することにより選択される。いくつかの実施形態において、コンテキストは、許可され
た垂直分割の数が許可された水平分割の数より大きい場合、第1のコンテキストのセット
から選択される。いくつかの実施形態において、コンテキストは、許可された垂直分割の
数が許可された水平分割の数より少ない場合、第2のコンテキストのセットから選択され
る。いくつかの実施形態において、第1のコンテキストのセットおよび第2のコンテキス
トのセットはそれぞれ単一のコンテキストを含む。いくつかの実施形態において、第1の
コンテキストのセットにおける単一コンテキストの値は4である。いくつかの実施形態に
おいて、第2のコンテキストのセットにおける単一コンテキストの値は3である。
【0330】
いくつかの実施形態において、コンテキストは、許可された垂直分割の数が許可された
水平分割の数と等しい場合、第3のコンテキストのセットから選択される。いくつかの実
施形態において、第3のコンテキストのセットは複数のコンテキストを含む。いくつかの
実施形態において、第3のコンテキストのセットは、0の値を有する第3のコンテキスト
、1の値を有する第4コンテキスト、および2の値を有する第5のコンテキストとを含む
。
【0331】
いくつかの実施形態において、第3のコンテキストのセットからのコンテキストの選択
は、(1)現在のブロックの上に位置する第1の近傍のブロックと現在のブロックの左に
位置する第2の近傍のブロックの利用可能性、(2)現在のブロックの寸法、および/ま
たは(3)近傍のブロックの寸法に、さらに基づく。いくつかの実施形態において、コン
テキストは、(1)現在のブロックの上に位置する第1の近傍のブロックまたは現在のブ
ロックの左に位置する第2の近傍のブロックのいずれかが利用可能でない場合、または(
2)dAがdLに等しい場合、CtxDの値に割り当てられ、dAは現在のブロックの上
に位置する第1の近傍のブロックの幅で除した現在ブロックの幅を表し、かつdLは現在
のブロックの左に位置する第2の近傍のブロックの高さで除した現在のブロックの高さを
表す。いくつかの実施形態において、コンテキストは、dAがdLより小さい場合、Ct
xEの値に割り当てられ、ここで、dAは現在のブロックの上に位置する第1の近傍のブ
ロックの幅で除した現在ブロックの幅を表し、かつdLは現在のブロックの左に位置する
第2の近傍のブロックの高さで除した現在のブロックの高さを表す。いくつかの実施形態
において、コンテキストは、dAがdLより大きい場合、CtxFの値に割り当てられ、
ここで、dAは現在のブロックの上に位置する第1の近傍のブロックの幅で除した現在ブ
ロックの幅を表し、かつdLは現在のブロックの左に位置する第2の近傍のブロックの高
さで除した現在のブロックの高さを表す。
【0332】
いくつかの実施形態において、第1のコンテキストのセット、第2のコンテキストのセ
ット、および第3のコンテキストのセットにおけるコンテキストは互いに異なる。
【0333】
図20は、本発明の1または複数の実施形態による映像処理方法2000を示す流れ図
である。方法2000は、動作2010において、規則に従って映像の現在のブロックと
映像のビットストリームとの間の変換を実行することを含む。規則は、変換係数レベルの
符号を規定する構文要素に対してコンテキストコーディングを使用するかまたはバイパス
コーディングを使用するかが、現在のブロックに対して使用される残りの許可されたコン
テキストコーディングされたビンの数または変換のタイプに基づくことを規定する。
【0334】
いくつかの実施形態において、残りの許可されたコンテキストコーディングされたビン
の数が閾値以上である場合、現在のブロックのための変換スキップ残差コーディング処理
において、構文要素に対してコンテキストコーディングが用いられる。いくつかの実施形
態において、残りの許可されたコンテキストコーディングされたビンの数が閾値より少な
い場合、現在のブロックのための変換スキップ残差コーディング処理において、構文要素
に対してバイパスコーディングする。いくつかの実施形態において、閾値は、0または3
である。
【0335】
いくつかの実施形態において、残りの許可されたコンテキストコーディングされたビン
の数がN以下である場合、構文要素にバイパスコーディングが用いられる。いくつかの実
施形態において、残りの許可されたコンテキストコーディングされたビンの数がN以上で
ある場合、構文要素にコンテキストコーディングが用いられる。いくつかの実施形態にお
いて、残りの許可されたコンテキストコーディングされたビンの数は、変換における変換
係数レベルの残りの絶対値を処理する前に、N以下に修正される。いくつかの実施形態に
おいて、Nは0、3、または4である。いくつかの実施形態において、Nは現在のブロッ
クの特徴に基づく整数である。いくつかの実施形態において、現在のブロックの特徴は、
シーケンスパラメータセット、映像パラメータセット、ピクチャパラメータセット、ピク
チャヘッダ、スライスヘッダ、タイルグループヘッダ、ラージコーディングユニットの行
、ラージコーディングユニットのグループ、ラージコーディングユニットまたはコーディ
ングユニットにおける指示を含む。いくつかの実施形態において、現在のブロックの特徴
は、現在のブロックまたは現在のブロックの近傍のブロックの寸法または形状を含む。い
くつかの実施形態において、現在のブロックの特徴は、映像のカラーフォーマットの指示
を含む。いくつかの実施形態において、現在のブロックの特徴は、変換に別個の、または
デュアルコーディングツリー構造が用いられるかを示す指示を含む。いくつかの実施形態
において、現在のブロックの特徴は、スライスタイプまたはピクチャタイプを含む。いく
つかの実施形態において、現在のブロックの特徴は、映像の色成分の数を含む。
【0336】
いくつかの実施形態において、構文要素のコンテキストコーディングは、残りの許可さ
れたコンテキストコーディングされたビンの数に基づく。いくつかの実施形態において、
残りの許可されたコンテキストコーディングされたビンの数を規定する変数は、変換スキ
ップ残差コーディング処理の第3のまたは残りの係数スキャンパスにおける残りの構文要
素のバイパスコーディングの開始時に修正される。いくつかの実施形態において、変数は
、0の固定値に設定される。いくつかの実施形態において、変数は、1にてデクリメント
される。いくつかの実施形態において、現在のブロックは、ブロックベースの差分パルス
符号変調コーディングされたブロックを含むか或いは含まない変換ブロックまたは変換ス
キップブロックを含む。
【0337】
いくつかの実施形態において、本方法を応用するかどうかは、シーケンスレベル、ピク
チャレベル、スライスレベルまたはタイルグループレベルで示される。いくつかの実施形
態において、指示は、シーケンスヘッダ、ピクチャヘッダ、シーケンスパラメータセット
、映像パラメータセット、デコーダパラメータセット、復号能力情報、ピクチャパラメー
タセット、適応パラメータセット、スライスヘッダまたはタイルグループヘッダに含まれ
る。いくつかの実施形態において、この方法を適用するかどうか、またはどのように適用
するかは、映像のコーディングされた情報に基づく。
【0338】
いくつかの実施形態において、変換は、映像をビットストリームに符号化することを含
む。いくつかの実施形態において、変換は、ビットストリームから映像を復号することを
含む。
【0339】
本明細書では、「映像処理」という用語は、映像符号化、映像復号、映像圧縮、または
映像展開を指してよい。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応する
ビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像
ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットス
トリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例え
ば、1つのマクロブロックは、変換およびコーディングされた誤り残差値の観点から、か
つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号
化されてもよい。さらに、変換中、デコーダは、上記解決策で説明されているように、判
定に基づいて、いくつかのフィールドが存在しても存在しなくてもよいという知識を持っ
て、ビットストリームを構文解析してもよい。同様に、エンコーダは、特定の構文フィー
ルドが含まれるべきであるか、または含まれないべきであるかを判定し、構文フィールド
をコーディングされた表現に含めるか、またはコーディングされた表現から除外すること
によって、それに応じてコーディングされた表現を生成してもよい。
【0340】
本明細書に記載された開示された、およびその他の解決策、例、実施形態、モジュール
、および機能動作の実装形態は、本明細書に開示された構造およびその構造的均等物を含
め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハ
ードウェアで実施されてもよく、またはそれらの1または複数の組み合わせで実施しても
よい。開示された、およびその他の実施形態は、1または複数のコンピュータプログラム
プロダクト、たとえば、データ処理装置によって実装されるため、またはデータ処理装置
の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラ
ム命令の1または複数のモジュールとして実施することができる。このコンピュータ可読
媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号
をもたらす物質の組成物、またはこれらの1または複数の組み合わせであってもよい。「
データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、ま
たは複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての
装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュー
タプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコル
スタック、データベース管理システム、オペレーティングシステム、またはこれらの1ま
たは複数の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成
された信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置
に送信するための情報を符号化するために生成される。
【0341】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション
、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された
言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタ
ンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジ
ュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展
開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるフ
ァイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持する
ファイルの一部(例えば、マークアップ言語文書に格納された1または複数のスクリプト
)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていても
よいし、複数の調整ファイル(例えば、1または複数のモジュール、サブプログラム、ま
たはコードの一部を格納するファイル)に記憶されていてもよい。コンピュータプログラ
ムを、1つのコンピュータで実行するように展開することができ、あるいは、1つのサイ
トに位置する、または複数のサイトにわたって分散され通信ネットワークによって相互接
続される複数のコンピュータで実行するように展開することができる。
【0342】
本明細書に記載された処理およびロジックフローは、入力データに対して動作し、出力
を生成することによって機能を行うための1または複数のコンピュータプログラムを実行
する1または複数のプログラマブルプロセッサによって行うことができる。処理およびロ
ジックフローはまた、特定用途のロジック回路、例えば、FPGA(Field Pro
grammable Gate Array)またはASIC(Application
Specific Integrated Circuit)によって行うことができ
、装置はまた、特別目的のロジック回路として実装することができる。
【0343】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイク
ロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1または複数の
プロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアク
セスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要
素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つ以上
の記憶装置とである。一般的に、コンピュータは、データを記憶するための1または複数
の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよ
く、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータ
を転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このよ
うなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶する
のに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモ
リデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディ
スク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、および
CD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよ
びメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジ
ック回路に組み込まれてもよい。
【0344】
本特許明細書は多くの特徴を含むが、これらは、任意の主題の範囲または特許請求の範
囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特
有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態の
コンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装しても
よい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態におい
て別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、
特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されてい
てもよいが、主張された組み合わせからの1または複数の特徴は、場合によっては、組み
合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまた
はサブコンビネーションのバリエーションに向けられてもよい。
【0345】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成
するために、このような動作が示された特定の順番でまたは連続した順番で行われること
、または示された全ての動作が行われることを必要とするものと理解されるべきではない
。また、本特許明細書に記載されている実施形態における様々なシステムの構成要素の分
離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではな
い。
【0346】
いくつかの実装形態および実施例のみが記載されており、この特許文献に記載され図示
されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。
【手続補正書】
【提出日】2024-11-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
映像処理の方法であって、
規則に基づいて、映像の第1ブロックと、前記映像のビットストリームとの間の変換を実行すること、を有し、
前記変換は、AMVR(adaptive motion vector resolution)ツールに基づき、
前記規則は、AMVRシフトに関連付けられた動きベクトル差分の解像度を規定する第1構文要素のビンの文字列内の第1ビンに対するコンテキスト増加手段(ctxInc)の選択が、前記第1ブロックに対するコーディングモードの使用に基づいて導出されることを規定し、
前記第1ブロックに対する前記コーディングモードは、アフィンインターモード、IBC(intra block copy)モード、及び、非アフィンインターモードである通常インターモード、のうちの1つである、
方法。
【請求項2】
前記第1ブロックは、コーディングユニットである、
請求項1に記載の方法。
【請求項3】
3つの異なる前記コーディングモードに対応する3つの異なるコンテキスト増加手段は、前記第1ビンに適用可能であり、
各コーディングモードは、単一のコンテキスト増加手段に対応する、
請求項1又は2に記載の方法。
【請求項4】
前記第1ブロックが前記IBCモードを使用してコーディングされている場合に、第1コンテキスト増加手段が前記第1ビンに割り当てられ、
前記第1ブロックが前記アフィンインターモードを使用してコーディングされている場合に、第2コンテキスト増加手段が前記第1ビンに割り当てられ、
前記第1ブロックが前記通常インターモードを使用してコーディングされている場合に、第3コンテキスト増加手段が前記第1ビンに割り当てられる、
請求項3に記載の方法。
【請求項5】
前記第1コンテキスト増加手段は1に等しく、前記第2コンテキスト増加手段は2に等しく、前記第3コンテキスト増加手段は0に等しい、
請求項4に記載の方法。
【請求項6】
同じコンテキスト増加手段が、前記第1ブロックが前記IBCモードを使用してコーディングされている場合に前記第1ブロックに対する前記第1構文要素の前記ビンの文字列の前記第1ビンと、前記通常インターモードを使用してコーディングされている第2ブロックに対する前記第1構文要素の前記ビンの文字列の第2ビンと、に対して使用され、
或いは、
同じコンテキスト増加手段が、前記第1ブロックが前記IBCモードを使用してコーディングされている場合に前記第1ブロックに対する前記第1構文要素の前記ビンの文字列の前記第1ビンと、前記動きベクトル差分の解像度が輝度サンプルの1/4であるか否かを規定する又は前記第1構文要素により規定される第3ブロックに対する第2構文要素のビンと、に対して使用され、かつ、前記第3ブロックは前記アフィンインターモードを用いてコーディングされ、
或いは、
同じコンテキスト増加手段が、前記第1ブロックが前記通常インターモードを使用してコーディングされている場合に前記第1ブロックに対する前記第1構文要素の前記ビンの文字列の前記第1ビンと、前記動きベクトル差分の解像度が輝度サンプルの1/4であるか否かを規定する又は前記第1構文要素により規定される第4ブロックに対する第2構文要素のビンと、に対して使用され、かつ、前記第4ブロックは前記アフィンインターモードを用いてコーディングされていない、
請求項1から5のうちいずれか一項に記載の方法。
【請求項7】
初期化処理において、
コンテキスト初期化タイプが第1タイプである場合に、前記第1構文要素に対するコンテキストインデックスの値は0から2の範囲にあり、
前記コンテキスト初期化タイプが第2タイプである場合に、前記第1構文要素に対する前記コンテキストインデックスの前記値は、3から5の範囲にあり、
前記コンテキスト初期化タイプが第3タイプである場合、前記第1構文要素に対する前記コンテキストインデックスの前記値は、6から8の範囲にある、
請求項1から6のうちいずれか一項に記載の方法。
【請求項8】
前記規則は、現在のブロックが水平又は垂直に分割するか否かを規定する構文要素をコーディングするための第4コンテキスト増加手段(ctxInc)の選択が、許可された垂直分割の数と許可された水平分割の数とに基づくことを規定し、
前記許可された垂直分割の数は、許可されたバイナリ垂直分割の数と許可されたターナリ垂直分割の数とを含み、
前記許可された水平分割の数は、許可されたバイナリ水平分割の数と許可されたターナリ水平分割の数とを含む、
請求項1に記載の方法。
【請求項9】
前記現在のブロックはコーディングユニットであり、
前記第4コンテキスト増加手段は、前記許可された垂直分割の数と前記許可された水平分割の数との比較により選択される、
請求項8に記載の方法。
【請求項10】
前記第4コンテキスト増加手段は、前記許可された垂直分割の数が前記許可された水平分割の数よりも大きい場合に第1コンテキスト増加手段から選択され、
前記第4コンテキスト増加手段は、前記許可された垂直分割の数が前記許可された水平分割の数よりも小さい場合に第2コンテキスト増加手段から選択され、
前記第4コンテキスト増加手段は、前記許可された垂直分割の数が前記許可された水平分割の数と同一である場合に第3コンテキスト増加手段から選択される、
請求項8又は9に記載の方法。
【請求項11】
前記第1コンテキスト増加手段のセット及び前記第2コンテキスト増加手段のセットは、それぞれ単一のコンテキスト増加手段を含み、前記第3コンテキスト増加手段のセットは複数のコンテキスト増加手段を含み、
前記第1コンテキスト増加手段のセット、前記第2コンテキスト増加手段のセット及び前記第3コンテキスト増加手段のセットにおける前記コンテキスト増加手段は互いに異なり、
前記第1コンテキスト増加手段のセットにおける前記単一のコンテキスト増加手段は4の値を有し、
前記第2コンテキスト増加手段のセットにおける前記単一のコンテキスト増加手段は3の値を有し、
前記第3コンテキスト増加手段のセットは、0の値を有する第5コンテキスト増加手段、1の値を有する第6コンテキスト増加手段及び2の値を有する第7コンテキスト増加手段を含む、
請求項10に記載の方法。
【請求項12】
前記第3コンテキスト増加手段のセットからの前記第4コンテキスト増加手段の前記選択は、更に(1)前記現在のブロックの上に位置する第1近傍ブロック及び前記現在のブロックの左に位置する第2近傍ブロックの利用可能性、(2)前記現在のブロックの寸法及び/又は(3)前記第1近傍ブロックの寸法及び/又は前記第2近傍ブロックの寸法、に基づく、
請求項11に記載の方法。
【請求項13】
前記第4コンテキスト増加手段は、次の条件のうち少なくとも1つが満足される場合に第5コンテキスト増加手段の値に割り当てられ、
(1)前記現在のブロックの上に位置する前記第1近傍ブロックが利用可能でない、
(2)前記現在のブロックの左に位置する前記第2近傍ブロックが利用可能でない、
(3)dAがdLに等しい、
dAは、前記第1近傍ブロックが利用可能である場合に前記第1近傍ブロックの幅によって除された前記現在のブロックの幅を示し、かつ、前記第1近傍ブロックが利用可能でない場合に前記現在のブロックの幅を示し、
dLは、前記第2近傍ブロックが利用可能である場合に前記第2近傍ブロックの高さによって除された前記現在のブロックの高さを示し、かつ、前記第2近傍ブロックが利用可能でない場合に前記現在のブロックの高さを示し、
或いは、
前記第4コンテキスト増加手段は、条件(a)が満足されずかつ条件(b)が満足される場合に第6コンテキスト増加手段の値に割り当てられ、
前記条件(a)は、以下の少なくとも1つを満たすことを含み、
(1)前記現在のブロックの上に位置する前記第1近傍ブロックが利用可能でない、
(2)前記現在のブロックの左に位置する前記第2近傍ブロックが利用可能でない、
(3)dAがdLに等しい、
dAは、前記第1近傍ブロックが利用可能である場合に前記第1近傍ブロックの幅によって除された前記現在のブロックの幅を示し、かつ、前記第1近傍ブロックが利用可能でない場合に前記現在のブロックの幅を示し、
dLは、前記第2近傍ブロックが利用可能である場合に前記第2近傍ブロックの高さによって除された前記現在のブロックの高さを示し、かつ、前記第2近傍ブロックが利用可能でない場合に前記現在のブロックの高さを示し、
前記条件(b)はdAがdLより小さいことを含み、
或いは、
前記第4コンテキスト増加手段は、条件(c)及び条件(d)がともに満足されない場合に第7コンテキスト増加手段の値に割り当てられ、
前記条件(c)は、以下の少なくとも1つを満たすことを含み、
(1)前記現在のブロックの上に位置する前記第1近傍ブロックが利用可能でない、
(2)前記現在のブロックの左に位置する前記第2近傍ブロックが利用可能でない、
(3)dAがdLに等しい、
dAは、前記第1近傍ブロックが利用可能である場合に前記第1近傍ブロックの幅によって除された前記現在のブロックの幅を示し、かつ、前記第1近傍ブロックが利用可能でない場合に前記現在のブロックの幅を示し、
dLは、前記第2近傍ブロックが利用可能である場合に前記第2近傍ブロックの高さによって除された前記現在のブロックの高さを示し、かつ、前記第2近傍ブロックが利用可能でない場合に前記現在のブロックの高さを示し、
前記条件(d)はdAがdLより小さいことを含む、
請求項12に記載の方法。
【請求項14】
前記変換は、前記映像を前記ビットストリームに符号化することを含む、
請求項1から13のうちいずれか一項に記載の方法。
【請求項15】
前記変換は、前記映像を前記ビットストリームから復号することを含む、
請求項1から13のうちいずれか一項に記載の方法。
【請求項16】
プロセッサと、命令を有する非一時的メモリとを有する、映像データを処理するための装置であって、前記命令が前記プロセッサによって実行された際に、前記プロセッサに、
規則に基づいて、映像の第1のブロックと、前記映像のビットストリームとの間の変換を実行すること、を行わせ、
前記変換は、AMVR(adaptive motion vector resolution)ツールに基づき、
前記規則は、AMVRシフトに関連付けられた動きベクトル差分の解像度を規定する第1構文要素のビンの文字列内の第1ビンに対するコンテキスト増加手段(ctxInc)の選択が、前記第1ブロックに対するコーディングモードの使用に基づいて導出されることを規定し、
前記第1ブロックに対する前記コーディングモードは、アフィンインターモード、IBC(intra block copy)モード、及び、非アフィンインターモードである通常インターモード、のうちの1つである、
装置。
【請求項17】
プロセッサに、規則に基づいて、映像の第1のブロックと、前記映像のビットストリームとの間の変換を実行する命令を格納する非一時的なコンピュータ可読記憶媒体であって、
前記変換は、AMVR(adaptive motion vector resolution)ツールに基づき、
前記規則は、AMVRシフトに関連付けられた動きベクトル差分の解像度を規定する第1構文要素のビンの文字列内の第1ビンに対するコンテキスト増加手段(ctxInc)の選択が、前記第1ブロックに対するコーディングモードの使用に基づいて導出されることを規定し、
前記第1ブロックに対する前記コーディングモードは、アフィンインターモード、IBC(intra block copy)モード、及び、非アフィンインターモードである通常インターモード、のうちの1つである、
非一時的なコンピュータ可読記憶媒体。
【請求項18】
映像処理装置により実行される方法によって生成される映像のビットストリームを格納する非一時的なコンピュータ可読記憶媒体であって、
前記方法は、
前記変換は、AMVR(adaptive motion vector resolution)ツールに基づき、
前記規則は、AMVRシフトに関連付けられた動きベクトル差分の解像度を規定する第1構文要素のビンの文字列内の第1ビンに対するコンテキスト増加手段(ctxInc)の選択が、前記第1ブロックに対するコーディングモードの使用に基づいて導出されることを規定し、
前記第1ブロックに対する前記コーディングモードは、アフィンインターモード、IBC(intra block copy)モード、及び、非アフィンインターモードである通常インターモード、のうちの1つである、
非一時的なコンピュータ可読記憶媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
関連出願の相互参照
本願は、2020年5月1日出願の国際特許出願第PCT/CN2020/088546号の優先権および利益を適時に主張する、2021年5月6日出願の国際特許出願第PCT/CN2021/091869号に基づく、日本特許出願第2022-566447号の分割出願である。法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
【外国語明細書】