(57)【特許請求の範囲】
【請求項１】
方法であって
タッチ感知ディスプレイ及び第１のカメラを備えた電子デバイスにおいて、
前記第１のカメラを使用して、前記タッチ感知ディスプレイ上に、第１の出力寸法のメディアを生成する第１の仮想カメラのための第１のカメラインターフェースを表示するステップであって、前記第１のカメラインターフェースは、前記第１のカメラによって検出された現在の視覚的データへの変更に基づいて時々更新される第１のカメラプレビューを含み、前記第１のカメラプレビューは前記第１の出力寸法の指示を含む、第１のカメラインターフェースを表示するステップと、
前記タッチ感知ディスプレイ上に前記第１のカメラインターフェースを表示している間、単一の第１の接触による第１のジェスチャであって前記第１のカメラプレビューを横切る前記タッチ感知ディスプレイ上での第１の方向の前記単一の第１の接触の移動を含む第１のジェスチャを検出するステップと、
前記第１のカメラプレビューを横切る前記タッチ感知ディスプレイ上での第１の方向の前記第１のジェスチャを検出したことに応答して、前記第１のカメラインターフェースを表示することから、前記第１のカメラを使用して前記第１の出力寸法とは異なる第２の出力寸法のメディアを生成する第２の仮想カメラのための第２のカメラインターフェースを表示することに切り替えるステップであって、前記第２のカメラインターフェースが、前記第１のカメラインターフェースとは異なり、前記第２のカメラインターフェースは、前記第１のカメラによって検出された現在の視覚的データへの変更に基づいて時々更新される第２のカメラプレビューを含み、前記第２のカメラプレビューは前記第２の出力寸法の指示を含む、第２のカメラインターフェースを表示することに切り替えるステップと、
前記タッチ感知ディスプレイ上に前記第２のカメラインターフェースを表示している間、前記タッチ感知ディスプレイ上での単一の第２の接触による第２のジェスチャを検出するステップと、
前記第２のジェスチャを検出したことに応答して、前記第２のジェスチャが前記第２のカメラプレビューを横切る前記タッチ感知ディスプレイ上での前記第１の方向の前記単一の第２の接触の移動を含むという判定に従って、前記第２のカメラインターフェースを表示することから、前記第１の出力寸法及び前記第２の出力寸法とは異なる第３の出力寸法のメディアを前記第１のカメラを使用して生成する第３の仮想カメラのための第３のカメラインターフェースを表示することに切り替えるステップと、を含み、
前記第３のカメラインターフェースが、前記第１のカメラインターフェースとは異なり、
前記第３のカメラインターフェースが、前記第２のカメラインターフェースとは異なる、ことを特徴とする、方法。
【請求項２】
前記第１のカメラインターフェースが、前記第２のカメラインターフェースには含まれない１つ以上の制御を含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記方法が、
前記第１のカメラインターフェースを表示している間、前記第１のカメラプレビューにおいて検出された対応する接触を含む対応する入力を検出するステップと、
前記対応する入力を検出したことに応じて、
既定の時間期間内における前記タッチ感知ディスプレイ上での既定量を超える前記対応する接触の移動を前記対応する入力が含むかどうかを判定するステップと、
前記対応する入力が、前記既定の時間期間内における前記タッチ感知ディスプレイ上の前記既定量を超える前記対応する接触の移動を含むという判定に従って、前記第１のカメラインターフェースから、異なるカメラインターフェースに切り替えるステップと、
前記対応する接触が、既定の時間期間内において前記タッチ感知ディスプレイ上で前記既定量を超えて移動しないという判定に従って、前記第１のカメラプレビュー内の１点をオートフォーカス基準点として選択するステップと、を含むことを特徴とする、請求項１に記載の方法。
【請求項４】
前記第１の仮想カメラ、前記第２の仮想カメラ及び前記第３の仮想カメラが、メディアを生成するために、前記第１のカメラにおける対応するセンサ寸法の同じ物理カメラセンサを使用し、
前記仮想カメラのうちの１つにより生成された前記メディアが、前記第１のカメラにおける前記物理カメラセンサの前記対応するセンサ寸法よりも小さい寸法を有し、
前記仮想カメラのうちの異なる１つにより生成された前記メディアが、前記第１のカメラにおける前記物理カメラセンサの前記対応するセンサ寸法よりも大きい寸法を有する、ことを特徴とする、請求項１に記載の方法。
【請求項５】
前記仮想カメラのうちの異なる１つにより生成された前記メディアが、前記物理カメラセンサの前記センサ寸法と同じ寸法を有することを特徴とする、請求項４に記載の方法。
【請求項６】
前記第２のカメラインターフェースが、複数のグラフィカルオブジェクトを含むカメラインターフェース間で切り替えるための制御を含み、前記複数のグラフィカルオブジェクトが、
前記第１のカメラインターフェースを記述する第１のグラフィカルオブジェクトと、    前記第２のカメラインターフェースを記述する第２のグラフィカルオブジェクトと、    前記第３のカメラインターフェースを記述する第３のグラフィカルオブジェクトと、を含み、
前記方法が、前記複数のグラフィカルオブジェクトにおいて対応するグラフィカルオブジェクトのアクティブ化を検出したことに応答して、
前記第１のグラフィカルオブジェクトがアクティブ化されたという判定に従って、前記第２のカメラインターフェースを表示することから、前記第１のカメラインターフェースを表示することに切り替えるステップと、
前記第３のグラフィカルオブジェクトがアクティブ化されたという判定に従って、前記第２のカメラインターフェースを表示することから、前記第３のカメラインターフェースを表示することに切り替えるステップと、を含むことを特徴とする、請求項１に記載の方法。
【請求項７】
電子デバイスであって、
タッチ感知ディスプレイと、
第１のカメラと、
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、を備え、前記１つ以上のプログラムは、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成され、前記１つ以上のプログラムは、
前記第１のカメラを使用して、前記タッチ感知ディスプレイ上に、第１の出力寸法のメディアを生成する第１の仮想カメラのための第１のカメラインターフェースを表示するための命令であって、前記第１のカメラインターフェースは、前記第１のカメラによって検出された現在の視覚的データへの変更に基づいて時々更新される第１のカメラプレビューを含み、前記第１のカメラプレビューは前記第１の出力寸法の指示を含む、第１のカメラインターフェースを表示するための命令と、
前記タッチ感知ディスプレイ上に前記第１のカメラインターフェースを表示している間、単一の第１の接触による第１のジェスチャであって前記第１のカメラプレビューを横切る前記タッチ感知ディスプレイ上での第１の方向の前記単一の第１の接触の移動を含む第１のジェスチャを検出するための命令と、
前記第１のカメラプレビューを横切る前記タッチ感知ディスプレイ上での第１の方向の前記第１のジェスチャを検出したことに応答して、前記第１のカメラインターフェースを表示することから、前記第１のカメラを使用して前記第１の出力寸法とは異なる第２の出力寸法のメディアを生成する第２の仮想カメラのための第２のカメラインターフェースを表示することに切り替えるための命令であって、前記第２のカメラインターフェースが、前記第１のカメラインターフェースとは異なり、前記第２のカメラインターフェースは、前記第１のカメラによって検出された現在の視覚的データへの変更に基づいて時々更新される第２のカメラプレビューを含み、前記第２のカメラプレビューは前記第２の出力寸法の指示を含む、第２のカメラインターフェースを表示することに切り替えるための命令と、
前記タッチ感知ディスプレイ上に前記第２のカメラインターフェースを表示している間、前記タッチ感知ディスプレイ上での単一の第２の接触による第２のジェスチャを検出するための命令と、
前記第２のジェスチャを検出したことに応答して、前記第２のジェスチャが前記第２のカメラプレビューを横切る前記タッチ感知ディスプレイ上での前記第１の方向の前記単一の第２の接触の移動を含むという判定に従って、前記第２のカメラインターフェースを表示することから、前記第１の出力寸法及び前記第２の出力寸法とは異なる第３の出力寸法のメディアを前記第１のカメラを使用して生成する第３の仮想カメラのための第３のカメラインターフェースを表示することに切り替えるための命令と、を含み、
前記第３のカメラインターフェースが、前記第１のカメラインターフェースとは異なり、
前記第３のカメラインターフェースが、前記第２のカメラインターフェースとは異なる、ことを特徴とする、電子デバイス。
【請求項８】
前記第１のカメラインターフェースが、前記第２のカメラインターフェースには含まれない１つ以上の制御を含むことを特徴とする、請求項７に記載の電子デバイス。
【請求項９】
前記電子デバイスが、
前記第１のカメラインターフェースを表示している間、前記第１のカメラプレビューにおいて検出された対応する接触を含む対応する入力を検出するための命令と、
前記対応する入力の検出に応答して、
既定の時間期間内における前記タッチ感知ディスプレイ上での既定量を超える前記対応する接触の移動を前記対応する入力が含むかどうかを判定するための命令と、
前記対応する入力が、前記既定の時間期間内における前記タッチ感知ディスプレイ上の前記既定量を超える前記対応する接触の移動を含むという判定に従って、前記第１のカメラインターフェースから、異なるカメラインターフェースに切り替えるための命令と、
前記対応する接触が、既定の時間期間内において前記タッチ感知ディスプレイ上で前記既定量を超えて移動しないという判定に従って、前記第１のカメラプレビュー内の１点をオートフォーカス基準点として選択するための命令と、を含むことを特徴とする、請求項７記載の電子デバイス。
【請求項１０】
前記第１の仮想カメラ、前記第２の仮想カメラ及び前記第３の仮想カメラが、メディアを生成するために、前記第１のカメラにおける対応するセンサ寸法の同じ物理カメラセンサを使用し、
前記仮想カメラのうちの１つにより生成された前記メディアが、前記第１のカメラにおける前記物理カメラセンサの前記対応するセンサ寸法よりも小さい寸法を有し、
前記仮想カメラのうちの異なる１つにより生成された前記メディアが、前記第１のカメラにおける前記物理カメラセンサの前記対応するセンサ寸法よりも大きい寸法を有する、ことを特徴とする、請求項７に記載の電子デバイス。
【請求項１１】
前記仮想カメラのうちの異なる１つにより生成された前記メディアが、前記物理カメラセンサの前記センサ寸法と同じ寸法を有することを特徴とする、請求項１０に記載の電子デバイス。
【請求項１２】
前記第２のカメラインターフェースが、複数のグラフィカルオブジェクトを含むカメラインターフェース間で切り替えるための制御を含み、前記複数のグラフィカルオブジェクトが、
前記第１のカメラインターフェースを記述する第１のグラフィカルオブジェクトと、    前記第２のカメラインターフェースを記述する第２のグラフィカルオブジェクトと、    前記第３のカメラインターフェースを記述する第３のグラフィカルオブジェクトと、を含み、前記電子デバイスが、前記複数のグラフィカルオブジェクトにおいて対応するグラフィカルオブジェクトのアクティブ化を検出したことに応答して、
前記第１のグラフィカルオブジェクトがアクティブ化されたという判定に従って、前記第２のカメラインターフェースを表示することから、前記第１のカメラインターフェースを表示することに切り替えるための命令と、
前記第３のグラフィカルオブジェクトがアクティブ化されたという判定に従って、前記第２のカメラインターフェースを表示することから、前記第３のカメラインターフェースを表示することに切り替えるための命令と、を含むことを特徴とする、請求項７に記載の電子デバイス。
【請求項１３】
コンピュータプログラムであって、タッチ感知ディスプレイ及び第１のカメラを備えた電子デバイスによって実行されたときに、前記電子デバイスに、
前記第１のカメラを使用して、前記タッチ感知ディスプレイ上に、第１の出力寸法のメディアを生成する第１の仮想カメラのための第１のカメラインターフェースを表示させる命令であって、前記第１のカメラインターフェースは、前記第１のカメラによって検出された現在の視覚的データへの変更に基づいて時々更新される第１のカメラプレビューを含み、前記第１のカメラプレビューは前記第１の出力寸法の指示を含む、第１のカメラインターフェースを表示させる命令と、
前記タッチ感知ディスプレイ上に前記第１のカメラインターフェースを表示している間、単一の第１の接触による第１のジェスチャであって前記第１のカメラプレビューを横切る前記タッチ感知ディスプレイ上での第１の方向の前記単一の第１の接触の移動を含む第１のジェスチャを検出させる命令と、
前記第１のカメラプレビューを横切る前記タッチ感知ディスプレイ上の前記第１の方向の前記第１のジェスチャを検出したことに応答して、前記第１のカメラインターフェースを表示することから、前記第１のカメラを使用して前記第１の出力寸法とは異なる第２の出力寸法のメディアを生成する第２の仮想カメラのための第２のカメラインターフェースを表示することに切り替えさせる命令であって、前記第２のカメラインターフェースが、前記第１のカメラインターフェースとは異なり、前記第２のカメラインターフェースは、前記第１のカメラによって検出された現在の視覚的データへの変更に基づいて時々更新される第２のカメラプレビューを含み、前記第２のカメラプレビューは前記第２の出力寸法の指示を含む、命令と、
前記タッチ感知ディスプレイ上に前記第２のカメラインターフェースを表示している間、前記タッチ感知ディスプレイ上での単一の第２の接触による第２のジェスチャを検出させる命令と、
前記第２のジェスチャを検出したことに応答して、前記第２のジェスチャが前記第２のカメラプレビューを横切る前記タッチ感知ディスプレイ上での前記第１の方向の前記単一の第２の接触の移動を含むという判定に従って、前記第２のカメラインターフェースを表示することから、前記第１の出力寸法及び前記第２の出力寸法とは異なる第３の出力寸法のメディアを前記第１のカメラを使用して生成する第３の仮想カメラのための第３のカメラインターフェースを表示することに切り替えさせる命令と、
を含み、
前記第３のカメラインターフェースが、前記第１のカメラインターフェースとは異なり、
前記第３のカメラインターフェースが、前記第２のカメラインターフェースとは異なる、ことを特徴とする、コンピュータプログラム。
【請求項１４】
前記第１のカメラインターフェースが、前記第２のカメラインターフェースには含まれない１つ以上の制御を含むことを特徴とする、請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記コンピュータプログラムが、前記電子デバイスによって実行されたときに、前記電子デバイスに、
前記第１のカメラインターフェースを表示している間、前記第１のカメラプレビューにおいて検出された対応する接触を含む対応する入力を検出させるための命令と、
前記対応する入力の検出に応答して、
既定の時間期間内における前記タッチ感知ディスプレイ上での既定量を超える前記対応する接触の移動を前記対応する入力が含むかどうかを判定させるための命令と、
前記対応する入力が、前記既定の時間期間内における前記タッチ感知ディスプレイ上の前記既定量を超える前記対応する接触の移動を含むという判定に従って、前記第１のカメラインターフェースから、異なるカメラインターフェースに切り替えさせるための命令と、
前記対応する接触が、既定の時間期間内において前記タッチ感知ディスプレイ上で前記既定量を超えて移動しないという判定に従って、前記第１のカメラプレビューの拡大部分内の１点をオートフォーカス基準点として選択させるための命令と、を含むことを特徴とする、請求項１３に記載のコンピュータプログラム。
【請求項１６】
前記第１の仮想カメラ、前記第２の仮想カメラ及び前記第３の仮想カメラが、メディアを生成するために、前記第１のカメラにおける対応するセンサ寸法の同じ物理カメラセンサを使用し、
前記仮想カメラのうちの１つにより生成された前記メディアが、前記第１のカメラにおける前記物理カメラセンサの前記対応するセンサ寸法よりも小さい寸法を有し、
前記仮想カメラのうちの異なる１つにより生成された前記メディアが、前記第１のカメラにおける前記物理カメラセンサの前記対応するセンサ寸法よりも大きい寸法を有する、ことを特徴とする、請求項１３に記載のコンピュータプログラム。
【請求項１７】
前記仮想カメラのうちの異なる１つにより生成された前記メディアが、前記物理カメラセンサの前記センサ寸法と同じ寸法を有することを特徴とする、請求項１６に記載のコンピュータプログラム。
【請求項１８】
前記第２のカメラインターフェースが、複数のグラフィカルオブジェクトを含むカメラインターフェース間で切り替えるための制御を含み、前記複数のグラフィカルオブジェクトが、
前記第１のカメラインターフェースを記述する第１のグラフィカルオブジェクトと、    前記第２のカメラインターフェースを記述する第２のグラフィカルオブジェクトと、    前記第３のカメラインターフェースを記述する第３のグラフィカルオブジェクトと、を含み、前記コンピュータプログラムが、前記電子デバイスによって実行されたときに、前記電子デバイスに、前記複数のグラフィカルオブジェクト中の対応するグラフィカルオブジェクトのアクティブ化を検出したことに応答して、
前記第１のグラフィカルオブジェクトがアクティブ化されたという判定に従って、前記第２のカメラインターフェースを表示することから、前記第１のカメラインターフェースを表示することに切り替えさせるための命令と、
前記第３のグラフィカルオブジェクトがアクティブ化されたという判定に従って、前記第２のカメラインターフェースを表示することから、前記第３のカメラインターフェースを表示することに切り替えるための命令と、を含むことを特徴とする、請求項１３に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、全般的に、タッチ感知面を備える電子デバイスに関し、その電子デバイスとしては、複数のカメラインターフェースを含むタッチ感知面を備える電子デバイスが挙げられるが、これに限定されない。
【背景技術】
【０００２】
コンピュータ及び他の電子コンピューティング装置用の入力装置としての、タッチ感知面の使用は、近年では、著しく増大している。例示的なタッチ感知面としては、タッチパッド及びタッチスクリーンディスプレイが挙げられる。そのような表面は、ディスプレイ上のユーザインターフェースオブジェクトを操作するために、又は、本デバイスの種々の特徴部をアクティブ化するために広く用いられている。例えば、ユーザは、静止画像又はビデオをキャプチャするためにデバイス上のカメラアプリケーションを使用することができる。
【０００３】
しかし、カメラアプリケーションのモードを切り替えるための方法は煩雑で非効率的である。例えば、カメラアプリケーションのモード又はインターフェースを切り替えるための現在の方法は、ユーザが、トグルスイッチをアクティブ化すること、あるいはメニュー及び設定インターフェースの複雑なシーケンスを介してナビゲートすることを含む。トグルスイッチは、画像又はビデオのキャプチャに備えてユーザがデバイスを保持しているときに、ユーザの手及び指の位置に対して不便な位置にあることがある。更に、トグルスイッチは、３つ以上のモード間で切り替えるにはあまり効果的ではない。したがって、より効果的で便利な、カメラモード間での切り替え方法が必要である。
【発明の概要】
【０００４】
したがって、カメラインターフェース間で切り替えるための、より速く、より効率的な方法及びインターフェースを備える電子デバイスが必要とされている。かかる方法及びインターフェースは任意選択的に、カメラインターフェース間で切り替えるための従来の方法を補完するか、又はそれに取って代わり得る。かかる方法及びインターフェースは、ユーザの認識的負担を軽減し、より効率的なヒューマンマシンインターフェースを作り出す。電池駆動式デバイスの場合、このような方法及びインターフェースにより、電力が節約され、電池充電の時間間隔が延びる。
【０００５】
タッチ感知面を備える電子デバイス用のユーザインターフェースに関連付けられた、上記の欠陥及び他の問題点は、開示されるデバイスによって低減されるか、又は取り除かれる。いくつかの実施形態では、このデバイスは、デスクトップコンピュータである。いくつかの実施形態では、このデバイスは、ポータブル（例えば、ノートブックコンピュータ、タブレットコンピュータ、又はハンドヘルドデバイス）である。いくつかの実施形態では、このデバイスは、タッチパッドを有する。いくつかの実施形態では、このデバイスは、タッチ感知ディスプレイ（「タッチスクリーン」又は「タッチスクリーンディスプレイ」としても知られる）を有する。いくつかの実施形態では、このデバイスは、グラフィカルユーザインターフェース（ＧＵＩ）、１つ以上のプロセッサ、メモリ、及び複数の機能を実行するためにメモリ内に記憶された１つ以上のモジュール、プログラム、又は命令セットを有する。いくつかの実施形態では、ユーザは主にタッチ感知面上での指の接触及びジェスチャを介してＧＵＩと対話する。いくつかの実施形態では、機能は、画像編集、描画、プレゼンティング、ワードプロセッシング、ウェブサイト作成、ディスクオーサリング、スプレッドシートの作成、ゲームプレイ、電話をかけること、ビデオ会議、電子メール送信、インスタントメッセージング、トレーニングサポート、デジタル写真撮影、デジタルビデオ撮影、ウェブブラウジング、デジタル音楽の再生、及び／又はデジタルビデオの再生を任意選択的に、含む。これらの機能を実行するための実行可能命令は、永続的コンピュータ可読記憶媒体又は１つ以上のプロセッサによって実行するように構成された他のコンピュータプログラム製品に、任意選択的に含まれる。
【０００６】
いくつかの実施形態によれば、本方法は、ディスプレイ、タッチ感知面、及びカメラを備えた電子デバイスにおいて実行される。本方法は、ディスプレイ上に第１のカメラインターフェースを表示している間、ディスプレイ上に、第１の出力寸法のメディアを生成する第１の仮想カメラのための第１のカメラインターフェースを表示するステップと、タッチ感知面上での第１の方向の接触の移動を含む、既定のカメラ切り替えアフォーダンスと対話しない第１のジェスチャを検出するステップと、第１のジェスチャを検出したことに応答して、第１のカメラインターフェースを表示することから、第１の出力寸法とは異なる第２の出力寸法のメディアを生成する第２の仮想カメラのための、第１のカメラインターフェースとは異なる第２のカメラインターフェースを表示することに切り替えるように構成される。
【０００７】
いくつかの実施形態によれば、電子デバイスは、第１の出力寸法のメディアを生成する第１の仮想カメラのための第１のカメラインターフェースを表示するように構成されたディスプレイユニットと、接触及びジェスチャを受け取るように構成されたタッチ感知面ユニットと、カメラユニットと、ディスプレイユニット、タッチ感知面ユニット及びカメラユニットに結合された処理ユニットとを含む。処理ユニットは、ディスプレイユニット上での第１のカメラインターフェースの表示を可能化している間、タッチ感知面ユニット上での第１の方向の接触の移動を含む、既定のカメラ切り替えアフォーダンスと対話しない第１のジェスチャを検出し、第１のジェスチャを検出したことに応答して、第１のカメラインターフェースの表示を可能化することから、第１の出力寸法とは異なる第２の出力寸法のメディアを生成する第２の仮想カメラのための、第１のカメラインターフェースとは異なる第２のカメラインターフェースの表示を可能化することに切り替えるように構成される。
【０００８】
いくつかの実施形態によれば、電子デバイスは、ディスプレイ、タッチ感知面、カメラ、１つ以上のプロセッサ、メモリ、及び１つ以上のプログラムを含み、１つ以上のプログラムはメモリ内に記憶され、１つ以上のプロセッサによって実行されるように構成され、１つ以上のプログラムは上述の方法のいずれかの動作を実行する命令を含む。いくつかの実施形態によれば、ディスプレイ、タッチ感知面、カメラ、メモリ、及びメモリ内に記憶された１つ以上のプログラムを実行する１つ以上のプロセッサを備えた電子デバイス上のグラフィカルユーザインターフェースは、上述の方法のいずれかで表示される要素の１つ以上を含み、それらは、上述の方法のいずれかにおいて記載されるように、入力に応じて更新される。いくつかの実施形態によれば、コンピュータ可読記憶媒体は、ディスプレイ、タッチ感知面、及びカメラを備える電子デバイスによって実行されると、デバイスに、以上において言及され、説明された方法のいずれかの動作を実行させる命令をその内部に記憶している。いくつかの実施形態によれば、電子デバイスは、ディスプレイ、タッチ感知面、カメラ、及び上述の方法のいずれかの動作を実行する手段を含む。いくつかの実施形態によれば、ディスプレイ、タッチ感知面、及びカメラを備えた電子デバイス内で使用するための情報処理装置が、上述の方法のうちのいずれかの動作を実行する手段を含む。
【０００９】
このように、ディスプレイ、タッチ感知面、及びカメラを有する電子デバイスは、カメラインターフェース間で切り換えするためのより高速で、より効率的な方法及びインターフェースを備えることで、このような機器の有効性、効率、ユーザ満足度を高めている。かかる方法及びインターフェースは、カメラインターフェース間で切り替えるための従来の方法を補完するか、又はそれに取って代わり得る。
【００１０】
説明される様々な実施形態のより良好な理解のために、以下の図面と併せて、以下の発明を実施するための形態を参照されたく、類似の参照番号は、それらの図の全体を通じて対応する部分を指す。
【図面の簡単な説明】
【００１１】
【図１Ａ】いくつかの実施形態に係る、タッチ感知ディスプレイを備えたポータブル多機能デバイスを示すブロック図である。
【図１Ｂ】いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。
【図２】いくつかの実施形態に係る、タッチスクリーンを備えるポータブル多機能デバイスを示す図である。
【図３】いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。
【図４Ａ】いくつかの実施形態に係る、ポータブル多機能デバイス上のアプリケーションのメニューのための例示的なユーザインターフェースを示す図である。
【図４Ｂ】いくつかの実施形態に係る、ディスプレイとは別個のタッチ感知面を備える多機能デバイスのための例示的なユーザインターフェースを示す図である。
【図５Ａ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｂ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｃ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｄ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｅ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｆ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｇ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｈ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｉ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｊ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｋ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｌ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｍ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図５Ｎ】いくつかの実施形態に係る、カメラインターフェースの間で切り替えるための例示的なユーザインターフェースである。
【図６Ａ】いくつかの実施形態に係る、カメラインターフェースの間で切り替える方法を示す流れ図である。
【図６Ｂ】いくつかの実施形態に係る、カメラインターフェースの間で切り替える方法を示す流れ図である。
【図６Ｃ】いくつかの実施形態に係る、カメラインターフェースの間で切り替える方法を示す流れ図である。
【図６Ｄ】いくつかの実施形態に係る、カメラインターフェースの間で切り替える方法を示す流れ図である。
【図６Ｅ】いくつかの実施形態に係る、カメラインターフェースの間で切り替える方法を示す流れ図である。
【図６Ｆ】いくつかの実施形態に係る、カメラインターフェースの間で切り替える方法を示す流れ図である。
【図６Ｇ】いくつかの実施形態に係る、カメラインターフェースの間で切り替える方法を示す流れ図である。
【図７】いくつかの実施形態に係る、電子デバイスの機能ブロック図である。
【発明を実施するための形態】
【００１２】
多くの電子デバイスは、スチルカメラモード及びビデオカメラモードを備えるカメラを有する。ハードウェア及びソフトウェアが進歩すると、デバイスは、更により多くのカメラのモードをサポートすることができる。様々なカメラのモードが増えると、それらの間で切り替えることは非効率的であることがある。典型的には、ユーザは、スイッチ、ボタン、又は（例えば、一連のメニュー及び設定インターフェースを通じてナビゲートする）最も便利であるわけではないディスプレイ上の位置に表示された何らかの他のアフォーダンスを使用してモード間で切り替える。特に、デバイスがタッチスクリーンデバイスである場合には、モードを切り替えるアフォーダンスの配置に欠陥があると、様々なカメラモードへのクイックアクセスが望ましいときに、そのようなカメラモードへのクイックアクセスが妨げられる。以下の実施形態は、様々なカメラモードに相当するカメラインターフェースの間で迅速に切り替えるための方法について説明する。ユーザは、タッチ感知面上での対向方向のスワイプジェスチャを使用して、少なくとも２つのカメラインターフェースのシーケンス間で切り替える。こうすることにより、カメラモード間で切り替えることがより効率的で使いやすくなる。
【００１３】
以下の図１Ａ〜図１Ｂ、図２、及び図３は、例示的なデバイスの説明を提供する。図４Ａ〜図４Ｂ及び図５Ａ〜図５Ｎは、カメラインターフェース間で切り替えるための例示的なユーザインターフェースを示す。図６Ａ〜図６Ｇは、カメラインターフェース間で切り替える方法を示す流れ図である。図５Ａ〜図５Ｎのユーザインターフェースは、図６Ａ〜図６Ｇのプロセスを説明するために使用される。
例示的なデバイス
【００１４】
次に、添付の図面に実施例が示されている実施形態を詳細に参照する。以下の詳細な説明では、説明されている様々な実施形態の完全な理解を提供するために数多くの具体的な詳細が記載されている。しかし、説明されている様々な実施形態は、これらの具体的な詳細を伴わずとも実践し得ることが、当業者には明らかであろう。他の例では、周知の方法、手順、構成要素、回路、及びネットワークは、実施形態の態様を不必要に不明瞭なものとしないよう、詳細には説明されていない。
【００１５】
本明細書では、第１、第２などの用語は、一部の実例で、様々な要素を説明するために使用されるが、これらの要素は、それらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明される様々な実施形態の範囲から逸脱することなく、第１の接触を第２の接触と呼ぶことが可能であり、同様に、第２の接触を第１の接触と呼ぶことが可能である。第１の接触及び第２の接触は、双方とも接触であるが、それらは同じ接触ではない。
【００１６】
本明細書で説明される様々な実施形態の説明で使用される用語法は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。様々な記載の実施形態、及び添付の特許請求の範囲で使用されるとき、単数形「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈が別途明確に示さない限り、複数形をも含むことが意図されている。本明細書で使用されるときに、用語「及び／又は」が、関連する列挙された項目のうちの１つ以上の任意の全ての可能な組合せを指し、かつこれを含むことをもまた理解されたい。用語「ｉｎｃｌｕｄｅｓ（含む）」、「ｉｎｃｌｕｄｉｎｇ（含む）」、「ｃｏｍｐｒｉｓｅｓ（備える）」、及び／又は「ｃｏｍｐｒｉｓｉｎｇ（備える）」は、本明細書で使用される場合、記述される特徴、整数、ステップ、動作、要素、及び／又は構成要素の存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び／又はそれらの群の存在若しくは追加を排除するものではないことが、更に理解されるであろう。
【００１７】
本明細書で使用されるとき、用語「ｉｆ（〜の場合には）」は、任意選択的に、文脈に応じて「ｗｈｅｎ（〜のとき）」、「ｕｐｏｎ（〜すると）」、「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（〜という判定に応じて）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ（〜の検出に応じて）」を意味するものと解釈される。同様に、句「ｉｆ  ｉｔ  ｉｓ  ｄｅｔｅｒｍｉｎｅｄ（〜と判定される場合に）」又は「ｉｆ（ａ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ）ｉｓ  ｄｅｔｅｃｔｅｄ（（述べられる条件又はイベント）が検出される場合に）」は、文脈に応じて「ｕｐｏｎ  ｄｅｔｅｒｍｉｎｉｎｇ（〜と判定されるときに）」、「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（〜という判定に応答して）」、「ｕｐｏｎ  ｄｅｔｅｃｔｉｎｇ（ｔｈｅ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ）（（述べられる条件又はイベント）の検出時に）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ（ｔｈｅ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ）（（述べられる条件又はイベント）の検出に応答して）」を意味すると、任意選択的に解釈される。
【００１８】
本明細書で使用するとき、ディスプレイの「解像度」という用語は、ディスプレイの各軸に沿った、又はディスプレイの各寸法内での、画素の数を指す（「画素数」又は「画素解像度」とも呼ばれる）。例えば、ディスプレイは、３２０×４８０画素の解像度を有し得る。更には、本明細書で使用するとき、多機能デバイスの「解像度」という用語は、その多機能デバイス内のディスプレイの解像度を指す。用語「解像度」は、各画素のサイズ又は画素の間隔に対する、いかなる制限も示唆するものではない。例えば、１０２４×７６８の画素解像度を有する第１のディスプレイと比較して、３２０×４８０の画素解像度を有する第２のディスプレイは、より低い解像度を有する。しかしながら、ディスプレイの物理的サイズは、画素解像度ばかりではなく、画素サイズ及び画素の間隔を含めた、多くの他の因子に応じても決定されることに留意されたい。それゆえ、第１のディスプレイは、第２のディスプレイと比較して、同じか、より小さいか、又はより大きい物理的サイズを有する場合がある。
【００１９】
電子デバイス、そのようなデバイス用のユーザインターフェース、及びそのようなデバイスを使用するための関連プロセスの実施形態を説明する。いくつかの実施形態では、このデバイスは、ＰＤＡ機能及び／又は音楽プレーヤ機能などの、他の機能をも含むモバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態は、限定を伴わずに、Ｃａｌｉｆｏｒｎｉａ州ＣｕｐｅｒｔｉｎｏのＡｐｐｌｅ  Ｉｎｃ．のｉＰｈｏｎｅ（登録商標）デバイス、ｉＰｏｄ  Ｔｏｕｃｈ（登録商標）デバイス、及びｉＰａｄ（登録商標）デバイスを含む。タッチ感知面（例えば、タッチスクリーンディスプレイ及び／又はタッチパッド）を備えるラップトップコンピュータ又はタブレットコンピュータなどの、他のポータブル電子デバイスが、任意選択的に使用される。また、いくつかの実施形態では、このデバイスはポータブル通信デバイスではなく、タッチ感知面（例えば、タッチスクリーンディスプレイ及び／又はタッチパッド）を備えるデスクトップコンピュータであることを理解されたい。
【００２０】
以下の論考では、ディスプレイ及びタッチ感知面を含む電子デバイスを説明する。しかしながら、この電子デバイスは、任意選択的に物理キーボード、マウス、及び／又はジョイスティックなどの、１つ以上の他の物理ユーザインターフェースデバイスを含むことを理解されたい。
【００２１】
このデバイスは、典型的には、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び／又はデジタルビデオ再生アプリケーションのうちの１つ以上などの、様々なアプリケーションをサポートする。
【００２２】
このデバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも１つの共通の物理ユーザインターフェースデバイスを、任意選択的に使用する。タッチ感知面の１つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーション毎に、及び／若しくは対応するアプリケーション内で、任意選択的に、調節並びに／又は変更される。この方式で、そのデバイスの共通の（タッチ感知面などの）物理アーキテクチャは、ユーザにとって直観的かつ透過的なユーザインターフェースを有する様々なアプリケーションを、任意選択的にサポートする。
【００２３】
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図１Ａは、いくつかの実施形態に係る、タッチ感知ディスプレイ１１２を備えるポータブル多機能デバイス１００を示すブロック図である。タッチ感知ディスプレイ１１２は、時に便宜上「タッチスクリーン」と称され、「タッチ感知ディスプレイシステム」として知られたり、称されることもある。デバイス１００は、メモリ１０２（１つ以上のコンピュータ可読記憶媒体を任意選択的に含む）、メモリコントローラ１２２、１つ以上の処理ユニット（ＣＰＵ）１２０、周辺機器インターフェース１１８、ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、入力／出力（Ｉ／Ｏ）サブシステム１０６、その他の入力又は制御デバイス１１６、及び外部ポート１２４を含む。デバイス１００は１つ以上の光センサ１６４を任意選択的に含む。デバイス１００は、デバイス１００（例えば、デバイス１００のタッチ感知ディスプレイシステム１１２などのタッチ感知面）上の接触の強度を検出するための、１つ以上の強度センサ１６５を、任意選択的に含む。デバイス１００は、デバイス１００上に触知出力を生成する（例えば、デバイス１００のタッチ感知ディスプレイシステム１１２又はデバイス３００のタッチパッド３５５などの、タッチ感知面上に触知出力を生成する）ための、１つ以上の触知出力生成器１６７を、任意選択的に含む。これらの構成要素は、任意選択的に１つ以上の通信バス又は信号線１０３を介して通信する。
【００２４】
本明細書及び特許請求の範囲で使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触（例えば、指接触）の力又は圧力（単位面積当りの力）、あるいはタッチ感知面上の接触の力又は圧力の代替物（代用物）を指す。接触の強度は、少なくとも４つの別個の値を含み、より典型的には、数百個の別個の値（例えば、少なくとも２５６個）を含む、値の範囲を有する。接触の強度は任意選択的に、様々な手法、及び様々なセンサ、若しくはセンサの組み合わせを使用して、判定（又は、測定）される。例えば、タッチ感知面の下にあるか又はそれに隣接する１つ以上のセンサが、任意選択的に、タッチ感知面上の様々な点における力を測定するために用いられる。いくつかの実装では、複数の力センサからの力測定値を組み合わせて（例えば、加重平均）、推定される接触の力を判定する。同様に、スタイラスの感圧性先端部を任意選択的に使用して、タッチ感知面上のスタイラスの圧力を判定する。あるいは、タッチ感知面上で検出される接触区域のサイズ及び／又はその変化、接触に近接するタッチ感知面の静電容量及び／又はその変化、並びに／あるいは接触に近接するタッチ感知面の抵抗及び／又はその変化が、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。いくつかの実装形態では、接触の力又は圧力の代替的測定値は、強度閾値を超えているかどうかを判定するために直接用いられる（例えば、強度閾値は、代替的測定値に対応する単位で記述される）。いくつかの実装形態では、接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、この推定される力又は圧力を用いて、強度閾値を超えているかどうかが判定される（例えば、強度閾値は、圧力の単位で測定された圧力閾値である）。
【００２５】
本明細書及び特許請求の範囲で使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素（例えば、タッチ感知面）の、デバイスの別の構成要素（例えば、筐体）に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス、又はデバイスの構成要素が、タッチに敏感なユーザの表面（例えば、指、手のひら、又はユーザの手の他の部分）と接触している状況では、物理的変位によって生成される触知出力は、そのデバイス、又はデバイスの構成要素の物理的特性の、知覚される変化に対応する触感覚として、ユーザによって解釈されることになる。例えば、タッチ感知面（例えば、タッチ感知ディスプレイ又はトラックパッド）の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に、解釈される。いくつかの場合には、ユーザは、たとえ、ユーザの運動によって物理的に押圧される（例えば変位される）、タッチ感知面に関連付けられた物理アクチュエータボタンの運動が存在しない場合であっても、「ダウンクリック」又は「アップクリック」などの触感覚を感じることになる。別の例として、タッチ感知面の運動は、たとえ、タッチ感知面の平滑度の変化が存在しない場合であっても、タッチ感知面の「粗さ」として、任意選択的にユーザによって解釈又は感知される。ユーザによる、そのような接触の解釈は、ユーザの個別の感覚認知に左右されるものではあるが、大多数のユーザに共通するタッチの感覚認知が、多く存在する。それゆえ、触知出力が、ユーザの特定の感覚認知（例えば、「アップクリック」、「ダウンクリック」、「粗さ」）に対応するとして説明される場合、特に明記しない限り、生成される触知出力は、その説明される感覚認知を典型的な（又は平均的な）ユーザに対して生じさせる、デバイス又はその構成要素の物理的変位に対応する。
【００２６】
デバイス１００は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス１００は、示されるものよりも多いか又は少ない構成要素を任意選択的に有するか、２つ以上の構成要素を任意選択的に組み合わせるか、又は構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。図１Ａに示される様々な構成要素は、１つ以上の信号処理回路及び／又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの双方の組み合わせの形態で実装される。
【００２７】
メモリ１０２は、任意選択的に高速ランダムアクセスメモリを含み、また任意選択的に１つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体メモリデバイスなどの、不揮発性メモリも含む。ＣＰＵ１２０及び周辺機器インターフェース１１８などの、デバイス１００の他の構成要素によるメモリ１０２へのアクセスは、メモリコントローラ１２２により、任意選択的に制御される。
【００２８】
周辺機器インターフェース１１８を使用して、このデバイスの入力及び出力周辺機器を、ＣＰＵ１２０及びメモリ１０２に結合することができる。１つ以上のプロセッサ１２０は、メモリ１０２内に記憶された様々なソフトウェアプログラム及び／又は命令セットを稼働又は実行することにより、デバイス１００に関する様々な機能を実行し、かつデータを処理する。
【００２９】
いくつかの実施形態では、周辺機器インターフェース１１８、ＣＰＵ１２０、及びメモリコントローラ１２２は、任意選択的にチップ１０４などの単一チップ上に実装される。いくつかの他の実施形態では、それらは、任意選択的に別個のチップ上に実装される。
【００３０】
ＲＦ（無線周波数）回路１０８は、電磁信号とも呼ばれるＲＦ信号を受け取ったり送信したりする。ＲＦ回路１０８は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。ＲＦ回路１０８は、アンテナシステム、ＲＦ送受信機、１つ以上の増幅器、同調器、１つ以上の発振器、デジタル信号プロセッサ、ＣＯＤＥＣチップセット、加入者識別モジュール（subscriber identity module、ＳＩＭ）カード、メモリなどを含むがこれらに限定されない、上記の機能を実行するための周知の回路を、任意選択的に含む。ＲＦ回路１０８は、ワールドワイドウェブ（ＷＷＷ）とも称されるインターネットなどのネットワーク、セルラー電話ネットワーク、無線ローカルエリアネットワーク（ＬＡＮ）、及び／又はメトロポリタンエリアネットワーク（ＭＡＮ）などの、イントラネット及び／又は無線ネットワーク、並びに他のデバイスと、無線通信によって任意選択的に通信する。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを、任意選択的に使用し、それらの通信規格、通信プロトコル、及び通信技術としては、移動通信用のグローバルシステム（ＧＳＭ（登録商標））、拡張データＧＳＭ環境（ＥＤＧＥ）、高速ダウンリンクパケット接続（ＨＳＤＰＡ）、高速アップリンクパケット接続（ＨＳＵＰＡ）、Ｅｖｏｌｕｔｉｏｎ，Ｄａｔａ−Ｏｎｌｙ（ＥＶ−ＤＯ）、ＨＳＰＡ、ＨＳＰＡ＋、２重セルＨＳＰＡ（ＤＣ−ＨＳＰＤＡ）、ロングタームエボリューション（ＬＴＥ）、近距離無線通信（ＮＦＣ）、広帯域符号分割多元接続（Ｗ−ＣＤＭＡ）、符号分割多元接続（ＣＤＭＡ）、時分割多元接続（ＴＤＭＡ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ（Ｗｉ−Ｆｉ）（登録商標）（例えば、ＩＥＥＥ  ８０２．１１ａ、ＩＥＥＥ  ８０２．１１ｂ、ＩＥＥＥ  ８０２．１１ｇ、及び／又はＩＥＥＥ  ８０２．１１ｎ）、ボイスオーバーインターネットプロトコル（ＶｏＩＰ）、Ｗｉ−ＭＡＸ、電子メール用のプロトコル（例えば、インターネットメッセージアクセスプロトコル（ＩＭＡＰ）及び／又はポストオフィスプロトコル（ＰＯＰ））、インスタントメッセージング（例えば、拡張可能メッセージング及びプレゼンスプロトコル（ＸＭＰＰ）、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル（ＳＩＭＰＬＥ）、インスタントメッセージング及びプレゼンスサービス（ＩＭＰＳ））、及び／又はショートメッセージサービス（ＳＭＳ）、あるいは本文書の出願日現在までに未だ開発されていない通信プロトコルを含めた任意の他の好適な通信プロトコルが挙げられるが、これらに限定されない。
【００３１】
オーディオ回路１１０、スピーカ１１１、及びマイクロフォン１１３は、ユーザとデバイス１００との間のオーディオインターフェースを提供する。オーディオ回路１１０は、周辺機器インターフェース１１８からオーディオデータを受信し、そのオーディオデータを電気信号に変換し、その電気信号をスピーカ１１１に送信する。スピーカ１１１は、電気信号を人間の可聴音波に変換する。オーディオ回路１１０はまた、マイクロフォン１１３によって音波から変換された電気信号も受信する。オーディオ回路１１０は、その電気信号をオーディオデータに変換し、そのオーディオデータを、処理のために周辺機器インターフェース１１８に送信する。オーディオデータは任意選択的に、周辺機器インターフェース１１８によって、メモリ１０２及び／若しくはＲＦ回路１０８から取得され、かつ／又はメモリ１０２及び／若しくはＲＦ回路１０８に送信される。いくつかの実施形態では、オーディオ回路１１０は更にヘッドセットジャック（例えば、図２の２１２）を含む。このヘッドセットジャックは、オーディオ回路１１０と、出力専用ヘッドホンあるいは出力（例えば、片耳又は両耳用のヘッドホン）及び入力（例えば、マイクロフォン）の双方を備えるヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器との間の、インターフェースを提供する。
【００３２】
Ｉ／Ｏサブシステム１０６は、タッチスクリーン１１２及び他の入力制御デバイス１１６などの、デバイス１００上の入力／出力周辺機器を、周辺機器インターフェース１１８に結合する。Ｉ／Ｏサブシステム１０６は、ディスプレイコントローラ１５６、光センサコントローラ１５８、強度センサコントローラ１５９、触覚フィードバックコントローラ１６１、及び他の入力又は制御デバイス用の１つ以上の入力コントローラ１６０を、任意選択的に含む。１つ以上の入力コントローラ１６０は、他の入力又は制御デバイス１１６との間で電気信号を受信／送信する。他の入力制御デバイス１１６は、物理ボタン（例えば、プッシュボタン、ロッカボタンなど）、ダイアル、スライダスイッチ、ジョイスティック、クリックホイールなどを、任意選択的に含む。いくつかの代替的実施形態では、入力コントローラ１６０は任意選択的に、キーボード、赤外線ポート、ＵＳＢポート、及びマウスなどのポインタデバイスのうちのいずれかに結合される（又は、いずれにも結合されない）。１つ以上のボタン（例えば、図２の２０８）は、スピーカ１１１及び／又はマイクロフォン１１３の音量調節のためのアップ／ダウンボタンを任意選択的に含む。１つ以上のボタンは、プッシュボタン（例えば、図２の２０６）を任意選択的に含む。
【００３３】
タッチ感知ディスプレイ１１２は、デバイスとユーザとの間の入力インターフェース及び出力インターフェースを提供する。ディスプレイコントローラ１５６は、タッチスクリーン１１２から／へ電気信号を受信及び／又は送信する。タッチスクリーン１１２は、ユーザに視覚出力を表示する。視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びこれらの任意の組み合わせ（総称して「グラフィック」と称する）を、任意選択的に含む。いくつかの実施形態では、視覚出力の一部又は全ては、ユーザインターフェースオブジェクトに対応する。
【００３４】
タッチスクリーン１１２は、触覚及び／又は触知の接触に基づいて、ユーザからの入力を受け付ける、タッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン１１２及びディスプレイコントローラ１５６は（メモリ１０２内のあらゆる関連モジュール及び／又は命令のセットと共に）、タッチスクリーン１１２上の接触（及び、接触のあらゆる移動又は中断）を検出し、検出された接触を、タッチスクリーン１１２上に表示されたユーザインターフェースオブジェクト（例えば、１つ以上のソフトキー、アイコン、ウェブページ、又は画像）との対話に変換する。例示的実施形態では、タッチスクリーン１１２とユーザとの間の接触点は、ユーザの指に対応する。
【００３５】
タッチスクリーン１１２は、任意選択的に、ＬＣＤ（液晶ディスプレイ）技術、ＬＰＤ（発光ポリマーディスプレイ）技術、又はＬＥＤ（発光ダイオード）技術を使用するが、他の実施形態では、他のディスプレイ技術が使用される。タッチスクリーン１１２及びディスプレイコントローラ１５６は任意選択的に、限定するものではないが、静電容量技術、抵抗性技術、赤外線技術、及び表面弾性技術、並びに、タッチスクリーン１１２との１つ以上の接触点を判定するための他の近接センサアレイ又は他の要素を含む、現在周知の若しくは将来開発される複数のタッチ感知技術のうちのいずれかを使用して、接触、並びにそのあらゆる移動若しくは中断を検出する。例示的実施形態では、Ａｐｐｌｅ  Ｉｎｃ．（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）によるｉＰｈｏｎｅ（登録商標）、ｉＰｏｄ  Ｔｏｕｃｈ（登録商標）、及びｉＰａｄ（登録商標）で見出されるものなどの、投影型相互静電容量式検知技術が使用される。
【００３６】
タッチスクリーン１１２は、任意選択的に、１００ｄｐｉを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーンは約１６０ｄｐｉのビデオ解像度を有する。ユーザは、スタイラス、指などの、任意の好適な物体又は付属物を使用して、タッチスクリーン１１２と任意選択的に接触する。いくつかの実施形態では、ユーザインターフェースは、主として指に基づく接触及びジェスチャで作動するように設計されるが、これらは、タッチスクリーン上での指の接触面積がより広いことにより、スタイラスに基づく入力よりも精度が低くなり得る。いくつかの実施形態では、デバイスは、指に基づく粗い入力を、ユーザによって所望されるアクションを実行するための、正確なポインタ／カーソルの位置又はコマンドに変換する。
【００３７】
いくつかの実施形態では、タッチスクリーンに加えて、デバイス１００は、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッド（図示せず）を、任意選択的に含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知区域である。タッチパッドは任意選択的に、タッチスクリーン１１２とは別個のタッチ感知面、又はタッチスクリーンによって形成されるタッチ感知面の拡張部である。
【００３８】
デバイス１００はまた、様々な構成要素に電力を供給するための、電力システム１６２も含む。電力システム１６２は、任意選択的に、電力管理システム、１つ以上の電源（例えば、バッテリ、交流（ＡＣ））、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態標識（例えば、発光ダイオード（ＬＥＤ））、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
【００３９】
デバイス１００は任意選択的に、１つ以上の光センサ１６４も含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の光センサコントローラ１５８に結合された光センサを示す。光センサ１６４は、電荷結合デバイス（charge−coupled device、ＣＣＤ）又は相補的金属酸化物半導体（complementary metal−oxide semiconductor、ＣＭＯＳ）フォトトランジスタを、任意選択的に含む。光センサ１６４は、１つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。撮像モジュール１４３（カメラモジュールとも称する）と併用して、光センサ１６４は、静止画像又はビデオを、任意選択的にキャプチャする。いくつかの実施形態では、光センサは、デバイスの前面上のタッチスクリーンディスプレイ１１２の反対側である、デバイス１００の背面上に配置され、それにより、タッチスクリーンディスプレイは、静止画像及び／又はビデオ画像の取得のためのビューファインダとして使用することが可能となる。いくつかの実施形態では、別の光センサがデバイスの前面上に配置され、それにより、ユーザがタッチスクリーンディスプレイ上で他のテレビ会議の参加者を見る間に、ユーザの画像が、任意選択的にテレビ会議のために取得される。
【００４０】
デバイス１００はまた、１つ以上の接触強度センサ１６５も任意選択的に含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の強度センサコントローラ１５９に結合された接触強度センサを示す。接触強度センサ１６５は、１つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ（例えば、タッチ感知面上の接触の力（又は圧力）を測定するために使用するセンサ）を、任意選択的に含む。接触強度センサ１６５は、環境からの接触強度情報（例えば、圧力情報、又は圧力情報の代用物）を受け取る。いくつかの実施形態では、少なくとも１つの接触強度センサは、タッチ感知面（例えば、タッチ感知ディスプレイシステム１１２）に併置されているか、又は近接している。いくつかの実施形態では、少なくとも１つの接触強度センサは、デバイス１００の前面に配置されたタッチスクリーンディスプレイ１１２の反対側である、デバイス１００の背面に配置されている。
【００４１】
デバイス１００は、１つ以上の近接センサ１６６も、任意選択的に含む。図１Ａは、周辺機器インターフェース１１８に結合された近接センサ１６６を示す。あるいは、近接センサ１６６は、Ｉ／Ｏサブシステム１０６内の入力コントローラ１６０に結合される。いくつかの実施形態では、多機能デバイスがユーザの車の近くに配置されているときには（例えば、ユーザが電話通話を行っているときには）、近接センサは、タッチスクリーン１１２をオフにして無効化する。
【００４２】
デバイス１００は任意選択的に、また、１つ以上の触知出力生成器１６７も含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の触覚フィードバックコントローラ１６１に結合された、触知出力生成器を示す。触知出力生成器１６７は、任意選択的にスピーカ若しくは他のオーディオ構成要素などの１つ以上の電気音響デバイス、及び／又は、モータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素（例えば、電気信号を、デバイス上の触知出力に変換する構成要素）などの、エネルギーを線形運動に変換する電気機械デバイスを含む。接触強度センサ１６５は、触覚フィードバックモジュール１３３からの触知フィードバック生成命令を受け取り、デバイス１００のユーザによって感知されることが可能な、デバイス１００上の触知出力を生成する。いくつかの実施形態では、少なくとも１つの触知出力生成器が、タッチ感知面（例えば、タッチ感知ディスプレイシステム１１２）と併置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向に（例えば、デバイス１００の表面の内／外）又は横方向（例えば、デバイス１００の表面と同じ平面内の前後方向）に運動させることによって、触知出力を生成する。いくつかの実施形態では、少なくとも１つの触知出力生成器が、デバイス１００の前面上に配置されるタッチスクリーンディスプレイ１１２の反対側である、デバイス１００の背面上に配置される。
【００４３】
デバイス１００はまた、１つ以上の加速度計１６８も任意選択的に含む。図１Ａは、周辺機器インターフェース１１８に結合された加速度計１６８を示す。あるいは、加速度計１６８は、任意選択的にＩ／Ｏサブシステム１０６内の入力コントローラ１６０に結合される。いくつかの実施形態では、１つ以上の加速度計から受信されたデータの分析に基づいて、情報が、縦長表示又は横長表示で、タッチスクリーンディスプレイ上に表示される。デバイス１００は任意選択的に、加速度計（単数又は複数）１６８に加えて、磁力計（図示せず）、並びにデバイス１００の位置及び向き（例えば、縦表示又は横表示）に関する情報を取得するためのＧＰＳ（又は、ＧＬＯＮＡＳＳ若しくは他のグローバルナビゲーションシステム）受信機（図示せず）を含む。
【００４４】
いくつかの実施形態では、メモリ１０２内に記憶されたソフトウェア構成要素は、オペレーティングシステム１２６、通信モジュール（又は命令セット）１２８、接触／動きモジュール（又は命令セット）１３０、グラフィックモジュール（又は命令セット）１３２、テキスト入力モジュール（又は命令セット）１３４、全地球測位システム（ＧＰＳ）モジュール（又は命令セット）１３５、及びアプリケーション（命令セット）１３６を含む。更に、いくつかの実施形態において、図１Ａ及び図３に示すように、メモリ１０２は機器／グローバル内部状態１５７を記憶する。デバイス／グローバル内部状態１５７は、存在する場合には、いずれのアプリケーションが現在アクティブであるかを示す、アクティブアプリケーション状態、いずれのアプリケーション、ビュー、又は他の情報が、タッチスクリーンディスプレイ１１２の様々な領域を占有するかを示す、ディスプレイ状態、デバイスの様々なセンサ及び入力制御デバイス１１６から取得した情報を含む、センサ状態、並びにデバイスの場所及び／又は姿勢に関する場所情報、のうちの１つ以上を含む。
【００４５】
オペレーティングシステム１２６（例えば、Ｄａｒｗｉｎ（登録商標）、ＲＴＸＣ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）、又はＶｘＷｏｒｋｓ（登録商標）などの組み込みオペレーティングシステム）は、一般的なシステムタスク（例えば、メモリ管理、記憶デバイス制御、電力管理など）を制御及び管理するための、様々なソフトウェア構成要素及び／又はドライバを含み、様々なハードウェア構成要素及びソフトウェア構成要素との間の通信を容易にする。
【００４６】
通信モジュール１２８は、１つ以上の外部ポート１２４を介した他のデバイスとの通信を容易にし、また、ＲＦ回路１０８及び／又は外部ポート１２４によって受信されたデータを処理するための様々なソフトウェア構成要素も含む。外部ポート１２４（例えば、ユニバーサルシリアルバス（ＵＳＢ）、ＦＩＲＥＷＩＲＥ（登録商標）など）は、他のデバイスに直接結合するように、又はネットワーク（例えば、インターネット、無線ＬＡＮなど）を介して間接的に結合するように適合される。いくつかの実施形態では、外部ポートは、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の商標）デバイス上で使用される３０ピンコネクタと同じか、若しくは同様のマルチピン（例えば、３０ピン）コネクタ、及び／又は互換性のあるマルチピン（例えば、３０ピン）コネクタである。
【００４７】
接触／動きモジュール１３０は、任意選択的に、（ディスプレイコントローラ１５６と共に）タッチスクリーン１１２との接触、及び他のタッチ感知デバイス（例えば、タッチパッド又は物理クリックホイール）との接触を検出する。接触／動きモジュール１３０は、接触が発生したかどうかの判定（例えば、フィンガダウンイベントの検出）、接触の強度（例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代用物）の判定、接触の移動及びタッチ感知面にわたる動きの追跡（例えば、１つ以上のフィンガドラッグイベントの検出）があるかどうかの判定、及び接触が中止したかどうか（例えば、フィンガアップイベント又は接触の中断の検出）の判定などの、接触の検出に関係する様々な動作を実行するための様々なソフトウェア構成要素を含む。接触／動きモジュール１３０はタッチ感知面から接触データを受け取る。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ（大きさ）、速度（大きさ及び方向）、及び／又は加速度（大きさ及び／又は方向の変化）を判定することを含む。これらの動作は、単一の接触（例えば、１つの指接触）又は複数の同時接触（例えば、「マルチタッチ」／複数の指接触）に、任意選択的に適用する。いくつかの実施形態では、接触／動きモジュール１３０及びディスプレイコントローラ１５６は、タッチパッド上での接触を検出する。
【００４８】
いくつかの実施形態では、接触／動きモジュール１３０は、ユーザによって動作が実行されたか否かを判定するための（例えば、ユーザがアイコン上で「クリック」したか否かを判定するための）、１つ以上の強度閾値のセットを使用する。いくつかの実施形態では、少なくとも強度閾値のサブセットは、ソフトウェアパラメータに従って決定される（例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって決定されるのではなく、デバイス１００の物理ハードウェアを変更することなく調節することができる）。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく広範囲の既定の閾値のうちのいずれかに設定することができる。更には、いくつかの実装では、デバイスのユーザには、（例えば、個別の強度閾値を調節することによって、かつ／又は、システムレベルのクリック「強度」パラメータを使用して、一度に複数の強度閾値を調節することによって）強度閾値のセットのうちの１つ以上を調節するためのソフトウェア設定が提供される。
【００４９】
接触／動きモジュール１３０は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン（例えば、異なる動き、タイミング、及び／又は検出された接触の強度）を有する。それゆえ、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、フィンガタップジェスチャの検出は、フィンガダウンイベントを検出し、続いて（例えば、アイコンの位置における）フィンガダウンイベントと同じ位置（又は、実質的に同じ位置）でのフィンガアップ（リフトオフ）イベントを検出することを含む。別の例として、タッチ感知面上でのフィンガスワイプジェスチャの検出は、フィンガダウンイベントを検出し、続いて１つ以上のフィンガドラッグイベントを検出し、その後、フィンガアップ（リフトオフ）イベントを検出することを含む。
【００５０】
グラフィックモジュール１３２は、表示されるグラフィックの視覚的効果（例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性）を変更するための構成要素を含めた、タッチスクリーン１１２又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用するとき、用語「グラフィック」は、ユーザに対して表示することができる任意のオブジェクトを含み、それらのオブジェクトとしては、限定するものではないが、テキスト、ウェブページ、アイコン（ソフトキーを含むユーザインターフェースオブジェクトなど）、デジタル画像、ビデオ、アニメーションなどが挙げられる。
【００５１】
いくつかの実施形態では、グラフィックモジュール１３２は、使用されるグラフィックを表すデータを記憶する。それぞれのグラフィックには、対応するコードが、任意選択的に割り当てられる。グラフィックモジュール１３２は、アプリケーションなどから、必要に応じて座標データ及び他のグラフィック特性データと共に、表示されるグラフィックを指定する１つ以上のコードを受信して、次いで、ディスプレイコントローラ１５６に出力するためのスクリーン画像データを生成する。
【００５２】
触覚フィードバックモジュール１３３は、デバイス１００とのユーザ対話に応答して、デバイス１００上の１つ以上の場所で触知出力を生成するために、（１つ以上の）触知出力生成器１６７によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
【００５３】
テキスト入力モジュール１３４は、任意選択的にグラフィックモジュール１３２の構成要素であり、様々なアプリケーション（例えば、連絡先１３７、電子メール１４０、ＩＭ１４１、ブラウザ１４７、及びテキスト入力を必要とする任意の他のアプリケーション）内でテキストを入力するための、ソフトキーボードを提供する。
【００５４】
ＧＰＳモジュール１３５は、デバイスの場所を判定し、この情報を、様々なアプリケーションで使用するために（例えば、場所に基づくダイアル発呼で使用するために電話１３８へ、写真／ビデオのメタデータとしてカメラ１４３へ、並びに、天候ウィジェット、地域のイエローページウィジェット、及び地図／ナビゲーションウィジェットなどの、場所に基づくサービスを提供するアプリケーションへ）提供する。
【００５５】
アプリケーション１３６は、任意選択的に以下のモジュール（又は、命令のセット）、又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール１３７（アドレス帳又は連絡先リストと呼ばれる場合もある）、
●電話モジュール１３８、
●テレビ会議モジュール１３９、
●電子メールクライアントモジュール１４０、
●インスタントメッセージング（ＩＭ）モジュール１４１、
●トレーニングサポートモジュール１４２、
●静止画像及び／又はビデオ画像用のカメラモジュール１４３、
●画像管理モジュール１４４、
●ブラウザモジュール１４７、
●カレンダーモジュール１４８、
●気象ウィジェット１４９−１、株式ウィジェット１４９−２、計算機ウィジェット１４９−３、アラーム時計ウィジェット１４９−４、辞書ウィジェット１４９−５、及びユーザが取得した他のウィジェット、並びにユーザ作成ウィジェット１４９−６のうちの１つ以上を任意選択的に含むウィジェットモジュール１４９、
●ユーザ作成ウィジェット１４９−６を作成するためのウィジェットクリエータモジュール１５０、
●検索モジュール１５１、
●任意選択的にビデオ再生モジュール及び音楽プレーヤモジュールから構成される、ビデオ及び音楽プレーヤモジュール１５２、
●メモモジュール１５３、
●マップモジュール１５４、及び／又は
●オンラインビデオモジュール１５５。
【００５６】
任意選択的にメモリ１０２内に記憶される他のアプリケーション１３６の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、ＪＡＶＡ（登録商標）対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【００５７】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と共に、連絡先モジュール１３７は、任意選択的に（例えば、メモリ１０２又はメモリ３７０内の連絡先モジュール１３７のアプリケーション内部状態１９２内に記憶される）アドレス帳又は連絡先リストを管理するために使用され、この管理には、アドレス帳に名前を追加すること、アドレス帳から名前を削除すること、電話番号、電子メールアドレス、実際の住所、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類して並び替えること、電話１３８、ビデオ会議１３９、電子メール１４０、又はＩＭ１４１などによる通信を開始及び／又は促進するために、電話番号又は電子メールアドレスを提供することなどが含まれる。
【００５８】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と共に、電話モジュール１３８は、電話番号に対応する一連の文字を入力し、アドレス帳１３７内の１つ以上の電話番号にアクセスし、入力されている電話番号を修正し、対応の電話番号をダイアルし、会話を遂行し、会話が完了した際に接続を切るか又は電話を切るために、任意選択的に使用される。上述のように、無線通信は、複数の通信規格、プロトコル、及び技術のうちのいずれかを、任意選択的に使用する。
【００５９】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、光センサ１６４、光センサコントローラ１５８、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、連絡先リスト１３７、及び電話モジュール１３８と関連して、ビデオ会議モジュール１３９は、ユーザの指示に従って、ユーザと１人以上の他の参加者との間のビデオ会議を開始し、行い、終了するための実行可能命令を含む。
【００６０】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と関連して、電子メールクライアントモジュール１４０は、ユーザの指示に応答して、電子メールを作成し、送信し、受信し、管理するための実行可能命令を含む。画像管理モジュール１４４と共に、電子メールクライアントモジュール１４０は、カメラモジュール１４３で撮影された静止画像又はビデオ画像を有する電子メールを作成及び送信することを、非常に容易にする。
【００６１】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と関連して、インスタントメッセージングモジュール１４１は、インスタントメッセージに対応する文字列を入力したり、入力済みの文字を修正したり、対応するインスタントメッセージを送信したり（例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス（ＳＭＳ）若しくはマルチメディアメッセージサービス（Multimedia Message Service、ＭＭＳ）プロトコルを使用して、又はインターネットベースのインスタントメッセージのためのＸＭＰＰ、ＳＩＭＰＬＥ、若しくはＩＭＰＳを使用して）、インスタントメッセージを受信したり、受信したインスタントメッセージを表示したりするための実行可能命令を含む。いくつかの実施形態では、送信及び／又は受信されたインスタントメッセージは、ＭＭＳ及び／又は拡張メッセージングサービス（Enhanced Messaging Service、ＥＭＳ）でサポートされるように、グラフィック、写真、オーディオファイル、ビデオファイル、及び／又は他の添付を、任意選択的に含む。本明細書では、「インスタントメッセージング」とは、電話ベースのメッセージ（例えば、ＳＭＳ又はＭＭＳを使用して送信されたメッセージ）及びインターネットベースのメッセージ（例えば、ＸＭＰＰ、ＳＩＭＰＬＥ、又はＩＭＰＳを使用して送信されたメッセージ）の両方を意味する。
【００６２】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、マップモジュール１５４、及び音楽プレーヤジュール１４６と関連して、トレーニングサポートモジュール１４２は、トレーニングを作成したり（例えば、時間、距離、及び／又はカロリー消費目標に関して）、トレーニングセンサ（スポーツデバイス）と通信したり、トレーニングセンサデータを受け取ったり、トレーニングを監視するために用いられるセンサを較正したり、トレーニングのための音楽を選択して再生したり、トレーニングデータを表示、記憶、送信したりするための実行可能命令を含む。
【００６３】
タッチスクリーン１１２、ディスプレイコントローラ１５６、光センサ（単数又は複数）１６４、光センサコントローラ１５８、接触モジュール１３０、グラフィックモジュール１３２、及び画像管理モジュール１４４と関連して、カメラモジュール１４３は、静止画像又はビデオ（ビデオストリームを含む）をキャプチャしてメモリ１０２にそれらを記憶したり、静止画像又はビデオの特徴を変更したり、又はメモリ１０２から静止画像若しくは動画を削除したりするための実行可能命令を含む。
【００６４】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びカメラモジュール１４３と関連して、画像管理モジュール１４４は、静止画像及び／又はビデオ画像を配列し、修正（例えば、編集）するか若しくは他の方式で操作し、ラベルを付け、削除し、（例えば、デジタルスライドショー又はアルバム内で）提示し、記憶するための、実行可能命令を含む。
【００６５】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と関連して、ブラウザモジュール１４７は、ウェブページ又はその諸部分、並びにウェブページにリンクされた添付ファイル及び他のファイルを検索すること、リンクすること、受信すること、及び表示することを含めた、ユーザの指示に従ってインターネットを閲覧するための実行可能命令を含む。
【００６６】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィクモジュール１３２、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と関連して、カレンダーモジュール１４８は、ユーザの指示に従い、カレンダー及びカレンダーに関連付けられたデータ（例えば、カレンダー項目、Ｔｏ  Ｄｏリストなど）を作成し、表示し、変更し、記憶するための実行可能命令を含む。
【００６７】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と共に、ウィジェットモジュール１４９は、ユーザによって任意選択的にダウンロードされ、使用されるミニアプリケーション（例えば、気象ウィジェット１４９−１、株式ウィジェット１４９−２、計算機ウィジェット１４９−３、アラーム時計ウィジェット１４９−４、及び辞書ウィジェット１４９−５）、又はユーザによって作成されるミニアプリケーション（例えば、ユーザ作成ウィジェット１４９−６）である。いくつかの実施形態では、ウィジェットは、ＨＴＭＬ（Hypertext Markup Language、ハイパーテキストマークアップ言語）ファイル、ＣＳＳ（Cascading Style Sheets、カスケーディングスタイルシート）ファイル、及びＪａｖａＳｃｒｉｐｔ（登録商標）ファイルを含む。いくつかの実施形態では、ウィジェットは、ＸＭＬ（拡張可能マークアップ言語）ファイル及びＪａｖａＳｃｒｉｐｔファイル（例えば、Ｙａｈｏｏ！（登録商標）ウィジェット）を含む。
【００６８】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と共に、ウィジェットクリエータモジュール１５０は、ウィジェットを作成する（例えば、ウェブページのユーザ指定箇所をウィジェットに変える）ために、ユーザによって任意選択的に使用される。
【００６９】
タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と関連して、検索モジュール１５１は、ユーザの指示に従い、１つ以上の検索判断基準（例えば、１つ以上のユーザ指定の検索語句）と一致する、メモリ１０２内のテキスト、音楽、音、画像、ビデオ、及び／又は他のファイルを検索するための実行可能命令を含む。
【００７０】
タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、及びブラウザモジュール１４７と関連して、ビデオ及び音楽プレーヤモジュール１５２は、ＭＰ３又はＡＡＣファイルなどの１つ以上のファイル形式で記憶された録音済みの音楽又は他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能命令、並びにビデオを表示、提示、又は別の方法で再生する（例えば、タッチスクリーン１１２上又は外部ポート１２４を介して接続された外部のディスプレイ上に）ための実行可能命令を含む。いくつかの実施形態では、デバイス１００は、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の商標）などのＭＰ３プレーヤの機能性を、任意選択的に含む。
【００７１】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と共に、メモモジュール１５３は、ユーザの指示に従って、メモ、ＴｏＤｏリストなどを作成及び管理するための、実行可能命令を含む。
【００７２】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、及びブラウザモジュール１４７と共に、マップモジュール１５４は、ユーザの指示に従って、地図、及び地図に関連付けられたデータ（例えば、運転方向、特定の場所若しくはその付近の店舗及び関心対象の他の地点についてのデータ、並びに場所に基づく他のデータ）を受信し、表示し、修正し、記憶するために、任意選択的に使用される。
【００７３】
タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と関連して、オンラインビデオモジュール１５５は、ユーザが、特定のオンラインビデオにアクセスし、閲覧し、（例えば、ストリーミング及び／又はダウンロードによって）受信し、（例えば、タッチスクリーン上で、又は外部ポート１２４を介して接続された外部のディスプレイ上で）再生し、そのオンラインビデオへのリンクを有する電子メールを送信し、また他の方式で、Ｈ．２６４などの１つ以上のファイル形式でオンラインビデオを管理することが可能となる、命令を含む。いくつかの実施形態では、電子メールクライアントモジュール１４０ではなく、インスタントメッセージモジュール１４１が、特定のオンラインビデオへのリンクを送信するために用いられる。
【００７４】
上記で識別されたモジュール及びアプリケーションのそれぞれは、１つ以上の上記の機能を実行するための実行可能命令セット及び本出願に記載の方法（例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法）に対応する。これらのモジュール（すなわち、命令セット）は、別個のソフトウェアプログラム、手順、又はモジュールとして実施される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが、任意選択的に組み合わされるか、又は別の方法で再配置される。いくつかの実施形態において、メモリ１０２は、上述の識別されたモジュール及びデータ構造のサブセットを、任意選択的に記憶する。更に、メモリ１０２は、上述されていない追加のモジュール及びデータ構造を、任意選択的に記憶する。
【００７５】
いくつかの実施形態では、デバイス１００は、デバイス上の機能の既定のセットの動作が排他的にタッチスクリーン及び／又はタッチパッドを介して実行されるデバイスである。デバイス１００の動作に関する主要な入力制御デバイスとして、タッチスクリーン及び／又はタッチパッドを使用することによって、デバイス１００上の物理入力制御デバイス（プッシュボタン、ダイアルなど）の数が、任意選択的に低減される。
【００７６】
排他的にタッチスクリーン及び／又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的にユーザインターフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされると、デバイス１００上に表示されている任意のユーザインターフェースから、メイン、ホーム、又はルートメニューへと、デバイス１００をナビゲートする。そのような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又は他の物理入力制御デバイスである。
【００７７】
図１Ｂは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ１０２（図１Ａ内）又は３７０（図３）は、イベントソータ１７０（例えば、オペレーティングシステム１２６内）及び対応するアプリケーション１３６−１（例えば、上述のアプリケーション１３７〜１３、１５５、及び３８０〜３９０のいずれか）を含む。
【００７８】
イベントソータ１７０は、イベント情報を受信して、そのイベント情報の配信先となる、アプリケーション１３６−１、及びアプリケーション１３６−１のアプリケーションビュー１９１を決定する。イベントソータ１７０は、イベントモニタ１７１及びイベントディスパッチャモジュール１７４を含む。いくつかの実施形態では、アプリケーション１３６−１は、アプリケーションがアクティブ又は実行中のとき、タッチ感知ディスプレイ１１２上に表示される現在の（１つ以上の）アプリケーションビューを示す、アプリケーション内部状態１９２を含む。いくつかの実施形態では、デバイス／グローバル内部状態１５７は、いずれのアプリケーションが現在アクティブであるかを判定するために、イベントソータ１７０によって使用され、アプリケーション内部状態１９２は、イベント情報の配信先となるアプリケーションビュー１９１を決定するために、イベントソータ１７０によって使用される。
【００７９】
いくつかの実施形態では、アプリケーション内部状態１９２は、追加情報として、例えば、アプリケーション１３６−１が実行を再開する際に用いられる再開情報、アプリケーション１３６−１により表示されている又は表示の準備ができている情報を示すユーザインターフェース状態情報、ユーザがアプリケーション１３６−１の以前の状態又はビューに戻ることを可能にするための状態のキュー、及びユーザが以前にとったアクションのリドゥー／アンドゥーのキューのうちの１つ以上を含む。
【００８０】
イベントモニタ１７１は、周辺機器インターフェース１１８からイベント情報を受信する。イベント情報は、サブイベント（例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ１１２上でのユーザのタッチ）についての情報を含む。周辺機器インターフェース１１８は、Ｉ／Ｏサブシステム１０６から、あるいは近接センサ１６６、加速度計（単数又は複数）１６８、及び／又は（オーディオ回路１１０を介して）マイクロフォン１１３などのセンサから受信する情報を送信する。周辺機器インターフェース１１８がＩ／Ｏサブシステム１０６から受け取る情報は、タッチ感知ディスプレイ１１２又はタッチ感知面からの情報を含む。
【００８１】
いくつかの実施形態では、イベントモニタ１７１は、所定の間隔で周辺機器インターフェース１１８に要求を送る。これに応じて、周辺機器インターフェース１１８は、イベント情報を送信する。他の実施形態では、周辺機器インターフェース１１８は、重要なイベント（例えば、所定のノイズ閾値を超える、及び／又は所定時間以上の入力を受け取ること）がある場合にのみイベント情報を送信する。
【００８２】
いくつかの実施形態では、イベントソータ１７０はまた、ヒットビュー判定モジュール１７２及び／又はアクティブイベント認識部判定モジュール１７３も含む。
【００８３】
ヒットビュー判定モジュール１７２は、タッチ感知ディスプレイ１１２が２つ以上のビューを表示する場合に、サブイベントが１つ以上のビュー内のいずれの場所で発生したかを判定するための、ソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることが可能な、制御部及び他の要素で構成される。
【００８４】
アプリケーションに関連付けられるユーザインターフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインターフェースウィンドウと呼ばれる場合がある、ビューのセットであり、それらの中で、情報が表示され、タッチに基づくジェスチャが実施される。タッチが検出される（対応するアプリケーションの）アプリケーションビューは、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに、任意選択的に対応する。例えば、タッチが検出される最低レベルのビューは任意選択的に、ヒットビューと呼ばれ、適切な入力として認識されるイベントのセットは、少なくとも部分的に、タッチベースのジェスチャを開始する最初のタッチのヒットビューに基づいて、任意選択的に判定される。
【００８５】
ヒットビュー判定モジュール１７２は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール１７２は、サブイベントを処理するべき階層内の最下位のビューとして、ヒットビューを特定する。殆どの状況では、ヒットビューは、開始サブイベント（すなわち、イベント又は潜在的なイベントを形成するサブイベントのシーケンス内の、最初のサブイベント）が発生する、最下位レベルのビューである。ヒットビューが、ヒットビュー判定モジュールによって特定されると、そのヒットビューは、典型的には、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連する、全てのサブイベントを受信する。
【００８６】
アクティブイベント認識部判定モジュール１７３は、ビュー階層内のいずれのビューが、特定のサブイベントのシーケンスを受信するべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール１７３は、ヒットビューのみがサブイベントの特定のシーケンスを受信するべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール１７３は、サブイベントの物理的な場所を含む全てのビューが、アクティブに関与するビューであると判定することにより、アクティブに関与する全てのビューが、特定のサブイベントのシーケンスを受信するべきであると判定する。他の実施形態では、タッチサブイベントが、特定の１つのビューに関連付けられる区域に完全に限定された場合であっても、その階層内のより上位のビューは、依然として、アクティブに関与するビューとして維持される。
【００８７】
イベントディスパッチャモジュール１７４は、イベント情報をイベント認識部（例えば、イベント認識部１８０）に配布する。アクティブイベント認識部判定モジュール１７３を含む実施形態では、イベントディスパッチャモジュール１７４は、アクティブイベント認識部判定モジュール１７３によって判定されたイベント認識部に、イベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール１７４は、それぞれのイベント受信器モジュール１８２によって読み出されるイベント情報を、イベントキュー内に記憶する。
【００８８】
いくつかの実施形態では、オペレーティングシステム１２６が、イベントソータ１７０を含む。あるいは、アプリケーション１３６−１が、イベントソータ１７０を含む。更に他の実施形態では、イベントソータ１７０は、スタンドアロンモジュール、又は接触／動きモジュール１３０などのメモリ１０２に記憶された他のモジュールの一部である。
【００８９】
いくつかの実施形態では、アプリケーション１３６−１は、そのアプリケーションのユーザインターフェースの各ビュー内で発生するタッチイベントを処理する命令をそれぞれが含む、複数のイベントハンドラ１９０及び１つ以上のアプリケーションビュー１９１を含む。アプリケーション１３６−１の各アプリケーションビュー１９１は、１つ以上のイベント認識部１８０を含む。典型的には、それぞれのアプリケーョンビュー１９１は、複数のイベント認識部１８０を含む。他の実施形態では、イベント認識部１８０のうちの１つ以上は、ユーザインターフェースキット（図示せず）、又は、アプリケーション１３６−１が方法及び他の性質を継承する、より高レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、それぞれのイベントハンドラ１９０は、データアップデータ１７６、オブジェクトアップデータ１７７、ＧＵＩアップデータ１７８、及び／又は、イベントソータ１７０から受信されるイベントデータ１７９のうちの１つ以上を含む。イベントハンドラ１９０は、アプリケーション内部状態１９２を更新するために、任意選択的にデータアップデータ１７６、オブジェクトアップデータ１７７、又はＧＵＩアップデータ１７８を利用するか、若しくは呼び出す。あるいは、アプリケーションビュー１９１のうちの１つ以上は、１つ以上の対応するイベントハンドラ１９０を含む。また、いくつかの実施形態では、データアップデータ１７６、オブジェクトアップデータ１７７、及びＧＵＩアップデータ１７８のうちの１つ以上が、対応するアプリケーションビュー１９１内に含まれる。
【００９０】
各イベント認識部１８０は、イベントソータ１７０からイベント情報（例えば、イベントデータ１７９）を受信して、そのイベント情報からイベントを特定する。イベント認識部１８０は、イベント受信部１８２及びイベント比較部１８４を含む。いくつかの実施形態では、イベント認識部１８０はまた、メタデータ１８３及び（サブイベント配信命令を任意選択的に含む）イベント配信命令１８８の、少なくともサブセットも含む。
【００９１】
イベント受信部１８２は、イベントソータ１７０よりイベント情報を受信する。イベント情報は、例えば、タッチ又はタッチの移動などのサブイベントについての情報を含む。サブイベントによっては、イベント情報は、サブイベントの場所などの追加情報をもまた含む。サブイベントが、タッチの動きに関係する場合、イベント情報はまた、そのサブイベントの速度及び方向も任意選択的に含む。いくつかの実施形態では、イベントは、ある方向から別の方向へ（例えば、縦長の向きから横長の向きへ、又はその逆）のデバイスの回転を含み、イベント情報は、デバイスの現在の向き（デバイスの姿勢とも呼ばれる）についての対応する情報を含む。
【００９２】
イベント比較部１８４は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較により、イベント若しくはサブイベントを判定、又はイベント若しくはサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部１８４は、イベント定義１８６を含む。イベント定義１８６は、例えば、イベント１（１８７−１）、イベント２（１８７−２）などの、イベントの定義（例えば、サブイベントの既定のシーケンス）を含む。いくつかの実施形態では、イベント１８７内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。一実施例では、イベント１（１８７−１）に関する定義は、表示オブジェクト上でのダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の所定の段階についての第１のタッチ（タッチ開始）、所定の段階についての第１のリフトオフ（タッチ終了）、表示されたオブジェクト上の所定の段階についての第２のタッチ（タッチ開始）、及び所定の段階についての第２のリフトオフ（タッチ終了）を含む。別の実施形態では、イベント２（１８７−２）の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、表示されたオブジェクト上の所定の段階についてのタッチ（又は接触）、タッチ感知ディスプレイ１１２にわたるタッチの移動、及びタッチのリフトオフ（タッチ終了）を含む。いくつかの実施形態では、イベントは、１つ以上の関連するイベントハンドラ１９０についての情報も含む。
【００９３】
いくつかの実施形態では、イベント定義１８７は、対応するユーザインターフェースオブジェクト用のイベントの定義を含む。いくつかの実施形態では、イベント比較部１８４は、サブイベントに関連付けられたユーザインターフェースオブジェクトを判定するヒットテストを実行する。例えば、３つのユーザインターフェースオブジェクトがタッチ感知ディスプレイ１１２に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ１１２上でタッチが検出されると、イベント比較部１８４は、３つのユーザインターフェースオブジェクトのうちのどれがタッチ（サブイベント）に関連付けられているかを判定するためのヒットテストを行う。表示されたそれぞれのオブジェクトが、対応するイベントハンドラ１９０に関連付けられている場合、イベント比較部はヒットテストの結果を用いて、アクティブにする必要のあるイベントハンドラ１９０を判定する。例えば、イベント比較部１８４は、サブイベント及びヒットテストのトリガーとなるオブジェクトに関連付けられたイベントハンドラを選択する。
【００９４】
いくつかの実施形態では、各イベント１８７に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の配信を遅延させる、遅延作用も含む。
【００９５】
それぞれのイベント認識部１８０が、一連のサブイベントがイベント定義１８６内のイベントのいずれにも一致しないと判定する場合には、それぞれのイベント認識部１８０は、イベント不可能状態、イベント失敗状態、又はイベント終了状態に入り、その後は、このタッチに基づくジェスチャの後続のサブイベントを無視する。この状況では、存在する場合には、ヒットビューに関してアクティブのまま維持される他のイベント認識部が、進行中のタッチに基づくジェスチャのサブイベントを、継続して追跡及び処理する。
【００９６】
いくつかの実施形態では、それぞれのイベント認識部１８０は、アクティブに関与しているイベント認識部にイベント配信システムがどのようにサブイベント配信を実行するべきかを示す、構成可能な特性、フラグ、及び／又はリストを有する、メタデータ１８３を含む。いくつかの実施形態では、メタデータ１８３は、イベント認識部が互いにどのように相互作用するか、又は相互作用することが可能になるかを示す、構成可能なプロパティ、フラグ、及び／又はリストを含む。いくつかの実施形態では、メタデータ１８３は、構成可能なプロパティ、フラグ、及び／又はサブイベントがビュー階層又はプログラム階層内の様々なレベルに配信されるかどうかを示すリストを含む。
【００９７】
いくつかの実施形態では、対応するイベント認識部１８０は、イベントの１つ以上の特定のサブイベントが認識されたときに、イベントに関連付けられたイベントハンドラ１９０をアクティブにする。いくつかの実施形態では、それぞれのイベント認識部１８０は、イベントハンドラ１９０に、そのイベントに関連付けられたイベント情報を配信する。イベントハンドラ１９０をアクティブ化させることは、それぞれのヒットビューにサブイベントを送信すること（及び、送信を延期すること）とは異なる。いくつかの実施形態では、イベント認識部１８０は、認識されたイベントに関連付けられたフラグをスローし、そのフラグに関連付けられたイベントハンドラ１９０は、フラグをキャッチして、既定のプロセスを実行する。
【００９８】
いくつかの実施形態では、イベント配信命令１８８は、イベントハンドラをアクティブ化させることなく、サブイベントについてのイベント情報を配信する、サブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベントハンドラ、又はアクティブに関与するビューに、イベント情報を配信する。一連のサブイベント又はアクティブに関与するビューに関連付けられたイベントハンドラは、そのイベント情報を受信して、所定のプロセスを実行する。
【００９９】
いくつかの実施形態では、データアップデータ１７６は、アプリケーション１３６−１で使用されるデータを作成及び更新する。例えば、データアップデータ１７６は、連絡先モジュール１３７で使用される電話番号を更新するか、又はビデオプレーヤモジュール１４５で使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクトアップデータ１７７は、アプリケーション１３６−１で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデータ１７６は、新たなユーザインターフェースオブジェクトを作成するか、又はユーザインターフェースオブジェクトの位置を更新する。ＧＵＩアップデータ１７８はＧＵＩを更新する。例えば、ＧＵＩアップデータ１７８は、表示情報を準備し、それを、タッチ感知ディスプレイ上に表示するために、グラフィックモジュール１３２に送信する。
【０１００】
いくつかの実施形態では、イベントハンドラ（単数又は複数）１９０は、データアップデータ１７６、オブジェクトアップデータ１７７、及びＧＵＩアップデータ１７８を含むか、又はそれらに対するアクセスを有する。いくつかの実施形態では、データアップデータ１７６、オブジェクトアップデータ１７７、及びＧＵＩアップデータ１７８は、それぞれのアプリケーション１３６−１又はアプリケーションビュー１９１の単一のモジュール内に含まれる。他の実施形態では、それらは、２つ以上のソフトウェアモジュール内に含まれる。
【０１０１】
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の論考はまた、入力デバイスを使用して多機能デバイス１００を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことが理解されよう。例えば、単一又は複数のキーボードの押圧若しくは保持と任意選択的に連係させた、マウスの移動及びマウスボタンの押圧、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触の移動、ペンスタイラス入力、デバイスの移動、口頭指示、検出される眼球移動、バイオメトリック入力、並びに／あるいは、これらの任意の組み合わせが、認識されるべきイベントを定義するサブイベントに対応する入力として任意選択的に利用される。
【０１０２】
図２は、いくつかの実施形態に係る、タッチスクリーン１１２を有するポータブル多機能デバイス１００を示す図である。タッチスクリーンは、ユーザインターフェース（ＵＩ）２００内に１つ以上のグラフィックを、任意選択的に表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、１本以上の指２０２（図には正確な縮尺では描かれていない）又は１つ以上のスタイラス２０３（図には正確な縮尺では描かれていない）を使用して、グラフィック上でジェスチャを実施することによって、グラフィックのうちの１つ以上を選択することを可能にされる。いくつかの実施形態では、１つ以上のグラフィックの選択は、ユーザが１つ以上のグラフィックとの接触を断つと生じる。いくつかの実施形態では、ジェスチャは、１回以上のタップ、１回以上の（左から右、右から左、上方向、及び／又は下方向への）スワイプ、及び／又は、デバイス１００と接触した指の（右から左、左から右、上方向、及び／又は下方向への）ローリングを、任意選択的に含む。いくつかの実装又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスワイプするスワイプジェスチャは、対応するアプリケーションを、任意選択的に選択しない。
【０１０３】
デバイス１００はまた、「ホーム」又はメニューボタン２０４などの、１つ以上の物理ボタンも任意選択的に含む。前述のように、メニューボタン２０４は、デバイス１００上で任意選択的に実行されるアプリケーションのセット内の任意のアプリケーション１３６にナビゲートするために、任意選択的に使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン１１２に表示されたＧＵＩにおけるソフトキーとして実装されている。
【０１０４】
一実施形態では、デバイス１００は、タッチスクリーン１１２、メニューボタン２０４、デバイスの電源をオン／オフし、デバイスをロックするためのプッシュボタン２０６、音量調節ボタン２０８、加入者識別モジュール（ＳＩＭ）カードスロット２１０、ヘッドセットジャック２１２、及びドッキング／充電外部ポート１２４を含む。プッシュボタン２０６は、ボタンを押し下げて、既定の時間間隔にわたってボタンを押し下げられた状態で保持することによって、デバイス上の電源をオン／オフし、ボタンを押し下げて、既定の時間間隔が経過する前にボタンを解放することによって、デバイスをロックし、かつ／又は、デバイスをロック解除するか、若しくはロック解除プロセスを開始するために、任意選択的に使用される。代替的実施形態では、デバイス１００はまた、マイクロフォン１１３を介して、一部の機能のアクティブ化又は停止に関する口頭入力も受け入れる。デバイス１００はまた、タッチスクリーン１１２上の接触の強度を検出するための、１つ以上の接触強度センサ１６５、及び／又は、デバイス１００のユーザに対する触知出力を生成するための、１つ以上の触知出力生成器１６７も、任意選択的に含む。
【０１０５】
図３は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備えた例示的な多機能デバイスのブロック図である。デバイス３００は、ポータブルでなくてもよい。いくつかの実施形態では、デバイス３００は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディア再生デバイス、ナビゲーションデバイス、教育デバイス（子供の学習玩具など）、ゲームシステム、又は制御デバイス（例えば、家庭用又は産業用コントローラ）である。デバイス３００は、典型的には、１つ以上の処理ユニット（ＣＰＵ）３１０、１つ以上のネットワーク又は他の通信インターフェース３６０、メモリ３７０、及びこれらの構成要素を相互接続するための１つ以上の通信バス３２０を含む。通信バス３２０は、システム構成要素間の通信を相互接続及び制御する回路（チップセットと称することがある）を、任意選択的に含む。デバイス３００は、典型的にはタッチスクリーンディスプレイである、ディスプレイ３４０を備える、入出力（Ｉ／Ｏ）インターフェース３３０を含む。Ｉ／Ｏインターフェース３３０はまた、キーボード及び／又はマウス（又は他のポインティングデバイス）３５０並びにタッチパッド３５５、デバイス３００上に触知出力を生成するための（例えば、図１Ａを参照して上述された触知出力生成器１６７と同様の）触知出力生成器３５７、センサ３５９（例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び／又は図１Ａを参照して上述された接触強度センサ１６５と同様の接触強度センサ）も、任意選択的に含む。メモリ３７０は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、又は他のランダムアクセス半導体メモリデバイスなどの、高速ランダムアクセスメモリを含み、また任意選択的に１つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体記憶デバイスなどの、不揮発性メモリを含む。メモリ３７０は、ＣＰＵ（単数又は複数）３１０からは離れて位置する１つ以上の記憶デバイスを、任意選択的に含む。いくつかの実施形態では、メモリ３７０は、ポータブル多機能デバイス１００（図１）のメモリ１０２内に記憶されたプログラム、モジュール、及びデータ構造に類似する、プログラム、モジュール、及びデータ構造、若しくはそれらのサブセットを記憶する。更に、メモリ３７０は、ポータブル多機能デバイス１００のメモリ１０２内に存在しない追加プログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス３００のメモリ３７０は、描画モジュール３８０、プレゼンテーションモジュール３８２、ワードプロセッシングモジュール３８４、ウェブサイト作成モジュール３８６、ディスクオーサリングモジュール３８８、及び／又はスプレッドシートモジュール３９０を任意選択的に記憶するが、その一方で、ポータブル多機能デバイス１００（図１Ａ）のメモリ１０２は、これらのモジュールを任意選択的に記憶しない。
【０１０６】
上記で特定された図３の要素のそれぞれは、任意選択的に前述のメモリデバイスのうちの１つ以上に記憶される。上記で識別されたモジュールのうちのそれぞれは、上述した機能を実行するための命令セットに対応する。上述の識別されたモジュール又はプログラム（すなわち、命令セット）は、別個のソフトウェアプログラム、手順、又はモジュールとして実施される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが任意選択的に、組み合わされるか、又は別の方法で再配置される。いくつかの実施形態において、メモリ３７０は、上述の識別されたモジュール及びデータ構造のサブセットを、任意選択的に記憶する。更に、メモリ３７０は、上述されていない追加のモジュール及びデータ構造を、任意選択的に記憶する。
【０１０７】
ここで、ポータブル多機能デバイス１００上に任意選択的に実装される、ユーザインターフェース（「ＵＩ」）の実施形態に注意を向ける。
【０１０８】
図４Ａは、いくつかの実施形態に係る、ポータブル多機能デバイス１００上のアプリケーションのメニューに関する、例示的なユーザインターフェースを示す。同様のユーザインターフェースが、任意選択的に、デバイス３００上に実装される。いくつかの実施形態では、ユーザインターフェース４００は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びＷｉ−Ｆｉ信号などの無線通信（単数又は複数）に関する信号強度インジケータ（単数又は複数）４０２、
●時刻４０４、
●Ｂｌｕｅｔｏｏｔｈインジケータ４０５、
●バッテリ状態インジケータ４０６、
●以下のような、頻繁に使用されるアプリケーション用のアイコンを有するトレイ４０８、
○不在着信又は音声メールメッセージの数のインジケータ４１４を任意選択的に含む、「電話」とラベル付けされる、電話モジュール１３８用のアイコン４１６、
○未読電子メールの数のインジケータ４１０を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール１４０用のアイコン４１８、
○「ブラウザ」とラベル付けされる、ブラウザモジュール１４７用のアイコン４２０、及び
○「ｉＰｏｄ」とラベル付けされる、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の商標）モジュール１５２とも称されるビデオ及び音楽プレーヤモジュール１５２用のアイコン４２２、並びに
●下記などの、その他のアプリケーション用のアイコン、
○「テキスト」とラベル付けされる、ＩＭモジュール１４１用のアイコン４２４、
○「カレンダー」とラベル付けされる、カレンダーモジュール１４８用のアイコン４２６、
○「写真」とラベル付けされる、画像管理モジュール１４４用のアイコン４２８、
○「カメラ」とラベル付けされる、カメラモジュール１４３用のアイコン４３０、
○「オンラインビデオ」とラベル付けされる、オンラインビデオモジュール１５５用のアイコン４３２、
○「株式」とラベル付けされる、株式ウィジェット１４９−２用のアイコン４３４、
○「マップ」とラベル付けされる、マップモジュール１５４用のアイコン４３６、
○「気象」とラベル付けされる、気象ウィジェット１４９−１用のアイコン４３８、
○「時計」とラベル付けされる、アラーム時計ウィジェット１４９−４用のアイコン４４０、
○「トレーニングサポート」とラベル付けされる、トレーニングサポートモジュール１４２用のアイコン４４２、
○「メモ」とラベル付けされる、メモモジュール１５３用のアイコン４４４、及び
○デバイス１００及びその様々なアプリケーション１３６に関する設定へのアクセスを提供する、設定アプリケーション若しくはモジュール用のアイコン４４６。
【０１０９】
図４Ａに示すアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール１５２用のアイコン４２２は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、対応するアプリケーションアイコンに関するラベルは、対応するアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンに関するラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【０１１０】
図４Ｂは、ディスプレイ４５０（例えば、タッチスクリーンディスプレイ１１２）とは別個のタッチ感知面４５１（例えば、図３のタブレット又はタッチパッド３５５）を備えるデバイス（例えば、図３のデバイス３００）上の、例示的なユーザインターフェースを示す。デバイス３００はまた、タッチ感知面４５１上の接触の強度を検出するための、１つ以上の接触強度センサ（例えば、センサ３５７のうちの１つ以上）、及び／又はデバイス３００のユーザに対する触知出力を生成するための、１つ以上の触知出力生成器３５９を含む。
【０１１１】
以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ１１２上の入力（タッチ感知面とディスプレイとが組み合わされている場合）を参照して説明されるが、いくつかの実施形態では、デバイスは、図４Ｂに示すように、ディスプレイとは別個のタッチ感知面上で入力を検出する。いくつかの実施形態では、タッチ感知面（例えば、図４Ｂの４５１）は、ディスプレイ（例えば、４５０）上の主軸（例えば、図４Ｂの４５３）に対応する主軸（例えば、図４Ｂの４５２）を有する。これらの実施形態によれば、デバイスは、ディスプレイ上の対応する場所に相当する場所（例えば、図４Ｂにおいて、４６０は４６８に相当し、４６２は４７０に相当する）でのタッチ感知面４５１との接触（例えば、図４Ｂの４６０及び４６２）を検出する。このように、タッチ感知面がディスプレイとは別個であるとき、タッチ感知面（例えば、図４Ｂの４５１）上でデバイスによって検出されたユーザ入力（例えば、接触４６０及び４６２、及びそれらの動き）は、多機能機器のディスプレイ（例えば、図４Ｂの４５０）上のユーザインターフェースを操作するためにデバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインターフェースに、任意選択的に使用されることを理解されたい。
【０１１２】
更には、以下の説明は、主に指入力（例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ）を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの１つ以上は、別の入力デバイスからの入力（例えば、マウスベースの入力又はスタイラス入力）で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に（例えば、接触の代わりに）マウスクリックで置き換えられ、その後、（例えば、接触の移動の代わりに）スワイプの経路に沿ってカーソルの移動が行われる。別の実施例として、タップジェスチャは、（例えば、接触の検出に続いて接触の検出を停止する代わりに）カーソルがタップジェスチャの場所に配置される間、任意選択的にマウスクリックで置き換えられる。同様に、複数のユーザ入力が同時に検出される場合、複数のコンピュータマウスが任意選択的に同時に使用されるか、又は、マウスと指の接触とが任意選択的に同時に使用されることを理解されたい。
ユーザインターフェース及び関連プロセス
【０１１３】
デバイス３００又はポータブル多機能デバイス１００などの、ディスプレイ、タッチ感知面及びカメラを有する電子デバイスに実装することができるユーザインターフェース（「ＵＩ」）及び関連処理の実施形態に注目を向ける。
【０１１４】
図５Ａ〜図５Ｎは、いくつかの実施形態に係る、カメラインターフェース間で切り替えるための例示的なユーザインターフェースを示す。これらの図のユーザインターフェースは、図６Ａ〜図６Ｇのプロセスを含めた、以下で説明されるプロセスを示すために使用される。
【０１１５】
図５Ａは、タッチスクリーン１１２上に表示されたカメラインターフェース５０２−１を示す。カメラインターフェース５０２−１は、カメラアプリケーション（例えば、カメラモジュール１４３）のための複数のインターフェース５０２のうちの１つである。インターフェースの各々は、仮想カメラ又はカメラモードに相当する。例えば、カメラインターフェース５０２−１は、標準カメラモード又は仮想標準カメラに相当する。
【０１１６】
カメラインターフェース５０２−１は、カメラロールアイコン５０４と、シャッターボタン５０６−１と、カメラプレビュー５０８−１と、１つ以上の制御とを含む。制御は、例えば、フラッシュコントロール５１０、高ダイナミックレンジ（ＨＤＲ）制御５１２、格子制御５１４、フィルタ制御５１６、及び前面／背面カメラ制御５１８を含む。デバイス１００は、カメラロールアイコン５０４のアクティブ化に応答して，カメラロール（例えば、デバイス１００上のカメラによりキャプチャされた写真及びビデオのセット）を表示する。フラッシュ制御５１０のアクティブ化は、タッチスクリーン１１２上でのユーザ選択のために、フラッシュオプション（例えば、オン、オフ、自動）のセットの表示をアクティブ化する。ＨＤＲ制御５１２のアクティブ化は、カメラインターフェース５０２−１に対する高ダイナミックレンジの機能性を切り替える。格子制御５１４のアクティブ化は、カメラプレビュー５０８−１上での格子線のディスプレイを切り替える。フィルタ制御５１６のアクティブ化は、タッチスクリーン１１２上でのユーザ選択のために、フィルタオプションのセット５５６（図５Ｌ）の表示をアクティブ化する。前面／背面カメラ制御５１８のアクティブ化は、デバイス１００上の前面カメラのアクティブ化と、デバイス１００上の背面カメラのアクティブ化との間で切り替わる。
【０１１７】
カメラプレビュー５０８は、デバイス１００上に、カメラにより感知された視覚データを表示する。カメラプレビュー５０８は、ユーザに、デバイス１００上のカメラによりキャプチャされたメディアに何が含まれるかについてのプレビューを与える。
【０１１８】
図５Ａは、デバイス１００が、カメラプレビュー５０８−１上の位置５２０−ａにおける接触５２０によるジェスチャ（例えば、タップアンドホールドジェスチャ）を検出することを示す。接触５２０によるジェスチャを検出したことに応答して、デバイス１００は、図５Ｂに示すように、位置５２０−ａにおける接触５２０に近接した位置５２２−ａに（「オートフォーカスルーペ」とも称され得る）拡大区域５２２を表示する。オートフォーカスルーペ５２２内に、接触５２０の周辺のズームインビューが表示される。オートフォーカスルーペ５２２中のズームインビュー上の点５２４−１（例えば、拡大区域５２２の中心に相当する点）が、オートフォーカス基準点として選択される。
【０１１９】
図５Ｂ〜図５Ｃは、接触５２０が、タッチスクリーン１１２との接触を依然として維持しながら、位置５２０−ｂへと方向５２６に移動することを示す。接触５２０による移動を検出したことに応答して、デバイス１００は、図５Ｃに示すように、位置５２０−ｂにおける接触５２０に近接する位置５２２−ｂまで、オートフォーカスルーペ５２２を移動させる。オートフォーカスルーペ５２２中のズームインビュー上の点５２４−２（例えば、オートフォーカスルーペ５２２の中心に相当する点）が、新たなオートフォーカス基準点として選択される。
【０１２０】
いくつかの実施形態では、タッチスクリーン１１２上で接触が検出されたとき、接触により行われた入力は、オートフォーカスルーペ５２２の表示及びオートフォーカス基準点の選択か、現在表示されているカメラインターフェース５０２から別のカメラインターフェース５０２への切り替えのいずれかをアクティブ化する。いくつかの実施形態では、２つの動作のうちどちらをアクティブ化すべきかを判定するための基準は、既定の時間期間内におけるタッチスクリーン１１２上で既定量よりも多く接触が移動するかどうかである。接触が、タッチスクリーン１１２との接触から既定の時間期間にわたって静止している、又は実質的に静止している場合（例えば、図５Ａにおける接触５２０）、オートフォーカス基準点が選択され、オートフォーカスルーペ５２２が表示される。
【０１２１】
一方、接触が、タッチスクリーン１１２との接触から既定の時間期間内で移動する場合、デバイス１００は、現在表示されているカメラインターフェース５０２を別のカメラインターフェース５０２に切り替える。例えば、図５Ｄは、タッチスクリーン１１２上の位置５２８−ａにおいて検出された接触５２８によるジェスチャ（例えば、スワイプジェスチャ）を示している。ジェスチャは、接触５２８が、方向５３０に位置５２８−ｂ（図５Ｅ）及び更に先まで移動することを含む。接触５２８は、タッチスクリーン１１２との接触から、既定の時間期間内で移動する。ジェスチャは、任意のカメラインターフェース切り替えアフォーダンスとは対話しない。更に、接触５２８は、その移動において、カメラプレビュー５０８−１の上を移動し、カメラの動作（例えば、カメラロールアイコン５０４、シャッターボタン５０６−１、制御５１０、５１２、５１４、５１６及び５１８）を制御するためのいかなる表示されたアフォーダンスの上も移動しない。接触５２８の移動を検出したことに応答して、デバイス１００は、図５Ｅ〜図５Ｈに示すように、カメラインターフェース５０２−１からカメラインターフェース５０２−２に切り替える。
【０１２２】
いくつかの実施形態では、カメラインターフェースの切り替えは、１つのインターフェースから他のインターフェースへの遷移を示すアニメーションを含む。いくつかの実施形態では、アニメーションは、レンズ切り替え効果を呈する。アニメーションは、インターフェースのスイッチが切られたこと、及びインターフェースのスイッチが入ったことに関連付けられた、例えば、カメラにより最近検出された視覚データ（例えば、アニメーション以前に最後にカメラプレビュー５０８に示された視覚データ）に相当する対応するぼけた画像を表示することを含む。また、アニメーションは、例えば、ディスプレイのスイッチを切られたカメラインターフェースに関連付けられたぼけた画像の並進移動、及びディスプレイ上にスイッチが入れられたカメラインターフェースに関連付けられたぼけた画像の並進移動を含む。
【０１２３】
したがって、例えば、図５Ｅは、タッチスクリーン１１２上に表示されカメラインターフェース５０２−１に関連付けられたぼけた画像５３２−１を示している。接触５２８が方向５３０に移動し続けるにつれて、ぼけた画像５３２−１は、タッチスクリーンから方向５３０に並進移動し、カメラインターフェース５０２−２に関連付けられたぼけた画像５３２−２は、タッチスクリーン１１２上を方向５３０に並進移動する。図５Ｆ〜図５Ｇに示すように、接触が、方向５２０に位置５２８−ｃ及び５２８−ｄまで移動を継続すると、ぼけた画像５３２−１は並進移動し続けてタッチスクリーン１１２から消え、ぼけた画像５３２−２は、タッチスクリーン１１２上へと並進移動し続ける。
【０１２４】
図５Ｈは、アニメーションの完了を示しており、カメラインターフェース５０２−２がタッチスクリーン１１２上に表示され、カメラインターフェース５０２−１と置き換わっている。カメラインターフェース５０２−２は、ビデオカメラモード又は仮想ビデオカメラに相当する。カメラインターフェース５０２−２は、カメラロールアイコン５０４と、シャッター（例えば、ビデオ記録オン／オフ）ボタン５０６−２と、カメラプレビュー５０８−２と、常時フラッシュ制御５３４とを含む。常時フラッシュ制御５３４のアクティブ化は、フラッシュライトをオフすることと、フラッシュライトを常時オンすることとの間で切り替わる。
【０１２５】
カメラインターフェース５０２−１及びカメラインターフェース５０２−２は、異なる出力寸法及び異なるアスペクト比でメディアをキャプチャする。いくつかの実施形態では、カメラインターフェース５０２−１は、デバイス１００上の物理的なカメラセンサのセンサ寸法に一致する寸法（例えば、３２６４×２４４８ピクセル）及び相当するアスペクト比（例えば、４：３）の静止画像をキャプチャし、カメラインターフェース５０２−２は、異なるアスペクト比（例えば、１６：９）で、物理的なカメラセンサのセンサ寸法よりも小さい（例えば、３２６４×２４４８ピクセルよりも小さい）寸法のビデオをキャプチャする。
【０１２６】
カメラインターフェース５０２−１及び５０２−２にそれぞれ相当するカメラプレビュー５０８−１及び５０８−２は、対応するカメラインターフェースに関連付けられた出力寸法の対応する視覚的な指示を含む。例えば、カメラプレビュー５０８−１（図５Ａ）は、カメラインターフェース５０２−１の出力寸法がセンサ寸法と一致することを示すレターボックスなしで表示される。カメラプレビュー５０８−２（図５Ｈ）は、カメラインターフェース５０２−２の出力寸法がセンサ寸法よりも小さいことを示すレターボックスを用いて表示される。
【０１２７】
いくつかの実施形態では、カメラインターフェース５０２−１は、カメラインターフェース５０２−２には含まれない１つ以上の制御を含む。いくつかの実施形態では、カメラインターフェース５０２−２は、カメラインターフェース５０２−１には含まれない１つ以上の制御を含む。例えば、カメラインターフェース５０２−１は、カメラインターフェース５０２−２には含まれないＨＤＲ制御５１２を含み、カメラインターフェース５０２−２は、カメラインターフェース５０２−１には含まれない常時フラッシュ制御５３４を含む。
【０１２８】
図５Ｈは、タッチスクリーン１１２上のカメラプレビュー５０８−２の上で、デバイス１００が検出した接触５３６によるジェスチャ（例えば、スワイプジェスチャ）を示す。ジェスチャは、接触５３６が、カメラプレビュー５０８−２を横切るが、カメラの動作を制御するための表示された任意のアフォーダンスは横切らずに、方向５３０に対向する方向５４０に移動していることを含む。接触５３６によるジェスチャを検出したことに応答して、デバイス１００は、カメラインターフェース５０２−２から切り替えてカメラインターフェース５０２−１に戻す。いくつかの実施形態では、図５Ｅ〜図５Ｇに示したアニメーションと同様であるが、図５Ｅ〜図５Ｇに図示された方向とは逆方向のアニメーションが、カメラインターフェース５０２−２からカメラインターフェース５０２−１への切り替えのために表示される。
【０１２９】
また、図５Ｈは、代替的に、タッチスクリーン１１２上のカメラプレビュー５０８−２の上で、デバイス１００が検出した接触５３８によるジェスチャ（例えば、スワイプジェスチャ）も示す。ジェスチャは、接触５３８が、カメラプレビュー５０８−２を横切るが、カメラの動作を制御するための表示された任意のアフォーダンスは横切らずに、方向５３０に移動していることを含む。接触５３８によるジェスチャを検出したことに応答して、デバイス１００は、カメラインターフェース５０２−２からカメラインターフェース５０２−３に切り替える（図５Ｉ）。いくつかの実施形態では、図５Ｅ〜図５Ｇに示したアニメーションと同様であるアニメーションが、カメラインターフェース５０２−２からカメラインターフェース５０２−３への切り替えのために表示される。
【０１３０】
図５Ｉは、タッチスクリーン１１２上に表示されたカメラインターフェース５０２−３を示す。カメラインターフェース５０２−３は、スクエアカメラモード又は仮想スクエアカメラに相当する。カメラインターフェース５０２−３は、カメラロールアイコン５０４と、シャッターボタン５０６−３と、カメラプレビュー５０８−３と、フラッシュ制御５４２及び、白黒制御５４４とを含む。フラッシュ制御５４２は、フラッシュ制御５１０（図５Ａ）と同様である。白黒制御５４４のアクティブ化は、白黒画像モードとカラー画像モードとの間で切り替わる。白黒制御５４４は、カメラインターフェース５０２−１又はカメラインターフェース５０２−２には含まれない。
【０１３１】
カメラインターフェース５０２−１、５０２−２及び５０２−３は、１つ以上の制御を共有する。例えば、カメラロールアイコン５０４は、カメラインターフェース５０２−１、５０２−２及び５０２−３に存在し、カメラインターフェース５０２−１、５０２−２及び５０２−３において、タッチスクリーン１１２上の同じ場所に表示される。また、カメラインターフェース５０２−１、５０２−２及び５０２−３の各々は、タッチスクリーン１１２上の同じ場所にシャッターボタン５０６を含み、シャッターボタン５０６の視覚的見掛けは、具体的なインターフェースに応じて変動する（例えば、シャッターボタン５０６−２の視覚的見掛けは、シャッターボタン５０６−１又は５０６−３の視覚的見掛けとは異なる）。
【０１３２】
カメラインターフェース５０２−３は、カメラインターフェース５０２−１又は５０２−２とは異なる出力寸法及びアスペクト比でメディアをキャプチャする。例えば、カメラインターフェース５０２−３は、デバイス１００上のセンサ寸法よりも小さい出力寸法に関連付けられ、１：１のアスペクト比に関連付けられる。図５Ｉに示すようにスクエアカメラプレビュー５０８−３を画定するウインドウボックス（即ち、レターボックス及びピラーボックスの両方を有する）は、１：１のアスペクト比及びより小さい出力寸法の視覚的な指示を提供する。
【０１３３】
図５Ｉは、タッチスクリーン１１２上のカメラプレビュー５０８−３の上で、デバイス１００が検出した接触５４６によるジェスチャ（例えば、スワイプジェスチャ）を示す。ジェスチャは、接触５４６が、カメラプレビュー５０８−３を横切るが、カメラの動作を制御するための表示された任意のアフォーダンスは横切らずに、方向５３０に対向する方向５４０に移動していることを含む。接触５４６によるジェスチャを検出したことに応答して、デバイス１００は、カメラインターフェース５０２−３から切り替えてカメラインターフェース５０２−２に戻す。いくつかの実施形態では、図５Ｅ〜図５Ｇに示したアニメーションと同様であるが、図５Ｅ〜図５Ｇに図示された方向とは逆方向のアニメーションが、カメラインターフェース５０２−３からカメラインターフェース５０２−２への切り替えのために表示される。
【０１３４】
また、図５Ｉは代替的に、タッチスクリーン１１２上のカメラプレビュー５０８−３の上で、デバイス１００が検出した接触５４８によるジェスチャ（例えば、スワイプジェスチャ）も示す。ジェスチャは、接触５４８が、カメラプレビュー５０８−３を横切るが、カメラの動作を制御するための表示された任意のアフォーダンスは横切らずに、方向５３０に移動していることを含む。接触５４８によるジェスチャを検出したことに応答して、デバイス１００は、カメラインターフェース５０２−３からカメラインターフェース５０２−４に切り替える（図５Ｊ）。いくつかの実施形態では、図５Ｅ〜図５Ｇに示したアニメーションと同様であるアニメーションが、カメラインターフェース５０２−３からカメラインターフェース５０２−４への切り替えのために表示される。
【０１３５】
図５Ｊは、タッチスクリーン１１２上に表示されたカメラインターフェース５０２−４を示す。カメラインターフェース５０２−４は、パノラマカメラモード又は仮想パノラマカメラに相当する。カメラインターフェース５０２−４は、カメラロールアイコン５０４と、シャッターボタン５０６−４と、カメラプレビュー５０８−４と、パノラマプログレスインジケータ５５０とを含む。パノラマプログレスインジケータ５５０は、パノラマのための連続した画像のアライメントを表示する。カメラインターフェース５０２−１、５０２−２、５０２−３は、パノラマプログレスインジケータ５５０を含まない。したがって、いくつかの実施形態では、パノラマカメラの出力は、どのくらい多くの画像がパノラマに統合されているか、画像がどのくらい重なっているか、最終パノラマ画像はどのくらい切り落とされているかに依存する可変サイズの画像である。
【０１３６】
カメラインターフェース５０２−１、５０２−２、５０２−３及び５０２−４は、１つ以上の制御を共有する。例えば、カメラロールアイコン５０４は、カメラインターフェース５０２−１、５０２−２、５０２−３及び５０２−４に存在し、カメラインターフェース５０２−１、５０２−２、５０２−３及び５０２−４において、タッチスクリーン１１２上の同じ場所に表示される。また、カメラインターフェース５０２−１、５０２−２、５０２−３及び５０２−４の各々は、タッチスクリーン１１２上の同じ場所にシャッターボタン５０６を含み、シャッターボタン５０６の視覚的見掛けは、具体的なインターフェースに応じて変動する（例えば、シャッターボタン５０６−２の視覚的見掛けは、シャッターボタン５０６−１、５０６−３又は５０６−４の視覚的見掛けとは異なる）。
【０１３７】
カメラインターフェース５０２−４は、カメラインターフェース５０２−１、５０２−２又は５０２−３とは異なる出力寸法及びアスペクト比でメディアをキャプチャする。例えば、カメラインターフェース５０２−４は、デバイス１００上のセンサ寸法よりも大きい出力寸法に関連付けられ、カメラインターフェース５０２−１、５０２−２及び５０２−３に関連付けられたアスペクト比とは異なるアスペクト比に関連付けられる。パノラマプログレスインジケータ５５０は、異なるアスペクト比及びより大きい出力寸法の視覚的な指示を提供する。
【０１３８】
図５Ｊは、タッチスクリーン１１２上のカメラプレビュー５０８−４の上で、デバイス１００が検出した接触５５２によるジェスチャ（例えば、スワイプジェスチャ）を示す。ジェスチャは、接触５５２が、カメラプレビュー５０８−４を横切るが、カメラの動作を制御するための表示された任意のアフォーダンスは横切らずに、方向５３０に対向する方向５４０に移動していることを含む。接触５５２によるジェスチャを検出したことに応答して、デバイス１００は、カメラインターフェース５０２−４から切り替えてカメラインターフェース５０２−３に戻す。いくつかの実施形態では、図５Ｅ〜図５Ｇに示したアニメーションと同様であるが、図５Ｅ〜図５Ｇに図示された方向とは逆方向のアニメーションが、カメラインターフェース５０２−４からカメラインターフェース５０２−３への切り替えのために表示される。
【０１３９】
したがって、図５Ｄ〜図５Ｊは、タッチスクリーン１１２を横切る（例えば、カメラプレビュー５０８上での）接触の移動を含む対応するジェスチャを検出したことに応答して、順番に、４つのカメラインターフェース５０２の間で切り替わるデバイス１００を示す。デバイス１００は、４つよりも多くの（例えば、５つ以上の）、又は４つよりも少ない（例えば、３つの）カメラインターフェース５０２の間で切り替えることができることを了解されたい。また、図５Ｄ〜図５Ｊに示したインターフェース５０２のシーケンスは例に過ぎず、インターフェース５０２は、任意の好適な順序で順序付けられ得る。
【０１４０】
いくつかの実施形態では、デバイス１００は、対応するジェスチャを検出したことに応答して、３つのカメラインターフェース５０２の間で切り替える。３つのインターフェースは、例えば、ビデオカメラインターフェース（例えば、インターフェース５０２−２）と、２つの異なる静止画像カメラインターフェース（例えば、インターフェース５０２−１、及びインターフェース５０２−３又は５０２−４のいずれか）とを含む。いくつかの実施形態では、３つのインターフェースは、矩形スチルカメラインターフェース（例えば、インターフェース５０２−１）、ビデオカメラインターフェース（例えば、インターフェース５０２−２）、パノラマスチルカメラインターフェース（例えば、インターフェース５０２−４）、白黒スチルカメラインターフェース、及びスクエアスチルカメラインターフェース（例えば、インターフェース５０２−３）のうちのいずれか３つを含む。
【０１４１】
いくつかの実施形態では、カメラインターフェースのシーケンスはデフォルトで３つのインターフェースを含むように構成され、ユーザ入力に従って、３つを超える追加のインターフェースが含まれる。例えば、デフォルトシーケンスは、インターフェース５０２−１、５０２−２及び５０２−３を含み、ユーザは、シーケンスに追加するためのインターフェース５０２−４を選択することができる。代替的には、デフォルトシーケンスは、インターフェース５０２−１、５０２−２及び５０２−４を含み、ユーザは、シーケンスに追加するためのインターフェース５０２−３を選択することができる。
【０１４２】
図５Ｋは、図５Ａと同様に、カメラプレビュー５０８−１と共に、タッチスクリーン１１２上に表示されたカメラインターフェース５０２−１を示している。デバイス１００は、フィルタ制御５１６上での接触５５４を検出する。フィルタ制御５１６上での接触５５４を検出したことに応答して、デバイス１００は、図５Ｌに示すように、タッチスクリーン１１２上にフィルタオプション５５６を表示する。フィルタオプション５５６−１〜５５６−３は、デバイス１００によりキャプチャされた媒体に適用される異なる複数のフィルタに相当する。
【０１４３】
デバイス１００は、フィルタオプション５５６−３上での接触５５８を検出する。フィルタオプション５５６−３上での接触５５８を検出したことに応答して、デバイス１００上でカメラによりキャプチャされた視覚データに、フィルタオプション５５６−３に相当するフィルタが適用される。カメラプレビュー５０８−１は、図５Ｍに示すように、適用されたフィルタを用いて表示され、このようにすると、適用されたフィルタを用いた媒体の視覚的見掛けのライブプレビューがユーザに与えられる。任意選択的に、フィルタ制御５１６は、フィルタが適用されていることを更に示すために（例えば、より太い輪郭を用いて）強調表示される。
【０１４４】
いくつかの実施形態では、対応するインターフェースにおいてタッチスクリーン１１２上に、カメラインターフェース切り替え制御が表示される。例えば、図５Ｎは、カメラインターフェース５０２−２においてタッチスクリーン１１２上に表示されたカメラインターフェース切り替え制御５６０を示す。制御５６０−１はインターフェース５０２−１に相当し、相応を示す標準カメラアイコンを含む。制御５６０−２はインターフェース５０２−２に相当し、相応を示すビデオカメラアイコンを含む。制御５６０−３はインターフェース５０２−３に相当し、相応を示す（スクエアカメラための）スクエアアイコンを含む。制御５６０−２は、インターフェース５０２−３がタッチスクリーン１１２上に現在表示されていることを示すために（例えば、より太い輪郭を用いて）強調表示される。対応する制御５６０上での対応する接触を検出したことに応答して、デバイス１００は、現在表示されているカメラインターフェースから、接触が検出された制御５６０に相当するカメラインターフェースへと切り替える。例えば、デバイス１００は、制御５６０−１上での接触５６２を検出する。制御５６０−１上での接触５６２を検出したことに応答して、デバイス１００は、カメラインターフェース５０２−２からカメラインターフェース５０２−１へと切り替える。同様に、制御５６０−３上での接触を検出したことに応答して、デバイス１００は、カメラインターフェース５０２−２からカメラインターフェース５０２−３へと切り替える。
【０１４５】
図６Ａ〜図６Ｇは、いくつかの実施形態に係る、カメラインターフェースの間で切り替える方法６００を示す流れ図である。方法６００は、ディスプレイ及び、タッチ感知面とを有する電子デバイス（例えば、図３のデバイス３００、又は、図１Ａのポータブル多機能デバイス１００）において実行される。いくつかの実施形態では、このディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上に存在する。いくつかの実施形態では、ディスプレイはタッチ感知面とは別個である。方法６００におけるいくつかの動作は、任意選択的に組み合わされ、及び／又は一部の動作の順序は、任意選択的に変更される。
【０１４６】
以下に説明されるように、方法６００は、カメラインターフェース間で切り替えるための直感的な方法を提供する。この方法は、カメラインターフェース間で切り替えるときのユーザの認識的負担を軽減し、それによって、より効率的なヒューマンマシンインターフェースを作成する。バッテリ動作型電子デバイスの場合、ユーザがより高速かつ効率的にカメラインターフェース間で切り替えることを可能にすることにより、電力を節約し、バッテリ充電間の時間を延ばす。
【０１４７】
デバイスは、第１の出力寸法（例えば、３２６４×２４４８ピクセルなどの媒体の寸法）の媒体を生成する第１の仮想カメラについての第１のカメラインターフェースをディスプレイ上に表示する（６０２）。例えば、図５Ａ及び図５Ｄは、タッチスクリーン１１２上に表示されたカメラインターフェース５０２−１を示す。カメラインターフェース５０２−１は、特定の出力寸法で静止画像をキャプチャする仮想標準カメラに相当する。
【０１４８】
ディスプレイ上に第１のカメラインターフェースを表示している間、デバイスは、タッチ感知面上での第１の方向の接触の移動を含む第１のジェスチャを検出し、第１のジェスチャは、既定のカメラ切り替えアフォーダンスと対話しない（６０４）。いくつかの実施形態では、第１のカメラインターフェースは、既定のカメラ切り替えアフォーダンスを含まない。いくつかの実施形態では、第１のカメラインターフェースは、既定のカメラ切り替えアフォーダンスを含むが、第１のジェスチャは、その既定のカメラ切り替えアフォーダンスを含まない（例えば、そこから遠隔な）第１のカメラインターフェースの場所に相当する。デバイス１００は、例えば、図５Ｄに示すように、接触５２８が方向５３０に移動しているジェスチャを検出する。ジェスチャは、任意のカメラ切り替えアフォーダンス（例えば、カメラインターフェース切り替え制御５６０（図５Ｎ））と対話しない。
【０１４９】
いくつかの実施形態では、タッチ感知面は、タッチスクリーンディスプレイの一部であり、第１のジェスチャは、タッチスクリーンディスプレイ上に表示されたカメラプレビューを横切る接触の移動を含む（６０６）。例えば、接触５２８によるジェスチャは、カメラプレビュー５０８−１の上をタッチスクリーン１１２を横切って移動する（図５Ｄ）。
【０１５０】
いくつかの実施形態では、タッチ感知面は、タッチスクリーンディスプレイの一部であり、第１のジェスチャは、カメラの動作を制御するためのいかなる表示されたアフォーダンスも含まないタッチスクリーンディスプレイの一部分を横切る接触の移動を含む（６０８）。例えば、接触５２８によるジェスチャは、カメラプレビュー５０８−１の上をタッチスクリーン１１２を横切って移動し（図５Ｄ）、カメラの動作（例えば、カメラロールアイコン５０４、シャッターボタン５０６−１、制御５１０、５１２、５１４、５１６及び５１８）を制御するためのいかなる表示されたアフォーダンスの上も移動しない。
【０１５１】
第１のジェスチャを検出したことに応答して、デバイスは、第１のカメラインターフェースを表示することから、第１の出力寸法とは異なる第２の出力寸法のメディアを生成する第２の仮想カメラのための第２のカメラインターフェースを表示することに切り替える。第２のカメラインターフェースは、第１のカメラインターフェースとは異なる（６１０）。いくつかの実施形態では、第１のカメラインターフェースは、第２のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、第２のカメラインターフェースは、第１のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、及び／又は、メディアプレビューが有する第１のカメラインターフェースにおける外観は、第２のカメラインターフェースにおける外観とは異なる。いくつかの実施形態では、第１のカメラインターフェースと第２のカメラインターフェースとの間で異なる、その１つの対応する制御は、ハードウェアカメラ選択ボタン（例えば、前面カメラ対背面カメラ）、画像キャプチャオプションボタン、フィルタ選択ボタン、又はフラッシュトグルボタンを含む。接触５２８によるジェスチャを検出したことに応答して、デバイス１００は、カメラインターフェース５０２−１（図５Ｄ）からカメラインターフェース５０２−２に切り替える（図５Ｈ）。カメラインターフェース５０２−２は、仮想ビデオカメラに相当し、カメラインターフェース５０２−１とは異なる出力寸法に関連付けられる。
【０１５２】
いくつかの実施形態では、第１のカメラインターフェースは、第１の出力寸法の視覚的な指示（例えば、標準スチルカメラについてのカメラプレビューのフルスクリーン表示）を提供し、第２のカメラインターフェースは、第２の出力寸法の視覚的な指示（例えば、スクエアカメラ又はビデオカメラについてのレターボックス付きカメラプレビュー）を提供する（６１２）。例えば、カメラインターフェース５０２−１におけるカメラプレビュー５０８−１は、フルスクリーンプレビューであり、カメラインターフェース５０２−２におけるカメラプレビュー５０８−２は、レターボックス付きカメラプレビューである。
【０１５３】
いくつかの実施形態では、第１の出力寸法は、第２の出力寸法とは異なるアスペクト比を有する（６１４）。例えば、カメラインターフェース５０２−１に関連付けられたアスペクト比は４：３であり、カメラインターフェース５０２−２に関連付けられたアスペクト比は１６：９である。
【０１５４】
いくつかの実施形態では、第１のカメラインターフェースは、第２のカメラインターフェース（及び、任意選択的に第３のカメラユーザインターフェース）には含まれない１つ以上の制御（例えば、ビデオカメラ又はパノラマカメラなどについて利用可能ではない高ダイナミックレンジ又は「ＨＤＲ」画像など、スチルカメラ表示オプション又は静止画像キャプチャオプション）を含む（６１６）。例えば、カメラインターフェース５０２−１は、カメラインターフェース５０２−２、５０２−３又は５０２−４には含まれないＨＤＲ制御５１２を含む。
【０１５５】
いくつかの実施形態では、第２のカメラインターフェースは、第１のカメラインターフェース（及び、任意選択的に第３のカメラユーザインターフェース）には含まれない１つ以上の制御（例えば、フラッシュを常時オンにするための制御）を含む（６１８）。例えば、カメラインターフェース５０２−２は、カメラインターフェース５０２−１、５０２−３又は５０２−４には含まれない常時フラッシュ制御５３４を含む。
【０１５６】
いくつかの実施形態では、第１のカメラインターフェースを表示することから第２のカメラインターフェースを表示することへの切り替えは、第１のカメラインターフェースと第２のカメラインターフェースとの間でのアニメーション化された遷移を表示することを含む（６２０）。アニメーション化された遷移は、カメラにより最近検出された視覚データに相当する第１のぼけた画像を表示すること、第１のぼけた画像を対応する方向に並進移動させてディスプレイから外すこと、対応する方向におけるディスプレイを横切る境界の移動を表示すること、及び第２のぼけた画像を、ディスプレイ上で対応する方向に並進移動させることを含み、第２のぼやけた画像は、カメラにより最近検出された視覚データに相当する。いくつかの実施形態では、対応する方向は、第１のジェスチャ中のタッチ感知面上での接触の移動方向に相当する。いくつかの実施形態では、境界は、カメラセンサの上での交換可能レンズの移動をシミュレートするように湾曲している。いくつかの実施形態では、カメラは、異なる「モード」間で切り替わり、したがって、第２のカメラインターフェースに関連付けられた動作モードに相当する視覚データをキャプチャするためにはカメラを利用できないので、第１及び第２のぼけた画像は、同一の視覚データ（例えば、カメラユーザインターフェースを切り替える前にカメラを用いてキャプチャしたデータ）に相当する。いくつかの実施形態では、第２のカメラインターフェースから、第３の、異なるカメラインターフェース（例えば、パノラマカメラのためのカメラインターフェース）に切り替わるときに、類似するアニメーションが表示される。いくつかの実施形態では、アニメーション化された遷移は、第１のカメラインターフェースのためのシャッターボタンが、第２のカメラインターフェースのためのシャッターボタンに遷移している（例えば、ビデオカメラインターフェースのための赤いシャッターボタンが、スチルカメラインターフェースのためのグレー又はシルバーのシャッターボタンに置き換わるためにスライドしている）ことを表示することを含む。
【０１５７】
例えば、図５Ｄ〜図５Ｈは、アニメーションを含む、カメラインターフェース５０２−１からカメラインターフェース５０２−１への切り替えを示している。アニメーションは、方向５３０に並進移動してタッチスクリーン１１２から外れた、カメラインターフェース５０２−１に相当するぼけた画像５３２−１と、タッチスクリーン１１２上を方向５３０に並進移動する、カメラインターフェース５０２−２に相当するぼけた画像５３２−２と含む。
【０１５８】
いくつかの実施形態では、第１のカメラインターフェースは、カメラにより検出された現在の視覚データを表示するための第１のカメラプレビューを含む（６２２）。デバイスは、デバイスがキャプチャしたメディアにユーザ選択フィルタを適用する旨の要求を受け取り（６２４）、カメラがキャプチャした視覚データにユーザ選択フィルタを適用し（６２６）、それにより、第１のカメラプレビューはユーザ選択フィルタにより修正された現在の視覚データを含む。いくつかの実施形態では、ユーザ選択フィルタは、メディアを（例えば、ユーザ選択フィルタが選択されて、カメラプレビューに適用されている間にビデオ又は静止画像）をキャプチャする旨の要求を受け取ったことに応答して、画像又はビデオに適用される。いくつかの実施形態では、前のフィルタが選択されている間（又はフィルタが選択されていない間）ユーザ選択フィルタが選択され、デバイスは、前のフィルタにより修正された現在の視覚データの表示を停止し、ユーザ選択フィルタにより修正された現在の視覚データの表示を開始する（例えば、フィルタは、カメラ出力のプレビューに「ライブ」を適用する「ライブ」フィルタである）。いくつかの実施形態では、フィルタは、画像から後で除去することができる非破壊フィルタである（例えば、カメラがキャプチャした画像データは、画像データ上で実行される画像処理動作の対応するスタックとは別個に格納され、画像処理動作の対応するスタックは除去され、フィルタを除去する旨のユーザ要求及び／又は異なるフィルタを適用する旨のユーザ要求に応答して、フィルタを除去する及び／又は異なるフィルタを適用するための画像処理動作の異なるスタックと置き換えられ得る）。
【０１５９】
例えば、図５Ｋ〜図５Ｌは、（フィルタオプション５５６−３上での接触５５８の形態の）フィルタオプション５５６−３に相当するフィルタを適用する旨の要求を受け取るデバイス１００を示す。要求を受け取ったことに応答して、デバイス１００は、カメラがキャプチャした視覚データにフィルタを適用し、カメラプレビュー５０８−１は、図５Ｍに示すように、フィルタが適用された状態で表示される。
【０１６０】
いくつかの実施形態では、タッチ感知面はタッチスクリーンディスプレイを含み、対応するカメラインターフェースは、カメラにより検出された現在の視覚データを表示するための対応するカメラプレビューを含む（６２８）。対応するカメラインターフェースを表示している間、デバイスは、対応するカメラプレビューに相当する場所において検出された対応する接触（例えば、タッチスクリーンディスプレイ上で検出された対応する接触に相当するタッチアンドホールド入力）を含む対応する入力を検出する（６３０）。対応する入力を検出したことに応答して、対応するカメラプレビューの第１の拡大部分を表示し、その第１の拡大部分内の１点をオートフォーカス基準点として選択する（６３２）。第１の拡大部分（たとえば、「オートフォーカスルーペ」）を表示することにより、ユーザが、カメラプレビューにおいて、オートフォーカス基準点をより正確に選択することが可能になる。例えば、図５Ａは、タッチスクリーン１１２上のカメラプレビュー５０８−１の上で検出された接触５２０によるタップアンドホールドジェスチャを示す。ジェスチャを検出したことに応答して、カメラプレビュー５０８−１のズームイン部分は、タッチスクリーン１１２上のオートフォーカスルーペ５２２中に表示され、ズームイン部分中の点５２４−１がオートフォーカス基準点として選択される。
【０１６１】
いくつかの実施形態では、第１の拡大部分を表示している間に、デバイスは、カメラプレビュー内における対応する接触の移動を検出する（６３４）。対応する接触の移動を検出したことに応答して、デバイスは、第１の拡大部分とは異なる、対応するカメラプレビューの第２の拡大部分を表示し、第２の拡大部分内の１点をオートフォーカス基準点として選択する（６３６）。例えば、オートフォーカスルーペ５２２が表示されている間、位置５２０−ａから位置５２０−ｂへの接触５２０の移動を検出したことに応答して、デバイス１００は、オートフォーカスルーペ５２２を位置５２２−ｂに表示し、オートフォーカスルーペ５２２内にズームイン部分が表示され、接触５２０の近傍のカメラプレビュー５０８−１のズームイン部分は、位置５２０−ｂに表示される。ズームイン部分中の点５２４−２が新しいオートフォーカス基準点として選択される。
【０１６２】
いくつかの実施形態では、タッチ感知面はタッチスクリーンディスプレイを含み、第１のカメラインターフェースは、カメラにより検出された現在の視覚データを表示するための対応するカメラプレビューを含む（６３８）。第１のカメラインターフェースを表示している間、デバイスは、対応するカメラプレビューにおいて検出された対応する接触を含む対応する入力を検出する（６４０）。対応する入力を検出したことに応答して（６４２）、デバイスは、既定の時間期間内においてタッチスクリーンディスプレイ上での既定量を超える対応する接触の移動を入力が含むかどうかを判定する（６４４）。対応する入力が、既定の時間期間内において、タッチスクリーンディスプレイ上での既定量を超える対応する接触の移動を含む（例えば、接触の移動が０．１秒以内、０．２秒以内、０．５秒以内、又は何らかの他の相応の時間期間内である）という判定に従って、デバイスは、第１のカメラインターフェースから、異なるカメラインターフェースに切り替える（例えば、スワイプジェスチャを検出したことに応答して、異なるカメラインターフェースを表示する）（６４６）。対応する接触が、既定の時間期間内において、タッチスクリーンディスプレイ上で既定量を超えて移動しない（例えば、接触は０．１秒間、０．２秒間、０．５秒間、又は何らかの他の相応の時間期間にわたって静止している、又は実質的に静止している）という判定に従って、デバイスは、対応するカメラプレビューの拡大部分を表示し、拡大部分内の点をオートフォーカス基準点として選択する（例えば、タッチアンドホールドジェスチャを検出したことに応答して、オートフォーカスルーペを表示する）。例えば、図５Ａは、タッチスクリーン１１２上のカメラプレビュー５０８−１の上で検出された接触５２０を示し、図５Ｄは、タッチスクリーン１１２上のカメラプレビュー５０８−１の上で検出された接触５２８を示す。接触５２０は、タッチスクリーン１１２による接触から、既定の時間期間にわたって実質的に静止している。接触５２８は、タッチスクリーン１１２による接触から、既定の時間期間内で移動する。接触５２０を検出したことに応答して、オートフォーカスルーペ５２２が表示され、点５２４−１がオートフォーカス基準点として選択される（図５Ｂ）。接触５２８及びその移動を検出したことに応答して、デバイス１００は、カメラインターフェース５０２−１からカメラインターフェース５０２−２へと切り替える。
【０１６３】
いくつかの実施形態では、ディスプレイ上に第２のカメラインターフェースを表示している間、デバイスは、タッチ感知面上での第２のジェスチャを検出する（６５０）。第２のジェスチャ（６５２）を検出したことに応答して、第２のジェスチャがタッチ感知面上での第１の方向の移動を含むという判定に従って、デバイスは、第２のカメラインターフェースを表示することから、第１の出力寸法及び第２の出力寸法とは異なる第３の出力寸法のメディアを生成する第３の仮想カメラのための第３のカメラインターフェースを表示することに切り替え（例えば、第２のカメラインターフェースの表示を第３のカメラインターフェースと置き換え）（６５４）、第３のカメラインターフェースは、第１のカメラインターフェースとは異なり（例えば、第３のカメラインターフェースは、第１のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、第３のカメラインターフェースは、第１のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、及び／又は、第１のカメラインターフェースにおけるメディアプレビューは、第３のカメラインターフェースとは異なる外観を有する）、第３のカメラインターフェースは、第２のカメラインターフェースとは異なる（例えば、第３のカメラインターフェースは、第２のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、第３のカメラインターフェースは、第２のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、及び／又は、第２のカメラインターフェースにおけるメディアプレビューは、第３のカメラインターフェースとは異なる外観を有する）。図５Ｈは、カメラインターフェース５０２−２が表示されている間に、タッチスクリーン１１２上でジェスチャが検出されることを示す。ジェスチャは、接触５３８が、カメラプレビュー５０８−２上で方向５３０に、タッチスクリーン１１２の上の移動することを含む。ジェスチャを検出したことに応答して、デバイス１００は、カメラインターフェース５０２−２からカメラインターフェース５０２−３に切り替える（図５Ｉ）。カメラインターフェース５０２−３は、カメラインターフェース５０２−１及びカメラインターフェース５０２−２とは異なる。
【０１６４】
いくつかの実施形態では、第２のジェスチャを検出したことに応答して（６５２）、第２のジェスチャが、タッチ感知面上での、第１の方向とは異なる（例えば、第１の方向に対向する）第２の方向の接触の移動を含むという判定に従って、デバイスは、第２のカメラインターフェースを表示することから、第１のカメラインターフェースを表示することに切り替える（例えば、第２のカメラインターフェースの表示を第１のカメラインターフェースと置き換える）（６５６）。図５Ｈは、カメラインターフェース５０２−２が表示されている間に、タッチスクリーン１１２上でジェスチャが検出されることを示す。ジェスチャは、接触５３６が、カメラプレビュー５０８−２上で方向５４０に、タッチスクリーン１１２の上の移動することを含む。ジェスチャを検出したことに応答して、デバイス１００は、カメラインターフェース５０２−２からカメラインターフェース５０２−１に切り替える（図５Ｄ）。
【０１６５】
いくつかの実施形態では、第２のカメラインターフェースは、第１のカメラインターフェースを記述する第１のグラフィカルオブジェクト、第２のカメラインターフェースを記述する第２のグラフィカルオブジェクト、及び第３のカメラインターフェースを記述する第３のグラフィカルオブジェクトを含む、複数のグラフィカルオブジェクトを含むカメラインターフェース間で切り替えるための制御を含む（６５８）。
【０１６６】
複数のグラフィカルオブジェクト中の対応するグラフィカルオブジェクトのアクティブ化を検出したことに応答して（６６０）、第１のグラフィカルオブジェクトがアクティブ化されたという判定に従って、デバイスは、第２のカメラインターフェースを表示することから、第１のカメラインターフェースを表示することに切り替え（６６２）、第３のグラフィカルオブジェクトがアクティブ化されたという判定に従って、第２のカメラインターフェースを表示することから、第３のカメラインターフェースを表示することに切り替える（６６４）。いくつかの実施形態では、カメラインターフェースの間で切り替えるための同様の制御が、第１のカメラインターフェース及び第３のカメラインターフェースに表示される。いくつかの実施形態では、グラフィカルオブジェクトは、現在表示されたカメラインターフェースに従って位置を変更する（例えば、現在表示されたカメラインターフェースに相当するグラフィカルオブジェクトは、制御の中央に表示され、右から左へのスワイプジェスチャに応答して表示されたカメラインターフェースに相当するグラフィカルオブジェクトは、制御の右側に表示され、左から右へのスワイプジェスチャに応答して表示されたカメラインターフェースに相当するグラフィカルオブジェクトは、制御の左側に表示される）。例えば、図５Ｎにおいて、カメラインターフェース５０２−２は、任意選択的に表示されたカメラインターフェース切り替え制御５６０を含む。制御５６０−１は、カメラインターフェース５０２−１に相当する。制御５６０−２は、カメラインターフェース５０２−２に相当する。制御５６０−３は、カメラインターフェース５０２−３に相当する。デバイス１００は、制御５６０−１上での接触５６２の検出に応答して、カメラインターフェース５０２−１に切り替える。デバイス１００は、制御５６０−３上での接触の検出に応答して、カメラインターフェース５０２−３に切り替える。
【０１６７】
いくつかの実施形態では、ディスプレイ上に第３のカメラインターフェースを表示している間、デバイスは、タッチ感知面上での第３のジェスチャを検出する（６６６）。第３のジェスチャを検出したことに応答して、第３のジェスチャが、タッチ感知面上での第１の方向の接触の移動を含むという判定に従って、デバイスは、第３のカメラインターフェースを表示することから、第３のカメラインターフェースが表示されている間の第１の方向の接触の移動に応答して表示されるように、ユーザからの前の入力に基づいて、以前選択された第４の仮想カメラのための第４のカメラインターフェースを表示することに切り替える（例えば、デバイスは、第３のカメラインターフェースの表示を、タッチ感知面上でスワイプすることによってアクセス可能であるクイックアクセス仮想カメラのセットには含まれない複数の候補仮想カメラの中から以前選択されたユーザ選択仮想カメラのための第４のカメラインターフェースと置き換える）（６６８）。いくつかの実施形態では、第４のカメラインターフェースは、第１、第２及び第３の出力寸法とは異なる第４の出力寸法のメディアを生成する第４の仮想カメラ（例えば、スクエア仮想カメラ）のためのインターフェースであり、第４のカメラインターフェースは、第１のカメラインターフェースとは異なり（例えば、第４のカメラインターフェースは、第１のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、第４のカメラインターフェースは、第１のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、及び／又は、第１のカメラインターフェースにおけるメディアプレビューは、第４のカメラインターフェースとは異なる外観を有する）、第４のカメラインターフェースは、第２のカメラインターフェースとは異なり（例えば、第４のカメラインターフェースは、第２のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、第４のカメラインターフェースは、第２のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、及び／又は、第２のカメラインターフェースにおけるメディアプレビューは、第４のカメラインターフェースとは異なる外観を有する）、第４のカメラインターフェースは、第３のカメラインターフェースとは異なる（例えば、第４のカメラインターフェースは、第３のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、第４のカメラインターフェースは、第３のカメラインターフェースには表示されない少なくとも１つの対応する制御を含み、及び／又は、第３のカメラインターフェースにおけるメディアプレビューは、第４のカメラインターフェースとは異なる外観を有する）。
【０１６８】
図５Ｉは、カメラインターフェース５０２−３が表示されている間に、タッチスクリーン１１２上でジェスチャが検出されることを示す。ジェスチャは、接触５４８が、カメラプレビュー５０８−３の上で方向５３０に、タッチスクリーン１１２上を移動することを含む。ジェスチャを検出したことに応答して、デバイス１００は、カメラインターフェース５０２−３からカメラインターフェース５０２−４に切り替える（図５Ｊ）。カメラインターフェース５０２−４は、カメラインターフェース５０２−１、５０２−２及び５０２−３とは異なる。カメラインターフェース５０２−４は、ユーザによりカメラインターフェースのシーケンスに追加された。
【０１６９】
いくつかの実施形態では、デバイスは、クイックアクセス仮想カメラのセットへのクイックアクセスを行い、ユーザは、タッチ感知面上での単純なジェスチャ（例えば、スワイプジェスチャ）を１回以上繰り返して実行することによって、クイックアクセスカメラを切り替えることが可能になる。いくつかの実施形態では、デバイスは、１つ以上の標準又はデフォルトの仮想カメラをクイックアクセス仮想カメラのセットに含める。例えば、デバイスは、「通常の」長方形スチルカメラ、ビデオカメラ及びパノラマカメラを、デフォルトでクイックアクセス仮想カメラのセットに含める。いくつかの実施形態では、ユーザは、標準又はデフォルトのクイックアクセス仮想カメラには含まれない候補仮想カメラのセットから、クイックアクセスカメラとして、１つ以上の追加のユーザ選択仮想カメラを選択することが可能である。いくつかの実施形態では、１つ以上のユーザ選択仮想カメラが、クイックアクセス仮想カメラのセットの標準又はデフォルトのカメラに加えて、クイックアクセス仮想カメラのセットに追加される（例えば、スクエアカメラ及び白黒カメラがクイックアクセス仮想カメラのセットに追加される）。いくつかの実施形態では、ユーザ選択仮想カメラのうちの１つ以上が、クイックアクセス仮想カメラのセットの標準又はデフォルトのカメラのうちの１つ以上に置き換わる（例えば、ユーザは、クイックアクセス仮想カメラのセットのパノラマカメラと入れ替わるようにスクエアカメラを選択する）。いくつかの実施形態では、選択されなかった候補仮想カメラには、依然としてユーザがアクセス可能であるが、選択されなかった候補仮想カメラにアクセスするためには、様々な入力のマルチステップセット（例えば、対応する選択されなかった候補仮想カメラを識別し、選択するための一連のメニューによりナビゲートすること）が使用される。いくつかの実施形態では、クイックアクセス仮想カメラのセットは、最大サイズ（例えば、３個、４個、５個又は６個の仮想カメラ）を有し、候補仮想カメラのセットは、クイックアクセス仮想カメラのセットの最大サイズよりも多くの候補仮想カメラ（例えば、１０個、１５個又は２０個の仮想カメラ）を含み、したがって、いくつかの候補仮想カメラは、クイックアクセス仮想カメラのセットには含まれない。したがって、いくつかの実施形態では、ユーザは、標準又はデフォルトの仮想カメラではない仮想カメラを識別し、選択するようにメニューの複雑なセットを通じてナビゲートするように強いられるのではなく、１つ以上の標準又はデフォルトの仮想カメラ並びに１つ以上のユーザ選択仮想カメラ間で選択するためにスワイプすることが可能である。
【０１７０】
いくつかの実施形態では、タッチ感知面は、タッチスクリーンディスプレイの一部であり、第２のジェスチャは、タッチスクリーンディスプレイ上に表示されたカメラプレビューを横切る接触の移動を含む（６７０）。例えば、接触５３８によるジェスチャは、カメラプレビュー５０８−２の上をタッチスクリーン１１２を横切って移動する（図５Ｈ）。
【０１７１】
いくつかの実施形態では、タッチ感知面は、タッチスクリーンディスプレイの一部であり、第２のジェスチャは、カメラの動作を制御するためのいかなる表示されたアフォーダンスも含まないタッチスクリーンディスプレイの一部分を横切る接触の移動を含む（６７２）。例えば、接触５３８によるジェスチャは、カメラプレビュー５０８−２の上をタッチスクリーン１１２を横切って移動し（図５Ｈ）、カメラの動作（例えば、カメラロールアイコン５０４、シャッターボタン５０６−２、制御５３４）を制御するためのいかなる表示されたアフォーダンスの上も移動しない。
【０１７２】
いくつかの実施形態では、第３のカメラインターフェースは、第３の出力寸法の視覚的な指示（例えば、パノラマ画像を生成ために使用され得る画像のキャプチャに向かった進行を示す、連続した画像をパノラマに整列させるためのパノラマプログレスインジケータ）を提供する（６７４）。例えば、図５Ｉは、カメラプレビュー５０８−３上のウインドウボックスを示す。図５Ｊは、カメラインターフェース５０２−４と共に表示されたパノラマプログレスインジケータ５５０を示す。
【０１７３】
いくつかの実施形態では、第３の出力寸法は、第１の出力寸法及び第２の出力寸法とは異なるアスペクト比を有する（６７６）。例えば、カメラインターフェース５０２−３は１：１のアスペクト比に関連付けられ、カメラインターフェース５０２−１とカメラインターフェース５０２−２とカメラインターフェース５０２−４とは異なるアスペクト比に関連付けられる。
【０１７４】
いくつかの実施形態では、第３のカメラインターフェースは、第１のカメラインターフェース及び第２のカメラユーザインターフェースには含まれない１つ以上の制御（例えば、連続した画像をパノラマに整列させるためのパノラマプログレスインジケータ）を含む（６７８）。例えば、カメラインターフェース５０２−３は、カメラインターフェース５０２−１、５０２−２又は５０２−４には含まれない白黒制御５４４を含む。例えば、カメラインターフェース５０２−４は、カメラインターフェース５０２−１、５０２−２又は５０２−３には含まれないパノラマプログレスインジケータ５５０を含む。
【０１７５】
いくつかの実施形態では、第１の仮想カメラ、第２の仮想カメラ及び第３の仮想カメラは、メディアを生成するために、対応するセンサ寸法の同じ物理カメラセンサを使用し、仮想カメラのうちの１つにより生成されたメディアは、物理カメラセンサ（例えば、スクエアカメラ又はビデオカメラ）の対応するセンサ寸法よりも小さい寸法を有し、仮想カメラのうちの異なる１つにより生成されたメディアは、物理カメラセンサ（例えば、パノラマ画像を生成するために物理カメラセンサがキャプチャした複数の画像を統合するパノラマカメラ）の対応するセンサ寸法よりも大きい寸法を有する（６８０）。カメラインターフェース５０２は、デバイス１００上の同じ物理カメラセンサを使用する。カメラインターフェース５０２−２は、センサ寸法よりも小さい出力寸法に関連付けられる。カメラインターフェース５０２−４は、センサ寸法よりも大きい出力寸法に関連付けられる。
【０１７６】
いくつかの実施形態では、仮想カメラのうちの異なる１つにより生成されたメディアは、物理カメラセンサ（例えば、標準スチルカメラ）のセンサ寸法と同じ（又は、実質的に同じ）寸法を有する（６８２）。カメラインターフェース５０２−１は、センサ寸法と同じ出力寸法に関連付けられる。
【０１７７】
いくつかの実施形態では、第１のカメラインターフェース、第２のカメラインターフェース及び第３のカメラインターフェースは、対応する共通制御を含む１つ以上の共通制御のセットを有し、対応する共通制御は、第１のカメラインターフェース、第２のカメラインターフェース及び第３のカメラインターフェースにおいて、ディスプレイの同じ位置に表示される（６８４）。いくつかの実施形態では、対応する共通制御（例えば、シャッターボタン）は、カメラインターフェースの各々において同じサイズ及び／又は形状を有する。いくつかの実施形態では、対応する共通制御は、２つ以上の異なるカメラインターフェースにおいて異なる色又は外観を有する（例えば、シャッターボタンは、スチルカメラユーザインターフェースではグレー又はシルバーであり、ビデオカメラユーザインターフェースでは赤色である）。カメラインターフェース５０２−１〜５０２−４は、カメラロールアイコン５０４及びシャッターボタン５０６を共有する。カメラアイコン５０４及びシャッターボタン５０６は、カメラインターフェース５０２−１〜５０２−４にわたって同じ対応する場所にそれぞれ表示される。
【０１７８】
いくつかの実施形態では、第１のカメラインターフェース、第２のカメラインターフェース及び第３のカメラインターフェースは、ビデオカメラインターフェース及び２つの異なるスチルカメラインターフェースを含む（例えば、これらの３つのカメラインターフェースのうちの１つはビデオカメラインターフェースであり、２つの他のカメラインターフェースは、長方形のスチルカメラ及びパノラマカメラなど、異なるスチルカメラインターフェースである）（６８６）。例えば、カメラインターフェース５０２−１並びにカメラインターフェース５０２−３（又は５０２−４）はスチルカメラインターフェースであり、カメラインターフェース５０２−２はビデオカメラインターフェースである。
【０１７９】
いくつかの実施形態では、第１のカメラインターフェース、第２のカメラインターフェース及び第３のカメラインターフェースは、矩形スチルカメラインターフェース（例えば、正方形ではない長方形のスチルカメラインターフェース）、ビデオカメラインターフェース、パノラマスチルカメラインターフェース、白黒スチルカメラインターフェース、及びスクエアスチルカメラインターフェースからなるセットから選択される（６８８）。例えば、それぞれ、カメラインターフェース５０２−１、５０２−２、５０２−３及び５０２−４は、標準カメラインターフェース（即ち、長方形のスチルカメラインターフェース）、ビデオカメラインターフェース、スクエアスチルカメラインターフェース及びパノラマスチルカメラインターフェースである。
【０１８０】
図６Ａ〜図６Ｇにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者には、本明細書で説明される動作を再順序付けするための、様々な方法が認識されるであろう。
【０１８１】
いくつかの実施形態によれば、図７は、説明される様々な実施形態の原理に従って構成された、電子デバイス７００の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図７で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックのあらゆる可能な組み合わせ若しくは分割、又は更なる定義を、任意選択的に支持する。
【０１８２】
図７に示すように、電子デバイス７００は、第１の出力寸法のメディアを生成する第１の仮想カメラのための第１のカメラインターフェースを表示するように構成されたディスプレイユニット７０２と、接触及びジェスチャを受け取るように構成されたタッチ感知面ユニット７０４と、カメラユニット７０５と、ディスプレイユニット７０２、タッチ感知面ユニット７０４及びカメラユニット７０５に結合された処理ユニット７０６とを含む。いくつかの実施形態では、処理ユニット７０６は、検出ユニット７０８と、切り替えユニット７１０と、受け取りユニット７１２と、適用ユニット７１４と、表示可能化ユニット７１６と、選択ユニット７１８と、判定ユニット７２０とを含む。
【０１８３】
処理ユニット７０６は、ディスプレイユニット７０２上での第１のカメラインターフェースの表示を可能化している間、タッチ感知面ユニット７０４上での第１の方向の接触の移動を含む、既定のカメラ切り替えアフォーダンスと対話しない第１のジェスチャを（例えば、検出ユニット７０８を用いて）検出し、第１のジェスチャを検出したことに応答して、第１のカメラインターフェースの表示を可能化することから、第１の出力寸法とは異なる第２の出力寸法のメディアを生成する第２の仮想カメラのための、第１のカメラインターフェースとは異なる第２のカメラインターフェースの表示を可能化することに（例えば、切り替えユニット７１０を用いて）切り替えるように構成される。
【０１８４】
いくつかの実施形態では、第１のカメラインターフェースは第１の出力寸法の視覚的な指示を提供し、第２のカメラインターフェースは第２の出力寸法の視覚的な指示を提供する。
【０１８５】
いくつかの実施形態では、第１の出力寸法は、第２の出力寸法とは異なるアスペクト比を有する。
【０１８６】
いくつかの実施形態では、第１のカメラインターフェースは、第２のカメラインターフェースには含まれない１つ以上の制御を含む。
【０１８７】
いくつかの実施形態では、第２のカメラインターフェースは、第１のカメラインターフェースには含まれない１つ以上の制御を含む。
【０１８８】
いくつかの実施形態では、タッチ感知面ユニット７０４は、タッチスクリーンディスプレイの一部であり、第１のジェスチャは、タッチスクリーンディスプレイ上に表示されたカメラプレビューを横切る接触の移動を含む。
【０１８９】
いくつかの実施形態では、タッチ感知面ユニット７０４は、タッチスクリーンディスプレイの一部であり、第１のジェスチャは、カメラユニット７０５の動作を制御するためのいかなる表示されたアフォーダンスも含まないタッチスクリーンディスプレイの一部分を横切る接触の移動を含む。
【０１９０】
いくつかの実施形態では、第１のカメラインターフェースは、カメラユニット７０５により検出される現在の視覚データの表示のための第１のカメラプレビューを含み、処理ユニット７０６がデバイスによりキャプチャされたメディアにユーザ選択フィルタを適用する旨の要求を（例えば、受け取りユニット７１２を用いて）受け取り、第１のカメラプレビューがユーザ選択フィルタにより修正された現在の視覚データを含むように、カメラユニット７０５がキャプチャした視覚データにユーザ選択フィルタを（例えば、適用ユニット７１４を用いて）適用するように構成される。
【０１９１】
いくつかの実施形態では、第１のカメラインターフェースの表示の可能化から、第２のカメラインターフェースの表示の可能化に切り替えることは、第１のカメラインターフェースと第２のカメラインターフェースとの間でアニメーション化された遷移の表示を可能にすることを含み、アニメーション化された遷移は、カメラユニット７０５により最近検出された視覚データに相当する第１のぼけた画像の表示を可能化することと、第１のぼけた画像を対応する方向に並進移動させてディスプレイユニット７０２から外すことと、対応する方向におけるディスプレイユニット７０２を横切る境界の移動の表示を可能化することと、対応する方向においてディスプレイユニット７０２上で第２のぼけた画像を並進移動させることを含み、第２のぼけた画像がカメラユニット７０５により最近検出された視覚データに対応する。
【０１９２】
いくつかの実施形態では、タッチ感知面ユニット７０４はタッチスクリーンディスプレイを含み、対応するカメラインターフェースは、カメラユニット７０５により検出された現在の視覚データを表示するための対応するカメラプレビューを含み、処理ユニット７０６は、対応するカメラインターフェースの表示を可能化している間、対応するカメラプレビューに相当する場所において検出された対応する接触を含む対応する入力を（例えば、検出ユニット７０８を用いて）検出し、対応する入力を検出したことに応答して、対応するカメラプレビューの第１の拡大部分の表示を（例えば、表示可能化ユニット７１６を用いて）可能にし、第１の拡大部分内の１点をオートフォーカス基準点として（例えば、選択ユニット７１８を用いて）選択するように構成される。
【０１９３】
いくつかの実施形態では、処理ユニット７０６は、第１の拡大部分の表示を可能化している間、カメラプレビュー内における対応する接触の移動を（例えば、検出ユニット７０８を用いて）検出し、対応する接触の移動を検出したことに応答して、第１の拡大部分とは異なる、対応するカメラプレビューの第２の拡大部分の表示を（例えば、表示可能化ユニット７１６を用いて）可能化し、第２の拡大部分内の１点をオートフォーカス基準点として（例えば、選択ユニット７１８を用いて）選択するように構成される。
【０１９４】
いくつかの実施形態では、タッチ感知面ユニット７０４は、タッチスクリーンディスプレイを含み、第１のカメラインターフェースは、カメラユニット７０５が検出した現在の視覚データを表示するための対応するカメラプレビューを含み、処理ユニット７０６は、第１のカメラインターフェースの表示を可能化している間、対応するカメラプレビューにおいて検出された対応する接触を含む対応する入力を（例えば、検出ユニット７０８を用いて）検出し、対応する入力を検出したことに応答して、入力が既定の時間期間内におけるタッチスクリーンディスプレイ上の既定量よりも多い対応する接触の移動を含むかどうかを（例えば、判定ユニット７２０を用いて）判定し、対応する入力が既定の時間期間内におけるタッチスクリーンディスプレイ上での既定量よりも多い対応する接触の移動を含むという判定に従って、第１のカメラインターフェースから、異なるカメラインターフェースに（例えば、切り替えユニット７１０を用いて）切り替え、対応する接触が既定の時間期間内においてタッチスクリーンディスプレイ上で既定量を超えて移動しないという判定に従って、対応するカメラプレビューの拡大部分の表示を（例えば、表示可能化ユニット７１６を用いて）可能化し、拡大部分内の１点をオートフォーカス基準点として（例えば、選択ユニット７１８を用いて）選択するように構成される。
【０１９５】
いくつかの実施形態では、処理ユニット７０６は、ディスプレイユニット７０２上での第２のカメラインターフェースの表示を可能化している間、タッチ感知面ユニット７０４上の第２のジェスチャを（例えば、検出ユニット７０８を用いて）検出し、第２のジェスチャを検出したことに応答して、第２のジェスチャが、タッチ感知面ユニット７０４上での第１の方向の接触の移動を含むという判定に従って、第２のカメラインターフェースの表示を可能化することから、第１の出力寸法及び第２の出力寸法とは異なる第３の出力寸法のメディアを生成する第３の仮想カメラのための第３のカメラインターフェースの表示を可能化することに（例えば、切り替えユニット７１０を用いて）切り替え、第３のカメラインターフェースは、第１のカメラインターフェースとは異なり、第３のカメラインターフェースは、第２のカメラインターフェースとは異なるように構成される。
【０１９６】
いくつかの実施形態では、処理ユニット７０６は、第２のジェスチャを検出したことに応答して、第２のジェスチャが、第１の方向とは異なる、タッチ感知面ユニット７０４上での第２の方向の接触の移動を含むという判定に従って、第２のカメラインターフェースの表示を可能化することから、第１のカメラインターフェースの表示を可能化することに（例えば、切り替えユニット７１０を用いて）切り替えるように構成される。
【０１９７】
いくつかの実施形態では、タッチ感知面ユニット７０４は、タッチスクリーンディスプレイの一部であり、第２のジェスチャは、タッチスクリーンディスプレイ上に表示されたカメラプレビューを横切る接触の移動を含む。
【０１９８】
いくつかの実施形態では、タッチ感知面ユニット７０４は、タッチスクリーンディスプレイの一部であり、第２のジェスチャは、カメラユニット７０５の動作を制御するためのいかなる表示されたアフォーダンスも含まないタッチスクリーンディスプレイの一部分を横切る接触の移動を含む。
【０１９９】
いくつかの実施形態では、第３のカメラインターフェースは、第３の出力寸法の視覚的な指示を提供する。
【０２００】
いくつかの実施形態では、第３の出力寸法は、第１の出力寸法及び第２の出力寸法とは異なるアスペクト比を有する。
【０２０１】
いくつかの実施形態では、第３のカメラインターフェースは、第１のカメラインターフェース及び第２のカメラユーザインターフェースには含まれない１つ以上の制御を含む。
【０２０２】
いくつかの実施形態では、第１の仮想カメラ、第２の仮想カメラ及び第３の仮想カメラは、メディアを生成するために、対応するセンサ寸法の同じ物理カメラセンサを使用し、仮想カメラのうちの１つにより生成されたメディアは、物理カメラセンサの対応するセンサ寸法よりも小さい寸法を有し、仮想カメラのうちの異なる１つにより生成されたメディアは、物理カメラセンサの対応するセンサ寸法よりも大きい寸法を有する。
【０２０３】
いくつかの実施形態では、仮想カメラのうちの異なる１つにより生成されたメディアは、物理カメラセンサのセンサ寸法と同じ寸法を有する。
【０２０４】
いくつかの実施形態では、第１のカメラインターフェース、第２のカメラインターフェース及び第３のカメラインターフェースは、対応する共通制御を含む１つ以上の共通制御のセットを有し、対応する共通制御は、第１のカメラインターフェース、第２のカメラインターフェース及び第３のカメラインターフェースにおいて、ディスプレイユニット７０２の同じ場所に表示される。
【０２０５】
いくつかの実施形態では、第１のカメラインターフェース、第２のカメラインターフェース及び第３のカメラインターフェースは、ビデオカメラインターフェース及び２つの異なるスチルカメラインターフェースを含む。
【０２０６】
いくつかの実施形態では、第１のカメラインターフェース、第２のカメラインターフェース及び第３のカメラインターフェースは、矩形スチルカメラインターフェース、ビデオカメラインターフェース、パノラマスチルカメラインターフェース、白黒スチルカメラインターフェース、及びスクエアスチルカメラインターフェースからなるセットから選択される。
【０２０７】
いくつかの実施形態では、第２のカメラインターフェースは、第１のカメラインターフェースを記述する第１のグラフィカルオブジェクト、第２のカメラインターフェースを記述する第２のグラフィカルオブジェクト、及び第３のカメラインターフェースを記述する第３のグラフィカルオブジェクトを含む、複数のグラフィカルオブジェクトを含むカメラインターフェース間で切り替えるための制御を含む。処理ユニット７０６は、複数のグラフィカルオブジェクト中の対応するグラフィカルオブジェクトのアクティブ化を検出したことに応答して、第１のグラフィカルオブジェクトがアクティブ化されたという判定に従って、第２のカメラインターフェースの表示を可能化することから、第１のカメラインターフェースの表示を可能化することに（例えば、切り替えユニット７１０を用いて）切り替え、第３のグラフィカルオブジェクトがアクティブ化されたという判定に従って、第２のカメラインターフェースの表示を可能化することから、第３のカメラインターフェースの表示を可能化することに（切り替えユニット７１０を用いて）切り替える。
【０２０８】
いくつかの実施形態では、処理ユニット７０６は、ディスプレイユニット７０２上での第３のカメラインターフェースの表示を可能化している間、タッチ感知面ユニット７０４上での第３のジェスチャを（例えば、検出ユニット７０８を用いて）検出し、第３のジェスチャを検出したことに応答して、第３のジェスチャが、タッチ感知面ユニット７０４上での第１の方向の接触の移動を含むという判定に従って、第３のカメラインターフェースの表示を可能化することから、第３のカメラインターフェースが表示されている間の第１の方向の接触の移動に応答して表示されるように、ユーザからの前の入力に基づいて、以前選択された第４の仮想カメラのための第４のカメラインターフェースの表示を可能化することに（例えば、切り替えユニット７１０を用いて）切り替え、第４のカメラインターフェースは、第１のカメラインターフェースとは異なり、第４のカメラインターフェースは、第２のカメラとは異なり、第４のカメラインターフェースは、第３のカメラインターフェースとは異なるように構成される。
【０２０９】
上述の情報処理方法での動作は、汎用プロセッサ（例えば、図１Ａ及び図３に関連して上述されたようなもの）又は特定用途向けチップなどの、情報処理装置内の１つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
【０２１０】
図６Ａ〜図６Ｇを参照して上述された動作は、図１Ａ、図１Ｂ、又は図７に示される構成要素によって、任意選択的に実施される。例えば、検出動作６０４及び切り替え動作６１０は任意選択的に、イベントソータ１７０、イベント認識部１８０、及びイベントハンドラ１９０により実行される。イベントソータ１７０内のイベントモニタ１７１は、タッチ感知ディスプレイ１１２上での接触を検出し、イベントディスパッチャモジュール１７４は、そのイベント情報を、アプリケーション１３６−１に配信する。アプリケーション１３６−１の対応のイベント認識部１８０は、そのイベント情報を対応のイベント定義１８６と照会し、タッチ感知面上の第１の場所での第１の接触（又は、デバイスの回転）が、ユーザインターフェース上のオブジェクトの選択、又は１つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに相当するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部１８０は、イベント又はサブイベントの検出に関連するイベントハンドラ１９０をアクティブ化する。イベントハンドラ１９０は、アプリケーション内部状態１９２を更新するために、データアップデータ１７６若しくはオブジェクトアップデータ１７７を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベントハンドラ１９０は、アプリケーションによって表示されるものを更新するために、対応するＧＵＩアップデータ１７８にアクセスする。同様に、当業者にとって、他の処理が図１Ａ〜図１Ｂに示される構成要素に基づいてどのように実施されるかは明らかであるだろう。
【０２１１】
前述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかしながら、上記の例示的な論考は、網羅的であること、又は本発明を、開示される厳密な形態に限定することを意図するものではない。上記の教示を鑑みて、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、及び想到される特定の用途に好適な様々な改良で本発明及び様々な実施形態を最良な形で使用することを可能とするために、これらの実施形態を選択し説明した。
【図１Ａ】
0006341996.tif 000002
【図１Ｂ】
0006341996.tif 000003
【図２】
0006341996.tif 000004
【図３】
0006341996.tif 000005
【図４Ａ】
0006341996.tif 000006
【図４Ｂ】
0006341996.tif 000007
【図５Ａ】
0006341996.tif 000008
【図５Ｂ】
0006341996.tif 000009
【図５Ｃ】
0006341996.tif 000010
【図５Ｄ】
0006341996.tif 000011
【図５Ｅ】
0006341996.tif 000012
【図５Ｆ】
0006341996.tif 000013
【図５Ｇ】
0006341996.tif 000014
【図５Ｈ】
0006341996.tif 000015
【図５Ｉ】
0006341996.tif 000016
【図５Ｊ】
0006341996.tif 000017
【図５Ｋ】
0006341996.tif 000018
【図５Ｌ】
0006341996.tif 000019
【図５Ｍ】
0006341996.tif 000020
【図５Ｎ】
0006341996.tif 000021
【図６Ａ】
0006341996.tif 000022
【図６Ｂ】
0006341996.tif 000023
【図６Ｃ】
0006341996.tif 000024
【図６Ｄ】
0006341996.tif 000025
【図６Ｅ】
0006341996.tif 000026
【図６Ｆ】
0006341996.tif 000027
【図６Ｇ】
0006341996.tif 000028
【図７】
0006341996.tif 000029