(57)【要約】【課題】ターゲット被写体の動作軌跡を特定することによって、複数の被写体の中から希望の被写体を選択することができる装置を提供する。【解決手段】被写体を連続するフレーム群に撮像する撮像部と、前記フレーム群のそれぞれにおける前記被写体の位置を検出する検出部と、前記被写体の位置を含む動作軌跡を算出する動作軌跡算出部と、前記動作軌跡を表示する表示部と、前記表示部上でのユーザによる押圧を検出する入力部と、前記押圧に基づいて押圧位置を算出する入力データ生成部と、前記動作軌跡と、前記押圧位置とを比較することによって前記被写体を選択する比較部とを備える。【選択図】図１
2010141385.tif 000002
【特許請求の範囲】
【請求項１】
被写体を連続するフレーム群に撮像する撮像部と、
前記フレーム群のそれぞれにおける前記被写体の位置を検出する検出部と、
前記被写体の位置を含む動作軌跡を算出する動作軌跡算出部と、
前記動作軌跡を表示する表示部と、
前記表示部上でのユーザによる押圧を検出する入力部と、
前記押圧に基づいて押圧位置を算出する入力データ生成部と、
前記動作軌跡と、前記押圧位置とを比較することによって前記被写体を選択する比較部と
を備える被写体選択装置。
【請求項２】
前記比較部は、前記動作軌跡と、前記押圧位置との距離を比較することによって前記被写体を選択する請求項１に記載の被写体選択装置。
【請求項３】
前記比較部は、前記動作軌跡の方向と、前記押圧位置の軌跡の方向とを比較することによって前記被写体を選択する請求項１に記載の被写体選択装置。
【請求項４】
前記比較部は、前記動作軌跡の形状と、前記押圧位置の軌跡の形状とを比較することによって前記被写体を選択する請求項１に記載の被写体選択装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体の選択を画面上でおこなう装置に関する。
【背景技術】
【０００２】
特許文献１の例えば図１１に記載された装置は、撮像された画像を表示する液晶ディスプレイ（ＬＣＤ）上にタッチパネルを有する。ユーザは被写体を選択するためにこのタッチパネルを触る。装置は、タッチパネル上での押圧位置（触れた位置）に対応する被写体を選択する。
【特許文献１】特開平１１−１３６５６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述の装置を用いるユーザは、選択を希望する被写体をタッチパネル上で触る。しかし被写体を選択するとき、被写体の動きが速い場合、またはランダムである場合、被写体をタッチパネル上で正確に押圧することが難しい。タッチパネル上で被写体を触ろうとしたときに、別のオブジェクトが希望の被写体と重なることもある。このような場合も、被写体をタッチパネル上で正確に押圧することが難しい。
【０００４】
本発明の目的は、被写体の容易な選択を可能にする装置を提供することである。
【課題を解決するための手段】
【０００５】
本発明による被写体選択装置は、被写体を連続するフレーム群に撮像する撮像部と、前記フレーム群のそれぞれにおける前記被写体の位置を検出する検出部と、前記被写体の位置を含む動作軌跡を算出する動作軌跡算出部と、前記動作軌跡を表示する表示部と、前記表示部と関連付けられた、ユーザから入力を受け取る入力部と、前記入力に基づいて押圧位置を算出する入力データ生成部と、前記動作軌跡と、前記押圧位置とを比較することによって前記被写体を選択する比較部とを備える。
【０００６】
ある実施形態によれば、前記比較部は、前記動作軌跡と、前記押圧位置との距離を比較することによって前記被写体を選択する。
【０００７】
ある実施形態によれば、前記比較部は、前記動作軌跡の方向と、前記押圧位置の軌跡の方向とを比較することによって前記被写体を選択する。
【０００８】
ある実施形態によれば、前記比較部は、前記動作軌跡の形状と、前記押圧位置の軌跡の形状とを比較することによって前記被写体を選択する。
【発明の効果】
【０００９】
本発明による装置は、ユーザが触った点、またはユーザが触った点群からなる軌跡と、被写体の動作軌跡とを比較する。この比較に基づいて、複数の被写体の中からユーザが選択したターゲット被写体を特定できる。本発明は、ユーザが複数の被写体の中から希望の被写体を容易に選択できる効果を有する。
【００１０】
本発明のある実施形態による装置は、ユーザが触った点と、被写体の動作軌跡との距離を比較する。この比較に基づいて、複数の被写体の中からユーザが選択したターゲット被写体を特定できる。本実施形態は、被写体または被写体の動作軌跡そのものを触ることを必要とせず、その近傍をユーザが触ることによって複数の被写体の中から希望の被写体を容易に選択できる効果を有する。
【００１１】
本発明の他の実施形態による装置は、ユーザが触った点群からなる軌跡と、被写体の動作軌跡との距離を比較する。この比較に基づいて、複数の被写体の中からユーザが選択したターゲット被写体を特定できる。本実施形態は、被写体または被写体の動作軌跡そのものを触ることを必要とせず、その近傍をユーザが触ることによって複数の被写体の中から希望の被写体を容易に選択できる効果を有する。
【００１２】
本発明のさらに他の実施形態による装置は、ユーザが触った点群からなる軌跡の向きと、被写体の動作軌跡の向きとを比較する。この比較に基づいて、複数の被写体の中からユーザが選択したターゲット被写体を特定できる。本実施形態は、被写体または被写体の動作軌跡そのものを触ることを必要とせず、被写体の動作軌跡の向きに沿ってユーザがなぞることによって複数の被写体の中から希望の被写体を容易に選択できる効果を有する。
【００１３】
本発明のさまざまな実施形態によれば、ターゲット被写体の動作軌跡またはその近傍をなぞることによって、複数の被写体の中から希望の被写体を選択することができる。これら実施形態は、選択したい被写体の動きが速い、または被写体の動きがランダムな場合、および選択したい被写体が別のオブジェクトと重なっている場合でも、タッチパネル上で被写体の動作軌跡の近傍をなぞることによって、ターゲット被写体を容易に選択できる効果を有する。
【発明を実施するための最良の形態】
【００１４】
図面を参照して例示的実施形態を以下に詳細に説明する。
【００１５】
（システム構成）
図１は、例示的実施形態によるシステム１００の構成を示す。一例としてシステム１００は、デジタルビデオカメラであり得る。しかしシステム１００は、動画または静止画を表示するディスプレイ、およびディスプレイに関連付けられたタッチパネルを有する任意の電子機器に応用可能である。そのような電子機器の例には、テレビ、デジタルカメラ、パーソナルコンピュータなどが含まれる。
【００１６】
システム１００は、撮像部１１０、被写体位置検出部（単に「検出部」とも呼ぶ）１２０、動作軌跡算出部１３０、表示部１４０、入力部１５０、入力データ算出部１６０、比較部１７０、および制御部１８０を含む。
【００１７】
撮像部１１０は、レンズ系を通し、動画を撮像し、撮像された動画を表す電気信号１１２を表示部１４０に出力する。このような動画は、撮像時刻に対応付けられた複数の連続するフレーム群（例えば１秒間に６０フレーム）からなる。動画は、典型的には動く被写体１０２を含む。撮像部１１０は撮像素子を含む。撮像素子の例には、ＣＣＤ（電荷結合素子）イメージセンサ、ＣＭＯＳ（相補性金属酸化膜半導体）イメージセンサ、撮像管などが含まれる。
【００１８】
表示部１４０は、撮像部１１０から受け取られた信号１１２に基づいて、撮像された動画を表示する。表示部１４０は、撮像された動画以外の情報（例えば時刻、録画可能な残り時間など）を表示してもよい。典型的には表示部１４０は、ＬＣＤ（液晶ディスプレイ）パネルである。表示部１４０の代替の実現例には、プラズマディスプレイパネル、ＥＬ（エレクトロルミネセンス）パネルが含まれる。
【００１９】
被写体位置検出部１２０は、撮像部１１０によって出力された信号１１４を受け取る。信号１１４は、典型的には被写体１０２を含む動画を表す。被写体位置検出部１２０は、動画を構成する複数の連続するフレーム群のそれぞれにおける被写体１０２の位置を特定する。具体的には、被写体位置検出部１２０は、被写体１０２の例えば特徴点を検出し、その特徴点の位置を特定する。被写体位置検出部１２０は、特定された特徴点の位置情報１２２を、被写体１０２の位置として、動作軌跡算出部１３０に出力する。
【００２０】
動作軌跡算出部１３０は、複数のフレーム群における被写体１０２の位置に基づいて、被写体１０２の動作軌跡１３２、１３４を算出する。単一のフレーム内に複数の被写体１０２が存在することもありえる。そのような場合は、複数の被写体１０２のそれぞれについて動作軌跡１３２、１３４を算出する。
【００２１】
表示部１４０は、信号１１２によって表される前述の撮像された動画とオーバラップさせて、被写体１０２の動作軌跡１３２を表示する。撮像された動画に複数の被写体１０２が存在するときは、表示部１４０は、複数の被写体１０２に対応する複数の動作軌跡１３２を表示する。
【００２２】
入力部１５０は、表示部１４０の表示スクリーンに対応付けられた板状の位置入力デバイス（例えばタッチパッドと呼ばれる）を有する。そのような位置入力デバイスは、マトリクス・スイッチ、抵抗膜、表面弾性波、赤外線、および静電容量などの任意の１つを利用して実現され得る。図１において表示部１４０および入力部１５０は、２つの機能ブロックとして表現される。しかし表示部１４０および入力部１５０は、別個の要素（例えば電子部品）である必要はなく、一体化して形成され得る。
【００２３】
ユーザは、表示部１４０に表示された典型的には複数である被写体の中から１つを選択するために、入力部１５０において希望の被写体に対応する位置を押圧する。入力部１５０は、表示部１４０におけるユーザによって押圧された位置を表す信号１５２を発生し、入力データ生成部１６０に出力する。
【００２４】
本明細書で「押圧位置」とは、典型的にはユーザが押さえた入力部１５０上の単一または複数の位置（群）を指す。ユーザが入力部１５０上の一点で押圧した場合、押圧位置は、単一の座標を表す。ユーザが入力部１５０上である軌跡をなぞるように、一連の点群において押圧した場合、押圧位置は、入力軌跡に対応する複数の座標群を表す。
【００２５】
入力データ生成部１６０は、入力部１５０によって出力された信号１５２に基づいて、ユーザによって押圧された位置の座標を算出する。入力データ生成部１６０は、押圧位置を表す信号１６２を比較部１７０に出力する。
【００２６】
比較部１７０は、動作軌跡算出部１３０によって算出された被写体の動作軌跡１３４と、入力データ生成部１６０によって算出された押圧位置座標１６２とを比較することによって、「ターゲット被写体」（主要被写体とも呼ばれる）を選択する。このターゲット被写体は、ユーザがその被写体のパラメータ（例えば明るさ、色調、フォーカス）を調整することを希望する被写体であって、典型的には複数の被写体の中の特定の１つである。比較部１７０によって実行される比較のタイプに依存して、本システム１００は、さまざまな手法によって希望の被写体を選択し得る。それら手法は、実施形態１〜６について以下に説明される。比較部１７０は、選択された被写体の現在の位置を表す信号１７２を制御部１８０に出力する。
【００２７】
制御部１８０は、受け取られた位置情報１７２に基づいて、フレーム内のその位置に対応する画像を調整する。つまり制御部１８０は、制御対象１９０に所望の調整をおこなう指示１８２を与える。そのような調整の例には、明るさ補正、色調補正、焦点調整がある。画像に対する制御部１８０がおこなう調整は、自動でおこなわれてもよく、またはユーザがなんらかの指示を与えることによってそれに基づいておこなわれてもよい。
【００２８】
例えば、制御部１８０は、逆光の状態にあるターゲット被写体の明るさを明るく補正することができる。代替として、制御部１８０は、現在の状態ではフォーカスが合っていないターゲット被写体にフォーカスが合うよう、レンズ系を駆動することができる。よって前者の例では、制御部１８０は、位置情報１７２が表す画素の明るさを調整する指示１８２を制御対象１９０である画像処理装置に出力する。後者の例では、制御部１８０は、位置情報１７２が表す画素のフォーカスを調整する指示１８２を制御対象１９０であるレンズ駆動系に出力する。
【００２９】
被写体位置検出部１２０、動作軌跡算出部１３０、入力データ生成部１６０、比較部１７０、および制御部１８０の機能の全部または一部は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの任意の適当な組み合わせによって実現され得る。そのようなハードウェアの例には、ＩＣ（集積回路）、ＬＳＩ（大規模集積回路）、ＡＳＩＣ（特定用途向け集積回路）などがある。
【００３０】
（実施形態１）
図１〜３を参照して説明されるシステム１００は、ポイント（点）モードによって希望の被写体を選択する。ポイントモードにおいては、ユーザは入力部１５０上で被写体の近傍の点を触ることによって、ターゲット被写体を選択する。図２は、撮像部１１０によって撮像された複数の被写体Ｔ１、Ｔ２、Ｔ３、および対応する動作軌跡Ａ１、Ａ２、Ａ３を示す。被写体位置検出部１２０は、撮像部１１０によって撮像された連続するフレームのそれぞれにおける複数の被写体Ｔ１、Ｔ２、Ｔ３の位置を検出する。動作軌跡算出部１３０は、複数の被写体Ｔ１、Ｔ２、Ｔ３の位置に基づいて、対応する動作軌跡Ａ１、Ａ２、Ａ３を算出する。
【００３１】
一般的に、撮像中に被写体が動くと、撮像されたフレーム内での被写体の位置も変わる。被写体自体が静止していても撮像部１１０がパンやチルトをおこなうと、フレーム内での被写体の位置は変わる。さまざまな実施形態においては、これら両方の場合が考慮される。いずれの状況においても、複数のフレームにわたってフレーム内での被写体Ｔ１の位置が変化することが想定される。被写体位置検出部１２０は、それぞれのフレーム内での被写体Ｔ１の位置を動作軌跡算出部１３０に出力する。
【００３２】
動作軌跡算出部１３０は、被写体Ｔ１の複数の位置に基づいて、動作軌跡Ａ１を発生し、表示部１４０に出力する。同様に、表示部１４０は、被写体Ｔ２およびＴ３にそれぞれ対応する動作軌跡Ａ２およびＡ３も表示する。被写体Ｔ１、Ｔ２、Ｔ３が実質的に静止していれば、対応する動作軌跡は１点または密集した点群になり得る。動作軌跡は、連続するフレームにおける被写体のそれぞれの位置を、例えば曲線に当てはめることによって求められる。そのような曲線の例には、２次曲線、３次曲線、スプライン曲線、ベジエ曲線などがある。動作軌跡は、曲線当てはめ以外の手法によって算出されてもよい。例えば複数の被写体位置を直線によって結んだ多角形による曲線近似を利用してもよい。
【００３３】
入力データ生成部１６０によって算出された押圧位置座標は、図２の入力位置座標Ａｒに対応する。図２において入力位置座標Ａｒと、動作軌跡Ａ１、Ａ２、Ａ３との距離は、それぞれＤＡ１、ＤＡ２、ＤＡ３である。例えば、ユーザが被写体Ｔ２を選択したい場合、ユーザは、距離ＤＡ２がＤＡ１およびＤＡ３よりも短くなるような点Ａｒを押圧する。換言すれば、システム１００は、距離ＤＡ１、ＤＡ２、ＤＡ３のうち、どれが最小か（図２ではＤＡ２が最小）を判断し、最小距離に対応する被写体（図２でＴ２）を選択する。
【００３４】
多くの場合、ユーザは複数の被写体の中から特定の１つ（ターゲット被写体）を選択する必要がある。システム１００は、ユーザによる容易な被写体選択を実現し得る。システム１００は、ユーザが選択した被写体に合わせた制御（例えば明るさ補正）を可能にする。比較部１７０は、選択された被写体（例えばＴ２）に対応する位置を制御部１８０へ与える。制御部１８０は、受け取られた位置情報に基づいて、フレーム内のその位置に対応する画像に合わせた調整をおこなう。そのような調整の例には、明るさ補正、色調補正、焦点調整がある。
【００３５】
例えばユーザが、歩いている３人の子供（複数の被写体）をシステム１００（例えばビデオカメラ）によって撮影していると想定する。ユーザは、複数の被写体を表示部１４０で見ながら、ターゲット被写体（例えば３人の子供のうちの１人）の顔に明るさを合わせたい。ユーザは、入力部１５０上でターゲット被写体（例えばＴ２）の動作軌跡（例えばＡ２）の近くを触る。これによりシステムは、ユーザがターゲット被写体を選択したと認識できる。制御部１８０は、選択された被写体の位置に対応する画素の明るさが適当な範囲に入るように、明るさを調整する。
【００３６】
図３は、後述するコントローラ（例えばマイクロプロセッサ）が実行するプロセス３００の操作フローを示す。プロセス３００は、比較部１７０が、ポイントモードにおいて、複数の被写体（例えば図２のＴ１、Ｔ２、Ｔ３）から、ターゲット被写体（例えば図２のＴ２）を選択できるようにする。図３において、距離ＤＡ１は、押圧位置Ａｒと、動作軌跡Ａ１上の点との距離の中で最小の距離である。本明細書では簡単のために、距離ＤＡ１は、「押圧位置Ａｒからの動作軌跡Ａ１の距離」と呼ぶ。同様に、距離ＤＡ２およびＤＡ３は、それぞれ動作軌跡Ａ２およびＡ３の距離である。ポイントモードは、距離ＤＡ１、ＤＡ２、ＤＡ３のうちで最小の距離に対応する動作軌跡を選択する。
【００３７】
３１０において、比較部１７０は、入力位置座標Ａｒと、被写体Ｔｊに対応する動作軌跡Ａｊとを受け取る。添え字ｊは、被写体を表す。例えば比較部１７０が被写体Ｔ１、Ｔ２、Ｔ３にそれぞれ対応する動作軌跡Ａｊ（ｊ＝１，２，３）を受け取る場合、添え字ｊ＝１，２，３についてフロー３００が実行される。３個の被写体Ｔｊに対応する動作軌跡上のｎ個のサンプリング点を、一般にＡｊｋ（ｊ＝１，２，３；ｋ＝１，…，ｎ）（ｊ，ｋ：自然数）と表す。添え字ｋは、フレーム内で時間に依存して連続的に動く被写体位置のサンプリング点の順序を表す。
【００３８】
３２０において、コントローラは、ｋの初期値を１に設定し、ＤＡｊの初期値を例えば６５５３５に設定する。ＤＡｊの初期値は、後述する最小値の算出のための十分に大きい値であればよい。よって、ＤＡｊの初期値は、任意の適当な自然数であり得る。３３０において、コントローラは、添え字ｋがｎ以下であるかを判定する。もし３３０での判定がＹＥＳ（添え字ｋがｎ以下）なら、コントローラは、３４０〜３６０の操作を繰り返し実行する。３４０において、コントローラは、押圧位置座標Ａｒと、被写体Ｔｊに対応する動作軌跡上の点Ａｊｋとの距離Ｄｋを算出する。
【００３９】
３５０において、コントローラは、ＤｋがＤＡｊより小さいかを判定する。もし３５０での判定がＹＥＳ（ＤｋがＤＡｊより小さい）なら、コントローラは、３６０においてＤｋの値をＤＡｊに代入し、３６５へ進む。もし３５０での判定がＮＯ（ＤｋがＤＡｊより小さくはない）なら、３６５へ進む。
【００４０】
３６５において、コントローラは、ｋの値を１だけ増してから、３３０に進む。もし３３０での判定がＮＯ（添え字ｋがｎを超える）なら、コントローラは、３７０において入力位置座標Ａｒと、被写体Ｔｊの動作軌跡Ａｊとの距離をＤＡｊとする。被写体Ｔｊがｐ個（ｐ：自然数）存在する場合は、操作３１０〜３７０を繰り返し実行することによって、動作軌跡Ａｊ（ｊ＝１，…，ｐ；ｐ：自然数）に対応する距離ＤＡｊを求める。
【００４１】
３８０において、コントローラは、ＤＡｊ（ｊ＝１，…，ｐ；ｐ：自然数）の中で最も小さい距離に対応する被写体Ｔｊを選択する。比較部１７０は、３８０において選択された被写体Ｔｊの位置情報１７２を制御部１８０に出力する。
【００４２】
図２の場合、動作軌跡Ａ１、Ａ２、Ａ３は、同じ個数（ｎ個）のサンプリング点から構成される。しかしサンプリング点の個数はｎ個には限定されず、より一般的には、動作軌跡Ａ１、Ａ２、Ａ３は、異なる個数のサンプリング点から構成され得る。
【００４３】
（実施形態２）
図１、図４および図５を参照して説明されるシステム１００は、トレースモードによって希望の被写体を選択する。トレースモードにおいては、ユーザは入力部上で被写体の動作軌跡をなぞる（トレースする）ことによってターゲット被写体を選択する。図１を参照したシステム１００の説明は、実施形態２にも適用される。
【００４４】
図２および図３を参照したポイントモードと比べ、トレースモードにおいては、ユーザは、ターゲット被写体の動作軌跡上を押圧したまま、トレースすることによって被写体を選択する。図４は、このようなユーザによるトレースの軌跡ＡＦを示す。入力データ生成部１６０は、入力軌跡ＡＦを算出する。入力軌跡ＡＦと、複数の被写体Ｔ１、Ｔ２、Ｔ３にそれぞれ対応する動作軌跡Ａ１、Ａ２、Ａ３との距離は、距離ＤＡ１、ＤＡ２、ＤＡ３と呼ばれる。
【００４５】
図５は、コントローラ（例えばマイクロプロセッサ）が実行するプロセス５００の操作フローを示す。プロセス５００は、比較部１７０が、トレースモードにおいて、複数の被写体（例えば図４のＴ１、Ｔ２、Ｔ３）から、ターゲット被写体（例えば図４のＴ２）を選択できるようにする。図４において、距離ＤＡ１は、入力軌跡ＡＦ上の特定のサンプリング点ＡＦｉと、動作軌跡Ａ１上の点との距離の中で最小の距離である。本明細書では簡単のために、距離ＤＡ１は、「サンプリング点ＡＦｉからの動作軌跡Ａ１の距離」と呼ぶ。同様に、距離ＤＡ２およびＤＡ３は、サンプリング点ＡＦｉからのそれぞれ動作軌跡Ａ２およびＡ３の距離である。
【００４６】
一般に入力軌跡ＡＦ上には、ｍ個（ｍ：自然数）のサンプリング点ＡＦｉ（ｉ＝１，…，ｍ）が存在する。もしユーザが入力部１５０を触る指を動かさないなら、ただ１個のサンプリング点ＡＦｉ（ｉ＝１）が存在し得る。トレースモードは、距離ＤＡ１、ＤＡ２、ＤＡ３のうちで最小の距離に対応する動作軌跡を選択する。ここで複数のサンプリング点ＡＦｉ（ｉ＝１，…，ｍ）からの動作軌跡Ａｊの距離ＤＡｊの総和をＳＤＡｊ（図４ではｊ＝１，２，３）とする。トレースモードは、距離ＳＤＡ１、ＳＤＡ２、ＳＤＡ３のうちで最小の距離に対応する動作軌跡（図４ではＡ２）を選択する。
【００４７】
５１０において、比較部１７０は、複数のサンプリング点ＡＦｉ（ｉ＝１，…，ｍ）からなる入力軌跡ＡＦと、被写体Ｔｊに対応する動作軌跡Ａｊとを受け取る。添え字ｉはサンプリング点の順序を表す。添え字ｊは、被写体を表す。例えば比較部１７０が被写体Ｔ１、Ｔ２、Ｔ３にそれぞれ対応する動作軌跡Ａｊ（ｊ＝１，２，３）を受け取る場合、添え字ｊ＝１，２，３についてフロー５００が実行される。３個の被写体Ｔｊに対応する動作軌跡上のｎ個のサンプリング点を、一般にＡｊｋ（ｊ＝１，２，３；ｋ＝１，…，ｎ）（ｊ，ｋ：自然数）と表す。添え字ｋは、フレーム内で時間に依存して連続的に動く被写体位置のサンプリング点の順序を表す。
【００４８】
５２０において、コントローラは、ｉの初期値を１に設定し、ｋの初期値を１に設定し、ＤＡｊの初期値を例えば６５５３５に設定し、ＳＤＡｊの初期値を０に設定する。ＤＡｊの初期値は、後述する最小値の算出のための十分に大きい値であればよい。よって、ＤＡｊの初期値は、任意の適当な自然数であり得る。５２５において、コントローラは、添え字ｉがｍ以下であるかを判定する。もし５２５での判定がＹＥＳ（添え字ｉがｍ以下）なら、コントローラは、５３０〜５６０の操作を繰り返し実行する。５４０において、コントローラは、サンプリング点ＡＦｉと、被写体Ｔｊに対応する動作軌跡上の点Ａｊｋとの距離Ｄｋｉを算出する。
【００４９】
５３０において、コントローラは、添え字ｋがｎ以下であるかを判定する。もし５３０での判定がＹＥＳ（添え字ｋがｎ以下）なら、コントローラは、５４０〜５６０の操作を繰り返し実行する。５４０において、コントローラは、サンプリング点ＡＦｉと、被写体Ｔｊに対応する動作軌跡上の点Ａｊｋとの距離Ｄｋｉを算出する。
【００５０】
５５０において、コントローラは、ＤｋｉがＤＡｊより小さいかを判定する。もし５５０での判定がＹＥＳ（ＤｋがＤＡｊより小さい）なら、コントローラは、５６０においてＤｋの値をＤＡｊに代入し、５６５へ進む。もし５５０での判定がＮＯ（ＤｋがＤＡｊより小さくはない）なら、５６５へ進む。
【００５１】
５６５において、コントローラは、ｋの値を１だけ増してから、５３０に進む。もし５３０での判定がＮＯ（添え字ｋがｎを超える）なら、コントローラは５７０において、現在のＳＤＡｊとＤＡｊとの和を新しいＳＤＡｊとする。５８０において、コントローラはｉの値を１だけ増す。
【００５２】
もし５２５での判定がＮＯ（添え字ｉがｍ以下ではない）なら、コントローラは、５８５へ進む。５８５において、コントローラは、入力軌跡ＡＦ上のサンプリング点ＡＦｉと、被写体Ｔｊの動作軌跡Ａｊとの距離の総和をＳＤＡｊとする。被写体Ｔｊがｐ個（ｐ：自然数）存在する場合は、操作５１０〜５８０を繰り返し実行することによって、動作軌跡Ａｊ（ｊ＝１，…，ｐ）に対応する距離ＳＤＡｊを求める。
【００５３】
５９０において、コントローラは、ＳＤＡｊ（ｊ＝１，…，ｐ）の中で最も小さい距離に対応する被写体Ｔｊを選択する。比較部１７０は、５９０において選択された被写体Ｔｊの位置情報１７２を制御部１８０に出力する。
【００５４】
図４の場合、動作軌跡Ａ１、Ａ２、Ａ３は、同じ個数（ｎ個）のサンプリング点から構成される。しかしサンプリング点の個数はｎ個には限定されず、より一般的には、動作軌跡Ａ１、Ａ２、Ａ３は、異なる個数のサンプリング点から構成され得る。
【００５５】
（実施形態３）
図１および図６を参照して説明されるシステム１００は、トレースモードによって希望の被写体を選択する。トレースモードにおいては、ユーザは入力部上で被写体の動作軌跡をなぞることによってターゲット被写体を選択する。図１を参照したシステム１００の説明は、実施形態３にも適用される。
【００５６】
図６に示される本トレースモードにおいては、実施形態２と同様にユーザがターゲット被写体の動作軌跡をトレースすることによって被写体を選択する。図６は、このようなユーザによるトレースの軌跡ＡＦを示す。軌跡ＡＦは、典型的には複数のサンプリング点ＡＦｉ（ｉ＝１，…，ｍ；ｍ＝自然数）からなる。入力データ生成部１６０は、入力軌跡ＡＦを算出する。
【００５７】
比較部１７０は、動作軌跡１３４に基づいて、入力軌跡ＡＦ上のサンプリング点ＡＦｉにおける法線ＡＦＮｉを算出する。比較部１７０は、法線ＡＦＮｉに沿った、サンプリング点ＡＦｉと、動作軌跡Ａ１、Ａ２、Ａ３との距離を算出する。これら距離は、距離ＤＡ１ｉ、ＤＡ２ｉ、ＤＡ３ｉと呼ばれる。例えば図６において、入力軌跡上の点ＡＦｉについての法線ＡＦＮｉと、動作軌跡Ａ１との交点をＡ１Ｎｉとする。距離ＤＡ１ｉは、点ＡＦｉと、点Ａ１Ｎｉとの距離である。同様にして距離ＤＡ２ｉ、ＤＡ３ｉは、点ＡＦｉにおける法線に沿った距離として定義される。
【００５８】
比較部１７０は、入力軌跡ＡＦの全サンプリング点（ｉ＝１，…，ｍ；ｍ＝自然数）について、ＤＡ１ｉ、ＤＡ２ｉ、ＤＡ３ｉを算出する。比較部１７０は、距離ＤＡ１ｉ、ＤＡ２ｉ、ＤＡ３ｉをｉ＝１，…，ｍ（ｍ＝自然数）について総和することによって、それぞれ距離総和ＳＤＡ１、ＳＤＡ２、ＳＤＡ３を求める。比較部１７０は、距離総和ＳＤＡ１、ＳＤＡ２、ＳＤＡ３の中で最小値を決定し、その最小値に対応する被写体Ｔｊを選択する。比較部１７０は、選択された被写体Ｔｊの位置情報１７２を制御部１８０に出力する。
【００５９】
（実施形態４）
図１および図７を参照して説明されるシステム１００は、トレースモードによって希望の被写体を選択する。トレースモードにおいては、ユーザは入力部上で被写体の動作軌跡をなぞることによってターゲット被写体を選択する。図１を参照したシステム１００の説明は、実施形態４にも適用される。
【００６０】
図７に示される本トレースモードにおいては、実施形態２と同様にユーザがターゲット被写体の動作軌跡をトレースすることによって被写体を選択する。図７は、このようなユーザによるトレースの軌跡ＡＦを示す。軌跡ＡＦは、典型的には複数のサンプリング点ＡＦｉ（ｉ＝１，…，ｍ；ｍ＝自然数）からなる。入力データ生成部１６０は、入力軌跡ＡＦを算出する。比較部１７０は、入力軌跡ＡＦに幅を付すことによって、入力軌跡バンドＡＦＢを算出する。入力軌跡バンドＡＦＢの幅は、所定の固定された値であり得る。代替としてそのような幅は、例えばユーザの指定を受け付ける手段によって設定された値であり得る。
【００６１】
比較部１７０は、それぞれの被写体Ｔ１、Ｔ２、Ｔ３について、サンプリング点Ａｊｋ（ｊ＝１，２，３；ｋ＝１，…，ｎ）（ｊ，ｋ：自然数）が領域ＡＦＢに含まれるか否かを判定し、領域ＡＦＢに含まれるサンプリング点の個数を算出する。比較部１７０は、含まれるサンプリング点Ａｊｋが最多である軌跡Ａｊに対応する被写体Ｔｊを選択する。
【００６２】
（実施形態５）
図１および図８を参照して説明されるシステム１００は、トレースモードによって希望の被写体を選択する。トレースモードにおいては、ユーザは入力部上で被写体の動作軌跡をなぞることによってターゲット被写体を選択する。図１を参照したシステム１００の説明は、実施形態５にも適用される。
【００６３】
図８に示される本トレースモードにおいては、実施形態２と同様にユーザがターゲット被写体の動作軌跡をトレースすることによって被写体を選択する。図８は、このようなユーザによるトレースの軌跡ＡＦを示す。軌跡ＡＦは、典型的には複数のサンプリング点ＡＦｉ（ｉ＝１，…，ｍ；ｍ＝自然数）からなる。入力データ生成部１６０は、入力軌跡ＡＦを算出する。比較部１７０は、入力軌跡ＡＦの始点から終点への方向を表す、入力方向ＩＤを算出する。
【００６４】
比較部１７０は、複数の被写体Ｔ１、Ｔ２、Ｔ３に対応する動作軌跡Ａ１、Ａ２、Ａ３についても、それぞれの軌跡の始点または任意の過去の点から現在の点への方向を表す動作方向ＭＤｊ（ｊ＝１，２，３）を算出する。入力方向ＩＤおよび動作方向ＭＤｊは、例えば２次元ベクトルによって表現され得る。システム１００は、そのような２次元ベクトルを例えば２つの変数（ｘ，ｙ）のペアとして定義し、計算し得る。
【００６５】
比較部１７０は、入力方向ＩＤと、各動作方向ＭＤｊとがなす差分角を求める。一般に２つのベクトルの差分角を求めるには、それらベクトルの内積を求めればよい。比較部１７０は、差分角が最小である動作方向ＭＤｊに対応する被写体Ｔｊを選択する。比較部１７０は、選択された被写体Ｔｊの位置情報１７２を制御部１８０に出力する。
【００６６】
（実施形態６）
図１および図９を参照して説明されるシステム１００は、トレースモードによって希望の被写体を選択する。トレースモードにおいては、ユーザは入力部上で被写体の動作軌跡をなぞることによってターゲット被写体を選択する。図１を参照したシステム１００の説明は、実施形態６にも適用される。
【００６７】
図９に示される本トレースモードにおいては、実施形態２と同様にユーザがターゲット被写体の動作軌跡をトレースすることによって被写体を選択する。図９は、このようなユーザによるトレースの軌跡ＡＦを示す。軌跡ＡＦは、典型的には複数のサンプリング点ＡＦｉ（ｉ＝１，…，ｍ；ｍ＝自然数）からなる。入力データ生成部１６０は、入力軌跡ＡＦを算出する。
【００６８】
比較部１７０は、動作軌跡Ａｊにおいてｎ個のサンプリングをおこない、サンプリング点Ａｊｋ（ｊ＝１，２，３；ｋ＝１，…，ｎ）の平均位置Ｕｎｊ（ｊ＝１，２，３）を算出する。比較部１７０は、各動作軌跡Ａｊにおいて、平均位置Ｕｎｊを始点とし、各サンプリング点Ａｊｋを終点とするベクトルを算出する。比較部１７０は、各動作軌跡において前記ベクトルをサンプリング順に並べたベクトル列ＴＡｊを求め、その大きさを正規化し、ＳＴＡｊとする。
【００６９】
各動作軌跡と同様に、入力軌跡についても比較部１７０は、ｎ個のサンプリングをおこない、サンプリング点ＡＦｋの平均位置を求めＷｎとする。平均位置ＵｎｊおよびＷｎは、システム１００が扱う仮想的な２次元平面内における位置である。本明細書における平均位置は、例えば、各点のｘ成分、ｙ成分の相加平均をそのｘ成分、ｙ成分として有する点である。
【００７０】
比較部１７０は、各サンプリング点において、Ｗｎを始点とし、各サンプリング点ＡＦｋを終点とするベクトルを算出する。比較部１７０は、入力軌跡において前記ベクトルをサンプリング順に並べたベクトル列ＴＡＦを求め、その大きさを正規化し、ＳＴＡＦとする。比較部１７０は、ベクトル列ＳＴＡＦと、ベクトル列ＳＴＡｊとのペアを順次、比較することによって、ベクトルの角度差が少なく、かつ大きさが近いベクトル列ＴＡｊに対応する被写体Ｔｊを選択する。比較部１７０は、選択された被写体Ｔｊの位置情報１７２を制御部１８０に出力する。
【００７１】
本実施形態では、押圧したままで触る点を動かすことによって入力された軌跡全てを入力軌跡として用いる。しかし入力された軌跡の一部、例えば入力の前半部分または入力の後半部分等を入力軌跡として用いてもよい。
【００７２】
本実施形態では被写体の動作軌跡の移動向きと、入力軌跡の移動向きに関しては区別しない。しかし被写体の動作軌跡Ａｊの移動向きと、入力軌跡ＡＦの移動向きとを考慮することによって、おおむね逆方向である動作軌跡Ａｊに対応する被写体Ｔｊを無視しても（すなわち選択しなくても）よい。被写体の動作軌跡の向きと、入力軌跡の向きとの関係を評価するためには、比較部１７０は、例えば、入力軌跡の始点位置と、被写体の動作軌跡の時系列順のサンプリング位置との関係を比較し得る。
【００７３】
図１０および図１１は、被写体の動作軌跡の向きと、入力軌跡の向きとの関係を評価する手法を示す。比較部１７０は、入力軌跡ＡＦの始点位置ＡＦＳからの、被写体Ｔの動作軌跡Ａの時系列順のサンプリング位置（ＡＳ１，ＡＳ２，ＡＳ３）の距離を順次比較する。図１０に示される場合においては、この距離は、おおむね長くなる傾向にある。よって、入力軌跡ＡＦの向きと、被写体Ｔの動作軌跡Ａの向きとは、おおむね同じ方向と判断され得る。よって図１０の動作軌跡Ａは、入力軌跡ＡＦと向きがほぼ同じであるので、対応する被写体Ｔは選択される。
【００７４】
一方、図１１に示される場合においては、この距離は、おおむね短くなる傾向にある。よって、入力軌跡ＡＦの向きと、被写体Ｔの動作軌跡Ａの向きとは、おおむね反対の方向と判断され得る。よって図１１の動作軌跡Ａは、入力軌跡ＡＦと向きがほぼ反対であるので、対応する被写体Ｔも選択されない。
【００７５】
以上、本発明の実施形態１〜６は、図面を参照して詳細に説明された。
【００７６】
上述の実施形態１〜６においては、その動作軌跡の任意の適当な点を、ターゲットの動作軌跡の開始点（例えば図２のＡ１１、Ａ２１、Ａ３１）として選ぶことができる。しかし現在のフレームから所定数のフレーム数だけ時間的に遡ったフレームにおける被写体の位置を、動作軌跡の開始点として選んでもよい。代替として、現在の被写体の位置から所定の長さだけ動作軌跡に沿って離れた点を、動作軌跡の始点として選ぶこともできる。さらには、表示部１４０内に表示され得る動作軌跡上の点のうち、動作軌跡に沿って最も現在の被写体の位置から離れた点を、動作軌跡の始点として選ぶこともできる。いずれの場合も被写体の現在位置を動作軌跡の終点として用いればよい。
【００７７】
上において自然数ｉ，ｊ，ｋ，ｍ，ｎ，ｐは、実施形態に応じて適宜、任意の値をとり得る。例えば動作軌跡Ａｊにおいては、自然数ｊが１〜３をとるとして説明されたが、これには限定されない。動作軌跡Ａｊがフレーム中に１つしか存在しないときは、ｊ＝１が成立する。
【００７８】
実施形態１〜６のプロセスを実行するのに用いられるコントローラは、典型的にはマイクロプロセッサである。代替としてこのコントローラは、他のハードウェアによって、またはハードウェアおよびソフトウェアの任意の適当な組み合わせによって実現され得る。例えば、コントローラの機能は、ＩＣ、ＬＳＩ、ＡＳＩＣのような半導体チップの形で実現され得る。代替として、これら機能は、マイクロプロセッサ上で走るソフトウェアによっても実現され得る。
【００７９】
図１２は、システム１００の機能ブロックを実現するコントローラ１２００のブロック図である。コントローラ１２００は、ＣＰＵ（中央処理ユニット）１２１０、ＲＯＭ（読み出し専用メモリ）１２２０、ＲＡＭ（ランダムアクセスメモリ）１２３０、画像メモリ１２４０、ＨＤＤ（ハードディスクドライブ）１２５０、画像入力Ｉ／Ｆ（インタフェース）１２６０、画像出力Ｉ／Ｆ１２７０、位置入力Ｉ／Ｆ１２８０、およびＩ／Ｆ１２９０を有する。コントローラ１２００のこれら要素は、システムバス１２０５によって結合されることによって、データを一方向または両方向にやりとりできる。データの方向を表す図中の矢印は、一例であり、これには限られない。例えばＨＤＤ１２５０が読み出し専用に設定される場合は、データは、一方向にだけ転送される。
【００８０】
ＣＰＵ１２１０は、典型的にはＩＣ、ＬＳＩ、ＡＳＩＣなどによって実現され得る。ＲＯＭ１２２０は、必要な機能ブロックを達成するソフトウェアプログラムを永久的に格納する。ＲＡＭ１２３０は、ＣＰＵ１２１０の主記憶装置として、さまざまなプログラムまたはデータを一時的に格納する。画像メモリ１２４０は、システム１００が表示部１４０に表示する画像を一時的に格納する。ＨＤＤ１２５０は、システム１００が長期的に保存するプログラムまたはデータを格納する。コントローラ１２００の機能は、ＣＰＵおよびメモリなどによらず、シーケンサとして実現されてもよい。
【００８１】
画像入力Ｉ／Ｆ１２６０は、撮像部１１０に結合され、撮像された画像を受け取る。画像出力Ｉ／Ｆ１２７０は、表示部１４０に結合され、例えば動作軌跡１３２を出力する。位置入力Ｉ／Ｆ１２８０は、入力部１５０に結合され、ユーザによる押圧位置に対応するデータ１５２を受け取る。Ｉ／Ｆ１２９０は、外部の機器とさまざまなデータをやりとりする。例えばＩ／Ｆ１２９０は、ネットワークを介してデータをやりとりするネットワークＩ／Ｆであり得る。
【００８２】
コントローラ１２００は、その全体または一部がワンチップのＩＣとして実現され得る。代替としてコントローラ１２００は、複数の半導体チップから構成されてもよい。
【産業上の利用可能性】
【００８３】
本発明による装置は、被写体の動作軌跡と、ユーザによって入力された押圧位置とを比較することによって被写体を選択でき、被写体選択装置等の用途に適用できる。
【図面の簡単な説明】
【００８４】
【図１】例示的実施形態によるシステムの構成を示すブロック図である。
【図２】撮像部によって撮像された複数の被写体および対応する動作軌跡を示す図である。
【図３】コントローラが実行するプロセスの操作フローを示す図である。
【図４】ユーザによるトレースの軌跡を示す図である。
【図５】コントローラが実行するプロセスの操作フローを示す図である。
【図６】ユーザによるトレースの軌跡を示す図である。
【図７】ユーザによるトレースの軌跡を示す図である。
【図８】ユーザによるトレースの軌跡を示す図である。
【図９】ユーザによるトレースの軌跡を示す図である。
【図１０】被写体の動作軌跡の向きと、入力軌跡の向きとの関係を評価する手法を示す図である。
【図１１】被写体の動作軌跡の向きと、入力軌跡の向きとの関係を評価する手法を示す図である。
【図１２】システムの機能ブロックを実現するコントローラのブロック図である。
【符号の説明】
【００８５】
１１０    撮像部
１２０    被写体位置検出部
１３０    動作軌跡算出部
１４０    表示部
１５０    入力部
１６０    入力データ生成部
１７０    比較部
１８０    制御部
【図１】
2010141385.tif 000003
【図２】
2010141385.tif 000004
【図３】
2010141385.tif 000005
【図４】
2010141385.tif 000006
【図５】
2010141385.tif 000007
【図６】
2010141385.tif 000008
【図７】
2010141385.tif 000009
【図８】
2010141385.tif 000010
【図９】
2010141385.tif 000011
【図１０】
2010141385.tif 000012
【図１１】
2010141385.tif 000013
【図１２】
2010141385.tif 000014