(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022157846
(43)【公開日】2022-10-14
(54)【発明の名称】測距装置及び測距方法
(51)【国際特許分類】
G01S 7/4915 20200101AFI20221006BHJP
G01S 17/894 20200101ALI20221006BHJP
G01S 17/18 20200101ALI20221006BHJP
G01C 3/06 20060101ALI20221006BHJP
【FI】
G01S7/4915
G01S17/894
G01S17/18
G01C3/06 120Q
G01C3/06 140
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2021062304
(22)【出願日】2021-03-31
(71)【出願人】
【識別番号】520423334
【氏名又は名称】ミラクシアエッジテクノロジー株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】松本 弥
(72)【発明者】
【氏名】中前 信崇
(72)【発明者】
【氏名】南 有紀
(72)【発明者】
【氏名】藤井 俊哉
【テーマコード(参考)】
2F112
5J084
【Fターム(参考)】
2F112AD01
2F112BA04
2F112BA07
2F112CA08
2F112CA12
2F112DA04
2F112DA19
2F112DA21
2F112DA25
2F112DA26
2F112DA28
2F112EA03
2F112EA20
2F112FA03
2F112FA07
2F112FA19
2F112FA41
5J084AA05
5J084AA10
5J084AD01
5J084AD06
5J084BA04
5J084BA20
5J084BA34
5J084BA36
5J084BB02
5J084BB20
5J084CA03
5J084CA12
5J084CA19
5J084CA22
5J084CA45
5J084CA70
5J084DA01
5J084DA08
5J084EA04
5J084EA40
(57)【要約】
【課題】さらなる改善を図ることができる測距装置を提供する。
【解決手段】測距装置は、発光パルスと露光パルスとを発生させるパルス生成部10107と、露光パルスに従って画素の信号値を保持する複数のパケットを生成する固体撮像部10105と、測距範囲を分割した複数の距離区間に対応する複数の単位区間において2以上の露光パルスを発生させる複数の第1のパケット生成符号、または、複数の単位区間において2以上の発光パルスを発生させる複数の第2のパケット生成符号に従って、パルス生成部10107を制御する制御部10106と、発光パルスに従って光の照射を行う光源部10102と、固体撮像部10105から出力される複数のパケットに基づき、距離を算出する距離演算部10108と、を備え、制御部10106は、複数の第1のパケット生成符号と、複数の第2のパケット生成符号とを切り換える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
光照射タイミングを指示する発光パルスと、被写体からの反射光の露光タイミングを指示する露光パルスと、を発生させるパルス生成部と、
前記露光パルスに従って画素の信号値を保持する複数のパケットを生成する固体撮像部と、
測距範囲を分割した複数の距離区間に対応する複数の単位区間において2以上の露光パルスを発生させる複数の第1のパケット生成符号、または、前記複数の単位区間において2以上の発光パルスを発生させる複数の第2のパケット生成符号に従って、前記パルス生成部を制御する制御部と、
前記発光パルスに従って光の照射を行う光源部と、
前記固体撮像部から出力される複数のパケットに基づき、距離を算出する距離演算部と、を備え、
前記制御部は、前記複数の第1のパケット生成符号と、前記複数の第2のパケット生成符号とを切り換える
測距装置。
【請求項2】
前記複数の第1のパケット生成符号の数は、n1(n1は4以上の整数)であり、
前記複数の第2のパケット生成符号の数は、n2(n2は4以上の整数)であり、
前記制御部は、
前記複数の第1のパケット生成符号における前記単位区間ごとの露光パルスの有無を示すn1ビットの2進数を第1独立符号として生成し、
前記複数の第2のパケット生成符号における前記単位区間ごとの発光パルスの有無を示すn2ビットの2進数を第2独立符号として生成し、
前記距離演算部は、
前記複数の第1のパケット生成符号に基づいて生成されたn1種類のパケットの信号値を2値化することによりn1ビットの2進数を第1撮像符号として決定し、前記第1独立符号と、前記第1撮像符号と、を比較し、一致する単位区間に対応する距離を算出し、
前記複数の第2のパケット生成符号に基づいて生成されたn2種類のパケットの信号値を2値化することによりn2ビットの2進数を第2撮像符号として決定し、前記第2独立符号と、前記第2撮像符号と、を比較し、一致する単位区間に対応する距離を算出する
請求項1に記載の測距装置
【請求項3】
前記n1は前記n2と等しい
請求項2に記載の測距装置。
【請求項4】
前記第1独立符号のそれぞれは、前記第2独立符号のいずれか1つと同じビットパターンを有する
請求項3に記載の測距装置。
【請求項5】
前記制御部は、
隣接する2個の前記単位区間に対応する2つ前記第1独立符号の各ビットの論理和または論理積により、n1ビットの第1隣接符号を生成し、
隣接する2個の前記単位区間に対応する2つ前記第2独立符号の各ビットの論理和または論理積により、n2ビットの第2隣接符号を生成し、
前記距離演算部は、
前記第1隣接符号と前記第1撮像符号とを比較し、一致する場合に、対応する2つの単位区間の中間的な距離を算出し、
前記第2隣接符号と前記第2撮像符号とを比較し、一致する場合に、対応する2つの単位区間の中間的な距離を算出する
請求項2から4のいずれか1項に記載の測距装置。
【請求項6】
前記複数の第1のパケット生成符号のそれぞれは、前記発光パルスを1回発生させることを示し、
前記複数の第2のパケット生成符号のそれぞれは、前記露光パルスを1回発生させることを示す
請求項1から5のいずれか1項に記載の測距装置。
【請求項7】
前記複数の第1のパケット生成符号のそれぞれは、前記複数の単位区間の先頭の単位区間で発光すべきことを示し、かつ、前記複数の単位区間ごとに露光すべきか否かを示し、
前記複数の第2のパケット生成符号は、前記複数の単位区間ごとに発光すべきか否かを示し、かつ、前記複数の単位区間の末尾の単位区間で露光すべきことを示す
請求項1から6のいずれか1項に記載の測距装置。
【請求項8】
前記制御部は、前記固体撮像部によって生成されたパケットに基づいて背景光量を算出し、算出した背景光量に応じて前記複数の第1のパケット生成符号と、前記複数の第2のパケット生成符号と、を切り替える
請求項1から7のいずれか1項に記載の測距装置。
【請求項9】
前記制御部は、前記測距装置における消費電力を測定し、測定した消費電力に応じて、前記複数の第1のパケット生成符号と、前記複数の第2のパケット生成符号と、を切り替える
請求項1から8のいずれか1項に記載の測距装置。
【請求項10】
前記制御部は、フレームごとに、前記複数の第1のパケット生成符号と、前記複数の第2のパケット生成パターン符号と、を切り替える
請求項1から9のいずれか1項に記載の測距装置。
【請求項11】
前記制御部は、1フレーム内で、前記複数の第1のパケット生成符号と、前記複数の第2のパケット生成符号と、を切り替える
請求項1から9のいずれか1項に記載の測距装置。
【請求項12】
前記複数の第1のパケット生成符号のそれぞれは、前記複数の単位区間を時間的に反転したいずれかの前記第2のパケット生成符号と同じである
請求項1から11のいずれか1項に記載の測距装置。
【請求項13】
光照射タイミングを指示する発光パルスに従って光の照射を行う光源部と、被写体からの反射光の露光タイミングを指示する露光パルス従って画素の信号値を保持する複数のパケットを生成する固体撮像部と、前記固体撮像部から出力される複数のパケットに基づき、距離を算出する距離演算部と、を備える測距装置における測距方法であって、
測距範囲を分割した複数の距離区間に対応する複数の単位区間において2以上の露光パルスを発生させる複数の第1のパケット生成符号、および、前記複数の単位区間において2以上の発光パルスを発生させる複数の第2のパケット生成符号を取得し、
前記複数の第1のパケット生成符号と、前記複数の第2のパケット生成符号とを切り換えながら測距動作を実施する
測距方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、測距装置及び測距方法に関する。
【背景技術】
【0002】
物体を検知する複数の方式の中で、測定対象物まで光が往復する飛行時間を利用して測距を行うTOF(time of flight)方式が知られている。
【0003】
特許文献1には、1回の発光に対し、複数回の露光を行う駆動で、反射光が返ってきた距離スロットを判別し、その後、特定の距離スロットに対し、位相差TOF演算を行うことを開示している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、測距装置においてさらなる改善を図ることが要請されている。
【0006】
上記課題に鑑み、本開示は、さらなる改善を図ることができる測距装置および測距方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本開示の一態様に係る測距装置は、光照射タイミングを指示する発光パルスと、被写体からの反射光の露光タイミングを指示する露光パルスと、を発生させるパルス生成部と、前記露光パルスに従って画素の信号値を保持する複数のパケットを生成する固体撮像部と、測距範囲を分割した複数の距離区間に対応する複数の単位区間において2以上の露光パルスを発生させる複数の第1のパケット生成符号、または、前記複数の単位区間において2以上の発光パルスを発生させる複数の第2のパケット生成符号に従って、前記パルス生成部を制御する制御部と、前記発光パルスに従って光の照射を行う光源部と、前記固体撮像部から出力される複数のパケットに基づき、距離を算出する距離演算部と、を備え、前記制御部は、前記複数の第1のパケット生成符号と、前記複数の第2のパケット生成符号とを切り換える。
【0008】
また、本開示の一態様に係る測距方法は、光照射タイミングを指示する発光パルスに従って光の照射を行う光源部と、被写体からの反射光の露光タイミングを指示する露光パルス従って画素の信号値を保持する複数のパケットを生成する固体撮像部と、前記固体撮像部から出力される複数のパケットに基づき、距離を算出する距離演算部と、を備える測距装置における測距方法であって、測距範囲を分割した複数の距離区間に対応する複数の単位区間において2以上の露光パルスを発生させる複数の第1のパケット生成符号、および、前記複数の単位区間において2以上の発光パルスを発生させる複数の第2のパケット生成符号を取得し、前記複数の第1のパケット生成符号と、前記複数の第2のパケット生成符号とを切り換えながら測距動作を実施する。
【発明の効果】
【0009】
本開示に係る測距装置および測距方法によれば、さらなる改善を図ることができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施の形態1に係るTOF(Time Of Flight)型の測距装置の概略構成を示す図である。
【
図2】
図2は、実施の形態1~2に係わる固体撮像部に配置される1画素の構成を示す図である。
【
図3】
図3は、実施の形態1~2に係わる固体撮像部の構成を示す概略構成を示す図である。
【
図4】
図4は、実施の形態1に係わるフレーム駆動パターンAとフレーム駆動パターンBによる、発光部と固体撮像部の制御シーケンスを示す図である。
【
図5】
図5は、実施の形態1に係わるフレーム駆動パターンAとフレーム駆動パターンBとの動作例を示すタイミングチャートである。
【
図6】
図6は、実施の形態1に係わるパルス生成部で固体撮像部を制御するパケット1から6単位駆動パターンAと、排出駆動パルスと、の生成に使用する、パケット生成パターンAを示す図である。
【
図7】
図7は、実施の形態1に係わるパルス生成部で固体撮像部を制御するパケット1から6単位駆動パターンBと、排出駆動パルスと、の生成に使用する、パケット生成パターンBを示す図である。
【
図8】
図8は、実施の形態1に係わるパケット生成パターンAによるパケット1単位駆動パターンの動作タイミングを説明する図である。
【
図9】
図9は、実施の形態1に係わるパケット生成パターンAによるパケット2単位駆動パターンAの動作タイミングを説明する図である。
【
図10】
図10は、実施の形態1に係わるパケット生成パターンAによるパケット3単位駆動パターンAの動作タイミングを説明する図である。
【
図11】
図11は、実施の形態1に係わるパケット生成パターンAによるパケット4単位駆動パターンAの動作タイミングを説明する図である。
【
図12】
図12は、実施の形態1に係わるパケット生成パターンAによるパケット5単位駆動パターンAの動作タイミングを説明する図である。
【
図13】
図13は、実施の形態1に係わるパケット生成パターンAによるパケット6単位駆動パターンAの動作タイミングを説明する図である。
【
図14】
図14は、実施の形態1に係わるパケット生成パターンBによるパケット1単位駆動パターンBの動作タイミングを説明する図である。
【
図15】
図15は、実施の形態1に係わるパケット生成パターンBによるパケット2単位駆動パターンBの動作タイミングを説明する図である。
【
図16】
図16は、実施の形態1に係わるパケット生成パターンBによるパケット3単位駆動パターンBの動作タイミングを説明する図である。
【
図17】
図17は、実施の形態1に係わるパケット生成パターンBによるパケット4単位駆動パターンBの動作タイミングを説明する図である。
【
図18】
図18は、実施の形態1に係わるパケット生成パターンBによるパケット5単位駆動パターンBの動作タイミングを説明する図である。
【
図19】
図19は、実施の形態1に係わるパケット生成パターンBによるパケット6単位駆動パターンBの動作タイミングを説明する図である。
【
図20】
図20は、実施の形態1~2に係わる固体撮像部からの画素値の読み出しの動作タイミングを説明する図である。
【
図21】
図21は、実施の形態1に係わる距離演算部の構成を示す図である。
【
図22】
図22は、実施の形態1に係わる
図6のパケット生成パターンAを距離演算部のメモリ(LUT)に格納するためのデータを示す図である。
【
図23】
図23は、実施の形態1に係わる
図7のパケット生成パターンBを距離演算部のメモリ(LUT)に格納するためのデータを示す図である。
【
図24】
図24は、実施の形態1に係わる距離演算部の動作タイミングを示す図である。
【
図25】
図25は、実施の形態2に係るTOF(Time Of Flight)型の測距装置の概略構成を示す図である。
【
図26】
図26は、実施の形態2に係わるフレーム駆動パターンCと発光部および固体撮像部の制御シーケンスを示す図である。
【
図27】
図27は、実施の形態2に係わるフレーム駆動パターンCの概略のタイミングチャートである。
【
図28】
図28は、実施の形態2に係わるパケット生成パターンAとパケット生成パターンBとの切り替えを示す図である。
【
図29】
図29は、実施の形態2に係わるパルス生成部で固体撮像部を制御するパケット1から6単位駆動パターンAと、排出駆動パルスと、の生成に使用する、パケット生成パターンAを示す図である。
【
図30】
図30は、実施の形態2に係わるパルス生成部で固体撮像部を制御するパケット1から6単位駆動パターンBと、排出駆動パルスと、の生成に使用する、パケット生成パターンBを示す図である。
【
図31】
図31は、実施の形態2に係わるパケット生成パターンAによるパケット1単位駆動パターンAの動作タイミングを説明する図である。
【
図32】
図32は、実施の形態2に係わるパケット生成パターンAによるパケット2単位駆動パターンAの動作タイミングを説明する図である。
【
図33】
図33は、実施の形態2に係わるパケット生成パターンAによるパケット3単位駆動パターンAの動作タイミングを説明する図である。
【
図34】
図34は、実施の形態2に係わるパケット生成パターンAによるパケット4単位駆動パターンAの動作タイミングを説明する図である。
【
図35】
図35は、実施の形態2に係わるパケット生成パターンAによるパケット5単位駆動パターンAの動作タイミングを説明する図である。
【
図36】
図36は、実施の形態2に係わるパケット生成パターンAによるパケット6単位駆動パターンAの動作タイミングを説明する図である。
【
図37】
図37は、実施の形態2に係わるパケット生成パターンBによるパケット1単位駆動パターンBの動作タイミングを説明する図である。
【
図38】
図38は、実施の形態2に係わるパケット生成パターンBによるパケット2単位駆動パターンBの動作タイミングを説明する図である。
【
図39】
図39は、実施の形態2に係わるパケット生成パターンBによるパケット3単位駆動パターンBの動作タイミングを説明する図である。
【
図40】
図40は、実施の形態2に係わるパケット生成パターンBによるパケット4単位駆動パターンBの動作タイミングを説明する図である。
【
図41】
図41は、実施の形態2に係わるパケット生成パターンBによるパケット5単位駆動パターンBの動作タイミングを説明する図である。
【
図42】
図42は、実施の形態2に係わるパケット生成パターンBによるパケット6単位駆動パターンBの動作タイミングを説明する図である。
【
図43】
図43は、実施の形態2に係わる距離演算部の構成を示す図である。
【
図44】
図44は、実施の形態2に係わる
図29のパケット生成パターンAを距離演算部のメモリ(LUT)に格納するためのデータを示す図である。
【
図45】
図45は、実施の形態2に係わる
図30のパケット生成パターンBを距離演算部のメモリ(LUT)に格納するためのデータを示す図である。
【
図46】
図46は、実施の形態2に係わる距離演算部で使用するパケット1から6の露光回数の計算方法を示す図である。
【
図47】
図47は、実施の形態2に係わる距離演算部の動作タイミングを示す図である。
【発明を実施するための形態】
【0011】
(本開示の基礎となった知見)
本発明者らは、特願2019-200085(出願日2019年11月01日)と、特願2019-209169(出願日2019年11月19日)と、において測距範囲の拡大、および、測距精度の向上を両立し、高速に移動する物体の測距を改善するために1フレームで測距を行う技術を提供した。
【0012】
しかしながら、特許文献1に開示された技術および特願2019-209169の技術では1回の発光に対し、複数回の露光を行う。そのため、背景光が多い場合、距離区間の特定精度が劣化するという課題を有している。
【0013】
出願番号2019-200085の技術では、複数回の発光に対し、1回の露光を行う。そのため、背景光には強いが、発光回数が増えるため、消費電力が増えるという課題を有している。
【0014】
そこで、本開示は、さらなる改善を図る測距装置および測距方法を提供する。例えば、背景光が多い場合に距離区間の特定における精度劣化を抑制することと、消費電力を抑制することとのバランスを調整可能にする。
【0015】
このような課題を解決するために本開示の一態様に係る測距装置は、光照射タイミングを指示する発光パルスと、被写体からの反射光の露光タイミングを指示する露光パルスと、を発生させるパルス生成部と、前記露光パルスに従って画素の信号値を保持する複数のパケットを生成する固体撮像部と、測距範囲を分割した複数の距離区間に対応する複数の単位区間において2以上の露光パルスを発生させる複数の第1のパケット生成符号、または、前記複数の単位区間において2以上の発光パルスを発生させる複数の第2のパケット生成符号に従って、前記パルス生成部を制御する制御部と、前記発光パルスに従って光の照射を行う光源部と、前記固体撮像部から出力される複数のパケットに基づき、距離を算出する距離演算部と、を備え、前記制御部は、前記複数の第1のパケット生成符号と、前記複数の第2のパケット生成符号とを切り換える。光照射タイミングを指示する発光パルスと、反射光の露光タイミングを指示する露光パルスと、を発生させるパルス生成部と、露光パルスに従ってn(nは4以上の整数)種類の信号値を取得する固体撮像部と、測距範囲を分割した複数の距離区間に対応する複数の単位区間ごとにパルス生成部を制御する制御部と、発光パルスに従って光の照射を行う光源部と、固体撮像部から得られる単位区間ごとのn種類の信号値に基づき距離を算出する距離演算部と、を備える。
【0016】
これによれば、さらなる改善を図ることができる。例えば、背景光が多い場合に距離区間の特定における精度劣化を抑制することと、消費電力を抑制することとのバランスを調整可能にする。
【0017】
また、本開示の一態様に係る測距方法は、光照射タイミングを指示する発光パルスに従って光の照射を行う光源部と、被写体からの反射光の露光タイミングを指示する露光パルス従って画素の信号値を保持する複数のパケットを生成する固体撮像部と、前記固体撮像部から出力される複数のパケットに基づき、距離を算出する距離演算部と、を備える測距装置における測距方法であって、測距範囲を分割した複数の距離区間に対応する複数の単位区間において2以上の露光パルスを発生させる複数の第1のパケット生成符号、および、前記複数の単位区間において2以上の発光パルスを発生させる複数の第2のパケット生成符号を取得し、前記複数の第1のパケット生成符号と、前記複数の第2のパケット生成符号とを切り換えながら測距動作を実施する。
【0018】
これによれば、さらなる改善を図ることができる。例えば、背景光が多い場合に距離区間の特定における精度劣化を抑制することと、消費電力を抑制することとのバランスを調整可能にする。
【0019】
以下、本開示の実施の形態に係る測距撮像装置について、図面を参照しながら説明する。なお、以下の実施の形態は、いずれも本開示の一具体例を示すものであり、数値、形状、材料、構成要素、構成要素の配置位置及び接続形態などは、一例であり、本開示を限定するものではない。
【0020】
(実施の形態1)
図1は、実施の形態1に係るTOF(Time Of Flight)型の測距装置及び周辺物の構成を模式的に示す図である。
【0021】
同図において、撮像空間10100は、測距装置と、測距の対象物10101と、背景光光源10140と、を含む空間である。対象物10101は人に限らず物でもよい。同図の測距装置は、光源部10102、光学レンズ10103、光学フィルタ10104、固体撮像部10105、制御部10106、パルス生成部10107、および、距離演算部10108を備える。
【0022】
光源部10102は、パルス生成部10107からの発光パルス10120に従ってパルス光の照射を行う。発光パルス10120は、光源部10102にパルス光の発光を指示する信号である。光源部10102は、例えば、赤外光を発光する。また、光源部10102は、LEDやレーザ素子であってもよい。
【0023】
光学レンズ10103および光学フィルタ10104は、対象物10101からの反射光を固体撮像部10105に導く光学系である。光学フィルタ10104は、例えば赤外線透過フィルタである。
【0024】
固体撮像部10105は、複数の画素を有し、パルス生成部10107からの露光パルスに従って露光することにより画素の信号値を保持する複数のパケットを生成する。
図1では、固体撮像部10105は、1画素当たり複数個のパケットを生成する。固体撮像部10105は、パルス生成部10107からn(nは4以上の整数で、
図1ではn=6)種類の露光パルス、つまり、パケット1露光パルス10121からパケット6露光パルス10126を入力し、1画素当たり6つのパケットを生成する。
【0025】
制御部10106は、複数の第1のパケット生成符号、または、複数の第2のパケット生成符号に従ってパルス生成部10107を制御する。ここで、複数の第1のパケット生成符号のそれぞれは、測距範囲を分割した複数の距離区間に対応する複数の単位区間において2以上の露光パルスを発生させるビット列をいう。複数の第2のパケット生成符号のそれぞれは、複数の単位区間において2以上の発光パルスを発生させるビット列をいう。
【0026】
より具体的には、複数の第1のパケット生成符号のそれぞれは、複数の単位区間のうちの先頭の単位区間で発光すべきことを示し、かつ、複数の単位区間ごとに露光すべきか否かを示す。また、複数の第2のパケット生成符号のそれぞれは、複数の単位区間ごとに発光すべきか否かを示し、かつ、前記複数の単位区間の末尾の単位区間で露光すべきことを示す。
【0027】
また、第1のパケット生成符号の数は、n1(n1は4以上の整数)であり、第2のパケット生成符号の数は、n2(n2は4以上の整数)であるものとする。n1とn2は同じでもよいし、異なっていてもよい。本実施の形態では、n1およびn2は上記nと同じ6であるものとする。
【0028】
ここで、パケットは、第1のパケット生成符号または第2のパケット生成符号に従う複
数回または1回の露光によって固体撮像部10105によって生成および蓄積された信号電荷をいう。n1種類の第1のパケット生成符号からは、n1種類のパケット(信号電荷)が生成される。n2種類の第1のパケット生成符号からは、n2種類のパケット(信号電荷)が生成される。以下では、具体例としてn1=n2=n=6であるものとする。
【0029】
さらに、制御部10106は、複数の第1のパケット生成符号における単位区間ごとの露光パルスの有無を示すn1ビットの2進数を第1独立符号として生成する。また、制御部10106は、複数の第2のパケット生成符号における単位区間ごとの発光パルスの有無を示すn2ビットの2進数を第2独立符号として生成する。ここで、本実施の形態では、n1=n2=n=6であり、同じ単位区間に対応する第1独立符号と第2独立符号は、同じビットパターンを有するように設計されているものとする。こうすれば、第1独立符号と第2独立符号とで、距離演算部10108における処理の一部を共通化することができる。
【0030】
制御部10106は、隣接する2個の単位区間に対応する2つ第1独立符号の各ビットの論理和または論理積により、n1ビットの第1隣接符号を生成する。また、10106は、隣接する2個の単位区間に対応する2つ第2独立符号の各ビットの論理和または論理積により、n2ビットの第2隣接符号を生成する。
【0031】
パルス生成部10107は、光源部10102に光照射タイミングを指示する発光パルス10120と、固体撮像部10105に露光タイミングを指示する露光パルスとを発生する。パルス生成部10107は、n種類の露光パルスとして、パケット1露光パルス10121からパケット6露光パルス10126の6つの信号を生成する。
【0032】
距離演算部10108は、固体撮像部10105から得られる単位区間ごとのn種類の信号値に基づき距離を算出する。具体的には、距離演算部10108は、複数の第1のパケット生成符号に基づいて生成されたn1種類のパケットの信号値を2値化することによりn1ビットの2進数を第1撮像符号として決定し、第1独立符号と、第1撮像符号と、を比較し、一致する単位区間に対応する距離を算出する。また、固体撮像部10105は、複数の第2のパケット生成符号に基づいて生成されたn2種類のパケットの信号値を2値化することによりn2ビットの2進数を第2撮像符号として決定し、第2独立符号と、第2撮像符号と、を比較し、一致する単位区間に対応する距離を算出する。
【0033】
また、距離演算部10108は、第1隣接符号と第1撮像符号とを比較し、一致する場合に、対応する2つの単位区間の中間的な距離を算出する。また、距離演算部10108は、第2隣接符号と第2撮像符号とを比較し、一致する場合に、対応する2つの単位区間の中間的な距離を算出する。
【0034】
図1に示すように、撮像空間10100にて対象物10101に、光源部10102から波長940nmのパルス状(パルス幅10ns)の照射光10110を照射する。固体撮像部10105は、対象物10101で反射した反射光10111と、背景光光源10140から発せられる背景光10141が対象物10101で反射した背景光反射光10142と、を光学レンズ10103と、940nm近傍の近赤外波長領域を透過する光学フィルタ10104とを介して、受け、結像された画像を撮像する。光源部10102の発光タイミングと固体撮像部10105の露光タイミングは、制御部10106から制御バス経由で制御されるパルス生成部10107の発光パルス10120とパケット1から6の露光パルス10121から10126と排出駆動パルス10127によって制御される。なお、光源部10102は、発光パルス10120がHighレベルのときに照射光10110を照射し、Lowレベルのときには照射光10110は照射しない。固体撮像部10105は、1画素ごとに、パケット1から6の露光パルス10121から1012
6に対応した6種類の信号値である固体撮像部出力信号10130を距離演算部10108へ出力する。距離演算部10108は固体撮像部出力信号10130と制御部10106からの制御情報を用いて、1画素ごとに、対象物10101までの距離に相当する区間番号信号10131を出力する。
【0035】
光源部10102と、光学レンズ10103と、光学フィルタ10104と、固体撮像部10105と、制御部10106と、パルス生成部10107と、距離演算部10108と、が測距装置を構成する。構成としては、光源部10102は、駆動回路、発光素子を有し、駆動回路から電圧を印加することで光を発する。発光素子としてはレーザダイオードやその他の発光素子を用いてもよい。また、制御部10106と、パルス生成部10107と、距離演算部10108と、は例えば、CPU(CentrAl Processing Unit)、FPGA(Field ProgrAmmABle GAte ArrAy)、DSP(DigitAl SignAl Processor)、AFE(AnAlog Front End)などを組み合わせることで実現される。
【0036】
図2は、実施の形態1に係わる固体撮像部10105の画素10200の構成図である。
【0037】
同図に示すように、画素10200は、光電変換画素10201と、2つのドレイン10210と、6つのFDA(Floating Diffusion Amplifier)10211から10216と、6つのソースフォロワ回路10221から10226と、6つの出力選択トランジスタ10231から10236と、を備える。また、画素10200は、ドレイン10210、FDA10211から10216のそれぞれと光電変換画素10201との間にゲート電極を有している。
【0038】
光電変換画素10201は、反射光10111を受けて光電変換を行うPD(Photodiode)で構成される。
【0039】
ドレイン10210は、光電変換画素10201で光電変換された信号電荷を排出する。
【0040】
FDA10211から10216のそれぞれは、光電変換画素10201で光電変換された信号電荷を蓄積する。
【0041】
ソースフォロワ回路10221は、FDA(信号電荷蓄積部)10211の信号電荷量に応じた電圧を出力する。ソースフォロワ回路10222から10226も、同様である。
【0042】
出力選択トランジスタ10231は、出力イネーブル信号がHighレベルのとき、ソースフォロワ回路10221の出力電圧を、画素出力信号10241として出力する。出力選択トランジスタ10232から10236も同様である。
【0043】
次に、画素10200の動作を説明する。パケット1露光パルス10121をHighレベルにすると、光電変換画素10201で光電変換された信号電荷はFDA10211に蓄積される。パケット2露光パルス10122をHighレベルにすると、光電変換画素10201で光電変換された信号電荷はFDA10212に蓄積される。パケット3露光パルス10123をHighレベルにすると、光電変換画素10201で光電変換された信号電荷はFDA10213に蓄積される。パケット4露光パルス10124をHighレベルにすると、光電変換画素10201で光電変換された信号電荷はFDA10214に蓄積される。パケット5露光パルス10125をHighレベルにすると、光電変換画素10201で光電変換された信号電荷はFDA10215に蓄積される。パケット6
露光パルス10126をHighレベルにすると、光電変換画素10201で光電変換された信号電荷はFDA10216に蓄積される。
【0044】
排出駆動パルス10127をHighレベルにすると、光電変換画素10201で光電変換された信号電荷はドレイン10210に排出される。このため、パケット1から6の露光パルス10121から10126がすべてLowレベルのときに、排出駆動パルス10127をHighレベルにすることで、パケット1から6の露光パルス10121から10126がすべてLowレベルのときに光電変換画素10201で光電変換された信号電荷をドレイン10210に排出し、パケット1から6の露光パルス10121から10126の6個の内1個がHighレベルのときに、残り5個をLowレベル、かつ、排出駆動パルス10127をLowレベルにすることで、パケット1から6の露光パルス10121から10126の6個の内1個がHighレベルのときのみに光電変換画素10201で光電変換された信号電荷を、パケット1から6の露光パルス10121から10126に対応したFDA10211から10216に蓄積することで、1画素あたり、パケット1から6の露光パルス10121から10126に対応した6種類の撮像を行う。FDA10211から10216は、信号電荷が蓄積されることで、信号電荷量に応じた電圧が生じ、FDA10211の信号電荷量に応じたパケット1電圧値と、FDA10212の信号電荷量に応じたパケット2電圧値と、FDA10213の信号電荷量に応じたパケット3電圧値と、FDA10214の信号電荷量に応じたパケット4電圧値と、FDA10215の信号電荷量に応じたパケット5電圧値と、FDA10216の信号電荷量に応じたパケット6電圧値と、を生成する。出力イネーブル信号10240をHighレベルにすることで、パケット1電圧値は、ソースフォロワ回路10221と出力選択トランジスタ10231を通って画素出力信号10241に、パケット2電圧値は、ソースフォロワ回路10222と出力選択トランジスタ10232を通って画素出力信号10242に、パケット3電圧値は、ソースフォロワ回路10223と出力選択トランジスタ10233を通って画素出力信号10243に、パケット4電圧値は、ソースフォロワ回路10224と出力選択トランジスタ10234を通って画素出力信号10244に、パケット5電圧値は、ソースフォロワ回路10225と出力選択トランジスタ10235を通って画素出力信号10245に、パケット6電圧値は、ソースフォロワ回路10226と出力選択トランジスタ10236を通って画素出力信号10246に、同時に出力される。
【0045】
図3は、実施の形態1に係わる固体撮像部10105の構成図である。同図の固体撮像部10105は、二次元状に配置された複数の画素10200と、行選択部と、カラムAD10370と、シフトレジスタ10371とを備える。
図3に示すように、固体撮像部10105は、画素10200を水平方向にX個、垂直方向にY個、2次元に配置しており、実施の形態1ではX=320、Y=240である。なお、画素数は一例であり、これに限定するものではない。1行目の水平方向に並んで配置された画素アドレス11と、画素アドレス12と、画素アドレス1Xと、の画素10200の出力イネーブル信号10240は、行選択信号10300が接続され、2行目の水平方向に並んで配置された画素アドレス21と、画素アドレス22と、画素アドレス2Xと、の画素10200の出力イネーブル信号10240は、行選択信号10301が接続され、3行目の水平方向に並んで配置された画素アドレス31と、画素アドレス32と、画素アドレス3Xと、の画素10200の出力イネーブル信号10240は、行選択信号10302が接続され、Y行目の水平方向に並んで配置された画素アドレスY1と、画素アドレスY2と、画素アドレスYXと、の画素10200の出力イネーブル信号10240は、行選択信号10303が接続されている。また、1列目の垂直方向に並んで配置された画素アドレス11と、画素アドレス21と、画素アドレス31と、画素アドレスY1と、の画素10200の画素出力信号10241から10246は、垂直画素信号10311から10316が接続され、2列目の垂直方向に並んで配置された画素アドレス12と、画素アドレス22と、画素アドレス32と、画素アドレスY2と、の画素10200の画素出力信号10241から1
0246は、垂直画素信号10321から10326が接続され、X列目の垂直方向に並んで配置された画素アドレス1Xと、画素アドレス2Xと、画素アドレス3Xと、画素アドレスYXと、の画素10200の画素出力信号10241から10246は、垂直画素信号10331から10336が接続されている。そして、垂直画素信号10311から10316と、10321から10326と、10331から10336と、はカラムAD10370に接続され、カラムAD10370の出力信号は、シフトレジスタ10371に接続されており、シフトレジスタ10371から固体撮像部出力信号10130を出力する構成になっている。
【0046】
次に、固体撮像部10105の読み出し動作を説明する。なお、この読み出し動作は、水平画素数を6倍にした一般的なCMOSイメージセンサと同様の動作である。行選択信号10300をHighレベル、行選択信号10301をLowレベル、行選択信号10302をLowレベル、行選択信号10303をLowレベルにすることで、画素アドレス11の画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10311から10316に、画素アドレス12の画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10321から10326に、画素アドレス1Xの画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10331から10336に出力し、カラムAD10370に入力する。行選択信号10300をLowレベル、行選択信号10301をHighレベル、行選択信号10302をLowレベル、行選択信号10303をLowレベルにすることで、画素アドレス21の画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10311から10316に、画素アドレス22の画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10321から10326に、画素アドレス2Xの画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10331から10336に出力し、カラムAD370に入力する。行選択信号10300をLowレベル、行選択信号10301をLowレベル、行選択信号10302をHighレベル、行選択信号10303をLowレベルにすることで、画素アドレス31の画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10311から10316に、画素アドレス32の画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10321から10326に、画素アドレス3Xの画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10331から10336に出力し、カラムAD10370に入力する。行選択信号10300をLowレベル、行選択信号10301をLowレベル、行選択信号10302をLowレベル、行選択信号10303をHighレベルにすることで、画素アドレスY1の画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10311から10316に、画素アドレスY2の画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10321から10326に、画素アドレスYXの画素10200のパケット1から6の画素出力信号10241から10246を垂直画素信号10331から10336に出力し、カラムAD10370に入力する。カラムAD10370は、入力された、X個の画素分のパケット1から6の画素出力信号10241から10246を、12ビットの信号値へAD変換し、X個の画素分の、パケット1電圧値をAD変換したパケット1信号値と、パケット2電圧値をAD変換したパケット2信号値と、パケット3電圧値をAD変換したパケット3信号値と、パケット4電圧値をAD変換したパケット4信号値と、パケット5電圧値をAD変換したパケット5信号値と、パケット6電圧値をAD変換したパケット6信号値とを生成し、シフトレジスタ10371へ出力する。シフトレジスタ10371は、入力された、X個の画素分のパケット1から6の信号値を、1個ずつシフトしながら、固体撮像部出力信号10130に出力する。
【0047】
図4は、実施の形態1に係わる光源部10102と固体撮像部10105の制御シーケンスを示す図である。同図では、1フレームごとにフレーム駆動パターンA10400と、フレーム駆動パターンB10401と、を切り替えている。つまり、制御部10106は、1フレームごとに、複数の第1のパケット生成符号と複数の第2のパケット生成符号とを切り替える例を示している。ここで、フレーム駆動パターンA10400は、10106が複数の第1のパケット生成符号に従ってパルス生成部10107を制御することによる駆動をいう。フレーム駆動パターンB10401は、10106が複数の第2のパケット生成符号に従ってパルス生成部10107を制御することによる駆動をいう。
【0048】
図4に示す制御シーケンスは、
図1に示すように、制御部10106から制御バスを通して、パルス生成部10107に、フレーム単位駆動パターン繰り返し回数(
図4では12回)と、パケット1から6の単位駆動パターン繰り返し回数(
図4では300回)と、が指示され、そのフレーム単位駆動パターン繰り返し回数と、パケット1から6の単位駆動パターン繰り返し回数と、に従って、発光パルス10120と、パケット1から6の露光パルス10121から10126と、排出駆動パルス10127と、がパルス生成部10107で生成される。なお、パケット1から6の単位駆動パターンA10431から10436ごとの、発光パルス10120と、パケット1から6の露光パルス10121から10126と、排出駆動パルス10127と、の生成方法については、後程説明する。なお、このフレーム駆動パターンの切り替え方法は一例であり、これに限定するものではない。
【0049】
図5に、フレーム駆動パターンA10400と、フレーム駆動パターンB10401との動作例を示すタイミングチャートである。フレーム駆動パターンA10400は、
図6に示すパケット生成パターンA10600から生成される。
図6のパケット生成パターンA10600は、n1(n1=6)種類の第1のパケット生成符号の具体例を示す。区間番号10601は、測距範囲を分割した複数の距離区間に対応する複数の単位区間の番号を示す。
【0050】
パケット1生成符号A10611からパケット1生成符号A10616のそれぞれは、複数の単位区間ごと発光すべきか否かを示すビット列である。
図6では、パケット1生成符号A10611からパケット1生成符号A10616のそれぞれは、区間番号0の単位区間、つまり先頭の単位区間でのみ発光すべきことを示している。
【0051】
パケット1生成符号A10621からパケット1生成符号A10626のそれぞれは、複数の単位区間ごとに露光すべきか否かを示すビット列である。
図6では、パケット1生成符号A10621からパケット1生成符号A10626のそれぞれは、複数の単位区間のうち2以上の単位区間で露光すべきことを示している。
【0052】
パケット1生成符号A10611およびパケット1生成符号A10621の組は、1つの第1のパケット生成符号の例である。同様に、パケット1生成符号A10612およびパケット1生成符号A10622の組、パケット1生成符号A10613およびパケット1生成符号A10623の組、パケット1生成符号A10614およびパケット1生成符号A10624の組、パケット1生成符号A10615およびパケット1生成符号A10625の組、パケット1生成符号A10616およびパケット1生成符号A10626の組、のそれぞれの組は、1つの第1のパケット生成符号の例である。
【0053】
なお、区間番号10601の番号0の単位区間は、発光パルスと露光パルスとの時間差が最小であり、測距装置に最も近い距離区間に対応する。区間番号10601の区間番号30の単位区間は、発光パルスと露光パルスとの時間差が最大であり、測距装置から最も遠い距離区間に対応する。
【0054】
パケット1から6の単位駆動パターンA10431から10436は、
図5に示すように、1回の発光パルスに対し、複数回の露光パルスを生成する駆動である。
【0055】
一方、フレーム駆動パターンB10401は、
図7に示すパケット生成パターンB10700から生成される。
図7のパケット生成パターンB10700は、n2(n2=6)種類の第2のパケット生成符号の具体例を示す。区間番号10701は、測距範囲を分割した複数の距離区間に対応する複数の単位区間の番号を示す。
【0056】
パケット1生成符号B10711からパケット1生成符号B10716のそれぞれは、複数の単位区間ごと発光すべきか否かを示すビット列である。
図7では、パケット1生成符号B10721からパケット1生成符号B10726のそれぞれは、複数の単位区間のうち2以上の単位区間で発光すべきことを示している。
【0057】
パケット1生成符号B10721からパケット1生成符号B10726のそれぞれは、複数の単位区間ごとに露光すべきか否かを示すビット列である。
図7では、パケット1生成符号B10711からパケット1生成符号B10716のそれぞれは、区間番号30の単位区間、つまり末尾の単位区間でのみ露光すべきことを示している。
【0058】
パケット1生成符号B10711およびパケット1生成符号B10721の組は、1つの第2のパケット生成符号の例である。同様に、パケット1生成符号B10712およびパケット1生成符号B10722の組、パケット1生成符号B10713およびパケット1生成符号B10723の組、パケット1生成符号B10714およびパケット1生成符号B10724の組、パケット1生成符号B10715およびパケット1生成符号B10725の組、パケット1生成符号B10716およびパケット1生成符号B10726の組、のそれぞれの組は、1つの第2のパケット生成符号の例である。
【0059】
なお、区間番号10701の番号30の単位区間は、発光パルスと露光パルスとの時間差が最小であり、測距装置に最も近い距離区間に対応する。区間番号10701の区間番号0の単位区間は、発光パルスと露光パルスとの時間差が最大であり、測距装置から最も遠い距離区間に対応する。
【0060】
パケット1から6の単位駆動パターンB10451から10456は、
図5に示すように、複数回の発光パルスに対し、1回の露光パルスを生成する駆動である。ここで、フレーム駆動パターンA10400は、
図6に示すパケット生成パターンA10600を基に生成され、フレーム駆動パターンB10401は、
図7に示すパケット生成パターンB10700を基に生成される。そのため、
図4におけるフレーム駆動パターンA10400と、フレーム駆動パターンB10401と、の切り替えは、
図6のパケット生成パターンA10600と、
図7パケット生成パターンB10700と、の切り替えを意味する。つまり、制御部10106は、複数の第1のパケット生成符号と、複数の第2のパケット生成符号との切り替えを、
図6のパケット生成パターンA10600と、
図7パケット生成パターンB10700との切り替えにより実現する。また、フレーム駆動パターンの切り替え方法の詳細については、後程説明する。
【0061】
図4に示すように、1フレーム目は、フレーム駆動パターンA10400から構成されている。フレーム駆動パターンA10400は、フレーム単位駆動パターンA10410の12回の繰り返しと、すべての画素10200の信号電荷蓄積部に蓄積された信号電荷を固体撮像部10105から出力する撮像データ読み出し10420と、から構成されている。フレーム単位駆動パターンA10410は、パケット1駆動パターンA10421と、パケット2駆動パターンA10422と、パケット3駆動パターンA10423と、
パケット4駆動パターンA10424と、パケット5駆動パターンA10425と、パケット6駆動パターンA10426と、から構成されている。パケット1駆動パターンA10421は、パケット1単位駆動パターンA10431の300回の繰り返しから構成されている。パケット2駆動パターンA10422は、パケット2単位駆動パターンA10432の300回の繰り返しから構成されている。パケット3駆動パターンA10423は、パケット3単位駆動パターンA10433の300回の繰り返しから構成されている。パケット4駆動パターンA10424は、パケット4単位駆動パターンA10434の300回の繰り返しから構成されている。パケット5駆動パターンA10425は、パケット5単位駆動パターンA10435の300回の繰り返しから構成されている。パケット6駆動パターンA10426は、パケット6単位駆動パターンA10436の300回の繰り返しから構成されている。
【0062】
パケット1から6の単位駆動パターンA10431から10436と、パケット1から6の単位駆動パターンB10451から10456と、は、
図5の発光パルス10120と、パケット1から6の露光パルス10121から10126と、排出駆動パルス10127と、を駆動する。パケット1から6の単位駆動パターンA10431から10436の詳細については、
図6と
図8から
図13で説明する。パケット1から6の単位駆動パターンB10451から10456の詳細については、
図7と
図14から
図19で説明する。また、
図4に示す、光源部10102と固体撮像部10105の制御シーケンスは一例であり、これに限定するものではない。
【0063】
パケット1から6の単位駆動パターンA10431から10436は、それぞれ、パケット1から6の駆動パターンA10421から10426で300回繰り返され、パケット1から6の駆動パターンA10421から10426は、フレーム単位駆動パターンA10410で12回繰り返される。つまり、パケット1から6の単位駆動パターンA10431から10436は、それぞれ、300×12=3600回繰り返される。3600回繰り返すことで、1回あたりの照射光10110の光量が少なくても、十分な光量を確保することが可能である。一方、フレーム駆動パターンA10400を12個のフレーム単位駆動パターンA10410に分割することで、1回あたりのフレーム単位駆動パターンA10410に必要な時間が短くなり、パケット1から6の見かけ上の撮像タイミングを同時化できる。そして、フレーム単位駆動パターンA10410を12回繰り返すことで、対象物10101が移動することによるブレは、パケット1から6に均等に発生することで、対象物10101が移動することによる距離演算時のデータ化け等の副作用を抑制することが可能となる。
【0064】
図6は、実施の形態1に係わる、光源部10102を制御する発光パルス10120と、固体撮像部10105を制御するパケット1から6の単位駆動パターンA10431から10436と、排出駆動パルス10127を生成するために、制御部10106に与えられるパケット生成パターンA10600を示す図である。パケット生成パターンA10600は、n1(n1=6)種類の第1のパケット生成符号の具体例を示す。
図6に示すように、パケット生成パターンA10600は、区間番号10601が、0から30までの31区間に分割されており、区間番号10601ごとに、“0”または“1”の値が決められており、発光パルス10120と、露光パルス10121から10126の駆動を制御するための情報である。ここで、区間番号10601は、測距範囲を分割した複数の距離区間(単位区間とも呼ぶ)に付与された連番である。また、パケット生成パターンA10600は、制御部10106が内部のメモリに予め記憶していてもよいし、外部から動的に取得して内部のメモリに格納してもよい。
【0065】
区間番号10601と、パケット生成パターンA10600は制御バスを経由して、パルス生成部10107に送られ、パルス生成部10107は、区間番号10601と、パ
ケット1から6の発光パルスと、露光パルスと、からパケット1から6の単位駆動パターンA10431から10436を生成する。なお、
図6に示す、パケット生成パターンA10600は一例であり、パケット生成パターンA10600をこれに限定するものではない。
【0066】
図8から
図13は、実施の形態1に係わるパケット1単位駆動パターンA10431からパケット6単位駆動パターンA10436を示すタイミングチャートである。
図8から
図13に示すように、パルス生成部10107は、単位区間(10ns)ごとに区間番号10601を0から79の80区間切り替えて、区間番号10601ごとに、発光パルス10120と、パケット1から6の露光パルス10121から10126と、排出駆動パルス10127と、を制御することで、パケット1から6の単位駆動パターンA10431から10436を生成する。パルス生成部10107の区間番号10601を、パケット生成パターンA10600の区間番号10601の最大値(30)の2倍以上の値(79)にしているのは、照射光10110が測距範囲外(区間番号10601の最大値より大きい区間番号)に位置する対象物10101からの反射光10111を受光しないようにするためである。このため、パケット生成パターンA10600の区間番号10601に存在しない区間番号においては、発光パルス10120をLowレベル、パケット1から6の露光パルス10121から10126をLowレベル、排出駆動パルス10127をHighレベルとしたパルスが生成される。このように、固体撮像部10105を制御することで、撮像露光時間に相当するフレーム単位駆動パターンA10410の12回の繰り返しに必要な時間は、単位区間10ns×区間番号の数80×パケット単位駆動パターン繰り返し回数300回×パケット数6個×フレーム単位駆動パターン繰り返し回数12回=17.28msとなる。なお、この単位区間は、照射光10110とパケット1から6の露光パルス10121から10126のパルス幅が同じであることを規定するもので、パルス幅を10nsに限定するものではない。
【0067】
以下に、パケット生成パターンA10600の区間番号10601が存在する区間番号が0から30の、発光パルス10120と、パケット1から6の露光パルス10121から10126と、排出駆動パルス10127と、の制御方法について説明する。
【0068】
図8は、パケット1単位駆動パターンA10431を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA10600のパケット1の発光パルスが“1”のときにHighレベル、パケット生成パターンA10600のパケット1の発光パルスが“0”のときにLowレベル、として生成される。パケット1露光パルス10121は、パケット生成パターンA10600のパケット1の露光パルスが、“1”の場合はHighレベル、パケット生成パターンA10600のパケット1の露光パルスが、“0”の場合はLowレベル、として生成され、パケット2露光パルス10122と、パケット3露光パルス10123と、パケット4露光パルス10124と、パケット5露光パルス10125と、パケット6露光パルス10126と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA10600のパケット1の露光パルスが、“1”の場合はLowレベル、パケット生成パターンA10600のパケット1の露光パルスが、“0”の場合はHighレベルとして、パケット1露光パルス10121と論理が反転したパルスが生成される。
【0069】
図9は、パケット2単位駆動パターンA10432を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA10600のパケット2の発光パルスが“1”のときにHighレベル、パケット生成パターンA10600のパケット2の発光パルスが“0”のときにLowレベル、として生成される。パケット2露光パルス10122は、パケット生成パターンA10600のパケット2の露光パルスが、“1”の場合はHighレベル、パケット生成パターンA10600のパケット2の露光パルスが、“0”の場合はLowレベル、として生成され、パケット1露光パルス10121と、パケ
ット3露光パルス10123と、パケット4露光パルス10124と、パケット5露光パルス10125と、パケット6露光パルス10126と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA10600のパケット2の露光パルスが、“1”の場合はLowレベル、パケット生成パターンA10600のパケット2の露光パルスが、“0”の場合はHighレベルとして、パケット2露光パルス10122と論理が反転したパルスが生成される。
【0070】
図10は、パケット3単位駆動パターンA10433を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA10600のパケット3の発光パルスが“1”のときにHighレベル、パケット生成パターンA10600のパケット3の発光パルスが“0”のときにLowレベル、として生成される。パケット3露光パルス10123は、パケット生成パターンA10600のパケット3の露光パルスが、“1”の場合はHighレベル、パケット生成パターンA10600のパケット3の露光パルスが、“0”の場合はLowレベル、として生成され、パケット1露光パルス10121と、パケット2露光パルス10122と、パケット4露光パルス10124と、パケット5露光パルス10125と、パケット6露光パルス10126と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA10600のパケット3の露光パルスが、“1”の場合はLowレベル、パケット生成パターンA10600のパケット3の露光パルスが、“0”の場合はHighレベルとして、パケット3露光パルス10123と論理が反転したパルスが生成される。
【0071】
図11は、パケット4単位駆動パターンA10434を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA10600のパケット4の発光パルスが“1”のときにHighレベル、パケット生成パターンA10600のパケット4の発光パルスが“0”のときにLowレベル、として生成される。パケット4露光パルス10124は、パケット生成パターンA10600のパケット4の露光パルスが、“1”の場合はHighレベル、パケット生成パターンA10600のパケット4の露光パルスが、“0”の場合はLowレベル、として生成され、パケット1露光パルス10121と、パケット2露光パルス10122と、パケット3露光パルス10123と、パケット5露光パルス10125と、パケット6露光パルス10126と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA10600のパケット4の露光パルスが、“1”の場合はLowレベル、パケット生成パターンA10600のパケット4の露光パルスが、“0”の場合はHighレベルとして、パケット4露光パルス10124と論理が反転したパルスが生成される。
【0072】
図12は、パケット5単位駆動パターンA10435を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA10600のパケット5の発光パルスが“1”のときにHighレベル、パケット生成パターンA10600のパケット5の発光パルスが“0”のときにLowレベル、として生成される。パケット5露光パルス10125は、パケット生成パターンA10600のパケット5の露光パルスが、“1”の場合はHighレベル、パケット生成パターンA10600のパケット5の露光パルスが、“0”の場合はLowレベル、として生成され、パケット1露光パルス10121と、パケット2露光パルス10122と、パケット3露光パルス10123と、パケット4露光パルス10124と、パケット6露光パルス10126と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA10600のパケット5の露光パルスが、“1”の場合はLowレベル、パケット生成パターンA10600のパケット5の露光パルスが、“0”の場合はHighレベルとして、パケット5露光パルス10125と論理が反転したパルスが生成される。
【0073】
図13は、パケット6単位駆動パターンA10436を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA10600のパケット6の発光パルスが“1”のときにHighレベル、パケット生成パターンA10600のパケット6の発光パルスが“0”のときにLowレベル、として生成される。パケット6露光パルス10126は、パケット生成パターンA10600のパケット6の露光パルスが、“1”の場
合はHighレベル、パケット生成パターンA10600のパケット6の露光パルスが、“0”の場合はLowレベル、として生成され、パケット1露光パルス10121と、パケット2露光パルス10122と、パケット3露光パルス10123と、パケット4露光パルス10124と、パケット5露光パルス10125と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA10600のパケット6の露光パルスが、“1”の場合はLowレベル、パケット生成パターンA10600のパケット6の露光パルスが、“0”の場合はHighレベルとして、パケット6露光パルス10126と論理が反転したパルスが生成される。
【0074】
図4に示すように、2フレーム目は、フレーム駆動パターンB10401から構成されている。フレーム駆動パターンB10401の生成方法は、フレーム駆動パターンA10400と同じため説明は割愛する。また、
図14から
図19に、パケット1から6の単位駆動パターンB10451から10456のタイミングチャートを示す。なお、
図8から
図13と同じ生成方法のため、説明は割愛する。
【0075】
図20は、実施の形態1に係わる固体撮像部10105の撮像データ読み出し10420のタイミング図である。
【0076】
図中の表記について、例えば、「P1(11)v」~「P6(11)v」の表記は、以下の説明中の、画素アドレス11の画素10200のパケット1から6の電圧値を示し、画素出力信号10241~10246および垂直画素信号10311~10316に該当する。同様に、P6(YX)vの表記は、画素アドレスYXの画素におけるパケット6電圧値を示し、画素出力信号10246および垂直画素信号10336に該当する。
【0077】
また、例えば、「P1(11)Sig」~「P6(11)Sig」の表記は、以下の説明中の、画素アドレス11の画素10200のパケット1から6の信号値を示す。具体的には、図中のP1(11)Sigは、画素アドレス11の画素10200のパケット1信号値、すなわち、カラムAD10370によりパケット1電圧値からAD変換されたデジタル値を意味し、シフトレジスタ10371を介して距離演算部10108に固体撮像部出力信号10130として出力される。同様に、P6(YX)Sigは、画素アドレスYXの画素10200のパケット6信号値、すなわち、カラムAD10370によりパケット6電圧値からAD変換されたデジタル値を意味し、シフトレジスタ10371を介して距離演算部10108に固体撮像部出力信号10130として出力される。
【0078】
行選択信号10300から10303と、カラムAD10370と、シフトレジスタ10371と、を制御して、
図3に示す、すべての画素10200のパケット1から6の信号値を固体撮像部出力信号10130に出力する。なお、この撮像データ読み出し10420の動作は通常のCMOSイメージセンサの水平画素数が6倍になったものと同じ動作である。
【0079】
図20に示すように、タイミング12000で、行選択信号10300をHighレベル、行選択信号10301をLowレベル、行選択信号10302をLowレベル、行選択信号10303をLowレベルにすることで、画素アドレス11の画素10200のパケット1から6の電圧値は垂直画素信号10311から10316に、画素アドレス12の画素10200のパケット1から6の電圧値は垂直画素信号10321から10326に、画素アドレス1Xの画素10200のパケット1から6の電圧値は垂直画素信号10331から10336に、出力される。垂直画素信号10311から10316と、垂直画素信号10321から10326と、垂直画素信号10331から10336と、はカラムAD10370に接続されており、12ビットの信号値へAD変換され、画素アドレス11と、画素アドレス12と、画素アドレス1Xと、のパケット1電圧値をAD変換し
たパケット1信号値と、パケット2電圧値をAD変換したパケット2信号値と、パケット3電圧値をAD変換したパケット3信号値と、パケット4電圧値をAD変換したパケット4信号値と、パケット5電圧値をAD変換したパケット5信号値と、パケット6電圧値をAD変換したパケット6信号値と、が生成される。AD変換が完了したタイミング12001で、AD変換された、画素アドレス11と、画素アドレス12と、画素アドレス1Xと、のパケット1から6の信号値は、シフトレジスタ10371へ出力される。シフトレジスタ10371は、入力された信号値をシフトしながら、画素アドレス11のパケット1信号値、画素アドレス11のパケット2信号値、画素アドレス11のパケット3信号値、画素アドレス11のパケット4信号値、画素アドレス11のパケット5信号値、画素アドレス11のパケット6信号値、画素アドレス12のパケット1信号値、画素アドレス12のパケット2信号値、画素アドレス12のパケット3信号値、画素アドレス12のパケット4信号値、画素アドレス12のパケット5信号値、画素アドレス12のパケット6信号値、画素アドレス1Xのパケット1信号値、画素アドレス1Xのパケット2信号値、画素アドレス1Xのパケット3信号値、画素アドレス1Xのパケット4信号値、画素アドレス1Xのパケット5信号値、画素アドレス1Xのパケット6信号値、の順に、固体撮像部出力信号10130から出力される。また、タイミング12001で、行選択信号10300をLowレベル、行選択信号10301をHighレベル、行選択信号10302をLowレベル、行選択信号10303をLowレベルにして、画素アドレス21の画素10200のパケット1から6の電圧値と、画素アドレス22の画素10200のパケット1から6の電圧値と、画素アドレス2Xの画素10200のパケット1から6の電圧値と、をカラムAD10370に入力して、12ビットの信号値へAD変換を行う。タイミング12001で開始した、カラムAD10370のAD変換と、シフトレジスタ10371のシフト動作と、が完了したタイミング12002で、タイミング12001で開始した、カラムAD10370のAD変換結果を、シフトレジスタ10371へ出力し、先ほどと同じ様に、入力された信号値をシフトしながら固体撮像部出力信号10130から出力する。また、タイミング12002で、行選択信号10300をLowレベル、行選択信号10301をLowベル、行選択信号10302をHighレベル、行選択信号10303をLowベル、にして、画素アドレス31の画素10200のパケット1から6の電圧値と、画素アドレス32の画素10200のパケット1から6の電圧値と、画素アドレス3Xの画素10200のパケット1から6の電圧値と、をカラムAD10370に入力して、先ほどと同じ様に、12ビットの信号値へAD変換を行う。この動作を、すべての行に対して行うことで、すべての画素10200の信号値を固体撮像部出力信号10130から出力する。なお、
図2に示すFDA10211から10216、および、
図4に示すパケット1から6の生成符号10501から10506は6個であるが、6個に限定するものではない。信号電荷蓄積部の数がパケット生成符号の数より多い場合は、1フレームでパケット1から6の信号値を得られるため、1フレーム分のデータで距離に対応した区間番号を算出することが可能であり、信号電荷蓄積部の数がパケット生成符号の数より多い場合は、複数フレームのデータを使用してパケット1から6の信号値を得ることで、距離に対応した区間番号を算出することが可能である。なお、撮像読み出し時間に相当する撮像データ読み出し10420に必要な時間は、ブランキング期間を考慮した画素数(水平画素数X320+水平ブランキング期間80)×(垂直画素数Y240+垂直ブランキング期間23)を固体撮像部出力信号10130の出力クロック周波数で除算したものになる。ここで、出力クロック周波数を39.319MHzとすると、撮像読み出し時間に相当する撮像データ読み出し10420に必要な時間は、16.053msとなる。
【0080】
図21は、実施の形態1に係わる距離演算部10108の構成を示す図である。
図21に示すように、距離演算部10108は、制御部10106から制御バスを経由して制御される、パケット1から6の露光回数12101から12106と、メモリ(LUT)12180と、を有しており、パケット1から6の露光回数12101から12106の選択を行う選択回路12107と、固体撮像部出力信号10130と選択回路12107の
出力信号との除算を行う除算器12108と、除算器12108の出力信号を画素アドレスごとに同時化を行う同時化部(B)12109と、同時化部(B)出力信号12121から12126の最小値を検出する最小値検出器12111と、最小値検出器出力信号12127とパケット1から6の露光回数12101から12106との乗算を行う乗算器12112と、固体撮像部出力信号10130を画素アドレスごとに同時化を行う同時化部(A)12110と、同時化部(A)出力信号12141から12146と乗算器出力信号12131から12136との減算を行う減算器12113と、減算信号12151から12156の最大値と最小値を検出する最大・最小検出器12114と、最大・最小検出器の最大値信号12157と最小値信号12158との平均値を算出し、閾値信号12160を生成する平均値算出器12115と、減算信号12151から12156と閾値信号12160との比較を行う比較器12102と、フレーム駆動パターンA10400と、フレーム駆動パターンB10401と、を識別するパケット生成パターン識別信号12170、および、メモリ(LUT)12180から構成されている。
【0081】
次に、距離演算部10108の動作を説明する。なお、固体撮像部出力信号10130のパケット1から6の信号値には、反射光10111が含まれていないパケットが1個以上存在し、反射光10111が含まれているパケットが1個以上存在することを前提に説明する。この制約の実現方法については、
図22と、
図23と、で説明する。
【0082】
固体撮像部出力信号10130は、同時化部(A)12110で、画素アドレスごとに、パケット1から6の信号値が同時化され、同時化部(A)出力信号12141から12146が生成される。また、固体撮像部出力信号10130は、パケット1から6の信号値ごとにパケット1から6の露光パルス10121から10126がHighレベルになる回数が異なっているため、パケット1から6の信号値に含まれる背景光反射光10142の量をそろえるために、パケット1から6の信号値ごとに、パケット1から6の露光回数12101から12106を選択回路12107で選択して、除算器12108で除算され、同時化部(B)12109に入力される。なお、パケット1から6の露光回数12101から12106の生成方法については、
図22と、
図23と、で説明する。同時化部(B)12109は、画素アドレスごとに、除算器12108の出力信号の同時化を行い、最小値検出器12111へ出力する。最小値検出器12111は、同時化部(B)出力信号12121から12126の最小値を検出することで、背景光反射光10142の光量に対応した信号値の推定を行い、最小値検出器出力信号12127を生成する。最小値検出器出力信号12127は、パケット1から6の露光回数12101から12106と、乗算器12112で乗算され、パケット1から6の信号値ごとに含まれる背景光反射光10142の光量に対応した信号値である乗算器出力信号12131から12136が生成される。同時化部(A)出力信号12141から12146と、乗算器出力信号12131から12136と、を減算器12113で減算することで、パケット1から6の信号値に含まれている背景光反射光10142成分を除去した、減算信号12151から12156を生成する。最大・最小検出器12114で、減算信号12151から12156の最大値信号12157と最小値信号12158を生成する。ここで、パケット1から6の信号値には、反射光10111が含まれていないパケットが1個以上存在し、反射光10111が含まれているパケットが1個以上存在するため、最大値信号12157は、反射光10111の光量に対応した信号値であり、最小値信号12158は、黒レベルの値である。最大値信号12157と最小値信号12158の平均値を平均値算出器12115で生成することで、反射光10111が含まれているパケットと、反射光10111が含まれていないパケットと、を検出するための閾値となる、閾値信号12160を生成する。この、最大値信号12157と、最小値信号12158と、の平均値である閾値信号12160と、減算信号12151から12156と、を比較器12102で比較することで、光電変換画素10201や、FDA10211から10216などの暗電流によるばらつきや、光ショットノイズの影響を軽減し、反射光10111が含まれている減算
信号12151から12156の比較器12102の結果を“1”に、反射光10111が含まれていない減算信号12151から12156の比較器12102の結果を“0”に、することが可能である。このため、比較器出力信号12161から12166をビット連結した撮像符号12120は、反射光10111が含まれているパケットを示したものとなる。撮像符号12120は、6種類の第1のパケット生成符号に基づいて生成された第1撮像符号の具体例である。そして、第1の撮像符号つまり撮像符号12120は、リードアドレスの下位6ビットとして、メモリ(LUT)12180のアクセスに使用される。リードアドレスの上位1ビットは、パケット生成パターンA10600で撮像された第1撮像符号に対しては1ビットの“0”であるパケット生成パターン識別信号12170がメモリ12180のアクセスに使用される。こうして得られる7ビットのリードアドレスが入力されると、メモリ(LUT)12180のリードデータとして区間番号信号10131が出力される。
【0083】
また、パケット生成パターンB10700で撮像された第2撮像符号に対しては1ビットの“1”、であるパケット生成パターン識別信号12170が連結される。第2撮像符号とパケット生成パターン識別信号12170とからなる7ビットのリードアドレスがメモリ(LUT)12180のアクセスに使用される。メモリ(LUT)12180は、リードデータとして区間番号信号10131を出力する。なお、メモリ(LUT)12180の初期値は、制御部10106から制御バス経由で設定され、メモリ(LUT)12180に設定する初期値の生成方法については、
図22と、
図23と、で説明する。
【0084】
図22は、実施の形態1に係わるメモリ(LUT)12180の初期値(アドレス0x00から0x3Fまで)の生成方法を示した図である。同図の上段は、
図6に示したパケット生成パターンA10600、独立符号A12200および隣接符号A12201を示す。独立符号A12200は、第1独立符号の具体例である。隣接符号A12201は、第1隣接符号の具体例であり、隣接する2個の単位区間に対応する2つ第1独立符号の論理和であるものとする。なお、第1隣接符号は、隣接する2個の単位区間に対応する2つ第1独立符号の論理積としてもよいし、論理積と論理和の2種類としてもよい。
【0085】
また、同図下段は、メモリ12180つまりLUTを示す。
【0086】
図23は、実施の形態1に係わるメモリ(LUT)12180の初期値(アドレス0x40から0x7Fまで)の生成方法を示した図である。同図の上段は、
図7に示したパケット生成パターンB10700、独立符号B12300および隣接符号B12301を示す。また、同図下段は、メモリ12180つまりLUTを示す。独立符号B12300は、第2独立符号の具体例である。隣接符号B12301は、第2隣接符号の具体例であり、隣接する2個の単位区間に対応する2つ第1独立符号の論理和であるものとする。なお、第2隣接符号は、隣接する2個の単位区間に対応する2つ第1独立符号の論理積としてもよいし、論理積と論理和の2種類としてもよい。
【0087】
なお、
図22の区間番号10601では番号0が最も近い距離区間を示す。これに対して、
図23の区間番号10701では番号0が最も遠い区間距離を示す。そのため、
図23下段のLUTでは
図22の区間番号0から30を、区間番号30から0に反転した値を示す。また、
図23下段のLUTでは、第2独立符号または第2隣接符号の上位ビット“1”を付加(オフセット0x40を加算)したアドレスを用いるように設計されている。
【0088】
図22の上段の独立符号A12200は、パケット生成パターンA10600、のパケット1から6の露光パルスを単位区間ごとに、nビット(ここではn=6)の2進数として、制御部10106によって生成される第1独立符号である。また、
図23の上段の独立符号B12300は、パケット生成パターンB10700、のパケット1から6の発光
パルスを単位区間ごとに、nビット(ここではn=6)の2進数として、制御部10106によって生成される第2独立符号である。
図22は30個の独立符号A12200があり、独立符号A12200のそれぞれは、原則として他のいずれの独立符号A12200とも異なる。また、
図23も30個の独立符号B12300があり、独立符号B12300のそれぞれは、原則として他のいずれの独立符号B12300とも異なる。
【0089】
上記の第1撮像符号がいずれかの第1独立符号(つまり独立符号A12200)に一致する場合、当該画素の距離値は、対応する単位区間(距離区間)が示す距離になる。
【0090】
一方、上記の第2撮像符号がいずれかの第2独立符号(つまり独立符号B12300)に一致する場合、当該画素の距離値は、対応する単位区間を反転した単位区間番号(距離区間)が示す距離になる。ここで、対応する単位区間を反転した単位区間番号というのは、複数の単位区間番号の並び順を反転した位置にある単位区間番号をいう。例えば、単位区間番号7を反転した単位区間番号は、単位区間番号23である。
【0091】
また、
図22と
図23の例では、同じ単位区間に対応する独立符号A12200および独立符号B12300は同じビットパターンを有するように設定されている。これは、第1撮像符号および第2撮像符号を対応する距離区間を特定する処理において、距離演算部における処理の一部を共通化するためである。
【0092】
隣接符号A12201は、第1隣接符号の具体例であり、隣接する2個の単位区間に対応する2つ独立符号の各ビットの論理和で得られる符号である。隣接符号A12201は、例えば、制御部10106によって隣接する2個の単位区間に対応する2つ第1独立符号の各ビットの論理和により生成される。
【0093】
隣接符号B12301は、第2離接符号の具体例であり、隣接する2個の単位区間に対応する2つ第2独立符号の各ビットの論理和で得られる符号である。第2隣接符号B12301は、例えば、制御部10106によって隣接する2個の単位区間に対応する2つ第2独立符号の各ビットの論理和により生成される。
【0094】
上記の第1撮像符号といずれかの第1隣接符号とが一致する場合、一致する第1隣接符号に対応する2つの単位区間の中間的な距離が、画素の距離値となる。
【0095】
一方、上記の第2撮像符号がいずれかの第2隣接符号に一致する場合、当該画素の距離値は、対応する単位区間を反転した単位区間番号(距離区間)が示す距離になる。
【0096】
図22に示すように、メモリ(LUT)12180の初期値は、光源部10102と固体撮像部10105とを制御する、パケット生成パターンA10600から生成される。
【0097】
はじめに、パケット生成パターンA10600のパケット1から6の露光回数12101から12106の算出方法について説明する。パケット1から6の信号値に含まれる、背景光反射光10142の量は、パケット1から6の露光パルス10121から10126をHighレベルにする回数(露光回数)に比例する。このため、制御部10106は、パケット1から6の露光パルスごとに、すべての区間番号10601において、パケット1から6の露光パルスが“1”である区間の数を算出することで、パケット1から6の露光回数12101から12106を生成する。
【0098】
次に、メモリ(LUT)12180の初期値(アドレス0x00から0x3Fまで)の生成方法について説明する。制御部10106は、パケット生成パターンA10600のパケット1露光パルスをビット0、パケット生成パターンA10600のパケット2露光パ
ルスをビット1、パケット生成パターンA10600のパケット3露光パルスをビット2、パケット生成パターンA10600のパケット4露光パルスをビット3、パケット生成パターンA10600のパケット5露光パルスをビット4、パケット生成パターンA10600のパケット6露光パルスをビット5、とみなした6ビットの2進数として、独立符号A12200を生成する。例えば、12221の区間番号10601が7の独立符号A12220は、パケット生成パターンA10600の区間番号10601が7のパケット1露光パルスの“0”をビット0、パケット生成パターンA10600の区間番号10601が7のパケット2露光パルスの“0”をビット1、パケット生成パターンA10600の区間番号10601が7のパケット3露光パルスの“0”をビット2、パケット生成パターンA10600の区間番号10601が7のパケット4露光パルスの“0”をビット3、パケット生成パターンA10600の区間番号10601が7のパケット5露光パルスの“1”をビット4、パケット生成パターンA10600の区間番号10601が7のパケット6露光パルスの“0”をビット5、の6ビットの2進数とみなし、16進数表記で“10”となる。
【0099】
また、制御部10106は、隣接する2個の区間の独立符号A12200のビットごとの論理和演算により、隣接符号A12201を生成する。例えば、12224の区間番号10601が24と25の隣接している箇所の隣接符号A12223は、パケット生成パターンA10600の区間番号10601が24の独立符号のビット0の値“1”と、パケット生成パターンA10600の区間番号10601が25の独立符号のビット0の値“0”と、の論理和演算結果“1”をビット0、パケット生成パターンA10600の区間番号10601が24の独立符号のビット1の値“1”と、パケット生成パターンA10600の区間番号10601が25の独立符号のビット1の値“1”と、の論理和演算結果“1”をビット1、パケット生成パターンA10600の区間番号10601が24の独立符号のビット2の値“0”と、パケット生成パターンA10600の区間番号10601が25の独立符号のビット2の値“0”と、の論理和演算結果“0”をビット2、パケット生成パターンA10600の区間番号10601が24の独立符号のビット3の値“0”と、パケット生成パターンA10600の区間番号10601が25の独立符号のビット3の値“0”と、の論理和演算結果“0”をビット3、パケット生成パターンA10600の区間番号10601が24の独立符号のビット4の値“0”と、パケット生成パターンA10600の区間番号10601が25の独立符号のビット4の値“1”と、の論理和演算結果“1”をビット4、パケット生成パターンA10600の区間番号10601が24の独立符号のビット5の値“1”と、パケット生成パターンA10600の区間番号10601が25の独立符号のビット5の値“1”と、の論理和演算結果“1”をビット5、の6ビットの2進数とみなし、16進数表記で“33”となる。ここで、独立符号A12200は、1個の区間番号のみに反射光10111が返ってきたときの、パケット1から6の信号値に反射光10111が含まれているものを“1”、反射光10111が含まれていないものを“0”、としたもので、隣接符号A12201は、2個の隣接する区間番号にまたがって反射光10111が返ってきたときの、パケット1から6の信号値に反射光10111が含まれているものを“1”、反射光10111が含まれていないものを“0”、としたもので、パケット生成パターンA10600に基づいて、区間番号ごとの撮像符号12120を推定したものである。
以上より、独立符号A12200、および、隣接符号A12201と、パケット生成パターンA10600を示すパケット生成パターン識別信号12170の“0”と、をアドレスとして、独立符号A12200と隣接符号A12201に対応した区間番号10601をデータとしてメモリ(LUT)12180を初期化し、撮像符号12120と、パケット生成パターン識別信号12170と、をアドレスとしてメモリ(LUT)12180をリードアクセスすることで、パケット生成パターンA10600で撮像された画像に対して、撮像符号12120を距離に相当する区間番号へ変換することが可能である。
【0100】
テーブル12210は、メモリ(LUT)12180を初期化するためのデータセットの一部である。独立符号A12220は16進数表記で“10”のため、テーブル12210の16進数表記のアドレス“10”のデータは、独立符号A12220の区間番号12221である7となる。また、隣接符号A12223は16進数表記で“33”のため、テーブル12210の16進数表記のアドレス“33”のデータは、隣接符号A12223の区間番号12224である24と25の平均値24.5が設定される。これは、隣接符号12223の区間番号12224は、区間番号24と25にまたがって、反射光10111が返ってきたことは分かるが、さらに詳細な反射光10111が返ってきたタイミングは分からないため、隣接する2個の区間の中間で、反射光10111が返ってきたとして、2個の隣接する区間番号の平均値を使用することで、最大誤差を区間の半分に抑えることが可能となる。
【0101】
図23に示すように、メモリ(LUT)12180の初期値は、光源部10102と固体撮像部10105とを制御する、パケット生成パターンB10700から生成される。
【0102】
はじめに、パケット生成パターンB10700のパケット1から6の露光回数12101から12106の算出方法について説明する。パケット1から6の信号値に含まれる、背景光反射光10142の量は、パケット1から6の露光パルス10121から10126をHighレベルにする回数(露光回数)に比例する。このため、制御部10106は、パケット1から6の露光パルスごとに、すべての区間番号10601において、パケット1から6の露光パルスが“1”である区間の数を算出することで、パケット1から6の露光回数12101から12106を生成する。
【0103】
次に、メモリ(LUT)12180の初期値(アドレス0x40から0x7Fまで)の生成方法について説明する。制御部10106は、パケット生成パターンB10700のパケット1発光パルスをビット0、パケット生成パターンB10700のパケット2発光パルスをビット1、パケット生成パターンB10700のパケット3発光パルスをビット2、パケット生成パターンB10700のパケット4発光パルスをビット3、パケット生成パターンB10700のパケット5発光パルスをビット4、パケット生成パターンB10700のパケット6発光パルスをビット5、とみなした6ビットの2進数として、独立符号B12300を生成する。例えば、12321の区間番号10601が7の独立符号B12320は、パケット生成パターンB10700の区間番号10601が7のパケット1発光パルスの“0”をビット0、パケット生成パターンB10700の区間番号10601が7のパケット2発光パルスの“0”をビット1、パケット生成パターンB10700の区間番号10601が7のパケット3発光パルスの“0”をビット2、パケット生成パターンB10700の区間番号10601が7のパケット4発光パルスの“0”をビット3、パケット生成パターンB10700の区間番号10601が7のパケット5発光パルスの“1”をビット4、パケット生成パターンB10700の区間番号10601が7のパケット6発光パルスの“0”をビット5、の6ビットの2進数とみなし、16進数表記で“10”となる。
【0104】
また、制御部10106は、隣接する2個の区間の独立符号B12300のビットごとの論理和演算により、隣接符号B12301を生成する。例えば、12324の区間番号10601が24と25の隣接している箇所の隣接符号12323は、パケット生成パターンB10700の区間番号10601が24の独立符号のビット0の値“1”と、パケット生成パターンB10700の区間番号10601が25の独立符号のビット0の値“0”と、の論理和演算結果“1”をビット0、パケット生成パターンB10700の区間番号10601が24の独立符号のビット1の値“1”と、パケット生成パターンB10700の区間番号10601が25の独立符号のビット1の値“1”と、の論理和演算結果“1”をビット1、パケット生成パターンB10700の区間番号10601が24の
独立符号のビット2の値“0”と、パケット生成パターンB10700の区間番号10601が25の独立符号のビット2の値“0”と、の論理和演算結果“0”をビット2、パケット生成パターンB10700の区間番号10601が24の独立符号のビット3の値“0”と、パケット生成パターンB10700の区間番号10601が25の独立符号のビット3の値“0”と、の論理和演算結果“0”をビット3、パケット生成パターンB10700の区間番号10601が24の独立符号のビット4の値“0”と、パケット生成パターンB10700の区間番号10601が25の独立符号のビット4の値“1”と、の論理和演算結果“1”をビット4、パケット生成パターンB10700の区間番号10601が24の独立符号のビット5の値“1”と、パケット生成パターンB10700の区間番号10601が25の独立符号のビット5の値“1”と、の論理和演算結果“1”をビット5、の6ビットの2進数とみなし、16進数表記で“33”となる。ここで、独立符号B12300は、1個の区間番号のみに反射光10111が返ってきたときの、パケット1から6の信号値に反射光10111が含まれているものを“1”、反射光10111が含まれていないものを“0”、としたもので、隣接符号B12301は、2個の隣接する区間番号にまたがって反射光10111が返ってきたときの、パケット1から6の信号値に反射光10111が含まれているものを“1”、反射光10111が含まれていないものを“0”、としたもので、パケット生成パターンB10700に基づいて、区間番号ごとの撮像符号12120を推定したものである。
【0105】
以上より、独立符号B12300、および、隣接符号B12301と、パケット生成パターンB10700を示すパケット生成パターン識別信号12170の“1”と、をアドレスとして、独立符号B12300と隣接符号B12301に対応した区間番号10601をデータとしてメモリ(LUT)12180を初期化し、撮像符号12120と、パケット生成パターン識別信号12170と、をアドレスとしてメモリ(LUT)12180をリードアクセスすることで、パケット生成パターンB10700で撮像された画像に対して、撮像符号12120を距離に相当する区間番号へ変換することが可能である。
【0106】
テーブル12310は、メモリ(LUT)12180を初期化するためのデータセットである。独立符号12320は16進数表記で“10”のため、テーブル12310の16進数表記のアドレス“10”のデータは、パケット生成パターンB10700において、露光パルスが1である区間番号10601の30から、独立符号B12320の区間番号12321である7を減算した、23となる。また、隣接符号B12323は16進数表記で“33”のため、テーブル12310の16進数表記のアドレス“33”のデータは、パケット生成パターンB10700において、露光パルスが1である区間番号10601の30から、隣接符号B12323の区間番号12324である24と25の平均値24.5を減算した、5.5が設定される。これは、隣接符号B12323の区間番号12324は、区間番号24と25にまたがって、反射光10111が返ってきたことは分かるが、さらに詳細な反射光10111が返ってきたタイミングは分からないため、隣接する2個の区間の中間で、反射光10111が返ってきたとして、2個の隣接する区間番号の平均値を使用することで、最大誤差を区間の半分に抑えることが可能となる。
【0107】
ここで、制御部10106に与えるパケット生成パターンA10600、および、パケット生成パターンB10700の生成方法について説明する。上記のパケット1から6の信号値から生成した撮像符号12120を用いて区間番号を算出するためには、撮像符号12120と区間番号が一対一に対応してなければならない。
【0108】
そのため、パケット生成パターンA10600は、独立符号A12200と、隣接符号A12201と、の値が重複しないように決定し、撮像符号12120と区間番号とを一対一に対応させている。また、パケット生成パターンB10700も同様に、独立符号B12300と、隣接符号B12301と、の値が重複しないように決定し、撮像符号12120と区間番号とを一対一に対応させている。なお、フレーム単位でパケット生成パタ
ーンA10600と、パケット生成パターンB10700と、を切り替えているため、独立符号A12200、および、隣接符号A12201と、独立符号B12300、および、隣接符号B12301と、は重複してもよい。
【0109】
また、独立符号A12200と、隣接符号A12201と、独立符号B12300と、隣接符号B12301と、は16進数表記で“00”の値をとならないように、パケット生成パターンA10600と、パケット生成パターンB10700と、を決定している。独立符号A12200、隣接符号A12201、独立符号B12300、または、隣接符号B12301の値が“00”のタイミングで反射光10111が返ってきた場合、パケット1から6の露光パルス10121から10126はLowレベルのため、パケット1から6の信号値には、反射光10111成分が含まれない。また、対象物10101が区間番号0から30の測距範囲内に存在しない場合も、パケット1から6の信号値には、反射光10111成分が含まれない。このため、パケット1から6の信号値から、この2つの条件を判別することが不可能なため、独立符号A12200と、隣接符号A12201と、独立符号B12300と、隣接符号B12301と、は16進数表記で“00”の値とならないように、パケット生成パターンA10600と、パケット生成パターンB10700と、を生成している。また、撮像符号12120が、独立符号A12200、隣接符号A12201、独立符号B12300、および、隣接符号B12301に存在しない“00”と一致した場合に備え、テーブル12210、および、テーブル12310のライトデータ(区間番号)を-1という負の値に設定しておくことで、区間番号を正しく算出できていないことを判別するようにすることが可能である。
【0110】
図24は、実施の形態1に係わるパケット生成パターンA10600で駆動した場合の距離演算部10108のタイミングチャートである。
【0111】
図中の表記について、「P1(11)Sig」~「P6(11)Sig」の表記は、以下の説明中の、画素アドレス11の画素10200のパケット1から6の信号値を示す。
【0112】
「P1(11)CT」~「P6(11)CT」の表記は、以下の説明中の、画素アドレス11の画素10200のパケット1から6の露光回数を示し、選択回路12107の出力に該当する。
【0113】
「P1(11)Sig/CT1」の表記は、画素アドレス11の画素10200の(固体撮像部出力信号10130のパケット1信号値)/(パケット1露光回数)を示し、パケット1同時化B信号12121に該当する。
【0114】
「min(11)」の表記は、画素アドレス11の画素10200のパケット1同時化B信号12121からパケット1同時化B信号12126のうちの最小値を示し、同時化B最小信号12127に該当する。
【0115】
「min(11)×CT1」の表記は、画素アドレス11の画素10200の(同時化B最小信号12127)×(パケット1露光回数)を示し、パケット1乗算信号12131に該当する。
【0116】
「P1(11)Sig-mul」の表記は、画素アドレス11の画素10200の(パケット1同時化A信号12141)-(パケット1乗算信号12131)を示し、パケット1減算信号12151に該当する。
【0117】
「mx(11)」の表記は、画素アドレス11の画素10200のパケット1減算信号12151からパケット6減算信号12156のうちの最大値を示し、最大値信号121
57に該当する。
【0118】
「mn(11)」の表記は、画素アドレス11の画素10200のパケット1減算信号12151からパケット6減算信号12156のうちの最小値を示し、最小値信号12158に該当する。
【0119】
「th(11)」の表記は、(mx(11)+mn(11))/2、つまり画素アドレス11の画素10200の最大値信号12157と最小値信号12158との平均を示し、閾値信号12160に該当する。
【0120】
「P1(11)Bin」~「P6(11)Bin」の表記は、以下の説明中の、画素アドレス11の画素10200のパケット1から6の符号を示し、画素アドレス11の画素10200の撮像符号12120に該当する。
【0121】
「Nd(11)」の表記は、画素アドレス11の画素10200の区間番号信号10131に該当する。ここでは、「Nd(11)」等は整数で表される。
【0122】
図24に示すように、固体撮像部出力信号10130から有効な信号値が出力される前のタイミング12400で、制御部10106は、制御バス経由で、パケット1から6の露光回数12101から12106と、メモリ(LUT)12180と、に値を設定する。なお、パケット1露光回数12101は11、パケット2露光回数12102は11、パケット3露光回数12103は12、パケット4露光回数12104は11、パケット5露光回数12105は11、パケット6露光回数12106は14、メモリ(LUT)12180は、テーブル12210、および、テーブル12310のデータを書き込む。タイミング12401で、固体撮像部出力信号10130から、画素アドレス11のパケット1から6の信号値が順次送られてくる。送られてきた信号値は、順次、同時化部(A)12110に送られると同時に、パケット1から6の露光回数12101から12106と除算され、同時化部(B)12109に送られる。タイミング12402で、同時化部(A)出力信号12141から12146と、同時化部(B)出力信号12121から12126と、パケット1から6の露光回数12101から12106と、を使って、撮像符号12120を決定する。撮像符号12120と、パケット生成パターン識別信号12170と、をビット連結したものをアドレスとして、メモリ(LUT)12180のリードアクセスを行い、タイミング12403で画素アドレス11の距離に対応した区間番号信号10131が出力される。この動作を2次元に配置されたすべての画素10200で行うことで、2次元の区間番号をすべて出力する。
【0123】
ここで、パケット生成パターンA10600と、パケット生成パターンB10700と、の切り替え方法、つまり、
図4に示す、フレーム駆動パターンA10400と、フレーム駆動パターンB10401と、の切り替え方法について説明する。
【0124】
フレーム駆動パターンA10400は、
図4と、
図6に示すように、パケット1から6の単位駆動パターンA10431から10436は、1フレームあたり、300回×12回の3600回実行される。1回のパケット1単位駆動パターンA10431で、11回の露光を行うため、パケット1単位駆動パターンA10431は、1フレームあたり、11回×3600回=39600回の露光を行うことになる。1回のパケット2単位駆動パターンA10432で、11回の露光を行うため、パケット2単位駆動パターンA10432は、1フレームあたり、11回×3600回=39600回の露光を行うことになる。1回のパケット3単位駆動パターンA10433で、12回の露光を行うため、パケット3単位駆動パターンA10433は、1フレームあたり、12回×3600回=43200回の露光を行うことになる。1回のパケット4単位駆動パターンA10434で、1
1回の露光を行うため、パケット4単位駆動パターンA10434は、1フレームあたり、11回×3600回=39600回の露光を行うことになる。1回のパケット5単位駆動パターンA10435で、11回の露光を行うため、パケット5単位駆動パターンA10435は、1フレームあたり、11回×3600回=39600回の露光を行うことになる。1回のパケット6単位駆動パターンA10436で、14回の露光を行うため、パケット6単位駆動パターンA10436は、1フレームあたり、14回×3600回=50400回の露光を行うことになる。このため、1フレーム合計で、39600回+39600回+43200回+39600回+39600回+50400回=252000回の露光が行われることになる。
【0125】
フレーム駆動パターンB10401は、
図4と、
図7に示すように、1回のパケット1単位駆動パターンB10451で、1回の露光を行う。パケット1単位駆動パターンB10451は、1フレームあたり、300回×12回の3600回実行されるため、パケット1単位駆動パターンB10451は、1フレームあたり、1回×3600回=3600回の露光を行うことになる。なお、パケット2から6の単位駆動パターンBについても、同様に、1フレームあたり、3600回の露光が行われるため、1フレーム合計で、3600回×6パケット分=21600回の露光が行われることになる。
【0126】
したがって、フレーム駆動パターンB10401の方が、フレーム駆動パターンA10400より、露光回数が少ないため、フレーム駆動パターンB10401を使用することで、背景光反射光10142による影響を低減できるため、信号値のSNを改善することが可能となる。
【0127】
一方、フレーム駆動パターンA10400は、
図4と、
図6に示すように、1回のパケット1単位駆動パターンA10431で、1回の発光を行う。パケット1単位駆動パターンA10431は、1フレームあたり、300回×12回の3600回実行されるため、パケット1単位駆動パターンA10431は、1フレームあたり、1回×3600回=3600回の発光を行うことになる。なお、パケット2から6の単位駆動パターンA10432から10436についても、同様に、1フレームあたり、3600回の発光が行われるため、1フレーム合計で、3600回×6パケット分=21600回の発光が行われることになる。
【0128】
フレーム駆動パターンB10401は、
図4と、
図7に示すように、パケット1から6の単位駆動パターンB10451から10456は、1フレームあたり、300回×12回の3600回実行される。1回のパケット1単位駆動パターンB10451で、11回の発光を行うため、パケット1単位駆動パターンB10451は、1フレームあたり、11回×3600回=39600回の発光を行うことになる。1回のパケット2単位駆動パターンB10452で、11回の発光を行うため、パケット2単位駆動パターンB10452は、1フレームあたり、11回×3600回=39600回の発光を行うことになる。1回のパケット3単位駆動パターンB10453で、12回の発光を行うため、パケット3単位駆動パターンB10453は、1フレームあたり、12回×3600回=43200回の発光を行うことになる。1回のパケット4単位駆動パターンB10454で、11回の発光を行うため、パケット4単位駆動パターンB10454は、1フレームあたり、11回×3600回=39600回の発光を行うことになる。1回のパケット5単位駆動パターンB10455で、11回の発光を行うため、パケット5単位駆動パターンB10455は、1フレームあたり、11回×3600回=39600回の発光を行うことになる。1回のパケット6単位駆動パターンB10456で、14回の発光を行うため、パケット6単位駆動パターンB10456は、1フレームあたり、14回×3600回=50400回の発光を行うことになる。このため、1フレーム合計で、39600回+39600回+43200回+39600回+39600回+50400回=252000回
の発光が行われることになる。
【0129】
したがって、フレーム駆動パターンA10400の方が、フレーム駆動パターンB10401より、発光回数が少ないため、フレーム駆動パターンA10400を使用することで、消費電力を少なくすることが可能となる。なお、消費電力は、発光回数ではなく、電流計など別手段で測定したものでもよい。
【0130】
以上より、背景光反射光10142が少ない場合は、フレーム駆動パターンA10400を使用する割合を多くし、フレーム駆動パターンB10401を使用する割合を少なくすることで、消費電力を削減することが可能となる。また、背景光反射光10142が多い場合は、フレーム駆動パターンB10401を使用する割合を多くし、フレーム駆動パターンA10400を使用する割合を少なくすることで、信号値のSN(測距精度)を確保することが可能となる。
【0131】
これによれば、背景光反射光10142や、消費電力に応じて、パケット生成パターンA10600と、パケット生成パターンB10700と、をフレーム単位で切り替え、パケット生成パターンA10600と、パケット生成パターンB10700と、を使用する割合を制御することで、消費電力と信号値のSN(測距精度)の最適化を実現することができる。
【0132】
以上説明してきたように、実施の形態1に係る測距装置は、光照射タイミングを指示する発光パルスと、被写体からの反射光の露光タイミングを指示する露光パルスと、を発生させるパルス生成部と、露光パルスに従って画素の信号値を保持する複数のパケットを生成する固体撮像部と、測距範囲を分割した複数の距離区間に対応する複数の単位区間において2以上の露光パルスを発生させる複数の第1のパケット生成符号、または、複数の単位区間において2以上の発光パルスを発生させる複数の第2のパケット生成符号に従って、パルス生成部を制御する制御部と、発光パルスに従って光の照射を行う光源部と、固体撮像部から出力される複数のパケットに基づき、距離を算出する距離演算部と、を備え、制御部は、複数の第1のパケット生成符号と、複数の第2のパケット生成符号とを切り換える。
【0133】
これによれば、さらなる改善を図ることができる。例えば、背景光が多い場合に距離区間の特定における精度劣化を抑制することと、消費電力を抑制することとのバランスを調整可能にする。
【0134】
ここで、複数の第1のパケット生成符号の数は、n1(n1は4以上の整数)であり、複数の第2のパケット生成符号の数は、n2(n2は4以上の整数)であり、制御部は、複数の第1のパケット生成符号における単位区間ごとの露光パルスの有無を示すn1ビットの2進数を第1独立符号として生成し、複数の第2のパケット生成符号における単位区間ごとの発光パルスの有無を示すn2ビットの2進数を第2独立符号として生成し、距離演算部は、複数の第1のパケット生成符号に基づいて生成されたn1種類のパケットの信号値を2値化することによりn1ビットの2進数を第1撮像符号として決定し、第1独立符号と、第1撮像符号と、を比較し、一致する単位区間に対応する距離を算出し、複数の第2のパケット生成符号に基づいて生成されたn2種類のパケットの信号値を2値化することによりn2ビットの2進数を第2撮像符号として決定し、第2独立符号と、第2撮像符号と、を比較し、一致する単位区間に対応する距離を算出してもよい。
【0135】
これによれば、測距範囲を分割した複数の距離区間において反射光を生じさせた物体が存在する距離区間を特定することができる。
【0136】
ここで、n1はn2と等しくてもよい。
【0137】
これによれば、複数の第1のパケット生成符号と複数の第2のパケット生成符号とで、測距範囲を分割した距離区間を同数にすることができる。
【0138】
ここで、第1独立符号のそれぞれは、第2独立符号のいずれか1つと同じビットパターンを有していてもよい。
【0139】
これによれば、第1独立符号と第2独立符号とで、距離演算部における処理の一部を共通化することができる。
【0140】
例えば、同じ単位区間に対応する第1独立符号と第2独立符号は同じビットパターンを有していてもよい。
【0141】
これによれば、第1独立符号および第2独立符号の一方の単位区間を対応する距離区間を特定する処理において、距離演算部における処理の一部を共通化することができる。
【0142】
ここで、制御部は、隣接する2個の単位区間に対応する2つ第1独立符号の各ビットの論理和または論理積により、n1ビットの第1隣接符号を生成し、隣接する2個の単位区間に対応する2つ第2独立符号の各ビットの論理和または論理積により、n2ビットの第2隣接符号を生成し、距離演算部は、第1隣接符号と第1撮像符号とを比較し、一致する場合に、対応する2つの単位区間の中間的な距離を算出し、第2隣接符号と第2撮像符号とを比較し、一致する場合に、対応する2つの単位区間の中間的な距離を算出してもよい。
【0143】
これによれば、測距精度を向上させることができる。
【0144】
ここで、複数の第1のパケット生成符号のそれぞれは、発光パルスを1回発生させることを示し、複数の第2のパケット生成符号のそれぞれは、露光パルスを1回発生させることを示してもよい。
【0145】
これによれば、複数の第1のパケット生成符号は、消費電力の低減に効果的であり、複数の第2のパケット生成符号は、背景光が多い場合でもSN比を向上させて、距離区間を特定するという測距の精度劣化を抑制するのに適している。
【0146】
ここで、複数の第1のパケット生成符号のそれぞれは、複数の単位区間の先頭の単位区間で発光すべきことを示し、かつ、複数の単位区間ごとに露光すべきか否かを示し、複数の第2のパケット生成符号のそれぞれは、複数の単位区間ごとに発光すべきか否かを示し、かつ、複数の単位区間のうちの末尾の単位区間での露光すべきことを示してもよい。
【0147】
これによれば、複数の第1のパケット生成符号は、消費電力の低減に効果的であり、複数の第2のパケット生成符号は、背景光が多い場合でもSN比を向上させて、距離区間を特定するという測距の精度劣化を抑制するのに適している。
【0148】
ここで、制御部は、固体撮像部によって生成されたパケットに基づいて背景光量を算出し、算出した背景光量に応じて第1のパケット生成符号と、第2のパケット生成符号と、を切り替えてもよい。
【0149】
これによれば、背景光が多い場合に距離区間の特定における精度劣化を抑制することと、消費電力を抑制することとを最適化することが可能である。
【0150】
ここで、制御部は、測距装置における消費電力を測定し、測定した消費電力に応じて、第1のパケット生成符号と、第2のパケット生成符号と、を切り替えてもよい。
【0151】
これによれば、距離区間の特定における精度劣化を抑制することと、消費電力を抑制することとを最適化することが可能である。
【0152】
ここで、制御部は、フレームごとに、複数の第1のパケット生成符号と、複数の第2のパケット生成パターン符号と、を切り替えてもよい。
【0153】
これによれば、切り換えを容易に実施することができる。
【0154】
また、実施の形態1に係る測距方法は、光照射タイミングを指示する発光パルスに従って光の照射を行う光源部と、被写体からの反射光の露光タイミングを指示する露光パルス従って画素の信号値を保持する複数のパケットを生成する固体撮像部と、固体撮像部から出力される複数のパケットに基づき、距離を算出する距離演算部と、を備える測距装置における測距方法であって、測距範囲を分割した複数の距離区間に対応する複数の単位区間において2以上の露光パルスを発生させる複数の第1のパケット生成符号、および、複数の単位区間において2以上の発光パルスを発生させる複数の第2のパケット生成符号を取得し、複数の第1のパケット生成符号と、複数の第2のパケット生成符号とを切り換えながら測距動作を実施する。
【0155】
これによれば、さらなる改善を図ることができる。例えば、背景光が多い場合に距離区間の特定における精度劣化を抑制することと、消費電力を抑制することとのバランスを調整可能にする。
【0156】
なお、複数の第1のパケット生成符号の数n1と、複数の第2のパケット生成符号の数n2は、異なっていてもよい。例えば、n1>n2とすれば、複数の第1のパケット生成符号による距離区間の数を、複数の第2のパケット生成符号による距離区間の数より多くすることができる。また、
図4のフレーム駆動パターンA10400と、フレーム駆動パターンB10401とで、発光パルスおよび露光パルスのパルス幅が異なっていてもよい。
【0157】
(実施の形態2)
実施の形態1は、フレーム単位でパケット生成パターンAと、パケット生成パターンBと、を切り替えることで、消費電力とSNを改善する構成例について説明した。実施の形態2では、1フレーム内で、パケット生成パターンAと、パケット生成パターンBと、を切り替える構成例について説明する。また、実施の形態1では、単位区間毎に第1独立符号と第2独立符号とが同じビットパターンを有する例を示したが 実施の形態2では、第1独立符号と第2独立符号とが複数の単位区間において時間反転している例についても説明する。
図25は、実施の形態2に係るTOF(Time Of Flight)型の測距装置及び周辺物の構成を模式的に示す図である。
【0158】
同図の測距装置は、
図1の測距装置と比較して、距離演算部10108の代わりに距離演算部22508を備える点と、制御部10106が複数の第Iのパケット生成符号と複数の第2のパケット生成符号との切り換えを1フレーム内で実施する点と、が主として異なっている。以下同じ点について説明の重複を避けて、異なる点を中心に説明する。
【0159】
距離演算部22508は、距離演算部10108とほぼ同じである。ただし、距離演算部22508が、複数の単位区間において第1独立符号と第2独立符号とが時間反転して
いる場合に対応する点が異なる。
【0160】
なお、実施の懈怠2の測距装置の画素構成および固体撮像部10105の構成は
図2および
図3と同じでよい。
【0161】
図26は、実施の形態2に係わる光源部10102と固体撮像部10105の制御シーケンスで、全フレームにおいて、フレーム駆動パターンC22600を用いて撮像を行う。
図26にフレーム駆動パターンC22600の詳細を示す。
図26に示す制御シーケンスは、
図25に示すように、制御部10106から制御バスを通して、パルス生成部10107に、フレーム単位駆動パターン繰り返し回数(12回)と、パケット1から6の単位駆動パターン繰り返し回数(100回と200回)と、が指示され、そのフレーム単位駆動パターン繰り返し回数と、パケット1から6の単位駆動パターン繰り返し回数と、に従って、発光パルス10120と、パケット1から6の露光パルス10121から10126と、排出駆動パルス10127と、がパルス生成部10107で生成される。なお、
図26では、パケット1から6の単位駆動パターンA10431から10436の生成について説明し、
図29から
図42とで、パケット1から6の単位駆動パターンA10431から10436と、パケット1から6の単位駆動パターンB10451から10456と、からの発光パルス10120と、パケット1から6の露光パルス10121から10126と、排出駆動パルス10127と、の生成方法について説明する。
【0162】
図26に示すように、1フレームは、フレーム駆動パターンC22600から構成されている。フレーム駆動パターンC22600は、フレーム単位駆動パターンC22610の12回の繰り返しと、すべての画素10200の信号電荷蓄積部に蓄積された信号電荷を固体撮像部10105から出力する撮像データ読み出し10420と、から構成されている。フレーム単位駆動パターンC22610は、パケット1駆動パターンC22621と、パケット2駆動パターンC22622と、パケット3駆動パターンC22623と、パケット4駆動パターンC22624と、パケット5駆動パターンC22625と、パケット6駆動パターンC22626と、から構成されている。パケット1駆動パターンC22621は、パケット1単位駆動パターンA10431の100回の繰り返しと、パケット1単位駆動パターンB10451の200回の繰り返しと、から構成されている。パケット2単位駆動パターンA10432の100回の繰り返しと、パケット2単位駆動パターンB10452の200回の繰り返しと、から構成されている。パケット3単位駆動パターンA10433の100回の繰り返しと、パケット3単位駆動パターンB10453の200回の繰り返しと、から構成されている。パケット4単位駆動パターンA10434の100回の繰り返しと、パケット4単位駆動パターンB10454の200回の繰り返しと、から構成されている。パケット5単位駆動パターンA10435の100回の繰り返しと、パケット5単位駆動パターンB10455の200回の繰り返しと、から構成されている。パケット6単位駆動パターンA10436の100回の繰り返しと、パケット6単位駆動パターンB10456の200回の繰り返しと、から構成されている。パケット1から6の単位駆動パターンA10431から10436と、パケット1から6の単位駆動パターンB10451から10456と、は発光パルス10120と、パケット1から6の露光パルス10121から10126と、排出駆動パルス10127と、を駆動する。パケット1から6の単位駆動パターンA10431から10436の詳細については、
図29と
図31から
図36で説明する。パケット1から6の単位駆動パターンB10451から10456の詳細については、
図30と
図37から
図42で説明する。また、
図26に示す、光源部10102と固体撮像部10105の制御シーケンスは一例であり、これに限定するものではない。例えば、フレーム単位駆動パターンA10410と、フレーム単位駆動パターンB10411と、を切り替えて、フレーム駆動パターンC22600を構成してもよい。
【0163】
パケット1単位駆動パターンA10431と、パケット1単位駆動パターンB10451と、はパケット1駆動パターンC22621で、合計で300回繰り返され、パケット1駆動パターンC22621は、フレーム単位駆動パターンC22610で12回繰り返される。パケット2単位駆動パターンA10432と、パケット2単位駆動パターンB10452と、はパケット2駆動パターンC22622で、合計で300回繰り返され、パケット2駆動パターンC22622は、フレーム単位駆動パターンC22610で12回繰り返される。パケット3単位駆動パターンA10433と、パケット3単位駆動パターンB10453と、はパケット3駆動パターンC22623で、合計で300回繰り返され、パケット3駆動パターンC22623は、フレーム単位駆動パターンC22610で12回繰り返される。パケット4単位駆動パターンA10434と、パケット4単位駆動パターンB10454と、はパケット4駆動パターンC22624で、合計で300回繰り返され、パケット4駆動パターンC22624は、フレーム単位駆動パターンC22610で12回繰り返される。パケット5単位駆動パターンA10435と、パケット5単位駆動パターンB10455と、はパケット5駆動パターンC22625で、合計で300回繰り返され、パケット5駆動パターンC22625は、フレーム単位駆動パターンC22610で12回繰り返される。パケット6単位駆動パターンA10436と、パケット6単位駆動パターンB10456と、はパケット6駆動パターンC22626で、合計で300回繰り返され、パケット6駆動パターンC22626は、フレーム単位駆動パターンC22610で12回繰り返される。つまり、パケット1から6の単位駆動パターンA10431から10436はそれぞれ、100×12=1200回繰り返される。パケット1から6の単位駆動パターンB10451から10456はそれぞれ、200×12=2400回繰り返される。このような多数回を繰り返すことで、1回あたりの照射光10110の光量が少なくても、十分な光量を確保することが可能である。一方、フレーム駆動パターンC22600を12個のフレーム単位駆動パターンC22610に分割することで、1回あたりのフレーム単位駆動パターンC22610に必要な時間が短くなり、パケット1から6の見かけ上の撮像タイミングを同時化できる。そして、フレーム単位駆動パターンC22610を12回繰り返すことで、対象物10101が移動することによるブレは、パケット1から6に均等に発生することで、対象物10101が移動することによる距離演算時のデータ化け等の副作用を抑制することが可能となる。
【0164】
図27に、フレーム駆動パターンC22600の簡易タイミングチャートを示す。フレーム駆動パターンC22600は、
図29と、
図30と、に示すパケット生成パターンA22900と、パケット生成パターンB23000と、から生成される。パケット1から6の単位駆動パターンA10431から10436は、複数の第1のパケット生成符号の具体例であり、
図27に示すように、1回の発光パルスに対し、複数回の露光パルスを生成する駆動である。一方、パケット1から6の単位駆動パターンB10451から10456は、複数の第2のパケット符号化の具体例であり、
図27に示すように、複数回の発光パルスに対し、1回の露光パルスを生成する駆動である。制御部10106は、フレーム内で、パケット生成パターンA22900と、パケット生成パターンB23000と、の切り替えを行っている。
図28に、パケット生成パターンA22900と、パケット生成パターンB23000と、の切り替え部分を拡大した図を示す。
図26に示すパケット1単位駆動パターンA22630と、パケット1単位駆動パターンB10451と、のタイミングチャートを示す。パケット1単位駆動パターンA22630は、
図29に示すパケット生成パターンA22900から生成され、パケット1単位駆動パターンB10451は、
図30に示すパケット生成パターンB23000から生成される。パケット1単位駆動パターンA22630は、1回の発光パルスに対し、複数回の露光パルスを生成する駆動であり、パケット1単位駆動パターンB10451は、複数回の発光パルスに対し、1回の露光パルスを生成する駆動であり、パケット生成パターンA22900と、パケット生成パターンB23000と、の切り替えを行っている個所となる。
【0165】
また、パケット1単位駆動パターンA22630のタイミングチャート22800と、パケット1単位駆動パターンB10451のタイミングチャート22801と、の時間を合わせて記載したパケット1単位駆動パターンB10451のタイミングチャートが22802である。ここで、パケット生成パターンA22900から生成されたパケット1単位駆動パターンA22630のパケット1露光パルス10121と、パケット生成パターンBから生成されたパケット1単位駆動パターンB10451の発光パルス10120と、は時間反転した関係になっている。例えば、パケット1単位駆動パターンA22630のパケット1露光パルス10121の露光パルス22803と、パケット1単位駆動パターンB10451の発光パルス10120の発光パルス22804と、が対応しており、パケット1単位駆動パターンA22630のパケット1露光パルス10121の露光パルス22805と、パケット1単位駆動パターンB10451の発光パルス10120の発光パルス22806と、が対応している。このように、パケット1単位駆動パターンA22630のと、パケット1単位駆動パターンB10451と、が時間反転した関係となるように、パケット生成パターンA22900と、パケット生成パターンB23000と、を使用することにより、フレーム内で、パケット生成パターンA22900と、パケット生成パターンB23000と、を切り替えることを可能にしている。
【0166】
図29は、実施の形態2に係わる、光源部10102を制御する発光パルス10120と、固体撮像部10105を制御するパケット1から6の単位駆動パターンA10431から10436と、排出駆動パルス10127を生成するために、制御部10106に与えられるパケット生成パターンA22900を示す図である。
図29に示すように、パケット生成パターンA22900は、区間番号10601が、0から30までの31区間に分割されており、区間番号10601ごとに、“0”または“1”の値が決められており、発光パルス10120と、露光パルス10121から10126の駆動を制御するための情報である。ここで、区間番号10601は、測距範囲を分割した複数の距離区間(単位区間とも呼ぶ)に付与された連番である。また、パケット生成パターンA22900は、制御部10106が内部のメモリに予め記憶していてもよいし、外部から動的に取得して内部のメモリに格納してもよい。
【0167】
区間番号10601と、パケット生成パターンA22900は制御バスを経由して、パルス生成部10107に送られ、パルス生成部10107は、区間番号10601と、パケット1から6の発光パルスと、露光パルスと、からパケット1から6の単位駆動パターンA10431から10436を生成する。なお、
図29に示す、パケット生成パターンA22900は一例であり、パケット生成パターンA22900をこれに限定するものではない。
【0168】
図31から
図36は、実施の形態2に係わるパケット1単位駆動パターンA10431からパケット6単位駆動パターンA10436を示すタイミングチャートである。
図31から
図36に示すように、パルス生成部10107は、単位区間(10ns)ごとに区間番号10601を0から79の80区間切り替えて、区間番号10601ごとに、発光パルス10120と、パケット1から6の露光パルス10121から10126と、排出駆動パルス10127と、を制御することで、パケット1から6の単位駆動パターンA10431から10436を生成する。パルス生成部10107の区間番号10601を、パケット生成パターンA22900の区間番号10601の最大値(30)の2倍以上の値(79)にしているのは、照射光10110が測距範囲外(区間番号10601の最大値より大きい区間番号)に位置する対象物10101からの反射光10111を受光しないようにするためである。このため、パケット生成パターンA22900の区間番号10601に存在しない区間番号においては、発光パルス10120をLowレベル、パケット1から6の露光パルス10121から10126をLowレベル、排出駆動パルス10127をHighレベルとしたパルスが生成される。このように、固体撮像部10105を
制御することで、撮像露光時間に相当するフレーム単位駆動パターンC22610の12回の繰り返しに必要な時間は、単位区間10ns×区間番号の数80×パケット単位駆動パターン繰り返し回数300回×パケット数6個×フレーム単位駆動パターン繰り返し回数12回=17.28msとなる。なお、この単位区間は、照射光10110とパケット1から6の露光パルス10121から10126のパルス幅が同じであることを規定するもので、パルス幅を10nsに限定するものではない。
【0169】
以下に、パケット生成パターンA22900の区間番号10601が存在する区間番号が0から30の、発光パルス10120と、パケット1から6の露光パルス10121から10126と、排出駆動パルス10127と、の制御方法について説明する。
【0170】
図31は、パケット1単位駆動パターンA10431を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA22900のパケット1の発光パルスが“1”のときにHighレベル、パケット生成パターンA22900のパケット1の発光パルスが“0”のときにLowレベル、として生成される。パケット1露光パルス10121は、パケット生成パターンA22900のパケット1の露光パルスが、“1”の場合はHighレベル、パケット生成パターンA22900のパケット1の露光パルスが、“0”の場合はLowレベル、として生成され、パケット2露光パルス10122と、パケット3露光パルス10123と、パケット4露光パルス10124と、パケット5露光パルス10125と、パケット6露光パルス10126と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA22900のパケット1の露光パルスが、“1”の場合はLowレベル、パケット生成パターンA22900のパケット1の露光パルスが、“0”の場合はHighレベルとして、パケット1露光パルス10121と論理が反転したパルスが生成される。
【0171】
図32は、パケット2単位駆動パターンA10432を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA22900のパケット2の発光パルスが“1”のときにHighレベル、パケット生成パターンA22900のパケット2の発光パルスが“0”のときにLowレベル、として生成される。パケット2露光パルス10122は、パケット生成パターンA22900のパケット2の露光パルスが、“1”の場合はHighレベル、パケット生成パターンA22900のパケット2の露光パルスが、“0”の場合はLowレベル、として生成され、パケット1露光パルス10121と、パケット3露光パルス10123と、パケット4露光パルス10124と、パケット5露光パルス10125と、パケット6露光パルス10126と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA22900のパケット2の露光パルスが、“1”の場合はLowレベル、パケット生成パターンA22900のパケット2の露光パルスが、“0”の場合はHighレベルとして、パケット2露光パルス10122と論理が反転したパルスが生成される。
【0172】
図33は、パケット3単位駆動パターンA10433を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA22900のパケット3の発光パルスが“1”のときにHighレベル、パケット生成パターンA22900のパケット3の発光パルスが“0”のときにLowレベル、として生成される。パケット3露光パルス10123は、パケット生成パターンA22900のパケット3の露光パルスが、“1”の場合はHighレベル、パケット生成パターンA22900のパケット3の露光パルスが、“0”の場合はLowレベル、として生成され、パケット1露光パルス10121と、パケット2露光パルス10122と、パケット4露光パルス10124と、パケット5露光パルス10125と、パケット6露光パルス10126と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA22900のパケット3の露光パルスが、“1”の場合はLowレベル、パケット生
成パターンA22900のパケット3の露光パルスが、“0”の場合はHighレベルとして、パケット3露光パルス10123と論理が反転したパルスが生成される。
【0173】
図34は、パケット4単位駆動パターンA10434を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA22900のパケット4の発光パルスが“1”のときにHighレベル、パケット生成パターンA22900のパケット4の発光パルスが“0”のときにLowレベル、として生成される。パケット4露光パルス10124は、パケット生成パターンA22900のパケット4の露光パルスが、“1”の場合はHighレベル、パケット生成パターンA22900のパケット4の露光パルスが、“0”の場合はLowレベル、として生成され、パケット1露光パルス10121と、パケット2露光パルス10122と、パケット3露光パルス10123と、パケット5露光パルス10125と、パケット6露光パルス10126と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA22900のパケット4の露光パルスが、“1”の場合はLowレベル、パケット生成パターンA22900のパケット4の露光パルスが、“0”の場合はHighレベルとして、パケット4露光パルス10124と論理が反転したパルスが生成される。
【0174】
図35は、パケット5単位駆動パターンA10435を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA22900のパケット5の発光パルスが“1”のときにHighレベル、パケット生成パターンA22900のパケット5の発光パルスが“0”のときにLowレベル、として生成される。パケット5露光パルス10125は、パケット生成パターンA22900のパケット5の露光パルスが、“1”の場合はHighレベル、パケット生成パターンA22900のパケット5の露光パルスが、“0”の場合はLowレベル、として生成され、パケット1露光パルス10121と、パケット2露光パルス10122と、パケット3露光パルス10123と、パケット4露光パルス10124と、パケット6露光パルス10126と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA22900のパケット5の露光パルスが、“1”の場合はLowレベル、パケット生成パターンA22900のパケット5の露光パルスが、“0”の場合はHighレベルとして、パケット5露光パルス10125と論理が反転したパルスが生成される。
【0175】
図36は、パケット6単位駆動パターンA10436を示すタイミングチャートである。発光パルス10120は、パケット生成パターンA22900のパケット6の発光パルスが“1”のときにHighレベル、パケット生成パターンA22900のパケット6の発光パルスが“0”のときにLowレベル、として生成される。パケット6露光パルス10126は、パケット生成パターンA22900のパケット6の露光パルスが、“1”の場合はHighレベル、パケット生成パターンA22900のパケット6の露光パルスが、“0”の場合はLowレベル、として生成され、パケット1露光パルス10121と、パケット2露光パルス10122と、パケット3露光パルス10123と、パケット4露光パルス10124と、パケット5露光パルス10125と、はすべての区間においてLowレベルとして生成される。また、排出駆動パルス10127は、パケット生成パターンA22900のパケット6の露光パルスが、“1”の場合はLowレベル、パケット生成パターンA22900のパケット6の露光パルスが、“0”の場合はHighレベルとして、パケット6露光パルス10126と論理が反転したパルスが生成される。
【0176】
図30に示すパケット生成パターンB23000は、パケット生成パターンA22900の露光パルスをパケット生成パターンBの発光パルスとして時間反転したものであり、パケット生成パターンA22900の発光パルスをパケット生成パターンBの露光パルスとして時間反転したものである。なお、時間反転とは、パケット生成パターンA22900の区間番号10601をKとしたときに、パケット生成パターンBの区間番号10601が、30―K から算出される区間に対応することを意味し、パケット生成パターンA
22900の区間番号10601が0の時間反転は、パケット生成パターンB23000の区間番号10601の30となり、パケット生成パターンA22900の区間番号10601が1の時間反転は、パケット生成パターンB23000の区間番号10601の29となる。なお、30は、パケット生成パターンA22900の区間番号10601の最大値である。
【0177】
以上より、パケット生成パターンB23000は、パケット生成パターンA22900の区間番号10601の全てにおいて、パケット生成パターンA22900の区間番号10601がKの発光パルスと、パケット生成パターンB23000の区間番号10601が30―Kの露光パルスと、が全パケットで一致し、パケット生成パターンA22900の区間番号10601がKの露光パルスと、パケット生成パターンB23000の区間番号10601が30―Kの発光パルスと、が全パケットで一致するように作成している。
【0178】
なお、
図30のパケット生成パターンB23000から、
図37から
図42に示す、発光パルス10120と、パケット1から6の単位駆動パターンB10451から10456と、排出駆動パルス10127と、を作成する方法については、
図29とのパケット生成パターンA22900から、
図31から
図36に示す、発光パルス10120と、パケット1から6の単位駆動パターンA10431から10436と、排出駆動パルス10127と、を作成する方法と同じため、説明は割愛する。
【0179】
なお、実施の形態2に係わる固体撮像部10105の撮像データ読み出し10420のタイミングについては、
図21と同様でよい。
【0180】
図43は、実施の形態2に係わる距離演算部22508の構成を示す図である。
図43に示すように、距離演算部22508は、制御部10106から制御バスを経由して制御される、パケット1から6の露光回数24301から24306と、メモリ(LUT)24380と、を有しており、パケット1から6の露光回数24301から24306の選択を行う選択回路12107と、固体撮像部出力信号10130と選択回路12107の出力信号との除算を行う除算器12108と、除算器12108の出力信号を画素アドレスごとに同時化を行う同時化部(B)12109と、同時化部(B)出力信号12121から12126の最小値を検出する最小値検出器12111と、最小値検出器出力信号12127とパケット1から6の露光回数24301から24306との乗算を行う乗算器12112と、固体撮像部出力信号10130を画素アドレスごとに同時化を行う同時化部(A)12110と、同時化部(A)出力信号12141から12146と乗算器出力信号12131から12136との減算を行う減算器12113と、減算信号12151から12156の最大値と最小値を検出する最大・最小検出器12114と、最大・最小検出器の最大値信号12157と最小値信号12158との平均値を算出し、閾値信号12160を生成する平均値算出器12115と、減算信号12151から12156と閾値信号12160との比較を行う比較器12102、および、メモリ(LUT)24380から構成されている。
【0181】
次に、距離演算部22508の動作を説明する。なお、固体撮像部出力信号10130のパケット1から6の信号値には、反射光10111が含まれていないパケットが1個以上存在し、反射光10111が含まれているパケットが1個以上存在することを前提に説明する。この制約の実現方法については、
図44で説明する。
【0182】
固体撮像部出力信号10130は、同時化部(A)12110で、画素アドレスごとに、パケット1から6の信号値が同時化され、同時化部(A)出力信号12141から12146が生成される。また、固体撮像部出力信号10130は、パケット1から6の信号値ごとにパケット1から6の露光パルス10121から10126がHighレベルにな
る回数が異なっているため、パケット1から6の信号値に含まれる背景光反射光10142の量をそろえるために、パケット1から6の信号値ごとに、パケット1から6の露光回数24301から24306を選択回路12107で選択して、除算器12108で除算され、同時化部(B)12109に入力される。なお、パケット1から6の露光回数24301から24306の生成方法については、
図44で説明する。同時化部(B)12109は、画素アドレスごとに、除算器12108の出力信号の同時化を行い、最小値検出器12111へ出力する。最小値検出器12111は、同時化部(B)出力信号12121から12126の最小値を検出することで、背景光反射光10142の光量に対応した信号値の推定を行い、最小値検出器出力信号12127を生成する。最小値検出器出力信号12127は、パケット1から6の露光回数24301から24306と、乗算器12112で乗算され、パケット1から6の信号値ごとに含まれる背景光反射光10142の光量に対応した信号値である乗算器出力信号12131から12136が生成される。同時化部(A)出力信号12141から12146と、乗算器出力信号12131から12136と、を減算器12113で減算することで、パケット1から6の信号値に含まれている背景光反射光10142成分を除去した、減算信号12151から12156を生成する。最大・最小検出器12114で、減算信号12151から12156の最大値信号12157と最小値信号12158を生成する。ここで、パケット1から6の信号値には、反射光10111が含まれていないパケットが1個以上存在し、反射光10111が含まれているパケットが1個以上存在するため、最大値信号12157は、反射光10111の光量に対応した信号値であり、最小値信号12158は、黒レベルの値である。最大値信号12157と最小値信号12158の平均値を平均値算出器12115で生成することで、反射光10111が含まれているパケットと、反射光10111が含まれていないパケットと、を検出するための閾値となる、閾値信号12160を生成する。この、最大値信号12157と、最小値信号12158と、の平均値である閾値信号12160と、減算信号12151から12156と、を比較器12102で比較することで、光電変換画素10201や、FDA10211から10216などの暗電流によるばらつきや、光ショットノイズの影響を軽減し、反射光10111が含まれている減算信号12151から12156の比較器12102の結果を“1”に、反射光10111が含まれていない減算信号12151から12156の比較器12102の結果を“0”に、することが可能である。このため、比較器出力信号12161から12166をビット連結した撮像符号12120は、反射光10111が含まれているパケットを示したものとなる。そして、撮像符号12120は、リードアドレスとして、メモリ(LUT)24380のアクセスに使用され、メモリ(LUT)24380のリードデータが区間番号信号10131として出力される。なお、メモリ(LUT)24380の初期値は、制御部10106から制御バス経由で設定され、メモリ(LUT)24380に設定する初期値の生成方法については、
図44で説明する。
【0183】
図44は、実施の形態2に係わるメモリ(LUT)24380の初期値の生成方法を示した図である。同図の上段は、
図29に示したパケット生成パターンA22900、独立符号A24400および隣接符号A24401を示す。また、同図下段は、メモリ24380つまりLUTを示す。
図45は、実施の形態2に係わるメモリ(LUT)24380の初期値の生成方法を示した図である。同図の上段は、
図30に示したパケット生成パターンB23000、独立符号B24500および隣接符号B24501を示す。また、同図下段は、メモリ24380つまりLUTを示す。なお、パケット生成パターンA22900から生成したテーブル24410と、パケット生成パターンB23000から生成したテーブル24510と、は同じになる。このため、
図44に示すパケット生成パターンA22900からのメモリ(LUT)24380の初期値の生成、または、
図45に示すパケット生成パターンB23000からのメモリ(LUT)24380の初期値の生成、のどちから一方を実施すればよい。
【0184】
図44の上段の独立符号A24400は、パケット生成パターンA22900、のパケット1から6の露光パルスを単位区間ごとに、nビット(ここではn=6)の2進数として、制御部10106によって生成される第1独立符号である。また、
図45の上段の独立符号B24500は、パケット生成パターンB23000、のパケット1から6の発光パルスを単位区間ごとに、nビット(ここではn=6)の2進数として、制御部10106によって生成される第2独立符号である。
図44は30個の第1独立符号があり、第1独立符号のそれぞれは、原則として他のいずれの第1独立符号とも異なる。また、
図45も30個の第2独立符号があり、第2独立符号のそれぞれは、原則として他のいずれの第2独立符号とも異なる。上記の第1撮像符号がいずれかの第1独立符号に一致する場合、当該画素の距離値は、対応する単位区間(距離区間)が示す距離になる。
【0185】
一方、上記の第2撮像符号がいずれかの第2独立符号(つまり独立符号B24500)に一致する場合、当該画素の距離値は、対応する単位区間を反転した単位区間番号(距離区間)が示す距離になる。
【0186】
また、
図44と
図45の例では、反転した関係にある2つ単位区間に対応する第1独立符号および第2独立符号は同じビットパターンを有するように設定されている。これにより1フレーム内で第1のパケット生成符号と第2のパケット生成符号と混在を容易にし、切り換えを容易にする。また、第1撮像符号および第2撮像符号を対応する距離区間を特定する処理において、距離演算部における処理の一部を共通化するためである。
【0187】
隣接符号A24401は、第1隣接符号の具体例であり、隣接する2個の単位区間に対応する2つ第1独立符号の各ビットの論理和で得られる符号である。隣接符号A24401は、例えば、制御部10106によって隣接する2個の単位区間に対応する2つ第1独立符号の各ビットの論理和により生成される。
【0188】
隣接符号B24501は、第2隣接符号の具体例であり、隣接する2個の単位区間に対応する2つ第2独立符号の各ビットの論理和で得られる符号である。隣接符号B24501は、例えば、制御部10106によって隣接する2個の単位区間に対応する2つ第2独立符号の各ビットの論理和により生成される。
【0189】
上記の第1撮像符号といずれかの第1隣接符号とが一致する場合、一致する第1隣接符号に対応する2つの単位区間の中間的な距離が、画素の距離値となる。
【0190】
一方、上記の第2撮像符号がいずれかの第2隣接符号に一致する場合、当該画素の距離値は、対応する単位区間を反転した単位区間番号(距離区間)が示す距離になる。
【0191】
図44に示すように、メモリ(LUT)24380の初期値は、光源部10102と固体撮像部10105とを制御する、パケット生成パターンA22900から生成される。
【0192】
はじめに、パケット生成パターンA22900のパケット1から6の露光回数24431から24436の算出方法について説明する。パケット1から6の信号値に含まれる、背景光反射光10142の量は、パケット1から6の露光パルス10121から10126をHighレベルにする回数(露光回数)に比例する。このため、制御部10106は、パケット1から6の露光パルスごとに、すべての区間番号10601において、パケット1から6の露光パルスが“1”である区間の数を算出することで、パケット1から6の露光回数24431から24436を生成する。
【0193】
次に、メモリ(LUT)24380の初期値の生成方法について説明する。制御部10106は、パケット生成パターンA22900のパケット1露光パルスをビット0、パケ
ット生成パターンA22900のパケット2露光パルスをビット1、パケット生成パターンA22900のパケット3露光パルスをビット2、パケット生成パターンA22900のパケット4露光パルスをビット3、パケット生成パターンA22900のパケット5露光パルスをビット4、パケット生成パターンA22900のパケット6露光パルスをビット5、とみなした6ビットの2進数として、独立符号A24400を生成する。例えば、24421の区間番号10601が7の独立符号A24420は、パケット生成パターンA22900の区間番号10601が7のパケット1露光パルスの“0”をビット0、パケット生成パターンA22900の区間番号10601が7のパケット2露光パルスの“0”をビット1、パケット生成パターンA22900の区間番号10601が7のパケット3露光パルスの“0”をビット2、パケット生成パターンA22900の区間番号10601が7のパケット4露光パルスの“0”をビット3、パケット生成パターンA22900の区間番号10601が7のパケット5露光パルスの“1”をビット4、パケット生成パターンA22900の区間番号10601が7のパケット6露光パルスの“0”をビット5、の6ビットの2進数とみなし、16進数表記で“10”となる。
【0194】
また、制御部10106は、隣接する2個の区間の独立符号A24400のビットごとの論理和演算により、隣接符号A24401を生成する。例えば、24424の区間番号10601が24と25の隣接している箇所の隣接符号A24423は、パケット生成パターンA22900の区間番号10601が24の独立符号のビット0の値“1”と、パケット生成パターンA22900の区間番号10601が25の独立符号のビット0の値“0”と、の論理和演算結果“1”をビット0、パケット生成パターンA22900の区間番号10601が24の独立符号のビット1の値“1”と、パケット生成パターンA22900の区間番号10601が25の独立符号のビット1の値“1”と、の論理和演算結果“1”をビット1、パケット生成パターンA22900の区間番号10601が24の独立符号のビット2の値“0”と、パケット生成パターンA22900の区間番号10601が25の独立符号のビット2の値“0”と、の論理和演算結果“0”をビット2、パケット生成パターンA22900の区間番号10601が24の独立符号のビット3の値“0”と、パケット生成パターンA22900の区間番号10601が25の独立符号のビット3の値“0”と、の論理和演算結果“0”をビット3、パケット生成パターンA22900の区間番号10601が24の独立符号のビット4の値“0”と、パケット生成パターンA22900の区間番号10601が25の独立符号のビット4の値“1”と、の論理和演算結果“1”をビット4、パケット生成パターンA22900の区間番号10601が24の独立符号のビット5の値“1”と、パケット生成パターンA22900の区間番号10601が25の独立符号のビット5の値“1”と、の論理和演算結果“1”をビット5、の6ビットの2進数とみなし、16進数表記で“33”となる。ここで、独立符号A24400は、1個の区間番号のみに反射光10111が返ってきたときの、パケット1から6の信号値に反射光10111が含まれているものを“1”、反射光10111が含まれていないものを“0”、としたもので、隣接符号A24401は、2個の隣接する区間番号にまたがって反射光10111が返ってきたときの、パケット1から6の信号値に反射光10111が含まれているものを“1”、反射光10111が含まれていないものを“0”、としたもので、パケット生成パターンA22900に基づいて、区間番号ごとの撮像符号12120を推定したものである。
【0195】
以上より、独立符号A24400、および、隣接符号A24401をアドレスとして、独立符号A24400と隣接符号A24401に対応した区間番号10601をデータとしてメモリ(LUT)24380を初期化し、撮像符号12120と、パケット生成パターン識別信号12170と、をアドレスとしてメモリ(LUT)24380をリードアクセスすることで、パケット生成パターンA22900で撮像された画像に対して、撮像符号12120を距離に相当する区間番号へ変換することが可能である。
【0196】
テーブル24410は、メモリ(LUT)24380を初期化するためのデータである
。独立符号A24420は16進数表記で“10”のため、テーブル24410の16進数表記のアドレス“10”のデータは、独立符号A24420の区間番号24421である7となる。また、隣接符号A24423は16進数表記で“33”のため、テーブル24410の16進数表記のアドレス“33”のデータは、隣接符号A24423の区間番号24424である24と25の平均値24.5が設定される。これは、隣接符号24423の区間番号24424は、区間番号24と25にまたがって、反射光10111が返ってきたことは分かるが、さらに詳細な反射光10111が返ってきたタイミングは分からないため、隣接する2個の区間の中間で、反射光10111が返ってきたとして、2個の隣接する区間番号の平均値を使用することで、最大誤差を区間の半分に抑えることが可能となる。
【0197】
図45に示すように、メモリ(LUT)24380の初期値は、光源部10102と固体撮像部10105とを制御する、パケット生成パターンB23000から生成される。
【0198】
はじめに、パケット生成パターンB23000のパケット1から6の露光回数24531から24536の算出方法について説明する。パケット1から6の信号値に含まれる、背景光反射光10142の量は、パケット1から6の露光パルス10121から10126をHighレベルにする回数(露光回数)に比例する。このため、制御部10106は、パケット1から6の露光パルスごとに、すべての区間番号10601において、パケット1から6の露光パルスが“1”である区間の数を算出することで、パケット1から6の露光回数である24531から24536を生成する。
【0199】
次に、メモリ(LUT)24380の初期値の生成方法について説明する。制御部10106は、パケット生成パターンB23000のパケット1発光パルスをビット0、パケット生成パターンB23000のパケット2発光パルスをビット1、パケット生成パターンB23000のパケット3発光パルスをビット2、パケット生成パターンB23000のパケット4発光パルスをビット3、パケット生成パターンB22900のパケット5発光パルスをビット4、パケット生成パターンB23000のパケット6発光パルスをビット5、とみなした6ビットの2進数として、独立符号B24500を生成する。例えば、24521の区間番号10601が23の独立符号B24520は、パケット生成パターンB23000の区間番号10601が23のパケット1発光パルスの“0”をビット0、パケット生成パターンB23000の区間番号10601が23のパケット2発光パルスの“0”をビット1、パケット生成パターンB23000の区間番号10601が23のパケット3発光パルスの“0”をビット2、パケット生成パターンB23000の区間番号10601が23のパケット4発光パルスの“0”をビット3、パケット生成パターンB23000の区間番号10601が23のパケット5発光パルスの“1”をビット4、パケット生成パターンB23000の区間番号10601が23のパケット6発光パルスの“0”をビット5、の6ビットの2進数とみなし、16進数表記で“10”となる。
【0200】
また、制御部10106は、隣接する2個の区間の独立符号B24500のビットごとの論理和演算により、隣接符号B24501を生成する。例えば、24524の区間番号10601が5と6の隣接している箇所の隣接符号A24423は、パケット生成パターンB23000の区間番号10601が5の独立符号のビット0の値“1”と、パケット生成パターンB23000の区間番号10601が6の独立符号のビット0の値“0”と、の論理和演算結果“1”をビット0、パケット生成パターンB23000の区間番号10601が5の独立符号のビット1の値“1”と、パケット生成パターンB23000の区間番号10601が6の独立符号のビット1の値“1”と、の論理和演算結果“1”をビット1、パケット生成パターンB23000の区間番号10601が5の独立符号のビット2の値“0”と、パケット生成パターンB23000の区間番号10601が6の独立符号のビット2の値“0”と、の論理和演算結果“0”をビット2、パケット生成パタ
ーンB23000の区間番号10601が5の独立符号のビット3の値“0”と、パケット生成パターンB23000の区間番号10601が6の独立符号のビット3の値“0”と、の論理和演算結果“0”をビット3、パケット生成パターンB23000の区間番号10601が5の独立符号のビット4の値“0”と、パケット生成パターンB23000の区間番号10601が6の独立符号のビット4の値“1”と、の論理和演算結果“1”をビット4、パケット生成パターンB23000の区間番号10601が5の独立符号のビット5の値“1”と、パケット生成パターンB23000の区間番号10601が6の独立符号のビット5の値“1”と、の論理和演算結果“1”をビット5、の6ビットの2進数とみなし、16進数表記で“33”となる。ここで、独立符号B24500は、1個の区間番号のみに反射光10111が返ってきたときの、パケット1から6の信号値に反射光10111が含まれているものを“1”、反射光10111が含まれていないものを“0”、としたもので、隣接符号B24501は、2個の隣接する区間番号にまたがって反射光10111が返ってきたときの、パケット1から6の信号値に反射光10111が含まれているものを“1”、反射光10111が含まれていないものを“0”、としたもので、パケット生成パターンB23000に基づいて、区間番号ごとの撮像符号12120を推定したものである。
【0201】
以上より、独立符号B24500、および、隣接符号B24501をアドレスとして、独立符号B24500と隣接符号B24501に対応した区間番号10601をデータとしてメモリ(LUT)24380を初期化し、撮像符号12120をアドレスとしてメモリ(LUT)24380をリードアクセスすることで、パケット生成パターンB23000で撮像された画像に対して、撮像符号12120を距離に相当する区間番号へ変換することが可能である。
【0202】
テーブル24510は、メモリ(LUT)24380を初期化するためのデータセットである。独立符号B24520は16進数表記で“10”のため、テーブル24510の16進数表記のアドレス“10”のデータは、パケット生成パターンB23000において、露光パルスが1である区間番号10601の30から、独立符号B24520の区間番号24521である23を減算した、7となる。また、隣接符号B24523は16進数表記で“33”のため、テーブル24510の16進数表記のアドレス“33”のデータは、パケット生成パターンB23000において、露光パルスが1である区間番号10601の30から、隣接符号B24523の区間番号24524である5と6の平均値5.5を減算した、24.5が設定される。これは、隣接符号B24523の区間番号24524は、区間番号5と6にまたがって、反射光10111が返ってきたことは分かるが、さらに詳細な反射光10111が返ってきたタイミングは分からないため、隣接する2個の区間の中間で、反射光10111が返ってきたとして、2個の隣接する区間番号の平均値を使用することで、最大誤差を区間の半分に抑えることが可能となる。
【0203】
ここで、制御部10106に与えるパケット生成パターンA22900、および、パケット生成パターンB23000の生成方法について説明する。上記のパケット1から6の信号値から生成した撮像符号12120を用いて区間番号を算出するためには、撮像符号12120と区間番号が一対一に対応してなければならない。
【0204】
そのため、パケット生成パターンA22900は、独立符号A24400と、隣接符号A24401と、の値が重複しないように決定し、撮像符号12120と区間番号とを一対一に対応させている。また、パケット生成パターンB23000も同様に、独立符号B24500と、隣接符号B24501と、の値が重複しないように決定し、撮像符号12120と区間番号とを一対一に対応させている。なお、フレーム単位でパケット生成パターンA22900と、パケット生成パターンB23000と、を切り替えているため、独立符号A24400、および、隣接符号A24401と、独立符号B24500、および
、隣接符号B24501と、は重複してもよい。
【0205】
また、独立符号A24400と、隣接符号A24401と、独立符号B24500と、隣接符号B24501と、は16進数表記で“00”の値をとならないように、パケット生成パターンA22900と、パケット生成パターンB23000と、を決定している。独立符号A24400、隣接符号A24401、独立符号B24500、または、隣接符号B24501の値が“00”のタイミングで反射光10111が返ってきた場合、パケット1から6の露光パルス10121から10126はLowレベルのため、パケット1から6の信号値には、反射光10111成分が含まれない。また、対象物10101が区間番号0から30の測距範囲内に存在しない場合も、パケット1から6の信号値には、反射光10111成分が含まれない。このため、パケット1から6の信号値から、この2つの条件を判別することが不可能なため、独立符号A24400と、隣接符号A24401と、独立符号B24500と、隣接符号B24501と、は16進数表記で“00”の値とならないように、パケット生成パターンA22900と、パケット生成パターンB23000と、を生成している。また、撮像符号12120が、独立符号A24400、隣接符号A24401、独立符号B24500、および、隣接符号B24501に存在しない“00”と一致した場合に備え、テーブル24410、または、テーブル24510のライトデータ(区間番号)を-1という負の値に設定しておくことで、区間番号を正しく算出できていないことを判別するようにすることが可能である。
【0206】
次に、パケット生成パターンA22900から生成したテーブル24410と、パケット生成パターンB23000から生成したテーブル24510と、が同じになる理由について説明する。パケット生成パターンA22900と、パケット生成パターンB23000と、はパケット生成パターンA22900の区間番号10601が0の露光パルスと、パケット生成パターンB23000の区間番号10601が30の発光パルスと、が全パケットで一致するように作成されている。さらに、パケット生成パターンA22900の区間番号10601が1の露光パルスと、パケット生成パターンB23000の区間番号10601が29の発光パルスと、が全パケットで一致するように作成されている。このように、パケット生成パターンA22900の露光パルスと、パケット生成パターンB23000の発光パルスと、の区間番号10601が反転するようにする。これにより、独立符号A24400と、独立符号B24500と、は区間番号10601が反転した関係になる。また、隣接符号A24401と、隣接符号B24501と、も区間番号10601が反転した関係になる。そして、テーブル24410のライトデータ(区間番号)は、パケット生成パターンA22900の区間番号をそのまま使用し、テーブル24510のライトデータ(区間番号)は、パケット生成パターンB23000の露光パルスが1である最大の区間番号からパケット生成パターンB23000の区間番号を減算して使用しており、区間番号10601が反転した関係をもとに戻す処理となっており、パケット生成パターンA22900から生成したテーブル24410と、パケット生成パターンB23000から生成したテーブル24510と、を一致させることが可能となる。これにより、パケット生成パターンA22900でFDA10211から10216に蓄積する電荷と、パケット生成パターンB23000でFDA10211から10216に蓄積する電荷と、を区別する必要がなくなるため、FDA10211から10216に蓄積した電荷を、パケット生成パターンごとに、読み出す必要がなくなり、1フレームでパケット生成パターンA22900と、パケット生成パターンB23000と、を切り替えることが可能となる。
【0207】
図46は、パケット1から6の露光回数24301から24306の算出方法について示した図である。パケット生成パターンA22900のパケット1から6の単位駆動パターン10431から10436のパケット1から6の露光回数24431から24436と、パケット1から6の単位駆動パターンA10431から10436の繰り返し回数1
00回と、を乗算し、パケット生成パターンB23000のパケット1から6の単位駆動パターン10451から10456のパケット1から6の露光回数24531から24536と、パケット1から6の単位駆動パターンB10451から10456の繰り返し回数200回と、を乗算し、それらを加算して、パケット1から6の露光回数24301から24306を生成する。これにより、固体撮像部出力信号10130に含まれる背景光反射光10142のパケットごとの露光回数の違いを補正することが可能となる。
【0208】
図47は、実施の形態2に係わる距離演算部22508のタイミングチャートである。図中の表記について、「P1(11)Sig」~「P6(11)Sig」の表記は、以下の説明中の、画素アドレス11の画素10200のパケット1から6の信号値を示す。
【0209】
「P1(11)CT」~「P6(11)CT」の表記は、以下の説明中の、画素アドレス11の画素10200のパケット1から6の露光回数を示し、選択回路12107の出力に該当する。
【0210】
「P1(11)Sig/CT1」の表記は、画素アドレス11の画素10200の(固体撮像部出力信号10130のパケット1信号値)/(パケット1露光回数)を示し、パケット1同時化B信号12121に該当する。
【0211】
「min(11)」の表記は、画素アドレス11の画素10200のパケット1同時化B信号12121からパケット1同時化B信号12126のうちの最小値を示し、同時化B最小信号12127に該当する。
【0212】
「min(11)×CT1」の表記は、画素アドレス11の画素10200の(同時化B最小信号12127)×(パケット1露光回数)を示し、パケット1乗算信号12131に該当する。
【0213】
「P1(11)Sig-mul」の表記は、画素アドレス11の画素10200の(パケット1同時化A信号12141)-(パケット1乗算信号12131)を示し、パケット1減算信号12151に該当する。
【0214】
「mx(11)」の表記は、画素アドレス11の画素10200のパケット1減算信号12151からパケット6減算信号12156のうちの最大値を示し、最大値信号12157に該当する。
【0215】
「mn(11)」の表記は、画素アドレス11の画素10200のパケット1減算信号12151からパケット6減算信号12156のうちの最小値を示し、最小値信号12158に該当する。
【0216】
「th(11)」の表記は、(mx(11)+mn(11))/2、つまり画素アドレス11の画素10200の最大値信号12157と最小値信号12158との平均を示し、閾値信号12160に該当する。
【0217】
「P1(11)Bin」~「P6(11)Bin」の表記は、以下の説明中の、画素アドレス11の画素10200のパケット1から6の符号を示し、画素アドレス11の画素10200の撮像符号12120に該当する。
【0218】
「Nd(11)」の表記は、画素アドレス11の画素10200の区間番号信号10131に該当する。ここでは、「Nd(11)」等は整数で表される。
【0219】
図47に示すように、固体撮像部出力信号10130から有効な信号値が出力される前のタイミング12400で、制御部10106は、制御バス経由で、パケット1から6の露光回数24301から24306と、メモリ(LUT)24380と、に値を設定する。なお、パケット1露光回数24310は11、パケット2露光回数24302は11、パケット3露光回数24303は12、パケット4露光回数24304は11、パケット5露光回数24305は11、パケット6露光回数24306は14、メモリ(LUT)24380は、テーブル24410、または、テーブル24510のデータを書き込む。タイミング12401で、固体撮像部出力信号10130から、画素アドレス11のパケット1から6の信号値が順次送られてくる。送られてきた信号値は、順次、同時化部(A)12110に送られると同時に、パケット1から6の露光回数24301から24306と除算され、同時化部(B)12109に送られる。タイミング12402で、同時化部(A)出力信号12141から12146と、同時化部(B)出力信号12121から12126と、パケット1から6の露光回数24301から24306と、を使って、撮像符号12120を決定する。撮像符号12120をアドレスとして、メモリ(LUT)24380のリードアクセスを行い、タイミング12403で画素アドレス11の距離に対応した区間番号信号10131が出力される。この動作を2次元に配置されたすべての画素10200で行うことで、2次元の区間番号をすべて出力する。
【0220】
ここで、
図29に示したパケット生成パターンA22900と、
図30に示したパケット生成パターンB23000と、の切り替え方法について説明する。
【0221】
パケット生成パターンA22900は、
図26と、
図29に示すように、パケット1から6の単位駆動パターンA10431から10436は、1フレームあたり、100回×12回の1200回実行される。1回のパケット1単位駆動パターンA10431で、11回の露光を行うため、パケット1単位駆動パターンA10431は、1フレームあたり、11回×1200回=13200回の露光を行うことになる。1回のパケット2単位駆動パターンA10432で、11回の露光を行うため、パケット2単位駆動パターンA10432は、1フレームあたり、11回1200回=13200回の露光を行うことになる。1回のパケット3単位駆動パターンA10433で、12回の露光を行うため、パケット3単位駆動パターンA10433は、1フレームあたり、12回×1200回=14400回の露光を行うことになる。1回のパケット4単位駆動パターンA10434で、11回の露光を行うため、パケット4単位駆動パターンA10434は、1フレームあたり、11回×1200回=13200回の露光を行うことになる。1回のパケット5単位駆動パターンA10435で、11回の露光を行うため、パケット5単位駆動パターンA10435は、1フレームあたり、11回×1200回=13200回の露光を行うことになる。1回のパケット6単位駆動パターンA10436で、14回の露光を行うため、パケット6単位駆動パターンA10436は、1フレームあたり、14回×1200回=16800回の露光を行うことになる。
【0222】
パケット生成パターンB23000は、
図26と、
図30に示すように、1回のパケット1単位駆動パターンB10451で、1回の露光を行う。パケット1単位駆動パターンB10451は、1フレームあたり、200回×12回の2400回実行されるため、パケット1単位駆動パターンB10451は、1フレームあたり、1回×2400回=2400回の露光を行うことになる。なお、パケット2から6の単位駆動パターンBについても、同様に、1フレームあたり、2400回の露光が行われるため、1フレーム合計で、2400回×6パケット分=14400回の露光が行われることになる。このため、1フレーム合計で、13200回+13200回+14400回+13200回+13200回+16800回+14400回=98400回の露光が行われることになる。
【0223】
したがって、パケット生成パターンB23000の方が、パケット生成パターンA22
900より、露光回数が少ないため、パケット生成パターンB23000を使用することで、背景光反射光10142による影響を低減できるため、信号値のSNを改善することが可能となる。
【0224】
一方、パケット生成パターンA22900は、
図26と、
図29に示すように、1回のパケット1単位駆動パターンA10431で、1回の発光を行う。パケット1単位駆動パターンA10431は、1フレームあたり、100回×12回の1200回実行されるため、パケット1単位駆動パターンA10431は、1フレームあたり、1回×1200回=1200回の発光を行うことになる。なお、パケット2から6の単位駆動パターンA10432から10436についても、同様に、1フレームあたり、1200回の発光が行われるため、1フレーム合計で、1200回×6パケット分=7200回の発光が行われることになる。
【0225】
パケット生成パターンB23000は、
図26と、
図30に示すように、パケット1から6の単位駆動パターンB10451から10456は、1フレームあたり、200回×12回の2400回実行される。1回のパケット1単位駆動パターンB10451で、11回の発光を行うため、パケット1単位駆動パターンB10451は、1フレームあたり、11回×2400回=26400回の発光を行うことになる。1回のパケット2単位駆動パターンB10452で、11回の発光を行うため、パケット2単位駆動パターンB10452は、1フレームあたり、11回×2400回=26400回の発光を行うことになる。1回のパケット3単位駆動パターンB10453で、12回の発光を行うため、パケット3単位駆動パターンB10453は、1フレームあたり、12回×2400回=28800回の発光を行うことになる。1回のパケット4単位駆動パターンB10454で、11回の発光を行うため、パケット4単位駆動パターンB10454は、1フレームあたり、11回×2400回=26400回の発光を行うことになる。1回のパケット5単位駆動パターンB10455で、11回の発光を行うため、パケット5単位駆動パターンB10455は、1フレームあたり、11回×2400回=26400回の発光を行うことになる。1回のパケット6単位駆動パターンB10456で、14回の発光を行うため、パケット6単位駆動パターンB10456は、1フレームあたり、14回×2400回=33600回の発光を行うことになる。このため、1フレーム合計で、7200回+26400回+26400回+28800回+26400回+26400回+33600回=175200回の発光が行われることになる。
【0226】
したがって、パケット生成パターンA22900の方が、パケット生成パターンB23000より、発光回数が少ないため、パケット生成パターンA22900の繰り返し回数を増やし、パケット生成パターンB23000の繰り返し回数を減らすことで、消費電力を少なくすることが可能となる。なお、消費電力は、発光回数ではなく、電流計など別手段で測定したものでもよい。
【0227】
以上より、背景光反射光10142が少ない場合は、パケット生成パターンA22900を使用する割合を多くし、パケット生成パターンB23000を使用する割合を少なくすることで、消費電力を削減することが可能となる。また、背景光反射光10142が多い場合は、パケット生成パターンB23000を使用する割合を多くし、パケット生成パターンA22900を使用する割合を少なくすることで、信号値のSN(測距精度)を確保することが可能となる。
【0228】
これによれば、背景光反射光10142や、消費電力に応じて、パケット生成パターンA22900と、パケット生成パターンB23000と、をフレーム内で切り替え、パケット生成パターンA22900と、パケット生成パターンB23000と、を使用する割合を制御することで、消費電力と信号値のSN(測距精度)の最適を実現することができ
る。
【0229】
以上説明してきたように、実施の形態2に係る測距装置は、制御部は、1フレーム内で、複数の第1のパケット生成符号と、複数の第2のパケット生成符号とを切り替える。
【0230】
これによれば、距離区間の特定における精度劣化を抑制することと、消費電力を抑制することとを最適化し、しかも、より細かい粒度での最適化を可能にする。
【0231】
ここで、第1のパケット生成符号のそれぞれは、複数の単位区間を時間的に反転したいずれかの第2のパケット生成符号と同じである。
【0232】
これによれば、複数の第1のパケット生成符号と複数の第2のパケット生成符号との切り換えを1フレーム内で実施することを可能にする。また、同じ単位区間の第1独立符号と第2独立符号を同じビットパターンにすることができ、距離を算出する処理負荷を低減することができる。
【0233】
ここで、前記複数の単位区間の並び順を反転した位置関係にある2つの単位区間に対応する第1独立符号と第2独立符号は同じビットパターンを有していてもよい。
【0234】
これによれば、第1独立符号および第2独立符号の一方の単位区間を対応する距離区間を特定する処理において、距離演算部における処理の一部をさらに共通化することができる。
【0235】
なお、実施の形態1、2では、
図2のように1つの画素10200がn個(nは6)の信号電荷蓄積部(FDA)を備える構成例を示した。しかし、画素10200は1つの信号電荷蓄積部を備える構成であってもよい。この場合、パケットの蓄積動作とその読み出し動作とをn回繰り返すことによりn種類のパケットを得ることができる。
【産業上の利用可能性】
【0236】
本開示に係る測距装置は、周辺環境に依存することなく、遠距離の測定対象物の3次元測定が実現できるため、例えば、人物、建物などの3次元測定に有用である。
【符号の説明】
【0237】
10102 光源部
10105 固体撮像部
10106 制御部
10107 パルス生成部
10108、22508 距離演算部
10120 発光パルス
10121 パケット1露光パルス
10122 パケット2露光パルス
10123 パケット3露光パルス
10124 パケット4露光パルス
10125 パケット5露光パルス
10126 パケット6露光パルス
10130 固体撮像部出力信号
10131 区間番号信号
10201 光電変換画素
10211、10212、10213、10214、10215、10216 FDA(信号電荷蓄積部)
10231、10232、10233、10234、10235、10236 出力選
択トランジスタ(信号出力部)
10600、22900 パケット生成パターンA
10700、23000 パケット生成パターンB
12300、24400 独立符号A
12400、24500 独立符号B
12301、24401 隣接符号A
12401、24501 隣接符号B
12220 撮像符号
10400 フレーム駆動パターンA
10401 フレーム駆動パターンB
22600 フレーム駆動パターンC