IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アップル インコーポレイテッドの特許一覧

特許7196183グラフィカルユーザインタフェースのためのメディアキャプチャロックアフォーダンス
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-16
(45)【発行日】2022-12-26
(54)【発明の名称】グラフィカルユーザインタフェースのためのメディアキャプチャロックアフォーダンス
(51)【国際特許分類】
   G06F 3/0488 20220101AFI20221219BHJP
   G06F 3/04817 20220101ALI20221219BHJP
【FI】
G06F3/0488
G06F3/04817
【請求項の数】 10
(21)【出願番号】P 2020542592
(86)(22)【出願日】2019-02-08
(65)【公表番号】
(43)【公表日】2021-05-20
(86)【国際出願番号】 US2019017363
(87)【国際公開番号】W WO2019157387
(87)【国際公開日】2019-08-15
【審査請求日】2020-08-06
(31)【優先権主張番号】62/628,825
(32)【優先日】2018-02-09
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/995,040
(32)【優先日】2018-05-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/802,603
(32)【優先日】2019-02-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】ダヴィドフ アントン エム
(72)【発明者】
【氏名】クー ジェーン イー
(72)【発明者】
【氏名】マンザリ ベーキッシュ ジェイ
(72)【発明者】
【氏名】ポール グラント アール
(72)【発明者】
【氏名】ソレンティノ ザ サード ウィリアム エイ
(72)【発明者】
【氏名】ソウザ ドス サントス アンドレ
(72)【発明者】
【氏名】ウィアセマ ダニエル ジェイ
【審査官】▲高▼瀬 健太郎
(56)【参考文献】
【文献】米国特許出願公開第2014/0108928(US,A1)
【文献】Telegram4.0: Video Messages + Telescope, Payments and more...,online,2017年05月20日,https:// www.youtube.com/watch?v=y0alJRPH7nQ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0488
G06F 3/04817
(57)【特許請求の範囲】
【請求項1】
タッチ感知ディスプレイを有する電子デバイスにおいて、
前記電子デバイスによって、前記タッチ感知ディスプレイ上に提示されたグラフィカルユーザインタフェース上の第1の場所に表示されたメディアキャプチャアフォーダンスを対象とする、前記タッチ感知ディスプレイ上で検出されたタッチを含むタップアンドホールドジェスチャ入力を検出することと、
前記タップアンドホールドジェスチャ入力に応答して、前記電子デバイスによって、前記電子デバイスを用いたメディアキャプチャセッションを、アンロックされたメディアキャプチャセッション状態で開始することと、
前記タップアンドホールドジェスチャ入力が前記第1の場所で維持されている間、前記タッチ感知ディスプレイ上に、前記第1の場所から第2の場所へ延びる経路を表示することであって、前記経路は当該タッチ感知ディスプレイ上の方向を示し、前記経路は前記タップアンドホールドジェスチャ入力が検出される前には表示されない、経路を表示することと、
前記メディアキャプチャセッション中に前記グラフィカルユーザインタフェース上の前記第1の場所からの前記タッチのリフトオフを含む第1のリフトジェスチャを前記電子デバイスが検出したことに応答して、前記電子デバイスによって、前記メディアキャプチャセッションを終了させることと、
前記経路によって示された方向において前記タッチ感知ディスプレイにわたる前記タッチの移動を含むスライドジェスチャ入力を前記電子デバイスが検出したことに応答して、
前記メディアキャプチャセッション中に前記グラフィカルユーザインタフェース上の前記第1の場所から前記第2の場所への前記メディアキャプチャアフォーダンスの移動を表示することと、
前記タッチが前記タッチ感知ディスプレイ上に維持されている間に、前記メディアキャプチャセッションを維持することと、
前記第1の場所におけるタップジェスチャ入力によってアクティブ化されると前記メディアキャプチャセッションを終了させるメディアキャプチャロックアフォーダンスを、前記第1の場所に表示することと、
を含む、メディアをキャプチャする方法。
【請求項2】
前記メディアキャプチャロックアフォーダンスを対象とする前記タップジェスチャ入力に応答して、前記メディアキャプチャセッションを終了させる、請求項1に記載の方法。
【請求項3】
前記メディアキャプチャアフォーダンスを前記メディアキャプチャロックアフォーダンスに変更することを更に含み、前記メディアキャプチャアフォーダンスを前記メディアキャプチャロックアフォーダンスに変更することは、前記メディアキャプチャアフォーダンスのサイズを変更することを含む、請求項1に記載の方法。
【請求項4】
前記メディアキャプチャアフォーダンスを前記メディアキャプチャロックアフォーダンスに変更することを更に含み、前記メディアキャプチャアフォーダンスを前記メディアキャプチャロックアフォーダンスに変更することは、前記メディアキャプチャアフォーダンスのサイズ及び形状を変更することを含む、請求項1に記載の方法。
【請求項5】
前記メディアキャプチャアフォーダンスを前記メディアキャプチャロックアフォーダンスに変更することを更に含み、前記メディアキャプチャアフォーダンスを前記メディアキャプチャロックアフォーダンスに変更することは、前記メディアキャプチャアフォーダンスを前記メディアキャプチャロックアフォーダンスにモーフィングするようにアニメーション化することを含む、請求項1に記載の方法。
【請求項6】
前記タッチ感知ディスプレイ上の前記スライドジェスチャ入力の方向を示す視覚的インジケータを前記タッチ感知ディスプレイ上に表示させること
を更に含む、請求項1に記載の方法。
【請求項7】
前記スライドジェスチャ入力の前に、前記タッチ感知ディスプレイ上に第1のテキストメッセージを表示させ、前記タッチが前記タッチ感知ディスプレイ上で維持されている間に、前記第1のテキストメッセージとは異なる第2のテキストメッセージを前記タッチ感知ディスプレイ上に表示すること
を更に含む、請求項1に記載の方法。
【請求項8】
タッチ感知ディスプレイを有する電子デバイスに、請求項1から7のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【請求項9】
タッチ感知ディスプレイと、
請求項8に記載のコンピュータプログラムを記憶するメモリと、
前記メモリに記憶された前記コンピュータプログラムを実行可能な1つ以上のプロセッサと、
を備える、電子デバイス。
【請求項10】
タッチ感知ディスプレイと、
請求項1から7のいずれか一項に記載の方法を実行する手段と、
を備える、電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2018年2月9日に出願の「Media Capture Lock Affordance for Graphical User Interface」と題する米国特許仮出願第62/628,825号、2018年5月31日に出願の「Media Capture Lock Affordance for Graphical User Interface」と題する米国特許出願第15/995,040号、及び2019年2月7日に出願の「Media Capture Lock Affordance for Graphical User Interface」と題する米国特許仮出願第62/802,603号の優先権を主張する。これらの出願の内容は、全体が、参照により本明細書に組み込まれる。
【0002】
本開示は概して、メディアキャプチャアプリケーションのグラフィカルユーザインタフェースに関する。
【背景技術】
【0003】
メディアキャプチャデバイス(例えば、スマートフォン、タブレットコンピュータ)は、ユーザが1つ以上の組み込まれたカメラ及びマイクロフォンを使用してメディアクリップ(例えば、ビデオクリップ、オーディオクリップ)を記録することを可能にするアプリケーションを含む。ユーザは、仮想記録ボタンを押したままにしてメディアクリップをキャプチャする。ユーザが記録を行うと、ユーザは、メディアクリップをドラッグして他のメディアクリップと共に所望の順序にし、フィルタ、絵文字、アニメーションアイコン、及びタイトルを追加することができる。メディアクリップは、ソーシャルネットワークを通じて間接的に共有することができ、かつ/又は、例えばインスタントメッセージングアプリケーションを通じて友人に直接送信することができる。
【発明の概要】
【0004】
しかし、電子デバイスを使用してメディアキャプチャを実行するためのいくつかの技法は、一般的に扱いにくく非効率である。例えば、一部の既存の技法では、複数回のキー押圧又はキーストロークを含み得る、複雑かつ時間のかかるユーザインタフェースが使用されている。既存の技法は、必要以上の時間を要し、ユーザの時間及びデバイスのエネルギを浪費する。後者について考慮することは、バッテリ動作式デバイスにおいて特に重大である。
【0005】
したがって、本技法は、ジェスチャによるメディアキャプチャを実行するための、より速く、より効率的な方法及びインタフェースを電子デバイスに提供する。このような方法及びインタフェースは、ジェスチャによるメディアキャプチャを実行するための他の方法を任意選択的に補完するか、又は置き換える。そのような方法及びインタフェースは、ユーザにかかる認識的負担を減らし、より効率的なヒューマン-マシンインタフェースを生成する。バッテリ動作式コンピューティングデバイスの場合、そのような方法及びインタフェースは、電力を節約し、電池充電の間隔を長くする。加えて、このような方法及びインタフェースは、メディアキャプチャを実行するために不要な又は本質的でないユーザ入力の数を低減し、それによってユーザ時間を節約し、デバイスエネルギを節約する。
【0006】
開示される実施形態は、グラフィカルユーザインタフェースのためのメディアキャプチャロックアフォーダンスを対象とする。一実施形態では、メディアをキャプチャする方法は、メディアキャプチャデバイスによって、メディアキャプチャデバイスのディスプレイスクリーン上に提示されたグラフィカルユーザインタフェース上の第1の場所に表示されたメディアキャプチャアフォーダンスを対象とするタップアンドホールドジェスチャ入力を検出することと、タップアンドホールドジェスチャ入力に応答して、メディアキャプチャデバイスによって、メディアキャプチャデバイス上のメディアキャプチャセッションを、アンロック状態で開始することと、タップアンドホールドジェスチャ入力がメディアキャプチャセッション中にグラフィカルユーザインタフェース上の第1の場所からリフトする第1のリフトジェスチャをメディアキャプチャデバイスが検出したことに応答して、メディアキャプチャデバイスによって、メディアキャプチャセッションを終了させることと、メディアキャプチャセッション中にメディアキャプチャアフォーダンスがグラフィカルユーザインタフェース上の第1の場所から第2の場所までスライドするスライドジェスチャ入力をメディアキャプチャデバイスが検出したことに応答して、メディアキャプチャデバイスによって、メディアキャプチャアフォーダンスをメディアキャプチャロックアフォーダンスに変更することと、スライドジェスチャ入力がメディアキャプチャセッション中に第2の場所でグラフィカルユーザインタフェースからリフトする第2のリフトジェスチャをメディアキャプチャデバイスが検出したことに応答して、メディアキャプチャデバイスによって、メディアキャプチャセッションをロック状態に遷移させることと、を含む。
【0007】
他の実施形態は、装置、コンピューティングデバイス、及び非一時的コンピュータ可読記憶媒体を含むことができる。
【0008】
一部の実施形態によれば、非一時的コンピュータ可読記憶媒体が記載される。非一時的コンピュータ可読記憶媒体は命令を記憶しており、命令はメディアキャプチャデバイスによって実行されると、メディアキャプチャデバイスに、メディアキャプチャデバイスによって、メディアキャプチャデバイスのディスプレイスクリーン上に提示されたグラフィカルユーザインタフェース上の第1の場所に表示されたメディアキャプチャアフォーダンスを対象とするタップアンドホールドジェスチャ入力を検出することと、タップアンドホールドジェスチャ入力に応答して、メディアキャプチャデバイスによって、メディアキャプチャデバイス上のメディアキャプチャセッションを、アンロックされたメディアセッションキャプチャ状態で開始することと、タップアンドホールドジェスチャ入力がメディアキャプチャセッション中にグラフィカルユーザインタフェース上の第1の場所からリフトする第1のリフトジェスチャをメディアキャプチャデバイスが検出したことに応答して、メディアキャプチャデバイスによって、メディアキャプチャセッションを終了させることと、メディアキャプチャアフォーダンスがメディアキャプチャセッション中にグラフィカルユーザインタフェース上の第1の場所から第2の場所までスライドするスライドジェスチャ入力をメディアキャプチャデバイスが検出したことに応答して、メディアキャプチャデバイスによって、メディアキャプチャアフォーダンスをメディアキャプチャロックアフォーダンスに変更することと、スライドジェスチャ入力がメディアキャプチャセッション中に第2の場所でグラフィカルユーザインタフェースからリフトする第2のリフトジェスチャをメディアキャプチャデバイスが検出したことに応答して、メディアキャプチャデバイスによって、メディアキャプチャセッションをロックされたメディアキャプチャセッション状態に遷移させることと、を含む動作を実行させる。
【0009】
一部の実施形態によれば、一時的コンピュータ可読記憶媒体が記載される。非一時的コンピュータ可読記憶媒体は命令を記憶しており、命令はメディアキャプチャデバイスによって実行されると、メディアキャプチャデバイスに、メディアキャプチャデバイスのディスプレイスクリーン上に提示されたグラフィカルユーザインタフェース上の第1の場所に表示されたメディアキャプチャアフォーダンスを対象とするタップアンドホールドジェスチャ入力を検出することと、タップアンドホールドジェスチャ入力に応答して、メディアキャプチャデバイスによって、メディアキャプチャデバイス上のメディアキャプチャセッションを、アンロックされたメディアセッションキャプチャ状態で開始することと、タップアンドホールドジェスチャ入力がメディアキャプチャセッション中にグラフィカルユーザインタフェース上の第1の場所からリフトする第1のリフトジェスチャをメディアキャプチャデバイスが検出したことに応答して、メディアキャプチャデバイスによって、メディアキャプチャセッションを終了させることと、メディアキャプチャアフォーダンスがメディアキャプチャセッション中にグラフィカルユーザインタフェース上の第1の場所から第2の場所までスライドするスライドジェスチャ入力をメディアキャプチャデバイスが検出したことに応答して、メディアキャプチャデバイスによって、メディアキャプチャアフォーダンスをメディアキャプチャロックアフォーダンスに変更することと、スライドジェスチャ入力がメディアキャプチャセッション中に第2の場所でグラフィカルユーザインタフェースからリフトする第2のリフトジェスチャを、メディアキャプチャデバイスが検出したことに応答して、メディアキャプチャデバイスによって、メディアキャプチャセッションをロックされたメディアキャプチャセッション状態に遷移させることと、を含む動作を実行させる。
【0010】
一部の実施形態によれば、メディアキャプチャデバイスが記載される。メディアキャプチャデバイスは、タッチスクリーンと、1つ以上のプロセッサと、1つ以上のプロセッサと結合しており、命令を記憶するように構成されたメモリと、を備え、命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、タッチスクリーンによって、メディアキャプチャデバイスのタッチスクリーン上に提示されたグラフィカルユーザインタフェース上の第1の場所に表示されたメディアキャプチャアフォーダンスを対象とするタップアンドホールドジェスチャ入力を検出することと、タップアンドホールドジェスチャ入力に応答して、メディアキャプチャデバイス上のメディアキャプチャセッションを、アンロックされたメディアキャプチャセッション状態で開始することと、タップアンドホールドジェスチャ入力がメディアキャプチャセッション中にグラフィカルユーザインタフェース上の第1の場所からリフトする第1のリフトジェスチャをタッチスクリーンが検出したことに応答して、メディアキャプチャセッションを終了させることと、メディアキャプチャアフォーダンスがメディアキャプチャセッション中にグラフィカルユーザインタフェース上の第1の場所から第2の場所までスライドするスライドジェスチャ入力をタッチスクリーンが検出したことに応答して、メディアキャプチャアフォーダンスをメディアキャプチャロックアフォーダンスに変更することと、スライドジェスチャ入力がメディアキャプチャセッション中に第2の場所でグラフィカルユーザインタフェースからリフトする第2のリフトジェスチャを、タッチスクリーンが検出したことに応答して、メディアキャプチャセッションをロックされたメディアキャプチャセッション状態に遷移させることと、を含む動作を実行させる。
【0011】
一部の実施形態によれば、電子デバイスが記載される。電子デバイスは、ディスプレイスクリーンと、メディアキャプチャデバイスのディスプレイスクリーン上に提示されたグラフィカルユーザインタフェース上の第1の場所に表示されたメディアキャプチャアフォーダンスを対象とするタップアンドホールドジェスチャ入力を検出するための手段と、タップアンドホールドジェスチャ入力に応答して、メディアキャプチャデバイス上のメディアキャプチャセッションを、アンロックされたメディアキャプチャセッション状態で開始する手段と、タップアンドホールドジェスチャ入力がメディアキャプチャセッション中にグラフィカルユーザインタフェース上の第1の場所からリフトする第1のリフトジェスチャをメディアキャプチャデバイスが検出したことに応答して、メディアキャプチャセッションを終了させる手段と、メディアキャプチャセッション中にメディアキャプチャアフォーダンスがグラフィカルユーザインタフェース上の第1の場所から第2の場所までスライドするスライドジェスチャ入力をメディアキャプチャデバイスが検出したことに応答して、メディアキャプチャアフォーダンスをメディアキャプチャロックアフォーダンスに変更する手段と、スライドジェスチャ入力がメディアキャプチャセッション中に第2の場所でグラフィカルユーザインタフェースからリフトする第2のリフトジェスチャをメディアキャプチャデバイスが検出したことに応答して、メディアキャプチャセッションをロックされたメディアキャプチャセッション状態に遷移させる手段と、を備える。
【0012】
本明細書に開示する特定の実施形態は、以下の利点のうちの1つ以上を提供することができる。メディアキャプチャロックアフォーダンスは、ユーザが、メディアキャプチャデバイスを片手で保持しながら、ユーザの指(例えば、ユーザの親指)によって適用され得る単純かつ直感的なタッチジェスチャを使用して、メディアキャプチャデバイスのキャプチャ状態をロック及びアンロックすることを可能にする。
【0013】
主題の1つ以上の実装形態の詳細は、添付図面及び下掲の明細書に記載されている。本主題の他の特徴、態様、及び利点は、明細書、図面、及び特許請求の範囲から明らかとなるであろう。
【0014】
一部の実施形態によれば、方法が記載される。方法は、ディスプレイ、タッチ感知面、及び1つ以上のメディアキャプチャ構成要素を有するデバイスにおいて、ディスプレイ上に第1のユーザインタフェース要素を表示することと、タッチ感知面を介して、第1のユーザインタフェース要素に対応するタッチ感知面上の場所で開始するタッチ入力を検出することと、タッチ入力を検出したことに応答して、タッチ入力が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過する前に、タッチ感知面からリフトされたとの判定に従って、第1のタイプのメディアをキャプチャすることと、タッチ入力が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過した後に、タッチ感知面からリフトされたとの判定に従って、タッチ感知面上のタッチ入力の持続時間に基づく持続時間を有する第2のタイプのメディアをキャプチャすることと、タッチ入力が移動基準を満たし、第1の方向への移動を含むとの判定に従って、第2のタイプのメディアのキャプチャを開始し、タッチ感知面からのタッチ入力のリフトオフを検出した後に、第2のタイプのメディアのキャプチャを継続することと、を含む。
【0015】
一部の実施形態によれば、非一時的コンピュータ可読記憶媒体が記載される。非一時的コンピュータ可読記憶媒体は、ディスプレイ、タッチ感知面及び1つ以上のメディアキャプチャ構成要素を有する電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶し、1つ以上のプログラムは、ディスプレイ上に第1のユーザインタフェースを表示する命令と、タッチ感知面を介して、第1のユーザインタフェース要素に対応するタッチ感知面上の場所で開始するタッチ入力を検出する命令と、タッチ入力を検出したことに応答して、タッチ入力が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過する前に、タッチ入力がタッチ感知面からリフトされたとの判定に従って、第1のタイプのメディアをキャプチャする命令と、タッチ入力が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過した後に、タッチ入力がタッチ感知面からリフトされたとの判定に従って、タッチ感知面上のタッチ入力の持続時間に基づく持続時間を有する第2のタイプのメディアをキャプチャする命令と、タッチ入力が移動基準を満たし、第1の方向への移動を含むとの判定に従って、第2のタイプのメディアのキャプチャを開始し、タッチ感知面からのタッチ入力のリフトオフを検出した後に、第2のタイプのメディアのキャプチャ継続する命令と、を含む。
【0016】
一部の実施形態によれば、一時的コンピュータ可読記憶媒体が記載される。一時的コンピュータ可読記憶媒体は、ディスプレイ、タッチ感知面及び1つ以上のメディアキャプチャ構成要素を有する電子デバイスの1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶し、1つ以上のプログラムは、ディスプレイ上に第1のユーザインタフェースを表示する命令と、タッチ感知面を介して、第1のユーザインタフェース要素に対応するタッチ感知面上の場所で開始するタッチ入力を検出する命令と、タッチ入力を検出したことに応答して、タッチ入力が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過する前に、タッチ入力がタッチ感知面からリフトされたとの判定に従って、第1のタイプのメディアをキャプチャする命令と、タッチ入力が移動基準を満たす前、かつタッチ入力が検出されてから閾値時間が経過した後に、タッチ入力がタッチ感知面からリフトされたとの判定に従って、タッチ感知面上のタッチ入力の持続時間に基づく持続時間を有する第2のタイプのメディアをキャプチャする命令と、タッチ入力が移動基準を満たし、第1の方向への移動を含むとの判定に従って、第2のタイプのメディアのキャプチャを開始し、タッチ感知面からのタッチ入力のリフトオフを検出した後に、第2のタイプのメディアのキャプチャを継続する命令と、を含む。
【0017】
一部の実施形態によれば、電子デバイスが記載される。電子デバイスは、ディスプレイと、タッチ感知面と、1つ以上のメディアキャプチャ構成要素と、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶するメモリと、を備え、1つ以上のプログラムは、ディスプレイ上に第1のユーザインタフェースを表示する命令と、タッチ感知面を介して第1のユーザインタフェース要素に対応するタッチ感知面上の場所で開始するタッチ入力を検出する命令と、タッチ入力を検出したことに応答して、タッチ入力が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過する前に、タッチ入力がタッチ感知面からリフトされたとの判定に従って、第1のタイプのメディアをキャプチャする命令と、タッチ入力が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過した後に、タッチ入力がタッチ感知面からリフトされたとの判定に従って、タッチ感知面上のタッチ入力の持続時間に基づく持続時間を有する第2のタイプのメディアをキャプチャする命令と、タッチ入力が移動基準を満たし、第1の方向への移動を含むとの判定に従って、第2のタイプのメディアのキャプチャを開始し、タッチ感知面からのタッチ入力のリフトオフを検出した後に、第2のタイプのメディアのキャプチャを継続する命令と、を含む。
【0018】
一部の実施形態によれば、電子デバイスが記載される。電子デバイスは、ディスプレイと、タッチ感知面と、1つ以上のメディアキャプチャ構成要素と、ディスプレイ上に第1のユーザインタフェースを表示する手段と、タッチ感知面を介して、第1のユーザインタフェース要素に対応するタッチ感知面上の場所で開始するタッチ入力を検出する手段と、タッチ入力を検出したことに応答して、タッチ入力が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過する前に、タッチ入力がタッチ感知面からリフトされたとの判定に従って、第1のタイプのメディアをキャプチャし、タッチ入力が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過した後に、タッチ入力がタッチ感知面からリフトされたとの判定に従って、タッチ感知面上のタッチ入力の持続時間に基づく持続時間を有する第2のタイプのメディアをキャプチャし、タッチ入力が移動基準を満たし、第1の方向への移動を含むとの判定に従って、第2のタイプのメディアのキャプチャを開始し、タッチ感知面からのタッチ入力のリフトオフを検出した後に、第2のタイプのメディアのキャプチャ継続する手段と、を備える。
【0019】
これらの機能を実行する実行可能な命令は、任意選択的に、1つ以上のプロセッサによって実行されるように構成された非一時的コンピュータ可読記憶媒体又は他のコンピュータプログラム製品内に含まれる。これらの機能を実行する実行可能な命令は、任意選択的に、1つ以上のプロセッサによって実行されるように構成された一時的コンピュータ可読記憶媒体又は他のコンピュータプログラム製品内に含まれる。
【0020】
このように、デバイスには、より速く、より効率的な、ジェスチャによるメディアキャプチャを実行するための方法及びインタフェースが設けられ、それによって、このようなデバイスについての有効性、効率及びユーザ満足度が増大する。このような方法及びインタフェースは、ジェスチャによるメディアキャプチャを実行するための他の方法を任意選択的に補完するか、又は取り替えることができる。
【0021】
説明される様々な実施形態をより良く理解するため、以下の図面と併せて、以下の「発明を実施するための形態」が参照されるべきであり、類似の参照番号は、以下の図の全てを通じて、対応する部分を指す。
【図面の簡単な説明】
【0022】
図1A】一部の実施形態による、タッチ感知ディスプレイを有するポータブル多機能デバイスを示すブロック図である。
図1B】一部の実施形態による、イベント処理のための例示的な構成要素を示すブロック図である。
図2】一部の実施形態による、タッチスクリーンを有するポータブル多機能デバイスを示す。
図3】一部の実施形態による、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。
図4A】一部の実施形態による、ポータブル多機能デバイス上のアプリケーションのメニューの例示的なユーザインタフェースを示す。
図4B】一部の実施形態による、ディスプレイとは別個のタッチ感知面を有する多機能デバイスの例示的なユーザインタフェースを示す。
図5A】一部の実施形態によるパーソナル電子デバイスを示す。
図5B】一部の実施形態によるパーソナル電子デバイスを示すブロック図である。
図5C】一部の実施形態による、タッチ感知ディスプレイ及び強度センサを有するパーソナル電子デバイスの例示的な構成要素を示す。
図5D】一部の実施形態による、タッチ感知ディスプレイ及び強度センサを有するパーソナル電子デバイスの例示的な構成要素を示す。
図5E】一部の実施形態による、パーソナル電子デバイスの例示的な構成要素及びユーザインタフェースを示す。
図5F】一部の実施形態による、パーソナル電子デバイスの例示的な構成要素及びユーザインタフェースを示す。
図5G】一部の実施形態による、パーソナル電子デバイスの例示的な構成要素及びユーザインタフェースを示す。
図5H】一部の実施形態による、パーソナル電子デバイスの例示的な構成要素及びユーザインタフェースを示す。
図6A】一実施形態による、メディアキャプチャロックアフォーダンスの動作を示す。
図6B】一実施形態による、メディアキャプチャロックアフォーダンスの動作を示す。
図6C】一実施形態による、メディアキャプチャロックアフォーダンスの動作を示す。
図6D】一実施形態による、メディアキャプチャロックアフォーダンスの動作を示す。
図6E】一実施形態による、メディアキャプチャロックアフォーダンスの動作を示す。
図6F】一実施形態による、メディアキャプチャロックアフォーダンスの動作を示す。
図6G】一実施形態による、メディアキャプチャロックアフォーダンスの動作を示す。
図6H】一実施形態による、メディアキャプチャロックアフォーダンスの動作を示す。
図7】一実施形態による、図6A図6Hに示したメディアキャプチャロックアフォーダンスのアニメーションプロセスのフロー図である。
図8】一実施形態による、図1図2を参照して説明したメディアキャプチャロックアフォーダンスを実装するメディアキャプチャデバイスの例示的なデバイスのアーキテクチャを示す。
図9-1】図9Aは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図9-2】図9Bは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。図9Cは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図9-3】図9Dは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。図9Eは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。図9Fは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図9-4】図9Gは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。図9Hは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図9-5】図9Iは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。図9Jは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図9-6】図9Kは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図9-7】図9Lは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図9-8】図9Mは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。図9Nは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図9-9】図9Oは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。図9Pは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図10A】一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図10B】一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図10C】一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図10D】一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図10E】一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図10F】一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。
図11A】一部の実施形態による、ジェスチャによるメディアキャプチャを実行するためのフロー図である。
図11B】一部の実施形態による、ジェスチャによるメディアキャプチャを実行するためのフロー図である。
【発明を実施するための形態】
【0023】
以下の説明は、例示的な方法、パラメータなどについて記載する。しかしながら、そのような説明は、本開示の範囲に対する限定として意図されるものではなく、代わりに例示的な実施形態の説明として提供されることを認識されたい。
【0024】
ジェスチャによるメディアキャプチャを実行する効率的な方法及びインタフェースを提供する電子デバイスが必要とされている。このような技法は、メディアをキャプチャするためにデバイスを使用するユーザの認識的負担を軽減し、それにより、生産性を向上させることができる。更に、このような技法は、普通なら冗長なユーザ入力に浪費されるプロセッサ及び電池の電力を低減させることができる。
【0025】
以下に、図1A図1B図2図3図4A図4B、及び図5A図5Hは、イベント通知を管理する技法を実行するための例示的なデバイスの説明を提供する。図6A図6Hは、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。図7は、一部の実施形態による、ジェスチャによるメディアキャプチャを実行する方法を示すフロー図である。図6A図6Hのユーザインタフェースは、図7の処理を含む、以下で説明する処理を示すために使用される。図9A図10Fは、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。図11A図11Bは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行する方法を示すフロー図である。図9A図10Fのユーザインタフェースは、図11A図11Bのプロセスを含む後述するプロセスを示すために使用される。
【0026】
以下の説明では、様々な要素について説明するために、「第1の」、「第2の」などの用語を使用するが、これらの要素は、それらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、記載する様々な実施形態の範囲から逸脱することなく、第1のタッチを第2のタッチと呼ぶこともでき、同様に第2のタッチを第1のタッチと呼ぶこともできる。第1のタッチ及び第2のタッチはどちらもタッチであるが、これらは同じタッチではない。
【0027】
本明細書に記載する様々な実施形態の説明で使用される術語は、特定の実施形態を説明することのみを目的とし、限定的であることは意図されていない。記載する様々な実施形態の説明及び添付の特許請求の範囲では、単数形の「a(1つ、一)」、「an(1つ、一)」、及び「the(その、この)」は、文脈上別途明白に記載しない限り、複数形も同様に含むことが意図される。また、本明細書で使用されるとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及び全ての考えられる組み合わせを指し、かつこれを含むことを理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(含む、備える)」、及び/又は「comprising(含む、備える)」は、本明細書で使用する場合、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を除外しないことが更に理解されるであろう。
【0028】
「~の場合(if)」という用語は、任意選択的に、文脈に応答して、「~とき(when)」若しくは「~とき(upon)」、又は「~と判定したことに応答して(in response to determining)」若しくは「~を検出したことに応答して(in response to detecting)」を意味すると解釈される。同様に、「~と判定された場合(if it is determined)」又は「[記載の条件又はイベント]が検出された場合(if [a stated condition or event] is detected)」という語句は、任意選択的に、文脈に応答して、「~と判定したとき(upon determining)」若しくは「~と判定したことに応答して(in response to determining)」、又は「[記載の条件又はイベント]を検出したとき(upon detecting [the stated condition or event])」若しくは「[記載の条件又はイベント]を検出したことに応答して(in response to detecting [the stated condition or event])」を意味すると解釈される。
【0029】
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用する関連するプロセスの実施形態が説明される。一部の実施形態では、デバイスは、PDA機能及び/又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)のデバイスが挙げられるが、これらに限定されない。任意選択的に、タッチ感知面を有するラップトップ又はタブレットコンピュータ(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)などの他のポータブル電子デバイスも使用される。また、一部の実施形態では、デバイスはポータブル通信デバイスではなく、タッチ感知面を有するデスクトップコンピュータ(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)であることも理解されたい。
【0030】
以下の論考では、ディスプレイ及びタッチ感知面を含む電子デバイスについて説明する。しかしながら、電子デバイスは、任意選択的に、物理キーボード、マウス、及び/又はジョイスティックなどの1つ以上の他の物理ユーザインタフェースデバイスを含むことを理解されたい。
【0031】
デバイスは、典型的には、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの様々なアプリケーションをサポートする。
【0032】
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び/又はそれぞれのアプリケーション内で、任意選択的に、調整及び/又は変更される。このように、デバイスの共通の物理アーキテクチャ(タッチ感知面など)は、任意選択的に、ユーザにとって直観的かつ透過的なユーザインタフェースを備える様々なアプリケーションをサポートする。
【0033】
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図1Aは、一部の実施形態による、タッチ感知ディスプレイシステム112を有するポータブル多機能デバイス100を示すブロック図である。タッチ感知ディスプレイ112は、便宜上「タッチスクリーン」と呼ばれることがあり、「タッチ感知ディスプレイシステム」として知られている又は呼ばれることがある。デバイス100は、メモリ102(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ122、1つ以上の処理ユニット(CPU)120、周辺機器インタフェース118、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、入出力(I/O)サブシステム106、他の入力コントロールデバイス116、及び外部ポート124を含む。デバイス100は、任意選択的に、1つ以上の光学センサ164を含む。デバイス100は、任意選択的に、デバイス100上の接触の強度を検出する1つ以上の接触強度センサ165(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)を含む。デバイス100は、任意選択的に、デバイス100上で触知出力を生成する(例えばデバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などのタッチ感知面上で触知出力を生成する)1つ以上の触知出力生成器167を含む。これらの構成要素は、任意選択的に、1つ以上の通信バス又は信号線103を介して通信する。
【0034】
本明細書及び特許請求の範囲で使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指接触)の力若しくは圧力(単位面積当たりの力)、又はタッチ感知面上の接触の力若しくは圧力に対する代替物(代用物)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、数百の(例えば、少なくとも256の)別個の値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組み合わせを使用して、判定(又は測定)される。例えば、タッチ感知面の下又はそれに隣接する1つ以上の力センサは、任意選択的に、タッチ感知面上の様々なポイントにおける力を測定するために使用される。一部の実装形態では、複数の力センサからの力測定値は、接触の推定される力を判定するために組み合わされる(例えば、加重平均)。同様に、スタイラスの感圧性先端部は、任意選択的に、タッチ感知面上のスタイラスの圧力を判定するために使用される。代替的に、タッチ感知面上で検出される接触エリアのサイズ及び/若しくはその変化、接触に近接するタッチ感知面の静電容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化は、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。一部の実装形態では、接触の力又は圧力のための代替測定値は、強度閾値を超えているかどうかを判定するために直接使用される(例えば、強度閾値は、代替測定値に対応する単位で記述される)。一部の実装形態では、接触の力又は圧力に対する代替測定値は、推定される力又は圧力に変換され、推定される力又は圧力は、強度閾値を超えているかどうかを判定するために使用される(例えば、強度閾値は、圧力の単位で測定される圧力閾値である)。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示するための、及び/又は、ユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又は、ノブ若しくはボタンなどの物理的/機械的制御部を介して)受信するための面積が制限されている、低減されたサイズのデバイス上で、通常であればユーザによってアクセスすることが不可能であり得る追加のデバイス機能への、ユーザのアクセスが可能となる。
【0035】
本明細書及び特許請求の範囲で使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの以前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、ハウジング)に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。いくつかの場合、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がないときでさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
【0036】
デバイス100は、ポータブル多機能デバイスの一例に過ぎず、デバイス100は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有するものであり、任意選択的に、2つ以上の構成要素を組み合わせるものであり、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有するものであることを理解されたい。図1Aに示す様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの両方の組み合わせで実装される。
【0037】
メモリ102は、任意選択的に、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。メモリコントローラ122は、任意選択的に、デバイス100の他の構成要素によるメモリ102へのアクセスを制御する。
【0038】
周辺機器インタフェース118は、デバイスの入力及び出力周辺機器をCPU120及びメモリ102に結合するために使用することができる。1つ以上のプロセッサ120は、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させるか、又は実行して、デバイス100のための様々な機能を実行し、データを処理する。一部の実施形態では、周辺機器インタフェース118、CPU120、及びメモリコントローラ122は、任意選択的に、チップ104などの単一のチップ上で実装される。一部の他の実施形態では、それらは別々のチップ上に任意選択的に実装される。
【0039】
RF(radio frequency)(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、任意選択的に、これらの機能を実行するための周知の回路を含み、それらの回路としては、限定するものではないが、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(subscriber identity module、SIM)カード、メモリなどが挙げられる。RF回路108は、任意選択的に、ワールドワイドウェブ(World Wide Web、WWW)とも呼ばれるインターネット、イントラネット、並びに/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(local area network、LAN)及び/若しくはメトロポリタンエリアネットワーク(metropolitan area network、MAN)などの無線ネットワークなどのネットワークと、また他のデバイスと、無線通信によって通信する。RF回路108は、任意選択的に、短距離通信無線機などによって近距離通信(near field communication、NFC)フィールドを検出するよく知られている回路を含む。無線通信は、任意選択的に、それだけに限定されるものではないが、動き通信用のグローバルシステム(Global System for Mobile Communications、GSM)、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、高速ダウンリンクパケットアクセス(high-speed downlink packet access、HSDPA)、高速アップリンクパケットアクセス(high-speed uplink packet access、HSUPA)、エボリューションデータオンリ(Evolution,Data-Only、EV-DO)、HSPA、HSPA+、デュアルセルHSPA(Dual-Cell HSPA、DC-HSPDA)、ロングタームエボリューション(long term evolution、LTE)、近距離通信(NFC)、広帯域符号分割多元接続(wideband code division multiple access、W-CDMA)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth(登録商標)、Bluetoothローエネルギー(Bluetooth Low Energy、BTLE(登録商標))、ワイヤレスフィデリティ(Wireless Fidelity、Wi-Fi(登録商標))(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n、及び/若しくはIEEE 802.11ac)、ボイスオーバインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi-MAX(登録商標)、電子メール用プロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol、IMAP)及び/若しくはポストオフィスプロトコル(post office protocol、POP))、インスタントメッセージング(例えば、拡張可能なメッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol、XMPP)、インスタントメッセージング及びプレゼンスレベレイジングエクステンションのためのセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、並びに/若しくはショートメッセージサービス(Short Message Service、SMS)、又は本明細書の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の適した通信プロトコルを含む、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
【0040】
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路110は、周辺機器インタフェース118からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。また、オーディオ回路110は、マイクロフォン113によって音波から変換された電気信号を受信する。オーディオ回路110は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インタフェース118に送信する。オーディオデータは、任意選択的に、周辺機器インタフェース118によって、メモリ102及び/若しくはRF回路108から取得され、かつ/又はメモリ102及び/若しくはRF回路108に送信される。一部の実施形態では、オーディオ回路110はヘッドセットジャック(例えば、図2の212)も備える。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば片耳又は両耳用のヘッドホン)及び入力(例えばマイクロフォン)の両方を備えるヘッドセットなどの着脱可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【0041】
I/Oサブシステム106は、タッチスクリーン112及び他の入力コントロールデバイス116などのデバイス100上の入出力周辺機器を、周辺機器インタフェース118に結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光学センサコントローラ158、深度カメラコントローラ169、強度センサコントローラ159、触覚フィードバックコントローラ161、及び、他の入力デバイス若しくは制御デバイス用の1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、他の入力コントロールデバイス116からの電気信号の受信/他の入力コントロールデバイス116への電気信号の送信を行う。他の入力コントロールデバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。一部の代替的な実施形態では、入力コントローラ(単数又は複数)160は、任意選択的に、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに結合される(又はいずれにも結合されない)。1つ以上のボタン(例えば、図2の208)は、任意選択的に、スピーカ111及び/又はマイクロフォン113の音量コントロールのための上下ボタンを含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、図2の206)を含む。
【0042】
全体として参照により本明細書に組み込まれている、2005年12月23日出願の米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」、米国特許第7,657,849号に記載されているように、プッシュボタンの素早い押圧は、任意選択的に、タッチスクリーン112のロックを係合解除し、又は任意選択的に、タッチスクリーン上のジェスチャを使用してデバイスをアンロックするプロセスを開始する。プッシュボタン(例えば、206)のより長い押圧は、任意選択的に、デバイス100への電力をオン又はオフにする。ボタンのうちの1つ以上の機能性は、任意選択的に、ユーザによってカスタマイズ可能である。タッチスクリーン112は、仮想ボタン又はソフトボタン及び1つ以上のソフトキーボードを実装するために使用される。
【0043】
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112からの電気信号の受信、及び/又はタッチスクリーン112への電気信号の送信を行う。タッチスクリーン112は、ユーザに対して視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(総称して「グラフィック」)を任意選択的に含む。一部の実施形態では、視覚出力の一部又は全ては、任意選択的に、ユーザインタフェースオブジェクトに対応する。
【0044】
タッチスクリーン112は、触覚及び/若しくは触知接触に基づくユーザからの入力を受け入れるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156は(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)、タッチスクリーン112への接触(及びあらゆる接触の移動又は中断)を検出し、検出された接触をタッチスクリーン112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ又は画像)との対話に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
【0045】
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術も使用される。タッチスクリーン112及びディスプレイコントローラ156は、任意選択的に、それだけに限定されるものではないが、容量性、抵抗性、赤外線、及び表面音波の技術、並びにタッチスクリーン112との1つ以上の接触点を判定する他の近接センサアレイ又は他の要素を含む、現在知られている又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びそのあらゆる移動又は中断を検出する。例示的な実施形態では、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)及びiPod Touch(登録商標)に見られるものなどの、投影型相互静電容量感知技術が使用される。
【0046】
タッチスクリーン112の一部の実施形態におけるタッチ感知ディスプレイは、任意選択的に、それぞれが全体として参照により本明細書に組み込まれている、米国特許第6,323,846号(Westermanら)、第6,570,557号(Westermanら)、及び/若しくは第6,677,932号(Westerman)、並びに/又は米国特許公開第2002/0015024A1号に記載されているマルチタッチ感知タッチパッドに類似している。しかし、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
【0047】
タッチスクリーン112の一部の実施形態におけるタッチ感知ディスプレイは、(1)2006年5月2日出願の米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、(2)2004年5月6日出願の米国特許出願第10/840,862号、「Multipoint Touchscreen」、(3)2004年7月30日出願の米国特許出願第10/903,964号、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日出願の米国特許出願第11/048,264号、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日出願の米国特許出願第11/038,590号、「Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日出願の米国特許出願第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日出願の米国特許出願第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日出願の米国特許出願第11/228,737号、「Activating Virtual Keys Of A Touch-Screen Virtual Keyboard」、及び(9)2006年3月3日出願の米国特許出願第11/367,749号、「Multi-Functional Hand-Held Device」という出願に記載されている。これらの出願は全て、全体として参照により本明細書に組み込まれている。
【0048】
タッチスクリーン112は、任意選択的に、100dpiを超えるビデオ解像度を有する。一部の実施形態では、タッチスクリーンは、約160dpiのビデオ解像度を有する。ユーザは、任意選択的に、スタイラス、指などの任意の適した物体又は付属物を使用して、タッチスクリーン112に接触する。一部の実施形態では、ユーザインタフェースは、指ベースの接触及びジェスチャを主に扱うように設計されるが、これは、タッチスクリーン上の指の接触面積がより大きいため、スタイラスベースの入力ほど精密でない可能性がある。一部の実施形態では、デバイスは、粗い指ベースの入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
【0049】
一部の実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッドを含む。一部の実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン112又はタッチスクリーンによって形成されるタッチ感知面の拡張部とは別個のタッチ感知面である。
【0050】
デバイス100は、様々な構成要素に電力を供給する電力システム162も含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
【0051】
また、デバイス100は、任意選択的に、1つ以上の光学センサ164を含む。図1Aは、I/Oサブシステム106内の光学センサコントローラ158に結合された光学センサを示す。光学センサ164は、任意選択的に、電荷結合デバイス(charge-coupled device、CCD)又は相補的金属酸化物半導体(complementary metal-oxide semiconductor、CMOS)フォトトランジスタを含む。光学センサ164は、1つ以上のレンズを通って投影された環境からの光を受信し、その光を、画像を表すデータに変換する。光学センサ164は、撮像モジュール143(カメラモジュールとも呼ばれる)と連動して、任意選択的に、静止画像又はビデオをキャプチャする。一部の実施形態では、光学センサは、デバイスの前面にあるタッチスクリーンディスプレイ112とは反対のデバイス100の裏面に位置するので、タッチスクリーンディスプレイは、静止画像及び/又はビデオ画像の取得のためのビューファインダとしての使用が可能になる。一部の実施形態では、光学センサは、デバイスの前面に位置するので、ユーザは他のテレビ会議参加者をタッチスクリーンディスプレイ上で閲覧しながら、ユーザの画像は任意選択的に、テレビ会議のために取得される。一部の実施形態では、光学センサ164の位置は、ユーザによって(例えば、デバイスハウジング内のレンズ及びセンサを回転させることによって)変更することができ、したがって単一の光学センサ164が、タッチスクリーンディスプレイと共に、テレビ会議用にも静止画像及び/又はビデオ画像の取得のためにも使用される。
【0052】
デバイス100はまた、任意選択的に、1つ以上の深度カメラセンサ175を含む。図1Aは、I/Oサブシステム106内の深度カメラコントローラ169に結合された深度カメラセンサを示す。深度カメラセンサ175は、環境からデータを受信して、視点(例えば、深度カメラセンサ)からのシーン内のオブジェクト(例えば、顔面)の3次元モデルを作成する。一部の実施形態では、撮像モジュール143(カメラモジュールとも呼ばれるもの)と連携して、深度カメラセンサ175は、任意選択的に、撮像モジュール143によってキャプチャされた画像の種々の部分の深度マップを決定するために使用される。一部の実施形態では、デバイス100の前面に深度カメラセンサが位置しているので、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で閲覧しながら、深度マップデータを有する自撮り画像をキャプチャするために、深度情報を有するユーザの画像が、任意選択的に、テレビ会議のために取得される。一部の実施形態では、深度カメラセンサ175は、デバイスの背面に、あるいはデバイス100の背面及び前面に位置している。一部の実施形態では、深度カメラセンサ175の位置は、ユーザによって(例えば、デバイスハウジング内のレンズ及びセンサを回転させることによって)変更することができ、したがって深度カメラセンサ175が、タッチスクリーンディスプレイと共に、テレビ会議用にも静止画像及び/又はビデオ画像の取得のためにも使用される。
【0053】
デバイス100は、任意選択で、1つ以上の接触強度センサ165も含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、1つ以上のピエゾ抵抗ひずみゲージ、静電容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)を、任意選択的に含む。接触強度センサ165は、環境から接触強度情報(例えば、圧力情報、又は圧力情報の代用物)を受信する。一部の実施形態では、少なくとも1つの接触強度センサは、タッチ感知面(例えばタッチ感知ディスプレイシステム112)と並置される、又はそれに近接される。一部の実施形態では、少なくとも1つの接触強度センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に位置している。
【0054】
また、デバイス100は、任意選択的に、1つ以上の近接センサ166を含む。図1Aは、周辺機器インタフェース118に結合された近接センサ166を示す。代わりに、近接センサ166は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。近接センサ166は、任意選択的に、全体として参照により本明細書に組み込まれている、米国特許出願第11/241,839号、「Proximity Detector In Handheld Device」、第11/240,788号、「Proximity Detector In Handheld Device」第11/620,702号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、第11/586,862号、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び同第11/638,251号、「Methods And Systems For Automatic Configuration Of Peripherals」で説明されるように機能するものであり、これらの出願は、全体が参照により本明細書に組み込まれる。一部の実施形態では、多機能デバイスが、ユーザの耳の近くに配置される場合(例えば、ユーザが電話通話を行っている場合)、近接センサは、タッチスクリーン112をオフにして無効化する。
【0055】
デバイス100はまた、任意選択的に、1つ以上の触知出力生成器167を含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などのエネルギを直線の動きに変換する電気機械デバイスを含む。接触強度センサ165は、触覚フィードバックモジュール133から触知フィードバック生成命令を受信し、デバイス100のユーザが感知することが可能な触知出力をデバイス100上に生成する。一部の実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と一緒に並べて配置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は水平方向(例えば、デバイス100の表面と同じ平面内の前後)に動かすことによって、触知出力を生成する。一部の実施形態では、少なくとも1つの触知出力生成器センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に位置している。
【0056】
また、デバイス100は、任意選択的に、1つ以上の加速度計168を含む。図1Aは、周辺機器インタフェース118に結合された加速度計168を示す。代わりに、加速度計168は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。加速度計168は、任意選択的に、どちらも全体として参照により本明細書に組み込まれている、米国特許公開第20050190059号、「Acceleration-based Theft Detection System for Portable Electronic Devices」、及び米国特許公開第20060017692号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」に記載されているように機能する。一部の実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、ポートレートビュー又はランドスケープビューでタッチスクリーンディスプレイ上に表示される。デバイス100は、加速度計(単数又は複数)168に加えて、磁気計並びにデバイス100の場所及び向き(例えば、縦方向又は横方向)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信機を任意選択的に含む。
【0057】
一部の実施形態では、メモリ102内に記憶されているソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(Global Positioning System、GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、一部の実施形態では、メモリ102(図1A)又はメモリ370(図3)は、図1A及び図3に示すように、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示すアクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占めているかを示す表示状態、デバイスの様々なセンサ及び入力コントロールデバイス116から取得した情報を含むセンサ状態、並びにデバイスの場所及び/又は姿勢に関する位置情報、のうちの1つ以上を含む。
【0058】
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、iOS(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、通常のシステムタスク(例えば、メモリ管理、記憶デバイスの制御、電力管理など)を制御及び管理する様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
【0059】
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート124(例えばユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えばインターネット、無線LANなど)を介して間接的に、他のデバイスに結合されるように適合されている。一部の実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同じ若しくは類似であり、かつ/又はそれに適合しているマルチピン(例えば、30ピン)コネクタである。
【0060】
接触/動きモジュール130は、任意選択的に、タッチスクリーン112(ディスプレイコントローラ156と連動して)及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール130は、接触が生じたかどうかを判定すること(例えば、指を下ろすイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するかどうかを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が中止したかどうかを判定すること(例えば、指を上げるイベント又は接触の中止を検出すること)などの、接触の検出に関する様々な動作を実行するための、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。一部の実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
【0061】
一部の実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたかどうかを判定するための(例えば、ユーザがアイコン上で「クリック」したかどうかを判定するための)、1つ以上の強度閾値のセットを使用する。一部の実施形態では、強度閾値の少なくとも1つのサブセットが、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されるのではなく、デバイス100の物理ハードウェアを変化させることなく調整することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変化させることなく、広範囲の既定閾値のうちのいずれかに設定することができる。加えて、一部の実装形態では、デバイスのユーザは、強度閾値のセットのうちの1つ以上を調整するソフトウェア設定が提供される(例えば、システムレベルのクリック「強度」パラメータによって、個々の強度閾値を調整すること、及び/又は複数の強度閾値を一度に調整することによる)。
【0062】
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指を下ろすイベントを検出し、それに続いて指を下ろすイベントと同じ位置(又は実質的に同じ位置)(例えば、アイコンの位置)で指を上げる(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上で指スワイプジェスチャを検出することは、指を下ろすイベントを検出し、それに続いて1つ以上の指をドラッグするイベントを検出し、その後それに続いて指を上げる(リフトオフ)イベントを検出することを含む。
【0063】
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含めた、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、さまざまな既知のソフトウェア構成要素を含む。本明細書で使用されるとき、用語「グラフィック」は、それだけに限定されるものではないが、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどを含む、ユーザに表示することができる任意のオブジェクトを含む。
【0064】
一部の実施形態では、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力するためのスクリーン画像データを生成する。
【0065】
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応答して、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)167によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
【0066】
テキスト入力モジュール134は、任意選択で、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するためのソフトキーボードを提供する。
【0067】
GPSモジュール135は、デバイスの場所を判定し、この情報を様々なアプリケーションで使用するために(例えば、位置に基づくダイヤル発呼で使用するために電話138へ、画像/ビデオのメタデータとしてカメラ143へ、並びに、気象ウィジェット、地域のイエローページウィジェット、及び地図/ナビゲーションウィジェットなどの、場所に基づくサービスを提供するアプリケーションへ)提供する。
【0068】
アプリケーション136は、任意選択的に、以下のモジュール(又は命令セット)又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール137(アドレス帳又は連絡先リストと呼ばれることもある)、
●電話モジュール138、
●テレビ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(IM)モジュール141、
●トレーニングサポートモジュール142、
●静止画像及び/又はビデオ画像用のカメラモジュール143、
●画像管理モジュール144、
●ビデオプレーヤモジュール、
●音楽プレーヤモジュール、
●ブラウザモジュール147、
●カレンダモジュール148、
●任意選択的に気象ウィジェット149-1、株式ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、辞書ウィジェット149-5、及びユーザによって入手された他のウィジェット、並びにユーザ作成ウィジェット149-6のうちの1つ以上を含むウィジェットモジュール149、
●ユーザ作成ウィジェット149-6を作成するためのウィジェットクリエータモジュール150、
●検索モジュール151、
●ビデオプレーヤモジュール及び音楽プレーヤモジュールを一体化したビデオ及び音楽プレーヤモジュール152、
●メモモジュール153、
●地図モジュール154、並びに/又は、
●オンラインビデオモジュール155。
【0069】
任意選択的にメモリ102に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【0070】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、連絡先モジュール137は、任意選択的に、アドレス帳に名前(単数又は複数)を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、実際の住所(単数又は複数)、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、テレビ会議モジュール139、電子メール140、又はIM141による通信を開始及び/又は促進することなどを含めて、アドレス帳又は連絡先リスト(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶される)を管理するために使用される。
【0071】
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、電話モジュール138は、任意選択的に、電話番号に対応する文字シーケンスの入力、連絡先モジュール137内の1つ以上の電話番号へのアクセス、入力された電話番号の修正、それぞれの電話番号のダイヤル、会話の実施、会話が終了したときの通話停止又はハングアップのために使用される。前述したように、無線通信は、任意選択的に、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
【0072】
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光学センサ164、光学センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と連動して、テレビ会議モジュール139は、ユーザ命令に従ってユーザと1人以上の他の参加者との間のテレビ会議を開始、実行、及び終了するための実行可能な命令を含む。
【0073】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、電子メールクライアントモジュール140は、ユーザ命令に応答して電子メールを作成、送信、受信、及び管理するための実行可能な命令を含む。画像管理モジュール144と連動して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールの作成及び送信を非常に容易にする。
【0074】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、インスタントメッセージングモジュール141は、インスタントメッセージに対応する文字シーケンスの入力、以前に入力された文字の修正、それぞれのインスタントメッセージの送信(例えば、電話通信ベースのインスタントメッセージ向けのショートメッセージサービス(Short Message Service、SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service、MMS)プロトコル、又はインターネットベースのインスタントメッセージ向けのXMPP、SIMPLE、若しくはIMPSを使用する)、インスタントメッセージの受信、及び受信したインスタントメッセージの閲覧のための実行可能な命令を含む。一部の実施形態では、送信及び/又は受信されるインスタントメッセージは、任意選択的に、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるグラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含む。本明細書では、「インスタントメッセージング」とは、電話通信ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)と、インターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)との両方を指す。
【0075】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと連動して、トレーニングサポートモジュール142は、トレーニング(例えば、時間、距離、及び/又はカロリー燃焼目標を有する)を作成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽を選択及び再生し、並びに、トレーニングデータを表示、記憶、及び送信するための実行可能な命令を含む。
【0076】
タッチスクリーン112、ディスプレイコントローラ156、光学センサ(単数又は複数)164、光学センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と連動して、カメラモジュール143は、静止画像若しくはビデオ(ビデオストリームを含む)のキャプチャ及びメモリ102内への記憶、静止画像若しくはビデオの特性の修正、又はメモリ102からの静止画像若しくはビデオの削除のための実行可能な命令を含む。
【0077】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と連動して、画像管理モジュール144は、静止画像及び/又はビデオ画像の配置、修正(例えば、編集)、あるいはその他の操作、ラベル付け、削除、提示(例えば、デジタルスライドショー又はアルバムにおける)、及び記憶のための実行可能な命令を含む。
【0078】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、ブラウザモジュール147は、ウェブページ又はその一部分、並びにウェブページにリンクされた添付ファイル及び他のファイルの検索、リンク、受信、及び表示を含めて、ユーザ命令に従ってインターネットをブラウジングするための実行可能な命令を含む。
【0079】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、カレンダモジュール148は、ユーザの指示に従い、カレンダ及びカレンダに関連付けられたデータ(例えば、カレンダ項目、to doリストなど)を作成し、表示し、変更し、記憶するための実行可能な命令を含む。
【0080】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連動して、ウィジェットモジュール149は、任意選択的にユーザによってダウンロード及び使用されるミニアプリケーション(例えば、気象ウィジェット149-1、株式ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成されるミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。一部の実施形態では、ウィジェットは、HTML(Hypertext Markup Language、ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets、カスケーディングスタイルシート)ファイル、及びJavaScript(登録商標)ファイルを含む。一部の実施形態では、ウィジェットは、XML(Extensible Markup Language、拡張可能マークアップ言語)ファイル及びJavaScript(登録商標)ファイル(例えば、Yahoo!ウィジェット)を含む。
【0081】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連動して、ウィジェットクリエータモジュール150は、任意選択的に、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットにする)ために、ユーザによって使用される。
【0082】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、検索モジュール151は、ユーザ命令に従って1つ以上の検索基準(例えば、1つ以上のユーザ指定検索語)に一致するメモリ102内の文字、音楽、サウンド、画像、ビデオ、及び/又は他のファイルを検索するための実行可能な命令を含む。
【0083】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と連携して、ビデオ及び音楽プレーヤモジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽及び他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能な命令、並びにビデオを(タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別の方法で再生するための実行可能な命令を含む。一部の実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を含む。
【0084】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連動して、メモモジュール153は、ユーザ命令に従ってメモ、やることリストなどを作成及び管理するための実行可能な命令を含む。
【0085】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連動して、地図モジュール154は、任意選択的に、ユーザ命令に従って、地図及び地図に関連付けられたデータ(例えば、運転方向、特定の場所又はその付近の店舗及び他の対象地点に関するデータ、並びに他の場所ベースのデータ)を受信、表示、修正、及び記憶するために使用される。
【0086】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連動して、オンラインビデオモジュール155は、ユーザが特定のオンラインビデオへのアクセス、特定のオンラインビデオのブラウジング、受信(例えば、ストリーミング及び/又はダウンロードによる)、再生(例えば、タッチスクリーン上又は外部ポート124を介して接続された外部ディスプレイ上)、特定のオンラインビデオへのリンクを有する電子メールの送信、並びにH.264などの1つ以上のファイル形式のオンラインビデオの他の管理を行うことを可能にする命令を含む。一部の実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。オンラインビデオアプリケーションについての追加の説明は、その内容が全体として参照により本明細書に組み込まれている、2007年6月20日出願の米国仮特許出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日出願の米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」において見ることができる。
【0087】
上記で特定したモジュール及びアプリケーションはそれぞれ、前述した1つ以上の機能及び本出願に記載する方法(例えば、本明細書に記載するコンピュータにより実装される方法及び他の情報処理方法)を実行する実行可能な命令のセットに対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが、任意選択的に、組み合わされ、又は他の形で再構成される。例えば、ビデオプレーヤモジュールは、任意選択的に、音楽プレーヤモジュールと組み合わされて、単一のモジュール(例えば、図1Aのビデオ及び音楽プレーヤモジュール152)にされる。一部の実施形態では、メモリ102は、任意選択的に、上記で特定したモジュール及びデータ構造のサブセットを記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【0088】
一部の実施形態では、デバイス100は、そのデバイスにおける所定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを通じて実行されるデバイスである。デバイス100が動作するための主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理的な入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
【0089】
タッチスクリーン及び/又はタッチパッドを通じてのみ実行される既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。一部の実施形態では、タッチパッドは、ユーザによってタッチされたときに、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。このような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。一部の他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又はその他の物理入力コントロールデバイスである。
【0090】
図1Bは、一部の実施形態による、イベント処理のための例示的な構成要素を示すブロック図である。一部の実施形態では、メモリ102(図1A)又は370(図3)は、イベントソータ170(例えば、オペレーティングシステム126内)と、それぞれのアプリケーション136-1(例えば、前述のアプリケーション137~151、155、380~390のうちのいずれか)とを含む。
【0091】
イベントソータ170は、イベント情報を受信し、イベント情報が配信されるアプリケーション136-1、及びアプリケーション136-1のアプリケーションビュー191を判定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。一部の実施形態では、アプリケーション136-1は、アプリケーションがアクティブ又は実行中のとき、タッチ感知ディスプレイ112で上に表示される現在のアプリケーションビュー(単数又は複数)を示す、アプリケーション内部状態192を含む。一部の実施形態では、デバイス/グローバル内部状態157は、いずれのアプリケーションが現在アクティブであるかを判定するために、イベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報の配信先となるアプリケーションビュー191を決定するために、イベントソータ170によって使用される。
【0092】
一部の実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開するときに使用すべき再開情報、アプリケーション136-1によって表示されている情報を示す又は表示する準備ができたユーザインタフェース状態情報、ユーザがアプリケーション136-1の以前の状態又はビューに戻ることを可能にする状態キュー、及びユーザによって行われた以前のアクションのリドゥ/アンドゥキューのうちの1つ以上などの追加の情報を含む。
【0093】
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としてのタッチ感知ディスプレイ112上のユーザタッチ)に関する情報を含む。周辺機器インタフェース118は、I/Oサブシステム106、又は近接センサ166、加速度計(単数又は複数)168、及び/若しくは(オーディオ回路110を介した)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
【0094】
一部の実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。それに応じて、周辺機器インタフェース118は、イベント情報を送信する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回る及び/又は所定の持続時間を超える入力の受信)があるときのみイベント情報を送信する。
【0095】
一部の実施形態では、イベントソータ170は、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
【0096】
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示するとき、サブイベントが1つ以上のビュー内のどこで行われたかを判定するソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御装置及び他の要素から構成されている。
【0097】
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウインドウと呼ばれることもあるビューのセットであり、その中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて決定される。
【0098】
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するときには、ヒットビュー判定モジュール172は、サブイベントを処理すべき、階層内の最下位のビューとしてのヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始サブイベント(例えば、イベント又は潜在的イベントを形成するサブイベントシーケンス内の第1のサブイベント)が行われる最も低いレベルのビューである。ヒットビューがヒットビュー判定モジュール172によって特定されると、このヒットビューは、典型的には、ヒットビューとして特定されたのと同じタッチ又は入力ソースに関係する全てのサブイベントを受信する。
【0099】
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。一部の実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理的な場所を含む全てのビューがアクティブに関わりがあるビューであると判定し、したがって、全てのアクティブに関わりがあるビューが、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントが1つの特定のビューに関連付けられたエリアに完全に限定された場合でも、階層内の上位のビューは、依然としてアクティブに関わりがあるビューであり続ける。
【0100】
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えばイベント認識部180)にディスパッチする。アクティブイベント認識部判定モジュール173を含む実施形態では、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。一部の実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部182によって取得されるイベント情報をイベント待ち行列に記憶する。
【0101】
一部の実施形態では、オペレーティングシステム126は、イベントソータ170を含む。代替的に、アプリケーション136-1がイベントソータ170を含む。更に他の実施形態では、イベントソータ170は、独立型のモジュールであり、又は接触/動きモジュール130などのメモリ102内に記憶されている別のモジュールの一部分である。
【0102】
一部の実施形態では、アプリケーション136-1は、それぞれがアプリケーションのユーザインタフェースのそれぞれのビュー内で発生するタッチイベントを処理するための命令を含む、複数のイベントハンドラ190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136-1の各アプリケーションビュー191は、1つ以上のイベント認識部180を含む。典型的には、それぞれのアプリケーションビュー191は、複数のイベント認識部180を含む。他の実施形態では、イベント認識部180のうちの1つ以上は、ユーザインタフェースキット、又は、アプリケーション136-1が方法及び他の属性を継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。一部の実施形態では、それぞれのイベントハンドラ190は、データアップデータ176、オブジェクトアップデータ177、GUIアップデータ178、及び/又はイベントソータ170から受信されたイベントデータ179のうちの1つ以上を含む。イベントハンドラ190は、任意選択的に、データアップデータ176、オブジェクトアップデータ177、又はGUIアップデータ178を利用し又は呼び出して、アプリケーション内部状態192を更新する。代替的に、アプリケーションビュー191のうちの1つ以上は、1つ以上のそれぞれのイベントハンドラ190を含む。また、一部の実施形態では、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178のうちの1つ以上は、それぞれのアプリケーションビュー191に含まれる。
【0103】
それぞれのイベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信し、このイベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。一部の実施形態では、イベント認識部180はまた、メタデータ183及びイベント配信命令188(任意選択的にサブイベント配信命令を含む)の少なくともサブセットも含む。
【0104】
イベント受信部182は、イベントソータ170からイベント情報を受信する。イベント情報は、サブイベント、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの場所などの追加の情報を含む。サブイベントがタッチの動きに関わるとき、イベント情報はまた任意選択的に、サブイベントの速さ及び方向を含む。一部の実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへ、又はその逆の)デバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ぶ)についての対応する情報を含む。
【0105】
イベント比較部184は、イベント情報を、定義済みのイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。一部の実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えばイベント1(187-1)及びイベント2(187-2)などのイベント(例えば既定のサブイベントのシーケンス)の定義を含む。一部の実施形態では、イベント187におけるサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの取り消し、及び複数のタッチを含む。一実施例では、イベント1(187-1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、所定の段階に対する表示オブジェクト上の第1のタッチ(タッチ開始)、所定の段階に対する第1のリフトオフ(タッチ終了)、所定の段階に対する表示オブジェクト上の第2のタッチ(タッチ開始)、及び所定の段階に対する第2のリフトオフ(タッチ終了)を含む。別の実施例では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、所定の段階に対する表示オブジェクト上のタッチ(又は接触)、タッチ感知ディスプレイ112におけるタッチの移動、及びタッチのリフトオフ(タッチ終了)を含む。一部の実施形態では、イベントは、1つ以上の関連付けられたイベントハンドラ190に関する情報も含む。
【0106】
一部の実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクトについてのイベント定義を含む。一部の実施形態では、イベント比較部184は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、タッチ感知ディスプレイ112上に3つのユーザインタフェースオブジェクトが表示されているアプリケーションビュー内で、タッチ感知ディスプレイ112上でタッチが検出されたとき、イベント比較部184は、ヒットテストを実行して、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定する。表示された各オブジェクトが、それぞれのイベントハンドラ190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベントハンドラ190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、ヒットテストをトリガするサブイベント及びオブジェクトに関連付けられたイベントハンドラを選択する。
【0107】
一部の実施形態では、それぞれのイベント187の定義は、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するかどうかが判定されるまで、イベント情報の配信を遅らせる遅延アクションも含む。
【0108】
それぞれのイベント認識部180が一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判定した場合、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャの次のサブイベントを無視する。この状況では、ヒットビューについてアクティブのままである他のイベント認識部があれば、そのイベント認識部は、進行中のタッチによるジェスチャのサブイベントの追跡及び処理を続行する。
【0109】
一部の実施形態では、それぞれのイベント認識部180は、イベント配信システムがどのようにサブイベント配信を実行すべきかをアクティブに関与しているイベント認識部に示す構成可能なプロパティ、フラグ、及び/又はリストを有するメタデータ183を含む。一部の実施形態では、メタデータ183は、イベント認識部が互いにどのように対話するか、又はイベント認識部が互いにどのように対話することができるようになっているかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。一部の実施形態では、メタデータ183は、サブイベントがビュー階層又はプログラム階層における多様なレベルに配信されるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。
【0110】
一部の実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されるときに、イベントに関連付けられたイベントハンドラ190をアクティブ化する。一部の実施形態では、それぞれのイベント認識部180は、イベントに関連付けられたイベント情報をイベントハンドラ190に配信する。イベントハンドラ190をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する(及び、送信を延期する)こととは別個である。一部の実施形態では、イベント認識部180は、認識したイベントに関連付けられたフラグを投入し、そのフラグに関連付けられたイベントハンドラ190は、そのフラグを捕らえ、所定のプロセスを実行する。
【0111】
一部の実施形態では、イベント配信命令188は、イベントハンドラをアクティブ化することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベントハンドラに、又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューと関連付けられたイベントハンドラは、イベント情報を受信し、所定の処理を実行する。
【0112】
一部の実施形態では、データアップデータ176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データアップデータ176は、連絡先モジュール137で使用される電話番号を更新し、又はビデオプレーヤモジュールで使用されるビデオファイルを記憶する。一部の実施形態では、オブジェクトアップデータ177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデータ177は、新たなユーザインタフェースオブジェクトを作成し、又はユーザインタフェースオブジェクトの位置を更新する。GUIアップデータ178は、GUIを更新する。例えば、GUIアップデータ178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール132に送る。
【0113】
一部の実施形態では、イベントハンドラ(単数又は複数)190は、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178を含む、又はそれらへのアクセスを有する。一部の実施形態では、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
【0114】
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の記載は、入力デバイスを用いて多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、そのすべてがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロールなどの接触の移動、ペンスタイラス入力、デバイスの移動、口頭による命令、検出された眼球運動、バイオメトリック入力、並びに/又はそれらの任意の組み合わせを、任意選択的に、認識するイベントを定義するサブイベントに対応する入力として利用する。
【0115】
図2は、一部の実施形態による、タッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、任意選択的に、ユーザインタフェース(user interface、UI)200内に1つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、それらのグラフィックのうちの1つ以上を選択することが可能となる。一部の実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。一部の実施形態では、ジェスチャは、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上向きに及び/若しくは下向きに)、並びに/又は、デバイス100と接触した指のローリング(右から左へ、左から右へ、上向きに及び/若しくは下向きに)を、任意選択で含む。一部の実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
【0116】
デバイス100はまた、任意選択的に、「ホーム」ボタン又はメニューボタン204などの1つ以上の物理ボタンを含む。前述したように、メニューボタン204は、任意選択的に、任意選択的にデバイス100上で実行される1組のアプリケーション内の任意のアプリケーション136へナビゲートするために使用される。代替的に、一部の実施形態では、メニューボタンは、タッチスクリーン112上に表示されるGUI内のソフトキーとして実装される。
【0117】
一部の実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフにしてデバイスをロックするプッシュボタン206、音量調整ボタン208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、任意選択で、ボタンを押し下げて、所定の期間にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン/オフするため、ボタンを押し下げて、所定の期間が経過する前にボタンを解放することによってデバイスをロックするため、及び/又はデバイスをアンロックする、若しくはアンロックプロセスを開始するために、使用され得る。代替的実施形態では、デバイス100はまた、マイクロフォン113を介して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力も受け入れる。デバイス100はまた、任意選択的に、タッチスクリーン112上の接触の強度を検出する1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成する1つ以上の触知出力生成器167を含む。
【0118】
図3は、一部の実施形態による、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。一部の実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレイヤデバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク又は他の通信インタフェース360、メモリ370、及びこれらの構成要素を相互接続する1つ以上の通信バス320を含む。通信バス320は、任意選択的に、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。デバイス300は典型的にはタッチスクリーンディスプレイであるディスプレイ340を含む、入出力(I/O)インタフェース330を含む。I/Oインタフェース330はまた、任意選択的に、キーボード及び/又はマウス(若しくは他のポインティングデバイス)350と、タッチパッド355と、デバイス300上に触知出力を生成する触知出力生成器357(例えば、図1Aを参照して前述した触知出力生成器167に類似している)と、センサ359(例えば、図1Aを参照して前述した接触強度センサ165に類似している光学センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/又は接触強度センサ)とを含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択的に、1つ以上の磁気ディスク記憶デバイス、光学ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ370は、任意選択で、CPU(単数又は複数)310からリモートに位置する1つ以上の記憶デバイスを含む。一部の実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102内に記憶されているプログラム、モジュール、及びデータ構造に類似したプログラム、モジュール、及びデータ構造、又はそのサブセットを記憶する。更に、メモリ370は、任意選択で、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス300のメモリ370は、任意選択的に、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を記憶するのに対して、ポータブル多機能デバイス100(図1A)のメモリ102は、任意選択的に、これらのモジュールを記憶しない。
【0119】
図3の上記で特定した要素はそれぞれ、任意選択的に、前述したメモリデバイスのうちの1つ以上の中に記憶される。上記で特定したモジュールはそれぞれ、前述した機能を実行する命令セットに対応する。上記で特定したモジュール又はプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって様々な実施形態では、これらのモジュールの様々なサブセットは、任意選択的に、組み合わされ、又は他の形で再構成される。一部の実施形態では、メモリ370は、任意選択で、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ370は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
【0120】
次に、任意選択的に例えばポータブル多機能デバイス100上で実装されるユーザインタフェースの実施形態に注意を向ける。
【0121】
図4Aは、一部の実施形態による、ポータブル多機能デバイス100上のアプリケーションのメニューの例示的なユーザインタフェースを示す。同様のユーザインタフェースは、デバイス300上に任意選択的に実装される。一部の実施形態では、ユーザインタフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びWi-Fi信号などの無線通信(単数又は複数)のための信号強度インジケータ(単数又は複数)402、
●時刻404、
●Bluetoothインジケータ405、
●バッテリ状態インジケータ406、
●以下のような、頻繁に使用されるアプリケーションのアイコンを有するトレイ408
○不在着信又は音声メールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされる、電話モジュール138用のアイコン416、
○未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140用のアイコン418、
○「ブラウザ」とラベル付けされた、ブラウザモジュール147のアイコン420、及び
○「iPod」とラベル付けされる、iPod(Apple Inc.の商標)モジュール152とも呼ばれるビデオ及び音楽プレーヤモジュール152用のアイコン422、及び
●以下のような、他のアプリケーションのアイコン、
○「メッセージ」とラベル付けされた、IMモジュール141のアイコン424、
○「カレンダ」とラベル付けされた、カレンダモジュール148のアイコン426、
○「写真」とラベル付けされた、画像管理モジュール144のアイコン428、
○「カメラ」とラベル付けされた、カメラモジュール143のアイコン430、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール155のアイコン432、
○「株価」とラベル付けされた、株式ウィジェット149-2のアイコン434、
○「地図」とラベル付けされた、地図モジュール154のアイコン436、
○「天気」とラベル付けされた、気象ウィジェット149-1のアイコン438、
○「時計」とラベル付けされた、アラーム時計ウィジェット149-4のアイコン440、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142のアイコン442、
○「メモ」とラベル付けされた、メモモジュール153のアイコン444、及び
○デバイス100及びその様々なアプリケーション136についての設定へのアクセスを提供する、「設定」とラベル付けされた、設定アプリケーション又はモジュール用のアイコン446。
【0122】
図4Aに示すアイコンラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール152のためのアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる、他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。一部の実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。一部の実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【0123】
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を有するデバイス(例えば、図3のデバイス300)上の例示的なユーザインタフェースを示す。デバイス300はまた、任意選択的に、タッチ感知面451上の接触の強度を検出する1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成する1つ以上の触知出力生成器357を含む。
【0124】
以下の例のうちのいくつかは、タッチスクリーンディスプレイ112(タッチ感知面及びディスプレイが組み合わされている)上の入力を参照して与えられるが、一部の実施形態では、デバイスは、図4Bに示すディスプレイとは別個のタッチ感知面上の入力を検出する。一部の実施形態では、タッチ感知面(例えば、図4Bの451)は、ディスプレイ(例えば、450)上の1次軸(例えば、図4Bの453)に対応する1次軸(例えば、図4Bの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの場所に対応する場所(例えば、図4Bでは、460は468に対応し、462は470に対応する)で、タッチ感知面451との接触(例えば、図4Bの460及び462)を検出する。このようにして、タッチ感知面(例えば、図4Bの451)上でデバイスによって検出されるユーザ入力(例えば、接触460及び462、並びにこれらの動き)は、タッチ感知面がディスプレイとは別個であるとき、多機能デバイスのディスプレイ(例えば、図4Bの450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
【0125】
加えて、以下の例は、主に指入力(例えば、指接触、指タップジェスチャ、指スワイプジェスチャ)を参照して与えられるが、一部の実施形態では、指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスベースの入力又はスタイラス入力)と取り替えられることを理解されたい。例えば、スワイプジェスチャは、(例えば、接触の代わりの)マウスクリックに続けた、(例えば、接触の移動の代わりの)スワイプの経路に沿ったカーソルの移動によって、任意選択的に取り替えられる。別の例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの場所の上に位置する間はマウスクリックと取り替えられる(例えば、接触を検出して、それに続いて接触の検出を停止する代わりに)。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが、任意選択的に、同時に使用され、又はマウス及び指の接触が、任意選択的に、同時に使用されることを理解されたい。
【0126】
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を含む。一部の実施形態では、デバイス500は、デバイス100及び300(例えば、図1A図4B)に関して説明する特徴のうちのいくつか又は全てを含むことができる。一部の実施形態では、デバイス500は、タッチ感知ディスプレイスクリーン504、以下ではタッチスクリーン504、を有する。代替的に、又はタッチスクリーン504に加えて、デバイス500は、ディスプレイ及びタッチ感知面を有する。デバイス100及び300と同様に、一部の実施形態では、タッチスクリーン504(又はタッチ感知面)は、任意選択的に、加えられている接触(例えば、タッチ)の強度を検出する1つ以上の強度センサを含む。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス500のユーザインタフェースは、タッチの強度に基づいてタッチに応答することができ、これは、異なる強度のタッチが、デバイス500上で異なるユーザインタフェース動作を呼び出すことができることを意味する。
【0127】
タッチ強度を検出及び処理する例示的な技法は、例えば、それぞれ全体として参照により本明細書に組み込まれている、国際特許第WO/2013/169849号として公開された、2013年5月8日出願の国際特許出願第PCT/US2013/040061号、「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」、及び国際特許第WO/2014/105276号として公開された、2013年11月11日出願の国際特許出願第PCT/US2013/069483号、「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」という関連出願に見られる。
【0128】
一部の実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び508は、含まれる場合、物理的機構とすることができる。物理的入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。一部の実施形態では、デバイス500は、1つ以上のアタッチメント機構を有する。そのようなアタッチメント機構は、含まれる場合、例えば帽子、アイウェア、イアリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計のバンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどにデバイス500を取り付けることを可能にすることができる。これらのアタッチメント機構は、ユーザがデバイス500を着用することを可能にする。
【0129】
図5Bは、例示的なパーソナル電子デバイス500を示す。一部の実施形態では、デバイス500は、図1A図1B、及び図3に関して説明した構成要素のうちのいくつか又は全てを含むことができる。デバイス500は、I/Oセクション514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に結合するバス512を有する。I/Oセクション514は、ディスプレイ504に接続することができ、ディスプレイ504は、タッチ感知構成要素522と、任意選択的に強度センサ524(例えば、接触強度センサ)とを有することができる。加えて、I/Oセクション514は、Wi-Fi、Bluetooth、近距離通信(NFC)、セルラー、及び/又は他の無線通信技法を使用してアプリケーション及びオペレーティングシステムデータを受信する通信ユニット530に接続することができる。デバイス500は、入力機構506及び/又は508を含むことができる。入力機構506は、任意選択的に、例えば回転可能入力デバイス又は押下可能及び回転可能入力デバイスである。いくつかの例では、入力機構508は、任意選択的にボタンである。
【0130】
いくつかの例では、入力機構508は、任意選択的にマイクロフォンである。パーソナル電子デバイス500は、任意選択的に、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はこれらの組み合わせなどの様々なセンサを含み、これらのセンサは全て、I/Oセクション514に動作可能に接続することができる。
【0131】
パーソナル電子デバイス500のメモリ518は、コンピュータ実行可能命令を記憶するための、1つ以上の非一時的コンピュータ可読記憶媒体を含むことができ、それら命令は、1つ以上のコンピュータプロセッサ516によって実行される時、例えば、コンピュータプロセッサに、プロセス700及びプロセス1100(図7及び図11)を含めた、後述する技法を行わせることができる。コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによって使用するための、又は命令実行システム、装置、又はデバイスに接続されているコンピュータ実行可能命令を、有形に含み又は記憶することができる任意の媒体とすることができる。いくつかの例では、記憶媒体は、一時的コンピュータ可読記憶媒体である。いくつかの例では、記憶媒体は、非一時的コンピュータ可読記憶媒体である。非一時的コンピュータ可読記憶媒体は、それだけに限定されるものではないが、磁気記憶装置、光学記憶装置、及び/又は半導体記憶装置を含むことができる。そのような記憶装置の例としては、磁気ディスク、CD、DVD、又はBlu-ray(登録商標)技術に基づく光学ディスク、並びにフラッシュ、ソリッドステートドライブなどの常駐ソリッドステートメモリなどが挙げられる。パーソナル電子デバイス500は、図5Bの構成要素及び構成に限定されるものではなく、他の又は追加の構成要素を複数の構成で含むことができる。
【0132】
本明細書で使用されるとき、用語「アフォーダンス」は、任意選択的にデバイス100、300、及び/又は500(図1A図3、及び図5A図5B)のディスプレイスクリーン上に表示されるユーザ対話グラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)はそれぞれ、任意選択的に、アフォーダンスを構成する。
【0133】
本明細書で使用されるとき、使用される「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の場所マーカを含む一部の実装形態では、カーソルが「フォーカスセレクタ」として作用し、したがってカーソルが特定のユーザインタフェース要素(例えば、ボタン、ウインドウ、スライダ、又は他のユーザインタフェース要素)の上に位置する間に、タッチ感知面(例えば、図3のタッチパッド355又は図4Bのタッチ感知面451)上で入力(例えば、押圧入力)が検出されたとき、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にするタッチスクリーンディスプレイ(例えば、図1Aのタッチ感知ディスプレイシステム112又は図4Aのタッチスクリーン112)を含む一部の実装形態では、タッチスクリーン上の検出された接触が「フォーカスセレクタ」として作用し、したがってタッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウインドウ、スライダ、又は他のユーザインタフェース要素)の場所で入力(例えば、接触による押圧入力)が検出されたとき、特定のユーザインタフェース要素が、検出された入力に従って調整される。一部の実装形態では、タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動(例えば、フォーカスを1つのボタンから別のボタンへ動かすためにタブキー又は矢印キーを使用することによる)なく、フォーカスがユーザインタフェースの1つの領域からユーザインタフェースの別の領域へ動かされ、これらの実装形態では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタがとる特有の形態にかかわらず、フォーカスセレクタは、一般に、ユーザインタフェース要素(又はタッチスクリーンディスプレイ上の接触)であり、ユーザの意図するユーザインタフェースとの対話を(例えば、ユーザが対話することを意図しているユーザインタフェースの要素をデバイスに示すことによって)通信するように、ユーザによって制御される。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押圧入力が検出されている間の、対応のボタンの上のフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の場所は、その対応のボタンを(そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく)アクティブ化することをユーザが意図していることを示すものである。
【0134】
本明細書及び特許請求の範囲で使用される、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。一部の実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、すなわち、既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増大を検出する前若しくは後、及び/又は、接触の強度の減少を検出する前若しくは後)に関連する所定の時間期間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)の間に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均(mean)値、接触の強度の平均(average)値、接触の強度の上位10パーセンタイル値、接触の強度の最大の2分の1の値、接触の強度の最大の90パーセントの値などのうちの1つ以上に基づいている。一部の実施形態では、特性強度を判定する際に(例えば、特性強度が経時的な接触の強度の平均であるときに)、接触の持続時間が使用される。一部の実施形態では、特性強度は、ユーザによって動作が実行されたかどうかを判定するために、1つ以上の強度閾値のセットと比較される。例えば、1つ以上の強度閾値のセットは、任意選択的に、第1の強度閾値及び第2の強度閾値を含む。この例では、第1の閾値を超過しない特性強度を有する接触は、第1の動作をもたらし、第1の強度閾値を超過するが第2の強度閾値を超過しない特性強度を有する接触は、第2の動作をもたらし、第2の閾値を超過する特性強度を有する接触は、第3の動作をもたらす。一部の実施形態では、特性強度と1つ以上の閾値との間の比較は、第1の動作を実行するべきか、それとも第2の動作を実行するべきかを判定するために使用されるのではなく、1つ以上の動作を実行するべきか否か(例えば、それぞれの動作を実行するべきか、それともそれぞれの動作を実行するのを取り止めるべきか)を判定するために使用される。
【0135】
図5Cは、複数の強度センサ524A~524Dによってタッチ感知ディスプレイスクリーン504上で複数の接触552A~552Eを検出することを示す。図5Cは、追加として、強度単位に対する強度センサ524A~524Dの現在の強度測定値を示す強度ダイアグラムを含む。この例では、強度センサ524A及び524Dの強度測定値はそれぞれ9強度単位であり、強度センサ524B及び524Cの強度測定値はそれぞれ7強度単位である。一部の実装形態では、集約強度は、複数の強度センサ524A~524Dの強度測定値の和であり、この例では32強度単位である。一部の実施形態では、各接触に、集約強度の一部分であるそれぞれの強度が割り当てられる。図5Dは、力の中心554からの距離に基づいて、集約強度を接触552A~552Eに割り当てることを示す。この例では、接触552A、552B、及び552Eのそれぞれに、集約強度の8強度単位の接触の強度が割り当てられ、接触552C及び552Dのそれぞれに、集約強度の4強度単位の接触の強度が割り当てられる。より一般的には、一部の実装形態では、各接触jは、所定の数学関数Ij=A・(Dj/ΣDi)に従って、集約強度Aの一部分である、それぞれの強度Ijが割り当てられ、ここで、Djは、力の中心からそれぞれの接触jまでの距離であり、ΣDiは、力の中心から全てのそれぞれ接触(例えば、i=1から最後まで)までの距離の和である。図5C図5Dを参照して説明した動作は、デバイス100、300又は500と類似若しくは同一の電子デバイスを使用して実行することができる。一部の実施形態では、接触の特性強度は、接触の1つ以上の強度に基づいている。一部の実施形態では、強度センサは、単一の特性強度(例えば、単一の接触の単一の特性強度)を判定するために使用される。強度ダイアグラムは、表示ユーザインタフェースの一部ではなく、読み手の助けになるように図5C図5Dに含まれていることに留意されたい。
【0136】
一部の実施形態では、特性強度を判定する目的のために、ジェスチャの一部分が特定される。例えば、タッチ感知面は、任意選択的に、開始場所から遷移して終了場所に到達する連続するスワイプ接触を受信し、その時点で接触の強度が増大する。この例では、終了場所での接触の特性強度は、任意選択的に、スワイプ接触全体ではなく、連続するスワイプ接触の一部分のみ(例えば、スワイプ接触のうち終了場所の部分のみ)に基づいている。一部の実施形態では、任意選択的に、接触の特性強度を判定する前に、平滑化アルゴリズムがスワイプ接触の強度に適用される。例えば、平滑化アルゴリズムは、任意選択的に、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的のために、スワイプ接触の強度の小幅な上昇又は降下を排除する。
【0137】
タッチ感知面上の接触の強度は、任意選択的に、接触検出強度閾値、軽い押圧強度閾値、深い押圧の強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けられる。一部の実施形態では、軽い押圧の強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作をデバイスが実行する強度に相当する。一部の実施形態では、深い押圧強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作とは異なる動作をデバイスが実行する強度に相当する。一部の実施形態では、軽い押圧強度閾値を下回る(例えば、それを下回ると接触が検出されなくなる公称接触検出強度閾値を上回る)特性強度を有する接触が検出されたとき、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の移動に従ってフォーカスセレクタを動かす。一般に、特に明記しない限り、これらの強度閾値は、ユーザインタフェース図の様々なセットの間で一貫している。
【0138】
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への、接触の特性強度の増大は、「軽い押圧」入力と呼ばれることがある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への、接触の特性強度の増大は、「深い押圧」入力と呼ばれることがある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれることがある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれることがある。一部の実施形態では、接触検出強度閾値はゼロである。一部の実施形態では、接触検出強度閾値は、ゼロより大きい。
【0139】
本明細書に記載する一部の実施形態では、それぞれの押圧入力を含むジェスチャを検出したことに応答して、又はそれぞれの接触(若しくは複数の接触)によって実行されたそれぞれの押圧入力を検出したことに応答して、1つ以上の動作が実行され、それぞれの押圧入力は、押圧入力強度閾値を上回る接触(又は複数の接触)の強度の増大を検出したことに少なくとも部分的に基づいて検出される。一部の実施形態では、それぞれの動作は、押圧入力強度閾値を上回るそれぞれの接触の強度の増大(例えば、それぞれの押圧入力の「ダウンストローク」)を検出したことに応答して実行される。一部の実施形態では、押圧入力は、押圧入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押圧入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続く押圧入力閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押圧入力の「アップストローク」)を検出したことに応答して実行される。
【0140】
図5E図5Hは、図5Eの軽い押圧強度閾値(例えば、「ITL」)を下回る強度から、図5Hの深い押圧強度閾値(例えば、「ITD」)を上回る強度への、接触562の強度の増大に対応する押圧入力を含むジェスチャの検出を示す。接触562によって実行されるジェスチャは、タッチ感知面560上で検出され、所定の領域574内に表示されたアプリケーションアイコン572A~572Dを含む表示ユーザインタフェース570上では、アプリ2に対応するアプリケーションアイコン572Bの上にカーソル576が表示される。一部の実施形態では、ジェスチャは、タッチ感知ディスプレイ504上に検出される。強度センサは、タッチ感知面560上の接触の強度を検出する。デバイスは、接触562の強度が深い押圧強度閾値(例えば、「ITD」)を上回ってピークに達したと判定する。接触562は、タッチ感知面560上で維持される。ジェスチャの検出に応答して、ジェスチャ中に深い押圧強度閾値(例えば、「ITD」)を上回る強度を有する接触562に従って、図5F図5Hに示すように、アプリ2に対して最近開いた文書の縮尺が低減された表現578A~578C(例えば、サムネイル)が表示される。一部の実施形態では、1つ以上の強度閾値と比較されるこの強度は、接触の特性強度である。接触562に対する強度ダイアグラムは、表示ユーザインタフェースの一部ではなく、読み手の助けになるように図5E図5Hに含まれていることに留意されたい。
【0141】
一部の実施形態では、表現578A~578Cの表示は、アニメーションを含む。例えば、図5Fに示すように、表現578Aが、アプリケーションアイコン572Bに近接して最初に表示される。アニメーションが進むにつれて、図5Gに示すように、表現578Aは上方へ動き、表現578Bが、アプリケーションアイコン572Bに近接して表示される。次いで、図5Hに示すように、表現578Aが上方へ動き、表現578Bが表現578Aに向かって上方へ動き、表現578Cが、アプリケーションアイコン572Bに近接して表示される。表現578A~578Cは、アイコン572Bの上にアレイを形成する。一部の実施形態では、アニメーションは、図5F図5Gに示すように、接触562の強度に従って進行し、接触562の強度が深い押圧強度閾値(例えば、「ITD」)に向かって増大するにつれて、表現578A~578Cが現れ、上方へ動く。一部の実施形態では、アニメーションの進行が基づいている強度は、接触の特性強度である。図5E図5Hを参照して説明する動作は、デバイス100、300、又は500に類似又は同一の電子デバイスを使用して実行することができる。
【0142】
一部の実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的な入力を回避するために強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりも低いX強度単位であり、又はヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な割合である)。したがって、一部の実施形態では、押圧入力は、押圧入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続くヒステリシス強度閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押圧入力の「アップストローク」)を検出したことに応答して実行される。同様に、一部の実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、その後のヒステリシス強度以下の強度への接触の強度の減少を検出するときにのみ検出され、それぞれの動作は、押圧入力(例えば、状況に応答して、接触の強度の増大又は接触の強度の減少)を検出したことに応答して実行される。
【0143】
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力、又は押圧入力を含むジェスチャに応答して実行される動作の説明は、任意選択的に、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかを検出したことに応答してトリガされる。更に、押圧入力強度閾値を下回る接触の強度の減少を検出したことに応答して実行されるように動作が記載される例では、動作は、任意選択的に、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応答して実行される。
【0144】
次に、ポータブル多機能デバイス100、デバイス300、又はデバイス500などの電子デバイス上で実装されるユーザインタフェース(「UI」)及び関連プロセスの実施形態に注意を向ける。
【0145】
図6A図6Hは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図7のプロセスを含む後述のプロセスを例示するために使用される。
【0146】
例示的なメディアロックアフォーダンス
【0147】
本開示は、グラフィカルユーザインタフェース(GUI)上のメディアキャプチャアフォーダンスをロックして、連続的なメディアキャプチャのためのロックされたメディアキャプチャ状態にするメディアキャプチャデバイスのメディア記録機能に関する。一実施形態では、メディアクリップ(例えば、ビデオクリップ、オーディオクリップ)のメディアキャプチャセッションを開始するために、ユーザは、メディアキャプチャアフォーダンス(例えば、仮想記録ボタン)をタップして保持(タップアンドホール)する。ユーザがメディアキャプチャアフォーダンス上でタッチを保持する限り、メディアは、メディアキャプチャデバイスによってキャプチャされ続ける。ユーザがメディアキャプチャセッション中にタッチを取り去ると、メディアキャプチャセッションは終了する。ユーザが、指でスライディングジェスチャを行っている間、メディアキャプチャアフォーダンス上でタッチを維持する場合、メディアキャプチャアフォーダンスは、ロックされたメディアキャプチャアフォーダンスに視覚的に変化し、メディアキャプチャセッションが維持され、結果的にメディアが連続記録されることになる。一実施形態では、ロックされたメディアキャプチャアフォーダンスは、ユーザの指によって覆い隠されないように、ユーザの指の下方に移動する。ユーザは、ロックされたメディアキャプチャアフォーダンスから指を取り去ることができ、メディアキャプチャセッションは、ユーザがロック状態キャプチャボタンをタップするまで維持され、その後、メディアキャプチャセッションが終了する。
【0148】
図6A図6Hは、一実施形態による、メディアキャプチャロックアフォーダンスの動作を示す。図6Aを参照すると、メディアキャプチャデバイス600は、ディスプレイスクリーン上にGUI601を提示している。GUI601はメディアキャプチャアフォーダンス602を含む。メディアキャプチャデバイス600は、この例示的な実施形態ではスマートフォンとして示されている。しかし、メディアキャプチャデバイス600は、タブレットコンピュータ、ウェアラブルコンピュータ、デジタルカメラ、ビデオレコーダ、及びオーディオ記録デバイスを含む、メディアをキャプチャすることができる任意の電子デバイスであってもよい。一部の実施形態では、メディアキャプチャデバイス600は、デバイス100、デバイス300、又はデバイス500の1つ以上の特徴を含む。メディアキャプチャアフォーダンス602は、任意の所望の形状、サイズ、又は色を有することができる。図示の例では、メディアキャプチャアフォーダンス602は楕円形のボタンである。GUI601はまた、ライブメディアを表示し、キャプチャされたメディアを再生するための表示領域も含む。メディアは、ビデオ、静止画像及びオーディオ、又はこれらの任意の組み合わせを含む、キャプチャされ得る任意のタイプのメディアとすることができる。
【0149】
図6Bを参照すると、ユーザは、指で(例えば、メディアキャプチャデバイス600を保持しながら親指で)メディアキャプチャアフォーダンス602をタップアンドホールド603(破線円として示される)して、「アンロック」状態でのメディアキャプチャセッションを開始する。メディアキャプチャセッション中、組み込まれたビデオカメラ及び/又は1つ以上のマイクロフォンはメディアをキャプチャする(例えば、ビデオ及びオーディオをキャプチャする)。メディアキャプチャセッションが「アンロック」され、これは、ユーザが、メディアキャプチャアフォーダンス602から指をリフトした(持ち上げた)(ディスプレイスクリーンから指をリフトオフした)場合、メディアキャプチャセッションが終了し、メディアがメディアキャプチャデバイス600に記憶される(例えば、キャッシュメモリに記憶される)ことを意味する。視覚的方向インジケータ604a(例えば、矢印の先端)がGUI601上に表示され、メディアキャプチャセッションを「ロック」状態に遷移させるためにユーザが指をスライドさせ得る方向を示す。「ロック」状態にある間、メディアは中断せずに連続的にキャプチャされる。例えば、ビデオ及びオーディオは記録を継続し、静止画像は「バースト」モードで撮影されるであろう。ユーザに「連続記録のためにスライドアップしてください」と指示するテキストもGUI601上に表示される。
【0150】
一部の実施形態では、キャプチャされたメディア(以下、「メディアクリップ」とも呼ばれる)をユーザが再生する、順序を変える、フィルタリングする、当該メディアクリップに対して絵文字、アニメーションアイコン、及びタイトルを追加することを可能にするための追加のアフォーダンス(図示せず)がGUI601上に含まれる。他のアフォーダンスにより、ユーザは、メディアクリップをソーシャルネットワーキングウェブサイトで間接的に共有すること、並びに様々な通信手段(例えば、インスタントメッセージング、電子メール、ツイート)を通じて友人及び家族に直接共有することが可能になる。図示の実施形態では、ユーザがカメラ、ライブラリ、及びポスターなどの動作モードを選択することを可能にするナビゲーションバーは、メディア表示領域の下に位置している。
【0151】
図6Cを参照すると、メディアキャプチャアフォーダンス602がメディアキャプチャエリアに向かってスライドアップすることになる、ユーザのスライドジェスチャ入力を示す。スライドジェスチャ入力中、ユーザの指はディスプレイスクリーンとの接触は中断しないことに留意されたい。
【0152】
図6D図6Gを参照すると、ユーザがメディアキャプチャアフォーダンス602を所定距離スライドアップすると、メディアキャプチャアフォーダンス602は、メディアキャプチャロックアフォーダンス605に変化又はモーフィングし、図6Fに示すように、「ロック」状態を視覚的に示す。メディア表示領域の下のテキストも変化し、ユーザに、例えば、「記録を停止するためのタップしてください」のような、「ロック」状態をどのように停止させるかをユーザに指示する。メディアキャプチャロックアフォーダンス605は、任意のサイズ、形状、又は色であってもよい。図示の例では、メディアキャプチャロックアフォーダンス605は、正方形のボタンである。メディアキャプチャアフォーダンス602からメディアキャプチャロックアフォーダンス605への変化又はモーフィング後、ユーザが指をリフトしてディスプレイスクリーンとの接触を中断する場合、メディアキャプチャセッションは「ロック」状態に移行する。「ロック」状態では、メディアキャプチャセッションは、ユーザがメディアキャプチャロックアフォーダンス605(図6G)をタップ606するまでメディアキャプチャを継続し、その場合メディアキャプチャセッションは終了する。代替的実施形態では、視覚的方向インジケータ604aは、ボタントラック604b(図6H)と取り替えられており、ユーザが「ロック」状態に移行するためにメディアキャプチャアフォーダンス602をスライドすべき距離をユーザに示すことができる。
【0153】
他の実施形態では、単一タップの代わりに複数のタップを使用してもよい。スライドジェスチャ入力の方向は、上、下、右、及び左を含む、GUI601上の任意の方向であってもよい。メディアキャプチャセッションがロックされたとき、及びアンロックされたときを示すために、「クリック」効果音などの、効果音を、タップアンドスライドジェスチャと同期して再生することができる。一実施形態では、メディアキャプチャセッションがロックされたとき、及びアンロックされたときを示すために、触覚エンジンによって力フィードバック(例えば、振動)を提供することができる。アフォーダンス602、606は、GUI601上の任意の所望の場所に配置することができ、縦向き及び横向きなどのメディアキャプチャデバイス600の向きに応じて、位置、サイズ、及び/又は形状を変更することができる。一実施形態では、ユーザは、メディアキャプチャデバイス600内に実装された発話検出/認識エンジンによって処理される、音声コマンドを用いて、ロックされたメディアキャプチャ状態に移行すること、又はそれから移行することができる。
【0154】
例示的なプロセス
【0155】
図7は、一実施形態による、図6A図6Hに示したメディアキャプチャロックアフォーダンスのアニメーションプロセスのフロー図である。プロセス700は、図8を参照して説明するデバイスのアーキテクチャ800を用いて実装することができる。プロセス700は、デバイス(例えば、100、300、500、800)において実行される。方法700のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【0156】
プロセス700は、メディアキャプチャデバイスのディスプレイデバイス上に提示されたGUIの第1の場所のメディアキャプチャアフォーダンスを対象とするタップアンドホールドジェスチャ入力を受け取ることで開始する(701)。メディアキャプチャアフォーダンスは、任意のサイズ、形状、又は色であってもよい。第1の場所は、GUI上の任意の所望の場所であってもよい。タップアンドホールドジェスチャ入力に応答して、プロセス700は、メディアキャプチャデバイス上でメディアキャプチャセッションを開始し、その場合、メディアキャプチャセッションは、「アンロック」状態で開始される(702)。第1の場所での第1のリフトジェスチャに応答して、プロセス700は、メディアキャプチャセッションを終了させる(703)。
【0157】
GUI上の第1の場所から第2の場所へのスライドジェスチャ入力に応答して、プロセス700は、メディアキャプチャアフォーダンスをメディアキャプチャロックアフォーダンスに変更する(704)。メディアキャプチャロックアフォーダンスは、任意のサイズ、形状、又は色であってもよい。第2の場所は、第1の場所以外のGUI上の所望の場所とすることができる。スライドジェスチャは、上、下、左、及び右を含む任意の所望の方向であってもよい。
【0158】
第2の場所で第2のリフトジェスチャを検出したことに応答して、プロセス700は、メディアキャプチャセッションをアンロック状態からロック状態に遷移させる(705)。ロック状態では、メディアキャプチャデバイスは、ユーザがメディアキャプチャロックアフォーダンスをタップしてメディアキャプチャセッションを終了させるまで、メディアを連続的にキャプチャする。一実施形態では、ユーザは、第2のリフトジェスチャの後にメディアキャプチャセッションを終了させるためにGUI上の任意の場所をタップすることができ、又はメディアキャプチャデバイス上の機械的ボタン(例えば、スマートフォン上のホームボタン)を押すことができる。
【0159】
方法700に関して上記した処理の詳細(例えば、図7)は、以下に説明される方法にも同様の方法で適用可能であることに留意されたい。例えば、方法700は、方法1100を参照して後述する様々な方法の特性のうちの1つ以上を任意選択的に含む。簡潔にするために、これらの詳細は、以下で繰り返さない。
【0160】
例示的なモバイルデバイスのアーキテクチャ
【0161】
図8は、図6及び図7を参照して説明したメディアキャプチャロックアフォーダンスを実装するモバイルデバイスの例示的なメディアキャプチャデバイスのアーキテクチャ800を示す。アーキテクチャ800は、メモリインタフェース802、1つ以上のデータプロセッサ、画像プロセッサ、及び/又はプロセッサ804、並びに周辺機器インタフェース806を含み得る。メモリインタフェース802、1つ以上のプロセッサ804、及び/又は周辺機器インタフェース806は、別個の構成要素としてもよく、あるいは1つ以上の集積回路内に集積されてもよい。アーキテクチャ800内の様々な構成要素は、1つ以上の通信バス又は信号線によって結合することができる。
【0162】
センサ、デバイス、及びサブシステムを周辺機器インタフェース806に結合することにより、多機能性を促進することができる。例えば、1つ以上の動きセンサ810、光センサ812、及び近接センサ814を周辺機器インタフェース806に結合して、モバイルデバイスの動き感知(例えば、加速度、回転速度)、光及び近接機能を促進することができる。位置プロセッサ815は、周辺機器インタフェース806に接続され、無線位置測定を行うことができる。一部の実装形態では、位置プロセッサ815は、全地球測位システム(Global Positioning System、GPS)受信機チップなどのGNSS受信機であり得る。電子磁気計816(例えば、集積回路チップ)はまた、周辺機器インタフェース806に接続され、磁北の方向を決定するために使用できるデータを提供することができる。電子磁気計816は、データを電子コンパスアプリケーションに提供できる。動きセンサ(単数又は複数)810は、モバイルデバイスの移動の速度及び方向の変化を判定するように構成された1つ以上の加速度計及び/又はジャイロを含み得る。気圧計817は、モバイルデバイス周辺の大気圧を測定するように構成することができる。
【0163】
カメラサブシステム820及び光学センサ822、例えば、電荷結合素子(CCD)又は相捕型金属酸化膜半導体(CMOS)光学センサを利用して、写真のキャプチャ及びビデオクリップの記録などのカメラ機能を容易にすることができる。
【0164】
通信機能は、1つ以上の無線通信サブシステム824を通じて、促進することができ、それらのサブシステムとしては、高周波(RF)受信機及び送信機(又は送受信機)、並びに/あるいは光学(例えば、赤外線)受信機及び送信機を挙げることができる。通信サブシステム824の具体的な設計及び実装は、このモバイルデバイスが動作することを目的とする、通信ネットワーク(単数又は複数)次第であり得る。例えば、アーキテクチャ800は、GSMネットワーク、GPRSネットワーク、EDGEネットワーク、Wi-Fi(商標)又はWi-Max(商標)ネットワーク、及びBluetooth(商標)ネットワーク上で動作するように設計された通信サブシステム824を含み得る。特に、無線通信サブシステム824は、このモバイルデバイスを、他の無線デバイスのための基地局として構成できるようなホスティングプロトコルを含むことができる。
【0165】
オーディオサブシステム826をスピーカ828及びマイクロフォン830に結合することにより、音声認識機能、音声複製機能、デジタル録音機能、及び電話機能などの音声使用可能な機能を容易にすることができる。オーディオサブシステム826は、ユーザから音声コマンドを受信するように構成することができる。
【0166】
I/Oサブシステム840は、タッチ面コントローラ842及び/又は他の入力コントローラ(単数又は複数)844を含み得る。タッチ面コントローラ842は、タッチ面846又はパッドに結合することができる。タッチ面846及びタッチ面コントローラ842は、例えば、複数のタッチ感度技術のうちのいずれかを使用して、接触及び移動を検出することも、又は接触及び移動の中断を検出することもできる。タッチ感度技術としては、静電容量技術、抵抗性技術、赤外線技術、及び表面弾性波技術に加えて、タッチ面846との1つ以上の接触点を判定するための、他の近接センサアレイ又は他の要素が挙げられるが、これらに限定されない。タッチ面846は、例えば、タッチスクリーンを含むことができる。I/Oサブシステム840は、プロセッサからのコマンドに応答して、触知フィードバック(例えば、振動)を提供するための触覚エンジン又はデバイスを含むことができる。
【0167】
他の入力コントローラ(単数又は複数)844は、1つ以上のボタン、ロッカースイッチ、サムホイール、赤外線ポート、USBポート、及び/又はスタイラスなどのポインタデバイスなどの、他の入力/制御デバイス848に結合することができる。1つ以上のボタン(図示せず)は、スピーカ828及び/又はマイクロフォン830の音量コントロールのための上下ボタンを含むことができる。タッチ面846又は他のコントローラ844(例えば、ボタン)は、指紋(単数又は複数)に基づいてユーザを認証するために、指紋認証アプリケーションと共に使用するための指紋識別回路を含むことができる、又はそれと結合することができる。
【0168】
一実装形態では、第1の持続時間でボタンを押すことにより、タッチ面846のロックを解除することができ、第1の持続時間よりも長い第2の持続時間でボタンを押すことにより、モバイルデバイスへの電源をオン/オフすることができる。ユーザは、1つ以上のボタンの機能をカスタマイズすることができる。また、タッチ面846を使用して、例えば、仮想ボタン若しくはソフトボタン、及び/又は仮想タッチキーボードを実装することもできる。
【0169】
一部の実装形態では、このモバイルデバイスは、MP3ファイル、AACファイル、及びMPEGファイルなどの記録されたオーディオファイル及び/又はビデオファイルを提示することができる。一部の実装形態では、このモバイルデバイスは、MP3プレーヤの機能性を含み得る。また、他の入出力及び制御デバイスも使用できる。
【0170】
メモリインタフェース802は、メモリ850に結合することができる。メモリ850は、高速のランダムアクセスメモリ、並びに/あるいは、1つ以上の磁気ディスク記憶デバイス、1つ以上の光学記憶デバイス、及び/又はフラッシュメモリ(例えば、NAND、NOR)などの不揮発性メモリを含み得る。メモリ850は、iOS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、又はVxWorksなどの組み込みオペレーティングシステムなどのオペレーティングシステム852を記憶することができる。オペレーティングシステム852は、基本システムサービスを処理するための命令、及びハードウェア依存タスクを実行するための命令を含み得る。一部の実装形態では、オペレーティングシステム852は、カーネル(例えば、UNIXカーネル)を含み得る。
【0171】
メモリ850はまた、1つ以上の追加のデバイス、1つ以上のコンピュータ、及び/又は1つ以上のサーバとの通信を促進するための通信命令854、例えば、他のデバイスとの有線通信又は無線通信のためのソフトウェアスタックを実装するための命令なども記憶できる。メモリ850は、図6及び図7を参照して説明したグラフィカルユーザインタフェース処理を容易にするためのグラフィカルユーザインタフェース命令856と、センサ関連の処理及び機能を容易にするためのセンサ処理命令858と、電話関連の処理及び機能を容易にするための電話命令860と、電子メッセージング関連の処理及び機能を容易にするための電子メッセージング命令862と、ウェブブラウジング関連の処理及び機能を容易にするためのウェブブラウジング命令864と、メディア処理関連の処理及び機能を容易にするためのメディア処理命令866と、包括的なGNSS及び位置関連の処理及び命令を容易にするためのGNSS/場所命令868と、図6及び図7を参照して説明したカメラ関連の処理及び機能を容易にするカメラ命令870と、他のアプリケーション872命令と、を含んでもよい。メモリ850はまた、セキュリティ命令、ウェブビデオ関連の処理及び機能を促進するためのウェブビデオ命令、並びに/又は、ウェブショッピング関連の処理及び機能を促進するためのウェブショッピング命令など、他のソフトウェア命令(図示せず)を記憶することができる。一部の実装形態では、メディア処理命令866を、オーディオ処理関連の処理及び機能を容易にするためのオーディオ処理命令と、ビデオ処理関連の処理及び機能を容易にするためのビデオ処理命令とに、それぞれ分割することができる。
【0172】
一実施形態では、図6及び図7を参照して説明したタップ、スライド、及びリフトジェスチャが、メディアキャプチャデバイス800上のソフトウェアに実装されたタッチイベントモデルを用いて検出される。例示的なタッチイベントモデルは、その全体が参照により本明細書に組み込まれる、2013年10月15日に発行の「Touch Event Model」と題された米国特許第8,560,975号に記載されている。
【0173】
上記で特定された命令及びアプリケーションのそれぞれは、上記1つ以上の機能を実行する命令セットに対応し得る。これらの命令は、別個のソフトウェアプログラム、手順、又はモジュールとして実装する必要がない。メモリ850に追加の命令を含めてもよいし、又は含まれている命令を減らしてもよい。更にまた、モバイルデバイスの様々な機能は、1つ以上の信号処理及び/又は特定用途向け集積回路を含むハードウェア及び/又はソフトウェアに実装できる。
【0174】
記載された機能は、有利なことに、データストレージシステム、少なくとも1つの入力デバイス、及び少なくとも1つの出力機器からのデータ及び命令を受信し、並びにこれらにデータ及び命令を送信するように結合された少なくとも1つのプログラム可能プロセッサを含む、プログラム可能システム上で実行可能な1つ以上のコンピュータプログラム内に実装できる。コンピュータプログラムは、特定の行動を実行するか、又は特定の結果をもたらすために、コンピュータ内で直接的又は間接的に使用することができる命令セットである。コンピュータプログラムは、コンパイル型言語又はインタプリタ型言語を含む、任意の形態のプログラミング言語(例えば、SWIFT(登録商標)、Objective-C、C#、Java)で書くことができ、スタンドアロンプログラム若しくはモジュール、コンポーネント、サブルーチン、ブラウザベースウェブアプリケーション、又はコンピューティング環境で使用するのに好適な他のユニットを含む、任意の形態で配布され得る。
【0175】
命令のプログラムの実行に好適なプロセッサには、例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、並びに任意の種類のコンピュータの、ソールプロセッサ、又は複数のプロセッサ若しくはコアのうちの1つ、が含まれる。一般的に、プロセッサは、読み出し専用メモリ若しくはランダムアクセスメモリ、又はその両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するプロセッサ、並びに命令及びデータを保存する1つ以上のメモリである。一般に、コンピュータはまた、データファイルを記憶するための1つ以上の大容量記憶デバイスを含むか、又はそれらと通信するように動作可能に結合され、そのようなデバイスとしては、内蔵ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、及び光学ディスクが挙げられる。コンピュータプログラム命令及びデータを明確に具体化するのに適した記憶デバイスには、例として、EPROM、EEPROM、フラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、並びにCD-ROM及びDVD-ROMディスク、を含む、全ての形態の不揮発性メモリが含まれる。プロセッサ及びメモリは、ASIC(特定用途向け集積回路)によって補完されるか、又はその中に組み込まれてもよい。
【0176】
ユーザとの対話を行うために、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ、あるいはユーザに情報を表示するための網膜表示デバイスなどの表示デバイスを有するコンピュータに、特徴を実装することができる。コンピュータは、タッチ面の入力デバイス(例えば、タッチスクリーン)又はキーボード、及びユーザがコンピュータへの入力を行うことができるマウス又はトラックボールなどのポインティングデバイスを有することができる。コンピュータは、ユーザからの音声コマンドを受信するための音声入力デバイスを有することができる。
【0177】
特徴は、データサーバなどのバックエンドコンポーネントを含むコンピュータシステム、又はアプリケーションサーバ若しくはインターネットサーバなどのミドルウェア構成要素を含むコンピュータシステム、又はグラフィカルユーザインタフェース若しくはインターネットブラウザを有するクライアントコンピュータなどのフロントエンド構成要素、若しくはそれらの任意の組み合わせを含むコンピュータシステム内に実装されてもよい。システムの構成要素は、通信ネットワークなどの、デジタルデータ通信の任意の形態又は媒体によって接続されてもよい。通信ネットワークの例には、例えば、LAN、WAN、並びにインターネットを形成するコンピュータ及びネットワークが含まれる。
【0178】
コンピュータシステムは、クライアント及びサーバを含むことができる。一般的に、クライアント及びサーバは、互いに遠隔にあり、典型的には、通信ネットワークを通じて相互作用する。クライアント及びサーバの関係は、各々のコンピュータ上で実行されていてかつ相互にクライアント/サーバ関係を有するコンピュータプログラムを介して生起される。一部の実施形態では、サーバは、クライアントデバイスに、(例えば、クライアントデバイスと対話するユーザにデータを表示し、ユーザからのユーザ入力を受信する目的のために)データ(例えば、HTMLページ)を送信する。クライアントデバイスで生成されたデータ(例えば、ユーザ対話の結果)は、クライアントデバイスから、サーバで受信することができる。
【0179】
1つ以上のコンピュータのシステムは、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせを動作中のシステムにインストールして、そのシステムにその動作を実行させることによって、特定のアクションを実行するように構成することができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されたときにその装置に動作を実行させる命令を備えることによって、特定のアクションを実行するように構成することができる。
【0180】
開示される実施形態の1つ以上の特徴又はステップは、アプリケーションプログラミングインタフェース(API)を使用して実装されてもよい。APIは、データを提供する、又は動作若しくは計算を実行するサービスを提供する、呼び出しアプリケーションと、他のソフトウェアコード(例えば、オペレーティングシステム、ライブラリルーチン、機能)との間を渡される、1つ以上のパラメータを定義することができる。APIは、API仕様書で定義される呼び出し規約に基づいて、パラメータリスト又は他の構造を介して1つ以上のパラメータを送信又は受信する、プログラムコード内の1つ以上の呼び出しとして実装されてもよい。パラメータは、定数、キー、データ構造、オブジェクト、オブジェクトクラス、変数、データ型、ポインタ、アレイ、リスト、又は別の呼び出しであってもよい。API呼び出し及びパラメータは、任意のプログラミング言語で実装されてもよい。プログラミング言語は、プログラマがAPIをサポートする機能にアクセスするために使用する語彙及び呼び出し規約を定義することができる。一部の実装形態では、API呼び出しは、入力能力、出力能力、処理能力、電力能力、通信能力などのアプリケーションを実行するデバイスの能力を、アプリケーションに報告することができる。
【0181】
本明細書は、多数の特定の実装詳細を含むが、これらは、任意の発明の範囲又は特許請求され得る範囲の制限として解釈されるべきではなく、特定の発明の特定の実施形態に固有である特徴の説明として解釈されるべきである。別個の実施形態のコンテキストで本明細書に記載されている特定の特徴どうしを組み合わせて、単一の実施形態に実装することもできる。その逆に、単一の実施形態のコンテキストで記載されている様々な特徴をそれぞれ別個に複数の実施形態に、又は任意の好適な部分的組み合わせにて実装することもできる。更に、特徴が特定の組み合わせで作用するものとして上に記載されている場合もあれば、更には当初からそのようなものとして主張されている場合もあるが、いくつかの実例においては、主張された組み合わせの1つ以上の特徴をその組み合わせから削除することもできる。また、主張された組み合わせを部分的組み合わせ又は部分的組み合わせの変形態様に向けることもできる。
【0182】
同様に、図面において、動作は、特定の順番で表されているが、望ましい結果を達成するために、これらの動作が示された順番、若しくは逐次的順番、又は示された動作が全て実行されることを必要としていると理解すべきではない。特定の状況において、多重タスク処理及び並列処理が、有利な場合がある。そのうえ、上述した実施形態における様々なシステム構成要素の分離は、あらゆる実施形態においてそのような分離が要求されるものとして理解されるべきではなく、説明したプログラム構成要素及びシステムを概してまとめて単一のソフトウェア製品に一体化してもよいし、又は複数のソフトウェア製品にパッケージ化してもよいことは理解されるべきである。
【0183】
図9A図9P及び図10A図10Fは、一部の実施形態による、ジェスチャによるメディアキャプチャを実行するための例示的なユーザインタフェースを示す。それらの図におけるユーザインタフェースは、図11A図11Bにおける処理を含む、以下で説明される処理を例示するために使用される。
【0184】
図9Aは、例示的なメディアキャプチャユーザインタフェース904を示す。一部の実施形態では、デバイス900は、デバイス100、300、又は500の1つ以上の特徴を含む。この例では、デバイス900は、メディアキャプチャインタフェース904を表示するタッチスクリーンディスプレイ902を含む。一部の実施形態では、メディアキャプチャインタフェースは、ユーザ入力(例えば、タッチ入力)に応答して1つ以上のタイプのメディアをキャプチャするために使用される。例えば、メディアキャプチャインタフェースは、静止画像、ビデオ(例えば、オーディオを含む)、及び画像のシーケンス(例えば、バースト画像キャプチャ)のうちの1つ以上をキャプチャするために使用可能なグラフィカルユーザインタフェースであってもよい。メディアキャプチャインタフェース904は、(例えば、ユーザがメディア項目をキャプチャするのに適切な時間を決定できるように)例えば、メディアキャプチャインタフェースで表示するためにシーンのビューを通過する画像センサ(例えば、光学センサ164)などのメディアキャプチャ構成要素によって取得されているシーンの描写を含むビューファインダエリア906を含む。メディアキャプチャインタフェース904はまた、(例えば、「写真」から「ビデオ」に、又はパノラマ」、「タイムラプス」、「スローモーション」などに)メディアキャプチャモードを変更するために(例えば、タッチ入力、スワイプ入力を介して)使用することができるモードセレクタ908も含む。メディアキャプチャインタフェース904はまた、メディアキャプチャアフォーダンス910を含む。メディアキャプチャアフォーダンスはまた、「シャッタ」又は「シャッタアフォーダンス」などと呼ばれる場合もある。
【0185】
一部の実施形態では、メディアキャプチャアフォーダンス上のタッチ入力(例えば、タップとも呼ばれる、タップジェスチャ)により、デバイスは、(例えば、現在のメディアキャプチャモードに従って)メディア項目をキャプチャする。例えば、図9Aに示す例では、現在のメディアキャプチャモードは「写真」であるため、ユーザは、デバイス900がメディアキャプチャアフォーダンス910上のタップに応答して静止画像をキャプチャすることを期待することができる。メディアキャプチャインタフェース904はまた、メディアをキャプチャするために使用されるデバイス900の画像センサ(例えば、前面カメラ、背面カメラ)を(例えば、ユーザ入力に応答して)変更するために使用することができる、カメラセレクタアフォーダンス912を含む。メディアキャプチャインタフェース904はまた、最後にキャプチャされたメディア項目のプレビュー(例えば、サムネイル、ビデオの単一フレーム)を表示する、最後にキャプチャされたメディア項目エリア914を含む。一部の実施形態では、最後のキャプチャメディア項目エリア(例えば、914)に関連付けられたタッチ入力に応答して、デバイス(例えば、900)は、1つ以上の最近のキャプチャメディア項目、複数のメディア項目(例えば、カメラロール)、及び/又はメディアライブラリを表示する。
【0186】
上述のように、デバイス(例えば、900)は典型的には、現在のメディアキャプチャモードに基づいて、メディアキャプチャアフォーダンス(例えば、910)上のユーザ入力に応答する。本明細書では、メディアのジェスチャによるキャプチャの技法を記載する。ジェスチャに依存することにより、使用される特定のジェスチャに基づいて、異なるタイプのメディアをキャプチャさせることができる。メディアをキャプチャするために使用可能な特定のジェスチャは、ユーザ入力特性(例えば、持続時間、移動、及び/又はそれらの様々な組み合わせ)に基づいて異なる特性を有することができる。図9A図9Pの以下の例に示すように、キャプチャされたメディアのタイプは、タッチ入力を受け取ったときにアクディブなメディアキャプチャモードに対応する必要はない。
【0187】
とりわけ、入力特性ボックス901は、図9A図9P全体を通して含まれ、対応する図における(例えば、電子デバイス900によって検出された)タッチ入力の特性を示し、それぞれの図に描かれたそれぞれの例示的なシナリオにおける(例えば、デバイス900のメモリ内の)タッチ入力特性の視覚的表現として提供される。タッチ入力に関連付けられた入力特性は、デバイス(例えば、900)によって使用されて、タッチ入力が特定のジェスチャ(例えば、それはメディアキャプチャ関連のアクションを実行させることができる)と見なされる基準を満たすかどうかを判定することができる。入力特性ボックス901は、読者の理解を容易にするための視覚的補助としてのみ提供され、必ずしもデバイス(例えば、900)には表示されない。加えて、図又は本明細書で特に言及しない限り、入力特性ボックス901は、デバイス900がそれぞれの図内の描かれたタッチ入力(例えば、図9Bの920)を受け取った後の、またそのような入力の検出を中止する前のタッチ入力の特性(例えば、タッチ入力のリフトオフ)を示す。
【0188】
図9A図9Bは第1のタイプのメディア項目のキャプチャを示す。図9A図9Bに示す例では、デバイス900は、現在のメディアキャプチャモード(例えば、「写真」)に対応する第1のタイプのメディア項目をキャプチャする。図9Bでは、デバイス900は、メディアキャプチャアフォーダンス910に対応するタッチスクリーンディスプレイ902上の場所におけるタッチ入力であるユーザ入力920を受け取る。図9Bの入力特性ボックス901に示すように、ユーザ入力920(タッチ入力920とも呼ばれる)は、移動基準を満たさず(移動基準:満たしていない)、閾値時間よりも長い間検出されていない(閾値時間:経過していない)。この例では、デバイス900は、移動基準が満たされる前かつ閾値時間が経過する前に、(例えば、入力のリフトオフに起因して)タッチ入力920の検出を中止する。したがって、この例では、タッチ入力920はタップ入力ジェスチャである。図9Cは、タッチ入力920のリフトオフ後のデバイス900を示す。図9Cでは、メディアキャプチャインタフェース904は、図9Aに示すものと同じ状態に戻るが、ここで、最後にキャプチャされたメディア項目エリア914は、デバイス900がメディア項目をキャプチャしたことを示すビューファインダエリア906に示される現在のシーンの表現を含む。この例では、デバイス900は、静止画像(例えば、例示的な第1のタイプのメディア)をキャプチャしたものである。一部の実施形態では、デバイス900は、移動基準を満たさず、閾値時間を超える間に検出されなかったユーザ入力(例えば、タップ入力)に応答して、第1のタイプのメディア項目に加えて、第2のタイプのメディア項目をキャプチャする。一部の実施形態では、第2のタイプのメディアは、タッチ入力の持続時間とは無関係の持続時間を有する。例えば、デバイス900は、タッチ入力の持続時間(例えば、0.5秒)にかかわらず、固定持続時間(例えば、3秒の長さ)又は可変持続時間(例えば、2~5秒の長さ)のビデオクリップ(例えば、オーディオを含む)を追加的に(又は代わりに)キャプチャすることができる。
【0189】
図9D図9Fは、第2のタイプのメディア項目のキャプチャを示す。図9D図9Fに示す例では、デバイス900は、移動基準を満たさないが、時間基準を満たす(例えば、閾値時間を超える間検出される)タッチ入力を使用して、現在のメディアキャプチャモード(例えば、「写真」)に対応しない第2のタイプのメディア項目(例えば、ビデオ)をキャプチャする。図9Dでは、デバイス900は、メディアキャプチャアフォーダンス910に対応するタッチスクリーンディスプレイ902上の場所におけるタッチ入力であるユーザ入力930を受け取る。図9Dの入力特性ボックス901に示すように、ユーザ入力930は移動基準を満たさず(移動基準:満たしていない)、閾値時間より長い間検出されていない(閾値時間:経過していない)。
【0190】
図9Eは、デバイス900が閾値時間経過後、ただし、移動基準が満たされる前までタッチ入力930の検出を継続することを示す。したがって、図9Eの入力特性ボックス901は、ユーザ入力930が移動基準を満たさない(移動基準:満たしていない)が、閾値時間よりも長い間検出されている(閾値時間:経過した)ことを示す。したがって、この例では、タッチ入力930は、タップアンドホールド入力ジェスチャ(例えば、閾値時間にわたって保持されるタップ)である。タッチ入力930が閾値時間を超える間検出されたことに応答して、デバイス900は、ビデオ(例えば、例示的な第2のタイプのメディア)のキャプチャ(例えば、記録)を開始する。図9Eに示すように、デバイス900は現在、ビデオをキャプチャしている。この例では、ビデオキャプチャ中、ビデオの経過時間(00:00:08、又は8秒)が示され、メディアキャプチャアフォーダンス910は、停止アフォーダンス934と取り替えられている。加えて、図9Eでは、デバイス900は、(例えば、カメラセレクタアフォーダンス912を取り替えて)以下でより詳細に論じられるメディアキャプチャロックアフォーダンス932を表示する。
【0191】
図9Fは、タッチ入力930のリフトオフ後のデバイス900を示す。図9Fでは、タッチ入力930のリフトオフに応答して、メディアキャプチャインタフェース904は、図9Dに示すものと同じ状態に戻るが、ここで、最後にキャプチャされたメディア項目エリア914は、デバイス900がメディア項目をキャプチャしたことを示すビューファインダエリア906に示される現在のシーンの表現を含む。この例では、デバイス900は、ビデオ(例えば、例示的な第2のタイプのメディア)をキャプチャしたものである。一部の実施形態では、デバイス900は、移動基準を満たさないが閾値時間を超える間に検出されたユーザ入力(例えば、タップアンドホールドジェスチャ、タッチ入力930)に応答して、第2のタイプのメディア項目に加えて、第1のタイプのメディア項目をキャプチャする。例えば、ビデオをキャプチャすることに加えて、デバイス900は追加的に静止画像をキャプチャすることができる。一部の実施形態では、(例えば、タッチ入力930に応答してキャプチャされた)第2のタイプのメディアは、タッチ入力(例えば、930)の持続時間に基づく持続時間を有する。例えば、デバイス900は、タッチ入力930が検出された持続時間に基づく持続時間を有するビデオクリップ(例えば、オーディオを含む)をキャプチャすることができる。したがって、タッチ入力930がタッチスクリーンディスプレイ902上で8秒間検出された場合、結果としてキャプチャされた第2のタイプのメディアは、8秒の長さのビデオであり得る。一部の実施形態では、第2のタイプのメディアの持続時間は、タッチ入力の持続時間に基づくものであるが、ビデオ記録は、タッチ入力が閾値持続時間を超える間検出された後に開始する。したがって、閾値持続時間が1秒であり、タッチ入力が8秒間検出された場合、得られるビデオは7秒である(例えば、リフトオフがビデオの記録を終了させ、次いで、それはデバイス900によってメディアライブラリに記憶される)。
【0192】
図9G図9Jは、ジェスチャの検出が中止される後に継続する第2のタイプの媒体のキャプチャを開始するためのジェスチャの使用を示す。図9G図9Jに示す例では、デバイス900は、(例えば、第1の方向への)移動基準を満たす(また、時間基準も満たす)タッチ入力940を用いて、現在のメディアキャプチャモード(例えば、「写真」)に対応しない第2のタイプのメディア項目(例えば、ビデオ)をキャプチャする。図9Gでは、デバイス900は、メディアキャプチャアフォーダンス910に対応するタッチスクリーンディスプレイ902上の場所におけるタッチ入力であるユーザ入力940を受け取る。図9Dの入力特性ボックス901に示すように、ユーザ入力940は移動基準を満たさず(移動基準:満たしていない)、閾値時間よりも長い間検出されていない(閾値時間:経過していない)。
【0193】
図9G図9Jの例では、タッチ入力940は閾値持続時間よりも長い間検出されるが、閾値持続時間を満たすことは、メディアキャプチャセッションをロックされたメディアキャプチャ状態に遷移させるための要件ではない。むしろ、この例では、移動基準が満たされていることが唯一の要件である。一部の実施形態では、メディアキャプチャセッションをロックするために、閾値時間が追加的に必要とされる場合がある。
【0194】
図9Hは、デバイス900が、閾値時間経過後、ただし、移動基準が満たされる前までタッチ入力940の検出を継続することを示す。したがって、図9Hの入力特性ボックス901は、ユーザ入力940が移動基準を満たさない(移動基準:満たしていない)が、閾値時間よりも長い間検出されている(閾値時間:経過した)ことを示す。図9D図9Fに上記した例と同様に、閾値期間よりも長く検出されたタッチ入力に応答して、デバイス900は、ビデオ(例えば、例示的な第2のタイプのメディア)のキャプチャ(例えば、記録)を開始する。この例では、タッチ入力940は、接触の初期位置(例えば、910の場所)からドラッグされたタッチ入力である。本明細書で使用するとき、「ドラッグされた」タッチ入力は、「スライドする」タッチ入力とも呼ばれる。図9Hでは、タッチ入力940は、メディアキャプチャアフォーダンス910の右にドラッグされている。図9Hに示すように、デバイス900は現在、ビデオをキャプチャしている。この例では、ビデオの経過時間(00:00:08、又は8秒)が示され、メディアキャプチャアフォーダンス910は、停止アフォーダンス934と取り替えられている。停止アフォーダンスは、(例えば、ロックされたメディアキャプチャセッション中にメディアキャプチャアフォーダンスを取り替えた場合)、本明細書では「ロック状態キャプチャボタン」とも呼ばれる。一部の実施形態では、停止アフォーダンス(例えば、934)は、(例えば、メディアキャプチャセッションをロックされたメディアキャプチャ状態に移行させる)タッチ入力のリフトオフに応答して、メディアキャプチャアフォーダンス(例えば、910)を取り替える。加えて、図9Hでは、デバイス900は、(例えば、カメラセレクタアフォーダンス912を取り替えて)以下でより詳細に論じられるメディアキャプチャロックアフォーダンス932を表示する。
【0195】
とりわけ、図9Hに示すシナリオは、図9Hにおけるタッチ入力(940)がわずかに右に移動し、図9Eにおけるタッチ入力(930)が移動していないことを除いて、図9Eのシナリオと同様である。したがって、タッチ入力940が移動基準を満たさないが、閾値時間よりも長い間検出されているので、(例えば、タッチ入力940のリフトオフにより)タッチ入力940の検出が図9Hに示す瞬間に中止された場合、図9Fに示すものと同様の結果が生じ、デバイス900は、タッチ入力940が検出された持続時間に基づく持続時間を有するビデオをキャプチャすることになる。しかし、この例では、以下に記載する図9I及び図9Jに示されるように、タッチ入力940は検出され続ける。
【0196】
図9Hでは、デバイス900は、タッチ入力940の現在の場所の表現であるタッチ入力インジケータ942を表示する。この例では、タッチ入力インジケータはタッチ入力940の移動(例えば、メディアキャプチャアフォーダンス910(図9G)/停止アフォーダンス934(図9H)に関連付けられた領域から離れるタッチ入力の移動)に応答して表示される。移動経路インジケータ943も示され、停止アフォーダンス934(又は停止アフォーダンス934と取り替えられていなかった場合には、メディアキャプチャ910)とメディアキャプチャロックアフォーダンス932との間に表示されている。タッチ入力インジケータ942は、(例えば、左又は右の一方又はいずれかの方向への)タッチ入力904のドラッグ(「スライド」とも呼ばれる)に応答して、指示された移動経路に沿って移動する。
【0197】
ここで図9I及び図9Jを参照すると、ユーザ入力の検出を中止した後にメディアのキャプチャを継続する技法が示されている。図9B図9Cに関連して上述したように、デバイスは、特定の特性(例えば、閾値時間未満の間検出される移動はない)を有するユーザ入力(例えば、ジェスチャ)に応答して、任意選択的に第1のタイプのメディアをキャプチャする。図9D図9Fに関連して上述したように、デバイスは任意選択的に、ユーザ入力が他の特性を有する(例えば、移動はなく(又は移動が基準を満たさず)、閾値時間を超える間検出される)場合、ユーザ入力の持続時間に基づく第2のタイプのメディア(例えば、ビデオ)をキャプチャする。一部の実施形態では、デバイスは、タッチ入力の検出が中止された後であっても継続するように、第2のタイプのメディアのキャプチャを継続する。
【0198】
図9Iでは、タッチ入力940は、更に右に移動しており、現在、メディアキャプチャロックアフォーダンス932に対応する場所にある。この例では、タッチ入力(例えば、940)が、メディアキャプチャアフォーダンス910の場所から(例えば、タッチダウンで)(又は、メディアキャプチャアフォーダンスを取り替えた停止アフォーダンス(例えば、934)の場所から)メディアキャプチャロックアフォーダンス932の場所へ移動する(例えば、ドラッグされる)ときに、移動基準は満たされる。一部の実施形態では、デバイスは、ユーザ入力の検出が中止されたことに応答して(例えば、タッチ入力のリフトオフ時に)移動基準が満たされたかどうかを判定する。したがって、図9Iの入力特性ボックス901は、ユーザ入力940が現在の場所で発生した場合に移動基準を満たすことになる(移動基準:満たされた(リフトオフ時))ことを示し、またタッチ入力が閾値時間よりも長い間検出されていること(閾値時間:経過した)を示す。図9Iに示すように、移動インジケータ942は、接触が対応する場所にあり、検出され続ける間、メディアキャプチャロックアフォーダンス932を覆わない/覆い隠さない。一部の実施形態では、移動インジケータ(例えば、942)は、接触が対応する場所にあり、検出され続ける間、メディアキャプチャロックアフォーダンス(例えば、932)を覆う/覆い隠す。図9Iに示すように、メディアキャプチャインタフェース904は、ビデオ記録状態のままにある。停止アフォーダンス934が表示され続け、ビデオキャプチャの経過時間(00:00:10、又は10秒)が表示され続ける。
【0199】
図9Jは、タッチ入力940のリフトオフ後のデバイス900を示す。タッチ入力940の検出を中止したことに応答して、タッチ入力940のリフトオフが、移動基準を満たした後に発生したため(例えば、アフォーダンス932上のリフトオフ)、デバイス900は、第2のタイプのメディア(例えば、ビデオ記録)のキャプチャを継続する。メディアのキャプチャを継続することは、本明細書では、メディアキャプチャセッションを「維持する」とも呼ばれる。この例では、メディアキャプチャセッション(例えば、ビデオのキャプチャ)が、アンロックされたメディアキャプチャ状態からロックされたメディアキャプチャ状態に遷移したため、デバイス900は第2のタイプのメディアのキャプチャを継続する。メディアキャプチャ状態は、本明細書では、「メディアキャプチャセッション状態」とも呼ばれる。本明細書で使用するとき、アンロックされたメディアキャプチャ状態にあるメディアキャプチャセッションは、「アンロックされた」メディアキャプチャセッションとも呼ばれる。本明細書で使用するとき、ロックされたメディアキャプチャ状態にあるメディアキャプチャセッションは、「ロックされた」メディアキャプチャセッションとも呼ばれる。一部の実施形態では、メディアキャプチャセッションがロックされたメディアキャプチャ状態にあるとき、メディアセッションは(例えば、メディアセッションを開始させるタッチ入力ジェスチャの検出の中止後に)継続する。図9Jに示すように、メディアキャプチャインタフェース904は、ビデオ記録状態のままである。停止アフォーダンス934が引き続き表示され、ビデオキャプチャの経過時間(00:00:12、又は12秒)が継続して表示される(例えば、またキャプチャ中により長い時間が経過すると更に進行する)。また図9Jに示すように、デバイス900は、第2のタイプのメディア(例えば、ビデオ)のキャプチャを継続している間、第1のタイプのメディア(例えば、静止画像及び/又は固定持続時間クリップ)をキャプチャするのに使用され得る画像キャプチャアフォーダンス944を表示する。この例では、デバイス900は、ビデオ(例えば、例示的な第2のタイプのメディア)のキャプチャを継続する。
【0200】
一部の実施形態では、デバイス900は、移動基準を満たし、閾値時間を超える間検出されたユーザ入力に応答して、第2のタイプのメディア項目に加えて、第1のタイプのメディア項目をキャプチャする。例えば、ビデオをキャプチャすることに加えて、デバイス900は、タッチ入力940に応答して静止画像を追加的にキャプチャすることができる。一部の実施形態では、静止画像は廃棄される。例えば、タッチ入力のタッチダウンに応答して、第1のタイプのメディア(例えば、静止画像)を取得することができるが、デバイスは、第2のタイプのメディアがキャプチャされた(例えば、タッチ入力が閾値時間にわたって継続する、又は移動基準を満たす)場合、第1のタイプのメディアを廃棄することができる。
【0201】
一部の実施形態では、デバイスは、ユーザ入力の検出が継続している間に移動基準が満たされるかどうかを判定する。例えば、デバイス900は、タッチ入力940が、図9Iのメディアキャプチャロックアフォーダンス932の場所などの特定の場所に到達すると、移動基準を満たすと判定することができる。このような例では、ユーザ入力が移動基準を満たしたことに応答して、デバイスは、最初にリフトオフを必要とせずに(例えば、タッチ入力940が依然として検出されている場合でも)、(例えば、図9Jに示すように)現在のメディアキャプチャセッションをロックされたメディアキャプチャ状態に遷移させることができる。したがって、デバイス900は、(例えば、メディアキャプチャアフォーダンス910の方向に戻る、図9Hに示すような場所までの)タッチ入力940の更なる移動及びメディアキャプチャロックアフォーダンス932以外の場所でのリフトオフにもかかわらず、第2のタイプのメディアのキャプチャを継続することができる。一部の実施形態では、メディアキャプチャアフォーダンス(例えば、910)上の、又は停止アフォーダンス(例えば、934)上の(例えば、タッチ入力940の)リフトオフにより、デバイス(例えば、900)はメディアのキャプチャを中止する(例えば、メディアキャプチャはリフトオフ後に継続しない)。
【0202】
一部の実施形態では、タッチ入力がメディアキャプチャロックアフォーダンス(例えば、932)に向かって少なくとも所定の量(例えば、割合、一定距離)だけドラッグされた場合に、移動基準は満たされる。例えば、タッチ入力940が、図9Gのメディアキャプチャアフォーダンス910の場所(例えば、図9Hの停止アフォーダンス934と同じ場所)と、メディアキャプチャロックアフォーダンス932との間の距離の少なくとも50%、移動インジケータ942をドラッグした場合、移動基準は、(例えば、即座に、又はリフトオフ時に)満たされ得る。これは、図10A図10Fに示される例において示されており、以下でより詳細に説明する。
【0203】
一部の実施形態では、移動基準は、(例えば、満たされるために)特定の方向(例えば、右、左、下、上)への移動を必要とする。例えば、図9G図9Jは、移動基準を満たすために必要とされる(メディアキャプチャアフォーダンス910の)右への移動を示す。一部の実施形態では、移動基準は、1つ以上の方向への移動によって満たされる(例えば、左又は右への移動は移動基準を満たすことができる)。
【0204】
図9Kは、メディアセッションがロックされたメディアキャプチャ状態にある間に第2のタイプのメディアのキャプチャを中止する例示的な技法を示す。タッチ入力940をリフトオフするとメディアがキャプチャされ続けるため、停止アフォーダンス934へのタッチ入力950を使用して、デバイス900にビデオのキャプチャを中止させることができる。例えば、タッチ入力950に応答して、デバイス900は、ビデオを記録することを中止し、図9Fに示すように、メディアキャプチャインタフェース904を表示することができる(例えば、現在何も記録されていないことを示す)。
【0205】
図9Lは、メディアセッションがロックされたメディアキャプチャ状態にある間に第1のタイプのメディアをキャプチャする例示的な技法を示す。図9Lでは、デバイス900は画像キャプチャアフォーダンス944上のユーザ入力960を受け取り、それは、第2のタイプのメディア(例えば、ビデオ)を記録しながら、デバイス900に第1のタイプのメディア(例えば、静止画像及び/又は固定持続時間クリップ)をキャプチャさせるために使用することができる。この例では、デバイス900は、タッチ入力960の後に、ビデオ(例えば、例示的な第2のタイプのメディア)のキャプチャを継続する。タッチ入力960に応答して、デバイス900は、ビデオフレームから静止画像をキャプチャする(例えば、メディアライブラリ内に静止画像を記憶することを含む)。
【0206】
図9M図9Pは、タッチ入力ジェスチャを用いた、第1のタイプのメディア項目のシーケンスのキャプチャを示す。図9M図9Pに示す例では、デバイス900は、第2の移動基準を満たすタッチ入力を用いて、第1のタイプのメディア項目(例えば、静止画像)のシーケンスをキャプチャする。一部の実施形態では、デバイスは、ユーザ入力(例えば、タッチ入力)が1つ以上の異なる移動基準(例えば、第1の移動基準及び第2の移動基準)を満たすかどうかを判定する。例えば、例示的な第1の移動基準は、図9B図9Kに関して上述した移動基準とすることができ、その場合、基準を満たすと、デバイスはメディアキャプチャセッションをロックされたメディアキャプチャ状態に変更する。一部の実施形態では、第2の移動基準を満たすと、デバイス900は、異なるメディアキャプチャアクション(例えば、第1の移動基準が満たされたことに応答して取られるアクションとは異なる)を行う。この例では、デバイス900は、以下でより詳細に論じられる第2の移動基準を満たすタッチ入力の検出に応答して、バーストメディアキャプチャを実行する。
【0207】
図9Mでは、デバイス900は、メディアキャプチャアフォーダンス910に対応するタッチスクリーンディスプレイ902上の場所におけるタッチ入力であるユーザ入力970を受け取る。図9Dの入力特性ボックス901に示すように、ユーザ入力970は移動基準を満たさず(移動基準:満たしていない)、閾値時間よりも長い間検出されていない(閾値時間:経過していない)。
【0208】
図9Nは、閾値時間が経過した後、かつ移動基準が満たされた後まで、デバイス900がタッチ入力970を検出し続けることを示す。したがって、図9Hの入力特性ボックス901は、ユーザ入力940が移動基準を満たさない(移動基準:満たしていない)が、閾値時間よりも長い間検出された(閾値時間:経過した)ことを示す。図9Nの例では、満たされた移動基準は、第2の移動基準である。この例では、第2の移動基準は、図9B図9Kに関して上記した(第1の)移動基準とは異なる。この例では、第2の移動基準は、第2の方向への閾値量(例えば、任意の量、最小量)の移動を含む。図9Nの例では、タッチ入力970は、最小量(例えば、最小量の画素)だけ、第1の方向(例えば、右)とは異なる第2の方向(例えば、左)に移動している。タッチ入力970が第2の方向の第2の移動基準を満たすことを検出したことに応答して、デバイス900は、第1のタイプのメディア項目のメディア項目のシーケンスのキャプチャを開始する(例えば、「バースト」画像キャプチャモードで画像のキャプチャを開始する)。この例では、デバイス900は、タッチ入力970の検出を中止するまでメディア項目のシーケンスのキャプチャを継続する。一部の実施形態では、デバイスは、メディア項目のシーケンスをキャプチャしている間に、ロックされたメディアキャプチャ状態に移行する。例えば、デバイス900は、任意選択的に、メディアキャプチャセッションをバーストモードにロックする能力を提供し、図9G図9Jのビデオに関して上記したのと同様に、タッチ入力970のリフトオフ時にバースト撮影が継続する。上記と同様に、バーストモードは、1つ以上の移動基準(例えば、第3の移動基準)を満たすタッチ入力に基づいてロックされ得る。
【0209】
第1の移動基準と第2の移動基準の詳細の説明は、(例えば、本明細書で使用される例とは異なる本明細書の技法の実装形態において)いずれかを限定すること、又はいずれかの特性に限定することを意図するものではないことに留意されたい。したがって、本明細書の具体的な移動基準に関して記載された具体的な詳細は単なる例示であり、当業者は、移動基準が本明細書に記載するあらゆる移動基準の1つ以上の特性を有し得ることを理解する。
【0210】
図9Nに示すように、タッチ入力970の検出を継続している間、デバイス900は、メディア項目のシーケンスのキャプチャを継続する。メディア項目のシーケンスのキャプチャを継続している間、デバイス900は、タッチ入力970の場所を表すタッチ入力インジケータ974を表示する。タッチ入力インジケータ974は、例示的な移動経路インジケータ975(図9O)に沿って移動する。デバイス900はまた、メディア項目のシーケンスをキャプチャする進行中の(バースト)メディアキャプチャセッション中にキャプチャされたメディア項目の数を示すシーケンスカウント972を表示する。図9Nに示すように、シーケンスカウント972の番号「1」が示すように、デバイス900が(例えば、ユーザ入力970に応答して)現在のシーケンスのキャプチャを開始以来これまで、1つのメディア項目がキャプチャされている。
【0211】
図9O及び図9Pは、タッチ入力の検出を継続している間、デバイス900がメディア項目のシーケンスのキャプチャを継続することを示す。図9Oでは、タッチ入力970の検出が継続し、更に左にドラッグされており、シーケンスカウント976は、ここで「10」を示す(例えば、第1のタイプの10個のメディア項目がキャプチャされている)。図9Oでは、タッチ入力インジケータ974は、例示的な移動経路インジケータ975(実線として示される)に沿って移動する。一部の実施形態では、デバイス(例えば、900)は、タッチ入力の移動に応答してシーケンスカウントを移動させる(例えば、コピーを作成し、それを含む新しいユーザインタフェース要素を再位置し、表示する)。例えば、図9Oでは、タッチ入力970が(図9Nの)シーケンスカウント972の場所に向かって移動した(例えば、近づいた、又は到達した)ことに応答して、デバイス900は、(メディアキャプチャアフォーダンス910の元の場所に対応する)シーケンスカウント976において、新たな場所でキャプチャされたメディア項目の数を表示する。一部の実施形態では、デバイス(例えば、900)は、シーケンスカウントの(例えば、976までの)移動に従って、初期表示場所でのシーケンスカウント(例えば、972)の表示を中止する。このようにして、デバイス900は、ドラッグされたタッチ入力がシーケンスカウントを覆ってしまうのを防止する。一部の実施形態では、シーケンスカウントは、タッチ入力の移動に応答して移動しない。例えば、シーケンスカウントは、単一の場所(例えば、972、976、又は別の場所のいずれか)に表示され、タッチ入力が対応する場所に移動したことに応答して移動しない場合がある。一部の実施形態では、シーケンスカウントは、更なる移動に応答してもう一度移動する。例えば、タッチ入力がシーケンスカウント976の場所に戻ると、シーケンスは再び移動することができる(例えば、シーケンスカウント972として再び表示され得る)。
【0212】
図9Pでは、タッチ入力970が検出され続け、更に左にドラッグされており、シーケンスカウント976はここで「20」を示す(例えば、第1のタイプの20個のメディア項目がキャプチャされている)。一部の実施形態では、デバイス(例えば、900)は、タッチ入力の検出を中止したことに応答して、メディア項目のシーケンスのキャプチャを中止する。例えば、デバイス900が、図9Pに示す瞬間にタッチ入力970の検出を中止する場合、メディア項目のシーケンスのキャプチャは、(例えば、第1のタイプの20個のメディア項目をキャプチャした後に)中止することになる。このような例では、タッチ入力970のリフトオフに応答して、デバイス900は、図9Fに示されるものと同様のメディアキャプチャインタフェース904を表示することができ、ここでは最後にキャプチャされたメディア項目エリア914は、メディア項目のシーケンス内にキャプチャされた20個のメディア項目のうちの1つの表現を含む。
【0213】
一部の実施形態では、タッチ入力の移動量及び/又は移動速度は、第1のタイプのメディア項目のシーケンスのキャプチャ特性に影響を及ぼす。例えば、閾値速度(例えば、タッチスクリーンディスプレイ上の移動速度)を上回る移動を有するタッチ入力は、バースト画像キャプチャの速度を増大させる(例えば、より低速で移動する類似のタッチ入力よりも高速にする)ことができ、かつ/又は(例えば、より低速で移動する類似のタッチ入力より)より高速で推移することができる。別の例として、初期位置(例えば、910)からよりも長い距離を移動するタッチ入力は、バースト画像キャプチャの速度を、より短距離を移動したタッチよりも大きくすることができる。
【0214】
図10A図10Fは、メディアキャプチャセッションを、アンロックされたメディアキャプチャ状態からロックされたメディアキャプチャ状態に遷移させるための例示的なインタフェースを示す。特に、図10A図10Fは、図6A図6F及び図9A図9Pに関して上記したように、メディアセッションをロックされたメディアキャプチャ状態に移行させるために、1つ以上のアフォーダンスと対話するタッチ入力の例示的な詳細図を示す。図10A図10Fに示されるインタフェースは、デバイス900によって(例えば、図9A図9Pに示されるインタフェースの1つ以上で)表示され得る。
【0215】
図10Aは、例示的なメディアキャプチャアフォーダンス1000を示す。例えば、メディアキャプチャアフォーダンス1000は、メディアキャプチャアフォーダンス602又は910に関して上記したものと同じ機能を含むことができる。
【0216】
図10Bでは、ユーザ入力1002(タッチ入力1002とも呼ばれる)は、メディアキャプチャアフォーダンス1000に関連付けられた場所で受け取られる(例えば、ユーザ入力は、アフォーダンス1000を表示するデバイスによって検出される)。この例では、図9D及び図9Eのタッチ入力930に関して上記したものと同様に、タッチ入力1002が閾値時間より長い間検出され、したがって、メディア(例えば、ビデオ)のキャプチャは、(例えば、デバイスがタッチ入力1002を検出したことに応答して、又はタッチ入力1002が閾値持続時間よりも長い間検出されたことに応答して)開始する。図10Bの矢印が示すように、タッチ入力1002は、メディアキャプチャアフォーダンス1000の右方向への移動成分を含む。図10Bにも示すように、メディアキャプチャロックアフォーダンス1004は、メディアキャプチャアフォーダンス1000の右に表示されている。例えば、メディアキャプチャロックアフォーダンス1004は、メディアキャプチャロックアフォーダンス932に関して上記したものと同じ機能を含むことができる。図10Bはまた、メディアキャプチャアフォーダンス1000とメディアキャプチャロックアフォーダンス1004とを接続する移動経路インジケータ1005も示し、それはメディアキャプチャロックアフォーダンス1004に向かう移動方向を示す。移動経路インジケータは、本明細書で使用するとき、「視覚的方向インジケータ」とも呼ばれる。
【0217】
図10Cでは、タッチ入力1002は図10Bからわずかに右に移動しており、図10Dでは、タッチ入力1002は図10Cから更に右に移動している。図10Dでは、タッチ入力インジケータ1006は、ロック距離マーカ1008をまだ通過していない。タッチ入力インジケータ1006は、上記のタッチ入力インジケータ942の1つ以上の特徴を含むことができる。一部の実施形態では、ロック距離マーカ(例えば、1008)は、移動基準に関連付けられた(例えば、それを満たすのに十分な)場所を示して(例えば、移動経路インジケータ1005上に)表示され得る。図10Dでは、ロック距離マーカ1008は、メディアキャプチャセッション状態をロックするための移動基準を満たす距離を示す。図10C及び図10Dでは、タッチ入力1002が検出され続けるにつれて、ビデオはキャプチャされ続ける。
【0218】
図10Eでは、タッチ入力1002は右に移動し、ロック距離マーカ1008を通過している。この例では、移動基準は、メディアキャプチャセッションをロックされたメディアキャプチャ状態に遷移させるための移動基準を満たすためにタッチ入力(例えば、1002)のリフトオフを必要としない。したがって、図10Eでは、メディアキャプチャセッション(例えば、ビデオの記録)がロックされたメディアキャプチャ状態に移行されている。例えば、図10Fに示すように、図10Eに描かれた位置でのタッチ入力1002のリフトオフ後、ビデオキャプチャが継続する(例えば、停止アフォーダンス1010が表示され、ビデオが記録されていることを示している)。また、図10Eに示すように、メディアキャプチャロックアフォーダンス1004は、(例えば、画像キャプチャアフォーダンス944と同様の)画像キャプチャアフォーダンス1012の表示と取り替えられており、それは、第2のタイプのメディア(例えば、ビデオ)を記録している間、メディア(例えば、静止画像、及び/又は固定持続時間クリップなどの第1のタイプ)をキャプチャするために使用され得る。
【0219】
図10Fでは、デバイスは、タッチ入力1002の検出を中止しているが、図9Jに関して上記したものと同様に、メディアのキャプチャ(例えば、ビデオの記録)を継続する。この例では、タッチ入力1002のリフトオフは、(例えば、メディアキャプチャロックアフォーダンス1004に関連付けられた場所に到達する前に)、図10Eに示す場所である間に発生したが、タッチ入力1002の移動がロック距離マーカ1008を通り越して(タッチ入力インジケータ1006によって表されるように)移動したため、メディアキャプチャセッションは依然として継続することになる。一部の実施形態では、デバイスは、タッチ入力インジケータ(例えば、1006)、ロック距離マーカ(例えば、1008)、及び移動経路インジケータ(例えば、1005)のうちの1つ以上を表示しない。例えば、図10Eを参照すると、デバイスは、タッチ入力インジケータ1006、ロック距離マーカ1008及び移動経路インジケータ1005のうちの全て表示できるわけではなく(又は、いずれも表示することができず)表示、依然として図10E及び図10Fに関して説明するリフトオフに応答して同じ動作を実行することができる。
【0220】
上記の説明では、タッチ入力920、930、940、970、及び1002は、異なる参照番号によって示されている。しかし、これらのタッチ入力は、タッチ入力が結局1つ以上のジェスチャ入力であるかどうかに基づいて発生し得る複数の潜在的なジェスチャ及び/又は結果を表すことを意図している。すなわち、タッチ入力920、930、940、970、及び1002のそれぞれは、単一のタッチ入力に関する異なる可能な結果を表す。例えば、タッチ入力920及び930は、同じ場所で同じデバイス条件の間に開始し、タッチ入力のための共通の開始点を表す。しかし、1つはタップジェスチャ(920)となり、1つはタップアンドホールドジェスチャ(930)になるので、異なるメディアキャプチャアクションが行われる。したがって、ユーザには、ユーザがタッチ入力を用いて実行するジェスチャに基づいて、デバイスの複数のメディアキャプチャアクションの制御が行われ得る。
【0221】
加えて、上記の例は例示的なものであり、ジェスチャ、メディアアクション、移動基準、及び閾値時間の様々な組み合わせに関して限定することを意図するものではない。例えば、ビデオキャプチャが右方向への移動に関して説明されているが、代わりに右への移動に応答して、バーストメディアキャプチャを実行することができる。同様に、左への移動は、上記のようにバーストメディアキャプチャをもたらす代わりに、第1のタイプのメディア(例えば、静止画像)のキャプチャとなってもよい。ジェスチャ、メディアアクション、移動基準、及び閾値時間の様々な組み合わせを、本開示の範囲に従ってユーザインタフェースを作成するためにあらゆる組み合わせで組み合わせる、かつ/又は配置することができることを当業者であれば認識するであろう。このようなインタフェースはすべて、本開示の範囲内であることが意図される。
【0222】
図11は、一部の実施形態による電子デバイスを使用したジェスチャによるメディアキャプチャを実行する方法を示すフロー図である。方法1100は、ディスプレイ、タッチ感知面、及び1つ以上のメディアキャプチャ構成要素(例えば、画像センサ、カメラ)を有するデバイス(例えば、100、300、500、800)で実行される。方法1100のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
【0223】
後述するように、方法1100は、ジェスチャによるメディアキャプチャを実行するための直感的な仕方を提供する。この方法は、メディアキャプチャを実行するユーザの認識的負担を軽減し、それにより、より効率的なヒューマン-マシンインタフェースを作成する。バッテリ動作式コンピューティングデバイスの場合、ユーザがより高速かつ効率的にメディアキャプチャを実行することを可能にすることで、電力を節約し、バッテリ充電間の時間を延ばす。
【0224】
電子デバイス(例えば、600、900)は、ディスプレイ(例えば、タッチスクリーンディスプレイ902)上に、第1のユーザインタフェース要素(例えば、910、602、1000)を(例えば、601で、904で)表示する(1102)。電子デバイスは、(例えば、第1のユーザインタフェース要素を表示している間に)タッチ感知面(例えば、タッチスクリーンディスプレイ902)を介して、第1のユーザインタフェース要素に対応するタッチ感知面上の場所(例えば、910の場所、602の場所、1000の場所)で(タッチ感知面上のオブジェクトのタッチダウン(指を下ろす)イベントを)開始するタッチ入力(例えば、603、920、930、940、970、1002)を検出する(1104)。
【0225】
タッチ入力の検出に応答して(1106)、タッチ入力(例えば、920)が移動基準を満たす前に、かつタッチ入力(例えば、タッチスクリーンディスプレイ902上のタッチ入力のタッチダウンイベント)が検出されてから閾値時間(例えば、1秒)(例えば、ビデオが記録を自動的に開始する前の時間)が経過する前に、タッチ入力がタッチ感知面(例えば、902)からリフトされたとの判定に従って、電子デバイス(例えば、600、900)は、第1のタイプのメディア(例えば、単一の画像、及び/又は固定持続時間を有するビデオ)をキャプチャする(1108)。例えば、図9B図9Cは、タッチ入力が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過する前に、例示的なタッチ入力920(タップ入力ジェスチャ)がタッチスクリーン902からリフトされたとの判定に従って、第1のタイプのメディアをキャプチャするデバイス900を示す。
【0226】
一部の実施形態では、タッチ入力(例えば、920)が移動基準を満たす前にタッチ入力がタッチ感知面(例えば、902)からリフトされたとの判定は、閾値を超える移動量(例えば、メディアキャプチャセッションをアンロックされたメディアキャプチャ状態からロックされたメディアキャプチャ状態を移行する(例えば、遷移させる)のに十分な移動)が検出される前にタッチ入力がリフトされたとの判定を含む。例えば、閾値量は、タッチダウンの場所(例えば、メディアキャプチャアフォーダンス)から既定の距離、又はタッチダウンの場所(例えば、メディアキャプチャアフォーダンス)から既定の領域/エリア/場所までの距離であってもよい。一部の実施形態では、タッチ入力が移動基準を満たす前にタッチ入力がタッチ感知面からリフトされたとの判定は、タッチ入力がメディアキャプチャアフォーダンス(例えば、910、602、1000)に対応する第1の領域(例えば、エリア、場所)の外に移動する前に、かつ/又は、タッチ入力が、リフトオフを検出した後に継続する第2のタイプのメディアのキャプチャに関連付けられた第2の領域(例えば、エリア、場所)内に移動する前に、タッチ入力がリフトされたとの判定を含む。例えば、第1の領域は、メディアキャプチャアイコンアフォーダンス910(又は、第2のタイプのメディアの記録を開始したことに従ってメディアキャプチャアイコンアフォーダンス910を取り替えた場合には停止アフォーダンス934)の場所とすることができ、第2の領域は、メディアキャプチャロックアフォーダンス932とすることができる。更なる例では、第2の領域は、移動経路インジケータ(例えば、974、1005)に沿った領域(例えば、図10Eのロック距離マーカ1008の右などの、特定の点又はアフォーダンス1000又は1010からの距離を通り越した領域)であってもよい。
【0227】
一部の実施形態では、メディアをキャプチャすることは、1つ以上のメディアキャプチャ構成要素(例えば、画像センサ、カメラ)を使用して1つ以上の画像(例えば、単一の画像、一連の画像を含むビデオ)を記録すること、(例えば、ビデオ記録中に)オーディオを(例えば、1つ以上のマイクロフォンを用いて)記録すること、及び、メディアライブラリ内にメディア項目(例えば、記録中の静止画像、記録されたビデオ)を記憶すること、のうち1つ以上を含む。例えば、メディア項目をキャプチャすることは、ビデオクリップの記録を開始すること、そのビデオクリップの記録を中止すること、及びビデオクリップがデバイスに関連付けられたメディアライブラリ(例えば、カメラロール)に関連付けられる(例えば、それにアクセスできる)ようにビデオクリップを記憶すること、を含むことができる。別の例として、「キャプチャを開始する」とは、デバイスがビデオの記録を開始することを指すことができる。別の例として、「キャプチャを中止する」とは、デバイスがビデオの記録を中止する(例えば、ビデオ記録を停止する)ことを指すことができる。一部の実施形態では、「キャプチャを中止する」結果キャプチャされたビデオは、(例えば、ビデオの記録が中止されたことに従って自動的に)メディアライブラリに記憶される。一部の実施形態では、デバイス(例えば、600、900)は、タッチ感知面上のタッチ入力のタッチダウンを検出したことに応答して、第1のタイプのメディアをキャプチャする。一部の実施形態では、デバイスは、(例えば、タッチダウンで開始する)タッチ入力の検出中、及びタッチ感知面上のタッチ入力のリフトオフの検出中の任意の時点で、第1のタイプのメディアをキャプチャする。一部の実施形態では、デバイスは、タッチ感知面からのタッチ入力のリフトオフに応答して、第1のタイプのメディアをキャプチャする。一部の実施形態では、タッチ感知面上のタッチ入力のタッチダウンの前に、第1のタイプのメディアがキャプチャされる(又はキャプチャを開始する)。例えば、デバイス(例えば、600、900)は、タッチ入力の前に(例えば、タッチ入力を予測して)記録していることがあり、タッチ入力に応答して、タッチ入力(例えば、603、920、930、940、970、1002)が実際にデバイスによって検出される前にキャプチャされた又は(例えば、ビデオ用に)キャプチャが開始された1つ以上のメディア項目をキャプチャする。
【0228】
タッチ入力を検出したことに応答して(1106)、タッチ入力(例えば、930)が移動基準を満たす前に(例えば、閾値移動量を検出される前に、タッチ入力がキャプチャアフォーダンス(例えば、910、602、1000)に対応する第1の領域の外に移動する前に、かつ/又は、タッチ入力が、(例えば、アフォーダンス932での)リフトオフ検出後も継続する第2のタイプのメディアのキャプチャに関連付けられた第2の領域内に移動する前に)、かつ、タッチ入力(例えば、タッチスクリーン902へのタッチダウンイベント)が検出されてから閾値時間(例えば、1秒)を経過した後に、タッチ入力がタッチ感知面からリフトされたとの判定に従って、電子デバイス(例えば、600、900)は、タッチ感知面上のタッチ入力の持続時間に基づく持続時間を有する第2のタイプのメディア(例えば、オーディオを含むビデオ)をキャプチャする(1110)。例えば、例示的なタップアンドホールドジェスチャ入力930に応答して、デバイス900は、タッチ入力の持続時間に基づく(例えば、等しい)長さを有するビデオをキャプチャする。一部の実施形態では、第2のタイプのメディアの持続時間は、タッチ入力がタッチ感知面上で検出された持続時間と同じである。例えば、タッチ入力持続時間が8秒である場合、得られるビデオは8秒である。一部の実施形態では、第2のタイプのメディアの持続時間は、タッチ入力が閾値時間を超えた時からタッチ感知面からのタッチ入力のリフトオフまでの持続時間である。例えば、タッチ入力持続時間が8秒であり、閾値時間が1秒である場合、得られるビデオは7秒である。一部の実施形態では、タッチ入力は、メディアキャプチャセッションをロックされたメディアキャプチャ状態に移行させるための移動基準を満たさない移動を含み、デバイス(例えば、600、900)は、(例えば、閾値時間を満たすタッチ入力に応答して、又はタッチ入力の移動(例えば、特定の方向における特定の移動量)に応答して)第2のタイプのメディアのキャプチャをいずれにしても開始する。一部の実施形態では、タッチ入力が、(例えば、メディアキャプチャロックアフォーダンスに向かう(例えば、最小量の)タッチ入力の移動に応答して)デバイス(例えば、600、900)に第2のタイプのメディアのキャプチャを開始させる移動基準(例えば、メディアキャプチャロック状態を可能にする基準と同一又は異なる)を満たす前に、タッチ入力は閾値時間検出されていない。図9D図9Fは、タッチ入力が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過した後に、例示的なタッチ入力930がタッチ感知面からリフトされたとの判定に従って、タッチ感知面上のタッチ入力の持続時間に基づく持続時間を有する、第2のタイプのメディアをキャプチャするデバイス900を示す。
【0229】
タッチ入力を検出したことに応答して(1106)、タッチ入力(例えば、940、603)が移動基準を満たし、第1の方向への(例えば、図9G図9Iに示すように)移動を含むとの判定に従って(例えば、タッチ入力は、第1の方向(例えば、タッチ感知面の第1の縁部に向かう、メディアキャプチャアフォーダンス910からメディアキャプチャロックアフォーダンス932に向かう)への2つ以上の閾値移動量(例えば、メディアキャプチャアフォーダンス910の場所からメディアキャプチャロックアフォーダンス932の場所への移動)を含む、又はタッチ入力が、(例えば、アフォーダンス932での)リフトオフの検出後に継続する第2のタイプのメディアのキャプチャに関連付けられた第2の領域内に移動しているとき)、電子デバイス(例えば、600、900)は、第2のタイプのメディア(例えば、ビデオ)のキャプチャを開始し、タッチ感知面からのタッチ入力のリフトオフを検出した後に、第2のタイプのメディアのキャプチャを継続する(1112)。例えば、図9G図9Jは、例示的なタッチ入力940が移動基準を満たし(例えば、アフォーダンス932の場所のリフトオフ)、第1の方向(例えば、アフォーダンス932に向かう)への移動を含むとの判定に従って、第2のタイプのメディアのキャプチャを開始し、(リフトオフ後に)キャプチャを継続するデバイス900を示す。更なる例では、図10A図10Fは、移動基準を満たし(例えば、第1の方向へロック距離マーカ1008を通り越した移動)、第1の方向(例えば、右)への移動を含む例示的なタッチ入力1002を示す。一部の実施形態では、閾値時間が経過したかどうか、及び/又はタッチ入力の移動が閾値時間に対して開始又は終了したタイミングにかかわらず、移動基準を満たし、第1の方向への移動を含むタッチ入力に応答して、デバイスは上述した動作を実行する。例えば、デバイス900は、タッチ入力(例えば、閾値時間が1秒である場合)に応答してビデオの記録を開始することができ、タッチ入力が静止したタップアンドホールドであることを検出した(かつビデオを記録した)2分後に、デバイスは、タッチ入力が移動してメディアキャプチャセッションのロック基準を満たすことを検出し、それに応じて、デバイスはリフトオフ後に記録を継続することになる。
【0230】
一部の実施形態では、メディアのキャプチャを継続することは、メディアキャプチャセッションをアンロックされたメディアキャプチャ状態からロックされたメディアキャプチャ状態(例えば、「ロックされたメディアキャプチャセッション状態」とも呼ばれる)に遷移させることを含む。一部の実施形態では、電子デバイス(例えば、600、900)は、ユーザインタフェース要素(例えば、マーカ1008、アフォーダンス932又は1004)、又は移動基準を満たすタッチ入力移動量の他のグラフィカル表示を表示する。一部の実施形態では、デバイスは、2つ以上のユーザインタフェース要素を表示する。一部の実施形態では、各ユーザインタフェース要素は、(例えば、異なるメディアキャプチャ関連動作に関連付けられた)同じ又は異なる移動基準に対応することができる。例えば、デバイスは、メディアキャプチャセッションをメディアキャプチャ状態に移行させ、したがって、タッチ入力(例えば、1002)のリフトオフの後に継続する移動量を示すエリア(例えば、932のエリア、1008の右のエリア)を示すグラフィカルユーザインタフェース要素(例えば、932、1008)を表示する。一部の実施形態では、移動基準は、(例えば、図10A図10Fに関して図示し説明したように)第1のユーザインタフェース要素(例えば、1000)と他のユーザインタフェース要素(例えば、1004)との間の距離(例えば、その一部)よりも短い移動である。例えば、例示的な第1のユーザインタフェース要素1000から例示的なユーザインタフェース要素1004までの距離の少なくとも50%のタッチ入力1002の移動及びリフトオフは、タッチ入力のリフトオフ後にメディアのキャプチャを継続するために十分であり得る。
【0231】
第1のタイプのメディア、特定の持続時間を有する第2のタイプのメディア、及びキャプチャされ続ける第2のタイプのメディアをキャプチャするかどうかを判定するために、移動基準と閾値時間の1つ以上の組み合わせを使用すると、追加の表示された制御でユーザインタフェース(例えば、GUI)を雑然とさせずに追加の制御オプションが提供される。表示される追加コントローラによってUIを雑然とさせることなく、追加制御オプションを提供することにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザを適切な入力を付与するのを支援し、ユーザの誤りを減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速かつ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。更に、ユーザは、単一の技法を使用してビデオ記録を開始し、ビデオ記録を開始した後に、デバイスが記録を迅速に終了するか、それとも記録を延長するかを示す異なる継続ジェスチャを実行することができる。更に、ユーザは、迅速に記録を開始し、記録開始後に、写真、短いビデオ、又は長いビデオをキャプチャするかどうかを決定することができる。更に、これにより、ディスプレイ上に表示する必要がある制御の数が低減される(例えば、静止写真ボタン及びビデオボタンの両方、又は異なるタイプのメディア用の3つの異なるボタンは必要とされない)。スクリーンスペースの節約は、ユーザがキャプチャしているコンテンツのカメラプレビューを表示するために、スクリーンの残りの部分を使用することがある場合に特に重要である。
【0232】
第1のタイプのメディア、特定の持続時間を有する第2のタイプのメディア、及びキャプチャされ続ける第2のタイプのメディアをキャプチャするかどうかを判定するために、移動基準と閾値時間の1つ以上の組み合わせを使用すると、特定のユーザインタフェースから開始の際に、これらの動作のうち1つ以上を実行するのに必要な入力数が低減される。動作を実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を付与するのを支援し、ユーザの誤りを減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速かつ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
【0233】
ユーザインタフェース要素上のタッチ入力の移動基準を使用すると、キャプチャされたタッチ入力のリフトオフ後にメディアのタイプがキャプチャされ続けるかどうかを制御するために(例えば、第2の)タイプのメディアのキャプチャを引き起こす/開始するために使用可能であり、ユーザインタフェース(例えば、GUI)を追加で表示された制御により雑然とさせずに、追加の制御オプションが提供される。表示される追加コントローラによってUIを雑然とさせることなく、追加制御オプションを提供することにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザを適切な入力を付与するのを支援し、ユーザの誤りを減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速かつ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
【0234】
一部の実施形態では、タッチ入力(例えば、図9D図9Fの930)が移動基準を満たす前に、かつタッチ入力が検出されてから閾値時間が経過した後に、タッチ入力がタッチ感知面(例えば、902)からリフトされたとの判定に従って、電子デバイス(例えば、600、900)は、タッチ入力のリフトオフを検出した(例えば、記録されたビデオ持続時間の終了がリフトオフで発生した)ことに応答して、(例えば、図9D図9Fに示すように)第2のタイプのメディア(例えば、ビデオ)のキャプチャを中止する(例えば、ビデオの記録を中止し、得られたビデオをメディアライブラリに記憶する)。
【0235】
一部の実施形態では、第1のタイプのメディアは、タッチ感知面(例えば、902)上のタッチ入力(例えば、920)の持続時間とは無関係の持続時間を有する。例えば、第1のタイプのメディアは、(例えば、タッチスクリーンディスプレイ902上の)タッチ入力持続時間に影響されない一定の長さ(例えば、3秒の長さ)を有するビデオであってもよく、静止写真又は他の写真若しくはその静止写真の前にかつ/又はその後に既定の持続時間にわたるオーディオコンテンツなどのメディアのシーケンスを伴う静止写真であってもよい。
【0236】
一部の実施形態では、移動基準は第1の移動基準であり、タッチ入力(例えば、970)を検出したことに応答して(1106)、タッチ入力が第2の移動基準(例えば、図9M図9Nのメディアキャプチャアフォーダンス910の領域/場所の外への移動)を満たし、第1の方向(例えば、図9M図9Nの右へ)とは異なる第2の方向(例えば、図9M図9Nのメディアキャプチャアフォーダンス910(又は停止アフォーダンス934)の場所の左へ)への移動を含むとの判定に従って、電子デバイス(例えば、600、900)は、第1のタイプのメディア(例えば、静止写真)のメディア項目のシーケンス(例えば、バースト画像キャプチャモードを開始する)のキャプチャを開始し(1114)、キャプチャされたメディア項目の数は、タッチ感知面上のタッチ入力の持続時間(例えば、ユーザインタフェース要素の場所(例えば、910、602、1000、934、605)から閾値距離を超える間の、又はタッチ入力が第1のタイプのメディアのメディア項目のシーケンスのキャプチャに関連付けられた既定の領域(例えば、アフォーダンス910、934、602、1000、又は605の左への領域)にある間の、タッチ入力の持続時間)に基づいて決定される。例えば、タッチ入力が、第1の方向(例えば、図9M図9Nの右へ)とは異なる(例えば、それとは反対に、タッチ感知面の第2の端部に向かって)第2の方向への閾値を超える移動量(例えば、バーストモードを有効にするのに十分な)を含む、又は第1のタイプのメディアのメディア項目のシーケンスのキャプチャに関連付けられた既定の領域(例えば、図9M図9Nのメディアキャプチャアフォーダンス910の左の領域)への移動を含む場合、タッチ入力は第2の移動基準を満たすことができる。メディア項目のシーケンスのキャプチャは、バーストモード、バースト画像キャプチャモード、連続撮影モードなどと呼ばれる場合もある。
【0237】
一部の実施形態では、第2の移動基準を満たす移動は、閾値時間の前に生じる。例えば、移動基準は、デバイスがメディア項目のシーケンスのキャプチャを開始するために、第2の方向への移動が閾値時間内に発生しなければならないことを要求することができる。一部の実施形態では、移動は閾値時間の前に開始する。例えば、移動基準は、デバイスがメディア項目のシーケンスのキャプチャを開始するために、第2の方向への移動が(例えば、閾値時間の後に移動が終了した場合であっても)閾値時間の前に開始されなければならないことを要求することができる。一部の実施形態では、第2の移動基準は、閾値持続時間が経過した後に開始する移動によって満たされ得る。一部の実施形態では、第2の移動基準は、任意の移動(例えば、特定の(例えば、第2の)方向への任意の移動)を含む。一部の実施形態では、第2の移動基準は、(例えば、第2の方向への)閾値量の移動(例えば、最小距離)を含む。一部の実施形態では、第2の移動基準は、タッチ入力が、メディアキャプチャアフォーダンス(例えば、910、602、1000)に対応する第1の領域の外側に移動しているという要件を含む。一部の実施形態では、第2の移動基準は、タッチ入力が、第1のタイプのメディア項目のシーケンスのキャプチャに関連付けられた第2の領域(例えば、場所)内に移動しているという要件を含む。一部の実施形態では、第1の移動基準と第2の移動基準は同じであるが、異なる方向(例えば、同じ距離要件だが、反対方向)である。
【0238】
第1のタイプのメディア、特定の持続時間を有する第2のタイプのメディア、キャプチャされ続ける第2のタイプのメディア、及び第1のタイプのメディア項目のシーケンスをキャプチャするかどうかを判定するために、移動基準と閾値時間の1つ以上の組み合わせを使用すると、追加の表示された制御でユーザインタフェース(例えば、GUI)を雑然とさせずに追加の制御オプションが提供される。表示される追加コントローラによってUIを雑然とさせることなく、追加制御オプションを提供することにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザを適切な入力を付与するのを支援し、ユーザの誤りを減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速かつ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
【0239】
第1のタイプのメディア、特定の持続時間を有する第2のタイプのメディア、及びキャプチャされ続ける第2のタイプのメディア、及び第1のタイプのメディア項目のシーケンスをキャプチャするかどうかを判定するために、移動基準と閾値時間の1つ以上の組み合わせを使用すると、特定のユーザインタフェースから開始の際に、これらの動作のうち1つ以上を実行するのに必要な入力数が低減される。動作を実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を付与するのを支援し、ユーザの誤りを減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速かつ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
【0240】
一部の実施形態では、タッチ入力(例えば、970)が第2の移動基準を満たし、第1の方向とは異なる第2の方向(例えば、それとは反対に、タッチ感知面の第2の縁部に向かう)への移動(例えば、バーストモードを有効にするのに十分な)を含むとの判定に従って、電子デバイス(例えば、600、900)は、タッチ入力のリフトオフを検出したことに応答して(例えば、図9Pの970のリフトオフに応答して)、第1のタイプのメディアのメディア項目のシーケンスのキャプチャを中止する(例えば、持続時間の終了はリフトオフ時に発生する)。例えば、タッチ入力970のリフトオフに応答して、デバイス900は、バースト画像キャプチャの実行(例えば、高速で連続した静止画像の記録)を停止する(例えば、キャプチャされた画像を記憶する)。
【0241】
一部の実施形態では、(例えば、図9N図9Pに示すように)第1のタイプのメディアのメディア項目のシーケンスのキャプチャを継続している間、電子デバイス(例えば、600、900)は、ディスプレイ(例えば、902)上に、メディア項目のシーケンスのキャプチャの開始以降にキャプチャされた第1のタイプのメディアのメディア項目の数(例えば、図9Nの972、図9O図9Pの976)を表示する(例えば、シーケンスキャプチャが継続するにつれてメディア項目の数が増加する)。一部の実施形態では、メディア項目の数は、ディスプレイ上の第1のユーザインタフェース要素の場所(例えば、図9Mに示すようなメディアキャプチャアフォーダンス910の場所)に表示される。一部の実施形態では、表示されたメディア項目の数は、タッチ入力の検出以降にキャプチャされたメディア項目の数に基づく。
【0242】
一部の実施形態では、メディア項目のシーケンスのキャプチャの開始以降にキャプチャされた第1のタイプのメディアのメディア項目の数をディスプレイ(例えば、902)上に表示することは、電子デバイス(例えば、600、900)がディスプレイ上の初期位置(例えば、図9Nの972の場所)でキャプチャされた第1のタイプのメディアのメディア項目の数を、ディスプレイ上に表示することを含む。タッチ入力(例えば、970)が、ディスプレイ上の初期位置に対応するタッチ感知面上の場所への移動を含む(例えば、タッチ入力970は、図9N図9Oに示すように移動する)との判定に従って、電子デバイスは、ディスプレイ上に、ディスプレイ上の第1のユーザインタフェース要素の場所(例えば、図9Oでは、976は図9Mに示すメディアキャプチャアフォーダンス910と同じ場所で表示される)での第1のタイプのメディアのメディア項目の数(例えば、図9O図9Pの976)を表示する。電子デバイスは、ディスプレイ上の初期位置に第1のタイプのメディアのメディア項目の数を表示することを中止する(例えば、972はもはや図9O図9Pに表示されなくなる)。
【0243】
タッチ入力の初期位置への移動に従って新しい場所でキャプチャされたメディア項目の数を表示することにより、情報がタッチ入力によって覆い隠されるのを防止するよう視覚的フィードバックを改善する。フィードバックを改善すると、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を付与することを支援し、ユーザの間違いを低減することによって)デバイスの操作性が向上し、ユーザとデバイスのインタフェースがより効率的になり、これによって、ユーザがデバイスをより迅速かつ効率的に使用できるようになることにより、更に、電力使用が低減し、デバイスのバッテリ寿命が改善される。
【0244】
一部の実施形態では、電子デバイス(例えば、600、900)は、第2のユーザインタフェース要素(例えば、アイコン、アフォーダンス、又は距離マーカ)(例えば、メディアキャプチャロックアフォーダンス932、メディアキャプチャロックアフォーダンス1004、ロック距離マーカ1008)をディスプレイ(例えば、902)上に表示し(1116)、第1のユーザインタフェース要素(例えば、910の場所、934の場所、1000の場所、602の場所、605の場所)から第2のユーザインタフェース要素(例えば、932、1004、1008)へのタッチ入力(例えば、940、603)の移動は、移動基準を満たす(例えば、移動基準は、第2のユーザインタフェース要素に向かう(例えば、ある方向への)閾値移動量、又はリフトオフ後にキャプチャされ続ける第2のタイプのメディアのキャプチャに関連付けられた第1の領域(例えば、第2のユーザインタフェース要素の領域)への移動を検出することを含む)。一部の実施形態では、第2のユーザインタフェース要素に対応する場所での(例えば、932又は1004の場所での、マーカ1008の右への領域における)タッチ入力のリフトオフは、第2のタイプのメディアがリフトオフ後に記録され続けるために必要とされる。
【0245】
移動基準を満たすユーザインタフェース要素を表示することにより、動作を実行するのに必要とされる入力移動に関する改善された視覚的フィードバックが提供される。改善されたフィードバックを備えることにより、(例えば、ユーザが適切な入力を与えるのを支援し、デバイスを操作する/デバイスと対話するときにユーザのミスを減らすことによって)デバイスの操作性が向上し、ユーザーデバイス間のインタフェースがより効率的になり、これにより、ユーザによるデバイスのより迅速かつ効率的な使用を可能にすることで、追加的に、電力使用が低減し、デバイスのバッテリ寿命が改善される。
【0246】
一部の実施形態では、タッチ感知面(例えば、902)からのタッチ入力(例えば、940、603)のリフトオフを検出した後に、第2のタイプのメディアのキャプチャを継続することに従って、電子デバイス(例えば、600、900)は、第2のユーザインタフェース要素(例えば、図9Iの932)を、第2のユーザ要素とは異なる第3のユーザインタフェース要素(例えば、図9Iの944)に変更する。一部の実施形態では、第2のユーザインタフェース要素は、タッチ入力の移動に応答して変わる。一部の実施形態では、第2のユーザインタフェース要素は、(例えば、メディアキャプチャロックアフォーダンスの場所での)タッチ入力のリフトオフに応答して変わる。一部の実施形態では、第2のユーザインタフェース要素は、メディアキャプチャセッションがロックされたメディアキャプチャ状態に移行したことに応答して変わる。
【0247】
一部の実施形態では、タッチ入力(例えば、940、603)と、第2のユーザインタフェース要素に対応するタッチ感知面上の場所(例えば、ユーザインタフェース要素932の場所)との間の対話に応答して、第2のユーザインタフェース要素(例えば、932)は第3のユーザインタフェース要素(例えば、944)に変わる。例えば、タッチ入力940がメディアキャプチャロックアフォーダンス932の場所にドラッグされたときに、対話を行うことができる。更なる例では、対話は、タッチ入力940がメディアキャプチャロックアフォーダンス932の場所にあるときにリフトオフすると行うことができる。
【0248】
一部の実施形態では、タッチ入力(例えば、940、603)は第1のタッチ入力であり、第2のタイプのメディア(例えば、ビデオ)のキャプチャを継続している間、電子デバイス(例えば、600、900)は、第3のユーザインタフェース要素(例えば、944)に対応するタッチ感知面上の場所での第2のタッチ入力(例えば、960)を、タッチ感知面(例えば、902)を介して検出する。第2のタッチ入力を検出したことに応答して、電子デバイスは、(例えば、第2のタイプのメディアのキャプチャを継続している間)第1のタイプのメディアをキャプチャする(例えば、静止写真を撮る)。
【0249】
一部の実施形態では、タッチ感知面上のタッチ入力(例えば、940、603)を検出している間(例えば、タッチダウン直後、又はタッチ入力の第1の方向への移動の直後)、電子デバイス(例えば、600、900)は、ディスプレイ上の第1のユーザインタフェース要素の場所(例えば、910の場所、934の場所、1000の場所、602の場所、605の場所)から第1の方向への方向インジケータ(例えば、943、975、1005、604a、604b)をディスプレイ(例えば、902)上に表示する(1118)。
【0250】
一部の実施形態では、方向インジケータ(例えば、943、975、1005、604a、604b)は、(例えば、移動基準を満たす)方向の線(例えば、実線、点線、破線)、矢印、アニメーション、及び他のグラフ表示のうちの1つ以上を含むことができる。一部の実施形態では、方向インジケータは、移動基準を満たすのに必要な移動量(例えば、ロック距離マーカ1008を含む移動経路インジケータ1005)を示す。一部の実施形態では、方向インジケータは、移動基準を満たすために(例えば、タッチ入力のリフトオフを必要とする場合にも、又は必要としない場合にも)タッチ入力を移動させる必要がある領域又は場所(例えば、ロック距離マーカ1008を含む移動経路インジケータ1005)を示す。
【0251】
方向インジケータを表示することにより、動作を実行するのに必要な入力移動に関する改善された視覚的フィードバックが提供される。フィードバックを改善すると、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を付与することを支援し、ユーザの間違いを低減することによって)デバイスの操作性が向上し、ユーザとデバイスのインタフェースがより効率的になり、これによって、ユーザがデバイスをより迅速かつ効率的に使用できるようになることにより、更に、電力使用が低減し、デバイスのバッテリ寿命が改善される。
【0252】
一部の実施形態では、タッチ入力(例えば、940、603)が第1の方向への移動を含むとの判定に従って、方向インジケータ(例えば、943、975、1005、604a、604b)が表示される。例えば、タッチ入力940が(例えば、メディアキャプチャロックアフォーダンス932に向かって)移動を開始するまで、移動経路インジケータ943は表示されない。一部の実施形態では、デバイスは、タッチ入力を検出したことに応答して、又は閾値時間タッチ入力を検出したことに応答して、移動経路インジケータを表示する。
【0253】
一部の実施形態では、タッチ感知面(例えば、902)からタッチ入力のリフトオフ(例えば、図9I図9Jの940のリフトオフ、603のリフトオフ)を検出した後に、第2のタイプのメディア(例えば、ビデオ)のキャプチャ継続することに従って、電子デバイス(例えば、600、900)は、第1のユーザインタフェース要素(例えば、910、602、1000)を第4のユーザインタフェース要素(例えば、図9Jの934、図6D図6Fの605)に変更する(1120)。一部の実施形態では、第1のユーザインタフェース要素は、(例えば、図9Hに示すように)第2のタイプのメディアのキャプチャを開始したことに従って、第4のユーザインタフェース要素に変わる。一部の実施形態では、第1のユーザインタフェース要素は、(例えば、(例えば、図10A図10Dに示されるように)第1のユーザインタフェース要素に対応するエリアから外への)タッチ入力の移動に従って第4のユーザインタフェース要素に変わる。一部の実施形態では、電子デバイスは、タッチ入力のリフトオフに応答して、第1のユーザインタフェース要素を第4のユーザインタフェース要素に変わる。
【0254】
第2のタイプのメディアのキャプチャを継続することに従って、ユーザインタフェース要素を変更することにより、ユーザインタフェース(例えば、GUI)を追加的に表示されたコントロールで雑然とさせずに、関連する代替の制御オプションが提供される。表示される追加コントローラによってUIを雑然とさせることなく、追加制御オプションを提供することにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザを適切な入力を付与するのを支援し、ユーザの誤りを減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速かつ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
【0255】
一部の実施形態では、タッチ入力(例えば、940、603)は第1のタッチ入力であり、タッチ感知面(例えば、902)からのタッチ入力(例えば、940、603)のリフトオフを検出した後に、第2のタイプのメディアのキャプチャを継続している間、電子デバイス(例えば、600、900)は、タッチ感知面を介して、第4のユーザインタフェース要素(例えば、934、605)に対応するタッチ感知面上の場所における第3のタッチ入力(例えば、950、606)を検出する。第3のタッチ入力を検出したことに応答して、電子デバイスは、第2のタイプのメディアのキャプチャを中止する(例えば、ビデオの記録を停止し、記録されたビデオをメディアライブラリに記憶する)。
【0256】
一部の実施形態では、第1のタイプのメディアは、静止画像及びビデオ(例えば、固定持続時間、及び/又はタッチ入力の持続時間とは無関係の持続時間を有するビデオクリップ)のうちの1つ以上である。
【0257】
一部の実施形態では、1つ以上のメディアキャプチャ構成要素(例えば、カメラ、画像センサ)によって第1のタイプのメディアをキャプチャすることは、タッチ感知面上のタッチ入力(例えば、603、920、930、940、970、1002)(例えば、902上のタッチダウン)を検出したことに応答して、又はタッチ感知面からのタッチ入力のリフトオフに応答して行われる。一部の実施形態では、タッチ入力がタッチ感知面上で検出されている間に、第1のタイプのメディアのキャプチャが行われる。
【0258】
一部の実施形態では、第2のタイプのメディアは、(例えば、タッチ入力の長さに関連する持続時間を有する、又は停止アフォーダンス(例えば、934、605)が選択されるまでの)ビデオである。
【0259】
一部の実施形態では、1つ以上のメディアキャプチャ構成要素(例えば、カメラ、画像センサ)によって第2のタイプのメディアをキャプチャすることは、タッチ入力がタッチ感知面上で閾値時間(例えば、1秒)を超えて検出されたことに応答して、ビデオの記録を開始することを含む。
【0260】
一部の実施形態では、タッチ入力(例えば、930)が移動基準を満たす前に(例えば、メディアキャプチャセッションがロックされたメディアキャプチャ状態ではない)、かつ閾値時間(例えば、1秒)がタッチ入力を検出されてから経過した(例えば、デバイスがビデオの記録を開始した)後に、タッチ入力がタッチ感知面からリフトされたとの判定に従って、電子デバイス(例えば、600、900)は、第1のタイプのメディア(例えば、静止画像)をキャプチャし、キャプチャされた第1のタイプのメディアを廃棄する(例えば、第1のタイプのメディアをメディアライブラリに追加する前又はその後に削除する)。例えば、電子デバイスは、タッチ入力を受け取ったことに従って(例えば、タッチ入力930のタッチダウンに応答して)、第1のタイプのメディア項目をキャプチャすることができる。タッチ入力が第2のタイプのメディアをキャプチャするための基準を満たした後、デバイスは、(例えば、タッチ入力ジェスチャの特性が、引き続き、第1のメディア項目のキャプチャが意図されていないことを示すため)キャプチャされた第1のタイプのメディアを廃棄することができる。
【0261】
ユーザがリフトオフした場合に利用可能になるように、第1のメディアをキャプチャするが自動的にそれを削除すると、ユーザが他のコンテンツ(例えば、ビデオなどの第2のメディア)の記録を開始する際の記憶空間を保全し、それは、第1のメディア(例えば、写真)が必要とされないことを示す。更に、他のメディアがキャプチャされている(例えば、ビデオを記録し始める)ことに基づいて第1のメディアを自動的に廃棄することにより、メディアを廃棄するのに必要なユーザ入力の数が低減される。動作を実行するために必要な入力の数が減ることにより、デバイスの操作性が高められ、ユーザ-デバイスインタフェースを(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を付与するのを支援し、ユーザの誤りを減らすことによって)より効率的にし、加えて、ユーザがデバイスをより迅速かつ効率的に使用できるようにすることによって、デバイスの電力使用が抑えられ、バッテリ寿命が改善される。
【0262】
方法1100(例えば、図11)に関して上記したプロセスの詳細はまた、後述/前述の方法にも同様の方法で適用可能であることに留意されたい。例えば、方法1100は、方法700を参照して上記した様々な方法の特性のうちの1つ以上を任意選択的に含む。簡潔にするために、これらの詳細は、以下で繰り返さない。
【0263】
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。これらの実施形態は、本技術の原理、及びその実際の適用を最もよく説明するために、選択及び記載されている。それにより、他の当業者は、意図された具体的な用途に適するような様々な修正を用いて、本技術及び様々な実施形態を最も良好に利用することが可能となる。
【0264】
添付図面を参照して、本開示及び例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び例の範囲内に含まれるものとして理解されたい。
【0265】
上述したように、本技術の一態様は、ジェスチャに基づくメディアキャプチャを実行するための様々なソースから入手可能なデータを収集及び使用することである。本開示は、いくつかの例において、この収集されたデータは、特定の人を一意に特定する個人情報データ、又は特定の人に連絡する若しくはその所在を突き止めるために使用できる個人情報データを含み得ることを想到している。そのような個人情報データとしては、人口統計データ、位置ベースのデータ、電話番号、電子メールアドレス、ツイッターID、自宅の住所、ユーザの健康又はフィットネスのレベルに関するデータ若しくは記録(例えば、バイタルサイン測定値、投薬情報、運動情報)、誕生日、あるいは任意の他の識別情報又は個人情報を挙げることができる。
【0266】
本開示は、本技術におけるそのような個人情報データの使用がユーザの利益になる使用であり得る点を認識するものである。更には、ユーザに利益をもたらす、個人情報データに関する他の使用もまた、本開示によって想到される。例えば、健康データ及びフィットネスデータは、ユーザの全般的なウェルネスについての洞察を提供するために使用することができ、あるいは、ウェルネスの目標を追求するための技術を使用している個人への、積極的なフィードバックとして使用することもできる。
【0267】
本開示は、そのような個人情報データの収集、分析、開示、伝送、記憶、又は他の使用に関与するエンティティが、確固たるプライバシーポリシー及び/又はプライバシー慣行を遵守するものとなることを想到する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し、一貫して使用するべきである。そのようなポリシーは、ユーザによって容易にアクセス可能とするべきであり、データの収集及び/又は使用が変化するにつれて更新されるべきである。ユーザからの個人情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更には、そのような収集/共有は、ユーザに告知して同意を得た後に実施されるべきである。更には、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセスを有する他者が、それらのプライバシーポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。更には、ポリシー及び慣行は、収集及び/又はアクセスされる具体的な個人情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含めた、適用可能な法令及び規格に適合されるべきである。例えば、アメリカ合衆国では、特定の健康データの収集又はアクセスは、医療保険の相互運用性と説明責任に関する法律(Health Insurance Portability and Accountability Act、HIPAA)などの、連邦法及び/又は州法によって管理することができ、その一方で、他国における健康データは、他の規制及びポリシーの対象となり得るものであり、それに従って対処されるべきである。それゆえ、各国の異なる個人データのタイプに関して、異なるプライバシー慣行が保たれるべきである。
【0268】
前述のことがらにもかかわらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も想到する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するように、ハードウェア要素及び/又はソフトウェア要素を提供することができると想到する。例えば、メディアキャプチャアプリケーションの場合において、本技術は、ユーザが、サービスの登録中又はその後のいつでも、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択できるように構成され得る。「オプトイン」及び「オプトアウト」の選択肢を提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを想到する。例えば、ユーザの個人情報データにアクセスすることとなるアプリのダウンロード時にユーザに通知され、その後、個人情報データがアプリによってアクセスされる直前に再びユーザに注意してもよい。
【0269】
更には、本開示の意図は、個人情報データを、非意図的若しくは無許可アクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなった時点で削除することによって、危険性を最小限に抑えることができる。更には、適用可能な場合、特定の健康関連アプリケーションにおいて、ユーザのプライバシーを保護するために、データの非特定化を使用することができる。非特定化は、適切な場合には、特定の識別子(例えば、生年月日など)を除去すること、記憶されたデータの量又は特異性を制御すること(例えば、位置データを住所レベルよりも都市レベルで収集すること)、データがどのように記憶されるかを制御すること(例えば、ユーザ間でデータを集約すること)及び/又は他の方法によって、容易にすることができる。
【0270】
それゆえ、本開示は、1つ以上の様々な開示された実施形態を実装するための、個人情報データの使用を広範に網羅するものではあるが、本開示はまた、そのような個人情報データにアクセスすることを必要とせずに、それらの様々な実施形態を実装することもまた可能であることを想到している。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部分が欠如することにより、実施不可能となるものではない。例えば、メディアコンテンツは、ユーザに関連付けられたデバイスによりリクエストされたコンテンツ、メディアキャプチャインタフェースアプリケーションが使用可能な他の非個人情報、若しくは公的に使用可能な情報などの、非個人情報データ又は個人情報の最小限の量のみに基づいてユーザの意図を推測することにより、キャプチャされ、かつ記憶され得る。
図1A
図1B
図2
図3
図4A
図4B
図5A
図5B
図5C
図5D
図5E
図5F
図5G
図5H
図6A
図6B
図6C
図6D
図6E
図6F
図6G
図6H
図7
図8
図9-1】
図9-2】
図9-3】
図9-4】
図9-5】
図9-6】
図9-7】
図9-8】
図9-9】
図10A
図10B
図10C
図10D
図10E
図10F
図11A
図11B