(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-12
(45)【発行日】2024-04-22
(54)【発明の名称】コンテンツ捕捉デバイスのための設定を決定するための技法
(51)【国際特許分類】
H04N 23/70 20230101AFI20240415BHJP
G03B 7/091 20210101ALI20240415BHJP
H04N 23/743 20230101ALI20240415BHJP
【FI】
H04N23/70
G03B7/091
H04N23/743
【外国語出願】
(21)【出願番号】P 2022125428
(22)【出願日】2022-08-05
(62)【分割の表示】P 2019533404の分割
【原出願日】2017-12-13
【審査請求日】2022-08-05
(32)【優先日】2016-12-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】ブライアン キース スミス
(72)【発明者】
【氏名】イリヤ ツナエフ
【審査官】門田 宏
(56)【参考文献】
【文献】特開2007-116236(JP,A)
【文献】特開2008-283456(JP,A)
【文献】特開平06-326919(JP,A)
【文献】特開2007-072013(JP,A)
【文献】特開2015-032966(JP,A)
【文献】特開平10-023324(JP,A)
【文献】米国特許出願公開第2013/0128075(US,A1)
【文献】特開2006-108759(JP,A)
【文献】特開平05-005925(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G03B 7/00 - 7/30
H04N 5/222- 5/257
H04N 23/00
H04N 23/40 -23/76
H04N 23/90 -23/959
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムにおいて実行される方法であって、前記コンピュータシステムは、1つ以上のプロセッサを含み、前記方法は、
前記1つ以上のプロセッサが、コンテンツ捕捉デバイスによって捕捉された第1の画像を受信することと、
前記1つ以上のプロセッサが、前記第1の画像内の所定の数の優先オブジェクトを識別することであって、前記所定の数は、2以上である、ことと、
前記1つ以上のプロセッサが、前記所定の数の優先オブジェクトのそれぞれに対して、前記コンテンツ捕捉デバイスの
1つ以上の設定のための1つ以上の更新を決定すること
であって、前記1つ以上の更新は、前記所定の数の優先オブジェクトのそれぞれに対応する優先度に基づく、ことと、
前記1つ以上の更新のそれぞれに対して、
前記1つ以上のプロセッサが、前記1つ以上の更新のうちのある更新を用いて、前記コンテンツ捕捉デバイスを更新することと、
前記1つ以上のプロセッサが、前記1つ以上の更新のうちの前記更新を用いて、前記コンテンツ捕捉デバイスによって捕捉され
た画像を受信すること
と
を行うことと、
前記1つ以上のプロセッサが、
前記1つ以上の更新のそれぞれに対して捕捉された複数の画像をともにスティッチングすることにより、複合画像を形成することと
を含む、方法。
【請求項2】
前記方法は、前記1つ以上のプロセッサが、前記複合画像を表示することをさらに含む、請求項1に記載の方法。
【請求項3】
前記第1の画像は、所定の数の部分を含み、前記所定の数の部分のそれぞれは、前記所定の数の優先オブジェクトのうちの1つに関連付けられている、請求項1に記載の方法。
【請求項4】
前記1つ以上の更新のそれぞれに対して捕捉された複数の画像をともにスティッチングすることは、前記所定の数の部分を組み合わせることを含む、請求項3に記載の方法。
【請求項5】
前記1つ以上の設定のうちのいくつかの設定は、露出または利得に関連付けられている、請求項1に記載の方法。
【請求項6】
前記1つ以上の更新のうちの1つは、ニューラルネットワークを用いて決定される、請求項1に記載の方法。
【請求項7】
前記1つ以上の更新のうちの1つは、前記1つ以上の更新のうちの別の1つとは異なっている、請求項1に記載の方法。
【請求項8】
前記第1の画像および
前記1つ以上の更新のそれぞれに対して捕捉された複数の画像は、同一の視野内にある、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2016年12月23日に出願され、“Method and System
For Determining Exposure Levels”と題された米国仮特許出願第62/438,926号に対する優先権を主張するものであり、該米国仮特許出願の開示は、あらゆる目的のためにその全体が参照により本明細書中に援用される。
【0002】
本開示は、概して、コンテンツ捕捉デバイスのための設定(露出設定等)を決定することに関する。露出設定は、コンテンツ(例えば、画像またはビデオ)が捕捉されるときにコンテンツ捕捉デバイスのセンサが受光する光の量に関し得る。露出設定の実施例は、シャッタ速度、開口設定、または国際標準化機構(ISO)速度を含む。
【背景技術】
【0003】
露出を設定するための従来的な解決策は、ユーザによって対処されている。例えば、ユーザは、自分の好みに合わせて露出設定を調節するであろう。しかしながら、これは、信頼できないことが証明され、多くの場合、準最適結果を生じている。
【0004】
現在、自動露出制御(AEC)が、カメラ上の標準特徴である。AECは、ユーザ入力を伴わずに画像のための露出設定を自動的に決定する。AECを使用して、カメラは、カメラのための露出設定を決定してもよい。しかしながら、AECは、典型的には、視野内にあるものを参照することなく、視野内の光の量を測定する。したがって、当技術分野では、改良されたAECの必要性がある。
【発明の概要】
【課題を解決するための手段】
【0005】
コンテンツ捕捉デバイスのための1つ以上の設定(例えば、露出設定および/または利得設定)を決定するための技法が、提供される。いくつかの実施例では、1つ以上の設定を決定するために、コンテンツ捕捉デバイスからの画像のピクセルの輝度値が、識別されてもよい。画像内のオブジェクトおよびオブジェクトと関連付けられる情報もまた、識別されてもよい。オブジェクトと関連付けられる情報は、カテゴリに分割されてもよい。そして、オブジェクトおよび情報を使用して、情報のカテゴリ毎の別個の加重アレイが、算出されてもよい。別個の加重アレイは、総加重アレイを作成し、輝度値を増補するように組み合わせられてもよい。増補された輝度値は、画像の加重された輝度平均を算出するように集計されてもよい。加重された輝度平均および標的の差に基づいて、1つ以上の設定は、調節されてもよい。
【0006】
他の実施例では、情報のカテゴリ毎に別個の加重アレイを算出するのではなく、各オブジェクトと関連付けられる情報が、別個の学習ベースのモデルで使用されてもよい。各学習ベースのモデルの出力を組み合わせて、総加重アレイが、画像の輝度値を増補するように作成されてもよい。増補された輝度値は、画像の加重された輝度平均を算出するように集計されてもよい。加重された輝度平均および標的の差に基づいて、1つ以上の設定は、調節されてもよい。
【0007】
他の実施例では、本明細書に説明されるような加重モデルが、場面の画像内のオブジェクトに使用されてもよい。同一の加重モデルは、次いで、画像スティッチャが画像および他の画像をともに組み合わせ、最適化された画像を作成し得るように、場面の他の画像内のオブジェクトに使用されてもよい。
【0008】
多数の利益が、従来の技法と比べて、本開示を介して達成される。例えば、本開示の実施形態は、より高い優先度のオブジェクトに集中することによって、画像のより良好な露出を提供する。本開示はまた、複合現実または拡張現実の場面の一部として、適切に露出された画像も提供する。いくつかの実施例では、本開示は、画像内のオブジェクトに割り当てられた優先度を学習さえし、適合させてもよい。
【0009】
ある実施例は、視線のベクトルが変化すると、露出がユーザの視線に基づいて動的に適応することを可能にする。実施例はまた、ユーザの移動または画像内の焦点レチクルのサイズ変更に基づいて、オブジェクト優先度を動的に並べ替えてもよい。
【0010】
本開示はまた、複数の高優先度オブジェクトが適切に露出される、オブジェクトベースの高ダイナミックレンジ(HDR)方法も可能にする。本開示のこれらおよび他の実施形態は、その利点および特徴の多くとともに、下記のテキストおよび添付図と併せて、より詳細に説明される。
【0011】
コンテンツ捕捉デバイスの設定を更新するための技法が、提供される。例えば、方法は、コンテンツ捕捉デバイスによって捕捉される画像を受信するステップを含んでもよい。いくつかの実施例では、画像は、複数のピクセルを含んでもよい。いくつかの実施例では、画像は、ユーザに提示されなくてもよい。本方法はさらに、画像の標的輝度値を識別するステップを含んでもよい。いくつかの実施例では、標的輝度値は、コンテンツ捕捉デバイスの露出設定または利得設定のうちの少なくとも1つに基づいて、決定されてもよい。
【0012】
本方法はさらに、画像内のオブジェクトを識別するステップと、画像の複数のピクセルを複数のピクセル群に分割するステップと、複数のピクセル群毎にピクセル群輝度値を計算するステップとを含んでもよい。本方法はさらに、オブジェクトと関連付けられないピクセル群の第1のセットを定義するステップと、ピクセル群の第1のセットの中のピクセル群毎に加重を設定するステップと、オブジェクトと関連付けられるピクセル群の第2のセットを定義するステップと、ピクセル群の第2のセットの中のピクセル群毎に加重を設定するステップとを含んでもよい。いくつかの実施例では、ピクセル群の第2のセットの中のピクセル群毎の加重は、ピクセル群の第2のセットとオブジェクトとの間の関連性に基づいてもよい。いくつかの実施例では、第1のピクセル群の中のピクセルの数は、第2のピクセル群の中のピクセルの数に等しくあり得る。いくつかの実施例では、第1のピクセル群は、第2のピクセル群と異なり得る。
【0013】
本方法はさらに、複数のピクセル群毎に、加重およびピクセル群輝度値を使用して、画像輝度値を計算するステップを含んでもよい。本方法はさらに、算出された差に基づいて、コンテンツ捕捉デバイスの設定(例えば、利得および/または露出)を更新するステップを含んでもよい。
【0014】
いくつかの実施例では、本方法はさらに、画像内の第2のオブジェクトを識別するステップと、第2のオブジェクトと関連付けられるピクセル群の第3のセットを定義するステップと、ピクセル群の第3のセットの中のピクセル群毎に加重を設定するステップとを含んでもよい。第2のオブジェクトのために設定される加重は、画像輝度値を計算するときに使用されてもよい。
【0015】
いくつかの実施例では、本方法はさらに、オブジェクトと関連付けられる付加的情報を識別するステップを含んでもよい。そのような実施例では、付加的情報は、オブジェクトと関連付けられるカテゴリ、オブジェクトのサイズ、コンテンツ捕捉デバイスからのオブジェクトの距離、またはオブジェクトが位置付けられるコンテンツ捕捉デバイスの焦点レチクルからの距離であってもよい。いくつかの実施例では、ピクセル群の第1のセットの中のピクセル群毎の加重は、付加的情報に基づいてもよい。いくつかの実施例では、ピクセル群の第1のセットの中のピクセル群毎の加重はさらに、第2の付加的情報に基づいてもよい。そのような実施例では、付加的情報は、第2の付加的情報と異なり得る。
【0016】
実施例として、本方法はさらに、オブジェクトと関連付けられる付加的情報を識別するステップを含んでもよい。ピクセル群の第1のセットの中のピクセル群毎の加重は、付加的情報に基づくことができる。別の実施例では、付加的情報は、オブジェクトと関連付けられるカテゴリ、オブジェクトのサイズ、コンテンツ捕捉デバイスからのオブジェクトの距離、またはオブジェクトが位置付けられるコンテンツ捕捉デバイスの焦点レチクルからの距離を含んでもよい。
【0017】
いくつかの実施例では、本方法はさらに、ユーザが見ている方向を識別するステップと、ユーザが見ている方向に対応する、画像上の場所を決定するステップと、オブジェクトが位置付けられる該場所からの距離を決定するステップとを含んでもよい。いくつかの実施例では、ピクセル群の第1のセットの中のピクセル群毎の加重は、付加的情報に基づいてもよい。ピクセル群の第1のセットの中のピクセル群毎の加重は、第2の付加的情報と異なる第2の付加的情報に基づくことができる。
【0018】
別の実施例に関して、方法は、コンテンツ捕捉デバイスによって捕捉される画像を受信するステップを含んでもよい。いくつかの実施例では、画像は、複数のピクセルを含んでもよい。本方法はさらに、画像の標的輝度値を識別するステップを含んでもよい。いくつかの実施例では、標的輝度値は、視野に基づいてもよい。本方法はさらに、画像内のオブジェクトを識別するステップと、オブジェクトの1つ以上の属性を識別するステップと、ニューラルネットワークを使用して、オブジェクトのための加重を計算するステップとを含んでもよい。いくつかの実施例では、ニューラルネットワークは、1つ以上の属性を入力として使用してもよい。そのような実施例では、オブジェクトの1つ以上の属性のうちの属性は、オブジェクト優先度、オブジェクト距離、またはオブジェクトサイズを含んでもよい。いくつかの実施例では、ニューラルネットワークは、多層パーセプトロンであってもよい。本方法はさらに、画像の複数のピクセルを複数のピクセル群に分割するステップを含んでもよい。いくつかの実施例では、複数のピクセル群のうちの各ピクセル群は、同一のサイズであってもよい。
【0019】
本方法はさらに、オブジェクトと関連付けられないピクセル群の第1のセットを定義するステップと、オブジェクトと関連付けられるピクセル群の第2のセットを定義するステップとを含んでもよい。本方法はさらに、ピクセル群の第2のセットのうちのピクセル群毎に、ピクセル群輝度値を計算するステップを含んでもよい。本方法はさらに、ピクセル群の第2のセットのうちのピクセル群毎に、ピクセル群輝度値を計算するステップを含んでもよい。本方法はさらに、ピクセル群の第2のセットのうちのピクセル群毎に、ピクセル群輝度値を加重で乗算し、加重されたピクセル群輝度値を提供するステップを含んでもよい。
【0020】
本方法はさらに、画像の総輝度値を計算するステップを含んでもよい。いくつかの実施例では、総輝度値は、加重されたピクセル群輝度値の総和を含んでもよい。本方法はさらに、総輝度値と標的輝度値との間の差を算出するステップと、算出された差に基づいて、コンテンツ捕捉デバイスの設定を更新するステップとを含んでもよい。いくつかの実施例では、コンテンツ捕捉デバイスの設定は、露出または利得と関連付けられてもよい。
【0021】
本方法はさらに、画像内の第2のオブジェクトを識別するステップと、第2のオブジェクトの1つ以上の第2の属性を識別するステップと、第2のオブジェクトと関連付けられるピクセル群の第3のセットを定義するステップと、第2のニューラルネットワークを使用して、第2のオブジェクトのための第2の加重を計算するステップとを含んでもよい。いくつかの実施例では、第2のニューラルネットワークは、1つ以上の第2の属性を入力として使用してもよい。本方法はさらに、ピクセル群の第3のセットのうちのピクセル群毎に、第2のピクセル群輝度値を計算するステップを含んでもよい。本方法はさらに、ピクセル群の第3のセットのうちのピクセル群毎に、第2のピクセル群輝度値を第2の加重で乗算し、加重された第2のピクセル群輝度値を提供するステップを含んでもよい。いくつかの実施例では、総輝度値はさらに、加重された第2のピクセル群輝度値の総和を含んでもよい。
【0022】
別の実施例に関して、方法は、コンテンツ捕捉デバイスによって捕捉される第1の画像を受信するステップと、第1の画像内の第1のオブジェクトを識別するステップと、コンテンツ捕捉デバイスの第1の設定への第1の更新を決定するステップとを含んでもよい。いくつかの実施例では、第1の更新は、第1のオブジェクトに関して決定されてもよい。いくつかの実施例では、第1の更新は、ニューラルネットワークを使用して、決定されてもよい。本方法はさらに、コンテンツ捕捉デバイスによって捕捉される第2の画像を受信するステップを含んでもよい。いくつかの実施例では、第2の画像は、第1の画像の後に捕捉されてもよい。本方法はさらに、第2の画像内の第2のオブジェクトを識別するステップと、コンテンツ捕捉デバイスの第2の設定への第2の更新を決定するステップとを含んでもよい。いくつかの実施例では、第2の更新は、第2のオブジェクトに関して決定されてもよい。いくつかの実施例では、第1の設定および第2の設定は、露出または利得と関連付けられてもよい。いくつかの実施例では、第1の設定は、第2の設定であってもよい。いくつかの実施例では、第1の更新は、第2の更新と異なり得る。いくつかの実施例では、第1の画像および第2の画像は、同一の視野内にあってもよい。本方法はさらに、コンテンツ捕捉デバイスの第1の設定への第1の更新を実施するステップと、コンテンツ捕捉デバイスによって捕捉される第3の画像を受信するステップとを含んでもよい。いくつかの実施例では、第3の画像は、第1の更新が実施された後に捕捉されてもよい。本方法はさらに、コンテンツ捕捉デバイスの第2の設定への第2の更新を実施するステップと、コンテンツ捕捉デバイスによって捕捉される第4の画像を受信するステップとを含んでもよい。いくつかの実施例では、第4の画像は、第2の更新が実施された後に捕捉されてもよい。本方法はさらに、第3の画像および第4の画像を単一の画像に組み合わせるステップを含んでもよい。いくつかの実施例では、第3の画像および第4の画像は、画像スティッチャを使用して組み合わせられてもよい。
【0023】
本発明のある実施形態によると、方法が提供される。本方法は、コンテンツ捕捉デバイスによって捕捉される第1の画像を受信するステップと、第1の画像内の事前決定された数の優先オブジェクトを識別するステップとを含む。事前決定された数は、2以上である。本方法はまた、事前決定された数の優先オブジェクト毎に、コンテンツ捕捉デバイスの1つ以上の設定のための1つ以上の更新を決定するステップも含む。本方法はさらに、反復して、1つ以上の更新のそれぞれを使用して、コンテンツ捕捉デバイスを更新するステップと、1つ以上の更新のそれぞれを使用して、コンテンツ捕捉デバイスによって捕捉される事前決定された数の画像を受信するステップとを含む。加えて、本方法は、事前決定された数の画像をともにスティッチングし、複合画像を形成するステップを含む。
【0024】
別の実施例に関して、方法は、コンテンツ捕捉デバイスによって捕捉される画像を受信するステップを含んでもよい。画像は、複数のピクセルを含んでもよい。本方法はさらに、画像の標的輝度値を識別するステップと、画像の複数のピクセルを複数のピクセル群に分割するステップと、複数のピクセル群毎にピクセル群輝度値を計算するステップと、画像内の場所を識別するステップとを含んでもよい。場所は、画像に対応する環境内でユーザが見ている点に対応してもよい。いくつかの実施例では、場所は、ユーザの1つ以上の眼の画像に基づいて識別されてもよい。他の実施例では、場所は、ユーザの視線の方向に基づいて識別されてもよい。他の実施例では、場所は、画像内で識別されるオブジェクトの場所に基づいて識別されてもよい。本方法はさらに、識別された場所に基づいて、複数のピクセル群毎に加重を設定するステップと、複数のピクセル群毎に、加重およびピクセル群輝度値を使用して、画像輝度値を計算するステップと、画像輝度値と標的輝度値との間の差を算出するステップと、算出された差に基づいて、コンテンツ捕捉デバイスの設定を更新するステップとを含んでもよい。設定は、利得または露出に関連し得る。いくつかの実施例では、本方法はさらに、画像の複数のピクセルを複数のパッチに分割するステップを含んでもよく、パッチは、1つ以上のピクセル群を含んでもよい。そのような実施例では、加重を設定するステップはさらに、場所を含むパッチからの距離に基づいてもよい。いくつかの実施例では、加重を設定するステップはさらに、場所からの距離に基づいてもよい。
【0025】
別の実施例に関して、方法は、コンテンツ捕捉デバイスによって捕捉される画像を受信するステップを含んでもよく、画像は、複数のピクセルを含む。本方法はさらに、画像の標的輝度値を識別するステップと、画像の複数のピクセルを複数のピクセル群に分割するステップと、複数のピクセル群毎にピクセル群輝度値を計算するステップと、画像に対応する深度マップを受信するステップと、深度マップに基づいて、複数のピクセル群毎に加重を設定するステップと、複数のピクセル群毎に、加重およびピクセル群輝度値を使用して、画像輝度値を計算するステップと、画像輝度値と標的輝度値との間の差を算出するステップと、算出された差に基づいて、コンテンツ捕捉デバイスの設定を更新するステップとを含んでもよい。設定は、利得または露出に関連し得る。いくつかの実施例では、深度マップは、1つ以上の点に関して空間内の点からの距離を示してもよく、1つ以上の点はそれぞれ、画像の1つ以上のピクセルに対応する。いくつかの実施例では、本方法はさらに、画像捕捉と同時に深度マップを捕捉するステップを含んでもよい。他の実施例では、本方法はさらに、画像が捕捉される前に深度マップを捕捉するステップを含んでもよく、深度マップは、複数の画像のための加重を設定するために使用される。いくつかの実施例では、加重を設定するステップはさらに、画像からのオブジェクトの場所を示すデータに基づいてもよい。オブジェクトの場所を示すデータは、画像のピクセルを分析し、オブジェクトの記憶された画像の1つ以上のピクセルに合致する、画像の1つ以上のピクセルを識別することによって決定されてもよい。
【0026】
別の実施例に関して、方法は、コンテンツ捕捉デバイスによって捕捉される画像を受信するステップであって、画像は、複数のピクセルを含む、ステップを含んでもよい。本方法はさらに、画像の標的輝度値を識別するステップと、画像の複数のピクセルを複数のピクセル群に分割するステップと、画像内の複数のパッチを識別するステップとを含んでもよい。複数のパッチは、第1のパッチと、第2のパッチとを含んでもよく、第1のパッチは、1つ以上のピクセル群を含み、第2のパッチは、第1のパッチの1つ以上のピクセル群と異なる1つ以上のピクセル群を含む。いくつかの実施例では、複数のパッチは、複数のピクセルに基づいて識別されてもよい。いくつかの実施例では、複数のパッチは、画像内で識別される1つ以上のオブジェクトに基づいて識別されてもよく、第1のパッチは、第1のオブジェクトと関連付けられるピクセルを含む。本方法はさらに、第1のモデルを使用して、第1のパッチのための1つ以上の加重を計算するステップと、第2のモデルを使用して、第2のパッチのための1つ以上の加重を計算するステップとを含んでもよい。いくつかの実施例では、第1のモデルは、第1のパッチの中に含まれるピクセルに関して決定される1つ以上の属性に基づいてもよい。そのような実施例では、第2のモデルは、第2のパッチの中に含まれるピクセルに関して決定される1つ以上の属性に基づいてもよく、第1のモデルと関連付けられる1つ以上の属性は、第2のモデルと関連付けられる1つ以上の属性と異なる。いくつかの実施例では、第1のモデルは、第1のパッチの中に含まれるピクセルに関して決定される1つ以上の属性に基づく、ニューラルネットワークである。いくつかの実施例では、第1のパッチのための1つ以上の加重は、第2のパッチのための1つ以上の加重と同時に計算されてもよい。いくつかの実施例では、第1のパッチは、第2のパッチと異なるサイズであってもよい。本方法はさらに、ピクセル群毎に、ピクセル群輝度値を計算するステップと、ピクセル群輝度値を加重で乗算し、加重されたピクセル群輝度値を提供するステップとを含んでもよい。本方法はさらに、画像の総輝度値を計算するステップであって、総輝度値は、加重されたピクセル群輝度値の総和を含む、ステップを含んでもよい。本方法はさらに、総輝度値と標的輝度値との間の差を算出するステップと、算出された差に基づいて、コンテンツ捕捉デバイスの設定を更新するステップとを含んでもよい。設定は、利得または露出に関連し得る。
【0027】
方法が上記に説明されているが、コンピュータ製品は、コンピュータシステムを制御し、上記に説明される方法のうちのいずれかの動作を実施するための複数の命令を記憶する、コンピュータ可読媒体を含み得ることを認識されたい。加えて、システムは、コンピュータ製品と、コンピュータ可読媒体上に記憶された命令を実行するための1つ以上のプロセッサとを含んでもよい。加えて、システムは、上記に説明される方法のうちのいずれかを実施するための手段を含んでもよい。加えて、システムは、上記に説明される方法のうちのいずれかを実施するように構成されてもよい。加えて、システムは、それぞれ、上記に説明される方法のうちのいずれかのステップを実施する、モジュールを含んでもよい。
【0028】
本概要は、請求される主題の主要または不可欠な特徴を識別することも、請求される主題の範囲を決定するために分離して使用されることも意図していない。本主題は、本特許の明細書全体の適切な部分、図面、および各請求項のいずれかまたは全てを参照することによって理解されるべきである。
【0029】
前述は、他の特徴および実施例とともに、以下の明細書、請求項、および付随する図面でより詳細に説明されるであろう。
本発明は、例えば、以下を提供する。
(項目1)
方法であって、
コンテンツ捕捉デバイスによって捕捉される画像を受信することであって、前記画像は、複数のピクセルを含む、ことと、
前記画像の標的輝度値を識別することと、
前記画像内のオブジェクトを識別することと、
前記画像の複数のピクセルを複数のピクセル群に分割することと、
前記複数のピクセル群毎にピクセル群輝度値を計算することと、
前記オブジェクトと関連付けられないピクセル群の第1のセットを定義することと、
前記ピクセル群の第1のセットの中のピクセル群毎に加重を設定することと、
前記オブジェクトと関連付けられるピクセル群の第2のセットを定義することと、
前記ピクセル群の第2のセットの中の前記ピクセル群毎に加重を設定することと、
前記複数のピクセル群毎に、前記加重および前記ピクセル群輝度値を使用して、画像輝度値を計算することと、
前記画像輝度値と前記標的輝度値との間の差を算出することと、
前記算出された差に基づいて、前記コンテンツ捕捉デバイスの設定を更新することと
を含む、方法。
(項目2)
前記ピクセル群の第2のセットの中の前記ピクセル群の加重は、前記ピクセル群の第2のセットと前記オブジェクトとの間の関連性に基づく、項目1に記載の方法。
(項目3)
前記設定は、利得または露出に関連する、項目1に記載の方法。
(項目4)
前記画像内の第2のオブジェクトを識別することと、
前記第2のオブジェクトと関連付けられるピクセル群の第3のセットを定義することと、
前記ピクセル群の第3のセットの中の前記ピクセル群毎に加重を設定することと
をさらに含む、項目1に記載の方法。
(項目5)
前記標的輝度値は、前記コンテンツ捕捉デバイスの露出設定または利得設定のうちの少なくとも1つに基づいて決定される、項目1に記載の方法。
(項目6)
第1のピクセル群の中のピクセルの数は、第2のピクセル群の中のピクセルの数に等しい、項目1に記載の方法。
(項目7)
第1のピクセル群は、第2のピクセル群と異なる、項目1に記載の方法。
(項目8)
前記オブジェクトと関連付けられる付加的情報を識別することをさらに含む、項目1に記載の方法。
(項目9)
前記付加的情報は、前記オブジェクトと関連付けられるカテゴリ、前記オブジェクトのサイズ、前記コンテンツ捕捉デバイスからの前記オブジェクトの距離、または前記オブジェクトが位置付けられる前記コンテンツ捕捉デバイスの焦点レチクルからの距離であり、前記ピクセル群の第1のセットの中の前記ピクセル群毎の加重は、前記付加的情報に基づく、項目8に記載の方法。
(項目10)
前記ピクセル群の第1のセットの中の前記ピクセル群毎の加重は、少なくとも部分的に前記付加的情報に基づく、項目8に記載の方法。
(項目11)
ユーザが見ている方向を識別することと、
前記ユーザが見ている方向に対応する前記画像上の場所を決定することと、
前記オブジェクトが位置付けられる前記場所からの距離を決定することであって、前記ピクセル群の第1のセットの中の前記ピクセル群毎の加重は、前記距離に基づく、ことと
をさらに含む、項目1に記載の方法。
(項目12)
前記画像は、ユーザに提示されない、項目1に記載の方法。
(項目13)
方法であって、
コンテンツ捕捉デバイスによって捕捉される画像を受信することであって、前記画像は、複数のピクセルを含む、ことと、
前記画像の標的輝度値を識別することと、
前記画像内のオブジェクトを識別することと、
前記オブジェクトの1つ以上の属性を識別することと、
ニューラルネットワークを使用して、前記オブジェクトのための加重を計算することであって、前記ニューラルネットワークは、前記1つ以上の属性を入力として使用する、ことと、
前記画像の複数のピクセルを複数のピクセル群に分割することと、
前記オブジェクトと関連付けられないピクセル群の第1のセットを定義することと、
前記オブジェクトと関連付けられるピクセル群の第2のセットを定義することと、
前記ピクセル群の第2のセットのうちのピクセル群毎に、
ピクセル群輝度値を計算することと、
前記ピクセル群輝度値を前記加重で乗算し、加重されたピクセル群輝度値を提供することと、
前記画像の総輝度値を計算することであって、前記総輝度値は、前記加重されたピクセル群輝度値の総和を含む、ことと、
前記総輝度値と前記標的輝度値との間の差を算出することと、
前記算出された差に基づいて、前記コンテンツ捕捉デバイスの設定を更新することと
を含む、方法。
(項目14)
前記画像内の第2のオブジェクトを識別することと、
前記第2のオブジェクトの1つ以上の属性を識別することと、
前記第2のオブジェクトと関連付けられるピクセル群の第3のセットを定義することと、
第2のニューラルネットワークを使用して、前記第2のオブジェクトのための加重を計算することであって、前記第2のニューラルネットワークは、前記第2のオブジェクトの1つ以上の属性を入力として使用する、ことと、
前記ピクセル群の第3のセットのうちのピクセル群毎に、
第2のピクセル群輝度値を計算することと、
前記第2のピクセル群輝度値を前記第2のオブジェクトのための加重で乗算し、加重された第2のピクセル群輝度値を提供することであって、前記総輝度値はさらに、前記加重された第2のピクセル群輝度値の総和を含む、ことと
をさらに含む、項目13に記載の方法。
(項目15)
前記ニューラルネットワークは、多層パーセプトロンである、項目13に記載の方法。
(項目16)
前記オブジェクトの1つ以上の属性のうちの属性は、オブジェクト優先度、見る者からのオブジェクト距離、レチクルからのオブジェクト距離、視線からのオブジェクト距離、またはオブジェクトサイズを含む、項目13に記載の方法。
(項目17)
前記標的輝度値は、視野に基づく、項目13に記載の方法。
(項目18)
前記コンテンツ捕捉デバイスの設定は、露出または利得と関連付けられる、項目13に記載の方法。
(項目19)
前記複数のピクセル群のうちの各ピクセル群は、同一のサイズである、項目13に記載の方法。
(項目20)
方法であって、
コンテンツ捕捉デバイスによって捕捉される第1の画像を受信することと、
前記第1の画像内の事前決定された数の優先オブジェクトを識別することであって、前記事前決定された数は、2以上である、ことと、
前記事前決定された数の優先オブジェクト毎に、前記コンテンツ捕捉デバイスの1つ以上の設定のための1つ以上の更新を決定することと、
反復して、
前記1つ以上の更新のそれぞれを使用して、前記コンテンツ捕捉デバイスを更新することと、
前記1つ以上の更新のそれぞれを使用して、前記コンテンツ捕捉デバイスによって捕捉される前記事前決定された数の画像を受信することと、
前記事前決定された数の画像をともにスティッチングし、複合画像を形成することと
を含む、方法。
(項目21)
前記複合画像を表示することをさらに含む、項目20に記載の方法。
(項目22)
前記第1の画像は、事前決定された数の部分を含み、前記事前決定された数の部分はそれぞれ、前記事前決定された数の優先オブジェクトのうちの1つと関連付けられる、項目20に記載の方法。
(項目23)
前記事前決定された数の画像をともにスティッチングすることは、前記事前決定された数の部分を組み合わせることを含む、項目22に記載の方法。
(項目24)
前記1つ以上の設定のうちの設定は、露出または利得と関連付けられる、項目20に記載の方法。
(項目25)
前記1つ以上の更新のうちの1つ以上のものは、ニューラルネットワークを使用して決定される、項目20に記載の方法。
(項目26)
前記1つ以上の更新のうちの1つは、前記1つ以上の更新のうちの別ものと異なる、項目20に記載の方法。
(項目27)
前記第1の画像および事前決定された数の画像は、同一の視野内にある、項目20に記載の方法。
(項目28)
方法であって、
コンテンツ捕捉デバイスによって捕捉される画像を受信することであって、前記画像は、複数のピクセルを含む、ことと、
前記画像の標的輝度値を識別することと、
前記画像の複数のピクセルを複数のピクセル群に分割することと、
前記複数のピクセル群毎にピクセル群輝度値を計算することと、
前記画像内の場所を識別することであって、前記場所は、前記画像に対応する環境内でユーザが見ている点に対応する、ことと、
前記識別された場所に基づいて、前記複数のピクセル群毎に加重を設定することと、
前記複数のピクセル群毎に、前記加重および前記ピクセル群輝度値を使用して、画像輝度値を計算することと、
前記画像輝度値と前記標的輝度値との間の差を算出することと、
前記算出された差に基づいて、前記コンテンツ捕捉デバイスの設定を更新することと
を含む、方法。
(項目29)
前記場所は、前記ユーザの1つ以上の眼の画像に基づいて識別される、項目28に記載の方法。
(項目30)
前記場所は、前記ユーザの視線の方向に基づいて識別される、項目28に記載の方法。
(項目31)
前記場所は、前記画像内で識別されるオブジェクトの場所に基づいて識別される、項目28に記載の方法。
(項目32)
前記画像の複数のピクセルを複数のパッチに分割することをさらに含み、パッチは、1つ以上のピクセル群を含み、加重を設定することはさらに、前記場所を含むパッチからの距離に基づく、項目28に記載の方法。
(項目33)
加重を設定することはさらに、前記場所からの距離に基づく、項目28に記載の方法。
(項目34)
前記設定は、利得または露出に関連する、項目28に記載の方法。
(項目35)
方法であって、
コンテンツ捕捉デバイスによって捕捉される画像を受信することであって、前記画像は、複数のピクセルを含む、ことと、
前記画像の標的輝度値を識別することと、
前記画像の複数のピクセルを複数のピクセル群に分割することと、
前記複数のピクセル群毎にピクセル群輝度値を計算することと、
前記画像に対応する深度マップを受信することと、
前記深度マップに基づいて、前記複数のピクセル群毎に加重を設定することと、
前記複数のピクセル群毎に、前記加重および前記ピクセル群輝度値を使用して、画像輝度値を計算することと、
前記画像輝度値と前記標的輝度値との間の差を算出することと、
前記算出された差に基づいて、前記コンテンツ捕捉デバイスの設定を更新することと
を含む、方法。
(項目36)
前記深度マップは、1つ以上の点に関して空間内の点からの距離を示し、前記1つ以上の点はそれぞれ、前記画像の1つ以上のピクセルに対応する、項目35に記載の方法。
(項目37)
画像捕捉と同時に前記深度マップを捕捉することをさらに含む、項目35に記載の方法。
(項目38)
前記画像が捕捉される前に前記深度マップを捕捉することをさらに含み、前記深度マップは、複数の画像のための加重を設定するために使用される、項目35に記載の方法。
(項目39)
加重を設定することはさらに、前記画像からのオブジェクトの場所を示すデータに基づく、項目35に記載の方法。
(項目40)
前記オブジェクトの場所を示すデータは、
前記画像のピクセルを分析し、前記オブジェクトの記憶された画像の1つ以上のピクセルに合致する前記画像の1つ以上のピクセルを識別すること
によって決定される、項目39に記載の方法。
(項目41)
前記設定は、利得または露出に関連する、項目35に記載の方法。
(項目42)
方法であって、
コンテンツ捕捉デバイスによって捕捉される画像を受信することであって、前記画像は、複数のピクセルを含む、ことと、
前記画像の標的輝度値を識別することと、
前記画像の複数のピクセルを複数のピクセル群に分割することと、
前記画像内の複数のパッチを識別することであって、前記複数のパッチは、第1のパッチと、第2のパッチとを含み、前記第1のパッチは、1つ以上のピクセル群を含み、前記第2のパッチは、前記第1のパッチの1つ以上のピクセル群と異なる1つ以上のピクセル群を含む、ことと、
第1のモデルを使用して、前記第1のパッチのための1つ以上の加重を計算することと、
第2のモデルを使用して、前記第2のパッチのための1つ以上の加重を計算することと、
ピクセル群毎に、
ピクセル群輝度値を計算することと、
前記ピクセル群輝度値を前記加重で乗算し、加重されたピクセル群輝度値を提供することと、
前記画像の総輝度値を計算することであって、前記総輝度値は、前記加重されたピクセル群輝度値の総和を含む、ことと、
前記総輝度値と前記標的輝度値との間の差を算出することと、
前記算出された差に基づいて、前記コンテンツ捕捉デバイスの設定を更新することと
を含む、方法。
(項目43)
前記第1のモデルは、前記第1のパッチの中に含まれるピクセルに関して決定される1つ以上の属性に基づき、前記第2のモデルは、前記第2のパッチの中に含まれるピクセルに関して決定される1つ以上の属性に基づき、前記第1のモデルと関連付けられる1つ以上の属性は、前記第2のモデルと関連付けられる1つ以上の属性と異なる、項目42に記載の方法。
(項目44)
前記第1のモデルは、前記第1のパッチの中に含まれるピクセルに関して決定される1つ以上の属性に基づくニューラルネットワークである、項目42に記載の方法。
(項目45)
前記第1のパッチのための1つ以上の加重は、前記第2のパッチのための1つ以上の加重と同時に計算される、項目42に記載の方法。
(項目46)
前記第1のパッチは、前記第2のパッチと異なるサイズである、項目42に記載の方法。
(項目47)
前記複数のパッチは、前記複数のピクセルに基づいて識別される、項目42に記載の方法。
(項目48)
前記複数のパッチは、前記画像内で識別される1つ以上のオブジェクトに基づいて識別され、前記第1のパッチは、第1のオブジェクトと関連付けられるピクセルを含む、項目42に記載の方法。
(項目49)
前記設定は、利得または露出に関連する、項目42に記載の方法。
【図面の簡単な説明】
【0030】
例証的実施形態が、以下の図を参照して下記で詳細に説明される。
【0031】
【
図1A】
図1Aは、自動露出制御を使用して、コンテンツ捕捉デバイスの1つ以上の設定を更新するためのプロセスの実施例を図示する。
【0032】
【
図1B】
図1Bは、コンテンツ捕捉デバイスの1つ以上の設定を更新する方法を決定するためのプロセスの実施例を図示する。
【0033】
【
図2】
図2は、輝度値を加重するための種々の測光技法の実施例を図示する。
【0034】
【
図3】
図3は、オブジェクトのための優先度加重アレイの実施例を図示する。
【0035】
【
図4】
図4は、複数のオブジェクトのための優先度加重アレイの実施例を図示する。
【0036】
【
図5】
図5は、焦点レチクル加重アレイの実施例を図示する。
【0037】
【
図6】
図6は、視線加重アレイの実施例を図示する。
【0038】
【
図7】
図7は、正規化された総加重アレイの実施例を図示する。
【0039】
【
図8】
図8は、第1の加重モデルを使用する、自動露出制御のためのプロセスの実施形態を図示する、フローチャートである。
【0040】
【
図9】
図9は、自動露出制御に使用され得る第2の加重モデルの第1の部分の実施例を図示する。
【0041】
【
図10】
図10は、自動露出制御に使用され得る第2の加重モデルの第2の部分の実施例を図示する。
【0042】
【
図11】
図11は、第2の加重モデルを使用する、自動露出制御のためのプロセスの実施形態を図示する、フローチャートである。
【0043】
【
図12A】
図12Aは、自動露出制御の複数のインスタンスを使用し得る、画像スティッチングプロセスの実施例を図示する。
【0044】
【
図12B】
図12Bは、自動露出制御の複数のインスタンスを使用し得る、画像スティッチングプロセスの別の実施例を図示する。
【0045】
【
図12C】
図12Cは、自動露出制御の複数のインスタンスを使用するためのプロセスの実施形態を図示するフローチャートである。
【0046】
【
図13】
図13は、画像スティッチングプロセスと併用され得る画像ストリームの実施例を図示する。
【0047】
【
図14】
図14は、画像スティッチングプロセスを使用する、自動露出制御のためのプロセスの実施形態を図示するフローチャートである。
【0048】
【
図15】
図15は、コンピュータシステムのブロック図の実施例を図示する。
【0049】
【
図16】
図16は、ユーザの視線に基づいて識別される場所を使用する、自動露出制御のためのプロセスの実施形態を図示するフローチャートである。
【0050】
【
図17】
図17は、深度マップを使用する、自動露出制御のためのプロセスの実施形態を図示するフローチャートである。
【0051】
【
図18】
図18は、複数のモデルを使用する、自動露出制御のためのプロセスの実施形態を図示するフローチャートである。
【発明を実施するための形態】
【0052】
以下の説明では、解説の目的のために、具体的詳細が、本開示の実施形態の徹底的な理解を提供するために記載される。しかしながら、種々の実施形態は、これらの具体的詳細を伴わずに実践され得ることが明白であろう。図および説明は、制限的であることを意図していない。
【0053】
続く説明は、例示的実施形態のみを提供し、本開示の範囲、適用可能性、または構成を限定することを意図していない。むしろ、例示的実施形態の続く説明は、例示的実施形態を実装することを可能にする説明を当業者に提供するであろう。例えば、説明は、ピクセル情報、画像、および/または表示を説明し得るが、視覚コンテンツの代わりに、またはそれに加えて、オーディオが、拡張現実デバイスによって生成され、ユーザに提示され得ることを認識されたい。また、添付の請求項に記載されるような本開示の精神および範囲から逸脱することなく、種々の変更が要素の機能および配列に行われ得ることも理解されたい。
【0054】
本開示は、概して、コンテンツ捕捉デバイスのための露出設定を決定することに関する。露出設定は、コンテンツ(例えば、画像またはビデオ)が捕捉されるときにコンテンツ捕捉デバイスのセンサが受光する光の量に関し得る。露出設定の実施例は、シャッタ速度、開口設定、または国際標準化機構(ISO)速度を含む。
【0055】
露出を設定するための従来的な解決策は、ユーザによって対処されている。例えば、ユーザは、自分の好みに合わせて露出設定を調節するであろう。しかしながら、これは、信頼できないことが証明され、多くの場合、準最適結果を生じている。
【0056】
現在、自動露出制御(AEC)が、カメラ上の標準特徴である。AECは、ユーザ入力を伴わずに画像のための露出設定を自動的に決定する。AECを使用して、カメラは、カメラのための露出設定を決定してもよい。いくつかの実施例では、AECは、視野のための自動焦点制御(AF)および/または自動ホワイトバランス制御(AWB)と併せて起動されてもよい。そのような実施例では、AECは、最初に、視野のための露出の量の推定値を算出するために使用されてもよい。推定値が算出された後、AFは、視野のための焦点の量を決定するように実行されてもよい。いくつかの実施例では、焦点の量が決定された後、AECは、視野のための露出設定を微調整するように実行され続けてもよい。いくつかの実施例では、AWBは、AECと少なくとも部分的に並行して実行されてもよい。そのような実施例では、AWBは、AFの前または後に終了してもよい。いくつかの実施例では、AWBは、AFが終了した後に実行され始めてもよい。視野が上記に説明されるが、画像内で捕捉される場面は、視野を構成し得ることを認識されたい。
【0057】
以下ではさらに、コンテンツ捕捉デバイスのための1つ以上の設定(例えば、露出設定および/または利得設定)を決定するための技法が説明される。いくつかの実施例では、1つ以上の設定を決定するために、コンテンツ捕捉デバイスからの画像のピクセルの輝度値が、識別されてもよい。画像内のオブジェクトおよびオブジェクトと関連付けられる情報もまた、識別されてもよい。オブジェクトと関連付けられる情報は、カテゴリに分割されてもよい。そして、オブジェクトおよび情報を使用して、情報のカテゴリ毎の別個の加重アレイが、算出されてもよい。別個の加重アレイは、総加重アレイを作成し、輝度値を増補するように組み合わせられてもよい。増補された輝度値は、画像の加重された輝度平均を算出するように集計されてもよい。加重された輝度平均および標的の差に基づいて、1つ以上の設定は、調節されてもよい。
【0058】
他の実施例では、情報のカテゴリ毎に別個の加重アレイを算出するのではなく、各オブジェクトと関連付けられる情報が、別個の学習ベースのモデルで使用されてもよい。各学習ベースのモデルの出力を組み合わせて、総加重アレイが、画像の輝度値を増補するように作成されてもよい。増補された輝度値は、画像の加重された輝度平均を算出するように集計されてもよい。加重された輝度平均および標的の差に基づいて、1つ以上の設定は、調節されてもよい。
【0059】
他の実施例では、本明細書に説明されるような加重モデルが、場面の画像内のオブジェクトに使用されてもよい。同一の加重モデルは、次いで、画像スティッチャが画像および他の画像をともに組み合わせ、最適化された画像を作成し得るように、場面の他の画像内の他のオブジェクトに使用されてもよい。
【0060】
図1Aは、自動露出制御(AEC)を使用して、コンテンツ捕捉デバイスの1つ以上の設定を更新するためのプロセス100の実施例を図示する。いくつかの実施例では、1つ以上の設定は、露出設定、利得設定、またはそれらの任意の組み合わせを含んでもよい。そのような実施例では、露出設定は、シャッタ速度、ISO速度、またはそれらの任意の組み合わせであってもよい。利得設定は、デジタル利得、アナログ利得、またはそれらの任意の組み合わせであってもよい。
【0061】
プロセス100は、画像を受信するステップ(110)を含んでもよい。いくつかの実施例では、画像は、コンテンツ捕捉デバイスのセンサから受信されてもよい。他の実施例では、画像は、プロセス100に供給されるフィードの中に含まれてもよい。画像は、いくつかのデバイスおよびシステムから受信され得ることを認識されたい。
【0062】
いくつかの実施例では、画像は、画像バッファにおいて受信されてもよい。そのような実施例では、画像は、画像のピクセル毎にピクセル情報を含む、ビットマップ画像であってもよい。いくつかの実施例では、画像バッファは、画像のピクセル高さおよびピクセル幅に等しいサイズであってもよい。例証すると、画像バッファサイズは、640×480であってもよく、但し、640は、画像のピクセルの数における幅に対応し得、480は、画像のピクセルの数における高さに対応し得る。
【0063】
プロセス100はさらに、画像をピクセル群に分割するステップ(120)を含んでもよい。各ピクセル群のサイズおよび形状は、事前に定義されてもよい。いくつかの実施例では、各ピクセル群のサイズおよび形状は、同一である、または変動し得る。例証目的のために、ピクセル群は、長方形として説明されるであろう。しかしながら、ピクセル群は、画像を複数の部分に分割する任意の形状であり得ることを認識されたい。例えば、ピクセル群は、画像の中心から半径方向であり得る。そのような実施例では、各ピクセル群は、異なる範囲の直径を含んでもよい(例えば、第1の半径は、中心から0~1単位であってもよく、第2の半径は、中心から1~2単位であってもよく、第3の半径は、中心から2~3単位であってもよい)。別の実施例に関して、ピクセル群は、各オブジェクトと関連付けられてもよい(例えば、第1のオブジェクトは、第1のピクセル群であってもよく、第2のオブジェクトは、第2のピクセル群であってもよく、画像の残りの部分は、第3のピクセル群であってもよい)。また、ピクセル群は、画像を複数の部分に分割する任意の他の形態であり得ることを認識されたい。いくつかの実施例では、ピクセル群は、2つ以上のピクセル群が重複しているように配列されてもよい。
【0064】
一例証的実施例では、画像は、96個のピクセル群(12個のピクセル群×8個のピクセル群、但し、12は、画像の幅に沿ったピクセル群の数に対応し、8は、画像の高さに沿ったピクセル群の数に対応する)に分割されてもよい。そのような例証では、640×480画像内に12×8個のピクセル群を有することは、各ピクセル群が、約50ピクセルの高さおよび約60ピクセルの幅を有するであろうことを意味するであろう。本例証は、各ピクセル群の幅および高さが異なるであろうことを示すが、ピクセル群の幅は、ピクセル群の高さと同一であり得ることを理解されたい。
【0065】
プロセス100はさらに、画像のピクセル群毎に平均輝度ピクセル群値を算出するステップ(130)を含んでもよい。いくつかの実施例では、平均輝度ピクセル群値は、ピクセル群のピクセル毎に輝度値を累積することによって算出されてもよい。そのような実施例では、輝度値は、画像の明るさ(例えば、画像のアクロマート部分)を表してもよい。いくつかの実施例では、輝度値は、色成分を伴わない画像の表現であってもよい。例えば、YUV色空間では、輝度値は、Yであってもよい。いくつかの実施例では、輝度値は、画像のガンマ圧縮RGB成分の加重和である。そのような実施例では、輝度値は、ガンマ補正輝度と称され得る。いくつかの実施例では、累積は、ピクセル群のピクセル毎に輝度値を合計することによって、ソフトウェアまたはハードウェアによって実施されてもよい。いったんピクセル群の輝度値が累積されると、合計数は、ピクセル群の平均輝度ピクセル群値を算出するように、ピクセル群の中のピクセルの数によって除算されてもよい。本プロセスは、画像内のピクセル群毎に繰り返されてもよい。
【0066】
プロセス100はさらに、AECを実施するステップ(140)を含んでもよい。AECは、画像のピクセル群毎に平均輝度ピクセル群値を入力として受け取ってもよい。いくつかの実施例では、AEC方法は、加重アレイを使用して、加重を上記に説明される平均輝度ピクセル群値に適用してもよい。そのような実施例では、AECはまた、画像の各ピクセル群に適用する加重を識別し得る、加重アレイを入力として受け取ってもよい。
【0067】
いくつかの実施例では、加重アレイは、画像を分割することによって作成されるピクセル群に対応する、ピクセル群を含んでもよい。例えば、画像が25個のピクセル群(5つのピクセル群×5つのピクセル群)に分割される場合、加重アレイは、25個のピクセル群(5つのピクセル群×5つのピクセル群)のための加重を含んでもよい。そのような実施例では、画像内の最も左上のピクセル群は、加重アレイ内の最も左上のピクセル群に対応する等であってもよい。いくつかの実施例では、加重アレイ内のピクセル群毎の値は、測光、オブジェクト優先度、焦点レチクル、視線、正規化された総加重アレイ、学習ベースの方法、同等物、またはそれらの任意の組み合わせを含む、本明細書で議論される、いくつかの技法に基づいてもよい。
【0068】
いくつかの実施例では、加重アレイ(例えば、
図1-7および10に説明される加重アレイ)は、加重された輝度ピクセルを算出するように、平均輝度ピクセル群値と組み合わせられてもよい。例えば、各平均輝度ピクセル群値は、対応する加重によって乗算されてもよい。他の実施例では、加重アレイは、作成されるピクセル群に基づいて、ピクセルの輝度値と組み合わせられてもよい。そのような実施例では、ピクセルに適用する加重が、ピクセルを含むピクセル群に基づいて決定されてもよい。例えば、ピクセルが画像内の左上ピクセル群の中にある場合、加重アレイ内の左上ピクセル群と関連付けられる加重が、ピクセルに適用されてもよい。いくつかの実施例では、ピクセル群と関連付けられる加重は、対応するピクセル群のピクセル毎に加重された輝度値を算出するように、画像の対応するピクセル群内の各ピクセルによって乗算されてもよい。
【0069】
いくつかの実施例では、加重された輝度値は、画像のための加重された輝度平均を作成するようにともに平均化されてもよい。ある実施例では、加重された輝度平均は、
【化1】
として表されてもよく、式中、WLAは、加重された輝度平均であり、Mは、ピクセル群の高さであり、Nは、ピクセル群の幅であり、w[r,c]は、加重アレイ内の場所rおよび場所cであり、luma
avg[r,c]は、場所rおよび場所cにおけるピクセルの平均輝度値である。
【0070】
他の実施例では、加重アレイは、局所色調マッピングに使用されてもよい。例えば、局所色調マッピングシステムは、明るくされるべきである視野の部分を識別するように、加重されたアレイを使用してもよい。本技法は、上記に説明される平均化技法のいくつかの実施例のように視野全体ではなくて、視野の部分を扱ってもよい。いくつかの実施例では、設定(例えば、露出設定および/または利得設定)が、加重アレイに基づいて1つ以上の部分に適用されてもよい。そのような実施例では、加重アレイが、局所色調マッピングのためのガイドとして使用されてもよい。
【0071】
いくつかの実施例では、局所色調マッピングは、所定の閾値を上回るピクセルに実施されてもよく、閾値は、加重アレイの加重に対応する。例えば、閾値を上回る加重を与えられるピクセルは、局所色調マッピングシステムに、ピクセルのための設定(例えば、露出設定および/または利得設定)の調節を決定させてもよい。いくつかの実施例では、ピクセルおよび1つ以上の隣接ピクセルが、閾値と比較するときに使用されてもよい。例えば、ピクセルおよび1つ以上の隣接ピクセルは、ピクセルおよび/または1つ以上の隣接ピクセルに適用する局所色調マッピングのための閾値を上回る必要があろう。いくつかの実施例では、局所色調マッピングは、ソフトウェアおよび/またはハードウェアにおいてサポートされてもよい。
【0072】
いくつかの実施例では、プロセス100はさらに、1つ以上の設定を更新するステップを含んでもよい。上記で説明されるように、1つ以上の設定は、露出設定、利得設定、またはそれらの任意の組み合わせを含んでもよい。そのような実施例では、露出設定は、シャッタ速度、ISO速度、またはそれらの任意の組み合わせであってもよい。いくつかの実施例では、シャッタ速度は、グローバルシャッタまたはロールシャッタであってもよい。グローバルシャッタは、視野の全てのピクセルを露出するための持続時間を示してもよい。ロールシャッタは、視野の列(水平または垂直のいずれか)を露出するための持続時間を示してもよい。ロールシャッタでは、視野のスナップショットではなく、画像の線が、ローリング様式で走査されてもよい。利得設定は、デジタル利得、アナログ利得、またはそれらの任意の組み合わせであってもよい。例えば、利得設定は、2倍のアナログ利得および4倍のデジタル利得を有することによって、8倍であってもよい。いくつかの実施例では、露出設定は、露出を増加させるときに利得設定の前に調節されてもよい。そのような実施例では、利得設定は、露出を減少させるときに利得設定の前に調節されてもよい。
【0073】
図1Bは、コンテンツ捕捉デバイスの1つ以上の設定を更新する方法を決定するためのプロセス160の実施例を図示する。本プロセスは、標的輝度値を輝度値(例えば、加重された輝度平均)と比較するステップ(ステップ170)を含んでもよい。
【0074】
加重された輝度平均が所定の第1の閾値だけ標的輝度平均よりも小さい場合、1つ以上の設定は、画像をより明るくするように調節されてもよい(ステップ172)。例えば、1つ以上の設定の露出設定が最大許容露出設定にない場合、露出設定は、最大許容露出設定まで増加(例えば、漸増的に増加)されてもよい(ステップ174および176)。一例証的実施例では、最大許容露出設定は、毎秒30フレームのフレームレートに関して16.6ミリ秒であってもよい。しかしながら、最大許容露出設定は、毎秒30フレームのフレームレートに関してさえも異なり得ることを認識されたい。最大許容露出設定は、ISO速度およびコンテンツ捕捉デバイスに基づいてもよい。いくつかの実施例では、コンテンツ捕捉デバイスのソフトウェアおよび/またはハードウェアは、最大許容露出設定を決定してもよい(例えば、最大許容露出設定は、センサとホストプロセッサとの間で画像を転送するための時間を差し引いたフレーム周期(1/フレームレート)よりも小さくあり得る)。いくつかの実施例では、最大許容露出設定は、ソフトウェアおよび/またはハードウェアが許容するもの未満であり得る。
【0075】
露出設定が最大許容露出設定にある場合、1つ以上の設定の利得設定は、最大許容利得設定まで増加(例えば、漸増的に増加)されてもよい(ステップ174および178)。一例証的実施例では、最大許容利得設定は、8倍であってもよい。しかしながら、最大許容利得設定は、異なり得ることを認識されたい。最大許容利得設定は、所望される画質(例えば、画像内のノイズは、利得設定が増加すると増加し得る)およびコンテンツ捕捉デバイスのソフトウェアおよび/またはハードウェア(例えば、センサは、ある利得設定までサポートし得る)に基づいてもよい。
【0076】
加重された輝度平均が所定の第2の閾値(第1の閾値と同一または異なり得る)だけ標的輝度平均を上回る場合、1つ以上の設定が、画像をより暗くするように調節されてもよい(ステップ180)。例えば、利得設定が最小許容利得設定(例えば、1倍)にない場合、利得設定は、最小許容利得設定まで減少(例えば、漸増的に減少)されてもよい(ステップ182および184)。いくつかの実施例では、最小許容利得設定は、コンテンツ捕捉デバイスのソフトウェアおよび/またはハードウェア(例えば、コンテンツ捕捉デバイスのセンサ)に基づいて決定されてもよい。
【0077】
利得設定が最小許容利得設定にある場合、露出設定は、最小許容露出設定(例えば、20マイクロ秒)まで減少(例えば、漸増的に減少)されてもよい(ステップ182および186)。最小許容露出は、コンテンツ捕捉デバイスのソフトウェアおよび/またはハードウェア(例えば、コンテンツ捕捉デバイスのセンサ)に基づいて、視野が露出されるべきである時間量に対応してもよい。いずれかの状況のための調節の量は、標的輝度平均からの加重輝度平均の差の量に基づいてもよい。
【0078】
いくつかの実施例では、標的輝度平均が、提供されてもよい。そのような実施例では、標的輝度平均が、提供され、新しい標的輝度平均が提供されるまで使用されてもよい。他の実施例では、複数の標的輝度平均が、異なる状況のために提供されてもよい。例えば、標的輝度平均は、屋外ではより明るくあり得るため、屋内よりも屋外でわずかに高くあり得る。故に、いくつかの実施例では、2つの異なる標的輝度平均、すなわち、屋内に関する1つおよび屋外に関する1つが、提供または決定されてもよい。他の実施例では、標的輝度平均が、決定されてもよい。そのような実施例では、現在の物理的環境が、1つ以上のセンサに基づいて決定されてもよい。例えば、1つ以上のセンサは、現在の物理的環境内の光の量を検出してもよい。いくつかの実施例では、1つ以上の設定の任意の組み合わせが、標的輝度値を決定するために使用されてもよい。
【0079】
図2は、輝度値を加重するための種々の測光技法の実施例を図示する。種々の測光技法に関して、加重スケール210が、特定の加重のための凡例であるように提供されている。加重スケール210の各レベルは、加重アレイの中に含まれるときに、特定の加重に対応する色を含む。例えば、加重スケール210内の上部ボックスは、最も暗い色であり、1の加重を表し、加重スケール210内の底部ボックスは、最も明るい色であり、0の加重を表す。加重スケール210は、上部ボックスから底部ボックスまで線形的に変化するように見えるが、加重スケール210が単一の画像の全体を通して一貫している限りにおいて、加重スケール210は、異なり得ることを理解されたい。いくつかの実施例では、下記に説明される測光技法のうちの2つ以上のものが、単一の加重アレイ内で組み合わせられてもよい。
【0080】
第1の測光技法は、スポット測光であってもよい。いくつかの実施例では、スポット測光は、同一の加重を画像の選択された領域の各ピクセルに与えることを指し得る。そのような実施例では、スポット測光は、選択された領域からより遠く移動する、減少する加重を与えるように実装されてもよい。いくつかの実施例では、選択された領域は、(例えば、視野内でスクリーンタッチの運動を行うことによって)ユーザの運動に基づいて識別されてもよい。そのような実施例では、空中で第1の位置から第2の位置まで移動する指は、領域を選択することに対応し得る。ユーザが触れている実際の画面が存在しないであろうが、運動自体が検出されてもよい。領域が選択され得る別の方法は、大まかに円を作成する方法で指をともに組み合わせることによるものであり得、円の内側の全てが、選択となるであろう。他の実施例では、ユーザによって移動され得る仮想フレームが、出現してもよい。そのような実施例では、移動および/またはサイズ変更され得る円が、ユーザのディスプレイに示されてもよい。
【0081】
スポット測光は、第1の加重を1つ以上の第1のピクセル群に割り当てさせ、第2の加重を1つ以上の第2のピクセル群に割り当てさせてもよい。典型的には、1つ以上の第1のピクセル群は、ユーザ選択に基づいて識別される。例えば、ユーザは、画面上に指を置き、スポットを示してもよい。指の場所は、スポット測光に使用される1つ以上の第1のピクセル群を定義してもよい。スポット測光の結果は、スポット測光加重アレイ220であってもよい。分かり得るように、スポット測光加重アレイ220は、スポット222を含む。スポット222は、ユーザ選択に基づいて識別される場所(例えば、1つ以上の第1のピクセル群)であってもよい。スポット222は、1であると考えられる、第1の加重を含む。スポット測光加重アレイ220の残りの部分(例えば、1つ以上の第2のピクセル群)は、0であると考えられる、第2の加重を含む。異なる加重が使用され得ることを理解されたい。また、1つを上回るスポットが識別され得ることも理解されたい。
【0082】
第2の測光技法は、中心測光であってもよい。いくつかの実施例では、中心測光は、画像の中心におけるピクセル群により大きい加重を与え、減少する加重が画像の縁に向かって移動することを指し得る。
【0083】
中心測光は、加重アレイの点(例えば、中心)からの距離に基づいて、複数の加重をピクセル群に割り当てさせてもよい。中心測光の結果は、中心測光加重アレイ230であってもよい。中心測光加重アレイ230は、中心から離れた特定の距離のための第1の加重を含んでもよい。第1の加重は、最大加重であってもよい。中心測光加重アレイ230では、第1の加重は、中心から垂直に2つのピクセル群および中心から水平に3つのピクセル群の中に含まれる。これは、中心からの距離が水平および垂直に異なり得ることを例証する。また、中心測光はまた、対角線上を含む、他の方向で変動し得ることも理解されたい。
【0084】
中心測光加重アレイ230はまた、それぞれが前の加重から1ピクセル群離れている、第2、第3、第4、および第5の加重を含んでもよい。いくつかの実施例では、各連続レベルの加重が、加重を減少させてもよい。例えば、第5の加重は、第4の加重未満であり得、これは、第3の加重未満であり得、これは、第2の加重であり得、これは、第1の加重未満であり得る。再度、中心測光加重アレイは、実施例にすぎず、各レベルの加重および特定の加重の他の構成も使用され得ることを理解されたい。
【0085】
第3の測光技法は、画像測光であってもよい。画像測光は、単一の加重を加重アレイの全ピクセル群に割り当てさせてもよい。画像測光の結果は、画像測光加重アレイ240であってもよい。画像測光加重アレイ240は、全ピクセル群のための単一の加重を含む。画像測光は、場面全体のための平均露出を生じてもよい。
【0086】
いくつかの実施例では、測光に加えて(またはその代わりに)、画像内の1つ以上のオブジェクトは、画像のための加重アレイに影響を及ぼす優先度を割り当てられてもよい。1つ以上のオブジェクトに基づいて加重アレイのための加重を割り当てることによって、たとえ1つ以上のオブジェクトが、画像および加重アレイに関連して移動していても、1つ以上のオブジェクトは、複数の画像の全体を通して適切に露出されたままであってもよい。1つ以上のオブジェクトは、加重が毎回単一の位置に適用されているわけではなく、むしろ1つ以上のオブジェクトに基づいて変化するため、複数の画像の全体を通して適切に露出されてもよい。
【0087】
図3は、画像内のオブジェクトのための優先度加重アレイ320の実施例を図示する。上記と同様に、加重スケール310が、特定の加重のための凡例であるように提供されている。いくつかの実施例では、画像内のオブジェクトは、オブジェクト認識システムによって識別されてもよい。そのような実施例では、オブジェクト認識システムは、オブジェクトのカテゴリ(例えば、個人、動物、椅子、または同等物)を識別してもよい。他の実施例では、識別は、(オブジェクトのカテゴリに加えて)オブジェクトの1つ以上の付加的詳細を識別してもよい。例えば、個人の身元、動物の識別(例えば、これがゴールデンレトリーバである、またはこれがSpotである)、または同等物が、識別されてもよい。オブジェクト認識システムはまた、オブジェクトを含むピクセル群を決定してもよい。
【0088】
一例証的実施例では、以下に図示されるような表が、加重を識別されたオブジェクトに割り当てるために使用されてもよい。そのような表を使用することにより、オブジェクトが識別されるとき、オブジェクトに関して識別される1つ以上のピクセル群は、表内の優先度加重を割り当てられる。
【表1-1】
【表1-2】
【0089】
いくつかの実施例では、(上記の表に示されるような)アクティブなオブジェクトは、アプリケーションによって能動的に使用中であるオブジェクトを表してもよい。例えば、表面が、複合現実アプリケーションによって使用中であってもよい。そのような実施例では、キャラクタが、表面上で踊っていてもよい。表面が優先であることを確実にするために、表面と関連付けられる加重は、画像の他の面積のための加重を上回り得る。
【0090】
いくつかの実施例では、(上記の表に示されるような)ユーザ選択されたオブジェクトは、上記に説明されるスポット測光と同様に、ユーザによって選択されたオブジェクトを表してもよい。しかしながら、スポット測光と異なり、ユーザ選択されたオブジェクトは、指が被覆するピクセル群だけではなくて、オブジェクトが含まれる全てのピクセル群を含んでもよい。
【0091】
いくつかの実施例では、(上記の表に示されるような)識別された個人は、顔認識システム(または他の識別システム)によって識別された画像内の個人を表してもよい。例えば、顔認識システムは、個人をClark Kentとして認識してもよい。そのような実施例では、Clark Kentは、より高い加重を割り当てられるべきである、識別された人のリストの中に含まれてもよい。加えて、いくつかの実施例では、特定の人は、異なる加重を割り当てられてもよい。いくつかの実施例では、リストの中に含まれない人および/または名前によって識別されない人は、識別された人(上記の表内の「人」によって示されるような)と異なる加重を与えられてもよい。
【0092】
同様に、(上記の表に示されるような)識別されたペットは、顔認識システム(または他の識別システム)によって識別された画像内のペットを表してもよい。例えば、顔認識システムは、ペットをDixieとして認識してもよい。そのような実施例では、Dixieは、より高い加重を割り当てられるべきである、識別されたペットのリストの中に含まれてもよい。加えて、いくつかの実施例では、特定のペットは、異なる加重を割り当てられてもよい。いくつかの実施例では、リストの中に含まれないペットおよび/または名前によって識別されないペットは、識別されたペット(上記の表内の「ペット」によって示されるような)と異なる加重を与えられてもよい。
【0093】
いくつかの実施例では、識別される(上記の表に示されるような)オブジェクトの1つ以上の他のカテゴリ(例えば、ペット、車、花、建物、昆虫、木/灌木、芸術品、家具、または同等物)は、種々の加重を割り当てられてもよい。そのような実施例では、各カテゴリは、オブジェクトを含む全てのピクセル群に適用され得る、加重を割り当てられてもよい。いくつかの実施例では、オブジェクトを含まない任意のピクセル群は、(上記の表内の「その他」によって示されるような)異なる加重を与えられてもよい。そのような実施例では、異なる加重は、ゼロまたはある他のゼロではない数であってもよい。殆どの実施例では、異なる加重は、他の加重のうちの1つ以上のもの未満であり得る。いくつかの実施例では、異なる加重は、識別されたオブジェクトから離れた距離に応じて変動し得る。
【0094】
いくつかの実施例では、表の加重、優先度、およびオブジェクトタイプは、事前に定義されてもよい。いくつかの実施例では、加重、優先度、およびオブジェクトタイプは、ユーザのアクションからの学習に基づいて、経時的に適応してもよい。例えば、ユーザが、主に、特定のオブジェクトを含む画像を補足するとき、そのオブジェクトは、より高い優先度を割り当てられてもよい。別の実施例に関して、加重は、類似場面の画像の数に関連して、ユーザの1つ以上のアクションに基づいて変化してもよい。例えば、削除される画像に基づいて、優先度加重は、ユーザの選好に合わせて更新されてもよい。削除と同様に、他者と共有される画像は、その画像のための1つ以上の設定が最適であったことを示してもよい。
【0095】
図3に戻って参照すると、オブジェクト322を含む画像の面積が、識別されてもよい。オブジェクト322が識別されるものに基づいて、オブジェクト322を含む優先度加重アレイ320の1つ以上のピクセル群は、第1の加重を割り当てられてもよい。いくつかの実施例では、オブジェクト322の中に含まれない優先度加重アレイ320の1つ以上のピクセル群は、第2の加重を割り当てられてもよい。優先度加重アレイ320は、1の加重を有するオブジェクト322、および0の加重を有するオブジェクト322の中に含まれない1つ以上のピクセル群を図示するが、任意の加重が、オブジェクト322およびオブジェクト322の中に含まれない1つ以上のピクセル群に割り当てられ得ることを認識されたい。
【0096】
図4は、複数のオブジェクトのための優先度加重アレイ420の実施例を図示する。上記と同様に、加重スケール410が、特定の加重のための凡例であるように提供されている。いくつかの実施例では、1つ以上のオブジェクトが、画像内で識別されてもよい。そのような実施例では、AECは、画像内で識別される1つ以上のオブジェクトのサブセットを使用して実行することを決定してもよい。例えば、1つを上回るオブジェクトが画像内で識別される場合、AECは、オブジェクトのうちの1つだけを使用して実行することを決定してもよい。いくつかの実施例では、AECは、最高優先度を伴うオブジェクトに基づいて実行することを決定してもよい。他の実施例では、AECは、オブジェクトの全てが識別されるわけではないが、識別されるオブジェクトのうちの1つ以上のものに基づいて実行することを決定してもよい。他の実施例では、AECは、識別される全てのオブジェクトに基づいて実行することを決定してもよい。
【0097】
一例証的実施例では、1つ以上のオブジェクトは、第1のオブジェクト422と、第2のオブジェクト424と、第3のオブジェクト426とを含んでもよい。いくつかの実施例では、各オブジェクトは、加重を割り当てられてもよい。いくつかの実施例では、2つ以上の加重は、類似し得る、および/または2つ以上の加重は、異なり得る。例えば、第1のオブジェクト422は、(上記の表に説明されるような)アクティブなオブジェクトであってもよく、第2のオブジェクト424は、(上記の表に説明されるような)ユーザ選択されたオブジェクトであってもよく、第3のオブジェクト426は、(上記の表に説明されるような)車であってもよい。
【0098】
図5は、焦点レチクル加重アレイ530の実施例を図示する。上記と同様に、加重スケール510が、特定の加重のための凡例であるように提供されている。いくつかの実施例では、焦点レチクル加重アレイ530は、画像520内の焦点レチクル522の場所を識別してもよい。いくつかの実施例では、焦点レチクル522は、手のジェスチャ、(上記で説明されるような)自動焦点制御(AF)、および/または焦点レチクル522のサイズ変更に基づいて、調節されてもよい。いくつかの実施例では、手のジェスチャは、焦点レチクル522を形成する、または描いてもよい。そのような実施例では、オブジェクトが焦点レチクル522の内側にある場合、オブジェクトのピクセル群は、より高い加重を与えられてもよい。オブジェクトが焦点レチクル522の境界上にある場合、オブジェクトのピクセル群は、より小さい加重を与えられてもよい。オブジェクトが焦点レチクル522の外にある場合、オブジェクトのピクセル群は、最低加重を与えられてもよい。いくつかの実施例では、焦点レチクル522は、コンテンツ捕捉デバイス上またはコンテンツ捕捉デバイスから遠隔(例えば、手のジェスチャ、遠隔デバイス、または同等物)のいずれかで、コマンドを使用して、サイズ変更されてもよい。他の実施例では、AFは、画像520の焦点である画像520の面積を示してもよい。そのような実施例では、面積内のオブジェクトは、より高い加重を与えられてもよい。
【0099】
いくつかの実施例では、中心測光加重アレイ230と同様に、焦点レチクル加重アレイ530の加重は、距離が焦点レチクル522の中心から増加すると減少してもよい。例えば、焦点レチクル522の中心は、最高加重を有してもよい。中心の周辺のピクセル群もまた、最高加重を有してもよい。しかし、距離が中心から増加すると、ピクセル群は、加重の量を減少させてもよい。
【0100】
他の実施例では、焦点レチクル加重アレイ530は、少なくとも部分的に焦点レチクル522内にあるオブジェクトを含む、ピクセル群の加重を増加させるために、オブジェクト識別システムと併用されてもよい。例えば、オブジェクトが重複している、または完全に焦点レチクル522に含有される場合、オブジェクトを含むピクセル群の加重は、増加されてもよい。オブジェクトが完全に焦点レチクル522の外側にある場合、オブジェクトを含むピクセル群の加重は、減少されてもよい。
【0101】
図6は、視線加重アレイ690の実施例を図示する。上記と同様に、加重スケール610が、特定の加重のための凡例であるように提供されている。視線加重アレイ690を実装するために、システムは、1つ以上の眼捕捉デバイスを含んでもよい。眼捕捉デバイスは、ユーザの1つ以上の眼(例えば、眼660)の1つ以上の画像および/または1つ以上のビデオを捕捉するために使用されてもよい。画像および/またはビデオは、眼660の視線670を決定するように、さらに処理されてもよい。いくつかの実施例では、視線670は、眼660が見ている方向または眼660が見ている場所を示してもよい。
【0102】
いくつかの実施例では、視線670はまた、ユーザの眼660に基づいて、眼660が見ている深度を示してもよい。いくつかの実施例では、左眼および右眼を見ることによって、システムは、視線670が特定の深度において特定のオブジェクトを見ていることを決定してもよい。いくつかの実施例では、中心測光加重アレイ230と同様に、視線加重アレイ690の加重は、距離が、視線670が見ている場所から増加すると、減少してもよい。例えば、視線670が見ている場所の中心は、最高加重を有してもよい。中心の周囲のピクセル群もまた、最高加重を有してもよい。しかし、距離が中心から増加すると、ピクセル群は、加重の量を減少させてもよい。
【0103】
視線加重アレイ690を例証すると、視線670は、第2のオブジェクト632を含み得る、ピクセル群の第2のセット630を指し示していてもよい。第2のオブジェクト632を含むピクセル群は、最高加重を割り当てられてもよい。次いで、加重が、第2のオブジェクト632から離れた距離に基づいて、および/または識別される他のオブジェクトに基づいて、割り当てられてもよい。
【0104】
例えば、ピクセル群の第1のセット620の中の第1のオブジェクト622およびピクセル群の第3のセット640の中の第3のオブジェクト642が、識別されてもよい。そのような実施例では、ピクセル群の第1のセット620は、第2のオブジェクト632からの距離および第1のオブジェクト622の識別に対応する加重を割り当てられてもよい。第1のオブジェクト622が高い優先度を伴うオブジェクトである場合、ピクセル群の第1のセットの加重は、増加されてもよい。一方で、第1のオブジェクト622が低い優先度を伴うオブジェクトである場合、ピクセル群の第1のセットの加重は、減少されてもよい。類似動作が、ピクセル群の第3のセット640および第3のオブジェクト642に関して実施されてもよい。いくつかの実施例では、いかなるオブジェクトも、ピクセル群のセット(例えば、ピクセル群650の第4のセット)の中で識別されなくてもよい。オブジェクトが識別されないとき、ピクセル群のセットは、デフォルト値、またはオブジェクトのうちの1つ以上のもの(例えば、第2のオブジェクト632)からの距離または視線670の場所に基づく値を割り当てられてもよい。
【0105】
図16は、ユーザの視線に基づいて識別される場所を使用する、自動露出制御のためのプロセス1600の実施形態を図示するフローチャートである。いくつかの側面では、プロセス1600は、コンピューティングデバイス(例えば、カメラ等のコンテンツ捕捉デバイス)によって実施されてもよい。
【0106】
プロセス1600は、論理フロー図として図示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組み合わせで実装され得る、一連の動作を表す。コンピュータ命令との関連で、動作は、1つ以上のプロセッサによって実行されると、記載される動作を実施する、1つ以上のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を果たす、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および同等物を含む。動作が説明される順序は、限定として解釈されることを意図しておらず、任意の数の説明される動作が、プロセスを実装するように、任意の順序で、および/または並行して組み合わせられてもよい。
【0107】
加えて、プロセス1600は、実行可能命令を伴って構成される1つ以上のコンピュータシステムの制御下で実施されてもよく、1つ以上のプロセッサ上で、ハードウェアによって、またはそれらの組み合わせで集合的に実行するコード(例えば、実行可能命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装されてもよい。上記のように、コードは、機械可読記憶媒体上に、例えば、1つ以上のプロセッサによって実行可能な複数の命令を備える、コンピュータプログラムの形態で、記憶されてもよい。機械可読記憶媒体は、非一過性であり得る。
【0108】
プロセス1600は、コンテンツ捕捉デバイスによって捕捉される画像を受信するステップ(1610)を含んでもよい。いくつかの実施例では、画像は、複数のピクセルを含んでもよい。いくつかの実施例では、画像は、カメラまたは他のコンテンツ捕捉デバイスから受信されてもよい。他の実施例では、画像は、画像のフィード(またはストリーム)から受信されてもよい。そのような実施例では、フィードは、現在または過去の画像であってもよい。
図6は、パッチの第1のセット620と、パッチの第2のセット630と、パッチの第3のセット640と、パッチの第4のセット650とを含むものとして画像を図示する。画像は、
図6に図示されるよりも多いまたは少ないパッチのセットを含み得ることを認識されたい。
【0109】
プロセス1600はさらに、画像の標的輝度値を識別するステップ(1620)を含んでもよい。いくつかの実施例では、標的輝度値は、画像の最適な量の輝度を示してもよい。そのような実施例では、画像の各ピクセルは、輝度値と関連付けられてもよい。いくつかの実施例では、標的輝度値は、画像の輝度値の平均に対応してもよい。他の実施例では、標的輝度値は、画像の輝度値の加重された平均に対応してもよい。他の実施例では、標的輝度値は、加重アレイを輝度値で乗算する結果として得られるであろう数に対応してもよい。
【0110】
いくつかの実施例では、標的輝度値は、事前に定義されてもよい。他の実施例では、標的輝度値は、1つ以上のセンサに基づいて決定されてもよい。一例証的実施例に関して、センサが、環境内の光の量を検出してもよい。光の量に基づいて、標的輝度値が、設定されてもよい。そのような実施例では、標的輝度値の閾値が存在し得る。例えば、光の量がある量を上回る場合、標的輝度値は、ある量であってもよい。
【0111】
プロセス1600はさらに、画像の複数のピクセルを複数のピクセル群に分割するステップ(1630)を含んでもよい。いくつかの実施例では、ピクセル群は、ピクセルの近接する(または隣接する/隣り合う)群を表してもよい。そのような実施例では、ピクセル群の形状は、変動し得る。例えば、各ピクセル群は、画像が行および列に分割されるように、長方形または正方形であり得る。他の実施例では、各ピクセル群は、画像の中心からのある数のピクセルを含んでもよい。いくつかの実施例では、異なるピクセル群は、(例えば、ピクセル群がオブジェクトを含むように作成される場合)異なる形状であってもよい。いくつかの実施例では、ピクセル群は、異なるサイズであってもよい。いくつかの実施例では、ピクセル群は、2つ以上のピクセル群が重複しているように配列されてもよい。
【0112】
プロセス1640はさらに、複数のピクセル群毎にピクセル群輝度値を計算するステップ(1640)を含んでもよい。いくつかの実施例では、ピクセル群のピクセル群輝度値は、ピクセル群のピクセル毎に輝度値の平均を含んでもよい。他の実施例では、ピクセル群輝度値は、ピクセル群のピクセル毎に輝度値の総和であってもよい。他の実施例では、ピクセル群輝度値は、画像に関して各ピクセルの輝度値と平均輝度値との間の差であってもよい。例えば、平均輝度値は、全ピクセルを考慮して、画像に関して算出されてもよい。平均輝度値は、次いで、平均輝度値からの差がピクセル群に関して生成されるように、ピクセル毎の差を算出するために使用されてもよい。ピクセル群の輝度値の他の概要値も使用され得ることを認識されたい。
【0113】
プロセス1600はさらに、画像内の場所を識別するステップ(1650)を含んでもよい。場所は、画像に対応する環境(すなわち、ユーザが位置付けられる物理的面積)内でユーザが見ている点に対応してもよい。例えば、画像は、ユーザが見ている一般的方向に対応してもよい。場所は、ユーザが実際に見ていることが決定される画像内の位置であってもよい。
【0114】
いくつかの実施例では、場所は、ユーザの1つ以上の眼の眼画像に基づいて識別されてもよい。眼画像は、上記に説明される画像とは別個であり得る。そのような実施例では、眼画像は、ユーザが見ている場所を識別するように分析されてもよい。例えば、眼画像の1つ以上のピクセルの各セットは、画像の1つ以上のピクセルの異なるセットに対応すると決定されてもよい。そのような実施例では、眼画像内の1つ以上の眼が、眼画像の1つ以上のピクセルの特定のセットを見ていると決定される場合、画像内の場所は、眼画像の1つ以上のピクセルの特定のセットに対応する画像の1つ以上のピクセルのセットとして識別されてもよい。1つを上回る眼画像が使用され得ることを認識されたい。例えば、第1の眼の眼画像および第2の眼の眼画像が、使用されてもよい。いくつかの実施例では、場所は、画像内で識別されるオブジェクトの場所に対応してもよい。また、ユーザの1つ以上の眼の眼画像に基づいて、ユーザが見ている場所を識別するための他の方法も使用され得ることも認識されたい。
【0115】
他の実施例では、場所は、ユーザの視線の方向に基づいて、識別されてもよい。そのような実施例では、ユーザの1つ以上の眼の眼画像を使用する代わりに、ユーザによって装着されるデバイスの配向が、使用されてもよい。一例証的実施例では、配向は、ピッチ、ヨー、およびロールのセットから1つ以上のものを含んでもよい。そのような実施例では、デバイスの配向を測定するセンサ(例えば、ジャイロスコープ)が、デバイスとともに含まれてもよい。デバイスの配向に基づいて、ユーザが見ている場所を識別するための他の方法も使用され得ることを認識されたい。
【0116】
プロセス1600はさらに、識別された場所に基づいて、複数のピクセル群毎に加重を設定するステップ(1660)を含んでもよい。例えば、識別された場所により近い場所に対応するピクセル群は、識別された場所からより遠い場所に対応するピクセル群よりも高い加重として設定されてもよい。加重は、他の方法に従って設定され得ることを認識されたい。
図6は、眼加重アレイ690内のピクセル群に関して設定される加重を図示する。
【0117】
いくつかの実施例では、プロセス1600はさらに、画像の複数のピクセルを複数のパッチに分割するステップを含んでもよく、パッチは、1つ以上のピクセル群を含む。そのような実施例では、加重を設定するステップはさらに、場所を含むパッチからの距離に基づいてもよい。
図6は、画像の複数のピクセルを複数のパッチに分割するステップを図示する。例えば、第1のパッチは、パッチの第1のセット620であってもよく、第2のパッチは、パッチの第2のセット630であってもよく、第3のパッチは、パッチの第3のセット640であってもよく、第4のパッチは、パッチの第4のセット650であってもよい。画像は、
図6に図示されるよりも多いまたは少ないパッチのセットに分割され得ることを認識されたい。
【0118】
プロセス1600はさらに、複数のピクセル群毎に、加重およびピクセル群輝度値を使用して、画像輝度値を計算するステップ(1670)を含んでもよい。いくつかの実施例では、画像輝度値を計算するステップは、加重されたピクセル群輝度値のそれぞれを合計するステップを含んでもよく、加重されたピクセル群輝度値は、ピクセル群と関連付けられる加重を、ピクセル群と関連付けられる輝度値で乗算することによって算出されてもよい。
【0119】
プロセス1600はさらに、画像輝度値と標的輝度値との間の差を算出するステップ(1680)と、算出された差に基づいて、コンテンツ捕捉デバイスの設定を更新するステップ(1690)とを含んでもよい。いくつかの実施例では、設定は、利得設定または露出設定であり得る。そのような実施例では、露出設定は、シャッタ速度、ISO速度、またはそれらの任意の組み合わせであってもよい。いくつかの実施例では、シャッタ速度は、グローバルシャッタまたはロールシャッタであってもよい。グローバルシャッタは、視野の全てのピクセルを露出するための持続時間を示してもよい。ロールシャッタは、視野の列(水平または垂直のいずれか)を露出するための持続時間を示してもよい。ロールシャッタでは、視野のスナップショットではなく、画像の線が、ローリング様式で走査されてもよい。利得設定は、デジタル利得、アナログ利得、またはそれらの任意の組み合わせであってもよい。例えば、利得設定は、2倍のアナログ利得および4倍のデジタル利得を有することによって、8倍であってもよい。いくつかの実施例では、露出設定は、露出を増加させるときに利得設定の前に調節されてもよい。そのような実施例では、利得設定は、露出を減少させるときに利得設定の前に調節されてもよい。いくつかの実施例では、調節の差は、差に比例し得る。例えば、調節は、画像輝度値と標的輝度値との間の差がより大きい場合に、より大きくあり得る。
【0120】
図7は、画像720に関して正規化された総加重アレイ730の実施例を図示する。上記と同様に、加重スケール710が、特定の加重のための凡例であるように提供されている。いくつかの実施例では、正規化された総加重アレイ730は、2つ以上の加重アレイの組み合わせであってもよい。そのような実施例では、2つ以上の加重アレイは、上記に説明される方法(例えば、測光、視線、焦点レチクル、および同等物)を含む、任意の方法に基づいて生成されてもよい。
【0121】
いくつかの実施例では、正規化された総加重アレイ730は、画像720に基づいてもよい。そのような実施例では、1つ以上のオブジェクト(例えば、女性722、子供724、猫726、おもちゃの家728、およびおもちゃのトラック729)が、画像720内で識別されてもよい。1つ以上のオブジェクトを識別するステップに基づいて、1つ以上の加重アレイが、生成されてもよい。
【0122】
例えば、オブジェクト優先度加重アレイ740(優先度加重アレイ420に類似する)が、生成されてもよい。オブジェクト優先度加重アレイ740は、加重を、1つ以上のオブジェクトを含むピクセル群に割り当ててもよい。いくつかの実施例では、加重は、
図3で上記に説明されるような表に基づいてもよい。例えば、人は、動物よりも高い加重と関連付けられてもよい。故に、女性722および子供724を含むピクセル群は、猫726を含むピクセル群よりも高い加重を与えられてもよい。加えて、おもちゃは、動物よりも低い加重と関連付けられてもよく、したがって、おもちゃの家728およびおもちゃのトラック729を含むピクセル群は、猫726を含むピクセル群よりも低い加重を有してもよい。識別されたオブジェクトを含まない他のピクセル群は、おもちゃよりも低い加重を有してもよい。例えば、
図7の説明図は、他のピクセル群が0の加重を有することを示す。しかしながら、加重は、非ゼロであり得る。
【0123】
別の実施例に関して、オブジェクト距離加重アレイ750が、1つ以上の識別されたオブジェクトを使用して生成されてもよい。そのような実施例では、オブジェクト距離加重アレイ750はさらに、深度マップに基づいてもよい。深度マップは、画像(または画像のセット)から作成され、各ピクセルの深度を説明してもよい。深度マップを使用して、識別されたオブジェクトは、深度と関連付けられてもよい。次いで、画像ソース(例えば、画像720を撮影するコンテンツ捕捉デバイス)により近いオブジェクトは、より高い加重を割り当てられてもよい。
【0124】
例えば、おもちゃの家728のピクセル群は、おもちゃの家が最も近いオブジェクトであるため、最も高い加重を与えられてもよい。女性722、子供724、および猫726のピクセル群は、これらのオブジェクトが画像ソースから同一の距離に離れているが、おもちゃの家728よりも遠く離れているため、おもちゃの家728のための加重未満である類似加重を割り当てられてもよい。同様に、おもちゃのトラック729のピクセル群は、おもちゃのトラック729が最も遠く離れたオブジェクトであるため、識別されたオブジェクトの最小加重を割り当てられてもよい。いくつかの実施例では、オブジェクトを含まない他のピクセル群は、ゼロの加重、またはオブジェクトのピクセル群に割り当てられる加重未満である、ある他のゼロではない加重のいずれかを割り当てられてもよい。
【0125】
他の実施例では、各ピクセル群は、オブジェクトが識別されるかどうかにかかわらず、加重を割り当てられてもよい。そのような実施例では、オブジェクトは、各加重が深度マップ内の値に対応し得るため、識別される必要がない。距離に基づいてオブジェクトを加重するための他の方法も使用され得ることを認識されたい。
【0126】
別の実施例に関して、オブジェクトサイズ加重アレイ760が、1つ以上の識別されたオブジェクトを使用して生成されてもよい。オブジェクトのサイズは、いくつかの異なる方法で算出され得るが、オブジェクトのサイズを決定するための1つの方法は、オブジェクトに関してオブジェクトサイズ加重アレイ760内で識別されたピクセル群の数を数えることである。
【0127】
いくつかの実施例では、各識別されたオブジェクトのサイズを算出した後、各識別されたオブジェクトのピクセル群は、そのサイズに比例する加重を割り当てられてもよい。例えば、おもちゃの家728は、それが最大のオブジェクトであるため、最大加重を与えられてもよい。一例証的実施例では、女性722、子供724、およびおもちゃのトラック729は、それらが全て類似サイズであるため、全て同一の加重を与えられてもよい。そして、猫726は、それが最小であるため、最小加重を与えられてもよい。識別されたオブジェクトを含まない他のピクセル群は、ゼロ加重または識別されたオブジェクトのための最小加重よりも小さいゼロではない加重のいずれかを与えられてもよい。
【0128】
他の実施例では、各識別されたオブジェクトのサイズを算出した後、各識別されたオブジェクトのピクセル群は、識別されたオブジェクトに関して識別されるピクセル群毎に加重の割合を与えられてもよい。例えば、各ピクセル群が0.1加重に値する場合、4つのピクセル群を伴うオブジェクトは、0.4加重であろう。他の実施例では、各ピクセル群が値する加重の量は、最大のオブジェクトの割合であってもよい。例えば、最大のオブジェクトは、1の加重を与えられてもよい。そして、そのオブジェクトが10個のピクセル群の大きさである場合、5つのピクセル群を伴うオブジェクトは、0.5加重を与えられてもよい。サイズに基づいてオブジェクトを加重するための他の方法も使用され得ることを認識されたい。
【0129】
別の実施例に関して、1つ以上の測光加重アレイが、
図2に説明されるように生成されてもよい。一例証的実施例では、中心測光加重アレイ770(中心測光加重アレイ230に類似する)が、生成されてもよい。
【0130】
別の実施例に関して、視線加重アレイ790(視線加重アレイ690に類似する)が、生成されてもよい。
【0131】
いくつかの実施例では、画像720はまた、
図4で説明されるような焦点レチクルと関連付けられる情報を含んでもよい。焦点レチクルは、単独で、または識別されたオブジェクトと組み合わせて、焦点レチクル加重アレイ780(焦点レチクル加重アレイ530に類似する)を生成するために使用されてもよい。
【0132】
上記で説明されるように、2つ以上の加重アレイが生成された後、2つ以上の加重アレイは、正規化された総加重アレイ730を作成するように組み合わせられてもよい。例えば、複数の加重アレイを横断するピクセル群のための加重は、ピクセル群のための更新された加重を生成するように組み合わせられてもよい(例えば、ともに乗算される)。正規化された総加重アレイ730は、
図1で上記に説明されるように、加重された輝度ピクセル群を算出するように、平均輝度ピクセル群値と組み合わせられてもよい。
いくつかの実施例では、正規化された総加重アレイ730は、
【化2】
として表されてもよく、式中、N
wは、加重アレイの数である。いくつかの実施例では、総加重アレイの正規化は、1の値を有する最大加重およびw
T[r,c](例えば、0)の最小値を有する最小加重に従って、総加重アレイがスケーリングされるように実施されてもよい。いくつかの実施例では、正規化は、総加重アレイの総和で除算することによって、加重された輝度平均が結果を自動的にスケーリングするため、省略されてもよい。
【0133】
図8は、第1の加重モデルを使用する、自動露出制御のためのプロセスの実施形態を図示する、フローチャートである。いくつかの側面では、プロセス800は、コンピューティングデバイスによって実施されてもよい。
【0134】
プロセス800は、論理フロー図として図示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組み合わせで実装され得る、一連の動作を表す。コンピュータ命令との関連で、動作は、1つ以上のプロセッサによって実行されると、記載される動作を実施する、1つ以上のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を果たす、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および同等物を含む。動作が説明される順序は、限定として解釈されることを意図しておらず、任意の数の説明される動作が、プロセスを実装するように、任意の順序で、および/または並行して組み合わせられてもよい。
【0135】
加えて、プロセス800は、実行可能命令を伴って構成される1つ以上のコンピュータシステムの制御下で実施されてもよく、1つ以上のプロセッサ上で、ハードウェアによって、またはそれらの組み合わせで集合的に実行するコード(例えば、実行可能命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装されてもよい。上記のように、コードは、機械可読記憶媒体上に、例えば、1つ以上のプロセッサによって実行可能な複数の命令を備える、コンピュータプログラムの形態で、記憶されてもよい。機械可読記憶媒体は、非一過性であり得る。
【0136】
プロセス800は、コンテンツ捕捉デバイスによって捕捉される画像を受信するステップ(805)を含んでもよい。いくつかの実施例では、画像は、複数のピクセルを含んでもよい。いくつかの実施例では、画像は、カメラまたは他のコンテンツ捕捉デバイスから受信されてもよい。他の実施例では、画像は、画像のフィード(またはストリーム)から受信されてもよい。そのような実施例では、フィードは、現在または過去の画像であってもよい。
【0137】
プロセス800はさらに、画像の標的輝度値を識別するステップ(810)を含んでもよい。いくつかの実施例では、標的輝度値は、画像の最適な量の輝度を示してもよい。そのような実施例では、画像の各ピクセルは、輝度値と関連付けられてもよい。いくつかの実施例では、標的輝度値は、画像の輝度値の平均に対応してもよい。他の実施例では、標的輝度値は、画像の輝度値の加重された平均に対応してもよい。他の実施例では、標的輝度値は、加重アレイを輝度値で乗算する結果として得られるであろう数に対応してもよい。
【0138】
いくつかの実施例では、標的輝度値は、事前に定義されてもよい。他の実施例では、標的輝度値は、1つ以上のセンサに基づいて決定されてもよい。一例証的実施例に関して、センサが、環境内の光の量を検出してもよい。光の量に基づいて、標的輝度値が、設定されてもよい。そのような実施例では、標的輝度値の閾値が存在し得る。例えば、光の量がある量を上回る場合、標的輝度値は、ある量であってもよい。
【0139】
プロセス800はさらに、画像内のオブジェクトを識別するステップ(815)を含んでもよい。いくつかの実施例では、オブジェクトは、オブジェクト識別システムを使用して識別されてもよい。そのような実施例では、オブジェクト識別システムは、オブジェクトのタイプ(例えば、個人、動物、建物、または同等物)を識別してもよい。他の実施例では、オブジェクト識別システムは、オブジェクトのタイプ以上のもの(例えば、オブジェクトがBill Nyeであること)を示す、オブジェクトの1つ以上の属性を識別してもよい。いくつかの実施例では、オブジェクト識別システムは、オブジェクトが別のシステム(仮想オブジェクトを設置する場所を決定している複合現実システム等)によって処理されているかどうかを識別してもよい。
【0140】
プロセス800はさらに、画像の複数のピクセルを複数のピクセル群に分割するステップ(820)を含んでもよい。いくつかの実施例では、ピクセル群は、ピクセルの近接する(または隣接する/隣り合う)群を表してもよい。そのような実施例では、ピクセル群の形状は、変動し得る。例えば、各ピクセル群は、画像が行および列に分割されるように、長方形または正方形であり得る。他の実施例では、各ピクセル群は、画像の中心からのある数のピクセルを含んでもよい。いくつかの実施例では、異なるピクセル群は、(ピクセル群がオブジェクトを含むように作成される場合)異なる形状であってもよい。いくつかの実施例では、ピクセル群は、異なるサイズであってもよい。いくつかの実施例では、ピクセル群は、2つ以上のピクセル群が重複しているように配列されてもよい。
【0141】
プロセス800はさらに、複数のピクセル群毎にピクセル群輝度値を計算するステップ(825)を含んでもよい。いくつかの実施例では、ピクセル群のピクセル群輝度値は、ピクセル群のピクセル毎に輝度値の平均を含んでもよい。他の実施例では、ピクセル群輝度値は、ピクセル群のピクセル毎に輝度値の総和であってもよい。他の実施例では、ピクセル群輝度値は、画像に関して各ピクセルの輝度値と平均輝度値との間の差であってもよい。例えば、平均輝度値は、全ピクセルを考慮して、画像に関して算出されてもよい。平均輝度値は、次いで、平均輝度値からの差がピクセル群に関して生成されるように、ピクセル毎の差を算出するために使用されてもよい。ピクセル群の輝度値の他の概要値も使用され得ることを認識されたい。
【0142】
プロセス800はさらに、オブジェクトと関連付けられないピクセル群の第1のセットを定義するステップ(830)を含んでもよい。いくつかの実施例では、ピクセル群の第1のセットは、1つ以上の他のオブジェクトを含んでもよい、および/またはいかなるオブジェクトも含まなくてもよい。いくつかの実施例では、オブジェクトと関連付けられないことは、オブジェクトとして識別されている1つ以上のピクセルのうちのピクセルがピクセル群の第1のセットの中に含まれないことを示してもよい。
【0143】
プロセス800はさらに、ピクセル群の第1のセットの中のピクセル群毎に加重を設定するステップ(835)を含んでもよい。いくつかの実施例では、ピクセル群の第1のセットの中のピクセル群毎の加重は、
図3で上記に説明されるような表に基づいてもよい。他の実施例では、ピクセル群の第1のセットの中のピクセル群のそれぞれの加重は、オブジェクトがピクセル群の中に含まれないため、自動的にゼロに設定されてもよい。オブジェクトを伴わないピクセル群の加重を決定するための他の方法も使用され得ることを認識されたい。
【0144】
プロセス800はさらに、オブジェクトと関連付けられるピクセル群の第2のセットを定義するステップ(840)を含んでもよい。いくつかの実施例では、オブジェクトと関連付けられることは、オブジェクトとして識別されている1つ以上のピクセルのうちのピクセルがピクセル群の第2のセットの中に含まれることを示してもよい。
【0145】
プロセス800はさらに、ピクセル群の第2のセットの中のピクセル群毎に加重を設定するステップ(845)を含んでもよい。上記で説明されるものと同様に、ピクセル群の第2のセットの中のピクセル群毎の加重は、
図3に関して上記で説明されるような表に基づいてもよい。他の実施例では、ピクセル群の第2のセットの中のピクセル群のそれぞれの加重は、オブジェクトがピクセル群の中に含まれるため、自動的に1に設定されてもよい。オブジェクトを伴うピクセル群の加重を決定するための他の方法も使用され得ることを認識されたい。
【0146】
プロセス800はさらに、複数のピクセル群毎に、加重およびピクセル群輝度値を使用して、画像輝度値を計算するステップ(850)を含んでもよい。いくつかの実施例では、画像輝度値を計算するステップは、加重されたピクセル群輝度値のそれぞれを合計するステップを含んでもよく、加重されたピクセル群輝度値は、ピクセル群と関連付けられる加重を、ピクセル群と関連付けられる輝度値で乗算することによって算出されてもよい。
【0147】
プロセス800はさらに、画像輝度値と標的輝度値との間の差を算出するステップ(855)と、算出された差に基づいて、コンテンツ捕捉デバイスの設定を更新するステップ(860)とを含んでもよい。いくつかの実施例では、設定は、利得設定または露出設定であり得る。そのような実施例では、露出設定は、シャッタ速度、ISO速度、またはそれらの任意の組み合わせであってもよい。いくつかの実施例では、シャッタ速度は、グローバルシャッタまたはロールシャッタであってもよい。グローバルシャッタは、視野の全てのピクセルを露出するための持続時間を示してもよい。ロールシャッタは、視野の列(水平または垂直のいずれか)を露出するための持続時間を示してもよい。ロールシャッタでは、視野のスナップショットではなく、画像の線が、ローリング様式で走査されてもよい。利得設定は、デジタル利得、アナログ利得、またはそれらの任意の組み合わせであってもよい。例えば、利得設定は、2倍のアナログ利得および4倍のデジタル利得を有することによって、8倍であってもよい。いくつかの実施例では、露出設定は、露出を増加させるときに利得設定の前に調節されてもよい。そのような実施例では、利得設定は、露出を減少させるときに利得設定の前に調節されてもよい。いくつかの実施例では、調節の差は、差に比例し得る。例えば、調節は、画像輝度値と標的輝度値との間の差がより大きい場合に、より大きくあり得る。
【0148】
図1に関して上記に説明される、加重された輝度平均方程式を使用して、具体的加重は、加重と関連付けられるアレイを単位元に設定することによって、第1の加重モデルに関して無効にされてもよい。
【0149】
図17は、深度マップを使用する、自動露出制御のためのプロセス1700の実施形態を図示するフローチャートである。深度マップは、1つ以上の距離を含んでもよく、距離は、1つ以上の距離毎に単一の点から測定される。各距離が、1つ以上のピクセルの中に含まれるコンテンツが単一の点から存在する距離を示すように、各距離は、画像内の1つ以上のピクセルに対応してもよい。
【0150】
いくつかの側面では、プロセス1700は、コンピューティングデバイス(例えば、カメラ等のコンテンツ捕捉デバイス)によって実施されてもよい。プロセス1700は、論理フロー図として図示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組み合わせで実装され得る、一連の動作を表す。コンピュータ命令との関連で、動作は、1つ以上のプロセッサによって実行されると、記載される動作を実施する、1つ以上のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を果たす、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および同等物を含む。動作が説明される順序は、限定として解釈されることを意図しておらず、任意の数の説明される動作が、プロセスを実装するように、任意の順序で、および/または並行して組み合わせられてもよい。
【0151】
加えて、プロセス1700は、実行可能命令を伴って構成される1つ以上のコンピュータシステムの制御下で実施されてもよく、1つ以上のプロセッサ上で、ハードウェアによって、またはそれらの組み合わせで集合的に実行するコード(例えば、実行可能命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装されてもよい。上記のように、コードは、機械可読記憶媒体上に、例えば、1つ以上のプロセッサによって実行可能な複数の命令を備える、コンピュータプログラムの形態で、記憶されてもよい。機械可読記憶媒体は、非一過性であり得る。
【0152】
プロセス1700は、コンテンツ捕捉デバイスによって捕捉される画像を受信するステップ(1710)を含んでもよい。いくつかの実施例では、画像は、複数のピクセルを含んでもよい。いくつかの実施例では、画像は、カメラまたは他のコンテンツ捕捉デバイスから受信されてもよい。他の実施例では、画像は、画像のフィード(またはストリーム)から受信されてもよい。そのような実施例では、フィードは、現在または過去の画像であってもよい。
【0153】
プロセス1700はさらに、画像の標的輝度値を識別するステップ(1720)を含んでもよい。いくつかの実施例では、標的輝度値は、画像の最適な量の輝度を示してもよい。そのような実施例では、画像の各ピクセルは、輝度値と関連付けられてもよい。いくつかの実施例では、標的輝度値は、画像の輝度値の平均に対応してもよい。他の実施例では、標的輝度値は、画像の輝度値の加重された平均に対応してもよい。他の実施例では、標的輝度値は、加重アレイを輝度値で乗算する結果として得られるであろう数に対応してもよい。
【0154】
いくつかの実施例では、標的輝度値は、事前に定義されてもよい。他の実施例では、標的輝度値は、1つ以上のセンサに基づいて決定されてもよい。一例証的実施例に関して、センサが、環境内の光の量を検出してもよい。光の量に基づいて、標的輝度値が、設定されてもよい。そのような実施例では、標的輝度値の閾値が存在し得る。例えば、光の量がある量を上回る場合、標的輝度値は、ある量であってもよい。
【0155】
プロセス1700はさらに、画像の複数のピクセルを複数のピクセル群に分割するステップ(1730)を含んでもよい。いくつかの実施例では、ピクセル群は、ピクセルの近接する(または隣接する/隣り合う)群を表してもよい。そのような実施例では、ピクセル群の形状は、変動し得る。例えば、各ピクセル群は、画像が行および列に分割されるように、長方形または正方形であり得る。他の実施例では、各ピクセル群は、画像の中心からのある数のピクセルを含んでもよい。いくつかの実施例では、異なるピクセル群は、(ピクセル群がオブジェクトを含むように作成される場合)異なる形状であってもよい。いくつかの実施例では、ピクセル群は、異なるサイズであってもよい。いくつかの実施例では、ピクセル群は、2つ以上のピクセル群が重複しているように配列されてもよい。
【0156】
プロセス1740はさらに、複数のピクセル群毎にピクセル群輝度値を計算するステップ(1740)を含んでもよい。いくつかの実施例では、ピクセル群のピクセル群輝度値は、ピクセル群のピクセル毎に輝度値の平均を含んでもよい。他の実施例では、ピクセル群輝度値は、ピクセル群のピクセル毎に輝度値の総和であってもよい。他の実施例では、ピクセル群輝度値は、画像に関して各ピクセルの輝度値と平均輝度値との間の差であってもよい。例えば、平均輝度値は、全ピクセルを考慮して、画像に関して算出されてもよい。平均輝度値は、次いで、平均輝度値からの差がピクセル群に関して生成されるように、ピクセル毎の差を算出するために使用されてもよい。ピクセル群の輝度値の他の概要値も使用され得ることを認識されたい。
【0157】
プロセス1700はさらに、画像に対応する深度マップを受信するステップ(1750)を含んでもよい。上記で説明されるように、深度マップは、1つ以上の距離を含んでもよく、距離は、1つ以上の距離毎に単一の点から測定される。各距離が、1つ以上のピクセルの中に含まれるコンテンツが単一の点から存在する距離を示すように、各距離は、画像内の1つ以上のピクセルに対応してもよい。
【0158】
いくつかの実施例では、深度マップは、上記に説明される画像捕捉と同時に捕捉されてもよい。例えば、画像がコンテンツ捕捉デバイスのための設定を決定するステップと併用するために捕捉される度に、深度マップも捕捉されてもよい。他の実施例では、深度マップは、深度マップが複数の画像のための加重を設定するために使用され得るように、画像が捕捉される前のある時点で捕捉されてもよい。そのような実施例では、深度マップは、画像が捕捉された配向に基づいて、使用されてもよい。例えば、1つ以上の深度マップはそれぞれ、異なる配向に対応してもよい。画像が特定の配向において撮影されるとき、特定の配向に対応する深度マップ(または深度マップの一部)は、コンテンツ捕捉デバイスのための設定を決定するために使用される加重を設定するときに使用されてもよい。
【0159】
図7を参照すると、深度マップは、女性722、子供724、猫726、おもちゃの家728、およびおもちゃのトラック729がそれぞれ、コンテンツ捕捉デバイスから存在する距離を示してもよい。距離は、オブジェクトベースではないが、距離がオブジェクトではなくてピクセルに関するようにピクセルベースであり得ることを認識されたい。また、深度マップは、上記に説明されるものと異なる方法で深度を示し得ることも認識されたい。
【0160】
プロセス1700はさらに、深度マップに基づいて、複数のピクセル群毎に加重を設定するステップ(1760)を含んでもよい。加重は、1つ以上のピクセルのより近いセットが、より遠く離れている1つ以上のピクセルのセットよりも高いように設定されてもよい。いくつかの実施例では、加重を設定するステップはさらに、画像からオブジェクトの場所を示すデータに基づいてもよい。例えば、
図7に図示されるように、オブジェクト距離加重アレイ750内の加重は、オブジェクトと関連付けられるものとして識別されるピクセルのみが加重を与えられるように設定される。他のピクセルもゼロ以上の異なる加重として設定され得ることを認識されたい。いくつかの実施例では、オブジェクトの場所を示すデータは、画像のピクセルを分析し、オブジェクトの記憶された画像の1つ以上のピクセルに合致する、画像の1つ以上のピクセルを識別することによって、決定される。また、距離加重アレイは、加重を設定することの結果であり、距離加重アレイは、画像内で識別されるオブジェクトに基づかないことも認識されたい。また、上記に説明される以外に、深度マップを使用して加重を設定するための他の方法が使用されることも認識されたい。
【0161】
プロセス1700はさらに、複数のピクセル群毎に、加重およびピクセル群輝度値を使用して、画像輝度値を計算するステップ(1770)を含んでもよい。いくつかの実施例では、画像輝度値を計算するステップは、加重されたピクセル群輝度値のそれぞれを合計するステップを含んでもよく、加重されたピクセル群輝度値は、ピクセル群と関連付けられる加重を、ピクセル群と関連付けられる輝度値で乗算することによって算出されてもよい。
【0162】
プロセス1700はさらに、画像輝度値と標的輝度値との間の差を算出するステップ(1780)と、算出された差に基づいて、コンテンツ捕捉デバイスの設定を更新するステップ(1790)とを含んでもよい。いくつかの実施例では、設定は、利得設定または露出設定であり得る。そのような実施例では、露出設定は、シャッタ速度、ISO速度、またはそれらの任意の組み合わせであってもよい。いくつかの実施例では、シャッタ速度は、グローバルシャッタまたはロールシャッタであってもよい。グローバルシャッタは、視野の全てのピクセルを露出するための持続時間を示してもよい。ロールシャッタは、視野の列(水平または垂直のいずれか)を露出するための持続時間を示してもよい。ロールシャッタでは、視野のスナップショットではなく、画像の線が、ローリング様式で走査されてもよい。利得設定は、デジタル利得、アナログ利得、またはそれらの任意の組み合わせであってもよい。例えば、利得設定は、2倍のアナログ利得および4倍のデジタル利得を有することによって、8倍であってもよい。いくつかの実施例では、露出設定は、露出を増加させるときに利得設定の前に調節されてもよい。そのような実施例では、利得設定は、露出を減少させるときに利得設定の前に調節されてもよい。いくつかの実施例では、調節の差は、差に比例し得る。例えば、調節は、画像輝度値と標的輝度値との間の差がより大きい場合に、より大きくあり得る。
【0163】
図9は、自動露出制御(AEC)に使用される第2の加重モデルの第1の部分の実施例を図示する。いくつかの実施例では、第2の加重モデルは、画像内の他の全てから独立して、画像の各オブジェクトを取り扱ってもよい。そのような実施例では、学習ベースのモデル(例えば、ニューラルネットワーク、クラスタリング、または同等物)が、画像のオブジェクト(またはオブジェクトのサブセット)毎に使用されてもよい。学習ベースのモデルは、オブジェクトに関してピクセル群毎の加重として使用される値を出力してもよい。加重が画像のオブジェクト毎に生成された後、最終的な加重アレイは、オブジェクト毎に加重アレイのうちの各1つを合計することによって作成されてもよい。これは、加重アレイをともに乗算した、第1の加重モデルと異なる。他の実施例では、学習ベースのモデルが、オブジェクトのピクセル群毎に使用されてもよい。そのような実施例では、プロセスの残りの部分は、オブジェクトの全ピクセル群に使用される単一の値を有するのではなく、値がピクセル群毎に計算されるであろうことを除いて、オブジェクト毎に学習ベースのモデルを有することと同様に実施されるであろう。他の実施例では、学習ベースのモデルが、オブジェクトのための加重(例えば、オブジェクト距離、オブジェクト優先度、測光、または同等物)毎に使用されてもよい。そのような実施例では、単一のオブジェクトのための加重は、第1の加重モデルに関して上記で議論されるように組み合わせられる必要があろう。オブジェクト毎の加重が組み合わせられた後、プロセスの残りの部分は、第2の加重モデルと同様に継続してもよい。
【0164】
一例証的実施例では、第2の加重モデルは、1つ以上のニューラルネットワーク(例えば、多層パーセプトロン)を利用し、加重アレイを決定してもよい。いくつかの実施例では、第2の加重モデルは、画像内の1つ以上の識別されたオブジェクト毎にニューラルネットワークを作成してもよい。そのような実施例では、ニューラルネットワークへの入力は、加重アレイに関して上記に説明されるものに類似する加重を含んでもよい。一例証的実施例では、加重は、オブジェクト優先度-{.1...1}、オブジェクトサイズ-小、中、または大{.5,.75,1}、オブジェクト距離-近、中、遠{.5,.75,1}、測光-縁から中心まで{.9...1}、焦点レチクル-中、近、または外{.5,.75、または1}、および視線-「ベクトルにある」、「ベクトルの近傍」、または「ベクトルの外」{.5,.75,1}を含んでもよい。
【0165】
上記の実施例では、オブジェクト優先度加重は、オブジェクトの優先度を示してもよい。オブジェクトの優先度は、0~1であってもよい。いくつかの実施例では、優先度は、
図3に関して上記で説明されるような表によって定義されてもよい。
【0166】
オブジェクトサイズ加重は、オブジェクトのサイズを示してもよい。オブジェクトのサイズは、列挙されたセット(例えば、小、中、または大)のうちの1つであってもよい。いくつかの実施例では、列挙されたセットのうちの各1つに対応するサイズは、事前に定義されてもよい(例えば、オブジェクトが3つ以下のピクセル群の中に含まれる場合、オブジェクトは、小さく、0.5の加重を受容し、オブジェクトが4~6つのピクセル群の中に含まれる場合、オブジェクトは、中程度であり、0.75の加重を受容し、オブジェクトが6つ以上のピクセル群の中に含まれる場合、オブジェクトは、大きく、1の加重を受容する)。他の実施例では、オブジェクトのサイズは、単に、オブジェクトが含まれるピクセル群の数であってもよい。
【0167】
オブジェクト距離加重は、画像ソース(例えば、コンテンツ捕捉デバイス)からの距離を示してもよい。オブジェクトの距離は、列挙されたセット(例えば、近、中、または遠)のうちの1つであってもよい。いくつかの実施例では、列挙されたセットのうちの各1つに対応する距離は、事前に定義されてもよい(例えば、オブジェクトが画像ソースの10フィート以内にある場合、オブジェクトは、近傍にあり、0.5の加重を受容し、オブジェクトが画像ソースの10~50フィート以内にある場合、オブジェクトは、中間にあり、0.75の加重を受容し、オブジェクトが画像ソースから50フィートを上回る場合、オブジェクトは、遠くにあり、1の加重を受容する)。いくつかの実施例では、距離は、深度捕捉デバイスを使用して生成された深度マップを使用して、算出されてもよい。
【0168】
測光加重は、上記で説明されるような1つ以上の測光技法から、オブジェクトと関連付けられる値を示してもよい。例えば、オブジェクトが画像の視野の縁の近傍にある場合、0.9の加重値が割り当てられてもよい。オブジェクトが視野の中心にある場合、1.0の加重値が割り当てられてもよい。
【0169】
焦点レチクル加重は、オブジェクトが焦点レチクルに対する場所を示してもよい。焦点レチクルの値は、列挙されたセット(例えば、中、近、または外)のうちの1つであってもよい。いくつかの実施例では、列挙されたセットの値は、事前に定義されてもよい(例えば、オブジェクトが焦点レチクルの内側にある場合、オブジェクトは、中にあり、0.5の加重を受容し、オブジェクトが焦点レチクルに重複する場合、オブジェクトは、近傍にあり、0.75の加重を受容し、オブジェクトが焦点レチクルの外側にある場合、オブジェクトは、外にあり、1の加重を受容する)。
【0170】
視線加重は、オブジェクトに対してユーザが見ている場所を示してもよい。視線の値は、列挙されたセット(例えば、「ベクトルにある」、「ベクトルの近傍」、または「ベクトルの外」)のうちの1つであってもよい。いくつかの実施例では、列挙されたセットの値は、事前に定義されてもよい(例えば、視線がオブジェクトから第2の距離(第1の距離を上回る)にある場合、視線は、「ベクトルの外」にあり、0.5の加重を受容し、視線がオブジェクトから第1の距離に離れている場合、視線は、「ベクトルの近傍」にあり、0.75の加重を受容し、視線がオブジェクトに向かっている場合、視線は、「ベクトルにあり」、1の加重を受容する)。
【0171】
図9を参照すると、第1のオブジェクト(910)のための第1のニューラルネットワークが、使用されてもよい。第1のニューラルネットワークに関して、第1のオブジェクトに関して上記に説明される各加重は、入力920のうちの入力であってもよい。例えば、オブジェクト優先度加重は、露出加重パラメータ1(922)であってもよく、オブジェクトサイズ加重は、露出加重パラメータ2(924)であってもよく、視線加重は、露出加重パラメータn(926)であってもよい。任意の数の加重が、入力920として使用され得ることを認識されたい。
【0172】
入力920は、次いで、隠れ層930にパスされてもよい。隠れ層930は、1つのレベルとして図示されるが、ニューラルネットワークの実装に応じて、より多くのレベルが存在し得る。隠れ層930のレベル毎に、(第1のレベルのための入力920であろう)先行するレベルの各値は、レベルのノード(例えば、ノード932、ノード934、ノード936、およびノード938)毎にニューラルネットワークによって決定される値で乗算される。各ノードにおいて、関数が、ノードの入力に適用される。隠れ層930が完成した後、最終値が、各出力で乗算され、結果は、オブジェクト1露出加重(922)を作成するように組み合わせられる。
【0173】
図9で見られ得るように、上記で説明されるような類似プロセスが、画像内のオブジェクト(例えば、オブジェクト2ニューラルネットワーク(950)およびオブジェクトMニューラルネットワーク(960))毎に実施されてもよい。
【0174】
図10は、自動露出制御(AEC)に使用され得る第2の加重モデルの第2の部分の実施例を図示する。第2の部分は、1つ以上のニューラルネットワークが画像内のオブジェクト毎に実施された後に起こることを図示し得る。ニューラルネットワーク(例えば、オブジェクト1ニューラルネットワーク1030、オブジェクト2ニューラルネットワーク1040、オブジェクト3ニューラルネットワーク1050、オブジェクト4ニューラルネットワーク1060、およびオブジェクト5ニューラルネットワーク1070)はそれぞれ、(上記で説明されるように)単一の値を出力してもよい。単一の値は、ニューラルネットワークと関連付けられるオブジェクトのための加重であってもよい。
【0175】
単一の値は、(総加重アレイ1080に示されるように)オブジェクトのピクセル群の全てに適用されてもよい。方程式において例証すると、総加重アレイw
Tは、各オブジェクトのニューラルネットワークからの出力の総和であってもよく、例えば、
【化3】
であり、式中、N
oは、オブジェクトの数である。
【0176】
総加重アレイ1080が生成された後、総加重アレイ1080は、
図1を参照して上記で説明されるように標的と比較されてもよい。加えて、
図1に関して上記に説明される、加重された輝度平均方程式を使用して、具体的加重は、加重と関連付けられるアレイをゼロに設定することによって、第2の加重モデルに関して無効にされてもよい。
【0177】
図11は、第2の加重モデルを使用する、自動露出制御(AEC)のためのプロセス1100の実施形態を図示する、フローチャートである。いくつかの側面では、プロセス1100は、コンピューティングデバイスによって実施されてもよい。
【0178】
プロセス1100は、論理フロー図として図示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組み合わせで実装され得る、一連の動作を表す。コンピュータ命令との関連で、動作は、1つ以上のプロセッサによって実行されると、記載される動作を実施する、1つ以上のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を果たす、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および同等物を含む。動作が説明される順序は、限定として解釈されることを意図しておらず、任意の数の説明される動作が、プロセスを実装するように、任意の順序で、および/または並行して組み合わせられてもよい。
【0179】
加えて、プロセス1100は、実行可能命令を伴って構成される1つ以上のコンピュータシステムの制御下で実施されてもよく、1つ以上のプロセッサ上で、ハードウェアによって、またはそれらの組み合わせで集合的に実行するコード(例えば、実行可能命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装されてもよい。上記のように、コードは、機械可読記憶媒体上に、例えば、1つ以上のプロセッサによって実行可能な複数の命令を備える、コンピュータプログラムの形態で、記憶されてもよい。機械可読記憶媒体は、非一過性であり得る。
【0180】
プロセス1100は、コンテンツ捕捉デバイスによって捕捉される画像を受信するステップ(1105)を含んでもよい。いくつかの実施例では、画像は、複数のピクセルを含んでもよい。いくつかの実施例では、画像は、カメラまたは他のコンテンツ捕捉デバイスから受信されてもよい。他の実施例では、画像は、画像のフィード(またはストリーム)から受信されてもよい。そのような実施例では、フィードは、現在または過去の画像であってもよい。
【0181】
プロセス1100はさらに、画像の標的輝度値を識別するステップ(1110)を含んでもよい。いくつかの実施例では、標的輝度値は、画像の最適な量の輝度を示してもよい。そのような実施例では、画像の各ピクセルは、輝度値と関連付けられてもよい。いくつかの実施例では、標的輝度値は、画像の輝度値の平均に対応してもよい。他の実施例では、標的輝度値は、画像の輝度値の加重された平均に対応してもよい。いくつかの実施例では、標的輝度値は、事前に定義されてもよい。他の実施例では、標的輝度値は、1つ以上のセンサに基づいて決定されてもよい。一例証的実施例に関して、センサが、環境内の光の量を検出してもよい。
【0182】
プロセス1100はさらに、画像内のオブジェクトを識別するステップ(1115)を含んでもよい。いくつかの実施例では、オブジェクトは、オブジェクト識別システムを使用して識別されてもよい。そのような実施例では、オブジェクト識別システムは、オブジェクトのタイプ(例えば、個人、動物、建物、または同等物)を識別してもよい。他の実施例では、オブジェクト識別システムは、単なるオブジェクトのタイプ(例えば、オブジェクトがShania Twainであること)以上に、オブジェクトの1つ以上の属性または特性を識別してもよい。いくつかの実施例では、オブジェクト識別システムは、オブジェクトが別のシステム(仮想オブジェクトを設置する場所を決定している複合現実システム等)によって処理されているかどうかを識別してもよい。
【0183】
プロセス1100はさらに、オブジェクトの1つ以上の属性を識別するステップ(1120)を含んでもよい。いくつかの実施例では、属性は、加重アレイ、例えば、(
図9を参照して説明されるように)オブジェクト優先度、オブジェクトサイズ、オブジェクト距離、測光、焦点レチクル、視線、または同等物に対する加重アレイ等と関連付けられてもよい。そのような実施例では、属性は、オブジェクトのピクセル群のそれぞれの加重の平均を表す、単一の値であってもよい。
【0184】
プロセス1100はさらに、ニューラルネットワークを使用して、オブジェクトのための加重を計算するステップ(1125)を含んでもよい。いくつかの実施例では、ニューラルネットワークは、(
図9を参照して説明されるように)1つ以上の属性を入力として使用してもよい。そのような実施例では、1つ以上の属性は、単一のオブジェクトと関連付けられてもよい。付加的ニューラルネットワークが、1つ以上の他のオブジェクト(または1つ以上の他のオブジェクトのそれぞれ)に使用されてもよい。他の実施例では、ニューラルネットワークは、複数のオブジェクトと関連付けられてもよい。
【0185】
プロセス1100はさらに、画像の複数のピクセルを複数のピクセル群に分割するステップ(1130)を含んでもよい。いくつかの実施例では、ピクセル群は、ピクセルの近接する(または隣接する/隣り合う)群を表してもよい。そのような実施例では、ピクセル群の形状は、変動し得る。例えば、各ピクセル群は、画像が行および列に分割されるように、長方形または正方形であり得る。他の実施例では、各ピクセル群は、画像の中心からのある数のピクセルを含んでもよい。いくつかの実施例では、異なるピクセル群は、(ピクセル群がオブジェクトを含むように作成される場合)異なる形状であってもよい。いくつかの実施例では、ピクセル群は、異なるサイズであってもよい。
【0186】
プロセス1100はさらに、オブジェクトと関連付けられないピクセル群の第1のセットを定義するステップ(1135)を含んでもよい。いくつかの実施例では、ピクセル群の第1のセットは、1つ以上の他のオブジェクトを含んでもよい、および/またはいかなるオブジェクトも含まなくてもよい。いくつかの実施例では、オブジェクトと関連付けられないことは、オブジェクトとして識別されている1つ以上のピクセルのうちのピクセルがピクセル群の第1のセットの中に含まれないことを示してもよい。
【0187】
プロセス1100はさらに、オブジェクトと関連付けられるピクセル群の第2のセットを定義するステップ(1140)を含んでもよい。いくつかの実施例では、オブジェクトと関連付けられることは、オブジェクトとして識別されている1つ以上のピクセルのうちのピクセルがピクセル群の第2のセットの中に含まれることを示してもよい。
【0188】
プロセス1100はさらに、ピクセル群の第2のセットのうちのピクセル群毎に、ピクセル群輝度値を計算するステップ(1145A)を含んでもよい。いくつかの実施例では、ピクセル群のピクセル群輝度値は、ピクセル群のピクセル毎に輝度値の平均を含んでもよい。他の実施例では、ピクセル群輝度値は、ピクセル群のピクセル毎に輝度値の総和であってもよい。他の実施例では、ピクセル群輝度値は、画像に関して各ピクセルの輝度値と平均輝度値との間の差であってもよい。例えば、平均輝度値は、全ピクセルを考慮して、フレームに関して算出されてもよい。平均輝度値は、次いで、平均輝度値からの差がピクセル群に関して生成されるように、ピクセル毎の差を算出するために使用されてもよい。ピクセル群の輝度値の他の概要値も使用され得ることを認識されたい。
【0189】
加えて、プロセス1100はさらに、ピクセル群の第2のセットのうちのピクセル群毎に、ピクセル群輝度値を加重で乗算し、加重されたピクセル群輝度値を提供するステップ(1145B)を含んでもよい。いくつかの実施例では、加重は、オブジェクトと関連付けられるピクセル群毎に同一であり得る。
【0190】
プロセス1100はさらに、画像の総輝度値を計算するステップ(1150)を含んでもよい。いくつかの実施例では、総輝度値は、加重されたピクセル群輝度値の総和を含んでもよい。いくつかの実施例では、画像輝度値を計算するステップは、加重されたピクセル群輝度値のそれぞれを合計するステップを含んでもよく、加重されたピクセル群輝度値は、ピクセル群と関連付けられる加重を、ピクセル群と関連付けられる輝度値で乗算することによって算出されてもよい。
【0191】
プロセス1100はさらに、総輝度値と標的輝度値との間の差を算出するステップ(1155)と、算出された差に基づいて、コンテンツ捕捉デバイスの設定を更新するステップ(1160)とを含んでもよい。いくつかの実施例では、設定は、利得設定または露出設定であり得る。そのような実施例では、露出設定は、シャッタ速度、ISO速度、またはそれらの任意の組み合わせであってもよい。いくつかの実施例では、シャッタ速度は、グローバルシャッタまたはロールシャッタであってもよい。グローバルシャッタは、視野の全てのピクセルを露出するための持続時間を示してもよい。ロールシャッタは、視野の列(水平または垂直のいずれか)を露出するための持続時間を示してもよい。ロールシャッタでは、視野のスナップショットではなく、画像の線が、ローリング様式で走査されてもよい。利得設定は、デジタル利得、アナログ利得、またはそれらの任意の組み合わせであってもよい。例えば、利得設定は、2倍のアナログ利得および4倍のデジタル利得を有することによって、8倍であってもよい。いくつかの実施例では、露出設定は、露出を増加させるときに利得設定の前に調節されてもよい。そのような実施例では、利得設定は、露出を減少させるときに利得設定の前に調節されてもよい。いくつかの実施例では、調節の量は、差に比例し得る。例えば、調節は、画像輝度値と標的輝度値との間の差がより大きい場合に、より大きくあり得る。
【0192】
図18は、複数のモデルを使用する、自動露出制御のためのプロセス1800の実施形態を図示するフローチャートである。複数のモデルを使用するとき、複数のモデルのうちの2つ以上のものは、同一または異なるタイプのモデルであってもよい。例えば、複数のニューラルネットワーク(
図9-11で上記に説明されるような)が、使用されてもよい。複数のモデルが(本図に従って)、使用されるとき、複数のモデルはそれぞれ、複数のモデルのそれぞれと関連付けられる加重が重複しないように、画像の特定の部分のための加重を提供してもよい。
【0193】
いくつかの側面では、プロセス1800は、コンピューティングデバイスによって実施されてもよい。プロセス1800は、論理フロー図として図示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組み合わせで実装され得る、一連の動作を表す。コンピュータ命令との関連で、動作は、1つ以上のプロセッサによって実行されると、記載される動作を実施する、1つ以上のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を果たす、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および同等物を含む。動作が説明される順序は、限定として解釈されることを意図しておらず、任意の数の説明される動作が、プロセスを実装するように、任意の順序で、および/または並行して組み合わせられてもよい。
【0194】
加えて、プロセス1800は、実行可能命令を伴って構成される1つ以上のコンピュータシステムの制御下で実施されてもよく、1つ以上のプロセッサ上で、ハードウェアによって、またはそれらの組み合わせで集合的に実行するコード(例えば、実行可能命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装されてもよい。上記のように、コードは、機械可読記憶媒体上に、例えば、1つ以上のプロセッサによって実行可能な複数の命令を備える、コンピュータプログラムの形態で、記憶されてもよい。機械可読記憶媒体は、非一過性であり得る。
【0195】
プロセス1800は、コンテンツ捕捉デバイスによって捕捉される画像を受信するステップ(1802)を含んでもよい。いくつかの実施例では、画像は、複数のピクセルを含んでもよい。いくつかの実施例では、画像は、カメラまたは他のコンテンツ捕捉デバイスから受信されてもよい。他の実施例では、画像は、画像のフィード(またはストリーム)から受信されてもよい。そのような実施例では、フィードは、最近撮影されたかまたは記憶されたかのいずれかである画像であってもよい。
【0196】
プロセス1800はさらに、画像の標的輝度値を識別するステップ(1804)を含んでもよい。いくつかの実施例では、標的輝度値は、画像の最適な量の輝度を示してもよい。そのような実施例では、画像の各ピクセルは、輝度値と関連付けられてもよい。いくつかの実施例では、標的輝度値は、画像の輝度値の平均に対応してもよい。他の実施例では、標的輝度値は、画像の輝度値の加重された平均に対応してもよい。いくつかの実施例では、標的輝度値は、事前に定義されてもよい。他の実施例では、標的輝度値は、1つ以上のセンサに基づいて決定されてもよい。一例証的実施例に関して、センサが、環境内の光の量を検出してもよい。
【0197】
プロセス1800はさらに、画像の複数のピクセルを複数のピクセル群に分割するステップ(1806)を含んでもよい。いくつかの実施例では、ピクセル群は、ピクセルの近接する(または隣接する/隣り合う)群を表してもよい。そのような実施例では、ピクセル群の形状は、変動し得る。例えば、各ピクセル群は、画像が行および列に分割されるように、長方形または正方形であり得る。他の実施例では、各ピクセル群は、画像の中心からのある数のピクセルを含んでもよい。いくつかの実施例では、異なるピクセル群は、(ピクセル群がオブジェクトを含むように作成される場合)異なる形状であってもよい。いくつかの実施例では、ピクセル群は、異なるサイズであってもよい。
【0198】
プロセス1800はさらに、画像内の複数のパッチを識別するステップ(1808)を含んでもよい。複数のパッチは、第1のパッチと、第2のパッチとを含んでもよい。各パッチは、1つ以上のピクセル群を含んでもよい。いくつかの実施例では、いくつかのパッチは、他のパッチよりも多いまたは少ないピクセル群を含んでもよい。いくつかの実施例では、パッチは、画像のコンテンツに基づいて識別されてもよい。例えば、1つ以上のオブジェクトは、各パッチが異なるオブジェクトのピクセルを含む、画像内で識別されてもよい。他の実施例では、各パッチは、1つ以上のピクセルのセットであってもよく、各セットは、どのような画像が受信されても使用される。パッチを識別するための他の方法も使用され得ることを認識されたい。
【0199】
プロセス1800はさらに、第1のパッチのための1つ以上の加重を計算するステップ(1810)を含んでもよい。第1のパッチのための1つ以上の加重は、第1のモデルを使用して計算されてもよい。第1のモデルは、オブジェクト優先度加重アレイ、オブジェクトサイズ加重アレイ、オブジェクト距離加重アレイ、測光加重アレイ、焦点レチクル加重アレイ、視線加重アレイ、第1のパッチの中に含まれるコンテンツに基づくニューラルネットワーク、または同等物等の本明細書に説明される任意のモデルであってもよい。
【0200】
プロセス1800はさらに、第2のパッチのための1つ以上の加重を計算するステップ(1812)を含んでもよい。第2のパッチのための1つ以上の加重は、第2のモデルを使用して計算されてもよく、これは、第1のモデルと同一であるモデルであり得るかまたは第1のモデルと異なるモデルであり得る。2つを上回るモデルが使用され得ることを認識されたい。また、あるパッチが、同一のモデルを使用し得る一方で、同一の画像内の他のパッチは、異なるモデルを使用し得ることも認識されたい。そのような場合において、共通する1つ以上の特定の特性を有することが決定されるパッチは、最終的に同一のモデルを使用してもよい。
【0201】
プロセス1800はさらに、ピクセル群の第2のセットのうちのピクセル群毎に、ピクセル群輝度値を計算するステップ(1814)を含んでもよい。いくつかの実施例では、ピクセル群のピクセル群輝度値は、ピクセル群のピクセル毎に輝度値の平均を含んでもよい。他の実施例では、ピクセル群輝度値は、ピクセル群のピクセル毎に輝度値の総和であってもよい。他の実施例では、ピクセル群輝度値は、画像に関して各ピクセルの輝度値と平均輝度値との間の差であってもよい。例えば、平均輝度値は、全ピクセルを考慮して、フレームに関して算出されてもよい。平均輝度値は、次いで、平均輝度値からの差がピクセル群に関して生成されるように、ピクセル毎の差を算出するために使用されてもよい。ピクセル群の輝度値の他の概要値も使用され得ることを認識されたい。
【0202】
加えて、プロセス1800はさらに、ピクセル群の第2のセットのうちのピクセル群毎に、ピクセル群のピクセル群輝度値をピクセル群のための加重で乗算し、加重されたピクセル群輝度値を提供するステップ(1816)を含んでもよい。いくつかの実施例では、加重は、オブジェクトと関連付けられるピクセル群毎に同一であり得る。
【0203】
プロセス1800はさらに、画像の総輝度値を計算するステップ(1818)を含んでもよい。いくつかの実施例では、総輝度値は、加重されたピクセル群輝度値の総和を含んでもよい。いくつかの実施例では、画像輝度値を計算するステップは、加重されたピクセル群輝度値のそれぞれを合計するステップを含んでもよく、加重されたピクセル群輝度値は、ピクセル群と関連付けられる加重を、ピクセル群と関連付けられる輝度値で乗算することによって算出されてもよい。
【0204】
プロセス1800はさらに、総輝度値と標的輝度値との間の差を算出するステップ(1820)と、算出された差に基づいて、コンテンツ捕捉デバイスの設定を更新するステップ(1822)とを含んでもよい。いくつかの実施例では、設定は、利得設定または露出設定であり得る。そのような実施例では、露出設定は、シャッタ速度、ISO速度、またはそれらの任意の組み合わせであってもよい。いくつかの実施例では、シャッタ速度は、グローバルシャッタまたはロールシャッタであってもよい。グローバルシャッタは、視野の全てのピクセルを露出するための持続時間を示してもよい。ロールシャッタは、視野の列(水平または垂直のいずれか)を露出するための持続時間を示してもよい。ロールシャッタでは、視野のスナップショットではなく、画像の線が、ローリング様式で走査されてもよい。利得設定は、デジタル利得、アナログ利得、またはそれらの任意の組み合わせであってもよい。例えば、利得設定は、2倍のアナログ利得および4倍のデジタル利得を有することによって、8倍であってもよい。いくつかの実施例では、露出設定は、露出を増加させるときに利得設定の前に調節されてもよい。そのような実施例では、利得設定は、露出を減少させるときに利得設定の前に調節されてもよい。いくつかの実施例では、調節の量は、差に比例し得る。例えば、調節は、画像輝度値と標的輝度値との間の差がより大きい場合に、より大きくあり得る。
【0205】
図12Aは、画像スティッチングプロセス1200を図示する。いくつかの実施例では、画像スティッチングプロセス1200は、自動露出制御(AEC)の複数のインスタンスを含んでもよく、各インスタンスは、同一または異なる1つ以上の設定を調節する。そして、AECインスタンスが使用されるため、上記で議論される第1および第2の加重モデルを含む、任意の加重モデルが、使用されてもよい。いくつかの実施例では、画像スティッチングプロセス1200は、2つ以上の画像を組み合わせる出力画像1204を作成してもよい。そのような実施例では、画像スティッチングプロセス1200は、AECの複数のインスタンスのそれぞれからの調節に基づいて捕捉された画像を組み合わせてもよい。例えば、1つ以上の設定がAECのインスタンスに起因して設定された後、1つ以上の設定がAECの他のインスタンスに起因して設定された後に同様に捕捉された他の画像と組み合わせられる、画像が捕捉されてもよい。
【0206】
いくつかの実施例では、コンテンツ捕捉デバイス1210は、高ダイナミックレンジ(HDR)モードで構成されてもよい。HDRモードは、類似場面の複数の画像を捕捉し、複数の画像をともにスティッチングすることを促進してもよい。そのような実施例では、HDRモードは、1つ以上の設定を特定の画像に関して変更させる能力を含んでもよい。従来的なHDRモードでは、コンテンツ捕捉デバイスと関連付けられるソフトウェアおよび/またはハードウェアは、3つまたは5つのフレームのシーケンスのための露出値(例えば、時として、EVと略されることもある、コンテンツ捕捉デバイスのシャッタ速度およびf値の組み合わせを表す数)を+/-1EVまたは+/-1EVおよび+/-3Eだけ自動的に調節するようにプログラムされてもよい。いくつかの実施例では、EVは、事前決定されたサイズの露出ステップであってもよい。例えば、3フレームHDRモードは、第1のフレームに関してEVを-1に、第2のフレームに関して0、第3のフレームに関して+1に調節してもよい。そのような実施例では、従来的なHDRモードは、画像のコントラストを増加させようとして、固定量だけ露出を無思慮に調節してもよい。本明細書に説明されるオブジェクトベースの露出方法は、画像内のオブジェクトの数のための適切な設定を提供することができる。例えば、3フレームHDRモードは、第1のフレームのための第1のオブジェクトに関して、第2のフレーム内の第2のオブジェクトに関して、第3のフレーム内の残りのオブジェクトに関して、EVを調節してもよい。
【0207】
いくつかの実施例では、AECインスタンスは、画像の1つ以上のオブジェクトと関連付けられてもよい。そのような実施例では、AECインスタンスは、1つ以上のオブジェクトのためのコンテンツ捕捉デバイス1210の1つ以上の設定を更新することを決定してもよい。いくつかの実施例では、AECの各インスタンスは、インスタンスからの更新がインスタンスの1つ以上のオブジェクトのためにカスタマイズされるように、異なる画像および異なる1つ以上のオブジェクトと関連付けられてもよい。そのような実施例では、異なる更新(異なる1つ以上のオブジェクトのための各更新)を使用して捕捉される画像は、異なるオブジェクトのために個別かつ別個にカスタマイズされる画像を作成するように組み合わせられてもよい。
【0208】
いくつかの実施例では、画像スティッチングプロセス1200は、コンテンツ捕捉デバイス1210からの3つの画像(例えば、画像n(1212)、画像n+1(1214)、および画像n+2(1216))を受信するステップを含んでもよい。3つの画像は、一度に、または連続的に受信されてもよい。加えて、3つを上回るまたは下回る画像が、受信され得ることを認識されたい。
【0209】
いくつかの実施例では、3つの画像は、画像コントローラ1220によって受信されてもよい。画像コントローラ1220は、画像を送信するAECインスタンスを決定してもよい。いくつかの実施例では、画像コントローラ1220は、画像が受信されるとループで画像をAECインスタンスに送信してもよい。例えば、ループは、第1の画像(例えば、画像n(1212))を第1のAECインスタンス1230に送信させ、第2の画像(例えば、画像n+1(1214))を第2のAECインスタンス1240に送信させ、第3の画像(例えば、画像n+2(1216))を第3のAECインスタンス1250に送信させてもよい。ループの順序を使用して、第4の画像が、(第1の画像と同様に)第1のAECインスタンス1230に送信されてもよく、第5の画像が、(第2の画像と同様に)第2のAECインスタンス1240に送信されてもよく、第6の画像が、(第3の画像と同様に)第3のAECインスタンス1250に送信されてもよい。
【0210】
画像内のオブジェクトは、より多いまたは少ない画像が1つの完全なループの中に含まれるように、より大きいまたは小さい群に分割され得ることを認識されたい。例えば、サイズ2のループは、第3の画像を第3のAECインスタンスではなくて第1のAECインスタンスに送信させるであろう。いくつかの実施例では、画像スティッチングプロセス1200の画像は、画像が容易にともに組み合わせられ得るように、近似的に同一の場面と関連付けられてもよい。
【0211】
いくつかの実施例では、第1のAECインスタンス1230は、第1の画像から1つ以上の第1のオブジェクトのための1つ以上の第1の設定1232(例えば、露出設定、利得設定、またはそれらの任意の組み合わせ)を決定してもよい。1つ以上の第1の設定1232は、将来の画像に使用されるようにコンテンツ捕捉デバイス1210に送信されてもよい。いくつかの実施例では、将来の画像は、次の画像であってもよい。他の実施例では、将来の画像は、AECインスタンスの数に基づいてもよい。例えば、3つのAECインスタンスがある場合、将来の画像は、将来に3つの画像であり得る。
【0212】
いくつかの実施例では、第2のAECインスタンス1240は、第2の画像から1つ以上の第2のオブジェクトのための1つ以上の第2の設定1242(例えば、露出設定、利得設定、またはそれらの任意の組み合わせ)を決定してもよい。そのような実施例では、第2の画像は、第1の画像の前または後に捕捉されてもよい。1つ以上の第2の設定1242は、第1のAECインスタンスに関して上記で説明されるように同様に、将来の画像に使用されるようにコンテンツ捕捉デバイス1210に送信されてもよい。
【0213】
いくつかの実施例では、第3のAECインスタンス1250は、第3の画像から1つ以上の第3のオブジェクトのための1つ以上の第3の設定1252(例えば、露出設定、利得設定、またはそれらの任意の組み合わせ)を決定してもよい。そのような実施例では、第3の画像は、第2の画像の前または後に捕捉されてもよい。1つ以上の第3の設定1252は、第1のAECインスタンスに関して上記で説明されるように同様に、将来の画像に使用されるようにコンテンツ捕捉デバイス1210に送信されてもよい。
【0214】
いくつかの実施例では、AECインスタンスからのコンテンツ捕捉デバイス1210への調節後、コンテンツ捕捉デバイス1210は、画像コントローラ1220に送信される画像を捕捉し続けてもよい。そのような実施例では、調節が行われると、新しい画像が、特定のオブジェクトのために最適化されてもよく、それによって、画像のための露出を漸増的に改良する。
【0215】
いくつかの実施例では、画像コントローラ1220はまた、画像を画像スティッチャ1202に送信してもよい。画像スティッチャ1202は、識別されたオブジェクトに基づいて画像を組み合わせてもよい。例えば、画像スティッチャ1202は、1つ以上の第1のオブジェクトのために最適化された第1の画像、1つ以上の第2のオブジェクトのために最適化された第2の画像、および第1および第2のオブジェクトに含まれない他の部分のために最適化された第3の画像および/または全体として第3の画像を受信してもよい。そのような実施例では、画像スティッチャ1202は、1つ以上の第1のオブジェクトと関連付けられる第1の画像の部分、1つ以上の第2のオブジェクトと関連付けられる第2の画像の部分、および第3の画像の部分を使用し、出力画像1204を作成してもよい。
【0216】
いくつかの実施例では、画像スティッチャ1202は、AECインスタンスの数に対応する画像の数のために画像をともにスティッチングする前に、待機してもよい。例えば、3つのAECインスタンスがある場合、画像スティッチャ1202は、画像を組み合わせる(またはスティッチングする)前に3つの画像を受信するまで待機してもよい。
【0217】
いくつかの実施例では、画像スティッチャ1202は、識別されたオブジェクトおよびそれらの相対的優先度を認識してもよい。そのような実施例では、画像スティッチャ1202は、識別されたオブジェクトおよびそれらの相対的優先度に基づいて、出力画像1204を出力してもよい。例えば、画像スティッチャ1202は、最初に、低優先度部分を生成し、次いで、低優先度部分の上に高優先度部分を生成してもよい。換言すると、高優先度オブジェクトのために調節される画像は、低優先オブジェクトのために調節される画像の上にオーバーレイされる。いくつかの実施例では、画像スティッチャ1202は、画像を生成してもよい。そのような実施例では、画像スティッチャ1202は、割り当てられた優先度を伴う3つの画像で動作するようにプログラムされてもよい。AECが3つの画像のそれぞれを受け入れると、画像スティッチャ1202は、漸進的により良いスティッチングされた画像を生成してもよい。スティッチングされた画像は、オブジェクトが最適化されていない画像ではなくてスティッチングされた画像内で識別されるように、オブジェクト識別システムへの入力として(例えば、コンテンツ捕捉デバイスのビューファインダ内または遠隔ディスプレイ上で)ユーザに表示するため、または後で使用するためにメモリ(ローカルまたはコンテンツ捕捉デバイスから遠隔にある)の中に記憶するためを含む、種々の方法で使用されてもよい。
【0218】
本発明のある実施形態によると、方法が提供される。本方法は、コンテンツ捕捉デバイスによって捕捉される第1の画像を受信するステップと、第1の画像内の第1のオブジェクトを識別するステップと、コンテンツ捕捉デバイスの第1の設定への第1の更新を決定するステップであって、第1の更新は、第1のオブジェクトに関して決定される、ステップとを含む。本方法はまた、コンテンツ捕捉デバイスによって捕捉される第2の画像を受信するステップであって、第2の画像は、第1の画像の後に捕捉される、ステップと、第2の画像内の第2のオブジェクトを識別するステップと、コンテンツ捕捉デバイスの第2の設定への第2の更新を決定するステップであって、第2の更新は、第2のオブジェクトに関して決定される、ステップとを含む。本方法はさらに、コンテンツ捕捉デバイスの第1の設定への第1の更新を実施するステップと、コンテンツ捕捉デバイスによって捕捉される第3の画像を受信するステップであって、第3の画像は、第1の更新が実施された後に捕捉される、ステップと、コンテンツ捕捉デバイスの第2の設定への第2の更新を実施するステップとを含む。本方法は、加えて、コンテンツ捕捉デバイスによって捕捉される第4の画像を受信するステップであって、第4の画像は、第2の更新が実施された後に捕捉される、ステップと、第3の画像および第4の画像を単一の画像に組み合わせるステップとを含む。
【0219】
実施例として、第1の設定および第2の設定は、露出または利得と関連付けられることができる。第1の設定は、第2の設定であり得る。また、第3の画像および第4の画像は、画像スティッチャを使用して組み合わせられることができる。第1の更新は、ニューラルネットワークを使用して決定されることができる。実施形態では、第1の更新は、第2の更新と異なる。例えば、第1の画像および第2の画像は、同一の視野を有することができる。
【0220】
図12Bは、自動露出制御の複数のインスタンスを使用し得る、画像スティッチングプロセスの別の実施例を図示する。
図12Bに図示されるプロセスは、
図12Aに図示されるものといくつかの類似性を共有し、
図12Aに関して提供される説明は、適宜、
図12Bに適用可能である。
図12Bを参照すると、コンテンツ捕捉デバイス1210(明確にする目的のために
図12Bではカメラとして参照される)が、第1の画像(画像N1261)を捕捉するために使用される。
【0221】
画像N1261は、画像コントローラ1220に提供される。画像コントローラ1220は、画像N内の最大で事前決定された数の優先オブジェクトを識別し、事前決定された数は、2以上である。実施例として、2~5つの優先オブジェクトが、実施形態では識別されることができる。
図12Bに図示される実施例は、複合画像1266内の3つの優先オブジェクト1267、1268、および1269を使用する。画像1266は、3つの優先オブジェクトを有してもよく、なぜなら、1)それが許容される最大値である(すなわち、事前決定された数の優先オブジェクトが3つであり、たとえ3つを上回る潜在的優先オブジェクトが識別されたとしても、上位3つのオプションのみが選択された)、または2)たとえ最大値に達しなくても(例えば、事前決定された数の優先オブジェクトが5つであった)、優先オブジェクトと見なされ得る3つだけのオブジェクトが画像内で識別された、または3)本システムが、場面に含有されるものにかかわらず、常に事前決定された数の優先オブジェクトを返すであろう(すなわち、本システムが3の選択を強制するであろう)からである。3つの優先オブジェクトが
図12Bに図示されるが、より少数(例えば、2)またはより多数(例えば、4以上の)が、本発明の実施形態で利用され得ることが、当業者に明白であろう。いくつかの実施例では、優先オブジェクトのセットが、第1の画像内で識別される優先オブジェクトのより大きいセットから使用するために選択される。システムの複雑性および計算の負担を削減するために、優先オブジェクトの数は、所与の数、例えば、最大で5つの優先オブジェクトに限定されてもよい。
【0222】
画像コントローラ1220は、画像を複数のAECインスタンス1230、1240、および1250に送信し、AECインスタンスの数は、識別される優先オブジェクトの数に等しい。いくつかの実施例では、画像コントローラ1220は、連続的様式で画像NをN個のAECインスタンスに同時に送信してもよい。
【0223】
AECインスタンスは、事前決定された数の優先オブジェクト毎に、コンテンツ捕捉デバイスの1つ以上の設定のための更新を決定するために使用される。
図12Bに図示されるように、画像N1261は、1つ以上の設定のための更新を決定するように、3つの異なるAECインスタンス1230、1240、および1250を使用して分析されることができ、更新はそれぞれ、優先オブジェクトのうちの1つに合わせてカスタマイズされる。故に、AECインスタンスは、コンテンツ捕捉デバイスのための設定を決定するために使用され、各AECインスタンスは、特定の優先オブジェクトのうちの1つに合わせてカスタマイズされる機能を果たす。設定は、露出設定、利得設定、またはそれらの任意の組み合わせであってもよい。
【0224】
反復プロセスが、次いで、実施され、反復の数は、事前決定された数と等しい。
図12Bに図示されるように、コンテンツ捕捉デバイスが、事前決定された数の更新(すなわち、3つの更新)のそれぞれを使用して更新されると、画像N+1、N+2、およびN+3のセットが、捕捉される。第1の画像は、第1の優先オブジェクトに合わせてカスタマイズされ、実施形態では、第1の優先オブジェクトのための最適化された露出設定を提供する。反復様式で、コンテンツ捕捉デバイスは、コンテンツ捕捉デバイスの1つ以上の設定のための次の更新を使用して更新され、次の画像が、取得される。本プロセスは、事前決定された数の画像が捕捉されるまで、更新毎に継続する。したがって、
図12Bでは、画像N+1、N+2、およびN+3のセットはそれぞれ、個別の優先オブジェクト1267、1268、および1269に合わせてカスタマイズされる(例えば、最適化される)1つ以上の設定を使用して、捕捉される。当然ながら、3つを上回る設定および画像が、捕捉されることができる。
【0225】
当業者に明白であろうように、画像1265のセットはそれぞれ、事前決定された数の優先オブジェクトのそれぞれと関連付けられる一部を含むであろう。実施例として、画像N+1は、優先オブジェクト1267と関連付けら得、画像N+2は、優先オブジェクト1268と関連付けら得、画像N+3は、優先オブジェクト1269と関連付けられ得る。特定の優先オブジェクトに合わせてカスタマイズされる(例えば、最適化される)設定を使用して、それぞれ捕捉される、画像のセットは、画像スティッチャ1260に提供される。画像スティッチャ1260は、事前決定された数の画像(すなわち、画像1265のセット)を複合画像1266にともにスティッチングするために使用される。
図12Bに図示されるように、画像1265のセットは、優先オブジェクトのうちの1つと関連付けられる各画像の部分を抽出するために使用されることができ、これらの部分は、次いで、部分を単一の画像に組み合わせる複合画像1266を形成するように、ともにスティッチングされることができる。画像のセットのそれぞれの一部分が、優先オブジェクトのうちの1つのために最適化されるため、単一の画像は、各優先オブジェクトの最適化された画像を含むであろう。複合画像は、次いで、ユーザに表示されることができる。また、いくつかの実装では、画像コントローラ1220および画像スティッチャ1260の機能性は、単一のマスタ画像処理ユニットにおいて組み合わせられることができる。
【0226】
図12Cは、自動露出制御の複数のインスタンスを使用するためのプロセスの実施形態を図示するフローチャートである。方法1270は、コンテンツ捕捉デバイスから画像を受信するステップ(1272)と、画像内の事前決定された数(n)の優先オブジェクトを識別するステップ(1274)とを含む。実施形態では、識別された優先オブジェクトは、画像内の上位n個の優先オブジェクトであることができる。3つの優先オブジェクトが
図12Bに図示されるが、本発明の実施形態は、3に限定されず、nは、3よりも大きくあり得るかまたは3未満であり得る。本方法はまた、優先オブジェクト1のためのコンテンツ捕捉デバイスの設定を決定するステップ(1276)と、優先オブジェクト2のためのコンテンツ捕捉デバイスの設定を決定するステップ(1278)と、優先オブジェクトnのためのコンテンツ捕捉デバイスの設定を決定するステップ(1280)とを含む。実施例として、1つ以上の設定とも称される設定は、それらが着目優先オブジェクトの望ましい(例えば、最良の)露出をもたらす露出値を提供するという意味で、最適化された設定であることができる。
図12Bに図示されるように、AECインスタンス1230、1240、および1250は、露出設定、利得設定、またはそれらの任意の組み合わせを含み得る、これらの設定を提供するために利用されることができる。
【0227】
1つ以上の第1の設定は、設定を調節するために、コンテンツ捕捉デバイスに送信されてもよい。故に、コンテンツ捕捉デバイスのための設定は、優先オブジェクト1(1282)、優先オブジェクト2(1284)、および優先オブジェクト3(1286)のために調節される。更新された設定のセットを使用して、画像のセットが、コンテンツ捕捉デバイスを使用して捕捉される。優先オブジェクト1のために適合される画像が、捕捉され(1288)、優先オブジェクト2のために適合される画像が、捕捉され(1290)、優先オブジェクト3のために適合される画像が、捕捉される(1292)。これらの新しい画像が特定の優先オブジェクトのために最適化されるため、これらの画像のそれぞれのための露出は、各優先オブジェクトに関して改良される。
【0228】
本方法はまた、画像のセットの部分をともにスティッチングし、優先オブジェクト1からn 1294のために適合される複合画像を形成するステップも含む。したがって、
図12Bに図示される画像スティッチャ1202は、第1の優先オブジェクトと関連付けられる第1の画像の一部、第2の優先オブジェクトと関連付けられる第2の画像の一部、および第3の優先オブジェクトと関連付けられる第3の画像の一部を使用し、単一の画像1266を作成してもよい。
図12Aの画像スティッチングに関連する説明は、適宜、
図12Cに関して説明される方法に適用可能である。
【0229】
したがって、複数の優先オブジェクトを含む、ブロック1272において受信される単一の画像を使用して、1つ以上のAECインスタンスが、単一の画像内で識別される優先オブジェクトのそれぞれに特有である、更新された(例えば、最適化された)設定を決定するために使用されることができる。次いで、更新された設定を使用して、画像のセットが、捕捉されることができ、セットの中の各画像は、優先オブジェクト毎にカスタマイズされる(例えば、最適化される)。部分が優先オブジェクトのうちの1つと関連付けられる、セットの中の各画像の部分をともにスティッチングすることは、露出設定が複合画像の全体を通して変動し、優先オブジェクトに合わせてカスタマイズされる、ユーザ1296に表示され得るスティッチングされた画像の生成を可能にする。
【0230】
図13は、画像スティッチングプロセス(例えば、画像スティッチングプロセス1200)と併用され得る画像ストリームの実施例を図示する。画像ストリームは、画像コントローラ(例えば、画像コントローラ1220)によって受信され得る、複数の画像を図示する。
図13の実施例では、点線を伴う画像内のオブジェクトは、AECインスタンスがオブジェクトに集中しないことを示す。一方で、実線を伴う画像内のオブジェクトは、AECインスタンスがオブジェクトに基づいて実施されることを示す。
【0231】
図13の画像は、AECインスタンスに送信される画像に分離される。例えば、画像1(1332)は、第1のAECインスタンス1330に送信される。画像1(1332)は、第1のAECインスタンス1330が第1のオブジェクト1362に基づいて実施されることを示す、実線を伴う第1のオブジェクト1362を有するものとして図示される。画像1(1332)はまた、第2のオブジェクト1364と、第3のオブジェクト1366とを有する。第2のオブジェクト1364および第3のオブジェクト1366は、第1のAECインスタンス1330が識別されていないものとして両方のオブジェクトを扱うことを示す点線を有するものとして図示される。
【0232】
第1のAECインスタンス1330は、コンテンツ捕捉デバイス(例えば、コンテンツ捕捉デバイス1210)の1つ以上の設定(例えば、露出設定、利得設定、またはそれらの任意の組み合わせ)のための調節を決定してもよい。調節は、コンテンツ捕捉デバイス1210がコンテンツ捕捉デバイス1210の1つ以上の設定を調節するように、コンテンツ捕捉デバイス1210に送信されてもよい。いくつかの実施例では、1つ以上の設定は、コンテンツ捕捉デバイス1210が画像を捕捉する直前にコンテンツ捕捉デバイス1210に送信されてもよい。そのような実施例では、1つ以上の設定の受信に応じて、コンテンツ捕捉デバイス1210は、その設定を調節してもよい。他の実施例では、コンテンツ捕捉デバイス1210は、1つ以上の設定を受信し、(上記で説明されるようなループに基づくような)1つ以上の設定を伴って画像を捕捉する時間まで待機するように構成されてもよい。
【0233】
画像2(1368)は、第2のAECインスタンス1340に送信されてもよい。第2のAECインスタンス1340は、第2のオブジェクト1364に対応するオブジェクトに基づいて実施されてもよい。画像3(1370)は、第3のAECインスタンス1350に送信されてもよい。第3のAECインスタンス1350は、第3のオブジェクト1366に対応するオブジェクトに基づいて実施されてもよい。第2および第3のAECインスタンス(1340、1350)はまた、(第1のAECインスタンス1330に関して上記で説明されるように同様に)1つ以上の設定を決定し、コンテンツ捕捉デバイス1210に送信してもよい。
【0234】
画像1(1360)、画像2(1368)、および画像3(1370)は、ループを表してもよい。1つ以上の設定がAECインスタンスに起因して設定された後、付加的画像が、1つ以上の設定とともに捕捉されてもよい。付加的画像が捕捉された後、画像コントローラは、1つ以上の設定が設定されたAECインスタンスを決定してもよい。画像コントローラは、次いで、付加的画像を決定されたAECインスタンスに送信してもよい。例えば、第1のAECインスタンス1330は、画像1に基づいて、1つ以上の第1の設定を設定してもよい(1360)。画像コントローラが、1つ以上の第1の設定を使用して捕捉され得る、画像4を受信するとき(1372)、画像コントローラは、画像4(1372)を第1のAECインスタンス1330に送信してもよい。同様に、画像5(1374)は、第2のAECインスタンス1340に送信されてもよく、画像6(1376)は、第3のAECインスタンス1350に送信されてもよい。
【0235】
画像4、5、および6(1372、1374、1376)は、第2のループを表してもよい。本プロセスは、画像n、n+1、およびn+2(1378、1380、1382)が受信されるまで継続してもよい。新しい画像と関連付けられるAECインスタンスを決定するステップと、新しい画像を捕捉するために使用される1つ以上の設定を生成したAECインスタンスに新しい画像を送信するステップとを含む、類似プロセスが起こってもよい。例えば、画像n(1378)は、第1のAECインスタンス1330に送信されてもよく、画像n+1(1380)は、第2のAECインスタンス1340に送信されてもよく、画像n+2(1382)は、第3のAECインスタンス1350に送信されてもよい。
【0236】
図14は、第3の加重モデルを使用する、自動露出制御のためのプロセス1400の実施形態を図示するフローチャートである。いくつかの側面では、プロセス1400は、コンピューティングデバイスによって実施されてもよい。
【0237】
プロセス1400は、論理フロー図として図示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組み合わせで実装され得る、一連の動作を表す。コンピュータ命令との関連で、動作は、1つ以上のプロセッサによって実行されると、記載される動作を実施する、1つ以上のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を果たす、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および同等物を含む。動作が説明される順序は、限定として解釈されることを意図しておらず、任意の数の説明される動作が、プロセスを実装するように、任意の順序で、および/または並行して組み合わせられてもよい。
【0238】
加えて、プロセス1400は、実行可能命令を伴って構成される1つ以上のコンピュータシステムの制御下で実施されてもよく、1つ以上のプロセッサ上で、ハードウェアによって、またはそれらの組み合わせで集合的に実行するコード(例えば、実行可能命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実装されてもよい。上記のように、コードは、機械可読記憶媒体上に、例えば、1つ以上のプロセッサによって実行可能な複数の命令を備える、コンピュータプログラムの形態で、記憶されてもよい。機械可読記憶媒体は、非一過性であり得る。
【0239】
プロセス1400は、コンテンツ捕捉デバイスによって捕捉される第1の画像を受信するステップ(1405)を含んでもよい。いくつかの実施例では、コンテンツ捕捉デバイスは、高ダイナミックレンジ(HDR)モードであってもよい。HDRモードは、複数の写真を、変動する設定(例えば、露出設定、利得設定、またはそれらの任意の組み合わせ)を伴って近い時間に撮影させてもよい。
【0240】
プロセス1400はさらに、第1の画像内の第1のオブジェクトを識別するステップ(1410)を含んでもよい。いくつかの実施例では、第1のオブジェクトは、オブジェクト識別システムを使用して識別されてもよい。そのような実施例では、オブジェクト識別システムは、第1のオブジェクトのタイプ(例えば、個人、動物、建物、または同等物)を識別してもよい。他の実施例では、オブジェクト識別システムは、単なる第1のオブジェクトのタイプ(例えば、第1のオブジェクトがBob Marleyであること)以上に、第1のオブジェクトの1つ以上の属性または特性を識別してもよい。いくつかの実施例では、オブジェクト識別システムは、第1のオブジェクトが別のシステム(仮想オブジェクトを設置する場所を決定している複合現実システム等)によって処理されているかどうかを識別してもよい。
【0241】
プロセス1400はさらに、コンテンツ捕捉デバイスの第1の設定への第1の更新を決定するステップ(1415)を含んでもよい。いくつかの実施例では、第1の更新は、第1のオブジェクトに関して決定されてもよい。そのような実施例では、第1の更新は、第1の加重モデルおよび/または第2の加重モデルを含む、本明細書に説明される加重モデルのうちのいずれかを使用して決定されてもよい。いくつかの実施例では、第1の設定は、露出設定、利得設定、またはそれらの任意の組み合わせであってもよい。そのような実施例では、露出設定は、シャッタ速度、ISO速度、またはそれらの任意の組み合わせであってもよい。利得設定は、デジタル利得、アナログ利得、またはそれらの任意の組み合わせであってもよい。
【0242】
プロセス1400はさらに、コンテンツ捕捉デバイスによって捕捉される第2の画像を受信するステップ(1420)を含んでもよい。いくつかの実施例では、第2の画像は、第1の画像の前または後に捕捉されてもよい。いくつかの実施例では、第2の画像は、HDRモードに従って捕捉されてもよい。
【0243】
プロセス1400はさらに、第2の画像内の第2のオブジェクトを識別するステップ(1425)を含んでもよい。いくつかの実施例では、第2オブジェクトは、上記に説明されるオブジェクト識別システムを使用して識別されてもよい。
【0244】
プロセス1400はさらに、コンテンツ捕捉デバイスの第2の設定への第2の更新を決定するステップ(1430)を含んでもよい。いくつかの実施例では、第2の更新は、第2のオブジェクトに関して決定されてもよい。いくつかの実施例では、第2の更新は、第1の加重モデルおよび/または第2の加重モデルを含む、本明細書に説明される加重モデルのうちのいずれかを使用して決定されてもよい。そのような実施例では、第2の更新に使用される加重モデルは、第1の更新に使用される加重モデルと同一である、または異なり得る。
【0245】
プロセス1400はさらに、コンテンツ捕捉デバイスの第1の設定への第1の更新を実施するステップ(1435)を含んでもよい。第1の更新を実施するステップは、コンテンツ捕捉デバイスに第1の設定を変更させる、1つ以上の命令をコンテンツ捕捉デバイスに送信するステップを含んでもよい。いくつかの実施例では、第1の設定を将来の時点で(例えば、第1の設定を使用しているはずである画像が撮影されようとするときに)更新させる、1つ以上の命令が、送信されてもよい。他の実施例では、1つ以上の命令は、画像がコンテンツ捕捉デバイスから捕捉された(または受信された)後に送信されてもよく、捕捉は、第1の設定を使用し得る、新しい画像が捕捉されようとしていることを示す。
【0246】
プロセス1400はさらに、コンテンツ捕捉デバイスによって捕捉される第3の画像を受信するステップ(1440)を含んでもよい。いくつかの実施例では、第3の画像は、第1の更新が実施された後に捕捉されてもよい。そのような実施例では、第1の更新は、第3の画像が第1の更新に基づく露出を伴って捕捉されるように、コンテンツ捕捉デバイスに適用されてもよい。
【0247】
プロセス1400はさらに、コンテンツ捕捉デバイスの第2の設定への第2の更新を実施するステップ(1345)を含んでもよい。第2の更新を実施するステップは、コンテンツ捕捉デバイスに第2の設定を変更させる、1つ以上の命令をコンテンツ捕捉デバイスに送信するステップを含んでもよい。いくつかの実施例では、第2の設定を将来の時点で(例えば、第2の設定を使用しているはずである画像が撮影されようとするときに)更新させる、1つ以上の命令が、送信されてもよい。他の実施例では、1つ以上の命令は、画像がコンテンツ捕捉デバイスから捕捉された(または受信された)後に送信されてもよく、捕捉は、第2の設定を使用し得る、新しい画像が捕捉されようとしていることを示す。
【0248】
プロセス1400はさらに、コンテンツ捕捉デバイスによって捕捉される第4の画像を受信するステップ(1450)を含んでもよい。いくつかの実施例では、第4の画像は、第2の更新が実施された後に捕捉されてもよい。そのような実施例では、第2の更新は、第4の画像が第2の更新に基づく露出を伴って捕捉されるように、コンテンツ捕捉デバイスに適用されてもよい。
【0249】
プロセス1400はさらに、第3の画像および第4の画像を見るための単一の画像に組み合わせるステップ(1455)を含んでもよい。いくつかの実施例では、組み合わせる(例えば、スティッチングする)ステップは、第3の画像の一部および第4の画像の一部を取り込むステップを含んでもよい。例えば、第3の画像は、第1のオブジェクトのために最適化された第1の画像に対応してもよい。そのような実施例では、取り込まれる第3の画像の一部は、組み合わせるステップが、第1のオブジェクトと関連付けられる第3の画像の一部を取り込むステップを含むように、第1のオブジェクトと関連付けられてもよい。同様に、第4の画像は、第2のオブジェクトのために最適化された第2の画像に対応してもよい。したがって、取り込まれる第4の画像の一部は、組み合わせるステップが、第2のオブジェクトと関連付けられる第4の画像の一部を取り込むステップを含み得るように、第2のオブジェクトと関連付けられてもよい。それぞれ、第1および第2のオブジェクトと関連付けられる第3および第4の画像の一部を取り込んだ後、第3および第4の画像の他の部分は、第3の画像と第4の画像との間で平均化されてもよい。他の部分は、他の部分が第1の更新および/または第2の更新によって最適化されなかったように、第1のオブジェクトまたは第2のオブジェクトのいずれかと関連付けられなくてもよい。しかしながら、画像は、種々の方法でスティッチングされ得る(または組み合わせられ得る)ことを認識されたい。
【0250】
いくつかの実施例では、プロセス1400は、第1のサイクルと、第2のサイクルとを含んでもよい。第1のサイクルは、第1の画像と、第2の画像とを含んでもよい。第2のサイクルは、第3の画像と、第4の画像とを含んでもよい。いくつかの実施例では、各新しいサイクルは、動作が各新しいサイクルで実施され続けるように、さらに2つの画像を含んでもよい。いくつかの実施例では、各新しいサイクルは、(第1の画像および第2の画像と同様に)コンテンツ捕捉デバイスの設定を更新するために使用されるとともに、(第3の画像および第4の画像と同様に)組み合わせられてもよい。例えば、(第1の画像および第2の画像に関して説明されるように)更新を決定するステップは、第3の画像および第4の画像に関して実施されてもよい。
【0251】
図15は、コンピュータシステムのブロック図の実施例を図示する。本実施例では、コンピュータシステム1500は、モニタ1510と、コンピュータ1520と、キーボード1530と、ユーザ入力デバイス1540と、1つ以上のコンピュータインターフェース1550と、同等物とを含む。本実施例では、ユーザ入力デバイス1540は、典型的には、コンピュータマウス、トラックボール、トラックパッド、ジョイスティック、無線リモート、ドローイングタブレット、音声コマンドシステム、視線追跡システム、および同等物として具現化される。ユーザ入力デバイス1540は、典型的には、ユーザが、ボタンまたは同等物のクリック等のコマンドを介して、モニタ1510上に出現するオブジェクト、アイコン、テキスト、および同等物を選択することを可能にする。
【0252】
コンピュータインターフェース1550の実施例は、典型的には、イーサネット(登録商標)カード、モデム(電話、衛星、ケーブル、ISDN)、(非同期)デジタルサブスクライバ回線(DSL)ユニット、FireWireインターフェース、USBインターフェース、および同等物を含む。例えば、コンピュータインターフェース1550は、コンピュータネットワーク1555、FireWireバス、または同等物に結合されてもよい。他の実施形態では、コンピュータインターフェース1550は、コンピュータ1520のマザーボード上に物理的に統合されてもよい、ソフトDSL等のソフトウェアプログラムであってもよい、または同等物である。
【0253】
種々の実施例では、コンピュータ1520は、典型的には、プロセッサ1560等のよく知られたコンピュータコンポーネントと、ランダムアクセスメモリ(RAM)1570等のメモリ記憶デバイスと、ディスクドライブ1580と、上記のコンポーネントを相互接続するシステムバス1590とを含む。
【0254】
RAM1570およびディスクドライブ1580は、実行可能コンピュータコード、人間が読み取れるコード、または同等物を含む、本開示の実施形態等のデータを記憶するように構成される有形媒体の実施例である。他のタイプの有形媒体は、フロッピー(登録商標)ディスク、リムーバブルハードディスク、CD-ROM、DVD、およびバーコード等の光学記憶媒体、フラッシュメモリ等の半導体メモリ、読取専用メモリ(ROMS)、バッテリバックアップされた揮発性メモリ、ネットワーク化記憶デバイス、および同等物を含む。
【0255】
種々の実施例では、コンピュータシステム1500はまた、HTTP、TCP/IP、RTP/RTSPプロトコル、および同等物等のネットワークを経由した通信を可能にするソフトウェアを含んでもよい。本開示の代替実施形態では、他の通信ソフトウェアおよび転送プロトコル、例えば、IPX、UDP、または同等物もまた、使用されてもよい。
【0256】
本明細書に説明される特徴は、デジタル電子回路で、またはコンピュータハードウェア、ファームウェア、ソフトウェアで、またはそれらの組み合わせで、実装されてもよい。本装置は、プログラマブルプロセッサによる実行のために、情報キャリアで(例えば、機械可読記憶デバイスで)有形に具現化される、コンピュータプログラム製品で実装されてもよく、方法ステップは、入力データに作用し、出力を生成することによって、説明される実装の機能を果たすように命令のプログラムを実行する、プログラマブルプロセッサによって実施されてもよい。説明される特徴は、有利なこととして、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するように、そしてそこにデータおよび命令を伝送するように結合される、少なくとも1つのプログラマブルプロセッサを含む、プログラマブルシステム上で実行可能である、1つ以上のコンピュータプログラムで実装されてもよい。コンピュータプログラムは、あるアクティビティを実施する、またはある結果をもたらすように、コンピュータで直接または間接的に使用され得る、命令のセットである。コンピュータプログラムは、コンパイラまたはインタープリタ型言語を含む、任意の形態のプログラミング言語で書かれてもよく、これは、独立型プログラムとして、またはコンピューティング環境内で使用するために好適なモジュール、コンポーネント、サブルーチン、または他のユニットとしての形態を含む、任意の形態で展開されてもよい。
【0257】
命令のプログラムの実行のための好適なプロセッサは、一例として、汎用および専用マイクロプロセッサの両方、および任意の種類のコンピュータの唯一のプロセッサまたは複数のプロセッサのうちの1つを含む。概して、プロセッサは、読取専用メモリまたはランダムアクセスメモリまたは両方から命令およびデータを受信するであろう。コンピュータの不可欠な要素は、命令を実行するためのプロセッサ、および命令およびデータを記憶するための1つ以上のメモリである。概して、コンピュータはまた、データファイルを記憶するための1つ以上の大容量記憶デバイスを含み、またはそれに動作可能に結合され、そのようなデバイスは、内部ハードディスクおよびリムーバブルディスク等の磁気ディスク、光磁気ディスク、および光ディスクを含むであろう。コンピュータプログラム命令およびデータを明白に具現化するために好適な記憶デバイスは、一例として、EPROM、EEPROM、およびフラッシュメモリデバイス等の半導体メモリデバイス、内部ハードディスクおよびリムーバブルディスク等の磁気ディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスクを含む、全ての形態の不揮発性メモリを含む。プロセッサおよびメモリは、ASIC(特定用途向け集積回路)によって補完される、またはそれに組み込まれてもよい。
【0258】
ユーザとの相互作用を提供するために、特徴は、情報をユーザに表示するためのCRT(陰極線管)、LCD(液晶ディスプレイ)、LED(発光ダイオード)モニタ等の表示デバイスと、それによってユーザが入力をコンピュータに提供し得る、キーボードおよびマウスまたはトラックボール等のポインティングデバイスとを有する、コンピュータ上で実装されてもよい。
【0259】
特徴は、データサーバ等のバックエンドコンポーネントを含む、またはアプリケーションサーバまたはインターネットサーバ等のミドルウェアコンポーネントを含む、またはグラフィカルユーザインターフェースまたはインターネットブラウザを有する、クライアントコンピュータ等のフロントコンポーネントを含む、またはそれらの任意の組み合わせである、コンピュータシステムで実装されてもよい。システムのコンポーネントは、通信ネットワーク等の任意の形態または媒体のデジタルデータ通信によって接続されてもよい。通信ネットワークの実施例は、LAN、WAN、およびインターネットを形成するコンピュータおよびネットワークを含む。
【0260】
コンピュータシステムは、クライアントと、サーバとを含んでもよい。クライアントおよびサーバは、概して、相互から遠隔にあり、典型的には、説明されるもの等のネットワークを通して相互作用する。クライアントおよびサーバの関係は、個別のコンピュータ上で起動し、相互とクライアント・サーバ関係を有する、コンピュータプログラムにより生じる。いくつかの実装が、上記で詳細に説明されているが、他の修正も可能である。
【0261】
加えて、図に描写される論理フローは、望ましい結果を達成するために、示される特定の順序または連続順序を要求しない。加えて、他のステップが、提供されてもよい、またはステップが、説明されるフローから排除されてもよく、他のコンポーネントが、説明されるシステムに追加されてもよい、または、そこから除去されてもよい。故に、他の実装も、以下の請求項の範囲内である。
【0262】
コンポーネントが、ある動作を実施するように構成されるものとして説明される場合、そのような構成は、例えば、動作を実施するように電子回路または他のハードウェアを設計することによって、動作を実施するようにプログラマブル電子回路(例えば、マイクロプロセッサまたは他の好適な電子回路)をプログラムすることによって、またはそれらの任意の組み合わせによって、遂行されてもよい。
【0263】
本開示のいくつかの実施形態が、説明されている。それでもなお、種々の修正が、本開示の範囲から逸脱することなく行われ得ることを理解されたい。