(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】画像処理装置、画像処理方法および画像処理プログラム
(51)【国際特許分類】
H04N 13/279 20180101AFI20240903BHJP
G06T 7/70 20170101ALI20240903BHJP
G06T 19/00 20110101ALI20240903BHJP
G09G 5/00 20060101ALI20240903BHJP
G09G 5/36 20060101ALI20240903BHJP
H04N 13/305 20180101ALI20240903BHJP
H04N 13/324 20180101ALI20240903BHJP
H04N 13/366 20180101ALI20240903BHJP
G02B 30/27 20200101ALN20240903BHJP
【FI】
H04N13/279
G06T7/70 B
G06T19/00 A
G09G5/00 550C
G09G5/36 500
H04N13/305
H04N13/324
H04N13/366
G02B30/27
(21)【出願番号】P 2021567120
(86)(22)【出願日】2020-12-01
(86)【国際出願番号】 JP2020044755
(87)【国際公開番号】W WO2021131543
(87)【国際公開日】2021-07-01
【審査請求日】2023-11-06
(31)【優先権主張番号】P 2019239640
(32)【優先日】2019-12-27
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】赤尾 雅人
【審査官】石本 努
(56)【参考文献】
【文献】特開2017-199404(JP,A)
【文献】特開2015-210379(JP,A)
【文献】特開平07-185131(JP,A)
【文献】特開2000-020193(JP,A)
【文献】特開2016-045815(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G02B27/00-30/60
G06F3/01
3/048-3/04895
G06T1/00
7/00-7/90
11/60-13/80
17/05
19/00-19/20
G06V10/00-20/90
30/418
40/16
40/20
G09F9/00-9/46
G09G3/00-3/08
3/12
3/16
3/19-3/26
3/30
3/34
3/38-5/42
H04N7/10
7/14-7/173
7/20-7/56
13/00-17/06
21/00-21/858
(57)【特許請求の範囲】
【請求項1】
ディスプレイを視聴するユーザ、および、前記ディスプレイと前記ユーザとの間にある実物体を含む撮像画像を取得する撮像部と、
前記撮像画像を基にして、前記実物体の姿勢を解析し、前記実物体の姿勢を基にして、前記ディスプレイの表示領域のうち、前記実物体により前記ユーザが参照できない遮蔽領域と、前記ユーザが参照可能な非遮蔽領域とを計算する解析部と、
前記非遮蔽領域に、前記実物体の前記姿勢に応じた形状を有する仮想物体の立体画像を表示するように前記ディスプレイを制御する制御部と、
を有する画像処理装置。
【請求項2】
前記解析部は、前記撮像画像を基にして、前記実物体の大きさを計算する処理を更に実行し、
前記制御部は、前記実物体の大きさを基にした大きさを有する前記仮想物体を表示するように前記ディスプレイを制御する、
請求項1に記載の画像処理装置。
【請求項3】
前記解析部は、前記撮像画像を基にして、視聴方向における前記表示領域と前記ユーザとの間の距離を表す第1距離と、前記視聴方向における前記表示領域と前記実物体との間の距離を表す第2距離とを計算し、
前記制御部は、前記第1距離および前記第2距離を基にして、前記仮想物体の大きさを調整する、
請求項1に記載の画像処理装置。
【請求項4】
前記ユーザは、前記ディスプレイを視聴する複数のユーザを含み、
前記遮蔽領域は、前記複数のユーザのそれぞれに対応する複数の遮蔽領域を含み、
前記非遮蔽領域は、前記複数のユーザに共通の前記非遮蔽領域を含み、
前記制御部は、前記共通の非遮蔽領域に、前記立体画像を表示さ
せ、
前記制御部は、前記複数のユーザに共通しない前記非遮蔽領域には、前記立体画像を表示させない、
請求項1に記載の画像処理装置。
【請求項5】
前記制御部は、前記ユーザから見た前記表示領域を基準とした前記実物体と前記仮想物体との距離を基にして、前記仮想物体が前記実物体に遮蔽されるか否かを自動的に切り替える、
請求項1に記載の画像処理装置。
【請求項6】
前記制御部は、前記ユーザの視点位置および前記実物体の動きを基にして、前記仮想物体の運動視差を変化させるように前記ディスプレイを制御する、
請求項1に記載の画像処理装置。
【請求項7】
コンピュータが、
ディスプレイを視聴するユーザ、および、前記ディスプレイと前記ユーザとの間にある実物体を含む撮像画像を取得する撮像部によって取得された前記撮像画像を基にして、前記実物体の姿勢を解析し、
前記実物体の姿勢を基にして、前記ディスプレイの表示領域のうち、前記実物体により前記ユーザが参照できない遮蔽領域と、前記ユーザが参照可能な非遮蔽領域とを計算し、
前記非遮蔽領域に、前記実物体の前記姿勢に応じた形状を有する仮想物体の立体画像を表示するように前記ディスプレイを制御する、
処理を実行する画像処理方法。
【請求項8】
コンピュータを、
ディスプレイを視聴するユーザ、および、前記ディスプレイと前記ユーザとの間にある実物体を含む撮像画像を取得する撮像部によって取得された前記撮像画像を基にして、前記実物体の姿勢を解析し、前記実物体の姿勢を基にして、前記ディスプレイの表示領域のうち、前記実物体により前記ユーザが参照できない遮蔽領域と、前記ユーザが参照可能な非遮蔽領域とを計算する解析部と、
前記非遮蔽領域に、前記実物体の前記姿勢に応じた形状を有する仮想物体の立体画像を表示するように前記ディスプレイを制御する制御部と、
として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【0002】
ディスプレイに立体画像を表示させる様々な技術が提案されている。その中で、眼鏡等のツールを使用しない裸眼立体表示に関する提案もなされている。たとえば、裸眼立体表示に関するディスプレイとして、レンチキュラ方式に代表されるLight Fieldディスプレイがある。
【0003】
Light Fieldディスプレイに立体画像を表示する場合、ユーザの左右それぞれの視点位置を検出し、視点位置に最適な光線を集光し、右目用の画像及び左眼用の画像を生成する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2000-224612号公報
【文献】特開2018-44824号公報
【文献】特開平9-54821号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来技術では、立体画像を表示する処理について改善の余地があった。
【0006】
そこで、本開示では、ユーザに対して立体画像を適切に表示することができる画像処理装置、画像処理方法および画像処理プログラムを提供する。
【課題を解決するための手段】
【0007】
上記の課題を解決するための、本開示に係る一形態の画像処理装置は、ユーザおよび実物体を撮像する撮像部と、前記撮像部に撮像された撮像情報を基にして、前記実物体の姿勢を解析する解析部と、前記実物体の姿勢を基にして、前記実物体に関連する画像の表示を制御する制御部とを備える。
【図面の簡単な説明】
【0008】
【
図1】第1の実施形態に係る画像処理装置の外観例を示す図である。
【
図2】第1の実施形態に係る画像処理装置による立体画像表示の一例を示す図である。
【
図3】第1の実施形態に係るシチュエーションの一例を説明するための図である。
【
図4】第1の実施形態に係る画像処理装置の構成例を示す図である。
【
図5】第1の実施形態に係る解析部の処理を説明するための図である。
【
図6】解析結果テーブルのデータ構造の一例を示す図である。
【
図7】制御ポリシーP1に基づく画像処理装置の処理手順を示すフローチャートである。
【
図8】制御ポリシーP2に基づく制御部の処理を説明するための図である。
【
図9】制御ポリシーP2に基づく画像処理装置の処理手順を示すフローチャートである。
【
図10】制御ポリシーP3に基づく制御部の処理を説明するための図である。
【
図11】制御ポリシーP3に基づく画像処理装置の処理手順を示すフローチャートである。
【
図12】制御ポリシーP3に基づく制御部の処理を説明するための図である。
【
図13】制御ポリシーP4に基づく画像処理装置の処理手順を示すフローチャートである。
【
図14】制御ポリシーP5に基づく制御部の処理を説明するための図(1)である。
【
図15】制御ポリシーP5に基づく制御部の処理を説明するための図(2)である。
【
図16】制御ポリシーP5に基づく画像処理装置の処理手順を示すフローチャートである。
【
図17】制御ポリシーP6に基づく制御部の処理を説明するための図(1)である。
【
図18】制御ポリシーP6に基づく制御部の処理を説明するための図(2)である。
【
図19】制御ポリシーP6に基づく画像処理装置の処理手順を示すフローチャートである。
【
図20】制御ポリシーP7に基づく制御部の処理を説明するための図である。
【
図21】制御ポリシーP7に基づく画像処理装置の処理手順を示すフローチャートである。
【
図22】制御ポリシーP8に基づく制御部の処理を説明するための図である。
【
図23】制御ポリシーP8に基づく画像処理装置の処理手順を示すフローチャートである。
【
図24】第2の実施形態に係るシチュエーションの一例を説明するための図である。
【
図25】第2の実施形態に係る画像処理装置の構成例を示す図(1)である。
【
図26】第2の実施形態に係る画像処理装置の構成例を示す図(2)である。
【
図27】第2の実施形態に係る画像処理装置の処理手順を示すフローチャート(1)である。
【
図28】第2の実施形態に係る画像処理装置の処理手順を示すフローチャート(2)である。
【
図29】第3の実施形態に係るシチュエーションの一例を説明するための図である。
【
図30】第3の実施形態に係る画像処理装置の構成例を示す図である。
【
図31】第3の実施形態に係る端末装置の処理手順を示すフローチャートである。
【
図32】第3の実施形態に係る画像処理装置の処理手順を示すフローチャートである。
【
図33】ユーザが複数人の場合における遮蔽領域および非遮蔽領域の一例を示す図である。
【
図34】その他の実施形態に係る画像処理装置の処理手順を示すフローチャートである。
【
図35】画像処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【0010】
また、以下に示す項目順序に従って本開示を説明する。
1.第1の実施形態
1.1.画像処理装置の外観例
1.2.第1の実施形態に係るシチュエーション
1.3.第1の実施形態に係る画像処理装置の構成
1.4.第1の実施形態に係る画像処理装置の効果
2.第2の実施形態
2.1.第2の実施形態に係るシチュエーション
2.2.第2の実施形態に係る画像処理装置の構成
2.3.第2の実施形態に係る画像処理装置の効果
3.第3の実施形態
3.1.第3の実施形態に係るシチュエーション
3.2.第3の実施形態に係る画像処理装置の構成
3.3.第3の実施形態に係る画像処理装置の効果
4.その他の実施形態
5.ハードウェア構成
6.むすび
【0011】
<1.第1の実施形態>
<<1.1.画像処理装置の外観例>>
図1は、第1の実施形態に係る画像処理装置の外観例を示す図である。画像処理装置100は、ベース2と、ベース2から上方に向かって立設するディスプレイ3とを有している。画像処理装置100は、ディスプレイ3の上側にカメラ(ステレオカメラ)4を有している。カメラ4は、ディスプレイ3の前方に位置する「ユーザ」およびユーザが保持する「実物体」を撮像できるように構成されている。
【0012】
画像処理装置100は、たとえば、レンチキュラ方式による立体画像をディスプレイ3に表示可能とされている。概略的には、立体表示用の眼鏡等を使用していない裸眼のユーザの視点位置を、カメラ4により撮像された画像を使用して検出する。左右それぞれの視点位置に集光する光線で右目用及び左目用の画像(視差画像)を生成し、生成した画像をレンチキュラレンズが実装されたディスプレイ3に表示する。
【0013】
図2は、第1の実施形態に係る画像処理装置による立体画像表示の一例を示す図である。
図2に示すように、画像処理装置100は、カメラ4により撮像された画像を基にして、ユーザの視点位置(左目5a、右目5b)を検出し、左右それぞれの視点位置に集光する光線で右目用及び左目用の画像(視差画像)を生成する。画像処理装置100は、生成した画像をディスプレイ3に表示することで、ユーザは、眼鏡やHUD(Head Up Display)等を用いることなく、立体画像6を見ることが可能となる。
【0014】
<<1.2第1の実施形態に係るシチュエーション>>
図3は、第1の実施形態に係るシチュエーションの一例を説明するための図である。
図3に示すように、画像処理装置100の前方にユーザ10が位置しており、ユーザ10は、実物体11aを保持しているものとする。画像処理装置100は、カメラ4によって、ユーザ10と実物体11aとを含む画像を撮像する。画像処理装置100は、カメラ4が撮像した画像(撮像情報)を基にして、実物体11aに関連する画像(仮想物体11b)を生成し、仮想物体11bの立体画像を、ディスプレイ3に表示させる。画像処理装置100は、ユーザ10が、実物体11aを動かすと、実物体11aの動きに応じて、仮想物体11bの動きを制御する。
【0015】
なお、実物体11aと、仮想物体11bとは形状が完全に同一でなくてもよい。たとえば、実物体11aは、仮想物体11bの一部(顔だけ等)であってもよいし、実物体11aの形状は、仮想物体11bの近似形状であってもよい。なお、実物体11aは、非剛体であってもよく、ユーザ10は、実物体11aの一部の形状を変形させてもよい。
【0016】
<<1.3.第1の実施形態に係る画像処理装置の構成>>
図4は、第1の実施形態に係る画像処理装置の構成例を示す図である。
図4に示すように、この画像処理装置100は、画像撮像部50および画像表示部60に接続される。なお、画像処理装置100は、画像撮像部50および画像表示部60を有していてもよい。
【0017】
画像撮像部50は、撮像範囲に位置するユーザ10およびユーザ10の保持する実物体11aを撮像するステレオカメラである。画像撮像部50は、
図1~
図3に示したカメラ4に対応する。画像撮像部50は、CMOS(Complementary Metal Oxide Semiconductor)センサもしくはCCD(Charge Coupled Device)等の他のイメージセンサーを備える。画像撮像部50は、撮像した画像の情報を、画像処理装置100に出力する。以下の説明では、画像撮像部50が撮像した画像の情報を「撮像情報」と表記する。
【0018】
画像撮像部50は、ステレオカメラであるため、撮像情報には、一方のカメラで撮影した画像と、他方のカメラで撮影した画像とが含まれる。画像撮像部50は、所定のフレームレート(fps:frame per second)で画像を撮像し、撮像する度に、撮像情報を、画像処理装置100に出力する。撮像情報には、時系列にフレーム番号が昇順に付与されてもよい。
【0019】
画像表示部60は、画像処理装置100から出力される情報を基にして立体画像を表示する表示装置である。画像表示部60は、
図1~
図3に示したディスプレイ3に対応する。たとえば、画像表示部60は、
図3で説明した仮想物体11bの立体画像を表示する。
【0020】
画像処理装置100は、視点位置検出部110と、表示画像生成部120と、解析部130と、記憶部140と、制御部150とを有する。
【0021】
視点位置検出部110は、撮像情報を基にして顔検出を行い、ユーザ10の視点位置を検出する処理部である。視点位置検出部110が検出する視点位置には、ユーザ10の左目の位置と、右目の位置とが含まれる。視点位置検出部110は、視点位置の情報を、表示画像生成部120に出力する。視点位置検出部110が、ユーザの顔(顔枠、左目の座標、右目の座標)を検出する方法は、画像の特徴を利用して行う方法等、公知の方法を適用することができる。たとえば、左目の座標、右目の座標は、2次元座標である。
【0022】
表示画像生成部120は、画像表示部60に立体画像を表示させるための情報を生成し、生成した情報を画像表示部60に出力する処理部である。たとえば、表示画像生成部120は、視点位置検出部110から視点位置の情報を取得し、視点位置を示す2次元座標を、公知の手法を適用して空間位置における視点座標(3次元座標)に変換する。
【0023】
表示画像生成部120は、モデルデータ140aおよび制御情報によって決定される立体画像の情報と、空間位置における視点座標との関係から、光線(画像)の情報を生成し、画像表示部60に光線(画像)の情報を出力し、画像表示部60に光線(画像)表示させることで、ユーザ10に立体画像を見せる。
【0024】
ここで、モデルデータ140aは、仮想物体11bの各部位の形状、各部位の色、各部位の基準サイズ等を予め定義した情報であり、記憶部140に格納される。表示画像生成部120は、モデルデータ140aを記憶部140から取得する。
【0025】
制御情報は、姿勢、表示座標が含まれる。姿勢は、仮想物体11bの姿勢である。姿勢をどのように定義してもよいが、たとえば、各部位の基準位置および基準方向との差異が、姿勢として指定される。表示座標は、画像表示部60の表示画面において、仮想物体11bを表示する座標を示すものである。表示画像生成部120は、制御情報を、後述する制御部150から取得する。
【0026】
解析部130は、画像撮像部50から取得する撮像情報を基にして各種の解析を行い、解析結果を制御部150に出力する処理部である。以下において、解析部130が実行する各種の解析処理について説明する。
【0027】
図5は、第1の実施形態に係る解析部の処理を説明するための図である。
図5において、カメラ4は画像撮像部50に対応し、ディスプレイ3は画像表示部60に対応する。ディスプレイ3の上側に、カメラ4が設置されているものとし、ディスプレイ3とユーザ10との距離と、カメラ4とユーザ10との距離は同一であるものとする。カメラ4の内部パラメータや、カメラ4の設置位置(外部パラメータ)は既知であるものとする。
【0028】
解析部130が、「実物体11aを検出する処理」の一例について説明する。解析部130は、撮像情報に含まれる2枚の画像の各部(画素)についてステレオマッチングを行うことで、各画素の距離を算出する。解析部130は、ディスプレイ3からの距離が閾値未満となり、かつ、距離の差が閾値未満となる画素の領域を、実物体11aとして検出する。解析部130は、その他の如何なる公知技術を用いて、撮像情報から、実物体11aを検出してもよい。
【0029】
解析部130が、「実物体11aの姿勢を計算する処理」の一例について説明する。解析部130は、上記の実物体11aを検出する処理によって、撮像情報から実物体11aの領域を検出し、実物体11aの各部位の位置を特定する。解析部130は、特定した各部位の位置と、予め設定された各部位の基準位置および基準方向との差異をそれぞれ、実物体11aの姿勢として算出する。
【0030】
解析部130が、「実物体11aの大きさを計算する処理」の一例について説明する。解析部130は、上記の実物体11aを検出する処理によって、撮像情報から実物体11aの領域を検出する。解析部130は、撮像情報の領域の大きさと、実空間上の大きさとの関係を定義した変換テーブルを用いて、実物体11aの領域の大きさから、実物体11aの実空間上の大きさを計算する。たとえば、解析部130は、実物体11aの実空間上の縦幅H、横幅Wを、実物体11aの大きさとする。
【0031】
解析部130が、「実物体11aの位置を計算する処理」の一例について説明する。解析部130は、上記の実物体11aを検出する処理によって、撮像情報から実物体11aの領域を検出する。解析部130は、実物体11aの領域の重心を実物体11aの座標として検出する。解析部130は、撮像情報上の座標(2次元座標)と、実空間上の位置(3次元座標)との関係を定義した変換テーブルを用いて、撮像情報上の座標から、実物体11aの実空間上の位置を計算する。
【0032】
解析部130が、「遮蔽領域60aと非遮蔽領域60bとを計算する処理」の一例について説明する。解析部130は、撮像情報に含まれる2枚の画像の各部についてステレオマッチングを行うことで、撮像情報に含まれるユーザ10とディスプレイ3との距離、実物体11aとディスプレイ3との距離を算出する。以下の説明では、ユーザ10とディスプレイ3との距離を、「第1距離」と表記する。実物体11aとディスプレイ3との距離を、「第2距離」と表記する。
【0033】
解析部130は、実物体11aの大きさと、ユーザ10の視点位置と、第1距離と、第2距離との幾何学的な関係から、遮蔽領域60aと、非遮蔽領域60bを算出する。遮蔽領域60aは、ディスプレイ3の表示領域のうち、ユーザ10が実物体11aにより見ることができない領域を示す。非遮蔽領域60bは、ディスプレイ3の表示領域のうち、ユーザ10が見ることのできる領域を示す。
【0034】
解析部130は、上記の実物体11aの大きさを計算する処理によって、前記実物体11aの大きさを計算する。解析部130が、ユーザ10の実空間上の視点位置を計算する処理は、視点位置検出部110、表示画像生成部120と同様である。
【0035】
解析部130は、画像撮像部50から撮像情報を取得する度に、上記処理を繰り返し実行し、解析結果を制御部150に出力する。また、解析部130は、解析結果の一部または全部を、記憶部140の解析結果テーブルに登録してもよい。また、解析部130は、撮像情報に含まれる実物体11aの画像を基にして、後述するモデルデータ140aを生成してもよい。
【0036】
記憶部140は、モデルデータ140aおよび解析結果テーブル140bを有する。記憶部140は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
【0037】
モデルデータ140aは、仮想物体11bの各部位の形状、各部位の色、各部位の基準サイズ等を定義した情報(3Dモデル)である。記憶部140には、仮想物体11b以外のモデルデータが含まれていてもよく、表示画像生成部120は、いずれかのモデルデータを選択してもよい。
【0038】
解析結果テーブル140bは、解析部130による解析結果を保持するテーブルである。
図6は、解析結果テーブルのデータ構造の一例を示す図である。
図6に示すように、この解析結果テーブル140bは、フレーム番号と、位置と、視点位置と、大きさと、姿勢と、遮蔽領域と、非遮蔽領域とを有する。
【0039】
図6において、フレーム番号は、撮像情報に付与されるフレーム番号であり、撮像情報を一意に識別する情報である。同一のフレーム番号に対応するレコード(位置、視点位置、大きさ、姿勢、遮蔽領域、非遮蔽領域)は、同一の撮像情報を解析することで得られる情報である。
【0040】
図6において、位置は、実物体11aの実空間上の位置(3次元座標)を示すものである。視点位置は、ユーザ10の実空間上の視点位置(左目の座標、右目の座標)を示すものである。大きさは、実物体11aの実空間上の大きさを示すものであり、縦幅H、横幅Wで表記する。姿勢は、実物体11aの姿勢を示すものであり、実物体11aから検出される各部位の位置および方向と、予め設定された各部位の基準位置および基準方向との差異θによって表記する。
【0041】
図6において、遮蔽領域は、
図5の遮蔽領域60aに対応するものであり、遮蔽領域60aの左上の座標と、右下の座標によって示される。非遮蔽領域は、
図5の非遮蔽領域60bに対応するものであり、非遮蔽領域60bの左上の座標と、右下の座標によって示される。
【0042】
図4の説明に戻る。制御部150は、解析部130の解析結果を基にして、制御情報を生成し、生成した制御情報を表示画像生成部120に出力する処理部である。制御部150には、複数の制御ポリシーが用意されており、ユーザ10は所望する制御ポリシーを選択しておくものとする。以下において、各制御ポリシーP1~P8に基づく、制御部150の処理について個別に説明するが、複数のポリシーを組み合わせた処理を実行してもよい。
【0043】
(制御ポリシーP1:姿勢を合わせる)
制御部150は、制御ポリシーP1が選択されている場合、実物体11aの姿勢と、画像表示部60に表示される立体画像(仮想物体11b)の姿勢とを合わせる制御を行う。たとえば、制御部150は、解析部130から実物体11aの姿勢(θ)を取得し、取得した姿勢を、制御情報に設定して、表示画像生成部120に出力する。表示画像生成部120は、モデルデータ140aに設定された姿勢を、制御情報に設定された姿勢に合わせる調整を行い、調整を行ったモデルデータ140aを用いて、立体画像を画像表示部60に表示させる。また、制御部150は、ユーザ10の視点位置を基にして、ユーザ10の位置から実物体11aと仮想物体11bとの姿勢が同じに見えるように仮想物体11bの姿勢を決めることができる。
【0044】
(制御ポリシーP1に基づく画像処理装置の処理手順)
図7は、制御ポリシーP1に基づく画像処理装置の処理手順を示すフローチャートである。
図7に示すように、画像処理装置100は、画像撮像部50から撮像情報の取得を開始する(ステップS11)。画像処理装置100の視点位置検出部110は、ユーザ10の視点位置を検出する(ステップS12)。
【0045】
画像処理装置100の解析部130は、ユーザ10が保持する実物体11aを検出する(ステップS13)。解析部130は、実物体11aの姿勢(θ)を計算する(ステップS14)。画像処理装置100の制御部150は、実物体11aの姿勢に合わせた仮想物体11bの姿勢を計算して制御情報を生成する(ステップS15)。
【0046】
画像処理装置100の表示画像生成部120は、モデルデータ140aと制御情報とを基にして、立体画像の情報を生成し、画像表示部60に立体画像を表示させる(ステップS16)。
【0047】
画像処理装置100は、処理を継続する場合には(ステップS17,Yes)、ステップS12に移行する。一方、画像処理装置100は、処理を継続しない場合には(ステップS17,No)、処理を終了する。
【0048】
画像処理装置100は、制御ポリシーP1に従って、処理を実行することで、ユーザ10は、自身が保持する実物体11aの姿勢と同一の姿勢となる仮想物体11bの立体画像を参照することができ、ユーザ10の作業をサポートすることができる。
【0049】
(制御ポリシーP2:大きさを合わせる)
制御部150は、制御ポリシーP2が選択されている場合、実物体11aの大きさと、画像表示部60に表示される立体画像(仮想物体11b)の大きさとを合わせる制御を行う。たとえば、制御部150は、解析部130から実物体11aの大きさ(H、W)を取得し、取得した大きさを、制御情報に設定して、表示画像生成部120に出力する。表示画像生成部120は、モデルデータ140aに設定された大きさを、制御情報に設定された大きさに合わせる調整を行い、調整を行ったモデルデータ140aを用いて、立体画像を画像表示部60に表示させる。
【0050】
図8は、制御ポリシーP2に基づく制御部の処理を説明するための図である。
図8に示すように、仮想物体11b-1の大きさと、実物体11aの大きさとが異なっている。制御部150が、上記処理により、仮想物体11b-1をリサイズすることで、仮想物体11b-2となり、仮想物体11b-1の大きさと、実物体11aの大きさとが同じになる。
【0051】
(制御ポリシーP2に基づく画像処理装置の処理手順)
図9は、制御ポリシーP2に基づく画像処理装置の処理手順を示すフローチャートである。
図9に示すように、画像処理装置100は、画像撮像部50から撮像情報の取得を開始する(ステップS21)。画像処理装置100の視点位置検出部110は、ユーザ10の視点位置を検出する(ステップS22)。
【0052】
画像処理装置100の解析部130は、ユーザ10が保持する実物体11aを検出する(ステップS23)。解析部130は、実物体11aの大きさ(H、W)を計算する(ステップS24)。画像処理装置100の制御部150は、実物体11aの大きさに合わせて仮想物体の大きさを計算し、制御情報を生成する(ステップS25)。
【0053】
表示画像生成部120は、モデルデータ140aと制御情報とを基にして、立体画像の情報を生成し、画像表示部60にリサイズした立体画像を表示させる(ステップS26)。
【0054】
画像処理装置100は、処理を継続する場合には(ステップS27,Yes)、ステップS22に移行する。一方、画像処理装置100は、処理を継続しない場合には(ステップS27,No)、処理を終了する。
【0055】
画像処理装置100は、制御ポリシーP2に従って、処理を実行することで、ユーザ10は、自身が保持する実物体11aと同一の大きさとなる仮想物体11bの立体画像を参照することができ、ユーザ10の作業をサポートすることができる。
【0056】
(制御ポリシーP3:見た目の大きさを合わせる)
実物体11aは、画像表示部60より手前に存在するため、ユーザ10は、実物体11aと、立体画像(仮想物体11b)との大きさが同じでも、相対的に立体画像が小さく見える。このため、制御部150は、実物体11aと、立体画像との相対的な大きさを合わせる制御を行う。
【0057】
図10は、制御ポリシーP3に基づく制御部の処理を説明するための図である。制御部150は、解析結果を基にして、仮想物体11bの高さHvを計算する。
図10において、H
rは、実物体11aの高さを示す。D
rは、実物体11aと、ユーザ10との距離を示し、たとえば、第1距離から第2距離を減算した距離に相当する。Dvは、ユーザ10と仮想物体11b(画像表示部60)との距離を示し、たとえば、第1距離に対応する。
【0058】
制御部150は、式(1)に従って、仮想物体11bの高さHvを計算する。図示を省略するが、制御部150は、式(2)に従って、仮想物体11bの幅Wvを計算する。式(2)において、Wrは、実物体11aの幅を示す。以下の説明では、高さHvと、幅Wvとをまとめて、「リサイズ後の大きさ」と表記する。
【0059】
Hv=Hr×Dv/Dr・・・(1)
Wv=Wr×Dv/Dr・・・(2)
【0060】
制御部150は、上記処理により、リサイズ後の大きさを計算し、リサイズ後の大きさを制御情報に設定し、表示画像生成部120に出力する。表示画像生成部120は、モデルデータ140aに設定された大きさを、制御情報に設定されたリサイズ後の大きさに合わせる調整を行い、調整を行ったモデルデータ140aを用いて、立体画像を画像表示部60に表示させる。
【0061】
(制御ポリシーP3に基づく画像処理装置の処理手順)
図11は、制御ポリシーP3に基づく画像処理装置の処理手順を示すフローチャートである。
図11に示すように、画像処理装置100は、画像撮像部50から撮像情報の取得を開始する(ステップS31)。画像処理装置100の視点位置検出部110は、ユーザ10の視点位置を検出する(ステップS32)。
【0062】
画像処理装置100の解析部130は、ユーザ10が保持する実物体11aを検出する(ステップS33)。解析部130は、実物体11aの大きさ(H、W)を計算する(ステップS34)。画像処理装置100の制御部150は、リサイズ後の大きさ(Hv、Wv)を計算し、制御情報を生成する(ステップS35)。
【0063】
表示画像生成部120は、モデルデータ140aと制御情報とを基にして、立体画像の情報を生成し、画像表示部60にリサイズした立体画像を表示させる(ステップS36)。
【0064】
画像処理装置100は、処理を継続する場合には(ステップS37,Yes)、ステップS32に移行する。一方、画像処理装置100は、処理を継続しない場合には(ステップS37,No)、処理を終了する。
【0065】
画像処理装置100は、制御ポリシーP3に従って、処理を実行することで、実物体11aが、画像表示部60よりもユーザ10の手前に位置する場合でも、ユーザ10は、見た目が、自身が保持する実物体11aと同一の大きさとなる仮想物体11bの立体画像を参照することができ、ユーザ10の作業をサポートすることができる。
【0066】
(制御ポリシーP4:重ならない位置に移動させる)
仮想物体11bの立体画像を、画像表示部60の遮蔽領域に表示させると、立体画像と、実物体11aとが重なってしまう。このため、制御部150は、立体画像を、画像表示部60の非遮蔽領域に表示させる制御を行う。
【0067】
図12は、制御ポリシーP4に基づく制御部の処理を説明するための図である。上述したように、解析部130が、撮像情報を解析することで、遮蔽領域60aと、非遮蔽領域60bとが計算される。制御部150は、制御ポリシーP4-1、制御ポリシーP4-2、制御ポリシーP4-3のいずれかの制御ポリシーによって、立体画像の表示位置を調整する。調整前の立体画像の表示位置を「R」とする。調整後の立体画像の表示位置を「Q」とする。
【0068】
「制御ポリシーP4-1」について説明する。制御部150は、解析結果に含まれる非遮蔽領域60bに、仮想物体11bの全体が含まれる立体画像の表示位置Q1を計算する。たとえば、制御部150は、位置Rから、表示位置Q1までの距離が最小となるように、表示位置Q1を計算する。
【0069】
「制御ポリシーP4-2」について説明する。制御部150は、非遮蔽領域60bに含まれ、かつ、位置Rから表示位置Q2までの距離が最大となるように、表示位置Q2を計算する。
【0070】
「制御ポリシーP4-3」について説明する。制御部150は、画像表示部60(ディスプレイ3)の中心部分により近くなるような表示位置Q3を計算する。ディスプレイ3の中心ほど、立体画像の画質が向上するからである。たとえば、制御部150は、式(3)を基にして、表示位置Q3を計算する。
【0071】
C=min(CRQ(DRQ)+CCQ(DCQ))・・・(3)
【0072】
式(3)において、CRQ(DRQ)は、DRQにより決定される表示位置Q3が、遮蔽領域60aから離れるほど、コストが小さくなる関数である。CCQ(DCQ)は、DCQにより決定される表示位置Q3が、ディスプレイ3の中心に近いほど、コストが小さくなる関数である。制御部150は、式(3)の値が最小化する位置を、最終的な表示位置Q3として計算する。
【0073】
制御部150は、上記制御ポリシーP4-1~P4-3のいずれか一つの制御ポリシーを基にして、仮想物体11bの表示位置を計算する。制御部150は、計算した表示位置を制御情報に設定し、表示画像生成部120に出力する。表示画像生成部120は、制御情報に設定された表示位置に、立体画像の表示位置を合わせる調整を行い、立体画像を画像表示部60に表示させる。
【0074】
(制御ポリシーP4に基づく画像処理装置の処理手順)
図13は、制御ポリシーP4に基づく画像処理装置の処理手順を示すフローチャートである。
図13に示すように、画像処理装置100は、画像撮像部50から撮像情報の取得を開始する(ステップS41)。画像処理装置100の視点位置検出部110は、ユーザ10の視点位置を検出する(ステップS42)。
【0075】
画像処理装置100の解析部130は、ユーザ10が保持する実物体11aを検出する(ステップS43)。解析部130は、実物体11aと仮想物体11bとの位置関係を計算する(ステップS44)。画像処理装置100の制御部150は、遮蔽領域と非遮蔽領域とを特定する(ステップS45)。
【0076】
制御部150は、非遮蔽領域に含まれる表示位置を計算し、制御情報を生成する(ステップS46)。表示画像生成部120は、モデルデータ140aと制御情報とを基にして、立体画像の情報を生成し、画像表示部60の非遮蔽領域に立体画像を表示させる(ステップS47)。
【0077】
画像処理装置100は、処理を継続する場合には(ステップS48,Yes)、ステップS42に移行する。一方、画像処理装置100は、処理を継続しない場合には(ステップS48,No)、処理を終了する。
【0078】
画像処理装置100は、制御ポリシーP4に従って、処理を実行することで、実物体11aと、立体画像(仮想物体11b)とが重ならないため、ユーザ10は、実物体11aと、立体画像との双方を同時に参照することができ、ユーザ10の作業をサポートすることができる。
【0079】
(制御ポリシーP5:重なる/重ならないを自動選択)
ユーザ10が作業を行う場合、「実物体11aと立体画像とを重ねて見る」場合と、「実物体11aと立体画像とを並べて見くらべる」場合とがある。このため、制御部150は、実物体11aの見た目の位置と、立体画像の表示位置との距離Dを基にして、立体画像の表示位置を制御する。ここでは、一例として、実物体11aの見た目の位置を、ユーザ10の視点位置および実物体11aの位置を通る直線と、ディスプレイ3とが交差する位置とする。
【0080】
図14は、制御ポリシーP5に基づく制御部の処理を説明するための図(1)である。
図14に示すように、実物体11aの見た目の位置と、仮想物体11b(立体画像)との距離が閾値未満の場合には、制御部150は、遮蔽領域に仮想物体11bを表示させる。一方、実物体11aの見た目の位置と、仮想物体11b(立体画像)との距離が閾値以上の場合には、制御部150は、非遮蔽領域に仮想物体11bを表示させる。
【0081】
図15は、制御ポリシーP5に基づく制御部の処理を説明するための図(2)である。
図15において、実物体11aの見た目の位置を「S」とする。制御部150は、ユーザ10の視線位置、実物体11aの空間上の位置、ディスプレイ3の位置関係から、見た目の位置「S」を計算する。位置「Q」は、立体画像の表示位置を示す。
【0082】
制御部150は、位置Sと位置Qとの距離Dを計算し、距離Dが閾値Dth未満の場合には、立体画像の表示位置を、位置Sに設定する。一方、制御部150は、位置Sと位置Qとの距離Dを計算し、距離Dが閾値Dth以上の場合には、非遮蔽領域60bに含まれるように、表示画像の表示位置を設定する。
【0083】
制御部150は、上記処理により、立体画像の表示位置を計算し、表示位置を制御情報に設定し、表示画像生成部120に出力する。表示画像生成部120は、制御情報に設定された表示位置に、立体画像の表示位置を合わせる調整を行い、立体画像を画像表示部60に表示させる。
【0084】
(制御ポリシーP5に基づく画像処理装置の処理手順)
図16は、制御ポリシーP5に基づく画像処理装置の処理手順を示すフローチャートである。
図16に示すように、画像処理装置100は、画像撮像部50から撮像情報の取得を開始する(ステップS51)。画像処理装置100の視点位置検出部110は、ユーザ10の視点位置を検出する(ステップS52)。
【0085】
画像処理装置100の解析部130は、ユーザ10が保持する実物体11aを検出する(ステップS53)。解析部130は、実物体11aと仮想物体11bとの位置関係を計算する(ステップS54)。画像処理装置100の制御部150は、遮蔽領域と非遮蔽領域とを特定する(ステップS55)。
【0086】
制御部150は、実物体11aの見た目の位置と仮想物体11bの位置との距離Dを計算する(ステップS56)。制御部150は、距離Dが閾値Dth未満であるか否かを判定する(ステップS57)。
【0087】
制御部150は、距離Dが閾値Dth未満である場合には(ステップS57,Yes)、遮蔽領域に含まれる表示位置を計算し、制御情報を生成し(ステップS58)、ステップS60に移行する。
【0088】
一方、制御部150は、距離Dが閾値Dth未満でない場合には(ステップS57,No)、非遮蔽領域に含まれる表示位置を計算し、制御情報を生成し(ステップS59)、ステップS60に移行する。
【0089】
表示画像生成部120は、モデルデータ140aと制御情報とを基にして、立体画像の情報を生成し、画像表示部60の表示位置に立体画像を表示させる(ステップS60)。画像処理装置100は、処理を継続する場合には(ステップS60,Yes)、ステップS52に移行する。一方、画像処理装置100は、処理を継続しない場合には(ステップS48,No)、処理を終了する。
【0090】
画像処理装置100は、制御ポリシーP5に従って、処理を実行することで、実物体11aの見た目の位置と、仮想物体11b(立体画像)との距離が閾値未満の場合には、制御部150は、遮蔽領域に仮想物体11bを表示させる。一方、実物体11aの見た目の位置と、仮想物体11b(立体画像)との距離が閾値以上の場合には、制御部150は、非遮蔽領域に仮想物体11bを表示させる。これによって、「実物体11aと立体画像とを重ねて見る」場合と、「実物体11aと立体画像とを並べて見くらべる」場合とにそれぞれ対応して、ユーザ10の作業をサポートすることができる。
【0091】
(制御ポリシーP6:運動視差)
たとえば、ユーザ10は、視点位置を固定し、実物体11aを動かして鑑賞する場合がある。制御部150は、実物体11aの移動に相当する変化を、仮想物体11bの表示位置の移動で代替表現する。
【0092】
図17は、制御ポリシーP6に基づく制御部の処理を説明するための図(1)である。
図17に示すように、ユーザ10は、実物体11aを「右方向」に移動させたものとする。この場合、制御部150は、仮想物体11bを「右方向」に移動させることで、実物体11aの移動に相当する変化を、仮想物体の表示位置の移動で代替表現する。
【0093】
図18は、制御ポリシーP6に基づく制御部の処理を説明するための図(2)である。
図18に示すように、ユーザ10は、実物体11aを右に移動させる。ユーザ10の視点位置が動いていないとすると、実物体11aを右に移動させることで、実物体11aの左側面が参照可能となる。制御部150は、仮想物体11bの表示位置を位置R1からR2に移動させることで、ユーザ10は、仮想物体11bの左側面が参照可能となる。すなわち、実物体11aの移動に相当する変化を、仮想物体11bの表示位置の移動で代替表現する。
【0094】
制御部150は、各撮像情報に対する解析結果に含まれる実物体の位置を基にして、実物体11aの移動軌跡を計算し、仮想物体11bの動きを計算する。たとえば、制御部150は、所定期間における移動軌跡を、画像表示部60の座標系に変換することで、仮想物体11bの動きを計算する。仮想物体11bの動きの情報には、画像表示部60上の複数の座標が時系列に配置した情報が含まれる。
【0095】
制御部150は、上記処理により、仮想物体11bの動きを計算し、仮想物体11bの動きを制御情報に設定し、表示画像生成部120に出力する。表示画像生成部120は、制御情報に設定された動きを基にして、画像表示部60に表示される立体画像を移動させる。
【0096】
(制御ポリシーP6に基づく画像処理装置の処理手順)
図19は、制御ポリシーP6に基づく画像処理装置の処理手順を示すフローチャートである。
図19に示すように、画像処理装置100は、画像撮像部50から撮像情報の取得を開始する(ステップS71)。画像処理装置100の解析部130は、ユーザ10が保持する実物体11aを検出する(ステップS72)。
【0097】
画像処理装置100の制御部150は、解析結果を基にして実物体11aの移動軌跡を計算する(ステップS73)。制御部150は、仮想物体11bの動きを計算し、制御情報を生成する(ステップS74)。
【0098】
表示画像生成部120は、モデルデータ140aと制御情報とを基にして、立体画像の情報を生成し、画像表示部60に立体画像を表示させ、立体画像を移動させる(ステップS75)。
【0099】
画像処理装置100は、処理を継続する場合には(ステップS76,Yes)、ステップS72に移行する。一方、画像処理装置100は、処理を継続しない場合には(ステップS76,No)、処理を終了する。
【0100】
画像処理装置100は、制御ポリシーP6に従って、処理を実行することで、実物体11aの移動に相当する変化を、仮想物体11bの表示位置の移動で代替表現することができ、ユーザ10の作業をサポートすることができる。
【0101】
(制御ポリシーP7:動きの記録・再生)
たとえば、上述したように、解析部130は、各撮像情報の解析結果(実物体11aの位置)を、解析結果テーブル140bに時系列に記録している。制御部150は、解析結果テーブル140bに記録された、一定期間における実物体11aの各位置を基にして、実物体11aの動きを計算する。制御部150は、実物体11aの動きを基にして、仮想物体11bの動きを算出し、かかる動きを基にして、仮想物体11bを移動させることで、過去の実物体11aの動きを再生することができる。
【0102】
ここで、解析部130は、実物体11aの動きを用いる場合、実物体11aの移動平均を算出することで、ノイズを除去してもよい。また、解析部130は、実物体11aの異なる動きをそれぞれ記録し、記録した各位置を合成することで、細切れの動きを、一続きの動きの情報に編集してもよい。たとえば、解析部130は、第1期間、第2期間、第3期間の移動軌跡を合成してもよい。
【0103】
図20は、制御ポリシーP7に基づく制御部の処理を説明するための図である。ユーザ10は、一定期間、実物体11aを動かし、解析部130は、撮像情報を基にして、実物体11aの動き(各フレーム番号の位置)を解析結果テーブル140bに記録する。制御部150は、解析結果テーブル140bに記録された、一定期間の実物体11aの動きを基にして、仮想物体11bの動きを計算し、かかる動きによって、仮想物体11bを移動させるための制御情報を生成する。たとえば、制御部150は、実物体11aの動きとなる各フレームの位置(実空間上の位置)を、画像表示部61の表示画面の座標系に変換する計算を行う。実空間上の位置と、表示画面の座標との関係は、予め定義されているものとする。
【0104】
(制御ポリシーP7に基づく画像処理装置の処理手順)
図21は、制御ポリシーP7に基づく画像処理装置の処理手順を示すフローチャートである。
図21に示すように、画像処理装置100は、画像撮像部50から撮像情報の取得を開始する(ステップS81)。画像処理装置100の解析部130は、ユーザ10が保持する実物体11aを検出する(ステップS82)。
【0105】
解析部130は、実物体11aの位置を計算し、解析結果テーブル140bに記録する(ステップS83)。画像処理装置100は、一定期間経過していない場合には(ステップS84,No)、ステップS82に移行する。一方、画像処理装置100は、一定期間経過している場合には(ステップS84,Yes)、ステップS85に移行する。
【0106】
画像処理装置100の制御部150は、解析結果テーブル140bに記録された実物体11aの各位置を基にして、仮想物体11bの動きを計算し、制御情報を生成する(ステップS85)。表示画像生成部120は、モデルデータ140aと制御情報とを基にして、立体画像の情報を生成し、画像表示部60に立体画像を表示させ、立体画像を移動させる(ステップS86)。
【0107】
画像処理装置100は、制御ポリシーP7に従って、処理を実行することで、一定期間の実物体11aの動きを記録しておき、記録した動きを基にして、仮想物体11bの動きを計算し、立体画像の移動を制御する。これによって、過去の実物体11aの動きを、仮想物体11bで再生することができる。
【0108】
(制御ポリシーP8:照明)
制御部150は、外部から、照明の位置と照明色の指定を受け付けた場合、制御情報に照明の位置と照明色を基にして、仮想物体11bの色および反射位置を計算し、制御情報を生成する。表示画像生成部120は、制御情報に設定された仮想物体11bの色および反射位置を基にして、立体画像の情報を生成し、画像表示部60に表示させる。
【0109】
図22は、制御ポリシーP8に基づく制御部の処理を説明するための図である。ユーザ10は、図示しない入力装置等を用いて、画像処理装置100に、照明12の照明位置、照明色を指定する。また、解析部130が、撮像情報を用いて照明位置および照明色を推定し、解析した照明位置および照明色の情報を、制御部150に出力してもよい。制御部150は、照明位置、照明色を基にして、仮想物体11b-1の色および反射位置を計算する。表示画像生成部120は、解析部130により計算された色および反射位置を基にして、仮想物体11b-1にエフェクト(色、光沢)を加える補正を行うことで、仮想物体11b-2を生成し、画像表示部60に表示させる。
【0110】
制御部150は、実物体11aの色が変化した場合には、仮想物体11b-2の色を変更する。また、制御部150は、照明位置が変化した場合、仮想物体11b-2の鏡面反射の位置を変更してもよい。
【0111】
(制御ポリシーP8に基づく画像処理装置の処理手順)
図23は、制御ポリシーP8に基づく画像処理装置の処理手順を示すフローチャートである。
図23に示すように、画像処理装置100は、画像撮像部50から撮像情報の取得を開始する(ステップS91)。画像処理装置100の視点位置検出部110は、ユーザ10の視点位置を検出する(ステップS92)。
【0112】
画像処理装置100の解析部130は、ユーザ10が保持する実物体11aを検出する(ステップS93)。画像処理装置100の制御部150は、照明色、照明位置の指定を受け付ける(あるいは、解析部130は、撮像情報を用いて照明位置および照明色を推定し、解析した照明位置および照明色の情報を、制御部150に出力する)(ステップS94)。制御部150は、照明色、照明位置に応じて、仮想物体11bの色、反射位置を計算して、制御情報を生成する(ステップS95)。
【0113】
表示画像生成部120は、モデルデータ140aと制御情報とを基にして、立体画像の情報を生成し、照明のエフェクトを反映させた立体画像を表示させる(ステップS96)。
【0114】
画像処理装置100は、処理を継続する場合には(ステップS97,Yes)、ステップS92に移行する。一方、画像処理装置100は、処理を継続しない場合には(ステップS97,No)、処理を終了する。
【0115】
画像処理装置100は、制御ポリシーP8に従って、処理を実行することで、実物体11aに照明を照射した場合と同様の照明のエフェクトを仮想物体11bに反映させることが可能となる。
【0116】
<<1.4.第1の実施形態に係る画像処理装置の効果>>
上述してきたように、第1の実施形態に係る画像処理装置は、解析部130が撮像情報を解析し、制御部150が解析結果を基にして、制御ポリシーP1~P8に基づいて制御情報を生成し、立体画像の表示を制御することで、ユーザに対して立体画像を適切に表示することができる。たとえば、上記の処理により、3Dの実物体11aを仮想物体11bとして画像表示部60に表示する場合に、実物体11aと仮想物体11bとを同時鑑賞・比較する作業を自動的にアシストし、ユーザの作業効率を向上させることができる。
【0117】
<2.第2の実施形態>
<<2.1.第2の実施形態に係るシチュエーション>>
図24は、第2の実施形態に係るシチュエーションの一例を説明するための図である。
図24に示すように、画像処理装置200と、画像処理装置300とがネットワーク20を介して相互に接続されている。
【0118】
画像処理装置200の前方にユーザ10が位置しており、ユーザ10は、実物体11aを保持しているものとする。画像処理装置200は、カメラ4aによって、実物体11aを撮像し、実物体11aの動きを計算する。画像処理装置200は、実物体11aの動きの情報を制御情報に設定し、画像処理装置300に制御情報を送信する。画像処理装置200は、第1の実施形態の画像処理装置100と同様にして、仮想物体11bの立体画像を、ディスプレイ3aに表示してもよい。
【0119】
なお、画像処理装置300は、上記処理とは別に、カメラ4bを用いて、画像処理装置100と同様の処理を実行してもよい。
【0120】
画像処理装置300は、制御情報を受信すると、仮想物体11bのモデルデータと、制御情報とを基にして、仮想物体11bの立体画像をディスプレイ3bに表示する。制御情報には、実物体11aの動きの情報が設定されており、画像処理装置300は、実物体11aの動きに合わせて、仮想物体11bの動きを制御する。
【0121】
<<2.2.第2の実施形態に係る画像処理装置の構成>>
図25は、第2の実施形態に係る画像処理装置の構成例を示す図(1)である。
図25に示すように、この画像処理装置200は、画像撮像部51および画像表示部61に接続される。なお、画像処理装置200は、画像撮像部51および画像表示部61を有していてもよい。
【0122】
画像撮像部51は、撮像範囲に位置するユーザ10およびユーザ10の保持する実物体11aを撮像するステレオカメラである。画像撮像部51は、
図24に示したカメラ4aに対応する。画像撮像部51は、CMOSセンサもしくはCCD等の他のイメージセンサーを備える。画像撮像部51は、撮像した画像の情報を、画像処理装置200に出力する。以下の説明では、画像撮像部51が撮像した画像の情報を「撮像情報」と表記する。
【0123】
画像撮像部51は、ステレオカメラであるため、撮像情報には、一方のカメラで撮影した画像と、他方のカメラで撮影した画像とが含まれる。画像撮像部51は、所定のフレームレートで画像を撮像し、撮像する度に、撮像情報を、画像処理装置200に出力する。撮像情報には、時系列にフレーム番号が昇順に付与されてもよい。
【0124】
画像表示部61は、画像処理装置200から出力される情報を基にして立体画像を表示する表示装置である。画像表示部61は、
図24に示したディスプレイ3aに対応する。たとえば、画像表示部61は、仮想物体11bの立体画像を表示する。
【0125】
画像処理装置200は、視点位置検出部210と、表示画像生成部220と、解析部230と、記憶部240と、制御部250と、通信部260とを有する。
【0126】
視点位置検出部210は、撮像情報を基にして顔検出を行い、ユーザ10の視点位置を検出する処理部である。視点位置検出部210は、視点位置の情報を、表示画像生成部220に出力する。視点位置検出部210に関するその他の説明は、第1の実施形態で説明した視点位置検出部110に関する説明と同様である。
【0127】
表示画像生成部220は、画像表示部61に立体画像を表示させるための情報を生成し、生成した情報を画像表示部61に出力する処理部である。表示画像生成部220に関するその他の説明は、第1の実施形態で説明した表示画像生成部120に関する説明と同様である。
【0128】
解析部230は、画像撮像部51から取得する撮像情報を基にして各種の解析を行い、解析結果を制御部250に出力する処理部である。解析部230に関するその他の処理は、第1の実施形態で説明した解析部130に関する説明と同様である。
【0129】
記憶部240は、モデルデータ240aおよび解析結果テーブル240bを有する。記憶部240は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。モデルデータ240aの説明は、第1の実施形態で説明したモデルデータ140aの説明と同様である。解析結果テーブル240bの説明は、第1の実施形態で説明した解析結果テーブル140bの説明と同様である。
【0130】
制御部250は、解析部230の解析結果を基にして、制御情報を生成し、生成した制御情報を表示画像生成部220に出力する処理部である。また、制御部250は、制御情報を、通信部260を介して、画像処理装置300に送信する。
【0131】
たとえば、制御部250は、解析結果に含まれる実物体11aの位置を、後述する画像処理装置300の画像表示部62の表示画面の座標系に変換する計算を行い、計算した位置の情報を、制御情報に設定し、画像処理装置300に送信する。
【0132】
通信部260は、制御部250から取得した制御情報を、ネットワーク20を介して、画像処理装置300に送信する処理部である。通信部260は、NIC(Network Interface Card)等の通信装置に対応する。
【0133】
図26は、第2の実施形態に係る画像処理装置の構成例を示す図(2)である。
図26に示すように、この画像処理装置300は、画像撮像部52および画像表示部62に接続される。なお、画像処理装置300は、画像撮像部52および画像表示部62を有していてもよい。
【0134】
画像撮像部52は、撮像範囲に位置するユーザ15を撮像するステレオカメラである。画像撮像部52は、
図24に示したカメラ4bに対応する。画像撮像部52は、CMOSセンサもしくはCCD等の他のイメージセンサーを備える。画像撮像部52は、撮像した画像の情報を、画像処理装置200に出力する。以下の説明では、画像撮像部52が撮像した画像の情報を「撮像情報」と表記する。
【0135】
画像表示部62は、画像処理装置300から出力される情報を基にして立体画像を表示する表示装置である。画像表示部62は、
図24に示したディスプレイ3bに対応する。たとえば、画像表示部62は、仮想物体11bの立体画像を表示する。
【0136】
画像処理装置300は、視点位置検出部310と、表示画像生成部320と、解析部330と、記憶部340と、制御部350と、通信部360とを有する。ここで、画像処理装置300は、「第1動作モード」または「第2動作モード」が予め設定される。第1動作モードは、画像処理装置300が、ネットワーク20を介して、画像処理装置200から制御情報を受信し、受信した制御情報を基にして、仮想物体11bの立体画像を表示するモードである。
【0137】
第2動作モードは、画像処理装置300自身が、カメラ4bを用いて撮像した撮像情報を解析して、仮想物体11bの立体画像を表示するモードである。第2動作モードにおける画像処理装置300の視点位置検出部310、表示画像生成部320、解析部330、制御部350の処理は、第1の実施形態で説明した画像処理装置100の視点位置検出部110、表示画像生成部120、解析部130、制御部150の処理と同様であるため、説明を省略する。
【0138】
以下において、第1動作モードにおける、画像処理装置300の視点位置検出部310、表示画像生成部320、解析部330、制御部350、通信部360の処理について説明する。
【0139】
視点位置検出部310は、撮像情報を基にして顔検出を行い、ユーザ15の視点位置を検出する処理部である。視点位置検出部210は、視点位置の情報を、表示画像生成部320に出力する。視点位置検出部310に関するその他の説明は、第1の実施形態で説明した視点位置検出部110に関する説明と同様である。
【0140】
表示画像生成部320は、画像表示部62に立体画像を表示させるための情報を生成し、生成した情報を画像表示部62に出力する処理部である。表示画像生成部320に関するその他の説明は、第1の実施形態で説明した表示画像生成部120に関する説明と同様である。
【0141】
解析部330は、第1動作モードにおいて、処理を休止してもよいし、第1の実施形態で説明した解析部130と同様の処理を実行してもよい。
【0142】
記憶部340は、モデルデータ340aおよび解析結果テーブル340bを有する。記憶部340は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。モデルデータ340aの説明は、第1の実施形態で説明したモデルデータ140aの説明と同様である。解析結果テーブル340bの説明は、第1の実施形態で説明した解析結果テーブル140bの説明と同様である。
【0143】
制御部250は、通信部360を介して、画像処理装置200から制御情報を取得し、取得した制御情報を、表示画像生成部320に出力する処理部である。
【0144】
通信部360は、ネットワーク20を介して、画像処理装置200から制御情報を受信する処理部である。通信部360は、NIC等の通信装置に対応する。
【0145】
(画像処理装置200の処理手順)
図27は、第2の実施形態に係る画像処理装置の処理手順を示すフローチャート(1)である。
図27に示すように、画像処理装置200は、画像撮像部51から撮像情報の取得を開始する(ステップS100)。画像処理装置200の視点位置検出部210は、ユーザ10の視点位置を検出する(ステップS101)。
【0146】
画像処理装置200の解析部230は、ユーザ10が保持する実物体11aを検出する(ステップS102)。画像処理装置200の制御部250は、実物体11aの動きを計算する(ステップS103)。画像処理装置200の制御部250は、実物体11aの動きに合わせた仮想物体11bの動きを計算して制御情報を生成する(ステップS104)。
【0147】
画像処理装置200の通信部260は、制御情報を、画像処理装置300に送信する(ステップS105)。画像処理装置200は、処理を継続する場合には(ステップS106,Yes)、ステップS101に移行する。一方、画像処理装置200は、処理を継続しない場合には(ステップS106,No)、処理を終了する。
【0148】
(画像処理装置300の処理手順)
図28は、第2の実施形態に係る画像処理装置の処理手順を示すフローチャート(2)である。
図28に示すように、画像処理装置300は、画像撮像部52から撮像情報の取得を開始する(ステップS150)。画像処理装置300の視点位置検出部310は、ユーザ15の視点位置を検出する(ステップS151)。
【0149】
画像処理装置300の通信部360は、画像処理装置200から制御情報を受信する(ステップS152)。画像処理装置300の制御部350は、制御情報を、表示画像生成部320に出力する(ステップS153)。
【0150】
画像処理装置300の表示画像生成部320は、モデルデータ340aと制御情報とを基にして、立体画像の情報を生成し、画像表示部60に立体画像を表示させ、移動させる(ステップS154)。
【0151】
画像処理装置300は、処理を継続する場合には(ステップS155,Yes)、ステップS151に移行する。一方、画像処理装置300は、処理を継続しない場合には(ステップS155,No)、処理を終了する。
【0152】
<<2.3.第2の実施形態に係る画像処理装置の効果>>
上述してきたように、画像処理装置200は、解析部230が撮像情報を解析し、制御部250が解析結果を基にして制御情報を生成し、制御情報を、画像処理装置300に送信する。画像処理装置300は、制御情報を受信すると、モデルデータ340aと、制御情報とを基にして、仮想物体11bの立体画像をディスプレイ3bに表示する。これによって、ユーザ15とは異なる場所に位置するユーザ10が保持する実物体11aの動きを、画像処理装置300が表示する立体画像で再現することができる。
【0153】
<3.第3の実施形態>
<<3.1.画像処理装置の外観例>>
図29は、第3の実施形態に係るシチュエーションの一例を説明するための図である。
図29に示すように、画像処理装置400と、端末装置70とがネットワーク20を介して相互に接続されている。端末装置70は、タブレット端末やスマートフォン等に対応する。
【0154】
ユーザ10は、端末装置70を保持している。ユーザ10が端末装置70を動かすと、端末装置70は、加速度センサ等を用いて、端末装置70の動きの情報を計算し、動きの情報を設定した制御情報を、画像処理装置400に送信する。画像処理装置400は、制御情報を受信すると、仮想物体11bのモデルデータと、制御情報とを基にして、仮想物体11bの立体画像をディスプレイ3に表示する。
【0155】
<<3.2.第3の実施形態に係る画像処理装置の構成>>
図30は、第3の実施形態に係る画像処理装置の構成例を示す図である。
図30に示すように、この画像処理装置400は、画像撮像部53および画像表示部63に接続される。なお、画像処理装置400は、画像撮像部53および画像表示部63を有していてもよい。
【0156】
画像撮像部53は、撮像範囲に位置するユーザ15を撮像するステレオカメラである。画像撮像部51は、
図29に示したカメラ4に対応する。画像撮像部53は、CMOSセンサもしくはCCD等の他のイメージセンサーを備える。画像撮像部53は、撮像した画像の情報を、画像処理装置400に出力する。以下の説明では、画像撮像部53が撮像した画像の情報を「撮像情報」と表記する。
【0157】
画像撮像部53は、ステレオカメラであるため、撮像情報には、一方のカメラで撮影した画像と、他方のカメラで撮影した画像とが含まれる。画像撮像部53は、所定のフレームレートで画像を撮像し、撮像する度に、撮像情報を、画像処理装置400に出力する。撮像情報には、時系列にフレーム番号が昇順に付与されてもよい。
【0158】
画像表示部63は、画像処理装置400から出力される情報を基にして立体画像を表示する表示装置である。画像表示部63は、
図29に示したディスプレイ3に対応する。たとえば、画像表示部63は、仮想物体11bの立体画像を表示する。
【0159】
画像処理装置400は、視点位置検出部410と、表示画像生成部420と、解析部430と、記憶部440と、制御部450と、通信部460とを有する。
【0160】
視点位置検出部410は、撮像情報を基にして顔検出を行い、ユーザ15の視点位置を検出する処理部である。視点位置検出部410は、視点位置の情報を、表示画像生成部420に出力する。視点位置検出部410に関するその他の説明は、第1の実施形態で説明した視点位置検出部110に関する説明と同様である。
【0161】
表示画像生成部420は、画像表示部63に立体画像を表示させるための情報を生成し、生成した情報を画像表示部63に出力する処理部である。表示画像生成部420に関するその他の説明は、第1の実施形態で説明した表示画像生成部120に関する説明と同様である。
【0162】
解析部430は、画像撮像部53から取得する撮像情報を基にして各種の解析を行い、解析結果を制御部450に出力する処理部である。解析部430に関するその他の処理は、第1の実施形態で説明した解析部130に関する説明と同様である。なお、撮像情報に実物体11aが含まれていない場合には、解析部430は、実物体11aを検出する処理を行わない。
【0163】
記憶部440は、モデルデータ440aおよび解析結果テーブル440bを有する。記憶部440は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。モデルデータ440aの説明は、第1の実施形態で説明したモデルデータ140aの説明と同様である。解析結果テーブル440bの説明は、第1の実施形態で説明した解析結果テーブル140bの説明と同様である。
【0164】
制御部450は、端末装置70から制御情報を取得し、取得した制御情報を、表示画像生成部420に出力する処理部である。なお、制御部450は、端末装置70から取得した制御情報に含まれる動きの変化を、画像表示部60の座標系に変換することで、仮想物体11bの動きに合うように制御情報を更新した後に、表示画像生成部420に出力してもよい。
【0165】
通信部460は、ネットワーク20を介して、端末装置70から制御情報を受信する処理部である。通信部460は、NIC等の通信装置に対応する。
【0166】
(端末装置70の処理手順)
図31は、第3の実施形態に係る端末装置の処理手順を示すフローチャートである。
図31に示すように、端末装置70は、自装置に設定された加速度センサ等を用いて、動きの検出を開始する(ステップS200)。端末装置70は、端末装置70の動きの情報を制御情報に設定する(ステップS201)。
【0167】
端末装置70は、制御情報を画像処理装置400に送信する(ステップS202)。端末装置70は、処理を継続する場合には(ステップS203,Yes)、ステップS201に移行する。端末装置70は、処理を継続しない場合には(ステップS203,No)、処理を終了する。
【0168】
(画像処理装置400の処理手順)
図32は、第3の実施形態に係る画像処理装置の処理手順を示すフローチャートである。
図32に示すように、画像処理装置400は、画像撮像部53から撮像情報の取得を開始する(ステップS250)。画像処理装置400の視点位置検出部410は、ユーザ15の視点位置を検出する(ステップS251)。
【0169】
画像処理装置400の通信部460は、端末装置70から制御情報を受信する(ステップS252)。画像処理装置400の制御部450は、制御情報を、表示画像生成部420に出力する(ステップS253)。
【0170】
画像処理装置400の表示画像生成部420は、モデルデータ440aと制御情報とを基にして、立体画像の情報を生成し、画像表示部63に立体画像を表示させ、移動させる(ステップS254)。
【0171】
画像処理装置400は、処理を継続する場合には(ステップS255,Yes)、ステップS251に移行する。一方、画像処理装置400は、処理を継続しない場合には(ステップS255,No)、処理を終了する。
【0172】
<<3.3.第3の実施形態に係る画像処理装置の効果>>
上述してきたように、画像処理装置400は、端末装置70から端末装置70の動きを示す制御情報を受信し、モデルデータ440aと、制御情報とを基にして、仮想物体11bの立体画像をディスプレイ3bに表示する。これによって、ユーザ15とは異なる場所に位置するユーザ10が保持する端末装置70の動きを、画像処理装置400が表示する立体画像で再現することができる。
【0173】
<4.その他の実施形態>
(ユーザが複数人の場合における遮蔽領域および非遮蔽領域)
図5で説明した例では、解析部130が、ユーザが1人の場合の遮蔽領域60a、非遮蔽領域60bを計算する場合について説明したが、ユーザが複数人(たとえば、2人)の場合でも、遮蔽領域60a、非遮蔽領域60bを計算することができる。その他の実施形態に関する各処理部の説明は、
図4を用いた各処理部の符号を用いる。
【0174】
図33は、ユーザが複数人の場合における遮蔽領域および非遮蔽領域の一例を示す図である。解析部130は、撮像情報に含まれる2枚の画像の各部についてステレオマッチングを行うことで、撮像情報に含まれるユーザ10A,10Bとディスプレイ3との距離、実物体11aとディスプレイ3との距離を算出する。以下の説明では、ユーザ10Aとディスプレイ3との距離を、「第3距離」と表記する。ユーザ10Bとディスプレイ3との距離を、「第4距離」と表記する。実物体11aとディスプレイ3との距離を、「第2距離」と表記する。
【0175】
解析部130は、実物体11aの大きさと、ユーザ10Aの視点位置と、ユーザ10Bの視点位置と、第2距離と、第3距離と、第4距離との幾何学的な関係から、遮蔽領域60aと、非遮蔽領域60bを算出する。遮蔽領域60aは、ディスプレイ3の表示領域のうち、ユーザ10Aまたはユーザ10Bが実物体11aにより見ることができない領域を示す。非遮蔽領域60bは、ディスプレイ3の表示領域のうち、ユーザ10Aおよびユーザ10Bが見ることのできる領域を示す。
【0176】
制御部150は、解析部130の解析結果を基にして、たとえば、制御ポリシーP4で説明した処理を実行する。すなわち、制御部150は、立体画像を、画像表示部60の非遮蔽領域に表示させる制御を行う。
【0177】
(その他の実施形態に係る画像処理装置の処理手順)
図34は、その他の実施形態に係る画像処理装置の処理手順を示すフローチャートである。
図34に示すように、画像処理装置100は、画像撮像部50から撮像情報の取得を開始する(ステップS300)。画像処理装置100の視点位置検出部110は、複数のユーザ10A,10Bの視点位置を検出する(ステップS301)。
【0178】
画像処理装置100の解析部130は、ユーザ10A(または、ユーザ10B)が保持する実物体11aを検出する(ステップS302)。解析部130は、実物体11aと仮想物体11bとの位置関係を計算する(ステップS303)。画像処理装置100の制御部150は、遮蔽領域と非遮蔽領域とを特定する(ステップS304)。
【0179】
制御部150は、非遮蔽領域に含まれる表示位置を計算し、制御情報を生成する(ステップS305)。表示画像生成部120は、モデルデータ140aと制御情報とを基にして、立体画像の情報を生成し、画像表示部60の非遮蔽領域に立体画像を表示させる(ステップS306)。
【0180】
画像処理装置100は、処理を継続する場合には(ステップS307,Yes)、ステップS301に移行する。一方、画像処理装置100は、処理を継続しない場合には(ステップS307,No)、処理を終了する。
【0181】
画像処理装置100は、上記の処理を実行することで、複数のユーザの視点位置に基づいて、立体画像(仮想物体11b)を非遮蔽領域に表示させるため、複数のユーザは、実物体11aと、立体画像との双方を同時に参照することができる。
【0182】
<5.ハードウェア構成>
上述してきた各実施形態に係る画像処理装置は、たとえば、
図35に示すような構成のコンピュータ500によって実現される。以下、実施形態に係る画像処理装置100(200,300,400)を例に挙げて説明する。
図35は、画像処理装置の機能を実現するコンピュータ500の一例を示すハードウェア構成図である。コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータの入力を受け付ける入力装置502と、立体画像を表示するディスプレイ503とを有する。また、コンピュータ500は、各種装置に接続するためのインタフェース504を有する。インタフェース504は、カメラ等に接続される。
【0183】
ハードディスク装置506は、画像処理プログラム506aを有する。CPU501は、画像処理プログラム506aを読み出してRAM505に展開する。画像処理プログラム506aは、画像処理プロセス505aとして機能する。
【0184】
画像処理プロセス505aの処理は、
図4で説明した視点位置検出部110、表示画像生成部120、解析部130、制御部150の各処理に対応する。
【0185】
なお、画像処理プログラム506aについては、必ずしも最初からハードディスク装置206に記憶させておかなくてもよい。例えば、コンピュータ500に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ500が画像処理プログラム506aを読み出して実行するようにしてもよい。
【0186】
<6.むすび>
画像処理装置は、撮像部と、解析部と、制御部とを有する。撮像部は、ユーザおよび実物体を撮像する。解析部は、前記撮像部に撮像された撮像情報を基にして、前記実物体の姿勢を解析する。制御部は、前記実物体の姿勢を基にして、前記実物体に関連する画像の表示を制御する。これによって、ユーザ10は、自身が保持する実物体11aの姿勢と同一の姿勢となる仮想物体11bの立体画像を参照することができ、ユーザ10の作業をサポートすることができる。
【0187】
前記解析部は、前記撮像情報を基にして、前記実物体の大きさを計算する処理を更に実行し、前記制御部は、前記実物体の大きさを基にして、前記実物体に関連する画像の大きさを制御する。これによって、ユーザ10は、自身が保持する実物体11aと同一の大きさとなる仮想物体11bの立体画像を参照することができ、ユーザ10の作業をサポートすることができる。
【0188】
前記解析部は、前記撮像情報を基にして、前記画像を表示する表示画面および前記ユーザの第1距離と、前記表示画面および前記実物体の第2距離とを計算し、前記制御部は、前記第1距離および前記第2距離とを基にして、前記実物体に関連する画像の大きさを調整する。これによって、実物体11aが、画像表示部60よりもユーザ10の手前に位置する場合でも、ユーザ10は、見た目が、自身が保持する実物体11aと同一の大きさとなる仮想物体11bの立体画像を参照することができ、ユーザ10の作業をサポートすることができる。
【0189】
前記実物体は、前記画像を表示する表示画面と前記ユーザとの間に位置し、前記解析部は、前記撮像情報を基にして、前記表示画面の領域のうち、前記実物体により前記ユーザが参照できない遮蔽領域と、前記ユーザが参照可能な非遮蔽領域とを計算し、前記制御部は、前記非遮蔽領域に、前記実物体に関連する画像を表示させる。
【0190】
前記実物体は、前記表示画面と複数のユーザとの間に位置し、前記解析部は、前記撮像情報を基にして、前記表示画面の領域のうち、前記実物体により前記複数のユーザが参照できない遮蔽領域と、前記複数のユーザが参照可能な非遮蔽領域とを計算し、前記制御部は、前記非遮蔽領域に、前記実物体に関連する画像を表示させる。これによって、複数のユーザは、実物体11aと、立体画像との双方を同時に参照することができる。
【0191】
前記制御部は、前記実物体と、前記表示画面に表示される前記実物体に関連する画像との距離を基にして、前記実物体に関連する画像を、前記非遮蔽領域または前記遮蔽領域に表示させる。これによって、「実物体11aと立体画像とを重ねて見る」場合と、「実物体11aと立体画像とを並べて見くらべる」場合とにそれぞれ対応して、ユーザ10の作業をサポートすることができる。
【0192】
前記解析部は、前記撮像情報を基にして、前記ユーザの位置の動きおよび前記実物体の動きを計算し、前記制御部は、前記ユーザの位置の動きおよび前記実物体の動きを基にして、前記実物体に関する画像を表示する表示画面の位置を制御する。これによって、実物体11aの移動に相当する変化を、仮想物体11bの表示位置の移動で代替表現することができ、ユーザ10の作業をサポートすることができる。
【0193】
前記制御部は、他の実物体を撮像する他の撮像部に撮像された撮像情報を基にして作成される表示制御情報であって、前記実物体に関連する画像の表示を制御する情報である前記表示制御情報を他の装置から受信し、受信した前記表示制御情報を基にして、前記実物体に関連する画像の表示を制御する。これによって、これによって、ユーザ15とは異なる場所に位置するユーザ10が保持する実物体11aの動きを、画像処理装置300が表示する立体画像で再現することができる。
【0194】
前記制御部は、端末装置の動きを基にして作成される表示制御情報であって、前記実物体に関連する画像の表示を制御する情報である前記表示制御情報を前記端末装置から受信し、受信した前記表示制御情報を基にして、前記実物体に関連する画像の表示を制御する。これによって、ユーザ15とは異なる場所に位置するユーザ10が保持する端末装置70の動きを、画像処理装置400が表示する立体画像で再現することができる。
【0195】
前記解析部は、前記撮像情報を基にして、前記実物体の姿勢および動きを解析し、前記実物体の特徴と、前記実物体の姿勢および動きの情報を記憶部に記憶する。前記制御部は、前記解析部に解析される前記実物体の特徴に対応する姿勢および動きの情報を記憶部から取得し、取得した姿勢および動きの情報を基にして、前記実物体に関連する画像の表示を制御する。これによって、過去の実物体11aの動きを、仮想物体11bで再生することができる。
【0196】
前記解析部は、前記撮像情報を基にして、前記実物体に対する照明の位置および照明の色を推定し、前記制御部は、照明の位置および照明の色を基にして、前記実物体に関連する画像の色を変化させる。これによって、実物体11aに照明を照射した場合と同様の照明のエフェクトを仮想物体11bに反映させることが可能となる。
【0197】
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【0198】
なお、本技術は以下のような構成も取ることができる。
(1)
ユーザおよび実物体を撮像する撮像部と、
前記撮像部に撮像された撮像情報を基にして、前記実物体の姿勢を解析する解析部と、
前記実物体の姿勢を基にして、前記実物体に関連する画像の表示を制御する制御部と
を有する画像処理装置。
(2)
前記解析部は、前記撮像情報を基にして、前記実物体の大きさを計算する処理を更に実行し、前記制御部は、前記実物体の大きさを基にして、前記実物体に関連する画像の大きさを制御することを特徴とする前記(1)に記載の画像処理装置。
(3)
前記解析部は、前記撮像情報を基にして、前記画像を表示する表示画面および前記ユーザの第1距離と、前記表示画面および前記実物体の第2距離とを計算し、前記制御部は、前記第1距離および前記第2距離とを基にして、前記実物体に関連する画像の大きさを調整することを特徴とする前記(1)または(2)に記載の画像処理装置。
(4)
前記実物体は、前記画像を表示する表示画面と前記ユーザとの間に位置し、前記解析部は、前記撮像情報を基にして、前記表示画面の領域のうち、前記実物体により前記ユーザが参照できない遮蔽領域と、前記ユーザが参照可能な非遮蔽領域とを計算し、前記制御部は、前記非遮蔽領域に、前記実物体に関連する画像を表示させることを特徴とする前記(1)、(2)または(3)に記載の画像処理装置。
(5)
前記実物体は、前記表示画面と複数のユーザとの間に位置し、前記解析部は、前記撮像情報を基にして、前記表示画面の領域のうち、前記実物体により前記複数のユーザが参照できない遮蔽領域と、前記複数のユーザが参照可能な非遮蔽領域とを計算し、前記制御部は、前記非遮蔽領域に、前記実物体に関連する画像を表示させることを特徴とする前記(1)~(4)のいずれか一つに記載の画像処理装置。
(6)
前記制御部は、前記実物体と、前記表示画面に表示される前記実物体に関連する画像との距離を基にして、前記実物体に関連する画像を、前記非遮蔽領域または前記遮蔽領域に表示させることを特徴とする前記(4)に記載の画像処理装置。
(7)
前記解析部は、前記撮像情報を基にして、前記ユーザの位置の動きおよび前記実物体の動きを計算し、前記制御部は、前記ユーザの位置の動きおよび前記実物体の動きを基にして、前記実物体に関する画像を表示する表示画面の位置を制御することを特徴とする前記(1)~(6)のいずれか一つに記載の画像処理装置。
(8)
前記制御部は、他の実物体を撮像する他の撮像部に撮像された撮像情報を基にして作成される表示制御情報であって、前記実物体に関連する画像の表示を制御する情報である前記表示制御情報を他の装置から受信し、受信した前記表示制御情報を基にして、前記実物体に関連する画像の表示を制御することを特徴とする前記(1)に記載の画像処理装置。
(9)
前記制御部は、端末装置の動きを基にして作成される表示制御情報であって、前記実物体に関連する画像の表示を制御する情報である前記表示制御情報を前記端末装置から受信し、受信した前記表示制御情報を基にして、前記実物体に関連する画像の表示を制御することを特徴とする前記(1)に記載の画像処理装置。
(10)
前記解析部は、前記撮像情報を基にして、前記実物体の姿勢および動きを解析し、前記実物体の特徴と、前記実物体の姿勢および動きの情報を記憶部に記憶する処理を更に実行することを特徴とする前記(1)に記載の画像処理装置。
(11)
前記制御部は、前記解析部に解析される前記実物体の特徴に対応する姿勢および動きの情報を記憶部から取得し、取得した姿勢および動きの情報を基にして、前記実物体に関連する画像の表示を制御することを特徴とする前記(1)に記載の画像処理装置。
(12)
前記解析部は、前記撮像情報を基にして、前記実物体に対する照明の位置および照明の色を推定し、前記制御部は、照明の位置および照明の色を基にして、前記実物体に関連する画像の色を変化させることを特徴とする前記(1)~(7)のいずれか一つに記載の画像処理装置。
(13)
前記制御部は、前記実物体に関連する立体画像の表示を制御することを特徴とする前記(1)~(12)のいずれか一つに記載の画像処理装置。
(14)
コンピュータが、
ユーザおよび実物体を撮像する撮像部に撮像された撮像情報を基にして、前記実物体の姿勢を解析し、
前記実物体の姿勢を基にして、前記実物体に関連する画像の表示を制御する
処理を実行する画像処理方法。
(15)
コンピュータを、
ユーザおよび実物体を撮像する撮像部に撮像された撮像情報を基にして、前記実物体の姿勢を解析する解析部と、
前記実物体の姿勢を基にして、前記実物体に関連する画像の表示を制御する制御部と
として機能させるための画像処理プログラム。
【符号の説明】
【0199】
50,51,52,53 画像撮像部
60,61,62,63 画像表示部
100,200,300,400 画像処理装置
110,210,310,410 視点位置検出部
120,220,320,420 表示画像生成部
130,230,330,430 解析部
140,240,340,440 記憶部
140a,240a,340a,440a モデルデータ
140b,240b,340b,440b 解析結果テーブル
150,250,350,450 制御部
260,360,460 通信部