JP2023536674A - マルチカメラビデオ安定化 - Google Patents
マルチカメラビデオ安定化 Download PDFInfo
- Publication number
- JP2023536674A JP2023536674A JP2022536617A JP2022536617A JP2023536674A JP 2023536674 A JP2023536674 A JP 2023536674A JP 2022536617 A JP2022536617 A JP 2022536617A JP 2022536617 A JP2022536617 A JP 2022536617A JP 2023536674 A JP2023536674 A JP 2023536674A
- Authority
- JP
- Japan
- Prior art keywords
- camera
- video
- image
- capture
- view
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006641 stabilisation Effects 0.000 title claims abstract description 75
- 238000011105 stabilization Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 claims abstract description 104
- 230000009466 transformation Effects 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims description 80
- 230000007704 transition Effects 0.000 claims description 50
- 239000011159 matrix material Substances 0.000 claims description 34
- 230000008859 change Effects 0.000 claims description 26
- 230000003287 optical effect Effects 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000035945 sensitivity Effects 0.000 claims description 5
- 230000005919 time-dependent effect Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000000750 progressive effect Effects 0.000 claims 2
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000000844 transformation Methods 0.000 abstract description 15
- 238000004590 computer program Methods 0.000 abstract description 13
- 238000003860 storage Methods 0.000 abstract description 10
- 230000033001 locomotion Effects 0.000 description 87
- 230000008569 process Effects 0.000 description 29
- 230000000694 effects Effects 0.000 description 17
- 238000004091 panning Methods 0.000 description 12
- 238000005096 rolling process Methods 0.000 description 12
- 238000005259 measurement Methods 0.000 description 11
- 238000001914 filtration Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000036962 time dependent Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 238000009499 grossing Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 230000014616 translation Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000029058 respiratory gaseous exchange Effects 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 208000003028 Stuttering Diseases 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000000087 stabilizing effect Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000094111 Parthenolecanium persicae Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000026969 oncogene-induced senescence Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/69—Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Cameras In General (AREA)
Abstract
マルチカメラビデオ安定化のための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、および装置。いくつかの実現例では、あるビデオキャプチャデバイスは、第1のカメラと第2のカメラとを有する。ビデオキャプチャデバイスは、ビデオ記録中に、あるデジタルズーム範囲内で、ユーザ指定の倍率変更を可能にする、デジタルズーム機能を提供する。ビデオキャプチャデバイスは、デジタルズーム範囲の異なる部分にわたって異なるカメラからのビデオデータを使用するよう構成される。ビデオキャプチャデバイスは、(i)第2のカメラのための正準基準空間への第1の変換と、(ii)第1のカメラのための正準基準空間への第2の変換と、(iii)第1のカメラのための正準基準空間内の画像データに電子画像安定化を適用するための第3の変換とを含む変換のセットを適用することによって、第2のカメラを使用してキャプチャされた画像データを処理することができる。
Description
背景
スマートフォンなどの一部のデバイスは、複数のカメラモジュールを含む。これらのカメラは、静止画像またはビデオを記録するために使用され得る。多くの状況において、手振れおよびデバイスの他の動きは、キャプチャされた画像およびビデオの品質を低下させる可能性がある。その結果、一部のデバイスは、記録された画像データの品質を改善するために画像安定化機能を含む。
スマートフォンなどの一部のデバイスは、複数のカメラモジュールを含む。これらのカメラは、静止画像またはビデオを記録するために使用され得る。多くの状況において、手振れおよびデバイスの他の動きは、キャプチャされた画像およびビデオの品質を低下させる可能性がある。その結果、一部のデバイスは、記録された画像データの品質を改善するために画像安定化機能を含む。
概要
いくつかの実現例では、あるデバイスは、マルチビューカメラシステム、例えば、異なる視野を有する複数のカメラモジュールを伴うデバイスを含む。このデバイスは、デバイスのカメラモジュールのうちの1つ以上を使用してキャプチャされたビデオのためにビデオ安定化を提供する。これは、異なるズーム(例えば、拡大または倍率)レベルで様々なレベルの画像安定化を提供することと、画像安定化挙動を異なるズームレベルおよび異なるカメラモジュールに対して一貫するように管理することとを含むことができる。カメラモジュールが固定視野を有する場合であっても、デバイスは、例えば、デジタルズーム技術を使用して視野の範囲に沿って連続的または滑らかなズームを実施または近似することによって、ズーム機能を提供することができる。デバイスは、ビデオ記録中に異なるカメラモジュールのビデオキャプチャ間で遷移するときを含むズーム設定の範囲にわたって一貫して安定化されたビデオをキャプチャするための特徴を提供することができる。いくつかの実現例では、デバイスは、ビデオ記録中に画像キャプチャのためにカメラ間をいつ遷移すべきかを検出する。デバイスは、遷移を実行し、キャプチャされたデータを処理して、遷移の期間にわたってシームレスな出力、例えば、視野、画像安定化、露出、焦点、ノイズなどのパラメータを維持または円滑に調整する出力ビデオを生成する。これにより、システムは、異なるカメラからの異なる部分のビデオを、ユーザにとって妨害的でないカメラ間の遷移を伴って、例えば、単眼視差、目に見えるスタッター、目に見えるズームの休止、または他のグリッチなしに用いるビデオを生成することが可能になる。
いくつかの実現例では、あるデバイスは、マルチビューカメラシステム、例えば、異なる視野を有する複数のカメラモジュールを伴うデバイスを含む。このデバイスは、デバイスのカメラモジュールのうちの1つ以上を使用してキャプチャされたビデオのためにビデオ安定化を提供する。これは、異なるズーム(例えば、拡大または倍率)レベルで様々なレベルの画像安定化を提供することと、画像安定化挙動を異なるズームレベルおよび異なるカメラモジュールに対して一貫するように管理することとを含むことができる。カメラモジュールが固定視野を有する場合であっても、デバイスは、例えば、デジタルズーム技術を使用して視野の範囲に沿って連続的または滑らかなズームを実施または近似することによって、ズーム機能を提供することができる。デバイスは、ビデオ記録中に異なるカメラモジュールのビデオキャプチャ間で遷移するときを含むズーム設定の範囲にわたって一貫して安定化されたビデオをキャプチャするための特徴を提供することができる。いくつかの実現例では、デバイスは、ビデオ記録中に画像キャプチャのためにカメラ間をいつ遷移すべきかを検出する。デバイスは、遷移を実行し、キャプチャされたデータを処理して、遷移の期間にわたってシームレスな出力、例えば、視野、画像安定化、露出、焦点、ノイズなどのパラメータを維持または円滑に調整する出力ビデオを生成する。これにより、システムは、異なるカメラからの異なる部分のビデオを、ユーザにとって妨害的でないカメラ間の遷移を伴って、例えば、単眼視差、目に見えるスタッター、目に見えるズームの休止、または他のグリッチなしに用いるビデオを生成することが可能になる。
このシステムの主な目標は、ユーザに提示されるビデオシーンの円滑さを向上させることである。言い換えれば、このシステムは、シーンの時間的連続性(例えば、経時的な望ましくないカメラブレを低減すること)とシーンの空間的連続性(例えば、異なるカメラからキャプチャされたビデオ間の差を低減すること)との両方を達成しようと試みる。これは、2つの重要な技術、すなわち、(1)単一のカメラ上で経時的にシーンの連続性を提供して、ビデオフィード内に示されるシーンの時間的平滑化を効果的に提供する電子画像安定化(EIS)、および(2)空間的平滑化方法を効果的に提供してカメラ間の遷移付近の混乱または中断を回避しながら異なるカメラ間でシーンの連続性を提供する、強化されたマルチカメラデジタルズーム(例えば、複数のカメラの出力を使用する漸次的、漸増的、または実質的に連続的なズーム)を伴う。
EISおよびマルチカメラデジタルズームは、画像データを表現するために「正準」カメラ空間の使用を含む、以下でさらに論じる様々な技術および変換を使用することにより、効率的に組み合わせることができる。正準空間は、経時的に変化しない固定された固有特性を有する概念的なカメラのビューを表すことができる。例えば、正準空間は、光学画像安定化(OIS)またはボイスコイルモータ(VCM)位置およびローリングシャッタ効果等の要因によって影響されないものであり得る。
例として、あるデバイスは、あるシーンの異なる視野を提供する、第1のカメラおよび第2のカメラを含むことができる。本デバイスは、カメラモジュールのうちの1つ以上が固定された視野を有する場合であっても、ユーザが出力ビデオによって表されるズームまたは倍率を滑らかに変更することを可能にするズーム機能を可能にすることができる。いくつかの実現例では、固定焦点距離レンズを有する2つ以上のカメラモジュールを用いて、(1)あるズーム範囲の第1の部分に対して第1のカメラからの画像に基づくデジタルズーム(例えば、クロッピングおよび/または拡大)を使用し、(2)同ズーム範囲の第2の部分に対して第2のカメラからの画像に基づくデジタルズームを使用することによって、同範囲にわたって連続ズームをシミュレートすることができる。ビデオの全体的な品質を向上させるために、適用されるデジタルズームの現在のレベルに対して、画像安定化処理を動的に調整することができる。例えば、シミュレートされた連続ズーム範囲に沿ったズームの各変化は、画像安定化パラメータにおいて、対応する変化を有することができる。
デバイスによる画像処理は、EISアプリケーションおよび焦点距離、露出などの他の画像キャプチャ態様の一貫性を維持しながら、異なるカメラからの画像キャプチャ間の遷移を管理して、実質的にシームレスな遷移を提供することができる。ズーム機能は、例えば、デバイスが第1のカメラによってキャプチャされた画像上でますますクロッピングするにつれて第1のカメラの出力を使用するデジタルズームを含むことができる。次いで、ズームの閾値レベルに達し、ズームインされるエリアが第2のカメラの視野内になると、デバイスは、第2のカメラを使用してキャプチャされるビデオを記録することに切り替わる。
記録されたビデオが異なるカメラの出力間で滑らかな遷移を提供するようにするために、デバイスは、一連の変換を使用して、第2のカメラの出力を第1のカメラの出力に関連付けることができる。これらの変換は、ホモグラフィ行列を使用して、または他の形態で実現されてもよい。いくつかの実現例では、変換は、第2のカメラからローリングシャッタ効果、OISレンズの動き等のカメラ特有の時間依存寄与を除去することによって、第2のカメラからの画像を正準カメラ空間にマッピングすることを伴う。第2の変換は、第2のカメラの正準画像空間内の画像データを第1のカメラの正準画像空間に投影することができる。これは、第2のカメラの視野を第1のカメラの視野と整列させ、デバイス内のカメラ間の空間的差異(例えば、オフセット)を考慮することができる。次いで、電子画像安定化(EIS)処理を、第1のカメラの正準画像空間内の画像データに適用することができる。この一連の変換は、例えば、EIS処理された第2のカメラ画像データをEIS処理された第1のカメラ画像データと関連付けおよび整列させようとするよりもはるかに効率的な処理技術を提供する。EIS処理は、画像が画像キャプチャ中に異なる視野、異なる固有特性などを有する異なるカメラを使用してキャプチャされているにもかかわらず、単一のカメラ空間または基準フレームにおいて実行され得る。次いで、第1のカメラの正準画像空間におけるEIS処理の出力は、(ローカルおよび/もしくはリモートで)ビデオファイルとして記憶するために提供することができ、ならびに/または(ローカルおよび/もしくはリモートで)表示のためにストリーミングすることができる。
これらの技術は、手振れおよび他の意図しないカメラの動きをより効果的に制御するために、現在のズームレベルに合わせて調整された画像安定化のレベルを適用することができる。加えて、ビデオキャプチャ中にカメラ間を滑らかに遷移させる能力は、中断的な遷移なしにビデオキャプチャの解像度を高めることができる。例えば、より広い視野を有するカメラの出力にデジタルズームがますます適用されるにつれて、解像度は低下する傾向がある。デジタルズームが増加するにつれて、結果として生じる出力画像は、画像センサのより小さい部分を表し、したがって、出力画像を生成するために画像センサのより少ない画素を使用する。第2のカメラは、より狭い視野を有するレンズを有することができ、より狭い視野が画像センサの全体でキャプチャされることを可能にする。出力フレームが第2のカメラの視野内に入る点までビデオがズームインされると、カメラは、ビデオキャプチャを、第2のカメラによってキャプチャされる画像データを使用することに遷移させることができる。したがって、ビデオファイルのキャプチャおよび記録を継続しながら、EISが継続的かつ一貫して適用されている状態で、カメラは、実質的にシームレスな態様でビデオキャプチャのために異なるカメラを使用することを切り替えることができる。切り替えは、ユーザに対して透明にすることができ、したがって、カメラ間の切り替えは、キャプチャされたビデオ映像において、または任意選択的にユーザのためのユーザインタフェースにおいて、目立たない。
概して、ビデオキャプチャおよび関連する画像処理を実行するプロセスは、特に高解像度ビデオキャプチャの場合、計算的に高価であり得る。本明細書で論じられる技術は、他の技術の中でもとりわけ、両方のカメラの画像データを単一の共通基準空間にマッピングした後に同じタイプのEIS処理をその基準空間内の画像データに適用することによって、カメラモジュール間の画像安定化処理および遷移を管理するための計算効率的な技術を提供する。基準空間は、時間依存の影響が除去されたものであってもよく、これは、異なるカメラからの画像を整列させることおよびEIS処理を適用することのために必要とされる計算をさらに低減する。
いくつかの実現例では、本明細書で説明する技術は、電話、タブレットコンピュータ、および他のモバイルデバイスなど、電力予算が限られ、計算リソースが限られた電池式デバイス上で実現される。議論される処理は、デバイスによってバッテリ電力上で効率的に行われることができ、安定化処理を、実質的にリアルタイムで、進行中のビデオキャプチャと同時に、例えば、ビデオキャプチャが継続するにつれて、画像安定化処理されたビデオ出力が保存またはストリーミングされる状態で、実行する。また、以下で説明するように、本技術は、たとえば、焦点、露出などのためにカメラモジュール設定を調整するために、およびどのカメラモジュールが異なる時間に使用されるかを切り替えるために、カメラモジュールを使用するビデオのキャプチャを調整することができる。これらの技術はまた、追加のビデオがキャプチャされ続けている間にビデオがキャプチャされ、処理され、記録されるときにリアルタイムで実行され得るように、効率的に実行される。
1つの一般的な局面において、ある方法は、第1のカメラおよび第2のカメラを有するビデオキャプチャデバイスが、ビデオ記録中にデジタルズーム範囲内でユーザ指定の倍率変更を可能にするデジタルズーム機能を提供することを含み、ビデオキャプチャデバイスは、(i)デジタルズーム範囲の第1の部分にわたって第1のカメラによってキャプチャされたビデオデータを使用し、(ii)デジタルズーム範囲の第2の部分にわたって第2のカメラによってキャプチャされたビデオデータを使用するよう構成され、本方法はさらに、デジタルズーム範囲の第2の部分においてあるズームレベルを提供するためにビデオキャプチャデバイスの第2のカメラを使用してビデオをキャプチャする間に、(i)第2のカメラのための第2の正準基準空間への第1の変換と、(ii)第1のカメラのための第1の正準基準空間への第2の変換と、(iii)第1のカメラのための第1の正準基準空間内の画像データに電子画像安定化を適用するための第3の変換と含む変換のセットを適用することによって、第2のカメラを使用してキャプチャされた画像データを処理することを含む。
いくつかの実現例では、本方法は、デジタルズーム範囲の第1の部分において、あるズームレベルを提供するために、ビデオキャプチャデバイスの第1のカメラを使用してビデオをキャプチャする間に、(i)第1のカメラのための第1の正準基準空間への変換と、(ii)第1のカメラのための第1の正準基準空間内のデータに電子画像安定化を適用するための変換とを含む変換のセットを適用することによって、第2のカメラを使用してキャプチャされた画像データを処理することを含む。
いくつかの実現例では、第1のカメラおよび第2のカメラは異なる視野を有し、(i)第2のカメラの視野は第1のカメラの視野内に含まれるか、または(ii)第1のカメラの視野は第2のカメラの視野内に含まれる。
いくつかの実現例では、第1のカメラおよび第2のカメラは各々、固定焦点距離レンズアセンブリを含む。
いくつかの実現例では、第2のカメラのための正準基準空間および第1のカメラのための正準基準空間は、画像データを正準基準空間に投影することがビデオフレームのキャプチャ中の時間依存の影響を除去するように、所定の固定された組のカメラ固有特性によって定義される概念的カメラ空間である。
いくつかの実現例では、第1のカメラは、光学画像安定化(OIS)システムを含み、第1のカメラのための第1の正準基準空間は、画像データが、一貫した所定のOIS位置を有して表されるものである。
いくつかの実現例では、第2のカメラは、光学画像安定化(OIS)システムを含み、第2のカメラのための第2の正準基準空間は、画像データが、一貫した所定のOIS位置を有して表されるものである。
いくつかの実現例では、第1のカメラは、画像フレームの画像走査線を漸進的にキャプチャする画像データを提供し、第1のカメラのための第1の正準基準空間は、画像データが画像走査線について漸進的キャプチャによる歪みを除去するように補正されているものである。
いくつかの実現例では、第2のカメラは、画像フレームの画像走査線を漸進的にキャプチャする画像データを提供し、第2のカメラのための第2の正準基準空間は、画像データが画像走査線について漸進的キャプチャによる歪みを除去するように補正されているものである。
いくつかの実現例では、第2の変換は、第2のカメラの視野を第1のカメラの視野に整列させ、第1のカメラと第2のカメラとの間の空間オフセットについて調整する。
いくつかの実現例では、第1の変換、第2の変換、および第3の変換は各々、対応するホモグラフィ行列を有し、画像データを処理することは、ホモグラフィ行列を適用することを含む。
いくつかの実現例では、本方法は、第1のカメラを使用するビデオデータのキャプチャ、および電子画像安定化を適用するための第1のカメラからのビデオデータの処理中に、デジタルズーム範囲の第2の部分における特定のズームレベルへのズームレベルの変化を示すユーザ入力を受信することを含む。本方法は、ユーザ入力を受信することに応じて、所定のズームレベルに達するまで、第1のカメラを使用してキャプチャされるビデオフレームの倍率が漸増的に増加される、ビデオフレームのシーケンスを記録することと、第2のカメラを使用してビデオキャプチャを開始することと、第2のカメラを使用してキャプチャされるビデオフレームの第2のシーケンスを記録することとを含み、ビデオフレームの第2のシーケンスは、所定のズームレベルを提供し、特定のズームレベルに達するまで、第2のカメラを使用してキャプチャされるビデオフレームの、増加する倍率を提供する。
いくつかの実現例では、第2の変換は、第2のカメラの焦点距離に少なくとも部分的に基づいて決定される。
いくつかの実現例では、第1の変換は、第2のカメラを使用してキャプチャされる画像データの異なる走査線に対する複数の異なる調整を含む。
いくつかの実現例では、第3の変換は、ビデオフレームのために、ビデオフレームのうちの特定のビデオフレームごとに、特定のビデオフレームの前の1つ以上のビデオフレームと特定のビデオフレームの後の1つ以上のビデオフレームとを使用する電子画像安定化を含む。
いくつかの実現例では、第2のカメラは、第1のカメラより小さい視野を有する。本方法は、第1のカメラを使用する画像キャプチャ中に、ビデオキャプチャに対してズームレベルの変更を示すユーザ入力を受信することと、ユーザ入力を受信することに応じて、変更されたズームレベルが所定の遷移ズームレベル以上であるか否かを判定することとを含み、所定の遷移ズームレベルは、第2のカメラの視野よりも小さい視野を表す。
いくつかの実現例においては、本方法は、(i)第1のカメラを使用するビデオキャプチャから第2のカメラを使用するビデオキャプチャに遷移するための第1の遷移ズームレベルと、(ii)第2のカメラを使用するビデオキャプチャから第1のカメラを使用するビデオキャプチャに遷移するための第2の遷移ズームレベルとを示すデータを記憶することを含み、第1の遷移ズームレベルは第2の遷移ズームレベルとは異なり、本方法はさらに、(i)要求されたズームレベルが視野の減少に対応するとき、要求されたズームレベルを第1の遷移ズームレベルと比較することと、(ii)要求されたズームレベルが視野の増加に対応するとき、要求されたズームレベルを第2の遷移ズームレベルと比較することとによって、ビデオキャプチャのためにカメラ間で切り替えるかどうかを決定することを含む。
いくつかの実現例では、第1の遷移ズームレベルは、第2の遷移ズームレベルよりも小さい視野に対応する。
いくつかの実現例においては、本方法は、ビデオファイルの記録中に、カメラのうちの特定のカメラを使用してビデオをキャプチャすることから、カメラのうちの別のカメラを使用してビデオをキャプチャすることに切り替えることを決定することと、切り替えることを決定することに応答して、特定のカメラを使用する画像キャプチャのために使用されているビデオキャプチャパラメータの値を判断することと、判断されたビデオキャプチャパラメータに基づいて、別のカメラに対するビデオキャプチャパラメータの値を設定することと、別のカメラに対するビデオキャプチャパラメータの値を設定した後、第2のカメラからのビデオキャプチャを開始し、第2のカメラからのキャプチャされたビデオをビデオファイルに記録することとを含む。ビデオキャプチャパラメータを設定することは、第2のカメラについて、露出、画像センサ感度、ゲイン、画像キャプチャ時間、開口サイズ、レンズ焦点距離、OISステータス、またはOISレベルのうちの1つ以上を調整することを含む。
この局面の他の実施形態および本明細書で論じられる他の実施形態は、コンピュータストレージデバイス上に符号化された、方法の動作を実行するよう構成された、対応するシステム、装置、およびコンピュータプログラムを含む。1つ以上のコンピュータまたは他のデバイスのシステムは、動作中にシステムにアクションを実行させる、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せによってそのように構成されることができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されるとデータ処理装置にアクションを実行させる命令を有することによってそのように構成されることができる。
別の一般的な態様では、1つ以上の機械可読媒体は、1つ以上のプロセッサによって実行されると動作の実行を引き起こす命令を記憶し、上記動作は、第1のカメラおよび第2のカメラを有するビデオキャプチャデバイスが、ビデオ記録中にデジタルズーム範囲内でユーザ指定の倍率変更を可能にするデジタルズーム機能を提供することを含み、ビデオキャプチャデバイスは、(i)デジタルズーム範囲の第1の部分にわたって第1のカメラによってキャプチャされたビデオデータを使用し、(ii)デジタルズーム範囲の第2の部分にわたって第2のカメラによってキャプチャされたビデオデータを使用するよう構成され、上記動作はさらに、デジタルズーム範囲の第2の部分において、あるズームレベルを提供するために、ビデオキャプチャデバイスの第2のカメラを使用してビデオをキャプチャする間に、(i)第2のカメラのための第2の正準基準空間への第1の変換と、(ii)第1のカメラのための第1の正準基準空間への第2の変換と、(iii)第1のカメラのための第1の正準基準空間内の画像データに電子画像安定化を適用するための第3の変換と含む変換のセットを適用することによって、第2のカメラを使用してキャプチャされた画像データを処理することを含む。
別の全般的な局面では、ビデオキャプチャデバイスは、第1の視野を有する第1のカメラと、第2の視野を有する第2のカメラと、1つ以上の位置または向きセンサと、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると動作の実行を引き起こす命令を記憶する1つ以上のデータ記憶装置とを備え、上記動作は、第1のカメラおよび第2のカメラを有するビデオキャプチャデバイスが、ビデオ記録中にデジタルズーム範囲内でユーザ指定の倍率変更を可能にするデジタルズーム機能を提供することを含み、ビデオキャプチャデバイスは、(i)デジタルズーム範囲の第1の部分にわたって第1のカメラによってキャプチャされたビデオデータを使用し、(ii)デジタルズーム範囲の第2の部分にわたって第2のカメラによってキャプチャされたビデオデータを使用するよう構成され、上記動作はさらに、デジタルズーム範囲の第2の部分において、あるズームレベルを提供するために、ビデオキャプチャデバイスの第2のカメラを使用してビデオをキャプチャする間に、(i)第2のカメラのための第2の正準基準空間への第1の変換と、(ii)第1のカメラのための第1の正準基準空間への第2の変換と、(iii)第1のカメラのための第1の正準基準空間内の画像データに電子画像安定化を適用するための第3の変換と含む変換のセットを適用することによって、第2のカメラを使用してキャプチャされた画像データを処理することを含む。
いくつかの実現例では、第1のカメラおよび第2のカメラは異なる視野を有し、第2のカメラの視野は第1のカメラの視野内に含まれる。第1のカメラおよび第2のカメラは各々、固定焦点距離レンズアセンブリを含むことができる。
本発明の1つ以上の実施形態の詳細は、添付の図面および以下の説明に記載される。本発明の他の特徴および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
様々な図面における同様の参照番号および名称は、同様の要素を示す。
詳細な説明
図1A~図1Bは、マルチカメラビデオ安定化を提供するデバイス102の例を示す図である。ビデオ安定化は、モバイルデバイスのカメラシステムにとって重要な特徴であることが多い。従来の単一カメラビデオ安定化では、ビデオフレームは、振れ易い実カメラ軌道中に実際にキャプチャされた画像データから、時間平滑化された仮想カメラ軌道のための安定化された出力に変換することができる。単一カメラでは、実カメラ軌道中に取得されたフレームは、平滑化された仮想カメラ軌道に沿ったフレームを表す変更された出力フレームに投影され得る。
詳細な説明
図1A~図1Bは、マルチカメラビデオ安定化を提供するデバイス102の例を示す図である。ビデオ安定化は、モバイルデバイスのカメラシステムにとって重要な特徴であることが多い。従来の単一カメラビデオ安定化では、ビデオフレームは、振れ易い実カメラ軌道中に実際にキャプチャされた画像データから、時間平滑化された仮想カメラ軌道のための安定化された出力に変換することができる。単一カメラでは、実カメラ軌道中に取得されたフレームは、平滑化された仮想カメラ軌道に沿ったフレームを表す変更された出力フレームに投影され得る。
いくつかのデバイスは、同じシーンの異なる視野をキャプチャするように配置された、同じ方向を向く(例えば、デバイスの同じ側にある)複数のカメラを含む。マルチカメラシステムでは、デバイスは、単一のビデオが、異なるカメラを使用してキャプチャされたセグメントを含むように、ビデオをキャプチャする過程でカメラを切り替えてもよい。カメラ間の切り替えが発生すると、異なる実カメラが使用されているので、単一の実カメラ軌道はもはや存在しない。それにもかかわらず、デバイスは、カメラ間の遷移の期間中であっても、キャプチャされた映像の連続性および滑らかさを維持するために、同じ仮想カメラ軌道を維持すべきである。本明細書で論じられるように、仮想カメラ軌道は、複数のカメラ間で維持され、カメラ間の切り替えが気を散らしたりまたは中断効果(例えば、スタッター、画像オフセットまたは視野の急激な変化、安定化の中断または適用される安定化レベルの急激な変化など)を引き起こさないように、経時的に平滑化されることができる。
マルチカメラビデオ安定化システムは、様々な利益を提供するように実現され得る。経時的なビデオの平滑化に加えて、異なるカメラのビデオキャプチャの期間と期間との間の遷移も平滑化することができる。加えて、本技術は、たとえば、継続的なビデオキャプチャと同時に、キャプチャされたビデオに平滑化を適用するために、リアルタイムで動作するのに、およびバッテリ動作デバイスによる長期使用を可能にするために電力を節約するのに、充分に効率的であり得る。
図1Aの例では、デバイス102は電話として示されているが、タブレットコンピュータ、カメラなどの別のタイプのデバイスであってもよい。デバイス102は、第1のカメラ110aおよび第2のカメラ110bを含むマルチカメラモジュール108を含む。2つのカメラ110a、110bは、デバイス102の同じ側に配置され、したがって、両方とも、(例えば、図示の電話機の背面において、)デバイス102に面する同じシーン105の画像をキャプチャするように配置される。カメラ110a、110bは、カメラ110a、110bがデバイス102と同じ程度および同じ動きで共に移動するよう、デバイス102に共にしっかりと結合され得る。
カメラは異なる視野を有する。例えば、第1のカメラ110aは、第1の視野120を有し、第2のカメラ110bは、第1の視野120よりも狭い第2の視野122を有する。視野120、122は著しく異なってもよいが、2つのカメラ110a、110bは同様の画像解像度を有してもよい。2つの視野120、122は重なり合うことができる。特に、第2のカメラ110bの視野122は、第1のカメラ110aの視野120内に完全に含まれることができる。例として、第1の視野120は77度であってもよく、第2の視野122は52度であってもよく、52度の視野122は、ほとんどまたは完全に77度の視野120内にある。この例では、カメラ110a、110bは各々、固定焦点距離レンズ、例えば光学ズームなしのレンズアセンブリを使用する。言い換えれば、各カメラ110a、110bのレンズ焦点距離は、フォーカスブリージングなどの焦点関連効果とは別に、固定されてもよい。
カメラ110a、110bのうちの1つ以上は、カメラブレおよびデバイス102の他の望ましくない動きの影響を低減するために、光学画像安定化(OIS)モジュールを含んでもよい。カメラ110a、110bがOISモジュールを含むか否かにかかわらず、デバイス102は、電子画像安定化(EIS)を使用して、キャプチャされたビデオを経時的に平滑化することができる。以下でさらに説明するように、EIS処理は、キャプチャされたフレームに変換を適用して、ブレる実カメラ軌道に沿って撮られたキャプチャされたフレームを、仮想カメラの平滑化またはフィルタリングされた軌道を表す安定化された出力フレームに投影することができる。
デバイス102は、カメラ110a、110bを使用して、異なるカメラ110a、110bからの異なる倍率レベルでの画像キャプチャを使用する有効ズーム範囲を提供する。デバイス102は、ズーム範囲の異なる部分において異なるカメラ110a、110bの出力に適用されるデジタルズーム技術を使用してズーム範囲を提供することができる。例として、本デバイスは、1.0x~3.0xの全体ズーム範囲を提供してもよい。より広い視野120を提供するカメラ110aは、ズーム範囲の第1の部分、たとえば1.0x~1.8xの画像をキャプチャするために使用されてもよい。ズームが所定の遷移点、例えば1.8xなどの特定のレベルに達すると、デバイス102は、第1のカメラ110aを用いてビデオをキャプチャすることから第2のカメラ110bを用いてビデオをキャプチャすることに切り替わる。より狭い視野122を提供するカメラ110bは、ズーム範囲の第2の部分、例えば、1.8x~3.0xの画像をキャプチャするために使用されてもよい。
図示される例は、デバイス102が、ビデオ130がデバイス102によってキャプチャされ記録されているときにキャプチャされたビデオ130をユーザが見ることを可能にするディスプレイを含むことを示す。デバイス102は、ビデオキャプチャ中にズームレベルを動的に調整するための制御132をユーザに提供することができる。この例では、制御132は、デバイス102のタッチスクリーン上に示される画面上スライダ制御であり、ユーザに、ズームを、ズーム範囲に沿った所望の位置に設定させる。いくつかの実現例では、ズームレベルは、細かい粒度の増分で、たとえば、0.2x、0.1x、またはそれより小さいステップで調整され、ユーザが、サポートされたズーム範囲にわたって連続的なズームに実質的に近似する態様で、サポートされたズーム範囲にわたって徐々に移動することを可能にする。
図1Bは、カメラ110a、110bからの出力を用いて異なるズームレベルをどのように提供できるかの例を示す。それぞれの視野120、122は、異なるズームレベルを提供するために使用され得るクロッピングされた部分140a~140eとともに示される。出力フレーム150a~150eは、異なるズームレベルで提供され得る例示的なフレーム出力を示す。2つのカメラ110a、110bは、デバイス102内で互いに物理的にオフセットされているので、シーンのビューに違いがあることに留意されたい。たとえ2つのカメラが同じシーンを見ているとしても、シーン内の被写体は、単眼視差に起因して、カメラの出力においてわずかに異なる位置を有するであろう。以下で更に説明する画像変換は、カメラ110a、110bの出力間のこの視差および他の差を補正することができる。
出力フレーム150a~150cは各々、より広い視野120を提供する第1のカメラ110aからの画像データから導出される。ズームレベルが1.8xなどの閾値に達すると、デバイス102は、より狭い視野122を提供する第2のカメラ110bによってキャプチャされた画像データを使用することに切り替わる。カメラ110a、110b間の遷移は、ズームレベルが第2のカメラ110bの視野122内に完全に含まれるズームレベルで起こることができ、その結果、所望のズームレベルで出力フレームを満たすのに充分な画像データが存在する。いくつかの実現例では、デバイス102は、EIS処理のために使用され得るキャプチャされたデータのマージンを保持するために、ズームレベルが第2のカメラ110bの全出力よりも小さいエリアに対応すると、遷移を実行するよう構成される。
概して、出力品質を最大化するために、視野122が出力フレームを満たすことができるズームレベル付近で、より狭い視野122に切り替えることが有利である。これは、より狭い視野122が、シーンのその領域に対して、より高い解像度を提供するからである。2つのカメラ110a、110bは、同様の解像度を有してもよいが、より狭い視野122においては、カメラ110bは、シーンのビューをキャプチャするためにその全解像度を使用することができるが、同じビューは、より広いカメラ110aの解像度のほんの一部でキャプチャされるであろう。この例では、第1のカメラ110aのズームインされた視野140cが第2のカメラ110bの全視野122に一致するズームレベル、たとえば1.7xがある。この点で、第1のカメラ110aのための画像センサのかなり小さい部分のみが、出力フレーム150cを提供するために使用されており、したがって、出力フレーム150cは、より広いズームレベルで提供されるよりも低い解像度または低い品質であり得る。対照的に、第2のカメラ110bの画像センサの全解像度は、そのレベルの有効ズームまたは倍率を提供するよう使用され得、より高い品質の出力をもたらす。平衡点(例えば、1.7x)またはそのすぐ後において第2のカメラ110bに切り替えることによって、デバイス102は、そのズームレベルおよび更なるズームレベルにおいて、より高い品質を提供することができる。
いくつかの実現例では、カメラ110a~110bを切り替えるために設定されるズームレベルは、第2のカメラ110bが画像フレームを埋めることができる点の後に設定される。例えば、遷移点は、カメラ110a、110bの異なる物理的位置から生じる単眼視差を考慮するマージンを提供するズームレベルに設定され得る。その結果、第2のカメラ110bが1.7xのズームレベルでフレームを満たすことができる場合、それにもかかわらず、デバイス102は、カメラ110bからの全センサ出力が(例えば、所望のフレームキャプチャエリアを表す領域を囲むエッジにおいて)画像データのバッファ領域を提供するように、例えば、1.8xまたは1.9xのズームまで、第2のカメラ110bを使用するキャプチャへの切り替えを遅延してもよく、したがって、単眼視差を補正するために必要とされる任意のオフセットまたは他の調整が、例えば、視野122を視野120の拡大されたエリアと整列させ、および依然として出力フレームを満たすよう、行われることができる。
デバイス102は、ビデオ安定化、例えば、デバイス102の動きの影響を低減または排除するために、経時的にフレーム内において見えるカメラの動きの平滑化を適用する。デバイス102は、ビデオ安定化、例えば、EIS処理を、リアルタイムで、またはほぼリアルタイムで、例えば、安定化されているビデオに対する進行中のビデオキャプチャと同時に実行することができる。経時的な(例えば、複数のフレームにわたる)ビデオ安定化平滑化は、ズーム設定が変化するにつれてカメラ110aとカメラ110bとの間の遷移と協調されることができる。それにもかかわらず、以下に論じられるように、第2のカメラ110bの出力を第1のカメラ110aのための正準空間にマッピングする画像データ変換が使用され得、単一のEIS処理スキームが両方のカメラ110a、110bの出力のために一貫して使用されることを可能にする。
本明細書で論じる技術は、2つ以上の固定焦点距離レンズとともに効果的に使用することができる。任意選択的に、本明細書で論じる技術はまた、光学ズームを提供する1つ以上のレンズとともに使用することもできる。例えば、本技術は、(i)交差または重複してもしなくてもよい異なる光学ズーム範囲を有する複数のカメラ、または(ii)光学ズームを提供する1つ以上のカメラおよび1つ以上の固定焦点距離カメラ、からの画像キャプチャを含む範囲にわたるシームレスな有効ズームを提供するために使用することができる。
図2は、ビデオ安定化を提供するデバイス102の例を示す図である。上記で説明したように、デバイス102は、第1のカメラ110aと第2のカメラ110bとを含む。カメラ110a~110bのうちの1つ以上は、任意選択でOISモジュール215a~215bを含んでもよい。デバイス102は、OISモジュール215a~215bが含まれる場合、OISモジュール215a~215bを使用しながらビデオフレームをキャプチャして、フレームキャプチャ中にデバイス102の動きを少なくとも部分的に打ち消してもよい。デバイス102はまた、1つ以上のデバイス位置センサ220と、1つ以上のデータ記憶装置230と、EISモジュール255とを含む。
デバイス102は、携帯電話、タブレットコンピュータ、カメラなどのカメラモジュールを含む様々なタイプのいずれかであることができる。いくつかの実現例では、デバイス102は、ソフトウェア、ハードウェア、またはそれらの何らかの組合せで実行されてもよい、EISモジュール255の動作を実行するためのコンピューティングシステムを含むことができる。たとえば、デバイス102は、様々な処理構成要素、たとえば、1つ以上のプロセッサ、実行可能命令を記憶する1つ以上のデータ記憶装置、メモリ、入力/出力構成要素などを含んでもよい。EIS処理を実行するプロセッサは、汎用プロセッサ(例えば、携帯電話または他のデバイスのメインCPU)、グラフィックスプロセッサ、コプロセッサ、画像プロセッサ、固定機能EISプロセッサ、またはそれらの任意の組合せを含んでもよい。
EISモジュール255は、デバイス位置センサ220およびOISモジュール215a~215bの両方からの位置データを使用して、記録デバイスによってキャプチャされたビデオを安定化させる。例えば、OISモジュール215a~215bからの位置データは、デバイス位置データから推測されるであろう期待されるカメラビューに対する、OISの動きの影響を表すオフセットを判断するために使用されることができる。これは、たとえOISモジュール215a~215bがデバイス位置に対してカメラのシーンのビューを変化させても、EISモジュール215が画像センサの実際のビューを反映する有効カメラ位置を推定することを可能にする。本明細書で説明されている他の特徴とともに、これらの技術は、デバイス102がOIS処理とEIS処理とを同時に効果的に使用し、両方の技術の利益を実現することを可能にする。
概して、OISは、カメラブレによる個々のフレーム内のぼやけを低減するのに非常に有効であり得、OISは、一連のフレームにわたって見える動きを低減するのにいくらか有効であり得る。しかしながら、単独で使用されるOISは、多くの場合、種々の制限を受ける。OISモジュールは、動きに応答する速度、および補償することができる動きの大きさにおいて、制限される場合がある。さらに、OISモジュールの動作は、しばしば、ゆらぎのあるビデオなどの歪みを引き起こし、パニングなどの所望の動きに誤って対抗することがある。EISモジュール255は、OISモジュールの内部の動きを記述する位置データを使用して、これらの制限の影響を軽減することができる。
OISモジュール215a~215bは、記録デバイスの動きを補償しようと試みるので、デバイスの動きだけでは、ビデオキャプチャ中に使用される真のカメラビューを示さない場合がある。EIS処理がデバイスの動きのみに基づいて動きを補償しようと試みる場合、EIS処理は、OISシステムによって既に補償された動きを補正しようと試みる場合がある。さらに、OISは、概して、デバイスの動きの影響を部分的にのみ除去し、補償の量は、フレーム毎に変動し得る。高品質の安定化を提供するために、EISモジュール255は、OIS位置データをデバイスレベル位置データとともに使用して、各フレームに対して、およびいくつかの実現例ではフレームの個々の走査線に対しても適用される安定化の量を変化させる。この処理は、効果的な安定化を提供するとともに、ビデオ映像の歪みを低減または排除することができる。例えば、フレームをキャプチャする間のOISレンズシフト位置の変化は、特に、多くのカメラモジュールに典型的であるローリングシャッタと組み合わせられるとき、歪みを導入し得る。フレームキャプチャ中の異なる時間におけるOISレンズシフトに関する情報を用いて、EISモジュール255は、フレームの異なる部分がキャプチャされたときのレンズ位置を推定し、画像を補正することができる。EISモジュール255はまた、パニングに干渉するかまたはそうでなければ望ましくないOISレンズシフトの影響を低減するように補償することもできる。
EISモジュール255がビデオを強化することができる別の方法は、後でキャプチャされたフレームについてのデータの分析によるものである。特定のフレームを処理するために、EIS処理モジュールは、1つ以上の将来のフレームがキャプチャされた時間を含む時間ウィンドウ内のカメラ位置の組を評価してもよい。将来のフレームおよび対応する位置に関する情報は、いくつかの方法で使用することができる。第1に、EISモジュール255は、カメラ位置の組にフィルタリングを適用して、フレームを変更するために画像変換を定義するよう使用される動きパターンを平滑化することができる。第2に、EISモジュール255は、カメラ位置の組を使用して、一貫した動き(例えば、パニング)が存在するかまたは試みられる可能性を評価し、次いで、その可能性が高い場合には、この動きと一貫してフレームを調整することができる。第3に、EISモジュール255は、フレームのカメラ位置を、将来のカメラ位置に対して評価し、将来の大きな動きに対して調整を行うことができる。例えば、将来のフレームに対して大きな急速な動きが識別された場合、EISモジュール255は、その動きが始まる前にフレームの内容の調整を開始することができる。EISモジュール255は、大きな目に見える動きを数フレームにわたって可能にするのではなく、その動きをより大きなフレームにわたって広げることができ、漸増的な画像シフトが、より早期のフレーム中に生じ、動きを、より多数のフレームにわたって徐々に広げる。
EISモジュール255は、出力フレームの領域的合成を実行し、例えば、画像フレームの各走査線に適用される変換を変更する。これにより、システムは、ローリングシャッタ歪み、OISモジュール215a~215bの動き、および単一フレームのキャプチャ持続時間内に生じる様々なデバイスの動きを補正することが可能になる。
さらに図2を参照すると、デバイス102は、ビデオデータをキャプチャするようカメラを有する任意の適切なデバイス、たとえば、カメラ、セルラーフォン、スマートフォン、タブレットコンピュータ、ウェアラブルコンピュータ、または他のデバイスであり得る。図2の例は、ビデオをキャプチャおよび処理する単一のデバイスを示すが、機能は、任意選択肢的に、複数のデバイスまたはシステムの間で拡散されてもよい。たとえば、第1のデバイスは、ビデオフレームをキャプチャしてもよく、また、位置データおよび他のパラメータをメタデータとして記録してもよい。第1のデバイスは、ビデオフレームおよびメタデータを、本明細書で説明するEIS処理を実行することができる第2のデバイス、たとえば、ローカルコンピューティングシステムまたはリモートサーバに提供してもよい。
第1のカメラ110aは、レンズ素子、画像センサ、センサ読取回路、および他の構成要素を含むことができる。OISモジュール215a~215bは、センサと、可動要素と、プロセッサと、可動要素を動かすための駆動機構とを含むことができる。可動要素は、第1のカメラ110aの光路内に位置する。例えば、可動要素は、反射または屈折要素、例えば、レンズ、ミラー、プリズムであってもよい。いくつかの実現例では、可動要素は第1のカメラ110aの画像センサである。センサは、動きを検出するための1つ以上のジャイロスコープまたは他のセンサを含むことができる。プロセッサは、センサによって示される動きを補償するために可動要素に必要とされる動きの量および方向を決定し、次いで、可動要素を動かすように駆動機構に命令する。
デバイス102は、デバイス102の向きの変化を測定する1つ以上の位置センサ220を含む。いくつかの実現例では、デバイス102のための位置センサ220は、OISモジュール215a~215bによって使用されるセンサとは別個である。位置センサ220は、1つ以上の軸の周りのデバイス102の回転を検出することができる。例として、デバイス位置センサ220は、3軸ジャイロスコープまたは慣性測定ユニット(IMU)であってもよい。加えて、または代替として、他のセンサが、デバイス位置を判断するために使用されてもよい。たとえば、1つ以上の加速度計、1軸ジャイロスコープ、2軸ジャイロスコープなどを使用して、デバイス102の位置を判断してもよい。概して、デバイス102の回転位置が判断されることを可能にする、任意の適切なセンサまたはセンサの組み合わせを、使用することができる。
いくつかの例では、OISモジュール215a~215bのジャイロスコープセンサからの位置データは、記録デバイス220の別個の位置センサ220を使用することに加えて、またはその代わりに、キャプチャされ記憶されてもよい。それにもかかわらず、デバイス102がOISセンサとは異なる特性を有するジャイロスコープセンサを使用することは有益であり得る。例えば、デバイス102のジャイロスコープセンサは、100度/秒より大きい感知可能な回転範囲で約400Hzのレートで測定値を提供してもよい。デバイスレベルセンサと比較して、OISモジュールの典型的なジャイロスコープセンサは、測定値を、異なるレートおよび範囲、例えば、5000測定値/秒以上のレートを、約10度/秒の感知可能な回転範囲で、提供してもよい。いくつかの実現例では、(たとえば大きい動きを記述するために、)デバイスレベルセンサの、より大きい感知可能な回転範囲を有することは、(例えば小さな変化または高周波パターンを検出するための)OISモジュールセンサの、より頻繁な測定と同様に、有益である。したがって、両方のタイプのデータを、デバイス102の位置を判断するために、一緒に使用してもよい。
デバイス102は、第1のカメラ110aを特徴付ける情報およびフレームキャプチャプロセスを記憶する1つ以上のデータ記憶装置230を含む。例えば、記憶されたデータは、OISモジュール215a~215bの位置と画像データに生じる結果として生じるオフセットとの間の関係を示す較正データ232を含むことができる。同様に、較正データ232は、カメラモジュールレンズ焦点位置とそれら焦点位置に対する有効焦点距離との対応を(例えば各カメラ110a、110bに対して異なるマッピングで)示すことができ、システムがフォーカスブリージングを考慮することを可能にする。加えて、較正データ232または他の記憶されたデータは、カメラレンズ焦点位置と被写体距離との対応を示すことができ、オートフォーカスシステムによって選択されたレンズ焦点位置から、カメラのセンサ面からの合焦された被写体の距離を示す被写体距離への変換を可能にする。較正データ232はまた、一方のカメラ110aの他方のカメラ110bに対する相対的な3D空間位置も示す。通常、これは、一方のカメラの他方のカメラに対する3D回転および3D並進を特定する較正データを含む。典型的には、較正は、最良のユーザ体験を保証するために、製造される各デバイスに対して行われる。その結果、較正データ232は、特定のカメラモジュール(例えば、カメラ110a、110b、それらの取り付け構造など)の特性および製造後のモジュールの状態に対して非常に正確であることができる。記憶されたデータは、第1のカメラ110a内の画像センサの読取特性を示すことができる走査パターンデータ234を含むことができる。例えば、走査パターンデータ234は、走査の方向(例えば、走査線は、上から下へ読み取られる)、走査線が個別に読み取られるかまたはグループで読み取られるかなどを示すことができる。
ビデオキャプチャ中、カメラ110a~110b、OISモジュール215a~215b、およびデバイス位置センサ220は各々、ビデオキャプチャプロセスについての情報を提供し得る。第1のカメラ110aは、ビデオフレームデータ242a、例えば、ビデオ画像フレームのシーケンスを提供する。第2のカメラ110bは、同様に、ビデオフレームデータ242bを提供する。カメラ110a~110bはまた、フレーム露出データ244a~244bも提供し、これは、キャプチャされたフレームごとに、露出持続時間、および露出がいつ生じたかを示す基準時間(例えば、露出の開始時間または終了時間)の指示を含み得る。カメラ110a~110bはまた、各キャプチャされたフレームに対するレンズ焦点位置を示すレンズ焦点位置データ246a~246bも提供する。
OISモジュール215a~215bは、ビデオキャプチャ中の様々な時間におけるOISモジュール215a~215bの可動要素の位置を示すOIS位置データ248a~248bを提供する。例えば、可動要素が、動きを補償するようにシフトする可動レンズである場合、OISモジュール215a~215bは、各々における可動レンズの現在位置を特定するレンズシフト読取を提供することができる。デバイス102は、レンズシフト位置およびその位置が生じた時間を記録することができる。いくつかの実現例では、OIS位置データ248a~248bは、各ビデオフレーム露出の持続時間にわたって複数の測定が行われるように、高い周波数で、たとえばビデオキャプチャのフレームレートよりも高いレートでキャプチャされる。
デバイス位置センサ220は、ビデオキャプチャ中のデバイス102の回転および/または他の動きを示すデバイス位置データ250を提供する。デバイス位置は、高い周波数、例えば200Hz以上で測定することができる。したがって、多くの事例では、測定値は、各ビデオフレームのキャプチャ中に複数の異なる時間について取得されることができる。
レンズ焦点位置データ246、OIS位置データ248、およびデバイス位置データ250はすべて、特定された位置が生じた時間を示すタイムスタンプとともに記録され得る。タイムスタンプは、例えば、最も近いミリ秒まで、精度よく作成することができ、様々な位置測定から得られたデータを時間的に整列させることができる。さらに、デバイス、OISシステム、またはレンズ焦点機構の位置を補間して、測定間の時間における値を判断することができる。
データキャプチャの潜在的タイミングの例が、チャート252に示されている。図示のように、デバイス位置データ250(たとえば、ジャイロスコープデータ)およびOIS位置データ248(たとえば、レンズシフト位置データ)は、ビデオキャプチャフレームレート(例えば、30フレーム/秒、60フレーム/秒など)よりも高いレートでキャプチャされてもよく、デバイスおよびOISシステムの複数の位置は各ビデオフレームについて判断されることができる。その結果、シャッタ方向に応じて水平または垂直であってもよい各走査線について、異なるデバイス位置およびOIS設定を使用して、その走査線の変換を判断することができる。レンズ焦点位置データ246は、画像フレーム毎に少なくとも1回キャプチャされてもよい。この位置データは、例えば、ジャイロスコープセンサデータおよびOIS位置データが、画像フレーム露出の開始または終了を超過し、必ずしもそれと同期されないレートでサンプリングされることによって、フレーム露出に対して非同期的にキャプチャされてもよい。
カメラ110a~110bおよび他の構成要素から得られたデータは、処理のためにEISモジュール255に提供される。この処理は、ビデオキャプチャが進行している間に行われてもよい。例えば、EIS処理は、実質的にリアルタイムで実行することができ、それにより、ビデオキャプチャの終了時にユーザにアクセス可能にされたビデオファイルは、EISモジュール255によって安定化されている。いくつかの実現例では、EIS処理は、後で、例えば、ビデオキャプチャが完了した後で、またはビデオを記録したのとは異なるデバイスによって、実行されてもよい。EISモジュール255は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの組合せもしくは部分的組合せで実現されることができる。
図2は、EISモジュール255の機能の一部のみを示す。図2の例は、カメラ110a~110bのうちの単一のカメラからキャプチャされたフレームを含むビデオフレームに対するEIS処理を示し、デジタルズームを提供するため、またはズームレベルに対してEIS処理を調整するために使用される特徴を説明しない。しかし、以下に説明するように、デバイス102は、両方のカメラからキャプチャされた画像データを使用して、ビデオキャプチャおよび記録中にデジタルズームを提供することができる。例えば、ユーザが閾値ズーム量にズームインすると、デバイス102は、第1のカメラ110aからキャプチャされた画像の使用から、第2のカメラ110bからキャプチャされた画像の使用に切り替えることができる。さらに、ズームインはビデオ内の目に見える振れを強調し得るので、ズームレベルは、例えば、ズームレベルが増加するにつれてより大きな安定化レベルを適用するために、EISモジュール225の変換および他の動作を調整することができる。複数のカメラ間のデジタルズームおよび遷移を考慮するEIS処理の調整を、図4から図6に関して論ずる。幾つかの実現例では、変換は、キャプチャされた画像の各ラインについて、異なる変換を適用することによって達成され得る。画像のラインごとに、デバイス102は、そのラインに対する特定のタイムスタンプを計算することができ、このラインは、対応するOISおよびデバイス位置データと関連付けられる。
さらに図2を参照すると、EISモジュール255は、デバイス位置センサ220から更新されたデバイス位置データ250を周期的または連続的に取得するデバイス位置データハンドラ256を含む。動きデータハンドラは、デバイス位置データ250から現在のカメラ姿勢を推定する。例えば、ジャイロスコープ信号を取得し、これを使用して、デバイス102のデバイス位置を、例えば200Hzなどの高周波数で推定することができる。所与の時間tにおけるこのデバイス位置は、以下ではR(t)と呼ばれる。このデバイス位置は、例えば、1つ、2つ、または3つの軸に対するデバイス102の回転位置を示してもよい。デバイス位置は、回転行列として、または座標系に関して、または他の形態で表されてもよい。各計算されたデバイス位置は、デバイス102のその位置が生じた時間を示す時間でラベル付けすることができる。
EISモジュール255は、OIS位置データハンドラ258を含み、これは、OIS位置データ248として示されるOIS位置読取を周期的または連続的に取得する。OIS位置データハンドラ258は、OIS読取値を、デバイス位置と共に使用することができるオフセットに変換する。例えば、OISレンズ位置を2次元画素オフセットに変換することができる。オフセットを生成するために、OIS位置データハンドラ258は、OIS位置から対応するオフセットに変換するよう変換係数または行列を提供し得る、記憶された較正データ232を使用することができる。OIS位置によるオフセットを生成することは、例えば、第1のカメラ110aが光学ズームが可能である場合、レンズ焦点位置および/またはレンズズーム位置の変化に起因する、経時的なカメラの有効焦点距離の変化を考慮に入れることができる。動きデータハンドラ256と同様に、OIS位置データハンドラ258は、各測定値およびオフセットを、データが表す時間でラベル付けする。
EISモジュールは、デバイス位置データハンドラ256によって計算されたデバイス位置と、OIS位置データハンドラ258によって計算されたOISオフセットとを受信する動きモデル構築部260を含む。このデータならびにフレーム露出データ244およびレンズ焦点位置データ246を用いて、動きモデル構築部260は、フレームのために第1の変換262を生成する。たとえば、第1の変換262は、カメラのビュー内の実世界のシーンをキャプチャされたフレームにマッピングする射影行列であり得る。このプロセスは、フレームごとに繰り返される。フレームのために第1の変換262を生成するとき、OISモジュール215a~215bの位置は、ジャイロスコープデータから判断された主のデバイス位置からのオフセットとしてモデル化され得る。以下でさらに論じられるように、オフセットは、キャプチャ時のカメラの有効焦点距離を、その時点でのレンズ焦点位置に対する有効焦点距離を調べることによって、考慮に入れることができる。第1の変換262は、単一の画像フレームの異なる部分集合または領域の関係を別に記述することができる。たとえば、第1の変換262の異なる部分または成分は、フレームの異なる走査線が実世界のシーンにどのようにマッピングされるかを記述してもよい。デバイス位置、OISモジュール位置、被写体距離(例えば、カメラから合焦された被写体の距離)、およびレンズ焦点位置はすべて、測定タイムスタンプを使用して整列させ、必要に応じて補間して、フレームの個々の走査線の露出時に正確な位置を提供することができる。オートフォーカスを伴うレンズの場合、焦点位置は、被写体がカメラからどれだけ離れているかに応じて設定される。したがって、レンズ焦点位置と被写体距離との関係を示すマップが存在する。マッピングは、生成および較正されることができ、被写体距離は、空間遷移のための後の計算で使用される。
動きモデル構築部260によって生成された第1の変換262は、第2の変換272を決定する非線形動きフィルタリングエンジン270に提供される。この第2の変換272は、フレームの画像データを、そのフレームの安定化されたバージョンを表す出力フレームに投影する、第2の射影行列P’i,jとすることができる。具体的には、第2の変換272は、キャプチャされた画像データで演算するのではなく、第1の変換262を使用して作成された画像投影Pi,jを出力フレームにマッピングすることができる。いくつかの実現例では、2つの変換262、272は、次いで、フレームの最初にキャプチャされた画像データで演算し、それを、安定化された出力フレームに直接マッピングする、単一の変換に結合され得る。
動きを効果的に安定させるために、非線形動きフィルタリングエンジン270は、処理されるフレームのキャプチャ後に将来生じる動きを考慮に入れるよう、第2の変換272を生成することができる。例えば、分析中の現在のフレームについて、記録デバイスの位置は、前のフレームから有意に移動していない場合がある。それにもかかわらず、エンジン270が、有意な動きが将来のフレームに生じると判断する場合、第2の変換272は、現在のフレームをシフトするかまたは別様に変更して、目に見える動きをビデオに導入するように生成され得、したがって、大きな将来の動きが、急激な変化ではなく、一連の漸次的な変化として拡散され得る。同様に、将来のフレームの安定化がクロッピングまたは他の変化をもたらす場合、第2の変換272は、一連のフレームにわたって、より漸次的かつ一貫した変化のために、それらの変化を以前のフレームに少なくとも部分的に伝搬するように生成され得る。
非線形フィルタリングエンジン270は、フレームに対する仮想カメラ位置から第2の変換272を生成することができる。露出が生じたときのカメラの実際の位置を表すのではなく、仮想カメラ位置は、記録されているビデオを安定させるであろう、デバイス102の調整されたまたは仮想的な姿勢を表すことができる。仮想位置は、仮想カメラを配置するための所望の位置、例えば、シーンの特定のビューまたはパースペクティブをシミュレートするであろう位置を表すことができる。概して、任意のカメラ位置は、グローバルな基準フレームに対するその回転および並進によって表され得る。仮想カメラ位置は、回転行列、例えば基準位置に対する回転オフセットを示す行列として表すことができる。これは、3つの回転軸に対する回転オフセットを示す3×3行列であってもよい。いくつかの実現例では、EISモジュールの安定化処理は、回転成分に関してのみ位置を定義するが、これは、それらが一般にハンドヘルドビデオの安定性に最大の影響を与えるからである。
フレームに対する仮想カメラ位置は、ビデオ安定化を強化し、歪みおよび動作を補正し、パニングを容易にし、および他の態様でビデオを強化するよう、推定されるカメラ位置に対する調整を反映することができる。フレームに対する仮想カメラ位置は、様々な要因に基づいて調整される初期カメラ位置を生成することによって判断され得る。例えば、仮想カメラ位置の調整は、フレームの前後に検出された動きに基づくデバイス位置のフィルタリングを通じて、フレーム内のぼけの量に基づいて、パニングが発生している可能性に基づいて、将来のフレーム内の動きに備えるよう、調整を通じて、および/または画像データが出力フレーム全体をカバーすることを確実にするために、行われ得る。様々な要因は、フレームに対する最終仮想カメラ位置を判断するために変更、混合、または他の態様で使用される、そのフレームの一連の仮想カメラ位置を生成することによって、考慮することができる。
ちょうど変換262、272が異なる走査線に対して異なるマッピングを有することができるように、フレームの異なる走査線に対して異なる仮想カメラ位置を判断して、フレームキャプチャ中のデバイス位置、OISモジュール215a~215bの位置、および/またはレンズ焦点位置の変化について調整することができる。したがって、フレームの異なる部分に対して異なる仮想カメラ位置を使用することができる。効率のために、第2の変換272の仮想カメラ位置および対応する成分は、画像センサの走査線の適切な部分集合について計算され得、次いで、適切なデータが、残りの走査線について補間され得る。以下の様々な例では、簡潔にするために、画像センサの中央走査線などの単一の走査線について論じる。仮想カメラ位置および対応する射影行列成分を完全に計算するための技術は、画像フレームの複数の走査線に対して、さらには必要に応じて各走査線に対して個々に、使用され得る。
本明細書で使用するとき、デバイス位置とは、たとえば、デバイス位置データ250(たとえば、ジャイロスコープデータ)およびデバイス位置データハンドラ256の出力によって示されるような、デバイス102の位置を指す。このデバイスレベル位置は、第1のカメラ110aのレンズの内部の動きまたはOISモジュール215a~215bの動きを考慮しない、デバイス102の姿勢または向きを示す。また、本明細書で使用されるように、カメラ位置とは、カメラの有効なビューまたは推定されるビューに対応する位置を示す。OISモジュール215a~215bの動作、レンズブリージング、および他の要因によるシフトを考慮することによって、カメラ位置は、デバイス位置とは異なってもよい。さらに、カメラ位置は、仮想位置、例えば、カメラの実際のビューではなく、カメラの強化もしくは変更されたビューを反映する近似または仮想的な位置であってもよい。
次いで、EISモジュール255は、画像ワーピングエンジン280を使用して、非線形動きフィルタリングエンジン270の出力を使用し、各キャプチャされた画像フレームを出力フレームにマッピングする。第2の投影272は、フレームの各部分が出力空間にマッピングされ、出力フレームの画素の各々が定義されるように、フレームの各走査線に対応する成分を含むことができる。EISモジュール255の処理は、ビデオのフレームの各々について実行され得る。
図3は、ビデオ安定化のために使用されるデータの例を示す図である。この図は、デバイス102によってキャプチャされる一連のフレーム310を示す。各フレームは、例えば、露出持続時間、露出基準時間(例えば、露出の開始時間、停止時間、または他の基準点)、レンズ焦点位置などを示す、メタデータ312の対応するセットでラベル付けされる。図示されていないが、デバイス位置データおよびOISモジュール位置データは、各露出中の様々な時間にキャプチャされ、タイムスタンプが付けられる。
フレーム311の安定化処理を行うために、フレーム311のキャプチャの付近の時間範囲が規定される。この時間範囲またはフレームのウィンドウは、フレーム311をどのように変換するかを判断するために分析される。本明細書で使用されるように、フレームの時間「t」は、概して、フレームのキャプチャの基準時間を表すために使用される、中央走査線のキャプチャの時間を指す。(例えば、フレームの中央走査線に対するキャプチャの主時間とは異なってもよい時間を考慮するために、)個々の走査線の時間に言及するとき、その時間はtLで示され、Lは特定の走査線のインデックスまたは識別子である。分析中のフレーム311の中央走査線の露出時間tは、分析に使用される時間範囲の中心として使用することができる。所定の時間オフセットQを使用して、その範囲、例えば[t-Q,t+Q]からの時間範囲を設定することができる。いくつかの実現例では、この時間オフセットQは約200msである。その結果、この範囲は、フレーム311の前に約7フレームおよび後に約7フレームを含むことになる。より大きいおよびより小さい時間オフセットQを使用してもよい。EISモジュール255は、処理中に将来のフレームのコンテキストを使用するので、フレームの処理は、適切な数の後続のフレームがキャプチャされるまで、遅延される。
図3では、フレーム311は、(例えば、カメラ110a~110bのいずれかのカメラの)画像センサによってキャプチャされるように示されている。上記で説明したように、EISモジュール255は、フレーム311のキャプチャ中のデバイス102の実際の位置、ならびにOISモジュール要素などのカメラ要素の位置およびレンズ焦点位置を示すデータから、第1の変換262を定義する。第1の変換262を適用した結果は、出力フレームターゲット335に関して示される投影された画像330である。いくつかの実現例では、第1の変換262は、フレーム311のキャプチャに対応するデータのみを使用して決定される。変換262は、カメラの実レンズ位置に対応し、したがって、投影された画像330は、画像データとカメラのビュー内の実際のシーンとの間のマッピングを推定する。
EISモジュール255は、第2の変換272を使用して、フレーム311の画像データをさらに調整する。この第2の変換272は、仮想レンズ位置、例えば、フレーム311をキャプチャするために使用される場合、より安定したビデオをもたらすであろう仮想的な位置に対応する。この第2の変換272は、フレーム311に適用されると、出力フレーム335のためのデータを完全に定義する投影された画像340を生成する。
投影された画像340を生成する第2の変換272は、[t-Q,t+Q]からの時間範囲内の各フレームに対応するデータから生成されてもよい。この期間にわたるデバイス102の位置R(t)は、例えば、ガウスフィルタを使用してその範囲にわたって動きを平滑化するようフィルタリングすることができる。ここでいう位置の集合R(t)は、[t-Q,t+Q]の範囲内で発生する中央走査線キャプチャ時間の各々におけるデバイス102の位置を含む集合である。この範囲が、処理されている現在のフレームの中央走査線キャプチャ時間t0と、処理されている現在のフレームの前後の7つのフレームの中央走査線キャプチャ時間とを包含する例を考える。フィルタリングされる位置の集合は集合{R(t-7),R(t-6),…,R(t-1),R(t0),R(t1),…,R(t6),R(t-7)}となるであろう。時間tにおけるフィルタリングの結果、すなわちフレーム311の中央走査線の露出は、初期仮想カメラ位置V0(t)として使用することができる。フィルタリングを用いても、デバイス位置における望ましくない動き、または望ましくない動きをもたらす他の要因が存在し得る。その結果、初期仮想カメラ位置V0(t)は、一連のさらなる動作を通じて更新され得る。いくつかの実現例では、フィルタリングされる位置R(t)は、OISの動きを仮定しない位置であり、したがって、OIS位置データ248を考慮しないデバイス位置データ250に基づくことができる。他の実現例では、OISの動きおよびオフセットは、初期仮想カメラ位置V0(t)を生成するようフィルタ処理される位置の集合に要素として含められ得る。
例えば、第2の仮想カメラ位置V1(t)は、位置V0(t)を、将来のフレームにわたって生じる動きの量に基づいて、前のフレームに対する最終カメラ位置VF(tpre)で補間することによって生成され得る。最終カメラ位置VF(tpre)は、フレーム311の直前にキャプチャされたフレームの中央走査線に対する(例えば、記録された出力フレームを生成するために使用される)仮想カメラ位置であり得る。前のフレームのカメラ位置は、最終的な仮想カメラ位置、例えば前のフレームの安定化された出力バージョンを生成するために使用される変換に対応する位置であり得る。補間は、フレーム311と前のフレームとの間の動きの目に見える変化を、フレーム311と将来のフレームとの間の動きの目に見える変化と整列させることができる。
第3の仮想カメラ位置V2(t)は、フレーム311内に存在するカメラのモーションブラーの量に基づいて、V1(t)を実デバイス位置R(t)で補間することによって生成され得る。これは、観視者のぶれの知覚を低減するために適用される安定化の量を低減し得る。モーションブラーは一般に除去することができないので、これは、より自然な結果を生成するために、適切なときにビデオの安定性を低下させ得る。
第4の仮想カメラ位置V3(t)は、時間範囲[t-Q,t+Q]にわたってデバイス102の一貫した動き中に生じる位置をシミュレートまたは表すために生成され得る。この位置は、ドメイン変換フィルタなどの安定したフィルタを、推定された実際のデバイス位置R(t)に、時間範囲にわたって適用することによって、決定されてもよい。フィルタは、V0(t)を生成するために使用される同じデバイス位置の組に適用されるが、このステップは、異なるタイプのフィルタリングを表す。例えば、V0(t)は、平滑化するが、概して、経時的に、推定された実際のデバイス位置の変化に従い、所定の形状またはパターンを課さないフィルタリングを通して生成されてもよい。対照的に、V3(t)は、デバイス102のユーザによって潜在的に意図されてもよい実質的に線形のパニングまたは他の動きなどの所定の一貫した動きパターンに適合するようデバイスパターンをフィルタリングすることによって、生成される。
第5の仮想カメラ位置V4(t)は、V3(t)およびV2(t)の補間として生成され得る。EISモジュール255は、経時的なデバイス位置の変化がデバイス102のパニングを表す可能性が高いかどうかを評価し、それに応じて補間を重み付けまたは調整することができる。パニングの可能性が高いと判定された場合、V4(t)は推定されたパニング位置V3(t)に近い。パニングの可能性が低いと判断された場合、V4(t)は位置V2(t)により近くなることになる。
第5の仮想カメラ位置V4(t)で、EISモジュール255は、対応する変換が出力フレーム335に提供するであろうカバレッジを評価することができる。出力フレーム335全体を埋め、いかなる画素も定義されないままにしないことが望ましいので、EISモジュール255は、仮想カメラ位置V4(t)からのシーンのビューを表す射影行列などの変換を決定し、投影された画像が出力フレーム335をカバーするであろうことを検証し得る。将来のフレームにおける動きを考慮するために、変換は、将来の画像フレームによってキャプチャされるシーンの部分に適用され得る。変換および対応する仮想カメラ位置V4(t)は、現在のフレームおよび将来のフレームの組の各々が、変換を使用してマッピングされるときに、すべて完全に出力フレーム335を定義するであろうように、調整され得る。結果として生じる変換は、変換272として設定されてもよく、フレーム311に対する安定化された出力フレーム335を生成するために使用され得る。
いくつかの実現例では、フレーム311に対して安定化された出力フレーム335を生成することは、フレーム311の1つ以上の他の走査線について、時間tLにおいて露出された走査線Lについて説明したEIS処理技術を実行することを含む。例えば、その処理は、走査線に対して、ある間隔(例えば、100走査線ごと、500走査線ごとなど)で、またはある基準点(例えば、フレームを横切る1/4および3/4、またはフレームの上部およびフレームの底部)で、実行されてもよい。仮想カメラ位置および第2の変換272がフレーム311の走査線の適切な部分集合のみに対して決定されるとき、走査線に対する変換(例えば、射影行列の対応する部分)は、計算された位置間で補間される。このようにして、適切な変換が各走査線に対して決定され、各走査線は、異なる変換が結果として適用されてもよい。いくつかの実現例では、仮想カメラ位置および第2の変換272を生成する全処理は、異なる走査線のデータ間の補間に依拠することなく、各フレームの各走査線について行われてもよい。
フレーム311が出力フレーム335にマッピングされると、その結果が保存され、EISモジュール255は次のフレームの処理を開始する。プロセスは、ビデオのフレームの各々が処理されるまで継続する。
仮想カメラ位置および結果として生じる変換を生成するために使用される種々の要素は、組み合わせて、または別々に使用することができる。たとえば、実現例に応じて、仮想カメラ位置V0(t)~V4(t)を作成するために使用される補間および調整のいくつかは省略されてもよい。たとえば、異なる実現例では、フィルタ処理されたカメラ位置V0(t)~V3(t)のいずれかを用いて、データを出力フレームに投影するための変換を決定し、V4(t)をその目的のために使用する代わりとしてもよい。したがって、安定化変換を生成するためにフィルタ処理されたカメラ位置V0(t)、V1(t)、およびV2(t)のいずれかを使用することは、依然としてビデオの安定性を改善し得る。同様に、V3(t)は、パニングが生じているビデオを安定化するのに有効であってもよい。多くの他の変形例が、議論される異なる要素の部分集合を考慮に入れる場合であっても、本開示の範囲内である。
論じられる技術は、様々な方法で適用され得る。例えば、2つの変換262、272を画像データに順次適用するのではなく、記録デバイスは、両方の組合された効果を反映する単一の組合された変換を生成することができる。したがって、変換262、272を使用して安定化された画像データを生成することは、変換262、272を直接適用するのではなく、画像データを安定化するために最終的に使用されるさらなる変換または関係の生成を包含してもよい。画像安定化のための種々の技術が説明され、ここに引用により援用する、2019年10月29日に発行された米国特許10,462,370で論じられる技術等の他の技術が、加えて、または代替として、使用されることができる。
図4は、図1A~図1Bのデバイス102による処理の追加の例を示すブロック図である。そのうちのいくつかが再び図4に表される図2に示される要素に加えて、デバイス102は、図4に表される追加の機能を提供するためのハードウェアおよび/またはソフトウェア要素を含むことができる。
デバイス102は、ズームレベルにおいて要求された変更を示すデバイス102へのユーザ入力を処理するズーム入力処理モジュール410を含むことができる。デバイス102がビデオをキャプチャするとき、たとえEISが使用中でも、デバイス102は、ズームレベルを変更するためのユーザ入力を受信することができる。これは、画面上スライダ制御を移動させる入力、タッチスクリーン上のジェスチャ、または他の入力を含むことができる。1.0xのズームレベルは、EISが使用状態でカメラ110aを使用して利用可能な最も広い視野を表すことができる。これは、EIS処理のためにマージンを提供するよう、ネイティブ画像センサ解像度のクロッピングされたセクションであってもよい。モジュール410は、ユーザ入力に基づいて所望のズームレベルを判断して、例えば、現在のズームレベル(例えば、1.0x)から変更または所望されるズームレベル(例えば、2.0x)に移動することができる。
要求されたズームレベルを示すデータは、ビデオ記録に使用されるカメラを切り替えるかどうかを判断するカメラセレクタモジュール420に提供される。例えば、カメラセレクタモジュール420は、カメラ間の遷移が生じるべきズームレベルを示す記憶されたカメラ遷移閾値430を受信および使用することができる。例えば、第2のカメラ110bは、1.7xのズームレベルに対応する視野を有することができ、遷移閾値は、1.8xのズームレベルに設定されることができる。カメラセレクタ420は、所望のズームレベル2.0が1.8x閾値を満たす(例えば、閾値以上である)と判断し、したがって、カメラの変更は、1.8x以降のズームレベルを表すキャプチャから適切である。ズームイン(例えば、視野を狭くする)のための第1の閾値、およびズームアウト(例えば、視野を拡大する)のための第2の閾値等、複数の閾値が定義されてもよい。これらの閾値は異なり得る。例えば、第1の閾値は1.8であり得、第2の閾値は1.7であり得、したがって、遷移点は、ユーザがズームインしているかまたはズームアウトしているかに応じて異なる。
いくつかの実現例では、カメラ110a、110b間の切り替えは、単にしきい値を超えることによって制御される。デバイスがカメラ110bを使用してビデオを記録しており、ユーザが、より広角のカメラ110aを代わりに使用するよう切り替えを引き起こすレベルにズームアウトを開始する状況を考える。ズームイン時にカメラ110aからカメラ110bに切り替えるための閾値を1.8xとし、カメラ110bが使用できる最低ズーム位置を1.7x(例えば、現在のカメラ110bの全最大視野を表すズームレベル)とする。その結果、ズームアウト時には、遷移はズームレベル1.7xでなされなければならず、なぜならば、第2のカメラ110bはそれよりも広い視野を提供できないからである。この状況に対処するために、ズームレベルが1.9xに低減されると、カメラ110aは、出力フレームがカメラ110bによって出力される現在の画像データに依然として基づいているにもかかわらず、画像データのストリーミングを開始する。これは、例えば、1.9xから1.8xへのズームレベル遷移中に、両方のカメラ110a、110bがシーンの画像データをキャプチャおよびストリーミングしている期間を提供する。これは、カメラ110aでキャプチャを初期化するための調整期間を提供するので、カメラ110aは「ウォームアップ」することができ、オートフォーカス、オート露出、および他のプロセスが収束し始めることになる。この調整期間は、カメラ110aの設定に対するマージンを提供して、カメラ110aの設定およびキャプチャが初期化および整列されて、切り替え前にカメラ110aによって現在使用されているものとマッチするようにしてもよい。
このようにして、デバイス102は、現在のズームレベル、ズーム変更の方向、およびデバイス102とのユーザ対話などの要因に基づいて、カメラ間の切り替えの必要性を予測し、それに備えることができる。例えば、ズームを1.9xに減少させるように命令するユーザ入力に基づいて、カメラ切り替えが必要とされる可能性が高いことを検出すると、デバイス102は、遷移が目標とされるズームレベルをユーザが命令する前に、またはそれが必要になるときに、使用されるべき次のカメラ110aでキャプチャを開始する設定を命令することができる。例えば、1.9xのズームレベルがユーザによって指示されたときにデバイス102がビデオキャプチャおよび設定調整を開始し、ユーザが1.8xのズームレベルを指示するときまでにカメラ110aが準備ができて所望の設定で動作している場合、デバイス102は、1.8xのズームレベルが指示されるとカメラを切り替えることができる。それにもかかわらず、何らかの理由で、1.7xのズームレベル(例えば、現在のカメラ110bの最大視野)が指示される時点までに設定の収束または実施が完了していない場合、デバイス102は、ズームレベルが1.7xに達したときに切り替えを強制することになる。
カメラセレクタ420は、カメラ選択信号または他の制御データをカメラ制御モジュール440に提供する。カメラ制御モジュール440は、カメラ110a、110bからビデオキャプチャパラメータを読み出し、ビデオキャプチャパラメータを設定するよう命令または設定も送信する。ビデオキャプチャパラメータは、例えば、どのカメラ110a、110bが画像データをキャプチャしているか、フレームキャプチャのレート(例えば、24フレーム/秒(fps)、30fps、60fpsなど)、露出設定、画像センサ感度、(例えば、画像キャプチャの前または後に適用される)ゲイン、画像キャプチャ時間(例えば、各走査線がフレーム中に光をキャプチャする有効な「シャッタ速度」または持続時間)、レンズ開口サイズ、被写体距離(例えば、カメラから合焦された被写体の距離)、レンズ焦点位置または焦点距離、OISステータス(例えば、OISが有効にされているか否か、使用されるOISのモードなど)、OISレンズ位置(例えば、水平および垂直オフセット、回転位置など)、適用されるOISの強度またはレベルなどを含むことができる。カメラ制御モジュール440は、一般的なビデオキャプチャのためのこれらおよび他のビデオキャプチャパラメータ、例えば露出、フレームレート等を設定することができる。カメラ制御モジュール232はまた、較正データ232を受信するかまたはそれにアクセスすることができる。較正手順は、デバイスの製造および品質保証の一部として、各デバイスについて、例えばデバイス102について行うことができる。較正データは、例えば、カメラ110a、110bの互いに対する関係、異なるレンズ位置に対するレンズ焦点位置と被写体距離(例えば、焦点面の距離)との間の関係などを微調整するためのデータを示すことができる。
カメラ制御モジュール440はまた、適切な時間にカメラ110a、110bを有効化および無効化して、カメラセレクタ420によって示されるカメラ切り替えを生じさせることができる。例えば、入力が1.0xから2.0xへのズームレベルの変化を示し、カメラセレクタ420からのデータが1.8xで開始する第2のカメラ110bへの変更を示す場合、カメラ制御モジュール440は、この遷移を生じさせるための制御命令を生成することができる。要求されたズーム速度に関する記憶された情報、およびズームが一貫して実行され得る速度に関する任意の制限を使用して、カメラ制御モジュール440は、切り替えを行う時間、例えば、画像出力に反映される漸増的または漸次的なズームが1.8xカメラ遷移点に到達する時間を判断する。この遷移のための時間は、デジタルズームが1.8xズームレベルに滑らかに到達し得るまで第1のカメラ110aでデータをキャプチャし続ける時間の持続時間またはフレーム数、または1.8xズームレベルに到達することをユーザ入力が指定する時間に基づくことができる。
カメラ遷移を予期して、カメラ制御モジュール440は、現在のカメラ(例えば、第1のカメラ110a)からビデオキャプチャパラメータを読み出し、遷移後に使用されるべきカメラ(例えば、第2のカメラ110b)のための対応するビデオキャプチャパラメータを設定することができる。これは、同じフレームレート、同じ露出レベル、同じレンズ開口、同じ焦点距離、同じOISモードまたはステータス(例えば、有効とされるかどうか)などを設定することを含むことができる。概して、カメラ間の遷移の前には、両方のカメラ110a、110bが能動的にビデオデータを同時にキャプチャしている期間がある。例えば、第1のカメラ110aから第2のカメラ110bに切り替える場合、ズームレベルが、記録されたビデオのためにカメラ110bの出力を使用するよう切り替えるための閾値に達する前に、カメラ110bは開き、ビデオキャプチャを開始することになる。設定のための初期値は、カメラ110aに現在使用されている設定の値に基づく。カメラ110bは、例えば所望の動作モード(例えば、適切な開口設定、正しい焦点距離設定、正しいOIS設定など)に収束するよう、指示された設定に向けてその動作の調整を開始する。このプロセスは、カメラ110bまたはデバイス102が、正しい焦点距離を判断するためのオートフォーカスプロセスなどを用いて、適切な設定を判断することを含んでもよい。カメラ110bのために設定の収束や演算が行われた後、録画に使用するビデオストリームは、カメラ110bが出力するビデオストリームに切り替わることになる。場合によっては、カメラ110a、110bのパラメータは同じでなくてもよいが、カメラ110bのパラメータは、それにもかかわらず、カメラ110aによって使用されているキャプチャのためのパラメータに基づいて設定されてもよく、出力間の一貫性を促進または保つように設定されてもよい。例えば、カメラ110a、110bは、同じ開口範囲が利用可能でなくてもよく、したがって、カメラ制御モジュール440は、2つのカメラ110a、110bに対して同等またはほぼ同等の露出レベルを設定してもよいが、感度/ゲイン、キャプチャ時間(例えば、シャッタ速度)、および開口に対する設定の異なる組み合わせで設定してもよい。カメラ制御モジュール440は、遷移されるべきカメラを、適切な設定が、遷移に先立って、そのカメラを記録された最終出力フレームのために使用することに適用される状態で、起動することができ、したがって、画像キャプチャおよび入来ビデオフィードは、遷移時または遷移時より前に利用可能である。
ビデオデータは、画像処理モジュール450を使用して処理される。このモジュール450は、ビデオキャプチャのために現在選択されているカメラ110a、110bからストリーミングされるキャプチャされたビデオフレームを受信することができる。モジュール450はまた、ジャイロスコープ、慣性測定ユニット(IMU)、加速度計などのデバイス位置センサからセンサデータを受信する。モジュール450はまた、(例えば、カメラ制御モジュールまたはメモリから、)ビデオフレームをキャプチャするために使用されるパラメータを示すビデオキャプチャパラメータ値も受信する。これは、各フレームについて、さらにはフレームの異なる部分について、さらにはフレームをキャプチャまたは読み出すプロセス内の特定の走査線または時点について、OIS要素位置、カメラ焦点位置、被写体距離、フレームキャプチャ時間、シャッタ速度/キャプチャ持続時間などを示すメタデータを含むことができる(図2、チャート252参照)。モジュール450はまた、デジタルズームレベル(例えば、倍率レベル、等価レンズ焦点距離、結果として生じる視野、クロッピングのレベルなどとして表されてもよい)を示すデータも受信する。画像処理モジュール450は、キャプチャされた画像フレームに変換を適用して、ローリングシャッタ、OISシステムの動き、フォーカスブリージングなどによるアーチファクトを除去する。例えば、モジュール450は、ビデオフレームを取得し、フレームをキャプチャしたカメラの正準空間に変換または投影することができ、正準空間では、フレームのキャプチャの時変局面(例えば、OIS要素の動き、ローリングシャッタなど)が除去される。
モジュール450は、画像フレームが第1のカメラ110aまたは第2のカメラ110bでキャプチャされたかどうかにかかわらず、画像フレームを第1のカメラ110aの正準カメラ空間に変換することができる。たとえば、第2のカメラ110bを使用してキャプチャされた画像の場合、モジュール450は、デバイス上のカメラ110a、110bの位置間の空間的差異およびカメラ110bの焦点位置などの他の要因を補正することによって、データを第2のカメラ110bの正準空間から第1のカメラ110aの正準空間に変換する。これは、シーンのビューが両方のカメラ110a、110bから記録されたビデオにわたって一貫するように、第2のカメラ110bを使用してキャプチャされた画像データを第1のカメラの視野の部分に整列させることができる。この技術は、図5A~図5Cおよび図6に関して以下でさらに論じられる。
デバイス102は、主カメラの正準空間に変換された画像データを受信および処理するEIS処理モジュール460を含むことができる。「主カメラ」とは、複数のカメラのうち、他のカメラの基準として予め指定されたカメラのことである。例えば、主カメラは、最も広い視野を有する第1のカメラ110aとすることができ、任意の他のカメラ(例えば、第2のカメラ110b)の出力は、第1のカメラ110aの正準空間に変換またはマッピングすることができる。モジュール450は、両方のカメラ110a、110bの画像データを、フレーム内の時間依存変動(例えば、フレームの異なる走査線のキャプチャ時間、デバイス位置、OIS位置等の差異)を補償した共通の標準化された正準空間にマッピングする。これは、EIS処理モジュール460がフレーム内の時変キャプチャ特性を考慮に入れる必要性をなくすことによって、EIS処理を著しく簡略化する。それはまた、単一のEIS処理ワークフローが、カメラ110a、110bのいずれかを使用してキャプチャされたビデオデータのために使用されることを可能にする。EIS処理モジュール460は、潜在的にはフレームごとに、望ましいズーム設定、例えばズームレベルまたは視野も、受信する。これにより、EIS処理モジュールは、適切な量の安定化を、フレームごとに、フレームに使用されるズームのレベルに従って、適用することが可能になる。ズームレベルが増加し、画像が拡大されるにつれて、カメラの動きの影響も拡大される。したがって、EIS処理モジュール460は、ズームレベルが増加するにつれて、より強い安定化を適用して、出力ビデオにおいてほぼ一貫した安定性のレベルを維持することができる。EIS処理モジュールは、図2および図3に関して上で説明されたEIS処理技術のいずれかまたはすべてを使用することができる。安定化は、画像データを主カメラの正準画像空間から仮想カメラ空間に投影すると考えることができ、画像データは、あたかもカメラがビデオキャプチャ中に実際のカメラが有するよりも滑らかな動きの軌道を有するかのように、出力をシミュレートするよう変換される。
EIS処理モジュール460がフレームの画像データを安定化した後、そのフレームの画像データは出力され、および/またはデータ記憶装置(例えば、フラッシュメモリなどの不揮発性記憶媒体)に記録される。モジュール410、440がフレームについて判断するズームレベルは、フレームに必要とされるデジタルズームレベルをクロッピング、アップスケール、または他の態様で適用するために使用され得る。これらの技術の結果として、デバイス102は、キャプチャ中に2つのカメラ110a、110bの間でシームレスに遷移することができ、その遷移は、ユーザによって設定されたズームレベルに基づいてデバイス102によって自動的に管理される。したがって、結果として生じるビデオファイルは、ビデオファイルを通して散在される、異なるカメラ110a、110bを使用してキャプチャされたビデオセグメントを含むことができ、データは、両方のカメラ110a、110bからのセグメントにわたって一貫したEIS処理を維持しながら平滑なズーム遷移を示すよう整列および変換される。
デバイス102は、ビデオ出力および/または記録モジュール470を含むことができる。ビデオ出力および/または記録モジュール470は、EIS処理モジュール460の出力を受信し、これを、ビデオファイルとしてデバイスにローカルに、および/または遠隔で格納するために、提供するよう構成されてもよい。加えて、または代替として、ビデオ出力および/または記録モジュール470は、出力をストリーミングして、デバイス102上にローカルに、および/または例えばネットワークを介して別の表示装置に遠隔で、表示してもよい。
図5A~図5Cは、マルチカメラビデオ安定化のための技術の例を示す図である。以下で説明する例では、カメラ110a、110bの一方が主カメラとして指定され、他方が副カメラとして指定される。以下に論じられる処理および変換を通して、記録されたビデオが副カメラを使用してキャプチャされると、副カメラの出力は、主カメラの正準空間にマッピングされる。説明を明確にするために、第1のカメラ110aは主カメラとして使用され、第2のカメラ110bは副カメラとして使用される。これは、これらの例では、より広い視野を有するカメラが主カメラとして指定されることを意味する。これはいくつかの実現例では望ましいが、必須ではない。代替として、これらの技術は、狭い視野を有するカメラを主カメラとした状態で、使用されてもよい。
一般に、ホモグラフィ変換は、あるカメラ空間から別のカメラ空間に変更するために使用される変換である。表記AHBは、点をカメラ空間Bからカメラ空間Aに変換するホモグラフを表す。仮想カメラとは、(ユーザに渡される、および/またはビデオファイルに記録される)最終的なシーンが生成される仮想カメラなどの合成カメラビューを指す。この有効カメラ位置は、可能な限り多くの時間的および空間的連続性を提供するために、典型的にはビデオ全体の持続時間にわたって安定化される(例えば、位置および向きにおいて可能な限り静止しているように見える)ことになる。本明細書で使用されるようにとおりでは、「主」カメラは、出力ビデオを生成するための基準フレームを定義するために使用される主たるカメラである。主カメラは、仮想カメラと空間的に同じ位置に位置するように定義され得るが、時間的に同じ位置に位置しなくてもよい。以下のほとんどの例では、第1のカメラ110aが主カメラとして使用される。副カメラは、主カメラと対になっている。副カメラは、仮想カメラから空間的に離れるように定義され、副カメラの出力は、副カメラが先行カメラである場合、仮想カメラ空間に移動される(warped)ことになる。以下のほとんどの例では、第2のカメラ110bが副カメラとして使用される。「先行カメラ」は、ビデオキャプチャのために現在開いているカメラ、例えば、保存された出力ビデオを生成するために現在の画像データが使用されているカメラを指す。「後続カメラ」は、先行カメラと対にされる。後続カメラは、現在、ビデオキャプチャのためにオープンまたはアクティブではない。それにもかかわらず、後続カメラの出力が実際に出力カメラで使用されるかまたは出力カメラに保存される前に、先行カメラとしてステータスを取得することを予期して、後続カメラがビデオをキャプチャし始める起動期間があり得る。正準カメラは、経時的に変化しない固定された固有パラメータを有する概念的なカメラであり、例えば、正準カメラは、OISの動作またはボイスコイルモータ(VCM)レンズシフト(焦点合わせのためなど)の影響を受けない。カメラの各々について、正準カメラ(および対応する画像空間)、例えば、正準主カメラ空間および正準副カメラ空間がある。
これらのパラメータは、カメラ110a、110bのうちのどれがキャプチャのために使用されているかに応じて、2つの異なる使用事例につながる。主カメラが先行している場合、画像データを物理カメラの空間と空間との間でマッピングする空間移動は必要とされない。合成ズームおよびEIS処理は、単に主カメラに対するEIS処理で行うことができる。他方、副カメラが先行している場合、システムは、2つのカメラ110a、110bによるキャプチャ間の切り替えにわたる一貫性のために、空間移動を適用して、出力を主カメラの視点にマッピングする。これは、2つのカメラ110a、110bの出力間の一貫性を再び保つために、焦点距離または被写体距離を変更するシーンにおける焦点の変化を考慮する。
記録中にデジタルズームを提供する課題の1つは、特に、上述のような複数のカメラを使用する増分ズームまたは連続ズームのタイプに関して、EIS処理をデジタルズーム機能とともに効率的に組み込むことである。ビデオキャプチャ中、デバイス102は、EIS処理が、一連の時間的に安定化された画像シーケンスを取得するよう有効にされた状態で、ビデオを記録することができる。デバイス102は、ズーム機能およびEIS機能のためにホモグラフィを連結して、この効果を達成することができる。
EIS用のホモグラフィと、複数のカメラを用いたデジタルズーム用のホモグラフィとは、異なる目的を果たす。EISのためのホモグラフィは、画像データを、画像センサの現在の(例えば実際の)出力フレーム(下付き文字「R」または「real」によって示される)から仮想フレーム(下付き文字「V」または「virt」によって示される)に変換する。以下の様々な等式および式において、変数t(例えば、小文字t)は、フレームのタイムスタンプであり、これは通常、フレームの中央走査線のキャプチャの時間に関連する。しかしながら、異なる走査線が、異なる時間にキャプチャされるため、他の走査線に対するタイムスタンプは、変動し得る。(例えば、フレームフレームの中央走査線に対するキャプチャの主時間とは異なる時間を考慮するために)個々の走査線の時間に言及するとき、時間はtLで示され、これは走査線Lのキャプチャタイムスタンプの時間を表す。ローリングシャッタを有するカメラを使用するとき、フレームの各走査線に対するタイムスタンプはわずかに異なり、したがって、項tLは、異なる走査線に対してわずかに異なり得、また、カメラ位置も、異なる走査線に対してわずかに異なり得る。異なる項TEは、主カメラ110aと副カメラ110bとの間の外部並進(extrinsic translation)を指し、いかなるタイムスタンプも表さないことに留意されたい。同様に、nTは、以下で論じられる平面ノルム(plane norm)であり、外部並進および時間項とは無関係である。
EISホモグラフィは、VHRまたはHeisとして示される。EISからのホモグラフィは、現在のまたは「実際の」フレームからの点を3D空間に投影解除し、次いで、それを仮想空間に投影し戻すことによって、データを現在のまたは「実際の」フレームから仮想フレームに変換するよう構成される。このホモグラフィは、以下のように表すことができる:
式1において、RVは仮想カメラの3×3回転行列を表し、RCは現在使用されている実カメラ110a~110bの3×3回転行列を表し、RCおよびRVは両方ともカメラ位置データ(例えば、ジャイロスコープデータ)から得ることができる。Kは内部行列であり、KVは仮想カメラの内部行列であり、KCは現在のカメラ(例えば、カメラ110a~110bのどちらが使用されていようとも)の内部行列である。カメラ内部データ(例えば、カメラ形状、較正データ、およびカメラ特性に基づく)は、1つ以上のデータ記憶装置230に記憶され、そこから取り出され得る。内部行列は、下記の式2のように表すことができる。
式2において、fは焦点距離であり、oxおよびoyは主点である。上記の式において、RC、RVおよびKC
-1は時間依存性であり、時間tの関数として示される。これらの値は、時間的連続性を保証するために、以前のフレームまたは以前の出力フレーム生成プロセスのための情報を保持するかまたはそれに基づくことができる。RVは、仮想空間のための3×3回転行列であり、過去の仮想カメラフレームの軌道のフィルタに基づいて計算され、遅延および「先を見る」戦略が使用される場合には、潜在的に、いくつかの将来のフレームに対しても計算される。RCは、現在のフレームのための3×3回転行列であり、現在のフレームを第1のフレームに変換するジャイロスコープまたはデバイス位置センサ220からのデータに基づいて計算される。KC
-1は、光学主中心と現在のOIS値とに基づいて算出される。
ズーム処理のためのホモグラフィは、あるカメラ110aのビューから別のカメラ110bのビューに変換される。たとえば、このホモグラフィは、主カメラ110aの現在のフレームから、副カメラ110bのフレームに変換し、mainHsecとして示される。このホモグラフィは、このホモグラフィを計算するために4点手法を使用して計算してもよいが、このホモグラフィをユークリッドホモグラフィとして単純化することによって、行列自体も以下のように分解することができる:
副カメラ(例えば、望遠カメラ110b)画像上の点Psecを、主カメラ(例えば、広角カメラ110a)画像上の対応する点Pmainに、Sの任意のスカラーまでもたらす、ユークリッドホモグラフィ変換を仮定すると、このホモグラフィ行列は以下のように分解することができる:
この式において、Ext(t)は外部変換であり、それは、平面の深さに依存する行列である:
その結果、組み合わせは以下のように示される:
式4において、nTは平面ノルム(例えば、焦点面に垂直なベクトル)であり、Dは焦点面が位置する深さまたは距離である。変数REおよびTEは、主カメラ110aと副カメラ110bとの間の外部回転および外部並進をそれぞれ示す。
変数KmainおよびKsecは、主カメラ110aおよび副カメラ110bの内部行列であり、これらは、上述したEISホモグラフィと同じフォーマットを有する。式4において、Kmain、Ksec、Dは時間依存である。しかしながら、EIS定式化における対応するバージョンとは異なり、Kmain、Ksec、およびDは、ズーム定式化において過去の情報を保持しない。KmainおよびKsecは両方とも、フレームごとに変化する、(例えば、OIS位置データ248a~248bを使用する)現在のVCM値およびOIS値に基づいて計算される。変数Dは、オートフォーカス中の焦点距離値に関連し、ビデオキャプチャおよび記録中に時間とともに変化してもよい被写体距離に対応する。上述のように、被写体距離は、カメラのために選択された現在の焦点に対する、デバイス102からの焦点面の距離を指す。被写体距離は、例えば、焦点位置データ246a~246bからのカメラの焦点位置と、合焦された被写体がカメラセンサ面からどれだけ遠くにあるかを示す被写体距離に対する焦点設定または焦点要素位置の対応を示すルックアップテーブルなどの較正データとを使用して判断することができる。カメラ110a、110b間の位置のオフセットを前提として、キャプチャされた画像間の関係は、被写体距離に応じていくらか変動し得、変換は、被写体距離、レンズ焦点位置、および/または他のデータを使用して、これらの影響を考慮することができる。
上記の2つのホモグラフィ分解は、一連の動作、すなわち、(1)ソースカメラから投影解除すること、(2)ソースカメラからワールド3次元基準フレームに変換すること、(3)ワールドからターゲット3次元基準フレームに変換すること、(4)ターゲットカメラに再投影して戻すこと、としてまとめることができる。これらは、以下の表1に要約され、図5A~図5Cおよび図6に関しても論じられる。
次のセクションは、ズームホモグラフィとEISホモグラフィとを効果的かつ計算効率の良い態様で組み合わせるための技術を説明する。使用可能な技術の1つは、1つのカメラ、典型的には最も広い視野を有するカメラを主カメラとして設定し、処理された出力を主カメラに関してマッピングすることである。
主カメラ(例えば広角カメラ110a)がビデオキャプチャに使用される場合、項mainHsecは恒等である。その結果、結合されたホモグラフィは、式7に示されるように、単純にEISホモグラフィHeisであり得る。
項RDは、ジャイロスコープまたは他の動きセンサからのデータに基づいて計算されたデバイス回転を示し、主カメラ110aおよび副カメラ110bの両方について同じ値を有する。
具体的には、3つのホモグラフィ変換は以下の通りである:
●sec_canHsec:(0,0)OIS運動、0ローリングシャッタ時間、固定焦点距離、およびフレーム中心での回転を伴う、実際の副カメラから正準副カメラ空間への変換。
●sec_canHsec:(0,0)OIS運動、0ローリングシャッタ時間、固定焦点距離、およびフレーム中心での回転を伴う、実際の副カメラから正準副カメラ空間への変換。
ここで、Rsec
-1(t)*Ksec
-1(t)は、必要とされるものに応じて、各走査線またはフレーム中心から取得され、これは、所与のOIS/VCM値と協働することになる。Rsec_can(t)は、各走査線におけるRsec
-1(t)とは反対に、フレーム中心における回転である。
●main_canHsec_can:正準副カメラから正準主カメラ空間への変換。
●main_canHsec_can:正準副カメラから正準主カメラ空間への変換。
この式において、Ext(t)は、被写体距離(例えば、カメラセンサからの焦点面の空間における深さ)に依存する行列である外部変換である:
ここで、nTは平面ノルムであり、Dは平面nTの深さであり、REおよびTEは、副カメラと主カメラとの間の外部回転および並進である。
●virtHmain_can:正準副カメラから安定化された仮想カメラ空間への変換であり、この回転はEISアルゴリズムによってフィルタリングされる。
●virtHmain_can:正準副カメラから安定化された仮想カメラ空間への変換であり、この回転はEISアルゴリズムによってフィルタリングされる。
Rmain_can=Rsec_canは、フレーム中心における現在の実際のカメラ回転であることに留意されたく、なぜならば、主カメラおよび副カメラは互いに強固に取り付けられるからである。
3つのホモグラフィを連結すると、最終的なホモグラフィが得られる:
ここで、中間項main_canHsec_canはズーム処理に由来する。
主カメラが先行している場合、最終的なホモグラフィは、EIS処理のためのホモグラフィだけに単純化する。
上記の式は次式となる:
主カメラが先行している場合、最終的なホモグラフィは、EIS処理のためのホモグラフィだけに単純化する。
上記の式は次式となる:
これは、main_canHsec_can=恒等を設定し、上記の式は、元のHeis式になる:
上記のセクションから、概して、2つの式を有することになる:
副カメラが先行しているとき、式は以下の通りである:
副カメラが先行しているとき、式は以下の通りである:
主カメラが先行しているとき、式は以下の通りである:
エンジニアリングの観点から、EISの実現中、副カメラは存在せず、したがって、すべての仮想カメラは、現在の先行カメラ上に位置し、これは、元のEISパイプラインについて以下を意味する:
主カメラが先行しているとき、
主カメラが先行しているとき、
副カメラが先行しているとき、
EISの基本式から、
項KVは常に現在のカメラと同じに定義され、定義によれば、Kv_mainとKv_secとの間の唯一の差は、2つのカメラ間のFOVである(仮想カメラは画像の中心に配置されるので、主点は同じである)。
上記の場合に対応するために、システムは、主カメラおよび副カメラにおける視野が切り替え点で互いに一致することを意図的に保証することができる。この視野整合は、すべての動作に先立って、副カメラから主カメラに視野をスケーリングするハードウェアクロッピングを通して効率的に行われ、行列Sは、以下の式で使用される。
ソフトウェア側から、ホモグラフィの式は、以下に適合する:
最終的に適用されるホモグラフィは、以下のようになり得る:
その変換は、正準副空間から、正準副空間と同じ視野(例えばスケール)を有するが、カメラ外部因子によって引き起こされるすべての並進/回転が中和された正規化された正準副空間にマッピングする。
副カメラ(例えば、望遠カメラ110b)と見なされるカメラがビデオキャプチャに使用されるとき、異なるカメラ110a、110bを使用するキャプチャの期間にわたって一貫した画像特性が維持されることを可能にするために、副カメラからのビューを主たるカメラからのビューに変換または投影するために使用される一連の変換がある。これらの変換は、(1)ソースカメラ(例えば、第2のカメラ110b)から投影解除して、OISモーションおよびローリングシャッタのようなカメラ固有の効果を除去すること、(2)3次元世界等の正準基準フレームに変換すること、(3)正準基準フレームから主カメラ基準に変換すること(例えば、第1のカメラ110aによってキャプチャされるであろうフレームに整列すること)、および(4)主カメラ110aのフレームから電子安定化が適用された仮想カメラフレームに再投影することを含むことができる。変換の順序に基づいて、本技術は、平行化第一または安定化第一で行われ得、それ異なる性能結果をもたらす。図5A~図5Cは、第2のカメラ110bからのキャプチャされた画像を、第1のカメラ110aのために生成される安定化されたビューと整列されかつそれと一貫する安定化されたビューに変換するための異なる技術を示す。
図5Aは、平行化を第一に実行するマルチカメラビデオ安定化のための例示的な技術を示す図である。この技術は、第2のカメラ110b(たとえば、この例では望遠カメラ)からの視界を最初に第1のカメラ110a(例えば、この例では広角カメラ)に平行化し、次いで安定化を適用する。この技術は、EISホモグラフィと主たる副から主へのホモグラフィとの単純な連結によって表されるという利点を提供し、これは、ビデオフィードを処理する効率を高める。これを次式に示す:
図5Bは、安定化を第一に実行するマルチカメラビデオ安定化のための例示的な技術を示す図である。このオプションは、副カメラフレームからの画像を安定化された仮想主カメラフレームに安定化し、次いで、平行化を適用して仮想副カメラフレームを主カメラフレームに投影する。しかしながら、この技術は、副カメラから主カメラへの変換が主カメラフレーム座標系において定義されるため、図5Aの手法ほど単純ではない。したがって、同じ変換を実行するために、安定化された仮想主カメラフレームは、仮想副フレームから回転させて戻るようにしなければならない。これは、以下の式で表され、「virt_main」は主カメラの仮想フレーム(安定化された)を指し、「virt_sec」は副カメラの仮想フレーム(安定化された)を指し、「real_main」は主カメラの実フレーム(安定化されていない)を指し、「real_sec」は副カメラの実フレームを指す。
項目を連結することによって、結果は、図5Aと同じ全体的な変換である。たとえ異なる幾何学的定義が存在しても、画像に対する全体的な効果は同じである。
図5Cは、第一に正準カメラに平行化するマルチカメラビデオ安定化のための例示的な技術を示す図である。上で論じた幾何学定義を使用して、実現例は、現在の実カメラビューから正準カメラビューに平行化することによって、より効率的にすることができ、正準カメラビューは、現在の先行カメラの仮想カメラとして定義されるが、固定OIS(OIS_X=0,OIS_Y=0)および固定VCM(VCM=300)を有する。
この結果は、図5Aの第1の場合における式と同様である。例えば、これは以下を与える:
しかしながら、この場合、Kmain
-1(t)Kmain(t)対を挿入する代わりに、Kmain_can
-1(t)*Kmain_can(t)を挿入することになり、ここで、Kmain_canは、正準主カメラの固有の特性を示す。項 H'eisおよび mainH'secは、Kmain_canを使用して計算される。
この手法は、システムが副カメラおよび主カメラの両方のメタデータについて同時に問い合わせる必要がないので、著しい利点を提供する。
組み合わされたホモグラフィ、Hcombined は、正準位置表現および走査線単位処理とともに使用することができる。まず、正準位置について説明する。議論された Heis および mainHsec の元の定義から、システムは、デジタルズーム処理のためのホモグラフィにおいて使用された Ksec および Kmain 項の両方についてOISおよびVCM情報を使用する。このシステムはまた、EISホモグラフィで使用された項KCも使用する。
以下の式において、ある変数は、主カメラおよび副カメラのそれぞれについて、現在のOIS値およびVCM値に依存する時間依存変数である。これらの時間依存変数は、 Kmain
-1(t), Kmain(t), および Ksec
-1(t)を含む。これらの項の時間依存性は、システムが両方のカメラ110a、110bのOIS/VCMメタデータの両方を同時にストリーミングする必要があるであろうことを意味する。しかしながら、正準表現を使用すると、データ収集要件を大幅に低減することができる。例えば、項 Ksec
C および Kmain
Cが、OISおよびVCMの両方が所定の標準または正準位置に配置された正準カメラモデルとして定義されることを含み、正準位置は、OISX=OISY=0およびVCM=300を有する所定の位置である、例示的な表現が以下に示される。元の Hcombined = Heis * mainHsecについて、その表現は以下のように分解することができる:
上記の式において、項 Csec(t) は、現在のカメラビューを正準カメラビューに変換する(例えば、OISレンズ位置の影響を除去する)補正行列である。デジタルズームホモグラフィは、第2のカメラ110b(例えば、望遠カメラ)からビデオをキャプチャするときにのみアクティブであるため、現在の副カメラビューを正準副カメラビューに変換する、1つの補正行列項 Csec(t) のみが必要とされる。この新しい式において、Kmain
Cおよび Ksec
Cは両方とも、デジタルズームのためのホモグラフィについて、経時的に一定である:
結果として、唯一の時間依存成分は D(t) であり、これは、カメラから焦点面までの距離であり得る、焦点のための被写体距離に依存する。したがって、必要とされる唯一の新たなメタデータは、被写体距離であろう。
次に、各走査線の補正について説明する。走査線ごとの補正は、上述の式の右側の別の行列 S(tL, L) の使用を含むことができる。この追加の行列は、走査線Lごとに潜在的に示される異なる調整を用いて、走査線に特定である補正を行うために使用することができる。走査線ごとの補正行列 S(tL, L) は、(例えば、走査線がキャプチャされた適切な時間のジャイロスコープセンサデータを取得するための)走査線の現在の時間 tL 、および(例えば、各走査線を中央走査線と整列させるために変形またはシフトを補正するために使用される)走査線番号 L に依存する。その結果、行列 S(tL, L) は、各走査線 L に対する補正およびその対応するキャプチャ時間 tL を含むことができる。
元の分解された式から、走査線ごとの補正行列の加算は、以下を与える:
最終的なホモグラフィは、正準位置および走査線ごとの項を加算することによって判断することができる:
この例では、HC
eis = KV*RV(t)* RD
-1(t) *Kmain
C-1 は、正準主カメラのみにおける安定化行列を表す。加えて、項 mainHC
sec = Kmain
C* (RE
-1 - D(t)*TE*nT) * Ksec
C-1は、正準副ビューから正準主ビューへのホモグラフィを表す。項 Csec(t) は、現在の副カメラビューを正準副カメラビューにするホモグラフィである。項 S(tL, L) は、各走査線の変形を中央線の基準位置にもってくる走査線ごとの補正である。
図6は、マルチカメラビデオ安定化を効率的に提供するために使用され得る例示的な変換を示す図である。EISと連続ズームとの組合せは、3つのホモグラフィまたは変換の組合せとして解釈され得る。
この例では、画像フレーム611は、第2のカメラ110bによってキャプチャされた画像フレームを表す。図に表される複数の変換を通して、画像データは、視覚的アーチファクト(例えば、ローリングシャッタ、OISの動きなど)を除去するように処理され、第1のカメラ110aの視野と整列され、前述のEIS技術を使用して安定化される。別個の変換610、620、630は、様々な画像611~614と同様に、例示の目的で示されている。実現例は、中間画像を別に生成する必要なく、論じた動作および機能を組み合わせることができる。
第1の変換610は、実際の副カメラ110b(たとえば、望遠カメラ)からのキャプチャされた画像611に対して動作し、画像611を正準の第2のカメラ画像612に変換する。変換610は、正準の第2のカメラ画像612がOISの動きを含まず、ローリングシャッタを含まず、固定焦点距離を含み、フレーム中心での回転を伴うように、画像611の画像データを調整する。いくつかの実現例では、第1の変換610は、画像611のキャプチャの過程にわたる第2のカメラ110bの動き、画像611のキャプチャの過程にわたる焦点距離の変化、画像611のキャプチャ中のOISシステムの動きなどの影響を除去または低減するために、画像611の各画像走査線を個々に調整してもよい。この変換610は、sec_canHsec、つまり第2のカメラビュー(「sec」)から正準の第2のカメラビュー(「sec_can」)への変換として表される。画像611のキャプチャ中にOIS安定化が使用されてもよいが、画像611も画像612もEIS処理を使用して安定化されていない。
第2変換620は、正準の第2のカメラ画像612から正準の第1のカメラ画像613への変換である。これは、画像データを画像612の同じ正準空間内に維持することができるが、画像データを、主カメラ、例えば、第1の(例えば、広角)カメラ110aによってキャプチャされるシーンに整列させることができる。この変換620は、第2のカメラ110bと第1のカメラ110aとの間の空間的差異を補正することができる。2つのカメラ110a、110bは、それらの間の空間的オフセットおよび潜在的に位置または向きにおける他の差異を伴って、電話または他のデバイス上に位置する。第2の変換612は、これらの差異を補正して、画像612を第1のカメラ110aの視野の対応する部分に投影することができる。加えて、カメラ110a、110bのビュー間の差は、現在の焦点深度に応じて変動し得る。例えば、カメラ110a、110bの一方または両方は、焦点距離に応じて有効視野を調整するフォーカスブリージングを経験する場合がある。第2の変換620は、これらの差異を考慮に入れることができ、デバイス102が、焦点距離を使用して、主カメラ正準視野に対する画像612の整列を微調整することを可能にする。典型的には、OIS位置等のための同じ正準パラメータが、主カメラ正準表現および副カメラ正準表現の両方のために使用されるが、差異がある場合、これらは、第2の変換620を使用することに関して補正されることができる。
第3の変換620は、安定化された画像614を生成するために、画像613にEISを適用する。例えば、この変換620は、正準主カメラビューからの画像データを、カメラ位置が平滑化またはフィルタリングされる仮想カメラビューに変換することができる。例えば、この変換630は、図3に関して上で論じた第2の投影とすることができ、仮想カメラ位置が経時的にフィルタリングされ、フレーム間の位置の変化が用いられ、動きがぼやけに起因して潜在的に許容され、パニング対偶発的な動きの可能性が考慮され、出力フレームを満たすための将来の動きまたは調整の適応が実行されるなどする。EIS処理は、処理されている現在のフレーム、ならびに前のフレームのウィンドウおよび将来のフレームのウィンドウを使用して実行され得る。当然ながら、EIS処理は、処理に必要な「将来のフレーム」を収集する画像キャプチャタイミングから遅れ得る。
上述のように、変換610、620、630は、効率のために組み合わせるかまたは統合することができ、中間画像612および613を生成する必要はない。むしろ、デバイス102は、適切な変換610、620、630を決定し、第1のカメラ110aを使用してキャプチャされた画像から生成された安定化された画像データと整列され、それと一貫する安定化された画像614を直接生成してもよい。
図6の例は、第2のカメラ110bからのビデオフレームから第1のカメラ110aの安定化された空間への変換を示すが、これは、ズームレベルが第2のカメラ110bの視野と同じかまたはそれより小さい視野に対応するときに使用される。第1のカメラ110aが使用される場合、例えば、視野が第2のカメラ110bの視野よりも大きい場合、2つの変換のみが必要とされる。第1の変換610と同様に、ビデオフレームの異なる走査線に対して変化する条件などの時間依存の影響をキャプチャされた画像から除去するために変換が適用される。変換610と同様に、これはローリングシャッタ、OIS位置などを補償する。しかしながら、変換は、画像データを主カメラ(例えば、カメラ110a)の正準カメラ空間に直接投影する。主カメラの正準カメラ空間から、EIS変換、例えば、変換630のみが必要とされる。したがって、画像データが主カメラを使用してキャプチャされるとき、2つのカメラ110a、110bの空間特性を関係付ける必要はなく、なぜならば、全体的な画像キャプチャおよびEIS処理が、たとえば、主カメラのための正準の非時間依存基準フレームから、主カメラのための基準フレームにおいて一貫して行われるからである。
図6の処理は、第2のカメラ110bの出力を第1のカメラ110aの安定化された出力に変換またはマッピングするために使用され得る様々なプロセスを示す。これは、ビデオキャプチャおよび記録中に、異なるカメラ110a、110bによってキャプチャされたビデオを使用する間に遷移するときのビューにおける一貫性を提供する。例えば、第2のカメラ110bからのビデオは、第1のカメラ110aからのビデオと整列させられるが、視野を正しい位置に位置決めするだけでなく、EIS特性も整合させる。その結果、画像キャプチャ中の(例えば、閾値ズームレベルを上回るまたは下回るデジタルズームによる)カメラ間の切り替えは、EISがアクティブである状態で、カメラ110a、110b間の遷移点におけるぎくしゃくした動き、突然の画像シフトまたはビューのシフト、および目に見えるビデオの滑らかさのシフト(たとえば、EIS適用における変化)を最小限に抑えるかまたは回避する方法でビデオフィードを整合させて、行うことができる。この技術の別の利点は、カメラ110aからのビデオを、第2のカメラ110bとの一貫性のためにいかなる調整または処理も伴わずに使用することができることである。第2のカメラ110bの出力のみが調整され、第1のカメラ110aのビューおよび特性に対して一貫するように整列させられる。
デバイス102はまた、異なるカメラ110a、110bを使用してキャプチャされるビデオの特性をより良く合致させるように、ビデオキャプチャ中に、ビデオキャプチャ設定を調整することができる。例えば、第1のカメラ110aを使用するキャプチャから第2のカメラ110bを使用するキャプチャに遷移するとき、デバイス102は、遷移の直前に第1のカメラ110aのために使用されている、焦点距離、OISパラメータ(例えば、OISが有効にされているかどうか、適用されるOISの強度またはレベルなど)、露出設定(例えば、ISO、センサ感度、ゲイン、フレームキャプチャ時間またはシャッタ速度など)などの特性を判断することができる。デバイス102は、次いで、第2のカメラ110bに、それらの設定、または同等の結果を提供する設定を、第2のカメラ110bのためのキャプチャのために使用させることができる。
これは、第2のカメラ110bからのビデオを、記録されたビデオに含めるために、遷移に先立って設定変更をなすことを伴い得る。たとえば、動作中に調整を行うための時間を提供するために、デバイス102は、カメラ切り替えが適切であるかまたは必要であることを検出し、それに応答して、第1のカメラ110aの現在の設定を判断し、第1のカメラ110aによって使用される設定と同等の設定を使用して開始するように第2のカメラ110bに命令してもよい。これは、例えば、第2のカメラ110bの電源を投入し、第2のカメラ110bのためにOISシステムの安定化を作動および達成し、第1のカメラ110aの露出に合致するように第2のカメラ110bの露出を調整し、第1のカメラ110aの焦点位置に合致するように第2のカメラ110bの焦点位置を設定するなどのために、充分な時間を提供することができる。第2のカメラ110bが、例えば、第1のカメラ110aのビデオキャプチャパラメータと一貫するビデオキャプチャパラメータを用いて、適切なモードで動作していると、デバイス102は、ビデオキャプチャのために第1のカメラ110aを使用することから第2のカメラ110bを使用することに切り替える。同様に、第2のカメラ110bから第1のカメラ110aに遷移するとき、デバイス102は、第2のカメラ110bによって使用されるビデオキャプチャパラメータ値を判断することができ、遷移を行う前に第1のカメラ110aのために対応するビデオキャプチャパラメータ値を設定することができる。
いくつかの実現例について説明した。それにもかかわらず、本開示の精神および範囲から逸脱することなく、様々な修正がなされ得ることが理解されるであろう。例えば、上に示されたフローを、ステップを並べ替え、追加し、または除去して、様々な形態で用いてもよい。別の例示的修正として、上記の説明は、主に、画像データの処理が、第1および/または第2のカメラによってビデオをキャプチャしている間に実行されることを説明しているが、いくつかの実現例では、第2のカメラのための第2の正準基準空間への第1の変換、第2の正準基準空間から第1のカメラのための第1の正準基準空間への第2の変換、および第1のカメラのための第1の正準基準空間内の画像データに電子画像安定化を適用するための第3の変換が、代わりに、(デバイス102または別の、例えば遠隔デバイスによって、)後で、例えばビデオがもはやキャプチャされていないときに適用されてもよいことが理解されるであろう。
本発明の実施形態および本明細書に記載される機能的動作のすべては、デジタル電子回路において、または本明細書に開示される構造およびそれらの構造的等価物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらの1つ以上の組み合わせにおいて実現され得る。本発明の実施形態は、1つ以上のコンピュータプログラム製品、たとえば、データ処理装置によって実行するために、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実現され得る。コンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、メモリデバイス、機械可読伝搬信号をもたらす物質の組成、またはそれらの1つ以上の組み合わせであり得る。「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、当該コンピュータプログラムの実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組合せを構成するコードを含むことができる。伝搬信号は、人工的に生成された信号、例えば、好適な受信機装置への伝送のために情報を符号化するために生成される、機械生成電気、光学、または電磁信号である。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとしても公知である)は、コンパイル型言語または解釈型言語を含む任意の形式のプログラミング言語で記述され得、それは、スタンドアロンプログラムとして、または、モジュール、コンポーネント、サブルーチン、もしくは、コンピューティング環境で使用するのに好適な他のユニットとして含む、任意の形態で展開され得る。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部分(例えば、マークアップ言語ドキュメントに格納された1つ以上のスクリプト)、当該プログラムに専用の単一ファイル、または複数の協調ファイル(たとえば、1つ以上のモジュール、サブプログラム、もしくはコードの一部を記憶するファイル)に記憶することができる。コンピュータプログラムは、1つのコンピュータ、または1つのサイトに位置し、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開され得る。
本明細書に記載されるプロセスおよび論理フローは、入力データを操作し出力を生成することにより機能を実行するよう1つ以上のプログラマブルプロセッサが1つ以上のコンピュータプログラムを実行することによって実行され得る。本プロセスおよび論理フローの実行、ならびに本装置の実施は、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった特殊目的論理回路系によってもなされ得る。
コンピュータプログラムの実行に好適であるプロセッサは、例として、汎用マイクロプロセッサおよび特殊目的マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。概して、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリまたは両方から命令およびデータを受信することになる。コンピュータの必須要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つ以上のメモリデバイスである。一般に、コンピュータはさらに、たとえば磁気ディスク、光磁気ディスクまたは光ディスクといった、データを格納するための1つ以上の大容量記憶装置を含むか、当該1つ以上の大容量記憶装置からデータを受取るかもしくは当該1つ以上の大容量記憶装置にデータを転送するよう作動的に結合されるか、またはその両方を行うことにもなる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、ほんの数例を挙げると、タブレットコンピュータ、携帯電話、携帯情報端末(PDA)、モバイルオーディオプレーヤ、全地球測位システム(GPS)受信機に組み込まれ得る。コンピュータプログラム命令およびデータを格納するのに好適であるコンピュータ可読媒体は、例として、たとえばEPROM、EEPROMおよびフラッシュメモリデバイスといった半導体メモリデバイスを含むすべての形態の不揮発性メモリ、媒体およびメモリデバイス;たとえば内部ハードディスクまたはリムーバブルディスクといった磁気ディスク;光磁気ディスク;ならびにCD-ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、特殊目的論理回路によって補足され得るか、または特殊目的論理回路に組み込まれ得る。
ユーザとの対話を提供するために、本発明の実施形態は、ユーザに情報を表示するための表示装置、例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータ上で実現することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもでき;例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得;ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受信され得る。
本発明の実施形態は、たとえばデータサーバとしてバックエンドコンポーネントを含む計算システムにおいて実現され得るか、たとえばアプリケーションサーバといったミドルウェアコンポーネントを含む計算システムにおいて実現され得るか、たとえば本発明の実現例とユーザが対話することが可能であるグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータといったフロントエンドコンポーネントを含む計算システムにおいて実現され得るか、または1つ以上のそのようなバックエンドコンポーネント、ミドルウェアコンポーネントもしくはフロントエンドコンポーネントの任意の組合せの計算システムにおいて実現され得る。システムの構成要素は、デジタルデータ通信の任意の形態または媒体、例えば、通信ネットワークによって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、例えばインターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは一般に互いから遠隔にあり、典型的には通信ネットワークを通じて対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されるとともに互いに対してクライアント-サーバ関係を有するコンピュータプログラムによって生ずる。
本明細書は多くの詳細を含むが、これらは、本発明の範囲または特許請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ、本発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。本明細書において別々の実施形態の文脈で記載される特定の特徴は、単一の実施形態において組合せでも実現され得る。逆に、単一の実施形態の文脈において記載されるさまざまな特徴も、複数の実施形態において別々に、または任意の好適な部分的組合わせでも実現され得る。さらに、特徴は、ある組合せにおいて作用すると上で記載され、最初はそのように請求されていさえする場合もあるが、請求される組合せからの1つ以上の特徴はいくつかの場合には当該組合せから削除され得、請求される組合せは、部分的組合わせまたは部分的組合わせの変形例に向けられ得る。
同様に、動作が図においては特定の順に示されているが、そのような動作は、望ましい結果を達成するために、示された当該特定の順もしくは連続した順で実行される必要があると理解されるべきではなく、または、すべての示された動作が実行される必要があると理解されるべきではない。特定の状況では、マルチタスク化および並列処理化が有利である場合もある。さらに、上述の実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とすると理解されるべきではなく、記載されるプログラムコンポーネントおよびシステムは一般に単一のソフトウェア製品に統合され得るかまたは複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
本発明の特定の実施形態について説明してきた。他の実施形態は以下の請求の範囲内にある。たとえば、請求項において記載されるステップは、異なる順で実行され得、それでも望ましい結果を達成し得る。
Claims (15)
- 方法であって、
第1のカメラおよび第2のカメラを有するビデオキャプチャデバイスが、ビデオ記録中にデジタルズーム範囲内でユーザ指定の倍率変更を可能にするデジタルズーム機能を提供することを含み、前記ビデオキャプチャデバイスは、(i)前記デジタルズーム範囲の第1の部分にわたって前記第1のカメラによってキャプチャされたビデオデータを使用し、(ii)前記デジタルズーム範囲の第2の部分にわたって前記第2のカメラによってキャプチャされたビデオデータを使用するよう構成され、前記方法はさらに、
前記デジタルズーム範囲の前記第2の部分において、あるズームレベルを提供するために、前記ビデオキャプチャデバイスの前記第2のカメラを使用してビデオをキャプチャする間に、(i)前記第2のカメラのための第2の正準基準空間への第1の変換と、(ii)前記第2のカメラのための前記第2の正準基準空間から前記第1のカメラのための第1の正準基準空間への第2の変換と、(iii)前記第1のカメラのための前記第1の正準基準空間内の画像データに電子画像安定化を適用するための第3の変換と含む変換のセットを適用することによって、前記第2のカメラを使用してキャプチャされた画像データを処理することを含む、方法。 - 前記方法はさらに、
前記デジタルズーム範囲の前記第1の部分において、あるズームレベルを提供するために、前記ビデオキャプチャデバイスの前記第1のカメラを使用してビデオをキャプチャする間に、(i)前記第1のカメラのための前記第1の正準基準空間への前記第1の変換と、(ii)前記第1のカメラのための前記第1の正準基準空間内の画像データに電子画像安定化を適用するための前記第3の変換とを含む変換のセットを適用することによって、前記第2のカメラを使用してキャプチャされた画像データを処理することを含む、請求項1に記載の方法。 - 前記第1のカメラおよび前記第2のカメラは、異なる視野を有し、(i)前記第2のカメラの視野は、前記第1のカメラの視野内に含まれ、または(ii)前記第1のカメラの前記視野は、前記第2のカメラの前記視野内に含まれる、請求項1または2に記載の方法。
- 前記第1のカメラおよび前記第2のカメラは、各々、固定焦点距離レンズアセンブリを含む、請求項1~3のいずれか1項に記載の方法。
- 前記第2のカメラのための前記第2の正準基準空間および前記第1のカメラのための前記第1の正準基準空間は、画像データを前記正準基準空間に投影することがビデオフレームのキャプチャ中の時間依存の影響を除去するように、所定の固定された組のカメラ固有特性によって定義される概念的カメラ空間である、請求項1~4のいずれか1項に記載の方法。
- 前記第1のカメラは、光学画像安定化(OIS)システムを含み、前記第1のカメラのための前記第1の正準基準空間は、画像データが、一貫した所定のOIS位置を有して、表されるか、または、
前記第2のカメラは、光学画像安定化(OIS)システムを含み、前記第2のカメラのための前記第2の正準基準空間は、画像データが、一貫した所定のOIS位置を有して、表されるものである、請求項5に記載の方法。 - 前記第1のカメラは、画像フレームの画像走査線を漸進的にキャプチャする画像データを提供し、前記第1のカメラのための前記第1の正準基準空間は、画像データが、前記画像走査線の漸進的キャプチャに起因する歪みを除去するように、補正されたものであるか、または、
前記第2のカメラは、画像フレームの画像走査線を漸進的にキャプチャする画像データを提供し、前記第2のカメラのための前記第2の正準基準空間は、画像データが、前記画像走査線の漸進的キャプチャに起因する歪みを除去するように、補正されたものである、請求項6に記載の方法。 - 前記第2の変換は、前記第2のカメラの視野を前記第1のカメラの視野に整列させ、前記第1のカメラと前記第2のカメラとの間の空間オフセットを調整する、請求項1~7のいずれか1項に記載の方法。
- 前記第1の変換、前記第2の変換、および前記第3の変換は各々、対応するホモグラフィ行列を有し、前記画像データを処理することは、前記ホモグラフィ行列を適用することを含む、請求項1~8のいずれか1項に記載の方法。
- 前記方法はさらに、
前記第1のカメラを使用するビデオデータのキャプチャ、および電子画像安定化を適用するための前記第1のカメラからのビデオデータの処理中に、前記デジタルズーム範囲の前記第2の部分における特定のズームレベルへのズームレベルの変化を示すユーザ入力を受信することと、
前記ユーザ入力を受信することに応じて、
所定のズームレベルに達するまで、前記第1のカメラを使用してキャプチャされるビデオフレームの倍率が漸増的に増加される、ビデオフレームのシーケンスを記録することと、
前記第2のカメラを使用してビデオキャプチャを開始することと、
前記第2のカメラを使用してキャプチャされるビデオフレームの第2のシーケンスを記録することとを含み、前記ビデオフレームの第2のシーケンスは、前記所定のズームレベルを提供し、前記特定のズームレベルに達するまで、前記第2のカメラを使用してキャプチャされるビデオフレームの、増加する倍率を提供する、請求項1~9のいずれか1項に記載の方法。 - 前記第1の変換は、前記第2のカメラを使用してキャプチャされる画像データの異なる走査線に対する複数の異なる調整を含み、
前記第2の変換は、前記第2のカメラの焦点距離に少なくとも部分的に基づいて決定され、
前記第3の変換は、ビデオフレームのために、前記ビデオフレームのうちの特定のビデオフレームごとに、前記特定のビデオフレームの前の1つ以上のビデオフレームと前記特定のビデオフレームの後の1つ以上のビデオフレームとを使用する電子画像安定化を含む、請求項1~10のいずれか1項に記載の方法。 - 前記第2のカメラは、前記第1のカメラよりも小さい視野を有し、
前記方法はさらに、
前記第1のカメラを使用する画像キャプチャ中に、ビデオキャプチャに対してズームレベルの変更を示すユーザ入力を受信することと、
前記ユーザ入力を受信することに応じて、前記変更されたズームレベルが所定の遷移ズームレベル以上であるか否かを判定することとを含み、前記所定の遷移ズームレベルは、前記第2のカメラの前記視野よりも小さい視野を表す、請求項1~11のいずれか1項に記載の方法。 - 前記方法はさらに、
(i)前記第1のカメラを使用するビデオキャプチャから前記第2のカメラを使用するビデオキャプチャに遷移するための第1の遷移ズームレベルと、(ii)前記第2のカメラを使用するビデオキャプチャから前記第1のカメラを使用するビデオキャプチャに遷移するための第2の遷移ズームレベルとを示すデータを記憶することを含み、前記第1の遷移ズームレベルは前記第2の遷移ズームレベルとは異なり、前記方法はさらに、
(i)要求されたズームレベルが視野の減少に対応するとき、前記要求されたズームレベルを前記第1の遷移ズームレベルと比較することと、(ii)前記要求されたズームレベルが視野の増加に対応するとき、前記要求されたズームレベルを前記第2の遷移ズームレベルと比較することとによって、ビデオキャプチャのためにカメラ間で切り替えるかどうかを決定することを含む、請求項1~12のいずれか1項に記載の方法。 - 前記方法はさらに、
ビデオファイルの記録中に、前記第1のカメラおよび前記第2のカメラのうちの特定のカメラを使用してビデオをキャプチャすることから、前記第1のカメラおよび前記第2のカメラのうちの別のカメラを使用してビデオをキャプチャすることに切り替えることを決定することと、
前記切り替えることを決定することに応答して、
前記特定のカメラを使用する画像キャプチャのために使用されているビデオキャプチャパラメータの値を判断することと、
前記判断されたビデオキャプチャパラメータに基づいて、前記別のカメラに対するビデオキャプチャパラメータの値を設定することと、
前記別のカメラに対する前記ビデオキャプチャパラメータの前記値を設定した後、前記第2のカメラからのビデオキャプチャを開始し、前記第2のカメラからのキャプチャされたビデオを前記ビデオファイルに記録することとを含み、
前記ビデオキャプチャパラメータを設定することは、前記第2のカメラについて、露出、画像センサ感度、ゲイン、画像キャプチャ時間、開口サイズ、レンズ焦点距離、OISステータス、またはOISレベルのうちの1つ以上を調整することを含む、請求項1~13のいずれか1項に記載の方法。 - ビデオキャプチャデバイスであって、
第1の視野を有する第1のカメラと、
第2の視野を有する第2のカメラと、
1つ以上の位置または向きセンサと、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されると請求項1~14のいずれか1項に記載の方法を実行させる命令を記憶する1つ以上のデータ記憶装置とを備える、ビデオキャプチャデバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/941,775 | 2020-07-29 | ||
US16/941,775 US11190689B1 (en) | 2020-07-29 | 2020-07-29 | Multi-camera video stabilization |
PCT/US2021/040378 WO2022026126A1 (en) | 2020-07-29 | 2021-07-02 | Multi-camera video stabilization |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023536674A true JP2023536674A (ja) | 2023-08-29 |
JPWO2022026126A5 JPWO2022026126A5 (ja) | 2024-07-03 |
Family
ID=77168422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022536617A Pending JP2023536674A (ja) | 2020-07-29 | 2021-07-02 | マルチカメラビデオ安定化 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11190689B1 (ja) |
EP (1) | EP4052456A1 (ja) |
JP (1) | JP2023536674A (ja) |
KR (1) | KR20230044137A (ja) |
CN (1) | CN114788260A (ja) |
DE (1) | DE112021000208T5 (ja) |
WO (1) | WO2022026126A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10462370B2 (en) | 2017-10-03 | 2019-10-29 | Google Llc | Video stabilization |
US10171738B1 (en) | 2018-05-04 | 2019-01-01 | Google Llc | Stabilizing video to reduce camera and face movement |
WO2020259839A1 (en) * | 2019-06-27 | 2020-12-30 | Huawei Technologies Co., Ltd. | Multifocal display device and method |
US11190689B1 (en) | 2020-07-29 | 2021-11-30 | Google Llc | Multi-camera video stabilization |
US11968453B2 (en) * | 2020-08-12 | 2024-04-23 | Corephotonics Ltd. | Optical image stabilization in a scanning folded camera |
KR20220025600A (ko) * | 2020-08-24 | 2022-03-03 | 삼성전자주식회사 | 영상 생성 방법 및 장치 |
KR102274270B1 (ko) * | 2020-12-10 | 2021-07-08 | 주식회사 케이티앤씨 | 홍채인식범위 확장을 위한 홍채 영상 획득시스템 |
US11610338B2 (en) * | 2021-03-26 | 2023-03-21 | Fotonation Limited | Method of controlling a camera |
KR20230023506A (ko) * | 2021-08-10 | 2023-02-17 | 삼성전자주식회사 | 이미지 안정화를 수행하는 전자 장치 및 그의 동작 방법 |
US20230222754A1 (en) * | 2022-01-07 | 2023-07-13 | Sony Interactive Entertainment Inc. | Interactive video playback techniques to enable high fidelity magnification |
WO2023139528A1 (en) * | 2022-01-21 | 2023-07-27 | Swiss Rig Gmbh | Algorithmic camera zoom controller method |
US20230254437A1 (en) * | 2022-02-07 | 2023-08-10 | Samsung Electronics Co., Ltd. | Perspective de-skewing of electronic images |
WO2024025182A1 (ko) * | 2022-07-26 | 2024-02-01 | 삼성전자 주식회사 | 복수 개의 카메라를 이용하여 영상을 획득하는 전자 장치 및 그 방법 |
WO2024072722A1 (en) * | 2022-09-29 | 2024-04-04 | Google Llc | Smooth continuous zooming in a multi-camera system by image-based visual features and optimized geometric calibrations |
WO2024076363A1 (en) * | 2022-10-04 | 2024-04-11 | Google Llc | Field of view correction techniques for shutterless camera systems |
WO2024076176A1 (ko) * | 2022-10-07 | 2024-04-11 | 삼성전자 주식회사 | 카메라를 제어하는 방법 및 전자 장치 |
CN116320784B (zh) * | 2022-10-27 | 2023-11-28 | 荣耀终端有限公司 | 图像处理方法及装置 |
Family Cites Families (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4637571A (en) | 1985-09-03 | 1987-01-20 | The United States Of America As Represented By The Secretary Of The Army | Electronic image stabilization |
GB2220319B (en) | 1988-07-01 | 1992-11-04 | Plessey Co Plc | Improvements in or relating to image stabilisation |
US20030038927A1 (en) | 2001-08-27 | 2003-02-27 | Alden Ray M. | Image projector with integrated image stabilization for handheld devices and portable hardware |
EP1512047A4 (en) | 2002-06-12 | 2008-03-05 | Silicon Optix Inc | AUTOMATIC KEYSTONE CORRECTION SYSTEM AND METHOD |
KR20040077240A (ko) | 2003-02-28 | 2004-09-04 | 주식회사 대우일렉트로닉스 | 타임랩스 영상 녹화/재생장치에서 움직임 검출에 따른녹화 속도 제어방법 |
US8199222B2 (en) | 2007-03-05 | 2012-06-12 | DigitalOptics Corporation Europe Limited | Low-light video frame enhancement |
US7420592B2 (en) | 2004-06-17 | 2008-09-02 | The Boeing Company | Image shifting apparatus for enhanced image resolution |
US7643062B2 (en) | 2005-06-08 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Method and system for deblurring an image based on motion tracking |
JP4340915B2 (ja) | 2006-02-01 | 2009-10-07 | ソニー株式会社 | 撮像画像信号の歪み補正方法、撮像画像信号の歪み補正装置、撮像方法および撮像装置 |
US7697725B2 (en) | 2006-04-03 | 2010-04-13 | Sri International | Method and apparatus for autonomous object tracking |
US7952612B2 (en) | 2006-06-22 | 2011-05-31 | Nokia Corporation | Method and system for image construction using multiple exposures |
US8781162B2 (en) | 2011-01-05 | 2014-07-15 | Ailive Inc. | Method and system for head tracking and pose estimation |
JP4702233B2 (ja) | 2006-09-11 | 2011-06-15 | ソニー株式会社 | 画像データ処理装置および画像データ処理方法 |
KR100819301B1 (ko) | 2006-12-20 | 2008-04-03 | 삼성전자주식회사 | 모바일 기기용 카메라 모듈의 손떨림 보정 방법 및 장치 |
US7559017B2 (en) * | 2006-12-22 | 2009-07-07 | Google Inc. | Annotation framework for video |
US7796872B2 (en) | 2007-01-05 | 2010-09-14 | Invensense, Inc. | Method and apparatus for producing a sharp image from a handheld device containing a gyroscope |
WO2008086293A2 (en) | 2007-01-05 | 2008-07-17 | Nestor, Inc. | A system and method for measuring the speed of vehicles or other objects |
WO2008114264A2 (en) | 2007-03-21 | 2008-09-25 | Mantis Vision Ltd | A method and apparatus for video image stabilization |
JP5111088B2 (ja) | 2007-12-14 | 2012-12-26 | 三洋電機株式会社 | 撮像装置及び画像再生装置 |
JP4539729B2 (ja) | 2008-02-15 | 2010-09-08 | ソニー株式会社 | 画像処理装置、カメラ装置、画像処理方法、およびプログラム |
JP5075757B2 (ja) | 2008-08-05 | 2012-11-21 | オリンパス株式会社 | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 |
US8102428B2 (en) | 2008-08-28 | 2012-01-24 | Adobe Systems Incorporated | Content-aware video stabilization |
JP5144487B2 (ja) | 2008-12-15 | 2013-02-13 | キヤノン株式会社 | 主顔選択装置、その制御方法、撮像装置及びプログラム |
KR101547556B1 (ko) | 2009-02-06 | 2015-08-26 | 삼성전자주식회사 | 이미지 표시 방법 및 장치 |
US8970690B2 (en) | 2009-02-13 | 2015-03-03 | Metaio Gmbh | Methods and systems for determining the pose of a camera with respect to at least one object of a real environment |
WO2011046633A1 (en) | 2009-10-14 | 2011-04-21 | Zoran Corporation | Method and apparatus for image stabilization |
US8599238B2 (en) | 2009-10-16 | 2013-12-03 | Apple Inc. | Facial pose improvement with perspective distortion correction |
US8553275B2 (en) * | 2009-11-09 | 2013-10-08 | Xerox Corporation | Architecture for controlling placement and minimizing distortion of images |
US8416277B2 (en) | 2009-12-10 | 2013-04-09 | Apple Inc. | Face detection as a metric to stabilize video during video chat session |
US8558903B2 (en) | 2010-03-25 | 2013-10-15 | Apple Inc. | Accelerometer / gyro-facilitated video stabilization |
US10614289B2 (en) | 2010-06-07 | 2020-04-07 | Affectiva, Inc. | Facial tracking with classifiers |
US20120050570A1 (en) | 2010-08-26 | 2012-03-01 | Jasinski David W | Audio processing based on scene type |
US10032254B2 (en) | 2010-09-28 | 2018-07-24 | MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. | Method and device for recovering a digital image from a sequence of observed digital images |
WO2012064106A2 (en) | 2010-11-12 | 2012-05-18 | Samsung Electronics Co., Ltd. | Method and apparatus for video stabilization by compensating for view direction of camera |
US9077890B2 (en) | 2011-02-24 | 2015-07-07 | Qualcomm Incorporated | Auto-focus tracking |
GB2492529B (en) | 2011-05-31 | 2018-01-10 | Skype | Video stabilisation |
US8913140B2 (en) | 2011-08-15 | 2014-12-16 | Apple Inc. | Rolling shutter reduction based on motion sensors |
US8493459B2 (en) | 2011-09-15 | 2013-07-23 | DigitalOptics Corporation Europe Limited | Registration of distorted images |
TWI469062B (zh) | 2011-11-11 | 2015-01-11 | Ind Tech Res Inst | 影像穩定方法及影像穩定裝置 |
FR2982678B1 (fr) | 2011-11-14 | 2014-01-03 | Dxo Labs | Procede et systeme de capture de sequence d'images avec compensation des variations de grandissement |
US9246543B2 (en) | 2011-12-12 | 2016-01-26 | Futurewei Technologies, Inc. | Smart audio and video capture systems for data processing systems |
US8743222B2 (en) | 2012-02-14 | 2014-06-03 | Nokia Corporation | Method and apparatus for cropping and stabilization of video images |
CN104246795B (zh) | 2012-03-01 | 2019-01-01 | Geo半导体有限公司 | 用于超广角透镜图像的自适应透视修正的方法和系统 |
US20130314558A1 (en) | 2012-05-24 | 2013-11-28 | Mediatek Inc. | Image capture device for starting specific action in advance when determining that specific action is about to be triggered and related image capture method thereof |
EP2680616A1 (en) | 2012-06-25 | 2014-01-01 | LG Electronics Inc. | Mobile terminal and audio zooming method thereof |
US9280810B2 (en) | 2012-07-03 | 2016-03-08 | Fotonation Limited | Method and system for correcting a distorted input image |
US8928730B2 (en) | 2012-07-03 | 2015-01-06 | DigitalOptics Corporation Europe Limited | Method and system for correcting a distorted input image |
US8736692B1 (en) | 2012-07-09 | 2014-05-27 | Google Inc. | Using involuntary orbital movements to stabilize a video |
JP6097522B2 (ja) | 2012-10-22 | 2017-03-15 | キヤノン株式会社 | 像ブレ補正装置及び像ブレ補正方法、撮像装置 |
US9288395B2 (en) | 2012-11-08 | 2016-03-15 | Apple Inc. | Super-resolution based on optical image stabilization |
CN105556944B (zh) | 2012-11-28 | 2019-03-08 | 核心光电有限公司 | 多孔径成像系统和方法 |
CN103853908B (zh) | 2012-12-04 | 2017-11-14 | 中国科学院沈阳自动化研究所 | 一种自适应交互式多模型的机动目标跟踪方法 |
US9071756B2 (en) | 2012-12-11 | 2015-06-30 | Facebook, Inc. | Systems and methods for digital video stabilization via constraint-based rotation smoothing |
JP5997645B2 (ja) | 2013-03-26 | 2016-09-28 | キヤノン株式会社 | 画像処理装置及び方法、及び撮像装置 |
US9232138B1 (en) | 2013-06-03 | 2016-01-05 | Amazon Technologies, Inc. | Image stabilization techniques |
CN109040553B (zh) | 2013-06-13 | 2021-04-13 | 核心光电有限公司 | 双孔径变焦数字摄影机 |
US10474921B2 (en) | 2013-06-14 | 2019-11-12 | Qualcomm Incorporated | Tracker assisted image capture |
US9857568B2 (en) | 2013-07-04 | 2018-01-02 | Corephotonics Ltd. | Miniature telephoto lens assembly |
CN108535839B (zh) | 2013-07-04 | 2022-02-08 | 核心光电有限公司 | 小型长焦透镜套件 |
CN108989648B (zh) | 2013-08-01 | 2021-01-15 | 核心光电有限公司 | 具有自动聚焦的纤薄多孔径成像系统及其使用方法 |
US9898856B2 (en) | 2013-09-27 | 2018-02-20 | Fotonation Cayman Limited | Systems and methods for depth-assisted perspective distortion correction |
US9952756B2 (en) | 2014-01-17 | 2018-04-24 | Intel Corporation | Dynamic adjustment of a user interface |
US9357132B2 (en) | 2014-05-30 | 2016-05-31 | Apple Inc. | Video rolling shutter correction for lens movement in optical image stabilization cameras |
US9413963B2 (en) | 2014-05-30 | 2016-08-09 | Apple Inc. | Video image stabilization |
US20150362989A1 (en) | 2014-06-17 | 2015-12-17 | Amazon Technologies, Inc. | Dynamic template selection for object detection and tracking |
WO2015198478A1 (ja) | 2014-06-27 | 2015-12-30 | 株式会社 市川ソフトラボラトリー | 画像歪み補正装置、情報処理装置および画像歪み補正方法 |
US9674438B2 (en) | 2014-07-06 | 2017-06-06 | Apple Inc. | Low light video image stabilization strength modulation |
EP3167417A1 (en) | 2014-07-11 | 2017-05-17 | Google, Inc. | Hands-free offline communications |
CN105306804B (zh) | 2014-07-31 | 2018-08-21 | 北京展讯高科通信技术有限公司 | 智能终端及其视频稳像方法及装置 |
US9392188B2 (en) | 2014-08-10 | 2016-07-12 | Corephotonics Ltd. | Zoom dual-aperture camera with folded lens |
US9596411B2 (en) | 2014-08-25 | 2017-03-14 | Apple Inc. | Combined optical and electronic image stabilization |
US9912865B2 (en) | 2014-10-17 | 2018-03-06 | Light Labs Inc. | Methods and apparatus for supporting burst modes of camera operation |
WO2016097468A1 (en) | 2014-12-19 | 2016-06-23 | Nokia Corporation | Method, apparatus and computer program product for blur estimation |
JP6530602B2 (ja) | 2014-12-22 | 2019-06-12 | キヤノン株式会社 | 撮像装置及びその制御方法 |
WO2016107635A1 (en) | 2014-12-29 | 2016-07-07 | Metaio Gmbh | Method and system for generating at least one image of a real environment |
GB2533788A (en) | 2014-12-30 | 2016-07-06 | Nokia Technologies Oy | Method for determining the position of a portable device |
US10288840B2 (en) | 2015-01-03 | 2019-05-14 | Corephotonics Ltd | Miniature telephoto lens module and a camera utilizing such a lens module |
US9426362B2 (en) | 2015-01-16 | 2016-08-23 | Mems Drive, Inc. | Three-axis OIS for super-resolution imaging |
EP3251366B1 (en) | 2015-01-27 | 2024-01-10 | InterDigital Madison Patent Holdings, SAS | Methods and apparatus for electro-optical and opto-electrical conversion of images and video |
WO2016156996A1 (en) | 2015-04-02 | 2016-10-06 | Corephotonics Ltd. | Dual voice coil motor structure in a dual-optical module camera |
WO2016168415A1 (en) | 2015-04-15 | 2016-10-20 | Lytro, Inc. | Light guided image plane tiled arrays with dense fiber optic bundles for light-field and high resolution image acquisition |
CN108535840B (zh) | 2015-04-16 | 2020-10-23 | 核心光电有限公司 | 紧凑型折叠式相机中的自动对焦和光学图像稳定 |
EP3722860B1 (en) | 2015-05-28 | 2023-04-19 | Corephotonics Ltd. | Bi-directional stiffness for optical image stabilization and auto-focus in a digital camera |
EP3314329B1 (en) | 2015-06-24 | 2019-01-23 | Corephotonics Ltd. | Low profile tri-axis actuator for folded lens camera |
CN107852467B (zh) | 2015-08-13 | 2021-01-26 | 核心光电有限公司 | 具有视频支持和切换/无切换动态控制的双孔径变焦摄影机 |
KR101993077B1 (ko) | 2015-09-06 | 2019-06-25 | 코어포토닉스 리미티드 | 소형의 접이식 카메라의 롤 보정에 의한 자동 초점 및 광학식 손떨림 방지 |
KR102457617B1 (ko) | 2015-09-16 | 2022-10-21 | 한화테크윈 주식회사 | 영상 움직임 추정 방법 및 장치, 영상 안정화 방법 및 장치, 및 컴퓨터 기록매체 |
US9967461B2 (en) | 2015-10-14 | 2018-05-08 | Google Inc. | Stabilizing video using transformation matrices |
CN106709932B (zh) | 2015-11-12 | 2020-12-04 | 创新先进技术有限公司 | 一种人脸位置跟踪方法、装置和电子设备 |
US9953217B2 (en) | 2015-11-30 | 2018-04-24 | International Business Machines Corporation | System and method for pose-aware feature learning |
US9674439B1 (en) | 2015-12-02 | 2017-06-06 | Intel Corporation | Video stabilization using content-aware camera motion estimation |
EP4254926A3 (en) | 2015-12-29 | 2024-01-31 | Corephotonics Ltd. | Dual-aperture zoom digital camera with automatic adjustable tele field of view |
US9773196B2 (en) | 2016-01-25 | 2017-09-26 | Adobe Systems Incorporated | Utilizing deep learning for automatic digital image segmentation and stylization |
US10194089B2 (en) * | 2016-02-08 | 2019-01-29 | Qualcomm Incorporated | Systems and methods for implementing seamless zoom function using multiple cameras |
US9743001B1 (en) | 2016-02-19 | 2017-08-22 | Fotonation Limited | Method of stabilizing a sequence of images |
JP6640620B2 (ja) | 2016-03-17 | 2020-02-05 | ソニーモバイルコミュニケーションズ株式会社 | 画像安定化装置、画像安定化方法及び電子機器 |
US10482663B2 (en) | 2016-03-29 | 2019-11-19 | Microsoft Technology Licensing, Llc | Virtual cues for augmented-reality pose alignment |
KR102469567B1 (ko) | 2016-04-11 | 2022-11-22 | 삼성전자주식회사 | 이미징 장치 및 그 동작 방법 |
CN105741789B (zh) | 2016-05-06 | 2018-06-01 | 京东方科技集团股份有限公司 | 一种高动态对比度显示屏的驱动方法及驱动装置 |
US10027893B2 (en) | 2016-05-10 | 2018-07-17 | Nvidia Corporation | Real-time video stabilization for mobile devices based on on-board motion sensing |
KR102063411B1 (ko) | 2016-05-30 | 2020-01-07 | 코어포토닉스 리미티드 | 회전식 볼-가이드 음성 코일 모터 |
CN112217976B (zh) | 2016-06-19 | 2022-02-08 | 核心光电有限公司 | 用于双孔径摄影机中帧同步的系统 |
CN106101535B (zh) | 2016-06-21 | 2019-02-19 | 北京理工大学 | 一种基于局部及整体运动差异补偿的视频稳定方法 |
US9774798B1 (en) | 2016-06-29 | 2017-09-26 | Essential Products, Inc. | Apparatus and method for a wide field of view image sensor |
CN107770433B (zh) * | 2016-08-15 | 2020-08-04 | 广州立景创新科技有限公司 | 影像获取装置及其影像平顺缩放方法 |
US9888179B1 (en) | 2016-09-19 | 2018-02-06 | Google Llc | Video stabilization for mobile devices |
CN106780674B (zh) | 2016-11-28 | 2020-08-25 | 网易(杭州)网络有限公司 | 镜头移动方法和装置 |
KR102697559B1 (ko) | 2016-12-22 | 2024-08-23 | 삼성전자주식회사 | 영상 표시 방법, 저장 매체 및 전자 장치 |
US10104334B2 (en) | 2017-01-27 | 2018-10-16 | Microsoft Technology Licensing, Llc | Content-adaptive adjustment of display device brightness levels when rendering high dynamic range content |
WO2018154421A1 (en) | 2017-02-23 | 2018-08-30 | Corephotonics Ltd. | Folded camera lens designs |
CN114137790A (zh) | 2017-03-15 | 2022-03-04 | 核心光电有限公司 | 具有全景扫瞄范围的系统、移动电子装置及其方法 |
CN106954024B (zh) | 2017-03-28 | 2020-11-06 | 成都通甲优博科技有限责任公司 | 一种无人机及其电子稳像方法、系统 |
US10957297B2 (en) | 2017-07-25 | 2021-03-23 | Louis Yoelin | Self-produced music apparatus and method |
US10462370B2 (en) | 2017-10-03 | 2019-10-29 | Google Llc | Video stabilization |
US10979814B2 (en) | 2018-01-17 | 2021-04-13 | Beijing Xiaoniao Tingling Technology Co., LTD | Adaptive audio control device and method based on scenario identification |
US10171738B1 (en) | 2018-05-04 | 2019-01-01 | Google Llc | Stabilizing video to reduce camera and face movement |
KR102471595B1 (ko) | 2018-08-08 | 2022-11-28 | 구글 엘엘씨 | 장면의 초해상도 이미지를 생성하기 위한 광학 이미지 안정화 움직임 |
US10665250B2 (en) | 2018-09-28 | 2020-05-26 | Apple Inc. | Real-time feedback during audio recording, and related devices and systems |
CN113472976B (zh) | 2018-10-16 | 2022-11-25 | 华为技术有限公司 | 微距成像的方法及终端 |
US10665204B1 (en) | 2019-10-08 | 2020-05-26 | Capital One Services, Llc | Automatically adjusting screen brightness based on screen content |
US10726579B1 (en) * | 2019-11-13 | 2020-07-28 | Honda Motor Co., Ltd. | LiDAR-camera calibration |
US11190689B1 (en) | 2020-07-29 | 2021-11-30 | Google Llc | Multi-camera video stabilization |
CN111738230B (zh) | 2020-08-05 | 2020-12-15 | 深圳市优必选科技股份有限公司 | 一种人脸识别方法、人脸识别装置及电子设备 |
-
2020
- 2020-07-29 US US16/941,775 patent/US11190689B1/en active Active
-
2021
- 2021-07-02 EP EP21749423.6A patent/EP4052456A1/en active Pending
- 2021-07-02 WO PCT/US2021/040378 patent/WO2022026126A1/en unknown
- 2021-07-02 CN CN202180007086.9A patent/CN114788260A/zh active Pending
- 2021-07-02 DE DE112021000208.2T patent/DE112021000208T5/de active Pending
- 2021-07-02 JP JP2022536617A patent/JP2023536674A/ja active Pending
- 2021-07-02 KR KR1020227020000A patent/KR20230044137A/ko active Search and Examination
- 2021-10-29 US US17/515,187 patent/US11856295B2/en active Active
-
2023
- 2023-11-28 US US18/520,855 patent/US20240107163A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN114788260A (zh) | 2022-07-22 |
US11856295B2 (en) | 2023-12-26 |
KR20230044137A (ko) | 2023-04-03 |
US11190689B1 (en) | 2021-11-30 |
US20240107163A1 (en) | 2024-03-28 |
US20220053133A1 (en) | 2022-02-17 |
EP4052456A1 (en) | 2022-09-07 |
DE112021000208T5 (de) | 2022-09-08 |
WO2022026126A1 (en) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11856295B2 (en) | Multi-camera video stabilization | |
US20230336873A1 (en) | Video Stabilization | |
US9979889B2 (en) | Combined optical and electronic image stabilization | |
US7961222B2 (en) | Image capturing apparatus and image capturing method | |
JP5744217B2 (ja) | 安定化と標的再設定のためのビデオを処理する方法及びシステム | |
WO2008053765A1 (ja) | 画像生成装置および画像生成方法 | |
Bell et al. | A non-linear filter for gyroscope-based video stabilization | |
CN109191506B (zh) | 深度图的处理方法、系统及计算机可读存储介质 | |
CN112585644A (zh) | 在相机摇摄或运动中创建背景模糊的系统及方法 | |
KR102003460B1 (ko) | 왜곡제거장치 및 방법 | |
US20230217067A1 (en) | Producing and adapting video images for presentation displays with different aspect ratios | |
KR101741150B1 (ko) | 영상에디팅을 수행하는 영상촬영장치 및 방법 | |
KR102629883B1 (ko) | 스캐닝 줌 카메라를 갖는 멀티-애퍼처 모바일 카메라에서의 비디오 지원 | |
Peddigari et al. | Real-time implementation of zoom tracking on TI DM processor | |
KR101725932B1 (ko) | 영상에디팅을 수행하는 영상촬영장치 및 방법 | |
KR101206298B1 (ko) | 단일 카메라를 이용한 입체영상 제작 방법 | |
JP2014175739A (ja) | 動画処理装置 | |
KR20070089314A (ko) | 피사체 움직임 정보 제공 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240625 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240625 |