(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-02-28
(54)【発明の名称】パレットモードで映像データを符号化するための方法及び装置
(51)【国際特許分類】
H04N 19/94 20140101AFI20230220BHJP
H04N 19/70 20140101ALI20230220BHJP
【FI】
H04N19/94
H04N19/70
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022536627
(86)(22)【出願日】2020-11-17
(85)【翻訳文提出日】2022-08-08
(86)【国際出願番号】 US2020060852
(87)【国際公開番号】W WO2021137962
(87)【国際公開日】2021-07-08
(32)【優先日】2019-12-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】511050697
【氏名又は名称】アリババ グループ ホウルディング リミテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】サーヴァー,モハメッド ゴラム
(72)【発明者】
【氏名】イエ,ヤン
(72)【発明者】
【氏名】ルオ,ジャンコン
(72)【発明者】
【氏名】リャオ,ル-リン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159MD04
5C159ME01
5C159PP16
5C159RB09
5C159RC12
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
本開示は、映像データのパレット符号化を行うための装置及び方法を提供する。特定の開示実施形態によれば、方法は、符号化ユニット(CU)のルマ成分及びCUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかを決定することと、ルマ成分及びクロマ成分がパレットモードにおいて合同で符号化されることに応答して、CUに関する第1の最大パレット表サイズを決定すること、CUに関する第1の最大パレット予測子サイズを決定すること、及び第1の最大パレット表サイズ及び第1の最大パレット予測子サイズに基づいてCUを予測することと、を含む。
【特許請求の範囲】
【請求項1】
符号化ユニット(CU)のルマ成分及び前記CUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかを決定することと、
前記ルマ成分及び前記クロマ成分が前記パレットモードにおいて合同で符号化されることに応答して、
前記CUに関する第1の最大パレット表サイズを決定すること、
前記CUに関する第1の最大パレット予測子サイズを決定すること、及び
前記第1の最大パレット表サイズ及び前記第1の最大パレット予測子サイズに基づいて前記CUを予測することと、
を含む、パレット符号化方法。
【請求項2】
前記CUに関する前記第1の最大パレット表サイズを決定することが、
映像ビットストリームにおいてシグナリングされた第1のシンタックス要素の値に基づいて、前記CUに関する前記第1の最大パレット表サイズを決定することと、
前記第1のシンタックス要素の前記値、及び前記映像ビットストリームにおいてシグナリングされた第2のシンタックス要素の値に基づいて、前記CUに関する前記第1の最大パレット予測子サイズを決定することと、
を含む、請求項1に記載の方法。
【請求項3】
前記CUに関する前記第1の最大パレット予測子サイズを決定することが、
前記第1のシンタックス要素の前記値及び前記第2のシンタックス要素の前記値の合計となるように、前記CUに関する前記第1の最大パレット予測子サイズを決定することを含む、請求項2に記載の方法。
【請求項4】
前記第1のシンタックス要素及び前記第2のシンタックス要素が、前記CUに関連付けられたシーケンスパラメータセット(SPS)又はピクチャヘッダ(PH)においてシグナリングされる、請求項2に記載の方法。
【請求項5】
前記ルマ成分及び前記クロマ成分が前記パレットモードにおいて個別に符号化されることに応答して、
前記第1の最大パレット表サイズに基づいて、前記CUに関する第2の最大パレット表サイズを決定すること、
前記第1の最大パレット予測子サイズに基づいて、前記CUに関する第2の最大パレット予測子サイズを決定すること、及び
前記第2の最大パレット表サイズ及び前記第2の最大パレット予測子サイズに基づいて前記CUを予測すること、
をさらに含む、請求項1に記載の方法。
【請求項6】
前記CUに関する前記第1の最大パレット表サイズを決定することが、
第1の所定の値となるように、前記CUに関する前記第1の最大パレット表サイズを決定することと、
第2の所定の値となるように、前記CUに関する前記第1の最大パレット予測子サイズを決定することと、
を含む、請求項1に記載の方法。
【請求項7】
前記第1の所定の値が31であり、及び
前記第2の所定の値が63である、請求項6に記載の方法。
【請求項8】
前記ルマ成分及び前記クロマ成分が前記パレットモードにおいて個別に符号化されることに応答して、
第3の所定の値となるように、前記CUに関する第3の最大パレット表サイズを決定すること、及び
前記第3の最大パレット表サイズに基づいて前記CUを予測すること、
をさらに含み、
前記第3の所定の値が、前記第1の所定の値よりも小さい、請求項6に記載の方法。
【請求項9】
前記第3の所定の値が15である、請求項8に記載の方法。
【請求項10】
前記ルマ成分及び前記クロマ成分が前記パレットモードにおいて個別に符号化されること、並びに前記CUが単一ツリースライスの一部であることに応答して、前記第1の最大パレット予測子サイズに基づいて前記CUを予測することをさらに含む、請求項8に記載の方法。
【請求項11】
前記ルマ成分及び前記クロマ成分が前記パレットモードにおいて個別に符号化されること、並びに前記CUが単一ツリースライスの一部ではないことに応答して、
第4の所定の値となるように、前記CUに関する第3の最大パレット予測子サイズを決定すること、及び
前記第3の最大パレット予測子サイズに基づいて前記CUを予測すること、
をさらに含み、
前記第4の所定の値が、前記第2の所定の値よりも小さい、請求項8に記載の方法。
【請求項12】
前記第4の所定の値が31である、請求項11に記載の方法。
【請求項13】
前記CUを含むピクチャスライスが単一ツリースライスであるか、それともデュアルツリースライスであるかを決定することと、
前記ピクチャスライスが単一ツリースライスであることに応答して、
前記ピクチャスライスのスライスヘッダにおいてシグナリングされた第3のシンタックス要素の値に基づいて、前記ピクチャスライスにおける前記CUに関する前記第1の最大パレット表サイズを決定すること、及び
前記第3のシンタックス要素の前記値、並びに前記スライスヘッダにおいてシグナリングされた第4のシンタックス要素の値に基づいて、前記CUに関する前記第1の最大パレット予測子サイズを決定することと、
をさらに含む、請求項1に記載の方法。
【請求項14】
前記ピクチャスライスがデュアルツリースライスであることに応答して、
前記スライスヘッダにおいてシグナリングされた第5のシンタックス要素の値に基づいて、前記CUに関する第4の最大パレット表サイズを決定すること、
前記第5のシンタックス要素の前記値、及び前記スライスヘッダにおいてシグナリングされた第6のシンタックス要素の値に基づいて、前記CUに関する第4の最大パレット予測子サイズを決定すること、及び
前記第4の最大パレット表サイズ及び前記第4の最大パレット予測子サイズに基づいて、前記CUを予測すること、
をさらに含む、請求項13に記載の方法。
【請求項15】
映像処理装置であって、
命令を保存するための少なくとも1つのメモリと、
少なくとも1つのプロセッサとを含み、前記少なくとも1つのプロセッサは、
符号化ユニット(CU)のルマ成分及び前記CUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかを決定することと、
前記ルマ成分及び前記クロマ成分が前記パレットモードにおいて合同で符号化されることに応答して、
前記CUに関する第1の最大パレット表サイズを決定すること、
前記CUに関する第1の最大パレット予測子サイズを決定すること、及び
前記第1の最大パレット表サイズ及び前記第1の最大パレット予測子サイズに基づいて前記CUを予測することと、
を前記装置に行わせるために前記命令を実行するように構成される、映像処理装置。
【請求項16】
命令セットを記憶する非一時的コンピュータ可読記憶媒体であって、前記命令のセットは、
符号化ユニット(CU)のルマ成分及び前記CUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかを決定することと、
前記ルマ成分及び前記クロマ成分が前記パレットモードにおいて合同で符号化されることに応答して、
前記CUに関する第1の最大パレット表サイズを決定すること、
前記CUに関する第1の最大パレット予測子サイズを決定すること、及び
前記第1の最大パレット表サイズ及び前記第1の最大パレット予測子サイズに基づいて前記CUを予測することと、
を含む方法を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、非一時的コンピュータ可読記憶媒体。
【請求項17】
前記命令セットが、
映像ビットストリームにおいてシグナリングされた第1のシンタックス要素の値に基づいて、前記CUに関する前記第1の最大パレット表サイズを決定することと、
前記第1のシンタックス要素の前記値、及び前記映像ビットストリームにおいてシグナリングされた第2のシンタックス要素の値に基づいて、前記CUに関する前記第1の最大パレット予測子サイズを決定することと、
を前記映像処理装置に行わせるために、前記1つ又は複数の処理デバイスによって実行可能である、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記命令セットが、
前記ルマ成分及び前記クロマ成分が前記パレットモードにおいて個別に符号化されることに応答して、
前記第1の最大パレット表サイズに基づいて、前記CUに関する第2の最大パレット表サイズを決定すること、
前記第1の最大パレット予測子サイズに基づいて、前記CUに関する第2の最大パレット予測子サイズを決定すること、及び
前記第2の最大パレット表サイズ及び前記第2の最大パレット予測子サイズに基づいて前記CUを予測すること、
を前記映像処理装置に行わせるために、前記1つ又は複数の処理デバイスによって実行可能である、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記命令セットが、
第1の所定の値となるように、前記CUに関する前記第1の最大パレット表サイズを決定することと、
第2の所定の値となるように、前記CUに関する前記第1の最大パレット予測子サイズを決定することと、
を前記映像処理装置に行わせるために、前記1つ又は複数の処理デバイスによって実行可能である、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項20】
前記命令セットが、
前記ルマ成分及び前記クロマ成分が前記パレットモードにおいて個別に符号化されることに応答して、
第3の所定の値となるように、前記CUに関する第3の最大パレット表サイズを決定すること、及び
前記第3の最大パレット表サイズに基づいて前記CUを予測すること、
を前記映像処理装置に行わせるために、前記1つ又は複数の処理デバイスによって実行可能であり、
前記第3の所定の値が、前記第1の所定の値よりも小さい、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001] 本開示は、全体として本明細書に援用される、2019年12月30日に出願された米国仮特許出願第62/954,843号に対する優先権を主張するものである。
【0002】
技術分野
[0002] 本開示は、一般に映像処理に関し、より詳細には、パレットモードにおけるルマ成分及びクロマ成分に関する符号化ツリー構造に基づいて、最大パレット表サイズ及び最大パレット予測子サイズのシグナリング及び決定を行うための方法及び装置に関する。
【背景技術】
【0003】
背景
[0003] 映像は、視覚情報を捕捉する一連の静止ピクチャ(又は「フレーム」)である。記憶メモリ及び伝送帯域幅を減少させるために、映像は、記憶又は伝送前に圧縮され、表示前に復元され得る。圧縮プロセスは、通常、エンコーディングと呼ばれ、復元プロセスは、通常、デコーディングと呼ばれる。最も一般的には、予測、変換、量子化、エントロピー符号化、及びインループフィルタリングに基づく、標準化映像符号化技術を用いる様々な映像符号化フォーマットが存在する。特定の映像符号化フォーマットを指定する、HEVC(High Efficiency Video Coding)/H.265標準規格、VVC(Versatile Video Coding)/H.266標準規格、AVS標準規格などの映像符号化標準規格が、標準化機関によって開発されている。ますます高度な映像符号化技術が、映像標準規格に採用されるにつれて、新しい映像符号化標準規格の符号化効率は、ますます高くなる。
【発明の概要】
【課題を解決するための手段】
【0004】
開示の概要
[0004] 幾つかの実施形態では、例示的パレット符号化方法は、符号化ユニット(CU)のルマ成分及びCUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかを決定することと、ルマ成分及びクロマ成分がパレットモードにおいて合同で符号化されることに応答して、CUに関する第1の最大パレット表サイズを決定すること、CUに関する第1の最大パレット予測子サイズを決定すること、及び第1の最大パレット表サイズ及び第1の最大パレット予測子サイズに基づいてCUを予測することと、を含む。
【0005】
[0005] 幾つかの実施形態では、例示的映像処理装置が、命令を保存するための少なくとも1つのメモリと、少なくとも1つのプロセッサと、を含む。少なくとも1つのプロセッサは、CUのルマ成分及びCUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかを決定することと、ルマ成分及びクロマ成分がパレットモードにおいて合同で符号化されることに応答して、CUに関する第1の最大パレット表サイズを決定すること、CUに関する第1の最大パレット予測子サイズを決定すること、及び第1の最大パレット表サイズ及び第1の最大パレット予測子サイズに基づいてCUを予測することと、を装置に行わせるために命令を実行するように構成される。
【0006】
[0006] 幾つかの実施形態では、例示的非一時的コンピュータ可読記憶媒体が、命令セットを保存する。命令セットは、CUのルマ成分及びCUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかを決定することと、ルマ成分及びクロマ成分がパレットモードにおいて合同で符号化されることに応答して、CUに関する第1の最大パレット表サイズを決定すること、CUに関する第1の最大パレット予測子サイズを決定すること、及び第1の最大パレット表サイズ及び第1の最大パレット予測子サイズに基づいてCUを予測することと、を映像処理装置に行わせるために1つ又は複数の処理デバイスによって実行可能である。
【0007】
図面の簡単な説明
[0007] 本開示の実施形態及び様々な局面は、以下の詳細な説明及び添付の図面に示される。図面に示される様々な特徴は、一定の縮尺で描かれていない。
【図面の簡単な説明】
【0008】
【
図1】[0008]本開示の幾つかの実施形態による、映像シーケンス例の構造を示す模式図である。
【
図2A】[0009]本開示の実施形態と一致した、ハイブリッド映像符号化システムの例示的なエンコーディングプロセスを示す模式図である。
【
図2B】[0010]本開示の実施形態と一致した、ハイブリッド映像符号化システムの別の例示的なエンコーディングプロセスを示す模式図である。
【
図3A】[0011]本開示の実施形態と一致した、ハイブリッド映像符号化システムの例示的なデコーディングプロセスを示す模式図である。
【
図3B】[0012]本開示の実施形態と一致した、ハイブリッド映像符号化システムの別の例示的なデコーディングプロセスを示す模式図である。
【
図4】[0013]本開示の幾つかの実施形態による、映像をエンコード又はデコードするための例示的な装置のブロック図である。
【
図5】[0014]本開示の幾つかの実施形態による、パレットモードで符号化された例示的なブロックの模式図を示す。
【
図6】[0015]本開示の幾つかの実施形態による、符号化ユニットのエンコーディング後にパレット予測子を更新する例示的なプロセスの模式図を示す。
【
図7】[0016]本開示の幾つかの実施形態による、例示的な均一最大予測子サイズ及び最大パレットサイズを示す例示的な表1を示す。
【
図8】[0017]本開示の幾つかの実施形態による、例示的な最大予測子サイズ及び最大パレットサイズを示す例示的な表2を示す。
【
図9】[0018]本開示の幾つかの実施形態による、予め定義された最大パレット予測子サイズ及び最大パレットサイズを使用する例示的なデコーディングプロセスを示す例示的な表3を示す。
【
図10】[0019]本開示の幾つかの実施形態による、予め定義された最大パレット予測子サイズ及び最大パレットサイズを使用するための例示的なパレット符号化シンタックス表を示す例示的な表4を示す。
【
図11】[0020]本開示の幾つかの実施形態による、個別パレットの最大パレットサイズ及び最大パレット予測子サイズの例示的な導出を示す例示的な表5を示す。
【
図12】[0021]本開示の幾つかの実施形態による、個別パレットの最大パレットサイズ及び最大パレット予測子サイズの別の例示的な導出を示す例示的な表6を示す。
【
図13】[0022]本開示の幾つかの実施形態による、例示的なシーケンスパラメータセット(SPS)シンタックス表を示す例示的な表7を示す。
【
図14】[0023]本開示の幾つかの実施形態による、個別パレットの最大パレットサイズ及び最大パレット予測子サイズの別の例示的な導出を示す例示的な表8を示す。
【
図15】[0024]本開示の幾つかの実施形態による、個別パレットの最大パレットサイズ及び最大パレット予測子サイズの別の例示的な導出を示す例示的な表9を示す。
【
図16】[0025]本開示の幾つかの実施形態による、例示的なピクチャヘッダ(PH)シンタックスを示す例示的な表10を示す。
【
図17】[0026]本開示の幾つかの実施形態による、Iスライス、Pスライス、及びBスライスに関する最大パレットサイズ及び最大パレット予測子サイズの例示的な導出を示す例示的な表11を示す。
【
図18】[0027]本開示の幾つかの実施形態による、例示的なスライスヘッダ(SH)シンタックスを示す例示的な表12を示す。
【
図19】[0028]本開示の幾つかの実施形態による、例示的なパレット符号化方法のフローチャートを示す。
【発明を実施するための形態】
【0009】
詳細な説明
[0029] これより、添付の図面に示される例示的な実施形態に詳細に言及する。以下の説明は添付の図面を参照し、かかる図面では、別段の説明のない限り、異なる図面の同じ番号が、同じ又は類似の要素を表す。例示的な実施形態の以下の説明に記載する実施態様は、本発明と一致した全ての実施態様を表すわけではない。代わりに、それらは、添付の特許請求の範囲に記載される本発明に関連する側面と一致した装置及び方法の例に過ぎない。以下に、本開示の特定の側面をより詳細に記載する。援用された用語及び/又は定義と矛盾する場合は、本明細書に提供される用語及び定義が優先する。
【0010】
[0030] ITU-T VCEG(ITU-T Video Coding Expert Group)及びISO/IEC MPEG(ISO/IEC Moving Picture Expert Group)のJVET(Joint Video Experts Team)は、現在、VVC(Versatile Video Coding)/H.266標準規格を開発中である。VVC標準規格は、その先行バージョンであるHEVC(High Efficiency Video Coding)/H.265標準規格の圧縮効率を倍にすることを目的とする。つまり、VVCの目標は、HEVC/H.265と同じ主観的品質を半分の帯域幅で達成することである。
【0011】
[0031] 半分の帯域幅でHEVC/H.265と同じ主観的品質を達成するために、JVETは、JEM(joint exploration model)参照ソフトウェアを使用して、HEVCを超える技術を開発してきた。符号化技術がJEMに組み込まれたため、JEMは、HEVCよりも大幅に高い符号化性能を実現した。
【0012】
[0032] VVC標準規格は、最近開発されたものであり、より良い圧縮性能を提供する、さらに多くの符号化技術を加え続けている。VVCは、HEVC、H.264/AVC、MPEG2、H.263などの近代の映像圧縮標準規格で使用されてきた、同じハイブリッド映像符号化システムに基づく。
【0013】
[0033] 映像は、視覚情報を保存するために時系列で配置された一連の静止ピクチャ(又は「フレーム」)である。映像キャプチャデバイス(例えば、カメラ)を使用して、これらのピクチャを時系列で捕捉及び保存することができ、映像再生デバイス(例えば、テレビ、コンピュータ、スマートフォン、タブレットコンピュータ、ビデオプレーヤー、又は表示機能を備えた任意のエンドユーザ端末)を使用して、このようなピクチャを時系列で表示することができる。また、用途によっては、監視、会議の開催、又は生放送などのために、映像キャプチャデバイスは、捕捉された映像を映像再生デバイス(例えば、モニタを備えたコンピュータ)にリアルタイムで伝送することができる。
【0014】
[0034] このような用途で必要とされる記憶空間及び伝送帯域幅を減少させるために、映像は、記憶及び伝送前に圧縮され、表示前に復元され得る。圧縮及び復元は、プロセッサ(例えば、汎用コンピュータのプロセッサ)により実行されるソフトウェア、又は専用ハードウェアによって実施され得る。圧縮用のモジュールは、一般に「エンコーダ」と呼ばれ、復元用のモジュールは、一般に「デコーダ」と呼ばれる。エンコーダ及びデコーダは、まとめて「コーデック」と呼ばれることがある。エンコーダ及びデコーダは、様々な適切なハードウェア、ソフトウェア、又はこれらの組み合わせの何れかとして実装され得る。例えば、エンコーダ及びデコーダのハードウェア実装は、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、離散論理、又はこれらの任意の組み合わせなどの回路網を含み得る。エンコーダ及びデコーダのソフトウェア実装は、プログラムコード、コンピュータ実行可能命令、ファームウェア、又はコンピュータ可読媒体に固定された、任意の適切なコンピュータ実施アルゴリズム若しくはプロセスを含み得る。映像圧縮及び復元は、MPEG-1、MPEG-2、MPEG-4、H.26x系などの様々なアルゴリズム又は標準規格によって実施され得る。用途によっては、コーデックが、第1の符号化標準規格から映像を復元し、第2の符号化標準規格を用いて復元映像を再圧縮することができ、この場合、コーデックは、「トランスコーダ」と呼ばれることがある。
【0015】
[0035] 映像エンコーディングプロセスは、ピクチャの再構成のために使用することができる有用な情報を識別及び保持し、再構成にとって重要ではない情報を無視することができる。無視された重要ではない情報を完全に再構成することができない場合、このようなエンコーディングプロセスは、「不可逆」と呼ばれることがある。そうでなければ、それは、「可逆」と呼ばれることがある。ほとんどのエンコーディングプロセスは、不可逆であり、これは、必要とされる記憶空間及び伝送帯域幅を減少させるためのトレードオフである。
【0016】
[0036] エンコードされているピクチャ(「現在のピクチャ」と呼ばれる)の有用な情報は、参照ピクチャ(例えば、前にエンコードされた、及び再構成されたピクチャ)に対する変化を含む。このような変化は、ピクセルの位置変化、輝度変化、又は色変化を含む場合があり、中でも、位置変化は、最も重要である。物体を表すピクセル群の位置変化は、参照ピクチャ及び現在のピクチャ間の物体の動きを反映し得る。
【0017】
[0037] 別のピクチャを参照することなく符号化されたピクチャ(すなわち、それは、それ自体の参照ピクチャである)は、「Iピクチャ」と呼ばれる。前のピクチャを参照ピクチャとして使用して符号化されたピクチャは、「Pピクチャ」と呼ばれる。前のピクチャ及び未来のピクチャの両方を参照ピクチャとして使用して(すなわち、参照が「双方向」である)符号化されたピクチャは、「Bピクチャ」と呼ばれる。
【0018】
[0038]
図1は、本開示の幾つかの実施形態による、映像シーケンス例100の構造を示す。映像シーケンス100は、ライブ映像、又は捕捉及びアーカイブされた映像でもよい。映像100は、実際の映像、コンピュータ生成された映像(例えば、コンピュータゲーム映像)、又はそれらの組み合わせ(例えば、拡張現実効果を有した実際の映像)でもよい。映像シーケンス100は、映像キャプチャデバイス(例えば、カメラ)、前に捕捉された映像を包含する映像アーカイブ(例えば、記憶デバイスに保存された映像ファイル)、又は映像コンテンツプロバイダから映像を受信するための映像フィードインタフェース(例えば、映像ブロードキャストトランシーバ)から入力され得る。
【0019】
[0039]
図1に示されるように、映像シーケンス100は、ピクチャ102、104、106、及び108を含むタイムラインに沿って時間的に配置された一連のピクチャを含み得る。ピクチャ102~106は連続しており、ピクチャ106と108との間には、さらに多くのピクチャが存在する。
図1では、ピクチャ102は、Iピクチャであり、それの参照ピクチャは、ピクチャ102自体である。ピクチャ104は、Pピクチャであり、それの参照ピクチャは、矢印によって示されるように、ピクチャ102である。ピクチャ106は、Bピクチャであり、それの参照ピクチャは、矢印によって示されるように、ピクチャ104及び108である。幾つかの実施形態では、あるピクチャ(例えば、ピクチャ104)の参照ピクチャは、当該ピクチャの直前又は直後に存在しなくてもよい。例えば、ピクチャ104の参照ピクチャは、ピクチャ102に先行するピクチャでもよい。ピクチャ102~106の参照ピクチャは単なる例であり、本開示は、参照ピクチャの実施形態を
図1に示される例のように限定しないことに留意されたい。
【0020】
[0040] 一般的に、映像コーデックは、ピクチャ全体のエンコーディング又はデコーディングを、そのようなタスクの計算の複雑さゆえに、一度に行わない。より正確に言えば、それらは、ピクチャを基本セグメントに分割し、セグメントごとにピクチャをエンコード又はデコードし得る。このような基本セグメントは、本開示では、基本処理ユニット(「BPU(basic processing unit)」)と呼ばれる。例えば、
図1の構造110は、映像シーケンス100のあるピクチャ(例えば、ピクチャ102~108の何れか)の構造例を示す。構造110では、ピクチャは、4×4の基本処理ユニットに分割され、それらの境界は、破線で示されている。幾つかの実施形態では、基本処理ユニットは、一部の映像符号化標準規格(例えば、MPEG系統、H.261、H.263、若しくはH.264/AVC)では「マクロブロック」と呼ばれることがあり、又は一部の他の映像符号化標準規格(例えば、H.265/HEVC若しくはH.266/VVC)では、「符号化ツリーユニット」(「CTU(coding tree unit)」)と呼ばれることがある。基本処理ユニットは、128×128、64×64、32×32、16×16、4×8、16×32、又はピクセルの任意の形状及びサイズなどのピクチャの可変サイズを有し得る。基本処理ユニットのサイズ及び形状は、符号化効率と、基本処理ユニットにおいて維持されるべき詳細さのレベルとのバランスに基づいて、ピクチャごとに選択することができる。
【0021】
[0041] 基本処理ユニットは、コンピュータメモリに(例えば、映像フレームバッファに)保存された異なる複数のタイプの映像データの一群を含み得る論理ユニットでもよい。例えば、カラーピクチャの基本処理ユニットは、無彩色の明度情報を表すルマ成分(Y)、色情報を表す1つ又は複数のクロマ成分(例えば、Cb及びCr)、並びに関連のシンタックス要素を含み得る(ここでは、ルマ成分及びクロマ成分は、同じサイズの基本処理ユニットを有し得る)。ルマ成分及びクロマ成分は、一部の映像符号化標準規格(例えば、H.265/HEVC又はH.266/VVC)では、「符号化ツリーブロック」(「CTB(coding tree block)」)と呼ばれることがある。基本処理ユニットに対して行われるどのような演算も、それのルマ成分及びクロマ成分のそれぞれに対して繰り返し行うことができる。
【0022】
[0042] 映像符号化は、複数の演算ステージを有し、これらの例を
図2A~2B及び
図3A~3Bに示す。各ステージで、基本処理ユニットのサイズが、処理するにはまだ大き過ぎる場合があり、したがって、本開示では「基本処理サブユニット」と呼ばれるセグメントへとさらに分割され得る。幾つかの実施形態では、基本処理サブユニットは、一部の映像符号化標準規格(例えば、MPEG系統、H.261、H.263、若しくはH.264/AVC)では「ブロック」と呼ばれることがあり、又は一部の他の映像符号化標準規格(例えば、H.265/HEVC若しくはH.266/VVC)では、「符号化ユニット」(「CU(coding unit)」)と呼ばれることがある。基本処理サブユニットは、基本処理ユニットと同じ又はより小さいサイズを有してもよい。基本処理ユニットと同様に、基本処理サブユニットも、コンピュータメモリに(例えば、映像フレームバッファに)保存された異なる複数のタイプの映像データ(例えば、Y、Cb、Cr、及び関連のシンタックス要素)の一群を含み得る論理ユニットである。基本処理サブユニットに対して行われるどのような演算も、それのルマ成分及びクロマ成分のそれぞれに対して繰り返し行うことができる。このような分割は、処理のニーズに応じてさらなるレベルに対して行われ得ることに留意されたい。異なるステージが異なるスキームを用いて基本処理ユニットを分割し得ることにも留意されたい。
【0023】
[0043] 例えば、モード決定ステージ(それの一例を
図2Bに示す)において、エンコーダは、基本処理ユニットに対してどの予測モード(例えば、イントラピクチャ予測又はインターピクチャ予測)を使用すべきかを決定することができ、基本処理ユニットは、このような決定を下すには大き過ぎる場合がある。エンコーダは、基本処理ユニットを複数の基本処理サブユニット(例えば、H.265/HEVC又はH.266/VVCの場合のCU)に分割し、及び個々の基本処理サブユニットごとに予測タイプを決定することができる。
【0024】
[0044] 別の例として、予測ステージ(それの一例を
図2A~2Bに示す)において、エンコーダは、基本処理サブユニット(例えば、CU)のレベルで予測演算を行うことができる。しかしながら、場合によっては、基本処理サブユニットは、処理するにはまだ大き過ぎる場合がある。エンコーダは、基本処理サブユニットを(例えば、H.265/HEVC又はH.266/VVCにおいては「予測ブロック」又は「PB(prediction block)」と呼ばれる)より小さなセグメントにさらに分割することができ、このセグメントのレベルで、予測演算を行うことができる。
【0025】
[0045] 別の例として、変換ステージ(それの一例を
図2A~2Bに示す)では、エンコーダは、残差基本処理サブユニット(例えば、CU)に対して変換演算を行うことができる。しかしながら、場合によっては、基本処理サブユニットは、処理するにはまだ大き過ぎる場合がある。エンコーダは、基本処理サブユニットを(例えば、H.265/HEVC又はH.266/VVCにおいては「変換ブロック」又は「TB(transform block)」と呼ばれる)より小さなセグメントにさらに分割することができ、このセグメントのレベルで、変換演算を行うことができる。同じ基本処理サブユニットの分割スキームが予測ステージ及び変換ステージで異なり得ることに留意されたい。例えば、H.265/HEVC又はH.266/VVCでは、同じCUの予測ブロック及び変換ブロックが異なるサイズ及び数を有し得る。
【0026】
[0046]
図1の構造110では、基本処理ユニット112は、3×3の基本処理サブユニットにさらに分割され、それらの境界は、点線で示される。同じピクチャの異なる基本処理ユニットが、異なるスキームで基本処理サブユニットに分割されてもよい。
【0027】
[0047] 幾つかの実施態様では、映像エンコーディング及びデコーディングに対する並列処理能力及び誤り耐性を提供するために、ピクチャを処理のための複数の領域に分割することができ、これにより、エンコーディング又はデコーディングプロセスは、ピクチャの領域に関して、ピクチャの他のどの領域からの情報にも依存しないことが可能となる。つまり、ピクチャの各領域は、独立して処理することができる。そうすることで、コーデックは、ピクチャの異なる複数の領域を並行して処理することができ、したがって、符号化効率が向上される。また、ある領域のデータが処理時に壊れた場合、又はネットワーク伝送時に失われた場合、コーデックは、壊れたデータ又は失われたデータに依存することなく、同じピクチャの他の領域を正確にエンコード又はデコードすることができ、したがって、誤り耐性能力が提供される。一部の映像符号化標準規格では、ピクチャは、異なる複数のタイプの領域に分割することができる。例えば、H.265/HEVC及びH.266/VVCは、2つの領域タイプ:「スライス」及び「タイル」を提供する。映像シーケンス100の異なる複数のピクチャが、ピクチャを領域に分割するための異なるパーティションスキームを有し得ることにも留意されたい。
【0028】
[0048] 例えば、
図1において、構造110は、3つの領域114、116、及び118に分割され、それらの境界は、構造110内の実線として示されている。領域114は、4つの基本処理ユニットを含む。領域116及び118のそれぞれは、6つの基本処理ユニットを含む。
図1の構造110の基本処理ユニット、基本処理サブユニット、及び領域は、単なる例であり、本開示は、それらの実施形態を限定しないことに留意されたい。
【0029】
[0049]
図2Aは、本開示の実施形態と一致したエンコーディングプロセス例200Aの模式図を示す。例えば、エンコーディングプロセス200Aは、エンコーダによって行うことができる。
図2Aに示されるように、エンコーダは、プロセス200Aに従って、映像シーケンス202を映像ビットストリーム228へとエンコードすることができる。
図1の映像シーケンス100と同様に、映像シーケンス202は、時間的順序で配置されたピクチャ(「オリジナルピクチャ」と呼ばれる)のセットを含み得る。
図1の構造110と同様に、映像シーケンス202の各オリジナルピクチャは、エンコーダによって、基本処理ユニット、基本処理サブユニット、又は処理用の領域に分割することができる。幾つかの実施形態では、エンコーダは、映像シーケンス202のオリジナルピクチャごとに、基本処理ユニットのレベルでプロセス200Aを行うことができる。例えば、エンコーダはプロセス200Aを反復的やり方で行うことができ、その場合、エンコーダはプロセス200Aの1回の反復で1つの基本処理ユニットをエンコードすることができる。幾つかの実施形態では、エンコーダは、映像シーケンス202の各オリジナルピクチャの領域(例えば、領域114~118)に対してプロセス200Aを並行して行うことができる。
【0030】
[0050]
図2Aでは、エンコーダは、予測データ206及び予測BPU208を生成するために、映像シーケンス202のオリジナルピクチャの基本処理ユニット(「オリジナルBPU」と呼ばれる)を予測ステージ204に送ることができる。エンコーダは、オリジナルBPUから予測BPU208を減算することによって、残差BPU210を生成することができる。エンコーダは、量子化変換係数216を生成するために、残差BPU210を変換ステージ212及び量子化ステージ214に送ることができる。エンコーダは、映像ビットストリーム228を生成するために、予測データ206及び量子化変換係数216を二進符号化ステージ226に送ることができる。コンポーネント202、204、206、208、210、212、214、216、226、及び228は、「順方向経路」と呼ばれることがある。プロセス200Aの間、量子化ステージ214の後に、エンコーダは、再構成残差BPU222を生成するために、量子化変換係数216を逆量子化ステージ218及び逆変換ステージ220に送ることができる。エンコーダは、再構成残差BPU222を予測BPU208に加算することによって、プロセス200Aの次の反復のために予測ステージ204において使用される予測基準224を生成することができる。プロセス200Aのコンポーネント218、220、222、及び224は、「再構成経路」と呼ばれることがある。再構成経路は、エンコーダ及びデコーダが共に予測のために同じ参照データを使用することを確実にするために使用することができる。
【0031】
[0051] エンコーダは、(順方向経路において)オリジナルピクチャの各オリジナルBPUをエンコードし、及び(再構成経路において)オリジナルピクチャの次のオリジナルBPUをエンコードするための予測基準224を生成するために、反復的にプロセス200Aを行うことができる。オリジナルピクチャの全てのオリジナルBPUをエンコードした後に、エンコーダは、映像シーケンス202の次のピクチャのエンコーディングに進むことができる。
【0032】
[0052] プロセス200Aを参照すると、エンコーダは、映像キャプチャデバイス(例えば、カメラ)によって生成された映像シーケンス202を受け取ることができる。本明細書で使用される「受け取る(receive)」という用語は、受け取ること、入力すること、獲得すること、取り出すこと、取得すること、読み出すこと、アクセスすること、又はデータを入力するためのあらゆる方法のあらゆるアクションを指し得る。
【0033】
[0053] 予測ステージ204において、現在の反復では、エンコーダは、オリジナルBPU及び予測基準224を受け取ることができ、並びに予測データ206及び予測BPU208を生成するために予測演算を行うことができる。予測基準224は、プロセス200Aの前の反復の再構成経路から生成することができる。予測ステージ204の目的は、予測データ206を抽出することにより、情報冗長性を低減することであり、予測データ206は、予測データ206及び予測基準224からオリジナルBPUを予測BPU208として再構成するために使用することができる。
【0034】
[0054] 理想的には、予測BPU208は、オリジナルBPUと同一となり得る。しかしながら、非理想的な予測及び再構成演算により、予測BPU208は、一般に、オリジナルBPUとは僅かに異なる。このような差を記録するために、予測BPU208を生成した後に、エンコーダは、それをオリジナルBPUから減算することによって、残差BPU210を生成することができる。例えば、エンコーダは、予測BPU208のピクセルの値(例えば、グレースケール値又はRGB値)をオリジナルBPUの対応するピクセルの値から減算することができる。残差BPU210の各ピクセルは、オリジナルBPU及び予測BPU208の対応するピクセル間のこのような減算の結果として残差値を有し得る。オリジナルBPUと比較して、予測データ206及び残差BPU210は、より少ないビットを有し得るが、それらを使用して、大きな品質の劣化なしにオリジナルBPUを再構成することができる。したがって、オリジナルBPUは、圧縮される。
【0035】
[0055] 残差BPU210をさらに圧縮するために、変換ステージ212において、エンコーダは、それを2次元「基底パターン」のセットに分解する(各基底パターンは、「変換係数」に関連付けられる)ことによって、残差BPU210の空間冗長性を減少させることができる。基底パターンは、同じサイズ(例えば、残差BPU210のサイズ)を有し得る。各基底パターンは、残差BPU210の変動周波数(例えば、明度変動の周波数)成分を表し得る。どの基底パターンも、その他の基底パターンの何れの結合(例えば、線形結合)からも再現することができない。つまり、この分解は、残差BPU210の変動を周波数領域に分解することができる。このような分解は、関数の離散フーリエ変換に類似し、ここでは、基底パターンは、離散フーリエ変換の基底関数(例えば、三角法関数)に類似し、変換係数は、基底関数に関連付けられた係数に類似する。
【0036】
[0056] 異なる変換アルゴリズムは、異なる基底パターンを使用することができる。例えば、離散コサイン変換、又は離散サイン変換などの様々な変換アルゴリズムを変換ステージ212において使用することができる。変換ステージ212における変換は、可逆である。すなわち、エンコーダは、変換の逆演算(「逆変換」と呼ばれる)によって残差BPU210を復元することができる。例えば、残差BPU210のピクセルを復元するために、逆変換は、基底パターンの対応するピクセルの値をそれぞれの関連付けられた係数で乗算すること、及びそれらの積を加算することによって加重和を生成することでもよい。映像符号化標準規格のために、エンコーダ及びデコーダは共に、同じ変換アルゴリズム(したがって、同じ基底パターン)を使用することができる。したがって、エンコーダは、変換係数のみを記録することができ、デコーダは、基底パターンをエンコーダから受け取ることなく、変換係数から残差BPU210を再構成することができる。残差BPU210と比較して、変換係数は、より少ないビットを有し得るが、それらを使用して、大きな品質の劣化なしに残差BPU210を再構成することができる。したがって、残差BPU210は、さらに圧縮される。
【0037】
[0057] エンコーダは、量子化ステージ214において変換係数をさらに圧縮することができる。変換プロセスにおいて、異なる基底パターンは、異なる変動周波数(例えば、明度変動周波数)を表し得る。人間の目は、一般に、低周波変動を認識することが得意であるため、エンコーダは、デコーディングにおいて大きな品質の劣化を生じさせることなく、高周波変動の情報を無視することができる。例えば、量子化ステージ214において、エンコーダは、各変換係数を整数値(「量子化パラメータ」と呼ばれる)で除算し、その商を最も近い整数に丸めることによって、量子化変換係数216を生成することができる。このような演算後に、高周波基底パターンの幾つかの変換係数がゼロに変換され得、低周波基底パターンの変換係数が、より小さい整数に変換され得る。エンコーダは、ゼロ値の量子化変換係数216を無視することができ、それによって、変換係数がさらに圧縮される。量子化プロセスも可逆であり、ここでは、量子化変換係数216は、量子化の逆演算(「逆量子化」と呼ばれる)で、変換係数に再構成され得る。
【0038】
[0058] エンコーダは、丸め演算においてこのような除算の余りを無視するので、量子化ステージ214は、不可逆となり得る。一般的に、量子化ステージ214は、プロセス200Aにおいて、最も多くの情報損失に寄与し得る。情報損失が大きくなるほど、量子化変換係数216が必要とし得るビットが少なくなる。異なる情報損失レベルを得るために、エンコーダは、量子化パラメータ又は量子化プロセスのその他のパラメータの異なる値を使用し得る。
【0039】
[0059] 二進符号化ステージ226では、エンコーダは、例えば、エントロピー符号化、可変長符号化、算術符号化、ハフマン符号化、コンテキスト適応的二進算術符号化、又はその他の可逆若しくは不可逆圧縮アルゴリズムなどの二進符号化技術を使用して、予測データ206及び量子化変換係数216をエンコードすることができる。幾つかの実施形態では、予測データ206及び量子化変換係数216の他にも、エンコーダは、例えば、予測ステージ204で使用される予測モード、予測演算のパラメータ、変換ステージ212における変換タイプ、量子化プロセスのパラメータ(例えば、量子化パラメータ)、又はエンコーダ制御パラメータ(例えば、ビットレート制御パラメータ)などの他の情報を二進符号化ステージ226においてエンコードすることができる。エンコーダは、二進符号化ステージ226の出力データを使用して、映像ビットストリーム228を生成することができる。幾つかの実施形態では、映像ビットストリーム228は、ネットワーク伝送のためにさらにパケット化され得る。
【0040】
[0060] プロセス200Aの再構成経路を参照すると、逆量子化ステージ218において、エンコーダは、量子化変換係数216に対して逆量子化を行うことによって、再構成変換係数を生成することができる。逆変換ステージ220では、エンコーダは、再構成変換係数に基づいて、再構成残差BPU222を生成することができる。エンコーダは、再構成残差BPU222を予測BPU208に加算することによって、プロセス200Aの次の反復で使用される予測基準224を生成することができる。
【0041】
[0061] 映像シーケンス202をエンコードするために、プロセス200Aの他のバリエーションが使用され得ることに留意されたい。幾つかの実施形態では、プロセス200Aのステージは、異なる順序でエンコーダによって行うことができる。幾つかの実施形態では、プロセス200Aの1つ又は複数のステージは、単一のステージに統合されてもよい。幾つかの実施形態では、プロセス200Aの単一のステージが、複数のステージに分割されてもよい。例えば、変換ステージ212及び量子化ステージ214が単一のステージに統合されてもよい。幾つかの実施形態では、プロセス200Aは、さらなるステージを含んでもよい。幾つかの実施形態では、プロセス200Aは、
図2Aの1つ又は複数のステージを省略してもよい。
【0042】
[0062]
図2Bは、本開示の実施形態と一致した別のエンコーディングプロセス例200Bの模式図を示す。プロセス200Bは、プロセス200Aから変更され得る。例えば、プロセス200Bは、ハイブリッド映像符号化標準規格(例えば、H.26x系)に準拠したエンコーダによって使用され得る。プロセス200Aと比較して、プロセス200Bの順方向経路は、モード決定ステージ230をさらに含み、予測ステージ204を空間予測ステージ2042及び時間予測ステージ2044に分割する。プロセス200Bの再構成経路は、ループフィルタステージ232及びバッファ234をさらに含む。
【0043】
[0063] 一般に、予測技術は、2つのタイプ:空間予測及び時間予測に分類することができる。空間予測(例えば、イントラピクチャ予測又は「イントラ予測」)は、同じピクチャ内の1つ又は複数の既に符号化された隣接BPUからのピクセルを使用することによって、現在のBPUを予測することができる。すなわち、空間予測における予測基準224は、隣接BPUを含み得る。空間予測は、ピクチャの固有の空間冗長性を減少させることができる。時間予測(例えば、インターピクチャ予測又は「インター予測」)は、1つ又は複数の既に符号化されたピクチャからの領域を使用することによって、現在のBPUを予測することができる。すなわち、時間予測における予測基準224は、符号化されたピクチャを含み得る。時間予測は、ピクチャの固有の時間冗長性を減少させることができる。
【0044】
[0064] プロセス200Bを参照すると、順方向経路において、エンコーダは、空間予測ステージ2042及び時間予測ステージ2044において予測演算を行う。例えば、空間予測ステージ2042において、エンコーダは、イントラ予測を行うことができる。エンコードされているピクチャのオリジナルBPUに関して、予測基準224は、同じピクチャ内の(順方向経路において)エンコードされ、及び(再構成経路において)再構成された1つ又は複数の隣接BPUを含み得る。エンコーダは、隣接BPUを外挿することによって予測BPU208を生成することができる。外挿技術には、例えば、線形外挿若しくは補間、又は多項式外挿若しくは補間などが含まれ得る。幾つかの実施形態では、エンコーダは、例えば予測BPU208のピクセルごとに対応するピクセルの値を外挿することによって、ピクセルレベルで外挿を行い得る。外挿に使用される隣接BPUは、垂直方向(例えば、オリジナルBPUの上)、水平方向(例えば、オリジナルBPUの左)、対角線方向(例えば、オリジナルBPUの左下、右下、左上、若しくは右上)、又は使用した映像符号化標準規格において定義される任意の方向などの様々な方向からオリジナルBPUに対して位置し得る。イントラ予測の場合、予測データ206は、例えば、使用された隣接BPUの場所(例えば、座標)、使用された隣接BPUのサイズ、外挿のパラメータ、又はオリジナルBPUに対する使用された隣接BPUの方向などを含み得る。
【0045】
[0065] 別の例として、時間予測ステージ2044では、エンコーダは、インター予測を行うことができる。現在のピクチャのオリジナルBPUに関して、予測基準224は、(順方向経路において)エンコードされ、及び(再構成経路において)再構成された1つ又は複数のピクチャ(「参照ピクチャ」と呼ばれる)を含み得る。幾つかの実施形態では、参照ピクチャは、BPUごとにエンコードされ、及び再構成され得る。例えば、エンコーダは、再構成残差BPU222を予測BPU208に加算することによって、再構成BPUを生成することができる。同じピクチャの全ての再構成BPUが生成されると、エンコーダは、参照ピクチャとして再構成ピクチャを生成することができる。エンコーダは、参照ピクチャの(「探索窓(search window)」と呼ばれる)範囲内のマッチング領域を探索するために、「動き推定」の演算を行い得る。参照ピクチャにおける探索窓の場所は、現在のピクチャにおけるオリジナルBPUの場所に基づいて決定することができる。例えば、探索窓は、参照ピクチャ内の、現在のピクチャのオリジナルBPUと同じ座標を有する場所を中心としてもよく、所定の距離だけ外に延在されてもよい。エンコーダが(例えば、ペル再帰アルゴリズム又はブロックマッチングアルゴリズムなどを使用して)探索窓内のオリジナルBPUに類似した領域を識別すると、エンコーダは、そのような領域をマッチング領域として決定することができる。マッチング領域は、オリジナルBPUとは異なる寸法(例えば、より小さい、等しい、より大きい、又は異なる形状)を有してもよい。参照ピクチャ及び現在のピクチャは、(例えば
図1に示されるように)タイムラインにおいて時間的に分離されるため、時間が経過するにつれて、マッチング領域がオリジナルBPUの場所に「移動する」と見なすことができる。エンコーダは、そのような動きの方向及び距離を「動きベクトル」として記録し得る。(例えば、
図1のピクチャ106のように)複数の参照ピクチャが使用される場合、エンコーダは、参照ピクチャごとに、マッチング領域を探索し、それに関連付けられた動きベクトルを決定することができる。幾つかの実施形態では、エンコーダは、それぞれのマッチング参照ピクチャのマッチング領域のピクセル値に重みを割り当てることができる。
【0046】
[0066] 動き推定を使用して、例えば、平行移動、回転、又はズーミングなどの様々なタイプの動きを識別することができる。インター予測の場合、予測データ206は、例えば、マッチング領域の場所(例えば、座標)、マッチング領域に関連付けられた動きベクトル、参照ピクチャの数、又は参照ピクチャに関連付けられた重みを含み得る。
【0047】
[0067] 予測BPU208を生成するために、エンコーダは、「動き補償」の演算を行い得る。動き補償を用いて、予測データ206(例えば、動きベクトル)及び予測基準224に基づいて予測BPU208を再構成することができる。例えば、エンコーダは、動きベクトルに従って参照ピクチャのマッチング領域を移動させることができ、その場合、エンコーダは、現在のピクチャのオリジナルBPUを予測することができる。(例えば、
図1のピクチャ106のように)複数の参照ピクチャが使用される場合、エンコーダは、それぞれの動きベクトルに従って参照ピクチャのマッチング領域を移動させ、マッチング領域のピクセル値を平均することができる。幾つかの実施形態では、エンコーダがそれぞれのマッチング参照ピクチャのマッチング領域のピクセル値に重みを割り当てた場合、エンコーダは、移動されたマッチング領域のピクセル値の加重和を加えることができる。
【0048】
[0068] 幾つかの実施形態では、インター予測は、単方向又は双方向でもよい。単方向インター予測は、現在のピクチャに対して同じ時間方向の1つ又は複数の参照ピクチャを使用し得る。例えば、
図1のピクチャ104は、参照ピクチャ(例えば、ピクチャ102)がピクチャ104に先行する単方向インター予測ピクチャである。双方向インター予測は、現在のピクチャに対して両時間方向にある1つ又は複数の参照ピクチャを使用し得る。例えば、
図1のピクチャ106は、参照ピクチャ(すなわち、ピクチャ104及び108)がピクチャ104に対して両時間方向にある双方向インター予測ピクチャである。
【0049】
[0069] プロセス200Bの順方向経路をさらに参照すると、空間予測2042及び時間予測ステージ2044の後に、モード決定ステージ230において、エンコーダは、プロセス200Bの現在の反復に関する予測モード(例えば、イントラ予測又はインター予測の一方)を選択することができる。例えば、エンコーダは、候補予測モードのビットレート、及びかかる候補予測モード下の再構成参照ピクチャの歪みに応じて、コスト関数の値を最小にするためにエンコーダが予測モードを選択することができるレート歪み最適化技術を行うことができる。選択された予測モードに応じて、エンコーダは、対応する予測BPU208及び予測データ206を生成することができる。
【0050】
[0070] プロセス200Bの再構成経路では、順方向経路においてイントラ予測モードが選択されていた場合、予測基準224(例えば、現在のピクチャ内でエンコードされ、及び再構成された現在のBPU)の生成後に、エンコーダは、後で使用するために(例えば、現在のピクチャの次のBPUの外挿のために)、予測基準224を空間予測ステージ2042に直接送ることができる。順方向経路においてインター予測モードが選択されていた場合、予測基準224(例えば、全てのBPUがエンコードされ、及び再構成された現在のピクチャ)の生成後に、エンコーダは、インター予測によって導入される歪み(例えば、ブロッキングアーチファクト)を低減又は無くすために、エンコーダがループフィルタを予測基準224に適用することができるループフィルタステージ232に予測基準224を送ることができる。エンコーダは、ループフィルタステージ232において、例えば、非ブロック化、サンプル適応オフセット、又は適応ループフィルタなどの様々なループフィルタ技術を適用することができる。ループフィルタリングが行われた参照ピクチャは、後に使用するために(例えば、映像シーケンス202の将来のピクチャのためのインター予測基準ピクチャとして用いられるために)、バッファ234(又は「デコードピクチャバッファ」)に保存されてもよい。エンコーダは、時間予測ステージ2044で使用される1つ又は複数の参照ピクチャをバッファ234に保存し得る。幾つかの実施形態では、エンコーダは、量子化変換係数216、予測データ206、及び他の情報と共に、ループフィルタのパラメータ(例えば、ループフィルタ強度)を二進符号化ステージ226においてエンコードし得る。
【0051】
[0071]
図3Aは、本開示の実施形態と一致したデコーディングプロセス例300Aの模式図を示す。プロセス300Aは、
図2Aの圧縮プロセス200Aに対応する復元プロセスでもよい。幾つかの実施形態では、プロセス300Aは、プロセス200Aの再構成経路に類似し得る。デコーダは、プロセス300Aに従って、映像ビットストリーム228を映像ストリーム304へとデコードすることができる。映像ストリーム304は、映像シーケンス202に非常に類似し得る。しかしながら、圧縮及び復元プロセス(例えば、
図2A~2Bの量子化ステージ214)における情報損失により、一般に、映像ストリーム304は、映像シーケンス202と同一ではない。
図2A~2Bのプロセス200A及び200Bと同様に、デコーダは、映像ビットストリーム228においてエンコードされたピクチャごとに、基本処理ユニット(BPU)のレベルでプロセス300Aを行うことができる。例えば、デコーダは、反復的やり方でプロセス300Aを行うことができ、その場合、デコーダは、プロセス300Aの1回の反復で1つの基本処理ユニットをデコードすることができる。幾つかの実施形態では、デコーダは、映像ビットストリーム228においてエンコードされた各ピクチャの領域(例えば、領域114~118)に対してプロセス300Aを並行して行うことができる。
【0052】
[0072]
図3Aでは、デコーダは、エンコードされたピクチャの基本処理ユニット(「エンコードBPU」と呼ばれる)に関連付けられた映像ビットストリーム228の部分を二進デコーディングステージ302に送ることができる。二進デコーディングステージ302では、デコーダは、当該部分を予測データ206及び量子化変換係数216へとデコードすることができる。デコーダは、再構成残差BPU222を生成するために、量子化変換係数216を逆量子化ステージ218及び逆変換ステージ220に送ることができる。デコーダは、予測BPU208を生成するために、予測データ206を予測ステージ204に送ることができる。デコーダは、再構成残差BPU222を予測BPU208に加算することによって、予測基準224を生成することができる。幾つかの実施形態では、予測基準224は、バッファ(例えば、コンピュータメモリのデコードピクチャバッファ)に保存することができる。デコーダは、プロセス300Aの次の反復において予測演算を行うための予測ステージ204に予測基準224を送ることができる。
【0053】
[0073] デコーダは、エンコードされたピクチャの各エンコードBPUをデコードし、エンコードされたピクチャの次のエンコードBPUをエンコードするための予測基準224を生成するために、プロセス300Aを反復して行うことができる。エンコードされたピクチャの全てのエンコードBPUのデコーディング後に、デコーダは、表示のために上記ピクチャを映像ストリーム304に出力し、映像ビットストリーム228の次のエンコードされたピクチャのデコーディングに進み得る。
【0054】
[0074] 二進デコーディングステージ302では、デコーダは、エンコーダによって使用された二進符号化技術(例えば、エントロピー符号化、可変長符号化、算術符号化、ハフマン符号化、コンテキスト適応的二進算術符号化、又はその他の可逆圧縮アルゴリズム)の逆演算を行うことができる。幾つかの実施形態では、予測データ206及び量子化変換係数216の他にも、デコーダは、例えば、予測モード、予測演算のパラメータ、変換タイプ、量子化プロセスのパラメータ(例えば、量子化パラメータ)、又はエンコーダ制御パラメータ(例えば、ビットレート制御パラメータ)などの他の情報を二進デコーディングステージ302においてデコードすることができる。幾つかの実施形態では、映像ビットストリーム228がネットワーク上でパケット伝送される場合、デコーダは、映像ビットストリーム228を二進デコーディングステージ302に送る前に、それをデパケット化することができる。
【0055】
[0075]
図3Bは、本開示の実施形態と一致した別のデコーディングプロセス例300Bの模式図を示す。プロセス300Bは、プロセス300Aから変更され得る。例えば、プロセス300Bは、ハイブリッド映像符号化標準規格(例えば、H.26x系)に準拠したデコーダによって使用され得る。プロセス300Aと比較して、プロセス300Bは、予測ステージ204を空間予測ステージ2042及び時間予測ステージ2044にさらに分割し、ループフィルタステージ232及びバッファ234をさらに含む。
【0056】
[0076] プロセス300Bでは、デコード中のエンコードされたピクチャ(「現在のピクチャ」と呼ばれる)のエンコード基本処理ユニット(「現在のBPU」と呼ばれる)に関して、デコーダによって二進デコーディングステージ302からデコードされた予測データ206は、エンコーダによって現在のBPUをエンコードするためにどの予測モードが使用されたかに応じて、様々なタイプのデータを含み得る。例えば、現在のBPUをエンコードするためにイントラ予測がエンコーダによって使用された場合、予測データ206は、イントラ予測を示す予測モードインジケータ(例えば、フラグ値)、又はイントラ予測演算のパラメータなどを含み得る。イントラ予測演算のパラメータは、例えば、基準として使用される1つ又は複数の隣接BPUの場所(例えば、座標)、隣接BPUのサイズ、外挿のパラメータ、又はオリジナルBPUに対する隣接BPUの方向などを含み得る。別の例として、現在のBPUをエンコードするためにインター予測がエンコーダによって使用された場合、予測データ206は、インター予測を示す予測モードインジケータ(例えば、フラグ値)、又はインター予測演算のパラメータなどを含み得る。インター予測演算のパラメータは、例えば、現在のBPUに関連付けられた参照ピクチャの数、参照ピクチャにそれぞれ関連付けられた重み、それぞれの参照ピクチャにおける1つ若しくは複数のマッチング領域の場所(例えば、座標)、又はマッチング領域にそれぞれ関連付けられた1つ若しくは複数の動きベクトルなどを含み得る。
【0057】
[0077] 予測モードインジケータに基づいて、デコーダは、空間予測ステージ2042において空間予測(例えば、イントラ予測)を行うか、或いは時間予測ステージ2044において時間予測(例えば、インター予測)を行うかを決めることができる。このような空間予測又は時間予測を行う詳細は、
図2Bに示され、以下では繰り返さない。そのような空間予測又は時間予測を行った後に、デコーダは、予測BPU208を生成することができる。デコーダは、
図3Aに示されるように、予測BPU208及び再構成残差BPU222を加算することにより、予測基準224を生成することができる。
【0058】
[0078] プロセス300Bでは、デコーダは、プロセス300Bの次の反復において予測演算を行うための空間予測ステージ2042又は時間予測ステージ2044に予測基準224を送ることができる。例えば、現在のBPUが空間予測ステージ2042においてイントラ予測を用いてデコードされる場合、予測基準224(例えば、デコードされた現在のBPU)の生成後に、デコーダは、後に使用するために(例えば、現在のピクチャの次のBPUの外挿のために)予測基準224を空間予測ステージ2042に直接送ることができる。現在のBPUが時間予測ステージ2044においてインター予測を用いてデコードされる場合、予測基準224(例えば、全てのBPUがデコードされた参照ピクチャ)の生成後に、エンコーダは、歪み(例えば、ブロッキングアーチファクト)を低減又は無くすために、予測基準224をループフィルタステージ232に送ることができる。デコーダは、
図2Bに示したやり方で、ループフィルタを予測基準224に適用することができる。ループフィルタリングが行われた参照ピクチャは、後に使用するために(例えば、映像ビットストリーム228の将来にエンコードされるピクチャのためのインター予測基準ピクチャとして使用されるために)、バッファ234(例えば、コンピュータメモリのデコードピクチャバッファ)に保存されてもよい。デコーダは、時間予測ステージ2044で使用される1つ又は複数の参照ピクチャをバッファ234に保存し得る。幾つかの実施形態では、現在のBPUをエンコードするためにインター予測が使用されたことを予測データ206の予測モードインジケータが示す場合、予測データは、ループフィルタのパラメータ(例えば、ループフィルタ強度)をさらに含み得る。
【0059】
[0079]
図4は、本開示の実施形態による、映像をエンコード又はデコードするための装置例400のブロック図である。
図4に示されるように、装置400は、プロセッサ402を含み得る。プロセッサ402が本明細書に記載される命令を実行すると、装置400は、映像エンコーディング又はデコーディング用の専用マシンになることができる。プロセッサ402は、情報の操作又は処理を行うことが可能な任意のタイプの回路網でもよい。例えば、プロセッサ402は、幾つかの中央処理装置(すなわち「CPU」)、グラフィック処理ユニット(すなわち「GPU」)、ニューラル処理ユニット(「NPU」)、マイクロコントローラユニット(「MCU」)、光プロセッサ、プログラマブル論理コントローラ、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ、IP(intellectual property)コア、プログラマブル論理アレイ(PLA)、プログラマブルアレイロジック(PAL)、汎用アレイロジック(GAL)、複合プログラマブル論理デバイス(CPLD)、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SoC)、又は特定用途向け集積回路(ASIC)などの任意の組み合わせを含んでもよい。幾つかの実施形態では、プロセッサ402は、単一の論理コンポーネントとしてグループ化されたプロセッサのセットでもよい。例えば、
図4に示されるように、プロセッサ402は、プロセッサ402a、プロセッサ402b、及びプロセッサ402nを含む複数のプロセッサを含んでもよい。
【0060】
[0080] 装置400は、データ(例えば、命令セット、コンピュータコード、又は中間データなど)を保存するように構成されたメモリ404も含み得る。例えば、
図4に示されるように、保存されたデータは、プログラム命令(例えば、プロセス200A、200B、300A、又は300Bのステージを実装するためのプログラム命令)及び処理用データ(例えば、映像シーケンス202、映像ビットストリーム228、又は映像ストリーム304)を含み得る。プロセッサ402は、(例えば、バス410を介して)プログラム命令及び処理用データにアクセスし、処理用データに対して演算又は操作を行うために、プログラム命令を実行することができる。メモリ404は、高速ランダムアクセス記憶デバイス又は不揮発性記憶デバイスを含んでもよい。幾つかの実施形態では、メモリ404は、幾つかのランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、光ディスク、磁気ディスク、ハードドライブ、ソリッドステートドライブ、フラッシュドライブ、SD(security digital)カード、メモリスティック、又はコンパクトフラッシュ(登録商標)(CF)カードなどの任意の組み合わせを含み得る。メモリ404もまた、単一の論理コンポーネントとしてグループ化されたメモリの一群(
図4では図示せず)でもよい。
【0061】
[0081] バス410は、内部バス(例えば、CPUメモリバス)、又は外部バス(例えば、ユニバーサルシリアルバスポート、周辺コンポーネント相互接続エクスプレスポート)などの装置400内のコンポーネント間でデータを転送する通信デバイスでもよい。
【0062】
[0082] 曖昧さを生じさせずに説明を簡単にするために、本開示においては、プロセッサ402及び他のデータ処理回路はまとめて「データ処理回路」と呼ばれる。データ処理回路は、完全にハードウェアとして、又はソフトウェア、ハードウェア、若しくはファームウェアの組み合わせとして実装されてもよい。さらに、データ処理回路は、単一の独立したモジュールでもよく、又は装置400の任意の他のコンポーネントと完全に若しくは部分的に統合されてもよい。
【0063】
[0083] 装置400は、ネットワーク(例えば、インターネット、イントラネット、ローカルエリアネットワーク、又はモバイル通信ネットワークなど)との有線又は無線通信を提供するために、ネットワークインタフェース406をさらに含み得る。幾つかの実施形態では、ネットワークインタフェース406は、幾つかのネットワークインタフェースコントローラ(NIC)、無線周波数(RF)モジュール、トランスポンダ、トランシーバ、モデム、ルータ、ゲートウェイ、有線ネットワークアダプタ、無線ネットワークアダプタ、ブルートゥース(登録商標)アダプタ、赤外線アダプタ、近距離無線通信(「NFC」)アダプタ、又はセルラーネットワークチップなどの任意の組み合わせを含んでもよい。
【0064】
[0084] 幾つかの実施形態では、任意選択的に、装置400は、1つ又は複数の周辺デバイスに対する接続を提供するために、周辺インタフェース408をさらに含んでもよい。
図4に示されるように、周辺デバイスは、カーソル制御デバイス(例えば、マウス、タッチパッド、若しくはタッチスクリーン)、キーボード、ディスプレイ(例えば、陰極線管ディスプレイ、液晶ディスプレイ、若しくは発光ダイオードディスプレイ)、又は映像入力デバイス(例えば、カメラ、若しくは映像アーカイブに結合された入力インタフェース)などを含み得る(ただし、これらに限定されない)。
【0065】
[0085] 映像コーデック(例えば、プロセス200A、200B、300A、又は300Bを行うコーデック)は、装置400内の任意のソフトウェア又はハードウェアモジュールの任意の組み合わせとして実装され得ることに留意されたい。例えば、プロセス200A、200B、300A、又は300Bの一部又は全てのステージが、メモリ404にロードされ得るプログラム命令などの装置400の1つ又は複数のソフトウェアモジュールとして実装され得る。別の例として、プロセス200A、200B、300A、又は300Bの一部又は全てのステージは、専用データ処理回路など(例えば、FPGA、ASIC、又はNPUなど)の装置400の1つ又は複数のハードウェアモジュールとして実装され得る。
【0066】
[0086] 量子化及び逆量子化機能ブロック(例えば、
図2A又は2Bの量子化214及び逆量子化218、
図3A又は3Bの逆量子化218)では、予測残差に適用される量子化(及び逆量子化)の量を決定するために、量子化パラメータ(QP)が使用される。ピクチャ又はスライスの符号化に使用される初期QP値は、例えば、ピクチャパラメータセット(PPS)のinit_qp_minus26シンタックス要素を使用して、及びスライスヘッダのslice_qp_deltaシンタックス要素を使用して、ハイレベルでシグナリングされてもよい。さらに、QP値は、量子化グループの粒度(granularity)で送られたデルタQP値を使用して、CUごとにローカルレベルで適応させてもよい。
【0067】
[0087] VVCでは、パレットモードは、4:4:4カラーフォーマットで使用することができる。パレットモードが有効にされると、CUサイズが64×64以下であれば、パレットモードが使用されるか否かを示すフラグがCUレベルで送信される。
【0068】
[0088]
図5は、本開示の幾つかの実施形態による、パレットモードで符号化された例示的なブロック500の模式図を示す。
図5に示されるように、現在のCU(例えば、ブロック500)を符号化するためにパレットモードが利用される場合、CUにおける各位置(例えば、位置501、位置502、位置503、又は位置504)のサンプル値は、代表カラー値の小さなセットによって表される。このセットは、「パレット」又は「パレット表」(例えば、パレット510)と呼ばれる。パレットカラーに近い値を有するサンプル位置の場合、対応するパレットインデックス(例えば、インデックス0、インデックス1、インデックス2、又はインデックス3)がシグナリングされる。幾つかの開示実施形態によれば、パレット表外のカラー値は、エスケープインデックス(例えば、インデックス4)をシグナリングすることによって指定することができる。次に、エスケープカラーインデックスを使用するCU内の全ての位置に関して、(量子化された)カラー成分値が、これらの位置のそれぞれについてシグナリングされる。
【0069】
[0089] パレット表を符号化するために、パレット予測子が維持される。パレット予測子は、非ウェーブフロントケースの場合は、各スライスの最初に、ウェーブフロントケースの場合は、各CTU行の最初に、0(例えば、空)に初期化される。場合によっては、パレット予測子は、タイルの最初に0に初期化することもできる。
図6は、本開示の幾つかの実施形態による、符号化ユニットのエンコーディング及びデコーディング後にパレット予測子を更新する例示的なプロセスの模式図を示す。
図6に示されるように、パレット予測子におけるエントリごとに、それが現在のCUの現在のパレット表に含まれるか否かを示す再利用フラグがシグナリングされる。再利用フラグは、ゼロのランレングス符号化を使用して送信され、その後に、新規パレットエントリの数、及び新規パレットエントリの成分値がシグナリングされる。パレット符号化CUのエンコーディング及び/又はデコーディング後に、現在のパレット表を使用してパレット予測子が更新され、現在のパレット表で再利用されていない前のパレット予測子からのエントリが、許容される最大サイズに達するまで、新規パレット予測子の最後に追加される。
【0070】
[0090] 幾つかの実施形態では、CUごとに、現在のCU内にエスケープ記号が存在するかどうかを示すためのエスケープフラグがシグナリングされる。エスケープ記号が存在する場合、パレット表は、(
図5に示されるように)1つ拡張され、最後のインデックスには、エスケープ記号が割り当てられる。
【0071】
[0091]
図5を参照すると、CUにおけるサンプルのパレットインデックスは、パレットインデックスマップを形成する。インデックスマップは、水平又は垂直横断スキャンを用いて符号化される。スキャン順序は、シンタックス要素「palette_transpose_flag」を使用して、ビットストリームで明示的にシグナリングされる。パレットインデックスマップは、インデックス実行モード又はインデックスコピーモードを用いて符号化される。
【0072】
[0092] 幾つかの実施形態によれば、Iスライスのツリー構造は、シーケンスパラメータセット(SPS)シンタックスにおけるシンタックス要素「qtbtt_dual_tree_intra_flag」によってシグナリングされる。1に等しいシンタックス要素qtbtt_dual_tree_intra_flagは、2つの別個のcoding_treeシンタックス構造が、それぞれIスライスのルマ成分及びクロマ成分に対して使用されることを示す。0に等しいシンタックス要素qtbtt_dual_tree_intra_flagは、別個のcoding_treeシンタックス構造が、Iスライスのルマ成分及びクロマ成分に対して使用されないことを示す。また、Pスライス及びBスライスは、常に、単一ツリースライスとして符号化される。開示実施形態に一致して、Iピクチャは、エンコーディング/デコーディングプロセスにおいて他のピクチャを参照することのないイントラ符号化ピクチャである。Pピクチャ及びBピクチャは、共にインター符号化ピクチャであり、これらは、他のピクチャを参照しながらデコードされる。PピクチャとBピクチャの違いは、Pピクチャにおける各ブロックが、各参照ピクチャにおいて最大1つのブロックのみを参照できるのに対して、Bピクチャにおける各ブロックは、各参照ピクチャにおいて最大で2つのブロックを参照し得る点である。
【0073】
[0093] 幾つかの実施形態によれば、デュアルルマ/クロマツリーを有するスライスの場合、異なるパレット(例えば、異なるパレット表)が、ルマ(Y成分)及びクロマ(Cb及びCr成分)に個別に適用される。デュアルツリースライス(例えば、デュアルルマ/クロマツリー)の場合、ルマパレット表の各エントリは、Y値のみを含み、クロマパレット表の各エントリは、Cb値及びCr値の両方を含む。単一ツリーのスライスの場合、パレットは、Y成分、Cb成分、及びCr成分に対して合同で適用される(例えば、パレット表の各エントリは、Y値、Cb値、及びCr値を含む)。また、4:2:0及び4:2:2カラーフォーマットなどの特定のカラーフォーマットの場合、単一ツリースライスの符号化ユニット(CU)は、許容最小クロマ符号化ブロックサイズに対する制限により、個別のルマツリー及びクロマツリーを有し得る。したがって、これらのカラーフォーマットの場合、単一ツリースライスにおけるCUは、ローカルデュアルツリー構造(例えば、スライスレベルでは単一ツリーであるが、CUレベルではデュアルツリー)を有し得る。
【0074】
[0094] したがって、単一ツリースライスの符号化ユニットは、非インターSCIPU(smallest chroma intra prediction unit)の場合、クロマはさらなる分割が許容されないが、ルマはさらなる分割が許容されるため、個別のルマツリー及びクロマツリーを有し得る。単一ツリー符号化では、SCIPUは、クロマブロックサイズが16クロマサンプル以上である符号化ツリーノードとして定義され、64ルマサンプル未満の少なくとも1つの子ルマブロックを有する。上記の通り、SCIPUに関連付けられた個別のツリーは、ローカルデュアルツリーと呼ばれる。
【0075】
[0095] スライスのツリータイプ(例えば、単一ツリー、又はデュアルツリー)に基づいて、スライスに対して、2つのタイプのパレット表(「合同パレット」及び「個別パレット」)を使用することができる。単一ツリースライスは、合同パレット表を使用してパレット符号化することができる。合同パレット表の各エントリは、Yカラー成分、Cbカラー成分、及びCrカラー成分を含み、単一ツリースライスにおける符号化ユニット(CU)の全てのカラー成分は、(上記のローカルデュアルツリーを除き)合同パレット表を使用して合同で符号化される。それに対して、デュアルツリースライスは、2つの個別パレットを使用してパレット符号化される。デュアルツリースライスのルマ成分及びクロマ成分は、異なるパレット表を必要とし、個別に符号化される。したがって、デュアルツリースライスの場合、2つのインデックスマップ(1つはルマ成分用、及び1つはクロマ成分用)が、ビットストリームにおいてシグナリングされる。
【0076】
[0096]
図7は、本開示の幾つかの実施形態による、例示的な均一最大予測子サイズ及び最大パレットサイズを示す例示的な表1を示す。表1に示されるように、合同パレット及び個別パレット両方の最大パレット予測子サイズは、一様に63に設定され、合同パレット表及び個別パレット表両方の最大パレットサイズは、一様に31に設定される。しかしながら、上記の通り、個別のルマツリー及びクロマツリーを有するデュアルツリースライス/CUの場合は、2つの個別パレット表が必要とされ、合同ルマ-クロマツリーを有する単一ツリースライス/CUの場合は、1つの合同パレット表のみが必要とされる。したがって、デュアルツリースライス/CUのために個別パレット表を生成する複雑さは、単一ツリースライス/CUのために合同パレット表を生成する複雑さの約2倍である。
【0077】
[0097] 幾つかの開示実施形態に一致して、デュアルツリースライス/CUのパレット符号化対単一ツリースライス/CUのパレット符号化に関する計算の複雑さ及び時間の不均衡を解決するために、個別のルマツリー及びクロマツリーの最大予測子サイズは、単一(例えば、合同)ルマ-クロマツリーの最大予測子サイズよりも小さく設定することができる。代替的又は追加的に、個別のルマツリー及びクロマツリーの最大パレットサイズ(例えば、最大パレット表サイズ)は、単一(例えば、合同)ルマ-クロマツリーの最大パレットサイズよりも小さく設定することができる。
【0078】
[0098] 幾つかの開示実施形態では、最大予測子サイズ及び最大パレットサイズを表す以下の6つの変数が定義される。特に、変数「max_plt_predictor_size_joint」は、合同パレットの最大予測子サイズを表す。変数「max_plt_predictor_size_luma」は、個別パレットが使用される場合に、ルマ成分の最大予測子サイズを表す。変数「max_plt_predictor_size_chroma」は、個別パレットが使用される場合に、クロマ成分の最大予測子サイズを表す。変数「max_plt_size_joint」は、合同パレットの最大パレットサイズを表す。変数「max_plt_size_luma」は、個別パレットが使用される場合に、ルマ成分の最大パレットサイズを表す。変数「max_plt_size_chroma」は、個別パレットが使用される場合に、クロマ成分の最大パレットサイズを表す。
【0079】
[0099] 幾つかの実施形態では、最大パレット予測子サイズ及び最大パレットサイズは、予め定義された固定値のセットであり、映像デコーダにシグナリングされる必要はない。
図8は、本開示の幾つかの実施形態による、例示的な最大予測子サイズ及び最大パレットサイズを示す例示的な表2を示す。
【0080】
[00100] 幾つかの実施形態では、デュアルツリースライスの最大パレット予測子サイズ及び最大パレットサイズは、単一ツリースライスの最大パレット予測子サイズ及び最大パレットサイズの半分に設定される。表2に示されるように、合同パレット(すなわち、単一ツリースライスの場合)の最大パレット予測子サイズ及び最大パレットサイズは、それぞれ63及び31と定義される。ルマ成分及びクロマ成分両方の個別パレット(すなわち、デュアルツリースライスの場合)最大パレット予測子サイズ及び最大パレットサイズは、それぞれ31及び15と定義される。
【0081】
[00101]
図9は、本開示の幾つかの実施形態による、予め定義された最大パレット予測子サイズ及び最大パレットサイズを使用する例示的なデコーディングプロセスを示す例示的な表3を示す。表3に示されるように、VVCドラフト7で現在提案されているパレットモードデコーディングプロセスに対する変更は、ボックス901~906内で強調され、及びイタリック体で強調表示され、VVCドラフト7で現在提案されているパレットモードデコーディングプロセスから削除される内容は、ボックス905~906内に示され、取消線で抹消され、イタリック体で強調されている。本実施形態では、CUが、ローカルデュアルツリー(例えば、単一ツリースライスの個別ルマ/クロマローカルツリー)として符号化される場合、ローカルデュアルツリーを符号化するための最大予測子サイズは、合同パレットの最大予測子サイズに設定される。
【0082】
[00102]
図10は、本開示の幾つかの実施形態による、予め定義された最大パレット予測子サイズ及び最大パレットサイズを使用するための例示的なパレット符号化シンタックス表を示す例示的な表4を示す。表1に示される均一最大予測子サイズ及び最大パレットサイズを実装するために使用されるシンタックスと比較して、そのシンタックスに対する変更は、表4において、ボックス1001~1003内で強調され、及びイタリック体で強調表示され、そのシンタックスから削除されるシンタックス要素は、表4において、ボックス1002~1003内に示され、取消線で抹消され、イタリック体で強調されている。
【0083】
[00103] 幾つかの実施形態では、合同パレットの最大パレットサイズ、及び合同パレットの最大パレットサイズと合同パレットの最大予測子サイズの差が、SPSシンタックスにより、デコーダに対してシグナリングされる。本実施形態に一致した例示的な意味論(semantics)は、以下のように説明される。シンタックス要素「sps_max_plt_size_joint_minus1」は、合同パレット表の最大許容パレットサイズ-1を指定する。シンタックス要素sps_max_plt_size_joint_minus1の値は、0~63の範囲内(0及び63を含む)である。シンタックス要素sps_max_plt_size_joint_minus1が存在しない場合、その値は、0であると推論される。また、シンタックス要素「sps_delta_max_plt_predictor_size_joint」は、合同パレットの最大許容パレット予測子サイズと最大許容パレットサイズの差を指定する。シンタックス要素sps_delta_max_plt_predictor_size_jointの値は、0~63の範囲内(0及び63を含む)である。シンタックス要素sps_delta_max_plt_predictor_size_jointが存在しない場合、その値は、0であると推論される。
【0084】
[00104] 個別ルマ/クロマパレットの最大パレットサイズ及び最大パレット予測子サイズはシグナリングされない。その代わりに、それらは、合同パレットの最大パレットサイズ及び合同パレットの最大パレット予測子サイズから導出される。
図11は、本開示の幾つかの実施形態による、個別パレットの最大パレットサイズ及び最大パレット予測子サイズの例示的な導出を示す例示的な表5を示す。
【0085】
[00105] 表5に示される例においては、個別ルマ/クロマパレットが使用される場合に、シンタックス要素max_plt_size_jointは、ルマ成分及びクロマ成分に等しく分配される。本開示に一致して、合同パレットの最大パレットサイズが、ルマ成分及びクロマ成分に不均一に分配されることも可能である。
図12は、本開示の幾つかの実施形態による、個別パレットの最大パレットサイズ及び最大パレット予測子サイズの別の例示的な導出を示す例示的な表6を示す。表6は、不均一な分配の一例を示す。
【0086】
[00106]
図13は、本開示の幾つかの実施形態による、例示的なシーケンスパラメータセット(SPS)シンタックス表を示す例示的な表7を示す。表1に示される均一最大予測子サイズ及び最大パレットサイズを実装するために使用されるシンタックスと比較して、そのシンタックスに対する変更は、表7において、ボックス1301内で、及びイタリック体で強調される。表7には示されないが、個別ルマ/クロマパレットの最大パレットサイズ及び最大パレット予測子サイズも、合同パレットの最大パレットサイズ及び最大パレット予測子サイズと一緒に、SPSにおいてシグナリングされ得ることが企図される。
【0087】
[00107] 幾つかの実施形態では、最大パレットサイズ及び最大パレット予測子サイズ関連のシンタックスは、ピクチャヘッダ(PH)に通じて送信される。本実施形態に一致した例示的な意味論は、以下のように説明される。シンタックス要素「pic_max_plt_size_joint_minus1」は、PHに関連付けられたスライスに関して、合同パレット表の最大許容パレットサイズ-1を指定する。シンタックス要素pic_max_plt_size_joint_minus1の値は、0~63の範囲内(0及び63を含む)である。シンタックス要素「pic_delta_max_plt_predictor_size_joint」は、PHに関連付けられたスライスに関する合同パレットの最大許容パレット予測子サイズと最大許容パレットサイズの差を指定する。シンタックス要素pic_delta_max_plt_predictor_size_jointの最大許容値は、63である。シンタックス要素pic_delta_max_plt_predictor_size_jointが存在しない場合、その値は、0であると推論される。
【0088】
[00108] 個別ルマ/クロマパレットの最大パレットサイズ及び最大パレット予測子サイズは、シグナリングされない。その代わりに、それらは、合同パレットの最大パレットサイズ及び合同パレットの最大パレット予測子サイズから導出される。
図14は、本開示の幾つかの実施形態による、個別パレットの最大パレットサイズ及び最大パレット予測子サイズの別の例示的な導出を示す例示的な表8を示す。
【0089】
[00109] 表8に示される例では、シンタックス要素max_plt_size_jointは、個別ルマ/クロマパレットが使用される場合は、ルマ成分及びクロマ成分に等しく分配される。本開示に一致して、合同表の最大パレットサイズが、ルマ成分及びクロマ成分に不均一に分配されることも可能である。
図15は、本開示の幾つかの実施形態による、個別パレットの最大パレットサイズ及び最大パレット予測子サイズの別の例示的な導出を示す例示的な表9を示す。表9は、不均一な分配の一例を示す。
【0090】
[00110]
図16は、本開示の幾つかの実施形態による、例示的なPHシンタックスを示す例示的な表10を示す。表1に示される均一最大予測子サイズ及び最大パレットサイズを実装するために使用されるシンタックスと比較して、そのシンタックスに対する変更が、表10において、ボックス1601内で強調され、及びイタリック体で強調表示される。表10には示されないが、個別ルマ/クロマパレットの最大パレットサイズ及び最大パレット予測子サイズも、合同パレットの最大パレットサイズ及び最大パレット予測子サイズと一緒に、ピクチャヘッダにおいてシグナリングされ得ることが企図される。
【0091】
[00111] 幾つかの実施形態では、最大パレットサイズ及び最大パレット予測子サイズに関連したシンタックスは、スライスヘッダによって各スライスでシグナリングされる。本実施形態に一致した例示的な意味論は、以下のように説明される。
【0092】
[00112] 具体的には、シンタックス要素「slice_max_plt_size_joint_minus1」及びシンタックス要素「slice_delta_max_plt_predictor_size_joint」は、スライスが単一ツリースライスとして符号化される場合は、条件付きでシグナリングされる。シンタックス要素slice_max_plt_size_joint_minus1は、単一ツリースライスに関して、合同パレット表の最大許容パレットサイズ-1を指定する。シンタックス要素slice_max_plt_size_jointの最大値が63であることがビットストリーム適合性の要件である。シンタックス要素slice_delta_max_plt_predictor_size_jointは、単一ツリースライスに関する合同パレットの最大許容パレット予測子サイズと最大許容パレットサイズの差を指定する。シンタックス要素slice_delta_max_plt_predictor_size_jointの最大許容値は、63である。シンタックス要素slice_delta_max_plt_predictor_size_jointが存在しない場合、その値は、0であると推論される。
【0093】
[00113] シンタックス要素「slice_max_plt_size_luma_minus1」及びシンタックス要素「slice_delta_max_plt_predictor_size_luma」は、スライスがデュアルツリースライスとして符号化される場合に条件付きでシグナリングされる。シンタックス要素slice_max_plt_size_luma_minus1は、デュアルツリースライスに関して、ルマパレット表の最大許容パレットサイズ-1を指定する。シンタックス要素slice_max_plt_size_lumaが存在しない場合、その値は、0であると推論される。シンタックス要素slice_max_plt_size_luma_minus1の最大値が63であることがビットストリーム適合性の要件である。シンタックス要素slice_delta_max_plt_predictor_size_lumaは、デュアルツリースライスに関するルマパレットの最大許容パレット予測子サイズと最大許容パレットサイズの差を指定する。シンタックス要素slice_delta_max_plt_predictor_size_lumaの最大許容値は、63である。シンタックス要素slice_delta_max_plt_predictor_size_lumaが存在しない場合、その値は、0であると推論される。
【0094】
[00114]
図17は、本開示の幾つかの実施形態による、Iスライス、Pスライス、及びBスライスに関する最大パレットサイズ及び最大パレット予測子サイズの例示的な導出を示す例示的な表11を示す。
【0095】
[00115]
図18は、本開示の幾つかの実施形態による、例示的なSHシンタックスを示す例示的な表12を示す。表1に示される均一最大予測子サイズ及び最大パレットサイズを実装するために使用されるシンタックスと比較して、そのシンタックスに対する変更は、表12において、ボックス1801内で強調され、及びイタリック体で強調表示される。本実施形態に一致する予測更新プロシージャは、表3に示されるものと同じであり、本実施形態に一致するパレット符号化シンタックスは、表4に示されるものと同じである。
【0096】
[00116]
図19は、本開示の幾つかの実施形態による、例示的なパレット符号化方法1900のフローチャートを示す。方法1900は、エンコーダ(例えば、
図2Aのプロセス200A、若しくは
図2Bのプロセス200Bによって)、デコーダ(例えば、
図3Aのプロセス300A、若しくは
図3Bのプロセス300Bによって)によって行うことができ、又は装置(例えば、
図4の装置400)の1つ若しくは複数のソフトウェア若しくはハードウェアコンポーネントによって行うことができる。例えば、プロセッサ(例えば、
図4のプロセッサ402)は、方法1900を行うことができる。幾つかの実施形態では、方法1900は、コンピュータ(例えば、
図4の装置400)によって実行されるプログラムコードなどのコンピュータ実行可能命令を含むコンピュータ可読媒体で具現化されたコンピュータプログラム製品によって実装され得る。
【0097】
[00117] ステップ1901では、CUのルマ成分及びCUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかに関する決定を行うことができる。(例えば、
図9の表3、又は
図10の表4に示されるように)CUのルマ成分及びCUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかを示すために、例えば変数treeTypeを利用することができる。
【0098】
[00118] ステップ1903では、ルマ成分及びクロマ成分がパレットモードにおいて合同で符号化されることに応答して、CUに関する第1の最大パレット表サイズを決定することができる。幾つかの実施形態では、CUに関する第1の最大パレット表サイズは、映像ビットストリームにおいてシグナリングされた第1のシンタックス要素(例えば、
図13の表7に示されるシンタックス要素sps_max_plt_size_joint_minus1、又は
図16の表10に示されるシンタックス要素pic_max_plt_size_joint_minus1)の値に基づいて決定することができる。
【0099】
[00119] ステップ1905では、ルマ成分及びクロマ成分がパレットモードにおいて合同で符号化されることに応答して、CUに関する第1の最大パレット予測子サイズを決定することができる。幾つかの実施形態では、CUに関する第1の最大パレット予測子サイズは、第1のシンタックス要素の値、及び映像ビットストリームにおいてシグナリングされた第2のシンタックス要素(例えば、
図13の表7に示されるシンタックス要素sps_delta_max_plt_predictor_size_joint、又は
図16の表10に示されるシンタックス要素pic_delta_max_plt_predictor_size_joint)の値に基づいて決定することができる。例えば、CUに関する第1の最大パレット予測子サイズは、(例えば、
図11の表5、
図12の表6、
図14の表8、又は
図15の表9に示されるように)第1のシンタックス要素の値及び第2のシンタックス要素の値の合計となるように決定することができる。幾つかの実施形態では、第1のシンタックス要素及び第2のシンタックス要素は、CUに関連付けられた(例えば、
図13の表7に示されるような)SPSにおいて、又はCUに関連付けられた(例えば、
図16の表10に示されるような)PHにおいて、シグナリングされる。
【0100】
[00120] ステップ1907では、ルマ成分及びクロマ成分がパレットモードにおいて合同で符号化されることに応答して、第1の最大パレット表サイズ及び第1の最大パレット予測子サイズに基づいて、CUを予測することができる。例えば、CUは、
図9の表3に示されるように予測することができる。
【0101】
[00121] 幾つかの実施形態では、方法1900は、ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されることに応答して、第1の最大パレット表サイズに基づいて、CUに関する第2の最大パレット表サイズを決定すること、第1の最大パレット予測子サイズに基づいて、CUに関する第2の最大パレット予測子サイズを決定すること、及び第2の最大パレット表サイズ及び第2の最大パレット予測子サイズに基づいて、CUを予測すること、を含み得る。第2の最大パレット表サイズ又は第2の最大パレット予測子サイズは、ルマ成分又はクロマ成分に関するものである。例えば、ルマ成分又はクロマ成分に関する最大パレット表サイズ又は最大パレット予測子サイズは、
図11の表5、
図12の表6、
図14の表8、又は
図15の表9に基づいて決定することができる。
【0102】
[00122] 幾つかの実施形態では、方法1900は、第1の所定の値となるように、CUに関する第1の最大パレット表サイズを決定することを含み得る。方法1900は、第2の所定の値となるように、CUに関する第1の最大パレット予測子サイズを決定することも含み得る。例えば、
図8の表2に示されるように、合同パレットに関する最大パレット表サイズは、31でもよく、合同パレットに関する最大パレット予測子サイズは、63でもよい。幾つかの実施形態では、方法1900は、ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されることに応答して、第3の所定の値となるように、CUに関する第3の最大パレット表サイズを決定すること、及び第3の最大パレット表サイズに基づいてCUを予測すること、を含み得る。第3の所定の値は、第1の所定の値よりも小さい。例えば、
図8の表2に示されるように、ルマ又はクロマパレットに関する最大パレット表サイズは、15でもよい。
【0103】
[00123] 幾つかの実施形態では、方法1900は、ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されること、並びにCUが単一ツリースライスの一部であることに応答して、(例えば、
図9の表3に示されるように)第1の最大パレット予測子サイズに基づいてCUを予測することを含み得る。
【0104】
[00124] 幾つかの実施形態では、方法1900は、ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されること、並びにCUが単一ツリースライスの一部ではないことに応答して、第4の所定の値となるように、CUに関する第3の最大パレット予測子サイズを決定すること、及び第3の最大パレット予測子サイズに基づいてCUを予測すること、を含み得る。第4の所定の値は、第2の所定の値よりも小さい。例えば、
図8の表2に示されるように、個別パレットに関する最大パレット予測子サイズは、31でもよい。CUは、
図9の表3に示されるように予測することができる。
【0105】
[00125] 幾つかの実施形態では、方法1900は、CUを含むピクチャスライスが単一ツリースライスであるか、それともデュアルツリースライスであるかを決定することと、ピクチャスライスが単一ツリースライスであることに応答して、ピクチャスライスのスライスヘッダにおいてシグナリングされた第3のシンタックス要素の値に基づいて、ピクチャスライスにおけるCUに関する第1の最大パレット表サイズを決定すること、及び、第3のシンタックス要素の値、並びにスライスヘッダにおいてシグナリングされた第4のシンタックス要素の値に基づいて、CUに関する第1の最大パレット予測子サイズを決定すること、を含み得る。CUに関する第1の最大パレット予測子サイズは、第3のシンタックス要素の値及び第4のシンタックス要素の値の合計となるように決定することができる。例えば、
図17の表11に示されるように、ピクチャスライスが単一ツリースライスであること(例えば、slice_type != I | | qtbtt_dual_tree_intra_flag == 0)に応答して、合同パレットに関する最大パレット表サイズは、スライスヘッダ(例えば、
図18の表12に示されるようなSH)においてシグナリングされたシンタックス要素slice_max_plt_size_joint_minus1の値に基づいて決定することができ、合同パレットに関する最大パレット予測子サイズは、シンタックス要素slice_max_plt_size_joint_minus1の値、及びスライスヘッダ(例えば、
図18の表12に示されるようなSH)においてシグナリングされたシンタックス要素slice_delta_max_plt_predictor_size_jointの値の合計となるように決定することができる。
【0106】
[00126] 幾つかの実施形態では、方法1900は、ピクチャスライスがデュアルツリースライスであることに応答して、スライスヘッダにおいてシグナリングされた第5のシンタックス要素の値に基づいて、CUに関する第4の最大パレット表サイズを決定すること、第5のシンタックス要素の値、及びスライスヘッダにおいてシグナリングされた第6のシンタックス要素の値に基づいて、CUに関する第4の最大パレット予測子サイズを決定すること、及び第4の最大パレット表サイズ及び第4の最大パレット予測子サイズに基づいて、CUを予測すること、を含み得る。CUに関する第4の最大パレット予測子サイズは、第5のシンタックス要素の値及び第6のシンタックス要素の値の合計となるように決定することができる。例えば、
図17の表11に示されるように、ピクチャスライスがデュアルツリースライスであることに応答して、ルマ又はクロマパレットに関する最大パレット表サイズは、スライスヘッダ(例えば、
図18の表12に示されるようなSH)においてシグナリングされたシンタックス要素slice_max_plt_size_luma_minus1の値に基づいて決定することができ、ルマ又はクロマパレットに関する最大パレット予測子サイズは、シンタックス要素slice_max_plt_size_luma_minus1の値、及びスライスヘッダ(例えば、
図18の表12に示されるようなSH)においてシグナリングされたシンタックス要素slice_delta_max_plt_predictor_size_lumaの値の合計となるように決定することができる。
【0107】
[00127] 実施形態は、以下の条項を用いてさらに説明することができる。
1.符号化ユニット(CU)のルマ成分及びCUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかを決定することと、
ルマ成分及びクロマ成分がパレットモードにおいて合同で符号化されることに応答して、
CUに関する第1の最大パレット表サイズを決定すること、
CUに関する第1の最大パレット予測子サイズを決定すること、及び
第1の最大パレット表サイズ及び第1の最大パレット予測子サイズに基づいてCUを予測することと、
を含む、パレット符号化方法。
2.CUに関する第1の最大パレット表サイズを決定することが、
映像ビットストリームにおいてシグナリングされた第1のシンタックス要素の値に基づいて、CUに関する第1の最大パレット表サイズを決定することを含む、条項1に記載の方法。
3.CUに関する第1の最大パレット予測子サイズを決定することが、
第1のシンタックス要素の値、及び映像ビットストリームにおいてシグナリングされた第2のシンタックス要素の値に基づいて、CUに関する第1の最大パレット予測子サイズを決定することを含む、条項2に記載の方法。
4.CUに関する第1の最大パレット予測子サイズを決定することが、
第1のシンタックス要素の値及び第2のシンタックス要素の値の合計となるように、CUに関する第1の最大パレット予測子サイズを決定することを含む、条項3に記載の方法。
5.第1のシンタックス要素及び第2のシンタックス要素が、CUに関連付けられたシーケンスパラメータセット(SPS)においてシグナリングされる、条項3又は4に記載の方法。
6.第1のシンタックス要素及び第2のシンタックス要素が、CUに関連付けられたピクチャヘッダ(PH)においてシグナリングされる、条項3又は4に記載の方法。
7.ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されることに応答して、
第1の最大パレット表サイズに基づいて、CUに関する第2の最大パレット表サイズを決定すること、
第1の最大パレット予測子サイズに基づいて、CUに関する第2の最大パレット予測子サイズを決定すること、及び
第2の最大パレット表サイズ及び第2の最大パレット予測子サイズに基づいてCUを予測すること、
をさらに含む、条項1~6の何れか一項に記載の方法。
8.第2の最大パレット表サイズ又は第2の最大パレット予測子サイズが、ルマ成分又はクロマ成分に関するものである、条項7に記載の方法。
9.CUに関する第1の最大パレット表サイズを決定することが、
第1の所定の値となるように、CUに関する第1の最大パレット表サイズを決定することを含む、条項1に記載の方法。
10.CUに関する第1の最大パレット予測子サイズを決定することが、
第2の所定の値となるように、CUに関する第1の最大パレット予測子サイズを決定することを含む、条項1又は9に記載の方法。
11.ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されることに応答して、
第3の所定の値となるように、CUに関する第3の最大パレット表サイズを決定すること、及び
第3の最大パレット表サイズに基づいてCUを予測すること、
をさらに含み、
第3の所定の値が、第1の所定の値よりも小さい、条項9又は10に記載の方法。
12.ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されること、並びにCUが単一ツリースライスの一部であることに応答して、第1の最大パレット予測子サイズに基づいてCUを予測することをさらに含む、条項11に記載の方法。
13.ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されること、並びにCUが単一ツリースライスの一部ではないことに応答して、
第4の所定の値となるように、CUに関する第3の最大パレット予測子サイズを決定すること、及び
第3の最大パレット予測子サイズに基づいてCUを予測すること、
をさらに含み、
第4の所定の値が、第2の所定の値よりも小さい、条項10~12の何れか一項に記載の方法。
14.CUを含むピクチャスライスが単一ツリースライスであるか、それともデュアルツリースライスであるかを決定することと、
ピクチャスライスが単一ツリースライスであることに応答して、
ピクチャスライスのスライスヘッダにおいてシグナリングされた第3のシンタックス要素の値に基づいて、ピクチャスライスにおけるCUに関する第1の最大パレット表サイズを決定すること、及び
第3のシンタックス要素の値、及びスライスヘッダにおいてシグナリングされた第4のシンタックス要素の値に基づいて、CUに関する第1の最大パレット予測子サイズを決定することと、
をさらに含む、条項1に記載の方法。
15.CUに関する第1の最大パレット予測子サイズを決定することが、
第3のシンタックス要素の値及び第4のシンタックス要素の値の合計となるように、CUに関する第1の最大パレット予測子サイズを決定することを含む、条項14に記載の方法。
16.ピクチャスライスがデュアルツリースライスであることに応答して、
スライスヘッダにおいてシグナリングされた第5のシンタックス要素の値に基づいて、CUに関する第4の最大パレット表サイズを決定すること、
第5のシンタックス要素の値、及びスライスヘッダにおいてシグナリングされた第6のシンタックス要素の値に基づいて、CUに関する第4の最大パレット予測子サイズを決定すること、及び
第4の最大パレット表サイズ及び第4の最大パレット予測子サイズに基づいて、CUを予測すること、
をさらに含む、条項14又は15に記載の方法。
17.CUに関する第4の最大パレット予測子サイズを決定することが、
第5のシンタックス要素の値及び第6のシンタックス要素の値の合計となるように、CUに関する第4の最大パレット予測子サイズを決定することを含む、条項16に記載の方法。
18.映像処理装置であって、
命令を保存するための少なくとも1つのメモリと、
少なくとも1つのプロセッサとを含み、少なくとも1つのプロセッサが、
符号化ユニット(CU)のルマ成分及びCUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかを決定することと、
ルマ成分及びクロマ成分がパレットモードにおいて合同で符号化されることに応答して、
CUに関する第1の最大パレット表サイズを決定すること、
CUに関する第1の最大パレット予測子サイズを決定すること、及び
第1の最大パレット表サイズ及び第1の最大パレット予測子サイズに基づいてCUを予測することと、
を装置に行わせるために命令を実行するように構成される、映像処理装置。
19.少なくとも1つのプロセッサが、
映像ビットストリームにおいてシグナリングされた第1のシンタックス要素の値に基づいて、CUに関する第1の最大パレット表サイズを決定すること、
を装置に行わせるために命令を実行するように構成される、条項18に記載の装置。
20.少なくとも1つのプロセッサが、
第1のシンタックス要素の値、及び映像ビットストリームにおいてシグナリングされた第2のシンタックス要素の値に基づいて、CUに関する第1の最大パレット予測子サイズを決定すること、
を装置に行わせるために命令を実行するように構成される、条項19に記載の装置。
21.少なくとも1つのプロセッサが、
第1のシンタックス要素の値及び第2のシンタックス要素の値の合計となるように、CUに関する第1の最大パレット予測子サイズを決定すること、
を装置に行わせるために命令を実行するように構成される、条項20に記載の装置。
22.第1のシンタックス要素及び第2のシンタックス要素が、CUに関連付けられたシーケンスパラメータセット(SPS)においてシグナリングされる、条項20又は21に記載の装置。
23.第1のシンタックス要素及び第2のシンタックス要素が、CUに関連付けられたピクチャヘッダ(PH)においてシグナリングされる、条項20又は21に記載の装置。
24.少なくとも1つのプロセッサが、
ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されることに応答して、
第1の最大パレット表サイズに基づいて、CUに関する第2の最大パレット表サイズを決定すること、
第1の最大パレット予測子サイズに基づいて、CUに関する第2の最大パレット予測子サイズを決定すること、及び
第2の最大パレット表サイズ及び第2の最大パレット予測子サイズに基づいてCUを予測すること、
を装置に行わせるために命令を実行するように構成される、条項18~23の何れか一項に記載の装置。
25.第2の最大パレット表サイズ又は第2の最大パレット予測子サイズが、ルマ成分又はクロマ成分に関するものである、条項24に記載の装置。
26.少なくとも1つのプロセッサが、
第1の所定の値となるように、CUに関する第1の最大パレット表サイズを決定すること、
を装置に行わせるために命令を実行するように構成される、条項18に記載の装置。
27.少なくとも1つのプロセッサが、
第2の所定の値となるように、CUに関する第1の最大パレット予測子サイズを決定すること、
を装置に行わせるために命令を実行するように構成される、条項18又は26に記載の装置。
28.少なくとも1つのプロセッサが、
ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されることに応答して、
第3の所定の値となるように、CUに関する第3の最大パレット表サイズを決定すること、及び
第3の最大パレット表サイズに基づいてCUを予測すること、
を装置に行わせるために命令を実行するように構成され、
第3の所定の値が、第1の所定の値よりも小さい、条項26又は27に記載の装置。
29.少なくとも1つのプロセッサが、
ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されること、並びにCUが単一ツリースライスの一部であることに応答して、第1の最大パレット予測子サイズに基づいてCUを予測すること、
を装置に行わせるために命令を実行するように構成される、条項28に記載の装置。
30.少なくとも1つのプロセッサが、
ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されること、並びにCUが単一ツリースライスの一部ではないことに応答して、
第4の所定の値となるように、CUに関する第3の最大パレット予測子サイズを決定すること、及び
第3の最大パレット予測子サイズに基づいてCUを予測すること、
を装置に行わせるために命令を実行するように構成され、
第4の所定の値が、第2の所定の値よりも小さい、条項27~29の何れか一項に記載の装置。
31.少なくとも1つのプロセッサが、
CUを含むピクチャスライスが単一ツリースライスであるか、それともデュアルツリースライスであるかを決定することと、
ピクチャスライスが単一ツリースライスであることに応答して、
ピクチャスライスのスライスヘッダにおいてシグナリングされた第3のシンタックス要素の値に基づいて、ピクチャスライスにおけるCUに関する第1の最大パレット表サイズを決定すること、及び
第3のシンタックス要素の値、及びスライスヘッダにおいてシグナリングされた第4のシンタックス要素の値に基づいて、CUに関する第1の最大パレット予測子サイズを決定することと、
を装置に行わせるために命令を実行するように構成される、条項18に記載の装置。
32.少なくとも1つのプロセッサが、
第3のシンタックス要素の値及び第4のシンタックス要素の値の合計となるように、CUに関する第1の最大パレット予測子サイズを決定すること、
を装置に行わせるために命令を実行するように構成される、条項31に記載の装置。
33.少なくとも1つのプロセッサが、
ピクチャスライスがデュアルツリースライスであることに応答して、
スライスヘッダにおいてシグナリングされた第5のシンタックス要素の値に基づいて、CUに関する第4の最大パレット表サイズを決定すること、
第5のシンタックス要素の値、及びスライスヘッダにおいてシグナリングされた第6のシンタックス要素の値に基づいて、CUに関する第4の最大パレット予測子サイズを決定すること、及び
第4の最大パレット表サイズ及び第4の最大パレット予測子サイズに基づいて、CUを予測すること、
を装置に行わせるために命令を実行するように構成される、条項31又は32に記載の装置。
34.少なくとも1つのプロセッサが、
第5のシンタックス要素の値及び第6のシンタックス要素の値の合計となるように、CUに関する第4の最大パレット予測子サイズを決定すること、
を装置に行わせるために命令を実行するように構成される、条項33に記載の装置。
35.命令セットを記憶した非一時的コンピュータ可読記憶媒体であって、命令のセットが、
符号化ユニット(CU)のルマ成分及びCUのクロマ成分が、パレットモードにおいて合同で符号化されるか、それとも個別に符号化されるかを決定することと、
ルマ成分及びクロマ成分がパレットモードにおいて合同で符号化されることに応答して、
CUに関する第1の最大パレット表サイズを決定すること、
CUに関する第1の最大パレット予測子サイズを決定すること、及び
第1の最大パレット表サイズ及び第1の最大パレット予測子サイズに基づいてCUを予測することと、
を含む方法を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、非一時的コンピュータ可読記憶媒体。
36.命令セットが、
映像ビットストリームにおいてシグナリングされた第1のシンタックス要素の値に基づいて、CUに関する第1の最大パレット表サイズを決定すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、条項35に記載の非一時的コンピュータ可読記憶媒体。
37.命令セットが、
第1のシンタックス要素の値、及び映像ビットストリームにおいてシグナリングされた第2のシンタックス要素の値に基づいて、CUに関する第1の最大パレット予測子サイズを決定すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、条項36に記載の非一時的コンピュータ可読記憶媒体。
38.命令セットが、
第1のシンタックス要素の値及び第2のシンタックス要素の値の合計となるように、CUに関する第1の最大パレット予測子サイズを決定すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、条項37に記載の非一時的コンピュータ可読記憶媒体。
39.第1のシンタックス要素及び第2のシンタックス要素が、CUに関連付けられたシーケンスパラメータセット(SPS)においてシグナリングされる、条項37又は38に記載の非一時的コンピュータ可読記憶媒体。
40.第1のシンタックス要素及び第2のシンタックス要素が、CUに関連付けられたピクチャヘッダ(PH)においてシグナリングされる、条項37又は38に記載の非一時的コンピュータ可読記憶媒体。
41.命令セットが、
ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されることに応答して、
第1の最大パレット表サイズに基づいて、CUに関する第2の最大パレット表サイズを決定すること、
第1の最大パレット予測子サイズに基づいて、CUに関する第2の最大パレット予測子サイズを決定すること、及び
第2の最大パレット表サイズ及び第2の最大パレット予測子サイズに基づいてCUを予測すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、条項35~40の何れか一項に記載の非一時的コンピュータ可読記憶媒体。
42.第2の最大パレット表サイズ又は第2の最大パレット予測子サイズが、ルマ成分又はクロマ成分に関するものである、条項41に記載の非一時的コンピュータ可読記憶媒体。
43.命令セットが、
第1の所定の値となるように、CUに関する第1の最大パレット表サイズを決定すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、条項35に記載の非一時的コンピュータ可読記憶媒体。
44.命令セットが、
第2の所定の値となるように、CUに関する第1の最大パレット予測子サイズを決定すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、条項35又は43に記載の非一時的コンピュータ可読記憶媒体。
45.命令セットが、
ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されることに応答して、
第3の所定の値となるように、CUに関する第3の最大パレット表サイズを決定すること、及び
第3の最大パレット表サイズに基づいてCUを予測すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能であり、
第3の所定の値が、第1の所定の値よりも小さい、条項43又は44に記載の非一時的コンピュータ可読記憶媒体。
46.命令セットが、
ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されること、並びにCUが単一ツリースライスの一部であることに応答して、第1の最大パレット予測子サイズに基づいてCUを予測すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、条項45に記載の非一時的コンピュータ可読記憶媒体。
47.命令セットが、
ルマ成分及びクロマ成分がパレットモードにおいて個別に符号化されること、並びにCUが単一ツリースライスの一部ではないことに応答して、
第4の所定の値となるように、CUに関する第3の最大パレット予測子サイズを決定すること、及び
第3の最大パレット予測子サイズに基づいてCUを予測すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能であり、
第4の所定の値が、第2の所定の値よりも小さい、条項44~46の何れか一項に記載の非一時的コンピュータ可読記憶媒体。
48.命令セットが、
CUを含むピクチャスライスが単一ツリースライスであるか、それともデュアルツリースライスであるかを決定することと、
ピクチャスライスが単一ツリースライスであることに応答して、
ピクチャスライスのスライスヘッダにおいてシグナリングされた第3のシンタックス要素の値に基づいて、ピクチャスライスにおけるCUに関する第1の最大パレット表サイズを決定すること、及び
第3のシンタックス要素の値、及びスライスヘッダにおいてシグナリングされた第4のシンタックス要素の値に基づいて、CUに関する第1の最大パレット予測子サイズを決定することと、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、条項35に記載の非一時的コンピュータ可読記憶媒体。
49.命令セットが、
第3のシンタックス要素の値及び第4のシンタックス要素の値の合計となるように、CUに関する第1の最大パレット予測子サイズを決定すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、条項48に記載の非一時的コンピュータ可読記憶媒体。
50.命令セットが、
ピクチャスライスがデュアルツリースライスであることに応答して、
スライスヘッダにおいてシグナリングされた第5のシンタックス要素の値に基づいて、CUに関する第4の最大パレット表サイズを決定すること、
第5のシンタックス要素の値、及びスライスヘッダにおいてシグナリングされた第6のシンタックス要素の値に基づいて、CUに関する第4の最大パレット予測子サイズを決定すること、及び
第4の最大パレット表サイズ及び第4の最大パレット予測子サイズに基づいて、CUを予測すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、条項48又は49に記載の非一時的コンピュータ可読記憶媒体。
51.命令セットが、
第5のシンタックス要素の値及び第6のシンタックス要素の値の合計となるように、CUに関する第4の最大パレット予測子サイズを決定すること、
を映像処理装置に行わせるために、1つ又は複数の処理デバイスによって実行可能である、条項50に記載の非一時的コンピュータ可読記憶媒体。
【0108】
[00128] 幾つかの実施形態では、命令を含む非一時的コンピュータ可読記憶媒体も提供され、命令は、上記の方法を行うために、デバイス(開示のエンコーダ及びデコーダなど)によって実行されてもよい。非一時的媒体の一般的な形態には、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、又はその他の磁気データ記憶媒体、CD-ROM、その他の光学データ記憶媒体、孔のパターンを有する任意の物理媒体、RAM、PROM、及びEPROM、FLASH(登録商標)-EPROM又はその他のフラッシュメモリ、NVRAM、キャッシュ、レジスタ、その他のメモリチップ又はカートリッジ、並びに上記のネットワーク化バージョンが含まれる。デバイスは、1つ若しくは複数のプロセッサ(CPU)、入出力インタフェース、ネットワークインタフェース、及び/又はメモリを含んでもよい。
【0109】
[00129] 「第1の」及び「第2の」などの本明細書の関係語は、あるエンティティ又は動作を別のエンティティ又は動作と区別するためだけに使用されるものであり、これらのエンティティ又は動作間の実際の関係又は順序を必要とするもの、又は暗示するものではないことに留意されたい。また、「含む(comprising)」、「有する(having)」、「包含する(containing)」、及び「含む(including)」という語、並びに他の類似の形態は、意味が同等であること、及びこれらの語の何れか1つに続く1つ又は複数の項が、そのような1つ若しくは複数の項の網羅的列挙ではない点で、又は列挙された1つ若しくは複数の項のみに限定されない点で、オープンエンド形式であることが意図される。
【0110】
[00130] 本明細書では、特に別段の記載のない限り、「又は」という用語は、実行不可能でない限り、全ての可能な組み合わせを網羅する。例えば、データベースがA又はBを含んでもよいと記述される場合、別段の具体的な記述のない限り、又は実行不可能でない限り、データベースは、A、又はB、又はA及びBを含んでもよい。第2の例として、データベースがA、B、又はCを含んでもよいと記載される場合、特に別段の記載のない限り、又は実行不可能でない限り、データベースは、A、又はB、又はC、又はA及びB、又はA及びC、又はB及びC、又はA及びB及びCを含んでもよい。
【0111】
[00131] 上記の実施形態は、ハードウェア、又はソフトウェア(プログラムコード)、又はハードウェア及びソフトウェアの組み合わせによって実施され得ることが理解される。ソフトウェアによって実施される場合、それは、上記のコンピュータ可読媒体に保存されてもよい。ソフトウェアは、プロセッサによる実行時に、開示の方法を行うことができる。本開示に記載したコンピューティングユニット及び他の機能ユニットは、ハードウェア、又はソフトウェア、又はハードウェア及びソフトウェアの組み合わせによって実装され得る。当業者は、上記のモジュール/ユニットの内の複数が、1つのモジュール/ユニットとして統合され得ること、及び上記のモジュール/ユニットのそれぞれが、複数のサブモジュール/サブユニットにさらに分割され得ることも理解するだろう。
【0112】
[00132] 上述の明細書では、実施態様によって異なり得る多数の具体的詳細に関して、実施形態を説明した。記載した実施形態の特定の適応及び変更が行われ得る。ここに開示した発明の明細書及び実施を考慮して、他の実施形態が当業者には明らかとなり得る。上記明細書及び例は、単なる例示と見なされることが意図され、本発明の真の範囲及び精神は、以下の特許請求の範囲によって示される。また、図面に示されるステップの順序は、単に、説明のためのものであることが意図され、ステップの何れの特定の順序にも限定されることは意図されない。そのため、同じ方法を実施しながら、これらのステップが異なる順序で行われ得ることを当業者は理解できる。
【0113】
[00133] 図面及び明細書では、例示的な実施形態を開示した。しかしながら、これらの実施形態に対して多くの変形形態及び変更形態を作ることができる。したがって、特定の用語が使用されるが、それらは、単に一般的及び説明的な意味で使用されるものであり、限定を意図したものではない。
【国際調査報告】