以下、本発明の実施形態について図面に基づいて説明する。
(第1の実施形態)
図1は、第1の実施形態に係る情報処理装置の一例としての画像処理装置10のハードウェア構成を示す図である。図2は、画像処理装置10の外観図である。画像処理装置10は、図1に示すように、撮影部11と、制御部12と、指示部13と、表示部14と、記憶部15と、を有している。図2に示すように、画像処理装置10の筐体の一方の面に撮影部11が設けられ、他方の面に指示部13及び表示部14が設けられている。指示部13及び表示部14は、タッチパネル20として一体に設けられているものとする。
撮影部11は、画像を撮影する。制御部12は、例えばCPUを有し、画像処理装置10全体を制御する。指示部13は、ユーザが指示を入力するためのユーザインタフェースである。表示部14は、各種情報を表示する表示画面である。記憶部15は、各種情報及びプログラムを記憶する。なお、後述する画像処理装置10の機能や処理は、制御部12が記憶部15に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
本実施形態に係る画像処理装置10は、ユーザ操作に応じて、実空間を撮影した撮影画像からオブジェクト画像を抽出し、オブジェクト画像が紙等、実空間に存在する物体上に配置されたイメージ画像を電子文書として作成することができる。ここで、ユーザ操作としては、オブジェクトを選択するためのタップ操作、オブジェクトの貼り付け先を指定するためのリリース操作が挙げられる。ユーザは、ドラッグアンドドロップの操作により、オブジェクト画像を実空間に存在する紙の上に配置するような感覚で、紙の上にオブジェクト画像が配置された、スクラップブックのような電子文書を簡易に作成することができる。
図3は、画像処理装置10のソフトウェア構成を示す図である。画像処理装置10は、ソフトウェア構成として、受付部31と、撮影処理部32と、表示処理部33と、第1オブジェクト抽出部34と、電子文書記憶部35と、第2オブジェクト特定部36と、関連付け部37と、状態管理部38と、を有している。受付部31は、タッチパネル20への入力内容を受け付ける。撮影処理部32は、撮影部11を制御し、撮影画像を得る。表示処理部33は、表示部14への表示に係る処理を行う。第1オブジェクト抽出部34は、撮影処理部32により得られた撮影画像から実空間に存在するオブジェクトを示すオブジェクト画像を抽出する。ここで、オブジェクトとは、撮影画像中にその画像が示されるオブジェクトのうち、ユーザにより選択されたオブジェクトである。以下、第1オブジェクト抽出部34により抽出されるオブジェクトを第1オブジェクトと称することとする。電子文書記憶部35は、電子文書を記憶する。ここで、電子文書は、拡張現実(AR)を実現するために用いられる第2オブジェクトを示すイメージ画像データである。ここで、第2オブジェクトは、第1オブジェクトと関連付けられるオブジェクトであり、本実施形態においては、マーカが付された紙であるものとする。但し、第2オブジェクトは、実空間に存在する物体であればよく、その種類は特に限定されるものではない。第1オブジェクトについても同様である。なお、電子文書は、第2のオブジェクトを示す情報、より詳しくは、第2のオブジェクトを示す画像の一例である。
図4は、第2オブジェクトとしての、マーカが付された紙の一例を示す図である。図4(a)に示すように、第2オブジェクト400には、種類の異なる複数のマーカ410が付されている。画像処理装置10は、このマーカ410に基づいて、第2オブジェクト400上の各位置と、電子データとを関連付けることにより、拡張現実を実現することができる。本実施形態に係る画像処理装置10は、電子データとして、第1オブジェクトのオブジェクト画像を第2オブジェクト400の位置に対応付けて記録する。以下、このような第2オブジェクト400を実世界拡張文書と称する。図4(b)は、マーカ410の一例を示す図である。このように、各マーカ410は、特徴的なパターン画像である。
マーカ410は、第2オブジェクト400の上下左右の方向と、他のマーカとの違いとを特定できるものであるものとする。方向を特定可能なものとするのは、第2オブジェクト400がどの向きから撮影された場合であっても、マーカ410に基づいて、第2オブジェクト400の上下左右を一意に判別可能とするためである。他のマーカとの違いを特定可能なものとするのは、第2オブジェクト400上の複数の位置を識別可能とするためである。図4(b)に示すマーカ410は、2つのドット411,412を有している。右下のドット412は、方向を識別するためのドットであり、これにより、マーカ中心を原点として座標系を定義することができる。一般的に4(b)に示したようなマーカはマーカに平行な軸の他に、垂直な軸を持ち得るが、本実施形態においては使用されないため説明を割愛する。また左上のドット411は、他のマーカとの違いを識別するためのパターンである。
図5は、マーカ情報の一例を示す図である。マーカ情報は、予め電子文書記憶部35に記憶されているものとする。各マーカのパターンと、オフセット座標Poffと、サイズMhとを対応付けて記憶している。ここで、オフセット座標Poffは、実世界拡張文書としての第2オブジェクト400に示されたマーカの中心位置の座標であり、実世界拡張文書座標系(uv座標系)の座標である。また、サイズMhも、実世界拡張文書座標系におけるサイズである。図6は、電子文書記憶部35に記憶される、電子文書の一例を示す図である。図6に示すように、電子文書600は、マーカ情報に示されるオフセット座標601により、実空間に存在する紙に関連付けられている。
第2オブジェクト特定部36は、撮影画像から、実空間に存在する第2オブジェクトを特定し、第2オブジェクトを示す静止画像を取得する。ここで、第2オブジェクト特定部36が特定対象とする第2オブジェクトは、電子文書記憶部35に記憶されている電子文書に示されるものである。関連付け部37は、第1オブジェクトのオブジェクト画像と、第2オブジェクトとを相互に作用させる。具体的には、関連付け部37は、オブジェクト画像を、電子文書に関連付けて記録する。
状態管理部38は、画像処理装置10の動作状態を管理する。画像処理装置10の動作状態としては、図7に示すように、初期状態700、第1待機状態701、第2待機状態702がある。電源投入後、画像処理装置10は、初期状態700になる。そして、初期状態700において、受付部31が、相互作用開始指示を受け付けると、画像処理装置10の状態は、第1待機状態701に遷移する。第1待機状態701は、第1オブジェクトの選択指示の入力を待つ状態である。第1待機状態701において、ユーザによるタップ操作により第1オブジェクトの選択指示を受け付けると、画像処理装置10の状態は、第2待機状態702に遷移する。第2待機状態702は、リリース操作により第2オブジェクトの選択指示の入力を待つ状態である。
図8は、画像処理装置10による処理を示すフローチャートである。なお、処理の開始前に、受付部31が受け付けた相互作用開始指示に従い、状態管理部38により、第1待機状態への状態遷移が完了しているものとする。画像処理装置10による処理は、第1オブジェクト抽出処理と、第2オブジェクト認識処理と、関連付け処理の3つの処理に大別される。第1オブジェクト抽出処理は、相互作用としての関連付けを行う第1オブジェクトを抽出する処理であり、後述のS800〜S804の処理を含んでいる。第2オブジェクト認識処理は、第1オブジェクトと相互作用させる第2オブジェクトとしての実世界拡張文書を認識する処理であり、S805〜S807の処理を含んでいる。関連付け処理は、実世界拡張文書に対し第1オブジェクトを関連付ける処理であり、S808の処理に対応する。
S800において、撮影処理部32は、撮影部11に対し、ライブビュー画像の撮影を指示する。そして、表示処理部33は、得られたライブビュー画像としての動画像の表示部14への表示を開始する(表示処理)。なお、ライブビュー画像は、撮影部11の撮影可能な最大解像度に比べて低い解像度の画像であるものとする。撮影タイミングから表示タイミングまでの遅延を少なくするためである。次に、S801において、受付部31は、オブジェクト画像の選択指示を受け付けたか否かを判定する。ここで、オブジェクト画像の選択指示は、第1オブジェクトの第1の選択指示の一例である。また、S801の処理は、受付処理の一例である。
ユーザは、ライブビュー画像を確認し、オブジェクト画像として記録したい画像を見つけた場合に、オブジェクト画像の表示位置に対し、タップ操作(選択操作)を行う。そして、受付部31は、タップ操作に応じて、タップ位置に表示されているオブジェクト画像の選択指示を受け付ける。図9は、ユーザが、位置Aにタップ操作を行う様子を示す図である。受付部31は、オブジェクト画像の選択指示を受け付けるまで待機し(S801でNo)、選択指示を受け付けると(S801でYes)、処理をS802へ進める。このように、画像処理装置10は、第1待機状態701では、ユーザがタップを行わない限り、ライブビュー画像の表示を継続し、ステップS801の処理を定期的に繰り返す。
S802において、受付部31は、タップされた位置(タップ位置)を記憶部15に記録し、状態管理部38は、画像処理装置10の状態を第2待機状態702に遷移させる。そして、撮影処理部32は、撮影部11に命令を出し撮影を行い、第1オブジェクトを被写体として含む静止画像を取得する(撮影処理)。そして、撮影処理部32は、取得した静止画像を記憶部15に記録する。なお、S802において、撮影処理部32は、ライブビュー画像に比べて解像度の高い静止画像の撮影を指示し、解像度の高い静止画像を取得するものとする。これにより、後述のオブジェクト画像の抽出を精度よく行うことができる。以下、S802において取得した静止画像を後述の第2静止画像と区別すべく第1静止画像と称することとする。次に、S803において、第1オブジェクト抽出部34は、S802において得られた第1静止画像から、タップ位置に基づいて、選択指示に係るオブジェクト画像を抽出する(抽出処理)。本実施形態においては、第1オブジェクト抽出部34は、タップ位置の画素値を基準値として、基準値との差分が許容値以下となる画素の領域を第1のオブジェクトが示されたオブジェクト画像として抽出する。
図10は、オブジェクト画像抽出処理(S803)を示すフローチャートである。S1000において、第1オブジェクト抽出部34は、タップ位置の座標D1を、S802において取得した第1静止画像に射影し、第1静止画像上の、タップ位置に対応する位置の座標P1を算出する。第1オブジェクト抽出部34は、タッチパネル20の解像度と、第1静止画像の解像度とを用いた線形変換により、この射影を行えばよい。図11は、射影処理の説明図である。図11(a)に示すように、タッチパネル20の左上頂点を原点とするxy座標系において、タップ位置の座標がD1(xd1,yd1)であったとする。また、タッチパネルの縦幅及び横幅がそれぞれ、xd2,yd2であったとする。一方、図11(b)に示すように、第1静止画像の右上頂点を原点とするx'y'座標系において、第1静止画像1100の縦幅及び横幅がそれぞれx'p2,y'p2であったとする。この場合、(式1)、(式2)の関係から座標P1(x'p1,y'p1)を算出する。
x'p1/x'p2=xd1/xd2 …(式1)
y'p1/y'p2=yd1/yd2 …(式2)
次に、S1001において、第1オブジェクト抽出部34は、座標P1の位置の画素値C1を取得する。画素値C1は、例えばR,G,B等の色成分の数値を有している。次に、S1002において、第1オブジェクト抽出部34は、座標P1の画素をオブジェクトに属する領域Rとして登録する。第1オブジェクト抽出部34はさらに、画素値C1を領域Rの代表色Crとして設定する。次に、S1003において、第1オブジェクト抽出部34は、領域Rに隣接する画素を探索し、該画素を処理画素Pnとする。次に、S1004において、第1オブジェクト抽出部34は、処理画素Pnの画素値Cnを取得する。
次に、S1005において、代表色Crと画素値Cnの差分値を算出する。第1オブジェクト抽出部34は、例えば、画素値の各色成分の差分値の絶対値の和を差分値として算出する。そして、第1オブジェクト抽出部34は、差分値が、予め定められている閾値Thと比較して小さい場合はPnの位置を領域Rに追加する。一方、第1オブジェクト抽出部34は、差分値が閾値Th以上の場合には、Pnの位置を領域Rnに追加することなく、S1005の処理を終える。次に、S1006において、第1オブジェクト抽出部34は、領域Rに隣接する、未処理画素があるか否かを判定する。第1オブジェクト抽出部34は、未処理画素が存在する場合には(S1006でYes)、処理をS1007へ進める。第1オブジェクト抽出部34は、未処理画素が存在しない場合には(S1006でNo)、第1オブジェクト抽出処理を終了する。すなわち、この時点において、領域Rとして設定された領域に含まれる画素群がオブジェクト画像として抽出される。S1007において、第1オブジェクト抽出部34は、未処理画素を次の処理位置Pnとして設定し、処理をS1004へ進める。
なお、他の例としては、第1オブジェクト抽出部34は、オブジェクト画像をより高精度に検出すべく、PnとP1の間の距離に応じて、閾値Thに重みを付けて、位置Pnを領域Rに追加するか否かを判定してもよい。また、他の例としては、第1オブジェクト抽出部34は、領域Rに周囲を囲まれている領域は、差分値に関わらず、領域Rに含めることとしてもよい。また、他の例としては、第1オブジェクト抽出部34は、領域Rに新たな位置を追加する度に、領域Rに属する位置の画素値の平均値で代表色Crを更新してもよい。また、第1オブジェクト抽出部34は、オブジェクト抽出処理において、第1静止画像において第1オブジェクトが示される領域を特定するための情報を得ればよく、そのための具体的な方法は実施形態に限定されるものではない。第1オブジェクト抽出部34は、例えば、オブジェクト画像を抽出するのに替えて、第1静止画像においてオブジェクトが表示される領域の輪郭を示す情報を得てもよい。
図8に戻り、オブジェクト画像抽出処理(S803)の後、S804において、表示処理部33は、表示部14に表示中のライブビュー画像上(撮影画像上)に、S803において抽出されたオブジェクト画像を重畳して表示する。なお、表示処理部33は、さらにタッチパネル20のサイズに対するオブジェクト画像のサイズの割合が所定値以上である場合には、オブジェクト画像を半透明にして表示する。すなわち、表示処理部33は、オブジェクト画像を透過表示する。これにより、オブジェクト画像が大き過ぎて、ライブビュー画像が見え難くなるのを防ぐことができる。また、他の例としては、33は、透過表示に替えて、オブジェクト画像を縮小表示してもよい。
続いて、第2オブジェクト認識処理について説明する。第2オブジェクト認識処理においては、まずS805において、受付部31は、第2オブジェクトとしての紙の選択指示を受け付けたか否かを判定する。ここで、第2オブジェクトの選択指示は、第2の選択指示の一例である。また、S805の処理は、受付処理の一例である。さらに、本実施形態においては、選択指示は、第2オブジェクト内の位置を指定する情報である。受付部31は、指示部13がS801においてタップされた手指のリリース操作を検知した場合に、リリース位置に表示されているオブジェクトを第2オブジェクトとする選択指示を受け付ける。また、リリース位置が、第2オブジェクト内の位置に対応する。受付部31は、第2オブジェクトの選択指示を受け付けるまで待機し(S805でNo)、選択指示を受け付けると(S805でYes)、処理をS806へ進める。このように、画像処理装置10は、第2待機状態702では、ユーザがリリースを行わない限り、オブジェクト画像が重畳された状態でのライブビュー画像の表示を継続し、ステップS805の処理を定期的に繰り返す。
S806において、受付部31は、リリースされた位置(リリース位置)の座標(リリース座標)P2を記憶部15に記憶し、状態管理部38は、画像処理装置10の状態を第1待機状態701に遷移させる。ここで、リリース座標P2は、表示部14の座標系、すなわち表示座標系の値である。そして、撮影処理部32は、撮影部11に命令を出して撮影を行い、第2オブジェクトを被写体として含む静止画像を取得する。そして、撮影処理部32は、取得した静止画像を記憶部15に記録する。なお、S806においては、S802において取得した第1静止画像のように高解像度の静止画像を取得する必要はなく、マーカ認識が可能な程度の解像度の静止画像を得るものとする。以下、S806において撮影された静止画像を第2静止画像と称する。
次に、S807において、第2オブジェクト特定部36は、図5を参照しつつ説明したマーカ情報に基づいて、S806において取得した第2静止画像において、マーカの探索及び認識を行う。この処理には、記憶部15に予め記憶されているパターンに基づいたテンプレートマッチングが用いられる。第2オブジェクト特定部36は、認識したマーカをマーカMとして記憶部15に記憶する。なお、実空間に存在する第2オブジェクトとしての紙上のマーカに対する撮影部11の光軸の角度は、紙面に対して垂直とは限らない。この場合は、撮影したマーカ形状に歪みが生じるため台形補正等の処理が必要となるが、説明を簡易にするため以下からは光軸が垂直な状況で撮影されている場合を例に説明する。
また、第2オブジェクト特定部36は、複数のマーカが検出された場合には、タッチパネル20におけるリリース位置に最も近い位置に表示されているマーカをマーカMとして検出することとする。また、第2オブジェクト特定部36は、マーカが検出されない場合には、エラーと判断し、オブジェクト選択のためのタップ操作のやり直しを促す情報を出力する。そして、S801から処理を行うこととする。以上、S805〜S807の処理により、第2オブジェクトとしての紙と、リリース位置に対応する、紙上の位置とを認識することができる。
図12は、リリース操作(S805)の説明図である。オブジェクトが選択され、オブジェクト画像1200をタップした状態を維持しつつ、実世界拡張文書としての第2オブジェクト400に示されたマーカ401のマーカ画像1201を表示部14に表示させた状態で、ユーザがリリースを行ったとする。この場合、S806において、リリースされた座標(リリース座標)P2が記憶部15に記録され、マーカ画像1201がマーカMとして記憶部15に記録される。さらに、マーカ401を被写体として含む第2静止画像が撮影される。すなわち、S806において得られた第2静止画像には、実世界拡張文書中のマーカ401のマーカ画像1201が含まれる。そして、S807においては、第2静止画像からマーカ401のマーカ画像がマーカMとして検出される。
最後に、関連付け処理(S808)について説明する。図13は、関連付け処理(S808)における詳細な処理を示すフローチャートである。関連付け処理においては、実世界拡張文書中のどこにユーザがリリースしたかが反映され関連付けられるのが望ましい。すなわち、ユーザは実世界拡張文書中の任意の位置にあたかもドラッグアンドドロップを行う感覚で、実世界拡張文書内の位置とオブジェクト画像とを関連付けることにより、ユーザの感覚に合った関連付けを行うことが望ましい。本実施形態に係る関連付け処理においては、S806の処理において得られたリリース位置P2と、S807の処理において得られたマーカMに対応付けられた実世界拡張文書の座標系の座標を用いて、関連付けを行う。
すなわち、まずS1300において、関連付け部37は、表示座標系のリリース座表P2をS806において得られた第2オブジェクトを含む第2撮影画像に射影し、この第2撮影画像の座標系である画像座標系における座標Pb2を算出する。具体的には、関連付け部37は、表示部14の解像度と第2静止画像の解像度を用いた線形変換により射影を行う。例えば、図14(a)に示す座標P2は、図14(b)に示す静止画像1400上の座標Pb2に射影される。次に、S1301において、関連付け部37は、S807において得られたマーカMに対応付けられた実世界拡張文書の実世界拡張文書座標系のオフセット座標Poff(uoffset,voffset)を記憶部15から読み出す。
次に、S1302において、関連付け部37は、S1300において得られた座標Pb2(xPb2,yPb2)を実世界拡張文書座標系に変換した座標、Pma2(uPma2, vPma2)を求める。ここで、図14を参照しつつ、S1302における処理について詳述する。関連付け部37は、まず、実世界拡張文書と第2静止画像との間のスケールを合わせるための補正値Sを算出する。具体的には、関連付け部37は、各画像中のマーカMのサイズに基づいて、補正値Sを算出する。図14(b)に示すように、第2静止画像1400におけるマーカMのサイズがMihであるとする。また、実世界拡張文書中のマーカMの実際のサイズはMhであるとする。この場合、関連付け部37は、(式3)により補正値Sを算出する。
次に、関連付け部37は、第2静止画像中のマーカMの中心座標を求め、該座標をPk(xpk,ypk)とする。次に、関連付け部37は、マーカMの傾きからPkを原点とした水平軸を設け、該水平軸と、ベクトルPb2Pkがなす角度を図14(b)のようにθと定義し、算出する。次に、関連付け部37は、ベクトルPb2Pkの長さDを下記(式4)で求める。
次に、関連付け部37は、ここまでの計算で得られたS,D,θとマーカMに関連付けられているオフセット座標Poffを用いて(式5)により、Pma2(uPma2,vPma2)を算出する。
以上の処理により、関連付け部37は、図14(c)に示すような実世界拡張文書座標系のリリース座標Pma2を求めることができる。
図13に戻り、S1302の処理の後、S1303において、関連付け部37は、実世界文書座標系におけるPma2の位置に第1オブジェクトのオブジェクト画像をレイアウトした電子文書を記憶部15に記録する。以上で、関連付け処理が終了する。ここで、S1303の処理は、オブジェクト画像を第2オブジェクトの位置に対応付けて記録する関連付け処理の一例である。
以上の処理を行うことで、ユーザは実世界上のオブジェクトを用いたドラッグアンドドロップを仮想的に行うことができる。これら一連の処理を連続で行うことで、スクラップブックのように切り貼りした電子文書を、実世界拡張文書を通じて簡易にレイアウトしながら作成することができる。この際には一度実世界拡張文書に関連付けた第1オブジェクトは、その後もライブビュー画像で実世界拡張文書に重畳表示され続けている事が望ましい。以上のように、第1の実施形態に係る画像処理装置10は、ユーザによる煩雑な作業を要することなく、撮影画像から得られたオブジェクトを他のオブジェクトに関連付けることができる。
第1の実施形態に係る画像処理装置10の第1の変更例について説明する。第1の変更例に係る画像処理装置10は、より精度よく第1オブジェクトのオブジェクト画像を抽出すべく、以下の処理を行ってもよい。すなわち、画像処理装置10は、オブジェクト画像抽出処理(S803)において、画素群として第1オブジェクトを抽出するのに替えて、第1オブジェクトの輪郭を示す輪郭情報を生成する。また、画像処理装置10は、オブジェクト画像抽出処理(S803)後も継続して第1静止画像を記憶部15に保持しておく。そして、画像処理装置10は、重畳表示処理(S804)においては、ライブビュー画面上に第1静止画像の輪郭外を表示しないように画像処理した第1静止画像を重畳表示する。これにより、実施形態における重畳表示と同様の表示が行われる。そして、画像処理装置10は、関連付け処理(S808)の後、ユーザ操作に応じて、オブジェクト画像の抽出元の第1静止画像を用いて、第1オブジェクトの輪郭を修正し、修正後の輪郭を示す輪郭情報を用いて、改めて関連付け処理を行う。
この修正方法はユーザが第1静止画像中の所望の部分を第1オブジェクトに含めるか含めないかを選択できるようにすればよく、例えば、2つの方法が挙げられる。第1の方法は、第1オブジェクトの一部をタップすることで、タップ座標にある画素の色に近い色を持つ、第1オブジェクト内の画素群を第1オブジェクト外とする。第2の方法は、第1オブジェクト外をタップすることでタップ座標にある画素の色に近い色を持つ、第1オブジェクト外の画素群を第1オブジェクト内とする。
以上の処理によりユーザは第1オブジェクトの形状を、第2オブジェクトの電子文書に貼り付けた後で所望の形に修正することができる。なお、画像処理装置10は、回転や拡大、色調変更等の編集処理も上述の処理と同様、第2オブジェクトの電子文書に貼り付けた後、再度改めて行ってもよい。
第2の変更例について説明する。本実施形態においては、画像処理装置10は、第2静止画像をライブビュー画像と別に取得したが、ライブビュー画像を第2静止画像として利用してもよい。この場合、画像処理装置10は、さらに、ユーザがリリースを行う前から、ライブビュー画像に対しマーカ認識を繰り返し行うものとする。これにより、貼りつけ可能か否かをリアルタイムに表示部14に示すことができる。例えば、貼りつけ可能である場合は表示部14に表示されている第2オブジェクトの縁取りを緑に、そうでない場合は赤にして表示する等すればよい。
第3の変更例としては、画像処理装置10が受け付けるユーザ操作は、実施形態に限定されるものではない。画像処理装置10は、例えば、タップアンドリリースを検知した場合に第1オブジェクトの選択指示を受け付け、再度タップアンドリリースを検知した場合に、第2オブジェクトの選択指示を受け付けることとしてもよい。
第4の変更例としては、画像処理装置10は、オブジェクト画像を第2オブジェクトの電子文書にレイアウトする際に、電子文書のサイズとオブジェクト画像のサイズとに基づいて、オブジェクト画像のサイズを適宜変更してもよい。例えば、画像処理装置10は、オブジェクト画像のサイズが電子文書のサイズの一定割合(例えば1/4)よりも大きいサイズである場合に、一定割合までオブジェクト画像を縮小してもよい。また、画像処理装置10は、オブジェクト画像のサイズが電子文書のサイズの一定割合(例えば1/64)よりも小さいサイズである場合に、一定割合までオブジェクト画像を拡大してもよい。この場合、画像処理装置10は、変更後のオブジェクト画像を電子文書上にレイアウトし、レイアウト後の電子文書を記録する。
次に、第5変更例について説明する。本実施形態に係る画像処理装置10は、第2オブジェクトとしての紙の実世界文書座標系におけるPmaの位置に第1オブジェクトのオブジェクト画像をレイアウトすることにより、第2オブジェクトの電子文書を更新した。但し、画像処理装置10は、第1オブジェクトのオブジェクト画像と第2オブジェクトとを関連付けて記録すればよく、このための処理は、実施形態に限定されるものではない。例えば、画像処理装置10は、レイアウト位置を限定することなく、第1オブジェクトのオブジェクト画像を第2オブジェクトとしての紙の電子文書に対応付けて記憶してもよい。この場合にも、画像処理装置10は、オブジェクト画像と第2オブジェクトの電子文書とを関連付けて管理することができる。また、例えば、画像処理装置10は、第1オブジェクトのオブジェクト画像を第2オブジェクトを示す電子文書に替えて第2オブジェクトの識別情報等第2オブジェクトを示す情報に関連付けて記録してもよい。
(第2の実施形態)
次に、第2の実施形態に係る画像処理装置10について説明する。なお、ここでは、第2の実施形態に係る画像処理装置10について、第1の実施形態に係る画像処理装置10と異なる点について説明する。図15は、画像処理装置10の表示部14に表示される画面例を示す図である。第2の実施形態に係る画像処理装置10は、図15に示すように、ライブビュー表示画面1500及び電子文書作成画面1501の2画面を同時に表示する。ここで、ライブビュー表示画面1500には、S800(図8)の処理により、ライブビュー画像としての動画像が表示される。一方、電子文書作成画面1501には、電子文書記憶部35に記憶されている電子文書が表示される。なお、電子文書作成画面1501に表示される電子文書、すなわち電子文書記憶部35に記憶されている電子文書は、ライブビュー画像中のオブジェクト画像の関連付けの対象となるオブジェクトである。すなわち、第2の実施形態においては、第2のオブジェクトは、電子的な情報である。
第2の実施形態に係る画像処理装置10による処理を、図8を参照しつつ説明する。S800において、撮影処理部32は、撮影部11から得られたライブビュー画像のライブビュー表示画面1500への表示を開始する。続く、S801〜S803の処理は、第1の実施形態において説明した処理と同様である。なお、本実施形態においては、ライブビュー表示が表示部14の全面ではなく、ライブビュー表示画面1500内で行われることとなるため、ユーザのタップ操作、座標の取得はライブビュー表示画面1500上で行われることは言うまでもない。そして、S804において、表示処理部33は、オブジェクト画像をライブビュー表示画面1500上に重畳表示する。なお、このとき、オブジェクト画像は、ユーザ操作に応じて、ライブビュー表示画面1500上から電子文書作成画面1501上へと表示位置を変えることができる。つまり、ユーザはオブジェクト画像をタップしたままスワイプすることで、ライブビュー表示画面1500から電子文書作成画面1501まで第1オブジェクトを移動表示させることができる。
続く、S805において、受付部31は、第2オブジェクトの選択指示を受け付けたか否かを判定する。具体的には、受付部31は、指示部13が電子文書作成画面1501上でのリリース操作を検知した場合に、電子文書作成画面1501に表示されている電子文書を第2オブジェクトとする選択指示を受け付ける。受付部31は、第2オブジェクトの選択指示を受け付けた場合には(S805でYes)、処理をS808へ進める。一方、受付部31は、S805において第2オブジェクトの選択指示を受け付けなかった場合には(S805でNo)、選択指示を受け付けるまで待機する。そして、S808において、選択指示に係る位置、すなわち表示部14上のリリース位置に対応する第2オブジェクトとしての電子文書の位置に、オブジェクト画像をレイアウトした電子文書を電子文書記憶部35(記憶部15)に記憶する。以上で、関連付け処理が終了する。すなわち、第2の実施形態に係る画像処理装置10においては、S806及びS807の処理は不要であり、また、S808の処理のうち座標変換に係る処理も不要である。これは、第2の実施形態に係る画像処理装置10において、オブジェクト画像を関連付ける先のオブジェクト、すなわち第2のオブジェクトが電子文書であるためである。なお、第2の実施形態に係る画像処理装置10のこれ以外の構成及び処理は、第1の実施形態に係る画像処理装置10の構成及び処理と同様である。
以上のように、第2の実施形態に係る画像処理装置10によれば、実世界拡張文書を用意することなく、撮影画像から得られたオブジェクトを他のオブジェクトに関連付けることができる。なお、第2の実施形態に係る画像処理装置10は、タブレット端末のように比較的大型サイズの表示画面を有する装置であることが望ましい。
(第3の実施形態)
次に、第3の実施形態に係る画像処理システムについて説明する。なお、ここでは、他の実施形態に係る画像処理装置10と異なる点について説明する。図16は、第3の実施形態に係る画像処理システムの外観図である。画像処理システムは、ユーザの目に装着可能な眼鏡型端末1600と、ポインタ端末1620とを有している。ポインタ端末1620は、ユーザ操作を受け付けるためのスイッチ1621を有している。ポインタ端末1620は、ユーザが手に持ち、ユーザ操作を入力するためのデバイスである。ポインタ端末1620は、実空間において、その先端が指す先の座標を検出することができる。さらに、眼鏡型端末1600とポインタ端末1620は、通信機能を有し、互いにデータの送受信が可能であるものとする。そして、ポインタ端末1620が検出した座標や、スイッチが押下されたことを示す押下情報がポインタ端末1620から眼鏡型端末1600に送信され、眼鏡型端末1600は、検出された座標からユーザにより入力された指示内容を特定する。
眼鏡型端末1600の内部構成は、図1及び図3を参照しつつ説明した画像処理装置10の内部構成とほぼ同様であるが、眼鏡型端末1600は、指示部13に替えて通信部を有するものとする。なお、眼鏡型端末1600は、情報処理装置の一例である。眼鏡型端末1600の表示部14には、装着者の視界に近い画角の画像が表示される。眼鏡型端末1600の表示部14は、HMD(ヘッドマウントディスプレイ)のように視界を覆うように構成されているのが好ましい。
なお、眼鏡型端末1600がユーザ操作を受け付け可能であればよく、そのための入力手段は実施形態に限定されるものではない。すなわち、ポインタ端末1620は必ずしも必要ではない。例えば、眼鏡型端末1600がジェスチャ認識機能を有していてもよい。この場合には、ポインタ端末1620は不要であり、眼鏡型端末1600は、ユーザにより行われたジェスチャに基づいて、ユーザからの指示を受け付けてもよい。
図17は、眼鏡型端末1600による撮影画像の一例を示す図である。撮影画像1700には、ポインタ端末1620を示すポインタ端末画像1701と、第1オブジェクトを示す第1オブジェクト画像1702と、第2オブジェクトを示す第2オブジェクト画像1703とが含まれている。本実施形態に係る第2オブジェクトは、長方形状の白色紙とする。なお、第1の実施形態に係る画像処理装置10が利用する紙には、マーカが付されていたが、本実施形態に係る画像処理装置10が利用する白色紙にはマーカの表示はないものとする。
図18は、第3の実施形態に係る眼鏡型端末1600による処理を示すフローチャートである。S1800において、眼鏡型端末1600の撮影処理部32は、撮影部11による撮影を開始する。そして、眼鏡型端末1600の表示処理部33は、得られた動画像をライブビュー画像として表示部14に表示する。次に、S1801において、受付部31は、オブジェクト画像の選択指示を受け付けたか否かを判定する。ユーザは、ライブビュー画像内からオブジェクト画像として記録したい画像を見つけると、ポインタ端末1620の先端を、オブジェクト画像に対応する実物の第1オブジェクトの方に向け、スイッチ1621を押下する。これに対応して、ポインタ端末1620は、スイッチ1621の押下情報を眼鏡型端末1600に送信する。眼鏡型端末1600の受付部31は、通信部を介して押下情報を取得した場合に、オブジェクト画像の選択指示を受け付けたと判定する。
受付部31は、選択指示を受け付けるまで待機し(S1801でNo)、選択指示を受け付けると(S1801でYes)、処理をS1802へ進める。S1802において、撮影処理部32は、撮影部11に命令を出して撮影を行い、第1オブジェクト及びポインタ端末1620を被写体として含む第1静止画像を取得する。そして、撮影処理部32は、取得した第1静止画像を記憶部15に記録する。なお、S1802において、撮影処理部32は、ライブビュー画像に比べて解像度の高い静止画像の撮影を指示し、解像度の高い静止画像を取得するものとする。これにより、後述のオブジェクト画像の抽出を精度よく行うことができる。
次に、S1803において、第1オブジェクト抽出部34は、S1802において得られた第1静止画像から、オブジェクト画像を抽出する。具体的には、第1オブジェクト抽出部34は、ポインタ端末1620を認識し、ポインタ端末1620の選択が指している先の座標をオブジェクト座標として特定する。そして、第1オブジェクト抽出部34は、オブジェクト座標に基づいて、オブジェクト画像を抽出する。なお、ポインタ端末1620には、特殊パターンが付記され、第1オブジェクト抽出部34は、この特殊パターンを認識することでポインタ端末1620を認識してもよい。また、第1オブジェクト抽出部34は、ポインタ端末1620が指した先の座標はポインタ端末1620の形状から推定することができる。図17に示す例においては、ポインタ端末の先端部分の座標を、ポインタ端末1620が指した先の座標とすればよい。なお、S1803におけるこれ以外の処理は、第1の実施形態において説明したオブジェクト画像抽出処理(S803)と同様である。
次に、S1804において、表示処理部33は、表示部14に表示中のライブビュー画像上に、S1803において抽出されたオブジェクト画像を重畳して表示する。この処理は、第1の実施形態において説明したオブジェクト画像重畳表示処理(S804)と同様である。次に、S1805において、受付部31は、第2オブジェクトの選択指示を受け付けたか否かを判定する。ユーザがポインタ端末1620のスイッチ1621を離すと、ポインタ端末1620は、押下解除情報を眼鏡型端末1600に送信する。眼鏡型端末1600の受付部31は、通信部を介して押下解除情報を取得した場合に、第2オブジェクトの選択指示を受け付けたと判定する。受付部31は、第2オブジェクトの選択指示を受け付けるまで待機し(S1805でNo)、選択指示を受け付けると(S1805でYes)、処理をS1806へ進める。
S1806において、撮影処理部32は、撮影部11に命令を出して撮影を行い、第2オブジェクトを被写体として含む第2静止画像を取得する。そして、撮影処理部32は、取得した静止画像を記憶部15に記録する。次に、S1807において、第2オブジェクト特定部36は、第2静止画像からポインタ端末を認識し、ポインタ端末が指した先の座標に基づいて、オブジェクト画像の貼り付け先となる白色紙を認識する。ポインタ端末の認識、ポインタ端末が指した先の座標の特定は、S1803における処理と同様の処理により実現できる。また、第2オブジェクト特定部36は、一般的な画像認識技術により、実世界の白色紙を認識することができる。第2オブジェクト特定部36は、例えば紙面の角4点を抽出することで紙面とその形状を認識するものとする。表示処理部33は、第2オブジェクトを認識すると、第2静止画像から第2オブジェクトを示すオブジェクト画像を抽出し、オブジェクト画像と、リリース時のポインタ端末1620の指した先の座標とを対応付けて記憶部15に記録する。
次に、S1808において、関連付け部37は、第2オブジェクトとしての白色紙に対し、第1オブジェクトのオブジェクト画像を関連付ける。具体的には、関連付け部37は、リリース時のタッチパネル20上の座標を第2オブジェクトとしての白色紙が存在する実世界の座標に変換する。なお、関連付け部37は、白色紙の形状を利用することにより、座標変変換を行う。そして、関連付け部37は、座標変換後の座標位置に第1オブジェクトのオブジェクト画像をレイアウトした画像を記憶部15に記録する。以上で、処理が完了する。なお、第3の実施形態に係る画像処理システムのこれ以外の構成及び処理は、他の実施形態に係る画像処理装置10の構成及び処理と同様である。
このように、第3の実施形態に係る画像処理システムは、マーカが付されていない白色紙を実世界拡張文書として利用することができる。すなわち、任意の白色紙を実世界拡張文書として利用することができる。したがって、ユーザは、実世界拡張文書としての第2オブジェクトを特別に用意する必要がない。また、眼鏡型端末1600を利用することにより、ユーザは、片手で、実世界に存在するオブジェクトのドラッグアンドドロップ操作を実現することができる。
また、第3の実施形態に係る画像処理システムの変更例としては、ポインタ端末が撮影部を備え、ポインタ端末が第1静止画像を撮影してもよい。例えば、第1の実施形態において説明したような小型の手持ち端末をポインタ端末とすることにより、距離的に第1オブジェクトに近い場所での撮影が可能となり、より解像度の高い第1オブジェクトのオブジェクト画像を得ることができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、煩雑な作業を要することなく、撮影画像から得られたオブジェクトを他のオブジェクトに関連付けることができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。