(57)【要約】【課題】  撮像画像を、表示部からの光や外界の光源からの光などを考慮して、白色光源下相当の画像に補正するための技術を提供すること。【解決手段】  被写体の撮像画像を取得し、該撮像画像の撮像時に表示部に表示されていた画像の色特性に基づいて、該色特性を相殺する色補正を行うための色補正情報を生成し、該色補正情報に基づいて撮像画像を補正する。【選択図】  図１
2017072945.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
被写体の撮像画像を取得する取得手段と、
前記撮像画像の撮像時に表示部に表示されていた画像の色特性に基づいて、該色特性を相殺する色補正を行うための色補正情報を生成する生成手段と、
前記色補正情報に基づいて前記撮像画像を補正する補正手段と
を備えることを特徴とする画像処理装置。
【請求項２】
更に、
前記撮像画像が規定量以上の光量の下で撮像されたか否かを判断する手段を備え、
前記生成手段及び前記補正手段は、前記撮像画像が規定量より少ない光量の下で撮像された場合に、それぞれ前記生成及び前記補正を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記生成手段は更に、
前記色補正情報を、前記撮像画像に対する外部光源からの光の影響を補正するための色補正情報と合成することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記生成手段は、
前記画像処理装置と前記被写体との間の相対位置と相対角度とに応じた比率でもって前記合成を行うことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
更に、
前記撮像画像の階調特性を、白色光源下における階調及び色合いの基準となる画像である基準画像の階調特性に補正するための階調補正情報を生成する手段を備え、
前記補正手段は、前記色補正情報に基づいて前記撮像画像を補正し、該補正による撮像画像を、前記階調補正情報に基づいて補正することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
更に、
過去の複数の撮像画像のそれぞれについて、対応する色補正情報を生成し、該撮像画像を該撮像画像に対して生成した色補正情報に基づいて補正し、該補正したそれぞれの撮像画像に基づいて前記基準画像を生成する手段を備えることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記取得手段は前記被写体を撮像する撮像手段であり、前記表示部の画面を閲覧する被写体を撮像可能な位置に設けられていることを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、被写体の撮像画像を取得する取得工程と、
前記画像処理装置の生成手段が、前記撮像画像の撮像時に表示部に表示されていた画像の色特性に基づいて、該色特性を相殺する色補正を行うための色補正情報を生成する生成工程と、
前記画像処理装置の補正手段が、前記色補正情報に基づいて前記撮像画像を補正する補正工程と
を備えることを特徴とする画像処理方法。
【請求項９】
コンピュータを、請求項１乃至７の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に関し、特に、画像の色や階調を補正する技術に関するものである。
【背景技術】
【０００２】
近年、カメラ、重力センサ、ジャイロセンサ、ディスプレイなどの多様な機器を搭載したスマートフォンやタブレットＰＣ等の普及により、それらの機能を組み合わせたシステムを容易に開発できるようになった。例えば、ディスプレイ正面に付帯するカメラを用いて顔や表情を定期的に撮影して分析することによって健康管理システム、美容管理システムを構築することができる。このようなシステムは常駐アプリケーションとして動作させておき、スマートフォン操作中の顔や表情を撮影・収集することによって、利用者を拘束せずに多数の分析画像が得られる。ただし、日常生活を送る上で、常に撮影に適した照明条件であるとは限らない。
【０００３】
このような問題に対し、適切な補正のための色合い及び階調の補正マップデータを事前に複数用意しておき、撮影状況の光源計測・推定結果と被写体検知結果とを用いて適切な補正マップデータを選択して適用する方法が一般的である。
【０００４】
撮影状況の光源計測を行って画像を補正する手法は、例えば、特許文献１に開示されている。コンビニエンスストア等における監視カメラによる撮影においては、カメラ画角内領域の固定物（窓、障害物等）の影響によって、画角内を移動する被写体の光源に対する順光・逆光が変化する。特許文献１に開示されている技術は、光源を複数枚の撮影画像から画像内領域ごとに計測した上で、追尾した同一被写体の複数箇所における撮影画像を均質な色・階調に補正するものである。このようにすることで、撮影画像を用いた分析精度を向上させることができるため、例えば、事後に色を条件に用いた被写体検索の精度を上げることができる。一方で、光源そのものを能動的に制御することで補正画像を得る手法として、特許文献２に開示されている技術がある。この技術は、カメラのストロボを予め決めておいた時系列明滅変化パターンで発光させるのと同期して連続撮影を行い、それらを合成してブレを補正した補正画像を得るものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】ＷＯ２０１４０８０６１３
【特許文献２】特開２０１１−７８０７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１、特許文献２の何れに開示されている技術も、計測または制御できる光源を前提にしている。そのため特許文献１，２に開示されている技術では、暗所等において、計測又は制御できる光源とは別の予測困難な発光デバイス（任意操作によって変動するディスプレイ等）が存在する状況に対しては画像の補正が困難である。例えば、就寝前、夜間の野外などの暗所における撮影においては、適切な光量を得られないことに加え、スマートフォンのディスプレイ等の発光影響を受ける。ディスプレイ等の発光影響を強く受けた撮影画像は、色合いや階調が偏るため、補正が十分に行えない場合がある。健康管理や美容管理において、補正が十分ではない画像を用いると、分析精度が低くなる。
【０００７】
本発明はこのような問題に鑑みてなされたものであり、撮像画像を、表示部からの光や外界の光源からの光などを考慮して、白色光源下相当の画像に補正するための技術を提供する。
【課題を解決するための手段】
【０００８】
本発明の一様態は、画像処理装置であって、被写体の撮像画像を取得する取得手段と、前記撮像画像の撮像時に表示部に表示されていた画像の色特性に基づいて、該色特性を相殺する色補正を行うための色補正情報を生成する生成手段と、前記色補正情報に基づいて前記撮像画像を補正する補正手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明の構成によれば、撮像画像を、表示部からの光や外界の光源からの光などを考慮して、白色光源下相当の画像に補正することができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置の構成例を示すブロック図。
【図２】画像補正について説明する図。
【図３】テーブル群を示す図。
【図４】画像処理装置が行う処理のフローチャート。
【図５】画像処理装置が行う処理のフローチャート。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１２】
［第１の実施形態］
本実施形態では、被写体の撮像画像を取得し、撮像画像の撮像時に表示部に表示されていた画像の色特性に基づいて、該色特性を相殺する色補正を行うための色補正情報を生成し、色補正情報に基づいて撮像画像を補正する画像処理装置の一例について説明する。先ず、本実施形態に係る画像処理装置の構成例について、図１のブロック図を用いて説明する。
【００１３】
演算部１０１は、ＲＡＭ１０８に格納されているコンピュータプログラムやデータを用いて各種の処理を実行することで、画像処理装置１００全体の操作制御を行うと共に、画像処理装置１００が行うものとして後述する各処理を実行若しくは制御する。
【００１４】
表示部１０２は、ＣＲＴや液晶画面などにより構成されており、演算部１０１による処理結果を画像や文字などでもって表示することができる。なお、画像処理装置１００がプロジェクタなどの投影装置であった場合には、投影対象となる画像や文字を表示する表示部と、該表示部に表示した画像や文字をスクリーンなどに投影する投影部と、を有するものとなる。このように、表示部１０２は、画像を観察者に対して画像や文字などを提示するものである。
【００１５】
撮影部１０３は、静止画像若しくは動画像を撮像するものである。本実施形態では、表示部１０２に表示されている画面の光の影響を受ける被写体の画像を撮像するので、撮影部１０３は、「表示部１０２に表示されている画面の光の影響を受ける被写体の画像を撮像可能な位置」に取り付けられたものとなる。
【００１６】
操作入力部１０４は、マウスやキーボード等のユーザインターフェースであり、画像処理装置１００のユーザが操作することで各種の指示を演算部１０１に入力するためのものである。なお、表示部１０２と操作入力部１０４とを一体化させてタッチパネル画面を構成しても良い。また、表示部１０２と操作入力部１０４とを組み合わせてタッチパネル画面及びハードキーを構成しても良い。
【００１７】
通信部１０５は、外部機器との間のデータ通信を行うためのものであり、ＬＡＮ、３Ｇ、４Ｇ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）等に対応するネットワークコントローラ等である。
【００１８】
計測部１０６は、照度センサ、カメラ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）センサ、電子コンパス、ジャイロセンサ等を組み合わせたもので、画像処理装置１００に対する外部光源の相対位置や方角、動き、照度などを計測する。
【００１９】
ＲＡＭ１０８は、外部記憶部１０９からロードされたコンピュータプログラムやデータ、通信部１０５を介して外部から受信したコンピュータプログラムやデータを格納するためのエリアを有する。更にＲＡＭ１０８は、演算部１０１が各種の処理を実行するためのワークエリアを有する。これらのエリアの一例として、図１の「各種ワーク領域」を利用することができる。このように、ＲＡＭ１０８は、各種のエリアを適宜提供することができる。
【００２０】
外部記憶部１０９は、フラッシュメモリ、ハードディスクドライブ（ＨＤＤ）等の不揮発性メモリである。外部記憶部１０９には、例えば、ＯＳ（オペレーティングシステム）や、以下に説明する各種の処理において用いられるコンピュータプログラムやデータが保存されている。このコンピュータプログラムには、ブートプログラム、撮影プログラム、表示制御プログラム、撮影画像補正プログラム、が含まれている。また、このデータには、表示情報、色補正マップデータ、階調補正基準画像、光源パラメータ、撮影画像データ、各種のテーブルデータ、が含まれている。
【００２１】
外部記憶部１０９に保存されているコンピュータプログラムやデータは、演算部１０１による制御に従って適宜ＲＡＭ１０８にロードされ、演算部１０１による処理対象となる。なお、外部記憶部１０９は、光学ディスクや磁気ディスクなどの記憶媒体に対する情報の読み書きを行う装置であっても良い。
【００２２】
上記のような構成を有する画像処理装置１００は、操作入力部１０４からの各種の入力や通信部１０５から供給されるネットワーク経由の各種入力に応じて作動する。すなわち、操作入力部１０４や通信部１０５からの入力が供給されると、まず、インタラプト信号が演算部１０１に送られる。そして、演算部１０１が外部記憶部１０９に保存されているコンピュータプログラムやデータを実行することで各種の制御信号を発行し、それらの制御信号に従って、各種の制御が行われる。
【００２３】
なお、図１には、以下の説明で要する主要な構成を示しただけであり、全ての構成を示したわけではない。また、以下に説明する各処理を実現可能な構成であれば、図１に示した構成に限らず、他の構成を採用しても構わない。
【００２４】
次に、暗所にてユーザ（被写体）が表示部１０２を閲覧している状態で撮影部１０３が撮像した該ユーザの撮像画像を、表示部１０２からの光や外界の光源（外部光源）からの光等を考慮して補正する一連の処理について図４のフローチャートに従って説明する。
【００２５】
ステップＳ４０１以降の処理は、演算部１０１が、本装置のユーザが操作入力部１０４を操作して撮像開始指示を入力したり、通信部１０５が外部から撮像開始指示を受信したりしたことを検知した場合に行われるものである。然るに、演算部１０１がこのような検知を行わない限りは待機状態にあり、このような検知を行った場合にステップＳ４０１以降の処理が行われる。
【００２６】
ステップＳ４０１以降の処理を開始するためのトリガは、これらに限るものではなく、例えば、健康管理、美容管理等の分析アプリケーションの起動指示をトリガにしても良い。
【００２７】
また、以下では具体例を挙げて説明するために、画像処理装置１００はスマートフォンやタブレット端末などの携帯機器であり、画像や文字などを含む表示画面（表示情報）を表示している表示部１０２と同じ面に撮影部１０３が設けられているものとする。そして以下では、このような表示部１０２の表示画面をユーザが閲覧している状態において、撮影部１０３が該ユーザを撮像し、該撮像により得られる撮像画像を、表示部１０２からの光や外部光源からの光などを考慮して補正する。このようなシステムとしては、例えば、健康管理システムや、美容管理システム等がある。
【００２８】
＜ステップＳ４０１＞
演算部１０１が撮影プログラムを実行することで撮影部１０３を制御し、撮影部１０３は、演算部１０１による制御の元、撮像を開始する。分析対象となる撮像画像を一定量集めるために、撮像は定期的に且つ自動的に行われることを想定しているが、撮像はユーザ操作を介して行っても良く、分析に適した撮像画像が収集できるのであれば、如何なる形態を採用しても構わない。何れにせよ、ステップＳ４０１では、撮影部１０３は、連続してユーザを撮像することによって、複数枚の（ユーザの）撮像画像を撮像する。
【００２９】
上記の通り撮影部１０３は「表示部１０２に表示されている画面の光の影響を受けるユーザの画像を撮像可能な位置」に取り付けられているので、この撮像により「表示部１０２に表示されている画面の光の影響を受けるユーザ」の画像が撮像されることになる。図２（Ａ）の場合、撮影部１０３は、表示画面２０３を表示中の表示部１０２からの光を受けているユーザ２０２を撮像することになる。２０１は外部光源である。
【００３０】
＜ステップＳ４０２＞
演算部１０１は、計測部１０６による計測結果を取得する。この場合、計測部１０６は、画像処理装置１００に対する外部光源２０１の相対位置や照度（環境光の強度）等、外部光源２０１に係るパラメータ（光源パラメータ）を含む、画像処理装置１００による撮像環境に係るパラメータを計測する。
【００３１】
＜ステップＳ４０３＞
演算部１０１は、ステップＳ４０２で取得したパラメータのうち光源パラメータを参照し、該光源パラメータに含まれている「外部光源２０１による光の強度」が規定の強度以上であるか否かを判断する。すなわち、撮像画像が規定量以上の光量の下で撮像されたか否かを判断する。この判断の結果、「外部光源２０１による光の強度」が規定の強度以上であれば、外部光源２０１は非弱光源と判断して処理はステップＳ４０７に進む。一方、「外部光源２０１による光の強度」が規定の強度未満である場合には、外部光源２０１は弱光源と判断して処理はステップＳ４０４に進む。一例としては、計測部１０６に含まれている照度センサを用いて得た照度が閾値（２００ルクス等）を下回る場合には、外部光源２０１は弱光源と判断する。
【００３２】
なお、外部光源２０１が弱光源であるか否かの判断方法については、他の方法を採用しても構わない。例えば、ステップＳ４０１における画像撮像でもって取得した撮像画像中に現れる表示画面の明度の明滅と、撮像画像中に写っている被写体表面の照度（輝度値等）と、の間の相関を数値化し、閾値判定する方法を採用しても構わない。
【００３３】
＜ステップＳ４０４＞
演算部１０１は、ステップＳ４０１における画像撮像でもって取得した撮像画像を用いて、画像処理装置１００に対するユーザ２０２の相対的な位置Ｄ、角度θを求める。例えば、演算部１０１は、ステップＳ４０１で取得した撮像画像に含まれているユーザ２０２の顔の位置と向きを認識し、該認識した顔の位置と向きから「画像処理装置１００に対するユーザ２０２の顔の相対角度θ」を求める。また、演算部１０１は、ステップＳ４０１で取得した撮像画像に含まれているユーザ２０２の顔の大きさを求め、該求めた大きさと予め対応付けられている距離値を「画像処理装置１００に対するユーザ２０２の相対位置Ｄ」として求める。なお、画像処理装置１００に対するユーザ２０２の相対的な位置、角度を求める方法は、これに限るものではない。例えば、ユーザ２０２の顔以外を対象とする場合には、事前にマーカを対象に付与しておき、撮像画像中のマーカに基づいて相対位置Ｄ、相対角度θを求める方法や、各種センサによって相対位置Ｄ及び相対角度θを求めても良い。
【００３４】
＜ステップＳ４０５＞
演算部１０１は、ステップＳ４０１における画像撮像時に表示部１０２に表示していた表示画面のスクリーンショット（表示画面のコピー画像）、ステップＳ４０１における画像撮像時における表示部１０２のバックライトの輝度、を取得する。そのために演算部１０１は、外部記憶部１０９に保存されている、図３（Ａ）に例示するテーブル（表示情報テーブル）を参照する。
【００３５】
演算部１０１は、画像の撮像が行われるたびに、該撮像した画像と、該撮像時に表示部１０２に表示していた画面のスクリーンショットと、を外部記憶部１０９に保存すると共に、以下の情報群を表示情報テーブルに登録する。表示情報テーブルの各行には、演算部１０１が撮像のたびに収集した情報群が登録されている。
【００３６】
表示情報ＩＤ  …  画像撮像時に表示部１０２に表示していた表示画面に固有のＩＤ
表示日時  …  画像撮像時に表示部１０２に表示していた表示画面のスクリーンショットの保存日時
スクリーンショット  …  画像撮像時に表示部１０２に表示していた表示画面のスクリーンショットのファイル名（パス名でも良い）
輝度  …  画像撮像時における表示部１０２のバックライトの輝度
平均色  …  画像撮像時に表示部１０２に表示していた表示画面のスクリーンショットの平均色
傾き  …  画像撮像時における画像処理装置１００の傾き
方角  …  画像撮像時における画像処理装置１００の方角
画像撮像時における画像処理装置１００の傾き、方角、は何れも、計測部１０６に含まれている重力センサ、廃炉センサ、電子コンパスなどを用いて測定されたものである。なお、このような表示情報テーブルへの情報登録は、演算部１０１の計算能力や外部記憶部１０９の容量に余裕が有る場合には、画像撮像にかかわらずに定期的に行うようにしても構わない。
【００３７】
然るにステップＳ４０５では演算部１０１は、図３（Ａ）の表示情報テーブルにおいて、ステップＳ４０１における画像撮像の撮像日時に最も近い表示日時の行に登録されている「スクリーンショット」の値（ファイル名）、「輝度」の値を取得する。そして演算部１０１は、画像撮像のたびに（若しくは定期的に）外部記憶部１０９に記録されるスクリーンショットのうち、該取得したファイル名に対応するスクリーンショットを外部記憶部１０９から読み出す。
【００３８】
＜ステップＳ４０６＞
演算部１０１は、ステップＳ４０４で求めた相対角度θ及び相対位置Ｄを用いて、ユーザの顔に対する「表示部１０２に表示されている表示画面からの光の影響」の度合い（影響度）を推定する。例えば、ステップＳ４０５で取得したバックライトの輝度をＰとすると、影響度（Ｐ，θ，Ｄ）を以下の式によって求めることができる。
【００３９】
Ｆ（Ｐ，θ，Ｄ）＝Ｐ×ｃｏｓθ／Ｄ２
更に演算部１０１は、スクリーンショットの色特性を分析する。例えば、スクリーンショットの全画素のＲ成分の平均輝度値（若しくは中間値）、Ｇ成分の平均輝度値（若しくは中間値）、Ｂ成分の平均輝度値（若しくは中間値）を、スクリーンショットの色特性として収集する。すなわち、ステップＳ４０１での画像撮像時における表示部１０２における発光色の偏りを表すものを収集する。
【００４０】
図２（Ｂ）の左側に示す如く、Ｒ，Ｇ，Ｂのうち赤成分（Ｒ）及び青成分（Ｂ）が緑成分（Ｇ）よりも比較的強い色特性２０７を有する表示画面２０６が表示部１０２に表示されているとする。このような色特性２０７を有する表示画面２０６を表示中の表示部１０２からは、該色特性２０７を有する光が発せられる。そのため、色特性２０７を有する表示画面２０６を表示中の表示部１０２を暗所にて閲覧しているユーザ２０２を撮影部１０３が撮像した撮像画像２０８の色特性２０９は、色特性２０７と同様、Ｒ，Ｇ，ＢのうちＲ及びＢが比較的Ｇよりも強い色特性となる。
【００４１】
また、図２（Ｂ）の右側に示す如く、Ｒ，Ｇ，ＢのうちＢがＲ，Ｇよりも比較的強い色特性２１１を有する表示画面２１０が表示部１０２に表示されているとする。このような色特性２１１を有する表示画面２１０を表示中の表示部１０２からは、該色特性２１１を有する光が発せられる。そのため、色特性２１１を有する表示画面２１０を表示中の表示部１０２を暗所にて閲覧しているユーザ２０２を撮影部１０３が撮像した撮像画像２１２の色特性２１３は、色特性２１１と同様、Ｒ，Ｇ，ＢのうちＢがＲ，Ｇよりも比較的強い色特性となっている。
【００４２】
本実施形態では、撮像画像の撮像時に表示部１０２に表示されていた表示画面の色特性に応じた影響を補正するので、本ステップでは、撮像画像の撮像時に表示部１０２に表示されていた表示画面のスクリーンショットの色特性を取得する。
【００４３】
＜ステップＳ４０７＞
演算部１０１は、ステップＳ４０６において取得した表示画面の色特性による影響を相殺する色補正を行う色補正マップデータＡを取得（生成）する。例えば、ステップＳ４０６において取得した色特性が（Ｒ１，Ｇ１，Ｂ１）である場合には、色補正マップデータＡとして（１／Ｒ１，１／Ｇ１，１／Ｂ１）を生成する。この色補正マップデータＡは、補正対象の画像の各画素について、該画素のＲの画素値に１／Ｒ１を乗じ、該画素のＧの画素値に１／Ｇ１を乗じ、該画素のＢの画素値に１／Ｂ１を乗じることで該画素の画素値を補正するためのものである。なお、色補正マップデータＡの生成方法は特定の生成方法に限るものではなく、撮像画像に現れる「ステップＳ４０６において取得した表示画面の色特性による影響」を相殺する色補正を行うものを生成するのであれば、如何なる生成方法を採用しても構わない。
【００４４】
図２（Ｃ）では、色特性２０７を有する表示画面２０６を表示中の表示部１０２を暗所にて閲覧しているユーザ２０２の撮像画像２０８の色特性２０９に対する色特性２０７の影響を相殺するための色補正マップデータＡ２１４を生成している。このような色補正マップデータＡ２１４を撮像画像２０８に適用することで、白色光源下相当の色特性２１６を有する撮像画像２１５を得ることができる。なお、図２（Ｃ）の場合、撮像画像に対する外部光源２０１からの光の影響については考慮されていない。そこで本ステップでは更に、演算部１０１は、撮像画像に対する外部光源からの光の影響を補正するための色補正マップデータＢを取得（生成）する。色補正マップデータＢの生成方法については、例えば、環境光推定等を用いた周知の技術を用いる方法がある。
【００４５】
そして演算部１０１は、色補正マップデータＡと色補正マップデータＢとを、影響度Ｆに応じた比率でもって合成して合成色補正マップデータを生成する。例えば、影響度Ｆを１００で除して０〜１の値に正規化した場合に、合成色補正マップデータ＝（１−Ｆ）×色補正マップデータＡ＋Ｆ×色補正マップデータＢとして生成することができる。このような合成色補正マップデータは、図２（Ｃ）に示す如く、外部光源２０１及び表示画面２０６による色偏りを補正し、白色光源下の色合いに補正するための色補正マップデータとなる。以降では、合成色補正マップデータを単に色補正マップデータと呼称する場合がある。
【００４６】
＜ステップＳ４０８＞
演算部１０１は、ステップＳ４０１で得た撮像画像を合成色補正マップデータを用いて色補正を行った補正済み撮像画像の階調特性を、基準階調特性に補正するための階調補正マップデータ（階調補正情報）を生成する。被写体が明確に限定できる場合には、顔領域において目・鼻・頬といった部位で複数枚の撮像画像間で一致する階調特性を持つように、部位毎に階調補正マップを作成してもよい。
【００４７】
図２（Ｄ）の場合、ステップＳ４０１で得た撮像画像を合成色補正マップデータを用いて色補正を行った補正済み撮像画像２２５の階調特性２１７を、階調補正基準画像２１８と同等の階調特性に補正するための階調補正マップデータ２１９を生成する。撮像画像２２５は、撮像画像２１５と同じ画像である。階調補正基準画像とは、任意の被写体について、白色光源下における階調及び色合いの基準となる画像であり、屋外における撮像画像等を用いる。撮像画像２２５の階調特性２１７を階調補正マップデータ２１９を用いて補正することで、白色光源下相当の階調特性２２１を有する撮像画像２２０が得られる。
【００４８】
なお、色や階調の補正対象は、画像全体でも良いし、画像中の被写体でも良い。画像全体に対しては光源推定及び被写体検知などにより、固定のプリセットから適切な階調補正マップを取得する。一方で、顔や身体等、予め被写体を限定できる場合（健康管理・美肌管理等）には、顔検知機能等を用いて領域を絞って、領域毎に適切な階調補正を行う。
【００４９】
なお、以上説明したステップＳ４０７，Ｓ４０８の処理は、Ｓ４０３→Ｓ４０４→Ｓ４０５→Ｓ４０６→Ｓ４０７→Ｓ４０８と処理が進んだ場合におけるものである。Ｓ４０３→Ｓ４０７→Ｓ４０８と処理が進んだ場合、ステップＳ４０７，Ｓ４０８ではそれぞれ、従来通りの色補正用の補正マップデータ、階調補正用の補正マップデータを取得する。
【００５０】
ここで、上記のようなステップＳ４０８の処理を行うためには、階調補正基準画像を取得する必要がある。そのために演算部１０１は、図３（Ｂ）に例示するテーブルを参照する。
【００５１】
「補正被写体ＩＤ」は、階調補正基準画像に含まれている被写体に固有のＩＤである。「作成日時」は、階調補正基準画像の作成日時である。「階調補正基準画像ファイル」は、階調補正基準画像のファイル名（パス名でも良い）である。「属性ラベル」は、階調補正基準画像に含まれている被写体に対して割り当てられているラベルである。然るにステップＳ４０８では、ステップＳ４０１で取得した撮像画像中の被写体のＩＤと同じ補正被写体ＩＤと同じ行の「階調補正基準画像のファイル名」を取得し、該取得したファイル名の階調補正基準画像を取得する。
【００５２】
＜ステップＳ４０９＞
ステップＳ４０８において使用する階調補正基準画像は常に入手可能であるとは限らない。例えば、白色光源下かつ十分な照度で撮像した階調補正基準画像（「被写体の照度が閾値（２００ルクス等）を上回る」、「輝度値分布非白飛び・非黒つぶれ面積が全体の８０％以上である」等の基準を満たす画像）がまだ存在しない場合などが該当する。そのため、演算部１０１は、ステップＳ４０９で階調補正基準画像が取得できたことで階調補正マップデータの取得に成功したか否かを判断する。この判断の結果、階調補正基準画像が取得できたことで階調補正マップデータの取得に成功した場合には、処理はステップＳ４１１に進む。一方、階調補正基準画像が取得できなかったことで階調補正マップデータの取得に失敗した場合には、処理はステップＳ４１０に進む。
【００５３】
＜ステップＳ４１０＞
先ず、演算部１０１は、過去に撮像された複数枚の撮像画像（ステップＳ４０１で取得した撮像画像と同じ被写体を含む）を外部記憶部１０９から取得する。そして演算部１０１は、取得したそれぞれの撮像画像について、上記のようにして色補正マップデータＡを生成し、該撮像画像を該生成した色補正マップデータＡを用いて補正する。そして演算部１０１は、補正したそれぞれの撮像画像の平均画像（画素ごとに、それぞれの撮像画像の画素値の平均画素値を有する）を、階調補正基準画像として生成する。補正したそれぞれの撮像画像には、照度不足によって被写体の各部位に黒つぶれ・白つぶれ等の情報損失が起こる。これらを補うため、このような平均画像を生成する。なお、平均画像の代わりに中間画像（画素ごとに、それぞれの撮像画像の画素値の中央値を有する）を生成しても良い。そして演算部１０１は、該生成した階調補正基準画像を用いて上記のようにして階調補正マップデータを生成する。
【００５４】
＜ステップＳ４１１＞
演算部１０１は、ステップＳ４０１で取得した撮像画像に対して、ステップＳ４０７で求めた色補正マップデータを用いた色補正を行うことで、色補正済み撮像画像を生成する。そして更に演算部１０１は、色補正済み撮像画像に対して、ステップＳ４０８若しくはステップＳ４１０で求めた階調補正マップデータを用いた階調補正を行うことで、階調補正済み撮像画像を生成する。
【００５５】
なお、演算部１０１は、上記の処理の過程で、図３（Ｃ）、（Ｄ）のテーブルを作成、更新している。
【００５６】
図３（Ｃ）のテーブルにおいて、「補正前画像ファイル名」は、撮像画像のファイル名である。「撮影日時」は、該撮像画像の撮像日時である。「対応表示情報ＩＤ」は、該撮像画像の撮像時に表示部１０２に表示されていた表示画面（スクリーンショット）に固有のＩＤである。「光源相対位置」は、ステップＳ４０２で測定された、画像処理装置１００に対する外部光源の相対位置である。「光源強度」は、ステップＳ４０２で測定された、外部光源の光の強度（照度）である。「光源拡散値」は、ステップＳ４０２で測定された、外部光源の光の拡散値である。「光源環境値」は、ステップＳ４０２で測定された、外部光源の光の環境値である。
【００５７】
図３（Ｄ）のテーブルにおいて、「補正前画像ファイル名」は、撮像画像のファイル名である。「補正被写体ＩＤ」は、撮像画像に含まれている被写体に固有のＩＤである。「画像領域内座標」は、撮像画像内で被写体の領域（矩形領域）の中心若しくは４隅の何れかの座標と幅及び高さである。「回転」は、撮像画像に対する被写体の領域の回転角度である。「抽出ファイル名」は、撮像画像において画像補正を行った領域について別途保存する際のファイル名であり、簡便に健康管理等の分析処理を行うために保存するファイルのファイル名である。
【００５８】
ところで、ステップＳ４１０において、階調補正基準画像を逐次更新する例を上記に挙げたが、更新された場合には、補正済の画像を遡って再補正するとよい。こうすることによって、階調補正基準画像が不足する被写体に対しても、全ての撮影画像を均一に補正できる。逐次遡って補正する処理が高負荷になる場合には、画像処理装置１００が低負荷である状況にまとめて補正するとよい。
【００５９】
なお、表示部の変化以外に、画角外の外部光源の明滅がある場合においても、撮像画像に対応する光源パラメータが適切に取得できていれば上記の処理を適用可能である。さらに、スクリーンショットを用いる以外にも、描画ハードウェア（ディスプレイコントローラ、ＧＰＵ等）またはオペレーティングシステムが持つ描画バッファを用いることでも同様の効果が得られる。ところで、表示部１０２に表示する画面と、表示部１０２となる発光デバイスと、の間には、色および階調特性等が異なる場合がある。この問題を解決するために、色・階調プロファイルを用意し、色と階調の変換を行って補正を行うとよい。なお、階調補正マップデータによる補正だけでは白飛び、黒つぶれが発生し、所望の階調を得られない場合がある。この場合には、階調補正マップデータに加えて、撮影部１０３に対してカメラの絞り値、シャッタースピード、ＩＳＯ感度などの露光条件を加えることによって所望の階調が得るように撮影を行うとよい。なお、上記では、撮像画像は非圧縮画像であったが、圧縮による劣化が許容される場合には、ＪＰＥＧ画像等の圧縮画像であっても構わない。また、上記では、画像処理装置１００が有する表示部の数が１であったが、複数であっても構わない。その場合、それぞれの表示部１０２におけるスクリーンショットの色特性を合成したものを用いて色補正マップデータＡを生成すればよい。
【００６０】
このように、本実施形態によれば、例えば、暗所等において、人物による操作等によって表示が変化するディスプレイのような発光デバイス下における撮影においても、色合いと階調を複数枚の撮影画像に対して均一に補正できる。そのため、補正した撮影画像を用いた被写体検索や、健康管理、美容管理等の分析の精度を高めることができる。なお、上記の例ではスマートフォン等、カメラとディスプレイが一体化した装置の例を挙げたが、撮影部と表示部がネットワーク回線等を介して同一システム内に存在し、互いに発光と撮影で干渉する構成であればこれに限定されない。例えば、デジタルサイネージの近傍に設置された監視カメラによる撮影において、被写体画像を用いた人物検索を行う場合に、本実施形態を適用することによって、同一被写体の複数枚の画像がいずれも白色光源下相当に補正される。そのため、服装の色を検索条件に用いた検索を正確に行えるようになる。また、低照度の室内におけるプロジェクタとカメラを用いた遠隔会議システム、コミュニケーション用システム等が挙げられる。発光するディスプレイの方向を見る人物をカメラで捉える構成は、スマートフォンと同様であるため、本実施形態の例と同様に適用可能である。再生される映像が均一な色、階調に補正されることによって、映像視聴者にとって視認性が高まる効果がある。
【００６１】
［第２の実施形態］
第１の実施形態に係る画像処理装置１００の構成において、撮影部１０３と画像処理装置１００とがネットワークを介して互いに離れた場所に設置されているような構成を考える。この場合、ネットワーク経路の状況や様々な処理の負荷等によって、撮影部１０３による撮像画像が画像処理装置１００に転送されて保存されるまでに通常よりも多くの時間を要するようなケースが発生しうる。このようなケースが発生した場合、撮像画像は、実際に撮像した時刻よりもΔｔ（＞０）だけ後の撮像時刻の撮像画像として画像処理装置１００に登録される。然るに、時刻ｔにおいて表示部１０２に表示した表示画面による光の影響を受けた被写体の撮像画像の撮像時刻は（ｔ＋Δｔ）となってしまい、このような撮像画像及び表示画面のスクリーンショットを用いて生成した補正マップデータは適切なものではない。そこで本実施形態では、このようなケースの場合には、撮像画像に表示部１０２の表示画面が含まれている場合には、この表示画面のスクリーンショットを、既に記録したスクリーンショットから抽出して、色補正マップデータの生成に用いる。
【００６２】
以下では、第１の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとする。
【００６３】
次に、暗所にてユーザ（被写体）が表示部１０２を閲覧している状態で撮影部１０３が撮像した該ユーザの撮像画像を、表示部１０２からの光や外界の光源（外部光源）からの光等を考慮して補正する一連の処理について図５のフローチャートに従って説明する。
【００６４】
ステップＳ５０１〜Ｓ５０４、Ｓ５０９〜Ｓ５１３はそれぞれ、図４のステップＳ４０１〜Ｓ４０３，Ｓ４０５，Ｓ４０７〜Ｓ４１１と同様であるため、これらのステップに係る説明は省略する。
【００６５】
＜ステップＳ５０５＞
演算部１０１は、ステップＳ５０１で得た撮像画像中に写っている被写体を識別する。
【００６６】
＜ステップＳ５０６＞
演算部１０１は、表示部１０２の表示画面の一部若しくは全部が含まれているか否かを判断する。この判断は、例えば、表示部１０２の表示面の枠部など、表示部１０２において画面を表示する面を認識するための特徴量を予め保持しておき、撮像画像にこの特徴量が存在するか否かを判断することで行う。他にも、例えば、表示面を認識するために表示部１０２に空間マーカを取り付けてこれを認識する方法や、撮像画像からの輪郭抽出や明滅変化を用いた領域分割等を用いても良い。もちろん、ステップＳ５０６における判断処理を実現するための技術はこれに限るものではない。
【００６７】
この判断の結果、撮像画像中に、表示部１０２の表示画面の一部若しくは全部が含まれている場合には、処理はステップＳ５０７に進み、含まれていない場合には、処理はステップＳ５０８に進む。
【００６８】
＜ステップＳ５０７＞
演算部１０１は、ステップＳ４０１で取得した撮像画像の撮像日時から規定量だけ過去の日時に作成されて外部記憶部１０９に記録されたスクリーンショットを、外部記憶部１０９に既に記録されているスクリーンショットから選択する。この規定量については、例えば、表示画面に明滅変化を起こさせながら複数枚の撮影を試行し、実際の明滅変化のタイミングと、それが撮像されているタイミングと、のずれを上記の規定量として求めて外部記憶部１０９に保存しておく。
【００６９】
＜ステップＳ５０８＞
演算部１０１は、Ｓ５０６→Ｓ５０７と処理が進んだ場合には、ステップＳ５０７で選択したスクリーンショットを用いて、上記のステップＳ４０４及びステップＳ４０６の処理を行う。一方、演算部１０１は、Ｓ５０６→Ｓ５０８と処理が進んだ場合には、ステップＳ５０４で選択したスクリーンショットを用いて、上記のステップＳ４０４及びステップＳ４０６の処理を行う。これにより、明滅の増幅（ハウリング）を防止することもできる。例えば、プロジェクタを用いた会議システム等において、相互に明滅変換が伝搬してしまい、視認性が下がる問題を解決できる。
【００７０】
上記の例では、タイミングの修正について述べたが、これ以外にも、表示画面の輝度変化と実際の表示部の明滅変化による照度変化を計測することによって、階調補正の精度を高める処理を行っても良い。更に、表示部、被写体、撮影部の相対位置を取得した結果、補正対象被写体が逆光時になることが判明した場合においては、撮影画像内の補正対象被写体の領域のみに色補正、階調補正、および露光補正を適用する。こうすることによって、補正対象被写体を適切な露出で撮影した撮影画像を得られる。
【００７１】
［第３の実施形態］
表示画面の時間軸方向の変化（表示内容、輝度、明度などの変化）が大きい期間が予め分かっている場合や、変化量が大きいと判断した時点で、撮影部１０３による画像撮像の間隔を短くして単位時間あたりの撮像枚数を増やしても良い。このようにして得た撮像画像を用いることで、暗いものから明るいものまで様々な照度条件の撮像画像が得られるため、それらを合成することによってダイナミックレンジの広い撮像画像を得られる。具体的には、表示情報のスクリーンショット、画面輝度、被写体との相対位置のいずれかの時間変化を差分値等によって定量化した上で、それが閾値以上になった場合に、撮影頻度を高めるとよい。そして、このようにして得られる合成撮像画像を用いて、図４や図５のフローチャートに従った処理を行う。
【００７２】
また、第１の実施形態では、ステップＳ４１０において複数枚の画像から階調補正マップデータを推定したが、階調補正基準画像の精度を高めるよう、表示画面の変化を誘導してもよい。これにより、階調補正基準画像の精度向上を促進させられる。具体的には、階調補正基準画像内の黒つぶれ面積過多の場合は照度が上がる表示画面を、白飛び面積過多の場合は照度が下がる表示画面を誘導するように画面変化を促す。具体的には、スマートフォン等において、実行中の複数アプリケーションのうち、階調補正基準画像取得のために適切な照度や利用者の姿勢が得られるアプリケーションを選定し、切り替えるよう利用者に推薦通知を行う。こうすることによって、表示画面の輝度が変化し、階調補正基準画像取得に適切な被写体の撮像画像を得ることができる。その結果、階調補正基準画像の推定精度を高めることに繋げられる。以上説明した実施形態や変形例の一部若しくは全部を適宜組み合わせて使用しても構わない。
【００７３】
また、上記の実施形態や変形例によれば、暗所にてユーザが表示部を閲覧している状態において撮影部が撮像した該ユーザの撮像画像を、表示部からの光や外界の光源からの光などを考慮して白色光源下相当の画像に補正することができる。これにより、撮像画像を用いた被写体検索や、健康管理、美容管理等の分析の精度を高めることができる。
【００７４】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７５】
１０１：演算部  １０２：表示部
【図１】
2017072945.tif 000003
【図２】
2017072945.tif 000004
【図３】
2017072945.tif 000005
【図４】
2017072945.tif 000006
【図５】
2017072945.tif 000007