画像処理装置、プログラム及び画像処理方法
【課題】拡張現実の画像内で情報が混雑する状況において、より分かり易く情報を呈示すること。
【解決手段】撮像装置により撮像される入力画像に映る複数のユーザを認識する認識部と、上記認識部により認識される各ユーザと関連付けて表示すべき表示情報を取得する情報取得部と、上記情報取得部により取得される上記表示情報を上記入力画像に重畳することにより出力画像を生成する出力画像生成部と、を備え、上記出力画像生成部は、各ユーザについての上記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定する、画像処理装置を提供する。
【解決手段】撮像装置により撮像される入力画像に映る複数のユーザを認識する認識部と、上記認識部により認識される各ユーザと関連付けて表示すべき表示情報を取得する情報取得部と、上記情報取得部により取得される上記表示情報を上記入力画像に重畳することにより出力画像を生成する出力画像生成部と、を備え、上記出力画像生成部は、各ユーザについての上記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定する、画像処理装置を提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、プログラム及び画像処理方法に関する。
【背景技術】
【0002】
近年、実空間を撮像して得られる画像に情報を重畳してユーザに呈示する拡張現実(AR:Augmented Reality)と呼ばれる技術が注目されている。AR技術において画像に重畳される情報は様々である。例えば、下記特許文献1は、入力画像に映る実空間内の運動する物体にハイパーリンク情報を付加して呈示する技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−158056号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、情報を付加すべき対象が入力画像内に多数存在する場合には、表示される情報が混雑し、ユーザに呈示される出力画像が分かり易さを失ってしまう恐れがある。例えば、拡張現実の画像を介したユーザ間のコミュニケーションにおいて、コミュニケーションに積極的に関与しているユーザについての情報と周囲に存在するユーザについての情報とを区別することなく表示すると、情報の混雑により円滑なコミュニケーションが阻害され、誰がどの情報を発しているのかも分かりにくい状況が発生し得る。
【0005】
そこで、本発明は、拡張現実の画像内で情報が混雑する状況において、より分かり易く情報を呈示することのできる、新規かつ改良された画像処理装置、プログラム及び画像処理方法を提供しようとするものである。
【課題を解決するための手段】
【0006】
本発明のある実施形態によれば、撮像装置により撮像される入力画像に映る複数のユーザを認識する認識部と、上記認識部により認識される各ユーザと関連付けて表示すべき表示情報を取得する情報取得部と、上記情報取得部により取得される上記表示情報を上記入力画像に重畳することにより出力画像を生成する出力画像生成部と、を備え、上記出力画像生成部は、各ユーザについての上記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定する、画像処理装置が提供される。
【0007】
また、上記出力画像生成部は、上記第1の表示情報と上記第2の表示情報とが上記出力画像内で重なる場合において、上記第1のユーザの上記撮像装置からの距離が上記第2のユーザの上記撮像装置からの距離よりも小さい場合に、上記第1の表示情報を上記第2の表示情報の前面に重畳してもよい。
【0008】
また、上記認識部は、上記入力画像に映る各ユーザの顔領域のサイズをさらに認識し、上記出力画像生成部は、上記認識部により認識される各ユーザの顔領域のサイズを上記パラメータとして使用してもよい。
【0009】
また、上記出力画像生成部は、上記認識部により認識される各ユーザについて上記入力画像内に映っている時間の長さ又は移動速度を計測し、上記入力画像に重畳する上記表示情報の透過率を、当該表示情報に関連付けられるユーザについて計測した上記時間の長さ又は上記移動速度に応じて設定してもよい。
【0010】
また、上記出力画像生成部は、上記入力画像内に映っている上記時間の長さがより長いユーザの上記表示情報の上記透過率をより低く設定してもよい。
【0011】
また、上記出力画像生成部は、上記移動速度がより小さいユーザの上記表示情報の上記透過率をより低く設定してもよい。
【0012】
また、上記認識部は、各ユーザのジェスチャをさらに認識し、上記出力画像生成部は、所定のジェスチャを行ったユーザの上記表示情報の上記透過率を一時的に減少させてもよい。
【0013】
また、上記認識部は、各ユーザのジェスチャ、表情又は発話状態をさらに認識し、上記出力画像生成部は、所定のジェスチャ若しくは所定の表情をしているユーザ、又は発話中のユーザに関連付けられる表示情報を、上記撮像装置からの距離に関わらず一時的に前面に表示してもよい。
【0014】
また、上記出力画像生成部は、各ユーザの上記撮像装置からの距離に応じて、各ユーザに関連付けられる上記表示情報の表示サイズを決定してもよい。
【0015】
また、上記情報取得部は、テキスト入力装置を介して入力されるテキストを第1のタイプの表示情報として取得し、音声入力装置を介して入力される音声についての音声認識結果を第2のタイプの表示情報として取得し、上記出力画像生成部は、上記第1のタイプの表示情報を表示するオブジェクトの形状を思考を象徴する形状に設定し、上記第2のタイプの表示情報を表示するオブジェクトの形状を発話を象徴する形状に設定してもよい。
【0016】
また、上記情報取得部は、テキスト入力装置又は音声入力装置を介して入力される情報を上記表示情報として取得し、上記出力画像生成部は、上記情報取得部により取得される上記表示情報の内容を解析することにより、上記表示情報を、ユーザの思考に対応する第3のタイプの表示情報又はユーザの発話に対応する第4のタイプの表示情報に分類し、上記第3のタイプの表示情報を表示するオブジェクトの形状を思考を象徴する形状に設定し、上記第4のタイプの表示情報を表示するオブジェクトの形状を発話を象徴する形状に設定してもよい。
【0017】
また、上記情報取得部は、ユーザにより入力される情報を第5のタイプの表示情報として取得し、及びユーザにより入力される情報又は当該ユーザの属性情報に基づいて外部の情報源から取得される情報を第6のタイプの表示情報として取得し、上記出力画像生成部は、上記第5のタイプの表示情報と上記第6のタイプの表示情報とを互いに異なる形状を有するオブジェクトで表示してもよい。
【0018】
また、本発明の別の実施形態によれば、画像処理装置を制御するコンピュータを、撮像装置により撮像される入力画像に映る複数のユーザを認識する認識部と、上記認識部により認識される各ユーザと関連付けて表示すべき表示情報を取得する情報取得部と、上記情報取得部により取得される上記表示情報を上記入力画像に重畳することにより出力画像を生成する出力画像生成部と、として機能させるためのプログラムであって、上記出力画像生成部は、各ユーザについての上記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定する、プログラムが提供される。
【0019】
また、上記出力画像生成部は、上記第1の表示情報と上記第2の表示情報とが上記出力画像内で重なる場合において、上記第1のユーザの上記撮像装置からの距離が上記第2のユーザの上記撮像装置からの距離よりも小さい場合に、上記第1の表示情報を上記第2の表示情報の前面に重畳してもよい。
【0020】
また、上記認識部は、上記入力画像に映る各ユーザの顔領域のサイズをさらに認識し、上記出力画像生成部は、上記認識部により認識される各ユーザの顔領域のサイズを上記パラメータとして使用してもよい。
【0021】
また、上記出力画像生成部は、上記認識部により認識される各ユーザについて上記入力画像内に映っている時間の長さ又は移動速度を計測し、上記入力画像に重畳する上記表示情報の透過率を、当該表示情報に関連付けられるユーザについて計測した上記時間の長さ又は上記移動速度に応じて設定してもよい。
【0022】
また、上記出力画像生成部は、上記入力画像内に映っている上記時間の長さがより長いユーザの上記表示情報の上記透過率をより低く設定してもよい。
【0023】
また、上記出力画像生成部は、上記移動速度がより小さいユーザの上記表示情報の上記透過率をより低く設定してもよい。
【0024】
また、本発明の別の実施形態によれば、撮像装置により撮像される入力画像に映る複数のユーザを認識するステップと、認識された各ユーザと関連付けて表示すべき表示情報を取得するステップと、各ユーザについての上記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定するステップと、取得された上記表示情報を上記入力画像に重畳することにより出力画像を生成するステップと、を含む画像処理方法が提供される。
【発明の効果】
【0025】
以上説明したように、本発明に係る画像処理装置、プログラム及び画像処理方法によれば、拡張現実の画像内で情報が混雑する状況において、より分かり易く情報を呈示することが可能となる。
【図面の簡単な説明】
【0026】
【図1】画像処理システムの概要を示す模式図である。
【図2】図1の画像処理システムにおいて表示される出力画像の一例を示す説明図である。
【図3】第1の実施形態に係る画像処理装置の構成の一例を示すブロック図である。
【図4】新規ユーザの登録用のユーザインタフェースの一例を示す説明図である。
【図5】表示オブジェクトデータの構成の一例を示す説明図である。
【図6A】表示オブジェクトの形状の第1の例を示す説明図である。
【図6B】表示オブジェクトの形状の第2の例を示す説明図である。
【図6C】表示オブジェクトの形状の第3の例を示す説明図である。
【図6D】表示オブジェクトの形状の第4の例を示す説明図である。
【図7】第1の実施形態における表示オブジェクトの表示位置について説明するための説明図である。
【図8A】透過率設定処理の一例について説明するための説明図である。
【図8B】透過率設定処理の他の例について説明するための説明図である。
【図9A】レイヤ設定処理の一例について説明するための第1の説明図である。
【図9B】レイヤ設定処理の一例について説明するための第2の説明図である。
【図10】第1の実施形態における出力画像の一例を示す説明図である。
【図11】第1の実施形態に係る画像処理の流れの一例を示すフローチャートである。
【図12】第2の実施形態に係る画像処理装置の構成の一例を示すブロック図である。
【図13】重み決定処理の一例について説明するための説明図である。
【図14A】表示位置決定処理の第1の例について説明するための第1の説明図である。
【図14B】表示位置決定処理の第1の例について説明するための第2の説明図である。
【図14C】表示位置決定処理の第1の例について説明するための第3の説明図である。
【図15】表示位置決定処理の第2の例について説明するための説明図である。
【図16】第2の実施形態における出力画像の一例を示す説明図である。
【図17】第2の実施形態に係る画像処理の流れの一例を示すフローチャートである。
【図18】第2の実施形態に係る表示位置決定処理の第1の例の流れを示すフローチャートである。
【図19】第2の実施形態に係る表示位置決定処理の第2の例の流れを示すフローチャートである。
【発明を実施するための形態】
【0027】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
【0028】
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
1.システムの概要
2.第1の実施形態の説明
2−1.画像処理装置の構成例
2−2.表示オブジェクトの属性
2−3.出力画像の例
2−4.処理の流れ
2−5.第1の実施形態のまとめ
3.第2の実施形態の説明
3−1.画像処理装置の構成例
3−2.出力画像の例
3−3.処理の流れ
3−4.第2の実施形態のまとめ
【0029】
<1.システムの概要>
まず、図1を用いて、本発明の一実施形態に係る画像処理システムの概要を説明する。図1は、本発明の一実施形態に係る画像処理システム1の概要を示す模式図である。図1を参照すると、画像処理システム1は、画像処理装置100、データベース102、撮像装置104及び表示装置106を含む。
【0030】
画像処理装置100は、データベース102、撮像装置104及び表示装置106と接続される。画像処理装置100は、例えば、PC(Personal Computer)若しくはワークステーションなどの汎用的なコンピュータであってもよく、又は特定の目的に特化した専用のコンピュータであってもよい。画像処理装置100は、後に詳しく説明するように、撮像装置104により撮像される画像を入力画像として取得し、画像処理後の出力画像を表示装置106へ出力する。
【0031】
データベース102は、画像処理装置100による処理のために使用される情報を記憶する装置である。図1の例に限定されず、データベース102は、画像処理装置100に内蔵されてもよい。データベース102により記憶される情報は、例えば、画像処理システム1の各ユーザを一意に識別する識別子(以下、ユーザIDという)、各ユーザを認識するための特徴量情報、各ユーザの属性情報、及び画像データなどを含む。データベース102により記憶される情報は、画像処理装置100による処理の際に要求に応じてデータベース102から出力されてもよい。その代わりに、画像処理装置100は、データベース102が記憶している情報を定期的にデータベース102からダウンロードしてもよい。
【0032】
撮像装置104は、ユーザが存在し得る実空間を撮像する装置である。図1の例において、撮像装置104は、スクリーン107の上辺に配置され、スクリーン107の前の空間に向けられている。そして、撮像装置104は、スクリーン107の前の実空間を撮像し、一連の画像(即ち、映像)を時系列で画像処理装置100へ出力する。
【0033】
表示装置106は、画像処理装置100により生成される一連の出力画像を表示する装置である。図1の例では、表示装置106は、プロジェクタである。表示装置106は、画像処理装置100から入力される出力画像を、スクリーン107へ映写する。この場合、表示装置106は、背面映写式のプロジェクタである。なお、図1の例に限定されず、表示装置106は、PDP(Plasma Display Panel)又はLCD(Liquid Crystal Display)などであってもよい。
【0034】
スクリーン107は、表示装置106の表示面である。画像処理システム1において、表示装置106の表示面は、ユーザが存在する実空間に向けて配置される。図1の例では、スクリーン107の前に、3人のユーザUa、Ub及びUcが存在している。
【0035】
画像処理システム1のユーザは、端末装置を用いて、画像処理システム1とインタラクションしてもよい。図1の例では、ユーザUaが端末装置105を保持している。端末装置105は、例えば、PC、スマートフォン又はPDA(Personal Digital Assistant)などであってよい。端末装置105は、例えば、無線LAN(Local Area Network)、Zigbee(登録商標)又はBluetooth(登録商標)などの任意の無線通信プロトコルに従って、画像処理装置100との間の通信を行う。端末装置105は、例えば、ユーザUaによるテキスト若しくは音声の入力、又はユーザ情報の登録のために使用され得る。
【0036】
図2は、図1に例示した画像処理システム1において表示される出力画像の一例について説明するための説明図である。図2を参照すると、一例としての出力画像Im01が示されている。出力画像Im01には、3人のユーザUa、Ub及びUcが映っている。また、3人のユーザUa、Ub及びUcの近傍には、それぞれ表示オブジェクト12a、12b及び12cが重畳されている。各表示オブジェクトは、対応するユーザと関連付けられる情報を表示するためのオブジェクトである。本明細書では、画像処理装置100によりユーザと関連付けて表示される情報を、表示情報という。図2の例では、表示オブジェクト12a、12b及び12cは、それぞれ、表示情報として、対応するユーザの顔画像、ニックネーム及び属性情報(例えば、趣味など)を含む。さらに、ユーザUaの近傍には表示オブジェクト13aが重畳されている。表示オブジェクト13aは、表示情報として、ユーザUaにより入力されたメッセージを含む。これら表示オブジェクトは、後に詳しく説明するように、画像処理装置100により画像に重畳される。
【0037】
このような画像処理システム1は、例えば、パーティ会場、会議場、展示会場などのような多人数でのコミュニケーションの場において、ユーザ間の交流を深めるために利用されてもよい。また、画像処理システム1は、例えば、テレビ会議などのビジネスの場において利用されてもよい。その場合には、異なる場所に撮像装置及び表示装置がそれぞれ配置され、ある場所で撮像された映像が他の場所で表示情報と共に表示され得る。
【0038】
ここで、画像処理システム1において、複数のユーザが入力画像に映っている場合には、出力画像内に多数の表示オブジェクトを表示すべき状況が発生する可能性がある。その場合、どの表示オブジェクトをどこにどのように配置するかによって、出力画像を見るユーザにとっての情報理解の難易度が異なる。また、情報の理解が困難になれば、円滑なコミュニケーションも阻害され得る。そこで、次節より、より分かり易く情報を呈示し、円滑なコミュニケーションをサポートするための、2つの実施形態について説明する。
【0039】
<2.第1の実施形態の説明>
[2−1.画像処理装置の構成例]
図3は、本発明の第1の実施形態に係る画像処理装置100の構成の一例を示すブロック図である。図3を参照すると、画像処理装置100は、画像取得部110、音声取得部120、認識部130、情報取得部150及び出力画像生成部170を備える。また、認識部130は、画像認識部134、音声認識部138及び個人認識部142を含む。
【0040】
(画像取得部)
画像取得部110は、撮像装置104により撮像される一連の入力画像を取得する。そして、画像取得部110は、取得した入力画像を認識部130の画像認識部134及び出力画像生成部170へ出力する。
【0041】
(音声取得部)
音声取得部120は、ユーザから発せされる音声を入力音声として取得する。音声取得部120による音声の取得は、例えば、ユーザが保持する端末装置105から送信される音声信号を受信することにより行われてもよい。その代わりに、例えば、スクリーン107の周囲にマイクロフォンが設置されてもよい。後者の場合には、音声取得部120は、設置されるマイクロフォンを介して入力音声を取得する。そして、音声取得部120は、取得した入力音声を認識部130の音声認識部138へ出力する。
【0042】
(画像認識部)
画像認識部134は、画像取得部110から入力される入力画像に公知の顔認識の手法(例えば、特開2008−131405号公報参照)を適用し、入力画像に映るユーザの顔領域を検出する。また、画像認識部134は、検出した顔領域を対象とし、個人を特定するために使用される特徴量(以下、画像特徴量という)を算出する。そして、画像認識部134は、算出した画像特徴量を個人認識部142へ出力する。
【0043】
その後、画像認識部134は、個人認識部142により各顔領域に対応するユーザが誰であるかが特定されると(各顔領域に対応するユーザIDが特定されると)、特定されたユーザIDと対応付けて、各顔領域の位置及びサイズを表す情報を出力画像生成部170へ出力する。
【0044】
また、画像認識部134は、例えば、各ユーザの画像特徴量に基づいて、ユーザの表情(例えば、笑顔など)、ユーザの発話状態(発話しているか否か)、又はユーザの性別若しくは年齢層などの属性を認識してもよい。その場合には、画像認識部134は、認識した表情、発話状態、又は認識した性別若しくは年齢層などを表す情報を、出力画像生成部170へ出力する。
【0045】
また、画像認識部134は、入力画像に映るユーザの手領域を検出し、検出した手領域の位置の軌跡に基づいて、ユーザのジェスチャを認識してもよい。その場合には、画像認識部134は、認識したジェスチャの種別を表す情報を出力画像生成部170へ出力する。
【0046】
(音声認識部)
音声認識部138は、音声取得部120から入力される入力音声に公知の音声認識の手法を適用し、ユーザにより発話された内容をテキストデータ(以下、発話データという)として抽出する。そして、音声認識部138は、抽出した発話データをユーザIDと対応付けて情報取得部150へ出力する。
【0047】
音声認識部138は、端末装置105を介して入力音声が取得される場合には、例えば、送信元の端末装置105の装置ID又はアカウントIDなどから、対応するユーザを特定することができる。一方、例えばスクリーン107の周囲に設置される音声入力装置を介して入力音声が取得される場合には、音声認識部138は、入力音声から抽出される音声特徴量をデータベース102に予め登録されるユーザの音声特徴量と照合することにより、個々のユーザを特定することができる。また、音声認識部138は、例えば、入力音声の音源方向を推定し、推定した音源方向に基づいて個々のユーザを特定してもよい。
【0048】
(個人認識部)
個人認識部142は、撮像装置104により撮像される入力画像に映る1人以上のユーザがそれぞれ誰であるかを認識する。より具体的には、個人認識部142は、例えば、データベース102に予め登録されている既知のユーザの顔の画像特徴量と、画像認識部134から入力される画像特徴量とを照合する(照合の手法については、例えば特開2009−53916号公報参照)。そして、個人認識部142は、照合の結果として、画像認識部134により認識された各顔領域と、特定したユーザのユーザIDとを対応付ける。また、個人認識部142は、例えば、データベース102に予め登録されている既知のユーザの声の音声特徴量と、音声認識部138から入力される音声特徴量とを照合してもよい。
【0049】
(情報取得部)
情報取得部150は、認識部130により認識される各ユーザと関連付けて表示すべき表示情報を取得する。本実施形態において、各ユーザと関連付けて表示すべき表示情報とは、例えば、当該ユーザの属性情報及び当該ユーザにより入力される入力情報を含み得る。
【0050】
情報取得部150は、例えば、ユーザの属性情報をデータベース102から取得する。情報取得部150がデータベース102から取得する属性情報は、ユーザにより予めデータベース102に登録される。データベース102に登録される属性情報は、例えば、ユーザのニックネーム、年齢、性別、趣味、所属、特定の設問に対する回答など、任意の情報であってよい。また、情報取得部150は、例えば、画像認識部134により認識される各ユーザの性別又は年齢層などを属性情報として取得してもよい。
【0051】
情報取得部150が表示情報として取得する入力情報は、例えば、テキスト入力装置を介して入力されるテキストを含む。例えば、ユーザは、端末装置105をテキスト入力装置として用いてテキストを入力し、入力情報としてのテキストを端末装置105から画像処理装置100へ送信してもよい。また、情報取得部150が表示情報として取得する入力情報は、例えば、音声認識部138により認識される上述した発話データを含む。
【0052】
さらに、情報取得部150は、ユーザの属性情報又はユーザにより入力された入力情報に含まれるキーワードに適合する何らかの情報を外部の情報源から検索し、検索結果として得られる情報(以下、検索情報という)を表示情報として取得してもよい。外部の情報源とは、例えば、オンライン辞書サービス、SNS(Social Network Service)又はナレッジ共有サービスなどのWeb関連サービスなどであってよい。
【0053】
また、情報取得部150は、例えば、新規ユーザについての情報をユーザに登録させるためのユーザインタフェース(UI)を提供する。ユーザ登録用のUIは、スクリーン107上に表示されてもよい。ユーザ登録用のUIは、例えば、図4に例示したような画像を用いたUIであってもよい。図4のUIの例によれば、ユーザは、スクリーン107に表示される設問18への回答のための選択肢19a又は19bに触れるジェスチャをすることにより、自身の属性情報を画像処理システム1に登録することができる。また、ユーザ登録用のユーザインタフェースは、画像処理装置100の固有の画面又は端末装置105の画面を介して提供されてもよい。
【0054】
(出力画像生成部)
出力画像生成部170は、情報取得部150により取得される表示情報を画像取得部110から入力される入力画像に重畳することにより、出力画像を生成する。より具体的には、出力画像生成部170は、まず、情報取得部150により取得される表示情報を表示する表示オブジェクトの属性を決定する。表示オブジェクトの属性は、例えば、表示オブジェクトの形状、色、サイズ、表示位置、透過率、及びレイヤなどに関するデータを含む。このうち、レイヤとは、表示オブジェクト間の重畳の順序を表す。例えば、複数の表示オブジェクトが互いに重なる場合に、レイヤが小さい表示オブジェクトがより前面に重畳される。出力画像生成部170は、これら表示オブジェクトの属性を各表示情報について決定した後、決定した属性に従って各表示オブジェクトの画像を生成する。出力画像生成部170による表示オブジェクトの属性の決定の基準について、次項でより詳細に説明する。そして、出力画像生成部170は、生成した表示オブジェクトの画像を入力画像に重畳することにより出力画像を生成し、生成した出力画像を表示装置106へ順次出力する。
【0055】
[2−2.表示オブジェクトの属性]
(1)属性の例
図5は、出力画像生成部170により決定される属性値を含む表示オブジェクトデータ180の構成の一例を示す説明図である。図5を参照すると、表示オブジェクトデータ180は、オブジェクトID181、ユーザID182、形状183、色184、サイズ185、表示位置186、透過率187、レイヤ188及び表示情報189という9つのデータ項目を有する。
【0056】
(2)オブジェクトID及びユーザID
オブジェクトID181は、1つの画像内に重畳される各表示オブジェクトを一意に特定するための識別子である。ユーザID182は、オブジェクトID181により識別される表示オブジェクトが関連付けられるユーザを表すユーザIDである。例えば、表示オブジェクトデータ180の第1レコード190a及び第2レコード190bから、2つの表示オブジェクトD01A及びD02AがユーザUaと関連付けられることが理解される。また、第3レコード190cから、表示オブジェクトD01BがユーザUbと関連付けられること、及び第4レコード190dから、表示オブジェクトD01CがユーザUcと関連付けられること、が理解される。
【0057】
(3)形状
形状183は、当該表示オブジェクトの形状を表す。図5の例では、表示オブジェクトの形状は、予め定義される表示オブジェクトのタイプObj1、Obj2、…のいずれかを指定することにより特定される。
【0058】
図6A〜図6Dは、それぞれ表示オブジェクトのタイプの一例を示す説明図である。図6Aを参照すると、図2に例示した表示オブジェクト12a及び13aが示されている。このうち、表示オブジェクト12aのタイプはタイプObj1である。また、表示オブジェクト12bのタイプはObj2である。これらタイプObj1及びObj2の表示オブジェクトは、いわゆる吹き出しの形状をしている。
【0059】
次に、図6Bを参照すると、表示オブジェクト14aが示されている。表示オブジェクト14aのタイプはObj3である。表示オブジェクト14aは、肩にかける看板の形状をしている。図6Aに示したタイプObj1及び図6Bに示したタイプObj3は、例えば、ユーザの属性情報を表示するために使用されてよい。一方、図6Aに示したタイプObj2は、例えば、ユーザからの入力情報を表示するために使用されてよい。
【0060】
さらに、図6Cを参照すると、表示オブジェクト15aが示されている。表示オブジェクト15aのタイプはObj4である。タイプObj4もまた、例えば、ユーザからの入力情報を表示するために使用されてよい。
【0061】
ここで、図6Aに示したタイプObj2の形状は、ユーザによる発話を象徴する形状である。これに対し、図6Bに示したタイプObj4の形状は、ユーザによる思考を象徴する形状である。出力画像生成部170は、例えば、表示情報が音声入力装置を介して入力された入力情報である場合に、当該表示情報を表示する表示オブジェクトを、発話を象徴する形状を有するタイプObj2に設定し得る。また、出力画像生成部170は、例えば、表示情報がテキスト入力装置を介して入力された入力情報である場合に、当該表示情報を表示する表示オブジェクトを、思考を象徴する形状を有するタイプObj4に設定し得る。その代わりに、出力画像生成部170は、例えば、表示情報の内容を解析することにより、表示情報をユーザの思考に対応する情報又はユーザの発話に対応する情報のいずれかに分類し、前者の分類に対応する表示オブジェクトをタイプObj2に、後者の分類に対応する表示オブジェクトをタイプObj4にそれぞれ設定してもよい。
【0062】
また、図6Dを参照すると、表示オブジェクト16aが示されている。表示オブジェクト16aのタイプはObj5である。表示オブジェクト16aもまた吹き出しの形状をしている。但し、タイプObj5の吹き出しの起点は、ユーザではなく、上方を向いている。出力画像生成部170は、例えば、情報取得部150により外部の情報源から取得される情報を表示するための表示オブジェクトをタイプObj5に設定し得る。外部の情報源から取得される情報とは、例えば、上述した検索情報などである。
【0063】
このように、表示情報の取得経路又は情報入力のために利用された入力手段などに応じて表示オブジェクトの形状を変化させることで、画像処理システム1におけるユーザ間のコミュニケーションに際して、ユーザが情報の種類をより直感的かつ的確に理解することが可能となる。また、ユーザは自身が入力する情報が表示される際のオブジェクトの形状を使い分ける(発話又は思考)ことができるため、より豊かなユーザ間のコミュニケーションが実現され得る。
【0064】
(4)色
図5における色184は、当該表示オブジェクトの色(又は当該表示オブジェクト内の表示情報のテキストの色)を表す。出力画像生成部170は、情報取得部150により取得される各ユーザの属性情報を参照し、例えばユーザの性別又は年齢層などの属性値に応じて、各表示オブジェクトの色を変化させてもよい。
【0065】
(5)サイズ
サイズ185は、当該表示オブジェクトのサイズを表す。図5の例では、表示オブジェクトのサイズは、既定のサイズからの倍率(%)により表されている。出力画像生成部170は、例えば、各ユーザの撮像装置104からの距離に応じて、各ユーザに関連付けられる表示情報を表示するための表示オブジェクトのサイズを決定する。本実施形態において、出力画像生成部170は、撮像装置104からの距離そのものを測定する代わりに、撮像装置104からの距離に応じたパラメータとして、各ユーザの顔領域のサイズを使用することができる。顔領域のサイズは、例えば、顔領域に属すると認識された画素数により表されてもよく、又は顔領域を囲むバウンディングボックスの面積により表されてもよい。より具体的には、出力画像生成部170は、例えば、顔領域のサイズがより大きいユーザと関連付けられる表示情報のための表示オブジェクトのサイズをより大きく設定する。但し、表示オブジェクトのサイズの上限値が予め定義されてよい。その場合、出力画像生成部170は、所定の距離以上撮像装置104に近付いたユーザの表示オブジェクトのサイズがその上限値を超えないように、表示オブジェクトのサイズを設定する。
【0066】
(6)表示位置
表示位置186は、当該表示オブジェクトの表示位置、即ち、当該表示オブジェクトが重畳される画像内の位置を表す2次元座標である。本実施形態では、出力画像生成部170は、ユーザの顔領域を基準点として、予め定義されるオフセットを有する位置に各表示オブジェクトの中心(又は所定のコーナーなど)を配置する。
【0067】
図7は、本実施形態における表示オブジェクトの表示位置について説明するための説明図である。図7を参照すると、ユーザの顔領域の重心位置P0が示されている。位置P0は、表示オブジェクトの表示位置を決定するためのオフセットの基準点である。出力画像生成部170は、例えば、あるユーザと関連付けられる表示情報の数が1つである場合には、当該表示情報を表示する表示オブジェクトの表示位置を、位置P1とする。また、出力画像生成部170は、例えば、あるユーザと関連付けられる表示情報の数が複数である場合には、第2、第3、及び第4の表示情報のための表示位置を、それぞれ位置P2、P3及びP4とする。位置P0と位置P1、P2、P3及びP4との間のオフセットは、それぞれ予め定義される。本明細書では、これら表示位置を「既定の表示位置」という。なお、図7に示したこれら既定の表示位置は一例に過ぎない。
【0068】
また、表示オブジェクトのタイプが図6Bに例示したタイプObj3である場合には、表示オブジェクトの既定の表示位置は、例えば位置P5であってよい。また、表示オブジェクトのタイプが図6Dに例示したタイプObj5である場合には、表示オブジェクトの既定の表示位置は、例えば位置P6及びP7であってもよい。
【0069】
(7)透過率
図5における透過率187は、当該表示オブジェクトの透過率を表す。表示オブジェクトに透過率が設定されることで、複数の表示オブジェクトが重ねて重畳される場合にも、ユーザは背面の表示オブジェクトを視認することができる。本実施形態において、出力画像生成部170は、認識部130により認識される各ユーザについて、入力画像内に映っている時間の長さ(以下、滞在時間という)又は移動速度を計測する。そして、出力画像生成部170は、表示情報を表示する表示オブジェクトの透過率を、当該表示情報に関連付けられるユーザについて計測した滞在時間又は移動速度に応じて設定する。
【0070】
図8Aは、出力画像生成部170による透過率設定処理の一例について説明するための説明図である。図8Aの例では、出力画像生成部170は、ユーザの画像内での滞在時間に応じて、当該ユーザと関連付けられる表示オブジェクトの透過率を設定する。
【0071】
図8Aの横軸は、時間軸(時間T)である。縦軸は、破線で示される滞在時間St及び実線で示される透過率Trの大きさを表す。図8Aの例において、時間T0に画像内に現れたユーザが継続して画像内に留まることにより、当該ユーザの滞在時間Stが時間軸に沿って線形的に増加している。一方、時間T0における表示オブジェクトの透過率Trは100%である。即ち、ユーザが画像内に現れた瞬間には、表示オブジェクトは視認されない。そして、滞在時間Stが増加するにつれて、表示オブジェクトの透過率Trは減少する。即ち、ユーザが画像内に留まっている間、表示オブジェクトは徐々に濃く現れる。そして、時間T1において表示オブジェクトの透過率Trが20%になると、出力画像生成部170は、透過率Trの減少を停止する。これは、背面に重なる表示オブジェクトを少なくともある程度視認可能とするためである。
【0072】
ここで、ユーザの画像内での滞在時間の長さは、そのユーザの画像処理システム1により提供されるコミュニケーションに対する興味の強さ又は貢献度の大きさを表していると考えることができる。従って、滞在時間の長いユーザほど表示オブジェクトの透過率を低く設定することで、興味の強いユーザ又は貢献度の大きいユーザを優先的にコミュニケーションに関与させることができる。また、滞在時間の短いユーザについて表示オブジェクトの透過率を高く設定することで、例えば、偶然撮像装置104の前を通過したユーザについての不要な表示情報が画像内に強く現れることが回避される。なお、出力画像生成部170は、ここで説明した滞在時間の代わりに、例えばユーザによる利用開始後の経過時間などを用いてもよい。
【0073】
図8Bは、出力画像生成部170による透過率設定処理の他の例について説明するための説明図である。図8Bの例では、出力画像生成部170は、ユーザの画像内での移動速度に応じて、当該ユーザと関連付けられる表示オブジェクトの透過率を設定する。
【0074】
図8Bの横軸は、時間軸(時間T)である。縦軸は、破線で示される移動速度Mv及び実線で示される透過率Trの大きさを表す。図8Bの例において、時間T0に画像内に現れたユーザの移動速度はMv1である。このとき、表示オブジェクトの透過率Trは100%である。その後、時間T0からT2にかけてユーザの移動速度は減少し、時間T2以降ユーザの移動速度は増加している。透過率Trは、このような移動速度Mvの変化に追随し、時間T0からT2にかけて減少した後、時間T2以降増加する。
【0075】
ここで、画像処理システム1により提供されるコミュニケーションに強い興味を抱いているユーザは、撮像装置104の前に留まるものと考えられる。従って、ユーザの移動速度が小さいほど表示オブジェクトの透過率を低く設定することで、そのようなユーザを優先的にコミュニケーションに関与させることができる。また、この場合にも、偶然撮像装置104の前を通過したユーザについての不要な表示情報が画像内に強く現れることが回避される。なお、出力画像生成部170は、ユーザの移動速度を、例えば顔領域の重心位置のフレーム間の移動量から算出することができる。
【0076】
また、出力画像生成部170は、ユーザの滞在時間及び移動速度の双方に応じて、表示オブジェクトの透過率を設定してもよい。例えば、出力画像生成部170は、ユーザの移動速度が増加した場合にも、当該ユーザの滞在時間が所定の閾値以上に長いときには、ユーザの透過率を低く維持してもよい。それにより、画像内でのユーザの一時的な移動によって当該ユーザの表示オブジェクトが視認困難となることが回避される。なお、出力画像生成部170は、例えば、移動速度が所定の閾値以下である静止状態の時間の長さと、移動速度が当該閾値を上回る移動状態の時間の長さとを各ユーザについて計測し、これら2つの時間の長さの比に応じて、表示オブジェクトの透過率を設定してもよい。
【0077】
また、出力画像生成部170は、所定のジェスチャを行ったユーザの表示オブジェクトの透過率を一時的に減少させてもよい。例えば、手を挙げるジェスチャ又は手を振るジェスチャなどが、透過率の減少に対応付けられ得る。それにより、例えば、登場して間もない(即ち、滞在時間が短い)ながらも、コミュニケーションに強い興味を抱いているユーザを、より容易にコミュニケーションに参加させることができる。
【0078】
(8)レイヤ
図5におけるレイヤ188は、当該表示オブジェクトの表示オブジェクト間の重畳の順序を表す。図5の例では、表示オブジェクトD01A及びD02Aのレイヤは1、表示オブジェクトD01Bのレイヤは2、表示オブジェクトD01Cのレイヤは3である。従って、出力画像生成部170は、表示オブジェクトD01A及びD02Aを最前面のレイヤに、表示オブジェクトD01Bを次のレイヤに、表示オブジェクトD01Cを最背面のレイヤに重畳する。
【0079】
出力画像生成部170は、このような各表示オブジェクトのレイヤを、各ユーザについての撮像装置104からの距離に応じたパラメータに基づいて決定する。本実施形態において、撮像装置104からの距離に応じたパラメータとは、上述した顔領域のサイズであってよい。なお、かかる例に限定されず、例えば、測距センサにより測定される距離又はマイクロフォンを介して入力される音声の大きさなどが、上記パラメータとして使用されてもよい。そして、出力画像生成部170は、上記パラメータにより表される距離がより小さいユーザに関連付けられる表示情報を表示する表示オブジェクトのレイヤを、より小さい値に設定する(即ち、より前面に配置する)。
【0080】
図9A及び図9Bは、レイヤ設定処理の一例について説明するための説明図である。
【0081】
図9Aを参照すると、スクリーン107の前に3人のユーザUa〜Ucが存在する。ユーザUa、Ub及びUcのスクリーン107からの距離は、それぞれD1、D2及びD3である。このうち、距離D1が最も小さく、距離D3が最も大きい。このような状況において、入力画像には、ユーザUaの顔領域が最も大きく映る。ユーザUbの顔領域の大きさは2番目であり、ユーザUcの顔領域の大きさは最も小さい。図9Aの例では、ユーザUa、Ub及びUcの顔領域の大きさは、それぞれ、1000画素、800画素及び400画素である。そこで、出力画像生成部170は、ユーザUaと関連付けられる表示オブジェクトのレイヤを1、ユーザUbと関連付けられる表示オブジェクトのレイヤを2、ユーザUcと関連付けられる表示オブジェクトのレイヤを3と設定する。
【0082】
このように、顔領域のサイズが大きいユーザについての表示オブジェクトをより前面に重畳することで、表示オブジェクトが混雑している場合にも、距離感に合わせた自然な表示を簡易に実現することができる。また、コミュニケーションに関与したいユーザをよりスクリーン107の近くに導くことも可能となる。
【0083】
また、出力画像生成部170は、例えば、所定のジェスチャ若しくは所定の表情をしているユーザ、又は発話中のユーザに関連付けられる表示オブジェクトのレイヤを、ユーザの撮像装置104からの距離に関わらず一時的に前面に設定してもよい。所定のジェスチャとは、例えば、手を挙げるジェスチャ又は手を振るジェスチャなどであってよい。また、所定の表情とは、笑顔などであってよい。図9Bの例では、手を振るジェスチャをしているユーザUcのレイヤが、スクリーン107からの距離が最も遠いにも関わらず、一時的に1に設定されている。このような処理により、スクリーン107に近い位置を占めるユーザばかりがコミュニケーションに強く関与することなく、コミュニケーションへの参加を希望する様々なユーザにコミュニケーションの機会を広く与えることができる。
【0084】
[2−3.出力画像の例]
図10は、本実施形態において画像処理装置100から出力される出力画像の一例を示す説明図である。図10を参照すると、一例としての出力画像Im11が示されている。出力画像Im11には、3人のユーザUa、Ub及びUcが映っている。また、ユーザUaの近傍には、表示オブジェクト12a及び13aが重畳されている。ユーザUbの近傍には、表示オブジェクト12bが重畳されている。ユーザUcの近傍には、表示オブジェクト12cが重畳されている。しかし、画像内でユーザUa、Ub及びUcが互いに近くに位置しているため、点線枠に囲まれた領域内で表示オブジェクトが混雑し、表示オブジェクト13a、12b及び12cが互いに重なっている。
【0085】
図10の右下の部分画像Im12は、出力画像Im11の中の上述した点線枠内の部分画像の拡大図である。部分画像Im12において、表示オブジェクト13aが最前面に重畳されている。また、表示オブジェクト13aの背面に表示オブジェクト12b、表示オブジェクト12bの背面に表示オブジェクト12cがそれぞれ重畳されている。即ち、スクリーン107に最も近い位置で積極的にコミュニケーションに関与しているユーザUaについての情報が、優先的に出力画像Im11において表示されていることが理解される。また、画像内を右から左へ横切っているユーザUcの表示オブジェクト12cの透過率は高く設定されている。それにより、コミュニケーションに関与しない可能性の高いユーザUcについての情報が他の情報の視認性を阻害することが防止される。
【0086】
[2−4.処理の流れ]
図11は、本実施形態に係る画像処理装置100による画像処理の主な流れの一例を示すフローチャートである。
【0087】
図11を参照すると、まず、画像取得部110は、撮像装置104により撮像される入力画像を取得する(ステップS102)。そして、画像取得部110は、取得した入力画像を認識部130及び出力画像生成部170へ出力する。
【0088】
次に、認識部130は、入力画像に映るユーザの顔領域及び手領域を検出する(ステップS104)。次に、認識部130は、例えば、検出した各顔領域の画像特徴量とデータベース102に記憶されている既知のユーザの画像特徴量とを照合することにより、入力画像に映る個々のユーザを特定する(ステップS106)。また、認識部130は、例えば、音声取得部120により取得される入力音声から検出される音声特徴量及び音源方向を追加的に用いて、個々のユーザを特定してもよい。
【0089】
次に、情報取得部150は、認識部130により認識された各ユーザと関連付けて表示すべき表示情報を、データベース102、端末装置105又は外部の情報源などから取得する(ステップS108)。
【0090】
次に、出力画像生成部170は、認識部130により認識された各ユーザの画像内での滞在時間又は移動速度を計測する(ステップS110)。そして、出力画像生成部170は、計測した滞在時間又は移動速度に基づいて、情報取得部150により取得された表示情報を表示する表示オブジェクトの透過率を設定する(ステップS112)。また、出力画像生成部170は、各ユーザの顔領域のサイズを撮像装置104との距離に応じたパラメータとして用いて、各表示オブジェクトのサイズ及びレイヤを設定する(ステップS114)。ここで、出力画像生成部170は、例えば認識部130により認識されるユーザの表情、ジェスチャ又は発話状態に応じて、表示オブジェクトの透過率又はレイヤを変化させてもよい。さらに、出力画像生成部170は、各表示オブジェクトの表示位置及び色などのその他の属性を設定する(ステップS116)。
【0091】
次に、出力画像生成部170は、設定した表示オブジェクトの属性に従って、入力画像に表示オブジェクトを重畳することにより、出力画像を生成する(ステップS118)。そして、出力画像生成部170は、生成した出力画像を表示装置106へ出力し、出力画像を表示させる(ステップS120)。
【0092】
[2−5.第1の実施形態のまとめ]
ここまで、図1〜図11を用いて、本発明の第1の実施形態について説明した。本実施形態によれば、各ユーザに関連付けられる情報を入力画像に重畳することにより出力画像が生成される拡張現実の画像内で、情報が混雑する状況において、各ユーザの撮像装置からの距離に応じて表示情報の奥行き方向の配置が決定される。それにより、距離感に合わせた自然な表示が実現されるため、ユーザは、どの表示情報がどのユーザに関する情報であるかを容易に理解することができる。また、コミュニケーションに関与したいユーザをより画面の近くに導くことが可能となり、コミュニケーションがより活性化することが期待される。
【0093】
また、本実施形態によれば、画像内でのユーザの滞在時間又は移動速度に応じて、表示オブジェクトの透過率が設定される。それにより、コミュニケーションへの興味が強いユーザ、又はコミュニケーションへの貢献度の高いユーザについての情報を、より視認し易いようにユーザに呈示することができる。また、コミュニケーションに関与しないユーザについての情報の存在により、他の情報の視認性が阻害されることを防止することができる。また、本実施形態によれば、表示情報の取得経路又は情報入力のために利用された入力手段などに応じて表示オブジェクトの形状が変化するため、ユーザが表示情報の種類をより直感的かつ的確に理解することが可能となる。
【0094】
<3.第2の実施形態の説明>
上述した第1の実施形態では、画像内で表示情報が混雑する状況において、複数の表示情報が互いに重なる場合にも分かり易く情報が呈示される。第1の実施形態では、各表示情報は、原則として既定の表示位置に表示される。これに対し、本節で説明する第2の実施形態では、表示情報の表示位置を適応的に決定することにより、表示情報の重なりによる視認性の低下を抑制する。
【0095】
第2の実施形態に係るシステムの構成は、図1を用いて説明した画像処理システム1の構成と同様であってよい。
【0096】
[3−1.画像処理装置の構成例]
図12は、本発明の第2の実施形態に係る画像処理装置200の構成の一例を示すブロック図である。図12を参照すると、画像処理装置200は、画像取得部110、音声取得部120、認識部130、情報取得部150、重み決定部260、及び出力画像生成部270を備える。第1の実施形態に係る画像処理装置100と同様、認識部130は、画像認識部134、音声認識部138及び個人認識部142を含む。
【0097】
(重み決定部)
重み決定部260は、認識部130により認識されるユーザごとの重みを決定する。本実施形態において、ユーザの「重み」とは、そのユーザの表示上の優先度に類似する概念であり、「重み」が大きいユーザについての表示情報ほど、優先的に既定の表示位置の近くに配置される。例えば、重み決定部260は、入力画像内に映っている時間の長さ、即ち滞在時間に応じて、ユーザごとの重みを決定してもよい。また、重み決定部260は、ユーザの属性情報を用いてユーザごとの重みを決定してもよい。より具体的には、例えば、重み決定部260は、特定の性別(女性など)又は特定の年齢層(10歳未満の子供又は70歳を超える高齢者など)に属するユーザの重みが他のユーザの重みよりも大きくなるように、ユーザごとの重みを決定してもよい。
【0098】
図13は、重み決定部260による重み決定処理の一例について説明するための説明図である。図13の横軸は、時間軸(時間T)である。縦軸は、破線で示される滞在時間St及び実線で示される重みWの大きさを表す。なお、図13の例では、重みWは、ユーザの属性に応じて、子供(例えば10歳未満)についての重みWk、女性についての重みWf及び男性についての重みWmの3種類に分けられる。滞在時間Stは、時間T0に画像内に現れたユーザが継続して画像内に留まることにより、時間軸に沿って線形的に増加する。重みWmは、時間T0からT3までの間滞在時間Stに比例して線形的に増加し、時間T3以降は一定の値となる。重みWfもまた、時間T0からT3までの間線形的に増加し、時間T3以降は一定の値となる。但し、重みWfは、重みWmよりも全ての時間にわたってdWだけ大きい。重みWkは、時間T0からT4までの間線形的に増加し、時間T4以降は一定の値となる。重みWkは、時間T0からT3までの間、重みWfよりも大きい。重み決定部260は、例えば、こうしたユーザの滞在時間及び属性に応じた重みの算出のためのグラフ又は算出式を予め記憶し、そのグラフ又は算出式に従ってユーザごとの重みを決定する。
【0099】
このように、特定の属性を有するユーザの重みを他のユーザよりも大きくすることで、コミュニケーションに積極的に関与することが期待されるユーザを優先的に扱い、又は特定の属性を有するユーザに注目を集めることができる。また、レディファースト又は高齢者優先など、一般社会でコミュニケーションにいて尊重される考え方をシステムに取り入れることも可能となる。なお、優先的に扱われるユーザは、例えば、会費を支払っている会員ユーザなどであってもよい。
【0100】
(出力画像生成部)
出力画像生成部270は、情報取得部150により取得される表示情報を画像取得部110から入力される入力画像に重畳することにより、出力画像を生成する。より具体的には、出力画像生成部270は、まず、情報取得部150により取得される表示情報を表示する表示オブジェクトの属性を決定する。表示オブジェクトの属性は、図5の例と同様、形状、色、サイズ、表示位置、透過率、及びレイヤなどに関するデータを含む。表示オブジェクトの形状、色、サイズ、透過率、及びレイヤの決定の考え方は、上述した第1の実施形態と同様であってよい。
【0101】
本実施形態において、出力画像生成部270は、重み決定部260により決定されるユーザごとの重みに基づいて、各ユーザに関連付けられる表示情報の表示位置(即ち、各表示オブジェクトの表示位置)を決定する。より具体的には、例えば、出力画像生成部270は、重みがより大きいユーザに関連付けられる表示オブジェクトほど既定の表示位置からの変位がより小さくなるように、各表示オブジェクトの表示位置を決定する。そして、出力画像生成部270は、決定した当該表示位置において各表示オブジェクトを入力画像に重畳することにより、出力画像を生成する。
【0102】
本実施形態においては、表示位置の決定に際して、ユーザの重み及び既定の表示位置からの変位に依存する「引力」という概念が用いられる。さらに、表示位置決定処理の第1の例では、あるユーザの表示情報の既定の表示位置と他のユーザの表示情報の既定の表示位置との間の距離に依存する「斥力」という概念も導入される。
【0103】
(1)表示位置決定処理の第1の例
図14A〜図14Cは、出力画像生成部270による表示位置決定処理の第1の例について説明するための説明図である。表示位置決定処理の第1の例において、出力画像生成部270は、各表示情報についての上記斥力と上記引力とが平衡するように、各表示情報を表示する表示オブジェクトの表示位置を決定する。
【0104】
図14Aを参照すると、ユーザUxの表示オブジェクトDO1及び他のユーザの表示オブジェクトDO2が示されている。一例として、表示オブジェクトDO1の既定の表示位置DP1と表示オブジェクトDO2の既定の表示位置DP2との間の距離d1,2=120(単位は画素)である。また、ユーザUxの重みW1=20である。
【0105】
ここで、例えば、表示オブジェクトDO1に作用する斥力R1を、距離d1,2と所定の定数C(以下、斥力定数という。一例として、C=50とする)との積であると定義する。すると、斥力R1=d1,2×C=6000である。一方、表示オブジェクトDO1に作用する引力G1を、例えば、ユーザUxの重みW1と表示オブジェクトDO1の既定の表示位置DP1からの変位d1との積であると定義する。すると、引力G1と斥力R1との平衡状態(即ちG1=R1)において、表示オブジェクトDO1の変位d1=G1/W1=R1/W1=6000/20=300と導かれる。そこで、出力画像生成部270は、例えば、位置DP1と位置DP2とを結ぶ直線上で位置DP1から距離300(位置DP2とは反対の方向に)の位置NP1を、表示オブジェクトDO1の新たな表示位置と決定する。また、表示オブジェクトDO2の新たな表示位置も同様に決定され得る。
【0106】
図14Aの例では、2つの表示オブジェクトが重なり合う場合について説明した。これに対し、3つ以上の表示オブジェクトが重なり合う場合には、出力画像生成部270は、斥力の合力を計算過程で考慮することで、表示オブジェクトの表示位置を決定することができる。
【0107】
図14Bを参照すると、ユーザUxの表示オブジェクトDO1、並びに他のユーザの表示オブジェクトDO2及びDO3が示されている。ここで、表示オブジェクトDO2の既定の表示位置DP2から表示オブジェクトDO1の既定の表示位置DP1へのベクトルをVd1,2とする。また、表示オブジェクトDO3の既定の表示位置DP3から表示オブジェクトDO1の既定の表示位置DP1へのベクトルをVd1,3とする。すると、表示オブジェクトDO1に作用する斥力R1は、C×Vd1,2とC×Vd1,3とのベクトル和により表される。そして、平衡状態では、引力G1+斥力R1=0である。そのため、出力画像生成部270は、斥力R1をユーザUxの重みで除することにより、表示オブジェクトDO1の既定の表示位置DP1からの変位d1を算出することができる。そして、変位d1を既定の表示位置DP1に加えることで、表示オブジェクトDO1の新たな表示位置NP1が決定される。
【0108】
図14A及び図14Bの例では、2つの表示オブジェクトの既定の表示位置を結ぶ直線に沿って個々の(合成前の)斥力が作用するものとして説明した。その代わりに、斥力は、例えば(画像内の)上下方向など、予め決められた限定的な方向にのみ作用するものと規定されてもよい。
【0109】
図14Cを参照すると、ユーザUxの表示オブジェクトDO1及び他のユーザの表示オブジェクトDO2が示されている。ここで、表示オブジェクトDO2の既定の表示位置DP2から表示オブジェクトDO1の既定の表示位置DP1へのベクトルVd1,2は、右上方向へ向いている。但し、図14Cの例では、斥力は上下方向のみに作用すると規定されているものとする。その結果、斥力R1は、位置DP1から上へ向かう直線に沿って作用する。この場合、表示オブジェクトDO1の既定の表示位置DP1からの変位d1もまた、右上方向ではなく上方向へ向かうベクトルとなる。その結果、表示オブジェクトDO1は、既定の表示位置から上方向へ移動する。同様に、表示オブジェクトDO2は、既定の表示位置から下方向へ移動する。この場合は、各表示オブジェクトのユーザとの相対的な位置関係が左右方向には変化しないため、出力画像を見るユーザにとって、表示オブジェクトとユーザとの対応関係を理解することが容易である。
【0110】
なお、ここでは、斥力を斥力定数と表示オブジェクト間の距離との積であると定義したが、かかる例に限定されず、他の斥力の定義が使用されてもよい。例えば、斥力そのものが定数であってもよく、又は斥力は表示オブジェクト間の距離の2乗に比例してもよい。また、表示情報の種類によって異なる斥力が定義されてもよい。
【0111】
また、表示オブジェクトの既定の表示位置の間の距離の代わりに、表示オブジェクトの外周上の点(最も近い点)の間の距離に応じた斥力を定義することで、表示オブジェクトが部分的に重なる可能性を排除することができる。また、表示オブジェクトの外周の周囲に緩衝領域を設け、緩衝領域の縁部の間の距離に応じた斥力を定義することで、表示オブジェクトの間に間隙を作ることもできる。さらに、出力画像の外周(ウィンドウ枠)からの斥力を定義し、表示オブジェクトの作用する引力と斥力との平衡状態の式にウィンドウ枠からの斥力を算入してもよい。
【0112】
また、ここでは、ユーザの重みと表示オブジェクトの変位との積を引力とするいわゆるバネ系の定義を利用して表示オブジェクトの変位を算出する例を説明した。しかしながら、その代わりに、例えばバネ・マス・ダンパー系の定義を利用してもよい。その場合、表示オブジェクトの加速度の係数(質量)及び速度の係数(減衰定数)は、ユーザの属性又は表示情報の種類に応じて与えられ得る。それにより、互いにぶつかった表示オブジェクトが時間軸に沿って揺れ動く(及びその揺れが次第に収まる)ような演出効果を生み出すことができる。
【0113】
(2)表示位置決定処理の第2の例
図15は、出力画像生成部270による表示位置決定処理の第2の例について説明するための説明図である。表示位置決定処理の第2の例において、出力画像生成部270は、例えば、複数の表示オブジェクトに作用する引力が平衡するように、当該複数の表示オブジェクトの表示位置を決定する。この場合、上述した斥力の概念は利用されない。
【0114】
図15を参照すると、ユーザUxの表示オブジェクトDO4及びユーザUyの表示オブジェクトDO5が示されている。一例として、表示オブジェクトDO4の既定の表示位置DP4と新たな表示位置NP4との間の距離d4=40である。また、表示オブジェクトDO5の既定の表示位置DP5と新たな表示位置NP5との間の距離d5=80である。また、ユーザUxの重みW5=50、ユーザUyの重みW4=100である。ここで、表示位置決定処理の第2の例と同様、引力の大きさをユーザの重みと表示オブジェクトの既定の表示位置からの変位との積であると定義すると、表示オブジェクトDO4に作用する引力G4=W4×d4=4000である。また、表示オブジェクトDO5に作用する引力G5=W5×d5=4000である。即ち、引力G4と引力G5とは上記新たな表示位置において平衡状態にある。出力画像生成部270は、例えば、複数の表示オブジェクトについてこのような引力の平衡状態が生じる表示位置を探索し、探索結果として得られる表示位置を当該複数の表示オブジェクトの表示位置として決定してもよい。この場合にも、表示位置決定処理の第1の例と同様、重みがより大きいユーザに関連付けられる表示オブジェクトほど、既定の表示位置からの変位がより小さくなる。
【0115】
(3)表示上の制約
なお、出力画像生成部270は、上述した表示位置決定処理により決定した表示オブジェクトの新たな表示位置が表示上の制約を満たさない場合には、表示オブジェクトの表示位置をさらに変更し、又は表示オブジェクトの表示位置を既定の表示位置に設定してもよい。表示上の制約とは、例えば、表示オブジェクトが画面外にはみださないこと、及び表示オブジェクトがユーザ(全てのユーザ、又は所定の閾値以上の重みを有するユーザなど)の顔に重ならないこと、などを含む。例えば、表示オブジェクトを既定の表示位置に重畳する場合には、複数の表示オブジェクトが互いに重なる可能性が高まる。しかし、複数の表示オブジェクトが互いに重なる場合には、第1の実施形態において説明した手法に従って出力画像生成部270が表示情報のサイズ、奥行き方向の配置及び透明度などを制御するため、表示情報の分かり易さの低下は軽減される。
【0116】
[3−2.出力画像の例]
図16は、本実施形態において画像処理装置200から出力される出力画像の一例を示す説明図である。図16を参照すると、一例としての出力画像Im21が示されている。出力画像Im21には、3人のユーザUa、Ub及びUcが映っている。図16の例において、ユーザUa及びUbは入力画像内に比較的長い時間映っており、互いにコミュニケーションを続けているものとする。一方、ユーザUcは、一時的に通りかかったユーザであるとする。
【0117】
ユーザUaの近傍には、表示オブジェクト12a及び13aが重畳されている。ユーザUbの近傍には、表示オブジェクト12b及び13bが重畳されている。ユーザUcと関連付けられる表示オブジェクト12cは、ユーザUcからやや離れた上方の表示位置に重畳されている。これら表示オブジェクトは、互いに重なっていない。ここで、本実施形態では、上述したように、重みがより大きいユーザに関連付けられる表示オブジェクトほど既定の表示位置からの変位がより小さくなるように、互いに重なる表示オブジェクトの位置が既定の表示位置から移動される。そのため、滞在時間が長く、重みの大きいユーザUa及びUbの表示オブジェクト13a及び13bは、既定の表示位置からあまり動いていない。これに対し、滞在時間が短く、重みのより小さいユーザUcの表示オブジェクト12cは、表示オブジェクト13a及び13bを避けるように上方へ移動している。それにより、ユーザUa及びUbの間のコミュニケーションは、一時的に通りかかったユーザUcの表示オブジェクトにより阻害されることなく、円滑に継続され得る。また、ユーザは、どのユーザがどの程度システムを継続して利用しているかを容易に把握することができる。
【0118】
[3−3.処理の流れ]
図17は、本実施形態に係る画像処理装置200による画像処理の主な流れの一例を示すフローチャートである。
【0119】
図17を参照すると、まず、画像取得部110は、撮像装置104により撮像される入力画像を取得する(ステップS202)。そして、画像取得部110は、取得した入力画像を認識部130及び出力画像生成部270へ出力する。
【0120】
次に、認識部130は、入力画像に映るユーザの顔領域及び手領域を検出する(ステップS204)。次に、認識部130は、例えば、検出した各顔領域の画像特徴量とデータベース102に記憶されている既知のユーザの画像特徴量とを照合することにより、入力画像に映る個々のユーザを特定する(ステップS206)。
【0121】
次に、情報取得部150は、認識部130により認識された各ユーザと関連付けて表示すべき表示情報を、データベース102、端末装置105又は外部の情報源などから取得する(ステップS208)。
【0122】
次に、出力画像生成部270は、認識部130により認識された各ユーザの画像内での滞在時間(及び、必要に応じて移動速度)を計測する(ステップS210)。そして、重み決定部260は、出力画像生成部270により計測された各ユーザの滞在時間、及び各ユーザの属性情報に基づいて、ユーザごとの重みを決定する(ステップS211)。
【0123】
次に、出力画像生成部270は、滞在時間又は移動速度に基づいて、情報取得部150により取得された表示情報を表示する表示オブジェクトの透過率を設定する(ステップS212)。また、出力画像生成部270は、各ユーザの顔領域のサイズを撮像装置104との距離に応じたパラメータとして用いて、各表示オブジェクトのサイズ及びレイヤを設定する(ステップS214)。
【0124】
次に、出力画像生成部270は、後により詳しく説明する表示位置決定処理を行い、表示オブジェクトごとの表示位置を決定する(ステップS215)。また、出力画像生成部270は、各表示オブジェクトの色などのその他の属性を設定する(ステップS216)。
【0125】
次に、出力画像生成部270は、設定した表示オブジェクトの属性に従って、入力画像に表示オブジェクトを重畳することにより、出力画像を生成する(ステップS218)。そして、出力画像生成部270は、生成した出力画像を表示装置106へ出力し、出力画像を表示させる(ステップS220)。
【0126】
図18は、図17のステップS215に相当する表示位置決定処理の流れの一例を示すフローチャートである。図18のフローチャートは、図14A〜図14Cを用いて説明した表示位置決定処理の第1の例に対応する。
【0127】
図18を参照すると、まず、出力画像生成部270は、各表示オブジェクトを既定の表示位置に配置する(ステップS252)。次に、出力画像生成部270は、既定の表示位置の間の距離に応じて、各表示オブジェクトに作用する斥力(複数の場合にはその合力)を算出する(ステップS254)。次に、出力画像生成部270は、算出した斥力及びユーザの重みから、表示オブジェクトごとの既定の表示位置からの変位を算出する(ステップS256)。
【0128】
次に、出力画像生成部270は、各表示オブジェクトについて、算出した変位を既定の表示位置に加えることにより導かれる新たな表示位置が表示上の制約を満たすか否かを判定する(ステップS258)。ここで、新たな表示位置が表示上の制約を満たす場合には、出力画像生成部270は、その新たな表示位置に当該表示オブジェクトを配置する(ステップS260)。一方、新たな表示位置が表示上の制約を満たさない場合には、出力画像生成部270は、既定の表示位置を含む他の位置に当該表示オブジェクトを配置する(ステップS262)。
【0129】
図19は、図17のステップS215に相当する表示位置決定処理の流れの他の例を示すフローチャートである。図19のフローチャートは、図15を用いて説明した表示位置決定処理の第2の例に対応する。
【0130】
図19を参照すると、まず、出力画像生成部270は、各表示オブジェクトを既定の表示位置に配置する(ステップS272)。次に、出力画像生成部270は、互いに重なる表示オブジェクトが存在するか否かを判定する(ステップS274)。ここで、互いに重なる表示オブジェクトが存在しない場合には、出力画像生成部270による表示位置決定処理は終了する。一方、互いに重なる表示オブジェクトが存在する場合には、処理はステップS276へ進む。
【0131】
ステップS276において、出力画像生成部270は、ステップS274において互いに重なっていた表示オブジェクトを新たな表示位置に移動させる(ステップS276)。次に、出力画像生成部270は、既定の表示位置からの変位とユーザの重みとに基づいて、表示オブジェクトごとの引力を算出する(ステップS278)。そして、出力画像生成部270は、算出した引力が表示オブジェクト間で平衡状態となったか否かを判定する(ステップS280)。ここで、引力が表示オブジェクト間で平衡状態となった場合には、出力画像生成部270による表示位置決定処理は終了する。一方、引力が表示オブジェクト間で平衡状態となっていない場合には、処理はステップS282へ進む。
【0132】
ステップS282において、出力画像生成部270は、表示上の制約を満たす全ての表示位置を探索済みであるか否かを判定する(ステップS282)。ここで、未探索の表示位置が残っている場合には、処理はステップS276に戻る。一方、表示上の制約を満たす全ての表示位置が探索済みである場合には、出力画像生成部270は、例えば、表示オブジェクトの重なりに関わらず、表示オブジェクトを既定の表示位置に再び配置し(ステップS284)、処理を終了する。
【0133】
[3−4.第2の実施形態のまとめ]
ここまで、図12〜図19を用いて、本発明の第2の実施形態について説明した。本実施形態によれば、ユーザの表示上の優先度に類似する重みが例えば滞在時間又はユーザの属性情報などに応じて決定され、その重みに基づいて、各ユーザに関連付けられる表示情報の表示位置が決定される。それにより、優先度の高いユーザの表示情報が他のユーザの表示情報から阻害又は干渉されないように、表示情報間の重なりを回避することができる。その結果、拡張現実の画像内で情報が混雑する状況において、より分かり易く情報を呈示することが可能となる。
【0134】
また、本実施形態によれば、重みがより大きいユーザに関連付けられる表示情報ほど既定の表示位置からの変位がより小さくなるように、表示情報の表示位置が決定される。それにより、例えば、本実施形態に係るシステムを継続的に利用しているユーザ間のコミュニケーションを一時的に画像内に現れたユーザの表示情報が阻害するリスクも低減される。また、ユーザにシステムをより長く利用させる動機付けを与えることができる。また、重みに基づいて決定される表示位置が表示上の制約を満たさない場合には、第1の実施形態と同様に、表示情報のサイズ、奥行き方向の配置及び透明度などが制御され、表示情報の重なりが許容され得る。それにより、拡張現実の画像内で情報が混雑した場合にも、情報の分かり易さが大きく低下することがない。
【0135】
なお、本明細書において説明した第1及び第2の実施形態に係る一連の処理は、典型的には、ソフトウェアを用いて実現される。一連の処理を実現するソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体に予め格納される。そして、各プログラムは、例えば、実行時にRAM(Random Access Memory)に読み込まれ、CPU(Central Processing Unit)などのプロセッサにより実行される。
【0136】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0137】
1 画像処理システム
100,200 画像処理装置
130 認識部
150 情報取得部
260 重み決定部
170,270 出力画像生成部
【技術分野】
【0001】
本発明は、画像処理装置、プログラム及び画像処理方法に関する。
【背景技術】
【0002】
近年、実空間を撮像して得られる画像に情報を重畳してユーザに呈示する拡張現実(AR:Augmented Reality)と呼ばれる技術が注目されている。AR技術において画像に重畳される情報は様々である。例えば、下記特許文献1は、入力画像に映る実空間内の運動する物体にハイパーリンク情報を付加して呈示する技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−158056号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、情報を付加すべき対象が入力画像内に多数存在する場合には、表示される情報が混雑し、ユーザに呈示される出力画像が分かり易さを失ってしまう恐れがある。例えば、拡張現実の画像を介したユーザ間のコミュニケーションにおいて、コミュニケーションに積極的に関与しているユーザについての情報と周囲に存在するユーザについての情報とを区別することなく表示すると、情報の混雑により円滑なコミュニケーションが阻害され、誰がどの情報を発しているのかも分かりにくい状況が発生し得る。
【0005】
そこで、本発明は、拡張現実の画像内で情報が混雑する状況において、より分かり易く情報を呈示することのできる、新規かつ改良された画像処理装置、プログラム及び画像処理方法を提供しようとするものである。
【課題を解決するための手段】
【0006】
本発明のある実施形態によれば、撮像装置により撮像される入力画像に映る複数のユーザを認識する認識部と、上記認識部により認識される各ユーザと関連付けて表示すべき表示情報を取得する情報取得部と、上記情報取得部により取得される上記表示情報を上記入力画像に重畳することにより出力画像を生成する出力画像生成部と、を備え、上記出力画像生成部は、各ユーザについての上記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定する、画像処理装置が提供される。
【0007】
また、上記出力画像生成部は、上記第1の表示情報と上記第2の表示情報とが上記出力画像内で重なる場合において、上記第1のユーザの上記撮像装置からの距離が上記第2のユーザの上記撮像装置からの距離よりも小さい場合に、上記第1の表示情報を上記第2の表示情報の前面に重畳してもよい。
【0008】
また、上記認識部は、上記入力画像に映る各ユーザの顔領域のサイズをさらに認識し、上記出力画像生成部は、上記認識部により認識される各ユーザの顔領域のサイズを上記パラメータとして使用してもよい。
【0009】
また、上記出力画像生成部は、上記認識部により認識される各ユーザについて上記入力画像内に映っている時間の長さ又は移動速度を計測し、上記入力画像に重畳する上記表示情報の透過率を、当該表示情報に関連付けられるユーザについて計測した上記時間の長さ又は上記移動速度に応じて設定してもよい。
【0010】
また、上記出力画像生成部は、上記入力画像内に映っている上記時間の長さがより長いユーザの上記表示情報の上記透過率をより低く設定してもよい。
【0011】
また、上記出力画像生成部は、上記移動速度がより小さいユーザの上記表示情報の上記透過率をより低く設定してもよい。
【0012】
また、上記認識部は、各ユーザのジェスチャをさらに認識し、上記出力画像生成部は、所定のジェスチャを行ったユーザの上記表示情報の上記透過率を一時的に減少させてもよい。
【0013】
また、上記認識部は、各ユーザのジェスチャ、表情又は発話状態をさらに認識し、上記出力画像生成部は、所定のジェスチャ若しくは所定の表情をしているユーザ、又は発話中のユーザに関連付けられる表示情報を、上記撮像装置からの距離に関わらず一時的に前面に表示してもよい。
【0014】
また、上記出力画像生成部は、各ユーザの上記撮像装置からの距離に応じて、各ユーザに関連付けられる上記表示情報の表示サイズを決定してもよい。
【0015】
また、上記情報取得部は、テキスト入力装置を介して入力されるテキストを第1のタイプの表示情報として取得し、音声入力装置を介して入力される音声についての音声認識結果を第2のタイプの表示情報として取得し、上記出力画像生成部は、上記第1のタイプの表示情報を表示するオブジェクトの形状を思考を象徴する形状に設定し、上記第2のタイプの表示情報を表示するオブジェクトの形状を発話を象徴する形状に設定してもよい。
【0016】
また、上記情報取得部は、テキスト入力装置又は音声入力装置を介して入力される情報を上記表示情報として取得し、上記出力画像生成部は、上記情報取得部により取得される上記表示情報の内容を解析することにより、上記表示情報を、ユーザの思考に対応する第3のタイプの表示情報又はユーザの発話に対応する第4のタイプの表示情報に分類し、上記第3のタイプの表示情報を表示するオブジェクトの形状を思考を象徴する形状に設定し、上記第4のタイプの表示情報を表示するオブジェクトの形状を発話を象徴する形状に設定してもよい。
【0017】
また、上記情報取得部は、ユーザにより入力される情報を第5のタイプの表示情報として取得し、及びユーザにより入力される情報又は当該ユーザの属性情報に基づいて外部の情報源から取得される情報を第6のタイプの表示情報として取得し、上記出力画像生成部は、上記第5のタイプの表示情報と上記第6のタイプの表示情報とを互いに異なる形状を有するオブジェクトで表示してもよい。
【0018】
また、本発明の別の実施形態によれば、画像処理装置を制御するコンピュータを、撮像装置により撮像される入力画像に映る複数のユーザを認識する認識部と、上記認識部により認識される各ユーザと関連付けて表示すべき表示情報を取得する情報取得部と、上記情報取得部により取得される上記表示情報を上記入力画像に重畳することにより出力画像を生成する出力画像生成部と、として機能させるためのプログラムであって、上記出力画像生成部は、各ユーザについての上記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定する、プログラムが提供される。
【0019】
また、上記出力画像生成部は、上記第1の表示情報と上記第2の表示情報とが上記出力画像内で重なる場合において、上記第1のユーザの上記撮像装置からの距離が上記第2のユーザの上記撮像装置からの距離よりも小さい場合に、上記第1の表示情報を上記第2の表示情報の前面に重畳してもよい。
【0020】
また、上記認識部は、上記入力画像に映る各ユーザの顔領域のサイズをさらに認識し、上記出力画像生成部は、上記認識部により認識される各ユーザの顔領域のサイズを上記パラメータとして使用してもよい。
【0021】
また、上記出力画像生成部は、上記認識部により認識される各ユーザについて上記入力画像内に映っている時間の長さ又は移動速度を計測し、上記入力画像に重畳する上記表示情報の透過率を、当該表示情報に関連付けられるユーザについて計測した上記時間の長さ又は上記移動速度に応じて設定してもよい。
【0022】
また、上記出力画像生成部は、上記入力画像内に映っている上記時間の長さがより長いユーザの上記表示情報の上記透過率をより低く設定してもよい。
【0023】
また、上記出力画像生成部は、上記移動速度がより小さいユーザの上記表示情報の上記透過率をより低く設定してもよい。
【0024】
また、本発明の別の実施形態によれば、撮像装置により撮像される入力画像に映る複数のユーザを認識するステップと、認識された各ユーザと関連付けて表示すべき表示情報を取得するステップと、各ユーザについての上記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定するステップと、取得された上記表示情報を上記入力画像に重畳することにより出力画像を生成するステップと、を含む画像処理方法が提供される。
【発明の効果】
【0025】
以上説明したように、本発明に係る画像処理装置、プログラム及び画像処理方法によれば、拡張現実の画像内で情報が混雑する状況において、より分かり易く情報を呈示することが可能となる。
【図面の簡単な説明】
【0026】
【図1】画像処理システムの概要を示す模式図である。
【図2】図1の画像処理システムにおいて表示される出力画像の一例を示す説明図である。
【図3】第1の実施形態に係る画像処理装置の構成の一例を示すブロック図である。
【図4】新規ユーザの登録用のユーザインタフェースの一例を示す説明図である。
【図5】表示オブジェクトデータの構成の一例を示す説明図である。
【図6A】表示オブジェクトの形状の第1の例を示す説明図である。
【図6B】表示オブジェクトの形状の第2の例を示す説明図である。
【図6C】表示オブジェクトの形状の第3の例を示す説明図である。
【図6D】表示オブジェクトの形状の第4の例を示す説明図である。
【図7】第1の実施形態における表示オブジェクトの表示位置について説明するための説明図である。
【図8A】透過率設定処理の一例について説明するための説明図である。
【図8B】透過率設定処理の他の例について説明するための説明図である。
【図9A】レイヤ設定処理の一例について説明するための第1の説明図である。
【図9B】レイヤ設定処理の一例について説明するための第2の説明図である。
【図10】第1の実施形態における出力画像の一例を示す説明図である。
【図11】第1の実施形態に係る画像処理の流れの一例を示すフローチャートである。
【図12】第2の実施形態に係る画像処理装置の構成の一例を示すブロック図である。
【図13】重み決定処理の一例について説明するための説明図である。
【図14A】表示位置決定処理の第1の例について説明するための第1の説明図である。
【図14B】表示位置決定処理の第1の例について説明するための第2の説明図である。
【図14C】表示位置決定処理の第1の例について説明するための第3の説明図である。
【図15】表示位置決定処理の第2の例について説明するための説明図である。
【図16】第2の実施形態における出力画像の一例を示す説明図である。
【図17】第2の実施形態に係る画像処理の流れの一例を示すフローチャートである。
【図18】第2の実施形態に係る表示位置決定処理の第1の例の流れを示すフローチャートである。
【図19】第2の実施形態に係る表示位置決定処理の第2の例の流れを示すフローチャートである。
【発明を実施するための形態】
【0027】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
【0028】
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
1.システムの概要
2.第1の実施形態の説明
2−1.画像処理装置の構成例
2−2.表示オブジェクトの属性
2−3.出力画像の例
2−4.処理の流れ
2−5.第1の実施形態のまとめ
3.第2の実施形態の説明
3−1.画像処理装置の構成例
3−2.出力画像の例
3−3.処理の流れ
3−4.第2の実施形態のまとめ
【0029】
<1.システムの概要>
まず、図1を用いて、本発明の一実施形態に係る画像処理システムの概要を説明する。図1は、本発明の一実施形態に係る画像処理システム1の概要を示す模式図である。図1を参照すると、画像処理システム1は、画像処理装置100、データベース102、撮像装置104及び表示装置106を含む。
【0030】
画像処理装置100は、データベース102、撮像装置104及び表示装置106と接続される。画像処理装置100は、例えば、PC(Personal Computer)若しくはワークステーションなどの汎用的なコンピュータであってもよく、又は特定の目的に特化した専用のコンピュータであってもよい。画像処理装置100は、後に詳しく説明するように、撮像装置104により撮像される画像を入力画像として取得し、画像処理後の出力画像を表示装置106へ出力する。
【0031】
データベース102は、画像処理装置100による処理のために使用される情報を記憶する装置である。図1の例に限定されず、データベース102は、画像処理装置100に内蔵されてもよい。データベース102により記憶される情報は、例えば、画像処理システム1の各ユーザを一意に識別する識別子(以下、ユーザIDという)、各ユーザを認識するための特徴量情報、各ユーザの属性情報、及び画像データなどを含む。データベース102により記憶される情報は、画像処理装置100による処理の際に要求に応じてデータベース102から出力されてもよい。その代わりに、画像処理装置100は、データベース102が記憶している情報を定期的にデータベース102からダウンロードしてもよい。
【0032】
撮像装置104は、ユーザが存在し得る実空間を撮像する装置である。図1の例において、撮像装置104は、スクリーン107の上辺に配置され、スクリーン107の前の空間に向けられている。そして、撮像装置104は、スクリーン107の前の実空間を撮像し、一連の画像(即ち、映像)を時系列で画像処理装置100へ出力する。
【0033】
表示装置106は、画像処理装置100により生成される一連の出力画像を表示する装置である。図1の例では、表示装置106は、プロジェクタである。表示装置106は、画像処理装置100から入力される出力画像を、スクリーン107へ映写する。この場合、表示装置106は、背面映写式のプロジェクタである。なお、図1の例に限定されず、表示装置106は、PDP(Plasma Display Panel)又はLCD(Liquid Crystal Display)などであってもよい。
【0034】
スクリーン107は、表示装置106の表示面である。画像処理システム1において、表示装置106の表示面は、ユーザが存在する実空間に向けて配置される。図1の例では、スクリーン107の前に、3人のユーザUa、Ub及びUcが存在している。
【0035】
画像処理システム1のユーザは、端末装置を用いて、画像処理システム1とインタラクションしてもよい。図1の例では、ユーザUaが端末装置105を保持している。端末装置105は、例えば、PC、スマートフォン又はPDA(Personal Digital Assistant)などであってよい。端末装置105は、例えば、無線LAN(Local Area Network)、Zigbee(登録商標)又はBluetooth(登録商標)などの任意の無線通信プロトコルに従って、画像処理装置100との間の通信を行う。端末装置105は、例えば、ユーザUaによるテキスト若しくは音声の入力、又はユーザ情報の登録のために使用され得る。
【0036】
図2は、図1に例示した画像処理システム1において表示される出力画像の一例について説明するための説明図である。図2を参照すると、一例としての出力画像Im01が示されている。出力画像Im01には、3人のユーザUa、Ub及びUcが映っている。また、3人のユーザUa、Ub及びUcの近傍には、それぞれ表示オブジェクト12a、12b及び12cが重畳されている。各表示オブジェクトは、対応するユーザと関連付けられる情報を表示するためのオブジェクトである。本明細書では、画像処理装置100によりユーザと関連付けて表示される情報を、表示情報という。図2の例では、表示オブジェクト12a、12b及び12cは、それぞれ、表示情報として、対応するユーザの顔画像、ニックネーム及び属性情報(例えば、趣味など)を含む。さらに、ユーザUaの近傍には表示オブジェクト13aが重畳されている。表示オブジェクト13aは、表示情報として、ユーザUaにより入力されたメッセージを含む。これら表示オブジェクトは、後に詳しく説明するように、画像処理装置100により画像に重畳される。
【0037】
このような画像処理システム1は、例えば、パーティ会場、会議場、展示会場などのような多人数でのコミュニケーションの場において、ユーザ間の交流を深めるために利用されてもよい。また、画像処理システム1は、例えば、テレビ会議などのビジネスの場において利用されてもよい。その場合には、異なる場所に撮像装置及び表示装置がそれぞれ配置され、ある場所で撮像された映像が他の場所で表示情報と共に表示され得る。
【0038】
ここで、画像処理システム1において、複数のユーザが入力画像に映っている場合には、出力画像内に多数の表示オブジェクトを表示すべき状況が発生する可能性がある。その場合、どの表示オブジェクトをどこにどのように配置するかによって、出力画像を見るユーザにとっての情報理解の難易度が異なる。また、情報の理解が困難になれば、円滑なコミュニケーションも阻害され得る。そこで、次節より、より分かり易く情報を呈示し、円滑なコミュニケーションをサポートするための、2つの実施形態について説明する。
【0039】
<2.第1の実施形態の説明>
[2−1.画像処理装置の構成例]
図3は、本発明の第1の実施形態に係る画像処理装置100の構成の一例を示すブロック図である。図3を参照すると、画像処理装置100は、画像取得部110、音声取得部120、認識部130、情報取得部150及び出力画像生成部170を備える。また、認識部130は、画像認識部134、音声認識部138及び個人認識部142を含む。
【0040】
(画像取得部)
画像取得部110は、撮像装置104により撮像される一連の入力画像を取得する。そして、画像取得部110は、取得した入力画像を認識部130の画像認識部134及び出力画像生成部170へ出力する。
【0041】
(音声取得部)
音声取得部120は、ユーザから発せされる音声を入力音声として取得する。音声取得部120による音声の取得は、例えば、ユーザが保持する端末装置105から送信される音声信号を受信することにより行われてもよい。その代わりに、例えば、スクリーン107の周囲にマイクロフォンが設置されてもよい。後者の場合には、音声取得部120は、設置されるマイクロフォンを介して入力音声を取得する。そして、音声取得部120は、取得した入力音声を認識部130の音声認識部138へ出力する。
【0042】
(画像認識部)
画像認識部134は、画像取得部110から入力される入力画像に公知の顔認識の手法(例えば、特開2008−131405号公報参照)を適用し、入力画像に映るユーザの顔領域を検出する。また、画像認識部134は、検出した顔領域を対象とし、個人を特定するために使用される特徴量(以下、画像特徴量という)を算出する。そして、画像認識部134は、算出した画像特徴量を個人認識部142へ出力する。
【0043】
その後、画像認識部134は、個人認識部142により各顔領域に対応するユーザが誰であるかが特定されると(各顔領域に対応するユーザIDが特定されると)、特定されたユーザIDと対応付けて、各顔領域の位置及びサイズを表す情報を出力画像生成部170へ出力する。
【0044】
また、画像認識部134は、例えば、各ユーザの画像特徴量に基づいて、ユーザの表情(例えば、笑顔など)、ユーザの発話状態(発話しているか否か)、又はユーザの性別若しくは年齢層などの属性を認識してもよい。その場合には、画像認識部134は、認識した表情、発話状態、又は認識した性別若しくは年齢層などを表す情報を、出力画像生成部170へ出力する。
【0045】
また、画像認識部134は、入力画像に映るユーザの手領域を検出し、検出した手領域の位置の軌跡に基づいて、ユーザのジェスチャを認識してもよい。その場合には、画像認識部134は、認識したジェスチャの種別を表す情報を出力画像生成部170へ出力する。
【0046】
(音声認識部)
音声認識部138は、音声取得部120から入力される入力音声に公知の音声認識の手法を適用し、ユーザにより発話された内容をテキストデータ(以下、発話データという)として抽出する。そして、音声認識部138は、抽出した発話データをユーザIDと対応付けて情報取得部150へ出力する。
【0047】
音声認識部138は、端末装置105を介して入力音声が取得される場合には、例えば、送信元の端末装置105の装置ID又はアカウントIDなどから、対応するユーザを特定することができる。一方、例えばスクリーン107の周囲に設置される音声入力装置を介して入力音声が取得される場合には、音声認識部138は、入力音声から抽出される音声特徴量をデータベース102に予め登録されるユーザの音声特徴量と照合することにより、個々のユーザを特定することができる。また、音声認識部138は、例えば、入力音声の音源方向を推定し、推定した音源方向に基づいて個々のユーザを特定してもよい。
【0048】
(個人認識部)
個人認識部142は、撮像装置104により撮像される入力画像に映る1人以上のユーザがそれぞれ誰であるかを認識する。より具体的には、個人認識部142は、例えば、データベース102に予め登録されている既知のユーザの顔の画像特徴量と、画像認識部134から入力される画像特徴量とを照合する(照合の手法については、例えば特開2009−53916号公報参照)。そして、個人認識部142は、照合の結果として、画像認識部134により認識された各顔領域と、特定したユーザのユーザIDとを対応付ける。また、個人認識部142は、例えば、データベース102に予め登録されている既知のユーザの声の音声特徴量と、音声認識部138から入力される音声特徴量とを照合してもよい。
【0049】
(情報取得部)
情報取得部150は、認識部130により認識される各ユーザと関連付けて表示すべき表示情報を取得する。本実施形態において、各ユーザと関連付けて表示すべき表示情報とは、例えば、当該ユーザの属性情報及び当該ユーザにより入力される入力情報を含み得る。
【0050】
情報取得部150は、例えば、ユーザの属性情報をデータベース102から取得する。情報取得部150がデータベース102から取得する属性情報は、ユーザにより予めデータベース102に登録される。データベース102に登録される属性情報は、例えば、ユーザのニックネーム、年齢、性別、趣味、所属、特定の設問に対する回答など、任意の情報であってよい。また、情報取得部150は、例えば、画像認識部134により認識される各ユーザの性別又は年齢層などを属性情報として取得してもよい。
【0051】
情報取得部150が表示情報として取得する入力情報は、例えば、テキスト入力装置を介して入力されるテキストを含む。例えば、ユーザは、端末装置105をテキスト入力装置として用いてテキストを入力し、入力情報としてのテキストを端末装置105から画像処理装置100へ送信してもよい。また、情報取得部150が表示情報として取得する入力情報は、例えば、音声認識部138により認識される上述した発話データを含む。
【0052】
さらに、情報取得部150は、ユーザの属性情報又はユーザにより入力された入力情報に含まれるキーワードに適合する何らかの情報を外部の情報源から検索し、検索結果として得られる情報(以下、検索情報という)を表示情報として取得してもよい。外部の情報源とは、例えば、オンライン辞書サービス、SNS(Social Network Service)又はナレッジ共有サービスなどのWeb関連サービスなどであってよい。
【0053】
また、情報取得部150は、例えば、新規ユーザについての情報をユーザに登録させるためのユーザインタフェース(UI)を提供する。ユーザ登録用のUIは、スクリーン107上に表示されてもよい。ユーザ登録用のUIは、例えば、図4に例示したような画像を用いたUIであってもよい。図4のUIの例によれば、ユーザは、スクリーン107に表示される設問18への回答のための選択肢19a又は19bに触れるジェスチャをすることにより、自身の属性情報を画像処理システム1に登録することができる。また、ユーザ登録用のユーザインタフェースは、画像処理装置100の固有の画面又は端末装置105の画面を介して提供されてもよい。
【0054】
(出力画像生成部)
出力画像生成部170は、情報取得部150により取得される表示情報を画像取得部110から入力される入力画像に重畳することにより、出力画像を生成する。より具体的には、出力画像生成部170は、まず、情報取得部150により取得される表示情報を表示する表示オブジェクトの属性を決定する。表示オブジェクトの属性は、例えば、表示オブジェクトの形状、色、サイズ、表示位置、透過率、及びレイヤなどに関するデータを含む。このうち、レイヤとは、表示オブジェクト間の重畳の順序を表す。例えば、複数の表示オブジェクトが互いに重なる場合に、レイヤが小さい表示オブジェクトがより前面に重畳される。出力画像生成部170は、これら表示オブジェクトの属性を各表示情報について決定した後、決定した属性に従って各表示オブジェクトの画像を生成する。出力画像生成部170による表示オブジェクトの属性の決定の基準について、次項でより詳細に説明する。そして、出力画像生成部170は、生成した表示オブジェクトの画像を入力画像に重畳することにより出力画像を生成し、生成した出力画像を表示装置106へ順次出力する。
【0055】
[2−2.表示オブジェクトの属性]
(1)属性の例
図5は、出力画像生成部170により決定される属性値を含む表示オブジェクトデータ180の構成の一例を示す説明図である。図5を参照すると、表示オブジェクトデータ180は、オブジェクトID181、ユーザID182、形状183、色184、サイズ185、表示位置186、透過率187、レイヤ188及び表示情報189という9つのデータ項目を有する。
【0056】
(2)オブジェクトID及びユーザID
オブジェクトID181は、1つの画像内に重畳される各表示オブジェクトを一意に特定するための識別子である。ユーザID182は、オブジェクトID181により識別される表示オブジェクトが関連付けられるユーザを表すユーザIDである。例えば、表示オブジェクトデータ180の第1レコード190a及び第2レコード190bから、2つの表示オブジェクトD01A及びD02AがユーザUaと関連付けられることが理解される。また、第3レコード190cから、表示オブジェクトD01BがユーザUbと関連付けられること、及び第4レコード190dから、表示オブジェクトD01CがユーザUcと関連付けられること、が理解される。
【0057】
(3)形状
形状183は、当該表示オブジェクトの形状を表す。図5の例では、表示オブジェクトの形状は、予め定義される表示オブジェクトのタイプObj1、Obj2、…のいずれかを指定することにより特定される。
【0058】
図6A〜図6Dは、それぞれ表示オブジェクトのタイプの一例を示す説明図である。図6Aを参照すると、図2に例示した表示オブジェクト12a及び13aが示されている。このうち、表示オブジェクト12aのタイプはタイプObj1である。また、表示オブジェクト12bのタイプはObj2である。これらタイプObj1及びObj2の表示オブジェクトは、いわゆる吹き出しの形状をしている。
【0059】
次に、図6Bを参照すると、表示オブジェクト14aが示されている。表示オブジェクト14aのタイプはObj3である。表示オブジェクト14aは、肩にかける看板の形状をしている。図6Aに示したタイプObj1及び図6Bに示したタイプObj3は、例えば、ユーザの属性情報を表示するために使用されてよい。一方、図6Aに示したタイプObj2は、例えば、ユーザからの入力情報を表示するために使用されてよい。
【0060】
さらに、図6Cを参照すると、表示オブジェクト15aが示されている。表示オブジェクト15aのタイプはObj4である。タイプObj4もまた、例えば、ユーザからの入力情報を表示するために使用されてよい。
【0061】
ここで、図6Aに示したタイプObj2の形状は、ユーザによる発話を象徴する形状である。これに対し、図6Bに示したタイプObj4の形状は、ユーザによる思考を象徴する形状である。出力画像生成部170は、例えば、表示情報が音声入力装置を介して入力された入力情報である場合に、当該表示情報を表示する表示オブジェクトを、発話を象徴する形状を有するタイプObj2に設定し得る。また、出力画像生成部170は、例えば、表示情報がテキスト入力装置を介して入力された入力情報である場合に、当該表示情報を表示する表示オブジェクトを、思考を象徴する形状を有するタイプObj4に設定し得る。その代わりに、出力画像生成部170は、例えば、表示情報の内容を解析することにより、表示情報をユーザの思考に対応する情報又はユーザの発話に対応する情報のいずれかに分類し、前者の分類に対応する表示オブジェクトをタイプObj2に、後者の分類に対応する表示オブジェクトをタイプObj4にそれぞれ設定してもよい。
【0062】
また、図6Dを参照すると、表示オブジェクト16aが示されている。表示オブジェクト16aのタイプはObj5である。表示オブジェクト16aもまた吹き出しの形状をしている。但し、タイプObj5の吹き出しの起点は、ユーザではなく、上方を向いている。出力画像生成部170は、例えば、情報取得部150により外部の情報源から取得される情報を表示するための表示オブジェクトをタイプObj5に設定し得る。外部の情報源から取得される情報とは、例えば、上述した検索情報などである。
【0063】
このように、表示情報の取得経路又は情報入力のために利用された入力手段などに応じて表示オブジェクトの形状を変化させることで、画像処理システム1におけるユーザ間のコミュニケーションに際して、ユーザが情報の種類をより直感的かつ的確に理解することが可能となる。また、ユーザは自身が入力する情報が表示される際のオブジェクトの形状を使い分ける(発話又は思考)ことができるため、より豊かなユーザ間のコミュニケーションが実現され得る。
【0064】
(4)色
図5における色184は、当該表示オブジェクトの色(又は当該表示オブジェクト内の表示情報のテキストの色)を表す。出力画像生成部170は、情報取得部150により取得される各ユーザの属性情報を参照し、例えばユーザの性別又は年齢層などの属性値に応じて、各表示オブジェクトの色を変化させてもよい。
【0065】
(5)サイズ
サイズ185は、当該表示オブジェクトのサイズを表す。図5の例では、表示オブジェクトのサイズは、既定のサイズからの倍率(%)により表されている。出力画像生成部170は、例えば、各ユーザの撮像装置104からの距離に応じて、各ユーザに関連付けられる表示情報を表示するための表示オブジェクトのサイズを決定する。本実施形態において、出力画像生成部170は、撮像装置104からの距離そのものを測定する代わりに、撮像装置104からの距離に応じたパラメータとして、各ユーザの顔領域のサイズを使用することができる。顔領域のサイズは、例えば、顔領域に属すると認識された画素数により表されてもよく、又は顔領域を囲むバウンディングボックスの面積により表されてもよい。より具体的には、出力画像生成部170は、例えば、顔領域のサイズがより大きいユーザと関連付けられる表示情報のための表示オブジェクトのサイズをより大きく設定する。但し、表示オブジェクトのサイズの上限値が予め定義されてよい。その場合、出力画像生成部170は、所定の距離以上撮像装置104に近付いたユーザの表示オブジェクトのサイズがその上限値を超えないように、表示オブジェクトのサイズを設定する。
【0066】
(6)表示位置
表示位置186は、当該表示オブジェクトの表示位置、即ち、当該表示オブジェクトが重畳される画像内の位置を表す2次元座標である。本実施形態では、出力画像生成部170は、ユーザの顔領域を基準点として、予め定義されるオフセットを有する位置に各表示オブジェクトの中心(又は所定のコーナーなど)を配置する。
【0067】
図7は、本実施形態における表示オブジェクトの表示位置について説明するための説明図である。図7を参照すると、ユーザの顔領域の重心位置P0が示されている。位置P0は、表示オブジェクトの表示位置を決定するためのオフセットの基準点である。出力画像生成部170は、例えば、あるユーザと関連付けられる表示情報の数が1つである場合には、当該表示情報を表示する表示オブジェクトの表示位置を、位置P1とする。また、出力画像生成部170は、例えば、あるユーザと関連付けられる表示情報の数が複数である場合には、第2、第3、及び第4の表示情報のための表示位置を、それぞれ位置P2、P3及びP4とする。位置P0と位置P1、P2、P3及びP4との間のオフセットは、それぞれ予め定義される。本明細書では、これら表示位置を「既定の表示位置」という。なお、図7に示したこれら既定の表示位置は一例に過ぎない。
【0068】
また、表示オブジェクトのタイプが図6Bに例示したタイプObj3である場合には、表示オブジェクトの既定の表示位置は、例えば位置P5であってよい。また、表示オブジェクトのタイプが図6Dに例示したタイプObj5である場合には、表示オブジェクトの既定の表示位置は、例えば位置P6及びP7であってもよい。
【0069】
(7)透過率
図5における透過率187は、当該表示オブジェクトの透過率を表す。表示オブジェクトに透過率が設定されることで、複数の表示オブジェクトが重ねて重畳される場合にも、ユーザは背面の表示オブジェクトを視認することができる。本実施形態において、出力画像生成部170は、認識部130により認識される各ユーザについて、入力画像内に映っている時間の長さ(以下、滞在時間という)又は移動速度を計測する。そして、出力画像生成部170は、表示情報を表示する表示オブジェクトの透過率を、当該表示情報に関連付けられるユーザについて計測した滞在時間又は移動速度に応じて設定する。
【0070】
図8Aは、出力画像生成部170による透過率設定処理の一例について説明するための説明図である。図8Aの例では、出力画像生成部170は、ユーザの画像内での滞在時間に応じて、当該ユーザと関連付けられる表示オブジェクトの透過率を設定する。
【0071】
図8Aの横軸は、時間軸(時間T)である。縦軸は、破線で示される滞在時間St及び実線で示される透過率Trの大きさを表す。図8Aの例において、時間T0に画像内に現れたユーザが継続して画像内に留まることにより、当該ユーザの滞在時間Stが時間軸に沿って線形的に増加している。一方、時間T0における表示オブジェクトの透過率Trは100%である。即ち、ユーザが画像内に現れた瞬間には、表示オブジェクトは視認されない。そして、滞在時間Stが増加するにつれて、表示オブジェクトの透過率Trは減少する。即ち、ユーザが画像内に留まっている間、表示オブジェクトは徐々に濃く現れる。そして、時間T1において表示オブジェクトの透過率Trが20%になると、出力画像生成部170は、透過率Trの減少を停止する。これは、背面に重なる表示オブジェクトを少なくともある程度視認可能とするためである。
【0072】
ここで、ユーザの画像内での滞在時間の長さは、そのユーザの画像処理システム1により提供されるコミュニケーションに対する興味の強さ又は貢献度の大きさを表していると考えることができる。従って、滞在時間の長いユーザほど表示オブジェクトの透過率を低く設定することで、興味の強いユーザ又は貢献度の大きいユーザを優先的にコミュニケーションに関与させることができる。また、滞在時間の短いユーザについて表示オブジェクトの透過率を高く設定することで、例えば、偶然撮像装置104の前を通過したユーザについての不要な表示情報が画像内に強く現れることが回避される。なお、出力画像生成部170は、ここで説明した滞在時間の代わりに、例えばユーザによる利用開始後の経過時間などを用いてもよい。
【0073】
図8Bは、出力画像生成部170による透過率設定処理の他の例について説明するための説明図である。図8Bの例では、出力画像生成部170は、ユーザの画像内での移動速度に応じて、当該ユーザと関連付けられる表示オブジェクトの透過率を設定する。
【0074】
図8Bの横軸は、時間軸(時間T)である。縦軸は、破線で示される移動速度Mv及び実線で示される透過率Trの大きさを表す。図8Bの例において、時間T0に画像内に現れたユーザの移動速度はMv1である。このとき、表示オブジェクトの透過率Trは100%である。その後、時間T0からT2にかけてユーザの移動速度は減少し、時間T2以降ユーザの移動速度は増加している。透過率Trは、このような移動速度Mvの変化に追随し、時間T0からT2にかけて減少した後、時間T2以降増加する。
【0075】
ここで、画像処理システム1により提供されるコミュニケーションに強い興味を抱いているユーザは、撮像装置104の前に留まるものと考えられる。従って、ユーザの移動速度が小さいほど表示オブジェクトの透過率を低く設定することで、そのようなユーザを優先的にコミュニケーションに関与させることができる。また、この場合にも、偶然撮像装置104の前を通過したユーザについての不要な表示情報が画像内に強く現れることが回避される。なお、出力画像生成部170は、ユーザの移動速度を、例えば顔領域の重心位置のフレーム間の移動量から算出することができる。
【0076】
また、出力画像生成部170は、ユーザの滞在時間及び移動速度の双方に応じて、表示オブジェクトの透過率を設定してもよい。例えば、出力画像生成部170は、ユーザの移動速度が増加した場合にも、当該ユーザの滞在時間が所定の閾値以上に長いときには、ユーザの透過率を低く維持してもよい。それにより、画像内でのユーザの一時的な移動によって当該ユーザの表示オブジェクトが視認困難となることが回避される。なお、出力画像生成部170は、例えば、移動速度が所定の閾値以下である静止状態の時間の長さと、移動速度が当該閾値を上回る移動状態の時間の長さとを各ユーザについて計測し、これら2つの時間の長さの比に応じて、表示オブジェクトの透過率を設定してもよい。
【0077】
また、出力画像生成部170は、所定のジェスチャを行ったユーザの表示オブジェクトの透過率を一時的に減少させてもよい。例えば、手を挙げるジェスチャ又は手を振るジェスチャなどが、透過率の減少に対応付けられ得る。それにより、例えば、登場して間もない(即ち、滞在時間が短い)ながらも、コミュニケーションに強い興味を抱いているユーザを、より容易にコミュニケーションに参加させることができる。
【0078】
(8)レイヤ
図5におけるレイヤ188は、当該表示オブジェクトの表示オブジェクト間の重畳の順序を表す。図5の例では、表示オブジェクトD01A及びD02Aのレイヤは1、表示オブジェクトD01Bのレイヤは2、表示オブジェクトD01Cのレイヤは3である。従って、出力画像生成部170は、表示オブジェクトD01A及びD02Aを最前面のレイヤに、表示オブジェクトD01Bを次のレイヤに、表示オブジェクトD01Cを最背面のレイヤに重畳する。
【0079】
出力画像生成部170は、このような各表示オブジェクトのレイヤを、各ユーザについての撮像装置104からの距離に応じたパラメータに基づいて決定する。本実施形態において、撮像装置104からの距離に応じたパラメータとは、上述した顔領域のサイズであってよい。なお、かかる例に限定されず、例えば、測距センサにより測定される距離又はマイクロフォンを介して入力される音声の大きさなどが、上記パラメータとして使用されてもよい。そして、出力画像生成部170は、上記パラメータにより表される距離がより小さいユーザに関連付けられる表示情報を表示する表示オブジェクトのレイヤを、より小さい値に設定する(即ち、より前面に配置する)。
【0080】
図9A及び図9Bは、レイヤ設定処理の一例について説明するための説明図である。
【0081】
図9Aを参照すると、スクリーン107の前に3人のユーザUa〜Ucが存在する。ユーザUa、Ub及びUcのスクリーン107からの距離は、それぞれD1、D2及びD3である。このうち、距離D1が最も小さく、距離D3が最も大きい。このような状況において、入力画像には、ユーザUaの顔領域が最も大きく映る。ユーザUbの顔領域の大きさは2番目であり、ユーザUcの顔領域の大きさは最も小さい。図9Aの例では、ユーザUa、Ub及びUcの顔領域の大きさは、それぞれ、1000画素、800画素及び400画素である。そこで、出力画像生成部170は、ユーザUaと関連付けられる表示オブジェクトのレイヤを1、ユーザUbと関連付けられる表示オブジェクトのレイヤを2、ユーザUcと関連付けられる表示オブジェクトのレイヤを3と設定する。
【0082】
このように、顔領域のサイズが大きいユーザについての表示オブジェクトをより前面に重畳することで、表示オブジェクトが混雑している場合にも、距離感に合わせた自然な表示を簡易に実現することができる。また、コミュニケーションに関与したいユーザをよりスクリーン107の近くに導くことも可能となる。
【0083】
また、出力画像生成部170は、例えば、所定のジェスチャ若しくは所定の表情をしているユーザ、又は発話中のユーザに関連付けられる表示オブジェクトのレイヤを、ユーザの撮像装置104からの距離に関わらず一時的に前面に設定してもよい。所定のジェスチャとは、例えば、手を挙げるジェスチャ又は手を振るジェスチャなどであってよい。また、所定の表情とは、笑顔などであってよい。図9Bの例では、手を振るジェスチャをしているユーザUcのレイヤが、スクリーン107からの距離が最も遠いにも関わらず、一時的に1に設定されている。このような処理により、スクリーン107に近い位置を占めるユーザばかりがコミュニケーションに強く関与することなく、コミュニケーションへの参加を希望する様々なユーザにコミュニケーションの機会を広く与えることができる。
【0084】
[2−3.出力画像の例]
図10は、本実施形態において画像処理装置100から出力される出力画像の一例を示す説明図である。図10を参照すると、一例としての出力画像Im11が示されている。出力画像Im11には、3人のユーザUa、Ub及びUcが映っている。また、ユーザUaの近傍には、表示オブジェクト12a及び13aが重畳されている。ユーザUbの近傍には、表示オブジェクト12bが重畳されている。ユーザUcの近傍には、表示オブジェクト12cが重畳されている。しかし、画像内でユーザUa、Ub及びUcが互いに近くに位置しているため、点線枠に囲まれた領域内で表示オブジェクトが混雑し、表示オブジェクト13a、12b及び12cが互いに重なっている。
【0085】
図10の右下の部分画像Im12は、出力画像Im11の中の上述した点線枠内の部分画像の拡大図である。部分画像Im12において、表示オブジェクト13aが最前面に重畳されている。また、表示オブジェクト13aの背面に表示オブジェクト12b、表示オブジェクト12bの背面に表示オブジェクト12cがそれぞれ重畳されている。即ち、スクリーン107に最も近い位置で積極的にコミュニケーションに関与しているユーザUaについての情報が、優先的に出力画像Im11において表示されていることが理解される。また、画像内を右から左へ横切っているユーザUcの表示オブジェクト12cの透過率は高く設定されている。それにより、コミュニケーションに関与しない可能性の高いユーザUcについての情報が他の情報の視認性を阻害することが防止される。
【0086】
[2−4.処理の流れ]
図11は、本実施形態に係る画像処理装置100による画像処理の主な流れの一例を示すフローチャートである。
【0087】
図11を参照すると、まず、画像取得部110は、撮像装置104により撮像される入力画像を取得する(ステップS102)。そして、画像取得部110は、取得した入力画像を認識部130及び出力画像生成部170へ出力する。
【0088】
次に、認識部130は、入力画像に映るユーザの顔領域及び手領域を検出する(ステップS104)。次に、認識部130は、例えば、検出した各顔領域の画像特徴量とデータベース102に記憶されている既知のユーザの画像特徴量とを照合することにより、入力画像に映る個々のユーザを特定する(ステップS106)。また、認識部130は、例えば、音声取得部120により取得される入力音声から検出される音声特徴量及び音源方向を追加的に用いて、個々のユーザを特定してもよい。
【0089】
次に、情報取得部150は、認識部130により認識された各ユーザと関連付けて表示すべき表示情報を、データベース102、端末装置105又は外部の情報源などから取得する(ステップS108)。
【0090】
次に、出力画像生成部170は、認識部130により認識された各ユーザの画像内での滞在時間又は移動速度を計測する(ステップS110)。そして、出力画像生成部170は、計測した滞在時間又は移動速度に基づいて、情報取得部150により取得された表示情報を表示する表示オブジェクトの透過率を設定する(ステップS112)。また、出力画像生成部170は、各ユーザの顔領域のサイズを撮像装置104との距離に応じたパラメータとして用いて、各表示オブジェクトのサイズ及びレイヤを設定する(ステップS114)。ここで、出力画像生成部170は、例えば認識部130により認識されるユーザの表情、ジェスチャ又は発話状態に応じて、表示オブジェクトの透過率又はレイヤを変化させてもよい。さらに、出力画像生成部170は、各表示オブジェクトの表示位置及び色などのその他の属性を設定する(ステップS116)。
【0091】
次に、出力画像生成部170は、設定した表示オブジェクトの属性に従って、入力画像に表示オブジェクトを重畳することにより、出力画像を生成する(ステップS118)。そして、出力画像生成部170は、生成した出力画像を表示装置106へ出力し、出力画像を表示させる(ステップS120)。
【0092】
[2−5.第1の実施形態のまとめ]
ここまで、図1〜図11を用いて、本発明の第1の実施形態について説明した。本実施形態によれば、各ユーザに関連付けられる情報を入力画像に重畳することにより出力画像が生成される拡張現実の画像内で、情報が混雑する状況において、各ユーザの撮像装置からの距離に応じて表示情報の奥行き方向の配置が決定される。それにより、距離感に合わせた自然な表示が実現されるため、ユーザは、どの表示情報がどのユーザに関する情報であるかを容易に理解することができる。また、コミュニケーションに関与したいユーザをより画面の近くに導くことが可能となり、コミュニケーションがより活性化することが期待される。
【0093】
また、本実施形態によれば、画像内でのユーザの滞在時間又は移動速度に応じて、表示オブジェクトの透過率が設定される。それにより、コミュニケーションへの興味が強いユーザ、又はコミュニケーションへの貢献度の高いユーザについての情報を、より視認し易いようにユーザに呈示することができる。また、コミュニケーションに関与しないユーザについての情報の存在により、他の情報の視認性が阻害されることを防止することができる。また、本実施形態によれば、表示情報の取得経路又は情報入力のために利用された入力手段などに応じて表示オブジェクトの形状が変化するため、ユーザが表示情報の種類をより直感的かつ的確に理解することが可能となる。
【0094】
<3.第2の実施形態の説明>
上述した第1の実施形態では、画像内で表示情報が混雑する状況において、複数の表示情報が互いに重なる場合にも分かり易く情報が呈示される。第1の実施形態では、各表示情報は、原則として既定の表示位置に表示される。これに対し、本節で説明する第2の実施形態では、表示情報の表示位置を適応的に決定することにより、表示情報の重なりによる視認性の低下を抑制する。
【0095】
第2の実施形態に係るシステムの構成は、図1を用いて説明した画像処理システム1の構成と同様であってよい。
【0096】
[3−1.画像処理装置の構成例]
図12は、本発明の第2の実施形態に係る画像処理装置200の構成の一例を示すブロック図である。図12を参照すると、画像処理装置200は、画像取得部110、音声取得部120、認識部130、情報取得部150、重み決定部260、及び出力画像生成部270を備える。第1の実施形態に係る画像処理装置100と同様、認識部130は、画像認識部134、音声認識部138及び個人認識部142を含む。
【0097】
(重み決定部)
重み決定部260は、認識部130により認識されるユーザごとの重みを決定する。本実施形態において、ユーザの「重み」とは、そのユーザの表示上の優先度に類似する概念であり、「重み」が大きいユーザについての表示情報ほど、優先的に既定の表示位置の近くに配置される。例えば、重み決定部260は、入力画像内に映っている時間の長さ、即ち滞在時間に応じて、ユーザごとの重みを決定してもよい。また、重み決定部260は、ユーザの属性情報を用いてユーザごとの重みを決定してもよい。より具体的には、例えば、重み決定部260は、特定の性別(女性など)又は特定の年齢層(10歳未満の子供又は70歳を超える高齢者など)に属するユーザの重みが他のユーザの重みよりも大きくなるように、ユーザごとの重みを決定してもよい。
【0098】
図13は、重み決定部260による重み決定処理の一例について説明するための説明図である。図13の横軸は、時間軸(時間T)である。縦軸は、破線で示される滞在時間St及び実線で示される重みWの大きさを表す。なお、図13の例では、重みWは、ユーザの属性に応じて、子供(例えば10歳未満)についての重みWk、女性についての重みWf及び男性についての重みWmの3種類に分けられる。滞在時間Stは、時間T0に画像内に現れたユーザが継続して画像内に留まることにより、時間軸に沿って線形的に増加する。重みWmは、時間T0からT3までの間滞在時間Stに比例して線形的に増加し、時間T3以降は一定の値となる。重みWfもまた、時間T0からT3までの間線形的に増加し、時間T3以降は一定の値となる。但し、重みWfは、重みWmよりも全ての時間にわたってdWだけ大きい。重みWkは、時間T0からT4までの間線形的に増加し、時間T4以降は一定の値となる。重みWkは、時間T0からT3までの間、重みWfよりも大きい。重み決定部260は、例えば、こうしたユーザの滞在時間及び属性に応じた重みの算出のためのグラフ又は算出式を予め記憶し、そのグラフ又は算出式に従ってユーザごとの重みを決定する。
【0099】
このように、特定の属性を有するユーザの重みを他のユーザよりも大きくすることで、コミュニケーションに積極的に関与することが期待されるユーザを優先的に扱い、又は特定の属性を有するユーザに注目を集めることができる。また、レディファースト又は高齢者優先など、一般社会でコミュニケーションにいて尊重される考え方をシステムに取り入れることも可能となる。なお、優先的に扱われるユーザは、例えば、会費を支払っている会員ユーザなどであってもよい。
【0100】
(出力画像生成部)
出力画像生成部270は、情報取得部150により取得される表示情報を画像取得部110から入力される入力画像に重畳することにより、出力画像を生成する。より具体的には、出力画像生成部270は、まず、情報取得部150により取得される表示情報を表示する表示オブジェクトの属性を決定する。表示オブジェクトの属性は、図5の例と同様、形状、色、サイズ、表示位置、透過率、及びレイヤなどに関するデータを含む。表示オブジェクトの形状、色、サイズ、透過率、及びレイヤの決定の考え方は、上述した第1の実施形態と同様であってよい。
【0101】
本実施形態において、出力画像生成部270は、重み決定部260により決定されるユーザごとの重みに基づいて、各ユーザに関連付けられる表示情報の表示位置(即ち、各表示オブジェクトの表示位置)を決定する。より具体的には、例えば、出力画像生成部270は、重みがより大きいユーザに関連付けられる表示オブジェクトほど既定の表示位置からの変位がより小さくなるように、各表示オブジェクトの表示位置を決定する。そして、出力画像生成部270は、決定した当該表示位置において各表示オブジェクトを入力画像に重畳することにより、出力画像を生成する。
【0102】
本実施形態においては、表示位置の決定に際して、ユーザの重み及び既定の表示位置からの変位に依存する「引力」という概念が用いられる。さらに、表示位置決定処理の第1の例では、あるユーザの表示情報の既定の表示位置と他のユーザの表示情報の既定の表示位置との間の距離に依存する「斥力」という概念も導入される。
【0103】
(1)表示位置決定処理の第1の例
図14A〜図14Cは、出力画像生成部270による表示位置決定処理の第1の例について説明するための説明図である。表示位置決定処理の第1の例において、出力画像生成部270は、各表示情報についての上記斥力と上記引力とが平衡するように、各表示情報を表示する表示オブジェクトの表示位置を決定する。
【0104】
図14Aを参照すると、ユーザUxの表示オブジェクトDO1及び他のユーザの表示オブジェクトDO2が示されている。一例として、表示オブジェクトDO1の既定の表示位置DP1と表示オブジェクトDO2の既定の表示位置DP2との間の距離d1,2=120(単位は画素)である。また、ユーザUxの重みW1=20である。
【0105】
ここで、例えば、表示オブジェクトDO1に作用する斥力R1を、距離d1,2と所定の定数C(以下、斥力定数という。一例として、C=50とする)との積であると定義する。すると、斥力R1=d1,2×C=6000である。一方、表示オブジェクトDO1に作用する引力G1を、例えば、ユーザUxの重みW1と表示オブジェクトDO1の既定の表示位置DP1からの変位d1との積であると定義する。すると、引力G1と斥力R1との平衡状態(即ちG1=R1)において、表示オブジェクトDO1の変位d1=G1/W1=R1/W1=6000/20=300と導かれる。そこで、出力画像生成部270は、例えば、位置DP1と位置DP2とを結ぶ直線上で位置DP1から距離300(位置DP2とは反対の方向に)の位置NP1を、表示オブジェクトDO1の新たな表示位置と決定する。また、表示オブジェクトDO2の新たな表示位置も同様に決定され得る。
【0106】
図14Aの例では、2つの表示オブジェクトが重なり合う場合について説明した。これに対し、3つ以上の表示オブジェクトが重なり合う場合には、出力画像生成部270は、斥力の合力を計算過程で考慮することで、表示オブジェクトの表示位置を決定することができる。
【0107】
図14Bを参照すると、ユーザUxの表示オブジェクトDO1、並びに他のユーザの表示オブジェクトDO2及びDO3が示されている。ここで、表示オブジェクトDO2の既定の表示位置DP2から表示オブジェクトDO1の既定の表示位置DP1へのベクトルをVd1,2とする。また、表示オブジェクトDO3の既定の表示位置DP3から表示オブジェクトDO1の既定の表示位置DP1へのベクトルをVd1,3とする。すると、表示オブジェクトDO1に作用する斥力R1は、C×Vd1,2とC×Vd1,3とのベクトル和により表される。そして、平衡状態では、引力G1+斥力R1=0である。そのため、出力画像生成部270は、斥力R1をユーザUxの重みで除することにより、表示オブジェクトDO1の既定の表示位置DP1からの変位d1を算出することができる。そして、変位d1を既定の表示位置DP1に加えることで、表示オブジェクトDO1の新たな表示位置NP1が決定される。
【0108】
図14A及び図14Bの例では、2つの表示オブジェクトの既定の表示位置を結ぶ直線に沿って個々の(合成前の)斥力が作用するものとして説明した。その代わりに、斥力は、例えば(画像内の)上下方向など、予め決められた限定的な方向にのみ作用するものと規定されてもよい。
【0109】
図14Cを参照すると、ユーザUxの表示オブジェクトDO1及び他のユーザの表示オブジェクトDO2が示されている。ここで、表示オブジェクトDO2の既定の表示位置DP2から表示オブジェクトDO1の既定の表示位置DP1へのベクトルVd1,2は、右上方向へ向いている。但し、図14Cの例では、斥力は上下方向のみに作用すると規定されているものとする。その結果、斥力R1は、位置DP1から上へ向かう直線に沿って作用する。この場合、表示オブジェクトDO1の既定の表示位置DP1からの変位d1もまた、右上方向ではなく上方向へ向かうベクトルとなる。その結果、表示オブジェクトDO1は、既定の表示位置から上方向へ移動する。同様に、表示オブジェクトDO2は、既定の表示位置から下方向へ移動する。この場合は、各表示オブジェクトのユーザとの相対的な位置関係が左右方向には変化しないため、出力画像を見るユーザにとって、表示オブジェクトとユーザとの対応関係を理解することが容易である。
【0110】
なお、ここでは、斥力を斥力定数と表示オブジェクト間の距離との積であると定義したが、かかる例に限定されず、他の斥力の定義が使用されてもよい。例えば、斥力そのものが定数であってもよく、又は斥力は表示オブジェクト間の距離の2乗に比例してもよい。また、表示情報の種類によって異なる斥力が定義されてもよい。
【0111】
また、表示オブジェクトの既定の表示位置の間の距離の代わりに、表示オブジェクトの外周上の点(最も近い点)の間の距離に応じた斥力を定義することで、表示オブジェクトが部分的に重なる可能性を排除することができる。また、表示オブジェクトの外周の周囲に緩衝領域を設け、緩衝領域の縁部の間の距離に応じた斥力を定義することで、表示オブジェクトの間に間隙を作ることもできる。さらに、出力画像の外周(ウィンドウ枠)からの斥力を定義し、表示オブジェクトの作用する引力と斥力との平衡状態の式にウィンドウ枠からの斥力を算入してもよい。
【0112】
また、ここでは、ユーザの重みと表示オブジェクトの変位との積を引力とするいわゆるバネ系の定義を利用して表示オブジェクトの変位を算出する例を説明した。しかしながら、その代わりに、例えばバネ・マス・ダンパー系の定義を利用してもよい。その場合、表示オブジェクトの加速度の係数(質量)及び速度の係数(減衰定数)は、ユーザの属性又は表示情報の種類に応じて与えられ得る。それにより、互いにぶつかった表示オブジェクトが時間軸に沿って揺れ動く(及びその揺れが次第に収まる)ような演出効果を生み出すことができる。
【0113】
(2)表示位置決定処理の第2の例
図15は、出力画像生成部270による表示位置決定処理の第2の例について説明するための説明図である。表示位置決定処理の第2の例において、出力画像生成部270は、例えば、複数の表示オブジェクトに作用する引力が平衡するように、当該複数の表示オブジェクトの表示位置を決定する。この場合、上述した斥力の概念は利用されない。
【0114】
図15を参照すると、ユーザUxの表示オブジェクトDO4及びユーザUyの表示オブジェクトDO5が示されている。一例として、表示オブジェクトDO4の既定の表示位置DP4と新たな表示位置NP4との間の距離d4=40である。また、表示オブジェクトDO5の既定の表示位置DP5と新たな表示位置NP5との間の距離d5=80である。また、ユーザUxの重みW5=50、ユーザUyの重みW4=100である。ここで、表示位置決定処理の第2の例と同様、引力の大きさをユーザの重みと表示オブジェクトの既定の表示位置からの変位との積であると定義すると、表示オブジェクトDO4に作用する引力G4=W4×d4=4000である。また、表示オブジェクトDO5に作用する引力G5=W5×d5=4000である。即ち、引力G4と引力G5とは上記新たな表示位置において平衡状態にある。出力画像生成部270は、例えば、複数の表示オブジェクトについてこのような引力の平衡状態が生じる表示位置を探索し、探索結果として得られる表示位置を当該複数の表示オブジェクトの表示位置として決定してもよい。この場合にも、表示位置決定処理の第1の例と同様、重みがより大きいユーザに関連付けられる表示オブジェクトほど、既定の表示位置からの変位がより小さくなる。
【0115】
(3)表示上の制約
なお、出力画像生成部270は、上述した表示位置決定処理により決定した表示オブジェクトの新たな表示位置が表示上の制約を満たさない場合には、表示オブジェクトの表示位置をさらに変更し、又は表示オブジェクトの表示位置を既定の表示位置に設定してもよい。表示上の制約とは、例えば、表示オブジェクトが画面外にはみださないこと、及び表示オブジェクトがユーザ(全てのユーザ、又は所定の閾値以上の重みを有するユーザなど)の顔に重ならないこと、などを含む。例えば、表示オブジェクトを既定の表示位置に重畳する場合には、複数の表示オブジェクトが互いに重なる可能性が高まる。しかし、複数の表示オブジェクトが互いに重なる場合には、第1の実施形態において説明した手法に従って出力画像生成部270が表示情報のサイズ、奥行き方向の配置及び透明度などを制御するため、表示情報の分かり易さの低下は軽減される。
【0116】
[3−2.出力画像の例]
図16は、本実施形態において画像処理装置200から出力される出力画像の一例を示す説明図である。図16を参照すると、一例としての出力画像Im21が示されている。出力画像Im21には、3人のユーザUa、Ub及びUcが映っている。図16の例において、ユーザUa及びUbは入力画像内に比較的長い時間映っており、互いにコミュニケーションを続けているものとする。一方、ユーザUcは、一時的に通りかかったユーザであるとする。
【0117】
ユーザUaの近傍には、表示オブジェクト12a及び13aが重畳されている。ユーザUbの近傍には、表示オブジェクト12b及び13bが重畳されている。ユーザUcと関連付けられる表示オブジェクト12cは、ユーザUcからやや離れた上方の表示位置に重畳されている。これら表示オブジェクトは、互いに重なっていない。ここで、本実施形態では、上述したように、重みがより大きいユーザに関連付けられる表示オブジェクトほど既定の表示位置からの変位がより小さくなるように、互いに重なる表示オブジェクトの位置が既定の表示位置から移動される。そのため、滞在時間が長く、重みの大きいユーザUa及びUbの表示オブジェクト13a及び13bは、既定の表示位置からあまり動いていない。これに対し、滞在時間が短く、重みのより小さいユーザUcの表示オブジェクト12cは、表示オブジェクト13a及び13bを避けるように上方へ移動している。それにより、ユーザUa及びUbの間のコミュニケーションは、一時的に通りかかったユーザUcの表示オブジェクトにより阻害されることなく、円滑に継続され得る。また、ユーザは、どのユーザがどの程度システムを継続して利用しているかを容易に把握することができる。
【0118】
[3−3.処理の流れ]
図17は、本実施形態に係る画像処理装置200による画像処理の主な流れの一例を示すフローチャートである。
【0119】
図17を参照すると、まず、画像取得部110は、撮像装置104により撮像される入力画像を取得する(ステップS202)。そして、画像取得部110は、取得した入力画像を認識部130及び出力画像生成部270へ出力する。
【0120】
次に、認識部130は、入力画像に映るユーザの顔領域及び手領域を検出する(ステップS204)。次に、認識部130は、例えば、検出した各顔領域の画像特徴量とデータベース102に記憶されている既知のユーザの画像特徴量とを照合することにより、入力画像に映る個々のユーザを特定する(ステップS206)。
【0121】
次に、情報取得部150は、認識部130により認識された各ユーザと関連付けて表示すべき表示情報を、データベース102、端末装置105又は外部の情報源などから取得する(ステップS208)。
【0122】
次に、出力画像生成部270は、認識部130により認識された各ユーザの画像内での滞在時間(及び、必要に応じて移動速度)を計測する(ステップS210)。そして、重み決定部260は、出力画像生成部270により計測された各ユーザの滞在時間、及び各ユーザの属性情報に基づいて、ユーザごとの重みを決定する(ステップS211)。
【0123】
次に、出力画像生成部270は、滞在時間又は移動速度に基づいて、情報取得部150により取得された表示情報を表示する表示オブジェクトの透過率を設定する(ステップS212)。また、出力画像生成部270は、各ユーザの顔領域のサイズを撮像装置104との距離に応じたパラメータとして用いて、各表示オブジェクトのサイズ及びレイヤを設定する(ステップS214)。
【0124】
次に、出力画像生成部270は、後により詳しく説明する表示位置決定処理を行い、表示オブジェクトごとの表示位置を決定する(ステップS215)。また、出力画像生成部270は、各表示オブジェクトの色などのその他の属性を設定する(ステップS216)。
【0125】
次に、出力画像生成部270は、設定した表示オブジェクトの属性に従って、入力画像に表示オブジェクトを重畳することにより、出力画像を生成する(ステップS218)。そして、出力画像生成部270は、生成した出力画像を表示装置106へ出力し、出力画像を表示させる(ステップS220)。
【0126】
図18は、図17のステップS215に相当する表示位置決定処理の流れの一例を示すフローチャートである。図18のフローチャートは、図14A〜図14Cを用いて説明した表示位置決定処理の第1の例に対応する。
【0127】
図18を参照すると、まず、出力画像生成部270は、各表示オブジェクトを既定の表示位置に配置する(ステップS252)。次に、出力画像生成部270は、既定の表示位置の間の距離に応じて、各表示オブジェクトに作用する斥力(複数の場合にはその合力)を算出する(ステップS254)。次に、出力画像生成部270は、算出した斥力及びユーザの重みから、表示オブジェクトごとの既定の表示位置からの変位を算出する(ステップS256)。
【0128】
次に、出力画像生成部270は、各表示オブジェクトについて、算出した変位を既定の表示位置に加えることにより導かれる新たな表示位置が表示上の制約を満たすか否かを判定する(ステップS258)。ここで、新たな表示位置が表示上の制約を満たす場合には、出力画像生成部270は、その新たな表示位置に当該表示オブジェクトを配置する(ステップS260)。一方、新たな表示位置が表示上の制約を満たさない場合には、出力画像生成部270は、既定の表示位置を含む他の位置に当該表示オブジェクトを配置する(ステップS262)。
【0129】
図19は、図17のステップS215に相当する表示位置決定処理の流れの他の例を示すフローチャートである。図19のフローチャートは、図15を用いて説明した表示位置決定処理の第2の例に対応する。
【0130】
図19を参照すると、まず、出力画像生成部270は、各表示オブジェクトを既定の表示位置に配置する(ステップS272)。次に、出力画像生成部270は、互いに重なる表示オブジェクトが存在するか否かを判定する(ステップS274)。ここで、互いに重なる表示オブジェクトが存在しない場合には、出力画像生成部270による表示位置決定処理は終了する。一方、互いに重なる表示オブジェクトが存在する場合には、処理はステップS276へ進む。
【0131】
ステップS276において、出力画像生成部270は、ステップS274において互いに重なっていた表示オブジェクトを新たな表示位置に移動させる(ステップS276)。次に、出力画像生成部270は、既定の表示位置からの変位とユーザの重みとに基づいて、表示オブジェクトごとの引力を算出する(ステップS278)。そして、出力画像生成部270は、算出した引力が表示オブジェクト間で平衡状態となったか否かを判定する(ステップS280)。ここで、引力が表示オブジェクト間で平衡状態となった場合には、出力画像生成部270による表示位置決定処理は終了する。一方、引力が表示オブジェクト間で平衡状態となっていない場合には、処理はステップS282へ進む。
【0132】
ステップS282において、出力画像生成部270は、表示上の制約を満たす全ての表示位置を探索済みであるか否かを判定する(ステップS282)。ここで、未探索の表示位置が残っている場合には、処理はステップS276に戻る。一方、表示上の制約を満たす全ての表示位置が探索済みである場合には、出力画像生成部270は、例えば、表示オブジェクトの重なりに関わらず、表示オブジェクトを既定の表示位置に再び配置し(ステップS284)、処理を終了する。
【0133】
[3−4.第2の実施形態のまとめ]
ここまで、図12〜図19を用いて、本発明の第2の実施形態について説明した。本実施形態によれば、ユーザの表示上の優先度に類似する重みが例えば滞在時間又はユーザの属性情報などに応じて決定され、その重みに基づいて、各ユーザに関連付けられる表示情報の表示位置が決定される。それにより、優先度の高いユーザの表示情報が他のユーザの表示情報から阻害又は干渉されないように、表示情報間の重なりを回避することができる。その結果、拡張現実の画像内で情報が混雑する状況において、より分かり易く情報を呈示することが可能となる。
【0134】
また、本実施形態によれば、重みがより大きいユーザに関連付けられる表示情報ほど既定の表示位置からの変位がより小さくなるように、表示情報の表示位置が決定される。それにより、例えば、本実施形態に係るシステムを継続的に利用しているユーザ間のコミュニケーションを一時的に画像内に現れたユーザの表示情報が阻害するリスクも低減される。また、ユーザにシステムをより長く利用させる動機付けを与えることができる。また、重みに基づいて決定される表示位置が表示上の制約を満たさない場合には、第1の実施形態と同様に、表示情報のサイズ、奥行き方向の配置及び透明度などが制御され、表示情報の重なりが許容され得る。それにより、拡張現実の画像内で情報が混雑した場合にも、情報の分かり易さが大きく低下することがない。
【0135】
なお、本明細書において説明した第1及び第2の実施形態に係る一連の処理は、典型的には、ソフトウェアを用いて実現される。一連の処理を実現するソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体に予め格納される。そして、各プログラムは、例えば、実行時にRAM(Random Access Memory)に読み込まれ、CPU(Central Processing Unit)などのプロセッサにより実行される。
【0136】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0137】
1 画像処理システム
100,200 画像処理装置
130 認識部
150 情報取得部
260 重み決定部
170,270 出力画像生成部
【特許請求の範囲】
【請求項1】
撮像装置により撮像される入力画像に映る複数のユーザを認識する認識部と、
前記認識部により認識される各ユーザと関連付けて表示すべき表示情報を取得する情報取得部と、
前記情報取得部により取得される前記表示情報を前記入力画像に重畳することにより出力画像を生成する出力画像生成部と、
を備え、
前記出力画像生成部は、各ユーザについての前記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定する、
画像処理装置。
【請求項2】
前記出力画像生成部は、前記第1の表示情報と前記第2の表示情報とが前記出力画像内で重なる場合において、前記第1のユーザの前記撮像装置からの距離が前記第2のユーザの前記撮像装置からの距離よりも小さい場合に、前記第1の表示情報を前記第2の表示情報の前面に重畳する、請求項1に記載の画像処理装置。
【請求項3】
前記認識部は、前記入力画像に映る各ユーザの顔領域のサイズをさらに認識し、
前記出力画像生成部は、前記認識部により認識される各ユーザの顔領域のサイズを前記パラメータとして使用する、
請求項1に記載の画像処理装置。
【請求項4】
前記出力画像生成部は、
前記認識部により認識される各ユーザについて前記入力画像内に映っている時間の長さ又は移動速度を計測し、
前記入力画像に重畳する前記表示情報の透過率を、当該表示情報に関連付けられるユーザについて計測した前記時間の長さ又は前記移動速度に応じて設定する、
請求項1に記載の画像処理装置。
【請求項5】
前記出力画像生成部は、前記入力画像内に映っている前記時間の長さがより長いユーザの前記表示情報の前記透過率をより低く設定する、請求項4に記載の画像処理装置。
【請求項6】
前記出力画像生成部は、前記移動速度がより小さいユーザの前記表示情報の前記透過率をより低く設定する、請求項4に記載の画像処理装置。
【請求項7】
前記認識部は、各ユーザのジェスチャをさらに認識し、
前記出力画像生成部は、所定のジェスチャを行ったユーザの前記表示情報の前記透過率を一時的に減少させる、
請求項4に記載の画像処理装置。
【請求項8】
前記認識部は、各ユーザのジェスチャ、表情又は発話状態をさらに認識し、
前記出力画像生成部は、所定のジェスチャ若しくは所定の表情をしているユーザ、又は発話中のユーザに関連付けられる表示情報を、前記撮像装置からの距離に関わらず一時的に前面に表示する、
請求項1に記載の画像処理装置。
【請求項9】
前記出力画像生成部は、各ユーザの前記撮像装置からの距離に応じて、各ユーザに関連付けられる前記表示情報の表示サイズを決定する、請求項1に記載の画像処理装置。
【請求項10】
前記情報取得部は、テキスト入力装置を介して入力されるテキストを第1のタイプの表示情報として取得し、音声入力装置を介して入力される音声についての音声認識結果を第2のタイプの表示情報として取得し、
前記出力画像生成部は、前記第1のタイプの表示情報を表示するオブジェクトの形状を思考を象徴する形状に設定し、前記第2のタイプの表示情報を表示するオブジェクトの形状を発話を象徴する形状に設定する、
請求項1に記載の画像処理装置。
【請求項11】
前記情報取得部は、テキスト入力装置又は音声入力装置を介して入力される情報を前記表示情報として取得し、
前記出力画像生成部は、
前記情報取得部により取得される前記表示情報の内容を解析することにより、前記表示情報を、ユーザの思考に対応する第3のタイプの表示情報又はユーザの発話に対応する第4のタイプの表示情報に分類し、
前記第3のタイプの表示情報を表示するオブジェクトの形状を思考を象徴する形状に設定し、前記第4のタイプの表示情報を表示するオブジェクトの形状を発話を象徴する形状に設定する、
請求項1に記載の画像処理装置。
【請求項12】
前記情報取得部は、ユーザにより入力される情報を第5のタイプの表示情報として取得し、及びユーザにより入力される情報又は当該ユーザの属性情報に基づいて外部の情報源から取得される情報を第6のタイプの表示情報として取得し、
前記出力画像生成部は、前記第5のタイプの表示情報と前記第6のタイプの表示情報とを互いに異なる形状を有するオブジェクトで表示する、
請求項1に記載の画像処理装置。
【請求項13】
画像処理装置を制御するコンピュータを、
撮像装置により撮像される入力画像に映る複数のユーザを認識する認識部と、
前記認識部により認識される各ユーザと関連付けて表示すべき表示情報を取得する情報取得部と、
前記情報取得部により取得される前記表示情報を前記入力画像に重畳することにより出力画像を生成する出力画像生成部と、
として機能させるためのプログラムであって、
前記出力画像生成部は、各ユーザについての前記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定する、
プログラム。
【請求項14】
前記出力画像生成部は、前記第1の表示情報と前記第2の表示情報とが前記出力画像内で重なる場合において、前記第1のユーザの前記撮像装置からの距離が前記第2のユーザの前記撮像装置からの距離よりも小さい場合に、前記第1の表示情報を前記第2の表示情報の前面に重畳する、請求項13に記載のプログラム。
【請求項15】
前記認識部は、前記入力画像に映る各ユーザの顔領域のサイズをさらに認識し、
前記出力画像生成部は、前記認識部により認識される各ユーザの顔領域のサイズを前記パラメータとして使用する、
請求項13に記載のプログラム。
【請求項16】
前記出力画像生成部は、
前記認識部により認識される各ユーザについて前記入力画像内に映っている時間の長さ又は移動速度を計測し、
前記入力画像に重畳する前記表示情報の透過率を、当該表示情報に関連付けられるユーザについて計測した前記時間の長さ又は前記移動速度に応じて設定する、
請求項13に記載のプログラム。
【請求項17】
前記出力画像生成部は、前記入力画像内に映っている前記時間の長さがより長いユーザの前記表示情報の前記透過率をより低く設定する、請求項16に記載のプログラム。
【請求項18】
前記出力画像生成部は、前記移動速度がより小さいユーザの前記表示情報の前記透過率をより低く設定する、請求項16に記載のプログラム。
【請求項19】
撮像装置により撮像される入力画像に映る複数のユーザを認識するステップと、
認識された各ユーザと関連付けて表示すべき表示情報を取得するステップと、
各ユーザについての前記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定するステップと、
取得された前記表示情報を前記入力画像に重畳することにより出力画像を生成するステップと、
を含む画像処理方法。
【請求項1】
撮像装置により撮像される入力画像に映る複数のユーザを認識する認識部と、
前記認識部により認識される各ユーザと関連付けて表示すべき表示情報を取得する情報取得部と、
前記情報取得部により取得される前記表示情報を前記入力画像に重畳することにより出力画像を生成する出力画像生成部と、
を備え、
前記出力画像生成部は、各ユーザについての前記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定する、
画像処理装置。
【請求項2】
前記出力画像生成部は、前記第1の表示情報と前記第2の表示情報とが前記出力画像内で重なる場合において、前記第1のユーザの前記撮像装置からの距離が前記第2のユーザの前記撮像装置からの距離よりも小さい場合に、前記第1の表示情報を前記第2の表示情報の前面に重畳する、請求項1に記載の画像処理装置。
【請求項3】
前記認識部は、前記入力画像に映る各ユーザの顔領域のサイズをさらに認識し、
前記出力画像生成部は、前記認識部により認識される各ユーザの顔領域のサイズを前記パラメータとして使用する、
請求項1に記載の画像処理装置。
【請求項4】
前記出力画像生成部は、
前記認識部により認識される各ユーザについて前記入力画像内に映っている時間の長さ又は移動速度を計測し、
前記入力画像に重畳する前記表示情報の透過率を、当該表示情報に関連付けられるユーザについて計測した前記時間の長さ又は前記移動速度に応じて設定する、
請求項1に記載の画像処理装置。
【請求項5】
前記出力画像生成部は、前記入力画像内に映っている前記時間の長さがより長いユーザの前記表示情報の前記透過率をより低く設定する、請求項4に記載の画像処理装置。
【請求項6】
前記出力画像生成部は、前記移動速度がより小さいユーザの前記表示情報の前記透過率をより低く設定する、請求項4に記載の画像処理装置。
【請求項7】
前記認識部は、各ユーザのジェスチャをさらに認識し、
前記出力画像生成部は、所定のジェスチャを行ったユーザの前記表示情報の前記透過率を一時的に減少させる、
請求項4に記載の画像処理装置。
【請求項8】
前記認識部は、各ユーザのジェスチャ、表情又は発話状態をさらに認識し、
前記出力画像生成部は、所定のジェスチャ若しくは所定の表情をしているユーザ、又は発話中のユーザに関連付けられる表示情報を、前記撮像装置からの距離に関わらず一時的に前面に表示する、
請求項1に記載の画像処理装置。
【請求項9】
前記出力画像生成部は、各ユーザの前記撮像装置からの距離に応じて、各ユーザに関連付けられる前記表示情報の表示サイズを決定する、請求項1に記載の画像処理装置。
【請求項10】
前記情報取得部は、テキスト入力装置を介して入力されるテキストを第1のタイプの表示情報として取得し、音声入力装置を介して入力される音声についての音声認識結果を第2のタイプの表示情報として取得し、
前記出力画像生成部は、前記第1のタイプの表示情報を表示するオブジェクトの形状を思考を象徴する形状に設定し、前記第2のタイプの表示情報を表示するオブジェクトの形状を発話を象徴する形状に設定する、
請求項1に記載の画像処理装置。
【請求項11】
前記情報取得部は、テキスト入力装置又は音声入力装置を介して入力される情報を前記表示情報として取得し、
前記出力画像生成部は、
前記情報取得部により取得される前記表示情報の内容を解析することにより、前記表示情報を、ユーザの思考に対応する第3のタイプの表示情報又はユーザの発話に対応する第4のタイプの表示情報に分類し、
前記第3のタイプの表示情報を表示するオブジェクトの形状を思考を象徴する形状に設定し、前記第4のタイプの表示情報を表示するオブジェクトの形状を発話を象徴する形状に設定する、
請求項1に記載の画像処理装置。
【請求項12】
前記情報取得部は、ユーザにより入力される情報を第5のタイプの表示情報として取得し、及びユーザにより入力される情報又は当該ユーザの属性情報に基づいて外部の情報源から取得される情報を第6のタイプの表示情報として取得し、
前記出力画像生成部は、前記第5のタイプの表示情報と前記第6のタイプの表示情報とを互いに異なる形状を有するオブジェクトで表示する、
請求項1に記載の画像処理装置。
【請求項13】
画像処理装置を制御するコンピュータを、
撮像装置により撮像される入力画像に映る複数のユーザを認識する認識部と、
前記認識部により認識される各ユーザと関連付けて表示すべき表示情報を取得する情報取得部と、
前記情報取得部により取得される前記表示情報を前記入力画像に重畳することにより出力画像を生成する出力画像生成部と、
として機能させるためのプログラムであって、
前記出力画像生成部は、各ユーザについての前記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定する、
プログラム。
【請求項14】
前記出力画像生成部は、前記第1の表示情報と前記第2の表示情報とが前記出力画像内で重なる場合において、前記第1のユーザの前記撮像装置からの距離が前記第2のユーザの前記撮像装置からの距離よりも小さい場合に、前記第1の表示情報を前記第2の表示情報の前面に重畳する、請求項13に記載のプログラム。
【請求項15】
前記認識部は、前記入力画像に映る各ユーザの顔領域のサイズをさらに認識し、
前記出力画像生成部は、前記認識部により認識される各ユーザの顔領域のサイズを前記パラメータとして使用する、
請求項13に記載のプログラム。
【請求項16】
前記出力画像生成部は、
前記認識部により認識される各ユーザについて前記入力画像内に映っている時間の長さ又は移動速度を計測し、
前記入力画像に重畳する前記表示情報の透過率を、当該表示情報に関連付けられるユーザについて計測した前記時間の長さ又は前記移動速度に応じて設定する、
請求項13に記載のプログラム。
【請求項17】
前記出力画像生成部は、前記入力画像内に映っている前記時間の長さがより長いユーザの前記表示情報の前記透過率をより低く設定する、請求項16に記載のプログラム。
【請求項18】
前記出力画像生成部は、前記移動速度がより小さいユーザの前記表示情報の前記透過率をより低く設定する、請求項16に記載のプログラム。
【請求項19】
撮像装置により撮像される入力画像に映る複数のユーザを認識するステップと、
認識された各ユーザと関連付けて表示すべき表示情報を取得するステップと、
各ユーザについての前記撮像装置からの距離に応じたパラメータに基づいて、第1のユーザに関連付けられる第1の表示情報及び第2のユーザに関連付けられる第2の表示情報のいずれを前面に重畳するかを決定するステップと、
取得された前記表示情報を前記入力画像に重畳することにより出力画像を生成するステップと、
を含む画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図6D】
【図7】
【図8A】
【図8B】
【図9A】
【図9B】
【図10】
【図11】
【図12】
【図13】
【図14A】
【図14B】
【図14C】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図6D】
【図7】
【図8A】
【図8B】
【図9A】
【図9B】
【図10】
【図11】
【図12】
【図13】
【図14A】
【図14B】
【図14C】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2012−60240(P2012−60240A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−198987(P2010−198987)
【出願日】平成22年9月6日(2010.9.6)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願日】平成22年9月6日(2010.9.6)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]