(57)【特許請求の範囲】
【請求項１】
ビデオコーディングシステムにおけるパレットコーディングを用いたビデオデータのブロックの符号化方法であって、
現在のブロックに関連する入力データを受信し、前記現在のブロックの画素値が、複数のカラーコンポーネントに対応する工程と、
前ブロックが有効である場合、一つ以上の前パレット、一つの前トリプレットパレット、または、前記前ブロックに関連する両方、に対応する前パレットセットに関連する第一情報を受信する工程と、
一つ以上の前パレット予測因子に対応する前パレット予測セット、一つの前トリプレットパレット予測因子、または前記前ブロックに関連する両方、に関連する第二情報を受信する工程と、
少なくとも一つの未使用色あるいは現在パレット予測セット中の前記前パレット予測セットのトリプレットが存在するとき、前記前パレットセットおよび前記前パレット予測セットに基づいて、前記現在のパレットで使用されていない、少なくとも一つの未使用色または前記現在パレット予測セット中の前記前パレット予測セットのトリプレットを、現在パレット予測セットに含めることにより、一つ以上の現在パレット予測因子、一つの現在のトリプレットパレット予測因子、または、前記現在のブロックに関連する両方、に対応する現在パレット予測因子セットを導出する工程と、
前記現在パレット予測セットから、一つ以上の現在パレットに対応する現在パレットセット、一つの現在のトリプレットパレット、または、前記現在のブロックに関連する両方を生成する工程、および、
前記現在パレットセットにしたがって、パレット符号化または復号を、前記現在のブロックに適用する工程を有し、
前記一つ以上の前パレット予測因子、前記一つの前トリプレットパレット予測因子、または両方のパレット予測因子サイズが最大パレット予測因子サイズより小さい場合には、前記一つ以上の前パレット予測因子、前記一つの前トリプレットパレット予測因子、または両方の非再生エントリーが、前記前パレット予測因子セットのパレットインデックスの順序に応じて、前記一つ以上の前パレット予測因子、前記一つの前トリプレットパレット予測因子、または両方の現在エントリーに複製される
ことを特徴とする方法。
【請求項２】
前記現在パレットセットと前記現在パレット予測セットに基づいて、一つ以上の次の更新信号をシグナリングして、次のパレット予測因子セットを導出する工程を有することを特徴とする請求項１に記載の方法。
【請求項３】
複数の前記一つ以上の前パレット予測因子、前記一つの前トリプレットパレット予測因子、または、前記前パレットセット中の両方はＭに対応し、Ｍ組の前記一つ以上の前パレット予測因子、前記一つの前トリプレットパレット予測因子、または、前記前パレットセット中の両方は、エンコーダ側またはデコーダ側で維持され、Ｍはゼロより大きい整数であることを特徴とする請求項１に記載の方法。
【請求項４】
前記前ブロックおよび前記現在のブロックは、コーディングユニットまたは予測ユニットに対応することを特徴とする請求項１に記載の方法。
【請求項５】
前記前ブロックおよび前記現在のブロックが、前記コーディングユニットに対応する場合、コーディングユニットサイズに基づいて、前記現在パレット予測セットを導出する、または、前記前ブロックおよび前記現在のブロックが、前記予測ユニットに対応する場合、予測ユニットサイズに基づいて、前記現在パレット予測セットを導出することを特徴とする請求項４に記載の方法。
【請求項６】
前記現在パレット予測セットを生成する前記工程は、一つ以上の更新信号にしたがって、前記前パレット予測セットを更新する工程を有することを特徴とする請求項１に記載の方法。
【請求項７】
前記一つ以上の更新信号は、最終パレットサイズまたは新しいパレットサイズを有し、前記現在パレットセットは、前記現在パレット予測セットの開始エントリーを複製することにより、前記現在パレット予測セットから生成され、前記開始エントリーの数は、前記最終パレットサイズまたは前記新しいパレットサイズに対応することを特徴とする請求項６に記載の方法。
【請求項８】
前記一つ以上の更新信号は、前記一つ以上の各現在パレット、前記一つの現在のトリプレットパレット、または、前記現在のブロックに関連する両方に対して新しいパレットサイズを有し、複数の修正フラグは新しいパレットサイズに対応して、前記一つ以上の各現在パレット、前記一つの現在のトリプレットパレット、または、前記現在のブロックに関連する両方の複数のエントリーが更新されるかどうか、および、対応する修正フラグに示されるような各修正予定のエントリーの新しい値を識別し、前記新しいパレットサイズは整数であることを特徴とする請求項６に記載の方法。
【請求項９】
少なくとも一つの修正フラグは、コンテキスト適応型二値算術符号化方式 (ＣＡＢＡＣ)を用いて、コンテスト適応型符号化されることを特徴とする請求項８に記載の方法。
【請求項１０】
少なくとも一つの修正フラグは、適応算術演算符号化 (ＣＡＢＡＣ)のバイパスモードを用いて、コンテキスト適応型符号化されることを特徴とする請求項８に記載の方法。
【請求項１１】
修正フラグが、各前記一つ以上の現在パレット、前記一つの現在のトリプレットパレットまたは前記現在のブロックに関連する両方の開始 NP エントリーに用いられ、残りのエントリーは修正され、NP は正の整数であることを特徴とする請求項６に記載の方法。
【請求項１２】
前記一つ以上の前パレット予測因子、前記一つの前トリプレットパレット予測因子、または両方のパレット予測因子サイズが、前記最大パレット予測因子サイズより大きい場合、前記前パレット予測セットに関連する一つ以上の更新値は、前記前パレットセットにより用いられず、前記最大パレット予測因子サイズが、生成または送信されることを特徴とする請求項１に記載の方法。
【請求項１３】
前記現在パレット予測セットを導出する前記工程は、前記現在パレット予測セットで冗長を確認および除去する工程を有することを特徴とする請求項１に記載の方法。
【請求項１４】
一つ以上の新しいエントリーが前記現在パレット予測セットに配置される前、一つ以上の新しいエントリーが前記現在パレット予測セットに配置される間、又は一つ以上の新しいエントリーが前記現在パレット予測セットに配置された後に、冗長の前記確認および除去が実行されることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記現在のブロックが、スライス、タイル、最大コーディングユニットロウまたは最大コーディングユニット中の、第一ブロックにある場合、前記前ブロックは無効で、且つ、前記前パレットセットでも、前記前パレット予測セットでもなく、前記現在パレットセットが、エンコーダにより生成されることを特徴とする請求項１に記載の方法。
【請求項１６】
前記エンコーダは、前記現在のブロックの明度を、各カラーコンポーネントのカラーインデックスに量子化するとともに、前記現在のブロックの一画素に関連する二個以上のカラーインデックスを、１つのトリプレットインデックスに割り当てることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記現在のブロックの前記一画素に関連する前記二個以上のカラーインデックスが、前記１つのトリプレットインデックスの配色と同じである場合、または、前記現在のブロックの前記一画素に関連する前記二個以上のカラーインデックスの一部分が、前記１つのトリプレットインデックスの前記配色の対応する部分および一つ以上のエスケープカラーインデックスに対応する前記現在のブロックの前記一画素に関連する前記二個以上のカラーインデックスの残りの部分と同じである場合、前記現在のブロックの前記一画素に関連する前記二個以上のカラーインデックスは、前記現在パレットセットにしたがって、前記１つのトリプレットインデックスにマップされることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記エンコーダは前記明度の第一ヒストグラムを決定するとともに、第一組の代表的なカラーを、各カラーコンポーネントのメジャーカラーとして選択し、前記エンコーダが、トリプレットカラーの第二ヒストグラムを決定するとともに、第二組の代表的な配色を、トリプレットカラーとして選択することを特徴とする請求項１６に記載の方法。
【請求項１９】
ビデオコーディングシステムにおけるパレットコーディングを用いたビデオデータのブロックの符号化装置であって、一つ以上の電子回路を有し、
前記装置は、
現在のブロックに関連する入力データを受信し、前記現在のブロックの画素値が複数のカラーコンポーネントに対応し、
一つ以上の前パレット、一つの前トリプレットパレットまたは前ブロックに関連する両方に対応する前パレットセットに関連する第一情報を受信し、
一つ以上の前パレット予測因子、一つの前トリプレットパレット予測因子または前記前ブロックに関連する両方に対応する前パレット予測セットに関連する第二情報を受信し、
少なくとも一つの未使用色または現在パレット予測セット中の前記前パレット予測セットのトリプレットが存在するとき、前記前パレットセットおよび前記前パレット予測セットに基づいて、前記現在のパレットで使用されていない、少なくとも一つの未使用色または前記現在パレット予測セット中の前記前パレット予測セットのトリプレットを、現在パレット予測セットに含めることにより、一つ以上の現在パレット予測因子、一つの現在のトリプレットパレット予測因子、または前記現在のブロックに関連する両方に対応する現在パレット予測セットを導出し、
前記現在パレット予測セットから、一つ以上の現在パレット、一つの現在のトリプレットパレットまたは前記現在のブロックに関連する両方に対応する現在パレットセットを導出し、および、
前記現在パレットセットにしたがって、パレットエンコーディング、または、デコーディングを前記現在のブロックに適用し、
前記一つ以上の前パレット予測因子、前記一つの前トリプレットパレット予測因子、または両方のパレット予測因子サイズが最大パレット予測因子サイズより小さい場合には、前記一つ以上の前パレット予測因子、前記一つの前トリプレットパレット予測因子、または両方の非再生エントリーが、前記前パレット予測因子セットのパレットインデックスの順序に応じて、前記一つ以上の前パレット予測因子、前記一つの前トリプレットパレット予測因子、または両方の現在エントリーに複製される
ことを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２０１４年３月１４日に出願された米国特許仮出願番号６１／９５２９１７および２０１４年３月３１日に出願された米国特許仮出願番号６１／９７２５８４から、優先権を主張するものであり、その内容は引用によって本願に援用される。
【背景技術】
【０００２】
本発明は、ビデオデータのカラーインデックスコーディングに関するものであり、特に、本発明は、パレットスタッフィングで生成されるパレットを用いることにより、カラーインデックスコーディングのパフォーマンスを改善する技術に関するものである。
【０００３】
高効率ビデオコーディング（ＨＥＶＣ）は、近年開発されている新しい符号化標準である。高効率ビデオコーディング（ＨＥＶＣ）システムにおいて、Ｈ．２６４／ＡＶＣの固定サイズのマイクロブロックは、コーディングユニット（ＣＵ）と称されるフレキシブルなブロックにより代替される。ＣＵ中の画素は、同じ符号化パラメータを共有して、符号化効率を改善する。ＣＵは、ＨＥＶＣ中、符号化ツリーユニット（ＣＴＵ）とも称される最大ＣＵ（ＬＣＵ）から始まる。コーディングユニットの概念に加え、予測ユニット（ＰＵ）の概念も、またＨＥＶＣに導入される。一旦、ＣＵ階層ツリーの分割が行われると、各リーフＣＵは、さらに、予測タイプおよびＰＵ分割にしたがって、一つ以上の予測ユニット（ＰＵ）に分割される。
【０００４】
高効率ビデオコーディング（ＨＥＶＣ）標準の発展に伴い、ＨＥＶＣの拡張の発展も始まっている。ＨＥＶＣ拡張は、非−４：２：０カラーフォーマット、たとえば、４：２：２および４：４：４で標的にする範囲拡張（ＲＥｘｔ）および１サンプルごとに、高ビット−深さビデオ、たとえば、１２、１４および１６ビットを有する。ＲＥｘｔを用いたふさわしいアプリケーションのひとつは、有線または無線接続によるスクリーンシェアリングである。スクリーンコンテンツの特定の特徴のために、符号化ツールが発展するとともに、符号化効率において十分な発展を証明している。それらの間で、カラーインデックスコーディング（別名、メジャーカラーベースのコーディング）技術は、インデックスを用いて、画素のブロックをパレット（メジャーカラー）に示すとともに、空間的冗長性を利用することにより、パレットとインデックスを符号化する。可能な配色の総数が大量である場合、ピクチャ領域中の色の数は、通常、一般のスクリーンコンテンツにとって非常に限られる。これにより、カラーインデックスコーディングは、スクリーンコンテント材料にとって、非常に効果的になる。
【０００５】
ＨＥＶＣ範囲拡張（ＲＥｘｔ）の初期開発中、パレット−ベースのコーディングに取り組むいくつかの提案が開示されている。たとえば、パレット予測と共有技術が、ＪＣＴＶＣ−Ｎ０２４７（Ｇｕｏｅｔ  ａｌ．，“ＲＣＥ３：  Ｒｅｓｕｌｔｓ  ｏｆ  Ｔｅｓｔ  ３．１  ｏｎ  Ｐａｌｅｔｔｅ  Ｍｏｄｅ  ｆｏｒ  Ｓｃｒｅｅｎ  Ｃｏｎｔｅｎｔ  Ｃｏｄｉｎｇ”，  Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  （ＪＣＴ−ＶＣ）  ｏｆ  ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ２９／ＷＧ１１，  １４ｔｈ  Ｍｅｅｔｉｎｇ：Ｖｉｅｎｎａ，  ＡＴ，２５  Ｊｕｌｙ−２  Ａｕｇ．２０１３  Ｄｏｃｕｍｅｎｔ：ＪＣＴＶＣ−Ｎ０２４７）ａｎｄ  ＪＣＴＶＣ−Ｏ０２１８  （Ｇｕｏ  ｅｔ  ａｌ．，  “Ｅｖａｌｕａｔｉｏｎ  ｏｆ  Ｐａｌｅｔｔｅ  Ｍｏｄｅ  Ｃｏｄｉｎｇ  ｏｎ  ＨＭ−１２．０＋ＲＥｘｔ−４．１”，  Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  （ＪＣＴ−ＶＣ）  ｏｆ  ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ２９／ＷＧ１１，  １５ｔｈ  Ｍｅｅｔｉｎｇ：  Ｇｅｎｅｖａ，  ＣＨ，  ２３  Ｏｃｔ．  −  １  Ｎｏｖ．  ２０１３，  Ｄｏｃｕｍｅｎｔ：  ＪＣＴＶＣ−Ｏ０２１８）である。ＪＣＴＶＣ−Ｎ０２４７およびＪＣＴＶＣ−Ｏ０２１８において、各カラーコンポーネントのパレットが構築および送信される。パレットが、左側隣接ＣＵから予測（あるいは、シェア）されて、ビットレートを減少させる。その後、それらのパレットインデックスを用いて、所定のブロック中の全画素が符号化される。ＪＣＴＶＣ−Ｎ０２４７による符号化プロセスの例は以下のようである。
１．    パレットの送信：カラーインデックステーブルサイズがまず送信され、次に、パレットエレメンツが送信される。
２．    画素値の送信：ＣＵ中の画素が、ラスター走査順序で符号化される。一つ以上の画素の各群において、まず、ランベースモードのフラグが送信されて、“ｒｕｎ”モードまたは“ｃｏｐｙ−ａｂｏｖｅ”モードが用いられるかどうかを示す。
２．１  “ｒｕｎ”モード：“ｒｕｎ”モードにおいて、まず、パレットインデックスがシグナリングされて、その後に、ｒｕｎ値を示す“ｐａｌｅｔｔｅ＿ｒｕｎ”（たとえば、Ｍ）が続く。ｒｕｎ値は、Ｍサンプルの総計がすべて、“ｒｕｎ”モードを用いて符号化されることを示す。ビットストリームでシグナリングされるのと同じパレットインデックスを有するので、それ以上の情報は、現在の位置および続くＭ位置に送信される必要がない。パレットインデックス（たとえば、ｉ）は、さらに、全部で３個のカラーコンポーネントによりシェアされ、ＹＵＶカラースペースのケースにおいて、再構成された画素値が、（Ｙ，Ｕ，Ｖ）＝（ｐａｌｅｔｔｅＹ［ｉ］，ｐａｌｅｔｔｅＵ［ｉ］，ｐａｌｅｔｔｅＶ［ｉ］）であることを意味する。
２．２  “ｃｏｐｙ−ａｂｏｖｅ”ｍｏｄｅ：“ｃｏｐｙ−ａｂｏｖｅ”モードにおいて、値“ｃｏｐｙ＿ｒｕｎ”（たとえば、Ｎ）が送信されて、以下のＮ位置（現在のものを含む）に示され、パレットインデックスは、上述のロウ中の対応するパレットインデックスと同じである。
３．   剰余の送信：ステージ２で送信されるパレットインデックスは画素値に転換されるとともに、画素値に戻されて、予測として用いられる。剰余情報は、ＨＥＶＣ剰余コーディングを用いて送信され、且つ、再構成の予測に加えられる。
【０００６】
ＪＣＴＶＣ−Ｎ０２４７において、各コンポーネントのパレットが構築および送信される。パレットが、その左隣接ＣＵから予測（共有）されて、ビットレートを減少させる。ＪＣＴＶＣ−Ｏ０２１８において、パレット中の各エレメントはトリプレットで、３個のカラーコンポーネントの特定の組み合わせを表す。ＣＵを横切るパレットの予測符号化が排除される。
【０００７】
さらに別のメジャーカラーベースコーディング（カラーインデックスコーディング）方法が開示され、以下のようである；Ｇｕｏ  ｅｔ  ａｌ．  ｉｎ  ＪＣＴＶＣ−Ｏ０１８２  （Ｇｕｏ  ｅｔ  ａｌ．，  “ＡＨＧ８：  ｍａｊｏｒ−ｃｏｌｏｒ−ｂａｓｅｄ  ｓｃｒｅｅｎ  ｃｏｎｔｅｎｔ  ｃｏｄｉｎｇ”，  Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＪＣＴ−ＶＣ）  ｏｆ  ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１，  １５ｔｈ  Ｍｅｅｔｉｎｇ：  Ｇｅｎｅｖａ，  ＣＨ，  ２３  Ｏｃｔ．  −  １  Ｎｏｖ．  ２０１３，  Ｄｏｃｕｍｅｎｔ：  ＪＣＴＶＣ−Ｏ０１８２）。ＪＣＴＶＣ−Ｏ０１８２によると、各コンポーネントのパレットが構成並びに送信される。しかし、左ＣＵからのパレット全体の予測に代わって、パレット中の個別のエントリーは、上方ＣＵまたは左ＣＵ中、対応する正確なパレットエントリーから予測される。
【０００８】
ＪＣＴＶＣ−Ｏ０１８２のよると、画素値の送信において、予測コーディング方法がインデックスに適用され、画素ラインが、異なるモードにより予測される。特に、三種のラインモードが、画素ライン、すなわち、水平モード、垂直モードおよび通常モードに用いられる。水平モードにおいて、同じライン中の全画素は同じ値を有する。値が、上述の画素ラインの第一画素と同じ場合、ラインモードシグナリングビットだけが送信される。そうでなければ、インデックス値も送信される。垂直モードにおいて、現在の画素ラインは、前述の画素ラインと同じである。これにより、ラインモードシグナリングビットだけが送信される。通常モードにおいて、一ライン中の画素が個別に予測される。各画素において、左または上方の隣接画素は予測因子として用いられ、予測符号はデコーダに送信される。さらに、画素が、メジャーカラー画素とエスケープ画素に分類される。メジャーカラー画素において、コーダは、メジャーカラーインデックスおよびパレットを用いて、画素値を再構成する。エスケープ画素において、エンコーダは、さらに、画素値を送信する。
【０００９】
カラーインデックスコーディングに関連する符号化効率をさらに改善する方法の開発が望まれる。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ビデオコーディングシステムにおけるパレットコーディングを用いたビデオデータのブロックのコーディング方法が開示される。本発明によると，前ブロックが可用であるとき、システムは、前パレット／トリプレットパレットに対応する前パレットセットに関連する第一情報および前ブロックに関連する前パレット予測因子／トリプレットパレット予測因子に対応する前パレット予測セットに関連する第二情報を受信する。その後、少なくとも一つの未使用色または現在パレット予測セット中の前パレット予測セットのトリプレットが存在するとき、システムは、前パレットセットおよび前パレット予測セットに基づいて、少なくとも一つの未使用色あるいは現在パレット予測セット中の前パレット予測セットのトリプレットを含むことにより、現在のブロックに関連する現在パレット予測因子／トリプレットパレット予測因子に対応する現在パレット予測セットを導出する。現在のブロックに関連する現在パレット／トリプレットパレットに対応する現在パレットセットが、現在パレット予測セットから生成される。現在パレットセットが生成されるとき、パレットエンコーディング、または、デコーディングは、現在パレットセットにしたがって、現在のブロックに適用される。
【課題を解決するための手段】
【００１１】
一つ以上の次の更新信号がシグナリングされて、現在パレットセットおよび現在パレット予測セットに基づいて、次のパレット予測因子セットを導出する。複数の前パレットセット中の前パレット予測因子／トリプレットパレット予測因子はＭに対応し、前パレットセット中のＭ組の前パレット予測因子／トリプレットパレット予測因子は、エンコーダ側またはデコーダ側で維持され、Ｍは、ゼロより大きい整数である。前ブロックおよび現在のブロックは、コーディングユニットまたは予測ユニットに対応する。前ブロックおよび現在のブロックがコーディングユニットに対応する場合、現在パレット予測セットは、コーディングユニットサイズに基づいて導出される、または、前ブロックおよび現在のブロックが予測ユニットに対応する場合、予測ユニットサイズに基づく。
【００１２】
現在パレット予測セットの導出プロセスは、一つ以上の更新信号にしたがって、前パレット予測セットを更新する工程を有する。更新信号は、最終パレットサイズまたは新しいパレットサイズを有し、現在パレットセットは、現在パレット予測セットの複数の開始エントリーを複製することにより、現在パレット予測セットから導出され、数は、最終パレットサイズまたは新しいパレットサイズに対応する。別の例において、更新信号は、現在のブロックに関連する各現在パレット／トリプレットパレットの新しいパレットサイズ、新しいパレットサイズに対応して、現在のブロックに関連する現在パレット／トリプレットパレットの対応するエントリーが更新されるかどうかを識別する複数の修正フラグ、および、対応する修正フラグにより示されるような各修正予定のエントリーの新しい値を含む。一つ以上の修正フラグは、コンテキスト適応型二値算術符号化方式（ＣＡＢＡＣ）を用いて、コンテキスト適応型符号化される。また、一つ以上の修正フラグは、ＣＡＢＡＣのバイパスモードを用いて、コンテキスト適応型符号化される。修正フラグは、現在のブロックに関連する現在パレット／トリプレットパレットの開始ＮＰエントリーに制限され、残りのエントリーは修正せざるを得ず、ＮＰは正の整数である。
【００１３】
前パレット／トリプレットパレットのパレットサイズが、最大パレットサイズより小さい場合、現在のブロックが、パレットコーディングにより、符号化またはデコード化された後、前パレット予測因子／トリプレットパレット予測因子の非再生エントリーが、現在パレット予測因子／トリプレットパレット予測因子の現在のエントリーに複製される。前パレット／トリプレットパレットのパレットサイズが、最大パレット予測因子サイズより大きい場合、前パレット予測セットに関連する一つ以上の更新値は、前パレットセットにより用いられず、更新値が生成または送信される。現在パレット予測セットの導出プロセスは、現在パレット予測セット中において、冗長をチェックおよび除去する工程を含む。冗長のチェックと除去のプロセスが、一つ以上の新しいエントリーが、現在パレット予測セットに配置される前、その期間、または、その後に実行される。
【００１４】
現在のブロックが、スライス、タイル、最大コーディングユニットロウまたは最大コーディングユニット中の第一ブロックに位置する場合、前ブロックは有効である。この場合、前パレットセットでも、前パレット予測セットでもなく、現在パレットセットがエンコーダにより導出される。
【図面の簡単な説明】
【００１５】
【図１Ａ】コンポーネントワイズ基準で、明度を色指数にマッピングする例を示す図で、各カラーコンポーネントはそれ自身のパレットを用いる。
【図１Ｂ】配色に基づいて、明度をトリプレットにマッピングする例を示す図で、各カラーコンポーネントはトリプレットパレットを用いる。
【図２】パレットシェアリングモードを用いたパレット予測因子からのパレット導出の例を示す図である。
【図３】パレット更新信号に基づいた通常モードを用いたパレット予測因子からのパレット導出の例を示す図である。
【図４】パレット更新信号に基づいた通常モードを用いたパレット予測因子からのパレット導出の例を示す図で、前パレット予測因子中の非再利用エントリーが現在の予測因子中に伝わる。
【図５Ａ】既存のカラーインデックスコーディングによる最新のコード化されたパレットから生成される現在パレット予測因子の例を示す図である。
【図５Ｂ】本発明の実施態様による最新のコード化されたパレットと前パレット予測因子から生成される現在パレット予測因子の例を示す図である。
【図５Ｃ】本発明の実施態様による冗長性の検査によって、最新のコード化されたパレットから生成される現在パレット予測因子および前パレット予測因子の例を示す図である。
【図６】本発明の実施態様によるパレット予測因子から予測されるパレットを用いたカラーインデックスコーディングシステムのフローチャートで、一つ以上のエントリーを含むパレット予測因子は、前パレット予測因子を形成する。
【発明を実施するための形態】
【００１６】
本発明において、カラーインデックスコーディングのパフォーマンスを改善する各種技術が開示される。新しいコピーランモードは、一つ以上の前デコード化インデックスを用いて、現在のインデックスのインデックス予測候補を識別する。本発明の一実施態様において、レイヤカラー表現は以下のようである。
【００１７】
レイヤカラー表現
【００１８】
パレットコーディングモードにおいて、各ＣＵ中の画素は、メジャーカラーおよびエスケープ画素に分類される。メジャーカラーは、パレットのようなＣＵにおいて、最も代表的な画素値で、ＣＵのメジャー画素をカバーする。エスケープ画素は、メジャーカラーに属さない画素である。
【００１９】
ここで、メジャーカラー表現におけるレイヤカラー表現（ＬＣ）方法が開示される。ＬＣ表現に基づいて、各画素は、トリプレットカラーインデックスにより表現される。また、トリプレットカラーインデックス（トリプレットインデックスとも称される）が予測的に符号化されるとともに送信されて、画素が、メジャーカラー画素かどうかを示す。画素がメジャーカラー画素である場合、さらに、情報が送信されて、それが属するメジャーカラーを示す。
【００２０】
ＣＵの層状メジャーカラーの一例のように、二層表現が用いられる。第一層は、各コンポーネント中の最も代表的な明度、メジャーカラーを表現する。メジャーカラーに基づいて、第二層は、最も代表的な組み合わせ、メジャー（カラー）組み合わせを識別する。
【００２１】
Ａ．  レイヤカラー表現の例
【００２２】
各ＣＵにおいて、エンコーダは、まず、コンポーネントワイズ基準で、明度のヒストグラムを計算するとともに、一組の代表的なメジャーカラー値を選択する。これらのメジャーカラーは、コンポーネントワイズパレットとして保存される。エンコーダは、さらに、コンポーネントワイズパレットに基づいて、メジャー明度の一組の代表的な配色を選択する。組み合わせは、トリプレットパレットフォーマットで記録される。
【００２３】
レイヤカラー表現は、任意のカラーフォーマット（たとえば、ＹＵＶ４４４，ＹＵＶ４２０，ＹＵＶ４２２，ＹＵＶ４００またはＲＧＢ４４４）におけるカラー画素に適用される。第二層の配色がコンポーネンツのサブセットに適用される。たとえば、配色は、ＹＵＶ４２０フォーマットにおいてだけＵＶに対応する。
【００２４】
ＹＵＶ４４４およびＲＧＢ４４４において、図１Ａと図１Ｂのように、第二層の組み合わせが、全コンポーネンツに適用される。図１Ａに示されるように、３個のカラーコンポーネントはそれぞれ、それ自身のカラーパレットを有する。３個のカラーコンポーネントの色指数は０からＮｉ，且つ、ｉ＝１，２または３である。図１Ｂは、三個のカラーコンポーネントが、合同で、トリプレットインデックス（Ｔｒｉｐｌｅｔ  Ｉｎｄｅｘ），Ｎ４．を使用することを示す。
【００２５】
パレットおよびトリプレットパレットにより、一画素は、トリプレットインデックスにより表される。デコーダは、まず、トリプレットインデックスを用いて、トリプレットパレットから、３個のカラーコンポーネントの３個のメジャーカラーインデックス（Ｍａｊｏｒ  Ｃｏｌｏｒ  Ｉｎｄｅｘ）を探し出す。メジャーカラーインデックスが用いられて、パレットから明度を識別するとともに、画素を再構成する。
【００２６】
ＹＵＶ４２０とＹＵＶ４２２において、第二層の組み合わせを、ＵＶコンポーネンツに用いることができる。これにより、１つのパレットインデックスがＹコンポーネントに、および、１つのトリプレットインデックスがＵＶコンポーネンツに用いられて、カラー画素を表現する。この場合、たった二個のカラーコンポーネント（すなわち、ＵとＶ）のみがあり、“トリプレットインデックス”が更に用いられて、二個のカラーインデックスを参照する。
【００２７】
Ｂ．  パレットとトリプレットパレットコーディング
【００２８】
デコード期間中、デコーダは、Ｍ組のパレット予測因子およびトリプレットパレット予測因子を維持する。Ｍが、送信または生成される。Ｍは１と同じくらい小さい。Ｍが１以上である場合、エンコーダは、さらに、予測因子が用いられるまたはデコーダがそれを生成することを示す。
【００２９】
デコーダ側で、デコーダは、ＣＵサイズにしたがって、予測因子が用いられるように導く。つまり、異なるサイズのＣＵは異なる予測因子を用いる。同様に、ＰＵサイズまたはその他の関連するユニットサイズにしたがって、デコーダは、予測因子が用いられるように導く。
【００３０】
予測因子は、最終パレットサイズおよびＮＭａｘエントリーを有するパレットを含み、ＮＭａｘは、パレットとトリプレットパレットのサイズと等しい。
【００３１】
パレットコード化（すなわち、カラーインデックスコード化）ＣＵにおいて、用いられるパレットまたはトリプレットパレットは、予測因子から生成される。
【００３２】
Ｃ．  パレットとトリプレットパレットシェアリングモード
【００３３】
パレットシェアリングモードは、パレット予測因子を直接使用することができ、修正が不要である。記録される最終パレットサイズにしたがって、現在のＣＵで用いられるパレットが生成される。パレットとトリプレットパレットシェアリングの例が図２に示され、最後に記録されたパレットサイズは１０である。したがって、パレット予測因子中の第一１０エントリーが直接抽出されて、現在のＣＵにパレットを形成する。
【００３４】
パレットシェアリングモードは、さらに、新しいサイズ値をシグナリングすることができる。その後、パレットは、サイズ修正だけにより、直接、パレット予測因子から生成される。
【００３５】
Ｄ．  パレットとトリプレットパレット通常モード
【００３６】
通常モードにおいて、パレット修正の情報がシグナリングされて、どのように、パレット予測因子からパレットを生成するかを示す。図３は、パレット予測因子導出の例を示す図である。まず、図３の“修正”表に示されるように、新しいサイズがシグナリングされて、新しいパレットサイズ（たとえば、３）を示す。指示されるビットが、パレットの各エントリーにシグナリングされて、値が修正される必要があるか示す。修正の必要がある場合、新しい値がさらにシグナリングされる。たとえば、図３中のＮｅｗ  Ｖａｌｕｅ０およびＮｅｗ  Ｖａｌｕｅ２が用いられて、メジャーカラーインデックス０と２を修正する。
【００３７】
各パレットエントリーおよび各トリプレットパレットエントリーの予測フラグがシグナリングされて、パレットまたはトリプレットパレットが、前コード化されたパレットまたはトリプレットパレットを、修正または送信される必要がある対応するエントリーまたはパレットまたはトリプレットパレットに再利用することができるかどうか示す。予測フラグは、予測フラグの２値の適応算術演算符号化（ＣＡＢＡＣ）に基づいて、コンテキストモデルを用いて符号化される。
【００３８】
予測フラグは、第一ＮＰエントリーに限定される。つまり、ＮＰ，より小さい各エントリーに対し、予測フラグがシグナリングされる。反対に、エントリーは、修正される。ＮＰが、生成または送信される。
【００３９】
ビットストリームの構文解析を改善するため、予測フラグ全部または予測フラグの一部は、バイパスモードで符号化される。たとえば、第一（最初の）Ｎ予測フラグは、コンテキストコード化モードで符号化され、残りの予測フラグは、バイパスモードで符号化される。Ｎが送信または生成される。
【００４０】
ＮパレットエントリーのＮの各種例が以下のように示され、システムは、１６である各カラーパレットのエントリーの総数および６４であるトリプレットパレットのエントリーの総数を有する：
・   Ｎはパレット予測因子に対し１６およびトリプレットパレット予測因子に対し６４で、すなわち、全フラグがＣＡＢＡＣモードで符号化される。
・    Ｎは、パレット予測因子およびトリプレットパレット予測因子に対し０で、すなわち、全フラグがバイパスモードで符号化される。
・    Ｎは、パレット予測因子に対し８か６である。
・    Ｎは、トリプレットパレット予測因子に対し、８、１６、３２、４８または６４である。
・    Ｎは、ＣＵサイズに基づいて生成される。
・    Ｎは、ＣＵサイズに基づいて生成される。たとえば、ＣＵサイズがＳｂｙｐａｓｓ，より小さいとき、ＮはＮ１．に等しい。そうでなければ、ＮはＮ２．に等しい。
ａ．  Ｎ２は、パレット予測因子に対し１６およびトリプレットパレット予測因子に対し６４で、すなわち、全フラグはＣＡＢＡＣモードで符号化される。Ｎ１は、パレット予測因子またはトリプレットパレット予測因子に対し、０，８、１６、３２、４８または６４である。
ｂ．  Ｓｂｙｐａｓｓは、８ｘ８，１６ｘ１６，３２ｘ３２または６４ｘ６４ＣＵである。
【００４１】
パレットとトリプレットパレット予測因子更新
【００４２】
デコード期間中、デコーダは、Ｍ組のパレット予測因子およびトリプレットパレット予測因子を維持する。各スライスの復号の開始時、デコーダは、送信または生成される値で、予測因子を初期化することができる。
【００４３】
パレットコード化ＣＵのデコード化後、修正がシグナリングされる場合、予測因子が更新される。パレットサイズが最大サイズに等しくない場合、非再生パレットは、表中で、パレット予測因子として保存される。
【００４４】
パレット予測因子更新前、更新中または更新後、デコーダは、予測因子および更新された情報中の余剰インデックス値をチェックする。任意の余剰値が見つかった場合、デコーダは、余剰値を除去することができる。たとえば、更新後、デコーダは、パレット予測因子中で余剰値を除去することができる。別の例において、非再生パレットを更新および保存後、デコーダは、パレット予測因子中の余剰値を除去することができる。パレット予測因子サイズが、最大パレット予測因子サイズより大きい場合、パレット予測因子のエントリーの最大サイズに属さない値が降下する。最大サイズが生成または送信される。降下する生成位置が最大位置になる。
【００４５】
図４は、予測因子の更新の例を示す図である。第（Ｎ−１）番目のパレットコード化ＣＵの復号期間中、３に等しい新しいサイズ、修正フラグおよび第１および第３エントリーの新しい値を含む修正がシグナリングされる。第（Ｎ−１）回パレットコード化ＣＵの復号後、予測因子が更新される。更新された領域は、図４中、パターン化された背景により示される。
【００４６】
パレットコード化ＣＵがデコード化された後、修正がシグナリングされる場合、予測因子が更新される。
【００４７】
パレットおよび／またはトリプレットパレット予測因子は、スライス−レベル、タイル−レベル、ＬＣＵ−ロウ−レベルまたはＬＣＵ−レベルでリセットされる。波状並列処理（ＷＰＰ）が適用されるとき、リセットがオンになる。リセットプロセスにおいて、パレットおよびトリプレットパレット予測因子が、所定または生成値（たとえば０）に設定されるか、または、現在のＣＵまたはＰＵの右上ブロックのパレットとトリプレットパレットを継承することができる。
【００４８】
エンコーダは、トリプレットカラーを選択して、１画素を表現する。エンコーダは、まず、コンポーネントワイズ基準で、明度をカラーインデックスに量子化する。エンコーダは、カラーインデックス（二または三）を用いて、適合または類似する配色を見つける。“適合する”配色は、同じである全てのカラーインデックスに対応する。“適合する”配色は、さらに、いくつかのカラーインデックスが、エスケープカラーインデックスに対応する同じおよび異なるカラーインデックスである配色に対応する。つまり、エンコーダはエスケープカラーを用いて、メジャーカラーを表す。“適合する”配色は、同じ量子化ゾーン内にあるカラーインデックスに対応する。
【００４９】
パレットおよびトリプレットパレットを計算するため、エンコーダは、明度のヒストグラムを計算するとともに、一組の代表的なメジャー明度を選択する。これらのメジャーカラーは、コンポーネントワイズパレットとして保存される。コンポーネントワイズパレットのメジャー明度に基づいて、エンコーダは、さらに、トリプレットカラーのヒストグラムを計算するとともに、一組の代表的な配色（トリプレットカラー）を選択する。組み合わせは、トリプレット（パレット）で記録される。複数の適合するまたは類似するトリプレットカラーがある場合、エンコーダは、もっとも類似するメジャーインデックスを有するトリプレットカラーを選択することができる。
【００５０】
代表的なメジャーカラーまたはトリプレットカラーを選択するため、エンコーダは、連続して、量子化ゾーン中のヒストグラム中で最高周波数を有する値を選択することができる。ヒストグラムがリセットされるとき、量子化ゾーン中のヒストグラム値がゼロにリセットされ、“量子化ゾーン中”は、いくつかのカラーインデックスが同じで、且つ、パレットカラー中のそれらの異なるカラーインデックスが、エスケープカラーインデックスに対応するケースを参照する。つまり、エンコーダは、エスケープカラーを用いて、メジャーカラーを表す。
【００５１】
代表的なメジャーカラーまたはトリプレットカラーを選択するため、エンコーダは、連続して、ヒストグラム中で、ピーク周波数を有するメジャーカラーまたはトリプレットカラーを選択し、量子化ゾーン中のヒストグラム値をゼロに設定する。
【００５２】
エンコーダがパレット中のメジャーカラーを決定後、エンコーダは、予測因子中の色にしたがって、パレット中の色に順序付けすることができる。たとえば、パレットの色の順序付けは、予測因子の色の順序付けと同じで、色は、パレットと予測因子両方に対し、同じエントリーで配置される。これは、パレット予測因子更新に必要な修正を最小化することができる。“類似”色は、同じ色の所定または派生する量子化ステップ中の同じ色または一色を参照する。一色が、パレット予測因子中で複数色と“類似する”場合、エンコーダは、最小インデックスを有する一エントリーで、その色を配置することができる。あるいは、エンコーダは、最大インデックスを有する全体で、色を配置することができる。
【００５３】
トリプレットカラーが用いられる場合において、エンコーダがトリプレットパレットでトリプレットカラーを決定した後、エンコーダは、予測因子の色にしたがって、トリプレットパレットで色を順序付けする。たとえば、トリプレットパレットの色の順序付けは、予測因子の色の順序付けと同様で、トリプレットが、トリプレットパレットと予測因子両方に、同じエントリーで配置される。“類似”カラーは、いくつかのカラーインデックスが同じで、且つ、パレットカラー中の異なるカラーインデックスを有するこれらの色が、エスケープカラーインデックスに対応するケースを参照する。つまり、エンコーダは、エスケープカラーを用いて、メジャーカラーを表す。“類似する”の定義は、カラーインデックスが、同じ量子化ゾーン中にあることである。色が予測因子中の複数のカラーに類似する場合、エンコーダは、最小インデックスを有するエントリーで、色を配置することができる。あるいは、エンコーダは、最大インデックスを有するエントリーで、色を順序付けすることができる。
【００５４】
開示されるパレット予測および／またはコーディング方法は、さらに、別のパレット方法、たとえば、ＪＣＴＶＣ−Ｏ０２１８、ＪＣＴＶＣ−Ｎ０２４７およびＪＣＴＶＣ−Ｏ０１８２で記述されるこれらの方法に適用される。異なるパレット構造にしたがって、デコーダは、パレット予測因子を維持することができる。
【００５５】
たとえば、デコーダは、パレット予測因子を維持する。予測因子の各エントリーは、複数のカラーコンポーネントの明度を含む。たとえば、本発明は、ＪＣＴＶＣ−Ｏ０１８２で開示される方法に適用することができる。したがって、各エントリーは、ＲＧＢおよびＹＵＶ４４４フォーマットの３値、および、ＹＵＶ４２２およびＹＵＶ４２０フォーマット中のＵＶの２値、および、ＹＵＶ４００，ＹＵＶ４２２およびＹＵＶ４２０フォーマット中のＹの１値を含む。
【００５６】
図５Ａは、既存のカラーインデックスコーディングにしたがって、最新のコード化されたパレットから生成される現在パレット予測因子の例を示す図である。現在パレットは、それぞれ、Ｖａｌｕｅ０，Ｖａｌｕｅ３，Ｖａｌｕｅ２およびＶａｌｕｅ３．に対応する４個のエントリーを含む。現在パレットは、その後、既存の方法にしたがって、次のパレット予測になる。次のパレットが、インデックス０から６３の６４エントリーを含む場合、次のパレット予測因子は、パレット予測因子サイズが小さくて、十分ではない。
【００５７】
図５Ｂは、本発明の実施態様による最新のコード化されたパレットおよび前パレット予測因子から生成される現在パレット予測因子の例を示す図である。この例において、インデックス４からインデックス６３の現在パレット予測因子のエントリーは再利用されない。一実施例によると、インデックス４からインデックス６３の現在パレット予測因子のエントリーが、次のパレット予測因子に加えられて、全エントリーを満たす。よって、パレット予測因子は、次のパレットに対する良好な予測を提供することが期待される。
【００５８】
図５Ｃは、本発明の実施態様による冗長性の検査によって、最新のコード化されたパレットから生成される現在パレット予測因子および前パレット予測因子の例を示す図である。この例において、現在パレットは、それぞれ、Ｖａｌｕｅ０，Ｖａｌｕｅ３およびＶａｌｕｅ２に対応する３個のエントリーを含む。インデックス３から６３の現在パレット予測因子のエントリーは再利用されず、且つ、次の予測因子のエントリー３から６３に複製される。冗長性の検査が実行され、余剰エントリーＶａｌｕｅ３は、パターン化された背景による強調として識別される。したがって、インデックス１の非再利用値Ｖａｌｕｅ１が用いられて、次のパレット中で、余剰エントリーを交換する。
【００５９】
本発明の実施態様を組み込んだコーディングシステムのパフォーマンスが、ＣＵによるパレット予測因子がなく、冗長性の検査がないシステムに対応するアンカーシステムと比較される。全イントラ（ＡＩ）コーディング設定下で、比較が実行される。パフォーマンスは、ＢＤ−レートを単位として、７％で、ビデオコーディングによく用いられるパフォーマンス測定である。
【００６０】
図６は、本発明の実施態様によるパレット予測因子から予測されるパレットを用いたカラーインデックスコーディングシステムのフローチャートで、一つ以上のエントリーを含むパレット予測因子は、前パレット予測因子を形成する。ステップ６１０にて、システムは、現在のブロックに関連する入力データを受信する。現在のブロックの画素値は、複数のカラーコンポーネントに対応する。入力データは、エンコーダ側で符号化される現在のブロックの画素データまたは色指数に対応する、または、デコーダ側でデコードされる現在のブロックの符号化データまたは符号化色指数に対応する。入力データは、メモリ（たとえば、コンピュータプロセッサ、バッファ（ＲＡＭまたはＤＲＡＭ）またはその他の媒体）またはプロセッサから読み出される。ステップ６２０にて、前ブロックが有効である場合、一つ以上の前パレットに対応する前パレットセット、一つの前トリプレットパレット、または前記前ブロックに関連する両方に関連する第一情報が受信される。ステップ６３０にて、一つ以上の前パレット予測因子に対応する前パレット予測セット、一つの前トリプレットパレット予測因子、または、前記前ブロックに関連する両方に関連する第二情報が受信される。一実施態様において、現在のブロックが、スライス、タイル、最大コーディングユニットロウまたは最大コーディングユニットにおいて、第一ブロックに位置しない限り、現在のブロックに関連する少なくとも一つの有効な前ブロックが存在する。ステップ６４０にて、少なくとも一つの未使用色または現在パレット予測セット中の前パレット予測セットのトリプレットが存在するとき、前パレットセットおよび前パレット予測セットに基づいて、少なくとも一つの未使用色あるいは現在パレット予測セット中の前パレット予測セットのトリプレットを含むことにより、一つ以上の現在パレット予測因子に対応する現在パレット予測セット、一つの現在のトリプレットパレット予測因子、または、現在のブロックに関連する両方が導出される。ステップ６５０にて、一つ以上の現在パレットに対応する現在パレットセット、一つの現在のトリプレットパレット、または、現在のブロックに関連する両方が、現在パレット予測セットから生成される。ステップ６６０に示されるように、その後、パレット符号化または復号が、現在パレットセットにしたがって、現在のブロックに適用される。
【００６１】
上記フローチャートは、本発明によるブロックで、パレット予測因子伝搬を用いたカラーインデックスコーディングの例を説明するためのものである。当業者は、本発明の思想を脱しない範囲内で、各ステップを修正、再アレンジ、分割、結合して、本発明を実行することができる。本開示において、特定の構文と語義が用いられて、例を説明し、本発明の実施態様を実行する。当業者は、本発明の思想を脱しない範囲内で、本発明を実施する。
【００６２】
上の記述が提示されて、当業者に、特定のアプリケーションとその要求のコンテキストに記述される通り、本発明を行うことができる。当業者なら、記述された具体例への各種修正が理解でき、ここで定義される一般原則は別の実施例にも応用できる。よって、本発明は、記述される特定の実施例に制限することを目的としておらず、原理と新規特徴と一致する最大範囲に一致する。上述の記述において、本発明の十分な理解を提供するため、各種特定の詳細が説明される。当業者なら、本発明が行えることが理解できる。
【００６３】
上述の本発明の具体例は、各種ハードウェア、ソフトウェアコード、または、それらの組み合わせで実行される。たとえば、本発明の具体例は、画像圧縮チップに整合される回路、または、画像圧縮ソフトウェアに整合されるプログラムコードで、上述の処理を実行する。本発明の具体例は、デジタルシグナルプロセッサ（ＤＳＰ）で実行されるプログラムコードで、上述の処理を実行する。本発明は、さらに、コンピュータプロセッサ、デジタルシグナルプロセッサ、マイクロプロセッサ、または、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）により実行される複数の機能を含む。これらのプロセッサは、本発明により具体化される特定の方法を定義する機械読み取り可能ソフトウェアコード、または、ファームウェアコードを実行することにより、本発明による特定のタスクを実行するように設定される。ソフトウェアコード、または、ファームウェアコードは、異なるプログラミング言語、および、異なるフォーマット、または、スタイルで開発される。ソフトウェアコードは、さらに、異なるターゲットプラットフォームにコンパイルされる。しかし、本発明によるタスクを実行するソフトウェアコードの異なるコードフォーマット、スタイル、および、言語、および、設定コードのその他の手段は、本発明の思想を逸脱しない。
【００６４】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の思想を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
【図１Ａ】
0006328262.tif 000002
【図１Ｂ】
0006328262.tif 000003
【図２】
0006328262.tif 000004
【図３】
0006328262.tif 000005
【図４】
0006328262.tif 000006
【図５Ａ】
0006328262.tif 000007
【図５Ｂ】
0006328262.tif 000008
【図５Ｃ】
0006328262.tif 000009
【図６】
0006328262.tif 000010