(57)【特許請求の範囲】
【請求項１】
ビットストリームから画像を復号する方法であって、前記画像のシーケンスが複数のスライスを含む場合、前記方法は、
パレット符号化モードを使用してスライスの符号化データを復号する場合に、前記スライスに含まれる画素ブロックに対して、エントリインデックスと画素値とが対応付けられた少なくとも１組のエントリを含むパレットを使用して復号し、
前記画素ブロックに関連付けられた前記パレットを、パレット予測子から予測し、
前記パレットの予測は、
前記ビットストリームのシーケンスパラメータセットからパレット予測子の初期化子を復号するステップと、
前記初期化子を使用して、前記シーケンスに含まれる少なくとも２つのスライスのそれぞれにおいてパレット予測子を初期化する初期化ステップと、
前記初期化されたパレットより後のパレット予測子であって、現在復号されている画素ブロックに関連付けられた現在のパレットより後のパレット予測子を導出する場合に、当該パレット予測子を、前記現在のパレットと、前記現在のパレットを予測するために使用されたパレット予測子とから導出するステップと、
を含み、
前記初期化子は、前記シーケンスパラメータセット内で、前記パレット符号化モードが有効であるか否かを示す第１の情報、および、前記パレット予測子用の最大サイズを含む第２の情報の後に位置する、方法。
【請求項２】
前記少なくとも２つのスライスが、２つの別々の画像内に含まれる、請求項１に記載の方法。
【請求項３】
前記少なくとも２つのスライスが、同じ画像に含まれる、請求項１又は２に記載の方法。
【請求項４】
前記パレットのサイズが、前記パレット予測子を初期化するのに使用された前記パレット予測子の初期化子のサイズを使用して決定される、請求項１から３のいずれか一項に記載の方法。
【請求項５】
色成分数についての情報を得ることをさらに含み、前記パレット予測子の初期化子の構造が、前記色成分数についての前記情報に基づく、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記情報は、前記画像が単色画像であるか否かをシグナリングするためのフラグである、請求項５に記載の方法。
【請求項７】
画像をビットストリームとして符号化する方法であって、前記画像のシーケンスが複数のスライスを含む場合、前記方法は、
パレット符号化モードを使用してスライスの符号化データを符号化する場合に、前記スライスに含まれる画素ブロックに対して、エントリインデックスと画素値とが対応付けられた少なくとも１組のエントリを含むパレットを使用して符号化し、
前記画素ブロックに関連付けられた前記パレットを、パレット予測子から予測し、
前記パレットの予測は、
前記パレット予測子の初期化子を使用して、前記シーケンスに含まれる少なくとも２つのスライスのそれぞれにおいてパレット予測子を初期化する初期化ステップと、
前記初期化されたパレットより後のパレット予測子であって、現在符号化されている画素ブロックに関連付けられた現在のパレットより後のパレット予測子を導出する場合に、当該パレット予測子を、前記現在のパレットと、前記現在のパレットを予測するために使用されたパレット予測子とから導出するステップと、
前記ビットストリームのシーケンスパラメータセットに前記パレット予測子の前記初期化子を符号化するステップと、
を含み、
前記初期化子は、前記シーケンスパラメータセット内で、前記パレット符号化モードが有効であるか否かを示す第１の情報、および、前記パレット予測子用の最大サイズを含む第２の情報の後に符号化される、方法。
【請求項８】
ビットストリームから画像を復号する装置であって、前記画像のシーケンスが複数のスライスを含む場合、前記装置は、
パレット符号化モードを使用してスライスの符号化データを復号する場合に、前記スライスに含まれる画素ブロックに対して、エントリインデックスと画素値とが対応付けられた少なくとも１組のエントリを含むパレットを使用して復号する復号手段と、
前記画素ブロックに関連付けられた前記パレットは、パレット予測子から予測する予測手段と
を有し、
前記予測手段は、
前記ビットストリームのシーケンスパラメータセットからパレット予測子の初期化子を復号し、
前記初期化子を使用して、前記シーケンスに含まれる少なくとも２つのスライスのそれぞれにおいてパレット予測子を初期化し、
前記初期化されたパレットより後のパレット予測子であって、現在復号されている画素ブロックに関連付けられた現在のパレットより後のパレット予測子を導出する場合に、当該パレット予測子を、前記現在のパレットと、前記現在のパレットを予測するために使用されたパレット予測子とから導出し、
前記初期化子は、前記シーケンスパラメータセット内で、前記パレット符号化モードが有効であるか否かを示す第１の情報、および、前記パレット予測子用の最大サイズを含む第２の情報の後に位置する、装置。
【請求項９】
画像をビットストリームとして符号化する装置であって、前記画像のシーケンスが複数のスライスを含む場合、前記装置は、
パレット符号化モードを使用してスライスの符号化データを符号化する場合に、前記スライスに含まれる画素ブロックに対して、エントリインデックスと画素値とが対応付けられた少なくとも１組のエントリを含むパレットを使用して符号化する符号化手段と、
前記画素ブロックに関連付けられた前記パレットは、パレット予測子から予測する予測手段と
を有し、
前記予測手段は、
前記パレット予測子の初期化子を使用して、前記シーケンスに含まれる少なくとも２つのスライスのそれぞれにおいてパレット予測子を初期化し、
前記初期化されたパレットより後のパレット予測子であって、現在符号化されている画素ブロックに関連付けられた現在のパレットより後のパレット予測子を導出する場合に、当該パレット予測子を、前記現在のパレットと、前記現在のパレットを予測するために使用されたパレット予測子とから導出し、
前記ビットストリームのシーケンスパラメータセットに前記パレット予測子の前記初期化子を符号化し、
前記初期化子は、前記シーケンスパラメータセット内で、前記パレット符号化モードが有効であるか否かを示す第１の情報、および、前記パレット予測子用の最大サイズを含む第２の情報の後に符号化される、装置。
【請求項１０】
請求項８に記載の装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【請求項１１】
請求項９に記載の装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パレット予測モードを使用して、例えば、画像をビットストリームに符号化する、または画像をビットストリームから復号する際に、少なくとも１つの画像を処理するための方法およびデバイスに関係する。本発明は、具体的には、ＨＥＶＣスクリーンコンテンツ符号化（ＳＣＣ：Ｓｃｒｅｅｎ  Ｃｏｎｔｅｎｔ  Ｃｏｄｉｎｇ）拡張（ｅｘｔｅｎｓｉｏｎ）において導入されるようなパレットモード符号化に関係する。
【背景技術】
【０００２】
本発明は、より具体的には、画素ブロックがそれぞれ、いわゆるパレットで符号化された、またはそれからビルドされたそれぞれのインデックスブロックに基づき符号化される、符号化モードに適用される。
【０００３】
本文書におけるパレットは、インデックスを画素値に関連付ける、エントリ、または「要素」を有するルックアップテーブルとして定義される。通常、それぞれのエントリは、後で述べられるように、１つまたは３つの要素を含む。それぞれの要素は、色成分に対する画素値に関係する。例えば、画像が単色である場合、パレットのそれぞれのエントリは、固有の色成分に対して１つの要素を含む。
【０００４】
言い換えれば、通常、しかし必ずではなく、画素値は、画素に関連付けられたそれぞれの色成分の値によって構成され、色パレットをもたらす。しかしながら、画素値が、１つの画素成分（「要素」と名付けられた）から成り、単色パレットをもたらす場合がある。
【０００５】
画素ブロックを符号化するこのモードは、パレット符号化モードと一般に呼ばれる。例えば、高効率映像符号化国際標準のスクリーンコンテンツ符号化（ＳＣＣ）拡張において、このモードを採用することが検討されている（ＪＣＴＶＣ−Ｓ１００５文書を参照）。
【０００６】
映像シーケンス内の画像を符号化する際、画像は、最初、符号化ツリーブロック（ＣＴＢ：Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｂｌｏｃｋ）と呼ばれる等サイズの画素の符号化エンティティ（「符号化構造」としても知られる）に分割される。ＣＴＢは、スライスおよび／またはタイルなどのより高い階層レベルを有するその他の符号化構造にグループ化され得る。言い換えれば、画像は、階層符号化構造または符号化エンティティに、再帰的に分割される。
【０００７】
符号化ツリーブロックのサイズは、通常、６４×６４画素である。その後、それぞれの符号化ツリーブロックは、サイズが変わることがあり符号化する実際の画素ブロックである、より小さなブロックの階層ツリーに分解され得る。これらの符号化するより小さなブロックは、符号化ユニット（ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ）と呼ばれる。
【０００８】
特定の符号化ユニットの符号化は、周知のイントラ符号化モード、周知のインター符号化モード、およびパレット符号化モードを含む、予測符号化モード間の競合を伴う。
【０００９】
パレット符号化モードの場合、パレットからのインデックスブロックとして、所与の符号化ユニットに対して代表ブロックを定義することが可能であり、符号化ユニットにおけるそれぞれの画素位置に対して、前記代表ブロックが、符号化ユニットにおいて同じ位置を有する（すなわち併置された）画素の値に最も近いパレット内の画素値に関連付けられたインデックスを含む。しかしながら、最も近いパレットエントリを選択するこのパレットベースのアルゴリズムは、ＨＥＶＣ  ＳＣＣにおけるエンコーダ専用のものであり、ビットストリームをパースまたは復号するために、前記アルゴリズムを知る必要はない。通常、最も近いとは、成分値の差分絶対値和または成分値の差分の２乗などの特定のメートル法の距離を使用した最も短い距離の場合を意味する。具体的には、ロスレス符号化の場合、これは、パレットエントリが、エンコーダによって、画素と等しいとして選択される必要のあることを意味する。以下では、「対応する」または「一致する」は、ロスレス符号化の場合に「等しい」、またはそうではない場合に「最も近い」のいずれか一方を意味するのに使用される。
【００１０】
ＨＥＶＣ  ＳＣＣの最近のバージョンでは、元の画素ブロックと対応するパレットベースの代表画素ブロックとの間にもたらされる残差はない。高品質が符号化された画像において低下するのを避けるために、「エスケープ符号化された」特徴が、値がパレットのエントリの画素値に一致しない画素を符号化するのに導入された。これは、ロスレス符号化では、画素値に等しいパレットエントリがないことを意味する。このような場合、「エスケープ符号化された」画素をシグナリングするのに、パレットにおける特有のインデックスが使用され、エスケープ符号化された画素の量子化された値自体は、ビットストリームに直接、符号化され、量子化は、ＣＵレベルにおいて送信された量子化器ステップによって決まる。ロスレス符号化の場合、量子化器ステップは、０であり、量子化がないことを意味する。量子化は、変換バイパス型量子化として、ＨＥＶＣ標準において定義されているものであり、量子化された値は、切り捨てバイナリコードを使用して符号化される。
【００１１】
このように、パレット符号化モードは、現在のパレットを使用して、現在の符号化ユニットまたは画素ブロックを代表するインデックスブロックをビルドする。パレットにおけるエントリインデックスは、「レベル」としても知られている。
【００１２】
パレットモードを使用する場合、パレットおよびインデックスブロックまたは「レベル」ブロックは、画像を符号化するビットストリームにおいて送信されることが多い。これは、数十のエントリを含み得るパレットが、それぞれの符号化ユニットに対して送信される必要があることから、費用の掛かるシグナリングに相当する。
【００１３】
ＪＣＴ−ＶＣにおける出願人の寄書（２０１４年３月２７日〜４月４日、スペインのバレンシアにおける第１７回会合の“ＡｈＧ１０：パレット予測子スタッフィング（ＡｈＧ１０：ｐａｌｅｔｔｅ  ｐｒｅｄｉｃｔｏｒ  ｓｔｕｆｆｉｎｇ）”と題されたＮｏ．ＪＣＴＶＣ−Ｑ００６３）において、パレット予測子、例えば（最後の処理された符号化ユニットのために）使用された最後のパレットを使用して、現在の符号化ユニットに対する現在のパレットを予測することが提案された。この手法は、パレットがもはやそれぞれの符号化ユニットに対して完全に明示的に送信されないことから、符号化の費用を低減することを目的とする。
【００１４】
さらに、別の提案された予測機構は、前のパレット全体をそっくりそのまま再利用することに頼り、このような再利用は、フラグｐａｌｅｔｔｅ＿ｓｈａｒｅ＿ｆｌａｇで示され、デコーダが前記パレットのサイズを格納することを必要とする。しかしながら、そのパレットは予測子の始めにあるので、そのパレットを格納する必要はない。
【００１５】
しかしながら、いくつかの符号化特殊性は、画像の符号化ユニット全体にわたるパレット予測スキームを崩壊させ得る。これは、スライスやタイルのような符号化構造の場合である。
【００１６】
スライスおよびタイル符号化構造は、ＨＥＶＣに導入されており、一連の画像（映像）におけるデータ損失の場合に、再同期化をもたらす。ここで留意すべきは、ＨＥＶＣ標準において定義されたような独立したタイルは、少なくとも１つのスライスを含み、その他のタイルから空間的に独立していることである。
【００１７】
再同期化特性を得るために、スライスおよびタイルは、互いに独立して符号化／復号される。言い換えれば、スライスおよびタイルは、「自己完結型」であり、例えば、スライスまたはタイルの境界においてイントラ予測が何も行われず、前に処理されたスライスまたはタイルと共有される（またはそれから受け継がれる）、エントロピー符号化状態もパレット予測子もＩＢＣ（Ｉｎｔｒａ  Ｂｌｏｃｋ  Ｃｏｐｙ（イントラブロックコピー））予測用の領域もない、ことを意味する。
【００１８】
このように、再同期化特性は、予測にとって有用なデータをもう使用できなくし、したがって、符号化効率を下げることになる。出願人の寄書ＪＣＴＶＣ−Ｑ００６３では、パレット予測子は、新しい独立したスライスまたはタイルの符号化を開始するとき、あるいは、新しいＣＴＢライン（波面符号化として知られている）または新しい画像もしくはフレームの符号化を開始するときでさえ、ゼロにリセットされる。出願人の寄書ＪＣＴＶＣ−Ｑ００６３における別の手法は、パレット予測子が選択される１組のパレットを、ローカルに（デコーダにおいて）決定される初期設定のパレット（デフォルトパレット）にリセットすることにある。例えば、初期設定のパレットは、色空間にわたって均等に分散された画素値から成る。
【００１９】
この手法は、特に、全く同一の画像内に高レベルの情報冗長性があるＳＣＣの場合、満足のいくものではないことが明らかである。
【００２０】
さらに、いくつかの符号化特殊性は、画像の符号化ユニット全体にわたるパレット予測スキームを崩壊させ得る。これは、スライスやタイルのような符号化構造の場合である。結果として、２０１５年２月１９日〜２６日のスイス、ジュネーブにおける第２１回会合の“ＨＥＶＣスクリーンコンテンツ符号化草案３（ＨＥＶＣ  Ｓｃｒｅｅｎ  Ｃｏｎｔｅｎｔ  Ｃｏｄｉｎｇ  Ｄｒａｆｔ  Ｔｅｘｔ３）”と題された寄書ＪＣＴＶＣ−Ｔ１００５において、ＨＥＶＣ  ＳＣＣ拡張に対するピクチャパラメータセット拡張においてパレット予測子初期化子を送信することが提案された。特定の実施形態によれば、その初期化子のエントリが単色である場合、単色コンテキストおよび／またはエントリ成分のビット深度がシグナリングされる。
【００２１】
しかしながら、カラーフォーマットをシグナリングすることは、パラメータ値における冗長性または潜在的ないくつかの不一致のいずれか一方をもたらす。
【発明の概要】
【課題を解決するための手段】
【００２２】
本発明は、上記の欠点のすべてまたは一部を克服するために考案されている。具体的には、パレットモードを使用して符号化効率を高め、例えば、スライスまたはタイルなどの符号化構造を使用する際のシグナリング費用を実質的に低減することを模索する。
本発明のある態様の方法は、ビットストリームから画像を復号する方法であって、前記画像のシーケンスが複数のスライスを含む場合、前記方法は、パレット符号化モードを使用してスライスの符号化データを復号する場合に、前記スライスに含まれる画素ブロックに対して、エントリインデックスと画素値とが対応付けられた少なくとも１組のエントリを含むパレットを使用して復号し、前記画素ブロックに関連付けられた前記パレットを、パレット予測子から予測し、前記パレットの予測は、前記ビットストリームのシーケンスパラメータセットからパレット予測子の初期化子を復号するステップと、前記初期化子を使用して、前記シーケンスに含まれる少なくとも２つのスライスのそれぞれにおいてパレット予測子を初期化する初期化ステップと、前記初期化されたパレットより後のパレット予測子であって、現在復号されている画素ブロックに関連付けられた現在のパレットより後のパレット予測子を導出する場合に、当該パレット予測子を、前記現在のパレットと、前記現在のパレットを予測するために使用されたパレット予測子とから導出するステップと、を含み、前記初期化子は、前記シーケンスパラメータセット内で、前記パレット符号化モードが有効であるか否かを示す第１の情報、および、前記パレット予測子用の最大サイズを含む第２の情報の後に位置する。
また、本発明のある態様の方法は、画像をビットストリームとして符号化する方法であって、前記画像のシーケンスが複数のスライスを含む場合、前記方法は、パレット符号化モードを使用してスライスの符号化データを符号化する場合に、前記スライスに含まれる画素ブロックに対して、エントリインデックスと画素値とが対応付けられた少なくとも１組のエントリを含むパレットを使用して符号化し、前記画素ブロックに関連付けられた前記パレットを、パレット予測子から予測し、前記パレットの予測は、前記パレット予測子の初期化子を使用して、前記シーケンスに含まれる少なくとも２つのスライスのそれぞれにおいてパレット予測子を初期化する初期化ステップと、前記初期化されたパレットより後のパレット予測子であって、現在符号化されている画素ブロックに関連付けられた現在のパレットより後のパレット予測子を導出する場合に、当該パレット予測子を、前記現在のパレットと、前記現在のパレットを予測するために使用されたパレット予測子とから導出するステップと、前記ビットストリームのシーケンスパラメータセットに前記パレット予測子の前記初期化子を符号化するステップと、を含み、前記初期化子は、前記シーケンスパラメータセット内で、前記パレット符号化モードが有効であるか否かを示す第１の情報、および、前記パレット予測子用の最大サイズを含む第２の情報の後に符号化される。
【００２３】
第１の態様において、本発明は、ビットストリームから少なくとも１つの画像を復号する方法であって、画像が複数のスライスを含む階層符号化構造に分割され、前記スライスがそれぞれ、画像において同じ階層レベルを有し、方法が、
パレット符号化モードを使用して、２つのスライスの符号化されたデータを復号するステップであって、パレット符号化モードが、２つのスライスの処理された画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける１組のエントリを含む関連パレットを使用し、処理されたそれぞれの画素ブロックに関連付けられたパレットが、ビットストリームからの予測情報を使用して、パレット予測子から予測される、ステップと、
ビットストリームから、スライスよりも階層的に上の符号化構造に関連付けられたパレット予測子初期化子を得るステップと、
得られたパレット予測子初期化子を使用して、２つのスライスのそれぞれに対するパレット予測子を初期化するステップと、を含み、
初期化されたパレット予測子に後続するそれぞれのパレット予測子が、現在復号されているブロックに関連付けられた現在のパレットのエントリのすべてと、現在のパレットを予測するのに使用されない、現在のパレットを予測するために使用されたパレット予測子の１つまたは複数のエントリとを含む、方法を提供する。
【００２４】
第２の態様において、本発明は、少なくとも１つの画像をビットストリームに符号化する方法であって、
画像を分割することによって、階層符号化構造を得るステップと、
互いに独立した画像の２つの符号化構造のデータを符号化して、画像において同じ階層レベルを有する２つの符号化されたスライスを得るステップであって、前記符号化がパレット符号化モードを使用し、パレット符号化モードが、２つのスライスの画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける１組のエントリを含む関連パレットを使用し、符号化ステップが、パレット予測子から、処理されたそれぞれの画素ブロックに関連付けられたパレットを予測する予測情報を決定することを含む、ステップと、
パレット予測子初期化子を決定して、２つのスライスに対するパレット予測子を初期化するステップと、
ビットストリームにおいて、予測情報を含む符号化されたデータを提供し、かつパレット予測子初期化子を提供するステップであって、パレット予測子初期化子が、ビットストリームにおいて、２つのスライスよりも階層的に上の符号化構造に関連付けられている、ステップと、を含み、
パレット符号化モードでは、初期化されたパレット予測子に後続するそれぞれのパレット予測子が、現在符号化されているブロックに関連付けられた現在のパレットのエントリのすべてと、現在のパレットを予測するのに使用されていない、現在のパレットを予測するためのパレット予測子のエントリとを含む、方法を提供する。
【００２５】
実施形態において、パレット予測子初期化子は、ピクチャパラメータセットＰＰＳにおける画像レベルで定義され、２つのスライスは、ピクチャパラメータセットに反映される。
【００２６】
実施形態において、パレット予測子初期化子は、シーケンスパラメータセットＳＰＳにおけるシーケンスレベルで定義され、２つの自己完結型符号化構造は、シーケンスパラメータセットに反映される。
【００２７】
実施形態において、パレット予測子初期化子は、シーケンスパラメータセットにおいて、パレット符号化モードが有効になっているか否かを示す第１のフィールドの後、およびパレット予測子用の最大サイズを含む第２のフィールドの後に定義される。
【００２８】
実施形態において、パレット予測子初期化子は、２つのスライスを含むタイルにおけるタイルレベルで定義され、２つのスライスのそれぞれは、それが属するタイルを特定する。
【００２９】
実施形態において、２つのスライスの両方に対する初期化ステップは、それぞれのスライス内の全く最初の画素ブロックを復号する前に、行われる。
【００３０】
実施形態において、パレット予測子からパレットを予測するための予測情報は、そのそれぞれのフラグが、パレット予測子内の対応するエントリがパレットにおいてエントリを生成するためのエントリとして選択されるか否かを定義する、フラグのビットマップを含む。
【００３１】
第２の態様の実施形態において、予測子初期化子を決定することが、パレット符号化モードを使用して、２つのスライスよりも階層的に上の前記符号化構造によって画定された画像領域にわたって広がる画素ブロックサブセットを符号化することを含み、また符号化ステップの終了時に得られたパレット予測子を、パレット予測子初期化子として使用することを含む。
【００３２】
サブセットの画素ブロックは、領域のスロープまたは対角線に沿って分散され得る。
【００３３】
サブセットの画素ブロックは、画像の上部に水平方向に並べられ得る。
【００３４】
サブセットの画素ブロックは、隣り合っていないことがある。
【００３５】
実施形態において、パレット予測子初期化子を決定することは、同じ画素ブロックサブセットを再帰的に符号化することを含み、次の再帰的符号化ループに使用される第１のパレット予測子は、前の再帰的符号化ループの終了時に得られたパレット予測子である。
【００３６】
実施形態において、スライスは、２つの別々の画像に含まれる。
【００３７】
実施形態において、スライスは、同じ画像に含まれる。
【００３８】
実施形態において、パレットのサイズは、パレット予測子を初期化するのに使用されたパレット予測子初期化子のサイズを使用して設定される。
【００３９】
実施形態において、方法は、色成分数についての情報を得ることをさらに含み、パレット予測子初期化子の構造が、色成分数についての前記情報に基づく。例えば、情報は、前記画像が単色画像であるか否かをシグナリングするためのフラグであり得る。
【００４０】
本発明の第３の態様において、ビットストリームから少なくとも１つの画像を復号するための復号デバイスであって、画像が複数のスライスを含む階層符号化構造に分割され、前記スライスがそれぞれ、画像において同じ階層レベルを有し、復号デバイスが、
パレット符号化モードを使用して、２つのスライスの符号化されたデータを復号するための復号手段であって、パレット符号化モードが、２つのスライスの処理された画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける１組のエントリを含む関連パレットを使用し、処理されたそれぞれの画素ブロックに関連付けられたパレットが、ビットストリームからの予測情報を使用して、パレット予測子から予測される、復号手段と、
ビットストリームから、２つのスライスよりも階層的に上の符号化構造に関連付けられたパレット予測子初期化子を得るための取得手段と、
得られたパレット予測子初期化子を使用して、２つのスライスのそれぞれに対するパレット予測子を初期化するための初期化手段と、を備え、
初期化されたパレット予測子に後続するそれぞれのパレット予測子が、現在復号されているブロックに関連付けられた現在のパレットのエントリのすべてと、現在のパレットを予測するのに使用されていない、現在のパレットを予測するためのパレット予測子の１つまたは複数のエントリとを含む、復号デバイスが提供される。
【００４１】
本発明の第４の態様において、少なくとも１つの画像をビットストリームに符号化するためのデバイスであって、
画像を分割することによって、階層符号化構造を得るための取得手段と、
互いに独立した画像の２つの符号化構造のデータを符号化して、画像において同じ階層レベルを有する２つの符号化スライスを得ることであって、前記符号化がパレット符号化モードを使用し、パレット符号化モードが、２つのスライスのそれぞれの画素ブロックに対して、それぞれのエントリインデックスを対応する画素値に関連付ける１組のエントリを含む関連パレットを使用し、符号化ステップが、パレット予測子から、処理されたそれぞれの画素ブロックに関連付けられたパレットを予測する予測情報を決定することを含む、ことと、
パレット予測子初期化子を決定して、２つのスライスに対するパレット予測子を初期化することと、
ビットストリームにおいて、予測情報を含む符号化されたデータを提供し、かつパレット予測子初期化子を提供することであって、パレット予測子初期化子が、ビットストリームにおいて、２つのスライスよりも階層的に上の符号化構造に関連付けられている、ことと、を含み、
パレット符号化モードでは、初期化されたパレット予測子に後続するそれぞれのパレット予測子が、現在符号化されているブロックに関連付けられた現在のパレットのエントリのすべてと、現在のパレットを予測するのに使用されていない、現在のパレットを予測するためのパレット予測子のエントリとを含む、符号化デバイスが提供される。
【００４２】
本発明の第５の態様において、実行されると、前述のいずれかの方法を行わせる、コンピュータプログラムが提供される。
【００４３】
本発明は、さらなる態様において、ビットストリームから少なくとも１つの画像を復号する方法であって、画像が階層復号化構造に分割され、方法が、
パレット符号化モードを使用して、画像において同じ階層レベルを有する２つの自己完結型符号化構造（すなわち、同じ階層レベルのその他の符号化構造とは独立に符号化された符号化構造）の符号化されたデータを復号するステップであって、パレット符号化モードが、２つの符号化構造の処理された画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける１組のエントリを含む関連パレットを使用し、処理されたそれぞれの画素ブロックに関連付けられたパレットが、ビットストリームからの予測情報を使用して、パレット予測子から予測される、ステップと、
ビットストリームから、２つの自己完結型符号化構造よりも階層的に上の符号化構造に関連付けられたパレット予測子初期化子を得るステップと、
同じ得られたパレット予測子初期化子を使用して、２つの自己完結型符号化構造のそれぞれに対するパレット予測子を初期化するステップと、を含む、方法を提供する。
【００４４】
対称的に、本発明は、少なくとも１つの画像をビットストリームに符号化する方法であって、
画像を分割する階層符号化構造を得るステップと、
画像において同じ階層レベルを有する互いの符号化構造から独立して、画像の２つの符号化構造のデータを符号化して、２つの自己完結型の符号化された符号化構造を得るステップであって、前記符号化がパレット符号化モードを使用し、前記パレット符号化モードが、２つの符号化構造の処理された画素ブロックのそれぞれに対して、それぞれのエントリインデックスを対応する画素値に関連付ける１組のエントリを含む関連パレットを使用し、符号化ステップが、パレット予測子から、処理されたそれぞれの画素ブロックに関連付けられたパレットを予測する予測情報を決定することを含む、ステップと、
１つのパレット予測子初期化子を決定して、２つの自己完結型符号化構造に対するパレット予測子を初期化するステップと、
ビットストリームにおいて、予測情報を含む符号化されたデータを提供し、かつパレット予測子初期化子を提供するステップであって、パレット予測子初期化子が、ビットストリームにおいて、２つの自己完結型符号化構造よりも階層的に上の符号化構造に関連付けられている、ステップと、を含む、方法も提供する。
【００４５】
相関的に、本発明は、ビットストリームから少なくとも１つの画像を復号するための復号デバイスであって、画像が階層符号化構造に分割され、復号デバイスが、上記の復号方法のステップを実行するように構成された少なくとも１つのマイクロプロセッサを備える、復号デバイスを提供する。本発明は、少なくとも１つの画像をビットストリームに符号化するための符号化デバイスであって、上記の符号化方法のステップを実行するように構成された少なくとも１つのマイクロプロセッサを備える、符号化デバイスも提供する。
【００４６】
本発明により、符号化効率が改善される。これは、主に、それらのパレット予測子を初期化することを必要とする、符号化構造のうちの１つよりも厳密に高い階層レベルで定義されたパレット予測子初期化子を使用することによって実現される。これは、同じパレット予測子初期化子が、低費用で（すなわち、ビットストリームにおいて数回送信されることなく）、いくつかの独立した符号化構造（例えば、スライス）によって使用され得るからである。
【００４７】
本発明の実施形態の任意選択の特徴は、添付の特許請求の範囲に定義される。これらの特徴のいくつかが方法に関連して以下に説明されるが、それらは、本発明の実施形態による、デバイスに専用のシステム特徴に置き換えられ得る。
【００４８】
実施形態において、パレット予測子初期化子は、ピクチャパラメータセットＰＰＳ内の画像レベルで定義され、２つの自己完結型符号化構造は、ピクチャパラメータセットに当てはまる。この規定（ｐｒｏｖｉｓｉｏｎ）は、一定のフレームまたは時間の経過後にパレット予測子初期化子を更新する、または、画像のサブ領域（例えば、タイルまたは自由裁量のサブ領域）ごとにパレット予測子初期化子を使用するなど、エンコーダの末端部におけるいくつかの最適化と完全互換である。
【００４９】
変形形態において、パレット予測子初期化子は、シーケンスパラメータセットＳＰＳ内のシーケンスレベルで定義され、２つの自己完結型符号化構造は、シーケンスパラメータセットに当てはまる。上記のＰＰＳ手法に関して、この変形形態は、自己完結型符号化構造（例えば、スライス）レベルにおける追加情報を必要としない。これは、ＳＰＳ（またはＰＰＳ）に対するリファレンスが、自己完結型符号化構造（例えば、スライス）のシグナリングにすでにあるからである。これにより、符号化効率は大幅に改善される。
【００５０】
特定の特徴によれば、パレット予測子初期化子は、シーケンスパラメータセットにおいて、パレット符号化モードが有効であるか否かを示す第１のフィールドの後、およびパラメータ予測子用の最大サイズを備える第２のフィールドの後に定義される。この規定は、例えば、第１のフィールドが、パレットモードが有効ではないことを示している場合、パレット予測子初期化子の決定が行われる必要がないことから、処理費用を最善にする。
【００５１】
別の変形形態において、２つの自己完結型符号化構造は、スライスであり、パレット予測子初期化子は、２つの自己完結型符号化構造を含むタイル内のタイルレベルで定義され、２つの自己完結型符号化構造のそれぞれは、それが属するタイルを特定する。ＰＰＳにおける初期化子の定義と比べると、この規定は、ＰＰＳ  ＩＤの増加を制限することを可能にする。これは、明らかにされたそれぞれの新しいパレット予測子初期化子に対して新しいＰＰＳ  ＩＤを提供する必要がもうなくなるからである。初期化子リストがＰＰＳ内に定義され得、この場合、それぞれの初期化子が特定のタイルに関連付けられていることが留意されるべきである。
【００５２】
復号に関して、実施形態は、考えられた自己完結型符号化構造内の全く最初の画素ブロックを復号する前に、２つの自己完結型符号化構造のうちのいずれかに対する初期化ステップが行われることを提供し得る。これは、「自己完結型」特性のために、全く最初のブロックの符号化／復号が、前の画素ブロックまたは符号化構造からのデータ（パレット予測子を含む）を受け継ぐことができないためである。
【００５３】
いくつかの実施形態では、２つの自己完結型符号化構造のうちの１つ内の次の画素ブロックに対する次のパレット予測子は、同じ自己完結型符号化構造内の現在の画素ブロックを符号化するのに使用された現在のパレットからビルドされる。その場合、前記パレット予測子を、拡張するよりむしろ初期化することが有利であり、これは、拡張する場合、拡張されたパレット予測子が、後で重複した値を有する結果となり得るからである。
【００５４】
画素ブロックは普通、考えられた符号化構造内で、走査順序、例えばラスタ走査に従って連続的に考えられることに留意する。次のパレット予測子は、例えば、その他の符号化モード（イントラ、インターなど）との競合中に、パレット符号化モードを評価するのに使用される。パレット符号化モードが次の画素ブロック用に選択されない場合、「次のパレット予測子」が、さらに次の画素ブロック用に使用され得る。
【００５５】
上記の規定は、符号化構造（例えば、スライス）内の画素ブロックが符号化されると、パレット予測子が、必ず動的に展開することを示す。
【００５６】
特定の実施形態において、次のパレット予測子は、現在のパレット、および現在のパレットを予測するのに使用された現在のパレット予測子のみからビルドされる。
【００５７】
具体的には、次のパレット予測子は、現在のパレットのエントリのすべてを選択し、また現在のパレットを予測するのに使用されなかった現在のパレット予測子のエントリを選択することによって、ビルドされ得る。この手法は、画素ブロックを符号化しながら、現在のパレットに加えられ得る新しい色で、自己完結型符号化構造において使用されるパレット予測子を徐々に補う。結果として、パレット符号化モードは、画素ブロックが横断されるにつれて、益々効率的になる。
【００５８】
実施形態において、バレット予測子からパレットを予測するための予測情報は、そのそれぞれのフラグが、パレット予測子内の対応するエントリが、パレットにおいてエントリを生成するためのエントリとして選択されるか否かを定義する、フラグビットマップ（普通、デコーダの末端部においてビットストリームから復号され、エンコーダの末端部においてビットストリーム内に加えられる）を含む。
【００５９】
特定の実施形態において、フラグビットマップ（普通、ＲＬＥ（Ｒｕｎ−Ｌｅｎｇｔｈ  Ｅｎｃｏｄｉｎｇ（連長符号化））を使用して符号化される）は、パレット予測子内のエントリ数と同じビット数を含み、ビットマップ内のある位置におけるそれぞれのビットは、パレット予測子において対応する位置を有するエントリがパレットのエントリとして選択されるか否かを定義する。この構成は、符号化効率を改善する。ビットマップのサイズをさらに縮小し得る変形形態は、パレットのエントリとして選択される最後のエントリにおいてビットマップを止めることを検討し得る。これは、上に示唆されたように、パレット予測子内のエントリがそれらの発生に従って順序付けられることから、特に有利である。いくつかの実施形態では、この結果、パレット予測子の最後のエントリが、そのパレットに、統計的にそう多くは使用されないことになる。
【００６０】
その他の特定の実施形態では、方法は、パレット予測子から、選択されたエントリを有するパレットの端に追加のエントリを加えることをさらに含み得る。これらの追加のエントリは、復号された（デコーダと、復号ループを使用するエンコーダとの両方において）追加の画素用のエントリ、および／または、例えば、エンコーダによってビルドされ、（従来のパレット符号化モードの場合のように）デコーダに送信された（ビットストリームにおいて）所定のパレットからのエントリであり得る。この規定は、パレットの符号化効率を高めることにある。
【００６１】
フラグビットマップを送信するための変形形態では、暗黙の手法が使用され得、これにより、ビットストリームにおいて送信される追加のデータまたはビット（ビットマップ）を減らし、フラグ（ｐａｌｅｔｔｅ＿ｓｈａｒｅ＿ｆｌａｇ）を通して、バレット符号化される次の画素ブロックまたはＣＵが、最後のパレット符号化された画素ブロックまたはＣＵに使用された最後のパレットのエントリのすべてを再利用するようになることを示すことが可能である。その場合、特定の実施形態は、パレット予測子初期化子サイズを使用し、画素ブロックを符号化するために使用されることになるパレットのサイズを初期化することであり得る。
【００６２】
いくつかの実施形態では、現在のパレットのエントリの画素値は、色成分を有し、色成分の子成分のみが、パレット予測子を使用して予測される。実際には、３つのうちの１つまたは２つの色成分が予測され得る。この規定は、処理およびビットストリームにおけるシグナリングを少なくする。
【００６３】
符号化に関して、実施形態は、１つのパレット予測子を決定することが、パレット符号化モードを使用して、２つの自己完結型符号化構造よりも階層的に上の前記符号化構造から成る、画像領域にわたって広がる画素ブロックサブセットを符号化することを含み、また符号化ステップの終了時に得られたパレット予測子を、パレット予測子初期化子として使用することを含む、ことを提供し得る。
【００６４】
決定ステップを画素サブセットに限定することは、初期化子を決定する際に低複雑度のプロセスを有することを可能にする。これは、低遅延符号化に特に適している。
【００６５】
パレット符号化用に適合されていないブロックが、考えから除外されるように（別の符号化モードを使用して符号化されたことから）、パレット符号化モードがその他の符号化モード（例えば、イントラおよびインター）と競合するのが好ましいことに留意されるべきである。また、決定ステップの符号化は、ビットストリーム用のデータの生成をもたらさず、パレット符号化に基づいた画素サブセットの分析となるのみである。
【００６６】
いくつかの実施形態において、サブセットの画素ブロックは、領域のスロープまたは対角線に沿って分散される。これは、それに対してパレット予測子初期化子が使用されることになる、画像領域全体を可能な限り代表する画素ブロックサブセットを備えるためである。
【００６７】
変形形態において、サブセットの画素ブロックは、画像領域の上部に、好ましくは画像の上部に水平方向に並んでいる。これにより得られたパレット予測子初期化子は、画像の開始の符号化によく適しており、またいくつかの後続画像に使用され得る。
【００６８】
特定の実施形態では、サブセットの画素ブロックは、隣り合っていない。例えば、２つの（またはそれより多い）画素ブロックごとに、１つの画素ブロックが選択され得る。これは、よく似た隣接の画素ブロックを処理することからもたらされ得る無用な処理を避けるためである。
【００６９】
その他の実施形態において、１つのパレット予測子を決定することは、同じ画素ブロックサブセットを再帰的に符号化することを含み、この場合、次の再帰的符号化ループに使用される第１のパレット予測子は、前の再帰的符号化ループの終了時に得られたパレット予測子である。言い換えれば、前の再帰的符号化ループの終了時に得られたパレット予測子は、次の符号化ループの際にパレット予測子初期化子として使用される。再帰的ループの回数が増えるにつれて、パレット予測子初期化子は、自己完結型符号化ユニットの画素ブロックを符号化することに益々適するようになる。結果として、パレット符号化される画素ブロックが多くなるに従って、インターまたはイントラ符号化される画素ブロックは少なくなり、これにより、符号化率を改善する。
【００７０】
いくつかの実施形態において、２つの自己完結型符号化構造は、２つの別々の画像に含まれる。変形形態において、２つの自己完結型符号化構造は、同じ画像に含まれる。
【００７１】
連続したパレット符号化された画素ブロック間でのパレットの再利用または共有に関係し得るいくつかの実施形態において、方法は、現在のパレットのサイズを定義することをさらに含み得る。例えば、パレットのサイズは、パレット予測子を初期化するのに使用されたパレット予測子初期化子のサイズを使用して、設定され得る。これは、主に、前の画素ブロックから受け継がれるパレットがないことから、自己完結型符号化構造内の最初のパレット符号化された画素ブロックで起こる。連続したパレット符号化された画素ブロック間でのパレットの共有に関係し得るいくつかの実施形態において、方法は、前のパレットが実際にない場合、前記共有されたパレットのサイズを初期化することをさらに含み得る。本発明の実施形態によれば、このサイズは、パレット予測子初期化子のサイズがパレットに対して許容される最大サイズよりも小さい場合、このパレット予測子初期化子のサイズを使用して初期化され得る。
【００７２】
実施形態において、パレット予測子初期化子構造がその情報に基づく、色成分数についての前記情報が得られる。
【００７３】
言い換えれば、パレット予測子初期化子は、色成分と同数の成分を含み得、パレット予測子初期化子成分数が、前記情報から得られる。
【００７４】
前記情報は、前記画像が単色画像か否をシグナリングするためのフラグであることが好ましい。
【００７５】
本発明の別の実施形態は、少なくとも１つの画像を復号または符号化するためのデバイス内のマイクロプロセッサまたはコンピュータシステムによって実行されると、デバイスに、上に定義されたような復号または符号化方法を行わせる、プログラムを格納する非一時的コンピュータ可読媒体に関する。
【００７６】
非一時的コンピュータ可読媒体は、方法およびデバイスに関係して上記および以下に提示されるそれらに類似する特徴および利点を有し得る。
【００７７】
本発明の別の態様は、ビットストリームから少なくとも１つの画像を復号する方法に関し、画像が、実質的に、添付図面の図１２ａ、または図１２ｂ、または図１２および（図１４ａまたは図１４ｂまたは図１４ｃまたは図１４ｄ）を参照して本明細書に説明されるように、またそれらの図に示されるように、階層符号化構造に分割される。
【００７８】
本発明のまた別の態様は、実質的に、添付図面の図１３ｂ、または図１３ａおよび図１３ｂ、または図１３ａおよび（図１４ａまたは図１４ｂまたは図１４ｃまたは図１４ｄ）を参照して本明細書に説明されるように、またそれらの図に示されるように、ビットストリームから少なくとも１つの画像を符号化する方法に関する。
【００７９】
本発明の別の態様は、ビットストリームから画像を復号するために使用されるピクチャパラメータセットを復号する方法であって、画像が、少なくとも１つの色成分を有する画素を含み、方法がいくつかのステップに分解される、方法に関する。方法は、
ピクチャパラメータセットにおいて定義され、復号方法の少なくとも２つのステップに関与する１つの色成分パラメータを復号し、前記画像が単色であるかどうかを示すことと、
復号された色成分パラメータが、画像が単色であることを示す場合、復号方法の少なくとも１つのステップを飛ばすかまたは改めることと、を含む。
【００８０】
本発明のこの態様は、誤りの元となる無駄が何も使用されていないシンタックスを提案することを目的とする。本発明のこの態様は、より効率的であり、矛盾した構成を防ぐ。
【００８１】
実施形態において、ステップのうちの少なくとも１つが、パレットモードを使用して符号化されている画素値を復号することを含む、少なくとも２つの異なるステップが、飛ばされるかまたは改められる。
【００８２】
実施形態において、１つのステップは、パレット予測子初期化子の少なくとも１つのエントリまたはそれぞれのエントリに対する要素数を決定することを含む。上に定義されたように、それぞれの要素は、色成分に対する画素値に関係する。例えば、画像が単色である場合、パレットのそれぞれのエントリは、固有の色成分に対して１つの要素を含む。
【００８３】
実施形態において、パレット予測子初期化子のそれぞれのエントリは、復号された色成分パラメータが所定の値に設定されている場合は、一つ組であり、そうでなければ三つ組である。
【００８４】
実施形態において、ステップのうちの１つは、色成分パラメータが、画像が単色であることを示す場合に飛ばれる残差適応型色変換に関係している。
【００８５】
実施形態において、パラメータは、画像が単色である場合に値「１」をとるフラグである。
【００８６】
本発明の別の態様は、ビットストリームから画像を復号するために使用されるピクチャパラメータセットを復号する方法に関し、画像が少なくとも１つの色成分を有する画素を含み、前記画像が、パレットモードを含む複数のモードの中の１つのモードを使用して復号化される。方法は、
−残差適応型色変換に関連付けられたステップと、
−パレット予測子初期化子を定義するためのステップであって、画像が単色であるか否かを示す色成分パラメータの値に基づき処理される、ステップと、を含む。
【００８７】
色成分パラメータの値は、残差適応型色変換の実行から推測される。
【００８８】
本発明のその他の態様は、誤りの元になる無駄が何も使用されていないシンタックスを提案することを目的とする。本発明のこの態様は、より効果的であり、矛盾した構成を防ぐ。
【００８９】
実施形態において、残差適応型色変換が実行される場合、色成分パラメータの値が、画像が単色ではないことを示すと推測される。
【００９０】
実施形態において、色成分パラメータは、残差適応型色変換が実行される場合、その値が「０」であると推測されるフラグである。
【００９１】
本発明の別の態様は、ビットストリームから画像を復号するために使用されるピクチャパラメータセットを復号する方法であって、画像が少なくとも１つの色成分を有する画素を含み、少なくとも１つの画像が、パレットモードを使用することによって符号化され、方法が、同じエントリ数を有するパレット予測子初期化子を用いてパレット予測子を初期化するためのステップを含み、パレット予測子初期化子およびパレット予測子が、エントリごとに１つまたは複数の要素を有する、方法に関する。
【００９２】
パレット予測子初期化子によるパレット予測子の初期化は、所与の色成分数の画素を有する画像から、別の色成分数を有する画像へ切り替える際の所定のルールによって統制される。
【００９３】
実施形態において、所定のルールは、パレット予測子の少なくとも１つのエントリに対して、要素のうちの少なくとも２つをパレット予測子初期化子の同じ要素の値に設定することを含む。
【００９４】
実施形態において、所定のルールは、パレット予測子の少なくとも１つのエントリに対して、要素のうちの少なくとも１つを所定の初期値に設定することを含む。
【００９５】
実施形態において、１つの色成分を有する画像から３つの色成分を有する画像に切り替える際に、所定のルールが適用される。
【００９６】
本発明の別の態様によれば、ビットストリームからの画像に関係付けられたピクチャパラメータセットを復号するための復号デバイスであって、上に説明された実施形態のうちの１つによる復号方法を実施するように構成される、復号デバイスが提案される。
【００９７】
本発明の別の態様によれば、少なくとも１つの画像を復号するためのデバイス内のマイクロプロセッサまたはコンピュータシステムによって実行されると、デバイスに、上に説明された実施形態のうちの１つによる方法を行わせる、プログラムを格納する非一時的コンピュータ可読媒体が提案される。本発明による方法の少なくとも一部は、コンピュータ実施式であり得る。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、または、すべて全体的に、本明細書において「回路」、「モジュール」または「システム」と呼ばれ得るソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形式をとり得る。さらに、本発明は、媒体において具体化されたコンピュータ使用可能プログラムコードを有する任意の有形の表現媒体において具体化されたコンピュータプログラム製品の形式をとり得る。
【００９８】
本発明がソフトウェアにおいて実施され得ることから、本発明は、任意の適切な担持媒体上のプログラマブル装置への提供用のコンピュータ可読コードとして具体化され得る。有形の担持媒体は、フロッピディスク、ＣＤ−ＲＯＭ、ハードディスクドライブ、磁気テープデバイスまたは固体メモリデバイスなどの記憶媒体を含み得る。一時的担持媒体は、電気信号、電子信号、光信号、音響信号、磁気信号または電磁信号、例えばマイクロ波もしくはＲＦ信号などの信号を含み得る。言い換えれば、担持媒体は、一時的または非一時的であり得る。
【００９９】
ここで、本発明の実施形態が、あくまでも例として、以下の図面を参照して説明される。
【図面の簡単な説明】
【０１００】
【図１】ＨＥＶＣエンコーダアーキテクチャを図示する。
【図２】ＨＥＶＣデコーダアーキテクチャを図示する。
【図３】因果領域の概念を図示する。
【図４】符号化ユニットに分割する符号化ツリーブロックと、これらの符号化ユニットの走査順復号を図示する。
【図５】ＨＥＶＣのＳＥＣＣ拡張において研究中のデコーダ側におけるパレットモードの原理を、前記パレットの予測と共に図示する。
【図６】符号化ユニットの例を、その対応するレベルブロックおよび関連パレットと共に図示する。
【図７】同じレベルブロックと、このレベルブロックの符号化のために使用される１組のシンタックス要素を図示する。
【図８】パレット符号化モードに関係するシンタックス要素の復号プロセスを図示する。
【図９】復号側においてレベルブロックをビルドするための再構成プロセスを図示する。
【図１０】パレット予測子の例示的な反復ビルドを含む予測スキームを図示する。
【図１１】映像符号化に使用される様々なブロック構造を図示する。
【図１２Ａ】ビットストリームからのパレット予測子初期化子のパーシングを図示する。
【図１２Ｂ】ビットストリームを復号するためのデコーダによるパレット予測子初期化子の使用を図示する。
【図１３Ａ】パレット予測子初期化子のエンコーダ決定に使用される様々なブロックサブセットを図示する。
【図１３Ｂ】パレット予測子初期化子を決定するためのブロックサブセットにおいてエンコーダによって行われる分析を図示する。
【図１４Ａ】エンコーダによって書き出され、またデコーダによってパースされた通りに、既存のＳＰＳまたはＰＰＳ  ＳＣＣ拡張においてパレット予測初期化子をシグナリングする例を図示する。
【図１４Ｂ】エンコーダによって書き出され、またデコーダによってパースされた通りに、既存のＳＰＳまたはＰＰＳ  ＳＣＣ拡張においてパレット予測初期化子をシグナリングする例を図示する。
【図１４Ｃ】エンコーダによって書き出され、またデコーダによってパースされた通りに、既存のＳＰＳまたはＰＰＳ  ＳＣＣ拡張においてパレット予測初期化子をシグナリングする例を図示する。
【図１４Ｄ】エンコーダによって書き出され、またデコーダによってパースされた通りに、既存のＳＰＳまたはＰＰＳ  ＳＣＣ拡張においてパレット予測初期化子をシグナリングする例を図示する。
【図１５】エンコーダによって書き出され、またデコーダによってパースされた通りに、ＰＰＳ  ＳＣＣ拡張において、ＪＣＴＶＣ−Ｔ１００５文書において提案されたように、パレット予測初期化子をシグナリングする例を図示する。
【図１６】本発明のさらなる態様の実施形態を図示する。
【図１７】本発明のさらなる態様の別の実施形態を図示する。
【図１８】本発明の１つまたは複数の実施形態の実施用のコンピューティングデバイスの概略ブロック図である。
【発明を実施するための形態】
【０１０１】
図１は、ＨＥＶＣエンコーダアーキテクチャを図示する。映像エンコーダにおいて、元のシーケンス１０１が、画素ブロック１０２に分割される。その後、それぞれのブロックに符号化モードが割り当てられる。ＨＥＶＣにおいて通常使用される２つの符号化モード群があり、空間的予測に基づくモードまたはイントラモード１０３と、時間的予測に基づくモード、または動き推定１０４および動き補償１０５に基づくインターモードである。ＨＥＶＣ  ＳＣＣとして知られる、現在デザインされているＨＥＶＣの拡張は、追加の符号化モード、具体的にはイントラおよびインター符号化モードと競合するパレット符号化モードを、画素ブロックを符号化するために加える。このパレット符号化モードは、以下により詳細に、具体的には図５〜図９を参照して説明される。当業者は、本稿執筆の時点で最新の、ＪＣＴＶＣ−Ｓ１００５文書（ＨＥＶＣスクリーンコンテンツ符号化草案２（ＨＥＶＣ  Ｓｃｒｅｅｎ  Ｃｏｎｔｅｎｔ  Ｃｏｄｉｎｇ  Ｄｒａｆｔ  Ｔｅｘｔ２））において、パレット符号化モードについての詳細を得ることも可能である。本発明は、ＨＥＶＣ  ＳＣＣ拡張において説明されるようなパレット符号化モードの実施態様に限定されず、いずれのパレット予測スキームにも適用し得ることに留意されるべきである。
【０１０２】
イントラ符号化ユニットは、通常、イントラ予測と呼ばれるプロセスによって、その因果境界（ｃａｕｓａｌ  ｂｏｒｄｅｒ）にある符号化された画素から予測される。
【０１０３】
インター符号化モードの時間的予測とは、第一に、動き推定ステップ１０４において、符号化ユニットに最も近いそれの基準領域を、基準フレーム１１６と呼ばれる前のまたはこれからのフレームにおいて見つけることにある。この基準領域は、予測ブロックを構成する。次に、動き補償ステップ１０５において残差を計算するために、この符号化ユニットが予測子ブロックを使用して予測される。
【０１０４】
空間的予測、時間的予測のいずれの場合も、元の予測子ブロックから符号化ユニットを引き算することによって、残差が計算される。
【０１０５】
イントラ予測では、予測方向が符号化される。時間的予測では、少なくとも１つの動きベクトルが符号化される。しかしながら、動きベクトル符号化に係るビットレート費用をさらに低減するために、動きベクトルは、直接には符号化されない。確かに、動きが均一であると仮定すると、この動きベクトルと、その周囲における動きベクトルとの間の差分として動きベクトルを符号化することは特に有利である。例えばＨ．２６４／ＡＶＣ符号化標準では、動きベクトルは、現在のブロックの左上にある３つのブロック間で計算されたメジアンベクトルに関して符号化される。メジアンベクトルと現在のブロックの動きベクトルとの間で計算された、残差動きベクトルとも呼ばれる差分のみが、ビットストリームに符号化される。これは、モジュール「自己予測および符号化」１１７において処理される。それぞれの符号化されたベクトルの値は、動きベクトルフィールド１１８に格納される。予測に使用される近隣の動きベクトルは、動きベクトルフィールド１１８から抽出される。
【０１０６】
次に、モジュール１０６において、レート歪みパフォーマンスを最適化するモードが選択される。冗長性をさらに低減するために、モジュール１０７において、変換、通常はＤＣＴが、残差ブロックに適用され、モジュール１０８において、量子化が係数に適用される。その後、モジュール１０９において、量子化された係数ブロックがエントロピー符号化され、その結果がビットストリーム１１０内に挿入される。
【０１０７】
その後、モジュール１１１〜１１６において、エンコーダがこれからの動き推定のための符号化されたフレームの復号を行う。これは、エンコーダにおける復号ループである。これらのステップは、エンコーダとデコーダが、同じ基準フレームを有することを可能にする。符号化されたフレームを再構成するために、残差が、モジュール１１１において逆量子化され、画素領域に「再構成された」残差を提供するために、モジュール１１２において逆変換される。符号化モード（インターまたはイントラ）に従って、この残差は、インター予測子１１４またはイントラ予測子１１３に加えられる。
【０１０８】
次に、モジュール１１５において、１つまたはいくつかの種類のポストフィルタリングによって、この最初の再構成がフィルタ処理される。これらのポストフィルタは、復号ループに統合される。これは、エンコーダとデコーダにおいて同じ基準フレームを使用するために、これらのポストフィルタが、エンコーダとデコーダにおける再構成されたフレームに適用される必要があることを意味する。このポストフィルタリングの目的は、圧縮アーチファクトを取り除くことにある。
【０１０９】
ＨＥＶＣデコーダの原理が、図２に表されている。モジュール２０２において、映像ストリーム２０１が最初にエントロピー復号される。その後、残差データが、モジュール２０３において逆量子化され、モジュール２０４において逆変換され、画素値を得る。モードデータもエントロピー復号され、モードに応じて、イントラ型復号またはインター型復号が行われる。イントラモードの場合、イントラ予測方向がビットストリームから復号される。その後、基準領域を見つけるのに、この予測方向が使用される、２０５。モードがインターである場合、ビットストリームから動き情報が復号される、２０２。この情報は、基準フレームインデックスおよび動きベクトル残差から成る。動きベクトルを得るために、動きベクトル予測子が動きベクトル残差に加えられる、２１０。その後、基準フレーム内に基準範囲を見つけるのに動きベクトルが使用される、２０６。次の復号された動きベクトルの予測に使用されるように、動きベクトルフィールドデータ２１１が、復号された動きベクトルを用いて更新されることに留意する。その後、復号されたフレームのこの最初の再構成が、エンコーダ側で使用されたと全く同じポストフィルタを用いてポストフィルタリングされる、２０７。デコーダの出力は、解凍された映像である、２０９。
【０１１０】
図３は、ＨＥＶＣの場合のように、ブロックごとの符号化がもたらす因果律を図示する。
【０１１１】
高レベルにおいて、画像は、ラスタ走査順に符号化される符号化ユニットに分割される。これにより、ブロック３．１を符号化するとき、領域３．３のブロックのすべては、すでに符号化されており、エンコーダに使用可能と考えられ得る。同様に、デコーダにおいてブロック３．１を復号するとき、範囲３．３のブロックすべては、すでに復号され、それにより再構成されており、デコーダにおいて使用可能と考えられ得る。領域３．３は、符号化ユニット３．１の因果領域（ｃａｕｓａｌ  ａｒｅａ）と呼ばれる。符号化ユニット３．１が符号化されると、それは、次の符号化ユニットに対する因果領域に属することになる。この次の符号化ユニットは、すべての後続の符号化ユニットと同様、点状領域で図示された領域３．４に属し、現在の符号化ユニット３．１を符号化するために使用され得ない。因果領域が、再構成されたブロックによって構成されることは注目に値する。所与の符号化ユニットを符号化するのに使用される情報は、この情報が復号時に使用できないことから、画像の元のブロックではない。復号時に使用可能な情報のみが因果領域内の画素ブロックの再構成バージョン、すなわち、これらのブロックの復号バージョンである。このため、符号化時に、これらのブロックのこの再構成バージョンを提供するために、因果領域の前に符号化されたブロックが復号される。
【０１１２】
ブロック３．１を符号化するときに、因果領域内のブロック３．２からの情報を使用することが可能である。ＨＥＶＣ拡張仕様草案では、ビットストリームにおいて送信され得る変位ベクトル３．５が、このブロック３．２を示し得る。
【０１１３】
図４は、符号化ツリーブロックの符号化ユニットへの分割と、これらの符号化ユニットを順次処理するための例示的な走査順を図示する。ＨＥＶＣ標準では、ブロック構造は、符号化ツリーブロック（ＣＴＢ）によって編成される。フレームは、いくつかの非重複の正方形の符号化ツリーブロックを含む。符号化ツリーブロックのサイズは、６４×６４から１６×１６までのいろいろなサイズであり得る。このサイズは、シーケンスレベルにおいて決定される。符号化効率の面から最も効率的なサイズは、最大サイズの６４×６４である。符号化ツリーブロックはすべて、画像境界を除いて同じサイズを有し、それらが連続して配列されることを意味する。境界ＣＴＢのサイズは、残っている画素量に従って適合される。
【０１１４】
それぞれの符号化ツリーブロックは、１つまたは複数の正方形の符号化ユニット（ＣＵ）を含む。符号化ツリーブロックは、四分木構造に基づき、いくつかの符号化ユニットに分割される。符号化ツリーブロック内のそれぞれの符号化ユニットの処理（符号化または復号）順は、ラスタ走査順に基づく四分木構造に従う。図５は、符号化ユニットの処理順の例を示す。この図では、それぞれの符号化ユニットにおける番号は、この符号化ツリーブロックのそれぞれの対応する符号化ユニットの処理順を示す。
【０１１５】
ＨＥＶＣでは、種々のシンタックス要素、例えばブロック残差、予測子ブロックに関する情報（動きベクトル、イントラ予測方向など）を符号化するのに、いくつかの方法が使用される。ＨＥＶＣは、コンテキスト適応型二値算術符号化方式（ＣＡＢＡＣ：Ｃｏｎｔｅｘｔ  ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）、ゴロム・ライス符号、または固定長符号化と呼ばれる単純な二値表現などのいくつかのタイプのエントロピー符号化を使用する。大抵の場合、種々のシンタックス要素を表すのに二値符号化プロセスが行われる。この二値符号化プロセスはまた、非常に特殊であり、種々のシンタックス要素によって決まる。
【０１１６】
一般にＨＥＶＣ  ＳＣＣとも呼ばれるＨＥＶＣスクリーンコンテンツ符号化拡張は、新しい映像符号化標準ＨＥＶＣに対して現在立案されている拡張である。これは、一般にＨＥＶＣ  ＲＥｘｔとも呼ばれる、ＨＥＶＣレンジ拡張から引き出される。
【０１１７】
この拡張の目的は、グラフィカルユーザインターフェースキャプチャ、コンピュータグラフィック生成コンテンツ（スクリーンコンテンツとして知られる）などのコンテンツを含む、具体的には８ビットのビット深度の４：４：４カラーフォーマットに対して、また場合によってはロスレスで、映像シーケンスを符号化するための追加のツールを提供することにある。
【０１１８】
カラー画像は、通常、３つの色成分Ｒ、Ｇ、およびＢから成る。これらの成分は、通常、相互に関連付けられ、画像および映像圧縮では、画像を処理する前にこれらの色成分を非相関にすることがよく見られる。色成分を非相関にする最もありふれたフォーマットは、ＹＵＶカラーフォーマットである。ＹＵＶ信号は、通常、３つの入力Ｒ、Ｇ、およびＢの入力フレームに、線形変換を適用することによって、画像のＲＧＢ表現から作成される。Ｙは、普通は輝度成分と呼ばれ、ＵおよびＶは、一般に、クロマ成分と呼ばれる。「ＹＵＶ」の用語の代わりに、「ＹＣｂＣｒ」の用語もよく使用される。
【０１１９】
さらにいくつかのＳＣＣのツールが、その他のカラーフォーマットと適合可能であり得る。具体的には、パレットモードは、３つの成分の代わりに１つの成分に作用することにより単色データを取り扱うように設定されている４：４：４ケースを調整することによって、４：２：０と適合可能にされている。種々のビット深度も取り扱われ得る。
【０１２０】
ＨＥＶＣ  ＳＣＣは、ロッシー圧縮に加えて、入力シーケンスのロスレス符号化も提供することが可能であり、これは、入力１０１と厳密に同一の復号された出力２０９を有するためである。これを実現するために、従来のＨＥＶＣ  ＲＥｘｔロッシーコーデックに比べ、多くのツールが修正されるかまたは加えられている。
【０１２１】
ＨＥＶＣ  ＳＣＣ用の追加のツールが、自然なシーケンスに加えて、「スクリーンコンテンツ」映像シーケンスを効率的に符号化するように、現在デザインされている。上に手短に紹介されたように、「スクリーンコンテンツ」映像シーケンスは、例えばテキスト、パワーポイントプレゼンテーション、グラフィカルユーザインターフェース、テーブル（例えば、スクリーンショット）を含む、任意のその他のデバイスのパーソナルコンピュータからキャプチャされたそれらに対応する非常に特殊なコンテンツを有する特定の映像シーケンスに当てはまる。これらの特定の映像シーケンスは、自然な映像シーケンスに比べ、極めて異なる統計値を有する。映像符号化では、ＨＥＶＣを含む従来の映像符号化ツールのパフォーマンスは、このような「スクリーンコンテンツ」を処理するときに、がっかりさせるものであると分かることがよくある。
【０１２２】
ＨＥＶＣ  ＳＣＣの場合について現在述べられている、「スクリーンコンテンツ」映像シーケンスを処理するためのツールは、適応型色変換、イントラブロックコピーモードおよびパレットモードを含む。これらのモードに対するプロトタイプは、自然な映像シーケンスを目標とする従来の方法に比べ、優れた符号化効率を示している。本出願は、パレット符号化モードに焦点を合わせる。
【０１２３】
ＨＥＶＣ  ＳＣＣのパレット符号化モードは、情報が画素データを直接に符号化することを意味する、符号化モードである。現在立案されているように、パレット符号化モードは、残差データを使用しないが、画素が現在使用されているパレットのいずれのエントリとも一致しない場合、「エスケープ符号化」を使用する。具体的には、ロスレス符号化の場合、これは、パレットエントリがエンコーダによって、画素と等しいとして選択される必要があるか、またはエスケープ符号化された画素が量子化されず、量子化器の値がＣＵレベルにおいて送信されることを意味する。
【０１２４】
パレットは、通常、それぞれの色が所与の色空間（例えば、ＹＵＶ色空間に基づく図６における例６０３を参照）内のその成分によって定義される、Ｎ個組の色の有限集合を含むテーブルによって表される。例えば、通常のＲＧＢフォーマットでは、パレットは、Ｎ個組（ＲＧＢの場合はＮ＝３）のＰ要素リストから成る。より正確には、それぞれの要素は、ＲＧＢフォーマットにおける固定された三つ組の色成分に対応する。もちろんこれは、ＲＧＢまたはＹＵＶカラーフォーマットに限定されない。任意のその他のカラーフォーマットが、パレットによって表されることが可能で、より少ないまたはより多い個数の色成分を使用することができ、Ｎが３とは異なってもよいことを意味する。
【０１２５】
エンコーダ側では、ＨＥＶＣ  ＳＣＣにおいて検討中のパレットモードは、所与の入力符号化ユニットの画素値をレベルと呼ばれるインデックスに変換することにある。レベルは、それの画素値が入力符号化ユニットの画素値に一致する、関連パレット内のエントリを特定する。しかしながら、入力符号化ユニットの画素値が、例えば歪みがあまりにも大きい可能性があるために（ロスレス符号化の場合の０より大きい）、レベルによって表され得ない場合（すなわち、一致しない）、前記画素は、「エスケープ符号化」を示す、特定のレベルで表される。この特定の「エスケープ符号化」レベルで表されるそれぞれの画素に対して、量子化された画素値がさらに送信される。
【０１２６】
変換後、結果として生じた符号化ユニットは、レベルブロックおよび量子化された値ブロック（エスケープ符号化された画素に対する）から成る。その後、符号化ユニットは、通常、テーブルが符号化ユニットを表すのに使用される有限数の三つ組の色を有する、関連パレットと共にデコーダに送信される。パレットが有限数の色を定義することから、インデックスブロックへの変換は、普通、ロッシー符号化における元の入力符号化ユニットとほぼ同じであるが、ロスレス符号化における元の入力符号化ユニットに厳密に対応する。
【０１２７】
エンコーダ側においてパレットモードを適用するために、画素符号化ユニットを変換するための例示的な方法が以下のように行われ、
−画素符号化ユニットを最もよく説明しているＰ三つ組を見つけ、例えば全体的な歪みを最小にすることによって符号化し、
−その後、符号化ユニットのそれぞれの画素に、Ｐ三つ組の中の一致する色を関連付け、符号化する値（またはレベル）（これによりインデックスブロックの一部を形成する）は、関連の一致する色のエントリに対応するインデックスである。これにより、それぞれの画素に対して、一致する色を定義するエントリを特定するために、パレットのエントリを符号化ユニットのそれぞれの画素と比較することによって、インデックスブロックがパレットから得られる。一致するエントリがない場合、エスケープ符号化を示すレベルは、量子化された画素値と同様、画素に関連付けられる（量子化された値ブロックにおいて）。
【０１２８】
それぞれの符号化ユニットに対して、パレット（すなわち、見つけられたＰ三つ組）、インデックスブロックまたはレベルブロック、および量子化された画素値ブロックが、ビットストリーム１１０に符号化され、デコーダに送られる。
【０１２９】
さらに、パレット符号化モードが有効であるか否かを明示するために（例えばシーケンスパラメータセット、すなわち「ＳＰＳ」において）、特定のフラグが、ビットストリームにおいていくつかのパラメータセットで提供され得る。それらのパラメータセットは、シンタックス構造とも呼ばれる。
【０１３０】
また、符号化ユニットレベルにおいて、パレットに上述の特定の「エスケープ符号化」レベルを含ませるために、フラグは、符号化ユニットがエスケープ符号化された値を有するか否かを明示し得る。
【０１３１】
デコーダにおいて、パレット符号化モードとは、逆方向に変換を行うことにある。これは、符号化ユニットのそれぞれの画素に対して、対応する色を再構成するために、符号化ユニットのそれぞれの画素に関連付けられた復号されたそれぞれのインデックスが、ビットストリームから復号されたパレット内の対応する色に置き換えられることを意味する。画素が「エスケープ符号化」レベルに関連付けられる場合、対応する量子化された画素値が復号され、量子化された画素値の（すなわち、エスケープ符号化された画素の）ブロックから逆量子化されることに留意する。これは、色空間におけるインデックスブロックの（すなわち、符号化ユニット予測子の）再構成である。
【０１３２】
図５は、デコーダにおけるパレット符号化モードの原理をさらに図示する。スライス、フレームまたはタイルを復号する場合、復号プロセスは、最初の符号化ユニットから始まり、ビットストリームからのＣＵにわたってループする。その後、ステップ５０２において、現在の符号化ユニットに対する予測モードがビットストリーム５００から抽出される。現在、パレットモードは、ビットストリーム内のスキップフラグおよびイントラブロックコピーフラグの後にあるフラグによって特定される（その他の符号化モードは、図１および図２を参照して上に説明されている）。このフラグは、１つのコンテキストを使用して、ＣＡＢＡＣ符号化される。このモードがパレットモードではない場合、５０３、従来の復号は、ステップ５２０において起こる。このモードがパレットモードである場合、パレットモードの関係シンタックス５０５、すなわち、パレット、レベルブロック、およびエスケープ符号化された画素ブロックに関する情報がビットストリーム５００から抽出され、復号される、５０４。
【０１３３】
次に、ステップ５０６の間に、パレット５０９、エスケープ符号化された画素ブロック５０７、およびレベルブロック５０８が、復号されたデータからビルドされる。具体的には、ＨＥＶＣ  ＳＣＣが、パレットがパレット予測子５１０から予測されることをもたらす。レベルブロック、関連パレットおよびエスケープ符号化された画素ブロックから、画素領域内の再構成された符号化ユニット５１４がビルドされる。これは、レベルブロックのそれぞれのレベルに対して、色（ＲＧＢまたはＹＵＶ）がそれぞれの画素に関連付けられることを意味する。
【０１３４】
その後、その他のパレット符号化されたＣＵを復号する際に使用するためのパレット予測子５１０を更新するのに、パレット５０９が使用される。
【０１３５】
パレット予測子５１０を使用したパレット５０９の予測が、パレット予測子５１０のエントリのすべてを使用しない場合があることに留意すべきである。パレット予測子５１０の使用されたエントリまたは未使用のエントリに関する情報は、最後に使用されたパレットのサイズに関する情報と同様、格納され得る。このような情報は、以下に説明されるように、再利用される。
【０１３６】
図６は、エンコーダにおけるパレット符号化モードの原理を図示する。現在の符号化ユニット６０１は、３つの色値（Ｙ、Ｕ、Ｖ）または（Ｒ、Ｇ、Ｂ）の代わりに、それぞれの画素に対するレベルを含む、同じサイズのブロック６０２に変換される。説明用に、６０１の画素６１１が、実際にエスケープ符号化され、したがって、その関連レベル６１２は、パレットのエスケープ符号化レベル６１３（値「３」）を示す。結果として、エスケープ符号化された画素ブロックは、１つの画素の量子化された画素値を含む。レベルブロック６０２に関連付けられたパレット６０３が、符号化ユニットの全体的な歪み最小化に基づいてビルドされ、それぞれのエントリにおいて、エントリインデックスまたはレベルを対応する画素色値に関連付ける。単色用途では、画素値は、たった１つの成分しか含み得ないことに留意する。
【０１３７】
図５に関して上に述べられたように、パレット（エスケープ符号化された画素ブロックと同様に）は、それぞれの符号化ユニットに対して符号化され、ビットストリームに挿入される。同様に、レベルブロック（符号化ユニットに対応する）が符号化され、ビットストリームに挿入され、符号化の例が、図７を参照して以下に与えられる。この例では、レベルブロックは、水平方向順に走査される。
【０１３８】
レベルブロック７１は、参照中の図６において図示されたもの６０２と全く同じである。テーブル７２および７３は、レベルブロック７１を符号化するのに使用される連続するシンタックス要素を記述する。テーブル７３は、テーブル７２の続きとして読まれる必要がある。テーブル内のシンタックス要素は、ブロック７１における太線で囲まれたレベル群の符号化に対応する。
【０１３９】
レベルブロックは、連続する画素群によって、走査順に符号化される。各群は、予測方向を与える第１のシンタックス要素、反復を与える第２の要素、および画素値、すなわちレベルを与える任意選択の第３の要素を使用して符号化される。反復は、群内の画素数に対応する。
【０１４０】
これらの２つのテーブルは、パレット符号化モードに関連付けられた現在のシンタックスを表す。これらのシンタックス要素は、レベルブロック７１に対して、ビットストリームに挿入された符号化された情報に対応する。これらのテーブルでは、３つの主要なシンタックス要素が、パレット符号化モードの動作を完全に表すのに使用され、また引き続きレベルブロック７１のレベルを考える際に以下のように使用される。
【０１４１】
「Ｐｒｅｄ  ｍｏｄｅ」と呼ばれる第１のシンタックス要素は、２つの符号化モードを区別することを可能にする。「０」に等しい「Ｐｒｅｄ  ｍｏｄｅ」フラグに対応する第１のモードでは、現在の画素に対して新しいレベルが使用される。レベルは、ビットストリームにおいてこのフラグの直後にシグナリングされる。「１」に等しい「Ｐｒｅｄ  ｍｏｄｅ」フラグに対応する第２のモードでは、「コピーアップ」モードが使用される。より詳細には、これは、現在の画素レベルが、ラスタ走査順に関して同じ位置で始まる、真上のラインにある画素レベルに対応することを意味する。その「１」に等しい「Ｐｒｅｄ  ｍｏｄｅ」フラグの場合、レベル値が、レベルブロック７１において直上の画素のレベルの値を参照することによって分かることから、フラグの直後にレベルをシグナリングする必要はない。
【０１４２】
「Ｌｅｖｅｌ」と呼ばれる第２のシンタックス要素は、「Ｐｒｅｄ  ｍｏｄｅ」の第１のモードにおける現在の画素のみに対するパレットのレベル値、または画素のエスケープ符号化に対するレベル値を示す。
【０１４３】
「Ｒｕｎ」と呼ばれる第３のシンタックス要素は、「Ｐｒｅｄ  ｍｏｄｅ」の両方のモードにおいて反復値を符号化するのに使用される。レベルブロック７１が左上角から右下角に、左から右の行ごとに、上から下に走査されることを考慮して、Ｒｕｎシンタックス要素は、同じ符号化を有するブロック７１内の連続した画素の数を与える。
【０１４４】
この「Ｒｕｎ」シンタックス要素は、「ｐｒｅｄ  ｍｏｄｅ」フラグによって決まる異なる意味を有する。Ｐｒｅｄ  ｍｏｄｅが０の場合、「Ｒｕｎ」要素は、同じレベル値を有するインデックスブロックの連続する画素の数である。例えば、Ｒｕｎ＝８の場合、これは、現在の「Ｌｅｖｅｌ」が、ラスタ走査順における９つの同一の連続する標本に対応する現在の画素と、続く８個の画素とに適用されることを意味する。
【０１４５】
Ｐｒｅｄ  ｍｏｄｅモードが１である場合、「Ｒｕｎ」要素は、ブロック７１内のそれらの上の画素のレベル値に対応するレベル値を有するインデックスブロックの連続した画素の数であり、すなわち、「コピーアップ」モードが適用される場合である。例えば、Ｒｕｎ＝２６の場合、これは、現在の画素のレベルが、合計で２７個の画素に対応する、上の行の画素および続く２６個の画素からコピーされることを意味する。
【０１４６】
テーブル７２および７３は、パレット符号化モードを使用することによってブロック７１を表す、９つのステップを表す。それぞれのステップは、「Ｐｒｅｄ  ｍｏｄｅ」フラグが「０」に等しい場合は「Ｌｅｖｅｌ」シンタックス要素が、または「Ｐｒｅｄ  ｍｏｄｅ」フラグが「１」に等しい場合は「Ｒｕｎ」シンタックス要素が続く、「Ｐｒｅｄ  ｍｏｄｅ」フラグの符号化で始まる。「Ｌｅｖｅｌ」シンタックス要素の後に、常に「Ｒｕｎ」シンタックス要素が続く。
【０１４７】
現在のブロックに対して復号された予測モードがパレットモードである場合、デコーダは、最初に、このブロックに関係するシンタックスを復号し、その後、符号化ユニットに再構成プロセスを適用する。
【０１４８】
図８は、パレット符号化モードに関係するシンタックス要素の復号プロセスを図示する。最初に、パレットのサイズがビットストリーム８０１から抽出され、復号される、８０２。ステップ８０２において復号されたこのサイズ値に１を加えることによって、パレットの正確なサイズ（Ｐａｌｅｔｔｅ＿ｓｉｚｅ）が得られる。確かに、それに対する値０が最小のビット数（１ビット）を有する単項コードを使用することによって、サイズが符号化され、パレットのサイズが０と等しくなることはなく、そうでなければ、ブロック予測子をビルドするのに使用され得る画素値がなくなる。
【０１４９】
次に、パレット値の復号に対応するプロセスが始まる。パレットのインデックスに対応する変数ｉは、ステップ８０４において０に等しく設定され、次に、ステップ８０５において、ｉがパレットサイズ（Ｐａｌｅｔｔｅ＿ｓｉｚｅ）に等しいか否かをチェックするテストが行われる。ステップ８０５においてｉがパレットサイズとは異なる場合、１つのパレット要素が、ビットストリーム８０１から抽出され（パレットがビットストリームに直接符号化されている場合）、ステップ８０６において復号され、その後、関連のレベル／インデックスがｉに等しいパレットに加えられる。その後、変数ｉが、ステップ８０７を通してインクリメントされる。ステップ８０５においてｉがパレットサイズに等しい場合、パレットは、完全に復号されている。
【０１５０】
次に、レベルブロック７１の復号に対応するプロセスが行われる。最初に、画素カウンタに対応する変数ｊが、変数ｓｙｎｔａｘ＿ｉと同様に、０に設定される、８０８。その後、画素カウンタがブロックに含まれている画素数に対応するか否かを知るためにチェックが行われる。ステップ８０９において回答がはいの場合、プロセスは、ステップ８１７において終了し、そうではない場合、１つの予測モードに対応するフラグ「Ｐｒｅｄ  ｍｏｄｅ」の値がビットストリーム８０１から抽出され、復号される、８１０。
【０１５１】
「Ｐｒｅｄ  ｍｏｄｅ」の値は、復号された「Ｐｒｅｄ  ｍｏｄｅ」値のすべてを含むインデックスｓｙｎｔａｘ＿ｉにおいてテーブルに加えられる。ステップ８１１において、この「Ｐｒｅｄ  ｍｏｄｅ」の値が０に等しい場合、「Ｌｅｖｅｌ」に対応するシンタックス要素がビットストリーム８０１から抽出され、復号される、８１２。この変数「Ｌｅｖｅｌ」は、復号されたＬｅｖｅｌのすべてを含むインデックスｓｙｎｔａｘ＿ｉにおいてテーブルに加えられる。画素カウンタに対応する変数ｊは、１だけインクリメントされる、８１３。
【０１５２】
次に、ステップ８１４において、「Ｒｕｎ」シンタックス要素が復号される。ステップ８１１においてシンタックス要素「Ｐｒｅｄ  ｍｏｄｅ」が１に等しい場合、「Ｒｕｎ」値もステップ８１４において復号される。このシンタックス要素「Ｒｕｎ」は、復号されたＲｕｎのすべてを含むインデックスｓｙｎｔａｘ＿ｉにおいてテーブルに加えられる。
【０１５３】
次に、ステップ８１８において、そのレベル（すなわち、抽出されたＬｅｖｅｌが「エスケープ符号化」レベル、例えば図６および図７の例における「３」に等しい場合）によって示されるようにエスケープ符号化されたそれぞれの画素に対して、関連の量子化された画素値が、エスケープ符号化された画素ブロックからパースされて逆量子化される。逆量子化された画素値は、例えば、インデックスｓｙｎｔａｘ＿ｉにおいて対応するテーブルに格納される。
【０１５４】
ステップ８１８が、ステップ８１２の直後に行われ得ることに留意する。変形形態（ｖａｒｉａｎｔ）では、エスケープ符号化された画素ブロック全体が、ステップ８０９からステップ８１７のうちの１つのステップにおいて、ビットストリームから抽出されて逆量子化され得る。
【０１５５】
次に、ステップ８１５では、値ｊが、ステップ８１４において復号されたＲｕｎの値だけインクリメントされる。変数ｓｙｎｔａｘ＿ｉは、次のシンタックス要素組を考慮して、１だけインクリメントされる。カウンタｊがブロック内の画素数に等しい場合、レベルブロック７１をビルドするためのシンタックスが、完了する、８１７。このプロセスの終了時に、デコーダは、パレット、ならびにこの符号化ユニットのパレット符号化モードに関連付けられたすべての「Ｐｒｅｄ  ｍｏｄｅ」、「Ｌｅｖｅｌ」および「Ｒｕｎ」のシンタックス要素のリストを含むテーブルを知り、また、エスケープ符号化された画素に対する逆量子化された画素値のテーブルも知る。その後、デコーダは、図５を通して説明されたように、符号化ユニットの再構成プロセスを進めることができる。
【０１５６】
図８のこの実施形態のわずかに変形した形態では、レベルブロック７１の上部にある最初の画素行には、「Ｐｒｅｄ  ｍｏｄｅ」要素が提供されない。これは、これらの画素が上の行におけるレベルが与えられないことから、「コピーアップ」モードが実行され得ないためである。したがって、ｊが、ステップ８０９においてブロック幅より小さい限り、提供される「Ｐｒｅｄ  ｍｏｄｅ」要素はなく、ステップ８１０〜８１１がショートカットされ、それによりステップ８１２が直接行われる。このわずかに変形した形態が、符号化されたレベルブロックのサイズを縮小することに留意する。
【０１５７】
上記の図８の実施形態またはそのわずかに変形した実施形態のいずれか一方と組み合わせられ得る実施形態では、ただ１つではなくいくつかのレベルブロックが生成され得る。これは、いくつかのレベルが、画素のすべてまたは一部に対して使用されることを意味する。例えば、第１のレベルブロックが第１の色成分（例えばＹ）に対してビルドされ得る一方、別のレベルブロックは、少なくとも１つの残っている成分（例えばＵおよびＶ）に対してビルドされ得る。もちろん、３つの色成分に対する３つのレベルブロックが考えられ得る。いくつかのレベルブロックを有するという選択と、色成分とのそれらの一致は、特定のフラグを使用してビットストリームにおいてシグナリングされ得る。変形形態では、これは、画像のカラーフォーマットによって暗示され得る。
【０１５８】
戻ってパレットを参照すると、上の例では３つの値によって構成されるそれぞれのパレット要素が、通常、３つのバイナリコードを使用して符号化される。バイナリコードの長さは、それぞれの色要素のビット深度に対応する。「Ｐｒｅｄ  ｍｏｄｅ」要素は、１ビットを使用して符号化される。「Ｌｅｖｅｌ」要素は、バイナリコード長がｂに等しいバイナリコードを使用して符号化され、この場合、２ｂは、パレットサイズ以上の最も小さな整数である。
【０１５９】
図９は、レベルブロック９１をビルドするための再構成プロセスを図示する。このプロセスの入力データは、上記の図８のプロセスを使用して得られた、また「Ｐｒｅｄ  ｍｏｄｅ」、「Ｌｅｖｅｌ」、および「Ｒｕｎ」のリストを含む、テーブルである。
【０１６０】
「Ｐｒｅｄ  ｍｏｄｅ」、「Ｌｅｖｅｌ」、および「Ｒｕｎ」に追加する入力データ項目は、ビットストリームにおいてシグナリングされた四分木（図４）から分かる符号化ユニットのサイズである（レベルブロック６０２／７１のサイズと同じである）。
【０１６１】
第１のステップ９０１では、画素カウンタを表す変数ｉが０に等しく設定され、引き続きそれぞれのシンタックス要素組を考慮して、変数ｊも０に等しく設定される。ステップ９０４において、インデックスｊにある「Ｐｒｅｄ  ｍｏｄｅ」のテーブルから抽出された要素Ｐｒｅｄ＿ｍｏｄｅ［ｊ］が、０に対してチェックされる。
【０１６２】
要素Ｐｒｅｄ＿ｍｏｄｅ［ｊ］が０に等しい場合、現在の画素ｉに対して、新しいレベルが符号化される。結果として、位置ｉにある画素の値は、レベルテーブルからのインデックスｊにあるレベルに等しく設定され、Ｂｌｏｃｋ［ｉ］＝Ｌｅｖｅｌ［ｊ］となる。これはステップ９０５である。ステップ９０６において、変数ｉが、次の画素を考慮して１だけインクリメントされ、現在のＲｕｎにおいてすでに処理されている画素をカウントするのに専用の変数ｋが、ステップ９０７において０に等しく設定される。
【０１６３】
ステップ９０８において、ｋが、インデックスｊにあるランのテーブルの「Ｒｕｎ」要素に等しいか否か、ｋ＝Ｒｕｎ［ｊ］？を決定するためのチェックが行われる。等しくない場合、位置ｉにある画素のレベルは、位置ｉ−１にある画素のレベル値に等しく設定され、Ｂｌｏｃｋ［ｉ］＝Ｂｌｏｃｋ［ｉ−１］となる。これはステップ９０９である。その後、変数ｉおよび変数ｋが、それぞれステップ９１０、ステップ９１１において、１だけインクリメントされる。ステップ９０８においてｋ＝Ｒｕｎ［ｊ］の場合、残りのレベル値の伝播が完了し、ステップ９２０が行われる（以下に説明される）。
【０１６４】
ステップ９０４においてＰｒｅｄ＿ｍｏｄｅ［ｊ］が０と異なる場合、「コピーアップ」モードが、ステップ９１２において変数ｋが０に等しく設定されることで始まる。次に、ステップ９１３が、（ｋ−１）がインデックスｊにあるランのテーブルの「Ｒｕｎ」要素に等しいか否か、ｋ＝Ｒｕｎ［ｊ］＋１？をチェックする。等しくない場合、位置ｉにある画素のレベル値は、上の行の位置ｉにある画素のレベル値に等しく設定され、Ｂｌｏｃｋ［ｉ］＝Ｂｌｏｃｋ［ｉ−ｗｉｄｔｈ］となり、この場合、「ｗｉｄｔｈ」は、符号化ユニットの入力サイズから導出されるようなブロックレベル（符号化ユニットと同じ）の幅である。これはステップ９１４である。次に、変数ｉおよび変数ｋが、それぞれステップ９１５、ステップ９１６において、１だけインクリメントされる。ステップ９１３においてＲｕｎ［ｊ］＋１の場合、予測モード「コピーアップ」が完了し、プロセスは、ステップ９２０において継続する。
【０１６５】
ステップ９２０において、変数ｉがブロック７１／ＣＵ６０１内の画素量に等しいか否かを決定するためのチェックが行われる。等しくない場合、ステップ９２１において、変数ｊが、次のシンタックス要素組を考慮して１だけインクリメントされ、プロセスは、上に説明されたステップ９０４にループバックする。
【０１６６】
ステップ９２０においてすべての画素が処理されると、ステップ９２２において最後のレベルブロック７１が得られ、これは、テーブルＢｌｏｃｋ［］に対応する。
【０１６７】
次に、最終ステップ９２３では、図８のプロセスを使用して復号されたパレット６０３を使用し、またエスケープ符号化された画素に対する逆量子化された画素値ブロックを使用して、それぞれのレベルを色値に変換する。この最終ステップは、ブロック内のこの位置のレベルと、もしあればパレット６０３内の対応するエントリまたはブロックにおける対応する逆量子化された画素値のいずれか一方とに従った、それぞれのブロック位置における画素値（Ｙ、Ｕ、Ｖ）または（Ｒ、Ｇ、Ｂ）に影響を及ぼす。
【０１６８】
上に説明されたように、ＨＥＶＣ  ＳＣＣにおいて現在デザインされているようなパレット符号化モードは、それぞれの符号化ユニットに対して送信されるパレットを必要とする。これは、ビットストリーム内の大量のデータ、またこれによる符号化費用に相当する。この費用を減らすために、いくつかの提案された機構が、パレット予測子を使用して予測される現在の符号化ユニットに、現在のパレットを提供する。
【０１６９】
出願人の寄書ＪＣＴＶＣ−Ｑ００６３において提案されたように、基準パレット予測子が、例えばスライスのそれぞれの符号化ユニットによって使用されるようにビットストリームにおいて送信されることが可能であり、またはパレット予測子が、処理された符号化ユニットに近接する画素を使用してビルドされることが可能であり、または予測子がすでにある２つ以上のパレットからビルドされることが可能である。
【０１７０】
これにより、予測プロセスは、ビットストリームからパレットを形成するステップ８０６を修正する。
【０１７１】
図１０は、パレット予測子の例示的な反復ビルドを含む、予測スキームを図示する。このスキームでは、構成中のパレット予測子は、そのそれぞれのフラグが、第２のパレット内の対応するエントリが第１のパレット内のエントリを予測するためのエントリとして選択されるか否かを定義する、フラグビットマップを使用し、第２のパレットに基づいて予測された第１のパレットからのエントリを含む。フラグビットマップは、ビットストリームにおいて送信され得る。
【０１７２】
この実施形態に対しては特に、パレット予測子は、第１のパレットを予測するためのエントリの選択がないことを定義するビットマップのフラグに対応する第２のパレットのエントリも含めることによってビルドされる。
【０１７３】
図１０を参照すると、現在の画像において処理される連続した符号化ユニットであり得る、３つの符号化ユニット、ＣＵ１〜ＣＵ３が示される。
【０１７４】
参照番号１０００は、ＣＵ１を処理するのに（符号化するまたは復号するのに）使用されるパレットを表す。このパレットは、ビットストリームに符号化されていてもよく（またそれによりデコーダによって取り出されている）、または本出願において説明されている任意の機構を使用して予測されていてもよい。
【０１７５】
パレット１０００は、ＣＵ２を処理するためのパレット１００１をビルドするためのパレット予測子として選択される。パレット１００１の予測は、フラグのビットマップ１００６に基づく。フラグが、次のＣＵのパレットを予測するための対応する要素の、それぞれ使用または不使用に応じて、１または０の値をとることが想起されるはずである。変形形態では、フラグ＝１が、対応する要素を選択しないことを意味してもよく、一方ｆｌａｇ＝０が、次のＣＵのパレットを予測するための要素を選択することを意味してもよい。
【０１７６】
結果として、この例では、パレット予測子１０００の第１、第３、第４、および第５の要素が、ビットマップ１００６に定義されたようにパレット１００１にコピーされる。第２の要素１００２は、再利用されない（ビットマップ１００６において、フラグ＝０）。追加のパレット要素１００３が、上に説明された機構に基づき、ビルドされるパレット１００１の端に加えられていてもよい（例えば、ビットストリームにおいて明示的に送信されている）。
【０１７７】
また、パレット予測子１００５が、パレット１０００およびパレット１００１からビルドされる。パレット１００１の要素のすべてが、ＣＵ３に対するパレット予測子１００５にコピーされる（ステップ１００４）。この例では、パレット１００１を予測するためのエントリの選択がないことを定義するビットマップのフラグに対応するパレット予測子１０００のエントリ（すなわち、普通はフラグ＝０、例えば要素１００２）が、パレット予測子１００５に加えられる（ステップ１００８）。これは、パレット予測子１０００のその他のエントリが、コピーステップ１００４により、すでにパレット予測子１００５にあるからである。要素１００２のこの選択は、ビットマップ１００６におけるフラグにより、非常に素早く行われ得る。
【０１７８】
この手法は、次の画素ブロックに対する次のパレット予測子が、現在の画素ブロックを符号化するのに使用された現在のパレット、および現在のパレットを予測するのに使用された現在のパレット予測子のみからビルドされるようにする。
【０１７９】
パレット予測子１００５に基づき、ＣＵ３を処理するためのパレットを予測するのに、ビットマップが提供され得る。
【０１８０】
もちろん、パレット予測子１００５も、ＣＵ３を処理するための正にパレットであり得る。しかしながら、パレット予測子１００５は、パレットの最大サイズを定義する制限値まで、前のパレットにおいて定義された要素のすべてを含むにつれて絶えず大きくなる。
【０１８１】
要素１００２の追加は、パレット予測子１００５の端において行われることが好ましい。結果として生じたパレット予測子が、上に説明された状態に比べ向上していることを直に見てとることができる。
【０１８２】
未使用の要素をパレット予測子の端に加えることの１つの特別な利点は、要素が、それらの年齢およびそれらの使用レベルによってほぼ順序付けられることである。この結果、最も役に立たない要素であり、また最も取り除かれる可能性の高い最後の要素をパレット予測子に有することになる。これにより、この要素を含むそれぞれのパレットを使用して、最後のＭ個の画素ブロック（Ｍは定義される整数）に対して処理を行う場合、例えばこの要素の使用回数に基づいて、構成中のパレット予測子からいくつかの要素を取り除く決定がなされ得る。
【０１８３】
もちろん、このプロセスは、未使用の要素を、最初にパレット予測子に入れるように、またはパレット１００１からの要素のいくつかと交互配置させるようにも、適合され得る。
【０１８４】
前のパレットからの未使用の要素の選択は、要素が一意であり、したがってビットマップにおけるフラグが重複しないことを約束するものであることに留意する。これにより、パレット予測子の効率が最大化される。
【０１８５】
しかしながら、目下、現在のパレット予測スキームを崩壊させる状況がある。
【０１８６】
それらの状況のいくつかは、誤り耐性および／または並列処理が図られたＨＥＶＣ符号化ツール／構造の使用に関係している。これらのツール／構造は、普通は、画像内部の符号化構造間の依存関係を何ら許さない。
【０１８７】
ここで、画像が、普通、階層符号化構造、例えば、そのそれぞれが図４に示されるようなＣＵに分割される、ＣＴＢから成るスライスの場合のスライスから成るタイルに再帰的に分割されるということが想起される。階層符号化構造を定義するパラメータは、通常、シーケンスパラメータセット（すなわち、シーケンスに対して有効である）および／またはピクチャパラメータセット（すなわち、更新され得る）に含まれる。これにより、符号化構造は、可変長スキームを使用して符号化された整数である、前記ＳＰＳ／ＰＰＳのＩＤを示すことによって、これらのＳＰＳおよびＰＰＳに格納された情報に関係する必要がある。
【０１８８】
いくつかの符号化構造間に依存関係がないということは、例えば、符号化構造の境界において行われ得るイントラ予測がなく、また、符号化構造間で共有され得る、エントロピー符号化状態、パレット予測子、またはＩＢＣ予測用の領域もない、ことを意味する。
【０１８９】
上に手短に述べられたように、このような符号化構造の１つは、画像を完全なＣＴＢを含む種々の長方形に分割するタイル構造である。シーケンスが、タイル、およびタイルの形状を使用するか否かは、普通はＳＰＳに含まれる。
【０１９０】
タイルの行または列は、均一に配分されなくてもよい。これは、４つのタイル１１０２、１１０３、１１０４および１１０５に分割される、図１１の画像１１００の場合である。
【０１９１】
別のすでに述べられた符号化構造は、スライス構造である。スライスは、ＣＴＢより上のベース符号化構造で、スライスが１つまたは複数のＣＴＢから成り、タイルが１つまたは複数のスライスから成り、また画像が、１つまたは複数のタイル（またそれによりスライス）から成ることを意味する。
【０１９２】
例として、図１１の画像１１１０は、スライス１１１１、１１１３、１１１４などを含む。特に、スライス１１１４は、ただ１つしかＣＴＢを含まないことが分かる。
【０１９３】
それぞれのスライスは、ＣＴＢサイズおよびタイル構成によって決まる、開始ＣＴＢアドレス（ラスタ走査における）に関する情報、それによってスライスが決まるＳＰＳおよびＰＰＳのＩＤを含む（順不同で）スライスヘッダを含む。
【０１９４】
ＨＥＶＣは、タイルおよびスライスが「自己完結型」であること、すなわち、それらが、それぞれ、互いのタイル、互いのスライスから独立して、符号化／復号されることをもたらす。本発明は、このような自己完結型符号化構造に焦点を合わせる。
【０１９５】
いくつかの特定の場合では、一群のスライスが実際に完全に依存しているとしてマークされ得、いくつかの符号化情報が１つのスライスから次のスライスに受け継がれることを意味することが留意されるべきである。これらの場合、本発明は、１組の依存スライスのうちの第１のスライスのみに焦点を合わせる。
【０１９６】
スライス構造の「自己完結型」特徴のさらなる図示として、それぞれのタイルが、バラツキのあるＣＴＢカウントを有するスライス（種々の充填パターンを有する）を含む、４つの均一なタイル（太線で範囲が定められた）を含む、画像１１２０を参照することができる。
【０１９７】
非依存の現在のスライスまたはタイルが、それぞれ、別のスライスまたは別のタイルに関係することができないので、その他のスライスまたはタイルにおける誤差は、現在のスライスまたはタイルの復号に影響を与えない。さらに、現在のスライスまたはタイルに対する符号化結果は、これらのその他のスライスまたはタイルに左右されない。そのため、それらは、並行して符号化または復号され得る。
【０１９８】
「自己完結型」特性の１つの欠点は、予測に有用なデータが、新しいスライスまたはタイルに切り替わると、もう使用できず、したがって符号化効率を下げるということである。これは、１つの画像内に高レベルの情報冗長性がある、ＳＣＣによりいっそう当てはまる。したがって、それらの場合では、その符号化効率損失をある程度軽減することが望ましい。
【０１９９】
これに関連して、本発明は、
ビットストリームから、復号される２つの自己完結型符号化構造よりも階層的に上の符号化構造に関連付けられたパレット予測子初期化子を得るステップと、
同じ得られたパレット予測子初期化子を使用して、２つの自己完結型符号化構造のそれぞれに対するパレット予測子を初期化するステップと、を提供する。
【０２００】
エンコーダの末端部において対称的に、本発明は、
１つのパレット予測子初期化子を決定して、２つの自己完結型符号化構造用のパレット予測子を初期化するステップと、
ビットストリームにおいて、パレット予測子から、処理されたそれぞれの画素ブロックに関連付けられたパレットを予測するための予測情報を含む符号化されたデータを提供し、かつパレット予測子初期化子を提供するステップであって、パレット予測子初期化子が、ビットストリームにおいて、２つの自己完結型符号化構造よりも階層的に上の符号化構造に関連付けられている、ステップと、を提供する。
【０２０１】
本発明によって提案されたように、パレット予測子を初期化するだけにパレット予測子初期化子が使用され、符号化の効率と複雑性の両方の面でよい結果を大いにもたらす。パレット予測子初期化子が、パレット符号化モードを行う際に、パレットそれ自体としては決して使用されないことに留意する。
【０２０２】
また、本発明は、パレット予測子初期化子が、それがビットストリームにおいて１回シグナリングされる一方、いくつかの独立した符号化構造、タイルまたはスライスによって使用されることを意味して、「グローバル」であることをもたらす。これは、「自己完結型」特性のために、それらのパレット予測子の初期化を必要とする符号化構造よりも階層的に上の符号化構造に関連付けて、パレット予測子初期化子をシグナリングすることによって実現される。
【０２０３】
スライスレベルにおいて、すなわち、パレット予測子初期化子を必要とする符号化構造（スライス）と同じレベルにおいてパレット予測子初期化子を格納することは、発明者には非効率的であるように見える。これは、画像のスライスへの分割が、符号化効率の損失の正にその理由であるからである。
【０２０４】
以下の説明は、前記初期化子用の効率的な記憶および送信機構を提案することを目的とする。
【０２０５】
１つの実施形態において、パレット予測子初期化子は、ピクチャパラメータセットＰＰＳ内の画像レベルで定義され（またそれにより、ビットストリームの対応する部分において送信される）、その場合、２つの自己完結型符号化構造は、ピクチャパラメータセットに当てはまる。例えば、２つの自己完結型スライスは、それらのそれぞれのヘッダ内にＰＰＳ  ＩＤを含む。
【０２０６】
変形形態では、パレット予測子初期化子は、シーケンスパラメータセットＳＰＳ内のシーケンスレベルで定義され、その場合、２つの自己完結型符号化構造は、シーケンスパラメータセットに当てはまる。
【０２０７】
ＰＰＳにおけるその定義に優先権が与えられる。これは、ＳＰＳレベルにおいてパレット予測子初期化子を格納することが、一定のフレームまたは時間の経過後に初期化子を更新すること、および／または画像の領域（例えば、タイルまたは自由裁量の領域）ごとに初期化子を使用すること、などのいくつかのエンコーダ最適化を許さないためである。
【０２０８】
しかしながら、上述のように、スライスは、そのＰＰＳ  ＩＤを通してＰＰＳに関係する。ＰＰＳが多く送られるほど、ＩＤは大きくなり、またそれにより、それらを符号化するのにより多くのビットが必要とされる。同じＩＤを共有するいくつかのＰＰＳを備えないことは、標準化機構によって禁止されるどころか強く提唱され、確かに、間違った順序でそれらを復号し、不正確な情報をスライスに関連付ける可能性があり得る。この問題に対して考えられるソリューションは、最大値に達したときにＰＰＳ  ＩＤを０にリセットする、ラップアラウンド機構である。これは、不正確な復号を完全に防ぐことはないが、同じＩＤを有するＰＰＳが、自由裁量の期間だけ隔たることができるようになるので、その危険性を大幅に縮小する。
【０２０９】
ここで、本発明の実施形態を図示する図１２〜図１４を参照する。
【０２１０】
図１２は、デコーダの末端部における例示的な処理を図示し、シーケンスのビットストリーム１２００からのパレット予測子初期化子の取り出しを図示する図１２ａを含む。
【０２１１】
ステップ１２０１において、上位階層レベルの符号化構造に関連付けられたシンタックス構造が、ビットストリームから抽出されて復号される。このシンタックス構造は、シーケンスに関連付けられたＳＰＳか、または画像に関連付けられたＰＰＳであり得る。
【０２１２】
次に、ステップ１２０２において、そのシンタックス構造用のＩＤ、ＰＰＳ用のＰＰＳ  ＩＤおよびＳＰＳ用のＳＰＳ  ＩＤが導出される。
【０２１３】
次に、ステップ１２０３において、パレット予測子内のエントリ数が、抽出されたシンタックス構造から読み取られる。パレット符号化モードによって使用されるパレット予測子の最大サイズが、ＳＰＳに明示され、またそれにより、抽出されたシンタックス構造によって示されたサイズがその制限を受け、そのサイズがこの最大サイズ以下であることを意味することが留意されるべきである。
【０２１４】
抽出されたシンタックス構造がＳＰＳである場合、パレット予測子初期化子が、パレット符号化モードがシーケンスに対して有効であるか否かを定義する情報の後、およびパレット予測子の最大サイズの後にもあることが好ましい。この特定の位置は、パレットモードが無効である場合（例えば、抽出されたシンタックス構造が、自然なコンテンツの符号化用に仕立てられ、スクリーンコンテンツ用には仕立てられていない場合）、パレット予測子初期化子データ（初期化子のエントリ数）をパースし、読み取るのを避けることを可能にする。
【０２１５】
ステップ１２０４において、プロセスは、ステップ１２０３において読み取られたエントリ数に基づき、パレット予測子初期化子がエントリを有するか否かを決定する。
【０２１６】
パレット予測子初期化子が少なくとも１つのエントリを含む場合、ステップ１２０５において、１つまたは複数のエントリがビットストリームから得られる。ビットストリーム（抽出されたシンタックス構造）からパレット予測子初期化子を読み取るための機構は、ビットストリームにおいて送信されたあらゆるパレットを読み取るためのＨＥＶＣ  ＳＣＣにおいて定義される機構と同様であり得る。
【０２１７】
パレット予測子初期化子が完全に決定されると、それは、ステップ１２０６において、メモリに格納され、抽出されたシンタックス構造のＩＤ（すなわち、ステップ１２０２において得られたＩＤ）に関連付けられる。この格納は、ＩＤが後で再度使用されるとき、パレット予測子初期化子を容易に取り出せるようにする。
【０２１８】
図１２ｂは、図５と同じ復号プロセスをより簡単に、しかし本発明に適合させて示す。
【０２１９】
ステップ１２１１〜ステップ１２１７は、デコーダの従来のステップと同様である。ステップ１２２０およびステップ１２２１は、本発明の実施形態に特有のものである。
【０２２０】
この復号プロセスでは、ステップ１２１１において、現在の符号化構造に関する情報を得るために、ビットストリーム１２００がパースされる。この情報は、例えば、現在の符号化構造の性質、例えばフレームであるか、スライスであるか、タイルであるか、などを定義することが可能で、情報は、画素ブロック（ＣＵまたはＣＴＢ）が現在の符号化構造の最初のブロックであることも明示し得る。これは、本発明が初期化に専用、すなわち、考えられた符号化構造の全く最初の部分に対して普通は行われるプロセスに専用であるためである。
【０２２１】
ＨＥＶＣ関係の実施形態では、考えられた画素ブロックはＣＴＢである。これは、ステップ１２１２において、最初のＣＵを選択することによって、現在の符号化構造に対して復号ループを初期化することを可能にする。次に、ＣＵがパレット符号化モードを使用して符号化される場合、ステップ１２１３において、現在のＣＵが、おそらくパレット予測子１２１５を使用して復号される（現在のパレットを得るために）。
【０２２２】
パレット共有に頼る（すなわち、最後に使用されたパレットを、次のパレット符号化された画素ブロックのために使用されるパレットとして使用する）特定の実施形態では、最後に使用されたパレットは、次の画素ブロック（パレット予測子がその他のエントリも受信していてもよい）に対するパレット予測子の開始部分にコピーされている。次のパレットを形成するためにコピーし、それによって予測子からのそれらの取り出しを容易にするためのパレット予測子の最初のエントリの数（すなわち、最後に使用されたパレットから来る）をシグナリングするために、パレット予測子１２１５は、Ｎで表示された、最後に使用されたパレットサイズの情報も保持する。確かに、パレット予測子のＮ個の最初のエントリを次のパレットにコピーするだけで、パレット共有モードにおける次のパレットが完全にビルドされる。
【０２２３】
ステップ１２１４において、適切な場合、例えば、図１０を参照して上に説明されたように、またはパレット共有の場合に現在のパレットのそれぞれのエントリをコピーすることによって、パレット予測子が更新される。すべてのＣＵにわたる復号ループが、ステップ１２１６およびステップ１２１７を通して得られる。
【０２２４】
本発明によれば、新たな自己完結型符号化構造の符号化または復号を開始するとき、パレット予測子１２１５が、パレット予測子初期化子を使用して初期化される。これを実現するために、ビットストリーム１２００をパースするとき（または符号化の場合に書き込むとき）、上位階層レベルの符号化構造に関連付けられたシンタックス構造の識別子ＩＤがステップ１２２０において得られる。これは、情報１２１１がパースされる前またはパースされた後、しかし最初のＣＵ１２１２が復号される前に、ビットストリームから情報を抽出すること、１２２０によって起こり得る。
【０２２５】
ステップ１２２１において、この識別子ＩＤは、図１２ａのステップ１２０６において識別子を使用して予め格納されたパレット予測子初期化子を取り出すことを可能にする。この識別子は、新たなシンタックス要素であり得る。パースされた符号化構造がスライスであり、パレット予測子初期化子がＰＰＳに格納される１つの実施形態では、前記スライスに対するＰＰＳを特定する、すでにあるシンタックス要素が、この役割を果たす。
【０２２６】
ステップ１２２１がスライスごとの開始時に起こり、パレット予測子初期化子がタイルに関連付けられる（すなわち、タイルレベルで定義される）別の実施形態では、それぞれのスライスは、そこにそれが属するタイルを特定し得る（ＩＤを使用して）。この実施形態では、これにより、ステップ１２２０は、そこに現在のスライスが属するタイルを特定し、その後、関連タイルのＩＤに対するパレット予測子初期化子を取り出す。
【０２２７】
ステップ１２２１の終了時には、パレット予測子初期化子が取り出されている。このパレット予測子初期化子は、現在の符号化構造（例えば、スライス）の最初のＣＵが復号される直前にパレット予測子１２１５を初期化するのに１度使用され得る。これは、初期化子のエントリ数から、予測子内のエントリ数を設定することによって、行われ得る。これらの２つのサイズは、最大サイズが課され得るので（ＳＰＳ最大予測子サイズまたは自由裁量のサイズのいずれか一方から）、同じではない可能性がある。その後、エントリが、ちょうど設定された予測子内のエントリ数に従って、パレット予測子初期化子からパレット予測子にコピーされる。
【０２２８】
さらなる実施形態では、復号されたＣＵがないので、前のパレットのサイズは、０である。しかしながら、パレット予測子初期化子がパレットを提供するので、前のパレットの前記サイズが、パレット予測子初期化子のサイズ、例えば、最大パレットサイズ（図１４ａにおけるｐａｌｅｔｔｅ＿ｍａｘ＿ｓｉｚｅを参照）とパレット初期化子サイズのうちの最小サイズから引き出され得る。例えばパレット共有が実施される場合、すなわち、符号化構造の処理を通して、次の画素ブロックまたはＣＵを符号化するのに使用される次のパレットが、最後のパレット符号化された画素ブロックまたはＣＵのために使用された最後のパレットのエントリのすべてを再利用する場合、このさらなる実施形態が動作する。
【０２２９】
上の説明は、パレット予測子初期化子が、スライスのレベルよりも厳密に高い階層レベルを有する符号化構造のレベルで定義され（例えば、ＳＰＳ、ＰＰＳ、タイルなど）、その後、スライスのレベルに関連付けられることを示す。
【０２３０】
ここで、このようなパレット予測子初期化子を決定するための、エンコーダの末端部にあるアルゴリズムを見てみると、図１３は、アルゴリムが、符号化効率、計算負荷制御、および低遅延の特性の利益を有する（すなわち、データの出力時のエンコーダ遅延にそれほど大きく影響を与えることなく、現在のフレームに対して結果が得られる）、初期化子決定のための例示的なアルゴリズムを図示する。
【０２３１】
このアルゴリムは、考えられた自己完結型符号化構造（例えば、スライス）に対応する、画像領域にわたって広がるのが好ましい、ＣＴＢのサブセットの多かれ少なかれ高速の符号化を行うことによって働く。その高速符号化を実現するために、種々のショートカット、例えば、早期終了（例えば、インターにおいて、またはパレットモードをテストするときにエスケープ符号化された画素が多すぎる可能性がある場合）またはさらなる分析（例えば、ＩＢＣのさらなる区分化を調査するための分析）をもたらす閾値を修正する、が可能にされ得る。ＣＴＢのサブセットにおける高速符号化の終了時に得られたパレット予測子のうちの１つは、ビットストリームにおいて送信されるパレット予測子初期化子として使用され得る。
【０２３２】
図１３ａは、初期化子決定のためのこのような画素ブロックサブセットの例を表示する。
【０２３３】
ＣＴＢは、可能な限り領域（例えばスライス）を代表するように、規則的に離間されるのが理想的である。サブセット用に考えられるＣＴＢは、それらのコンテンツが、パレット符号化モード以外の符号化モードを使って、より簡単に符号化される可能性があるので（例えば、ユーザインターフェースのハードエッジは、イントラ角度予測を用いてよりよく符号化される）、領域または画像の端（左端／上端／下端／右端）にはないのが好ましい。
【０２３４】
また、サブセット用に考えられるＣＴＢは、水平方向にも上下方向にも並んでいないことが好ましい。そうでなければ、ＣＴＢは、同じフレーム幅構造に属する可能性がある。
【０２３５】
図の左部分に示される第１の実施形態１３０１では、サブセットの画素ブロックは、領域のスロープまたは対角線に沿って分散される。この例では、サブセットは、暗色のＣＴＢから成る。この例は、上述の特性のすべてに従う。
【０２３６】
この第１の例示的なサブセット１３０１は、１つより多いスライスに対してただ１つのパレット予測子初期化子が決定される必要のある領域により適していると考えられる。
【０２３７】
図の右部分に示される第２の実施形態１３０２では、サブセットの画素ブロックは、画像領域の上部、好ましくは画像の上部に水平方向に並んでいる。この実施形態は、より高いレベルの構造（画像またはタイル）が１つの自己完結型符号化構造、例えば１つのスライスを含む場合用によりよく仕立てられており、これにより得られたパレット予測子初期化子は、より高いレベルの前記構造の開始部を符号化するのにより適している。
【０２３８】
具体的には、パレット予測子初期化子を画像の別の部分用に仕立てることは、スライス符号化中にパレット予測子を強制的にリセットする可能性を示すことになるであろう。これにより、パレット予測子初期化子の利益は、それがいくつかのフレーム（またそれによりいくつかのスライス）のために使用されることになるという事実に根差している。
【０２３９】
したがって、サブセット１３０２を形成するＣＴＢは、パレット予測子が普通は空である、画像の開始部にむしろ集められる。
【０２４０】
その場合、画像開始部から離れたＣＴＢを分析することは、図１２ｂの更新機構１２１４によってフラッシュされることになるパレット予測子要素をもたらし得る。
【０２４１】
さらに、互いに近すぎるＣＴＢを選択することは、ほんのわずかだけ異なる色やめったに起こらない色のピックアップを引き起こすことがある。これにより、例えば、１３０２に示されるように、考えられたＣＴＢ間に１つ以上の段を定義することによって、隣り合わない画素ブロックを選択することに、優先権が与えられる。
【０２４２】
ＣＴＢサブセットに基づき、図１３ｂは、エンコーダの末端部においてパレット予測子初期化子を決定するための一般的なステップを、フローチャートにおいて図示する。
【０２４３】
プロセスは、ステップ１３１１において、それにプロセスが適用されるタイル、スライス、および領域の使用などを考慮して、ブロックサブセットを決定することによって始まる。
【０２４４】
具体的には、図１１を参照して説明されたように、画像は、領域に人為的に分割され得るか、または従来のタイルもしくはスライスに分割され得る。その場合、それぞれの領域にアルゴリズムが適用され得、その後、符号化構造、例えばスライスを符号化するときに、どのより高いレベルの領域に符号化構造が属するかが決定される（符号化構造が、前記領域に完全に属さない可能性がある）。
【０２４５】
この手法は、それに基づいて例１３０１や例１３０２などのサブセットブロックが定義される領域の開始点および終了点を得ることを可能にする。
【０２４６】
サブセットを決定するときに考慮され得る別のパラメータは、ブロックまたはＣＴＢの許容数である。例えば、サブセットにおけるブロック数は、所定の数（例えば１０）または考えられた領域の割合（例えば、１０％）よりも多くなってはいけない。
【０２４７】
ステップ１３１１の次に、ステップ１３１２では、エンコーダパラメータが初期化される。これは、正統的な決定（量子化行列、量子化器ステップ、許容の符号化モードなど）のすべてに関わり得る。具体的には、これは、高速分析パラメータの設定、例えばイントラブロックコピーについての縮小された検索、いくつかの符号化モード（パレット符号化モードを含む）の除去またはスピードアップなどにも関わり得る。
【０２４８】
次に、ステップ１３１３において、サブセットの最初のブロックが選択される。
【０２４９】
ステップ１３１４において、現在のブロックが符号化される。上述のように、符号化プロセスは、ステップ１３１２によって、作業負荷の縮小をもたらすようにわずかに修正され得る。これは、例えば、ブロックの境界に符号化された画素がなく、またイントラ予測方法が、このような境界画素に対して動作することができず、それにより、それらの画素についての分析中は無効である、といったこのブロックに対して特定の符号化パラメータを設定することにも関わり得る。
【０２５０】
さらに、ＣＴＢサブセットを使用することは、イントラブロックコピー分析における問題を引き起こす場合がある。これらのすべては、ステップ１３１４の間に対処され得る。
【０２５１】
ステップ１３１５において、現在のブロック用に生成されたパレット予測子が取り出され、後の参照用に保存される。
【０２５２】
次に、ステップ１３１６において、分析が完了したか否かを決定するためのテストが行われる。
【０２５３】
この決定は、タイムバジェットに基づくものであり得る。タイムバジェットが完全に使用されると、分析は停止する。
【０２５４】
また、図１２ｂのステップ１２１４におけるパレット予測子からの要素の可能なフラッシュに関して、分析を停止するときを決定するようなフラッシュを、分析中に検出することには関心が引かれるだろう。
【０２５５】
例えば、例示的なサブセット１３０２を考えてみると、新しいエントリが実際にはめったに使用され得ないほど、素早く分析を停止することは、非常に関心が引かれる。例えば、前記分析が、フラッシュが検出されるとすぐに停止されてもよく、または、フラッシュカウンタが、カウンタが０に達して、分析の終了を示すようになるまで、新しい要素がフラッシュされるたびにデクリメントされてもよい。
【０２５６】
例示的なサブセット１３０１の場合、パレット予測子初期化子内の色が、可能な限り多くのＣＴＢに対して定義される必要があることから、この手法は、あまり関心が引かれない。したがって、最も頻繁に使用され続けるようにすることに関心が引かれる（それらがいくつかのスライスにとって有用になると考えられることから）。
【０２５７】
いずれの場合でも、ステップ１３１６が、分析が停止される必要があること決定すると、アルゴリズムは、後に説明されることになるステップ１３１９において終了する。そうではない場合、ステップ１３１７が、サブセットの最後のブロックが処理されたか否かをテストする。最後のブロックが処理されている場合、ステップ１３１９において、アルゴリズムが終了する。最後のブロックが処理されていない場合、サブセットにおける次のブロックがステップ１３１８において選択され、分析プロセスは、ステップ１３１４にループバックする。
【０２５８】
特定の実施形態において、サブセットのこの符号化は、ブロックに対してその都度よりよいパレット予測子を得るために、またこれによりパレット符号化モードをより頻繁に使用するために、数回繰り返されて得、この繰り返しは、同じ画素ブロックサブセットを再帰的に符号化することを含み、この場合、次の再帰的符号化ループに使用される第１のパレット予測子は、前の再帰的符号化ループの終了時に得られたパレット予測子である。
【０２５９】
分析の終了時１３１９に、いくつかの動作が行われる。
【０２６０】
主動作は、パレット予測子初期化子を設定し、それを符号化し、そしてそれをビットストリームにおいて送信することにある。
【０２６１】
この動作は、パレット予測子初期化子としての使用に、パレット予測子のうちの１つを選択することを必要とする。例えば、それは、分析の最後のパレット予測子であり得る。
【０２６２】
次に、選択されたパレット予測子初期化子が、それが符号化に実際に適しているか否かを決定するために、操作され得る。
【０２６３】
例えば、選択されたパレット予測子初期化子に２つのいくつかのエントリ（例えば、４つより少ない）がある場合、これは、分析される領域内に最も自然なコンテンツがあることを示す可能性があり、その場合、パレット符号化モードを使用するほどのことはない。したがって、この情報は、別の分析がよりよい結果を得るまで、通常の符号化時にパレット符号化モードを無効にする働きをし得る。
【０２６４】
別の場合では、選択されたパレット予測子は、領域に対して現在使用されている、パレット予測子初期化子とそれほど異なっておらず、その場合、現在使用されているパレット予測子初期化子が、新たに決定されたパレット予測子初期化子に代わって保持される。
【０２６５】
別の動作は、例えば頻度基準（例えば、ただ１つのブロックに対してもたらされたいくつかの色）または類似性基準（色が、パレット予測子初期化子内の別の色とよく似ている）に基づき、それらが役に立たない場合に選択されたパレット予測子のエントリをフィルタ処理で取り除くことにある。
【０２６６】
別の実施形態は、できる限り分析されたＣＴＢを代表するように、選択されたパレット予測子初期化子のエントリを再度引き出すことにある。例えば、より正統的な分類アルゴリズムが、開始点として見つけられたパレットエントリを取り、例えばＫ平均アルゴリズムを使用して、前記エントリに関連付けられたクラスのそれぞれに対して実際の重心を決定し得る。
【０２６７】
図１４は、具体的には図１４ａにおけるＳＰＳ内、また図１４ｂにおけるＰＰＳ内で、パレット予測子初期化子を明らかにする、または定義するための２つの実施形態を図示する。これら２つの実施形態は、極めて似ており、それにより一つにまとめた説明が以下に示される。
【０２６８】
両方の実施形態とも、ＨＥＶＣ標準およびそのＳＣＣ拡張におけるＰＰＳおよびＳＰＳシンタックス構造の既存の拡張セクションに頼る（ＪＣＴＶＣ−Ｓ１００５文書を参照）。対応する拡張セクション（すなわち、「ｓｐｓ＿ｓｃｃ＿ｅｘｔｅｎｓｉｏｎｓ」および「ｐｐｓ＿ｓｃｃ＿ｅｘｔｅｎｓｉｏｎｓ」）の存在は、それぞれ、フラグｓｐｓ＿ｓｃｃ＿ｅｘｔｅｎｓｉｏｎｓ＿ｆｌａｇ、ｐｐｓ＿ｓｃｃ＿ｅｘｔｅｎｓｉｏｎｓ＿ｆｌａｇによって、ＳＰＳ内、ＰＰＳ内に示される。
【０２６９】
これら２つの実施形態では、関連するパレット予測子初期化子情報が、それぞれ、ＳＰＳ  ＳＣＣ拡張、ＰＰＳ  ＳＣＣ拡張に加えられる。
【０２７０】
既存の拡張セクションに加えられたシンタックス要素は、図１４ａおよび図１４ｂに太字で示される。これらの追加のシンタックス要素の情報の名前、位置またはタイプは、説明のためのものである。もちろん、その他の名前も使用され得る。
【０２７１】
ステップ１２０４に関連して上に述べられたように、パレット符号化モードは、無効化され得る。結果として、本発明は、ｐａｌｅｔｔｅ＿ｍｏｄｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが正しい場合か、または、ＳＰＳもしくはＰＰＳレベルにおける同等の情報が、パレット符号化モードが有効であることを示す場合のみ、パレットモードに関係する情報をパースする。
【０２７２】
図の例に基づき、第１のフラグｐａｌｅｔｔｅ＿ｐｒｅｄｉｃｔｏｒ＿ｉｎｉｔｉａｌｉｚｅｒ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが使用され得る。このフラグは、パレット予測子初期化子があるか（すなわち、ＳＰＳまたはＰＰＳ  ＳＣＣ拡張において実際に定義されているか）否かを示す。
【０２７３】
パレット予測子初期化子がある場合、そのサイズが分かり、少なくとも１である。その最大サイズは可変であるが、ＳＰＳまたはＰＰＳ  ＳＣＣ拡張において示された最大サイズより下であるように制限され得る（ｐａｌｅｔｔｅ＿ｍａｘ＿ｐｒｅｄｉｃｔｏｒ＿ｓｉｚｅを参照）。
【０２７４】
ＶＬＣサイズ−１（例えば、標準仕様のＥｘｐ−Ｇｏｌｏｍｂコードを使用した、可変長符号化の場合はＶＬＣ）が対応するフィールド、ｓｉｚｅ＿ｐａｌｅｔｔｅ＿ｐｒｅｄｉｃｔｏｒ＿ｉｎｉｔｉａｌｉｚｅｒ＿ｍｉｎｕｓ１を使用して明示される。これは、パレット予測子初期化子のサイズである。
【０２７５】
次に、パレット予測子初期化子のエントリの値が定義される。ここでは描写されていないが、これらの値を符号化するのに、１バイト単位で揃えた符号化を使用することに優先権が与えられ、これは、行われるＳＣＣ拡張のより簡単なパーシングを可能にする。実施形態において、パレット予測子初期化は、固定長の要素として、それぞれのエントリの成分ｃｏｍｐに対してＮ［ｃｏｍｐ］（以下を参照）で符号化される。
【０２７６】
エントリの成分数ｎｕｍ＿ｃｏｍｐが分かり、ＳＰＳに含まれるｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃまたはｓｅｐａｒａｔｅ＿ｃｏｌｏｕｒ＿ｐｌａｎｅ＿ｆｌａｇなどの情報が、成分数を決定することを可能にすることに留意されるべきである。また、それぞれの成分に対するビット数Ｎ［ｃｏｍｐ］も、それらがＳＰＳに含まれているシンタックス要素ｂｉｔ＿ｄｅｐｔｈ＿ｌｕｍａ＿ｍｉｎｕｓ８およびｂｉｔ＿ｄｅｐｔｈ＿ｃｈｒｏｍａ＿ｍｉｎｕｓ８から引き出され得るので、分かる。
【０２７７】
最後に、図１４ｃは、成分が別々に符号化される場合に使用するための、またはタイルが使用される、パレット予測子初期化子リストを提供するための方法を図示する。成分が、いっしょに符号化されない場合は、４：２：０カラーフォーマットであり、この場合、パレットが、輝度に対して（１つの成分）、またその上に彩度に対して（２つの成分）定義され得る。
【０２７８】
このようなリストが必要とされる別の場合では、Ｎ個のタイルがあり、スライスとパレット予測子初期化子との間の関係付け１２２１が、それにスライスが属するタイルを通して行われる。
【０２７９】
それぞれの場合で、リストは、ＳＰＳまたはＰＰＳのいずれか一方に属する情報によって決定され得る。そのように、シンタックス構造は、サイズｎｕｍ＿ｓｅｔｓの、初期化子リストのそれぞれの組にわたってループする。それぞれの組に対して、ｐａｌｅｔｔｅ＿ｐｒｅｄｉｃｔｏｒ＿ｉｎｉｔｉａｌｉｚｅｒ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ［ｓｅｔ］、およびｓｉｚｅ＿ｐａｌｅｔｔｅ＿ｐｒｅｄｉｃｔｏｒ＿ｉｎｉｔｉａｌｉｚｅｒ＿ｍｉｎｕｓ１［ｓｅｔ］などのすでに提示されている種々の情報が送られる。
【０２８０】
その後、前記初期化子に対する成分数ｎｕｍ＿ｃｏｍｐｓ［ｓｅｔ］および成分のリストｃｏｍｐ＿ｌｉｓｔ［ｓｅｔ］が、使用する成分と、それぞれの組に対してパレット予測子初期化子の値をどのように読み取るかを決定することを可能にする。
【０２８１】
タイルの場合、このリストは、正に普通の成分リストである。特定のカラーフォーマットの場合、このリストは、独立した成分の組ごとにパレット予測子初期化子を明示することを可能にする。
【０２８２】
別の実施形態では、本発明によって使用されるシンタックスは、例えばＳＰＳから来るその他の情報から有利に分離される。これは、例えば映像ストリーミングシナリオにおける、デコーダによる別々の取り扱い、およびより簡単なセットアップスキームを可能にする。このような場合、複製された情報を提供することが重要であり得、例えば、図示されたように、パレット予測子初期化子がＰＰＳにおいて送信される場合、このＰＰＳがＳＰＳから情報を複製し得るが、前記情報が同じ意味を有することを必要とする。この実施形態は、図１４ｄに図示される。図１４ｄのいくつかの部分は、図１４ｃのいくつかの部分に共通している。補足情報は、第１のフラグｍｏｎｏｃｈｒｏｍｅ＿ｅｎｔｒｉｅｓ＿ｆｌａｇまたは同等のパラメータを含み、成分数を導出することを可能にする。別の実施形態は、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃおよび／またはｓｅｐａｒａｔｅ＿ｃｏｌｏｕｒ＿ｐｌａｎｅ＿ｆｌａｇ、あるいはそれから引き出された情報を繰り返すことにある。この情報は、ＳＰＳなどの任意のその他のレベルにおいて送信されるものに一致するものであり、この情報から推測される成分数が、ｐｐｓ＿ｓｃｃ＿ｅｘｔｅｎｓｉｏｎｓおよびそのＰＰＳに当てはまる画像の成分数に対応するようにする。本発明の実施形態を使用し、そのビットストリームにおける要件とそれの適合性を、標準の仕様にさらに加えることができる。
【０２８３】
成分数が分かる場合、さらなる情報が得られ得る。具体的には、成分のビット深度が送信され得る。輝度ビット深度と彩度ビット深度を別々に送信することは通常であり、ｌｕｍａ＿ｂｉｔ＿ｄｅｐｔｈ＿ｅｎｔｒｉｅｓ＿ｍｉｎｕｓ８とｃｈｒｏｍａ＿ｂｉｔ＿ｄｅｐｔｈ＿ｅｎｔｒｉｅｓ＿ｍｉｎｕｓ８に当てはまる。確かに、信号は、８以上のビット深度を有するので、８を超える追加のビット数の送信のみが、通常シグナリングされるものである。１つの重要な考慮すべきことは、それらの値が、ＨＥＶＣ仕様書に見られるように、ＰＰＳ、例えばＢｉｔＤｅｐｔｈＹやＢｉｔＤｅｐｔｈＣに当てはまる、画像の実際のビット深度に一致するのが理想的であるということであり、またビットストリームの適合性におけるさらなる要件が考慮され得る。成分数を導出することを可能にする情報を送信したので、ｃｈｒｏｍａ＿ｂｉｔ＿ｄｅｐｔｈ＿ｅｎｔｒｉｅｓ＿ｍｉｎｕｓ８のパーシングが条件付きで行われ得る。
【０２８４】
パレット予測子初期化子を読み取るために必要とされるすべての情報が分かる場合、エントリの読み取りが、前の図１４ａ〜図１４ｃにおいてすでに説明されたように起こり得る。これは、ｍｏｎｏｃｈｒｏｍｅ＿ｅｎｔｒｉｅｓ＿ｆｌａｇまたは同等のシンタックス情報によって条件付けられる。通常の実施形態は、図１４ｄにおいて描写されたように、パレット予測子初期化子エントリごとに、１つまたは３つのいずれか一方の成分を読み取ることにある。
【０２８５】
逆に、ステップ１２２１における取り出されたパレット予測子初期化子は、成分数、およびエントリごとに必要とされる記憶域も含み、したがって、前記初期化子をステップ１２１５における実際のパレット予測子にどのようにコピーするかを明確に決定する。
【０２８６】
ＳＰＳまたはＰＰＳ  ＳＣＣ拡張から初期化子のエントリを抽出するための従来の機構が使用され得る。
【０２８７】
デコーダ側においてパレット予測子を初期化するためのいくつかの方法（図１２）が、エンコーダ側においてパレット予測子初期化子を見つける方法（図１３）およびビットストリームにそれを埋め込む方法（図１４）と同様に、説明された。好適な実施形態では、パレット予測子初期化子は、ＰＰＳに格納され、ブロック構造は、スライスである。
【０２８８】
本発明者による本発明の最初の実験は、符号化において１．８％の利得を示した。しかしながら、符号化パラメータと符号化する画像コンテンツとに応じて、よりよい利得が得られ得る。
【０２８９】
図１５は、ＪＣＴＶＣ−Ｔ１００５において説明されているような標準仕様の範囲でパレット予測子初期化子を明らかにする、または定義するための既存のプロセスを図示する。この実施形態は、ＨＥＶＣ標準およびそのＳＣＣ拡張におけるＰＰＳシンタックス構造の既存の拡張セクションに頼る（ＪＣＴＶＣ−Ｔ１００５文書を参照）。対応する拡張セクション（すなわち、「ｐｐｓ＿ｓｃｃ＿ｅｘｔｅｎｓｉｏｎｓ」）の存在は、フラグｐｐｓ＿ｓｃｃ＿ｅｘｔｅｎｓｉｏｎｓ＿ｆｌａｇによって、ＰＰＳ内に示される。
【０２９０】
拡張セクションは、第一に、元に戻せる所定の色変換を、復号された出力ブロックに適用する、「残差適応型色変換」ツール（これ以降「ＡＣＴ」と呼ばれる）に関係する情報を含む。このツールは、フラグｒｅｓｉｄｕａｌ＿ａｄａｐｔｉｖｅ＿ｃｏｌｏｕｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇを０に設定することによって、ＰＰＳレベルにおいて無効にされ得る。
【０２９１】
ツールが無効ではない場合、追加情報が続く。フラグｐｐｓ＿ｓｌｉｃｅ＿ａｃｔ＿ｑｐ＿ｏｆｆｓｅｔｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、（現在のＰＰＳを使用するスライスについて設定されたものと比較した）量子化器ステップオフセットがあるか否かを示し、この場合、これらのオフセット、ｐｐｓ＿ａｃｔ＿ｙ＿ｑｐ＿ｏｆｆｓｅｔ＿ｐｌｕｓ５、ｐｐｓ＿ａｃｔ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔ＿ｐｌｕｓ５、およびｐｐｓ＿ａｃｔ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔ＿ｐｌｕｓ３が、可変長要素として送信される。
【０２９２】
その後、パレットモードに関係付けられた第１のフラグｐａｌｅｔｔｅ＿ｐｒｅｄｉｃｔｏｒ＿ｉｎｉｔｉａｌｉｚｅｒ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが使用される。このフラグは、パレット予測子初期化子があるか（すなわち、上述のようにＰＰＳ  ＳＣＣ拡張において実際に定義されている）否かを示す。
【０２９３】
パレット予測子初期化子がある場合、この初期化子のエントリに関する情報が送信される。第一に、カラーフォーマット情報である。この情報は、普通、３つの成分または単色フォーマットである。フラグｍｏｎｏｃｈｒｏｍｅ＿ｐａｌｅｔｔｅ＿ｆｌａｇは、フォーマットが、所定の値、例えば１に設定されている場合に、ただ１つしか色成分を含まないかどうかを示す。この値に設定されていない場合、フィーマットは単色ではない。
【０２９４】
その後、第１の（また、それのみの可能性がある）成分のビット深度が、シンタックス要素ｌｕｍａ＿ｂｉｔ＿ｄｅｐｔｈ＿ｅｎｔｒｙ＿ｍｉｎｕｓ８によって、可変ビット数において送信される。いずれの成分のビット深度も８よりも低いことはあり得ないので、前記ビット深度の８との差分のみが送信される必要がある（それにより少ビットを保存する）。その後、エントリが単色ではない場合、彩度に対するビット深度が、シンタックス要素ｃｈｒｏｍａ＿ｂｉｔ＿ｄｅｐｔｈ＿ｅｎｔｒｙ＿ｍｉｎｕｓ８を通して送信される。
【０２９５】
その後、知られているように、パレットエントリが送信され、それらの数が分かり、少なくとも１つである。その値は、可変長シンタックス要素、ｎｕｍ＿ｐａｌｅｔｔｅ＿ｐｒｅｄｉｃｔｏｒ＿ｉｎｉｔｉａｌｉｚｅｒ＿ｍｉｎｕｓ１を通して送信される。値は、パレット予測子初期化子のサイズである。
【０２９６】
次に、パレット予測子初期化子のエントリの値が定義される。ｍｏｎｏｃｈｒｏｍｅ＿ｐａｌｅｔｔｅ＿ｆｌａｇが１の場合、エントリの成分数ｎｕｍＣｏｍｐｓが分かり、１つであり、そうでない場合は３つであることに留意されるべきである。また、それぞれの成分に対するビット数も、それらが、ＳＰＳに含まれているシンタックス要素ｌｕｍａ＿ｂｉｔ＿ｄｅｐｔｈ＿ｅｎｔｒｙ＿ｍｉｎｕｓ８およびｃｈｒｏｍａ＿ｂｉｔ＿ｄｅｐｔｈ＿ｅｎｔｒｙ＿ｍｉｎｕｓ８から引き出され得るので、分かる。
【０２９７】
提案されたシンタックスは、冗長であり、誤りの元でさえあり得る。相反する構成を認可するまで、現在のシンタックスは、十分には効率的ではない。
【０２９８】
以下に提案されるように、ＰＰＳ拡張における情報は、パレットモードの使用に関して改善され得る。図１６は、このような改善の例を図示する。
【０２９９】
実施形態によれば、ここでは「ｍｏｎｏｃｈｒｏｍｅ＿ｆｌａｇ」と呼ばれるフラグのようなパラメータが、パレットまたはＡＣＴツール情報のいずれか一方が送信される前に送られる。言い換えれば、提案された「ｍｏｎｏｃｈｒｏｍｅ＿ｆｌａｇ」がＰＰＳレベルで定義される。変形形態として、ｍｏｎｏｃｈｒｏｍｅ＿ｆｌａｇはシーケンスレベルで定義され得る。ｍｏｎｏｃｈｒｏｍｅ＿ｆｌａｇが、所定の値、例えば「１」に設定される場合、パレット予測子初期化子を考慮して、パレットエントリは、単色フォーマット用に直接、調整される（言い換えれば、パレット予測子初期化子がエントリごとにただ１つしか要素を含まないことを考慮し、パレット予測子初期化子を定義するためのステップが改められる）。エントリ数を適合させるためにカラーフォーマットをシグナリングする際、パレット予測子初期化子に特有のパラメータの必要がなくなる。その態様の１つによる本発明は、より高いレベルのピクチャ（または画像）レベルで定義されたパラメータを使用することを提案する。
【０３００】
好適な実施形態において、「ｍｏｎｏｃｈｒｏｍｅ＿ｆｌａｇ」が１に設定される場合、ＡＣＴツールが役に立たなくなることを考慮して、このＡＣＴツールが無効にされる（言い換えれば、「ｒｅｓｉｄｕａｌ＿ａｄａｐｔｉｖｅ＿ｃｏｕｌｏｕｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇ」の値を読み取るステップが飛ばされ、ＡＣＴツールを無効にする）。その場合、フラグｒｅｓｉｄｕａｌ＿ａｄａｐｔｉｖｅ＿ｃｏｌｏｕｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、０であると推測される。反対に、ｍｏｎｏｃｈｒｏｍｅ＿ｆｌａｇの値が０である場合、ＡＣＴツールは有効にされてもされなくてもよく、したがって、その対応するフラグが送信される。同様に、パレットエントリの成分数ｎｕｍＣｏｍｐｓは、３である。
【０３０１】
別の実施形態によれば、ｍｏｎｏｃｈｒｏｍｅ＿ｆｌａｇが、１回に１つのモードのみ、好ましくはパレットモードのみに影響を与えるように、より単純なシンタックスが提案される。このような例は、パレットモードが、別の手段によって無効にされているのが分かる場合であるだろう。
【０３０２】
このような実施形態の例が図１７に図示される。その場合、図１０に提示されたフラグｍｏｎｏｃｈｒｏｍｅ＿ｐａｌｅｔｔｅ＿ｆｌａｇを読み取る前に、条件（例えば１つの条件）が導入される。ＡＣＴツールが有効である場合（その対応するフラグｒｅｓｉｄｕａｌ＿ａｄａｐｔｉｖｅ＿ｃｏｌｏｕｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値によって示されるように）、画素のカラーフォーマットが、単色ではなく、３つの色成分があるとして導出される。フラグｍｏｎｏｃｈｒｏｍｅ＿ｐａｌｅｔｔｅ＿ｆｌａｇの値は、「０」であると直接に推測され得る。逆に、ＡＣＴツールが無効である場合、フォーマットは単色であることも、またはそうでないこともある。
【０３０３】
別の実施形態では、デコーダロジックを修正しないために、デコーダ専用の制約が提案される。以下の２つの条件が満たされる必要がある。ｒｅｓｉｄｕａｌ＿ａｄａｐｔｉｖｅ＿ｃｏｌｏｕｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１の場合、ｍｏｎｏｃｈｒｏｍｅ＿ｐａｌｅｔｔｅ＿ｆｌａｇは、０である必要がある。また、ｍｏｎｏｃｈｒｏｍｅ＿ｐａｌｅｔｔｅ＿ｆｌａｇが１である場合、ｒｅｓｉｄｕａｌ＿ａｄａｐｔｉｖｅ＿ｃｏｌｏｕｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇは０である必要がある。
【０３０４】
別の実施形態において、エントリの成分数から実際の画素フォーマットの相関を失わせることが提案される。前の実施形態では、パレット予測子初期化子は、画素フォーマットに従って、異なる成分数を有するエントリを有するように設定される。この実施形態では、同じパレット予測子初期化子が、単色データおよびＲＧＢまたはＹＵＶデータといっしょに使用されることが可能であり得る。結果として、パレット予測子もパレット予測子初期化子も、カラーフォーマットに応じて、１〜３つの要素を有するエントリを有し得る。エントリごとの要素数は、パレット予測子およびパレット予測子初期化子により異なる可能性がある。このような場合、パレット予測子をパレット予測子初期化子を用いて初期化する際、様々なルールが適用され得る。例えば、１つの成分から３つの成分に移る際、パレット予測子エントリｐｒｅｄｉｃｔｏｒ［ｉ］が、初期設定のグレースケール値または既存のパレット予測子初期化子エントリを用いて初期化される。例えば、
−ＲＧＢでは、ｐｒｅｄｉｃｔｏｒ［ｉ］［２］、ｐｒｅｄｉｃｔｏｒ［ｉ］［１］、およびｐｒｅｄｉｃｔｏｒ［ｉ］［０］が、ｐａｌｅｔｔｅ＿ｐｒｅｄｉｃｔｏｒ＿ｉｎｉｔｉａｌｉｚｅｒｓ［ｉ］［０］に等しく設定され、
−ＹＵＶでは、ｐｒｅｄｉｃｔｏｒ［ｉ］［０］が、ｐａｌｅｔｔｅ＿ｐｒｅｄｉｃｔｏｒ＿ｉｎｉｔｉａｌｉｚｅｒｓ［ｉ］［０］に等しく設定され、ｐｒｅｄｉｃｔｏｒ［ｉ］［２］、およびｐｒｅｄｉｃｔｏｒ［ｉ］［１］が、成分の特定値に等しく設定される（すなわち、その値が０〜２５５である成分に対して０、１２８または２５５）。
【０３０５】
可能性としてのその他の変形形態、すなわち、３つから１つの成分に移る場合、インデックスｃｏｍｐの成分に対する所与の色平面を符号化する場合（例えば、ＹＵＶフォーマットが考えられる場合はＵ）、ｐｒｅｄｉｃｔｏｒ［ｉ］が、ｐａｌｅｔｔｅ＿ｐｒｅｄｉｃｔｏｒ＿ｉｎｉｔｉａｌｉｚｅｒｓ［ｉ］［ｃｏｍｐ］に設定される。ＰＰＳ  ＳＣＣ拡張から初期化子のエントリを抽出するための従来の機構が使用され得る。パレットモードと、デコーダ側におけるその他の既存のツールとの間の冗長性を取り除く単純化シンタックスを定義するためのいくつかの方法が説明された。
【０３０６】
図１８は、本発明の１つまたは複数の実施形態の実施用のコンピューティングデバイス１８００の概略ブロック図である。コンピューティングデバイス１８００は、マイクロコンピュータ、ワークステーションまたは軽量ポータブルデバイスなどのデバイスであり得る。コンピューティングデバイス１８００は、以下に接続された通信バスを備える：
−マイクロプロセッサなどの、ＣＰＵと表示された中央処理装置１８０１、
−本発明の実施形態による、画像を符号化または復号するための方法を実施するのに必要な変数およびパラメータを記録するように適合されたレジスタだけではなく、本発明の実施形態の方法の実行可能コードも格納するための、ＲＡＭと表示されたランダムアクセスメモリ１８０２であって、それのメモリ容量が、例えば拡張ポートに接続された任意選択のＲＡＭによって拡張され得る、ランダムアクセスメモリ１８０２、
−本発明の実施形態を実施するためのコンピュータプログラムを格納するための、ＲＯＭと表示された、読み取り専用メモリ１８０３、
−ネットワークインターフェース１８０４は、通常、それを介して処理されるデジタルデータが送信または受信される、通信ネットワークに接続される。ネットワークインターフェース１８０４は、１つのネットワークインターフェースであり得るか、または１組の異なるネットワークインターフェース（例えば、有線および無線インターフェース、またはいろいろな種類の有線もしくは無線インターフェース）から成り得る。データパケットは、ＣＰＵ１８０１において実行されるソフトウェアアプリケーションの制御下で、送信の際にネットワークインターフェースに書き込まれるか、または受信の際にネットワークインターフェースから読み取られる。
−ユーザインターフェース１８０５は、ユーザからの入力を受信するために、またはユーザに情報を表示するために使用され得る。
−ＨＤと表示されたハードディスク１８０６は、大容量記憶デバイスとして提供され得る。
−Ｉ／Ｏモジュール１８０７は、映像ソースまたは表示装置などの外部デバイスから／へデータを受信／送信するために使用され得る。
【０３０７】
実行可能コードは、ハードディクス１８０６上の読み取り専用メモリ１８０３または例えばディスクなどの取り外し可能なデジタル媒体のいずれか一方に格納され得る。変形形態によれば、プログラムの実行可能コードは、実行される前にハードディスク１８０６などの通信デバイス１８００の記憶手段のうちの１つに格納されるように、ネットワークインターフェース１８０４を介して、通信ネットワークを用いて受信され得る。
【０３０８】
中央処理装置１８０１は、命令が前述の記憶手段のうちの１つに格納される、本発明の実施形態による、１つまたは複数のプログラムのソフトウェアコードの命令または部分の実行を制御し、指示するように適合される。電源投入後、ＣＰＵ１８０１は、それらの命令が、例えばプログラムＲＯＭ１８０３またはハードディスク（ＨＤ：Ｈａｒｄ−Ｄｉｓｋ）１８０６から読み込まれた後、ソフトウェアアプリケーションに関係するメインＲＡＭメモリ１８０２からの命令を実行することができる。このようなソフトウェアアプリケーションは、ＣＰＵ１８０１によって実行されると、図１３、図１４、図１６および図１７に示されたフローチャートのステップを行わせる。
【０３０９】
図１３、図１４、図１６および図１７に示されたアルゴリズムのいずれのステップも、ＰＣ（「Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ（パーソナルコンピュータ）」）、ＤＳＰ（「Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ（デジタルシグナルプロセッサ）」）またはマイクロコントローラなどの、プログラマブル計算機によって１組の命令またはプログラムの実行によって、ソフトウェアにおいて実施され得るか、あるいは、ＦＰＧＡ（「Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（フィールドプログラマブルゲートアレイ）」）またはＡＳＩＣ（「Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（特定用途向け集積回路）」）などの機械または専用構成要素によって、ハードウェアにおいて実施され得る。
【０３１０】
本発明は、特定の実施形態に関連して本明細書の上記に説明されたが、本発明は、特定の実施形態に限定されず、本発明の範囲内にある修正形態が、当業者には明らかになるであろう。
【０３１１】
あくまでも例として与えられ、また添付の特許請求の範囲のみによって決定される本発明の範囲を限定するものではない、上記の説明的な実施形態を参照した時点で、さらに多くの修正形態や変形形態が、当業者には想起されるであろう。具体的には、種々の実施形態からの種々の特徴は、適切な場合、交換可能であり得る。
【０３１２】
特許請求の範囲において、「ｃｏｍｐｒｉｓｉｎｇ（含む）」の語は、その他の要素またはステップを除外するものではなく、不定冠詞「ａ」または「ａｎ」は、複数を除外するものではない。種々の特徴が、相互に異なる従属項に列挙されているというだけで、これらの特徴の組合せが有利に使用され得ないことを示すことにはならない。
【図１】
0006461355.tif 000002
【図２】
0006461355.tif 000003
【図３】
0006461355.tif 000004
【図４】
0006461355.tif 000005
【図５】
0006461355.tif 000006
【図６】
0006461355.tif 000007
【図７】
0006461355.tif 000008
【図８】
0006461355.tif 000009
【図９】
0006461355.tif 000010
【図１０】
0006461355.tif 000011
【図１１】
0006461355.tif 000012
【図１２Ａ】
0006461355.tif 000013
【図１２Ｂ】
0006461355.tif 000014
【図１３Ａ】
0006461355.tif 000015
【図１３Ｂ】
0006461355.tif 000016
【図１４Ａ】
0006461355.tif 000017
【図１４Ｂ】
0006461355.tif 000018
【図１４Ｃ】
0006461355.tif 000019
【図１４Ｄ】
0006461355.tif 000020
【図１５】
0006461355.tif 000021
【図１６】
0006461355.tif 000022
【図１７】
0006461355.tif 000023
【図１８】
0006461355.tif 000024