(57)【要約】ワイヤレスデバイス上の３次元（３Ｄ）仮想オブジェクトを操作する方法が開示されており、該方法は、３Ｄセンサアレイ上の押圧、バンプ又はスライドを検出することと、上記押圧、バンプ又はスライドに応答して、上記３Ｄ仮想オブジェクトを移動することと、を含む。さらに、上記方法は、上記３Ｄセンサアレイ上の上記押圧のリリースを検出することと、上記３Ｄ仮想オブジェクトの上記移動を停止することと、を含む。
2013511773.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレスデバイスで３次元（３Ｄ）仮想オブジェクトを操作する方法であって、
３Ｄセンサアレイ上の押圧を検出することと、及び、
前記押圧に応答して、前記３Ｄ仮想オブジェクトを移動することと、
を備える、方法。
【請求項２】
前記３Ｄセンサアレイ上の前記押圧のリリースを検出することと、及び、
前記３Ｄ仮想オブジェクトを停止することと、
をさらに備える、請求項１の方法。
【請求項３】
前記３Ｄセンサアレイ上のバンプを検出することと、及び、
前記バンプに応答して、前記３Ｄ仮想オブジェクトを移動することであって、前記３Ｄ仮想オブジェクトは前記バンプに基づいて生成された距離を移動される、前記３Ｄ仮想オブジェクトを移動することと、
をさらに備える、請求項１の方法。
【請求項４】
前記３Ｄセンサアレイ中の２つの対向するセンサの各々上のタッチを検出することと、及び、
前記仮想３Ｄオブジェクトを仮想的に掴むことと、
をさらに備える、請求項１の方法。
【請求項５】
前記３Ｄセンサアレイ中の前記２つの対向するセンサのどちらか上のクイックスライドを検出することと、及び、
前記クイックスライドの方向に対応する方向に、前記クイックスライドの速度に基づいた速度で、前記３Ｄ仮想オブジェクトを回転することと、
をさらに備える、請求項４の方法。
【請求項６】
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々上の反対方向の動作を検出することと、及び、
前記３Ｄ仮想オブジェクトを、前記反対方向の動作の方向に基づいた方向に、前記３Ｄ仮想オブジェクトの中心周りを、回転することと、
をさらに備える、請求項４の方法。
【請求項７】
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々上の一方向動作を検出することと、及び、
前記一方向動作の方向に基づいた方向に、前記３Ｄ仮想オブジェクトをスライドすることと、
をさらに備える、請求項４の方法。
【請求項８】
前記３Ｄセンサアレイ中の前記２つの対向するセンサのうちの一方上の動作を検出することと、及び、
前記３Ｄ仮想オブジェクトを、前記動作の方向に基づいた方向に、前記２つの対向するセンサのうちの前記一方と反対側周りを、回転することと、
をさらに備える、請求項４の方法。
【請求項９】
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々の間のスクイーズを検出することと、及び、
前記３Ｄ仮想オブジェクトを、前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々の間の前記スクイーズ基づいた方向に、仮想的にスクイーズすることと、
をさらに備える、請求項４の方法。
【請求項１０】
前記３Ｄ仮想オブジェクトが弾性かどうか決定することと、
前記３Ｄ仮想オブジェクトが弾性でない場合、前記３Ｄ仮想オブジェクトの新しい形状を維持することと、及び、
前記３Ｄ仮想オブジェクトが弾性である場合、前記仮想３Ｄ仮想オブジェクトをオリジナル形状に戻すことと、
をさらに備える、請求項９の方法。
【請求項１１】
ポータブルコンピューティングデバイスであって、
プロセッサ、
を備え、前記プロセッサは、
３Ｄセンサアレイ上の押圧を検出し、及び、
前記押圧に応答して、前記３Ｄ仮想オブジェクトを移動する、
ために使用可能である、デバイス。
【請求項１２】
前記プロセッサは、
前記３Ｄセンサアレイ上の前記押圧のリリースを検出し、及び、
前記３Ｄ仮想オブジェクトを停止する、
ためにさらに使用可能である、請求項１１のデバイス。
【請求項１３】
前記プロセッサは、
前記３Ｄセンサアレイ上のバンプを検出し、及び、
前記バンプに応答して、前記３Ｄ仮想オブジェクトを移動することであって、前記３Ｄ仮想オブジェクトは、前記バンプに基づいて生成された距離を移動する、前記３Ｄ仮想オブジェクトを移動する、
ためにさらに使用可能である、請求項１１のデバイス。
【請求項１４】
前記プロセッサは、
前記３Ｄセンサアレイ中の２つの対向するセンサの各々上のタッチを検出し、及び、
前記３Ｄ仮想オブジェクトを仮想的に掴む、
ためにさらに使用可能である、請求項１１のデバイス。
【請求項１５】
前記プロセッサは、
前記３Ｄセンサアレイ中の前記２つの対向するセンサのどちらか上のクイックスライドを検出し、及び、
前記クイックスライドの方向に対応する方向に、前記クイックスライドの速度に基づいた速度で、前記３Ｄ仮想オブジェクトを回転する、
ためにさらに使用可能である、請求項１４のデバイス。
【請求項１６】
前記プロセッサは、
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々上の反対方向の動作を検出し、及び、
前記３Ｄ仮想オブジェクトを、前記反対方向の動作の方向に基づいた方向に、前記３Ｄ仮想オブジェクトの中心回りを、回転する、
ためにさらに使用可能である、請求項１４のデバイス。
【請求項１７】
前記プロセッサは、
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々上の一方向動作を検出し、及び、
前記一方向動作の方向に基づいた方向に、前記３Ｄ仮想オブジェクトをスライドする、
ためにさらに使用可能である、請求項１４のデバイス。
【請求項１８】
前記プロセッサは、
前記３Ｄセンサアレイ中の前記２つの対向するセンサのうちの一方上の動作を検出し、及び、
前記３Ｄ仮想オブジェクトを、前記動作の方向に基づいた方向に、前記２つの対向するセンサのうちの前記一方と反対側周りを、回転する、
ためにさらに使用可能である、請求項１４のデバイス。
【請求項１９】
前記プロセッサは、
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々の間のスクイーズを検出し、及び、
前記３Ｄ仮想オブジェクトを、前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々の間の前記スクイーズ基づいた方向に、仮想的にスクイーズする、
ためにさらに使用可能である、請求項１４のデバイス。
【請求項２０】
前記プロセッサは、
前記３Ｄ仮想オブジェクトが弾性かどうか決定し、
前記３Ｄ仮想オブジェクトが弾性でない場合、前記３Ｄ仮想オブジェクトの新しい形状を維持し、及び、
前記３Ｄ仮想オブジェクトが弾性である場合、前記仮想３Ｄ仮想オブジェクトをオリジナル形状に戻す、
ためにさらに使用可能である、請求項１９のデバイス。
【請求項２１】
ポータブルコンピューティングデバイスであって、
３Ｄセンサアレイ上の押圧を検出するための手段と、及び、
前記押圧に応答して、前記３Ｄ仮想オブジェクトを移動するための手段と、
を備える、デバイス。
【請求項２２】
前記３Ｄセンサアレイ上の前記押圧のリリースを検出するための手段と、及び、
前記３Ｄ仮想オブジェクトを停止するための手段と、
をさらに備える、請求項２１のデバイス。
【請求項２３】
前記３Ｄセンサアレイ上のバンプを検出するための手段と、及び、
前記バンプに応答して、前記３Ｄ仮想オブジェクトを移動するための手段であって、前記３Ｄ仮想オブジェクトは前記バンプに基づいて生成された距離を移動される、前記３Ｄ仮想オブジェクトを移動するための手段と、
をさらに備える、請求項２１のデバイス。
【請求項２４】
前記３Ｄセンサアレイ中の２つの対向するセンサの各々上のタッチを検出するための手段と、及び、
前記仮想３Ｄオブジェクトを仮想的に掴むための手段と、
をさらに備える、請求項２１のデバイス。
【請求項２５】
前記３Ｄセンサアレイ中の前記２つの対向するセンサのどちらか上のクイックスライドを検出するための手段と、及び、
前記クイックスライドの方向に対応する方向に、前記クイックスライドの速度に基づいた速度で、前記３Ｄ仮想オブジェクトを回転するための手段と、
をさらに備える、請求項２４のデバイス。
【請求項２６】
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々上の反対方向の動作を検出するための手段と、及び、
前記３Ｄ仮想オブジェクトを、前記反対方向の動作の方向に基づいた方向に、前記３Ｄ仮想オブジェクトの中心周りを、回転するための手段と、
をさらに備える、請求項２４のデバイス。
【請求項２７】
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々上の、一方向動作を検出するための手段と、及び、
前記一方向動作の方向に基づいた方向に、前記３Ｄ仮想オブジェクトをスライドするための手段と、
をさらに備える、請求項２４のデバイス。
【請求項２８】
前記３Ｄセンサアレイ中の前記２つの対向するセンサのうちの一方上の動作を検出するための手段と、及び、
前記３Ｄ仮想オブジェクトを、前記動作の方向に基づいた方向に、前記２つの対向するセンサのうちの前記一方と反対側周りを、回転するための手段と、
をさらに備える、請求項２４のデバイス。
【請求項２９】
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々の間のスクイーズを検出するための手段と、及び、
前記３Ｄ仮想オブジェクトを、前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々の間の前記スクイーズ基づいた方向に、仮想的にスクイーズするための手段と、
をさらに備える、請求項２４のデバイス。
【請求項３０】
前記３Ｄ仮想オブジェクトが弾性かどうか決定するための手段と、
前記３Ｄ仮想オブジェクトが弾性でない場合、前記３Ｄ仮想オブジェクトの新しい形状を維持するための手段と、及び、
前記３Ｄ仮想オブジェクトが弾性である場合、前記仮想３Ｄ仮想オブジェクトをオリジナル形状に戻すための手段と、
をさらに備える、請求項２９のデバイス。
【請求項３１】
機械可読媒体であって、
３Ｄセンサアレイ上の押圧を検出するための少なくとも１つの命令と、及び、
前記押圧に応答して、前記３Ｄ仮想オブジェクトを移動するための少なくとも１つの命令と、
を備える、機械可読媒体。
【請求項３２】
前記３Ｄセンサアレイ上の前記押圧のリリースを検出するための少なくとも１つの命令と、及び、
前記３Ｄ仮想オブジェクトを停止するための少なくとも１つの命令と、
をさらに備える、請求項３１の機械可読媒体。
【請求項３３】
前記３Ｄセンサアレイ上のバンプを検出するための少なくとも１つの命令と、及び、
前記バンプに応答して、前記３Ｄ仮想オブジェクトを移動するための少なく一つの命令であって、前記３Ｄ仮想オブジェクトは前記バンプに基づいて生成された距離を移動される、前記３Ｄ仮想オブジェクトを移動するための少なく一つの命令と、
をさらに備える、請求項３１の機械可読媒体。
【請求項３４】
前記３Ｄセンサアレイ中の２つの対向するセンサの各々上のタッチを検出するための少なくとも１つの命令と、及び、
前記仮想３Ｄオブジェクトを仮想的に掴むための少なくとも１つの命令と、
をさらに備える、請求項３１の機械可読媒体。
【請求項３５】
上前記３Ｄセンサアレイ中の前記２つの対向するセンサのどちらか上のクイックスライドを検出するための少なくとも１つの命令と、及び、
前記クイックスライドの方向に対応する方向に、前記クイックスライドの速度に基づいた速度で、前記３Ｄ仮想オブジェクトを回転するための少なくとも１つの命令と、
をさらに備える、請求項３４の機械可読媒体。
【請求項３６】
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々上の反対方向の動作を検出するための少なくとも１つの命令と、及び、
前記３Ｄ仮想オブジェクトを、前記反対方向の動作の方向に基づいた方向に、前記３Ｄ仮想オブジェクトの中心周りを、回転するための少なくとも１つの命令と、
をさらに備える、請求項３４の機械可読媒体。
【請求項３７】
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々上の一方向動作を検出するための少なくとも１つの命令と、及び、
前記一方向動作の方向に基づいた方向に、前記３Ｄ仮想オブジェクトをスライドするための少なくとも１つの命令と、
をさらに備える、請求項３４の機械可読媒体。
【請求項３８】
前記３Ｄセンサアレイ中の前記２つの対向するセンサのうちの一方上の動作を検出するための少なくとも１つの命令と、及び、
前記３Ｄ仮想オブジェクトを、前記動作の方向に基づいた方向に、前記２つの対向するセンサのうちの前記一方と反対側周りを、回転するための少なくとも１つの命令と、
をさらに備える、請求項３４の機械可読媒体。
【請求項３９】
前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々の間のスクイーズを検出するための少なくとも１つの命令と、及び、
前記３Ｄ仮想オブジェクトを、前記３Ｄセンサアレイ中の前記２つの対向するセンサの各々の間の前記スクイーズ基づいた方向に、仮想的にスクイーズするための少なくとも１つの命令と、
をさらに備える、請求項３４の機械可読媒体。
【請求項４０】
前記３Ｄ仮想オブジェクトが弾性かどうか決定するための手段と、
前記３Ｄ仮想オブジェクトが弾性でない場合、前記３Ｄ仮想オブジェクトの新しい形状を維持するための手段と、及び、
前記３Ｄ仮想オブジェクトが弾性である場合、前記仮想３Ｄ仮想オブジェクトをオリジナル形状に戻すための手段と、
をさらに備える、請求項３９の機械可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
ポータブルコンピューティングデバイス（ＰＣＤｓ）は、随所で目にする。これらのデバイスは、携帯電話、携帯情報端末（ＰＤＡ）、携帯型ゲーム機、パームトップコンピュータ、及びその他のポータブル電子機器を含むことができる。多くのポータブルコンピューティングデバイスは、ユーザがデバイスと対話しコマンドを入力することができるタッチスクリーンインターフェイスを含む。さらに、タッチスクリーンインターフェイスは、複数のアイテム、例えば、アプリケーションアイコン、サムネイル、タイル、または、それらの組み合わせ、を表示するために使用されることができる。
【０００２】
表示されるアイテムの幾つかは、３次元（３Ｄ）仮想オブジェクトであることができる。アプリケーションに応じて、ディスプレイの表示範囲内で３Ｄ仮想オブジェクトを移動することが有利なことがある。
【０００３】
したがって、必要とされていることは、ポータブルコンピューティングデバイスで３Ｄ仮想オブジェクトを制御する改良されたシステム及び方法である。
【発明の概要】
【０００４】
【図面の簡単な説明】
【０００５】
図面においては、同様の参照符号は、特に明記しない限り、様々な図を通して同じ部品を参照する。
【図１】図１は、閉位置でのポータブルコンピューティングデバイス（ＰＣＤ）の第１の態様の正面平面図である。
【図２】図２は、開位置でのＰＣＤの第１の態様の正面平面図である。
【図３】図３は、ＰＣＤの第１の態様のブロック図である。
【図４】図４は、ＰＣＤの第２の態様の断面図である。
【図５】図５は、ＰＣＤの第２の態様の別の断面図である。
【図６】図６は、ＰＣＤの第３の態様の断面図である。
【図７】図７は、ＰＣＤの第４の態様の断面図である。
【図８】図８は、ＰＣＤで３Ｄ仮想オブジェクトを制御する方法の第１の態様を示すフローチャートである。
【図９】図９は、ＰＣＤで３Ｄ仮想オブジェクトを制御する方法の第２の態様の第１の部分を示すフローチャートである。
【図１０】図１０は、ＰＣＤで３Ｄ仮想オブジェクトを制御する方法の第２の態様の第２の部分を示すフローチャートである。
【図１１】図１１は、ＰＣＤで３Ｄ仮想オブジェクトを制御する方法の第２の態様の第３の部分を示すフローチャートである。
【図１２】図１２は、ＰＣＤで３Ｄ仮想オブジェクトを制御する方法の第２の態様の第４の部分を示すフローチャートである。
【図１３】図１３は、ＰＣＤで３Ｄ仮想オブジェクトを制御する方法の第２の態様の第５の部分を示すフローチャートである。
【図１４】図１４は、ＰＣＤで３Ｄ仮想オブジェクトを制御する方法の第２の態様の第６の部分を示すフローチャートである。
【図１５】図１５は、ＰＣＤで３Ｄ仮想オブジェクトを制御する方法の第２の態様の第７の部分を示すフローチャートである。
【図１６】図１６は、ＰＣＤで３Ｄ仮想オブジェクトを制御する方法の第２の態様の第８の部分を示すフローチャートである。
【図１７】図１７は、ＰＣＤディスプレイ上で前へ移動する３Ｄ仮想オブジェクトを示す図である。
【図１８】図１８は、ＰＣＤディスプレイ上で後ろへ移動する３Ｄ仮想オブジェクトを示す図である。
【図１９】図１９は、ＰＣＤディスプレイ上で左へ移動する３Ｄ仮想オブジェクトを示す図である。
【図２０】図２０は、ＰＣＤディスプレイ上で右へ移動する３Ｄ仮想オブジェクトを示す図である。
【図２１】図２１は、ＰＣＤディスプレイ上で上へ移動する３Ｄ仮想オブジェクトを示す図である。
【図２２】図２２は、ＰＣＤディスプレイ上で下へ移動する３Ｄ仮想オブジェクトを示す図である。
【図２３】図２３は、ＰＣＤディスプレイ上で回転する３Ｄ仮想オブジェクトを示す図である。
【図２４】図２４は、ＰＣＤディスプレイ上でスクイーズされる３Ｄ仮想オブジェクトを示す図である。
【図２５】図２５は、ＰＣＤディスプレイ上で斜めに移動する３Ｄ仮想オブジェクトを示す図である。
【発明を実施するための形態】
【０００６】
単語「例示的」は、「一例、例、または例示として機能すること」を意味するために、本明細書では使用される。「例示的」として本明細書に記載されている何れの態様も、他の態様に対して好ましいまたは有利と解釈されるべきではない。
【０００７】
本明細書では、用語「アプリケーション」もまた、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、及びパッチなど、実行可能なコンテンツを持つファイルを含むことができる。さらに、本明細書で言う「アプリケーション」は、また、開く必要があり得る文書またはアクセスする必要がある他のデータファイルなど、自然に実行可能ではないファイルを含むこともできる。
【０００８】
用語「コンテンツ」もまた、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、及びパッチなど、実行可能なコンテンツを持つファイルを含むことができる。さらに、本明細書で言う「コンテンツ」は、また、開く必要があり得る文書またはアクセスする必要がある他のデータファイルなど、自然に実行可能ではないファイルを含むこともできる。
【０００９】
この説明で使用されているような、用語「コンポーネント」、「データベース」、「モジュール」、「システム」、等々は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェア、の何れかである、コンピュータ関連エンティティを参照するように意図されている。例えば、コンポーネントは、プロセッサ上で実行するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、及び／またはコンピュータであり得るが、それに限定されるものではない。例示として、コンピューティングデバイス上で実行するアプリケーションとコンピューティングデバイスとの両方は、コンポーネントであり得る。１つ以上のコンポーネントがプロセス及び／または実行のスレッド内に存在することができ、コンポーネントは、1台のコンピュータ上でローカライズされる及び／または２つ以上のコンピュータ間で分配されることができる。さらに、これらのコンポーネントは、その上に格納された様々なデータ構造を持つ様々なコンピュータ可読媒体から実行することができる。コンポーネントは、１つ以上のデータパケット（例えば、ローカルシステムの、分散システムの、及び／または信号による他のシステムとのインターネットなどのネットワークのいたるところの、別のコンポーネントと相互作用する１つのコンポーネントからのデータ）を持つ信号に従うなど、ローカル／リモートのプロセスによって通信することができる。
【００１０】
初めに図１及び図２を参照すると、例示的なポータブルコンピューティングデバイス（ＰＣＤ）が示され、概して１００を指定されている。示されるように、ＰＣＤ１００は、ハウジング１０２を含むことができる。ハウジング１０２は、上側ハウジング部１０４と、下側ハウジング部１０６と、を含むことができる。図１は、上側ハウジング部１０４がディスプレイ１０８を含むことができることを示している。特定の態様においては、ディスプレイ１０８は、タッチスクリーンディスプレイであることができる。上側ハウジング部１０４は、トラックボール入力デバイス１１０を含むことができる。さらに、図１に示すように、上側ハウジング部１０４は、電源オンボタン１１２と、電源オフボタン１１４と、を含むことができる。図１に示すように、ＰＣＤ１００の上側ハウジング部１０４は、複数のインジケータランプ１１６と、スピーカ１１８と、を含むことができる。各インジケータランプ１１６は、発光ダイオード（ＬＥＤ）であることができる。
【００１１】
図２に示すように、特定の態様においては、上側ハウジング部１０４は、下側ハウジング部１０６に対して移動可能である。具体的には、上側ハウジング部１０４は、下側ハウジング部１０６に対して相対的に摺動可能であることができる。図２に示すように、下側ハウジング部１０６は、マルチボタンキーボード１２０を含むことができる。特定の態様では、マルチボタンキーボード１２０は、標準的なＱＷＥＲＴＹキーボードであることができる。マルチボタンキーボード１２０は、上側ハウジング部１０４が下側ハウジング部１０６と相対的に移動されたときに見えるようになることができる。図２はさらに、ＰＣＤ１００が下側ハウジング部１０６上にリセットボタン１２２を含むことができることを示している。
【００１２】
図３を参照すると、ポータブルコンピューティングデバイス（ＰＣＤ）の例示的な、非限定的な態様が示されており、概して３２０を指定されている。示されるように、ＰＣＤ３２０は、互いに結合されたデジタル信号プロセッサ３２４とアナログ信号プロセッサ３２６とを含む、オンチップシステム３２２を含む。オンチップシステム３２２は、２つ以上のプロセッサを含むことができる。例えば、オンチップシステム３２２は、図３２と共に以下に説明されるように、４コアプロセッサ、例えばＡＲＭ  １１プロセッサを含むことができる。
【００１３】
図３に示すように、デジタル信号プロセッサ３２４には、ディスプレイコントローラ３２８とタッチスクリーンコントローラ３３０とが結合されている。これらディスプレイコントローラ３２８とタッチスクリーンコントローラ３３０には、オンチップシステム３２２外部のタッチスクリーンディスプレイ３３２が結合されている。
【００１４】
図３はさらに、ビデオエンコーダ３３４、例えば、位相反転線（ＰＡＬ）エンコーダ、順次式カラーメモリ（ＳＥＣＡＭ）エンコーダ、または全米テレビジョン放送方式標準化委員会（ＮＴＳＣ）エンコーダが、デジタル信号プロセッサ３２４に結合されることを示している。さらに、ビデオアンプ３３６が、ビデオエンコーダ３３４とタッチスクリーンディスプレイ３３２とに結合されている。また、ビデオポート３３８が、ビデオアンプ３３６に結合されている。図３に示すように、ユニバーサルシリアルバス（ＵＳＢ）コントローラ３４０が、デジタル信号プロセッサ３２４に結合されている。また、ＵＳＢポート３４２が、ＵＳＢコントローラ３４０に結合されている。メモリ３４４及び加入者識別モジュール（ＳＩＭ）カード３４６もまた、デジタル信号プロセッサ３２４に結合されることができる。さらに、図３に示すように、デジタルカメラ３４８が、デジタル信号プロセッサ３２４に結合されることができる。例示的な態様では、デジタルカメラ３４８は、電荷結合素子（ＣＣＤ）カメラまたは相補型金属酸化膜半導体（ＣＭＯＳ）カメラである。
【００１５】
図３にさらに示すように、ステレオオーディオＣＯＤＥＣ３５０が、アナログ信号プロセッサ３２６に結合されることができる。さらに、オーディオアンプ３５２が、ステレオオーディオＣＯＤＥＣ３５０に結合されることができる。例示的な態様では、第１のステレオスピーカ３５４及び第２のステレオスピーカ３５２が、オーディオアンプ３５２に結合される。図３は、マイクアンプ３５８もまた、ステレオオーディオＣＯＤＥＣ３５０に結合されることができることを示している。さらに、マイクロホン３６０が、マイクアンプ３５８に結合されることができる。特定の態様では、周波数変調（ＦＭ）ラジオチューナ３６２が、ステレオオーディオＣＯＤＥＣ３５０に結合されることができる。また、ＦＭアンテナ３６４が、ＦＭラジオチューナ３６２に結合されている。さらに、ステレオヘッドホン３６６が、ステレオオーディオＣＯＤＥＣ３５０に結合されることができる。
【００１６】
図３はさらに、無線周波数（ＲＦ）トランシーバ３６８が、アナログ信号プロセッサ３２６に結合されることができることを示している。ＲＦスイッチ３７０が、ＲＦトランシーバ３６８とＲＦアンテナ３７２とに結合されることができる。図３に示すように、キーパッド３７４が、アナログ信号プロセッサ３２６に結合されることができる。また、マイクロホン付きモノラルヘッドセット３７６が、アナログ信号プロセッサ３２６に結合されることができる。さらに、バイブレータデバイス３７８が、アナログ信号プロセッサ３２６に結合されることができる。図３はまた、電源３８０がオンチップシステム３２２に結合されることができることを示している。特定の態様において、電源３８０は、電力を必要とするＰＣＤ３２０の様々なコンポーネントに電力を供給する直流（ＤＣ）電源である。さらに、特定の態様では、電源は、充電式ＤＣバッテリであるか、または、ＡＣ電源に接続されたＤＣトランスへの交流（ＡＣ）電流から導出されるＤＣ電源である。
【００１７】
図３は、ＰＣＤ３２０が、３Ｄタッチコントローラ３８２を含むことができることを示している。３Ｄタッチコントローラ３８２は、スタンドアロンのコントローラであることができ、または、メモリ３４４内のソフトウェアコントローラであることもできる。さらに、３Ｄタッチコントローラ３８２は、単独で、または、プロセッサ３２４、３２６と共に、本明細書に記載の方法ステップの何れかまたは複数を実行するための手段として機能することができる。
【００１８】
図３はさらに、ＰＣＤ３２０がまた、触覚フィードバックシステム３８４を含むことができることを示している。触覚フィードバックシステム３８４は、ユーザが３Ｄ仮想オブジェクトの移動を制御する際にユーザに触覚フィードバックを提供するために使用されることができる。本明細書に記載された各種センサは、それに組み込まれた触覚出力デバイスを含むことができ、該触覚出力デバイスは、ユーザが３Ｄ仮想オブジェクトを掴んだ際にユーザにタッチフィードバックを与えるために使用されることができる。触覚出力デバイスは、圧電アクチュエータ、振動触覚アクチュエータ、またはそれらの組み合わせを含むことができる。例えば、触覚出力デバイスは、様々な位置で３Ｄ仮想オブジェクトの感触や造形をシミュレートする、ユーザの親指と人差し指上にタッチ感覚を作り出すことができる。
【００１９】
図３に示すように、タッチスクリーンディスプレイ３３２、ビデオポート３３８、ＵＳＢポート３４２、カメラ３４８、第１のステレオスピーカ３５４、第２のステレオスピーカ３５６、マイクロホン３６０、ＦＭアンテナ３６４、ステレオヘッドホン３６６、ＲＦスイッチ３７０、ＲＦアンテナ３７２、テンキー３７４、モノラルヘッドセット３７６、バイブレータ３７８、及び電源３８０は、オンチップシステム３２２の外部にある。
【００２０】
特定の態様において、本明細書に記載の方法ステップの何れかまたは複数は、コンピュータプログラム命令としてメモリ３４４に格納されることができる。これらの命令は、本明細書に記載の方法を実行するために、プロセッサ３２４、３２６によって実行されることができる。さらに、プロセッサ３２４、３２６、メモリ３４４は、３Ｄタッチコントローラ３８２、ディスプレイコントローラ３２８、タッチスクリーンコントローラ３３０、またはこれらの組み合わせは、ディスプレイ／タッチスクリーン３３２に表示された仮想キーボードを制御するために本明細書に記載の方法ステップの何れかまたは複数を実行するための手段として機能することができる。
【００２１】
図４及び図５は、概して４００を指定されたＰＣＤの別の態様を示している。図４及び図５は、断面でＰＤＣ４００を示している。示されるように、ＰＤＣ４００は、ハウジング４０２を含むことができる。特定の態様において、図３と併せて示されるエレメントの何れかまたは複数は、内部ハウジング４０２内に配置される、あるいは設置されることができる。しかしながら、明快化のために、それに接続されたプロセッサ４０４及びメモリ４０６のみが、ハウジング４０２内に示されている。
【００２２】
図４及び図５は、上部タッチ／押圧センサ４１０及び下部タッチ／押圧センサ４１２が、ハウジング４０２内に設置される、あるいはハウジング４０２上に配置されることができることを示している。さらに、左タッチ／押圧センサ４１４及び右タッチ／押圧センサ４１６が、ハウジング４０２内に設置される、あるいはハウジング４０２上に配置されることができる。図５はさらに、ＰＤＣ４００が、ハウジング４０２内に設置される、あるいはハウジング４０２上に配置されることができる、前面タッチ／押圧センサ４１８及び背面タッチ／押圧センサ４２０を含むことができることを示している。特定の実施形態では、前面タッチ／押圧センサ４１８は、タッチ反応ディスプレイであることができる。タッチ／押圧センサ４１０、４１２、４１４、４１６、４１８、４２０は、３Ｄセンサアレイとして機能することができる。さらに、３Ｄ仮想オブジェクトが表示されると、３Ｄセンサアレイが始動させられることができ、本明細書に記載の何れかまたは複数の方法に従って、３Ｄ仮想オブジェクトの能動的な制御を提供することができる。３Ｄタッチコントローラ（または別のコントローラ／プロセッサ）と共に、３Ｄセンサアレイは、ＰＣＤ４００上の押圧、タッチ、リリース、スクイーズ、スライド、フリック、バンプ、等々を検出するための手段として機能することができる。
【００２３】
図６は、概して６００を指定されたＰＣＤのさらに別の態様を示している。図６は、断面でＰＣＤ６００を示している。示されるように、ＰＣＤ６００は、ハウジング６０２を含むことができる。特定の態様において、図３と共に示されるエレメントの何れかまたは複数は、内部ハウジング６０２内に配置される、あるいは設置されることができる。しかしながら、明快化のために、それに接続されたプロセッサ６０４及びメモリ６０６のみが、ハウジング６０２内に示されている。
【００２４】
さらに、ＰＤＣ６００は、ハウジング６０２の外周面上に配置された押圧反応層６０８を含むことができる。特定の実施形態では、押圧反応層６０８は、ハウジング６０２上に堆積された、あるいは配置された、圧電材料を含むことができる。押圧反応層６０８は、３Ｄセンサアレイとして機能することができ、ＰＣＤ上の様々な場所上のタッチを検出するために使用されることができる。さらに、３Ｄ仮想オブジェクトが表示されると、３Ｄセンサアレイが始動させられることができ、本明細書中に記載の何れか又は複数の方法に従って、３Ｄ仮想オブジェクトの能動的な制御を提供することができる。３Ｄタッチコントローラ（または別のコントローラ／プロセッサ）と共に、３Ｄセンサアレイは、ＰＣＤ７００上の押圧、タッチ、リリース、スクイーズ、スライド、フリック、バンプ、等々を検出するための手段として機能することができる。
【００２５】
図７は、概して７００を指定されたＰＣＤの別の態様を示している。図７は、断面で、ＰＣＤ７００を示している。示されるように、ＰＣＤ７００は、ハウジング７０２を含むことができる。特定の態様においては、図３と共に示されるエレメントの何れかまたは複数は、内部ハウジング７０２内に配置される、あるいは設置されることができる。しかしながら、明確化のために、それに接続されたプロセッサ７０４及びメモリ７０６のみが、ハウジング７０２内に示されている。
【００２６】
さらに、ＰＣＤ７００は、ＰＣＤ７００内にプロセッサ７０４に接続された第１のジャイロスコープ７０８と、第２ジャイロスコープ７１０と、加速度計７１２と、を含むことができる。ジャイロスコープ７０８、７１０及び加速度計７１２は、ＰＣＤがバンプされたとき及びＰＣＤがバンプされた方向を検出するために使用されることができる。３Ｄ仮想オブジェクトが表示されると、ジャイロスコープ７０８、７１０及び加速度計７１２は、本明細書中に記載の何れか又は複数の方法に従って、３Ｄ仮想オブジェクトの能動的な制御を提供することができる。３Ｄタッチコントローラ（または別のコントローラ／プロセッサ）と共に、ジャイロスコープ７０８、７１０及び加速度計７１２は、ＰＣＤ７００でのバンプ、シェイク、他の移動、等々を検出するための手段として機能することができる。さらに、ジャイロスコープ７０８、７１０及び加速度計７１２は、バンプに関する力を検出し、決定することができる。
【００２７】
図８を参照すると、３Ｄ仮想オブジェクトの３次元制御を行う方法の第１の態様が、示されており、概して８００を指定されている。ブロック８０２で開始すると、３Ｄ仮想オブジェクトが表示されているときにｄｏループが入られることができ、以下のステップが実行されることができる。ブロック９０４で、例えば、コントローラ、プロセッサ、またはそれらの組み合わせによって、３Ｄタッチセンサアレイが始動させられることができる。
【００２８】
判断８０６に移り、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの背面から押圧が検出されたかどうかを決定することができる。もしそうならば、方法８００は、ブロック８０８に続くことができ、ユーザが３Ｄ仮想オブジェクトを押しているかのように、３Ｄ仮想オブジェクトが押圧を検知しているセンサから離れる方向に移動することができる。判断８１０で、３Ｄタッチコントローラは、リリースが検出されたかどうかを決定することができる、すなわち、３Ｄタッチコントローラは、ユーザがまだ３Ｄタッチセンサアレイのセンサにタッチしているかどうかを決定することができる。リリースが検出されない場合、方法８００は、ブロック８０８に戻ることができ、３Ｄ仮想オブジェクトがディスプレイ中を移動し続けることができる。これに対して、リリースが検出された場合には、３Ｄ仮想オブジェクトは、ブロック８１２で、ディスプレイ中での移動を停止することができる。その後、方法９００は、判断８１４に続くことができる。
【００２９】
判断８０６に戻って、押圧が検出されない場合は、方法８００は、判断８１４に直接進むことができる。判断８１４で、３Ｄタッチコントローラは、バンプが３Ｄタッチセンサアレイ上で検出されたかどうかを決定することができる。３Ｄタッチコントローラは、それに接続された加速度計とジャイロとを使用して、バンプが検出されたかどうかを決定することができる。さらに、３Ｄタッチコントローラは、加速度計とジャイロとを使用して、バンプに関する力とバンプの方向とを決定することができる。判断８１４に戻って、バンプが３Ｄタッチセンサアレイの背面から検出された場合には、方法８００は、ブロック８１６に続くことができ、３Ｄ仮想オブジェクトは、バンプに対応する、例えば、バンプに関する力に応じた距離だけ、そのバンプの位置から離れる方向にディスプレイ中を移動することができる。その後、方法８００は、判断８１８に移ることができる。
【００３０】
判断８１４に戻って、バンプが３Ｄタッチセンサアレイの背面から検出されない場合には、方法８００は、判断８１８に直接移動することができる。判断８１８で、３Ｄタッチコントローラは、３Ｄオブジェクトが閉じられたかどうか、すなわち、３Ｄオブジェクトがもはや表示されていないかどうか、を決定することができる。もしそうでなければ、方法８００は、判断８０６に戻ることができ、方法８００は、本明細書に記載されたように続けることができる。これに対して、３Ｄオブジェクトが閉じられているならば、方法８００は、終了することができる。
【００３１】
次に図９を参照すると、３Ｄ仮想オブジェクトの３次元制御を提供する方法の第２の態様が、示されており、概して９００を指定されている。ブロック９０２で始まると、３Ｄ仮想オブジェクトが表示されているときにｄｏループが入られることができ、以下のステップが実行されることができる。ブロック９０４で、例えば、コントローラ、プロセッサ、またはそれらの組み合わせによって、３Ｄタッチセンサアレイが始動させられることができる。
【００３２】
判断９０６に移り、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの背面から押圧が検出されたかどうかを決定することができる。もしそうならば、方法９００は、ブロック９０８に続くことができ、ユーザが３Ｄ仮想オブジェクトを背後から押しているかのように、３Ｄ仮想オブジェクトは、ディスプレイ中で前へ移動されることができる。判断９１０で、３Ｄタッチコントローラは、リリースが検出されたかどうか決定することができる、すなわち、３Ｄタッチコントローラは、ユーザがまだ３Ｄタッチセンサアレイの背面センサをタッチしているかどうかを決定することができる。リリースが検出されない場合、方法９００は、ブロック９０８に戻ることができ、３Ｄ仮想オブジェクトは、ディスプレイ中で前方に移動し続けることができる。これに対して、リリースが検出された場合には、３Ｄ仮想オブジェクトは、ブロック９１２で、ディスプレイ中で前に移動することを停止することができる。その後、方法９００は、判断９１４に続くことができる。
【００３３】
判断９０６に戻って、背面から押圧が検出されない場合は、方法９００は、判断９１４に直接進むことができる。判断９１４で、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの前面から押圧が検出されたかどうかを決定することができる。もしそうならば、方法９００は、ブロック９１６に続くことができ、３Ｄ仮想オブジェクトは、ユーザが前面から３Ｄ仮想オブジェクトを押しているかのように、ディスプレイ中で後ろに移動されることができる。判断９１８で、３Ｄタッチコントローラは、リリースが検出されたかどうかを決定することができる、すなわち、３Ｄタッチコントローラは、ユーザがまだ３Ｄタッチセンサアレイの前面センサをタッチしているかどうかを決定することができる。リリースが検出されない場合、方法９００は、ブロック９１６に戻ることができ、３Ｄ仮想オブジェクトがディスプレイ中で後方に移動し続けることができる。これに対して、リリースが検出された場合には、３Ｄ仮想オブジェクトは、ブロック９２０で、ディスプレイ中で後ろに移動することを停止することができる。その後、方法９００は、図１０の判断１００２に続けることができる。判断９１４に戻って、前面から押圧が検出されない場合は、方法９００は、図１０の判断１００３に直接進むことができる。
【００３４】
図１０の判断１００２で、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの左から押圧が検出されたかどうかを決定することができる。もしそうならば、方法９００は、ブロック１００４に続くことができ、ユーザが３Ｄ仮想オブジェクトを左から押しているかのように、３Ｄ仮想オブジェクトは、ディスプレイ中で右に移動されることができる。判断１００６に移り、３Ｄタッチコントローラは、リリースが検出されたかどうか決定することができる、すなわち、３Ｄタッチコントローラは、ユーザがまだ３Ｄタッチセンサアレイの左センサをタッチしているかどうかを決定することができる。リリースが検出されない場合、方法９００は、ブロック１００４に戻ることができ、３Ｄ仮想オブジェクトは、ディスプレイ中で右に移動し続けることができる。これに対して、リリースが検出された場合には、３Ｄ仮想オブジェクトは、ブロック１００８で、ディスプレイ中で右に移動することを停止することができる。その後、方法９００は、図１０の判断１０１０に続くことができる。判断１００２に戻って、左から押圧が検出されない場合は、方法９００は、判断１０１０に直接進むことができる。
【００３５】
図１０の判断１０１０で、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの右から押圧が検出されたかどうかを決定することができる。もしそうならば、方法９００は、ブロック１０１２に続くことができ、ユーザが３Ｄ仮想オブジェクトを右から押しているかのように、３Ｄ仮想オブジェクトは、ディスプレイ中で左に移動されることができる。判断１０１４に移り、３Ｄタッチコントローラは、リリースが検出されたかどうか決定することができる、すなわち、３Ｄタッチコントローラは、ユーザがまだ３Ｄタッチセンサアレイの右センサをタッチしているかどうかを決定することができる。リリースが検出されない場合、方法９００は、ブロック１０１２に戻ることができ、３Ｄ仮想オブジェクトは、ディスプレイ中で左に移動し続けることができる。これに対して、リリースが検出された場合には、３Ｄ仮想オブジェクトは、ブロック１０１６で、ディスプレイ中で左に移動することを停止することができる。その後、方法９００は、図１１の判断１１０２に続くことができる。判断１０１０に戻って、左から押圧が検出されない場合は、方法９００は、図１１の判断１１０２に直接進むことができる。
【００３６】
図１１の判断１１０２に移って、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの下部から押圧が検出されたかどうかを決定することができる。もしそうならば、方法９００は、ブロック１１０４に続くことができ、ユーザが３Ｄ仮想オブジェクトを下部から押しているかのように、３Ｄ仮想オブジェクトは、ディスプレイ中で上に移動されることができる。判断１１０６に移り、３Ｄタッチコントローラは、リリースが検出されたかどうか決定することができる、すなわち、３Ｄタッチコントローラは、ユーザがまだ３Ｄタッチセンサアレイの下部センサをタッチしているかどうかを決定することができる。リリースが検出されない場合、方法９００は、ブロック１１０４に戻ることができ、３Ｄ仮想オブジェクトは、ディスプレイ中で上に移動し続けることができる。これに対して、リリースが検出された場合には、３Ｄ仮想オブジェクトは、ブロック１１０８で、ディスプレイ中で上に移動することを停止することができる。その後、方法９００は、判断１１１０に続くことができる。判断１１０２に戻って、左から押圧が検出されない場合は、方法９００は、判断１１１０に直接進むことができる。
【００３７】
図１１の判断１１１０で、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの上部から押圧が検出されたかどうかを決定することができる。もしそうならば、方法９００は、ブロック１１１２に続くことができ、ユーザが３Ｄ仮想オブジェクトを上部から押しているかのように、３Ｄ仮想オブジェクトは、ディスプレイ中で下に移動されることができる。判断１１４に移り、３Ｄタッチコントローラは、リリースが検出されたかどうか決定することができる、すなわち、３Ｄタッチコントローラは、ユーザがまだ３Ｄタッチセンサアレイの上部センサをタッチしているかどうかを決定することができる。リリースが検出されない場合、方法９００は、ブロック１１１２に戻ることができ、３Ｄ仮想オブジェクトは、ディスプレイ中で下に移動し続けることができる。これに対して、リリースが検出された場合には、３Ｄ仮想オブジェクトは、ブロック１１１６で、ディスプレイ中で下に移動することを停止することができる。その後、方法９００は、図１２の判断１２０２に続くことができる。判断１１１０に戻って、上から押圧が検出されない場合は、方法９００は、図１２の判断１２０２に直接進むことができる。
【００３８】
図１２の判断１２０２に続いて、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの下部からバンプが検出されたかどうかを決定することができる。３Ｄタッチコントローラは、それに接続された加速度計及びジャイロを使用することによって、バンプが検出されたかどうかを決定することができる。さらに、３Ｄタッチコントローラは、加速度計及びジャイロを使用して、バンプに関する力及びバンプの方向を決定することができる。判断１２０２に戻って、バンプが３Ｄタッチセンサアレイの背面から検出された場合、方法９００は、ブロック１２０４に続くことができ、３Ｄ仮想オブジェクトは、バンプに対応する、例えば、バンプに関する力に対応する距離を、ディスプレイ中で前に移動されることができる。その後、方法９００は、判断１２０６に続くことができる。判断１２０２に戻って、３Ｄタッチセンサアレイの背面からバンプが検出されない場合は、方法９００は、判断１２０６に直接進むことができる。
【００３９】
判断１２０６に移って、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの前方からバンプが検出されたかどうかを決定することができる。もしそうならば、方法９００は、ブロック１２０８に移ることができ、３Ｄ仮想オブジェクトは、バンプに対応する、例えば、バンプに関する力に対応する距離を、ディスプレイ中で後ろに移動されることができる。その後、方法９００は、判断１２１０に移ることができる。判断１２０６に戻って、３Ｄタッチセンサアレイの前面からバンプが検出されない場合は、方法９００は、判断１２１０に直接移ることができる。
【００４０】
判断１２１０で、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの左からバンプが検出されたかどうかを決定することができる。もしそうならば、方法９００は、ブロック１２１２に移ることができ、３Ｄ仮想オブジェクトは、バンプに対応する、例えば、バンプに関する力に対応する距離を、ディスプレイ中で右に移動されることができる。その後、方法９００は、図１３の判断１３０２に移ることができる。判断１２１０に戻って、３Ｄタッチセンサアレイの左からバンプが検出されない場合は、方法９００は、図１３の判断１３０２に直接移ることができる。
【００４１】
次に図１３の判断１３０２を参照すると、判断１３０２で、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの右からバンプが検出されたかどうかを決定することができる。もし３Ｄタッチセンサアレイの右からバンプが検出されたならば、方法９００は、ブロック１３０４に続くことができ、３Ｄ仮想オブジェクトは、バンプに対応する、例えば、バンプに関する力に対応する距離を、ディスプレイ中で左に移動されることができる。その後、方法９００は、判断１３０６に移ることができる。判断１３０２に戻って、３Ｄタッチセンサアレイの右からバンプが検出されない場合は、方法９００は、判断１３０６に直接移ることができる。
【００４２】
判断１３０６で、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの上部からバンプが検出されたかどうかを決定することができる。もしそうならば、方法９００は、ブロック１３０８に続くことができ、３Ｄ仮想オブジェクトは、バンプに対応する、例えば、バンプに関する力に対応する距離を、ディスプレイ中で下方に移動されることができる。次に、方法９００は、判断１３１０に移ることができる。判断１３０６に戻って、３Ｄタッチセンサアレイの上部からバンプが検出されない場合は、方法９００は、判断１３１０に直接移ることができる。
【００４３】
判断１３１０に進んで、３Ｄタッチコントローラは、３Ｄタッチセンサアレイの下部からバンプが検出されたかどうかを決定することができる。もしそうならば、方法９００は、ブロック１３１２に移ることができ、３Ｄ仮想オブジェクトは、バンプに対応する、例えば、バンプに関する力に対応する距離を、ディスプレイ中で上に移動されることができる。その後、方法９００は、図１４の判断１４０２に移ることができる。判断１３１０に戻って、３Ｄタッチセンサアレイの下部からバンプが検出されない場合は、方法９００は、図１４の判断１４０２に直接移ることができる。
【００４４】
図１４の判断１４０２で、３Ｄタッチコントローラは、反対方向のセンサタッチが検出されたかどうかを決定することができる。反対方向のセンサタッチは、実質的に同時に上部及び下部センサを、実質的に同時に左及び右センサを、または実質的に同時に前面及び背面センサを、ユーザがタッチすることを含むことができる。反対方向のセンサタッチが検出されたならば、方法９００は、ブロック１４０４に移ることができ、３Ｄタッチセンサは、３Ｄ仮想オブジェクトに、ディスプレイ中で仮想的に掴まれることを許すことができる。反対方向のセンサタッチが検出されないならば、方法９００は、詳細に以下に記述される、図１６の判断１６１６に直接進むことができる。
【００４５】
判断１４０６に移り、３Ｄタッチコントローラは、センサの一方又は両方でクイックスライドが検出されたかどうかを決定することができる。クイックスライドは、フリック動作と同様のものである。クイックスライドが判断１４０６で検出された場合は、方法９００は、ブロック１４０８に移ることができ、３Ｄ仮想オブジェクトは、クイックスライドの速度に基づいてクイックスライド動きの方向に垂直である軸周りにスピンすることができる。軸は、前面から背面へ、上から下へ、または左から右へ、であることができる。ブロック１４０８から、方法９００は、判断１４１０に移ることができる。判断１４０６に戻って、クイックスライドが検出されない場合は、方法９００は、判断１４１０に直接進むことができる。
【００４６】
判断１４１０で、３Ｄタッチコントローラは、反対方向の動作が両方のセンサで検出されたかどうかを決定することができる。もしそうならば、方法９００は、ブロック１４１２に移ることができ、３Ｄ仮想オブジェクトは、動作の方向に垂直である軸周りに回転されることができる。軸は、前面から背面へ、上から下へ、または左から右へ、であることができる。次に、判断１４１４で、３Ｄタッチコントローラは、上記動作が停止されたかどうか決定することができる。もしそうでなければ、方法９００は、ブロック１４１２に戻ることができ、３Ｄ仮想オブジェクトは、中心軸周りに回転し続けることができる。もし上記動作が停止されたならば、方法９００は、ブロック１４１６に進むことができ、３Ｄ仮想オブジェクトの対応する回転は、停止することができる。その後、方法９００は、図１５の判断１５０２に進むことができる。判断１４１０に戻って、反対方向の動作がセンサで検出されない場合には、方法９００は、図１５の判断１５０２に直接移ることができる。
【００４７】
次に、図１５を参照すると、判断１５０２で、３Ｄタッチコントローラは、一方向動作が両方のセンサで検出されたかどうか決定することができる。もしそうならば、方法９００は、ブロック１５０４へ移ることができ、３Ｄ仮想オブジェクトは、動作の方向に平行である軸に沿って、スライドされることができる。軸は、前面から背面へ、上から下へ、または左から右へ、であることができる。判断１５０６で、３Ｄタッチコントローラは、上記動作が停止されたかどうかを決定することができる。もしそうでなければ、方法９００は、ブロック１５０４に戻ることができ、３Ｄ仮想オブジェクトは、軸に沿ってスライドし続けることができる。上記動作が停止されたならば、方法９００は、ブロック１５０８に進むことができ、３Ｄ仮想オブジェクトの対応するスライドは、停止することができる。その後、方法９００は、判断１５１０に進むことができる。判断１５０２に戻って、一方向動作がセンサで検出されない場合には、方法９００は、判断１５１０へ直接移ることができる。
【００４８】
判断１５１０で、３Ｄタッチコントローラは、センサのうちの一つで動作が検出されたかどうか決定することができる。もしそうならば、方法９００は、ブロック１５１２に移り、３Ｄ仮想オブジェクトは、動作が検出されたセンサの反対側にある３Ｄ仮想オブジェクトの、表面、または側面周りを回転されることができる。次に、判断１５１４で、３Ｄタッチコントローラは、動作が停止されたかどうか決定することができる。もしそうでなければ、方法９００は、ブロック１５１２に戻ることができ、３Ｄ仮想オブジェクトは、本明細書に記載されたように回転し続けることができる。上記動作が停止されたならば、方法９００は、ブロック１５１６に進むことができ、３Ｄ仮想オブジェクトの対応する回転は、停止することができる。その後、方法９００は、図１６の判断１６０２に進むことができる。判断１５１０に戻って、センサのうちの一つで動作が検出されない場合は、方法９００は、図１６の判断１６０２に直接移ることができる。
【００４９】
図１６の判断１６０２に続いて、３Ｄタッチコントローラは、スクイーズが検出されたかどうか決定することができる。言い換えれば、３Ｄタッチコントローラは、２つの対向したセンサ上への長期の接触が、動きなしに存在するかどうかを判断することができる。あるいは、３Ｄタッチコントローラは、ユーザが対向したセンサを押圧しているかどうか判断することができる。スクイーズが検出された場合、方法９００は、ブロック１６０４に移ることができ、３Ｄ仮想オブジェクトは、仮想的にスクイーズされることができる、すなわち、３Ｄ仮想オブジェクトの形状が、２つのオブジェクト間で仮想的にスクイーズされているかのように、変更されることができる。
【００５０】
判断１６０６に移って、３Ｄタッチコントローラは、検出されたスクイーズが終了したかどうか、すなわち、ユーザが両方のセンサから彼または彼女の指をリリースしたかどうかを判断することができる。スクイーズジェスチャが終了していない場合には、方法９００は、ブロック１６０４に戻ることができ、３Ｄ仮想オブジェクトは、スクイーズされ続けることができる。スクイーズジェスチャが停止されたならば、方法９００は、ブロック１６０８に進むことができ、３Ｄ仮想オブジェクトの仮想的なスクイーズは、終了する、あるいは停止することができる。
【００５１】
その後、判断１６１０で、３Ｄタッチコントローラは、３Ｄ仮想オブジェクトが弾性であるかどうか判断することができる。３Ｄ仮想オブジェクトの弾力性は、ユーザによって、ソフトウェアプログラムによって、ソフトウェアプログラマによって、またはそれらの組み合わせによって、決定されることができる。３Ｄ仮想オブジェクトが弾性でない場合、方法９００は、ブロック１６１２へ移ることができ、３Ｄ仮想オブジェクトの新しい形状は、維持されることができる。３Ｄ仮想オブジェクトが弾性である場合、方法９００は、ブロック１６１４に移ることができ、３Ｄ仮想オブジェクトの形状は、そのオリジナル形状に戻ることができる。ブロック１６１２及びブロック１６１４から、方法９００は、判断１６１６に続くことができる。
【００５２】
判断１６１６で、３Ｄタッチコントローラは、隣接するセンサで、例えば、左センサと上部センサ、左センサと下部センサ、左センサと背面センサ、左センサと前面センサ、右センサと上部センサ、右センサと下部センサ、右センサと背面センサ、右センサと前面センサ、またはそれらの組み合わせ、でタッチが検出されたかどうか決定することができる。タッチが隣接するセンサで検出されたならば、方法９００は、ブロック１６１８に進むことができ、３Ｄ仮想オブジェクトは、ユーザが仮想的にオブジェクトをピンチしているかのように、それら隣接するセンサから斜めに離れる方向に移動することができる。次に、方法９００は、判断１６２０に移ることができる。判断１６１６に戻って、タッチが隣接するセンサで検出されない場合には、方法９００は、決定１６２０に直接移ることができ、本明細書に記載されたように続けることができる。
【００５３】
判断１６２０で、３Ｄタッチコントローラは、３Ｄオブジェクトが閉じられたかどうか、すなわち、３Ｄオブジェクトがもはや表示されていないかどうか、決定することができる。もしそうでなければ、方法９００は、図９の判断９０６に戻ることができる。これに対して、３Ｄオブジェクトが閉じられたならば、方法９００は、終了することができる。
【００５４】
図１７は、その上に表示された３Ｄ仮想オブジェクト１７０２を有するＰＣＤ１７００を示している。３Ｄ仮想オブジェクト１７０２は、破線で示された第１の位置と、実線で示された第２の位置と、に示されている。示されるように、３Ｄ仮想オブジェクト１７０２は、背面センサへの押圧、背面センサへのバンプ、ＰＣＤ１７００の背面へのバンプ、２つのセンサへの掴みとスライド、またはそれらの組み合わせのため、ディスプレイ中で前方に移動されることができる。
【００５５】
図１８は、その上に表示された３Ｄ仮想オブジェクト１８０２を有するＰＣＤ１８００を示している。３Ｄ仮想オブジェクト１８０２は、破線で示された第１の位置と、実線で示された第２の位置と、に示されている。示されるように、３Ｄ仮想オブジェクト１８０２は、前面センサへの押圧、前面センサへのバンプ、ＰＣＤ１８００の前面へのバンプ、２つのセンサへの掴みとスライド、またはそれらの組み合わせのため、ディスプレイ中で後ろに移動されることができる。
【００５６】
図１９を参照すると、ＰＣＤ１９００は、その上に表示された３Ｄ仮想オブジェクト１９０２を有して図示されている。３Ｄ仮想オブジェクト１９０２は、破線で示された第１の位置と、実線で示された第２の位置と、に示されている。示されるように、３Ｄ仮想オブジェクト１９０２は、左センサへの押圧、左センサへのバンプ、ＰＣＤ１９００の左側へのバンプ、２つのセンサへの掴みとスライド、またはそれらの組み合わせのため、ディスプレイ中で左から右へ移動されることができる。
【００５７】
図２０を参照すると、ＰＣＤ２０００は、その上に表示された３Ｄ仮想オブジェクト２００２を有して図示されている。３Ｄ仮想オブジェクト２００２は、破線で示された第１の位置と、実線で示された第２の位置と、に示されている。示されるように、３Ｄ仮想オブジェクト２００２は、右センサへの押圧、右センサへのバンプ、ＰＣＤ１９００の右側へのバンプ、２つのセンサへの掴みとスライド、またはそれらの組み合わせのため、ディスプレイ中で右から左へ移動されることができる。
【００５８】
図２１は、その上に表示された３Ｄ仮想オブジェクト２１０２を有するＰＣＤ２１００を図示している。３Ｄ仮想オブジェクト２１０２は、破線で示された第１の位置と、実線で示された第２の位置と、に示されている。示されるように、３Ｄ仮想オブジェクト２１０２は、下部センサへの押圧、下部センサへのバンプ、ＰＣＤ２１００の下部へのバンプ、２つのセンサへの掴みとスライド、またはそれらの組み合わせのため、ディスプレイ中で上へ移動されることができる。
【００５９】
図２２は、その上に表示された３Ｄ仮想オブジェクト２２０２を有するＰＣＤ２２００を示している。３Ｄ仮想オブジェクト２２０２は、破線で示された第１の位置と、実線で示された第２の位置と、に示されている。示されるように、３Ｄ仮想オブジェクト２２０２は、上部センサへの押圧、上部センサへのバンプ、ＰＣＤ１９００の上部へのバンプ、２つのセンサへの掴みとスライド、またはそれらの組み合わせのため、ディスプレイ中で下へ移動されることができる。
【００６０】
図２３を参照すると、ＰＣＤ２３００は、その上に表示された３Ｄ仮想オブジェクト２３０２を有して描かれている。示されるように、３Ｄ仮想オブジェクト２３０２は、一つのセンサへのスライド、２つのセンサへの掴みと反対方向のスライド、またはそれらの組み合わせのため、ディスプレイ中で回転されることができる。
【００６１】
次に、図２４を参照すると、ＰＣＤ２４００は、その上に表示された３Ｄ仮想オブジェクト２４０２を有して描写されている。示されるように、３Ｄ仮想オブジェクト２４０２は、押圧され保持されている２つの対向するセンサのため、スクイーズされることができる。３Ｄ仮想オブジェクト２４０２は、本明細書に記載されたように、新しい形状を維持するか、オリジナル形状に戻るか、することができる。
【００６２】
図２５は、その上に表示された３Ｄ仮想オブジェクト２５０２を有するＰＣＤ２５００を示している。３Ｄ仮想オブジェクト２５０２は、破線で示された第１の位置と、実線で示された第２の位置と、に示されている。示されるように、３Ｄ仮想オブジェクト２５０２は、２つの隣接するセンサへの押圧に応答して、ディスプレイ中で斜めに移動されることができる。
【００６３】
本明細書に記載の方法ステップは、記載された順番で実行することは必ずしも必要ではないということを理解すべきである。さらに、「その後」、「そして」、「次」、等々のような言葉は、ステップの順序を制限することを意図されていない。これらの言葉は、方法ステップについての説明を通して読者を導くために使用されているに過ぎない。
【００６４】
本明細書に記載されるような構造の構成で、ユーザは、３Ｄ仮想オブジェクトの動作を制御することができる。ユーザは、３Ｄ仮想オブジェクトを掴み、３Ｄ仮想オブジェクトを回転またはスライドすることができる。さらに、ユーザは、３Ｄ仮想オブジェクトを、ＰＣＤ上の何れかの方向に、押すこと、スライドさせること、またはバンプすることができる。３Ｄ仮想オブジェクトを制御することは、ＰＣＤ上でゲームを遊ぶとき、ＰＣＤ上で他のアプリケーションを動作させるとき、３Ｄメニューアイテムを移動したり制御したりするとき、またはその組み合わせ、に役に立つことができる。さらに、ユーザは、すでに動作中である３Ｄ仮想オブジェクトを掴んで停止することができる。ユーザは、動作中である３Ｄ仮想オブジェクトを掴むために、例えば２つの対向するセンサをタッチすることによる、掴みジェスチャを利用することができる。そして、ユーザは、３Ｄ仮想オブジェクトを停止することができる。また、ユーザは、すでに動作中である３Ｄ仮想オブジェクトを停止するためにセンサをタップすることができる。あるいは、ユーザは、動作中である３Ｄ仮想オブジェクトの動作を変えるために、一つのセンサまたは複数のセンサをタップすることができる。
【００６５】
１つ以上の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装されることができる。ソフトウェアで実装される場合には、機能は、機械可読媒体すなわちコンピュータ可読媒体上に、１つ以上の命令またはコードとして、保存される又は送信されることができる。コンピュータ可読媒体は、ある場所から別の場所にコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体及び通信媒体の両方を含むことができる。記憶媒体は、コンピュータによってアクセスされ得る利用用可能な何れのメディアも含む。限定ではなく、一例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気ストレージデバイス、または、命令またはデータ構造の形で所望のプログラムコードを運ぶまたは格納するために使用されることができ且つコンピュータによってアクセスされることができる任意の他の媒体、を含むことができる。また、どのような接続も、コンピュータ可読媒体と適切に称される。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または、赤外線，ラジオ及びマイクロ波などの無線技術、を使用して、ウェブサイト、サーバ、または他のリモートソースから、ソフトウェアが送信された場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線，ラジオ、マイクロ波などの無線技術は、媒体の定義に含まれる。本明細書中で使用されるようなディスク（disk）及びディスク（disc）は、コンパクトディスク（ＣＤ）、レーザディスク、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、及びブルーレイディスクを含み、ここで、ディスク（disk）は通常は磁気的にデータを再生し、ディスク（disc）はレーザで光学的にデータを再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００６６】
選択した態様が示され、詳細に記載されているとはいえ、以下の特許請求の範囲によって定義されているように、本発明の精神及び範囲から逸脱することなしに、様々な置換および改変がなされ得ることが理解されるであろう。
【図１】
2013511773.tif 000003
【図２】
2013511773.tif 000004
【図３】
2013511773.tif 000005
【図４】
2013511773.tif 000006
【図５】
2013511773.tif 000007
【図６】
2013511773.tif 000008
【図７】
2013511773.tif 000009
【図８】
2013511773.tif 000010
【図９】
2013511773.tif 000011
【図１０】
2013511773.tif 000012
【図１１】
2013511773.tif 000013
【図１２】
2013511773.tif 000014
【図１３】
2013511773.tif 000015
【図１４】
2013511773.tif 000016
【図１５】
2013511773.tif 000017
【図１６】
2013511773.tif 000018
【図１７】
2013511773.tif 000019
【図１８】
2013511773.tif 000020
【図１９】
2013511773.tif 000021
【図２０】
2013511773.tif 000022
【図２１】
2013511773.tif 000023
【図２２】
2013511773.tif 000024
【図２３】
2013511773.tif 000025
【図２４】
2013511773.tif 000026
【図２５】
2013511773.tif 000027
【国際調査報告】
2013511773.tif 000028
2013511773.tif 000029
2013511773.tif 000030