以下の詳細な説明において、本明細書の一部をなす添付の図面が参照される。図面において、同様の参照符号は、図面を通して同様の部分を示し、実施され得る実施形態が、例示として示されている。他の実施形態が使用され得、本開示の範囲から逸脱することなく、構造的又は論理的な変更がなされ得ることを理解されたい。したがって、以下の詳細な説明は、限定的な意味に解釈されるべきではなく、実施形態の範囲は、請求項及びそれらの均等の構成によって規定される。
特許請求される主題を理解するのに最も役に立つ形で、さまざまな動作が、複数の別個のアクション又は動作として順番に記載され得る。しかしながら、記載の順番は、これらの動作が必ず順番に依存するものであることを暗示するものとして解釈されるべきではない。詳細には、これらの動作は、提示の順番で実行されないこともある。記載する動作は、記載する実施形態とは異なる順番で実行されることもある。さまざまなさらなる動作が実行されることもあるし、且つ/あるいは、記載する動作がさらなる実施形態において省略されることもある。
本開示において、「A又はB」及び「A及び/又はB」という語句は、(A)、(B)、又は(A及びB)を意味する。本開示において、「A、B、及び/又はC」という語句は、(A)、(B)、(C)、(A及びB)、(A及びC)、(B及びC)、又は(A、B、及びC)を意味する。本記載において、同一の又は異なる実施形態のうちの1以上をそれぞれ指すことがある、「一実施形態において」又は「実施形態において」という語句が使用され得る。さらに、「備える(comprising)」、「含む(including)」、「有する(having)」等といった用語は、本開示の実施形態に関して使用される場合、同義語である。
「モジュール」及び/又は「ロジック」という用語は、本明細書において使用される場合、1以上のソフトウェアプログラム又はファームウェアプログラムを実行する特定用途向け集積回路(「ASIC」)、電子回路、プロセッサ(共用、専用、又はグループ)、及び/又はメモリ(共用、専用、又はグループ)、組み合わせロジック回路、及び/又は記載する機能を提供する他の適切なハードウェアコンポーネントの一部を指し得る、又は、これらを含み得る。
さまざまな実施形態において、ポータブル電子デバイスは、ビジュアルファイル要求部を含み得る。ビジュアルファイル要求部は、ポータブル電子デバイスのディスプレイ上に、提供側コンピューティングデバイスに接続されている別のディスプレイの画像を提示するよう構成され得る。画像は、提供側コンピューティングデバイスにおいてホスト又は記憶されているファイルの表現を含み得る。ビジュアルファイル要求部は、ポータブル電子デバイスのディスプレイ上に表現が配置された、画像の位置の選択を検出するよう構成され得る。次いで、ビジュアルファイル要求部は、画像及び選択の記述(例えば、画像上の画素座標)を、ポータブル電子デバイスの送信部を介して、ファイルが記憶されている提供側コンピューティングデバイスに対して、無線で送信させることができる。
画像及び選択の記述の受信に応答して、提供側コンピューティングデバイスは、ビジュアルファイル提供部にアクセスすることができ、且つ/又はビジュアルファイル提供部を呼び出すことができる。ビジュアルファイル提供部は、受信された画像及び選択の記述に基づいて、提供側コンピューティングデバイスに記憶されているファイルを特定するよう構成され得る。さまざまな実施形態において、ビジュアルファイル提供部は、画像位置合わせ、特徴検出、及び/又は、例えば拡張現実に関連する他の画像処理方法により、提供側コンピューティングデバイスに接続されているディスプレイ上に提示されたコンテンツに画像をマッピングするよう構成され得る。一実施形態において、ビジュアルファイル提供部は、1以上のファイルについてのデータ(例えば、メタデータ)にアクセスし、該データと、選択の記述によって示された、画像に含まれる、ファイルの表現と、を比較又は照合するよう構成され得る。次いで、ビジュアルファイル提供部は、提供側コンピューティングデバイスに接続されている送信部を介して、特定されたファイルをポータブル電子デバイスに対して無線で送信させることができる。
最初に図1を参照すると、ブロック図は、さまざまな実施形態に従った、ポータブル電子デバイス110からの要求に応答して、コンピューティングデバイス150からファイルを無線で送信するためのシステム100を示している。システム100は、ポータブル電子デバイス110、コンピューティングデバイス150、及びネットワーク130を含むが、これらに限定されるものではない。本開示のビジュアルファイル要求機能を除き、ポータブル電子デバイス110は、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドデバイス、ポータブルウェブ対応機器、ゲーム機、携帯電話機、スマートフォン、電子書籍リーダ、携帯情報端末、又はネットワーク130を介して通信するよう動作可能な任意のコンピューティングデバイス等、データを送受信するよう構成されている任意のタイプのポータブルコンピューティングデバイスであってよい。実施形態に従うと、ポータブル電子デバイス110は、コンピューティングデバイス150にて記憶又はホストされているファイルの画像を表示するよう構成され得る。さまざまな実施形態において、表示される画像は、コンピューティングデバイス150に接続され、ファイルの表現を提示するディスプレイ155の画像であり得る。ファイルは、例えば、テキスト文書、画像ファイル、ビデオファイル、オーディオファイル、又はディスプレイ155にて提示されるファイルの表現を有するのに適した実質的に任意の他のタイプのディジタルファイル等、任意のディジタルファイル、文書、又は同様のリソースであり得る。例えば、コンピューティングデバイス150におけるアプリケーションは、例えば、テキスト文書を提示し、ディジタル画像を提示し、オーディオファイルに関連する情報を追跡するよう構成されている命令セットであり得る。実施形態に従うと、ポータブル電子デバイス110は、ディスプレイ155上に提示されたファイルの表現をキャプチャするよう構成されているカメラに接続され得る、又はこのようなカメラを統合したものであり得る。ポータブル電子デバイス110は、ネットワーク130を介してコンピューティングデバイス150に対してファイルを要求するビジュアルファイル要求機能を含み得る。
ポータブル電子デバイスは、ネットワーク130を介するシステム間通信用に構成され得る。ネットワーク130は、パブリックネットワーク、プライベートネットワーク、及び/又は異なるタイプのネットワークの組み合わせであり得る。多くの実施形態において、ネットワーク130は、無線ネットワークであり得る。ネットワーク130は、ローカルエリアネットワーク(「LAN」)、インターネット等のワイドエリアネットワーク(「WAN」)、パーソナルエリアネットワーク(「PAN」)、ピアツーピアネットワーク、無線セルラネットワーク(例えば、セルラデータネットワーク)、又はこれらの組み合わせとして実装され得る。さまざまな実施形態において、ネットワーク130は、1以上のアクセスポイント、1以上のルータ、及び他のネットワークデバイス等、ネットワーク130の実装に寄与する1以上のコンポーネントを含み得る。
ネットワーク130は、ポータブル電子デバイス110をコンピューティングデバイス150に通信可能に接続することができる。本開示のビジュアルファイル提供機能を除き、コンピューティングデバイス150は、ネットワーク130を介してポータブル電子デバイス110に1以上のファイルを無線で送信するよう構成されるコンピューティングデバイスに組み入れられる任意の構成のハードウェア及びソフトウェアを含み得る。実施形態に従うと、コンピューティングデバイス150は、パーソナルコンピュータ(例えば、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、又はタブレットコンピュータ)、ワークステーション、ハンドヘルドデバイス、ウェブ対応機器、ゲーム機、携帯電話機、スマートフォン、携帯情報端末、電子書籍リーダ、又は任意の他の同様のコンピューティングデバイス等、データを送受信するよう構成されている任意のタイプのコンピュータシステムであり得る。
コンピューティングデバイス150は、バス又はケーブル(例えば、ディジタルビジュアルインタフェースケーブル、高精細度マルチメディアインタフェースケーブル等)であり得る回路152を介してディスプレイ155に接続され得る、且つ/又はそのようなディスプレイ155を統合したものであり得る。さまざまな実施形態において、コンピューティングデバイス150は、ディスプレイ155にてファイルの表現を提示するよう構成されている、オペレーティングシステム、1以上のソフトウェアアプリケーション、及び/又は、ハードウェア(例えば、専用ハードウェア)を含み得る。このようなオペレーティングシステム、アプリケーション、及び/又はハードウェアは、さらに、ネットワーク130を介して、ポータブル電子デバイス110にファイルを送信し、ポータブル電子デバイス110からファイルの要求を受信するための、本開示のビジュアルファイル提供機能とともに構成され得る。
次に図2を参照すると、ブロック図は、さまざまな実施形態に従った、画像及び画像上の選択の記述を別のコンピューティングデバイスに無線で送信してファイルを要求するよう構成されているビジュアルファイル要求部214を含むポータブル電子デバイス200を示している。ポータブル電子デバイス200は、図1のポータブル電子デバイス110であってもよいし、図1のポータブル電子デバイス110に含められてもよい。
ポータブル電子デバイス200は、メインメモリ210、ストレージ220、プロセッサ218、ユーザインタフェース222、ディスプレイ224、通信モジュール230、及び/又はカメラ227を含むが、これらに限定されるものではない。これらのコンポーネントは、バス219を介して通信可能に接続され得る。バス219は、ポータブル電子デバイス200内でデータを転送するよう構成されている任意のサブシステムであり得る。バス219は、複数のコンピュータバスに加えて、ポータブル電子デバイス200内でデータを転送するよう構成されているさらなる回路を含み得る。
別のコンピューティングデバイス(図示せず)とデータを通信するために、ポータブル電子デバイス200は、通信モジュール230を含む。通信モジュール230は、外部コンピューティングデバイスからネットワーク(図示せず)を介して、ポータブル電子デバイス200によって処理されるデータを受信することができる。一方で、通信モジュール230は、ネットワークを介してデータを送信することもできる。通信モジュール230は、ハードウェア、ソフトウェア、又はこれら2つの組み合わせにより実装され得、例えば、ネットワークカード、ネットワークアクセスコントローラ、及び/又は1以上の他のネットワークインタフェースコントローラ等のコンポーネントを含み得る。通信モジュール230は、ポータブル電子デバイス200用の命令を実行するプロセッサ218に通信可能に接続される。一実施形態において、通信モジュール230用の命令の一部又はすべては、プロセッサ218によって実行される。
さまざまな実施形態において、通信モジュール230は、1以上のプロトコル又はインタフェースのために構成されている回路を含み得る。例えば、通信モジュール230は、無線LAN、WiMax(登録商標)、Wi−Fi(登録商標)、進化型高速パケットアクセス(「HSPA+」)等、無線インターネット及び/又はブロードバンドアクセスのうちの少なくとも1つのために構成されている回路を含み得る。実施形態に従うと、通信モジュール230は、Bluetooth(登録商標)、Flashlinq、無線周波数識別(「RFID」)、Wi−Fi(登録商標) Direct、IrDA、近距離無線通信(「NFC」)等のうちの1以上といった1以上の短距離通信のために構成されている回路を含み得る。いくつかの実施形態において、通信モジュール230は、第三世代(「3G」)、ロングタームエボリューション(「LTE」)、LTEアドバンスト(「LTE−A」)、及び/又は第三世代パートナーシッププロジェクト(「3GPP」)により頒布された別の規格等の少なくとも1つの規格に従ったセルラ音声通信及び/又はデータ通信のために構成されている回路を含み得る。
さまざまな実施形態において、通信モジュール230は、ポータブル電子デバイス200が別のコンピューティングデバイスとの間でデータを送受信できるように、ポータブル電子デバイス200を別のコンピューティングデバイスとペアリングする又はポータブル電子デバイス200を別のコンピューティングデバイスに対して登録するサービスを含み得る。さまざまな実施形態において、このペアリング又は登録は、短距離通信(例えば、Bluetooth(登録商標)、Wi−Fi(登録商標) Direct、NFC等)、無線ブロードバンド(アクセスポイント、ルータ等を介したデータの伝送を含み得る)、セルラデータネットワーク(アクセスポイント、ノード等を含み得る)、及び/又は通信プロトコルの組み合わせを介して生じ得る。さまざまな実施形態において、このサービスは、ポータブル電子デバイス200の1以上の特性を別のコンピューティングデバイスに送信するよう構成され、該特性は、ポータブル電子デバイス200に合わせてファイルを適応させるために別のコンピューティングデバイスによって使用され得る。通信モジュール230のサービスを介して送信されるこの特性情報は、例えば、ディスプレイ224の解像度、オペレーティングシステム217のバージョン、アプリケーション211のインジケーション、又はポータブル電子デバイス200に関連する実質的に任意の他の情報を含み得る。
データを受信するさらなる手段として、ポータブル電子デバイス200は、ユーザからの入力を受けるためのユーザインタフェース222を含み得る。ユーザインタフェース222は、さまざまな実施形態に従って、さまざまな手段を介してポータブル電子デバイス200とユーザがインタラクトできるようにし得るものであり、例えば、ユーザインタフェース222は、グラフィカルユーザインタフェースとして又はコマンドラインインタフェースを介して、ディスプレイ224上にてユーザに提示され得る。ユーザ入力を受けるために、ユーザインタフェース222は、ハードウェア、ソフトウェア、又はこれらの2つの組み合わせにより実装され得、ユーザ入力に適した1以上のハードウェアデバイス(例えば、キーボード、マウス、タッチスクリーン、又はジェスチャ認識)を含み得る、又はこのような1以上のハードウェアデバイスに通信可能に接続され得る。さらに、ユーザインタフェース222用の命令の一部又はすべては、プロセッサ218によって実行され得る。
プロセッサ218は、メインメモリ210からの命令等の命令を実行するのに適した任意のプロセッサであり得る。したがって、プロセッサ218は、例えば、中央処理装置(「CPU」)、マイクロプロセッサ、又は別の同様のプロセッサであり得る。いくつかの実施形態において、プロセッサ218は、専用プロセッサ(例えば、グラフィックス処理装置)、ネットワークプロセッサ、又はポータブル電子デバイス200の動作を実行するのに適した任意のプロセッサ等、複数のプロセッサを含む。
メインメモリ210は、プロセッサ218に接続される。メインメモリ210は、短期記憶及び長期記憶の両方を提供することができ、実際、複数のユニット(プロセッサ218に位置するユニットを含む)に分割され得る。メインメモリ210は、スタティックランダムアクセスメモリ(「SRAM」)及び/又はダイナミックランダムアクセスメモリ(「DRAM」)等、揮発性であり得、ポータブル電子デバイス200のためのコンピュータ読み取り可能な命令、データ構造、ソフトウェアアプリケーション、及び他のデータの記憶(少なくとも一時的)を提供することができる。このようなデータは、ストレージ220からロードされ得る。メインメモリ210はまた、プロセッサ218に位置するキャッシュ等のキャッシュメモリを含み得る。メインメモリ210は、プロセッサ218によって実行される要素211〜214、すなわち、ファイル212を提示及び/又は要求するよう構成されているアプリケーション211、画像を提示し、ファイルの表現が配置された、画像上の位置の選択を検出するよう構成されているビジュアルファイル要求部214に関連する命令と、オペレーティングシステム217に関連する命令と、を含み得るが、これらに限定されるものではない。
さまざまな実施形態において、オペレーティングシステム217は、アプリケーション211及び/又はビジュアルファイル要求部214によって提供される命令等の命令の実行を開始するよう構成されている。詳細には、オペレーティングシステム217は、アプリケーション211及び/又はビジュアルファイル要求部214が動作するためのプラットフォームとして機能するよう構成され得る。オペレーティングシステム217は、スレッド化、リソース管理、データ記憶制御、及び他の同様の機能を含む、ポータブル電子デバイス200のコンポーネントにわたる他の動作を実行するよう構成され得る。
オペレーティングシステム217は、プロセッサ218に、アプリケーション211及び/又はビジュアルファイル要求部214用の命令を実行させることができる。アプリケーション211は、ポータブル電子デバイス200によってファイル212を提示、処理、又は操作するよう構成されている命令を表すコードを含み得る。実施形態に従うと、アプリケーション211は、例えば、ワードプロセッシングアプリケーション、メディアアプリケーション、グラフィックスアプリケーション、編集アプリケーション、ディジタル画像提示及び/又は操作アプリケーション、ウェブブラウザアプリケーション、設定アプリケーション(例えば、壁紙、背景等を設定するよう構成されているアプリケーション)、メッセージングアプリケーション(例えば、ショートメッセージングサービスアプリケーション、マルチメディアメッセージングサービスアプリケーション、及び/又はインスタントメッセンジャーアプリケーション)、又は、ファイル212(又はその表現)を提示、処理、又は操作するよう構成されている実質的に任意の他のタイプのアプリケーションであり得る。さまざまな実施形態において、ファイル212は、例えば、テキスト文書、画像ファイル、ビデオファイル、オーディオファイル、又はアプリケーション211によって処理されるのに適した実質的に任意の他のタイプのディジタルファイルであり得る。
いくつかの実施形態において、ファイル212又はその表現は、ディスプレイ224にてアプリケーション211によって提示され得る。ディスプレイ224は、発光ダイオード(「LED」)、有機LED(「OLED」)、液晶ディスプレイ(「LCD」)、LEDバックライト付きLCD、又は他のディスプレイ技術等、ポータブル電子デバイス200上にデータをグラフィカルに提示するよう構成されている任意の適切なデバイスであり得る。
実施形態において、ファイル212は、ポータブル電子デバイス200におけるアプリケーション211にすぐに利用可能なものではない(例えば、ファイル212は、メインメモリ210及び/又はストレージ220にすぐに記憶されない)。そうではなく、ファイル212は、別のコンピューティングデバイスに対して要求することが必要な場合もある。別のコンピューティングデバイスに対してファイルを要求するために、ポータブル電子デバイス200は、ビジュアルファイル要求部214を含み得る。ビジュアルファイル要求部214は、ハードウェア、ファームウェア、及び/又は、命令を表すコード等のソフトウェアにより実装され得る。この実施形態に従うと、ビジュアルファイル要求部214は、ユーザインタフェース222にて受けられた入力を介して且つ/又はそれによって呼び出されたアプリケーション211の特徴又は機能としてのアプリケーション211を介してユーザによってアクセスされ得る。ビジュアルファイル要求部214は、ディスプレイ224上に画像215を提示することができる。画像215は、ファイルが記憶されている別のコンピューティングデバイスに接続されている別のディスプレイの少なくとも一部分を含み得る。したがって、画像215は、別のコンピューティングデバイスに記憶されているファイルの少なくとも一部分の表現を含み得る。例えば、画像215は、別のコンピューティングデバイスの別のディスプレイ上に表示された画像の一部分を含み得る。
一実施形態に従うと、ビジュアルファイル要求部214は、カメラ227に接続され得る。ビジュアルファイル要求部214の呼び出しに応答して、カメラ227は、ポータブル電子デバイス200のディスプレイ224上に画像215を提示することができる。ポータブル電子デバイス200は、(別のコンピューティングデバイスに記憶されている)所望のファイルの表現がディスプレイ224上に提示されている間に、カメラ227が別のコンピューティングデバイスの別のディスプレイに向けられるように、ユーザによって位置決めされ得る。所望のファイルの表現を含む画像215がディスプレイ224上に提示されている間、ビジュアルファイル要求部214は、ユーザインタフェース222(ディスプレイ224と統合されたタッチスクリーンインタフェースであり得る)を介して画像215上の位置の選択216を検出することができる。画像215上の位置の選択216は、所望のファイルの少なくとも一部分の表現が少なくとも部分的に配置された位置であり得る。
一実施形態において、ビジュアルファイル要求部214は、ストレージ220に接続され得る。ビジュアルファイル要求部214は、例えば、ストレージ220に記憶されている画像のユーザによる選択の検出に応答して、ポータブル電子デバイス200のディスプレイ224上に画像215を提示することができる(例えば、ビジュアルファイル要求部214は、ディスプレイ224上に複数の画像を提示させることができ、ビジュアルファイル要求部214は、ユーザインタフェース222を介して画像215の選択を受信することができる)。所望のファイルの表現を含む画像215がディスプレイ224上に提示されている間、ビジュアルファイル要求部214は、ユーザインタフェース222(ディスプレイ224と統合されたタッチスクリーンインタフェースであり得る)を介して画像215上の位置の選択216を検出することができる。画像215上の位置の選択216は、所望のファイルの少なくとも一部分の表現が少なくとも部分的に配置された位置であり得る。
実施形態に従うと、ビジュアルファイル要求部214は、送信部を含み得る通信モジュール230に接続され得る。画像215上の検出された選択216に応答して、ビジュアルファイル要求部214は、画像215及び選択216の記述(例えば、画像215上の画素座標)を、ファイルが記憶されている別のコンピューティングデバイスに対して、通信モジュール230を介して送信させることができる。画像215及び選択216の記述の送信は、別のコンピューティングデバイスに対して所望のファイルを求める要求であってもよいし、そのような要求に含められてもよい。さまざまな実施形態において、ビジュアルファイル要求部214は、画像215及び選択216の記述が送信される送信先となる別のコンピューティングデバイスのインジケーションを含んでもよいし、そのようなインジケーションにアクセスしてもよい。例えば、通信モジュール230は、画像215及び選択216の記述が送信される送信先のポイントで1つの他のコンピューティングデバイスとのみペアリングされ得、したがって、ビジュアルファイル要求部214は、画像215及び選択216の記述が送信される送信先となるコンピューティングデバイスの1つのオプションのみ有し得る。他の実施形態において、ビジュアルファイル要求部214は、画像215及び選択216の記述が送信される送信先となる別のコンピューティングデバイスを選択してもよい。例えば、ビジュアルファイル要求部214は、画像215内にキャプチャされた別のディスプレイに接続されている別のコンピューティングデバイスを特定する画像215に関連付けられているメタデータにアクセスすることができる。別の実施形態において、ビジュアルファイル要求部214は、画像215及び選択216の記述を受信する別のコンピューティングデバイスのインジケーションを含んでもよいし、そのようなインジケーションにアクセスしてもよい(これは、ポータブル電子デバイス200が別のコンピューティングデバイスとすぐにはペアリングされない又は別のコンピューティングデバイスに対してすぐには登録されない場合には特に有用であり得る)。
実施形態において、通信モジュール230は、受信部を含み得る。画像215及び画像215上の検出された選択216の送信に基づいて、ビジュアルファイル要求部214は、所望のファイル212を受信することができる、又は受信することを見込むことができる。さまざまな実施形態に従うと、ビジュアルファイル要求部214は、受信されたファイル212をアプリケーションに提供することができ、該アプリケーションは、ファイル212を処理する(例えば、ディスプレイ224上にファイル212を提示する)よう構成され得る。ビジュアルファイル要求部214は、ファイル212に関連付けられているメタデータを介して且つ/又はアプリケーション211による呼び出しの結果として、アプリケーションのインジケーションを含んでもよいし、そのようなインジケーションにアクセスしてもよい。いくつかの実施形態において、ビジュアルファイル要求部214は、所望のファイルが見つからないことや返せないことを示すメッセージを、別のコンピューティングデバイスから受信することができる。ビジュアルファイル要求部214は、返せないファイルのインジケーションをアプリケーション211に中継する、且つ/又は、例えば、ディスプレイ224にて(例えば、エラーメッセージとして)このようなインジケーションを提示するよう構成され得る。
図3を参照すると、さまざまな実施形態に従った、別のコンピューティングデバイス(図示せず)によって要求されたファイル312を特定するビジュアルファイル提供部314を含むコンピューティングデバイス300を示すブロック図が示されている。コンピューティングデバイス300は、図1のコンピューティングデバイス150であってもよいし、図1のコンピューティングデバイス150に含められてもよく、ディスプレイ334は、ディスプレイ155であってもよいし、ディスプレイ155に含められてもよい。
コンピューティングデバイス300は、メインメモリ310、ストレージ322、プロセッサ320、通信モジュール330、ユーザインタフェース333、及び/又はディスプレイ334を含むが、これらに限定されるものではない。これらのコンポーネントは、バス329を介して通信可能に接続され得る。バス329は、コンピューティングデバイス300内でデータを転送するよう構成されている任意のサブシステムであり得る。バス329は、複数のコンピュータバスに加えて、コンピューティングデバイス300内でデータを転送するよう構成されているさらなる回路を含み得る。
別のコンピューティングデバイス(図示せず)とデータを通信するために、コンピューティングデバイス300は、通信モジュール330を含む。通信モジュール330は、外部コンピューティングデバイス(例えば、ポータブル電子デバイス)からネットワーク(図示せず)を介して、コンピューティングデバイス300によって処理されるデータを受信することができる。一方で、通信モジュール330は、ネットワークを介してデータを送信することもできる。通信モジュール330は、ハードウェア、ソフトウェア、又はこれら2つの組み合わせにより実装され得、例えば、ネットワークカード、ネットワークアクセスコントローラ、及び/又は1以上の他のネットワークインタフェースコントローラ等のコンポーネントを含み得る。通信モジュール330は、コンピューティングデバイス300用の命令を実行するプロセッサ320に通信可能に接続される。一実施形態において、通信モジュール330用の命令の一部又はすべては、プロセッサ320によって実行される。
さまざまな実施形態において、通信モジュール330は、1以上のプロトコル又はインタフェースのために構成されている回路を含み得る。例えば、通信モジュール330は、無線LAN、WiMax(登録商標)、HSPA+等、無線インターネット及び/又はブロードバンドアクセスのうちの少なくとも1つのために構成されている回路を含み得る。実施形態に従うと、通信モジュール330は、Bluetooth(登録商標)、Flashlinq、RFID、Wi−Fi(登録商標) Direct、IrDA、NFC等のうちの1以上といった1以上の短距離通信のために構成されている回路を含み得る。いくつかの実施形態において、通信モジュール330は、3G、LTE、LTEーA、及び/又は3GPPにより頒布された別の規格等の少なくとも1つの規格に従ったセルラ音声通信及び/又はデータ通信のために構成されている回路を含み得る。
さまざまな実施形態において、通信モジュール330は、コンピューティングデバイス300が別のコンピューティングデバイスとの間でデータを送受信できるように、別のコンピューティングデバイスをコンピューティングデバイス300とペアリングする又は別のコンピューティングデバイスをコンピューティングデバイス300に対して登録するサービスを含み得る。さまざまな実施形態において、このペアリング又は登録は、短距離通信(例えば、Bluetooth(登録商標)、Wi−Fi(登録商標) Direct、NFC等)、無線ブロードバンド(アクセスポイント、ルータ等を介したデータの伝送を含み得る)、セルラデータネットワーク(アクセスポイント、ノード等を含み得る)、及び/又は通信プロトコルの組み合わせを介して生じ得る。さまざまな実施形態において、通信モジュール330は、別のコンピューティングデバイスの1以上の特性を受信するように構成されているサービスを含み得る。通信モジュール330のこのサービスを介して受信されるこの特性情報は、例えば、別のコンピューティングデバイスのディスプレイの解像度、別のコンピューティングデバイスのオペレーティングシステムのバージョン、別のコンピューティングデバイスのアプリケーションのインジケーション、又は別のコンピューティングデバイスに関連する実質的に任意の他の情報を含み得る。
データを受信するさらなる手段として、コンピューティングデバイス300は、ユーザからの入力を受けるためのユーザインタフェース333を含み得る。ユーザインタフェース333は、さまざまな実施形態に従って、さまざまな手段を介してコンピューティングデバイス300とユーザがインタラクトできるようにし得るものであり、例えば、ユーザインタフェース333は、グラフィカルユーザインタフェースとして又はコマンドラインインタフェースを介して、ディスプレイ334上にてユーザに提示され得る。ユーザ入力を受けるために、ユーザインタフェース333は、ハードウェア、ソフトウェア、又はこれらの2つの組み合わせにより実装され得、ユーザ入力に適した1以上のハードウェアデバイス(例えば、キーボード、マウス、又はタッチスクリーン)を含み得る、又はこのような1以上のハードウェアデバイスに通信可能に接続され得る。さらに、ユーザインタフェース333用の命令の一部又はすべては、プロセッサ320によって実行され得る。
プロセッサ320は、メインメモリ310からの命令等の命令を実行するのに適した任意のプロセッサであり得る。したがって、プロセッサ320は、例えば、CPU、マイクロプロセッサ、又は別の同様のプロセッサであり得る。いくつかの実施形態において、プロセッサ320は、専用プロセッサ(例えば、グラフィックス処理装置)、ネットワークプロセッサ、又はコンピューティングデバイス300の動作を実行するのに適した任意のプロセッサ等、複数のプロセッサを含む。
メインメモリ310は、プロセッサ320に接続される。メインメモリ310は、短期記憶及び長期記憶の両方を提供することができ、実際、複数のユニット(プロセッサ320に位置するユニットを含む)に分割され得る。メインメモリ310は、SRAM及び/又はDRAM等、揮発性であり得、コンピューティングデバイス300のためのコンピュータ読み取り可能な命令、データ構造、ソフトウェアアプリケーション、及び他のデータの記憶(少なくとも一時的)を提供することができる。このようなデータは、ストレージ322からロードされ得る。メインメモリ310はまた、プロセッサ320に位置するキャッシュ等のキャッシュメモリを含み得る。メインメモリ310は、プロセッサ320によって実行される要素311〜319、すなわち、ファイル312を処理(例えば、提示)するよう構成されているアプリケーション311、受信された画像315及びファイル312の表現が配置された画像315上の位置の選択316の記述に基づいてファイル312を特定するよう構成されているビジュアルファイル提供部314、オペレーティングシステム317、ファイル変換部318、及び/又はウィンドウ管理部319に関連する命令を含み得るが、これらに限定されるものではない。
さまざまな実施形態において、オペレーティングシステム317は、アプリケーション311及び/又はビジュアルファイル提供部314によって提供される命令等の命令の実行を開始するよう構成されている。詳細には、オペレーティングシステム317は、アプリケーション311及び/又はビジュアルファイル提供部314が動作するためのプラットフォームとして機能するよう構成され得る。オペレーティングシステム317は、スレッド化、リソース管理、データ記憶制御、及び他の同様の機能を含む、コンピューティングデバイス300のコンポーネントにわたる他の動作を実行するよう構成され得る。
オペレーティングシステム317は、プロセッサ320に、アプリケーション311及び/又はビジュアルファイル提供部314用の命令を実行させることができる。アプリケーション311は、コンピューティングデバイス300によってファイル312を提示、処理、又は操作するよう構成されている命令を表すコードを含み得る。実施形態に従うと、アプリケーション311は、例えば、ワードプロセッシングアプリケーション、メディアアプリケーション、グラフィックスアプリケーション、編集アプリケーション、ディジタル画像提示及び/又は操作アプリケーション、ウェブブラウザアプリケーション、設定アプリケーション(例えば、壁紙、背景等を設定するよう構成されているアプリケーション)、メッセージングアプリケーション(例えば、ショートメッセージングサービスアプリケーション、マルチメディアメッセージングサービスアプリケーション、及び/又はインスタントメッセンジャーアプリケーション)、又は、ファイル312(又はその表現)を提示、処理、又は操作するよう構成されている実質的に任意の他のタイプのアプリケーションであり得る。さまざまな実施形態において、ファイル312は、例えば、テキスト文書、画像ファイル、ビデオファイル、オーディオファイル、又はアプリケーション311によって処理されるのに適した実質的に任意の他のタイプのディジタルファイルであり得る。
いくつかの実施形態において、ファイル312又はその表現は、ディスプレイ334にてアプリケーション311によって提示され得る。ディスプレイ334は、LED、OLED、LCD、LEDバックライト付きLCD、陰極線管(「CRT」)、又は他のディスプレイ技術等、コンピューティングデバイス300のデータをグラフィカルに提示するよう構成されている任意の適切なデバイスであり得る。いくつかの実施形態に従うと、ディスプレイ334は、例えば、ディジタルビジュアルインタフェースケーブル、高精細度マルチメディアインタフェースケーブル等を介して、コンピューティングデバイス300に取り外し可能に接続され得る。
実施形態において、ビジュアルファイル提供部314は、受信部を含み得る通信モジュール330に接続され得る。通信モジュール330は、画像315及び選択316の記述を受信し、これらをビジュアルファイル提供部314に提供するよう構成され得る。ビジュアルファイル提供部314は、ハードウェア、ファームウェア、及び/又は命令を表すコード等のソフトウェアにより実装され得る。いくつかの実施形態において、ビジュアルファイル提供部314は、バックグラウンドプロセスとして動作することができる。このバックグラウンドプロセスは、画像315及び選択316の記述を送信する別のデバイス(コンピューティングデバイス300とすでにペアリングされているもの又はコンピューティングデバイス300に対してすでに登録されているものであり得る)に対して、例えば、受動的にリスンする且つ/又は能動的にポーリングすることができる。さまざまな実施形態に従うと、ビジュアルファイル提供部314は、受信された画像315及び選択316の記述に基づいて、ファイル312を特定するよう構成され得る。ビジュアルファイル提供部314は、さまざまな実施形態に従って、画像315及び選択316の記述に基づいて、ファイル312を特定するための1以上の異なるアプローチを利用することができる。
一実施形態において、ビジュアルファイル提供部314は、画像位置合わせ、特徴検出、及び/又は例えば拡張現実に関連する他の画像処理方法を用いて、ディスプレイ334上に提示されたコンテンツに画像315をマッピングするよう構成され得る。ビジュアルファイル提供部314は、ウィンドウ管理部319に接続され得る。ウィンドウ管理部319は、ディスプレイ334上に提示されるウィンドウの配置及び/又は出現を追跡及び/又は制御する命令を含み得る。ビジュアルファイル提供部314は、ウィンドウ管理部319から、ディスプレイ334上における1以上のウィンドウの1以上の位置のインジケーション(例えば、ウィンドウの画素座標)を受信することができる。ビジュアルファイル提供部314は、画像315を位置及びディスプレイ334にマッピングして、選択316の記述に対応する、ディスプレイ334上の位置を(例えば、選択316の記述の画素座標をディスプレイ334上の画素座標に変換することによって)決定するよう構成され得る。次いで、ビジュアルファイル提供部314は、ウィンドウ管理部319によって示されるように、ディスプレイ334上の決定された位置にてウィンドウに含まれるアプリケーション311と、選択316の記述に対応する、ディスプレイ334上の決定された位置を照合することができる。このようにして、ビジュアルファイル提供部314は、アプリケーション311と通信して、アプリケーション311によって開かれたファイル312の同一性を判定することができる。
一実施形態において、ビジュアルファイル提供部314は、1以上のファイルについてのデータ(例えば、メタデータ)にアクセスし、該データを、画像315とともに含まれている選択316の記述によって示された、ファイル312の表現と比較又は照合するよう構成され得る。例えば、ビジュアルファイル提供部314は、特徴検出を用いて、選択の記述によって示された、画像上の特徴を抽出し、抽出された特徴を、記憶されているデータと照合することができる。別の実施形態において、ビジュアルファイル提供部314は、光学式文字認識を利用して、テキスト文字を識別し、該テキスト文字を、コンピューティングデバイス300に記憶されているファイル312のテキストと照合することができる。
実施形態に従うと、通信モジュール330は、送信部を含み得る。ファイル312の特定に基づいて(したがって、画像315及び選択316の記述の受信に基づいて)、ビジュアルファイル提供部314は、特定されたファイル312を、別のコンピューティングデバイス(例えば、画像315及び選択316の記述の送信元であるコンピューティングデバイス)に対して送信させることができる。さまざまな実施形態において、ビジュアルファイル提供部314は、ファイル312が送信される送信先となる別のコンピューティングデバイスのインジケーションを含んでもよいし、そのようなインジケーションにアクセスしてもよい。例えば、通信モジュール330は、画像315及び選択316の記述の送信元である別のコンピューティングデバイスとペアリングされ得、したがって、ビジュアルファイル提供部314は、画像315及び選択316の記述のソースに基づいて、ファイル312の送信先となるコンピューティングデバイスのインジケーションにアクセスすることができる。他の実施形態において、ビジュアルファイル提供部314は、別のコンピューティングデバイスを特定する、画像315及び/又は選択316の記述に関連付けられているメタデータにアクセスすることができる。
いくつかの実施形態において、ビジュアルファイル提供部は、ファイル変換部318を含んでもよいし、ファイル変換部318に接続されてもよい。ファイル変換部318は、ハードウェア、ファームウェア、及び/又は命令を表すコード等のソフトウェアであり得る。ファイル変換部318は、ファイル312に関連付けられている1以上の属性を適応させるように構成され得る。例えば、ファイル変換部318は、ファイル312を、第1のフォーマットから第2のフォーマットに変換することができる。例えば、テキスト文書が、ポータブルドキュメントフォーマット(「PDF」)文書に変換され得る。ファイル変換部318は、ファイル312を、異なる解像度に、異なるディスプレイサイズに、且つ/又は特定のオペレーティングシステム(例えば、モバイルオペレーティングシステム)での最適化のために、適応させることができる。したがって、ファイル312が送信される送信先となる別のコンピューティングデバイス上でのファイル312の提示を向上させることができる。さまざまな実施形態において、ビジュアルファイル提供部314は、ファイル312の送信の前にファイル変換部318を呼び出し、例えば、ペアリング動作及び/又は登録動作中に受信された、別のコンピューティングデバイスの特性に基づいて、別のコンピューティングデバイス上での提示のためにファイル312を適応させるよう構成され得る。
図4は、さまざまな実施形態に従った、コンピューティングデバイス間でのファイルの無線での送受信のための通信モジュール400のブロック図を示している。通信モジュール400は、図2の通信モジュール230及び/又は図4に示される通信モジュール330であってもよいし、これらに含められてもよい。通信モジュール400は、送信機回路405、受信機回路410、通信回路415、及び/又は少なくとも図示されるように各々に接続される1以上のアンテナ420を含み得るが、これらに限定されるものではない。
簡潔に言えば、通信回路415は、通信モジュール400へ/からの信号の無線通信を円滑にするようにアンテナ420に接続され得る。通信回路415の動作は、フィルタリング、増幅、記憶、変調、復調、変換等を含み得るが、これらに限定されるものではない。
送信機回路405は、通信回路415に接続され得、アンテナ420による送信のために通信回路415に信号を供給するよう構成され得る。さまざまな実施形態において、送信機回路405は、適切な特性を有する信号を通信回路に供給するために、信号に対してさまざまな信号処理操作を与えるよう構成され得る。いくつかの実施形態において、送信機回路405は、ビジュアルファイル提供機能に従ってファイルを無線で送信するよう構成され得る。他の実施形態において、送信機回路405は、例えば、ビジュアルファイル要求機能に従った要求に応じてファイルを受信し、且つ/又は受信したファイルを処理するよう構成され得る。
送信機回路405は、通信回路415による送信のための信号(例えば、通信モジュール400に通信可能に接続された別のモジュール又はコンポーネント(図示せず)からの信号)を受信するよう構成され得る。いくつかの実施形態において、送信機回路405は、信号を生成するよう構成され得る。さらに、送信機回路405は、通信回路415による送信の前に、さまざまな信号をスクランブル、多重化、及び/又は変調するよう構成され得る。
受信機回路410は、通信回路415に接続され得、1以上のアンテナ420によって検出された信号等、通信回路415のための信号及び/又は通信回路415からの信号を受信するよう構成され得る。いくつかの実施形態において、受信機回路410は、信号を生成し、適応させ、又は変化させるよう構成され得る。さらに、受信機回路410は、通信モジュール400を有するデバイスの外部から受信されたデータが、該データをそのデバイスで利用できるように、通信モジュール400に通信可能に接続された別のモジュール又はコンポーネント(図示せず)に、受信された信号を送信するよう構成され得る。いくつかの実施形態において、受信機回路410は、送信機回路405によって送信された要求に応じて受信されるファイル等、ビジュアルファイル要求機能に応じてファイルを無線で受信するよう構成され得る。他の実施形態において、受信機回路410は、ビジュアルファイル提供機能に応じた要求等、ファイルの要求を受信及び/又は処理するよう構成され得る。
通信回路415、送信機回路405、及び/又は受信機回路410の一部又はすべては、例えば、通信チップに含められてもよいし、且つ/又は、プリント回路基板に通信可能に接続されてもよい。
図5は、さまざまな実施形態に従った、ファイルの画像を使用してデバイス間でファイルを無線で共有するブロック図を示している。ポータブル電子デバイス515は、図1のポータブル電子デバイス110であってもよいし、図1のポータブル電子デバイス110に含められてもよく、コンピューティングデバイス550は、図1のコンピューティングデバイス150であってもよいし、図1のコンピューティングデバイス150に含められてもよい。さまざまな実施形態において、アプリケーション520は、図2のアプリケーション211であってもよいし、図2のアプリケーション211に含められてもよく、ビジュアルファイル要求部525は、図2のビジュアルファイル要求部214であってもよいし、図2のビジュアルファイル要求部214に含められてもよく、カメラサブシステム530は、図2のカメラ227であってもよいし、図2のカメラ227に含められてもよく、且つ/又は、ユーザ入力サブシステム535は、図2のユーザインタフェース222であってもよいし、図2のユーザインタフェース222に含められてもよい。さまざまな実施形態において、アプリケーション570は、図3のアプリケーション311であってもよいし、図3のアプリケーション311に含められてもよく、ビジュアルファイル提供部555は、図3のビジュアルファイル提供部314であってもよいし、図3のビジュアルファイル提供部314に含められてもよく、且つ/又は、ウィンドウ管理部560は、図3のウィンドウ管理部319であってもよいし、図3のウィンドウ管理部319に含められてもよい。
まず、ユーザ512は、(例えば、壁紙を選択するための)設定アプリケーション、メッセージングサービスアプリケーション、又はユーザ入力を受信するよう構成されている実質的に任意の他のタイプのアプリケーション等、ポータブル電子デバイス515のアプリケーション520とインタラクトしている最中であり得る。動作501において、ポータブル電子デバイス515は、アプリケーション520を介して、ユーザ512が別のコンピューティングデバイスからのファイルを所望することを示す選択を検出することができる。動作502において、アプリケーション520は、これに応答して、別のコンピューティングデバイスからファイルを取得するためにビジュアルファイル要求部525を呼び出すことができる。一実施形態において、ビジュアルファイル要求部525は、カメラサブシステム530を呼び出して、ポータブル電子デバイス515に画像を提示させることができる。動作503において、ビジュアルファイル要求部525は、カメラサブシステム530がコンピューティングデバイス550の方へ向けられると、コンピューティングデバイス550のディスプレイの画像を提示させることができる。提示された画像は、例えば、コンピューティングデバイス550のアプリケーション570を介した、ファイル572の表現を含み得る。動作503の別の実施形態において、記憶されている画像が、ストレージ(図示せず)からアクセスされ、ユーザ512に提示され得る。動作504において、ユーザ入力サブシステム535(例えば、タッチスクリーン又は他のユーザインタフェース)は、ユーザ512の入力を検出することができる。このユーザ入力は、所望のファイル572の表現の少なくとも一部分が配置された、ユーザ512に提示された画像上の位置の選択であり得る。さまざまな実施形態において、ユーザ入力はまた、カメラサブシステム530に、所望のファイルの表現を有する画像をキャプチャさせることができる。
さまざまな実施形態において、ビジュアルファイル要求部525は、画像及び画像上の位置の選択の記述を、コンピューティングデバイス550に対して送信させることができる。動作505において、画像及び画像上の位置の選択の記述が、ビジュアルファイル提供部555によって受信及び/又は処理され得る。動作506において、ビジュアルファイル提供部555は、ウィンドウ管理部560とインタフェースをとって、画像をコンピューティングデバイス550のディスプレイにマッピングし、受信された選択の記述に対応する、ディスプレイ上の位置を決定することができる。次いで、動作507において、ウィンドウ管理部560は、受信された選択の記述に対応するアプリケーション570のインジケーションを、ビジュアルファイル提供部555に提供することができる。動作508において、ビジュアルファイル提供部555は、受信された位置の記述にて開かれている且つ/又は配置されているファイル572のインジケーションを返すように、アプリケーション570にアクセスする又はアプリケーション570に要求を送信することができる。これに応答して、アプリケーション570は、動作509に示されるように、ファイル572を返すことができる。動作510において、ビジュアルファイル提供部555は、ファイル572(又はファイル572の適応されたバージョン)を、ポータブル電子デバイス515に対して送信させることができる。次いで、ビジュアルファイル要求部525は、受信されたファイルが、例えば、ユーザ512に提示されるように、又は、アプリケーション520によって処理されるように、受信されたファイル572をアプリケーション520に提供することができる。
図6の上側にあるセクション(セクションI)は、さまざまな実施形態に従った、ファイルを無線で共有するためにビジュアルファイル要求部を呼び出すアプリケーションを有するポータブル電子デバイス600を示している。ポータブル電子デバイス600は、図1のポータブル電子デバイス110であってもよいし、図1のポータブル電子デバイス110に含められてもよい。アプリケーションは、ポータブル電子デバイス600のディスプレイ上にて、オプション605をユーザに対して提示させることができる。オプション605の選択は、テキスト文書及び/又はメディアファイル等のファイルがポータブル電子デバイス600のディスプレイ上に提示されるのをユーザが望むことを示すことができる。さまざまな実施形態において、オプション605の選択は、ファイルのソースの1以上の選択可能なオプション610〜615を、ポータブル電子デバイス600のディスプレイ上に提示させることができる。例えば、ポータブル電子デバイス600は、ポータブル電子デバイス600に記憶されている既存のファイルについてのオプション610を提示することができる。実施形態において、ポータブル電子デバイス600は、パーソナルコンピュータ又はタブレット等の外部デバイスから転送されるファイルについてのオプション615を提示することができる。
図6の下側にあるセクション(セクションII)は、さまざまな実施形態に従った、外部デバイスから転送されるファイルについてのオプション615の選択に基づいて、別のコンピューティングデバイス620から所望のファイルを無線で受信することができるポータブル電子デバイス600を示している。いくつかの実施形態において、オプション615は、ポータブル電子デバイス600のカメラ(図示せず)を呼び出すことができる。実施形態において、コンピューティングデバイス620は、1以上のファイル625〜630を提示することができる。図示されるように、ポータブル電子デバイス600は、ポータブル電子デバイス600のカメラが、コンピューティングデバイス620にて表示されたファイル625〜630に向けられると、それぞれの表現635〜640を、ポータブル電子デバイス600上に提示させることができる。別の実施形態において、ファイル635〜640の表現は、カメラを介してではなくストレージ(図示せず)からアクセスされた画像として、ポータブル電子デバイス600上に提示され得る。ポータブル電子デバイス600は、次いで、ファイルの表現640の選択を検出することができる。次いで、ポータブル電子デバイス600は、ファイルの表現640の選択及びファイルの表現640を有する画像を、コンピューティングデバイス620に送信することができる。コンピューティングデバイス620は、ファイルの表現640の選択に対応するファイルを特定し、特定されたファイルをポータブル電子デバイス600に送信することができる。特定されたファイルの受信に基づいて、ポータブル電子デバイス600は、ポータブル電子デバイス600にて、受信されたファイル645を提示又は処理することができる。
図7を参照すると、フロー図は、さまざまな実施形態に従った、別のコンピューティングデバイスからポータブル電子デバイスへとファイルが無線で送信されることを要求するための方法700を示している。方法700は、図1のポータブル電子デバイス110等のポータブル電子デバイスによって実行され得る。図7は、複数の順次的な動作を示しているが、当業者であれば、方法700の1以上の動作の順番が変えられることがあること及び/又は方法700の1以上の動作が同時に実行されることがあることが理解されるであろう。
まず、方法700は、ディスプレイ上に、別のディスプレイの画像を提示するための動作705を含み得る。実施形態に従うと、提示された画像は、別のコンピューティングデバイス上のファイルの少なくとも一部分の表現を含み得る。一実施形態において、提示された画像は、別のコンピューティングデバイスがファイルの少なくとも一部分を表示している間に直ちに別のコンピューティングデバイスに向けられたカメラによって提供され得る。代替的に、提示された画像は、ストレージからアクセスされてもよい。動作710において、方法700は、画像上の位置の選択を検出することを含み得る。画像上の選択された位置は、ファイルの表現又はファイルの少なくとも部分的表現を含み得る。
次いで、動作715は、画像及び選択の記述を、別のコンピューティングデバイスに無線で送信することを含み得る。実施形態において、このデータの無線での送信は、画像上の選択された位置に少なくとも部分的に配置されたファイルの要求に含められてもよいし、そのような要求として動作してもよい。方法700は、要求されたファイルを処理するための動作720を含み得る。実施形態において、ファイルは、画像及び選択の記述が送信された送信先のコンピューティングデバイスから無線ネットワークを介して受信され得る。
図8を参照すると、フロー図は、さまざまな実施形態に従った、別のコンピューティングデバイスとペアリングし、別のコンピューティングデバイスからポータブル電子デバイスへと無線で送信されるファイルを適応させるために使用される、ポータブル電子デバイスの特性を別のコンピューティングデバイスに送信するための方法800を示している。方法800は、図1のポータブル電子デバイス110等のポータブル電子デバイスによって実行され得る。図8は、複数の順次的な動作を示しているが、当業者であれば、方法800の1以上の動作の順番が変えられることがあること及び/又は方法800の1以上の動作が同時に実行されることがあることが理解されるであろう。
まず、方法800は、別のコンピューティングデバイスとペアリングするための動作805を含み得る。このペアリングは、方法800を実行するコンピューティングデバイス(例えば、ポータブル電子デバイス)が、別のコンピューティングデバイスにデータを無線で送信する且つ/又は別のコンピューティングデバイスからデータを無線で受信することを可能にし得る。動作805におけるペアリングのアプローチは、実施形態に応じて変わり得る。さまざまな実施形態において、このペアリング動作は、Bluetooth(登録商標)、Wi−Fi(登録商標) Direct、又は別のパーソナルエリアネットワーク技術等のパーソナルエリアネットワークペアリング動作及び/又はデバイスツーデバイスペアリング動作であり得る。他の実施形態において、この動作805は、ルータ又はアクセスポイント等の中継コンポーネントを含む別のネットワークを介して別のコンピューティングデバイスに対して登録することを含み得る。例えば、この登録は、別のコンピューティングデバイスが、WAN、LAN、無線セルラネットワーク、又は一般的にPANより広い範囲を有する他のネットワーク上でアドレッシング可能なように、別のコンピューティングデバイスについての識別子(例えば、アドレス)に送信すること及び/又は別のコンピューティングデバイスについての識別子(例えば、アドレス)から受信することを含み得る。
動作810は、方法800を実行するポータブル電子デバイスの少なくとも1つの特性についての情報を、別のコンピューティングデバイスに送信することを含み得る。少なくとも1つの特性についてのこの送信情報は、例えば、ポータブル電子デバイスのディスプレイの解像度についての情報、ポータブル電子デバイスで動作するオペレーティングシステムのバージョンについての情報、ポータブル電子デバイスに記憶されているアプリケーションのインジケーションについての情報、又はポータブル電子デバイスに関連する実質的に任意の他の情報を含み得る。この情報が、別のコンピューティングデバイスによって利用されて、データが、ポータブル電子デバイスに合わせて適応され得る。
図9を参照すると、フロー図は、さまざまな実施形態に従った、要求されたファイルを特定し、特定されたファイルを別のコンピューティングデバイスに無線で送信する方法900を示している。方法900は、図1のコンピューティングデバイス150等のコンピューティングデバイスによって実行され得る。図9は、複数の順次的な動作を示しているが、当業者であれば、方法900の1以上の動作の順番が変えられることがあること及び/又は方法900の1以上の動作が同時に実行されることがあることが理解されるであろう。
方法900は、画像及び選択の記述を処理するための動作905で開始し得る。画像及び選択の記述は、別のコンピューティングデバイス(例えば、ポータブル電子デバイス)から、PAN、WAN、LAN、無線セルラネットワーク等の無線ネットワークを介して受信され得る。画像は、方法900を実行するコンピューティングデバイスによってアクセス可能な(例えば、コンピューティングデバイスに記憶されている、コンピューティングデバイスによってアドレッシング可能な、コンピューティングデバイスによって取得可能な)ファイルの少なくとも一部分の表現を含み得る。選択の記述は、画像に関連付けられ得、ファイルの表現が少なくとも部分的に配置された、画像上の位置の記述であり得る。選択の記述は、例えば、座標(例えば、画素座標、x−y座標)又は画像の位置を識別する別の手段(1以上の計測値)であり得る。さまざまな実施形態において、画像及び選択の記述は、方法900を実行するコンピューティングデバイスによってアクセス可能であり得るファイルの要求に含まれ得る。
画像及び選択の記述の処理に基づいて、動作910は、方法900を実行するコンピューティングデバイスによってアクセス可能なファイルを特定することを含み得る。ファイルは、画像に含まれ選択の記述によって示される、ファイルの表現で表され得る。したがって、ファイルは、画像内の、ファイルの表現と、画像内の、ファイルの位置を示す、選択の記述と、に基づいて、さまざまな技術に従って特定され得る。さまざまな実施形態において、動作910は、画像位置合わせ、特徴検出、及び/又は例えば拡張現実に関連する他の画像処理方法により、コンピューティングデバイスに接続されているディスプレイ上に提示されたコンテンツに、受信された画像をマッピングするための動作を含み得る。一実施形態において、動作910は、1以上のファイルについてのデータ(例えば、メタデータ)にアクセスし、該データと、選択の記述によって示された、画像に含まれる、ファイルの表現と、を比較又は照合することに関連する動作を含み得る。
動作910におけるファイルの識別に続いて、方法900は、任意的に、特定されたファイルを適応させる又は特定されたファイルが適応されるようにするための動作915を含んでもよい。さまざまな実施形態において、画像及び選択の記述の送信元であり得る別のコンピューティングデバイスは、方法900を実行するコンピューティングデバイスと同じ能力や同じ他の特性を有していない場合がある。したがって、動作915は、別のコンピューティングデバイスでのファイルの提示を向上させるようにファイルを適応させるために含められ得る。さまざまな実施形態において、この適応は、例えば、ファイルを第1のフォーマットから第2のフォーマット(例えば、テキスト文書から画像)に適応させること、ファイルの解像度、サイズ、又は他の属性を調整すること、又は特定のオペレーティングシステム、ハードウェアパラメータ等との互換性のためにファイルを適応させることを含み得る。一実施形態において、動作915は、別のコンピューティングデバイスの特性に応じてファイルを適応させるサービス(例えば、提供されるプログラムやサービス又はネットワーク)にアクセスするための動作を含み得る。次いで、動作920は、画像及び選択の記述を提供した別のコンピューティングデバイスに、ファイル(又はファイルの適応されたバージョン)を無線で送信することを含み得る。
図10を参照すると、フロー図は、さまざまな実施形態に従った、別のコンピューティングデバイスに無線で送信されるファイルを適応させるために使用され得る、別のコンピューティングデバイスの特性を受信するための方法1000を示している。方法1000は、図1のコンピューティングデバイス150等のコンピューティングデバイスによって実行され得る。図10は、複数の順次的な動作を示しているが、当業者であれば、方法1000の1以上の動作の順番が変えられることがあること及び/又は方法1000の1以上の動作が同時に実行されることがあることが理解されるであろう。
まず、方法1000は、別のコンピューティングデバイス(例えば、ポータブル電子デバイス)とペアリングするための動作1005を含み得る。このペアリングは、方法1000を実行するコンピューティングデバイスが、ビジュアルファイル提供部の特徴に従って、無線ネットワークを介して別のコンピューティングデバイスにデータを無線で送信すること及び/又は別のコンピューティングデバイスからデータを無線で受信することを可能にし得る。動作1005におけるペアリングのアプローチは、実施形態に応じて変わり得る。さまざまな実施形態において、このペアリング動作は、Bluetooth(登録商標)、Wi−Fi(登録商標) Direct、又は別のパーソナルエリアネットワーク技術等のパーソナルエリアネットワークペアリング動作及び/又はデバイスツーデバイスペアリング動作であり得る。他の実施形態において、この動作1005は、ルータ又はアクセスポイント等の中継コンポーネントを含むネットワークを介して受信された、別のコンピューティングデバイスからの登録要求に応答して、別のコンピューティングデバイスを登録することを含み得る。例えば、この登録は、別のコンピューティングデバイスが、WAN、LAN、無線セルラネットワーク、又は一般的にPANより広い範囲を有する他のネットワーク上でアドレッシング可能なように、別のコンピューティングデバイスについての識別子(例えば、アドレス)に送信すること及び/又は別のコンピューティングデバイスについての識別子(例えば、アドレス)から受信することを含み得る。
動作1010は、別のコンピューティングデバイスの少なくとも1つの特性についての情報を処理することを含み得る。この情報は、例えば、ペアリング動作1005に関連して、例えば、別のコンピューティングデバイスにて実装されているビジュアルファイル要求機能に応じて、無線ネットワークを介して受信され得る。別のコンピューティングデバイスの少なくとも1つの特性についての情報は、例えば、別のコンピューティングデバイスのディスプレイの解像度についての情報、別のコンピューティングデバイスで動作するオペレーティングシステムのバージョンについての情報、別のコンピューティングデバイスに記憶されているアプリケーションのインジケーション、又は別のコンピューティングデバイスに関連する実質的に任意の他の情報を含み得る。この情報が、方法1000を実行するコンピューティングデバイスによって利用されて、データが、例えば、ビジュアルファイル提供機能に従って、(例えば、図9の動作915に示されるように)別のコンピューティングデバイスに合わせて適応され得る。
さまざまな実施形態において、例1は、ビジュアルファイル要求機能を有するポータブル電子デバイスとすることができる。ポータブル電子デバイスは、ディスプレイと、ディスプレイ上に、別のコンピューティングデバイスの別のディスプレイの画像であって別のコンピューティングデバイス上のファイルの少なくとも一部分の表現を含む画像を提示し、ファイルの少なくとも一部分の表現が少なくとも部分的に配置された、画像上の位置の選択を検出する、ディスプレイに接続されるビジュアルファイル要求部と、別のコンピューティングデバイスに対してファイルを要求するために、画像及び選択の記述を、別のコンピューティングデバイスに無線で送信する、ビジュアルファイル要求部に接続される送信部と、を備える。例2は、ファイルは、ディジタルマルチメディアファイル、ディジタル画像ファイルおよびテキストファイルのうちの1つである、例1のポータブル電子デバイスを含み得る。例3は、要求に基づいて別のコンピューティングデバイスから受信されるファイルを処理する、ビジュアルファイル要求部に接続される受信部をさらに備える、例1のポータブル電子デバイスを含み得る。例4は、ビジュアルファイル要求部のための、別のコンピューティングデバイスの別のディスプレイの画像をキャプチャする、ビジュアルファイル要求部に接続されるカメラをさらに備える、例1のポータブル電子デバイスを含み得る。例5は、別のコンピューティングデバイスの別のディスプレイの画像を記憶する、ビジュアルファイル要求部に接続されるストレージをさらに備え、ビジュアルファイル要求部は、ディスプレイ上での提示のためにストレージにおける画像にアクセスする、例1のポータブル電子デバイスを含み得る。例6は、外部ソースからのファイルを要求することをユーザが望むことを示すユーザ入力を検出し、ビジュアルファイル要求部を呼び出す、ビジュアルファイル要求部に接続されるアプリケーションをさらに備え、ビジュアルファイル要求部は、ポータブル電子デバイスのアプリケーションによる呼び出しに応答して、ディスプレイ上に画像を提示する、例1から5のいずれかのポータブル電子デバイスを含み得る。例7は、画像上の位置の選択の記述は、画像上の少なくとも1つの画素に対応する座標を含む、例1から5のいずれかのポータブル電子デバイスを含み得る。例8は、ポータブル電子デバイスを別のコンピューティングデバイスと通信可能にペアリングする、送信部に接続される通信サービスをさらに備える、例1から5のいずれかのポータブル電子デバイスを含み得る。例9は、通信サービスは、さらに、ポータブル電子デバイスの少なくとも1つの特性についての情報を、送信部を介して別のコンピューティングデバイスに送信する、例8のポータブル電子デバイスを含み得る。例10は、少なくとも1つの特性についての情報は、ディスプレイの解像度、ポータブル電子デバイスのオペレーティングシステムのバージョン、及び要求されたファイルのバージョンを処理するアプリケーションのインジケーションのうちの少なくとも1つを含む、例9のポータブル電子デバイスを含み得る。
さまざまな実施形態において、例11は、ビジュアルファイル提供機能を有するコンピューティングデバイスとすることができる。コンピューティングデバイスは、別のコンピューティングデバイスから受信される、ファイルの少なくとも一部分の表現を有する画像と、別のコンピューティングデバイスから受信される、ファイルの少なくとも一部分の表現が少なくとも部分的に配置された、画像上の位置の選択の記述と、を処理する受信部と、画像及び選択の記述の受信に応答して、ファイルを特定する、受信部に接続されるビジュアルファイル提供部と、特定されたファイル又は特定されたファイルの適応されたバージョンを、ビジュアルファイル提供部の代わりに別のコンピューティングデバイスに無線で送信する、ビジュアルファイル提供部に接続される送信部と、を備える。例12は、コンピューティングデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、及びタブレットコンピュータのうちの1つである、例11のコンピューティングデバイスを含み得る。例13は、別のコンピューティングデバイスは、スマートフォン、カメラ付き電話機、タブレットコンピュータ、及びポータブルメディアプレーヤのうちの1つであるポータブル電子デバイスである、例11のコンピューティングデバイスを含み得る。例14は、コンピューティングデバイスを別のコンピューティングデバイスと通信可能にペアリングする、ビジュアルファイル提供部及び受信部に接続される通信サービスをさらに備える、例11のコンピューティングデバイスを含み得る。例15は、通信サービスは、Bluetooth(登録商標)、近距離無線通信(NFC)、及びWi−Fi(登録商標) Directのうちの1つに従って、コンピューティングデバイスを別のコンピューティングデバイスとペアリングする、例14のコンピューティングデバイスを含み得る。例16は、受信部は、さらに、別のコンピューティングデバイスから、別のコンピューティングデバイスに関連する特性情報を受信し、ビジュアルファイル提供部は、さらに、別のコンピューティングデバイスでの特定されたファイルの提示を向上させるように、受信された特性情報に基づいて、特定されたファイルを適応させる又は特定されたファイルが適応されるようにする、例11から15のいずれかのコンピューティングデバイスを含み得る。例17は、ビジュアルファイル提供部は、特定されたファイルのフォーマット、特定されたファイルの解像度、又は特定されたファイルの圧縮比のうちの少なくとも1つを変更するように、受信された特性情報に基づいて、ファイルを適応させる又はファイルが適応されるようにする、例16のコンピューティングデバイスを含み得る。
さまざまな実施形態において、例18は、コンピューティングデバイス実行可能な命令を含む1以上の非一時的なコンピュータシステム読み取り可能な媒体とすることができる。命令は、ポータブル電子デバイスによる実行に応答して、ポータブル電子デバイスに、別のコンピューティングデバイスの別のディスプレイの画像であって別のコンピューティングデバイスに記憶されているファイルの少なくとも一部分の表現を含む画像を表示させ、ファイルの少なくとも一部分の表現が少なくとも部分的に配置された、画像上の位置の選択を検出させ、別のコンピューティングデバイスに対してファイルを要求するために、画像及び位置の選択の記述を、別のコンピューティングデバイスに対して無線で送信させる。例19は、命令は、ポータブル電子デバイスによる実行に応答して、ポータブル電子デバイスに、さらに、別のコンピューティングデバイスに対して登録させる、例18の1以上の非一時的なコンピュータシステム読み取り可能な媒体を含み得る。例20は、命令は、ポータブル電子デバイスによる実行に応答して、ポータブル電子デバイスに、さらに、ポータブル電子デバイスに関連する情報を、別のコンピューティングデバイスに対して送信させる、例19の1以上の非一時的なコンピュータシステム読み取り可能な媒体を含み得る。例21は、命令は、ポータブル電子デバイスによる実行に応答して、ポータブル電子デバイスに、さらに、画像及び選択の記述の無線での送信に基づいて別のコンピューティングデバイスから受信されるファイルを処理させる、例19又は20の1以上の非一時的なコンピュータシステム読み取り可能な媒体を含み得る。
さまざまな実施形態において、例22は、コンピューティングデバイス実行可能な命令を含む1以上の非一時的なコンピュータシステム読み取り可能な媒体とすることができる。命令は、コンピューティングデバイスによる実行に応答して、コンピューティングデバイスに、別のコンピューティングデバイスから、ファイルの少なくとも一部分の表現を含む、コンピューティングデバイスのディスプレイの画像と、ファイルの少なくとも一部分の表現が少なくとも部分的に配置された、画像上の位置のユーザ選択のインジケーションと、を受信させ、画像及びユーザの選択の指示の受信に応答してファイルを特定させ、特定されたファイル又は特定されたファイルの適応されたバージョンを、ファイル又はファイルの適応されたバージョンを別のコンピューティングデバイスに提供するように、別のコンピューティングデバイスに対して無線で送信させる。例23は、別のコンピューティングデバイスは、ポータブル電子デバイスである、例22の1以上の非一時的なコンピュータシステム読み取り可能な媒体を含み得る。例24は、命令は、コンピューティングデバイスによる実行に応答して、コンピューティングデバイスに、さらに、別のコンピューティングデバイスを登録させる、例22又は23の1以上の非一時的なコンピュータシステム読み取り可能な媒体を含み得る。例25は、命令は、コンピューティングデバイスによる実行に応答して、コンピューティングデバイスに、さらに、無線での送信の前に、別のコンピューティングデバイスに関連する1以上の特性に基づいて、特定されたファイルを適応させさせる又は特定されたファイルが適応されるようにさせる、例22又は23の1以上の非一時的なコンピュータシステム読み取り可能な媒体を含み得る。
さまざまな実施形態において、例26は、ビジュアルファイル要求機能のための、コンピュータにより実施される方法とすることができる。コンピュータにより実施される方法は、別のコンピューティングデバイスの別のディスプレイの画像であって別のコンピューティングデバイスに記憶されているファイルの少なくとも一部分の表現を含む画像を、コンピューティングデバイスによって表示させるステップと、ファイルの少なくとも一部分の表現が少なくとも部分的に配置された、画像上の位置の選択を、コンピューティングデバイスによって検出するステップと、別のコンピューティングデバイスに対してファイルを要求するために、画像及び位置の選択の記述を別のコンピューティングデバイスに、コンピューティングデバイスによって無線で送信するステップと、を含む。例27は、コンピューティングデバイスは、ポータブル電子デバイスである、例26のコンピュータにより実施される方法を含み得る。例28は、コンピューティングデバイスによって、別のコンピューティングデバイスに対して登録するステップをさらに含む、例26のコンピュータにより実施される方法を含み得る。例29は、コンピューティングデバイスに関連する情報を別のコンピューティングデバイスに、コンピューティングデバイスによって送信するステップをさらに含む、例26のコンピュータにより実施される方法を含み得る。例30は、画像及び選択の記述の無線での送信に基づいて、コンピューティングデバイスによって、別のコンピューティングデバイスからファイルを受信するステップをさらに含む、例27から29のいずれかのコンピュータにより実施される方法を含み得る。
さまざまな実施形態において、例31は、ビジュアルファイル提供機能のための、コンピュータにより実施される方法とすることができる。コンピュータにより実施される方法は、別のコンピューティングデバイスから、ファイルの少なくとも一部分の表現を含む、コンピューティングデバイスに関連付けられているディスプレイの画像と、ファイルの少なくとも一部分の表現が少なくとも部分的に配置された、画像上の位置のユーザ選択のインジケーションと、を、コンピューティングデバイスによって受信するステップと、画像及びユーザ選択のインジケーションの受信に応答して、コンピューティングデバイスによってファイルを特定するステップと、特定されたファイル又は特定されたファイルの適応されたバージョンを、ファイル又はファイルの適応されたバージョンを別のコンピューティングデバイスに提供するように、コンピューティングデバイスによって別のコンピューティングデバイスに無線で送信するステップと、を含む。例32は、コンピューティングデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、及びタブレットコンピュータのうちの1つである、例31のコンピュータにより実施される方法を含み得る。例33は、別のコンピューティングデバイスは、ポータブル電子デバイスである、例31のコンピュータにより実施される方法を含み得る。例34は、コンピューティングデバイスによって、別のコンピューティングデバイスを登録するステップをさらに含む、例31のコンピュータにより実施される方法を含み得る。例35は、無線での送信の前に、コンピューティングデバイスによって別のコンピューティングデバイスに関連する1以上の特性に基づいて、特定されたファイルを適応させる又は特定されたファイルが適応されるようにするステップをさらに含む、例31から34のいずれかのコンピュータにより実施される方法を含み得る。
さまざまな実施形態において、例36は、装置とすることができる。装置は、別のコンピューティングデバイスの別のディスプレイの画像であって別のコンピューティングデバイスに記憶されているファイルの少なくとも一部分の表現を含む画像をポータブル電子デバイスに表示させる手段と、ファイルの少なくとも一部分の表現が少なくとも部分的に配置された、画像の位置の選択を検出する手段と、別のコンピューティングデバイスに対してファイルを要求するために、画像及び位置の選択の記述を別のコンピューティングデバイスに無線で送信する手段と、を備える。例37は、別のコンピューティングデバイスに対して登録する手段をさらに備える、例36の装置を含み得る。例38は、ポータブル電子デバイスに関連する情報を別のコンピューティングデバイスに送信する手段をさらに備える、例36の装置を含み得る。
さまざまな実施形態において、例39は、装置とすることができる。装置は、別のコンピューティングデバイスから、ファイルの少なくとも一部分の表現を含む、コンピューティングデバイスに関連付けられているディスプレイの画像と、ファイルの少なくとも一部分の表現が少なくとも部分的に配置された、画像の位置のユーザ選択のインジケーションと、を受信する手段と、画像及びユーザ選択の指示の受信に応答して、ファイルをコンピューティングデバイスによって特定する手段と、特定されたファイル又は特定されたファイルの適応されたバージョンを、ファイル又はファイルの適応されたバージョンを別のコンピューティングデバイスに提供するように、コンピューティングデバイスによって別のコンピューティングデバイスに無線で送信する手段と、を備える。例40は、無線での送信の前に、別のコンピューティングデバイスに関連する1以上の特性に基づいて、特定されたファイルを適応させる又特定されたファイルが適応されるようにする手段をさらに備える、例39の装置を含み得る。
上述した詳細な説明の一部は、コンピュータメモリ内のデータビットに対するアルゴリズム及び動作のシンボル表現の点で提示されている。このアルゴリズム的記述および表現は、データ処理分野における当業者が自身の研究の内容を当該分野における他の当業者に最も効果的に伝えるために用いられる方法である。アルゴリズムは、本明細書において、また一般的に、所望の結果を導き出す首尾一貫した一連の動作であると考えられる。動作は、物理量の物理的操作を要するものである。
しかしながら、上記および同様の用語はすべて、適当な物理量に関連するものであって、これらの物理量に付与される便宜上のラベルにすぎないことに留意されたい。上記説明から明らかなように、別途明示されない限り、本明細書を通して、請求項に記載されるような用語を用いた説明は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されたデータを操作し、コンピュータシステムメモリ若しくはレジスタ又は他のこのような情報記憶デバイス、伝送デバイス若しくはディスプレイデバイス内の物理量として同様に表されるデータに変換するコンピュータシステムや同様の電子コンピューティングデバイスの動作及びプロセスを指す。
本発明の実施形態はまた、本明細書における動作を実行するための装置に関する。このようなコンピュータプログラムは、非一時的なコンピュータ読み取り可能な媒体に記憶される。マシン読み取り可能な媒体は、マシン(例えば、コンピュータ)によって読み取り可能な形式で情報を記憶する任意の機構を含む。例えば、マシン読み取り可能な(例えば、コンピュータ読み取り可能な)媒体は、マシン(例えば、コンピュータ)読み取り可能な記憶媒体(例えば、読み取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス)を含む。
上述した図面に示されるプロセス又は方法は、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、非一時的なコンピュータ読み取り可能な媒体に組み込まれるもの)、又はこれらの組み合わせを含む処理ロジックによって実行され得る。上記プロセス又は方法は、いくつかの順次的な動作の点で上述されているが、上述した動作のうちのいくつかの動作は、異なる順番で実行されることがあることを理解されたい。さらに、いくつかの動作は、順次的にではなく並列に実行されることがある。
本発明の複数の実施形態は、いかなる特定のプログラミング言語にも言及して説明されてはいない。本明細書に記載の本発明の実施形態の教示を実装するために、さまざまなプログラミング言語を使用できることを理解されたい。
上述してきた明細書において、本発明の実施形態は、本発明の特定の例示的な実施形態を参照しながら説明されている。請求項に記載される本発明のより広義の趣旨及び範囲から逸脱することなく、さまざまな修正がなされ得ることが明らかであろう。したがって、本明細書及び図面は、限定的ではなく例示的なものとしてみなされるべきである。