(57)【要約】【課題】  入力可能な操作方向についての制限を無くし、また新たなデバイスを設けることなく、ユーザからの様々な入力を検出可能とする。【解決手段】  カメラ部７ａ，７ｂは、画像を連続的に撮影する。カメラ部７ａ，７ｂにて連続撮影されたフレーム画像Ｆａ，Ｆｂからは、マクロブロックｍｂａ，ｍｂｂのマッチングにより動きベクトルＭＶが検出される。そして、その動きベクトルＭＶに基づいて当該端末自体の空間的な動きＭＤが検出される。【選択図】  図４
2005173877.tif 000002
【特許請求の範囲】
【請求項１】
画像を連続的に撮影可能なカメラ部と、
上記カメラ部にて連続的に撮影された画像から動きベクトルを検出する動きベクトル検出手段と、
上記動きベクトル検出手段が検出した動きベクトルに基づいて当該端末自体の空間的な動きを検出する端末動き検出手段とを有する
ことを特徴とする携帯情報端末。
【請求項２】
請求項１記載の携帯情報端末であって、
上記端末動き検出手段にて検出された端末自体の動き情報に基づいて、所定の処理を実行する処理実行手段を有することを特徴とする特徴とする携帯情報端末。
【請求項３】
請求項１記載の携帯情報端末であって、
画像を表示可能な表示手段と、
上記表示手段の画面より大きな画像情報を保持する画像情報保持手段とを有し、
上記処理実行手段は、上記動き情報に基づいて、上記画像情報保持手段が保持している画像情報の中から上記表示手段の画面サイズに応じた画像情報を取り出して、上記表示手段の画面上に表示させる処理を実行することを特徴とする携帯情報端末。
【請求項４】
請求項１記載の携帯情報端末であって、
画像を表示可能な表示手段を有し、
上記処理実行手段は、上記動き情報に基づいて、上記表示手段の画面上にドットを表示させる処理を実行することを特徴とする携帯情報端末。
【請求項５】
請求項１記載の携帯情報端末であって、
複数のアプリケーションプログラムを格納するアプリケーションプログラム格納手段を有し、
上記処理実行手段は、上記動き情報に基づいて、上記アプリケーションプログラム格納手段からアプリケーションプログラムを読み出して実行することを特徴とする携帯情報端末。
【請求項６】
請求項１記載の携帯情報端末であって、
画像を表示可能な表示手段を有し、
上記処理実行手段は、上記動き情報に基づいて、上記表示手段の画面上に表示されている画像内の所望の位置を指定する処理を実行することを特徴とする携帯情報端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば携帯電話端末やＰＤＡ（Personal Digital Assistant）等に好適な携帯情報端末に関する。
【背景技術】
【０００２】
従来より、携帯電話端末やＰＤＡ等のような小型の携帯情報端末において、例えば画面上でカーソルを移動させたり画面をスクロールさせる際の操作デバイスには、テンキーや上下キー、十字キー、ジョグダイヤルなどが用いられている。
【０００３】
すなわち、上下キーを用いた画面スクロールを例に挙げると、携帯情報端末は、上下キーにより上又は下方向の指示がユーザによりなされた場合、その操作に応じて、画面上に表示する画像を下又は上方向に移動させる。また、十字キーを用いたカーソル移動を例に挙げると、携帯情報端末は、例えば十字キーにより上，下，左，右等の方向指示がユーザによりなされると、その操作に応じて、画面上でカーソルを上，下，左，右等の方向へ移動させる。
【０００４】
なお、テンキーや上下左右キー等を用いずに、ユーザからの操作入力を検知可能な携帯情報端末として、例えば特開２００１−２２３７７９の公開特許公報（特許文献１）には、携帯電話機をユーザが逆さまに持ち、アンテナの先端をペン先に見立ててユーザが筆記動作を行ったとき、当該端末自体の動きを、振動型ジャイロなどの３次元動きセンサにより検出し、その検出出力値に基づいて、ユーザによる文字入力のための操作を認識するようになされた技術が開示されている。
【０００５】
【特許文献１】特開２００１−２２３７７９公報（第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上述したテンキーや上下キー、十字キー、ジョグダイヤル等の操作デバイスにより入力可能な操作方向は、一般に、上下の２方向又は上下左右の４方向のみであり、入力可能な操作方向の制限が大きいことが欠点となっている。
【０００７】
また、端末自体の動きを３次元動きセンサにより検出して、その検出出力値に基づいてユーザの筆記動作を認識するようになシステムの場合は、ユーザからの入力操作を検出するためのデバイスとして、振動型ジャイロなどの３次元動きセンサが新たに必要となり、コストの面や装置構成の小型化の面で好ましくない。
【０００８】
本発明は、このような実情に鑑みて提案されたものであり、入力可能な操作方向についての制限を無くし、また新たなデバイスを設けることなく、ユーザからの様々な入力を検出可能な、携帯情報端末を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の携帯情報端末は、画像を連続的に撮影可能なカメラ部と、連続的な撮影画像から動きベクトルを検出する動きベクトル検出手段と、その動きベクトルに基づいて当該端末自体の空間的な動きを検出する端末動き検出手段とを有することにより、上述した課題を解決する。
【００１０】
また、本発明の携帯情報端末は、端末自体の動き情報に基づいて、所定の処理を実行する処理実行手段を有する。ここで、動き情報に基づく所定の処理としては、例えば、表示手段の画面サイズより大きい画像情報の中から動き情報に応じた画像情報を取り出して画面上に表示させる処理や、表示手段の画面上にドットを表示させる処理、アプリケーションプログラムを実行する処理、画面上に表示されている画像内の所望の位置を指定する処理などが考えられる。
【００１１】
すなわち、本発明においては、カメラ部により撮影された画像の動きベクトルから端末自体の動きを検出している。ここで、端末自体の動きは、ユーザが当該端末を空間的に動かすことにより発生する。したがって、当該端末自体の動きとは、ユーザによる操作入力であると言える。
【発明の効果】
【００１２】
本発明によれば、カメラ部により撮影された画像の動きベクトルから端末自体の動きを検出しており、この端末自体の動きをユーザからの操作入力として取り込んでいるため、ユーザの操作方向に制限は無くなる。
【００１３】
また、本発明によれば、携帯電話端末が一般的に備えているカメラ部の撮影画像を基にユーザの操作入力が求められているため、新たなデバイスを設けることなく、ユーザからの様々な入力を検出可能となっている。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら、本発明実施形態の携帯情報端末について説明する。なお、本実施形態では、本発明の携帯情報端末が適用される一例として携帯電話端末を挙げて説明する。
【００１５】
〔本実施形態の携帯電話端末の構成〕
図１には、本発明実施形態の携帯電話端末を正面側から観た概略外観図を示し、図２には、背面側から観た概略外観図を示す。
【００１６】
本実施の形態の携帯電話端末は、例えば第１の筐体１と、その第１の筐体１に対して折り重なるように二つ折りになされる第２の筐体２とを有した、いわゆる折り畳み式の携帯電話端末であり、図１，図２は当該携帯電話端末を開いた状態を示している。
【００１７】
第１の筐体１には、例えば液晶により構成されたディスプレイ３や受話用のスピーカ５が備えられている。第２の筐体２には、携帯電話端末の主要な回路構成が内蔵されている。また、この第２の筐体２の上面（折り畳んだ際に第１の筐体１のディスプレイ面と対向する面）には、電話番号等を入力するためのダイヤルボタンであるテンキーや、発話キー、終話／電源キー、モード入力キー、クリアキー、メールキーなどの各キーとジョグダイヤルとからなる操作部４と、送話用のマイクロホン６等が設けられている。なお、携帯電話端末が通常備えているその他の構成については省略する。
【００１８】
また本実施形態の携帯電話端末は、図２に示すように、例えば第１の筐体１の背面側上部に、レンズ系及びそのレンズのフォーカス合わせ等を行うための駆動系、撮像素子等などからなるカメラ部７が設けられている。
【００１９】
〔携帯電話端末の内部構成〕
次に、図３には、図１，図２に示した本発明実施形態の携帯電話端末の概略的な内部構成を示す。
【００２０】
アンテナ３２は、例えば内蔵アンテナであり信号電波の送受信を行う。通信回路３３は、送受信信号の周波数変換、変調と復調、スペクトラム拡散と逆拡散、送受信されたデータが通話音声データかそれ以外のデータかの弁別等を行う。なお、通話音声データ以外のデータとは、画像データや電子メール、プログラムデータ、その他の各種データである。
【００２１】
受信された通話音声データは、データラインを介して制御部３１へ送られる。制御部３１は、ＣＰＵ（中央処理装置）からなり、通話音声データを復号化し、その復号化後の音声データをデータラインを介してスピーカ３８へ送る。
【００２２】
スピーカ３８は、受話用のスピーカ５に相当し、ディジタル／アナログ変換器と増幅器を含み、音声データをディジタル／アナログ変換及び増幅した後、出力する。これにより、通話音声が得られることになる。
【００２３】
一方、マイクロホン３９は、送話用のマイクロホン６に相当し、アナログ／ディジタル変換器と増幅器を含む。このマイクロホン３９を介して入力された通話音声信号は、増幅器により所定のレベルに増幅された後、アナログ／ディジタル変換器によりディジタル音声データに変換され、データラインを介して制御部３１へ送られて符号化された後、通信回路３３へ送られる。
【００２４】
表示部３４は、第１の筐体１のディスプレイ３、及び、そのディスプレイ３に画像を表示するための駆動回路とからなる。なお、本実施形態では図示を省略しているが、表示部３４は、主表示用のディスプレイ３の他に、副表示用ディスプレイを備えていても良い。当該副表示用ディスプレイは、一例として、図１の折り畳み型携帯電話端末において、主表示用ディスプレイ３が配されている第１の筐体１の主面部に相対応する背面側の筐体表面上に設けることができる。
【００２５】
操作部３５は、第２の筐体２の操作部４に相当し、キーやジョグダイヤルと、それらの操作に応じた操作信号を発生するキー操作信号発生部を有している。
【００２６】
メインメモリ３６は、ＲＯＭとＲＡＭを含む。ＲＯＭは、制御部３１が各部を制御するための制御プログラムや各種の初期設定値、後述する本実施形態の動きベクトル検出処理とその動きベクトルに基づく携帯電話端末の動き検出、当該動き検出に基づく表示制御処理等を行うためのプログラムコード、当該携帯電話端末の電話番号、フォントデータ、辞書データ、その他、携帯電話端末に搭載される各種のアプリケーション用のプログラムコード、当該携帯電話端末の識別情報（ＩＤ）などを記憶している。このＲＯＭは、ＥＥＰＲＯＭのような書き換え可能なＲＯＭを含み、電子メールデータ、ユーザにより設定される電話帳や電子メールアドレス、ダウンロードされた写真データや着信音データ、文字データや予測変換の候補単語の登録データや予測変換の学習データ、その他、各種のユーザ設定値等を保存することも可能となされている。ＲＡＭは、制御部３１が各種のデータ処理を行う際の作業領域や文字入力処理中の作業領域として、随時データを格納する。
【００２７】
表示用メモリ３７は、表示部３４に表示されるイメージデータを一時的に蓄積するためのメモリである。
【００２８】
カメラ部４１は、前記カメラ部７に対応し、レンズ系及びそのレンズのフォーカス合わせ等を行うための駆動系と撮像素子等などを備えている。また、カメラ部４１には、内部メモリ４２が設けられており、撮影した画像データを後述するように２バンク切り替え式にて１フレーム毎に交互に蓄積及び出力する。当該カメラ内部メモリ４２から読み出された画像データは、制御部３１による制御の基でメインメモリ３６のＲＡＭに送られるが、特に、後述する動きベクトル検出等が行われる際には動き検出部４３へも送られる。
【００２９】
動き検出部４３は、例えば、携帯電話端末自体が空間的に動かされている状態のときに、静止した物体等をカメラ部４１（７）で撮影して得られた画像データから、動きベクトルを検出する。当該動き検出部４３にて検出された動きベクトル情報は、制御部３１へ送られる。なお、動き検出部４３は、メインメモリ３６のＲＯＭに記憶されているソフトウェアにより動きベクトル検出の処理を行う。当該動きベクトル検出のアルゴリズムの詳細については後述する。
【００３０】
制御部３１は、上述した通話音声データの符号化や復号化の他、制御ラインを介して当該携帯電話端末の各構成要素の制御等、各種の演算処理を行う。また、詳細については後述するが、本実施形態の制御部３１は、上記動き検出部４３が求めた動きベクトル情報に基づいて、携帯電話端末自体の空間的な動きを検出し、当該携帯電話端末自体の動き情報に基づいて、例えば、画面スクロールのための処理や手書き入力のための処理、ゲームやユーザインターフェイスのための処理など、各種の処理を行う。
【００３１】
その他、図２には図示を省略しているが、本実施形態の携帯電話端末は、各部に電力を供給する電源回路や、音楽の録音や再生を行うための音楽録音再生部、ブラウザ機能、例えば外部メモリ等の外部記憶装置と端末本体とを接続するためのインターフェイス、外部リモートコントローラの接続端子、近距離で様々な情報を無線により通信（赤外線通信等も含む）するための近距離無線通信部、携帯電話端末の現在位置を検出するための測位デバイスであるＧＰＳ（Global Positioning System）部などを備えている。
【００３２】
〔動き検出の概要〕
以下、本発明実施形態の携帯電話端末にて行われる動き検出の概要を説明する。
【００３３】
本実施形態においては、例えば、静止した物体等を、携帯電話端末を動かしながらカメラ部７にて連続撮影し、その連続撮影により得られた画像データから動きベクトルを検出することにより、当該携帯電話端末の空間的な動きの方向と動きの量及び動きの速さを求める。
【００３４】
例えば図４に示すように、図中の「Ａ」にて示す物体（以下、オブジェクトＯＢとする）が静止したものであり、携帯電話端末自体を空間的に移動させながら上記オブジェクトＯＢを連続的に撮影する場合を考えてみることにする。またこの例において、携帯電話端末のカメラ部７が例えば図中７ａの位置にあった時に撮影したフレーム画像が例えば図中Ｆａにて示す画像であり、その後携帯電話端末を移動ＭＤさせることでカメラ部７が図中７ｂに示す位置になった時に撮影したフレーム画像が図中Ｆｂにて示す画像であったとする。そして、フレーム画像Ｆａ内には、上記カメラ部７ａの位置にて上記オブジェクトＯＢを撮影したときのオブジェクト画像ｏｂａが存在し、フレーム画像Ｆｂ内には、上記カメラ部７ｂの位置にてオブジェクトＯＢを撮影したときのオブジェクト画像ｏｂｂが存在しているとする。
【００３５】
ここで、フレーム画像内の所定の方形領域（以下、マクロブロックｍｂとする）に注目した場合、フレーム画像Ｆａ内のオブジェクト画像ｏｂａ上の特定部分のマクロブロックｍｂａと、フレーム画像Ｆｂ内のオブジェクト画像ｏｂｂ上の同部分のマクロブロックｍｂｂとでは、フレーム画像内での位置が変化（変位）していることがわかる。つまり、これら二つのマクロブロックｍｂａ，ｍｂｂのみを抽出して同フレーム上に配置したフレーム画像Ｆｃから明らかなように、マクロブロックｍｂｂは、マクロブロックｍｂａが動きベクトルＭＶにて示される方向と距離だけ移動したものとなっている。
【００３６】
すなわち上述したように、静止したオブジェクトＯＢを、携帯電話端末自体を空間的に動かしながらカメラ部７にて連続撮影し、その連続撮影により得られたフレーム画像ＦａとＦｂから動きベクトルＭＶを検出すれば、当該動きベクトルＭＶにて表される方向と距離により、フレーム画像Ｆａが撮影された時間からフレーム画像Ｆｂが撮影された時間までの間に携帯電話端末が移動ＭＤした移動方向と移動距離を求めることができる。そして、次々と取り込まれる画像に対して、リアルタイムに、上述の動きベクトル検出とそれに対応した携帯電話端末自体の動き検出の処理を繰り返すことにより、当該携帯電話端末自体の空間的な動きを連続的に求めることができる。本実施形態の携帯電話端末は、このように検出した動きを、ユーザからの入力操作として取り込む機能を備えている。
【００３７】
本実施形態の携帯電話端末は、具体的には、以下に説明するようなメモリのバンク切り替え制御と動きベクトル検出アルゴリズムとにより、上述したような動き検出を実現している。
【００３８】
〔メモリのバンク切り替え制御〕
メモリのバンク切り替え制御と動きベクトル検出のタイミングについて図５及び図６を用いて説明する。
【００３９】
先ず、ユーザが操作部３５上で所定のキー操作等を行うことで、当該携帯電話端末に対して動き検出モードへの移行指示がなされたとき、制御部３１は、カメラ部４１を制御し、当該カメラ部４１の動作モードを、連続撮影を行うカメラスルーモードに遷移させる。またこの時の制御部３１は、動き検出を行うアクティブモードへ、動き検出部４３を遷移させる。
【００４０】
上記カメラスルーモードに設定されたカメラ部４１は、図５に示すように、カメラ内部メモリ４２を二つの領域（以下、これら二つの領域をバンクＢＫ１、バンクＢＫ２とする）に分け、図６に示すように、撮影したフレーム画像データを１０ｆｐｓ（フレーム／秒）の速度でバンクＢＫ１とバンクＢＫ２に交互に書き込む。なお、本実施形態において、カメラ部４１が撮影したフレーム画像データは、例えばＱＶＧＡサイズのデータとなっている。
【００４１】
この時の動き検出部４３は、カメラ部４１からカメラ内部メモリ４２のバンクＢＫ１にフレーム画像データが書き込まれるのを待ち、バンクＢＫ１へのフレーム画像データの書き込みが終了すると、図５，図６に示すように、そのバンクＢＫ１に書き込まれたフレーム画像データをメインメモリ３６のＲＡＭのコピー領域ＣＰ１にコピーする。また、動き検出部４３は、当該バンクＢＫ１のフレーム画像データをメインメモリ３６のＲＡＭのコピー領域ＣＰ１にコピーし終えると、図５，図６に示すように、カメラ部４１からカメラ内部メモリ４２のバンクＢＫ２にフレーム画像データが書き込まれるのを待ち、当該バンクＢＫ２へのフレーム画像データの書き込みが終了すると、そのバンクＢＫ２に書き込まれたフレーム画像データをメインメモリ３６のＲＡＭのコピー領域ＣＰ２（コピー領域ＣＰ１とは別の領域）にコピーする。
【００４２】
そして、上記メインメモリ３６のＲＡＭの二つのコピー領域ＣＰ１，ＣＰ２へのフレーム画像のコピーを終了すると、動き検出部４３は、それらコピー領域ＣＰ１，ＣＰ２に記憶された２枚のフレーム画像から、動きベクトルを検出する処理ＭＶＤを行う。なお、当該動き検出部４３での動きベクトルの検出アルゴリズムについては後述する。
【００４３】
動き検出部４３は、カメラ部４１から連続的に得られるフレーム画像データを基に、以上の処理を繰り返し、順次動きベクトルを検出（ＭＶＤ）して、それら検出した動きベクトル情報を順次制御部３１へ送る。そして、制御部３１では、その動きベクトル情報を基に、携帯電話端末自体の空間的な動きを検出し、その動き情報に基づいて、画面スクロールのための処理や手書き入力のための処理、ゲームやユーザインターフェイスのための処理などの各種の処理を行う。
【００４４】
〔動き検出アルゴリズム〕
以下、上記動き検出部４３における動きベクトル検出のアルゴリズムについて、前述の図４と、図７のフローチャート、及び、図８〜図１０を参照しながら説明する。
【００４５】
本実施形態において、動き検出部４３は、カメラ部４１が連続的に撮影して得られた二つのフレーム画像Ｆａ，Ｆｂのデータを取り込み、それらフレーム画像Ｆａ，Ｆｂ間で、マクロブロックｍｂの画素値を比較し、それらマクロブロックｍｂ間で画素値の差が最小となるマクロブロックを検出する処理を繰り返すことにより、動きベクトルを検出する。
【００４６】
このような動きベクトル検出を実現するために、先ず、動き検出部４３は、図７のステップＳ１の処理として、カメラ部４１が連続的に撮影して得られた二つのフレーム画像Ｆａ，Ｆｂのデータを取り込むと共に、それらフレーム画像Ｆａ，Ｆｂに対してメインメモリ３６上での先頭アドレスを示すポインタｐ１，ｐ２を定義する。すなわち、ポインタｐ１にフレーム画像Ｆａの先頭アドレスを代入し、ポインタｐ２にフレーム画像Ｆｂの先頭アドレスを代入する。
【００４７】
次に、動き検出部４３は、ステップＳ２の処理として、図８に示すように、フレーム画像Ｆａ，Ｆｂのうち、時間的に古い方のフレーム画像Ｆａの中心から±２５画素分（５０×５０画素）をマクロブロックｍｂａに設定すると共に、ステップＳ３の処理として、図９に示すように、時間的に新しい方のフレーム画像Ｆｂの中心から±１００画素分（２００×２００画素）を、フレーム画像Ｆａのマクロブロックｍｂａとマッチングが行われる範囲（以下、動き補償範囲ＭＣと呼ぶ）に設定する。
【００４８】
次に、動き検出部４３は、ステップＳ４の処理として、動きベクトル検出用の変数を定義する。具体的には、画素の最小値を格納する変数である画素最小値min_diffに初期値「０ｘＦＦＦＦＦＦ」の値を代入し、Ｘ，Ｙ座標値を格納する変数であるＸ軸方向の変位diff_ｘとＹ軸方向の変位diff_ｙを定義する。
【００４９】
次に、動き検出部４３は、ステップＳ５の処理として、図９に示したフレーム画像Ｆｂの動き補償範囲ＭＣ内でマクロブロックｍｂｂを指定する。このとき、図１０に示すように、最初に指定する位置は、動き補償範囲ＭＣの左上とする。
【００５０】
そして、動き検出部４３は、ステップＳ６の処理として、動き補償範囲ＭＣの左上位置から図１０中の矢印ＳＤに示す方向に、マクロブロックｍｂｂを順次ずらして行きつつ、順次フレーム画像Ｆａのマクロブロックｍｂａと比較し、マクロブロックｍｂａに最も近いマクロブロックｍｂｂを見つける。具体的に説明すると、マクロブロックｍｂａ，ｍｂｂ内のそれぞれ対応する各画素値について例えば輝度の差分の絶対値を求め、それら各画素毎の差分の絶対値の合計値diffを求める。このステップＳ６では、マクロブロックｍｂａとｍｂｂの画素値の差の合計値diffとその時の動きベクトル（Ｘ，Ｙ座標）、すなわちマクロブロックの変位を求めている。なお、理論上、完全に一致するマクロブロック同士の差分の絶対値の合計値diffは「０」となる。
【００５１】
次に、動き検出部４３は、ステップＳ７の処理として、ステップＳ６にて求めた差分の合計値diffが、先に設定された画素最小値min_diffより小さいか否か判定し、小さい時にはステップＳ８へ処理を進め、小さくないときにはステップＳ９へ処理を進める。
【００５２】
ステップＳ８の処理に進むと、動き検出部４３は、ステップＳ６にて求めた差分の合計値diffを画素最小値min_diffに代入すると共に、そのときのマクロブロックｍｂａからマクロブロックｍｂｂへの変位（つまり動きベクトルのＸ，Ｙ座標）をＸ軸方向の変位diff_ｘ，Ｙ軸方向の変位diff_ｙに代入する。
【００５３】
次に、動き検出部４３は、ステップＳ９の処理として、フレーム画像Ｆｂ内の動き補償範囲ＭＣ内でマクロブロックｍｂｂの位置を１画素右にシフトする。また、動き検出部４３は、ステップＳ１０の処理として、ステップＳ９でのシフト処理によってマクロブロックｍｂｂが動き補償範囲ＭＣから外れたか否かを判定し、外れたときにはステップＳ１１へ処理を進め、外れていないときにはステップＳ５へ処理を戻す。
【００５４】
ステップＳ１１の処理に進むと、動き検出部４３は、フレーム画像Ｆｂの動き補償範囲ＭＣ内でマクロブロックｍｂｂの位置を１画素下にシフトする。また、動き検出部４３は、ステップＳ１２の処理として、ステップＳ１０でのシフト処理によってマクロブロックｍｂｂが動き補償範囲ＭＣから外れたか否かを判定し、外れたときにはステップＳ１３へ処理を進め、外れていないときにはステップＳ５へ処理を戻す。
【００５５】
ステップＳ１３の処理に進むと、動き検出部４３は、新しく取り込んだフレーム画像をメインメモリ３６上でポインタｐ１の位置に上書きし、さらに、ステップＳ１４の処理として、ポインタｐ１とポインタｐ２の値を入れ替える。このステップＳ１４の後、動き検出部４３は、ステップＳ２へ処理を戻す。つまり、上述のマクロブロックｍｂａとｍｂｂのマッチングが終了した時の画素最小値min_diffが、動き補償範囲ＭＣ内での最小値であり、その時の変位が求める動きベクトルである。
【００５６】
〔動きベクトル検出の高速化及び認識率の向上〕
ところで、上述した動きベクトル検出の際には、以下に説明するような高速化と認識率アップの為の手法を行うことも可能である。
【００５７】
動きベクトル検出の高速化のための手法として、カメラ部４１がカメラ内部メモリ４２に取り込んだ画像を転送する際に、データサイズを削減することが考えられる。すなわち、２枚のフレーム画像Ｆａ，Ｆｂから動きベクトルを一つ求める際に、１枚目のフレーム画像Ｆａ（時間的に古いフレーム画像）からマクロブロックｍｂａのデータだけをメインメモリ３６にコピーし、また、２枚目のフレーム画像Ｆｂ（時間的に新しいフレーム画像）からは動き補償範囲ＭＣのデータだけをメインメモリ３６にコピーするようにし、転送されるデータサイズを削減することで、処理の高速化を図ることができる。この例によれば、フレーム画像Ｆａのマクロブロックｍｂａとフレーム画像Ｆｂ内の動き補償範囲ＭＣに相当するデータだけで、上述した動きベクトル検出アルゴリズムにより動きベクトルを求めることができる。
【００５８】
また、動きベクトル検出の高速化のための手法として、図７ではマクロブロックの全ての画素について差分を計算したが、例えば、ｎ画素（例えばｎ＝２）おきに差分を計算する。例えばｎ＝２にした場合、計算量を半減でき、処理の高速化が可能となる。
【００５９】
また、動きベクトル検出の高速化のための手法として、図７のステップＳ９、ステップＳ１１では１画素ずつシフトしていたが、例えばｍ画素（例えばｍ＝５）ずつシフトしてマッチングを行うようにする。例えばｍ＝５にした場合、計算量を４％まで削減可能となる。
【００６０】
また、動きベクトル検出の高速化のための手法として、例えば、マクロブロックのマッチングを取る際、画素値の合計値が一定値以下になったときにはマッチングを止める。このように、マクロブロックの画素値の合計値が或る一定値以下になったときにマッチングを止めるようにすれば、計算量を削減でき、高速化が図れるようになる。
【００６１】
また、動きベクトル検出の際の認識率の向上のための手法として、例えば、連続して求められる動きベクトルの中で一つだけ全く違う方向の動きベクトルが検出された時、その動きベクトルを強制的に同じ方向に向けるという動き補正処理を行う。当該動き補正処理を行う場合、連続的に得られた各動きベクトルを、例えば図１１に示すように８個のベクトルＶ１〜Ｖ８のうちで最も方向が近い動きベクトルに分類（正規化）する。そして、或る動きベクトルに対して、その前後に求めた二つの動きベクトルの方向が例えば±９０度以内のずれであれば、その動きベクトルは強制的に後に求められた動きベクトルと同じベクトルに補正する。これによれば、誤った動きベクトルを排除できるため、動きベクトル検出の際の認識率をアップさせることができる。
【００６２】
また、動きベクトル検出の際の認識率の向上のための手法として、動きベクトルは、複数のマクロブロックのマッチングにより求めることもできる。これにより、動きベクトル検出の際の認識率をアップさせることができる。
【００６３】
また、動きベクトル検出の際の高速化と認識率の向上のための手法として、マクロブロックのマッチングを行う動き補償範囲を限定する。すなわち、物体の動き（本発明の場合には携帯電話端末の動き）には慣性があるため、動き補償範囲を前回求めた動きベクトルによって限定する方法が考えられる。これにより、計算量の削減、認識率の向上の両方の効果が期待できる。
【００６４】
また、動きベクトル検出の際の高速化と認識率の向上のための手法として、カメラ部４１のカメラ内部メモリ４２からメインメモリにデータをコピーする際に、フレーム画像のうちマクロブロックをどこに指定するかを動的に変化させる。すなわち本実施形態において、フレーム画像のサイズは、ＱＶＧＡサイズとなっており、カメラ内部メモリ４２からメインメモリ３６にデータをコピーする際には、フレーム画像のうち必要な分だけメインメモリ３６にコピーするが、当該ＱＶＧＡサイズのフレーム画像のうちマクロブロックをどこに指定するかを動的に変化させることで、認識率を向上させることができる。
【００６５】
〔動きベクトル情報を用いた具体的処理例〕
以下、上述のようにして検出された動きベクトル情報に基づいて、本実施形態の携帯電話端末の制御部３１が行う具体的な処理例について説明する。
【００６６】
〔動き情報を用いた具体的処理例〕
本実施形態において、動きベクトル情報に基づく具体的処理例としては、画面スクロールのための処理、手書き入力のための処理、ゲームやユーザインターフェイスのための処理などが考えられる。
【００６７】
〔動きベクトルと画面スクロール〕
先ず、画面スクロールの処理としては、例えば、ディスプレイ３上に表示しきれない大きな画像に対して表示領域を自由に移動させる際のスクロールが考えられる。
【００６８】
例えば、携帯電話端末に保存されている地図画像をディスプレイ３上に表示させる際に、当該地図画像の大きさが携帯電話端末のディスプレイ３の画面サイズより大きければ、その地図画像の一部だけが表示されることになる。従来は、キー操作等によって上下左右に表示領域を移動させていたが、本発明実施形態によれば地図の観たい方向へ携帯電話端末を移動させてやることで、表示領域もその動きに合わせて移動させることができ、これにより、自由に地図画像上での表示領域を移動させることができる。
【００６９】
図１２を用いて、本実施形態の携帯電話端末にてディスプレイ３上に地図画像を表示する際の動作を説明する。なお、この図１２において、前述の図５と対応する部分についてはその説明を省略する。
【００７０】
メインメモリ３６には、ディスプレイ３の画面サイズよりも大きな地図画像データが格納されている。
【００７１】
ここで、当該メインメモリ３６上の地図画像データのうち、例えばＶＭ１に示す部分の地図画像データがディスプレイ３の画面上に表示されていたときに、前述の図４で説明したようにユーザにより携帯電話端末が移動させられて。動き検出部４３からその動きベクトル情報が制御部３１に供給されたとすると、制御部３１は、当該動きベクトル情報に基づいて、携帯電話端末自体の空間的な動きの方向と量を求め、その動き情報に応じて、メインメモリ３６からＶＭ２に示す部分の地図画像データを読み出し、表示用メモリ３７へ転送させる。これにより、ディスプレイ３上の画像は、ＶＭ１の地図画像データからＶＭ２の地図画像データにシフトすることになる。
【００７２】
図１３には、上述したような、携帯電話端末の動き検出とその動き情報に合わせた画面スクロール処理の流れを示す。
【００７３】
図１３において、制御部３１は、操作部３５上の所定のキー等がユーザにより操作され、ステップＳ２１にてカメラスルーモードを起動すると、次に、ステップＳ２２の処理として、動き検出部４３での動き検出をアクティブにさせる動き検出モードの開始指示がユーザからなされたか否かを判定する。当該ステップＳ２２において、動き検出モードの開始指示がなされたと判定したときにはステップＳ２３へ処理を進め、そうでないときにはステップＳ３０へ処理を進める。
【００７４】
ステップＳ３０の処理に進んだとき、制御部３１は、携帯電話端末の動作モードをカメラスルーモードの状態のままとし、ステップＳ２９へ処理を進める。
【００７５】
ステップＳ２３の処理に進むと、制御部３１は、動き検出部４３での動きベクトル検出をアクティブにして動き検出モードを起動させる。
【００７６】
次に、制御部３１は、ステップＳ２４の処理として、操作部３５を介したユーザからの指示により地図ビューワアプリケーションの起動が指示されたのか否か判定し、地図ビューワアプリケーションの起動指示であるときにはステップＳ２５へ処理を進め、そうでないときにはステップＳ２９へ処理を進める。
【００７７】
ステップＳ２５の処理に進むと、制御部３１は、ユーザが操作部３５上の所定のボタン（例えば予め地図ビューワボタンの機能が割り当てられたキー）を押下したか否か判定し、押下したときにはステップＳ２６へ処理を進め、そうでないときにはステップＳ２８へ処理を進める。
【００７８】
ステップＳ２６の処理に進むと、動き検出部４３は、前述したようにカメラ部４１にて撮影されたフレーム画像から動きベクトル検出を行い、その動きベクトル情報を制御部３１へ送る。
【００７９】
制御部３１は、動き検出部４３から動きベクトル情報を受け取ると、その動きベクトル情報に基づいて、携帯電話端末自体の空間的な動きを求める。
【００８０】
そして、制御部３１は、ステップＳ２７の処理として、前述の図１２で説明したような動き情報に応じた地図画像の表示処理を行う。このステップＳ２７の処理後、制御部３１は、ステップＳ２８へ処理を進める。
【００８１】
ステップＳ２８に進むと、制御部３１は、操作部３５を介してユーザから動き検出モードの終了指示がなされたか否かを判定し、終了指示がなされたときにはステップＳ２９へ処理を進め、そうでないときにはステップＳ２５へ処理を戻す。
【００８２】
ステップＳ２９の処理に進んだとき、制御部３１は、カメラスルーモードを終了させ、当該図１３のフローチャートの処理を終了させる。
【００８３】
以上のように、本実施形態の携帯電話端末によれば、ユーザは、携帯電話端末を空間的に動かすことにより、ディスプレイ３上で地図画像の表示領域を自由に移動させることができる。なお、本実施形態の画面スクロール処理は、地図画像以外に、例えばパーソナルコンピュータのデスクトップ画像と同様な画像を表示してその画像をスクロールする際にも適用可能である。
【００８４】
〔動き検出と手書き入力処理〕
本実施形態においては、携帯電話端末自体の空間的な動きに合わせて、画面にドットを表示させることによる手書き入力が可能である。
【００８５】
図１４には、携帯電話端末の動き検出とその動き情報に合わせた手書き入力処理の流れを示す。なお、図１４において、図１３と同じ処理ステップについては、図１３と同一の指示符号を付してその説明を省略する。
【００８６】
図１４において、ステップＳ２３にて動き検出モードが起動すると、制御部３１は、ステップＳ４４の処理として、操作部３５を介したユーザからの指示により手書き入力アプリケーションの起動が指示されたのか否か判定し、手書き入力アプリケーションの起動指示であるときにはステップＳ４５へ処理を進め、そうでないときにはステップＳ２９へ処理を進める。
【００８７】
ステップＳ４５の処理に進むと、制御部３１は、ユーザが操作部３５上の所定のボタン（例えば予め手書き入力ボタンの機能が割り当てられているキー）を押下したか否か判定し、押下したときにはステップＳ２６へ処理を進め、そうでないときにはステップＳ２８へ処理を進める。
【００８８】
ステップＳ２６にて動き検出部４３が動きベクトル検出を行い、その動きベクトル情報を受け取ると、制御部３１は、ステップＳ４７の処理として、動きベクトル情報に応じた軌跡でドットをディスプレイ３の画面上に表示する。このステップＳ４７の処理後、制御部３１は、ステップＳ２８へ処理を進める。
【００８９】
以上のように、本実施形態の携帯電話端末によれば、ユーザは、携帯電話端末を空間的に動かすことにより、ディスプレイ３上に手書き入力の線や点を表示させることができる。なお、本実施形態の手書き入力アプリケーションは、ディスプレイ３上に文字や記号、簡単な地図を表示する場合だけでなく、例えば、わからない漢字の一部をユーザが手書きにより入力したとき、その手書き入力による線や点に基づいてデータベースから漢字を検索するような、漢和辞典のようなアプリケーションにも適用可能である。
【００９０】
〔動き検出とユーザインターフェイス処理〕
本実施形態の携帯電話端末によれば、操作部３５のキー操作と動き検出による入力とを組み合わせたユーザインターフェイスも実現可能である。すなわち、操作部３５の所定のキーを押しながら携帯電話端末を動かすことによって、新たなアプリケーションやアクションを割り当てることができる。例えば「１」キーを押しながら右に携帯電話端末を動かすと音楽再生のアプリケーションが起動したり、「２」キーを押しながら左に携帯電話端末を動かすと一つ前の画面に戻ったりするアクションなどが考えられる。
【００９１】
図１５には、携帯電話端末におけるキー操作と動き検出の組み合わせによるユーザインターフェイスの処理の流れを示す。なお、図１５において、図１３と同じ処理ステップについては、図１３と同一の指示符号を付してその説明を省略する。
【００９２】
図１５において、ステップＳ２３にて動き検出モードが起動すると、制御部３１は、ステップＳ６４の処理として、操作部３５を介したユーザからの指示により「キー」と「動き検出」の組み合わせモードの起動指示がなされたのか否か判定し、当該起動指示であるときにはステップＳ６５へ処理を進め、そうでないときにはステップＳ２９へ処理を進める。
【００９３】
ステップＳ６５の処理に進むと、制御部３１は、ユーザが操作部３５上の所定の「キー」（例えば予めユーザインターフェイスボタンの機能が割り当てられているキー）を押下したか否か判定し、押下したときにはステップＳ２６へ処理を進め、そうでないときにはステップＳ２８へ処理を進める。
【００９４】
ステップＳ２６にて動き検出部４３が動きベクトル検出を行い、その動きベクトル情報を受け取ると、制御部３１は、ステップＳ６７の処理として、動きベクトル情報とキー入力の情報を、「キー」と「動き検出」の組み合わせによるユーザインターフェイス入力情報に変換した後、ステップＳ６８にて「キー」と「動き検出」の組み合わせに応じたアプリケーションを起動する。このステップＳ６８の処理後、制御部３１は、ステップＳ２８へ処理を進める。
【００９５】
以上のように、本実施形態の携帯電話端末によれば、ユーザは、操作部３５のキー操作すると同時に携帯電話端末を空間的に動かすことにより、動き検出のみとは異なった新たな入力操作が可能となる。
【００９６】
〔動き検出とゲーム処理〕
本実施形態の携帯電話端末は、例えば、ディスプレイ３の画面内においてフォーカス位置を素早く、しかも思い通りに移動させるようなゲームに利用することも可能である。すなわち例えば、画面に現れる敵を銃で撃ち落とすようなゲームの場合において、銃の照準位置（フォーカス）を敵に移動させる際に、携帯電話端末自体をその方向へ移動させるようなゲームへの適用が可能である。
【００９７】
図１６には、携帯電話端末の動き検出とその動き情報に基づくゲーム入力までの処理の流れを示す。なお、図１６において、図１３と同じ処理ステップについては、図１３と同一の指示符号を付してその説明を省略する。
【００９８】
図１６において、ステップＳ２３にて動き検出モードが起動すると、制御部３１は、ステップＳ８４の処理として、操作部３５を介したユーザからの指示によりゲームアプリケーションの起動が指示されたのか否か判定し、ゲームアプリケーションの起動指示であるときにはステップＳ８５へ処理を進め、そうでないときにはステップＳ２９へ処理を進める。
【００９９】
ステップＳ８５の処理に進むと、制御部３１は、ユーザが操作部３５上の所定のボタン（例えば予めゲームボタンの機能が割り当てられているキー）を押下したか否か判定し、押下したときにはステップＳ２６へ処理を進め、そうでないときにはステップＳ２８へ処理を進める。
【０１００】
ステップＳ２６にて動き検出部４３が動きベクトル検出を行い、その動きベクトル情報を受け取ると、制御部３１は、ステップＳ８７の処理として、動きベクトル情報をゲームの入力情報に変換した後、ステップＳ８８にて当該入力情報をゲームに反映させる。このステップＳ８８の処理後、制御部３１は、ステップＳ２８へ処理を進める。
【０１０１】
以上のように、本実施形態の携帯電話端末によれば、ユーザは、携帯電話端末を空間的に動かすことにより、フォーカス位置を素早く移動させる等の位置指定入力操作が可能となり、よりリアルにゲームを楽しむことができるようになる。なお、動きベクトル情報に応じて操作されるのは、フォーカスだけでなく、ゲーム内のキャラクタであっても良い。
【０１０２】
〔まとめ〕
以上説明したように、本発明実施形態の携帯電話端末によれば、画像の動きベクトルから携帯電話端末の動きを求め、その携帯電話端末の動きをユーザによる入力情報として取り込むようになされているため、ユーザは、入力の操作方向を制限されることなく、所望の操作入力が可能となっている。また、本実施形態においては、近年の携帯電話端末が一般的に備えているカメラの撮影画像から動きベクトルを検出しているため、新たなハードウェアを設ける必要もない。
【０１０３】
なお、上述した実施の形態の説明は、本発明の一例である。このため、本発明は上述した実施の形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。例えば、本発明は、携帯電話端末やＰＤＡ等に限定されず、ディジタルテレビジョン受像機やカーナビゲーション装置のリモートコントローラ、コンピュータマウスなどの各種の電子機器にも適用可能である。
【図面の簡単な説明】
【０１０４】
【図１】本発明実施の形態の携帯電話端末を正面側から観た概略的な外観図である。
【図２】本発明実施の形態の携帯電話端末を背面側から観た概略的な外観図である。
【図３】本発明実施の形態の携帯電話端末内部の主要部の構成例を示すブロック回路図である。
【図４】本実施形態の携帯電話端末の動きと、撮影画像から検出される動きベクトルとの関係説明に用いる図である。
【図５】カメラ内部メモリのバンク切り替え制御と動きベクトル検出の説明に用いる図である。
【図６】カメラ内部メモリのバンク切り替え制御と動きベクトル検出のタイミングの説明に用いる図である。
【図７】動き検出部における動きベクトル検出のアルゴリズムを説明するためのフローチャートである。
【図８】マクロブロックの説明に用いる図である。
【図９】動き補償領域の説明に用いる図である。
【図１０】動き補償領域内におけるマクロブロックのマッチングの説明に用いる図である。
【図１１】動き補正処理による動きベクトル検出の認識率の向上のための手法の説明に用いる図である。
【図１２】ディスプレイ上に表示される地図画像のスクロールの説明に用いる図である。
【図１３】携帯電話端末の動き検出とその動き情報に合わせた画面スクロール処理の流れを示すフローチャートである。
【図１４】携帯電話端末の動き検出とその動き情報に応じた手書き入力処理の流れを示すフローチャートである。
【図１５】キー入力と動き検出との組み合わせによるユーザインターフェイス処理の流れを示すフローチャートである。
【図１６】携帯電話端末の動き検出とその動き情報に応じたゲーム処理の流れを示すフローチャートである。
【符号の説明】
【０１０５】
１  第１の筐体、２  第２の筐体、３  ディスプレイ、４，３５  操作部、５，３８  スピーカ、６，３９  マイクロホン、７，７ａ，７ｂ，４１  カメラ部、３１  制御部、３２  内蔵のアンテナ、３３  通信回路、３４  表示部、３６  メインメモリ、３７  表示用メモリ、４２  カメラ内部メモリ、４３  動き検出部、ＯＢ  オブジェクト、Ｆａ、Ｆｂ  フレーム画像、ｍｂａ，ｍｂｂ  マクロブロック、ＭＶ  動きベクトル、ＢＫ１，ＢＫ２  カメラ内部メモリのバンク、ＣＰ１，ＣＰ２  メインメモリのコピー領域、ＭＣ  動き補償領域
【図１】
2005173877.tif 000003
【図２】
2005173877.tif 000004
【図３】
2005173877.tif 000005
【図４】
2005173877.tif 000006
【図５】
2005173877.tif 000007
【図６】
2005173877.tif 000008
【図７】
2005173877.tif 000009
【図８】
2005173877.tif 000010
【図９】
2005173877.tif 000011
【図１０】
2005173877.tif 000012
【図１１】
2005173877.tif 000013
【図１２】
2005173877.tif 000014
【図１３】
2005173877.tif 000015
【図１４】
2005173877.tif 000016
【図１５】
2005173877.tif 000017
【図１６】
2005173877.tif 000018