(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-02
(54)【発明の名称】階層的パレットテーブル生成を利用したパレットモードビデオ符号化
(51)【国際特許分類】
H04N 19/126 20140101AFI20230925BHJP
H04N 19/136 20140101ALI20230925BHJP
H04N 19/176 20140101ALI20230925BHJP
【FI】
H04N19/126
H04N19/136
H04N19/176
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023517654
(86)(22)【出願日】2021-09-23
(85)【翻訳文提出日】2023-04-10
(86)【国際出願番号】 IB2021058691
(87)【国際公開番号】W WO2022064420
(87)【国際公開日】2022-03-31
(32)【優先日】2020-09-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】508301087
【氏名又は名称】エーティーアイ・テクノロジーズ・ユーエルシー
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】ウェイ ガオ
(72)【発明者】
【氏名】ヤン リウ
(72)【発明者】
【氏名】イハブ アメール
(72)【発明者】
【氏名】イン ルオ
(72)【発明者】
【氏名】シュー-シェン サミュエル ウー
(72)【発明者】
【氏名】エドワード ハロルド
(72)【発明者】
【氏名】フェン パン
(72)【発明者】
【氏名】クリスタル ソウ
(72)【発明者】
【氏名】ガボール シネス
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159TA55
5C159TB08
5C159TC26
(57)【要約】
エンコーダ[102]は、画像部分[122]を、その部分をレベルの区分階層に再帰的に区分することによって符号化する。最上位レベルは、部分全体を表す単一のブロックを有し、低いレベルの各々は、高いレベルの対応する大きいブロックを表す4つの小さいブロックを有する。パレットテーブル[124]は、関連付けられたブロックのピクセルに基づいて、各最下位レベルのブロックについて生成される。連続的に高いレベルごとに、エンコーダは、次に最も低いレベルの関連付けられた4つのブロックの4つのパレットテーブルからのパレット色に基づいてパレット色を選択することによって、現在のレベルのブロックごとにパレットテーブルを生成する。次いで、カラーインデックスマップ[126]が、区分階層について生成されたパレットテーブルから選択された最終パレットテーブルに基づいて生成される。次いで、その部分の表現は、最終パレットテーブル及びカラーインデックスマップを使用して符号化され、符号化ビットストリーム[108]の対応するセグメントが生成される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ソースデバイスにおいてスクリーンコンテンツを含む画像を符号化するための方法であって、
前記画像の選択された部分について、前記部分を複数のレベルから構成される区分階層に再帰的に区分することであって、前記区分階層の最上位レベルは、前記部分のピクセルのセット全体を表す単一のブロックを有し、前記最上位レベルより下位の各レベルは、次に高いレベルにおけるピクセルの対応する大きいブロックを表すピクセルの4つの小さいブロックを有する、ことと、
前記区分階層の最下位レベルにおいて、前記最下位レベルの各ブロックに対してパレットテーブルを生成することであって、前記パレットテーブルは、対応するブロックに存在するピクセル色を表すパレット色のセットを含む、ことと、
前記区分階層の連続的に高いレベルごとに、現在のレベルの各ブロックのパレットテーブルを、前記現在のレベルのブロックに対応する次に低いレベルの前記4つのブロックに関連付けられた4つのパレットテーブルからのパレット色に基づいて前記パレットテーブルの前記パレット色を選択することによって生成することと、
前記区分階層の前記複数のレベルに対して生成された前記パレットテーブルから最終パレットテーブルを選択することと、
前記最終パレットテーブルに基づいて、前記画像の前記部分のためのカラーインデックスマップを生成することと、
前記最終パレットテーブル及び前記カラーインデックスマップを使用して前記画像の前記部分の表現を符号化して、前記ソースデバイスが出力するための符号化ビットストリームの対応するセグメントを生成することと、を含む、
方法。
【請求項2】
前記最下位レベルの各ブロックに対してパレットテーブルを生成することは、
前記ブロックのピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、
前記第1のヒストグラムに基づいて、指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、を含む、
請求項1の方法。
【請求項3】
前記区分階層の高いレベルのブロックのパレットを生成することは、
前記高いレベルのブロックに関連付けられた前記4つの低いレベルのブロックの各パレットテーブルのパレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、
前記第2のヒストグラムに基づいて、前記指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、を含む、
請求項2の方法。
【請求項4】
前記区分階層の高いレベルのブロックのパレットテーブルを生成することは、
前記高いレベルのブロックに関連付けられた前記4つの低いレベルのブロックの各パレットテーブルのパレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表すクラスタリングを生成することと、
前記クラスタリングに基づいて、指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、を含む、
請求項1~3の何れかの方法。
【請求項5】
前記最下位レベルのブロックは、P×Pピクセルのブロックサイズを有し、
前記画像の前記部分は、K×Kピクセルのサイズを有し、
前記区分階層のレベルの数Nは、式K=P*2^(N-1)で表される、
請求項1~4の何れかの方法。
【請求項6】
前記最終パレットテーブルを選択することは、
各候補パレットテーブルについて、前記候補パレットテーブルを使用して前記画像の前記部分を符号化するための対応するレート歪みコストを決定することと、
対応するレート歪みコストが最も低い前記候補パレットテーブルを前記最終パレットテーブルとして選択することと、を含む、
請求項1~5の何れかの方法。
【請求項7】
前記画像の前記部分は、コーディングツリーユニットのコーディングユニットである、
請求項1~6の何れかの方法。
【請求項8】
スクリーンコンテンツを含む画像を符号化するためのデバイスであって、
パレットモードエンコーダを備え、
前記パレットモードエンコーダは、
前記画像の選択された部分について、前記部分を複数のレベルから構成される区分階層に再帰的に区分することであって、前記区分階層の最上位レベルは、前記部分のピクセルのセット全体を表す単一のブロックを有し、前記最上位レベルより下位の各レベルは、次に高いレベルにおけるピクセルの対応する大きいブロックを表すピクセルの4つの小さいブロックを有する、ことと、
前記区分階層の最下位レベルにおいて、前記最下位レベルの各ブロックに対してパレットテーブルを生成することであって、前記パレットテーブルは、対応するブロックに存在するピクセル色を表すパレット色のセットを含む、ことと、
前記区分階層の連続的に高いレベルごとに、現在のレベルの各ブロックのパレットテーブルを、前記現在のレベルのブロックに対応する次に低いレベルの前記4つのブロックに関連付けられた4つのパレットテーブルからのパレット色に基づいて前記パレットテーブルの前記パレット色を選択することによって生成することと、
前記区分階層の前記複数のレベルに対して生成された前記パレットテーブルから最終パレットテーブルを選択することと、
前記最終パレットテーブルに基づいて、前記画像の前記部分のためのカラーインデックスマップを生成することと、
前記最終パレットテーブル及び前記カラーインデックスマップを使用して前記画像の前記部分の表現を符号化して、符号化ビットストリームの対応するセグメントを生成することと、
を行うように構成されている、
デバイス。
【請求項9】
前記パレットモードエンコーダは、
前記ブロックのピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、
前記第1のヒストグラムに基づいて、指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、
によって、前記最下位レベルの各ブロックに対してパレットテーブル生成するように構成されている、
請求項8のデバイス。
【請求項10】
前記パレットモードエンコーダは、
前記高いレベルのブロックに関連付けられた前記4つの低いレベルのブロックの各パレットテーブルのパレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、
前記第2のヒストグラムに基づいて、前記指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、
によって、前記区分階層の高いレベルのブロックのパレットテーブルを生成するように構成されている、
請求項9のデバイス。
【請求項11】
前記パレットモードエンコーダは、
前記高いレベルのブロックに関連付けられた前記4つの低いレベルのブロックの各パレットテーブルの前記パレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表すクラスタリングを生成することと、
前記クラスタリングに基づいて、指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、
によって、前記区分階層の高いレベルのブロックのパレットテーブルを生成するように構成されている、
請求項8~10の何れかのデバイス。
【請求項12】
前記パレットモードエンコーダは、
各候補パレットテーブルについて、前記候補パレットテーブルを使用して前記画像の前記部分を符号化するための対応するレート歪みコストを決定することと、
対応するレート歪みコストが最も低い前記候補パレットテーブルを前記最終パレットテーブルとして選択することと、
によって、前記最終パレットテーブルを選択するように構成されている、
請求項8~11の何れかのデバイス。
【請求項13】
前記パレットモードエンコーダは、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサによって実行可能な命令のセットを記憶するためのメモリと、を備える、
請求項8~12の何れかのデバイス。
【請求項14】
ソースデバイスにおいてスクリーンコンテンツを含む画像を符号化するための方法であって、
前記画像の選択された部分の小さい区分のセットのパレットテーブルに対して選択されたパレット色を前記画像の前記部分の大きい区分のための候補色として再帰的に使用することによって、前記画像の前記部分に対する区分階層の複数の区分の各々に対してパレットテーブルを生成することと、
前記画像の前記部分について生成された複数のパレットテーブルから選択されたパレットテーブルに基づいて、前記画像の前記部分についてのカラーインデックスマップを生成することと、
前記選択されたパレットテーブル及び前記カラーインデックスマップを使用して前記画像の前記部分の表現を符号化して、前記ソースデバイスが出力する符号化ビットストリームの対応するセグメントを生成することと、を含む、
方法。
【請求項15】
前記画像の前記部分の最小区分のパレットテーブルを生成することは、
前記最小区分のピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、
前記第1のヒストグラムに基づいて、指定された数のパレットまで前記パレットテーブルにインデックス付けするために選択することと、を含む、
請求項14の方法。
【請求項16】
前記最小区分以外の前記部分の区分のパレットテーブルを生成することは、
関連する次に小さい区分の各パレットテーブルのパレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、
前記第2のヒストグラムに基づいて、前記指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、を含む、
請求項15の方法。
【請求項17】
前記選択されたパレットテーブルは、
各候補パレットテーブルについて、前記候補パレットテーブルを使用して前記画像の前記部分を符号化するための対応するレート歪みコストを決定することと、
対応するレート歪みコストが最も低い前記候補パレットテーブルを前記選択されたパレットテーブルとして選択することと、
によって選択される、
請求項14~16の何れかの方法。
【請求項18】
前記画像の前記部分は、コーディングツリーユニットのコーディングユニットである、
請求項14~17の何れかの方法。
【請求項19】
スクリーンコンテンツを含む画像を符号化するためのデバイスであって、
パレットモードエンコーダを備え、
前記パレットモードエンコーダは、
前記画像の選択された部分の小さい区分のセットのパレットテーブルに対して選択されたパレット色を前記画像の前記部分の大きい区分のための候補色として再帰的に使用することによって、前記画像の前記部分に対する区分階層の複数の区分の各々に対してパレットテーブルを生成することと、
前記画像の前記部分について生成された複数のパレットテーブルから選択されたパレットテーブルに基づいて、前記画像の前記部分についてのカラーインデックスマップを生成することと、
前記選択されたパレットテーブル及び前記カラーインデックスマップを使用して前記画像の前記部分の表現を符号化して、前記デバイスが出力する符号化ビットストリームの対応するセグメントを生成することと、
を行うように構成されている、
デバイス。
【請求項20】
前記パレットモードエンコーダは、
前記最小区分のピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、
前記第1のヒストグラムに基づいて、指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、
によって、前記画像の前記部分の最小区分のパレットテーブルを生成するように構成されている、
請求項19のデバイス。
【請求項21】
前記パレットモードエンコーダは、
関連する次に小さい区分の各パレットテーブルのパレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、
前記第2のヒストグラムに基づいて、前記指定された数のパレットまで前記パレットテーブルにインデックス付けするために選択することと、
によって、前記最小区分以外の前記部分の区分のパレットテーブルを生成するように構成されている、
請求項20のデバイス。
【請求項22】
前記パレットモードエンコーダは、
各候補パレットテーブルについて、前記候補パレットテーブルを使用して前記画像の前記部分を符号化するための対応するレート歪みコストを決定することと、
対応するレート歪みコストが最も低い前記候補パレットテーブルを前記選択されたパレットテーブルとして選択することと、
によって、前記選択されたパレットテーブルを選択するように構成されている、
請求項19~21の何れかのデバイス。
【請求項23】
前記パレットモードエンコーダは、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサによって実行可能な命令のセットを記憶するためのメモリと、を備える、
請求項19~22の何れかのデバイス。
【発明の詳細な説明】
【背景技術】
【0001】
特定のビデオアプリケーションは、リモートデスクトップ共有、クラウドコンピューティングのための仮想デスクトップインフラストラクチャ、及び、クラウドゲーミングアプリケーション等の「スクリーンコンテンツ」(すなわち、コンピュータ生成画像コンテンツ)の送信を伴う。そのようなスクリーンコンテンツは、それ自体で送信されるか、又は、スクリーンコンテンツとカメラでキャプチャされたビデオコンテンツとの組み合わせを表すハイブリッドコンテンツとして送信される。しかしながら、カメラでキャプチャされたビデオコンテンツとは異なり、スクリーンコンテンツ、特に「デスクトップ」スクリーンコンテンツは、通常、比較的少ないノイズで鋭いエッジを提示するテキスト及び他のコンピュータ生成グラフィックスが豊富である。更に、スクリーンコンテンツは、一般に、画像の局所領域内でより少ない数の異なる色を示す。
【0002】
いくつかのビデオ符号化規格は、スクリーンコンテンツのより効率的な符号化を提供するために、カメラでキャプチャされたビデオと比較して、スクリーンコンテンツによって一般に示される比較的少数の色及び比較的高いコントラストを活用するように拡張されている。例えば、ITU-T High-Efficiency Video Coding(HEVC)規格は、パレット色選択と、それに続くパレット色選択に基づくカラーインデックスマップの生成と、を伴うパレットモードを実装するスクリーンコンテンツコーディング(Screen Content Coding、SCC)拡張を提供する。このプロセスでは、符号化されているスクリーンコンテンツを含む画像の各部分に対して(すなわち、各コーディングユニット(coding unit)に対して)、エンコーダは、その部分に見出されるいくつかの最上位数の代表色(例えば、最上位8色)を識別し、識別された代表色の各々をインデックス付けする(すなわち、それにインデックスをマッピングする)パレットテーブルを生成する。次いで、エンコーダは、画像の部分内の各ピクセルを、そのピクセルの色に最も厳密に一致するパレットテーブルからのパレット色の対応するインデックス値で置き換えて、符号化されている画像部分についての対応するカラーインデックスマップを生成する。次いで、パレットテーブル及びカラーインデックスマップは、識別されたパレット色の何れかと過度に異なる画像部分からのピクセル(これらのピクセルは「エスケープ」ピクセルと呼ばれる)に関する情報と共に符号化され、符号化ビットストリームの対応するセグメントが生成され、次いで、これは、宛先デバイスに送信される。次いで、宛先デバイスは、ビットストリームを復号して、復号されたブロックのためのパレットテーブル及びカラーインデックスマップを取得し、これらの値及び任意の関連する復号された残差から、元のブロックを不可逆的又は可逆的に復元する。Alliance for Open Media Video 1(AV1)コーディング規格は、同様のパレットモード実施形態を提供する。
【0003】
符号化される所定の画像部分のためのパレットテーブルを生成するための従来のプロセスは、画像部分全体のピクセル色の全ての単一のヒストグラムを生成し、次いで、このヒストグラムからパレットテーブルの代表色を選択することを伴う。コンパクトなビットストリームを提供する一方で、このパレットテーブル生成プロセスは、計算集約的であり、したがって、シリコン面積、スループット及び電力消費に関してかなりのハードウェアリソースを必要とする。例示のために、上記で説明したHEVC-SCC規格は、それぞれ最大128×128ピクセルのコーディングユニットサイズを提供し、これは、符号化される画像のそのようなコーディングユニットごとに、従来のパレットテーブル生成プロセスを実装するエンコーダが、128×128コーディングユニットごとに対応するヒストグラムを生成するために16,384ピクセルを処理する必要があるはずであり、そのヒストグラムは、画像の解像度に応じて任意の所定の画像中に数百又は数千もあることを意味する。このプロセスは、符号化システムが、HEVC規格及び他の同様の符号化規格の典型的な8×8、16×16、32×32、64×64及び128×128コーディングユニット区分のうち何れか又は全てに基づいてスクリーンコンテンツビデオの符号化をサポートできること等のように、複数の符号化区分を同時にサポートするように構成されている場合に、更に複雑になる。
【0004】
本開示は、添付の図面を参照することによってより良好に理解され、その多くの特徴及び利点が当業者に明らかになる。異なる図面における同じ符号の使用は、類似又は同一のアイテムを示す。
【図面の簡単な説明】
【0005】
【
図1】いくつかの実施形態による、スクリーンコンテンツを含むビデオのパレットモード符号化のために階層的パレットテーブル生成を利用するパレットモードエンコーダを有するソースデバイスのブロック図である。
【
図2】いくつかの実施形態による、
図1のパレットモードエンコーダによって実装される階層的パレットテーブル生成を使用するパレットモード符号化プロセスを示すフロー図である。
【
図3】いくつかの実施形態による、階層の異なるレベルにおけるピクセルのブロックのセットへのコーディングユニットの例示的な再帰的階層区分を示す図である。
【
図4-1】いくつかの実施形態による、
図3のコーディングユニットの例示的な再帰的区分を使用する
図2の方法の例示的な実施形態を示すブロック図である。
【
図4-2】いくつかの実施形態による、
図3のコーディングユニットの例示的な再帰的区分を使用する
図2の方法の例示的な実施形態を示すブロック図である。
【発明を実施するための形態】
【0006】
CUで表される全てのピクセルのヒストグラム分析又は他のクラスタリングに基づくパレットモード符号化におけるコーディングユニット(coding unit、CU)のためのパレットテーブル生成の典型的な手法は、特に、より大きいCU区分、又は、複数の同時CU区分をサポートするエンコーダの場合に、計算量的に法外であることが多い。十分な色再現精度を保持しながら計算の複雑さを低減するために、本明細書で説明するシステム及び方法は、パレットモードで符号化される、選択されたCUのための1つ以上の選択された区分サイズの各々のためのパレットテーブルを効率的に生成するために、階層的パレットテーブル生成プロセスを利用する。この手法では、選択されたCUは、区分階層の異なるレベルで再帰的に区分される。最上位レベルでは、K×Kピクセルの選択されたCUは、K×Kピクセルの単一のブロックによって表される。最上位レベルより下の連続する各レベルは、次に高いレベルにおける対応するより大きいピクセルブロックを表す4つのより小さいピクセルブロックを有する。区分階層の最下位レベルでは、エンコーダは、最下位レベルにおける各ブロックのためのパレットテーブルを生成する。これらのパレットテーブルの各々は、対応するブロック内に存在するピクセル色を表すパレット色のセットを含み、少なくとも1つの実施形態では、ブロック内に存在するピクセル色のヒストグラム分析を介して、k平均を介して又は様々な他のクラスタリング方法の何れかを介して選択される。その後、区分階層内の連続してより高いレベルごとに、エンコーダは、現在のレベルにおける各ブロックのためのパレットテーブルを、現在のレベルにおけるブロックに対応する次に低いレベルにおける4つのブロックに関連付けられた4つのパレットテーブルからのパレット色に基づいて、パレットテーブルのためのパレット色を選択することによって生成する。これは、4つのパレットテーブルのパレット色のヒストグラム収集又は他のクラスタリングを介して実行され得る。次いで、最上レベルでは、次に最も高いレベルの4つのパレットテーブルからこのレベルで単一のパレットテーブルが生成され、エンコーダは、これを使用して、選択されたCUのためのカラーインデックスマップを生成する。次いで、エンコーダは、最終パレットテーブル及びカラーインデックスマップを使用してCUの表現を符号化して、符号化ビットストリームの対応するセグメントを生成する。
【0007】
例示的な32×32コーディングユニット区分(すなわち、K=32)及び8×8ピクセルの最小ブロックサイズを使用して示すために、次いで、CUは、最上位レベルにおける最上位ブロックとして指定され、次に最も高いレベルについて、最上位ブロックは、各々が16×16ピクセルの4つの第2のレベルのブロックになり、次いで、これらのブロックの各々は、各々が8×8ピクセルの4つの第3のレベルのブロックに区分される。最低レベル又は最下位レベル(この例では第3のレベル)から開始して、エンコーダは、ヒストグラム分析、k平均分析又は他の統計的分析を使用して、このレベルにおけるブロックの各々のための初期パレットテーブルを生成し、最下位レベルのための4つのパレットテーブルをもたらす。参照を容易にするために、ヒストグラム収集(ヒストグラム分析としても識別される)を利用する例示的な実施形態が本明細書で説明されるが、ヒストグラム収集/分析への言及は、別段の記載がない限り、様々なクラスタリング方法又はk平均分析等の他の統計的方法の何れかへの言及を含むものとすることが理解されよう。2番目に最も低い区分階層レベルにおいて、エンコーダは、2番目に最も低いレベルにおけるブロックを一緒に形成する最下位レベルにおける4つの構成ブロックの4つのパレットテーブルにおいて表されるパレット色から候補色のセットを識別する。エンコーダは、候補色のこのセットの統計的分析を通して、2番目に最も低いレベルにおけるブロックのための中間パレットテーブルを決定する。このプロセスは、2番目に最も低いレベルにおける3つの他のブロックの各々に対して繰り返され、2番目に最も低いレベルに対して生成された4つの中間パレットテーブルがもたらされる。次いで、最上位レベルにおいて、エンコーダは、最上位レベルにおいて単一のブロックを一緒に形成する2番目に最も低いレベルにおける4つの構成ブロックの4つのパレットテーブルにおいて表されるパレット色から候補色のセットを識別する。エンコーダは、候補色のこのセットの統計的分析を通して、(CU全体を表す)このブロックのためのパレットテーブルを決定する。エンコーダは、次いで、各区分階層レベルについて、そのレベルにおける対応するパレットテーブルを使用してCUを符号化するためのレート歪みコストを推定する。次いで、最低レート歪みコストを必要とするパレットテーブルは、CUのための「最終」パレットテーブルとして指定され、次いで、エンコーダは、最終パレットテーブルを使用して、選択されたK×Kコーディングユニットのためのカラーインデックスマップを生成し、カラーインデックスマップ、最終パレットテーブル、及び、存在する任意のエスケープピクセルのための任意の量子化された残差を符号化して、符号化ビットストリームの対応する部分を生成し、符号化ビットストリームは、次いで、後のアクセスのために記憶されるか又は宛先デバイスに送信され、その後、宛先デバイスにおけるデコーダは、ビットストリームを復号して、コーディングユニットのための符号化されたパレットテーブル、カラーインデックスマップ、及び、量子化された残差を復元し、復元されたパレットテーブル、カラーインデックスマップ、及び、残差を使用して、元のCU又はその不可逆的表現を復元する。
【0008】
次に低いレベルにおける構成ブロックのために生成されたパレットテーブルから各レベルにおけるピクセルのブロックのためのパレットテーブルを決定するためのこの階層的及び再帰的区分プロセスは、より低いレベルにおけるパレット色選択プロセスの、より高いレベルにおけるパレット色選択プロセスへの統合を通じて考慮される色の数の低減を通して、効率的なパレットテーブル生成を提供する。例示のために、64×64CUのためのパレットテーブルを生成するための従来のプロセスは、エンコーダが、例えば、8つの代表色のパレットテーブルに達するために、CU中の4,096個のピクセルの各々をソートし、カウントすることが必要になるはずである。しかしながら、本明細書で説明する階層的パレット色選択プロセスの下では、ピクセルの小さいサブセットのみが、最低レベルにおいて比較的小さいブロックごとにソート及びカウントされ、次いで、1つのレベルにおける各ブロックの代表色の小さいサブセットのみが、次に最も高いレベルにおける対応するブロックについて考慮され、所定のサイズのCUのための最終パレットテーブルに達するためのより少ない全体的な動作、したがって、CUのためのパレットテーブルを生成するためのより効率的なプロセスがもたらされる一方で、CUの個別の区分サイズのために使用され得る区分階層の各レベルにおける別個のパレットテーブルの生成も可能になる。
【0009】
図1は、いくつかの実施形態による、階層的及び再帰的に生成されたパレットテーブルを利用するパレットモード符号化プロセスを採用する符号化システム102を有するソースデバイス100を示している。ソースデバイス100は、スクリーンコンテンツを含むビデオストリームを符号化するように構成された様々なデバイスの何れかを含むことができ、サーバ、パーソナルコンピュータ、タブレットコンピュータ、携帯電話、又は、ディスプレイデバイスへの送信若しくはディスプレイデバイスにおける記憶のためにスクリーンコンテンツを生成する様々なアプリケーションの何れかをサポートする他の計算対応モバイルデバイスを含む。そのようなサービスとしては、例えば、リモートデスクトップサービス、ワイヤレスディスプレイサービス、スクリーン共有/コラボレーションサービス、クラウドゲーミングサービス等が挙げられる。ソースデバイス100は、ビデオソース104及び符号化システム102、並びに、1つ以上のワイヤレス又はワイヤードネットワークインターフェース、入力/出力(input/output、I/O)デバイス及びそれらのコントローラ、1つ以上のプロセッサ、メモリ及び他の記憶構成要素等を含む、説明を容易にするために
図1から省略された様々な他の構成要素を含む。ビデオソース104は、符号化システム102によって対応するビットストリーム108に符号化するための一連の画像106(一般に「ピクチャ」又は「フレーム」とも呼ばれる)から構成されるビデオストリームを生成するか又は他の方法で提供するように動作し、このビットストリームは、ネットワークインターフェース(図示省略)を介して宛先デバイスに送信するために提供されるか、又は、さもなければ、後続のアクセスに利用可能であるようにローカル若しくはネットワーク化記憶デバイス(図示省略)に記憶するため等のように、出力のために提供される。ビデオソース104は、例えば、各画像106に含まれるコンテンツの一部又は全部をレンダリングするように動作するグラフィックス処理ユニット(graphics processing unit、GPU)、スクリーンコンテンツ又は他の画像コンテンツを表す、以前に符号化されたビデオデータを復号するデコーダ等を含むことができる。
【0010】
少なくとも1つの実施形態では、ビデオソース104からのストリームに含まれる画像106のうち一部又は全部は、部分的又は完全にコンピュータ生成スクリーンコンテンツから構成され、コンピュータ生成スクリーンコンテンツは、典型的には、カメラでキャプチャされたビデオ画像と比較して、局所領域においてより鮮明なコントラスト及びより少ない色を呈する。したがって、符号化システム102は、スクリーンコンテンツを含むものとして個々に又は対応するストリームの一部として識別されたこれらの画像106のパレットベース符号化(又は「パレットモード」符号化)を提供するように構成されている。この目的のために、符号化システム102は、階層的パレットテーブル生成器110(以下、簡潔にするために「パレットテーブル生成器110」)と、カラーインデックスマップ生成器112と、残差生成器114と、離散コサイン変換(discrete cosign transform、DCT)量子化器116と、エントロピーエンコーダ118と、を含む。構成要素110、112、114、116、118のうち一部又は全部は、システムメモリ又は別の非一時的なコンピュータ可読記憶媒体に記憶され、本明細書で説明するプロセスを実行するために1つ以上のプロセッサを操作するように構成されたソフトウェア命令を実行する1つ以上のプロセッサとしてソースデバイス100において実装され得る。他の実施形態では、構成要素110、112、114、116、118のうち一部又は全部は、ハードコード論理(例えば、特定用途向け集積回路又はASIC)、プログラマブル論理(例えば、プログラマブル論理アレイ)又はそれらの組み合わせで実装される。また更に、いくつかの実施形態では、構成要素110、112、114、116、118のうち一部又は全部は、ソフトウェアを実行する1つ以上のプロセッサと、ハードコードされた論理又はプログラマブル論理と、の組み合わせで実装される。
【0011】
図2は、いくつかの実施形態による、階層的及び再帰的パレットテーブル生成プロセスを使用したスクリーンコンテンツを含む画像のパレットモード符号化のための符号化システム102の動作の方法200を示している。説明を容易にするために、以下の方法200を説明する際に、
図3によって示されるCUの例示的な階層区分と、
図4-1及び
図4-2によって示される方法200の例示的な実施形態と、が参照される。
【0012】
方法200は、ブロック202で開始し、符号化システム102は、画像106のストリームの一部としてビデオソース104から画像106を受信する。例えば、いくつかの実施形態では、各画像106は、ビデオソース104によって生成されるか又は他の方法で取得される場合に、ソースデバイス100のフレームバッファ(図示省略)にバッファリングされる。以下では、受信された画像106は、パレットモード符号化から利益を得るのに十分なスクリーンコンテンツを含むと仮定する。例示のために、いくつかの実施形態では、パレットモードがCUごとに利用され、符号化システム102は、他の予測モードのレート歪みコストと比較してパレットモードを使用して現在のCUを符号化するレート歪みコストを計算し、現在のCUが符号化オプションの最低レート歪みコストを表す場合に、そのCUのためのパレットモード符号化を利用する。そうではなく、パレットモードが画像106に対して示されない場合に、画像106は、HEVCによって公表されたもの等のように、適切な従来の符号化技術を使用して符号化される。
【0013】
更にブロック202において、符号化システム102は、画像106によって表されるピクセルのJ×Kアレイを、
図1のCU122-1及び122-2等の二次元コーディングユニット(CU)122のアレイ120(
図1)に論理的に区分する。ITU-T Rec.H.264規格で見出されるもの等の特定の実施形態では、CUは全て同じサイズである(CUは通常、代わりに「マクロブロック」と呼ばれる)。ITU-T Rec.H.265 HEVC規格で見出されるもの等の他の実施形態では、画像を複数のコーディングツリーユニット(coding tree unit、CTU)に区分することができ、各CTUは、異なるサイズの複数のCUに更に区分される。説明を容易にするために、画像106のためのアレイ120のCU122は、同じサイズのものとして示されているが、他の実施形態では、アレイ120は、前述のCTU構成等のように、異なるサイズのCU122から構成され得る。
【0014】
ブロック204において、符号化システム102は、符号化される画像106のCU122(例えば、
図1のCU122-1)を選択する。HEVC規格等の様々な規格に従って、画像106は、最初に複数のスライスに区分され、次いで、各スライスは複数のCTUに区分され、次いで、各CTUは複数のCUに区分され、次いで、スライス-CTU-CUの選択が、定義された順序で進められ得る。CU122が選択されると、ブロック206において、パレットテーブル生成器110は、再帰的及び階層的パレットテーブル生成プロセスを利用し、このプロセスにおいて、CU122は、最低区分レベルにおいて最小ブロックサイズに達するまで、区分階層の各区分レベルにおいて、段々とより小さくなるサイズの連続するピクセルブロックにトップダウン手法で再帰的に区分される。次いで、ボトムアップ手法を使用して、パレットテーブル生成器110は、最低区分レベルにおける各ブロックのピクセルについてヒストグラム収集又は他のクラスタリングを実行して、各最低レベルブロックについての対応するパレットテーブル内のパレット色として含めるための候補色のセットを決定する。2番目に最も低い区分レベルでは、2番目に最も低いレベルのブロックによって表される複数の最低レベルブロックの各々のパレットテーブルからのパレット色は、2番目に最も低いレベルのブロックのための候補色として働き、したがって、パレットテーブル生成器110は、2番目に最も低いレベルにおけるブロックのためのパレットテーブルに含めるための色を識別するために、これらの候補色に対してヒストグラム収集又は他のクラスタリングを実行する。この処理は、2番目に最も低いレベルのブロックごとに実行される。次に低いレベルにおける各構成ブロックに対して生成された各パレットテーブルのパレット色を、次に高いレベルの対応するブロックのパレットテーブルに対する選択のための候補色として使用するプロセスは、(CU122全体を表す)区分階層の最上位レベルまで繰り返され、その時点で、パレットテーブル生成器110は、区分階層の2番目に最も高いレベルにおいて生成されたパレットテーブルのパレット色のヒストグラム収集又は他のクラスタリングを通して、最上位レベルのためのパレットテーブルを生成する。すなわち、パレットテーブル生成器110は、より小さい区分のパレットテーブルを再帰的且つ階層的に統合することによって、CU122のより大きい区分のための中間パレットテーブルを生成する。これにより、パレットテーブルを生成するために1つのブロックとしてCU122のピクセル全体を徹底的にソート及び処理する計算集約的な従来のプロセスが回避される。各区分レベル(例えば、8×8ピクセル、16×16ピクセル、32×32ピクセル、64×64ピクセル、128×128ピクセル等)について生成された候補パレットテーブルを用いて、パレットテーブル生成器110又は符号化システム102の他の構成要素は、次いで、対応する候補パレットテーブルを使用してCU122を符号化するためのレート歪みコストを計算し、この計算は候補パレットテーブルごとに実行される。次いで、符号化システム102は、「最終」パレットテーブル124として、CU122を符号化するための最低レート歪みコストを表す候補パレットテーブルを選択する。ブロック206において符号化システム102によって採用される階層的パレットテーブル生成及び選択プロセスの例示的な実施形態について、
図2の拡大されたプロセスフロー207を参照しながら以下でより詳細に説明する。
【0015】
この階層的及び再帰的パレットテーブル生成及び選択手法を使用して決定されたCU122のための最終パレットテーブル124を用いて、ブロック208において、カラーインデックスマップ生成器112は、CU122の元のピクセルの各々とパレットテーブル124内で表されるパレット色との比較に基づく予測を実行して、CU122のピクセルを表し、且つ、最終パレットテーブル124にインデックス付けされたカラーインデックスマップ126を生成する。最終パレットテーブル124からカラーインデックスマップ126を生成するために、様々な標準の又は独自の技術の何れかを使用することができる。例示のために、当技術分野で理解されるように、最終パレットテーブル124等のパレットテーブルは、複数のエントリを含み、各エントリは、関連付けられたインデックス値と、対応するピクセルブロックのカラー値のヒストグラム収集又は他のクラスタリングにおいて識別された候補色から選択された対応するパレット色と、を有する。各パレット色は、例えば、3つの色成分(RGB又はYCbCr)から構成される。したがって、カラーインデックスマップ126を生成するために、CU122の各ピクセルについて、カラーインデックスマップ生成器は、最小歪みを有する対応するパレット色について最終パレットテーブル124を探索し、ピクセル色を、カラーインデックスマップ126の対応する位置エントリ内の選択されたパレット番号に関連付けられたインデックス番号で置き換える。例示のために、CU122-1の(1,1)(すなわち、行1、列1)におけるピクセルは、例えば、最終パレットテーブル124のインデックス1において見つけられるパレット色(R150,B50,G75)に最も近い色を有すると仮定する。この場合、カラーインデックスマップ生成器112は、「1」のインデックス値をカラーインデックスマップ126の(1,1)エントリに配置して、ピクセル(1,1)の色が最終パレットテーブル124のインデックス1に見出されるパレット色に最もよく似ていることを表すであろう。
【0016】
更に、いくつかの可逆的符号化の実施形態では、カラーインデックスマップ生成器112によって実行される予測は、パレット色に十分に類似していなかった1つ以上のピクセルを識別し、したがって、そのようなピクセルを表すために、最終パレットテーブル124内の個別のインデックスと、カラーインデックスマップ126内の対応する識別エントリとの追加を必要とし、そのようなピクセルは、通常、「エスケープピクセル」と呼ばれ、したがって、それらの対応するインデックスは、「エスケープ」インデックスと呼ばれる。不可逆的符号化の実施形態では、エスケープピクセルは、しばしば、何れの手法がより良好なレート歪みトレードオフを与えるかに応じて、代わりにパレット色のうち1つとしてコーディングされるか、又は、量子化後に明示的にシグナリングされる。
【0017】
ブロック208のカラーインデックスマップ生成プロセスと同時に、ブロック210において、残差生成器114は、元のピクセル色をそれらの選択されたパレット色と比較して、差を表す残差を生成する。次に、これらの残差はDCT量子化器116によって量子化され、量子化されたDCT係数が生成される。ブロック212において、エントロピーエンコーダ118は、選択されたCU122のために、パレットテーブル124、カラーインデックスマップ126及び量子化されたDCT係数を符号化して、ビットストリーム108の対応するセグメントに符号化する。
【0018】
ブロック204~212によって表される、符号化される画像106から次のCU122を選択するプロセスは、パレットモード符号化される画像106の各CU122について繰り返される。全てのそのようなCUが符号化された後に、方法200の別の反復が繰り返され、ブロック202で開始して、ビデオストリーム内の次の画像106の受信が、送信又は記憶のために符号化される。
【0019】
符号化ビットストリーム108の後続の復号に関して、HEVC-SCCによって提供されるプロセス等のように、ビットストリーム108がどのように符号化されたかに一致する、様々な標準の又は独自のパレットモード復号プロセスの何れかが採用され得る。そのようなプロセスは、典型的には、符号化されたCUを表すビットストリーム108の各セグメントについて、パレットモードデコーダが、パレットテーブル124、カラーインデックスマップ126及びCUを表す量子化されたDCT係数を復元するためにセグメントを復号することを伴う。量子化されたDCT係数は、残差の不可逆的又は可逆的表現を取得するために逆量子化され、復元されたパレットテーブル124及びカラーインデックスマップは、元のCU122によって表されるピクセルのアレイ、又は、その不可逆的表現を復元するために、残差と共に使用される。
【0020】
上記のように、ブロック206のプロセスは、区分階層のより高いレベルにおける中間パレットテーブルを生成するために区分階層のより低いレベルのために生成された中間パレットテーブルを効率的に統合する階層的及び再帰的プロセスを使用して最終パレットテーブル124の生成を提供し、これらの候補パレットテーブルから、CU122を符号化する際に使用するための最低レート歪みコストを表す最終パレットテーブル124の選択を提供する。拡大されたプロセスフロー207は、
図3に表される例示的な階層区分、並びに、
図4-1及び
図4-2に表されるようなこのプロセスの例示的な実行を参照して、このプロセスの例示的な実施形態を示す。
【0021】
ブロック206のプロセスはブロック220で開始し、ブロック204で選択されたCU122は、最低レベル(又は最下位レベル)、最高レベル(又は最上位レベル)、及び、区分階層の深さが2レベルを超える場合には最低レベルと最高レベルとの間の1つ以上の中間レベルから構成される区分階層に再帰的に区分される。最上位レベルは、CU122のピクセルアレイ全体を単一の最上位レベルブロックとして表す。区分階層の連続してより低いレベルごとに、階層的パレットテーブル生成器110は、最低レベルにおいてP×Pピクセルの最小ブロックサイズに達するまで、次に高いレベルにおける各ブロックを4つのブロックの関連するセットに区分し、ここで、Pは、1より大きい整数を表し、多くの実施形態では、採用されている符号化規格によってサポートされる最小CUサイズである。例えば、HEVCがCTU内で8×8ピクセルの最小CUを提供するように、最小ブロックサイズが8に設定されるであろう。したがって、K×KピクセルのCU122のための区分階層内のレベルの数Nは、以下の式の関係に基づいて設定される。
K=P*2(N-1)
したがって、最小ブロックサイズが8×8ピクセル(P=8)であり、CU122が16×16ピクセル(K=16)である場合、ただ2つの区分レベル(N=2)、すなわち、最上位レベル及び最下位レベルが存在することになる。最小ブロックサイズが8×8ピクセル(P=8)であり、CU122が128×128ピクセルである場合、5つの区分レベル(N=5)、すなわち、最上位レベル、最下位レベル、及び、それらの間の3つの中間レベルが存在することになる。
【0022】
例示のために、この再帰的区分の例を
図3に示す。図示した例示的な区分階層300では、64×64ピクセルCUは、8×8ピクセルの最小ブロックサイズに達するまで再帰的に区分される。したがって、例示的な区分階層300は、4つの区分層を有する(64=8
*2^(4-1)→N=4)。CUの64×64ピクセルアレイ全体は、区分階層の最上位レベル(レベル1)における単一のブロック(BLK64)であると見なされる。第1の中間レベル(レベル2)では、CUの64×64ピクセルは、4つの32×32ブロックの対応するセット、BLK[32,0]~BLK[32,3]に区分される。第2の中間レベル(レベル3)では、第1の中間レベルにおける32×32ブロックの各々は、4つの16×16ブロックの対応するセットに区分され、第2の中間レベルにおけるブロックBLK[16,0]~BLK[16,15]がもたらされる。図示したように、第1の中間レベル(レベル2)におけるブロックBLK[32,0]は、ブロックBLK[16,0]、BLK[16,1]、BLK[16,2]、BLK[16,3]の対応するセットに区分される。同様に、第1の中間レベル(レベル2)におけるブロックBLK[32,1]は、ブロックBLK[16,4]、BLK[16,5]、BLK[16,6]、BLK[16,7]等に区分される。区分階層300の最下位レベル(レベル4)では、第2の中間ブロックにおける各16×16ブロックは、4つの8×8ブロックの対応するセットに区分され、ブロックBLK[8,0]~BLK[8,63]がもたらされる。図示したように、第2の中間レベルにおけるBLK[16,0]は、ブロックBLK[8,0]~BLK[8,3]のセットに区分される。BLK[16,1]は、同様に、ブロックBLK[8,4]~BLK[8,7]のセットに区分され、以下同様である。
【0023】
図2に戻ると、CU122が、非最下位レベルの各ブロックが次に低いレベルの4つのより小さいブロックによって表されるように、区分階層の最上位レベルから最下位レベルへとサイズが減少するピクセルブロックに再帰的に区分された状態で、ブロック222において、パレットテーブル生成器110は、処理されている現在のレベルを区分階層の最下位レベルに設定し、区分階層の最低レベルの各ブロックについて個別のパレットテーブルを生成する。少なくとも1つの実施形態では、最低レベルにおける各ブロックに対するパレット生成プロセスは、ピクセル色のビニングに基づいて各ブロック内のピクセルに対してヒストグラム収集を実行して、ブロックのピクセル内に存在するピクセル色の対応するヒストグラムを生成することと、次いで、対応するパレットテーブルのパレット色として、対応するビンのサイズ(すなわち、各ビン内に入るピクセル色の数)に基づいて存在するピクセル色のX個のサブセットを選択することと、を含む。値Xは、選択可能又はさもなければプログラム可能であり、概して、最小ブロックサイズ、符号化効率、符号化ビットレート等を含む様々なパラメータに基づいて選択される。例えば、パレットテーブルは、しばしば、16個以下のパレット色に制限され、8又は16(すなわち、X=8又はX=16)が頻繁な構成である。したがって、
図3の例示的な区分階層300では、パレットテーブル生成器110は、最下位レベル(レベル4)における64個の8×8ピクセルブロックの各々に対してヒストグラム分析のために利用されるソート及び他の動作を別々に実行して、64個の別々のヒストグラムを生成し、これらの64個の別々のヒストグラムから64個の別々のパレットテーブルを生成し、各パレットテーブルは、例えば、最大16個のインデックス付きパレット色を含む。
【0024】
その後、ブロック224において、パレットテーブル生成器110は、1レベル上に移動する(すなわち、処理されている現在のレベルが、次に高いレベルに設定される)。ブロック226において、パレットテーブル生成器110は、指定された選択順序(例えば、水平走査又は垂直走査)に基づいて、処理されている現在のレベルのブロックを選択する。ブロック228において、パレットテーブル生成器110は、現在のレベルの選択されたブロックに対応する、前の(又はより低い)レベルにおけるブロックのセットのために生成されたパレットテーブルのパレット色から、現在のレベルにおける選択されたブロックのためのパレットテーブルを生成する。少なくとも1つの実施形態では、現在のレベルにおける選択されたブロックのためのパレットテーブルは、より低いレベルのブロックのパレット色を候補パレット色のセットに組み合わせることと、次いで、候補パレット色のこのセットのヒストグラム収集を実行して、最も頻繁に発生するパレット色を有するX個のヒストグラムビンを識別することと、識別されたX個のヒストグラムビンに基づいてX個のパレット色を含むように現在のレベルにおける選択されたブロックのためのパレットテーブルを生成することと、によって、より低いレベルのブロックの対応するセットのパレットテーブルから生成される。(最低の中間レベルに対する)ブロック228の第1の反復では、これは、ブロック222において生成された4つの最低レベルブロックに対してパレットテーブルにおいて実装されたパレット色を使用することを伴う。(より高い中間レベル又は最上位レベルに対する)後続の反復では、これは、ブロック228の前の反復において生成された4つの次に低いレベルのブロックのためのパレットテーブルにおいて実装されたパレット色を使用することを伴う。したがって、現在のレベルにおいて選択されたブロックによって表されるCUのピクセルの全てに対してヒストグラム収集を実行するのではなく、ヒストグラム収集は、代わりに、より低いレベルのブロックのパレットテーブルのパレット色に対してのみ実行され、より低いレベルのブロックのパレットテーブルは、区分階層のより高いレベルにおいて、更により低いレベルのブロックのパレットテーブルのパレット色を統合することが理解されよう。したがって、従来の全ピクセルヒストグラム分析手法と比較して、この再帰的手法を使用して、ピクセルのJ×Jブロックのためのヒストグラム、したがってパレットテーブルを生成するために必要とされる動作は、著しく少ない。
【0025】
現在のレベルにおける選択されたブロックのためのパレットテーブルが生成されると、ブロック230において、パレットテーブル生成器110は、現在のレベルにおける各ブロックのための個別のパレットテーブルが生成されたかどうかを決定する。生成されていない場合、ブロック226、228、230のブロック選択及びブロックごとのパレットテーブル生成プロセスの別の反復が、現在の区分レベルにおけるCUの次のブロックに対して実行される。そうではなく、現在の区分レベルにおける全てのブロックがそれらのために生成されたパレットテーブルを有する場合、ブロック232において、パレットテーブル生成器110は、より高い区分レベルが残っているかどうか、すなわち、現在のレベルが区分階層の最上位レベルであるかどうかを決定する。階層の最上位レベルでない場合、パレットテーブル生成器110は、ブロック224に戻り、処理されている現在のレベルを区分階層内の次に高いレベルに設定し、次いで、処理されている現在のレベルについて、ブロック226~332のブロック選択及びブロックごとのパレットテーブル生成プロセスの別の反復を設定する。
【0026】
そうではなく、パレットテーブル生成器110が、符号化されているCU122のための区分階層を上昇しており、階層の最上位レベルである場合、ブロック234において、符号化システム102は、区分階層の各レベルにおいて生成されたパレットテーブルを候補パレットテーブルとして指定し、次いで、候補パレットテーブルの各々についてCUを符号化するためのレート歪みコストを計算する。CU122を符号化するために最低レート歪みコストを必要とする候補パレットテーブルは、CU122のための最終パレットテーブル124として指定され、次いで、最終パレットテーブル124は、ブロック208を参照しながら上記で説明したように、CU122のための対応するカラーインデックスマップ126を生成するためにカラーインデックスマップ生成器112によって使用される。
【0027】
次に、
図4-1及び
図4-2を参照すると、
図3に示すような64×64CUの例示的な区分階層300を使用する
図2の方法200の例示的な実施形態が示されている。この例では、各パレットテーブルは、最大16個のパレット色(すなわち、X=16)を含む。64×64ピクセルCUの場合、最低区分レベル(レベル4)は、次に最も高いレベル(レベル3)の各16×16ブロックについて4つの8×8ブロックのセットを生成する。各8×8ブロックは、候補ピクセル色の対応するヒストグラムを生成するために統計的に分析され、ヒストグラムは、8×8ブロック内で最も頻繁に発生するピクセル色の最大16個を、そのブロックのパレットテーブル内でインデックス付けされるパレット色として識別するために使用される。例示のために、
図4-1は、ブロックBLK[8,0]、BLK[8,1]、BLK[8,2]、BLK[8,3]についてそれぞれ収集されているヒストグラム401-0、401-1、401-2、401-3を示す。パレットテーブル生成器110は、それぞれヒストグラム401-0、401-1、401-2、401-3に基づいてそれぞれ選択された最大16個のパレット色を有するパレットテーブル402-0、402-1、402-2、401-3を生成する。この同じプロセスは、4つの8×8ブロックの他の15個のセットの各々に対して実行され、その結果、区分階層300の最下位レベル(レベル5)において64個の8×8ブロック(BLK[8,0]~BLK[8,63])から合計64個のパレットテーブルが生成される。
【0028】
次いで、区分階層300の最低の中間レベル(レベル3)において、パレットテーブル生成器110は、第2のレベルのブロックに対応する最下位レベルにおける4つの8×8ブロックについて生成された4つの区分テーブルの統合を通じて、16個の16×16ブロック(BLK[16,0]~BLK[16,15])の各々について区分テーブルを生成する。例示のために、
図4-1では、パレットテーブル402-0~402-3の各々のインデックス付けされたパレット色は、最大64個の候補色のセット403(すなわち、最下位レベルパレットテーブル当たり最大16個のパレット色×4個の最下位レベルパレットテーブル)に組み合わされる。パレットテーブル生成器110は、このセット403を分析して、セット403内の候補色の発生頻度を表すヒストグラム404(又は他のクラスタリング)を生成し、次いで、ヒストグラム404内の最も多く表現されたピクセル色の最大16個を使用して、最下位レベルにおける4つの8×8ブロックBLK[8,0]~BLK[8,3]を表す第2のレベル(レベル3)における16×16ブロックBLK[16,0]のための中間パレットテーブル405-0を生成する。この処理は、同様に、最低の中間レベルにおける他の15個の16×16ブロック(BLK[16,1]~BLK[16,15])に対して実行される。結果は、4つの中間レベルパレットブロック405-0、405-1、405-2、405-3である。
【0029】
区分階層300内の最高の中間レベル(レベル2)まで移動すると、パレットテーブル生成器110は、第3のレベルのブロックに対応する最低の中間レベル(レベル3)における4つの16×16ブロックについて生成された4つの区分テーブルの統合を通じて、4つの32×32ブロック(BLK[32,0]~BLK[32,3])の各々について区分テーブルを生成する。例示のために、
図4-1では、パレットテーブル405-0~405-3の各々のインデックス付けされたパレット色は、最大64個の候補色のセット406に組み合わされる。パレットテーブル生成器110は、このセット406を分析して、セット406内の候補色の発生頻度を表すヒストグラム407(又は他のクラスタリング)を生成し、次いで、ヒストグラム407内の最も多く表現されたピクセル色の最大16個を使用して、最下位レベルにおける4つの8×8ブロックBLK[8,0]~BLK[8,3]を表す32×32ブロックBLK[16,0]のための中間パレットテーブル408-0を生成する。この処理は、同様に、最高の中間レベルにおける他の3個の32×32ブロック(BLK[32,1]~BLK[32,3])に対して実行される。
図4-2を参照すると、結果は、4つの中間レベルパレットブロック408-0、408-1、408-2、及び408-3である。
【0030】
この時点で、パレットテーブル生成器110は、CU122のための区分階層300の最高レベル又は最上位レベル(レベル1)に進んでいる。したがって、パレットテーブル生成器110は、パレットテーブル408-0~408-3のパレット色を最大64個の候補色のセット409に組み合わせることによる、最高の中間レベル(レベル2)における4つの32×32ブロックについて生成された4つの区分テーブル408-0~408-3の統合を通じて、最上位区分階層のための最上位パレットテーブル412を生成する。パレットテーブル生成器110は、このセット409を分析して、セット409内の候補色の発生頻度を表すヒストグラム410(又は他のクラスタリング)を生成し、次いで、ヒストグラム410内の最も多く表現されたピクセル色の最大16個を使用して、最上位パレットテーブル412を生成する。
【0031】
上記で説明した例が示すように、最上位パレットテーブル412を生成するプロセスは、64ピクセルセットに対するヒストグラム収集の64個のインスタンスと、それに続く、より低いレベルのパレットテーブルからの最大64個の候補パレット色に対するヒストグラム収集の3回の反復と、を伴う。これは、上記の例の64×64ピクセルCUで表される4,096ピクセルのセット全体に対する単一のヒストグラム収集の従来の手法よりも計算上複雑でないことが理解されよう。更に、この階層的手法は、異なる区分レベルにおいて異なるパレットテーブルの各々を使用するCUの符号化のレート歪み分析に基づいて、CUをより効率的に符号化するために、異なるサイズの区分の選択的使用を容易にする。したがって、パレットテーブル402-0、402-1、402-2、402-3、405-0、408-0、412の各々は、CU122を符号化するために使用される最終パレットテーブル124として利用され得る候補パレットテーブルを表す。したがって、これらの候補パレットテーブルの各々について、符号化システム102は、候補パレットテーブルを使用してCU122を符号化するためのそれぞれのレート歪みコストを計算し、何れの候補パレットテーブルが最低レート歪みコストを与えるかに基づいて、イントラ符号化パイプライン区分サイズを選択することができる。
【0032】
例示のために、CUを符号化するための8×8イントラ符号化パイプラインの場合、階層区分は、単一のレベルに展開し、このレベルにおいて8×8ブロックのために生成されたパレットテーブル(例えば、BLK[8,0]のために生成されたパレットテーブル402-0)は、CUを表すカラーインデックスマップ411を生成するために使用され得る。同様に、CUを符号化するための16×16イントラ符号化パイプラインの場合、16×16区分レベルのために生成されたパレットテーブル(例えば、BLK[16,0]のためのパレットテーブル405-0)は、CUを表すカラーインデックスマップ412を生成するために使用され得る。同様に、CUを符号化するための32×32イントラ符号化パイプラインの場合、32×32区分レベルのために生成されたパレットテーブル(例えば、BLK[32,0]のためのパレットテーブル408-0)は、CUを表すカラーインデックスマップ413を生成するために使用され得る等である。
図4-1及び
図4-2の例では、パレットテーブル412は最低レート歪みコストを有し、したがって、パレットテーブル412は、カラーインデックスマップ126を生成するために、64×64イントラ符号化パイプラインにおいてCUを符号化するための最終パレットテーブル124として採用される。
【0033】
本明細書で開示するように、いくつかの実施形態では、ソースデバイスにおいてスクリーンコンテンツを含む画像を符号化するための方法は、画像の選択された部分について、部分を複数のレベルから構成される区分階層に再帰的に区分することであって、区分階層の最上位レベルが、部分のピクセルのセット全体を表す単一のブロックを有し、最上位レベルより下の各レベルが、次に高いレベルにおけるピクセルの、対応するより大きいブロックを表すピクセルの4つのより小さいブロックを有する、ことと、区分階層の最下位レベルにおいて、最下位レベルにおける各ブロックのためのパレットテーブルを生成することであって、パレットテーブルが、対応するブロック内に存在するピクセル色を表すパレット色のセットを含む、ことと、区分階層内の連続してより高いレベルごとに、現在のレベルにおける各ブロックのためのパレットテーブルを、現在のレベルにおけるブロックに対応する次に低いレベルにおける4つのブロックに関連付けられた4つのパレットテーブルからのパレット色に基づいて、パレットテーブルのためのパレット色を選択することによって生成することと、区分階層の複数のレベルについて生成されたパレットテーブルから、最終パレットテーブルを選択することと、最終パレットテーブルに基づいて、画像の部分のためのカラーインデックスマップを生成することと、最終パレットテーブル及びカラーインデックスマップを使用して画像の部分の表現を符号化して、ソースデバイスによる出力のための符号化ビットストリームの対応するセグメントを生成することと、を含む。
【0034】
一態様では、最下位レベルにおける各ブロックのためのパレットテーブルを生成することは、ブロックのピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、第1のヒストグラムに基づいて、指定された最大数のパレット色を、パレットテーブルにおいてインデックス付けするために選択することと、を含む。別の態様では、区分階層内のより高いレベルにおけるブロックのためのパレットを生成することは、より高いレベルにおけるブロックに関連付けられた4つのより低いレベルのブロックの各パレットテーブルのパレット色を候補ピクセル色のセットにグループ化することと、ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、第2のヒストグラムに基づいて、指定された最大数のパレット色を、パレットテーブルにおいてインデックス付けするために選択することと、を含む。更に別の態様では、区分階層内のより高いレベルにおけるブロックのためのパレットテーブルを生成することは、より高いレベルにおけるブロックに関連付けられた4つのより低いレベルのブロックの各パレットテーブルのパレット色を候補ピクセル色のセットにグループ化することと、ビニングされた候補ピクセル色の発生頻度を表すクラスタリングを生成することと、クラスタリングに基づいて、指定された最大数のパレット色を、パレットテーブルにおいてインデックス付けするために選択することと、を含む。
【0035】
一態様では、最下位レベルにおけるブロックは、P×Pピクセルのブロックサイズを有し、画像の部分は、K×Kピクセルのサイズを有し、区分階層内のレベルの数Nは、式K=P*2^(N-1)で表される。別の態様では、最終パレットテーブルを選択することは、各候補パレットテーブルについて、候補パレットテーブルを使用して画像の部分を符号化するための対応するレート歪みコストを決定することと、最終パレットテーブルとして、最低の対応するレート歪みコストを有する候補パレットテーブルを選択することと、を含む。更に別の態様では、画像の部分は、コーディングツリーユニットのコーディングユニットである。
【0036】
いくつかの実施形態では、スクリーンコンテンツを含む画像を符号化するためのデバイスであって、デバイスが、パレットモードエンコーダを含み、パレットモードエンコーダは、画像の選択された部分について、部分を複数のレベルから構成される区分階層に再帰的に区分することであって、区分階層の最上位レベルが、部分のピクセルのセット全体を表す単一のブロックを有し、最上位レベルより下の各レベルが、次に高いレベルにおけるピクセルの、対応するより大きいブロックを表すピクセルの4つのより小さいブロックを有する、ことと、区分階層の最下位レベルにおいて、最下位レベルにおける各ブロックのためのパレットテーブルを生成することであって、パレットテーブルが、対応するブロック内に存在するピクセル色を表すパレット色のセットを含む、ことと、区分階層内の連続してより高いレベルごとに、現在のレベルにおける各ブロックのためのパレットテーブルを、現在のレベルにおけるブロックに対応する次に低いレベルにおける4つのブロックに関連付けられた4つのパレットテーブルからのパレット色に基づいて、パレットテーブルのためのパレット色を選択することによって生成することと、区分階層の複数のレベルについて生成されたパレットテーブルから最終パレットテーブルを選択することと、最終パレットテーブルに基づいて、画像の部分のためのカラーインデックスマップを生成することと、最終パレットテーブル及びカラーインデックスマップを使用して画像の部分の表現を符号化して、符号化ビットストリームの対応するセグメントを生成することと、を行うように構成されている。
【0037】
一態様では、パレットモードエンコーダは、ブロックのピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、第1のヒストグラムに基づいて、指定された最大数のパレット色を、パレットテーブルにおいてインデックス付けするために選択することと、によって、最下位レベルにおける各ブロックのためのパレットテーブルを生成するように構成されている。別の態様では、パレットモードエンコーダは、より高いレベルにおけるブロックに関連付けられた4つのより低いレベルのブロックの各パレットテーブルのパレット色を候補ピクセル色のセットにグループ化することと、ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、第2のヒストグラムに基づいて、指定された最大数のパレット色を、パレットテーブルにおいてインデックス付けするために選択することと、によって、区分階層内のより高いレベルにおけるブロックのためのパレットテーブルを生成するように構成されている。
【0038】
一態様では、パレットモードエンコーダは、より高いレベルにおけるブロックに関連付けられた4つのより低いレベルのブロックの各パレットテーブルのパレット色を候補ピクセル色のセットにグループ化することと、ビニングされた候補ピクセル色の発生頻度を表すクラスタリングを生成することと、クラスタリングに基づいて、指定された最大数のパレット色を、パレットテーブルにおいてインデックス付けするために選択することと、によって、区分階層内のより高いレベルにおけるブロックのためのパレットテーブルを生成するように構成されている。別の態様では、パレットモードエンコーダは、各候補パレットテーブルについて、候補パレットテーブルを使用して画像の部分を符号化するための対応するレート歪みコストを決定することと、最終パレットテーブルとして、最低の対応するレート歪みコストを有する候補パレットテーブルを選択することと、によって、最終パレットテーブルを選択する。更に別の態様では、パレットモードエンコーダは、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行可能な命令のセットを記憶するためのメモリと、を含む。
【0039】
いくつかの実施形態では、ソースデバイスにおいてスクリーンコンテンツを含む画像を符号化するための方法は、画像の選択された部分のための区分階層の複数の区分の各々のためのパレットテーブルを、画像の部分のより小さい区分のセットのためのパレットテーブルのために選択されたパレット色を画像の部分のより大きい区分のための候補色として再帰的に使用することによって生成することと、画像の部分のために生成されたパレットテーブルから選択されたパレットテーブルに基づいて、画像の部分のためのカラーインデックスマップを生成することと、選択されたパレットテーブル及びカラーインデックスマップを使用して画像の部分の表現を符号化して、ソースデバイスによる出力のための符号化ビットストリームの対応するセグメントを生成することと、を含む。別の態様では、画像の部分の最小区分のためのパレットテーブルを生成することは、最小区分のピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、第1のヒストグラムに基づいて、指定された最大数のパレット色を、パレットテーブルにおいてインデックス付けするために選択することと、を含む。更に別の態様では、最小区分以外の部分の区分のためのパレットテーブルを生成することは、関連する次に小さい区分の各パレットテーブルのパレット色を候補ピクセル色のセットにグループ化することと、ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、第2のヒストグラムに基づいて、指定された最大数のパレット色を、パレットテーブルにおいてインデックス付けするために選択することと、を含む。
【0040】
一態様では、選択されたパレットテーブルは、各候補パレットテーブルについて、候補パレットテーブルを使用して画像の部分を符号化するための対応するレート歪みコストを決定することと、選択されたパレットテーブルとして、最低の対応するレート歪みコストを有する候補パレットテーブルを選択することと、によって選択される。別の態様では、画像の部分は、コーディングツリーユニットのコーディングユニットである。
【0041】
いくつかの実施形態では、スクリーンコンテンツを含む画像を符号化するためのデバイスであって、デバイスが、パレットモードエンコーダを含み、パレットモードエンコーダは、画像の選択された部分のための区分階層の複数の区分の各々のためのパレットテーブルを、画像の部分のより小さい区分のセットのためのパレットテーブルのために選択されたパレット色を画像の部分のより大きい区分のための候補色として再帰的に使用することによって生成することと、画像の部分のために生成されたパレットテーブルから選択されたパレットテーブルに基づいて、画像の部分のためのカラーインデックスマップを生成することと、選択されたパレットテーブル及びカラーインデックスマップを使用して画像の部分の表現を符号化して、デバイスによる出力のための符号化ビットストリームの対応するセグメントを生成することと、を行うように構成されている。
【0042】
一態様では、パレットモードエンコーダは、最小区分のピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、第1のヒストグラムに基づいて、指定された最大数のパレット色を、パレットテーブルにおいてインデックス付けするために選択することと、によって、画像の部分の最小区分のためのパレットテーブルを生成するように構成されている。別の態様では、パレットモードエンコーダは、関連する次により小さい区分の各パレットテーブルのパレット色を候補ピクセル色のセットにグループ化することと、ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、第2のヒストグラムに基づいて、指定された最大数のパレット色を、パレットテーブルにおいてインデックス付けするために選択することと、によって、最小区分以外の部分の区分のためのパレットテーブルを生成するように構成されている。
【0043】
一態様では、パレットモードエンコーダは、各候補パレットテーブルについて、候補パレットテーブルを使用して画像の部分を符号化するための対応するレート歪みコストを決定することと、選択されたパレットテーブルとして、最低の対応するレート歪みコストを有する候補パレットテーブルを選択することと、によって、選択されたパレットテーブルを選択するように構成されている。別の態様では、パレットモードエンコーダは、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行可能な命令のセットを記憶するためのメモリと、を含む。
【0044】
いくつかの実施形態では、上記で説明したシステム及び技術は、
図1~
図4-2を参照しながら説明した符号化システム102等の1つ以上の集積回路(integrated circuit、IC)デバイス(集積回路パッケージ又はマイクロチップとも称される)を使用して実装される。電子設計自動化(electronic design automation、EDA)及びコンピュータ支援設計(computer aided design、CAD)ソフトウェアツールは、これらのICデバイスの設計及び製造に使用することができる。これらの設計ツールは、典型的には、1つ以上のソフトウェアプログラムとして表される。1つ以上のソフトウェアプログラムは、回路を製造するための製造システムを設計するか又は適応させるためのプロセスの少なくとも一部を実行するために、1つ以上のICデバイスの回路を表すコードで動作するようにコンピュータシステムを操作するための、コンピュータシステムによって実行可能なコードを含む。このコードは、命令、データ、又は、命令及びデータの組み合わせを含み得る。設計ツール又は製造ツールを表すソフトウェア命令は、典型的には、コンピューティングシステムにアクセス可能なコンピュータ可読記憶媒体に記憶される。同様に、ICデバイスの設計又は製造の1つ以上の段階を表すコードは、同じコンピュータ可読記憶媒体又は異なるコンピュータ可読記憶媒体に記憶され、そこからアクセスされる。
【0045】
コンピュータ可読記憶媒体は、命令及び/又はデータをコンピュータシステムに提供するために、使用中にコンピュータシステムによってアクセス可能な任意の非一時的な記憶媒体又は非一時的な記憶媒体の組み合わせを含む。このような記憶媒体には、限定されないが、光学媒体(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク)、磁気媒体(例えば、フロッピー(登録商標)ディスク、磁気テープ、磁気ハードドライブ)、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM)若しくはキャッシュ)、不揮発性メモリ(例えば、読取専用メモリ(ROM)若しくはフラッシュメモリ)、又は、微小電気機械システム(MEMS)ベースの記憶媒体が含まれ得る。コンピュータ可読記憶媒体(例えば、システムRAM又はROM)はコンピューティングシステムに内蔵されてもよいし、コンピュータ可読記憶媒体(例えば、磁気ハードドライブ)はコンピューティングシステムに固定的に取り付けられてもよいし、コンピュータ可読記憶媒体(例えば、光学ディスク又はユニバーサルシリアルバス(USB)ベースのフラッシュメモリ)はコンピューティングシステムに着脱可能に取り付けられてもよいし、コンピュータ可読記憶媒体(例えば、ネットワークアクセス可能ストレージ(NAS))は有線又は無線ネットワークを介してコンピュータシステムに結合されてもよい。
【0046】
いくつかの実施形態では、上述した技術の特定の態様は、ソフトウェアを実行する処理システムの1つ以上のプロセッサによって実装される。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶されるか、別の方法で明確に具体化された実行可能命令の1つ以上のセットを含む。ソフトウェアは、命令及び特定のデータを含んでもよく、当該命令及び特定のデータは、1つ以上のプロセッサによって実行されると、上述した技術の1つ以上の態様を実行するように1つ以上のプロセッサを操作する。非一時的なコンピュータ可読記憶媒体は、例えば、磁気又は光ディスク記憶デバイス、フラッシュメモリ等のソリッドステート記憶デバイス、キャッシュ、ランダムアクセスメモリ(RAM)、又は、他の不揮発性メモリデバイス(単数又は複数)等を含み得る。非一時的なコンピュータ可読記憶媒体に記憶された実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、1つ以上のプロセッサによって解釈され若しくは別の方法で実行可能な他の命令形式で実装可能である。
【0047】
上述したものに加えて、概要説明において説明した全てのアクティビティ又は要素が必要とされているわけではなく、特定のアクティビティ又はデバイスの一部が必要とされない場合があり、1つ以上のさらなるアクティビティが実行される場合があり、1つ以上のさらなる要素が含まれる場合があることに留意されたい。さらに、アクティビティが列挙された順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明された。しかしながら、当業者であれば、特許請求の範囲に記載されているような本発明の範囲から逸脱することなく、様々な変更及び変形を行うことができるのを理解するであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、これらの変更形態の全ては、本発明の範囲内に含まれることが意図される。
【0048】
利益、他の利点及び問題に対する解決手段を、特定の実施形態に関して上述した。しかし、利益、利点、問題に対する解決手段、及び、何かしらの利益、利点若しくは解決手段が発生又は顕在化する可能性のある特徴は、何れか若しくは全ての請求項に重要な、必須の、又は、不可欠な特徴と解釈されない。さらに、開示された発明は、本明細書の教示の利益を有する当業者には明らかな方法であって、異なっているが同様の方法で修正され実施され得ることから、上述した特定の実施形態は例示にすぎない。添付の特許請求の範囲に記載されている以外に本明細書に示されている構成又は設計の詳細については限定がない。したがって、上述した特定の実施形態は、変更又は修正されてもよく、かかる変更形態の全ては、開示された発明の範囲内にあると考えられることが明らかである。したがって、ここで要求される保護は、添付の特許請求の範囲に記載されている。
【手続補正書】
【提出日】2023-05-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ソースデバイスにおいてスクリーンコンテンツを含む画像を符号化するための方法であって、
前記画像の選択された部分について、前記部分を複数のレベルから構成される区分階層に再帰的に区分することであって、前記区分階層の最上位レベルは、前記部分のピクセルのセット全体を表す単一のブロックを有し、前記最上位レベルより下位の各レベルは、次に高いレベルにおけるピクセルの対応する大きいブロックを表すピクセルの4つの小さいブロックを有する、ことと、
前記区分階層の最下位レベルにおいて、前記最下位レベルの各ブロックに対してパレットテーブルを生成することであって、前記パレットテーブルは、対応するブロックに存在するピクセル色を表すパレット色のセットを含む、ことと、
前記区分階層の連続的に高いレベルごとに、現在のレベルの各ブロックのパレットテーブルを、前記現在のレベルのブロックに対応する次に低いレベルの前記4つのブロックに関連付けられた4つのパレットテーブルからのパレット色に基づいて前記パレットテーブルの前記パレット色を選択することによって生成することと、
前記区分階層の前記複数のレベルに対して生成された前記パレットテーブルから最終パレットテーブルを選択することと、
前記最終パレットテーブルに基づいて、前記画像の前記部分のためのカラーインデックスマップを生成することと、
前記最終パレットテーブル及び前記カラーインデックスマップを使用して前記画像の前記部分の表現を符号化して、前記ソースデバイスが出力するための符号化ビットストリームの対応するセグメントを生成することと、を含む、
方法。
【請求項2】
前記最下位レベルの各ブロックに対してパレットテーブルを生成することは、
前記ブロックのピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、
前記第1のヒストグラムに基づいて、指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、を含む、
請求項1の方法。
【請求項3】
前記区分階層の高いレベルのブロックのパレットを生成することは、
前記高いレベルのブロックに関連付けられた前記4つの低いレベルのブロックの各パレットテーブルのパレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、
前記第2のヒストグラムに基づいて、前記指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、を含む、
請求項2の方法。
【請求項4】
前記区分階層の高いレベルのブロックのパレットテーブルを生成することは、
前記高いレベルのブロックに関連付けられた前記4つの低いレベルのブロックの各パレットテーブルのパレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表すクラスタリングを生成することと、
前記クラスタリングに基づいて、指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、を含む、
請求項1~3の何れかの方法。
【請求項5】
前記最下位レベルのブロックは、P×Pピクセルのブロックサイズを有し、
前記画像の前記部分は、K×Kピクセルのサイズを有し、
前記区分階層のレベルの数Nは、式K=P*2^(N-1)で表される、
請求項1~4の何れかの方法。
【請求項6】
前記最終パレットテーブルを選択することは、
各候補パレットテーブルについて、前記候補パレットテーブルを使用して前記画像の前記部分を符号化するための対応するレート歪みコストを決定することと、
対応するレート歪みコストが最も低い前記候補パレットテーブルを前記最終パレットテーブルとして選択することと、を含む、
請求項1~5の何れかの方法。
【請求項7】
スクリーンコンテンツを含む画像を符号化するためのデバイスであって、
パレットモードエンコーダを備え、
前記パレットモードエンコーダは、
前記画像の選択された部分について、前記部分を複数のレベルから構成される区分階層に再帰的に区分することであって、前記区分階層の最上位レベルは、前記部分のピクセルのセット全体を表す単一のブロックを有し、前記最上位レベルより下位の各レベルは、次に高いレベルにおけるピクセルの対応する大きいブロックを表すピクセルの4つの小さいブロックを有する、ことと、
前記区分階層の最下位レベルにおいて、前記最下位レベルの各ブロックに対してパレットテーブルを生成することであって、前記パレットテーブルは、対応するブロックに存在するピクセル色を表すパレット色のセットを含む、ことと、
前記区分階層の連続的に高いレベルごとに、現在のレベルの各ブロックのパレットテーブルを、前記現在のレベルのブロックに対応する次に低いレベルの前記4つのブロックに関連付けられた4つのパレットテーブルからのパレット色に基づいて前記パレットテーブルの前記パレット色を選択することによって生成することと、
前記区分階層の前記複数のレベルに対して生成された前記パレットテーブルから最終パレットテーブルを選択することと、
前記最終パレットテーブルに基づいて、前記画像の前記部分のためのカラーインデックスマップを生成することと、
前記最終パレットテーブル及び前記カラーインデックスマップを使用して前記画像の前記部分の表現を符号化して、符号化ビットストリームの対応するセグメントを生成することと、
を行うように構成されている、
デバイス。
【請求項8】
前記パレットモードエンコーダは、
前記ブロックのピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、
前記第1のヒストグラムに基づいて、指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、
によって、前記最下位レベルの各ブロックに対してパレットテーブル生成するように構成されている、
請求項
7のデバイス。
【請求項9】
前記パレットモードエンコーダは、
前記高いレベルのブロックに関連付けられた前記4つの低いレベルのブロックの各パレットテーブルのパレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、
前記第2のヒストグラムに基づいて、前記指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、
によって、前記区分階層の高いレベルのブロックのパレットテーブルを生成するように構成されている、
請求項
8のデバイス。
【請求項10】
前記パレットモードエンコーダは、
前記高いレベルのブロックに関連付けられた前記4つの低いレベルのブロックの各パレットテーブルの前記パレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表すクラスタリングを生成することと、
前記クラスタリングに基づいて、指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、
によって、前記区分階層の高いレベルのブロックのパレットテーブルを生成するように構成されている、
請求項
7~9の何れかのデバイス。
【請求項11】
前記パレットモードエンコーダは、
各候補パレットテーブルについて、前記候補パレットテーブルを使用して前記画像の前記部分を符号化するための対応するレート歪みコストを決定することと、
対応するレート歪みコストが最も低い前記候補パレットテーブルを前記最終パレットテーブルとして選択することと、
によって、前記最終パレットテーブルを選択するように構成されている、
請求項
7~10の何れかのデバイス。
【請求項12】
ソースデバイスにおいてスクリーンコンテンツを含む画像を符号化するための方法であって、
前記画像の選択された部分の小さい区分のセットのパレットテーブルに対して選択されたパレット色を前記画像の前記部分の大きい区分のための候補色として再帰的に使用することによって、前記画像の前記部分に対する区分階層の複数の区分の各々に対してパレットテーブルを生成することと、
前記画像の前記部分について生成された複数のパレットテーブルから選択されたパレットテーブルに基づいて、前記画像の前記部分についてのカラーインデックスマップを生成することと、
前記選択されたパレットテーブル及び前記カラーインデックスマップを使用して前記画像の前記部分の表現を符号化して、前記ソースデバイスが出力する符号化ビットストリームの対応するセグメントを生成することと、を含む、
方法。
【請求項13】
前記画像の前記部分の最小区分のパレットテーブルを生成することは、
前記最小区分のピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、
前記第1のヒストグラムに基づいて、指定された数のパレットまで前記パレットテーブルにインデックス付けするために選択することと、を含む、
請求項
12の方法。
【請求項14】
前記最小区分以外の前記部分の区分のパレットテーブルを生成することは、
関連する次に小さい区分の各パレットテーブルのパレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、
前記第2のヒストグラムに基づいて、前記指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、を含む、
請求項
13の方法。
【請求項15】
前記選択されたパレットテーブルは、
各候補パレットテーブルについて、前記候補パレットテーブルを使用して前記画像の前記部分を符号化するための対応するレート歪みコストを決定することと、
対応するレート歪みコストが最も低い前記候補パレットテーブルを前記選択されたパレットテーブルとして選択することと、
によって選択される、
請求項
12~14の何れかの方法。
【請求項16】
スクリーンコンテンツを含む画像を符号化するためのデバイスであって、
パレットモードエンコーダを備え、
前記パレットモードエンコーダは、
前記画像の選択された部分の小さい区分のセットのパレットテーブルに対して選択されたパレット色を前記画像の前記部分の大きい区分のための候補色として再帰的に使用することによって、前記画像の前記部分に対する区分階層の複数の区分の各々に対してパレットテーブルを生成することと、
前記画像の前記部分について生成された複数のパレットテーブルから選択されたパレットテーブルに基づいて、前記画像の前記部分についてのカラーインデックスマップを生成することと、
前記選択されたパレットテーブル及び前記カラーインデックスマップを使用して前記画像の前記部分の表現を符号化して、前記デバイスが出力する符号化ビットストリームの対応するセグメントを生成することと、
を行うように構成されている、
デバイス。
【請求項17】
前記パレットモードエンコーダは、
前記最小区分のピクセルについてビニングされたピクセル色の発生頻度を表す第1のヒストグラムを生成することと、
前記第1のヒストグラムに基づいて、指定された数のパレット色まで前記パレットテーブルにインデックス付けするために選択することと、
によって、前記画像の前記部分の最小区分のパレットテーブルを生成するように構成されている、
請求項
16のデバイス。
【請求項18】
前記パレットモードエンコーダは、
関連する次に小さい区分の各パレットテーブルのパレット色を、候補ピクセル色のセットにグループ化することと、
ビニングされた候補ピクセル色の発生頻度を表す第2のヒストグラムを生成することと、
前記第2のヒストグラムに基づいて、前記指定された数のパレットまで前記パレットテーブルにインデックス付けするために選択することと、
によって、前記最小区分以外の前記部分の区分のパレットテーブルを生成するように構成されている、
請求項
17のデバイス。
【請求項19】
前記パレットモードエンコーダは、
各候補パレットテーブルについて、前記候補パレットテーブルを使用して前記画像の前記部分を符号化するための対応するレート歪みコストを決定することと、
対応するレート歪みコストが最も低い前記候補パレットテーブルを前記選択されたパレットテーブルとして選択することと、
によって、前記選択されたパレットテーブルを選択するように構成されている、
請求項
16~18の何れかのデバイス。
【国際調査報告】