(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023140734
(43)【公開日】2023-10-05
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G06F 3/01 20060101AFI20230928BHJP
G06F 3/0346 20130101ALI20230928BHJP
G06T 7/00 20170101ALI20230928BHJP
G09G 5/00 20060101ALI20230928BHJP
G09G 5/36 20060101ALI20230928BHJP
G09G 5/38 20060101ALI20230928BHJP
G09G 5/34 20060101ALI20230928BHJP
【FI】
G06F3/01 510
G06F3/0346 422
G06T7/00 660A
G09G5/00 550C
G09G5/00 510G
G09G5/36 520P
G09G5/36 520F
G09G5/36 520G
G09G5/38 A
G09G5/00 550B
G09G5/34 A
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022046724
(22)【出願日】2022-03-23
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100126000
【弁理士】
【氏名又は名称】岩池 満
(72)【発明者】
【氏名】櫻井 敬一
【テーマコード(参考)】
5B087
5C182
5E555
5L096
【Fターム(参考)】
5B087AA09
5B087DD03
5B087DD09
5B087DD12
5C182AA03
5C182AB37
5C182AC02
5C182AC03
5C182BA01
5C182BA03
5C182BA06
5C182BA14
5C182BA29
5C182BA46
5C182BA55
5C182BA66
5C182BC26
5C182CB13
5C182CB14
5C182CB42
5C182CC14
5C182CC15
5C182DA65
5E555AA04
5E555AA12
5E555AA64
5E555AA76
5E555BA38
5E555BB38
5E555BC08
5E555BE12
5E555CA42
5E555CA44
5E555CB21
5E555CB66
5E555CB67
5E555CC01
5E555CC05
5E555CC24
5E555CC25
5E555CC26
5E555DA02
5E555DB03
5E555DC02
5E555DC19
5E555DC26
5E555DC27
5E555DC84
5E555EA11
5E555EA14
5E555EA22
5E555FA00
5L096AA06
5L096DA01
5L096EA03
5L096EA35
5L096FA06
5L096FA62
5L096FA66
5L096FA67
5L096FA69
5L096GA51
(57)【要約】
【課題】ウェアラブル型の情報表示装置において、操作者の歩行時、走行時であっても、良好な表示制御を可能とする。
【解決手段】コンテンツの表示機能を有するウェアラブル型の情報表示装置1であって、
前記コンテンツの表示を行う表示部10と、表示部10に付帯するカメラ11から、本情報表示装置1の操作者の撮影画像を取得する処理、前記撮影画像から前記操作者の顔の画像である顔画像を認識する処理、前記顔における主要部分の状態に基づいて、前記コンテンツの表示範囲を制御する処理を実行する制御部13とを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
コンテンツの表示機能を有するウェアラブル型の情報処理装置であって、
前記コンテンツの表示を行う表示部と、
前記表示部に付帯するカメラから、本情報処理装置の操作者の撮影画像を取得する処理、
前記撮影画像から前記操作者の顔の画像である顔画像を認識する処理、
及び、前記顔における主要部分の状態に基づいて、前記コンテンツの表示範囲を制御する処理を実行する制御部と、
を備える情報処理装置。
【請求項2】
前記制御部が、前記撮影画像に基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する処理を実行する、請求項1に記載の情報処理装置。
【請求項3】
前記制御部が、当該顔画像から顔の位置及び姿勢と、当該顔と前記カメラとの相対距離を検出する処理を実行し、
前記撮影画像に基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する処理に際し、前記顔の位置及び姿勢と前記相対距離とに基づいて、前記表示範囲を決定する、請求項2に記載の情報処理装置。
【請求項4】
前記制御部が、さらに前記顔画像の認識の有無、及び前記主要部分の前記表示部上での移動距離の少なくとも一つに基づいて、前記表示範囲を制御する処理を実行する、請求項1に記載の情報処理装置。
【請求項5】
前記制御部は、
前記顔の位置及び姿勢を検出する処理に際し、前記顔画像における顔の前記主要部分の位置を特定し、前記主要部分の位置情報に基づき、当該顔の位置、向き、及び姿勢を特定するものである、
請求項3に記載の情報処理装置。
【請求項6】
前記制御部は、
前記操作者の顔における前記主要部分の状態を特定し、当該状態及び前記顔の検出の有無に応じて、前記表示部における前記コンテンツの拡大または縮小、前記コンテンツのうち前記表示部において表示する表示範囲の移動、の少なくともいずれかについて制御するものである、
請求項1に記載の情報処理装置。
【請求項7】
前記制御部は、
前記顔の位置及び姿勢の検出に際し、前記主要部分の位置情報に基づいて、当該顔の中心位置を算定し、前記主要部分の位置情報及び前記顔の輪郭情報に基づき、当該顔の姿勢を検出するものである、
請求項3に記載の情報処理装置。
【請求項8】
前記制御部は、
前記撮影画像中で顔画像が認識され、かつ当該顔の前記主要部分の状態が一定時間以上、予め定めたものとなっている場合、前記表示部における前記コンテンツの表示形態の変更を停止するものである、
請求項1に記載の情報処理装置。
【請求項9】
前記制御部は、
前記操作者の顔の前記主要部分の、前記表示画面上における移動距離が、所定の基準以上となったタイミングを特定し、当該タイミング以降、前記表示部における前記コンテンツの表示範囲を、前記顔の方向に応じて自動スクロールさせるものである、
請求項1に記載の情報処理装置。
【請求項10】
当該顔画像から顔の位置及び姿勢と、当該顔と前記カメラとの相対距離を検出する処理を実行し、
前記撮影画像に基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する処理に際し、前記顔の位置及び姿勢と前記相対距離とに基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する、請求項8に記載の情報処理装置。
【請求項11】
当該顔画像から顔の位置及び姿勢と、当該顔と前記カメラとの相対距離を検出する処理を実行し、
前記撮影画像に基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する処理に際し、前記顔の位置及び姿勢と前記相対距離とに基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する、請求項9に記載の情報処理装置。
【請求項12】
前記ウェアラブル型の情報処理装置が、腕時計型の端末装置である、請求項1~11のいずれか一項に記載の情報処理装置。
【請求項13】
コンテンツの表示機能を有するウェアラブル型の情報処理装置が、
前記コンテンツの表示を行う表示部に付帯するカメラから、本情報処理装置の操作者の撮影画像を取得する処理、
前記撮影画像から前記操作者の顔の画像である顔画像を認識する処理、
及び、前記顔における主要部分の状態に基づいて、前記コンテンツの表示範囲を制御する処理、
を実行する情報処理方法。
【請求項14】
コンテンツの表示機能を有するウェアラブル型の情報処理装置に、
前記コンテンツの表示を行う表示部に付帯するカメラから、本情報処理装置の操作者の撮影画像を取得する処理、
前記撮影画像から前記操作者の顔の画像である顔画像を認識する処理、
及び、前記顔における主要部分の状態に基づいて、前記コンテンツの表示範囲を制御する処理、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
リストウォッチ型等のウェアラブル型の情報処理装置を装着することによって、時や場所を選ばずに様々な情報を得ることができるようになっている。このようなウェアラブル型の情報処理装置には、そもそも情報表示用の画面サイズが限定的であって、かつ、操作者の動作や姿勢が変化しやすく適宜な表示制御が難しいといった、種々の制約が存在する。そこで例えば、操作者による視認等の動作判別のため、当該操作者が腕時計で時刻を見る動作の検出を、加速度や角速度のセンサにて行う技術が提案されている。
【0003】
特許文献1は、限定的な画面サイズでのコンテンツ表示という状況に適応するべく、加速度センサを用いて表示部の移動を検出し、その移動に従ってコンテンツの表示範囲を移動させ、結果としてコンテンツ全体を表示する技術を提案している。特許文献2には、表示部の移動距離の検出精度に関して、表示部の姿勢パラメータを求め、その姿勢パラメータをもとに表示部の移動量の精度を高める技術が提案されている。特許文献3には、表示画面への表示対象の表示範囲の制御を人の感覚に近い動作で簡単に実現すべく、表示画面と表示画面側にカメラを備える電子機器の画面表示制御方法であって、前記カメラで撮影される画像内の利用者の顔の特徴点の変化により、利用者の顔の方向を判定し、前記判定した顔の方向および前記特徴点の変化量に応じて、表示画面における表示対象のスクロール方向およびスクロール量の制御を行なう画面表示制御方法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2015-176246号公報
【特許文献2】特開2014-182612号公報
【特許文献3】特開2014-044729号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
このように、ウェアラブル型の情報処理装置など、限られた表示面積の表示部を有効に利用してコンテンツを表示しようとする技術は種々提案されているが、表示範囲の制御に関しては、情報処理装置の移動に伴って操作者が意図しないような表示範囲の移動が生じたり、表示範囲を大きく移動させる場合に操作者が特定の動作を繰り返すことを強いられたりするなど、利便性に欠ける点があるという問題があった。
【0006】
本発明は、このような状況に鑑みてなされたものであり、ウェアラブル型の情報処理装置において、コンテンツの表示サイズが表示部より大きくても当該コンテンツの表示範囲が制限されず、操作者の意図に沿った良好な表示制御を可能とする技術の提供を目的とする。
【課題を解決するための手段】
【0007】
本発明の一つの態様は、コンテンツの表示機能を有するウェアラブル型の情報処理装置であって、前記コンテンツの表示を行う表示部と、前記表示部に付帯するカメラから、本情報処理装置の操作者の撮影画像を取得する処理、前記撮影画像から前記操作者の顔の画像である顔画像を認識する処理、及び、前記顔における主要部分の状態に基づいて、前記コンテンツの表示範囲を制御する処理を実行する制御部と、を備える。
【発明の効果】
【0008】
本発明によれば、ウェアラブル型の情報処理装置において、コンテンツの表示サイズが表示部より大きくても当該コンテンツの表示範囲が制限されず、操作者の意図に沿った良好な表示制御が可能となる。
【図面の簡単な説明】
【0009】
【
図1】本発明の情報処理装置の一実施形態の概要を示す図である。
【
図2】本発明の一実施形態における情報表示装置の構成を示すブロック図である。
【
図3A】本発明の一実施形態の情報表示装置におけるコンテンツ表示動作の概要を示す説明図である。
【
図3B】本発明の一実施形態の情報表示装置におけるコンテンツ表示動作の概要を示す説明図である。
【
図4】本発明の一実施形態において検出された顔の領域とそのランドマークの例を示す説明図である。
【
図5A】本発明の一実施形態において想定する顔の姿勢に関する説明図である。
【
図5B】本発明の一実施形態において想定する顔の姿勢に関する説明図である。
【
図6A】本発明の一実施形態における時計の座標系を示す図である。
【
図6B】本発明の一実施形態におけるカメラの座標系を示す図である。
【
図6C】本発明の一実施形態におけるコンテンツの座標系を示す図である。
【
図7A】本発明の一実施形態における表示対象となるコンテンツの例を示す図である。
【
図7B】本発明の一実施形態における時計での表示遷移例を示す図である。
【
図7C】本発明の一実施形態における時計での表示遷移例を示す図である。
【
図7D】本発明の一実施形態における時計での表示と顔の対応関係例を示す図である。
【
図8】本発明の一実施形態における情報表示制御の流れを示すフローチャートである。
【
図9A】本発明の一実施形態における情報表示制御の流れを示すフローチャートである。
【
図9B】本発明の一実施形態における情報表示制御の流れを示すフローチャートである。
【
図10A】本発明の一実施形態における基準顔データの例を示す図である。
【
図10B】本発明の一実施形態における測定顔位置の例を示す図である。
【
図10C】本発明の一実施形態におけるコンテンツの座標系の例を示す図である。
【
図11A】本発明の一実施形態における表示遷移と顔動作の対応関係例を示す図である。
【
図11B】本発明の一実施形態における操作者の動作遷移例を示す図である。
【
図11C】本発明の一実施形態におけるコンテンツ表示領域の遷移例を示す図である。
【
図12】本発明の一実施形態における情報表示制御の流れを示すフローチャートである。
【
図13A】本発明の一実施形態における顔の接近/離間の遷移例を示す図である。
【
図13B】本発明の一実施形態における操作者の動作遷移例を示す図である。
【
図13C】本発明の一実施形態におけるコンテンツ表示領域の遷移例を示す図である。
【
図14A】本発明の一実施形態における時計の座標系を示す図である。
【
図14B】本発明の一実施形態における最初の画像を示す図である。
【
図14C】本発明の一実施形態における回転後の画像を示す図である。
【
図15】本発明の一実施形態における情報表示制御の流れを示すフローチャートである。
【
図16】本発明の一実施形態における操作者の顔画像例を示す図である。
【
図17A】本発明の一実施形態におけるスクロールに伴う表示領域の遷移例を示す図である。
【
図17B】本発明の一実施形態におけるコンテンツ全体画像と各タイミングでの表示領域の遷移例を示す図である。
【
図18A】本発明の一実施形態における情報表示制御の流れを示すフローチャートである。
【
図18B】本発明の一実施形態における情報表示制御の流れを示すフローチャートである。
【
図19】本発明の一実施形態における情報表示制御の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
<情報表示装置1>
以下、添付図面を参照して、本発明の実施形態について説明する。
図1は、本発明の一実施形態における情報処理装置としての情報表示装置1の概要を示す図である。
図1で例示する情報表示装置1は、ネットワークを通じて受信する等して格納されているコンテンツを適宜表示するリストウォッチ型情報処理装置であって、その操作者の腕100に装着された状態となっている。
【0011】
この情報表示装置1は、表示部10とその表示部10に付随するカメラ11が実装されている。カメラ11は操作者が表示部10に顔を向け、操作する際に当該顔の全体を撮影するよう画角等の各種条件の設定や配置がなされているものとする。
【0012】
本実施形態における情報表示装置1は、具体的には腕時計を想定できる。矢印2に示すように、操作者により、肘を曲げた状態で腕を持ち上げながら情報表示装置1の表示部10が略垂直方向に向くようなジェスチャーがなされると、情報表示装置1は、このジェスチャーを検出し、時刻の情報である時刻画像を表示部10に表示する。ここで、垂直方向とは、
図1の紙面に垂直かつ紙面を奥から手前に貫く方向である。
【0013】
本実施形態の情報表示装置1は、装置に生じる角速度を検出しており、検出した角速度の時系列のデータと、腕時計の時刻を見る動作のジェスチャーパターンを表す角速度の時系列データとを比較して、その類似度を基にジェスチャーを検出する。こうした基本動作や機能は、特許文献2(特開2014-182612号公報)で示した技術のものと同様であり、詳細説明は省略するものとする(以下同様)。
【0014】
図2は、本実施形態における情報表示装置1を含むハードウェア構成例を示すブロック図である。
図2にて示すように、情報表示装置1は、表示部10、カメラ11、操作部12、制御部13、顔認識部14、および姿勢センサ15を備える。
【0015】
このうち制御部13は、CPU(Central Processing Unit)を含む演算処理装置と、ROM(Read Only Memory)及びRAM(Random Access Memory)を含むメインメモリとを有するマイクロコンピュータにより実装されている。
【0016】
CPUは、上述のROMに記憶されたプログラムをRAMに読み出して実行することにより必要な機能を実装し、情報表示装置1の各部を制御する。
【0017】
また、カメラ11は、操作者の顔を繰り返し撮影し、当該撮影にて得た操作者の画像を顔認識部14に順次送り出す。顔認識部14における顔検出部140は、カメラ11から送られてきた画像中から被写体となっている操作者の顔検出を行う。
【0018】
顔認識部14は、上述の顔検出部140の他に、顔ランドマーク抽出部141、顔位置検出部142、顔姿勢検出部143、顔状態検出部144から構成される。
【0019】
このうち顔ランドマーク抽出部141は、上述の顔検出で検出された操作者の顔における、目、鼻、眉毛、口など主要部分の位置を特定するものである。
【0020】
また、顔位置検出部142は、顔ランドマーク抽出部141が特定したランドマークをもとに、顔の位置を検出する。
【0021】
また、顔姿勢検出部143は、3次元的な顔の向きや姿勢を特定する。
【0022】
また、顔状態検出部144は、操作者の顔における目や口の開閉状況、笑顔の有無などの顔の状態を特定する。
【0023】
表示部10は、例えば液晶ディスプレイを用いて構成され、制御部13で生成された画像を表示する。操作部12は、ユーザ操作を入力するもので、表示部10の側部に実装される物理キーや、表示部10の上面に実装されるタッチパネルなどが該当する。ユーザ(操作者)による操作入力信号は、この操作部12を経由して制御部13に送り出され処理されることになる。操作部12は、音声入力を受け付けるように構成してもよい。その場合、操作者は音声によって制御部13に指示を与えることができる。
【0024】
<情報表示装置1の表示動作>
図3A、
図3Bは、情報表示装置1が行うコンテンツの表示動作の概要を説明する図である。このうち
図3Aは、表示対象となるコンテンツの一例であるコンテンツCを説明する図である。ここでのコンテンツCは、文章やイラスト、及び写真等の画像要素を含みうる。
【0025】
また、コンテンツCは、仮想空間に配置した矩形のコンテンツであり、当該コンテンツCの縦横のサイズは、表示部10の縦横の表示サイズよりも大きいものとする。
【0026】
情報表示装置1は、その表示部10にコンテンツCを表示する場合、操作者による表示部10を含むカメラ11の移動動作に従って、コンテンツCの表示範囲を移動させる。その表示範囲は、表示部10に表示されているコンテンツCの一部の範囲となる。
【0027】
図3Bに示す位置Aに情報表示装置1の本体がある場合、表示部10に表示される画像は、
図3Aの枠3Aの矩形範囲で示される表示範囲に決定される。
【0028】
情報表示装置1が、操作者の動作により、位置Aから点線3Bに沿ってB~Hに移動させられ、最終的に表示位置Hに所在する場合、表示部10には、この表示位置Hを中心とする表示範囲3C(
図3A)が決定される。即ち、情報表示装置1の本体は、カメラ11の動きに従って、コンテンツCの表示範囲を移動させる(カメラの動きを検出する方法は後述する)。
【0029】
このように情報表示装置1たる時計の前後、左右の動きに応じてコンテンツCの切り出し位置を決定することで、あたかものぞき穴から大きなコンテンツCを見ているような動作になる。
【0030】
なお、情報表示装置1に備わる姿勢センサ15は、地磁気方向を計測する3軸の磁気センサ151、情報表示装置1に加わる加速度を測定するための3軸の加速度センサ152、及び情報表示装置1の回転動作を計測する3軸の角速度センサ153から構成される。各センサは3つの軸x、y、zの軸方向の計測が可能になっている。
【0031】
<顔認識部14>
次に、本実施形態の情報表示装置1における顔認識部14に関する機能を説明する。顔認識に関する技術は、すでに数多くの製品化がなされている。また、様々なアプリケーションやサービスに応用されるソフトウェアのライブラリとしても提供されている。したがってその実現方法の詳細は記載を省略する。ここでは、本発明に利用する機能を中心に説明を行うこととし、汎用的な応用が可能な顔認識の主要な構成と動作説明を行う。
【0032】
図2で示した顔検出部140は、カメラ11から入力された画像に人の顔が含まれているかを判定する。この判定の結果、画像中に顔が存在すると判明した場合、顔検出部140は、その顔の存在する領域とその中心位置を抽出する。
【0033】
また、顔ランドマーク抽出部141は、上述の顔検出部140で検出された顔領域をもとに、当該顔のランドマークを検出する。ここで、ランドマークとは顔の中の特徴的な点で、右目、左目、鼻のてっぺん(頂部)、眉毛、口の中央、唇の端、鼻柱、あごなどの点である。
図4に写真Pから検出された顔Fの領域とそのランドマークLを例示する。
【0034】
顔位置検出部142は、顔ランドマーク抽出部141で検出されたランドマークLの点の位置によって、当該顔Fの中心位置(例えば右目と左目の真ん中の位置)を求める。また顔領域は顔検出部140で一度検出された後、再度、ランドマークLより回帰的にその精度が高められる。求めた顔Fの中心位置と領域はレジスタに保持される。
【0035】
また、顔姿勢検出部143は、上述のランドマークLおよび顔Fの輪郭やテクスチャーをもとに当該顔Fの姿勢を検出する(具体的な機能詳細は、例えば、https://developers.google.com/vision/face-detection-concepts を参照されたい)。
【0036】
顔の姿勢とは、
図5Aの座標系のもと、
図5Bにバリエーションを示すように、正対に対して顔が傾いている姿勢を数字的に表すものである。この姿勢を示す場合、通常はオイラー角が用いられEuler X, Euler Y, Euler Zの値を使って表現される。
【0037】
コンテンツCの表示位置には直接使われないが、時間的な顔の傾きの変化を使って「頷いている」、「顔を横に振っている」などの顔ジェスチャーの検出に利用可能な概念である。この検出した顔姿勢はレジスタに保持され、制御部13から読み出しが可能とされている。
【0038】
また、顔状態検出部144は、顔Fにおける各部分の状態を分類する。例えば目の部分に関しては、目が閉じている又は開いている、といった2つの状態を分類する。口の部分に関しては、口が閉じている又は開いている、の2つの状態を分類する。また、顔の各部それぞれの分類結果を統合して、当該顔の状態を、「笑顔である又は笑顔ではない」といった分類も可能である。
【0039】
上述のような分類の結果は、例えば、右目:閉じている/開いている、左目:閉じている/開いている、右眉:吊り上がっている/つり下がっている、左眉:吊り上がっている/つり下がっている、口:開いている/閉じている、表情:笑っている/笑っていない、といった各状態の値の組合せたる顔状態として、レジスタに保持される。
【0040】
ここで、顔認識部14にて顔に関して検出された各種の検出結果たる、顔位置と領域、顔姿勢、顔状態の各値は制御部13にて読み出される。制御部13は、これらの情報に従ってコンテンツCの表示制御を行う。その場合の詳細な表示動作と当該表示動作を実現するための制御方法について、順に説明する。
【0041】
図6A~
図6Cは、便宜上、情報表示装置1たる時計(以下、簡単のため「時計1」と称する。)の動作方向およびカメラ11の座標系、およびコンテンツCの座標系を定義する図である。
【0042】
図6Aにて示すように、時計1においては、表示部10の表示中心を原点にとり、3時方向をX軸、6時方向をY軸、表示部10の表面から天頂方向をZ軸とする。このZ軸は、X軸、Y軸と直交している。なお、Y軸を下向きにしているのはコンテンツCの座標系の方向を合わせるためである。
【0043】
一方、カメラ11では、
図6Bにて示すように、カメラ11に写る顔Fの画像中心を原点とし、横方向をu軸、縦方向の下向きをv軸とする。カメラ11のv軸を図面上では上向きとしているのは、後述するように時計1のy軸方向で正の方向に動かした場合、カメラ11に写る顔Fの動きもv軸の正の方向になるようにするためである。
【0044】
また、
図6Cにて示すように、コンテンツCの座標系は、横右方向をx軸、縦方向下向きをy軸とする。y軸が下向きであるのは、コンテンツCは文字など一般に上から下向きに配置され、目の動きは上から下向きに向かうので座標系も下向きにしたものである。
【0045】
なお、時計1の座標系の方向とコンテンツCの座標系の方向とは一致する。
図6Bにおける顔Fの眉間にある黒点は、カメラ11で撮影された顔Fの中心部(右目と左目の中心部)を表している。この顔Fの中心部の座標を(uf, vf)と定義する。
【0046】
図7A~
図7Dは、コンテンツCの表示制御とカメラ画像との動作について説明する図である。
図7Aは表示対象となっているコンテンツCである。
図7Bは、このコンテンツCと、当該コンテンツCのうち時計1の表示部10で表示している部分7Bとをイメージできる図である。この場合、操作者が、自身の顔Fを固定して腕を動かしときの時計1の軌跡を破線7B1で表している。
【0047】
この破線7B1の経路上にある、A、B、C、D、E、F、G、Hは、腕の動きに応じた時計1の移動経路途中での各位置を表している。なお、コンテンツCが画面表示されているはずの背景画像7B2は、コンテンツ画像を仮想的に表しており、実際は時計1の表示部10における表示部分のみしか表示していない。
【0048】
なお、時計1は、コンテンツCのうち、Aを中心とする領域を当初表示しており、その操作者の腕の動きに応じて仮想背景のコンテンツが表示される。
【0049】
また、
図7Cは、A、B、C、D、E、F、G、Hでの時計1に表示されるものを示しており、図中の太い黒色の矢印線7C1はひとつ前の位置から今読み出している場所への方向を示し、黒い破線7C2はこれから動かす方向を表している。つまり、この破線7C2における矢印の先は、操作者が次に読みたい関心場所への方向を示している。
【0050】
図7Dは、上述のA~Hの各位置での時計1の表示部10に装着されたカメラ11に写る顔Fを表している。黒い太線7D1は、ひとつ前の位置から顔Fの動いてきた方向を示している。図中の黒色の点7D2は顔Fの中心(右目と左目の中心)を示している。
【0051】
このように時計1の動きに応じて、カメラ11に写る顔Fの位置は変化していく。時計1が右に動くと顔Fの位置は右に動き、時計1が下に動くと顔Fは上に動く。
【0052】
そのため、カメラ11の座標系と時計1の動作の座標系とは、縦軸方向(時計1のY軸と、カメラ11のv軸)は反転していた。したがって時計1の制御部13は、顔Fの中心位置を検出し、その位置に応じてコンテンツCの表示する場所を変えていく制御を行うことで、上述のような表示部10での、コンテンツCの表示領域の遷移を実現できる。
【0053】
次に上述の動作を実現するための制御方法を
図8、
図9A、
図9Bを使って説明する。
図8は顔認識部14における顔検出制御部145の動作フローを図示したものである。
【0054】
図8に例示されているように、該フローは本体の制御部13にて顔認識開始コマンドによるスタートから開始される。まず、顔検出制御部145は、認識動作状況を示すレジスタを「認識中」にセット(ステップS201)する。このレジスタの値は、制御部13に対して、認識処理が終了したことを通知するために使われる。
【0055】
顔検出制御部145は、カメラ11から最新の画像を読み込む(ステップS202)。該画像は顔認識部14に取り込まれる。顔検出制御部145は、顔検出部140を動作させ、顔検出が行われるのを待つ(ステップS203)。
【0056】
顔検出制御部145は、顔検出部140における顔検出結果を取得し(ステップS204)、顔検出できなかった場合(ステップS204:検出しなかった)、ステップS212に処理を分岐させ、検出結果のレジスタにエラーをセットする。また、顔検出制御部145は、認識動作状況を「完了」にセット(ステップS211)して、フローを終了する。
【0057】
他方、ステップS204にて顔検出がされた場合(ステップS204:検出した)、顔検出制御部145は、顔ランドマーク抽出部141にて顔検出領域データと画像からランドマークLの抽出を行わせる(ステップS205)。
【0058】
ここで得られるランドマークLの情報は、顔位置検出部142、顔姿勢検出部143、及び顔状態検出部144に送り出されるように構成されている。そこでまず、顔位置検出部142にて、顔中心位置、顔領域を求める(ステップS206)。次に、顔姿勢検出部143にて顔姿勢を求める(ステップS207)。また、顔状態検出部144にて各顔の状態を検出する(ステップS208)。
【0059】
これらの顔領域、顔中心位置、顔姿勢、顔の状態などの情報は、それぞれの検出部のレジスタにて保持され、外部の制御装置から読み出されるように構成されている。
【0060】
顔検出制御部145は、これらの情報が更新されるのを待機する(ステップS209)。ここで更新完了すると(ステップS209:Yes)、顔検出制御部145は、検出結果を「成功」にセットする(ステップS210)。そして顔検出制御部145は、認識動作状況を「完了」にセットして(ステップS211)、認識動作のフローを終了させる。
【0061】
<制御部13によるコンテンツ表示>
図9A、
図9Bは、制御部13におけるコンテンツ表示実行時のフロー例を示すものである。紙面の都合で分割して図示されているが、
図9A、
図9Bは、一連の動作フローを示している。制御部13は、コンテンツ表示モードに移行したことを契機に、本フローを開始する。この場合、まず、制御部13は表示ロックモードをOFF状態にする(ステップS1)。この「表示ロックモード」とは、表示変更の制御を行うか否かの状態を示すもので、「ON」の場合は表示変更を実行しないことを意味する。初期値では、表示変更を行う状態から始める。
【0062】
次に、制御部13は表示するコンテンツCをメモリ上に読み出す(ステップS2)。このコンテンツCには画像データと画像サイズ情報を含んでいるものとする。
【0063】
続いて、制御部13は、コンテンツ画像サイズに応じて表示範囲情報(表示ズーム率スケール、表示オフセット)を下記のように初期化する(ステップS3)。
表示スケール(scale);表示座標に対するコンテンツ座標の比は、
x_scale=表示部10の横表示サイズ/コンテンツの横サイズ
y_scale=表示部10の縦表示サイズ/コンテンツの縦サイズ
表示スケール scale=x_scale, y_scaleの大きい方
if scale <1/1.5 then scale =1.0
表示オフセット(xc, yc):表示の中央に表示されるコンテンツの座標は、
表示オフセットxc=コンテンツの横サイズ/2
off1=コンテンツの縦サイズ/2
off2=表示部10の縦表示サイズ /表示scale/2
表示オフセットyc=off1 と off2の小さいほう
【0064】
全体を表示するようにスケール設定するのが望ましいが、1/1.5を超えると文字などが小さくなり判読しにくくなる。よって、この場合は、表示上最適な1.0とするとした。表示オフセットはコンテンツ画像の一番上部の中央を表示するように決定した。例としては、
図10CのコンテンツCの場合の初期の表示範囲をAで表している。
【0065】
続いて、ステップS4で処理されるF1の機能について説明する。
【0066】
F1:制御部13は、まず表示範囲情報をもとに、表示範囲の画像を作成する。表示部10の縦横の表示サイズをP、Qとすると、表示部10の座標(p, q)0≧p>P, 0≧q>Qの画素に対応するコンテンツデータの座標(x, y)は次のようになる。
[式1]
x=(p-P/2)/scale+xc
[式2]
y = (q-Q/2)/scale+yc・・・式(2)
表示部画素(p, q)の画素データ=コンテンツ(x, y)の画素データ
【0067】
コンテンツ座標(x, y)は整数とはならないので、バイリニアなどの画像補間法を使って近傍の画素データを求める。そこで座標が負の値になる場合やコンテンツのサイズを超えた場合は、その境界の画素を選択するようにすればよい。
【0068】
制御部13は、このようにして表示部10のP×Q画素の画像データを、コンテンツ画像から作成する。制御部13は、ここで作成した画像データを表示部10に送る。
【0069】
本実施形態では、コンテンツCのスクロールを行うのに、顔認識を用いずに従来型のタッチパネルでの操作もサポートしている。初期状態のスクロールモードはタッチパネルに設定を行う。
【0070】
ステップS1~ステップS4、ステップS21までが初期化部分である。以降、コンテンツ表示のループ処理に入る。
【0071】
本実施形態では、操作者が表示部10たるタッチパネルを長押しすることを契機に、制御部13が、スクロールモードを、タッチパネルによる制御モード、顔検出による制御モードと切り替えを行っている。顔検出による制御モードでは、顔認識による画面操作を可能とすることで、操作者が手袋をしている、荷物を持っている、利き手側に時計をつけている等、操作者が手で画面を操作して制御を行うことが困難な場面でも操作者の画面操作の利便性は損なわれない。タッチパネル制御モードから顔認識モードへの切り替えも、単にタッチパネルを長押しするだけで行うことができるため、煩雑な操作は不要であり、手で画面制御を行うことが困難な場面でも切替が容易である利点がある。制御部13は、そのスクロールモードの状態検出と切り替えをスクロール検出処理(ステップS22)で実施する。なお、このスクロールモードの切り替えは、制御部13への音声入力によって可能となるように構成してもよい。
【0072】
上述のスクロールモード検出(ステップS22)の詳細を、
図15のフローを用いて説明する。制御部13は、タッチパネルが押下状態であるか検出する(ステップS401)。この検出により、押下状態ではないことが判明した場合(ステップS401:No)、制御部13は、当該タッチパネルの押下開始時間を現在時間にセットする(ステップS402)。
【0073】
また、制御部13は、現在のスクロールモード状態に応じて、戻り値を変える。顔認識制御モードであるときは、「顔認識継続」状態を戻し(ステップS21:顔認識継続)、タッチパネル制御モードの時は「タッチパネル」状態を返す(ステップS21:タッチパネル)。
【0074】
このようにタッチパネルが押下されていないとき、制御部13はモードを変更せずに現状のモード状態を返す。
【0075】
他方、タッチパネルが押下されている状態であれば(ステップS401:Yes)、制御部13は、タッチパネルの押下開始時間と現在時間との差で押下時間を計測する(ステップS404)。ここで計測した押下時間が所定の時間に達するまで、制御部13は処理をステップS403に分岐し、現状のモードの状態が返される。
【0076】
一方、押下時間が長押し時間以上になると(ステップS405:Yes)、制御部13は現在のスクロールモードを調べ、モードを反転させる(ステップS406)。ここで現在のモードがタッチパネルモードであれば、制御部13はスクロールモードを顔認識に変更(ステップS407)し、戻り値の状態を「顔認識新規」にする(ステップS21:顔認証新規)。他方、現在のモードが顔認識であった場合(ステップS406:顔認識)、制御部13はタッチパネル状態に戻り値をセットする(ステップS408)。以上で前述した機能が達成される。
【0077】
ここで
図9A、
図9Bの説明に戻る。スクロールモード検出処理で現在のモード状態が戻されるので、制御部13は、その値によって分岐を行う(ステップS22)。
【0078】
モード状態がタッチパネルの場合(ステップS22:タッチパネル)、制御部13は処理をステップS23に分岐し、タッチパネルによる表示制御を実行する。この処理はスマートフォンで実現されているタッチパネルのスワイプやピンチなどの操作による表示制御であり周知なので説明は省略する。
【0079】
一方、モードがタッチパネルから顔認識処理モードに変化した場合、「顔認識新規」状態となり(ステップS22:顔認識新規)、制御部13は処理をステップS5に分岐させる。このステップS5において、制御部13は、顔認識処理の初期化である、現在の顔位置や顔の大きさを基準にするための、基準顔データ保存要求フラッグのセットを行う(ステップS5)。
【0080】
また、モードが「顔認識継続」の場合(ステップS22:顔認識継続)、制御部13は、ステップS5の処理をスキップして初期化は実行しない。
【0081】
以降、顔認識制御による表示制御ループ処理である。この場合まず、制御部13は、顔認識部14にアクセスして顔認識動作を開始させる(ステップS6)。
【0082】
顔認識部14は
図8のフローに従って顔認識を始める。ここでの認識動作状況は、認識動作中は「認識中」となり、認識が完了すると「完了」になるので、制御部13は、この状況をステップS7にて観測しつづけ、完了となるのを待つ。完了後、制御部13は顔認識部14から検出結果を読み出す(ステップS8)。
【0083】
制御部13は、その結果についてステップS9にて判断を行い、その結果、顔が検出された場合(ステップS9:Yes)、顔認識部14から顔中心位置と顔領域を取得(ステップS10)、さらに顔のランドマークも取得する(ステップS11)。
【0084】
他方、ステップS9で顔認識されなかった場合(ステップS9:No)、制御部13は、このステップS10、ステップS11の処理をスキップする。
【0085】
制御部13は、顔認識情報を取得したら、この情報をもとに表示ロック状態検出と処理を行う(ステップS12)。通常の表示処理中は、ここで特別な処理は行われない。この詳細の動作は後に記載する。
【0086】
続いて制御部13は、表示ロックモードであるか判断する(ステップS13)。このモードは、通常の処理状態ではOFFになっており本ステップにてNoに分岐される。ここで制御部13は、顔が検出されたか確認し(ステップS14)、顔が検出されなかった場合(ステップS14:No)、現在の表示データを保持して処理をステップS20にスキップする。
【0087】
他方、顔が検出されていた場合(ステップS14:Yes)、制御部13は、まず基準顔保存要求フラッグを検査し(ステップS15)、これがセットされていた場合(ステップS15:Yes)、基準顔データを作成・保存する(ステップS16)。
【0088】
基準顔データとは、カメラ11で認識される顔の位置や大きさから、表示範囲情報との関係を決める際の基準となるデータである。具体的には、基準となる顔の位置と顔の大きさ(両目の間隔)である。
図10Aは、表示基準データを作成するときに撮影されたカメラ画像である。この例の場合、顔認識部14から取得したデータの中の顔の中心位置が(u0, v0)で、また、ランドマークの中にある右目と左目の座標から求めた距離をd0とする。また現在の表示範囲データとともに、これらの値を基準顔データとしてメモリに保存しておく。
基準顔データ:{顔の位置(u0, v0)、顔の大きさ(d0)、表示スケール(scale0)、表示オフセット(x0, y0)}
【0089】
制御部13は、上述のとおり基準顔データの作成と保存処理が終わったことを受けて、当該基準顔データの保存要求信号をリセットする(ステップS17)。
【0090】
続いて、制御部13は、現在の顔の情報から表示範囲の計算を実行する(ステップS18)。この計算機能F2について、以下に説明する。
図10Bに、現在測定しているカメラ画像を示している。このカメラ画像中で検出された顔の中心位置が(uf, vf)、目の距離はdeである。そこで制御部13は、現在保存されている基準顔データをもとに、表示範囲データを作成する。
【0091】
検出された顔の中心位置が(uf, vf)、目の距離をdeであるとき、表示スケールscaleは次のようにして求める。
[式F2-1]
scale=scale0×de/d0
カメラ比率 k : カメラ11の画素当たりの表示画素の移動比率(試行的に最適な値をあらかじめ求めておく)は、
[式3]
xc=x0+(uf-u0)×k/scale
[式4]
yc=y0+(vf-v0)×k/scale
【0092】
制御部13は、ステップS18で求めたscale, xc, ycをもとに(ステップS4と同じ)関数F1を使って、表示範囲の画像を作成し、表示部10に転送する(ステップS19)。
【0093】
続いて制御部13は、操作者が操作部12を操作し、コンテンツ表示を終了させているか確認する(ステップS20)。この確認の結果、コンテンツ表示を終了させていないとき(ステップS20:No)、制御部13は、表示処理ループの最初のステップであるステップS6に処理を戻す。一方、終了要求が出ている場合(ステップS20:Yes)、制御部13は、本フロー処理を終了させる。
【0094】
このように、コンテンツ表示が始まったときの顔の情報を基準にし、その後の腕の動作に従って変化する顔の情報をもとに
図7のようにコンテンツCの表示領域を変えることができる。
【0095】
<表示ロック検出処理>
次に
図9Bのフローにおける、「表示ロック検出および処理」(ステップS12)の詳細について説明する。ここで、本処理が達成させようとしている動作を、まず
図11を使って説明する。例えば、操作者が腕を動かしてコンテンツCの表示領域を移動させていく際、まだコンテンツCの表示領域が残っているのにもかかわらず、腕が動かせない位置に達する場合がある。このようなケースの操作者としては、コンテンツCの表示をロックした状態で腕をさらに動かしたい。そこで、ステップS12に対応する機能は、そうしたニーズに適応する機能を実現する。
【0096】
図11Bは、操作者の腕の動作を時系列A~Fで示したものである。操作者は、タイミングA、B、Cで腕を体の方向に移動させており、その際の表示部10での表示は当該腕の動きに合わせて
図11Aのように表示位置が変化していく。
【0097】
一方、タイミングCでは、操作者はこれ以上に腕を動かせないので、ここで目を閉じる(目を閉じる以外の動作をトリガーとしてもよい)。操作者は、目を閉じた状態で時計1を、体から離れる方向に移動させる(タイミングD、E)。この状態のとき、制御部13は、表示をロックして同じ領域を表示し続ける。
【0098】
一方、操作者は腕が十分に移動できる場所まで動いたタイミングEで、目を開け(タイミングF)、その後再び、体方向に近づけるように動かす(タイミングF~H)。このとき制御部13は、ロックしていた画像について、その場所から表示位置が変化していくように制御する。
図11Cは各時点でのコンテンツの表示領域を示したものである。
【0099】
図11の動作実現を行う方法を
図12、
図9Bを用いて説明をする。
図12は、
図9BのステップS12の処理の詳細である。ステップS12は表示処理のループの中に挿入された処理で、
図11の動作実現を行うための表示ロック処理であって、ユーザの顔の状態に応じて、表示ロックのON,OFFの切り替え、および、切り替え時に発生する処理の制御を担う。
【0100】
図9BのフローにてステップS12の処理が実行されると、
図12のスタートからフローが開始する。まず、通常のスライド操作を行っているときの処理フローについて説明する。まず、制御部13は、顔が検出されることに応じて(ステップS301:Yes)、顔非検出時間をリセットする(ステップS302)。
【0101】
また制御部13は、顔認識部14から顔の表情に関する情報を取得し(ステップS303)、当該顔の表情で目を閉じているか判断する(ステップS304)。この判断の結果、当該ユーザが目を開いてスライド操作をしていることが判明すれば(ステップS304:No)、制御部13は、ロックモード状態をOFFにして(ステップS305)、本フローを終了する。
【0102】
なお、制御部13は、操作者が両目を閉じることをもって、表示ロックモードに遷移させる契機を検出するが、当該操作者が表示のスライド操作中に瞬きをし、一瞬だけ目が閉じられたことを検出してしまうと、ロックモードに遷移してしまうことになる。これを回避するために、制御部13は、短い間のみ目が閉じられた状態を検知してもロックモードに遷移しないよう、顔非検出時間を計測している。
【0103】
制御部13は、操作者がスライド操作中に一瞬目を閉じたことを検知してステップS304でいったんYesに分岐するが、その後、目が閉じている時間の更新(ステップS306)、次に、ステップS307でこの目が閉じている時間が所定の時間を超えたか判定することで、不必要なモード遷移を回避する。つまり、瞬きのような短い時間の間であれば、制御部13は、ステップS307でNoに分岐させ、このフローの処理を終える。よって不要なロック状態とはならない。
【0104】
他方、ロックモード遷移をさせるときのフローの説明を行う。操作者は一定時間以上、両目を閉じた状態を継続したとする。このとき、制御部13は、ステップS304~ステップS307の分岐をしばらく通り、やがて、ステップS307で所定時間を超えたと判定してYesに分岐し、ロックモード状態をONする(ステップS308)。また、制御部13は、これに伴って基準顔データの保存要求信号をセットし(ステップS309)、本フローを終了する。基準顔データの保存要求信号は、ロックモード解除したときに顔の状態を新しい顔の基準とするためである。
【0105】
なお、操作者が両目を閉じての操作が危険な状況下である場合、例えば、時計1を装着した反対の手で、カメラ11を覆うことでロックモードへの遷移を行うといった運用も可能としている。このように手でカメラ11を覆った場合、制御部13は、最初のステップS301で顔が検出されなくなり、Noへ分岐される。こちらも顔の非検出時間を計測し、十分な時間顔が検出されなくなったときに、ステップS311でYesに分岐し、ロック状態の処理フローであるステップS308、ステップS309に進んでロックモードに遷移する。
【0106】
このように、操作者が両目を閉じるか、カメラ11を手などで覆うことで、時計1をロックモードに遷移させることができる。ロックモードに遷移すると、
図9Bの表示制御フローにおいて、表示ロックモード判定を行うステップS13でYesに分岐し、表示範囲の更新を行うステップS18、ステップS19をスキップし、表示をロックするようになる。そして、表示のロックが解除されたときは、ステップS13でNoに分岐するようになる。
【0107】
ステップS14で顔が検出された場合、ステップS15で基準顔データ保存要求がセットされているので、制御部13は、ステップS16にて現在カメラ11に写っている顔を基準画像として保存し、その後の操作者の腕の操作に伴い変化する顔に応じて、スライド操作を可能とする。
【0108】
<ズームイン、ズームアウト>
本実施形態では、操作者が腕を上下に動作させることで、コンテンツの拡大縮小が可能である。
図13は表示ロックを交えたズームの操作(スケール変更)を図示したものである。
図13Bは操作例を時系列に記載したものである。
【0109】
まず、A、B、Cでは、操作者は腕を上昇させズームアウト操作をしている。さらにコンテンツCを拡大したいため、操作者はDにて目を閉じてから腕を下げている。D~Eまでの間はロックモードになっているため、操作者が腕を下げる動作をしても、制御部13は、画面をズームイン制御しない。操作者がFで目を開けたことを受け、制御部13はロックモードを解除する。またここで、操作者が腕を上昇させ、継続してズームアウト操作をしている。
【0110】
図13Aは、これらの操作中の各時系列でのカメラ11で撮影された顔を示したものである。また、
図13Cは、それぞれの時点での表示領域を示したものである。
【0111】
こうした
図13の動作実現を行う方法について、
図12及び
図9Bを用いて説明する。既に述べたように、
図9Bの表示処理ループ内のステップS18(F2処理)にて、顔の大きさ(右目と左目の距離)に応じてSCALE率が変わる。
【0112】
図13における画面Aのように右目と左目の距離が小さい時は(式F2-1)によりSCALEは小さく、一方、画面Cのように右目と左目の距離が大きくなるとSCALEは大きくなる。制御部13は、このSCALEに応じてコンテンツにて切り出される領域を変化させる。結果として、
図13Cのような表示制御がなされることになる。また、画面ロック動作も前述したものと同様に
図12のフローにて両目の開閉の検出を行い、表示のロックのON、OFFを制御し、
図13の動作を実現する。
【0113】
<時計の姿勢に伴う補正>
操作者が顔を固定した状態であれば、カメラ11の撮影中の画像内における顔位置に基づき顔と腕の相対位置を検出して、当該腕の前後左右の動きについて、操作者が歩行中や走行中であっても安定した検出ができる。
【0114】
しかしながら、歩行中で腕の軸を中心に回転させ、
図14Aのように時計1を
図14AのY軸を中心に反時計方向に軸回転を行った場合、カメラ11に写る顔の位置が変化する。
図14Aのように矢印の方向に時計1が回転したとき、カメラ11の画像は
図14Bから
図14Cのように変化する。
【0115】
この画像は、腕をY軸の反対の方向に移動したときと、顔の画像だけでは区別が難しい。この動きは腕の移動に代わる動作にもなるので、これ自体は問題とはなりにくいが、姿勢センサ15内の角速度センサなどを用いてこれらの腕の回転運動を検出し、動きを抑えるような構成とすることも考えられる。
【0116】
<その他のスクロール制御について>
大きな表示サイズとなるコンテンツの場合、表示ロックモードを設け、これにより、当該コンテンツのスクロールを停止した状態で、腕を戻す操作を可能にした。しかしながら、繰り返し戻す操作を行うのは、操作者にとって煩わしいものである。
【0117】
そこで、この問題を解決するために、操作者が腕を動かし、当該腕の位置が一定以上、体から遠い状態になった場合、それ以降は自動スクロールするよう制御するモードを設けている。
【0118】
この自動スクロールの速度は、当該腕が体から離れていくにつれて速くなるよう制御するものとする。そして操作者が見たい所望の位置に近づいたとき、その腕を元の状態に戻す操作を行う。この時、制御部13は、上述の腕の位置が体から一定位置以上に近づくことを検知し、自動スクロールを停止する。その後、元の腕の位置によるスクロールモードに復帰するため、操作者としては腕の動きで微調整が可能になる。
【0119】
この動作のイメージを
図16、
図17を使って説明する。
図16は、カメラ11に映った操作者の顔である。自動スクロール制御は、カメラ11における撮影中心と顔の中心との距離によって決定される(前述した腕の動きによるスクロールでは、顔の相対的な動き(位置)でスクロール制御が決定されていた)。
【0120】
図16の(uc, vc)は、カメラ11における撮影範囲の中心座標である。これを中心として、距離rbの円161を図示している。顔がf1の位置にあるとき、顔の中心座標は(uf1, vf1)で、この座標と中心座標との距離はr1になっている。他方、顔がf3の位置にあるとき顔の中心座標は(uf3, vf3)で、この座標と中心座標との距離はr3になっている。
【0121】
r1は半径rbの内部にあるので、この範囲内は顔の位置でスクロールが決定される。一方、r3は半径rbの外側にあるので、その場合、制御部13は、rb-r3、またはrb/r3の量に応じてスクロールスピードを決定し、その中心座標からのベクトル方向に応じた方向へ自動スクロールを実行する。
【0122】
そのスクロールの事例を
図17A、
図17Bを使って説明する。
図17Aは、表示を行うコンテンツ全体の画像と、各タイミングで表示を行っている領域を点線の四角の領域で示している。また
図17Bは、操作者の腕の動きに応じて、カメラ11に撮像されている顔を図示している。
【0123】
まず顔がf1の時のカメラ画像の顔の位置(
図17B)と地図の表示位置(
図17A)の対応関係を示している。この時、操作者はコンテンツである地図の左側を表示させたいと考えた場合、腕を右に動かし左側を見ようとする。その場合、カメラ11での顔の位置はf1からf2になり、それに伴い地図での表示位置も腕の動きに合わせてf1からf2の位置へ変化する。
【0124】
操作者がさらに腕を右側に移動させると、顔の位置はf2からf3へと移動し、地図の表示もf3へと移動していく。その結果、顔の位置が円領域161から外側に出ると、制御部13は、スクロール動作を自動スクロールに変える。その場合、顔がf3の位置で停止してもスクロールし続け、地図の表示位置はf3からf3‘へと一定速度で移動し続けることになる。移動方向は、中心座標から顔の位置へのベクトル方向になる。
【0125】
なお、カメラ11の座標系の上下(vの向き)とコンテンツの座標系の上下(yの向き)は反転しているため、顔の上下と地図の移動の上下の向きは反転している。
【0126】
操作者は左スクロールだけではなく、意図にない上方向のスクロールをしているのを見た場合、腕を若干下に移動させ、上スクロールしないように調整する。この時、制御部13は、地図の表示位置をf3→f4とし、この状態で維持させ、左スクロールを継続し、地図の表示はf4→f4‘へと移動していく。
【0127】
そして操作者が見たい部分に表示位置が到達した場合、当該操作者は自動スクロールを停止させるために、腕を右側に戻す。このとき、カメラ11の撮影画像中における顔の位置はf5となって円領域161の内に入るため、制御部13は、これを検知して自動スクロールを停止し、腕の移動によるスクロールモードに戻す。制御部13は、このように操作者の腕の上下左右の操作に応じて、自動スクロールと手動スクロールを切り替え、良好なスクロール制御を操作者に提供できる。
【0128】
こうしたスクロール動作を実現する制御方法を
図18A,
図18B、
図19に基づき説明する。
図18A,
図18Bは、
図9A、
図9Bのスクロール制御の表示ロック部分の機能を削除したものになっている。また、
図19のステップS18の処理が新しい処理ステップS500に差し替えられている。それ以外のフロー動作は同じであるので説明は省略する。
【0129】
上述のステップS500のフローをさらに詳細に記載したのが
図19である。このステップS500では、顔検出された座標を使って、コンテンツの表示領域を決定する処理を行う。
図16で示したように、検出された顔の座標(uf, vf)とカメラ11の中心座標(uc, vc)からその距離rを以下の式(5)にて求める(ステップS501)。
[式5]
r = ((u
f - u
c)
2 + (v
f - v
c)
2)
1/2
【0130】
ここで制御部13は、距離rについて、スクロール制御の切り替え境界となる円領域161の内外か判定する(ステップS502)。この判定の結果、距離rが円領域161の内側にある場合(ステップS502:Yes)、制御部13は、
図9A、
図9Bと同じ手法で、次のように基準顔データと現在の顔データとの差に応じてコンテンツの中心座標を決定する。
【0131】
検出された顔の中心位置が(uf, vf)、目の距離がdeであるとき、表示スケールscaleとコンテンツの表示中心(xc, yc)は、次の式(6)、式(7)を用いて求める。
[式6]
scale = scale0 x (de/d0)
[式7]
xc = x0 + (uf - u0) x k/scale, yc = y0 + (vf - v0) x k/scale
【0132】
一方、制御部13は、上述の距離rが円領域161の外側であった場合(ステップS501:No)、前回処理してからの経過時間を計測する(ステップS505)。この時の経過時間をTpとする。この経過時間と、円領域161から距離rがはみ出した距離とに応じて、表示スケールscaleとコンテンツの表示中心、さらにコンテンツの原点オフセット(x0, y0) を次の式(8)~式(11)のようにして求める(ステップS506)。
[式8]
scale = scale0 x (de/d0)
[式9]
deltaXY = ((r - rb) x as + bs) * Tp
[式10]
x0 = x0 + deltaXY/scale, y0 = y0 + deltaXY/scale
[式11]
xc = x0 + (uf - u0) x k/scale, yc = y0 + (vf - v0) x k/scale
【0133】
ここで、as、bsは、あらかじめ決められた比例乗数であり、試行錯誤しながら最適なスクロールとなるべく決定することができる。スクロールが一定量になるため、処理フローの周期が一定でない時を配慮し、経過処理を乗算している。
【0134】
以上の動作により、操作者の腕の操作上下左右に応じて、自動スクロールと手動スクロールを切り替えて、良好なスクロール制御を実現できる。
【0135】
本発明によれば、手首に装着される情報表示装置において表示部と顔との相対位置(3軸)、顔の姿勢(ピッチ、ヨー、ロール)を求めることにより、歩行時や走行時であっても、精度の良い表示制御が可能となる。
【0136】
例えば、操作者において表示部を視認可能にすべく腕を固定した状態で歩行すれば、表示部と当該操作者との相対位置は固定状態であって、表示部で表示するコンテンツは静止しつづけることとなる。また、歩行時の状態で腕を動かせば、顔に対する相対的な移動量に応じてコンテンツ表示の制御が行われる。
【0137】
以上説明したように、本実施形態における、コンテンツの表示機能を有するウェアラブル型の情報処理装置は、コンテンツの表示を行う表示部10と、表示部10に付帯するカメラ11から、操作者の撮影画像を取得する処理、前記撮影画像から前記操作者の顔の画像である顔画像を認識する処理、及び、前記顔における主要部分の状態に基づいて、前記コンテンツの表示範囲を制御する処理を実行する制御部13とを備えている。
【0138】
このようにすれば、ウェアラブル型の情報処理装置におけるコンテンツの表示について、操作者の意図に沿った良好な表示制御が可能となる。
【0139】
制御部13が、前記撮影画像に基づいて、前記コンテンツのうち前記表示部10で表示する表示範囲を決定する処理を実行するとしてもよい。
【0140】
このようにすれば、操作者は、情報表示装置1に触れることなく表示範囲を決定することができる。
【0141】
制御部13が、当該顔画像から顔の位置及び姿勢と、当該顔とカメラ11との相対距離を検出する処理を実行し、前記撮影画像に基づいて、前記コンテンツのうち表示部10で表示する表示範囲を決定する処理に際し、前記顔の位置及び姿勢と前記相対距離とに基づいて、前記表示範囲を決定するとしてもよい。
【0142】
このようにすれば、操作者が情報表示装置1を移動させることで、表示範囲を決定することができる。
【0143】
制御部13が、さらに前記顔画像の認識の有無、及び前記主要部分の前記表示部上での移動距離の少なくとも一つに基づいて、前記表示範囲を制御する処理を実行するとしてもよい。
【0144】
このようにすれば、ウェアラブル型の情報処理装置におけるコンテンツの表示について、操作者の意図に沿ったより利便性の高い表示制御が可能となる。
【0145】
制御部13は、顔の位置及び姿勢を検出する処理に際し、顔画像における顔の前記主要部分の位置を特定し、前記主要部分の位置情報に基づき、当該顔の位置、向き、及び姿勢を特定するものであるとしてもよい。
【0146】
このようにすれば、各操作者の顔の主要部分に基づいて、その顔の位置、向き、及び姿勢を精度よく求めることができる。
【0147】
制御部13は、前記操作者の顔における前記主要部分の状態を特定し、当該状態及び前記顔の検出の有無に応じて、前記表示部における前記コンテンツの拡大または縮小、前記コンテンツのうち前記表示部において表示する表示範囲の移動、の少なくともいずれかについて制御するものであるとしてもよい。
【0148】
このようにすれば、操作者の顔の検出の有無、顔の主要部分の状態に基づいて、コンテンツの表示範囲の拡大縮小、あるいは移動の表示制御を実行させることができる。
【0149】
制御部13は、前記顔の位置及び姿勢の検出に際し、前記主要部分の位置情報に基づいて、当該顔の中心位置を算定し、前記主要部分の位置情報及び前記顔の輪郭情報に基づき、当該顔の姿勢を検出するものであるとしてもよい。
【0150】
このようにすれば、制御部13は、操作者の顔の姿勢を精度よく求めることができる。
【0151】
顔認識部14により撮影画像中で顔画像が認識され、かつ当該顔の前記主要部分の状態が一定時間以上、予め定めたものとなっていると判定された場合、表示部10における前記コンテンツの表示形態の変更を停止するものであるとしてもよい。
【0152】
このようにすれば、操作者の意図に反してコンテンツの表示形態が変更されるのを防ぐことができる。
【0153】
制御部13は、前記操作者の顔の前記主要部分の、前記表示画面上における移動距離が、所定の基準以上となったタイミングを特定し、当該タイミング以降、前記表示部における前記コンテンツの表示範囲を、前記顔の方向に応じて自動スクロールさせるものであるとしてもよい。
【0154】
このようにすれば、操作者が特定の操作を継続して行うことなく表示範囲をスクロールさせることができる。
【0155】
前記ウェアラブル型の情報処理装置が、腕時計型の端末装置であるとしてもよい。
【0156】
このようにすれば、腕時計型の端末装置を装着した操作者は、装着した腕の動き、顔の位置、姿勢、主要部分の状態等に基づいて、表示部10に表示されるコンテンツの表示制御を意のままに行うことができる。
【0157】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。換言すると、
図2の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が情報表示装置1に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に
図2の例に限定されない。また、一つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。本実施形態における機能的構成は、演算処理を実行するプロセッサによって実現され、本実施形態に用いることが可能なプロセッサには、シングルプロセッサ、マルチプロセッサ及びマルチコアプロセッサ等の各種処理装置単体によって構成されるものの他、これら各種処理装置と、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられたものを含む。
【0158】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0159】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるUSBメモリ等のリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk),Blu-ray(登録商標) Disc(ブルーレイディスク)等により構成される。光磁気ディスクは、MD(Mini-Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているROM等で構成される。
【0160】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【0161】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、上記実施形態と変形例の各構成を組み合わせることも可能である。更に、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0162】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
コンテンツの表示機能を有するウェアラブル型の情報処理装置であって、
前記コンテンツの表示を行う表示部と、
前記表示部に付帯するカメラから、本情報処理装置の操作者の撮影画像を取得する処理、
前記撮影画像から前記操作者の顔の画像である顔画像を認識する処理、
及び、前記顔における主要部分の状態に基づいて、前記コンテンツの表示範囲を制御する処理を実行する制御部と、
を備える情報処理装置。
[付記2]
前記制御部が、前記撮影画像に基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する処理を実行する、付記1に記載の情報処理装置。
[付記3]
前記制御部が、当該顔画像から顔の位置及び姿勢と、当該顔と前記カメラとの相対距離を検出する処理を実行し、
前記撮影画像に基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する処理に際し、前記顔の位置及び姿勢と前記相対距離とに基づいて、前記表示範囲を決定する、付記2に記載の情報処理装置。
[付記4]
前記制御部が、さらに前記顔画像の認識の有無、及び前記主要部分の前記表示部上での移動距離の少なくとも一つに基づいて、前記表示範囲を制御する処理を実行する、付記1に記載の情報処理装置。
[付記5]
前記制御部は、
前記顔の位置及び姿勢を検出する処理に際し、前記顔画像における顔の前記主要部分の位置を特定し、前記主要部分の位置情報に基づき、当該顔の位置、向き、及び姿勢を特定するものである、
付記3に記載の情報処理装置。
[付記6]
前記制御部は、
前記操作者の顔における前記主要部分の状態を特定し、当該状態及び前記顔の検出の有無に応じて、前記表示部における前記コンテンツの拡大または縮小、前記コンテンツのうち前記表示部において表示する表示範囲の移動、の少なくともいずれかについて制御するものである、
付記1に記載の情報処理装置。
[付記7]
前記制御部は、
前記顔の位置及び姿勢の検出に際し、前記主要部分の位置情報に基づいて、当該顔の中心位置を算定し、前記主要部分の位置情報及び前記顔の輪郭情報に基づき、当該顔の姿勢を検出するものである、
付記3に記載の情報処理装置。
[付記8]
前記制御部は、
前記撮影画像中で顔画像が認識され、かつ当該顔の前記主要部分の状態が一定時間以上、予め定めたものとなっている場合、前記表示部における前記コンテンツの表示形態の変更を停止するものである、
付記1に記載の情報処理装置。
[付記9]
前記制御部は、
前記操作者の顔の前記主要部分の、前記表示画面上における移動距離が、所定の基準以上となったタイミングを特定し、当該タイミング以降、前記表示部における前記コンテンツの表示範囲を、前記顔の方向に応じて自動スクロールさせるものである、
付記1に記載の情報処理装置。
[付記10]
当該顔画像から顔の位置及び姿勢と、当該顔と前記カメラとの相対距離を検出する処理を実行し、
前記撮影画像に基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する処理に際し、前記顔の位置及び姿勢と前記相対距離とに基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する、付記8に記載の情報処理装置。
[付記11]
当該顔画像から顔の位置及び姿勢と、当該顔と前記カメラとの相対距離を検出する処理を実行し、
前記撮影画像に基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する処理に際し、前記顔の位置及び姿勢と前記相対距離とに基づいて、前記コンテンツのうち前記表示部で表示する表示範囲を決定する、付記9に記載の情報処理装置。
[付記12]
前記ウェアラブル型の情報処理装置が、腕時計型の端末装置である、付記1~11のいずれかに記載の情報処理装置。
[付記13]
コンテンツの表示機能を有するウェアラブル型の情報処理装置が、
前記コンテンツの表示を行う表示部に付帯するカメラから、本情報処理装置の操作者の撮影画像を取得する処理、
前記撮影画像から前記操作者の顔の画像である顔画像を認識する処理、
及び、前記顔における主要部分の状態に基づいて、前記コンテンツの表示範囲を制御する処理、
を実行する情報処理方法。
[付記14]
コンテンツの表示機能を有するウェアラブル型の情報処理装置に、
前記コンテンツの表示を行う表示部に付帯するカメラから、本情報処理装置の操作者の撮影画像を取得する処理、
前記撮影画像から前記操作者の顔の画像である顔画像を認識する処理、
及び、前記顔における主要部分の状態に基づいて、前記コンテンツの表示範囲を制御する処理、
を実行させるプログラム。
【符号の説明】
【0163】
1 情報表示装置
10 表示部
11 カメラ
12 操作部
13 制御部
14 顔認識部
140 顔検出部
141 顔ランドマーク検出部
142 顔位置検出部
143 顔姿勢検出部
144 顔状態検出部
145 顔検出制御部
15 姿勢センサ
151 磁気センサ
152 加速度センサ
153 角速度センサ