(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-11
(45)【発行日】2024-10-22
(54)【発明の名称】通信装置および通信方法、並びにプログラム
(51)【国際特許分類】
H04L 7/00 20060101AFI20241015BHJP
G06F 13/38 20060101ALI20241015BHJP
H04N 23/60 20230101ALI20241015BHJP
【FI】
H04L7/00 990
G06F13/38 350
H04N23/60 300
(21)【出願番号】P 2021545228
(86)(22)【出願日】2020-08-31
(86)【国際出願番号】 JP2020032877
(87)【国際公開番号】W WO2021049354
(87)【国際公開日】2021-03-18
【審査請求日】2023-07-06
(31)【優先権主張番号】P 2019166895
(32)【優先日】2019-09-13
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】316005926
【氏名又は名称】ソニーセミコンダクタソリューションズ株式会社
(74)【代理人】
【識別番号】100121131
【氏名又は名称】西川 孝
(74)【代理人】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】高橋 宏雄
【審査官】阿部 弘
(56)【参考文献】
【文献】特開2015-076805(JP,A)
【文献】特開2015-198399(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
G04G 5/00
G06F 13/38
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
複数の他の通信装置との間で、所定の規格に従った通信処理の制御を行う通信処理制御部と、
前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタと、
前記時刻同期カウンタに、前記複数の他の通信装置それぞれが備える他の時刻同期カウンタを時刻同期させて、前記複数の他の通信装置において所定のサンプリング周期でサンプリングされたサンプリングデータを出力させる出力制御に必要な情報処理を行う情報処理部と
を備え、
前記情報処理部は、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力させる出力制御を行
い、
前記時刻同期カウンタは、最低でも前記サンプリング周期の2周期以上で1周する
通信装置。
【請求項2】
前記情報処理部は、前記複数の他の通信装置のうち、第1の他の通信装置と第2の他の通信装置とが異なる伝送路を介して前記サンプリングデータを送信する構成において、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力させる出力制御を行い、
前記第1の他の通信装置から送信されてくる第1のサンプリングデータと、その第1のサンプリングデータがサンプリングされた前記第1の他の通信装置の前記他の時刻同期カウンタに従ったタイミングを示す第1の時刻データとを、第1の伝送路を介して受信し、前記第2の他の通信装置から送信されてくる第2のサンプリングデータと、その第2のサンプリングデータがサンプリングされた前記第2の他の通信装置の前記他の時刻同期カウンタに従ったタイミングを示す第2の時刻データとを、第2の伝送路を介して受信するデータ受信部
をさらに備える請求項1に記載の通信装置。
【請求項3】
前記第2の他の通信装置から送信されてくる前記第2のサンプリングデータと、その第2のサンプリングデータの前記第2の時刻データと同じタイミングを示す前記第1の時刻データの前記第1のサンプリングデータとを統合するデータ統合部
をさらに備える請求項2に記載の通信装置。
【請求項4】
前記情報処理部は、前記複数の他の通信装置が、同一の伝送路を介して前記サンプリングデータを送信する構成においては、前記時刻データを出力させる出力制御を必ずしも行わずに、前記複数の他の通信装置がそれぞれ異なるタイミングで前記サンプリングデータを出力することを指示する出力タイミングを設定する
請求項1に記載の通信装置。
【請求項5】
前記複数の他の通信装置から送信されてくる前記サンプリングデータを、前記伝送路を介して受信するデータ受信部
をさらに備える請求項4に記載の通信装置。
【請求項6】
通信装置が、
複数の他の通信装置との間で、所定の規格に従った通信処理の制御を行うことと、
前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタに、前記複数の他の通信装置それぞれが備える他の時刻同期カウンタを時刻同期させて、前記複数の他の通信装置において所定のサンプリング周期でサンプリングされたサンプリングデータを出力させる出力制御に必要な情報処理を行うことと
を含み、
前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力させる出力制御を行
い、
前記時刻同期カウンタは、最低でも前記サンプリング周期の2周期以上で1周する
通信方法。
【請求項7】
通信装置のコンピュータに、
複数の他の通信装置との間で、所定の規格に従った通信処理の制御を行うことと、
前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタに、前記複数の他の通信装置それぞれが備える他の時刻同期カウンタを時刻同期させて、前記複数の他の通信装置において所定のサンプリング周期でサンプリングされたサンプリングデータを出力させる出力制御に必要な情報処理を行うことと
を含み、
前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力させる出力制御を行
い、
前記時刻同期カウンタは、最低でも前記サンプリング周期の2周期以上で1周する
通信処理を実行させるためのプログラム。
【請求項8】
通信装置であって、
所定のサンプリング周期でサンプリングデータをサンプリングするサンプリング部と、
他の通信装置との間で、所定の規格に従った通信処理の制御を行う通信処理制御部と、
前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタと
を備え、
前記他の通信装置による出力制御に従って、前記時刻同期カウンタが前記他の通信装置が備える他の時刻同期カウンタに時刻同期し、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力
し、
前記時刻同期カウンタは、最低でも前記サンプリング周期の2周期以上で1周する
通信装置。
【請求項9】
複数の前記通信装置のうち、第1の通信装置と第2の通信装置とが異なる伝送路を介して前記サンプリングデータを送信する構成において、
前記他の通信装置において、前記第2の通信装置から送信された第2のサンプリングデータと、その第2のサンプリングデータの第2の時刻データと同じタイミングを示す前記第1の通信装置から送信された第1の時刻データの第1のサンプリングデータとが統合される
請求項8に記載の通信装置。
【請求項10】
複数の前記通信装置が、同一の伝送路を介して前記サンプリングデータを送信する構成においては、
それぞれの前記通信装置は、前記時刻データの出力を必ずしも行わずに、前記他の通信装置によって設定され、個々の前記通信装置がそれぞれ異なるタイミングで前記サンプリングデータを出力することを指示する出力タイミングに従って、前記サンプリングデータを出力する
請求項8に記載の通信装置。
【請求項11】
通信装置が、
所定のサンプリング周期でサンプリングデータをサンプリングすることと、
他の通信装置との間で、所定の規格に従った通信処理の制御を行うことと、
前記他の通信装置による出力制御に従って、前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタが前記他の通信装置が備える他の時刻同期カウンタに時刻同期し、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力することと
を含
み、
前記時刻同期カウンタは、最低でも前記サンプリング周期の2周期以上で1周する
通信方法。
【請求項12】
通信装置のコンピュータに、
所定のサンプリング周期でサンプリングデータをサンプリングすることと、
他の通信装置との間で、所定の規格に従った通信処理の制御を行うことと、
前記他の通信装置による出力制御に従って、前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタが前記他の通信装置が備える他の時刻同期カウンタに時刻同期し、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力することと
を含
み、
前記時刻同期カウンタは、最低でも前記サンプリング周期の2周期以上で1周する
通信処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信装置および通信方法、並びにプログラムに関し、特に、複数のセンサに対して時刻同期に基づいた適切な出力制御を行うことができるようにした通信装置および通信方法、並びにプログラムに関する。
【背景技術】
【0002】
近年、モバイル機器におけるインタフェース規格を策定するMIPI(Mobile Industry Processor Interface)アライアンスにより、バス規格であるI2C(Inter-Integrated Circuit)の次世代規格としてI3C(Improved Inter Integrated Circuit)が策定された。また、MIPIアライアンスでは、主にカメラの接続に用いられるインタフェースとしてCSI-2(Camera Serial Interface 2)が定義されており、物理層の規格としてC-PHYおよびD-PHYが定義されている。
【0003】
例えば、画像センサにより取得された画像データは、転送データ量が大きいことより、MIPI CSI-2(物理層はC-PHYまたはD-PHY)で伝送される。一方で、画像センサを制御するための制御データや、各種の計測用センサから出力されるセンサデータなどは、転送データ量が小さいことより、MIPI CSI-2の規定によりI2CまたはI3Cで伝送される。
【0004】
また、複数の画像センサで1つの伝送路を多重化する技術が開発されており、例えば、特許文献1に開示されているように、複数の画像センサそれぞれにおける画像データの出力タイミングが同期信号を用いて制御される。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上述したように、画像センサから出力される画像データがC-PHYまたはD-PHYで伝送される一方で、各種の計測用センサから出力されるセンサデータがI2CまたはI3Cで伝送される場合、それらのデータを時刻同期させるような出力制御が必要となる。また、複数の画像センサで1つの伝送路を多重化する構成において、外部から同期信号を伝送するための信号線を設けることなく、複数の画像センサに対して時刻同期に基づいた出力制御を行うことが求められている。
【0007】
本開示は、このような状況に鑑みてなされたものであり、複数のセンサに対して時刻同期に基づいた適切な出力制御を行うことができるようにするものである。
【課題を解決するための手段】
【0008】
本開示の第1の側面の通信装置は、複数の他の通信装置との間で、所定の規格に従った通信処理の制御を行う通信処理制御部と、前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタと、前記時刻同期カウンタに、前記複数の他の通信装置それぞれが備える他の時刻同期カウンタを時刻同期させて、前記複数の他の通信装置において所定のサンプリング周期でサンプリングされたサンプリングデータを出力させる出力制御に必要な情報処理を行う情報処理部とを備え、前記情報処理部は、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力させる出力制御を行い、前記時刻同期カウンタは、最低でも前記サンプリング周期の2周期以上で1周する。
【0009】
本開示の第1の側面の通信方法またはプログラムは、複数の他の通信装置との間で、所定の規格に従った通信処理の制御を行うことと、前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタに、前記複数の他の通信装置それぞれが備える他の時刻同期カウンタを時刻同期させて、前記複数の他の通信装置において所定のサンプリング周期でサンプリングされたサンプリングデータを出力させる出力制御に必要な情報処理を行うこととを含み、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力させる出力制御を行い、前記時刻同期カウンタは、最低でも前記サンプリング周期の2周期以上で1周する。
【0010】
本開示の第1の側面においては、複数の他の通信装置との間で、所定の規格に従った通信処理の制御が行われ、規格で定義されているタイミングコントロールを実現するための時刻同期カウンタに、複数の他の通信装置それぞれが備える他の時刻同期カウンタを時刻同期させて、複数の他の通信装置において所定のサンプリング周期でサンプリングされたサンプリングデータを出力させる出力制御に必要な情報処理が行われる。そして、サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力させる出力制御が行われ、時刻同期カウンタは、最低でもサンプリング周期の2周期以上で1周する。
【0011】
本開示の第2の側面の通信装置は、所定のサンプリング周期でサンプリングデータをサンプリングするサンプリング部と、他の通信装置との間で、所定の規格に従った通信処理の制御を行う通信処理制御部と、前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタとを備え、前記他の通信装置による出力制御に従って、前記時刻同期カウンタが前記他の通信装置が備える他の時刻同期カウンタに時刻同期し、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力し、前記時刻同期カウンタは、最低でも前記サンプリング周期の2周期以上で1周する。
【0012】
本開示の第2の側面の通信方法またはプログラムは、所定のサンプリング周期でサンプリングデータをサンプリングすることと、他の通信装置との間で、所定の規格に従った通信処理の制御を行うことと、前記他の通信装置による出力制御に従って、前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタが前記他の通信装置が備える他の時刻同期カウンタに時刻同期し、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力することとを含み、前記時刻同期カウンタは、最低でも前記サンプリング周期の2周期以上で1周する。
【0013】
本開示の第2の側面においては、所定のサンプリング周期でサンプリングデータがサンプリングされ、他の通信装置との間で、所定の規格に従った通信処理の制御が行われ、他の通信装置による出力制御に従って、規格で定義されているタイミングコントロールを実現するための時刻同期カウンタが他の通信装置が備える他の時刻同期カウンタに時刻同期し、サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データが出力され、時刻同期カウンタは、最低でもサンプリング周期の2周期以上で1周する。
【図面の簡単な説明】
【0014】
【
図1】本技術を適用した通信システムの一実施の形態の構成例を示すブロック図である。
【
図2】時刻同期に基づいた出力制御の第1の処理例について説明する通信システムのブロック図である。
【
図4】Embedded Data Packetの構造を示す図である。
【
図5】APで行われる時刻同期に基づいた出力制御処理を説明するフローチャートである。
【
図6】画像センサで行われる時刻同期に基づいた出力制御処理を説明するフローチャートである。
【
図7】ジャイロセンサで行われる時刻同期に基づいた出力制御処理を説明するフローチャートである。
【
図8】時刻同期に基づいた出力制御の第2の処理例について説明する通信システムのブロック図である。
【
図10】APで行われる時刻同期に基づいた出力制御処理を説明するフローチャートである。
【
図11】画像センサで行われる時刻同期に基づいた出力制御処理を説明するフローチャートである。
【
図12】画像出力タイミングを制御する第1の制御方法について説明する図である。
【
図16】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0016】
<通信システムの構成例>
図1は、本技術を適用した通信システムの一実施の形態の構成例を示すブロック図である。
【0017】
図1には、例えば、いわゆるドローンと称される無人航空機(UAV:Unmanned Aerial Vehicle)の内部における機器どうしの通信で用いられる通信システム11の一例が示されている。なお、通信システム11は、ドローン以外にも、例えば、自動運転を行う車両のような各種の移動体において採用することができる。
【0018】
通信システム11は、測距センサ21、画像センサ22-1および22-2、ジャイロセンサ23、加速度センサ24、位置センサ25、気圧センサ26、並びに、AP(Application Processor)31を備えて構成される。
【0019】
例えば、通信システム11では、測距センサ21からAP31へ測距データの伝送、並びに、画像センサ22-1および22-2からAP31へ画像データの伝送に、C-PHYまたはD-PHYが利用される。また、通信システム11では、測距センサ21、画像センサ22-1および22-2、ジャイロセンサ23、加速度センサ24、位置センサ25、並びに、気圧センサ26と、AP31との間における各種のデータの送受信に、I3Cが利用される。
【0020】
測距センサ21は、例えば、LIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)によってドローンの周囲にある障害物までの距離を算出し、その結果得られる測距データを、AP31に出力する。
【0021】
画像センサ22-1および22-2は、例えば、CIS(CMOS(Complementary Metal Oxide Semiconductor)Image Sensor)などの撮像素子によってドローンの周囲を撮像して画像データを取得する。例えば、画像センサ22-1は、ドローンの進行方向を撮像して画像データを取得し、画像センサ22-2は、ドローンの下方向を撮像して画像データを取得して、それぞれの画像データが、1つの伝送路を介してAP31に出力される。
【0022】
ジャイロセンサ23は、ドローンが飛行する際の姿勢の変化などに応じて生じる角速度を測定し、その測定の結果得られる角速度データをAP31に出力する。
【0023】
加速度センサ24は、ドローンが飛行する際の速度の変化に従った加速度を測定し、その測定の結果得られる加速度データをAP31に出力する。
【0024】
位置センサ25は、例えば、GPS(Global Positioning System)衛星から発信される電波を受信し、その電波に含まれているGPSデータを取得してAP31に出力する。
【0025】
気圧センサ26は、ドローンが飛行している高度に応じた気圧を測定し、その測定の結果得られる気圧データをAP31に出力する。
【0026】
AP31は、測距センサ21、画像センサ22-1および22-2、ジャイロセンサ23、加速度センサ24、位置センサ25、並びに、気圧センサ26との間で、I3Cで定義されているタイミングコントロールの一部を利用した時刻同期に基づいて、それらに対する出力制御を行う。そして、AP31は、測距センサ21、画像センサ22-1および22-2、ジャイロセンサ23、加速度センサ24、位置センサ25、並びに、気圧センサ26から出力されるデータを統合し、例えば、ドローンの飛行に必要となる各種の処理を実行することができる。
【0027】
例えば、通信システム11を採用したドローンは、測距センサ21で測距を行い、画像センサ22-1および22-2で撮像を行うのと同時に、ドローン自身の傾きや加速を計算することができる。例えば、ドローンの飛行中において、AP31は、画像センサ22-1から供給される画像データに基づいてドローンの進行方向にある障害物を認識し、その障害物までの距離を測距センサ21から供給される測距データから算出することができる。そして、AP31は、GPSデータから推定されるドローンの自己位置、加速度データから算出されるドローンの速度、並びに、気圧データおよび画像データから推定されるドローンの高度に基づいて、障害物と衝突する可能性がある場合には、ドローンに回避行動を行わせる処理を実行する。
【0028】
また、AP31は、ジャイロセンサ23から供給される角速度データから求められるドローンの姿勢に基づいて、ドローンの傾きを補正するだけでなく、画像センサ22-1および22-2により撮像された画像の傾きを補正(例えば、台形補正)することで、障害物を検出し易くすることができる。
【0029】
このとき、測距センサ21の測距データ並びに画像センサ22-1および22-2の画像データは、転送データ量が大きいことよりC-PHYまたはD-PHYで伝送される。また、画像センサ22-1および22-2に対する制御データや、ジャイロセンサ23、加速度センサ24、位置センサ25、気圧センサ26から出力される各種のセンサデータなどは、個々の転送データ量が小さいことよりI3Cで伝送される。
【0030】
そして、AP31は、これらのセンサどうしで不得手な点を互いに補い合って、それぞれのセンサデータおよび画像データを統合する処理(以下、センサフュージョン処理と称する)を行うことができる。これにより、AP31は、障害物との衝突を回避するような高度な処理を実現することができる。
【0031】
ところで、AP31がセンサフュージョン処理を行うためには、統合されるデータが同じタイミングでサンプリングされているとともに、それらのデータが適切に出力されるように出力制御を行う必要がある。また、その出力制御を、上述したような外部から同期信号を伝送するための信号線を設けることなく実現することが求められている。
【0032】
そこで、通信システム11では、I3Cで定義された時刻同期を利用することで、複数のセンサに対する適切な出力制御を実現している。
【0033】
<時刻同期に基づいた出力制御の第1の処理例>
図2乃至6を参照して、時刻同期に基づいた出力制御の第1の処理例として、異なる伝送路を通るデータに対する出力制御について説明する。
【0034】
図2に示す通信システム11では、
図1に示した通信システム11を構成する各ブロックのうち、時刻同期に基づいた出力制御の第1の処理例を説明するのに用いる画像センサ22-1、ジャイロセンサ23、およびAP31が示されている。即ち、画像センサ22-1からC-PHYまたはD-PHYによりAP31へ伝送される画像データと、ジャイロセンサ23からI3CによりAP31へ伝送される角速度データとに対して、時刻同期に基づいた出力制御が行われる。
【0035】
画像センサ22-1は、撮像素子41-1、時刻同期カウンタ42-1、レジスタ43-1、通信処理制御部44-1、および画像データ送信部45-1を備えて構成される。
【0036】
撮像素子41-1は、図示しない光学系を介して撮像面に集光される光により撮像を行い、その撮像の結果得られる画像データを画像データ送信部45-1に供給する。例えば、撮像素子41-1は、時刻同期カウンタ42-1によるカウント値に従って、所定のサンプリング周期で撮像を開始するとともに、画像データの出力(AD変換)を行う。
【0037】
時刻同期カウンタ42-1は、I3Cで定義されているタイミングコントロールを実現するために、所定のクロック周波数でカウント値をカウントする。
【0038】
レジスタ43-1は、後述するようなディレイタイムやサンプリング周期などの設定値、および、撮像時刻データを示すカウント値を保持する。
【0039】
通信処理制御部44-1は、I3Cに従って、AP31の通信処理制御部63により主導的に制御される通信処理を行う。例えば、通信処理制御部44-1は、AP31から送信されてくるディレイタイムやサンプリング周期などの設定値を受信して、レジスタ43-1に保持させる。
【0040】
画像データ送信部45-1は、画像センサ22-1から供給される画像データを、C-PHYまたはD-PHYに従ってAP31へ伝送する。このとき、画像データ送信部45-1は、レジスタ43-1から撮像時刻データを読み出して、後述するように撮像時刻データが格納された画像データを伝送することができる。
【0041】
ジャイロセンサ23は、検出部51、時刻同期カウンタ52、レジスタ53、および通信処理制御部54を備えて構成される。
【0042】
検出部51は、時刻同期カウンタ42-1のカウント値に従って、所定のサンプリング周期で角速度を検出して、角速度データをレジスタ53に保持させる。
【0043】
時刻同期カウンタ52は、I3Cで定義されているタイミングコントロールを実現するために、所定のクロック周波数でカウント値をカウントする。
【0044】
レジスタ53は、後述するようなディレイタイムやサンプリング周期などの設定値、サンプリング時刻データを示すカウント値、および、角速度データを保持する。
【0045】
通信処理制御部54は、I3Cに従って、AP31の通信処理制御部63により主導的に制御される通信処理を行う。例えば、通信処理制御部54は、AP31から送信されてくるディレイタイムやサンプリング周期などの設定値を受信して、レジスタ43-1に保持させたり、レジスタ53からサンプリング時刻データおよび角速度データを読み出して、AP31へ送信したりする。
【0046】
AP31は、画像データ受信部61、時刻同期カウンタ62、通信処理制御部63、レジスタ64、データ統合部65、および情報処理部66を備えて構成される。
【0047】
画像データ受信部61は、画像センサ22-1の画像データ送信部45-1からC-PHYまたはD-PHYに従って伝送されてくる、撮像時刻データが格納された画像データを受信して、データ統合部65に供給する。
【0048】
時刻同期カウンタ62は、I3Cで定義されているタイミングコントロールを実現するために、所定のクロック周波数でカウント値をカウントする。
【0049】
通信処理制御部63は、I3Cに従って、画像センサ22-1の通信処理制御部44-1およびジャイロセンサ23の通信処理制御部54との間の通信処理を主導的に制御する。例えば、通信処理制御部63は、情報処理部66から供給されるディレイタイムやサンプリング周期などの設定値を、画像センサ22-1およびジャイロセンサ23へ送信する。また、通信処理制御部63は、ジャイロセンサ23に対するリード処理を行って、ジャイロセンサ23から送信されてくるサンプリング時刻データおよび角速度データを受信し、レジスタ64に保持させる。
【0050】
レジスタ64は、通信処理制御部63から供給されるサンプリング時刻データおよび角速度データを保持する。
【0051】
データ統合部65は、画像データ受信部61から供給される画像データの撮像時刻データを参照し、同じタイミングを示すサンプリング時刻データの角速度データを、レジスタ64から読み出す。そして、データ統合部65は、それらのデータを統合するセンサフュージョン処理、例えば、角速度から求められるドローンの姿勢に従って、画像の歪みを補正するようなセンサフュージョン処理を施す。なお、データ統合部65によりセンサフュージョン処理が施された画像データは、例えば、後段の飛行制御処理部(図示せず)においてドローンの飛行を制御するのに用いられる。
【0052】
情報処理部66は、通信処理制御部63を介して、画像センサ22-1の時刻同期カウンタ42-1の周波数および誤差、並びに、ジャイロセンサ23の時刻同期カウンタ52の周波数および誤差を取得する。そして、情報処理部66は、時刻同期カウンタ42-1の周波数に従って、画像センサ22-1に対するディレイタイムやサンプリング周期などを設定して、それらの設定値を送信させる。同様に、情報処理部66は、時刻同期カウンタ52の周波数に従って、ジャイロセンサ23に対するディレイタイムやサンプリング周期などを設定して、それらの設定値を送信させる。さらに、情報処理部66は、時刻同期カウンタ42-1および時刻同期カウンタ52の誤差に基づいて、それらの誤差が積算されることで同期が外れることが想定されるより前の所定のタイミングを、再度、同期維持を行わせる同期維持タイミングとして設定する。
【0053】
図3を参照して、画像センサ22-1およびジャイロセンサ23と、AP31との間で行われる時刻同期に基づいた出力制御の動作について説明する。
【0054】
図3に示す動作例では、画像センサ22-1の時刻同期カウンタ42-1は、AP31の時刻同期カウンタ62と同一のクロック周波数で動作し、ジャイロセンサ23の時刻同期カウンタ52は、AP31の時刻同期カウンタ62の半分のクロック周波数で動作している。なお、いずれも位相ずれについては考慮せずに説明を行う。
【0055】
まず、AP31では、時刻t00を原点として、時刻同期カウンタ62がカウントを開始する。また、サンプリング周期は、AP31の時刻同期カウンタ62による16カウントが1周期となるように設定されている。
【0056】
そして、AP31では、通信処理制御部63が、時刻t00から所定のディレイタイム(
図3の例では、DT=6)となるタイミングの時刻t01において、I3Cに従って通信の開始を示すスタートコンディションを出力する。例えば、通信処理制御部63は、シリアルデータSDAが0である状態で、シリアルクロックSCLを1から0へ切り替えることでスタートコンディションを出力する。
【0057】
そして、通信処理制御部63は、スタートコンディションの出力に続いて、I3Cに従って、時刻同期した動作の開始を指示するSTメッセージ(SETXTIME CCC with ST Sub-Command)を送信する。ここで、ディレイタイムは、時刻同期カウンタ62において時刻t00を設定してから、画像センサ22-1およびジャイロセンサ23のI3C端子にSTメッセージが入力されるまで遅延値である。
【0058】
一方、画像センサ22-1では、通信処理制御部44-1が、スタートコンディションが出力されたことを検出すると、スタートコンディション検出を時刻同期カウンタ42-1に通知する。これに応じ、時刻同期カウンタ42-1は、スタートコンディション検出が通知された時刻t01でのカウント値(
図3の例では、CIS-1_Count=50)を、レジスタ43-1に供給して保持させる。
【0059】
同様に、ジャイロセンサ23では、通信処理制御部54が、スタートコンディションが出力されたことを検出すると、スタートコンディション検出を時刻同期カウンタ52に通知する。これに応じ、時刻同期カウンタ52は、スタートコンディション検出が通知された時刻t01でのカウント値(
図3の例では、Gyro_Count=25)を、レジスタ53に供給して保持させる。
【0060】
その後、時刻t02において、画像センサ22-1では、通信処理制御部44-1が、STメッセージを受信すると、STメッセージ検出を時刻同期カウンタ42-1に通知する。そして、時刻同期カウンタ42-1は、STメッセージに応じて、時刻t02のカウント値(
図3の例では、CIS-1_Count=56)、レジスタ43-1が保持していた時刻t01のカウント値(
図3の例では、CIS-1_Count=50)、およびディレイタイムに基づいて、新たにセットするカウント値を算出する。なお、画像センサ22-1は、クロック周波数がAP31と同一であり、ディレイタイムは6となる。
【0061】
例えば、時刻同期カウンタ42-1は、レジスタ43-1が保持していた時刻t01のカウント値から時刻t02のカウント値を減算した差分にディレイタイムを加算し、次のカウントタイミングの値とするためにインクリメント(+1)したカウント値(13=(56-50)+6+1)を算出する。これにより、画像センサ22-1の時刻同期カウンタ42-1と、AP31の時刻同期カウンタ62との原点が一致して、時刻同期することができる。
【0062】
同様に、時刻t02において、ジャイロセンサ23では、通信処理制御部54が、STメッセージを受信すると、STメッセージ検出を時刻同期カウンタ52に通知する。そして、時刻同期カウンタ52は、STメッセージに応じて、時刻t02のカウント値(
図3の例では、Gyro_Count=28)、レジスタ53が保持していた時刻t01のカウント値(
図3の例では、Gyro_Count=25)、およびディレイタイムに基づいて、新たにセットするカウント値を算出する。なお、ジャイロセンサ23は、クロック周波数がAP31の半分であり、ディレイタイムは3となる。
【0063】
例えば、時刻同期カウンタ52は、レジスタ53が保持していた時刻t01のカウント値から時刻t02でのカウント値を減算した差分にディレイタイムを加算し、次のカウントタイミングの値とするためにインクリメント(+1)したカウント値(7=(28-25)+3+1)を算出する。これにより、ジャイロセンサ23の時刻同期カウンタ52と、AP31の時刻同期カウンタ62との原点が一致して、時刻同期することができる。
【0064】
続いて、時刻t03において、サンプリング周期に従い、画像センサ22-1では、撮像素子41-1が、撮像を行って取得した画像データを画像データ送信部45-1へ出力する。このとき、時刻同期カウンタ42-1は、時刻t03におけるカウント値(
図3の例では、CIS-1_Count=15)を撮像時刻データとして、レジスタ43-1に供給して保持させる。
【0065】
その後、画像センサ22-1では、画像データ送信部45-1が、レジスタ43-1から撮像時刻データを読み出して、CSI-2のEmbedded Data Packetに撮像時刻データを格納する。そして、画像データ送信部45-1は、撮像時刻データ(
図3の例では、CIS-1_Count=15)が格納された画像データを、C-PHYまたはD-PHYに従ってAP31へ送信する。ここで、Embedded Data Packetは、CSI-2規格上、
図4に示すようにハッチングを付した個所に配置され、任意のデータを格納することが可能であると定義されている。なお、画像センサ22-1からAP31への撮像時刻データの送信は、このようにCSI-2のEmbedded Data Packetに格納する方法に限定されることはなく、他の方法を採用してもよい。例えば、撮像時刻データを、他のパケットに格納したり、画像データのパケットヘッダ(
図4に示すD1またはD2)に格納したりする方法を採用してもよい。
【0066】
同様に、時刻t03において、サンプリング周期に従い、ジャイロセンサ23では、検出部51が角速度を検出して取得した角速度データをレジスタ53に書き込む。このとき、時刻同期カウンタ52は、時刻t03におけるカウント値(
図3の例では、Gyro_Count=7)をサンプリング時刻データとして、レジスタ53に供給して保持させる。なお、レジスタ53では、角速度データおよびサンプリング時刻データが隣り合ったアドレスに配置される。これにより、通信処理制御部54がレジスタ53から角速度データおよびサンプリング時刻データを読み出す際に、I3Cでバーストリードすることができる。
【0067】
その後、ジャイロセンサ23では、AP31の通信処理制御部63がI3Cに従って行うリード要求に応じて、通信処理制御部54が、レジスタ53から角速度データおよびサンプリング時刻データを読み出す。そして、通信処理制御部54は、I3Cに従って、角速度データおよびサンプリング時刻データ(
図3の例では、Gyro_Count=7)をAP31に送信する。
【0068】
以下、サンプリング周期に従って同様の処理が繰り返して行われ、例えば、時刻t04において、撮像素子41-1による撮像が行われるとともに、検出部51による角速度の検出が行われる。そして、画像センサ22-1から、時刻t04におけるカウント値(
図3の例では、CIS-1_Count=31)である撮像時刻データがCSI-2のEmbedded Data Packetに格納された画像データが、C-PHYまたはD-PHYに従ってAP31へ送信される。同様に、ジャイロセンサ23から、時刻t04におけるカウント値(
図3の例では、Gyro_Count=15)であるサンプリング時刻データが角速度データとともに、I3Cに従ってAP31へ送信される。
【0069】
このとき、画像センサ22-1が画像データを出力するタイミングと、ジャイロセンサ23が角速度データを出力するタイミングとは、互いに前後することがある。つまり、
図3に示す例では、時刻t03で撮像された画像データは、時刻t03で取得された角速度データより先に出力され、時刻t04で撮像された画像データは、時刻t04で取得された角速度データより後に出力されている。このようなデータの追い越しが発生した場合でも、通信システム11では、撮像時刻データおよびサンプリング時刻データが時刻同期しているので、AP31は、同じタイミングでサンプリングされた画像データおよび角速度データを抽出してセンサフュージョン処理を行うことができる。
【0070】
ところで、時刻同期カウンタ42-1および時刻同期カウンタ52が有している誤差が積算されることで、時刻t00を原点として時刻同期を行っている場合でも、同期が外れることが想定される。そこで、通信システム11では、同期が外れることが想定されるより前の同期維持タイミングにおいて、AP31が、スタートコンディションを再出力し、STメッセージを再送信することで、新たに時刻同期を維持させることができる。
【0071】
例えば、
図3に示すように、時刻t10において同期維持タイミングとなった場合、AP31では、通信処理制御部63が、時刻t10から所定のディレイタイムとなるタイミングの時刻t11において、I3Cに従って通信の開始を示すスタートコンディションを再出力し、STメッセージを再送信する。これによって、上述したのと同様に、時刻t12において、画像センサ22-1およびジャイロセンサ23において、新たにセットするカウント値を算出され、時刻t10を原点とした時刻同期が行われる。その後、サンプリング周期に従った時刻t13において、画像センサ22-1において画像データが取得されるとともに、ジャイロセンサ23において角速度データが取得され、以下、同様の処理が繰り返して行われる。
【0072】
なお、一般的には、サンプリング周期(
図3に示す例では、カウント値0~15)で1周するカウンタが実装されるが、この構成では、サンプリング周期ごとのサンプリング時刻が同じカウント値となって、上述したようなデータの追い越しが発生したことを認識することができなくなる。そこで、通信システム11では、最低でもサンプリング周期の2周期以上で1周するような時刻同期カウンタ42-1、時刻同期カウンタ52、および時刻同期カウンタ62が実装される。これにより、少なくとも連続するサンプリング周期でサンプリング時刻が異なるカウント値となるため、データの追い越しが発生したことを認識することができる。
【0073】
図5は、AP31で行われる時刻同期に基づいた出力制御処理を説明するフローチャートである。
【0074】
例えば、通信システム11が起動すると処理が開始される。ステップS11において、情報処理部66は、通信処理制御部63を介して、画像センサ22-1の時刻同期カウンタ42-1の周波数および誤差、並びに、ジャイロセンサ23の時刻同期カウンタ52の周波数および誤差を取得する。
【0075】
ステップS12において、情報処理部66は、ステップS11で取得した画像センサ22-1の時刻同期カウンタ42-1の周波数に合わせたディレイタイムおよびサンプリング周期を設定し、通信処理制御部63を介して画像センサ22-1に送信する。同様に、情報処理部66は、ステップS11で取得したジャイロセンサ23の時刻同期カウンタ52の周波数に合わせたディレイタイムおよびサンプリング周期を設定し、通信処理制御部63を介してジャイロセンサ23に送信する。
【0076】
ステップS13において、通信処理制御部63は、I3Cに従ったスタートコンディションを出力し、時刻同期した動作の開始を指示するSTメッセージを送信する。これに応じ、画像センサ22-1およびジャイロセンサ23では、
図3を参照して上述したようにAP31の時刻同期カウンタ62と時刻同期が行われる。そして、時刻同期されたサンプリング周期に従ったタイミングで、画像センサ22-1において撮像が開始されるとともに、ジャイロセンサ23において角速度の検出が開始される。
【0077】
ステップS14において、通信処理制御部63は、I3Cに従ったリード要求を行い、ジャイロセンサ23から角速度データおよびサンプリング時刻データを読み出して、レジスタ64に格納する。
【0078】
ステップS15において、画像データ受信部61は、C-PHYまたはD-PHYに従って画像センサ22-1から送信されてくる画像データを受信して、データ統合部65に供給する。このとき、画像データ受信部61は、CSI-2のEmbedded Data Packetに格納されている撮像時刻データを取得して、データ統合部65に供給する。
【0079】
ステップS16において、データ統合部65は、ステップS15で供給された画像データの撮像時刻データと同じタイミングを示すサンプリング時刻データの角速度データをレジスタ64から読み出して、それらのデータを統合するセンサフュージョン処理を行う。即ち、データ統合部65は、C-PHYまたはD-PHY経由で受信した画像データの撮像時刻データと、I3C経由で受信した角速度データのサンプリング時刻データとを比較し、それらの時刻に応じて、角速度から求められるドローンの姿勢に従って、画像の歪みを補正するなどのセンサフュージョン処理を行う。
【0080】
ステップS17において、情報処理部66は、ステップS11で取得された誤差から設定される同期維持タイミングとなったか否かを判定する。例えば、情報処理部66は、画像センサ22-1の時刻同期カウンタ42-1の誤差、および、ジャイロセンサ23の時刻同期カウンタ52の誤差に基づいて、それらの誤差が積算されて同期が外れることが想定される前の所定のタイミングを同期維持タイミングとして予め設定することができる。
【0081】
ステップS17において、情報処理部66が、同期維持タイミングとなったと判定した場合、処理はステップS13に戻る。即ち、この場合、ステップS13において、スタートコンディションを再出力され、STメッセージが再送信される。これに応じて、画像センサ22-1およびジャイロセンサ23では、
図3を参照して上述したようにAP31の時刻同期カウンタ62と新たに時刻同期が維持されることになり、以下、同様の処理が繰り返して行われる。
【0082】
一方、ステップS17において、情報処理部66が、同期維持タイミングとなっていないと判定した場合、処理はステップS18に進む。
【0083】
ステップS18において、情報処理部66は、画像センサ22-1およびジャイロセンサ23との間で同期を停止するか否かを判定する。
【0084】
ステップS18において、情報処理部66が、画像センサ22-1およびジャイロセンサ23との間で同期を停止しないと判定した場合、処理はステップS14に戻る。即ち、この場合、同期維持タイミングではなく、かつ、同期を停止しないことより、現在の時刻同期を維持したままで画像データおよび角速度データを取得する動作が、以下、同様に繰り返して行われる。
【0085】
一方、ステップS18において、情報処理部66が、画像センサ22-1およびジャイロセンサ23との間で同期を停止すると判定した場合、処理はステップS19に進む。
【0086】
ステップS19において、通信処理制御部63は、時刻同期した動作の終了を指示するEXITメッセージ(SETXTIME CCC with ST Sub-Command)を送信し、時刻同期に基づいた出力制御処理を終了する。
【0087】
図6に示すフローチャートは、画像センサ22-1で行われる時刻同期に基づいた出力制御処理を説明するフローチャートである。
【0088】
ステップS31において、通信処理制御部44-1は、AP31の通信処理制御部63からの要求(
図5のステップS11参照)に応じて、時刻同期カウンタ42-1の周波数および誤差を送信する。
【0089】
ステップS32において、通信処理制御部44-1は、
図5のステップS12で送信されてくるディレイタイムおよびサンプリング周期を受信し、レジスタ43-1に設定する。
【0090】
ステップS33において、通信処理制御部44-1は、スタートコンディションを検出したか否かを判定し、スタートコンディションを検出したと判定するまで処理を待機する。例えば、
図5のステップS13でAP31の通信処理制御部63がスタートコンディションを出力すると、通信処理制御部44-1は、スタートコンディションを検出したと判定して、処理はステップS34に進む。
【0091】
ステップS34において、通信処理制御部44-1は、スタートコンディション検出を時刻同期カウンタ42-1に通知し、時刻同期カウンタ42-1は、スタートコンディション検出が通知された時刻でのカウント値をレジスタ43-1に保持させる。
【0092】
ステップS35において、通信処理制御部44-1は、STメッセージを受信したか否かを判定し、STメッセージを受信したと判定するまで処理を待機する。例えば、通信処理制御部44-1は、
図5のステップS13でAP31の通信処理制御部63が送信したSTメッセージを受信すると、STメッセージを受信したと判定して、処理はステップS36に進む。
【0093】
ステップS36において、通信処理制御部44-1は、STメッセージ受信を時刻同期カウンタ42-1に通知し、時刻同期カウンタ42-1は、
図3を参照して上述したように新たにセットするカウント値を算出する。そして、時刻同期カウンタ42-1が、算出したカウント値をセットすることで、AP31の時刻同期カウンタ62と時刻同期することになる。
【0094】
ステップS37において、撮像素子41-1は、サンプリング周期に従って撮像を行い、その撮像により取得される画像データを画像データ送信部45-1へ出力する。
【0095】
ステップS38において、時刻同期カウンタ42-1は、ステップS37で撮像素子41-1が撮像を行ったタイミングにおけるカウント値を撮像時刻データとして取得し、レジスタ43-1に保持させる。
【0096】
ステップS39において、画像センサ22-1から画像データを送信するタイミングになると、画像データ送信部45-1は、ステップS37で撮像素子41-1から供給された画像データの撮像時刻データを、レジスタ43-1から読み出す。そして、画像データ送信部45-1は、撮像時刻データが格納された画像データを、C-PHYまたはD-PHYに従ってAP31へ送信する。
【0097】
ステップS40において、通信処理制御部44-1は、EXITメッセージを受信したか否かを判定する。例えば、
図5のステップS19でAP31の通信処理制御部63が送信したEXITメッセージを受信すると、通信処理制御部44-1は、EXITメッセージを受信したと判定することができる。
【0098】
ステップS40において、通信処理制御部44-1が、EXITメッセージを受信していないと判定した場合、処理はステップS41に進む。
【0099】
ステップS41において、通信処理制御部44-1は、スタートコンディションを検出したか否かを判定する。例えば、
図5のステップS17で同期維持タイミングとなったと判定された後にステップS13でスタートコンディションが再出力されると、通信処理制御部44-1は、スタートコンディションを検出したと判定することができる。
【0100】
ステップS41において、通信処理制御部44-1が、スタートコンディションを検出したと判定した場合、処理はステップS34に戻る。即ち、この場合、
図3を参照して上述したようにAP31の時刻同期カウンタ62と新たに時刻同期が維持されることになり、その後、同様の処理が繰り返して行われる。
【0101】
一方、ステップS41において、通信処理制御部44-1が、スタートコンディションを検出していないと判定した場合、処理はステップS37に戻り、現在の時刻同期を維持したままで画像データを送信する動作が、以下、同様に繰り返して行われる。
【0102】
一方、ステップS40において、通信処理制御部44-1が、EXITメッセージを受信したと判定した場合、時刻同期に基づいた出力制御処理は終了される。
【0103】
図7は、ジャイロセンサ23で行われる時刻同期を伴う処理を説明するフローチャートである。
【0104】
ステップS51乃至S56では、
図6のステップS31乃至S36と同様の処理が行われる。そして、ステップS56において、時刻同期カウンタ52が、新たにセットするカウント値を算出することで、AP31の時刻同期カウンタ62と時刻同期することになる。
【0105】
ステップS57において、検出部51は、サンプリング周期に従って角速度の検出を行い、その検出により取得される角速度データをレジスタ53に書き込む。
【0106】
ステップS58において、時刻同期カウンタ52は、ステップS57で検出部51が角速度の検出を行ったタイミングにおけるカウント値をサンプリング時刻データとして取得し、角速度データと隣り合ったアドレスでサンプリング時刻データをレジスタ53に書き込む。
【0107】
ステップS59において、通信処理制御部54は、例えば、
図5のステップS14でAP31の通信処理制御部63が行うI3Cに従ったリード要求に応じて、レジスタ53から角速度データおよびサンプリング時刻データを読み出し、AP31へ送信する。
【0108】
その後、ステップS60およびS61では、
図6のステップS40およびS41と同様の処理が行われる。
【0109】
以上のように、通信システム11では、異なる伝送路を通って画像データおよび角速度データが伝送される構成であっても、I3Cで定義されているタイミングコントロールを利用した時刻同期に基づいて、適切な出力制御を行うことができる。
【0110】
<時刻同期に基づいた出力制御の第2の処理例>
図8乃至12を参照して、時刻同期に基づいた出力制御の第2の処理例として、同一の伝送路を通るデータに対する出力制御について説明する。
【0111】
図8に示す通信システム11では、
図1に示した通信システム11を構成する各ブロックのうち、時刻同期に基づいた出力制御の第2の処理例を説明するのに用いる画像センサ22-1および22-2、並びに、AP31が示されている。即ち、画像センサ22-1からC-PHYまたはD-PHYによりAP31へ伝送される画像データと、画像センサ22-2からC-PHYまたはD-PHYによりAP31へ伝送される画像データとが同一の伝送路を通る際に、それぞれの画像データに対して、時刻同期に基づいた出力制御が行われる。
【0112】
画像センサ22-1は、
図2を参照して上述したのと同様に、撮像素子41-1、時刻同期カウンタ42-1、レジスタ43-1、通信処理制御部44-1、および画像データ送信部45-1を備えて構成される。また、画像センサ22-2は、画像センサ22-1と上述と同様に、撮像素子41-2、時刻同期カウンタ42-2、レジスタ43-2、通信処理制御部44-2、および画像データ送信部45-2を備えて構成される。
【0113】
AP31は、
図2を参照して上述したのと同様に、画像データ受信部61、時刻同期カウンタ62、通信処理制御部63、レジスタ64、データ統合部65、および情報処理部66を備えて構成される。
【0114】
ここで、時刻同期に基づいた出力制御の第2の処理例では、AP31の情報処理部66が、画像センサ22-1および22-2それぞれから画像を出力するタイミングを指示する画像出力タイミングを設定する。そして、情報処理部66は、通信処理制御部63を介して、ディレイタイムやサンプリング周期などの設定値とともに画像出力タイミングを画像センサ22-1および22-2へ送信する。
【0115】
そして、画像センサ22-1では、通信処理制御部44-1が画像出力タイミングを受信してレジスタ43-1に保持させ、画像センサ22-2では、通信処理制御部44-2が画像出力タイミングを受信してレジスタ43-2に保持させる。
【0116】
従って、画像センサ22-1では、画像データ送信部45-1が、レジスタ43-1に保持されている画像出力タイミングに基づいて、撮像時刻データが格納された画像データを、C-PHYまたはD-PHYに従ってAP31へ送信することができる。同様に、画像センサ22-2では、画像データ送信部45-2が、レジスタ43-2に保持されている画像出力タイミングに基づいて、撮像時刻データが格納された画像データを、C-PHYまたはD-PHYに従ってAP31へ送信することができる。
【0117】
これにより、通信システム11では、例えば、外部から同期信号を伝送するための信号線を設けることなく、I3Cで定義されているタイミングコントロールの一部を利用して、画像センサ22-1および22-2から同一の伝送路で画像データを伝送することができる。
【0118】
図9を参照して、画像センサ22-1および22-2と、AP31との間で行われる時刻同期に基づいた出力制御の動作について説明する。
【0119】
図9に示す動作例では、画像センサ22-1の時刻同期カウンタ42-1は、AP31の時刻同期カウンタ62と同一のクロック周波数で動作し、画像センサ22-2の時刻同期カウンタ42-2は、AP31の時刻同期カウンタ62の半分のクロック周波数で動作している。なお、いずれも位相ずれについては考慮せずに説明を行う。
【0120】
まず、時刻同期に基づいた出力制御の第2の処理例では、
図3を参照して上述したのと同様に、スタートコンディションの出力に続いてSTメッセージが送信され、時刻t00を原点として時刻同期が行われる。
【0121】
そして、
図9に示す例では、画像センサ22-1の画像出力タイミングは、サンプリング周期に従って撮像が行われるタイミングから2クロック後が指定されている。また、画像センサ22-2の画像出力タイミングは、サンプリング周期に従って撮像が行われるタイミングから5クロック後が指定されている。
【0122】
従って、画像センサ22-1では、画像データ送信部45-1が、サンプリング周期に従って撮像が行われる時刻t03から2クロック後のタイミング(
図9の例では、CIS-1_Count=18)で、撮像時刻データが格納された画像データをC-PHYまたはD-PHYに従ってAP31へ送信する。同様に、画像センサ22-2では、画像データ送信部45-2が、サンプリング周期に従って撮像が行われる時刻t03から5クロック後のタイミング(
図9の例では、CIS-2_Count=13)で、撮像時刻データが格納された画像データをC-PHYまたはD-PHYに従ってAP31へ送信する。
【0123】
このように、通信システム11では、それぞれ異なるタイミングを指示する画像出力タイミングによって、同一の伝送路を介して画像データを送信する際に、バス上で信号の衝突を回避することができる。
【0124】
また、時刻同期に基づいた出力制御の第2の処理例でも、
図3を参照して上述したのと同様に、同期が外れることが想定されるより前の同期維持タイミングにおいて、AP31が、スタートコンディションを再出力し、STメッセージを再送信することで、新たに時刻同期を維持させることができる。
【0125】
図10に示すフローチャートは、AP31で行われる時刻同期に基づいた出力制御処理を説明するフローチャートである。
【0126】
例えば、通信システム11が起動すると処理が開始される。ステップS71において、情報処理部66は、通信処理制御部63を介して、画像センサ22-1の時刻同期カウンタ42-1の周波数および誤差、並びに、画像センサ22-2の時刻同期カウンタ42-2の周波数および誤差を取得する。
【0127】
ステップS72において、情報処理部66は、ステップS71で取得した画像センサ22-1の時刻同期カウンタ42-1の周波数に合わせたディレイタイム、サンプリング周期、および画像出力タイミングを設定し、通信処理制御部63を介して画像センサ22-1に送信する。同様に、情報処理部66は、ステップS71で取得した画像センサ22-2の時刻同期カウンタ42-2の周波数に合わせたディレイタイム、サンプリング周期、および画像出力タイミングを設定し、通信処理制御部63を介して画像センサ22-2に送信する。
【0128】
ステップS73において、通信処理制御部63は、I3Cに従ったスタートコンディションを出力し、時刻同期した動作の開始を指示するSTメッセージを送信する。これに応じ、画像センサ22-1および22-2では、
図9に示したようにAP31の時刻同期カウンタ62と時刻同期が行われる。そして、時刻同期されたサンプリング周期に従ったタイミングで、画像センサ22-1および22-2において撮像が開始される。
【0129】
ステップS74において、画像データ受信部61は、C-PHYまたはD-PHYに従って画像センサ22-1および22-2それぞれの画像出力タイミングに応じて送信されてくる画像データを受信して、データ統合部65に供給する。このとき、画像データ受信部61は、CSI-2のEmbedded Data Packetに格納されている撮像時刻データを取得して、データ統合部65に供給する。
【0130】
その後、ステップS75乃至S77では、
図5のステップS17乃至S19と同様の処理が、画像センサ22-1および22-2を対象として行われる。
【0131】
図11は、画像センサ22-1および22-2で行われる時刻同期に基づいた出力制御処理を説明するフローチャートである。なお、画像センサ22-1および22-2では、同様の処理が行われるため、以下適宜、画像センサ22-1および22-2を単に画像センサ22と称し、画像センサ22-1および22-2を構成する各部についても同様に称する。
【0132】
ステップS81において、通信処理制御部44は、AP31の通信処理制御部63からの要求(
図10のステップS71参照)に応じて、時刻同期カウンタ42の周波数および誤差を送信する。
【0133】
ステップS82において、通信処理制御部44は、
図10のステップS72で送信されてくるディレイタイム、サンプリング周期、および画像出力タイミングを受信し、レジスタ43に設定する。
【0134】
その後、ステップS83乃至S88では、
図6のステップS33乃至S38と同様の処理が行われる。
【0135】
そして、ステップS89において、画像データ送信部45は、レジスタ43に格納されている画像出力タイミングに基づいて、撮像時刻データが格納された画像データを、C-PHYまたはD-PHYに従ってAP31へ送信する。
【0136】
その後、ステップS90およびS91では、
図6のステップS40およびS41と同様の処理が行われる。
【0137】
以上のように、通信システム11では、同一の伝送路を通って複数の画像データが伝送される構成であっても、I3Cで定義されているタイミングコントロールを利用した時刻同期に基づいて、適切な出力制御を行うことができる。なお、通信システム11では、AP31側において、サンプリング周期に従った画像出力タイミングを把握していることより、画像データに撮像時刻データが格納されていなくても、画像データが送信されてきたタイミングから撮像時刻を認識することができる。即ち、同一の伝送路を通るデータに対する出力制御では、画像データに撮像時刻データを格納することは必須ではなく、つまり、撮像時刻データを必ずしも出力しなくてもよく、画像出力タイミングに従って画像データを出力する制御が行われていればよい。
【0138】
なお、通信システム11において、画像出力タイミングを制御する制御方法としては、以下で説明する2つの制御方法を用いることができる。
【0139】
第1の制御方法では、
図12に示すように、個々の画像センサ22が、指定された画像出力タイミングから画像のラインごとにAD変換を開始するタイミングを計算して、制御することによって、連続して画像を出力するように出力制御が行われる。
【0140】
第2の制御方法では、個々の画像センサ22が画像の全てのラインを一斉にAD変換して、画像データをRAMなどに格納した後に、指定された画像出力タイミングに従って画像データを出力するように出力制御が行われる。
【0141】
例えば、第1の制御方法は、第2の制御方法と比較して、出力制御が複雑になる一方で、RAMが不要になるとともに、1ライン分のAD変換回路を備える構成でよく、回路規模を最小化することができるという利点を有する。また、第1の制御方法では、AP31が指定する画像出力タイミングとして、1行目のラインのAD変換を開始するタイミングを指定することで出力制御を実現することができる。
【0142】
以上のように、通信システム11は、上述の
図3を参照して説明したようなデータの追い越しが発生しても、同じタイミングでサンプリングされたデータどうしでセンサフュージョン処理を行うことができる。また、通信システム11は、外部から同期信号を伝送するための信号線が不要な構成とすることができるとともに、AP31のピン数を削減することができる。
【0143】
さらに、通信システム11は、I3C規格で定義されているタイミングコントロールを利用して時刻同期を行うので、I3C規格を採用した各種のセンサであれば、確実に出力制御を行うことができる。また、通信システム11は、例えば、サンプリング周期ごとに同期信号を送信するような処理を行う必要がなく、同期維持タイミングとなったときにSTメッセージを再送信するだけでよいので、AP31の処理負荷の軽減を図ることができる。
【0144】
また、通信システム11は、I3C規格で定義されているタイミングコントロールを利用して時刻同期を行うので、例えば、画像出力タイミングを制御するための専用の同期制御機構を不要とすることができる。
【0145】
なお、通信システム11は、上述した第1の処理例および第2の処理例との両方を実行できるように構成する他、いずれか一方だけを実行できるような構成としてもよい。
【0146】
<画像センサ、ジャイロセンサ、およびAPの実装例>
図13乃至
図15を参照して、画像センサ22、ジャイロセンサ23、およびAP31の実装例について説明する。
【0147】
図13には、画像センサ22の実装例が示されている。
【0148】
図13に示すように、画像センサ22は、画素101、AD変換器102、画像処理部103、CSI-2トランスミッタ104、物理層処理部105、I2C/I3Cスレーブ106、CCIスレーブ107、レジスタ108、および時刻同期カウンタ109を備えて構成される。
【0149】
画素101、AD変換器102、および画像処理部103は、例えば、
図2の撮像素子41-1を構成する。即ち、画素101は、光を受光した光量に応じた画素信号を出力し、AD変換器102は、画素信号をデジタル値に変換して画像処理部103に供給する。そして、画像処理部103は、画素信号から画像を構築する画像処理を行うことにより得られる画像データを、CSI-2トランスミッタ104に供給する。
【0150】
CSI-2トランスミッタ104および物理層処理部105は、例えば、
図2の画像データ送信部45-1を構成する。即ち、CSI-2トランスミッタ104は、画像処理部103から供給された画像データをCSI-2に従って送信し、物理層処理部105は、その画像データをC-PHYまたはD-PHYに従ってAP31へ伝送する。
【0151】
I2C/I3Cスレーブ106およびCCI(Camera Control Interface)スレーブ107は、例えば、
図2の通信処理制御部44-1を構成する。即ち、I2C/I3Cスレーブ106は、AP31のI2C/I3Cマスタ127により主導的に制御されるI2CまたはI3Cに従った通信処理を行い、CCIスレーブ107は、AP31のCCIマスタ126により主導的に制御されるCCIに従った通信処理を行う。例えば、I2C/I3Cスレーブ106は、スタートコンディション検出、STメッセージ検出、およびEXITメッセージ検出を、時刻同期カウンタ109に通知する。
【0152】
レジスタ108は、
図2のレジスタ43-1に対応する。即ち、レジスタ108には、ディレイタイムや、サンプリング周期、画像出力タイミングなどの設定値がI2C/I3Cスレーブ106およびCCIスレーブ107を介して書き込まれる。また、レジスタ108は、時刻同期カウンタ109から出力される撮像時刻データ(サンプリング時刻)を保持し、撮像時刻データはCSI-2トランスミッタ104により読み出される。
【0153】
時刻同期カウンタ109は、
図2の時刻同期カウンタ42-1に対応する。即ち、時刻同期カウンタ109は、レジスタ108からディレイタイムや、サンプリング周期、画像出力タイミングなどの設定値を読み出して、時刻同期を行って、画素101に対する撮像開始のタイミング、および、AD変換器102に対するA/D変換開始のタイミングを指示する。
【0154】
図14には、ジャイロセンサ23の実装例が示されている。
【0155】
図14に示すように、ジャイロセンサ23は、センサ111、I2C/I3Cスレーブ112、CCIスレーブ113、レジスタ114、および時刻同期カウンタ115を備えて構成される。
【0156】
センサ111は、
図2の検出部51に対応する。即ち、センサ111は、所定のサンプリング周期で角速度を検出して、角速度データをレジスタ114に書き込む。
【0157】
I2C/I3Cスレーブ112およびCCIスレーブ113は、例えば、
図2の通信処理制御部54を構成する。即ち、I2C/I3Cスレーブ112は、AP31のI2C/I3Cマスタ127により主導的に制御されるI2CまたはI3Cに従った通信処理を行い、CCIスレーブ113は、AP31のCCIマスタ126により主導的に制御されるCCIに従った通信処理を行う。例えば、I2C/I3Cスレーブ112は、スタートコンディション検出、STメッセージ検出、およびEXITメッセージ検出を、時刻同期カウンタ115に通知する。
【0158】
レジスタ114は、
図2のレジスタ53に対応する。即ち、レジスタ114には、ディレイタイムやサンプリング周期などの設定値がI2C/I3Cスレーブ112およびCCIスレーブ113を介して書き込まれる。また、レジスタ114は、時刻同期カウンタ115から出力されるサンプリング時刻データを保持し、角速度データおよびサンプリング時刻データは、I2C/I3Cスレーブ112およびCCIスレーブ113を介して、AP31へ送信される。
【0159】
時刻同期カウンタ115は、
図2の時刻同期カウンタ52に対応する。即ち、時刻同期カウンタ115は、レジスタ114からディレイタイムやサンプリング周期などの設定値を読み出して、時刻同期を行って、センサ111に対する検出開始のタイミングを指示する。
【0160】
【0161】
図15に示すように、AP31は、物理層処理部121、CSI-2レシーバ122、センサフュージョン処理部123、レジスタ124、時刻同期カウンタ125、CCIマスタ126、I2C/I3Cマスタ127、メモリ部128、およびプロセッサ129を備えて構成される。
【0162】
物理層処理部121およびCSI-2レシーバ122は、例えば、
図2の画像データ受信部61を構成する。即ち、物理層処理部121は、C-PHYまたはD-PHYに従って画像センサ22から伝送されてくる画像データを受信し、CSI-2レシーバ122は、画像データをCSI-2に従って受信する。そして、CSI-2レシーバ122は、画像データをデータバスに出力するとともに、画像データおよび撮像時刻データをセンサフュージョン処理部123に供給する。
【0163】
センサフュージョン処理部123は、
図2のデータ統合部65に対応する。即ち、センサフュージョン処理部123は、撮像時刻データと同じタイミングを示すサンプリング時刻データの角速度データ(センサデータ)をレジスタ124から読み出し、画像データを補正するなどのセンサフュージョン処理を行う。
【0164】
レジスタ124は、
図2のレジスタ64に対応し、時刻同期カウンタ125は、
図2の時刻同期カウンタ62に対応する。
【0165】
CCIマスタ126およびI2C/I3Cマスタ127は、例えば、
図2の通信処理制御部63を構成する。即ち、CCIマスタ126は、CCIに従った通信処理を主導的に制御し、I2C/I3Cマスタ127は、I2CまたはI3Cに従った通信処理を主導的に制御する。例えば、I2C/I3Cマスタ127は、時刻同期カウンタ125から指示されるタイミングに従って、STメッセージおよびEXITメッセージを送信する。
【0166】
メモリ部128およびプロセッサ129は、例えば、
図2の情報処理部66を構成する。
【0167】
<コンピュータの構成例>
図16は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0168】
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203、およびEEPROM(Electronically Erasable and Programmable Read Only Memory)204は、バス205により相互に接続されている。バス205には、さらに、入出力インタフェース206が接続されており、入出力インタフェース206が外部に接続される。
【0169】
以上のように構成されるコンピュータでは、CPU201が、例えば、ROM202およびEEPROM204に記憶されているプログラムを、バス205を介してRAM203にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ(CPU201)が実行するプログラムは、ROM202に予め書き込んでおく他、入出力インタフェース206を介して外部からEEPROM204にインストールしたり、更新したりすることができる。
【0170】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0171】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0172】
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0173】
また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
【0174】
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0175】
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
【0176】
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
【0177】
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【0178】
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【0179】
<構成の組み合わせ例>
なお、本技術は以下のような構成も取ることができる。
(1)
複数の他の通信装置との間で、所定の規格に従った通信処理の制御を行う通信処理制御部と、
前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタと、
前記時刻同期カウンタに、前記複数の他の通信装置それぞれが備える他の時刻同期カウンタを時刻同期させて、前記複数の他の通信装置において所定のサンプリング周期でサンプリングされたサンプリングデータを出力させる出力制御に必要な情報処理を行う情報処理部と
を備え、
前記情報処理部は、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力させる出力制御を行う
通信装置。
(2)
前記情報処理部は、前記複数の他の通信装置のうち、第1の他の通信装置と第2の他の通信装置とが異なる伝送路を介して前記サンプリングデータを送信する構成において、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力させる出力制御を行い、
前記第1の他の通信装置から送信されてくる第1のサンプリングデータと、その第1のサンプリングデータがサンプリングされた前記第1の他の通信装置の前記他の時刻同期カウンタに従ったタイミングを示す第1の時刻データとを、第1の伝送路を介して受信し、前記第2の他の通信装置から送信されてくる第2のサンプリングデータと、その第2のサンプリングデータがサンプリングされた前記第2の他の通信装置の前記他の時刻同期カウンタに従ったタイミングを示す第2の時刻データとを、第2の伝送路を介して受信するデータ受信部
をさらに備える上記(1)に記載の通信装置。
(3)
前記第2の他の通信装置から送信されてくる前記第2のサンプリングデータと、その第2のサンプリングデータの前記第2の時刻データと同じタイミングを示す前記第1の時刻データの前記第1のサンプリングデータとを統合するデータ統合部
をさらに備える上記(2)に記載の通信装置。
(4)
前記情報処理部は、前記複数の他の通信装置が、同一の伝送路を介して前記サンプリングデータを送信する構成においては、前記時刻データを出力させる出力制御を必ずしも行わずに、前記複数の他の通信装置がそれぞれ異なるタイミングで前記サンプリングデータを出力することを指示する出力タイミングを設定する
上記(1)から(3)までのいずれかに記載の通信装置。
(5)
前記複数の他の通信装置から送信されてくる前記サンプリングデータを、前記伝送路を介して受信するデータ受信部
をさらに備える上記(4)に記載の通信装置。
(6)
通信装置が、
複数の他の通信装置との間で、所定の規格に従った通信処理の制御を行うことと、
前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタに、前記複数の他の通信装置それぞれが備える他の時刻同期カウンタを時刻同期させて、前記複数の他の通信装置において所定のサンプリング周期でサンプリングされたサンプリングデータを出力させる出力制御に必要な情報処理を行うことと
を含み、
前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力させる出力制御を行う
通信方法。
(7)
通信装置のコンピュータに、
複数の他の通信装置との間で、所定の規格に従った通信処理の制御を行うことと、
前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタに、前記複数の他の通信装置それぞれが備える他の時刻同期カウンタを時刻同期させて、前記複数の他の通信装置において所定のサンプリング周期でサンプリングされたサンプリングデータを出力させる出力制御に必要な情報処理を行うことと
を含み、
前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力させる出力制御を行う
通信処理を実行させるためのプログラム。
(8)
通信装置であって、
所定のサンプリング周期でサンプリングデータをサンプリングするサンプリング部と、
他の通信装置との間で、所定の規格に従った通信処理の制御を行う通信処理制御部と、
前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタと
を備え、
前記他の通信装置による出力制御に従って、前記時刻同期カウンタが前記他の通信装置が備える他の時刻同期カウンタに時刻同期し、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力する
通信装置。
(9)
複数の前記通信装置のうち、第1の通信装置と第2の通信装置とが異なる伝送路を介して前記サンプリングデータを送信する構成において、
前記他の通信装置において、前記第2の通信装置から送信された第2のサンプリングデータと、その第2のサンプリングデータの第2の時刻データと同じタイミングを示す前記第1の通信装置から送信された第1の時刻データの第1のサンプリングデータとが統合される
上記(8)に記載の通信装置。
(10)
複数の前記通信装置が、同一の伝送路を介して前記サンプリングデータを送信する構成においては、
それぞれの前記通信装置は、前記時刻データの出力を必ずしも行わずに、前記他の通信装置によって設定され、個々の前記通信装置がそれぞれ異なるタイミングで前記サンプリングデータを出力することを指示する出力タイミングに従って、前記サンプリングデータを出力する
上記(8)または(9)に記載の通信装置。
(11)
通信装置が、
所定のサンプリング周期でサンプリングデータをサンプリングすることと、
他の通信装置との間で、所定の規格に従った通信処理の制御を行うことと、
前記他の通信装置による出力制御に従って、前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタが前記他の通信装置が備える他の時刻同期カウンタに時刻同期し、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力することと
を含む通信方法。
(12)
通信装置のコンピュータに、
所定のサンプリング周期でサンプリングデータをサンプリングすることと、
他の通信装置との間で、所定の規格に従った通信処理の制御を行うことと、
前記他の通信装置による出力制御に従って、前記規格で定義されているタイミングコントロールを実現するための時刻同期カウンタが前記他の通信装置が備える他の時刻同期カウンタに時刻同期し、前記サンプリングデータとともに、そのサンプリングデータがサンプリングされたタイミングを示す時刻データを出力することと
を含む通信処理を実行させるためのプログラム。
【0180】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【0181】
11 通信システム, 21 測距センサ, 22 画像センサ, 23 ジャイロセンサ, 24 加速度センサ, 25 位置センサ, 26 気圧センサ, 31 AP, 41 撮像素子, 42 時刻同期カウンタ, 43 レジスタ, 44 通信処理制御部, 45 画像データ送信部, 51 検出部, 52 時刻同期カウンタ, 53 レジスタ, 54 通信処理制御部, 61 画像データ受信部, 62 時刻同期カウンタ, 63 通信処理制御部, 64 レジスタ, 65 データ統合部, 66 情報処理部