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

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

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

特許7167318人々のグループおよび画像ベースの作成物の自動生成
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-28
(45)【発行日】2022-11-08
(54)【発明の名称】人々のグループおよび画像ベースの作成物の自動生成
(51)【国際特許分類】
   G06V 10/762 20220101AFI20221031BHJP
   G06F 16/55 20190101ALI20221031BHJP
   G06F 16/75 20190101ALI20221031BHJP
   G06T 1/00 20060101ALI20221031BHJP
   G06T 7/00 20170101ALI20221031BHJP
   G06V 20/30 20220101ALI20221031BHJP
【FI】
G06V10/762
G06F16/55
G06F16/75
G06T1/00 200D
G06T7/00 660A
G06V20/30
【請求項の数】 20
(21)【出願番号】P 2021514507
(86)(22)【出願日】2020-06-25
(65)【公表番号】
(43)【公表日】2022-09-22
(86)【国際出願番号】 US2020039706
(87)【国際公開番号】W WO2021262183
(87)【国際公開日】2021-12-30
【審査請求日】2021-05-13
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】リム,ドミニク
(72)【発明者】
【氏名】ボール,クリスティ
(72)【発明者】
【氏名】チャン,ジェイソン
(72)【発明者】
【氏名】バルミキナタン,ビディヤ
(72)【発明者】
【氏名】リー,テヒ
(72)【発明者】
【氏名】ヂュー,ジェレミー
【審査官】佐藤 実
(56)【参考文献】
【文献】国際公開第2011/089884(WO,A1)
【文献】米国特許出願公開第2008/298766(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 10/762
G06F 16/55
G06F 16/75
G06T 1/00
G06T 7/00
G06V 20/30
(57)【特許請求の範囲】
【請求項1】
コンピュータで実施される方法であって、
複数のエピソードを取得することを含み、各エピソードは、対応する期間に関連付けられ、画像のそれぞれのセットと、前記画像のそれぞれのセット内の各画像に対する人物識別子とを含み、前記方法はさらに、
各エピソードについてそれぞれのクラスタを形成することを含み、各クラスタは少なくとも2つの人物識別子を含み、前記方法はさらに、
1つ以上の人物識別子が閾値数未満のクラスタに含まれるかどうかを判定することと、
前記1つ以上の人物識別子が、前記閾値数未満のクラスタに含まれると判定された場合、前記1つ以上の人物識別子が含まれる前記クラスタから前記1つ以上の人物識別子を除去することと、
前記除去後、同一のクラスタをマージして複数の人々のグループを得ることとを含み、各人々のグループは2つ以上の人物識別子を含み、前記方法はさらに、
前記複数の人々のグループのうちの特定の人々のグループに基づく画像ベースの作成物を含むユーザインターフェイスを提供することを含む、方法。
【請求項2】
各エピソードについて前記それぞれのクラスタを形成することは、
前記エピソードの前記画像のセットにおける少なくとも1つの画像に現れるすべての人物識別子を前記クラスタにマッピングすることと、
前記エピソードの前記画像のセットから、前記エピソードについて最も頻繁な人物識別子を含む画像の数を判定することと、
前記クラスタから、閾値数未満の画像に関連付けられる人物識別子を除去することとを含み、画像の前記閾値数は、前記エピソードについて前記最も頻繁な人物識別子を含む画像の数に基づいて判断される、請求項1に記載の方法。
【請求項3】
前記方法は、さらに、
前記マージの後、少なくとも1つの人々のグループが閾値数未満のエピソードに関連付けられていると判定することと、
少なくとも1つの人々のグループが前記閾値数未満のエピソードに関連付けられているという判定に応答して、前記少なくとも1つの人々のグループを1つ以上の他の人々のグループと組み合わせることとを含み、前記1つ以上の他の人々のグループは、各々、前記少なくとも1つの人々のグループに含まれる人物識別子のサブセットを含み、
前記ユーザインターフェイスを提供することは、前記少なくとも1つの人々のグループをマージした後に実行される、請求項1または2に記載の方法。
【請求項4】
前記同一のクラスタをマージすることは、前記クラスタに基づいて、エピソードのそれぞれのセットを前記複数の人々のグループの各々に関連付けることを含み、
前記画像ベースの作成物を提供することは、前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに関連付けられるエピソードに含まれる画像のそれぞれのセットから選択することを含み、前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示す、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記ユーザインターフェイスを提供することは、
前記特定の人々のグループと一致する画像が最近キャプチャされたことを検出すること、
現在の日付が前記特定の人々のグループに関連付けられる日付と一致することを検出すること、または
前記特定の人々のグループに一致するイベントを検出すること、のうちの少なくとも1つに応答して実行される、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記画像ベースの作成物を提供することは、
前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに基づいて選択することを含み、前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示し、前記画像ベースの作成物を提供することはさらに、
前記画像のサブセットに基づいて前記画像ベースの作成物を生成することを含む、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子の各々に対応する人物を示す、請求項6に記載の方法。
【請求項8】
前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示す、請求項6に記載の方法。
【請求項9】
前記画像のサブセットは、前記複数のエピソードのうちの少なくとも2つのエピソードからの画像を含む、請求項6に記載の方法。
【請求項10】
前記画像のサブセットは、前記サブセットが、位置多様性、姿勢多様性、または視覚的多様性のうちの1つ以上を提供するように選択される、請求項9に記載の方法。
【請求項11】
プロセッサによって実行されると前記プロセッサに動作を実行させる命令が格納されているコンピュータ可読プログラムであって、前記動作は、
複数のエピソードを取得することを含み、各エピソードは、対応する期間に関連付けられ、画像のそれぞれのセットと、前記画像のそれぞれのセット内の各画像に対する人物識別子とを含み、前記動作はさらに、
各エピソードについてそれぞれのクラスタを形成することを含み、各クラスタは少なくとも2つの人物識別子を含み、前記動作はさらに、
1つ以上の人物識別子が閾値数未満のクラスタに含まれるかどうかを判定することと、
前記1つ以上の人物識別子が、前記閾値数未満のクラスタに含まれると判定された場合、前記1つ以上の人物識別子が含まれる前記クラスタから前記1つ以上の人物識別子を除去することと、
前記除去後、同一のクラスタをマージして複数の人々のグループを得ることとを含み、各人々のグループは2つ以上の人物識別子を含み、前記動作はさらに、
前記複数の人々のグループのうちの特定の人々のグループに基づく画像ベースの作成物を含むユーザインターフェイスを提供することを含む、コンピュータ可読プログラム
【請求項12】
各エピソードについて前記それぞれのクラスタを形成することは、
前記エピソードの前記画像のセットにおける少なくとも1つの画像に現れるすべての人物識別子を前記クラスタにマッピングすることと、
前記エピソードの前記画像のセットから、前記エピソードについて最も頻繁な人物識別子を含む画像の数を判定することと、
前記クラスタから、閾値数未満の画像に関連付けられる人物識別子を除去することとを含み、画像の前記閾値数は、前記エピソードについて前記最も頻繁な人物識別子を含む画像の数に基づいて判断される、請求項11に記載のコンピュータ可読プログラム
【請求項13】
記コンピュータ可読プログラムには、さらなる命令が格納され、前記命令は前記プロセッサに動作を実行させ、前記動作は、
前記マージの後、少なくとも1つの人々のグループが閾値数未満のエピソードに関連付けられていると判定することと、
少なくとも1つの人々のグループが前記閾値数未満のエピソードに関連付けられているという判定に応答して、前記少なくとも1つの人々のグループを1つ以上の他の人々のグループと組み合わせることとを含み、前記1つ以上の他の人々のグループは、各々、前記少なくとも1つの人々のグループに含まれる人物識別子のサブセットを含み、
前記ユーザインターフェイスを提供することは、前記少なくとも1つの人々のグループをマージした後に実行される、請求項11または12に記載のコンピュータ可読プログラム
【請求項14】
前記画像ベースの作成物を提供することは、
前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに基づいて選択することを含み、前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示し、前記画像ベースの作成物を提供することはさらに、
前記画像のサブセットに基づいて前記画像ベースの作成物を生成することを含む、請求項11~13のいずれか1項に記載のコンピュータ可読プログラム
【請求項15】
前記同一のクラスタをマージすることは、前記クラスタに基づいて、エピソードのそれぞれのセットを前記複数の人々のグループの各々に関連付けることを含み、
前記画像ベースの作成物を提供することは、前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに関連付けられるエピソードに含まれる画像のそれぞれのセットから選択することを含む、請求項11~14のいずれか1項に記載のコンピュータ可読プログラム
【請求項16】
コンピューティングデバイスであって、
プロセッサと、
前記プロセッサに結合され、前記プロセッサによって実行されると前記プロセッサに動作を実行させる命令が記憶されたメモリとを備え、前記動作は、
複数のエピソードを取得することを含み、各エピソードは、対応する期間に関連付けられ、画像のそれぞれのセットと、前記画像のそれぞれのセット内の各画像に対する人物識別子とを含み、前記動作はさらに、
各エピソードについてそれぞれのクラスタを形成することを含み、各クラスタは少なくとも2つの人物識別子を含み、前記動作はさらに、
1つ以上の人物識別子が閾値数未満のクラスタに含まれるかどうかを判定することと、
前記1つ以上の人物識別子が、前記閾値数未満のクラスタに含まれると判定された場合、前記1つ以上の人物識別子が含まれる前記クラスタから前記1つ以上の人物識別子を除去することと、
前記除去後、同一のクラスタをマージして複数の人々のグループを得ることとを含み、各人々のグループは2つ以上の人物識別子を含み、前記動作はさらに、
前記複数の人々のグループのうちの特定の人々のグループに基づく画像ベースの作成物を含むユーザインターフェイスを提供することを含む、コンピューティングデバイス。
【請求項17】
各エピソードについて前記それぞれのクラスタを形成することは、
前記エピソードの前記画像のセットにおける少なくとも1つの画像に現れるすべての人物識別子を前記クラスタにマッピングすることと、
前記エピソードの前記画像のセットから、前記エピソードについて最も頻繁な人物識別子を含む画像の数を判定することと、
前記クラスタから、閾値数未満の画像に関連付けられる人物識別子を除去することとを含み、画像の前記閾値数は、前記エピソードについて前記最も頻繁な人物識別子を含む画像の数に基づいて判断される、請求項16に記載のコンピューティングデバイス。
【請求項18】
前記メモリはさらなる命令を格納し、前記命令は前記プロセッサによって実行されると前記プロセッサに動作を実行させ、前記動作は、
前記マージの後、少なくとも1つの人々のグループが閾値数未満のエピソードに関連付けられていると判定することと、
少なくとも1つの人々のグループが前記閾値数未満のエピソードに関連付けられているという判定に応答して、前記少なくとも1つの人々のグループを1つ以上の他の人々のグループと組み合わせることとを含み、前記1つ以上の他の人々のグループは、各々、前記少なくとも1つの人々のグループに含まれる人物識別子のサブセットを含み、
前記ユーザインターフェイスを提供することは、前記少なくとも1つの人々のグループをマージした後に実行される、請求項16または17に記載のコンピューティングデバイス。
【請求項19】
前記画像ベースの作成物を提供する動作は、
前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに基づいて選択することを含み、前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示し、前記画像ベースの作成物を提供する動作はさらに、
前記画像のサブセットに基づいて前記画像ベースの作成物を生成することを含む、請求項16~18のいずれか1項に記載のコンピューティングデバイス。
【請求項20】
前記同一のクラスタをマージする動作は、前記クラスタに基づいて、エピソードのそれぞれのセットを前記複数の人々のグループの各々に関連付けることを含み、
前記画像ベースの作成物を提供することは、前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに関連付けられるエピソードに含まれる画像のそれぞれのセットから選択することを含む、請求項16~19のいずれか1項に記載のコンピューティングデバイス。
【発明の詳細な説明】
【背景技術】
【0001】
背景
スマートフォンまたは他のデジタルカメラなどのデバイスのユーザは、多数の写真およびビデオをキャプチャして、ユーザの画像ライブラリに格納する。ユーザは、このようなライブラリを利用して、彼らの写真およびビデオを視聴し、例えば、誕生日、結婚式、休暇、旅行等のような様々なイベントを追憶する。ユーザは、長い期間にわたって撮影される何千もの画像を有する大きな画像ライブラリを有し得る。
【0002】
本明細書において提供される背景技術の説明は、本開示の文脈を概して提示することを目的としている。本発明者らの研究は、この背景技術の項で説明される限り、出願時に他の態様では先行技術として資格がないかもしれない説明の態様とならんで、本開示に対する先行技術として明示的にも暗黙的にも認められるものではない。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
本明細書で説明する実現例は、画像ベースの作成物を生成し提供するための方法、デバイス、およびコンピュータ可読媒体に関する。
【0004】
いくつかの実現例では、コンピュータで実現される方法は、複数のエピソードを取得することを含み、各エピソードは、対応する期間に関連付けられ、画像のそれぞれのセットと、前記画像のそれぞれのセット内の各画像に対する人物識別子とを含む。本方法は、さらに、各エピソードについてそれぞれのクラスタを形成することを含み、各クラスタは、少なくとも2つの人物識別子を含む。本方法は、さらに、1つ以上の人物識別子が閾値数未満のクラスタに含まれるかどうかを判定することを含む。本方法は、さらに、前記1つ以上の人物識別子が、前記閾値数未満のクラスタに含まれると判定された場合、前記1つ以上の人物識別子が含まれる前記クラスタから前記1つ以上の人物識別子を除去することを含む。本方法は、さらに、前記除去後、同一のクラスタをマージして複数の人々のグループを得ることを含み、各人々のグループは2つ以上の人物識別子を含む。本方法は、さらに、前記複数の人々のグループのうちの特定の人々のグループに基づく画像ベースの作成物を含むユーザインターフェイスを提供することを含む。
【0005】
いくつかの実現例では、各エピソードについて前記それぞれのクラスタを形成することは、前記エピソードの前記画像のセットにおける少なくとも1つの画像に現れるすべての人物識別子を前記クラスタにマッピングすることと、前記エピソードの前記画像のセットから、前記エピソードについて最も頻繁な人物識別子を含む画像の数を判定することと、前記クラスタから、閾値数未満の画像に関連付けられる人物識別子を除去することとを含んでもよい。いくつかの実現例では、画像の前記閾値数は、前記エピソードについて前記最も頻繁な人物識別子を含む画像の数に基づいて判断されてもよい。
【0006】
いくつかの実現例では、本方法は、さらに、少なくとも1つの人々のグループが閾値数未満のエピソードに関連付けられていると判定することを含んでもよい。本方法は、さらに、少なくとも1つの人々のグループが前記閾値数未満のエピソードに関連付けられているという判定に応答して、前記少なくとも1つの人々のグループを1つ以上の他の人々のグループと組み合わせることを含んでもよい。前記1つ以上の他の人々のグループは、各々、前記少なくとも1つの人々のグループに含まれる人物識別子のサブセットを含んでもよい。これらの実現例では、前記ユーザインターフェイスを提供することは、前記少なくとも1つの人々のグループをマージした後に実行されてもよい。
【0007】
いくつかの実現例では、前記同一のクラスタをマージすることは、前記クラスタに基づいて、エピソードのそれぞれのセットを前記複数の人々のグループの各々に関連付けることを含んでもよい。いくつかの実現例では、前記画像ベースの作成物を提供することは、前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに関連付けられるエピソードに含まれる画像のそれぞれのセットから選択することを含んでもよい。前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示してもよい。
【0008】
いくつかの実現例では、前記ユーザインターフェイスを提供することは、前記特定のグループと一致する画像が最近キャプチャされたことを検出すること、現在の日付が前記特定の人々のグループに関連付けられる日付と一致することを検出すること、または前記特定の人々のグループに一致するイベントを検出すること、のうちの少なくとも1つに応答して実行される。
【0009】
いくつかの実現例では、前記画像ベースの作成物を提供することは、前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに基づいて選択することを含んでもよい。前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示してもよい。本方法は、さらに、前記画像のサブセットに基づいて前記画像ベースの作成物を生成することを含んでもよい。前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子の各々に対応する人物を示してもよい。いくつかの実現例では、前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示してもよい。いくつかの実現例では、前記画像のサブセットは、前記複数のエピソードのうちの少なくとも2つのエピソードからの画像を含んでもよい。いくつかの実現例では、前記画像のサブセットは、前記サブセットが、位置多様性、姿勢多様性、または視覚的多様性のうちの1つ以上を提供するように選択されてもよい。
【0010】
いくつかの実現例は、プロセッサによって実行されると前記プロセッサに動作を実行させる命令が格納されている非一時的なコンピュータ可読媒体を含み、前記動作は、複数のエピソードを取得することを含み、各エピソードは、対応する期間に関連付けられ、画像のそれぞれのセットと、前記画像のそれぞれのセット内の各画像に対する人物識別子とを含む。前記動作は、さらに、各エピソードについてそれぞれのクラスタを形成することを含み、各クラスタは、少なくとも2つの人物識別子を含む。前記動作は、さらに、1つ以上の人物識別子が閾値数未満のクラスタに含まれるかどうかを判定することと、前記1つ以上の人物識別子が、前記閾値数未満のクラスタに含まれると判定された場合、前記1つ以上の人物識別子が含まれる前記クラスタから前記1つ以上の人物識別子を除去することとを含む。前記動作は、さらに、同一のクラスタをマージして複数の人々のグループを得ることを含み、各人々のグループは2つ以上の人物識別子を含む。前記動作は、さらに、前記複数の人々のグループのうちの特定の人々のグループに基づく画像ベースの作成物を含むユーザインターフェイスを提供することを含む。
【0011】
いくつかの実現例では、各エピソードについて前記それぞれのクラスタを形成する動作は、前記エピソードの前記画像のセットにおける少なくとも1つの画像に現れるすべての人物識別子を前記クラスタにマッピングすることと、前記エピソードの前記画像のセットから、前記エピソードについて最も頻繁な人物識別子を含む画像の数を判定することと、前記クラスタから、閾値数未満の画像に関連付けられる人物識別子を除去することとを含んでもよい。いくつかの実現例では、画像の前記閾値数は、前記エピソードについて前記最も頻繁な人物識別子を含む画像の数に基づいて判断されてもよい。
【0012】
いくつかの実現例では、前記非一時的なコンピュータ可読媒体は、さらなる命令を格納してもよく、前記命令は前記プロセッサに動作を実行させ、前記動作は、少なくとも1つの人々のグループが閾値数未満のエピソードに関連付けられていると判定することと、少なくとも1つの人々のグループが前記閾値数未満のエピソードに関連付けられているという判定に応答して、前記少なくとも1つの人々のグループを1つ以上の他の人々のグループと組み合わせることとを含み、前記1つ以上の他の人々のグループは、各々、前記少なくとも1つの人々のグループに含まれる人物識別子のサブセットを含む。これらの実現例では、前記ユーザインターフェイスを提供する動作は、前記少なくとも1つの人々のグループをマージした後に実行されてもよい。
【0013】
いくつかの実現例では、前記画像ベースの作成物を提供する動作は、前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに基づいて選択することを含んでもよく、前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示し、前記画像ベースの作成物を提供する動作はさらに、前記画像のサブセットに基づいて前記画像ベースの作成物を生成することを含んでもよい。
【0014】
いくつかの実現例では、前記同一のクラスタをマージする動作は、前記クラスタに基づいて、エピソードのそれぞれのセットを前記複数の人々のグループの各々に関連付けることを含んでもよい。いくつかの実現例では、前記画像ベースの作成物を提供することは、前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに関連付けられるエピソードに含まれる画像のそれぞれのセットから選択することを含んでもよい。
【0015】
いくつかの実現例は、プロセッサと、前記プロセッサに結合されるメモリとを含むコンピューティングデバイスを含んでもよい。前記メモリは、前記プロセッサによって実行されると前記プロセッサに動作を実行させる命令が格納されていてもよく、前記動作は、複数のエピソードを取得することを含み、各エピソードは、対応する期間に関連付けられ、画像のそれぞれのセットと、前記画像のそれぞれのセット内の各画像に対する人物識別子とを含む。前記動作は、さらに、各エピソードについてそれぞれのクラスタを形成することを含み、各クラスタは、少なくとも2つの人物識別子を含む。前記動作は、さらに、1つ以上の人物識別子が閾値数未満のクラスタに含まれるかどうかを判定することと、前記1つ以上の人物識別子が、前記閾値数未満のクラスタに含まれると判定された場合、前記1つ以上の人物識別子が含まれる前記クラスタから前記1つ以上の人物識別子を除去することとを含む。前記動作は、さらに、前記除去後、同一のクラスタをマージして複数の人々のグループを得ることを含んでもよく、各人々のグループは2つ以上の人物識別子を含む。前記動作は、さらに、前記複数の人々のグループのうちの特定の人々のグループに基づく画像ベースの作成物を含むユーザインターフェイスを提供することを含む。
【0016】
いくつかの実現例では、各エピソードについて前記それぞれのクラスタを形成する動作は、前記エピソードの前記画像のセットにおける少なくとも1つの画像に現れるすべての人物識別子を前記クラスタにマッピングすることと、前記エピソードの前記画像のセットから、前記エピソードについて最も頻繁な人物識別子を含む画像の数を判定することと、前記クラスタから、閾値数未満の画像に関連付けられる人物識別子を除去することとを含んでもよい。いくつかの実現例では、画像の前記閾値数は、前記エピソードについて前記最も頻繁な人物識別子を含む画像の数に基づいて判断されてもよい。
【0017】
いくつかの実現例では、前記メモリは、前記プロセッサによって実行されると前記プロセッサに動作を実行させる命令が格納されていてもよく、前記動作は、少なくとも1つの人々のグループが閾値数未満のエピソードに関連付けられていると判定することと、少なくとも1つの人々のグループが前記閾値数未満のエピソードに関連付けられているという判定に応答して、前記少なくとも1つの人々のグループを1つ以上の他の人々のグループと組み合わせることとを含む。いくつかの実現例では、前記1つ以上の他の人々のグループは、各々、前記少なくとも1つの人々のグループに含まれる人物識別子のサブセットを含んでもよい。これらの実現例では、前記ユーザインターフェイスを提供する動作は、前記少なくとも1つの人々のグループをマージした後に実行されてもよい。
【0018】
いくつかの実現例では、前記画像ベースの作成物を提供する動作は、前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに基づいて選択することを含んでもよく、前記画像のサブセット内の各画像は、前記特定の人々のグループに含まれる前記2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示し、前記画像ベースの作成物を提供する動作はさらに、前記画像のサブセットに基づいて前記画像ベースの作成物を生成することを含んでもよい。
【0019】
いくつかの実現例では、前記同一のクラスタをマージする動作は、前記クラスタに基づいて、エピソードのそれぞれのセットを前記複数の人々のグループの各々に関連付けることを含んでもよい。いくつかの実現例では、前記画像ベースの作成物を提供することは、前記画像ベースの作成物のための画像のサブセットを、前記特定の人々のグループに関連付けられるエピソードに含まれる画像のそれぞれのセットから選択することを含んでもよい。
【図面の簡単な説明】
【0020】
図1】本明細書で説明する1つ以上の実現例のために用いられ得る例示的なネットワーク環境のブロック図である。
図2】いくつかの実現例による、画像ベースの作成物を含むユーザインターフェイスを提供するための例示的な方法を示すフロー図である。
図3A】いくつかの実現例による、画像ライブラリ内のエピソードから人々のグループを得る、異なる段階を示す。
図3B】いくつかの実現例による、画像ライブラリ内のエピソードから人々のグループを得る、異なる段階を示す。
図3C】いくつかの実現例による、画像ライブラリ内のエピソードから人々のグループを得る、異なる段階を示す。
図3D】いくつかの実現例による、画像ライブラリ内のエピソードから人々のグループを得る、異なる段階を示す。
図3E】いくつかの実現例による、画像ライブラリ内のエピソードから人々のグループを得る、異なる段階を示す。
図3F】いくつかの実現例による、画像ライブラリ内のエピソードから人々のグループを得る、異なる段階を示す。
図4A】本明細書で説明するいくつかの実現例による、例示的なユーザインターフェイスを示す。
図4B】いくつかの実現例による、例示的なユーザインターフェイス412~416を示す。
図5】本明細書で説明する1つ以上の特徴を実現するために用いられ得る例示的なデバイス500のブロック図である。
【発明を実施するための形態】
【0021】
詳細な説明
本開示は、ユーザの画像ライブラリに基づいて有意な人々のグループを自動的に判定し、適切な時間にそのような人々のグループに対する画像ベースの作成物を提供することに関する。例えば、ユーザは、例えばユーザの人生にわたって、長期間にわたって撮影される何千もの写真を含む画像ライブラリを有し得る。そのような画像のブラウジングは、ユーザが多数の関心のない画像または複製画像に遭遇する可能性があるので、面倒であり得る。さらに、検索機能は、ユーザが特定の基準を満たす画像(例えば、特定の期間にキャプチャされた画像、特定の人物を表す画像等)を識別することを可能にし得るが、ユーザは、画像を閲覧するために検索を明示的に構築し、実行する必要がある。
【0022】
画像ライブラリにおいて、示される人物のサブセットは、ユーザにとって有意であり、重要であり得る。例えば、そのようなサブセットは、ユーザの近親等家族(例えば、配偶者、子供、親など)、ペット、親しい友人などを含み得る。ユーザは、そのような人物のサブセットの画像に関心がある可能性がより高く、なぜならば、それらはユーザの生活において重要な人々であるからである。
【0023】
ユーザの画像ライブラリ内の有意な人々のグループ、例えば、各々がユーザと有意な関係を有する2人以上の人々のグループを自動的に識別するための技術が、本明細書に記載される。記載される技術は、そのような自動識別のためにユーザデータにアクセスするための特定のユーザ許可を用いて実行される。いくつかの実現例では、ユーザの画像ライブラリは、各エピソードがイベント(例えば、結婚もしくは卒業のような大きなイベント、またはハイキング旅行のようなより小さいイベント)に対応し得るように、複数のエピソードに分割され得る。本明細書に記載する技術によれば、ユーザの画像ライブラリ内のエピソードは、各エピソードに関連付けられる人物クラスタを識別するよう解析される。あるエピソードに十分に頻繁に出現しない人物、または少数のエピソードにのみ出現する人物は、人物クラスタから取り除かれ、重複する人物クラスタは、人々のグループを得るためにマージされる。
【0024】
いくつかの実現例では、例えば、トリガ条件に基づいて、複数の人々のグループが識別される場合、画像ベースの作成物を生成するために、人々のグループのサブセットが利用され得る。例えば、より大きな人々のグループは、むしろより小さいグループよりも画像ベースの作成物に利用され得る。同じサイズの複数の人々のグループが判断される場合、それら人々のグループは、人物識別子、最近の画像がその人々のグループに含まれるかどうか、またはユーザのライブラリ内の各人々のグループの相対頻度などに基づいて、ランク付けされ得る。
【0025】
識別された人々のグループに基づいて、スライドショー、コラージュ、画像アルバムなどの画像ベースの作成物が自動的に生成される。画像ベースの作成物を見るためにユーザインターフェイスがユーザに提供される。画像ベースの作成物は、適切な時(例えば、近づきつつあるイベントは、周期的にユーザが画像ライブラリ内の画像を閲覧するときなど)に生成されてもよく、ユーザインターフェイスを介して提供されてもよい。したがって、記載される技術は、画像ライブラリ内の有意な人々のグループを自動的に識別し、ユーザがそのような人々のグループに対する画像ベースの作成物を閲覧することを可能にするユーザインターフェイスを提供する。
【0026】
図1は、本明細書で説明するいくつかの実現例で用いられ得る例示的なネットワーク環境100のブロック図を示す。いくつかの実現例では、ネットワーク環境100は、1つ以上のサーバシステム、例えば、図1の例のサーバシステム102と、ユーザU1~U4のそれぞれのユーザに各々が関連付けられた複数のクライアントデバイス、例えば、クライアントデバイス120~126とを含む。サーバシステム102およびクライアントデバイス120~126の各々は、ネットワーク130と通信するように構成され得る。
【0027】
サーバシステム102は、サーバデバイス104および画像データベース110を含むことができる。いくつかの実現例では、サーバデバイス104は、画像アプリケーション106aを提供し得る。図1および残りの図において、参照番号の後の文字、例えば「106a」は、その特定の参照番号を有する要素に対する参照を表す。テキスト中において後に文字が続かない参照番号、例えば「106」は、その参照番号を有する要素の実施形態への一般的な参照を表す。
【0028】
画像データベース110は、サーバシステム102の一部である記憶装置に記憶されてもよい。いくつかの実現例では、画像データベース110は、リレーショナルデータベース、キー値構造、または他のタイプのデータベース構造を用いて実現され得る。いくつかの実現例では、画像データベース110は、ユーザU1~U4の各々に対するそれぞれの画像ライブラリに各々が対応する複数のパーティションを含み得る。例えば、図1に見られるように、画像データベース110は、ユーザU1用の第1の画像ライブラリ(画像ライブラリ1、108a)と、様々な他のユーザ用の他の画像ライブラリ(IL-2、IL-3、...、IL-n)とを含み得る。図1は単一の画像データベース110を示すが、画像データベース110は、例えば複数のデータベースサーバにわたる分散データベースとして実現されてもよいことを理解されたい。さらに、図1は、ユーザごとに1つずつ、複数のパーティションを示すが、いくつかの実現例では、各画像ライブラリは、別個のデータベースとして実現され得る。
【0029】
画像ライブラリ108aは、ユーザU1に関連付けられる複数の画像、複数の画像に関連付けられるメタデータ、および複数の画像に関連して格納される1つ以上の他のデータベースフィールドを格納することができる。画像ライブラリ108aに対するアクセス許可は、画像ライブラリ108a内の画像および他のデータが、例えば、画像アプリケーション106、他のアプリケーション、および/または1人以上の他のユーザによってどのようにアクセスされ得るかをユーザU1が制御することができるように制限され得る。サーバシステム102は、特定のユーザの画像データがそのユーザによって許可されるようにのみアクセス可能であるように、アクセス許可を実現するように構成されてもよい。
【0030】
本明細書で言及する画像は、1つ以上の画素値(例えば、色値、輝度値など)を有する画素を有するデジタル画像を含むことができる。画像は、静止画像(例えば、静止写真、単一フレームを有する画像など)、動画像(例えば、アニメーション、動画GIF、画像の一部分が動きを含み、他の部分が静止しているシネマグラフなど)、またはビデオ(例えば、任意選択で音声を含んでもよい画像または画像フレームのシーケンス)であり得る。本明細書で用いられる画像は、上記のいずれかとして理解され得る。例えば、本明細書で説明する実現例は、静止画像(例えば、写真または他の画像)、ビデオ、または動画像とともに用いられ得る。
【0031】
ネットワーク環境100はまた、ネットワーク130を介して互いにおよび/またはサーバシステム102と通信することができる1つ以上のクライアントデバイス、例えば、クライアントデバイス120,122,124,および126を含むことができる。ネットワーク130は、インターネット(登録商標)、ローカルエリアネットワーク(LAN)、ワイヤレスネットワーク、スイッチまたはハブ接続などのうちの1つ以上を含む、任意のタイプの通信ネットワークであり得る。いくつかの実現例では、ネットワーク130は、例えば、ピアツーピアワイヤレスプロトコル(例えば、Bluetooth(登録商標)、Wi-Fi Directなど)を用いる、デバイス間のピアツーピア通信を含み得る。2つのクライアントデバイス120と122との間のピアツーピア通信の一例が矢印132によって示されている。
【0032】
様々な実現例では、ユーザU1、U2、U3、およびU4は、それぞれのクライアントデバイス120,122,124,および126を用いて、サーバシステム102と、および/または互いに通信することができる。いくつかの例では、ユーザU1、U2、U3、およびU4は、それぞれのクライアントデバイスおよび/もしくはサーバシステム102上で実行するアプリケーションを介して、ならびに/またはサーバシステム102上で実現されるネットワークサービス、例えばソーシャルネットワークサービスもしくは他のタイプのネットワークサービスを介して、互いと対話することができる。例えば、それぞれのクライアントデバイス120,122,124,および126は、1つ以上のサーバシステム、例えば、サーバシステム102との間でデータを通信することができる。
【0033】
いくつかの実現例では、サーバシステム102は、各クライアントデバイスが、サーバシステム102および/またはネットワークサービスにアップロードされた、通信されたコンテンツまたは共有されるコンテンツを受信することができるように、適切なデータをクライアントデバイスに提供することができる。いくつかの例では、ユーザU1~U4は、画像共有、音声もしくはビデオ会議、音声、ビデオ、もしくはテキストチャット、または他の通信モードもしくはアプリケーションを介して対話することができる。
【0034】
サーバシステム102によって実現されるネットワークサービスは、ユーザが様々な通信を実行し、リンクおよび関連付けを形成し、画像、テキスト、音声、および他のタイプのコンテンツなどの共有されるコンテンツをアップロードおよびポストし、ならびに/または他の機能を実行することを可能にするシステムを含むことができる。例えば、クライアントデバイスは、クライアントデバイスに送信またはストリーミングされ、サーバおよび/またはネットワークサービスを介して異なるクライアントデバイスから(もしくは異なるクライアントデバイスから直接)発信されるか、またはサーバシステムおよび/もしくはネットワークサービスから発信されるコンテンツポストなどの受信されたデータを表示することができる。いくつかの実現例では、クライアントデバイスは、例えば、上述したように、クライアントデバイス間のピアツーピア通信を用いて、互いに直接通信することができる。いくつかの実現例では、「ユーザ」は、1つ以上のプログラムまたは仮想エンティティ、およびシステムまたはネットワークとインターフェイスする人物を含み得る。
【0035】
いくつかの実現例では、クライアントデバイス120、122、124、および/または126のいずれかが、1つ以上のアプリケーションを提供することができる。例えば、図1に示されるように、クライアントデバイス120は、画像アプリケーション106bを提供することができる。クライアントデバイス122~126も、同様のアプリケーションを提供してもよい。画像アプリケーション106aは、クライアントデバイス120のハードウェアおよび/またはソフトウェアを用いて実現され得る。異なる実現例では、画像アプリケーション106aは、例えば、クライアントデバイス120~124のいずれか上で実行される独立型のクライアントアプリケーションであってもよく、またはサーバシステム102上に提供される画像アプリケーション106bと連携して動作してもよい。
【0036】
画像アプリケーション106は、画像に関連する、ユーザ許可で実現される様々な特徴を提供することができる。例えば、そのような特徴は、カメラを用いて画像をキャプチャすること、画像を修正すること、画質を(例えば、顔のサイズ、ぼやけ、顔の数、画像合成、照明、露出などの要因に基づいて)判定すること、画像ライブラリ108に画像またはビデオを記憶すること、画像または画像ベースの作成物を見るためのユーザインターフェイスを提供することなどのうちの1つ以上を含み得る。
【0037】
いくつかの実現例では、ユーザ許可を用いて、画像アプリケーション106によって提供される特徴は、(例えば、顔検出、顔認識、歩容認識、姿勢認識などの1つ以上のユーザ許可された技術を用いて)画像内に示される1人以上の人物を判定するために、および画像ライブラリ108内の画像内に示される各人物(例えば、人間、ペット)に対する人物識別子を生成するために、画像を解析することを含み得る。各画像の人物識別子は、画像ライブラリ108内の画像と関連付けて格納されてもよい。いくつかの実現例では、人物識別子を生成することは、ユーザを示す画像をズーミングまたはクロッピングすることによって取得される、画像内に示される人物のサムネイル表現、例えば、人物のクローズアップを取得することをさらに含み得る。
【0038】
いくつかの実現例では、ユーザ許可を用いて、画像アプリケーション106は、画像を解析してデータを生成し、そのようなデータを画像ライブラリ108に格納することができる。例えば、画像アプリケーション106は、画像および関連付けられたメタデータ(例えば、位置、タイムスタンプなど)を解析して、画像を複数のエピソードにグループ化することができる。いくつかの実現例では、エピソードは、イベント(例えば、誕生日もしくは他の祝賀、旅行)または特定の期間に関連付けられ得る。画像アプリケーション106は、画像ライブラリ108内の画像を(反復的に)解析して、複数のエピソードを判断することができる。エピソードを判断すると、画像アプリケーション106は、画像ライブラリ内の各画像が関連付けられるエピソードを示すよう、画像ライブラリ108を更新してもよい。
【0039】
上記の説明は、画像アプリケーション106の様々な特徴に言及するが、様々な実現例では、画像アプリケーション106は、それよりも少ないかまたは多い特徴を提供し得ることを理解されたい。さらに、各ユーザには、ある特徴を有効化および/または無効化するためのオプションが提供される。画像アプリケーション106の特徴は、具体的に、ユーザ許可とともに実現される。
【0040】
クライアントデバイス120は、独立型画像ライブラリであり得る、ユーザU1の画像ライブラリ108bを含み得る。いくつかの実現例では、画像ライブラリ108bは、サーバシステム102上の画像ライブラリ108aと組み合わせて使用可能であってもよい。例えば、ユーザ許可により、画像ライブラリ108aおよび画像ライブラリ108bは、ネットワーク130を介して同期され得る。いくつかの実現例では、画像ライブラリ108は、ユーザU1に関連付けられる複数の画像、例えば、(例えば、クライアントデバイス120または他のデバイスのカメラを用いて)ユーザによってキャプチャされた画像、(例えば、他のユーザU2~U4のそれぞれの画像ライブラリから)ユーザU1と共有される画像、(例えば、ウェブサイト、メッセージングアプリケーションなどから)ユーザU1によってダウンロードされた画像、スクリーンショット、および他の画像を含み得る。
【0041】
いくつかの実現例では、クライアントデバイス120上の画像ライブラリ108bは、サーバシステム102上の画像ライブラリ108a内に画像のサブセットを含み得る。例えば、そのような実現例は、クライアントデバイス120上で利用可能である記憶空間の量が限られている場合に有利であり得る。
【0042】
いくつかの実現例では、画像アプリケーション106は、ユーザが画像ライブラリを管理することを可能にし得る。例えば、ユーザは、クライアントデバイス(例えば、クライアントデバイス120~126のいずれか)上の画像アプリケーション106bのバックアップ機能を用いて、クライアントデバイス上のローカル画像をサーバデバイス、例えばサーバデバイス104にバックアップすることができる。例えば、ユーザは、バックアップされるべき1つ以上の画像を手動で選択することができ、またはバックアップされるべき画像を識別するバックアップ設定を指定することができる。画像をサーバデバイスにバックアップすることは、画像を、サーバによる保存のために、例えばサーバデバイス104上の画像アプリケーション106aと協働してサーバに送信することを含み得る。
【0043】
異なる実現例では、クライアントデバイス120および/またはサーバシステム102は、様々なタイプの機能性、例えば、カレンダー、アドレス帳、電子メール、ウェブブラウザ、ショッピング、輸送(例えば、タクシー、列車、航空便予約など)、エンターテインメント(例えば、音楽プレーヤ、ビデオプレーヤ、ゲームアプリケーションなど)、ソーシャルネットワーキング(例えば、メッセージングまたはチャット、音声/ビデオ呼び出し、画像/ビデオ共有など)などを提供するアプリケーションであり得る他のアプリケーション(図示せず)を含み得る。いくつかの実現例では、他のアプリケーションのうちの1つ以上は、クライアントデバイス120上で実行する独立型アプリケーションであり得る。いくつかの実現例では、他のアプリケーションのうちの1つ以上は、当該他のアプリケーションのデータおよび/または機能性を提供するサーバシステム、例えば、サーバシステム102にアクセスすることができる。
【0044】
クライアントデバイス120、122、124、および/または126上のユーザインターフェイスは、画像、画像ベースの作成物、データ、および他のコンテンツ、ならびに通信、プライバシー設定、通知、および他のデータを含む、ユーザコンテンツならびに他のコンテンツの表示を可能にすることができる。そのようなユーザインターフェイスは、クライアントデバイス上のソフトウェア、サーバデバイス上のソフトウェア、および/またはクライアントソフトウェアとサーバデバイス104上で実行するサーバソフトウェアとの組み合わせ、例えば、サーバシステム102と通信するアプリケーションソフトウェアもしくはクライアントソフトウェアを用いて表示することができる。ユーザインターフェイスは、クライアントデバイスまたはサーバデバイスの表示装置、例えば、タッチスクリーンまたは他のディスプレイスクリーン、プロジェクタなどによって表示され得る。いくつかの実現例では、サーバシステム上で実行されるアプリケーションプログラムは、クライアントデバイスと通信して、クライアントデバイスでのユーザ入力を受信し、クライアントデバイスで視覚データ、音声データなどのデータを出力することができる。
【0045】
説明を容易にするために、図1は、サーバシステム102、サーバデバイス104、画像データベース110を1つのブロックで示し、クライアントデバイス120,122,124,および126を4つのブロックで示す。サーバブロック102,104,および110は、複数のシステム、サーバデバイス、およびネットワークデータベースを表してもよく、それらのブロックは、示されるものとは異なる構成で提供されることができる。例えば、サーバシステム102は、ネットワーク130を介して他のサーバシステムと通信することができる複数のサーバシステムを表すことができる。いくつかの実現例では、サーバシステム102は、例えば、クラウドホスティングサーバを含み得る。いくつかの例では、画像データベース110は、サーバデバイス104とは別個のサーバシステムブロック内に提供され、ネットワーク130を介してサーバデバイス104および他のサーバシステムと通信することができる記憶装置上に記憶されてもよい。
【0046】
また、任意の数のクライアントデバイスが存在してもよい。各クライアントデバイスは、任意のタイプの電子デバイス、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ポータブルまたはモバイルデバイス、携帯電話、スマートフォン、タブレットコンピュータ、テレビ、テレビセットトップボックスまたはエンターテインメントデバイス、ウェアラブルデバイス(例えば、ディスプレイ眼鏡またはゴーグル、腕時計、ヘッドセット、アームバンド、ジュエリーなど)、携帯情報端末(PDA)、メディアプレーヤ、ゲームデバイスなどとすることができる。いくつかの実現例では、ネットワーク環境100は、示されるコンポーネントのすべてを有さなくてもよく、および/または本明細書で説明されるコンポーネントの代わりに、もしくはそれに加えて、他のタイプの要素を含む他の要素を有してもよい。
【0047】
本明細書で説明する特徴の他の実現例は、任意のタイプのシステムおよび/またはサービスを用いることができる。例えば、ソーシャルネットワーキングサービスの代わりに、またはソーシャルネットワーキングサービスに加えて、他のネットワーク化されたサービス(例えば、インターネット(登録商標)に接続される)を用いることができる。任意の種類の電子デバイスが、本明細書に記載の特徴を利用することができる。いくつかの実現例は、コンピュータネットワークから切断されるかまたは断続的に接続される1つ以上のクライアントデバイスまたはサーバデバイス上に、本明細書で説明される1つ以上の特徴を提供することができる。いくつかの例では、表示装置を含むかまたは表示装置に接続されるクライアントデバイスは、クライアントデバイスにローカルな記憶装置に記憶された、例えば、通信ネットワークを介して以前に受信されたコンテンツポストを表示することができる。
【0048】
図2は、いくつかの実現例による、画像ベースの作成物を含むユーザインターフェイスを提供するための例示的な方法200を示すフロー図である。いくつかの実現例では、方法200は、例えば、図1に示されるように、サーバシステム102上で実現され得る。いくつかの実現例では、方法200の一部または全部は、図1に示されるように1つ以上のクライアントデバイス120,122,124または126上で、1つ以上のサーバデバイス上で、および/またはサーバデバイスとクライアントデバイスとの両方上で、実現され得る。説明される例では、実現システムは、1つ以上のデジタルプロセッサまたは処理回路(「プロセッサ」)と、1つ以上の記憶装置(例えば、データベースまたは他のストレージ)とを含む。いくつかの実現例では、1つ以上のサーバおよび/またはクライアントの、異なるコンポーネントが、方法200の、異なるブロックまたは他の部分を実行することができる。いくつかの例では、第1のデバイスは、方法200のブロックを実行するものとして説明される。いくつかの実現例は、結果またはデータを第1のデバイスに送信することができる1つ以上の他のデバイス(例えば、他のクライアントデバイスまたはサーバデバイス)によって実行される方法200の1つ以上のブロックを有することができる。
【0049】
いくつかの実現例では、方法200またはその一部は、システムによって自動的に開始され得る。いくつかの実現例では、実現システムは第1のデバイスである。例えば、本方法(またはその一部)は、周期的に、例えば、数時間毎、毎日、毎週、または他の好適な間隔で行うことができる。いくつかの実現例では、方法(またはその一部)は、1つ以上の特定のイベントまたは条件、例えば、クライアントデバイスによる画像アプリケーション106の起動、クライアントデバイスによる新たな画像のキャプチャ、新たな画像のサーバシステム102へのアップロード、方法200の最後の実行から経過した所定の時間、および/または本方法によって読み出される設定において指定され得る1つ以上の他の条件の発生に基づいて実行され得る。
【0050】
方法200は、ブロック202で開始することができる。ブロック202では、方法200の実現においてユーザデータを用いるためにユーザ許可が得られる。例えば、許可を得るユーザデータは、クライアントデバイス(例えば、クライアントデバイス120~126のいずれか)および/またはサーバデバイスに格納された画像、画像メタデータ、画像管理アプリケーションの使用に関連するユーザデータ、画像ベースの作成物に対するユーザ応答等を含むことができる。ユーザは、そのようなユーザデータにアクセスする許可を選択的に提供するためのオプションを提供される。例えば、ユーザは、要求されたユーザデータのすべてにアクセスする許可を与えること、要求されたデータの任意のサブセットにアクセスする許可を与えること、または要求されたデータのいずれにアクセスする許可も与えないことを選択することができる。本明細書で説明する方法の1つ以上のブロックは、いくつかの実現例では、そのようなユーザデータを使用し得る。ブロック202の後にブロック204が続く。
【0051】
ブロック204では、本明細書で説明する方法200の残りの部分(ブロック210~224)が、ユーザにより与えられた許可で、例えばユーザによって許可されたデータにアクセスすることによって、実現され得るかどうかが判定される。ブロック204において、ブロック202においてユーザによって与えられた許可が不十分であると判断された場合、ブロック204はブロック206に続き、そうでない場合には、ブロック204はブロック210に続く。
【0052】
ブロック206では、ユーザデータにアクセスするためにユーザ許可が要求される。例えば、ユーザがブロック210~224で用いられ得るユーザデータの1つ以上の部分に対する許可を拒否した場合、ユーザデータのそのような部分に対する許可を与えるよう、ユーザインターフェイスがユーザに提供され得る。ユーザインターフェイスは、データがどのように用いられ得るか、および/またはそのような許可を与えることが、例えば、画像ベースの作成物の提供を可能にすることによって、ユーザに利益をもたらし得るという表示をユーザに示し得る。代替的に、例えば、ユーザがユーザデータへのアクセス要求を却下するか、そうでなければ許可の否認を示す場合、本方法はブロック206で終了し、ユーザデータはアクセスされない。この場合、ブロック210~224は実行されない。
【0053】
ユーザによって与えられた許可が十分である場合、ブロック204にブロック210が続く。方法の残りの部分、例えばブロック210~224は、ユーザによって許可されたユーザデータへの選択的アクセスとともに実行される。いくつかの実現例では、ユーザは、ユーザデータへのアクセスを提供するために、または許可を修正するために、追加のプロンプトを提供され得る。
【0054】
ブロック210では、複数のエピソードが得られる。例えば、エピソードは、ユーザの画像ライブラリから取得され、クライアントデバイスおよび/またはサーバデバイス上にローカルに記憶されてもよい。いくつかの実現例では、各エピソードは、対応する期間に関連付けられ得、画像のそれぞれのセットを含み得る。
【0055】
例えば、エピソードは、特定のイベントに対応し得る。エピソードに関連付けられ得るイベントの例は、例えば、誕生日、結婚式、または他の祝賀;旅行またはアクティビティ、例えばスキー休暇、ハイキング旅行、ビーチ休暇、ゲームもしくはコンサート、家族ピクニック等を含む。エピソードは、短い時間(例えば、コンサートもしくは誕生日の祝賀の場合など、数時間または1日)または比較的より長い時間(例えば、複数日のスキー休暇)に及ぶことができる。
【0056】
エピソードについての画像のセットは、エピソードに関連付けられる期間内に撮影した画像を含むことができる。例えば、ハイキング休暇に関連付けられる画像は、その期間中に撮影された画像を含み得、それらの画像は、登山中、コースを歩く、飲食、もしくは一緒に他の活動に従事する人々の画像、および/または他の画像(例えば、山や木などの画像)を含む。
【0057】
各画像は、それぞれの人物識別子に関連付けられてもよい。いくつかの実現例では、人物識別子は、ユーザの画像ライブラリに示される特定の人物に関連付けられる一意の値、例えばデータベース一次キーまたは等価物であり得る。例えば、コース上を歩行する2人の人物を示す画像は、2人の人物の各々に対するそれぞれの人物識別子に関連付けられてもよい。ユーザ許可で、一意の人物識別子が、ユーザの画像ライブラリ内の1つ以上の画像内に示される各人物に関連付けられ得る。
【0058】
いくつかの実現例では、ユーザの画像ライブラリにおいて利用可能であるとき、人物識別子は、人物の名前に関連付けられ得る。いくつかの実現例では、人物識別子は、人物の代表的画像またはサムネイルに関連付けられ得る。画像を検索する、または人物識別子を画像に関連付ける、などの操作のために、一意の識別子(データ値)が利用され得ることが理解されるであろう。本明細書の残りの部分では、説明を容易にするために、人物識別子は、一意の識別子(例えば、英数字または他のタイプのデータ値)、人物の名前、または人物のサムネイルを指すよう、互換的に用いられる。いくつかの実現例では、(例えば、画像ライブラリが、異なる動物を区別するための特徴を有する場合)人物は、人間およびペットを含み得る。人物を示さない画像については、人物識別子を関連付けなくてもよいし、またはヌル識別子を関連付けてもよい。ブロック210の後には、ブロック212が続いてもよい。
【0059】
図3A図3Fは、いくつかの実現例による、ユーザの画像ライブラリ内においてエピソードから人々のグループを得ることの、異なる段階を示す。方法200のブロックの残りの部分は、図3A図3Fをさらに参照して説明される。
【0060】
ブロック212では、各エピソードに対して、それぞれのクラスタが形成される。図3A図3Dでは、8つのクラスタ(および対応して、8つのエピソード)が番号1~8によって識別される。いくつかの実現例では、クラスタを形成することは、エピソードの画像のセット中の少なくとも1つの画像内に現れるすべての人物識別子をクラスタにマッピングすることを含み得る。例えば、図3Aに示されるように、クラスタ1,2,3,5,6,および8は各々3つの人物識別子を含み、クラスタ4および7は各々2つの人物識別子を含む。図3A図3Fでは、各人物識別子は、それぞれの顔によって示されている。
【0061】
図3A図3Cの各々において、各人物識別子の隣の数字は、人物識別子が関連付けられるエピソードの画像のセットからの画像の数を示す。人物識別子は、例えば、顔認識、歩容認識、姿勢認識など、ユーザが許可した人物認識技術を用いて認識されるように、人物識別子に対応する人物が画像内に示されるときに、その画像に関連付けられる。
【0062】
簡単にする目的で、用語「人物識別子X」および「人物X」は、本明細書では互換的に用いられ得る。図3Aに示すように、クラスタ1は、人物Aを含む20個の画像、人物Bを含む15個の画像、および人物Cを含む1個の画像を含む。クラスタ2は、人物Dを含む50個の画像、人物Bを含む35個の画像、および人物Aを含む25個の画像を含む。クラスタ3は、人物Eを含む40個の画像、人物Aを含む30個の画像、および人物Bを含む10個の画像を含む。クラスタ4は、人物Eを含む35個の画像、および人物Bを含む20個の画像を含む。クラスタ5は、人物Eを含む25個の画像、人物Bを含む10個の画像、および人物Fを含む3個の画像を含む。クラスタ6は、人物Bを含む10個の画像、人物Eを含む5個の画像、および人物Dを含む4個の画像を含む。クラスタ7は、人物Aを含む45個の画像、および人物Bを含む20個の画像を含む。クラスタ8は、人物Aを含む30個の画像、人物Bを含む25個の画像、および人物Eを含む2個の画像を含む。
【0063】
いくつかの実現例では、クラスタを形成することは、エピソードの画像のセットから、そのエピソードについて最も頻繁な人物識別子を含む画像の数を判断することをさらに含み得る。例えば、エピソード1の場合、(人物Aが最も頻繁な人物識別子であるので、)画像の数は20である。
【0064】
いくつかの実現例では、クラスタを形成することは、クラスタから閾値数未満の画像に関連付けられる人物識別子を除去することをさらに含み得る。いくつかの実現例では、画像の閾値数は、エピソードについて最も頻繁な人物識別子を含む画像の数(例えば、エピソード1の場合、20)に基づいて判断され得る。例えば、エピソード1の場合、閾値数は5(20の20%未満)であると判断し、閾値数未満に関連付けられる人物識別子(例えば、人物C)をクラスタ1から除去することができる。人物識別子の除去が、単一の人物識別子を有するクラスタをもたらす場合、そのようなクラスタは、さらなる処理の前に除去される。
【0065】
異なる実現例では、閾値数は、異なる方法で、例えばパーセンテージ(最も頻繁な人物を含む画像の数の20%、30%、または他の値)として、選択され得る。いくつかの実現例では、閾値数は、例えば、各クラスタ内の人物識別子の総数が閾値サイズ以下になるまで、各クラスタ内の最低数の画像に関連付けられる人物識別子を除去するよう、各クラスタについての最大サイズに基づいて選択され得る。いくつかの実現例では、閾値数は、各クラスタが、各クラスタに関連付けられた各人物識別子について少なくとも最小数の画像、例えば、3つの画像、5つの画像など、を含むように、選択され得る。
【0066】
図3Bは、人物識別子Cがクラスタ1から除去され、人物識別子Fがクラスタ5から除去されることを示す。クラスタ1の場合、人物Cはクラスタのたった1つの画像に関連付けられ、それは、例えば20の20%=4として判定され得る閾値数未満の画像である。クラスタ5の場合、人物Fは、クラスタの3つの画像と関連付けられ、それは、例えば、25の20%=5として判定され得る、閾値数未満の画像であり、ここで、25は、クラスタ5の最も頻繁な人物識別子(人物B)が含まれる画像の数である。
【0067】
画像の閾値数の選択は、人物識別子がクラスタ内に比較的頻繁に示されること、例えばエピソードにとって重要な人であることを保証し得る。例えば、あるグループの人々が行ったハイキング休暇からの画像のセットを含むエピソードの場合、ハイキンググループの一部であった人物は、そのエピソードの画像において他のハイカー、ガイドなどの他の人々よりも頻繁に示される可能性がある。別の例では、結婚式からの画像のセットを含むエピソードについて、婚礼パーティにおける個人が最も重要な人物である可能性があり、そのような人物は、そのエピソードの画像セットにおいて、より頻繁に示される可能性がある。したがって、閾値数未満の画像に関連付けられる人物識別子を除去することにより、クラスタに基づく画像ベースの作成物がエピソードからの重要な人物を含むことが保証される。
【0068】
ブロック212の後には、ブロック214が続いてもよい。
ブロック214では、1つ以上の人物識別子が閾値数未満のクラスタに含まれるかどうかが判断される。例えば、図3Cに見られるように、人物識別子Dは、2つのクラスタ(クラスタ2およびクラスタ6)に含まれるものとして識別され、それは、クラスタの閾値数、例えば、4、未満である。いくつかの実現例では、クラスタの閾値数は、ユーザの画像ライブラリ中のエピソードの総数(または、少なくとも2つの人物識別子を有するクラスタを有するエピソードの総数)に基づいて選択され得る。例えば、小さな画像ライブラリ(例えば、10個のエピソード、20個のエピソードを有する)の場合、クラスタの閾値数は比較的低い値(例えば、2、3など)となるように選択することができ、大きな画像ライブラリ(例えば、50個のエピソード、200個のエピソード、またはさらにより多くのエピソードを有する)の場合、閾値数は比較的高い値(例えば、5、10など)に選択することができる。
【0069】
閾値数の選択は、ライブラリサイズに基づいて自動的に行われてもよく、閾値数の使用が、ユーザの画像ライブラリにおいて実質的な期間にわたって頻繁に示される人物、例えば、ユーザにとって比較的より重要な人物を含むクラスタを生成する高い尤度を有するようにしてもよい。例えば、ユーザにとってより重要な人物は、配偶者、子供、親、兄弟姉妹などの近親家族;友人;同僚のサブセット等を含み得、ユーザにとって比較的重要性の低い人物は、会食した人物、旅行グループの一員であった人物、それらの画像において偶然にキャプチャされた人物などの、他の人物を含み得る。
【0070】
1つ以上の人物識別子が閾値数未満のクラスタに含まれる場合、ブロック214の後にブロック216が続く。そうでない場合には、ブロック214の後にブロック218が続く。
【0071】
ブロック216では、ブロック214で識別された1つ以上の人物識別子が、そのような識別子が含まれるクラスタから除去される。例えば、図3Cは、人物Dがクラスタ2およびクラスタ6から除去されることを示している。1つ以上の人物識別子の除去が、単一の人物識別子を有するクラスタをもたらす場合、そのようなクラスタは、さらなる処理の前に除去される。ブロック216の後にはブロック218が続いてもよい。
【0072】
ブロック218では、複数の人々のグループを得るために、同一のクラスタがマージされる。各人々のグループは、少なくとも2つの人物識別子を含む。例えば、図3Dは、クラスタ1、2、7、および8(各々、人物Aおよび人物Bを含む)が、人々のグループ310を得るためにマージされ、クラスタ4、5、および6(各々、人物Bおよび人物Eを含む)が、人々のグループ330を得るためにマージされることを示している。人々のグループ320は、独自のクラスタ3と同一である。図3Dでは、各人々のグループに対応するエピソード番号が、各人々のグループの人物識別子の隣に示されている。
【0073】
いくつかの実現例では、同一のクラスタをマージすることは、(マージされるクラスタに基づいて判断される)エピソードのそれぞれのセットを複数の人々のグループの各々に関連付けることを含み得る。例えば、図3Dに示されるように、エピソード1、2、7、および8は、人々のグループ310に関連付けられ、エピソード4、5、および6は、人々のグループ330に関連付けられる。エピソードを人々のグループに関連付けることは、ブロック224を参照してさらに説明されるように、人々のグループに対して画像ベースの作成物を生成するときにエピソードから画像を選択することを可能にする。ブロック218の後には、ブロック220が続いてもよい。
【0074】
ブロック218の後に実行されるブロック220では、少なくとも1つの人々のグループが、閾値数未満のエピソードに関連付けられるかどうかが判断される。例えば、図3Dに見られるように、人々のグループ320は、単一のエピソード(エピソード3)に関連付けられる。いくつかの実現例では、エピソードの閾値数は、2つ、3つ、または任意の他の数として選択され得る。より高いエピソードの閾値数を選択することは、ブロック224を参照して説明されるように、画像ベースの作成物が人々のグループおよび関連付けられるエピソードに基づくので、より大きな時間多様性を有する画像ベースの作成物を可能にすることができる。より低いエピソードの閾値数を選択することは、ブロック224を参照して説明されるように、より多数の画像ベースの作成物を生成することを可能にし得、例えば、閾値を2として選択することによって、2つのエピソードに関連付けられる人々のグループであっても、画像ベースの作成物に用いることができる。
【0075】
ブロック220において、少なくとも1つの人々のグループが閾値数未満のエピソードに関連付けられていると判断された場合、ブロック220に続いてブロック222が続く。そうでなければ、ブロック220の後にブロック224が続く。
【0076】
ブロック222において、(ブロック220において閾値数未満のエピソードに関連付けられるものとして識別される)少なくとも1つの人々のグループは、1つ以上の他の人々のグループと組み合わされる。いくつかの実現例では、少なくとも1つの人々のグループが組み合わされる、1つ以上の他の人々のグループは、各々、当該少なくとも1つの人々のグループに含まれる人物識別子のサブセットを含む。例えば、図3Eは、(単一のエピソードに関連付けられる)人々のグループ320が、人々のグループ310(人物Aおよび人物Bを含む)および人々のグループ330(人物Bおよび人物Eを含む)とマージされることを示す。
【0077】
いくつかの実現例では、人々のグループを組み合わせることは、少なくとも1つの人々のグループに関連付けられるエピソードを、その人々のグループが組み合わせられる1つ以上の他の人々のグループと関連付けることを含み得る。例えば、組み合せ後、図3Fに示されるように、エピソード3は、人々のグループ310および人々のグループ330に関連付けられる。エピソードを人々のグループに関連付けることは、ブロック224を参照してさらに説明されるように、人々のグループに対する画像ベースの作成物を生成するときにエピソードから画像を選択することを可能にする。
【0078】
ブロック222の後には、ブロック224が続いてもよい。いくつかの実現例では、ブロック220および222は任意選択である。これらの実現例では、ブロック218の後にブロック224が続く。
【0079】
ブロック224では、複数の人々のグループのうちの特定の人々のグループに基づく画像ベースの作成物を含むユーザインターフェイスが提供される。例えば、ユーザインターフェイスは、画像アプリケーション(例えば、画像アプリケーション106)に表示されるアクション可能なユーザインターフェイス要素として提供されてもよく、ユーザが、アクション可能なユーザインターフェイス要素を選択すると、対応する画像ベースの作成物が表示される。いくつかの実現例では、ユーザインターフェイスを提供することは、命令に、(例えば、クライアントデバイス120上の画像アプリケーション106b、ウェブブラウザなどを介して)ユーザのクライアントデバイスに提供されるべきユーザインターフェイスを表示させることを含み得る。
【0080】
いくつかの実現例では、ブロック224は、以下のトリガ条件のうちの少なくとも1つが満足されることを検出することに応答して実行され得る。例示的なトリガ条件は、特定のグループに一致する画像が、最近、例えば方法200(またはサブ部分、例えばブロック224)が以前に実行されてから、キャプチャされたことを検出することであってもよい。別の例示的なトリガ条件は、(ブロック224が実行されるときに)現在の日付が特定の人々のグループに関連付けられた日付と一致することを検出することであってもよい。例えば、ユーザのライブラリが周期的イベント(例えば、誕生日、結婚記念日、感謝祭、クリスマス、または他の休暇日など)に関連付けられる人々のグループを含む場合、ブロック224は、画像ベースの作成物を伴うユーザインターフェイスが特定のイベントの再来またはその付近で提供されるように、実行されてもよい。別の例示的なトリガ条件は、特定の人々のグループに一致するイベントを検出することであってもよい。例えば、人々のグループに入っている友人または家族との計画された休暇(または進行中もしくは終わったばかりの休暇)が、旅行データなどのユーザ許可データに基づいて検出されてもよく、ブロック224は、それに応じて実行されてもよい。
【0081】
いくつかの実現例では、画像ベースの作成物のための画像は、トリガ条件が抜きんでていると検出されたときに、クライアントデバイス(例えば、クライアントデバイス120~126のいずれか)に先にダウンロードされ得る。例えば、誕生日が特定の人々のグループに基づく画像ベースの作成物のトリガである場合、画像ベースの作成物は、予め生成され、ダウンロードされ、クライアントデバイスにキャッシュされてもよい。代替的に、または加えて、人々のグループについての画像が、ダウンロードされ、クライアントデバイスにキャッシュされてもよい。そのようなダウンロードは、トリガ条件が検出された時点で画像ベースの作成物が利用可能であること(またはクライアントデバイスによって生成可能であること)を保証することができる。
【0082】
いくつかの実現例では、トリガは、ユーザの画像ライブラリの人々のグループの総数に基づいて抑制され得、例えば、人々のグループの数が比較的少ない小さな画像ライブラリを有するユーザの場合、画像ベースの作成物は、大きな画像ライブラリを有するライブラリを有するユーザほど頻繁に提供されない場合がある。これは、少ない数の人々のグループが判断される場合であっても、画像ベースの作成物を、比較的規則的な間隔で(例えば、毎月)、または特別の瞬間(例えば、誕生日の祝賀)で提供する、という利益を有し得る。
【0083】
いくつかの実現例では、ブロック224は、周期的に、例えば、1日に1回、週に1回、月に1回など、実行され得る。様々な実現例では、ブロック224は、これらまたは他のトリガ条件の任意の組合せに応答して実行され得る。
【0084】
いくつかの実現例では、画像ベースの作成物は、ブロック224のトリガ条件に部分的に基づいて生成され得る。例えば、ブロック224が新たな画像のキャプチャに応答して実行される場合、画像ベースの作成物のための特定の人々のグループは、画像内に示された人物との部分的または正確な一致であってもよい。別の例では、特定の人々のグループに対する画像ベースの作成物が周期的に(例えば、1ヶ月に1回、毎年夏に1回など)生成されるとき、ブロック224は、ブロック224で選択された画像のサブセットが、対応する以前の期間からの画像を含み得るように、実行されてもよい。例えば、ブロック224が毎年夏に実行される場合、画像のサブセットの選択は、以前の夏の季節に関連付けられるエピソードからの画像が選択され、他の季節からの画像は除外されるように、実行されてもよい。
【0085】
いくつかの実現例では、ブロック224は、特定の人々のグループが頻繁に反復されないように実行され、例えば、ブロック224が実行される度に異なる特定の人々のグループが選択されるように、または同様の画像ベースの作成物が比較的短い期間(例えば、1ヶ月、四半期等)内にユーザインターフェイスに表示されないように、またはある人々のグループに対する画像ベースの作成物が、その人々のグループに対して新たな画像が利用可能でなければ繰り返されないように、実行される。
【0086】
いくつかの実現例では、ユーザインターフェイスを提供することは、特定の人々のグループに基づいて画像ベースの作成物のために画像のサブセットを選択することを含み得る。例えば、画像のサブセットは、画像のサブセット内の各画像が、特定の人々のグループに含まれる2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示すように、選択されてもよい。いくつかの実現例では、画像のサブセットは、サブセット内の各画像が人々のグループに対する正確な一致であるように、選択され得る。換言すれば、これらの実現例では、画像のサブセットは、人々のグループ内の人物識別子に関連付けられた人物だけを示し、他の人物は示さなくてもよい。
【0087】
いくつかの実現例では、画像のサブセットは、サブセット内の各画像が特定の人々のグループとの一致であるが、1人以上の他の人物も含むように、選択され得る。換言すれば、これらの実現例では、画像のサブセットは、特定の人々のグループ中の人物識別子と関連付けられたすべての人物、および1人以上の他の人物(別の人々のグループにあってもよく、そうでなくてもよい)を示してもよい。いくつかの実現例では、画像のサブセットは、(特定の人々のグループにない)1人以上の他の人々が任意の他の人々のグループの一部ではないように、選択され得る。
【0088】
さらに別の実現例では、画像のサブセットは、サブセット内の各画像が、特定の人々のグループに対する部分的一致であり、例えば、特定の人々のグループの2つ以上の人物識別子に含まれる少なくとも2人の人物を含み、任意選択で、1人以上の他の人物を含むように、選択され得る。換言すれば、これらの実現例では、画像のサブセットは、人々のグループ内の人物識別子に関連付けられた人物のうちの少なくとも2人、および任意選択で、1人以上の他の人物(別の人々のグループにあってもよく、そうでなくてもよい)を示してもよい。これらの実現例のうちのいくつかでは、画像のサブセットは、(特定の人々のグループにない)1人以上の他の人物が任意の他の人々のグループの一部ではないように、選択され得る。
【0089】
いくつかの実現例では、画像のサブセットは、サブセットが複数のエピソードのうちの少なくとも2つのエピソードからの画像を含むように、選択され得る。例えば、そのような実現例は、画像ベースの作成物が時間的多様性を有することを保証し得る。換言すれば、そのような実現例における画像ベースの作成物は、ユーザのライブラリが画像を含む複数の異なる期間またはイベントからの画像を示す。いくつかの実現例では、例えば、画像ベースの作成物がより大きい時間的多様性で生成される場合、画像のサブセットは、より多数のエピソード、例えば、3つのエピソード、5つのエピソード、10個のエピソードなどからの画像を含むように選択され得る。例えば、ある特定の数の画像が、各期間、例えば、各四半期、各年などから、または各エピソードから、選択され得る。いくつかの実現例では、エピソードは、それぞれのエピソード有意性スコアに関連付けられ得、画像のサブセットは、有意性スコアに基づいて判断されるように、特定の数の高品質エピソードに基づいて、選択され得る。
【0090】
いくつかの実現例では、画像のサブセットは、ブロック224が実行される現在の日付に基づいて選択され得る。例えば、特定の人々のグループに対するサブセットの選択が、特定の人々のグループに対する画像ベースの作成物が月に1回提供されるように、規則的な間隔で(例えば、月毎に)実行されるとき、画像のサブセットは、例えば、以前の対応する月からの画像から選択されて、例えば、人々のグループに対して「7月のAおよびB」の形式の画像ベースの作成物を提供してもよい。四季、四半期などの他の期間も写真を選択するために用いることができる。
【0091】
いくつかの実現例では、画像のサブセットは、サブセットが、位置多様性、姿勢多様性、または視覚的多様性のうちの1つ以上を提供する画像を含むように、選択され得る。例えば、ユーザが、(例えば、画像解析によって、または画像メタデータから判断される)ユーザの画像ライブラリ内の画像に関連付けられた位置にアクセスする許可を与えた場合、画像のサブセットは、複数の位置(例えば、2つ、3つ、またはそれより多い位置)からの画像がサブセットに含まれるように、選択される。
【0092】
いくつかの実現例では、ユーザがユーザのライブラリ内の画像に関連付けられる姿勢データにアクセスする許可を与えた場合、そのようなデータを用いて、画像が姿勢多様性を提供するように画像のサブセットを選択することができる。例えば、姿勢データは、座っている、立っている、踊っている、ジャンプしている、屈んでいる、しゃがんでいる、ハイタッチしているなど、画像内の1人以上の人物(特定の人々のグループに関連付けられる人物識別子を含む)の姿勢を示し得る。
【0093】
いくつかの実現例では、ユーザが、ユーザのライブラリ内の画像に関連付けられる他の画像関連データにアクセスする許可を与えた場合、そのようなデータを用いて、画像が視覚的多様性を提供するように画像のサブセットを選択することができる。例えば、そのようなデータは、画像内に示されるオブジェクト、例えば、山、ランドマーク、海、花、動物、人工の物体(例えば、ケーキ、自転車、ヨットなど)などに関するデータを示し得る。
【0094】
いくつかの実現例では、画像ベースの作成物のための画像のサブセットを選択することは、特定の人々のグループに関連付けられるエピソードに含まれる画像のそれぞれのセットに基づくことができる。例えば、画像のサブセットは、サブセット内の各画像が、特定の人々のグループに含まれる2つ以上の人物識別子のうちの少なくとも2つに対応する人物を示し、特定のグループに関連付けられたエピソードのうちの1つに由来するように、選択されてもよい。
【0095】
いくつかの実現例では、サブセットは、特定のタイプの画像、例えば、ぼやけた画像、顔を小さなサイズで示す画像、品質基準を満たさない画像、不適切な画像、特別なビューアを必要とする画像フォーマットを有する画像(例えば、360度画像、3D画像など)、極端なアスペクト比を有する画像(例えば、クライアントデバイスの画面に適さない、非常に広い、または非常に高い画像)、(例えば、同じ物体、または同様の姿勢を有する同じ人物などを示す、)サブセットにある画像の複製(またはほぼ複製)である画像、ユーザによって手動で隠された画像(例えば、ユーザがもはや関係を有していない人物の画像)などを除外するように、選択され得る。手動で隠された人物を示す画像は選択されない。ユーザは、1つ以上の期間を隠すことを選択して、例えば当該1つ以上の期間のうちの少なくとも1つ内に生じるかまたはそれと重複するエピソードを除外することによって、そのような期間からの画像が画像ベースの作成物から除外されるようにすることもできる。例えば、ユーザは、特定の日付、日付範囲等を隠してもよい。
【0096】
いくつかの実現例では、ユーザが与える許可に基づいて、上記要因の任意の組合せ、例えば、人々のグループの人物識別子のすべてまたはサブセット;人々のグループにない他の人物の包含または除外;画像のサブセットが選択されるエピソード;位置、姿勢、または視覚的多様性;人々のグループに関連付けられるエピソードなどを利用して、画像ベースの作成物のための画像のサブセットを選択してもよい。
【0097】
いくつかの実現例では、画像ベースの作成物を提供することは、画像のサブセットに基づいて画像ベースの作成物を生成することをさらに含み得る。例えば、いくつかの実現例では、画像ベースの作成物は、画像のサブセットのスライドショーであり得る。これらの実現例では、画像ベースの作成物を生成することは、画像を、各画像に対するそれぞれの表示期間とともに、スライドショー内に順次配置することを含み得る。例えば、画像は、各画像内に示される人々の数、画像が特定の人々のグループとの正確な一致であるかどうか、画像の視覚的内容(例えば、画像に示される笑顔、姿勢、物体)、画像に関連付けられた位置、または他の要因に基づいて、時系列に編成されてもよい。いくつかの実現例では、画像ベースの作成物は、画像コラージュ、画像アルバム、ムービー(例えば短いビデオ)などを含み得る。いくつかの実現例では、ユーザインターフェイスは、ユーザが画像ベースの作成物を他のユーザ、例えば、人々のグループ内の他のユーザ、またはその他と共有するためのオプションを提供し得る。
【0098】
様々な実現例では、方法200の様々なブロックは、組み合わされ、複数のブロックに分割され、並列に実行され、または非同期に実行され得る。いくつかの実現例では、方法200の1つ以上のブロックは実行されなくてもよい。例えば、いくつかの実現例では、ブロック214および216は実行されず、ブロック218は、ブロック214の後に実行され得る。いくつかの実現例では、ブロック224は、例えば、複数の人々のグループの各々について画像のサブセットを選択し、ユーザインターフェイスにおいて提供される複数の画像ベースの作成物を生成するために、複数回実行され得る。
【0099】
方法200またはその一部は、追加の入力を用いて任意の回数繰り返されてもよい。例えば、いくつかの実現例では、方法200は、1つ以上の新たなエピソードがユーザの画像ライブラリに追加されるときに実行され得る。これらの実現例では、方法200を実行することは、以前に得られた人々のグループを更新すること、または1つ以上の追加の人々のグループを得ることを含み得る。いくつかの実現例では、ブロック210~222は、人々のグループを得るために初期時に実行され得、ブロック224は、例えば、オンデマンドで(例えば、ユーザが画像アプリケーション106にアクセスするときに)ユーザインターフェイスを提供するために、後で実行され得る。
【0100】
図4Aは、本明細書で説明するいくつかの実現例による、例示的なユーザインターフェイス400を示す。ユーザインターフェイス400は、クライアントデバイス、例えば、クライアントデバイス120~126のいずれかに表示されてもよい。いくつかの実現例では、ユーザインターフェイス400は、アクション可能ユーザインターフェイス要素402と、アクション可能ユーザインターフェイス要素のためのタイトル404と、画像グリッド406とを含み得る。
【0101】
画像グリッド406は、ユーザの画像ライブラリの複数の画像を含み得る。簡単にするために、図4Aは、行当たり3つの画像を含むグリッドを示す。様々な実現例では、グリッドは、行当たり任意の数の画像を含み得、スクロール可能であり得る。いくつかの実現例では、画像グリッド406内の画像は、時系列の逆の順序で配列され得る。
【0102】
アクション可能ユーザインターフェイス(UI)要素402は、対応する画像ベースの作成物に関連付けられ得る。いくつかの実現例では、アクション可能ユーザインターフェイス要素402が、上で図2および図3A図3Fを参照して説明されるように、ある人々のグループに基づいて生成されるとき、アクション可能ユーザインターフェイス要素についてのタイトル404は、画像ベースの作成物が生成される人々のグループの人物識別子に関連付けられる名前を含み得る。アクション可能UI要素402は、画像ベースの作成物の特定の画像を含み得る。特定の画像は、様々な要因、例えば、画像の品質(例えば、鮮明度、輝度など)、画像内に示される顔のサイズおよび/または品質、画像の最近度、画像解像度、画像が1つ以上の笑顔を含むかどうか、画像がビデオであるかどうか、ビデオの長さなどに基づいて選択されて、例えば、短い(例えば、3秒未満)または長い(例えば30秒より長い)ビデオなどを選択しないようにしてもよい。画像は、人々のグループに関連付けられる人物だけを含むように選択されてもよい。アクション可能UI要素402に含まれる画像は、画像ベースの作成物のためのカバー画像と呼ばれることがある。
【0103】
例えば、図4Bにおいて、タイトル404は「AおよびB」であり、画像ベースの作成物が、人物AおよびBを含む人々のグループに基づくことを示す。いくつかの実現例では、例えば、人々のグループが大きいとき、または1つ以上の人名が利用可能でない場合、タイトル404は、名前のサブセット、例えば「A、B、および友達」を示してもよい。いくつかの実現例では、タイトル404は、画像ベースの作成物に含まれる画像のサブセットに基づいて生成され得る。
【0104】
アクション可能ユーザインターフェイス(UI)要素402は、例えば、タッチスクリーン上のタップ、マウスクリック、または他のタイプの入力を介して、ユーザによって選択可能であってもよい。アクション可能なユーザインターフェイス要素402の選択に応答して、対応する画像ベースの作成物が、図4Bに示されるように、ユーザに表示され得る。
【0105】
図4Bは、例示的なユーザインターフェイス412~416を示す。ユーザインターフェイス(UI)412~416は、画像ベースの作成物を表示する。例えば、画像ベースの作成物が、人物AおよびBを含む特定の人々のグループに関連付けられる3つの画像を含むスライドショーである場合、画像は、順次表示されてもよい。例えば、画像ベースの作成物の第1の画像を含むUI412は、第1の時間量の間、表示され、その後、第2の時間量の間表示される第2の画像を含むUI414が続き、その後、第3の時間量の間表示される第3の画像を含むUI416が続く。いくつかの実現例では、UI412,414,および416の各々は、同じタイトル(図4Aのタイトル404と同じ)、またはUI412~416に表示された画像に対するそれぞれのタイトルを含み得る。いくつかの実現例では、タイトルはUI412~416に表示されなくてもよい。画像ベースの作成物における画像は、様々な連続順序、例えば、時系列の逆、時系列、人数、人々のグループに対する正確な一致に続く部分的一致、または任意の他の順序で配列され得る。
【0106】
図5は、本明細書で説明する1つまたは複数の特徴を実施するために使用され得る例示的なデバイス500のブロック図である。一例では、デバイス500は、クライアントデバイス、たとえば、図1に示されるクライアントデバイス120~126のいずれかを実施するために使用され得る。あるいは、デバイス500は、サーバデバイス、例えば、サーバデバイス104を実施することができる。ある実施の形態では、デバイス500は、クライアントデバイス、サーバデバイス、またはクライアントデバイスとサーバデバイスの両方を実施するために使用され得る。デバイス500は、任意の適切なコンピュータシステム、サーバ、または上述の他の電子もしくはハードウェアデバイスであり得る。
【0107】
本明細書で説明する1つまたは複数の方法は、任意のタイプのコンピューティングデバイス上で実行され得るスタンドアローンプログラム、ウェブブラウザ上で実行されるプログラム、モバイルコンピューティングデバイス(例えば、携帯電話、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス(ウォッチ、アームバンド、ジュエリー、ヘッドウェア、仮想現実ゴーグルまたはメガネ、拡張現実ゴーグルまたはメガネ、ヘッドマウントディスプレイなど)、ラップトップコンピュータなど)上で実行されるモバイルアプリケーション(「app」)で実行され得る。一例では、クライアント/サーバアーキテクチャを使用することができ、例えば、(クライアントデバイスとして)モバイルコンピューティングデバイスは、ユーザ入力データをサーバデバイスに送信し、出力のための(例えば、表示のための)最終出力データをサーバから受信する。別の例では、すべての計算は、モバイルコンピューティングデバイス上のモバイルアプリ(および/または他のアプリ)内で実行することができる。別の例では、モバイルコンピューティングデバイスと1つまたは複数のサーバデバイスとの間で計算を分割することができる。
【0108】
ある実施の形態では、デバイス500は、プロセッサ502と、メモリ504と、入出力(I/O)インターフェイス506とを含む。プロセッサ502は、プログラムコードを実行し、デバイス500の基本動作を制御する1つまたは複数のプロセッサおよび/または処理回路であり得る。「プロセッサ」は、データ、信号、または他の情報を処理する任意の適切なハードウェアシステム、メカニズム、またはコンポーネントを含む。プロセッサは、(例えば、シングルコア、デュアルコア、またはマルチコア構成にある)1つまたは複数のコアを有する汎用中央処理ユニット(CPU)、(たとえば、マルチプロセッサ構成における)複数の処理ユニット、グラフィック処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、複合プログラマブルロジックデバイス(CPLD)、機能を達成するための専用回路、ニューラルネットワークモデルベースの処理を実施するための専用プロセッサ、ニューラル回路、行列計算(例えば、行列乗算)のために最適化されたプロセッサ、または他のシステム、を備えたシステムを含み得る。ある実施の形態では、プロセッサ502は、ニューラルネットワーク処理を実施する1つまたは複数のコプロセッサを含み得る。ある実施の形態では、プロセッサ502は、確率的出力を生成するためにデータを処理するプロセッサであり得、たとえば、プロセッサ502によって生成される出力は、不正確なものであり得、または予想される出力からの範囲内において正確であり得る。処理は、特定の地理的位置に限定される必要はなく、または時間的制限を有する必要はない。例えば、プロセッサは、「リアルタイム」、「オフライン」、「バッチモード」等でその機能を実行することができる。処理の部分は、異なる(または同じ)処理システムによって、異なる時間および異なる場所で実行されてもよい。コンピュータは、メモリと通信する任意のプロセッサであり得る。
【0109】
メモリ504は、典型的には、プロセッサ502によるアクセスのためにデバイス500内に提供され、プロセッサによる実行のための命令を記憶するのに適した、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的消去可能読み取り専用メモリ(EEPROM)、フラッシュメモリなど、任意の適切なプロセッサ可読記憶媒体であり得る。また、プロセッサ502から分離して、および/またはプロセッサ502と一体化して配置される。メモリ504は、オペレーティングシステム508、画像アプリケーション510(たとえば図1の画像アプリケーション106と同じであってもよい)、他のアプリケーション512、およびアプリケーションデータ514を含む、プロセッサ502によってサーバデバイス500上で動作するソフトウェアを記憶することができる。他のアプリケーション512は、データ表示エンジン、ウェブホスティングエンジン、地図アプリケーション、画像表示エンジン、通知エンジン、ソーシャルネットワーキングエンジンなどのアプリケーションを含み得る。ある実施の形態では、画像アプリケーション510は、プロセッサ502が本明細書で説明する機能、たとえば、図2の方法の一部またはすべてを実行することを可能にする命令を含み得る。
【0110】
他のアプリケーション512は、例えば、地図アプリケーション、画像編集アプリケーション、メディアディスプレイアプリケーション、通信アプリケーション、ウェブホスティングエンジンまたはアプリケーション、メディア共有アプリケーション等を含むことができる。本明細書で開示される1つまたは複数の方法は、いくつかの環境およびプラットフォームにおいて、たとえば、任意のタイプのコンピューティングデバイス上で実行することができるスタンドアロンコンピュータプログラムとして、ウェブページを有するウェブアプリケーションとして、モバイルコンピューティングデバイス上で実行されるモバイルアプリケーション(「app」)などとして動作することができる。
【0111】
あるいは、メモリ504内の任意のソフトウェアは、任意の他の適切な記憶場所またはコンピュータ可読媒体に記憶することができる。さらに、メモリ504(および/または他の接続された記憶装置)は、1つまたは複数のメッセージ、1つまたは複数の分類、電子百科事典、辞書、デジタル地図、シソーラス、知識ベース、メッセージデータ、文法、ユーザ選好、および/または本明細書に記載の特徴で使用される他の命令およびデータを記憶することができる。メモリ504および任意の他のタイプのストレージ(磁気ディスク、光ディスク、磁気テープ、または他の有形媒体)は、「ストレージ」または「ストレージデバイス」と見なすことができる。
【0112】
I/Oインターフェイス506は、サーバデバイス500を他のシステムおよびデバイスとインターフェイス接続することを可能にする機能を提供することができる。インターフェイスされたデバイスは、デバイス500の一部として含めることができ、または分離されて、デバイス500と通信することができる。例えば、ネットワーク通信デバイス、ストレージデバイス(例えば、メモリおよび/又はデータベース)、および入出力装置は、I/Oインターフェイス506を介して通信することができる。ある実施の形態では、I/Oインターフェイスは、入力装置(キーボード、ポインティングデバイス、タッチスクリーン、マイクロフォン、カメラ、スキャナ、センサなど。)および/または出力装置(表示装置、スピーカデバイス、プリンタ、モータなど。)などのインターフェイスデバイスに接続することができる。
【0113】
I/Oインターフェイス506に接続することができるインターフェイス付きデバイスのいくつかの例は、コンテンツ、たとえば、画像、ビデオ、および/または本明細書で説明するアプリケーションのユーザインターフェイスを表示するために使用することができる1つまたは複数の表示装置520を含むことができる。表示装置520は、ローカル接続(例えば、ディスプレイバス)を介して、および/またはネットワーク接続を介してデバイス500に接続することができ、任意の適切な表示装置とすることができる。表示装置520は、LCD、LED、またはプラズマディスプレイスクリーン、CRT、テレビ、モニタ、タッチスクリーン、3Dディスプレイスクリーン、または他の視覚表示装置などの任意の適切な表示装置を含み得る。表示装置520はまた、入力装置、例えば、タッチスクリーン入力装置として機能することができる。例えば、表示装置520は、モバイルデバイス上に提供される平坦なディスプレイ画面、眼鏡もしくはヘッドセットデバイス内に提供される複数のディスプレイ画面、またはコンピュータデバイスのためのモニタ画面であり得る。
【0114】
I/Oインターフェイス506は、他の入力および出力装置とインターフェイスすることができる。いくつかの例は、画像をキャプチャおよび/またはジェスチャを検出することができる1つまたは複数のカメラを含む。ある実施の形態は、(例えば、キャプチャされた画像の一部、音声コマンドなどとして)音をキャプチャするためのマイクロフォン、ジェスチャを検出するためのレーダーもしくは他のセンサ、音を出力するためのオーディオスピーカデバイス、または他の入力装置および出力装置を提供することができる。
【0115】
説明を容易にするために、図5は、プロセッサ502、メモリ504、I/Oインターフェイス506、ならびにソフトウェアブロック508,510および512の各々に対する1つのブロックを示す。これらのブロックは、1つまたは複数のプロセッサまたは処理回路、オペレーティングシステム、メモリ、I/Oインターフェイス、アプリケーション、および/またはソフトウェアモジュールを表し得る。他の実施の形態では、デバイス500は、示される構成要素のすべてを有しなくてもよく、および/または本明細書に示される構成要素の代わりに、またはそれに加えて、他のタイプの構成要素を含む他の構成要素を有してもよい。いくつかのコンポーネントは、本明細書のいくつかの実施において説明されるようなブロックおよび動作を実行するものとして説明されるが、環境100、デバイス500、同様のシステム、またはそのようなシステムに関連する任意の適切なプロセッサまたは複数のプロセッサの任意の適切なコンポーネントまたはコンポーネントの組み合わせは、説明されるブロックおよび動作を実行することができる。
【0116】
本明細書で説明する方法は、コンピュータ上で実行され得るコンピュータプログラム命令またはコードによって実施され得る。たとえば、コードは、1つまたは複数のデジタルプロセッサ(たとえば、マイクロプロセッサまたは他の処理回路)によって実施することができ、半導体または固体メモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、リジッド磁気ディスク、光ディスク、固体メモリドライブ等を含む磁気、光学、電磁、または半導体記憶媒体のような、非一時的コンピュータ可読媒体(たとえば、記憶媒体)を含むコンピュータプログラム製品に格納することができる。プログラム命令はまた、例えばサーバ(例えば、分散システムおよび/又はクラウドコンピューティングシステム)から配信されるサービス(SaaS)としてのソフトウェアの形態で、電子信号に含まれ、電子信号として提供されることもできる。あるいは、1つまたは複数の方法は、ハードウェア(論理ゲートなど)で、またはハードウェアとソフトウェアとの組み合わせで実施され得る。ハードウェアの例は、プログラム可能なプロセッサ(例えば、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブルロジックデバイス)、汎用プロセッサ、グラフィックプロセッサ、特定用途向け集積回路(ASIC)などであり得る。1つまたは複数の方法は、システム上で実行するアプリケーションの一部または構成要素として、または他のアプリケーションおよびオペレーティングシステムとともに実行するアプリケーションまたはソフトウェアとして実行することができる。
【0117】
説明は、その特定の実施に関して説明してきたが、これらの特定の実施は、例示にすぎず、限定的ではない。実施例において示される概念は、他の例および実施に適用され得る。
【0118】
上記の説明に加えて、本明細書で説明されるシステム、プログラム、または特徴がユーザ情報(例えば、ユーザのソーシャルネットワーク、ソーシャルアクション、またはアクティビティ、職業、ユーザの嗜好、またはユーザの現在位置についての情報)の収集を可能にし得るかどうかおよび何時そうであり得るかの両方、ならびにユーザがサーバからコンテンツまたは通信を送信されるかどうかに関してユーザが選択を行うことを可能にする制御が、ユーザに提供されてもよい。さらに、特定のデータは、個人的に識別可能な情報が取り除かれるように、記憶または使用前に、1つ以上の方法で処理されてもよい。例えば、ユーザの素性は、ユーザについて個人的に識別可能な情報を判断できないように扱われてもよく、またはユーザの地理的位置は、(例えば、都市、ZIPコード、または州レベルに関して)位置情報が得られる場合に、ユーザの特定の位置を判断することができないように、一般化されてもよい。したがって、ユーザは、ユーザに関してどのような情報が収集されるか、その情報がどのように用いられるか、およびどのような情報がユーザに提供されるかについて、制御することができる。
【0119】
本開示で説明する機能ブロック、動作、特徴、方法、デバイス、およびシステムは、当業者に知られているように、システム、デバイス、および機能ブロックの異なる組み合わせに統合または分割され得ることに留意されたい。任意の適切なプログラミング言語およびプログラミング技術を使用して、特定の実施のルーチンを実施することができる。異なるプログラミング技法、例えば手続き的またはオブジェクト指向の技法を採用することができる。ルーチンは、単一の処理装置または複数のプロセッサ上で実行することができる。ステップ、動作、または計算は、特定の順序で提示され得るが、順序は、異なる特定の実施の形態で変更され得る。ある実施の形態では、本明細書で順次として示される複数のステップまたは動作が同時に実行され得る。
図1
図2
図3A
図3B
図3C
図3D
図3E
図3F
図4A
図4B
図5