(57)【特許請求の範囲】
【請求項１】
ピクチャのパレット符号化方法であって、前記ピクチャは、複数の符号化ユニット（ＣＵ）に分割され、前記方法は、
現在の符号化ユニットの現在のパレットテーブルに関連する入力データを受信する工程と、
パレット予測テーブルを識別する工程と、
前記パレット予測テーブル中の個別のパレット値が、前記現在のパレットテーブル中に用いられるかどうかを示す再利用フラグを決定し、前記パレット予測テーブル中の一つの対応するパレット値が、前記現在のパレットテーブル中に用いられない場合、一つの再利用フラグは第一値が割り当てられ、前記パレット予測テーブル中の前記一つの対応するパレット値が、前記現在のパレットテーブル中で用いられる場合、前記一つの再利用フラグは第二値が割り当てられる工程と、
前記現在の符号化ユニットのシグナリングされる値を有する前記再利用フラグのランレングスにしたがって、現在のパレットテーブルの情報をシグナリングする工程であって、前記シグナリングされる値は、前記第一値または前記第二値であり、各ランレングスは、前記シグナリングされる値を有するゼロあるいはそれ以上の連続した再利用フラグ、前記シグナリングされる値を有する前記現在のブロックに先行するゼロあるいはそれ以上の引導再利用フラグ、あるいは、前記シグナリングされる値を有する前記現在のブロックに続くゼロあるいはそれ以上の後続再利用フラグの第一数量として計数される工程と、
を有することを特徴とする方法。
【請求項２】
前記第一値は“0”に対応し、前記第二値は“1”に対応し、前記シグナリングされる値は前記第一値に対応することを特徴とする請求項１に記載の方法。
【請求項３】
Ｋ階級の指数関数−ゴロムコード（EG-Kコード）、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、あるいは、切り捨てられた単項コード + EG-Kコードを用いて、前記ランレングスが二値化されることを特徴とする請求項１に記載の方法。
【請求項４】
エンドコード（ＥＣ）が用いられて、現在の再利用フラグの後の一つ以上の残りの再利用フラグがどれも、第二値を有さないことを示すことを特徴とする請求項１に記載の方法。
【請求項５】
ＥＣコード値は前記エンドコードが割り当てられるとともに、前記ＥＣコード値以上のランレングス値を有する任意のランレングスが１増加して、修正ランレングスを形成することを特徴とする請求項４に記載の方法。
【請求項６】
符号化ユニットサイズ、前の予測パレットのパレットインデックス、あるいは、両方に対応して、前記ＥＣコード値が、適応的に、前記エンドコードに割り当てられることを特徴とする請求項５に記載の方法。
【請求項７】
Ｋ階級の指数関数−ゴロムコード（EG-Kコード）、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、あるいは、Ｎビットの切り捨てられた単項コード + EG-Kコードを用いて、前記ランレングスと前記ＥＣコード値が二値化され、前記ランレングスは、一つ以上の未修正のランレングスおよび／または 一つ以上の修正ランレングスから構成されることを特徴とする請求項５に記載の方法。
【請求項８】
明示の終了フラグが用いられて、前記現在のパレットテーブルの情報のシグナリングが完成したことを示すことを特徴とする請求項１に記載の方法。
【請求項９】
構文num_of_zero_run_M、あるいは、構文 num_of_zero_run_equal_larger_M がシグナリングされて、それぞれ、前記現在の符号化ユニットの前記再利用フラグのＭ値のランレングス、あるいは、Ｍかそれより大きい値のランレングスの第二数量を示し、各Ｍ値のランレングスはＭに等しい第一ランレングス値を有する、あるいは、各Ｍかそれより大きい値のランレングスはＭ以上である第二ランレングス値を有し、Ｍは整数であることを特徴とする請求項１に記載の方法。
【請求項１０】
ピクチャのパレット復号方法であって、前記ピクチャは複数の符号化ユニット（ＣＵ）に分割され、前記方法は、
現在の符号化ユニットに関連する圧縮データを含むビデオビットストリームを受信する工程と、
パレット予測テーブルを識別する工程と、
前記ビデオビットストリームから、前記パレット予測テーブル中の個別のパレット値が、現在のパレットテーブル中に用いられるかどうかを示す再利用フラグのランレングスを決定する工程であって、
前記パレット予測テーブル中の一つの対応するパレット値が、前記現在のパレットテーブル中に用いられない場合、一つの再利用フラグは第一値が割り当てられ、前記パレット予測テーブル中の前記一つの対応するパレット値が、前記現在のパレットテーブル中で用いられる場合、前記一つの再利用フラグは第二値が割り当てられ、
各ランレングスが、シグナリングされる値を有するゼロあるいはそれ以上の連続した再利用フラグ、前記シグナリングされる値を有する前記現在のブロックに先行するゼロあるいはそれ以上の引導再利用フラグ、あるいは、前記シグナリングされる値を有する前記現在のブロックに続くゼロあるいはそれ以上の後続再利用フラグの第一数量として計数される工程と、
前記再利用フラグのランレングスに基づいて、前記現在の符号化ユニットの現在のパレットテーブルの前記再利用フラグを導出する工程と、
前記再利用フラグと前記パレット予測テーブルに基づいて、前記現在のパレットテーブルを再構成する工程と、
を有することを特徴とする方法。
【請求項１１】
前記第一値は“0”に対応し、前記第二値は“1”に対応し、前記シグナリングされる値は前記第一値に対応することを特徴とする請求項１０に記載の方法。
【請求項１２】
Ｋ階級の指数関数−ゴロムコード（EG-Kコード）、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、あるいは、Ｎビットの切り捨てられた単項コード + EG-Kコードを用いて、前記ランレングスが二値化されることを特徴とする請求項１０に記載の方法。
【請求項１３】
Ｋは、{0, 1, 2, 3}から構成される第一群から選択され、Ｎは、{0, 1, 2, 3}から構成される第二群から選択されることを特徴とする請求項１２に記載の方法。
【請求項１４】
エンドコード（ＥＣ）が用いられて、現在の再利用フラグの後の一つ以上の残りの再利用フラグのどれもが、前記第二値を有さず、ＥＣコード値が前記エンドコードに割り当てられるとともに、ＥＣコード値以上のランレングス値を有する任意のランレングスが１増加して、修正ランレングスを形成することを示すことを特徴とする請求項１０に記載の方法。
【請求項１５】
復号されたランレングスが、ＥＣコード値に等しいランレングス値を有する場合、前記現在の符号化ユニットの前記ビデオビットストリームの構文解析が終了することを特徴とする請求項１４に記載の方法。
【請求項１６】
復号されたランレングスが、ＥＣコード値より大きいランレングス値を有する場合、前記復号されたランレングスの前記ランレングス値は１減少することを特徴とする請求項１４に記載の方法。
【請求項１７】
前記現在の符号化ユニットに関連する情報、前記現在の符号化ユニットの符号化パラメータ、前に符号化された情報、あるいは、それらの任意の組み合わせに応じて、前記ＥＣコード値が、前記エンドコードに適応的に割り当てられることを特徴とする請求項１４に記載の方法。
【請求項１８】
符号化ユニットサイズ、前の予測パレットのパレットインデックス、あるいは、両方に応じて、前記ＥＣコード値が、前記エンドコードが適応的に割り当てられることを特徴とする請求項１７に記載の方法。
【請求項１９】
Ｋ階級の指数関数−ゴロムコード（EG-Kコード）、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、あるいは、Ｎビットの切り捨てられた単項コード + EG-Kコードを用いて、前記ランレングスと前記ＥＣコード値が二値化され、前記ランレングスは、一つ以上の未修正ランレングスおよび／または一つ以上の修正ランレングスから構成されることを特徴とする請求項１４に記載の方法。
【請求項２０】
明示の終了フラグが用いられて、前記現在の符号化ユニットに関連する前記圧縮データの終わりを示すことを特徴とする請求項１０に記載の方法。
【請求項２１】
前記再利用フラグの前記ランレングスの一つのランレングス符号化値は終了フラグとして指定され、前記ランレングス符号化値は、{0, 1, 2, 3, 4, 5, 6}から構成される一群から選択されることを特徴とする請求項２０に記載の方法。
【請求項２２】
構文 num_of_zero_run_M、あるいは、構文 num_of_zero_run_equal_larger_M がシグナリングされて、それぞれ、前記現在の符号化ユニットの前記再利用フラグのＭ値のランレングス、あるいは、Ｍかそれより大きい値のランレングスの第二数量を示し、各Ｍ値のランレングスはＭに等しい第一ランレングス値を有する、あるいは、各Ｍかそれより大きい値のランレングスはＭ以上である第二ランレングス値を有し、Ｍは整数であることを特徴とする請求項１０に記載の方法。
【請求項２３】
Ｍは、{0, 1, 2, 3, 6}から構成される第一群から選択されることを特徴とする請求項２２に記載の方法。
【請求項２４】
Ｋ階級の指数関数−ゴロムコード（EG-Kコード）、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、Ｎビットの切り捨てられた単項コード + EG-Kコード、あるいは、切り捨てられた単項コードを用いて、前記構文num_of_zero_run_M、あるいは、前記構文 num_of_zero_run_equal_larger_M が二値化されることを特徴とする請求項２２に記載の方法。
【請求項２５】
Ｋは、{0, 1, 2, 3}から構成される第一群から選択され、Ｎは、{0, 1, 2, 3}から構成される第二群から選択されることを特徴とする請求項２４に記載の方法。
【請求項２６】
前記現在の符号化ユニットの前記ランレングスの前に、前記構文 num_of_zero_run_M、あるいは、前記構文 num_of_zero_run_equal_larger_M が復号されることを特徴とする請求項２２に記載の方法。
【請求項２７】
Ｍに等しい第三ランレングス値を有する復号されたランレングスの第三数量が構文 num_of_zero_run_Mより大きい場合、あるいは、Ｍ以上の第四ランレングス値を有する復号されたランレングスの第四数量が構文 num_of_zero_run_equal_larger_Mより大きい場合、前記現在の符号化ユニットの前記ビデオビットストリームの構文解析が終了することを特徴とする請求項２２に記載の方法。
【請求項２８】
ビデオ符号化システムにおけるピクチャのパレット符号化装置であって、前記ピクチャは、複数の符号化ユニット（ＣＵ）に分割され、前記装置は一つ以上の電子回路を有し、
前記電子回路が、
現在の符号化ユニットに関連する入力データを受信し、
前記現在の符号化ユニットの画素値に基づいて、現在のパレットテーブルを決定し、
パレット予測テーブルを識別し、
前記パレット予測テーブル中の個別のパレット値が、前記現在のパレットテーブル中に用いられるかを示す再利用フラグを決定し、前記パレット予測テーブル中の一つの対応するパレット値が、前記現在のパレットテーブルに用いられない場合、一つの再利用フラグは第一値が割り当てられ、前記パレット予測テーブル中の前記一つの対応するパレット値が、前記現在のパレットテーブルに用いられる場合、前記一つの再利用フラグは第二値が割り当てられ、
前記現在の符号化ユニットのシグナリングされる値を有する前記再利用フラグのランレングスにしたがって、現在のパレットテーブルの情報をシグナリングし、前記シグナリングされる値は、前記第一値または前記第二値であり、各ランレングスが、前記シグナリングされる値を有するゼロあるいはそれ以上の連続した再利用フラグ、前記シグナリングされる値を有する前記現在のブロックに先行するゼロあるいはそれ以上の引導再利用フラグ、あるいは、前記シグナリングされる値を有する前記現在のブロックに続くゼロあるいはそれ以上の後続再利用フラグの第一数量として計数されるように構成されることを特徴とする装置。
【請求項２９】
ピクチャのパレット復号装置であって、前記ピクチャは、複数の符号化ユニット（ＣＵ）に分割され、前記装置は一つ以上の電子回路を有し、
前記電子回路が、
現在の符号化ユニットに関連する圧縮データを含むビデオビットストリームを受信し、
パレット予測テーブルを決定し、
前記ビデオビットストリームから、前記パレット予測テーブル中の個別のパレット値が、現在のパレットテーブル中に用いられるかどうかを示す再利用フラグのランレングスを決定し、
前記パレット予測テーブル中の一つの対応するパレット値が、前記現在のパレットテーブル中に用いられない場合、一つの再利用フラグは第一値が割り当てられ、前記パレット予測テーブル中の前記一つの対応するパレット値が、前記現在のパレットテーブル中で用いられる場合、前記一つの再利用フラグは第二値が割り当てられ、
各ランレングスが、シグナリングされる値を有するゼロあるいはそれ以上の連続した再利用フラグ、前記シグナリングされる値を有する前記現在のブロックに先行するゼロあるいはそれ以上の引導再利用フラグ、あるいは、前記シグナリングされる値を有する前記現在のブロックに続くゼロあるいはそれ以上の後続再利用フラグの第一数量として計数され、
前記再利用フラグの前記ランレングスに基づいて、前記現在の符号化ユニットの現在のパレットテーブルの前記再利用フラグを導出し、
前記再利用フラグと前記パレット予測テーブルに基づいて、前記現在のパレットテーブルを再構成するように構成されることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２０１４年５月２３日に出願された米国特許仮出願番号６２/００２２２１および２０１４年８月２１日に出願された米国特許仮出願番号６２/０４００２０から、優先権を主張する。その内容は引用によって本願に援用される。
【０００２】
本発明は、ビデオデータのカラーインデックス符号化に関するものである。特に、本発明は、パレット予測技術を用いたパレットテーブル符号化に関するものである。
【背景技術】
【０００３】
高効率ビデオコーディング（ＨＥＶＣ）は、近年開発されている新しい符号化標準である。高効率ビデオコーディング（ＨＥＶＣ）システムにおいて、H.264/AVCの固定サイズのマイクロブロックは、コーディングユニット（ＣＵ）と称されるフレキシブルなブロックにより代替される。ＣＵ中の画素は、同じ符号化パラメータを共有して、符号化効率を改善する。ＣＵは、ＨＥＶＣ中、符号化ツリーユニット（ＣＴＵ）とも称される最大ＣＵ（ＬＣＵ）から始まる。コーディングユニットの概念に加え、予測ユニット（ＰＵ）の概念も、またＨＥＶＣに導入される。一旦、ＣＵ階層ツリーの分割が行われると、各リーフＣＵは、さらに、予測タイプおよびＰＵ分割にしたがって、一つ以上の予測ユニット（ＰＵ）に分割される。
【０００４】
高効率ビデオコーディング（ＨＥＶＣ）標準の発展に伴い、ＨＥＶＣの拡張の発展も始まっている。ＨＥＶＣ拡張は、非4:2:0カラーフォーマット、たとえば、4:2:2および4:4:4および高ビット深度、たとえば、１サンプルごとに１２、１４および１６ビットを標的にする範囲拡張（RExt）を有する。RExtを用いたふさわしいアプリケーションのひとつは、有線または無線接続によるスクリーンシェアリングである。スクリーンコンテンツの特定の特徴のため、符号化ツールが発展するとともに、符号化効率において十分な発展を証明している。それらの間で、カラーインデックスコーディング（別名、メジャーカラーベースのコーディング）技術は、インデックスを用いて、画素のブロックをパレット（メジャーカラー）に示すとともに、空間的冗長性を利用することにより、パレットとインデックスを符号化する。可能な配色の総数が大量である場合、ピクチャ領域中の色の数は、通常、一般のスクリーンコンテンツにとって非常に限られる。これにより、カラーインデックスコーディングは、スクリーンコンテント材料にとって、非常に効果的になる。
【０００５】
ＨＥＶＣ範囲拡張（RExt）の初期開発中、パレット−ベースのコーディングに取り組むいくつかの提案が開示されている。たとえば、JCTVC-N0247 (Guo et al.,“RCE3: Results of Test 3.1 on Palette Mode for Screen Content Coding”, Joint Collaborative Team on video coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 14th Meeting: Vienna, AT, 25 July - 2 Aug. 2013 Document: JCTVC-N0247)とJCTVC-O0218 (Guo et al., “Evaluation of Palette Mode Coding on HM-12.0+RExt-4.1”, Joint Collaborative Team on video coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 15th Meeting: Geneva, CH, 23 Oct. - 1 Nov. 2013, Document: JCTVC-O0218)中で、パレット予測と共有技術が公開されている。JCTVC-N0247において、各カラーコンポーネントのパレットが構築および送信される。パレットが、左側隣接ＣＵから予測（あるいは、シェア）されて、ビットレートを減少させる。その後、それらのパレットインデックスを用いて、所定のブロック中の全画素が符号化される。JCTVC-N0247による符号化プロセスの例は以下のようである。
1.  パレットの送信:カラーインデックステーブルサイズがまず送信され、次に、パレットエレメンツが送信される。
2.  画素値の送信:ＣＵ中の画素が、ラスター走査順序で符号化される。一つ以上の画素の各群において、まず、ランベースモードのフラグが送信されて、“run”モードまたは“copy-above”モードが用いられるかどうかを示す。
2.1  “run” モード: “run”モードにおいて、まず、パレットインデックスがシグナリングされて、その後に、run 値を示す“palette_run”（たとえば、M）が続く。run値は、Ｍ個のサンプルの総計がすべて、“run”モードを用いて符号化されることを示す。ビットストリームでシグナリングされるのと同じパレットインデックスを有するので、それ以上の情報は、現在の位置および続くＭ位置に送信される必要がない。パレットインデックス (たとえば、i)は、さらに、全部で３個のカラーコンポーネントによりシェアされ、YUV カラースペースのケースにおいて、再構成された画素値が、(Y, U, V)=(paletteY[i], paletteU[i], paletteV[i])であることを意味する。
2.2  “copy-above” mode: “copy-above”モードにおいて、値“copy_run” (たとえば、N)が送信されて、以下のＮ個の位置（現在のものを含む）に示され、パレットインデックスは、上述のロウ中の対応するパレットインデックスと同じである。
3.  剰余の送信：ステージ２で送信されるパレットインデックスは画素値に転換されるとともに、画素値に戻されて、予測として用いられる。剰余情報は、ＨＥＶＣ剰余コーディングを用いて送信され、且つ、再構成の予測に加えられる。
【０００６】
JCTVC-N0247で公開される実施例のオリジナルバージョンで、各コンポーネントのパレットが構築および送信される。パレットが、その左隣接ＣＵから予測（共有）されて、ビットレートを減少させる。JCTVC-O0218において、パレット中の各エレメントはトリプレットで、３個のカラーコンポーネントの特定の組み合わせを表す。ＣＵ上のパレットの予測符号化が排除される。
【０００７】
Guo等により、JCTVC-O0182 (Guo et al., “AHG8: major-color-based screen content coding”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 15th Meeting: Geneva, CH, 23 Oct. - 1 Nov. 2013, Document: JCTVC-O0182)中で、さらに別のメジャーカラーベースコーディング（カラーインデックスコーディング）方法が開示さている。JCTVC-O0182によると、各コンポーネントのパレットが構成並びに送信される。しかし、左ＣＵからのパレット全体の予測に代わって、パレット中の個別のエントリーは、上方ＣＵまたは左ＣＵ中、対応する正確なパレットエントリーから予測される。
【０００８】
JCTVC-O0182によると、画素値の送信において、予測コーディング方法がインデックスに適用され、画素ラインが、異なるモードにより予測される。特に、三種のラインモードが、画素ライン、すなわち、水平モード、垂直モードおよび通常モードに用いられる。水平モードにおいて、同じライン中の全画素は同じ値を有する。値が、上方画素ラインの第一画素と同じ場合、ラインモードシグナリングビットだけが送信される。そうでなければ、インデックス値も送信される。垂直モードにおいて、現在の画素ラインは、前述の画素ラインと同じである。これにより、ラインモードシグナリングビットだけが送信される。通常モードにおいて、ライン中の画素が個別に予測される。各画素において、左または上方の隣接画素は予測因子として用いられ、予測符号はデコーダに送信される。さらに、画素が、メジャーカラー画素とエスケープ画素に分類される。メジャーカラー画素において、コーダは、メジャーカラーインデックスおよびパレットを用いて、画素値を再構成する。エスケープ画素において、エンコーダは、さらに、画素値を送信する。
【０００９】
カラーインデックスコーディングに関連する符号化効率をさらに改善する方法の開発が望まれる。
【発明の概要】
【００１０】
イメージおよびビデオデータの予測パレット符号化の方法と装置が開示される。パレット予測において、現在のパレットテーブルは、予測的に、パレット予測テーブルを参照して符号化される。再利用フラグが用いられて、パレット予測テーブル中の個別のパレット値が、現在のパレットテーブル中に用いられるか示す。本発明は、ランレングス符号化を再利用フラグのランレングスに適用して、符号化効率を改善する。一実施態様によると、パレット予測テーブル中の対応するパレット値が現在のパレットテーブルに用いられない場合、再利用フラグは第一値が割り当てられ、パレット予測テーブル中の対応するパレット値が現在のパレットテーブル中に用いられる場合、再利用フラグは第二値が割り当てられる。たとえば、第一値は“0”に対応し、第二値は“1”に対応する。ランレングスは、第一値を有する連続した再利用フラグの数量に対応する。
【００１１】
一実施態様において、エンドコード（ＥＣ）が用いられて、現在の再利用フラグの後の一つ以上の残りの再利用フラグのどれも第二値を有さないことを示す。ＥＣコード値がエンドコードに割り当てられるとともに、ＥＣコード値以上のランレングス値を有する任意のランレングスが１増加して、修正されたランレングスを形成する。デコーダ側で、復号されたランレングスが、ＥＣコード値に等しいランレングス値を有する場合、現在の符号化ユニットのビデオビットストリームの構文解析プロセスが終了する。復号されたランレングスが、ＥＣコード値より大きいランレングス値を有する場合、復号されたランレングスのランレングス値は１減少する。現在の符号化ユニットに関連する情報、現在の符号化ユニットの符号化パラメータ、前に符号化された情報、あるいは、それらの任意の組み合わせに応じて、ＥＣコード値が適応的に、エンコードに割り当てられる。たとえば、符号化ユニットサイズ、前の予測パレットのパレットインデックス、あるいは、両方にしたがって、ＥＣコード値が適応的にエンドコードに割り当てられる。
【００１２】
Ｋ階級の指数関数−ゴロムコード（EG-Kコード）、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、あるいは、Ｎビットの切り捨てられた単項コード + EG-Kコードを用いて、ＥＣコード値を有するランレングス、あるいは、修正されたランレングスが二値化される。ＫとＮは、{0, 1, 2, 3}から構成される一群から選択される。
【００１３】
ＥＣの使用のほか、別の実施態様は、明示の終了フラグ（ending_flag）を用いて、現在の符号化ユニットに関連する圧縮データの終了を示す。再利用フラグのランレングスのひとつのランレングス符号化値は終了フラグとして指定され、ランレングス符号化値は、{0, 1, 2, 3, 4, 5, 6}から構成される一群から選択される。ＥＣ符号化と同様に、明示の終了フラグは、さらに適応的に符号化される。
【００１４】
さらに別の実施態様において、構文 num_of_reused_palette がシグナリングされて、最後の符号化パレットテーブルから再利用されるパレット値の数量を示す。Ｋ階級の指数関数−ゴロムコード（EG-Kコード）、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、Ｎビットの切り捨てられた単項コード + EG-Kコード、あるいは、切り捨てられた単項コードを用いて、構文 num_of_reused_palette が二値化される。ＫとＮは、{0, 1, 2, 3}から構成される一群から選択される。再利用フラグのランレングスをシグナリングする前、構文 num_of_reused_paletteがシグナリングされる。最後の符号化パレットテーブルから再利用されるパレット値の数量がゼロである場合、再利用フラグのランレングスはシグナリングされる必要がない。
【００１５】
さらに別の実施態様において、構文 num_of_zero_run_M がシグナリングされて、現在の符号化ユニットの再利用フラグのＭ値のランレングスの数量を示す、あるいは、構文 num_of_zero_run_equal_larger_M がシグナリングされて、現在の符号化ユニットのＭかそれより大きい値のランレングスの数量を示す。Ｍ値のランレングスは、Ｍに等しい符号化ランレングス値の数量を有する。Ｍかそれより大きい値のランレングスは、Ｍ以上の符号化ランレングス値の数量を有する。Ｍは整数である。Ｋ階級の指数関数−ゴロムコード（EG-Kコード)、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、Ｎビットの切り捨てられた単項コード + EG-Kコード、あるいは、切り捨てられた単項コードを用いて、構文num_of_zero_run_M、あるいは、構文 num_of_zero_ run_equal_larger_M が二値化される。ＫとＮは、{0, 1, 2, 3}から構成される一群から構成される。エンドコード（ＥＣ）が用いられて、現在の再利用フラグの後の一つ以上の残りの再利用フラグ中のどれにも第二値がないことを示し、Ｍに等しいＥＣコード値がエンドコードに割り当てられる。構文 num_of_zero_run_M、あるいは、構文 num_of_zero_run_ equal_larger_M が現在の符号化ユニットのランレングスの前に復号される。Ｍに等しいランレングス値を有する復号されたランレングスの数が構文 num_of_zero_run_Mより大きい、あるいは、Ｍ以上のランレングス値を有する復号されたランレングスの数が構文 num_of_zero_run_equal_larger_Mより大きい場合、現在の符号化ユニットのビデオビットストリームの構文解析プロセスが終了する。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施態様によるパレット予測符号化の例を示す図で、値が０の再利用フラグのランレングスがパレット予測に用いられる。
【図２】本発明の実施態様によるパレット予測符号化の例を示す図で、エンドコードが用いられて、最後のゼロラン(last zero-run)を示す。
【図３】本発明の実施態様によるパレット予測符号化の例を示す図で、エンドコード（ＥＣ）が用いられて、最後のゼロランを示すとともに、ＥＣコード値以上のランレングス値を有するゼロランのランレングス値が１増加する。
【図４】本発明の実施態様によるパレット予測符号化の例を示す図で、エンドコード（ＥＣ）が用いられて、最後のゼロランを示し、ＥＣが適応的に符号化される。
【図５】本発明の実施態様によるパレット予測符号化の例を示す図で、明示の終了フラグ(ending-flag)が用いられて、最後のゼロランを示す。
【図６】本発明の実施態様によるパレット予測符号化の例を示す図で、再利用予測パレットエントリーの数量を示す構文要素がシグナリングされる。
【図７】本発明の実施態様によるパレット予測符号化の例を示す図で、Ｍに等しいランレングス値を有するゼロランの数量を示す構文要素がシグナリングされる。
【図８】本発明の実施態様によるパレット予測符号化の例を示す図で、Ｍ以上のランレングス値を有するゼロランの数量を示す構文要素がシグナリングされる。
【図９】本発明の実施態様によるパレット予測を組み込んだビデオ符号化システムのフローチャートである。
【図１０】本発明の実施態様によるパレット予測を組み込んだビデオ復号システムのフローチャートである。
【発明を実施するための形態】
【００１７】
パレット予測符号化のパフォーマンスを改善する本発明の各種実施態様が開示される。パレット予測において、再利用フラグが用いられて、パレット予測テーブル中の個別のパレット値が現在のパレットテーブル中に用いられるか示す。本発明は、ランレングス符号化をランレングスに適用して、符号化効率を改善する。
【００１８】
パレット予測符号化
【００１９】
JCTVC-O0218とJCTVC-N0247において、パレット予測フラグが用いられて、最後のパレット-符号化ユニット（ＣＵ）からパレットを予測する。１ビットが各エントリーに用いられる。JCTVC-Q0063 (Gisquet et al., AhG10: パレット予測 stuffing, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 17th Meeting: Valencia, ES, 27 March - 4, April 2014, Document: JCTVC-Q0063)において、予測終了フラグが導入されて、符号化効率を改善する。
【００２０】
パフォーマンスを改善するため、本発明の実施態様によるコード名の各種二値化プロセスが開示される。二値化プロセスは、異なるエントリーに対し異なる(例えば、EG-K コード、あるいは、打ち切り型 EG-K コード)。さらに、パレット予測は複数の領域に分割される。たとえば、パレット予測は、それぞれ、８、８および１６エントリーから構成される三個の群に分割される。異なる領域において、異なる符号化方法が適用されて、パレット予測フラグを符号化する。
【００２１】
本発明において、各エントリーに、一パレット予測フラグを使用するのに代わり、各予測パレットエントリー間のゼロランが符号化されて、送信データを減少させる。ゼロラン i のコード名は、次のパレット再利用フラグ１の前、i個のゼロがあることを意味する。たとえば、“0”は、次の一パレットが再利用されることを意味する（つまり、現在と次の再利用フラグ１の間に０がない）。“1”は、第二次のパレットが再利用されることを意味する。１２パレットを有するパレット予測テーブルが図１に示される。パレット予測インデックス 0, 2, 3, 5, と 8 により示されるパレットエントリーは、現在のＣＵにより再利用され、対応する再利用フラグが１の値を有する。パレット予測インデックス 1, 4, 6, 7, 9, 10 と 11により示されるパレットエントリーは、現在のＣＵにより再利用されず、対応する再利用フラグは０の値を有する。図１に示されるように、予測パレットエントリーの再利用フラグのランレングス(すなわち、ゼロラン)は{0, 1, 0, 1, 2, 3}である。
【００２２】
二値化方法は、Ｋ階級の指数関数−ゴロムコード（EG-Kコード)、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、あるいは、Ｎビットの切り捨てられた単項コード + EG-Kコードである。Ｋは0, 1, 2, あるいは 3である。Ｎは、０、１、２、あるいは、３である。図１において、例のEG-0コードに基づく二値化が示される。
【００２３】
最後に用いられたパレットをシグナリングするため、JCTVC-R0228 (Seregin et al., Non-SCCE3: Run-length coding for palette predictor, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC29/WG11, 18th Meeting: Sapporo, JP, 30 June - 9 July 2014, Document: JCTVC-R0228)中で、エンドコード（ＥＣ）をコード名に挿入する方法が開示される。エンドコードを用いたパレット予測の例が図２に示され、０値を有する後続再利用フラグが、エンドコード（すなわち、図２の“最後”）により表示される。
【００２４】
本発明の一実施態様によると、ＥＣコード値がエンドコードに割り当てられ、ランレングス修正過程が実行されて、再利用フラグの各ランレングス（すなわち、ゼロラン）が修正されるべきかどうか判断する。ＥＣコード値以上であるゼロランは、各自ランレングス値を１増加することにより修正される。デコーダ側において、復号されたゼロランが、ＥＣコード値に等しいランレングス値を有する場合、それが、現在のＣＵの符号化データの終了であるとともに、現在のＣＵに別の予測パレットデータがないことを意味する。復号ゼロランが、ＥＣコード値より大きいランレングス値を有する場合、復号ゼロランが修正ゼロランであるとともに、実際のランレングス値が、復号されたランレングス値を１減らされるべきである。
【００２５】
たとえば、ＥＣコード値は１が割り当てられる。その後、図２の例の挿入されたエンドコードを有するランレングスは、図３に示されるように、{0, 2, 0, 2, 3, 1}として修正されるべきで、各修正されたランレングスは、太い数字により示される。ＥＣコード値が２に設定される場合、図２の例の挿入されたエンドコードを有するランレングスは、{0, 1, 0, 1, 3, 2}として修正されるべきである。ランレングス修正過程後、Ｋ階級の指数関数−ゴロムコード（EG-Kコード）、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、あるいは、Ｎビットの切り捨てられた単項コード + EG-Kコードを用いて、各ランレングス（すでに修正されているかどうかにかかわらず）とＥＣコード値が二値化される。ＫとＮは、{0, 1, 2, 3}から構成される一群から選択される。
【００２６】
本発明の別の実施態様は、適応ＥＣ符号化を組み込んで、ゼロランを符号化する。ＥＣコード値は、現在の符号化ユニット、現在の符号化ユニットの符号化パラメータ、前に符号化された情報、あるいは、それらの任意の組み合わせに関連する情報に基づく。たとえば、ＥＣ符号化はＣＵサイズに基づき、よって、ＣＵサイズが１６以上である場合、ＥＣコード値は１に設定される。そうでなければ、ＥＣコード値は３に設定される。ゼロランの二値化は、EG-0コードに従う。
【００２７】
ＥＣコード値は、さらに、前の予測パレットのパレット予測インデックスに基づく。つまり、ＥＣコード値は、前の予測パレットテーブルのエントリー位置に基づく。たとえば、前の予測パレットのパレット予測インデックスがスレショルド以下である場合、ＥＣコード値は０値に設定される。前の予測パレットのパレット予測インデックスがスレショルドより大きい場合、ＥＣコード値は別の値に設定される。たとえば、パレット予測インデックスが１６以下である場合、スレショルドは１６、且つ、ＥＣコード値は３に設定される。そうでなければ、ＥＣコード値は１に設定される。ゼロランの二値化はEG-0コードに従う。
【００２８】
別の例において、前のパレットのパレット予測インデックスのスレショルドは４である。図４に示されるように、４以下のパレット予測インデックスのゼロランは{0, 1, 0, 1}である。全ゼロランがＥＣコード値（つまり、３）より小さいので、ゼロランを修正する必要がない。スレショルド（つまり、４）より大きいパレット予測インデックスの残りのゼロランは{2, EC}である。この領域において、パレット予測インデックスが４より大きいので、ＥＣコード値は１に設定される。これにより、ランレングス値が２のゼロランは、１増加される必要がある。したがって、図４に示されるように、ゼロランが{0, 1, 0, 1, 3, 1}に修正される。
【００２９】
本発明の別の実施態様において、最後の予測パレットの符号化は、明示の終了フラグのシグナリングに対応する。たとえば、符号化されたゼロランが値Ｋに等しいとき、終了フラグは明示的にシグナリングされる。それは、予測パレットの終了を示す。Ｋは、整数、たとえば、0, 1, 2, 3, 4, 5あるいは6である。たとえば、Ｋが２に等しく、且つ、EG-0コードがゼロランの二値化に用いられる場合、図１の例のゼロランの修正組は、図５に示される{0, 1, 0, 1, 2+(1 bit of 0), 2+(1 bit of 1)}になる。２に等しいランレングスを有するゼロランのコードを分化するため、追加ビットが、２値を有するランレングスのバイナリコードの末端に添付されるとともに、終了フラグが、図５中で、アンダーラインビットとして示される。
【００３０】
パラメータＫはＣＵサイズに基づく。たとえば、ＣＵサイズ が１６以上である場合、Ｋは２である。そうでなければ、Ｋは６である。ゼロランの二値化は、EG-0コードに従う。
【００３１】
パラメータＫは、さらに、前の予測パレットのインデックスに基づく。たとえば、前の予測パレットのパレット予測インデックスが１６以上である場合、Ｋは２に設定される。そうでなければ、Ｋは６に設定される。ゼロランの二値化は、EG-0コードに従う。
【００３２】
さらに別の実施態様において、最後の予測パレットエントリーの符号化は、構文要素, num_of_reused_palette のシグナリングに対応して、最後の符号化パレットテーブルから再利用されるパレットエントリーの数量を示す。num_of_reused_paletteの二値化は、Ｋ階級の指数関数−ゴロムコード（EG-Kコード）、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、Ｎビットの切り捨てられた単項コード + EG-Kコード、あるいは、切り捨てられた単項コードであり、Ｋは、0, 1, 2あるいは 3 、Ｎは、０、１、２、あるいは、３である。
【００３３】
例が図６に示され、最後の符号化パレットテーブルから再利用される５個の予測パレットエントリーがある。５に等しい構文 num_of_reused_palette がシグナリングされて、予測パレットエントリーの数量を示す。その後、構文 num_of_reused_palette の後、{0, 1, 0, 1, 2} に対応するゼロランがシグナリングされる。num_of_reused_paletteが０に等しい場合、ゼロランをシグナリングする必要がない。
【００３４】
別の実施態様において、最後の予測パレットエントリーの符号化は、構文 num_of_zero_run_M のシグナリングに対応し、構文 num_of_zero_run_M は、Ｍに等しいランレングス値を有するゼロランの数量に対応する。Ｍは、整数、たとえば、０、１、２、３、あるいは、６である。 num_of_zero_run_M の二値化は、Ｋ階級の指数関数−ゴロムコード（EG-Kコード）、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、Ｎビットの切り捨てられた単項コード + EG-Kコード、あるいは、切り捨てられた単項コードで、Ｋは、０、１、２、あるいは、３、および、Ｎは、０、１、２、あるいは、３である。ゼロランのエンドコードはＭに等しい。
【００３５】
上述の構文 num_of_zero_run_M を用いた例が図７に示され、Ｍは１に等しく、１に等しい二個のゼロラン（太い数字により示される）がある。したがって、２に等しいnum_of_zero_run_M がまず符号化される。その後、{0, 1, 0, 1, 2, 1}に対応するゼロランがシグナリングされる。最後のコード名“1”はエンドコードである。
【００３６】
デコーダ側において、num_of_zero_run_M がまずデコードされ、その後、ゼロランが復号される。ランレングス値Ｍを有する復号ゼロランの数量がnum_of_zero_run_Mより大きい場合、構文解析工程が終了する。たとえば、 num_of_zero_run_M が２に等しく、且つ、Мが１に等しい場合、Ｍに等しい第三ゼロランが復号されるとき、それがエンドコードであることを示す。これにより、パレット予測の構文解析が終了する。
【００３７】
さらに別の実施態様において、最後の予測パレットエントリーの符号化は、構文 num_of_zero_run_equal_larger_M のシグナリングに対応し、構文 num_of_zero_run_equal_larger_M は、Ｍ以上のゼロランの数量に対応し、Ｍは整数、たとえば、０、１、２、３、あるいは、６である。 num_of_zero_run_equal_larger_M の二値化は、Ｋ階級の指数関数−ゴロムコード（EG-Kコード）、打ち切り型Ｋ階級の指数関数−ゴロムコード（打ち切り型 EG-Kコード）、Ｎビットの切り捨てられた単項コード + EG-Kコード、あるいは、切り捨てられた単項コードで、Ｋは、０、１、２あるいは３、Ｎは、０、１、２、あるいは、３である。ゼロランのエンドコードはＭに等しい。
【００３８】
上述の構文 num_of_zero_run_equal_larger_M を用いた例が図８で示され、Ｍは１で、１以上の３個のゼロラン（太い目立つ数字により示される）がある。３に等しい構文 num_of_zero_run_equal_larger_M がまずシグナリングされる。その後、{0, 1, 0, 1, 2, 1}に対応するゼロランがシグナリングされる。最後のコード名“1”はエンドコードである。
【００３９】
デコーダ側において、num_of_zero_run_equal_larger_M がまずデコードされ、その後、ゼロランが復号される。デコーダは、Ｍ以上のゼロランの数量を計数する。Ｍ以上の復号ゼロラン値の数量がnum_of_zero_run_equal_larger_Mより大きい場合、構文解析工程が終了する。たとえば、num_of_zero_run_ equal_larger_M が３に等しい場合、且つ、第四復号ゼロランが１以上であるとき、エンドコードを示す。パレット予測の構文解析が終了する。
【００４０】
パレット予測符号化に関連する別の態様がこの出願中で開示される。
【００４１】
インデックスマップの領域ベースＢＷＴ
【００４２】
サンプル値を主要色に量子化後、インデックスマップが、一つ以上の選択された変換により処理される。ＣＵは、複数の領域 (例えば、ライン)に分割され、各領域中のサンプルインデックスは、所定の方法により記録されるか、あるいは、変換により処理される。たとえば、変換は、データ圧縮における従来の技術であるBurrows-Wheeler変換（ＢＷＴ）である。たとえば、エンコーダ側で、ＣＵは、複数のラインに分割される。各ライン中のインデックスは、前方のＢＷＴにより記録される。記録されたインデックスは、元のインデックスマップ符号化により処理される。デコーダ側で、まず、インデックスが復号されるとともに、再構成される。その後、再構成されたインデックスは、後方のＢＷＴにより記録されて、最終のサンプルインデックスを得る。
【００４３】
インデックスマップの領域ベースラン符号化
【００４４】
ＣＵのインデックスマップは、複数の領域 (例えば、ライン)に分割される。各領域内で、JCTVC-O0218で記述されるランベース符号化が応用される。各領域中のサンプルの数量に限りがあるので、ランの最大数が決定される。ランのコード名は、打ち切り型コード名、たとえば、台形型バイナリ、切り捨てられた単項、および、打ち切り型ＥＧコードを用いることができる。２値がランの最大数によると、ランコード名の２値が推定される場合、スキップされる。
【００４５】
予測モード後のエスケープフラグ
【００４６】
JCTVC-O0218において、エスケープサンプルインデックスは、明示エスケープフラグによりシグナリングされる。予測モード（つまり、ランモードあるいはコピー上方モード）構文の前に、エスケープフラグがシグナリングされる。本発明の一実施態様は、このフラグを予測モード構文の後ろの位置に再配置する。したがって、予測モードがランモードであるときだけ、エスケープフラグがシグナリングされる。
【００４７】
予測モード前のラン
【００４８】
JCTVC-O0218において、予測モード後、ランコード名がシグナリングされる。しかし、予測モードの確率はパレットラン値に基づく。これにより、本発明による一実施態様は、予測モードの前、ランコード名をシグナリングする。
【００４９】
ランショートカット
【００５０】
JCTVC-O0218中に描写されるランベースのインデックスマップ符号化に対する代替案として、本発明の実施態様によるパレットランコード名のいくつかのショートカットが開示される。一実施態様において、パレットインデックスマップ符号化において、ＣＵ幅に等しいランのショートカットが添加される。このランショートカットの後にラインの数量の構文要素が添加されて、同じ予測モードを用いて、ラインの数量を示す。別のショートカットは、ライン末端のサンプルの数量に等しいラン数量に対応する。
【００５１】
ショートカットの別の例において、現在の位置にランを加えたものが、現在のライン幅より大きい(あるいは等しい)時、追加構文がシグナリングされて、同じ予測モードを用いて、ラインの数量を示す。ランショートカットのさらに別の例において、ランが、ライン幅より大きい(あるいは等しい)時、追加構文がシグナリングされて、同じ予測モードを用いて、ラインの数量を示す。
【００５２】
水平モードのインデックスマイナス１
【００５３】
JCTVC-N0247で記述されるラインサンプルベースのインデックスマップ符号化において、水平ラインモードが用いられて、一ライン中の全サンプルが同じインデックスを共有することを示す。インデックスが水平ラインモードにシグナリングされる。しかし、水平ラインモードにおいて、インデックスは、エスケープインデックスではない。これにより、本発明の実施態様によると、エスケープインデックスはインデックス符号化から除去される。シグナリングに用いられるインデックスの数量が一つ減少する。
【００５４】
パレットモードフラグの文脈形成
【００５５】
パレットモード符号化において、異なるモード、あるいは、配置を示すために用いられるいくつかのフラグがある。たとえば、palette_mode_flag が用いられて、ＣＵがパレットモードを用いているか否かを示す; palette_scan_flag が用いられて、インデックススキャンが、垂直スキャンであるか、あるいは、水平スキャンであるかを示す; および、palette_share_flag が用いられて、すべての最後の符号化パレットエントリーが、現在のＣＵに再利用されるか否かを示す。これらのフラグにおいて、文脈形成は、隣接する情報がない一コンテキストだけを用いるか、あるいは、隣接する情報を有する複数のコンテキストを用いることができる。たとえば、palette_mode_flag は、二個のコンテキストを用いることができる。コンテキストインデックスは、左ＣＵが、パレットモードで符号化されるかどうかに基づく。
【００５６】
これらのフラグの文脈形成は、現在のＣＵ情報、たとえば、ＣＵ深さに基づく。たとえば、コンテキストインデックスは、max(2, CU_depth)あるいは max(2, max_CU_depth - CU_depth)である。
【００５７】
台形型バイナリ (TB) コードの第一２値(first bin)のコンテキスト符号化２値
【００５８】
台形型バイナリが、カラーインデックス値（サンプル値）、および、カラーインデックス符号化に用いられる。本発明の実施態様によると、コンテキスト符号化が、カラーインデックス値および／またはカラーインデックスの第一２値（すなわち、最も有効な２値(MSB bin)）に適用される。
【００５９】
四分の一−ＴＢコード
【００６０】
本発明の別の実施態様は、カラーインデックス値、および、カラーインデックス符号化の四分の一の台形型バイナリ二値化方法を用いる。たとえば、インデックスは、三つの領域に分割される。第一領域は、[0, (N>>2) - 1]のインデックスを含み、Ｎはインデックスの総数、“>>”は右シフト操作を示す。第一領域のサイズは N>>2である。第一領域中のインデックスのコード名は“1” + TB(index, N>>2)、式中、ＴＢ(x,y)は、打ち切りバイナリ二値化に基づく二値化結果であり、入力がxに等しく、且つ、サイズがyに等しい。
【００６１】
第二領域は、[(N>>2), (N>>1) - 1]中のインデックスを含む。第二領域のサイズは(N>>1) - (N>>2)である。第二領域中のインデックスのコード名は、“01” + TB(index - (N>>2), (N>>1) - (N>>2))である。
【００６２】
第三領域は、[(N>>1), N - 1]中のインデックスを含む。第三領域のサイズは、N - (N>>1)である。第三領域中のインデックスのコード名は“00” + TB(index - (N>>1), N - (N>>1))である。
【００６３】
コード名選択
【００６４】
カラーインデックス値および／またはカラーインデックス符号化のさらに別の実施態様において、複数の二値化方法が用いられる。コード名_mode 構文がシグナリングされて、カラーインデックス値および／またはカラーインデックス符号化の二値化方法を示す。
【００６５】
図９は、本発明の実施態様によるパレット予測を組み込んだビデオ符号化システムのフローチャートである。システムは、工程９１０に示されるように、現在の符号化ユニットの現在のパレットテーブルに関連する入力データを受信する。入力データは、メモリ(例えば、コンピュータメモリ、バッファ(RAMあるいはDRAM)あるいは別の媒体)あるいは、プロセッサから検索される。工程９２０において、パレット予測テーブルが識別される。工程９３０において、パレット予測テーブル中の個別のパレット値が、現在のパレットテーブル中で使用されるかどうかを示す再利用フラグが決定される。パレット予測テーブル中の対応するパレット値が、現在のパレットテーブルに用いられない場合、再利用フラグは第一値が割り当てられる。パレット予測テーブル中の対応するパレット値が現在のパレットテーブル中で用いられる場合、再利用フラグは第二値が割り与えられる。工程９４０において、現在の符号化ユニットに対し第一値を有する再利用フラグのランレングスに従って、現在のパレットテーブルの情報がシグナリングされる。各ランレングスは、第二値を有する二個の隣接する再利用フラグ間で第一値を有するゼロあるいはそれ以上の連続した再利用フラグ、あるいは、第一値を有する現在のブロックのゼロあるいはそれ以上の引導再利用フラグ(leading reuse flags)、あるいは、第一値を有する現在のブロックのゼロあるいはそれ以上の後続再利用フラグの数量として計数される。
【００６６】
図１０は、本発明の実施態様によるパレット予測を組み込んだビデオ復号システムのフローチャートである。システムは、工程１０１０に示されるように、現在の符号化ユニットに関連する圧縮データを含むビデオビットストリームを受信する。ビデオビットストリームは、メモリ（例えば、コンピュータメモリ、バッファ(RAM あるいは DRAM)あるいは別の媒体）、あるいは、プロセッサから検索される。パレット予測テーブルが工程１０２０で識別される。工程１０３０において、第一値を有する再利用フラグのランレングスがビデオビットストリームから決定され、各ランレングスは、第二値を有する二個の隣接する再利用フラグ間の第一値を有するゼロあるいはそれ以上の連続した再利用フラグ、あるいは、第一値を有する現在の符号化ユニットのゼロあるいはそれ以上の引導再利用フラグ、あるいは、第一値を有する現在の符号化ユニットのゼロあるいはそれ以上の後続再利用フラグの第一数量として計数される。工程１０４０において、現在の符号化ユニットの現在のパレットテーブルの再利用フラグが、再利用フラグのランレングスに基づいて決定され、再利用フラグは、パレット予測テーブル中の個別のパレット値が、現在のパレットテーブル中で用いられるかどうかを示す。パレット予測テーブル中の一つの対応するパレット値が、現在のパレットテーブル中に用いられない場合、再利用フラグは第一値が割り当てられ、パレット予測テーブル中の対応するパレット値が現在のパレットテーブル中で用いられる場合、再利用フラグは第二値が割り当てられる。工程１０５０において、その後、再利用フラグとパレット予測テーブルに基づいて、現在のパレットテーブルが再構成される。
【００６７】
示されるフローチャートは、本発明によるパレット予測符号化の例を説明するためのものである。当業者は、本発明の精神と領域を脱しない範囲内で、各ステップを修正、再アレンジ、分割、結合して、本発明を実行することができる。本開示において、特定の構文と語義が用いられて、例を説明し、本発明の実施態様を実行する。当業者は、本発明の精神と領域を脱しない範囲内で、構文と語義を、等価の構文と語義と置き換えることにより、本発明を実施する。
【００６８】
上の記述が提示されて、当業者に、特定のアプリケーションとその要求のコンテキストに記述される通り、本発明を行うことができる。当業者なら、記述された具体例への各種修正が理解でき、ここで定義される一般原則は別の実施例にも応用できる。よって、本発明は、記述される特定の実施例に制限することを目的としておらず、原理と新規特徴と一致する最大範囲に一致する。上述の記述において、本発明の十分な理解を提供するため、各種特定の詳細が説明される。当業者なら、本発明が行えることが理解できる。
【００６９】
上述の本発明の具体例は、各種ハードウェア、ソフトウェアコード、または、それらの組み合わせで実行される。たとえば、本発明の具体例は、画像圧縮チップに整合される回路、または、画像圧縮ソフトウェアに整合されるプログラムコードで、上述の処理を実行する。本発明の具体例は、デジタルシグナルプロセッサ（ＤＳＰ）で実行されるプログラムコードで、上述の処理を実行する。本発明は、さらに、コンピュータプロセッサ、デジタルシグナルプロセッサ、マイクロプロセッサ、または、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）により実行される複数の機能を含む。これらのプロセッサは、本発明により具体化される特定の方法を定義する機械読み取り可能ソフトウェアコード、または、ファームウェアコードを実行することにより、本発明による特定のタスクを実行するように設定される。ソフトウェアコード、または、ファームウェアコードは、異なるプログラミング言語、および、異なるフォーマット、または、スタイルで開発される。ソフトウェアコードは、さらに、異なるターゲットプラットフォームにコンパイルされる。しかし、本発明によるタスクを実行するソフトウェアコードの異なるコードフォーマット、スタイル、および、言語、および、設定コードのその他の手段は、本発明の精神を逸脱しない。
【００７０】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
【図１】
0006310152.tif 000002
【図２】
0006310152.tif 000003
【図３】
0006310152.tif 000004
【図４】
0006310152.tif 000005
【図５】
0006310152.tif 000006
【図６】
0006310152.tif 000007
【図７】
0006310152.tif 000008
【図８】
0006310152.tif 000009
【図９】
0006310152.tif 000010
【図１０】
0006310152.tif 000011