(57)【特許請求の範囲】
【請求項１】
ビデオ符号化システムのパレット符号化を用いた映像データのブロックの符号化方法であって、前記方法は、
現在の符号化ユニットに関連する入力データを受信する工程と、
現在のパレットの最大インデックス値、または、パレットサイズを決定する工程と、
前記最大インデックス値、または、前記パレットサイズが、単一の固定値であるスレショルドサイズ以上である場合、エンコーダ―側でパレット転置フラグをシグナリングする工程と、
前記現在のパレットにしたがって、パレット符号化を用いて、前記現在の符号化ユニットを符号化し、前記現在のパレットが転置されるかどうかが、前記パレット転置フラグにより示される工程と、
を有することを特徴とする方法。 
【請求項２】
前記最大インデックス値、または、前記パレットサイズは、ひとつ以上のその他の構文要素に基づいて導出されるか、または、構文表中で明示的にシグナリングされることを特徴とする請求項１に記載の方法。
【請求項３】
前記パレット転置フラグは、構文表における、前記最大インデックス値、または、前記パレットサイズの後の位置でシグナリングされることを特徴とする請求項２に記載の方法。
【請求項４】
前記パレットサイズが導出されるとき、前記パレットサイズは、前に用いられたパレットにより予測されるパレットエントリの第一の数に対応する第一構文要素、および、シグナリングされたパレットエントリの第二の数に対応する第二構文要素に基づいて決定されることを特徴とする請求項２に記載の方法。
【請求項５】
前記パレットサイズが導出されるとき、前記パレットサイズは、パレット共有フラグ、前に用いられたパレットにより予測されるパレットエントリの第一の数、および、シグナリングされたパレットエントリの第二の数に対して決定される構文の後に決定されることを特徴とする請求項２に記載の方法。
【請求項６】
前記パレット転置フラグが使用可能でない場合、前記パレット転置フラグは、パレット転置がないことに対応する０に推定されることを特徴とする請求項１に記載の方法。
【請求項７】
前記スレショルドサイズは、０、１、または、２であることを特徴とする請求項１に記載の方法。
【請求項８】
前記パレットサイズが０に等しい場合、最後のパレット、および、最後のパレットサイズは、現在のパレットサイズを有する前記現在のパレットにより更新されないことを特徴とする請求項１に記載の方法。
【請求項９】
前記最大インデックス値、または、前記パレットサイズが、スレショルドサイズ未満の場合は、パレット転置フラグをシグナリングしない工程をさらに有することを特徴とする請求項１に記載の方法。
【請求項１０】
ビデオ符号化システムのパレット符号化を用いた映像データのブロックの復号化方法であって、前記方法は、
現在の符号化ユニットに関連する入力データを受信する工程と、
現在のパレットの最大インデックス値、または、パレットサイズを決定する工程と、
前記最大インデックス値、または、前記パレットサイズが、単一の固定値であるスレショルドサイズ以上である場合、パレット転置フラグをデコーダー側で解析する工程と、
前記現在のパレットにしたがって、パレット符号化を用いて、前記現在の符号化ユニットを復号化し、前記現在のパレットが転置されるかどうかが、前記パレット転置フラグにより示される工程と、
を有することを特徴とする方法。
【請求項１１】
前記最大インデックス値、または、前記パレットサイズが、スレショルドサイズ未満の場合は、前記パレット転置フラグを解析しない工程をさらに有することを特徴とする請求項１０に記載の方法。
【請求項１２】
ビデオ符号化システムのパレット符号化を用いた映像データのブロックの符号化装置であって、前記装置は電子回路を有し、前記電子回路は、
現在の符号化ユニットに関連する入力データを受信する処理と、
現在のパレットの最大インデックス値、または、パレットサイズを決定する処理と、
前記最大インデックス値、または、前記パレットサイズが、単一の固定値であるスレショルドサイズ以上である場合、エンコーダ―側でパレット転置フラグをシグナリングする処理と、
前記現在のパレットにしたがって、パレット符号化を用いて、前記現在の符号化ユニットを符号化し、前記現在のパレットが転置されるかどうかが、前記パレット転置フラグにより示される処理と、
を実行することを特徴とする装置。 
【請求項１３】
ビデオ符号化システムのパレット符号化を用いた映像データのブロックの復号化装置であって、前記装置は電子回路を有し、前記電子回路は、
現在の符号化ユニットに関連する入力データを受信する処理と、
現在のパレットの最大インデックス値、または、パレットサイズを決定する処理と、
前記最大インデックス値、または、前記パレットサイズが、単一の固定値であるスレショルドサイズ以上である場合、パレット転置フラグをデコーダー側で解析する処理と、
前記現在のパレットにしたがって、パレット符号化を用いて、前記現在の符号化ユニットを復号化し、前記現在のパレットが転置されるかどうかが、前記パレット転置フラグにより示される処理と、
を実行することを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像データのパルス符号変調（ＰＣＭ）、および、パレット符号化に関するものであって、特に、ゼロに等しいパレットサイズを有するケース、または、パレット符号化ブロック（たとえば、符号化ユニット、ＣＵ）中で、全画素がエスケープ画素になるケースに関連するパレットシグナリングにおける余剰を克服する効果的な符号化方法を開示する。
【背景技術】
【０００２】
高効率ビデオ符号化（ＨＥＶＣ）は、近年発展している新しい符号化基準である。高効率ビデオ符号化（ＨＥＶＣ）システムにおいて、Ｈ.２６４/ＡＶＣの固定サイズのマクロブロックは、符号化ユニット（ＣＵ）というフレキシブルなブロックにより代替される。ＣＵ中の画素は、同じ符号化パラメータを共有して、符号化効率を改善する。ＣＵは最大ＣＵ（ＬＣＵ）から始まり、ＨＥＶＣの符号化ツリーユニット（ＣＴＵ）とも称される。符号化ユニットの概念に加え、予測単位（ＰＵ）の概念もＨＥＶＣに導入される。一旦、ＣＵ階層ツリーの分割が行われると、各リーフＣＵは、予測タイプ、および、ＰＵ分割にしたがって、さらに、ひとつ以上の予測単位（ＰＵ）に分割される。スクリーンコンテント符号化のいくつかの符号化ツールが発展している。本発明に関連するパレット符号化ツールを、以下に簡潔に記載する。
【０００３】
パレット符号化においては、限られた数の値を有する所定のビデオブロック（たとえば、ＣＵ）を表すパレットが用いられる。パレット符号化に用いられる主なコンポーネンツは、以下である。
【０００４】
１．パレット表。パレット表が用いられて、パレット中の各パレットカラーをパレットインデックスにマップ(map)する。
【０００５】
２．カラーインデックスマップ。パレット表の定義により、現在のブロック中の各画素値がインデックスにマップされる。ブロックにマップされたインデックスは、カラーインデックスマップと称される。カラーインデックスマップはインデックスマップとも称される。
【０００６】
３．パレット予測器。デコーダに、パレットインデックスから画素値を再構成させるため、パレット表が、デコーダにシグナリングされなければならない。パレット表のシグナリングに必要なデータを減少させるため、予測符号化(predictive coding)がパレット表に適用される。特に、前のパレット表が用いられて、現在のブロックのパレットを予測するか、または、現在のブロックにより共有される。
【０００７】
復号と解析プロセスは以下で簡潔に記述される。画素値がパレットインデックスから再構成される前、パレット表が再構成されなければならない。エンコーダー側でのパレット表のシグナリングプロセスは以下に記述される。
【０００８】
１．まず、‘パレット共有フラグ’をシグナリングする。パレット共有フラグは、現在のブロックが、前の符号化ブロックからのパレットを共有するかどうかを示す。パレット共有フラグが１に等しいとき、現在のブロックは、前の符号化ブロックのパレットを共有する。つまり、この場合、パレット予測器は、現在のパレットとして用いられる。パレット共有フラグが０に等しい場合、パレットが共有されないことを示す。現在のブロックのパレットは、ステップ２で記述されるようにシグナリングされなければならなず、現在のパレットは、前のパレットに基づいて、予測的に符号化される。
【０００９】
２．現在のブロックのパレットは、前のパレットを予測器として予測される。現在のパレットの符号化された情報は以下のように記述される。
【００１０】
ａ．‘再利用フラグ’をシグナリングする。再利用フラグは、パレット予測器の素子が現在のパレット中で用いられるかどうかを示し、“１”は“再利用”を示し、“０”は“再利用されない”を示す。再利用フラグは、パレット予測において、これらの素子が再利用されることを識別することができる。
【００１１】
ｂ．‘非予測素子の数量’をシグナリングする。現在のパレット中で予測されない素子にとって、素子はシグナリングされなければならない。非予測素子の数量は、シグナリングされる現在のパレット中の素子の総数を示す。
ｃ．各非予測素子の値をシグナリングする。非予測素子の数量がシグナリングされた後、これらの非予測素子の値がシグナリングされる。
【００１２】
上述の工程は、現在のパレットのパレットのシグナリングを描写し、よって、デコーダがパレットを再構築することができる。
【００１３】
パレットがシグナリングされた後、カラーインデックスマップが以下のようにシグナリングされる。まず、ブロックのインデックス（すなわち、カラーインデックスマップ）が、水平ラスター走査順序、垂直ラスター順序、水平横断走査順序、または、垂直横断順序にしたがって処理される。その後、走査順序のインデックスがランレングス符号化(run-length coded)され、走査順序のインデックスの各位置において、フラグが、まず、送信されて、予測モードを、‘コピー上記モード(copy above mode)’または‘コピーインデックスモード(copy index mode)’として示す。
【００１４】
１．‘コピー上記モード’。この実行モードは、走査順序で、現在の位置から開始されるインデックスが、連続Ｎインデックス（現在の位置にあるインデックスを含む）のこれらのインデックスと同じであることを示す。Ｎは‘実行回数’と称される。まず、‘コピー上記モード’がモードフラグを用いてシグナリングされ、且つ、続いて、‘実行回数’が続く。
【００１５】
２．‘コピーインデックスモード’（“新しい実行モード”とも称される）。この実行モードは、走査順序で、現在の位置から始まるインデックスが、連続Ｎインデックス（現在の位置中でインデックスを含む）の導かれた非−ESCAPEインデックスと同じであることを示す。‘コピーインデックスモード’が、まず、モードフラグを用いてシグナリングされ、且つ、続いて、インデックス、および、‘実行数’が続く。インデックスがESCAPEである場合、‘コピーインデックスモード’が、まず、モードフラグを用いてシグナリングされ、且つ、続いて、インデックス、および、画素値が続く。
【００１６】
図１Ａから図１Ｃは、スクリーンコンテント符号化テストモデル２．０（ＳＣＭ−２．０）によるパレットインデックスマップ、および、パレットインデックスマップ符号化の例を示す図である。図１Ａは、パレットカラーのパレットインデックス０から３、および、エスケープサンプルのパレットインデックス４を有するパレットインデックスマップを示す図である。エスケープサンプルに対応するインデックスは、この開示において、エスケープインデックスEscape indexと称される。図１Ｂは、ＳＣＭ−２．０によるパレットインデックスマップ符号化を示す図で、“コピーインデックスモード（copy-index mode）”は、３、１、２、および、６に対応する“パレット実行（palette runs）”により、第一列中のインデックスの４群（１１０、１２０、１３０、および、１４０）に適用される。図１Ｃは、第二列のパレットインデックスマップ符号化の例を示す図で、“コピー上記モード（copy-above mode）”は第一群のサンプル（１５０）に適用され、“コピーインデックスモード”は、８、１、および、３に対応する実行により、次の二群（１６０と１７０）に適用される。
【００１７】
現存のパレット符号化によると、各エスケープ画素は、“コピーインデックスモード”を用いてシグナリングされ、モードフラグ、インデックス、および、画素値が送信される。パレットサイズが０に等しい、および、全画素が、パレット符号化ブロック（たとえば、ＣＵ）中のエスケープ画素であるとき、値は、モードフラグ、インデックス、および、画素値を用いて個々にシグナリングされる。この場合、プロセスは、ＡＶＣとＨＥＶＣで、ＰＣＭ（パルス符号変調）モードを用いたものとほぼ同じで、重複を導入し、よって、符号化の視点から、効率的ではない。よって、パレットモードが有効であるとき、符号化方法を発展させて、余剰を除去し、符号化効率を改善することが望まれる。さらにブロック中の全サンプルが、エスケープサンプルであるケースにとって効率的な符号化を開発することが望まれる。
【発明の概要】
【発明が解決しようとする課題】
【００１８】
ビデオ符号化におけるパレット符号化を用いた映像データのブロックを符号化する符号化効率を改善する方法が開示される。
【課題を解決するための手段】
【００１９】
本発明の一実施態様によると、パレット転置フラグは、条件付きで、最大インデックス値、または、パレットサイズに基づいてシグナリングされる。最大インデックス値、または、パレットサイズが、スレショルドサイズ以上である場合、パレット転置フラグがエンコーダー側でシグナリングされるか、または、パレット転置フラグがデコーダー側で解析される。そうでなければ、パレット転置フラグは、エンコーダ中でシグナリングされない、または、デコーダ中で解析されない。
【００２０】
最大インデックス値、または、パレットサイズは、ひとつ以上のその他の構文要素に基づいて導出されるか、または、構文表中で、明示的にシグナリングされる。たとえば、パレット転置フラグは、最大インデックス値、または、パレットサイズの後、構文表の位置でシグナリングされる。パレットサイズが導出されるとき、パレットサイズは、前もって用いられたパレットにより予測されるパレット入力の数を示す構文要素、および、シグナリングされたパレット入力の数を示す構文要素に基づいて決定される。パレットサイズが導出されるとき、パレットサイズは、パレット共有フラグ、前もって用いられたパレットにより予測されるパレット入力の数、および、シグナリングされたパレット入力の数の構文シグナリングの後に決定される。
【００２１】
パレット転置フラグが使用可能でない場合、パレット転置がないのに対応して、パレット転置フラグは０と推定される。スレショルドサイズは、０、１、または、２に等しい。パレットサイズが０に等しい場合、最後のパレット、および、最後のパレットサイズは、現在のパレットサイズを有する現在のパレットにより更新されない。
【００２２】
別の実施態様において、最後のパレット、および、最後のパレットサイズは、条件付きで、現在のパレットサイズを有する現在のパレットにより更新される。たとえば、現在の符号化ユニットが、パルス符号変調（ＰＣＭ）モードを用いて符号化されるか、または、現在のパレットサイズがゼロである場合、現在のパレットサイズを有する現在のパレットによる更新は省略される。
【００２３】
さらに別の実施態様において、パレットサイズが０に等しい場合、現在の符号化ユニットは、パルス符号変調（ＰＣＭ）モードを用いて符号化される。この場合、イントラコード符号化ユニットに対応するパルス符号変調（ＰＣＭ）モードに関連する任意の構文要素が省略される。
【００２４】
さらにまた別の実施態様において、パレット共有フラグのシグナリング、または、解析は、パレットサイズに従う。たとえば、現在のパレットサイズが、前のパレットサイズ以上である場合、共有フラグがシグナリング、または、解析される。パレット共有フラグが使用可能でない場合、パレット共有がないことに対応して、パレット共有フラグはゼロに推定される。
【００２５】
さらにまた別の実施態様において、パレット共有フラグがパレット共有がないことを示す場合のみ、パレット転置フラグがエンコーダー側でシグナリングされるか、または、デコーダー側で解析される。パレット共有フラグが使用可能でない場合、パレット共有がないことに対応して、パレット共有フラグは０に推定される。
【発明の効果】
【００２６】
効率が向上し、無意味なデータの更新が行われない。
【図面の簡単な説明】
【００２７】
【図１Ａ】図１Ａは、スクリーンコンテント符号化テストモデル２．０（ＳＣＭ−２．０）によるパレットインデックスマップを示す図である。
【図１Ｂ】図１Ｂは、ＳＣＭ−２．０によるパレットインデックスマップ符号化を示す図である。
【図１Ｃ】図１Ｃは、パレットインデックスマップ符号化の例を示す図である。
【図２】図２は、本発明の実施態様による符号化効率が改善されたパレット符号化による符号化システムのフローチャートで、パレット転置フラグは、最大インデックス値、または、パレットサイズに基づいて、条件付きでシグナリングされる。
【図３】図３は、本発明の実施態様による符号化効率が改善されたパレット符号化による符号化システムのフローチャートで、最後のパレット、および、最後のパレットサイズは、条件付きで、現在のパレットサイズを有する現在のパレットにより更新される。
【発明を実施するための形態】
【００２８】
本明細書は、本発明を具体的に指摘するとともに発明の権利を明確に請求する特許請求の範囲をもって結論とするものであるが、本発明は、以下の特定の実施例の説明を添付の図面と併せ読むことによってより深い理解がなされると考えられる。
【００２９】
本発明の一実施態様によると、現在の符号化ブロックのパレットサイズは明示的にシグナリングされる。よって、構文要素“palette_size”は、パレット符号化プロセスの最初でシグナリングされる。パレット符号化が用いられ、且つ、パレットサイズが０に等しいとき、ＰＣＭモードが起動される。表１は、本発明の実施態様を組み込んだpalette_coding()構文設計の例を示す。注記(1.a)に示されるように、palette_sizeの構文要素は、palette_coding()構文の最初に位置する。それが、注記(1.b)に示されるように、パレットサイズがチェックされて、０であるか判断する。パレットサイズが０である場合、注記(1.c)から注記(1.e)の構文ラインが含まれて、現在のブロックにＰＣＭ信号をシグナリングする。
【００３０】
【表１】
0006316785.tif 000002
【００３１】
表２は、現在の基準によるcoding_unit()構文表を説明し、関連する構文ラインがリストされ、注記(2.a)から(2.k)として示される。これらの構文ラインはイントラＣＵの関連するＰＣＭモードである。エスケープサンプルのパレット符号化はＰＣＭモードと同等であるので、別のＰＣＭモードの必要がない。よって、本発明の一実施態様によると、Intra ＣＵの注記(2.a)から(2.k)により示されるＰＣＭモードに関連する構文ラインが除去される。
【００３２】
【表２】
0006316785.tif 000003
【００３３】
一実施態様において、パレットサイズ,palette_transpose_min_sizeが正の整数より小さいとき、パレットが転置されるかどうかを特定する構文フラグ“palette_transpose_flag”のシグナリングが消去される。たとえば、この正の整数は１か２である。シグナリングされないとき、“palette_transpose_flag”が０になると推定される（すなわち、オフ）。つまり、この場合、パレットは転置されない。表３は、本発明の実施態様を組み込んだpalette_coding()の構文設計の例を示す。注記(3.a)に示されるように、パレットサイズが、パレット転置（すなわち、palette_transpose_min_size）を組み込んでいる最小サイズより大きいとき、注記(3.b)に示されるように、構文要素,palette_transpose_flagが組み込まれている。
【００３４】
【表３】
0006316785.tif 000004
【００３５】
別の実施態様において、現在のパレットサイズが前のパレットサイズより小さい場合、現在の符号化ブロックのパレットが、前もって用いられたパレットから共有されるかどうかを特定する構文フラグ“palette_share_flag”のシグナリングが消去される。構文フラグがシグナリングされないとき、“palette_share_flag”は０（すなわち、オフ)になると推定される。表４は、本発明の実施態様を組み込んだpalette_coding()の構文設計の例を示す。注記(4.a)に示されるように、パレットサイズが、パレット共有（すなわち、previousPaletteSize）を許可する前のパレットサイズに等しい、または、それ以上であるとき、注記(4.b)に示されるように、構文要素,palette_share_flagが組み込まれる。
【００３６】
【表４】
0006316785.tif 000005
【００３７】
さらに別の実施態様において、現在のパレットの符号化ブロックのシグナリングされたパレット入力の数がシグナリングされず、現在のパレットの符号化ブロックのシグナリングされたパレット入力の数は以下のように生成される：
num_signalled_palette_entries = palette_size - numPredPreviousPalette,
式中、numPredPreviousPaletteは、前のパレットにより予測されるパレット素子の数に対応する。
【００３８】
別の実施態様において、palette_share_flagのシグナリング後に、palette_transpose_flagがシグナリングされる。さらに、palette_share_flagが０（すなわち、パレット共有がオフ）のときだけ、palette_transpose_flagがシグナリングされる。さらに、現在のパレットの符号化符号化ブロック(coded coding block)のパレットが前のパレットと共有されるとき、前の走査モードや方向から継承されるので、走査モードや方向はシグナリングされない。
【００３９】
ＰＣＭが起動される、または、palette_sizeが０に等しいとき、パレット表更新は無意味になるので、最後に符号化されたパレット表、および、最後に符号化されたパレットサイズの更新は省略される。表５は、本発明の実施態様を組み込んだpalette_coding()構文設計の例を示す。注記(5.a)に示されるように、パレットサイズがゼロより大きい場合（すなわち、palette_size > 0）のみ、注記(5.b)と注記(5.c)間で示されるようなパレット表更新プロセスが実行される。
【００４０】
【表５】
0006316785.tif 000006
【００４１】
本発明の別の実施態様において、palette_sizeは、明示的にシグナリングされない。代わりに、表６に示されるように、palette_share_flag,previous_palette_entry_flag、および、num_signalled_palette_entriesの構文シグナリング後、palette_sizeが生成される。表６に示されるように、注記(6.a)に示されるように、パレット共有フラグ（すなわち、palette_share_flag）が、パレットが、前のパレットから共有されることを示す場合、注記(6.b)に示されるように、パレットサイズが、前のパレットサイズ(palette_size = previousPaletteSize)として生成される。パレットがシェアされない場合、パレットサイズが、注記(6.e)に示されるように、palette_size = numPredPreviousPalette + num_signalled_palette_entriesとして生成される。この生成されたpalette_sizeの位置は、注記(6.c)に示されるようなprevious_palette_entry_flag、および、注記(6.d)に示されるようなnum_signalled_palette_entriesの後である。palette_sizeが０に等しいとき、ＰＣＭモードが起動される。ＰＣＭモードが起動される場合、palette_escape_val_present_flagのシグナリングが省略される。表７は、本発明の実施態様を組み込んだパレット符号化構文表の例を示す図である。表７の注記(7.a)から注記(7.b)からの構文ラインは、現在のブロックのＰＣＭシグナリングに対応する。さらに、パレットサイズが０より大きいとき、注記(7.c)に示されるように、palette_escape_val_present_flagは、シグナリングだけ行われる。表２に示されるように、イントラモードとそのシグナリングに関連するＰＣＭモードが省略される。
【００４２】
【表６】
0006316785.tif 000007
【００４３】
【表７】
0006316785.tif 000008
【００４４】
palette_size、または、indexMaxが、正の整数palette_transpose_min_size以上であるときだけ、構文フラグ“palette_transpose_flagのシグナリングも送信され、正の整数は、１、２、または、０である。palette_transpose_flagがシグナリングされないとき、“palette_transpose_flag”は０（すなわち、オフ）に推定され、それは、パレットが転置されないことを意味する。表８は、本発明の実施態様を組み込んだパレット符号化構文表の例を示す。構文要素indexMaxは、現在のブロックの最大パレットインデックスに対応し、indexMaxは、パレットサイズに関連する。注記(8.a)に示されるように、現在のブロックが、任意のエスケープサンプルを有する場合、注記(8.b)に示されるように、indexMaxは、パレットサイズに等しい。現在のブロックがエスケープサンプルを有さない場合、indexMaxは、注記(8.c)に示されるように、（パレットサイズ−１）に等しい。注記(8.d)に示されるように、palette_size、または、indexMaxが、正の整数以上であるとき、注記(8.e)に示されるように、palette_transpose_flagがシグナリングされる。表５に示されるように、ＰＣＭが起動される、または、palette_sizeが０に等しいとき、最後に符号化されたパレット表、および、最後に符号化されたパレットサイズの更新が省略され、無意味なデータの更新が行われない。
【００４５】
【表８】
0006316785.tif 000009
【００４６】
palette_size、または、indexMaxが、正の整数palette_transpose_min_size以上であるかどうかに基づいて、構文フラグ“palette_transpose_flag”のシグナリングが、条件付きで、送信される。palette_sizeが決定される位置の後で、構文フラグ“palette_transpose_flag”の位置が移動する。正の整数は、１、２、または、０である。構文フラグ“palette_transpose_flag”がシグナリングされないとき、“palette_transpose_flag”は０（すなわち、オフ）に推定される。つまり、パレットは転置されない。
【００４７】
表５に示されるように、palette_sizeが０に等しいとき、最後に符号化されたパレット表、および、最後に符号化されたパレットサイズの更新が省略され、無意味なデータの更新が行われない。
【００４８】
図２は、本発明の実施態様による符号化効率が改善されたパレット符号化による符号化システムのフローチャートで、パレット転置フラグは、最大インデックス値、または、パレットサイズに基づいて、条件付きで、シグナリングされる。ステップ２１０において、システムは、現在の符号化ユニットに関連する入力データを受信する。符号化において、現在の符号化ユニットに関連する入力データは、符号化される現在の符号化ユニットのビデオサンプルに対応する。復号において、現在の符号化ユニットに関連する入力データは、現在の符号化ユニットに関連する符号化データに対応する。現在の符号化ユニットに関連する入力データは、メモリ（たとえば、コンピュータメモリ、バッファ（ＲＡＭ、または、ＤＲＡＭ）、または、別の媒体）、または、プロセッサから回収される。ステップ２２０において、現在のパレットの最大インデックス値、または、パレットサイズが決定される。ステップ２３０において、最大インデックス値、または、パレットサイズが、スレショルドサイズ以上である場合、パレット転置フラグが、エンコーダー側でシグナリングされるか、または、デコーダー側で解析される。その後、ステップ２４０において、現在の符号化ユニットは、現在のパレットにしたがって、パレット符号化を用いて符号化、または、復号され、現在のパレットが転置かどうかが、パレット転置フラグにより示される。
【００４９】
図３は、本発明の実施態様による符号化効率が改善されたパレット符号化による符号化システムのフローチャートで、最後のパレット、および、最後のパレットサイズは、条件付きで、現在のパレットサイズを有する現在のパレットにより更新される。ステップ３１０において、システムは、現在の符号化ユニットに関連する入力データを受信する。符号化において、現在の符号化ユニットに関連する入力データは、符号化される現在の符号化ユニットのビデオサンプルに対応する。復号において、現在の符号化ユニットに関連する入力データは、現在の符号化ユニットに関連する符号化データに対応する。現在の符号化ユニットに関連する入力データは、メモリ（たとえば、コンピュータメモリ、バッファ（ＲＡＭ、または、ＤＲＡＭ）、または、別の媒体）、または、プロセッサから回収される。その後、ステップ３２０において、現在の符号化ユニットが、現在のパレットサイズを有する現在のパレットにしたがって、パレット符号化を用いて符号化、または、復号化される。ステップ３３０において、最後のパレット、および、最後のパレットサイズは、条件付きで、現在のパレットサイズを有する現在のパレットにより更新される。ステップ３４０において、最後のパレット、および、最後のパレットサイズが、次の符号化ユニットのパレット符号化、または、パレット復号化に適用される。
【００５０】
上記のフローチャートは例として提供されて、本発明の実施態様を説明する。当業者は、本発明の精神を逸脱しない状況下で、個々のステップを修正したり、ステップを分割や組み合わせることにより本発明を実施することができる。
【００５１】
上の記述が提示されて、当業者に、特定のアプリケーションとその要求のコンテキストに記述される通り、本発明を行うことができる。当業者なら、記述された具体例への各種修正が理解でき、ここで定義される一般原則は別の実施例にも応用できる。よって、本発明は、記述される特定の実施例に制限することを目的としておらず、原理と新規特徴と一致する最大範囲に一致する。上述の記述において、本発明の十分な理解を提供するため、各種特定の詳細が説明される。当業者なら、本発明が行えることが理解できる。
【００５２】
上述の本発明の具体例は、各種ハードウェア、ソフトウェアコード、または、それらの組み合わせで実行される。たとえば、本発明の具体例は、画像圧縮チップに整合される回路、または、画像圧縮ソフトウェアに整合されるプログラムコードで、上述の処理を実行する。本発明の具体例は、デジタルシグナルプロセッサ（ＤＳＰ）で実行されるプログラムコードで、上述の処理を実行する。本発明は、さらに、コンピュータプロセッサ、デジタルシグナルプロセッサ、マイクロプロセッサ、または、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）により実行される複数の機能を含む。これらのプロセッサは、本発明により具体化される特定の方法を定義する機械読み取り可能ソフトウェアコード、または、ファームウェアコードを実行することにより、本発明による特定のタスクを実行するように設定される。ソフトウェアコード、または、ファームウェアコードは、異なるプログラミング言語、および、異なるフォーマット、または、スタイルで開発される。ソフトウェアコードは、さらに、異なるターゲットプラットフォームにコンパイルされる。しかし、本発明によるタスクを実行するソフトウェアコードの異なるコードフォーマット、スタイル、および、言語、および、設定コードのその他の手段は、本発明の精神を逸脱しない。
【００５３】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
【図１Ａ】
0006316785.tif 000010
【図１Ｂ】
0006316785.tif 000011
【図１Ｃ】
0006316785.tif 000012
【図２】
0006316785.tif 000013
【図３】
0006316785.tif 000014