(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-25
(45)【発行日】2025-05-08
(54)【発明の名称】画像における複数の光源のフリッカ現象の低減
(51)【国際特許分類】
H04N 23/745 20230101AFI20250428BHJP
H04N 23/73 20230101ALI20250428BHJP
G03B 15/03 20210101ALI20250428BHJP
G03B 7/091 20210101ALI20250428BHJP
【FI】
H04N23/745
H04N23/73
G03B15/03 Z
G03B7/091
【外国語出願】
(21)【出願番号】P 2023064610
(22)【出願日】2023-04-12
(62)【分割の表示】P 2022517267の分割
【原出願日】2020-08-20
【審査請求日】2023-05-15
(32)【優先日】2019-10-11
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-06-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】スン,ガン
(72)【発明者】
【氏名】ガオ,ジンルン
(72)【発明者】
【氏名】ベラルデ,ルベン・マニュエル
(72)【発明者】
【氏名】フン,スゼッポ・ロバート
【審査官】堀井 康司
(56)【参考文献】
【文献】特開2014-003548(JP,A)
【文献】特開2017-069741(JP,A)
【文献】特開平07-336586(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/222-5/257
H04N 23/00
H04N 23/40-23/76
H04N 23/90-23/959
G03B 15/03
G03B 7/091
(57)【特許請求の範囲】
【請求項1】
方法であって、
複数の光源の少なくとも2つの各々に関する発光周波数を検出するステップと、
少なくとも第1優先順位がつけられた発光周波数および第2優先順位がつけられた発光周波数を特定するために、前記複数の光源の前記少なくとも2つの各々の前記発光周波数に優先順位をつけるステップと、
撮像装置の露光限界に基づいて、前記第1優先順位がつけられた発光周波数に対する第1露光時間因数分解セットおよび前記第2優先順位がつけられた発光周波数に対する第2露光時間因数分解セットを決定するステップと、
調整された露光時間で撮像するように前記撮像装置に指示するステップとを備え、前記調整された露光時間は、前記第2露光時間因数分解セット内の一致するまたはほぼ一致する露光時間の少なくとも1つと一致する、前記第1露光時間因数分解セット内の露光時間であ
り、
前記第1露光時間因数分解セットは、前記第1優先順位がつけられた発光周波数の逆数の倍数のセットを含み、前記第2露光時間因数分解セットは前記第2優先順位がつけられた発光周波数の逆数の倍数のセットを含む、方法。
【請求項2】
前記複数の光源の前記少なくとも2つの各々に関する前記発光周波数を検出するステップの前に、前記撮像装置の露光限界を特定するステップをさらに備える、請求項1に記載の方法。
【請求項3】
前記複数の光源の前記少なくとも2つの各々の前記発光周波数に優先順位をつけるステップは、前記撮像装置で撮像された画像におけるフリッカ現象に基づく、請求項1または2に記載の方法。
【請求項4】
前記第1優先順位がつけられた発光周波数に対する前記第1露光時間因数分解セットおよび前記第2優先順位がつけられた発光周波数に対する前記第2露光時間因数分解セットを決定するステップの前に、画像を撮像するための前記撮像装置の現在の露光時間を決定するステップをさらに備える、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記発光周波数を検出するステップは、既知の露光時間における輝度変化パターンの発生をカウントするステップ、専用の光周波数センサーを使用するステップ、高速フーリエ処理を活用するステップ、および時間フィルタを使用するステップの少なくとも1つ、またはこれらの組み合わせを含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記調整された露光時間で撮像するステップをさらに備え、前記撮像するステップは、ローリングシャッター技術を使用する、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記発光周波数に優先順位をつけるステップは、前記発光周波数の強度、前記発光周波数のパワーサイクル関数、前記撮像装置のローリングシャッター効果、および前記撮像装置の撮像のフレームレートの少なくとも1つ、またはこれらの組み合わせのメトリック関数に基づく、請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記撮像装置の前記露光限界を特定するステップは、前記撮像装置の内部メモリから前記露光限界を読み出すステップを含む、請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記第1露光時間因数分解セットおよび前記第2露光時間因数分解セットを決定する際のその後の参照のために前記撮像装置の前記露光限界を出力するステップをさらに備える、請求項8に記載の方法。
【請求項10】
前記第1露光時間因数分解セットおよび前記第2露光時間因数分解セットは、前記撮像装置の前記露光限界によって制限される、請求項1~9のいずれか1項に記載の方法。
【請求項11】
画像を撮像するための前記撮像装置の現在のゲインを決定するステップをさらに備え、
前記第1露光時間因数分解セットおよび前記第2露光時間因数分解セットは、前記撮像装置の前記露光限界、前記撮像装置の現在の露光時間、および前記撮像装置の前記現在のゲインに基づいて決定される、請求項1~10のいずれか1項に記載の方法。
【請求項12】
撮像装置であって、
少なくとも1つのプロセッサと、
命令を含むコンピュータ読取可能な媒体とを備え、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
複数の光源の少なくとも2つの各々に関する発光周波数を検出し、
少なくとも第1優先順位がつけられた発光周波数および第2優先順位がつけられた発光周波数を特定するために、前記複数の光源の前記少なくとも2つの各々の前記発光周波数に優先順位をつけ、
前記撮像装置の露光限界に基づいて、前記第1優先順位がつけられた発光周波数に対する第1露光時間因数分解セットおよび前記第2優先順位がつけられた発光周波数に対する第2露光時間因数分解セットを決定し、
前記撮像装置の現在の露光時間を調整された露光時間に調整するようにさせ、前記調整された露光時間は、前記第2露光時間因数分解セット内の一致するまたはほぼ一致する露光時間の少なくとも1つと一致する、前記第1露光時間因数分解セット内の露光時間であ
り、
前記第1露光時間因数分解セットは、前記第1優先順位がつけられた発光周波数の逆数の倍数のセットを含み、前記第2露光時間因数分解セットは前記第2優先順位がつけられた発光周波数の逆数の倍数のセットを含む、撮像装置。
【請求項13】
前記命令はさらに、前記少なくとも1つのプロセッサに、
前記複数の光源の前記少なくとも2つの各々に関する前記発光周波数を検出する前に、前記撮像装置の露光限界を特定するようにさせる、請求項12に記載の撮像装置。
【請求項14】
前記複数の光源の前記少なくとも2つの各々の前記発光周波数に優先順位をつけることは、前記撮像装置で撮像された画像におけるフリッカ現象に関する、請求項12または13に記載の撮像装置。
【請求項15】
前記命令はさらに、前記少なくとも1つのプロセッサに、
前記第1優先順位がつけられた発光周波数に対する前記第1露光時間因数分解セットおよび前記第2優先順位がつけられた発光周波数に対する前記第2露光時間因数分解セットを決定する前に、画像を撮像するための前記撮像装置の前記現在の露光時間を決定するようにさせる、請求項12~14のいずれか1項に記載の撮像装置。
【請求項16】
前記撮像装置は、画像を撮像するためにローリングシャッター技術を使用する、請求項12~15のいずれか1項に記載の撮像装置。
【請求項17】
前記第1露光時間因数分解セットおよび前記第2露光時間因数分解セットは、前記撮像装置の前記露光限界によって制限される、請求項12~16のいずれか1項に記載の撮像装置。
【請求項18】
前記撮像装置は、デジタルカメラおよびデジタルビデオカメラの少なくとも1つ、またはこれらの組み合わせを含む、請求項12~17のいずれか1項に記載の撮像装置。
【請求項19】
命令を格納するプログラムであって、前記命令は、少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
複数の光源の少なくとも2つの各々に関する発光周波数を検出し、
少なくとも第1優先順位がつけられた発光周波数および第2優先順位がつけられた発光周波数を特定するために、前記複数の光源の前記少なくとも2つの各々の前記発光周波数に優先順位をつけ、
撮像装置の露光限界に基づいて、前記第1優先順位がつけられた発光周波数に対する第1露光時間因数分解セットおよび前記第2優先順位がつけられた発光周波数に対する第2露光時間因数分解セットを決定し、
前記撮像装置の現在の露光時間を調整された露光時間に調整するようにさせ、前記調整された露光時間は、前記第2露光時間因数分解セット内の一致するまたはほぼ一致する露光時間の少なくとも1つと一致する、前記第1露光時間因数分解セット内の露光時間であ
り、
前記第1露光時間因数分解セットは、前記第1優先順位がつけられた発光周波数の逆数の倍数のセットを含み、前記第2露光時間因数分解セットは前記第2優先順位がつけられた発光周波数の逆数の倍数のセットを含む、プログラム。
【請求項20】
前記複数の光源の前記少なくとも2つの各々の前記発光周波数に優先順位をつけることは、前記撮像装置で撮像された画像におけるフリッカ現象に関する、請求項19に記載のプログラム。
【請求項21】
前記プログラムはさらに、命令を含み、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
前記第1優先順位がつけられた発光周波数に対する前記第1露光時間因数分解セットおよび前記第2優先順位がつけられた発光周波数に対する前記第2露光時間因数分解セットを決定する前に、画像を撮像するための前記撮像装置の前記現在の露光時間を決定するようにさせる、請求項19または20に記載のプログラム。
【請求項22】
前記プログラムはさらに、命令を含み、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
前記第1露光時間因数分解セットおよび前記第2露光時間因数分解セットを決定する際のその後の参照のために前記撮像装置の前記露光限界を出力するようにさせる、請求項19~21のいずれか1項に記載のプログラム。
【請求項23】
前記第1露光時間因数分解セットおよび前記第2露光時間因数分解セットは、前記撮像装置の前記露光限界によって制限される、請求項19~22のいずれか1項に記載のプログラム。
【請求項24】
前記プログラムはさらに、命令を含み、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
画像を撮像するための前記撮像装置の現在のゲインを決定するようにさせ、
前記第1露光時間因数分解セットおよび前記第2露光時間因数分解セットは、前記撮像装置の前記露光限界、前記撮像装置の前記現在の露光時間、および前記撮像装置の前記現在のゲインに基づいて決定される、請求項19~23のいずれか1項に記載のプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
背景
CMOS(Complementary metal oxide semiconductor)センサは、画像を生成するために一般にデジタルカメラやデジタルビデオカメラで用いられる。典型的には、撮像工程として、ローリングシャッター方式が用いられる。ローリングシャッター方式では、一度に全てではなく、走査線ごとに、順次、画素を露光、サンプリングおよび読み出されることによって、静止画または動画のフレームが撮像される。さらに、画像の各走査線は、一様な露光時間で、わずかに異なる時間でサンプリングされる。
【0002】
電気の交流(AC)によって電力が供給される特定の光源は、所定のAC周波数でフリッカ現象が発生する。この光のフリッカは、CMOSセンサのローリングシャッターと、光のフリッカとは異なる露光時間との組み合わせによって、CMOSセンサによって撮像されて得られた画像またはビデオに、典型的には画像全体に暗いまたは影のついたゼブラのようなライン、またはビデオ記録全体に暗い動きのあるラインの形態で、記録画像中に顕著なバンディングまたはフリッカ現象を生じさせる。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
本明細書では、撮像された画像において、異なる発光(たとえば、点滅)周波数を含む複数の人工光源からの発光フリッカ現象を低減するための例示的な撮像装置、システム、および方法について説明する。たとえば、住宅、ショッピングモール、オフィス、レストランなど、人工的な光が使用されるエリアにおいて、異なる発光周波数を持つ複数の光源が存在するのが一般的である。たとえば、従来の白熱灯や蛍光灯の多くは、電源周波数(50/60Hzの正弦波、エネルギー領域では100/120Hz、欧州では100Hzなど)で揃えられており、LED(Light Emitting Diode)光源の大半は、より高い周波数を有する。これらの複数の光源の発光周波数を検出することで、画質に関してより有害なものが特定され、撮像装置のCMOSセンサの露光時間を制御するための複数のステップが実行される。これにより、撮像された画像におけるバンディング現象、フリッカ現象、またはフリッカアーチファクト(総称して「フリッカ現象」と呼ぶ)が低減または解消される。フリッカ現象は、典型的には、画像を横切る暗いまたは影のついたゼブラのようなライン、またはビデオ録画を横切る暗く移動するラインとして表示される。
【0004】
撮像装置で撮像された画像において複数の光源のフリッカ現象を低減する例示的な方法は、まず、複数の光源の各々に関する発光周波数を検出することを含む。次に、光源の発光周波数は、少なくとも第1優先順位がつけられた発光周波数および第2優先順位がつけられた発光周波数を特定するために、画像に対するフリッカ現象に関して優先順位がつけられる。第1優先順位がつけられた発光周波数に対する第1露光時間因数分解セットが決定され、同様に、第2優先順位がつけられた発光周波数に対する第2露光時間因数分解セットも決定される。そのとき、撮像装置の露光時間は、第1露光時間因数分解セット内の露光時間が、第2露光時間因数分解セット内の露光時間と一致するまたはほぼ一致する(たとえば、完全に一致するものが存在しない場合)ように調整される。
【0005】
次に、撮像装置で撮像された画像における複数の光源からのフリッカ現象に対処するためのシステムおよび方法の例を、添付の図面を参照して説明する。図面全体を通して、同一の参照符号は、同一または同様の構成要素を示す。
【図面の簡単な説明】
【0006】
【
図1】撮像された画像における複数の光源からの発光フリッカ現象を低減するように構成された撮像装置の例を示す。
【
図2】撮像装置によって撮像された画像における複数の光源からの発光フリッカ現象を低減するための例示的な方法を示すフローチャートである。
【
図3】撮像装置によって撮像された画像における複数の光源からの発光フリッカ現象を低減するための例示的な方法の動作、データ、入力、および出力を示すフローチャートである。
【
図4】撮像された画像における複数の光源からの発光フリッカ現象を低減するために撮像装置の露光時間を調整するための露光時間因数分解セットを決定する例示的な方法の動作および計算を示すフローチャートである。
【発明を実施するための形態】
【0007】
詳細な説明
図1は、撮像された画像における複数の光源からの発光フリッカ現象を低減または解消するように構成された撮像装置の例を示すブロック図である。102、104、106、および108における光源1~Nは、人工的に光が照らされた典型的な環境に存在し得る。その環境は、人、物、またはシーン110の写真を撮る(たとえば、画像を撮像する)ことに人が興味を持ち得る環境、たとえば、家庭用、ビジネス用、または他の構造物などの環境である。各光源102~108は、異なる発光周波数で明滅してもよい。撮像する人は、撮像装置112に代表されるデジタルカメラやデジタルビデオカメラを組み込んだ任意の種類の装置を使用してもよい。いくつかの非限定的な例として、撮像装置112は、携帯電話112-1、タブレット端末112-2、または、デジタルビデオカメラもしくはデジタルカメラ112-3であってもよい。撮像装置112は、撮像された画像における複数の光源102~108からのフリッカ現象を低減するためのハードウェア、ソフトウェア、および機能を備えるようにしてもよい。
【0008】
撮像装置112は、カメラレンズ118を介してシーン110の画像116を撮像するためのローリングシャッター技術を用いた標準的なCMOSチップ114を含んでもよい。撮像装置112は、また、専用のハードウェア光周波数センサ118、プロセッサ120、およびメモリ122を含んでもよい。撮像装置112は、また、たとえば、ASIC(Application Specific Integrated Circuit)などの他のハードウェア部品を含んでもよい。メモリ122は、データおよび/または1以上のプロセッサによって実行可能なプログラミング命令を格納するように構成された機械読取可能な媒体(たとえば、コンピュータ/プロセッサ読取可能な媒体)である。たとえば、メモリ122は、RAM(random-access memory)、ROM(read-only memory)、フラッシュメモリ、キャッシュメモリ、またはSSD(solid-state drive)であってもよい。メモリ122は、撮像画像116における複数の光源102~108からのフリッカ現象を低減または解消するための、データおよび/またはプロセッサ120によって実行可能なプログラミング命令を含む。フリッカ現象を低減または解消することにより、画像116全体の潜在的な暗いまたは影付きのゼブラのようなライン、またはシーンのビデオ録画を横切る暗く移動するラインを低減する。
【0009】
メモリ122は、撮像された画像116における複数の光源102~108からのフリッカ現象を低減または解消するように構成されたフリッカ解消マネージャ124を含む。この例では、フリッカ解消マネージャ124は、プロセッサ120上で実行するために、メモリ122内の実行可能な命令(たとえば、ファームウェアまたはソフトウェア)によって定義されたアプリケーションとして記述される。しかしながら、フリッカ解消マネージャ124の動作は、ASIC(Application Specific Integrated Circuit)および/または他のハードウェア部品を用いて、単独でまたはプロセッサ120によって実行可
能なプログラミング命令と組み合わせて、全体的または部分的に実装されるようにしてもよい。フリッカ解消マネージャ124のデータ例は、撮像装置の製品説明書で定義された設計仕様で設定された、撮像装置112に関する露光限界、フレームレート制限、およびセンサハードウェア制限を含んでもよい。
【0010】
フリッカ解消マネージャ124は、周波数検出マネージャ126、優先順位づけマネージャ128、因数分解マネージャ130、および露光マネージャ132を含んでもよい。これらのマネージャモジュールは、説明のために図では別々に示されているが、設計および機能の選択に従って、組み合わせること、または、さらに追加のモジュールに分離するようにしてもよい。周波数検出マネージャ126は、CMOS114で撮像された画像116の画質に影響を与える可能性のある複数の光源102~108の各々の発光周波数を検出するために機能する。周波数検出マネージャ126は、信頼度の高い光源周波数を検出するために、専用ハードウェアの光周波数センサ118と連携してするようにしてもよい。
【0011】
優先順位づけマネージャ128は、画像116の画質に対するフリッカ現象に関し、複数の光源102~108の発光周波数を優先順位づけする。これらの優先順位がつけられた発光周波数から、少なくとも第1優先順位がつけられた発光周波数および第2優先順位がつけられた発光周波数が特定される。特定の光源102~108の発光周波数は、他の発光周波数と比較して、結果として得られる画像116の画質に対して、より悪いまたはより顕著な発光フリッカ現象が生じる場合に、より優先順位の高い発光周波数として特定される。言い換えれば、画像116上に暗いゼブラのような帯状のラインを生じさせる可能性が最も高い光源の発光周波数は、画像におけるそれらの現象に対処してそれらの現象を低減または解消するために、主要な発光周波数としてより高い優先順位がつけられる。これに関連して、第1優先順位がつけられた発光周波数は、第2優先順位がつけられた発光周波数よりも、画像116に悪い発光フリッカ現象をもたらす可能性があるものとして特定される。同様に、第2優先順位がつけられた発光周波数は、第3優先順位がつけられた発光周波数よりも、画像116に悪い発光フリッカ現象をもたらす可能性があるものとして特定される。以下同様に特定される。
【0012】
因数分解マネージャ130は、第1優先順位がつけられた発光周波数に対する第1露光時間因数分解セットを算出し、第2優先順位がつけられた発光周波数に対する第2露光時間因数分解セットを算出し、第3優先順位がつけられた発光周波数に対する第3露光時間因数分解セットを算出してもよい。以下同様に算出される。露光時間因数分解セットは、まず、CMOS116の露光時間を、対応する光源の発光周波数(たとえば、fx)に一致させることで算出される。そして、その発光周波数fxに対する露光時間のセットは、関数1/fxの倍数であると定義される。この露光時間のセットは、その発光周波数に対する露光時間の因数分解セットを定義し、撮像装置の露光限界の範囲内で生成される。露光時間因数分解セットは、対応するその光源について、撮像画像116におけるフリッカ現象を低減または解消するために考慮すべき露光時間の倍数を特定する。
【0013】
露光マネージャ132は、撮像装置の露光時間を、第1露光時間因数分解セット内の第1露光時間が、第2露光時間因数分解セット内の第2露光時間と一致するまたはほぼ一致するように調整する。第2露光時間因数分解セット内の第2露光時間が、第1露光時間因数分解セット内の第1露光時間と一致する場合、その一致する第2露光時間が選択される。2つのセットの間に完全に一致する露光時間がない場合は、撮像装置の露光時間は、第1露光時間因数分解セット内の、第2露光時間因数分解セット内の露光時間とほぼ一致する露光時間に調整される。これにより、画像116において最も優先順位の高い少なくとも2つの発光周波数の発光フリッカ現象が低減され、そして解消され得る。フリッカ解消マネージャ124によって調整されるプロセス全体は、複数の光源102~108に対し
て得られる画像116においてフリッカ現象を確実に低減するために、各光源102~108およびそれらのそれぞれの周波数に対して繰り返されるようにしてもよい。
【0014】
図2は、撮像装置で撮像された画像における複数の光源からの発光フリッカ現象を低減または解消する方法200の一例を示すフロー図である。202において、複数の光源の各々に関し、撮像した画像に影響を与える可能性のある発光周波数が検出される。発光周波数を検出するための方法の一例は、撮像された画像フレームを用いて、既知の露光時間における輝度変化パターンの発生をカウントすることによって発光周波数を算出するものがある。この方法は、単純な場面では有効である。しかしながら、光の明るさの変化は、パルス波やサイン波で提示され得るため、明るさの変化を必ずしも容易に特定できるわけではない。さらに、露光時間やローリングシャッターの走査速度のために、発光周波数の分解能は、周波数範囲同様に制限され得る。さらに、フレームの内容は、明るさの変化が均一でない場合には、明るさの変化をミスリードする可能性があるため、特定の領域にゼブラのようなパターンが存在する場合でも検出が困難になる。したがって、発光周波数を検出するために、単独で、または既知の露光時間における明るさの変化パターンの発生をカウントすることと組み合わせて、追加の方法が使用されるようにしてもよい。
【0015】
発光周波数を検出する別の例示的な方法は、(たとえば、ナイキスト・シャノンの標本化定理による)極めて高い周波数の光源を露光し得る、撮像装置の標準的な撮像センサ以外の、専用のハードウェア光周波数センサを使用することである。これに関連して、画像のデータ取得が妥当な期間に亘って行われる場合、センサは非常に広い発光周波数を高解像度で検出することができる。さらに、高速フーリエ処理も発光周波数および強度を算出するために活用されてもよいし、たとえば、時間フィルタを使用することで追加の計算が適用されてもよい。
【0016】
204において、複数の光源の各々の発光周波数は、少なくとも第1優先順位がつけられた発光周波数および第2優先順位がつけられた発光周波数を特定するために、画像に対するフリッカ現象に対して優先順位がつけられる。画像に対するフリッカ現象が増大する発光周波数(たとえば、画像上の暗いゼブラのような帯状のライン)は、他の発光周波数よりも高い優先順位が割り当てられる。優先順位づけが必要なのは、各光源がそれぞれの発光周波数を伝える可能性があり、すべての周波数からできる限りフリッカを低減させるためには、露光時間が最大公約数をカバーするのに十分長くなければならないからである。しかしながら、この露光時間が長すぎると、露光オーバーの画像となる可能性がある。このため、画質に最も影響を与えるものを特定するために発光周波数に優先順位がつけられる。優先順位の高い周波数は、他の発光周波数効果よりも、画像品質を向上させるために最初に対処される。
【0017】
特定の光源によって導入される、画質に影響を与え得る発光周波数に対して優先順位をつけるための例示的なメトリックおよび方法は、以下の関数文(A)で示される。
【0018】
(A) h=c1×M(f)+c2×P(f)+c3×R(f)
ここで、hは結果として得られる相対的な優先順位の値であり、ciは本明細書に記載された各メトリック関数の重みであり、fは検出された周波数である。これら3つのメトリック項は、画質に対する影響を表す。
【0019】
関数文(A)の第1のメトリック項は、以下の文(A1)で定義される。
(A1) M(f)
これは、発光周波数信号の強度(たとえば、大きさ)の測定を示す。信号が強ければ強いほど、画質への影響が大きくなる。
【0020】
M(f)は単一のメトリックとして使用され得るが、実際には、一定の露光時間が与えられた場合、光源のエネルギーサイクルが高いほど、フリッカ現象またはバンディング現象が目立たなくなる可能性がある。
【0021】
それゆえ、関数文(A)の第2のメトリック項が導入される。第2のメトリック項は、以下の文(A2)で正規化された方法で表される、発光周波数のパワーサイクル関数P(f)である。
【0022】
(A2) P(f)=1/f
これは、周波数が高いほど、より多くのパワーサイクルを、撮像されたフレームに収めることができるため、画質に影響を与える可能性が低くなることを意味する。
【0023】
ビデオ撮像やプレビューにおいて、フリッカ現象が維持され得る別の要因として、ローリング効果(暗い帯状のラインがビデオ記録を横切って移動すること)がある。これは、フレームレートと同様に、フリッカ周波数も露光時間と一致していない場合、帯状のものがフレームを横切って移動するため、プレビューまたはビデオ撮像が画質の点でさらに悪くなるからである。さらに、このような移動は、画像ベースの動き計測では動きとみなされる可能性があり、より多くの露光変更(たとえば、動きボケを低減させるために露光時間を短くする可能性が高くなる)をもたらし、画質にさらに影響を与え得る。
【0024】
この観察から、関数文(A)の第3のメトリック項は、以下の文(A3)で表されるように、ローリング効果R(f)を反映する。
【0025】
(A3) R(f)=min(f%FR,(f+FR)%FR)
この関数において、FRは、撮像のフレームレートを意味する。変調度(%)は、周波数がフレームレートに一致しているかどうか、および、そのシフトがどの程度大きいかをチェックする。差が小さい場合には遅いシフト見られ、差が大きい場合には速いシフトが見られる。
【0026】
最後に、これら3つのメトリック項(A1),(A2),(A3)を組み合わせて、関数文(A)で表される総合的なメトリックとする。この関数文(A)は、複数の光源の各々の発光周波数が、撮像装置で撮像された画像に与える影響を測定し、優先順位をつけるために用いられる。
【0027】
206において、第1優先順位がつけられた発光周波数に対して第1露光時間因数分解セットが決定され、第2優先順位がつけられた発光周波数に対して第2露光時間因数分解セットが決定される。露光時間因数分解セットは、まず、撮像装置の露光時間を、対応する光源の発光周波数に一致させることにより算出される。次に、その発光周波数に対する露光時間のセットは、関数「1/発光周波数」の倍数を含むように定義される。この露光時間因数分解セットは、対応するその光源に対し、撮像された画像におけるフリッカ現象を低減するために考慮すべき露光時間の倍数を特定する。
【0028】
208において、ここで、撮像装置の露光時間が、第2露光時間因数分解セット内の露光時間と一致するまたはほぼ一致する第1露光時間因数分解セット内の露光時間に調整される。これにより、結果として得られる画像において、最も高く優先順位がつけられた少なくとも2つの発光周波数の発光フリッカ現象を低減または解消する。204において発光周波数に優先順位をつけ、206において露光時間因数分解セットを決定し、208において撮像装置の露光時間を調整するこのプロセスは、複数の光源に関するフリッカを低減して画質を向上させるために、検出された複数の光源の追加の光源に対して実行されてもよい。
【0029】
図3は、撮像装置によって撮像された画像における複数の光源からのフリッカ現象を低減するための例示的な方法の、高レベルの動作、データ、入力、および出力を示すフローチャート300である。302において、撮像の機能、制限、および能力に関する、撮像装置に関する製品仕様情報を特定するデータが、入力データとして受信される。たとえば、フレームレートの制限およびセンサハードウェアの制限を定義するデータを受信する。このデータは、撮像装置によって撮像された画像におけるフリッカ現象を低減するために、撮像装置の制限内で動作するために有用である。304において、製品仕様入力データから撮像装置の露光限界を特定する。撮像装置に関する露光限界は、典型的には、撮像装置の製品説明に関する設計仕様によって設定される。これらの限界値は、撮像装置のパラメータデータとして保存されることが好ましいが、他のリンク機能やネットワーク機能を介して取得されるようにしてもよい。これらの限界値は、撮像装置の露光時間に関する境界を定義するために使用され、これにより、露光時間因数分解セット(本明細書で別途議論され算出される)が、撮像装置の限界値によっても制限される。306において、特定された露光限界は、画像におけるフリッカ現象を低減するための露光時間因数分解セットを決定する際のその後の参照のために出力される。
【0030】
308において、撮像装置によって撮像される画像の品質に影響を与え得る複数の光源の、検出された発光周波数を識別する入力データが得られる。310において、検出された発光周波数は、撮像装置によって撮像される画像に対するフリッカ現象に関して優先順位がつけられる。少なくとも、第1優先順位がつけられた発光周波数および第2優先順位がつけられた発光周波数が特定され、画像におけるフリッカ現象を低減するため、その後の使用のために312において出力される。
【0031】
314において、画像を撮像するための撮像装置に関連する現在の露光時間およびゲインを取得する。316において、露光時間因数分解セットが、既に特定された優先順位がつけられた発光周波数に対して決定される。少なくとも第1露光時間因数分解セットが、第1優先順位がつけられた発光周波数に対して決定され、第2露光時間因数分解セットが、第2優先順位がつけられた発光周波数に対して決定される。露光時間因数分解セットは、現在の露光時間およびゲイン、優先順位がつけられた発光周波数、および既に決定された露光限界に関して決定される。
【0032】
318において、撮像装置の現在の露光時間は、第2露光時間因数分解セット内の露光時間と一致するまたはほぼ一致する第1露光時間因数分解セット内の露光時間に一致する。これにより、撮像装置の露光時間は、複数の光源のうちの、少なくとも第1優先順位がつけられた発光周波数および第2優先順位がつけられた発光周波数、ならびに計算されて優先順位がつけられた他の周波数に関して、フリッカ現象が低減された画像を撮像するように調整される。
【0033】
図4は、撮像装置に対する露光時間因数分解セットを決定するための例示的な方法400の動作および計算を示すフローチャートである。これらの露光時間因数分解セットは、撮像された画像における複数の光源からのフリッカ現象を低減または解消するために、撮像装置の露光時間を調整するために参照される。本例では、2つの発光周波数(たとえば、2つの光源)に対する露光時間因数分解セットが示されているが、同様の手順は、3つ目または追加の光源およびそれぞれの発光周波数に対して繰り返されてもよい。
【0034】
402において、露光時間因数分解セットを決定するための入力パラメータが特定される。これらの入力パラメータは、複数の光源のそれぞれに関して優先順位がつけられた発光周波数と、少なくとも第1優先順位がつけられた発光周波数および第2優先順位がつけられた発光周波数とを含む。第1優先順位がつけられた発光周波数および第2優先順位が
つけられた発光周波数は、それぞれ周波数f1およびf2と表され、f1の方が優先順位が高い。これは、f1がf2と比較して、その光源からの画像におけるフリッカ現象が大きいと判定されたことを意味する。画像を撮像するための撮像装置の現在の露光時間およびゲインは、それぞれ入力データtinおよびginとして表される。
【0035】
404において、撮像装置の露光時間およびゲインが算出される出力パラメータを、それぞれtoutおよびgoutと定義する。これらは、発光周波数が優先順位づけされ、露光時間が因数分解され、かつ、以下のように適切に調整された露光時間の値が選択された後に、それぞれ一致された(たとえば、調整された)露光時間およびゲインの最終的な値となるものを表す。
【0036】
406において、撮像装置に関する制約が特定される。これらの制約は、画像におけるフリッカ現象を効果的に低減するために、適切な露光時間の因数分解セットが計算されることを保証するために考慮すべき情報およびデータを反映している。一例として、露光限界に対し、以下の定義(B)および(C)を仮定する。
【0037】
(B) 最大および最小露光時間:tmaxおよびtmin
(C) 最大および最小ゲイン:gmaxおよびgmin
また、画像に対する適切な光を確保するために、同じ総露光値が維持されると仮定して、以下の関数(D)で表される。
【0038】
(D) tout×gout=tin×gin
さらに、露光に関する一般的な制約、たとえば、フレームレートやセンサのハードウェア(HW)の制約も同じに維持され、次の関数(E)および(F)で表される。
【0039】
(E) tout≦tmax && tout≧tmin
(F) gout≦gmax && gout≧gmin
ここで、408において、このプロセスの目標は、撮像された画像におけるフリッカ現象を可能な限り低減または除去することである。この意味で、最初のステップは、露光時間を一次光源の周波数f1に一致させることである。そして、露光時間を1/f1の倍数
にすることで、f1に対する露光時間因数分解セットが与えられる。たとえば、最初に露光時間が50ミリ秒(ms)、かつ、ゲインが2xである場合、総露光値は以下の関数(G)で表される。
【0040】
(G) 50ms×2=100ms
たとえば、第1光源周波数f1が100Hzである場合、一次ギャップ(たとえば、露光に対するフリッカ周波数)は、1000ms÷100Hz=10ms/サイクル(たとえば、10ミリ秒/サイクル)となる。このように、第1優先順位がつけられた発光周波数に対する撮像した画像のフリッカ現象を低減または解消するための第1露光時間因数分解セットは、[10ms,20ms,30ms,40ms・・・100ms]と定義される。
【0041】
次に、第2光源周波数f2の補正を行う。たとえば、第2光源周波数f2が70Hzである場合、その一次ギャップは1000ms÷70Hz=14.2ms/サイクルである。その結果、第2優先順位がつけられた発光周波数に対する撮像した画像におけるフリッカ現象を低減または解消するための第2露光時間因数分解セットは、[14.2ms,28.4ms,42.6ms,56.8ms・・・99.4ms]と定義される。
【0042】
次に、f1の露光時間因数分解セット内で第2光源周波数f2に最も適合するものを見つけるために、露光時間を1/f1からn/f1まで調整する。第2露光時間因数分解セ
ット内の露光時間が第1露光時間因数分解セット内の露光時間と一致する場合、その一致する露光時間が選択される。2つのセット間で、完全に一致する露光時間がない場合は、撮像装置の露光時間を、第1露光時間因数分解セット中で第2露光時間因数分解セット中の露光時間とほぼ一致する露光時間に調整する。具体的には、f2の因数分解セットを検索して、f1の因数分解セットに含まれる周波数ギャップと一致するまたはほぼ一致する周波数ギャップを探す。本例では、f2の第2露光時間因数分解セット内の28.4および99.4は、f1の第1露光時間因数分解セットの30および100と、両者ほぼ一致する。しかしながら、第1発光周波数f1の第1露光時間因数分解セット内の露光時間100msは、第2発光周波数f2の第2露光時間因数分解セット内の99.4により近く一致する。このように、撮像装置の露光時間が100msに選択されることで、結果として得られる画像において、両光源の発光フリッカ現象をより効果的に低減または解消する。
【0043】
410において、これらの露光時間因数分解セットを決定し、撮像した画像のフリッカ現象を低減するために撮像装置の出力露光を調整するための全関数文は、以下の関数(H)、(I)、(J)、(K)で表される。
【0044】
【0045】
本明細書に記載の操作および方法は、たとえば、方法200、300、および400に関して、コンピューティングデバイスまたはシステム内の1以上のプロセッサによって、単独で、またはコンピューティングデバイスまたはシステム内のハードウェアブロックと組み合わせて、実行可能なプログラミング命令で具現化されてもよい。そのようなプログラミング命令は、1以上のコンピューティングデバイスの1以上のプロセッサ上で実行するために、非一過性のランダムアクセスメモリ(RAM)、またはキャッシュメモリを含む機械読取可能な媒体(たとえば、コンピュータ/プロセッサ読取可能な媒体)に格納されてもよい。非一過性の機械読取可能な媒体の代わりに、またはそれと組み合わせて、プログラミング命令は、たとえば、読取専用メモリ(ROM)、フラッシュメモリ、ソリッドステートドライブ(SSD)、ハードディスクドライブ(HDD)、コンパクトディスク(CD)、ジャンプドライブ、またはそれらの組み合わせなどの、他の機械読取可能な媒体に格納されてもよい。
【0046】
本開示に記載されている例示的な方法は、複数の実装を含んでいてもよく、方法の異なる実装は、それぞれのフロー図に示されているすべての動作を採用していないか、または示されていない追加の動作を採用していてもよい。さらに、方法の操作はフロー図内で特定の順序で提示されているが、それらの提示の順序は、操作が実際に実施され得る順序に関して、または操作のいずれか、いくつか、またはすべてが実施され得るかどうかに関して、制限を意図するものではない。たとえば、本方法の1つの実装は、後続の操作を実行することなく、いくつかの初期操作を実行することによって達成されてもよく、一方で、本方法の別の実装は、より多くのまたはすべての操作を実行することによって達成されてもよい。
【0047】
本開示は、上記で概説した例示的な実施形態に関して説明されてきたが、代替案、修正、および変形が当業者にとって明白であることが明らかである。したがって、本開示の記載および描写された実施形態は、限定的ではなく例示的であることを意図しており、以下の特許請求の範囲の対象は、必ずしも本開示に記載される特定の特徴または方法に限定されるものではない。
【0048】
以下のセクションでは、実施例が提供される。
実施例1:撮像装置(112)で撮像された画像(116)における、複数の光源(102~108)のフリッカ現象を低減する方法であって、複数の光源(102~108)の少なくとも2つの各々に関する発光周波数を検出するステップと、画像(116)におけるフリッカ現象に関し、複数の光源(102~108)の少なくとも2つの各々の発光周波数に優先順位をつけるステップとを含み、優先順位をつけるステップは、少なくとも第1優先順位がつけられた発光周波数および第2優先順位がつけられた発光周波数を特定するために優先順位をつけ、第1優先順位がつけられた発光周波数に対する第1露光時間因数分解セットおよび第2優先順位がつけられた発光周波数に対する第2露光時間因数分解セットを決定するステップと、撮像装置(112)の露光時間を、第2露光時間因数分解セット内の一致するまたはほぼ一致する第2露光時間の少なくとも1つと一致する、第1露光時間因数分解セット内の第1露光時間に調整するステップとをさらに含む、方法。
【0049】
実施例2:発光周波数を検出するステップは、既知の露光時間における輝度変化パターンの発生をカウントするステップ、専用の光周波数センサを使用するステップ、高速フーリエ処理を活用するステップ、および時間フィルタを使用するステップの少なくとも1つ、またはこれらの組み合わせを含む、実施例1に記載の方法。
【0050】
実施例3:発光周波数に優先順位をつけるステップは、発光周波数の強度、発光周波数のパワーサイクル関数、撮像装置のローリングシャッター効果、および前記撮像装置の撮像のフレームレートの少なくとも1つ、またはこれらの組み合わせのメトリック関数を参照するステップを含む、先行する実施例のいずれか1つの実施例に記載の方法。
【0051】
実施例4:第1優先順位がつけられた発光周波数は、第2優先順位がつけられた発光周波数よりも、画像におけるフリッカ現象が増大する要因となると特定される、先行する実施例のいずれか1つの実施例に記載の方法。
【0052】
実施例5:第1露光時間因数分解セットを決定するステップは、画像における第1優先順位がつけられた発光周波数のフリッカ現象を低減するために有効な第1露光時間を特定するステップと、第1露光時間に関して算出される関数の倍数を処理するステップを含む、露光時間の第1セットを特定するステップとを含み、第2露光時間因数分解セットを決定するステップは、画像における第2優先順位がつけられた発光周波数のフリッカ現象を低減するために有効な第2露光時間を特定するステップと、第2露光時間に関して算出される関数の倍数を処理するステップを含む、露光時間の第2セットを特定するステップとを含む、先行する実施例のいずれか1つの実施例に記載の方法。
【0053】
実施例6:撮像装置の露光限界内の第1露光時間因数分解セットを決定するステップをさらに含み、露光限界は、第1優先順位がつけられた発光周波数に対する露光時間およびゲイン値に対して算出された総露出値を同一に維持するステップと、撮像装置のフレームレート制限およびセンサハードウェア制限に対する露光限界うちの識別された制約を維持するステップとの少なくともいずれかによって決定される、先行する実施例のいずれか1つの実施例に記載の方法。
【0054】
実施例7:少なくとも第3優先順位がつけられた発光周波数を特定するために複数の光源の少なくとも2つの各々の発光周波数に優先順位をつけるステップと、第3優先順位がつけられた発光周波数に対する第3露光時間因数分解セットを決定するステップと、撮像装置の露光時間を、第2露光時間因数分解セット内の一致するまたはほぼ一致する第2露光時間の少なくとも1つ、および、第3露光時間因数分解セット内の一致するまたはほぼ一致する第3露光時間の少なくとも1つと一致する、第1露光時間因数分解セットの第1露光時間に調整するステップとをさらに含む、先行する実施例のいずれか1つの実施例に記載の方法。
【0055】
実施例8:実施例1~実施例7の少なくとも1つの実施例に記載の方法を実行するように構成される、撮像装置。
【0056】
実施例9:少なくとも1つのプロセッサによって実行されたときに、少なくとも1つのプロセッサに実施例1~実施例7の少なくとも1つの実施例に記載の方法を実行させる命令を格納する、機械読取可能な記憶媒体。