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

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

▶ バイトダンス インコーポレイテッドの特許一覧

特許7640637変換スキップモードにおける量子化パタメータの修正技術
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-25
(45)【発行日】2025-03-05
(54)【発明の名称】変換スキップモードにおける量子化パタメータの修正技術
(51)【国際特許分類】
   H04N 19/126 20140101AFI20250226BHJP
   H04N 19/157 20140101ALI20250226BHJP
   H04N 19/176 20140101ALI20250226BHJP
【FI】
H04N19/126
H04N19/157
H04N19/176
【請求項の数】 12
【外国語出願】
(21)【出願番号】P 2023166006
(22)【出願日】2023-09-27
(62)【分割の表示】P 2021578161の分割
【原出願日】2020-06-28
(65)【公開番号】P2023179573
(43)【公開日】2023-12-19
【審査請求日】2023-10-27
(31)【優先権主張番号】PCT/CN2019/093852
(32)【優先日】2019-06-28
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/094593
(32)【優先日】2019-07-03
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】シュー ジジョン
【審査官】田中 純一
(56)【参考文献】
【文献】特表2018-532319(JP,A)
【文献】米国特許出願公開第2017/0085891(US,A1)
【文献】Man-Shu Chiang, et.al.,CE8-related: Intra prediction mode for BDPCM,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Gothenburg, SE, 3-12 July 2019,JVET-O0296-v1,インターネット<URL:https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O0296-v1.zip><JVET-O0296-v1.docx>,2019年06月25日,pp.1-5
【文献】Tung Nguyen, et.al.,Non-CE8: Minimum Allowed QP for Transform Skip Mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Gothenburg, SE, 3-12 Jul. 2019,JVET-O0405-v1,インターネット<URL:https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O0405-v1.zip><JVET-O0405-v1.docx>,2019年06月25日,pp.1-3
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
映像データを処理する方法であって
映像の現在の映像ブロックと前記映像のビットストリームとの変換のために、変換および逆変換処理がスキップされる変換スキップモードでコーディングされた前記現在の映像ブロックの構文フィールドによって示される量子化パラメータをクリップすることを決定することと、
前記変換スキップモードの最小許容量子化パラメータを示す変数に基づいて、前記量子化パラメータの値をクリッピングすることと、
前記クリッピングに基づいて前記変換を行うことと、を含み、
前記クリッピングにおいて、前記量子化パラメータの前記値が前記変数の前記値よりも小さい場合、前記量子化パラメータの前記値が前記変数の前記値に設定され、
前記現在の映像ブロックがクロマブロックであり、前記現在の映像ブロックのクロマ予測モードが、前記現在の映像ブロックに対応する第1の輝度ブロックの輝度コーディング情報に基づいて導出され、
前記第1の輝度ブロックが第2の輝度ブロックの隣接ブロックである場合、前記第2の輝度ブロックと前記第1の輝度ブロックとが異なるスライス又はタイルにあることに応じて、前記第2の輝度ブロックのイントラモード候補リストを構築するためのデフォルトモードが前記第1の輝度ブロックに割り当てられる、
方法。
【請求項2】
前記変数の前記値が0より大きい、
請求項1に記載の方法。
【請求項3】
前記変数の前記値が4以上である、
請求項1または2に記載の方法。
【請求項4】
前記変数の前記値が(4+X)に等しく、Xは0以上の予め定義された値である、
請求項3に記載の方法。
【請求項5】
X=6*Yであり、
Yは、前記ビットストリームに含まれる少なくとも1つの構文要素に基づいて決定される、
請求項4に記載の方法。
【請求項6】
Y=bd-bdiであり、
bdは前記映像をコーディングする内部ビット深度であり、
bdiは前記映像の入力ビット深度である、
請求項5に記載の方法。
【請求項7】
前記現在の映像ブロックは、差分コーディングモードに基づいてコーディングされ、
前記差分コーディングモードでは、前記現在の映像ブロックのイントラ予測モードで導出された量子化残差と、前記量子化残差の予測値と、の差分が前記ビットストリームに含まれる、
請求項1から6のいずれか1項に記載の方法。
【請求項8】
前記変換は、前記現在の映像ブロックを前記ビットストリームに符号化することを含む、
請求項1から7のいずれか1項に記載の方法。
【請求項9】
前記変換は、前記ビットストリームから前記現在の映像ブロックを復号することを含む、
請求項1から8のいずれか1項に記載の方法。
【請求項10】
処理装置と、命令が記憶された非一時的メモリと、を備える映像データを処理する装置であって、
前記命令は、前記処理装置による実行時に、前記処理装置に、
映像の現在の映像ブロックと前記映像のビットストリームとの変換のために、変換および逆変換処理がスキップされる変換スキップモードでコーディングされた前記現在の映像ブロックの構文フィールドによって示される量子化パラメータをクリップすることを決定することと、
前記変換スキップモードの最小許容量子化パラメータを示す変数に基づいて、前記量子化パラメータの値をクリッピングすることと、
前記クリッピングに基づいて前記変換を行うことと、を実行させ、
前記クリッピングにおいて、前記量子化パラメータの前記値が前記変数の前記値よりも小さい場合、前記量子化パラメータの前記値が前記変数の前記値に設定され、
前記現在の映像ブロックがクロマブロックであり、前記現在の映像ブロックのクロマ予測モードが、前記現在の映像ブロックに対応する第1の輝度ブロックの輝度コーディング情報に基づいて導出され、
前記第1の輝度ブロックが第2の輝度ブロックの隣接ブロックである場合、前記第2の輝度ブロックと前記第1の輝度ブロックとが異なるスライス又はタイルにあることに応じて、前記第2の輝度ブロックのイントラモード候補リストを構築するためのデフォルトモードが前記第1の輝度ブロックに割り当てられる、
装置。
【請求項11】
命令を記憶する非一時的なコンピュータ可読記憶媒体であって、
前記命令は、処理装置に、
映像の現在の映像ブロックと前記映像のビットストリームとの変換のために、変換および逆変換処理がスキップされる変換スキップモードでコーディングされた前記現在の映像ブロックの構文フィールドによって示される量子化パラメータをクリップすることを決定することと、
前記変換スキップモードの最小許容量子化パラメータを示す変数に基づいて、前記量子化パラメータの値をクリッピングすることと、
前記クリッピングに基づいて前記変換を行うことと、を実行させ、
前記クリッピングにおいて、前記量子化パラメータの前記値が前記変数の前記値よりも小さい場合、前記量子化パラメータの前記値が前記変数の前記値に設定され、
前記現在の映像ブロックがクロマブロックであり、前記現在の映像ブロックのクロマ予測モードが、前記現在の映像ブロックに対応する第1の輝度ブロックの輝度コーディング情報に基づいて導出され、
前記第1の輝度ブロックが第2の輝度ブロックの隣接ブロックである場合、前記第2の輝度ブロックと前記第1の輝度ブロックとが異なるスライス又はタイルにあることに応じて、前記第2の輝度ブロックのイントラモード候補リストを構築するためのデフォルトモードが前記第1の輝度ブロックに割り当てられる、
非一時的なコンピュータ可読記憶媒体。
【請求項12】
像のビットストリームを記憶する方法であって
像の現在の映像ブロックのために、変換および逆変換処理がスキップされる変換スキップモードでコーディングされた前記現在の映像ブロックの構文フィールドによって示される量子化パラメータをクリップすることを決定することと、
前記変換スキップモードの最小許容量子化パラメータを示す変数に基づいて、前記量子化パラメータの値をクリッピングすることと、
前記クリッピングに基づいて前記ビットストリームを生成することと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することと、を含み、
前記クリッピングにおいて、前記量子化パラメータの前記値が前記変数の前記値よりも小さい場合、前記量子化パラメータの前記値が前記変数の前記値に設定され、
前記現在の映像ブロックがクロマブロックであり、前記現在の映像ブロックのクロマ予測モードが、前記現在の映像ブロックに対応する第1の輝度ブロックの輝度コーディング情報に基づいて導出され、
前記第1の輝度ブロックが第2の輝度ブロックの隣接ブロックである場合、前記第2の輝度ブロックと前記第1の輝度ブロックとが異なるスライス又はタイルにあることに応じて、前記第2の輝度ブロックのイントラモード候補リストを構築するためのデフォルトモードが前記第1の輝度ブロックに割り当てられる、
方法
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
願は、日本特許出願2021-578161号の分割出願であり、この日本特許出願は、2020年6月28日出願の国際特許出願PCT/US2020/040028号の国内移行であり、この国際特許出願は、2019年6月28日出願の国際特許出願PCT/CN2019/093852号、2019年7月3日出願の国際特許出願PCT/CN2019/094593号の優先権および利益を主張する。上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
【0002】
本明細書は、映像および画像符号化、復号化技術に関する。
【背景技術】
【0003】
デジタル映像は、インターネット及び他のデジタル通信ネットワークにおいて最大の帯
域幅の使用量を占めている。映像を受信及び表示することが可能である接続されたユーザ
機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けること
が予測される。
【発明の概要】
【0004】
開示された技術は、映像を符号化または復号化するためにパレット符号化モードを用い
る映像または画像デコーダまたはエンコーダの実施形態によって使用してもよい。
【0005】
1つの例示的な態様において、映像処理方法が開示される。この方法は、規則に従って
、映像の現在の映像ブロックと現在の映像ブロックの符号化表現との変換を行うことを含
み、前記規則は、前記現在の映像ブロックを前記符号化表現に表すための恒等変換符号化
ツールの使用により、前記現在の映像ブロックを復号化するために使用される量子化パラ
メータを示す構文フィールドが、前記量子化パラメータの値が規則に従って修正されるよ
うに含まれることを規定しており、前記恒等変換符号化ツールにより、前記現在のブロッ
クの変換ドメインでの係数値が、前記現在の映像ブロックの残差ブロックの値と同じにな
ることを可能にする。
【0006】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、映像の現在
の映像ブロックと現在の映像ブロックの符号化表現との変換を行うことを含み、前記符号
化表現は、前記符号化表現に含まれる量子化パラメータに基づく恒等変換を用いた符号化
ツールの使用を示す構文要素を選択的に含めることを規定するフォーマット規則に準拠す
る。
【0007】
さらに別の例示的な態様において、別の映像処理方法が開示される。この方法は、映像
の現在の映像ブロックと現在の映像ブロックの符号化表現との変換を行うことを含み、符
号化表現は、映像の入力ビット深度を示す構文要素が符号化表現に含まれることを規定す
るフォーマット規則に準拠する。
【0008】
さらに別の例示的な態様において、別の映像処理方法が開示される。この方法は、映像
の映像ユニットの映像ブロックと映像の符号化表現との変換のため、映像ブロックまたは
映像ユニットに関連付けられた量子化パラメータに基づいて映像ブロックに対して前処理
演算を行うか、後処理演算を行うかを決定することと、前記決定に基づいて変換を行うこ
とと、を含む。
【0009】
別の例示的な態様において、上述された方法は、処理装置を含む映像デコーダによって
実装されてもよい。
【0010】
別の例示的な態様において、上述された方法は、処理装置を含む映像エンコーダによっ
て実装されてもよい。
【0011】
さらに別の例示的な態様において、これらの方法は、処理装置実行可能命令の形式で実
施されてもよく、コンピュータ可読プログラム媒体に記憶されてもよい。
【0012】
これらの、および他の態様は、本明細書でさらに説明される。
【図面の簡単な説明】
【0013】
図1】イントラブロックコピーの説明図を示す。
図2】空間的に近傍の候補の例を示す。
図3】パレットモードで符号化されたブロックの例を示す。
図4】パレットエントリを信号通知するためのパレット予測子の使用例を示す。
図5】水平方向および垂直方向の横断走査の例を示す。
図6】パレットインデックスの符号化の例を示す。
図7】マルチタイプのツリー分割モードの例を示す。
図8】フィルタのオン/オフ決定および強/弱フィルタの選択に関与する画素の例を示す。
図9】イントラ予測を組み合わせたパレットモードの方法の実装の例を示す。
図10】複合パレットモードの例示的な実装の例を示す。
図11】67個のイントラ予測モード(方向)の例を示す。
図12】現在の映像ブロックの左上の近傍の例を示す。
図13】クロマブロックに対応する輝度範囲を例示している。
図14】三角形パーティションに基づくインター予測の例を示す。
図15】単一予測候補リストを構築するために用いられる空間的及び時間的な近傍のブロックの例を示す。
図16】ブレンド処理に用いられる重みの例を示す。
図17A】映像処理装置の例を示すブロック図である。
図17B】映像処理装置の例を示すブロック図である。
図18A】映像処理方法の例を示すフローチャートである。
図18B】映像処理方法の例を示すフローチャートである。
図19】適応ループフィルタALF(クロマ:5×5ダイヤモンド、輝度:7×7ダイヤモンド)の形状例を示す。
図20】(a)垂直方向勾配用のサブサンプリング位置(左上)、(b)水平方向勾配用のサブサンプリング位置(右上)、(c)対角勾配用のサブサンプリング位置(左下)、および(d)対角勾配用のサブサンプリング位置を示す(右下)。
図21】仮想境界における修正された区分の例を示す。
図22】仮想境界における輝度成分のための修正されたALFフィルタリングの例を示す。
図23】pi、kとqi、kのサンプル位置の例を示す。
図24】クロマスケーリングアーキテクチャを用いた輝度マッピングの例を示す。
【発明を実施するための形態】
【0014】
本明細書は、伸張または復号化されたデジタル映像または画像の品質を向上させるため
に、画像または映像ビットストリームのデコーダによって使用できる様々な技術を提供す
る。簡潔にするために、本明細書では、用語「映像」は、一連のピクチャ(従来から映像
と呼ばれる)および個々の画像の両方を含むように使用される。さらに、映像エンコーダ
は、さらなる符号化に使用される復号化されたフレームを再構成するために、符号化の処
理中にこれらの技術を実装してもよい。
【0015】
本明細書では、理解を容易にするために章の見出しを使用しており、1つの章に開示さ
れた実施形態をその章にのみ限定するものではない。このように、ある章の実施形態は、
他の章の実施形態と組み合わせることができる。
【0016】
1. 発明の概要
【0017】
本明細書は、映像符号化技術に関する。具体的には、映像符号化におけるパレットモー
ドに関する。HEVCのような既存の映像符号化規格に適用してもよいし、規格(Ver
satile Video Coding)を確定させるために適用してもよい。本発明
は、将来の映像符号化規格または映像コーデックにも適用可能である。
【0018】
2. 初期の協議
【0019】
映像符号化規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発
展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-
1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 Vide
oとH.264/MPEG-4 AVC(Advanced Video Coding
)とH.265/HEVC規格を共同で作った。H.262以来、映像符号化規格は、時
間予測と変換符号化が利用されるハイブリッド映像符号化構造に基づく。HEVCを超え
た将来の映像符号化技術を探索するため、2015年には、VCEGとMPEGが共同で
JVET(Joint Video Exploration Team)を設立した。
それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exp
loration Mode)[3,4]と呼ばれる参照ソフトウェアに組み込まれてき
た。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC2
9/WG11(MPEG)の間にJoint Video Expert Team(J
VET)が発足し、HEVCと比較して50%のビットレート削減を目標にVVC規格の
策定に取り組んでいる。
【0020】
VVCドラフトの最新バージョン、即ち、Versatile Video Codi
ng(ドラフト4)は、以下を参照することができる。
【0021】
phenix.it-sudparis.eu/jvet/doc_end_user
/current_document.php?id=5755
【0022】
VTMと呼ばれるVVCの最新の参照ソフトウェアは、以下で確認することができる。
【0023】
vcgit.hhi.fraunhofer.de/jvet/VVCSoftwar
e_VTM/tags/VTM-4.0
【0024】
2.1 イントラブロックコピー
【0025】
イントラブロックコピー(IBC)、別名、現在のピクチャの参照(CPR)は、HE
VCスクリーンコンテンツ符号化拡張機能(HEVC-SCC)と現在のVVCテストモ
デル(VTM-4.0)に採用されている。IBCは、動き補償の概念をインターフレー
ム符号化からイントラフレーム符号化に拡張する。図1に示すように、現在のブロックは
、IBCが適用される場合、同じピクチャ内の1つの参照ブロックによって予測される。
現在のブロックを符号化または復号化する前に、参照ブロックにおけるサンプルは既に再
構成されていなければならない。IBCは、カメラでキャプチャされたほとんどのシーケ
ンスに対してそれほど効率的ではないが、スクリーンコンテンツに対しては、有意な符号
化利得を示す。その理由は、スクリーンコンテンツピクチャにおいて、アイコン、文字等
の繰り返しパターンが多いためである。IBCは、これらの繰り返しパターン間の冗長性
を有効に除去することができる。HEVC-SCCにおいて、インター符号化ユニット(
CU)は、現在のピクチャをその参照ピクチャとして選択する場合、IBCを適用するこ
とができる。この場合、動きベクトル(MV)をブロックベクトル(BV)と改称し、B
Vは常に整数画素精度を有する。メインプロファイルHEVCに適合するように、現在の
ピクチャは、復号化ピクチャバッファ(DPB)における「長期」参照ピクチャとしてマ
ークされる。なお、同様に、複数のビュー/3D映像符号化規格において、ビュー間の参
照ピクチャも「長期」参照ピクチャとしてマークされる。
【0026】
BVがその参照ブロックを見つけた後、この参照ブロックをコピーすることで予測を生
成することができる。残差は、元の信号から参照画素を減算することによって得ることが
できる。そして、他の符号化モードと同様に、変換および量子化を適用することができる
【0027】
図1は、イントラブロックコピーの説明図を示す。
【0028】
しかしながら、参照ブロックがピクチャの外にある場合、または現在のブロックと重複
する場合、または再構成された領域の外にある場合、或いは何らかの制約によって制限さ
れた有効領域の外にある場合、画素値の一部または全部は規定されない。基本的に、この
ような問題に対処するために2つの解決策がある。1つは、このような状況、例えばビッ
トストリーム適合性を許可しないことである。もう1つは、これらの未定義の画素値にパ
ディングを適用することである。以下のサブセッションでは、解決策を詳細に説明する。
【0029】
2.2 HEVCスクリーンコンテンツ符号化拡張機能におけるIBC
【0030】
HEVCのスクリーンコンテンツ符号化拡張機能において、1つのブロックが現在のピ
クチャを参照として使用する場合、以下の仕様のテキストに示すように、参照ブロック全
体が利用可能な再構成された領域内にあることを保証すべきである。
【0031】
変数offsetXおよびoffsetYは、以下のように導出される。
offsetX=(ChromaArrayType==0)?0:(mvCLX[0]
&0×7?2:0) (2-1)
offsetY=(ChromaArrayType==0)?0:(mvCLX[1]
&0×7?2:0) (2-2)
【0032】
参照ピクチャが現在のピクチャである場合、輝度動きベクトルmvLXは、以下の制約
に従うべきであることが、ビットストリーム適合性の要件である。
-6.4.1項で規定されたようなz走査順序ブロックの可用性に対する導出処理が、(
xCb,yCb)と等しく設定された(xCurr,yCurr)と、(xPb+(mv
LX[0]>>2)-offsetX,yPb+(mvLX[1]>>2)-offse
tY)に等しく設定された近傍の輝度位置(xNbY,yNbY)と、が入力として呼び
出されると、出力はTRUEとなる。
-6.4.1項で規定されたようなz走査順序ブロックの可用性に対する導出処理が、(
xCb.yCb)と等しく設定された(xCurr,yCurr)、(xPb+(mvL
X[0]>>2)+nPbW-1+offsetX,yPb+(mvLX[1]>>2)
+nPbH-1+offsetY)に等しく設定された近傍の輝度位置(xNbY,yN
bY)を入力として呼び出されると、出力はTRUEとなる。
-以下の条件の一方または両方がTRUEであること。
-(mvLX[0]>>2)+nPbW+xB1+offsetXの値が0以下である

-(mvLX[1]>>2)の値+nPbH+yB1+offsetYが0以下である

-以下の条件がTRUEとなること。
(xPb+(mvLX[0]>>2)+nPbSw-1+offsetX)/CtbSi
zeY-xCurr/CtbSizeY<=
yCurr/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1
+offsetY)/CtbSizeY (2-3)
【0033】
このように、参照ブロックが現在のブロックと重複するケース、または参照ブロックが
ピクチャの外にあるケースは発生しない。参照ブロックまたは予測ブロックを埋める必要
がない。
【0034】
2.3. VVC試験モデルにおけるIBC
【0035】
現在のVVC試験モデル、すなわち、VTM-4.0設計において、参照ブロック全体
は現在の符号化ツリーユニット(CTU)を有するべきであり、現在のブロックと重複し
ない。よって、参照または予測ブロックをパディングする必要がない。IBCフラグは、
現在のCUの予測モードとして符号化される。このように、各CUに対して、MODE_
INTRA、MODE_INTER、およびMODE_IBCという全部で3つの予測モ
ードが存在する。
【0036】
2.3.1 IBCマージモード
【0037】
IBCマージモードにおいて、IBCマージ候補リストにおけるエントリを指すインデ
ックスをビットストリームから構文解析する。このIBCマージリストの構築は、以下の
ステップのシーケンスに従ってまとめることができる。
● ステップ1:空間的候補の導出
● ステップ2:HMVP候補の挿入
● ステップ3:対の平均候補の挿入
【0038】
空間的マージ候補の導出において、位置A、B、B、AおよびBにある候補
の中から、最大4つのマージ候補を選択する。導出の順序はA、B、B、A、B
である。位置A、B、B、AのいずれかのPUが利用可能でない場合(例えば
、別のスライスまたはタイルに属しているため)、またはIBCモードで符号化されてい
ない場合にのみ、位置Bが考慮される。位置Aの候補を加えた後、残りの候補を挿入
すると、冗長性チェックを受け、それにより、同じ動き情報を有する候補を確実にリスト
から排除でき、符号化効率を向上させることができる。
【0039】
空間的候補を挿入した後、IBCマージリストサイズが依然として最大IBCマージリ
ストサイズより小さい場合、HMVPテーブルからのIBC候補を挿入することができる
。HMVP候補の挿入にあたり、冗長性チェックを行う。
【0040】
最後に、対の平均候補をIBCマージリストに挿入する。
【0041】
マージ候補によって特定される参照ブロックがピクチャの外にある場合、または現在の
ブロックと重複する場合、または再構成された領域の外にある場合、或いは何らかの制約
によって制限された有効領域の外にある場合、マージ候補は無効なマージ候補と呼ばれる
【0042】
なお、IBCマージリストに無効なマージ候補を挿入してもよい。
【0043】
VVCにはJVET-N0843が採用されている。JVET-N0843では、IB
CのマージモードとAMVPモードのBV予測子は、次の要素で構成される共通の予測子
リストを共有する。
● 2つの空間的近傍位置(図2のようにA、B
● 5 HMVPのエントリ
● デフォルトでゼロベクトル
【0044】
マージモードの場合、このリストの最初の6つまでのエントリが使用され、AMVPモ
ードの場合、このリストの最初の2つのエントリが使用される。また、リストは共有マー
ジリスト領域の要件に準拠している(SMR内で同じリストを共有)。
【0045】
上述のBV予測子候補リストに加え、JVET-N0843は、HMVP候補と既存の
マージ候補(A,B)との間のプルーニング操作を簡素化することも提案している。
簡素化した場合、第1のHMVP候補と空間的マージ候補とを比較するだけであるため、
最大2回までのプルーニング操作でよい。
【0046】
最近のVVC及びVTM5において、前回のVTM及びVVCバージョンにおいて、現
在のビットストリーム制約に加え、128×128のIBCモードを無効化するための構
文制約を明示的に使用することが提案され、これにより、IBCフラグの存在がCUのサ
イズ<128×128に依存するようになる。
【0047】
2.3.2 IBC AMVPモード
【0048】
IBC AMVPモードでは、IBC AMVPリストにおけるエントリを指すAMV
Pインデックスが、ビットストリームから構文解析される。このIBC AMVPリスト
の構築は、以下のステップのシーケンスに従ってまとめることができる。
● ステップ1:空間的候補の導出
○利用可能な候補が見つかるまで、A、Aをチェックする。
○利用可能な候補が見つかるまで、B、B、Bをチェックする。
● ステップ2:HMVP候補の挿入
● ステップ3:ゼロ候補の挿入
【0049】
空間的候補を挿入した後、IBC AMVPリストサイズが依然として最大IBC A
MVPリストサイズより小さい場合、HMVPテーブルからのIBC候補を挿入すること
ができる。
【0050】
最後に、IBC AMVPリストにゼロ候補を挿入する。
【0051】
2.3.3 クロマIBCモード
【0052】
現在のVVCにおいて、クロマIBCモードにおける動き補償は、サブブロックレベル
で行われる。クロマブロックは、複数のサブブロックに分割される。各サブブロックは、
対応する輝度ブロックが1つのブロックベクトルを有するかどうかを判定し、存在する場
合、有効性を判定する。現在のVTMにはエンコーダ制約があり、現在のクロマCUにお
けるすべてのサブブロックが有効な輝度ブロックベクトルを有するかどうかについて、ク
ロマIBCモードをテストする。例えば、YUV420映像において、クロマブロックは
N×Mであり、そして、コロケーション輝度領域は2N×2Mである。クロマブロックの
サブブロックサイズは2×2である。クロマmv導出、次にブロックコピー処理を実行す
るには、いくつかのステップがある。
1) クロマブロックは、まず、(N>>1)*(M>>1)個のサブブロックに分割さ
れる。
2) 左上のサンプルが(x,y)に配置されている各サブブロックは、(2x,2y)
に配置されている同じ左上のサンプルを含んだ対応する輝度ブロックをフェッチする。
3) エンコーダは、フェッチした輝度ブロックのブロックベクトル(bv)をチェック
する。以下の条件の1つを満たす場合、bvは無効であると見なされる。
a.対応する輝度ブロックのbvは存在しない。
b.bvによって識別される予測ブロックは、まだ再構成されていない。
c.bvで識別される予測ブロックは、現在のブロックと部分的にまたは完全に重複し
ている。
4) サブブロックのクロマ動きベクトルは、対応する輝度サブブロックの動きベクトル
に設定される。
【0053】
すべてのサブブロックが有効なbvを見つけた場合、エンコーダにおいてIBCモード
が許可される。
【0054】
IBCブロックの復号処理を以下に示す。IBCモードでのクロマmvの導出に関する
部分は、グレーで強調表示されている。
【0055】
8.6.1 IBC予測において符号化されたユニットを符号化するための一般的な復号
処理
【0056】
この処理への入力は以下の通りである。
-現在のピクチャの左上の輝度サンプルに対する現在の符号化ブロックの左上のサンプル
を規定する輝度位置(xCb,yCb)、
-輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
-輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight、
-単一ツリーを使用するか二重ツリーを使用するかを指定する変数ツリータイプ、および
二重ツリーを使用する場合、現在のツリーが輝度成分に対応するか色度成分に対応するか
を指定する。
【0057】
この処理の出力は、インループ・フィルタリング前の修正された再構成画像である。
【0058】
輝度位置(xCb,yCb)、輝度サンプルcbWidthにおける現在の符号化ブロ
ックの幅、輝度サンプルcbHeightにおける現在の符号化ブロックの高さ、及び変
数ツリータイプを入力として、8.7.1項に規定される量子化パラメータの導出処理を
呼び出す。
【0059】
ibc予測モードで符号化されたユニットを符号化するための復号プロセスは、以下の
順序付けられたステップからなる。
【0060】
1.現在の符号化ユニットの動きベクトル成分は、以下のように導出される。
1.ツリータイプがSINGLE_TREEまたはDUAL_TREE_LUMAに等し
い場合、以下が適用される。
-輝度符号化ブロックの位置(xCb,yCb)、輝度符号化ブロックの幅cbWid
th、輝度符号化ブロックをと、高さcbHeightを入力とし、輝度動きベクトルm
vL[0][0]を出力として、項目8.6.2.1に規定された動きベクトル成分の導
出処理が呼び出される。
-ツリータイプがSINGLE_TREEに等しい場合、8.6.2.9項のクロマ動
きベクトルの導出処理が、入力として輝度動きベクトルmvL[0][0]、出力として
クロマ動きベクトルmvC[0][0]を用いて実行される。
-水平方向numSbX及び垂直方向numSbYにおける輝度符号化サブブロックの
数は、いずれも1に設定される。
1.そうでない場合、もしツリータイプがDUAL_TREE_CHROMAに等しい場
合、以下が適用される。
-水平方向NUMSBX及び垂直方向NUMBYにおけるLUMA符号化サブブロック
の数は、次のように導出される。
numSbX=(cbWidth>>2) (8-886)
numSbY=(cbHeight>>2) (8-887)
-クロマ動きベクトルmvC[xSbIdx][ySbIdx]は、xSbIdx=0
..numSbX-1,ySbIdx=0..numSbY-1の場合、次のように導出
される。:
-輝度動きベクトルmvL[xSbIdx][ySbIdx]は、以下のように導出
される。
-並置されたLUMA符号化ユニットの位置(xCuY,yCuY)は、次のよう
に導出される。
xCuY=xCb+xSbIdx*4 (8-888)
yCuY=yCb+ySbIdx*4 (8-889)
-CuPredMode[xCuY][yCuY]がMODE_INTRAに等し
い場合、次のようになる。
mvL[xSbIdx][ySbIdx][0]=0 (8-890)
mvL[xSbIdx][ySbIdx][1]=0 (8-891)
predFlagL0[xSbIdx][ySbIdx]=0 (8-892)
predFlagL1[xSbIdx][ySbIdx]=0 (8-893)
-その他の場合(CuPredMode[xCuY][yCuY]がMODE_IBC
に等しい)、次のことが該当する。
mvL[xSbIdx][ySbIdx][0]=MvL0[xCuY][yCuY][0] (8-894)
mvL[xSbIdx][ySbIdx][1]=MvL0[xCuY][yCuY][1] (8-895)
predFlagL0[xSbIdx][ySbIdx]=1 (8-896)
predFlagL1[xSbIdx][ySbIdx]=0 (8-897)
-8.6.2.9項のクロマ動きベクトルの導出処理は、mvL[xSbIdx][
ySbIdx]を入力とし、mvC[xSbIdx][ySbIdx]を出力として呼び
出される。
-クロマ動きベクトルmvC[xSbIdx][ySbIdx]が以下の制約に従う
ことは、ビットストリーム適合性の要件である。
- 6.4.X項で規定されているブロック利用可能性の導出プロセス[ED.(
BB):隣接ブロック利用可能性チェックプロセスTBD]が、現在のクロマ位置(xC
urr,yCurr)を(xCb/SubWidthC,yCb/SubHeightC
)に等しく、隣接するクロ位置(xCb/SubWidthC+(mvC[xSbIdx
][ySbIdx][0]>>5),yCb/SubHeightC+(mvC[xSb
Idx][ySbIdx][1]>>5))を入力として呼び出されると、出力はTRU
Eとなる。
- 6.4.X項で規定されているブロック利用可能性の導出プロセス[ED.(
BB):隣接ブロック利用可能性チェックプロセスTBD]が、現在のクロマ位置(xC
urr,yCurr)を(xCb/SubWidthC,yCb/SubHeightC
)に等しく、隣接するクロ位置(xCb/SubWidthC+(mvC[xSbIdx
][ySbIdx][0]>>5)+cbWidth/SubWidthC-1,yCb
/SubHeightC+(mvC[xSbIdx][ySbIdx][1]>>5)+
cbHeight/SubHeightC-1)を入力として呼び出されると、出力はT
RUEとなる。
-次の条件の一方または両方がtrueであること。
- (mvC[xSbIdx][ySbIdx][0]>>5)+xSbIdx
*2+2 は、0より小さい又は等しい。
- (mvC[xSbIdx][ySbIdx][1]>>5)+ySbIdx
*2+2 は、0より小さい又は等しい。
【0061】
2.現在の符号化ユニットの予測サンプルは、以下のように導出される。
-ツリータイプがSINGLE_TREEまたはDUAL_TREE_LUMAに等し
い場合、現在のCODING UNITの予測サンプルは以下のように導出される。
● 8.6.3.1項に規定されるibcブロックの復号処理は、輝度符号化ブロッ
クの位置(xCb,yCb)、輝度符号化ブロックの幅cbWidth、輝度符号化ブロ
ックの高さcbHeight、水平方向numSbX、垂直方向numSbYにおける輝
度符号化サブブロックの数、輝度動きベクトルmvL[xSbIdx][ySbIdx]
xSbIdx=0..numSbX-1、およびSbIdx=0..numSbY-1、
および変数cIdxを0に等しく入力として設定し、予測輝度サンプルの(cbWidt
h)×(cbHeight)配列predSamplesであるibc予測サンプル(
predSamples)を出力として呼び出される。
-あるいは、ツリータイプがSINGLE_TREEまたはDUAL_TREE_CH
ROMAに等しい場合、現在の符号化ユニットの予測サンプルは、以下のように導出され
る。
● 8.6.3.1項に規定されるibcブロックの復号処理は、輝度符号化ブロッ
クの位置(xCb,yCb)、輝度符号化ブロックの幅cbWidth、輝度符号化ブロ
ックの高さcbHeight、水平方向numSbX、垂直方向numSbYにおける輝
度符号化サブブロックの数、xSbIdx=0..numSbX-1、ySbIdx=0
..numSbY-1を有するクロマ動きベクトルmvC[xSbIdx]、ySbId
x=0..numSbY-1、および変数cIdxを1に等しく入力として設定し、ib
c予測サンプル(predSamples)は、クロマ成分Cbに対する予測クロマサン
プルの(cbWidth/2)×(cbHeight/2)配列predSamples
Cbであるibc予測サンプル(predSamples)を出力として呼び出される。
●8.6.3.1項に規定されるibcブロックの復号処理は、輝度符号化ブロック
の位置(xCb,yCb)、輝度符号化ブロックの幅cbWidth、輝度符号化ブロッ
クの高さcbHeight、水平方向numSbX、垂直方向numSbYにおける輝度
符号化サブブロックの数、xSbIdx=0..numSbX-1、ySbIdx=0.
.numSbY-1を有するクロマ動きベクトルmvC[xSbIdx]、ySbIdx
=0..numSbY-1、および変数cIdxを2に等しく入力として設定し、ibc
予測サンプル(predSamples)は、クロマ成分Crに対する予測クロマサンプ
ルの(cbWidth/2)×(cbHeight/2)配列predSamples
であるibc予測サンプル(predSamples)を出力として呼び出される。
【0062】
3.変数NumSbX[xCb][yCb]およびNumSbY[xCb][yCb]は
、それぞれnumSbXおよびnumSbYに等しく設定される。
【0063】
4.現在の符号化ユニットの残差サンプルは、以下のように導出される。
-ツリータイプがSINGLE_TREEに等しい場合またはツリータイプがDUAL
_TREE_LUMAに等しい場合、8.5.8項に規定されるインター予測モードで符
号化された符号化ブロックの残差信号の復号処理は、位置(xTb0,yTb0)を輝度
位置(xCb,yCb)、幅nTbWを輝度符号化ブロック幅cbWidth、高さnT
bHを輝度符号化ブロック高さcbHeightに等しく、変数cldxsetを0に等
しく入力として設定し、配列resSamplesを出力として、呼び出される。
-ツリータイプがSINGLE_TREEに等しい場合またはツリータイプがDUAL
_TREE_CHROMAに等しい場合、8.5.8項に規定されるインター予測モード
で符号化された符号化ブロックの残差信号の復号処理は、位置(xTb0,yTb0)を
クロマ位置(xCb/2,yCb/2)、幅nTbWをクロマ符号化ブロック幅cbWi
dth/2、高さnTbHをクロマ符号化ブロック高さcbHeight/2に等しく、
変数cldxsetを1に等しく入力として設定し、配列resSamplesCbを出
力として、呼び出される。
-ツリータイプがSINGLE_TREEに等しい場合またはツリータイプがDUAL
_TREE_CHROMAに等しい場合、8.5.8項に規定されるインター予測モード
で符号化された符号化ブロックの残差信号の復号処理は、位置(xTb0,yTb0)を
クロマ位置(xCb/2,yCb/2)、幅nTbWをクロマ符号化ブロック幅cbWi
dth/2、高さnTbHをクロマ符号化ブロック高さcbHeight/2に等しく、
変数cldxsetを2に等しく入力として設定し、配列resSamplesCrを出
力として、呼び出される。
【0064】
5.現在の符号化ユニットの再構成されたサンプルは、以下のように導出される。
-ツリータイプが、SINGLE_TREEに等しい場合またはツリータイプがDUA
L_TREE_LUMAに等しい場合、8.7.5項で規定されている色成分の画像再構
成処理がブロック位置(xB,yB)を(xCb,yCb)、ブロック幅bWidthを
cbWidth、ブロック高さbHeightをcbHeight、変数cIdxを0、
(cbWidth)×(cbHeight)配列predSamplesをpredSa
mplesL、(cbWidth)×(cbHeight)配列resSamplesを
resSamplesに等しく、入力設定して起動され、出力はループ内フィルタリン
グ前の修正再構成画像となる。
-ツリータイプがSINGLE_TREEに等しい場合またはツリータイプがDUAL
_TREE_CHROMAに等しい場合、8.7.5項で規定されている色成分の画像再
構成処理がブロック位置(xB,yB)を(xCb/2,yCb/2)、ブロック幅bW
idthをcbWidth/2、ブロック高さbHeightをcbHeight/2、
変数cIdxを1、(cbWidth/2)×(cbHeight/2)配列predS
amplesをpredSamplesCb、(cbWidth/2)×(cbHeig
ht/2)配列resSamplesをresSamplesCbに等しく、入力設定し
て起動され、出力はループ内フィルタリング前の修正再構成画像となる。
-ツリータイプがSINGLE_TREEに等しい場合またはツリータイプがDUAL
_TREE_CHROMAに等しい場合、8.7.5項で規定されている色成分の画像再
構成処理がブロック位置(xB,yB)を(xCb/2,yCb/2)、ブロック幅bW
idthをcbWidth/2、ブロック高さbHeightをcbHeight/2、
変数cIdxを2、(cbWidth/2)×(cbHeight/2)配列predS
amplesをpredSamplesCr、(cbWidth/2)×(cbHeig
ht/2)配列resSamplesをresSamplesCrに等しく、入力設定し
て起動され、出力はループ内フィルタリング前の修正再構成画像となる。
【0065】
2.4 適応型動きベクトル解像度(AMVR)
【0066】
HEVCにおいて、use_integer_mv_flagがスライスヘッダにおい
て0であるとき、1/4輝度サンプルの単位で動きベクトル差分(MVD:Motion
Vector Difference)(動きベクトルとCUの予測動きベクトルとの
差)が信号通知される。VVCにおいて、CUレベルの適応型動きベクトル解像度(AM
VR)スキームが導入される。AMVRは、CUのMVDを異なる精度で符号化すること
を可能にする。現在のCUのモード(通常のAMVPモードまたはアフィンAVMPモー
ド)に基づいて、現在のCUのMVDは、以下のように適応的に選択できる。
-通常AMVPモード:1/4輝度サンプル、整数輝度サンプルまたは4輝度サンプル。
-アフィンAMVPモード:1/4輝度サンプル、整数輝度サンプルまたは1/16輝度
サンプル。
【0067】
現在のCUが少なくとも1つの非ゼロMVDコンポーネントを有する場合、CUレベル
MVD解像度指示が条件付きで信号通知される。すべてのMVDコンポーネント(すなわ
ち、参照リストL0及び参照リストL1の水平及び垂直MVDの両方)がゼロである場合
、1/4輝度サンプルMVD解像度が推測される。
【0068】
少なくとも1つの非ゼロMVDコンポーネントの構成要素を有するCUの場合、1/4
輝度サンプルMVD精度がCUにおいて使用されるかどうかを示すために、第1のフラグ
が信号通知される。第1のフラグが0である場合、さらなる信号伝達は必要とされず、現
在のCUのために1/4輝度サンプルMVD精度が使用される。そうでない場合、通常の
AMVP CUのために整数輝度サンプルまたは4輝度サンプルのMVD精度が使用され
るかどうかを示すために、第2のフラグが信号通知される。同じ第2のフラグは、整数輝
度サンプルまたは1/16輝度サンプルのMVD精度がアフィンAMVP CUに使用さ
れるかどうかを示すために使用される。再構成されたMVが意図された精度(1/4輝度
サンプル、1/4輝度サンプル、または4輝度サンプル)を有することを保証するために
、CUの動きベクトル予測子は、MVDと加算される前に、MVDと同じ精度に丸められ
る。動きベクトル予測子をゼロに向かって丸める(すなわち、負の動きベクトル予測子を
正の無限大に向かって丸め、正の動きベクトル予測子を負の無限大に向かって丸める)。
【0069】
エンコーダは、RDチェックを使用して、現在のCUの動きベクトルの解像度を決定す
る。各MVD解像度に対してCUレベルのRDチェックを常に3回実行することを回避す
るために、VTM4では、1/4ルマサンプル以外のMVD精度のRDチェックは、条件
付きでのみ呼び出される。通常のAVMPモードの場合、まず、1/4輝度サンプルMV
D精度及び整数輝度サンプルMV精度のRDコストを計算する。次に、整数輝度サンプル
MVD精度のRDコストと1/4輝度サンプルMVD精度のRDコストを比較し、4輝度
サンプルMVD精度のRDコストをさらにチェックする必要があるかどうかを決定する。
1/4輝度サンプルMVD精度のRDコストが整数輝度サンプルMVD精度のRDコスト
よりもずっと小さい場合、4輝度サンプルMVD精度のRDチェックは省略される。アフ
ィンAMVPモードにおいて、アフィンマージ/スキップモード、マージ/スキップモー
ド、1/4輝度サンプリングMVD精度通常AMVPモード、1/4輝度サンプリングM
VD精度アフィンAMVPモードのレート-歪みコストをチェックした後、アフィンイン
ターモードを選択しなかった場合、1/16ルマサンプリングMV精度、1-pel M
V精度アフィンインターモードはチェックされない。また、1/16輝度サンプル及び1
/4輝度サンプルMV精度アフィンインターモードにおける探索開始点として、1/4輝
度サンプルMV精度アフィンインターモードで得られたアフィンパラメータを用いる。
【0070】
2.5 HEVCスクリーンコンテンツ符号化拡張機能におけるパレットモード(HEV
C-SCC)
【0071】
パレットモードの背景にある基本的な考えは、CUにおけるサンプルを代表的な色値の
小さな集合で表現することである。この集合をパレットと呼ぶ。また、エスケープシンボ
ルの後に(場合によっては量子化された)成分値を信号通知することによって、パレット
の外側にあるサンプルを示すこともできる。これを図3に示す。
【0072】
HEVC-SCCにおけるパレットモードでは、パレットおよびインデックスマップを
符号化するために予測方式が用いられる。
【0073】
2.5.1 パレットエントリの符号化
【0074】
パレットエントリを符号化するために、パレット予測子が維持される。SPSにおいて
、パレットの最大サイズおよびパレット予測子が信号通知される。HEVC-SCCにお
いて、palette_predictor_initializer_present
_flagがPPSに導入される。このフラグが1である場合、ビットストリームにおい
て、パレット予測子を初期化するためのエントリが信号通知される。パレット予測子は、
各CTU行、各スライス、および各タイルの始めに初期化される。palette_pr
edictor_initializer_present_flagの値によって、p
alette_predictorを0にリセットするか、またはPPSに信号通知され
たパレット予測子の初期化エントリを使用してパレット予測子を初期化する。HEVC-
SCCでは、PPSレベルでパレット予測子の初期化を明確に無効にするために、サイズ
0のパレット予測子初期化子を有効化した。
【0075】
パレット予測子のエントリごとに、再利用フラグが信号通知され、現在のパレットの一
部であるかどうかが示される。これを図4に示す。再利用フラグは、ゼロのランレングス
符号化を使用して送信される。この後、新しいパレットエントリの数は、次数0の指数ゴ
ロンブコードを使用して信号通知される。最後に、新しいパレットエントリのコンポーネ
ント値が信号通知される。
【0076】
2.5.2 パレットインデックスの符号化
【0077】
パレットインデックスは、図5に示すように、水平方向および垂直方向の横断走査を使
用して符号化される。palette_transpose_flagを使用して、ビッ
トストリームにおける走査順序を明確に信号通知する。以下のサブセクションでは、走査
が水平であると仮定する。
【0078】
パレットインデックスは、2つのメインパレットサンプルモード、すなわち‘INDE
X’および‘COPY_ABOVE’を使用して符号化される。前述のように、エスケー
プシンボルも「INDEX」モードとして信号通知され、最大パレットサイズに等しいイ
ンデックスが割り当てられる。モードは、一番上の行を除いて、または前のモードが「C
OPY_ABOVE」であった場合を除いて、フラグを使用して通知される。「COPY
_ABOVE」モードでは、上の行のサンプルのパレットインデックスをコピーする。「
INDEX」モードにおいて、パレットインデックスは明確に信号通知される。「IND
EX」モードと「COPY_ABOVE」モードの両方の場合、同じモードを使用して符
号化される後続のサンプルの数を規定する実行値を信号通知する。エスケープシンボルが
「INDEX」または「COPY_ABOVE」モードにおける実行の一部である場合、
エスケープシンボルごとにエスケープ成分値が信号通知される。パレットインデックスの
符号化を図6に示す。
【0079】
この構文順序は、以下のようにして実行される。まず、CUのためのインデックス値の
数が信号通知される。これに続いて、トランケーテッドバイナリ符号化(truncat
ed binary coding)を使用して、CU全体の実際のインデックス値を信
号通知する。バイパスモードでは、インデックスの数およびインデックス値の両方が符号
化される。これにより、インデックス関連バイパスビンがグループ化される。次に、パレ
ットサンプルモード(必要な場合)および実行は、インターリーブ方式で信号通知される
。最後に、CU全体のためのエスケープサンプルに対応する成分エスケープ値をグループ
化し、バイパスモードで符号化する。
【0080】
インデックス値を信号通知した後、追加の構文要素last_run_type_fl
agを信号通知する。この構文要素は、インデックスの数と連動して、ブロックにおける
最後の実行に対応する実行値を信号通知する必要をなくす。
【0081】
HEVC-SCCでは、パレットモードは、4:2:2、4:2:0、およびモノクロ
のクロマフォーマットに対しても有効になる。パレットエントリおよびパレットインデッ
クスの信号通知は、すべてのクロマフォーマットに対してほぼ同じである。非モノクロフ
ォーマットの場合、各パレットエントリは、3つの成分からなる。モノクロフォーマット
の場合、各パレットエントリは単一の成分からなる。サブサンプリングされたクロマ方向
の場合、クロマサンプルは、2で割り切れる輝度サンプル指数に関連付けられる。CUの
パレットインデックスを再構成した後、1つのサンプルに単一の成分しか関連付けられて
いない場合、パレットエントリの第1の成分のみが使用される。信号通知における唯一の
違いは、エスケープ成分値である。エスケープサンプルごとに、信号通知されるエスケー
プ成分値の数は、そのサンプルに関連付けられた成分の数によって異なってもよい。
【0082】
2.6 変換スキップモードにおける係数符号化
【0083】
JVET-M0464号及びJVET-N0280号において、残差符号化を変換スキ
ップレベルの統計及び信号特性に適応させるために、TS(Transform Ski
p)モードにおける係数符号化についていくつかの改良が提案されている。
【0084】
提案された変形例を以下に示す。
【0085】
前回の有意な走査位置なし:
残差信号は予測後の空間残差を反映しており、TSに対して変換によるエネルギー圧縮は
行われないので、変換ブロックの右下隅の末尾にゼロまたは有意でないレベルがより高い
確率で後続することはもはやなくなる。従って、この場合、最後の重要な走査位置信号送
信は省略される。
【0086】
サブブロックCBF:
最後の重要な走査位置信号がない場合、TSのcoded_sub_block_fla
gを有するサブブロックCBF信号は、次のように変更されることが必要である。
● 量子化のために、前述の有意でないシーケンスは、依然として変換ブロック内でロー
カルに発生し得る。したがって、前記のように最後の有意な走査位置が削除され、最後を
除くすべてのCGがゼロ係数を持つ場合を除いて、すべてのサブブロックに対してcod
ed_sub_block_flagが符号化されるため、最後のCGに対してcode
d_sub_block_flagを符号化する必要がない。
● DC周波数位置をカバーするサブブロック(左上のサブブロック)のcoded_s
ub_block_flagは、特殊な場合を提示する。VVC草案3において、このサ
ブブロックのcoded_sub_block_flagは決して信号通知されず、常に
1に等しいと推測される。最後の有意な走査位置が別のサブブロックに位置する場合、そ
れは、DCサブブロックの外側に少なくとも1つの有意なレベルがあることを意味する。
その結果、DCサブブロックは、このサブブロックのcoded_subblock_f
lagが1に等しいと推測されるが、ゼロ/非有意レベルのみを含んでもよい。TSに最
後の走査位置情報がない場合、各サブブロックのcoded_sub_block_fl
agが通知される。これは、他のcoded_sub_block_flag構文要素が
既に0に等しい場合を除き、DCサブブロックのcoded_sub_block_fl
agをも含む。この場合、DC coded_sub_block_flagは1に等し
いと推測される(inferDcSbCbf=1)。このDCサブブロックには少なくと
も1つの有意なレベルがなければならないので、このDCサブブロックにおける他のすべ
てのsig_coeff_flag構文要素が0に等しい場合、(0,0)における第1
の位置のsig_coeff_flag構文要素は信号通知されず、1に等しくなるよう
に導出される(inferSbDcSigCoefflag=1)。
● coded_sub_block_flagのコンテクストモデリングを変更する。
コンテクストモデルインデックスは、coded_sub_block_flagの左側
と、現在のサブブロック上のcoded_sub_block_flagとの合計として
、両方の論理和の代わりに計算される。
【0087】
sig_coeff_flagコンテクストモデリング:
sig_coeff_flagコンテクストモデルにおけるローカルテンプレートは、現
在地の走査位置の左側(NB)及び上側(NB)の近傍のみを含むように修正される
。コンテクストモデルオフセットは、重要な近傍位置sig_coeff_flag[N
]+sig_coeff_flag[NB]の個数に過ぎない。そこで、今回の変換区間における対角dに応じて異なるコンテクスト集合を選択することを排除する。その
結果、sig_coeff_flagを符号化するための3つのコンテクストモデル及び
1つのコンテクストモデル集合が得られる。
【0088】
abs_level_gt1_flag 及び par_level_flagコンテクストモデリング:
abs_level_gt1_flag及びpar_level_flagには1つのコンテクストモデルを用いる。
【0089】
abs_remainder符号化:
変換スキップ残差絶対レベルの経験的分布は、典型的には、依然としてラプラシアンまた
は幾何学的分布に適応するが、変換係数絶対レベルよりも大きい不安定性が存在する。具
体的には、残留絶対値レベルの場合、連続して実現する窓内の分散が高くなる。これは、
abs_remainderシンタックスの二値化及びコンテクストモデリングを以下の
ように修正する動機となる。
● 2値化においてより高いカットオフ値、即ち、sig_coeff_flag、ab
s_level_gt1_flag、par_level_flag、及びabs_le
vel_gt3を用いた符号化からabs_remainderのRice符号への移行
点と、各ビンの位置に専用のコンテクストモデルを用いることで、より高い圧縮効率が得
られる。カットオフを大きくすると、より多くの「Xより大きい」フラグがもたらされ、
例えば、カットオフに達するまで、abs_level_gt5_flag、abs_l
evel_gt7_flag等を導入していく。カットオフ自体は5に固定される(nu
mGtFlags=5)。
● ライスパラメータ導出のためのテンプレートを修正し、すなわち、現在の走査位置の
左側の近傍及び上側の近傍のみを、sig_coeff_flagコンテクストモデリン
グのためのローカルテンプレートに類似していると見なす。
【0090】
coeff_sign_flagコンテクストモデリング:
符号のシーケンス内の不安定性及び予測残差がしばしば偏っていることに起因して、全体
的な経験的分布がほぼ均一に分布している場合であっても、符号はコンテクストモデルを
使用して符号化され得る。符号の符号化には1つの専用コンテクストモデルが使用され、
符号はsig_coeff_flagの後に構文解析されて、すべてのコンテクスト符号
化ビンが一緒にまとめられる。
【0091】
2.7 量子化残差ブロック差動パルスコード変調(QR-BDPCM)
【0092】
JVET-M0413において、量子化残差ブロック差動パルスコード変調(QR-B
DPCM)が、スクリーンコンテンツを効率的に符号化するために提案されている。
【0093】
QR-BDPCMで使用される予測方向は、垂直予測モードおよび水平予測モードであ
り得る。イントラ予測は、イントラ予測と同様に、予測方向(水平または垂直予測)にサ
ンプルコピーすることで、ブロック全体で予測する。残差を量子化し、量子化残差とその
予測子(水平または垂直)量子化値との間のデルタを符号化する。これは、以下のように
説明することができる。サイズM(行)×N(列)のブロックについて、ri,j,0≦
i≦M-1、0≦j≦N-1を、上または左ブロックの境界サンプルからのフィルタリン
グされていないサンプルを使用して、水平方向(予測ブロックに対して左隣の画素値を1
ラインずつコピーする)または垂直方向(予測ブロックにおける各ラインに上隣のライン
をコピーする)にイントラ予測を行った後の予測残差とする。Q(ri,j)、0≦i≦
M-1、0≦j≦N-1は、残差ri,jの量子化バージョンを表し、この場合、残差は
、元のブロックと予測ブロック値との間の差である。次に、ブロックDPCMが量子化残
差サンプルに適用され、その結果、要素r~i,jを有する修正されたM×N個の配列R
~が得られる。垂直BDPCMが信号通知されると、以下のようになる。
【0094】
【数1】
【0095】
水平予測の場合、類似した規則が適用され、残差量子化サンプルは、以下の式によって
得られる。
【0096】
【数2】
【0097】
残差量子化サンプルr~i,jはデコーダに送られる。
【0098】
デコーダ側では、上記の計算を逆にして、Q(ri,j)、0≦i≦M-1、0≦j≦
N-1を生成する。垂直予測の場合、以下である。
【0099】
【数3】
【0100】
水平方向の場合、以下である。
【0101】
【数4】
【0102】
逆量子化された残差Q-1(Q(ri,j))をイントラブロック予測値に加算し、再
構成されたサンプル値を生成する。
【0103】
このスキームの主な利点は、逆方向のDPCMを、係数の構文解析中にオンザフライで
行うことができ、係数の構文解析中に予測子を追加するだけで済むこと、または、構文解
析後に行うことができることである。
【0104】
QR-BDPCMの本文変更案を以下に示す。
【0105】
【表1】

【表2】
【0106】
bdpcm_flag[x0][y0]が1の場合、位置(x0,y0)の輝度符号化ブ
ロックを含む符号化ユニットにbdpcm_dir_flagが存在することを指定する

bdpcm_dir_flag[x0][y0]=0は、bdpcmブロックで使用され
る予測方向が水平であることを指定し、そうでない場合、垂直である。
【0107】
2.8 パーティション構造
【0108】
HEVCにおいて、CTUは、様々な局所的特徴に適応するように、符号化ツリーと呼
ばれる四分木構造を用いてCUに分割される。インターピクチャ(時間的)予測またはイ
ントラピクチャ(空間的)予測を使用する、ピクチャ領域を符号化するかどうかの決定は
、リーフCUレベルで行われる。各リーフCUは、PU分割タイプに応じて1つ、2つま
たは4つのPUに更に分割することができる。1つのPUの内部では、同じ予測処理が適
用され、PU単位で関連情報がデコーダに送信される。PU分割タイプに基づく予測処理
を適用して残差ブロックを得た後、CUのためのコーディングツリー符号化ツリーに類似
した別の四分木構造に基づいて、リーフCUを変換ユニット(TU)に分割することがで
きる。HEVC構造の重要な特徴の1つは、CU、PU、TUを含む複数のパーティショ
ン概念を有することである。
【0109】
VVCにおいて、2値及び3値分割セグメンテーション構造を使用するネストされたマル
チタイプツリーを有する四分木は、複数の区分ユニットタイプの概念に取って代わる。即
ち、それは、最大変換長さに対して大き過ぎるサイズを有するCUに必要な場合を除き、
CU、PU、及びTU概念の分離を排除し、且つCU区分形状のためのより多くの柔軟性
をサポートする。符号化ツリー構造において、CUは正方形または長方形のいずれかを有
することができる。まず、符号化ツリーユニット(CTU)を四分木構造で分割する。そ
して、四分木のリーフのノードは、マルチタイプのツリー構造によってさらに区分され得
る。図7に示すとおり、マルチタイプツリー構造の分岐タイプには、垂直二分岐(SPL
IT_BT_VER)、水平二分岐(SPLIT_BT_HOR)、垂直三分岐(SPL
IT_TT_VER)、水平三分岐(SPLIT_TT_HOR)の4つがある。マルチ
タイプツリーのリーフのノードは、符号化ユニット(CU)と呼ばれ、CUが大き過ぎて
最大変換長にならない限り、このセグメント化は、それ以上の分割なしに、予測及び変換
処理に使用される。これは、ほとんどの場合、CU、PU、及びTUが、ネストされたマ
ルチタイプのツリー符号化ブロック構造を有する四分木において、同じブロックサイズを
有することを意味する。サポートされる最大変換長がCUの色成分の幅または高さよりも
小さい場合、この例外が生じる。また、輝度及びクロマ成分は、Iタイル上に別個の区分
構造を有する。さらに、JVET-K0353およびJVET-K0354は、CTU/
CUレベルで別個のパーティション構造を使用するかどうかを判定するためにフラグを信
号化通知することを提案している。
【0110】
2.9 VTM-4.0における非ブロック化スキーム
【0111】
なお、以下の説明において、pNMは、垂直エッジに対してM行目の左側のN番目のサ
ンプル、または水平エッジに対してM列目の上側のN番目のサンプルを表し、qNMは、
垂直エッジに対してM行目の右側のN番目のサンプル、または水平エッジに対して、M列
目の下側のN番目のサンプルを表す。pNおよびqNの例を図8に示す。
【0112】
なお、以下の説明において、pNは、垂直エッジに対して行の左側のN番目のサンプル
、または、水平エッジに対して列の上側のN番目のサンプルを表し、qNは、垂直エッジ
に対して行の右側のN番目のサンプル、または水平エッジに対して、列の下側のN番目の
サンプルを表す。
【0113】
1つの単位として4行に対してフィルタのオン/オフの決定を行う。図8は、フィルタ
のオン/オフ決定に関与する画素を示す。最初の4行のための2つの赤いボックスにおけ
る6つの画素は、4行のためのフィルタのオン/オフを判定するために用いられる。2番
目の4行のための2つの赤いボックス内の6つの画素は、第2の4行のためのフィルタの
オン/オフを判定するために用いられる。
【0114】
現在のVTM、つまりVTM-4.0では、JVET-M0471で説明されている非
ブロック化スキームが使用される。まずピクチャの垂直エッジを選別する。そして、垂直
エッジフィルタリング処理で修正されたサンプルを入力として、ピクチャの水平エッジを
フィルタリングする。各CTUのCTBにおける垂直および水平エッジは、符号化ユニッ
トごとに別個に処理される。符号化ユニットにおける符号化ブロックの垂直エッジは、符
号化ブロックの左側のエッジから始まり、符号化ブロックの右側に向かってそれらの幾何
学的順にエッジを通って進むようにフィルタリングされる。符号化ユニットにおける符号
化ブロックの水平エッジは、符号化ブロックの上側のエッジから始まり、符号化ブロック
の下側に向かってそれらの幾何学的順にエッジを通って進むようにフィルタリングされる
【0115】
2.9.1 境界の決定
【0116】
8×8のブロック境界にフィルタリングを適用する。さらに、それは、(例えば、アフ
ィン動き予測、ATMVPを使用しているため)変換ブロックの境界または符号化サブブ
ロックの境界でなければならない。そのような境界でない場合、フィルタは無効にされる
【0117】
2.9.2 境界強度計算
【0118】
変換ブロックの境界/符号化サブブロックの境界の場合、それが8×8グリッドに位置
する場合、それをフィルタリングしてもよくジのためのbS[xD][yD]([x
][yD]は座標を表す)の設定は、以下のように定義される。
- bS[xD][yD]は、2に等しく設定され、この場合、サンプルpまた
はqは、イントラ予測モードで符号化された符号化ユニットの符号化ブロックにある。
- あるいは、ブロックエッジが変換ブロックエッジでもあり、サンプルpまたはq
が、1つ以上の非ゼロ変換係数レベルを含む変換イントラブロックにある場合、bS[
xD][yD]は、1に等しく設定される。
- あるいは、サンプルpを含む符号化サブブロックの予測モードが、サンプルq
を含む符号化サブブロックの予測モードと異なる場合、bS[xD][yD]は、1
に等しく設定される。
- あるいは、以下の条件の1つ以上がTRUEである場合、bS[xD][yD
]を1に等しく設定する。
- サンプルpを含む符号化サブブロックおよびサンプルqを含む符号化サブブ
ロックは、いずれもIBC予測モードで符号化され、2つの符号化サブブロックの予測に
用いられる動きベクトルの水平または垂直成分の絶対差は、1/4輝度サンプル単位で4
以上である。
- サンプルpを含む符号化サブブロックの予測のために、サンプルqを含む符
号化サブブロックの予測とは異なる参照ピクチャまたは異なる数の動きベクトルが使用さ
れる。
注1-2つの符号化サブロックに使用される参照ピクチャが同じであるかまたは異
なるかは、予測を形成するのに参照ピクチャリスト0へのインデックスを使用するか、ま
たは参照ピクチャリスト1へのインデックスを使用して形成するかに関わらず、且つ参照
ピクチャリスト内のインデックス位置が異なるかどうかに関わらず、どのピクチャが参照
されるかによってのみに基づいて判定される。
注2-(xSb,ySb)を含む左上のサンプルを有する符号化サブブロックの予
測に使用される動きベクトルの数は、PredFlagL0[xSb][ySb]+Pr
edFlagL1[xSb][ySb]に等しい。
- 1つの動きベクトルは、サンプルpを含む符号化サブブロックを予測するため
に使用され、1つの動きベクトルは、サンプルqを含む符号化サブブロックを予測する
ために使用され、使用される動きベクトルの水平または垂直成分の絶対差は、1/4輝度
サンプル単位で4以上である。
- 2つの動きベクトルおよび2つの異なる参照ピクチャを使用して、サンプルp
を含む符号化サブブロックを予測し、同じ2つの参照ピクチャの2つの動きベクトルを使
用して、サンプルqを含む符号化サブブロックを予測し、同じ参照ピクチャの2つの符
号化サブブロックの予測に使用される2つの動きベクトルの水平または垂直成分の絶対差
は、1/4輝度サンプル単位で4以上である。
- 同じ参照ピクチャの2つの動きベクトルを使用して、サンプルpを含む符号化
サブブロックを予測し、同じ参照ピクチャの2つの動きベクトルを使用して、サンプルq
を含む符号化サブブロックを予測し、以下の条件の両方が成り立つ。
- 2つの符号化サブブロックの予測に使用されるリスト0の動きベクトルの水平
または垂直成分の間の絶対差は、1/4輝度サンプルにおいて4以上である、または2つ
の符号化サブブロックの予測に使用されるリスト1の動きベクトルの水平または垂直成分
の間の絶対差は、4分の1輝度サンプル単位で4以上である。
- サンプルpを含む符号化サブブロックの予測に使用されるリスト0動きベク
トルの水平または垂直成分と、サンプルqを含む符号化サブブロックの予測に使用され
るリスト1動きベクトルとの間の絶対差は、1/4輝度サンプル単位で4以上であるか、
またはサンプルpを含む符号化サブブロックの予測に使用されるリスト1動きベクトル
の水平または垂直成分と、サンプルqを含む符号化サブブロックの予測に使用されるリ
スト0動きベクトルとの間の絶対差は、1/4輝度サンプル単位で4以上である。
- あるいは、変数bS[xD][yD]を0に設定する。
【0119】
表1及び表2にBSの算出規則をまとめる。
【0120】
【表3】
【0121】
【表4】
【0122】
2.9.3 輝度成分の非ブロック化決定
【0123】
非ブロック化決定処理は、このサブセクションで説明する。
【0124】
より広く、強い輝度フィルタは、条件1、条件2、および条件3の全てがTRUEである
場合にのみ使用されるフィルタである。
【0125】
条件1は、「大ブロック条件」である。この条件は、P側およびQ側のサンプルが、そ
れぞれ変数bSidePisLargeBlkおよびbSideQisLargeBlk
によって表現される大ブロックに属するかどうかを検出する。bSidePisLarg
eBlkおよびbSideQisLargeBlkは、以下のように定義される。
bSidePisLargeBlk=((edge type is vertica
l and p belongs to CU with width>=32) |
| (edge type is horizontal and p belong
s to CU with height>=32))?TRUE:FALSE
bSideQisLargeBlk=((edge type is vertica
l and q belongs to CU with width>=32) |
| (edge type is horizontal and q belong
s to CU with height>=32))?TRUE:FALSE
【0126】
bSidePisLargeBlkおよびbSideQisLargeBlkに基づい
て、条件1を以下のように定義する。
Condition1=(bSidePisLargeBlk || bSidePis
LargeBlk) ?TRUE:FALSE
【0127】
次に、条件1がTRUEである場合、さらに条件2をチェックする。まず、以下の変数
を導出する。
- dp0,dp3,dq0,dq3をまずHEVCとして導出する
- もし(p側が32以上)なら、
dp0=(dp0+Abs(p5-2*p4+p3)+1)>>1
dp3=(dp3+Abs(p5-2*p4+p3)+1)>>1
- もし(q側が32以上)なら、
dq0=(dq0+Abs(q5-2*q4+q3)+1)>>1
dq3=(dq3+Abs(q5-2*q4+q3)+1)>>1
条件2=(d<β)?TRUE:FALSE
章2.2.4に示すとおり、式中、d=dp0+dq0+dp3+dq3である。
【0128】
条件1および条件2が有効である場合、いずれかのブロックがサブブロックを使用する
かどうかをさらにチェックする。
If(bSidePisLargeBlk)
If(mode block P==SUBBLOCKMODE)
Sp=5
else
Sp=7
else
Sp=3
If (bSideQisLargeBlk)
If (mode block Q==SUBBLOCKMODE)
Sq=5
else
Sq=7
else
Sq=3
【0129】
最後に、条件1および条件2の両方が有効である場合、提案された非ブロック化方法は
、以下のように定義される条件3(大ブロックの強いフィルタ条件)をチェックする。
条件3のStrongFilterConditionにおいて、以下の変数を導出する

dpqはHEVCと同様に導出される。
sp=Abs(p-p)、HEVCと同様に導出される
もし(p側が32以上)なら、
if(Sp==5)
sp=(sp+Abs(p-p)+1)>>1
else
sp=(sp+Abs(p-p)+1)>>1
sq=Abs(q-q)は、HEVCと同様に導出される
もし(q側が32以上)なら、
If(Sq==5)
sq=(sq+Abs(q-q)+1)>>1
else
sq=(sq+Abs(q-q)+1)>>1
【0130】
HEVCと同様に、StrongFilterCondition=(dpqは(β>
>2)未満、sp+sqは(3*β>>5)未満、およびAbs(p-q)は(
5*t+1)>>1)?TRUE:FALSE.
【0131】
2.9.4 輝度のためのより強い非ブロック化フィルタ(より大きいブロックのために
設計される)
【0132】
バイリニアフィルタは、境界の両側のサンプルが1つの大ブロックに属する場合に用い
られる。1つの大ブロックに属する1つのサンプルは、垂直エッジの場合、幅≧32であ
り、水平エッジの場合、高さ≧32であるときとして定義される。
【0133】
バイリニアフィルタを以下に示す。
【0134】
次に、上述のHEVC非ブロック化において、i=0~Sp-1でのブロックの境界サ
ンプルp及びj=0~Sq-1のブロックの境界サンプルqi(p、qiは、垂直エ
ッジをフィルタリングする行内のi番目のサンプル、または水平エッジをフィルタリング
する列内のi番目のサンプル)を、以下のように線形補間によって置き換える。
【0135】
【数5】
【0136】
tcPDおよびtcPD項は、章2.9.7に記載の位置依存クリッピングであり、g,f,Middle,PおよびQは、表3に示される。
【0137】
【表5】

【表6】
【0138】
2.9.5 クロマの非ブロック化制御
【0139】
クロマの強いフィルタは、ブロックの境界の両側に用いられる。ここで、クロマフィル
タは、クロマエッジの両側が8(クロマ位置)以上である場合に選択され、のための3つ
の条件付きで、1番目のものが、境界強度ならびに大ブロックのためのものである、とい
う決定が満たされる。提案されたフィルタは、クロマサンプルドメインにおいて、ブロッ
クのエッジに直交するブロックの幅または高さが8以上である場合に適用できる。第2お
よび第3のものは、基本的にはHEVC輝度の非ブロック化の決定と同じであり、それぞ
れオン/オフ決定および強いフィルタの決定となっている。
第1の決定において、表2に示すように、クロマフィルタリングのために境界強度(bS
)が修正される。表2の条件を順次チェックする。条件が満たされている場合、残りの優
先順位の低い条件はスキップされる。
【0140】
大ブロックの境界が検出された場合、bSが2に等しいか、またはbSが1に等しいと
き、クロマ非ブロック化が行われる。
【0141】
第2および第3の条件は、基本的には、以下のように、HEVC輝度の強いフィルタの
決定と同様である。
【0142】
第2の条件において、
その後、HEVC輝度非ブロック化と同様にdを導出する。
第2の条件は、dがβより小さい場合、TRUEとなる。
【0143】
第3の条件において、StrongFilterConditionは、以下のように
導出される。
dpqはHEVCと同様に導出される。
sp=Abs(p-p)、HEVCと同様に導出される
sq=Abs(q-q)は、HEVCと同様に導出される
【0144】
HEVC設計におけるように、StrongFilterCondition=(dp
qが(β>>2)未満であり、sp+sqが(β>>3)未満であり、Abs(p
_q)が(5*t+1)>>1未満である。)
【0145】
2.9.6 クロマ用の強い非ブロック化フィルタ
【0146】
以下のようなクロマ用の強い非ブロック化フィルタが定義される。
’=(3*p+2*p+p+p+q+4)>>3
’=(2*p+p+2*p+p+q+q+4)>>3
’=(p+p+p+2*p+q+q+q+4)>>3
【0147】
提案されたクロマフィルタは、4×4クロマサンプルグリッドに対して非ブロック化を
行う。
【0148】
2.9.7 位置依存クリッピング
【0149】
位置依存クリッピングtcPDは、境界で7個、5個、および3個のサンプルを修正す
る強く長いフィルタを含む輝度フィルタリング処理の出力サンプルに適用される。量子化
誤差分布を仮定して、より高い量子化ノイズを有すると予想されるサンプルに対して、ク
リッピング値を増加させることが提案され、よって、再構成されたサンプル値のTRUE
のサンプル値からのより高い偏差を有することが予想される。
【0150】
非対称フィルタでフィルタリングされた各PまたはQ境界について、章2.9.2にお
ける意思決定処理の結果に基づいて、位置依存閾値テーブルが、副情報としてデコーダに
提供される2つのテーブル(即ち、Tc7およびTc3を以下にまとめる)から選択され
る。
Tc7={6,5,4,3,2,1,1};
Tc3={6,4,2};
tcPD=(Sp==3)?Tc3:Tc7;
tcQD=(Sq==3)?Tc3:Tc7;
【0151】
短い対称フィルタでフィルタリングされるPまたはQ境界に対しては、より小さい位置
依存閾値が適用される。
Tc3={3,2,1};
【0152】
閾値を定義した後、tcPおよびtcQクリッピング値に従って、フィルタリングされ
たp’およびq’サンプル値をクリッピングする。
p’’=Clip3(p’+tcP,p’-tcP,p’);
q’’=Clip3(q’+tcQ,q’-tcQ,q’);
ここで、p’およびq’はフィルタリングされたサンプル値であり、p’’および
q’’はクリッピング後の出力サンプル値であり、tcPtcPはVVC tc
パラメータ、tcPDおよびtcQDから導出されるクリッピング閾値である。関数Cl
ip3は、VVCに規定されているような、クリッピング関数である。
【0153】
2.9.8 サブブロックの非ブロック化調整
【0154】
両方のロングフィルタを使用する並列フレンドリな非ブロック化およびサブブロック非
ブロック化を可能にするために、ロングフィルタは、ロングフィルタのための輝度制御に
示すように、サブブロック非ブロック化(AFFINE、ATMVP、またはDMVR)
を使用する側でのサンプルの修正が、最大で5つまでに制限される。さらに、サブブロッ
クの非ブロック化は、CUまたは暗黙のTU境界に近い8×8グリッド上のサブブロック
境界の修正が、各側において最大2つまでのサンプルに制限されるように調整される。
【0155】
以下は、CU境界と整列されていないサブブロック境界に適用される。
If(mode block Q==SUBBLOCKMODE && edge !=
0){
if(!(implicitTU && (edge==(64/4))))
if (edge==2 || edge==(orthogonalLeng
th-2) || edge==(56/4) || edge==(72/4))
Sp=Sq=2;
else
Sp=Sq=3;
else
Sp=Sq=bSideQisLargeBlk?5:3
【0156】
この場合、0に等しいエッジはCU境界に対応し、2に等しいかまたは直交長さ-2に
等しいエッジは、CU境界からのサブブロックの境界8サンプルに対応する。ここで、T
Uの暗黙的分割が使用される場合、暗黙的TUはTRUEである。
【0157】
2.9.9 輝度/クロマ用の4CTU/2CTU行バッファへの制限
【0158】
水平エッジがCTU境界と整列している場合、水平エッジのフィルタリングは、輝度の
場合、Sp=3、クロマの場合、Sp=1、Sq=1に制限する。
【0159】
2.10 イントラ予測モードと組み合わせたパレットモード(PCIP)
【0160】
JVET-M0051では、イントラ予測と組み合わせたパレットモードが提案されて
いる。このスキームでは、デコーダは最初にイントラ予測方法に基づいて予測ブロックを
導出する。次に、デコーダはパレットとインデックスマップを復号化する。デコーダは、
復号化パレット情報を使用して、予測ブロックを微調整し、ブロックを再構成する。
【0161】
図9にパレット情報とイントラ予測情報を組み合わせた例を示す。最初に、デコーダは
予測ブロックを生成する(画素値A0~A15)。そして、デコーダはパレットモードで
インデックスマップを復号化する。ブロックを再構成するために、復号化されたインデッ
クスが「0」である場合、図6に示すように、対応する画素は「P」としてマークされる
。「P」とマークされた画素は、イントラ予測ブロックの画素値によって再構成される。
それ以外の場合は、C0、C1などのパレットカラーで画素が再構成される。
【0162】
2.11 複合パレットモード(CPM)
【0163】
JVET-N0259と同様に、複合パレットモードのサンプルは、現在のインデック
スが0のときにIBC予測で同一位置に配置されたサンプルをコピーすることで再構成で
きる。それ以外の場合、現在のサンプルはパレットの色によって再構成される。図10
、提案されたパレットモードを示している。
【0164】
複合パレットモードでは、輝度ブロックで、最初に利用可能なマージ候補を使用してI
BC予測が生成されるため、IBC予測の動き情報を信号通知する必要はない。クロマブ
ロックでは、CPMの動き補償はVTM4の動き補償と同じである。
【0165】
さらに、エスケープ画素の符号化も修正される。元のサンプルと同一位置に配置された
IBC予測サンプルの間の量子化残差が信号通知される。デコーダでは、提案されたパレ
ットモードのすべてのエスケープ画素が、復号化された残差とIBC予測を組み合わせて
再構成される。
【0166】
2.12 JVET-N0185における67個のイントラ予測モードを有するイントラ
モード符号化
【0167】
自然映像に表される任意のエッジ方向をキャプチャするために、VTM4における指向
性イントラモードの数は、HEVCで使用されるように、33から65に拡張される。H
EVCにない新しい指向性モードは、図11に赤い点線の矢印で示されており、平面モー
ドと直流モードは同じままである。これらのより密度の高い指向性イントラ予測モードは
、すべてのブロックサイズ、および輝度およびクロマイントラ予測の両方に適用される。
【0168】
MRL符号化ツールおよびISP符号化ツールの適用の有無にかかわらず、イントラブ
ロックに対して統一された6-MPMリストが提案される。MPMリストは、図12に示
すように、VTM4.0などの場合、左上の近傍のブロックのイントラモードに基づいて
構成される。
【0169】
ここで、左側のモードをLeftとし、上記ブロックのモードをAboveとすると、
統合MPMリストは、以下のステップで順に構成される。
- 近傍のブロックのイントラ予測モードが無効である場合、そのイントラモードはデ
フォルトで平面に設定される。
- LeftとAboveが同じかつ両方ともに角度がある場合、
o MPMリスト→{Planar、Left、Left-1、Left+1、DC
、Left-2}
- LeftとAboveが異なりかつ両方ともに角度がある場合、
o MaxモードをLeft かつ Aboveでより大きいモードに設定する。
o LeftモードとAboveモードとの差が2~62の範囲内にある場合
■ MPM list→{Planar,Left,Above,DC,Max-
1,Max+1}
o あるいは、
■ MPMリスト→{Planar、Left、Above、DC、Max-2、
Max+2}
- LeftとAboveが異なり、LeftおよびAboveの一方が角度モードで
あり、他方が非角度モードである場合、
o MaxモードをLeft かつ Aboveでより大きいモードに設定する。
o MPMリスト→{Planar、Max、DC、Max-1、Max+1、Ma
x-2}
- モードLeftおよびAboveの両方が非角度モードである場合、
o MPMリスト→{Planar、DC、V、H、V-4、V+4}
【0170】
なお、モードインデックス(例えば、Max+2)が範囲[0、66]を超えた場合、
他の有効なモードインデックスに置き換えられてもよい。
【0171】
第1のMPM候補、すなわち、Planarモードは、残りのMPM候補とは別個に信
号通知される。
【0172】
より詳細な構文、意味論、及び復号化処理を以下に説明する。:
【0173】
【表7】

【表8】

【表9】
【0174】
構文要素intra_luma_mpm_flag[x0][y0]、intra_l
uma_not_planar_flag[x0][y0]、intra_luma_m
pm_idx[x0][y0]およびintra_luma_mpm_remainde
r[x0][y0]は、輝度サンプルのイントラ予測モードを指定する。配列インデック
スx0,y0は、ピクチャの左上輝度サンプルに対する、考慮される符号化ブロックの左
上輝度サンプルの位置(x0,y0)を指定する。intra_luma_mpm_fl
ag[x0][y0]が1に等しい場合、第8.4.2項に従って、隣接するイントラ予
測符号化ユニットから前記イントラ予測モードを推論する。
【0175】
intra_luma_mpm_flag[x0][y0]が存在しない(例えば、I
SPが有効化されている、またはMRLが有効化されている(参照インデックス>0を有
する))場合、それは1に等しいと推論される。
【0176】
intra_luma_not_planar_flag[x0][y0]が存在しな
い場合(例えば、MRLが使用可能)、それは1に等しいと推測される。
【0177】
8.4.2 輝度イントラ予測モードのための導出処理
【0178】
この処理への入力は以下の通りである。
- 現在のピクチャの左上の輝度サンプルに対する現在の輝度符号化ブロックの左上のサ
ンプルを規定する輝度位置(xCb,yCb)
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight
【0179】
この処理において、輝度イントラ予測モードIntraPredModeY[xCb][
yCb]が導出される。
表8-1に、イントラ予測モードIntraPredModeY[xCb][yCb]の
値とその関連名称を示す。
【0180】
【表10】
【0181】
注-:イントラ予測モードINTRA_LT_CCLM、INTRA_L_CCLM、I
NTRA_T_CCLMは、クロマ成分にのみ適用可能である。
【0182】
IntraPredModeY[xCb][yCb]は、以下のように導出される。
【0183】
- intra_luma_not_planar_flag[xCb][yCb]が1
に等しい場合、以下の順序付けられたステップである。
【0184】
1.近傍位置(xNbA、yNbA)および(xNbB、yNbB)は、それぞれ、(x
Cb-1,yCb+cbHeight-1)および(xCb+cbWidth-1,yC
b-1)に等しく設定される。
【0185】
2.XをAまたはBのいずれかに置き換える場合、変数candIntraPredMo
deXは、以下のように導出される。
- 6.4.X項[Ed.(BB):近傍ブロックの可用性導出処理tbd]で規定さ
れるブロックの可用性導出処理は、入力として、(xCb,yCb)に等しく設定された
位置(xCurr,yCurr)と、(xNbX,yNbX)に等しく設定した近傍位置
(xNbY,yNbY)で呼び出され、出力をavailableXに割り当てる。
- 候補イントラ予測モードcandIntraPredModeXは、以下のように
導出される。
- 以下の条件の1つ以上がTRUEである場合、candIntraPredMo
deXをINTRA_PLANARに等しく設定する。
- 変数availableXはFALSEに等しい。
- CuPredMode[xNbX][yNbX]はMODE_INTRAに等
しくなく、かつciip_flag[xNbX][yNbX]は1に等しくない。
- pcm_flag[xNbX][yNbX]は1に等しい。
- XがBに等しく、yCb_1が((yCb>>CtbLog2SizeY)<
<CtbLog2SizeY)未満である。
- そうでない場合、candIntraPredModeXをIntraPred
ModeY[xNbX][yNbX]に等しく設定する。
【0186】
3.x=0..4の場合のcandModeList[x]は、以下のように導出される

- candIntraPredModeBがcandIntraPredModeA
に等しく、candIntraPredModeAがINTRA_DCよりも大きい場合
、candModeList[x](x=0..4)は、以下のように導出される。
candModeList[0]=candIntraPredModeA (8-
10)
candModeList[1]=2+((candIntraPredModeA
+61)%64) (8-12)
candModeList[2]=2+((candIntraPredModeA
-1)%64) (8-13)
candModeList[3]=INTRA_DC (8-11)
candModeList[4]=2+((candIntraPredModeA
+60) %64) (8-14)
- そうでない場合、candIntraPredModeBがcandIntraPredModeAに等しくなく、candIntraPredModeAまたはcandIntraPredModeBがINTRA_DCよりも大きい場合、以下が適用される。
- 変数minABおよびmaxABは、以下のように導出される。
minAB=Min(candIntraPredModeA,candIntr
aPredModeB) (8-24)
maxAB=Max(candIntraPredModeA,candIntr
aPredModeB) (8-25)
- candIntraPredModeA及びcandIntraPredMod
eBの両方がINTRA_DCよりも大きい場合、x=0..4の場合のcandMod
eList[x]は、以下のように導出される。
candModeList[0]=candIntraPredModeA (8
-27)
candModeList[1]=candIntraPredModeB (8
-29)
candModeList[2]=INTRA_DC (8-29)
- maxAB-minABが2~62の範囲内にある場合、以下が適用される。
candModeList[3]=2+((maxAB+61)%64) (8
-30)
candModeList[4]=2+((maxAB-1)%64) (8-
31)
- そうでない場合、以下が適用される。
candModeList[3]=2+((maxAB+60)%64) (8
-32)
candModeList[4]=2+((maxAB)%64) (8-33

- そうでない場合(candIntraPredModeAまたはcandInt
raPredModeB>INTRA_DC)、x=0..4のcandModeLis
t[x]は、以下のように導出される。
candModeList[0]=maxAB (8-65)candMode
List[1]=INTRA_DC (8-66)
candModeList[2]=2+((maxAB+61)%64) (8-
66)
candModeList[3]=2+((maxAB-1)%64) (8-6
7)
candModeList[4]=2+((maxAB+60)%64) (8-
68)
- そうでない場合、以下が適用される。
candModeList[0]=INTRA_DC (8-71)
candModeList[1]=INTRA_ANGULAR50 (8-72)
candModeList[2]=INTRA_ANGULAR18 (8-73)
candModeList[3]=INTRA_ANGULAR46 (8-74)
candModeList[4]=INTRA_ANGULAR54 (8-75)
【0187】
4.IntraPredModeY[xCb][yCb]は、以下の順のステップを適用
することによって導出される。
- intra_luma_mpm_flag[xCb][yCb]が1に等しい場合
、IntraPredModeY[xCb][yCb]は、candModeList[
intra_luma_mpm_idx[xCb][yCb]]と等しく設定される。
- そうでない場合、IntraPredModeY[xCb][yCb]は以下の順
のステップを適用することにより、導出される。
1.candModeList[i]がcandModeList[j]よりも大き
い(i=0..3、各i,j=(i+1)..4)場合、両方の値は、以下のようにスワ
ップされる。(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.IntraPredModeY[xCb][yCb]の値が1増加する。
iii.i=0~4の場合、IntraPredModeY[xCb][yCb]
がcandModeList[i]以上である場合、IntraPredModeY[x
Cb][yCb]の値が1増加する。
【0188】
- そうでない場合(intra_luma_not_planar_flag[xCb
][yCb]は0と等しい)、IntraPredModeY[xCb][yCb]はI
NTRA_PLANARと等しく設定される。
【0189】
x=xCb..xCb+cbWidth-1およびy=yCb..yCb+cbHeig
ht-1の場合、変数IntraPredModeY[x][y]は、IntraPre
dModeY[xCb][yCb]と等しく設定される。
【0190】
クロマイントラモード符号化の場合、クロマイントラモード符号化の場合、合計8つのイ
ントラモードが許可される。これらのモードには、5つの伝統的なイントラモードと6つ
の構成要素共通の線形モデルモードが含まれる(CCLM、LM_AおよびLM_L)。
クロマモード信号通知および導出処理を表3に示す。クロマモード符号化は、対応する輝
度ブロックのイントラ予測モードに直接依存する。Iスライスにおいて、輝度成分とクロ
マ成分に対するブロック分割構造の分離が有効化されているため、1つのクロマブロック
は複数の輝度ブロックに対応してもよい。よって、クロマDMモードの場合、現在のクロ
マブロックの中心位置を含む、対応する輝度ブロックのイントラ予測モードは直接継承さ
れる。
【0191】
【表11】
【0192】
2.13 履歴に基づくマージ候補の導出
【0193】
履歴に基づくMVP(HMVP)マージ候補は、空間MVPおよびTMVPの後にマー
ジリストに追加される。この方法では、あらかじめ符号化されたブロックの動き情報がテ
ーブルに保存され、現在のCUのMVPとして使用される。符号化/復号化処理中、複数
のHMVP候補を有するテーブルが維持される。新しいCTU行が検出されると、テーブ
ルはリセット(空)される。非サブブロックインター符号化CUがある場合は常に、関す
る動き情報が新しいHMVP候補としてテーブルの最後のエントリに追加される。
【0194】
VTM5では、HMVPテーブルサイズSは5に設定されている。これは、最大5つの
履歴に基づくMVP(HMVP)候補をテーブルに追加できることを示している。新しい
動き候補をテーブルに挿入する際には、制約付き先入れ先出し(FIFO)規則が使用さ
れ、この規則では、冗長性チェックが最初に適用され、テーブルに同一のHMVPがある
かどうかが確認される。見つかった場合、同一のHMVPがテーブルから削除され、その
後、すべてのHMVP候補が前方に移動され、HMVP候補は、マージ候補リスト構築処
理において使用され得る。表内の最新のいくつかのHMVP候補が順番にチェックされ、
TMVP候補の後に候補リストに挿入される。冗長性チェックは、HMVP候補から空間
的マージ候補に適用される。
【0195】
2.14 スケーリングリスト
【0196】
スケーリングリスト(c.f.量子化行列)は、(逆)量子化処理中に適用できる。H
EVCでは、ユーザ定義のスケーリング値がPPSで信号通知され、可能なTBサイズ、
色成分、予測タイプ(イントラ/インター)ごとに、独自のスケーリングリストを持つこ
とができる。ただし、4:4:4 RExtクロマフォーマットにのみ使用される32×
32クロマブロックは除かれる。16×16および32×32スケーリングリストの場合
、スケーリングリストは、DC周波数位置に対応するエントリに使用される値とともに、
必要なサイズに値が繰り返される8×8グリッドの値で指定される。
【0197】
2.15 インター予測のための三角形分割モード(TPM)
【0198】
VTM4において、インター予測のために三角形分割モードがサポートされる。三角形
分割モードは、8×8以上であり、スキップまたはマージモードで符号化されるCUにの
み適用され、MMVDまたはCIIPモードでは適用されない。これらの条件を満たすC
Uの場合、CUレベルフラグを信号通知し、三角形分割モードが適用されるかどうかを示
す。
【0199】
このモードを使用する場合(図14)、対角分割または逆対角分割のいずれかを使用し
て、1つのCUを2つの三角形のパーティションに等分する。CUにおける各三角形のパ
ーティションは、それ自体の動きを使用してインター予測され、各パーティションに対し
て単一予測のみが許可される。すなわち、各パーティションは、1つの動きベクトル及び
1つの参照インデックスを有する。従来の双予測と同様にCUごとに2つの動き補償予測
しか必要としないようにするために、単一予測動き制約を適用する。3.4.10.1の
処理を用いて構築された単一予測候補リストから、各パーティションの単一予測の動きを
導出する。
【0200】
CUレベルフラグが、現在のCUが三角形分割モードで符号化されていることを示す場
合。三角形分割モードを使用する場合、三角形パーティションの方向(対角または逆対角
)を示すフラグ、及び2つのマージインデックス(各パーティションに1つ)をさらに信
号通知する。各三角形パーティションの各々を予測した後、適応重み付きブレンド処理を
使用して、対角または逆対角の縁部に沿ったサンプル値を調整する。これがCU全体の予
測信号であり、他の予測モードと同様に、CU全体に対して変換及び量子化処理を適用す
る。最後に、2.16.3で示すように、三角形分割モードを使用して予測されたCUの
動きフィールドを4×4ユニットで記憶する。
【0201】
2.15.1 単一予測候補リスト構築
【0202】
この単一予測候補リストは、5つの単一予測動きベクトル候補からなる。それは、5つ
の空間的に近傍のブロック(図15において1~5とラベル付けされる)と、2つの時間
的に同一位置にあるブロック(図15において6~7とラベル付けされる)とを含む7つ
の近傍のブロックから導出される。7つの近傍のブロックを収集し、下記の順に従って、
単一予測候補リストに入れる。まず、単一予測された近傍のブロックの動きベクトルを収
集し、単一予測候補リストに入れる。次に、単一予測された近傍のブロックの動きベクト
ルを収集し、次に、双予測された近傍のブロックについて、L0動きベクトル(すなわち
、双予測MVのL0動きベクトル部分)、L1動きベクトル(すなわち、双予測MVのL
1動きベクトル部分)、及び双予測MVのL0、L1動きベクトルの平均化された動きベ
クトルを収集する。候補の数が5未満である場合、リストの末端にゼロの動きベクトルを
加える。
【0203】
2.15.2 三角形の分割エッジに沿ったブレンド
【0204】
各三角形パーティションをそれ自身の動きで予測した後、2つの予測信号にブレンドを
適用し、対角線または逆対角の縁部付近のサンプルを導出する。ブレンド処理において、
以下の重みを用いる。
【0205】
図16の例に示すように、輝度に関しては○7/8,6/8,5/8,4/8,3/8
,2/8,1/8}、クロマに関しては{6/8,4/8,2/8}である。
【0206】
2.15.3 動きフィールド記憶域
【0207】
三角形分割モードで符号化されたCUの動きベクトルは、4×4単位で記憶される。各
4×4ユニットの位置に基づいて、1つの予測動きベクトルまたは2つの予測動きベクト
ルのいずれかが記憶される。Mv1及びMv2をそれぞれパーティション1及びパーティ
ション2の単一予測動きベクトルとする。図16に示されるように、非重み付け領域に4
×4個のユニットが位置する場合、その4×4個のユニットに対してMv1またはMv2
のいずれかを記憶する。そうではなく、4×4ユニットが重み付け領域に位置する場合、
双予測動きベクトルを記憶する。以下の処理に従って、Mv1及びMv2から双予測動き
ベクトルを導出する。
【0208】
1) Mv1及びMv2が異なる参照ピクチャリストから(一方はL0から、他方はL
1から)のものである場合、Mv1及びMv2を単に組み合わせて双予測動きベクトルを
形成する。
【0209】
2) そうでない場合、Mv1とMv2が同じリストに由来し、一般性を損なわない場
合、両方ともL0に由来すると仮定する。この場合、以下である。
【0210】
a) Mv2(またはMv1)のいずれかの参照ピクチャがL1に現れる場合、その
Mv2(またはMv1)は、L1におけるその参照ピクチャを使用してL1動きベクトル
に変換される。次に、2つの動きベクトルを組み合わせ、双予測動きベクトルを形成する
【0211】
b) そうでない場合、双予測動きの代わりに、単一予測動きMv1のみが記憶され
る。
【0212】
2.16 インループフィルタ
【0213】
VTM5には全部で3つのインループフィルタがある。非ブロック化フィルタとSAO
(HEVCの2つのループフィルタ)に加えて、適応ループフィルタ(ALF)がVTM
5に適用される。VTM5でのフィルタリングプロセスの順序は、非ブロック化フィルタ
、SAO、ALFである。
【0214】
VTM5では、SAOおよび非ブロック化フィルタリングプロセスはHEVCのプロセ
スとほぼ同じである。
【0215】
VTM5では、クロマスケーリングを伴う輝度マッピングと呼ばれる新しいプロセスが
追加された(このプロセスは、以前は適応インループリシェーパーと呼ばれていた)。こ
の新しい処理は、非ブロック化の前に行われる。
【0216】
2.16.1 適応ループフィルタ
【0217】
VTM5において、ブロックに基づくフィルタ適応を伴う適応ループフィルタ(ALF
)が適用される。輝度成分は、局所勾配の方向および働きに基づいて、4×4ブロックご
とに25個のフィルタのうち1つを選択する。
【0218】
2.16.1.1 フィルタ形状
【0219】
VTM5において、2つの菱形フィルタ形状(図19に示す)が使用される。輝度成分
には7×7菱形を適用し、クロマ成分には5×5菱形を適用する。
【0220】
2.16.1.2 ブロック区分
【0221】
輝度成分の場合、各4×4ブロックを25個のクラスのうちの1つに分類する。分類イ
ンデックスCは、その方向性DおよびアクティビティA^の量子化値に基づいて、以下の
ように導出される。
【0222】
【数6】
【0223】
DおよびA^を計算するために、まず、1-Dラプラシアンを使用して、水平、垂直お
よび2つの対角線方向の勾配を計算する。
【0224】
【数7】
【0225】
この場合、iおよびjは、4×4イントラブロックの左上のサンプルの座標を表し、R
(i,j)は、座標(i,j)において再構成されたサンプルを示す。
【0226】
ブロック区分の複雑性を低減するために、サブサンプリングされた1-Dラプラシアン
計算が適用される。図20に示すように、すべての方向の勾配計算に同じサブサンプリン
グ位置を用いる。
【0227】
そして、水平方向および垂直方向の勾配のD最大値およびD最小値を以下のように設定
する。
【0228】
【数8】
【0229】
2つの対角線方向の勾配の最大値および最小値は、以下のように設定される。
【0230】
【数9】
【0231】
指向性Dの値を導出するために、これらの値を互いに且つ2つの閾値tおよびt
比較する。
【0232】
【数10】
【0233】
アクティビティ値Aは、以下のように計算される。
【0234】
【数11】
【0235】
Aをさらに0~4の範囲に量子化し、量子化された値をA^とする。
【0236】
ピクチャにおけるクロマ成分に対して、分類方法は適用されず、即ち、単一のALF係
数のセットが各クロマ成分に対して適用される。
【0237】
2.16.1.3 フィルタ係数およびクリッピング値の幾何学的変換
【0238】
各4×4輝度ブロックをフィルタリングする前に、そのブロックに対して計算された勾
配値に基づいて、フィルタ係数f(k,l)および対応するフィルタクリッピング値c(
k,l)に対して、回転または対角線および垂直方向の反転等の幾何学的変換を施す。こ
れは、これらの変換をフィルタ支持領域内のサンプルに適用することに等しい。その考え
は、ALFが適用される異なるブロックを、それらの方向性を揃えることによって、より
類似させることである。
【0239】
対角線、垂直方向の反転および回転を含む3つの幾何学的変換を紹介する。
【0240】
【数12】
【0241】
この場合、Kはフィルタのサイズであり、0≦k,l≦K-1が係数座標であり、位置
(0,0)は左上隅にあり、位置(K-1,K-1)は右下隅にある。この変換は、その
ブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)およびクリッ
ピング値c(k,l)に適用される。変換と4方向の4つの勾配との関係を以下の表にま
とめる。
【0242】
【表12】
【0243】
2.16.1.4 フィルタパラメータ信号通知
【0244】
VTM5において、ALFフィルタパラメータは、適応パラメータセット(APS)に
おいて信号通知される。1つのAPSにおいて、最大25組の輝度フィルタ係数およびク
リッピング値インデックス、並びに最大1組のクロマフィルタ係数およびクリッピング値
インデックスを信号通知することができる。ビットオーバーヘッドを低減するために、異
なる分類のフィルタ係数をマージすることができる。スライスヘッダにおいて、現在のス
ライスに使用されるAPSのインデックスが信号通知される。
【0245】
APSから復号化されたクリッピング値インデックスは、クリッピング値の輝度テーブ
ル(Luma table)およびクリッピング値のクロマテーブル(Chroma t
able)を使用してクリッピング値を判定することができるようになる。これらのクリ
ッピング値は、内部ビット深度に依存する。具体的には、クリッピング値の輝度テーブル
およびクロマテーブルは、以下の式によって得られる。
【0246】
【数13】
【0247】
ここで、Bは内部ビット深度に等しく、NはVTM5.0における許容されるクリッピ
ング値の数である4に等しい。
【0248】
フィルタリング処理はCTBレベルで制御されてもよい。ALFが輝度CTBに適用さ
れるかどうかを示すために、常に1つのフラグが信号通知される。1つの輝度CTBは、
16個の固定フィルタセットのうち1つのフィルタセットを選択し、複数のAPSから1
つのフィルタセットを選択することができる。どのフィルタセットが適用されるかを示す
ように、輝度CTBのためにフィルタセットインデックスが信号通知される。エンコーダ
およびデコーダの両方において、16個の固定フィルタセットを予め規定し、ハードコー
ドする。
【0249】
フィルタ係数は、128に等しいノルムで量子化される。乗算の複雑性を抑えるために
、非中心位置の係数値が-2~2-1の範囲内に含まれるように、ビットストリーム
適合性が適用される。中心位置係数はビットストリームにおいて信号通知されず、128
に等しいと見なされる。
【0250】
2.16.1.5 フィルタリング処理
【0251】
デコーダ側において、CTBのためにALFが有効化されると、CU内の各サンプルR
(i,j)がフィルタリングされ、その結果、以下に示すように、サンプル値R’(i,
j)が得られる。
【0252】
【数14】
【0253】
この場合、f(k,l)は復号化されたフィルタ係数を表し、K(x,y)はクリッピ
ング関数であり、c(k,l)は復号化されたクリッピングパラメータを表す。変数kお
よびlは、-L/2とL/2との間で変化し、ここで、Lはフィルタ長を表す。関数Clip3(-y,y,x)に対応するクリッピング関数K(x,y)=min(y,max(-y,x))である。
【0254】
2.16.1.6 行バッファ削減のための仮想境界フィルタリング処理
【0255】
VTM5において、ALFの行バッファ要件を低減するために、水平CTU境界付近の
サンプルに対して修正されたブロック区分およびフィルタリングが用いられる。そのため
に、図22に示すように、水平方向CTU境界を「N」個のサンプルで移動させることに
よって、仮想境界を行として定義し、Nは、輝度成分に対しては4に等しく、クロマ成分
に対しては2に等しい。
【0256】
図21に示すように、輝度成分に対して修正されたブロック区分を適用する。仮想境界
より上の4×4ブロックの1Dラプラシアン勾配計算のために、仮想境界より上のサンプ
ルのみを使用する。同様に、仮想境界より下の4×4ブロックの1Dラプラシアン勾配計
算のために、仮想境界より下のサンプルのみを使用する。従って、1Dラプラシアン勾配
計算に使用されるサンプルの低減された数を考慮に入れることで、アクティビティ値Aの
量子化を拡大縮小する。
【0257】
フィルタリング処理のために、仮想境界における対称パディング演算が、輝度成分およ
びクロマ成分の両方に使用される。図22に示すように、フィルタリングされる試料が仮
想境界の下に位置する場合、仮想境界の上に位置する近傍のサンプルにパディングを行う
。一方、他方の側の対応するサンプルもまた、対称的にパディングされる。
【0258】
2.16.2 ロングタップ非ブロック化フィルタ
【0259】
VTM5では、非ブロック化フィルタリングプロセスはHEVCのプロセスとほとんど
同じである。ただし、以下の修正が追加されている。
a)再構成されたサンプルの平均輝度レベルに依存する非ブロック化フィルタのフィルタ
強度。
b)tCテーブル拡張の非ブロック化
c)輝度用のより強力な非ブロック化フィルタ
d)クロマ用のより強力な非ブロック化フィルタ
【0260】
2.16.2.1再構成された平均輝度レベルに依存するフィルタ強度
【0261】
HEVCでは、非ブロック化フィルタのフィルタ強度は、平均化された量子化パラメー
タqPから導出される変数βおよびtによって制御される。VTM5では、非ブロッ
ク化フィルタは、再構成されたサンプルの輝度レベルに応じてqPにオフセットを追加
することにより、非ブロック化フィルタの強度を制御する。再構築された輝度レベルLL
は、次のように導出される。
LL=((p0,0+p0,3+q0,0+q0,3)>>2)/(1<<bitDep
th) (3-15)
【0262】
ここで、サンプル値pi、kおよびqi、k(i=0..3およびk=0および3)は
図23に示すように導出される。
【0263】
変数qPは、以下のように導出される。
qP=((Qp+Qp+1)>>1)+qpOffset (3-16)
【0264】
ここで、QpとQpは、それぞれサンプルq0,0とp0,0を含む符号化ユニッ
トの量子化パラメータを示す。オフセットqpOffsetは伝達関数に依存し、値はS
PSにおいて信号通知される。
【0265】
2.16.2.2 tCテーブル拡張の非ブロック化
【0266】
VTM5では、最大QPが51から63に変更され、ブロックQPに基づいて非ブロッ
ク化パラメータtCの値を導出する非ブロック化テーブルに対応する変更を反映すること
が望まれる。以下は、QP範囲の拡張に対応するために更新されたtC表である。
【0267】
tC=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,
5,5,6,6,7,8,9,10,11,13,14,16,18,20,22,25
,28,31,35,39,44,50,56,63,70,79,88,99]
【0268】
2.16.2.3輝度用のより強力な非ブロック化フィルタ
【0269】
境界のいずれかの側のサンプルが大ブロックに属する場合、バイリニアフィルタ(より
強力な非ブロック化フィルタ)が使用される。大ブロックに属するサンプルは、垂直エッ
ジに対して幅が32以上の場合、水平エッジに対して高さが32以上の場合として定義さ
れる。次に、i=0からSp-1に対するブロック境界サンプルp、およびj=0からSq-1に対するブロック境界サンプルqは、線形補間によって次のように置き換えられる。
【0270】
【数15】
【0271】
ここで、tcPDおよびtcPDtermは位置依存クリッピングであり、g、f、Middles、t、P、およびQは以下のとおりである。
【0272】
【表13】
【0273】
上記のより強力な輝度フィルタは、条件1、条件2、および条件3のすべてがTRUE
の場合にのみ使用される。条件1は、「大ブロック条件」である。この条件は、P側とQ
側のサンプルが大ブロックに属しているかどうかを検出する。条件2と条件3は、次の要
素によって決定される。
条件2=(d<β)? TRUE:FALSE
条件3=StrongFilterCondition=(dpqは(β>>2)、sp+sqは(3*β>>5)以下であり、かつAbs(p-q)は(5*tC+1)>>1)以下である。? TRUE:FALSE
【0274】
2.16.2.4 クロマ用の強い非ブロック化フィルタ
【0275】
以下のようなクロマ用の強い非ブロック化フィルタが定義される。
’=(3*p+2*p+p+p+q+4)>>3 (3-19)
’=(2*p+p+2*p+p+q+q+4)>>3 (3-20)
’=(p+p+p+2*p+q+q+q+4)>>3 (3-21)
【0276】
上記クロマフィルタは、8×8クロマサンプルグリッドに対して非ブロック化を行う。
クロマの強いフィルタは、ブロックの境界の両側に用いられる。ここで、クロマフィルタ
は、クロマエッジの両側が8(クロマサンプル単位)以上である場合に選択され、3つの
条件付きの次の決定が満たされる。第1のものは、境界強度と大ブロックの決定のためで
ある。第2および第3のものは、基本的にはHEVC輝度のための決定と同じであり、そ
れぞれオン/オフ決定および強いフィルタの決定となっている。第1の決定において、表
1に示すように、クロマフィルタリングのために境界強度(bS)が修正される。表3-
12の条件を順次チェックする。条件が満たされている場合、残りの優先順位の低い条件
はスキップされる。
【0277】
【表14】
【0278】
大ブロックの境界が検出された場合、bSが2であるか、またはbSが1であるとき、
クロマ非ブロック化が行われる。第2および第3の条件は、基本的には、HEVC輝度の
強いフィルタの決定と同様である。
【0279】
2.16.2.5サブブロック境界用の非ブロック化フィルタ
【0280】
VTM5では、非ブロック化フィルタはHEVCとして8×8グリッドで有効になって
いる。非ブロック化フィルタリングプロセスは、CU境界と、8×8グリッドに配置され
るサブブロック境界に適用される。サブブロック境界には、STMVPモードとアフィン
モードによって導入された予測ユニット境界と、SBTモードとISPモードによって導
入された変換ユニット境界が含まれる。8×8グリッド上のSBTおよびISPサブブロックの場合、HEVC非ブロック化フィルタのTUの同じロジックが適用される。エッジにわたりいずれかのサブブロックに非ゼロ係数がある場合、非ブロック化フィルタは8×8グリッドのTU境界に適用される。
【0281】
8×8グリッド上のSbTMVPおよびアフィンサブブロックの場合、HEVC非ブロ
ック化フィルタのPUの同じロジックが適用される。PU境界の場合、非ブロック化フィ
ルタは、動きベクトルと近傍のサブブロックの参照ピクチャとの違いを考慮して、8×8
グリッドに適用される。
【0282】
2.16.3 クロマスケーリングを伴う輝度マッピング(LMCS)
【0283】
VTM5において、ループフィルタの前に新しい処理ブロックとしてクロマスケーリン
グによる輝度マッピング(LMCS)と呼ばれる符号化ツールが、追加される。LMCS
は、2つの主な成分を有する。1)適応型区分線形モデルに基づく輝度成分のインループ
マッピング、および、2)クロマ成分のために、輝度依存クロマ残差スケーリングを適用
する。図24は、デコーダの観点から見たLMCSアーキテクチャを示す。図24中の薄
い青色の影が付けられたブロックは、マッピングされたドメインにおいて処理が適用され
る場所を示し、これらは、逆量子化、逆変換、輝度イントラ予測、および輝度予測と輝度
残差との加算を含む。図24中の影が付けられていないブロックは、元の(即ち、マッピ
ングされていない)ドメインにおいて処理が適用される場所を示し、これらは、非ブロッ
ク化、ALF、SAO等のループフィルタ、動き補償予測、クロマイントラ予測、クロマ
残差とともにクロマ予測を加算し、復号化されたピクチャを参照ピクチャとして記憶する
ことを含む。図24における淡黄色の陰影付きブロックは、輝度信号の前方および後方マ
ッピング並びに輝度依存性クロマスケーリング処理を含む、新しいLMCS機能ブロック
である。VVCにおける他のほとんどのツールと同様に、LMCSは、SPSフラグを使
用して、シーケンスレベルで有効/無効にすることができる。
【0284】
2.16.3.1区分的線形モデルを使用した輝度マッピング
【0285】
輝度コンポーネントのインループマッピングは、ダイナミックレンジ全体にコード名を
再配布して圧縮効率を向上させることにより、入力信号のダイナミックレンジを調整する
。輝度マッピングは、順方向マッピング関数FwdMapと、対応する逆方向マッピング
関数InvMapを利用する。FwdMap関数は、16個の等しい区分を持つ区分的線
形モデルを使用して信号通知される。InvMap関数は信号通知する必要はなく、代わ
りにFwdMap関数から派生する。
【0286】
輝度マッピングモデルは、タイルグループレベルで信号通知される。プレゼンスフラグ
が最初に信号通知される。現在のタイルグループに輝度マッピングモデルが存在する場合
、対応する区分的線形モデルパラメータが信号通知される。区分的線形モデルは、入力信
号のダイナミックレンジを16の等しい部分に分割し、各部分について、その線形マッピ
ングパラメータが、その部分に割り当てられたコード名の数を使用して表される。例とし
て10ビット入力を取り上げる。16個のピースのそれぞれには、デフォルトで64個の
コード名が割り当てられる。信号通知されたコード名の数は、スケーリング係数を計算し
、それに応じてその部分に応じてマッピング関数を調整するために使用される。タイルグ
ループレベルでは、別のLMCS有効化フラグが信号通知され、図24に示されているL
MCSプロセスが現在のタイルグループに適用されているかどうかが示される。
【0287】
FwdMap区分的線形モデルの各i番目のピースi=0…15は、2つの入力ピボッ
トポイントInputPivot[]と2つの出力(マップされた)ピボットポイントM
appedPivot[]によって定義される。
【0288】
InputPivot[]とMappedPivot[]は、次のように計算される(
10ビットの映像を想定)。
1) OrgCW=64
2) For i=0:16,InputPivot[i]=i*OrgCW3)For
i=0:16,MappedPivot[i]は以下のように計算される:
MappedPivot[0]=0;
for(i=0;i<16;i++)
MappedPivot[i+1]=MappedPivot[i]+Signal
ledCW[i]
ここで、SignalledCW[i]は、i番目のピースに対して信号通知されたコー
ド名の数である。
【0289】
図24に示すように、インター符号化ブロックの場合、動き補償予測はマップされたド
メインで行われる。言い換えると、動き補償予測ブロックYpredがDPBの参照信号
に基づいて計算された後、FwdMap関数は、元のドメインの輝度予測ブロックがマッ
プされたドメインY’pred=FwdMap (Ypred)に適用される。イントラ
符号化ブロックの場合、イントラ予測はマップされたドメインで行われるため、FwdM
ap関数は適用されない。再構築されたブロックYが計算された後、InvMap関数
が適用され、マップされたドメインの再構築された輝度値が元のドメインの再構築された
輝度値に変換される(Y^=InvMap(Y))。InvMap関数は、イントラ
符号化輝度ブロックおよびインター符号化輝度ブロックの両方に適用される。
【0290】
輝度マッピングプロセス(順方向および/または逆方向のマッピング)は、ルックアッ
プテーブル(LUT)またはオンザフライ計算のいずれかを使用して実装できる。LUT
を使用する場合、FwdMapLUTおよびInvMapLUTは、タイルグループレベ
ルで使用するために事前に計算および保存でき、順方向および逆方向のマッピングは、そ
れぞれFwdMap(Ypred)=FwdMapLUT[Ypred]およびInvM
ap(Y)=InvMapLUT[Y]として簡単に実装できる。あるいは、オンザ
フライ計算を使用することもできる。例として、フォワードマッピング関数FwdMap
を取り上げる。輝度サンプルが属するピースを把握するために、サンプル値は6ビットだ
け右シフトされる(これは16個の等しいピースに対応する)。次に、そのピースの線形
モデルパラメータが取得され、オンザフライで適用されて、マップされた輝度値が計算さ
れる。iをピースインデックス、a1、a2をそれぞれInputPivot[i]およ
びInputPivot[i+1]、b1、b2をそれぞれMappedPivot[i
]およびMappedPivot[i+1]とする。FwdMap関数は次のように評価
される。
【0291】
【数16】
【0292】
InvMap関数は、同様の方法でオンザフライで計算できるが、サンプル値が属する
ピースを特定するときに、単純な右ビットシフトの代わりに条件付きチェックを適用する
必要がある点が異なる。ドメインは同じサイズではないからである。
【0293】
2.16.3.2 輝度依存クロマ残差スケーリング
【0294】
クロマ残差スケーリングは、輝度信号とそれに対応するクロマ信号間の相互作用を補正
するように設計されている。クロマ残差スケーリングが有効かどうかは、タイルグループ
レベルでも信号通知される。輝度マッピングが有効で、二重ツリーパーティション(個別
のクロマツリーとも呼ばれる)が現在のタイルグループに適用されていない場合、輝度依
存のクロマ残差スケーリングが有効かどうかを示す追加のフラグが信号通知される。輝度
マッピングが使用されていない場合、または現在のタイルグループで二重ツリーパーティ
ションが使用されている場合、輝度に依存するクロマ残差スケーリングは無効化される。
さらに、輝度に依存するクロマ残差スケーリングは、面積が4以下のクロマブロックでは
常に無効化される。
【0295】
クロマ残差スケーリングは、対応する輝度予測ブロックの平均値に依存する(イントラ
符号化輝度ブロックおよびインター符号化輝度ブロックの両方)。輝度予測ブロックの平
均としてavgY’を示す。CScaleInvの値は、次の手順で計算される。
1)InvMap関数に基づいて、avgY’が属する区分的線形モデルのインデックス
Idxを見つける。
2)CScaleInv=cScaleInv[YIdx]、式中、cScaleInv
[]は事前に計算された16ピースのLUTである。
【0296】
現在のブロックがイントラ、CIIP、またはイントラブロックコピー(IBC、別名
現在のピクチャ参照またはCPR)モードとして符号化されている場合、avgY’は、
イントラ、CIIP、またはIBCで予測された輝度値の平均として計算される。それ以
外の場合、avgY’は、前方にマッピングされた相互予測輝度値の平均として計算され
る(図24のY’pred)。サンプルベースで行われる輝度マッピングとは異なり、C
ScaleInvはクロマブロック全体の定数値である。CScaleInvでは、クロ
マ残差スケーリングは次のように適用される。
【0297】
【数17】
【0298】
2.16.3.3エンコーダ側のLMCSパラメータ推定
【0299】
LMCSモデルパラメータを推定するために、非規範的な参照実装形態がVTM5.0
エンコーダで提供されている。VTMアンカーはSDRとHDRの処理が異なるため、V
TM5.0の参照アルゴリズムはSDRシーケンスとHDRシーケンスに対して異なる方
法で設計されている。SDRの場合、エンコーダアルゴリズムは局所的な輝度変形に基づ
いており、PSNRメトリック用に最適化されている。HDR PQシーケンスの場合、
エンコーダアルゴリズムは輝度値に基づいており、wPSNR(重み付きPSNR)メト
リック用に最適化されている。
【0300】
2.16.3.3.1 SDR用のLMCSパラメータ推定
【0301】
SDR用のVTM5.0参照実装形態の基本的な考え方は、より多くのコード名を持つ
ピースを平均変形よりも低いそれらのダイナミックレンジセグメントに割り当て、より少
ないコード名を平均変形よりも高いそれらのダイナミックレンジセグメントに割り当てる
ことである。このようにして、ピクチャの滑らかな領域は平均よりも多くのコード名で符
号化され、その逆も同様である。
【0302】
SDRテストシーケンスの場合、参照アルゴリズムは次の信号分析を行う。
1)入力映像の統計は、10ビットの内部符号化ビット深度が使用されていると仮定して
収集および分析される。内部符号化のビット深度が10ビットでない場合、ビット深度は
最初に10ビットに正規化される。
2)[0,1023]のダイナミックレンジを32個の等しいピースに分ける。
3)ピクチャ内の各輝度サンプルの位置について、輝度サンプル値の局所的な空間変形は
、現在の位置を中心とする5×5の近傍を使用して計算される。現在の輝度サンプル値が
属する特定のピース(32個のうち)をpとして示す。したがって、この局所変形はp番
目のピースに関連付けられる。
4)32個のピースのそれぞれについて、平均局所空間変形(bin_var)を計算す
る。
5)ソートされたbin_var統計と累積分布関数に基づいて、2つのしきい値Thr
1、Thr2を設定する。
6)bin_var統計に応じて、4つの可能な数のコード名のうち1つを各ピースに割
り当てる。
a. bin_var=0の場合、ピースに0コード名を割り当てる
b. bin_var<Thr1の場合、統計に応じて36、38、または40のコー
ド名を割り当てる
c. bin_var>Thr2の場合、統計に応じて28または32のコード名を割
り当てる
d. それ以外の場合は、デフォルトの32コード名を割り当てる
7)割り当てられたコード名の総数が1023を超える場合は、コード名の総数が102
3になるように調整する。
8)内部ビット深度が10ビットでない場合は、実際の内部ビット深度に基づいて、ピー
スごとにコード名数を正規化する。
9)32ピースの割り当てで2つの隣接するピースに割り当てられたコード名の数を組み
合わせて、16個の等しいピースSignalledCW[i],i=0…15に対する
コード名の数を計算する。たとえば、0番目のピースと1番目のピースが結合され、2番
目のピースと3番目のピースが結合される。
10)SignalledCW[i]値は、タイルグループレベルで信号通知される。
【0303】
LMCSが適用される場合、SSEはイントラ(I)タイルグループの輝度に対して使
用され、重み付きSSEはインター(PまたはB)タイルグループの輝度に対して使用さ
れる。重みw_lmcs(k)は、区分的線形モデルのk番目のピースのコード名割り当
てに基づいて次のように導出される。
w_lmcs[k]=(SignalledCW[k]/OrgCW)^2 (3-
23)
【0304】
SSEは常にクロマモードの決定のために使用される。
【0305】
LMCSを有効にするかどうかのピクチャレベルの決定に関しては、さまざまな符号化
構成に対してさまざまな考慮事項が与えられる。ランダムアクセス(RA)テスト条件で
は、上記で説明したように、IRAPピクチャごとにピクチャ分析を実行してbin_v
ar値を取得する。次に、すべてのbin_var値が低い(つまり、しきい値を下回っ
ている)と見なされると、IRAPピクチャに対してLMCSが無効化される。同じIR
AP期間内の他のインター符号化ピクチャの場合、すべてのbin_var値が狭い範囲
内にあるかどうか(つまり、最大bin_var値と最小bin_var値との差が比較
的小さいかどうか)が判断される。bin_varの範囲が狭い場合、LMCSは、時間
レイヤーIDが0のピクチャに対してのみ有効化される。それ以外の場合、bin_va
rの範囲が狭くない場合は、インター符号化ピクチャのすべてに対してLMCSが有効化
される。
【0306】
すべてのイントラ(AI)および低遅延(LD)のテスト条件では、LMCSがすべて
のピクチャに対して有効化される。AIの場合、LCMSパラメータ推定はすべてのピク
チャに対して実行され、モデルパラメータはすべてのピクチャに対して送信される。LD
の場合、LCMSパラメータは1秒間隔で推定され、モデルパラメータはそれらのピクチ
ャのタイルグループで送信される。
【0307】
2.16.3.3.2 HDR用のLMCSパラメータ推定
【0308】
JVET HDR CTCには、次の2種類のHDRシーケンスが含まれている。PQ
およびHLG。これらの2種類のシーケンスは、VTMリファレンスエンコーダでは異な
る方法で処理される。PQシーケンスの場合、VTMリファレンスエンコーダは輝度ベー
スのQP適応を適用し、QP値を空間的に変化させることができる。HLGシーケンスの
場合、静的量子化が使用される。同様に、LMCSは、これら2つのタイプのシーケンス
にも異なる方法で適用される。PQの場合、LMCSは、以下で説明するように計算され
たデフォルトのLMCSマッピング機能を使用して適用される。HLGの場合、LMCS
は無効化されている。
【0309】
VTMリファレンスエンコーダは、HDR CTCの客観的な品質メトリックとして、
従来のPSNRの代わりにwPSNR(重み付きPSNR)を使用する。デフォルトのH
DRL MCS曲線は、wPSNRメトリックを最大化するためにdQP関数と一致する
ように計算される。
【0310】
輝度ベースのQP適応は、輝度サンプル値の平均に基づいて、CTUごとのローカルデ
ルタQP(dQP)値を導出する。
dQP(Y)=max(-3,min(6,0.015*Y-1.5-6))
(3-24)
【0311】
式中、Yは平均輝度値であり、10ビット映像に対して、maxY=1023である。
wPSNR計算で使用される重み(W_SSE)は、dQP値に基づいて導出される。
W_SSE(Y)=2^(dQP(Y)/3) (3-25)
【0312】
デフォルトのLMCS曲線は、次のように輝度サンプル値に基づいて計算される。
1)再形成曲線の傾きを計算する:slope[Y]=sqrt(W_SSE(Y))=
2^(dQP(Y)/6)。
2)信号が狭い範囲(標準範囲とも呼ばれる)にある場合は、Y∈[0,64)またはY
∈(940,1023)に対してslope[Y]=0を設定する。
3)勾配[Y]、F[Y+1]=F[Y]+slope[Y]、Y=0・・・maxY-
1を積分してF[Y]を計算する。
4)FwdLUT[Y]は、F[Y]を[0maxY]、FwdLUT[Y]=clip
3(0、maxY、round(F[Y]*maxY/F[maxY]))に正規化する
ことによって計算される。
5)次のように、16個の等しいピースSignalledCW[i]、i=0・・・1
5に対するコード名数を計算する。
SignalledCW[15]=FwdLUT[1023]-FwdLUT[960]

for(i=14;i>=0;i--)
SignalledCW[i]=FwdLUT[(i+1)*OrgCW]-FwdL
UT[i*OrgCW];
【0313】
エンコーダでのレート歪み最適化モードの決定に関して、LMCSが適用される場合、
イントラ(I)タイルグループでは、SSEが輝度に対して使用され、重み付きSSEが
クロマに対して歪み測定として使用される。インター(PまたはB)タイルグループの場
合、重み付きSSEが輝度とクロマの両方に使用される。LCMSはすべてのタイルグル
ープに適用される。
【0314】
3 従来技術の技術的制約の例
【0315】
パレットモードまたはその変形例(PCIPやCPMなど)で符号化されたブロックで
は、いくつかの問題が発生する。
1.パレットモードは、非ブロック化処理で特別に処理する必要がある場合がある。
2.CPMおよび/またはPCIPは、符号化効率を高めるためのイントラ予測モードと
して扱ってもよい。
3.CPMで符号化されたブロックのMV/BVは、符号化効率を高めるために、連続す
るブロックのMV/BV予測として使用してもよい。
4.PCIPで符号化されたブロックのイントラ予測方向は、符号化効率のための連続す
るブロックのイントラモード予測として使用してもよい。
5.VTMと同様に、クロマCPMはサブブロックレベルで動きベクトルの導出を行う必
要があるため、複雑さは増加する。
6.クロマPCIPの信号通知は、クロマIBCモードの可用性を考慮していない。
7.非変換モード(すなわち、1つのブロックが変換で符号化されていない、または恒等
変換で符号化されている)、例えば、変換スキップ、bdpcmモードが使用される場合
、いくつかのQPは非効率的でもよい。
8.モードを導出するために使用される対応する輝度ブロックがIBCで符号化される場
合、クロマのためにDMモードをどのように扱うかは、不明瞭である。
【0316】
4 例示的な実施形態
【0317】
以下に列記される実施形態は、一般的な概念を説明するための例であると考えられるべ
きである。これらの実施形態は狭い意味で解釈されるべきではない。さらに、列挙された
技術は、任意の形で組み合わせることができ、例えば、符号化効率を改善し、復号化また
は符号化の複雑さを低減する。
【0318】
以下に説明する方法は、現在のパレットモード、PCIP、CPM、または残差符号化
のためにパレットに依存する可能性のある他の符号化方法に適用され得る。
【0319】
1.パレットモードは、非ブロック化処理で既存の符号化モード(たとえば、イントラ、
インター、IBC)に加えて、別個のモード(たとえば、MODE_PLT)として扱わ
れ得る。
a.一例として、P側およびQ側のブロックが両方ともパレットモードで符号化されて
いる場合、境界強度を0に設定してもよい。
b.一例として、一方の側のブロックAがパレットモードで符号化され、他方の側のブ
ロックBがパレットモードで符号化されていない場合、境界強度は、ブロックBの情報に
のみ依存してもよい。
i.一例として、ブロックBはイントラモードで符号化されている。このような場合
、境界強度を2に設定してもよい。
ii.一例において、ブロックBはIBCモードで符号化されている。このような場
合、ブロックBが少なくとも1つの非ゼロ係数を有する場合、境界強度は1に設定しても
よい。
iii.一例において、ブロックBはIBCモードで符号化されている。このような
場合、ブロックBのすべての係数が0であれば、境界強度を0に設定してもよい。
c.一例として、上記の方法は、PCIP、CPMまたは他のパレット関連の方法にも
適用されてもよい。
【0320】
2.CPMは、非ブロック化処理において(たとえば、境界強度の導出など)、IBCモ
ードと同様に扱ってもよい。
a.あるいは、CPMは、非ブロック化処理において(たとえば、境界強度の導出など
)、パレットモードと同様に扱ってもよい。
b.あるいは、CPMは、非ブロック化処理において(たとえば、境界強度の導出など
)、イントラモードと同様に扱ってもよい。
c.あるいは、非ブロック化フィルタを適用する方法は、CPMの使用法に依存しても
よい。
【0321】
3.PCIPは、非ブロック化処理において(たとえば、境界強度の導出など)、イント
ラモードと同様に扱ってもよい。
a.あるいは、PCIPは、非ブロック化処理において(たとえば、境界強度の導出な
ど)、パレットモードと同様に扱ってもよい。
b.あるいは、非ブロック化フィルタを適用する方法は、PCIPの使用法に依存して
もよい。
【0322】
4.パレット符号化ブロック/CPM/PCIPの符号化ブロックフラグは、固定値に設
定しても、ブロック内のエスケープ画素の存在に依存してもよい。
a.一例として、符号化されたブロックフラグを0に設定してもよい。
b.一例として、符号化されたブロックフラグを1に設定してもよい。
c.一例として、現在のブロックにエスケープ画素がない場合、符号化されたブロック
フラグを0に設定してもよい。
d.一例として、現在のブロックに少なくとも1つのエスケープ画素がある場合、符号
化されたブロックフラグを1に設定してもよい。
【0323】
5.パレットモード、および/またはCPMおよび/またはPCIPで符号化されたサン
プルはブロック解除されない場合がある。
a.一例として、P側またはQ側のブロックがCPMおよび/またはPCIPで符号化
されている場合、P側および/またはQ側のサンプルはブロック解除されない可能性があ
る。
b.一例として、P側のブロックがCPMおよび/またはPCIPで符号化され、Q側
のブロックがこれらのモードで符号化されていない場合、P側のサンプルはブロック解除
されない可能性があり、逆もまた同様である。
c.一例として、CPMモードの場合、非ブロック化フィルタは、IBC予測からコピ
ーされたサンプルに対してのみ行われ得る。パレットエントリの他のサンプルはブロック
解除されない場合がある。
d.一例として、PCIPモードの場合、非ブロック化フィルタは、イントラ予測から
コピーされたサンプルに対してのみ行われ得る。パレットエントリの他のサンプルはブロ
ック解除されない場合がある。
【0324】
6.変換ユニット/予測ユニット/符号化ブロック/領域に対するCPMの使用の指示は
、イントラモード、インターモード、IBCモードおよびパレットモードを含み得る既存
の予測モードとは別に符号化され得る。
a.一例として、予測モードに関する構文要素(例えば、cu_skip_flag、
pred_mode_flag、pred_mode_ibc_flag、およびcu_
palette_flag)は、CPMの使用の指示の前に符号化することができる。
i.代替的に、さらに、CPMの使用の指示は、予測モードに基づいて条件付きで信
号通知されてもよい。
1.一例では、CPMモードがブロック内コピーモード(すなわち、MODE_I
BC)である場合、CPMモードの使用の指示の信号通知はスキップされ得る。さらに、
現在の予測モードがMODE_IBCである場合、CPMの使用の指示がFALSEであ
ると推測されてもよい。
【0325】
7.色成分の信号CPMおよび/またはPCIP関連の構文を通知するかどうかは、パー
ティション構造および/またはカラーフォーマットおよび/または別個のプレーン符号化
に依存してもよい。
a.一例として、クロマ成分の場合、単一のツリーが適用されると、CPMおよび/ま
たはPCIP関連の構文の信号通知がスキップされてもよい。
b.あるいは、クロマ成分の場合、デュアルツリーが適用されている場合、CPMおよ
び/またはPCIP関連の構文が通知されてもよい。
c.あるいは、カラーフォーマットが4:0:0の場合、クロマブロックのCPMおよ
び/またはPCIP関連の構文の信号通知をスキップできる。
i.あるいは、さらに、それらは依然として信号通知されてもよいが、復号化プロセ
スでは使用されない。
【0326】
8.クロマブロックのCPMモードの使用の指示の信号通知は、対応する輝度ブロック内
の1つ以上の選択されたブロックの符号化された情報(例えば、予測モード)に基づくこ
とができる。
a.一例として、選択された輝度ブロックの少なくとも1つがIBCモードで符号化さ
れている場合、クロマブロックのCPMの指示が信号通知されてもよい。
i.あるいは、選択されたすべての輝度ブロックがIBCモードで符号化されている
場合、クロマブロックのCPMの指示が信号通知されてもよい。
ii.あるいは、選択されたブロックがイントラブロックコピーモードで符号化され
ていない(すなわち、MODE_IBCである)場合、クロマCPMの使用の指示は、信
号通知されなくてもよく、さらに、選択されたブロックの予測モードがMODE_IBC
でない場合、CPMの使用の指示は、デフォルト値(例えば、false)であると推測
されてもよい。
iii.あるいは、選択されたすべてのブロックがイントラブロックコピーモード(
すなわち、MODE_IBC)で符号化されていない場合、クロマCPMの使用の指示が
信号通知されない場合がある。さらに、選択されたすべてのブロックがIBCモードで符
号化されていない場合、CPMの使用の指示がデフォルト値(たとえば、false)で
あると推測されてもよい。
b.一例において、選択された輝度ブロックのサイズは、最小のCU/PU/TUサイ
ズまたはモーション/モードストレージ用のユニット(4×4など)であり得る。
c.一例として、選択された輝度ブロックは、対応する輝度領域の中央、左上、右上、
左下、または右下の位置を含むCU/PU/TUであってもよい。対応する輝度領域の例
図4-1に示す。
i.一例において、現在のクロマブロックの左上の座標が(x0、y0)であり、現
在のクロマブロックの幅と高さがそれぞれw0とh0であると仮定する。対応する輝度領
域の左上のサンプルの座標、対応する輝度領域の幅と高さは、カラーフォーマットに従っ
てスケーリングしてもよい。
a)4:2:0カラーフォーマットの場合、同一位置に配置された輝度領域の左上
の座標は(2*x0、2*y0)であり、その幅と高さはそれぞれ2*w0と2*h0で
ある。
b)4:4:4カラーフォーマットの場合、同一位置に配置された輝度領域の左上
の座標は(x0、y0)であり、その幅と高さはそれぞれw0とh0である。
ii.同一位置に配置された輝度領域の左上の座標が(x、y)であり、その幅と高
さがWとHであるとすると、中心位置の座標は次のようになり得る。
a) (x+W/2,y+H/2)
b) (x+W/2-1,y+H/2-1)
c) (x+W/2,y+H/2-1)
d) (x+W/2-1,y+H/2)
iii.同一位置に配置された輝度領域の左上の座標が(x、y)であり、その幅と
高さがWとHであるとすると、左上の位置の座標は(x、y)になり得る。
iv.同一位置に配置された輝度領域の左上の座標が(x、y)であり、その幅と高
さがWとHであるとすると、右上の位置の座標は次のようになり得る。
a) (x+W,y)
b) (x+W-1,y)
v.同一位置に配置された輝度領域の左上の座標が(x、y)であり、その幅と高さ
がWとHであるとすると、左下の位置の座標は次のようになる。
a) (x,y+H)
b) (x,y+H-1)
vi.同一位置に配置された輝度領域の左上の座標が(x、y)であり、その幅と高
さがWとHであるとすると、右下の位置の座標は次のようになり得る。
a) (x+W,y+H)
b) (x+W,y+H-1)
c) (x+W-1,y+H)
d) (x+W-1,y+H-1)
【0327】
図13は、対応する輝度領域の例を示している。
【0328】
9.クロマPCIPモードの使用の信号通知は、1つ以上の選択された輝度ブロックの符
号化された情報に依存してもよい。
a.一例として、対応する輝度ブロック内の選択されたブロックがイントラブロックコ
ピーモード(すなわち、MODE_IBC)で符号化されている場合、クロマPCIPの
使用の指示が信号通知されない場合がある。さらに、対応する輝度ブロックの選択された
ブロックの予測モードがMODE_IBCである場合、PCIPの使用の指示はfals
eであると推測され得る。
i.あるいは、選択されたすべての輝度ブロックがIBCモードで符号化されている
場合、クロマブロックのPCIPの指示が信号通知されない場合がある。
ii.あるいは、対応する輝度領域内のすべてのサンプルがIBCモードで符号化さ
れている場合、クロマブロックのPCIPの指示が信号通知されない場合がある。
b.一例において、選択された輝度ブロックのサイズは、最小のCU/PU/TUサイ
ズまたはモーション/モードストレージ用のユニット(4×4など)であり得る。
c.一例として、選択された輝度ブロックは、図4-1に示されるように、対応する輝
度領域の中央、左上、右上、左下、または右下の位置を含むCU/PU/TUであっても
よい。
i.一例において、現在のクロマブロックの左上の座標が(x0、y0)であり、現
在のクロマブロックの幅と高さがそれぞれw0とh0であると仮定する。対応する輝度領
域の左上のサンプルの座標、対応する輝度領域の幅と高さは、カラーフォーマットに従っ
てスケーリングしてもよい。
a)4:2:0カラーフォーマットの場合、同一位置に配置された輝度領域の左上
の座標は(2*x0、2*y0)であり、その幅と高さはそれぞれ2*w0と2*h0で
ある。
b)4:4:4カラーフォーマットの場合、同一位置に配置された輝度領域の左上
の座標は(x0、y0)であり、その幅と高さはそれぞれw0とh0である。
ii.同一位置に配置された輝度領域の左上の座標が(x、y)であり、その幅と高
さがWとHであるとすると、中心位置の座標は次のようになり得る。
a) (x+W/2,y+H/2)
b) (x+W/2-1,y+H/2-1)
c) (x+W/2,y+H/2-1)
d) (x+W/2-1,y+H/2)
iii.同一位置に配置された輝度領域の左上の座標が(x、y)であり、その幅と
高さがWとHであるとすると、左上の位置の座標は(x、y)になり得る。
iv.同一位置に配置された輝度領域の左上の座標が(x、y)であり、その幅と高
さがWとHであるとすると、右上の位置の座標は次のようになり得る。
a) (x+W,y)
b) (x+W-1,y)
v.同一位置に配置された輝度領域の左上の座標が(x、y)であり、その幅と高さ
がWとHであるとすると、左下の位置の座標は次のようになる。
a) (x,y+H)
b) (x,y+H-1)
vi.同一位置に配置された輝度領域の左上の座標が(x、y)であり、その幅と高
さがWとHであるとすると、右下の位置の座標は次のようになり得る。
a) (x+W,y+H)
b) (x+W,y+H-1)
c) (x+W-1,y+H)
d) (x+W-1,y+H-1)
【0329】
10.CPMモードを、既存の予測モードに加えて、別個の予測モード(たとえば、MO
DE_PLT_IBCで示される)として扱うことを提案する。
a.一例において、予測モードは、イントラスライス/Iピクチャ/イントラタイルグ
ループのためのイントラ、イントラブロックコピー、パレットモード、およびCPMモー
ドを含んでもよい。
b.代替的に、予測モードは、イントラスライス/Iピクチャ/イントラタイルグルー
プのためのイントラ、パレットモード、およびCPMモードを含んでもよい。
c.一例において、予測モードは、スライス間/および/またはBピクチャ/タイルグ
ループのためのイントラ、インター、イントラブロックコピー、パレットモード、および
CPMモードを含んでもよい。
d.代替的に、予測モードは、イントラ、インター、イントラブロックコピー、パレッ
トモード、およびCPMモードのうちの少なくとも2つを含んでもよい。
e.一例において、予測モードがインターモード(すなわち、MODE_INTER)
である場合、CPMモードの使用の指示の信号通知はスキップされてもよい。さらに、現
在の予測モードがMODE_INTERである場合、CPMモードの使用の指示がFAL
SEであると推測されてもよい。
【0330】
11.CPMは、既存の予測モードの特殊なケースとして扱われてもよい。この場合、C
PMモードに関する構文は、既存の予測モードの特定の使用条件下でさらに信号通知され
てもよい。
a.一例として、予測モードがイントラモード(すなわち、MODE_INTRA)で
ある場合、CPM関連の構文の信号通知はスキップされ得る。さらに、現在の予測モード
がMODE_INTRAである場合、CPMモードの使用の指示がFALSEであると推
測されてもよい。
b.一例として、予測モードがスキップモードである場合(すなわち、スキップフラグ
が1である場合)、CPM関連構文の信号通知をスキップすることができる。さらに、現
在のCUでスキップモードが採用されている場合、CPMの使用状況の指示は誤っている
と推測されてもよい。
c.一例として、予測モードがパレットモード(例えば、MODE_PLT)である場
合、CPMおよびCPM関連の構文の使用の指示が信号通知されてもよい。
d.あるいは、予測モードがイントラモード、インターモード、またはイントラブロッ
クコピーモードである場合、CPM関連の構文をスキップすることができる。
e.あるいは、予測モードがパルス符号変調(PCM)モードではなくイントラモード
である場合、CPM関連の構文が信号通知されてもよい。
f.一例として、予測モードがパレットモード(例えば、MODE_PLT)である場
合、CPMおよびCPM関連構文の使用の指示は、PCMモードの使用の指示の前または
後に信号通知されてもよい。一例として、CPMモードが適用される場合、CPM関連の
構文の信号通知が行われてもよい。
g. 予測モードがイントラモード、インターモード、またはイントラブロックコピー
モードの場合、CPM関連の構文の信号通知がスキップされてもよい。
h.あるいは、予測モードがパルス符号変調(PCM)モードではなくイントラモード
である場合、CPM関連の構文が信号通知されてもよい。
i.一例として、予測モードがイントラブロックコピーモードである場合、CPM関連
の構文が信号通知されてもよい。
j.あるいは、予測モードがパレットモード、インターモード、またはイントラモード
である場合、CPM関連の構文の信号通知をスキップされてもよい。
k.上記の方法は、PCIPまたは他のパレット関連の方法にも適用できる。
【0331】
12.CPMで符号化されたブロックのMVは、後続のブロックのMV予測としても使用
されてもよい。
a.一例として、CPMで符号化されたブロックのMVは、他のブロックのマージ候補
として使用されてもよい。
b.一例として、CPMで符号化されたブロックのMVは、他のブロックのHMVP候
補として使用されてもよい。
i.あるいは、さらに、CPMで符号化されたブロックを符号化した後に、HMVP
テーブルを更新してもよい。
c.一例として、CPMで符号化されたブロックのMVは、他のブロックのAMVP候
補として使用されてもよい。
d.あるいは、1つのCPM符号化ブロックを符号化した後、HMVPテーブル更新プ
ロセスは許可されない。
e.あるいは、CPMで符号化されたブロックのBVを、後続のブロックの動きベクト
ル予測子として使用することを許可しない場合がある。
【0332】
13.PCIPで符号化されたブロックのイントラ予測方向は、後続のブロックのイント
ラモード予測子としても使用されてもよい。
a.一例として、PCIPで符号化されたブロックのイントラ予測方向は、後続のブロ
ックのMPMモードとして使用してもよい。
i.一例として、PCIPで符号化されたブロックが水平方向を選択する場合、イン
トラモードはVER_IDXに設定されてもよく、後続のブロックのためのMPMモード
として使用してもよい。
ii.一例として、PCIPで符号化されたブロックが垂直方向を選択する場合、イ
ントラモードはHOR_IDXに設定されてもよく、後続のブロックのためのMPMモー
ドとして使用してもよい。
b.あるいは、CPM符号化ブロックのイントラ予測方向を後続のブロックのMPMと
して使用することを許可しない場合がある。
【0333】
14.使用するパレットの最大エントリ数は、1つの映像ユニット(CTB、CU、PU
、TUなど)から別の映像ユニットに変更できる。二値化は、使用するパレットの最大エ
ントリ数に応じて変更され得る。
a.一例として、それは符号化された情報に依存してもよい。
i.一例として、それはブロックの寸法に依存してもよい。
a)一例として、パレットモードで符号化されたより大きなブロックのサイズは、
より大きい最大エントリ数を有する可能性があり、一方、パレットモードで符号化された
より小さなブロックのサイズは、より小さい最大エントリ数を有する可能性がある。
b)1つの例では、4×4ブロックの場合、N0パレットエントリのみが許可され
る。
c)一例として、8×4ブロックおよび/または4×8ブロックの場合、N1パレ
ットエントリのみが許可され得る。
d)一例として、8×8ブロックの場合、N2パレットエントリのみが許可される

e)一例として、16×16ブロックの場合、N3パレットエントリのみが許可さ
れる。
f)一例として、N0、N1、N2およびN3は固定数(例えば、3、7または1
5)であり、それらは同じであっても異なっていてもよい。
g)一例として、パレットエントリの最大値とブロック寸法の関係を次のように表
にしている。ここで、WとHはそれぞれ現在のブロック幅とブロック高さを示し、Max
は2つの入力間で大きい方を取得する操作である。
【0334】
【表15】
【0335】
h)一例として、パレットエントリの最大値とブロック寸法の関係を次のように表
にしている。ここで、WとHはそれぞれ現在のブロック幅とブロック高さを示し、Max
は2つの入力間で大きい方を取得する操作である。
【0336】
【表16】
【0337】
b.一例において、それは、色成分に依存してもよい。
i.一例として、パレットモードで符号化された輝度ブロックは、最大エントリ数が
大きい可能性があり、パレットモードで符号化されたクロマブロックは、最大エントリ数
が小さい可能性がある。
a)一例として、輝度ブロックの最大エントリ数はNであり得、したがって、クロ
マブロックの最大エントリ数はMであり得る。
i.一例として、Mは固定数(例えば、3、7または15)であり、MはNより
小さい場合がある。
c.一例として、それは、デュアルツリーまたはシングルツリーなどの分割構造に依存
してもよい。
【0338】
15.パレット/CPM/PCIP符号化ブロックのスケーリング行列(ユーザー定義の
スケーリング行列など)を禁止することを提案している。
a.あるいは、スケーリング行列をパレット/CPM/PCIP符号化ブロックに適用
することもできる。
b.一例として、パレット/CPM/PCIP符号化ブロックのスケーリング行列を選
択する方法は、変換スキップ符号化ブロックと同じ方法で行われ得る。
【0339】
16.IBCモードの使用を符号化するためのコンテクストモデリング(例えば、cu_
skip_flagおよび/またはpred_mode_ibc_flag)は、現在の
ブロックの符号化された情報、例えば、ブロックの寸法/ブロックの形状/分割ツリーの
深さ(例えば、QT/BT/TT/MTTの深さ)および/またはスライスタイプに依存
してもよい。
a.一例において、IBCフラグの指示を符号化するためのコンテクストは、ブロック
サイズに基づいて導出されてもよい。
i.一例において、異なるブロックサイズの下でのIBCモードの使用の指示は、異
なるコンテクストを使用することによって信号通知されてもよい。
ii.あるいは、Tより小さいまたはTより大きくないブロックサイズを有するブロ
ックのIBCモードの使用の指示は、1つのコンテクストを使用することができる。他の
ブロックサイズのブロックは、他のコンテクスト(例えば、1つのみ)を使用してもよい

iii.あるいは、Tより大きいまたはTより小さくないブロックサイズを有するブ
ロックのIBCモードの使用の指示は、1つのコンテクストを使用することができる。他
のブロックサイズのブロックは、他のコンテクスト(例えば、1つのみ)を使用してもよ
い。
iv.一例において、Tは、以下に基づいてもよい。
1.映像コンテンツ(例えば、スクリーンコンテンツまたは自然コンテンツ)
2.DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ
/タイルグループヘッダ/最大符号化ユニット(LCU)/符号化ユニット(CU)/L
CU行/LCUグループ/TU/PUにおいて信号通知されるメッセージ
3.カラーフォーマットの表示(例えば、4:2:0、4:4:4)
4.符号化ツリー構造
5.スライス/タイルグループのタイプおよび/またはピクチャのタイプ
6.色成分(例えば、クロマ成分または輝度成分にのみ適用されてもよい)
7.時間層ID
8.標準のプロファイル/レベル/層
9.デコーダに信号が送信される。
b.一例において、IBCモードの使用を符号化するためのコンテクストモデリングは
、ブロック形状(例えば、正方形または非正方形、幅と高さの比)に基づいて導出されて
もよい。
i.あるいは、異なるブロック形状の下でのIBCフラグの指示は、異なるコンテク
ストを使用することによって信号通知されてもよい。
c.一例において、Iスライスのためのcu_skip_flagのコンテクストモデ
リングは、P/Bスライスのためのコンテクストモデリングとは異なってもよい。
i.一例において、cu_skip_flagのコンテクストモデリングは、近傍の
ブロックのcu_skip_flag情報に依存していてもよい。PBスライスの場合、
cu_skip_flagの符号化には1つのコンテクストのみを用いることができる。
またはその逆である。
d.一例において、1つのコンテクストのみが、IBCモードの使用を符号化するため
に利用されてもよい。
e.上記方法は、特定のスライス/ピクチャタイプに使用されるものにのみ適用されて
もよい。
【0340】
17.cu_skip_flagのコンテクストモデリングは、近傍のブロックがIBC
モードで符号化されているか否かに依存してもよい。
a.一例において、近傍のブロックのうちの少なくとも1つまたは両方がIBCモード
で符号化される場合、1つのコンテクストを使用してもよい。
【0341】
18.第1の構文要素に関連付けられたビンのコンテクスト符号化は、近傍のブロック(
隣接または非隣接)に関連付けられた第2の構文要素の値に依存してもよい。
a.一例において、第1の構文要素は、イントラ-インター予測モード/三角形予測モ
ードを組み合わせたことを示すためのものであってもよい。
b.一例において、第2の構文要素は、IBCの使用に関するものであってもよいし、
または第1の構文要素に関連付けられたビンのコンテクスト符号化は、近傍のブロックの
IBCモードの使用に依存してもよい。
c.あるいは、このメッセージは、現在のスライス/タイル/シーケンスがスクリーン
コンテンツであるかどうかを示してもよい。
【0342】
19.符号化ブロックフラグ(cbf)は、信号通知される代わりに、QR-BDPCM
モードで符号化されたブロックについて推測されてもよい。
a.あるいは、一例において、cbfは、QR-BDPCMモードで符号化されたブロ
ックにおいて、1と推測されてもよい。
b.上記方法は、輝度cbfおよび/またはクロマcbfに適用される。
【0343】
20.現在のクロマブロックの中心位置を覆い、且つ/またはDMモードを導出するため
に使用される対応する輝度ブロックがイントラモード(例えば、MODE_INTRA)
で符号化されていない場合、クロマDMモードは許可されないことがある。Aを、DMモ
ード導出処理に用いられる対応する輝度ブロック(例えば、現在のクロマブロックの対応
する中心位置を覆うもの)とする。
a.一例において、AがIBCおよび/またはIBCモードの変形で符号化される場合
、クロマDMモードは許可されなくてもよい。
b.一例において、Aがパレットおよび/またはパレットモードの変形で符号化される
場合、クロマDMモードは許可されなくてもよい。
c.一例において、AがPCMおよび/またはPCMモードの変形で符号化される場合
、クロマDMモードは許可されなくてもよい。
d.上記例において、クロマDMモードが許可されない場合(例えば、対応する輝度ブ
ロックの予測モードが特定のモードであることに起因して)、クロマDMモードの指示は
、通知されてもよいし、または信号通知されなくてもよい。
i.あるいは、クロマDMモードの指示が信号通知されてもよい。しかしながら、適
合ビットストリームは、クロマDMモードが許可されない場合(例えば、対応する輝度ブ
ロックの予測モードが特定のモードであるため)、復号化されたintra_chrom
a_pred_modeが特定の値でない(例えば、CCLMがオフである場合は4、C
CLMがオンである場合は7)ことを満たすべきである。
e.一例において、AがQR-BDPCMモードで符号化されている場合、クロマDM
モードにおけるイントラ予測モードは、Aのイントラ予測方向(例えば、bdpcm_d
ir_flag)に基づいて導出されてもよい。
i.一例において、Aのイントラ予測方向が垂直である(例えば、bdpcm_di
r_flagが1である)場合、クロマDMモードにおけるイントラ予測モードは、垂直
モード(例えば、VER_IDX)でもよい。
ii.一例において、Aのイントラ予測方向が水平である(例えば、bdpcm_d
ir_flagが0である)場合、クロマDMモードにおけるイントラ予測モードは、水
平モード(例えば、HOR_IDX)でもよい。
f.一例において、クロマDMモードにおけるイントラ予測モードは、複合IBC及び
パレットモードの使用に基づいて導出されてもよい。
i.一例において、DMは、平面または水平/垂直予測モードに設定してもよい。
【0344】
21.現在のクロマブロックの中心位置を含み、且つ/またはDMモードを導出するため
に用いられる対応する輝度ブロックがイントラモード(例えば、MODE_INTRA)
で符号化されていない場合、イントラ予測方法で生成された予測ブロックによって、DM
モードを有するクロマブロックの予測ブロックを埋めてもよい。Aを、DMモード導出処
理に用いられる対応する輝度ブロック(例えば、現在のクロマブロックの対応する中心位
置を覆うもの)とする。
a.一例において、Aがパレットおよび/またはパレットモードの変形で符号化される
場合、イントラ予測方法は、垂直イントラ予測に使用される方法でもよい。
i.あるいは、一例において、Aがパレットおよび/またはパレットモードの変形で
符号化される場合、クロマDMモードの予測は、水平予測によって埋めてもよい。
ii.あるいは、一例において、Aがパレットおよび/またはパレットモードの変形
で符号化される場合、クロマDMモードの予測は、平面予測によって埋めてもよい。
iii.あるいは、一例において、Aがパレットおよび/またはパレットモードの変
形で符号化される場合、クロマDMモードの予測は、DC予測によって埋めてもよい。
iv.あるいは、一例において、Aがパレットおよび/またはパレットモードの変形
で符号化される場合、クロマDMモードの予測は、任意のイントラ予測モードによって埋
めてもよい。
b.一例において、クロマブロックの予測は、現在の色成分または他の色成分における
近傍(隣接または非隣接)輝度ブロックのイントラ予測モードおよび/または近傍(隣接
または非隣接)のクロマブロックのイントラ予測モードに基づいて生成されてもよい。
c.一例において、イントラ予測方法は、MPMリスト構築時にPCMブロックに割り
当てられるイントラ予測モードに対応していてもよい。
d.一例において、イントラ予測方法は、輝度PCMブロックに割り当てられたイント
ラ予測モードに対応していてもよい。
e.一例において、イントラ予測方法は、クロマPCMブロックに割り当てられたイン
トラ予測モードに対応していてもよい。
f.いくつかの実装形態において、イントラ予測方法は、AのMPM一覧における第1の
イントラ予測方式に対応していてもよい。
g.上記方法は、AがIBCおよび/またはIBCモードの変形で符号化される場合に
i.あるいは、上記方法は、AがPCMおよび/またはPCMモードの変形で符号化され
る場合に適用されてもよい。
ii.あるいは、上記方法は、AがQR-BDPCMおよび/またはQR-BDPCMモ
ードの変形で符号化される場合に適用されてもよい。
【0345】
22.無効なブロックベクトルを有するクロマブロックを処理する方法に従って、DMモ
ードを有するクロマブロックの予測ブロックを導出してもよい。
a.一例において、DMモードを有するクロマブロックの予測ブロックは、デフォルト
値で埋めてもよい。
i.あるいは、デフォルト値はMに固定されてもよい。
ii.あるいは、デフォルト値は、入力および/または内部ビット深度に依存しても
よい。
b.一例において、上記方法は、対応する輝度ブロックの予測モードがイントラモード
でない場合に、適用されてもよい。
i.一例において、上記方法は、対応する輝度ブロックの予測モードがIBCモード
および/またはIBCモードの変形である場合に、適用されてもよい。
ii.一例において、上記方法は、対応する輝度ブロックの予測モードがパレットモード
および/またはパレットモードの変形である場合に、適用されてもよい。
【0346】
23.1つのブロックは、デフォルトのイントラモードを有してもよい。
a.一例において、デフォルトモードは、DC/PLANAR/VER/HORモード
であってもよい。
b.一例において、デフォルトモードは、任意のイントラモードであってもよい。
c.一例において、デフォルトモードは、イントラモード符号化処理における最大確率
モード(MPM)として用いられてもよい。
i.あるいは、一例において、近傍のブロックからイントラモードをフェッチすると
き、このブロックと現在のブロックとが異なる映像符号化ユニット(例えば、タイル、ス
ライス、ブリック)にある場合、近傍のブロックのデフォルトモードが使用される。
d.一例において、クロマDMモードにおいて、対応するルミナンスブロックのデフォ
ルトモードは、DMモードを導出するために使用されてもよい。
e.ブロックがイントラモードで符号化されていない場合、上記方法が使用されてもよ
い。
i.あるいは、上記方法は、ブロックがIBC/インター/QRDPCM/PCM/
パレットモードで符号化される場合に使用されてもよい。
ii.あるいは、現在のブロックのイントラモードを復号化しない場合、上記方法が
使用されてもよい。
【0347】
24.MPMリスト構築中、近傍のブロックがPCMモードで符号化される場合、それを
DC予測モードと見なしてもよい。
【0348】
25.TPMおよび/またはTPMブレンド処理および/または動き情報の記憶をどのよ
うに適用するかは、近傍のブロックの符号化された情報に基づいて決定されてもよい。
a.一例において、その近傍のブロック(例えば、図12における左側及び上側の近傍
のブロック)がIBC/パレット/TS/QR-BDPCMモードで符号化される場合、
TPMブレンド処理は、現在のブロックに対して無効化されてもよい。
b.一例において、その近傍のブロック(例えば、図12における左側及び上側の近傍
のブロック)がIBC/パレット/TS/QR-BDPCMモードで符号化される場合、
現在のブロックに対して別のブレンド処理/動き記憶処理を適用してもよい。
【0349】
恒等変換を用いて符号化されたブロックのための量子化パラメータ(例えば、変換スキッ
プモード、QR-BDPCM等)
【0350】
26.恒等変換を使用する符号化ツールの指示の信号通知は、ビットストリームからの復
号化された量子化パラメータに依存してもよい。
a.一例において、transform_skip_flagは、いくつかのQPに信
号通知されなくてもよく、この場合、このフラグは0であると推測される。
i.一例において、QPが(4+QpBdOffsetY)より小さい場合、tra
nsform_skip_flagは通知されなくてもよい。
b.intra_bdpcm_flagは、いくつかのQPに信号通知されなくてもよ
く、この場合、このフラグは0であると推測される。
i.一例において、QPが(4+QpBdOffsetY)より小さい場合、int
ra_bdpcm_flagは信号通知されなくてもよい。
【0351】
27.恒等変換符号化されたブロックのビットストリームから復号化された量子化パラメ
ータは、輝度/クロマ量子化パラメータの範囲のオフセット(QpBdOffsetY,
QpBdOffsetC)に基づいて変更されてもよい。
a.一例において、transform_skip_flagが1である場合、QPク
リッピングが適用してもよい。
i.一例において、transform_skip_flagが1である場合、QP
値が(4+QpBdOffsetY)より小さい場合、QP値を(4+QpBdOffs
etY)に設定してもよい。
ii.一例において、transform_skip_flagが1である場合、Q
P値は、QTより小さい場合、ある値QTに設定してもよい。
b.transform_skip_flagが1である場合、復号化されたQP値に
オフセットを加えることができ、これをQPdecとする。
i.一例において、QPdecの代わりにQPdec+4+QpBdOffsetY
をtransform_skip_flagが1であるブロックに適用してもよい。
c.上記方法は、例えば、intra_bdpcm_flagが1である場合、QR-
DPCM符号化ブロックにも適用可能であってもよい。
d.一例において、修正された量子化パラメータは、後続のブロックのデルタQP信号
通知の量子化/逆量子化/フィルタリング/予測に使用されてもよい。
【0352】
28.固定オフセットに基づいて、恒等変換符号化されたブロックのビットストリームか
ら復号化された量子化パラメータを変更してもよい。
a.一例において、transform_skip_flagが1である場合、QPク
リッピングが適用してもよい。
i.一例において、transform_skip_flagが1である場合、QP
値が4より小さい場合、QP値を4に設定してもよい。
ii.一例において、transform_skip_flagが1である場合、Q
P値は、QTより小さい場合、ある値QTに設定してもよい。
b.transform_skip_flagが1である場合、復号化されたQP値に
オフセットを加えることができ、これをQPdecとする。
i.一例において、QPdecの代わりにQPdec+4を、transform_
skip_flagが1であるブロックに適用されてもよい。
c.上記方法は、例えば、intra_bdpcm_flagが1である場合、QR-D
PCM符号化ブロックにも適用可能であってもよい。
d.一例において、修正された量子化パラメータは、後続のブロックのデルタQP信号通
知の量子化/逆量子化/フィルタリング/予測に使用されてもよい。
【0353】
29.恒等変換で符号化されたブロックのためのビットストリームからの復号化された量
子化パラメータは、入力ビット深度に基づいて修正されてもよく、bdiと表される。
a.一例において、transform_skip_flagが1である場合、QPク
リッピングが適用してもよい。
i.一例において、transform_skip_flagが1である場合、QP
値が(4+6*(bdi-8))より小さい場合には、QP値を(4+6*(bdi-8
))に設定してもよい。
b.transform_skip_flagが1である場合、復号化されたQP値に
オフセットを加えることができ、これをQPdecとする。
i.一例において、QPdecの代わりにQPdec+(4+6*(bdi-8))
をtransform_skip_flagが1であるブロックに適用してもよい。
c.上記方法は、例えば、intra_bdpcm_flagが1である場合、QR-
DPCM符号化ブロックにも適用可能であってもよい。
d.一例において、修正された量子化パラメータは、後続のブロックのデルタQP信号
通知の量子化/逆量子化/フィルタリング/予測に使用されてもよい。
【0354】
30.恒等変換で符号化されたブロックのためのビットストリームからの復号化された量
子化パラメータは、内部ビット深度(bd)および入力ビット深度に基づいて修正されて
もよく、bdiと表される。
a.一例において、transform_skip_flagが1である場合、QPク
リッピングが適用してもよい。
i.一例において、transform_skip_flagが1である場合、QP
値が(4+6*(bd-bdi))より小さい場合、QP値を(4+6*(bd-bdi
))に設定されてもよい。
b.transform_skip_flagが1である場合、復号化されたQP値に
オフセットを加えることができ、これをQPdecとする。
i.一例において、QPdecの代わりにQPdec+(4+6*(bd-bdi)
)をtransform_skip_flagが1であるブロックに適用してもよい。
c.上記方法は、例えば、intra_bdpcm_flagが1である場合、QR-
DPCM符号化ブロックにも適用可能であってもよい。
d.一例において、修正された量子化パラメータは、後続のブロックのデルタQP信号
通知の量子化/逆量子化/フィルタリング/予測に使用されてもよい。
【0355】
31.ブロックの前処理(例えば、LMCS)および/または後処理(例えば、ブロック
の再構築後のフィルタ)を有効にするか無効にするかは、ブロックまたはブロックを含む
映像ユニットに関連する量子化パラメータに依存してもよい。
a.一例では、デコードされたQPが閾値よりも小さい場合、前処理および/または後
処理が許可されない場合がある。
i.一例では、閾値は事前に定義してもよい。
ii.あるいは、さらに、デコードされたQPが上記の方法によるQP修正につなが
る閾値よりも小さい場合、前処理および/または後処理が許可されない場合がある。
b.一例では、QP<(4+6*(bd-bd))の場合、非ブロック化が許可され
ない場合がある。
i.あるいは、ビットストリーム制約を設定して、非ブロック化をバイパスしてもよ
い。
c.一例では、QP<(4+6*(bd-bd))の場合、適応ループフィルタが許
可されない場合がある。
i.あるいは、ビットストリーム制約を設定して、適応ループフィルタをバイパスし
てもよい。
d.一例では、QP<(4+6*(bd-bd))の場合、サンプル適応オフセット
は許可されない場合がある。
i.あるいは、サンプル適応オフセットをバイパスするようにビットストリーム制約
を設定してもよい。
e.一例では、QP<(4+6*(bd-bd))の場合、LMCSは許可されない
場合がある。
i.あるいは、LMCSをバイパスするようにビットストリーム制約を設定してもよ
い。
【0356】
32.上述した復号化された量子化パラメータは、内部ビット深度QPオフセットを考慮
しない(例えば、QpBdOffsetYを付加しない)量子化パラメータであってもよ
い。
a.あるいは、上記復号化された量子化パラメータは、内部ビット深度QPオフセット
を考慮した量子化パラメータであってもよい。
【0357】
33.ビットストリームにおける入力ビット深度を示すことが提案される。
a.一例において、SPS/VPSにおいて、入力映像のビット深度を示すために、(
input_bitdepth_8)である構文要素input_bitdepth_m
inus8を信号通知してもよい。
i.一例において、構文要素は、0..dQPの範囲を有し、ここで、dQPは固定
値である。
b.一例において、SPS/VPSにおいて、(internal_bitdepth
-input_bitdepth)である構文要素bitdepth_minus_in
put_bitdepthを信号通知し、入力映像のビット深度を示すことができる。
i.一例において、構文要素は、0..dQPの範囲を有し、ここで、dQPは固定
値である。
【0358】
34.上記方法を適用するかどうか、および/またはどのように適用するかは、以下に基
づいてもよい。
a.映像コンテンツ(例えば、スクリーンコンテンツまたは自然コンテンツ)
b.DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タ
イルグループヘッダ/最大符号化ユニット(LCU)/符号化ユニット(CU)/LCU
行/LCUグループ/TU/PUブロック/映像符号化ユニットにおいて信号通知される
メッセージ
c.CU/PU/TU/ブロック/映像符号化ユニットの位置
d.現在のブロックおよび/またはその近傍のブロックのブロック寸法
i.一例において、上記方法は、現在のブロックの幅及び高さの両方がTより小さい
(例えば、32または64)場合にのみ適用してもよい。
e.現在のブロックおよび/またはその近傍のブロックのブロック形状
f.現在のブロックおよび/またはその近傍のブロックの予測モード(例えば、pre
d_mode_ibc_flag)
g.現在のブロック及び/またはその近傍のブロックのイントラモード
h.現在のブロックおよび/またはその近傍のブロックの動き/ブロックベクトル
i.カラーフォーマットの表示(例えば、4:2:0、4:4:4)
j.符号化ツリー構造
k.スライス/タイルグループのタイプおよび/またはピクチャのタイプ
l.色成分(例えば、クロマ成分または輝度成分にのみ適用されてもよい)。
m.時間層ID
n.標準のプロファイル/レベル/層
【0359】
5 JVET-N1001-v6に加えた実施例
【0360】
【化1】
【0361】
シーケンスパラメータセットRBSP構文
【0362】
【表17】
【0363】
符号化ユニット構文
【0364】
【表18】

【表19】
【0365】
予測モード構文
以降の全文と表は、VVCの現在のバージョンに新たに追加されるものとして提案されて
いる。
【0366】
【表20】
【0367】
パレット構文
以降の全文と表は、現在のバージョンに新たに追加されるものとして提案されている。
【0368】
【表21】

【表22】

【表23】

【表24】
【0369】
パレット意味論
【0370】
以下の意味論において、配列インデックスx0,y0は、ピクチャの左上輝度サンプルに
対する、考慮される符号化ブロックの左上輝度サンプルの位置(x0,y0)を指定する
【0371】
cu_palette_flagは、現在の符号化ユニットでのパレットモードの使用を
指定する。cu_palette_flag==1は、パレットモードが現在の符号化ユ
ニットに適用されていることを示す。cu_palette_flag==0は、現在の
符号化ユニットにパレットモードが適用されていないことを示す。
【0372】
palette_predictor_runは、配列PalettePredicto
rEntryReuseFlagsの非ゼロエントリの前にあるゼロの数を判定するため
に使用される。
palette_predictor_runの値が、0~(PredictorPal
etteSize-predictorEntryIdx)の範囲であることがビットス
トリームの適合性の要件であり、predictorEntryIdxは配列Palet
tePredictorEntryReuseFlagsの現在の位置に対応するもので
ある。変数NumPredictedPaletteEntriesは、予測パレットか
ら再利用される現在のパレットのエントリの数を指定する。NumPredictedP
aletteEntriesの値は、0からpalette_max_sizeまでの範
囲内にあるべきである。
【0373】
num_signalled_palette_entries[startComp]
は、現在のパレットテーブルstartCompの最初の色成分に対して明示的に通知さ
れる現在のパレットのエントリの数を指定する。
num_signalled_palette_entries[startComp]
が存在しない場合、0であると推測される。
変数CurrentPaletteSizeは、現在のパレットのサイズを指定し、以下
のように導出される。
CurrentPaletteSize[startComp]=NumPredict
edPaletteEntries[startComp]+num_signalle
d_palette_entries[startComp](XX)
CurrentPaletteSize[startComp]の値は、0からpale
tte_max_sizeまでの範囲内にあるべきである。
【0374】
new_palette_entries[cIdx][i]は、色成分cIdxのi番
目の信号通知パレットエントリの値を指定する。
変数PredictorPaletteEntries[cIdx][i]は、色成分c
Idxのための予測子パレットにおけるi番目の要素を指定する。変数CurrentP
aletteEntries[cIdx][i]は、色成分cIdxの現在のパレットの
i番目の要素を指定し、次のように導出される。
【0375】
numPredictedPaletteEntries=0
for(i=0;i<PredictorPaletteSize[startComp
];i++)
if(PalettePredictorEntryReuseFlags[i]){
for(cIdx=startComp;cIdx<(startComp+num
Comps);cIdx++)
CurrentPaletteEntries[cIdx][numPredic
tedPaletteEntries]=
PredictorPaletteEntries[cIdx][i]
numPredictedPaletteEntries++

for(i=0;i<num_signalled_palette_entries[
startComp];i++)
for(cIdx=startComp;cIdx<(startComp+numC
omps);cIdx++)
CurrentPaletteEntries[cIdx][numPredict
edPaletteEntries+i]=
new_palette_entries[cIdx][i] (XX)
【0376】
palette_escape_val_present_flagが1のとき、現在の
符号化ユニットに少なくとも1つのエスケープ符号化されたサンプルが含まれていること
を指定する。escape_val_present_flagが0の場合、現在の符号
化ユニットにエスケープ符号化されたサンプルがないことを指定する。存在しない場合、
palette_escape_val_present_flagの値は1と推測され
る。
変数MaxPaletteIndexは、現在の符号化ユニットのパレットインデックス
の可能な最大値を指定する。MaxPaletteIndexの値は、cu_palet
te_ibc_modeが0の場合、CurrentPaletteSize+pale
tte_escape_val_present_flagに設定される。そうではなく
、cu_palette_ibc_modeが1である場合、MaxPaletteIn
dexは、CurrentPaletteSize+palette_escape_v
al_present_flag+1に設定される。
【0377】
num_palette_indices_minus1 plus1は、現在のブロッ
クに対して明示的に信号通知されたか、推測されたパレットインデックスの数である。
num_palette_indices_minus1が存在しない場合、0に等しい
と推測される。
【0378】
palette_index_idcは、CurrentPaletteEntries
によって表現されるアレイへのインデックスを示すものである。palette_ind
ex_idcの値は、ブロックの第1のインデックスについては、0~MaxPalet
teIndexの範囲内にあり、ブロックの残りのインデックスについては、0~(Ma
xPaletteIndex-1)の範囲内にあるものとする。
palette_index_idcが存在しない場合、それは0に等しいと推論される

変数PaletteIndexIdc[i]は、i番目のパレット_index_idc
を明示的に信号通知または推測して記憶する。配列PaletteIndexIdc[i
]のすべての要素を0に初期化する。
【0379】
copy_above_indices_for_final_run_flagが1の
場合、水平トラバーススキャンが使用されている場合は上の行のパレットインデックスか
ら、垂直トラバーススキャンが使用されている場合は左側の列のパレットインデックスか
ら、符号化ユニットの最後の位置のパレットインデックスがコピーされることを指定する

copy_above_indices_for_final_run_flagが0の
場合、符号化ユニットの最後の位置のパレットインデックスがPaletteIndex
Idc[num_palette_indices_minus1]からコピーされるこ
とを指定する。
copy_above_indices_for_final_run_flagが存在
しない場合、0と推測される。
【0380】
palette_transpose_flagが1の場合、現在の符号化ユニットの画
素のインデックスをスキャンするために垂直方向横断走査が適用されることを指定する。
palette_transpose_flagが0の場合、現在の符号化ユニットの画
素のインデックスをスキャンするために水平方向横断走査が適用されることを指定する。
【0381】
copy_above_palette_indices_flagが1の場合、パレッ
トインデックスは、水平方向横断走査が使用されている場合は上の行の同じ場所、垂直方
向横断走査が使用されている場合は左側の列の同じ場所のパレットインデックスと等しい
ことを指定する。copy_above_palette_indices_flagが
0の場合、サンプルのパレットインデックスの指示がビットストリームに符号化されてい
るか、推測されているかを示す。
変数CopyAboveIndicesFlag[xC][yC]が1の場合、パレット
インデックスが上の行(水平スキャン)または左側の列(垂直スキャン)のパレットイン
デックスからコピーされることを指定する。CopyAboveIndicesFlag
[xC][yC]が0の場合、パレットインデックスがビットストリームで明示的に符号
化されているか、推測されていることを示す。配列インデックスxC、yCは、ピクチャ
の左上の輝度サンプルに対するサンプルの位置(xC、yC)を指定する。
変数PaletteIndexMap[xC][yC]は、CurrentPalett
eEntriesで表される配列へのインデックスであるパレットインデックスを指定す
る。配列インデックスxC、yCは、ピクチャの左上の輝度サンプルに対するサンプルの
位置(xC、yC)を指定する。PaletteIndexMap[xC][yC]の値
は、0からMaxPaletteIndexまでの範囲でなければならない。
変数PaletteRunは、CopyAboveIndicesFlag[xC][y
C]が1の場合、上の行(水平走査)または左側の列(垂直走査)の位置と同じパレット
インデックスで、連続する位置の数から1を引いた数を指定し、CopyAboveIn
dicesFlag[xC][yC]が0の場合、同じパレットインデックスで、連続す
る位置の数から1を引いた数を指定する。
変数PaletteMaxRunは、PaletteRunの可能な最大値を表す。Pa
letteMaxRunの値が0以上であることがビットストリーム適合性の要件である
【0382】
palette_run_prefixは、PaletteRunの2値化のプレフィッ
クス部分を指定する。
【0383】
palette_run_suffixは、PaletteRunの2値化のサフィック
ス部分を指定する。palette_run_suffixが存在しない場合、pale
t_run_suffixの値は0であると推測される。
PaletteRunの値は次のように導き出される。
-palette_run_prefixが2未満の場合、以下が適用される。
PaletteRun=palette_run_prefix(XX)
-それ以外の場合(palette_run_prefixが2以上)、以下が適用され
る。
PrefixOffset=1<<(palette_run_prefix-1)
PaletteRun=PrefixOffset+palette_run_su
ffix (XX)
【0384】
palette_escape_valは、コンポーネントの量子化されたエスケープ符
号化されたサンプル値を指定する。
変数PaletteEscapeVal[cIdx][xC][yC]は、Palett
eIndexMap[xC][yC]が(MaxPaletteIndex-1)であり
、palet_escape_val_present_flagが1であるサンプルの
エスケープ値を指定する。配列インデックスcIdxは、色成分を指定する。配列インデ
ックスxC、yCは、ピクチャの左上の輝度サンプルに対するサンプルの位置(xC、y
C)を指定する。
cldxが0の場合、PaletteEscapeVal[cIdx][xC][yC]
0から(1<<((1<<(BitDepth+1))-1の範囲内であり、cIdx
が0でない場合、0から(1<<(BitDepth+1))-1までの範囲内である
ことが、ビットストリーム適合性の要件である。
【0385】
イントラ予測モードで符号化されたユニットを符号化するための一般的な復号処理
【0386】
この処理への入力は以下の通りである。
-現在のピクチャの左上の輝度サンプルに対する現在の符号化ブロックの左上のサンプル
を規定する輝度位置(xCb,yCb)、
-輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
-輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight
-単一ツリーを使用するか二重ツリーを使用するかを指定する変数ツリータイプ、および
二重ツリーを使用する場合、現在のツリーが輝度成分に対応するか色度成分に対応するか
を指定する。
【0387】
この処理の出力は、インループ・フィルタリング前の修正された再構成画像である。
輝度位置(xCb,yCb)、輝度サンプルcbWidthにおける現在の符号化ブロッ
クの幅、輝度サンプルcbHeightにおける現在の符号化ブロックの高さ、及び変数
ツリータイプを入力として、8.4.1項に規定される量子化パラメータの導出処理を呼
び出す。
【0388】
treeTypeがSINGLE_TREEに等しい場合、またはtreeTypeがD
UAL_TREE_LUMAに等しい場合、輝度サンプルの復号化処理は次のように指定
される。
【0389】
- pcm_flag[xCb][yCb]が1である場合、再構成画像は以下のように
修正される。
[xCb+i][yCb+j]=
pcm_sample_luma[(cbHeight*j)+i]<<(BitD
epth-PcmBitDepth),(8-1)
with i=0..cbWidth-1,j=0..cbHeight-1
【0390】
- そうでない場合、cu_palette_flag[xCb][yCb]が1と等し
い場合、以下が適用される。
-ツリータイプがSINGLE_TREEに等しい場合、以下が適用される。
1.XXX項で指定されているパレットブロックの一般的な復号化プロセスは、輝度
位置(xCb、yCb)、変数startCompを0、変数cIdxを0、変数nTb
WをcbWidth、変数nTbHをcbHeightに設定して呼び出される。
- そうでない場合、以下が適用される。
1. XXX項で指定されているパレットブロックの一般的な復号化プロセスは、輝
度位置(xCb、yCb)、変数startCompを0、変数cIdxを0、変数nT
bWをcbWidth、変数nTbHをcbHeightに設定して呼び出される。
2. 8.X.X項で指定されているパレットブロックの一般的なパレット予測子更
新処理は、輝度位置(xCb、yCb)、変数startCompを0、変数numCo
mpsを1に設定して呼び出される。
【0391】
- そうでない場合、以下が適用される。
1. 8.2.2項で指定されている輝度イントラ予測モードの導出処理は、輝度位置
(xCb、yCb)、輝度サンプルの現在の符号化ブロックの幅cbWidth、および
輝度サンプルの現在の符号化ブロックの高さcbHeightを入力として使用して呼び
出される。
2. 8.2.4.1項で指定されているイントラブロックの一般的な復号化処理は、
輝度位置(xCb、yCb)、ツリータイプはtreeType、変数nTbWはcbW
idthに等しく、変数nTbHはcbHeightに等しく、変数predModeI
ntraはIntraPredModeY[xCb][yCb]に等しく、変数cIdx
は0に等しく、入力設定して呼び出され、出力はループ内フィルタリングの前の修正され
た再構成ピクチャである。
treeTypeがSINGLE_TREEに等しい場合、またはtreeTypeがD
UAL_TREE_CHROMAに等しい場合、クロマサンプルの復号化処理は次のよう
に指定される。
【0392】
- pcm_flag[xCb][yCb]が1に等しい場合、再構成されたピクチャは
次のように修正される。
Cb[xCb/SubWidthC+i][yCb/SubHeightC+j]=
pcm_sample_chroma[(cbHeight/SubWidthC*j)
+i]<<(BitDepth-PcmBitDepth),
with i=0..cbWidth/SubWidthC-1 and j=0.
.cbHeight/SubHeightC-1 (8-2)
Cr[xCb/SubWidthC+i][yCb/SubHeightC+j]
=pcm_sample_chroma[(cbHeight/SubWidthC*(
j+cbHeight/SubHeightC))+i]<<
(BitDepth-PcmBitDepth),
with i=0..cbWidth/SubWidthC-1 and j=0.
.cbHeight/SubHeightC-1 (8-3)
【0393】
- そうでない場合、cu_palette_flag[xCb][yCb]が0と等し
い場合、以下が適用される。
- ツリータイプがSINGLE_TREEに等しい場合、以下が適用される。
1. XXX項で指定されているパレットブロックの一般的な復号化処理は、輝度位
置(xCb、yCb)、変数startCompを0、変数cIdxを1、変数nTbW
を(cbWidth/2)、変数(cbHeight/2)をcbHeightと設定し
て呼び出される。
2. XXX項で指定されているパレットブロックの一般的な復号化処理は、輝度位
置(xCb、yCb)、変数startCompを0、変数cIdxを2、変数nTbW
を(cbWidth/2)、変数(cbHeight/2)をcbHeightと設定し
て呼び出される。
3. 8.X.X項で指定されているパレットブロックの一般的なパレット予測子更
新プロセスは、輝度位置(xCb、yCb)、変数startCompを0、変数num
Compsを3に設定して呼び出される。
- そうでない場合、以下が適用される。
1. XXX項で指定されているパレットブロックの一般的な復号化処理は、輝度位
置(xCb、yCb)、変数startCompを1、変数cIdxを1、変数nTbW
を(cbWidth/2)、変数(cbHeight/2)をcbHeightと設定し
て呼び出される。
2. XXX項で指定されているパレットブロックの一般的な復号化処理は、輝度位
置(xCb、yCb)、変数startCompを1、変数cIdxを2、変数nTbW
を(cbWidth/2)、変数(cbHeight/2)をcbHeightと設定し
て呼び出される。
3. XXX項で指定されているパレットブロックの一般的なパレット予測子更新プ
ロセスは、輝度位置(xCb、yCb)、変数startCompを1、変数numCo
mpsを2と設定して呼び出される。
【0394】
- そうでない場合、以下が適用される。
1. 8.2.3項で指定されているクロマイントラ予測モードの導出処理は、輝度位
置(xCb、yCb)、輝度サンプルの現在の符号化ブロックの幅cbWidth、およ
び輝度サンプルの現在の符号化ブロックの高さcbHeightを入力として呼び出され
る。
2. 8.2.4.1項で指定されているイントラブロックの一般的な復号化処理は、
クロマ位置(xCb/2、yCb/2)、ツリータイプはtreeType、変数nTb
Wは(cbWidth/2)に等しく、変数nTbHは(cbHeight/2)に等し
く、変数predModeIntraがIntraPredModeC[xCb][yC
b]に等しく、変数cIdxは1に等しく設定して呼び出され、出力はループ内フィルタ
リングの前に修正された再構成ピクチャである。
3. 8.2.4.1項で指定されているイントラブロックの一般的な復号化処理は、
クロマ位置(xCb/2、yCb/2)、ツリータイプはtreeType、変数nTb
Wは(cbWidth/2)に等しく、変数nTbHは (cbHeight/2)に等
しく、変数predModeIntraがIntraPredModeC[xCb][y
Cb]に等しく、変数cIdxは2に等しく設定して呼び出され、出力は、ループ内フィ
ルタリングの前に修正された再構成ピクチャである。
【0395】
【化2】
【0396】
この処理への入力は以下の通りである。
- 現在のピクチャの左上の輝度サンプルに対する現在のブロックの左上のサンプルを規
定する位置(xCb,yCb)
- 変数startCompは、パレットテーブルの最初の色成分を規定し、
- 現在のブロックの色成分を規定する変数cIdx、
- 現在のブロックの幅と高さをそれぞれ指定する2つの変数nTbWとnTbH。
【0397】
このプロセスの出力は、配列recSamples[x][y]であり、x=0..nT
bW-1、y=0..nTbH-1は、ブロックの再構築されたサンプル値を指定する。
cIdxの値に基づいて、変数nSubWidthおよびnSubHeightは、以下
のように導出される。
【0398】
- cIdxが0に等しい場合、nSubWidthは1に設定され、nSubHeig
htは1に設定される。
- startCompが1に等しく、cIdx>1の場合、nSubWidthは1に
設定され、nSubHeightは1に設定される。
- あるいは、nSubWidthをSubWidthCに設定し、nSubHeigh
tをSubHeightCに設定する。
- cu_palette_ibc_mode[xCb][yCb]が1に等しい場合、
以下が適用される。
- 8.6.2項に規定される動きベクトルの導出処理は、現在の画像の左上の輝度サ
ンプルに対する現在の輝度符号化ブロックの左上のサンプルの輝度位置(xCb,yCb
)、輝度サンプルにおける現在の符号化ブロックの幅を指定する変数cbWidth、及
び輝度サンプルにおける現在の符号化ブロックの高さを指定する変数cbHeightに
よって呼び出される。出力は、-1/16分数サンプル精度mvLにおける輝度動きベク
トルである。
- 8.6.3項で指定されている一般的なIBC予測プロセスは、現在のピクチャの左
上の輝度サンプルに対する現在の符号化ブロックの左上のサンプルを指定する輝度位置(
xCb、yCb)、輝度サンプルの現在の符号化ブロックの幅を指定する変数cbWid
th、輝度サンプルの現在の符号化ブロックの高さを指定する変数cbHeight、水
平および垂直方向の輝度符号化サブブロックの数を指定する変数numSbXおよびnu
mSbY、動きベクトルmv[xSbIdx][ySbIdx]、xSbIdx=0..
numSbX-1、およびySbIdx=0..numSbY-1、現在のブロックの色
成分インデックスを指定する変数cIdxで、呼び出される。出力は、予測サンプル p
redSamples[x][y]の配列である。
【0399】
位置(xCb、yCb)にある再構成されたサンプル配列recSamplesの(nT
bW xnTbH)ブロックは、x=0..nTbW-1、y=0..nTbH-1のr
ecSamples[x][y]で表され、0からnTbW-1までの範囲の各xと、0
からnTbH-1までの範囲の各yに対するrecSamples[x][y]の値は、
次のように導出される。
【0400】
-変数xLおよびyLは、以下のように導出される。
xL=palette_transpose_flag ? x*nSubHeigh
t:x*nSubWidth (5-4)
yL=palette_transpose_flag ? y*nSubWidth
:y*nSubHeight (5-5)
-変数bIsEscapeSampleは、以下のように導出される。
-PaletteIndexMap[xCb+xL][yCb+yL]がMaxPal
etteIndexに等しく、palette_escape_val_present
_flagが1に等しい場合、bIsEscapeSampleは1に設定される。
-あるいは、bIsEscapeSampleを0に設定する。
-bIsEscapeSampleが0に等しい場合、以下が適用される。
-cu_palette_ibc_mode[xCb][yCb]が1に等しい場
合、以下が適用される。
-PaletteIndexMap[xCb+xL][yCb+yL]が0に等しい
場合、以下が適用される。
recSamples[x][y]=predSamples[x][y]
-そうでない場合、以下が適用される。
recSamples[x][y]=CurrentPaletteEntrie
s[cIdx][PaletteIndexMap[xCb+xL][yCb+yL]-
1] (5-6)
-そうでない場合、以下が適用される。
recSamples[x][y]=CurrentPaletteEntries
[cIdx][PaletteIndexMap[xCb+xL][yCb+yL]]
(5-7)
-あるいは、cu_transquant_bypass_flagが1に等しい場合に
は、以下が適用される。
recSamples[x][y]=PaletteEscapeVal[cIdx
][xCb+xL][yCb+yL] (5-8)
-あるいは、(bIsEscapeSampleが1に等しく、cu_transqua
nt_bypass_flagが0に等しい場合)、以下の順序付けられたステップが適
用される。
1.量子化パラメータの導出処理は、現在のピクチャの左上サンプルに対する現在のブ
ロックの左上サンプルを規定する位置(xCb,yCb)を使用して呼び出される。
2.量子化パラメータqPは、以下のように導出される。
- cIdxが0に等しい場合
qP=Max(0,Qp’Y) (5-9)’
- あるいは、cIdxが1に等しい場合、
qP=Max(0,Qp’Cb) (5-10)
-あるいは、(cIdxが2に等しい場合)、
qP=Max(0,Qp’Cr) (5-11)
3.変数bitDepthは、以下のように導出される。
bitDepth=(cIdx==0 ) ?BitDepth:BitDept
(5-12)
4.list levelScale[]は、k=0..5の時、levelScal
e[k]={40,45,51,57,64,72}として規定される。
5. 以下が適用される
tmpVal=(PaletteEscapeVal[cIdx][xCb+xL]
[yCb+yL]*
levelScale[qP%6])<<(qP/6)+32)>>6 (5-
13)
recSamples[x][y]=Clip3(0,(1<<bitDept
h)-1,tmpVal) (5-14)
【0401】
【化3】
【0402】
この処理への入力は以下の通りである。
- 現在のピクチャの左上の輝度サンプルに対する現在のブロックの左上のサンプルを規
定する位置(xCb,yCb)
- 変数startCompは、パレットテーブルの最初の色成分を規定し、
- 変数numCompsは、パレットテーブル内の色成分の数を指定する。
【0403】
この処理の出力は、更新されたパレット予測子のサイズを指定する変数Predicto
rPaletteSize[startComp]であり、cIdx=startCom
p、…、startComp+numComps-1、i=0の配列Predictor
PaletteEntries[cIdx][i]である。PredictorPale
tteSize-1は、次のブロックの更新されたパレット予測子を指定する。
【0404】
変数PredictorPaletteSizeおよび配列PredictorPale
tteEntriesは、以下のように導出または修正される。
【0405】
for(i=0;i<CurrentPaletteSize;i++)
for(cIdx=startComp;cIdx<(startComp+numC
omps);cIdx++)
newPredictorPaletteEntries[cIdx][i]=Cu
rrentPaletteEntries[cIdx][i]
newPredictorPaletteSize=CurrentPaletteSi
ze
for(i=0;i<PredictorPaletteSize && newPre
dictorPaletteSize<PaletteMaxPredictorSiz
e;i++)
if(!PalettePredictorEntryReuseFlags[i])

for(cIdx=startComp;cIdx<(startComp+num
Comps);cIdx++) (5-15)
newPredictorPaletteEntries[cIdx][newP
redictorPaletteSize]=
PredictorPaletteEntries[cIdx][i]
newPredictorPaletteSize++

for(cIdx=startComp;cIdx<(startComp+numCo
mps);cIdx++)
for(i=0;i<newPredictorPaletteSize;i++)
PredictorPaletteEntries[cIdx][i]=newPr
edictorPaletteEntries[cIdx][i]
PredictorPaletteSize=newPredictorPalette
Size
【0406】
PredictorPaletteSizeの値が0からPaletteMaxPred
ictorSizeまでの範囲内にあることが、ビットストリーム適合性の要件である。
【0407】
5.1 実施形態#2
【0408】
5.1.1 変換係数のスケーリング処理
【0409】
この処理への入力は以下の通りである。
- 現在のピクチャの左上の輝度サンプルに対する現在の輝度変換ブロックの左上のサン
プルを規定する輝度位置(xTbY,yTbY)、
- 変換ブロックの幅を指定する変数nTbW、
- 変換ブロックの高さを指定する変数nTbH、
- 現在のブロックの色成分を規定する変数cIdx、
- 現在の色成分のビット深度を指定する変数bitDepth。
【0410】
この処理の出力は、要素d[x][y]を有するスケーリングされた変換係数の(nTb
W)×(nTbH)配列dである。量子化パラメータqPは、以下のように導出される。
-cIdxが0に等しい場合、以下が適用される。
- transform_skip_flag[xTbY][yTbY]が1である、
またはintra_bdpcm_flag[xTbY][yTbY]が1である場合、以
下が適用される。
qP=Max(4+QpBdOffsetY,Qp’) (8-954)’
- そうでない場合、
qP=Qp’ (8-954)
- そうでない場合、cIdxが1に等しく、tu_joint_cbcr_resid
ual[xTbY][yTbY]が1である場合、以下が適用される。
qP=Qp’CbCr (8-955)
- そうでない場合、cIdxが1である場合、以下が適用される。
qP=Qp’Cb (8-956)
- そうでない場合(cIdx=2)、以下が適用される。
qP=Qp’Cr
【0411】
一例において、強調表示された条件は、以下のようにさらに変更されてもよい。
transform_skip_flag[xTbY][yTbY]が1である場合、以
下が適用される。
【0412】
5.2 実施形態#3
【0413】
5.2.1 変換係数のスケーリング処理
【0414】
この処理への入力は以下の通りである。
- 現在のピクチャの左上の輝度サンプルに対する現在の輝度変換ブロックの左上のサン
プルを規定する輝度位置(xTbY,yTbY)、
- 変換ブロックの幅を指定する変数nTbW、
- 変換ブロックの高さを指定する変数nTbH、
- 現在のブロックの色成分を規定する変数cIdx、
- 現在の色成分のビット深度を指定する変数bitDepth。
【0415】
この処理の出力は、要素d[x][y]を有するスケーリングされた変換係数の(nTb
W)×(nTbH)配列dである。量子化パラメータqPは、以下のように導出される。
-cIdxが0に等しい場合、以下が適用される。
- transform_skip_flag[xTbY][yTbY]が1である、
またはintra_bdpcm_flag[ xTbY][yTbY]が1である場合、
以下が適用される。
qP=Max(4+(6*(input_bit_depth-8)),Qp’
) (8-954)
- そうでない場合、
qP=Qp’ (8-954)
- そうでない場合、cIdxが1に等しく、tu_joint_cbcr_resid
ual[xTbY][yTbY]が1である場合、以下が適用される。
qP=Qp’CbCr (8-955)
- そうでない場合、cIdxが1である場合、以下が適用される。
qP=Qp’Cb (8-956)
- そうでない場合(cIdx=2)、以下が適用される。
qP=Qp’Cr
【0416】
一例において、強調表示された条件は、以下のようにさらに変更されてもよい。
transform_skip_flag[xTbY][yTbY]が1である場合、以
下が適用される。
【0417】
5.3 実施形態#4
【0418】
5.3.1 変換係数のスケーリング処理この処理への入力は以下の通りである。
【0419】
- 現在のピクチャの左上の輝度サンプルに対する現在の輝度変換ブロックの左上のサン
プルを規定する輝度位置(xTbY,yTbY)、
- 変換ブロックの幅を指定する変数nTbW、
- 変換ブロックの高さを指定する変数nTbH、
- 現在のブロックの色成分を規定する変数cIdx、
- 現在の色成分のビット深度を指定する変数bitDepth。
【0420】
この処理の出力は、要素d[x][y]を有するスケーリングされた変換係数の(nTb
W)×(nTbH)配列dである。量子化パラメータqPは、以下のように導出される。
-cIdxが0に等しい場合、以下が適用される。
- transform_skip_flag[xTbY][yTbY]が1である、
またはintra_bdpcm_flag[xTbY][yTbY]が1である場合、以
下が適用される。
qP=Max(4,Qp’) (8-954)
- そうでない場合、
qP=Qp’ (8-954)
- そうでない場合、cIdxが1に等しく、tu_joint_cbcr_resid
ual[xTbY][yTbY]が1である場合、以下が適用される。
qP=Qp’CbCr (8-955)
- そうでない場合、cIdxが1である場合、以下が適用される。
qP=Qp’Cb (8-956)
- そうでない場合(cIdx=2)、以下が適用される。
qP=Qp’Cr
【0421】
一例において、強調表示された条件は、以下のようにさらに変更されてもよい。
transform_skip_flag[xTbY][yTbY]が1である場合、以
下が適用される。
【0422】
図17Aは、映像処理装置1700のブロック図である。装置1700は、本明細書に
記載の方法の1つ以上を実装するために使用してもよい。装置1700は、スマートフォ
ン、タブレット、コンピュータ、モノのインターネット(IoT)受信機等に実施されて
もよい。装置1700は、1つ以上の処理装置1702と、1つ以上のメモリ1704と
、映像処理ハードウェア1706と、を含んでもよい。1つまたは複数の処理装置170
2は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ
(複数可)1704は、本明細書で説明される方法および技術を実装するために使用され
るデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア1706
は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。
映像処理ハードウェア1706は、専用ハードウェア、またはグラフィカル処理装置ユニ
ット(GPU)若しくは専用信号処理ブロックの形式で、処理装置1702内に部分的に
または完全に含まれてもよい。
【0423】
図17Bは、開示された技術を実装することができる例示的な映像処理システムを示す
ブロック図の別の例である。図17Bは、本明細書で開示される様々な技術が実装され得
る例示的な映像処理システム1710を示すブロック図である。様々な実装形態は、シス
テム1710のコンポーネントの一部または全部を含んでもよい。システム1710は、
映像コンテンツを受信するための入力ユニット1712を含んでもよい。映像コンテンツ
は、未加工または非圧縮フォーマット、例えば、8または10ビットのマルチコンポーネ
ント画素値で受信されてもよく、または圧縮または符号化フォーマットで受信されてもよ
い。入力ユニット1712は、ネットワークインターフェース、周辺バスインターフェー
ス、または記憶インターフェースを表してもよい。ネットワークインターフェースの例は
、イーサネット(登録商標)、パッシブ光ネットワーク(PON)等の有線インターフェ
ース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インター
フェースを含む。
【0424】
システム1710は、本明細書に記載される様々な符号化または符号化方法を実装する
ことができる符号化コンポーネント1714を含んでもよい。符号化コンポーネント17
14は、入力ユニット1712から符号化コンポーネント1714の出力への映像の平均
ビットレートを低減して、映像の符号化表現を生成してもよい。従って、この符号化技術
は、映像圧縮または映像コード変換技術と呼ばれることがある。符号化コンポーネント1
714の出力は、コンポーネント1716によって表されるように、記憶されてもよいし
、接続された通信を介して送信されてもよい。入力ユニット1712において受信された
、記憶されたまたは通信された映像のビットストリーム(または符号化)表現は、コンポ
ーネント1718によって使用されて、表示インターフェースユニット1720に送信さ
れる画素値または表示可能な映像を生成してもよい。ビットストリーム表現からユーザが
見ることができる映像を生成する処理は、映像伸張(映像展開)と呼ばれることがある。
さらに、特定の映像処理動作を「符号化」動作またはツールと呼ぶが、符号化ツールまた
は動作は、エンコーダで使用され、対応する復号化ツール又は動作であり符号化の結果を
逆にするものは、デコーダによって行われることが理解されよう。
【0425】
周辺バスインターフェースユニットまたは表示インターフェースユニットの例は、ユニ
バーサルシリアルバス(USB)または高精細マルチメディアインターフェース(HDM
I(登録商標))またはディスプレイポート等を含んでもよい。ストレージインターフェ
ースの例は、シリアルアドバンスドテクノロジーアタッチメント(SATA)、PCI、
IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソ
コン、スマートフォン、またはデジタルデータ処理及び/または映像表示を実施可能な他
のデバイス等の様々な電子デバイスに実施されてもよい。
【0426】
図18Aは、映像処理のための例示的な方法1810を示す。この方法1810は、ス
テップ1812において、映像の現在の映像ブロックと現在の映像ブロックの符号化表現
との間で変換を行うことを含む。いくつかの実装形態において、前記変換は規則に従って
行われ、前記規則は、前記現在の映像ブロックを前記符号化表現に表すための恒等変換符
号化ツールの使用により、前記現在の映像ブロックを復号化するために使用される量子化
パラメータを示す構文フィールドが、前記量子化パラメータの値が規則に従って修正され
るように含まれることを規定しており、前記恒等変換符号化ツールにより、前記現在のブ
ロックの変換ドメインでの係数値が、前記現在の映像ブロックの残差ブロックの値と同じ
になることを可能にする。いくつかの実装形態において、前記符号化表現は、前記符号化
表現に含まれる量子化パラメータに基づく恒等変換を用いた符号化ツールの使用を示す構
文要素を選択的に含めることを規定するフォーマット規則に適合する。いくつかの実装形
態では、前記符号化表現は、映像の入力ビット深度を示す構文要素が符号化表現に含まれ
ることを規定するフォーマット規則に準拠している。
【0427】
図18Bは、映像処理のための例示的な方法1820を示す。方法1820は、ステッ
プ1822において、映像の映像ユニットの映像ブロックと映像の符号化表現との変換の
ため、映像ブロックまたは映像ユニットに関連付けられた量子化パラメータに基づいて映
像ブロックに対して前処理演算を行うか、後処理演算を行うかを決定することを含む。方
法1820は、ステップ1824において、決定に基づいて変換を行うことを含む。
【0428】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを有効化するよ
うに決定または判定することを含む。一例において、映像処理ツールまたはモードが有効
化される場合、エンコーダは、1つの映像ブロックを処理する際にこのツールまたはモー
ドを使用するまたは実装するが、このツールまたはモードの使用に基づいて、結果として
得られるビットストリームを必ずしも修正しなくてもよい。すなわち、映像のブロックか
ら映像のビットストリーム表現への変換は、決定または判定に基づいて映像処理ツールま
たはモードが有効化される場合に、この映像処理ツールまたはモードを使用する。別の例
において、映像処理ツールまたはモードが有効化される場合、デコーダは、ビットストリ
ームが映像処理ツールまたはモードに基づいて修正されたことを知って、ビットストリー
ムを処理する。すなわち、決定または判定に基づいて有効化された映像処理ツールまたは
モードを使用して、映像のビットストリーム表現から映像のブロックへの変換を行う。
【0429】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを無効化するよ
うに決定または判定することを含む。一例において、映像処理ツールまたはモードが無効
にされている場合、エンコーダは、映像のブロックを映像のビットストリーム表現に変換
する際に、このツールまたはモードを使用しない。別の例において、映像処理ツールまた
はモードが無効にされている場合、デコーダは、決定または判定に基づいて無効化された
映像処理ツールまたはモードを使用してビットストリームが修正されていないことを知っ
て、ビットストリームを処理する。
【0430】
本明細書では、「映像処理」という用語は、映像符号化、映像復号化、映像圧縮、また
は映像展開を指すことができる。例えば、映像圧縮アルゴリズムは、映像の画素表現から
対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現
在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、
ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよ
い。例えば、1つのマクロブロックは、変換および符号化された誤り残差値の観点から、
且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符
号化されてもよい。
【0431】
以下の項目は、いくつかの実施形態及び技術を説明する。第1組の項目では、前章で開
示された技術の特定の特徴及び態様を説明する。
【0432】
1.映像符号化方法であって、映像の映像領域と映像領域のビットストリーム表現との
変換中に、映像領域に関するパレット符号化モード条件に基づいて、映像領域の非ブロッ
ク化処理のパラメータを判定することと、選択されたパラメータを使用して、変換中に非
ブロック化処理を使用することと、を含む、方法。
【0433】
2.非ブロック化処理のパラメータが、イントラ符号化モードまたはインター符号化モ
ードまたはイントラブロックコピー符号化モードで符号化された別の映像領域の変換に使
用されるパラメータとは異なる、項目1に記載の方法。
【0434】
3.パラメータが、P側およびQ側の映像領域の近傍の映像領域がパレットモード符号
化を使用して符号化されるかどうかに基づいて決定される境界強度値を含む、項目1~2
のいずれかに記載の方法。
【0435】
4.パレットモードで符号化されているP側およびQ側の両方の映像領域のために、境
界強度がゼロである、項目3の方法。
【0436】
5.パレットモードが、イントラ予測モードと組み合わせたパレットモード(PCIP
)または複合パレットモード(CPM)と組み合わせたパレットモードに対応する、項目
1~4のいずれかに記載の方法。
【0437】
セクション4の項目1は、上記の方法の追加の例および実施形態を提供する。
【0438】
6.映像処理方法であって、映像ピクチャと映像ピクチャのビットストリーム表現との
変換中に、割り当て規則に従って、近傍の映像の符号化モードに基づいて映像ピクチャの
映像ブロックに非ブロック化処理を適用するための非ブロック化フィルタパラメータを選
択することと、割り当て規則に従って、非ブロック化処理を適用することにより、変換を
行うことと、を含み、割り当て規則は、近傍のブロックが複合パレットモードで符号化さ
れている場合、または別の符号化モードで符号化されている場合に、同じパラメータを使
用するように指定する、方法。
【0439】
7.別の符号化モードがイントラブロックコピーモードに対応する、項目6に記載の方
法。
【0440】
8.別の符号化モードがパレット符号化モードに対応する、項目6に記載の方法。
【0441】
セクション4の項目2は、上記の方法の追加の例および実施形態を提供する。
【0442】
9.映像処理方法であって、映像ピクチャと映像ピクチャのビットストリーム表現との
変換中に、割り当て規則に従って、近傍の映像の符号化モードに基づいて映像ピクチャの
映像ブロックに非ブロック化処理を適用するための非ブロック化フィルタパラメータを選
択することと、割り当て規則に従って、非ブロック化処理を適用することにより、変換を
行うことと、を含み、割り当て規則は、近傍のブロックがイントラ予測モードと組み合わ
せたパレット(PCIP)モードで符号化されている場合または別の符号化モードで符号
化されている場合に同じパラメータを使用するように指定する、方法。
【0443】
10.別の符号化モードがイントラブロックコピーモードに対応する、項目9に記載の
方法。
【0444】
11.別の符号化モードがパレット符号化モードに対応する、項目9に記載の方法。
【0445】
セクション4の項目3は、上記の方法の追加の例および実施形態を提供する。
【0446】
12.映像処理方法であって、コンポーネント値のパレットを対応する映像ブロックの
画素を符号化するために使用するパレット符号化モードを使用して映像ピクチャの映像ブ
ロックと映像ブロックのビットストリーム表現との変換を行うことを含み、ビットストリ
ーム表現中のフラグは、対応する映像ブロックにおける非ゼロ係数が存在していることを
指示し、このフラグは、パレット符号化モード、イントラ予測モードと組み合わせたパレ
ットモード(PCIP)、または複合パレットモード(CPM)、で符号化された映像ブ
ロックを信号通知するために使用される、方法。
【0447】
13.フラグの値は、対応するブロックがエスケープ画素を有するかどうかに依存する
、項目12に記載の方法。
【0448】
セクション4の項目4は、上記の方法の追加の例および実施形態を提供する。
【0449】
14.映像処理方法であって、複数の映像ブロックを含む映像ピクチャと映像ピクチャ
のビットストリーム表現との変換中に、複数の映像ブロックの各々に関連したパレット復
号化モード条件に基づいて複数の映像ブロックの各々に対する非ブロック化処理の適用可
能性を判定することと、その適用可能性に基づいて、変換中に複数のブロックに非ブロッ
ク化処理を選択的に使用することと、を含む、方法。
【0450】
15.適用可能性の判定は、非ブロック化処理が、パレットモードまたはイントラ予測
モードと組み合わせたパレットモード(PCIP)、または複合パレットモード(CPM
)で符号化されたブロックには適用できないことを判定する、項目14に記載の方法。
【0451】
16.適用可能性の判定は、P側ブロックまたはQ側ブロックがそれぞれパレットモー
ドまたはPCIPモードまたはCPMモードで符号化されている場合に、P側サンプルま
たはQ側サンプルが適用不可能であると判定することを含む、項目14に記載の方法。
【0452】
セクション4の項目5は、上記の方法の追加の例および実施形態を提供する。
【0453】
17.映像処理方法であって、複数の映像ブロックを含む映像フレームと、複合パレッ
トモード(CPM)で符号化された映像フレームのビットストリーム表現との変換を行う
ことを含み、ビットストリーム表現は、映像領域に適用可能なイントラモード、インター
モード、イントラブロックコピーモード、またはパレットモードの指示とは別の、映像領
域レベルでのCPMモードの指示を含む、方法。
【0454】
18.映像領域が、変換ユニットまたは予測ユニットまたは符号化ブロックユニットに
対応する、項目17に記載の方法。
【0455】
19.ビットストリーム表現が、映像領域に適用可能なイントラモード、インターモー
ド、イントラブロックコピーモードまたはパレットモードの指示の後に、CPMモードの
指示を含む、項目17~18のいずれかに記載の方法。
【0456】
セクション4の項目6は、上記の方法の追加の例および実施形態を提供する。
【0457】
20.映像処理方法であって、コンポーネント値のパレットを対応する映像ブロックの
画素を符号化するために使用する符号化モードを使用して、映像ピクチャの映像ブロック
と映像ブロックのビットストリーム表現との変換を行うことを含み、パレット符号化モー
ドに関する構文要素が、所与の映像ブロックが属する色成分の特性に基づいて、所与の映
像ブロックのビットストリーム表現に選択的に含まれ、符号化モードは、パレット符号化
モード、イントラ予測と組み合わせた(PCIP)モードまたは複合パレットモード(C
PM)を含む、方法。
【0458】
21.映像処理方法であって、パレット符号化モードに関する構文要素が、所与の映像
ブロックに使用されるパーティション構造または平面符号化に基づいてさらに選択的に含
まれる、映像処理方法。
【0459】
22.構文要素が二重ツリーパーティション構造に対してのみ含まれる、項目20~2
1のいずれかに記載の方法
【0460】
23.映像ピクチャが4:0:0フォーマットであり、所与の映像ブロックがクロマブ
ロックであることに起因して、構文要素がスキップされる、項目20~21のいずれかに
記載の方法。
【0461】
セクション4の項目7は、上記の方法の追加の例および実施形態を提供する。
【0462】
24.所与の映像ブロックはクロマ成分に対応し、パレット符号化モードに関する構文
要素は、所与の映像に対応する輝度ブロックの1つ以上の選択されたブロックの符号化さ
れた情報に基づいて選択的に含まれる、項目20に記載の方法。
【0463】
25.輝度ブロックの1つ以上の選択されたブロックが、最小の符号化ユニットまたは
最小の予測ユニットまたは最小の変換ユニットサイズに対応する、項目24に記載の方法
【0464】
セクション4の項目8は、上記の方法の追加の例および実施形態を提供する。
【0465】
26.符号化モードがPCIPモードである、項目20~25のいずれかに記載の方法
【0466】
セクション4の項目9は、上記の方法の追加の例および実施形態を提供する。
【0467】
27.複数の映像ブロックを含む映像ピクチャと、複数のブロックの少なくとも一部が
予測符号化モードで符号化されている映像ピクチャのビットストリーム表現との変換を行
い、映像ブロックは、映像ピクチャの他の映像ブロックを符号化するために使用される他
の予測符号化モードとは別のまたはその特別な事例として識別される複合パレットモード
(CPM)で符号化される、映像処理方法。
【0468】
28.他の予測符号化モードは、イントラモード、イントラブロックコピー、パレット
モード、イントラスライスまたはIピクチャまたはイントラタイルグループのCPMモー
ドを含む、項目27に記載の方法。
【0469】
セクション4の項目10は、上記の方法の追加の例および実施形態を提供する。
【0470】
29.CPMはビットストリーム表現における他の予測符号化モードの特殊なケースと
して識別され、CPMを信号通知する構文要素は、CPMが特殊なケースである他の予測
モードのタイプに基づいて選択的に信号通知される、項目27の方法。
【0471】
30A.他の予測モードのタイプがイントラモードであり、CPMの構文要素の信号通
知がスキップされる、項目29に記載の方法。
【0472】
30B.他の予測モードのタイプがスキップモードであり、CPMの構文要素の信号通
知がスキップされる、項目29に記載の方法。
【0473】
セクション4の項目11は、上記の方法の追加の例および実施形態を提供する。
【0474】
31.映像処理方法であって、現在の映像ブロックと、現在の映像ブロックが複合パレ
ットモード(CPM)を用いて符号化された現在の映像ブロックの第1のビットストリー
ム表現と、の第1の変換を行い、現在の映像ブロックは現在の映像ブロックに関連付けら
れた動きベクトルを有し、そして、次の映像ブロックと、次の映像ブロックの第2のビッ
トストリーム表現と、の第2の変換を行い、現在の映像ブロックに関連付けられた動きベ
クトルを用いた動き予測が第2の変換中に使用される、方法。
【0475】
32.動き予測が第2の変換のマージ候補として使用される、項目31に記載の方法。
【0476】
33.動き予測が、第2の変換中に履歴に基づく動きベクトル予測器として使用される
、項目31または32に記載の方法。
【0477】
セクション4の項目12は、上記の方法の追加の例および実施形態を提供する。
【0478】
34.映像処理方法であって、現在の映像ブロックと、現在の映像ブロックがイントラ
予測と組み合わせた(PCIP)モードで符号化されている現在の映像ブロックの第1の
ビットストリーム表現と、の第1の変換を行い、現在の映像ブロックは、現在の映像ブロ
ックに関連付けられたイントラ予測方向を有し、そして、次の映像ブロックと次の映像ブ
ロックの第2のビットストリーム表現と、の第2の変換を行い、現在の映像ブロックに関
連付けられたイントラ予測方向に基づくイントラモード予測子が第2の変換中に使用され
る、方法。
【0479】
35.現在の映像ブロックに関連付けられたイントラ予測方向が、第2の変換中に最大
確率モード候補として使用される、項目34に記載の方法。
【0480】
セクション4の項目13は、上記の方法の追加の例および実施形態を提供する。
【0481】
36.映像処理方法であって、映像の現在の映像ブロックと映像のビットストリーム表
現との変換中に使用されるパレットの最大エントリ数を判定することと、最大数を使用し
て変換を行うことと、を含み、ビットストリーム表現内のフィールドが、映像ユニット全
体で最大数の変化を信号通知する、方法。
【0482】
37.映像ユニットが、符号化ツリーブロックまたは符号化ユニットまたは予測ユニッ
トまたは変換ユニットに対応する、項目36に記載の方法。
【0483】
38.最大数が現在の映像ブロックの符号化された情報に基づく、項目36~37の方
法。
【0484】
セクション4の項目14は、上記の方法の追加の例および実施形態を提供する。
【0485】
39.映像処理方法であって、1つ以上の映像ブロックを含む映像ピクチャと映像ピク
チャのビットストリーム表現との変換中に、パレット符号化モードを使用することに起因
して、スケーリング行列の使用が無効であると判定することと、スケーリング行列の使用
が無効であると判定したことに基づいて変換を行うことと、を含む、方法。
【0486】
40.映像処理方法であって、1つ以上の映像ブロックを含む映像ピクチャと映像ピク
チャのビットストリーム表現との変換中に、パレット符号化モードを使用することに起因
して、スケーリング行列の使用が許可されていることを判定することと、スケーリング行
列の使用が許可されているという判定に基づいて変換を行うことと、を含む、方法。
【0487】
セクション4の項目15は、上記の方法の追加の例および実施形態を提供する。
【0488】
41.変換が行われている映像の特性を判定する際にこの方法が適用される、項目1か
ら40のいずれかに記載の方法。
【0489】
42.映像の特性が映像のコンテンツタイプを含む、項目41に記載の方法。
【0490】
43.映像の特性が、変換に使用されるブロック寸法を含む、項目41に記載の方法。
【0491】
44.映像の特性が、変換に使用されるパーティションツリー構造を含む、項目41に
記載の方法。
【0492】
セクション4の項目25は、上記の方法の追加の例および実施形態を提供する。
【0493】
46.映像処理方法であって、現在の映像ブロックの1つ以上の特徴に基づいて、この
現在の映像ブロックにおけるイントラブロックコピー(IBC)モードの使用を符号化す
るコンテクストを構成することと、この構成に基づいて、この現在の映像ブロックとこの
現在の映像ブロックのビットストリーム表現とを変換することと、を含む方法。
【0494】
47.前記1つ以上の特徴は、前記現在の映像ブロックのブロックサイズを含む、項目
46に記載の方法。
【0495】
48.前記1つ以上の特徴は、前記現在の映像ブロックの形状を含む、項目46に記載
の方法。
【0496】
49.前記形状は、正方形または非正方形である、項目48に記載の方法。
【0497】
セクション4の項目16は、上記の方法の追加の例および実施形態を提供する。
【0498】
50.前記構成は、現在の映像ブロックの近傍のブロックの符号化モードにさらに基づ
く、項目46に記載の方法。
【0499】
セクション4の項目17は、上記の方法の追加の例および実施形態を提供する。
【0500】
51.前記コンテクストは、第1の構文要素を含み、前記構成は、現在の映像ブロック
の近傍のブロックに関連付けられた第2の構文要素にさらに基づく、項目46に記載の方
法。
【0501】
セクション4の項目18は、上記の方法の追加の例および実施形態を提供する。
【0502】
52.映像処理方法であって、現在の映像ブロックのビットストリーム表現における符
号化モードの指示を選択的に含めることに関して、現在の映像ブロックに対して、恒等変
換を使用する符号化モードを決定することと、この決定に基づいて、現在の映像ブロック
とビットストリーム表現との変換を行うことと、を含む方法。
【0503】
53.前記符号化モードは、変換スキップモードまたはブロック差動パルス符号変調(
QR-BDPCM)である、項目52に記載の方法。
【0504】
セクション4の項目23は、上記の方法の追加の例および実施形態を提供する。
【0505】
54.現在の映像ブロックと現在の映像ブロックのビットストリーム表現との間の変換
のために前処理演算を使用するかどうかに関する第1の決定を行うことと、前記変換に対
して後処理演算を使用するかどうかに関する第2の決定を行うことと、第1の決定および
第2の決定と一致する変換を行うことと、を含み、前記第1の決定および/または前記第
2の決定は、前記現在の映像ブロックを含む前記現在の映像ブロックまたは映像領域の量
子化パラメータを使用する。
【0506】
55.前記量子化パラメータが閾値未満である場合に、前記第1の決定または前記第2
の決定が前処理演算または後処理演算を許可しない、項目54に記載の方法。
【0507】
56.前記閾値は、前記現在の映像ブロックのビット深度の関数である、項目55に記
載の方法。
【0508】
57.前記前処理演算は、クロマスケーリングを伴う輝度マッピングを含む、項目54
~56のいずれか1つに記載の方法。
【0509】
58.前記後処理演算は、フィルタリング演算を含む、項目54~57のいずれか1項
に記載の方法。
【0510】
前セクションの項目31は、項目54~58に記載された技術の更なる変形を提供する
【0511】
59.変換が、ビットストリーム表現から映像領域の画素値を生成することを含む、項
目1~58のいずれかに記載の方法。
【0512】
60.変換が、映像領域の画素値からビットストリーム表現を生成することを含む、項
目1~58のいずれかに記載の方法。
【0513】
61.項目1~58のいずれか1項以上に記載の方法を実装するように構成された処理
装置を備える映像処理装置。
【0514】
62.実行されると、項目1~58のいずれか1つ以上に記載の方法を処理装置に実装
させるプログラムコードを記憶するコンピュータ可読媒体。
【0515】
第2組の項目は、前のセクションで開示された手法の特定の機能と側面、たとえば、実
装例26から33について説明している。
【0516】
1.映像処理方法であって、規則に従って、映像の現在の映像ブロックと現在の映像ブ
ロックの符号化表現との変換を行うことを含み、前記規則は、前記現在の映像ブロックを
前記符号化表現に表すための恒等変換符号化ツールの使用により、前記現在の映像ブロッ
クを復号化するために使用される量子化パラメータを示す構文フィールドが、前記量子化
パラメータの値が規則に従って修正されるように含まれることを規定しており、前記恒等
変換符号化ツールにより、前記現在のブロックの変換ドメインでの係数値が、前記現在の
映像ブロックの残差ブロックの値と同じになることを可能にする、方法。
【0517】
2.輝度量子化パラメータ範囲オフセット(QpBdOffsety)および/または
クロマ量子化パラメータ範囲オフセット(QpBdOffsetc)に基づいて、前記量
子化パラメータの値は修正される、項目1に記載の方法。
【0518】
3.固定オフセットに基づいて量子化パラメータの値を修正する、項目1に記載の方法
【0519】
4.前記量子化パラメータの値は、入力ビット深度に基づいて修正される、項目1に記
載の方法。
【0520】
5.内部ビット深度および入力ビット深度に基づいて、前記量子化パラメータの値は修
正される、項目1に記載の方法。
【0521】
6.前記恒等変換符号化ツールは、変換および逆変換プロセスをスキップする変換スキ
ップモードに対応する、項目1~5のいずれか1項に記載の方法。
【0522】
7.前記恒等変換符号化ツールは、現在の映像ブロックに対応する量子化残差ブロック
にブロック差動パルス符号変調を適用する量子化残差ブロック差動パルス符号変調(QP
-BDPCM)モードに対応する、項目1~5のいずれか1項に記載の方法。
【0523】
8.前記規則は、構文要素が1である場合、前記量子化パラメータにクリッピングプロ
セスを適用することを規定する、項目1~7のいずれか1項に記載の方法。
【0524】
9.前記量子化パラメータは、前記量子化パラメータが前記輝度量子化パラメータ範囲
オフセット(QpBdOffsety)よりも小さい場合、4と前記輝度量子化パラメー
タ範囲オフセット(QpBdOffsety)の和である値に設定される、項目8に記載
の方法。
【0525】
10.前記量子化パラメータが前記一定の値よりも小さい場合、前記量子化パラメータ
を一定の値に設定する、項目8に記載の方法。
【0526】
11.前記量子化パラメータが(4+6*(bd-bdi))よりも小さい場合、前記
量子化パラメータを(4+6*(bd-bdi))に設定し、式中、bdは内部ビット深
度を表し、bdiは入力ビット深度を表す、項目8に記載の方法。
【0527】
12.前記規則は、構文要素が1であるとき、量子化パラメータ(QPdec)にオフ
セットを加えて修正量子化パラメータを得ることを規定する、項目1~7のいずれかに記
載の方法。
【0528】
13.前記修正された量子化パラメータは、QPdec、4と輝度量子化パラメータレ
ンジオフセット(QpBdOffsety)の和またはQPdecと4の和に相当する、
項目1~7のいずれか1項に記載の方法。
【0529】
14.前記修正された量子化パラメータは、入力ビット深度を示す式QPdec+(4
+6*(bdi-8))によって得られる数値に相当し、bdiは前記入力ビット深度で
ある、項目4~12に記載の方法。
【0530】
15.前記修正された量子化パラメータは、映像の後続のブロックを処理するために使
用され、後続のブロックの処理は、量子化、逆量子化、フィルタリング、または予測演算
のためのデルタ量子化パラメータを含む複数のパラメータのうちの少なくとも1つを使用
することを含む、項目1~14のいずれか1項に記載の方法。
【0531】
16.前記量子化パラメータの値は、内部ビット深度QPオフセットとは独立して取得
される、項目1~15のいずれかに記載の方法。
【0532】
17.前記量子化パラメータの値は、輝度量子化パラメータの範囲オフセット(QpB
dOffsety)を加えずに得られる、項目1~15のいずれか1項に記載の方法。
【0533】
18.前記量子化パラメータの値は、内部ビット深度QPオフセットを使用して取得さ
れる、項目1~15のいずれかに記載の方法。
【0534】
19.映像処理方法であって、映像の現在の映像ブロックと現在の映像ブロックの符号
化表現との変換を行うことを含み、前記符号化表現は、前記符号化表現に含まれる量子化
パラメータに基づく恒等変換を用いた符号化ツールの使用を示す構文要素を選択的に含め
ることを規定するフォーマット規則に適合する、方法。
【0535】
20.前記符号化ツールは、変換および逆変換プロセスをスキップする変換スキップモ
ードに対応し、または現在の映像ブロックに対応する量子化残差ブロックにブロック差動
パルス符号変調を適用する量子化残差ブロック差動パルス符号変調(QP-BDPCM)
モードに対応する、項目19に記載の方法。
【0536】
21.前記フォーマット規則は、前記量子化パラメータの値に基づいて、前記構文要素
を含まないように規定する、項目19に記載の方法。
【0537】
22.前記フォーマット規則は、前記量子化パラメータの値が4よりも小さい、または
4と輝度量子化パラメータの範囲オフセットとの和よりも小さい場合、前記構文要素を含
まないことを規定する、項目21に記載の方法。
【0538】
23.前記構文要素は、transform_skip_flagおよび/またはin
tra_bdpcm_flagを含む、項目19~22のいずれかに記載の方法。
【0539】
24.映像の現在の映像ブロックと現在の映像ブロックの符号化表現との変換を行うこ
とを含み、符号化表現は、映像の入力ビット深度を示す構文要素が符号化表現に含まれる
ことを規定するフォーマット規則に準拠する、映像処理方法。
【0540】
25.前記構文要素(input_bitdepth_8)は、シーケンスパラメータ
セット(SPS)または映像パラメータ集合(VPS)に含まれ、入力ビット深度を表し
、該入力ビット深度から8を減算した値を有する、項目24に記載の方法。
【0541】
26.前記構文要素(internal_bitdepth_input_bitde
pth)は、シーケンスパラメータセット(SPS)または映像パラメータ集合(VPS
)に含まれ、入力ビット深度を表し、内部ビット深度から入力ビット深度を減算した値を
有する、項目24に記載の方法。
【0542】
27.前記構文要素は、0とdQPと間の範囲を有し、dQPは固定値である、項目2
5または26に記載の方法。
【0543】
28.映像処理方法であって、映像の映像ユニットの映像ブロックと映像の符号化表現
との変換のため、映像ブロックまたは映像ユニットに関連付けられた量子化パラメータに
基づいて映像ブロックに対して前処理演算を行うか、後処理演算を行うかを決定すること
と、前記決定に基づいて変換を行うことと、を含む、方法。
【0544】
29.前記前処理演算は、現在の映像ブロックの輝度サンプルを第1のドメインと第2
のドメインとの間で再形成し、クロマ残差を輝度依存的にスケーリングする、クロマスケ
ーリング(LMCS)演算を伴う輝度マッピングに対応する、項目28に記載の方法。
【0545】
30.前記後処理演算は、前記現在の映像ブロックを再構成した後に行われるフィルタ
リング演算に対応する、項目28に記載の方法。
【0546】
31.前記量子化パラメータが閾値よりも小さい場合、前記前処理および/または前記
後処理は許可されない、項目28に記載の方法。
【0547】
32.前記閾値は予め定義されている、項目31に記載の方法。
【0548】
33.前記量子化パラメータは、規則に従って修正される、項目31に記載の方法。
【0549】
34.前記量子化パラメータ(QP)が(4+6*(bd-bdi))よりも小さい場
合、非ブロック化演算は行われず、前記bdは、内部ビット深度であり、前記bdiは、
入力ビット深度を示す、項目28に記載の方法。
【0550】
35.前記量子化パラメータ(QP)が(4+6*(bd-bdi))よりも小さい場
合、適応ループフィルタリング演算は行われず、前記bdは、内部ビット深度を示し、前
記bdiは、入力ビット深度を示す、項目28に記載の方法。
【0551】
36.前記量子化パラメータ(QP)が(4+6*(bd-bdi))よりも小さい場
合、サンプル適応オフセット演算は行われず、前記bdは、内部ビット深度を示し、前記
bdiは、入力ビット深度を示す、項目28に記載の方法。
【0552】
37.前記量子化パラメータ(QP)が(4+6*(bd-bdi))よりも小さい場
合、クロマスケーリング(LMCS)演算での輝度マッピングは行われず、前記bdは、
内部ビット深度を示し、前記bdiは、入力ビット深度を示す、項目28に記載の方法。
【0553】
38.前記変換を行うことは、前記映像から前記符号化表現を生成するステップを含む
、項目1~37のいずれかに記載の方法。
【0554】
39.前記変換を行うことは、前記符号化表現から前記映像を生成することを含む、項
目1~37のいずれかに記載の方法。
【0555】
40.項目1~39のいずれか1つ以上に記載の方法を実装するように構成された処理
装置を備える映像処理装置。
【0556】
41.実行されると、項目1~39のいずれか1つ以上に記載の方法を処理装置に実装
させるプログラムコードを記憶するコンピュータ可読媒体。
【0557】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュ
ール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物
を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しく
はハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施しても
よい。開示された、およびその他の実施形態は、1つ以上のコンピュータプログラム製品
、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制
御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1
つ以上のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可
読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質
の組成物、またはこれらの1つ以上の組み合わせであってもよい。「データ処理装置」と
いう用語は、例えば、プログラマブル処理装置、コンピュータ、または複数の処理装置、
若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および
機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境
を作るコード、例えば、処理装置ファームウェア、プロトコルスタック、データベース管
理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成す
るコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成
した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化す
るために生成される。
【0558】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション
、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された
言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタ
ンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジ
ュール、成分、サブルーチン、または他のユニットとして含む任意の形式で展開すること
ができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対
応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの
一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に記録されて
いてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の
調整ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を
格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つの
サイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワーク
によって相互接続される複数のコンピュータで実行させるように展開することも可能であ
る。
【0559】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生
成することによって機能を実行するための1つ以上のコンピュータプログラムを実行する
1つ以上のプログラマブル処理装置によって行うことができる。処理およびロジックフロ
ーはまた、特定用途のロジック回路、例えば、FPGA(フィールドプログラマブルゲー
トアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置はま
た、特別目的のロジック回路として実装することができる。
【0560】
コンピュータプログラムの実行に適した処理装置は、例えば、汎用および専用マイクロ
処理装置の両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上の処理装置
を含む。一般的に、処理装置は、リードオンリーメモリまたはランダムアクセスメモリま
たはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を
実行するための処理装置と、命令およびデータを記憶するための1つ以上のメモリデバイ
スとである。一般的に、コンピュータは、データを記憶するための1つ以上の大容量記憶
デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこ
れらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するよ
うに動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイス
を有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコ
ンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを
含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば
内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROM
およびDVD-ROMディスク等の半導体記憶装置を含む。処理装置およびメモリは、特
定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み
込まれてもよい。
【0561】
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範
囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特
有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態の
コンテクストで説明されている特定の特徴は、1つの例において組み合わせて実装しても
よい。逆に、1つの例のコンテクストで説明された様々な特徴は、複数の実施形態におい
て別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、
特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されてい
てもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わ
せから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサ
ブコンビネーションのバリエーションに向けられてもよい。
【0562】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成
するために、このような動作が示された特定の順番でまたは連続した順番で行われること
、または示された全ての動作が行われることを必要とするものと理解されるべきではない
。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、
全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0563】
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示され
ているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。少数の実施
例と例のみが記載されており、本願文書に記載され図示されたものに基づいて、他の実施
、拡張および変形がなされ得る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17A
図17B
図18A
図18B
図19
図20
図21
図22
図23
図24