(57)【要約】画像を選択するための方法及びシステム。本システム及び方法は、１又は複数の画像を受け取り得、同様に受け取った画像のコンテキストも受け取り得る。受け取った画像のコンテキストに基づいて、適切なエンジンが、１又は複数のルーチンを実行することによって、画像を分析し得る。分析の結果に基づいて、１又は複数の画像が選択され得る。本システム及び方法は、プロセッサを用いて、複数の画像のそれぞれにコンテキストスコアを割り当てることをさらに含み得、コンテキストスコアは、コンテキストに関連する少なくとも１つのルーチンによって決定され得る。
2021501508.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの画像を選択するためのコンピュータ実施方法であって、前記方法は、
前記コンピュータへのインターフェースを用いて複数の画像を受け取ることと、
メモリ上に記憶される命令を実行する少なくとも１つのプロセッサにおいて、前記複数の画像に関連するコンテキストを受け取ることと、
前記プロセッサを用いて、前記コンテキストに関連する少なくとも１つのルーチンを実行することによって、前記複数の画像を分析することと、
前記プロセッサを用いて、前記少なくとも１つの実行されたルーチンの結果に基づいて、前記複数の画像のうちの少なくとも１つを選択することと
を備える、方法。
【請求項２】
前記コンテキストはユーザから受け取られる、請求項１に記載の方法。
【請求項３】
前記プロセッサを用いて、前記複数の画像のそれぞれにコンテキストスコアを割り当てることをさらに備える、請求項１に記載の方法であって、前記コンテキストスコアは、前記コンテキストと関連する前記少なくとも１つのルーチンによって決定される、方法。
【請求項４】
前記コンテキストスコアは、画像のコンテキスト、画像のＥＸＩＦデータ、場所データ、画像の撮影者、画像にアクセスするユーザ、画像中の物体、画像中の人々、画像の焦点、及び、ユーザの画像との相互作用のうちの少なくとも１つに基づく、請求項３に記載の方法。
【請求項５】
前記複数の画像のうちの前記少なくとも１つを選択することは、画像の向き、画像捕捉時間、画像中の人々、場所データ、及び画像中の物体のうちの少なくとも１つを用いて、前記複数の画像のうちの少なくとも１つを選択することを含む、請求項１に記載の方法。
【請求項６】
前記コンテキストを提供するために、前記プロセッサを用いて、前記複数の画像の前記コンテキストを予測することをさらに備える、請求項１に記載の方法。
【請求項７】
前記選択された複数の画像のうちの少なくとも１つの第１の画像を第１のユーザへ提示することと、前記選択される複数の画像のうちの少なくとも１つの第２の画像を第２のユーザへ提示することとをさらに備える、請求項１に記載の方法。
【請求項８】
前記少なくとも１つの選択された画像を、権限のある複数のユーザへ共有することをさらに備える、請求項１に記載の方法。
【請求項９】
前記選択された複数の画像は、異なる時期にわたって撮影された、請求項１に記載の方法。
【請求項１０】
前記選択された複数の画像は、異なる場所にわたって撮影された、請求項１に記載の方法。
【請求項１１】
少なくとも１つの画像を選択するためのコンピュータ実施システムであって、前記システムは、
少なくとも複数の画像を受け取るための前記コンピュータへのインターフェースと、
少なくとも１つのプロセッサと
を備え、前記プロセッサは、
前記複数の画像に関連するコンテキストを受け取ることと、
前記コンテキストに関連する少なくとも１つのルーチンを実行することによって、前記複数の画像を分析することと、
前記少なくとも１つの実行されるルーチンの結果に基づいて、前記複数の画像のうちの少なくとも１つを選択することと
を行うように、メモリ上に記憶される命令を実行する、方法。
【請求項１２】
前記コンテキストはユーザから受け取られる、請求項１１に記載のシステム。
【請求項１３】
前記少なくとも１つのプロセッサは、前記少なくとも１つのプロセッサを用いて、前記複数の画像のそれぞれにコンテキストスコアを割り当てるようにさらに構成され、前記コンテキストスコアは、前記コンテキストに関連する前記少なくとも１つのルーチンによって決定される、請求項１１に記載のシステム。
【請求項１４】
前記コンテキストスコアは、画像のコンテキスト、画像のＥＸＩＦデータ、場所データ、画像の撮影者、画像にアクセスするユーザ、画像中の物体、画像中の人々、画像の焦点、及び、ユーザの画像との相互作用のうちの少なくとも１つに基づく、請求項１３に記載のシステム。
【請求項１５】
前記プロセッサは、画像の向き、画像捕捉時間、画像中の人々、場所データ、及び画像中の物体のうちの少なくとも１つを用いて、前記複数の画像のうちの少なくとも１つを選択する、請求項１１に記載のシステム。
【請求項１６】
前記少なくとも１つのプロセッサは、前記コンテキストを提供するために、前記複数の画像の前記コンテキストを予測するようにさらに構成される、請求項１１に記載のシステム。
【請求項１７】
前記少なくとも１つのプロセッサは、前記複数の画像のうちの少なくとも１つの第１の画像を第１のユーザへ提示することと、前記複数の画像のうちの少なくとも１つの第２の画像を第２のユーザへ提示することを行うようにさらに構成される、請求項１１に記載のシステム。
【請求項１８】
前記少なくとも１つのプロセッサは、前記少なくとも１つの選択された画像を、権限のある複数のユーザへ共有するようにさらに構成される、請求項１１に記載のシステム。
【請求項１９】
前記選択された複数の画像は、異なる時期にわたって撮影された、請求項１１に記載のシステム。
【請求項２０】
前記選択された複数の画像は、異なる場所にわたって撮影された、請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本出願は、２０１７年１０月１７日に出願された、同時係属米国仮出願第６２／５７３６４５号の利益を主張する。その開示の全体は、本明細書でその全体を説明してあるかのように、参照によって援用される。
【０００２】
技術分野
本明細書で説明される実施形態は、概して、複数の画像から１又は複数の画像を選択するためのシステム及び方法、より詳しく、しかし排他的でなく言えば、画像と関連したコンテキスト情報を考慮して１又は複数の画像を選択するためのシステム及び方法に関する。
【背景技術】
【０００３】
背景
携帯電話のカメラ及び画像収集機能を有するその他のモバイルデバイスによるデジタル写真の出現は、ユーザがこれまでよりも多くの画像を収集することを可能にした。写真のデジタル化と増加したストレージ能力とにより、デバイスが撮影できるピクチャー、ビデオ、ライブ写真などの数に事実上制限はない。しかしこの結果、ユーザは最終的に、例えば素晴らしい写真と最適とは言えない写真の混ざったものを含む非常に大きな画像のライブラリを有することになってしまう。
【０００４】
従って、画像のコレクションから、最も所望の、さもなくは「最良の」画像を自主的に選択できるシステム及び方法に対するニーズが存在する。
【発明の概要】
【課題を解決するための手段】
【０００５】
概要
この概要は、詳細な説明の章において以下にさらに説明される概念の選択を、簡単化した形式で紹介するために提供される。この概要は、請求される主題の重要な特徴又は不可欠な特徴を特定し、又は、除外することを意図したものでもなく、請求される主題の範囲を決定する際の助力として用いられることを意図したものでもない。
【０００６】
１つの側面において、実施形態は、少なくとも１つの画像を選択するためのコンピュータ実施方法に関する。本方法は、コンピュータへのインターフェースを用いて複数の画像を受け取ることと、メモリ上に記憶された命令を実行する少なくとも１つのプロセッサにおいて複数の画像に関連するコンテキストを受け取ることと、プロセッサを用いてコンテキストに関連する少なくとも１つのルーチンを実行することによって、複数の画像を分析することと、プロセッサを用いて少なくとも１つの実行されたルーチンの結果に基づいて、複数の画像のうちの少なくとも１つを選択することとを含む。
【０００７】
いくつかの実施形態において、コンテキストはユーザから受け取られる。
【０００８】
いくつかの実施形態において、本方法は、プロセッサを用いて、複数の画像のそれぞれにコンテキストスコアを割り当てることをさらに含み、コンテキストスコアは、コンテキストに関連する少なくとも１つのルーチンによって決定される。いくつかの実施形態において、コンテキストスコアは、画像のコンテキスト、画像のＥＸＩＦデータ、場所データ、画像の撮影者、画像にアクセスするユーザ、画像中の物体、画像中の人々、画像の焦点、及び、ユーザの画像との相互作用のうちの少なくとも１つに基づく。
【０００９】
いくつかの実施形態において、複数の画像のうちの少なくとも１つを選択することは、画像の向き、画像捕捉時間、画像中の人々、場所データ、及び画像中の物体のうちの少なくとも１つを用いて、複数の画像のうちの少なくとも１つを選択することを含む。
【００１０】
いくつかの実施形態において、本方法は、コンテキストを提供するために、プロセッサを用いて、複数の画像のコンテキストを予測することをさらに含む。
【００１１】
いくつかの実施形態において、本方法は、選択された複数の画像のうちの少なくとも１つの第１の画像を第１のユーザへ提示することと、選択された複数の画像のうちの少なくとも１つの第２の画像を第２のユーザへ提示することとをさらに含む。
【００１２】
いくつかの実施形態において、本方法は、少なくとも１つの選択された画像を、権限のある複数のユーザへ共有することをさらに含む。
【００１３】
いくつかの実施形態において、選択された複数の画像は、異なる時期にわたって撮影された。
【００１４】
いくつかの実施形態において、選択された複数の画像は、異なる場所にわたって撮影されたものである。
【００１５】
別の側面において、実施形態は、少なくとも１つの画像を選択するためのコンピュータ実施システムに関する。本システムは、少なくとも複数の画像を受け取るためのコンピュータへのインターフェースと、少なくとも１つのプロセッサとを含む。少なくとも１つのプロセッサは、複数の画像に関連するコンテキストを受け取ることと、コンテキストに関連する少なくとも１つのルーチンを実行することによって、複数の画像を分析することと、少なくとも１つの実行されるルーチンの結果に基づいて、複数の画像のうちの少なくとも１つを選択することとを行うために、メモリ上に記憶される命令を実行する。
【００１６】
いくつかの実施形態において、コンテキストはユーザから受け取られる。
【００１７】
いくつかの実施形態において、少なくとも１つのプロセッサは、少なくとも１つのプロセッサを用いて複数の画像のそれぞれにコンテキストスコアを割り当てるようにさらに構成される。コンテキストスコアは、コンテキストに関連する少なくとも１つのルーチンによって決定される。いくつかの実施形態において、コンテキストスコアは、画像のコンテキスト、画像のＥＸＩＦデータ、場所データ、画像の撮影者、画像にアクセスするユーザ、画像中の物体、画像中の人々、画像の焦点、及び、ユーザの画像との相互作用のうちの少なくとも１つに基づく。
【００１８】
いくつかの実施形態において、少なくとも１つのプロセッサは、画像の向き、画像捕捉時間、画像中の人々、場所データ、及び、画像中の物体のうちの少なくとも１つを用いて、複数の画像のうちの少なくとも１つを選択する。
【００１９】
いくつかの実施形態において、少なくとも１つのプロセッサは、コンテキストを提供するために、複数の画像のコンテキストを予測するようにさらに構成される。
【００２０】
いくつかの実施形態において、少なくとも１つのプロセッサは、複数の画像のうちの少なくとも１つの第１の画像を第１のユーザへ提示することと、複数の画像のうちの少なくとも１つの第２の画像を第２のユーザへ提示することとを行うように、さらに構成される。
【００２１】
いくつかの実施形態において、少なくとも１つのプロセッサは、少なくとも１つの選択された画像を、権限のある複数のユーザへ共有するようにさらに構成される。
【００２２】
いくつかの実施形態において、選択された複数の画像は、異なる時期にわたって撮影された。
【００２３】
いくつかの実施形態において、選択された複数の画像は、異なる場所にわたって撮影された。
【図面の簡単な説明】
【００２４】
図面の簡単な説明
制限的でなく、かつ網羅的でない本開示の実施形態が、次の図面を参照しながら説明される。他に明記がなければ終始、同様の参照数字は種々の図において同様の部分を参照する。
【００２５】
【図１】図１は、１の実施形態における、画像を選択するためのコンピュータにより実施されるシステムの概要を例示する。
【００２６】
【図２】図２は、１の実施形態における、少なくとも１つの画像を選択するためのシステムを提示する。
【００２７】
【図３】図３は、１の実施形態における、図２のシステムを運用するための方法のフローチャートを描写する。
【００２８】
【図４】図４は、１の実施形態における、写真をスコアリングするための方法のフローチャートを描写する。
【００２９】
【図５】図５は、１の実施形態における、結婚式のコンテキストにおいての写真を分析する方法のフローチャートを描写する。
【００３０】
【図６】図６は、１の実施形態における、図２の分配モジュールを例示する。
【００３１】
【図７】図７は、１の実施形態における、少なくとも１つの画像を選択するための方法のフローチャートを描写する。
【発明を実施するための形態】
【００３２】
詳細な説明
本明細書の一部を構成し、特定の典型的な実施形態を示す添付の図面を参照しながら、種々の実施形態が以下に、より十分に説明される。しかし、本開示の概念は、多くの異なる形式で実施され得、本明細書で説明する実施形態に限定されるとして解釈されるべきではない。むしろ、これらの実施形態は、当業者に対して本開示の概念、技術、及び実施の範囲を十分に知らせるために、徹底的で完全な開示の１部分として提供される。実施形態は、方法、システム、又はデバイスとして実践され得る。よって、実施形態は、ハードウェア実施、全体的なソフトウェア実施、又はソフトウェアの側面及びハードウェアの側面を組み合わせた実施の形式をとり得る。従って、以下の詳細な説明は、限定する意味にとられるものではない。
【００３３】
本明細書中の「１の実施形態」又は「ある実施形態」への言及は、実施形態と結びついて説明される特定の特徴、構造、又は特性が、本開示の少なくとも１つの実施例又は技術例に含まれているという意味である。本明細書中の種々の箇所における「１の実施形態において」という表現の出現は、必ずしも全てが同一の実施形態を参照するものではない。本明細書中の種々の箇所における「いくつかの実施形態においては」という表現の出現は、必ずしも全てが同一の実施形態を参照するものではない。
【００３４】
次の説明のいくつかの部分は、コンピュータメモリー内に記憶された過渡的でない信号のオペレーションの象徴的な表現によって提示される。これらの説明及び表現は、データ処理技術における当業者によって、他の当業者に彼らの仕事の本質を最も効果的に伝えるために用いられる。そのようなオペレーションは一般的に、物理量の物理的操作を必要とする。たいてい、必ずしもではないが、これらの物理量は、記憶され、転送され、組み合わされ、比較され、及び別様に操作されることができる電気信号、磁気信号、又は光信号の形式をとる。主に一般的利用という理由から、ビット、値、要素、シンボル、記号、ターム、又は数などとしてこれらの信号を参照することは時々便利である。さらに、普遍性を喪失せずに、モジュール又はコードデバイスとしての物理量の物理的操作を求めるステップの特定の配置を参照することも時々便利である。
【００３５】
しかし、これらの用語及び同様の用語の全ては、適切な物理量と関連付けられるべきものであり、単にこれらの物理量に適用される便利なラベルに過ぎない。次の検討から明らかなように、特段別様に述べなくとも、説明全体で、「処理する」、又は「計算する」、又は「算出する」、又は「決定する」又は「表示する」などの用語を活用する検討が、コンピュータシステムメモリー、レジスター、又は他のそのような情報ストレージ、トランスミッション、又はディスプレイデバイスの中で、物理（電気的な）量として表現されるデータを操作し変換するコンピュータシステム、又は同様の電子計算デバイスの機能及び処理へ言及していることは正しく認識される。本開示の部分は処理及び命令を含む。この処理及び命令は、ソフトウェア、ファームウェア、又はハードウェアにおいて具体化され得、またソフトウェアにおいて具体化されるときには、搭載されるためにダウンロードされ得、種々のオペレーティングシステムによって用いられる異なるプラットフォームから運用され得る。
【００３６】
本開示はまた、本明細書におけるオペレーションを実行するための装置にも関する。この装置は、必要な目的のために特別に構築され、又は、コンピュータ内に記憶されたコンピュータプログラムによって、選択的に起動され、又は再構成される汎用コンピュータを備え得る。そのようなコンピュータプログラムは、限定されないが、フロッピーディスクを含む種々のディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、専用集積回路（ＡＳＩＣ）、又は電気的命令を記憶することに適した種々のメディアのようなコンピュータ読み取り可能なストレージ媒体に記憶され得、それぞれがコンピュータシステムバスと連結され得る。さらに、本明細書で言及されるコンピュータは、シングルプロセッサを含み、又は増加した計算能力のためのマルチプロセッサの設計を使用するアーキテクチャであり得る。
【００３７】
本明細書に提示される処理及び表示は、本質的に、いずれの特定のコンピュータ又はその他の装置にも関するものではない。種々の汎用システムは、本明細書で教授するプログラムとともにも用いられ得、又は、１又は複数の方法ステップを実行するためのより専門的な装置を構築するのに便利であることを証明し得る。種々のこれらのシステムの構造は、下の説明において検討されている。加えて、本開示の技術及び実施を達成するために十分な、種々の特定のプログラム言語が用いられ得る。種々のプログラム言語が、本明細書で検討される本開示を実施するために用いられる。
【００３８】
加えて、本明細書で用いられる言語は、主に読みやすさ、及び教授上の目的のために選択されており、開示された主題を線引きし、又は限定するために選択されたものでなくてもよい。よって、本開示は本明細書で検討される概念の範囲の実例となり、限定するものではないことを意図したものである。
【００３９】
前に検討されたように、デジタル画像収集デバイス及び増加したストレージ能力の出現によって、ユーザは、彼らの収集された画像の非常に大きなライブラリを有することになり得る。この画像は、写真、ビデオ、ライブアクション写真、又はＧＩＦなど（簡単化のために、「写真」又は「画像」）を含み得る。従って、これらのライブラリは、共有及び保存するにふさわしい、素晴らしい写真を含み得るが、最適とは言えない写真をも含み得る。このことは、ユーザにとって、例えば特定のイベントをハイライトするために他人と共有するための、又はプリントした写真のアルバム、年単位のカレンダーなどのより永久的な思い出へと写真を変換するための最良の写真を選択することの難題を作り出す。ほとんどの場合、写真はまさしくユーザのカメラ又はコンピュータに残っている。
【００４０】
この問題を解決する試みは、ＡｐｐｌｅのＭｅｍｏｒｉｅｓ、Ｇｏｏｇｌｅ  Ｐｈｏｔｏ、ＥｙｅＥｍによる「Ｔｈｅ  Ｒｏｌｌ」、及びＦｌａｙｖｒ  ＭｅｄｉａのＭｙ  Ｒｏｌｌなどの最近提案された自動アプローチを含む。これらのシステムの詳細は、概して非公開である。しかし、基本的な画像処理アルゴリズムの多くが発表されている。
【００４１】
これらの既存技術は、写真のコンテキストを考慮しないという点で限定的である。むしろ、これらの技術は概して、写真が家族のイベントの写真なのか、旅行の写真なのかなどに関わらず、全ての写真に対して同一のアルゴリズムを適用する。このことは、最良の写真の最適とは言えない選択へ潜在的に導く。
【００４２】
本明細書で説明される種々の実施形態のシステム及び方法は、写真のコレクションから最良の写真を自動で選択するために、既存技術の制限に対処する。本システム及び方法は、写真に関連したコンテキスト情報を考慮することで、これらの最良の写真を選択し得る。ユーザが写真のコレクションを作るとき、ユーザはコンテキストデータを明示的に提供し得、又は、本明細書で説明されるシステム及び方法は、写真のコンテキストを自主的に予測し得る。
【００４３】
本明細書で説明されるシステム及び方法は、写真のコンテキストに基づいて写真を分析するために最も適切なエンジン又はサブシステムを選択し得る。つまり、写真のコンテキストは、写真を分析するためにどのエンジン又はサブシステム（簡単化のために、「エンジン」）が用いられるかを制御する。それぞれのエンジンは、最良の写真（単数又は複数）を選択するために、コンテキストに特有の１又は複数のルーチンを実行し得る。
【００４４】
図１は、少なくとも１つの画像を選択するためのコンピュータ実行システムの大まかな概要１００を例示する。図１を見ると、収集された画像００１及び収集された画像００１と関連付けられたコンテキストデータ００２は、「ベストショットシステム」００３へ伝達される。簡単化のために、全ての画像００１が、共通のコンテキスト００２に属していることが仮定され得る。
【００４５】
ベストショットシステム００３は、画像００１を分析するために、コンテキストデータ００２に基づいて１又は複数の適切なエンジンを実行し得る。それからベストショットシステム００３は、分析の結果に基づいて、最良の画像００４のランキング／選択を出力し得る。
【００４６】
いくつかの実施形態において、ユーザは一度に利用できるセット内の全ての画像をアップロードし、または別様に作り得る。他の実施形態においては、ユーザは、それぞれの写真を一度に一つ提示し、または別様に撮影し得、システム００３は、規則的な時間間隔で、又はユーザが写真のセットを閲覧しているときはいつでも、それぞれの写真がアップロードされた後、最良の写真のおすすめを継続的にアップデートし得る。
【００４７】
ベストショットシステム００３は、モバイルデバイスからなされたウェブサービスコールを通して、又はそのシステムに写真を提示するために設計されたウェブベースのアプリケーションを通して、実行されることが可能である。いくつかの実施形態においては、ユーザは、セット内の写真を検索するために、ＵＲＬ又はＵＲＩなどの識別子を供給し得る。
【００４８】
図２は、１の実施形態において少なくとも１つの画像を選択するためのシステム２００を例示する。システム２００は、図１の概要１００と同様であるが、より詳細に例示されている。
【００４９】
システム２００は、１又は複数のユーザ２０６によってアクセス可能なユーザインタフェース２０４を実行するユーザデバイス２０２を含み得る。システム２００に、ユーザ２０６及び／又は（図２には示されていない）追加のユーザによって提供される写真のコレクションから最良の写真を選択させることに、ユーザは関心があるだろう。
【００５０】
ユーザデバイス２０２は、ユーザインタフェース２０４を実行できる任意のハードウェアデバイスであり得る。ユーザデバイス２０２は、ラップトップ、ＰＣ、タブレット、又はモバイルデバイスなどとして構成され得る。ユーザデバイス２０２の正確な構成は、それがユーザインタフェース２０４を実行及びユーザ２０６へ提示できさえすれば、変更され得る。いくつかの実施形態においては、ユーザデバイス２０２それ自体が、画像収集能力を含み得る。
【００５１】
本願のコンテキストにおいて、「ストリーム」という語は、ユーザのグループがアクセスできる写真のコレクションへ言及し得る。例えば、特定のストリームへアクセスするユーザは、他のユーザがアップロードされた写真を閲覧することができるように、写真をストリームへアップロードし得る。
【００５２】
ユーザインタフェース２０４は、ユーザ２０６が分析のために写真をアップロードし、または別様に提供することを可能とし得る。ユーザインタフェース２０４は、例えば、ユーザ２０６が、ストリームに参加するために他者を招待することを可能とし得、ユーザ２０６が１又は複数の写真と関連するコンテキストを明示的に特定することを可能とし得、そしてユーザ２０６が写真の分析に関する任意の特定の命令を入力することを可能とし得る。
【００５３】
写真を提供するユーザ２０６に加えて、１又は複数のネットワーク２１０を通して通信するユーザデバイス２０８のユーザも、写真を指定場所（例えば、複数のユーザによってアクセス可能なファイル２１２）へ収集及び提供し得る。これらのユーザデバイス２０８は、携帯電話、デジタルカメラ、タブレット、ラップトップ、スマートウォッチ、スマートジュエリー、又は現在利用可能又は今後発明される画像を収集するための任意の他のタイプのデバイスをも含み得る。
【００５４】
ユーザ２０６は、例えば、全てのユーザが写真を提供できるファイル場所２１２へのリンクを送ることによって、デバイス２０８のユーザをストリームに参加するように招待し得る。ユーザは、ファイル場所へのアクセスを入手するために、リンクをクリックし得、任意の求められる認証情報又は他の情報を提供し得る。
【００５５】
収集された写真は、１又は複数のネットワーク２１０を通してインターフェース２１４へ伝達され得る。ネットワーク（単数又は複数）２１０は種々のデバイスを種々のタイプのネットワーク接続につなぎ得る。ネットワーク（単数又は複数）２１０は、インターネット、イントラネット、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ストレージエリアネットワーク（ＳＡＮ）、フレームリレー接続、高度インテリジェントネットワーク（ＡＩＮ）接続、同期光ファイバーネットワーク（ＳＯＮＥＴ）接続、デジタルＴ１、Ｔ３、Ｅ１又はＥ３ライン、デジタルデータサービス（ＤＤＳ）接続、デジタル加入者線（ＤＳＬ）接続、イーサネット接続、統合サービスデジタルネットワーク（ＩＳＤＮ）ライン、Ｖ．９０、Ｖ．３４又はＶ．３４ｂｉｓのようなダイアルアップ式ポートのアナログモデム接続、ケーブルモデム、非同期転送モード（ＡＴＭ）接続、ファイバーデータ分散インターフェース（ＦＤＤＩ）接続、銅線データ分散インターフェース（ＣＤＤＩ）接続、又は、光／ＤＷＤＭネットワークのうちの任意の１つ又は複数から構成され得、又はこれらのうちの任意の１つ又は複数へのインターフェースとなり得る。
【００５６】
ネットワーク（単数又は複数）２１０はまた、ワイヤレスアプリケーションプロトコル（ＷＡＰ）リンク、Ｗｉ−Ｆｉリンク、マイクロ波リンク、汎用パケット無線サービス（ＧＰＲＳ）リンク、グローバル移動通信システム（ＧＳＭ）リンク、符号分割多重接続（ＣＤＭＡ）リンク、携帯電話の伝送路などの時分割多元接続（ＴＤＭＡ）リンク、全地球測位システム（ＧＰＳ）リンク、セルラーデジタルパケットデータ（ＣＤＰＤ）リンク、リサーチ・イン・モーション社（ＲＩＭ）の二重ページングタイプデバイス、Ｂｌｕｅｔｏｏｔｈ無線リンク、又はＩＥＥＥ８０２．１１を基にしたリンクのうちの任意の１つ又は複数を備え、含み、又はこれらのうちの任意の１つ又は複数へのインターフェースとなり得る。
【００５７】
インターフェース２１４は、収集された写真を受け取り、ストレージ場所２１２（例えば指定されたファイル場所）及び／又はプロセッサ２１６へ写真を伝達し得る。プロセッサ２１６は、本明細書で説明される実施形態に従って最良の写真（単数又は複数）を選択するために、メモリ２１８上の命令を実行可能な任意のハードウェアデバイスであり得る。プロセッサ２１６は、マイクロプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、グラフィックプロセッシングユニット、専用集積回路（ＡＳＩＣ）、又は、現在利用可能又は今後発明される他の同様のデバイスであり得る。
【００５８】
１又は複数のＡＳＩＣに依存しているようないくつかの実施形態において、ソフトウェアを通して一部分が提供されるとして説明される機能は、代わりにＡＳＩＣの設計の中に構成され得、その場合、関連するソフトウェアは省略され得る。プロセッサ２１６は、ラップトップなどの、ユーザインタフェース２０４が実行するユーザデバイス２０２の一部分として構成され得、又はいくらか遠く離れた場所に位置し得る。
【００５９】
システム２００を始めるために、ユーザ２０６はまず、ユーザインタフェース２０４を用いて、収集された写真と関連付けられるコンテキストを提供し得る。例えば、ユーザインタフェース２０４は、予め定義されたコンテキストのドロップダウンメニューを提示し得る。ユーザ２０６は、そのドロップダウンメニューから、収集された写真と関連付けられるコンテキストを選び得る。
【００６０】
加えて、又は代わりとして、プロセッサ２１６は、コンテキスト特定モジュール２２０を提供するために、メモリ２１８に記憶された命令を実行し得る。例えば、ユーザ２０６がコンテキストを提供しない場合、又は写真がストリーム外で撮影され、後にアップロードされる場合、コンテキスト特定モジュール２２０は、そのコンテキストを予測するために、収集された写真のうちの任意の１又は複数を分析し得る。例示するために、コンテキスト特定モジュール２２０は、白いドレス、花、ウェディングケーキ、人々の大集団、及び／又、は結婚式又は披露宴に関連するその他の物体又は人々のタイプの存在に基づいて、結婚式のコンテキストを特定し得る。他の例として、コンテキスト特定モジュール２２０は、日付、七面鳥の夕食の存在、家族の人々などに基づいて、感謝祭のコンテキストを特定し得る。さらに他の例として、コンテキスト特定モジュール２２０は、誕生日ケーキ上のキャンドルなどを検出することで、誕生日のコンテキストを特定し得る。
【００６１】
本明細書で説明されるシステム及び方法における使用に対応できるコンテキストは、結婚式、スポーツイベント、コンサート、チャリティーレース、フェスティバル（例えば７月４日に関するフェスティバル）、資金調達のための催し、ホリデーパーティー、抗議、行進、トレードショー、会社の遠足、会社の／チャリティーのイベント、キャンプ、学校のイベント（例えば卒業式）、旅行（例えば休暇）、ランドマーク、自然／風景（例えばハイキングで撮影された写真）、ペット、家で、職場で、食事のイベント、事業などを含み得るが、これらに限定されない。このコンテキストのリストは単に例示的に過ぎず、本明細書で説明されるシステム及び方法と併せて他のコンテキストが考えられ得る。
【００６２】
いくつかの実施形態において、ユーザ２０６は、特定のコンテキストを定義するためにストリームをセットアップし得る。１つのストリームにおける写真のセットをグループ化することは、システム２００がコンテキストの連続性を特定することに役立つ。例えば、大学の卒業式は、キャンパスでの卒業の写真を含み得、同様にして卒業の前／後の友人及び家族との式典の写真も含み得る。
【００６３】
本明細書で説明されるシステム及び方法はまた、写真がアップロードされる前にストリームが定義されることを必要としない。つまり、写真は、ストリーム又は１又は複数のストリームの一部とは独立して選択され得る。
【００６４】
プロセッサ２１６は、図１のシステム００３と同様であり得る「ベストショットシステム」２２２を実行し得る。ベストショットシステム２２２は、上記に列挙されたような特定のコンテキストのために、１又は複数のルーチンをそれぞれ実行する複数のエンジン２２４ａ−ｈを備え得る。例えば、エンジン２２４ａは、結婚式のコンテキストに特有の１又は複数のルーチンを実行し得、エンジン２２４ｂは、休暇のコンテキストに特有の１又は複数のルーチンを実行し得、エンジン２２４ｃは、プロサッカーの試合のコンテキストに特有の１又は複数のルーチンを実行し得るなどである。
【００６５】
よって、コンテキストに基づいて（ユーザ２０６によって供給されたかコンテキスト特定モジュール２２０によって予測されたかいずれにせよ）、エンジン選択モジュール２２６は、受け取った写真を分析するための最も適切なエンジン２２４ａ−ｈを選択し得る。エンジンは、人々がそれぞれのコンテキストの写真にあるべきものへの期待を有するという事実に基づいて、選択され、運用される。例えば、結婚式の写真を閲覧するとき、人々は、花嫁、花婿、誓いの取り交わし、ケーキ入刀などのピクチャーを閲覧することを期待し／望むだろう。よって、結婚式分析エンジンは、これらのアイテム、人々、又はイベントを含むピクチャーを探し得る。
【００６６】
他の例として、レースイベントについては、対応するエンジンは、フィニッシュラインのショットを含む画像を探し、選択し得る。旅行のコンテキストにおいては、対応するエンジンは、エッフェル塔のようなランドマークを含む写真を探し、選択し得る。コンサートのコンテキストについては、適切なエンジンが、演奏者及びステージの写真を探し、選択し得る。
【００６７】
既存の写真分析技術は、写真の中の物体を認識するが、しかし概して、認識されるべき異なった物体の数が増加するにつれて追加の処理リソースを必要とする。加えて、前に述べたように、分析において助力となる写真のコンテキストについての考慮は存在しない。
【００６８】
コンテキストを考慮し、専門的なエンジン２２４ａ−ｈを用いることは、より専門的なアルゴリズム及び例えばニューラルネットワークの訓練を可能にする。このことは、本明細書で説明されるシステム及び方法が分析の複雑性を制御し、従って、より目的に合った分析を提供することを可能とする。このことは、必要よりも多く計算リソースを費やさないことで、プロセッサ２１６の機能を不可避的に向上させる。それは、検出する写真の中の標的となる物体／人々があるため、その写真の分析が、コンテキストが考慮されない他のものに比べて速くなる結果として起こる。
【００６９】
ストリームからの最良の写真の選択は、２つの段階で実施され得る。まず、ランク付けモジュール２２８は、エンジン２２４ａ−ｈによって出力され、または別様に選択されたそれぞれの写真をランク付けし得る。一度その処理が完了すると、分配モジュール２３０は、多くの属性についての写真の適切な分配を達成することを保証し得る。
【００７０】
ランク付けモジュール２２８は、当てはまるエンジン２２４によって分析された写真にスコアを生成し得る。加えて、又は代わりとして、写真を分析するエンジン２２４は、分析された写真にスコアを提供し得る。この「スコアリング」の段階の間、ランク付けモジュール２２８は、コンテキスト、写真自体、写真のＥＸＩＦデータ、撮影者、写真にアクセスした（例えばファイル場所２１２にアクセスした）ユーザ、写真中に検出された物体、写真が撮影されたとき（日、年などに基づく）、写真が撮影された場所、ユーザの写真との相互作用（例えば、閲覧、ズーム、いいね、共有、コメントなど）、及び外的データソース２３２（会場でのイベントスケジュール、式典のデータベースなど）のうちの少なくとも１つに基づいて、「コンテキストスコア」を計算し得る。
【００７１】
ランク付けモジュール２２８（又はエンジン自体）は、そのスコアを生成するために写真の深層分析を実行し得る。この深層分析は写真中の全ての物体を特定し、写真中の全ての人々、画像中でのその人々の場所を特定し、画像中の人々の精神状態（例えば、彼らが笑っているかどうか、目を開けているかどうか、顔がフォーカスされているかどうか、顔が切り取られているかどうかなど）を特定し得る。ランク付けモジュール２２８はまた、画像中の物体及び人々の位置、写真の色／光の分配及び配置、写真の空白部分、写真の鮮明さなども考慮する。
【００７２】
ランク付けモジュール２２８はまた、選択されるべきでない写真も認識し得る。つまり、点数の低い写真である。これらのタイプの写真は、ストリームの一部分であったとしても、スクリーンショット、密かな又は「偶発的な」写真、ホワイトボード、レシート、製品タグ、シリアルナンバー、または練習や他の目的のために別様に撮影された写真を含み得る。
【００７３】
本願のコンテキストにおいては、「分配」という語は、種々の写真の特性を保証することへ言及し得る。適当な分配は、システム２００が似すぎた（例えば、全く同じの）写真を返還しないことを保証することに役立つ。つまり、分配モジュール２３０は、システム２００が、異なるクラスの（縦向き、横向き、「セルフィー」、集団写真、物体、都市など）、異なるときから、異なる人々又は物体などの写真を選択することを保証する。
【００７４】
分配モジュール２３０及び／又は特定のエンジンはまた、特定の順番で写真の提示を編成する。例えば、結婚式の写真を分析し、選択し、編成するためのエンジンは、写真を提示するときに、ケーキ入刀の儀式の写真の前に誓いの取り交わしの写真を示し得る。
【００７５】
同様に、分配モジュール２３０は、時間によって写真を選択し、編成し得る。例えば、分配モジュール２３０は、旅のそれぞれの日、または別様に画像のそれぞれの主な集団にちなんで、最良の写真を選択し得る。
【００７６】
加えて、又は代わりとして、分配モジュール２３０は、写真がどこで撮影された所に基づいて、写真を選択及び編成し得る。例えば、分配モジュール２３０又は適切なエンジンは、教会での写真、披露宴での写真、夕食での写真などによってグループ化された結婚式の写真を提供し得る。
【００７７】
分配モジュール２３０はまた、ストリームの、異なるメンバーに対するプレゼンテーションのために、異なる写真を選択し得る。つまり、第１のユーザのために選択された写真は、第２のユーザのために選択された写真とは異なり得る。例えば、第１のユーザのために選択された写真は、第１のユーザを含む数枚の写真を含み得、第２のユーザのために選択された写真は、第２のユーザを含む数枚の写真を含み得るなどである。
【００７８】
分配モジュール２３０は、例えば、撮影された写真の全体枚数、写真の平均の質、又はコンテキストなどに基づいて、選択される写真のパーセンテージを適合させ得る。例えば、ユーザが２００枚の風景写真を撮影した場合、分配モジュール２３０は、風景写真のうちの小さな集合を選択し得る（例えば、撮影された風景写真の全体量の１０％のみを選択する）。分配モジュール２３０は、写真が多いのか、又は質が低いのか、又は退屈な写真なのかということに基づいて、この閾値をさらに修正し得る。一方、分配モジュール２３０は、記念日などの、とりわけ写真の多くが、複数の人物写真を含む質の高いものであるコンテキストのためには、多くのパーセンテージの写真を選択し得る。
【００７９】
上述したように、システム２００はまた、画像の選択処理をさらに高めるために、１又は複数の外的データソース２３２を含み得、又は、１又は複数の外的データソース２３２と別様に通信し得る。例えば、外的データソース２３２は、休日（例えば、バレンタインデー、戦没将兵記念日の週末、７月４日、感謝祭、クリスマス、神殿奉献記念祭など）についての収集された画像のタイミングを特定するのに役立つようなカレンダーを含む。これらの外的データソース２３２はまた、有名人のスケジュール、イベント会場のスケジュールに関するデータなども含み得る。
【００８０】
図３は、１の実施形態に従った図のシステム２００を運用する方法３００を描写する。まず、ステップ３０４において、図１のユーザ２０６のようなユーザ３０２は、コンテキストを作り出す。このコンテキストは、ストリーム／特定のファイル場所に対応し得、そこにユーザが写真をアップロードし得、且つ、そこからユーザがアップロードした写真を閲覧し得る。ステップ３０６では、ユーザ３０２は、コンテキストのカテゴリを割り当て得る。前述したように、いくつかの実施形態においては、システムはコンテキストを自主的に割り当て、または別様に予測し得る。
【００８１】
ステップ３０８において、１又は複数のユーザは、写真などの画像をアップロードし得る。一度アップロードされると、システムによるさらなるアクセスのために、ステップ３１０において、画像は、データベース又は何らかの指定された場所に記憶され得る。アップロードされた写真を表示し、且つ／又は、適切なエンジン（単数又は複数）によって画像を分析するために、システムは、これらの場所にアクセスし得る。
【００８２】
ステップ３１２において、適切なエンジン又は別個のランク付けモジュールが、それから、ステップ３０８でアップロードされた写真にスコア付けする。図３に見られるように、ステップ３０８及びステップ３１２は、複数回繰り返され得る。つまり、１又は複数のユーザが１又は複数の写真をアップロードし得、それから写真は、システム２００によってスコア付けされる。
【００８３】
ステップ３１４において、写真はそれらのスコアに基づいてランク付けされ、最良の／最高のランク付けがされた写真が選択される。いくつかの実施形態においては、写真のランク付け及び選択は、アップロードされた写真ごとに、又は特定の枚数の写真がアップロードされた後になされる。いくつかの実施形態においては、特定の時間間隔で、写真は選択され、ランク付けされ得る。いくつかの実施形態においては、写真は、写真が閲覧さられたときに選択され、ランク付けされ得る。さらに他の実施形態においては、ステップ３１６において、写真のスコア及びランキングが、データストレージに記憶される。
【００８４】
（ユーザ３０２と同一であり得、又は異なり得る）ユーザ３１８は、コンテキストの最良の写真を要求し得る。ステップ３２０において、ユーザ３１８はストリームを閲覧し得てもよく、ステップ３２２においてベストショットが返される。システム２００はまた、返される写真にいくつの／どれくらいのパーセンテージの写真が含まれるべきかも決定し得る。
【００８５】
ストリームを閲覧しているとき、ステップ３２４において、ユーザ３１８はまた、写真と相互作用し得る。例えば、ユーザ３１８は、写真をズームインし、特定の時間写真を閲覧し、ユーザが写真を「いいね」していることを示す何らかの相互作用を提供し、写真にコメントし、他のユーザと写真を共有するなどし得る。これらの相互作用は、最良の写真を選択するときにも考慮される。
【００８６】
図４は、１の実施形態に従った、写真をスコア付けするための方法４００のフローチャートである。図３のように、ステップ４０２において、ユーザは、写真などの画像をアップロードし得る。スコア付けサブメソッド４０４は、プロセッサ２１６及び、特にエンジン２２４ａ−ｈ、ランク付けモジュール２２８などによって実行され得る。
【００８７】
ステップ４０６において、アップロードされた写真は、コンテキストのストリームと関連付けられ、対応する場所へ伝達される。ユーザがコンテキストを明示的に特定すること基づいて、又はシステムが自主的にコンテキストを予測することによって、写真はコンテキストのストリームに関連付けられ得る。
【００８８】
ステップ４０８は、アップロードされた写真を分析するためのエンジンを選択することを含む。図２のエンジン選択モジュール２２６は、ステップ４０６において特定されたコンテキストに基づいて、適切なエンジンを選択し得る。前述したように、それぞれのエンジンがそれぞれの方法で写真を分析し得る。
【００８９】
ステップ４１０は、ステップ４０８において選択されたエンジンを実行することを含む。選択されたエンジンは、種々の計算機視覚技術を用いて、１又は複数のルーチンを実行するために構成され得る。例えば、エンジンは、アップロードされた写真を分析するために、スケール不変特徴量変換（ＳＩＦＴ）技術、及び／又は、スピードアップロブスト特徴量（ＳＵＲＦ）技術のうち任意の１つを実行し得る。認識されるべき物体に関するデータは、１又は複数の又はストレージ場所に記憶され得る。例えば、結婚式のコンテキストにおいて、図２のシステム２００は、写真におけるウェディングケーキを認識するために、ウェディングケーキのライブラリを記憶しているストレージ場所と通信し得る。
【００９０】
いくつかの実施形態において、１つの与えられたコンテキストのための１つのエンジンがあり得る。他の実施形態においては、１つのエンジンは、関連する１より多いコンテキストを分析し得る。または、１つの与えられたコンテキストのための複数のエンジンがあり得る。例えば、安定したシステムを達成し、どのエンジン（単数又は複数）が最も良く機能するかを判断するための変量を提供するために、複数のエンジンが利用可能であり得る。
【００９１】
エンジンは、分析の結果に基づいて、それぞれの写真にスコアを提供し得る。または、写真を分析するための１又は複数のルーチンを実行するときに、エンジンによって収集されるデータに基づいて、別個のモジュールがスコアを提供し得る。
【００９２】
ステップ４１２は、それぞれの写真のスコア（単数又は複数）を記憶することを含む。スコア（及び写真）は、ストレージ場所４１４へ伝達され得、そこに記憶され得る。ストレージ場所４１４は、ユーザによって、及び／又は写真を選択する際にシステムによって、要求されるときに検索され得る。
【００９３】
図５は、１の実施形態に従った、結婚式のコンテキストの写真を分析するための方法５００のフローチャートを描写する。方法５００は、ベストショットシステム２２２及び図２の結婚式分析エンジン２２４ａによって実行され得、または別様にこれらを含み得る。
【００９４】
一度結婚式のコンテキストが特定され、エンジン選択モジュール２２６が、適切なエンジン（すなわち、結婚式及び結婚披露宴の写真を分析するために構成された、結婚式分析エンジン２２４ａ）を選択すると、エンジン２２４ａは、ストリームの一部である写真（単数又は複数）を分析するために、１又は複数のルーチンを実行し得る。
【００９５】
結婚式分析エンジン２２４ａはまず、写真の構造を分析するために、画像分析ルーチン５０２を実行し得る。このルーチン５０２は、画像の全体又は一部分に焦点が合っていないかどうかを決定し、過度に暗い又は明るい画像を軽視するために写真の平均の明るさを分析し、ＥＸＩＦデータを分析し、他の同様の写真の特徴を分析するなどし得る。好ましい特性を有する写真は、望ましくない特性を有する写真よりも高いスコアが付けられ得る。
【００９６】
顔／人々分析ルーチン５０４は、写真の中の顔を検出／認識し、写真中に検出された人数を出力し得る。従って、このルーチン５０４は、特定の範囲に焦点が当てられていない大規模の群衆を軽視し得る一方で、人物写真及び少人数の集団を支持し得る。顔／人々分析ルーチン５０４は、写真中に共通するユーザを認識し得る。複数の写真に登場するユーザは重要であると考えられ得、従って、彼らが映っている写真のスコアは、彼らが映っていない写真のものよりも高くなり得る。
【００９７】
一般物特定ルーチン５０６は、写真から一般物を探し得る。特殊物特定ルーチン５０８は、結婚式で典型的に見つけられる物体を写真から探す。これらの物体は、ウェディングケーキ、シャンパンボトル、教会の祭壇、白いドレス、馬車などを含み得る。いくつかの実施形態において、何らかの物体の存在は、それらの物体を含む写真のスコアを向上させ、他の物体の存在は、写真のスコアを低下させるだろう。
【００９８】
いくつかの実施形態において、汎用深層ニューラルネットワークルーチン５１０は、ユーザに返され又は提示されるべき「ベストショット」としての資格がある写真なのかを評価することを試み得る。また別の実施形態において、あるコンテキストに特有の深層ニューラルネットワークは、ある写真が選択されるべきかどうかを予測し得る。
【００９９】
いくつかの実施形態において、結婚式分析エンジン２２４ａは、花嫁及び／又は花婿を認識するために、花婿／花嫁特定ルーチン５１２を実行し得る。このルーチンは、概念において、特殊物特定ルーチン５０８と同様である。例えば、花婿／花嫁特定ルーチン５１２は、白いドレスの存在を検出することによって、又は祭壇上の女性の存在によって、花嫁を特定しようと試み得る。花婿／花嫁特定ルーチン５１２は、花嫁の隣の、祭壇上の花婿の存在に基づいて、花婿を認識し得る。花嫁及び／又は花婿を含む任意の写真は、花嫁及び／又は花婿を含まない写真よりも高いスコアを有し得る。
【０１００】
画像クラス分類ルーチン５１４は、写真のクラスを決定するために、写真を分析する。例えば、写真の分類は、風景モード又は人物モードなのか、セルフィーの写真又は集団の写真なのかなどに関連し得る。
【０１０１】
分配モジュール２３０は、分析された写真が複製かどうか（又は、少なくとも別の写真と実質的に同様であるか）を特定するために、同様画像分析ルーチン５１６を実行し得る。同様に、分配モジュール２３０は、前に検討したような適切な分配を保証するために、特定の写真のコレクションを選択し得る。いくつかの実施形態において、同様画像分析ルーチン５１６は、エンジンによって分析する前に、写真に対して実行され得る。
【０１０２】
図６は、１の実施形態に従った、プロセッサ２１６によって実行される分配モジュール２３０を描写する。分配モジュール２３０は、適切な分配を保証するために、複数のルーチンを実行し得る。写真クラスルーチン６０２は、異なるクラスの写真（例えば、人物写真、セルフィー写真、集団の写真、風景写真、物体を含む写真など）があることを保証するために、写真を分析し得る。写真場所ルーチン６０４は、種々の場所で撮影された写真があることを保証するために（例えば、最良の画像の全てが同一の一箇所からのものではないことを保証するために）、写真を分析し得る。写真時間ルーチン６０６は、異なる時間にわたって撮影された写真があることを保証するために、写真を分析し得る。
【０１０３】
ユーザ相互作用ルーチン６０８は、写真の閲覧者による相互作用を調査し得る。例えば、ユーザ相互作用ルーチン６０８は、いいね、コメント、閲覧数、ズーム、共有などに基づいて、写真のスコアを向上させ得る。
【０１０４】
ステップ６１０において、写真はランク付けされる。それから、特定の順序で画像が提示されるように、画像順序ルーチン６１２が、画像を並び替える。
【０１０５】
図５に戻って参照すると、図２の結婚式分析エンジン２２４ａ又はランク付けモジュール２２８は、ルーチン５０２−５１４の結果に基づいて、ステップ５１８において、最終的な画像スコアを生成し得る。例えば、それぞれのルーチン（及び／又は分配モジュール２３０）によって生成されたスコアは、１又は複数のスコアへ組み合され得る。これらのスコアは、最良の写真として写真をランク付けするために用いられ得、また、ステップ５２０において将来の使用のために記憶され得る。
【０１０６】
図７は、１の実施形態に従った、少なくとも１つの画像を選択するためのコンピュータ実施方法７００のフローチャートを描写する。方法７００は、例えば図２のシステムの種々の構成要素によって実行され得、例えば図３−６のフロー図の特徴又はステップを組み込み得る。
【０１０７】
ステップ７０２は、コンピュータへのインターフェースを用いて、複数の画像を受け取ることを含む。複数の画像は、インターフェースにおいて受け取られ得、それらは１又は複数のユーザによって収集された画像を含み得る。
【０１０８】
ステップ７０４は、メモリ上に記憶された命令を実行するプロセッサにおいて、複数の画像に関連するコンテキストを受け取ることを含む。前に検討されたように、本明細書で説明される種々の実施形態のシステム及び方法は、画像をより良く分析するために、受け取った画像（例えば写真）に関するコンテキストデータを考慮し得る。ユーザは、画像に関連するコンテキストを明示的に入力し得、または別様に提供し得る。加えて、又は代わりとして、図２のプロセッサ２１６のようなプロセッサが、コンテキストを予測するために、受け取った画像を分析し得る。
【０１０９】
ステップ７０６は、プロセッサを用いて、コンテキストに関連する少なくとも１つのルーチンを実行することによって、複数の画像を分析することを含む。ステップ７０４において受け取ったコンテキストに基づいて、図２のプロセッサ２１６のようなプロセッサは、受け取った画像を分析するための１又は複数のルーチンを実行するために、エンジンを選択し得る。つまり、画像のコンテキストは、どのエンジンが画像を分析するのかを決定する。これらのルーチンは、特定の物体、人々のタイプ、及び受け取った画像からの他の情報を検出するために設計された、種々の計算機視覚アルゴリズムを含み得る。
【０１１０】
ステップ７０８は、プロセッサを用いて、少なくとも１つの実行されたルーチンに基づいて、複数の画像のうちの少なくとも１つを選択することを含む。実行されたルーチンはまた、画像に関連するスコアを提供し得る。スコアは、受け取ったコンテキストに関連する特定の要求又は期待を、画像がどの程度満足しているかを表し得る。加えて、又は代わりとして、別個のランク付けモジュールが、ルーチンの結果に基づいて、画像のためのスコアを生成し得る。
【０１１１】
特定の人々又は物体を含む画像は、コンテキストに基づいて、より高くランク付けされる。例えば、前にも述べたように、コンテキストが結婚式のコンテキストである場合、花嫁及び花婿を含む写真は、花嫁及び／又は花婿を含まない写真よりも高くスコア付けされ得、又は別様にランク付けされ得る。
【０１１２】
これらの高くスコア付けがされ、または別様に高くランク付けされた写真は、１又は複数のユーザへのプレゼンテーションのために選択され得る。加えて、又は代わりとして、これらの「最良の」写真は、デジタル写真アルバムに選択され得、且つ、デジタル写真アルバムへアップロードされ得る。
【０１１３】
上記で検討した方法、システム、及びデバイスは、実施例である。種々の構成は、必要に応じて、種々の手順又は構成要素を省略し得、代用し得、又は追加し得る。例えば、代替となる構成において、説明されたものとは異なる順序で、方法が遂行され得、その種々のステップは追加され得、省略され得、組み合わされ得る。また、特定の構成について説明された特徴は、種々の他の構成に組み合わされ得る。構成のそれぞれの側面及び要素は、同様の方法で組み合わされ得る。また技術が発展するに従って、要素の多くが実施例となり、本開示及び本請求の範囲を限定しなくなる。
【０１１４】
本開示の実施形態は、例えば、本開示の実施形態に従った、ブロック図、及び／又は、方法、システム及びコンピュータプログラム製品の運用の例示を参照しながら上述される。任意のフローチャートにおいて示されたような順序でなくとも、ブロックで表された機能／作用は生じ得る。例えば、含まれる機能／作用に応じて、連続して示される２つのブロックは、実際、同時に十分実行され得、又は、これらのブロックは、時には反対の順序で実行され得る。加えて、又は代わりとして、任意のフローチャートに示される全てのブロックが遂行され、且つ／又は、実行される必要はない。例えば、与えられたフローチャートが、機能／作用を含む５つのブロックを有している場合、５つのブロックのうちたった３つのみが遂行され得、且つ／又は、実行され得るというわけである。この例において、５つのブロックのうちの３つのいずれかが遂行され、且つ／又は、実行され得る。
【０１１５】
ある値が、第１の閾値を上回る（又は、より大きい）という陳述は、その値が、第１の閾値より僅かに大きい第２の閾値を満たす又は上回るという陳述と同等であり、例えば、第２の閾値は、関連する系の解像度において、第１の閾値よりも１の値大きい。ある値が、第１の閾値より小さい（又は、その範囲内である）という陳述は、値が、第１の閾値より僅かに小さい第２の閾値より小さい又は等しいという陳述と同等であり、例えば、第２の閾値は、関連する系の解像度において、第１の閾値よりも１の値小さい。
【０１１６】
特定の詳細は、（実施を含めた）構成例の徹底的な理解を提供するために、説明において与えられる。しかし、構成は、これらの特定の詳細を含まずとも実践され得る。例えば、構成を不明確にすることを避けるために、周知の回路、手順、アルゴリズム、構造及び技術は、不必要な詳細なしに示されている。この説明は、構成例のみを提供しており、請求の範囲、適用可能性、又は構成を限定しない。むしろ、先述の構成の説明は、説明された技術を実施するための実現可能な説明を、当業者に提供するだろう。本開示の意図及び範囲から逸脱することなく、機能及び要素の配置において、種々の変化がなされ得る。
【０１１７】
説明したいくつかの構成例、種々の修正、代替となる構成、及び同等の物は、本開示の意図及び範囲から逸脱することなく、用いられ得る。例えば、上記の要素は大きなシステムの構成要素であり得、他の規則は、本開示の種々の実施又は技術の適用を優位に立ち得、又は別様にこれを修正し得る。また、上記の要素を考慮する前、考慮している間、考慮した後で、いくつかのステップが行われ得る。
【０１１８】
本願の説明及び例示が提供されたことで、当業者は、以下の請求項の範囲から逸脱しない、本願において検討された包括的な発明の概念の範囲に属する変化物、修正物、及び代替となる実施形態を構想し得る。
【図１】
2021501508.tif 000003
【図２】
2021501508.tif 000004
【図３】
2021501508.tif 000005
【図４】
2021501508.tif 000006
【図５】
2021501508.tif 000007
【図６】
2021501508.tif 000008
【図７】
2021501508.tif 000009
【国際調査報告】
2021501508.tif 000010