(57)【要約】  ビデオコーダが、１つまたは複数の候補を備えるパレット予測子リストを決定し得る。パレット予測子リストにおける各それぞれの候補は、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルのサンプル値を指定する。１つまたは複数の再構成済み近隣ピクセルの各々は、ビデオデータの現在ブロックの上のライン中または左の列中にある。ビデオコーダは、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含め得る。
2017527168.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
１つまたは複数の候補を備えるパレット予測子リストを決定することと、前記パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にある、
前記現在ブロックのためのパレット中に、前記パレット予測子リストにおける少なくとも１つの候補を含めることと、
ビットストリーム中でシグナリングされる１つまたは複数のシンタックス要素に基づいて、前記現在ブロックのピクセルのためのインデックス値を取得することと、
前記ピクセルのための前記インデックス値に対応する前記パレット中のパレットエントリを識別することと、
前記識別されたパレットエントリによって指定された前記少なくとも１つのサンプル値に基づいて、前記ピクセルの少なくとも１つの再構成済みサンプル値を決定することと
を備える、方法。
【請求項２】
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、請求項１に記載の方法。
【請求項３】
前記再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、または右上の再構成済み近隣ピクセルからなるグループから選択された少なくとも１つを含む、請求項２に記載の方法。
【請求項４】
前記パレット予測子リストを決定することが、
前記パレット予測子リストから１つまたは複数の冗長候補を除去すること
を備える、請求項１に記載の方法。
【請求項５】
前記パレット予測子リストを決定することが、
前記パレット予測子リストにおける第１の候補と前記パレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、前記パレット予測子リストから前記第１の候補を除去すべきかどうかを決定することと、
前記決定に応答して、前記パレット予測子リストから前記第１の候補を除去することと
を備える、請求項４に記載の方法。
【請求項６】
前記１つまたは複数の近隣ピクセルが、複数の近隣ピクセルを含み、前記パレット予測子リストを決定することが、
前記複数の前記再構成済み近隣ピクセルの値の頻度に従って、前記パレット予測子リスト内で、前記複数の再構成済み近隣ピクセルのうちの２つまたはそれ以上をランク付けすること
を備える、請求項１に記載の方法。
【請求項７】
前記パレット予測子リストを決定することが、
前記パレット予測子リストのサイズが特定の数の候補に限定されるように、前記パレット予測子リストをトランケートすること
を備える、請求項１に記載の方法。
【請求項８】
前記パレット予測子リストを決定した後、前記１つまたは複数の再構成済み近隣ピクセルにループ内フィルタ処理を適用することをさらに備える、請求項１に記載の方法。
【請求項９】
前記ビットストリームから、１つまたは複数のシンタックス要素を備えるバイナリベクトルを取得することと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記パレット予測子リストにおける各それぞれの候補について、前記パレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記パレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
を備える、請求項１に記載の方法。
【請求項１０】
前記パレット予測子リストが、第１のパレット予測子リストであり、前記バイナリベクトルが、第１のバイナリベクトルであり、前記方法は、
１つまたは複数の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの候補が、前記ビデオデータの前にコーディングされたブロックのためのパレット中のパレットエントリを指定する、
前記ビットストリームから、前記第２のパレット予測子リストのためのバイナリベクトルを取得することと、前記バイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける各それぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
をさらに備える、請求項１に記載の方法。
【請求項１１】
前記第１のパレット予測子リストにおける特定の候補が前記第２のパレット予測子リストにおける候補に一致する場合、前記第１のパレット予測子リストから前記特定の候補を除去するプルーニングプロセスを適用すること
をさらに備える、請求項１０に記載の方法。
【請求項１２】
前記第１のパレット予測子リストにおける第１の候補と前記第２のパレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、前記第１のパレット予測子リストから前記第１の候補を除去すべきかどうかを決定することと、
前記決定に応答して、前記第１のパレット予測子リストから前記第１の候補を除去することと
をさらに備える、請求項１０に記載の方法。
【請求項１３】
前記ビットストリームから、１つまたは複数の追加のパレットエントリを指定するシンタックス要素を取得することと、
前記現在ブロックのための前記パレット中に、前記１つまたは複数の追加のパレットエントリを含めることと
をさらに備え、
ここにおいて、前記現在ブロックのための前記パレット中の前記パレットエントリが、前記第１のパレット予測子リストにおける候補を指定するパレットエントリ、前記第２のパレット予測子リストにおける候補を指定するパレットエントリ、および前記追加のパレットエントリ、のように順序付けられる、
請求項１０に記載の方法。
【請求項１４】
前記ビットストリームから、１つまたは複数の追加のパレットエントリを指定するシンタックス要素を取得することと、
前記現在ブロックのための前記パレット中に、前記１つまたは複数の追加のパレットエントリを含めることと
をさらに備え、
ここにおいて、前記現在ブロックのための前記パレット中の前記パレットエントリが、前記第２のパレット予測子リストにおける候補を指定するパレットエントリ、前記第１のパレット予測子リストにおける候補を指定するパレットエントリ、および前記追加のパレットエントリ、のように順序付けられる、
請求項１０に記載の方法。
【請求項１５】
前記パレット予測子リストの候補が、前記現在ブロックの後に処理される前記ビデオデータのブロックのためのパレットを決定するために使用されるパレット予測子リスト中に含まれない、請求項１に記載の方法。
【請求項１６】
ビデオデータを符号化する方法であって、前記方法は、
１つまたは複数の候補を備えるパレット予測子リストを決定することと、前記パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にある、
前記現在ブロックのためのパレット中に、前記パレット予測子リストにおける少なくとも１つの候補を含めることと、
ビットストリーム中で、前記現在ブロックのピクセルのためのインデックス値を示す１つまたは複数のシンタックス要素をシグナリングすることと、前記インデックス値が、前記パレット中のエントリに対応する、
を備える、方法。
【請求項１７】
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、請求項１６に記載の方法。
【請求項１８】
前記再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、または右上の再構成済み近隣ピクセルからなるグループから選択された少なくとも１つを含む、請求項１６に記載の方法。
【請求項１９】
前記１つまたは複数の近隣ピクセルが、複数の近隣ピクセルを含み、前記パレット予測子リストを生成することが、
前記複数の前記再構成済み近隣ピクセルの値の頻度に従って、前記パレット予測子リスト内で、前記複数の再構成済み近隣ピクセルのうちの２つまたはそれ以上をランク付けすること
を備える、請求項１６に記載の方法。
【請求項２０】
前記ビットストリーム中で、１つまたは複数のシンタックス要素を備えるバイナリベクトルをシグナリングすることと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記パレット予測子リストにおける各それぞれの候補について、前記パレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記パレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
をさらに備える、請求項１６に記載の方法。
【請求項２１】
前記パレット予測子リストが、第１のパレット予測子リストであり、前記バイナリベクトルが、第１のバイナリベクトルであり、前記方法は、
１つまたは複数の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの候補が、前記ビデオデータの前にコーディングされたブロックのためのパレット中のパレットエントリを指定する、
前記ビットストリーム中でバイナリベクトルをシグナリングすることと、前記バイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記第２のパレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける少なくとも１つのそれぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
をさらに備える、請求項１６に記載の方法。
【請求項２２】
前記第１のパレット予測子リストにおける特定の候補が前記第２のパレット予測子リストにおける候補に一致する場合、前記第１のパレット予測子リストから前記特定の候補を除去するプルーニングプロセスを適用すること
をさらに備える、請求項２１に記載の方法。
【請求項２３】
ビデオデータをコーディングするように構成されたデバイスであって、前記デバイスは、
前記ビデオデータを記憶するように構成されたメモリと、
１つまたは複数の候補を備えるパレット予測子リストを決定することと、前記パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にある、
前記現在ブロックのためのパレット中に、前記パレット予測子リストにおける少なくとも１つの候補を含めることと
を行うように構成された１つまたは複数のプロセッサと
を備える、デバイス。
【請求項２４】
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、請求項２３に記載のデバイス。
【請求項２５】
前記１つまたは複数のプロセッサは、
前記ビットストリームから、１つまたは複数のシンタックス要素を備えるバイナリベクトルを取得することと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記パレット予測子リストにおける各それぞれの候補について、前記パレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記パレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
を行うように構成された、請求項２３に記載のデバイス。
【請求項２６】
前記パレット予測子リストが、第１のパレット予測子リストであり、前記バイナリベクトルが、第１のバイナリベクトルであり、前記１つまたは複数のプロセッサは、
１つまたは複数の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの候補が、前記ビデオデータの前にコーディングされたブロックのためのパレット中のパレットエントリを指定する、
ビットストリームから、前記第２のパレット予測子リストのためのバイナリベクトルを取得することと、前記バイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける各それぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
を行うようにさらに構成された、請求項２３に記載のデバイス。
【請求項２７】
前記１つまたは複数のプロセッサが、
ビットストリーム中でシグナリングされる１つまたは複数の追加のシンタックス要素に基づいて、前記現在ブロックのピクセルのためのインデックス値を取得することと、
前記ピクセルのための前記インデックス値に対応する前記パレット中のパレットエントリを識別することと、
前記識別されたパレットエントリによって指定された前記少なくとも１つのサンプル値に基づいて、前記ピクセルの少なくとも１つの再構成済みサンプル値を決定することと
を行うように構成された、請求項２３に記載のデバイス。
【請求項２８】
前記デバイスが、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス
からなるグループから選択された少なくとも１つを備える、請求項２３に記載のデバイス。
【請求項２９】
復号ビデオデータを表示するように構成されたディスプレイ、または前記ビデオデータをキャプチャするように構成されたカメラからなるグループから選択された少なくとも１つをさらに備える、請求項２３に記載のデバイス。
【請求項３０】
ビデオデータを復号するように構成されたデバイスであって、前記デバイスは、
１つまたは複数の候補を備えるパレット予測子リストを決定するための手段と、前記パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にある、
前記現在ブロックのためのパレット中に、前記パレット予測子リストにおける少なくとも１つの候補を含めるための手段と
を備える、デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その内容全体が参照により組み込まれる、２０１４年７月１１日に出願された米国仮特許出願第６２／０２３，４３６号の利益を主張する。
【０００２】
[0002]本開示は、ビデオ符号化およびビデオ復号に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ  １０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間（ピクチャ内）予測および／または時間（ピクチャ間）予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）がビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間予測または時間予測は、コーディングされるべきブロックのための予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差を示す。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差係数が得られ得、その残差係数は、次いで量子化され得る。量子化された係数は、最初は２次元アレイで構成され、係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]概して、本開示は、ビデオデータのパレットモードコーディングのための技法について説明する。本明細書で説明するように、ビデオコーダは、１つまたは複数の候補エントリを含むパレット予測子リストを決定し得る。候補エントリの各々は、現在ブロックに近隣する異なるそれぞれの再構成済みピクセルの少なくとも１つのサンプル値を指定し得る。ビデオコーダは、現在ブロックのパレット中のパレット予測子リストの１つまたは複数の候補エントリを含み得る。
【０００７】
[0007]一例では、本開示は、ビデオデータを復号する方法であって、方法は、１つまたは複数の候補を備えるパレット予測子リストを決定することと、パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、１つまたは複数の再構成済み近隣ピクセルの各々が、ビデオデータの現在ブロックに隣接する、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含めることと、ビットストリーム中でシグナリングされる１つまたは複数のシンタックス要素に基づいて、現在ブロックのピクセルのためのインデックス値を取得することと、ピクセルのためのインデックス値に対応するパレット中のパレットエントリを識別することと、識別されたパレットエントリによって指定された少なくとも１つのサンプル値に基づいて、ピクセルの少なくとも１つの再構成済みサンプル値を決定することとを備える、方法について説明する。
【０００８】
[0008]別の例では、本開示は、ビデオデータを符号化する方法であって、方法は、１つまたは複数の候補を備えるパレット予測子リストを決定することと、パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、１つまたは複数の再構成済み近隣ピクセルの各々が、ビデオデータの現在ブロックの上のライン中または左の列中にある、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含めることと、ビットストリーム中で、現在ブロックのピクセルのためのインデックス値を示す１つまたは複数のシンタックス要素をシグナリングすることと、インデックス値が、パレット中のエントリに対応する、を備える、方法について説明する。
【０００９】
[0009]別の例では、本開示は、ビデオデータをコーディングするように構成されたデバイスであって、デバイスは、ビデオデータを記憶するように構成されたメモリと、１つまたは複数の候補を備えるパレット予測子リストを決定することと、パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、１つまたは複数の再構成済み近隣ピクセルの各々が、ビデオデータの現在ブロックの上のライン中または左の列中にある、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含めることとを行うように構成された１つまたは複数のプロセッサとを備える、デバイスについて説明する。
【００１０】
[0010]別の例では、本開示は、ビデオデータを復号するように構成されたデバイスであって、デバイスは、１つまたは複数の候補を備えるパレット予測子リストを決定するための手段と、パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、１つまたは複数の再構成済み近隣ピクセルの各々が、ビデオデータの現在ブロックの上のライン中または左の列中にある、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含めるための手段とを備える、デバイスについて説明する。
【００１１】
[0011]別の例では、本開示は、実行されたとき、１つまたは複数の候補を備えるパレット予測子リストを決定することと、パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、１つまたは複数の再構成済み近隣ピクセルの各々が、ビデオデータの現在ブロックの上のライン中または左の列中にある、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含めることとをビデオデータをコーディングするためのデバイスに行わせる、その上に記憶された命令を有するデータ記憶媒体について説明する。
【００１２】
[0012]本開示の１つまたは複数の例の詳細が添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１３】
【図１】[0013]本開示で説明する技法を利用し得る例示的なビデオコーディングシステムを示すブロック図。
【図２】[0014]例示的なパレットスタッフィングプロセスを示す概念図。
【図３】[0015]例示的な予測フラグを示す概念図。
【図４】[0016]エクストラパレット予測子リストのための候補ピクセルを示す概念図。
【図５】[0017]本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図６】[0018]本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図７】[0019]本開示の技法による、例示的な復号演算を示すフローチャート。
【図８】[0020]本開示の技法による、例示的な符号化演算を示すフローチャート。
【図９】[0021]本開示の技法による、パレットを生成するための例示的な動作を示すフローチャート。
【図１０】[0022]本開示の技法による、元のパレット予測子リストを生成するためのビデオデコーダの例示的な動作を示すフローチャート。
【図１１】[0023]本開示の技法による、エクストラパレット予測子リストを生成するためのビデオデコーダの例示的な動作を示すフローチャート。
【図１２】[0024]本開示の技法による、元のパレット予測子リストを生成するためのビデオエンコーダの例示的な動作を示すフローチャート。
【図１３】[0025]本開示の技法による、エクストラパレット予測子リストを生成するためのビデオエンコーダの例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００１４】
[0026]本開示の態様は、ビデオコーディングおよびビデオデータ圧縮のための技法を対象とする。特に、本開示は、ビデオデータのパレットベースコーディングのための技法について説明する。旧来のビデオコーディングでは、画像は、連続トーンであり空間的に滑らかであると仮定される。これらの仮定に基づいて、ブロックベース変換、フィルタ処理、および他のコーディングツールなどの様々なツールが開発されており、そのようなツールは、自然コンテンツビデオのコーディングに対して良好な性能を示している。
【００１５】
[0027]しかしながら、リモートデスクトップ、協調作業、およびワイヤレスディスプレイのような適用例では、コンピュータ生成スクリーンコンテンツが、圧縮されるべき主要なコンテンツであり得る。このタイプのコンテンツは、離散トーン、鋭いライン、および高コントラストオブジェクト境界を有する傾向がある。連続トーンおよび滑らかさの仮定はもはや適用されないことがあり、したがって、旧来のビデオコーディング技法は、コンテンツを圧縮する際に非効率的であり得る。
【００１６】
[0028]本開示は、スクリーンコンテンツコーディング、または１つまたは複数の旧来のコーディングツールが非効率的である他のコンテンツに特に好適であり得る、パレットベースコーディングについて説明する。ビデオデータのパレットベースコーディングは、インター予測コーディングまたはイントラ予測コーディングのための技法など、１つまたは複数の他のコーディング技法とともに使用され得る。たとえば、以下でより詳細に説明するように、エンコーダまたはデコーダ、あるいは複合エンコーダデコーダ（コーデック）は、インター予測コーディングおよびイントラ予測コーディング、ならびにパレットベースコーディングを実行するように構成され得る。
【００１７】
[0029]パレットモードコーディングでは、パレットは、ブロックサンプルのための予測子としてまたは最終再構成済みブロックサンプルとして使用され得る、色成分値を表すインデックスによって番号を付けられたエントリを含むかまたはそれらからなる。パレット中の各エントリは、１つの色成分（たとえば、ルーマ値）または２つの成分（たとえば、２つのクロマ値）または３つの色成分（たとえば、ＲＧＢ、ＹＵＶ、または他の色空間の成分）のトリプレットを含んでいることがある。他の状況では、「ＣＭＹＫ」のような４成分色空間を用いる場合など、４つまたはそれ以上の色成分も使用され得る。
【００１８】
[0030]ビデオデータのブロックは、ブロックの各サンプルについて、パレット中の対応するエントリへのインデックスを示すことによってコーディングされ得る。インデックスを個々にシグナリングする代わりに、パレット中の同じエントリへのインデックスのランを示すことによって、さらなる効率が達成される。パレットモードブロック中のサンプルは、ランモード、たとえば、（本明細書では「ｉｎｄｅｘ−ｃｏｐｙ」と呼ばれることもある）「ｃｏｐｙ−ｌｅｆｔ」、および「ｃｏｐｙ−ａｂｏｖｅ」をもつランレングスコーディングを使用してコーディングされ得る。
【００１９】
[0031]パレットをシグナリングするために使用されるビットを低減するために、パレット中のエントリは、前に復号されたパレットエントリを使用して予測される。（重複エントリをプルーニングアウトした後の）前の復号されたパレットエントリは、パレット予測子リストと呼ばれるリストを形成する。パレット予測子リストにおける各エントリについて、対応するエントリが現在パレットにおいて再利用されるか否かを示すために、１つのビンが使用される。これらのビンは、バイナリベクトルを形成し得る。このベクトルは、ｐｒｅｖｉｏｕｓ＿ｐａｌｅｔｔｅ＿ｅｎｔｒｙ＿ｆｌａｇ［ｉ］のシンタックス要素に対応する。
【００２０】
[0032]デコーダでは、ｐｒｅｖｉｏｕｓ＿ｐａｌｅｔｔｅ＿ｅｎｔｒｙ＿ｆｌａｇのすべてを復号した後、それの対応するｐｒｅｖｉｏｕｓ＿ｐａｌｅｔｔｅ＿ｅｎｔｒｙ＿ｆｌａｇが１に等しい、パレット予測子リストにおけるエントリが、現在ブロックのパレットの最初に配置される。言い換えれば、現在パレットが、２つのゾーンに論理的に分割され得る。第１のゾーン（以下、ＺＯＮＥ＿Ｐと称され、最初に配置される）は、パレット予測子リストからの再利用されたエントリから構成される。第２のゾーン（以下、ＺＯＮＥ＿Ｔと称され、第１のゾーンの後に配置される）は、パレット予測子リスト中になく、ビットストリーム中で直接シグナリングされる、新しいパレットエントリから構成される。
【００２１】
[0033]パレット予測子リストは、前にコーディングされたブロック中で使用されるいわゆる「エスケープピクセル」を含まない。エスケープピクセルは、パレットコード化ブロック中に存在するが、ブロックのためのパレット中に含まれない、ピクセルである。特に、前にコーディングされたブロックのエスケープピクセルが現在ブロックに隣接する場合、それらのエスケープピクセルが現在ブロック中でも使用される高い確率があり得る。したがって、現在ブロックのためのパレット予測子リスト中に、前にコーディングされたブロックのエスケープピクセルのうちの少なくともいくつかを含めることは、有利であり得る。
【００２２】
[0034]本開示は、現在ブロックのパレットを予測するための追加の候補パレット予測子として、現在ブロックの上のラインおよび現在ブロックの左のラインからのピクセルなど、近隣再構成済みピクセルを使用する技法について説明する。たとえば、ビデオコーダは、本明細書では「エクストラパレット予測子リスト」と呼ばれる別のパレット予測リストを構成するために、近隣再構成済みピクセルを使用し得る。ビデオコーダは、ビデオコーダがパレット中の他のピクセルを使用するであろうのと同様の方法で、「エクストラパレット予測子リスト」中のピクセルを使用し得る。たとえば、ビットストリームは、現在ブロックの対応するピクセルが、「エクストラパレット予測子リスト」中のエントリによって指定されたサンプル値を有することを示すために、そのエントリへのインデックスを含み得る。
【００２３】
[0035]したがって、本開示の一例によれば、ビデオコーダは、１つまたは複数の候補を備えるかまたはそれらからなる、パレット予測子リストを決定し得る。この例では、パレット予測子リストにおける各それぞれの候補は、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定する。さらに、この例では、１つまたは複数の再構成済み近隣ピクセルの各々は、ビデオデータの現在ブロックの上のライン中または左の列中にある。たとえば、近隣ピクセルは、現在ブロックに隣接し得る。いくつかの例では、近隣ピクセルは、現在ブロックの上の行あるいは上の２つまたはそれ以上の行から来ることがある。近隣ピクセルはまた、現在ブロックの左の列あるいは左の２つまたはそれ以上の列から来ることがある。この例では、ビデオコーダは、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含める。
【００２４】
[0036]図１は、本開示の技法を利用し得る例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用する「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指すことがある。
【００２５】
[0037]図１に示されているように、ビデオコーディングシステム１０は、ソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２は、符号化ビデオデータを生成する。したがって、ソースデバイス１２は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス１４は、ソースデバイス１２によって生成された符号化ビデオデータを復号し得る。したがって、宛先デバイス１４は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。ソースデバイス１２および宛先デバイス１４は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。復号は、符号化ビデオデータからサンプル値を再構成することを示す。
【００２６】
[0038]ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック（たとえば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータ、ビデオ会議デバイス、または他のタイプのメディア対応デバイスを含む、広範囲にわたるデバイスを備え得る。
【００２７】
[0039]宛先デバイス１４は、チャネル１６を介してソースデバイス１２から符号化ビデオデータを受信し得る。チャネル１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な１つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にする１つまたは複数の通信媒体を備え得る。この例では、ソースデバイス１２は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス１４に送信し得る。１つまたは複数の通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、ワイヤレスおよび／またはワイヤード通信媒体を含み得る。１つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク（たとえば、インターネット）など、パケットベースネットワークの一部を形成し得る。１つまたは複数の通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にする、ルータ、スイッチ、基地局、または他の機器を含み得る。
【００２８】
[0040]別の例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス１４は、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオデータを記憶するための他の好適なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
【００２９】
[0041]さらなる一例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶するファイルサーバまたは別の中間記憶デバイスを含み得る。この例では、宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間記憶デバイスに記憶された、符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイス１４に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイトのための）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、およびローカルディスクドライブがある。
【００３０】
[0042]宛先デバイス１４は、インターネット接続などの標準的なデータ接続を通して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続としては、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００３１】
[0043]本開示の技法はワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の適用例など、様々なマルチメディア適用例をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３２】
[0044]図１は一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定（たとえば、ビデオ符号化またはビデオ復号）に適用され得る。他の例では、データ（たとえば、ビデオデータ）がローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスは、データ（たとえば、ビデオデータ）を符号化し、メモリに記憶し得、および／またはビデオ復号デバイスは、メモリからデータ（たとえば、ビデオデータ）を取り出し、復号し得る。多くの例では、符号化および復号は、互いに通信しないが、単にメモリにデータ（たとえば、ビデオデータ）を符号化し、および／またはメモリからデータ（たとえば、ビデオデータ）を取り出し、復号するデバイスによって実行される。
【００３３】
[0045]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。いくつかの例では、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ビデオソース１８は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前にキャプチャされたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および／またはビデオデータを生成するためのコンピュータグラフィクスシステム、あるいはビデオデータのそのようなソースの組合せを含み得る。
【００３４】
[0046]ビデオエンコーダ２０は、ビデオソース１８からのビデオデータを符号化し得る。いくつかの例では、ソースデバイス１２は、出力インターフェース２２を介して宛先デバイス１４に符号化ビデオデータを直接送信する。他の例では、符号化ビデオデータは、復号および／または再生のための宛先デバイス１４による後のアクセスのために記憶媒体またはファイルサーバ上にも記憶され得る。
【００３５】
[0047]図１の例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかの例では、入力インターフェース２８は受信機および／またはモデムを含む。入力インターフェース２８は、チャネル１６から符号化ビデオデータを受信し得る。ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るかまたはその外部にあり得る。概して、ディスプレイデバイス３２は復号ビデオデータを表示する。ディスプレイデバイス３２は、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスを備え得る。
【００３６】
[0048]本開示では、概して、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０などの別のデバイスに「シグナリングすること」または「送信すること」に言及することがある。「シグナリングすること」または「送信すること」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックス要素および／または他のデータの通信を指すことがある。そのような通信は、リアルタイムまたはほぼリアルタイムに行われ得る。代替的に、そのような通信は、符号化時に符号化ビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われることがあるなど、ある時間期間にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。したがって、ビデオデコーダ３０は、ある情報を「受信する」ものと呼ばれることがあるが、情報の受信は、必ずしもリアルタイムまたはほぼリアルタイムで行われるとは限らず、記憶の後の何らかの時間に媒体から取り出されることがある。
【００３７】
[0049]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装される場合、デバイスは、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、本開示の技法を実施するために１つまたは複数のプロセッサを使用してその命令をハードウェアで実行し得る。（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む）上記のいずれも、１つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００３８】
[0050]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣなど、ビデオ圧縮規格に従って動作する。以下で「ＨＥＶＣバージョン１」と呼ばれるＨＥＶＣのバージョンは、https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.265-201304-S!!PDF-E&type=itemsから入手可能である。ＨＥＶＣバージョン１に加えて、ＨＥＶＣのためのスケーラブルビデオコーディング拡張、マルチビュービデオコーディング拡張、および３Ｄコーディング拡張を作成するための作業が進行中である。さらに、たとえば、本開示で説明するようなパレットベースコーディングモードが、ＨＥＶＣの拡張のために与えられ得る。いくつかの例では、パレットベースコーディングのための本開示で説明する技法が、ＩＴＵ−Ｔ−Ｈ．２６４／ＡＶＣ規格または将来の規格など、他のビデオコーディング規格に従って動作するように構成されたエンコーダおよびデコーダに適用され得る。したがって、ＨＥＶＣコーデックにおけるコーディングユニット（ＣＵ）または予測ユニット（ＰＵ）のコーディングのためのパレットベースコーディングモードの適用について、例として説明する。
【００３９】
[0051]ビデオコーディングシステム１０のビデオエンコーダ２０およびビデオデコーダ３０は、本開示で説明する様々な例に従ってパレットベースビデオコーディングのための技法を実行するように構成され得るデバイスの例を表す。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、パレットベースコーディングまたは非パレットベースコーディングのいずれかを使用して、ＨＥＶＣコーディングにおけるＣＵまたはＰＵなど、ビデオデータの様々なブロックを選択的にコーディングするように構成され得る。非パレットベースコーディングモードは、ＨＥＶＣバージョン１によって規定される様々なコーディングモードなど、様々なインター予測時間コーディングモードまたはイントラ予測空間コーディングモードを指し得る。
【００４０】
[0052]ＨＥＶＣおよび他のビデオコーディング規格では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、ＳL、ＳCbおよびＳCrと示される３つのサンプルアレイを含み得る。ＳLはルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbはＣｂクロミナンスサンプルの２次元アレイである。ＳCrはＣｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【００４１】
[0053]ピクチャの符号化表現を生成するために、ビデオエンコーダ２０はコーディングツリーユニット（ＣＴＵ：coding tree unit）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの２つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造であり得る。コーディングツリーブロックは、サンプルのＮ×Ｎブロックであり得る。ＣＴＵは「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ：largest coding unit）と呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなど、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。スライスは、ラスタ走査において連続的に順序付けられた整数個のＣＴＵを含み得る。
【００４２】
[0054]コード化ＣＴＵを生成するために、ビデオエンコーダ２０は、コーディングツリーブロックをコーディングブロックに分割するためにＣＴＵのコーディングツリーブロックに対して４分木区分を再帰的に実行し得、したがって「コーディングツリーユニット」という名称がある。コーディングブロックはサンプルのＮ×Ｎブロックである。ＣＵは、ルーマサンプルアレイ、ＣｂサンプルアレイおよびＣｒサンプルアレイ、ならびにコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を有するピクチャのルーマサンプルの１つのコーディングブロックおよびクロマサンプルの２つの対応するコーディングブロックであり得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００４３】
[0055]ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックであり得る。ＣＵの予測ユニット（ＰＵ）は、ピクチャのルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とであり得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロックとＣｂ予測ブロックとＣｒ予測ブロックとのための予測ルーマブロックと予測Ｃｂブロックと予測Ｃｒブロックとを生成し得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。
【００４４】
[0056]ビデオエンコーダ２０は、ＰＵのための予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。予測ブロックは、「予測サンプルブロック」と呼ばれることもある。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号サンプルに基づいてＰＵの予測ブロックを生成し得る。本開示では、「に基づいて」は、いくつかの事例では、「に少なくとも部分的に基づいて」と解釈され得る。
【００４５】
[0057]ビデオエンコーダ２０が、ＰＵの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ブロックを生成し得る。ビデオエンコーダ２０は、ＰＵの予測ブロックを生成するために単予測または双予測を使用し得る。ビデオエンコーダ２０が、ＰＵのための予測ブロックを生成するために単予測を使用するとき、ＰＵは単一の動きベクトルを有し得る。ビデオエンコーダ２０が、ＰＵのための予測ブロックを生成するために双予測を使用するとき、ＰＵは２つの動きベクトルを有し得る。
【００４６】
[0058]ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ブロック（たとえば、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック）を生成した後、ビデオエンコーダ２０は、ＣＵのための残差ブロックを生成し得る。残差ブロック中の各サンプルは、ＣＵの予測ブロックのうちの１つ中のサンプルとＣＵの元のコーディングブロックのうちの１つ中の対応するサンプルとの間の差を示す。たとえば、ビデオエンコーダ２０はＣＵのためのルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つ中のルーマサンプルとＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差を示す。さらに、ビデオエンコーダ２０はＣＵのためのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つ中のＣｂサンプルとＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差を示し得る。ビデオエンコーダ２０はＣＵのためのＣｒ残差ブロックをも生成し得る。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つ中のＣｒサンプルとＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差を示し得る。
【００４７】
[0059]さらに、ビデオエンコーダ２０は、ＣＵ残差ブロック（たとえば、ルーマ残差ブロック、Ｃｂ残差ブロックおよびＣｒ残差ブロック）を１つまたは複数の変換ブロック（たとえば、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロック）に分解するために４分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とであり得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに対応し得る。ＴＵに関連付けられたルーマ変換ブロックはＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックはＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックはＣＵのＣｒ残差ブロックのサブブロックであり得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【００４８】
[0060]ビデオエンコーダ２０は、ＴＵのための係数ブロックを生成するために、変換ブロックに１つまたは複数の変換を適用し得る。係数ブロックは変換係数の２次元アレイであり得る。変換係数はスカラー量であり得る。たとえば、ビデオエンコーダ２０は、ＴＵのためのルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２０は、ＴＵのためのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２０は、ＴＵのためのＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用し得る。
【００４９】
[0061]係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後に、ビデオエンコーダ２０は、係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。ビデオエンコーダ２０が係数ブロックを量子化した後に、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）を実行し得る。ビデオエンコーダ２０は、エントロピー符号化シンタックス要素をビットストリーム中に出力し得る。ビットストリームは、エントロピー符号化されないシンタックス要素をも含み得る。
【００５０】
[0062]ビデオエンコーダ２０は、エントロピー符号化シンタックス要素を含むビットストリームを出力し得る。ビットストリームは、コード化ピクチャと関連データとの表現を形成するビットのシーケンスを含み得る。言い換えれば、ビットストリームは、ビデオデータの符号化表現を備え得る。ビットストリームは、ネットワークアブストラクションレイヤ（ＮＡＬ：network abstraction layer）ユニットのシーケンスを備え得る。ＮＡＬユニットの各々はＮＡＬユニットヘッダを含み、ローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）をカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを指示するシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造である。いくつかの事例では、ＲＢＳＰは０ビットを含む。
【００５１】
[0063]異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。たとえば、第１のタイプのＮＡＬユニットはピクチャパラメータセット（ＰＰＳ：picture parameter set）のためのＲＢＳＰをカプセル化し得、第２のタイプのＮＡＬユニットはコード化スライスのためのＲＢＳＰをカプセル化し得、第３のタイプのＮＡＬユニットは補足エンハンスメント情報（ＳＥＩ：Supplemental Enhancement Information）のためのＲＢＳＰをカプセル化し得、以下同様である。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰとは対照的に）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれることがある。ＳＥＩは、ＶＣＬ  ＮＡＬユニットからのコード化ピクチャのサンプルを復号するために必要でない情報を含んでいる（たとえば、からなる）ことがある。ＳＥＩ  ＲＢＳＰは、１つまたは複数のＳＥＩメッセージを含んでいることがある。
【００５２】
[0064]ＶＰＳは、０個以上のコード化ビデオシーケンス（ＣＶＳ）全体に適用されるシンタックス要素を備えるシンタックス構造である。シーケンスパラメータセット（ＳＰＳ）も、０個以上のＣＶＳ全体に適用されるシンタックス要素を備えるシンタックス構造である。ＳＰＳは、ＳＰＳがアクティブであるときにアクティブなＶＰＳを識別するシンタックス要素を含み得る。したがって、ＶＰＳのシンタックス要素は、ＳＰＳのシンタックス要素よりも一般的に適用可能であり得る。ピクチャパラメータセット（ＰＰＳ）は、０個またはそれ以上のコード化ピクチャに適用されるシンタックス要素を備えるシンタックス構造である。ＰＰＳは、ＰＰＳがアクティブであるときにアクティブなＳＰＳを識別するシンタックス要素を含み得る。スライスのスライスヘッダは、スライスがコーディングされているときにアクティブなＰＰＳを示すシンタックス要素を含み得る。
【００５３】
[0065]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。さらに、ビデオデコーダ３０は、ビットストリームからシンタックス要素を取得（たとえば、復号）するために、ビットストリームをパースし得る。ビデオデコーダ３０は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ２０によって実行されるプロセスの逆であり得る。
【００５４】
[0066]たとえば、ビデオデコーダ３０は、現在ＣＵのＰＵのための予測ブロックを決定するためにＰＵの動きベクトルを使用し得る。さらに、ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた変換ブロックを再構成するために変換係数ブロックに対して逆変換を実行し得る。ビデオデコーダ３０は、現在ＣＵのＰＵのための予測サンプルブロックのサンプルを現在ＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在ＣＵのコーディングブロックを再構成し得る。ピクチャの各ＣＵのためのコーディングブロックを再構成することによって、ビデオデコーダ３０はピクチャを再構成し得る。
【００５５】
[0067]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、パレットベースコーディングを実行するように構成され得る。たとえば、パレットベースコーディングでは、ビデオエンコーダ２０およびビデオデコーダ３０は、特定のエリア（たとえば、所与のブロック）のビデオデータを表すための色のテーブルとして、いわゆるパレットをコーディングし得る。各ピクセルは、ピクセルの少なくとも１つのサンプルを表すパレット中のエントリに関連付けられ得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、ピクセルの１つまたは複数のサンプルを指定するパレットエントリを識別するピクセルのためのインデックスをコーディングし得る。いくつかの例では、「ピクセル値」は、単一の色成分（たとえば、ルーマ、Ｃｂ、Ｃｒ）の単一のサンプル値である。他の例では、「ピクセル値」は、複数のサンプル値（たとえば、ルーマサンプル値、Ｃｂサンプル値、およびＣｒサンプル値）である。
【００５６】
[0068]ビデオエンコーダ２０は、ＣＵレベルにおいてパレット関係シンタックス要素をシグナリングし得る。たとえば、ＣＵがパレットモードを使用して符号化される場合、ＣＵは１つまたは複数のｐａｌｅｔｔｅ＿ｃｏｄｉｎｇ＿ｃｏｍｐｏｎｅｎｔシンタックス構造を含み得る。ｐａｌｅｔｔｅ＿ｃｏｄｉｎｇ＿ｃｏｍｐｏｎｅｎｔシンタックス構造のシンタックスは、以下の表１において再現される。
【００５７】
【表１】
2017527168.tif 000003
2017527168.tif 000004
2017527168.tif 000005
【００５８】
[0069]以下の段落では、表１におけるシンタックス要素の例示的なセマンティクスについて説明する。
【００５９】
[0070]１に等しいｐｒｅｖｉｏｕｓ＿ｐａｌｅｔｔｅ＿ｅｎｔｒｙ＿ｆｌａｇ［ｉ］は、前の使用されたパレットからのパレットエントリがコピーされることを指定する。０に等しいｐｒｅｖｉｏｕｓ＿ｐａｌｅｔｔｅ＿ｅｎｔｒｙ＿ｆｌａｇ［ｉ］は、前の使用されたパレットからのパレットエントリがコピーされないことを指定する。ｐｒｅｖｉｏｕｓＰａｌｅｔｔｅＳｉｚｅは、パレットモードで復号される、前のＣＵのパレットのサイズである。変数ｐｒｅｖｉｏｕｓＰａｌｅｔｔｅＳｉｚｅは、各ＣＴＢラインならびにスライスの第１の復号パレットＣＵのために、０に等しく設定される。
【００６０】
[0071]ｐａｌｅｔｔｅ＿ｎｕｍ＿ｓｉｇｎａｌｌｅｄ＿ｅｎｔｒｉｅｓは、現在ＣＵのために明示的にシグナリングされるパレット中のエントリの数を指定する。ｐａｌｅｔｔｅ＿ｎｕｍ＿ｓｉｇｎａｌｌｅｄ＿ｅｎｔｒｉｅｓが存在しないとき、それは０に等しいと推論される。
【００６１】
[0072]ｐａｌｅｔｔｅ＿ｅｎｔｒｉｅｓ［ｃＩｄｘ］［ｉ］は、色成分ｃＩｄｘのためのパレット中のｉ番目の要素を指定する。アレイｐｒｅｖｉｏｕｓＰａｌｅｔｔｅＥｎｔｒｉｅｓは、パレットモードで復号される最後のＣＵのアレイｐａｌｅｔｔｅ＿ｅｎｔｒｉｅｓに等しい。
【００６２】
[0073]ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌはエスケープピクセル値を指定する。
【００６３】
[0074]１に等しいｐａｌｅｔｔｅ＿ｒｕｎ＿ｔｙｐｅ＿ｆｌａｇは、復号プロセスが、復号ピクセル値が上の行中の同じロケーションにおけるピクセルに等しい、ＣＯＰＹ＿ＡＢＯＶＥ＿ＭＯＤＥであることを指定する。０に等しいｐａｌｅｔｔｅ＿ｒｕｎ＿ｔｙｐｅ＿ｆｌａｇは、復号プロセスモードが、ピクセルのパレットインデックスがビットストリーム中でコーディングされる、ＩＮＤＥＸ＿ＭＯＤＥであることを指定する。ｐａｌｅｔｔｅ＿ｒｕｎ＿ｔｙｐｅ＿ｆｌａｇが存在しないとき、それはＩＮＤＥＸ＿ＭＯＤＥに等しいと推論される。
【００６４】
[0075]ｐａｌｅｔｔｅ＿ｉｎｄｅｘは、パレットエントリへのインデックスである。ｐａｌｅｔｔｅ＿ｉｎｄｅｘがｐａｌｅｔｔｅ＿ｓｉｚｅに等しい場合、ピクセルはＥＳＣＡＰＥ＿ＰＩＸＥＬとしてコーディングされる。
【００６５】
[0076]ｐａｌｅｔｔｅ＿ｒｕｎは、ｐａｌｅｔｔｅ＿ｒｕｎ＿ｔｙｐｅ＿ｆｌａｇがＣＯＰＹ＿ＡＢＯＶＥ＿ＭＯＤＥに等しいとき、上の行中の位置と同じパレットインデックスをもつ連続するロケーションの数−１を示し、またはｐａｌｅｔｔｅ＿ｒｕｎ＿ｔｙｐｅ＿ｆｌａｇがＩＮＤＥＸ＿ＭＯＤＥに等しいとき、同じパレットインデックスをもつ連続するロケーションの数−１を表す。
【００６６】
[0077]したがって、パレットモード（すなわち、パレットベースコーディング）では、パレットは、ブロックサンプルのための予測子としてまたは最終再構成済みブロックサンプルとして使用され得る色成分値を表すインデックスによって番号を付けられたエントリからなり得る。パレット中の各エントリは、１つの色成分（たとえば、ルーマ値）または２つの成分（たとえば、２つのクロマ値）または３つの色成分（たとえば、ＲＧＢ、ＹＵＶなど）のトリプレットを含んでいることがある。パレットモードブロック中のサンプルは、ランレングスコーディングを使用してコーディングされる。たとえば、（本明細書では「ｉｎｄｅｘ−ｃｏｐｙ」と呼ばれることもある）「ｃｏｐｙ−ｌｅｆｔ」、「ｃｏｐｙ−ａｂｏｖｅ」、および「ｅｓｃａｐｅ」を含む、３つのランモードが使用され得る。たとえば、Ｐｕら、「SCCE3 base Software Bugfix Report」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaborative Team on Video Coding）、第１８回会議、札幌、日本、２０１４年６月３０日〜７月９日、ドキュメントＪＣＴＶＣ−Ｒ０３０６（以下、「ＪＣＴＶＣ−Ｒ０３０６−ＷＤ」）参照。
【００６７】
[0078]いくつかの例では、ビデオエンコーダ２０は、ブロックのためのパレットを決定することと、各ピクセルの値を表すためのパレット中のエントリの位置を特定することと、ピクセル値をパレットに関係付けるピクセルのためのインデックス値を用いてパレットを符号化することとによって、ビデオデータのブロックを符号化し得る。ビデオデコーダ３０は、符号化ビットストリームから、ブロックのためのパレット、ならびにブロックのピクセルのためのインデックス値を取得し得る。ビデオデコーダ３０は、ブロックのピクセル値を再構成するために、ピクセルのインデックス値をパレットのエントリに関係付け得る。
【００６８】
[0079]パレットをシグナリングするために使用されるビットを低減するために、パレット中のエントリは、前に復号されたパレットエントリを使用して予測され得る（たとえば、ＪＣＴＶＣ−Ｒ０３０６−ＷＤおよびＧｉｓｑｕｅｔら、「SCCE3 Test A.3: palette stuffing」、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１８回会議、札幌、日本、２０１４年６月３０日〜７月９日、ドキュメントＪＣＴＶＣ−Ｒ００８２（以下「ＪＣＴＶＣ−Ｒ００８２」）参照）。前に復号されたパレットエントリは、重複エントリをプルーニングアウトした後、本明細書ではパレット予測子リストと呼ばれるリストを形成する。パレット予測子リストにおける各エントリについて、対応するエントリが現在パレットにおいて再利用されるか否かを示すために、１つのビンが使用される。これらのビンは、バイナリベクトルを形成する。ＪＣＴＶＣ−Ｒ０３０６−ＷＤでは、このベクトルは、シンタックス要素ｐｒｅｖｉｏｕｓ＿ｐａｌｅｔｔｅ＿ｅｎｔｒｙ＿ｆｌａｇ［ｉ］に対応する。このベクトルを圧縮するために、Ｋａｒｃｚｅｗｉｃｚら、「SCCE3: Test A.8 - Improvements on palette prediction vector signaling」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１８回会議、札幌、日本、２０１４年６月３０日〜７月９日、ドキュメントＪＣＴＶＣ−Ｒ００６３（以下、「ＪＣＴＶＣ−Ｒ００６３」）など、様々な方法が開発された。
【００６９】
[0080]Ｇｉｓｑｕｅｔら、「AhG10: palette predictor stuffing」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１８回会議、札幌、日本、２０１４年６月３０日〜７月９日、ドキュメントＪＣＴＶＣ−Ｑ００６３（以下、「ＪＣＴＶＣ−Ｑ００６３」）は、パレット予測子リストをどのように生成すべきかの別の例を与える。ＪＣＴＶＣ−Ｑ００６３では、ビデオコーダは、予測子として最後のコード化パレットを使用する。ＪＣＴＶＣ−Ｑ００６３は、図２に示されているように、この予測子の終端に、現在予測子からの未使用値をスタッフィングすることを提案した。図２は、例示的なパレットスタッフィングプロセスを示す概念図である。図２では、ＣＵ１が符号化された後、予測子がＣＵ２にとって利用可能にされる。現在、それはＣＵ１のパレットである。予測子要素の再利用を示すビットフラグが生成され、コーディングされる。ＣＵ２パレットが、通常、ＣＵ３の予測子として使用されるであろう。ＣＵ２のパレット予測子からのビットフラグを検査することによって、どの要素が再利用されていないかを決定することが可能である。それらの要素は、予測子の終端に追加される。
【００７０】
[0081]それらの要素が過去に実際に出現しており、依然として出現し得るので、予測子中に追加の要素を含めることは有益であり得る。しかしながら、それらの追加の要素が再び出現する確率はより低い。この再帰的構成によって、予測子が生成され、ここで、要素がいくぶん確率によって順序付けられる。さらに、有効な予測が提供する高圧縮比により、予測子のサイズを増加させることが可能であり、有益であり得る。
【００７１】
[0082]図３である示されているように、特に予測子のサイズが予測すべき実際のパレットよりもはるかに大きいとき、パレットはたいてい予測子の始めにある要素によって予測されることが起こり得る。図３は、例示的な予測フラグを示す概念図である。図３に見られるように、予測方式は、限られた効率を有し得る。一般的な改善は要素のＣＡＢＡＣコーディングであろうが、これは少なくとも３２個のフラグのための頻繁な更新を必要とするであろう。ＪＣＴＶＣ−Ｑ００６３は、いつ要素がもはや予測され得ないかを示すために、「予測終了（end-of-prediction）」と呼ばれる中間フラグを追加することを代わりに提案した。しかしながら、これがより多くのフラグを追加するので、それはフラグのビットマップの拡大を引き起こし得る。したがって、ビットマップ中の特定のロケーションにおいてフラグを挿入することがより良いことがある。
【００７２】
[0083]いくつかの事例では、ビデオデコーダ３０において、ｐｒｅｖｉｏｕｓ＿ｐａｌｅｔｔｅ＿ｅｎｔｒｙ＿ｆｌａｇシンタックス要素のすべてを復号した後、それの対応するｐｒｅｖｉｏｕｓ＿ｐａｌｅｔｔｅ＿ｅｎｔｒｙ＿ｆｌａｇが１に等しい、パレット予測子リストにおけるエントリが、現在ブロックのパレットの最初に配置される。言い換えれば、現在パレットが、２つのゾーンに論理的に分割され得る。第１のゾーン（以下、ＺＯＮＥ＿Ｐと称され、これは最初に配置される）は、パレット予測子リストからの再利用されたエントリから構成される。第２のゾーン（以下、ＺＯＮＥ＿Ｔと称され、これは第１のゾーンの後に配置される）は、パレット予測子リスト中になく、ビットストリーム中で直接シグナリングされる、新しいパレットエントリから構成される。
【００７３】
[0084]パレット予測子リストは、前にコーディングされたブロック中で使用されるいわゆる「エスケープピクセル」を含まない。エスケープピクセルは、パレットコード化ブロック中に存在するが、ブロックのためのパレット中に含まれない、ピクセルである。たとえば、エスケープピクセルは、直接シグナリングされ得、いくつかの例では、予測コーディングされない。特に、前のブロックのエスケープピクセルが現在ブロックに隣接する場合、それらのエスケープピクセルが現在ブロック中でも使用される高いおそらくがあり得る。したがって、現在ブロックのためのパレット予測子リスト中に、前にコーディングされたブロックのエスケープピクセルのうちの少なくともいくつかを含めることは、有利であり得る。そのようなエスケープピクセルがパレット予測子リスト中に含まれないが、現在ブロック中で使用される場合、そのようなピクセルは、現在ブロックの追加のパレットエントリ、または現在ブロックのエスケープピクセルとしてシグナリングされる必要があり得る。
【００７４】
[0085]本開示は、現在ブロックのパレットを予測するための追加の候補パレット予測子としての、近隣再構成済みピクセル（たとえば、利用可能な場合、現在ブロックのすぐ上の１つまたは複数のラインからのピクセル、および利用可能な場合、現在ブロックのすぐ左の１つまたは複数のラインからのピクセル）の使用を提案する。混乱を回避するために、本開示は、ＪＣＴＶＣ−Ｑ００６３において使用されるパレット予測子リストなど、前のブロックのパレットに基づくパレット予測子リストを、「元のパレット予測子リスト」と呼ぶ。
【００７５】
[0086]本開示は、本明細書では「エクストラパレット予測子リスト」と呼ばれる別のパレット予測リストを構成するための、近隣再構成済みピクセルの使用を提案する。たとえば、近隣再構成済みピクセルがサンプル値３、５、および７を指定する場合、ビデオコーダは、サンプル値３、５、および７を指定する候補（すなわち、エントリ）を含むエクストラパレット予測子リストを決定し得る。
【００７６】
[0087]たとえば、ビデオエンコーダ２０は、１つまたは複数の候補なるパレット予測子リストを決定し得る。この例では、パレット予測子リストにおける各それぞれの候補は、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定する。この例では、１つまたは複数の再構成済み近隣ピクセルの各々は、ビデオデータの現在ブロックの上のライン中または左の列中にある。さらに、この例では、ビデオエンコーダ２０は、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含め得る。この例では、ビデオエンコーダ２０は、ビットストリーム中で、現在ブロックのピクセルのためのインデックス値を示す１つまたは複数のシンタックス要素をシグナリングし得、インデックス値が、パレット中のエントリに対応する。
【００７７】
[0088]同様の例では、ビデオデコーダ３０は、１つまたは複数の候補を備えるかまたはそれらからなる、パレット予測子リストを決定し得る。この例では、パレット予測子リストにおける各それぞれの候補は、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定する。この例では、１つまたは複数の再構成済み近隣ピクセルの各々は、ビデオデータの現在ブロックの上のライン中または左の列中にある。さらに、この例では、ビデオデコーダ３０は、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含め得る。いくつかの事例では、ビデオデコーダ３０は、現在ブロックのためのパレット中に候補のうちのいずれをも含めない。ビデオデコーダ３０はまた、ビットストリーム中でシグナリングされる１つまたは複数のシンタックス要素に基づいて、現在ブロックのピクセルのためのインデックス値を取得し得る。たとえば、１つまたは複数のシンタックス要素は、インデックス値を指定し得る。別の例では、ビデオデコーダ３０は、１つまたは複数のシンタックス要素および特定のルールに基づいて、現在ブロックのピクセルのためのインデックス値を推論することによって、インデックス値を取得し得る。この例では、ビデオデコーダ３０は、ピクセルのためのインデックス値に対応するパレット中のパレットエントリを識別し得る。ビデオデコーダ３０はまた、識別されたパレットエントリによって指定された少なくとも１つのサンプル値に基づいて、ピクセルの少なくとも１つの再構成済みサンプル値を決定し得る。
【００７８】
[0089]本開示のいくつかの例によれば、「エクストラパレット予測子リスト」中にＮ（≧０または＞０）個のエントリがあると仮定すると、ビデオエンコーダ２０は、「エクストラパレット予測子リスト」中の各個々のエントリが現在ブロックによって再利用されるか否かを示すために、ビットストリーム中で、それのサイズがＮに等しいバイナリベクトル（たとえば、２進値のアレイ）をシグナリングし得る。たとえば、Ｎが５に等しい場合、ビデオエンコーダ２０は、エクストラパレット予測子リストにおける第１、第２、第３、および第５の候補が現在ブロック中で再利用されることを示すために、バイナリベクトル１１１０１をシグナリングし得る。候補が現在ブロック中で再利用されない場合、ビデオコーダは、現在ブロックのパレットからその候補を省略し得る。バイナリベクトルは、ビットストリーム中で直接送信され得るか、または元のパレット予測子リストを圧縮するために使用される方法を使用して圧縮され得る。
【００７９】
[0090]このようにして、ビデオエンコーダ２０は、１つまたは複数の候補を備えるパレット予測子リストを決定し得る。パレット予測子リストにおける各それぞれの候補は、１つまたは複数の再構成済み近隣ピクセルの中からの異なる再構成済み近隣ピクセルのサンプル値を指定し得る。１つまたは複数の再構成済み近隣ピクセルの各々は、ビデオデータの現在ブロック（たとえば、ＣＵ、マクロブロックなど）の上のライン中または左の列中にある。さらに、ビデオエンコーダ２０は、ビットストリーム中で、１つまたは複数のシンタックス要素を備えるバイナリベクトルをシグナリングし得る。１つまたは複数のシンタックス要素の各々は、パレット予測子リストにおける異なる候補に対応する。パレット予測子リストにおける各それぞれの候補について、それぞれの候補に対応するシンタックス要素が、ビデオデータの現在ブロックのためのパレットがそれぞれの候補によって指定された値を含むことを示す場合、パレットは、それぞれの候補によって指定された値を指定するパレットエントリを含む。それぞれの候補に対応するシンタックス要素が、パレットがそれぞれの候補によって指定された値を含まないことを示す場合、パレットは、それぞれの候補によって指定された値を指定するパレットエントリを省略する。さらに、ビデオエンコーダ２０は、ビットストリーム中で、現在ブロックのサンプルのためのインデックス値を示す１つまたは複数のシンタックス要素をシグナリングし得、インデックス値が、パレット中のエントリに対応する。いくつかの例では、現在ブロックのためのパレット中のパレットエントリは、残差ピクセル値を指定し得る。他の例では、現在ブロックのためのパレットエントリは、非残差ピクセル値を指定し得る。
【００８０】
[0091]さらに、このようにして、ビデオデコーダ３０は、１つまたは複数の候補を備えるパレット予測子リストを決定し得、パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なる再構成済み近隣ピクセルの値を指定し、ここにおいて、１つまたは複数の再構成済み近隣ピクセルの各々が、ビデオデータの現在ブロック（たとえば、ＣＵ、マクロブロックなど）の上のライン中または左の列中にある。ビデオデコーダ３０は、ビットストリームから、１つまたは複数のシンタックス要素を備えるバイナリベクトルを取得し得、ここにおいて、１つまたは複数のシンタックス要素の各々が、パレット予測子リストにおける異なる候補に対応する。パレット予測子リストにおける各それぞれの候補について、それぞれの候補に対応するシンタックス要素が、ビデオデータの現在ブロックのためのパレットがそれぞれの候補によって指定された値を含むことを示す場合、ビデオデコーダ３０は、パレット中に、それぞれの候補によって指定された値を指定するパレットエントリを含め得る。それぞれの候補に対応するシンタックス要素が、パレットがそれぞれの候補によって指定された値を含まないことを示す場合、ビデオデコーダ３０は、パレットから、それぞれの候補によって指定された値を指定するパレットエントリを省略し得る。さらに、ビデオデコーダ３０は、ビットストリーム中でシグナリングされる１つまたは複数の追加のシンタックス要素に基づいて、現在ブロックのサンプルのためのインデックス値を取得し得る。さらに、ビデオデコーダ３０は、サンプルのためのインデックス値に対応するパレット中のパレットエントリを識別し得る。ビデオデコーダ３０は、識別されたパレットエントリによって指定されたピクセル値に基づいて、サンプルの再構成済み値を決定し得る。たとえば、いくつかの例では、サンプルの再構成済み値は、識別されたパレットエントリによって指定されたピクセル値に一致し得る。他の例では、識別されたパレットエントリによって指定されたピクセル値は、残差ピクセル値であり、ビデオデコーダ３０は、サンプルの再構成済み値が、パレットエントリによって指定されたピクセル値と予測ブロックのピクセル値との和に等しくなるように、サンプルの再構成済み値を決定し得る。
【００８１】
[0092]本開示の１つまたは複数の技法によれば、ビデオコーダは、「エクストラパレット予測子リスト」構成方法を実行し得る。第１の例示的な構成方法では、ビデオコーダは、「エクストラパレット予測子リスト」を形成するために、最高Ｋ（ここで、Ｋ＞０）個の近隣再構成済みピクセルを選ぶ。いくつかの例では、Ｋ＝５であり、ビデオコーダは、図４中のピクセルＡ0、Ａ1、Ｂ0、Ｂ1、およびＢ2を使用する。図４は、エクストラパレット予測子リストのための候補ピクセルを示す概念図である。たとえば、ピクセルＡ0、Ａ1、Ｂ0、Ｂ1、およびＢ2が、それぞれ、サンプル値５、１０、１５、２０、および２５を指定する場合、ビデオコーダは、それぞれ、サンプル値５、１０、１５、２０、および２５を指定する候補を含むエクストラパレット予測子リストを決定し得る。したがって、エクストラパレット予測リスト中で使用される再構成済み近隣ピクセルは、左下の再構成済み近隣ピクセル（すなわち、Ａ0）、左の再構成済み近隣ピクセル（すなわち、Ａ1）、左上の再構成済み近隣ピクセル（すなわち、Ｂ2）、上の再構成済み近隣ピクセル（すなわち、Ｂ1）、または右上の再構成済み近隣ピクセル（すなわち、Ｂ0）のうちの少なくとも１つを含み得る。Ｋ個の候補をランク付けするために、順序が定義される。一例として、候補は、（Ｂ2、Ａ0、Ｂ0、Ａ1、Ｂ1）として順序付けされ得る。重複候補を除去するために、プルーニングプロセスが適用され得る。プルーニング後、Ｋ個未満の候補がある場合、いくつかのあらかじめ定義された候補が追加され得る。たとえば、ＹＵＶ値（０，０，０）をもつエントリが追加され得る。別の例として、ＹＵＶ値（１２８，１２８，１２８）をもつエントリが追加され得る。
【００８２】
[0093]ビデオコーダは、リストから冗長候補を除去し得る。いくつかの例では、リストにおける、それ自体の前の別の候補に近い候補も、リストから除去され得る。たとえば、ビデオコーダは、エクストラパレット予測子リストにおける別の候補が特定の候補に近い場合、エクストラパレット予測子リストからその特定の候補を除去し得る。たとえば、しきい値距離が５であり、エクストラパレット予測子リストにおける第１の候補によって指定されたサンプル値が１００であり、エクストラパレット予測子リストにおける第２の候補によって指定されたサンプル値が９９である場合、ビデオコーダは、エクストラパレット予測子リストから第１の候補または第２の候補のいずれかを除去し得る。「近さ（closeness）」は、絶対差分和（ＳＡＤ）または２乗誤差和（ＳＳＥ）などのメトリックを使用して測定され得る。
【００８３】
[0094]別の例示的な構成方法では、ビデオコーダは、上のライン中および左の列中のピクセル、または上のラインおよび左の列から来るピクセルのサブセットを、それらの出現の数に従ってランク付けする。高頻度ピクセルは、エクストラパレット予測子リストにおける低頻度ピクセルの前に配置される。したがって、いくつかの例では、エクストラパレット予測子リストを決定することの一部として、ビデオコーダは、複数の再構成済み近隣ピクセルのサンプル値の頻度に従って、エクストラパレット予測子リスト内で、複数の再構成済み近隣ピクセルのうちの２つまたはそれ以上をランク付けし得る。たとえば、エクストラパレット予測子リストが候補Ａ、Ｂ、Ｃ、およびＤを含み、候補Ｄは近隣ピクセルの間で２回出現するサンプル値に対応し、候補Ａ、Ｂ、およびＣは近隣ピクセルの間で１回のみ出現するサンプル値に対応する場合、ビデオコーダは、エクストラパレット予測子リスト内で、候補Ｄが候補Ａ、Ｂ、およびＣに先行するように、候補をランク付けし得る。
【００８４】
[0095]このランク付けは、サンプル値が近隣ピクセルの間でより頻繁に使用される場合、そのサンプル値が現在ブロック中で使用される可能性が高い、という仮定に基づき得る。さらに、パレットエントリを示すインデックス値が単項コードとして表され得るので、可能性が高いサンプル値をより小さいインデックス値に関連付けることは、ビットストリームサイズを低減し得る。したがって、可能性が高い候補をエクストラパレット予測子リストの最初にランク付けすることは、ビットストリームサイズを低減し得る。
【００８５】
[0096]いくつかの例では、ビデオコーダは、エクストラパレット予測子リスト中にＮ個を超える候補がある場合、候補リストサイズをＮ個まで削減するために、リストトランケーションプロセスを適用し得る。したがって、いくつかの例では、エクストラパレット予測子リストを決定することの一部として、ビデオコーダは、エクストラパレット予測子リストのサイズが特定の数の候補に限定されるように、エクストラパレット予測子リストをトランケートし得る。たとえば、Ｎが４であり、エクストラパレット予測子リストが候補Ａ、Ｂ、Ｃ、Ｄ、Ｅ、およびＦを含む場合、ビデオコーダは、エクストラパレット予測子リストが候補Ａ、Ｂ、Ｃ、およびＤのみを含むように、エクストラパレット予測子リストをトランケートし得る。
【００８６】
[0097]さらに、いくつかの例では、再構成済み近隣ピクセルは、復号遅延を低減するために、「ループ内フィルタ処理の前の」値であり得る。たとえば、ビデオコーダは、パレット予測子リストを決定した後、１つまたは複数の再構成済み近隣ピクセルにループ内フィルタ処理を適用し得る。
【００８７】
[0098]本開示の１つまたは複数の技法によれば、ビデオコーダが現在ブロックのためにエクストラパレット予測子リストと元のパレット予測子リストとを構成した後、ビデオコーダは、プルーニングプロセスを適用し得る。ビデオコーダは、ブロック単位でエクストラパレット予測子リストを構成し得る。たとえば、エクストラパレット予測子リストにおけるエントリが元のパレット予測子リスト中にも含まれている場合、そのエントリは除去される。さらに、いくつかの例では、エクストラパレット予測子リストにおけるエントリと元のパレット予測子リストにおける任意のエントリとの間の最小距離がしきい値内にある場合、エクストラパレット予測子リストにおけるこのエントリは除去される。たとえば、距離が５であり、元のパレット予測子リストにおける候補によって指定されたサンプル値が１０１であり、エクストラパレット予測子リストにおける候補によって指定されたサンプル値が９９である場合、ビデオコーダは、元のパレット予測子リストにおける候補またはエクストラパレット予測子リストにおける候補のいずれかを除去し得る。しきい値は、量子化パラメータに依存し得る。いくつかの例では、距離は、ＳＡＤ、ＳＳＥ、または他のメトリックであり得る。
【００８８】
[0099]いくつかの例では、エクストラパレット予測子リストにおけるエントリは、現在ブロックを復号した後、元のパレット予測子リストにマージされないことがある。したがって、そのような例では、パレット予測子リストの候補が、現在ブロックの後に処理されるビデオデータのブロックのためのパレットを決定するために使用されるパレット予測子リスト中に含まれない。
【００８９】
[0100]本開示の１つまたは複数の技法によれば、エクストラパレット予測子リストから来る現在ブロック中のパレットエントリが、ＺＯＮＥ＿Ｅと称される新しいゾーンを形成すると仮定する。ビデオコーダは、以下の例のうちの１つまたは複数に従って３つのゾーンを順序付け得る。第１の例では、ビデオコーダは、エクストラパレット予測子リストから来るエントリを現在ブロックのパレットの最初に置き、次いで、元のパレット予測子リストから来るパレットエントリを置く。言い換えれば、この第１の例では、３つのゾーンが、ＺＯＮＥ＿Ｅ、ＺＯＮＥ＿Ｐ、ＺＯＮＥ＿Ｔとして順序付けられる。第２の例では、ビデオコーダは、元のパレット予測子リストから来るエントリを現在ブロックのパレットの最初に置き、次いで、エクストラパレット予測子リストから来るパレットエントリを置く。言い換えれば、この第２の例では、３つのゾーンが、ＺＯＮＥ＿Ｐ、ＺＯＮＥ＿Ｅ、ＺＯＮＥ＿Ｔとして順序付けられる。ＺＯＮＥ＿Ｐ、ＺＯＮＥ＿Ｔ、ＺＯＮＥ＿Ｅなど、他の順序も使用され得る。
【００９０】
[0101]図５は、本開示の技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。図５は、説明の目的で与えられており、本開示において広く例示され、説明される技法を限定するものと見なされるべきではない。説明の目的で、本開示は、ＨＥＶＣコーディングのコンテキストにおいてビデオエンコーダ２０について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【００９１】
[0102]ビデオエンコーダ２０は、本開示で説明する様々な例に従ってパレットベースビデオコーディングのための技法を実行するように構成され得るデバイスの一例を表す。たとえば、ビデオエンコーダ２０は、パレットベースコーディングまたは非パレットベースコーディングのいずれかを使用して、ＨＥＶＣコーディングにおけるＣＵまたはＰＵなど、ビデオデータの様々なブロックを選択的にコーディングするように構成され得る。非パレットベースコーディングモードは、ＨＥＶＣバージョン１によって規定される様々なコーディングモードなど、様々なインター予測時間コーディングモードまたはイントラ予測空間コーディングモードを指し得る。ビデオエンコーダ２０は、一例では、ピクセル値を示すエントリを有するパレットを生成し、ビデオデータのブロックの少なくともいくつかの位置のピクセル値を表すためにパレット中のピクセル値を選択し、ビデオデータのブロックの位置のうちの少なくともいくつかを選択されたピクセル値にそれぞれ対応するパレット中のエントリに関連付ける情報をシグナリングするように構成され得る。シグナリングされた情報は、ビデオデータを復号するためにビデオデコーダ３０によって使用され得る。
【００９２】
[0103]図５の例では、ビデオエンコーダ２０は、ビデオデータメモリ１０１と、予測処理ユニット１００と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換処理ユニット１１０と、再構成ユニット１１２と、フィルタユニット１１４と、復号ピクチャバッファ１１６と、エントロピー符号化ユニット１１８とを含む。予測処理ユニット１００は、インター予測処理ユニット１２０と、イントラ予測処理ユニット１２６とを含む。インター予測処理ユニット１２０は、動き推定ユニットと、動き補償ユニットとを含み得る（図示せず）。ビデオエンコーダ２０は、本開示で説明するパレットベースコーディング技法の様々な態様を実行するように構成された、パレットベース符号化ユニット１２２をも含む。他の例では、ビデオエンコーダ２０は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【００９３】
[0104]ビデオデータメモリ１０１は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ１０１に記憶されるビデオデータは、たとえば、ビデオソース１８から取得され得る。復号ピクチャバッファ１１６は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ２０によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ１０１および復号ピクチャバッファ１１６は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ１０１および復号ピクチャバッファ１１６は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ１０１は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【００９４】
[0105]ビデオエンコーダ２０はビデオデータを受信し得る。ビデオエンコーダ２０はビデオデータのピクチャのスライス中の各ＣＴＵを符号化し得る。ＣＴＵの各々は、等しいサイズのルーマコーディングツリーブロック（ＣＴＢ：coding tree block）と、ピクチャの対応するＣＴＢとに関連付けられ得る。ＣＴＵを符号化することの一部として、予測処理ユニット１００は、ＣＴＵのＣＴＢを徐々により小さいブロックに分割するために４分木区分を実行し得る。より小さいブロックはＣＵのコーディングブロックであり得る。たとえば、予測処理ユニット１００は、ＣＴＵに関連付けられたＣＴＢを４つの等しいサイズのサブブロックに区分し、サブブロックのうちの１つまたは複数を４つの等しいサイズのサブサブブロックに区分し得、以下同様である。
【００９５】
[0106]ビデオエンコーダ２０は、ＣＵの符号化表現（すなわち、コーディングされたＣＵ）を生成するためにＣＴＵのＣＵを符号化し得る。ＣＵを符号化することの一部として、予測処理ユニット１００は、ＣＵの１つまたは複数のＰＵの間でＣＵに関連付けられたコーディングブロックを区分し得る。したがって、各ＰＵは、ルーマ予測ブロックと、対応するクロマ予測ブロックとに関連付けられ得る。ビデオエンコーダ２０およびビデオデコーダ３０は、様々なサイズを有するＰＵをサポートし得る。上記のように、ＣＵのサイズはＣＵのルーマコーディングブロックのサイズを指すことがあり、ＰＵのサイズはＰＵのルーマ予測ブロックのサイズを指すことがある。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、イントラ予測用の２Ｎ×２ＮまたはＮ×ＮのＰＵサイズと、インター予測用の２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、または同様の対称ＰＵサイズとをサポートし得る。ビデオエンコーダ２０およびビデオデコーダ３０は、インター予測用の２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズに対する非対称区分をもサポートし得る。
【００９６】
[0107]インター予測処理ユニット１２０は、ＣＵの各ＰＵに対してインター予測を実行することによって、ＰＵのための予測データを生成し得る。ＰＵのための予測データは、ＰＵの予測ブロックとＰＵのための動き情報とを含み得る。インター予測処理ユニット１２０は、ＰＵがＩスライス中にあるのか、Ｐスライス中にあるのか、Ｂスライス中にあるのかに応じて、ＣＵのＰＵに対して異なる動作を実行し得る。Ｉスライス中では、すべてのＰＵがイントラ予測される。したがって、ＰＵがＩスライス中にある場合、インター予測処理ユニット１２０は、ＰＵに対してインター予測を実行しない。したがって、Ｉモードで符号化されたブロックの場合、予測ブロックは、同じフレーム内の前に符号化された近隣ブロックからの空間予測を使用して形成される。
【００９７】
[0108]ＰＵがＰスライス中にある場合、インター予測処理ユニット１２０の動き推定ユニットは、ＰＵの参照領域について参照ピクチャのリスト（たとえば、「ＲｅｆＰｉｃＬｉｓｔ０」）中の参照ピクチャを探索し得る。ＰＵのための参照領域は、ＰＵの予測ブロックに最も密接に対応するサンプルブロックを含んでいる参照ピクチャ内の領域であり得る。インター予測処理ユニット１２０は、ＰＵのための参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０中の位置を示す参照インデックスを生成し得る。さらに、インター予測処理ユニット１２０は、ＰＵの予測ブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示す動きベクトルを生成し得る。たとえば、動きベクトルは、現在の復号ピクチャ中の座標から参照ピクチャ中の座標までのオフセットを示す２次元ベクトルであり得る。インター予測処理ユニット１２０は、ＰＵの動き情報として参照インデックスと動きベクトルとを出力し得る。インター予測処理ユニット１２０のインター予測処理ユニット１２０は、ＰＵの動きベクトルによって示された参照ロケーションにおける実際のまたは補間されたサンプルに基づいて、ＰＵの予測ブロックを生成し得る。
【００９８】
[0109]ＰＵがＢスライス中にある場合、インター予測処理ユニット１２０は、ＰＵについての単予測または双予測を実行し得る。ＰＵについての単予測を実行するために、インター予測処理ユニット１２０は、ＰＵのための参照領域についてＲｅｆＰｉｃＬｉｓｔ０または第２の参照ピクチャリスト（「ＲｅｆＰｉｃＬｉｓｔ１」）の参照ピクチャを探索し得る。インター予測処理ユニット１２０は、ＰＵの動き情報として、参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照インデックスと、ＰＵのサンプルブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示す動きベクトルと、参照ピクチャがＲｅｆＰｉｃＬｉｓｔ０中にあるのかＲｅｆＰｉｃＬｉｓｔ１中にあるのかを示す１つまたは複数の予測方向インジケータとを出力し得る。インター予測処理ユニット１２０は、ＰＵの動きベクトルによって示された参照領域における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成し得る。
【００９９】
[0110]ＰＵについての双方向インター予測を実行するために、インター予測処理ユニット１２０は、ＰＵのための参照領域についてＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャを探索し得、ＰＵのための別の参照領域についてＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャをも探索し得る。インター予測処理ユニット１２０は、参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照ピクチャインデックスを生成し得る。さらに、インター予測処理ユニット１２０は、参照領域に関連付けられた参照ロケーションとＰＵの予測ブロックとの間の空間変位を示す動きベクトルを生成し得る。ＰＵの動き情報は、ＰＵの参照インデックスと動きベクトルとを含み得る。インター予測処理ユニット１２０は、ＰＵの動きベクトルによって示された参照領域における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成し得る。
【０１００】
[0111]本開示の様々な例によれば、ビデオエンコーダ２０は、パレットベースコーディングを実行するように構成され得る。ＨＥＶＣフレームワークに関して、一例として、パレットベースコーディング技法は、ＣＵモードとして使用されるように構成され得る。他の例では、パレットベースコーディング技法は、ＨＥＶＣのフレームワークにおいてＰＵモードとして使用されるように構成され得る。したがって、ＣＵモードのコンテキストにおいて（本開示全体にわたって）本明細書で説明する開示されるプロセスが、追加または代替として、ＰＵに適用され得る。しかしながら、これらのＨＥＶＣベースの例は、本明細書で説明するパレットベースコーディング技法が、独立して、あるいは他の既存のまたはまだ開発されていないシステム／規格の一部として動作するように適用され得るので、そのような技法の制限または限定であると見なされるべきではない。これらの場合、パレットコーディングのためのユニットは、正方形ブロック、矩形ブロック、さらには非矩形形状の領域であり得る。
【０１０１】
[0112]パレットベース符号化ユニット１２２は、たとえば、パレットベース符号化を、たとえば、ＣＵまたはＰＵのために実行し得る。たとえば、パレットベース符号化ユニット１２２は、各々が少なくとも１つのサンプル値を示すエントリを含むパレットを生成し、ビデオデータのブロックの少なくともいくつかの位置のサンプル値を表すためにパレット中のサンプル値を選択し、ビデオデータのブロックの位置のうちの少なくともいくつかを、それぞれ、選択されたサンプル値に対応するパレット中のエントリに関連付ける情報をシグナリングするように構成され得る。様々な機能について、パレットベース符号化ユニット１２２によって実行されるものとして説明したが、そのような機能の一部または全部は、他の処理ユニット、または異なる処理ユニットの組合せによって実行され得る。他の例では、パレットベース符号化ユニット１２２は予測処理ユニット１００の外側にあり得る。
【０１０２】
[0113]本開示のいくつかの例によれば、パレットベース符号化ユニット１２２は、１つまたは複数の候補を含むかまたはそれらからなる、パレット予測子リストを決定し得る。パレット予測子リストにおける各それぞれの候補は、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し得る。１つまたは複数の再構成済み近隣ピクセルの各々は、ビデオデータの現在ブロックの上のライン中または左の列中にあり得る。パレットベース符号化ユニット１２２は、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含め得る。さらに、パレットベース符号化ユニット１２２は、ビットストリーム中で、現在ブロック内のピクセルロケーションのためのインデックス値を示す１つまたは複数のシンタックス要素をシグナリングし得、インデックス値が、パレット中のエントリに対応する。
【０１０３】
[0114]イントラ予測処理ユニット１２６は、ＰＵに対してイントラ予測を実行することによって、ＰＵのための予測データを生成し得る。ＰＵのための予測データは、ＰＵのための予測ブロックと、様々なシンタックス要素とを含み得る。イントラ予測処理ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライス中のＰＵに対してイントラ予測を実行し得る。
【０１０４】
[0115]ＰＵに対してイントラ予測を実行するために、イントラ予測処理ユニット１２６は、ＰＵのための予測データの複数のセットを生成するために複数のイントラ予測モードを使用し得る。いくつかの例では、イントラ予測処理ユニット１２６は、近隣ブロック中の参照サンプルの値に基づいて、予測ブロックのサンプルを決定し得る。近隣ブロックは、ＰＵ、ＣＵ、およびＣＴＵについて左から右、上から下の符号化順序を仮定すると、ＰＵの上、右上、左上、または左にあり得る。イントラ予測処理ユニット１２６は、様々な数のイントラ予測モード、たとえば、３３個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、ＰＵに関連付けられた領域のサイズに依存し得る。
【０１０５】
[0116]予測処理ユニット１００は、ＰＵのためにインター予測処理ユニット１２０によって生成された予測データ、またはＰＵのためにイントラ予測処理ユニット１２６によって生成された予測データの中からＣＵのＰＵのための予測データを選択し得る。いくつかの例では、予測処理ユニット１００は、予測データのセットのレート／ひずみメトリックに基づいて、ＣＵのＰＵのための予測データを選択する。選択された予測データの予測ブロックは、本明細書では、選択された予測ブロックと呼ばれることがある。
【０１０６】
[0117]残差生成ユニット１０２は、ＣＵのコーディングブロック（たとえば、ルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロック）とＣＵのＰＵの選択された予測ブロック（たとえば、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック）とに基づいて、ＣＵの残差ブロック（たとえば、ルーマ残差ブロック、Ｃｂ残差ブロックおよびＣｒ残差ブロック）を生成し得る。たとえば、残差生成ユニット１０２は、残差ブロック中の各サンプルが、ＣＵのコーディングブロック中のサンプルとＣＵのＰＵの対応する選択された予測サンプルブロック中の対応するサンプルとの間の差に等しい値を有するように、ＣＵの残差ブロックを生成し得る。
【０１０７】
[0118]変換処理ユニット１０４は、ＣＵに関連付けられた残差ブロックをＣＵのＴＵに関連付けられた変換ブロックに区分するために、４分木区分を実行し得る。したがって、ＴＵは、ルーマ変換ブロックと２つのクロマ変換ブロックとに関連付けられ得る。ＣＵのＴＵのルーマ変換ブロックとクロマ変換ブロックとのサイズおよび位置は、ＣＵのＰＵの予測ブロックのサイズおよび位置に基づくことも基づかないこともある。「残差４分木」（ＲＱＴ：residual quad-tree）として知られる４分木構造は、領域の各々に関連付けられたノードを含み得る。ＣＵのＴＵはＲＱＴのリーフノードに対応し得る。
【０１０８】
[0119]変換処理ユニット１０４は、ＴＵの変換ブロックに１つまたは複数の変換を適用することによって、ＣＵの各ＴＵのための変換係数ブロックを生成し得る。変換処理ユニット１０４は、ＴＵの変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット１０４は、離散コサイン変換（ＤＣＴ）、方向変換、または概念的に同様の変換を変換ブロックに適用し得る。いくつかの例では、変換処理ユニット１０４は変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われ得る。
【０１０９】
[0120]量子化ユニット１０６は、係数ブロック中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連付けられたビット深度を低減し得る。たとえば、量子化中にｎビットの変換係数がｍビットの変換係数に切り捨てられることがあり、ここで、ｎはｍよりも大きい。量子化ユニット１０６は、ＣＵに関連付けられた量子化パラメータ（ＱＰ）値に基づいて、ＣＵのＴＵに関連付けられた係数ブロックを量子化し得る。ビデオエンコーダ２０は、ＣＵに関連付けられたＱＰ値を調整することによって、ＣＵに関連付けられた係数ブロックに適用される量子化の程度を調整し得る。量子化は情報の損失をもたらし得、したがって、量子化変換係数は、元の係数よりも低い精度を有し得る。
【０１１０】
[0121]逆量子化ユニット１０８および逆変換処理ユニット１１０は、係数ブロックから残差ブロックを再構成するために、それぞれ、係数ブロックに逆量子化および逆変換を適用し得る。再構成ユニット１１２は、ＴＵに関連付けられた再構成済み変換ブロックを生成するために、再構成済み残差ブロックを、予測処理ユニット１００によって生成された１つまたは複数の予測サンプルブロックからの対応するサンプルに加算し得る。このようにＣＵの各ＴＵについて変換ブロックを再構成することによって、ビデオエンコーダ２０は、ＣＵのコーディングブロックを再構成し得る。
【０１１１】
[0122]フィルタユニット１１４は、ＣＵに関連付けられたコーディングブロック内のブロッキングアーティファクトを低減するために１つまたは複数のデブロッキング演算を実行し得る。復号ピクチャバッファ１１６は、フィルタユニット１１４が、再構成済みコーディングブロックに対して１つまたは複数のデブロッキング演算を実行した後、再構成済みコーディングブロックを記憶し得る。インター予測処理ユニット１２０は、他のピクチャのＰＵに対してインター予測を実行するために、再構成済みコーディングブロックを含んでいる参照ピクチャを使用し得る。さらに、イントラ予測処理ユニット１２６は、ＣＵと同じピクチャの中の他のＰＵに対してイントラ予測を実行するために、復号ピクチャバッファ１１６中の再構成済みコーディングブロックを使用し得る。
【０１１２】
[0123]エントロピー符号化ユニット１１８は、ビデオエンコーダ２０の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット１１８は、量子化ユニット１０６から係数ブロックを受信し得、予測処理ユニット１００からシンタックス要素を受信し得る。エントロピー符号化ユニット１１８は、エントロピー符号化データを生成するために、データに対して１つまたは複数のエントロピー符号化演算を実行し得る。たとえば、エントロピー符号化ユニット１１８は、ＣＡＢＡＣ演算、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）演算、可変対可変（Ｖ２Ｖ：variable-to-variable）長コーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）演算、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング演算、指数ゴロム符号化演算、または別のタイプのエントロピー符号化演算をデータに対して実行し得る。ビデオエンコーダ２０は、エントロピー符号化ユニット１１８によって生成されたエントロピー符号化データを含むビットストリームを出力し得る。たとえば、ビットストリームは、ＣＵのためのＲＱＴを表すデータを含み得る。
【０１１３】
[0124]図６は、本開示の技法を実装するように構成された例示的なビデオデコーダ３０を示すブロック図である。図６は、説明の目的で与えられており、本開示おいて広く例示され、説明される技法を限定するものではない。説明の目的で、本開示は、ＨＥＶＣコーディングのコンテキストにおいてビデオデコーダ３０について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０１１４】
[0125]ビデオデコーダ３０は、本開示で説明する様々な例に従ってパレットベースビデオコーディングのための技法を実行するように構成されたデバイスの一例を表す。たとえば、ビデオデコーダ３０は、パレットベースコーディングまたは非パレットベースコーディングのいずれかを使用して、ＨＥＶＣコーディングにおけるＣＵまたはＰＵなど、ビデオデータの様々なブロックを選択的に復号するように構成され得る。非パレットベースコーディングモードは、ＨＥＶＣバージョン１によって規定される様々なコーディングモードなど、様々なインター予測時間コーディングモードまたはイントラ予測空間コーディングモードを指し得る。ビデオデコーダ３０は、一例では、ピクセル値を示すエントリを有するパレットを生成し、ビデオデータのブロックの少なくともいくつかの位置をパレット中のエントリに関連付ける情報を受信し、情報に基づいてパレット中のピクセル値を選択し、選択されたピクセル値に基づいてブロックのピクセル値を再構成するように構成され得る。
【０１１５】
[0126]図６の例では、ビデオデコーダ３０は、エントロピー復号ユニット１５０と、ビデオデータメモリ１５１と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換処理ユニット１５６と、再構成ユニット１５８と、フィルタユニット１６０と、復号ピクチャバッファ１６２とを含む。予測処理ユニット１５２は、動き補償ユニット１６４と、イントラ予測処理ユニット１６６とを含む。ビデオデコーダ３０は、本開示で説明するパレットベースコーディング技法の様々な態様を実行するように構成された、パレットベース復号ユニット１６５をも含む。他の例では、ビデオデコーダ３０は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【０１１６】
[0127]ビデオデータメモリ１５１は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ１５１に記憶されるビデオデータは、たとえば、チャネル１６から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ１５１は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ（ＣＰＢ）を形成し得る。復号ピクチャバッファ１６２は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオデコーダ３０によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ１５１および復号ピクチャバッファ１６２は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ１５１および復号ピクチャバッファ１６２は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ１５１は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１１７】
[0128]コード化ピクチャバッファ（ＣＰＢ）は、ビットストリームの符号化ビデオデータ（たとえば、ＮＡＬユニット）を受信し、記憶し得る。エントロピー復号ユニット１５０は、ＣＰＢから符号化ビデオデータ（たとえば、ＮＡＬユニット）を受信し得、シンタックス要素を復号するためにＮＡＬユニットをパースし得る。エントロピー復号ユニット１５０は、ＮＡＬユニット中のエントロピー符号化シンタックス要素をエントロピー復号し得る。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換処理ユニット１５６、再構成ユニット１５８、およびフィルタユニット１６０は、ビットストリームから抽出されたシンタックス要素に基づいて復号ビデオデータを生成し得る。
【０１１８】
[0129]ビットストリームのＮＡＬユニットはコード化スライスＮＡＬユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット１５０は、コード化スライスＮＡＬユニットからシンタックス要素を抽出し、エントロピー復号し得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連付けられたＰＰＳを識別するシンタックス要素を含み得る。
【０１１９】
[0130]ビットストリームからシンタックス要素を復号することに加えて、ビデオデコーダ３０は、区分されていないＣＵに対して再構成演算を実行し得る。区分されていないＣＵに対して再構成演算を実行するために、ビデオデコーダ３０はＣＵの各ＴＵに対して再構成演算を実行し得る。ＣＵの各ＴＵに対して再構成演算を実行することによって、ビデオデコーダ３０はＣＵの残差ブロックを再構成し得る。
【０１２０】
[0131]ＣＵのＴＵに対して再構成演算を実行することの一部として、逆量子化ユニット１５４は、ＴＵに関連付けられた係数ブロックを逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）し得る。逆量子化ユニット１５４は、量子化の程度を決定し、同様に、逆量子化ユニット１５４が適用すべき逆量子化の程度を決定するために、ＴＵのＣＵに関連付けられたＱＰ値を使用し得る。すなわち、圧縮比、すなわち、元のシーケンスと圧縮されたシーケンスとを表すために使用されるビット数の比は、変換係数を量子化するときに使用されるＱＰの値を調整することによって制御され得る。圧縮比はまた、採用されたエントロピーコーディングの方法に依存し得る。
【０１２１】
[0132]逆量子化ユニット１５４が係数ブロックを逆量子化した後、逆変換処理ユニット１５６は、ＴＵに関連付けられた残差ブロックを生成するために係数ブロックに１つまたは複数の逆変換を適用し得る。たとえば、逆変換処理ユニット１５６は、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve transform）、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用し得る。
【０１２２】
[0133]イントラ予測を使用してＰＵが符号化される場合、イントラ予測処理ユニット１６６は、ＰＵのための予測ブロックを生成するためにイントラ予測を実行し得る。イントラ予測処理ユニット１６６は、空間的に近隣するＰＵの予測ブロックに基づいてＰＵのための予測ブロック（たとえば、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック）を生成するためにイントラ予測モードを使用し得る。イントラ予測処理ユニット１６６は、ビットストリームから復号された１つまたは複数のシンタックス要素に基づいてＰＵのためのイントラ予測モードを決定し得る。
【０１２３】
[0134]予測処理ユニット１５２は、ビットストリームから抽出されたシンタックス要素に基づいて、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを構成し得る。さらに、ＰＵがインター予測を使用して符号化される場合、エントロピー復号ユニット１５０はＰＵのための動き情報を抽出し得る。動き補償ユニット１６４は、ＰＵの動き情報に基づいて、ＰＵのための１つまたは複数の参照領域を決定し得る。動き補償ユニット１６４は、ＰＵのための１つまたは複数の参照ブロックにおけるサンプルブロックに基づいて、ＰＵのための予測ブロック（たとえば、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック）を生成し得る。
【０１２４】
[0135]再構成ユニット１５８は、ＣＵのコーディングブロック（たとえば、ルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロック）を再構成するために、適用可能なとき、ＣＵのＴＵの変換ブロック（たとえば、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロック）、ならびにＣＵのＰＵの予測ブロック（たとえば、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック）、すなわち、イントラ予測データまたはインター予測データのいずれかを使用し得る。たとえば、再構成ユニット１５８は、ＣＵのコーディングブロック（たとえば、ルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロック）を再構成するために、変換ブロック（たとえば、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロック）のサンプルを、予測ブロック（たとえば、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック）の対応するサンプルに加算し得る。
【０１２５】
[0136]フィルタユニット１６０は、ＣＵのコーディングブロック（たとえば、ルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロック）に関連付けられたブロッキングアーティファクトを低減するためにデブロッキング演算を実行し得る。ビデオデコーダ３０は、ＣＵのコーディングブロック（たとえば、ルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロック）を復号ピクチャバッファ１６２に記憶し得る。復号ピクチャバッファ１６２は、後続の動き補償、イントラ予測、および図１のディスプレイデバイス３２などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。たとえば、ビデオデコーダ３０は、復号ピクチャバッファ１６２中のブロック（たとえば、ルーマブロック、ＣｂブロックおよびＣｒブロック）に基づいて、他のＣＵのＰＵに対してイントラ予測演算またはインター予測演算を実行し得る。このようにして、ビデオデコーダ３０は、ビットストリームから、有意な係数ブロックの変換係数レベルを抽出し、変換係数レベルを逆量子化し、変換ブロックを生成するために変換係数レベルに変換を適用し、変換ブロックに少なくとも部分的に基づいてコーディングブロックを生成し、表示のためにコーディングブロックを出力し得る。
【０１２６】
[0137]パレットベース復号ユニット１６５は、たとえば、パレットベース復号モードが、たとえば、ＣＵまたはＰＵのために選択されるとき、パレットベース復号を実行し得る。たとえば、パレットベース復号ユニット１６５は、ピクセル値を示すエントリを有するパレットを生成し、ビデオデータのブロックの少なくともいくつかの位置をパレット中のエントリに関連付ける情報を受信し、情報に基づいてパレット中のピクセル値を選択し、選択されたピクセル値に基づいてブロックのピクセル値を再構成するように構成し得る。様々な機能について、パレットベース復号ユニット１６５によって実行されるものとして説明したが、そのような機能の一部または全部は、他の処理ユニット、または異なる処理ユニットの組合せによって実行され得る。
【０１２７】
[0138]本開示のいくつかの例によれば、パレットベース復号ユニット１６５は、１つまたは複数の候補を含むかまたはそれらからなる、パレット予測子リストを決定し得る。パレット予測子リストにおける各それぞれの候補は、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し得る。１つまたは複数の再構成済み近隣ピクセルの各々は、ビデオデータの現在ブロックの上のライン中または左の列中にあり得る。さらに、パレットベース復号ユニット１６５は、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含め得る。パレットベース復号ユニット１６５は、ビットストリーム中でシグナリングされる１つまたは複数のシンタックス要素に基づいて、現在ブロックのピクセルのためのインデックス値を取得し得る。さらに、パレットベース復号ユニット１６５は、ピクセルのためのインデックス値に対応するパレット中のパレットエントリを識別し得る。さらに、パレットベース復号ユニット１６５は、識別されたパレットエントリによって指定された少なくとも１つのサンプル値に基づいて、ピクセルの少なくとも１つの再構成済みサンプル値を決定し得る。現在ブロックのピクセルの再構成済みサンプル値を決定することによって、パレットベース復号ユニット１６５は、現在ブロックを再構成し得る。
【０１２８】
[0139]図７は、本開示の技法による、例示的な復号演算を示すフローチャートである。本開示のフローチャートは、例として与えられる。他の例では、フローチャートに示されている動作は、より多数の、より少数の、または異なるアクションを含み得る。その上、他の例では、アクションは、異なる順序で、または並行して実行され得る。図７について、ビデオデコーダ３０のコンテキストから説明するが、図７に示されているアクションを実行するために、他のタイプのデバイスまたはデコーダも使用され得る。
【０１２９】
[0140]図７の例では、ビデオデコーダ３０は、１つまたは複数の候補を備えるかまたはそれらからなる、パレット予測子リストを決定する（７００）。パレット予測子リストにおける各それぞれの候補は、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し得る。１つまたは複数の再構成済み近隣ピクセルの各々は、ビデオデータの現在ブロックの上のライン中または左の列中にある。ビデオデコーダ３０は、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含める（７０２）。
【０１３０】
[0141]さらに、ビデオデコーダ３０は、ビットストリーム中でシグナリングされる１つまたは複数のシンタックス要素（たとえば、ｐａｌｅｔｔｅ＿ｉｎｄｅｘシンタックス要素）に基づいて、現在ブロックのピクセルのためのインデックス値を取得する（７０４）。さらに、ビデオデコーダ３０は、ピクセルのためのインデックス値に対応するパレット中のパレットエントリを識別する（７０６）。ビデオデコーダ３０は、識別されたパレットエントリによって指定された少なくとも１つのサンプル値に基づいて、ピクセルの少なくとも１つの再構成済みサンプル値を決定する（７０８）。
【０１３１】
[0142]図８は、本開示の技法による、例示的な符号化演算を示すフローチャートである。図７について、ビデオエンコーダ２０のコンテキストから説明するが、図８に示されているアクションを実行するために、他のタイプのデバイスまたはエンコーダも使用され得る。図８の例では、ビデオエンコーダ２０は、１つまたは複数の候補を備えるかまたはそれらなる、パレット予測子リストを決定する（８００）。図８の例では、パレット予測子リストにおける各それぞれの候補は、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つの値を指定する。さらに、図８の例では、１つまたは複数の再構成済み近隣ピクセルの各々は、ビデオデータの現在ブロックに隣接する。
【０１３２】
[0143]図８の例では、ビデオエンコーダ２０は、現在ブロックのためのパレット中に、パレット予測子リストにおける少なくとも１つの候補を含める（８０２）。ビデオエンコーダ２０は、ビットストリーム中で、現在ブロックのピクセルのためのインデックス値を示す１つまたは複数のシンタックス要素をシグナリングし、インデックス値が、パレット中のエントリに対応する（８０４）。
【０１３３】
[0144]図９は、本開示の技法による、パレットを生成するための例示的な動作を示すフローチャートである。図９の例では、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、元のパレット予測子リストを生成する（９００）。本開示中の他の場所で詳細に説明する図１０は、元のパレット予測子リストを生成するためにビデオデコーダが使用し得る例示的な動作である。本開示中の他の場所で詳細に説明する図１２は、元のパレット予測子リストを生成するためにビデオエンコーダが使用し得る例示的な動作である。
【０１３４】
[0145]さらに、図９の例では、ビデオコーダは、エクストラパレット予測子リストを生成する（９０２）。本開示中の他の場所で詳細に説明する図１３は、エクストラパレット予測子リストを生成するためのビデオエンコーダの例示的な動作である。本開示中の他の場所で詳細に説明する図１１は、エクストラパレット予測子リストを生成するためのビデオデコーダの例示的な動作である。
【０１３５】
[0146]図９の例では、ビデオコーダは、元のパレット予測子リストとエクストラパレット予測子リストとにプルーニングプロセスを適用する（９０４）。他の例では、ビデオコーダは、プルーニングプロセスを実行しない。プルーニングプロセスは、エクストラパレット予測子リストにおける特定の候補が元のパレット予測子リストにおける候補に一致する場合、エクストラパレット予測子リストからその特定の候補を除去し得る。さらに、いくつかの例では、プルーニングプロセスを適用することの一部として、ビデオコーダは、エクストラパレット予測子リストにおける第１の候補と元のパレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、エクストラパレット予測子リストから第１の候補を除去すべきかどうかを決定する。ビデオコーダは、決定に応答して、エクストラパレット予測子リストから第１の候補を除去し得る。
【０１３６】
[0147]さらに、図９の例では、ビデオコーダは、ビットストリームから、１つまたは複数の追加のパレットエントリを指定するシンタックス要素（たとえば、ｐａｌｅｔｔｅ＿ｅｎｔｒｉｅｓシンタックス要素）を取得する（９０６）。図９の例では、ビデオコーダは、現在ブロックのためのパレット中に、元のパレット予測子リスト、エクストラパレット予測子リストにおける残りの候補に対応するパレットエントリ、および追加のパレットエントリを含める（９０８）。いくつかの例では、ビデオコーダは、追加のパレットエントリを指定するいかなるシンタックス要素をも取得しないか、またはパレット中にそのような追加のパレットエントリを含めない。
【０１３７】
[0148]いくつかの例では、ビデオコーダは、現在ブロックのためのパレット中のパレットエントリを、エクストラパレット予測子リストにおける候補を指定するパレットエントリ、元のパレット予測子リストにおける候補を指定するパレットエントリ、および追加のパレットエントリ、のように順序付ける。他の例では、ビデオコーダは、現在ブロックのためのパレット中のパレットエントリを、元のパレット予測子リストにおける候補を指定するパレットエントリ、エクストラパレット予測子リストにおける候補を指定するパレットエントリ、および追加のパレットエントリ、のように順序付ける。
【０１３８】
[0149]図１０は、本開示の技法による、元のパレット予測子リストを生成するためのビデオデコーダ３０の例示的な動作を示すフローチャートである。図１０について、ビデオデコーダ３０のコンテキストから説明するが、図１０に示されているアクションを実行するために、他のタイプのデバイスまたはデコーダも使用され得る。図１０の動作は、元のパレット予測子リストを決定するための図９のアクション９００の事例であり得る。図１０の例では、前にコーディングされたブロックの各それぞれのパレットエントリについて、ビデオデコーダ３０は、元のパレット予測子リスト中にそれぞれの候補を含める（１０００）。それぞれの候補は、それぞれのパレットエントリと同じピクセルを指定する。したがって、ビデオデコーダ３０は、元のパレット予測子リストが１つまたは複数の候補を備えるように、元のパレット予測子リストを決定し得、元のパレット予測子リストにおける各それぞれの候補が、ビデオデータの前にコーディングされたブロックのためのパレット中のパレットエントリを指定する。いくつかの例では、元のパレット予測子リストは、ＪＣＴＶＣ−Ｒ００８２に記載されているように、前にコーディングされたブロックより前にコーディングされたブロックのためのパレット中のエントリに基づいて、１つまたは複数の候補をも含み得る。
【０１３９】
[0150]さらに、ビデオデコーダ３０は、ビットストリームから、元のパレット予測子リストのためのバイナリベクトルを取得する（１００２）。図１０の例では、元のパレット予測子リストのためのバイナリベクトルは、１つまたは複数のバイナリベクトルシンタックス要素（たとえば、ｐｒｅｖｉｏｕｓ＿ｐａｌｅｔｔｅ＿ｅｎｔｒｙ＿ｆｌａｇシンタックス要素）を備える。１つまたは複数のバイナリベクトルシンタックス要素の各々は、元のパレット予測子リストにおける異なる候補に対応する。
【０１４０】
[0151]図１０の例では、ビデオデコーダ３０は、元のパレット予測子リストにおける各それぞれの候補についてアクション（１００４）〜（１００８）を実行し得る。特に、ビデオデコーダ３０は、元のパレット予測子リストにおけるそれぞれの候補に対応するバイナリベクトルシンタックス要素が、それぞれの候補が現在ブロック中で再利用されることを示すかどうかを決定する（１００４）。元のパレット予測子リストにおけるそれぞれの候補に対応するバイナリベクトルシンタックス要素が、それぞれの候補が現在ブロック中で再利用されることを示すと決定したことに応答して（１００４の「はい」）、ビデオデコーダ３０は、元のパレット予測子リスト中に、それぞれの候補を保持する（１００６）。そうではなく、元のパレット予測子リストにおけるそれぞれの候補に対応するバイナリベクトルシンタックス要素が、それぞれの候補が現在ブロック中で再利用されないことを示すと決定したことに応答して（１００４の「いいえ」）、ビデオデコーダ３０は、元のパレット予測子リストから、それぞれの候補を省略する（１００８）。たとえば、バイナリベクトル「０１００１．．．」は、元のパレット予測子リストにおける第２および第５の候補が元のパレット予測子リスト中に保持され、元のパレット予測子リストにおける第１、第３、および第４の候補が元のパレット予測子リストから最終的に省略されることを示す。
【０１４１】
[0152]ビデオデコーダ３０が元のパレット予測子リストからそれぞれの候補を省略するので、ビデオデコーダ３０は、それぞれの候補が現在ブロックのパレット中に含まれないと効果的に決定する。したがって、図１０の例では、元のパレット予測子リストにおける各それぞれの候補について、ビデオデコーダ３０は、元のパレット予測子リストにおけるそれぞれの候補に対応するバイナリベクトルシンタックス要素に基づいて、元のパレット予測子リストにおけるそれぞれの候補が、現在ブロックのためのパレット中に含まれないと決定し得る。
【０１４２】
[0153]図１１は、本開示の技法による、エクストラパレット予測子リストを生成するためのビデオデコーダ３０の例示的な動作を示すフローチャートである。図１１について、ビデオデコーダ３０のコンテキストから説明するが、図１１に示されているアクションを実行するために、他のタイプのデバイスまたはデコーダも使用され得る。図１１の動作は、エクストラパレット予測子リストを決定するための図９のアクション９０２の事例であり得る。図１１の例では、現在ブロックの上のライン中または左の列中のネイバーピクセルのあらかじめ定義されたセットの各それぞれのネイバーピクセルについて、ビデオデコーダ３０は、エクストラパレット予測子リスト中に、それぞれのネイバーピクセルの値を指定するそれぞれの候補を生成する（１１００）。
【０１４３】
[0154]さらに、ビデオデコーダ３０は、エクストラパレット予測子リストから冗長候補を除去する（１１０２）。たとえば、ビデオデコーダ３０は、エクストラパレット予測子リストから一致する候補を除去し得る。一例では、エクストラパレット予測子リストから冗長候補を除去することの一部として、ビデオデコーダ３０は、パレット予測子リストにおける第１の候補とパレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、パレット予測子リストから第１の候補を除去すべきかどうかを決定し得る。この例では、ビデオデコーダ３０は、決定に応答して、パレット予測子リストから第１の候補を除去し得る。
【０１４４】
[0155]図１１の例では、ビデオデコーダ３０は、エクストラパレット予測子リストにおける候補の数がしきい値を超えるかどうかを決定する（１１０４）。エクストラパレット予測子リストにおける候補の数がしきい値を超えると決定したことに応答して（１１０４の「はい」）、ビデオデコーダ３０は、エクストラパレット予測子リストのサイズが特定の数の候補（たとえば、しきい値）に限定されるように、エクストラパレット予測子リストをトランケートする（１１０６）。エクストラパレット予測子リストにおける候補の数がしきい値を超えないと決定したことに応答して（１１０４の「いいえ」）、ビデオデコーダ３０は、エクストラパレット予測子リストをトランケートすることを控える（１１０８）。
【０１４５】
[0156]さらに、ビデオデコーダ３０は、ビットストリームから、エクストラパレット予測子リストのためのバイナリベクトルを取得する（１１１０）。エクストラパレット予測子リストのためのバイナリベクトルは、１つまたは複数のシンタックス要素を含む。１つまたは複数のシンタックス要素の各々は、パレット予測子リストにおける異なる候補に対応する。
【０１４６】
[0157]図１１の例示的な動作では、ビデオデコーダ３０は、エクストラパレット予測子リストにおける各それぞれの候補についてアクション（１１１２）〜（１１１６）を実行し得る。特に、ビデオデコーダ３０は、それぞれの候補に対応するシンタックス要素が、それぞれの候補が現在ブロック中で再利用されることを示すかどうかを決定する（１１１２）。それぞれの候補に対応するシンタックス要素が、それぞれの候補が現在ブロック中で再利用されることを示すと決定したことに応答して（１１１２の「はい」）、ビデオデコーダ３０は、エクストラパレット予測子リスト中に、それぞれの候補を保持する（１１１４）。それぞれの候補に対応するシンタックス要素が、その候補が現在ブロック中で再利用されないことを示すと決定したことに応答して（１１１２の「いいえ」）、ビデオデコーダ３０は、エクストラパレット予測子リストから、それぞれの候補を省略する（１１１６）。たとえば、バイナリベクトル「０１００１．．．」は、エクストラパレット予測子リストにおける第２および第５の候補（たとえば、第２および第５の近隣再構成済みピクセル）がエクストラパレット予測子リスト中に保持され、エクストラパレット予測子リストにおける第１、第３、および第４の候補（たとえば、第１、第３、および第４の近隣再構成済みピクセル）がエクストラパレット予測子リストから最終的に省略されることを示す。
【０１４７】
[0158]ビデオデコーダ３０がエクストラパレット予測子リストからそれぞれの候補を省略するので、ビデオデコーダ３０は、それぞれの候補が現在ブロックのパレット中に含まれないと効果的に決定する。したがって、図１１の例では、エクストラパレット予測子リストにおける各それぞれの候補について、ビデオデコーダ３０は、エクストラパレット予測子リストにおけるそれぞれの候補に対応するバイナリベクトルシンタックス要素に基づいて、エクストラパレット予測子リストにおけるそれぞれの候補が、現在ブロックのためのパレット中に含まれないと決定し得る。
【０１４８】
[0159]図１２は、本開示の技法による、元のパレット予測子リストを生成するためのビデオエンコーダ２０の例示的な動作を示すフローチャートである。図１２について、ビデオエンコーダ２０のコンテキストから説明するが、図１２に示されているアクションを実行するために、他のタイプのデバイスまたはデコーダも使用され得る。図１２の動作は、元のパレット予測子リストを決定するための図９のアクション９００の事例であり得る。図１２の例では、前にコーディングされたブロックの各それぞれのパレットエントリについて、ビデオエンコーダ２０は、元のパレット予測子リスト中にそれぞれの候補を含める（１２００）。それぞれの候補は、それぞれのパレットエントリと同じピクセルを指定する。したがって、ビデオエンコーダ２０は、元のパレット予測子リストが１つまたは複数の候補を備えるように、元のパレット予測子リストを決定し得、元のパレット予測子リストにおける各それぞれの候補が、ビデオデータの前にコーディングされたブロックのためのパレット中のパレットエントリを指定する。いくつかの例では、元のパレット予測子リストは、ＪＣＴＶＣ−Ｒ００８２に記載されているように、前にコーディングされたブロックより前にコーディングされたブロックのためのパレット中のエントリに基づいて、１つまたは複数の候補をも含み得る。
【０１４９】
[0160]さらに、ビデオエンコーダ２０は、ビットストリーム中で、元のパレット予測子リストのためのバイナリベクトルをシグナリングする（１２０２）。図１２の例では、元のパレット予測子リストのためのバイナリベクトルは、１つまたは複数のバイナリベクトルシンタックス要素を備える。１つまたは複数のバイナリベクトルシンタックス要素の各々は、元のパレット予測子リストにおける異なる候補に対応する。
【０１５０】
[0161]図１２の例では、ビデオエンコーダ２０は、元のパレット予測子リストにおける各それぞれの候補についてアクション（１２０４）〜（１２０８）を実行し得る。特に、ビデオエンコーダ２０は、元のパレット予測子リストにおけるそれぞれの候補に対応するバイナリベクトルシンタックス要素が、それぞれの候補が現在ブロック中で再利用されることを示すかどうかを決定する（１２０４）。元のパレット予測子リストにおけるそれぞれの候補に対応するバイナリベクトルシンタックス要素が、その候補が現在ブロック中で再利用されることを示すと決定したことに応答して（１２０４の「はい」）、ビデオエンコーダ２０は、元のパレット予測子リスト中に、それぞれの候補を保持する（１２０６）。
【０１５１】
[0162]そうではなく、元のパレット予測子リストにおけるそれぞれの候補に対応するバイナリベクトルシンタックス要素が、その候補が現在ブロック中で再利用されないことを示すと決定したことに応答して（１２０４の「いいえ」）、ビデオエンコーダ２０は、元のパレット予測子リストから、それぞれの候補を省略する（１２０８）。ビデオエンコーダ２０が元のパレット予測子リストからそれぞれの候補を省略するので、ビデオエンコーダ２０は、それぞれの候補が現在ブロックのパレット中に含まれないと効果的に決定する。したがって、図１２の例では、元のパレット予測子リストにおける各それぞれの候補について、ビデオエンコーダ２０は、元のパレット予測子リストにおけるそれぞれの候補に対応するバイナリベクトルシンタックス要素に基づいて、元のパレット予測子リストにおけるそれぞれの候補が、現在ブロックのためのパレット中に含まれないと決定し得る。
【０１５２】
[0163]図１３は、本開示の技法による、エクストラパレット予測子リストを生成するためのビデオエンコーダ２０の例示的な動作を示すフローチャートである。図１３について、ビデオエンコーダ２０のコンテキストから説明するが、図１３に示されているアクションを実行するために、他のタイプのデバイスまたはデコーダも使用され得る。図１３の動作は、エクストラパレット予測子リストを決定するための図９のアクション９０２の事例であり得る。図１３の例では、現在ブロックの上のライン中または左の列中のネイバーピクセルのあらかじめ定義されたセットの各それぞれのネイバーピクセルについて、ビデオエンコーダ２０は、エクストラパレット予測子リスト中に、それぞれのネイバーピクセルの値を指定するそれぞれの候補を生成する（１３００）。
【０１５３】
[0164]さらに、ビデオエンコーダ２０は、エクストラパレット予測子リストから冗長候補を除去する（１３０２）。たとえば、ビデオエンコーダ２０は、エクストラパレット予測子リストから一致する候補を除去し得る。一例では、エクストラパレット予測子リストから冗長候補を除去することの一部として、ビデオエンコーダ２０は、パレット予測子リストにおける第１の候補とパレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、パレット予測子リストから第１の候補を除去すべきかどうかを決定し得る。この例では、ビデオエンコーダ２０は、決定に応答して、パレット予測子リストから第１の候補を除去し得る。
【０１５４】
[0165]図１３の例では、ビデオエンコーダ２０は、エクストラパレット予測子リストにおける候補の数がしきい値を超えるかどうかを決定する（１３０４）。エクストラパレット予測子リストにおける候補の数がしきい値を超えると決定したことに応答して（１３０４の「はい」）、ビデオエンコーダ２０は、エクストラパレット予測子リストのサイズが特定の数の候補（たとえば、しきい値）に限定されるように、エクストラパレット予測子リストをトランケートする（１３０６）。エクストラパレット予測子リストにおける候補の数がしきい値を超えないと決定したことに応答して（１３０４の「いいえ」）、ビデオエンコーダ２０は、エクストラパレット予測子リストをトランケートすることを控える（１３０８）。
【０１５５】
[0166]さらに、ビデオエンコーダ２０は、ビットストリーム中で、エクストラパレット予測子リストのためのバイナリベクトルをシグナリングする（１３１０）。エクストラパレット予測子リストのためのバイナリベクトルは、１つまたは複数のシンタックス要素を含む。１つまたは複数のシンタックス要素の各々は、パレット予測子リストにおける異なる候補に対応する。
【０１５６】
[0167]図１３の例示的な動作では、ビデオエンコーダ２０は、エクストラパレット予測子リストにおける各それぞれの候補についてアクション（１３１２）〜（１３１６）を実行し得る。特に、ビデオエンコーダ２０は、それぞれの候補に対応するシンタックス要素が、それぞれの候補が現在ブロック中で再利用されることを示すかどうかを決定する（１３１２）。それぞれの候補に対応するシンタックス要素が、それぞれの候補が現在ブロック中で再利用されることを示すと決定したことに応答して（１３１２の「はい」）、ビデオエンコーダ２０は、エクストラパレット予測子リスト中に、それぞれの候補を保持する（１３１４）。
【０１５７】
[0168]それぞれの候補に対応するシンタックス要素が、その候補が現在ブロック中で再利用されないことを示すと決定したことに応答して（１３１２の「いいえ」）、ビデオエンコーダ２０は、エクストラパレット予測子リストから、それぞれの候補を省略する（１３１６）。ビデオエンコーダ２０がエクストラパレット予測子リストからそれぞれの候補を省略するので、ビデオエンコーダ２０は、それぞれの候補が現在ブロックのパレット中に含まれないと効果的に決定する。したがって、図１３の例では、エクストラパレット予測子リストにおける各それぞれの候補について、ビデオエンコーダ２０は、エクストラパレット予測子リストにおけるそれぞれの候補に対応するバイナリベクトルシンタックス要素に基づいて、エクストラパレット予測子リストにおけるそれぞれの候補が、現在ブロックのためのパレット中に含まれないと決定し得る。
【０１５８】
[0169]以下の段落は、本開示のいくつかの例を列挙する。
【０１５９】
[0170]例１．  ビデオデータを復号する方法であって、本方法は、１つまたは複数の候補を備えるパレット予測子リストを決定することと、パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なる再構成済み近隣ピクセルの値を指定し、ここにおいて、１つまたは複数の再構成済み近隣ピクセルの各々が、ビデオデータの現在ブロックに隣接する、ビットストリームから、１つまたは複数のシンタックス要素を備えるバイナリベクトルを取得することと、ここにおいて、１つまたは複数のシンタックス要素の各々が、パレット予測子リストにおける異なる候補に対応する、パレット予測子リストにおける各それぞれの候補について、それぞれの候補に対応するシンタックス要素が、ビデオデータの現在ブロックのためのパレットがそれぞれの候補によって指定された値を含むことを示す場合、パレット中に、それぞれの候補によって指定された値を指定するパレットエントリを含めることと、それぞれの候補に対応するシンタックス要素が、パレットがそれぞれの候補によって指定された値を含まないことを示す場合、パレットから、それぞれの候補によって指定された値を指定するパレットエントリを省略することと、ビットストリーム中でシグナリングされる１つまたは複数の追加のシンタックス要素に基づいて、現在ブロックのサンプルのためのインデックス値を取得することと、サンプルのためのインデックス値に対応するパレット中のパレットエントリを識別することと、識別されたパレットエントリによって指定されたピクセル値に基づいて、サンプルの再構成済み値を決定することとを備える、方法。
【０１６０】
[0171]例２．  再構成済み近隣ピクセルが、現在ブロックの上のラインからの再構成済み近隣ピクセルを含む、例１に記載の方法。
【０１６１】
[0172]例３．  再構成済み近隣ピクセルが、現在ブロックの左の列からの再構成済み近隣ピクセルを含む、例１または２に記載の方法。
【０１６２】
[0173]例４．  再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、または右上の再構成済み近隣ピクセルのうちの少なくとも１つを含む、例１に記載の方法。
【０１６３】
[0174]例５．  再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、および右上の再構成済み近隣ピクセルの各々を含む、例１に記載の方法。
【０１６４】
[0175]例６．  第１のパレット予測子リストを生成することが、第１のパレット予測子リストから１つまたは複数の冗長候補を除去することを備える、例１から５のいずれかに記載の方法。
【０１６５】
[0176]例７．  第１のパレット予測子リストを生成することが、パレット予測子リストにおける第１の候補とパレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、パレット予測子リストから第１の候補を除去すべきかどうかを決定することと、決定に応答して、パレット予測子リストから第１の候補を除去することとを備える、例１から６のいずれかに記載の方法。
【０１６６】
[0177]例８．  １つまたは複数の近隣ピクセルが、複数の近隣ピクセルを含み、第１のパレット予測子リストを生成することが、複数の再構成済み近隣ピクセルの値の頻度に従って、複数の再構成済み近隣ピクセルのうちの２つまたはそれ以上をランク付けすることを備える、例１から７のいずれかに記載の方法。
【０１６７】
[0178]例９．  パレット予測子リストを決定することが、パレット予測子リストのサイズが特定の数の候補に限定されるように、パレット予測子リストをトランケートすることを備える、例１から８のいずれかに記載の方法。
【０１６８】
[0179]例１０．  ループ内フィルタ処理が、パレット予測子リストにおける候補によって指定された１つまたは複数の再構成済み近隣ピクセルの値に適用されない、例１から９のいずれかに記載の方法。
【０１６９】
[0180]例１１．  パレット予測子リストが、第１のパレット予測子リストであり、バイナリベクトルが、第１のバイナリベクトルであり、本方法は、１つまたは複数の候補を備える第２のパレット予測子リストを決定することと、第２のパレット予測子リストにおける各それぞれの候補が、ビデオデータの前にコーディングされたブロックのためのパレット中のパレットエントリを指定する、ビットストリームから第２のバイナリベクトルを取得することと、第２のバイナリベクトルが、１つまたは複数の第２のバイナリベクトルシンタックス要素を備え、ここにおいて、１つまたは複数の第２のバイナリベクトルシンタックス要素の各々が、第２のパレット予測子リストにおける異なる候補に対応する、第２のパレット予測子リストにおける各それぞれの候補について、第２のパレット予測子リストにおけるそれぞれの候補に対応する第２のバイナリベクトルシンタックス要素が、現在ブロックのためのパレットがそれぞれの候補によって指定されたパレットエントリを含むことを示す場合、現在ブロックのためのパレット中に、それぞれの候補によって指定されたパレットエントリを含めることと、第２のパレット予測子リストにおけるそれぞれの候補に対応する第２のバイナリベクトルシンタックス要素が、現在ブロックのためのパレットがそれぞれの候補によって指定されたパレットエントリを含まないことを示す場合、現在ブロックのためのパレットから、それぞれの候補によって指定されたパレットエントリを省略することとをさらに備える、例１から１０のいずれかに記載の方法。
【０１７０】
[0181]例１２．  第１および第２のパレット予測子リストにプルーニングプロセスを適用することをさらに備える、例１１に記載の方法。
【０１７１】
[0182]例１３．  第１および第２のパレット予測子リストにプルーニングプロセスを適用することは、第１のパレット予測子リストにおける特定の候補が第２のパレット予測子リストにおける候補に一致する場合、第１のパレット予測子リストからその特定の候補を除去することを備える、例１２に記載の方法。
【０１７２】
[0183]例１４．  第１および第２のパレット予測子リストにプルーニングプロセスを適用することが、第１のパレット予測子リストにおける第１の候補と第２のパレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、第１のパレット予測子リストから第１の候補を除去すべきかどうかを決定することと、決定に応答して、第１のパレット予測子リストから第１の候補を除去することとを備える、例１２または１３に記載の方法。
【０１７３】
[0184]例１５．  ビットストリームから、１つまたは複数の追加のパレットエントリを指定するシンタックス要素を取得することと、現在ブロックのためのパレット中に、１つまたは複数の追加のパレットエントリを含めることとをさらに備える、例１１から１４のいずれかに記載の方法。
【０１７４】
[0185]例１６．  現在ブロックのためのパレット中のパレットエントリが、第１のパレット予測子リストにおける候補によって指定された値を指定するパレットエントリ、追加のパレットエントリ、および第２のパレット予測子リストによって指定されたパレットエントリ、のように順序付けられる、例１５に記載の方法。
【０１７５】
[0186]例１７．  現在ブロックのためのパレット中のパレットエントリが、第１のパレット予測子リストにおける候補によって指定された値を指定するパレットエントリ、第２のパレット予測子リストによって指定されたパレットエントリ、および追加のパレットエントリ、のように順序付けられる、例１５に記載の方法。
【０１７６】
[0187]例１８．  パレット予測子リストの候補が、現在ブロックの後に処理されるビデオデータのブロックのためのパレットを決定するために使用されるパレット予測子リスト中に含まれない、例１から１７のいずれかに記載の方法。
【０１７７】
[0188]例１９．  ビデオデータを符号化する方法であって、本方法は、１つまたは複数の候補を備えるパレット予測子リストを決定することと、パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なる再構成済み近隣ピクセルの値を指定し、ここにおいて、１つまたは複数の再構成済み近隣ピクセルの各々が、ビデオデータの現在ブロックに隣接する、ビットストリーム中で、１つまたは複数のシンタックス要素を備えるバイナリベクトルをシグナリングすることと、ここにおいて、１つまたは複数のシンタックス要素の各々が、パレット予測子リストにおける異なる候補に対応する、パレット予測子リストにおける各それぞれの候補について、それぞれの候補に対応するシンタックス要素が、ビデオデータの現在ブロックのためのパレットがそれぞれの候補によって指定された値を含むことを示す場合、パレットは、それぞれの候補によって指定された値を指定するパレットエントリを含み、それぞれの候補に対応するシンタックス要素が、パレットがそれぞれの候補によって指定された値を含まないことを示す場合、パレットは、それぞれの候補によって指定された値を指定するパレットエントリを省略する、ビットストリーム中で、現在ブロックのサンプルのためのインデックス値を示す１つまたは複数のシンタックス要素をシグナリングすることと、インデックス値が、パレット中のエントリに対応する、を備える、方法。
【０１７８】
[0189]例２０．  再構成済み近隣ピクセルが、現在ブロックの上のラインからの再構成済み近隣ピクセルを含む、例１９に記載の方法。
【０１７９】
[0190]例２１．  再構成済み近隣ピクセルが、現在ブロックの左の列からの再構成済み近隣ピクセルを含む、例１９または２０に記載の方法。
【０１８０】
[0191]例２２．  再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、または右上の再構成済み近隣ピクセルのうちの少なくとも１つを含む、例１９に記載の方法。
【０１８１】
[0192]例２３．  再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、および右上の再構成済み近隣ピクセルの各々を含む、例１９に記載の方法。
【０１８２】
[0193]例２４．  第１のパレット予測子リストを生成することが、第１のパレット予測子リストから１つまたは複数の冗長候補を除去することを備える、例１９から２３のいずれかに記載の方法。
【０１８３】
[0194]例２５．  第１のパレット予測子リストを生成することが、パレット予測子リストにおける第１の候補とパレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、パレット予測子リストから第１の候補を除去すべきかどうかを決定することと、決定に応答して、パレット予測子リストから第１の候補を除去することとを備える、例１９から２４のいずれかに記載の方法。
【０１８４】
[0195]例２６．  １つまたは複数の近隣ピクセルが、複数の近隣ピクセルを含み、第１のパレット予測子リストを生成することが、複数の再構成済み近隣ピクセルの値の頻度に従って、複数の再構成済み近隣ピクセルのうちの２つまたはそれ以上をランク付けすることを備える、例１９から２５のいずれかに記載の方法。
【０１８５】
[0196]例２７．  パレット予測子リストを決定することが、パレット予測子リストのサイズが特定の数の候補に限定されるように、パレット予測子リストをトランケートすることを備える、例１９から２６のいずれかに記載の方法。
【０１８６】
[0197]例２８．  ループ内フィルタ処理が、パレット予測子リストにおける候補によって指定された１つまたは複数の再構成済み近隣ピクセルの値に適用されない、例１９から２７のいずれかに記載の方法。
【０１８７】
[0198]例２９．  パレット予測子リストが、第１のパレット予測子リストであり、バイナリベクトルが、第１のバイナリベクトルであり、本方法は、１つまたは複数の候補を備える第２のパレット予測子リストを決定することと、第２のパレット予測子リストにおける各それぞれの候補が、ビデオデータの前にコーディングされたブロックのためのパレット中のパレットエントリを指定する、ビットストリーム中で第２のバイナリベクトルをシグナリングすることと、第２のバイナリベクトルが、１つまたは複数の第２のバイナリベクトルシンタックス要素を備え、ここにおいて、１つまたは複数の第２のバイナリベクトルシンタックス要素の各々が、第２のパレット予測子リストにおける異なる候補に対応する、第２のパレット予測子リストにおける各それぞれの候補について、第２のパレット予測子リストにおけるそれぞれの候補に対応する第２のバイナリベクトルシンタックス要素が、現在ブロックのためのパレットがそれぞれの候補によって指定されたパレットエントリを含むことを示す場合、現在ブロックのためのパレットは、それぞれの候補によって指定されたパレットエントリを含み、第２のパレット予測子リストにおけるそれぞれの候補に対応する第２のバイナリベクトルシンタックス要素が、現在ブロックのためのパレットがそれぞれの候補によって指定されたパレットエントリを含まないことを示す場合、現在ブロックのためのパレットは、それぞれの候補によって指定されたパレットエントリを省略する、をさらに備える、例１９から２８のいずれかに記載の方法。
【０１８８】
[0199]例３０．  第１および第２のパレット予測子リストにプルーニングプロセスを適用することをさらに備える、例２９に記載の方法。
【０１８９】
[0200]例３１．  第１および第２のパレット予測子リストにプルーニングプロセスを適用することは、第１のパレット予測子リストにおける特定の候補が第２のパレット予測子リストにおける候補に一致する場合、第１のパレット予測子リストからその特定の候補を除去することを備える、例３０に記載の方法。
【０１９０】
[0201]例３２．  第１および第２のパレット予測子リストにプルーニングプロセスを適用することが、第１のパレット予測子リストにおける第１の候補と第２のパレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、第１のパレット予測子リストから第１の候補を除去すべきかどうかを決定することと、決定に応答して、第１のパレット予測子リストから第１の候補を除去することとを備える、例３０または３１に記載の方法。
【０１９１】
[0202]例３３．  現在ブロックのためのパレット中に、１つまたは複数の追加のパレットエントリを含めることと、ビットストリーム中で、１つまたは複数の追加のパレットエントリを指定するシンタックス要素をシグナリングすることとをさらに備える、例２９から３２のいずれかに記載の方法。
【０１９２】
[0203]例３４．  現在ブロックのためのパレット中のパレットエントリが、第１のパレット予測子リストにおける候補によって指定された値を指定するパレットエントリ、追加のパレットエントリ、および第２のパレット予測子リストによって指定されたパレットエントリ、のように順序付けられる、例３３に記載の方法。
【０１９３】
[0204]例３５．  現在ブロックのためのパレット中のパレットエントリが、第１のパレット予測子リストにおける候補によって指定された値を指定するパレットエントリ、第２のパレット予測子リストによって指定されたパレットエントリ、および追加のパレットエントリ、のように順序付けられる、例３３に記載の方法。
【０１９４】
[0205]例３６．  パレット予測子リストの候補が、現在ブロックの後に処理されるビデオデータのブロックのためのパレットを決定するために使用されるパレット予測子リスト中に含まれない、例１９から３５のいずれかに記載の方法。
【０１９５】
[0206]例３７．  ビデオデータを復号するように構成されたデバイスであって、本デバイスが、ビデオデータを記憶するように構成されたメモリと、例１から１８のいずれかに記載の方法を実行するように構成された１つまたは複数のプロセッサとを備える、デバイス。
【０１９６】
[0207]例３８．  ビデオデータを符号化するように構成されたデバイスであって、本デバイスが、ビデオデータを記憶するように構成されたメモリと、例１９から３６のいずれかに記載の方法を実行するように構成された１つまたは複数のプロセッサとを備える、デバイス。
【０１９７】
[0208]例３９．  ビデオデータを復号するように構成されたデバイスであって、本デバイスが、例１から１８のいずれかに記載の方法を実行するための手段を備える、デバイス。
【０１９８】
[0209]例４０．  ビデオデータを符号化するように構成されたデバイスであって、本デバイスが、例１９から３６のいずれかに記載の方法を実行するための手段を備える、デバイス。
【０１９９】
[0210]例４１．  実行されたとき、デバイスの１つまたは複数のプロセッサに、例１から１８のいずれかに記載の方法を実施させる、その上に記憶された命令を有するコンピュータ可読記憶媒体。
【０２００】
[0211]例４２．  実行されたとき、デバイスの１つまたは複数のプロセッサに、例１９から３６のいずれかに記載の方法を実施させる、その上に記憶された命令を有するコンピュータ可読記憶媒体。
【０２０１】
[0212]上記例に応じて、本明細書で説明した技法のうちのいずれかのいくつかの行為またはイベントが、異なるシーケンスで実行され得、追加、マージ、または完全に除外され得る（たとえば、すべての説明した行為またはイベントが本技法の実施のために必要であるとは限らない）ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実行され得る。さらに、本開示のいくつかの態様について、明快のために単一のモジュールまたはユニットによって実行されるものとして説明したが、本開示の技法は、ビデオコーダに関連するユニットまたはモジュールの組合せによって実行され得ることを理解されたい。
【０２０２】
[0213]本開示のいくつかの態様について、説明の目的でＨＥＶＣ規格に関して説明した。ただし、本開示で説明した技法は、まだ開発されていない他の標準またはプロプライエタリビデオコーディングプロセスを含む、他のビデオコーディングプロセスのために有用であり得る。
【０２０３】
[0214]上記で説明した技法は、その両方が一般にビデオコーダと呼ばれることがある、ビデオエンコーダ２０（図１および図５）および／またはビデオデコーダ３０（図１および図６）によって実行され得る。同様に、ビデオコーディングは、適用可能なとき、ビデオ符号化またはビデオ復号を指すことがある。
【０２０４】
[0215]技法の様々な態様の特定の組合せについて上記で説明したが、これらの組合せは、本開示で説明した技法の例を示すために与えたものにすぎない。したがって、本開示の技法は、これらの例示的な組合せに限定されるべきでなく、本開示で説明した技法の様々な態様の任意の想起可能な組合せを包含し得る。
【０２０５】
[0216]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明する技法の実装のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータまたは１つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０２０６】
[0217]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０２０７】
[0218]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素で十分に実装され得る。
【０２０８】
[0219]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示した技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０２０９】
[0220]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
【図１】
2017527168.tif 000006
【図２】
2017527168.tif 000007
【図３】
2017527168.tif 000008
【図４】
2017527168.tif 000009
【図５】
2017527168.tif 000010
【図６】
2017527168.tif 000011
【図７】
2017527168.tif 000012
【図８】
2017527168.tif 000013
【図９】
2017527168.tif 000014
【図１０】
2017527168.tif 000015
【図１１】
2017527168.tif 000016
【図１２】
2017527168.tif 000017
【図１３】
2017527168.tif 000018
【手続補正書】
【提出日】平成29年3月27日(2017.3.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
１つまたは複数の候補を備える第１のパレット予測子リストを決定することと、前記ビデオデータの前にコーディングされたブロックのためのパレット中の各それぞれのパレットエントリが、前記第１のパレット予測子リストにおけるそれぞれの候補によって指定される、
１つまたは複数の追加の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの追加の候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にあり、前記第２のパレット予測子リストにおける前記１つまたは複数の追加の候補が、前記第１のパレット予測子リストにおける前記１つまたは複数の候補とは別のものである、
前記現在ブロックのためのパレット中に、前記第２のパレット予測子リストにおける少なくとも１つの候補を含めることと、
ビットストリーム中でシグナリングされる１つまたは複数のシンタックス要素に基づいて、前記現在ブロックのピクセルのためのインデックス値を取得することと、
前記ピクセルのための前記インデックス値に対応する前記パレット中のパレットエントリを識別することと、
前記識別されたパレットエントリによって指定された前記少なくとも１つのサンプル値に基づいて、前記ピクセルの少なくとも１つの再構成済みサンプル値を決定することと
を備える、方法。
【請求項２】
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、請求項１に記載の方法。
【請求項３】
前記再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、または右上の再構成済み近隣ピクセルからなるグループから選択された少なくとも１つを含む、請求項２に記載の方法。
【請求項４】
前記パレット予測子リストを決定することが、
前記パレット予測子リストから１つまたは複数の冗長候補を除去すること
を備える、請求項１に記載の方法。
【請求項５】
前記パレット予測子リストを決定することが、
前記パレット予測子リストにおける第１の候補と前記パレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、前記パレット予測子リストから前記第１の候補を除去すべきかどうかを決定することと、
前記決定に応答して、前記パレット予測子リストから前記第１の候補を除去することと
を備える、請求項４に記載の方法。
【請求項６】
前記１つまたは複数の近隣ピクセルが、複数の近隣ピクセルを含み、前記パレット予測子リストを決定することが、
前記複数の前記再構成済み近隣ピクセルの値の頻度に従って、前記パレット予測子リスト内で、前記複数の再構成済み近隣ピクセルのうちの２つまたはそれ以上をランク付けすること
を備える、請求項１に記載の方法。
【請求項７】
前記パレット予測子リストを決定することが、
前記パレット予測子リストのサイズが特定の数の候補に限定されるように、前記パレット予測子リストをトランケートすること
を備える、請求項１に記載の方法。
【請求項８】
前記パレット予測子リストを決定した後、前記１つまたは複数の再構成済み近隣ピクセルにループ内フィルタ処理を適用することをさらに備える、請求項１に記載の方法。
【請求項９】
前記ビットストリームから、１つまたは複数のシンタックス要素を備えるバイナリベクトルを取得することと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記パレット予測子リストにおける各それぞれの候補について、前記パレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記パレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
を備える、請求項１に記載の方法。
【請求項１０】
前記パレット予測子リストが、第１のパレット予測子リストであり、前記方法は、
１つまたは複数の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの候補が、前記前に復号されたブロックのための前記パレット中のパレットエントリを指定する、
前記ビットストリームから、前記第２のパレット予測子リストのためのバイナリベクトルを取得することと、前記バイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける各それぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
をさらに備える、請求項１に記載の方法。
【請求項１１】
前記第１のパレット予測子リストにおける特定の候補が前記第２のパレット予測子リストにおける候補に一致する場合、前記第１のパレット予測子リストから前記特定の候補を除去するプルーニングプロセスを適用すること
をさらに備える、請求項１０に記載の方法。
【請求項１２】
前記第１のパレット予測子リストにおける第１の候補と前記第２のパレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、前記第１のパレット予測子リストから前記第１の候補を除去すべきかどうかを決定することと、
前記決定に応答して、前記第１のパレット予測子リストから前記第１の候補を除去することと
をさらに備える、請求項１０に記載の方法。
【請求項１３】
前記ビットストリームから、１つまたは複数の追加のパレットエントリを指定するシンタックス要素を取得することと、
前記現在ブロックのための前記パレット中に、前記１つまたは複数の追加のパレットエントリを含めることと
をさらに備え、
ここにおいて、前記現在ブロックのための前記パレット中の前記パレットエントリが、前記第１のパレット予測子リストにおける候補を指定するパレットエントリ、前記第２のパレット予測子リストにおける候補を指定するパレットエントリ、および前記追加のパレットエントリ、のように順序付けられる、
請求項１０に記載の方法。
【請求項１４】
前記ビットストリームから、１つまたは複数の追加のパレットエントリを指定するシンタックス要素を取得することと、
前記現在ブロックのための前記パレット中に、前記１つまたは複数の追加のパレットエントリを含めることと
をさらに備え、
ここにおいて、前記現在ブロックのための前記パレット中の前記パレットエントリが、前記第２のパレット予測子リストにおける候補を指定するパレットエントリ、前記第１のパレット予測子リストにおける候補を指定するパレットエントリ、および前記追加のパレットエントリ、のように順序付けられる、
請求項１０に記載の方法。
【請求項１５】
前記パレット予測子リストの候補が、前記現在ブロックの後に処理される前記ビデオデータのブロックのためのパレットを決定するために使用されるパレット予測子リスト中に含まれない、請求項１に記載の方法。
【請求項１６】
ビデオデータを符号化する方法であって、前記方法は、
１つまたは複数の候補を備える第１のパレット予測子リストを決定することと、前記ビデオデータの前にコーディングされたブロックのためのパレット中の各それぞれのパレットエントリが、前記第１のパレット予測子リストにおけるそれぞれの候補によって指定され、
１つまたは複数の追加の候補を備える第２のパレット予測子リストを決定することと、第２の前記パレット予測子リストにおける各それぞれの追加の候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にあり、前記第２のパレット予測子リストにおける前記１つまたは複数の追加の候補が、前記第１のパレット予測子リストにおける前記１つまたは複数の候補とは別のものである、
前記現在ブロックのためのパレット中に、前記第２のパレット予測子リストにおける少なくとも１つの候補を含めることと、
ビットストリーム中で、前記現在ブロックのピクセルのためのインデックス値を示す１つまたは複数のシンタックス要素をシグナリングすることと、前記インデックス値が、前記パレット中のエントリに対応する、
を備える、方法。
【請求項１７】
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、請求項１６に記載の方法。
【請求項１８】
前記再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、または右上の再構成済み近隣ピクセルからなるグループから選択された少なくとも１つを含む、請求項１６に記載の方法。
【請求項１９】
前記１つまたは複数の近隣ピクセルが、複数の近隣ピクセルを含み、前記パレット予測子リストを生成することが、
前記複数の前記再構成済み近隣ピクセルの値の頻度に従って、前記パレット予測子リスト内で、前記複数の再構成済み近隣ピクセルのうちの２つまたはそれ以上をランク付けすること
を備える、請求項１６に記載の方法。
【請求項２０】
前記ビットストリーム中で、１つまたは複数のシンタックス要素を備えるバイナリベクトルをシグナリングすることと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記パレット予測子リストにおける各それぞれの候補について、前記パレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記パレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
をさらに備える、請求項１６に記載の方法。
【請求項２１】
前記パレット予測子リストが、第１のパレット予測子リストであり、前記方法は、
１つまたは複数の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの候補が、前記前に符号化されたブロックのための前記パレット中のパレットエントリを指定する、
前記ビットストリーム中でバイナリベクトルをシグナリングすることと、前記バイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記第２のパレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける少なくとも１つのそれぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
をさらに備える、請求項１６に記載の方法。
【請求項２２】
前記第１のパレット予測子リストにおける特定の候補が前記第２のパレット予測子リストにおける候補に一致する場合、前記第１のパレット予測子リストから前記特定の候補を除去するプルーニングプロセスを適用すること
をさらに備える、請求項２１に記載の方法。
【請求項２３】
ビデオデータをコーディングするように構成されたデバイスであって、前記デバイスは、
前記ビデオデータを記憶するように構成されたメモリと、
１つまたは複数の候補を備える第１のパレット予測子リストを決定することと、前記ビデオデータの前にコーディングされたブロックのためのパレット中の各それぞれのパレットエントリが、前記第１のパレット予測子リストにおけるそれぞれの候補によって指定される、
１つまたは複数の追加の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの追加の候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にあり、前記第２のパレット予測子リストにおける前記１つまたは複数の追加の候補が、前記第１のパレット予測子リストにおける前記１つまたは複数の候補とは別のものである、
前記現在ブロックのためのパレット中に、前記第２のパレット予測子リストにおける少なくとも１つの候補を含めることと
を行うように構成された１つまたは複数のプロセッサと
を備える、デバイス。
【請求項２４】
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、請求項２３に記載のデバイス。
【請求項２５】
前記１つまたは複数のプロセッサは、
前記ビットストリームから、１つまたは複数のシンタックス要素を備えるバイナリベクトルを取得することと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記パレット予測子リストにおける各それぞれの候補について、前記パレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記パレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
を行うように構成された、請求項２３に記載のデバイス。
【請求項２６】
前記パレット予測子リストが、第１のパレット予測子リストであり、前記１つまたは複数のプロセッサは、
１つまたは複数の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの候補が、前記前にコーディングされたブロックのための前記パレット中のパレットエントリを指定する、
ビットストリームから、前記第２のパレット予測子リストのためのバイナリベクトルを取得することと、前記バイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける各それぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
を行うようにさらに構成された、請求項２３に記載のデバイス。
【請求項２７】
前記１つまたは複数のプロセッサが、
ビットストリーム中でシグナリングされる１つまたは複数の追加のシンタックス要素に基づいて、前記現在ブロックのピクセルのためのインデックス値を取得することと、
前記ピクセルのための前記インデックス値に対応する前記パレット中のパレットエントリを識別することと、
前記識別されたパレットエントリによって指定された前記少なくとも１つのサンプル値に基づいて、前記ピクセルの少なくとも１つの再構成済みサンプル値を決定することと
を行うように構成された、請求項２３に記載のデバイス。
【請求項２８】
前記デバイスが、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス
からなるグループから選択された少なくとも１つを備える、請求項２３に記載のデバイス。
【請求項２９】
前記復号ビデオデータを表示するように構成されたディスプレイ、または前記ビデオデータをキャプチャするように構成されたカメラからなるグループから選択された少なくとも１つをさらに備える、請求項２３に記載のデバイス。
【請求項３０】
ビデオデータをコーディングするように構成されたデバイスであって、前記デバイスは、
１つまたは複数の候補を備える第１のパレット予測子リストを決定するための手段と、前記ビデオデータの前にコーディングされたブロックのためのパレット中の各それぞれのパレットエントリが、前記第１のパレット予測子リストにおけるそれぞれの候補によって指定される、
１つまたは複数の追加の候補を備える第２のパレット予測子リストを決定するための手段と、前記第２のパレット予測子リストにおける各それぞれの追加の候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にあり、前記第２のパレット予測子リストにおける前記１つまたは複数の追加の候補が、前記第１のパレット予測子リストにおける前記１つまたは複数の候補とは別のものである、
前記現在ブロックのためのパレット中に、前記第２のパレット予測子リストにおける少なくとも１つの候補を含めるための手段と
を備える、デバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０２０９
【補正方法】変更
【補正の内容】
【０２０９】
[0220]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、前記方法は、
１つまたは複数の候補を備えるパレット予測子リストを決定することと、前記パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にある、
前記現在ブロックのためのパレット中に、前記パレット予測子リストにおける少なくとも１つの候補を含めることと、
ビットストリーム中でシグナリングされる１つまたは複数のシンタックス要素に基づいて、前記現在ブロックのピクセルのためのインデックス値を取得することと、
前記ピクセルのための前記インデックス値に対応する前記パレット中のパレットエントリを識別することと、
前記識別されたパレットエントリによって指定された前記少なくとも１つのサンプル値に基づいて、前記ピクセルの少なくとも１つの再構成済みサンプル値を決定することと
を備える、方法。
［Ｃ２］
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、Ｃ１に記載の方法。
［Ｃ３］
前記再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、または右上の再構成済み近隣ピクセルからなるグループから選択された少なくとも１つを含む、Ｃ２に記載の方法。
［Ｃ４］
前記パレット予測子リストを決定することが、
前記パレット予測子リストから１つまたは複数の冗長候補を除去すること
を備える、Ｃ１に記載の方法。
［Ｃ５］
前記パレット予測子リストを決定することが、
前記パレット予測子リストにおける第１の候補と前記パレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、前記パレット予測子リストから前記第１の候補を除去すべきかどうかを決定することと、
前記決定に応答して、前記パレット予測子リストから前記第１の候補を除去することと
を備える、Ｃ４に記載の方法。
［Ｃ６］
前記１つまたは複数の近隣ピクセルが、複数の近隣ピクセルを含み、前記パレット予測子リストを決定することが、
前記複数の前記再構成済み近隣ピクセルの値の頻度に従って、前記パレット予測子リスト内で、前記複数の再構成済み近隣ピクセルのうちの２つまたはそれ以上をランク付けすること
を備える、Ｃ１に記載の方法。
［Ｃ７］
前記パレット予測子リストを決定することが、
前記パレット予測子リストのサイズが特定の数の候補に限定されるように、前記パレット予測子リストをトランケートすること
を備える、Ｃ１に記載の方法。
［Ｃ８］
前記パレット予測子リストを決定した後、前記１つまたは複数の再構成済み近隣ピクセルにループ内フィルタ処理を適用することをさらに備える、Ｃ１に記載の方法。
［Ｃ９］
前記ビットストリームから、１つまたは複数のシンタックス要素を備えるバイナリベクトルを取得することと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記パレット予測子リストにおける各それぞれの候補について、前記パレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記パレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
を備える、Ｃ１に記載の方法。
［Ｃ１０］
前記パレット予測子リストが、第１のパレット予測子リストであり、前記バイナリベクトルが、第１のバイナリベクトルであり、前記方法は、
１つまたは複数の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの候補が、前記ビデオデータの前にコーディングされたブロックのためのパレット中のパレットエントリを指定する、
前記ビットストリームから、前記第２のパレット予測子リストのためのバイナリベクトルを取得することと、前記バイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける各それぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ１１］
前記第１のパレット予測子リストにおける特定の候補が前記第２のパレット予測子リストにおける候補に一致する場合、前記第１のパレット予測子リストから前記特定の候補を除去するプルーニングプロセスを適用すること
をさらに備える、Ｃ１０に記載の方法。
［Ｃ１２］
前記第１のパレット予測子リストにおける第１の候補と前記第２のパレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、前記第１のパレット予測子リストから前記第１の候補を除去すべきかどうかを決定することと、
前記決定に応答して、前記第１のパレット予測子リストから前記第１の候補を除去することと
をさらに備える、Ｃ１０に記載の方法。
［Ｃ１３］
前記ビットストリームから、１つまたは複数の追加のパレットエントリを指定するシンタックス要素を取得することと、
前記現在ブロックのための前記パレット中に、前記１つまたは複数の追加のパレットエントリを含めることと
をさらに備え、
ここにおいて、前記現在ブロックのための前記パレット中の前記パレットエントリが、前記第１のパレット予測子リストにおける候補を指定するパレットエントリ、前記第２のパレット予測子リストにおける候補を指定するパレットエントリ、および前記追加のパレットエントリ、のように順序付けられる、
Ｃ１０に記載の方法。
［Ｃ１４］
前記ビットストリームから、１つまたは複数の追加のパレットエントリを指定するシンタックス要素を取得することと、
前記現在ブロックのための前記パレット中に、前記１つまたは複数の追加のパレットエントリを含めることと
をさらに備え、
ここにおいて、前記現在ブロックのための前記パレット中の前記パレットエントリが、前記第２のパレット予測子リストにおける候補を指定するパレットエントリ、前記第１のパレット予測子リストにおける候補を指定するパレットエントリ、および前記追加のパレットエントリ、のように順序付けられる、
Ｃ１０に記載の方法。
［Ｃ１５］
前記パレット予測子リストの候補が、前記現在ブロックの後に処理される前記ビデオデータのブロックのためのパレットを決定するために使用されるパレット予測子リスト中に含まれない、Ｃ１に記載の方法。
［Ｃ１６］
ビデオデータを符号化する方法であって、前記方法は、
１つまたは複数の候補を備えるパレット予測子リストを決定することと、前記パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にある、
前記現在ブロックのためのパレット中に、前記パレット予測子リストにおける少なくとも１つの候補を含めることと、
ビットストリーム中で、前記現在ブロックのピクセルのためのインデックス値を示す１つまたは複数のシンタックス要素をシグナリングすることと、前記インデックス値が、前記パレット中のエントリに対応する、
を備える、方法。
［Ｃ１７］
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、Ｃ１６に記載の方法。
［Ｃ１８］
前記再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、または右上の再構成済み近隣ピクセルからなるグループから選択された少なくとも１つを含む、Ｃ１６に記載の方法。
［Ｃ１９］
前記１つまたは複数の近隣ピクセルが、複数の近隣ピクセルを含み、前記パレット予測子リストを生成することが、
前記複数の前記再構成済み近隣ピクセルの値の頻度に従って、前記パレット予測子リスト内で、前記複数の再構成済み近隣ピクセルのうちの２つまたはそれ以上をランク付けすること
を備える、Ｃ１６に記載の方法。
［Ｃ２０］
前記ビットストリーム中で、１つまたは複数のシンタックス要素を備えるバイナリベクトルをシグナリングすることと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記パレット予測子リストにおける各それぞれの候補について、前記パレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記パレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
をさらに備える、Ｃ１６に記載の方法。
［Ｃ２１］
前記パレット予測子リストが、第１のパレット予測子リストであり、前記バイナリベクトルが、第１のバイナリベクトルであり、前記方法は、
１つまたは複数の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの候補が、前記ビデオデータの前にコーディングされたブロックのためのパレット中のパレットエントリを指定する、
前記ビットストリーム中でバイナリベクトルをシグナリングすることと、前記バイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記第２のパレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける少なくとも１つのそれぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
をさらに備える、Ｃ１６に記載の方法。
［Ｃ２２］
前記第１のパレット予測子リストにおける特定の候補が前記第２のパレット予測子リストにおける候補に一致する場合、前記第１のパレット予測子リストから前記特定の候補を除去するプルーニングプロセスを適用すること
をさらに備える、Ｃ２１に記載の方法。
［Ｃ２３］
ビデオデータをコーディングするように構成されたデバイスであって、前記デバイスは、
前記ビデオデータを記憶するように構成されたメモリと、
１つまたは複数の候補を備えるパレット予測子リストを決定することと、前記パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にある、
前記現在ブロックのためのパレット中に、前記パレット予測子リストにおける少なくとも１つの候補を含めることと
を行うように構成された１つまたは複数のプロセッサと
を備える、デバイス。
［Ｃ２４］
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、Ｃ２３に記載のデバイス。
［Ｃ２５］
前記１つまたは複数のプロセッサは、
前記ビットストリームから、１つまたは複数のシンタックス要素を備えるバイナリベクトルを取得することと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記パレット予測子リストにおける各それぞれの候補について、前記パレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記パレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
を行うように構成された、Ｃ２３に記載のデバイス。
［Ｃ２６］
前記パレット予測子リストが、第１のパレット予測子リストであり、前記バイナリベクトルが、第１のバイナリベクトルであり、前記１つまたは複数のプロセッサは、
１つまたは複数の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの候補が、前記ビデオデータの前にコーディングされたブロックのためのパレット中のパレットエントリを指定する、
ビットストリームから、前記第２のパレット予測子リストのためのバイナリベクトルを取得することと、前記バイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記パレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける各それぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないと決定することと
を行うようにさらに構成された、Ｃ２３に記載のデバイス。
［Ｃ２７］
前記１つまたは複数のプロセッサが、ビットストリーム中でシグナリングされる１つまたは複数の追加のシンタックス要素に基づいて、前記現在ブロックのピクセルのためのインデックス値を取得することと、
前記ピクセルのための前記インデックス値に対応する前記パレット中のパレットエントリを識別することと、
前記識別されたパレットエントリによって指定された前記少なくとも１つのサンプル値に基づいて、前記ピクセルの少なくとも１つの再構成済みサンプル値を決定することと
を行うように構成された、Ｃ２３に記載のデバイス。
［Ｃ２８］
前記デバイスが、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス
からなるグループから選択された少なくとも１つを備える、Ｃ２３に記載のデバイス。
［Ｃ２９］
復号ビデオデータを表示するように構成されたディスプレイ、または前記ビデオデータをキャプチャするように構成されたカメラからなるグループから選択された少なくとも１つをさらに備える、Ｃ２３に記載のデバイス。
［Ｃ３０］
ビデオデータを復号するように構成されたデバイスであって、前記デバイスは、
１つまたは複数の候補を備えるパレット予測子リストを決定するための手段と、前記パレット予測子リストにおける各それぞれの候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にある、
前記現在ブロックのためのパレット中に、前記パレット予測子リストにおける少なくとも１つの候補を含めるための手段と
を備える、デバイス。
【手続補正書】
【提出日】平成29年3月28日(2017.3.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
１つまたは複数の候補を備える第１のパレット予測子リストを決定することと、前記ビデオデータの前にコーディングされたブロックのためのパレット中の各それぞれのパレットエントリが、前記第１のパレット予測子リストにおけるそれぞれの候補によって指定される、
１つまたは複数の追加の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの追加の候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にあり、前記第２のパレット予測子リストにおける前記１つまたは複数の追加の候補が、前記第１のパレット予測子リストにおける前記１つまたは複数の候補とは別のものである、
前記現在ブロックのためのパレット中に、前記第２のパレット予測子リストからの少なくとも１つの候補を含めることと、
ビットストリーム中でシグナリングされる１つまたは複数のシンタックス要素に基づいて、前記現在ブロックのピクセルのためのインデックス値を取得することと、
前記ピクセルのための前記インデックス値に対応する前記パレット中のパレットエントリを識別することと、
前記識別されたパレットエントリによって指定された前記少なくとも１つのサンプル値に基づいて、前記ピクセルの少なくとも１つの再構成済みサンプル値を決定することと、
前記ビットストリームから、１つまたは複数のシンタックス要素を備えるバイナリベクトルを取得することと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記第２のパレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける各それぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないかどうかを決定すること
を備える、方法。
【請求項２】
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、請求項１に記載の方法。
【請求項３】
前記再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、または右上の再構成済み近隣ピクセルからなるグループから選択された少なくとも１つを含む、請求項２に記載の方法。
【請求項４】
前記第２のパレット予測子リストを決定することが、
前記第２のパレット予測子リストから１つまたは複数の冗長候補を除去すること
を備える、請求項１に記載の方法。
【請求項５】
前記第２のパレット予測子リストを決定することが、
前記第２のパレット予測子リストにおける第１の候補と第２の前記パレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、前記第２のパレット予測子リストから前記第１の候補を除去すべきかどうかを決定することと、
前記決定に応答して、前記第２のパレット予測子リストから前記第１の候補を除去することと
を備える、請求項４に記載の方法。
【請求項６】
前記１つまたは複数の近隣ピクセルが、複数の近隣ピクセルを含み、前記第２のパレット予測子リストを決定することが、
前記複数の前記再構成済み近隣ピクセルの値の頻度に従って、前記第２のパレット予測子リスト内で、前記複数の再構成済み近隣ピクセルのうちの２つまたはそれ以上をランク付けすること
を備える、請求項１に記載の方法。
【請求項７】
前記第２のパレット予測子リストを決定することが、
前記第２のパレット予測子リストのサイズが特定の数の候補に限定されるように、前記第２のパレット予測子リストをトランケートすること
を備える、請求項１に記載の方法。
【請求項８】
前記第２のパレット予測子リストを決定した後、前記１つまたは複数の再構成済み近隣ピクセルにループ内フィルタ処理を適用することをさらに備える、請求項１に記載の方法。
【請求項９】
前記バイナリベクトルが、第１のバイナリであり、前記方法は、
前記ビットストリームから、第２のバイナリベクトルを取得することと、前記第２のバイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記第２のバイナリベクトル中の前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記第１のパレット予測子リストにおける異なる候補に対応する、
前記第１のパレット予測子リストにおける各それぞれの候補について、前記第１のパレット予測子リストにおける前記それぞれの候補に対応する前記第２のバイナリベクトル中の前記バイナリベクトルシンタックス要素に基づいて、前記第１のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないかどうかを決定することと
をさらに備える、請求項１に記載の方法。
【請求項１０】
前記第２のパレット予測子リストにおける特定の候補が前記第１のパレット予測子リストにおける候補に一致する場合、前記第２のパレット予測子リストから前記特定の候補を除去するプルーニングプロセスを適用すること
をさらに備える、請求項９に記載の方法。
【請求項１１】
前記第２のパレット予測子リストにおける第１の候補と前記第１のパレット予測子リストにおける第２の候補との類似度のメトリックに基づいて、前記第２のパレット予測子リストから前記第１の候補を除去すべきかどうかを決定することと、
前記決定に応答して、前記第２のパレット予測子リストから前記第１の候補を除去することと
をさらに備える、請求項９に記載の方法。
【請求項１２】
前記ビットストリームから、１つまたは複数の追加のパレットエントリを指定するシンタックス要素を取得することと、
前記現在ブロックのための前記パレット中に、前記１つまたは複数の追加のパレットエントリを含めることと
をさらに備え、
ここにおいて、前記現在ブロックのための前記パレット中の前記パレットエントリが、前記第２のパレット予測子リストにおける候補を指定するパレットエントリ、前記第１のパレット予測子リストにおける候補を指定するパレットエントリ、および前記追加のパレットエントリ、のように順序付けられる、
請求項９に記載の方法。
【請求項１３】
前記ビットストリームから、１つまたは複数の追加のパレットエントリを指定するシンタックス要素を取得することと、
前記現在ブロックのための前記パレット中に、前記１つまたは複数の追加のパレットエントリを含めることと
をさらに備え、
ここにおいて、前記現在ブロックのための前記パレット中の前記パレットエントリが、前記第１のパレット予測子リストにおける候補を指定するパレットエントリ、前記第２のパレット予測子リストにおける候補を指定するパレットエントリ、および前記追加のパレットエントリ、のように順序付けられる、
請求項９に記載の方法。
【請求項１４】
前記第２のパレット予測子リストの候補が、前記現在ブロックの後に処理される前記ビデオデータのブロックのためのパレットを決定するために使用されるパレット予測子リスト中に含まれない、請求項１に記載の方法。
【請求項１５】
ビデオデータを符号化する方法であって、前記方法は、
１つまたは複数の候補を備える第１のパレット予測子リストを決定することと、前記ビデオデータの前にコーディングされたブロックのためのパレット中の各それぞれのパレットエントリが、前記第１のパレット予測子リストにおけるそれぞれの候補によって指定され、
１つまたは複数の追加の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの追加の候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にあり、前記第２のパレット予測子リストにおける前記１つまたは複数の追加の候補が、前記第１のパレット予測子リストにおける前記１つまたは複数の候補とは別のものである、
前記現在ブロックのためのパレット中に、前記第２のパレット予測子リストからの少なくとも１つの候補を含めることと、
ビットストリーム中で、前記現在ブロックのピクセルのためのインデックス値を示す１つまたは複数のシンタックス要素をシグナリングすることと、前記インデックス値が、前記パレット中のエントリに対応する、
前記ビットストリーム中で、１つまたは複数のシンタックス要素を備えるバイナリベクトルをシグナリングすることと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記第２のパレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける各それぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないかどうかを決定することと
を備える、方法。
【請求項１６】
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、請求項１５に記載の方法。
【請求項１７】
前記再構成済み近隣ピクセルが、左下の再構成済み近隣ピクセル、左の再構成済み近隣ピクセル、左上の再構成済み近隣ピクセル、上の再構成済み近隣ピクセル、または右上の再構成済み近隣ピクセルからなるグループから選択された少なくとも１つを含む、請求項１５に記載の方法。
【請求項１８】
前記１つまたは複数の近隣ピクセルが、複数の近隣ピクセルを含み、前記第２のパレット予測子リストを生成することが、
前記複数の前記再構成済み近隣ピクセルの値の頻度に従って、前記第２のパレット予測子リスト内で、前記複数の再構成済み近隣ピクセルのうちの２つまたはそれ以上をランク付けすること
を備える、請求項１５に記載の方法。
【請求項１９】
前記バイナリベクトルが、第１のバイナリベクトルであり、前記方法は、
前記ビットストリーム中で第２のバイナリベクトルをシグナリングすることと、前記第２のバイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記第２のバイナリベクトル中の前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記第１のパレット予測子リストにおける異なる候補に対応する、
前記第１のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないかどうか
をさらに備える、請求項１５に記載の方法。
【請求項２０】
前記第２のパレット予測子リストにおける特定の候補が前記第１のパレット予測子リストにおける候補に一致する場合、前記第２のパレット予測子リストから前記特定の候補を除去するプルーニングプロセスを適用すること
をさらに備える、請求項１９に記載の方法。
【請求項２１】
ビデオデータをコーディングするように構成されたデバイスであって、前記デバイスは、
前記ビデオデータを記憶するように構成されたメモリと、
１つまたは複数の候補を備える第１のパレット予測子リストを決定することと、前記ビデオデータの前にコーディングされたブロックのためのパレット中の各それぞれのパレットエントリが、前記第１のパレット予測子リストにおけるそれぞれの候補によって指定される、
１つまたは複数の追加の候補を備える第２のパレット予測子リストを決定することと、前記第２のパレット予測子リストにおける各それぞれの追加の候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にあり、前記第２のパレット予測子リストにおける前記１つまたは複数の追加の候補が、前記第１のパレット予測子リストにおける前記１つまたは複数の候補とは別のものである、
前記現在ブロックのためのパレット中に、前記第２のパレット予測子リストからの少なくとも１つの候補を含めることと、
前記ビットストリームから、１つまたは複数のシンタックス要素を備えるバイナリベクトルを取得することと、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記第２のパレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける各それぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないかどうかを決定することと
を行うように構成された１つまたは複数のプロセッサと
を備える、デバイス。
【請求項２２】
前記再構成済み近隣ピクセルが、前記現在ブロックのすぐ上のラインと、前記現在ブロックのすぐ左の列とからなるグループから選択された少なくとも１つからの再構成済み近隣ピクセルを含む、請求項２１に記載のデバイス。
【請求項２３】
前記バイナリベクトルが、第１のバイナリベクトルであり、前記１つまたは複数のプロセッサは、
ビットストリームから、第２のバイナリベクトルを取得することと、前記第２のバイナリベクトルが、１つまたは複数のバイナリベクトルシンタックス要素を備え、ここにおいて、前記第２のバイナリベクトル中の前記１つまたは複数のバイナリベクトルシンタックス要素の各々が、前記第１のパレット予測子リストにおける異なる候補に対応する、
前記第１のパレット予測子リストにおける各それぞれの候補について、前記第１のパレット予測子リストにおける前記それぞれの候補に対応する前記第２のバイナリベクトル中の前記バイナリベクトルシンタックス要素に基づいて、前記第１のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないかどうか決定することと
を行うようにさらに構成された、請求項２１に記載のデバイス。
【請求項２４】
前記１つまたは複数のプロセッサが、
ビットストリーム中でシグナリングされる１つまたは複数の追加のシンタックス要素に基づいて、前記現在ブロックのピクセルのためのインデックス値を取得することと、
前記ピクセルのための前記インデックス値に対応する前記パレット中のパレットエントリを識別することと、
前記識別されたパレットエントリによって指定された前記少なくとも１つのサンプル値に基づいて、前記ピクセルの少なくとも１つの再構成済みサンプル値を決定することと
を行うように構成された、請求項２１に記載のデバイス。
【請求項２５】
前記デバイスが、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス
からなるグループから選択された少なくとも１つを備える、請求項２１に記載のデバイス。
【請求項２６】
前記復号ビデオデータを表示するように構成されたディスプレイ、または前記ビデオデータをキャプチャするように構成されたカメラからなるグループから選択された少なくとも１つをさらに備える、請求項２１に記載のデバイス。
【請求項２７】
ビデオデータをコーディングするように構成されたデバイスであって、前記デバイスは、
１つまたは複数の候補を備える第１のパレット予測子リストを決定するための手段と、前記ビデオデータの前にコーディングされたブロックのためのパレット中の各それぞれのパレットエントリが、前記第１のパレット予測子リストにおけるそれぞれの候補によって指定される、
１つまたは複数の追加の候補を備える第２のパレット予測子リストを決定するための手段と、前記第２のパレット予測子リストにおける各それぞれの追加の候補が、１つまたは複数の再構成済み近隣ピクセルの中からの異なるそれぞれの再構成済み近隣ピクセルの少なくとも１つのサンプル値を指定し、ここにおいて、前記１つまたは複数の再構成済み近隣ピクセルの各々が、前記ビデオデータの現在ブロックの上のライン中または左の列中にあり、前記第２のパレット予測子リストにおける前記１つまたは複数の追加の候補が、前記第１のパレット予測子リストにおける前記１つまたは複数の候補とは別のものである、
前記現在ブロックのためのパレット中に、前記第２のパレット予測子リストからの少なくとも１つの候補を含めるための手段と、
前記ビットストリームから、１つまたは複数のシンタックス要素を備えるバイナリベクトルを取得するための手段と、ここにおいて、前記１つまたは複数のシンタックス要素の各々が、前記第２のパレット予測子リストにおける異なる候補に対応する、
前記第２のパレット予測子リストにおける各それぞれの候補について、前記第２のパレット予測子リストにおける前記それぞれの候補に対応する前記バイナリベクトルシンタックス要素に基づいて、前記第２のパレット予測子リストにおける前記それぞれの候補が、前記現在ブロックのための前記パレット中に含まれないかどうかを決定するための手段と
を備える、デバイス。
【国際調査報告】
2017527168.tif 000019
2017527168.tif 000020