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

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

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

特許7667257フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置
<>
  • 特許-フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置 図1
  • 特許-フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置 図2
  • 特許-フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置 図3
  • 特許-フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置 図4
  • 特許-フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置 図5
  • 特許-フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置 図6
  • 特許-フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-14
(45)【発行日】2025-04-22
(54)【発明の名称】フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置
(51)【国際特許分類】
   H04N 23/60 20230101AFI20250415BHJP
   G06F 3/0484 20220101ALI20250415BHJP
   H04N 23/63 20230101ALI20250415BHJP
   H04N 23/611 20230101ALI20250415BHJP
   G06T 7/00 20170101ALI20250415BHJP
【FI】
H04N23/60 100
G06F3/0484
H04N23/63
H04N23/611
G06T7/00 660A
【請求項の数】 18
(21)【出願番号】P 2023520196
(86)(22)【出願日】2020-10-01
(65)【公表番号】
(43)【公表日】2023-10-23
(86)【国際出願番号】 US2020053704
(87)【国際公開番号】W WO2022071951
(87)【国際公開日】2022-04-07
【審査請求日】2023-06-05
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】チェン,リン
(72)【発明者】
【氏名】ホン,ウェイ
【審査官】越河 勉
(56)【参考文献】
【文献】特開2019-033466(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
H04N 23/63
H04N 23/611
(57)【特許請求の範囲】
【請求項1】
コンピューティングデバイス(102)によって実行される方法(500)であって、
第1のフレーム(304a)と前記第1のフレームを含まないフレームセット(304)とを定義する画像データストリームを受信すること(502)と、
フレームダイバーシティスコア(430)を計算するフレームスコア生成処理を実行すること(504)とを備え、前記フレームスコア生成処理は、
前記第1のフレームの時間関連特徴と前記フレームセットのフレームの時間関連特徴との間時間特徴差に基づいて時間ダイバーシティスコア(422)を計算すること(506)と、
前記第1のフレームの顔関連特徴と前記フレームセットの前記フレームの顔関連特徴との間の顔特徴差に基づいて顔ダイバーシティスコア(424)を計算すること(508)と、
前記第1のフレームのシーン関連特徴と前記フレームセットの前記フレームのシーン関連特徴との間の美的特徴差に基づいて美的ダイバーシティスコア(428)を計算すること(510)と、
前記顔ダイバーシティスコアと、前記美的ダイバーシティスコアと、前記時間ダイバーシティスコアとに基づいて、前記第1のフレームに対する、前記フレームセットの前記フレームの前記フレームダイバーシティスコア(430)を計算すること(512)とを含み、前記方法はさらに、
前記フレームダイバーシティスコアを用いて、前記画像データストリームの提案されたフレームを表す画像オブジェクトの一部として、前記第1のフレームを含めるかどうかを判定すること(514)を備える、方法。
【請求項2】
前記フレームダイバーシティスコアを用いて、前記画像データストリームの提案されたフレームを表す画像オブジェクトの一部として、前記第1のフレームを含めるかどうかを判定することはさらに、
リングバッファ(310)に、前記フレームセットを格納することと、
フィルタリング処理を、格納されたフレームごとに繰り返し実行することとを含み、前記フィルタリング処理は、
格納された前記フレームからフレームを選択することと、
選択された前記フレームのフレーム品質スコア(432)を計算することと、
選択された前記フレームにドロップスコアを割り当てることと、
最低のドロップスコアを有する格納された前記フレームを判定することと、
前記リングバッファから、前記最低のドロップスコアを有する格納された前記フレームを追い出すことと、
前記リングバッファに、前記第1のフレームを格納することとを含む、請求項1に記載の方法。
【請求項3】
前記フィルタリング処理はさらに、
前記リングバッファに格納されたリングバッファフレームを選択することと、
選択された前記リングバッファフレームの計算された前記フレーム品質スコアが品質閾値よりも大きいかどうかを判定することと、
計算された前記フレーム品質スコアが前記品質閾値よりも大きいと判定することに応答して、候補バッファ(316)に格納された候補フレームに対する、選択された前記リングバッファフレームの最小ダイバーシティスコアを計算することと、
前記最小ダイバーシティスコアが最小ダイバーシティ閾値を超えているかどうかを判定することと、
前記最小ダイバーシティスコアが前記最小ダイバーシティ閾値を超えていると判定することに応答して、選択された前記リングバッファフレームを前記候補バッファに追加することとを含む、請求項2に記載の方法。
【請求項4】
選択された前記フレームの前記フレーム品質スコアを計算することは、
選択された前記フレームの抽出された顔特徴を判定することと、
選択された前記フレームの抽出された美的特徴を判定することと、
抽出された前記顔特徴と抽出された前記美的特徴とを用いて、前記フレーム品質スコアを計算することとを含む、請求項2または3に記載の方法。
【請求項5】
前記ドロップスコアは、
選択された前記フレームの前記フレーム品質スコア(432)と前記フレームダイバーシティスコア(430)との加重線形結合を含む、請求項2~4のいずれか1項に記載の方法。
【請求項6】
前記第1のフレームに対する、前記フレームセットの前記フレームの前記顔ダイバーシティスコアを計算することは、
前記第1のフレーム(304a)の顔関連特徴(414,420)を判定することと、
スコアリング処理を繰り返し実行することとを含み、前記スコアリング処理は、
前記フレームセット(304)からフレーム(304b)を選択すること、
選択された前記フレームの顔関連特徴を判定することと、
距離メトリックを利用して、選択された前記フレームの前記顔関連特徴と前記第1のフレームの前記顔関連特徴との間の顔特徴差を判定することとを含む、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記第1のフレームに対する、前記フレームセットの前記フレームの前記顔ダイバーシティスコアを計算することはさらに、
選択された前記フレームと前記第1のフレームとから、顔特徴を抽出することを含み、抽出された前記顔特徴は、前記フレームに描かれた顔特徴または顔の埋め込みの少なくとも1つを表し、前記計算することはさらに、
抽出された前記顔特徴と前記距離メトリックとを利用して、選択された前記フレームと前記第1のフレームとの間の顔特徴差を判定することを含む、請求項6に記載の方法。
【請求項8】
前記顔特徴と前記距離メトリックとを利用して、選択された前記フレームと前記第1のフレームとの間の顔特徴差を判定することは、
選択された前記フレームの抽出された前記顔特徴と、前記第1のフレームの抽出された前記顔特徴との間の距離を計算することと、
計算された前記距離を利用して、選択された前記フレームの顔ダイバーシティスコアを計算することとを含み、前記顔ダイバーシティスコアは、選択された前記フレームと前記第1のフレームとの間の顔ダイバーシティを表す、請求項7に記載の方法。
【請求項9】
前記第1のフレームに対する前記フレームセットの前記フレームの前記美的ダイバーシティスコアを計算することは、
前記第1のフレームのシーン関連特徴(416,426)を判定することと、
スコアリング処理を繰り返し実行することとを含み、前記スコアリング処理は、
前記フレームセットからフレームを選択することと、
選択された前記フレームからシーン関連特徴を抽出することと、
距離メトリックを利用して、選択された前記フレームの前記シーン関連特徴と前記第1のフレームの前記シーン関連特徴との間の美的特徴差を判定することとを含む、請求項1~8のいずれか1項に記載の方法。
【請求項10】
選択された前記フレームと前記第1のフレームとから、前記シーン関連特徴を抽出することをさらに備え、抽出された前記シーン関連特徴は、前記フレームに描かれた前記美的特徴または美的埋込みの少なくとも1つを表す、請求項9に記載の方法。
【請求項11】
距離メトリックを利用して、選択された前記フレームの前記シーン関連特徴と前記第1のフレームの前記シーン関連特徴との間の美的特徴差を判定することは、
選択された前記フレームの抽出された前記シーン関連特徴と、前記第1のフレームの抽出された前記シーン関連特徴との間の距離を計算することと、
計算された前記距離を利用して、選択された前記フレームの美的ダイバーシティスコアを計算することとを含み、前記美的ダイバーシティスコアは、選択された前記フレームと前記第1のフレームとの間の美的ダイバーシティを表す、請求項10に記載の方法。
【請求項12】
前記シーン関連特徴は、対応するフレーム内のオブジェクトのレイアウト、前記対応するフレーム内のボケ、および、前記対応するフレームをキャプチャするカメラの焦点の少なくとも1つを含む、請求項9~11のいずれか1項に記載の方法。
【請求項13】
前記顔ダイバーシティスコアと、前記美的ダイバーシティスコアと、前記時間ダイバーシティスコアとに基づいて、前記第1のフレームに対する、前記フレームセットの前記フレームの前記フレームダイバーシティスコアを計算することは、
前記顔ダイバーシティスコアと、前記美的ダイバーシティスコアと、前記時間ダイバーシティスコアとの加重和を演算することを含む、請求項1~12のいずれか1項に記載の方法。
【請求項14】
前記第1のフレームに対する、前記フレームセットの前記フレームの前記時間ダイバーシティスコアを計算することは、
前記フレームセットの選択されたフレームと前記第1のフレームとの間のタイムスタンプ差を前記時間特徴差として判定することと、
判定された前記タイムスタンプ差に基づいて、前記時間ダイバーシティスコアを生成することとを含む、請求項1~13のいずれか1項に記載の方法。
【請求項15】
表示デバイス(108)での表示のために、前記画像オブジェクトの表示をユーザに出力することをさらに備える、請求項1~14のいずれか1項に記載の方法。
【請求項16】
前記画像オブジェクトを前記コンピューティングデバイスのディスプレイに表示することをさらに備える、請求項1~15のいずれか1項に記載の方法。
【請求項17】
フレームセット(304)からフレーム提案を生成するように構成されたカメラマネージャシステム(120)と、
前記カメラマネージャシステム(120)と結合され、請求項1~16のいずれか1項に記載の方法を実行するように構成された、プロセッサ(11)とメモリシステム(112)とを備える、装置。
【請求項18】
1つ以上のコンピュータプロセッサによる実行に応答して、前記1つ以上のコンピュータプロセッサに、請求項1~16のいずれか1項に記載の方法を実行させるコンピュータ読取可能命令を格納した、コンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
背景
画像キャプチャアプリケーションを含むコンピューティングデバイス(たとえば、スマートフォン)は、ユーザがデバイスのグラフィカルユーザインターフェイス(graphical user interface:GUI)上の物理ボタンまたはシャッターボタンを押した後にデバイスによってキャプチャされた1つ以上のフレームを取得し提案する要素を含んでいることが多い。現在のフレーム提案技術は、フレーム品質メトリクスに基づいてフレームを選択するため、しばしば、コンピューティングデバイスは、ユーザに多数の視覚的に類似したフレームを提案する。このような視覚的に類似したフレームの提示は、ユーザにとっては使用が限定的であり、フレーム提案技術の使用に関連するユーザエクスペリエンスを低下させる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0002】
概要
本明細書は、フレーム(たとえば、画像、写真(photos,photographs)、ビデオ)のセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置について説明する。一態様において、カメラマネージャシステムは、時間ダイバーシティスコアラと共に、顔ダイバーシティスコアラおよび美的ダイバーシティスコアラの少なくとも1つを利用して、フレームセットから多様なフレームを選択し、提案する。そうすることによって、カメラマネージャシステムは、フレーム提案のための多くの一般的な技術および装置と比較して、電力を節約し、精度を向上させ、および/または待ち時間を短縮する。カメラマネージャシステムはさらに、より良好なユーザエクスペリエンスを提供する。
【課題を解決するための手段】
【0003】
本明細書に記載される方法は、第1のフレームと第1のフレームを含まないフレームセットとを定義する画像データストリームを受信することと、その後、フレームダイバーシティスコアを計算するフレームスコア生成処理を実行することとを備える。フレームスコア生成処理は、第1のフレームに対する、フレームセットのフレームの時間ダイバーシティスコアを計算することと、第1のフレームに対する、フレームセットのフレームの顔ダイバーシティスコアを計算することと、第1のフレームに対する、フレームセットのフレームの美的ダイバーシティスコアを計算することとを含む。第1のフレームに対する、フレームセットのフレームのフレームダイバーシティスコアは、顔ダイバーシティスコアと、美的ダイバーシティスコアと、時間ダイバーシティスコアとに基づいて計算される。フレームスコア生成処理はさらに、フレームダイバーシティスコアを用いて、画像データストリームの提案されたフレームを表す画像オブジェクトの一部として、第1のフレームを含めるかどうかを判定することを含む。このような方法は、フレーム提案のための多くの一般的な技術および装置と比較して、電力節約の改善、精度の改善、および/または待ち時間の低減をもたらし得る。カメラマネージャシステムはさらに、より良好なユーザエクスペリエンスを提供する。
【0004】
また、本明細書は、上述のように要約された方法および本明細書で説明する他の方法を実行するための命令を有するコンピュータ読取可能媒体、ならびにこれらの方法を実行するための装置および手段について説明する。
【0005】
この概要は、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置の簡略化された概念を紹介するために提供され、詳細な説明および図面において以下にさらに説明される。この概要は、請求される主題の本質的な特徴を特定することを意図したものでもなければ、請求される主題の範囲を規定するために使用されることを意図したものでもない。
【0006】
フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置の1つ以上の態様について、以下の図面を参照して本明細書で詳細に説明される。同様の特徴およびコンポーネントを参照するために、図面全体を通して同じ番号が使用される。
【図面の簡単な説明】
【0007】
図1】フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術を実施することができる例示的な環境を示す概略図である。
図2】フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを含む、コンピューティングデバイスの例示的な実現例を示す概略図である。
図3】例示的な実現例に係る、カメラマネージャシステムのコンポーネントがコンピューティングデバイスのカメラアプリケーションと、またはその内部で、統合され得る様子を示すブロック図である。
図4】例示的な実現例に係る、カメラマネージャシステムの特徴スコアリングモジュールのコンポーネントを示すブロック図である。
図5】フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する例示的な方法を示す図である。
図6】フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを可能にする別の例示的な方法を示す図である。
図7】フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装するため、またはそのようなカメラマネージャシステムを可能にする技術が実装され得る、図1図6を参照して説明されるような任意のタイプのクライアント、サーバ、および/または電子デバイスとして実装することができる例示的なコンピューティングデバイスのさまざまなコンポーネントを示す図である。
【発明を実施するための形態】
【0008】
詳細な説明
概略
本明細書は、フレーム(たとえば、画像、写真(photos,photographs)、ビデオ)セットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置の態様について説明する。カメラマネージャシステムは、時間ダイバーシティスコアラと共に、顔ダイバーシティスコアラおよび美的ダイバーシティスコアラの少なくとも1つを利用して、フレームセットから多様なフレームを選択し、提案し得る。このようにして、カメラマネージャシステムは、コンピューティングデバイスが、提案されたフレームのより良好な選択をコンピューティングデバイスのユーザに提供することを可能にする。提案されたフレームのより良好な選択はさらに、無駄なリソース(たとえば、同様の画像ストレージ、追加のフレームのキャプチャを処理するためのプロセッサ使用量、追加のフレームのキャプチャに関連するバッテリ使用量など)を減少させる。提案されたフレームのより良好な選択によって、カメラマネージャシステムは、コンピューティングデバイスおよび/またはコンピューティングデバイスのカメラアプリケーションを使用する際のユーザエクスペリエンスの品質を向上させることができる。
【0009】
例示的な使用では、ユーザがスマートフォンのカメラアプリケーションを使用して、シーン(たとえば、建築作品の前でポーズをとるユーザの友人のグループ)の多数の写真(フレーム)を撮影すると仮定する。ユーザは、シャッターボタン(たとえば、物理ボタン、ユーザインターフェイスボタン)を押すことで、カメラアプリケーションを起動させてフレームをキャプチャし得る。ユーザは、キャプチャされたフレームを確認すると、フレームがキャプチャされたときにユーザの友人の一人の目が閉じていて、そのフレームがユーザにとって満足のいくものではない、および/またはフレームを撮り直す必要があることが分かる。
【0010】
ユーザがシャッターボタンを押した瞬間に関連するフレームをキャプチャすることに加えて、カメラアプリケーションは、シャッターボタンが押された前および/または後に、多数の追加フレームもキャプチャし得る。その後、スマートフォンは、ユーザがキャプチャされたフレームを見直す際に、多様なフレーム、すなわちキャプチャされたフレームおよび追加フレームの選択を、ユーザに提示することができる。シャッターボタンが押された前後に撮影されたフレームの多様な選択をユーザに提示することによって、許容される画像をキャプチャする可能性が増加する。時間的に多様なフレームの選択をユーザに提示する際に、ユーザは、所与のフレームが、シャッターボタンが押されたときにキャプチャされたフレームを含む他のフレームよりも良いか悪いかを判断することができないことがある。このため、たとえば、あまりにも多くの類似した画像のストレージ、追加のフレームのキャプチャを処理するための過剰なプロセッサ使用量、および追加のフレームのキャプチャに関連する過剰なバッテリ使用量など、スマートフォンのリソースが無駄になる可能性がある。その結果、最適とは言えないユーザエクスペリエンスになる可能性がある。このような資源の浪費は、データストレージおよびバッテリサイズがスマートフォンのサイズによって制限される可能性があるスマートフォンなどのコンピューティングデバイスにおいて、問題になることがある。
【0011】
これに対して、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する、開示された技術および装置について考える。態様において、カメラマネージャシステムは、フレーム提案処理において1つ以上のダイバーシティスコアラ(たとえば、顔ダイバーシティスコアラ、美的ダイバーシティスコアラ、時間ダイバーシティスコアラ)を利用する。ダイバーシティスコアラを利用することにより、カメラマネージャシステムは、提案されたフレームが視覚的に異なるように、ユーザに提示するためのフレームのより多様な選択を判定し、それにより、無駄なリソース(たとえば、同様の画像のストレージ、追加のフレームのキャプチャを処理するためのプロセッサ使用量、追加のフレームのキャプチャに関連するバッテリ使用量など)を減少させ、ユーザエクスペリエンスの品質を向上させる。フレームのより多様な選択を提供することによって、ユーザがフレームの選択をより迅速におよび/または効率的に分析することが可能になり、それによって、たとえば、画像分析タスクまたは画像分類タスクにおいてユーザを支援し得る。ユーザは、コンピューティングデバイスをより短い期間使用するだけでよいため、コンピューティングデバイスのバッテリおよびプロセッサの使用量が削減され得る。ユーザは、追加のフレームをキャプチャせざるを得ない状態を避けて、再び、コンピューティングデバイスのバッテリ使用量およびプロセッサ使用量を削減することができる。
【0012】
これは、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する記載された技術および装置が、ユーザに提示されるフレームのより多様な選択を判定するために使用され得る態様の一例にすぎない。他の例および実現例について、本明細書を通じて説明される。本明細書は、次に例示的な動作環境について説明し、その後、例示的な装置、方法、およびシステムについて説明する。
【0013】
動作環境
図1は、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術が利用され得る、例示的な環境100を示す。例示的な環境100は、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術を実行することができるコンピューティングデバイス102の例示的な実現例を含む。図1では、ユーザ10が、たとえば、カメラアプリケーションを利用して画像をキャプチャするためにコンピューティングデバイス102を保持し、動作させている様子が示されている。コンピューティングデバイス102の背面図102-1と前面図102-2との両方が図示されている。図1のコンピューティングデバイス102はスマートフォンとして示されているが、他の態様において、コンピューティングデバイスは、別のタイプのコンピューティングデバイス(たとえば、タブレット、ラップトップ、カメラ、デスクトップコンピュータ、コンピューティング時計、ゲームシステム、コンピューティング眼鏡、ホームオートメーション・制御システム、スマート家電、自動車、テレビ、娯楽システム、音声システム、ドローン、トラックパッド、描画パッド、ネットブック、電子リーダー、ホームセキュリティシステム等)でもよい。態様において、コンピューティングデバイス102がウェアラブルである、ウェアラブルではないがモバイルである、または比較的固定されている(たとえば、デスクトップおよびアプライアンス)場合があることに留意されたい。図2はさらに、図1のコンピューティングデバイス102を示す。
【0014】
コンピューティングデバイス102は、少なくとも1つの画像キャプチャデバイス106(たとえば、カメラ)を含むカメラシステム104、少なくとも1つのディスプレイ108(たとえば、表示画面、表示デバイス)、1つ以上のコンピュータプロセッサ110(プロセッサ(複数可)110)、およびコンピュータ読取可能媒体112(CRM112)を備える、またはそれらに関連付けられている。コンピューティングデバイス102は、画像および/またはビデオをキャプチャするための画像キャプチャデバイス106と通信し得る。図1に示されるように、コンピューティングデバイス102は、少なくとも1つの内蔵または内部画像キャプチャデバイス106(たとえば、カメラ、電荷結合素子(charge-coupled device:CCD))を含み得る。別の例示的な実現例(図示せず)では、画像キャプチャデバイス106は、コンピューティングデバイス102の外部であってもよく、たとえば、直接接続または無線結合を介して、コンピューティングデバイスと通信していてもよい。
【0015】
ディスプレイ108は、任意の適切な表示デバイス(たとえば、タッチスクリーン、液晶ディスプレイ(liquid crystal display:LCD)、薄膜トランジスタ(thin film transistor:TFT)LCD、インプレーンスイッチング(in-place switching:IPS)LCD、容量性タッチスクリーンディスプレイ、有機発光ダイオード(organic light-emitting diode:OLED)ディスプレイ、アクティブマトリクス有機発光ダイオード(active-matrix organic light-emitting diode:AMOLED)ディスプレイ、超AMOLEDディスプレイ)を含み得る。ディスプレイ108は、スタイラス、指、もしくはジェスチャ入力の他の手段からのユーザ入力を受信するためのタッチ感知ディスプレイまたは存在感知ディスプレイを形成するために、存在感知入力デバイスと組み合わされ得る。ディスプレイ108は、コンピューティングデバイス102によって提供されるグラフィック画像および/または命令を表示することができ、コンピューティングデバイス102との対話においてユーザを支援し得る。ディスプレイ108は、(図1および図2に示されているように)カメラシステム104から分離することができるか、カメラシステム104の一部とすることができる(そのように図示されていない)。
【0016】
ディスプレイ108は、アプリケーション114(たとえば、カメラアプリケーション114)のGUIを提示する。アプリケーション114のGUIは、コンピューティングデバイス102に入力を提供するための、たとえば画像のキャプチャをトリガするための1つ以上の入力コントロール(たとえば、GUIシャッターボタン116)を含み得る。したがって、アプリケーション114は、存在感知ディスプレイ108を介してユーザ入力、たとえばシャッターボタン116の作動を受信し得る。また、コンピューティングデバイス102は、入出力(I/O)デバイス122、たとえば、1つ以上の物理ボタン118(図1に示す)を備え得る。I/Oデバイス122は、コンピューティングデバイス102に入力を提供するための(たとえば、画像のキャプチャをトリガするための)ものである。アプリケーション114は、ソフトウェア、アプレット、ファームウェア、周辺機器、ハードウェア、または画像キャプチャデバイス106を動作させるように構成された他のエンティティの1つ以上で具体化され得る。一例では、アプリケーションは、コンピューティングデバイス102にインストールされたカメラアプリケーション114である。別の例では、アプリケーションは、アプリケーションにおけるカメラ機能を可能にするオペレーティングシステム(operating system:OS)の一部である。
【0017】
CRM112は、ランダムアクセスメモリ(random-access memory:RAM)、スタティックRAM(static RAM:SRAM)、ダイナミックRAM(dynamic RAM:DRAM)、不揮発性RAM(non-volatile RAM:NVRAM)、読取専用メモリ(read-only memory:ROM)、もしくはフラッシュメモリなどの任意の適切なメモリまたはストレージデバイスを含み得る。CRM112は、メモリシステムを含み得る。CRM112は、デバイスデータを含む。デバイスデータは、ユーザデータ、マルチメディアデータ、リングバッファ、候補バッファ、特徴ストア、アプリケーション(複数可)114、カメラマネージャシステム(カメラマネージャ120)、特徴抽出モジュール、特徴スコアリングモジュール、フレーム選択モジュール、機械学習モデル(たとえば、スコアモデル)、および/またはコンピューティングデバイス102のオペレーティングシステム(図示せず)であってよく、これらは、プロセッサ(複数可)110によって実行可能なCRM112上のコンピュータ読取可能命令として実装されて、本明細書に記載の機能の一部または全部を提供する。たとえば、プロセッサ(複数可)110は、CRM112上の命令を実行して、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステム120(カメラマネージャ120)を実装する、開示された技術および装置を実装するために使用することができる。
【0018】
デバイスデータは、プロセッサ(複数可)110によって実行可能なカメラマネージャ120の実行可能命令を含み得る。カメラマネージャ120は、カメラシステム104によってキャプチャされたフレームセットからフレーム提案を生成するために、コンピューティングデバイス102に本明細書内で説明される動作を実行させる機能を表す。動作は、ユーザから、たとえば、物理ボタン118を押すことによって、またはアプリケーション114のGUI上でシャッターボタン116を押すことによって、入力を提供するユーザから入力を受信することを含み得る。デバイスデータはさらに、カメラマネージャシステムを実装するためにプロセッサ(複数可)110によって実行可能な1つ以上のモジュール(たとえば、特徴抽出モジュール、フレーム選択モジュール、結果生成器モジュール)の実行可能命令を含み得る。
【0019】
フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する開示されたシステムおよび装置のさまざまな実現例は、システムオンチップ(System-on-Chip:SoC)、1つ以上の集積回路(Integrated Circuit:IC)、プロセッサ命令が埋め込まれたプロセッサもしくはメモリに格納されたプロセッサ命令にアクセスするように構成されたプロセッサ、ファームウェアが埋め込まれたハードウェア、種々のハードウェアコンポーネントを有するプリント回路基板、またはそれらの任意の組み合わせを含み得る。
【0020】
これらおよび他の能力ならびに構成と、図1および図2のエンティティが作用ならびに相互作用する方法とが、以下でより詳細に説明される。これらのエンティティはさらに、分割、結合などがなされ得る。図1の環境100、図1および図2のコンピューティングデバイス102、ならびに図2図4の詳細な図解は、説明される技術を採用することができる多くの可能な環境およびシステムの一部を示している。図5および図6は、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術を可能にする多くの可能な方法の一部を示す。図7は、図1および図2のコンピューティングデバイス102の文脈において、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術およびシステムの態様を示すが、上述のように、説明する技術および装置の特徴ならびに利点の適用可能性は必ずしもそのようには限定されず、他のタイプの電子デバイスを含む他の実現例も本開示の教示の範囲内であり得る。
【0021】
態様において、画像データは、フレームセットを定義するために画像データの利用可能なカメラストリームからフレームをサンプリングすることによって、収集され得る。たとえば、コンピューティングデバイス102のカメラアプリケーション114は、画像キャプチャデバイス106からの画像データストリームに基づいて、ライブプレビューを提示し得る。フレームセットを定義する複数のフレームは、画像データの対応するライブストリームからサンプリングされ得る。フレームセットからフレーム提案を生成するための開示された技術を利用して、フレームの多様な選択のサブセットが、後で提示されるために保存され得る。カメラマネージャシステム(カメラマネージャ120)は、人間のユーザから指示されることなく、画像キャプチャデバイス106によるフレームストリームのキャプチャを開始し得る。したがって、カメラアプリケーション114によってユーザ10にライブプレビューが提示されなくても、フレームストリームが取得され得る。
【0022】
カメラシステム104および/またはカメラアプリケーション114がコンピューティングデバイス102で起動されるかまたはアクティブになることに応答して、カメラマネージャ120は起動し得る。また、画像ストリームが利用可能になることに応答して、カメラマネージャ120は起動し得る。たとえば、カメラアプリケーション114のライブプレビューがアクティブになると、カメラマネージャ120は起動し得る。さらに、ユーザの対話に応答して、カメラマネージャ120は起動し得る。シャッターボタン(たとえば、カメラアプリケーション114のシャッターボタン116、物理シャッターボタン118)でのユーザ入力、および収集された新しいフレーム(たとえば、シャッターフレーム)を定義する画像データによって、たとえば、カメラマネージャ120は起動し得る。また、第2のユーザ入力に応答して、カメラマネージャ120は停止し得る。したがって、2枚の写真の手動キャプチャの間に見逃したコンテンツを含む写真の要約が生成され得る。たとえば、専用ボタンまたはユーザインターフェイス(user interface:UI)ウィジェットによって、カメラマネージャ120は起動または停止され得る。
【0023】
システム
図3は、例示的な実現例に係る、フレームセットからフレーム提案を生成するための技術に利用されるアーキテクチャ300を示すブロック図である。たとえば、カメラマネージャ120のコンポーネントが、カメラアプリケーションと、またはその内部で、統合され得る様子を示す。ユーザ(たとえば、ユーザ10)がコンピューティングデバイス(たとえば、コンピューティングデバイス102)上のシャッターボタン(たとえば、シャッターボタン116、シャッターボタン118)を押すと、画像ストリーム(たとえば、カメラストリーム302)が生成される。
【0024】
画像フレーム304(フレーム304)は、利用可能な画像ストリーム、たとえば、カメラプレビューモードまたはキャプチャモードでコンピューティングデバイス102のカメラシステム104によって生成されたカメラストリーム302から、サンプリングされ得る。カメラストリーム302の例としては、HDストリーム(1024×768)およびRAWストリーム(4032×3024)が挙げられる。カメラプレビューモードでは、アプリケーション(たとえば、カメラアプリケーション114)は、カメラストリーム302に基づいて、ディスプレイ(たとえば、ディスプレイ108)においてユーザ(たとえば、ユーザ10)にライブプレビューを提供し得る。フレーム304は、選択されたフレーム304bと第1のフレーム304aとを含み得る。態様において、第1のフレーム304aは、直近のタイムスタンプを有するフレーム304である。
【0025】
アーキテクチャ300は、1つ以上のタイプの入力データ(たとえば、事例または例に関連する1つ以上の特徴)を受信し、これに応答して、1つ以上のタイプの出力データ(たとえば、1つ以上の予測)を提供するように訓練された少なくとも1つの機械学習モデルを含む。たとえば、1つ以上のスコアモデル305は、カメラストリーム302にサブスクライブし、入力として、カメラストリーム302から画像フレーム304を受信し得る。スコアモデル305は次に、フレームのスコアを出力し得る。態様において、スコアモデル305は、フレームの顔特徴を表す顔品質スコアを計算および出力するために使用される顔品質スコアモデルである。顔品質スコアは、1つ以上の顔属性(たとえば、目を開いている、口を開いている、正面を見つめている、笑っている、楽しんでいる、満足している、高揚している、驚いている)の重み付き線形結合として計算され得る。態様において、スコアモデル305は、フレームのシーン関連特徴(たとえば、非顔特徴)を表す美的値スコアを計算および出力するために使用される美的値スコアモデルである。シーン関連特徴は、美的感覚に関連する広域の空間情報(たとえば、オブジェクトのレイアウト、ボケ、カメラの焦点)を含み得る。カメラマネージャシステム120は、フレームについてスコアモデル305によって出力されたスコアを使用し得る。
【0026】
機械学習モデルは、1つ以上の人工ニューラルネットワーク(単にニューラルネットワークとも呼ばれる)であり得るか、またはそれを含み得る。ニューラルネットワークは、1つ以上の層に編成することができる。たとえば、入力層、出力層、および入力層と出力層との間に位置する1つ以上の隠れ層である。1つまたは複数のニューラルネットワークは、入力データに基づいて埋め込みを提供するために使用可能である。たとえば、埋め込みは、入力データから1つ以上の学習済みの次元に抽象化された知識の表現とすることができる。いくつかの実現例では、埋め込みはネットワークの出力から抽出することができる一方で、他の事例では、埋め込みはネットワークの任意の隠れノードまたは隠れ層(たとえば、ネットワークのボトルネック層、ネットワークの最終に近いが最終ではない層)から抽出することができる。ボトルネック層は、モデルの前の層と比較して少ないノードを含み、埋め込みの次元を減らすネットワークに狭窄を作るために利用される。
【0027】
カメラマネージャシステム120は、スコアモデル305のボトルネック層から埋め込み(結果)を抽出し得る。そのような埋め込みは、顔表情埋め込み(たとえば、フレーム内の顔の表情)、顔位置埋め込み(たとえば、フレーム内の顔の位置)、顔カウント埋め込み(たとえば、フレーム内の顔の数)、または美的埋め込み(たとえば、オブジェクトレイアウト埋め込み)の1つ以上を含み得る。抽出された埋め込みは、広域の空間情報(たとえば、レイアウト)またはきめ細かい詳細な差(たとえば、顔の表情変化)の少なくとも1つをキャプチャし得る。抽出された特徴は、顔特徴および非顔特徴を含み得る。抽出された埋め込みは、特徴抽出モジュール306に出力され得る。トップモデルを対象とするダイバーシティ測定は、抽出された埋め込みを使用して(たとえば、転移学習によって)訓練することができる。特徴抽出モジュール306は、スコアモデル305からフレームスコアまたは抽出された埋め込みの1つ以上を受信し得る。抽出された埋め込みは、後述する特徴処理において、特徴抽出モジュール306によって利用され得る。
【0028】
特徴抽出モジュール306は、カメラストリーム302にサブスクライブし、入力として、カメラストリーム302から画像フレーム304(たとえば、1027×768YUVフォーマット)を受信し得る。また、特徴抽出モジュール306は、フレーム304の対応するメタデータを受信し得る。特徴抽出モジュール306は、フレームから特徴を抽出し得る。抽出された特徴は、時間特徴(たとえば、タイムスタンプ)、顔特徴(たとえば、顔の表情、顔の位置、顔の数)、または美的特徴(たとえば、オブジェクトのレイアウト)の1つ以上を含み得る。態様において、特徴抽出モジュール306は、スコアモデル305からフレームのスコアまたは抽出された埋め込み(たとえば、顔品質スコア、美的値スコア)の1つ以上を受信し得る。
【0029】
特徴抽出モジュール306は、カメラストリーム302のフレーム304に対して特徴処理を行い、カメラストリーム302のフレーム304が興味深い特徴(たとえば、関心領域、動きベクトル、デバイスの動き、顔情報、フレーム統計、視覚特徴、音声特徴、タイムスタンプ)を含むかどうかを判定する。フレームは、特徴に基づいて「興味深い」(またはそうでない)と特徴付けられ得る。特徴抽出モジュール306は、スコアモデル305から1つ以上の特徴を抽出し得る。たとえば、特徴抽出モジュール306は、フレーム304の顔品質スコアを計算するために利用されるスコアモデル305(たとえば、顔品質スコアモデル)から、顔表情特徴を抽出し得る。特徴抽出モジュール306は、抽出された特徴を特徴ストア308に提供し得る。
【0030】
特徴ストア308は、特徴抽出モジュール306から抽出された特徴を受信し格納する。抽出された特徴は、1つ以上の抽出された埋め込み(たとえば、顔表情埋め込み、美的埋め込み)を含み得る。特徴ストア308の抽出された特徴は、リングバッファ310に格納されたフレーム304に関連する。特徴ストア308は、特徴スコアリングモジュール312と通信し、これに対して特徴を送信し得る。特徴スコアリングモジュール312は、後述するように、1つ以上のメトリクス(たとえば、フレームダイバーシティ、フレーム品質)を測定し、個々のフレームの抽出された埋め込みの組み合わせから1つ以上のフレームスコア(たとえば、フレームダイバーシティスコア、フレーム品質スコア)を計算する特徴スコアリング処理を実行し得る。
【0031】
また、リングバッファ310は、カメラストリーム302にサブスクライブし得る。ユーザがシャッターボタン(たとえば、シャッターボタン116、シャッターボタン118)を押した後、提案する候補フレームのバッファがリングバッファ310に保持される。リングバッファ310は、先入れ先出し(first in,first out:FIFO)構造の最後のn個のタイムスタンプ付きフレームを格納し得る。リングバッファ310の容量は有限であるため、リングバッファ310は、最新の(新しい)フレームがリングバッファ310内の最も初期のフレームに置き換わることで、継続してリフレッシュされ得る。したがって、リングバッファ310は、最新のフレームから最古のフレームに戻る時間の範囲にある多数のキャプチャされたフレームを格納し、リングバッファ内のフレームの数は、リングバッファ310のサイズによって決まる。
【0032】
フレーム選択モジュール314は、リングバッファ310に含まれるフレームセットに対して、フレーム選択処理を実行し得る。フレーム選択処理は、連続して実行され得る。フレーム選択モジュール314は、リングバッファ310からフレーム304を受信し、特徴スコアリングモジュール312から受信した少なくとも1つのフレームスコア(たとえば、フレーム品質スコア、フレームダイバーシティスコア)を利用して、リングバッファ310内のどのフレームが不要かを判定し、(本明細書で論じる技術によって判定されたように)不要なフレームをフィルタリングし、残りのフィルタリングされたフレームを、出力として候補バッファ316へ提供する機能を表す。
【0033】
リングバッファ310内のフレームが不要と判断されるタイミングは、多くの要因によって判断され得る。一例では、フレーム選択モジュール314は、フレームが不要であり、かつリングバッファ310からフィルタリングされる(追い出される)べきかどうかを判定するために、特徴ストア308内の特徴に基づいて、(たとえば、特徴スコアリングモジュール312からの)フレームダイバーシティスコアおよび/またはフレーム品質スコアの1つ以上を利用し得る。いくつかの実現例では、フレーム品質スコアおよび/またはフレームダイバーシティスコアは、特徴スコアリングモジュール312によって、個々のフレームの抽出された埋め込み(特徴)の組み合わせから計算され得る。リングバッファ310内のフレームは、降順でフレーム品質スコアに基づいてソートされてもよく、フレーム304は、所与のフレームの品質が品質閾値よりも大きいかどうかを判定して、フレームがフィルタリングされるべきかどうかを判定するために、反復処理され得る。
【0034】
フレーム選択モジュール314は、特徴スコアリングモジュール312から受信した少なくとも1つのフレームスコア(たとえば、フレーム品質スコア、フレームダイバーシティスコア)に基づいて、フレームセット304から少なくとも1つのフレームを選択するフレーム選択処理を実行し得る。フレーム品質スコアは、特徴スコアリングモジュール312によって(たとえば、フレーム品質スコアラ402(後述)によって)計算され得るka、またはスコアモデル305によって計算され得る。フレーム選択モジュール314は、計算されたフレーム品質スコアを品質閾値と比較して、計算されたフレーム品質スコアが品質閾値を超えているかどうかを判定し得る。フレーム選択モジュール314は、フレームの計算されたフレーム品質スコアが特定の閾値を下回っていると判定した場合、リングバッファ310からフレームを追い出すと判定し得る。
【0035】
フレームダイバーシティスコアは、特徴スコアリングモジュール312によって(たとえば、結合フレームダイバーシティスコアラ410(後述)によって)計算され得る。フレーム選択モジュール314は、フレームの計算されたフレームダイバーシティスコアが品質閾値を超えていると判定した場合、フレームの最小フレームダイバーシティスコアを生成し得る。フレーム選択モジュール314は、フレームのフレームダイバーシティスコアに基づいて、候補バッファ316内の複数のフレーム(たとえば、候補バッファ内のすべてのフレーム)に対する最小フレームダイバーシティスコアを計算し得る。計算された最小フレームダイバーシティスコアは、フレーム選択モジュール314によって追跡され得る。フレーム選択モジュール314はさらに、最小フレームダイバーシティスコアをダイバーシティ閾値と比較して、最小フレームダイバーシティスコアがダイバーシティ閾値よりも大きい(たとえば、最小ダイバーシティ閾値を超えている)かどうかを判定し得る。選択されたフレームの最小フレームダイバーシティスコアがダイバーシティ閾値よりも大きいと判定することに応答して、選択されたフレームは、候補バッファ316に格納され、ユーザ10に提案され得る。
【0036】
フレーム選択モジュール314はさらに、候補バッファが常にカメラストリーム302のコンテンツの強調表示を含むと保証するために、候補バッファ316内のどのフレームが追い出されるべきかの判定を支援するように、候補バッファ316に入力を提供する機能を表す。リングバッファ310のFIFO構造とは異なり、候補バッファ316内のフレームは、必ずしも挿入順にドロップされるわけではなく、フレームが候補バッファ316に格納されたフレームの強調表示に対してどの程度重要であるかに従ってドロップされる。候補バッファ316内のフレームが不要と判断されるタイミングは、多くの要因によって判断され得る。一例では、フレーム選択モジュール314は、(たとえば、特徴スコアリングモジュール312からの)フレームダイバーシティスコアまたはフレーム品質スコアの1つ以上を利用して、フレームが不要であり候補バッファ316から追い出されるべきかどうかを判定してもよい。候補バッファ316内のフレームは、降順でフレーム品質スコアに基づいてソートすることができ、フレーム304は、所与のフレームの品質が品質閾値よりも大きいかどうかを判定してフレームがフィルタリングされるべきかどうかを判定するために、反復処理され得る。
【0037】
ユーザ10がシャッター(たとえば、GUIシャッターボタン116)を押すと、ユーザに提案する候補フレームを含む候補バッファ316が作成および維持され得る。候補バッファ316は、フレーム選択モジュール314から残りのフレームを受信し格納する。候補バッファ316の容量は有限であるため、フレーム選択モジュール314は、容量に達すると、候補バッファ316に格納されているどのフレームを候補バッファ316から追い出すかを判定し得る。フレーム選択モジュール314は、候補バッファ316内のフレームの(特徴スコアリングモジュール312によって計算される)フレーム品質スコアを品質閾値と比較して、フレームのフレーム品質スコアが品質閾値を超えているかどうかを判定し得る。フレームのフレーム品質スコアが特定の閾値を下回っている場合、フレームは候補バッファ316から追い出され得る。フレームのフレーム品質スコアが品質閾値を超えている場合、最小フレームダイバーシティスコアを求めるために、当該フレームについて、候補バッファ316内の複数のフレームに対するフレームダイバーシティスコアラが(たとえば、特徴スコアリングモジュール312によって)計算され得る。フレームの最小フレームダイバーシティスコアは、ダイバーシティ閾値と比較されて、最小フレームダイバーシティスコアがダイバーシティ閾値よりも大きいかどうかを判定し得る。最小フレームダイバーシティスコアがダイバーシティ閾値よりも大きいと判定することに応答して、選択されたフレームは、候補バッファ316に格納され続け得る。フレーム選択モジュール314が、フレームのフレームダイバーシティスコアが特定の閾値を下回っていると判定した場合、フレーム選択モジュール314は、候補バッファ316からフレームを追い出すと判定し得る。多様でない、および/または品質が高くないフレームを候補バッファ316から追い出すことにより、候補バッファ316に格納されたフレームは、フレームがカメラストリームコンテンツの強調表示にとってどれほど重要であるかをより良好に表現する。
【0038】
ユーザ(たとえば、図1のユーザ10)が逃した写真を見直す準備ができていると判定されると、候補バッファ316のコンテンツが分析され得て、カメラストリーム302を強調表示する、結果として生じる画像オブジェクト(たとえば、アニメーションGIF、フレームのスタック、またはコラージュ)が、結果生成器モジュール318によって計算され、たとえば、画像オブジェクトの表示がディスプレイ(たとえば、ディスプレイ108)に表示され得る。
【0039】
図4は、例示的な実現例に係るフレームスコア生成処理を利用して、フレーム304の少なくとも1つのフレームスコア(たとえば、フレーム品質スコア、フレームダイバーシティスコア)を計算するための技術を示すブロック図400である。たとえば、カメラマネージャシステム(カメラマネージャ120)のコンポーネントは、図3に例示されるように、カメラアプリケーション114と、またはその内部で、統合され得る。図4に示される態様において、技術は、特徴スコアリングモジュール(たとえば、図3の特徴スコアリングモジュール312)により実行される。特徴スコアリングモジュールは、本明細書で説明するように、フレーム304の少なくとも1つのフレームスコア(たとえば、フレームダイバーシティスコア430、フレーム品質スコア432)を計算するために利用される。カメラマネージャシステム120は、フレームスコアを計算する際に、多数の信号(たとえば、埋め込み、特徴)を考慮し得る。たとえば、カメラマネージャシステム120は、フレームダイバーシティスコア430を演算するために、時間ダイバーシティスコア422、顔ダイバーシティスコア424、および美的ダイバーシティスコア428の組み合わせを使用し得る。フレーム304のフレームダイバーシティスコア430は、時間ダイバーシティスコア422、顔ダイバーシティスコア424、および美的ダイバーシティスコア428の加重和であり得る。
【0040】
図3に関して説明したように、複数のフレーム304(たとえば、選択されたフレーム304b、第1のフレーム304a)が受信され、フレーム304が興味深い特徴(プロパティ)(たとえば、関心領域、動きベクトル、デバイスの動き、顔情報、フレーム統計)を含むかどうかを判定するために、特徴処理が(たとえば、特徴抽出モジュール306によって)実行される。特徴処理において、特徴抽出モジュール(たとえば、図3の特徴抽出モジュール306)は、スコアモデルから、および/またはフレーム304から、特徴(たとえば、埋め込み)を抽出する。カメラマネージャシステム120は、抽出された特徴を特徴ストア308に格納し得る。抽出された特徴は、少なくとも1つのフレームスコア(たとえば、フレーム品質スコア432、フレームダイバーシティスコア430)を計算するための特徴スコアリングモジュール312のさまざまな分類器(たとえば、フレーム品質スコアラ402、時間ダイバーシティスコアラ404、顔ダイバーシティスコアラ406、美的ダイバーシティスコアラ408)に渡され得る。分類器(たとえば、フレーム品質スコア432、時間ダイバーシティスコア422、顔ダイバーシティスコア424、美的ダイバーシティスコア428、結合フレームダイバーシティスコアラ410)の1つ以上の出力は、フレーム選択モジュール314によって利用され得る。
【0041】
特徴ストア308は、抽出された特徴412を、品質メトリクスを測定するフレーム品質スコアラ402に渡し得る。フレーム品質スコアラ402は、特徴412に基づいてフレーム品質スコア432を計算し得る。フレーム品質スコア432は、フレーム選択モジュール314または分類器(たとえば、顔ダイバーシティスコアラ406、美的ダイバーシティスコアラ408)の1つ以上に、出力として提供され得る。フレーム品質スコアラ402は、顔表情埋め込み、美的埋め込み、顔位置埋め込み、顔識別埋め込み、および顔カウント埋め込みなどの信号を生成し得る。フレーム内に描かれた少なくとも1つの顔に関連する特徴(たとえば、顔位置埋め込み、顔識別埋め込み、顔カウント埋め込み、顔表情埋め込み、顔表情変化埋め込み、顔属性埋め込み)は、顔埋め込み414としてフレーム品質スコアラ402によって顔ダイバーシティスコアラ406に提供され得る。フレーム品質スコアラ402は、フレーム内に描かれたシーン関連(顔以外)の特徴を、美的埋め込み416として美的ダイバーシティスコアラ408に提供し得る。
【0042】
特徴ストア308は、時間関連特徴418(たとえば、タイムスタンプ)を時間ダイバーシティスコアラ404に渡し得る。時間ダイバーシティスコアラ404は、1つ以上の時間関連特徴418に基づいて、フレームセットのフレームの時間ダイバーシティスコア422を計算する。たとえば、時間ダイバーシティスコアラ404は、フレームセットのフレームを選択し、選択されたフレーム304bと第1のフレーム304aとのタイムスタンプ418を特徴として取得し、2つのタイムスタンプ間の差(タイムスタンプ差)を測定して、フレームのペア(たとえば、第1のフレーム304aに対する選択されたフレーム304b)の時間ダイバーシティスコア422を生成(出力)し得る。時間ダイバーシティスコア422は、結合フレームダイバーシティスコアラ410に提供され得る。態様において、第1のフレーム304aは、カメラストリーム302から直近に受信されたフレーム304である。
【0043】
たとえば、顔の表情、顔のランドマーク、顔の数、顔の位置などをキャプチャする顔関連特徴は、判定され、顔ダイバーシティスコアラ406に渡され得る。一例では、顔関連特徴は、特徴ストア308によって顔ダイバーシティスコアラ406に渡される顔特徴420である。別の例では、顔関連特徴は、フレーム品質スコアラ402によって顔ダイバーシティスコアラ406に渡される顔埋め込み414である。顔ダイバーシティスコアラ406は、一対のフレーム(たとえば、第1のフレーム304aおよび選択されたフレーム304b)間の少なくとも1つの顔特徴差を判定し、第1のフレームに対する選択されたフレームの顔ダイバーシティスコア424を計算するスコアリング処理において、顔特徴420または顔埋め込み414の少なくとも1つを利用し得る。態様において、顔ダイバーシティスコアラ406は、フレームのペアの特徴(たとえば、顔特徴420、顔埋め込み414)を取得し、距離メトリックを使用して、フレームのペアの(たとえば、第1のフレームに対する選択されたフレームの)顔ダイバーシティスコア424を生成(出力)する。たとえば、顔ダイバーシティスコアラ406は、距離メトリックを使用して、選択されたフレーム304bの特徴と第1のフレーム304aの特徴との間の距離を計算し得る。顔ダイバーシティスコアラ406は、顔ダイバーシティスコア424を結合フレームダイバーシティスコアラ410に提供し得る。カメラマネージャシステム120は、フレームのうちの複数のフレームに対してスコアリング処理を繰り返し実行し得る。
【0044】
オブジェクトのレイアウト、ボケ、およびカメラの焦点などをキャプチャするシーン関連特徴が、判定され、美的ダイバーシティスコアラ408に渡され得る。一例では、シーン関連特徴は、特徴ストア308によって美的ダイバーシティスコアラ408に渡される美的特徴426である。別の例では、シーン関連特徴は、フレーム品質スコアラ402によって美的ダイバーシティスコアラ408に渡される美的埋め込み416である。美的ダイバーシティスコアラ408は、一対のフレーム(たとえば、第1のフレーム304aおよび選択されたフレーム304b)間の美的特徴差を判定し、美的ダイバーシティスコア428を計算するスコアリング処理において、美的特徴426または美的埋め込み416の少なくとも一つを利用し得る。態様において、美的ダイバーシティスコアラ408は、一対のフレームの特徴(たとえば、美的特徴426、美的埋め込み416)を取得し、距離メトリックを使用して、一対のフレームの(たとえば、第1のフレームに対する選択されたフレームの)美的ダイバーシティスコア428を計算(出力)する。たとえば、距離メトリックは、フレームのペアの美的ダイバーシティスコア428を出力するために、選択されたフレーム304bの特徴と第1のフレーム304aの特徴との間の距離を計算するために利用され得る。美的ダイバーシティスコアを計算するために使用される距離メトリックは、顔ダイバーシティスコアを計算するために利用される同じ距離メトリックであってもよいし、異なる距離メトリックであってもよい。美的ダイバーシティスコアは、2つのフレーム間の美的特徴差を測定する。美的ダイバーシティスコア428は、結合フレームダイバーシティスコアラ410に提供され得る。カメラマネージャシステム120は、フレームのうちの複数のフレームに対してスコアリング処理を繰り返し実行し得る。2つの画像フレーム(たとえば、選択されたフレーム304bおよび第1のフレーム304a)が与えられると、ダイバーシティスコアラ(たとえば、顔ダイバーシティスコアラ406、美的ダイバーシティスコアラ408)によって利用される距離メトリックが、たとえば、ユークリッド距離メトリックまたは機械学習による距離メトリックの1つ以上を使用して、計算され得る。機械学習による距離メトリックは、クラウド演算プラットフォームを通じてダイバーシティデータセットを収集し、ロジスティック回帰モデルを学習し、かつ確率出力をフレームダイバーシティスコアとして使用することによって計算されてもよく、自然に[0,1]にスケーリングされる。
【0045】
結合フレームダイバーシティスコアラ410は、分類器の1つ以上の出力(たとえば、時間ダイバーシティスコア422、顔ダイバーシティスコア424、美的ダイバーシティスコア428)を取得し、フレームダイバーシティスコア430を計算し得る。フレームダイバーシティスコア430は、図3に関して上述したように、フレーム選択処理においてフレーム選択モジュール(たとえば、図3のフレーム選択モジュール314)により利用され得る。一例では、フレームダイバーシティスコアは、フレーム(たとえば、選択されたフレーム304b、第1フレーム304a)をリングバッファから候補バッファ316に移動させるかどうかを判定するために、フレーム選択モジュールにより利用される。別の例では、フレームダイバーシティスコアは、リングバッファ310内で維持されるフレームを選択するために、および/またはリングバッファ310から追い出すフレームを選択するために、フレーム選択モジュールにより利用される。付加的な例では、フレームダイバーシティスコアは、カメラストリーム302の強調表示を表す結果生成器モジュール318によって生成された画像オブジェクトの一部として含めるように、候補バッファ316に格納されたフレームを選択するフレーム選択モジュールによって利用される。
【0046】
フレームスコア生成処理において、リングバッファ310内のフレームのフレーム品質スコア(たとえば、フレーム品質スコア432)が判定され、リングバッファ310内のフレームの候補バッファ316内のフレームに対するフレームダイバーシティスコア(たとえば、フレームダイバーシティスコア430)が判定される。品質スコアが高く、候補バッファ316内のフレームに対するダイバーシティスコアが高いと判定されたリングバッファ310内のフレームは、候補バッファ316に追加され、リングバッファ310から追い出され得る。不要なフレームを破棄することによって、カメラマネージャシステム120は、リングバッファ310内のスペースを解放して、ある期間(たとえば、過去3秒)にわたってキャプチャされた「最良の」フレームのみを残す。
【0047】
他の例では、フレームダイバーシティスコア430は、新しいフレーム(たとえば、第1のフレーム304a)がリングバッファ310によって受信されるとリングバッファ310内の候補フレームを維持するために、図3に関して上述したように、フレーム選択処理においてフレーム選択モジュール(たとえば、図3のフレーム選択モジュール314)によって利用されてもよい。結合フレームダイバーシティスコアラ410は、リングバッファ310内のすべてのフレーム(選択処理によって選択済みのフレーム)に対する、第1のフレーム304aのフレームダイバーシティスコア430を演算し得る。結合フレームダイバーシティスコアラ410は、リングバッファ310から1つ以上のフレームをフィルタリングする(たとえば、追い出す)フィルタリング処理において、フレームダイバーシティスコア430を利用し得る。カメラマネージャシステム120は、フレームのうちの複数のフレームに対してフィルタリング処理を繰り返し実行し得る。格納されたフレームのうちの複数のフレームに対して繰り返し行われる例示的なフィルタリング処理では、格納されたフレームからフレームが選択され、選択されたフレームのフレーム品質スコアが計算され、ドロップスコアが選択されたフレームに割り当てられる。ドロップスコアは、選択されたフレームのフレーム品質スコア432とフレームダイバーシティスコア430との加重線形結合であり得る。ドロップスコアを割り当てた後、カメラマネージャシステム120はフレームをフィルタリングし得る。たとえば、リングバッファ310内のフレームをドロップスコアの降順でソートして、最低(最小)のドロップスコアを有するリングバッファ310内のフレームを判定することによって、最低のドロップスコアを有するフレームを判定することができる。次に、カメラマネージャシステム120は、最低のドロップスコアを有するリングバッファ310内の格納されたフレームを、新しいフレーム(たとえば、第1のフレーム304a)で置き換え得る。
【0048】
フレームフィルタリング処理において、フレーム選択モジュール314は、リングバッファ310内の選択されたフレームの計算されたフレーム品質スコアが品質閾値を超えていると判定した場合、たとえば、候補バッファ316内の複数のフレーム(たとえば、候補バッファ内のすべてのフレーム)に対して繰り返し選択されたリングバッファフレームのフレームダイバーシティに基づいて計算した、選択されたリングバッファフレームの第2のフレームダイバーシティスコアを計算し得る。第2のフレームダイバーシティスコアは、選択されたリングバッファフレームと候補バッファ316内のフレームとの間の最小の(たとえば、最低の)ダイバーシティスコアを判定するために使用される。フレーム選択モジュール314はさらに、最小ダイバーシティスコアがダイバーシティ閾値よりも大きい(たとえば、最小ダイバーシティ閾値を超えている)かどうかを判定するために、最小ダイバーシティスコアをダイバーシティ閾値と比較し得る。選択されたリングバッファフレームの最小ダイバーシティスコアがダイバーシティ閾値よりも大きいと判定することに応答して、選択されたリングバッファフレームは、カメラストリーム302の強調表示を表す結果生成器モジュール318によって生成された画像オブジェクトの一部として含めるために、候補バッファ316に格納され得る。一例では、カメラマネージャシステム120は、選択されたリングバッファフレームを、リングバッファ310から候補バッファ316に移動させてもよい。他の例では、カメラマネージャシステム120は、選択されたリングバッファフレームを候補バッファ316にコピーし、フレームのコピーをリングバッファ310から追い出す。
【0049】
態様において、最大個別スコア(たとえば、時間ダイバーシティスコア422、顔ダイバーシティスコア424、または美的ダイバーシティスコア428の1つ)が、カメラマネージャシステム120によってフレームダイバーシティスコア430として使用され得る。他の態様(図示せず)において、フレーム品質スコアラ402によって生成された埋め込み(たとえば、顔表情埋め込み、美的埋め込み、顔カウント埋め込み)は、ダイバーシティスコアラフレームとしてラップされ、フレームダイバーシティスコア430を演算するために、結合フレームダイバーシティスコアラ410に送信されてもよい。
【0050】
本開示を通して、コンピューティングデバイス(たとえば、コンピューティングデバイス102)が、ユーザに関連する情報(画像データなど)、たとえば、特徴抽出モジュール306によって抽出され特徴ストア308に記憶された顔特徴を分析し得る例が説明される。しかしながら、コンピューティングデバイスは、コンピューティングデバイスのユーザから、コンピューティングデバイスがデータを使用する明示的な許可を得て初めて、情報を使用するように構成され得る。たとえば、コンピューティングデバイス102が顔特徴について画像データを分析してフレームセットからフレーム提案を生成する状況において、コンピューティングデバイス102のプログラムまたは機能がデータを収集し利用することができるかどうかを制御するために入力を提供する機会が、個々のユーザに提供され得る。個々のユーザは、プログラムが画像データでできること、またはできないことを常に制御し得る。さらに、収集された情報は、個人を識別できる情報が除去されるように、転送、格納、またはその他の態様では使用される前に、1つ以上の方法で前処理され得る。たとえば、コンピューティングデバイス102は、画像データを別のデバイスと共有する前に(たとえば、別のコンピューティングデバイスで実行されるモデルを訓練するために)、データに埋め込まれたユーザ識別情報またはデバイス識別情報が確実に除去されるように、画像データを前処理し得る。したがって、ユーザは、ユーザおよびユーザのデバイスに関する情報が収集されるかどうか、ならびに、収集される場合、そのような情報がコンピューティングデバイスおよび/またはリモートコンピューティングシステムによってどのように使用され得るかについて、制御し得る。
【0051】
図1図2図3、および図4のエンティティはさらに、分割、組み合わせ、他のコンポーネントとの併用などが可能である。このようにして、カメラシステム104およびカメラマネージャ120の異なる構成を有するコンピューティングデバイス102の異なる実現例を使用して、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置を実現することができる。図1の例示的な動作環境100、および図2図3図4図5図6図7の詳細な図解は、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する、説明された技術および装置を採用することができる多くの可能な環境ならびにシステムの一部を示しているにすぎない。
【0052】
例示的な方法
このセクションでは、全体的にもしくは部分的に別々にまたは一緒に動作することができる例示的な方法について説明する。さまざまな例示的な方法について説明され、読みやすくするために方法例の各々がサブセクションで説明されており、これらのサブセクションのタイトルは、これらの方法のうちの各方法と他の方法との相互運用性を限定することを意図したものではない。
【0053】
図5は、フレームセットからフレーム提案を生成するための、コンピューティングデバイスによって実行される例示的な方法500を示す。方法500は、実行される動作を指定するブロックのセットとして示されているが、必ずしも、それぞれのブロックによって動作を実行するために示された順序または組み合わせに限定されるものではない。さらに、1つ以上の動作のいずれかを繰り返し、組み合わせ、再編成し、または連結して、幅広い追加の方法および/または代替的な方法(たとえば、方法600)を提供し得る。以下の議論の一部において、図1の例示的な動作環境100、または他の図に詳述されているようなエンティティもしくは処理が参照されることがあるが、これらの参照は例示のためにのみなされる。本技術は、1つのデバイス上で動作する1つのエンティティまたは複数のエンティティによる実行に限定されない。
【0054】
502において、コンピューティングデバイス(たとえば、コンピューティングデバイス102)は、フレームセット(たとえば、フレーム304)と第1のフレーム(たとえば、フレーム304a)とを定義する画像データストリームを受信する。画像データは、コンピューティングデバイスのカメラシステム(たとえば、カメラシステム104)から受信され得る。フレームセットは、選択されたフレーム(たとえば、選択されたフレーム304b)を含み得る。コンピューティングデバイスは、504において、フレームから抽出された特徴に基づいてフレームダイバーシティスコアを計算するフレームスコア生成処理を開始する。フレームスコア生成処理において、コンピューティングデバイスは、506において、第1のフレームに対する、フレームセットのフレームの時間ダイバーシティスコアを計算し、508において、第1のフレームに対する、フレームセットのフレームの顔ダイバーシティスコアを計算し、510において、第1のフレームに対する、フレームセットのフレームの美的ダイバーシティスコアを計算する。次に、コンピューティングデバイスは、512において、顔ダイバーシティスコア、美的ダイバーシティスコア、および時間ダイバーシティスコアに基づいて(たとえば、顔ダイバーシティスコア、美的ダイバーシティスコア、および時間ダイバーシティスコアを組み合わせることによって)、第1のフレームに対するフレームセットのフレームのダイバーシティスコアを計算する。フレームダイバーシティスコアを使用して、514において、コンピューティングデバイスは、画像データストリームの提案されたフレーム(強調表示)を表す(たとえば、結果生成器モジュール318によって生成される)画像オブジェクトの一部として第1のフレームを含めるかどうかを判定する。
【0055】
図6は、たとえば、図3および図4の特徴スコアリングモジュール312によって、フレームのフレームスコアを計算するための、コンピューティングデバイスによって実行される別の例示的な方法600を示す。602において、コンピューティングデバイス(たとえば、コンピューティングデバイス102)は、たとえば、コンピューティングデバイスのカメラシステム(たとえば、カメラシステム104)から、フレームセット(たとえば、フレーム304)と第1のフレーム(たとえば、フレーム304a)とを定義する画像データストリームを受信する。604において、コンピューティングデバイスは、フレームと第1のフレームとから特徴を抽出し、抽出した特徴(埋め込み)を特徴ストア(たとえば、特徴ストア308)に格納する。コンピューティングデバイスに実装された特徴スコアリングモジュールは、特徴ストアから特徴を受信する。特徴スコアリングモジュールは、特徴ストアから特徴を受信する1つ以上の分類器(たとえば、フレーム品質スコアラ、時間ダイバーシティスコアラ、顔ダイバーシティスコアラ、美的ダイバーシティスコアラ)を含む。606において、フレーム品質スコアラは、フレームに描かれた少なくとも1つの顔に関連する特徴を描写する顔埋め込みを生成する。608において、フレーム品質スコアラは、フレームに描かれたシーン関連(顔以外の)特徴を描写する美的埋め込みを生成する。610において、時間ダイバーシティスコアラは、時間関連特徴を利用する時間ダイバーシティスコアを生成する。顔ダイバーシティスコアラは、612において、顔特徴または顔埋め込みの少なくとも1つを利用して、顔ダイバーシティスコアを生成する。美的ダイバーシティスコアラは、614において、美的特徴または美的埋め込みの少なくとも1つを利用して、美的ダイバーシティスコアを生成する。616において、フレームダイバーシティスコアは、時間ダイバーシティスコア、顔ダイバーシティスコア、および美的ダイバーシティスコアに基づいて(たとえば、顔ダイバーシティスコア、美的ダイバーシティスコア、および時間ダイバーシティスコアを組み合わせることによって)生成される。フレームダイバーシティスコアは、618において、コンピューティングデバイスによって、フレームセットから多様なフレームを選択し提案するために使用される。
【0056】
例示的なコンピューティングデバイス
図7は、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装する技術および装置を実装するために、前の図を参照して説明したように、任意のタイプのクライアント、サーバ、および/またはコンピューティングデバイスとして実装することができる、例示的なコンピューティングデバイス700(デバイス700)のさまざまなコンポーネントを示す。
【0057】
デバイス700は、デバイスデータ704(たとえば、受信データ、受信中のデータ、ブロードキャスト予定のデータ、データのデータパケット)の有線通信および/または無線通信を可能にする通信デバイス702を含む。デバイスデータ704または他のデバイスコンテンツは、デバイスの構成設定、デバイスに格納されたメディアコンテンツ、および/またはデバイスのユーザに関連する情報を含み得る。デバイス700に格納されたメディアコンテンツは、任意のタイプの音声、ビデオ、および/または画像データを含み得る。デバイス700は、それを介して任意のタイプのデータ、メディアコンテンツ、および/または入力を受信できる1つ以上のデータ入力706を含み、これらは、ユーザ選択可能入力(明示または暗黙)、メッセージ、音楽、テレビメディアコンテンツ、録画ビデオコンテンツ、ならびに任意のコンテンツおよび/もしくはデータソースから受信した他のタイプの音声、ビデオ、および/または画像データを含む。
【0058】
また、デバイス700は、シリアルインターフェイスおよび/またはパラレルインターフェイス、ワイヤレスインターフェイス、任意のタイプのネットワークインターフェイス、モデム、および任意の他のタイプの通信インターフェイスのうちのいずれか1つ以上として実装することができる通信インターフェイス708を含む。通信インターフェイス708は、デバイス700と、それによって他の電子、コンピューティング、および通信デバイスがデバイス700とデータを通信する通信ネットワークとの間の接続リンクおよび/または通信リンクを提供する。
【0059】
デバイス700は、1つ以上のプロセッサ710(たとえば、マイクロプロセッサ、コントローラなどのいずれか)を備え、これらのプロセッサは、さまざまなコンピュータ実行可能命令を処理してデバイス700の動作を制御し、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムのための技術を可能にする。代替的にまたは追加的に、デバイス700は、一般に712で識別される処理・制御回路に関連して実装されるハードウェア、ファームウェア、または固定論理回路の任意の1つまたは組み合わせで実装することができる。図示されていないが、デバイス700は、デバイス内のさまざまなコンポーネントを結合するシステムバスまたはデータ転送システムを備え得る。システムバスは、メモリバスまたはメモリコントローラ、周辺バス、ユニバーサルシリアルバス、および/またはさまざまなバスアーキテクチャのいずれかを利用するプロセッサもしくはローカルバスを含む、異なるバス構造のいずれか1つまたは組み合わせを含み得る。
【0060】
また、デバイス700は、単なる信号伝送とは対照的に、永続的および/または非一時的なデータ記憶を可能にする1つ以上のメモリデバイスを含むコンピュータ読取可能媒体714(CRM714)を備え、その例としては、ランダムアクセスメモリ(RAM)、不揮発性メモリ(たとえば、読取専用メモリ(ROM)、フラッシュメモリ、EPROM、EEPROMのいずれか1つ以上)およびディスクストレージデバイスが挙げられる。ディスク記憶装置は、任意のタイプの磁気または光学記憶装置、たとえば、ハードディスクドライブ、記録可能なおよび/または書換可能なコンパクトディスク(compact disc:CD)、任意のタイプのデジタル多用途ディスク(digital versatile disc:DVD)等として実装され得る。また、デバイス700は、大容量記憶媒体装置(記憶媒体)716を備え得る。CRM714は、デバイスデータ704、ならびにさまざまなデバイスアプリケーション718、およびデバイス700の動作態様に関連する任意の他のタイプの情報および/またはデータを格納するデータ格納機構を提供する。たとえば、オペレーティングシステム720は、CRM714と共にコンピュータアプリケーションとして維持され、プロセッサ(複数可)710上で実行可能である。デバイスアプリケーション718は、デバイスマネージャ、たとえば、任意の形態の制御アプリケーション、ソフトウェアアプリケーション、信号処理・制御モジュール、特定のデバイスにネイティブであるコード、および特定のデバイスのためのハードウェア抽象化レイヤなどを含み得る。また、デバイスアプリケーション718は、フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装するための任意のシステムコンポーネント、エンジン、またはマネージャを含む。この例では、デバイスアプリケーション718は、カメラマネージャシステム120とカメラシステム104とを含む。
【0061】
これらの技術および装置は、1つ以上のコンピュータプロセッサによる実行に応答して、本明細書で説明された方法を実行する命令を格納した非一時的なコンピュータ読取可能記憶媒体、ならびにこれらの方法を実行するためのシステムおよび手段を含む。
【0062】
本明細書で使用される場合、項目のリストの「少なくとも1つ」に言及するフレーズは、単一のメンバーを含む、それらの項目の任意の組み合わせを指す。例として、「a,bまたはcの少なくとも1つ」は、a,b,c,a-b,a-c,b-cおよびa-b-c、ならびに同じ要素の倍数との任意の組み合わせ(たとえば、a-a,a-a,a-b,a-c,a-b,a-c,b-b,b-c,c-cまたはa,bおよびcの任意の他の順序)を対象とすることが意図されている。
【0063】

以下のセクションでは、例について説明する。
【0064】
例1:コンピューティングデバイス(102)によって実行される方法(500)であって、第1のフレーム(304a)と第1のフレームを含まないフレームセット(304)とを定義する画像データストリームを受信すること(502)と、フレームダイバーシティスコア(430)を計算するフレームスコア生成処理を実行すること(504)とを備え、フレームスコア生成処理は、第1のフレームに対する、フレームセットのフレームの時間ダイバーシティスコア(422)を計算すること(506)と、第1のフレームに対する、フレームセットのフレームの顔ダイバーシティスコア(424)を計算すること(508)と、第1のフレームに対する、フレームセットのフレームの美的ダイバーシティスコア(428)を計算すること(510)と、顔ダイバーシティスコアと、美的ダイバーシティスコアと、時間ダイバーシティスコアとに基づいて、第1のフレームに対する、フレームセットのフレームのフレームダイバーシティスコア(430)を計算すること(512)とを含み、方法はさらに、フレームダイバーシティスコアを用いて、画像データストリームの提案されたフレームを表す画像オブジェクトの一部として、第1のフレームを含めるかどうかを判定すること(514)を備える、方法。
【0065】
例2:フレームダイバーシティスコアを用いて、画像データストリームの提案されたフレームを表す画像オブジェクトの一部として、第1のフレームを含めるかどうかを判定することはさらに、リングバッファ(310)に、フレームセット(304)を格納することと、フィルタリング処理を、格納されたフレームごとに繰り返し実行することとを含み、フィルタリング処理は、格納されたフレームからフレームを選択することと、選択されたフレームのフレーム品質スコアを計算することと、選択されたフレームにドロップスコアを割り当てることと、最低のドロップスコアを有する格納されたフレームを判定することと、リングバッファから、最低のドロップスコアを有する格納されたフレームを追い出すことと、リングバッファに、第1のフレームを格納することとを含む、例1に記載の方法。
【0066】
例3:フィルタリング処理はさらに、選択されたリングバッファフレームの計算されたフレーム品質スコアが品質閾値よりも大きいかどうかを判定することと、計算されたフレーム品質スコアが品質閾値よりも大きいと判定することに応答して、候補バッファに格納された候補フレームに対する、選択されたフレームの最小ダイバーシティスコアを計算することと、最小ダイバーシティスコアが最小ダイバーシティ閾値を超えているかどうかを判定することと、最小ダイバーシティスコアが最小ダイバーシティ閾値を超えていると判定することに応答して、選択されたリングバッファフレームを候補バッファに追加することとを含む、例2に記載の方法。
【0067】
例4:選択されたフレームのフレーム品質スコアを計算することは、選択されたフレームの抽出された顔特徴を判定することと、選択されたフレームの抽出された美的特徴を判定することと、抽出された顔特徴と抽出された美的特徴とを用いて、フレーム品質スコアを計算することとを含む、例2または例3に記載の方法。
【0068】
例5:ドロップスコアは、選択されたフレームのフレーム品質スコア(432)とフレームダイバーシティスコア(430)との加重線形結合を含む、例2、例3、または例4に記載の方法。
【0069】
例6:第1のフレームに対する、フレームセットのフレームの顔ダイバーシティスコアを計算することは、第1のフレーム(304a)の顔関連特徴(414,420)を判定することと、スコアリング処理を繰り返し実行することとを含み、スコアリング処理は、フレームセット(304)からフレーム(304b)を選択すること、選択されたフレームの顔関連特徴を判定することと、距離メトリックを利用して、選択されたフレームの顔関連特徴と第1のフレームの顔関連特徴との間の顔特徴差を判定することとを含む、先行する例のいずれか1つに記載の方法。
【0070】
例7:第1のフレームに対する、フレームセットのフレームの顔ダイバーシティスコアを計算することはさらに、選択されたフレームと第1のフレームとから、顔特徴を抽出することを含み、抽出された顔特徴は、フレームに描かれた顔特徴または顔の埋め込みの少なくとも1つを表し、計算することはさらに、抽出された顔特徴と距離メトリックとを利用して、選択されたフレームと第1のフレームとの間の顔特徴差を判定することを含む、例6に記載の方法。
【0071】
例8:顔特徴と距離メトリックとを利用して、選択されたフレームと第1のフレームとの間の顔特徴差を判定することは、選択されたフレームの抽出された顔特徴と、第1のフレームの抽出された顔特徴との間の距離を計算することと、計算された距離を利用して、選択されたフレームの顔ダイバーシティスコアを計算することとを含み、顔ダイバーシティスコアは、選択されたフレームと第1のフレームとの間の顔ダイバーシティを表す、例7に記載の方法。
【0072】
例9:第1のフレームに対する、フレームセットのフレームの美的ダイバーシティスコアを計算することは、第1のフレームのシーン関連特徴(416,426)を判定することと、スコアリング処理を繰り返し実行することとを含み、スコアリング処理は、フレームセットからフレームを選択することと、選択されたフレームからシーン関連特徴を抽出することと、距離メトリックを利用して、選択されたフレームのシーン関連特徴と第1のフレームのシーン関連特徴との間の美的特徴差を判定することとを含む、先行する例のいずれか1つに記載の方法。
【0073】
例10:選択されたフレームと第1のフレームとから、シーン関連特徴を抽出することをさらに備え、抽出されたシーン関連特徴は、フレームに描かれた美的特徴または美的埋込みの少なくとも1つを表す、例9に記載の方法。
【0074】
例11:距離メトリックを利用して、選択されたフレームのシーン関連特徴と第1のフレームのシーン関連特徴との間の美的特徴差を判定することは、選択されたフレームの抽出されたシーン関連特徴と、第1のフレームの抽出されたシーン関連特徴との間の距離を計算することと、計算された距離を利用して、選択されたフレームの美的ダイバーシティスコアを計算することとを含み、美的ダイバーシティスコアは、選択されたフレームと第1のフレームとの間の美的ダイバーシティを表す、例10に記載の方法。
【0075】
例12:顔ダイバーシティスコアと、美的ダイバーシティスコアと、時間ダイバーシティスコアとに基づいて、第1のフレームに対する、フレームセットのフレームのフレームダイバーシティスコアを計算することは、顔ダイバーシティスコアと、美的ダイバーシティスコアと、時間ダイバーシティスコアとの加重和を演算することを含む、先行する例のいずれか1つに記載の方法。
【0076】
例13:第1のフレームに対する、フレームセットのフレームの時間ダイバーシティスコアを計算することは、フレームセットの選択されたフレームと第1のフレームとの間のタイムスタンプ差を判定することと、判定されたタイムスタンプ差に基づいて、時間ダイバーシティスコアを生成することとを含む、先行する例のいずれか1つに記載の方法。
【0077】
例14:表示デバイス(108)での表示のために、画像オブジェクトの表示をユーザに出力することをさらに備える、先行する例のいずれか1つに記載の方法。
【0078】
例15:フレームセット(304)からフレーム提案を生成するように構成されたカメラマネージャシステム(120)と、カメラマネージャシステム(120)と結合され、例1~14のいずれか1つに記載の方法を実行するように構成されたプロセッサ(11)とメモリシステム(112)とを備える、装置。
【0079】
例16:1つ以上のコンピュータプロセッサによる実行に応答して、1つ以上のプロセッサに、例1~14のいずれか1つに記載の方法を実行させるコンピュータ読取可能命令を格納した、コンピュータ読取可能記憶媒体。
【0080】
結論
フレームセットからフレーム提案を生成することが可能なカメラマネージャシステムを実装するための技術、およびそのようなカメラマネージャシステムを可能にする装置の実現例が、特徴および/または方法に固有の言語で説明されてきたが、添付の請求項の主題は、必ずしも説明された特定の特徴または方法に限定されないことが理解されるべきである。むしろ、特定の特徴および方法は、フレームセットからフレーム提案を生成するための技術を可能にする例示的な実現例として開示されている。
図1
図2
図3
図4
図5
図6
図7