(57)【要約】      （修正有）【課題】ユーザの介入なくレイアウトに従った画像認識及び編成を行う技術を提供する。【解決手段】１つ以上のモジュールが、コンピューティングデバイスにおける実行のために起動される。この起動に応答して、コンピューティングデバイスによる１つ以上のモジュールの実行を通して自動的かつユーザ介入なしに、基準が生成される。１つ以上のモジュールの実行を通して自動的かつユーザ介入なしに生成された基準を使用して、画像がキューレートされる。キューレートされた画像は、ユーザに関連付けられる、複数の異なる画像ソースから識別される。キューレートされた画像を、１つ以上のモジュールの実行を通して自動的かつユーザ介入なしに、コンピューティングデバイスのディスプレイデバイスによって表示させる。【選択図】図４
2018077851.tif 000002
【特許請求の範囲】
【請求項１】
命令が記憶される１つ以上のコンピュータ読取可能記憶メモリと；
１つ以上のプロセッサであって、前記命令を実行して、
コンピューティングデバイスにおける実行のためにアプリケーションを起動する動作と、
前記の起動する動作に応答して、自動的かつユーザ介入なしに、
画像キューレーションの基準を生成する動作と、
前記生成された画像キューレーションの基準を使用して、ユーザに関連付けられる画像をキューレートする動作と、
前記キューレートされた画像及び前記基準のインジケータを、前記コンピューティングデバイスのディスプレイデバイスにより表示させる動作と、
を含む動作を実行するように構成される、１つ以上のプロセッサと；
を具備するシステム。
【請求項２】
前記アプリケーションは、オペレーティングシステムの一部であり、前記の起動する動作は、前記キューレートされた画像を出力するために前記ユーザによるオプションの選択に応答して実行される、
請求項１に記載のシステム。
【請求項３】
前記基準は、前記画像に対応する１つ以上のピクセルについて実行すべき分析を指定する、
請求項１に記載のシステム。
【請求項４】
前記基準は、前記画像に関連付けられるメタデータに対応する、
請求項１に記載のシステム。
【請求項５】
前記のキューレートする動作は、前記アプリケーションの実行を通して、ネットワークを介してリモートにアクセス可能な少なくとも１つの画像について、該少なくとも１つの画像をダウンロードすることなく該少なくとも１つの画像を識別するために実行される、
請求項１に記載のシステム。
【請求項６】
前記少なくとも１つの画像は、前記基準を使用して、前記少なくとも１つの画像の識別に応答してダウンロードされる、
請求項５に記載のシステム。
【請求項７】
前記画像をキューレートする動作は、
自動的かつユーザ介入なしに、前記画像を識別する動作と、
自動的かつユーザ介入なしに、表示すべき前記識別された画像のサブセットを選択する動作と、
自動的かつユーザ介入なしに、前記選択された画像のサブセットのうちの１つ以上の画像を、画像レイアウト内の位置に合致させる動作と、
自動的かつユーザ介入なしに、前記画像レイアウト内の前記選択された画像のサブセットのうちの少なくとも１つの表示を置換する動作と、
を含む、請求項１に記載のシステム。
【請求項８】
所定の時間の経過後に追加の基準を生成する動作と、前記追加の基準の生成に応答して追加の画像をキューレートする動作と、
を更に含む、請求項７に記載のシステム。
【請求項９】
前記追加の基準の生成は、以前に生成された前記基準に少なくとも部分的に基づく、
請求項８に記載のシステム。
【請求項１０】
前記の置換する動作は、前記画像レイアウト内の第１の画像について実行され、前記画像レイアウト内の第２の画像については同じ時点では実行されず、前記第１及び第２の画像は、以前の時点で同時に表示されている、
請求項７に記載のシステム。
【請求項１１】
前記画像のソースは、前記コンピューティングデバイスに記憶されるユーザの認証情報を使用して、ネットワークを介してリモートにアクセス可能である、
請求項１に記載のシステム。
【請求項１２】
前記認証情報は、前記ユーザのログインがあると、前記コンピューティングデバイスに対してアクセス可能である、
請求項１１に記載のシステム。
【請求項１３】
前記画像は、静止画像又はビデオ画像を含む、
請求項１に記載のシステム。
【請求項１４】
命令が記憶される１つ以上のコンピュータ読取可能記憶メモリと、
１つ以上のプロセッサであって、前記命令を実行して、
前記命令を備えるアプリケーションの実行を開始することに応答して、ユーザ介入なしに基準を生成する動作と、
前記の生成する動作に応答して、ユーザ介入なしに、ユーザに関連付けられる画像を識別する動作と、
前記の識別する動作に応答して、ユーザ介入なしに、表示用に前記識別された画像のサブセットを選択する動作と、
前記の選択する動作に応答して、ユーザ介入なしに、前記識別された画像の前記選択されたサブセットを画像レイアウト内に表示する動作であって、前記画像レイアウトは、前記画像レイアウト内に表示されている少なくとも１つの画像を識別するために使用される、前記生成された基準のうちの少なくとも１つの説明を含む、動作と、
を含む動作を実行するように構成される、１つ以上のプロセッサと；
を具備するシステム。
【請求項１５】
前記基準のうちの少なくとも１つは、人々、時間又は位置に基づく、
請求項１４に記載のシステム。
【請求項１６】
前記基準のうちの少なくとも１つは、前記画像内に含まれるピクセルに基づく、
請求項１４に記載のシステム。
【請求項１７】
コンピューティングデバイスにおける実行のためにアプリケーションを起動するステップと；
前記アプリケーションを起動することに応答して、自動的かつユーザ介入なしに生成される画像キューレーションの基準を使用して、画像をキューレートするステップと；
前記キューレートするステップに応答して、自動的かつユーザ介入なしに、前記キューレートされた画像をディスプレイデバイスにより表示させるステップであって、前記キューレートされた画像は、該キューレートされた画像のうちの少なくとも２つ以上が同時に表示されるようレイアウトに従って表示され、該レイアウトは、前記キューレートされた画像のうち前記レイアウトに従って表示されている少なくとも１つの画像を識別するために使用される、前記生成された基準のうちの少なくとも１つの説明を含む、ステップと；
を具備する方法。
【請求項１８】
前記レイアウトは、該レイアウトを見るときにユーザに対して可視の事前構成された境界を含まない、
請求項１７に記載の方法。
【請求項１９】
前記アプリケーションは、オペレーティングシステムの一部であり、前記の起動するステップは、前記キューレートされた画像を出力するためにユーザによるオプションの選択に応答して実行される、
請求項１７に記載の方法。
【請求項２０】
前記画像は、静止画像又はビデオ画像を含む、
請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ介入なくレイアウトに従った画像識別及び編成に関する。
【背景技術】
【０００２】
ユーザが、日々の生活でキャプチャし、対話する画像の量は常に増え続けている。例えばモバイルフォンへのカメラ機能の追加により、ユーザは手軽に、多数の画像、例えば静止画像及びビデオをキャプチャすることがある。さらに、ユーザは、様々な他のユーザから、彼らのモバイルフォンでキャプチャした画像を受け取ることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
これらの画像は、電子メール、写真共有サイト、ソーシャルネットワーク等を含め、様々な異なるサービスを使用して共有され得る。その結果、典型的なユーザであっても、様々な異なるソースに広がる大量の画像を有することがあり、これは、ユーザが興味のある特定の画像を探すことを難しくすることがある。
【課題を解決するための手段】
【０００４】
画像キューレーション技術を説明する。１つ以上の実装において、１つ以上のモジュールが、コンピューティングデバイスにおける実行のために起動される。この起動に応答して、基準が、コンピューティングデバイスによる１つ以上のモジュールの実行を通して、自動的かつユーザ介入なしに生成される。画像は、１つ以上のモジュールの実行を通して自動的かつユーザ介入なしに生成された基準を使用して、キューレートされる。キューレートされた画像は、１つ以上のモジュールの実行を通して自動的かつユーザ介入なしに、コンピューティングデバイスのディスプレイデバイスにより表示されることになる。
【０００５】
１つ以上の実装において、１つ以上のコンピュータ読取可能記憶媒体は、コンピューティングデバイスによる実行に応答して、該コンピューティングデバイスに、自動的かつユーザ介入なしに動作を実行させる命令を備える。この動作は、基準を生成することと、生成された基準を使用して、複数の異なる画像ソースから、ユーザに関連付けられる画像を識別することと、表示用に、識別された画像のサブセットを選択することと、選択された画像のサブセットのうちの１つ以上の画像を、画像レイアウト内の位置に合致させることと、画像レイアウトにおける、選択された画像のサブセットのうちの少なくとも１つの画像の表示を、選択された画像のサブセットの別の画像に置換することとを含む。
【０００６】
１つ以上の実装において、システムは、少なくとも部分的にハードウェアで実装される１つ以上のモジュールを備え、該１つ以上のモジュールは動作を実行するように構成される。動作は、自動的にユーザ介入なしに生成される基準を使用して、画像をキューレートすることを含み、該キューレートされた画像は、ユーザに関連付けられる、複数の異なる画像ソースから識別される。動作は、キューレートされた画像を、ディスプレイデバイスによって自動的かつユーザ介入なしに表示させることも含み、キューレートされた画像は、第１の画像ソースからの少なくとも１つの画像が、第２の画像ソースからの第２の画像と同時に表示されるよう、レイアウトに従って表示される。
【０００７】
この「発明の概要」の記載は、以下で「発明を実施するための形態」の項において更に説明される概念の選択を、簡略化された形式で紹介するために提供される。この「発明の概要」の記載は、特許請求に係る主題の主要な特徴又は本質的特徴を特定するようには意図されておらず、また、特許請求に係る主題の範囲を確定する際の助けとして使用されるようにも意図されていない。
【０００８】
詳細な説明は、添付の図面との関連で記述される。図面において、参照番号の１番左の桁は、その参照番号が最初に現れる図面を特定する。説明中の異なる例における同じ参照番号の使用は、同様又は同一のアイテムを示すことがある。図面内に現れるエンティティは、１つ以上のエンティティを示す可能性があり、したがって、本説明では、単数形のエンティティと複数形のエンティティへの参照は交換可能に行われることがある。
【図面の簡単な説明】
【０００９】
【図１】本明細書で説明される画像キューレーション技術を用いるように動作可能な例示の実装の環境を示す図である。
【図２】図１の画像モジュールが、より詳細に示されており、様々な異なる画像ソースからの画像にアクセスするように構成される、例示の実装のシステムを示す図である。
【図３】図２の画像モジュールが画像レイアウトを用いてレイアウトを追加する、例示の実装を示す図である。
【図４】画像が、自動的かつユーザ介入なしに、自動的に生成される基準に基づいて表示され、該表示がアプリケーションの起動に応答して行われる、例示の実装のプロシージャを示すフロー図である。
【図５】識別された画像のサブセットが、画像レイアウトに合致され、レイアウトの表示の一部として時間とともに順次置換される、例示の実装のプロシージャを示すフロー図である。
【図６】画像が、自動的かつユーザ介入なしに生成される基準を使用してキューレートされる、例示の実装のプロシージャを示すフロー図である。
【図７】本明細書で説明される技術の実施形態を実装するために、図１〜図６に関連して説明されるような任意のタイプのコンピューティングデバイスとして実装され得る、例示のデバイスの様々なコンポーネントを含む例示のシステムを示す図である。
【発明を実施するための形態】
【００１０】
＜概要＞
ユーザは、静止画とビデオの双方の画像を、様々な異なる場所に記憶させることがある。このような場所には、そのユーザの異なるデバイス（例えばモバイルフォン、タブレット、デスクトップコンピュータ）、異なるサービス（例えばソーシャルネットワーク、写真共有サービス）等が含まれることがある。その結果、ユーザが、これらの画像に効率的な手法でアクセスすることが難しいことがある。
【００１１】
画像キューレーション技術を説明する。１つ以上の実装では、モジュールを使用して、様々な異なる画像ソースからの画像を自動的にキューレートする（例えば識別して編成する）ことがある。例えばモジュールは、自動的かつユーザ介入なしに「興味ある」画像をコレクションから識別するために使用され得る基準を生成するように構成されることがある。表示用の画像のサブセットを、この潜在的に興味ある画像のプールから選択する技術も用いてよい。ユーザによる閲覧のために、「マルチアップ（multi-up）」レイアウトのような出力の画像の自動的な置換をサポートするモジュールも用いることができ、画像の置換及び追加の基準の後の生成を含んでもよい。このようにして、ユーザには、幅広いソースからの画像に対して、効率的な手法によるアクセスが与えられる。これら及び他の技術の更なる議論は、以下のセクションに関連して見つかるであろう。
【００１２】
以下の議論では、まず、本明細書で説明される技術を用いることができる例示の環境を説明する。次いで、例示のプロシージャが説明される。この例示のプロシージャは、例示の環境だけでなく他の環境において実行されてもよい。したがって、例示のプロシージャの実行は例示の環境に限定されず、また例示の環境は、例示のプロシージャの実行に限定されない。
【００１３】
＜例示の環境＞
図１は、本明細書で説明される技術を用いるように動作可能な例示の実装における環境１００を示す図である。図示される実施形態１００は、処理システム１０４及びメモリ１０６として図示されているコンピュータ読取可能記憶媒体を有するコンピューティングデバイス１０２を含むが、図７に関連して下記に更に説明されるように、他の構成も考えられる。
【００１４】
コンピューティングデバイス１０２は、様々な方法で構成され得る。例えばコンピューティングデバイスは、ネットワーク上で通信する能力を有するコンピュータとして構成されてよく、例えばデスクトップコンピュータ、モバイルステーション、エンターテイメント機器、ディスプレイデバイスに通信上結合されるセットトップボックス、ワイヤレスフォン、ゲームコンソール等である。したがって、コンピューティングデバイス１０２は、十分なメモリ及びプロセッサリソースを有する完全リソースデバイス（例えばパーソナルコンピュータ、ゲームコンソール）から、限られたメモリ及び／又は処理リソースしか有さない低リソースデバイス（例えば従来的なセットトップボックス、ハンドヘルドゲームコンソール）にまで及ぶことがある。さらに、単一のコンピューティングデバイス１０２が示されているが、コンピューティングデバイス１０２は、例えばウェブサービス、リモートコントロールとセットトップボックスの組合せ、画像キャプチャデバイス及びジェスチャをキャプチャするように構成されるゲームコンソール等によって動作を実行するために企業によって用いられる複数のサーバのような、複数の異なるデバイスを表してもよい。
【００１５】
コンピューティングデバイス１０２は更に、オペレーティングシステム１０８を含むように図示されている。オペレーティングシステム１０８は、コンピューティングデバイス１０２の基礎となる機能性を、コンピューティングデバイス１０２上で実行可能なアプリケーション１１０に対して抽象化するように構成される。例えばオペレーティングシステム１０８は、処理システム１０４、メモリ１０６、ネットワーク１１２及び／又はコンピューティングデバイス１０２のディスプレイデバイスの機能性を抽象化することができ、この基礎となる機能性が「どのように」実装されるかを知る必要なく、アプリケーション１１０を書くことができる。アプリケーション１１０は、例えば図示されたディスプレイデバイスによってレンダリング及び表示されるデータを、このレンダリングがどのように行われるかを理解する必要なく、オペレーティングシステム１０８に提供することができる。オペレーティングシステム１０８は、ファイルシステム及びコンピューティングデバイス１０２のユーザによってナビゲート可能なユーザインタフェースを管理することや、ユーザに固有のリソースへのアクセスを提供するユーザログインを管理すること等のような、様々な他の機能性も表してよい。
【００１６】
アプリケーション１１０は、画像の管理に関する機能性を表す画像モジュール１１４を含むように図示されている。アプリケーション１１０の一部として図示されているように、画像モジュール１１４の機能性は、様々な方法で実装されてよく、例えばオペレーティングシステム１０８の一部として、環境にわたって分散され、ネットワークサービスの一部として用いられるスタンドアロンのアプリケーション等として実装されることがある。その更なる例は、図７に関連して説明される。
【００１７】
画像モジュール１１４による画像の管理に関する機能性の一例は、画像のキューレーションに関する。これは、潜在的に「興味ある」画像を探すために用いられ得る基準の生成を含み、この基準の生成は、画像モジュール１１４によって、自動的かつユーザ介入なしに実行され得る。基準の例には、時間ベースの基準（例えば８月）、人ベースの基準（例えばユーザ、ユーザの子供、ユーザの友達）、位置ベースの基準（例えば位置スポット）、ピクセルベースの基準（例えば特定の色のピクセル）及び他のものが含まれる。
【００１８】
画像モジュール１１４は、様々な異なるソースからの画像にアクセスするようにも構成されることがある。このようなソースは、コンピューティングデバイス１０２に対してローカルにあるストレージ、例えばメモリ１０６を含んでもよい。また、このようなソースは、ネットワーク１１２を介してアクセス可能な画像ソースを含んでもよい。この例は、画像１１８に関連するネットワークサービスをサポートするように構成される、複数の異なるサービスプロバイダ１１６のうちの１つである。このようなサービスには、ソーシャルネットワーク、画像共有サービス、画像記憶サービス等が含まれ得る。したがって、画像モジュール１１４は、様々な異なるソースからの画像との対話をサポートするように構成され、またこのような対話のサポートを、自動的に、ユーザ介入なしに行うことができる。この例は、後続の図面との関連で説明される。
【００１９】
図２は、例示の実装のシステム２００を示す図であり、このシステム２００において、より詳細に示されている画像モジュール１１４は、様々な異なる画像ソースからの画像にアクセスするように構成される。前述したように、画像モジュール１１４は、様々な異なる画像ソース２０２からの画像にアクセスすることができる。説明される一例は、画像モジュール１１４を実行したコンピューティングデバイス１０２のような、コンピューティングデバイスのローカルストレージ２０４を含む。コンピューティングデバイスのローカルストレージ２０４は、例えば画像が管理される１つ以上のフォルダを含むことがある。
【００２０】
別の例において、画像ソース２０２は、ユーザに関連する他のコンピューティングデバイス２０６を含むことがある。ユーザは、例えば図７に図示されるようなモバイルフォン、タブレットコンピュータ、ゲームコンソール、デスクトップコンピュータを使用して、画像を格納する。したがって、画像モジュール１１４は、これらの他のデバイスからの画像に、画像モジュール１１４に対してアクセス可能な認証情報を使用するログインプロシージャ等を通じてアクセスことができる。
【００２１】
更なる例では、画像ソース２０２は、ユーザに関連するリモートストレージ２０８を含む。これには、ネットワーク１１２上でアクセス可能なストレージとして動作するようユーザに利用可能にされるストレージが含まれ、この例は「ＳｋｙＤｒｉｖｅ」である（ＳｋｙＤｒｉｖｅは、ワシントン州レドモンドのマイクロソフト社の登録商標である）。更なる例では、画像ソース２０２は、ネットワーク１１２を介してリモートにアクセス可能な写真共有サービス２１０を含むことがある。写真共有サービス２１０は、ユーザに対して（例えばバックアップとして）アクセス可能にされ、他のユーザと共有されることもある画像のアップロードをサポートするように構成される。他のユーザは、例えば電子メールアドレスの指定等を通じて、リンクを含む電子メールの受信により、画像にアクセスする権限を与えられる。
【００２２】
画像ソース２０２は、ユーザのソーシャルネットワークアカウント２１２も含むことがある。画像は、例えば他のユーザ（例えばユーザの「友達」）と共有するためにユーザによりアップロードされ、及び／又はソーシャルネットワークサービスを介して、他のユーザからそのユーザに共有され得る。したがって、「友達」又は指定される他の関係を使用して、ユーザが他のユーザに画像へのアクセスを許可することができ、またその反対も可能である。更なる例において、画像のメタデータの一部として格納されるタグに基づいて見つけられる画像のように、ユーザを識別するタグを有する画像２１４を、画像ソース２０２として使用してもよい。したがって、画像モジュール１１４を使用して、多様な異なるソースからの画像にアクセスすることができる。他の例も考えられる。
【００２３】
画像ソース２０２に関わらず、画像モジュール１１４は、様々な異なる技術を用いて、ユーザにとって潜在的に興味がある可能性のある画像を識別することができる。画像モジュール１１４は、例えば基準生成モジュール２１６を用いてもよい。この基準生成モジュール２１６は、潜在的に興味がある可能性のある画像のコレクションを識別するために使用され得る基準を生成する機能を表す。この生成は、アプリケーション１１０の起動、オペレーティングシステム１０８によってサポートされる画像閲覧モードの選択等に応答して、自動的にユーザ介入なしに実行され得る。
【００２４】
様々な異なる基準が、基準生成モジュール２１６によって生成され得る。この基準は、時間ベースの基準を含んでもよく、この時間ベースの基準では、複数年にわたる特定の時間枠（timeframe）、例えば週、休日、月、季節、年等からの画像を含み得る。別の例では、この時間ベースの基準は、所定の時間内に撮影、編集及び／又はアクセス可能にされ、最近コメントを受け取った「最近の」画像を含んでもよい。したがって、時間ベースの基準は、以下で更に説明されるように、画像を識別するために、画像に関連付けられるメタデータと比較され得る。
【００２５】
別の例では、基準は、画像に含まれる人に基づくものであってもよい。画像は、例えば画像内に含まれる人々を記述するメタデータ（例えばタグ）を含み得る。画像分析により複数の画像内で同様のユーザを識別するような他の技術も考えられる。更なる例では、基準は位置ベースであってもよい。例えば画像がキャプチャされた場所を記述する座標が、画像に関連するメタデータ内に含まれるように、画像に位置情報タグ（geo-tag）を付けてもよい。したがって、これらの例では、メタデータを用いて、興味ある画像を識別するために使用される基準を定義することができる。
【００２６】
メタデータでは定義されない他の基準を使用する、他の例も考えられる。例えば画像のピクセル自体を使用して、例えば色、特定のユーザの識別情報、位置、目印等に基づいて、基準を定義してもよい。さらに、画像がぼやけているかどうか、ビデオが動かないかどうか及び他の視覚的な審美性のような、画像の品質を基準として使用してもよい。
【００２７】
基準生成モジュール２１６は、潜在的に興味ある画像を識別するために使用されることになる基準の生成に、ルール２１８も用いることがある。ルール２１８は、例えば連続する出力に同じ基準が使用されないよう基準の置換を指定し、モニタされるユーザ対話に基づいて基準を変更するヒューリスティックを用いることがある。ルール２１８は、例えば以前の基準が繰り返し使用されないよう、以前の出力に使用された基準に少なくとも部分的に基づいて基準を生成させるようにすることがある。したがって、基準生成モジュール２１６は、様々な異なる技術を用いて、自動的かつユーザ介入なしに基準を生成することができる。
【００２８】
基準は、次いで画像モジュール１１４の画像識別モジュール２２０によって使用されて、生成された基準に適合する画像を識別することができる。この識別は、モジュールによって自動的かつユーザ介入なしに、様々な方法で実行され得る。例えば画像識別モジュール２２０は、実際の画像はダウンロードせずに、ネットワーク１１２を介してリモートに配置された画像ソース２０２のメタデータを検査することができ、それにより、ネットワークの帯域幅を節約し、効率性を向上させることができる。ダウンロードを実行する他の例も考えられる。このようにして、画像識別モジュール２２０は、基準生成モジュール２１６によって生成される基準に対応する画像を識別することができる。
【００２９】
画像識別モジュール２２０によって、Ｊａｎｕａｒｙ  Ｍｏｍｅｎｔｓのような興味あるコレクションが識別されると、表示すべき画像のサブセットを識別するために、サブセット選択モジュール２２２によって、コレクションに対する分析が自動的かつユーザ介入なしに行われる。例えばサブセット選択モジュール２２２は、コレクションにわたって均等な分布が確実に取得されるように、コレクションに対して固有の確率曲線を有するアルゴリズムを用いることがある。クラスタ化（例えば同じグループショットのバリエーションである３つの写真を表示すること）を避けるために、「十分に離れた」画像を選択するように「撮影日付」フィールドを有する画像を用いることがある。マルチアップレイアウトによって示されるような横方向対縦方向の所望の比を有する画像が、サブセット選択モジュール２２２によって選択され得る。更なる例では、サブセット選択モジュール２２２は、例えば画像がそれぞれ単一のソースから取得されないよう、確実に異なる画像ソースを用いるようにする。
【００３０】
この時点で、画像モジュール１１４は、表示すべき画像のキューレート済みのサブセットを識別している。画像モジュール１１４は、次いで画像レイアウトモジュール２２４を用いて、表示用に画像をレイアウト内に配置（populate）することができる。レイアウトは、スライドショー等のような様々な異なる形式を取り、複数の画像の同時ビューをサポートし得る。このレイアウトを保存し、他のユーザと共有し、印刷してもよい。さらに、レイアウトは、サイズ調整やトリミング、レイアウト内に入れるための画像の他の修正を要することもあり、後続の図面に関連して更に説明されるように、画像置換モジュール２２６を用いて、サブセット内の画像の表示を回転させてもよい。
【００３１】
図３は、図２の画像モジュール１１４が、画像レイアウトモジュール２２４を用いてマルチアップレイアウトを配置する例示の実装３００を示している。例示の実装３００は、第１の段階３０２と第２の段階３０４を使用して示されている。第１の段階３０２では、未配置のレイアウト３０６が、図１のコンピューティングデバイス１０２のディスプレイデバイスによる表示のために、サブセットから取った複数の画像を含むように構成されるものとして示されている。図示されるように、レイアウト３０６は、レイアウトに含まれる画像について異なるサイズ及び方向を含み得る。
【００３２】
第２の段階３０４では、画像レイアウトモジュール２２４は、レイアウト３０６を配置している。これには、所与の画像についてレイアウト内の位置を決定するルールの適用が含まれることがある。これらのレイアウトは、横方向の画像を横方向のレイアウト位置に合致させること、縦方向の画像を縦方向のレイアウト位置に合致させること、同様の画像がレイアウト内で間隔をあけて置かれるような画像の配置を含み得る。
【００３３】
図示される例では、レイアウトを見ているときに事前構成された境界がユーザに対して可視にならないように、画像が表示されている。例えば画像のピクセルは、隣接する画像のピクセル間に別のソースからのピクセルが表示されないように、相互に近接して表示され得る。当然、第１の段階３０２において図示されるような境界が表示される実装を含め、他の実装も考えられる。また、図示される例では、レイアウトが、ウィンドウ、メニュー、スライダのような「クローム」の表示を要しない没入型又は現代的なシェル（modern  shell）内に表示されているように示されているが、他の例も考えられる。
【００３４】
画像の初期配置によりレイアウトが埋まると、画像置換モジュール２２６によって上記と同じ又は異なるレイアウト合致ルールを用いて、キューレートされたサブセットから新たな画像を使用して、既存の画像（例えば一度に１つ、同時にサブセットの全て等）を置換することができる。図示された例では、レイアウト３０６は、画像を識別するために使用される少なくとも１つの基準の記述、例えば図示された例では「８月」も含む。
【００３５】
キューレートされたサブセットの表示が完了すると、適用可能であれば、追加のキューレートされたサブセットが選択されて、新たな記述とともに表示され得る。このようにして、新たなキューレート画像を使用して、例えば一度に１つ又はサブセット等で、古いキューレート画像を置換することができる。したがって、ユーザがレイアウトを見続けていると、ユーザには、画像により記録されるような、順次キューレートされる記憶のセットが提示される。
【００３６】
前述したように、画像モジュール１１４は、次のキューレート画像のセットの選択にルールを用いて、同一のセットが連続して現れないことを保証することができる。コレクションを再分析して、所与のセットが閲覧された後に異なる写真のサブセットを選択するよう、ルールが用いられてもよい。例えば「Ｊａｎｕａｒｙ  Ｍｏｍｅｎｔｓ」が閲覧された後、Ｊａｎｕａｒｙからの画像の母集団を再分析し、次回「Ｊａｎｕａｒｙ  Ｍｏｍｅｎｔｓ」が現れるときに異なる画像が選択されるよう新たなサブセットが選択される。様々な他の例も考えられ、その更なる議論は、以下の項に関連して見られるであろう。
【００３７】
＜例示のプロシージャ＞
以下の記載では、前述のシステム及びデバイスを用いて実装され得る画像キューレーション技術を説明する。それぞれのプロシージャの態様は、ハードウェア、ファームウェア又はソフトウェア又はこれらの組合せで実装され得る。プロシージャは、１つ以上のデバイスによって実行される動作を示すブロックのセットとして示されているが、必ずしも、個々のブロックによって示される動作を実行する順序に限定されない。以下の記載の一部では、図１〜図３を参照することがある。
【００３８】
図４に、自動的に生成される基準に基づいて、画像が自動的かつユーザ介入なしに表示される、例示の実装のプロシージャ４００を示す。１つ以上のモジュールが、コンピューティングデバイスにおける実行のために起動される（ブロック４０２）。画像モジュール１１４は、例えばアプリケーション１１０、オペレーティングシステム１０８等の一部として含まれ得る。
【００３９】
上記の起動に応答して、コンピューティングデバイスによる１つ以上のモジュールの実行を通して自動的かつユーザ介入なしに、基準が生成される（ブロック４０４）。基準は、例えば静止画像及び／又はビデオ画像を含め、潜在的に興味ある画像を識別するためにどの基準を使用すべきかを決定する、ルール２１８を使用して選択され得る。
【００４０】
１つ以上のモジュールの実行を通して自動的かつユーザ介入なしに生成された基準を使用して、画像がキューレートされる。キューレートされる画像は、ユーザに関連付けられる、複数の異なる画像ソースから識別される（ブロック４０６）。画像モジュール１１４は、例えば様々な異なる画像ソース２０２にアクセスして画像をキューレートすることができる。これには、画像を識別する動作と、画像を取得する動作と、図３に関連して説明したようなレイアウトに従って編成する動作とが含まれ得る。
【００４１】
キューレートされた画像は、コンピューティングデバイスのディスプレイデバイスによって、１つ以上のモジュールの実行を通して自動的かつユーザ介入なしに、表示されることになる（ブロック４０８）。前述の例を続けると、アプリケーションの起動の後にユーザ入力を必要とせずに画像が表示されるよう、キューレートされた画像はアプリケーションの起動の際に表示され得る。このようにして、ユーザに、潜在的に興味ある画像のコレクションの自動的な表示が提供される。様々な他の例も考えられる。
【００４２】
図５に、識別された画像のサブセットを、画像レイアウトに合致させて、レイアウトの表示の一部として時間とともに順次置換する、例示の実装のプロシージャ５００を示す。基準は、図２に関連して前述したような基準生成モジュール２１６の実行等を通して、自動的かつユーザ介入なしに生成される（ブロック５０２）。
【００４３】
ユーザに関連付けられる画像が、複数の異なる画像ソースから、生成された基準を使用して識別される（ブロック５０４）。前述の例を続けると、画像識別モジュール２２０は、画像ソース２０２からの画像のうち、どの画像が、基準生成モジュール２１６によって生成された基準に適合するかを識別することができる。
【００４４】
識別された画像のサブセットが表示用に選択される（ブロック５０６）。このサブセットは、サブセット選択モジュール２２２によって、前述のような様々な考慮事項に基づいて選択され得る。画像の選択されたサブセットのうちの１つ以上の画像を、画像レイアウト内の位置に合致させる（ブロック５０８）。画像レイアウト内における、選択された画像のサブセットのうちの少なくとも１つの画像の表示が、選択された画像のサブセットの別の画像の表示と置換される（ブロック５１０）。図３に示されるように、例えば画像レイアウトモジュール２２４は、画像を、画像レイアウト内の特定の位置に割り当てる。これらの画像は、時間とともに順次置換されて、アクティブな閲覧経験を提供し得る。様々な他の例も考えられる。
【００４５】
図６に、画像が、自動的かつユーザ介入なしに生成された基準を使用してキューレートされる、例示の実装のプロシージャ６００を示す。画像は、自動的かつユーザ介入なしに生成された基準を使用してキューレートされ、該キューレートされる画像は、ユーザに関連付けられる、複数の異なる画像ソースから識別される（ブロック６０２）。画像は、例えば画像モジュール１１４の実行を通して、ユーザインタフェース内の表示用に画像を識別して編成するように、キューレートされ得る。図２に示されるように、これらの画像は、様々な異なる画像ソース２０２から取得され得る。
【００４６】
キューレートされた画像を、ディスプレイデバイスにより自動的かつユーザ介入なしに表示させ、この場合、キューレートされた画像は、第１の画像ソースからの少なくとも１つの画像が、第２の画像ソースからの第２の画像と同時に表示されるよう、レイアウトに従って表示される（ブロック６０４）。例えば画像は、コンピューティングデバイスのローカルストレージ２０４、ユーザに関連する他のコンピューティングデバイス２０６（例えばユーザの電話のようなリモートデバイス）、ユーザに関連するリモートストレージ２０８、写真共有サービス２１０、ユーザのソーシャルネットワークアカウント２１２、ユーザを識別するタグを有する画像２１４等から取得され得る。別の画像も取得されることがあり、この画像は、最初の画像とは異なるソースからのものである。これらの画像は、その後、図３に示されるような「マルチアップレイアウト」のように同時に表示され得るが、様々な他のレイアウトの例も考えられる。
【００４７】
＜例示のシステム及びデバイス＞
図７は、全体的に７００として例示のシステムを図示している。このシステムは、本明細書で説明される様々な技術を実装することができる１つ以上のコンピューティングシステム及び／又はデバイスを表す、例示のコンピューティングデバイス７０２を含む。これは、例示のコンピューティングデバイス７０２の一部としての画像モジュール１１４の組み込みを通して図示されている。コンピューティングデバイス７０２は、例えばサービスプロバイダのサーバ、クライアント（例えばクライアントデバイス）に関連付けられたデバイス、オンチップシステム及び／又は任意の他の適切なコンピューティングデバイス若しくはコンピュータシステムとすることができる。
【００４８】
図示されるように、例示のコンピューティングデバイス７０２は、相互に通信可能に接続される処理システム７０４と、１つ以上のコンピュータ読取可能媒体７０６と、１つ以上のＩ／Ｏインタフェース７０８とを含む。図示されていないが、コンピューティングデバイス７０２は更に、様々なコンポーネントを相互に結合するシステムバスあるいは他のデータ及びコマンド転送システムを含んでもよい。システムバスは、メモリバス若しくはメモリコントローラ、周辺バス、ユニバーサルシリアルバス及び／又は様々なバスアーキテクチャのいずれかを使用するプロセッサ若しくはローカルバスのような、異なるバス構造のうちのいずれか１つ又は組合せを含むことができる。制御及びデータ回線のような様々な他の例も考えられる。
【００４９】
処理システム７０４は、ハードウェアを使用して１つ以上の動作を実行する機能性を表す。したがって、処理システム７０４は、プロセッサ、機能ブロック等として構成され得るハードウェア要素７１０を含むように図示されている。これは、特定用途向け集積回路又は１つ若しくは複数の半導体を使用して形成される他の論理デバイスとして、ハードウェアの実装を含むことがある。ハードウェア要素７１０は、これらが形成される材料や用いられる処理機構に制限されない。例えばプロセッサは、半導体及び／又はトランジスタ（例えば電子集積回路（ＩＣ））から構成されることがある。そのようなコンテキストにおいて、プロセッサ実行可能命令は、電子的に実行可能な命令であってよい。
【００５０】
コンピュータ読取可能記憶媒体７０６は、メモリ／ストレージ７１２を含むように図示されている。メモリ／ストレージ７１２は、１つ以上のコンピュータ読取可能媒体に関連付けられたメモリ／記憶機能を表す。メモリ／ストレージコンポーネント７１２は、揮発性媒体（ランダムアクセスメモリ（ＲＡＭ）等）及び／又は非揮発性媒体（読取専用メモリ（ＲＯＭ）、フラッシュメモリ、光ディスク、磁気ディスク等）を含むことができる。メモリ／ストレージコンポーネント７１２は、固定の媒体（例えばＲＡＭ、ＲＯＭ、固定のハードドライブ等）並びに取外し可能媒体（例えばフラッシュメモリ、取外し可能ハードドライブ、光ディスク等）を含むことができる。コンピュータ読取可能媒体７０６は、以下で更に説明されるように様々な他の方法で構成されてもよい。
【００５１】
入出力（Ｉ／Ｏ）インタフェース７０８は、ユーザがコマンド及び情報をコンピューティングデバイス７０２に入力するのを可能にし、また様々な入出力デバイスを使用して、情報をユーザ及び／又は他のコンポーネント若しくはデバイスに提示することを可能にする機能性を表す。入力デバイスの例には、キーボード、カーソル制御デバイス（例えばマウス）、マイク、スキャナ、タッチ機能（例えば物理的な接触を検出するように構成される容量式センサ又は他のセンサ）、カメラ（例えば赤外線周波数のような可視又は非可視の波長を用いて、接触を伴わない動きをジェスチャとして認識し得るもの）等が含まれる。出力デバイスの例には、ディスプレイデバイス（例えばモニタ又はプロジェクタ）、スピーカ、プリンタ、ネットワークカード、触覚応答デバイス等が含まれる。したがって、コンピューティングデバイス７０２は、以下で更に説明されるように、ユーザ対話をサポートするように様々な方法で構成され得る。
【００５２】
本明細書では、様々な技術がソフトウェア、ハードウェア要素又はプログラムモジュールの一般的なコンテキストにおいて説明され得る。一般に、そのようなモジュールは、特定のタスクを実行するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造等を含む。本明細書で使用されるとき、「モジュール」、「機能（性）」及び「コンポーネント」という用語は、一般的に、ソフトウェア、ファームウェア、ハードウェア又はこれらの組合せを表す。本明細書で説明される技術の特徴はプラットフォーム独立であるが、これは、本技術が、様々なプロセッサを有する様々な市販のコンピューティングプラットフォームにおいて実装され得ることを意味する。
【００５３】
説明されるモジュール及び技術の実装は、何らかの形式のコンピュータ読取可能媒体に格納されるか、そのコンピュータ読取可能媒体によって伝送され得る。コンピュータ読取可能媒体は、コンピューティングデバイス７０２によってアクセスされ得る様々な媒体を含み得る。限定ではなく例として、コンピュータ読取可能媒体は、「コンピュータ読取可能記憶媒体」と「コンピュータ読取可能信号媒体」とを含むことがある。
【００５４】
「コンピュータ読取可能記憶媒体」は、単なる信号伝送や、搬送波又は信号自体等とは対照的に、情報の持続的及び／又は非一時的な記憶を可能にする媒体及び／又はデバイスを指すことができる。したがって、コンピュータ読取可能記憶媒体は、非信号担持媒体を指す。コンピュータ読取可能媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、ロジック要素／回路又は他のデータのような情報の記憶に適した方法又は技術で実装される、揮発性及び非揮発性、取外し可能及び取外し不可能の媒体及び／又はストレージデバイスのようなハードウェアを含む。コンピュータ読取可能記憶媒体の例には、これらに限られないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）若しくは他の光ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、あるいは所望の情報を格納することに適切であって、コンピュータによってアクセス可能な他の記憶デバイス、有形の媒体又は製品が含まれる。
【００５５】
「コンピュータ読取可能信号媒体」は、命令を、ネットワークを介するなどしてコンピューティングデバイス７０２のハードウェアに伝送するように構成される信号担持媒体を指すことがある。信号媒体は典型的に、コンピュータ読取可能命令、データ構造、プログラムモジュール又は他のデータを、搬送波、データ信号又は他の伝送機構のような変調データ信号で具現化することができる。信号媒体は、任意の情報配信媒体も含む。「変調データ信号」という用語は、情報を信号にエンコードするような方法で設定又は変更された特性の１つ又は複数を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体と、音響、ＲＦ、赤外線及び他の無線媒体のような無線媒体とを含む。
【００５６】
上述のように、ハードウェア要素７１０及びコンピュータ読取可能媒体７０６は、一部の実施形態において、１つ以上の命令を実行するような、説明される技術の少なくとも一部の態様を実装するために用いられるハードウェア形式で実装されるモジュール、プログラマブルデバイスロジック及び／又は固定のデバイスロジックを表す。ハードウェアは、集積回路若しくはオンチップシステム、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、結合プログラム可能論理回路（ＣＰＬＤ）及びシリコンでの他の実装や他のハードウェアが含まれる。このコンテキストにおいて、ハードウェアは、命令によって定義されるプログラムタスク及び／又はハードウェアによって具現化されるロジックを実行する処理デバイス、並びに実行のために命令を格納するために用いられるハードウェア、例えば前述したコンピュータ読取可能記憶媒体として動作してもよい。
【００５７】
上述の組合せを用いて、本明細書で説明される様々な技術を実装することもできる。したがって、ソフトウェア、ハードウェア又は実行可能モジュールを、何らかの形式のコンピュータ読取可能記憶媒体において及び／又は１つ以上のハードウェア要素７１０によって具現化される１つ以上の命令及び／又はロジックとして実装してもよい。コンピューティングデバイス７０２は、ソフトウェア及び／又はハードウェアモジュールに対応する特定の命令及び／又は機能を実装するように構成され得る。したがって、コンピューティングデバイス７０２によって実行可能なモジュールのソフトウェアとしての実装は、少なくとも部分的にハードウェアで、例えばコンピュータ読取可能記憶媒体及び／又は処理システム７０４のハードウェア要素７１０の使用を通して達成され得る。命令及び／又は機能は、本明細書で説明される技術、モジュール及び実施例を実装するよう１つ以上の製品（例えば１つ以上のコンピューティングデバイス７０２及び／又は処理システム７０４）によって実行可能／動作可能である。
【００５８】
図７に更に図示されるように、例示システム７００は、アプリケーションをパーソナルコンピュータ（ＰＣ）、テレビジョンデバイス及び／又はモバイルデバイス上で実行するときに、シームレスなユーザ経験のためのユビキタス環境を可能にする。サービス及びアプリケーションは実質的に、アプリケーションを使用している間、ビデオゲームをプレイしている間、ビデオを観ている間等に、あるデバイスから次のデバイスに遷移する際に、共通のユーザ経験のために３つの全ての環境において同様に動作する。
【００５９】
例示システム７００において、複数のデバイスは中央コンピューティングデバイスを通して相互接続される。中央コンピューティングデバイスは、複数のデバイスにローカルであってもよく、複数のデバイスからリモートに配置されてもよい。一実施形態において、中央コンピューティングデバイスは、複数のデバイスにネットワーク、インターネット又は他のデータ通信リンクを通して接続される、１つ以上のサーバコンピュータのクラウドであってよい。
【００６０】
一実施形態において、この相互接続アーキテクチャは、複数のデバイスにわたって配信され、複数のデバイスのユーザに共通でシームレスな経験を提供するのを可能にする。複数のデバイスの各々は、異なる物理的要件及び能力を有し、中央コンピューティングデバイスは、プラットフォームを使用して、デバイスへの経験の配信を可能にするが、この経験は、そのデバイスに対して調整されるが、全てのデバイスに対して共通でもある。一実施形態において、ターゲットデバイスのクラスを作成し、経験をデバイスの汎用クラスに対して調整する。デバイスのクラスを、物理的な特徴、利用のタイプ又はデバイスの他の共通の特性によって定義してもよい。
【００６１】
様々な実装において、コンピューティングデバイス７０２は、コンピュータ７１４用、モバイル７１６用、テレビジョン７１８用の使用のような様々な異なる構成を想定してもよい。これらの構成の各々は、一般に異なる構成及び能力を有することがあるデバイスを含み、したがって、コンピューティングデバイス７０２は、異なるデバイスクラスの１つ又は複数に従って構成され得る。例えばコンピューティングデバイス７０２は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ネットブック等を含むデバイスのコンピュータ７１４クラスとして実装され得る。
【００６２】
コンピューティングデバイス７０２は、モバイルフォン、ポータブル音楽プレイヤ、ポータブルゲームデバイス、タブレットコンピュータ、マルチスクリーンコンピュータ等のモバイルデバイスを含むデバイスのモバイル７１６クラスとして実装されてもよい。コンピューティングデバイス７０２は、簡潔な視聴環境において一般的に大きなスクリーンを有するか、これと接続されるデバイスを含むテレビジョン７１８クラスとして実装されてもよい。これらのデバイスは、テレビジョン、セットトップボックス、ゲームコンソール等を含む。
【００６３】
本明細書で説明される技術は、コンピューティングデバイス７０２のこれらの様々な構成によってサポートされ、本明細書で説明される技術の特定の実施例に限定されない。この機能性は、以下で説明されるように、分散システムの使用を通して、プラットフォーム７２２を介して「クラウド」７２０上に、全て又は部分的に実装され得る。
【００６４】
クラウド７２０は、リソース７２４のためのプラットフォーム７２２を含むか、及び／又はこれを表す。プラットフォーム７２２は、クラウド７２０のハードウェア（例えばサーバ）及びソフトウェアリソースの機能を抽象化する。リソース７２４は、コンピューティングデバイス７０２からリモートのサーバ上でコンピュータ処理が実行されている間に用いることができるアプリケーション及び／又はデータを含み得る。リソース７２４は、インターネット上で及び／又はセルラ若しくはＷｉ−Ｆｉネットワークのような加入者ネットワークを通して提供されるサービスを含むこともできる。
【００６５】
プラットフォーム７２２は、コンピューティングデバイス７０２を他のコンピューティングデバイスに接続するリソース及び機能を抽出する。プラットフォーム７２２は、リソースのスケーリングを抽象化して、スケールの対応するレベルを、プラットフォーム７２２を介して実装されるリソース７２４について生じた要求に提供するように機能することもある。したがって、相互接続されるデバイスの実施形態において、本明細書で説明される機能性の実装をシステム７００にわたって分散してもよい。例えば機能性は、部分的にコンピューティングデバイス７０２内に実装されてもよく、クラウド７２０の機能性を抽象化するプラットフォーム７２２を介して実装されてもよい。
【００６６】
＜結論＞
本発明を、構造的特徴及び／又は方法的動作に特有の言語で説明してきたが、添付の特許請求の範囲において定義される発明は、必ずしも説明される具体的な特徴又は動作に限定されない。むしろ、具体的な特徴及び動作は、特許請求される発明を実装するための例示の形式として開示される。
【図１】
2018077851.tif 000003
【図２】
2018077851.tif 000004
【図３】
2018077851.tif 000005
【図４】
2018077851.tif 000006
【図５】
2018077851.tif 000007
【図６】
2018077851.tif 000008
【図７】
2018077851.tif 000009
【外国語明細書】
2018077851000001.pdf