(58)【調査した分野】(Int.Cl.,DB名)
触覚効果を決定することは、予測された位置かまたはその近傍における特徴の存在をシミュレートする摩擦の係数の変動を決定することを含む、請求項1記載のシステム。
プロセッサは更に、センサーからのデータに基づいてユーザの相互作用の圧力を決定するように構成されており、触覚効果はユーザの相互作用の圧力に少なくとも部分的に基づいて決定されている、請求項1記載のシステム。
【技術分野】
【0001】
[関連出願へのクロスリファレンス]この特許出願は、2009年3月12日に出願され“Locating Features Using a Friction Display”と題された米国仮特許出願番号61/159,482の優先権を主張し、その全体がここに引用によって組み込まれる。
【0002】
この特許出願は、2009年11月17日に出願され“System and Method for Increasing Haptic Bandwidth in an Electronic Device”と題された米国仮特許出願番号61/262,041の優先権を主張し、その全体がここに引用によって組み込まれる。
【0003】
この特許出願は、2009年11月17日に出願され“Friction Rotary Device for Haptic Feedback”と題された米国仮特許出願番号61/262,038の優先権を主張し、その全体がここに引用によって組み込まれる。
【0004】
この特許出願は、2010年1月29日に出願され“Systems And Methods For Providing Features In A Friction Display”と題された米国実用特許出願番号12/696,893の優先権を主張し、その全体がここに引用によって組み込まれる。
【0005】
この特許出願は、2010年1月29日に出願され“Systems And Methods For Friction Displays And Additional Haptic Effects”と題された米国実用特許出願番号12/696,900の優先権を主張し、その全体がここに引用によって組み込まれる。
【0006】
この特許出願は、2010年1月29日に出願され“Systems And Methods For Interfaces Featuring Surface-Based Haptic Effects”と題された米国実用特許出願番号12/696,908の優先権を主張し、その全体がここに引用によって組み込まれる。
【0007】
この特許出願は、2010年1月29日に出願され“Systems And Methods For A Texture Engine”と題された米国実用特許出願番号12/697,010の優先権を主張し、その全体がここに引用によって組み込まれる。
【0008】
この特許出願は、2010年1月29日に出願され“Systems And Methods For Using Textures In Graphical User Interface Widgets”と題された米国実用特許出願番号12/697,037の優先権を主張し、その全体がここに引用によって組み込まれる。
【0009】
この特許出願は、2010年1月29日に出願され“Systems And Methods For Using Multiple Actuators To Realize Textures”と題された米国実用特許出願番号12/697,042の優先権を主張し、その全体がここに引用によって組み込まれる。
【発明を実施するための形態】
【0017】
ここで様々なおよび代替的な描写的実施形態と付随する図面を詳細に参照する。各例は、限定としてではなく説明として提供されている。変更および変形を行うことができることは当業者には明らかであろう。例えば、一実施形態の一部として描写または記載された特徴は、別の実施形態で使われてもっと更なる実施形態を生み出しても良い。よって、この開示は、添付の請求項とそれらの等価物の範囲内に入る変更および変形を含むことが意図されている。
【0018】
可変摩擦インターフェースを使ったデバイスの描写的な例
本発明の一つの描写的な実施形態は、共にCupertino, CaliforniaのApple Inc.から入手可能なiPod(登録商標)携帯音楽デバイスやiPhone(登録商標)移動デバイス、またはRedmond,WashingtonのMicrosoft Corporationから入手可能なZune(登録商標)携帯デバイスのような、コンピューティングシステムからなる。コンピューティングシステムは、加速度計や、この例ではデバイスのスクリーンに対応するディスプレイエリアに対するタッチの位置を決定するためのセンサー(例えば、光学的、抵抗性、または静電容量性)のような1つ以上のセンサーを含むことができおよび/またはそれらと通信していても良い。
【0019】
ユーザがデバイスと相互作用するにつれて、1つ以上のアクチュエータが触覚効果を提供するのに使われる。例えば、ユーザがデバイスに跨って指を動かすにつれて、指の位置、速度および/または加速度に基づいてスクリーンの摩擦の係数を変動させることができる。どのように摩擦が変動されたかに依存して、ユーザは、そうではなくてもし表面摩擦が変動されていなければ同じ様には(または全く)知覚されないであろうところの、タッチ表面中の特徴を知覚し得る。特定の例として、ユーザがオンスクリーンボタンのエッジに対応するバンプ、境界またはその他の障害物を知覚するように、摩擦が変動されても良い。以下で更に詳細に説明されるように、摩擦の係数を変動させることは、ユーザに情報を提供するための数々のやり方において使われることができる。加えて、タッチ表面中の特徴の存在は、摩擦の係数を変動させることに加えてかまたはその代りに効果を使ってシミュレートされることができる。
【0020】
表面ベースの触覚効果を提供することにより特徴をシミュレートする描写的システム
図1Aは、表面ベースの触覚効果を提供するための描写的システム100を示す。特に、この例では、システム100は、バス106を介してその他のハードウェアとインターフェースされたプロセッサ102を特色としたコンピューティングデバイス101からなる。RAM、ROM、EEPROM等のようなあらゆる好適な実体のある(非一時的な)コンピューター読み取り可能な媒体からなることができるメモリー104は、コンピューティングデバイスの動作を構成するプログラムコンポーネンツを実装する。この例では、コンピューティングデバイス101は更に、1つ以上のネットワークインターフェースデバイス110、入出力(I/O)インターフェースコンポーネンツ112、および追加の記憶装置114を含む。
【0021】
ネットワークデバイス110は、ネットワーク接続を容易にするあらゆるコンポーネンツを表すことができる。例には、Ethernet(登録商標)、USB、IEEE1394のような有線インターフェース、および/またはIEEE802.11、Bluetooth(登録商標)、または携帯電話ネットワークにアクセスすための無線インターフェース(例えば、CDMA、GSM(登録商標)、UMTSまたはその他の移動通信ネットワークにアクセスするための送受信機/アンテナ)のような無線インターフェースが含まれるが、それらに限定はされない。
【0022】
I/Oコンポーネンツ112は、1つ以上のディスプレイ、キーボード、マウス、スピーカー、マイクロホン、および/またはデータを入力するかまたはデータを出力するのに使われるその他のハードウェアのような、デバイスへの接続を容易にするのに使われ得る。記憶装置114は、デバイス101中に含まれる磁気的、光学的、またはその他の記憶媒体のような不揮発性記憶装置を表す。
【0023】
システム100は更に、この例ではデバイス101中に一体化されているタッチ表面116を含む。タッチ表面116は、ユーザの触覚入力を感知するように構成されたあらゆる表面を表す。1つ以上のセンサー108は、物体がタッチ表面と接触した時にタッチエリア中のタッチを検出して、プロセッサ102による使用のための適切なデータを提供するように構成されている。センサーのあらゆる好適な数、タイプまたは配置が使われることができる。例えば、抵抗性および/または静電容量性センサーが、タッチ表面116中に埋め込まれて、タッチの位置と圧力のようなその他の情報を決定するのに使われても良い。別の例として、タッチ表面の視界をもった光学的センサーが、タッチ位置を決定するのに使われても良い。
【0024】
この例では、プロセッサ102と通信するアクチュエータ118が、タッチ表面116に結合されている。いくつかの実施形態では、アクチュエータ118は、触覚信号に応答してタッチ表面の摩擦の係数を変動させる触覚効果を出力するように構成されている。追加的にまたは代替的に、アクチュエータ118は、タッチ表面を制御されたやり方で動かす振動触覚的な触覚効果を提供しても良い。いくつかの触覚効果はデバイスのハウジングに結合されたアクチュエータを利用しても良く、またいくつかの触覚効果は多数のアクチュエータを系列的におよび/または協調的に使用しても良い。例えば、摩擦の係数は、表面を異なる周波数で振動させることによって変動されることができる。変動の異なる組み合わせ/系列が、質感の感覚をシミュレートするのに使われることができる。
【0025】
ここでは単一のアクチュエータ118が示されているが、実施形態は、タッチ表面の摩擦の係数を変動させるために同じかまたは異なるタイプの多数のアクチュエータを使用しても良い。例えば、いくつかの実施形態において20kHzよりも大きな周波数で動いているアクチュエータを使うことによってのように、超音波周波数でタッチ表面116のいくつかまたは全てを垂直におよび/または水平にずらすために、いくつかの実施形態では圧電アクチュエータが使われる。いくつかの実施形態では、偏心回転質量モーターおよび線形共鳴アクチュエータのような多数のアクチュエータが、異なる質感およびその他の触覚効果を提供するために単独でかまたは協調的に使用されることができる。
【0026】
メモリー104を見ると、可変摩擦ディスプレイを提供するようにいくつかの実施形態においてどのようにデバイスが構成されることができるかを描写するために、例示的プログラムコンポーネンツ124、126および128が描かれている。この例では、検出モジュール124は、タッチの位置を決定するためにセンサー108を介してタッチ表面116を監視するようにプロセッサ102を構成する。例えば、モジュール124は、タッチの有無を追跡し、もしタッチが有れば時間に渡ってタッチの位置、経路、速度、加速度、圧力および/またはその他の特性を追跡するために、センサー108をサンプリングしても良い。
【0027】
触覚効果決定モジュール126は、生成する触覚効果を選択するためにタッチ特性に関するデータを分析するプログラムコンポーネントを表す。特に、モジュール126は、タッチの位置に基づいて生成するタッチ表面のシミュレートされた特徴を決定するコードと、特徴をシミュレートするために提供する1つ以上の触覚効果を選択するコードからなる。例えば、タッチ表面116のエリアのいくつかまたは全てが、グラフィカルユーザインターフェースにマッピングされても良い。特徴の対応する表現がインターフェース中に見られる時に特徴が感じられるように、タッチ表面116の摩擦を変動させることによって特徴の存在をシミュレートするために、タッチの位置に基づいて異なる触覚効果が選択されても良い。但し、もし仮に対応するエレメントがインターフェース中に表示されていなくても、触覚効果がタッチ表面116を介して提供されても良い(例えば、もし仮に境界が表示されていなくても、インターフェース中の境界が跨れれば触覚効果が提供されても良い)。
【0028】
触覚効果生成モジュール128は、少なくともタッチが起こっている時には選択された触覚効果を生成するように触覚信号を生成してアクチュエータ118に送信することをプロセッサ102に引き起こすプログラミングを表す。例えば、生成モジュール128は、アクチュエータ118に送るための格納された波形またはコマンドにアクセスしても良い。別の例として、触覚効果生成モジュール128は、摩擦の望ましい係数を受け取り、アクチュエータ118に送るための適切な信号を生成する信号処理アルゴリズムを利用しても良い。更なる例として、望ましい質感が、質感のための対象座標と共に指し示され、質感を提供するために表面(および/またはその他のデバイスコンポーネンツ)の適切なずらしを生成するように適切な波形が1つ以上のアクチュエータに送られても良い。特徴は、少なくともタッチ表面116の摩擦の係数を変動させることによってシミュレートされても良い。いくつかの実施形態は、特徴をシミュレートするために多数のアクチュエータを協調的に利用しても良い。例えば、シミュレートされたピアノのキーの間の境界を跨ぐことをシミュレートするために摩擦の変動が使われる一方で、各キーが押さえられるにつれて振動触覚的効果が各キーの反応をシミュレートしても良い。
【0029】
タッチ表面は、コンピューティングシステムの特定の構成に依存して、ディスプレイにオーバーレイされて(あるいはそうでなければ対応して)いてもいなくても良い。
図1Bには、コンピューティングシステム100Bの外観が示されている。コンピューティングシステム101は、タッチ表面とデバイスのディスプレイを組み合わせているタッチ可能なディスプレイ116を含む。タッチ表面は、ディスプレイ外面または実際のディスプレイコンポーネンツの上の材料の1つ以上の層に対応していても良い。
【0030】
図1Cは、タッチ表面がディスプレイにオーバーレイされていないタッチ可能なコンピューティングシステム100Cの別の例を描いている。この例では、コンピューティングデバイス101は、デバイス101にインターフェースされたコンピューティングシステム120中に含まれているディスプレイ122中に提供されたグラフィカルユーザインターフェースにマッピングされ得るタッチ表面116を特色としている。例えば、コンピューティングデバイス101は、マウス、トラックパッド、またはその他のデバイスからなっていても良く、一方システム120は、デスクトップまたはラップトップコンピューター、セットトップボックス(例えば、DVDプレーヤー、DVR、ケーブルテレビボックス)、または別のコンピューティングシステムからなっていても良い。別の例として、タッチ表面116とディスプレイ122は、ディスプレイ122を特色としたラップトップコンピューター中のタッチ可能なトラックパッドのような、同じデバイス中に含まれていても良い。ディスプレイと一体化されているかあるいはそうでなくても、ここでの例における平面状のタッチ表面の描写は、限定的であることを意味しない。その他の実施形態は、表面ベースの触覚効果を提供するように更に構成されている、彎曲したかまたは不規則なタッチ可能な表面を含む。
【0031】
図2A−2Bは、表面ベースの触覚効果を使って特徴をシミュレートすることの例を描いている。
図2Aは、タッチ可能なディスプレイ202を特色としたコンピューティングデバイス201からなるシステム200の外観を描いた図である。
図2Bは、デバイス201の断面図を示す。デバイス201は、
図1のデバイス101と同様に構成されても良いが、プロセッサ、メモリー、センサー等のようなコンポーネンツは明瞭さのためにこの図では示されていない。
【0032】
図2Bに見ることができるように、デバイス201は、複数のアクチュエータ218と追加のアクチュエータ222を特色としている。アクチュエータ218−1は、ディスプレイ202に垂直の力を与えるように構成されたアクチュエータからなっていても良く、一方218−2は、ディスプレイ202を横向きに動かしても良い。この例では、アクチュエータはディスプレイに直接的に結合されているが、アクチュエータは、ディスプレイ202の真上の材料の層のような別のタッチ表面に結合されることができることは理解されるべきである。追加のアクチュエータ222は、デバイス201のコンポーネンツを含んだハウジングに結合されていても良い。
図2A−2Bの例では、ディスプレイ202のエリアがタッチエリアに対応するが、原理はディスプレイとは完全に別のタッチ表面に適用されることもできる。
【0033】
一実施形態では、アクチュエータ218の各々が圧電アクチュエータからなる一方で、追加のアクチュエータ222は、偏心回転質量モーター、線形共鳴アクチュエータ、または別の圧電アクチュエータからなる。アクチュエータ222は、プロセッサからの触覚信号に応答して振動触覚的な触覚効果を提供するように構成されることができる。振動触覚的な触覚効果は、表面ベースの触覚効果との関係でおよび/またはその他の目的のために利用されることができる。
【0034】
いくつかの実施形態では、アクチュエータ218−1および218−2のどちらか一方または両方が、圧電アクチュエータ以外のアクチュエータからなることができる。アクチュエータのいずれもが、例えば、圧電アクチュエータ、電磁気アクチュエータ、電気活性ポリマー、形状記憶合金、柔軟な複合ピエゾアクチュエータ(例えば、柔軟な材料からなるアクチュエータ)、静電的および/または磁歪的アクチュエータからなることができる。加えて、単一のアクチュエータ222が示されているが、多数のその他のアクチュエータがデバイス201のハウジングに結合されることができおよび/またはその他のアクチュエータ2がどこか他に結合されても良い。デバイス201は、異なる位置においてタッチ表面に結合された多数のアクチュエータ218−1/218−2を特色としていても良い。
【0035】
図2Aに戻ると、220において示されるように、指はシミュレートされた特徴230と遭遇するように動く。この例では、位置228への下向きの指226の動きによって表されるタッチの位置に基づいて出力のために触覚効果が選択される。特に、
図4Bに見ることができるように、アクチュエータ218−1、218−2および/または222は、232、234および236において示されているように、表面ベースの触覚フィードバックを提供するために適切な触覚信号が提供されている。異なる網掛けは、アクチュエータによるタッチ表面の異なる「感じ」を表すことが意図されている。例えば、232、234および236は、望ましい触覚効果を生成するタッチ表面の質感または摩擦の係数中の変動を表すことができる。一実施形態では、より高い摩擦の第一のエリア232に続いてより低い摩擦の第二のエリア234とより高い摩擦の第三のエリア236を有することによって、箱の感覚がシミュレートされることができる。
【0036】
図3A−3Bは、表面の摩擦の係数を変動させるための描写的ハードウェアアーキテクチャを描く。この例では、タッチ表面はガラスパネル302からなるが、別の透明な材料(また不透明な材料)が使われることもできる。例えば、ガラスではなく、タッチパッド(例えば、タッチ感応デバイス)が使われることができる。圧電ベンダー318−1および318−2のペアがガラスに接合される。圧電ベンダー間の自由空間と共にガラスまたは別の透明な材料を使用することは、ガラスの下のディスプレイ(図示せず)の使用を許容する。いくつかの実施形態では、圧電ベンダーは、ガラス302の摩擦の静的係数を42%削減するように命令されることができる。いくつかの実施形態は、摩擦の係数を変動させるのに使われる変動する振幅と共に、24kHzにおける双極パルス幅変調信号を利用する。例として、電圧の大きさ(または電圧の大きさを作成するためのPWMの大きさ)に依存して0から60%までの摩擦変動と共に、電圧は、20kHzより上の周波数において−80および+80ボルトの間で変動することができる。これらの例示的電圧、周波数および変動レンジは、例としての目的だけのものであり、限定的であることは意図されていない。
【0037】
図4A−4Bは、表面の摩擦の係数を変動させるための別の描写的ハードウェアアーキテクチャ400を描く。この例では、ピエゾブザーがコンピューティングデバイス401の一部としてピエゾ表面402を提示する。例えば、一実施形態は、25mmの直径をもった0.6mm厚のブザーを含む。
図4Bに見ることができるように、ブザーは、この実施形態では両方共0.3mm厚の、ピエゾセラミック材料402Aの層と、金属ディスク402Bからなる。摩擦の静的係数は、ブザーが起動されていない時の元の摩擦値から88%まで削減されても良い。この例では、表面が丸いものとして示されているが、原理はその他の形状/表面に適用されることもできる。
【0038】
表面ベースの触覚効果を提供することにより特徴をシミュレートする描写的方法
図5は、表面ベースの触覚効果をもったインターフェースを提供するための描写的方法500を示したフローチャートである。ブロック502は、タッチエリア中のタッチの位置を決定することを表す。例えば、プロセッサは、表面上のタッチの位置を追跡するためにタッチ可能なディスプレイまたは表面中に埋め込まれているかまたはそれを視認している1つ以上のセンサーを利用しても良い。タッチの現行および/または過去の位置に基づいて、現在位置または予測された位置が決定されることができる。例として、タッチ位置は、ピクセル座標またはタッチエリアのための別の座標系で提供されても良い。もし速度/加速度が決定されれば、タッチ位置は、タッチの位置および動きに関するベクトルまたはその他の情報と関連付けられても良い。
【0039】
ブロック504は、シミュレートする1つ以上の望ましい特徴を決定することを表す。いくつかの実施形態では、コンピューティングシステムは、リアルタイムで決定された望ましい特徴および触覚効果を伴って、アクチュエータが駆動されるべき位置においてタッチが起こるかどうかを単純に決定しても良い。但し、追加の実施形態では、タッチの速度に基づいたタッチについての現行のピクセル位置および/または予測されるピクセル位置が、様々なピクセル位置についての望ましい触覚効果を指定しているビットマップと比較されることができる。望ましい触覚効果に基づいて、ビットマップ中に指定された出力を提供するために好適な触覚信号がアクセスされる/生成されることができる。
【0040】
別の例として、タッチの現行または予測される位置は、コントロール、質感的内容、境界等のようなグラフィカルユーザインターフェース(GUI)特徴の位置を同定しているデータと比較されることができる。そして、もしGUI特徴がその位置において同定されれば、1つ以上の触覚効果を特徴に関連付けているデータがアクセスされることができる。例えば、プロセッサは、タッチの位置を追跡し、タッチがグラフィカルユーザインターフェース中の特定のコントロール(例えば、ボタン)にマッピングされたタッチエリア中の位置におけるかそれに近づくものであると決定しても良い。プロセッサはそれから、ボタンと関連つけられた触覚効果(例えば、質感、摩擦変動)を決定して、触覚効果に基づいて、触覚効果を生成するための更なるアクションを取るために、インターフェースエレメントのリストを調べることができる。
【0041】
更なる例として、特徴は、現行または予測される位置と関連付けられた質感からなっていても良い。例えば、タッチエリアの一部分が、「毛皮」のような特定の質感を有するものとして同定されても良い。タッチがその部分におけるものであると決定された時、コンピューティングデバイスは、「毛皮」特徴が望ましいと決定することができる。
【0042】
ブロック506は、選択された触覚効果を生成するための1つ以上の触覚信号をアクセスすることまたは生成することを表す。例えば、プロセッサは、メモリーに格納され、特定の触覚効果と関連付けられた駆動信号をアクセスしても良い。別の例として、信号は、格納されたアルゴリズムをアクセスして効果と関連付けられたパラメータを入力することによって生成されても良い。例えば、アルゴリズムは、振幅および周波数パラメータに基づいて駆動信号を生成するのに使用するためのデータを出力しても良い。別の例として、触覚信号は、アクチュエータによってデコードされるべきアクチュエータに送られたデータからなっていても良い。例えば、アクチュエータ自体が、振幅および周波数のようなパラメータを指定しているコマンドに応答しても良い。
【0043】
ブロック508は、望ましい効果を生成するためにアクチュエータに触覚信号を送信することを表す。例えば、もしアナログ駆動信号が提供されるべきであれば、プロセッサは、信号を作り出すためにオンボードのD/Aコンバーターを利用することができる。もしデジタルコマンドがアクチュエータに提供されれば、適切なメッセージがプロセッサのI/Oバスによって生成されることができ、アクチュエータ自体は望ましい出力を提供するための十分な処理能力を含んでいる。触覚効果は、タッチのポイントにおいておよび/またはどこか他において感じられても良い。
【0044】
いくつかの実施形態では、デバイスが作成することができる潜在的効果のレンジを拡充するために、選択された触覚効果が不在であっても、周囲触覚効果を生成するようにベースライン触覚信号がアクチュエータに送られても良い。よって、触覚信号を送信することは、ストップコマンド、ゼロまたは最小信号をアクチュエータに送ること、またはアクチュエータの効果の強度を削減し、よって静的な時のタッチ表面についての摩擦の係数におけるかまたはそれに近いレベルまで増加させるように摩擦を増加させるように別の好適な信号をアクチュエータに送ること、からなっていても良い。
【0045】
例として、圧電アクチュエータのような或るアクチュエータの使用は、タッチ表面の摩擦の係数の削減を許容するが摩擦の係数の増加は許容しなくても良い。オプションの範囲を提供するために、タッチ表面の「通常の」摩擦レベルが静的である時にタッチ表面が有するであろう摩擦の係数より下であるように、ベースライン信号が提供されても良い。従って、触覚信号は、静的な値ではなくベースラインの値に対して規定されても良い。もし最大摩擦が望ましければ、表面の動きを停止するように「ゼロ」信号が圧電アクチュエータに送られても良い。
【0046】
図6A−6Dは各々、描写的なシミュレートされた特徴を描く。
図6Aは、白いエリアが、ノンゼロ電圧PWM信号を使うことによってのように、圧電アクチュエータまたはその他のアクチュエータが起動されるエリアを表す、単純化された例を示す。例えば、白いエリアは、ユーザの指(または表面と接触している別の物体)がより低い摩擦値に遭遇する、タッチパッドの中央における仮想的ボタンに対応しても良い。
図6Bは、逆の状況を表し、指/物体は白いエリア中では自由に航行しても良いが、高摩擦(黒い)エリアにおいて遅くされるか止められ得る。これは、例えば、タッチエリア中のボタンまたはその他の位置をより容易に位置決めすることをユーザに許容し得る。
【0047】
図6Cは、複数の溝からなるシミュレートされた特徴を描く。ユーザの指または別の物体が縞を跨いで水平に動くにつれて、指/物体は溝の列として知覚される増加して減少する摩擦に遭遇する。
【0048】
上記した通り、表面ベースの触覚効果を提供するように構成されたタッチ表面からなるコンピューティングシステムは、効果と信号をリアルタイムで決定しても良い。例えば、
図6A−6Dのいずれかについて、システムは最初にタッチ位置が円の内側であるかどうかを決定し、そうであれは好適な出力値を提供する(
図6A)かまたは出力を止める(
図6B)ようにしても良い。同様に、システムは、タッチが望ましい高摩擦をもったエリア中で起こるかどうかを決定することによって
図6Cの特徴を提供し、もしそうであればアクチュエータを駆動しても良い。
【0049】
図6Dは、より複雑なパターンを提示する。例えば、
図6D中のパターンは、移動電話キーの配列、シミュレートされたキーボード、またはその他のコントロールのような、キーの配列と関連付けられた望ましい特徴に対応しても良い。
図6A−6Dのいずれについてもリアルタイム表現が使われることができるが、パターン中の各々の特定の円/ボタンを表現するにはより複雑なロジックが必要であり得る。これらおよび更にもっと任意なパターンは、プログラミングの複雑度と計算時間を増加させ得る。よって、いくつかの実施形態では、表面ベースの触覚効果は、前もって決定されてファイルに格納されることができる。ランタイムにおいては、適切な触覚信号のより速い決定と生成を許容するために、タッチ位置に基づいてファイルがアクセスされることができる。
図6Dについては、そのようなファイルは、タッチ位置が円にマッピングされた時に第一の触覚効果(たとえば、高摩擦)を提供するようにアクチュエータを駆動するためのデータを含むことができ、ファイルは、タッチ位置が円の外側の位置にマッピングされた時に第二の効果(例えば、低摩擦)を提供するようにアクチュエータを駆動するためのデータを含むことができる。
【0050】
図7は、参照ファイルを作り出して使用することによりシミュレートされた特徴を提供するための例示的方法700を示したフローチャートである。
図8は、ピクセルの配列からなる参照ファイルの例を示す。ブロック702と704は、前処理、触覚効果を決定するための参照ファイルの使用に先立って起こる活動、を表す。この例では、単一の参照ファイルが、摩擦値を決定するのに使われる。実際には、参照ファイルは、摩擦の変動を生成することに加えてかまたはその代わりに、触覚効果を生成するのに使うためのその他のデータを提供しても良い。加えて、「参照ファイル」は一緒に使われる多数のファイルからなっていても良い。
【0051】
ブロック702は、場所のレイアウトを作り出すことを表し、ブロック704は、ビットマップまたはその他の画像ファイル中のピクセルの配列のように、レイアウトを画像ファイル中に格納することを表す。例えば、望ましい摩擦値を指定するために任意の形状が「描画」されても良い。
図8では、摩擦調整が意図されていない所を指し示すために白いピクセルが示される一方で、陰影が付けられたピクセルが摩擦の望ましい係数の値かまたはアクチュエータを駆動するのに使用可能な値(例えば、望ましいPWM電圧レベル、周波数等)さえもを指し示している。代替的に、白いピクセルが最大駆動を指し示す一方で、陰影の様々な度合いがより低い駆動値を指し示し、黒がゼロ駆動を表していても良い。一実施形態では、白いピクセルと黒いピクセルだけが使われ、色はデバイスのアクチュエータのオン/オフ状態に対応している。
【0052】
この例では、陰影の異なる度合いは網掛けによって表されている。実際には、各ピクセルは、多数の値からなっていても良く(例えば、各ピクセルはRGB値を有していても良く)、多数の値は異なるアクチュエータ等のための駆動レベルのような異なるデータを提供する。加えて、参照ファイルは、各ピクセル位置についての様々なパラメータを指定するための多数の層を含んでいても良い。この例は、比較的少数のピクセルを示すが、実際には、配列は何千または何百万のピクセルからなっていても良い。
【0053】
形状802は、中の詰まった円からなる。形状804も円からなるが、画像ファイルが摩擦(またはその他の触覚効果)の多数のレベルを指定するのに使われることができることを指し示すように提供されている。例えば、低いと高い(または高いと低い)摩擦の間の遷移エリアが、低い陰影806から中程度の陰影808へ、そして最終的に完全な陰影810への遷移のような、異なる陰影の使用を通して提供されることができる。遷移は、円804の中心に近づくにつれて増加する摩擦レベル(または減少する摩擦レベル)に対応していても良い。
【0054】
いくつかの実施形態では、遷移は、レイアウトファイルが作り出された時に指定されることができる。いくつかの場合には、遷移は、視覚レイアウトに対する摩擦値のオフセットを提供するのに使われても良い。例えば、
図6Bに短く戻ると、
図6Bの円のような中の詰まった形状が、グラフィカルユーザインターフェース中に提供されても良い。対応する摩擦画像は、
図8の円804の縮尺を変えたバージョンにより緊密に類似し、遷移効果を表すために「ぼやけた」エッジを提供する。そのような画像を生成する一つの方法は、インターフェースの画像を使うことと、ぼかしまたはその他のフィルターを適用することからなることができ、触覚信号を生成/選択するのに使われた時に、望ましい応答を提供するためにピクセルレベルはぼかしの後に調整される。
【0055】
図7と方法700に戻ると、一旦参照ファイルが作り出されると、それはメモリー中にローディングされて、ブロック706に示されるように摩擦値を決定するために読まれることができる。例えば、ピクセル配列のいくつかまたは全てが、位置検出および特徴シミュレーションルーティンを実行しているプロセッサの作業メモリー中に維持されても良い。一実施形態では、ピクセル配列は、グラフィカルユーザインターフェースの対応する画像に沿って分布している。追加の実施形態では、ピクセル配列は、グラフィカルユーザインターフェース画像の層またはコンポーネントであり、更なる実施形態では、配列は、グラフィカルユーザインターフェースとは関連付けられていない別のファイルである。
【0056】
ブロック708は、タッチの位置を決定することを表す。例えば、センサーが、タッチエリアにマッピングされたピクセルの配列中のタッチのピクセル位置を決定するために使われるデータを提供しても良い。以下のマッピングステップ中に適切な変換が使われるのと併せて、非ピクセル座標がタッチの位置を同定するのに使われても良い。
【0057】
ブロック710は、タッチ位置を画像ファイル中のエントリー(または複数のエントリー)にマッピングすることを表す。例えば、ピクセル(x、y)=(10、12)におけるタッチが画像(x、y)=(10、12)における画像中の1つ以上のピクセル値にアクセスすることに結果としてなるように、タッチエリアが直接的にマッピングされても良い。但し、より複雑なマッピングが使われても良い。例えば、タッチエリア中のピクセル値を画像ファイル中の異なるピクセル値にマッピングするのにタッチ位置および速度が使われても良い。例えば、タッチ位置をピクセル値にマッピングするのにスケーリングファクターが使われることを伴って、タッチエリアのサイズとピクセル配列のサイズは異なっていても良い。
【0058】
ブロック712は、画像ファイルからのデータに少なくとも部分的に基づいて表面ベースの触覚効果を提供するために1つ以上のアクチュエータを起動することを表す。例えば、画像ファイル中のピクセル値が摩擦の望ましい係数にマッピングされても良い。方法700を実行しているデバイスは、ピクセル位置と摩擦の望ましい係数に基づいて、摩擦の望ましい係数を生成するように1つ以上のアクチュエータに送るための好適な信号または複数の信号を決定しても良い。別の例として、ピクセル値は、圧電アクチュエータに送られるべきPWM信号についての電圧/振幅/周波数値またはオフセットのように、より直接的に駆動信号を指し示しても良い。配列のデータはまた、別のタイプのアクチュエータのための駆動信号を生成するのに使われるように構成されていても良い。
【0059】
より複雑な例として、各ピクセルアドレスは、3つの強度値(即ち、RGB)と関連付けられていても良い。3つの強度値の各々は、いくつかの実施形態では対応するアクチュエータについての信号強度/周波数と関連付けられることができる。別の例として、いくつかの値が強度を指定し、その他は同じアクチュエータについての動作の持続時間を指定しても良い。更なる例として、異なるピクセル強度値は、単一の質感をシミュレートするためにアクチュエータを駆動するのに使われる、異なる望ましい質感またはコンポーネンツと相関されていても良い。
【0060】
方法700は、画像ファイル中の多数のピクセルにマッピングされたタッチ位置を決定しても良い。例えば、大きなタッチが、画像ファイル中のピクセルアドレスのレンジに対応していても良い。ピクセルアドレスのレンジからの摩擦またはその他の値は一緒に考慮されても良く、またはタッチ位置を「ピンポイントで決め」、対応する単一のピクセルアドレスからの値を使うために分析がなされても良い。
【0061】
いくつかの実施形態では、表面ベースの触覚効果をもったタッチ表面を特色とするコンピューティングデバイスは、入力のシーケンスに基づいて異なる表面ベースの触覚効果を出力することができる。よって、タッチ表面のシミュレートされた特徴は、表面と関連付けられたデバイスの状態に基づいて変動することができる。いくつかの実施形態では、これは、多数の層をもち、各層が特定の状態に対応することができる参照ファイルを使って実装することができる。状態は、例えば、様々な入力条件に基づいて変えられることができる。
【0062】
例えば、タッチ表面は、移動デバイス上のように、キーパッドとして働くように構成されていても良い。キーパッドは、数字1−9に対応するキーの3列と、「0」、「*」および「#」キーをもった第四の列を特色としていても良い。初期状態については、タッチ表面は、レイアウトの残りにおいてよりも「5」キーにおいてより高い摩擦レベルのような、中央化された特徴を提供するように構成されていても良い。
【0063】
コンピューティングデバイスは、タッチ感応エリアに対して入力を追跡することに基づいてユーザ入力に応答してタッチ表面の状態を変えるように構成されることができる。例えば、一旦システムが、例えば、キーの位置が見つけられた(が必ずしも選択はされていない)ことを指し示すタッチング、ホバーリングまたはその他の活動を検出することによって、ユーザが「5」キーを見つけたと決定すれば、異なる状態に基づいて表面ベースの効果が提供されることができる。もし多層参照ファイルが使われれば、例えば、異なる層がメモリー中にローディングされることができる。第二の状態では、例えば、ユーザが視覚フィードバックの必要無しに中央から望ましいキーまで進むことができるように、キーの間の境界が提供されることができる(当然ながら、視覚、聴覚またはその他のフィードバックが本主題のあらゆる実施形態に沿って提供されることができるが)。
【0064】
シミュレートされた特徴のその他の描写的実施形態
表面ベースの触覚効果は、タッチ表面の摩擦の係数を変動させることに基づいた効果を含むがそれらに限定はされない、あらゆる好適な形を取っても良い。別の例として、振動または一連の振動のような、振動触覚的効果が使われても良い。振動触覚的効果および/または摩擦の変動が、境界または障害物のような区別のつく特徴の感覚をシミュレートするのに使われても良い。例えば、境界またはエッジは、上記したようにもし境界が跨れれば摩擦が減少する(いくつかの場合には)ことで、摩擦の増加によってシミュレートされても良い。
【0065】
タッチ表面を使ってシミュレートされた特徴は、シミュレートされたギャップ、突起、障害物等を含むがそれらに限定はされない、あらゆる不連続性からなることができる。追加的にまたは代替的に、シミュレートされた特徴は、変えられた摩擦の係数をもったエリアからなることができる。例えば、いくつかの触覚効果は、タッチ表面の摩擦の変動、いくつかの部分がその他よりも「滑りやすい」かまたは「粗っぽい」ように表現されても良い、からなっていても良い。いくつかの実施形態では、シミュレートされた特徴は、制御されたやり方で表面の摩擦の係数を変動させることによってシミュレートされた質感を含む。
【0066】
質感の生成と使用に関する追加の詳細は、上で参照され、それぞれ“Systems and Methods for a Texture Engine”(Attorney Docket IMM354(51851-383720))、 “Systems and Methods for Using Multiple Actuators to Realize Textures”(Attorney Docket IMM355(51851-383719))、および“Systems and Methods for Using Textures in Graphical User Interface Widgets” (Attorney Docket IMM356(51851-383718))と題された、米国特許出願番号12/697,010、12/697,042および12/697,037に見つけることができる。例えば、異なる摩擦のパターンまたは振動のパターンが、煉瓦、岩、砂、ガラス、毛皮、様々な織物タイプ、水、蜂蜜、およびその他の流体、皮革、木材、氷、トカゲの皮、金属、およびその他の質感パターンのような、質感の感覚を模倣するために提供されても良い。「危険」の質感が望ましい時の高い大きさの振動触覚またはその他のフィードバックのような、現実世界の質感と類似していないその他の質感も使われても良い。
【0067】
表面ベースの触覚効果の情報的内容または意味は、様々な実施形態において変動することができる。例えば、効果は、グラフィカルユーザインターフェース中のエリア、シミュレートされたキーまたはその他のコントロールにマッピングされたタッチ表面の特定の部分を同定するのに使われても良く、または美的または娯楽の目的のために(例えば、デザインの一部としておよび/またはゲーム中に)提供されても良い。効果はまた、通信の目的のために提供されても良い。例えば、Brailleまたはその他の触覚ベースの通信方法が容易にされることができる。
【0068】
一般的考察
ここでの「に適応された」または「に構成された」の使用は、追加のタスクまたはステップを行うように適応されたかまたは構成されたデバイスを締め出さないオープンで包含的な言語を意味する。加えて、「に基づいて」の使用は、1つ以上の記載された条件または値「に基づいた」プロセス、ステップ、計算またはその他のアクションが、実際には、それらの記載されたものを超えた追加の条件または値に基づいていても良いという意味で、オープンで包含的なものを意味する。ここに含まれる見出し、リストおよび番号付けは、説明の容易さだけのためのものであって、限定的であることを意味しない。
【0069】
本主題の側面に従った実施形態は、デジタル電子回路中に、またはコンピューターのハードウェア、ファームウェア、ソフトウェア中に、あるいは先行するものの組み合わせ中に、実装されることができる。一実施形態では、コンピューターは、1つのプロセッサまたは複数のプロセッサからなっていても良い。プロセッサは、プロセッサに結合されたランダムアクセスメモリー(RAM)のようなコンピューター読み取り可能な媒体からなるかまたはそれへのアクセスを有する。プロセッサは、センサーサンプリングルーティン、触覚効果選択ルーティン、および上記のような選択された触覚効果を生成するための信号を作成するための好適なプログラミングを含んだ1つ以上のコンピュータープログラムを実行するように、メモリー中に格納されたコンピューター実行可能なプログラム命令を実行する。
【0070】
そのようなプロセッサは、マイクロプロセッサや、デジタル信号プロセッサ(DSP)や、アプリケーション特定集積回路(ASIC)や、フィールドプログラマブルゲートアレイ(FPGAs)や、ステートマシーンからなっていても良い。そのようなプロセッサは更に、PLCsや、プログラマブル割り込みコントローラ(PICs)や、プログラマブルロジックデバイス(PLDs)や、プログラマブルリードオンリーメモリー(PROMs)や、電子的プログラマブルリードオンリーメモリー(EPROMsまたはEEPROMs)や、あるいはその他の同様なデバイスのような、プログラマブル電子デバイスからなっていても良い。
【0071】
そのようなプロセッサは、プロセッサによって実行された時に、プロセッサによって実行されるかまたは支援されるようにここに記載されたステップをプロセッサが行うことを引き起こすことができる命令を格納し得る媒体、例えば実体のあるコンピューター読み取り可能な媒体、からなっていても良く、またはそれと通信していても良い。コンピューター読み取り可能な媒体の実施形態は、コンピューター読み取り可能な命令をウェブサーバー中のプロセッサのようなプロセッサに提供することが可能な、電子的、光学的、磁気的あるいはその他のストレージデバイスからなっていても良いが、それらに限定はされない。媒体のその他の例は、フロッピー(登録商標)ディスク、CD−ROM、磁気ディスク、メモリーチップ、ROM、RAM、ASIC、構成されたプロセッサ、全光学的媒体、全磁気的テープまたはその他の磁気的媒体、あるいはそこからコンピュータープロセッサが読み取りすることができるあらゆるその他の媒体からなるが、それらに限定はされない。また、様々なその他のデバイスは、ルーターや、プライベートまたはパブリックネットワークや、その他の送信デバイスのような、コンピューター読み取り可能な媒体を含んでいても良い。記載されたプロセッサと処理は、1つ以上の構造であっても良く、1つ以上の構造を通して分散されていても良い。プロセッサは、ここに記載された方法(または方法の部分)の1つ以上を実行するためのコードからなっていても良い。
【0072】
本主題がその特定の実施形態について詳細に記載されたが、前述したものの理解を獲得すると当業者は、そのような実施形態への変更、その変形、およびその等価物を容易に作成し得ることが理解されるであろう。従って、本開示は、限定としてではなく例としての目的のために提示されており、当業者に容易に明らかであろうような本主題へのそのような変更、変形および/または追加を包含することを排除しないことが理解されるべきである。