(57)【特許請求の範囲】
【請求項１】
符号化の方法であって、
画面コンテンツを含むビデオフレームを受信するステップと、
前記ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックを生成するステップであって、前記ブロックはインデックス値列を含む、前記ステップと、
プロセッサが、第1のインデックス値列内の1つまたは複数の連続したインデックス値を、単一のエスケープ・カラー・インデックス値と、前記連続したエスケープ・カラー・インデックス値のうちのいくつが符号化されているかを特定するラン値とを用いて符号化するステップと、
前記連続したインデックス値のうちの2つ以上を含む第2のインデックス値列を、前記第1のインデックス値列内のエスケープカラーの少なくともいくつかと前記第2のインデックス値列内のエスケープカラーの少なくともいくつかとが互いに異なるにもかかわらず、前記第1のインデックス値列から前記単一のエスケープ・カラー・インデックス値を複写することによって符号化するステップと、
前記プロセッサが、前記ブロックのすべての前記インデックス値列が符号化された後で、前記1つまたは複数の連続したインデックス値に対応するエスケープカラーを順次に符号化するステップと、
前記プロセッサに動作可能に結合された送信機が、前記インデックス値列およびエスケープカラーをビットストリームで復号装置へ送信するステップと、
を含む、方法。
【請求項２】
COPY＿INDEX＿MODEを用いて前記1つまたは複数の連続したインデックス値および前記ラン値を符号化する、請求項1に記載の方法。
【請求項３】
前記エスケープカラーのうちの少なくとも2つが互いに異なる、請求項1または2に記載の方法。
【請求項４】
COPY＿ABOVE＿MODEを用いて前記第1のインデックス値列から前記単一のエスケープ・カラー・インデックス値を複写する、請求項3に記載の方法。
【請求項５】
前記第2のインデックス値列は前記第1のインデックス値列の真下にある、請求項1に記載の方法。
【請求項６】
前記画面コンテンツはテキストおよびコンピュータ・グラフィック・コンテンツのうちの1つである、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記画面コンテンツはいかなるカメラ撮影ビデオも含まない、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記第1のインデックス値列は前記ブロック内の最上列である、請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記インデックス値列内の各インデックス値は色の数値表現である、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記符号化するステップおよび前記順次に符号化するステップは可逆的符号化である、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
符号化の方法であって、
画面コンテンツを含むビデオフレームを受信するステップと、
前記ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックを生成するステップであって、前記ブロックはインデックス値列を含む、前記ステップと、
プロセッサが、エスケープ・カラー・インデックス値を含む第1のインデックス値列を符号化するステップと、
前記プロセッサが、前記第1のインデックス値列から前記エスケープ・カラー・インデックス値を複写することによって前記エスケープ・カラー・インデックス値を含む第2のインデックス値列を符号化するステップであって、前記エスケープ・カラー・インデックス値は、前記第1のインデックス値列の前記エスケープ・カラー・インデックス値が第1のエスケープカラーを表し、前記第2のインデックス値列のエスケープ・カラー・インデックス値が前記第1のエスケープカラーとは異なる第2のエスケープカラーを表すにもかかわらず、前記第1のインデックス値列から複写される、前記ステップと、
前記プロセッサが、前記ブロックのすべての前記インデックス値列が符号化された後で、前記第1のインデックス値列内および前記第2のインデックス値列内の前記エスケープ・カラー・インデックス値に対応するエスケープカラーを順次に符号化するステップと、
前記プロセッサに動作可能に結合された送信機が、前記インデックス値列および前記エスケープカラーをビットストリームで復号装置へ送信するステップと、
を含む、方法。
【請求項１２】
前記第1の列の前記エスケープ・カラー・インデックス値に対応する前記エスケープカラーは前記第2の列の前記エスケープ・カラー・インデックス値に対応する前記エスケープカラーと異なる、請求項11に記載の方法。
【請求項１３】
COPY＿ABOVE＿MODEを用いて前記第1のインデックス値列から前記エスケープ・カラー・インデックス値を複写する、請求項11または12に記載の方法。
【請求項１４】
前記第1の列内の前記エスケープ・カラー・インデックス値は複数の連続したエスケープ・カラー・インデックス値のうちの1つであり、前記第2の列内の前記エスケープ・カラー・インデックス値は複数の連続したエスケープ・カラー・インデックス値のうちの1つである、請求項11または12に記載の方法。
【請求項１５】
前記インデックス値列は画面コンテンツを表し、前記画面コンテンツは非カメラ撮影画像からなる、請求項11または12に記載の方法。
【請求項１６】
プロセッサであって、
画面コンテンツを含むビデオフレームを受信し、
前記ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックであって、同じエスケープ・カラー・インデックス値を共有するインデックス値列を含み、前記エスケープ・カラー・インデックス値はエスケープカラーを表す前記ブロックを生成し、
前記ブロック内の前記インデックス値列の各々を符号化し、
前記ブロック内の前記インデックス値列の各々が符号化された後で前記エスケープカラーを順次に符号化する
ように構成された、前記プロセッサと、
前記プロセッサに動作可能に結合され、前記インデックス値列および前記エスケープカラーをビットストリームで復号装置へ送信するように構成された送信機と、
を含み、
第1のインデックス値列内のエスケープカラーの少なくともいくつかと第2のインデックス値列内のエスケープカラーの少なくともいくつかとが互いに異なるにもかかわらず、第2のインデックス値列からの前記エスケープ・カラー・インデックス値は第1のインデックス値列からの前記エスケープ・カラー・インデックス値の完全な複写である、符号化装置。
【請求項１７】
1つのインデックス値列内の前記エスケープカラーは連続している、請求項16に記載の符号化装置。
【請求項１８】
復号の方法であって、
デコーダを用いて、ブロック内のインデックス値列をスキャンするステップであって、1つまたは複数の前記インデックス値列が同じエスケープ・カラー・インデックス値を含み、前記エスケープ・カラー・インデックス値はエスケープカラーを表す、前記ステップと、
前記デコーダを用いて、前記1つまたは複数のインデックス値列内の前記同じエスケープ・カラー・インデックス値の各々に対応する前記エスケープカラーを決定するために、前記ブロック内の前記インデックス値列の後に符号化された前記エスケープカラーを順次にスキャンするステップと、
を含み、
前記ブロック内の第1の列内のエスケープカラーの少なくともいくつかと前記ブロック内の第2の列内のエスケープカラーの少なくともいくつかとが互いに異なるにもかかわらず、前記ブロック内の第2の列からの前記エスケープ・カラー・インデックス値は前記ブロック内の第1の列からの前記エスケープ・カラー・インデックス値の完全な複写である、方法。
【請求項１９】
前記デコーダが、エンコーダによって送信されたビットストリームで前記ブロックを受信するステップ、
をさらに含む、請求項18に記載の方法。
【請求項２０】
前記インデックス値列および前記インデックス値列の後に順次に符号化された前記エスケープカラーを決定するためにビットストリームを構文解析するステップ、
をさらに含む、請求項19に記載の方法。
【請求項２１】
前記インデックス値列のうちの少なくとも1つが、単一のエスケープ・カラー・インデックス値を用いた複数の連続したインデックス値を含む、請求項18から20のいずれか一項に記載の方法。
【請求項２２】
ブロック内のインデックス値列を含むビットストリームを受信するように構成された受信機であって、1つまたは複数の前記インデックス値列が同じエスケープ・カラー・インデックス値を含み、前記エスケープ・カラー・インデックス値はエスケープカラーを表す、前記受信機と、
前記受信機に動作可能に結合され、前記ブロック内の前記インデックス値列の各々が復号された後で前記エスケープカラーを順次に復号するように構成された、プロセッサと、
を含み、
前記ブロック内の第1の列内のエスケープカラーの少なくともいくつかと前記ブロック内の第2の列内のエスケープカラーの少なくともいくつかとが互いに異なるにもかかわらず、前記第2の列からの前記エスケープ・カラー・インデックス値は前記第1の列からの前記エスケープ・カラー・インデックス値の完全な複写である、復号装置。
【請求項２３】
1つまたは複数の前記インデックス値列内の前記エスケープ・カラー・インデックス値は同じ数値である、請求項22に記載の復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高効率ビデオ符号化（HEVC）画面コンテンツ符号化（SCC）における改善されたパレットモードに関する。
【背景技術】
【０００２】
比較的短いフィルムでさえもその描写に必要なビデオデータ量は相当なものになり、そのため、限られた帯域幅の容量を有する通信ネットワークを介してデータをストリーミングし、または他の方法で伝達するときに問題を生じる場合がある。よって、ビデオデータは一般に、今日の通信ネットワークを介して通信される前に圧縮される。多くの場合、送信前に送信元でビデオ圧縮装置によりソフトウェアおよび／またはハードウェアを用いてビデオデータを符号化し、それによってデジタルビデオ画像を表現するのに必要なデータ量が減る。圧縮されたデータは次いで、送信先でビデオデータを復号するビデオ圧縮解除装置によって受信される。ネットワークリソースが限られており、高ビデオ画質がますます要求されているため、ビットレートを増加させることなく画質を向上させる改善された圧縮および圧縮解除技術が求められている。
【発明の概要】
【課題を解決するための手段】
【０００３】
一実施形態において、本開示は、符号化の方法を含み、本方法は、画面コンテンツを含むビデオフレームを受信するステップと、ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックを生成するステップであって、ブロックはインデックス値列を含む、ステップと、プロセッサが、第1のインデックス値列内の1つまたは複数の連続したインデックス値を、単一のエスケープ・カラー・インデックス値と、連続したエスケープ・カラー・インデックス値のうちのいくつが符号化されているかを特定するラン値とを用いて符号化するステップと、プロセッサが、ブロックのすべてのインデックス値列が符号化された後で、2つ以上の連続したインデックス値に対応するエスケープカラーを順次に符号化するステップと、プロセッサに動作可能に結合された送信機が、インデックス値列およびエスケープカラーをビットストリームで復号装置へ送信するステップと、を含む。
【０００４】
別の実施形態において、本開示は、符号化の方法を含み、本方法は、画面コンテンツを含むビデオフレームを受信するステップと、ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックを生成するステップであって、ブロックはインデックス値列を含む、ステップと、プロセッサが、エスケープ・カラー・インデックス値を含む第1のインデックス値列を符号化するステップと、プロセッサが、第1のインデックス値列からエスケープ・カラー・インデックス値を複写することによってエスケープ・カラー・インデックス値を含む第2のインデックス値列を符号化するステップと、プロセッサが、ブロックのすべてのインデックス値列が符号化された後で、第1のインデックス値列内および第2のインデックス値列内のエスケープ・カラー・インデックス値に対応するエスケープカラーを順次に符号化するステップと、プロセッサに動作可能に結合された送信機が、インデックス値列およびエスケープカラーをビットストリームで復号装置へ送信するステップと、を含む。
【０００５】
別の実施形態において、本開示は、符号化装置を含み、本装置は、プロセッサであって、画面コンテンツを含むビデオフレームを受信し、ビデオフレーム内の画面コンテンツの色のインデックスマップを含むブロックであって、同じエスケープ・カラー・インデックス値を共有するインデックス値列を含み、エスケープ・カラー・インデックス値はエスケープカラーを表すブロックを生成し、ブロック内のインデックス値列の各々を符号化し、ブロック内のインデックス値列の各々が符号化された後でエスケープカラーを順次に符号化するように構成された、プロセッサと、プロセッサに動作可能に結合され、インデックス値列およびエスケープカラーをビットストリームで復号装置へ送信するように構成された送信機と、を含む。
【０００６】
上記その他の特徴は、以下の詳細な説明を添付の図面および特許請求の範囲と併せて読めばより明確に理解されるであろう。
【０００７】
本開示をより十分に理解するために、次に、添付の図面および詳細な説明と関連して理解される以下の簡単な説明を参照する。添付の図面および詳細な説明において、類似の参照番号は類似の部分を表す。
【図面の簡単な説明】
【０００８】
【図１】パレットモードを用いたインデックスマップ符号化の説明に用いられるブロック内のインデックス・マップ・カラーの図である。
【図２Ａ】簡略化されたコンテキストモデルを用いた符号化の方法の一実施形態の流れ図である。
【図２Ｂ】簡略化されたコンテキストモデルを用いた符号化の方法の一実施形態の流れ図である。
【図２Ｃ】簡略化されたコンテキストモデルを用いた符号化の方法の一実施形態の流れ図である。
【図３】グループ化インデック符号化方式の一実施形態の図である。
【図４】大規模並列処理の一実施形態の図である。
【図５】ビデオエンコーダの一実施形態の概略図である。
【図６】ビデオデコーダの一実施形態の概略図である。
【図７】エンコーダとデコーダとを含むことができるネットワークユニットの一実施形態の概略図である。
【図８】典型的な汎用ネットワークコンポーネントまたはコンピュータシステムの概略図である。
【発明を実施するための形態】
【０００９】
以下に1つまたは複数の実施形態の例示的実施態様を示すが、開示のシステムおよび／または方法は、現在公知であるかどうか、または実在するかどうかにかかわらず、いくつもの技法を用いて実現できることをはじめに理解すべきである。本開示は、いかなる点においても、本明細書で例示し、説明する例示的設計および実施態様を含む、以下に示す例示的実施態様、図面、および技法だけに限定すべきではなく、添付の特許請求の範囲およびその均等物の全範囲内で改変され得る。
【００１０】
通常、ビデオメディアは、静止画像またはフレームのシーケンスを比較的速く連続して表示し、それによって視聴者に動きを知覚させる。各フレームは、複数の画像要素すなわち画素を含むことができ、各画素はフレーム内の単一の基準点を表すことができる。デジタル処理時には、各画素に、対応する基準点における輝度やクロミナンスといった画像の品質または特性を表す整数値（例えば、0、1、…255）を割り当てることができる。使用時に、画像またはビデオフレームは、大量の画素（例えば、1920×1080フレームで2，073，600画素）を含む場合がある。よって、各画素を独立して符号化し、復号すること（以下、単に符号化と呼ぶ）は面倒で非効率的になる可能性がある。符号化効率を向上させるために、ビデオフレームは、通常、複数の矩形ブロックまたはマクロブロックに分割され、各ブロックを、予測、変換、量子化といった処理の基本単位として用いることができる。例えば、典型的なN×NのブロックはN2個の画素を含むことができ、Nは1より大きい整数であり、多くの場合4の倍数である。
【００１１】
国際電気通信連合（ITU）の電気通信標準化部門（ITU−T）および国際標準化機構（ISO）／国際電気標準会議（IEC）では、高性能ビデオ符号化（High Efficiency Video Coding（HEVC））のための新しいブロック概念を導入した。例えば、符号化単位（coding unit（CU））は、ビデオフレームを等サイズまたは可変サイズの矩形ブロックへの細分割を指す場合がある。HEVCでは、CUで以前の規格のマクロブロック構造を置き換えることができる。インター予測またはイントラ予測のモードに応じて、CUは1つまたは複数の予測単位（prediction unit（PU））を含むことができ、各PUを予測の基本単位として用いることができる。例えば、イントラ予測では、8×8のCUが4つの4×4のPUに対称に分割され得る。別の例として、インター予測では、64×64のCUが、16×64のPUと48×64のPUとに非対称に分割される。同様に、PUは1つまたは複数の変換ユニット（transform unit（TU））を含むことができ、各TUを変換および／または量子化の基本単位として用いることができる。例えば、32×32のPUは4つの16×16のTUに対称に分割され得る。1つのPUの複数のTUは同じ予測モードを共有できるが、別々に変換されてよい。本明細書では、ブロックという用語は、一般に、マクロブロック、CU、PU、またはTUのいずれかを指す。
【００１２】
用途に応じて、ブロックは、可逆モード（例えばひずみ損失も情報損失なし）または不可逆モード（例えばひずみあり）のいずれかで符号化することができる。使用時には、可逆モードを用いて（例えば、4：4：4のYUVサブサンプリングによる）高画質ビデオを符号化することもでき、不可逆モードを用いて（例えば、4：2：0のYUVサブサンプリングによる）低画質ビデオを符号化することもできる。本明細書で用いる場合、YUVのY成分は色の明るさ（輝度またはルーマ）を指し、U成分およびV成分は色自体（クロマ）を指す。場合によっては、（例えば、4：4：4または4：2：0のどちらかのYUVサブサンプリングによる）単一のビデオフレームまたはスライスで、可逆モードと不可逆モードの両方を用いて複数の領域を符号化してもよく、それらの領域は長方形または不規則な形状とすることができる。各領域は複数のブロックを含むことができる。例えば、複合ビデオは、テキストおよびコンピュータ・グラフィック・コンテンツ（例えば非カメラ撮影画像）や自然画像コンテンツ（例えばカメラ撮影ビデオ）など、異なる種類のコンテンツの組み合わせを含むことができる。複合フレームでは、テキストおよびグラフィックスの領域は可逆モードで符号化されることができ、自然画像コンテンツの領域は不可逆モードで符号化されることができる。テキストおよびグラフィックスの可逆的符号化は、例えばコンピュータ画面共有アプリケーションなどにおいて望ましい。というのは、不可逆的符号化はテキストおよびグラフィックの品質または忠実度の低下をもたらす可能性があり、眼精疲労の原因となり得るからである。
【００１３】
半導体、ネットワーキング、通信、ディスプレイ、コンピュータ、およびタブレットやスマートフォンといった機器が急速に、絶えず進歩しているため、多くのアプリケーションで、非カメラ撮影ビデオコンテンツを高い視覚品質で効率よく圧縮できるHEVCベースの圧縮／符号化ソリューションが求められている。この非カメラ撮影ビデオコンテンツを、本明細書では画面コンテンツと呼ぶことができ、これには、コンピュータで生成されたグラフィックス、ウィンドウの切り替えや移動、テキストスクロールなどといったアプリケーションで一般に見られる典型的な動きを伴うテキストが含まれ得る。多くの場合、非カメラ撮影ビデオコンテンツは、明瞭なテクスチャおよびシャープなエッジを高コントラスで異なる色を用いて提供し、4：4：4のカラー・サンプリング・フォーマットを有し得る。
【００１４】
現在のHEVC画面コンテンツ符号化は、コンピュータ画面をより効率よく表現するためにパレットモードを導入している。パレットモードについては、この参照により本明細書に組み入れられる、R．Joshi and J．Xu，Working Draft 2 of HEVC Screen Content Coding，MPEG−N14969／JCTVC−S1005，Strasbourg，FR，October 2014（HEVC SCC）に記載されている。パレットモードは、Screen Content Coding Test Model（SCM）2．0の参照ソフトウェアでも利用されている。
【００１５】
現在のHEVCフレームワーク内でパレットモードによって提供される効率性にもかかわらず、改良の余地はまだある。本明細書で開示するのはビデオ符号化の改善のためのシステムおよび方法である。本開示は、簡略化されたエントロピー（例えば可逆的）符号化方式を提供する。全体の複雑さを低減するために、この符号化方式ではエスケープ値をインデックスマップ処理の終わりに符号化する。そうすることにより、この符号化方式では、例えば、インデックスマップがエスケープカラーに対応するインデックス値を含んでいたとしてもCOPY＿ABOVE＿MODEを用いるときのインデックス一致の数が増加する。加えて、この符号化方式では、エスケープ値とインデックスのその他の構文の符号化がインターリーブされるためにインデックスマップの並列処理をサポートしないHEVC SCCの現在のソリューションとは対照的に、インデックスマップとエスケープカラーの並列処理が可能になる。さらに、この符号化方式は、インデックスマップ符号化の設計を簡素化し、性能を犠牲にせずにスループットを向上させ、符号化の記述および実装をより容易にする。
【００１６】
画面生成コンテンツ符号化に特に適し得るパレットベースの符号化では、ビデオコーダ（例えばビデオエンコーダやビデオデコーダ）が、所与のブロックのビデオデータを表す色の「パレット」を形成する。パレットは、所与のブロック内で最も優勢な（例えば頻繁に用いられる）色を含むことができる。所与のブロックのビデオデータでたまに表現され、またはまれにしか表現されない色はパレットに含まれない。パレットに含まれていない色をエスケープカラーと呼ぶ。
【００１７】
所与のブロックに対応するインデックスマップがパレットモード符号化時に符号化されるときに、パレットに含まれる各色にインデックス値が割り当てられる。例えば、白色および黒色がパレットに含まれている場合、白色はインデックス値0を有し得、黒色はインデックス値1を有し得る。加えて、パレットに含まれていない各色には、例えば、単一の、または共通のインデックス値が割り当てられる。例えば、青色、緑色、および赤色がパレットに含まれていない場合、これらの色はすべてインデックス値3を有することになる。パレットに含まれていない色のインデックス値を、エスケープ・カラー・インデックス値と呼ぶことができる。
【００１８】
現在のHEVC SCC草案は、ランベースの1次元（1−D）ストリング複写を利用する。それでも、本参照により本明細書に組み入れられる、W．Wang，Z．Ma，M．Xu，H．Yu，“Non−CE6：2−D INDEX Map Coding of Palette Mode in HEVC SCC，”JCTVC−S0151，Strasbourg，FR，October 2014、および2014年10月に出願された、「Palette Mode in HEVC SCC」という名称の米国仮特許出願第62／060，450号には、2次元（2−D）ストリング複写法が提案されている。本明細書では簡潔にするために十分に説明されていないが、当業者であれば、2−Dストリング複写法は、状況によっては、デフォルトでランベースの1−Dストリング複写法になり得ることを理解するであろう。
【００１９】
1−Dストリング法を用いてパレットモードでインデックスモード符号化を行う場合、CUごとに2つの主要部分が含まれる。これら2つの部分は、カラーテーブル処理およびインデックスマップ符号化である。例えば、1−Dストリング法のインデックスマップ符号化はCOPY＿ABOVEモードを利用することができ、COPY＿ABOVE＿MODEは、現在の列が現在の列の真上の列からのインデックスと同一であるかどうか指示するために適用される。
【００２０】
図1に、パレットモードを用いたインデックスマップ符号化の例を示すのに用いられるインデックス・マップ・カラーの8×8ブロック100を示す。図示のように、ブロック100の最上列102は（左から右へ）インデックス値1、1、1、1、2、2、2、2を有し、最上列102の真下の列104はインデックス値1、1、1、1、1、1、1、1を有し、ブロック100の次の列106はインデックス値1、1、1、1、1、1、1、1を有し、ブロック100の次の列108はインデックス値1、1、3（3は青を表す）、2、2、2、2、2を有し、ブロック100の次の列110はインデックス値1、1、3（3は緑を表す）、2、2、2、2、2を有し、ブロック100の次の列112はインデックス値1、1、3（3は赤を表す）、2、2、2、2、2を有し、ブロック100の次の列114はインデックス値2、2、2、2、2、2、2、2を有し、ブロック100の最下列116はインデックス値2、2、2、2、2、2、2、2を有する。最初の列102をビットストリームにおいて符号化するには、palette＿run＿typeフラグ（例えば、1ビットのpalette＿run＿type＿flag）、インデックス値、およびラン値が用いられる。
【００２１】
palette＿run＿typeフラグは、現在の列の上にある列のインデックス値が複写されているかどうかを示す。上の列の一部分が複写されている場合、palette＿run＿typeフラグは、COPY＿ABOVE＿MODEを表す第1の2進数（例えば1）に設定される。上の列が複写されていない場合、palette＿run＿typeフラグは、COPY＿INDEX＿MODEを表す第2の2進数（例えば0）に設定される。最上列102を符号化するときには、最上列102の上には列が配置されていないので、palette＿run＿typeフラグはデフォルトで0に設定される。インデックス値は、ブロック100において列内で表される特定の数値（例えば1や2）である。ラン値は、連続したインデックス値をいくつ複写できるかである。例えば、ラン値が1に設定されている場合には、1つのインデックス値が複写され、ラン値が2に設定されている場合には、2つの連続したインデックス値が複写され、ラン値が3に設定されている場合には、3つの連続したインデックス値が複写され、以下同様である。そのため、インデックス値1、1、1、1、2、2、2、2を有する最上列102を符号化するには、以下の構文が用いられる：palette＿run＿type＿flag＝0、インデックス値＝1、ラン値＝4、palette＿run＿type＿flag＝0、インデックス値＝2、ラン値＝4。
【００２２】
インデックス値1、1、1、1、1、1、1、1を有する次の列104を符号化するには、以下の構文を用いることができる：palette＿run＿type＿flag＝1、ラン値＝4、palette＿run＿type＿flag＝0、インデックス値＝1、ラン値＝4。あるいは、次の構文を用いてもよい：palette＿run＿type＿flag＝0、ラン値＝8。インデックス値1、1、1、1、1、1、1、1を有する次の列106を符号化するには、以下の構文を用いる：palette＿run＿type＿flag＝1、ラン値＝8。符号化に用いられる特定の構文は、例えば、レートひずみ最適化モジュールや他の適切なエンコーダ構成要素によって決定されてよい。レートひずみ最適化モジュールは、例えば、どの構文が最も効率よく符号化するかに基づいて特定の構文を選択することができる。一例として、列104および列106内のすべてのインデックスを、palette＿run＿type＿flag＝0、インデックス値＝1、ラン＝16として符号化してもよい。
【００２３】
次のストリング108はインデックス値1、1、3、3、2、2、2、2を有し、3はエスケープカラー青またはエスケープカラー緑に対応するエスケープ・カラー・インデックス値である。既存の従来の符号化方式を用いると、次の列108を符号化するのに以下の構文が用いられる：palette＿run＿type＿flag＝1、ラン値＝2、palette＿run＿type＿flag＝0、インデックス値＝3、エスケープカラー＝青、palette＿run＿type＿flag＝0、インデックス値＝3、エスケープカラー＝緑、palette＿run＿type＿flag＝0、インデックス値＝2、ラン値＝4。同様に、既存の従来の符号化方式を用いると、次の列110を符号化するのに以下の構文が用いられる：palette＿run＿type＿flag＝1、ラン値＝2、palette＿run＿type＿flag＝0、インデックス値＝3、エスケープカラー＝緑、palette＿run＿type＿flag＝0、インデックス値＝3、エスケープカラー＝青、palette＿run＿type＿flag＝1、ラン値＝4。既存の従来の符号化方式を用いると、次の列112を符号化するのに以下の構文が用いられる：palette＿run＿type＿flag＝1、ラン値＝2、palette＿run＿type＿flag＝0、インデックス値＝3、エスケープカラー＝赤、palette＿run＿type＿flag＝1、ラン値＝5。
【００２４】
そのため、上記のように、従来の符号化方式を用いて次の列108、次の列110および次の列112を符号化する場合、特定のエスケープカラーの識別は、ブロック100のエスケープ・カラー・インデックス値の直後に符号化される。残念ながら、このような符号化には欠点がある。例えば、同じ列内または隣接する列内のエスケープカラーが互いに異なる場合、COPY＿ABOVE＿MODEおよびCOPY＿INDEX＿MODEを最大限に活かす能力が制限される。例えば、次の列108のエスケープ・カラー・インデックス値3に対応するエスケープカラーが青であり、次の列110のエスケープ・カラー・インデックス値3に対応するエスケープカラーが緑である場合、各列のエスケープカラーが異なるためにCOPY＿ABOVE＿MODEを用いる能力が失われる。同様に、2つの連続したエスケープカラーは、2つのpalette＿run＿type＿flag＝0構文要素で個別に符号化されなければならない。
【００２５】
しかし、隣接する列のエスケープカラーが互いに異なる場合でも、COPY＿ABOVE＿MODEおよびCOPY＿INDEX＿MODEの機能を使用できるように、ブロック100内の列（例えば、列108〜列112）を符号化する方法があることが分かっている。それに関しては、エスケープ・カラー・インデックス値を列の符号化の一部として符号化し、エスケープカラー自体は、エスケープ・カラー・インデックス値の直後に符号化するのではなく、インデックスマップ符号化の終わりに順次に符号する符号化方式が提案されている。図1を再度参照して、提案の新しい符号化方式の一例を以下で示す。
【００２６】
次の列108を符号化するには、以下の構文を用いる：palette＿run＿type＿flag＝1、ラン値＝2、palette＿run＿type＿flag＝0、インデックス値＝3、ラン値＝2、palette＿run＿type＿flag＝0、インデックス値＝2、ラン値＝4。次の列110は、palette＿run＿type＿flag＝1、ラン値＝8として符号化される。次の列112は、palette＿run＿type＿flag＝0、インデックス値＝2、ラン値＝2、palette＿run＿type＝0、インデックス値＝3、ラン値＝1、palette＿run＿type＿flag＝0、インデックス値＝2、ラン値＝5として符号化される。よって、列108、列110、および列112のエスケープカラーは、これらの列のエスケープカラーが異なるにもかかわらず、ラン値と共にCOPY＿ABOVE＿MODEまたはCOPY＿INDEX＿MODEを用いて符号化される。
【００２７】
ブロック100の符号化を続けて、次の列114は、palette＿run＿type＿flag＝0、インデックス値＝2、ラン値＝8として符号化される。最下列116は、palette＿run＿type＿flag＝1、ラン値＝8として符号化される。一実施形態では、次の列110、112、114、および116を、palette＿run＿type＿flag＝1、ラン値＝11、palette＿run＿type＿flag＝0、インデックス値＝2、ラン値＝21として符号化することができる。
【００２８】
ブロック110内の各列102〜116が上記のように符号化された後で、エスケープカラーはインデックスマップ符号化の終わりに順次に符号化される。よって、最下列116のインデックスマップ符号化の後で、各エスケープカラーをそれらがブロック100で発生する順に識別するために以下の構文が符号化される：エスケープカラー＝青、緑、緑、青、赤。よって、（例えば列108の）ブロックで発生した第1のインデックス値3に対応する最初のエスケープカラーは青であると識別され、（例えば列108の）ブロックで発生した第2のインデックス値3に対応する次のエスケープカラーは緑であると識別され、（例えば列110の）ブロックで発生した第2のインデックス値3に対応する次のエスケープカラーは緑であると識別され、（例えば列110の）ブロックで発生した第2のインデックス値3に対応する次のエスケープカラーは青であると識別され、（例えば列112の）ブロックで発生した第3のインデックス値3に対応する最後のエスケープカラーは赤であると識別される。このように符号化することにより、様々な利点が実現される。例えば、同じ列内または隣接する列内のエスケープカラーが互いに異なる場合でも、COPY＿ABOVE＿MODE機能を用いることができる。加えて、COPY＿INDEX MODEを用いて、単一のエスケープ・カラー・インデックス値と連続したエスケープカラーの数に対応するラン値によって、連続したエスケープカラーをまとめて符号化することができる。実際、一実施形態では、エスケープ・カラー・インデックス値およびその他のインデックス値は、同じ方法および／または同様の方法で符号化される。加えて、この新しい符号化方式は、符号化を停止することなくインデックスの一致を増加させ、インデックスマップとインデックス・マップ・カラーの並列処理を可能にし、インデックスマップ符号化の設計を簡素化することができる。
【００２９】
図2Aは、エスケープカラーを符号化する方法200の一実施形態の流れ図である。方法200は、例えば、ビデオフレームが受信されており、復号装置へ送信されるビットストリームのためにエスケープカラーを効率よく符号化する必要がある場合に実施することができる。ブロック202で、第1のインデックス値列（例えば、図1の次の列108）内の1つまたは複数の連続したインデックス値が、単一のエスケープ・カラー・インデックス値（例えば、図1の値3）および連続したエスケープ・カラー・インデックス値のうちのいくつが符号化されたかを特定するラン値を用いて符号化される。ブロック204で、ブロック（例えば図1のブロック100）のすべてのインデックス値列が符号化された後で、複数の連続したインデックス値に対応するエスケープカラーが符号化される。一実施形態では、エスケープカラーは互いに異なる。例えば、第1のエスケープカラーは青であってもよく、第2のエスケープカラーは緑であってもよく、第3のエスケープカラーは赤であってもよく、以下同様である。本開示を考察すれば、当業者は、エスケープカラーを有するさらに別の列（例えば、最上列102、次の列104、次の列106）も同様に符号化できることを理解するであろう。どの別の列内のエスケープ・カラー・インデックス値も、他の列で用いられるのと同じエスケープ・カラー・インデックス値（例えば、図1の値3）を有することになる。加えて、別のエスケープ・カラー・インデックス値の1つで表される任意のエスケープカラーは、第1のエスケープカラーおよび第2のエスケープカラーを基準として順次に符号化される。ブロック206で、インデックス値列およびエスケープカラーはビットストリームで復号装置へ送信される。
【００３０】
図2Bは、エスケープカラーを符号化する方法250の一実施形態の流れ図である。方法250は、例えば、ビデオフレームが受信されており、復号装置へ送信されるビットストリームのためにエスケープカラーを効率よく符号化する必要がある場合に実施することができる。ブロック252で、エスケープ・カラー・インデックス値（例えば、図1の値3）を含む第1のインデックス値列（例えば、図1の次の列108）が符号化される。ブロック254で、エスケープ・カラー・インデックス値（例えば、図1の同じ値3）を含む第2のインデックス値列（例えば、図1の次の列110）が、第1のインデックス値列からのエスケープ・カラー・インデックス値を複写することによって符号化される。一実施形態では、複写は、第1のエスケープカラー（例えば青）が第1のインデックス値列のエスケープ・カラー・インデックス値を表し、第2のインデックス値列が第1のエスケープカラーと異なる第2のエスケープカラー（例えば緑）を表すにもかかわらず行われる。一実施形態では、第1のインデックス値列内のエスケープ・カラー・インデックス値は、第1の列（例えば、第1の列は11232311）内の複数のエスケープ・カラー・インデックス値のうちの1つであり、第2のインデックス値列内のエスケープ・カラー・インデックス値は、第2の列（例えば、第2の列は21232311）内の複数のエスケープ・カラー・インデックス値のうちの1つである。一実施形態では、第1のインデックス値列内のエスケープ・カラー・インデックス値は、第1の列（例えば、第1の列は11233311）内の複数の連続したエスケープ・カラー・インデックス値のうちの1つであり、第2のインデックス値列内のエスケープ・カラー・インデックス値は、第2の列（例えば、第2の列は21233311）内の複数のエスケープ・カラー・インデックス値のうちの1つである。どちらの場合も、エスケープ・カラー・インデックス値を含む、第2の列の最後の7つのインデックス値は、第1の列から最後の7つのインデックス値を複写することによってまとめて符号化される。
【００３１】
ブロック256で、ブロック（例えば、図1のブロック100）のすべてのインデックス値列が符号化された後で、第1のエスケープカラー（例えば青）および第2のエスケープカラー（例えば緑）が順次に符号化される。本開示を考察すれば、当業者は、さらに別の列（例えば、最上列102、次の列104、次の列106）も、ブロック252の第1のインデックス値列の前に符号化できることを理解するであろう。加えて、ブロック254の第2のインデックス値列の後でさらに別の列（例えば、次の列112、次の列114、および最下列116）を符号化することもできる。どの別の列内の別のエスケープ・カラー・インデックス値も、他の列で用いられるのと同じエスケープ・カラー・インデックス値（例えば、図1の値3）を有することになる。加えて、別のエスケープ・カラー・インデックス値の1つで表される任意のエスケープカラーは、第1のエスケープカラーおよび第2のエスケープカラーを基準として順次に符号化される。ブロック258で、インデックス値列およびエスケープカラーはビットストリームで復号装置へ送信される。
【００３２】
図2Cは、エスケープカラーを符号化する方法270の一実施形態の流れ図である。方法270は、例えば、ビットストリームが復号装置によって受信されており、例えば画面コンテンツを表示するためにエスケープカラーを復号する必要がある場合に実施することができる。ブロック272で、ビットストリームを受信するデコーダが、ブロック内のインデックス値列をスキャンする。1つまたは複数のインデックス値列が、エスケープカラー（例えば、青、赤、緑など）を表す同じエスケープ・カラー・インデックス値（例えば、値3）を含む。ブロック274で、デコーダは、1つまたは複数のインデックス値列内の各同じエスケープ・カラー・インデックス値に対応するエスケープカラーを決定するために、ブロック内のインデックス値列の後に符号化されたエスケープカラーを順次にスキャンする。その後、ビットストリーム内の情報に対応する画面コンテンツを、例えば、ユーザに表示することができる。
【００３３】
本明細書に記載されている改善されたエスケープ符号化のための構文の一例を以下の表1に示す。
【００３４】
【表１Ａ】
0006749922.tif 000002
【表１Ｂ】
0006749922.tif 000003
【表１Ｃ】
0006749922.tif 000004
【００３５】
上記のエスケープ符号化方式に加えて、符号化を改善するためにグループ化インデック符号化方式も実施することができる。現在のHEVC SCC草案では、インデックスマップはCUレベルで処理される。例えば、2N×2NのCUでは、インデックスマップは、図3に示すように、事前定義のスキャン順序に従って最初の位置から最後の位置まで処理される。
【００３６】
明らかに、スループットは処理すべき位置の数によって制限される。したがって、グループ化インデックス（またはインデックスグループ）を用いて、図4に示す大規模な並列処理を可能にすることができる。グループ化方式は以下のように実現することができるはずである。
すべてのCUサイズに固定の4×4
任意の2N×2NのCUにN×Nサイズ
任意の2N×2NのCUにN／2×2Nまたは2N×N／2
【００３７】
インデックスグループごとに、並列エントロピー符号化を可能にするように、コンテキスト適応2進算術符号化（context−adaptive binary arithmetic coding（CABAC））状態を再初期設定することができるはずである。
【００３８】
その符号化効率をさらに改善するために、現在のインデックスグループが同じ色であるか、または上の行から完全に複写できるかを示すための追加のフラグを導入することができる。このフラグにより、符号化効率は著しく改善される。
【００３９】
上記のグループ化インデック符号化方式に加えて、符号化を改善するためにCUサイズに依存した色テーブルサイズ方式を実施することもできる。すべてのCUサイズに固定テーブルサイズを適用する代わりに、CU依存の適応色テーブルサイズが用いられる。基本的には、小さいCUには小さい色テーブルサイズが（現在のテーブル、または参照テーブル、またはその両方に）用いられる。これにより、特に、小さいCUの処理が処理パイプライン全体のボトルネックとなることを考慮すると、小さいCUのリソース要件が低減され、スループットが大幅に向上する。
【００４０】
例えば、64×64および32×32のCUには参照テーブルサイズおよび現在のテーブルサイズとして32を用いることができ、16×16および8×8のCUには16を用いることができる。加えて、「再利用」色選択プロセスにさらなる制約条件を適用することもでき、基本色は、現在の作業草案における参照テーブル全体にとは対照的に、参照テーブルの一部から評価され、選択されるにすぎない。この方法では、基本色の履歴をより適切に追跡するために、参照テーブルは現在のテーブルサイズより大きく設定される。加えて、基本色は、スループットを向上させるために、現在のテーブルと同じサイズの参照テーブルのサブセットから選択されるにすぎない。上記の例では、この方式により、参照テーブルのサイズは64まで増加し、現在のテーブルのサイズは上述のように不変のままである。ただし、再利用フラグの評価は、64×64および32×32のCUの最初の32エントリ、ならびに16×16および8×8のCUの最初の16エントリのみに制限される。これにより、符号化スループットをさらに改善することができる。また、再利用ベクトルは、均一な64ビンのベクトルではなく、現在のテーブルのサイズと同じ数でシグナリングしさえすればよい。
【００４１】
上記のCUサイズ依存色テーブルサイズ方式に加えて、符号化を改善するためにCOPY＿ABOVE＿MODEの拡張サーチも実施することができる。現在のHEVC SCC草案におけるパレット（PLT）モードのインデックスマップ符号化には、COPY＿INDEX＿MODEとCOPY＿ABOVE＿MODEの2つのモードがある。COPY＿ABOVE＿MODEは、隣接する上の行のみを参照として用いる。COPY＿ABOVE＿MODEは、現在のCU内のさらに離れた追加行を参照するように拡張することができる。現在の行と参照行との差は、アルファ符号化および切捨て2進符号化、または任意の他の2進化方式を用いて符号化される。探索距離は現在のCUによって制限される。
【００４２】
上記のCOPY＿ABOVE＿MODE方式の拡張探索に加えて、符号化を改善するために、動的な幅および高さを用いた2次元（2−D）一致を実施することもできる。現在のHEVC SCC草案におけるPLTモードのインデックスマップ符号化では、ランベースの1次元（1−D）マッチを用いる。任意の所与の位置について、ランベースの1−D探索を実行するときに、様々な幅および高さを用いた2−D探索も実行される。2−D探索法によってカバーされる領域が1−Dラン値より大きい場合、2−Dストリングモードが選択され、そのブロックのベクトル（例えば、bvx、bvy）および高さおよび幅がビットストリームに符号化される。そうでない場合には、1−D一致モードが選択され、そのラン値がビットストリームに符号化される。
【００４３】
現在の列のモードが2−Dか1−Dかを示すために1ビットのフラグ2D＿flagが構文に追加される。2D＿flag＝1の場合、そのブロックのベクトル（例えば、bvx、bvy）が符号化される。bvx＝0であるかどうかを示すために1ビットのbvx0フラグが追加され、bvy＝0であるかどうかを示すために1ビットのbvy0フラグが追加される。対応するフラグ（例えば、bvx0やbvy0）が0である場合には、bvy＞0であるかどうかを示すために1ビットのbvy＿signフラグが追加され、bvx＞0あるかどうかを示すために1ビットのbvx＿signフラグが追加される。対応するフラグ（例えば、bvx0やbvy0）がゼロである場合には、bvxまたはbvyの絶対値は、例えば、コンテキスト付きの固定長やコンテキスト付きの切捨て2進符号を用いて符号化される。2−Dの幅および高さの値もコンテキストベースまたは非コンテキストベースの符号化法を用いて符号化される。ブロックのベクトルbvxおよびbvyの両方がゼロであるが、2D＿flag＝1である場合、これはその2−Dブロックが実際には単色ブロックであることを意味し、そのカラーインデックスがビットストリームに符号化される。例えば、bvx、bvy、幅および高さの最大値がエンコーダとデコーダの両方に知られている場合、それらを符号化するために切捨て2進符号化法を適用することができる。
【００４４】
図5に、ビデオエンコーダ500の一実施形態を示す。ビデオエンコーダ500は、図5に示すように配置された、レートひずみ最適化（RDO）モジュール510、予測モジュール520、変換モジュール530、量子化モジュール540、エントロピーエンコーダ550、逆量子化モジュール560、逆変換モジュール570、再構築モジュール580、およびパレット作成インデックスマップ処理モジュール590を含むことができる。動作に際して、ビデオエンコーダ500は、ビデオフレーム（またはスライス）のシーケンスを含む入力ビデオを受信することができる。ここでは、フレームは、予測フレーム（Pフレーム）、イントラ符号化フレーム（Iフレーム）、または双方向予測フレーム（Bフレーム）のいずれかを指す場合がある。同様に、スライスも、Pスライス、Iスライス、またはBスライスのいずれかを指す場合がある。
【００４５】
RDOモジュール510は、他のモジュールの1つまたは複数についての論理判断を調整し、または行うように構成することができる。例えば、1つまたは複数の以前に符号化されたフレームに基づき、RDOモジュール510は、符号化されている現在のフレーム（またはスライス）が複数のCUにどのように分割されるか、ならびにCUが1つまたは複数のPUおよびTUにどのように分割されるかを決定することができる。上記のように、CU、PU、およびTUは、HEVCで用いられる様々な種類のブロックである。加えて、RDOモジュール510は、現在のフレームをどのように予測すべきかを決定することもできる。現在のフレームは、インター予測および／またはイントラ予測によって予測することができる。イントラ予測では、HEVCに複数の利用可能な予測モードまたは方向（例えば、Y成分のための34モード、ならびにU成分またはV成分のための（線形モード（LM）を含む）6モード）があり、RDO最適化モジュール510が最適なモードを決定することができる。例えば、RDOモジュール510は、予測モードごとの絶対値誤差の総和（sum of absolute error（SAE））を計算し、最小のSAEをもたらす予測モードを選択することができる。
【００４６】
一実施形態では、予測モジュール520は、入力ビデオから現在のブロックの予測ブロックを生成するように構成されている。予測モジュール520は、インター予測のための参照フレームまたはイントラ予測のための現在のフレームの参照画素を利用することができる。予測ブロックは複数の予測画素サンプルを含み、各予測画素サンプルは、対応する再構築されたルーマブロック内に位置する複数の再構築されたルーマサンプルと、対応する再構築されたクロマブロック内に位置する複数の再構築されたクロマサンプルとに基づいて生成することができる。
【００４７】
現在のブロックの予測ブロックが生成されると、現在のブロックが予測ブロックによって減じられることができ、または予測ブロックが現在のブロックによって減じられ、残差ブロックが生成されることができる。残差ブロックは変換モジュール530に供給することができ、変換モジュール530は離散コサイン変換（discrete cosine transform（DCT））といった2−D直交変換によって残差サンプルを変換係数の行列に変換することができる。次いで、変換係数の行列を、エントロピーエンコーダ550に供給する前に量子化モジュール540によって量子化することができる。量子化モジュール540は変換係数のスケールを変更し、それらを整数に丸めることができ、これにより非ゼロの変換係数の数を減らすことができる。その結果、圧縮比を高めることができる。一実施形態では、エントロピーエンコーダ550は、本明細書で開示する発明概念を実現するように構成される。
【００４８】
量子化変換係数を、エントロピーエンコーダ550によってスキャンし、符号化して符号化ビットストリームにすることができる。さらに、ブロックの連続した符号化を容易にするために、量子化変換係数を逆量子化モジュール560に供給して、変換係数の元のスケールを復元することもできる。その場合逆変換モジュール570は、変換モジュール530の逆を実行し、元の残差ブロックの雑音のあるバージョンを生成することができる。次いで、不可逆的残差ブロックを再構築モジュール580に供給することができ、再構築モジュール580はその後のブロックのイントラ予測のための再構築サンプルを生成することができる。必要に応じて、再構築サンプルがイントラ予測に用いられる前に、再構築サンプルに対してフィルタリングを実行することができる。一実施形態では、図5のエンコーダ500および／またはパレット作成インデックスマップ処理モジュール590は、図2Aおよび図2Bの方法200を実施するように構成される。
【００４９】
図5は、ビデオエンコーダの簡略化した図であることができ、よって、ビデオエンコーダに存在するモジュールの一部しか含まれていない可能性があることに留意されたい。当業者には理解されるように、ビデオ符号化を容易にするために、図5には示されていないが、他のモジュール（例えば、フィルタ、スキャナ、送信機）も含まれていてよい。加えて、符号化方式に応じて、ビデオエンコーダ内のモジュールのいくつかを省くこともできる。例えば、あるビデオコンテンツの可逆的符号化では、情報の損失が許されない可能性があるため、量子化モジュール540および逆量子化モジュール560を省くことができる。別の例として、残差ブロックが変換係数に変換されずに直接符号化される場合、変換モジュール530および逆変換モジュール570を省くことができる。さらに、エンコーダからの送信される前に、符号化ビットストリームは、ビデオフレームの符号化シーケンスがビデオデコーダによって正しく復号され得るように、ビデオ解像度、フレームレート、ブロック分割情報（サイズ、座標）、予測モードなどといった他の情報を含むように構成することもできる。
【００５０】
図6にビデオデコーダ600の一実施形態を示す。ビデオデコーダ600は、図5のビデオエンコーダ500に対応していてよく、図6に示すように配置された、エントロピーデコーダ610、逆量子化モジュール620、逆変換モジュール630、予測モジュール640、再構築モジュール650、およびパレット復元インデックスマップ復号モジュール690を含むことができる。動作に際して、ビデオフレームのシーケンスの情報を含む符号化ビットストリームがエントロピーデコーダ610によって受信され、エントロピーデコーダ610はビットストリームを復号して非圧縮フォーマットにすることができる。量子化変換係数の行列を生成し、次いで逆量子化モジュール620に供給することができ、逆量子化モジュール620は図5の逆量子化モジュール560と同じ、または類似したものであってよい。次いで、逆量子化モジュール620の出力が逆変換モジュール630に供給され、逆変換モジュール630は変換係数を残差ブロックの残差値に変換することができる。加えて、現在ブロックの予測モードを含む情報もエントロピーデコーダ610によって復号されてよい。予測モジュール640は、本明細書で開示する発明概念に基づいて、現在のブロックの予測ブロックを生成することができる。一実施形態では、エントロピーデコーダ610および／またはパレット復元インデックスマップ復号モジュール690は、本明細書で開示する発明概念を実現するように構成される。
【００５１】
図7に、例えば、ネットワークやシステム内で、上述のようなビデオフレームを処理するエンコーダ（例えば、図5のエンコーダ500）とデコーダ（例えば、図6のデコーダ600）とを含むことができるネットワークユニット700の一実施形態を示す。ネットワークユニット700は、他のネットワークユニットまたは構成要素からデータを受信するための複数の入口ポート710および／または受信装置（Rx）712と、データを処理し、データをどのネットワークユニットへ送信すべきか決定する論理演算装置またはプロセッサ720と、その他のネットワークユニットへデータを送信するための複数の出口ポート730および／または送信装置（Tx）732とを含むことができる。論理演算装置またはプロセッサ720は、上述の一致概念としてのエスケープ（escape as match concept）および／または図2A〜図2Cの方法を用いた符号化および復号のような、本明細書に記載した方式のいずれかを実現するように構成することができる。論理演算装置720は、ハードウェア、ソフトウェア、またはその両方を用いて実現することができる。
【００５２】
上述の方式は、配置された必要な作業負荷を処理するのに十分な処理能力、メモリリソース、およびネットワークスループット能力を備えたコンピュータやネットワークコンポーネントといった、任意の汎用ネットワークコンポーネント上で実施することができる。図8に、図2A〜図2Cの符号化および復号の方法200、250、270など、本明細書で開示する方法の1つまたは複数の実施形態を実施するのに適した、典型的な汎用ネットワークコンポーネントまたはコンピュータシステム800の概略図を示す。汎用ネットワークコンポーネントまたはコンピュータシステム800は、2次記憶804、読取り専用メモリ（ROM）806、ランダム・アクセス・メモリ（RAM）808を含むメモリデバイス、入力／出力（I／O）デバイス810、およびネットワーク接続デバイス812と通信するプロセッサ802（中央処理装置またはCPUと呼ぶことができる）を含む。単一のプロセッサとして例示されているが、プロセッサ802は単一のプロセッサだけに限定されず、複数のプロセッサを含むことができる。プロセッサ802は、1つもしくは複数のCPUチップ、コア（例えば、マルチコアプロセッサ）、フィールド・プログラマブル・ゲート・アレイ（FPGA）、特定用途向け集積回路（ASIC）、および／もしくはデジタル信号プロセッサ（DSP）として実装されてもよく、かつ／または1つもしくは複数のASICの一部であってもよい。プロセッサ802は、一致概念としてのエスケープおよび／または図2A〜図2Cの方法を用いた符号化および復号のような、本明細書に記載した方式のいずれかを実現するように構成することができる。プロセッサ802は、ハードウェア、ソフトウェア、またはその両方を用いて実現することができる。
【００５３】
2次記憶804は、典型的には、1つまたは複数のディスクドライブまたはテープドライブで構成され、RAM808がすべての作業データを保持するのに十分な大きさでない場合には、データの不揮発性記憶およびオーバーフローデータ記憶装置として用いられる。2次記憶804は、プログラムが実行のために選択されたときにRAM808にロードされるプログラムを記憶するのに用いることができる。ROM806は、プログラム実行中に読み出される命令、およびおそらくは、データを記憶するのに用いられる。ROM806は、通常、2次記憶804の大きなメモリ容量と比べて小さいメモリ容量を有する不揮発性メモリデバイスである。RAM808は、揮発性データを記憶し、おそらくは、命令を記憶するのに用いられる。ROM806へのアクセスもRAM808へのアクセスも、通常は、2次記憶804へのアクセスよりも高速である。本明細書で開示するメモリデバイスの1つまたは複数（例えばRAM808など）が、論理演算装置720および／またはプロセッサ802によって実行されると、図2A〜図2Cの方法200、250、270を実施するソフトウェア、プログラミング、および／または命令を記憶することができる。
【００５４】
ネットワーク「エレメント」、ネットワーク「ノード」、ネットワーク「デバイス」、ネットワーク「コンポーネント」、ネットワーク「モジュール」の各用語、および／または類似した用語は、ネットワークデバイスを一般的に記述するのに区別なく用いることができ、本開示内で特に明記し、かつ／または求めない限り、特定の意味または特殊な意味を有するものではない。
【００５５】
本開示においてはいくつかの実施形態を提供しているが、開示のシステムおよび方法は、本開示の範囲を逸脱することなく多くの他の特定の形態として具体化される可能性もあることが理解される。本開示の各例は限定ではなく例示のためのものとみなすべきであり、その意図を本明細書に記載した詳細だけに限定すべきではない。例えば、様々な要素またはコンポーネントを、別のシステムにおいて組み合わせ、または統合することもでき、ある特徴を省略し、または実装しない場合もある。
【００５６】
加えて、様々な実施形態において、別個の、または分離したものとして記述され、例示された技法、システム、サブシステム、および方法を、本開示の範囲を逸脱することなく、他のシステム、モジュール、技法、または方法と組み合わせ、または統合することもできる。相互に結合され、または直接結合され、または通信し合うものとして図示され、または論じられた他の項目が、電気的にであれ、機械的にであれ、あるいはそれ以外であれ、何らかのインターフェース、デバイス、または介在コンポーネントを介して間接的に結合され、または通信する場合もある。交換、代用、および変更の他の例も、当業者であれば確認することができ、本明細書において開示される範囲を逸脱することなく実施することができる。
【符号の説明】
【００５７】
100  ブロック
104  列
106  列
108  列
110  列
112  列
114  列
116  列
500  ビデオエンコーダ
510  レートひずみ最適化
520  予測
530  変換
540  量子化
550  エントロピーエンコーダ
560  逆量子化
570  逆変換
580  再構築
590  パレット作成およびインデックスマップ処理
600  ビデオデコーダ
610  エントロピーデコーダ
620  逆量子化
630  逆変換
640  予測
650  再構築
690  パレット復元およびインデックスマップ復号
700  ネットワークユニット
710  入口ポート
712  受信装置
720  論理演算装置
732  送信装置
730  出口ポート
800  汎用ネットワークコンポーネントまたはコンピュータシステム
802  プロセッサ
804  2次記憶
806  読取り専用メモリ
808  ランダム・アクセス・メモリ
810  入力／出力デバイス
812  ネットワーク
【図１】
0006749922.tif 000005
【図２Ａ】
0006749922.tif 000006
【図２Ｂ】
0006749922.tif 000007
【図２Ｃ】
0006749922.tif 000008
【図３】
0006749922.tif 000009
【図４】
0006749922.tif 000010
【図５】
0006749922.tif 000011
【図６】
0006749922.tif 000012
【図７】
0006749922.tif 000013
【図８】
0006749922.tif 000014