(57)【特許請求の範囲】
【請求項１】
元のカラーマップと元の画素マップとを持つ原画像を、スケーリング後のカラーマップとスケーリング後の画素マップとを持つスケーリング後の画像にスケーリングする方法であって、
（ａ）前記スケーリング後の画像とは独立して、前記元のカラーマップと前記原画像とに基づいて、Ｎ個のカラーを持つ前記元のカラーマップを前記スケーリング後のカラーマップに変換するステップと、
（ｂ）前記原画像を前記スケーリング後の画像にスケーリングするステップと、
（ｃ）前記スケーリング後の画像の各画素について、
（ｉ）当該画素のカラーを定義する前記原画像の一式の貢献画素を決定するステップと、
（ｉｉ）前記一式の貢献画素のカラーおよび前記一式の貢献画素に対する当該画素の幾何学的近傍性に基づいて、当該画素のカラーを決定するステップと、
（ｉｉｉ）当該画素のカラーと前記スケーリング後のカラーマップのカラーとの間の対応関係を構築して、対応するカラーマップインデックスを決定するステップと、
（ｉｖ）前記スケーリング後の画素マップに、決定された前記カラーマップインデックスを設定するステップと
を備え、
前記ステップ（ａ）は、
Ｎ＞Ｎｍａｘである場合に、前記元のカラーマップを前記スケーリング後のカラーマップとして再利用するステップを有し、Ｎｍａｘはカラーの所定の最大個数である
方法。
【請求項２】
元のカラーマップと元の画素マップとを持つ原画像を、スケーリング後のカラーマップとスケーリング後の画素マップとを持つスケーリング後の画像にスケーリングする方法であって、
（ａ）前記スケーリング後の画像とは独立して、前記元のカラーマップと前記原画像とに基づいて、Ｎ個のカラーを持つ前記元のカラーマップを前記スケーリング後のカラーマップに変換するステップと、
（ｂ）前記原画像を前記スケーリング後の画像にスケーリングするステップと、
（ｃ）前記スケーリング後の画像の各画素について、
（ｉ）当該画素のカラーを定義する前記原画像の一式の貢献画素を決定するステップと、
（ｉｉ）前記一式の貢献画素のカラーおよび前記一式の貢献画素に対する当該画素の幾何学的近傍性に基づいて、当該画素のカラーを決定するステップと、
（ｉｉｉ）当該画素のカラーと前記スケーリング後のカラーマップのカラーとの間の対応関係を構築して、対応するカラーマップインデックスを決定するステップと、
（ｉｖ）前記スケーリング後の画素マップに、決定された前記カラーマップインデックスを設定するステップと
を備え、
前記ステップ（ａ）は、
（ｖ）Ｎ＜Ｎｍｉｎである場合に、前記元のカラーマップで利用可能なカラーの個数を増加させて前記スケーリング後のカラーマップを生成するステップを有し、Ｎｍｉｎはカラーの所定の最小個数である
方法。
【請求項３】
元のカラーマップと元の画素マップとを持つ原画像を、スケーリング後のカラーマップとスケーリング後の画素マップとを持つスケーリング後の画像にスケーリングする方法であって、
（ａ）前記スケーリング後の画像とは独立して、前記元のカラーマップと前記原画像とに基づいて、Ｎ個のカラーを持つ前記元のカラーマップを前記スケーリング後のカラーマップに変換するステップと、
（ｂ）前記原画像を前記スケーリング後の画像にスケーリングするステップと、
（ｃ）前記スケーリング後の画像の各画素について、
（ｉ）当該画素のカラーを定義する前記原画像の一式の貢献画素を決定するステップと、
（ｉｉ）前記一式の貢献画素のカラーおよび前記一式の貢献画素に対する当該画素の幾何学的近傍性に基づいて、当該画素のカラーを決定するステップと、
（ｉｉｉ）当該画素のカラーと前記スケーリング後のカラーマップのカラーとの間の対応関係を構築して、対応するカラーマップインデックスを決定するステップと、
（ｉｖ）前記スケーリング後の画素マップに、決定された前記カラーマップインデックスを設定するステップと
を備え、
前記ステップ（ａ）は、
Ｎｍｉｎ＜Ｎ＜Ｎｍａｘである場合に、
（ｖｉ）カラー強調のために前記元のカラーマップで利用可能なカラーのサブセットを選択するステップと、
（ｖｉｉ）選択された前記カラーのサブセットのカラーの個数を増加させるステップと、
（ｖｉｉｉ）前記ステップ（ｖｉｉ）で得られたカラーのうち重複するカラーを取り除くステップと
を有する方法。
【請求項４】
前記ステップ（ｖ）は、
前記元のカラーマップから任意の２つのカラーの組み合わせを生成するステップと、
各組み合わせについて前記２つのカラー間を補間するステップとを含む請求項２に記載の方法。
【請求項５】
前記ステップ（ｖｉ）は、
Ｎ（Ｎ＋１）≦２Ｎｍａｘの場合Ｍｓ＝Ｎであり、Ｎ（Ｎ＋１）＞２Ｎｍａｘの場合Ｍｓ＝Ｍであることに基づいて、前記カラーのサブセットのカラーの個数Ｍｓを選択するステップを含み、
Ｍは、Ｍ（Ｍ−１）≧２（Ｎｍａｘ−Ｎ）におけるＭ＜Ｎの最小値であり、Ｎは前記元のカラーマップのカラーの個数であり、Ｎｍａｘはカラーの所定の最大個数である請求項３に記載の方法。
【請求項６】
前記ステップ（ｖｉ）は、
前記元のカラーマップのカラーの利用頻度を示すカラー利用ベクトルを決定するステップと、
前記カラー利用ベクトルに基づいてオクトリーグラフを生成するステップと、
前記オクトリーグラフをパーズして、前記サブセットに含めるべきＭｓ個のカラーを選択するステップとをさらに含む請求項５に記載の方法。
【請求項７】
前記ステップ（ｖｉｉ）は、
前記カラーのサブセットから任意の２つのカラーの組み合わせを生成するステップと、
各組み合わせについて前記２つのカラー間を補間するステップとを含む請求項３に記載の方法。
【請求項８】
元のカラーマップと元の画素マップとを持つ原画像を、スケーリング後のカラーマップとスケーリング後の画素マップとを持つスケーリング後の画像にスケーリングする方法であって、
（ａ）前記スケーリング後の画像とは独立して、前記元のカラーマップと前記原画像とに基づいて、Ｎ個のカラーを持つ前記元のカラーマップを前記スケーリング後のカラーマップに変換するステップと、
（ｂ）前記原画像を前記スケーリング後の画像にスケーリングするステップと、
（ｃ）前記スケーリング後の画像の各画素について、
（ｉ）当該画素のカラーを定義する前記原画像の一式の貢献画素を決定するステップと、
（ｉｉ）前記一式の貢献画素のカラーおよび前記一式の貢献画素に対する当該画素の幾何学的近傍性に基づいて、当該画素のカラーを決定するステップと、
（ｉｉｉ）当該画素のカラーと前記スケーリング後のカラーマップのカラーとの間の対応関係を構築して、対応するカラーマップインデックスを決定するステップと、
（ｉｖ）前記スケーリング後の画素マップに、決定された前記カラーマップインデックスを設定するステップと
を備え、
前記ステップ（ｉｉ）は、
前記一式の貢献画素のカラーが同じである場合に、前記一式の貢献画素のカラーに等しく当該画素のカラーを割り当てるステップ、または、前記一式の貢献画素間のカラーを補間することにより当該画素のカラーを割り当てるステップのいずれか１つを有し、
前記ステップ（ｉｉｉ）は、
前記スケーリング後のカラーマップのうち最も近いものを発見するステップ
を有する方法。
【請求項９】
前記原画像および前記スケーリング後の画像は、ＧＩＦ（Graphical Interchange Format）画像、ＰＮＧ（Portable Network Graphic）画像、およびＢＭＰ（Bitmap）画像のなかから選択される請求項１から８のいずれか一項に記載の方法。
【請求項１０】
元のカラーマップと元の画素マップとを持つ原画像を、スケーリング後のカラーマップとスケーリング後の画素マップとを持つスケーリング後の画像にスケーリングするシステムであって、
前記スケーリング後の画像とは独立して、前記元のカラーマップと前記原画像とに基づいて、前記元のカラーマップを前記スケーリング後のカラーマップに変換するカラーマップ変換モジュールと、
前記原画像を前記スケーリング後の画像にスケーリングする画素選択モジュールと、
前記スケーリング後の画像の各画素について、
（ｉ）当該画素のカラーを定義する前記原画像の一式の貢献画素と、
（ｉｉ）前記一式の貢献画素のカラーおよび前記一式の貢献画素に対する当該画素の幾何学的近傍性に基づいて、当該画素のカラーとを決定するカラー補間モジュールと、
（ｉｉｉ）当該画素のカラーと前記スケーリング後のカラーマップのカラーとの間の対応関係を構築して、対応するカラーマップインデックスを決定し、
（ｉｖ）前記スケーリング後の画素マップに、決定された前記カラーマップインデックスを設定するカラーマップインデックス生成モジュールと
を備え、
前記カラーマップ変換モジュールは、前記元のカラーマップのカラーの個数Ｎを決定して、前記カラーの個数Ｎを、所定の閾値ＮｍｉｎおよびＮｍａｘと比較するカラーマップ解析モジュールを有する
システム。
【請求項１１】
元のカラーマップと元の画素マップとを持つ原画像を、スケーリング後のカラーマップとスケーリング後の画素マップとを持つスケーリング後の画像にスケーリングするシステムであって、
前記スケーリング後の画像とは独立して、前記元のカラーマップと前記原画像とに基づいて、前記元のカラーマップを前記スケーリング後のカラーマップに変換するカラーマップ変換モジュールと、
前記原画像を前記スケーリング後の画像にスケーリングする画素選択モジュールと、
前記スケーリング後の画像の各画素について、
（ｉ）当該画素のカラーを定義する前記原画像の一式の貢献画素と、
（ｉｉ）前記一式の貢献画素のカラーおよび前記一式の貢献画素に対する当該画素の幾何学的近傍性に基づいて、当該画素のカラーとを決定するカラー補間モジュールと、
（ｉｉｉ）当該画素のカラーと前記スケーリング後のカラーマップのカラーとの間の対応関係を構築して、対応するカラーマップインデックスを決定し、
（ｉｖ）前記スケーリング後の画素マップに、決定された前記カラーマップインデックスを設定するカラーマップインデックス生成モジュールと
を備え、
前記カラーマップ変換モジュールは、
Ｎｍｉｎ＜Ｎ＜Ｎｍａｘである場合に、カラー強調に最も有利な、前記元のカラーマップで利用可能なカラーのサブセットを選択するカラー間引きモジュール
を有するシステム。
【請求項１２】
元のカラーマップと元の画素マップとを持つ原画像を、スケーリング後のカラーマップとスケーリング後の画素マップとを持つスケーリング後の画像にスケーリングするシステムであって、
前記スケーリング後の画像とは独立して、前記元のカラーマップと前記原画像とに基づいて、前記元のカラーマップを前記スケーリング後のカラーマップに変換するカラーマップ変換モジュールと、
前記原画像を前記スケーリング後の画像にスケーリングする画素選択モジュールと、
前記スケーリング後の画像の各画素について、
（ｉ）当該画素のカラーを定義する前記原画像の一式の貢献画素と、
（ｉｉ）前記一式の貢献画素のカラーおよび前記一式の貢献画素に対する当該画素の幾何学的近傍性に基づいて、当該画素のカラーとを決定するカラー補間モジュールと、
（ｉｉｉ）当該画素のカラーと前記スケーリング後のカラーマップのカラーとの間の対応関係を構築して、対応するカラーマップインデックスを決定し、
（ｉｖ）前記スケーリング後の画素マップに、決定された前記カラーマップインデックスを設定するカラーマップインデックス生成モジュールと
を備え、
前記カラーマップ変換モジュールはカラーマップ強調モジュールを有し、
前記カラーマップ強調モジュールは、Ｎ＜Ｎｍａｘである場合には、前記元のカラーマップで利用可能なカラーの個数を増加させて前記スケーリング後のカラーマップを生成し、Ｎｍｉｎ＜Ｎ＜Ｎｍａｘである場合には、選択された前記カラーのサブセットのカラーの個数を増加させ、重複するカラーを取り除く
システム。
【請求項１３】
前記カラーマップ強調モジュールは、
前記元のカラーマップから任意の２つのカラーの組み合わせを生成し、各組み合わせについて前記２つのカラー間を補間する手段を含む請求項１２に記載のシステム。
【請求項１４】
前記カラー間引きモジュールは、
Ｎ（Ｎ＋１）≦２Ｎｍａｘの場合Ｍｓ＝Ｎであり、Ｎ（Ｎ＋１）＞２Ｎｍａｘの場合Ｍｓ＝Ｍであることに基づいて、前記カラーのサブセットのカラーの個数Ｍｓを選択する手段を含み、
Ｍは、Ｍ（Ｍ−１）≧２（Ｎｍａｘ−Ｎ）におけるＭ＜Ｎの最小値であり、Ｎは前記元のカラーマップのカラーの個数であり、Ｎｍａｘはカラーの所定の最大個数である請求項１１に記載のシステム。
【請求項１５】
前記カラー間引きモジュールは、
前記元のカラーマップのカラーの利用頻度を示すカラー利用ベクトルを決定し、前記カラー利用ベクトルに基づいてオクトリーグラフを生成し、前記オクトリーグラフをパーズして、前記サブセットに含めるべきＭｓ個のカラーを選択する手段をさらに含む請求項１１または１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像のスケーリングに係り、特に、カラーマッピング後の画像の予測スケーリングのための方法およびシステムに係る。
【背景技術】
【０００２】
画像処理は、多くのデータ量の処理を伴い、アルゴリズムが複雑であることから、時間がかかりＣＰＵを利用するプロシージャである。
【０００３】
このために、データ量および画像処理アルゴリズムの複雑性の両面を低減させるような様々な方法が開発されてきた。
【０００４】
こういった方法の１つに、画質を犠牲にしても、画像の生成に利用される個々の（distinct）色の数を低減させるものがある。画像の全ての画素の全ての原色成分を格納および管理する代わりに、最も代表的な色を、各要素（色）をその位置により示すような、限られた大きさの色の要素のアレイに分類する。これらの色の要素のアレイは、セット内の色の数と画質との間でバランスをとっており、通常、画像のカラーマップと称されている。このようにして、画像の画素は、色成分全てを含むのではなくて、カラーマップに対するインデックスのみを有しており、画像の画素マップと称されることも多い。このようにカラーマップおよび画素マップへと構造的に組織化される画像のことをカラーマッピング後の画像と称することができる。
【０００５】
カラーマッピング後の画像は、大きさが小さく処理し易く、且つ認知される画質も許容範囲内であることから、多くの用途において他の種類の画像よりも好まれる。
【０００６】
しかし、スケーリングとして当技術分野で通常知られている画像変換等の用途等においては、カラーマッピング後の画像による利点では未だ不十分である。スケーリングを行う必要性は、例えば、高画質の原画像のサイズが、特に多くの画像を動画シーケンスにストリーミングする際等に、モバイルデバイスの表示・記憶機能を超えてしまうときなどに生じる。この場合には、小さなディスプレイに収まらない画像の画素を削ることとなり、解像度が低下して適切なカラーマップではなくなってしまうために、画質の損失が著しく許容できないものとなってしまうこととなる。スケーリングが生じる損失を最小限に抑えるべく、先行技術のなかには、スケーリング後の画像のカラーマップの再生等に演算を利用するものがある。
【０００７】
しかし、これらの先行技術のなかに、カラーマッピング後の画像のスケーリング中に生じる画像処理を最小限に抑えようとしたものは見受けられない。
【０００８】
従って、カラーマッピング後のデジタル画像のスケーリングに関して、画像処理において演算を利用しなくて済むようになるような、向上した方法およびシステムを開発することが有利であると思われる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従って、本発明の目的の１つは、カラーマッピング後の画像のスケーリングに関して、先行技術の欠点を回避または軽減することのできる、向上した方法およびシステムを提供することである。
【課題を解決するための手段】
【００１０】
本発明の一側面においては、元のカラーマップと元の画素マップとを持つ原画像を、スケーリング後のカラーマップとスケーリング後の画素マップとを持つスケーリング後の画像にスケーリングする方法であって、（ａ）スケーリング後の画像とは独立して、元のカラーマップと原画像とに基づいて、Ｎ個のカラーを持つ元のカラーマップをスケーリング後のカラーマップに変換するステップと、（ｂ）原画像をスケーリング後の画像にスケーリングするステップと、（ｃ）スケーリング後の画像の各画素について、（ｉ）当該画素のカラーを定義する原画像の一式の貢献画素を決定するステップと、（ｉｉ）一式の貢献画素のカラーおよび一式の貢献画素に対する当該画素の幾何学的近傍性に基づいて、当該画素のカラーを決定するステップと、（ｉｉｉ）当該画素のカラーとスケーリング後のカラーマップのカラーとの間の対応関係を構築して、対応するカラーマップインデックスを決定するステップと、（ｉｖ）スケーリング後の画素マップに、決定されたカラーマップインデックスを設定するステップとを備える方法が提供される。
【００１１】
ステップ（ａ）は、透明色を除く元のカラーマップのカラーの個数Ｎを計算するステップを有する。
【００１２】
上述した方法において、Ｎ＞Ｎｍａｘである場合に、元のカラーマップをスケーリング後のカラーマップとして再利用するステップを有する。
【００１３】
上述した方法において、生成する方法は、（ｖ）Ｎ＜Ｎｍｉｎである場合に、元のカラーマップで利用可能なカラーの個数を増加させてスケーリング後のカラーマップを生成するステップを有する。
【００１４】
好適には、変換するステップは、Ｎｍｉｎ＜Ｎ＜Ｎｍａｘである場合に、（ｖｉ）カラー強調のために元のカラーマップで利用可能なカラーのサブセットを選択するステップと、（ｖｉｉ）選択されたカラーのサブセットのカラーの個数を増加させるステップと、（ｖｉｉｉ）ステップ（ｖｉｉ）で得られたカラーのうち重複するカラーを取り除くステップとを有する。
【００１５】
好適には、ステップ（ｖ）は、元のカラーマップから任意の２つのカラーの組み合わせを生成するステップと、各組み合わせについて２つのカラー間を補間するステップとを含む。
【００１６】
本発明の実施形態において、ステップ（ｖｉ）は、Ｎ（Ｎ＋１）≦２Ｎｍａｘの場合Ｍｓ＝Ｎであり、Ｎ（Ｎ＋１）＞２Ｎｍａｘの場合Ｍｓ＝Ｍであることに基づいて、カラーのサブセットのカラーの個数Ｍｓを選択するステップを含み、Ｍは、Ｍ（Ｍ−１）≧２（Ｎｍａｘ−Ｎ）におけるＭ＜Ｎの最小値であり、Ｎは元のカラーマップのカラーの個数であり、Ｎｍａｘはカラーの所定の最大個数である。
【００１７】
上述した方法において、ステップ（ｖｉｉ）は、カラーのサブセットから任意の２つのカラーの組み合わせを生成するステップと、各組み合わせについて２つのカラー間を補間するステップとを含む。
【００１８】
動画ストリームの１画像の場合には、ステップ（ｂ）は、原画像のデルタ領域（つまり、動画ストリームの先行するフレームから変化した原画像の領域のこと）のみをスケーリングするステップを有する。
【００１９】
上述した方法において、ステップ（ｉｉ）は、一式の貢献画素のカラーが同じである場合に、一式の貢献画素のカラーに等しく当該画素のカラーを割り当てるステップ、または、一式の貢献画素間のカラーを補間することにより当該画素のカラーを割り当てるステップのいずれか１つを有する。
【００２０】
好適には、一式の貢献画素間の補間には、バイリニア補間が含まれてよい。
【００２１】
バイリニア補間の場合には、方法のステップ（ｉ）は、画素（Ｐ１）を囲みｆ（Ｑ１１）、ｆ（Ｑ１２）、ｆ（Ｑ２１）、およびｆ（Ｑ２２）というカラーをそれぞれ有する矩形の頂点に位置する第１（Ｑ１１）、第２（Ｑ１２）、第３（Ｑ２１）、および第４（Ｑ２２）という貢献画素を決定するステップを含み、ステップ（ｉｉ）は、ｆ（Ｑ１１）＝ｆ（Ｑ１２）およびｆ（Ｑ２１）＝ｆ（Ｑ２２）であることを条件としてｆ（Ｐ１）＝ｆ（Ｑ１１）（ｘ２-ｘ）／（ｘ２-ｘ１）+ｆ（Ｑ２１）（ｘ−ｘ１）／（ｘ２-ｘ１）により画素（Ｐ１）のカラーｆ（Ｐ１）を決定するステップを含み、ｘは画素Ｐ１の水平座標の値であり、ｘ１は画素Ｑ１１、Ｑ１２の水平座標の値であり、ｘ２は画素Ｑ２１、Ｑ２２の水平座標の値である。
【００２２】
また、バイリニア補間の場合に、方法のステップ（ｉ）が、画素（Ｑ）を囲みｆ（Ｑ１１）、ｆ（Ｑ１２）、ｆ（Ｑ２１）、およびｆ（Ｑ２２）というカラーをそれぞれ有する矩形の頂点に位置する第１（Ｑ１１）、第２（Ｑ１２）、第３（Ｑ２１）、および第４（Ｑ２２）という貢献画素を決定するステップを含んでもよく、ステップ（ｉｉ）が、 ｆ（Ｑ１１）＝ｆ（Ｑ２１）およびｆ（Ｑ１２）＝ｆ（Ｑ２２）であることを条件としてｆ（Ｐ１）＝ｆ（Ｑ１１）（ｙ２-ｙ）／（ｙ２-ｙ１）＋ｆ（Ｑ１２）（ｙ−ｙ１）／（ｙ２-ｙ１)により画素（Ｐ１）のカラーｆ（Ｑ）を決定するステップを含み、ｙは画素Ｐ１の水平座標の値であり、ｙ１は画素Ｑ１１、Ｑ１２の水平座標の値であり、ｙ２は画素Ｑ２１、Ｑ２２の水平座標の値である。
【００２３】
好適には、方法のステップ（ｉｉｉ）は、スケーリング後のカラーマップのうち最も近いものを発見するステップを有する。
【００２４】
本発明の別の側面においては、元のカラーマップと元の画素マップとを持つ原画像を、スケーリング後のカラーマップとスケーリング後の画素マップとを持つスケーリング後の画像にスケーリングするシステムであって、プロセッサとコンピュータ可読媒体とを有するコンピュータを備え、コンピュータ可読媒体にはコンピュータ可読命令が格納されており、コンピュータ可読命令がプロセッサにより実行されることで、スケーリング後の画像とは独立して、元のカラーマップと原画像とに基づいて、元のカラーマップをスケーリング後のカラーマップに変換するカラーマップ変換モジュールと、原画像をスケーリング後の画像にスケーリングする画素選択モジュールと、スケーリング後の画像の各画素について、（ｉ）当該画素のカラーを定義する原画像の一式の貢献画素と、（ｉｉ）一式の貢献画素のカラーおよび一式の貢献画素に対する当該画素の幾何学的近傍性に基づいて、当該画素のカラーとを決定するカラー補間モジュールと、（ｉｉｉ）当該画素のカラーとスケーリング後のカラーマップのカラーとの間の対応関係を構築して、対応するカラーマップインデックスを決定し、（ｉｖ）スケーリング後の画素マップに、決定されたカラーマップインデックスを設定するカラーマップインデックス生成モジュールとを備えるシステムが提供される。
【００２５】
上述したシステムにおいて、カラーマップ変換モジュールは、元のカラーマップのカラーの個数Ｎを決定して、カラーの個数Ｎを、所定の閾値ＮｍｉｎおよびＮｍａｘと比較するカラーマップ解析モジュールをさらに有する。
【００２６】
カラーマップ変換モジュールは、Ｎｍｉｎ＜Ｎ＜Ｎｍａｘである場合に、カラー強調に最も有利な、元のカラーマップで利用可能なカラーのサブセットを選択するカラー間引きモジュールをさらに有する。
【００２７】
カラーマップ変換モジュールはカラーマップ強調モジュールをさらに有し、カラーマップ強調モジュールは、Ｎ＜Ｎｍａｘである場合には、元のカラーマップで利用可能なカラーの個数を増加させてスケーリング後のカラーマップを生成し、Ｎｍｉｎ＜Ｎ＜Ｎｍａｘである場合には、選択されたカラーのサブセットのカラーの個数を増加させ、重複するカラーを取り除く。
【００２８】
カラーマップ強調モジュールは、元のカラーマップから任意の２つのカラーの組み合わせを生成し、各組み合わせについて２つのカラー間を補間する手段を含む。
【００２９】
カラー間引きモジュールは、Ｎ（Ｎ＋１）≦２Ｎｍａｘの場合Ｍｓ＝Ｎであり、Ｎ（Ｎ＋１）＞２Ｎｍａｘの場合Ｍｓ＝Ｍであることに基づいて、カラーのサブセットのカラーの個数Ｍｓを選択する手段を含み、Ｍは、Ｍ（Ｍ−１）≧２（Ｎｍａｘ−Ｎ）におけるＭ＜Ｎの最小値であり、Ｎは元のカラーマップのカラーの個数であり、Ｎｍａｘはカラーの所定の最大個数である。
【００３０】
上述したシステムにおいて、カラー間引きモジュールは、元のカラーマップのカラーの利用頻度を示すカラー利用ベクトルを決定し、カラー利用ベクトルに基づいてオクトリーグラフを生成し、オクトリーグラフをパーズして、サブセットに含めるべきＭｓ個のカラーを選択する手段をさらに含む。
【００３１】
プロセッサに実行されると、上述した方法のステップを実行するコンピュータ可読命令を格納したコンピュータ可読媒体も開示される。
【００３２】
原画像およびスケーリング後の画像が、ＧＩＦ（Graphical Interchange Format）画像であると好適である。あるいは画像を、ＰＮＧ（Portable Network Graphics）フォーマット、ＢＭＰ（Bitmap）、その他カラーマップを利用する画像フォーマットで符号化することができる。
【００３３】
このようにして、カラーマッピング後の画像のスケーリングに関する向上した方法およびシステムが提供される。以下に、本発明の実施形態を、添付図面を参照しながら例示により説明する。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施形態におけるカラーマッピング後の画像をスケーリングする方法のステップを示す。
【図２】図１の方法のブロック１０４(カラーマップ変換)をより詳細に示す。
【図３】図１の方法のブロック１０８（カラーマッピング後の画像のスケーリング）をより詳細に示す。
【図４】図３のブロック３１２で実行されるバイリニア補間およびブロック３１０で実行される画素に貢献するカラーの解析を表す概略図である。
【図５】図３のブロック３１０（重要な決定）をより詳細に示す。
【図６】本発明の実施形態のカラーマッピング後の画像をスケーリングするシステムを示す。
【発明を実施するための形態】
【００３５】
本発明の好適な実施形態は、カラーマッピング後の画像の変換（画像のスケーリング等）中に生じるカラーマッピング後の画像の処理を最小限に抑える可能性を持つ。
【００３６】
図１は、本発明の実施形態におけるカラーマッピング後の画像をスケーリングする方法を示すフローチャート１０である。方法１０は、ブロック１００から始まる。ブロック１０４（カラーマップ変換）で、カラーマップインデックスに対する原画像の画素マップ１１０の画素の解析に基づいて原画像のなかで最も頻繁に利用されているカラーを判断することにより、元のカラーマップ１０２を、スケーリング後のカラーマップ１０６に修正する。その後、ブロック１０８（カラーマッピング後の画像のスケーリング）において、元の画素マップ１１０およびスケーリング後のカラーマップ１０６をブロック１０８における入力として利用して、原画像のスケーリングを行い、スケーリング後のカラーマップおよびスケーリング後の画素マップ（図１には不図示）を有するスケーリング後のカラーマップ画像１１２を生成する。方法はブロック１１４で終了する。
【００３７】
ブロック（カラーマップ変換）１０４の目的は、スケーリング後の画像の演算を利用する量子化を行わずに、元のカラーマップを、スケーリング後の画像のカラーマップに類似するように変換することである。量子化の代わりに、本発明の実施形態の方法においては、図２を参照して詳述するステップが実行される。
【００３８】
カラーマップ変換プロシージャ２０はブロック２００から始まり、元のカラーマップ１０２に対して変換が必要であるかを判断する。これは、カラー（つまり、透明色を除く元のカラーマップで利用されるカラーのこと）の個数Ｎを数え（ブロック２０４）、その値を解析する（ブロック２０６）ことにより行われる。透明色は、別途処理する。我々の研究結果によると、Ｎがカラーの所定の最大個数Ｎｍａｘを超える場合（つまりＮ＞Ｎｍａｘの場合）に、元のカラーマップを修正することなくスケーリング後のカラーマップとして効果的に再利用することができる。Ｎｍａｘの合理的な値は１６と決定されているが、カラーの最大個数Ｎｍａｘが他の値であることで利点を生じるような状況もあり得、そう判断される場合には（ブロック２０６の「いいえ」）、スケーリング後のカラーマップ２３０を元のカラーマップ１０２のコピーとして定義して（ステップ２２８）、プロシージャ２０がステップ２３２で終了する。
【００３９】
一方、Ｎ＜Ｎｍａｘである場合には、カラーの個数Ｎは、スケーリング後の画像で許容範囲の画質を維持することができないと考えられるので、元のカラーマップの変換がさらに必要となる（ブロック２０６の「はい」）。変換の品質は、変換するカラーの選択に大いに依存し、さらにカラーの個数Ｎに依存する。Ｎの解析をブロック２０８で行う。Ｎがカラーの所定の最小個数Ｎｍｉｎよりも小さい場合（つまり、Ｎ＜Ｎｍｉｎの場合であって、ブロック２０８の「いいえ」）、元のカラーマップの全てのカラーをさらに変換するものとして選択する（ブロック２１０）。Ｎｍｉｎの合理的な値はＮｍｉｎ＝４として決定されているが、カラーの最小個数が他の値であることで利点を生じるような状況もあり得る。そうではない場合には（ブロック２０８の「はい」、つまり、カラーの個数ＮがＮｍｉｎより大きいが、Ｎｍａｘより小さい場合）、カラーのサブセットのみを選択するが、このサブセット内のカラーは、元のカラーマップの変換に利用されて最も功を奏するものである。選択するカラーを決定するときには、原画像の各画素をそのカラーマップインデックスと比べて解析して最も頻繁に利用されているカラーを決定する（ブロック２１２）。この解析においては、実際のカラーの値の処理は行わず、元の画素マップの一画素の値（ブロック１１０）が、Ｎ個の整数値のカラー利用ベクトルの直接インデックスとして利用され、ここでは各値が対応するカラーの利用頻度を表している。合致するものが見つかる度に、直接インデックスに対応するカラー利用ベクトルの値を増分する（ブロック２１６）。
【００４０】
元の画素マップ１１０の全ての画素の処理が済むと、ブロック２１８でカラー利用ベクトルはオクトリーグラフをポピュレートする。オクトリーグラフは、レベルを分けられたノードを含み、各ノードが８つの値を有し、各レベルは最上位から最下位ビットまでの色成分のビット深さに対応している。例えば、あるカラーにおける赤色、緑色、および青色成分の最上位ビットを合成（combine）して、オクトリーグラフの第１のノードの３ビットのインデックスを形成する。後続する各ビットも同様にツリー構造のより深いレベルへとインデックス化する。これは、複数のカラーを分類する非常に効率的な方法である。ここでは各ノードが全画像の比率に応じた値を有する必要がある。あるカラーがツリーに追加されると、その利用により、それが通る（traverse）各ノードの比率の値が増分される。
【００４１】
ここで、ＲＧＢ成分ＲＧＢ（１３２１０、２６１０、８７１０）を有し、全入力画像の２１％を占める、あるカラーを例にとって説明する。下付文字で示されている１０は、ＲＧＢ成分の対応する値の１０進法表現である。２進法表現では、ＲＧＢ成分はそれぞれ、ＲＧＢ（１００００１００２、０００１１０１０２、０１０１０１１１２）となる。２進法表現のＲＧＢ成分は、以下に示す表１の列「カラー」のＲ，Ｇ，およびＢという副列を満たしている。各深さのＲＧＢ成分のビットが、インデックスに変換されたビットパターンを形成する。例えば深さ０では、一例であるカラービットパターンは１００２であり、これがインデックス４１０に変換される。インデックスの値により、表１の「オクトリーインデックス」の列の副列の数が決定され、これと、深さ０に対応する表１の列との交差部が、この例におけるカラー利用の値（つまり２１％）で埋めるべきセルを示す。
【表１】
0005474063.tif 000002
【００４２】
一見したところ、第１のノードの分岐４が画像内の全てのカラーの２１％を占めていることがわかる。
【００４３】
カラー利用ベクトルの全ての値をオクトリーグラフをポピュレートするよう利用することで、殆どの有用なカラーのサブセットに含めるように選択されるべきカラーの個数Ｍｓが決定される（ブロック２２０）。Ｍｓは以下の公式に則って選択される。
公式１：Ｎ（Ｎ＋１）≦２Ｎｍａｘの場合、Ｍｓ＝Ｎ
公式２：Ｎ（Ｎ＋１）＞２Ｎｍａｘの場合、Ｍｓ＝Ｍ
ここで、Ｍは、Ｍ（Ｍ−１）≧２（Ｎｍａｘ−Ｎ）におけるＭ＜Ｎの最小値である。
公式２が当てはまる場合には、適宜、Ｍｓを閉形式で容易に発見することができる。以下の定理があてはまる。
【００４４】
＜定理＞
ＮおよびＮｍａｘを、Ｎ＜ＮｍａｘかつＮ（Ｎ＋１）＞２Ｎｍａｘであるような自然数とする。[ｘ]をｘの整数部分として、ｘが自然数である場合には、Ｅ（ｘ）＝[ｘ]として、そうではない場合には、Ｅ（ｘ）＝[ｘ]＋１とする。
ｍ（ｍ−１）≧２（Ｎｍａｘ−Ｎ）であるようなＭ＝ｍ＜Ｎの最小の自然数は、以下の式により決定することができる。
0005474063.tif 000003
【００４５】
＜証明＞
不等式ｍ（ｍ−１）≧２（Ｎｍａｘ−Ｎ）は、単純な代数計算によりｍ２−ｍ−２（Ｎｍａｘ−Ｎ）≧０となる。ＭについてＭ２−Ｍ−２（Ｎｍａｘ−Ｎ）＝０を解くと、２つの根が生じる。
0005474063.tif 000004
不等式ｍ２−ｍ−２（Ｎｍａｘ−Ｎ）≧０は、Ｍが常に自然数であることから、Ｍの値が以下の正の根
0005474063.tif 000005
Ｍ＝Ｅ（ｍ１）より大きいときに限って満たされる。故に以下のようになる。
0005474063.tif 000006
以下にＮｍａｘ＝１６である場合のＭｓの計算を示す２つの例を検討する。
【００４６】
＜例１＞
元のカラーマップに利用されるカラーの個数をＮ＝４とする。この場合、（１／２）Ｎ（Ｎ＋１）＝（１／２）４（４＋１）＝１０となる。１０＜１６であるので、公式１が当てはまり、Ｍｓ＝ＮあるいはＭｓ＝４となる。従って、４つのカラーをサブセットに含めるべく選択することになる。
【００４７】
＜例２＞
元のカラーマップに利用されるカラーの個数をＮ＝９とする。この場合、（１／２）Ｎ（Ｎ＋１）＝（１／２）９（９−１）＝３６となる。３６＞１６であるので、公式２が当てはまる。上述した定理に従って、
0005474063.tif 000007
または
0005474063.tif 000008
を得て、これによりＭ＝Ｅ（４．２７）＝５となり、Ｍｓ＝５となる。従って、５つのカラーをサブセットに含めるべく選択することになる。
【００４８】
サブセットのカラーの個数Ｍｓを決定すると、オクトリーグラフをノード毎にパーズして、最も有利なカラーを選択する。例えば１６個のカラーが必要である場合には、選択される各カラーは、全ての画素の少なくとも６％で利用される必要がある。要件を満たすノードが発見されるまで、オクトリーグラフのパーズが続けられる。ノードがリーフ（フルカラー）ではない場合、生じるカラーは、ノードの子それぞれを対応する比率で平均化することにより計算される。
【００４９】
選択されるカラーは、元のカラーマップのカラーのサブセットを形成し、これは、元のカラーマップの変換を行うのに最も有利であると考えられる。
【００５０】
ブロック２２２でサブセットの変換は、カラーのサブセットにおける各隣接するカラー対のカラーを平均化することにより、選択されたカラーを補間することによって行われるので、生じる１／２Ｍｓ（Ｍｓ−１）個の新たなカラーを、現存するＮ個のカラーに追加する。各対において、赤色、緑色、および青色成分を互いに独立して平均化する。従って、補間後の全カラー個数は、Ｍｔ＝Ｎ＋１／２Ｍｓ（Ｍｓ−１）となる。
【００５１】
補間後の全カラー個数Ｍｔは、カラーのＮｍｉｎを超える場合がある。この場合には（ブロック２２４の「はい」）、補間後のカラーについて、重複するカラーがないかをチェックして、後にブロック２２６で取り除き、残りのカラーを固有のものとする。スケーリング後のカラーマップ１０６は、ブロック２２８で、ブロック２２６で生成されたカラーとして定義される。ブロック２２２で、補間後の全カラー個数ＭｔがＮｍｉｎより小さい場合には（ブロック２２４の「いいえ」）、スケーリング後のカラーマップ１０６はブロック２２２で生成される全てのカラーを含むことになる。元のカラーマップの変換はブロック２３２で終了する。
【００５２】
図３は、図１の方法のブロック１０８（カラーマッピング後の画像のスケーリング）を拡張し、より詳細に示すダイアグラム３０を示す。
【００５３】
ＧＩＦ（Graphic Interchange Format）等の画像符号化フォーマットによる領域の最適化が公知であり、殆どの符号化ＧＩＦ動画の領域は最適化されている。本発明では、この利用しやすい領域最適化法により、原画像のスケーリングにおける画素数処理の低減を試みる。具体的には、ブロック３００で開始されると、モバイルデバイスの表示可能領域のサイズを原画像のサイズと比較して、必要なスケーリング率を決定する。このスケーリング率を、最適化された領域のパラメータに適用して、スケーリング後の画像に対して選択する画素を決定する（ブロック３０２）。さらなる処理を行って、図１のステップ１０４で予め生成された、スケーリング後のカラーマップ１０６のなかからどのカラーを、選択された各画素に割り当てるべきかを判断する。
【００５４】
全ての選択された画素を処理する場合を除いて（ブロック３０４の「済み」）ブロック３０２（ブロック３０４の「行う」）で選択された各画素について（ブロック３０４）、ブロック３０８から３２０に概略を示すステップを行う。各画素について、元の画素マップに基づいて（ブロック１１０）原画像の一式の貢献画素を決定する（ブロック３０８）。各画素のカラーは、この一式の貢献画素のカラーに基づき、ブロック３１０における貢献画素のカラーの解析結果に応じて、貢献画素の赤色、緑色、青色（ＲＧＢ）の値を補間することにより（ブロック３１０の「はい」）、あるいは、補間そのものをスキップすることにより（ブロック３１０の「いいえ」）決定される。
【００５５】
本発明の実施形態では、バイリニア補間を利用するが（ブロック３１２）、他の補間技法を利用することで利点を生じるような状況もあり得るだろう。
【００５６】
ブロック１０８（カラーマッピング後の画像のスケーリング）の処理を記述するプロシージャ３０のさらなる詳細を処理する前に、図４および図５を参照して、ブロック３１２および３１０の処理を詳述することにする。
【００５７】
図４のダイアグラム４０に示すように、スケーリング後の画像の１画素をＰ１として表し、原画像において対応する貢献画素をＱ１１、Ｑ１２、Ｑ２１、およびＱ２２として表すことにする。これら画素Ｐ１、Ｑ１１、Ｑ１２、Ｑ２１、およびＱ２２は、それぞれのＲＧＢ値により特徴付けられ、これらを総称してそれぞれｆ（Ｐ１）、ｆ（Ｑ１１）、ｆ（Ｑ１２）、ｆ（Ｑ２１）、およびｆ（Ｑ２２）とする。画素Ｑ１１、Ｑ１２、Ｑ２１、およびＱ２２は、図３に示すステップ３０８で集められ、ステップ３１０でさらに解析される貢献画素のリストが形成される。この解析は、ｆ（Ｑ１１）、ｆ（Ｑ１２）、ｆ（Ｑ２１）、およびｆ（Ｑ２２）が条件（１）（数１）を満たすか否かの判断である。
【数１】
0005474063.tif 000009
【００５８】
この条件（１）が当てはまる場合、補間はｆ（Ｐ１）＝ｆ（Ｑ１１）と簡略化することができ、これは、貢献画素Ｑ１１、Ｑ１２、Ｑ２１、およびＱ２２の共通のカラーを、選択された画素Ｐ１に割り当てることを意味している。
【００５９】
このステートメントを証明する。殆どの一般形態において、バイリニア補間は以下の数２により実行される。
【数２】
0005474063.tif 000010
なお、ｘおよびｙはＰ１の座標であり、ｘｉおよびｙｉは、Ｑｉｊ（ｉ＝１，２；ｊ＝１，２）の座標である。
【００６０】
ｆ（Ｑ１１）＝ｆ（Ｑ１２）＝ｆ（Ｑ２１）＝ｆ（Ｑ２２）であるので、共通の倍数ｆ（Ｑ１１）を括弧から出して以下とすることができる。
0005474063.tif 000011
【００６１】
小数部を括弧に追加した結果生じる数式を簡略化すると、最終的に以下の数式が得られる。
【数３】
0005474063.tif 000012
【００６２】
貢献画素のリストを解析するステップの概略を、図５のダイアグラム５０を参照しながら示す。ブロック５００で開始されると、条件（１）が満たされたと仮定され、これにより、特別な「補間」インジケータが「偽」に設定される（ブロック５０２）。貢献画素のリストのエントリをチェックして、最初の不透明なエントリを発見して、これがブロック５０４で他の条件の参照エントリとして記憶される。ブロック５０６で貢献画素のリストのエントリをさらにチェックして、最後のエントリを発見する。最後のエントリが発見されると（ブロック５０６の「済み」）、ブロック５１６で貢献画素のリストの処理が終了される。さもなくば（つまり、ブロック５０６の「行う」）、リストの処理はブロック５１０へと進む。貢献画素のカラーが透明である場合（ブロック５１０の「はい」）、透明なカラーは別途処理するので、エントリされた貢献をリストから取り除く（ブロック５０８）。さもなくば（ブロック５１０の「いいえ」）、ブロック５１２で現在のエントリを、ブロック５０４で記憶された参照エントリと比較する。これらエントリが同じである場合（ブロック５１２の「はい」）、ステップ５０６から５１２を繰り返す。さもなくば（ブロック５１２の「いいえ」）、「補間」インジケータをブロック５１４で「真」に設定し、この場合には明らかに数式（１）が満たされないので、残りのエントリの解析を終了する（ブロック５１６）。
【００６３】
以下、図３に戻って、ブロック３１０におけるプロシージャ３０の貢献画素のカラーの解析の再開について説明する。
【００６４】
殆どの好適な場合において、貢献画素のリストは、「補間」インジケータの初期値を変更することなく枯渇することになり、これにより、画像処理が補間ブロック３１２をスキップすることができ（ブロック３１０の「いいえ」）、直接ブロック３２０に進み、上述した数式（３）に従って画素Ｐ１のカラーが設定される。
【００６５】
しかしながら「補間」インジケータの初期値が「真」に変更された場合には（ブロック３１０の「はい」）、補間３１２ステップが行われる。貢献画素のリストを再度解析して（ブロック３１２）、ｆ（Ｑ１１）、ｆ（Ｑ１２）、ｆ（Ｑ２１）、およびｆ（Ｑ２２）が以下の数式を満たすかを判断する。
【数４】
0005474063.tif 000013
【数５】
0005474063.tif 000014
【００６６】
条件（４）（数４）が当てはまる場合、補間の数式（数２）は以下のように簡略化される。
0005474063.tif 000015
【００６７】
このステートメントを証明する。数２に、ｆ（Ｑ１２）の代わりにｆ（Ｑ１１）を、ｆ（Ｑ２２）の代わりにｆ（Ｑ２１）を代入すると、以下が得られる。
0005474063.tif 000016
【００６８】
第２項および第３項の順序を逆にすると、以下のようになる。
0005474063.tif 000017
【００６９】
括弧内の分数を加算すると、以下のように簡略となる。
0005474063.tif 000018
【００７０】
「ｙ」をキャンセルすると、
0005474063.tif 000019
が得られ、分数を簡潔な形にすると、以下のようになる。
【数６】
0005474063.tif 000020
【００７１】
同様に、条件（５）が当てはまる場合、補間の数式（２）は以下のように簡略化される。
【数７】
0005474063.tif 000021
【００７２】
これに関する証明は、前のステートメントの証明と全ての面で同様であるので、繰り返さない。
【００７３】
数６または数７に基づく補間は、一般的な数式である数１に基づく補間よりもかなり簡単なものであり、必要とするメモリおよび演算に必要な処理サイクルが少ないので、これを利用することができると補間処理速度は非常に速くなる。数４および数５のいずれかを満たさない貢献画素の補間は、数式（２）を用いて行われる。しかしＧＩＦ画像については、補間するべき画素の大部分が条件（１）を満たす画素のカテゴリーに分類されるので、補間が必要となるケースはあまり生じない。
【００７４】
ブロック３１２において行われる補間の結果、元のカラーマップ１０２を利用して画素Ｐ１のＲＧＢ値が決定され、結果生じるカラーのカラーマップインデックスの決定へと進む。カラーマッピングは、結果生じるカラーとカラーマップの全てのカラーとの間のユークリッド距離の計算を行って最も近いものを見つけようとするとから、演算を利用するプロシージャとして知られている。本発明の実施形態では、カラーマッピングを実際に行う画素数が最小限に抑えられ、これは、可能な場合にブロック３１４で、結果生じるＲＧＢの値を、現在のフレームまたは前のフレームにおける前の画素のものと比較することにより行われる。これらのＲＧＢの値が合致すると（ブロック３１４の「いいえ」）、カラーマップ検索を行うことなく、前の画素のインデックスを画素Ｐ１に直接適用する（ブロック３２０）。さもなくば（ブロック３１４の「はい」）、ブロック３１８でカラーマップ検索を行って、スケーリング後のカラーマップ１０６を利用して最も近いものを発見して、対応するインデックスを画素Ｐ１に適用する。
【００７５】
画素のカラーマップインデックスが決定されるとすぐに、ブロック３２０でこれを、スケーリング後の画像のカラーマップに記録する。スケーリング後の画像の全ての画素に対して、順次、ステップ３０４から全てのステップを繰り返して、スケーリング後の画素のマップを形成する（ブロック３２２）。プロシージャ３０はブロック３２４で終了する。
【００７６】
本発明のスケーリング法を実装したシステムの概略図を、図６を参照しながら説明する。
【００７７】
図６は、本発明の実施形態のカラーマッピング後の画像をスケーリングするシステムを示すダイアグラム６０を示す。システムは、プロセッサとコンピュータ可読媒体（メモリ等）とを有するコンピュータを含み、コンピュータ可読媒体にはコンピュータ可読命令が格納されており、本命令が実行されることで、上述した方法の各ステップが実行され、以下に詳述するようにシステム６０の一定の処理を行う様々な手段を含むモジュール６０１−６１２が形成される。
【００７８】
システム６０は、カラーマップ変換モジュール６０１を含み、カラーマップ変換モジュール６０１は、カラーマップ解析モジュール（ＣＭＡ）６０２、カラー間引きモジュール６０４、およびカラーマップ強調モジュール６０６を含む。カラーマップ強調モジュール６０６は、元のカラーマップから任意の２色の組み合わせを生成して各組み合わせについて２色間を補間する手段を含み、この手段は、コンピュータ可読媒体に格納されプロセッサに実行されるコンピュータ可読プログラムコードとして実装される。
【００７９】
カラーマップ解析モジュール６０２は、上述したように、透明色を除く、元のカラーマップに利用されるカラーの個数Ｎを決定する。カラーマップ解析モジュール６０２は、画素選択モジュール６０８、カラーマップ強調モジュール６０６、およびカラー間引きモジュール６０４に接続される。カラー間引きモジュール６０４は、上述したようにカラーの個数Ｍｓを選択する手段と、元のカラーマップのカラーの利用頻度を示すカラー利用ベクトルを決定し、カラー利用ベクトルに基づいてオクトリーグラフを生成し、オクトリーグラフをパーズして、サブセットに含めるべきＭｓ個のカラーを選択する手段とを含む。これら手段は両方とも、コンピュータ可読媒体に格納されプロセッサに実行されるコンピュータ可読プログラムコードとして実装される。
【００８０】
Ｎの値に応じて、一度に接続６０７、６０９、または６１１の１つのみを起動する。カラーマップ解析モジュール６０２がカラーの個数が十分多いと判断する場合には（例えばＮ＞Ｎｍａｘ）、原画像カラーマップを直接、画素選択モジュール６０８に入力する。さもなくば（Ｎ＜Ｎｍａｘの場合）、利用可能なカラーの個数は、スケーリング後の画像で許容範囲の画質を維持することができないので、元のカラーマップを変換するべく、直接（Ｎ＜Ｎｍｉｎの場合）、あるいは、カラー間引きモジュール６０４（Ｎ＞Ｎｍｉｎの場合）を介して、原画像カラーマップをカラーマップ強調モジュール６０６へと入力する。カラー間引きモジュール６０４の目的は、スケーリング後の画像の画質に与える影響の少ないカラーを間引くことにより、元のカラーマップで利用可能なカラーの個数を減らすことであるが、カラーマップ強調モジュール６０６が行う変換速度を著しく低下させる可能性もある。カラーの低減は図２のステップ２１２、１１０、２１６、２１８、および２２０に従って行われる。この結果、カラー間引きモジュール６０４に、カラーマップ強調モジュール６０６に、変換を行う上で最も有利なカラー一式が提供される。
【００８１】
変換は、図２のステップ２２２、２２４、および２２６に従ってカラー一式を補間することにより行われる。結果生じる強調されたカラーマップは、スケーリング後の画像について理想的なカラーマップにかなり近似したものとみなされる。
【００８２】
画素選択モジュール６０８は、上述した方法の図３のステップ３０２に従って、スケーリング後の画像に含められるべき原画像の画素を選択する。
【００８３】
カラー補間モジュール６１０は、図５を参照して説明した貢献画素のリストを解析するステップに従って、選択された各画素に寄与する原画像の画素を収集して解析することにより、選択された画素のＲＧＢの値を決定することができる。
【００８４】
カラーマップインデックス生成モジュール６１２は、カラー補間モジュール６１０が生成するＲＧＢの値およびスケーリング後のカラーマップ１０６で利用可能なカラーを入力として受け取り、これらを比較して、最も近いものを選びとり、そのインデックスを対応する画素に適用する。
【００８５】
このように、カラーマッピング後の画像をスケーリングする向上した方法およびシステムが提供された。
【００８６】
本発明の実施形態は、ＧＩＦ（Graphical Interchange Format）画像を参照して説明を行ってきたが、その原理は、他のフォーマット（例えば、ＰＮＧ（Portable Network Grahpics）、ＢＭＰ（Bitmap）、その他カラーマップを用いる他のフォーマット）で符号化されたデジタル画像のスケーリングにも応用可能である。本発明の実施形態のシステムには、ＣＰＵおよび上述した本発明の実施形態の方法を実行するコンピュータ可読命令を格納して図６に示すシステムのさまざまなモジュールを形成するコンピュータ可読媒体（メモリ、ＤＶＤ，ＣＤ−ＲＯＭ等）を有する汎用または専用コンピュータが含まれる。また、本発明の実施形態のシステムは、ファームウェア、または、ファームウェアと専用コンピュータの組み合わせで実装することもできる。
【００８７】
上述したカラーマッピング後の画像をスケーリングする方法は、静止画像に応用することもでき、または、動画ストリームの各画像のスケーリングに応用することもできる。後者の場合には、その画像を含んだ先行する動画フレームから変化した画像のデルタ領域を決定して、このデルタ領域のみに対して本方法のステップを実行する（つまり、デルタ領域を原画像として利用する）とよい。
【００８８】
本発明の実施形態の方法におけるステップを実行する命令を格納するコンピュータ可読媒体（メモリ、ＤＶＤ，ＣＤ−ＲＯＭ、フロッピー（登録商標）その他の媒体を含む）もまた提供される。
【００８９】
本発明に関する好適な実施形態を説明してきたが、当業者には、本発明の範囲を逸脱することなく、前述した様々な変更、省略、および変形例が明らかである。
【図１】
0005474063.tif 000022
【図２】
0005474063.tif 000023
【図３】
0005474063.tif 000024
【図４】
0005474063.tif 000025
【図５】
0005474063.tif 000026
【図６】
0005474063.tif 000027