(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024050704
(43)【公開日】2024-04-10
(54)【発明の名称】映像符号化におけるパレット予測子の使用
(51)【国際特許分類】
H04N 19/593 20140101AFI20240403BHJP
H04N 19/70 20140101ALI20240403BHJP
H04N 19/186 20140101ALI20240403BHJP
【FI】
H04N19/593
H04N19/70
H04N19/186
【審査請求】有
【請求項の数】19
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024010338
(22)【出願日】2024-01-26
(62)【分割の表示】P 2022516099の分割
【原出願日】2020-09-10
(31)【優先権主張番号】PCT/CN2019/105554
(32)【優先日】2019-09-12
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】ジャン リー
(72)【発明者】
【氏名】ジュー ウェイジャ
(72)【発明者】
【氏名】シュー ジジョン
(57)【要約】 (修正有)
【課題】パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を行う映像処理の方法、デバイスおよびシステムを提供する。
【解決手段】映像処理の方法は、パレットモードを使用して、映像の現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、予測子パレットは、パレットモードにおける現在のブロックの代表サンプル値のパレットを予測するために使用される。現在のブロックの特徴に基づく規則に従って、現在のブロックの変換後の予測子パレットの更新が無効にされる。
【選択図】
図11
【特許請求の範囲】
【請求項1】
映像処理の方法であって、
代表サンプル値のパレットが現在のブロックを符号化するために用いられるパレットモードを用いて、映像の前記現在のブロックと前記映像の符号化表現との間の変換を実行することを有し、
前記変換の間、予測子パレットが代表サンプル値の前記パレットを予測するために用いられ、
前記現在のブロックの前記変換の後に、前記予測子パレットの更新が、前記現在のブロックの特徴に基づく規則に従って無効化される、方法。
【請求項2】
前記現在のブロックの前記特徴は、前記現在のブロックに関連付けられた符号化情報を含む、請求項1に記載の方法。
【請求項3】
前記現在のブロックの前記特徴は、前記現在のブロックの寸法を含む、請求項1に記載の方法。
【請求項4】
前記規則は、前記現在のブロックの幅が第1の閾値以下であり、かつ、前記現在のブロックの高さが第2の閾値以下である場合、前記予測子パレットの前記更新が無効化されることを規定する、請求項3に記載の方法。
【請求項5】
前記規則は、前記現在のブロックの高さが第1の閾値以下である場合、前記予測子パレットの前記更新が無効化されることを規定する、請求項3に記載の方法。
【請求項6】
前記規則は、前記現在のブロックの幅が第1の閾値以上であり、かつ、前記現在のブロックの高さが第2の閾値以上である場合、前記予測子パレットの前記更新が無効化されることを規定する、請求項3に記載の方法。
【請求項7】
前記規則は、前記現在のブロックの高さが第1の閾値以上である場合、前記予測子パレットの前記更新が無効化されることを規定する、請求項3に記載の方法。
【請求項8】
前記第1の閾値または前記第2の閾値は、予め定義されるか、前記符号化表現にて信号通知される、請求項4から7のいずれか一項に記載の方法。
【請求項9】
前記第1の閾値は、4、16、または1024である、請求項4から8のいずれか一項に記載の方法。
【請求項10】
前記第2の閾値は、4、16、または1024である、請求項4から8のいずれか一項に記載の方法。
【請求項11】
前記第1の閾値または前記第2の閾値は、前記現在のブロックの色成分に基づく、請求項4から8のいずれか一項に記載の方法。
【請求項12】
映像処理の方法であって、
代表サンプル値のパレットが現在のブロックを符号化するために用いられるパレットモードを用いて、映像の前記現在のブロックと前記映像の符号化表現との間の変換を実行することを有し、
前記変換の間、予測子パレットが代表サンプル値の前記パレットを予測するために用いられ、
前記予測子パレットへの変更が行われるか否かが、前記現在のブロックの色成分に従って判定される、方法。
【請求項13】
前記予測子パレットへの前記変更は、更新、初期化、または前記予測子パレットのリセットを含む、請求項11に記載の方法。
【請求項14】
前記色成分は、輝度またはクロマ成分を含む、請求項11に記載の方法。
【請求項15】
前記予測子パレットは、前記現在のブロックの前記色成分に対応する情報を含む、請求項12から14のいずれか一項に記載の方法。
【請求項16】
前記予測子パレットは、前記現在のブロックのすべての色成分に対応する情報を含む、請求項12から14のいずれか一項に記載の方法。
【請求項17】
前記予測子パレットは、前記現在のブロックの2つのクロマ成分に対応する情報を含む、請求項12から14のいずれか一項に記載の方法。
【請求項18】
映像処理の方法であって、
代表サンプル値のパレットが現在のブロックを符号化するために用いられるパレットモードを用いて、映像の映像ユニットにおける前記現在のブロックと前記映像の符号化表現との間の変換を実行することを有し、
前記変換の間、複数の予測子パレットが代表サンプル値の前記パレットを予測するために用いられる、方法。
【請求項19】
前記現在のブロックの予測子パレットは、少なくともグローバルパレットおよびローカルパレットに従って更新される、請求項18に記載の方法。
【請求項20】
前記複数の予測子パレットは、前記パレットモードを用いて符号化された前記映像ユニットにおけるK個のブロックに関連付けられる、請求項18に記載の方法。
【請求項21】
異なる色成分に対するパレットは、前記複数の予測子パレットの異なる予測子パレットに従って判定される、請求項18から20のいずれか一項に記載の方法。
【請求項22】
前記複数の予測子パレットは、前記映像の最初のブロックの変換に先立って、または、前に変換された映像ユニットにおける最後のブロックの変換の後に、リセットまたは初期化される、請求項18から21のいずれか一項に記載の方法。
【請求項23】
前記複数の予測子パレットのうちの予測子パレットのインデックスは、前記符号化表現における、符号化ユニット、予測ユニット、符号化ツリーユニット、符号化ツリーブロック、符号化ツリーユニットのサブ領域、または符号化ツリーブロックにて信号通知される、請求項18から21のいずれか一項に記載の方法。
【請求項24】
映像処理の方法であって、
代表サンプル値のパレットが現在のブロックを符号化するために用いられるパレットモードを用いて、映像の映像ユニットにおける前記現在のブロックと前記映像の符号化表現との間の変換を実行することを有し、
前記変換の間、予測子パレットが代表サンプル値の前記パレットを予測するために用いられ、
前記予測子パレットは、規則に従って、前記映像ユニットにおける最初のブロックの変換の前、または、前の映像ユニットにおける最後の映像ブロックの変換の後に、リセットまたは初期化される、方法。
【請求項25】
前記映像ユニットは、符号化ツリーユニットのサブリージョン、仮想パイプラインデータユニット、1または複数の符号化ツリーユニット、符号化ツリーブロック、1または複数の符号化ユニット、符号化ツリーユニットの行、ライル、ブリック、サブピクチャ、または前記映像のビューを含む、請求項24に記載の方法。
【請求項26】
前記規則は、複数の映像ユニットのウェイブフロントパラレル処理が有効か否かに関わらず、前記予測子パレットをリセットすることまたは初期化することが前記映像ユニットに適用可能であることを規定する、請求項24または25に記載の方法。
【請求項27】
前記映像ユニットは、クロマ成分に対応する符号化ツリーユニットの行を含む、請求項25に記載の方法。
【請求項28】
前記最初のブロックは、前記符号化ツリーユニットの行における前記クロマ成分に対応する最初の符号化ツリーブロックを含む、請求項27に記載の方法。
【請求項29】
前記規則は、デュアルツリーパーティションが適用され、かつ現在のパーティションツリーが前記クロマ成分に対応する符号化ツリーである場合、前記予測子パレットをリセットすることまたは初期化することが前記映像ユニットに適用可能であることを規定する、請求項27または28に記載の方法。
【請求項30】
前記予測子パレットのサイズは、0にリセットまたは初期化される、請求項24から29のいずれか一項に記載の方法。
【請求項31】
前記予測子パレットのサイズは、シーケンスパレット予測子イニシャライザーにおけるエントリの数または前記符号が表現にて信号通知される予測子パレットにて許可されるエントリの最大数にリセットまたは初期化される、請求項24から29のいずれか一項に記載の方法。
【請求項32】
前記予測子パレットは更に、新たな映像ユニットを変換する前にリセットまたは初期化される、請求項24から31のいずれか一項に記載の方法。
【請求項33】
複数の映像ユニットのウェイブフロントパラレル処理が有効化されている場合、現在の符号化ツリーブロックまたは現在の符号化ツリーユニットの前記へ間に対して用いられる前記予測子パレットは、変換された符号化ツリーブロックまたは符号化ツリーユニットに基づいて判定される、請求項24から32のいずれか一項に記載の方法。
【請求項34】
映像処理の方法であって、
パレットモードを用いて、映像の映像ユニットと、前記映像の符号化表現との間の変換を実行することを有し、
前記映像ユニットは複数のブロックを有し、
前記変換の間、共有予測子パレットが、前記パレットモードにおける前記複数のブロックのそれぞれに対する代表サンプル値のパレットを予測するための前記複数のブロックのすべてによって使用される、方法。
【請求項35】
三分木分割が、前記映像ユニットに適用され、
前記共有予測子パレットは、16×4または4×16の寸法を有する映像ユニットに対して用いられる、請求項34に記載の方法。
【請求項36】
二分木分割が、前記映像ユニットに適用され、
前記共有予測子パレットは、8×4または4×8の寸法を有する映像ユニットに対して用いられる、請求項34に記載の方法。
【請求項37】
四文木分割が、前記映像ユニットに適用され、
前記共有予測子パレットは、8×8の寸法を有する映像ユニットに対して用いられる、請求項34に記載の方法。
【請求項38】
前記共有予測子パレットは、前記映像ユニット内の前記複数のブロック全ての変換に先立って構成される、請求項34から37のいずれか一項に記載の方法。
【請求項39】
前記共有予測子パレットにおける予測エントリの指示は、前記領域における前記複数のブロックのうちの最初の符号化ブロックを有する前記符号化表現にて信号通知される、請求項34から38のいずれか一項に記載の方法。
【請求項40】
前記共有予測子パレットにおける予測エントリの指示は、前記領域における前記複数のブロックの残りに対する前記符号化表現にて省略される、請求項39に記載の方法。
【請求項41】
前記共有予測子パレットの更新は、前記領域における前記複数のブロックのうちの1つの変換の後にスキップされる、請求項34から40のいずれか一項に記載の方法。
【請求項42】
映像処理の方法であって、
代表サンプル値のパレットが現在のブロックを符号化するために用いられるパレットモードを用いて、映像の前記現在のブロックと、前記映像の符号化表現との間の変換を実行することを有し、
前記変換の間、予測子パレットが、代表サンプル値の前記パレットを予測するために用いられ、
カウンタは、対応するエントリがどの程度使用されたかを示す前記予測子パレットの各エントリに対して維持される、方法。
【請求項43】
前記カウンタは、前記予測子パレットに追加されるべき新たなエントリに対して、Kが設定され、
Kは、整数である、請求項42に記載の方法。
【請求項44】
K=0である、請求項43に記載の方法。
【請求項45】
前記カウンタは、前記対応するエントリが前記現在のブロックの前記変換の間に再利用されるごとにNによってインクリメントされ、
Nは、正の整数である、請求項42から44のいずれか一項に記載の方法。
【請求項46】
N=1である、請求項45に記載の方法。
【請求項47】
前記予測子パレットのエントリは、前記予測子パレットが前記変換に用いられることに先立って、規則に従って並び替えられる、請求項42から46のいずれか一項に記載の方法。
【請求項48】
前記規則は、前記予測子パレットの前記エントリが現在のサンプルの符号化情報に従って並び替えられることを規定する、請求項47に記載の方法。
【請求項49】
前記規則は、前記予測子パレットの前記エントリが前記予測子パレットにおける前記エントリのうちの各対応するエントリに対する前記カウンタに従って並び替えられることを規定する、請求項47に記載の方法。
【請求項50】
第2のカウンタは、サンプルの出現の頻度を示すために用いられる、請求項47から49のいずれか一項に記載の方法。
【請求項51】
出現のより高い頻度を有する第1のサンプルは、前記予測子パレットにおける出現のより低い頻度を有する第2のサンプルに先立って配置される、請求項50に記載の方法。
【請求項52】
前記予測子パレットは、規則に従って、前記現在のブロックのうちの退避サンプルを用いて更新される、請求項43から51のいずれか一項に記載の方法。
【請求項53】
前記規則は、条件が満たされる場合に、前記予測子パレットが前記退避サンプルを用いて更新されることを規定する、請求項52に記載の方法。
【請求項54】
前記予測子パレットが前記現在のブロックの現在のブロックを挿入する後に一杯となっていない場合に、前記条件は満たされる、請求項53に記載の方法。
【請求項55】
映像処理の方法であって、
代表サンプル値のパレットが現在のブロックに対する代表サンプル値のパレットを予測するための前記現在のブロックを符号化するために用いられるパレットモードを用いて、映像の前記現在のブロックと、前記映像の符号化表現との間の変換を実行することを有し、
前記符号化表現にて信号通知された前記パレットのエントリの数は、[0,パレットの最大許容サイズ-前記変換の間に導出されたパレットエントリの数]の範囲内である、方法。
【請求項56】
前記符号化表現にて信号通知された前記パレットのエントリの数は、前記範囲に基づいて二値化される、請求項55に記載の方法。
【請求項57】
前記符号化表現にて信号通知されたエントリの数は、トランケイテッドバイナライズ符号化処理を用いて二値化される、請求項56に記載の方法。
【請求項58】
前記符号化表現にて信号通知されたエントリの数は、前記現在のブロックの特徴に基づいて二値化される、請求項56に記載の方法。
【請求項59】
前記特徴は、前記現在のブロックの寸法を含む、請求項58に記載の方法。
【請求項60】
適用性は、前記映像の特徴に基づく、請求項1から59のいずれか一項に記載の方法。
【請求項61】
前記映像の前記特徴は、前記映像の内容を含む、請求項60に記載の方法。
【請求項62】
前記映像の前記特徴は、前記符号化表現における、デコーダパラメータセット、スライスパラメータセット、映像パラメータセット、ピクチャパラメータセット、適合パラメータセット、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、LCU(Largest Coding Unit)、符号化ユニット、LCUの行、LCTのグループ、変換ユニット、ピクチャユニット、または映像符号化ユニットにて信号通知される情報を含む、請求項60に記載の方法。
【請求項63】
前記映像の前記特徴は、前記映像内における、符号化ユニット、ピクチャユニット、変換ユニット、ブロック、または、映像符号化ユニットの位置を含む、請求項60に記載の方法。
【請求項64】
前記映像の前記特徴は、現在のブロックまたは前記現在のブロックの近接ブロックの前記特徴を含む、請求項60に記載の方法。
【請求項65】
前記現在のブロックまたは前記現在のブロックの近接ブロックの前記特徴は、前記現在のブロックの寸法または前記現在のブロックの前記近傍ブロックの寸法を含む、請求項64に記載の方法。
【請求項66】
前記映像の前記特徴は、前記映像のカラーフォーマットの指示を含む、請求項60に記載の方法。
【請求項67】
前記映像の前記特徴は、前記映像に適用可能な符号化ツリー構造を含む、請求項60に記載の方法。
【請求項68】
前記映像の前記特徴は、前記映像の、スライスタイプ、ライルグループタイプ、またはピクチャタイプを含む、請求項60に記載の方法。
【請求項69】
前記映像の前記特徴は、前記映像の色成分を含む、請求項60に記載の方法。
【請求項70】
前記映像の前記特徴は、前記映像の時間層識別子を含む、請求項60に記載の方法。
【請求項71】
前記映像の前記特徴は、映像規格の、プロファイル、レベル、または層を含む、請求項60に記載の方法。
【請求項72】
前記変換は、前記映像を前記符号化表現に符号化することを含む、請求項1から71のいずれか一項に記載の方法。
【請求項73】
前記変換は、前記映像の画素値を生成するために前記符号化表現を復号化することを含む、請求項1から71のいずれか一項に記載の方法。
【請求項74】
請求項1から73のいずれか一項に記載の方法を実装するように構成されたプロセッサを有する映像処理装置。
【請求項75】
コンピュータコードが格納されたコンピュータプログラムプロダクトであって、
前記コードは、プロセッサにより実行されることで、前記プロセッサに請求項1から73のいずれか一項に記載の方法を実行させる、コンピュータプログラムプロダクト。
【請求項76】
請求項1から73のいずれか一項に記載の方法により生成された符号化表現を格納するコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2019年9月12日出願の国際特許出願第PCT/CN2019/105554号の優先権および利益を適時に主張することを目的とする。法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
【0002】
この特許文献は、映像符号化技術、デバイスおよびシステムに関する。
【背景技術】
【0003】
現在、現在の映像コーデック技術の性能を向上させ、より優れた圧縮率を実現するか、又はより低い複雑度又は並列化された実装を可能にする映像符号化および復号化方式を提供する努力が行われている。産業界の専門家は、最近、いくつかの新しい映像符号化ツールを提案し、それらの有効性を判定するための試験が現在進行中である。
【発明の概要】
【0004】
デジタル映像符号化に関し、具体的には、動きベクトルの管理に関するデバイス、システム、および方法が記載される。説明される方法は、既存の映像符号化規格(例えば、HEVC(High Efficiency Video Coding)又はVersatile Video Coding)および将来の映像符号化規格又は映像コーデックに適用され得る。
【0005】
1つの代表的な態様において、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために、予測子パレットが使用される。現在のブロックの特徴に基づく規則に従って、現在のブロックの変換後の予測子パレットの更新を無効化する。
【0006】
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために、予測子パレットが使用される。現在のブロックの色成分に従って、予測子パレットの変更を行うかどうかを判定する。
【0007】
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の映像ユニットにおける現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために、複数の予測子パレットが使用される。
【0008】
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の映像ユニットにおける現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために、予測子パレットが使用される。予測子パレットは、規則に従って、映像ユニットにおける最初のブロックを変換する前に、または前の映像ユニットにおける最後の映像ブロックの変換後に、リセットまたは再初期化される。
【0009】
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、パレットモードを使用して映像の映像ユニットと映像の符号化表現との変換を実行することを含む。映像ユニットは、複数のブロックを含む。変換の間、パレットモードにおける複数のブロックの各々に対する代表サンプル値のパレットを予測するために、複数のブロックのすべてによって共有予測子パレットが使用される。
【0010】
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために予測子パレットが使用され、予測子パレットのエントリごとに、対応するエントリがどれぐらいの頻度で使用されるかを示すカウンタが維持される。
【0011】
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、代表サンプル値のパレットが、現在のブロックに対する代表サンプル値のパレットを予測するための現在のブロックを符号化するために使用されるパレットモードを使用して、映像の現在のブロックと映像の符号化表現との変換を実行することを含む。符号化表現で信号通知されたパレットのエントリ数は、[0、パレットの最大の許容サイズ-変換中に導出されるパレットエントリ数]の範囲内にある。
【0012】
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の映像ユニットにおける現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために、予測子パレットが使用され、予測子パレットのサイズが、規則に従って適応的に調整される。
【0013】
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の映像ユニットにおける現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために予測子パレットを使用し、映像の映像ユニット間でサイズを変更することを許可する規則に従って、代表サンプルのパレットまたは予測子パレットのサイズを判定する。
【0014】
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の映像ユニットにおける現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために、予測子パレットが使用される。予測子パレットは、条件が満たされると再初期化され、映像ユニットが映像ユニット行における最初の映像ユニットであり、構文要素が映像ユニットに対して波面並列処理を有効化することを示す符号化表現に含まれる場合に、条件は満たされる。
【0015】
別の代表的な態様では、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、パレットモードを使用して、映像ユニットにおける映像ブロックとこの映像ブロックの符号化表現との変換を実行することを含み、変換の間、映像ブロックの現在のパレット情報を予測するために予測子パレットが使用され、さらに、予測子パレットは、映像ブロックと映像ブロックのビットストリーム表現との変換の前に、選択的にリセットされる。
【0016】
別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を実行することを含み、変換の間、予測子パレットが映像ブロックの現在のパレット情報を予測するために使用され、さらに、予測子パレットは、映像ユニットの複数の符号化ユニットが共通の共有の領域を有する場合、共有予測子パレットである。
【0017】
別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を実行することを含み、変換の間、映像ブロックの現在のパレット情報を予測するために予測子パレットが使用され、さらに1または複数の条件に従って予測子パレットのサイズが適応的に変更される。
【0018】
別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を実行することを含み、変換の間、映像ブロックの現在のパレット情報を予測するために予測子パレットが使用され、さらに予測子パレットは、予測子パレットにおけるサイズまたはエントリ数に基づいて更新される。
【0019】
別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を実行することを含み、変換の間、映像ブロックの現在のパレット情報を予測するために予測子パレットが使用され、さらに予測子パレットのエントリが再配列または修正される。
【0020】
別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、パレットモードを使用して、映像ユニットにおける映像ブロックとこの映像ブロックの符号化表現との変換を行うことを含み、変換中、映像ブロックの現在のパレット情報を予測するために予測子パレットが使用され、さらに、この予測子パレットの使用が、予測子パレットが使用される回数を追跡するカウンタを維持することによって示される。
【0021】
別の例示的な態様において、上述された方法は、プロセッサを含む映像デコーダによって実装されてもよい。
【0022】
別の例示的な態様において、上述された方法は、プロセッサを含む映像エンコーダによって実装されてもよい。
【0023】
さらに、代表的な態様において、プロセッサと、命令を搭載した非一時的メモリとを備える、映像システムにおける装置が開示される。命令は、プロセッサによって実行されると、プロセッサに、開示された方法のいずれか1または複数を実装させる。
【0024】
また、非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、開示された方法のいずれか1または複数を実行するためのプログラムコードを含むコンピュータプログラム製品が開示される。
【0025】
開示される技術の上記および他の態様および特徴は、図面、説明および特許請求の範囲でより詳細に説明される。
【図面の簡単な説明】
【0026】
【
図1】
図1は、パレットモードで符号化されたブロックの例を示す。
【
図2】
図2は、パレットエントリを信号通知するために予測パレットを使用する例を示す。
【
図3】
図3は、水平方向横断走査および垂直方向横断走査の例を示す。
【
図4】
図4は、パレットインデックスの符号化の例を示す。
【
図5】
図5は、12のタイルおよび3のラスタスキャンスライスに分割された、18×12の輝度CTUを有するピクチャの例を示す。
【
図6】
図6は、24のタイルおよび9の矩形スライスに分割された、18×12の輝度CTUを有するピクチャの例を示す。
【
図7】
図7は、4のタイル、11のブリック、および4の矩形スライスに分割されたピクチャの例を示す。
【
図8】
図8は、28のサブピクチャを有するピクチャの例を示す。
【
図9】
図9は、本特許明細書に記載されるビジュアルメディアの復号化又はビジュアルメディアの符号化技術を実現するためのハードウェアプラットフォームの一例を示すブロック図である。
【
図10】
図10は、開示された技術を実装することができる例示的な映像処理システムを示すブロック図である。
【
図12】
図12は、本技術にしたがった映像処理の方法を示すフローチャートである。
【
図13】
図13は、本技術にしたがった別の映像処理の方法を示すフローチャートである。
【
図14】
図14は、本技術にしたがった別の映像処理の方法を示すフローチャートである。
【
図15】
図15は、本技術にしたがった別の映像処理の方法を示すフローチャートである。
【
図16】
図16は、本技術にしたがった別の映像処理の方法を示すフローチャートである。
【
図17】
図17は、本技術にしたがった別の映像処理の方法を示すフローチャートである。
【
図18】
図18は、本技術にしたがった別の映像処理の方法を示すフローチャートである。
【
図19】
図19は、本技術にしたがった別の映像処理の方法を示すフローチャートである。
【
図20】
図20は、本技術にしたがった別の映像処理の方法を示すフローチャートである。
【
図21】
図21は、本技術にしたがったさらに別の映像処理の方法を示すフローチャートである。
【発明を実施するための形態】
【0027】
1.HEVC/H.265における映像符号化
【0028】
映像符号化規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 VideoとH.264/MPEG-4 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像符号化規格は、時間予測と変換符号化が利用されるハイブリッド映像符号化構造に基づく。HEVCを超えた将来の映像符号化技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Mode)と呼ばれる参照ソフトウェアに組み込まれてきた。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間にJVET(Joint Video Expert Team)が発足し、HEVCと比較して50%のビットレート削減を目標にVVC規格の策定に取り組んでいる。
【0029】
2.パレットモード
【0030】
2.1 HEVC-SCC(HEVC Screen Content Coding拡張)におけるパレットモード
【0031】
2.1.1.パレットモードの概念
【0032】
パレットモードの背景にある基本的な考えは、CUにおけるピクセルを代表的な色値の小さな集合で表現することである。この集合をパレットと呼ぶ。また、エスケープシンボルの後に(場合によっては量子化された)成分値を信号通知することによって、パレットの外側にあるサンプルを示すこともできる。このような画素をエスケープ画素と呼ぶ。パレットモードを
図1に示す。
図1に示すように、3つの色成分(輝度、および2つのクロマ成分)を有する画素ごとに、パレットへのインデックスを創設し、パレットにおいて創設された値に基づいてブロックを再構成することができる。
【0033】
2.1.2.パレットエントリの符号化
【0034】
パレット符号化ブロックの場合、以下の重要な態様を紹介する。
【0035】
1) 存在すれば、現在のパレットに対して信号通知される予測子パレットと新しいエントリに基づいて、現在のパレットを構築する。
【0036】
2) 現在のサンプル/画素を2つのカテゴリ、即ち、一方(第1のカテゴリ)が現在のパレットにおけるサンプル/画素を含み、他方(第2のカテゴリ)が現在のパレットを超えるサンプル/画素を含むように分類する。
【0037】
a.第2のカテゴリにおけるサンプル/画素の場合、サンプル/画素に(符号器で)量子化を適用し、量子化された値を信号通知し、(復号器で)逆量子化を適用する。
【0038】
2.1.2.1.予測パレット
【0039】
パレットエントリを符号化するために、パレット符号化ブロックを復号化した後に更新される予測子パレットが維持される。
【0040】
2.1.2.1.1.予測パレットの初期化
【0041】
予測子パレットは、各スライスおよび各タイルの始めに初期化される。
【0042】
SPSにおいて、パレットの最大サイズおよび予測パレットが信号通知される。HEVC-SCCにおいて、palette_predictor_initializer_present_flagがPPSに導入される。このフラグが1である場合、ビットストリームにおいて、予測パレットを初期化するためのエントリが信号通知される。
【0043】
palette_predictor_initializer_present_flagの値に応じて、predictorパレットのサイズを0にリセットするか、またはPPSに信号通知された予測子パレットイニシャライザーのエントリを使用して初期化する。HEVC-SCCでは、PPSレベルで予測パレットの初期化を明確に無効化するために、サイズ0の予測パレットイニシャライザーを有効化した。
【0044】
対応する構文、意味論、および復号化処理は、以下のように定義される。新規に追加されたテキストは、太字および下線のイタリック体で示されている。削除されたテキストには[[]]印が付けられる。
【0045】
7.3.2.2.3 シーケンスパラメータセット画面コンテンツ符号化拡張構文
【0046】
【0047】
1に等しいpalette_mode_enabled_flagは、パレットモードに対する復号化処理をイントラブロックに使用してよいことを指定する。0に等しいpalette_mode_enabled_flagは、パレットモードに対する復号化処理は適用されないことを指定する。存在しない場合、palette_mode_enabled_flagの値は0に等しいと推測される。
palette_max_sizeは、許容パレットサイズの上限を指定する。存在しない場合、palette_max_sizeの値は0と推測される。
【0048】
delta_palette_max_predictor_sizeは、最大許容パレット予測子サイズと最大許容パレットサイズの差を指定する。存在しない場合、delta_palette_max_predictor_sizeの値は0と推測される。変数PaletteMaxPredictorSizeは、以下のように導出される。 PaletteMaxPredictorSize=palette_max_size+delta_palette_max_predictor_size (2-1)
【0049】
palette_max_sizeが0に等しい場合、delta_palette_max_predictor_sizeの値は0に等しいことが、ビットストリーム適合性の要件である。
1に等しいsps_palette_predictor_initializer_present_flagは、項で指定されたsps_palette_predictor_initializersを使用してシーケンスパレット予測子が初期化されることを指定する。0に等しいsps_palette_predictor_initializer_flagは、シーケンスパレット予測子のエントリは0に初期化されることを指定する。存在しない場合、sps_palette_predictor_initializer_flagの値は0に等しいと推測される。
【0050】
palette_max_sizeが0に等しい場合、sps_palette_predictor_initializer_present_flagの値は0に等しいことが、ビットストリーム適合性の要件である。
sps_num_palette_predictor_initializer_minus1+1は、シーケンスパレット予測子イニシャライザーのエントリ数を指定する。
sps_num_plete_predictor_initializer_minus1+1の値は、PaletteMaxPredictorSize以下であることが、ビットストリーム適合性の要件である。
【0051】
sps_palette_predictor_initializers[comp][i]は、配列PredictorPaletteEntriesを初期化するために使用されるSPSにおけるi番目のパレットエントリのcomp番目の成分の数値を指定する。iの値が0~sps_num_palette_predictor_initializer_minus1(0を含む)の範囲内にある場合、sps_palette_predictor_initializer[0][i]の値は0~(1<<BitDepthY)-1の範囲内であり、sps_palette_predictor_initializers[1][i]およびsps_palette_predictor_initializers[2][i]の値は、0~(1<<BitDepthC)-1の範囲内である。
【0052】
7.3.2.3.3 ピクチャパラメータセット画面コンテンツ符号化拡張構文
【0053】
【0054】
1に等しいpps_palette_predictor_initializer_present_flagは、PPSで指定されたパレット予測子イニシャライザーに基づいて、PPSを参照するピクチャに使用されるパレット予測子イニシャライザーを導出することを指定する。0に等しいpps_palette_predictor_initializer_flagは、PPSを参照するピクチャに使用されるパレット予測子イニシャライザーは、アクティブSPSで指定されたものと等しいと推測されることを規定する。存在しない場合、pps_palette_predictor_initializer_present_flagの値は0に等しいと推測される。
【0055】
palette_max_sizeが0に等しいか、またはpalette_mode_enabled_flagが0に等しい場合、pps_palette_predictor_initializer_present_flagの値は0に等しいことが、ビットストリーム適合性の要件である。
pps_num_palette_predictor_initializerは、ピクチャパレット予測子イニシャライザーのエントリ数を指定する。
pps_num_plete_predictor_initializerの値は、PaletteMaxPredictorSize以下であることが、ビットストリーム適合性の要件である。
【0056】
パレット予測変数は、以下のように初期化される。
-符号化ツリーユニットがタイルにおける第1の符号化ツリーユニットである場合、以下が適用される。
-9.3.2.3項で規定されるように、パレット予測子変数の初期化処理が呼び出される。
-そうでない場合、entropy_coding_sync_enabled_flagが1に等しく、CtbAddrInRs%PicWidthInCtbsYが0に等しいか、またはTileId[CtbAddrInTs]がTileId[CtbAddrRsToTs[CtbAddrInRs-1]]に等しくない場合、以下が適用される。
-現在の符号化ツリーブロックの左上輝度サンプルの位置(x0,y0)を用いて、空間的近傍ブロックT(
図2)の左上輝度サンプルの位置(xNbT,yNbT)を以下のように導出する。
(xNbT,yNbT)=(x0+CtbSizeY,y0-CtbSizeY) (9-3)
-6.4.1項で規定されるz走査順序のブロックの可用性導出処理は、(x0,y0)に等しく設定された位置(xCurr,yCurr)と、(xNbT,yNbT)に等しく設定された近傍位置(xNbY,yNbY)を入力として呼び出され、その出力はavailableFlagTに割り当てられる。
-コンテキスト変数、Riceパラメータ初期化状態、およびパレット予測変数の同期処理は、以下のように呼び出される。
-availableFlagTが1に等しい場合、9.3.2.5項で規定されるように、コンテキスト変数、Riceパラメータ初期化状態、およびパレット予測変数の同期処理は、TableStateIdxWpp、TableMpsValWpp、TableStatCoeffWpp、PredictorPaletteSizeWpp、およびTableParetteEntriesWppを入力として呼び出される。
-そうでない場合、以下が適用される。
-9.3.2.3項で規定されるように、パレット予測変数の初期化処理が呼び出される。
-そうでない場合、CtbAddrInRsがslice_segment_addressに等しく、dependent_slice_segment_flagが1に等しい場合、9.3.2.5項で規定されるようにコンテキスト変数とRiceパラメータ初期化状態に対する同期処理は、TableStateIdxDs、TableMpsValDs、TableStatCoeffDs、PredictorPaletteSizeDs、TablePredictorPaletteEntriesDsを入力として呼び出される。
-そうでない場合、以下が適用される。
-9.3.2.3項で規定されるように、パレット予測変数の初期化処理が呼び出される。
【0057】
9.3.2.3 パレット予測子エントリに対する初期化処理
この処理の出力が、初期化されたパレット予測変数PredictorPaletteSizeおよびPredictorPaletteEntriesである。
変数numCompsは、以下のように導出される。
numComps=(ChromaArrayType==0)?1:3 (9-8)
-pps_palette_predictor_initializer_present_flagが1に等しい場合、以下が適用される。
-PredictorPaletteSizeがpps_num_palette_predictor_initializerに等しく設定される。
-配列PredictorPaletteEntriesは、以下のように導出される。
for(comp=0;comp<numComps;comp++)
for(i=0;i<PredictorPaletteSize;i++)
PredictorPaletteEntries[comp][i]=pps_palette_predictor_initializers[comp][i] (9-9)
-そうでない場合(pps_palette_predictor_initializer_present_flagが0に等しい)、sps_palette_predictor_initializer_present_flagが1に等しい場合、以下が適用される。
-PredictorPaletteSizeは、sps_num_palette_predictor_initializer_minus1に1を加えた値に等しく設定される。
-配列PredictorPaletteEntriesは、以下のように導出される。
for(comp=0;comp<numComps;comp++)
for(i=0;i<PredictorPaletteSize;i++)
PredictorPaletteEntries[comp][i]=sps_palette_predictor_initializers[comp][i] (9-10)
-そうでない場合(pps_palette_predictor_initializer_present_flagが0に等しく、sps_palette_predictor_initializer_present_flagが0に等しい)、PredictorPaletteSizeが0に等しく設定される。
【0058】
2.1.2.1.2.予測パレットの使用
【0059】
パレット予測子におけるエントリごとに、それが現在のパレットの一部であるかどうかを示すように、再利用フラグが信号通知される。これを
図2に示す。再利用フラグは、ゼロのランレングス符号化を使用して送信される。この後、新しいパレットエントリ数は、次数0、例えばEG-0の指数ゴロム(EG)コードを使用して信号通知される。最後に、新しいパレットエントリのための成分値が信号通知される。
【0060】
2.1.2.2.予測パレットの更新
【0061】
予測子パレットの更新は、以下のステップで実行される。
【0062】
(1)現在のブロックを復号化する前に、PltPred0で表される予測子パレットが存在する。
【0063】
(2)最初にPltPred0からのものを挿入し、次に現在のパレットのための新しいエントリを挿入することによって、現在のパレットテーブルを構築する。
【0064】
(3)PltPred1の構築:
【0065】
a.最初に現在のパレットテーブル(PltPred0からのものを含んでもよい)のものを加える
【0066】
b.満杯でない場合、昇順エントリインデックスに従って、PltPred0において参照されていないものを加える。
【0067】
2.1.3.パレットインデックスの符号化
【0068】
パレットインデックスは、
図3に示すように、水平方向および垂直方向の横断走査を使用して符号化される。palette_transpose_flagを使用して、ビットストリームにおける走査順序を明確に信号通知する。以下のサブセクションでは、走査が水平であると仮定する。
【0069】
パレットインデックスは、2つのパレットサンプルモード、すなわち「COPY_LEFT」および「COPY_ABOVE」を使用して符号化される。「COPY_LEFT」モードにおいて、パレットインデックスは復号化インデックスに割り当てられる。「COPY_ABOVE」モードでは、上の行のサンプルのパレットインデックスをコピーする。「COPY_LEFT」モードと「COPY_ABOVE」モードの両方の場合、同じモードを使用して符号化される後続のサンプルの数を規定する実行値を信号通知する。
【0070】
パレットモードにおいて、エスケープサンプルに対するインデックスの値が、パレットエントリ数である。そして、エスケープシンボルが「COPY_LEFT」または「COPY_ABOVE」モードにおける実行の一部である場合、エスケープシンボルごとにエスケープ成分値が信号通知される。パレットインデックスの符号化を
図4に示す。
【0071】
この構文順序は、以下のようにして実行される。まず、CUのためのインデックス値の数が信号通知される。これに続いて、トランケーテッドバイナリ符号化(truncated binary coding)を使用して、CU全体の実際のインデックス値を信号通知する。バイパスモードでは、インデックスの数およびインデックス値の両方が符号化される。これにより、インデックス関連バイパスビンがグループ化される。次に、パレットサンプルモード(必要な場合)および実行は、インターリーブ方式で信号通知される。最後に、CU全体のためのエスケープサンプルに対応する成分エスケープ値をグループ化し、バイパスモードで符号化する。エスケープサンプルの2値化は、第3次数、例えば、EG-3のEG符号化である。
【0072】
インデックス値を信号通知した後、追加の構文要素last_run_type_flagを信号通知する。この構文要素は、インデックスの数と連動して、ブロックにおける最後の実行に対応する実行値を信号通知する必要をなくす。
【0073】
HEVC-SCCでは、パレットモードは、4:2:2、4:2:0、およびモノクロのクロマフォーマットに対しても有効になる。パレットエントリおよびパレットインデックスの信号通知は、すべてのクロマフォーマットに対してほぼ同じである。非モノクロフォーマットの場合、各パレットエントリは、3つの成分からなる。モノクロフォーマットの場合、各パレットエントリは単一の成分からなる。サブサンプリングされたクロマ方向の場合、クロマサンプルは、2で割り切れる輝度サンプル指数に関連付けられる。CUのパレットインデックスを再構成した後、1つのサンプルに単一の成分しか関連付けられていない場合、パレットエントリの第1の成分のみが使用される。信号通知における唯一の違いは、エスケープ成分値である。エスケープサンプルごとに、信号通知されるエスケープ成分値の数は、そのサンプルに関連付けられた成分の数によって異なってもよい。
【0074】
また、パレットインデックス符号化において、インデックス調整処理がある。パレットインデックスを信号通知するとき、左側の近傍インデックスまたは上側の近傍インデックスは、現在のインデックスとは異なるべきである。よって、1つの可能性を取り除くことで、現在のパレットインデックスの範囲を1だけ狭めることができる。その後、トランケーテッドバイナリ(TB)2値化によってインデックスを信号通知する。
【0075】
この部分に関連するテキストは、以下のように示され、ここで、CurrPaletteIndexは、現在のパレットインデックスであり、adjustedRefPaletteIndexは、予測インデックスである。
【0076】
変数PaletteIndexMap[xC][yC]は、CurrentPaletteEntriesで表される配列へのインデックスであるパレットインデックスを指定する。配列インデックスxC、yCは、ピクチャの左上の輝度サンプルに対するサンプルの位置(xC、yC)を指定する。PaletteIndexMap[xC][yC]の値は、0からMaxPaletteIndexまでの範囲でなければならない。
【0077】
変数adjustmentRefPaletteIndexは、以下のように導出される。
adjustedRefPaletteIndex=MaxPaletteIndex+1
if(PaletteScanPos>0){
xcPrev=x0+TraverseScanOrder[log2CbWidth][log2bHeight][PaletteScanPos-1][0]
ycPrev=y0+TraverseScanOrder[log2CbWidth][log2bHeight][PaletteScanPos-1][1]
if(CopyAboveIndicesFlag[xcPrev][ycPrev]==0){
adjustedRefPaletteIndex=PaletteIndexMap[xcPrev][ycPrev]{ (7-157)
}
else{
if(!palette_transpose_flag)
adjustedRefPaletteIndex=PaletteIndexMap[xC][yC-1]
else
adjustedRefPaletteIndex=PaletteIndexMap[xC-1][yC]
}
}
【0078】
CopyAboveIndicesFlag[xC][yC]が0に等しい場合、変数CurrPaletteIndexは、以下のように導出される。
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++
2.1.3.1.パレット符号化ブロックの復号化処理
1)予測子パレットのどのエントリを再利用するかを示すために、予測情報を読み取る(palette_predictor_run)
2)現在のブロックのために新しいパレットエントリを読み取る
a.num_signaled_palette_entries
b.new_palette_entries
3)a)およびb)に基づいてCurrentPaletteEntriesを構築する
4)エスケープシンボル存在フラグpalette_escape_val_present_flagを読み取ってMaxPaletteIndexを導出する
5)コピーモード/実行モードで符号化されていないサンプルがいくつかを符号化する
a.num_palette_indices_minus1
b.コピーモード/実行モードで符号化されていないサンプルごとに、現在のpltテーブルに含まれているpalette_idx_idcを符号化する
【0079】
2.2.VVCにおけるパレットモード
【0080】
2.2.1.デュアルツリーにおけるパレット
【0081】
VVCにおいて、イントラスライスの符号化にデュアルツリー符号化構造が用いられるので、輝度成分および2つのクロマ成分は、異なるパレットおよびパレットインデックスを有してもよい。また、2つのクロマ成分は、同じパレットおよびパレットインデックスを共有する。
【0082】
2.2.2.分割モードとしてのパレット
【0083】
いくつかの実施形態において、符号化ユニットに対する予測モードは、MODE_INTRA、MODE_INTER、MODE_IBCおよびMODE_PLTでもよい。それに応じて、予測モードの2値化が変更される。
【0084】
IBCがターンオフされるとき、Iタイルにおいて、第1の1つのビンは、現在の予測モードがMODE_PLTであるか否かを示すために使用される。P/Bタイルにおいて、第1のビンは、現在の予測モードがMODE_INTRAであるか否かを示すために使用される。そうでない場合、現在の予測モードがMODE_PLTまたはMODE_INTERであることを示すために、1つの追加ビンが使用される。
【0085】
IBCをオンにした場合、Iタイルにおいて、第1のビンは、現在の予測モードがMODE_IBCであるかどうかを示すために使用される。そうでない場合、第2のビンは、現在の予測モードがMODE_PLTであるかまたはMODE_INTRAであるかを示すために使用される。P/Bタイルにおいて、第1のビンは、現在の予測モードがMODE_INTRAであるか否かを示すために使用される。イントラモードであるなら、第2のビンは、現在の予測モードがMODE_PLTまたはMODE_INTRAであることを示すために使用される。そうでないなら、第2のビンは、現在の予測モードがMODE_IBCまたはMODE_INTERであることを示すために使用される。
【0086】
構文テキストの例を以下に示す。
【0087】
符号化ユニット構文
【0088】
【0089】
2.3.ピクチャ、サブピクチャ、スライス、タイル、ブリック、CTUの分割
【0090】
サブピクチャ:ピクチャ内の1または複数のスライスの矩形領域。
【0091】
スライス:ピクチャの整数個のブリックが、1つのNALユニットに排他的に含まれている。スライスは、複数の完全なタイルか、または単に連続したシーケンスの完全なブリックによる1つのタイルのみからなる。
【0092】
タイル:ピクチャにおける特定のタイル列および特定のタイル行内のCTUの矩形領域。
【0093】
ブリック:ピクチャにおける特定のタイルのCTU行の矩形領域。1つのタイルを複数のブリックに分割することができ、各ブリックはタイル内の1または複数のCTU行からなる。複数のブリックに分割されていないタイルは、ブリックとも呼ばれる。しかしながら、タイルの真のサブセットであるブリックは、タイルと呼ばれない。
【0094】
ブリックスキャン:ピクチャを分割するCTUの特定の連続配列であって、CTUはブリックにおいてCTUラスタスキャンで連続して配列され、タイル内のブリックがタイルのブリックのラスタスキャンで連続して配列され、ピクチャにおけるタイルがピクチャのタイルのラスタスキャンで連続して配列される。
【0095】
1つのピクチャは、1または複数のタイル行および1または複数のタイル列に分割される。1つのタイルは、1つの画像の1つの矩形領域を覆う1つのCTUのシーケンスである。
【0096】
1つのタイルは、1または複数のブリックに分割され、各ブリックは、タイル内の複数のCTU行からなる。
【0097】
複数のブリックに分割されていないタイルは、ブリックとも呼ばれる。しかしながら、タイルの真のサブセットであるブリックは、タイルと呼ばれない。
【0098】
1つのスライスは、ピクチャの複数のタイルか、またはタイルの複数のブリックを含む。
【0099】
1つのサブピクチャは、ピクチャの矩形領域を集団的に覆う1または複数のスライスを含む。
【0100】
スライスの2つのモード、即ちラスタスキャンスライスモードおよび矩形スライスモードがサポートされる。ラスタスキャンスライスモードにおいて、スライスは、ピクチャのタイルラスタスキャンにおける複数のタイルのシーケンスを含む。矩形スライスモードにおいて、スライスは、ピクチャの矩形領域を集合的に形成するピクチャの複数のブリックを含む。矩形スライス内のブリックは、スライスのブリックラスタスキャンの順である。
【0101】
図5は、ピクチャのラスタスキャンスライスの分割の例を示し、ピクチャは、12のタイルおよび3のラスタスキャンスライスに分割する。
【0102】
図6は、ピクチャを矩形スライスの分割の例を示し、ピクチャは、24のタイル(6のタイル列および4のタイル行)と9の矩形スライスとに分割される。
【0103】
図7は、タイル、ブリック、および矩形スライスに分割されたピクチャの例を示し、ピクチャは、4のタイル(2のタイル列および2のタイル行)、11のブリック(左上のタイルは1のブリックを含み、右上のタイルは5のブリックを含み、左下のタイルは2のブリックを含み、右下のタイルは3のブリックを含む)および4の矩形スライスに分割される。
【0104】
図8は、ピクチャのサブピクチャの分割の例を示し、ピクチャを様々な寸法の28のサブピクチャに分割する。
【0105】
ピクチャが3つの別個の色平面を使用して符号化される(separate_colour_plane_flagが1に等しい)場合、スライスは、colour_plane_idの対応する値によって識別される1つの色成分のCTUのみを含み、ピクチャの各色成分配列は、同じcolour_plane_idを有するスライスから成る。ピクチャ内でcolor_plane_idが異なる値を有する符号化スライスは、color_plane_idの各値について、color_plane_idのその値を有する符号化スライスNALユニットが、各符号化スライスNALユニットの最初のCTUに対してブリックスキャン順でCTUアドレスを増加する順になるという制約の下で、互いにインターリーブすることができる。
【0106】
separate_colour_plane_flagが0に等しい場合、ピクチャの各CTUが、ちょうど1つのスライスに含まれる。separate_colour_plane_flagが1に等しい場合、色成分の各CTUはちょうど1つのスライスに含まれる(例えば、ピクチャの各CTUに対する情報がちょうど3つのスライスに存在し、これら3つのスライスはcolor_plane_idの値が異なる)。
【0107】
2.4. 1-CTU遅延を有する波面
【0108】
VVCにおいて、HEVC設計におけるような2つのCTU遅延の代わりに、1つのCTU遅延波面(WPP)並列処理が使用される。WPPの処理は、限られた符号化損失で複数の並列処理が可能であるが、2つのCTUの遅延が並列処理能力を阻害する可能性がある。目標解決策がますます大きくなり、CPUの数が増えているので、提案した1つのCTU遅延を活用することによるより大きな並列処理能力は、符号化待ち時間を低減するのに有益であり、CTU電力を十分に利用するものであることを主張する。
【0109】
3.既存の実装における例示的な問題
【0110】
DMVRおよびBIOは、動きベクトルを微調整する間、不正確な動き情報を含む符号化ブロックをもたらす可能性があるオリジナル信号を含まない。また、DMVRおよびBIOは、動き微調整の後、分数動きベクトルを用いることがあり、一方、スクリーン映像は、通常、整数動きベクトルを有するため、現在の動き情報をより不正確にし、符号化性能を悪くする。
【0111】
(1)現在のパレットは、前の符号化されたものからの予測によって構築される。それは、entropy_coding_sync_enabled_flagが1に等しい場合にのみ、新しいCTU行または新しいタイルを復号化する前に再初期化される。しかしながら、実際の応用において、他のCTU行の情報を参照することなく異なるCTU行を前もって符号化することができる並列エンコーダが好ましい。
【0112】
(2)予測子パレット更新処理を操作するための方法は、固定されている。すなわち、前の予測子パレットから継承されたエントリと現在のパレットにおける新しいエントリとを順に挿入する。エントリ数が依然として予測子パレットのサイズより小さいなら、前の予測子パレットから継承されていないエントリをさらに追加する。このような設計は、現在の予測子パレットおよび前の予測子パレットにおける異なるエントリの重要性を考慮していない。
【0113】
(3)予測子パレットのサイズは固定されており、ブロックを復号化した後はエントリの一部が決して参照されない可能性があるので、次善となり得るすべてのエントリを埋めるように、サイズを更新しなければならない。
【0114】
(4)例えば、輝度と比較してあまり使用されない可能性があるクロマサンプルなどの色成分にかかわらず、現在のパレットのサイズは固定される。
【0115】
4.例示的な技術および実施形態
【0116】
以下に詳述する実施形態の詳細は、一般的な概念を説明するための例であると考えられるべきである。これらの実施形態は狭義に解釈されるべきではない。さらに、これらの実施形態は、任意の方法で組み合わせることができる。
【0117】
なお、以下に説明する方法は、後述するDMVRおよびBIOに加えて、他のデコーダ動き情報導出技術に適用されてもよい。
【0118】
予測パレットについて
1.新しい映像ユニットにおける第1のブロックを復号化する前に、予測子パレット(例えば、予測子パレットのエントリ、および/またはサイズ)をリセットまたは再初期化することが提案される。
a.代替的に、予測子パレット(例えば、入力、および/または予測子パレットのサイズ)は、映像ユニットにおける最後のブロックを復号化した後に、リセットまたは再初期化されてもよい。
b.一例において、映像ユニットは、CTU(例えば、VPDU)/CTU/CTB/複数のCTU/複数のCU/CTU行/タイル/ブリック/サブピクチャ/ビュー等のサブ領域である。
i.代替的に、上記方法は、波面が無効化され(例えば、entropy_coding_sync_enabled_flagが0に等しい)ても呼び出される。
c.一例において、映像ユニットは、クロマCTU行である。
i.代替的に、新しいクロマCTU行における第1のクロマCTBを復号化する前に、予測子パレットをリセットまたは再初期化してもよい。
ii.代替的に、上記方法は、デュアルツリーが適用され、現在のパーティションツリーがクロマ符号化ツリーである場合に呼び出される。
d.一例において、予測子パレットのサイズ(例えば、仕様におけるPredictorPaletteSize)は、0にリセットされる。
e.一例において、予測子パレットのサイズ(例えば、仕様におけるPredictorPaletteSize)は、シーケンスパレット予測子イニシャライザーにおけるエントリ数(例えば、sps_num_palette_predictor_initializer_minus1+1)または予測子パレットにおいて許容される最大のエントリ数(例えば、PaletteMaxPredictorSize)にリセットされる。
f.新しいシーケンス/ピクチャを符号化/復号化する前の予測子パレット(例えば、PredictorPaletteEntries)の初期化は、新しい映像ユニットを符号化/復号化する前の予測子パレットを初期化することに利用されてもよい。
g.一例において、entropy_coding_sync_enabled_flagが1に等しい場合、上側のCTB/CTUを符号化/復号化した後の予測子パレットが、現在のCTB/CTUを符号化/復号化する前の予測子パレットを初期化することに利用されてもよい。
【0119】
2.あるパレット符号化ブロックを符号化/復号化した後、予測子パレットの更新を無効化することが提案されている。
a.一例において、予測子パレットを更新するかどうかは、現在のブロックの復号化情報に依存してもよい。
i.一例において、予測子パレットを更新するかどうかは、現在のブロックのブロック寸法に依存してもよい。
1.一例において、現在のブロックの幅が第1の閾値(T1で表す)以下であり、かつ現在のブロックの高さが第2の閾値(T2で表す)以下である場合、更新処理を無効化する。
2.一例において、ブロックの高さの現在のブロックの幅倍が第1の閾値(T1で表す)以下である場合、更新処理を無効化する。
3.一例において、現在のブロックの幅が第1の閾値(T1で示す)以上であり、現在のブロックの高さが第2の閾値(T2で示す)以上である場合、更新処理を無効化する。
4.一例において、ブロックの高さの現在のブロックの幅倍が第1の閾値(T1で表される)以上の場合、更新処理を無効化する。
5.上記の例において、T1/T2は、予め定義されてもよく、または信号通知されてもよい。
a)一例において、T1/T2は、4、16、または1024に設定されてよい。
b)一例において、T1/T2は、色成分に依存してもよい。
【0120】
3.共有予測子パレットは、共有領域下のすべてのCU/PUについて、同じ予測子パレットを使用し得るように定義されてよい。
a.一例において、共有領域は、TT分割を伴うM×N領域(例えば、16×4または4×16領域)に対して定義されてよい。
b.一例において、共有領域は、BT分割を伴うM×N領域(例えば、8×4または4×8領域)に対して定義されてよい。
c.一例において、共有領域は、QT分割を伴うM×N領域(例えば、8×8領域)に対して定義されてよい。
d.代替的に、共有領域内のすべてのブロックを符号化/復号化する前に、共有予測子パレットが一度構築されてもよい。
e.一例において、予測子パレットにおいて予測されたエントリの指示(例えば、palette_predictor_run)は、共有領域内の第1のパレット符号化ブロックとともに信号通知されてもよい。
i.代替的に、さらに、予測子パレットにおいて予測されたエントリの指示についての信号通知(例えば、palette_predictor_run)は、共有領域内の残りの符号化ブロックのために省略されてもよい。
f.代替的に、さらに、共有領域内のブロックを復号/符号化した後、常に予測子パレットの更新を省略してもよい。
【0121】
4.カウンタは、どのくらいの頻度で使用されたかを示すように、予測子パレットのエントリごとに維持されてもよい。
a.一例において、カウンタは、予測子パレットに追加された新しいエントリごとに、定数Kに設定されてもよい。
i.一例において、Kは0に設定されてもよい。
b.一例において、パレットブロックを符号化/復号化する際に、エントリが再使用されているとマークされる場合、対応するカウンタを定数Nだけ増加させてよい。
i.一例において、Nは1に設定されてもよい。
【0122】
5.固定サイズの予測子パレットを使用する代わりに、予測子パレットのサイズを適応的に変更することが提案される。
a.一例において、映像ユニット(ブロック/CU/CTU/タイル/ブリック/サブピクチャ)から別の映像ユニットに変更されてもよい。
b.一例において、予測子パレットのサイズは、現在のパレットのサイズに従って更新されてもよい。
i.一例において、予測子パレットのサイズは、現在のブロックを復号/符号化した後の現在のパレットのサイズに設定されてもよい。
ii.一例において、予測子パレットのサイズは、現在のブロックを復号化/符号化した後の現在のパレットのサイズからKで表される整数値を引くか、加えたものに設定されてもよい。
1.一例において、Kは、オンザフライで信号通知/導出されてもよい。
c.一例において、予測子パレットのサイズは、ブロックサイズに依存してもよい。Sをパレット符号化ブロックのための予測子パレットの予め定義されたサイズとする。
i.一例において、T以下のサイズを有するパレット符号化ブロックは、Sより小さいサイズを有する予測子パレットを使用してもよい。
1.一例において、パレット予測子における最初のK個のエントリ(K<=S)を使用してもよい。
2.一例において、パレット予測子のサブサンプリングされたバージョンが使用されてもよい。
ii.一例において、T以上のサイズを有するパレット符号化ブロックは、Sに等しいサイズを有する予測子パレットを使用してもよい。
iii.上記の例において、Kおよび/またはTは、整数であってもよく、以下に基づいてもよい。
1.映像コンテンツ(例えば、スクリーンコンテンツまたは自然コンテンツ)
2.DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU(Largest Coding Unit)/CU(Coding Unit)/LCU行/LCUグループ/TU/PUブロック/映像符号化ユニット
3.CU/PU/TU/ブロック/映像符号化ユニットの位置
4.カラーフォーマットの表示(例えば、4:2:0、4:4:4、RGB、YUV等)
5.符号化ツリー構造(例えば、デュアルツリーまたはシングルツリー)
6.スライス/タイルグループのタイプおよび/またはピクチャのタイプ
7.色成分
8.時間層ID
9.標準のプロファイル/レベル/層
d.一例において、パレットブロックを符号化/復号化した後、エントリのカウンタに従って予測子パレットを調整してもよい。
i.一例において、閾値Tより小さいカウンタを有するエントリは、破棄されてもよい。
ii.一例において、最小のカウンタ値を有するエントリは、予測子パレットのサイズが閾値Tより小さくなるまで破棄されてもよい。
e.代替的に、パレット符号化ブロックを復号化/符号化した後、予測子パレットは、現在のパレットのみに基づいて更新されてもよい。
i.代替的に、パレット符号化ブロックを復号化/符号化した後、予測子パレットは、現在のパレットとなるように更新されてもよい。
【0123】
6.現在のブロックを符号化/復号化する前の現在のパレットおよび/または予測子パレットのエントリは、予測子パレットを更新するために使用される前に、再配列/修正されてもよい。
a.一例において、現在のサンプルの復号化情報/再構成に従って再配列を適用してもよい。
b.一例において、エントリのカウンタ値に従って再配列を適用してもよい。
c.代替的に、サンプル/画素(現在のパレット内および/または現在のパレット外の)が何回発生したかをカウントしてもよい。
i.代替的に、より大きいカウンタを有する(例えば、より頻繁に発生する)サンプル/画素を、より小さいカウンタを有する別のものの前に置いてもよい。
【0124】
7.エスケープされたサンプルの情報は、予測子パレットを更新するために利用されてもよい。
a.代替的に、さらに、エスケープされた情報にて予測子パレットを更新することは、条件付きで呼び出されてもよい。
i.一例において、現在のパレットを挿入した後に予測子パレットが満杯でない場合、エスケープされたサンプル/画素情報が予測子パレットに加えられてもよい。
【0125】
8.予測子パレットの更新/初期化/リセットは、色成分に依存してもよい。
a.一例において、予測子パレットを更新するかどうかを判定する規則は、輝度またはクロマ等の色成分に依存してもよい。
【0126】
9.複数の予測子パレットのセットは、維持および/または更新されてもよい。
a.一例において、1つの予測子パレットは、1つまたはすべての色成分の情報を有してもよい。
b.一例において、1つの予測子パレットは、2つの色成分(例えば、CbおよびCr)の情報を有してもよい。
c.一例において、少なくとも1つのグローバルパレットおよび少なくとも1つのローカルパレットが維持されてもよい。
i.一例において、予測子パレットは、グローバルパレットおよびローカルパレットに従って更新されてもよい。
d.一例において、最後のK個のパレット符号化ブロックに関連付けられたパレットが(符号化/復号化順に)維持されてもよい。
e.一例において、輝度およびクロマ成分に対するパレットが、例えば、複数の予測子パレットのセットに対して異なるインデックスを有する異なる予測子パレットから予測されてもよい。
f.代替的に、さらに、バレット1が、予測子パレットのセットに適用されてもよい。
g.代替的に、さらに、CTUまたはCTBのCU/PU/CTU/CTB/サブ領域に対して、予測子パレットのセットにおける予測子パレットのインデックスが信号通知されてもよい。
【0127】
パレット/予測子パレットのサイズについて
10.パレットのサイズは、ある映像ユニットから別の映像ユニットに変更されてもよい。
a.一例において、ある映像ユニット(ブロック/CU/CTU/タイル/ブリック/サブピクチャ)から別の映像ユニットに変更されてもよい。
b.一例において、現在のブロックおよび/またはその近傍(隣接または非隣接)のブロックの復号化された情報に依存してもよい。
【0128】
11.パレットおよび/または予測子パレットのサイズは、ブロック寸法および/または量子化パラメータに依存してもよい。
【0129】
12.パレットおよび/または予測子パレットのサイズ(または、パレットおよび/または予測子パレットにおけるエントリ数)は、異なる色成分ごとに異なってもよい。
a.一例において、輝度およびクロマ成分に対するパレットおよび/または予測子パレットのサイズの指示は、明確にまたは暗黙的に信号通知されてもよい。
b.一例において、色成分ごとのパレットおよび/または予測子パレットのサイズの指示は、明示的または暗示的に信号通知されてもよい。
c.一例において、複数のサイズの指示を信号通知するかどうかは、デュアルツリーおよび/またはスライス/ピクチャタイプの使用に依存してもよい。
【0130】
パレットの信号通知
13.適合ビットストリームは、現在のブロックに対して直接信号通知されるエントリ数(例えば、num_signaled_palette_entries)が、0およびpalette_max_size-NumPredictedPaletteEntriesを含む閉範囲である[0,palette_max_size-NumPredictedPaletteEntries]内にあるものとする。
a.num_signaled_palette_entriesをどのように2値化するかは、許容される範囲に依存してもよい。
i.なお、EG-0thに代えて、トランケーテッドバイナリ符号化を利用してもよい。
b.num_signaled_palette_entriesをどのように2値化するかは、復号化情報(例えば、ブロック寸法)に依存してもよい。
【0131】
1-CTUを有する波面について
14.CTU構文の構文解析を終了した際に(例えば、VVCの7.3.8.2項における)、entropy_coding_sync_enabled_flagが1に等しく、現在のCTBが新しいCTUの行の最初のものであるか、または現在のCTBがその前のCTBと同じブリックにない場合に、予測子パレット(例えば、エントリおよび/またはサイズ)を再初期化することが提案されている。
a.代替的に、さらに、上側のCTUの符号化/復号化を終えた後、更新された予測子パレットのサイズおよびエントリを記録することでPredictorPaletteSizeWppおよびPredictorPaletteEntriesWppが維持される。
i.代替的に、PredictorPaletteSizeWppおよびPredictorPaletteEntriesWppは、現在のCTUにおける現在のブロックを符号化/復号化することに使用されてもよい。
b.一例において、7.3.8.2項におけるCTU構文の構文解析を終了した際に、entropy_coding_sync_enabled_flagが1に等しく、CtbAddrInRs%PicWidthInCtbsYが0に等しいか、またはBrickId[CtbAddrInBs]がBrickId[CtbAddrRsToBs[CtbAddrInRs-1]]に等しくない場合、9.3.2.3項で規定されているように、コンテキスト変数に対する記憶処理は、Palette_mode_enabled_flagが1のときのTableStateIdx0Wpp、TableStateIdx1Wpp、TableMpsValWpp、PredictorPaletteSizeWpp、PredictorPaletteEntriesWppを出力として呼び出される。
【0132】
一般
15.上記方法を適用するかどうかおよび/または方法は、以下に基づくことができる。
a.映像コンテンツ(例えば、スクリーンコンテンツまたは自然コンテンツ)
b.DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU(Largest Coding Unit)/CU(Coding Unit)/LCU行/LCUグループ/TU/PUブロック/映像符号化ユニット
c.CU/PU/TU/ブロック/映像符号化ユニットの位置
d.現在のブロックおよび/またはその近傍のブロックの復号化情報
i.現在のブロックおよび/またはその近傍のブロックのブロック寸法/ブロック形状
e.カラーフォーマットの表示(例えば、4:2:0、4:4:4、RGB、YUV等)
f.符号化ツリー構造(例えば、デュアルツリーまたはシングルツリー)
g.スライス/タイルグループのタイプおよび/またはピクチャのタイプ
h.色成分(例えば、輝度成分および/またはクロマ成分にのみ適用されてもよい)。
i.時間層ID
j.標準のプロファイル/レベル/層
【0133】
5.追加の実施形態
【0134】
以下の実施形態において、新規に追加されたテキストを太字および下線のイタリック体で示す。削除されたテキストには[[]]印が付けられる。
【0135】
5.1.実施形態#1
9.3.1 一般
この処理は、7.3.8.1項~7.3.8.12項における記述子ae(v)を有する構文要素を構文解析するときに呼び出される。
この処理に対する入力は、構文要素の値および構文解析された前の構文要素の値に対する要求である。
この処理の出力は、構文要素の値である。
9.3.2項で規定される初期化処理は、以下の1または複数の構文解析を開始する時に呼び出される。
1. 7.3.8.1項で規定されたスライスセグメントデータ構文、
2. 7.3.8.2項で規定されたCTU構文およびCTUは、brick[[tile]]における最初のCTUである、
3. 7.3.8.2項で規定されるCTU構文、[[entropy_coding_sync_enabled_flagが1に等しく]]、関連付けられた輝度CTBは、brick[[tile]]のCTU行における最初の輝度CTBである。
【0136】
構文要素の構文解析は、以下のように進行する。
cabac_bypass_alignment_enabled_flagが1に等しい場合、構文要素の値に対する要求は、構文要素coeff_abs_level_remaining[]、またはcoeff_sign_flag[]に対してであり、escapeDataPresentが1に等しく、9.3.4.3.6項で規定されているように、整列したバイパス復号化の前の整列処理が呼び出される。
構文要素の各要求値に対して、9.3.3項で規定されるように2値化が導出される。
構文要素の2値化および構文解析されたビンのシーケンスは、9.3.4項に記載されるように、復号化処理の流れを判定する。
構文要素pcm_flagに対して構文要素の値の要求が処理され、復号化されたpcm_flagの値が1に等しい場合には、9.3.2.6項で規定されているように、任意のpcm_alignment_zero_bit、すべてのpcm_sample_lumaおよびpcm_sample_chromaデータの復号化の後に、復号化エンジンは初期化される。
【0137】
コンテキスト変数に対する記憶処理は、以下のように適用される。
-7.3.8.2項のCTU構文の構文解析を終了し、entropy_coding_sync_enabled_flagが1に等しく、CtbAddrInRs%PicWidthInCtbsYが1に等しいか、または、CtbAddrInRsが1より大きく、TileId[CtbAddrInTs]がTileId[CtbAddrRsToTs[CtbAddrInRs-2]]に等しくないの両方である場合、9.3.2.4項で規定されているように、コンテキスト変数、Riceパラメータ初期化状態、およびパレット予測変数に対する記憶処理は、persistent_rice_adaptation_enabled_flagが1に等しい場合のTableStateIdxWpp、TableMpsValWpp、TableStatCoeffWpp、および、palette_mode_enabled_flagが1に等しい場合のPredictorPaletteSizeWppおよびPredictorPaletteEntriesWppを出力として呼び出される。
-7.3.8.1項の一般スライスセグメントデータ構文の構文解析を終了し、dependent_slice_segments_enabled_flagが1に等しく、end_of_slice_segment_flagが1に等しい場合、9.3.2.4項で規定されているように、コンテキスト変数、Riceパラメータ初期化状態、およびパレット予測変数に対する記憶処理は、persistent_rice_adaptation_enabled_flagが1に等しい場合のTableStateIdxDs、TableMpsValDs、TableStatCoeffDs、および、palette_mode_enabled_flagが1に等しい場合のPredictorPaletteSizeDsおよびPredictorPaletteEntriesDsを出力として呼び出される。
【0138】
5.2. 実施形態♯2
9.3 スライスデータのCABAC構文解析処理
9.3.1 一般
この処理に対する入力は、構文要素の値および構文解析された前の構文要素の値に対する要求である。
この処理の出力は、構文要素の値である。
9.3.2項で規定される初期化処理は、7.3.8.2項で規定されるCTU構文の構文解析を開始する時に呼び出され、以下の条件の1または複数が真である。
-CTUは、ブリックにおける最初のCTUである。
-entropy_coding_sync_enabled_flagの値は1に等しく、CTUはブリックのCTU行における最初のCTUである。
【0139】
構文要素の構文解析は、以下のように進行する。
構文要素の各要求値に対して、9.3.3従属項で規定されるように2値化が導出される。
構文要素に対する2値化および構文解析されたビンのシーケンスは、9.3.4従属項に記載されるように、復号化処理の流れを判定する。
【0140】
コンテキスト変数の記憶処理は、以下のように適用される。
-7.3.8.2項におけるCTU構文の構文解析を終了し、entropy_coding_sync_enabled_flagが1に等しく、CtbAddrInRs%PicWidthInCtbsYが0に等しいか、またはBrickId[CtbAddrInBs]がBrickId[CtbAddrRsToBs[CtbAddrInRs-1]]に等しくない場合、9.3.2.3項で規定されているように、コンテキスト変数に対する記憶処理は、TableStateIdx0Wpp、TableStateIdx1WppおよびTableMpsValWpp、Palette_mode_enabled_flagが1に等しい場合のPredictorPaletteSizeWppおよびPredictorPaletteEntriesWppを出力として呼び出される。
【0141】
9.3.2 初期化処理
9.3.2.1 一般
-この処理の出力は、初期化されたCABAC内部変数である。
-算術復号化エンジンのコンテキスト変数は、以下のように初期化される。
--CTUがブリック内の最初のCTUである場合、9.3.2.2項に規定されるように、コンテキスト変数の初期化処理が呼び出され、変数PredictorPaletteSize[0/1/2]が0に初期化される。
--そうでない場合、entropy_coding_sync_enabled_flagが1に等しく、CtbAddrInRs%PicWidthInCtbsYが0に等しいか、またはBrickId[CtbAddrInBs]がBrickId[CtbAddrRsToBs[CtbAddrInRs-1]]に等しくない場合には、下記が適用される。
--現在のCTBの左上の輝度サンプルの位置(x0,y0)を用いて、空間的近傍ブロックT(
図9-2)の左上の輝度サンプルの位置(xNbT,yNbT)を以下のように導出する。
-(xNbT,yNbT)=(x0,y0-CtbSizeY) (9-3)
--6.4.4項で規定される近傍ブロックの可用性に対する導出処理は、(x0,y0)に等しく設定した位置(xCurr,yCurr)、(xNbT,yNbT)に等しく設定した近傍位置(xNbY,yNbY)、FALSEに等しく設定したcheckPredModeY、および0に等しく設定したcIdxを入力として呼び出され、出力はavailableFlagTに割り当てられる。
--コンテキスト変数の同期処理は、以下のように呼び出される。
--availableFlagTが1に等しい場合、9.3.2.4項にて規定されるコンテキスト変数に対する同期処理は、TableStateIdx0Wpp、TableStateIdx1Wpp、TableMpsValWppを入力として呼び出され、変数PredictorPaletTeSizeは0に初期化される。
--そうでない場合、9.3.2.2項にて規定されるように、コンテキスト変数に対する初期化処理が呼び出され、変数PredictorPaletTeSizeは0に初期化される。
--そうでない場合、9.3.2.2項にて規定されるように、コンテキスト変数に対する初期化処理が呼び出され、変数PredictorPaletTeSizeは0に初期化される。
-9.3.2.5従属項で規定されるように、復号化エンジンは、算術復号化エンジンに対する初期化処理を呼び出すことにより初期化される、両方とも16ビットのレジスタ精度を有する復号化エンジンレジスタivlCurrRangeおよびivlOffsetを記録する。
【0142】
9.3.2.3 コンテキスト変数の記憶処理
この処理への入力は以下の通りである。
-ctxTableおよびctxIdxでインデックス付けられたCABACコンテキスト変数。
この処理の出力は以下の通りである。
-end_of_brick_one_bit、end_of_subset_one_bitを除く、7.3.8.1項から7.3.8.11項のすべての構文要素に割り当てられているコンテキスト変数の初期化処理で使用される変数pStateIdx0、pStateIdx1、valMpsの値を含む変数tableStateSync0、tableStateSync1、tableMPSSync。
-palette_mode_enabled_flagが1に等しい場合のPredictorPaletteSizeWppおよびPredictorPaletteEntriesWpp。
コンテキスト変数ごとに、テーブルtableStateSync0、tableStateSync1、およびtableMPSSyncの対応するエントリpStateIdx0、pStateIdx1、およびvalMpsを、対応するpStateIdx0、pStateIdx1、およびvalMpsに初期化する。
PredictorPaletteSizeWppが0に設定され、PredictorPaletteEntriesWppが空に設定される。
代替的には、以下を適用することができる。
PredictorPaletteSizeWppおよびPredictorPaletteEntriesWppは、それぞれ、対応するPredictorPaletteSizeおよびPredictorパレットのエントリに設定される。
【0143】
5.3.実施形態#3
【0144】
【0145】
代替的に、上記テーブルにおけるPredictorPaletteSizeを、固定値または予測子パレットサイズ等の別の整数値に設定してもよい。
【0146】
6.開示される技術の例示的な実装形態
【0147】
図9は、映像処理装置900のブロック図である。装置900は、本明細書に記載の方法の1つ以上を実装するために使用してもよい。装置900は、スマートフォン、タブレット、コンピュータ、IoT(Internet of Things)受信機等により実施されてもよい。装置900は、1または複数のプロセッサ902と、1または複数のメモリ904と、映像処理ハードウェア906とを含んでもよい。1または複数のプロセッサ902は、本明細書に記載される1または複数の方法を実装するように構成されてもよい。メモリ(複数可)904は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア906を使用して、ハードウェア回路において、本明細書に記載されるいくつかの技術を実装してもよく、一部又は全部がプロセッサ902の一部(例えば、グラフィック処理装置コアGPU又は他の信号処理回路)であってもよい。
【0148】
本明細書では、「映像処理」という用語は、映像符号化、映像復号化、映像圧縮、または映像展開を指すことができる。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換および符号化された誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号化されてもよい。
【0149】
開示された方法および技法は、本明細書に開示された技法を使用できるようにすることで、スマートフォン、ノートパソコン、卓上パソコン、および類似した機器等の映像処理デバイスに組み込まれる映像エンコーダおよび/またはデコーダの実施形態に有益となることが理解される。
【0150】
図10は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1000を示すブロック図である。様々な実装形態は、システム1000のコンポーネントの一部又は全部を含んでもよい。システム1000は、映像コンテンツを受信するための入力1002を含んでもよい。映像コンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットのマルチコンポーネント画素値で受信されてもよく、又は圧縮又は符号化フォーマットで受信されてもよい。入力1002は、ネットワークインターフェース、周辺バスインターフェース、又は記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、PON(Passive Optical Network)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
【0151】
システム1000は、本明細書に記載される様々な符号化又は符号化方法を実装することができる符号化コンポーネント1004を含んでもよい。符号化コンポーネント1004は、入力1002からの映像の平均ビットレートを符号化コンポーネント1004の出力に低減し、映像の符号化表現を生成してもよい。従って、この符号化技術は、映像圧縮または映像コード変換技術と呼ばれることがある。符号化コンポーネント1004の出力は、コンポーネント1006によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力1002において受信された、記憶された又は通信された映像のビットストリーム(又は符号化)表現は、コンポーネント1008によって使用されて、表示インターフェース1010に送信される画素値又は表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理動作を「符号化」動作又はツールと呼ぶが、符号化ツール又は動作は、エンコーダおよびそれに対応する、復号化の結果を逆にする復号化ツール又は動作が、デコーダによって行われることが理解されよう。
【0152】
周辺バスインターフェースユニットまたは表示インターフェースユニットの例は、USB(Universal Serial Bus)またはHDMI(登録商標;High Definition Multimedia Interface)またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、SATA(Serial Advanced Technology Interface)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、又はデジタルデータ処理および/又は映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0153】
図11は、映像処理の方法1100の一例を示すフローチャートである。方法1100は、1110において、パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を行うことを含み、変換の間、映像ブロックの現在のパレット情報を予測するために予測子パレットが使用され、さらに、予測子パレットは、映像ブロックと映像ブロックのビットストリーム表現との変換の前に、選択的にリセットされる。
【0154】
いくつかの実施形態を、以下の項に基づくフォーマットを使用して説明することができる。
【0155】
1. 映像処理の方法であって、
パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を実行することを含み、変換の間、映像ブロックの現在のパレット情報を予測するために予測子パレットが使用され、さらに、予測子パレットは、映像ブロックと映像ブロックのビットストリーム表現との変換の前に、選択的にリセットされる。
【0156】
2.映像ユニットは、1または複数の符号化ツリーユニット、1または複数の符号化ツリーブロック、符号化ツリーユニットまたは符号化ツリーブロックのサブ領域、または符号化ツリーユニットの符号化ツリーブロックの行/タイル/ブリック/サブピクチャ/ビューを含む、項目1に記載の方法。
【0157】
3.変換の間、遅延波面並列処理を無効化する、項目1から2のいずれかに記載の方法。
【0158】
4.entropy_coding_sync_enabled_flagが0に等しく設定される、項目3に記載の方法。
【0159】
5.映像ユニットは、クロマ符号化ツリーユニットの行である、項目1に記載の方法。
【0160】
6.新しいクロマCTU行における最初のCTB(Chroma Coding Tree Block)を復号化する前に、予測子パレットをリセットする、項目5に記載の方法。
【0161】
7.デュアル符号化ツリーが適用され、かつ、デュアル符号化ツリーの現在のパーティションがクロマ符号化ツリーユニットである場合、予測子パレットがリセットされる、項目5に記載の方法。
【0162】
8.予測子パレットのサイズがゼロにリセットされる、項目1に記載の方法。
【0163】
9.予測子パレットのサイズが、シーケンスパレット予測子イニシャライザーにおけるエントリ数または最大の許容エントリ数にリセットされる、項目1に記載の方法。
【0164】
10.シーケンスパレット予測子イニシャライザーは、映像ユニットに適用される前にパレット予測子を初期化するために使用される、項目9に記載の方法。
【0165】
11.entropy_coding_sync_enabled_flagが1に等しく設定されている場合、前の映像ブロックに適用されるパレット予測子が、映像ユニットに適用する前に再初期化される、項目1に記載の方法。
【0166】
12.映像ユニットに関連付けられた符号化情報に基づいて、予測子パレットを更新することが無効化される、項目1に記載の方法。
【0167】
13.符号化情報は、映像ユニットの寸法を含む、項目12に記載の方法。
【0168】
14.1または複数の閾値条件を達成する映像ユニットの寸法に基づいて、予測子パレットを更新することが無効化される、項目13に記載の方法。
【0169】
15.1または複数の閾値条件が予め定義される、項目14に記載の方法。
【0170】
16.1または複数の閾値条件は、映像ユニットの符号化表現において明示的または暗黙的に信号通知される、項目14に記載の方法。
【0171】
17.映像処理の方法であって、
パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を実行することを含み、変換の間、映像ブロックの現在のパレット情報を予測するために予測子パレットが使用され、さらに、映像ユニットの複数の符号化ユニットが共通の共有領域を有する場合、予測子パレットは共有予測子パレットである、方法。
【0172】
18.共有領域は、TT分割、BT分割、QT分割のいずれかに関連付けられる、項目17に記載の方法。
【0173】
19.共有予測子パレットは、複数の符号化ユニットに適用される前に構築される、項目17に記載の方法。
【0174】
20.共有予測子パレットの使用の指示が、共有領域の第1のパレット符号化ユニットに関連して、符号化表現で明示的または暗黙的に信号通知される、項目17に記載の方法。
【0175】
21.項目17に記載の方法であって、さらに、
複数の符号化ユニットのうちの1つの符号化ユニットに適用された後、共有予測子パレットを更新することをスキップすることを含む、方法。
【0176】
22.映像処理の方法であって、
パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を実行することを含み、変換の間、予測子パレットは、映像ブロックの現在のパレット情報を予測するために使用され、さらに、予測子パレットのサイズは、1または複数の条件に従って適応的に変更される、方法。
【0177】
23.1または複数の条件は、少なくとも、前のパレット情報のサイズ、映像ユニットの寸法、映像ユニットのコンテンツ、映像ユニットのカラーフォーマット、映像ユニットの色成分、映像ブロックの符号化ツリー構造、符号化表現における映像ブロックの相対位置、映像ブロックの時間層ID、映像ブロックのスライス/タイルグループのタイプおよび/またはピクチャタイプ、あるいは、映像ブロックのプロファイル/レベル/階層に関連付けられる、項目22に記載の方法。
【0178】
24.映像処理の方法であって、
パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を実行することを含み、変換の間、予測子パレットは、映像ブロックの現在のパレット情報を予測するために使用され、さらに、予測子パレットは、予測子パレットにおけるサイズまたはエントリ数に基づいて更新される。
【0179】
25.予測子パレットのサイズは、前の映像ブロックから現在の映像ブロックに更新される、項目24に記載の方法。
【0180】
26.予測子パレットのサイズは、符号化表現において暗黙的または明示的に信号通知される、項目24に記載の方法。
【0181】
27.予測子パレットのサイズは、映像ブロックの寸法、映像ブロックの量子化パラメータ、または映像ブロックの1または複数の色成分に依存する、項目24に記載の方法。
【0182】
28.映像処理方法であって、
パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を実行することを含み、変換の間、予測子パレットは、映像ブロックの現在のパレット情報を予測するために使用され、さらに、予測子パレットのエントリは、再配列されるか、修正される、方法。
【0183】
29.entropy_coding_sync_enabled_flagが1に等しい場合、予測子パレットのエントリは再配列されるか、修正される、項目28に記載の方法。
【0184】
30.符号化ツリーユニット構文の終わりに遭遇した場合、予測子パレットのエントリが再配列されるか、修正される、項目28に記載の方法。
【0185】
31.現在のCTBが新しいCTU行の最初のCTBであるか、または現在のCTBが前のCTBと同じブリックにない場合、予測子パレットのエントリは再配列されるか、修正される、項目28に記載の方法。
【0186】
32.映像処理の方法であって、
パレットモードを使用して、映像ユニットにおける映像ブロックと映像ブロックの符号化表現との変換を実行することを含み、変換の間、予測子パレットは、映像ブロックの現在のパレット情報を予測するために使用され、さらに、予測子パレットの使用は、予測子パレットが使用される回数を追跡するカウンタを維持することによって示される、方法。
【0187】
33.予測子パレットを有効化または無効化することは、前のパレット情報のサイズ、映像ブロックの寸法、映像ブロックのコンテンツ、映像ブロックのカラーフォーマット、映像ブロックの色成分、映像ブロックの符号化ツリー構造、符号化表現における映像ブロックの相対位置、映像ブロックの時間層ID、映像ブロックのスライス/タイルグループタイプおよび/またはピクチャタイプ、または映像ブロックのプロファイル/レベル/階層のうち少なくとも1つに関連付けられる、前述の項目のいずれかに記載の方法。
【0188】
34.変換の間に、2つ以上の予測子パレットが使用される、前述の項目のいずれかに記載の方法。
【0189】
35.項目1から34の1または複数に記載の方法を実装するように構成されたプロセッサを備える、映像復号化装置。
【0190】
36.項目1から34の1または複数以上に記載の方法を実装するように構成されたプロセッサを備える映像符号化装置。
【0191】
37.コンピュータコードが記憶されたコンピュータプログラムプロダクトにおいて、コードがプロセッサにより実行されると、プロセッサは、項目1から34のいずれかに記載の方法を実装する。
【0192】
38.本明細書に記載の方法、装置またはシステム。
【0193】
図12は、本技術にしたがった映像処理の方法1200を示すフローチャートである。方法1200は、工程1210において、現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、予測子パレットは、代表サンプル値のパレットを予測するために使用され、現在のブロックの特徴に基づく規則に従って、現在のブロックの変換の後に予測子パレットの更新が無効化される。
【0194】
いくつかの実施形態において、現在のブロックの特徴は、現在のブロックに関連付けられた符号化情報を含む。いくつかの実施形態において、現在のブロックの特徴は現在のブロックの寸法を含む。いくつかの実施形態において、規則は、現在のブロックの幅が第1の閾値以下であり、現在のブロックの高さが第2の閾値以下の場合、予測子パレットの更新が無効化されることを規定する。いくつかの実施形態において、規則は、現在のブロックの高さが第1の閾値以下の場合、予測子パレットの更新が無効化されることを規定する。いくつかの実施形態において、規則は、現在のブロックの幅が第1の閾値以上であり、現在のブロックの高さが第2の閾値以上である場合、予測子パレットの更新が無効化されることを規定する。いくつかの実施形態において、規則は、現在のブロックの高さが第1の閾値以上の場合、予測子パレットの更新が無効化されることを規定する。
【0195】
いくつかの実施形態において、第1の閾値または第2の閾値は、符号化表現において予め定義されるか、または信号通知される。いくつかの実施形態において、第1の閾値は4、16または1024である。いくつかの実施形態において、第2の閾値は4、16または1024である。いくつかの実施形態において、第1の閾値または第2の閾値は現在のブロックの色成分に基づく。
【0196】
図13は、本技術にしたがった映像処理の方法1300を示すフローチャートである。方法1300は、工程1310において、現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために予測子パレットが使用され、現在のブロックの色成分に従って予測子パレットを変更するかどうかが判定される。
【0197】
いくつかの実施形態において、予測子パレットに対する変更は、予測子パレットを更新すること、初期化またはリセットすることを含む。いくつかの実施形態において、色成分は輝度またはクロマ成分を含む。いくつかの実施形態において、予測子パレットは、現在のブロックの色成分に対応する情報を含む。いくつかの実施形態において、予測子パレットは、現在のブロックのすべての色成分に対応する情報を含む。いくつかの実施形態において、予測子パレットは、現在のブロックの2つのクロマ成分に対応する情報を含む。
【0198】
図14は、本技術にしたがった映像処理の方法1400を示すフローチャートである。方法1400は、工程1410において、映像ユニットの現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の映像ユニットの現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために、複数の予測子パレットが使用される。
【0199】
いくつかの実施形態において、現在のブロックの予測子パレットは、少なくともグローバルパレットおよびローカルパレットに従って更新される。いくつかの実施形態において、複数の予測子パレットは、パレットモードを使用して符号化された映像ユニットにおけるK個のブロックに関連付けられる。いくつかの実施形態において、複数の予測子パレットのうちの異なる予測子パレットに従って、異なる色成分に対するパレットを判定する。いくつかの実施形態において、複数の予測子パレットは、映像ユニットにおける最初のブロックの変換の前または前に変換された映像ユニットにおける最後のブロックの変換後に、リセットまたは再初期化される。いくつかの実施形態において、複数の予測子パレットのうちの予測子パレットのインデックスが、符号化ユニット、予測ユニット、符号化ツリーユニット、符号化ツリーブロック、符号化ツリーユニットのサブ領域、または符号化ツリーブロックのサブ領域において符号化表現にて信号通知される。
【0200】
図15は、本技術にしたがった映像処理の方法1500を示すフローチャートである。方法1500は、工程1510において、映像ユニットの現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の映像ユニットの現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために、予測子パレットが使用される。予測子パレットは、規則に従って、映像ユニットにおける最初のブロックを変換する前に、または前の映像ユニットにおける最後の映像ブロックの変換後に、リセットまたは再初期化される。
【0201】
いくつかの実施形態において、映像ユニットは、映像の符号化ツリーユニット、仮想パイプラインデータユニット、1または複数の符号化ツリーユニット、1または複数の符号化ツリーブロック、符号化ツリーユニットの行、タイル、ブリック、サブピクチャ、またはビューのサブ領域を含む。いくつかの実施形態において、規則は、複数の映像ユニットの波面並列処理を有効にするか否かにかかわらず、予測子パレットをリセットまたは再初期化することが映像ユニットに適用可能であることを規定する。いくつかの実施形態において、映像ユニットはクロマ成分に対応する符号化ツリーユニット行を含む。いくつかの実施形態において、最初のブロックは符号化ツリーユニット行のクロマ成分に対応する最初の符号化ツリーブロックを含む。いくつかの実施形態において、規則は、デュアルツリーパーティションが適用され、現在のパーティションツリーがクロマ成分に対応する符号化ツリーである場合、予測子パレットをリセットまたは再初期化することが映像ユニットに適用可能であることを規定する。いくつかの実施形態において、予測子パレットのサイズは0にリセットされるか、再初期化される。いくつかの実施形態において、予測子パレットのサイズは、シーケンスパレット予測子イニシャライザーにおけるエントリ数、または符号化表現で信号通知される予測子パレットにおいて許可される最大のエントリ数に、リセットまたは再初期化される。
【0202】
いくつかの実施形態において、予測子パレットは、新しい映像ユニットを変換する前にさらにリセットされるか、再初期化される。いくつかの実施形態において、複数の映像ユニットに対して波面並列処理が有効にされた場合、現在の符号化ツリーブロックまたは現在の符号化ツリーユニットの変換に使用される予測子パレットは、既に変換された符号化ツリーブロックまたは符号化ツリーユニットに基づいて判定される。
【0203】
図16は、本技術にしたがった映像処理の方法1600を示すフローチャートである。方法1600は、工程1610において、パレットモードを使用して、映像の映像ユニットと映像の符号化表現との変換を実行することを含む。映像ユニットは、複数のブロックを含む。変換の間、パレットモードにおける複数のブロックの各々に対する代表サンプル値のパレットを予測するために、複数のブロックのすべてによって共有予測子パレットが使用される。
【0204】
いくつかの実施形態において、映像ユニットに三分木分割が適用され、共有予測子パレットは、16×4または4×16の寸法を有する映像ユニットに使用される。いくつかの実施形態において、映像ユニットに対して二分木分割が適用され、共有予測子パレットは、8×4または4×8の寸法を有する映像ユニットに使用される。いくつかの実施形態において、映像ユニットに対して四分木分割が適用され、共有予測子パレットは、8×8の寸法を有する映像ユニットに使用される。いくつかの実施形態において、共有予測子パレットは、映像ユニット内の複数のブロック全体を変換する前に構築される。
【0205】
いくつかの実施形態において、共有予測子パレットにおいて予測されたエントリの指示は、領域の複数のブロックのうちの最初の符号化ブロックによる符号化表現で通知される。いくつかの実施形態において、共有予測子パレットにおいて予測されたエントリの指示は、領域の複数のブロックの残りに対して符号化表現で省略される。いくつかの実施形態において、領域の複数のブロックのうちの1つの変換後、共有予測子パレットの更新が省略される。
【0206】
図17は、本技術にしたがった映像処理の方法1700を示すフローチャートである。方法1700は、工程1710において、代表サンプル値のパレットが現在のブロックを符号化するために使用されるパレットモードを使用して、映像の現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために予測子パレットが使用され、予測子パレットのエントリごとに、対応するエントリがどれぐらいの頻度で使用されるかを示すカウンタが維持される。
【0207】
いくつかの実施形態において、カウンタは、予測子パレットに追加されるべき新しいエントリに対してKに設定され、Kは整数である。いくつかの実施形態において、K=0である。いくつかの実施形態において、現在のブロックの変換の間、対応するエントリを再び使用する度に、カウンタをNにてインクリメントし、Nは正の整数である。いくつかの実施形態において、N=1である。
【0208】
いくつかの実施形態において、予測子パレットが変換に使用される前に、予測子パレットのエントリを、規則に従って再配列する。いくつかの実施形態において、規則は、現在のサンプルの符号化情報に従って、予測子パレットのエントリを再配列することを規定する。いくつかの実施形態において、規則は、予測子パレットにおけるエントリの各対応するエントリのカウンタに従って、予測子パレットのエントリを再配列することを規定する。
【0209】
いくつかの実施形態において、第2のカウンタは、サンプルの発生頻度を示すために使用される。いくつかの実施形態において、より高い発生頻度を有する第1のサンプルが、予測子パレットにおけるより低い発生頻度を有する第2のサンプルの前に配置される。いくつかの実施形態において、予測子パレットは、規則に従って現在のブロックにおけるエスケープされたサンプルを使用して更新される。いくつかの実施形態において、規則は、条件が満たされた場合、エスケープされたサンプルを用いて予測子パレットを更新することを規定する。いくつかの実施形態において、現在のブロックを挿入した後、予測子パレットが満杯でない場合、条件は満たされる。
【0210】
図18は、本技術にしたがった映像処理の方法1800を示すフローチャートである。方法1800は、工程1810において、現在のブロックに対する代表サンプル値のパレットを予測するために、代表サンプル値のパレットが現在のブロックを符号化するために使用されるパレットモードを使用して、映像の現在のブロックと映像の符号化表現との変換を実行することを含む。符号化表現で信号通知されるパレットのエントリ数は、[0、パレットの最大の許容サイズ-変換中に導出されたパレットエントリ数]の範囲内にあり、この範囲は、0およびパレットの最大の許容サイズ-変換中に導出されるパレットエントリ数を含む閉範囲である。
【0211】
いくつかの実施形態において、符号化表現で信号通知されるパレットのエントリ数は、範囲に基づいて2値化される。いくつかの実施形態において、符号化表現で信号通知されるエントリ数は、トランケーテッド2値化符号化処理を使用して2値化される。いくつかの実施形態において、符号化表現で信号通知されるエントリ数は、現在のブロックの特徴に基づいて2値化される。いくつかの実施形態において、特徴は現在のブロックの寸法を含む。
【0212】
図19は、本技術にしたがった映像処理の方法1900を示すフローチャートである。方法1900は、工程1910において、映像ユニットの現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の映像ユニットの現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために、予測子パレットが使用され、予測子パレットのサイズは、規則に従って適応的に調整される。
【0213】
いくつかの実施形態において、デュアルツリー分割における予測子パレットのサイズはシングルツリー分割におけるそれと異なる。いくつかの実施形態において、映像ユニットは、ブロック、符号化ユニット、符号化ツリーユニット、タイル、ブリックまたはサブピクチャを含む。いくつかの実施形態において、規則は、予測子パレットが映像ユニットのための第1のサイズを有し、後続の映像ユニットの変換のための異なる第2のサイズを有することを規定する。いくつかの実施形態において、規則は、変換のために現在のパレットのサイズに従って予測子パレットのサイズを調整することを規定する。いくつかの実施形態において、予測子パレットのサイズは、現在のブロックを変換した後に判定される現在のパレットのサイズに等しい。いくつかの実施形態において、予測子パレットのサイズは、現在のブロックの変換後に判定される現在のパレットのサイズにオフセットを加えるか、または引いたサイズに等しく、オフセットは整数である。いくつかの実施形態において、オフセットは符号化表現で信号通知される。いくつかの実施形態において、オフセットは変換の間に導出される。
【0214】
いくつかの実施形態において、規則は、現在ブロックのために予め定義された予測子パレットのサイズをSとして規定し、規則は、現在ブロックのサイズに従って予測子パレットのサイズを調整することを更に規定する。いくつかの実施形態において、現在のブロックのサイズがT以下である場合、予測子パレットのサイズは予め定義されたサイズSより小さくなるように調整され、TおよびSは整数である。いくつかの実施形態において、予測子パレットにおける最初のK個のエントリが変換に使用され、Kは整数であり、K≦Sである。いくつかの実施形態において、予め定義されたサイズSより小さいサイズを有するサブサンプリングされた予測子パレットが変換に用いられる。いくつかの実施形態において、現在のブロックのサイズがT以上である場合、予測子パレットのサイズは予め定義されたサイズSに調整される。
【0215】
いくつかの実施形態において、K又はTは映像の特徴に基づいて判定される。いくつかの実施形態において、映像の特徴は、映像のコンテンツを含む。いくつかの実施形態において、映像の特徴は、デコーダパラメータセット、スライスパラメータセット、映像パラメータセット、ピクチャパラメータセット、適応パラメータセット、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、LCU(Largest Coding Unit)、符号化ユニット、LCU列、LCUグループ、変換ユニット、ピクチャユニットまたは映像符号化ユニットにおいて、符号化表現で信号通知される情報を含む。いくつかの実施形態において、映像の特徴は、映像における符号化ユニット、ピクチャユニット、変換ユニット、ブロックまたは映像符号化ユニットの位置を含む。いくつかの実施形態において、映像の特徴は、映像のカラーフォーマットの指示を含む。いくつかの実施形態において、映像の特徴は、映像に適用可能な符号化ツリー構造を含む。いくつかの実施形態において、映像の特徴は、映像のスライスタイプ、タイルグループタイプ、またはピクチャタイプを含む。いくつかの実施形態において、映像の特徴は、映像の色成分を含む。いくつかの実施形態において、映像の特徴は、映像の時間層識別子を含む。いくつかの実施形態において、映像の特徴は、映像規格のプロファイル、レベル、階層を含む。
【0216】
いくつかの実施形態において、規則は、予測子パレットにおける各エントリの1または複数のカウンタに従って予測子パレットのサイズを調整することを規定する。いくつかの実施形態において、閾値Tより小さいカウンタを有するエントリは、変換の間、破棄され、Tは整数である。いくつかの実施形態において、最小のカウンタを有するエントリは、予測子パレットのサイズが閾値Tより小さくなるまで破棄され、Tは整数である。
【0217】
いくつかの実施形態において、規則は、変換に使用される現在のパレットのみに基づいて予測子パレットを更新することを規定する。いくつかの実施形態において、予測子パレットは、変換後の次のブロックに対する現在のパレットとなるように更新される。
【0218】
図20は、本技術にしたがった映像処理の方法2000を示すフローチャートである。方法2000は、工程2010において、映像ユニットの現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の映像ユニットの現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために予測子パレットを使用し、映像の映像ユニット間でサイズを変更することを許可する規則に従って、代表サンプルのパレット又は予測子パレットのサイズを判定する。
【0219】
いくつかの実施形態において、映像ユニットは、ブロック、符号化ユニット、符号化ツリーユニット、タイル、ブリックまたはサブピクチャを含む。いくつかの実施形態において、現在のブロックまたは現在のブロックの近傍ブロックの特徴に基づいて代表サンプルのパレットまたは予測子パレットのサイズを更に判定する。いくつかの実施形態において、特徴は、現在のブロックまたは近傍ブロックの寸法を含む。いくつかの実施形態において、特徴は、現在のブロックまたは近傍ブロックの量子化パラメータを少なくとも含む。いくつかの実施形態において、特徴は、現在のブロックまたは近傍ブロックの色成分を含む。
【0220】
いくつかの実施形態において、代表サンプルのパレットまたは予測子パレットの異なるサイズが、異なる色成分に対して使用される。いくつかの実施形態において、輝度成分およびクロマ成分に対する代表サンプルのパレットまたは予測子パレットのサイズが、符号化表現で示される。いくつかの実施形態において、色成分ごとの代表サンプルのパレットまたは予測子パレットのサイズは、符号化表現で示される。いくつかの実施形態において、符号化表現における異なるサイズの信号通知は、デュアルツリーパーティション、スライスタイプまたはピクチャタイプを変換に用いることに基づく。
【0221】
図21は、本技術にしたがった映像処理の方法2100を示すフローチャートである。方法2100は、工程2110において、映像ユニットの現在のブロックを符号化するために代表サンプル値のパレットを使用するパレットモードを使用して、映像の映像ユニットの現在のブロックと映像の符号化表現との変換を実行することを含む。変換の間、代表サンプル値のパレットを予測するために、予測子パレットが使用される。予測子パレットは、条件が満たされた時点で再初期化され、映像ユニットが映像ユニット行における最初の映像ユニットであり、構文要素が映像ユニットに対して波面並列処理を有効にすることを示す符号化表現に含まれる場合に、条件は満たされる。
【0222】
いくつかの実施形態において、映像ユニットは符号化ツリーユニットまたは符号化ツリーブロックを含む。いくつかの実施形態において、現在のブロックおよび前のブロックが同一のブリックにない場合、条件を満たす。いくつかの実施形態において、映像ユニットの変換後、予測子パレットのサイズおよび/または予測子パレットにおけるエントリ数を記録して、少なくとも1つの構文要素を維持する。いくつかの実施形態において、少なくとも1つの構文要素は現在のブロックを変換するために使用される。
【0223】
いくつかの実施形態において、(1)現在のブロックがピクチャの最初の列にある場合、または(2)現在のブロックと前のブロックとが同一のブリックにない場合、映像のコンテキスト変数の記憶処理が呼び出される。いくつかの実施形態において、記憶処理の出力は、予測子パレットのサイズまたは予測子パレットのエントリ数を少なくとも含む。
【0224】
いくつかの実施形態において、上記方法の1または複数の適用可能性は、映像の特徴に基づく。いくつかの実施形態において、映像の特徴は、映像のコンテンツを含む。いくつかの実施形態において、映像の特徴は、デコーダパラメータセット、スライスパラメータセット、映像パラメータセット、ピクチャパラメータセット、適応パラメータセット、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、LCU(Largest Coding Unit)、符号化ユニット、LCU列、LCUグループ、変換ユニット、ピクチャユニット、または映像符号化ユニットにおいて、符号化表現で信号通知される情報を含む。いくつかの実施形態において、映像の特徴は、映像における、符号化ユニット、ピクチャユニット、変換ユニット、ブロックまたは映像符号化ユニットの位置を含む。いくつかの実施形態において、映像の特徴は、現在のブロックまたは現在のブロックの近傍ブロックの特徴を含む。いくつかの実施形態において、現在のブロックまたは現在のブロックの近傍ブロックの特徴は、現在のブロックの寸法または現在のブロックの近傍ブロックの寸法を含む。いくつかの実施形態において、映像の特徴は、映像のカラーフォーマットの指示を含む。いくつかの実施形態において、映像の特徴は、映像に適用可能な符号化ツリー構造を含む。いくつかの実施形態において、映像の特徴は、映像のスライスタイプ、タイルグループタイプ、またはピクチャタイプを含む。いくつかの実施形態において、映像の特徴は、映像の色成分を含む。いくつかの実施形態において、映像の特徴は、映像の時間層識別子を含む。いくつかの実施形態において、映像の特徴は、映像規格のプロファイル、レベル、階層を含む。
【0225】
いくつかの実施形態において、変換は、映像を符号化表現に符号化することを含む。いくつかの実施形態において、変換は、映像の画素値を生成するための符号化表現を復号することを含む。
【0226】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを有効化するように決定または判定することを含む。一例において、映像処理ツールまたはモードが有効化される場合、エンコーダは、映像のブロックの処理の際にツールまたはモードを使用するまたは実装するが、このツールまたはモードの使用に基づいて、結果として得られるビットストリームを必ずしも修正しなくてもよい。すなわち、映像のブロックから映像のビットストリーム表現への変換は、決定または判定に基づいて映像処理ツールまたはモードが有効化される場合に、映像処理ツールまたはモードを使用する。別の例において、映像処理ツールまたはモードが有効化される場合、デコーダは、ビットストリームが映像処理ツールまたはモードに基づいて修正されたことを知って、ビットストリームを処理する。すなわち、決定または判定に基づいて有効化された映像処理ツールまたはモードを使用して、映像のビットストリーム表現から映像のブロックへの変換を行う。
【0227】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを無効化するように決定または判定することを含む。一例において、映像処理ツールまたはモードが無効化されている場合、エンコーダは、映像のブロックを映像のビットストリーム表現に変換する際に、このツールまたはモードを使用しない。別の例において、映像処理ツールまたはモードが無効化されている場合、デコーダは、決定または判定に基づいて有効化された映像処理ツールまたはモードを使用してビットストリームが修正されていないことを知って、ビットストリームを処理する。
【0228】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1または複数の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1または複数のコンピュータプログラムプロダクト、たとえば、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1または複数のモジュールとして実施することができる。コンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1または複数の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1または複数の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
【0229】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1または複数のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1または複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
【0230】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1または複数のコンピュータプログラムを実行する1または複数のプログラマブルプロセッサによって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0231】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1または複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1または複数のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1または複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0232】
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0233】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0234】
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。
【手続補正書】
【提出日】2024-02-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
映像処理の方法であって、
映像の現在の映像ブロックと前記映像のビットストリームとの間の変換のために、予測モードを前記映像ブロックに適用することを判定することであって、前記予測モードにおいて、再構成されたサンプルは、代表色値のセットによって表され、代表色値の前記セットは、1)パレット予測子、2)エスケープしたサンプル、または、3)前記ビットストリームに含まれるパレット情報の少なくとも1つを含む、ことと、
パレット予測テーブルに基づいて、前記現在の映像ブロックに対するパレットを構成することであって、前記パレットは、前記現在の映像ブロックの前記再構成されたサンプルを導出するために用いられる、ことと、
前記パレットに基づいて、前記変換を実行することと、
を有し、
前記パレット予測テーブルは、シングルツリーのツリータイプとデュアルツリーのツリータイプとで映像ブロックに対する異なる最大サイズを有する、方法。
【請求項2】
前記パレット予測テーブルの前記最大サイズは、固定整数値である、請求項1に記載の方法。
【請求項3】
前記パレット予測テーブルのサイズおよび前記パレットのサイズは、コーディングブロックごとに異なる、請求項1に記載の方法。
【請求項4】
前記現在の映像ブロックに対する前記パレット予測テーブルの前記サイズおよび前記パレットの前記サイズの指示は、前記ビットストリームにて明確に信号通知される、請求項3に記載の方法。
【請求項5】
前記現在の映像ブロックは、デュアルツリーのツリータイプを有する輝度映像ブロックであり、
異なるサイズのパレットが、前記現在の映像ブロックと、前記現在の映像ブロックに対応するクロマ映像ブロックに対して構成される、請求項1に記載の方法。
【請求項6】
前記現在の映像ブロックの前記パレットと、前記クロマ映像ブロックのパレットを導出するために用いられる異なる構文要素は、前記ビットストリームに含まれる、請求項5に記載の方法。
【請求項7】
前記現在の映像ブロックは、シングルツリーのツリータイプを有する輝度映像ブロックであり、
前記現在の映像ブロックと、前記現在の映像ブロックに対応するクロマ映像ブロックは、前記パレットを共有する、請求項1に記載の方法。
【請求項8】
シングルツリーが前記現在の映像ブロックに適用される場合、前記パレット予測テーブルは、3つの色成分を有し、
デュアルツリーが前記現在の映像ブロックに適用され、かつ、前記現在の映像ブロックがクロマブロックである場合、前記パレット予測テーブルは、2つのクロマ色成分を有し、
デュアルツリーが前記現在の映像ブロックに適用され、かつ、前記現在の映像ブロックが輝度ブロックである場合、前記パレット予測テーブルは、1つの色成分を有する、請求項1に記載の方法。
【請求項9】
前記現在の映像ブロックを有するCTB(Coding Tree Block)が、スライスまたはタイル内の現在のCTBである場合、前記パレット予測子のサイズを規定する変数は0に初期化され、オプションで、CTB構文の解析を開始する場合、前記変数は0に初期化される、請求項1に記載の方法。
【請求項10】
エントロピーコーディング同期フラグの値が1に等しく、前記現在の映像ブロックを有する前記CTBがタイルのCTB行内にある前記現在のCTBであり、所定の空間的近傍ブロックが利用不可である場合、前記パレット予測子のサイズを規定する変数は0に初期化され、コンテキスト変数に対する特定の同期処理および特定の記憶処理が呼び出されるか否かを規定する前記エントロピーコーディング同期フラグは、前記ビットストリームに含まれ、
オプションで、前記所定の空間的近傍ブロックの左上の輝度サンプルの位置は、(x0,y0-CtbSizeY)であり、(x0,y0)は、前記現在の映像ブロックを有する前記CTBの前記左上の輝度サンプルの位置を示し、CtbSizeYは、前記CTBのサイズを示す、請求項9に記載の方法。
【請求項11】
前記エントロピーコーディング同期フラグが1に等しく、前記所定の空間的近傍ブロックが利用可能であり、シーケンスパレット有効化フラグの値が1に等しい場合、前記パレット予測子に対する同期処理が呼びされる、請求項10に記載の方法。
【請求項12】
前記現在の映像ブロックの特性に基づいて、前記パレット予測テーブルを更新するか否かを判定することを更に有し、
前記パレット予測テーブルは、前記パレットに基づいて更新される、請求項1に記載の方法。
【請求項13】
前記現在の映像ブロックの前記特性は、前記現在の映像ブロックの色成分、および前記現在の映像ブロックの寸法の少なくとも1つを有する、請求項12に記載の方法。
【請求項14】
ローカルデュアルツリーが前記現在の映像ブロックに適用され、かつ、前記現在のブロックがクロマブロックである場合、前記パレット予測テーブルを更新することは無効にされ、または、
前記現在の映像ブロックの幅および前記現在の映像ブロックの高さが所定の閾値より大きい場合、前記パレット予測テーブルを更新することは許可される、請求項13に記載の方法。
【請求項15】
1)前記現在の映像ブロックがクロマブロックであり、かつ、前記所定の閾値が8である場合、2)前記現在の映像ブロックが輝度ブロックであり、かつ、前記所定の閾値が16である場合、または、3)ローカルデュアルツリーが前記現在の映像ブロックに適用され、かつ、前記現在の映像ブロックが輝度ブロックである場合、前記パレット予測テーブルを更新することは許可され、
前記更新することは、リセット処理を有する、請求項14に記載の方法。
【請求項16】
前記変換は、前記現在の映像ブロックを前記ビットストリームに符号化することを含む、請求項1に記載の方法。
【請求項17】
前記変換は、前記現在の映像ブロックを前記ビットストリームから復号することを含む、請求項1に記載の方法。
【請求項18】
プロセッサと、命令を有する非一時的メモリとを有する、映像を処理する装置であって、
前記プロセッサによって前記命令が実行された際に、前記プロセッサに、
映像の現在の映像ブロックと前記映像のビットストリームとの間の変換のために、予測モードを前記映像ブロックに適用することを判定することであって、前記予測モードにおいて、再構成されたサンプルは、代表色値のセットによって表され、代表色値の前記セットは、1)パレット予測子、2)エスケープしたサンプル、または、3)前記ビットストリームに含まれるパレット情報の少なくとも1つを含む、ことと、
パレット予測テーブルに基づいて、前記現在の映像ブロックに対するパレットを構成することであって、前記パレットは、前記現在の映像ブロックの前記再構成されたサンプルを導出するために用いられる、ことと、
前記パレットに基づいて、前記変換を実行することと、
を実行させ、
前記パレット予測テーブルは、シングルツリーのツリータイプとデュアルツリーのツリータイプとで映像ブロックに対する異なる最大サイズを有する、装置。
【請求項19】
映像のビットストリームを格納するための方法であって、
映像の現在の映像ブロックと前記映像のビットストリームとの間の変換のために、予測モードを前記映像ブロックに適用することを判定することであって、前記予測モードにおいて、再構成されたサンプルは、代表色値のセットによって表され、代表色値の前記セットは、1)パレット予測子、2)エスケープしたサンプル、または、3)前記ビットストリームに含まれるパレット情報の少なくとも1つを含む、ことと、
パレット予測テーブルに基づいて、前記現在の映像ブロックに対するパレットを構成することであって、前記パレットは、前記現在の映像ブロックの前記再構成されたサンプルを導出するために用いられる、ことと、
前記パレットに基づいて、前記変換を実行することと、
を有し、
前記パレット予測テーブルは、シングルツリーのツリータイプとデュアルツリーのツリータイプとで映像ブロックに対する異なる最大サイズを有する、方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
関連出願の相互参照
本願は、2019年9月12日出願の国際特許出願第PCT/CN2019/105554号の優先権および利益を主張する、2020年9月10日出願の国際特許出願第PCT/US2020/050181号の国内段階である2022年3月11日出願の日本国特願2022-516099号に基づく。法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
【外国語明細書】