(58)【調査した分野】(Int.Cl.,DB名)
少なくとも1つのサード・パーティ画像関連アプリケーションを含む複数の実行可能なコード・セグメントを記憶したモバイル・デバイスを動作させる方法であって、前記複数の実行可能なコード・セグメントの各々は、画像をキャプチャ及び/又は処理するよう構成されており、当該方法は、
前記複数の実行可能なコード・セグメントのうちの第1の実行可能なコード・セグメントの起動をリクエストする第1のユーザ入力データを受信するステップと、
前記第1の実行可能なコード・セグメントを起動するステップと、
前記第1の実行可能なコード・セグメントを起動した後、前記複数の実行可能なコード・セグメントの少なくともサブセットを起動するために動作可能な第1のユーザ・インタフェースをユーザに提示するステップと、
起動された前記第1の実行可能なコード・セグメントにおいて、前記第1のユーザ・インタフェースを介して受信された第1のユーザ・リクエストに応答して、リッチ・メディア・フォーマットで記憶された以前に取得されたリッチ・メディア・データからの画像を表示するステップであって、該画像は、起動された前記第1の実行可能なコード・セグメントを介して、前記リッチ・メディア・データの一部を含むフォーマットで表示される、ステップと、
前記リッチ・メディア・データをキャプチャした、前記複数の実行可能なコード・セグメントのうちの第2の実行可能なコード・セグメントであって、前記リッチ・メディア・データの全てを含むフォーマットで、前記リッチ・メディア・データを表示することができる第2の実行可能なコード・セグメントを起動するためのリンクを含む第2のユーザ・インタフェースを前記ユーザに提示するステップと、
前記モバイル・デバイスのタッチ・スクリーンを介して受信された第2のユーザ・リクエストに応答して、前記サード・パーティ画像関連アプリケーションをデフォルト・アプリケーションとして設定するステップと、
を含む、方法。
【発明を実施するための形態】
【0009】
本開示は、限定することを意図しない代表的な実施形態のコンテキストにおいて説明される。
【0010】
本出願及び特許請求の範囲において使用されるとき、単数形の「a」、「an」、及び「the」は、文脈が明確に別なふうに示さない限り、複数形を含む。さらに、「含む(include)」という語は、「備える(comprise)」を意味する。さらに、「結合された(coupled)」という語は、機械的結合、電気的結合、磁気的結合、光的結合とともにアイテムを一緒に結合する又はリンクする他の実用的な形を包含し、結合されたアイテム間の中間要素の存在を排除しない。
【0011】
本明細書において説明される物事及び方法は、限定的なものとして解釈すべきではない。そうではなく、本開示は、単独で並びに様々な組合せ及び下位組合せで開示される様々な実施形態の新規で非自明な特徴及び態様の全てに関する。開示されるシステム、方法、及び装置は、任意の特定の態様若しくは特徴又はそれらの組合せに限定されない、あるいは、開示される物事及び方法は、1以上の特定の効果が提供されることを必要としないし、1以上の特定の課題が解決されることを必要としない。
【0012】
開示される方法のいくつかの動作は、便利なプレゼンテーションのため、特定のシーケンシャルな順番で説明されるが、この形の説明は、特定の順番が以下で説明される具体的な言葉で必要とされない限り、再配置(rearrangement)を包含する。例えば、シーケンシャルに説明される動作は、場合によっては、再配置されてもよいし、省略されてもよいし、又は、同時に実行されてもよい。さらに、単純さの目的上、添付の図面は、開示される物事及び方法が他の物事及び方法とともに使用され得る様々な形を示してはいない。さらに、本記載は、開示される方法を説明するために、「生成する(produce)」、「発生させる(generate)」、「選択する」、「キャプチャする」、及び「提供する」等という語をしばしば使用する。これらの語は、実行される実際の動作の高レベルな抽象概念である。これらの語に対応する実際の動作は、特定の実装に応じて変わり得るものであり、当業者により容易に認識できるものである。
【0013】
開示される方法のいずれも、1以上のコンピュータ読み取り可能な記憶媒体(例えば、(DRAM又はSRAM等の)1以上の揮発性メモリ・コンポーネント又は(ハード・ドライブ等の)1以上の不揮発性メモリ・コンポーネント等の非トランジトリなコンピュータ読み取り可能な媒体)に記憶され、コンピュータ(例えば、スマートフォン又はコンピューティング・ハードウェアを含む他のモバイル・デバイス等の市販のコンピュータ)で実行されるコンピュータ実行可能な命令として実装することができる。開示される技術を実装するコンピュータ実行可能な命令とともに開示される実施形態の実行中に作成され使用されるデータは、1以上のコンピュータ読み取り可能な記憶媒体(例えば、非トランジトリなコンピュータ読み取り可能な記憶媒体)に記憶することができる。コンピュータ実行可能な命令は、例えば、専用ソフトウェア・アプリケーション、又は、ウェブ・ブラウザ又は他のソフトウェア・アプリケーション(リモート・コンピューティング・アプリケーション等)を介してアクセス又はダウンロードされるソフトウェア・アプリケーションの一部とすることができる。そのようなソフトウェアは、例えば、単一のローカル・コンピュータ(例えば、任意の適切な市販のコンピュータ)上で、又は1以上のネットワーク・コンピュータを用いるネットワーク環境で(例えば、インタネット、ワイド・エリア・ネットワーク、ローカル・エリア・ネットワーク、(クラウド・コンピューティング・ネットワーク等の)クライアント・サーバ・ネットワーク、又は他のそのようなネットワークを介して)、実行することができる。
【0014】
開示される方法により、サード・パーティの開発者は、ユーザ・エクスペリエンスを向上させ、基本的なユーザ・インタフェース及びアプリケーション・プログラミング・インタフェース(API)機能を開発者に提供する複数のサービスにアクセスすることができる。それにより、サード・パーティの開発者は、本システムと互換性のあるアプリケーションを効率的に作成することが可能となる。本明細書において使用されるとき、「サービス」という語は、ユーザ・インタフェースを有さず、API等の呼び出しインタフェースを介してプログラム的にアクセスされる呼び出しプロセスのための何らかのタスクを実行するユーティリティ(utility)、ファンクション、又はプログラム・コード・モジュールを指す。
【0015】
明瞭さのため、ソフトウェアベースの実装の所定の選択された態様だけが説明される。当技術分野においてよく知られている他の詳細は省略される。例えば、開示される技術は、特定のコンピュータ言語又はコンピュータ・プログラムに限定されないことを理解すべきである。例えば、開示される技術は、C++、Java(登録商標)、Perl、JavaScript(登録商標)、HTML5、又は任意の他の適切なプログラミング言語で書かれたソフトウェアにより実装することができる。同様に、開示される技術は、特定のコンピュータ又は特定の種類のハードウェアに限定されない。適切なコンピュータ及びハードウェアの所定の詳細はよく知られており、本開示において詳細に説明される必要はない。
【0016】
さらに、(例えば、開示される方法のいずれかをコンピュータに実行させるコンピュータ実行可能な命令を含む)ソフトウェアベースの実施形態はいずれも、アップロードできるし、ダウンロードできるし、あるいは、適切な通信手段を介してリモートからアクセスすることができる。そのような適切な通信手段は、例えば、インタネット、ワールド・ワイド・ウェブ、イントラネット、ソフトウェア・アプリケーション、(ファイバ光ケーブルを含む)ケーブル、磁気通信、(RF、マイクロ波、及び赤外線通信を含む)電磁気通信、電子通信、又は他のそのような通信手段を含む。
【0017】
本開示の装置又は方法に関連して本明細書において提示される動作の理論、科学的原理、又は他の理論的説明が、より良い理解のために提供されるが、これらは、範囲を限定するよう意図するものではない。添付の特許請求の範囲における装置及び方法は、そのような動作の理論により説明される態様で機能する装置及び方法に限定されない。
【0018】
以下の記載において、「上へ」、「下へ」、「より上の」、「より下の」、「水平な」、「垂直な」、「左」、「右」、「重なって」、「上に」、「近くの」等の所定の用語が使用され得る。これらの用語は、適切である場合、相対的な関係を扱うときの明瞭な説明を提供するために使用される。しかしながら、これらの用語は、絶対的な関係、位置、及び/又は向きを示すよう意図するものではない。
【0019】
本開示において使用されるとき、アバブ・ロック(above-lock)は、デバイスがアバブ・ロック状態にある(すなわち、「ロックされている」状態にある)結果、デバイスの少なくともいくつかの機能がユーザに利用可能でないデバイスの状態を意味する。本開示において使用されるとき、ビロウ・ロック(below-lock)は、アバブ・ロック状態においてユーザに利用可能でない追加の機能が利用可能であるデバイスの状態を意味する。さらに、アバブ・ロック認証状態又はビロウ・ロック認証状態と必ずしも相互排他的ではない他の状態を有するデバイスが説明され得る。例えば、いくつかの実施形態では、デバイスは、低電力状態又はアクティブ状態のいずれかにありながら、同時にアバブ・ロック状態にあることがあり得る。同様に、いくつかの実施形態では、デバイスは、ビロウ・ロック状態にありながら、同時に低電力状態又はアクティブ状態にあることがあり得る。
【0020】
ソフトウェア・アプリケーションは、モバイル・デバイスの販売及び人気の駆動力を構成する。モバイル・デバイスのコンピューティング・パワー及び機能は、様々なウェブサイトからダウンロードするために利用可能なアプリケーションをダウンロードして使用するために、しばしば使用される。アプリケーションは、一般に、スポーツ・ニュースを提供する、電子メール(email)にアクセスする、GPS(global positioning system)にアクセスする、ビデオ・ゲームをプレイする、音楽及びビデオを再生する等、様々な機能を実行するためにモバイル・デバイスにダウンロードされモバイル・デバイスで実行される実行可能なプログラムである。
【0021】
本明細書において使用されるとき、「画像関連アプリケーション」という語は、画像をキャプチャ及び/又は処理することができるアプリケーションを指すために使用される。すなわち、画像キャプチャ・アプリケーション及び画像処理アプリケーションの両方が、画像関連アプリケーションと呼ばれ得る。さらに、映像は、静止画像の連続として扱われ得るので、「画像」及び「映像」という語は、文脈が明確に別なふうに示さない限り、しばしば互いに置き換え可能なものとして使用される。
【0022】
前述したように、現在、ユーザは多くの画像キャプチャ・アプリケーションにアクセスすることができ、その結果、異なる状況で使用するために、そのような複数の画像関連アプリケーションをしばしばダウンロードする。そのようなアプリケーションにアクセスするために、ユーザは、通常、モバイル・デバイスに記憶された他の全てのアプリケーションの中から、関心のあるアプリケーションを探さなければならない。他の画像関連アプリケーションだけでなく、他のタイプのアプリケーションとも混ざり合っている特定の画像関連アプリケーションを探すことは、難しいことであり得る。このプロセスは、煩わしく、ユーザが写真を撮る前に必要とされる時間を延ばし得る。これは、都合が悪く、ユーザに所望の画像をキャプチャすることを失敗させてしまうことさえある。
【0023】
開示される技術は、モバイル・デバイス上の画像関連アプリケーションへのアクセスのしやすさに関する。開示される技術の所定の実施形態により、エンド・ユーザは、ボタンのクリックを用いてネイティブ画像関連アプリケーション内の画像関連アプリケーションの全てに容易にアクセスすることが可能になる。別の例示的な手法により、エンド・ユーザは、デバイスがロックされているときでも、画像関連アプリケーションの少なくともサブセットにアクセスすることが可能となる。
【0024】
本ドキュメント全体を通じて画像キャプチャ・アプリケーションへの言及がなされるが、より一般的に開示される技術は、画像を取得することができる任意の実行可能なコード・セグメントに関する。例えば、画像取得機能は、別のアプリケーションにおいてホストされるダイナミック・リンク・ライブラリ(DLL)を用いて実装することができる。
【0025】
I.例示的なモバイル・デバイス
図1は、一般に102で示される多様なオプションのハードウェア・コンポーネント及びソフトウェア・コンポーネントを含む例示的なモバイル・デバイス100を示すシステム図である。モバイル・デバイスにおけるコンポーネント102は、他のコンポーネントと通信することができるが、例示の簡単さのため、全ての接続が示されているわけではない。モバイル・デバイスは、多様なコンピューティング・デバイス(例えば、携帯電話、スマートフォン、タブレット又は他のハンドヘルド・コンピュータ、携帯情報端末(PDA)等)のいずれかとすることができ、セルラ・ネットワーク又はサテライト・ネットワーク等の1以上のモバイル通信ネットワーク104との無線双方向通信を可能にし得る。
【0026】
図示されるモバイル・デバイス100は、信号符号化、データ処理、入力/出力処理、電力制御、及び/又は他の機能といったタスクを実行するためのコントローラ又はプロセッサ110(例えば、信号プロセッサ、マイクロプロセッサ、ASIC、又は他の制御及び処理論理回路)を含むことができる。オペレーティング・システム112は、電力状態、アバブ・ロック状態、及びビロウ・ロック状態を含む、コンポーネント102の割り当て及び使用を制御することができ、1以上のアプリケーション・プログラム114のためのサポートを提供することができる。アプリケーション・プログラムは、共通のモバイル・コンピューティング・アプリケーション(例えば、画像関連アプリケーション、emailアプリケーション、カレンダ、連絡帳マネージャ(contact manager)、ウェブ・ブラウザ、メッセージング・アプリケーション)又は任意の他のコンピューティング・アプリケーションを含み得る。
【0027】
図示されるモバイル・デバイス100は、メモリ120を含むことができる。メモリ120は、取り外し不可能なメモリ122及び/又は取り外し可能なメモリ124を含み得る。取り外し不可能なメモリ122は、RAM、ROM、フラッシュ・メモリ、ハード・ディスク、又は他の周知のメモリ・ストレージ技術を含み得る。取り外し可能なメモリ124は、フラッシュ・メモリ、GSM(登録商標)通信システムにおいてよく知られているSIM(subscriber identity module)カード、又は「スマート・カード」等の他の周知のメモリ・ストレージ技術を含み得る。メモリ120は、オペレーティング・システム112及びアプリケーション・プログラム114を実行するためのデータ及び/又はコードを記憶するために使用することができる。データの例は、ウェブ・ページ、テキスト、画像、音楽ファイル、映像データ、又は、1以上の有線ネットワーク又は無線ネットワークを介して1以上のネットワーク・サーバ又は他のデバイスに対して送信及び/又は受信される他のデータ・セットを含み得る。メモリ120は、国際移動体加入者識別番号(IMSI)等の加入者識別子、及び、国際移動体装置識別番号(IMEI)等の装置識別子を記憶するために使用することができる。このような識別子は、ユーザ及び装置を識別するために、ネットワーク・サーバに送信され得る。
【0028】
モバイル・デバイス100は、ユーザ及び他のソースからの入力に応答するために、1以上の入力デバイス130をサポートし得る。そのような入力デバイスは、タッチ・スクリーン132、マイクロフォン134、カメラ136、物理キーボード138、トラックボール140、及び/又は近接センサ142を含み得る。1以上の出力デバイス150は、スピーカ152、及び1以上のディスプレイ154等を含み得る。他の可能な出力デバイス(図示せず)は、圧電出力デバイス又は触覚出力デバイスを含み得る。いくつかのデバイスは、1つの入力/出力機能を超える機能を提供することができる。例えば、タッチ・スクリーン132及びディスプレイ154は、単一の入力/出力デバイスに結合することができる。
【0029】
いくつかの実装において、様々な入力デバイス130が、ナチュラル・ユーザ・インタフェース(NUI)方法をサポートし得る。NUI方法の例は、スピーチ認識に依拠するもの、タッチ及びスタイラス認識に依拠するもの、スクリーン及びスクリーンの隣接領域(adjacent)上のジェスチャ認識に依拠するもの、エア・ジェスチャ、ヘッド・アイ・トラッキング(head and eye tracking)、音声及びスピーチ、ビジョン(vision)、タッチ、ジェスチャ、並びにマシン・インテリジェンス(machine intelligence)を含む。マイクロソフトが取り組んでいるNUI技術の具体的なカテゴリは、タッチ・センサ式ディスプレイ、音声及びスピーチ認識、目的及び目標の理解(intention and goal understanding)、(立体視カメラ・システム、赤外線カメラ・システム、RGBカメラ・システム、及びこれらの組合せ等の)デプス・カメラを用いたモーション・ジェスチャ検出、加速度計/ジャイロスコープを用いたモーション・ジェスチャ検出、顔認識、3Dディスプレイ、ヘッド・アイ・ゲーズ・トラッキング(head, eye, and gaze tracking)、没入型拡張現実、及び仮想現実システム(これらの全てが、より自然なインタフェースを提供する)とともに、電界検出電極を用いて脳活動を検出する技術(EEG及び関連方法)を含む。
【0030】
無線モデム160は、アンテナ(図示せず)に接続することができ、当技術分野においてはよく理解されているように、プロセッサ110と外部デバイスとの間の双方向通信をサポートし得る。モデム160が一般に示されており、これは、モバイル通信ネットワーク104と通信するためのセルラ・モデム及び/又は他の無線ベースのモデム(例えば、Bluetooth(登録商標)164又はWi−Fi(登録商標)162)を含み得る。無線モデム160は、通常、単一のセルラ・ネットワーク内でのデータ及び音声通信、セルラ・ネットワーク間でのデータ及び音声通信、又はモバイル・デバイスと公衆交換電話網(PSTN)との間のデータ及び音声通信のためのGSM(登録商標)ネットワーク等の1以上のセルラ・ネットワークと通信するために構成される。
【0031】
モバイル・デバイスは、少なくとも1つの入力/出力ポート180、電源182、GPS受信機等のサテライト・ナビゲーション・システム受信機184、加速度計186、ジャイロスコープ(図示せず)、及び/又は物理コネクタ190(USBポート、IEEE 1394(FireWire(登録商標))ポート、及び/又はRS−232ポートとすることができる)をさらに含むことができる。図示されるコンポーネント102は、必ずしも必要なわけではなく、包括的なものであり、任意のコンポーネントを削除してもよいし、他のコンポーネントを付加してもよい。
【0032】
図2Aは、例示的なモバイル・デバイス200の前面
図210を示し、
図2Bは、モバイル・デバイス200の後面
図250を示している。図示されるように、モバイル・デバイス200は、ホーム・ボタン220、電源ボタン222、及びカメラ・シャッタ・ボタン(画像キャプチャ・ボタン)224等のいくつかのハードウェア・ボタンを含む。タッチ・スクリーン・ディスプレイ230も示されており、これは、タッチ・スクリーン・アンロック・ボタン232、タッチ・スクリーン・カメラ・シャッタ・ボタン234、及びロック・モード・インジケータ236を表示している。
【0033】
モバイル・デバイス200は、マイクロフォン240及びスピーカ242とともに、モバイル・デバイスの表面の下に位置する2つの近接センサ246及び248を含む。いくつかの例においては、単一の近接センサ又は3以上の近接センサが使用されてもよい。任意の適切な1以上の近接センサが使用されてよい。いくつかの例において、近接センサ246及び近接センサ248は、赤外線ビームを発し、反射された赤外線ビームを受信する。反射された赤外線ビームは、発せられた赤外線ビームにより照らされている近くの物体の表面で反射されたものである。強度測定又は受信されたビームの他の測定された特性を利用して、物体がモバイル・デバイス200の近くにあるかを判定することができる。
【0034】
他の例においては、カメラ・レンズ260に結合された画像センサを光センサとして使用して、モバイル・デバイス200の近くにある物体を検出することができる。例えば、モバイル・デバイス200の近くにある物体は、カメラ・レンズ260を介して受信された光を用いてCMOS、CCD、又は他の適切な技術に基づく画像センサにより判定することができる。いくつかの例においては、電力消費を低減させるために、近接度をチェックする際、画像センサの少しのロー、カラム、又はピクセルのみアクティブである。
【0035】
モバイル・デバイス200のカメラ・シャッタ・ボタン224は、異なる独立したアクションとしての「ハーフ・プレス」及び「フル・プレス」を検出することができる、専用の2段階アクションのカメラ・シャッタ・ボタンとすることができる。当業者には容易に理解されるように、ハーフ・プレスは、ボタン又は他のコントロールの部分的な作動を指し、フル・プレスは、定められた限界を超えた、ボタン又はコントロールのさらなる作動を指す。いくつかの例において、2段階アクションのカメラ・シャッタ・ボタン224は、次の属性に関連付けられる。ハーフ・プレスが検出されると、オート・フォーカス機能に関連付けられている入力データが、モバイル・デバイスにより受信される。フル・プレスが検出されると、カメラ起動及び画像キャプチャに関連付けられている入力データが受信される。いくつかの例において、エンド・ユーザは、例えば、ディスプレイ230が消えているとき、あるいは、デバイスがスタンバイ・モードにあるときに、カメラ・ボタンのハーフ・プレス又はフル・プレスの結果として生じる入力データが機能を開始するかどうかを決定するためのオプションを設定することができる。カメラ・シャッタ・ボタン224は、モバイル・デバイス200の前面205に位置するものとして示されているが、他の例では、カメラ・シャッタ・ボタンは、別の位置に配置されてもよい。例えば、カメラ・シャッタ・ボタン224は、モバイル・デバイスの(側面206上の)位置225に位置してもよいし、あるいは、(後面207上の)位置226に位置してもよい。
【0036】
図2Bに示される後面
図250に目を向けると、例示的なモバイル・デバイス200は、カメラ・レンズ260及びストロボ265を含む。いくつかの例では、モバイル・デバイス200内にストロボがなくてもよい。個々のコンポーネント(例えば、ハードウェア・ボタン220、222、及び224、マイクロフォン240、スピーカ242、タッチ・スクリーン・ディスプレイ230、カメラ・レンズ260、並びにストロボ265)は、モバイル・デバイス・シャシー(図示せず)に結合され得る。モバイル・デバイス・シャシーは、例えば、1以上のプロセッサ、圧電アクチュエータ、電源、及びモデム等のモバイル・デバイス200の内部コンポーネントに結合される。
【0037】
図2A及び
図2Bに示されるように、ホーム・ボタン220、電源ボタン222、カメラ・シャッタ・ボタン224、カメラ・レンズ260、ストロボ265、近接センサ246及び248、並びにフォトダイオード280等のモバイル・デバイス200上のコンポーネントの配置においてなされ得るいくつかの考慮事項が存在する。例えば、カメラ・シャッタ・ボタン224の配置により、画像をキャプチャするときに、ユーザが、モバイル・デバイス200を景観位置(landscape position)に自然に配置させることができること、又はそのような位置に配置させるよう促すことが望ましい。また、ボタンの操作が人さし指又は親指を用いて容易になるよう、カメラ・シャッタ・ボタン224が配置されることが望ましい。例えば、図示されるカメラ・シャッタ・ボタン224は、景観位置にあるモバイル・デバイス200を用いて画像をキャプチャする間、ユーザの右手の親指を用いて容易にアクセスされ得る。他の例においては、カメラ・シャッタ・ボタン224は、例えば、位置225又は位置226といった他の適切な位置に移すことができる。また、カメラ・シャッタ・ボタン224及び/又は電源ボタン222は、画像キャプチャ・アプリケーションが気付かずに起動されてしまう機会を軽減するために、偶発的な作動を避けるよう位置されることが望ましい。
【0038】
本明細書におけるボタンへの言及は、物理ボタン又は仮想ボタンを指し得ることに留意すべきである。さらに、より一般的に言えば、ユーザ入力データを受信するために、ボタンの代わりに、任意の適切なユーザ・インタフェースが設けられてもよい。
【0039】
II.例示的なモバイル・デバイス画像キャプチャ・アプリケーション
図3は、モバイル・デバイスに接続されたカメラ(図示せず)を用いて画像315をキャプチャした後の例示的なモバイル・デバイス300の前面
図310を示している。画像は、ネイティブ・アプリケーション又はサード・パーティ・アプリケーションを用いてキャプチャされ得る。図示されるように、モバイル・デバイス300のディスプレイ305は、ボタン又はコントロール330、332、384、336、338、370、372、374、376、及び378を含み、これらを使用して、画像キャプチャ機能を制御することができる。これらのコントロールは、静止画像キャプチャ・モード・ボタン330(静止キャプチャが現在選択されているキャプチャ・モードであることを示すためにハイライトされている)、映像キャプチャ・モード・コントロール332、ズームイン・コントロール384、ズームアウト・コントロール336、オプション・コントロール・ボタン338、email画像ボタン370、画像保存ボタン372、画像アップロード・ボタン374、画像削除ボタン376、及びアプリケーション起動ボタン378を含む。
【0040】
モバイル・デバイス300は、カメラ・シャッタ・ボタン342、検索ボタン344、ホーム・ボタン346、及びバック・ボタン348等のいくつかのハードウェア・ボタンも含む。カメラ・シャッタ・ボタン342は、モバイル・デバイスの側面に位置し、検索ボタン344、ホーム・ボタン346、及びバック・ボタン348は、モバイル・デバイスの前面に位置している。これらのハードウェア・ボタン342、344、346、及び348は、モバイル・デバイス300を用いて様々な操作を呼び出し、且つ/又は実行するために使用することができる。例えば、カメラ・シャッタ・ボタン342は、画像キャプチャ・アプリケーションに加えて、オート・フォーカス及び/又はカメラ・シャッタの操作等の画像キャプチャ・アプリケーション内の制御機能を呼び出し、且つ/又は実行するために使用することができる。検索ボタン344は、データを検索するためのユーザ・インタフェースを呼び出し、且つ/又は実行するために使用することができる。ホーム・ボタン346は、例えば、モバイル・デバイス300をホーム・スクリーン状態に設定することにより、又は割り当てられた他の機能を呼び出すことにより、モバイル・デバイス300上のソフトウェア機能をナビゲートするために使用することができる。バック・ボタン348は、例えば、モバイル・デバイス300を用いて閲覧された以前にリクエストされたオブジェクトをリクエストすることにより、ソフトウェア機能をナビゲートするために使用することができる。
【0041】
アプリケーション起動ボタン378は、モバイル・デバイス上でユーザに利用可能な全ての画像関連アプリケーションをリストする又は提示する画像関連アプリケーション・スクリーンを起動又は実行するために使用される。エンド・ユーザは、スクリーンから直接アプリケーションを起動又は実行することができる。これら画像関連アプリケーションは、ネイティブ画像関連アプリケーション及びサード・パーティ画像関連アプリケーションの両方を含み得る。このようにして、アプリケーション起動ボタン378は、全ての利用可能な画像関連アプリケーションへのコンテキスト内エントリ・ポイントとして機能する。それにより、エンド・ユーザは、1つの画像関連アプリケーションから別の画像関連アプリケーションへ容易に切り替えることが可能となる。画像関連アプリケーションのこの提示に含まれるアプリケーションでは、開発者は、画像関連アプリケーション・スクリーンを起動する適切なAPIコール等を画像関連アプリケーションに含めることが要求され得る。
【0042】
図4は、ボタン378を押した後のモバイル・デバイス400のディスプレイ上でユーザに提示され得る画像キャプチャ・スクリーン405の例を示している。この例でリストされている画像関連アプリケーションは、ネイティブ・カメラ・アプリケーション、Panorama、Contoso、Litware、Superlense、Bing Vision、Fabrikam、Night Cam、及びProsware Liteを含む。全ての利用可能な画像関連アプリケーションへの単一のエントリ・ポイントとして機能することに加えて、画像関連アプリケーション・スクリーン405は、エンド・ユーザが他の機能を実行することを可能にする。例えば、図示されるように、(
図4において、「find more camera apps」として示される)リンクが提供され得る。このリンクは、ユーザをアプリケーション・マーケットプレースに向かわせ、ユーザは、このアプリケーション・マーケットプレースからさらなる画像関連アプリケーションを購入又は取得することができる。さらに、いくつかの実施形態では、スクリーン405により、ユーザは、サード・パーティ・アプリケーションを含む画像関連アプリケーションのうちの1つを、デフォルト・アプリケーション又は「お気に入り」の短いリストの1つとして指定することができる。
【0043】
再度
図3を参照すると、モバイル・デバイス300は、例示的な「カメラ・ロール」アプリケーションを表示している。このアプリケーションによって、ユーザは、矢印392により示される方向に指390をスライドさせることにより、以前にキャプチャされた画像(例えば、画像315及び画像360)を見ることが可能となる。このアプリケーションは、ディスプレイ305を横切る指の動きの方向に、画像315及び画像360を動かす。図示されるように、カメラ・ロール・メタファ(camera roll metaphor)を強調するために(例えば、伝統的なフィルム・カメラに類似して細長く画像を表示する)、フィルム「スプロケット・ホール(sprocket hole)」を画像315及び画像360上に表示することができる。カメラ・ロールを用いることにより、ユーザは、タッチ・スクリーンを横切るように指をスワイプさせることが可能となり、それにより、スワイプ(又はドラッグ又はフリップ)の方向に画像を動かすことができ、ユーザは、以前に撮影された写真を見ることが可能となる。
【0044】
図3及び
図4に関連して上述したコントロールが、タッチ・スクリーン上に表示されるものとして示されているが、コントロールのいくつか又は全ては、ハードウェア・ボタン、又は前述したNUIを含む他のユーザ・インタフェース・デバイスを用いて実装することができる。
【0045】
前述したように、いくつかの実装において、エンド・ユーザは、デバイスがロックされているときでも、(物理的又は仮想的)ボタンのクリックを用いて、画像関連アプリケーションのいくつか又は全てにアクセスすることができる。すなわち、これらの実施形態では、ボタン378を使用して、アバブ・ロック・モードにおいて、画像関連アプリケーションのうち予め定められた画像関連アプリケーションにアクセスすることができる。いくつかの実施形態では、アバブ・ロックのときに利用可能な画像関連アプリケーションは、エンド・ユーザにより、又は、エンタープライズ環境においてはコーポレートIT部門により、指定することができる。
【0046】
図6は、カメラがアバブ・ロック・モードにあるときに、アプリケーション起動ボタン378を押した後にユーザに提示され得るモバイル・デバイス400上のスクリーン420の例を示している。知覚可能なアイコンが、アバブ・ロックのときに利用可能でない画像関連アプリケーションに重ね合わされる。この例では、Superlenseアプリケーション及びFabrikamアプリケーションが、アバブ・ロックのときに利用可能でない。
【0047】
図5に示されるように、モバイル・デバイスに接続されたカメラ(図示せず)を用いて画像をキャプチャした後のモバイル・デバイス300が示されており、このデバイスは、アバブ・ロック・モードにあった。図示されるように、モバイル・デバイス300のディスプレイ305は、ビロウ・ロック・モードにおいて利用可能な画像キャプチャ機能のサブセットを制御するために使用することができるコントロール330、332、334、336、及び338とともに、アバブ・ロック・インジケータ320も含む。ビロウ・ロック・モードにおいて利用可能な他のコントロール(
図3参照)は、アバブ・ロック・モードにおいて利用可能でないことに留意すべきである。詳細には、この例において、email画像ボタン370、画像保存ボタン372、画像アップロード・ボタン374、及び画像削除ボタン376は、アバブ・ロック・モードにおいて利用可能でない。しかしながら、この例において、アプリケーション起動ボタン378は、アバブ・ロック・モードにあるときにモバイル・デバイス上でユーザに利用可能な全ての画像関連アプリケーションを提示するスクリーンを起動するために、アバブ・ロックのときでも利用可能である。
【0048】
モバイル・デバイスがアバブ・ロック状態にあるときに画像関連アプリケーションにより許可され得る機能の例は、次のうちの1以上を含み得る:写真キャプチャ、映像キャプチャ、最も直近にキャプチャされた写真(すなわち、「確認画像(confirmation image)」)の表示、及び、フラッシュ、ズーム、オート・フォーカス、ホワイト・バランス、及び他のそのような画像操作等の画像キャプチャ設定の調整を提供するための、画像関連アプリケーションのファインダ(キャプチャ・モード)に関連付けられた機能。アバブ・ロック状態における利用可能なファインダ機能は通常、許可されたユーザによりアクセスされた場合にユーザのプライバシを侵さない操作を含む。
【0049】
さらに、ビロウ・ロック状態において通常利用可能な他の機能は、アバブ・ロック状態において無効にされ得る。例えば、画像の自動アップロードは、偶発的に又は好ましくない形でキャプチャされた写真がリモート・サーバ又はコンピューティング・クラウドにアップロードされるのを防ぐために、アバブ・ロック状態において無効にされ得る。無効にされ得る他の機能は、画像削除、画像送信、画像使用(use as)、画像ギャラリの閲覧、及び他のそのような私的画像操作を含む。
【0050】
画像関連アプリケーション又は画像関連アプリケーションにより提供される所定の機能は、それがアバブ・ロック・モードにおいて利用可能でないモバイル・デバイスの他の能力を必要とする場合、アバブ・ロックのときには利用可能となり得ない。例えば、画像関連アプリケーションが電子メール・アプリケーション又は連絡帳アプリケーションへのアクセスを必要とする場合(それらのアプリケーション自体、アバブ・ロック・モードにおいて利用可能でない)、これが起こり得る。
【0051】
いくつかの例において、ユーザは、アバブ・ロックされていて制限された機能の画像関連アプリケーションから、認証スクリーンに進むことができ、無事に認証された後、ビロウ・ロック状態にあるときのみ利用可能な完全な機能のアプリケーションに戻ることができる。
【0052】
III.例示的なモバイル・デバイス設定
図7は、オプション・スクリーン430を表示しているモバイル・デバイスの例を示している。オプション・スクリーン430は、必要であればどの画像関連アプリケーションがアバブ・ロックのときに利用可能となり得るかをユーザが指定することを可能にするメニューを提供する。この例において、エンド・ユーザは、Superlenseアプリケーションがアバブ・ロックのときに利用可能であることを示した。さらに、セキュリティの理由上、ITポリシは、パスワードを用いたときのみNight Camアプリケーションが利用可能となることを要求している。したがって、このアプリケーションはグレー・アウトされており、エンド・ユーザは、アバブ・ロックのときに使用するためにこのアプリケーションを選択することができない。
【0053】
IV.リッチ・メディア・データを使用する画像関連アプリケーション
例えば、JPEG及びMP4等の基本的な映像フォーマットのデータを取得する画像関連アプリケーションのみならず、取得された画像に関連付けられた追加のバッキング・データ(backing data)を取得して記憶する画像関連アプリケーションも現在利用可能である。例えば、3次元画像をレンダリングする画像関連アプリケーションは、一般に、JPEGデータと、該JPEGデータから3次元モデルを形成するために使用されるバッキング・データとを記憶する。同様に、パノラマ画像をレンダリングする画像関連アプリケーションは、一般に、JPEGデータと、1以上のJPEG画像からパノラマ画像を形成するために使用されるバッキング・データとを記憶する。したがって、リッチ・メディア・データと呼ばれることがある関連バッキング・データとともに基本的な映像データを使用して、意図するように画像を表現する(例えば、3次元画像又はパノラマ画像のように)。
【0054】
開示される技術のいくつかの実施形態において、ユーザが以前にキャプチャされた画像を見ることを可能にするカメラ・ロールは、基本的な画像及び映像フォーマットのうちの1つのフォーマットでしか、データを保存して提示することができない。結果として、カメラ・ロールは、リッチ・メディア・データを用いて意図するように画像をレンダリングすることができない。むしろ、カメラ・ロールは、リッチ・メディア・データの基本的な画像及び映像フォーマット部分を使用する表現しかレンダリングすることができない。この場合、カメラ・ロールは、画像を取得した画像関連アプリケーションへ戻るリンクとともに、基本的な(例えば、JPEG、MP4)表現をユーザに提示することができる。例えば、
図10は、画像をキャプチャしたアプリケーション(「3D画像アプリケーション」)へ戻るリンク645とともに、リッチ・メディア画像の基本的な表現を示している。このようにして、ユーザは、画像関連アプリケーションにより、画像の完全なリッチ・メディア表現を迅速に見ることができる。さらに、このようにして、カメラ・ロールは、画像がリッチ・メディア・データを含んでいようといまいと、全ての画像に対する単一のエントリ・ポイントとして機能することができる。結果として、ユーザは、単に画像を取得したアプリケーションを見つけるためにモバイル・デバイス上で利用可能な全てのアプリケーションを検索する必要なく、画像の完全な表現をレンダリングすることができる。リッチ・メディア・データが基本的な表現のデータとは別に記憶されている場合、何らかのスキームを使用して(例えば、一意な識別子を使用して)、リッチ・メディア表現がレンダリングされるときに、2つのタイプのデータを再度関連付けることができる。
【0055】
元のアプリケーションにアクセスすることなく基本的な表現を見ることに加えて、ユーザは、従来の共有アプリケーションを用いて基本的な表現を共有することができる。
【0056】
V.ロック・スクリーン及び認証スクリーン
上述したように、所定の画像関連アプリケーション及び/又は所定の画像関連アプリケーションにより提供されるいくつかの機能は、アバブ・ロック・モードにおいて利用可能とはなり得ない。ユーザが、アバブ・ロックのときにそのようなアプリケーション又は機能にアクセスすることを試みる場合、アプリケーションは、ビロウ・ロック・モードに切り替わるためのアンロック・ダイアログ・ボックスAPIへの呼び出しを行うことができる。この呼び出しが、ユーザがモバイル・デバイスをアンロックすることを可能にする1以上のスクリーンを起動させる。そのようなスクリーンの例が、
図8A及び
図8Bに示されている。
【0057】
図8Aは、アンロック・スライダ・コントロール520を含むロック・スクリーン515を表示しているタッチ・スクリーン・ディスプレイ510を有するモバイル・デバイス500を示している。モバイル・デバイス・ユーザは、デバイスに例えば
図8Bに示されるような認証スクリーンを提示するようリクエストするために、アンロック・スライダ・コントロール520を用いて、表示された矢印により示される方向に指525をスライド/ドラッグすることができる(指の動きは、矢印522により示される方向に行う)。
図8Bに示される認証スクリーンはPINパッドを使用するが、例えば、指紋又は音声認識等の他の技術を使用してもよい。
【0058】
図8Bは、ユーザがアンロック・スライダ・コントロール520上で指をスライドさせた後の
図8Aのモバイル・デバイス500を示している。図示されるように、モバイル・デバイス500は、タッチ・スクリーン・ディスプレイ510上のPINパッド540を含む認証スクリーン530を提示する。ユーザは、PINパッド540上で指550を用いて、PIN(例えば、4桁の数字)を入力することができる。入力されたPINが記憶されたPINと合致した場合、ユーザは無事に認証され、デバイスはビロウ・ロック状態(ロックされていない状態)に入ることができる。
【0059】
デバイスがビロウ・ロック状態に入ると、ユーザは、アバブ・ロック状態においてアクセスしようとしていたアプリケーションに戻されることになる。しかしながら、この時点で、アプリケーションの完全な機能が利用可能となる。
【0060】
VI.画像関連アプリケーションの例示的な起動
図9は、複数の画像関連アプリケーションを記憶したモバイル・デバイスを動作させる例示的な方法の概要を示すフローチャート600である。プロセス・ブロック610において、アプリケーションの起動をリクエストするユーザ入力データが受信される。例えば、モバイル・デバイスは、1以上のハードウェア・ボタン、タッチ・スクリーン、マイクロフォン、又はNUI等の入力ソースから、入力データを受信することができる。リクエストされたアプリケーションは、カメラ又は映像キャプチャ・アプリケーション等の画像関連アプリケーションである。判断ブロック620において、モバイル・デバイスがビロウ・ロック状態にあるか又はアバブ・ロック状態にあるかに関する判定がなされる。モバイル・デバイスがビロウ・ロック状態にある場合、ブロック630において、アプリケーションが起動される。モバイル・デバイスがアバブ・ロック状態にある場合、ユーザ又は他のパーティが、アプリケーションをアバブ・ロックのときに利用可能なものとして指定したかに関する判定がなされる。この指定は、ユーザにより、適切な設定又はオプション・コントロールを介してなされ得る。アプリケーションがアバブ・ロックのときに利用可能な場合、ブロック680において、アプリケーションが実行又は起動される。アプリケーションがアバブ・ロックのときに利用可能であるとしても、ユーザは、その機能のサブセットのみ利用可能になることを指定する。アプリケーションがアバブ・ロックのときに利用可能でない場合、ブロック650において、ユーザがビロウ・ロック状態に入るオプションを有するユーザ・インタフェースが、ユーザに提示され得る。いくつかの例において、ユーザ・インタフェースは、キー、ボタン、又は、タッチ・スクリーン上でのキー・プレス又はタッチ・スクリーン・ジェスチャのセットとすることができる。ユーザがビロウ・ロック状態に入らなかった場合、アプリケーションを実行することができず、プロセスはブロック670において終了する。一方、ユーザがビロウ・ロック状態に入ることを決定した場合、ブロック680において、アプリケーションが起動される。アプリケーションが起動されると、ブロック690において、アプリケーションは、ユーザが任意の他の利用可能な画像関連アプリケーションにアクセスすることができるユーザ・インタフェースを提示する。ユーザ・インタフェースは、例えば、キー、ボタン、又は、タッチ・スクリーン上でのキー・プレス又はタッチ・スクリーン・ジェスチャのセットとすることができる。
【0061】
開示された方法、装置、及びシステムは、限定的なものと解釈すべきではない。そうではなく、本開示は、単独で並びに様々な組合せ及び下位組合せで開示された様々な実施形態の新規で非自明な特徴及び態様の全てに関する。開示された方法、装置、及びシステムは、任意の特定の態様若しくは特徴又はそれらの組合せに限定されない、あるいは、開示された実施形態は、1以上の特定の効果が提供されることを必要としないし、1以上の特定の課題が解決されることを必要としない。本出願において説明した技術及び解決法は、スマートフォン等のモバイル・デバイスにより向上したユーザ・エクスペリエンスを提供するために、様々な組合せで使用することができる。
【0062】
本明細書において説明した方法はいずれも、そのような方法を実行する(例えば、そのような方法をコンピューティング・デバイスに実行させる)ためのコンピュータ実行可能な命令を含む(例えば、有する又は記憶する)1以上の非トランジトリなコンピュータ読み取り可能な媒体(例えば、記憶媒体又は他の有体の媒体)を介して実行することができる。動作は、完全に自動であってもよいし、半自動であってもよいし、又は手作業の介入を含んでもよい。
【0063】
詳細な説明及び添付の図面において、我々のイノベーションの原理について記載し図示したが、そのような原理から逸脱することなく、様々な実施形態が配置及び詳細において変更できることが認識されよう。例えば、静止写真をキャプチャするための、本明細書で説明した技術は、映像をキャプチャするために適用することもできる。本明細書で説明したプログラム、プロセス、又は方法は、別なふうに示されない限り、特定のタイプのコンピューティング環境に関連しないし、あるいは、限定されないことを理解すべきである。本明細書において説明した教示に従った動作とともに、又は該動作を実行する様々なタイプの汎用コンピューティング環境又は専用コンピューティング環境が使用され得る。ソフトウェアにおいて示される実施形態の要素は、ハードウェアにより実装することができるし、ハードウェアにおいて示される実施形態の要素は、ソフトウェアにより実装することができる。
【0064】
開示された本発明の原理を適用することができる多くの可能な実施形態を考慮すると、例示された実施形態は、本発明の好ましい例に過ぎず、本発明の範囲を限定するものとして解釈すべきではないことを認識すべきである。そうではなく、本発明の範囲は、特許請求の範囲により定められる。したがって、我々は、請求項及びその均等の範囲内にある全てを我々の発明として特許請求する。