(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-20
(54)【発明の名称】画像キャプチャ動作を改善するための機構
(51)【国際特許分類】
H04N 23/611 20230101AFI20231213BHJP
H04N 23/63 20230101ALI20231213BHJP
G06T 7/11 20170101ALI20231213BHJP
G06V 10/25 20220101ALI20231213BHJP
【FI】
H04N23/611
H04N23/63 330
H04N23/63 100
G06T7/11
G06V10/25
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023522448
(86)(22)【出願日】2020-10-22
(85)【翻訳文提出日】2023-04-12
(86)【国際出願番号】 CN2020122647
(87)【国際公開番号】W WO2022082554
(87)【国際公開日】2022-04-28
(81)【指定国・地域】
(71)【出願人】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】ホウ、ヤオヤオ
(72)【発明者】
【氏名】ワン、シャオチェン
(72)【発明者】
【氏名】ティエン、ジーガン
【テーマコード(参考)】
5C122
5L096
【Fターム(参考)】
5C122DA03
5C122DA04
5C122EA12
5C122FD01
5C122FF01
5C122FG14
5C122FH03
5C122FH10
5C122FH11
5C122FH14
5C122FK28
5C122FK37
5C122FK41
5C122FL08
5C122GA01
5C122HA13
5C122HA35
5C122HA46
5C122HB01
5C122HB05
5L096CA02
5L096CA24
5L096FA02
5L096FA16
5L096JA11
(57)【要約】
1つまたは複数の画像キャプチャ動作を改善するための技法およびシステムが提供される。いくつかの例では、システムは、画像フレーム内のロケーションの選択に対応するユーザ入力を検出する。システムは、画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定すること、関心領域は、選択されたロケーションを含み、あらかじめ決定されたサイズまたはあらかじめ決定された形状を有する、を行う。システムは、次いで、決定に少なくとも部分的に基づいて関心領域を調整し、調整された関心領域内で画像データの1つまたは複数の画像キャプチャ動作を実施する。
【選択図】
図3A
【特許請求の範囲】
【請求項1】
画像フレーム中での1つまたは複数の画像キャプチャ動作を改善するための方法であって、
画像フレーム内のロケーションの選択に対応するユーザ入力を検出することと、
前記画像フレームの関心領域内に前記画像フレームがオブジェクトを少なくとも部分的に含むと決定することと、前記関心領域は、前記選択されたロケーションを含み、あらかじめ決定されたサイズまたはあらかじめ決定された形状を有し、
前記決定に少なくとも部分的に基づいて、前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することと、
前記調整された関心領域内で画像データの前記1つまたは複数の画像キャプチャ動作を実施することと、
を備える方法。
【請求項2】
カメラデバイスが画像キャプチャモードにある間に、前記カメラデバイスによってキャプチャされた画像フレームを含むフレームのプレビューストリーム内で、前記画像フレームを受信することをさらに備える、請求項1に記載の方法。
【請求項3】
前記画像フレームの前記関心領域内に前記画像フレームがオブジェクトを少なくとも部分的に含むと決定することは、前記関心領域内でオブジェクト検出アルゴリズムを実施することを含む、請求項1に記載の方法。
【請求項4】
前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することは、前記オブジェクト検出アルゴリズムに基づいて前記関心領域の前記あらかじめ決定された形状を調整することを含む、請求項3に記載の方法。
【請求項5】
前記オブジェクト検出アルゴリズムに基づいて前記関心領域の前記あらかじめ決定された形状を調整することは、
前記オブジェクト検出アルゴリズムに基づいて前記オブジェクトのための境界ボックスを決定することと、
前記境界ボックスとして前記関心領域を設定することと、
を含む、請求項4に記載の方法。
【請求項6】
前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することは、少なくとも1つの軸に沿って前記関心領域の前記あらかじめ決定されたサイズを減少させることを含む、請求項1に記載の方法。
【請求項7】
前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することは、少なくとも1つの軸に沿って前記関心領域の前記あらかじめ決定されたサイズを増加させることを含む、請求項1に記載の方法。
【請求項8】
前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することは、前記関心領域の境界と前記オブジェクトの境界との間の距離を減少させることを含む、請求項1に記載の方法。
【請求項9】
前記関心領域の前記境界と前記オブジェクトの前記境界との間の前記距離を減少させることは、
前記画像フレーム内のオブジェクトの輪郭を決定することと、
前記画像フレーム内の前記オブジェクトの前記輪郭として前記関心領域の前記境界を設定することと、
を含む、請求項8に記載の方法。
【請求項10】
前記画像フレーム内の前記オブジェクトの前記輪郭を決定することは、前記画像フレーム内の前記輪郭に対応するピクセルを決定することを含む、請求項9に記載の方法。
【請求項11】
前記関心領域内に前記画像フレームが前記オブジェクトを少なくとも部分的に含むと決定することは、前記画像フレームは、前記画像フレーム内の複数の関心領域内に1つまたは複数のオブジェクトを少なくとも部分的に含むと決定することを含み、
前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することは、前記複数の関心領域のあらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することを含む、
請求項1に記載の方法。
【請求項12】
前記画像フレーム内に、前記調整された関心領域を示す視覚グラフィックを覆うことをさらに備える、請求項1に記載の方法。
【請求項13】
前記視覚グラフィックに関連する追加のユーザ入力を検出すること、をさらに備え、前記追加のユーザ入力は、前記調整された関心領域への少なくとも1つの追加の調整を示す、請求項12に記載の方法。
【請求項14】
前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状への異なる調整に対応する複数の候補の調整された関心領域を決定することと、
前記画像フレーム内に、前記複数の候補の調整された関心領域に対応する複数の視覚グラフィックを連続的に表示することと、
前記複数の候補の調整された関心領域のうちの1つの候補の調整された関心領域の選択を、前記1つの候補の調整された関心領域に対応する前記複数の視覚グラフィックのうちの1つの視覚グラフィックに関連する追加のユーザ入力を検出することに基づいて決定することと、
をさらに備える、請求項1に記載の方法。
【請求項15】
前記1つまたは複数の画像キャプチャ動作は、オートフォーカス動作を含む、請求項1に記載の方法。
【請求項16】
前記1つまたは複数の画像キャプチャ動作は、自動露出動作を含む、請求項1に記載の方法。
【請求項17】
前記1つまたは複数の画像キャプチャ動作は、自動ホワイトバランス動作を含む、請求項1に記載の方法。
【請求項18】
前記調整された関心領域内の前記画像データの前記1つまたは複数の画像キャプチャ動作を実施した後に、ディスプレイ上に前記画像フレームを表示することをさらに備える、請求項1に記載の方法。
【請求項19】
画像フレーム中での1つまたは複数の画像キャプチャ動作を改善するための装置であって、
メモリと、
プロセッサと
を備え、前記プロセッサは、
画像フレーム内のロケーションの選択に対応するユーザ入力を検出することと、
前記画像フレームの関心領域内に前記画像フレームがオブジェクトを少なくとも部分的に含むと決定することと、前記関心領域は、前記選択されたロケーションを含み、あらかじめ決定されたサイズまたはあらかじめ決定された形状を有し、
前記決定に少なくとも部分的に基づいて、前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することと、
前記調整された関心領域内で画像データの前記1つまたは複数の画像キャプチャ動作を実施することと、
を行うように構成された装置。
【請求項20】
前記プロセッサは、カメラデバイスが画像キャプチャモードにある間に、前記カメラデバイスによってキャプチャされた画像フレームを含むフレームのプレビューストリーム内で、前記画像フレームを受信することを行うようにさらに構成された、請求項19に記載の装置。
【請求項21】
前記プロセッサは、前記画像フレームの前記関心領域内でオブジェクト検出アルゴリズムを実施することに基づいて、前記画像フレームの前記関心領域内に前記画像フレームが前記オブジェクトを少なくとも部分的に含むと決定することを行うように構成された、請求項20に記載の装置。
【請求項22】
前記プロセッサは、
前記オブジェクト検出アルゴリズムに基づいて前記オブジェクトのための境界ボックスを決定することと、
前記境界ボックスとして前記関心領域を設定することと、
を行うように構成された、請求項21に記載の装置。
【請求項23】
前記プロセッサは、少なくとも1つの軸に沿って前記関心領域の前記あらかじめ決定されたサイズを減少させることを行うように構成された、請求項19に記載の装置。
【請求項24】
前記プロセッサは、少なくとも1つの軸に沿って前記関心領域の前記あらかじめ決定されたサイズを増加させることを行うように構成された、請求項19に記載の装置。
【請求項25】
前記プロセッサは、前記関心領域の境界と前記オブジェクトの境界との間の距離を減少させることを行うように構成された、請求項19に記載の装置。
【請求項26】
前記プロセッサは、
前記画像フレーム内のオブジェクトの輪郭を決定することと、
前記画像フレーム内の前記オブジェクトの前記輪郭として前記関心領域の前記境界を設定することと、
を行うように構成された、請求項25に記載の装置。
【請求項27】
前記プロセッサは、前記画像フレーム内の前記輪郭に対応するピクセルを決定することを行うように構成された、請求項26に記載の装置。
【請求項28】
前記プロセッサは、
前記画像フレーム内の複数の関心領域内に前記画像フレームが1つまたは複数のオブジェクトを少なくとも部分的に含むと決定することに基づいて、前記関心領域内に前記画像フレームが前記オブジェクトを少なくとも部分的に含むと決定することと、
少なくとも部分的に、前記複数の関心領域のあらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することによって、前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することと、
を行うように構成された、請求項19に記載の装置。
【請求項29】
前記プロセッサは、前記画像フレーム内に、前記調整された関心領域を示す視覚グラフィックを覆うことを行うように構成された、請求項19に記載の装置。
【請求項30】
前記プロセッサは、前記視覚グラフィックに関連する追加のユーザ入力を検出すること、を行うようにさらに構成され、前記追加のユーザ入力は、前記調整された関心領域への少なくとも1つの追加の調整を示す、請求項29に記載の装置。
【請求項31】
前記プロセッサは、
前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状への異なる調整に対応する複数の候補の調整された関心領域を決定することと、
前記画像フレーム内に、前記複数の候補の調整された関心領域に対応する複数の視覚グラフィックを連続的に表示することと、
複数の候補の調整された関心領域のうちの1つの候補の調整された関心領域の選択を、前記1つの候補の調整された関心領域に対応する前記複数の視覚グラフィックのうちの1つの視覚グラフィックに関連する追加のユーザ入力を検出することに基づいて決定することと、
を行うようにさらに構成された、請求項19に記載の装置。
【請求項32】
前記1つまたは複数の画像キャプチャ動作は、オートフォーカス動作を含む、請求項19に記載の装置。
【請求項33】
前記1つまたは複数の画像キャプチャ動作は、自動露出動作を含む、請求項19に記載の装置。
【請求項34】
前記1つまたは複数の画像キャプチャ動作は、自動ホワイトバランス動作を含む、請求項19に記載の装置。
【請求項35】
ディスプレイをさらに備え、ここにおいて、前記プロセッサは、前記調整された関心領域内の前記画像データの前記1つまたは複数の画像キャプチャを実施した後に、前記ディスプレイ上に前記画像フレームを表示することを行うように構成された、請求項19に記載の装置。
【請求項36】
前記装置はモバイルデバイスを備える、請求項19に記載の装置。
【請求項37】
前記装置はカメラデバイスを備える、請求項19に記載の装置。
【請求項38】
1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
画像フレーム内のロケーションの選択に対応するユーザ入力を検出することと、
前記画像フレームの関心領域内に前記画像フレームがオブジェクトを少なくとも部分的に含むと決定することと、前記関心領域は、前記選択されたロケーションを含み、あらかじめ決定されたサイズまたはあらかじめ決定された形状を有し、
前記決定に少なくとも部分的に基づいて、前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することと、
前記調整された関心領域内で画像データの1つまたは複数の画像キャプチャ動作を実施することと、
を行わせる命令を備える非一時的コンピュータ可読記憶媒体。
【請求項39】
前記画像フレームが前記画像フレームの前記関心領域内に前記オブジェクトを含むと決定することは、前記画像フレームの前記関心領域内でオブジェクト検出アルゴリズムを実施することを含む、請求項38に記載の非一時的コンピュータ可読記憶媒体。
【請求項40】
前記関心領域の前記あらかじめ決定されたサイズまたは前記あらかじめ決定された形状を調整することは、前記関心領域の境界と前記オブジェクトの境界との間の距離を減少させることを含む、請求項38に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]本出願は、画像処理に関する。いくつかの例では、本出願の態様は、キャプチャされた画像フレーム内の画像データに対して実施される(オートフォーカスアルゴリズムおよび関連するアルゴリズムなどの)画像処理および/または画像キャプチャ動作を改善するための機構を提供するシステム、装置、方法、およびコンピュータ可読媒体に関する。
【背景技術】
【0002】
[0002]カメラは、画像の外見を変更するために様々な画像キャプチャおよび画像処理設定で構成され得る。オートフォーカス、自動露出、および自動ホワイトバランス動作などのいくつかの画像処理動作は、写真のキャプチャの前またはその間に決定され、適用される。これらの動作は、(たとえば、領域のコンテンツがぼやけていないこと、露出オーバーでないこと、またはピントがズレていないことを保証するために)画像の1つまたは複数の領域を修正および/または変更するように構成される。動作は、画像処理システムによって自動的にまたはユーザ入力に応答して実施され得る。画像処理動作の出力を改善するためにより高度で正確な画像処理技法が必要とされる。
【発明の概要】
【0003】
[0003]本明細書で説明される技術は、画像キャプチャおよび/または画像処理動作を改善するために実装され得る。少なくとも1つの例によれば、画像フレーム中で1つまたは複数の画像キャプチャ動作を改善するための方法が提供される。例示的な方法は、画像フレーム内のロケーションの選択に対応するユーザ入力を検出することを含むことができる。本方法はまた、画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定することを含み、関心領域は、選択されたロケーションを含み、あらかじめ決定されたサイズまたはあらかじめ決定された形状を有する。関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状は、決定に少なくとも部分的に基づいて調整され得る。1つまたは複数の画像キャプチャ動作は、次いで、調整された関心領域内で画像データに対して実施され得る。
【0004】
[0004]別の例では、画像フレーム中での1つまたは複数の画像処理動作を改善するための装置が提供される。例示的な装置は、メモリと1つまたは複数のプロセッサとを含み、プロセッサは、画像フレーム内のロケーションの選択に対応するユーザ入力を検出することを行うように構成される。1つまたは複数のプロセッサは、画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定すること、関心領域は、選択されたロケーションを含み、あらかじめ決定されたサイズまたはあらかじめ決定された形状を有する、を行うことができる。関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状は、決定に少なくとも部分的に基づいて調整され得る。1つまたは複数の画像キャプチャ動作は、次いで、調整された関心領域内で画像データに対して実施され得る。
【0005】
[0005]別の例では、例示的な装置は、画像フレーム内のロケーションの選択に対応するユーザ入力を検出するための手段と;画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定するための手段と、関心領域は、選択されたロケーションを含み、あらかじめ決定されたサイズまたはあらかじめ決定された形状を有する;決定に少なくとも部分的に基づいて関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整するための手段と;調整された関心領域内で画像データに対して1つまたは複数の画像キャプチャ動作を実施するための手段と、を含むことができる。
【0006】
[0006]別の例では、画像フレーム中での1つまたは複数の画像処理動作を改善するための非一時的コンピュータ可読媒体が提供される。例示的な非一時的コンピュータ可読媒体は、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、画像フレーム内のロケーションの選択に対応するユーザ入力を検出することを行わせる命令を記憶することができる。命令はまた、1つまたは複数のプロセッサに、画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定すること、関心領域は、選択されたロケーションを含み、あらかじめ決定されたサイズまたはあらかじめ決定された形状を有する、を行わせることができる。関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状は、決定に少なくとも部分的に基づいて調整され得る。1つまたは複数の画像キャプチャ動作は、次いで、調整された関心領域内で画像データに対して実施され得る。
【0007】
[0007]いくつかの態様では、画像フレームは、カメラデバイスが画像キャプチャモードにある間にカメラデバイスによってキャプチャされた画像フレームを含むフレームのプレビューストリーム内で受信され得る。
【0008】
[0008]いくつかの態様では、画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定することは、関心領域内でオブジェクト検出アルゴリズムを実施することを含む。いくつかの例では、関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することは、オブジェクト検出アルゴリズムに基づいて関心領域のあらかじめ決定された形状を調整することを含むことができる。たとえば、関心領域のあらかじめ決定された形状を調整することは、オブジェクト検出アルゴリズムに基づいてオブジェクトのための境界ボックスを決定することと、境界ボックスとして関心領域を設定することとを含むことができる。
【0009】
[0009]いくつかの態様では、関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することは、少なくとも1つの軸に沿って関心領域のあらかじめ決定されたサイズを減少させること、少なくとも1つの軸に沿って関心領域のあらかじめ決定されたサイズを増加させること、および/または関心領域の境界とオブジェクトの境界との間の距離を減少させることを含むことができる。いくつかの例では、関心領域の境界とオブジェクトとの間の距離を減少させることは、画像フレーム内のオブジェクトの輪郭を決定することと、画像フレーム内のオブジェクトの輪郭として関心領域の境界を設定することとを含むことができる。場合によっては、画像フレーム内のオブジェクトの輪郭を決定することは、画像フレーム内の輪郭に対応するピクセルを決定することを含むことができる。
【0010】
[0010]いくつかの態様では、関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定することは、画像フレームが画像フレーム内の複数の関心領域内に1つまたは複数のオブジェクトを含むと決定することを含むことができる。これらの態様では、関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することは、複数の関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することを含むことができる。いくつかの態様は、画像フレーム内に、調整された関心領域を示す視覚グラフィックを覆うことをさらに含むことができる。これらの態様は、視覚グラフィックに関連する追加のユーザ入力を検出すること、追加のユーザ入力は、調整された関心領域への少なくとも1つの追加の調整を示す、をさらに含むことができる。
【0011】
[0011]いくつかの態様は、関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状への異なる調整に対応する複数の候補の調整された関心領域を決定することと、画像フレーム内に、複数の候補の調整された関心領域に対応する複数の視覚グラフィックを連続的に表示することと、複数の候補の調整された関心領域のうちの1つの候補の調整された関心領域の選択を、1つの候補の調整された関心領域に対応する複数の視覚グラフィックのうちの視覚グラフィックに関連する追加のユーザ入力を検出することに基づいて決定することと、をさらに含むことができる。
【0012】
[0012]いくつかの態様では、1つまたは複数の画像キャプチャ動作は、オートフォーカス動作、自動露出動作、および/または自動ホワイトバランス動作を含むことができる。場合によっては、画像フレームは、1つまたは複数またはより多くの画像キャプチャ動作を実施した後に表示され得る。
【0013】
[0013]別の例では、画像フレーム中での1つまたは複数の画像処理動作を改善するための方法が提供される。例示的な方法は、画像フレーム内のロケーションの選択に対応するユーザ入力を検出することを含むことができる。本方法はまた、選択されたロケーションを囲む固定された関心領域内に、画像フレームが1つまたは複数のオブジェクトを少なくとも部分的に含むのかどうかを決定することを含むことができる。画像フレームが固定された関心領域内に1つまたは複数のオブジェクトを含む場合、本方法は、少なくとも部分的に画像フレーム内にあるオブジェクトの境界に基づいて固定された関心領域を調整し、次いで、調整された関心領域内で画像データに対して1つまたは複数の画像キャプチャ動作を実施することができる。画像フレームが固定された関心領域内にいかなるオブジェクトも含まない場合、本方法は、固定された関心領域を調整しないと決定でき、次いで、固定された関心領域内の画像データに対して1つまたは複数の画像キャプチャ動作を実施することができる。
【0014】
[0014]いくつかの態様では、上記で説明された装置のうちの1つまたは複数は、モバイルデバイス(たとえば、携帯電話またはいわゆる「スマートフォン」または他のモバイルデバイス)、ウェアラブルデバイス、エクステンデッドリアリティデバイス(たとえば、仮想現実(VR)デバイス、拡張現実(AR)デバイス、または複合現実(MR)デバイス)、パーソナルコンピュータ、ラップトップコンピュータ、サーバコンピュータ、ビークル(たとえば、ビークルのコンピューティングデバイス)、または他のデバイスであるか、またはそれらの部分である。いくつかの態様では、本装置は、1つまたは複数の画像をキャプチャするための1つまたは複数のカメラを含む。いくつかの態様では、装置は、1つまたは複数の画像、通知、および/または他の表示可能なデータを表示するためのディスプレイをさらに含む。いくつかの態様では、本装置は、装置のロケーションおよび/もしくは姿勢、装置の状態を決定するか、ならびに/または他の目的のために使用され得る1つまたは複数のセンサを含むことができる。
【0015】
[0015]本概要は、特許請求される主題の重要な特徴または必須の特徴を識別するようには意図されておらず、特許請求される主題の範囲を決定するために別個に使用されるようにも意図されていない。主題は、本特許の明細書全体、いずれかまたはすべての図面、および各請求項の適切な部分を参照することによって理解されたい。
【0016】
[0016]前述の内容は、他の特徴および実施形態と共に、以下の明細書、特許請求の範囲、および添付の図面を参照すれば、より明らかになるであろう。
【0017】
[0017]本出願の例示的な実施形態は、以下の図を参照しながら以下で詳細に説明される。
【図面の簡単な説明】
【0018】
【
図1A】[0018]いくつかの例による、画像キャプチャおよび処理システムの例示的なアーキテクチャを示すブロック図。
【
図1B】[0019]いくつかの例による、インフェーズである位相差検出オートフォーカス(PDAF)カメラシステムを示す図。
【
図1C】いくつかの例による、フロントフォーカスでアウトオブフェーズである位相差検出オートフォーカス(PDAF)カメラシステムを示す図。
【
図1D】いくつかの例による、バックフォーカスでアウトオブフェーズである位相差検出オートフォーカス(PDAF)カメラシステムを示す図。
【
図2A】[0020]いくつかの例による、画像キャプチャ動作を実施することの図。
【
図2B】いくつかの例による、画像キャプチャ動作を実施することの図。
【
図3A】[0021]いくつかの例による、画像処理システムの構成要素の動作とそれらの間の対話とを示す概念図。
【
図3B】いくつかの例による、画像処理システムの構成要素の動作とそれらの間の対話とを示す概念図。
【
図4】[0022]いくつかの例による、画像フレーム中での1つまたは複数の画像キャプチャ動作を改善するためのプロセスの一例を示す流れ図。
【
図5A】[0023]いくつかの例による、画像キャプチャ動作の図。
【
図5B】いくつかの例による、画像キャプチャ動作の図。
【
図5C】[0024]いくつかの例による、改善された画像キャプチャ動作の図。
【
図5D】いくつかの例による、改善された画像キャプチャ動作の図。
【
図5E】いくつかの例による、改善された画像キャプチャ動作の図。
【
図5F】いくつかの例による、改善された画像キャプチャ動作の図。
【
図6】[0025]いくつかの例による、画像フレーム中での1つまたは複数の画像キャプチャ動作を改善するためのプロセスの一例を示す流れ図。
【
図7】[0026]本明細書で説明されるいくつかの態様を実装するためのシステムの一例を示す図。
【発明を実施するための形態】
【0019】
[0027]本開示のいくつかの態様および実施形態が以下で提供される。当業者に明らかであるように、これらの態様および実施形態のうちのいくつかは独立して適用され得、それらのうちのいくつかは組み合わせて適用され得る。以下の説明では、説明の目的で、本出願の実施形態の完全な理解を与えるために具体的な詳細が記載される。ただし、様々な実施形態は、これらの具体的な詳細なしに実施され得ることが明らかであろう。図および説明は限定するものではない。
【0020】
[0028]以下の説明は、例示的な実施形態のみを与えるものであり、本開示の範囲、適用性、または構成を限定するものではない。そうではなく、例示的な実施形態の以下の説明は、例示的な実施形態を実装することを可能にする説明を当業者に与える。添付の特許請求の範囲に記載されるように、本出願の趣旨および範囲から逸脱することなく、要素の機能および構成において様々な変更が行われ得ることを理解されたい。
【0021】
[0029]カメラは、画像センサを使用して光を受信し、静止画像またはビデオフレームなどの画像フレームをキャプチャするデバイスである。「画像」、「画像フレーム」、および「フレーム」という用語は、本明細書では互換的に使用される。カメラは、1つまたは複数の画像フレームを受信し、1つまたは複数の画像フレームを処理することができる画像信号プロセッサ(ISP)などのプロセッサを含み得る。たとえば、カメラセンサによってキャプチャされた未加工の画像フレームは、最終の画像を生成するためにISPによって処理され得る。ISPによる処理は、特に、ノイズ除去またはノイズフィルタ処理、エッジ強調、カラーバランシング、コントラスト、(暗色化または明色化などの)強度調整、トーン調整などの複数のフィルタまたは処理ブロックをキャプチャされた画像フレームに適用することによって実施され得る。画像処理ブロックまたはモジュールは、特に、レンズ/センサのノイズ訂正、ベイヤーフィルタ、デモザイク処理、色変換、画像属性の訂正または強調/抑制、ノイズ除去フィルタ、シャープ化フィルタを含み得る。
【0022】
[0030]カメラは、様々な画像キャプチャおよび画像処理動作および設定で構成され得る。異なる設定は、異なる外見を持つ画像を生じる。(「3A」と総称される)オートフォーカス、自動露出、および自動ホワイトバランスアルゴリズムなどのいくつかのカメラ動作は、写真のキャプチャの前またはその間に決定され、適用される。写真のキャプチャの前またはその間に適用される追加のカメラ動作は、ISO、開口サイズ、fストップ、シャッター速度、および利得を伴う動作を含む。他のカメラ動作は、コントラスト、明るさ、彩度、シャープネス、レベル、カーブ、または色への変更などの写真の後処理を構成することができる。
【0023】
[0031]多くのカメラシステムでは、ユーザは、画像処理動作を指示または開始し得る。たとえば、カメラデバイスは、ユーザに、画像キャプチャモードで動作するときに一連の画像フレームを表示し得る。表示されたイメージフレームは、「プレビューストリーム」と呼ばれるか、またはその中に含まれ得る。カメラデバイスは、周期的におよび/またはユーザがカメラデバイスを移動するたびにプレビューストリーム中の画像フレームを更新し得る。プレビューストリーム中の画像フレームを閲覧しながら、ユーザは、実施されることになる画像処理動作のための所望のロケーションに対応する画像フレームの部分を選択し得る。たとえば、カメラがタッチスクリーンまたはユーザ入力のために構成された他のタイプのインターフェースを装備している場合、ユーザは、(たとえば、指、スタイラス、または他の好適な入力機構を用いて)画像フレームの(1つまたは複数のピクセルなどの)ロケーションを選択し得る。好適なユーザ入力の非限定的な例は、ディスプレイ内のロケーションをダブルタップすることおよびあらかじめ決定された時間量(たとえば、0.5秒、1秒など)の間ディスプレイ内のロケーションを押し下げることを含む。場合によっては、ロケーションは、画像フレーム内の注目するオブジェクト(たとえば、主要な被写体または焦点)を含むかまたはそれに対応し得る。カメラデバイスは、選択されたロケーションを囲むおよび/または包含する画像フレームの領域に対して画像処理動作を実施し得る。この領域は、「関心領域」(ROI)と呼ばれることがある。
【0024】
[0032]後で詳しく述べるように、従来の画像処理システムは、標準および/または固定サイズのROI内で画像処理動作を実施し得る。場合によっては、固定ROIは、あらかじめ決定された数のピクセルまたは画像のサイズ(または解像度)に対してあらかじめ決定されたサイズを含むあらかじめ決定された形状(たとえば、正方形、矩形、円など)のボックスに対応し得る。画像処理動作は、固定ROI内の各ピクセルに対して実施され得る。残念ながら、固定ROIは、ユーザによって選択されようとするオブジェクトに正確にまたは精密に対応しないことがある。たとえば、固定ROIは、選択されたオブジェクトに加えてオブジェクトを含み得、および/または固定ROIは、選択されたオブジェクトの全体を含まないことがある。
【0025】
[0033]したがって、画像処理動作の品質および/または効率を改善するためのシステム、装置、プロセス、およびコンピュータ可読媒体が、本明細書では説明される。たとえば、いくつかの例では、システムおよび技法は、画像フレーム内の選択されたオブジェクトの境界に対応するように形状および/またはサイズがカスタマイズされた動的ROIを決定し、利用することができる。
【0026】
[0034]
図1Aは、画像キャプチャおよび処理システム100のアーキテクチャを示すブロック図である。画像キャプチャおよび処理システム100は、シーンの画像(たとえば、シーン110の画像)をキャプチャし、処理するために使用される様々な構成要素を含む。画像キャプチャおよび処理システム100は、スタンドアロン画像(もしくは写真)をキャプチャすることができ、および/または特定のシーケンス中の複数の画像(またはビデオフレーム)を含むビデオをキャプチャすることができる。システム100のレンズ115は、シーン110に面し、シーン110からの光を受け取る。レンズ115は、画像センサ130のほうへ光を曲げる。レンズ115によって受け取られた光は、1つまたは複数の制御機構120によって制御される開口(aperture)を通過し、画像センサ130によって受け取られる。
【0027】
[0035]1つまたは複数の制御機構120は、画像センサ130からの情報に基づいておよび/または画像プロセッサ150からの情報に基づいて露出、フォーカス、および/またはズームを制御し得る。1つまたは複数の制御機構120は、複数の機構および構成要素を含み得、たとえば、制御機構120は、1つもしくは複数の露出制御機構125A、1つもしくは複数のフォーカス制御機構125B、および/または1つもしくは複数のズーム制御機構125Cを含み得る。1つまたは複数の制御機構120はまた、アナログ利得、フラッシュ、HDR、被写界深度、および/または他の画像キャプチャプロパティを制御する制御機構など、図示されているもののほかに追加の制御機構を含み得る。場合によっては、1つまたは複数の制御機構120は、「3A」画像処理動作を制御および/または実装し得る。
【0028】
[0036]制御機構120のフォーカス制御機構125Bは、フォーカス設定を取得することができる。いくつかの例では、フォーカス制御機構125Bは、メモリレジスタ中にフォーカス設定を記憶する。フォーカス設定に基づいて、フォーカス制御機構125Bは、画像センサ130の位置に対してレンズ115の位置を調整することができる。たとえば、フォーカス設定に基づいて、フォーカス制御機構125Bは、モータまたはサーボを作動させることによって画像センサ130の近くにまたは画像センサ130から遠くにレンズ115を移動し、それによって、フォーカスを調整することができる。場合によっては、画像センサ130の各フォトダイオードの上の1つまたは複数のマイクロレンズなどの追加のレンズが、デバイス105A中に含まれ得、それぞれ、光がフォトダイオードに到達する前に受け取った光をレンズ115から対応するフォトダイオードのほうへ曲げる。フォーカス設定は、コントラスト検出オートフォーカス(CDAF)、位相検出オートフォーカス(PDAF)、またはそれらの何らかの組合せを介して決定され得る。フォーカス設定は、制御機構120、画像センサ130、および/または画像プロセッサ150を使用して決定され得る。フォーカス設定は、画像キャプチャ設定および/または画像処理設定と呼ばれることがある。
【0029】
[0037]制御機構120の露出制御機構125Aは、露出設定を取得することができる。いくつかの例では、露出制御機構125Aは、メモリレジスタ中に露出設定を記憶する。この露出設定に基づいて、露出制御機構125Aは、開口のサイズ(たとえば、開口サイズまたはfストップ)、開口が開いている持続時間(たとえば、露光時間またはシャッタースピード)、画像センサ130の感度(たとえば、ISO感度またはフィルム感度)、画像センサ130によって適用されるアナログ利得、またはそれらの任意の組合せを制御することができる。露出設定は、画像キャプチャ設定および/または画像処理設定と呼ばれることがある。
【0030】
[0038]制御機構120のズーム制御機構125Cは、ズーム設定を取得することができる。いくつかの例では、ズーム制御機構125Cは、メモリレジスタ中にズーム設定を記憶する。ズーム設定に基づいて、ズーム制御機構125Cは、レンズ115と1つまたは複数の追加のレンズとを含むレンズエレメントのアセンブリ(レンズアセンブリ)の焦点距離を制御することができる。たとえば、ズーム制御機構125Cは、互いに対してレンズのうちの1つまたは複数を移動するために1つまたは複数のモータまたはサーボを作動させることによってレンズアセンブリの焦点距離を制御することができる。ズーム設定は、画像キャプチャ設定および/または画像処理設定と呼ばれることがある。いくつかの例では、レンズアセンブリは、同焦点ズームレンズまたは可変焦点ズームレンズを含み得る。いくつかの例では、レンズアセンブリは、最初に、シーン110から光を受け取る(場合によっては、レンズ115であり得る)集束レンズを含み、光は、次いで、光が画像センサ130に到達する前に集束レンズ(たとえば、レンズ115)と画像センサ130との間の無限焦点ズームシステムを通過し得る。無限焦点ズームシステムは、場合によっては、それらとの間に負(たとえば、発散、凹)レンズをもつ(たとえば、しきい値差内で)等しいまたは同様の焦点距離の2つの正(たとえば、収束、凸)レンズを含み得る。場合によっては、ズーム制御機構125Cは、負レンズおよび正レンズの一方または両方などの無限焦点ズームシステム中のレンズのうちの1つまたは複数を移動する。
【0031】
[0039]画像センサ130は、フォトダイオードまたは他の感光性要素の1つまたは複数のアレイを含む。各フォトダイオードは、画像センサ130によって生成された画像中の特定のピクセルに最終的に対応する光の量を測定する。場合によっては、異なるフォトダイオードは、異なるカラーフィルタによってカバーされ得、したがって、フォトダイオードをカバーするフィルタの色に一致する光を測定し得る。たとえば、ベイヤーカラーフィルタは、赤色カラーフィルタと、青色カラーフィルタと、緑色カラーフィルタとを含み、画像の各ピクセルは、赤色フィルタでカバーされた少なくとも1つのフォトダイオードからの赤光データと、青色フィルタでカバーされた少なくとも1つのフォトダイオードからの青光データと、緑色フィルタでカバーされた少なくとも1つのフォトダイオードからの緑光データとに基づいて生成される。他のタイプのカラーフィルタは、赤色、青色、および/または緑色のカラーフィルタの代わりにまたはそれに加えて黄色、マゼンタ、および/または(「エメラルド」とも呼ばれる)シアンのカラーフィルタを使用し得る。いくつかの画像センサは、カラーフィルタが一切欠如していることがあり、代わりに、(場合によっては、垂直方向に積層された)ピクセルアレイ全体にわたって異なるフォトダイオードを使用し得る。ピクセルアレイ全体にわたる異なるフォトダイオードは、異なるスペクトル感度曲線を有し、したがって、異なる波長の光に応答することができる。モノクロ画像センサも、カラーフィルタが欠如しており、したがって、色深度が欠如していることがある。
【0032】
[0040]場合によっては、画像センサ130は、代替または追加として、ある時間におよび/またはいくつかの角度からいくつかのフォトダイオードまたはいくつかのフォトダイオードの部分に光が到達するのをブロックする不透明および/または反射マスクを含み得、これは、位相検出オートフォーカス(PDAF)のために使用され得る。画像センサ130はまた、フォトダイオードの出力の(および/またはアナログ利得増幅器によって増幅された)アナログ信号をデジタル信号に変換するためにフォトダイオードおよび/またはアナログデジタル変換器(ADC)によって出力されたアナログ信号を増幅するためにアナログ利得増幅器を含み得る。場合によっては、制御機構120のうちの1つまたは複数に関して説明されるいくつかの構成要素または機能は、その代わりにまたはそれに加えて、画像センサ130に含まれ得る。画像センサ130は、電荷結合デバイス(CCD)センサ、電子増倍CCD(EMCCD)センサ、アクティブピクセルセンサ(APS)、相補型金属酸化物半導体(CMOS)、N型金属酸化物半導体(NMOS)、ハイブリッドCCD/CMOSセンサ(たとえば、sCMOS)、またはそれらの何らかの他の組合せであり得る。
【0033】
[0041]画像プロセッサ150は、(ISP154を含む)1つもしくは複数の画像信号プロセッサ(ISP)、(ホストプロセッサ152を含む)1つもしくは複数のホストプロセッサ、および/またはコンピューティングデバイス900に関して説明される任意の他のタイプのプロセッサ910のうちの1つもしくは複数など、1つまたは複数のプロセッサを含み得る。ホストプロセッサ152は、デジタル信号プロセッサ(DSP)および/または他のタイプのプロセッサであり得る。いくつかの実装形態では、画像プロセッサ150は、ホストプロセッサ152とISP154とを含む単一の集積回路または(たとえば、システムオンチップまたはSoCと呼ばれる)チップである。場合によっては、チップはまた、1つもしくは複数の入出力ポート(たとえば、入出力(I/O)ポート156)、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、ブロードバンドモデム(たとえば、3G、4GもしくはLTE(登録商標)、5Gなど)、メモリ、接続性構成要素(たとえば、Bluetooth(登録商標)、全地球測位システム(GPS)など)、それらの任意の組合せ、および/または他の構成要素を含むことができる。I/Oポート156は、集積回路間通信2(I2C)インターフェース、集積回路間通信3(I3C)インターフェース、シリアルペリフェラルインターフェース(SPI)インターフェース、シリアル汎用入出力(GPIO)インターフェース、モバイルインダストリプロセッサインターフェース(MIPI)(MIPI CSI-2物理(PHY)レイヤポートもしくはインターフェースなど)、アドバンストハイパフォーマンスバス(AHB)バス、それらの任意の組合せ、および/または他の入出力ポートなど、1つまたは複数のプロトコルまたは仕様による任意の好適な入出力ポートまたはインターフェースを含むことができる。1つの例示的な例では、ホストプロセッサ152は、I2Cポートを使用して画像センサ130と通信することができ、ISP154は、MIPIポートを使用して画像センサ130と通信することができる。
【0034】
[0042]画像プロセッサ150は、デモザイク処理、色空間変換、画像フレームのダウンサンプリング、ピクセル補間、自動露出(AE)制御、自動利得制御(AGC)、CDAF、PDAF、自動ホワイトバランス、HDR画像を形成するための画像フレームのマージ、画像認識、オブジェクト認識、特徴認識、入力の受信、出力の管理、メモリの管理、またはそれらの何らかの組合せなどのいくつかのタスクを実施し得る。画像プロセッサ150は、ランダムアクセスメモリ(RAM)140/920、読取り専用メモリ(ROM)145/925、キャッシュ912、メモリユニット915、別のストレージデバイス930、またはそれらの何らかの組合せ中に画像フレームおよび/または処理画像を記憶し得る。
【0035】
[0043]様々な入出力(I/O)デバイス160が画像プロセッサ150に接続され得る。I/Oデバイス160は、ディスプレイ画面、キーボード、キーパッド、タッチスクリーン、トラックパッド、タッチセンシティブサーフェス、プリンタ、任意の他の出力デバイス935、任意の他の入力デバイス945、またはそれらの何らかの組合せを含むことができる。場合によっては、キャプションは、I/Oデバイス160の物理キーボードもしくはキーパッドを通してまたはI/Oデバイス160のタッチスクリーンの仮想キーボードもしくはキーパッドを通して画像処理デバイス105Bに入力され得る。I/O160は、デバイス105Bが1つもしくは複数の周辺デバイスからデータを受信し、および/または1つもしくは複数の周辺デバイスにデータを送信し得る、デバイス105Bと1つまたは複数の周辺デバイスとの間のワイヤード接続を可能にする1つまたは複数のポート、ジャック、または他のコネクタを含み得る。I/O160は、デバイス105Bが1つもしくは複数の周辺デバイスからデータを受信し、および/または1つもしくは複数の周辺デバイスにデータを送信し得る、デバイス105Bと1つまたは複数の周辺デバイスとの間のワイヤレス接続を可能にする1つまたは複数のワイヤレストランシーバを含み得る。周辺デバイスは、前に説明されたタイプの入出力デバイス160のいずれかを含み得、それらがポート、ジャック、ワイヤレストランシーバ、または他のワイヤードおよび/もしくはワイヤレスコネクタに結合されると、それら自体、I/Oデバイス160と見なされ得る。
【0036】
[0044]場合によっては、画像キャプチャ/処理システム100は、単一のデバイスであり得る。場合によっては、画像キャプチャ/処理システム100は、画像キャプチャデバイス105A(たとえば、カメラ)と画像処理デバイス105B(たとえば、カメラに結合されたコンピューティングデバイス)とを含む、2つ以上の別個のデバイスであり得る。いくつかの実装形態では、画像キャプチャデバイス105Aおよび画像処理デバイス105Bは、たとえば、1つもしくは複数のワイヤ、ケーブル、もしくは他の電気コネクタを介して、および/または1つもしくは複数のワイヤレストランシーバを介してワイヤレスに、互いに結合され得る。いくつかの実装形態では、画像キャプチャデバイス105Aおよび画像処理デバイス105Bは、互いに分離されることがある。
【0037】
[0045]
図1に示されるように、垂直の破線は、
図1の画像キャプチャ/処理システム100を、画像キャプチャデバイス105Aおよび画像処理デバイス105Bをそれぞれ表す2つの部分に分割する。画像キャプチャデバイス105Aは、レンズ115と、制御機構120と、画像センサ130とを含む。画像処理デバイス105Bは、画像プロセッサ150(ISP154とホストプロセッサ152とを含む)と、RAM140と、ROM145と、I/O160とを含む。場合によっては、ISP154および/またはホストプロセッサ152などの、画像キャプチャデバイス105A内に示されたいくつかの構成要素は、画像キャプチャデバイス105Aに含まれ得る。
【0038】
[0046]画像キャプチャ/処理システム100は、モバイルまたは固定電話ハンドセット(たとえば、スマートフォン、セルラー電話など)、デスクトップコンピュータ、ラップトップもしくはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、インターネットプロトコル(IP)カメラ、または任意の他の適切な電子デバイスなどの電子デバイスを含むことができる。いくつかの例では、画像キャプチャ/処理システム100は、セルラーネットワーク通信、802.11Wi-Fi(登録商標)通信、ワイヤレスローカルエリアネットワーク(WLAN)通信、またはそれらの何らかの組合せなどの、ワイヤレス通信のための1つまたは複数のワイヤレストランシーバを含むことができる。いくつかの実装形態では、画像キャプチャデバイス105Aおよび画像処理デバイス105Bは、異なるデバイスであり得る。たとえば、画像キャプチャデバイス105Aは、カメラデバイスを含むことができ、画像処理デバイス105Bは、モバイルハンドセット、デスクトップコンピュータ、または他のコンピューティングデバイスなどのコンピューティングデバイスを含むことができる。
【0039】
[0047]画像キャプチャおよび処理システム100がいくつかの構成要素を含むように示されているが、画像キャプチャおよび処理システム100が
図1に示されている構成要素よりも多い構成要素を含むことができることを、当業者は諒解されよう。画像キャプチャおよび処理システム100の構成要素は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの1つまたは複数の組合せを含むことができる。たとえば、いくつかの実装形態では、画像キャプチャおよび処理システム100の構成要素は、電子回路もしくは他の電子ハードウェアを含むことができ、および/またはこれらを使用して実装されることが可能であり、これは、1つもしくは複数のプログラム可能な電子回路(たとえば、マイクロプロセッサ、GPU、DSP、CPU、および/または他の適切な電子回路)を含むことができ、ならびに/または、本明細書において説明される様々な動作を実施するためのコンピュータソフトウェア、ファームウェア、もしくはこれらの任意の組合せを含むことができ、および/もしくは、これらを使用して実装され得る。ソフトウェアおよび/またはファームウェアは、コンピュータ可読記憶媒体上に記憶され、画像キャプチャおよび処理システム100を実装する電子デバイスの1つまたは複数のプロセッサによって実行可能な1つまたは複数の命令を含むことができる。
【0040】
[0048]ホストプロセッサ152は、(たとえば、I2C、I3C、SPI、GPIO、および/または他のインターフェースなどの外部制御インターフェースを介して)新しいパラメータ設定を用いて画像センサ130を構成することができる。1つの例示的な例では、ホストプロセッサ152は、過去の画像フレームからの露出制御アルゴリズムの内部処理結果に基づいて画像センサ130によって使用される露出設定を更新することができる。ホストプロセッサ152はまた、画像データがISP154によって正しく処理されるように画像センサ130からの1つまたは複数の入力画像フレームの設定に一致するようにISP154の内部パイプラインまたはモジュールのパラメータ設定を動的に構成することができる。ISP154の処理(またはパイプライン)ブロックまたはモジュールは、特に、レンズ/センサのノイズ補正、デモザイク処理、色変換、画像属性の訂正または強調/抑制、ノイズ除去フィルタ、シャープ化フィルタのためのモジュールを含むことができる。ISP154の異なるモジュールの設定は、ホストプロセッサ152によって構成され得る。各モジュールは、多数の調整可能なパラメータ設定を含み得る。さらに、異なるモジュールが画像の同様の態様に影響を及ぼし得るので、モジュールは共依存であり得る。たとえば、ノイズ除去およびテクスチャ訂正または強調はどちらも、画像の高周波態様に影響を及ぼし得る。したがって、キャプチャされた未加工の画像から最終的な画像を生成するために多数のパラメータがISPによって使用される。
【0041】
[0049]場合によっては、画像キャプチャおよび処理システム100は、上記で説明された画像処理機能のうちの1つまたは複数を自動的に実施し得る。たとえば、制御機構120のうちの1つまたは複数は、(上記のように「3A」と呼ばれる)オートフォーカス動作、自動露出動作、および/または自動ホワイトバランス動作を実施するように構成され得る。いくつかの実施形態では、オートフォーカス機能により、画像キャプチャデバイス105Aは、望ましい画像をキャプチャする前に自動的にフォーカスを合わせることが可能になる。様々なオートフォーカス技術が存在する。たとえば、アクティブオートフォーカス技術は、一般に、赤外線レーザーまたは超音波信号を放出し、それらの信号の反射を受信することによってカメラの距離センサを介してカメラと画像の被写体との間の距離を決定する。さらに、パッシブオートフォーカス技術は、カメラのフォーカスを合わせるためにカメラ自体の画像センサを使用し、したがって、追加のセンサをカメラに統合する必要がない。パッシブAF技法は、コントラスト検出オートフォーカス(CDAF)と、位相差検出オートフォーカス(PDAF)と、場合によっては、両方を使用するハイブリッドシステムとを含む。画像キャプチャおよび処理システム100は、これらまたは任意の追加のタイプのオートフォーカス技術を装備し得る。
【0042】
[0050]
図1B、
図1C、および
図1Dは、画像キャプチャおよび処理システム100に統合され得るPDAFカメラシステムの例を与える。特に、
図1Bは、インフェーズであり、したがって、インフォーカスであるPDAFカメラシステムを示す。光線175は、被写体135(たとえば、りんご)から被写体135をもつシーンにフォーカスが合う(
図1Aにも示される)レンズ115を通して(
図1Aに示されている画像センサ130などの)画像センサ上に移動し得、ここで、画像センサは、フォーカスピクセルに対応するフォーカスフォトダイオード155Aとフォーカスフォトダイオード155Bとを含む。フォーカスフォトダイオード155Aおよび155Bは、画像センサのピクセルアレイの1つまたは2つのフォーカスピクセル(たとえば、フォーカスフォトダイオード155Aとフォーカスフォトダイオード155Bとは、単一のマイクロレンズ157を共有する単一のフォーカスピクセルの2つのフォトダイオードであり得るか、またはフォーカスフォトダイオード155Aは、第1のフォーカスピクセルに関連付けられ得、フォーカスフォトダイオード155Bは、第2のフォーカスピクセルに関連付けられ得、両方のフォーカスピクセルが単一のマイクロレンズ157を共有する)に関連付けられ得る。場合によっては、光線175は、フォーカスフォトダイオード155Aとフォーカスフォトダイオード155Bとに当たる前にマイクロレンズ157を通して移動し得る。カメラシステム180が
図1Bの「インフォーカス」状態158にあるとき、光線175は、フォーカスフォトダイオード155Aとフォーカスフォトダイオード155Bとの位置に対応する平面に最終的に収束し得る。カメラシステム180が、
図1Bの「インフォーカス」状態158にあるとき、光線175はまた、レンズ115を通過した後だが、マイクロレンズ157および/またはフォーカスフォトダイオード155Aおよび155Bに到達する前に(画像平面としても知られる)焦点面116に収束し得る。
【0043】
[0051]
図1Bのカメラ180がインフォーカス状態158にあるので、フォーカスフォトダイオード155Aおよび155Bからのデータは整列され(aligned)、ここでは、それぞれ、
図1Cおよび
図1Dのアウトオブフェーズ状態162および166によって生じる被写体135の不整列表現ではなく、この整列により被写体135のクリアでシャープな表現を示す画像190Aによって表される。インフォーカス状態158は、フォーカスフォトダイオード155Aとフォーカスフォトダイオード155Bとからのデータが位相差を有しないか、ほとんど位相差を有しない(たとえば、位相差があらかじめ決定された位相差しきい値を下回る)ので「インフェーズ」状態と呼ばれることもある。
【0044】
[0052]
図1Cは、フロントフォーカスでアウトオブフェーズである
図1BのPDAFカメラシステムを示す。
図1BのPDAFカメラシステム180は、
図1BのPDAFカメラシステム180と同じであるが、レンズ115は、被写体135の近くに、フォーカスフォトダイオード155Aおよび155Bから離れて移動され、したがって、「フロントフォーカス」状態162にある。「インフォーカス」状態158のためのレンズ位置は、参考のために点線の外形として
図1Cに依然として描かれており、両面矢印は、「フロントフォーカス」162のレンズ位置と「インフォーカス」158のレンズ位置との間でのレンズの移動を示す。
【0045】
[0053]カメラシステム180が、
図1Cの「フロントフォーカス」状態162にあるとき、光線175は、フォーカスフォトダイオード155Aとフォーカスフォトダイオード155Bとの位置の前の、すなわち、マイクロレンズ157とフォーカスフォトダイオード155Aおよび155Bとの間の(破線によって示される)平面に最終的に収束し得る。光線175はまた、レンズ115を通過した後だが、マイクロレンズ157および/またはフォーカスフォトダイオード155Aおよび155Bに到達する前に焦点面116の前の(別の破線によって示される)位置に収束し得る。
図1Cのカメラ180中の光175が「フロントフォーカス」状態162でアウトオブフェーズであるので、フォーカスフォトダイオード155Aおよび155Bからのデータは、不整列であり、ここでは、被写体135の不整列の黒色と白色との表現を示す画像190Bによって表され、ここで、画像190Bにおける不整列の方向は、フロントフォーカス状態162に関係し、画像190Bの整列の距離は、フォーカスが合った状態158でのそれの位置からのレンズ115の距離に関係する。
【0046】
[0054]
図1Dは、バックフォーカスでアウトオブフェーズである
図1BのPDAFカメラシステムを示す。
図1DのPDAFカメラシステム180は、
図1BのPDAFカメラシステム180と同じであるが、レンズ115は、被写体135から離れ、フォーカスフォトダイオード155Aおよび155Bの近くに移動され、したがって、(「リアフォーカス」状態としても知られる)「バックフォーカス」状態166にある。「インフォーカス」状態158のためのレンズ位置は、参考のために点線の外形として依然として描かれており、両面矢印は、「バックフォーカス」状態166のためのレンズ位置と「インフォーカス」状態158のためのレンズ位置との間でのレンズの移動を示す。
【0047】
[0055]カメラシステム180が、
図1Dの「バックフォーカス」状態166にあるとき、光線175は、フォーカスフォトダイオード155Aとフォーカスフォトダイオード155Bとの位置の先の(破線によって示される)平面に最終的に収束し得る。光線175はまた、レンズ115を通過した後だが、マイクロレンズ157および/またはフォーカスフォトダイオード155Aおよび155Bに到達する前に焦点面116の先の(別の破線によって示される)位置に収束し得る。
図1Dのカメラ180中の光175が「バックフォーカス」状態166でアウトオブフェーズであるので、フォーカスフォトダイオード155Aおよび155Bからのデータは、不整列であり、ここでは、被写体135の不整列の黒色と白色との表現を示す画像190Cによって表され、ここで、画像190Cにおける不整列の方向は、バックフォーカス状態166に関係し、画像190Cの整列の距離は、フォーカスが合った状態158でのそれの位置からのレンズ115の距離に関係する。
【0048】
[0056]光線175が、フォーカス状態162の場合のようにフォーカスフォトダイオード155Aおよび155Bの平面の前に集束するか、またはバックフォーカス状態166の場合のようにフォーカスフォトダイオード155Aおよび155Bの平面の先に収束するとき、画像センサによって生成される得られた画像はフォーカスが外れているか、またはぼけていることがある。画像のフォーカスが外れている場合、レンズ115は、レンズ115がバックフォーカス状態166にある場合、前に(被写体135に向かい、フォトダイオード155Aおよび155Bから離れて)移動され得るか、またはレンズがフロントフォーカス状態162にある場合、後ろに(被写体135から離れ、フォトダイオード155Aおよび155Bに向かって)移動され得る。レンズ115は、場合によっては、カメラシステム180中のレンズの動きの可能な範囲を表すあらかじめ決定された長さRを有する位置の範囲内で前後に移動され得る。カメラシステム180またはその中のコンピューティングシステムは、フォーカスフォトダイオード155Aおよび155Bなどの異なる方向からの光を受け取る2つのフォーカスフォトダイオードからのデータの間の差として計算される1つまたは複数の位相差値に基づいて画像にフォーカスを合わせるためにレンズ115の位置を調整する距離と方向とを決定し得る。レンズ115の移動の方向は、フォーカスフォトダイオード155Aおよび155Bからのデータがアウトオブフェーズであると決定される方向、または位相差が正であるのかもしくは負であるのかに対応し得る。レンズ115の移動の距離は、フォーカスフォトダイオード155Aおよび155Bからのデータがアウトオブフェーズであると決定される程度もしくは量、または位相差の絶対値に対応し得る。
【0049】
[0057]カメラ180は、異なる状態(たとえば、フロントフォーカス状態162、バックフォーカス状態166、およびインフォーカス状態158)に対応するレンズ位置の間でレンズ115を移動するモータ(図示せず)とカメラ内のコンピューティングシステムがモータを作動させるためにアクティブ化するモータアクチュエータ(図示せず)とを含み得る。
図1B、
図1C、および
図1Dのカメラ180はまた、場合によっては、レンズ、ミラー、部分反射(PR)ミラー、プリズム、フォトダイオード、画像センサ、および/またはカメラもしくは他の光学機器において時々見られる他の構成要素などの様々な追加の図示されていない構成要素を含み得る。場合によっては、フォーカスフォトダイオード155Aおよび155Bは、PDAFフォトダイオード、PDAFダイオード、位相検出(PD)フォトダイオード、PDダイオード、PDAFピクセルフォトダイオード、PDAFピクセルダイオード、PDピクセルフォトダイオード、PDピクセルダイオード、フォーカスピクセルフォトダイオード、フォーカスピクセルダイオード、ピクセルフォトダイオード、ピクセルダイオード、または、場合によっては、単にフォトダイオードもしくはダイオードと呼ばれることがある。
【0050】
[0058]
図2Aおよび
図2Bは、画像キャプチャおよび処理システム100がオートフォーカス動作または他の「3A」動作を実施する間にキャプチャおよび/または処理され得る画像フレームの一例を示す。特に、
図2Aおよび
図2Bは、固定ROIを利用する従来のオートフォーカス動作の一例を示す。
図2Aに示されているように、システム100の画像キャプチャデバイス105Aは、画像フレーム202をキャプチャし得る。場合によっては、画像処理デバイス105Bは、(たとえば、画像フレーム202がプレビューストリーム内に表示される間に)画像フレーム202内のロケーション208をユーザが選択したことを検出し得る。たとえば、画像処理デバイス105Bは、ユーザがロケーション208に対応するピクセルまたはピクセルのグループの選択を含む(たとえば、指、ジェスチャ、スタイラス、および/または他の好適な入力機構を使用した)入力を与えたと決定し得る。画像処理デバイス105Bは、次いで、ロケーション208を含むROI204を決定し得る。画像プロセッサ150は、ROI204内の画像データに対してオートフォーカス動作または他の「3A」動作を実施し得る。オートフォーカス動作の結果は、
図2Aに示されている画像フレーム部分206に示されている。
【0051】
[0059]
図2Bは、ROI204の例示的な実施形態を示す。この例では、画像処理デバイス105Bは、あらかじめ決定された幅212とあらかじめ決定された高さ210とによって定義される寸法の画像フレーム202の領域内のロケーション208を中心におくことによってROI204を決定および/または生成し得る。場合によっては、あらかじめ決定された幅212とあらかじめ決定された高さ210とは、(10個のピクセル、50個のピクセル、100個のピクセルなどの)あらかじめ選択されたピクセルの数に対応し得る。追加または代替として、あらかじめ決定された幅212とあらかじめ決定された高さ210とは、ユーザに画像フレーム202を表示するディスプレイ内の(0.5センチメートル、1センチメートル、2センチメートルなどの)あらかじめ選択された距離に対応し得る。
図2BがROI204を矩形として示すが、ROI204は、特に、正方形、円、楕円形を含む任意の代替形状のものであり得る。
【0052】
[0060]場合によっては、画像処理デバイス105Bは、画像フレーム202内のピクセルの座標を示す情報にアクセスするおよび/またはそれを分析することによってROI204の境界に対応するピクセルを決定し得る。例示的な例として、ユーザによって選択されるロケーション208は、画像フレーム202内の200の(水平方向の)x軸座標と300の(垂直方向の)y軸座標とをもつピクセルに対応し得る。画像処理デバイス105Bが、高さが100ピクセルであり、長さが200ピクセルである固定ROIを生成するように構成される場合、画像処理デバイス105Bは、座標(150,400)、(250,400)、(150,200)、および(250,200)に対応する隅をもつボックスとしてROI204を定義し得る。画像処理デバイス105Bは、固定ROIを生成するために任意の追加または代替の技法を利用し得る。
【0053】
[0061]
図3Aは、画像キャプチャおよび処理システム300の一例を示すブロック図である。いくつかの実施形態では、画像キャプチャおよび処理システム300は、
図2Aおよび
図2Bに示されている画像処理動作を改善するように構成される。画像キャプチャおよび処理システム300は、画像キャプチャデバイス105Aと、画像処理デバイス105Bと、レンズ115とを含む
図1に示されている画像キャプチャおよび処理システム100の任意の1つまたは複数の構成要素を含み得る。場合によっては、画像キャプチャおよび処理システム300の構成要素の全部または一部分は、
図3Bに示されているデバイス322などのコンピューティングデバイス内に実装され得る。デバイス322は、モバイルデバイス(たとえば、モバイルフォン)、デスクトップコンピューティングデバイス、タブレットコンピューティングデバイス、拡張現実(XR)デバイス(たとえば、仮想現実(VR)ヘッドセット、拡張現実(AR)ヘッドセット、AR眼鏡、もしくは他のXRデバイス)、ウェアラブルデバイス(たとえば、ネットワーク接続された時計もしくはスマートウォッチまたは他のウェアラブルデバイス)、サーバコンピュータ、自律車両もしくは自律車両のコンピューティングデバイス、ロボット装置、テレビジョン、および/または本明細書で説明される画像処理動作を実施するリソース能力をもつ任意の他のコンピューティングデバイスなどの任意の好適なデバイスを含むことができる。
【0054】
[0062]
図3Aに示されているように、画像キャプチャおよび処理システム300は、ディスプレイ310を含み得る。画像キャプチャおよび処理システム300は、画像フレームをキャプチャし、次いで、ディスプレイ310内に画像フレームを表示することができる。ディスプレイ310は、画像データを視覚的に表示するように構成された任意の好適なタイプの画面またはインターフェースを含み得る。場合によっては、画像キャプチャおよび処理システム300は、画像フレームに対して1つまたは複数の画像処理動作を実施するように画像キャプチャおよび処理システム300に指示する入力をユーザが与えることを可能にするためにキャプチャされた画像フレームを表示することができる。画像キャプチャおよび処理システム300は、画像処理動作を実施するように構成された1つまたは複数のエンジンを含み得る。
図3Aに示されているように、これらのエンジンは、入力検出エンジン302と、オブジェクト検出エンジン304と、ROI調整エンジン306と、画像処理エンジン308とを含み得る。
【0055】
[0063]
図3Aに示されているように、画像キャプチャおよび処理システム300は、画像フレーム312をキャプチャし、表示することができる。入力検出エンジン302は、次いで、画像フレーム312に与えられたユーザ入力314を検出するためにディスプレイ310を監視し得る。場合によっては、ユーザ入力314は、ユーザが画像フレーム312内のロケーション(たとえば、ピクセル)を選択することを含み、および/またはそれに対応することができる。ユーザ入力314は、選択されたロケーションを囲むおよび/またはそれの近くの画像データに対する(オートフォーカスアルゴリズムなどの)画像処理動作を実施したいという要求を表し得る。場合によっては、画像キャプチャおよび処理システム300は、ユーザが少なくともしきい値時間量(たとえば、0.5秒、1秒など)の間ユーザ入力314を与える(たとえば、ディスプレイ310に触れる)と決定することに基づいてユーザ入力314が画像処理動作を実施したいという要求を表すと決定することができる。入力検出エンジン302は、周期的にまたは連続的に、ユーザ入力314を検出するためにディスプレイ310を監視し得る。たとえば、入力検出エンジン302は、画像フレーム312がプレビューストリーム内に表示される間にディスプレイ310を監視し、および/または画像キャプチャおよび処理システム300のメモリ(たとえば、メインメモリ)に画像フレーム312が記憶された後にディスプレイ310を監視し得る。場合によっては、入力検出エンジン302は、複数のロケーション(たとえば、複数のピクセル)の選択に関連するユーザ入力を検出することができる。いくつかの例では、それぞれの選択されたロケーションは、1つまたは複数のオブジェクトを含む異なる固定ROIに対応することができる。
【0056】
[0064]場合によっては、オブジェクト検出エンジン304は、ユーザ入力314に少なくとも部分的に基づいて画像フレーム312内の画像データに対してオブジェクト検出動作またはアルゴリズムを実施し得る。このオブジェクト検出動作またはアルゴリズムの目的は、ユーザ入力314に対応するロケーションを囲むおよび/またはそれの近くの画像フレーム312の領域内の1つまたは複数のオブジェクトを識別することであり得る。本明細書で使用される「オブジェクト」という用語は、概して、画像フレーム内の(特に、人、デバイス、動物、ビークル、平面、ランドスケープ特徴などの)アイテムまたはエンティティの記述を指す。例示的な一実施形態では、オブジェクト検出エンジン304は、選択されたロケーションを中心とする(または、ほぼ中心とする)固定ROI内のオブジェクトを検出し得る。オブジェクト検出エンジン304は、
図2Aおよび
図2Bに関して説明される技法を含む任意の好適な方法または技法を使用して固定ROIを決定し得る。入力検出エンジン302が複数のロケーションの選択に関連するユーザ入力を検出する例では、オブジェクト検出エンジン304は、それぞれの選択されたロケーションに対応する固定ROI内に少なくとも部分的に含まれる1つまたは複数のオブジェクトを検出することができる。
【0057】
[0065]いくつかの例では、オブジェクト検出エンジン304は、画像フレーム312内のオブジェクトを検出するために1つまたは複数のオブジェクト検出動作またはアルゴリズム(たとえば、顔面検出および/もしくは認識アルゴリズム、特徴検出および/もしくは認識アルゴリズム、エッジ検出アルゴリズム、境界追跡機能、それらの任意の組合せ、ならびに/または他のオブジェクト検出および/もしくは認識技法)を実装する。任意のオブジェクト検出技法は、オブジェクトを検出するために使用され得る。場合によっては、特徴検出は、オブジェクトの特徴を検出する(またはそれの位置を特定する)ために使用され得る。特徴に基づいて、オブジェクト検出および/または認識は、オブジェクトを検出することができ、場合によっては、検出されたオブジェクトを認識し、それをオブジェクトのカテゴリまたはタイプに分類することができる。たとえば、特徴認識は、シーンのエリア中のいくつかのエッジおよび隅を識別し得る。オブジェクト検出は、エリア中の検出されたエッジおよび隅がすべて単一のオブジェクトに属することを検出し得る。顔検出が実施される場合、顔検出は、オブジェクトが人間の顔であることを識別し得る。オブジェクト認識および/または顔認識は、その顔に対応する人の識別情報をさらに識別し得る。
【0058】
[0066]いくつかの実装形態では、オブジェクト検出動作またはアルゴリズムは、画像の特徴を抽出し、アルゴリズムによるモデルのトレーニングに基づいてそれらの特徴を備えるオブジェクトを検出および/または分類し得る同じタイプのオブジェクトおよび/または特徴の画像に対して機械学習アルゴリズムを使用してトレーニングされる機械学習モデルに基づき得る。たとえば、機械学習アルゴリズムは、畳み込みニューラルネットワーク(CNN)、時間遅延ニューラルネットワーク(TDNN)、ディープフィードフォワードニューラルネットワーク(DFFNN)、再帰型ニューラルネットワーク(RNN)、自動エンコーダ(AE)、変分AE(VAE)、ノイズ除去AE(DAE)、スパースAE(SAE)、マルコフ連鎖(MC)、パーセプトロン、またはそれらの何らかの組合せなどのニューラルネットワーク(NN)であり得る。機械学習アルゴリズムは、教師つき学習アルゴリズム、教師なし学習アルゴリズム、半教師つき学習アルゴリズム、敵対的生成ネットワーク(GAN)ベースの学習アルゴリズム、それらの任意の組合せ、または他の学習技法であり得る。
【0059】
[0067]いくつかの実装形態では、コンピュータビジョンベースの特徴検出技法またはアルゴリズムが使用され得る。異なるタイプのコンピュータビジョンベースのオブジェクト検出アルゴリズムが使用され得る。1つの例示的な例では、テンプレートマッチングベースの技法が画像中のオブジェクトを検出するために使用され得る。様々なタイプのテンプレートマッチングアルゴリズムが使用され得る。テンプレートマッチングアルゴリズムの一例は、ハールまたはハール様の特徴抽出、積分画像生成、Adaboostトレーニング、およびカスケード分類器を実施することができる。そのようなオブジェクト検出技法は、画像にわたって(たとえば、矩形、円形、三角形、または他の形状を有する)スライディングウィンドウを適用することによって検出を実施する。積分画像は、画像から特定の領域特徴、たとえば、矩形または円形特徴を評価する画像表現となるように計算され得る。現在のウィンドウごとに、現在のウィンドウのハール特徴(Haar features)が上記の積分画像から計算され得、これは、ハール特徴を計算する前に計算され得る。
【0060】
[0068]ハール特徴は、積分画像のものなど、オブジェクト画像の特定の特徴領域内の画像ピクセルの和を計算することによって計算され得る。顔中で、たとえば、目をもつ領域は、一般に、鼻梁または頬をもつ領域よりも暗い。ハール特徴は、最良の特徴を選択するおよび/またはそれらを使用する分類器をトレーニングする学習アルゴリズム(たとえば、Adaboost学習アルゴリズム)によって選択され得、カスケード分類器を効果的に用いて特定のオブジェクト(たとえば、顔または他のオブジェクト)ウィンドウまたは異なるオブジェクト(たとえば、顔以外のウィンドウ)としてウィンドウを分類するために使用され得る。カスケード分類器は、カスケード中に組み合わされた複数の分類器を含み、これにより、オブジェクト様の領域に対してより多くの計算を実施しながら画像のバックグラウンド領域を迅速に破棄することが可能になる。オブジェクトの一例として顔を使用すると、カスケード分類器は、顔カテゴリまたは顔以外のカテゴリに現在のウィンドウを分類することができる。1つの分類器が顔以外のカテゴリとしてウィンドウを分類する場合、ウィンドウは破棄される。そうではなく、1つの分類器が顔カテゴリとしてウィンドウを分類する場合、カスケード構成中の次の分類器が再びテストするために使用されることになる。現在のウィンドウが顔(または他のオブジェクト)であるとすべての分類器が決定するまで、ウィンドウは、特定のオブジェクト(たとえば、顔または他のオブジェクト)であることの候補として標示されることになる。すべてのウィンドウが検出された後、1つまたは複数の検出されたオブジェクト(たとえば、画像中の顔または他のオブジェクト)の最終の結果を生成するために各顔の周りのウィンドウをグループ化するために非極大値抑制アルゴリズムが使用され得る。
【0061】
[0069]場合によっては、オブジェクト検出動作またはアルゴリズムは、オブジェクトの境界を検出および/または出力し得る。本明細書で使用される「オブジェクトの境界」という用語は、オブジェクトと1つまたは複数の他のオブジェクトとの間の視覚的または物理的な区別を指すことができる。いくつかの例では、オブジェクトの境界は、オブジェクトの輪郭(たとえば、オブジェクトの形状、エッジ、および/または外形)に(近似的に)対応し得、および/またはそれによって定義され得る。しかしながら、オブジェクトの境界は、オブジェクトの外形と必ずしも直接的にまたは正確に整列するとは限らないことがある(たとえば、オブジェクトの境界は、オブジェクトの輪郭からある距離および/またはいくつかのピクセル内に決定され得る)。場合によっては、オブジェクト検出動作またはアルゴリズムは、オブジェクトの境界に対応するピクセル座標のセットとしてオブジェクト境界の指示を出力し得る。追加または代替として、オブジェクト検出動作またはアルゴリズムは、オブジェクトの境界に対応する1つまたは複数の曲線(たとえば、式)としてオブジェクト境界の指示を出力し得る。一実施形態では、ピクセル座標および/または曲線は、オブジェクトの輪郭に精密に従い得る(たとえば、オブジェクトの外形を定義し得る)。他の実施形態では、ピクセル座標および/または曲線は、オブジェクトの境界に近似的に従い得る。たとえば、関心領域内でオブジェクト検出アルゴリズムを実施することは、オブジェクトの境界ボックスまたはオブジェクトを含む(アルファシェイプまたは凸包などの)多角形を定義するピクセル座標および/または曲線を出力し得る。
【0062】
[0070]オブジェクト検出エンジン304によって実施されるオブジェクト検出動作またはアルゴリズムは、画像フレーム312の領域(たとえば、固定ROI)内の1つまたは複数のオブジェクト316を検出し得る。一例では、オブジェクト検出エンジン304は、領域内に完全に示されている各オブジェクト(たとえば、境界が領域内に完全に含まれている各オブジェクト)を検出し得る。別の例では、オブジェクト検出エンジン304は、領域内に少なくとも部分的に含まれている各オブジェクトを検出し得る。さらなる一例では、オブジェクト検出エンジン304は、複数のオブジェクトが領域内に少なくとも部分的に含まれていることを検出するが、1つまたは複数のオブジェクトが他の検出されたオブジェクトよりも重要であるおよび/または関係があると決定し得る。たとえば、オブジェクト検出エンジン304は、ユーザが画像処理動作の対象として第2のオブジェクトよりも第1のオブジェクトを選択することを意図する可能性が高いと決定し得る。オブジェクト検出エンジン304は、ユーザによって選択されたピクセルが第1のオブジェクトに対応する、第1のオブジェクトが第2のオブジェクトよりも大きい、第1のオブジェクトが画像フレーム312に示されているシーンの(背景ではなく)前景にある、および/または第1のオブジェクトがあるタイプのオブジェクトであるなどの様々なファクタに基づいて第1のオブジェクトが第2のオブジェクトよりも重要であるおよび/または関係があると決定し得る。例示的な例として、オブジェクト検出エンジン304は、固定ROIが顔と木との描写を含むと決定し得る。オブジェクト検出エンジン304は、顔が画像フレーム312内で木よりも重要である可能性があると決定し、したがって、顔が画像処理動作の意図された対象であると決定し得る。別の例示的な例では、オブジェクト検出エンジン304は、固定ROIが2つの木を含むことを検出し、画像処理動作の意図された対象が図示のシーンの前景により近い木であると決定し得る。
【0063】
[0071]いくつかの例では、オブジェクト検出エンジン304は、(たとえば、入力検出エンジン302がユーザ入力314を検出した後でのみ)ユーザ入力314に応答して画像フレーム312内でオブジェクト検出を実施し得る。たとえば、オブジェクト検出エンジン304がユーザ入力314を受信するより前に画像フレーム312内のオブジェクトを検出することが可能であり得るが、画像キャプチャおよび処理システム300は、ユーザ入力314が検出されるまで待つことによって電力およびコンピューティングリソースの消費量を低減し得る。ユーザが画像処理動作を使用して強化または改善することを望む特定の領域および/またはオブジェクトをユーザ入力314が示すので、画像フレーム312の他の領域内でオブジェクト検出を実施することは不要であり得る。したがって、ユーザ入力を受信するまでオブジェクト検出を実施するのを待つことによって、画像キャプチャおよび処理システム300は、画像フレーム内の特定のオブジェクトに対して効率的でカスタマイズ可能な画像処理動作を実施するのを容易にし得る。
【0064】
[0072]オブジェクト検出エンジン304が1つまたは複数のオブジェクト316を検出した後、ROI調整エンジン306は、1つまたは複数のオブジェクト316の1つまたは複数の境界に基づいて調整されたROI318を決定し得る。たとえば、画像フレーム312内のオブジェクトを検出するためにオブジェクト検出エンジン304が固定ROI内の画像コンテンツを探索した場合、オブジェクト検出エンジン304は、1つまたは複数のオブジェクト316の境界により正確に対応するおよび/または従うために固定ROIの1つまたは複数の境界を調整し得る。場合によっては、固定ROIを調整する目的は、画像フレーム312内で1つまたは複数のオブジェクト316の境界と固定ROIの境界との間の距離を減少させることであり得る。調整されたROI318の境界が1つまたは複数のオブジェクト316の境界に必ずしも精確に従うとは限らないことがあるが、調整されたROI318は、1つまたは複数のオブジェクト316の形状および/またはサイズをより正確に反映し得る。
【0065】
[0073]固定ROIを調整することの例は、限定はしないが、固定ROIのサイズを減少させること、固定ROIのサイズを増加させること、固定ROIのロケーションを変更すること、固定ROIの形状を変更すること、それらの組合せ、または固定ROIへの調整の任意の追加のタイプを含む。例示的な例では、固定ROIを調整することは、1つまたは複数の軸(たとえば、x軸、y軸、および/または放射軸)に沿って固定ROIのあらかじめ決定されたサイズを増加または減少させることを含むことができる。ROI調整エンジン306は、固定ROIのサイズのみ、形状のみ、またはサイズと形状との両方を含む固定ROIのあらかじめ決定されたサイズおよび形状の任意の組合せを調整することができる。たとえば、ROI調整エンジン306は、同じ量だけ固定ROIの各寸法(たとえば、高さおよび幅)を調整することができ、これは、固定ROIのあらかじめ決定された形状でなく固定ROIのあらかじめ決定されたサイズを調整し得る。別の例では、ROI調整エンジン306は、固定ROIのあらかじめ決定された形状を変更するが、固定ROIのあらかじめ決定されたサイズを変更しない方式で固定ROIの1つまたは複数の寸法を調整することができる(たとえば、調整されたROIは固定ROIと同じ数のピクセルを含み得る)。さらなる一例では、ROI調整エンジン306は、オブジェクト検出エンジン304によって実施されるオブジェクト検出アルゴリズムに基づいてオブジェクトのために決定された境界ボックスとして固定ROIの境界を設定することによって固定ROIを調整することができる。
【0066】
[0074]上述のように、場合によっては、オブジェクト検出エンジン304は、1つまたは複数のオブジェクト316の境界に対応する(または近似的に対応する)ピクセル座標を決定し得る。これらの場合、ROI調整エンジン306は、決定されたピクセル座標として調整されたROI318の境界を設定し得る。さらに、固定ROIが画像処理動作の対象となるべき複数のオブジェクトを含むとオブジェクト検出エンジン304が決定する場合、ROI調整エンジン306は、各オブジェクトを包含する単一の調整されたROI318を決定し得るか、またはオブジェクト検出エンジン304は、それぞれ単一のオブジェクトを包含する複数の調整されたROI318を決定し得る。さらに、ROI調整エンジン306は、調整されたROI318を迅速におよび/または動的に決定し得る。たとえば、画像フレーム312がディスプレイ310内で(たとえば、プレビューストリーム内で)ユーザに依然として表示される間に、ROI調整エンジン306は、調整されたROI318を決定し得る。他の例では、画像フレーム312がユーザにもはや表示されない間に、ROI調整エンジン306は、調整されたROI318を決定し得る。
【0067】
[0075]いくつかの例では、オブジェクト検出エンジン304が、それぞれ1つまたは複数のオブジェクトを少なくとも部分的に含む複数の固定ROIを決定する場合、ROI調整エンジン306は、固定ROIの全部または一部分の調整を決定することができる。たとえば、ROI調整エンジン306は、複数の固定ROIのあらかじめ決定されたサイズおよび/または形状を調整することができる。さらに、オブジェクト検出エンジン304は、単一の固定ROIの複数の調整を決定することができる。たとえば、ROI調整エンジン306は、固定ROIのための複数の候補の(たとえば、潜在的な)調整を決定することができる。一例では、ROI調整エンジン306は、固定ROI内に様々なオブジェクト検出アルゴリズムを実装することによって複数の候補の調整を決定することができる。様々なオブジェクト検出アルゴリズムは、固定ROIのあらかじめ決定されたサイズおよび/または形状に異なる調整を出力することができる。場合によっては、ROI調整エンジン306は、画像フレーム312内に実装されることになる複数の候補ROI調整のうちの1つの調整を選択することができる。例示的な例では、ROI調整エンジン306は、複数の候補のROI調整の比較に基づいて候補のROI調整を選択することができる。たとえば、ROI調整エンジン306は、どの候補のROI調整が固定ROI内の1つまたは複数のオブジェクトのサイズ、形状、および/または輪郭に最も良く適合するのかを決定することができる。他の例では、ROI調整エンジン306は、選択を示すユーザ入力に少なくとも部分的に基づいて候補のROI調整を選択することができる。たとえば、以下でより詳細に説明されるように、ROI調整エンジン306は、候補のROI調整を示す視覚グラフィックを(たとえば、ディスプレイ310内に)連続的に表示することができる。ROI調整エンジン306は、ユーザが対応する候補のROI調整の選択を示す特定の視覚グラフィックに関連する入力(たとえば、タッチ入力)を与えることを可能にすることができる。
【0068】
[0076]いくつかの例では、ROI調整エンジン306は、ユーザが調整されたROI318に1つまたは複数の追加の調整を与えることを可能にすることができる。たとえば、ROI調整エンジン306は、調整されたROI318の形状、サイズ、および/または外形を示す視覚グラフィックを(たとえば、ディスプレイ310内に)表示することができる。ROI調整エンジン306は、次いで、調整されたROI318の境界への調整に対応するユーザ入力を検出することができる。たとえば、ROI調整エンジン306は、ユーザが調整されたROI318の1つまたは複数の境界を移動すること、スライドすること、ドラッグすること、あるいは調整することを可能にすることができる。ユーザが候補のROI調整を選択することおよび/または追加のROI調整を与えることを可能にすることによって、ROI調整エンジン306は、ユーザのパーソナル選好に基づいて画像キャプチャまたは画像処理動作を調整および/またはカスタマイズすることができる。
【0069】
[0077]いくつかの実施形態では、画像処理エンジン308は、調整されたROI318内の画像データに対して1つまたは複数の画像処理および/または画像キャプチャ動作を実施し得る。例示的な例では、画像処理エンジン308は、画像フレーム312のキャプチャより前にまたはその間に(たとえば、画像フレーム312がプレビューストリーム内に表示される間に)調整されたROI318内の画像データに対して上記で説明されたPDAFまたはCDAF動作などのオートフォーカス動作を実施し得る。画像処理エンジン308によって実施され得る追加の画像処理動作の非限定的な例は、他のタイプの「3A」動作と、画像キャプチャより前にまたはその間に実施される他のタイプの自動画像処理動作と、画像キャプチャおよび/または記憶の後に実施される他のタイプの露出、フォーカス、測光、および/またはズーム動作とを含む。特に、画像処理エンジン308は、固定ROI内に含まれ、調整されたROI318の外の画像データを処理することなしに調整されたROI318内の画像データに対して1つまたは複数の画像処理動作を実施し得る。したがって、ROI調整エンジン306が調整されたROI318を決定する間に固定ROIのサイズを変更する(たとえば、減少させる)場合、画像処理エンジン308は、固定ROIを実装する従来の画像処理システムとは異なる(たとえば、それより小さい)画像データの部分に対して1つまたは複数の画像処理動作を実施し得る。そのようなより小さいROIは、画像処理動作を実施する効率を増加し、ならびに、処理された画像データを含んでいる画像フレームの品質および/または外見を改善し得る。
【0070】
[0078]画像キャプチャおよび処理システム300は、調整されたROI318内の画像データに対して1つまたは複数の画像処理動作を実施した後に画像フレーム312に対して様々な行為を実施することができる。一例では、画像キャプチャおよび処理システム300は、ディスプレイ310内に(処理された画像データをもつ)画像フレーム312を表示することができる。このようにして、ユーザは、画像処理動作の結果を視覚化することができる。ユーザは、次いで、(たとえば、画像キャプチャおよび処理システム300のメインメモリに)処理された画像フレーム312を保存すべきか、処理された画像フレーム312を削除すべきか、画像キャプチャおよび処理システム300に画像フレーム312に対して1つもしくは複数の追加の画像処理動作を実施するように指示すべきか、または画像フレーム312に対して任意の追加または代替の行為を実施すべきかを決定することができる。
【0071】
[0079]
図3Bは、デバイス322内の画像キャプチャおよび処理システム300の例示的な実装形態のブロック図を示す。図示のように、画像キャプチャおよび処理システム300のエンジンは、デバイス322の様々なハードウェアおよび/またはソフトウェア構成要素内に実装され得る。一例では、入力検出エンジン302は、デバイスアプリケーションレイヤ324内に常駐し得る。デバイスアプリケーションレイヤ324は、
図3Aに示されているディスプレイ310の出力を制御するカメラアプリケーションの部分および/またはインターフェースを表し得る。場合によっては、入力検出エンジン302は、デバイスアプリケーションレイヤ324内でまたはそれの部分として動作する間にディスプレイ310に与えられたユーザ入力を監視し得る。例示的な例では、入力検出エンジン302は、ユーザがディスプレイ310の特定のロケーションを選択した(たとえば、触れたまたはクリックした)ことを示す通知(たとえば、「タッチフラグ」)を検出および/または受信し得る。入力検出エンジン302は、次いで、画像処理アプリケーション326にこの入力の指示(たとえば、選択されたロケーションの指示)を送り得る。場合によっては、入力検出エンジン302は、画像処理アプリケーション326に、選択されたロケーションを囲むオブジェクト検出のために使用されるべきである固定ROIのサイズをまた送り得る。
【0072】
[0080]画像処理アプリケーション326は、デバイス322によってキャプチャされた画像データに対して1つまたは複数の画像処理動作を実施するように構成された任意のタイプまたは形態のアプリケーションを含み得る。例示的な例では、画像処理アプリケーション326は、オートフォーカスアルゴリズムを実施することが可能な「3A」アプリケーションを含み得る。
図3Bに示されているように、画像処理アプリケーション326は、画像キャプチャおよび処理システム300のオブジェクト検出エンジン304と、ROI調整エンジン306と、画像処理エンジン308とを含み得る。これらのエンジンは、固定ROI内の1つまたは複数のオブジェクトを検出し、1つまたは複数のオブジェクトの境界に基づいて調整されたROIを決定し、次いで、調整されたROI内の画像データに対して画像処理動作を実施するために入力検出エンジン302から送られた情報を利用し得る。
【0073】
[0081]いくつかの実施形態では、画像キャプチャおよび処理システム300は、固定ROIを調整することが適切であるおよび/または望ましいのかどうかを決定し得る。たとえば、画像キャプチャおよび処理システム300は、固定ROIのサイズおよび形状が1つまたは複数の検出されたオブジェクトの境界に十分に対応すると決定することに基づいて固定ROIを調整しないことを決定し得る。別の例では、画像キャプチャおよび処理システム300は、固定ROIが画像処理動作から利益を得るであろういかなるオブジェクトをも含まないので固定ROIを調整することがおそらく不要であると決定し得る。
【0074】
[0082]
図4は、固定ROIが調整されなければならないのかどうかを決定することによって1つまたは複数の画像処理動作を改善するためのプロセス400の一例を示すフローチャートである。ブロック402において、プロセス400は、画像フレーム内のロケーションの選択に対応するユーザ入力を検出することを含む。たとえば、プロセス400は、ユーザがユーザインターフェース上に表示される画像フレーム内の1つまたは複数のピクセルを選択したときを検出するカメラを装備したデバイスのユーザインターフェースを監視することを含むことができる。
【0075】
[0083]ブロック404において、プロセス400は、画像フレームが選択されたロケーションを囲むROI内にオブジェクトを含むのかどうかを決定することを含み、ここにおいて、ROIは、選択されたロケーションを含み、ここにおいて、ROIは、あらかじめ決定されたサイズ(すなわち、固定ROI)を有する。たとえば、プロセス400は、画像フレームの固定ROI内の画像データに対してオブジェクト検出動作またはアルゴリズムを実施することを含むことができる。一例では、画像フレームが固定ROI内にオブジェクトを含むと決定することは、固定ROIが1つまたは複数のオブジェクトの外部境界を完全に包含すると決定することを含むことができる。逆に、画像フレームが固定ROI内のオブジェクトを含まないと決定することは、固定ROIがいかなるオブジェクトの外部境界をも完全に包含しないと決定することを含むことができる。別の例では、画像フレームが固定ROI内にオブジェクトを含むと決定することは、固定ROIが1つまたは複数のオブジェクトの外部境界の少なくとも一部分を包含すると決定することを含むことができる。逆に、画像フレームが固定ROI内のオブジェクトを含まないと決定することは、固定ROIがいかなるオブジェクトの外部境界のいかなる部分をも包含しないと決定することを含むことができる。
【0076】
[0084]ブロック404において決定された決定が「いいえ」である場合、プロセス400は、ブロック408に進み得る。ブロック408において、プロセス400は、固定ROIを調整することを拒絶することを含む。たとえば、プロセス400は、固定ROI内に各ピクセルに対応する画像データに対して1つまたは複数の画像処理動作を実施することを決定することを含む。ブロック408の後に、プロセス400は、ブロック410に進み、これは、固定ROI内の画像データに対して1つまたは複数の画像処理動作を実施することを含む。ブロック404において決定された決定が「はい」である場合、プロセス400は、ブロック406に進み得る。ブロック406において、プロセス400は、決定に少なくとも部分的に基づいて固定ROIを調整することを含む。いくつかの実施形態では、固定ROIは、画像フレーム内で検出された1つまたは複数のオブジェクトの境界に基づいて調整され得る。たとえば、プロセス400は、1つまたは複数の検出されたオブジェクトの境界に対応するピクセルとしてROIの境界を設定することを含み得る。プロセス400は、次いで、ブロック410に進み、これは、調整されたROI内の画像データに対して1つまたは複数の画像処理および/または画像キャプチャ動作を実施することを含む。
【0077】
[0085]上記で説明された画像処理技法および解決策は、画像フレームの部分に対して実施される画像処理動作の品質を改善し得る。たとえば、特定のオブジェクトの形状および/またはサイズに基づいて固定ROIの形状および/またはサイズを改善することは、他のオブジェクトに対応する画像データを除外しながら画像処理動作を特定のオブジェクトに対応する画像データに対して実施することを可能にし得る。したがって、画像処理動作の効果が、より顕著になり、および/またはより高い品質のものになり得る。これらの改善は、特に、高精細なオブジェクトを含む画像フレーム中で、ならびに前景と背景との両方にオブジェクトを含む画像フレーム中で顕著になり得る。さらに、開示される技法および解決策は、ユーザがユーザの好みに従って画像をより正確で効率的にカスタマイズすることを可能にし、それによって、全体的なユーザ満足度を増加させ得る。
【0078】
[0086]
図5A、
図5B、
図5C、および
図5Dは、開示される画像処理技法および解決策によって与えられる改善を示す画像を含む。特に、
図5Aは、固定ROI504を含む例示的な画像フレーム502を示す。
図5Aに示されているように、固定ROI504は、2つの顔を含む。
図5Bは、オートフォーカスアルゴリズムが従来の画像処理システムに従って画像データに対して実施された後に固定ROI504内の画像データに対応する画像フレーム部分506を示す。たとえば、画像フレーム部分506中の画像データの全体は、オートフォーカスアルゴリズムを使用して処理されている。対照的に、
図5Cは、固定ROI504内の画像データのサブセットに対応する調整されたROI508を示す。
図5Cに示されているように、調整されたROI508の境界は、2つの顔の境界に近似的に対応する。開示される画像キャプチャおよび処理システムは、固定RO1504内でオブジェクト検出を実施することに少なくとも部分的に基づいて調整されたROI508を決定し得る。
図5Dは、オートフォーカスアルゴリズムが調整されたROI508内の画像データに対して実施された後に固定ROI504内の画像データに対応する画像データ部分510を示す。
図5Bに示されている顔と比較して、
図5Dに示されている顔は、より高い明瞭性を有し、処理された画像フレームは、より高い全体的な品質を有する。
【0079】
[0087]
図5Eおよび
図5Fは、開示される画像処理技法および解決策によって与えられる追加の改善を示す画像を含む。特に、
図5Eは、
図5Cに示されている固定ROI504と調整されたROI508の一部分とを示す。
図5Eはまた、追加の調整されたROI512を示し、これは、調整されたROI508がユーザ入力に基づいてさらに調整された後の調整されたROI508に対応する。図示のように、追加の調整されたROI512の形状(たとえば、矩形)は、調整されたROI508の形状と同様である。しかしながら、追加の調整されたROI512のサイズは、調整されたROI508のサイズとは異なる(たとえば、より大きい)。一例では、ROI調整エンジン306は、調整されたROI508の形状、サイズ、および/または輪郭(たとえば、外形)を示す視覚グラフィックを表示することができる。ROI調整エンジン306は、視覚グラフィックの1つまたは複数の境界を移動すること(たとえば、ドラッグすること)に対応するユーザ入力を検出することに基づいて追加の調整されたROI512を生成することができる。たとえば、ROI調整エンジン306は、調整されたROI508の中心点から離れて調整されたROI508の境界を移動することに対応するユーザ入力を検出することに基づいて調整されたROI508の高さおよび/または幅を増加させることができる。同様に、たとえば、ROI調整エンジン306は、調整されたROI508の中心点に向かって調整されたROI508の境界を移動することに対応するユーザ入力を検出することに基づいて調整されたROI508の高さおよび/または幅を減少させることができる。ROI調整エンジン306は、任意の好適な方法でおよび/または様々なタイプのユーザ入力に基づいて調整されたROI508に追加の調整を適用することができる。
【0080】
[0088]さらに、
図5Fは、
図5Cに示されている固定ROI504と調整されたROI508の一部分とを示す。
図5Fはまた、追加の調整されたROI514を示し、これは、候補の(たとえば、潜在的な)調整されたROIに対応する。たとえば、ROI調整エンジン306は、調整されたROI508、追加の調整されたROI514、および/または任意の追加の候補の調整されたROIを決定することができる。ROI調整エンジン306は、候補の調整されたROIの形状、サイズ、および/または輪郭に対応する視覚グラフィックを表示することができる。一例では、ROI調整エンジン306は、画像フレーム502上の複数の視覚グラフィックを同時に覆うことができる。別の例では、ROI調整エンジン306は、複数のまたは一連の視覚グラフィックを連続的に表示することができる。たとえば、ROI調整エンジン306は、単一の視覚グラフィックを一度に表示することができる。場合によっては、ROI調整エンジン306は、あらかじめ決定された時間量(たとえば、1秒、3秒など)の間各視覚グラフィックを表示することができる。このようにして、ROI調整エンジン306は、ユーザが各候補の調整されたROIを個々に閲覧および/または評価することを可能にすることができる。一例では、ROI調整エンジン306は、複数の候補の調整されたROIに対応する複数の視覚グラフィックを巡回することができる。特定の視覚グラフィックが表示される間、ROI調整エンジン306は、特定の視覚グラフィックの選択に対応するユーザ入力を検出することができる。たとえば、ROI調整エンジン306は、ユーザが特定の視覚グラフィックを選択した(たとえば、触れた、クリックした、口頭で肯定応答したなど)と決定することができる。ROI調整エンジン306は、次いで、画像フレーム502内に対応する候補の調整されたROIを実装することができる。
図5Fに示されているように、調整されたROI508は、追加の調整されたROI514(たとえば、楕円形)とは異なる形状(たとえば、矩形)のものであり得る。例示的な例では、楕円形状が画像フレーム502内の人の頭部の形状により正確に対応すると決定することに基づいて、ユーザは、追加の調整されたROI514に対応する視覚グラフィックを選択し得る。
【0081】
[0089]
図6は、画像フレーム中での1つまたは複数の画像処理動作を改善するための例示的なプロセス600を示す流れ図である。明快のために、プロセス600について、
図3Aおよび
図3Bに示されている画像処理およびキャプチャシステム300を参照しながら説明する。本明細書で概説されるステップは、例であり、いくつかのステップを除外、追加、または修正する組合せを含むそれらの任意の組合せで実装され得る。
【0082】
[0090]ステップ602において、プロセス600は、画像フレーム内のロケーションの選択に対応するユーザ入力を検出することを含む。たとえば、入力検出エンジン302は、画像フレーム312内のロケーションの選択に対応するユーザ入力314を検出することができる。一例では、画像処理およびキャプチャシステム300は、カメラデバイスが画像キャプチャモードにある間にカメラデバイスによってキャプチャされた画像フレームを含むフレームのプレビューストリーム内で画像フレーム312を受信することができる。画像フレーム312が、ディスプレイ310上に(たとえば、プレビューストリーム内に)表示される間に、入力検出エンジン302は、画像フレーム312を監視することができる。入力検出エンジン302は、画像フレーム312内のロケーションの選択に対応する任意の好適なタイプのユーザ入力を監視および/または検出することができる。非限定的な例では、入力検出エンジン302は、ユーザが画像フレーム312の1つまたは複数のピクセルに対応するディスプレイ310内のロケーションに(たとえば、指またはスタイラスを用いて)触れたか、またはさもなければそれを選択したことを検出することができる。場合によっては、入力検出エンジン302は、画像フレーム312が複数のROI内に1つまたは複数のオブジェクトを含むと決定することができる。たとえば、入力検出エンジン302は、画像フレーム312内の複数のロケーションの選択に対応するユーザ入力を検出することができる。
【0083】
[0091]ステップ604において、プロセス600は、画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定すること、関心領域は、選択されたロケーションを含み、あらかじめ決定されたサイズおよび/またはあらかじめ決定された形状を有する、を行うことを含む。たとえば、オブジェクト検出エンジン304は、画像フレーム312が画像フレーム312のROI内にオブジェクト316を含むと決定することができる。一例では、ROIは、固定ROI(たとえば、あらかじめ決定された形状、サイズ、および/または数のピクセルを有するROI)であり得る。オブジェクト検出エンジン304は、固定ROI内のオブジェクト316を検出するために様々なタイプのオブジェクト検出動作またはアルゴリズム(たとえば、顔検出および/もしくは認識アルゴリズム、特徴検出および/もしくは認識アルゴリズム、エッジ検出アルゴリズム、境界追跡機能、それらの任意の組合せ、ならびに/または他のオブジェクト検出および/もしくは認識技法)を実施することができる。
図5Cを参照すると、オブジェクト検出エンジン304は、固定ROI504内の2つの顔を検出することができる。さらに、(ステップ602において)画像フレーム312が複数のROIを含むと入力検出エンジン302が決定する場合、オブジェクト検出エンジン304は、少なくとも部分的に複数のROIの内にある1つまたは複数のオブジェクトを検出することができる。
【0084】
[0092]ステップ606において、プロセス600は、画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むという決定に少なくとも部分的に基づいて関心領域のあらかじめ決定されたサイズおよび/またはあらかじめ決定された形状を調節することを含む。たとえば、ROI調整エンジン306は、画像フレーム312がROI内にオブジェクト316を含むという決定に少なくとも部分的に基づいてROIを調整することができる。ROI調整エンジン306は、様々な方法でROIを調整することができる。一例では、ROI調整エンジン306は、少なくとも1つの軸に沿ってROIのあらかじめ決定されたサイズを減少させることができる。別の例では、ROI調整エンジン306は、少なくとも1つの軸に沿ってROIのあらかじめ決定されたサイズを増加させることができる。さらなる一例では、ROI調整エンジン306は、オブジェクト検出アルゴリズム(たとえば、画像フレーム312内のオブジェクトを検出するために使用されるオブジェクト検出アルゴリズム)に基づいてROIのあらかじめ決定された形状を調整することができる。たとえば、ROI調整エンジン306は、オブジェクト検出アルゴリズムに基づいてオブジェクトのための境界ボックスを決定し、境界ボックスとしてROIを設定することができる。追加または代替として、ROI調整エンジン306は、オブジェクト316の1つまたは複数の境界とROIの1つまたは複数の境界との間の距離を減少させる任意の方式でROIのサイズおよび/または形状を調整することができる。たとえば、ROI調整エンジン306は、オブジェクト316の1つまたは複数の境界を決定し、オブジェクト316の1つまたは複数の境界としてROIの1つまたは複数の境界を設定することができる。場合によっては、オブジェクト316の1つまたは複数の境界は、オブジェクト316の形状、外形、および/または輪郭に対応する(または近似的に対応する)ことができる。
図5Cを再び参照すると、ROI調整エンジン306は、固定ROI504内の顔のサイズおよび/または形状に基づいて固定ROI504を調整し、それによって、調整されたROI508を生成することができる。さらに、(ステップ604において)画像フレーム312が複数のROI内に1つまたは複数のオブジェクトを含むことをオブジェクト検出エンジン304が検出する場合、ROI調整エンジン306は、複数のROI内のオブジェクトに基づいて複数のROIのうちの1つまたは複数を調整することができる。
【0085】
[0093]場合によっては、ROI調整エンジン306は、調整されたROIを示す視覚グラフィックを(たとえば、画像フレーム312内に)表示することができる。視覚グラフィックは、調整されたROIの形状、サイズ、および/または外形に対応することができる。一例では、ROI調整エンジン306は、視覚グラフィックに関連する追加のユーザ入力を検出することができる。追加のユーザ入力は、調整されたROIへの少なくとも1つの追加の調整を示すことができる。
図5Eを参照すると、ROI調整エンジン306は、調整されたROI508の一部分のサイズを増加させること(たとえば、追加のROI512を生じること)に関連するユーザ入力を検出することができる。いくつかの例では、ROI調整エンジン306は、ROIのあらかじめ決定されたサイズおよび/またはあらかじめ決定された形状への異なる調整に対応する複数の候補の調整されたROIを決定することができる。それぞれの候補の調整されたROIは、(たとえば、ユーザによっておよび/またはROI調整エンジン306によって)評価され得る潜在的な調整されたROIに対応することができる。一例では、ROI調整エンジン306は、複数の候補の調整されたROIに対応する複数の視覚グラフィックを画像フレーム312内に連続的に表示することができる。ROI調整エンジン306は、複数の候補の調整されたROIのうちの1つの候補の調整されたROIの選択を、1つの候補の調整されたROIに対応する複数の視覚グラフィックのうちの視覚グラフィックに関連する追加のユーザ入力を検出することに基づいて決定することができる。たとえば、特定の視覚グラフィックが画像フレーム312内に表示される間に、ROI調整エンジン306は、特定の視覚グラフィックを選択する(たとえば、クリックする、触れる、口頭で肯定応答するなどの)ユーザ入力を検出することができる。
【0086】
[0094]ブロック608において、プロセス600は、調整されたROI内の画像データに対して1つまたは複数の画像キャプチャ動作を実施することを含む。たとえば、画像処理エンジン308は、画像フレーム312の調整されたROI内の画像データに対して1つまたは複数の画像キャプチャ動作を実施することができる。調整されたROIは、ROI調整エンジン306によって決定された調整されたROI、ユーザによって示された追加の調整を反映する調整されたROI、および/または複数の候補の調整されたROIから選択された調整されたROIに対応することができる。いくつかの例では、画像処理エンジン308は、1つまたは複数の「3A」動作(たとえば、オートフォーカス動作)を実施することができる。1つまたは複数の画像処理動作は、調整されたROI内の画像データに適用され得る(調整されたROIの外の画像データには適用されない)。たとえば、画像処理エンジン308は、
図5Cの調整されたROI508内の画像データに1つまたは複数の画像処理動作を適用することができる。
図5Dの画像データ部分510は、画像処理エンジン308が画像データに対してオートフォーカス動作を実施した後の調整されたROI508内の画像データを示す。調整されたROI内の画像データに対してのみ画像処理動作を実施することによって、画像処理およびキャプチャシステム300は、高品質でユーザがカスタマイズ可能な画像を正確で効率的に生成することができる。
【0087】
[0095]いくつかの例では、本明細書で説明されるプロセス(たとえば、本明細書で説明されるプロセス400、プロセス600、および/または他のプロセス)は、コンピューティングデバイスまたは装置(たとえば、
図3Bに示されているデバイス322)によって実施され得る。一例では、プロセス400および/またはプロセス600は、
図3Aおよび
図3Bの画像処理およびキャプチャシステム300によって実施され得る。別の例では、プロセス400および/またはプロセス600は、
図7に示されているコンピューティングシステム700をもつコンピューティングデバイスによって実施され得る。たとえば、
図7に示されているコンピューティングアーキテクチャをもつコンピューティングデバイスは、画像処理およびキャプチャシステム300の構成要素を含むことができ、
図4および
図6の動作を実装することができる。
【0088】
[0096]コンピューティングデバイスは、プロセス800を含む本明細書で説明されるプロセスを実施するためのリソース能力をもつ、モバイルデバイス(たとえば、モバイルフォン)、デスクトップコンピューティングデバイス、タブレットコンピューティングデバイス、ウェアラブルデバイス(たとえば、VRヘッドセット、ARヘッドセット、AR眼鏡、ネットワーク接続されたウォッチもしくはスマートウォッチ、または他のウェアラブルデバイス)、サーバコンピュータ、自律車両もしくは自律車両のコンピューティングデバイス、ロボット装置、テレビジョン、および/または任意の他のコンピューティングデバイスなどの任意の好適なデバイスを含むことができる。場合によっては、コンピューティングデバイスまたは装置は、1つもしくは複数の入力デバイス、1つもしくは複数の出力デバイス、1つもしくは複数のプロセッサ、1つもしくは複数のマイクロプロセッサ、1つもしくは複数のマイクロコンピュータ、1つもしくは複数のカメラ、1つもしくは複数のセンサ、および/または本明細書で説明されるプロセスのステップを行うように構成された他の構成要素などの様々な構成要素を含み得る。いくつかの例では、コンピューティングデバイスは、ディスプレイ、データを通信および/もしくは受信するように構成されたネットワークインターフェース、それらの任意の組合せ、ならびに/または他の構成要素を含み得る。ネットワークインターフェースは、インターネットプロトコル(IP)ベースのデータまたは他のタイプのデータを通信および/または受信するように構成され得る。
【0089】
[0097]コンピューティングデバイスの構成要素は、回路で実装され得る。たとえば、構成要素は、本明細書で説明される様々な動作を実施するために、1つまたは複数のプログラマブル電子回路(たとえば、マイクロプロセッサ、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、中央処理ユニット(CPU)、および/または他の好適な電子回路)を含むことができる、電子回路もしくは他の電子ハードウェアを含むことができ、および/またはそれらを使用して実装され得、ならびに/あるいは、コンピュータソフトウェア、ファームウェア、もしくはそれらの任意の組合せを含むことができ、および/またはそれらを使用して実装され得る。
【0090】
[0098]プロセス400およびプロセス600は、論理フロー図として示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組合せにおいて実施され得る動作のシーケンスを表す。コンピュータ命令の文脈では、動作は、1つまたは複数のプロセッサによって実行されたときに、記載された動作を実行する、1つまたは複数のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実行するかまたは特定のデータ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作を記述する順序は、限定として解釈すべきものではなく、プロセスを実装するために、任意の数の記述した動作が任意の順序でおよび/または並行して組み合わされ得る。
【0091】
[0099]さらに、本明細書で説明されるプロセス400、プロセス600および/または他のプロセスは、実行可能命令で構成された1つまたは複数のコンピュータシステムの制御下で実施され得、まとめて1つまたは複数のプロセッサ上で、ハードウェアによって、またはそれらの組合せで実行するコード(たとえば、実行可能命令、1つまたは複数のコンピュータプログラム、または1つまたは複数のアプリケーション)として実装され得る。上述のように、コードは、たとえば、1つまたは複数のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で、コンピュータ可読または機械可読記憶媒体に記憶され得る。コンピュータ可読または機械可読記憶媒体は、非一時的であり得る。
【0092】
[0100]
図7は、本技術のいくつかの態様を実装するためのシステムの一例を示す図である。特に、
図7は、コンピューティングシステム700の一例を示し、これは、たとえば、システムの構成要素が接続705を使用して互いに通信している、内部コンピューティングシステム、リモートコンピューティングシステム、カメラ、またはそれらの任意の構成要素を構成する任意のコンピューティングデバイスであり得る。接続705は、チップセットアーキテクチャ中などでのバスを使用した物理接続であるか、またはプロセッサ710への直接接続であり得る。接続705はまた、仮想接続、ネットワーク化された接続、または論理接続であり得る。
【0093】
[0101]いくつかの実施形態では、コンピューティングシステム700は、本開示で説明される機能がデータセンター、複数のデータセンター、ピアネットワークなどの内で分散され得る分散システムである。いくつかの実施形態では、説明されたシステム構成要素のうちの1つまたは複数は、構成要素が説明される機能の一部または全部をそれぞれ実施する多くのそのような構成要素を表す。いくつかの実施形態では、構成要素は、物理デバイスであることも、仮想デバイスであることもある。
【0094】
[0102]例示的なシステム700は、少なくとも1つの処理ユニット(CPUまたはプロセッサ)710とプロセッサ710に読取り専用メモリ(ROM)720およびランダムアクセスメモリ(RAM)725などのシステムメモリ715を含む様々なシステム構成要素を結合する接続705とを含む。コンピューティングシステム700は、プロセッサ710に直接接続された、またはそれに極めて近接した、またはその一部として統合された高速メモリのキャッシュ712を含むことができる。
【0095】
[0103]プロセッサ710は、任意の汎用プロセッサ、ならびに、プロセッサ710を制御するように構成された、記憶デバイス730に記憶されたサービス732、734、736などのハードウェアサービスまたはソフトウェアサービス、ならびにソフトウェア命令が実際のプロセッサ設計に組み込まれる専用プロセッサを含むことができる。プロセッサ710は、本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む完全に自己完結型のコンピューティングシステムであることがある。マルチコアプロセッサは、対称的または非対称的であり得る。
【0096】
[0104]ユーザ対話を可能にするために、コンピューティングシステム700は、音声のためのマイクロフォン、ジェスチャまたはグラフィカル入力のためのタッチセンシティブスクリーン、キーボード、マウス、動き入力、音声など、任意の数の入力機構を表すことができる入力デバイス745を含む。コンピューティングシステム700は、いくつかの出力機構のうちの1つまたは複数とすることができる出力デバイス735も含むことができる。いくつかの事例では、マルチモーダルシステムは、ユーザがコンピューティングシステム700と通信するために複数のタイプの入出力を提供することを可能にすることができる。コンピューティングシステム700は、通信インターフェース740を含むことができ、通信インターフェース740は、一般に、ユーザ入力およびシステム出力を統率および管理することができる。通信インターフェースは、オーディオジャック/プラグ、マイクロフォンジャック/プラグ、ユニバーサルシリアルバス(USB)ポート/プラグ、Apple(登録商標)Lightning(登録商標)ポート/プラグ、イーサネット(登録商標)ポート/プラグ、光ファイバポート/プラグ、プロプライエタリワイヤードポート/プラグ、BLUETOOTH(登録商標)ワイヤレス信号転送、BLUETOOTH低エネルギー(BLE)ワイヤレス信号転送、IBEACON(登録商標)ワイヤレス信号転送、無線周波数識別(RFID)ワイヤレス信号転送、近距離通信(NFC)ワイヤレス信号転送、専用短距離通信(DSRC)ワイヤレス信号転送、802.11Wi-Fiワイヤレス信号転送、ワイヤレスローカルエリアネットワーク(WLAN)信号転送、可視光通信(VLC)、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX(登録商標))、赤外線(IR)通信ワイヤレス信号転送、公衆交換電話網(PSTN)信号転送、統合サービスデジタルネットワーク(ISDN)信号転送、3G/4G/5G/LTEセルラーデータネットワークワイヤレス信号転送、アドホックネットワーク信号転送、電波信号転送、マイクロ波信号転送、赤外線信号転送、可視光信号転送、紫外光信号転送、電磁スペクトルに沿ったワイヤレス信号転送、またはそれらの何らかの組合せを利用するものを含むワイヤードトランシーバおよび/またはワイヤレストランシーバを使用して、ワイヤード通信またはワイヤレス通信の受信および/または送信を実行または容易にすることがある。通信インターフェース740は、1つまたは複数の全地球航法衛星システム(GNSS)に関連する1つまたは複数の衛星からの1つまたは複数の信号の受信に基づいて、コンピューティングシステム700の位置を決定するために使用される、1つまたは複数のGNSSシステム受信機またはトランシーバも含み得る。GNSSシステムは、限定はしないが、米国ベースの全地球測位システム(GPS)と、ロシアベースのグローバルナビゲーション衛星システム(GLONASS)と、中国ベースの北斗衛星導航系統(BDS)と、欧州ベースのGalileo GNSSとを含む。任意の特定のハードウェア構成上で動作することに制限はなく、したがって、ここでの基本的な特徴は、改善されたハードウェア構成またはファームウェア構成が開発されると、それらに容易に置き換えられ得る。
【0097】
[0105]ストレージデバイス730は、磁気カセット、フラッシュメモリカード、固体メモリデバイス、デジタル多用途ディスク、カートリッジ、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、磁気ストリップ/ストライプ、任意の他の磁気記憶媒体、フラッシュメモリ、メモリスタメモリ、任意の他の固体メモリ、コンパクトディスク読取り専用メモリ(CD-ROM)光ディスク、書換え可能コンパクトディスク(CD)光ディスク、デジタルビデオディスク(DVD)光ディスク、ブルーレイ(登録商標)ディスク(BDD)光ディスク、ホログラフィック光ディスク、別の光媒体、セキュアデジタル(SD)カード、マイクロセキュアデジタル(microSD)カード、Memory Stick(登録商標)カード、スマートカードチップ、EMVチップ、加入者識別モジュール(SIM)カード、ミニ/マイクロ/ナノ/ピコSIMカード、別の統合回路(IC)チップ/カード、ランダムアクセスメモリ(RAM)、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、フラッシュEPROM(FLASHEPROM)、キャッシュメモリ(L1/L2/L3/L4/L5/L#)、抵抗変化型ランダムアクセスメモリ(RRAM(登録商標)/ReRAM)、相変化メモリ(PCM)、スピントランスファートルクRAM(STT-RAM)、別のメモリチップもしくはカートリッジ、および/またはそれらの組合せなど、不揮発性および/または非一時的および/またはコンピュータ可読メモリデバイスであり得、コンピュータによってアクセス可能であるデータを記憶することができるハードディスクまたは他のタイプのコンピュータ可読媒体であり得る。
【0098】
[0106]ストレージデバイス730は、そのようなソフトウェアを定義するコードがプロセッサ710によって実行されるとき、システムに機能を実施させるソフトウェアサービス、サーバ、サービスなどを含むことができる。いくつかの実施形態では、特定の機能を実施するハードウェアサービスは、その機能を行うために、プロセッサ710、接続705、出力デバイス735など、必要なハードウェア構成要素に関して、コンピュータ可読媒体に記憶されたソフトウェア構成要素を含むことができる。
【0099】
[0107]本明細書で使用される「コンピュータ可読媒体」という用語は、限定はしないが、ポータブルまたは非ポータブル記憶デバイス、光記憶デバイス、ならびに(1つまたは複数の)命令および/またはデータを記憶、含有、または担持することが可能な様々な他の媒体を含む。コンピュータ可読媒体は、データを記憶することができ、ワイヤレスに、またはワイヤード接続を介して伝搬する搬送波および/または一時的な電子信号を含まない非一時的媒体を含み得る。非一時的媒体の例は、限定はしないが、磁気ディスクもしくは磁気テープ、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリ、またはメモリデバイスを含み得る。コンピュータ可読媒体は、その上に、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組合せを表し得るコードおよび/または機械実行可能命令を記憶していることがある。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を渡すおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む任意の適切な手段を使用して、渡され、フォワーディングされ、または送信され得る。
【0100】
[0108]いくつかの実施形態では、コンピュータ可読記憶デバイス、媒体、およびメモリは、ビットストリームなどを含んでいるケーブル信号またはワイヤレス信号を含むことができる。しかしながら、述べられるとき、非一時的コンピュータ可読記憶媒体は、エネルギー、キャリア信号、電磁波、および信号自体などの媒体を明確に除外する。
【0101】
[0109]具体的な詳細は、本明細書において提供される実施形態および例の完全な理解を提供するために、上記の説明において提供されている。ただし、実施形態はこれらの具体的な詳細なしに実施され得ることを当業者は理解されよう。説明の明快のために、いくつかの事例では、本技術は、デバイス、デバイス構成要素、ソフトウェアで具現される方法におけるステップまたはルーチン、あるいはハードウェアとソフトウェアとの組合せを備える機能ブロックを含む個々の機能ブロックを含むものとして提示され得る。図に示されているおよび/または本明細書で説明される構成要素以外の追加の構成要素が使用され得る。たとえば、回路、システム、ネットワーク、プロセス、および他の構成要素は、実施形態を不要な詳細で不明瞭にしないためにブロック図の形態で構成要素として示され得る。他の事例では、実施形態を不明瞭にすることを回避するために、よく知られている回路、プロセス、アルゴリズム、構造、および技法が不要な詳細なしに示され得る。
【0102】
[0110]個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として描かれる処理または方法として上述され得る。フローチャートは、動作を逐次的なプロセスとして説明し得るが、動作の多くは、並行してまたは同時に実施され得る。さらに、動作の順序は並べ替えられ得る。それの動作が完了されるとき、プロセスは終了されるが、図中に含まれない追加のステップを有し得る。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが機能に対応する場合、その終了は、呼出関数またはメイン関数への関数の戻り値に対応し得る。
【0103】
[0111]上述した例による処理および方法は、記憶されている、またはさもなければコンピュータ可読媒体から利用可能である、コンピュータ実行可能な命令を使用して実装され得る。そのような命令は、たとえば、汎用コンピュータ、専用コンピュータ、もしくは処理デバイスに、一定の機能もしくは機能のグループを実行させる、またはさもなければ、汎用コンピュータ、専用コンピュータ、もしくは処理デバイスを一定の機能もしくは機能のグループを実施するように構成する、命令およびデータを含むことができる。使用されるコンピュータリソースの部分は、ネットワーク上でアクセス可能とすることができる。コンピュータ実行可能命令は、たとえば、バイナリ、アセンブリ言語などの中間フォーマット命令、ファームウェア、ソースコードなどであり得る。命令、使用される情報、および/または説明される例による方法中に作成される情報を記憶するために使用され得るコンピュータ可読媒体の例は、磁気または光ディスク、フラッシュメモリ、不揮発性メモリを備えたUSBデバイス、ネットワーク化された記憶デバイスなどを含む。
【0104】
[0112]これらの開示によるプロセスおよび方法を実装するデバイスは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せを含むことができ、様々なフォームファクタのいずれかをとることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードにおいて実装される場合、必要なタスクを実施するためのプログラムコードまたはコードセグメント(たとえば、コンピュータプログラム製品)は、コンピュータ可読媒体または機械可読媒体に記憶され得る。プロセッサは、必要なタスクを実施し得る。フォームファクタの典型的な例は、ラップトップ、スマートフォン、モバイルフォン、タブレットデバイスまたは他のスモールフォームファクタパーソナルコンピュータ、携帯情報端末、ラックマウントデバイス、スタンドアロンデバイスなどを含む。本明細書で説明される機能はまた、周辺機器またはアドインカードで実施され得る。そのような機能性は、さらなる例として、異なるチップの中の回路基板または単一デバイス内で実行される異なるプロセス上でも実装され得る。
【0105】
[0113]命令、そのような命令を伝達するための媒体、それらを実行するためのコンピューティングリソース、およびそのようなコンピューティングリソースをサポートするための他の構造は、本開示で説明される機能を提供するための例示的な手段である。
【0106】
[0114]上記の説明では、本出願の態様がそれの特定の実施形態を参照しながら説明されたが、本出願はそれに限定されないことを、当業者は認識されよう。したがって、本出願の例示的な実施形態が本明細書で詳細に説明されているが、従来技術によって限定される場合を除いて、発明的概念が、場合によっては様々に具体化および採用され得、添付の特許請求の範囲が、そのような変形形態を含むように解釈されるものであることを理解されたい。上記で説明された適用例の様々な特徴および態様は、個々にまたは一緒に使用され得る。さらに、実施形態は、本明細書のより広い趣旨および範囲から逸脱することなく、本明細書で説明された環境および適用例以外に、任意の数の環境および適用例において利用され得る。したがって、本明細書および図面は、制限的なものというよりもむしろ例示的なものとして考慮されるべきである。例示の目的のために、方法は、特定の順序で説明された。代替実施形態では、方法は、説明された順序とは異なる順序で実施され得ることを諒解されたい。
【0107】
[0115]本明細書で使用される、よりも小さい(「<」)、および、よりも大きい(「>」)のシンボルまたは専門用語は、本明細書の範囲から逸脱することなく、それぞれ、よりも小さいかまたはそれに等しい(「≦」)、および、よりも大きいかまたはそれに等しい(「≧」)のシンボルと置き換えられ得ることを、当業者は諒解されよう。
【0108】
[0116]構成要素が、ある動作を実施する「ように構成されて」いるものとして説明される場合、そのような構成は、たとえば、動作を実施するように電子回路または他のハードウェアを設計することによって、動作を実施するようにプログラマブル電子回路(たとえば、マイクロプロセッサ、または他の好適な電子回路)をプログラムすることによって、またはそれらの任意の組合せによって、達成され得る。
【0109】
[0117]「に結合される」という句は、直接的にもしくは間接的に別の構成要素に物理的に接続される任意の構成要素、および/または、直接的もしくは間接的に別の構成要素と通信する(たとえば、有線接続もしくはワイヤレス接続、および/または他の適切な通信インターフェース上で、他の構成要素に接続された)任意の構成要素を指す。
【0110】
[0118]セット「のうちの少なくとも1つ」、および/またはセットのうちの「1つもしくは複数」を具陳する特許請求の範囲の文言または他の文言は、セットのうちの1つのメンバーまたは(任意の組合せにおける)セットのうちの複数のメンバーが特許請求の範囲を満たすことを示す。たとえば、「AおよびBのうちの少なくとも1つ」を具陳する特許請求の範囲の文言は、A、B、またはAおよびBを意味する。別の例では、「A、B、およびCのうちの少なくとも1つ」を具陳する特許請求の範囲の文言は、A、B、C、もしくはAおよびB、もしくはAおよびC、もしくはBおよびC、もしくはAおよびBおよびCを意味する。文言セットの「うちの少なくとも1つ」および/またはセットのうちの「1つまたは複数」は、セットにリストされている項目にセットを制限しない。たとえば、「AおよびBのうちの少なくとも1つ」を具陳するクレームの文言は、A、B、またはAおよびBを意味することができ、さらに、AおよびBのセットにリストされていない項目を含むことができる。
【0111】
[0119]本明細書において開示される実施形態に関連して説明される、様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、または、これらの組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課された設計制約に依存する。熟練した技術者は、説明された機能性を特定の適用例ごとに様々な手法で実装し得るが、そのような実装上の決定は、本出願の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
【0112】
[0120]本明細書において説明される技法は、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはこれらの任意の組合せにおいても実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明されたいかなる特徴も、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアにおいて実装される場合、技法は、命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体であって、命令は、実行された場合に、上述した方法のうちの1つまたは複数を実行する、コンピュータ可読データ記憶媒体によって少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージングマテリアルを含み得る、コンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶媒体などの、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形式でプログラムコードを搬送または通信し、コンピュータによってアクセスされ、読み取られ、および/または実行され得るコンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
【0113】
[0121]プログラムコードは、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価の集積回路またはディスクリート論理回路など、1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された技法のいずれかを実施するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。したがって、本明細書において使用されるような「プロセッサ」という用語は、前述の構造のいずれか、前述の構造の任意の組合せ、または、本明細書において説明される技法の実装に適した任意の他の構造もしくは装置を指し得る。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、あるいは複合ビデオエンコーダ/デコーダ(コーデック)に組み込まれ得る。
【0114】
[0122]態様1:画像フレーム中での1つまたは複数の画像処理動作を改善する方法。本方法は、画像フレーム内のロケーションの選択に対応するユーザ入力を検出することと、画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定することと、関心領域は、選択されたロケーションを含み、あらかじめ決定されたサイズまたはあらかじめ決定された形状を有する、決定に少なくとも部分的に基づいて関心領域を調整することと、調整された関心領域内で画像データに対して1つまたは複数の画像処理動作を実施することとを含む。
【0115】
[0123]態様2:カメラデバイスが画像キャプチャモードにある間にカメラデバイスによってキャプチャされた画像フレームを含むフレームのプレビューストリーム内で画像フレームを受信することをさらに備える、態様1に記載の方法。
【0116】
[0124]態様3:画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定することは、画像フレームの関心領域内でオブジェクト検出アルゴリズムを実施することを含む、態様1または2のいずれかに記載の方法。
【0117】
[0125]態様4:関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することは、オブジェクト検出アルゴリズムに基づいて関心領域のあらかじめ決定された形状を調整することを含む、態様3に記載の方法。
【0118】
[0126]態様5:オブジェクト検出アルゴリズムに基づいて関心領域のあらかじめ決定された形状を調整することは、オブジェクト検出アルゴリズムに基づいてオブジェクトのための境界ボックスを決定することと、境界ボックスとして関心領域を設定することとを含む、態様4に記載の方法。
【0119】
[0127]態様6:関心領域のあらかじめ決定されたサイズまたは形状を調整することは、少なくとも1つの軸に沿って関心領域のあらかじめ決定されたサイズを減少させることを含む、態様1から5のいずれかに記載の方法。
【0120】
[0128]態様7:関心領域のあらかじめ決定された形状またはサイズを調整することは、少なくとも1つの軸に沿って関心領域のあらかじめ決定されたサイズを増加させることを含む、態様1から6のいずれかに記載の方法。
【0121】
[0129]態様8:関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することは、関心領域の境界と1つまたは複数のオブジェクトの境界との間の距離を減少させることを含む、態様1から7のいずれかに記載の方法。
【0122】
[0130]態様9:関心領域の境界と1つまたは複数のオブジェクトの境界との間の距離を減少させることは、画像フレーム内のオブジェクトの輪郭を決定することと、画像フレーム内のオブジェクトの輪郭として関心領域の境界を設定することとを含む、態様8に記載の方法。
【0123】
[0131]態様10:画像フレーム内のオブジェクトの輪郭を決定することは、画像フレーム内の輪郭に対応するピクセルを決定することを含む、態様9に記載の方法。
【0124】
[0132]態様11:関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定することは、画像フレーム内の複数の関心領域内に画像フレームが1つまたは複数のオブジェクトを少なくとも部分的に含むと決定することを含み、関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することは、複数の関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することを含む、態様1から10のいずれかに記載の方法。
【0125】
[0133]態様12:画像フレーム内に、調整された関心領域を示す視覚グラフィックを覆うことをさらに備える、態様1から11に記載の方法。
【0126】
[0134]態様13:視覚グラフィックに関連する追加のユーザ入力を検出すること、追加のユーザ入力は、調整された関心領域への少なくとも1つの追加の調整を示す、をさらに備える、態様12に記載の方法。
【0127】
[0135]態様14:関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状への異なる調整に対応する複数の候補の調整された関心領域を決定することと、画像フレーム内に、複数の候補の調整された関心領域に対応する複数の視覚グラフィックを連続的に表示することと、複数の候補の調整された関心領域のうちの1つの候補の調整された関心領域の選択を、1つの候補の調整された関心領域に対応する複数の視覚グラフィックのうちの視覚グラフィックに関連する追加のユーザ入力を検出することに基づいて決定することとをさらに備える、態様1から13のいずれかに記載の方法。
【0128】
[0136]態様15:1つまたは複数の画像処理動作はオートフォーカス動作を含む、態様1から14のいずれかに記載の方法。
【0129】
[0137]態様16:1つまたは複数の画像処理動作は自動露出動作を含む、態様1から15のいずれかに記載の方法。
【0130】
[0138]態様17:1つまたは複数の画像処理動作は自動ホワイトバランス動作を含む、態様1から16のいずれかに記載の方法。
【0131】
[0139]態様18:調整された関心領域内の画像データに対して1つまたは複数の画像処理動作を実施した後にディスプレイ上に画像フレームを表示することをさらに備える、態様1から17のいずれかに記載の方法。
【0132】
[0140]態様19:画像フレーム中での1つまたは複数の画像処理動作を改善するための装置。本装置は、メモリとプロセッサとを含み、プロセッサは、画像フレーム内のロケーションの選択に対応するユーザ入力を検出することと、画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定することと、関心領域は、選択されたロケーションを含み、あらかじめ決定されたサイズまたはあらかじめ決定された形状を有する、決定に少なくとも部分的に基づいて関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することと、調整された関心領域内で画像データに対して1つまたは複数の画像キャプチャ動作を実施することとを行うように構成される。
【0133】
[0141]態様20:プロセッサは、カメラデバイスが画像キャプチャモードにある間にカメラデバイスによってキャプチャされた画像フレームを含むフレームのプレビューストリーム内で画像フレームを受信することを行うように構成された、態様19に記載の装置。
【0134】
[0142]態様21:プロセッサは、画像フレームの関心領域内でオブジェクト検出アルゴリズムを実施することに基づいて、画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定することを行うように構成された、態様19または20のいずれかに記載の装置。
【0135】
[0143]態様22:プロセッサは、オブジェクト検出アルゴリズムに基づいてオブジェクトのための境界ボックスを決定することと、境界ボックスとして関心領域を設定することとを行うように構成された、態様21に記載の装置。
【0136】
[0144]態様23:プロセッサは、少なくとも1つの軸に沿って関心領域のあらかじめ決定されたサイズを減少させることを行うように構成された、態様19から22のいずれかに記載の装置。
【0137】
[0145]態様24:プロセッサは、少なくとも1つの軸に沿って関心領域のあらかじめ決定されたサイズを増加させることを行うように構成された、態様19から23のいずれかに記載の装置。
【0138】
[0146]態様25:プロセッサは、関心領域の境界とオブジェクトの境界との間の距離を減少させることを行うように構成された、態様19から24のいずれかに記載の装置。
【0139】
[0147]態様26:プロセッサは、画像フレーム内のオブジェクトの輪郭を決定することと、画像フレーム内のオブジェクトの輪郭として関心領域の境界を設定することとを行うように構成された、態様25に記載の装置。
【0140】
[0148]態様27:プロセッサは、画像フレーム内の輪郭に対応するピクセルを決定することを行うように構成された、態様26に記載の装置。
【0141】
[0149]態様28:プロセッサは、画像フレーム内の複数の関心領域内に画像フレームが1つまたは複数のオブジェクトを少なくとも部分的に含むと決定することに基づいて、関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定することと、複数の関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することによって少なくとも部分的に、関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することとを行うように構成された、態様19から27のいずれかに記載の装置。
【0142】
[0150]態様29:プロセッサは、画像フレーム内に、調整された関心領域を示す視覚グラフィックを覆うことを行うようにさらに構成された、態様19から28のいずれかに記載の装置。
【0143】
[0151]態様30:プロセッサは、視覚グラフィックに関連する追加のユーザ入力を検出すること、追加のユーザ入力は、調整された関心領域への少なくとも1つの追加の調整を示す、を行うようにさらに構成された、態様29に記載の装置。
【0144】
[0152]態様31:プロセッサは、関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状への異なる調整に対応する複数の候補の調整された関心領域を決定することと、画像フレーム内に、複数の候補の調整された関心領域に対応する複数の視覚グラフィックを連続的に表示することと、複数の候補の調整された関心領域のうちの1つの候補の調整された関心領域の選択を、1つの候補の調整された関心領域に対応する複数の視覚グラフィックのうちの視覚グラフィックに関連する追加のユーザ入力を検出することに基づいて決定することとを行うようにさらに構成された、態様19から30のいずれかに記載の装置。
【0145】
[0153]態様32:1つまたは複数の画像キャプチャ動作はオートフォーカス動作を含む、態様19から31のいずれかに記載の装置。
【0146】
[0154]態様33:1つまたは複数の画像キャプチャ動作は自動露出動作を含む、態様19から32のいずれかに記載の装置。
【0147】
[0155]態様34:1つまたは複数の画像キャプチャ動作は自動ホワイトバランス動作を含む、態様19から33のいずれかに記載の装置。
【0148】
[0156]態様35:ディスプレイをさらに備え、ここにおいて、プロセッサは、調整された関心領域内の画像データに対して1つまたは複数の画像キャプチャを実施した後にディスプレイ上に画像フレームを表示することを行うように構成された、態様19から34のいずれかに記載の装置。
【0149】
[0157]態様36:装置がモバイルデバイスを備える、態様19から35のいずれかに記載の装置。
【0150】
[0158]態様37:装置がカメラデバイスを備える、態様19から36のいずれかに記載の装置。
【0151】
[0159]態様38:画像フレーム中での1つまたは複数の画像処理動作を改善するための非一時的コンピュータ可読記憶媒体。非一時的コンピュータ可読記憶媒体は、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、態様1から18の動作のいずれかを実施することを行わせる命令を含む。たとえば、非一時的コンピュータ可読記憶媒体は、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、画像フレーム内のロケーションの選択に対応するユーザ入力を検出することと、画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定することと、関心領域は、選択されたロケーションを含み、あらかじめ決定されたサイズまたはあらかじめ決定された形状を有する、決定に少なくとも部分的に基づいて関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することと、調整された関心領域内で画像データに対して1つまたは複数の画像処理動作を実施することとを行わせる命令を含むことができる。
【0152】
[0160]態様39:画像フレームの関心領域内に画像フレームがオブジェクトを少なくとも部分的に含むと決定することは、画像フレームの関心領域内でオブジェクト検出アルゴリズムを実施することを含む、態様38に記載の非一時的コンピュータ可読記憶媒体。
【0153】
[0161]態様40:関心領域のあらかじめ決定されたサイズまたはあらかじめ決定された形状を調整することは、関心領域の境界とオブジェクトの境界との間の距離を減少させることを含む、態様38または39のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0154】
[0162]態様41:態様1から18の動作のいずれかを実施するための1つまたは複数の手段を含む画像キャプチャおよび処理システム。
【国際調査報告】