以下、添付図面の、まずは、図1を参照すれば、画像に関係する動作を実行するように適合及び構成されたコンピュータシステム10のブロックダイアグラムが示されている。CPU12は、例えば、USBポートなどを介して、例えば、デジタルカメラ14などの装置に結合されている。デジタルカメラは、ビデオデジタルカメラを有することができる。デジタルカメラ14は、カメラ14上にローカルに格納されている画像をCPU12にダウンロードするように動作する。CPU12は、画像ファイル18として、ダウンロードされた画像をメモリ16に格納する。CPU12は、モニタ20上における表示のために、又はプリンタ22上における印刷のために、画像ファイル18にアクセスすることができる。メモリ16は、任意の一時的又は永久的なデータ格納装置を有することができる。
更には、コンピュータシステム10は、メモリ16に格納されている画像ファイル18内に出現可能な様々な物体に関する情報を格納するオブジェクトデータベース24を含む。この情報には、データベース24に格納されているそれぞれの物体の素材(マテリアル)構成及び素材反射率測色に関する情報が含まれる。オブジェクトデータベースは、図1に示されているようにCPU12に結合されている。又、CPU12は、ウェブサイト28に対するアクセスのために、インターネット26にも結合されている。ウェブサイト28は、例えば、物体の素材構成及び素材反射率測色などの画像ファイル18内に出現可能な物体に関連する情報を収容するウェブサイトを含み、且つ、オブジェクトデータベースの別の供給源を提供する。又、ウェブサイト28は、CPU12からインターネット26上において送信された画像ファイル18を受け取るように構成されたウェブサイトをも含む。
或いは、この代わりに、CPU12は、例えば、デジタルカメラ14又はロボットなどの装置に組み込まれたマイクロプロセッサとして実装することもできる。又、CPU12は、例えば、ロボットの動作又はユーザーとの間の対話型の動作との関連において、画像に関係するリアルタイム動作のためのリアルタイムオペレーティングシステムを装備することもできる。
図2に示されているように、それぞれの画像ファイル18は、n×mピクセルのアレイを有する。それぞれのピクセルpは、画像全体の別個の部分に対応する画素である。ピクセルのすべてが、協働し、画像ファイル18によって表されている画像を規定する。それぞれのピクセルは、例えば、画素の赤色成分、緑色成分、及び青色成分(RGB)などの色帯の組に対応したデジタル値を有する。本発明は、任意のマルチ帯域画像に適用可能であり、この場合に、それぞれの帯域は、電磁気スペクトルの一部分に対応している。ピクセルアレイは、それぞれ、ピクセルp(1,1)によって始まり、且つ、ピクセルp(n,m)によって終了するm個の列のn個の行を含む。画像を表示又は印刷する際には、CPU12は、一般に知られているように、対応する画像ファイル18をメモリ16から取得し、且つ、状況に応じて、画像ファイル18内のピクセルのデジタル値の関数として、モニタ20又はプリンタ22を動作させる。
画像の操作の際には、CPU12は、例えば、画像ファイル18内に記録されている場面内に描かれた単一の素材に対応する画像の領域の識別などの様々な目的を実現するべく、格納されている画像ファイル18のピクセルのRGB値を分析するように動作する。本発明の基本的な発見の基礎をなす基本的な観察は、画像が、素材と照明という2つの成分を有するというものである。画像のすべての変化は、これらの成分のうちの一方又は他方によって生成される。例えば、素材などのこれらの成分のうちの1つを検出する方法は、照明及び陰影の境界から物体のエッジなどの素材又は物体の形状を弁別するメカニズムを提供する。
このようなメカニズムにより、固有画像を生成するために使用可能な技法が可能となる。固有画像は、例えば、入力画像ファイル18内に描かれている画像などのオリジナルの画像に対応している。固有画像は、例えば、画像内に描かれている表面上のそれぞれの地点に入射する光の強度及び色をキャプチャするための照明画像と、画像内に描かれている表面の反射率特性(表面が反射する光のそれぞれの波長の百分率)をキャプチャするための素材反射率画像と、を含む。固有画像内における素材からの照明の分離は、相対的に効果的であり且つ正確であると共に効率的な更なる処理のために最適化された画像をCPU12に対して提供する。
例えば、本発明の一特徴によれば、固有画像は、データ送信及び/又は格納の際の結果を改善するために、デジタル画像信号圧縮アルゴリズムに適用される。画像、特に、カラー画像、を描くコンピュータファイルは、例えば、バイトによって表されたピクセルとして構成された大量の情報を必要としている。従って、それぞれの画像ファイルは、メモリ内における大量の格納空間を必要とし、且つ、リモートサイト又は装置に対する画像のデータ送信の際に大量の時間を消費する可能性がある。例えば、ビデオストリームにおけるように、一連の画像の送信に必要とされうる時間量は、スマートフォン、インターネットウェブサイト、又はタブレット上におけるビデオのリアルタイム表示のためのストリーミング動作などの動作を予測不能なものにする可能性がある。
従って、画像のピクセルを表すバイト数を格段に小さなバイト数に圧縮するために、数学的技法が開発されている。例えば、.jpgファイルフォーマットは、デジタル写真ファイルを圧縮するべく、JPEG(Joint Photographic Experts Group)によって開発された柔軟性を有する圧縮アルゴリズムである。圧縮された画像は、オリジナル画像ファイルよりも格段に小さな格納容量を必要とする方式で格納することが可能であり、且つ、格段に効率的且つ高速な送信動作によってリモートサイト又は装置に送信することができる。圧縮された画像ファイルは、例えば、画面上における表示などの、更なる使用のために、圧縮解除される。但し、デジタルビデオの受信及びリアルタイム表示用の装置のユーザー数の迅速な増大に起因し、既知の圧縮法は、有効機能の限度に直面している。
本発明の一特徴によれば、固有画像に対して圧縮及び圧縮解除プロセスを実行することにより、デジタル信号の圧縮及び圧縮解除処理が改善される。
本発明の一特徴によれば、処理は、トークンレベルにおいて実行される。トークンとは、領域のピクセルが素材及び照明の識別などの画像の特徴及び特性の識別に関係する方式によって相互に関係付けられている画像の接続された領域である。トークンのピクセルは、例えば、ピクセルの間における色の緊密な相関などの均質な要因、或いは、例えば、テクスチャと一般に呼ばれているRGB空間などの色空間内において幾何学的に関係付けられた異なる色値などの不均質な要因の観点において関係付けることができる。本発明は、画像ファイル18内において描かれている画像の連続したピクセルに関係する空間−スペクトル情報を利用し、トークン領域を識別している。空間−スペクトル情報には、例えば、ピクセルのRGB値などの色帯の観点における連続したピクセルの間におけるスペクトル関係と、単一の素材に関係するピクセルスペクトル特性の空間的な程度と、が含まれる。
本発明の例示的な一実施形態によれば、トークンは、それぞれ、タイプAトークン、タイプBトークン、又はタイプCトークンとして分類される。タイプAトークンとは、場面内において単一の素材を取り囲む画像の最大可能領域(均一な反射率)を表す連続したピクセルを有する接続された画像領域である。タイプBトークンとは、場面内において単一の素材を取り囲む画像の領域を表す連続したピクセルを有する接続された画像領域であるが、必ずしも、その素材に対応する均一な反射率の最大領域ではない。又、タイプBトークンは、そのすべてが同一の反射率(素材色)を有するが、必ずしも、すべてのピクセルがその素材色に対応しているわけではない1つ又は複数の画像領域又はピクセルの集合体として規定することもできる。タイプCトークンとは、トークンの連続したピクセルの間における類似の画像特性の接続された画像領域を有しており、この場合に、類似性は、画像を記録するために使用された撮像システムのノイズモデルとの関係において規定される。
次に図3aを参照すれば、本発明の一特徴による図2の画像ファイル18内に描かれている場面内においてタイプCトークン領域を識別するフローチャートが示されている。タイプCトークンは、本発明の一特徴によれば、図3aのステップを利用することにより、画像内において容易に識別することが可能であり、且つ、次いで、これらを分析及び処理することにより、タイプBトークンを構築することができる。
1次均一均質タイプCトークンは、画像の連続したピクセルの間において単一の安定した色計測値を有する。識別ルーチンの開始時点において、CPU12は、領域マップをメモリ内においてセットアップする。ステップ100において、CPU12は、領域マップをクリアし、且つ、領域IDを割り当てているが、領域IDは、当初、1に設定される。ピクセル番号に対応するルーチンの反復は、i=0に設定されており、且つ、トークンを判定するためのシードとして使用されるN×Nピクセルアレイの数値は、初期値N=Nstartに設定されている。Nstartは、0を上回る整数であってもよく、例えば、11又は15ピクセルにおいて設定することができる。
ステップ102において、シード試験を開始している。CPU12は、例えば、i=1において、第1ピクセルを、即ち、画像ファイル18の第1のN×Nサンプルの左上隅のピクセルであるピクセル(1,1)を、選択している(図2を参照されたい)。次いで、このピクセルは、選択されたピクセルが良好なシードの一部であるかどうかを判定するために判定ブロック104において試験されている。試験は、例えば、N×Nアレイなどのシードとして予め選択された数のその隣接するピクセルの色値との間における選択されたピクセルの色値の比較を有することができる。色値の比較は、ピクセルの複数の色帯値(本発明者らの例においては、RGB)との関係におけるものであってもよい。比較が、シード内のピクセルについて(記録装置のノイズレベル内の)ほぼ等しい値を結果的にもたらさない場合には、CPU12は、次のN×Nシードサンプルについて、例えば、i=2のピクセル(1,2)のようにiの値を増分し(ステップ106)、且つ、次いで、i=imaxであるかどうかを判定するべく試験する(判定ブロック108)。
ピクセル値が、imaxである、即ち、結果の改善のためにシードサイズを低減するための判定用の閾値として選択された値である場合には、シードサイズNを、例えば、N=15から、N=12に低減する(ステップ110)。本発明の例示的な一実施形態においては、imaxは、図2に示されているように、ピクセル(n,m)において終了する画像内のピクセルの数に設定することができる。この結果、図3aのルーチンは、低減されたNの値だけルーチンを反復する前に、最初のNの値だけ画像全体を解析する。
シードサイズの低減の後に、ルーチンは、ステップ102に戻り、且つ、トークンシードの試験を継続する。又、ステップ110においては、分析が完了しているかどうかを判定するために、Nstop値(例えば、N=2)もチェックされる。Nの値がNstopである場合には、CPU12は、画像ピクセルアレイの調査を完了しており、且つ、ルーチンを終了する。
iの値がimax未満であり、且つ、NがNstopを上回っている場合には、ルーチンは、ステップ102に戻り、且つ、トークンシードの試験を継続する。
良好なシード(ほぼ等しいピクセル値を有するN×Nアレイ)が見出された際には(ブロック104)、シードからトークンを成長させる。ステップ112において、CPU12は、シードからのピクセルをキュー上にプッシュしている。キュー内のピクセルのすべてが領域マップ内の現在の領域IDによってマーキングされる。次いで、CPU12は、キューが空であるかどうかについて問い合わせている(判定ブロック114)。キューが空ではない場合には、ルーチンは、ステップ116に進む。
ステップ116において、CPU12は、キューからフロントピクセルをポップアップし、且つ、ステップ118に進む。ステップ118において、CPU12は、現在の領域IDにより、主題ピクセルの周りの「良好」な隣接ピクセルを、即ち、主題ピクセルと色値においてほぼ等しい隣接ピクセルを、マーキングしている。マーキングされた良好な隣接ピクセルのすべては、領域マップ内に配置され、且つ、キュー上にプッシュもされる。次いで、CPU12は、判定ブロック114に戻る。ステップ114、ステップ116、ステップ118のルーチンは、キューが空になる時点まで反復される。この時点において、現在の領域内においてトークンを形成しているピクセルのすべての識別と、タイプCトークンとしての領域マップ内におけるマーキングと、が完了している。
キューが空である際には、CPU12は、ステップ120に進む。ステップ120において、CPU12は、次のトークンの識別に伴って使用するべく、領域IDを増分している。次いで、CPU12は、ステップ106に戻り、新しい現在のトークン領域との関係においてルーチンを反復する。
N=Nstopに、つまり、図3aのフローチャートのステップ110に、到達した際に、即ち、画像と一致する領域マップの完了の際に、ルーチンは、トークン構築タスクを完了していることになる。図3bは、トークンの識別において、一例として使用されるオリジナル画像である。画像は、青色の色のエリアと、青色の陰影のエリアと、濃青緑色の色のエリアと、濃青緑色の陰影のエリアと、を示している。図3cは、例えば、図3bと画像との関係において、図3aのルーチンの実行を通じて識別された領域マップに対応するトークン領域(タイプCトークン)を示している。これらのトークン領域は、画像のフルカラーの青色及び濃青緑色のエリアの間の半影領域及び有色エリアの陰影を含む画像3bの画像のトークン構成を示すために色分けされている。
それぞれのタイプCトークンは、画像の連続したピクセルの間の単一の安定した色計測値を有する画像の領域を有するが、トークンは、素材境界に跨って成長してもよい。通常、異なる素材は、陰影境界上に又は類似の色相を有するが異なる強度を有する異なる素材を横断する変化する照明を有するエリア内にしばしば位置したネック領域を介して1つのタイプCトークン内において1つに接続している。ネックピクセルは、隣接するピクセルの特性を調査することによって識別することができる。ピクセルが、対応するトークン内に存在していない反対側の2つの連続したピクセルと、対応するトークン内に存在している反対側の2つの連続したピクセルと、を有する際に、そのピクセルは、ネックピクセルとして規定される。
図4は、タイプCトークンのネック試験のフローチャートを示している。ステップ122において、CPU12は、識別されたトークンのそれぞれのピクセルを調査し、調査対象のピクセルのいずれかがネックを形成しているかどうかを判定している。図4のルーチンは、特定のトークンが図3aのルーチンの実行の際に識別された直後にサブルーチンとして実行することができる。ネックとして識別されたすべてのピクセルは、「成長不能」としてマーキングされる。判定ブロック124において、CPU12は、ピクセルのいずれかがマーキングされているかどうかを判定している。
判定結果が否定的である場合には、CPU12は、図4のルーチンを終了し、且つ、図3aのルーチンに戻る(ステップ126)。
判定結果が肯定的である場合には、CPU12は、ステップ128に進み、且つ、シードサイズ及び領域IDのカウントを変更することなしに、図3aのルーチンに従って、現在のトークンのマーキングされていないピクセルの中から選択されたシード場所からトークンを再成長させるように動作する。再成長プロセスにおいては、CPU12は、成長不能として予めマーキングされた任意のピクセルを含んでいない。トークンの再成長の後に、予めマーキングされていたピクセルは、その他のトークンがその内部に成長してもよいように、マーキング解除される。
予めマーキングされたピクセルを伴わないトークンの再成長の後に、CPU12は、ステップ122に戻り、新しく再成長したトークンを試験する。ネック試験により、素材境界を横断するタイプCトークンを識別し、且つ、識別されたトークンを再成長させることにより、タイプBトークンを生成する際に使用するのに適した単一素材タイプCトークンを提供する。
図3dは、本発明の一特徴に従って図3cのタイプCトークンから生成されたタイプBトークンを示している。本発明は、画像ファイル18のタイプBトークンを構築するために対数色度クラスタ化を使用する新しい例示的な技法を提供している。対数色度は、照明不変色度空間を生成するための技法である。
対数色度表現を使用して照明と反射率を分離する方法及びシステムは、米国特許第7,596,266号明細書に開示されており、この文献の内容は、引用により、本明細書に明示的に包含される。米国特許第7,596,266号明細書に教示されている技法を使用し、例えば、タイプCトークンによって表された画像のそれぞれの色の照明不変対数色度表現値を提供することができる。画像ピクセルの色帯値の対数値を対数−色空間グラフ上においてプロットする。次いで、米国特許第7,596,266号明細書に教示されているように、対数値を二光源二色性反射モデル(Bi-Illuminant Dichromatic Reflection:BIDRモデル)の関数として方向付けされた対数−色度投影プレーンに対して投影し、それぞれのピクセルごとの対数色度値を提供する。BIDRモデルは、色の変化が、画像内に描かれている場面の単一の素材にわたって陰影を形成している照明の変化に起因している際には、異なる色計測値が、正のスロープに沿って、暗い端部(陰影内)から明るい端部(照射された端部)まで、RGB空間内の円筒に属すると予測している。
図5は、米国特許第7,596,266号明細書に開示されている本発明の一特徴による対数色空間二光源色度プレーンのグラフィカルな図である。色度プレーンのアライメントは、色度プレーンに対して垂直のベクトルNによって決定され、且つ、N=log(Brightvector)−log(Darkvector)=log(l+1/Svector)として規定される。プレーンの座標u,vは、u軸としての色度プレーン上への緑色軸の投影と、uとv軸として規定されているNのクロス積と、によって規定することができる。本発明者らの例においては、素材A、B、Cのそれぞれの対数値は、色度プレーン上に投影され、且つ、従って、図5に示されているように、色度値であるプレーン内の対応するu,v座標値を有することになる。
従って、米国特許第7,596,266号明細書に開示されている技法によれば、画像ファイル18内のそれぞれのピクセルのRGB値は、図5に示されているように、CPU12により、画像ファイル値p(n,m,R,G,B)から、対数値に、次いで、色度プレーンに対する投影を通じて、対応するu,v値に、マッピングすることができる。次いで、画像ファイル18内のそれぞれのピクセルp(n,m,R,G,B)は、オリジナルのRGB画像の色度表現を提供するように、CPU12により、二次元色度値p(n,m,u,v)によって置換される。一般的に、N帯域の画像の場合には、N個の色値がN−1個の色度値によって置換される。色度表現は、真に正確な照明不変表現であり、その理由は、表現が基づいているBIDRモデルが、オリジナル画像を生成した光束を正確且つ正しく表しているからである。
本発明の一特徴によれば、対数色度値は、均一な反射率の領域(タイプBトークン)の識別のために、CPU12に入力された画像ファイル18内において描かれているそれぞれの色について算出される。例えば、タイプCトークンのそれぞれのピクセルは、例えば、RGB値の観点において、画像を記録するために使用された機器のノイズレベル内において、同一のタイプCトークンのすべてのその他の構成ピクセルとほぼ同一の色値を有することになる。従って、それぞれの特定のタイプCトークンの構成ピクセルの色値の平均を使用し、対数色度分析において、個々のタイプCトークンの色値を表すことができる。
図6は、例えば、画像ファイル18などの入力画像において描かれている色のリストを判定するフローチャートである。ステップ200において、入力画像ファイル18が処理のためにCPU12に入力されている。ステップ202及びステップ204において、CPU12は、入力画像ファイル18内において描かれている色を判定している。ステップ202において、CPU12は、色のリストについて、上述のように、図3aのルーチンの実行を通じてCPU12によって判定されたそれぞれのタイプCトークンごとに平均色を計算している。CPU12は、任意選択により、トークンの構成ピクセルの数の観点において最小トークンサイズを必要とするように、或いは、分析のために図3aのルーチンに従ってタイプCトークンを判定するために使用される最小シードサイズ(N×Nアレイ)を必要とするように、動作させることができる。最小サイズ要件は、画像の色のリスト内の色計測値が入力画像内において描かれている場面内の色の正確な描画であり、且つ、ブレンドピクセルのアーチファクトではないことを保証するために実装される。
ブレンドピクセルとは、画像の2つの異なる方式で色付けされた領域の間のピクセルである。2つの領域の間の色をRGB空間内においてプロットした場合に、これらの色の間には、線形の遷移が存在しており、それぞれのブレンドピクセルは、1つの領域から次のものへ移動することに伴って、2つの領域の色の重み付けされた平均値である。従って、それぞれのブレンドピクセルは、画像の真の色を表してはいない。ブレンドピクセルが存在している場合には、2つの異なる方式で色付けされた領域の間の画像のエリアについて、ブレンドピクセルから構成された相対的に小さなタイプCトークンを識別することができる。サイズの最小値を必要とすることにより、CPU12は、ブレンドピクセルから構成されたトークンを分析から除去することができる。
或いは、この代わりに、ステップ204において、CPU12は、ピクセルレベルにおいて色を、即ち、図2に示されているように、入力画像ファイル18のピクセルのRGB値を、収集することもできる。CPU12は、相対的に正確な色のリストのために、分析において使用される画像ファイル18のそれぞれのピクセルが、フィルタ出力を介して最小限の安定性を、又は局所的な標準偏差を、有することを任意選択によって必要とするように、動作させることができる。例えば、二次導関数エネルギーを使用し、画像のピクセルの安定性を示すことができる。
この方式においては、CPU12は、DoG(Difference of Gaussians)、LoG(Laplacian of Gaussian)、又は類似のフィルタを使用することにより、それぞれのピクセルにおいて二次導関数を算出するか、又は入力画像ファイル18内において描かれている画像のすべての照明状態をカバーするために画像に跨って分配されたピクセルのサブセットを算出する。次いで、調査したそれぞれのピクセルの二次導関数エネルギーは、それぞれの色帯内の二次導関数の絶対値の平均(又は、グレースケール画像の場合には、単一値の絶対値)として、それぞれの色帯内における二次導関数の値の二乗の合計(又は、グレースケール画像の場合には、単一の値の二乗)として、色帯に跨る最大二乗二次導関数値(又は、グレースケール画像の場合には、単一値の二乗)として、又は任意の類似した方法により、CPU12によって計算することができる。それぞれのピクセルごとの二次導関数エネルギーの計算の際に、CPU12は、ピクセルのエネルギー値を分析する。二次導関数エネルギーとピクセルの安定性の間には、反比例の関係が存在しており、エネルギーは、対応するピクセルの安定性が乏しいほど、大きくなる。
ステップ206において、CPU12は、(ステップ202及び/又はステップ204の一方又は両方を実行した後に)色の1つ又は複数のリストを出力している。本発明の一特徴によれば、更なる処理のすべてをステップ202又はステップ204からのリストを使用して実行することが可能であり、或いは、それぞれの後続のステップにおいて使用されるリスト(ステップ202又はステップ204からのリストの一方又は他方)を変更することもできる。
図7は、本発明の一特徴による対数色度表現の向きを判定するフローチャートである。例えば、CPU12は、図5に示されているように、対数色度プレーンについて、法線N用の向きを判定する。ステップ210において、CPU12は、図6のルーチンのステップ206において出力されたリストなどの入力ファイル18の色のリストを受け取っている。ステップ212において、CPU12は、対数色度空間の向きを判定している。
米国特許第7,596,266号明細書に教示されているように、且つ、上述のように、色度プレーンのアライメントは、Nによって表され、Nは、例えば、図5の色度プレーンなどの色度表現に対して垂直のベクトルである。向きは、いくつかの技法のうちのいずれかの技法の実行を通じてCPU12によって推定される。例えば、CPU12は、米国特許第7,596,266号明細書に詳細に開示されているように、エントロピーの最小化、ユーザーによる手動選択、又は入力画像ファイル18の画像の特性スペクトル比の使用に基づいて推定値を判定することができる。
例えば、RYGB空間(赤色、黄色、緑色、青色)などの更に大きな色の次元の組の場合には、対数色度法線Nは、入力空間よりも1つだけ小さな次元を有するサブ空間を規定している。従って、4次元のRYGB空間においては、法線Nは、3次元の対数色度空間を規定する。4次元のRYGB値を3次元の対数色度空間内に投影した際には、対数色度空間内の投影値は、照明の変動の影響を受けない。
ステップ214において、CPU12は、法線Nの向きを出力している。図5の例に示されているように、法線Nは、3次元のRGB空間内におけるu,vプレーンの向きを規定している。
図8は、本発明の一特徴による図6のルーチンのステップ202又はステップ204において識別される入力画像の色の対数色度座標を判定するフローチャートである。ステップ220において、色のリストがCPU12に入力されている。色のリストは、図6のルーチンのステップ202の実行を通じて生成されたリスト又はステップ204の実行を通じて生成されたリストを有することができる。又、ステップ222において、図7のルーチンの実行を通じて判定された法線Nの対数色度の向きもCPU12に入力されている。
ステップ224において、CPU12は、色のリストのそれぞれの色ごとに対数値を計算するように動作し、且つ、図5に示されているように、個々の(log R,log G,log B)座標における3次元対数空間内において対数値をプロットしている。素材A、B、及びCは、ステップ220においてCPU12に入力された色のリストの特定の色の対数値を表記している。又、u,v座標及びステップ222においてCPU12に入力されたNによって設定された向きを有する対数色度プレーンも、3次元対数空間内においてCPU12によって算出される。又、対数色度プレーン内のそれぞれのu,v座標も、3次元対数空間内における対応する(log R,log G,log B)座標によって表記することができる。
本発明の一特徴によれば、次いで、CPU12は、色A、B、及びCの対数値を対数色度プレーン上に投影し、それぞれの色ごとにu,v対数色度座標を判定する。それぞれのu,v対数色度座標は、3次元対数空間内の対応する(log R,log G,log B)座標によって表現することができる。CPU12は、ステップ226において対数色度座標のリストを出力している。リストは、それぞれの色をu,v対数色度座標に対して、且つ、(分析(ステップ202(トークン)又は204(ピクセル)において使用された色のリストに応じて)個々の色を有するピクセル(又は、タイプCトークン)に対して、相互参照している。
図9は、本発明の一特徴による余分な次元を有するピクセル又はタイプCトークンの対数色度座標を任意選択によって増強するフローチャートである。ステップ230において、図8のルーチンの実行を通じて入力画像の色について判定された対数色度座標のリストがCPU12に入力されている。ステップ232において、CPU12は、増強の際に使用するべく、入力画像ファイル18にアクセスしている。
ステップ234において、CPU12は、それぞれの対応するピクセル(又は、タイプCトークン)ごとにトーンマッピング強度によってそれぞれの対数色度座標を増強するように任意選択によって動作している。トーンマッピング強度は、任意の既知のトーンマッピング法を使用して判定される。トーンマッピング強度情報による増強は、類似の対数色度座標及び類似のトーンマッピング強度の両方に従ってグループ化されたピクセル又はトークンをクラスタ化するための基礎を提供する。この結果、クラスタ化ステップの精度が改善される。
ステップ236において、CPU12は、対応するピクセルごとにx,y座標(又は、タイプCトークンの構成ピクセルのx,y座標の平均値)によってそれぞれの対数色度座標を増強するように任意選択によって動作している(P(1,1)〜P(N,M)ピクセルの構成を示す図2を参照されたい)。従って、x,y座標情報によるクラスタ化ステップは、そのような特性が望ましい際に、空間的に制限された構成においてグループを提供することになる。
ステップ234及びステップ236のそれぞれにおいて、増強された情報は、増強された座標における相対的な重要度及び異なる次元のスケールを規定するために、それぞれのケースごとに、それぞれ、係数w1、w2、及びw3によって重み付けすることができる。重み係数w1、w2、及びw3は、ユーザーによって指定される。従って、ピクセル又はタイプCトークンの(log R,log G,log B)座標は、(log R,log G,log B,T*w1,x*w2,y*w3)に増強され、ここで、T、x、及びyは、それぞれ、トーンマッピング強度、x座標、及びy座標である。
ステップ238において、CPU12は、増強された座標のリストを出力している。増強された対数色度座標は、ピクセルの、或いは、例えば、タイプCトークンなどの入力画像の指定された領域構成の、正確な照明不変表現を提供する。本発明の一特徴によれば、基礎として対数色度座標の照明不変特性に依拠することにより、例えば、タイプBトークンなどの単一の素材又は反射率の画像の領域を識別している。
図10は、本発明の一特徴による対数色度座標をクラスタ化するフローチャートである。ステップ240において、増強された色度座標のリストがCPU12に入力されている。ステップ242において、CPU12は、対数色度座標をクラスタ化するように動作している。クラスタ化ステップは、例えば、既知のk平均クラスタ化によって実装することができる。任意の既知のクラスタ化法を使用して対数色度座標をクラスタ化し、類似の対数色度座標値のグループを判定することができる。CPU12は、それぞれの対数色度座標を個々の座標が属しているグループに対して関連付ける。又、CPU12は、クラスタ化ステップにおいて識別されたそれぞれのグループごとに中心を計算するようにも動作する。例えば、CPU12は、(log R,log G,log B,log T)空間との関係においてそれぞれのグループごとに中心を判定することができる。
ステップ244において、CPU12は、(対応するピクセル又はタイプCトークンに対して相互参照された)対数色度座標のクラスタグループメンバーシップのリスト及び/又はクラスタグループの中心のリストを出力している。
上述のように、クラスタ化法の実行において、CPU12は、図6のルーチンのステップ202の実行を通じて生成されたリスト又はステップ204の実行を通じて生成されたリストからの色のリストを使用することができる。識別されたクラスタグループを入力画像に適用する際には、クラスタ化法において使用されたものと同一の色の組(ステップ202に対応する色のリスト又はステップ204に対応する色のリストのうちの一方)を使用するように、或いは、異なる色の組(ステップ202に対応する色のリスト又はステップ204に対応する色のリストのうちの他方)を適用するように、CPU12を動作させることができる。異なる色の組が使用される場合には、CPU12は、図11のルーチンを実行するように継続する。
図11は、本発明の一特徴によるクラスタグループの識別の後に異なる色のリストが使用された際に図10のルーチンの実行を通じて判定されたクラスタに対して対数色度座標を割り当てるフローチャートである。ステップ250において、CPU12は、この場合にも、図8のルーチンを実行しているが、今回は、新しい色のリストとの関係において、これを実行している。例えば、ステップ202において生成された色のリスト(タイプCトークンに基づいた色)を使用してクラスタグループを識別し、且つ、次いで、CPU12が、ステップ204において生成された色のリスト(ピクセルに基づいた色)に基づいてクラスタグループとの関係において対数色度座標を分類するように動作する場合には、図11のルーチンのステップ250を実行して入力画像ファイル18内におけるピクセルの色の対数色度座標を判定する。
ステップ252において、クラスタの中心のリストがCPU12に入力されている。ステップ254において、CPU12は、最も近接したクラスタグループの中心に従ってステップ250において識別された対数色度座標のそれぞれを分類するように動作している。ステップ256において、CPU12は、ステップ250において使用された色のリスト(ステップ202において生成された色のリスト又はステップ204において生成された色のリスト)に応じて、対応するピクセル又はタイプCトークンに対する相互参照を伴って、新しい色のリストに基づいて対数色度座標のクラスタグループメンバーシップのリストを出力している。
図12は、本発明の一特徴による対数色度のクラスタ化に基づいて均一な反射率の領域を検出するフローチャートである。ステップ260において、この場合にも、入力画像ファイル18がCPU12に供給されている。ステップ262において、ステップ250において使用された色のリストに応じて、ピクセル又はタイプCトークンのいずれかがCPU12に入力されている。ステップ264において、ステップ244又はステップ256からのクラスタメンバーシップ情報がCPU12に入力されている。
ステップ266において、CPU12は、同一のクラスタグループメンバシップを有するピクセルの、又は、例えば、タイプCトークンなどの入力画像の規定された領域の、それぞれを、均一な反射率の領域(タイプBトークン)を表す画像の単一の領域にマージするように動作している。CPU12は、このようなマージ動作を、適宜、入力画像ファイル18のピクセル又はトークンのすべてについて実行する。ステップ268において、CPU12は、均一な反射率の(並びに、対数色度座標がステップ234及び/又はステップ236において増強されている場合には、類似のトーンマッピング強度及びx,y座標の)すべての領域のリストを出力している。本発明の特徴に従って判定された均一な反射率のそれぞれの領域(タイプBトークン)は、潜在的に、領域に跨る有意な照明変動を有することに留意されたい。
米国特許出願公開第2010/0142825号明細書は、同一の素材制約に基づいた最適化された解決策を含む画像内において照明と素材を分離するための制約/ソルバモデルについて教示している。米国特許出願公開第2010/0142825号明細書に教示されているものと同一の素材制約は、本発明の教示に従って判定できるタイプCトークン及びタイプBトークンを利用している。制約する関係は、同一のタイプBトークンの一部を構成しているすべてのタイプCトークンは、同一の素材を有するように制約されるというものである。この制約は、タイプBトークンの定義を、即ち、場面内の単一の素材(同一の反射率)を取り囲む画像の領域を表す連続したピクセルを有する接続された画像領域を、強く主張するものではあるが、必ずしも、その素材に対応する最大領域を強く主張するものではない。従って、同一のタイプBトークン内に位置しているすべてのタイプCトークンは、その定義により、同一の素材のタイプBトークンに対して課されるが、必ずしも、同一の照明のタイプBトークンに対して課されるものではない。従って、タイプCトークンは、変化する照明によって生成される外観上の観察される相違に対応するように制約されている。
図13は、米国特許出願公開第2010/0142825号明細書に教示されている同一の素材制約に従って画像の照明側面と素材側面を識別及び分離するために使用される[A][x]=[b]行列関係の図である。基本式I=ML(I=画像ファイル18に格納されている記録された画像値であり、M=素材反射率であり、且つ、L=照明である)に基づいて、log(I)=log(ML)=log(M)+log(L)である。これは、i=m+lと言い換えることも可能であり、この場合に、iは、log(I)を表しており、mは、log(M)を表しており、且つ、lは、log(L)を表している。同一の素材の制約する関係において、a、b、及びcによって定義された対応するタイプBトークンによって定義される(図13に示されている)3つのタイプCトークンa、b、及びcが単一の反射率の領域内に存在している例においては、ma=mb=mcである。この例においては、それぞれのタイプCトークンのI値は、トークンの構成ピクセルの記録された色値の平均色値である。この例のタイプCトークンa、b、及びcは、図3dに示されている青色のタイプBトークンに対応することができる。
ma=ia−la、mb=ib−lb、且つ、mc=ic−lcであることから、これらの数学的関係は、同一の素材制約において、(1)la+(−1)lb+(0)lc=(ia−ib)、(1)la+(0)lb+(−l)lc=(ia−ic)、及び(0)la+(1)lb+(−l)lc=(ib−ic)として表現することができる。
従って、図13の行列式において、[b]行列内のlog(I)(ia,ib,ic)の様々な値は、隣接するタイプCトークンa、b、及びcの構成ピクセルの平均記録ピクセル色値から判明する。0、1、及び−1からなる[A]行列は、上述のように、同一の素材制約を表現する式の組によって定義されている。[A]行列内の、最上部から最下部までの、行の数は、トークンに課せられた実際の制約の数に対応しており、このケースにおいては、3つであり、3つの隣接するタイプCトークンa、b、及びcの間において素材制約は、同一である。[A]行列内の、左から右までの、列の数は、解明を要する未知数の数に対応しており、この場合にも、再び、3つのトークンについて3つの照明値である。従って、[x]行列内のそれぞれのタイプCトークンa、b、及びcの照明成分の値は、行列式において、CPU12によって解明することができる。それぞれの値は、本発明者らの例の色帯(赤色、緑色、及び青色など)に対応する3つの値のベクトルであり、或いは、グレースケース画像などにおいては、単一の値であってもよいことに留意されたい。
照明値が判明したら、式I=MLを使用し、CPU12によって素材色を算出することができる。いまや、オリジナル画像内のそれぞれのピクセルを算出された照明値及び素材値によってそれぞれ置換することにより、トークンa、b、及びcによって定義された領域について、固有照明画像及び固有素材画像を生成することができる。図14には、図3bに示されているオリジナル画像に対応する照明画像及び素材画像の一例が示されている。
本発明の更なる例示的な実施形態の一特徴によれば、CPU12は、オブジェクトデータベース24に結合されている。上述のように、オブジェクトデータベース24は、画像ファイル18内に出現可能な物体のリストと、データベース24に格納されているそれぞれの物体の素材構成及び素材反射率測色に関する情報と、を格納している。画像を対応する素材反射率固有画像と照明固有画像に分離する上述の技法との関連において、処理されている画像内の物体を識別するべく、例えば、SIFT法などの既知の物体認識タスクを実行するようにCPU12を動作させる。
処理されている画像内において描かれている場面内の物体を識別する際に、CPU12は、識別される物体と関連する素材反射率測色情報のオブジェクトデータベース24にアクセスする。次いで、例えば、識別される物体を構成している処理されている画像内の任意のタイプCトークンを相関させるように、CPU12を動作させる。次いで、識別される物体の素材反射率測色情報を使用し、例えば、図13に示されている行列式に追加される固定された素材色アンカー値を規定して識別される物体を構成しているタイプCトークンを制約し、これにより、処理されている画像内において識別される物体を構成しているトークンを物体の対応する固有の素材反射率側面と照明側面に分離する。
例示的な実施形態の更に別の特徴によれば、CPU12は、インターネット26に結合されている。この結果、CPU12は、インターネット26のウェブサイト28にアクセスすることができる。ウェブサイト28は、オブジェクトデータベースの別の供給源を提供する。例えば、CPU12は、例えば、テキストに基づいたサーチなどを介してインターネット26をサーチし、アクセスしたウェブサイト28において、処理されている画像内において識別された物体の素材特性に関連する情報を取得することができる。この素材特性を使用し、上述の固定されたアンカー値を判定する。
例えば、本発明による対数色度クラスタ化法を介して得られた、例えば、タイプCトークン及びタイプBトークンと、オブジェクトデータベース26からの情報と、を利用する米国特許出願公開第2010/0142825号明細書の技法及び教示による制約/ソルバモデルの実装は、オリジナル入力画像に対応する固有画像を生成する非常に効果的且つ効率的な方法を提供する。固有画像を使用し、画像処理、画像分析、及びコンピュータビジョンアプリケーションの精度、速度、及び効率を改善することができる。
例えば、図15は、本発明の一特徴に従って固有画像を圧縮するフローチャートを示している。オリジナル画像ではなく、1つの固有画像又は固有画像(素材及び照明)の組を圧縮することにより、相対的に効率的な格納及び相対的に高速のデータ送信のために、圧縮ファイルのサイズの更なる低減が結果的に得られる。
ステップ300において、CPU12は、例えば、メモリ16からの画像ファイル18などのオリジナルの画像を受け取る。ステップ302において、CPU12は、例えば、先程詳述した技法に従って、オリジナル画像から固有画像を生成し、照明マップ(照明画像)(ステップ304)及び反射率マップ(素材画像)(ステップ306)を出力するように動作している。
ステップ308及びステップ310において、CPU12は、並行動作として、又は順番に、それぞれ、圧縮プロセスA及び圧縮プロセスBを実行するように動作している。
圧縮プロセスAにおいて、CPU12は、照明画像に対して圧縮プロセスを実行する。例えば、CPU12は、照明マップを.pgmフォーマット(既知の携帯型のグレースケールフォーマット)に変換するように動作する。次いで、CPU12は、品質レベル20を使用することにより、既知のJPEGフォーマットに従って、グレースケール照明.pgm画像を.jpg圧縮画像ファイルに変換するように継続する。
圧縮プロセスBにおいては、CPU12は、素材画像に対して圧縮プロセスを実行する。例えば、CPU12は、256色を使用することにより、既知のGraphics Interchangeフォーマットに従って、反射率マップをGIFファイルに変換するように動作する。次いで、CPU12は、品質レベル20を使用することにより、既知のJPEGフォーマットに従って、GIFファイルを.jpg圧縮画像ファイルに変換するように継続する。
ステップ312において、CPU12は、既知のGNU画像操作プログラム(GNU Image Manipulation Program:GIMP)に従って、.jpg圧縮照明ファイルと素材圧縮ファイルを再合成し、圧縮された固有画像を出力するように動作している(ステップ314)。
本発明の一特徴によれば、圧縮された固有画像は、CPU12により、メモリ16に格納されると共に/又は、例えば、インターネット26を介して、例えば、ウェブサイト28として構成されたリモード装置に対して送信される(図1を参照されたい)。リモート装置は、例えば、スマートフォン、タブレット又はiPad、或いは、TV放送動作中の装置を有する。
図16は、本発明の一特徴による固有画像を圧縮解除するフローチャートである。ステップ316において、例えば、ウェブサイト28として構成された装置は、(図15のルーチンに従って処理された)圧縮固有画像をインターネット26を介して受け取っている。装置は、例えば、スマートフォン、タブレット又はiPad、或いは、TV放送動作中の装置を有する。ステップ318において、CPU12は、受け取った圧縮画像を有する合成された.jpgファイルを分離し、圧縮された固有の照明画像と素材画像を出力するように動作している。
ステップ320及びステップ322において、CPU12は、並行動作として、又は連続的に、圧縮解除プロセスA及び圧縮解除プロセスBをそれぞれ実行するように動作している。
圧縮解除プロセスAにおいては、CPU12は、照明画像の圧縮されたバージョンに対して圧縮解除プロセスを実行し、固有照明マップを出力している(ステップ324)。
圧縮解除プロセスBにおいては、CPU12は、素材画像の圧縮されたバージョンに対して圧縮解除プロセスを実行し、固有反射率マップを出力している(ステップ326)。
ステップ318、ステップ320、及びステップ322のそれぞれは、JPEGフォーマットなどの既知の技法に従ってまずは圧縮された画像を処理する既知の技法を使用することによって実装される。
ステップ328において、CPU12は、固有の照明画像と素材画像を再合成し、例えば、図15のルーチンに従ってCPU12によってまずは処理された画像ファイル18に描かれていた画像などのオリジナル画像を出力するように動作している(ステップ330)。再合成された画像は、先程詳述したI=ML式を使用することにより、CPU12によって算出することができる。
デジタルビデオの受信及びリアルタイム表示用の装置のユーザー数の迅速な増大に起因し、本発明によって教示されているように、固有画像の使用によって実現される圧縮結果の改善は、有効な機能の限度を拡張することにより、電子装置の使用法の最近の傾向に対応している。
以上においては、特定の例示的な実施形態及びその例を参照し、本発明について説明している。但し、添付の請求項に記述されている本発明の広範な精神及び範囲を逸脱することなしに、これに対して様々な変更及び変形を実施してもよいことが明らかであろう。従って、本明細書及び図面は、制限の意味においてではなく、例示を目的としたものとして見なされたい。