(58)【調査した分野】(Int.Cl.,DB名)
前記向き判定部による判定結果が、前記端末装置を基準として前記ユーザの顔の向きが変化していると判定されたとき、前記画像の表示の向きを変更することを特徴とする請求項1に記載の端末装置。
前記向き判定部による判定結果が、前記端末装置を基準として前記ユーザの顔の向きが変化していないと判定されたとき、前記画像の表示の向きを変更しないことを特徴とする請求項1に記載の端末装置。
前記向き判定部が前記ユーザの顔の認識に成功しなかった場合、前記表示制御部は、前記変化検出部による検出結果と前記向き判定部による判定結果に基づいた、前記画像の表示の向きを制御しないことを特徴とする請求項1に記載の端末装置。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0018】
(実施形態1)
図1は、本発明の実施形態1に係る端末装置10の構成の一例を示す図である。端末装置10は、例えば、スマートフォンやタブレットPCなどの携帯型の端末装置である。端末装置10は、撮像部11、タッチパネル部12、通信処理部13、記憶部14、制御部15を備える。
【0019】
撮像部11は、カメラを備え、カメラで映像を撮影する処理部である。タッチパネル部12は、ユーザから情報の入力を受け付ける入力部と、種々の情報を表示する表示部とからなるタッチパネルである。通信処理部13は、無線ネットワーク、または、有線ネットワークを介して、他の装置と無線通信、または、有線通信をそれぞれ行う処理部である。
【0020】
記憶部14は、メモリやハードディスク装置などの記憶デバイスである。記憶部14は、画像データ14a、顔向きデータ14bなどを記憶する。画像データ14aは、タッチパネル部12により表示される画像のデータである。顔向きデータ14bは、後に説明する向き判定部15aにより判定されたユーザの顔の向きのデータである。
【0021】
制御部15は、端末装置10の各部を制御するCPU(Central Processing Unit)などの制御デバイスである。制御部15は、向き判定部15a、および、表示制御部15bを備える。
【0022】
向き判定部15aは、ユーザの顔の向きを判定する処理部である。具体的には、向き判定部15aは、撮像部11により撮影された映像を用いて顔全体を認識する認識処理を行い、その結果に基づいてユーザの顔の向きを判定する。このように、顔全体を認識することにより、ユーザの顔の向きを精度よく判定することができる。
【0023】
図2は、顔の向きの判定について説明する図である。向き判定部15aは、顔認識処理の結果、ユーザの顔全体が認識できた場合、ユーザの顔が、
図2(A)に示すように、縦向きなのか、
図2(B)に示すように、横向きなのかを判定する。その際、向き判定部15aは、端末装置10を基準として、縦向きか横向きかを判定する。
【0024】
ここで、撮像部11は、短い所定の間隔でユーザの顔画像を撮影する。そして、向き判定部15aは、撮影された各顔画像について順次顔認識処理を行い、顔が縦向きや横向きに変化しているか否かを判定する。向き判定部15aは、この変化を追跡することにより、ユーザの顔が逆さまか否か、ユーザの顔が右側に傾いているのか、左側に傾いているのかを判定することができる。
【0025】
図2(A)には、ユーザの顔の向きが上下逆さまではない例が示されており、
図2(B)には、ユーザの顔が、ユーザの左側に傾いている例が示されている。
【0026】
また、向き判定部15aは、撮影された映像に対する顔認識処理により両目を検出し、両目の位置関係から顔の向きを判定することとしてもよい。これにより、効率的に顔の向きを判定することができる。
図3は、両目の位置関係から顔の向きを判定する処理について説明する図である。
【0027】
図3(A)に示されるように、両目が横に並んでいる場合は、向き判定部15aは、ユーザの顔が縦向きであると判定する。また、
図3(B)に示されるように、両目が縦に並んでいる場合は、向き判定部15aは、ユーザの顔が横向きであると判定する。この判定の際、向き判定部15aは、端末装置10を基準として、縦向きか横向きかを判定する。
【0028】
この場合も、撮像部11は、短い所定の間隔でユーザの顔画像を撮影する。そして、向き判定部15aは、撮影された各顔画像について順次顔認識処理を行い、両目の位置関係が変化しているか否かを判定する。向き判定部15aは、この変化を追跡することにより、ユーザの顔が逆さまか否か、ユーザの顔が右側に傾いているのか、左側に傾いているのかを判定することができる。
【0029】
図3(A)には、ユーザの顔の向きが上下逆さまではない例が示されており、
図3(B)には、ユーザの顔が、ユーザの左側に傾いている例が示されている。
【0030】
さらに、向き検出部16aは、ユーザの白目・黒目の位置からユーザの顔の向きを判定することとしてもよい。これにより、ユーザの顔の映像において片目しか認識されない場合でも、顔の向きを判定することが可能となる。
図4は、白目・黒目の位置から顔の向きを判定する処理について説明する図である。
【0031】
図4(A)に示されるように、白目と黒目が横に並んでいる場合は、向き判定部15aは、ユーザの顔が縦向きであると判定する。また、
図4(B)に示されるように、白目と黒目が縦に並んでいる場合は、向き判定部15aは、ユーザの顔が横向きであると判定する。この判定の際、向き判定部15aは、端末装置10を基準として、縦向きか横向きかを判定する。
【0032】
この場合も、撮像部11は、短い所定の間隔でユーザの顔画像を撮影する。そして、向き判定部15aは、撮影された各顔画像について順次顔認識処理を行い、白目・黒目の位置が変化しているか否かを判定する。向き判定部15aは、この変化を追跡することにより、ユーザの顔が逆さまか否か、ユーザの顔が右側に傾いているのか、左側に傾いているのかを判定することができる。
【0033】
図4(A)には、ユーザの顔の向きが上下逆さまではない例が示されており、
図4(B)には、ユーザの顔が、ユーザの左側に傾いている例が示されている。
【0034】
また、ユーザがサングラスなどのメガネを着用している場合は、撮影した映像の画像認識処理によりメガネを検出し、メガネの形状から顔の向きを判定することとしてもよい。これにより、たとえユーザがサングラスなどのメガネを着用している場合でも、ユーザの顔の向きを判定することができる。
図5は、メガネの形状から顔の向きを判定する処理について説明する図である。
【0035】
図5(A)に示されるように、2つのレンズが横に並んでいる場合は、向き判定部15aは、ユーザの顔が縦向きであると判定する。また、
図5(B)に示されるように、2つのレンズが縦に並んでいる場合は、向き判定部15aは、ユーザの顔が横向きであると判定する。この判定の際、向き判定部15aは、端末装置10を基準として、縦向きか横向きかを判定する。
【0036】
この場合も、撮像部11は、短い所定の間隔でユーザの顔画像を撮影する。そして、向き判定部15aは、撮影された各顔画像について順次顔認識処理を行い、レンズの位置関係が変化しているか否かを判定する。向き判定部15aは、この変化を追跡することにより、ユーザの顔が逆さまか否か、ユーザの顔が右側に傾いているのか、左側に傾いているのかを判定することができる。
【0037】
図5(A)には、ユーザの顔の向きが上下逆さまではない例が示されており、
図5(B)には、ユーザの顔が、ユーザの左側に傾いている例が示されている。
【0038】
図1の説明に戻ると、表示制御部15bは、向き判定部15aによる判定結果に基づいて、画像の表示の向きを制御する処理部である。
図6は、画像の表示の向きの制御について説明する図である。
【0039】
表示制御部15bは、向き判定部15aによりユーザの顔が横向きであると判定された場合に、タッチパネル部12に、画像20を横向きに表示させる。その際、表示制御部15bは、ユーザの顔が、ユーザの右側に傾いているのか、左側に傾いているのかに応じて、ユーザに対して画像20が逆さまに表示されないようにする。
【0040】
また、表示制御部15bは、向き判定部15aによりユーザの顔が縦向きであると判定された場合に、タッチパネル部12に、画像20を縦向きに表示させる。その際、表示制御部15bは、ユーザの顔の向きが、上下逆さまか否かに応じて、ユーザに対して画像20が逆さまに表示されないようにする。
【0041】
つぎに、本発明の実施形態1に係る画像表示制御処理の処理手順について説明する。
図7は、本発明の実施形態1に係る画像表示制御処理の処理手順の一例を示すフローチャートである。
【0042】
まず、
図1に示した端末装置10の撮像部11は、カメラを起動し(ステップS101)、ユーザの映像を撮影する(ステップS102)。そして、向き判定部15aは、ユーザの映像から、
図2〜
図5で説明したようにして、ユーザの顔の向きの判定処理を行う(ステップS103)。この処理の処理手順については、後に詳しく説明する。
【0043】
続いて、向き判定部15aは、ステップS103における顔の向きの判定処理が初回の判定処理か否かを判定する(ステップS104)。顔の向きの判定処理が初回の判定処理である場合(ステップS104においてYESの場合)、記憶部14は、判定の結果得られた顔の向きの情報を、顔向きデータ14bとして記憶する(ステップS105)。その後、ステップS102以降の処理が再度実行される。
【0044】
ステップS104において、顔の向きの判定処理が初回の判定処理でないと判定された場合(ステップS104においてNOの場合)、向き判定部15aは、顔向きデータ14bとして記憶部14に記憶された顔の向きの情報と、ステップS103における判定の結果得られた顔の向きの情報とを比較し、顔の向きが変化したか否かを判定する(ステップS106)。
【0045】
顔の向きが変化した場合(ステップS106においてYESの場合)、表示制御部15bは、顔の向きに応じて、
図6を用いて説明したように、画像の表示の向きを変更する(ステップS107)。そして、記憶部14は、ステップS103で判定された顔の向きの情報を、顔向きデータ14bとして記憶する(ステップS108)。この情報は、つぎにステップS106の判定処理がなされる場合に参照される。
【0046】
ステップS108の処理の後、または、ステップS106において、顔の向きが変化していない場合(ステップS106においてNOの場合)、向き判定部15aは、この画像表示制御処理の終了指示をユーザから受け付けたか否かを判定する(ステップS109)。この終了指示は、例えば、画像の向きの変更を行わないようにする指示などである。
【0047】
ステップS109において、画像表示制御処理の終了指示をユーザから受け付けた場合(ステップS109においてYESの場合)、撮像部11は、カメラを停止する(ステップS110)。そして、この画像表示制御処理は終了する。画像表示制御処理の終了指示をユーザから受け付けていない場合(ステップS109においてNOの場合)、ステップS102以降の処理が再度実行される。
【0048】
つぎに、
図7のステップS103に示した顔向き判定処理について説明する。
図8は、
図7のステップS103に示した顔向き判定処理の処理手順の一例を示すフローチャートである。具体的には、
図8は、
図2で説明した顔認識処理により顔の向きを判定する場合のフローチャートである。
【0049】
まず、端末装置10の向き判定部15aは、顔認識処理を実行する(ステップS201)。そして、向き判定部15aは、顔の認識が成功したか否かを判定する(ステップS202)。顔の認識が成功した場合(ステップS202においてYESの場合)、向き判定部15aは、顔の認識結果に基づいて、
図2で説明したようにして、端末装置10を基準とした顔の向きを判定する(ステップS203)。
【0050】
具体的には、向き判定部15aは、顔の向きが縦向きか、横向きかを判定する。さらに、向き判定部15aは、ユーザの顔の向きが縦向きの場合、それが上下逆さまか否かを判定する。また、向き判定部15aは、ユーザの顔の向きが横向きの場合、ユーザの顔が、ユーザの右側に傾いているのか、左側に傾いているのかを判定する。
【0051】
ステップS202において、顔の認識が成功しなかった場合(ステップS202においてNOの場合)、
図7に示したステップS109以降の処理が実行される。
【0052】
つぎに、
図3で説明したように、ユーザの顔の両目を検出することにより顔の向きを判定する場合について説明する。
図9は、
図7のステップS103に示した顔向き判定処理の処理手順の別の一例を示すフローチャートである。
【0053】
まず、端末装置10の向き判定部15aは、両目の認識処理を実行する(ステップS301)。そして、向き判定部15aは、両目の認識が成功したか否かを判定する(ステップS302)。両目の認識が成功した場合(ステップS302においてYESの場合)、向き判定部15aは、両目の認識結果に基づいて、
図3で説明したようにして、端末装置10を基準とした顔の向きを判定する(ステップS303)。
【0054】
具体的には、向き判定部15aは、顔の向きが縦向きか、横向きかを判定する。さらに、向き判定部15aは、ユーザの顔の向きが縦向きの場合、それが上下逆さまか否かを判定する。また、向き判定部15aは、ユーザの顔の向きが横向きの場合、ユーザの顔が、ユーザの右側に傾いているのか、左側に傾いているのかを判定する。
【0055】
ステップS302において、両目の認識が成功しなかった場合(ステップS302においてNOの場合)、
図7に示したステップS109以降の処理が実行される。
【0056】
つぎに、
図4で説明したように、ユーザの白目および黒目を検出することにより顔の向きを判定する場合について説明する。
図10は、
図7のステップS103に示した顔向き判定処理の処理手順の別の一例を示すフローチャートである。
【0057】
まず、端末装置10の向き判定部15aは、白目および黒目の認識処理を実行する(ステップS401)。そして、向き判定部15aは、白目および黒目の認識が成功したか否かを判定する(ステップS402)。白目および黒目の認識が成功した場合(ステップS402においてYESの場合)、向き判定部15aは、白目および黒目の認識結果に基づいて、
図4で説明したようにして、端末装置10を基準とした顔の向きを判定する(ステップS303)。
【0058】
具体的には、向き判定部15aは、顔の向きが縦向きか、横向きかを判定する。さらに、向き判定部15aは、ユーザの顔の向きが縦向きの場合、それが上下逆さまか否かを判定する。また、向き判定部15aは、ユーザの顔の向きが横向きの場合、ユーザの顔が、ユーザの右側に傾いているのか、左側に傾いているのかを判定する。
【0059】
ステップS402において、白目および黒目の認識が成功しなかった場合(ステップS402においてNOの場合)、
図7に示したステップS109以降の処理が実行される。
【0060】
つぎに、
図5で説明したように、ユーザが着用するメガネの形状を検出することにより顔の向きを判定する場合について説明する。
図11は、
図7のステップS103に示した顔向き判定処理の処理手順の別の一例を示すフローチャートである。
【0061】
まず、端末装置10の向き判定部15aは、メガネの2つのレンズの認識処理を実行する(ステップS501)。そして、向き判定部15aは、2つのレンズの認識が成功したか否かを判定する(ステップS502)。2つのレンズの認識が成功した場合(ステップS502においてYESの場合)、向き判定部15aは、2つのレンズの認識結果に基づいて、
図5で説明したようにして、端末装置10を基準とした顔の向きを判定する(ステップS503)。
【0062】
具体的には、向き判定部15aは、顔の向きが縦向きか、横向きかを判定する。さらに、向き判定部15aは、ユーザの顔の向きが縦向きの場合、それが上下逆さまか否かを判定する。また、向き判定部15aは、ユーザの顔の向きが横向きの場合、ユーザの顔が、ユーザの右側に傾いているのか、左側に傾いているのかを判定する。
【0063】
ステップS502において、2つのレンズの認識が成功しなかった場合(ステップS502においてNOの場合)、
図7に示したステップS109以降の処理が実行される。
【0064】
(実施形態2)
上記実施形態1では、顔の向きの判定結果に基づいて、画像の表示の向きを制御することとしたが、さらに重力の方向に基づいて、画像の表示の向きを制御することとしてもよい。本実施形態2では、このような場合について説明する。
【0065】
図12は、本発明の実施形態2に係る端末装置30の構成の一例を示す図である。端末装置30は、例えば、スマートフォンやタブレットPCなどの携帯型の端末装置である。端末装置30は、重力方向検出部31、撮像部32、タッチパネル部33、通信処理部34、記憶部35、制御部36を備える。
【0066】
重力方向検出部31は、端末装置30において設定された所定の座標系における重力の方向を検出するセンサである。撮像部32は、カメラを備え、カメラで映像を撮影する処理部である。この撮像部32は、後述する変化検出部36aにより、上記所定の座標系における重力の検出方向の変化が検出された場合に、ユーザの映像を撮影する。撮影された映像は、ユーザの顔の向きを判定するために用いられる。
【0067】
重力の検出方向の変化が検出された場合、ユーザの顔の向きが変化した可能性が高いと考えられる。そのため、重力の検出方向の変化が検出された場合にカメラでユーザの映像を撮影し、ユーザの顔の向きを判定することにより、ユーザの顔の向きの判定を効率的に行うことができる。
【0068】
図12の説明に戻ると、タッチパネル部33、通信処理部34は、
図1で説明したタッチパネル部12、通信処理部13と同様のものである。
【0069】
記憶部35は、メモリやハードディスク装置などの記憶デバイスである。記憶部35は、画像データ35a、顔向きデータ35b、重力方向データ35cなどを記憶する。画像データ35a、顔向きデータ35bは、
図1で説明した画像データ14a、顔向きデータ14bと同様のものである。重力方向データ35cは、重力方向検出部31により検出された重力の方向のデータである。
【0070】
制御部36は、端末装置30の各部を制御するCPUなどの制御デバイスである。制御部36は、変化検出部36a、向き判定部36b、および、表示制御部36cを備える。
【0071】
変化検出部36aは、重力の検出方向の変化を検出する処理部である。向き判定部36bは、
図1で説明した向き判定部15aと同様のものである。表示制御部36cは、変化検出部36aによる検出結果や、向き判定部36bによる判定結果に基づいて、画像の表示の向きを制御する処理部である。
図13は、画像の表示の向きの制御について説明する図である。
【0072】
図13(A)には、顔の向きは変化しないが、重力の向きが変化する場合が示されている。重力の向きがx方向からy方向に変化する場合、すなわち、縦向きに保持されていた端末装置10が横向きに保持される場合、表示制御部36cは、画面20を90度左に回転させる。その際、表示制御部36cは、ユーザの顔の向きが、上下逆さまか否かに応じて、ユーザに対して画像20が逆さまに表示されないようにする。
【0073】
また、重力の向きがy方向からx方向に変化する場合、すなわち、横向きに保持されていた端末装置10が縦向きに保持される場合、表示制御部36cは、画面20を右に90度回転させる。この場合も、表示制御部36cは、ユーザの顔の向きが、上下逆さまか否かに応じて、ユーザに対して画像20が逆さまに表示されないようにする。
【0074】
一方、
図13(B)には、顔の向きと、重力の向きがともに変化する場合が示されている。顔の向きが縦向きから横向きに変化するとともに、重力の向きがx方向からy方向に変化する場合、すなわち、縦向きに保持されていた端末装置10が横向きに保持される場合、表示制御部36cは、画面20の表示の方向を維持する。
【0075】
また、顔の向きが横向きから縦向きに変化するとともに、重力の向きがy方向からx方向に変化する場合、すなわち、横向きに保持されていた端末装置10が縦向きに保持される場合も、表示制御部36cは、画面20の表示の方向を維持する。
【0076】
つぎに、本発明の実施形態2に係る画像表示制御処理の処理手順について説明する。
図14、
図15は、本発明の実施形態2に係る画像表示制御処理の処理手順の一例を示すフローチャートである。
【0077】
まず、
図12に示した端末装置30の撮像部32は、カメラを起動し(ステップS601)、ユーザの映像を撮影する(ステップS602)。そして、向き判定部15aは、ユーザの映像から、
図2〜
図5で説明したようにして、ユーザの顔の向きの判定処理を行う(ステップS603)。この処理の処理手順は、
図8〜
図11を用いて説明したものと同様である。
【0078】
そして、記憶部35は、ステップS603で判定された顔の向きの情報を、顔向きデータ35bとして記憶する(ステップS604)。この情報は、ステップS612の判定処理がなされる場合に参照される。
【0079】
その後、重力方向検出部31は、重力の方向を検出する(ステップS605)。そして、変化検出部36aは、ステップS605における重力の検出処理が初回の検出処理か否かを判定する(ステップS606)。
【0080】
重力の方向の検出処理が初回の検出処理である場合(ステップS606においてYESの場合)、記憶部35は、検出の結果得られた重力の方向の情報を、重力方向データ35bcとして記憶する(ステップS607)。その後、ステップS605以降の処理が再度実行される。
【0081】
重力の方向の検出処理が初回の検出処理でない場合(ステップS606においてNOの場合)、変化検出部36aは、重力方向データ35cとして記憶部35に記憶された重力の方向の情報と、ステップS605における検出の結果得られた重力の方向の情報とを比較し、重力の検出方向が変化したか否かを判定する(ステップS608)。
【0082】
ステップS608において、重力の検出方向が変化していない場合(ステップS608においてNOの場合)、ステップS605以降の処理が再度実行される。ステップS608において、重力の検出方向が変化した場合(ステップS608においてYESの場合)、記憶部35は、ステップS605で検出された重力の方向を重力方向データ35cとして記憶する(ステップS609)。
【0083】
その後、
図15に示されるように、撮像部32は、ユーザの映像を撮影する(ステップS610)。続いて、向き判定部36bは、ユーザの映像から、
図2〜
図5で説明したようにして、ユーザの顔の向きを判定する処理を行う(ステップS611)。この判定処理の処理手順は、
図8〜
図11を用いて説明したものと同様である。
【0084】
そして、向き判定部36bは、顔向きデータ35bとして記憶部35に記憶された顔の向きの情報と、ステップS611における判定の結果得られた顔の向きの情報とを比較し、端末装置30を基準として、顔の向きが変化したか否かを判定する(ステップS612)。
【0085】
顔の向きが変化した場合(ステップS612においてYESの場合)、表示制御部36cは、
図13(A)を用いて説明したように、重力の方向に応じて、画像の表示の向きを変更する(ステップS613)。そして、記憶部35は、ステップS611で判定された顔の向きの情報を、顔向きデータ35bとして記憶する(ステップS614)。この情報は、つぎにステップS612の判定処理がなされる場合に参照される。
【0086】
一方、ステップS612において、顔の向きが変化していない場合(ステップS612においてNOの場合)、表示制御部36cは、
図13(B)を用いて説明したように、画像の表示の向きを維持する(ステップS615)。
【0087】
ステップS614の処理の後、ステップS615の処理の後、または、
図8のステップS202、
図9のステップS302、
図10のステップS402、若しくは、
図11のステップS502においてNOと判定された場合、向き判定部36bは、この画像表示制御処理の終了指示をユーザから受け付けたか否かを判定する(ステップS616)。この終了指示は、例えば、画像の向きの変更を行わないようにする指示などである。
【0088】
画像表示制御処理の終了指示をユーザから受け付けた場合(ステップS616においてYESの場合)、撮像部32は、カメラを停止する(ステップS617)。その後、この画像表示制御処理は終了する。
【0089】
ステップS616において、画像表示制御処理の終了指示をユーザから受け付けていない場合(ステップS616においてNOの場合)、
図14に示したステップS605以降の処理が再度実行される。
【0090】
また、本発明は上述した実施形態に限定されず、本発明の要旨を逸脱しない範囲内で各種の変形、修正が可能である。