説明

情報処理装置、情報処理装置の制御方法、プログラム、及び情報記憶媒体

【課題】オブジェクトを選択した後に操作をやめる場合(例えば、オブジェクトを選択した後に該オブジェクト以外のオブジェクトを選択し直す場合等)に、ユーザの意図しない処理が実行されてしまわないように担保することが可能な情報処理装置を提供すること。
【解決手段】オブジェクト移動部56は、画面に表示される複数のオブジェクトのうちの一つのオブジェクトの位置に基づく判定領域内にユーザの指示位置の一つが含まれている場合に、該一つのオブジェクトを該指示位置の一つに基づいて移動させる。衝突判定部58は、オブジェクト移動部56により第1及び第2のオブジェクトが移動した場合において、第1及び第2のオブジェクトが衝突したか否かを判定する。処理実行部60は、衝突判定部58の判定結果に基づいて、第1及び第2のオブジェクトに関連する処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置、情報処理装置の制御方法、プログラム、及び情報記憶媒体に関する。
【背景技術】
【0002】
複数のオブジェクトを含む画面を表示し、複数のオブジェクトのうちからユーザによって選択された二つのオブジェクトに関連する処理を実行する情報処理装置が知られている。このような情報処理装置において、複数のオブジェクトのうちから二つのオブジェクトを選択し、かつ、それら二つのオブジェクトに関連する処理の実行を指示するための操作としては、従来、オブジェクトのドラッグアンドドロップ操作が知られている。ドラッグアンドドロップ操作は、オブジェクトをつかんで(選択して)他のオブジェクト上まで移動させ(ドラッグ操作)、つかんだオブジェクトを放す(ドロップ操作)という一連の操作である。つかまれたオブジェクトが他のオブジェクト上まで移動した状態で放された場合、それらのオブジェクトに関連する処理が実行される。
【0003】
例えば、従来の情報処理装置では、ユーザが、ファイルを示すアイコンをドラッグ操作によってフォルダを示すアイコン上まで移動させてドロップ操作を行った場合に、ファイルをフォルダに移動又はコピーするようになっているものが知られている。また例えば、特許文献1には、ユーザがドラッグ操作によって第1のオブジェクトを第2のオブジェクト上まで移動させてドロップ操作を行った場合に、第2のオブジェクトを第1のオブジェクトで置き換える置換処理を実行することが開示されている。なお、特許文献1には、オブジェクトがドロップされる対象の位置を容易に判別できるようにする技術についても開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−099733号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来行われているドラッグアンドドロップ操作では、オブジェクトをつかんだ後に操作をやめる場合(例えば、そのオブジェクト以外のオブジェクトをつかみ直す場合等)に、ユーザの意図しない処理が実行されてしまう場合があった。具体的には、オブジェクトを所望のオブジェクト上まで移動させる途中でドラッグ操作をやめる場合(すなわち、つかんだオブジェクトを所望のオブジェクト上まで移動させる途中で放す場合)に、オブジェクトが他のオブジェクト上に位置していると、それらのオブジェクトに関連する処理が実行されてしまう場合があった。上記のようなユーザの意図しない処理が実行されないようにするために、ユーザは、ドラッグ操作を途中でやめる場合、オブジェクトを他のオブジェクトが存在していない位置まで移動させてからドラッグ操作をやめる必要があった。
【0006】
本発明は上記課題に鑑みてなされたものであって、その目的は、オブジェクトを選択した後に操作をやめる場合(例えば、オブジェクトを選択した後に該オブジェクト以外のオブジェクトを選択し直す場合等)に、ユーザの意図しない処理が実行されてしまわないように担保することが可能な情報処理装置、情報処理装置の制御方法、プログラム、及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係る情報処理装置は、複数のオブジェクトを含む画面を表示手段に表示させる表示制御手段と、ユーザによって指示された前記画面内の複数の位置を検出可能な検出手段の検出結果を取得する検出結果取得手段と、前記検出手段によって前記ユーザの指示位置の一つが検出されている状態で、前記複数のオブジェクトのうちの一つのオブジェクトの位置に基づいて設定される判定領域内に該指示位置の一つが含まれている場合に、該指示位置の一つの移動に応じて該一つのオブジェクトを移動させるオブジェクト移動手段と、前記オブジェクト移動手段により第1のオブジェクトと第2のオブジェクトとの少なくとも一方が移動した場合において、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したか否かを判定する衝突判定手段と、前記衝突判定手段の判定結果に基づいて、前記第1のオブジェクト及び前記第2のオブジェクトに関連する処理を実行する処理実行手段と、を含むことを特徴とする。
【0008】
また、本発明に係る情報処理装置の制御方法は、複数のオブジェクトを含む画面を表示手段に表示させる表示制御ステップと、ユーザによって指示された前記画面内の複数の位置を検出可能な検出手段の検出結果を取得する検出結果取得ステップと、前記検出手段によって前記ユーザの指示位置の一つが検出されている状態で、前記複数のオブジェクトのうちの一つのオブジェクトの位置に基づいて設定される判定領域内に該指示位置の一つが含まれている場合に、該指示位置の一つの移動に応じて該一つのオブジェクトを移動させるオブジェクト移動ステップと、前記オブジェクト移動ステップにより第1のオブジェクトと第2のオブジェクトとの少なくとも一方が移動した場合において、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したか否かを判定する衝突判定ステップと、前記衝突判定ステップにおける判定結果に基づいて、前記第1のオブジェクト及び前記第2のオブジェクトに関連する処理を実行する処理実行ステップと、を含むことを特徴とする。
【0009】
また、本発明に係るプログラムは、複数のオブジェクトを含む画面を表示手段に表示させる表示制御手段、ユーザによって指示された前記画面内の複数の位置を検出可能な検出手段の検出結果を取得する検出結果取得手段、前記検出手段によって前記ユーザの指示位置の一つが検出されている状態で、前記複数のオブジェクトのうちの一つのオブジェクトの位置に基づいて設定される判定領域内に該指示位置の一つが含まれている場合に、該指示位置の一つの移動に応じて該一つのオブジェクトを移動させるオブジェクト移動手段、前記オブジェクト移動手段により第1のオブジェクトと第2のオブジェクトとの少なくとも一方が移動した場合において、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したか否かを判定する衝突判定手段、及び、前記衝突判定手段の判定結果に基づいて、前記第1のオブジェクト及び前記第2のオブジェクトに関連する処理を実行する処理実行手段、としてコンピュータを機能させるためのプログラムである。
【0010】
また、本発明に係る情報記憶媒体は、複数のオブジェクトを含む画面を表示手段に表示させる表示制御手段、ユーザによって指示された前記画面内の複数の位置を検出可能な検出手段の検出結果を取得する検出結果取得手段、前記検出手段によって前記ユーザの指示位置の一つが検出されている状態で、前記複数のオブジェクトのうちの一つのオブジェクトの位置に基づいて設定される判定領域内に該指示位置の一つが含まれている場合に、該指示位置の一つの移動に応じて該一つのオブジェクトを移動させるオブジェクト移動手段、前記オブジェクト移動手段により第1のオブジェクトと第2のオブジェクトとの少なくとも一方が移動した場合において、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したか否かを判定する衝突判定手段、及び、前記衝突判定手段の判定結果に基づいて、前記第1のオブジェクト及び前記第2のオブジェクトに関連する処理を実行する処理実行手段、としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0011】
また、本発明の一態様では、前記衝突判定手段は、前記第1のオブジェクトの位置に基づいて設定される判定領域内に前記ユーザの第1の指示位置が含まれ、かつ、前記第2のオブジェクトの位置に基づいて設定される判定領域内に前記ユーザの第2の指示位置が含まれている状態で、前記オブジェクト移動手段により前記第1のオブジェクトと前記第2のオブジェクトとの少なくとも一方が移動した場合において、前記第1の指示位置と前記第2の指示位置との間の距離が閾値以下になった場合に、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定するようにしてもよい。
【0012】
また、本発明の一態様では、前記衝突判定手段は、前記オブジェクト移動手段により前記第1のオブジェクトと前記第2のオブジェクトとが移動した場合において、前記第1の指示位置と前記第2の指示位置との間の前記距離が前記閾値以下である状態が基準時間にわたって継続した場合に、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定するようにしてもよい。
【0013】
また、本発明の一態様では、前記第1の指示位置と前記第2の指示位置との間の前記距離が前記閾値以下であると前記衝突判定手段によって過去に判定された際の前記第1の指示位置と前記第2の指示位置との間の前記距離に基づいて、前記閾値を下げる閾値変更手段を含むようにしてもよい。
【0014】
また、本発明の一態様では、前記処理実行手段は、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定された場合に、前記複数のオブジェクトの各々に関連づけられた属性情報を記憶する属性情報記憶手段に記憶される、前記第1のオブジェクトに関連づけられた属性情報と、前記第2のオブジェクトに関連づけられた属性情報と、を取得する手段と、前記第1のオブジェクトに関連づけられた属性情報と、前記第2のオブジェクトに関連づけられた属性情報と、を比較する比較画面を前記表示手段に表示させる手段と、を含むようにしてもよい。
【0015】
また、本発明の一態様では、前記処理実行手段は、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定された場合に、前記第1のオブジェクトと前記第2のオブジェクトとの衝突の態様に基づいて、前記第1のオブジェクト及び前記第2のオブジェクトに関連する前記処理を実行するようにしてもよい。
【0016】
また、本発明の一態様では、前記ユーザによって予め指定された前記複数のオブジェクトのうちの2つのオブジェクトの組合せを示す基準組合せ情報と、該2つのオブジェクトの衝突の態様として前記ユーザによって予め指定された態様を示す基準態様情報と、を記憶する基準情報記憶手段を含み、前記表示制御手段は、前記複数のオブジェクトを互いに異なる表示態様で前記画面に表示させ、前記処理実行手段は、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定された場合に、前記第1のオブジェクトと前記第2のオブジェクトとの組合せが前記基準組合せ情報によって示される組合せであるか否かを判定する組合せ判定手段と、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定された場合に、前記第1のオブジェクトと前記第2のオブジェクトとの衝突の態様と、前記基準態様情報が示す態様と、を比較する衝突態様比較手段と、前記組合せ判定手段の判定結果と、前記衝突態様比較手段の比較結果と、に基づいて認証処理を実行する認証処理実行手段と、を含むようにしてもよい。
【0017】
また、本発明の一態様では、前記基準態様情報は、前記ユーザによって予め指定された方向を示す基準方向情報を含み、前記衝突態様比較手段は、前記第1のオブジェクト又は前記第1の指示位置と、前記第2のオブジェクト又は前記第2の指示位置と、の一方から他方への方向と、前記基準方向情報が示す方向と、の間の角度が基準角度以下であるか否かを判定する方向判定手段を含み、前記認証処理実行手段は、前記組合せ判定手段の判定結果と、前記方向判定手段の判定結果と、に基づいて前記認証処理を実行するようにしてもよい。
【0018】
また、本発明の一態様では、前記基準態様情報は、前記ユーザによって予め指定された相対速度を示す基準相対速度情報を含み、前記衝突態様比較手段は、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定された場合に、前記第1のオブジェクト又は前記第1の指示位置と、前記第2のオブジェクト又は前記第2の指示位置と、の一方の他方に対する相対速度と、前記基準相対速度情報が示す相対速度と、の間の速度差が基準差以下であるか否かを判定する相対速度判定手段と、前記認証処理実行手段は、前記組合せ判定手段の判定結果と、前記相対速度判定手段の判定結果と、に基づいて前記認証処理を実行するようにしてもよい。
【発明の効果】
【0019】
本発明によれば、オブジェクトを選択した後に操作をやめる場合(例えば、オブジェクトを選択した後に該オブジェクト以外のオブジェクトを選択し直す場合等)に、ユーザの意図しない処理が実行されてしまわないように担保することが可能になる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【図2】検索結果画面の一例を示す図である。
【図3】お気に入り画面の一例を示す図である。
【図4】二つの商品を比較するための操作について説明するための図である。
【図5】比較画面の一例を示す図である。
【図6】情報処理装置の機能ブロック図である。
【図7】お気に入りテーブルの一例を示す図である。
【図8】オブジェクトテーブルの一例を示す図である。
【図9】指示位置データの一例を示す図である。
【図10】判定領域について説明するための図である。
【図11】衝突判定方法について説明するための図である。
【図12】情報処理装置で実行される処理の一例を示すフロー図である。
【図13】情報処理装置の機能ブロック図である。
【図14】履歴データの一例を示す図である。
【図15】認証画面の一例を示す図である。
【図16】基準組合せ情報及び基準方向情報の一例を示す図である。
【図17】情報処理装置で実行される処理の一例を示すフロー図である。
【図18】情報処理装置で実行される処理について説明するための図である。
【図19】基準組合せ情報及び基準速度情報の一例を示す図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【0022】
[第1実施形態]
まず、本発明の第1実施形態に係る情報処理装置について説明する。第1実施形態に係る情報処理装置は、例えば携帯電話機、携帯情報端末、パーソナルコンピュータ、又はゲーム機等によって実現される。図1は、本実施形態に係る情報処理装置10のハードウェア構成の一例を示している。図1に示すように、情報処理装置10は、制御部11、主記憶部12、補助記憶部13、操作部14、表示部15、音声出力部16、及び光ディスクドライブ部17、及び通信インタフェース18を備えている。
【0023】
制御部11は例えば1又は複数のCPUを含み、補助記憶部13に記憶されたオペレーションシステム又はプログラムに従って情報処理を実行する。主記憶部12は例えばRAMであり、補助記憶部13は例えばハードディスク又はソリッドステートドライブである。
【0024】
操作部14はユーザが操作を行うためのものである。本実施形態の場合、表示部15に表示される画面内の位置をユーザが指示するための指示部が操作部として備えられる。すなわち、例えば、タッチパネル、マウス、又はスティック等のポインティングデバイスが操作部として備えられる。なお、以下では、表示部15の上に重ねて設けられるタッチパネルが情報処理装置10に備えられていることとして説明する。
【0025】
情報処理装置10に備えられるタッチパネルは一般的なタッチパネルであり、ユーザによって接触された1又は複数の位置を検出可能になっている。タッチパネルとしては、例えば静電容量方式のタッチパネルが用いられる。静電容量方式のタッチパネルでは、タッチパネルの表面がユーザによって接触された場合に生じる電荷の変化に基づいて、ユーザによって接触されている1又は複数の位置が検出される。タッチパネルは、ユーザによって接触された1又は複数の位置を示す情報を供給する。制御部11は、タッチパネルから供給される情報に基づいて、ユーザによって接触されている1又は複数の位置を取得する。
【0026】
表示部15は例えば液晶表示ディスプレイ等であり、音声出力部16は例えばスピーカ等である。光ディスクドライブ部17は、光ディスク(情報記憶媒体)に記憶されたプログラムやデータを読み取る。
【0027】
なお例えば、プログラムやデータは光ディスクを介して補助記憶部13に供給される。すなわち、プログラムやデータが記憶された光ディスクが光ディスクドライブ部17に装着され、光ディスクに記憶されたプログラムやデータが光ディスクドライブ部17によって読み出され、補助記憶部13に記憶される。なお、光ディスクドライブ部17は必須の構成要素ではない。光ディスク以外の情報記憶媒体(例えばメモリカード)に記憶されたプログラム又はデータを読み取るための構成要素が光ディスクドライブ部17の代わりに含まれるようにしてもよい。そして、光ディスク以外の情報記憶媒体を介してプログラムやデータが補助記憶部13に供給されるようにしてもよい。または、例えばインターネット等を含んで構成される通信ネットワーク2を介してプログラム及びデータが補助記憶部13に供給されるようにしてもよい。
【0028】
通信インタフェース18は情報処理装置10を通信ネットワーク2に接続するためのインタフェースである。情報処理装置10は通信ネットワーク2を介してサーバ4にアクセスできるようになっている。
【0029】
サーバ4は、情報処理装置10から受信した処理要求に基づく処理を実行する。例えば、サーバ4ではデーモンプログラムが起動されている。サーバ4は、情報処理装置10から処理要求を受信した場合、必要に応じてデータベース6にアクセスし、上記の処理要求に対応する処理結果を情報処理装置10に返信する。なお、データベース6はサーバ4とは別のサーバコンピュータ内に構築されていてもよいし、サーバ4に構築されていてもよい。
【0030】
上記の情報処理装置10では、画面に表示される複数のオブジェクトのうちからユーザによって選択される二つのオブジェクトに関連する処理が実行されるようになっている。
【0031】
なお以下では、ユーザが通信ネットワーク2を介して商品を購入可能な電子商取引サイトがサーバ4によって提供されており、かつ、情報処理装置10において、上記の電子商取引サイトを利用するためのアプリケーションプログラムが実行される場合を例として、上記の技術について説明する。
【0032】
まず、上記のアプリケーションプログラムについて説明する。図2〜図4は、上記のアプリケーションプログラムが実行された場合に情報処理装置10の表示部15に表示される画面の一例を示している。
【0033】
図2は検索結果画面の一例を示している。検索結果画面は、検索画面(図示せず)におけるユーザの入力に基づいて設定された検索条件を満足する商品の一覧を示す画面である。
【0034】
この検索結果画面は、情報処理装置10(上記のアプリケーションプログラム)とサーバ4との間でデータの送受信が行われることによって表示される。すなわち、上記のアプリケーションプログラムは、検索画面におけるユーザの入力に基づいて設定された検索条件をサーバ4に送信する。検索条件を受信したサーバ4はデータベース6にアクセスし、検索条件を満足する商品の一覧を取得する。そして、サーバ4は取得された商品の一覧を情報処理装置10に返信する。情報処理装置10では、サーバ4から返信された商品の一覧を示す検索結果画面が表示される。
【0035】
図2に示すように、検索結果画面は一覧領域20を含んでいる。一覧領域20には検索条件を満足する商品の一覧が表示される。具体的には、検索条件を満足する各商品の商品画像22が一覧領域20に表示される。商品画像22は商品のサムネイル画像を含んでおり、さらに、商品の名称及び価格が商品画像22に付加されている。
【0036】
また、検索結果画面はお気に入り領域24を含んでいる。お気に入り領域24は、一覧領域20に表示される商品のうちの商品をお気に入りとして登録するためのものである。
【0037】
商品をお気に入りとして登録するための操作について説明する。ここでは、ユーザが商品「D」をお気に入りとして登録する場合を想定する。この場合、ユーザは、商品「D」の商品画像22を指し示すようにして、タッチパネル上に指を接触させる。そして、矢印26のように、ユーザはその指をタッチパネル上でお気に入り領域24までスライドさせる。このような操作が行われた場合、指の移動に応じて、商品「D」の商品画像22がお気に入り領域24まで移動し、その結果、商品「D」がお気に入りとして登録される。お気に入りの商品が新たに登録された場合、お気に入りとして登録済みの商品の一覧を示すお気に入り画面が表示される。
【0038】
図3はお気に入り画面の一例を示している。お気に入り画面には、お気に入りとして登録済み商品の商品画像22が表示される。図3は、商品「A」、「B」、「C」、及び「D」がお気に入りの商品として登録済みである場合のお気に入り画面の一例を示している。図3に示すお気に入り画面には、商品「A」、「B」、「C」、及び「D」の商品画像22A,22B,22C,22Dが表示されている。なお、お気に入り画面では商品画像22の初期表示位置や向きがランダムに決定される。その結果、図3の商品画像22A〜22Dのように、商品画像22は散らばった状態で表示される。
【0039】
このお気に入り画面も、情報処理装置10(上記のアプリケーションプログラム)とサーバ4との間でデータの送受信が行われることによって表示される。すなわち、検索結果画面においていずれかの商品の商品画像22がお気に入り領域24まで移動された場合、上記のアプリケーションプログラムは、その商品の商品IDをユーザIDとともにサーバ4に送信される。
【0040】
データベース6には、ユーザがお気に入りとして登録した商品を示すテーブルが記憶されており、サーバ4は、情報処理装置10から受信した上記のユーザID及び商品IDに基づいてそのテーブルを更新する。また、サーバ4は、ユーザがお気に入りとして登録済みの商品の情報をデータベース6から取得し、情報処理装置10に返信する。情報処理装置10では、サーバ4から返信された情報が補助記憶部13に保存され(後述の図7参照)、この情報に基づいてお気に入り画面が表示される。
【0041】
お気に入り画面では、ユーザが二つの商品を選択し、それら二つの商品を比較できるようになっている。ここで、二つの商品を比較するための操作について説明する。図4はその操作について説明するための図である。ここでは、商品「B」及び商品「C」を比較する場合を想定する。
【0042】
商品「B」及び商品「C」を比較する場合、ユーザは、例えば「ピンチ操作」を行うことによって商品「B」の商品画像22Bと商品「C」の商品画像22Cとを衝突させる。つまり、ユーザは、商品「B」の商品画像22Bを指し示すように、一方の手(例えば右手)の一の指(例えば親指)をタッチパネル上に接触させ、商品「C」の商品画像22Cを指し示すように、他の指(例えば人差し指)をタッチパネル上に接触させる。その後、ユーザはそれらの指を互いに近づけるようにタッチパネル上でスライドさせる。このような操作が行われた場合、それらの指の移動に応じて、矢印30,32のように、商品「B」の商品画像22Bと商品「C」の商品画像22Cとがお互いに近づくように移動する。
【0043】
そして、商品「B」の商品画像22Bと商品「C」の商品画像22Cとが衝突したと判定されると、商品「B」と商品「C」とを比較するための比較画面が表示される。図5はこの場合の比較画面の一例を示している。この場合の比較画面には商品「B」及び商品「C」の各種情報の比較表40が表示される。
【0044】
なお、電子商取引サイトでは、商品の購入者がその商品を例えば5点満点で評価できるようになっている。比較表40における「評価値」欄には、その商品の購入者によって登録された評価値の平均点が表示される。また、上述の検索結果画面で商品がお気に入りとして登録された場合、その旨がサーバ4に通知されるようになっており、商品をお気に入りとして登録したユーザの数がデータベース6に記憶されるようになっている。比較表40における「お気に入り」欄には、その商品をお気に入りとして登録したユーザの数が表示される。
【0045】
なお、比較画面には、それぞれの商品を購入するための購入画面へのリンクボタン42が表示される。リンクボタン42が選択されると、商品を購入するための購入画面(図示せず)が表示される。また、比較画面には閉じるボタン44が表示されている。閉じるボタン44が選択されると、比較画面が閉じられ、お気に入り画面が再び表示される。
【0046】
上記のお気に入り画面では、ユーザが、お気に入り画面に表示される複数の商品画像22のうちの二つの商品画像22を二本の指で指し示すことによって選択し、それら二本の指を移動させることによってそれら二つの商品画像22を移動させ衝突させると、それら二つの商品の比較画面が表示されるようになっている。情報処理装置10によれば、ユーザは二つの商品画像22を衝突させるという直感的な操作によって、情報処理装置10に二つの商品の比較画面を表示することを指示できるようになる。
【0047】
ところで、二つの商品の比較画面を表示することを情報処理装置10に指示するための操作としては、ドラッグアンドドロップ操作を採用することも考えられる。すなわち、ユーザがドラッグ操作によって一の商品画像22を移動させて他の商品画像22に重ねた状態でドロップ操作を行った場合に、それら二つの商品の比較画面を表示させるようにすることも考えられる。
【0048】
しかしながら、上記のようなドラッグアンドドロップ操作を採用すると、例えば、ドラッグ操作によって一の商品画像22を移動させ、互いに密集する複数の商品画像22のうちの所望の商品画像22に重ねてドロップ操作を行おうとする場合に、ユーザが一の商品画像22を誤って所望の商品画像22以外の商品画像22に重ねてドロップ操作を行ってしまう場合がある。このような場合、ユーザが意図していない二つの商品の比較画面が表示されてしまうことになる。
【0049】
これに対し、本実施形態に係る情報処理装置10では、ユーザが、まず、比較したい2つの商品の商品画像22の両方を選択し、その後、それらの商品画像22を移動させ衝突させることによって、それらの商品の比較画面が表示されるようになっている。このため、上記のような不都合が生じ難くなる。すなわち、仮に、所望の商品画像22以外の商品画像22を選択してしまったとしても、その商品画像22をもう一方の商品画像22に衝突させなければ、それらの商品の比較画面が表示されることはない。この場合、ユーザは指をタッチパネルから離して商品画像22を選択し直せばよい。このように、本実施形態に係る情報処理装置10では、ユーザが意図していない二つの商品の比較画面が表示されてしまうことが起き難くなる。
【0050】
また、上記のようなドラッグアンドドロップ操作を採用すると、一の商品画像22を移動させる途中でドラッグ操作をやめる場合に、該一の商品画像22が他の商品画像22と重なっていると、それらの商品の比較画面が表示されてしまい、ユーザが意図していない二つの商品の比較画面が表示されてしまうことになる。このため、ユーザは、ドラッグ操作をやめる場合に、他の商品画像22と重なっていない位置まで該一の商品画像22を移動させてからドラッグ操作をやめる必要がある。
【0051】
これに対し、第1実施形態に係る情報処理装置10では上記のような不都合が生じない。所望の商品画像22以外の商品画像22を選択してしまった場合に商品画像22を選択し直すべく指をタッチパネルから離す場合であっても、ユーザは、商品画像22が他の商品画像22上に位置しているか否かを特に留意する必要がない。ユーザが選択した商品画像22同士が衝突していない限り、それらの商品画像22が他の商品画像22上に位置していたとしても、商品の比較画面は表示されないからである。
【0052】
以下、上記のようなお気に入り画面(ユーザインタフェース)を実現するための構成について説明する。図6は、本実施形態に係る情報処理装置10において実現される機能ブロックのうち、お気に入り画面における衝突判定処理に関連する機能ブロックを示す機能ブロック図である。図6に示すように、情報処理装置10は、記憶部50、表示制御部52、検出結果取得部54、オブジェクト移動部56、衝突判定部58、及び処理実行部60を含んでいる。
【0053】
例えば、記憶部50は主記憶部12及び補助記憶部13である。表示制御部52、検出結果取得部54、オブジェクト移動部56、衝突判定部58、及び処理実行部60は制御部11によって実現される。すなわち、制御部11がプログラムに従って処理を実行することによって、制御部11がこれらの機能ブロックとしてとして機能するようになる。
【0054】
記憶部50について説明する。記憶部50は各種データを記憶する。図7〜図9は記憶部50に記憶されるデータの一例を示している。
【0055】
図7はお気に入りテーブルの一例を示している。お気に入りテーブルは、お気に入りとして登録された商品の情報を示すテーブルである。上述したように、お気に入り画面が表示される際に、ユーザがお気に入りとして登録済みの商品の情報がサーバ4(データベース6)から取得される。そして、サーバ4から取得されたこの情報がお気に入りテーブルとして登録される。
【0056】
図7に示すお気に入りテーブルは、「商品ID」、「商品名」、「価格」、「評価点」、「お気に入り登録者数」、「画像」、及び「購入ページ」フィールドを含んでいる。「商品ID」フィールドには、商品を一意に識別するための識別情報(商品ID)が登録される。「商品名」及び「価格」フィールドには、商品の名称及び価格がそれぞれ登録される。「評価点」フィールドには、商品の購入者によってつけられた評価値の平均点が登録される。「お気に入り登録者数」フィールドには、商品をお気に入りとして登録したユーザの人数が登録される。「画像」フィールドには、商品の通常画像及びサムネイル画像へのリンク情報(URL)が登録される。「購入ページ」フィールドには、商品の購入ページ(購入画面)へのリンク情報(URL)が登録される。
【0057】
図8はオブジェクトテーブルの一例を示している。オブジェクトテーブルは、お気に入り画面に表示されるオブジェクト(商品画像22)を管理するためのテーブルである。オブジェクトテーブルは「オブジェクトID」、「商品ID」、及び「位置」フィールドを含んでいる。「オブジェクトID」フィールドには、オブジェクト(商品画像22)を一意に識別するための識別情報(オブジェクトID)が登録される。「商品ID」フィールドには、オブジェクト(商品画像22)に関連づけられる商品の商品IDが登録される。例えば、商品「A」の商品画像22の場合、商品「A」の商品IDが「商品ID」フィールドに登録される。「位置」フィールドにはオブジェクト(商品画像22)の表示位置が登録される。例えば、オブジェクト(商品画像22)の代表位置(例えば中心位置)のスクリーン座標値が「位置」フィールドに登録される。なお、スクリーン座標系とは、図2に示すように、画面の左上を原点Oとし、右方向をX軸正方向とし、下方向をY軸正方向とする座標系である。
【0058】
次に、表示制御部52について説明する。表示制御部52は、複数のオブジェクトを含む画面を表示部15に表示させる。本実施形態の場合、表示制御部52はお気に入り画面を表示部15に表示させる。すなわち、本実施形態の場合、お気に入り画面が上記の「画面」に相当しており、お気に入り画面に表示される複数の商品画像22が上記の「複数のオブジェクト」に相当している。
【0059】
次に、検出結果取得部54について説明する。検出結果取得部54は、ユーザによって指示された画面内の複数の位置を検出可能な検出部の検出結果を取得する。例えば、ポインティングデバイスが「検出部」に相当する。本実施形態の場合、タッチパネルが「検出部」に相当しており、検出結果取得部54は、タッチパネルによって検出されたユーザの指示位置を取得する。例えば、ユーザが画面内の二つの位置(第1の指示位置及び第2の指示位置)を指示している場合、タッチパネルによって第1の指示位置及び第2の指示位置を検出される。そして、検出結果取得部54は、タッチパネルによって検出された第1の指示位置及び第2の指示位置を取得する。この場合、検出結果取得部54は、例えば図9に示すような指示位置データを取得する。なお、ユーザの指示位置はスクリーン座標系の座標値によって表される。
【0060】
次に、オブジェクト移動部56について説明する。オブジェクト移動部56は、検出部によってユーザの指示位置の一つが検出されている状態で、複数のオブジェクトのうちの一つのオブジェクトの位置に基づいて設定される判定領域内に該指示位置の一つが含まれているか否かを判定する。そして、一つのオブジェクトの位置に基づいて設定される判定領域内に該指示位置の一つが含まれている場合、オブジェクト移動部56は、該指示位置の一つの移動に応じて該一つのオブジェクトを移動させる。
【0061】
例えば、検出部によってユーザの第1の指示位置が検出された場合、オブジェクト移動部56は、第1の指示位置が、複数のオブジェクトのうちのいずれかのオブジェクトの表示位置に基づいて設定される判定領域内に含まれるか否かを判定する。また、検出部によって第2の指示位置の他にユーザの第2の指示位置が検出された場合、オブジェクト移動部56は、第2の指示位置が、複数のオブジェクトのうちの他のオブジェクトの表示位置に基づいて設定される判定領域内に含まれるか否かを判定する。
【0062】
ここで、「判定領域」について説明しておく。判定領域は、ユーザがオブジェクトを指し示しているか否かを判定するために設定される領域である。判定領域はオブジェクトの表示位置に基づいて設定され、オブジェクトの移動に従って判定領域も移動する。例えば、オブジェクトが表示された領域が判定領域として設定される。なお、判定領域は、オブジェクトが表示された領域と一致していなくてもよい。例えば、オブジェクトが表示された領域のすべてを含み、かつ、オブジェクトが表示された領域よりも広い領域を判定領域として設定するようにしてもよい。また例えば、オブジェクトの形状が比較的複雑な形状を有する場合には、比較的単純な形状を有する判定領域を設定するようにしてもよい。
【0063】
図10は、図3に示すようなお気に入り画面が表示されている場合における判定領域について説明するための図である。なお、図10において符号「70A」はユーザの第1の指示位置を示しており、符号「70B」はユーザの第2の指示位置を示している。
【0064】
図3に示すお気に入り画面では商品画像22A〜22Dが表示されている。このため、図10に示す例では判定領域72A〜72Dが設定されている。なお、以下では、判定領域72A〜72Dのことを総称して「判定領域72」として記載する場合がある。
【0065】
判定領域72Aは、商品「A」の商品画像22Aに対応する判定領域であり、商品画像22Aが表示された領域が判定領域72Aとして設定されている。同様に、判定領域72Bは、商品「B」の商品画像22Bに対応する判定領域であり、商品画像22Bが表示された領域が判定領域72Bとして設定されている。また、判定領域72Cは、商品「C」の商品画像22Cに対応する判定領域であり、商品画像22Cが表示された領域が判定領域72Cとして設定されている。さらに、判定領域72Dは、商品「D」の商品画像22Dに対応する判定領域であり、商品画像22Dが表示された領域が判定領域72Dとして設定されている。
【0066】
例えば図10に示す例の場合、オブジェクト移動部56は、第1の指示位置70Aが判定領域72A〜72Dのうちのいずれかに含まれるか否かを判定する。また、オブジェクト移動部56は、第2の指示位置70Bが判定領域72A〜72Dのうちのいずれかに含まれるか否かを判定する。
【0067】
また、オブジェクト移動部56は、第1のオブジェクトに対応する第1の判定領域内に第1の指示位置が含まれている場合に、第1の指示位置の移動に応じて第1のオブジェクトを移動させる。また、オブジェクト移動部56は、第2のオブジェクトに対応する第2の判定領域内に第2の指示位置が含まれている場合に、第2の指示位置の移動に応じて第2のオブジェクトを移動させる。
【0068】
例えば図10に示す例の場合、第1の指示位置70Aが判定領域72Bに含まれているため、オブジェクト移動部56は、第1の指示位置70Aの移動に応じて、商品画像22Bを移動させる。すなわち、オブジェクト移動部56は商品画像22Bを第1の指示位置70Aに従動させる。
【0069】
また図10に示す例の場合、第2の指示位置70Bが判定領域72Cに含まれているため、オブジェクト移動部56は、第2の指示位置70Bの移動に応じて、商品画像22Cを移動させる。すなわち、オブジェクト移動部56は商品画像22Cを第2の指示位置70Bに従動させる。
【0070】
次に、衝突判定部58について説明する。衝突判定部58は、オブジェクト移動部56によって第1のオブジェクト及び第2のオブジェクトの少なくとも一方が移動した場合において、第1のオブジェクトと第2のオブジェクトとが衝突したか否かを判定する。
【0071】
例えば、衝突判定部58は、第1のオブジェクトと第2のオブジェクトとが衝突したか否かを第1の指示位置と第2の指示位置との間の距離が閾値以下になったか否かを判定することによって判定する。言い換えれば、衝突判定部58は、第1の判定領域内に第1の指示位置が含まれ、かつ、第2の判定領域内に第2の指示位置が含まれている場合に、第1の指示位置と第2の指示位置との間の距離が閾値以下になったか否かを判定することによって、第1のオブジェクトと第2のオブジェクトとが衝突したか否かを判定する。オブジェクト移動部56によって第1のオブジェクトと第2のオブジェクトとの少なくとも一方が移動した場合において、第1の指示位置と第2の指示位置との間の距離が閾値以下になった場合に、衝突判定部58は第1のオブジェクトと第2のオブジェクトとが衝突したと判定する。
【0072】
例えば図10に示す例の場合、第1の指示位置70Aが判定領域72Bに含まれており、かつ、第2の指示位置70Bが判定領域72Cに含まれている。この場合、上述したように、オブジェクト移動部56によって、商品画像22Bは第1の指示位置70Aの移動に応じて移動し、商品画像22Cは第2の指示位置70Bの移動に応じて移動する。この場合、図11に示すように、衝突判定部58は、第1の指示位置70Aと第2の指示位置70Bとの間の距離(d)を取得し、該距離(d)が閾値以下になったか否かを判定することによって、商品画像22Bと商品画像22Cとが衝突したか否かを判定する。
【0073】
上記の距離(d)が閾値以下であると判定された場合、衝突判定部58は商品画像22Bと商品画像22Cとが衝突したと判定する。図11に示す例では、判定領域72Bと判定領域72Cとが重なっている(すなわち、商品画像22Bと商品画像22Cとが重なっている)が、上記の距離(d)が閾値以下になっていなければ、衝突判定部58は商品画像22Bと商品画像22Cとが衝突したと判定しない。
【0074】
なお、図11に示す例では、判定領域72Cと判定領域72Dとが重なっている(すなわち、商品画像22Cと商品画像22Dとが重なっている)が、判定領域72Dにはユーザの指示位置が含まれていないため、衝突判定部58は商品画像22Bと商品画像22Dとが衝突したと判定しない。
【0075】
次に、処理実行部60について説明する。処理実行部60は、衝突判定部58の判定結果に基づいて、第1のオブジェクト及び第2のオブジェクトに関連する処理を実行する。例えば、処理実行部60は、第1のオブジェクトと第2のオブジェクトとが衝突したと判定された場合に、第1のオブジェクトに関連づけられた属性情報と、第2のオブジェクトに関連づけられた属性情報と、を比較する比較画面を表示部15に表示させる。
【0076】
例えば、図11に示す例において、第1の指示位置70Aと第2の指示位置70Bとの間の距離(d)が閾値以下になったと判定された場合(すなわち、商品画像22Bと商品画像22Cとが衝突したと判定された場合)、処理実行部60は、商品画像22B及び商品画像22Cに関連する処理を実行する。
【0077】
この場合、処理実行部60は図5に示したような比較画面を表示部15に表示させる。すなわち、処理実行部60は、商品画像22Bに関連づけられた商品「B」の情報と、商品画像22Cに関連づけられた商品「C」の情報と、を比較する比較画面を表示部15に表示させる。
【0078】
ここで、お気に入り画面が表示されている間に情報処理装置10で実行される処理について説明する。図12は、お気に入り画面が表示されている間に情報処理装置10で所定時間(例えば1/60秒)ごとに繰り返し実行される処理の一例を示すフロー図である。なお、お気に入り画面が表示されている間には、ユーザの指示位置の変化に応じて商品画像22を移動させるための処理も実行されるが、図12では省略している。図12では、商品画像22同士が衝突したか否かを判定するための処理について主に示している。制御部11がプログラムに従って、図12に示す処理を実行することによって、制御部11が検出結果取得部54、衝突判定部58、及び処理実行部60として機能するようになる。
【0079】
図12に示すように、まず、制御部11(検出結果取得部54)は、検出部(タッチパネル)によって検出されているユーザの指示位置の数(N)を取得する(S101)。そして、制御部11は、取得した数(N)が2以上であるか否かを判定する(S102)。取得した数(N)が2以上でない場合、制御部11は本処理を終了する。
【0080】
取得した数(N)が2以上である場合、制御部11は変数iの値を1に初期化する(S103)。そして、制御部11は第iの指示位置がいずれかの判定領域72に含まれているか否かを判定する(S104)。なお、「第iの指示位置」とは、検出部(タッチパネル)によって検出された指示位置のうちの第i番目の指示位置のことを示している。
【0081】
第iの指示位置がいずれかの判定領域72に含まれている場合、制御部11は、変数jの値をi+1に初期化し(S105)、第jの指示位置が他の判定領域72に含まれているか否かを判定する(S106)。なお、「他の判定領域72」とは、ステップS104において、第iの指示位置が含まれると判定された判定領域72以外の判定領域72のことを意味している。
【0082】
第jの指示位置が他の判定領域72に含まれている場合、制御部11は、第iの指示位置と第jの指示位置との間の距離(d)を取得する(S107)。そして、制御部11(衝突判定部58)は距離(d)が閾値(D)以下であるか否かを判定する(S108)。距離(d)が閾値(D)以下である場合、制御部11(処理実行部60)は商品画像22同士が衝突したと判定し、比較画面(図5)を表示部15に表示させる。この場合、ステップS104で第iの指示位置を含むと判定された判定領域72に対応する商品画像22の商品と、ステップS106で第jの指示位置を含むと判定された判定領域72に対応する商品画像22の商品と、の比較画面が表示される。比較画面は図7に示すお気に入りテーブルに基づいて表示される。
【0083】
なお、ステップS104において、第iの指示位置がいずれかの判定領域72に含まれていると判定されなかった場合、制御部11は変数iの値をインクリメントし(S112)、変数iが、検出されたユーザの指示位置の数(N)未満であるか否かを判定する(S113)。変数iが、検出されたユーザの指示位置の数(N)未満であると判定された場合、制御部11はステップS104の処理を実行する。一方、変数iが、検出されたユーザの指示位置の数(N)未満であると判定されなかった場合、制御部11は本処理を終了する。
【0084】
また、ステップS106において、第jの指示位置が他の判定領域72に含まれると判定されなかった場合、又は、ステップS108において、距離(d)が閾値(D)以下であると判定されなかった場合、制御部11は変数jの値をインクリメントし(S110)、変数jの値が、検出されたユーザの指示位置の数(N)以下であるか否かを判定する(S111)。変数jが、検出されたユーザの指示位置の数(N)以下であると判定された場合、制御部11はステップS106の処理を実行する。一方、変数jが、検出されたユーザの指示位置の数(N)以下であると判定されなかった場合、制御部11はステップS112の処理を実行する。以上で図12に示す処理の説明を終了する。
【0085】
以上に説明した第1実施形態に係る情報処理装置10では、ユーザが、お気に入り画面に表示される複数の商品画像22のうちの二つの商品画像22を二本の指で指し示すことによって選択し、それら二本の指を移動させることによってそれら二つの商品画像22を移動させて衝突させると、それら二つの商品の比較画面が表示されるようになっている。情報処理装置10によれば、ユーザは、二つの商品画像22を選択して衝突させるという直感的な操作によって、情報処理装置10に二つの商品の比較画面を表示することを指示できるようになる。
【0086】
ところで、二つの商品の比較画面を表示させるための操作としては、例えば、ドラッグアンドドロップ操作を採用することも考えられる。すなわち、ユーザがドラッグ操作によって一の商品画像22を移動させて他の商品画像22に重ねた状態でドロップ操作を行った場合に、それら二つの商品の比較画面が表示されるようにすることも考えられる。
【0087】
しかしながら、上記のようなドラッグアンドドロップ操作を採用すると、例えば、ドラッグ操作によって一の商品画像22を移動させ、互いに密集する複数の商品画像22のうちの所望の商品画像22に重ねてドロップ操作を行おうとする場合に、ユーザが一の商品画像22を誤って所望の商品画像22以外の商品画像22に重ねてドロップ操作を行ってしまう場合がある。このような場合、ユーザが意図していない二つの商品の比較画面が表示されてしまうことになる。
【0088】
また、上記のようなドラッグアンドドロップ操作を採用すると、ドラッグ操作によって一の商品画像22を移動させ始めた後にドラッグ操作をやめる場合に、該一の商品画像22が他の商品画像22と重なっていると、それらの商品の比較画面が表示されてしまう。このため、ドラッグ操作をやめる場合には、他の商品画像22と重なっていない位置まで該一の商品画像22を移動させてからドラッグ操作をやめる必要がある。
【0089】
これに対し、第1実施形態に係る情報処理装置10では、ユーザが、まず、比較したい2つの商品の商品画像22の両方を選択し、その後、それらの商品画像22を移動させて衝突させることによって、それらの商品の比較画面が表示されるようになっている。このため、上記のような不都合が生じ難くなる。すなわち、仮に、所望の商品画像22以外の商品画像22を選択してしまったとしても、その商品画像22をもう一方の商品画像22に衝突させなければ、それらの商品の比較画面が表示されることはない。この場合、ユーザは指をタッチパネルから離して商品画像22を選択し直せばよい。このように、第1実施形態に係る情報処理装置10では、ユーザが意図していない二つの商品の比較画面が表示されてしまうことが起き難くなる。また、第1実施形態に係る情報処理装置10によれば、ユーザは操作を途中でやめる場合に商品画像22の位置を気にする必要がない。ユーザが選択した商品画像22同士が衝突していない限り、それらの商品画像22が他の商品画像22上に位置していたとしても、商品の比較画面は表示されないからである。
【0090】
また、二つの商品の比較画面を表示させるための操作としては、比較したい二つの商品の商品画像22の両方を単に選択するという操作を採用することも考えられる。すなわち、ユーザが一の商品画像22を選択し、さらに、他の商品画像22を選択した段階でそれらの商品の比較画面を表示するようにすることも考えられる。しかしながら、このような操作を採用すると、ユーザが所望の商品画像22以外の商品画像22を二つ目の商品画像22として誤って選択してしまった場合に、ユーザが意図していない二つの商品の比較画面が表示されてしまうことになる。これに対し、第1実施形態に係る情報処理装置10では、上述したように、ユーザが意図していない二つの商品の比較画面が表示されてしまうことが起き難くなる。
【0091】
さらに、二つの商品の比較画面を表示させるための操作としては、例えば下記のような操作を採用することも考えられる。
(a)マウスを用いて一の商品画像22を指し示した状態で左ボタンをクリックすることによってその商品画像22を選択する。
(b)また、マウスを用いて他の商品画像22を指し示した状態で左ボタンをクリックすることによってその商品画像22を選択する。
(c)その後、マウスの右ボタンをクリックすることによって、それらの商品画像22の商品の比較画面を表示するように指示する。
【0092】
しかしながら、このような操作ではマウスの左ボタン及び右ボタンが必要となるため、マウスを備えない情報処理装置では上記のような操作を採用することはできない。例えば、タッチパネルを備え、かつ、マウスを備えないようなタブレット型の情報処理装置の場合、上記の操作を採用することはできない。これに対し、第1実施形態に係る情報処理装置10で採用されている操作は、マウスを備えていないような情報処理装置でも採用することができる。
【0093】
また、第1実施形態に係る情報処理装置10によれば、お気に入り画面に表示される商品画像22同士をユーザが衝突させたか否かの判定の精度を向上させることが可能になる。
【0094】
商品画像22の衝突判定方法としては、例えば、商品画像22同士が接触したか否かを判定したり、商品画像22同士が重なったか否かを判定したりすることによって、商品画像22同士が衝突した判定する方法を採用することが考えられる。しかしながら、例えば、画面のサイズが小さい場合や、画面のサイズに比べて多くの商品画像22が画面に表示されているような場合には、商品画像22同士が接触したり、商品画像22同士が重なったりしやすくなるため、上記の衝突判定方法では、商品画像22同士が衝突したと判定されやすくなってしまう。その結果、ユーザが商品画像22同士を衝突させる意図を有していないにもかかわらず、商品画像22同士が衝突したと判定されてしまうおそれがあり、それによって、ユーザがストレスを感じてしまうおそれがある。
【0095】
これに対し、第1実施形態に係る情報処理装置10では、ユーザの二つの指示位置に基づいて、商品画像22同士が衝突したか否かを判定するようになっている。その結果、第1実施形態に係る情報処理装置10によれば、ユーザが商品画像22同士を衝突させる意図を有していないにもかかわらず商品画像22同士が衝突したと判定されてしまうことがないように図ることが可能になる。
【0096】
なお、第1実施形態では下記に説明するようにしてもよい。
【0097】
[1]例えば図11に示す例の場合、衝突判定部58は、オブジェクト移動部56によって商品画像22B及び商品画像22Cが移動した場合において、「第1の指示位置70Aと第2の指示位置70Bとの間の距離(d)が閾値以下である状態」が基準時間にわたって継続したか否かを判定するようにしてもよい。言い換えれば、衝突判定部58は、「判定領域72B内に第1の指示位置70Aが含まれ、かつ、判定領域72C内に第2の指示位置70Bが含まれ、かつ、第1の指示位置70Aと第2の指示位置70Bとの間の距離(d)が閾値以下である状態」が基準時間にわたって継続したか否かを判定するようにしてもよい。そして、上記の状態が基準時間わたって継続した場合に、制御部11は商品画像22Bと商品画像22Cとが衝突したと判定するようにしてもよい。
【0098】
このようにすれば、ユーザが商品画像22Bと商品画像22Cとを衝突させる意図を有していないにもかかわらず、一時的に上記の距離(d)が閾値以下になってしまったような場合には、商品画像22Bと商品画像22Cとが衝突したと判定されないようになる。このようにすれば、お気に入り画面に表示される商品画像22同士をユーザが衝突させたか否かの判定の精度をさらに向上させることが可能になる。
【0099】
[2]また例えば図13に示すように、情報処理装置10は閾値変更部62を含むようにしてもよい。
【0100】
閾値変更部62は、検出部によってユーザの第1の指示位置及び第2の指示位置が検出された状態において第1の指示位置と第2の指示位置との間の距離が閾値以下であると衝突判定部58によって過去に判定された際の該距離に基づいて、閾値を下げる。
【0101】
例えば、閾値変更部62は、上記の距離が閾値以下であると衝突判定部58によって過去に判定された際の該距離の履歴を示す履歴データを記憶部50(補助記憶部13)に記憶させる。図14はこの履歴データの一例を示している。例えば、上記の距離が閾値以下であると衝突判定部58によって判定された場合に閾値変更部62はその距離を図14に示す履歴データに追加登録する。
【0102】
例えば、閾値変更部62は履歴データに登録された距離の平均値を算出する。また、閾値変更部62はその平均値と閾値との差(Δd)を算出する。そして、閾値変更部62はその差(Δd)に応じて閾値を下げる。この場合、閾値変更部62は上記の平均値を下回らない範囲で閾値を下げる。
【0103】
具体的には、例えば、閾値変更部62は上記の差(Δd)が所定の基準値以上であるか否かを判定する。そして、上記の差(Δd)が所定の基準値以上である場合に、閾値変更部62は下記の式(1)に従って閾値(D)を変更する。なお、下記の式(1)において、「k」は、0より大きく1未満の値(例えば0.7)に設定される係数を示している。
D=D−Δd*k ・・・ (1)
【0104】
なお、上記の差(Δd)が所定の基準値以上であるか否かに関わらず、閾値変更部62は閾値(D)を上記の式(1)に従って変更するようにしてもよい。
【0105】
衝突判定部58における閾値の値が小さいほど、ユーザがオブジェクト(商品画像22)同士を衝突させる意図を有していないにもかかわらずオブジェクト同士が衝突したと判定されてしまう可能性が低くなる。すなわち、衝突判定部58における閾値の値が小さいほど、画面に表示されるオブジェクト同士をユーザが衝突させたか否かの判定の精度が向上させることが可能になる。
【0106】
この点、上記のような閾値変更部62によれば、例えば、オブジェクト同士を接触させる場合にそれらのオブジェクトを指し示している二つの指を非常に近づける傾向があるユーザ(すなわち、ユーザがオブジェクト同士を接触させる場合に二つの指示位置の間の距離が非常に小さくなる傾向があるユーザ)に関して、閾値を下げることが可能になる。その結果、画面に表示されるオブジェクト同士をユーザが衝突させたか否かの判定の精度が向上させることが可能になる。
【0107】
[第2実施形態]
本発明の第2実施形態に係る情報処理装置について説明する。第2実施形態に係る情報処理装置10は第1実施形態に係る情報処理装置10と同様のハードウェア構成を備えている(図1参照)。
【0108】
第2実施形態に係る情報処理装置10では、電源が入れられた場合、画面ロックを解除する場合や、スリープモードから復旧する場合等に、例えば図15に示すような認証画面が表示される。この認証画面は、例えば、4桁の数字をパスワードとして入力する認証画面等の一般的な認証画面の代わりに表示されるものである。
【0109】
図15に示す認証画面には複数のオブジェクト80A〜80Fが表示されている。オブジェクト80A〜80Fの初期表示位置はランダムに決定される。また、オブジェクト80A〜80Fの各々をユーザが区別できるようにするべく、オブジェクト80A〜80Fはお互いに異なる表示態様に設定される。すなわち、図15に示す例では、オブジェクト80A〜80Fの各々に異なる文字が付されている。なお、オブジェクト80A〜80Fの各々をユーザが区別できるようになっていれば、オブジェクト80A〜80Fの表示態様をどのように設定してもよい。例えば、オブジェクト80A〜80Fの各々に異なる記号や数字を付すようにしてもよいし、オブジェクト80A〜80Fの各々の色又は形状を異ならせるようにしてもよいし、オブジェクト80A〜80Fの各々として異なる画像を用いるようにしてもよい。なお以下では、オブジェクト80A〜80Fのことを総称してオブジェクト80と記載する場合がある。
【0110】
以下、図15に示す認証画面でユーザ認証を行うための仕組みについて説明する。第2実施形態に係る情報処理装置10において、ユーザは、認証画面に表示されるオブジェクト80A〜80Fのうちの2つのオブジェクト80を予め指定しておく。すなわち、ユーザはオブジェクト80A〜80Fのうちから一つ目のオブジェクト80と二つ目のオブジェクト80とを予め指定しておく。また、ユーザはそれらのオブジェクト80の衝突の態様(衝突の仕方)も予め指定しておく。例えば、それらのオブジェクト80が衝突した際の位置関係をユーザは予め指定しておく。具体的には、ユーザは一つ目のオブジェクト80から二つ目のオブジェクト80への方向(スクリーン座標系における方向)を予め指定しておく。
【0111】
補助記憶部13には、ユーザによって予め指定されたオブジェクト80の組合せを示す情報(以下「基準組合せ情報」と呼ぶ。)と、ユーザによって予め指定された上記の方向を示すベクトル情報(以下「基準方向情報」と呼ぶ。)と、が暗号化された状態で記憶される。図16は、補助記憶部13に記憶される基準組合せ情報及び基準方向情報の一例を示している。なお、図16に示す例は、文字「C」が付されたオブジェクト80Cが一つ目のオブジェクト80として指定され、文字「F」が付されたオブジェクト80Fが二つ目のオブジェクト80として指定されたこと示している。補助記憶部13に記憶される基準組合せ情報及び基準方向情報はユーザ認証を行うための情報として用いられる。すなわち、これらの情報は一般的なユーザID及びパスワードと同じ役割を有する情報として用いられる。
【0112】
図16に示すような基準組合せ情報及び基準方向情報が記憶されている場合、図15に示す認証画面において、ユーザは文字「C」が付されたオブジェクト80Cと文字「F」が付されたオブジェクト80Fとを衝突させる。このとき、これらのオブジェクト80C,80Fを単に衝突させるだけでは十分でなく、ユーザは、一つ目のオブジェクト80として指定されたオブジェクト80Cから二つ目のオブジェクト80として指定されたオブジェクト80Fへの方向が基準方向情報によって示される方向と略一致するようにして、オブジェクト80C,80Fを衝突させる必要がある。オブジェクト80Cからオブジェクト80Fへの方向が基準方向情報によって示される方向と略一致するようにして、オブジェクト80C,80Fが衝突した場合、ユーザが正当であると判定され、ユーザ認証が正常終了する。
【0113】
上記のような認証画面によれば、4桁の数字をパスワードとして入力する認証画面等に比べてセキュリティを高めることが可能になる。また、上記のような認証画面では、ユーザ認証のためにユーザが行うべき操作は、所定の二つのオブジェクト80を所定方向で衝突させるという比較的簡易な操作になっており、ユーザに複雑な操作(入力)を要求しないようになっている。すなわち、上記のような認証画面によれば、ユーザに複雑な操作(入力)を要求しないように担保しつつ、セキュリティを高めることが可能になる。
【0114】
以下、上記のような認証画面を実現するための構成について説明する。第2実施形態に係る情報処理装置10は第1実施形態に係る情報処理装置10と同様の機能ブロックを備える(図6又は図13参照)。以下、第2実施形態における各機能ブロックについて、主に第1実施形態と異なる点について説明する。
【0115】
記憶部50は、認証画面に表示されるオブジェクト80A〜80Fの表示位置を記憶する。また、記憶部50(基準情報記憶手段)は基準組合せ情報と基準態様情報とを記憶する。「基準組合せ情報」は、ユーザによって予め指定された、複数のオブジェクト80A〜80Fのうちの二つのオブジェクト80の組合せを示す情報である。「基準態様情報」は、それら二つのオブジェクト80の衝突の態様(衝突の仕方)としてユーザによって予め指定された態様に関する情報である。例えば、「基準態様情報」には、上記の二つのオブジェクト80が衝突した際のそれら二つのオブジェクト80の位置関係に関する情報が含まれる。例えば、記憶部50には、図16に示したような基準組合せ情報や基準方向情報が記憶される。
【0116】
表示制御部52は、例えば図15に示したような認証画面を表示部15に表示させる。
【0117】
処理実行部60は、認証画面に表示されるオブジェクト80A〜80Fのうちの二つのオブジェクト80が衝突したと衝突判定部58によって判定された場合に、それら二つのオブジェクト80の衝突の態様に基づいて、それら二つのオブジェクト80に関連する処理を実行する。
【0118】
例えば、処理実行部60(組合せ判定手段)は、認証画面に表示されるオブジェクト80A〜80Fのうちの二つのオブジェクト80が衝突したと衝突判定部58によって判定された場合に、それら二つのオブジェクト80の組合せが基準組合せ情報によって示される組合せであるか否かを判定する。また、処理実行部60(態様比較手段)は、それら二つのオブジェクト80の衝突の態様と、基準態様情報が示す態様と、を比較する。そして、処理実行部60(認証処理実行手段)は、上記の組合せが基準組合せ情報によって示される組合せであるか否かの判定結果と、上記の衝突の態様と基準態様情報が示す態様との比較結果と、に基づいて、認証処理を実行する。処理実行部60の詳細については後述する(図17参照)。
【0119】
ここで、認証画面が表示されている間に情報処理装置10で実行される処理について説明する。認証画面が表示されている間に情報処理装置10で実行される処理は図12に示した処理と類似している。すなわち、認証画面が表示されている間には、図12に示した処理と類似の処理が所定時間(例えば1/60秒)ごとに繰り返し実行される。このため、ここでは、認証画面が表示されている間に情報処理装置10で実行される処理について図12を参照しながら説明する。なお、認証画面が表示されている間には、ユーザの指示位置の変化に応じてオブジェクト80A〜80Fを移動させるための処理も実行されるが、ここでは省略する。
【0120】
認証画面が表示されている場合、制御部11(検出結果取得部54)は、検出部(タッチパネル)によって検出されているユーザの指示位置の数(N)を取得する(S101)。そして、制御部11はその数(N)が2以上であるか否かを判定する(S102)。上記の数(N)が2以上である場合、制御部11は変数iの値を1に初期化する(S103)。そして、制御部11は第iの指示位置がいずれかの判定領域に含まれている否かを判定する(S104)。ここでの「判定領域」は、オブジェクト80の表示位置に基づいて設定される領域であり、ユーザがオブジェクト80を指し示しているか否かを判定するために設定される領域である。
【0121】
第iの指示位置がいずれかの判定領域に含まれている場合、制御部11は、変数jの値をi+1に初期化し(S105)、第jの指示位置が他の判定領域に含まれているか否かを判定する(S106)。第jの指示位置が他の判定領域に含まれている場合、制御部11は、第iの指示位置と第jの指示位置との間の距離(d)を取得する(S107)。そして、制御部11(衝突判定部58)は距離(d)が閾値(D)以下であるか否かを判定する(S108)。
【0122】
なお、ステップS104において、第iの指示位置がいずれかの判定領域に含まれると判定されなかった場合に実行される処理は第1実施形態と同様である。また、ステップS106において、第jの指示位置が他の判定領域に含まれると判定されなかった場合や、ステップS108において、上記の距離(d)が閾値(D)以下であると判定されなかった場合に実行される処理も第1実施形態と同様である。
【0123】
ステップS108において上記の距離(d)が閾値(D)以下であると判定された場合、制御部11はオブジェクト80同士が衝突したと判定する。この場合、制御部11(処理実行部60)は、ステップS109の処理の代わりに、図17に示す処理を実行する。
【0124】
すなわち、制御部11(組合せ判定手段)は衝突したオブジェクト80の組合せが基準組合せ情報によって示される組合せに一致しているか否かを判定する(S201)。例えば、図16に示す基準組合せ情報が記憶されている場合、制御部11は、衝突したオブジェクト80の一方が、一つ目のオブジェクト80として予め指定された、文字「C」が付されたオブジェクト80Cであるか否かを判定する。また、制御部11は、衝突したオブジェクト80の他方が、二つ目のオブジェクト80として予め指定された、文字「F」が付されたオブジェクト80Fであるか否かを判定する。
【0125】
衝突したオブジェクト80の組合せが基準組合せ情報によって示される組合せに一致している場合、制御部11は、一つ目のオブジェクト80から二つ目のオブジェクト80への方向を取得する(S202)。例えば、図16に示す基準組合せ情報が記憶されている場合、制御部11は、文字「C」が付されたオブジェクト80Cから、文字「F」が付されたオブジェクト80Fへの方向を取得する。具体的には、図18に示すように、制御部11はオブジェクト80Cの代表位置82C(例えば中心点)からオブジェクト80Fの代表位置82F(例えば中心点)への方向90を取得する。
【0126】
ステップS202が実行された後、制御部11(方向判定手段)は、ステップS202で取得された方向と、基準方向情報が示す方向と、の間の角度(θ)を取得する(S203)。例えば、図16に示す基準組合せ情報が記憶されている場合、制御部11は、図18に示すように、文字「C」が付されたオブジェクト80Cから文字「F」が付されたオブジェクト80Fの代表位置82Fへの方向90と、基準方向情報が示す方向92と、の間の角度(θ)を取得する。
【0127】
ステップS203が実行された後、制御部11(方向判定手段)は、ステップS203で取得された角度(θ)が基準角度(θc)以下であるか否かを判定する(S204)。上記の角度(θ)が基準角度(θc)以下である場合、制御部11は、ステップS202で取得された方向と、基準方向情報が示す方向と、が略一致していると判定する。この場合、制御部11(認証処理実行手段)はユーザが正当であると判定し、情報処理装置10の利用をユーザに許可する(S205)。例えば、制御部11はメニュー画面を表示部15に表示させる。
【0128】
一方、上記の角度(θ)が基準角度(θc)以下であると判定されなかった場合、制御部11(認証処理実行手段)はユーザが正当でないと判定し、エラーメッセージを表示する(S206)。なお、ステップS201において、衝突したオブジェクト80の組合せが基準組合せ情報によって示される組合せに一致していると判定されなかった場合にも、制御部11(認証処理実行手段)はユーザが正当でないと判定し、エラーメッセージを表示する(S206)。これらの場合、制御部11は情報処理装置10の利用をユーザに許可しない。以上で、認証画面が表示されている間に実行される処理の説明を終了する。
【0129】
以上に説明した第2実施形態に係る情報処理装置10によれば、ユーザに複雑な操作(入力)を要求しないように担保しつつ、セキュリティを高めることが可能になる。
【0130】
ところで、例えば図16に示す基準組合せ情報が記憶されている場合、上述したように、ユーザは、文字「C」が付されたオブジェクト80Cから、文字「F」が付されたオブジェクト80Fへの方向が基準方向情報によって示される方向と略一致するようにして、オブジェクト80C,80Fを衝突させる必要がある。この場合、オブジェクト80C,80Fを衝突させる前に、ユーザはオブジェクト80C,80Fの少なくとも一方を移動させることによって、オブジェクト80C,80Fの位置関係を、基準方向情報によって示される方向と略一致するようにしてオブジェクト80C,80Fを衝突させることが可能な位置関係に変える必要がある。
【0131】
しかしながら、例えば、画面のサイズが小さい場合や、画面のサイズに比べて多くのオブジェクト80が画面に表示されているような場合には、オブジェクト80同士が接触したり、オブジェクト80同士が重なったりしやすくなるため、オブジェクト80C,80Fの位置関係を変える過程で、オブジェクト80C,80Fが接触したり、重なったりしてしまう可能性がある。この場合、従来の判定方法ではオブジェクト80C,80Fが衝突したと判定されてしまい、その際のオブジェクト80Cからオブジェクト80Fへの方向に基づいて認証処理が実行されてしまうことになる。
【0132】
これに対し、第2実施形態に係る情報処理装置10では、第1実施形態と同様、ユーザの二つの指示位置に基づいて、オブジェクト80同士が衝突したか否かを判定するようになっている。その結果、ユーザが、オブジェクト80同士の位置関係を調整している過程で、オブジェクト80同士が衝突したと判定されてしまうことがないように図ることが可能になる。
【0133】
なお、第2実施形態では下記に説明するようにしてもよい。
【0134】
[1]図17のステップS202では、一つ目のオブジェクト80の代表位置(例えば中心点)から二つ目のオブジェクト80の代表位置(例えば中心点)への方向を取得する代わりに、一つ目のオブジェクト80の判定領域に含まれると判定された指示位置から、二つ目のオブジェクト80の判定領域に含まれると判定された指示位置への方向を取得するようにしてもよい。あるいは、一つ目のオブジェクト80の代表位置(例えば中心点)から、二つ目のオブジェクト80の判定領域に含まれると判定された指示位置への方向を取得するようにしてもよいし、一つ目のオブジェクト80の判定領域に含まれると判定された指示位置から、二つ目のオブジェクト80の代表位置(例えば中心点)への方向を取得するようにしてもよい。
【0135】
[2]また、以上に説明した認証方法では、一つ目のオブジェクト80として予め指定されたオブジェクト80から、二つ目のオブジェクト80として予め指定されたオブジェクト80への方向が、基準方向情報が示す方向と略一致するようにして、ユーザがそれら二つのオブジェクト80を接触させた場合に、ユーザが正当であると判定するようになっていたが、ユーザによって予め指定された二つのオブジェクト80のうちの一方から他方への方向が、基準方向情報が示す方向と略一致するようにして、ユーザがそれら二つのオブジェクト80を接触させた場合に、ユーザが正当であると判定するようにしてもよい。
【0136】
例えば図16に示した基準組合せ情報及び基準方向情報が記憶されている場合、文字「C」が付されたオブジェクト80Cから文字「F」が付されたオブジェクト80Fへの方向が基準方向情報によって示される方向と略一致するようにして、ユーザがそれら二つのオブジェクト80C,80Fを接触させた場合だけでなく、文字「F」が付されたオブジェクト80Fから文字「C」が付されたオブジェクト80Cへの方向が基準方向情報によって示される方向と略一致するようにして、ユーザがそれら二つのオブジェクト80C,80Fを接触させた場合にも、ユーザが正当であると判定するようにしてもよい。
【0137】
[3]また、以上に説明した認証方法では、ユーザが、二つのオブジェクト80の組合せと、一つ目のオブジェクト80から二つ目のオブジェクト80への方向と、を予め指定するようになっていたが、上記の方向を指定する代わりに、二つ目のオブジェクト80に対する一つ目のオブジェクト80の相対速度を予め指定するようにしてもよい。
【0138】
この場合、補助記憶部13には、ユーザによって予め指定されたオブジェクト80の組合せを示す情報(基準組合せ情報)と、ユーザによって予め指定された上記の相対速度を示す情報(以下「基準相対速度情報」と呼ぶ。)と、が暗号化された状態で記憶される。図19は、補助記憶部13に記憶される基準組合せ情報及び基準相対速度情報の一例を示している。なお、図19に示す例において、「v」は、二つ目のオブジェクト80(文字「F」が付されたオブジェクト80F)に対する一つ目のオブジェクト80(文字「C」が付されたオブジェクト80C)の相対速度として指定された速度を示している。
【0139】
図19に示すような基準組合せ情報及び基準相対速度情報が記憶されている場合、図15に示す認証画面において、ユーザは、文字「C」が付されたオブジェクト80Cと文字「F」が付されたオブジェクト80Fとを衝突させる。このとき、これらのオブジェクト80C,80Fを単に衝突させるだけでは十分でない。ユーザは、オブジェクト80Fに対するオブジェクト80Cの相対速度が基準相対速度情報によって示される相対速度と略一致するようにして、オブジェクト80C,80Fを衝突させる必要がある。オブジェクト80Fに対するオブジェクト80Cの相対速度が基準相対速度情報によって示される相対速度とそれぞれ略一致するようにして、オブジェクト80C,80Fが衝突した場合、ユーザが正当であると判定され、ユーザ認証が正常終了する。
【0140】
この場合、図17のステップS202において、制御部11は、衝突したオブジェクト80の各々の速度を取得する。そして、制御部11は、二つ目のオブジェクト80として指定されているオブジェクト80に対する、一つ目のオブジェクト80として指定されているオブジェクト80の相対速度を取得する。例えば、図19に示す基準組合せ情報が記憶されている場合、文字「C」が付されたオブジェクト80Cと文字「F」が付されたオブジェクト80Fとが衝突した場合のオブジェクト80C,80Fの各々の速度が取得される。そして、オブジェクト80Fに対するオブジェクト80Cの相対速度が取得される。またステップS203において、制御部11(相対速度判定手段)は、ステップS202で取得された相対速度と、基準相対速度情報が示す相対速度と、の間の速度差を取得する。さらにステップS204において、制御部11(相対速度判定手段)は、その速度差が基準差以下であるか否かを判定する。そして、上記の速度差が基準差以下であると判定された場合、制御部11(認証処理実行手段)は、ユーザが正当であると判定し、情報処理装置10の利用をユーザに許可する。
【0141】
なお、ステップS202において、制御部11は、オブジェクト80の速度を取得する代わりに、該オブジェクト80の判定領域に含まれると判定された指示位置の速度を取得するようにしてもよい。そして、制御部11は、二つ目のオブジェクト80の判定領域に含まれると判定された指示位置に対する、一つ目のオブジェクト80の判定領域に含まれると判定された指示位置の相対速度を取得するようにしてもよい。なお、制御部11は、二つ目のオブジェクト80の判定領域に含まれると判定された指示位置に対する、一つ目のオブジェクト80の相対速度を取得するようにしてもよいし、二つ目のオブジェクト80に対する、一つ目のオブジェクト80の判定領域に含まれると判定された指示位置の相対速度を取得するようにしてもよい。
【0142】
また、ここで説明した認証方法では、二つ目のオブジェクト80として予め指定されたオブジェクト80に対する、一つ目のオブジェクト80として予め指定されたオブジェクト80の相対速度が基準相対速度情報によって示される相対速度と略一致するようにして、ユーザがそれら二つのオブジェクト80を接触させた場合に、ユーザが正当であると判定するようになっていたが、ユーザによって予め指定された二つのオブジェクト80のうちの一方の、他方に対する相対速度が、基準相対速度情報によって示される相対速度と略一致するようにして、ユーザがそれら二つのオブジェクト80を接触させた場合に、ユーザが正当であると判定するようにしてもよい。
【0143】
例えば図19に示した基準組合せ情報及び基準相対速度情報が記憶されている場合、オブジェクト80Fに対するオブジェクト80Cの相対速度が、基準相対速度情報が示す相対速度と略一致するようにして、ユーザがそれら二つのオブジェクト80C,80Fを接触させた場合だけでなく、オブジェクト80Cに対するオブジェクト80Fの相対速度が基準相対速度情報によって示される相対速度と略一致するようにして、ユーザがそれら二つのオブジェクト80C,80Fを接触させた場合にも、ユーザが正当であると判定するようにしてもよい。
【0144】
[4]なお、基準組合せ情報とともに、上述の基準方向情報及び基準相対速度情報の両方が補助記憶部13に記憶されるようにしてもよい。すなわち、二つのオブジェクト80の組合せと、一つ目のオブジェクト80から二つ目のオブジェクト80への方向と、二つ目のオブジェクト80に対する一つ目のオブジェクト80の相対速度と、をユーザが予め指定するようにしてもよい。そして、これらに基づいて認証処理が行われるようにしてもよい。
【0145】
例えば図16及び図19に示した基準組合せ情報と、図16に示した基準方向情報と、図19に示した基準相対速度情報とが記憶されている場合、オブジェクト80Cからオブジェクト80Fへの方向が基準方向情報によって示される方向と略一致するように、かつ、オブジェクト80Fに対するオブジェクト80Cの相対速度が基準相対速度情報によって示される相対速度と略一致するようにして、ユーザがオブジェクト80C,80Fを衝突させた場合に、ユーザが正当であると判定するようにしてもよい。
【0146】
[5]第2実施形態においても、第1実施形態と同様に、衝突判定部58は、「一のオブジェクト80の判定領域内にユーザの第1の指示位置が含まれ、かつ、他のオブジェクト80の判定領域内にユーザの第2の指示位置が含まれ、かつ、第1の指示位置と第2の指示位置との間の距離(d)が閾値以下である状態」が基準時間にわたって継続したか否かを判定するようにしてもよい。言い換えれば、衝突判定部58は、オブジェクト移動部56によって一のオブジェクト80及び他のオブジェクト80が移動した場合において、「第1の指示位置と第2の指示位置との間の距離(d)が閾値以下である状態」が基準時間にわたって継続したか否かを判定するようにしてもよい。そして、上記の状態が基準時間わたって継続した場合に、制御部11は一のオブジェクト80及び他のオブジェクト80が衝突したと判定するようにしてもよい。
【0147】
このようにすれば、二つのオブジェクト80を衝突させる意図を有していないにもかかわらず、一時的に上記の距離(d)が閾値以下になってしまったような場合には、それら二つのオブジェクトが衝突したと判定されないようになる。このようにすれば、認証画面に表示されるオブジェクト80同士をユーザが衝突させたか否かの判定の精度をさらに向上させることが可能になる。
【0148】
なお、本発明は以上に説明した第1実施形態及び第2実施形態に限定されるものではない。
【0149】
[1]例えば、以上に説明した衝突判定方法は様々な画面において用いることができる。
【0150】
例えば、ファイル又はフォルダ(ディレクトリ)が関連づけられた複数のアイコンが表示される画面においてユーザがアイコン同士を衝突させたか否かを判定する場合においても、以上に説明した衝突判定方法を用いることができる。
【0151】
この画面においてユーザがアイコン同士を衝突させた場合、それら二つのアイコンに関連づけられたファイル(フォルダ)を統合するようにしてもよい。または、それら二つのアイコンに関連づけられたファイル(フォルダ)の差分を表示するようにしてもよい。あるいは、一方のアイコンに関連づけられたファイル(フォルダ)を他方のアイコンに関連づけられたファイル(フォルダ)で上書きするようにしてもよい。または、それら二つのアイコンに関連づけられたファイル(フォルダ)を消去するようにしてもよい。
【0152】
なお、処理実行部60は、アイコンの衝突の態様に基づいて、衝突したアイコンに関連する処理の内容を変えるようにしてもよい。例えば、処理実行部60は、アイコンの衝突の態様に基づいて、上記の処理のいずれかを選択的に行うようにしてもよい。この場合、アイコンの衝突の態様を示す情報と、衝突したアイコンに関連する処理の内容に関する情報(例えば、上記の処理のいずれかを示す情報)と、を対応づけてなるデータを記憶部50が記憶するようにすればよい。そして、このデータに基づいて、処理実行部60は、衝突したアイコンに関連する処理として、アイコンの衝突の態様に対応する処理を実行するようにすればよい。
【0153】
ここで、例えば、「アイコンの衝突の態様を示す情報」とは、二つのアイコンが衝突した際におけるそれら二つアイコンの位置関係を示す情報であり、具体的には、衝突した二つのアイコンのうちの一方から他方への方向を示す情報である。このようにすれば、衝突した二つのアイコンのうちの一方から他方への方向に基づいて、それら二つのアイコンに関連する処理の内容を変えることが可能になる。
【0154】
また例えば、「アイコンの衝突の態様を示す情報」とは、二つのアイコンが衝突した際におけるそれら二つアイコンの速度関係を示す情報であり、具体的には、衝突した二つのアイコンのうちの一方の他方に対する相対速度を示す情報である。このようにすれば、衝突した二つのアイコンのうちの一方の他方に対する相対速度に基づいて、それら二つのアイコンに関連する処理の内容を変えることが可能になる。
【0155】
また、アイコンに画像データが関連づけられているような場合には、衝突した二つのアイコンに関連づけられた画像データを合成した画像データを表示するようにしてもよい。
【0156】
また例えば、複数のゲームキャラクタが表示されるゲーム画面においてユーザがゲームキャラクタ同士を衝突させたか否かを判定する場合においても、以上に説明した衝突判定方法を用いることができる。
【0157】
このゲーム画面においてユーザがゲームキャラクタ同士を衝突させた場合、それらのゲームキャラクタのパラメータ情報(属性情報)を比較するための比較画面が表示されるようにしてもよい。または、それらのゲームキャラクタが会話するようにしてもよい。あるいは、それらのゲームキャラクタが戦うようにしてもよい。なお、処理実行部60は、ゲームキャラクタの衝突の態様に基づいて、衝突したゲームキャラクタに関連する処理の内容を変えるようにしてもよい。例えば、処理実行部60は、ゲームキャラクタの衝突の態様に基づいて、上記の処理のいずれかを選択的に行うようにしてもよい。
【0158】
なお、ユーザがゲームキャラクタ同士を衝突させた場合にそれらのゲームキャラクタ同士が戦うようにする場合、それらのゲームキャラクタのパラメータ情報(属性情報)を比較することによって勝敗を決定するようにしてもよい。そして、勝者であるゲームキャラクタをゲーム画面に残し、敗者であるゲームキャラクタをゲーム画面から消去するようにしてもよい。なお、敗者であるゲームキャラクタをゲーム画面の端まで移動させるようにしてもよい。
【0159】
また例えば、素材(材料)が関連づけられたアイコンが表示されるレシピ検索画面においても、以上に説明した衝突判定方法を用いることができる。
【0160】
このレシピ検索画面においてユーザがアイコン同士を衝突させた場合、それらのアイコンに関連づけられた素材を使って作ることができる料理が検索される。そして、その料理のレシピが表示される。このようなレシピ検索画面においてユーザがアイコン同士を衝突させたか否かを判定する場合においても、以上に説明した衝突判定方法を用いることができる。
【0161】
[2]また例えば、以上では、ユーザが二本の指で二つのオブジェクトを指し示している状態においてそれら二つのオブジェクトが移動可能になることとして説明した。すなわち、一方の指の移動に応じて一方のオブジェクトが移動し、他方の指の移動に応じて他方のオブジェクトが移動することとして説明した。
【0162】
しかしながら、ユーザが二本の指で二つのオブジェクトを指し示している状態で一方のオブジェクトのみが移動可能になるようにしてもよい。この場合、例えば、ユーザが先に指し示したオブジェクトのみが移動可能になるようにしてもよいし。ユーザが後で指し示したオブジェクトのみが移動可能になるようにしてもよい。
【0163】
ここで、例えば図4,10,11に示す例の場合を想定する。また、ユーザが先に指し示した商品画像22のみが移動可能になる場合を想定する。この場合、ユーザが商品画像22Cを商品画像22Bよりも先に指し示したのであれば、ユーザは、商品画像22Cのみを移動させることができる。この場合、ユーザは、商品画像22Cを指し示している指を、商品画像22Bを指し示している指に向けて移動させることによって、商品画像22Cを商品画像22Bに衝突させることになる。
【0164】
[3]また例えば、表示部15に表示される画面は3次元コンピュータグラフィックス技術を用いて生成されたものであってもよい。例えば、複数のオブジェクトが配置された3次元空間を仮想カメラから見た様子を示す画面が表示部15に表示されるようにしてもよい。
【0165】
[4]また例えば、表示部15に表示される画面内の位置をユーザが指示するために用いられる指示部(操作部14)は、表示部15の上に重ねて設けられていなくてもよい。指示部(操作部14)は表示部15とは離れた位置に設けられていてもよい。
【符号の説明】
【0166】
2 通信ネットワーク、4 サーバ、6 データベース、10 情報処理装置、11 制御部、12 主記憶部、13 補助記憶部、14 操作部、15 表示部、16 音声出力部、17 光ディスクドライブ部、18 通信インタフェース、20 一覧領域、22,22A,22B,22C,22D 商品画像、24 お気に入り領域、40 一覧表、42 リンクボタン、44 閉じるボタン、50 記憶部、52 表示制御部、54 検出結果取得部、56 オブジェクト移動部、58 衝突判定部、60 処理実行部、62 閾値変更部、70A 第1の指示位置、70B 第2の指示位置、72A,72B,72C,72D 判定領域、80A,80B,80C,80D,80E オブジェクト。

【特許請求の範囲】
【請求項1】
複数のオブジェクトを含む画面を表示手段に表示させる表示制御手段と、
ユーザによって指示された前記画面内の複数の位置を検出可能な検出手段の検出結果を取得する検出結果取得手段と、
前記検出手段によって前記ユーザの指示位置の一つが検出されている状態で、前記複数のオブジェクトのうちの一つのオブジェクトの位置に基づいて設定される判定領域内に該指示位置の一つが含まれている場合に、該指示位置の一つの移動に応じて該一つのオブジェクトを移動させるオブジェクト移動手段と、
前記オブジェクト移動手段により第1のオブジェクトと第2のオブジェクトとの少なくとも一方が移動した場合において、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したか否かを判定する衝突判定手段と、
前記衝突判定手段の判定結果に基づいて、前記第1のオブジェクト及び前記第2のオブジェクトに関連する処理を実行する処理実行手段と、
を含むことを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置において、
前記衝突判定手段は、前記第1のオブジェクトの位置に基づいて設定される判定領域内に前記ユーザの第1の指示位置が含まれ、かつ、前記第2のオブジェクトの位置に基づいて設定される判定領域内に前記ユーザの第2の指示位置が含まれている状態で、前記オブジェクト移動手段により前記第1のオブジェクトと前記第2のオブジェクトとの少なくとも一方が移動した場合において、前記第1の指示位置と前記第2の指示位置との間の距離が閾値以下になった場合に、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定することを特徴とする情報処理装置。
【請求項3】
請求項2に記載の情報処理装置において、
前記衝突判定手段は、前記オブジェクト移動手段により前記第1のオブジェクトと前記第2のオブジェクトとが移動した場合において、前記第1の指示位置と前記第2の指示位置との間の前記距離が前記閾値以下である状態が基準時間にわたって継続した場合に、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定することを特徴とする情報処理装置。
【請求項4】
請求項3に記載の情報処理装置において、
前記第1の指示位置と前記第2の指示位置との間の前記距離が前記閾値以下であると前記衝突判定手段によって過去に判定された際の前記第1の指示位置と前記第2の指示位置との間の前記距離に基づいて、前記閾値を下げる閾値変更手段を含むことを特徴とする情報処理装置。
【請求項5】
請求項1乃至4のいずれかに記載の情報処理装置において、
前記処理実行手段は、
前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定された場合に、前記複数のオブジェクトの各々に関連づけられた属性情報を記憶する属性情報記憶手段に記憶される、前記第1のオブジェクトに関連づけられた属性情報と、前記第2のオブジェクトに関連づけられた属性情報と、を取得する手段と、
前記第1のオブジェクトに関連づけられた属性情報と、前記第2のオブジェクトに関連づけられた属性情報と、を比較する比較画面を前記表示手段に表示させる手段と、を含む、
ことを特徴とする情報処理装置。
【請求項6】
請求項1乃至4のいずれかに記載の情報処理装置において、
前記処理実行手段は、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定された場合に、前記第1のオブジェクトと前記第2のオブジェクトとの衝突の態様に基づいて、前記第1のオブジェクト及び前記第2のオブジェクトに関連する前記処理を実行することを特徴とする情報処理装置。
【請求項7】
請求項6に記載の情報処理装置において、
前記ユーザによって予め指定された前記複数のオブジェクトのうちの2つのオブジェクトの組合せを示す基準組合せ情報と、該2つのオブジェクトの衝突の態様として前記ユーザによって予め指定された態様を示す基準態様情報と、を記憶する基準情報記憶手段を含み、
前記表示制御手段は、前記複数のオブジェクトを互いに異なる表示態様で前記画面に表示させ、
前記処理実行手段は、
前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定された場合に、前記第1のオブジェクトと前記第2のオブジェクトとの組合せが前記基準組合せ情報によって示される組合せであるか否かを判定する組合せ判定手段と、
前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定された場合に、前記第1のオブジェクトと前記第2のオブジェクトとの衝突の態様と、前記基準態様情報が示す態様と、を比較する衝突態様比較手段と、
前記組合せ判定手段の判定結果と、前記衝突態様比較手段の比較結果と、に基づいて認証処理を実行する認証処理実行手段と、を含む、
ことを特徴とする情報処理装置。
【請求項8】
請求項7に記載の情報処理装置において、
前記基準態様情報は、前記ユーザによって予め指定された方向を示す基準方向情報を含み、
前記衝突態様比較手段は、前記第1のオブジェクト又は前記第1の指示位置と、前記第2のオブジェクト又は前記第2の指示位置と、の一方から他方への方向と、前記基準方向情報が示す方向と、の間の角度が基準角度以下であるか否かを判定する方向判定手段を含み、
前記認証処理実行手段は、前記組合せ判定手段の判定結果と、前記方向判定手段の判定結果と、に基づいて前記認証処理を実行する、
ことを特徴とする情報処理装置。
【請求項9】
請求項7又は8に記載の情報処理装置において、
前記基準態様情報は、前記ユーザによって予め指定された相対速度を示す基準相対速度情報を含み、
前記衝突態様比較手段は、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したと判定された場合に、前記第1のオブジェクト又は前記第1の指示位置と、前記第2のオブジェクト又は前記第2の指示位置と、の一方の他方に対する相対速度と、前記基準相対速度情報が示す相対速度と、の間の速度差が基準差以下であるか否かを判定する相対速度判定手段と、
前記認証処理実行手段は、前記組合せ判定手段の判定結果と、前記相対速度判定手段の判定結果と、に基づいて前記認証処理を実行する、
ことを特徴とする情報処理装置。
【請求項10】
複数のオブジェクトを含む画面を表示手段に表示させる表示制御ステップと、
ユーザによって指示された前記画面内の複数の位置を検出可能な検出手段の検出結果を取得する検出結果取得ステップと、
前記検出手段によって前記ユーザの指示位置の一つが検出されている状態で、前記複数のオブジェクトのうちの一つのオブジェクトの位置に基づいて設定される判定領域内に該指示位置の一つが含まれている場合に、該指示位置の一つの移動に応じて該一つのオブジェクトを移動させるオブジェクト移動ステップと、
前記オブジェクト移動ステップにより第1のオブジェクトと第2のオブジェクトとの少なくとも一方が移動した場合において、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したか否かを判定する衝突判定ステップと、
前記衝突判定ステップにおける判定結果に基づいて、前記第1のオブジェクト及び前記第2のオブジェクトに関連する処理を実行する処理実行ステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項11】
複数のオブジェクトを含む画面を表示手段に表示させる表示制御手段、
ユーザによって指示された前記画面内の複数の位置を検出可能な検出手段の検出結果を取得する検出結果取得手段、
前記検出手段によって前記ユーザの指示位置の一つが検出されている状態で、前記複数のオブジェクトのうちの一つのオブジェクトの位置に基づいて設定される判定領域内に該指示位置の一つが含まれている場合に、該指示位置の一つの移動に応じて該一つのオブジェクトを移動させるオブジェクト移動手段、
前記オブジェクト移動手段により第1のオブジェクトと第2のオブジェクトとの少なくとも一方が移動した場合において、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したか否かを判定する衝突判定手段、及び、
前記衝突判定手段の判定結果に基づいて、前記第1のオブジェクト及び前記第2のオブジェクトに関連する処理を実行する処理実行手段、
としてコンピュータを機能させるためのプログラム。
【請求項12】
複数のオブジェクトを含む画面を表示手段に表示させる表示制御手段、
ユーザによって指示された前記画面内の複数の位置を検出可能な検出手段の検出結果を取得する検出結果取得手段、
前記検出手段によって前記ユーザの指示位置の一つが検出されている状態で、前記複数のオブジェクトのうちの一つのオブジェクトの位置に基づいて設定される判定領域内に該指示位置の一つが含まれている場合に、該指示位置の一つの移動に応じて該一つのオブジェクトを移動させるオブジェクト移動手段、
前記オブジェクト移動手段により第1のオブジェクトと第2のオブジェクトとの少なくとも一方が移動した場合において、前記第1のオブジェクトと前記第2のオブジェクトとが衝突したか否かを判定する衝突判定手段、及び、
前記衝突判定手段の判定結果に基づいて、前記第1のオブジェクト及び前記第2のオブジェクトに関連する処理を実行する処理実行手段、
としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な情報記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2013−54404(P2013−54404A)
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2011−190120(P2011−190120)
【出願日】平成23年8月31日(2011.8.31)
【特許番号】特許第4943553号(P4943553)
【特許公報発行日】平成24年5月30日(2012.5.30)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】