JP2022168409A - 通信装置、通信装置の制御方法およびプログラム - Google Patents

通信装置、通信装置の制御方法およびプログラム Download PDF

Info

Publication number
JP2022168409A
JP2022168409A JP2021073830A JP2021073830A JP2022168409A JP 2022168409 A JP2022168409 A JP 2022168409A JP 2021073830 A JP2021073830 A JP 2021073830A JP 2021073830 A JP2021073830 A JP 2021073830A JP 2022168409 A JP2022168409 A JP 2022168409A
Authority
JP
Japan
Prior art keywords
packet
time stamp
communication
communication packet
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021073830A
Other languages
English (en)
Inventor
仁 松本
Hitoshi Matsumoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2021073830A priority Critical patent/JP2022168409A/ja
Priority to US17/721,009 priority patent/US11956344B2/en
Publication of JP2022168409A publication Critical patent/JP2022168409A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • H04Q9/04Arrangements for synchronous operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

【課題】複数の種別の通信パケットをそれぞれ処理可能な通信装置において、他の通信装置との適切な時刻同期を可能とする。【解決手段】通信パケットを受信し、通信パケットが受信されたタイムスタンプを取得し、受信された通信パケットの種別を解析し、解析された通信パケットの種別を示す情報に基づいて、受信された通信パケットを所定のメモリに転送し、解析された通信パケットの種別を、取得されたタイムスタンプに対応付ける。【選択図】 図2

Description

本発明は、他の通信装置と時刻同期可能な通信装置に関する。
複数のカメラを異なる位置に設置して多視点で同期撮像し、この同期撮像により得られた複数視点画像を用いて、仮想視点コンテンツを生成する技術がある。この仮想視点コンテンツを用いれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することができる。これにより、通常の画像と比較して、より高い臨場感がユーザに提供される。
このような同期撮影を実現するネットワークを用いた時刻同期技術の1つに、PTP(Precision Time Protocol:IEEE1588-2008)がある。PTPでは、正確な時刻を持つマスタ装置が、PTPパケットにその時刻情報を載せて送信する。スレーブ装置は、そのPTPパケットを受信することで時刻同期を実行する。
PTPで時刻同期する通信ネットワークでは、様々な通信パケットが転送されている。転送される通信パケットの種別は、各通信装置間やマスタ装置および通信装置間の時刻同期を行うPTPパケット、通信装置を制御するTCP/IPパケット、カメラにより撮像された画像や映像のパケット等を含む。
特許文献1は、通信ネットワーク上で転送される通信パケットを、通信パケットの種別ごとに振り分ける通信装置を開示する。
具体的には、特許文献1の通信装置は、受信された通信パケットのIPヘッダのTOS(Type of Service)フィールドを解析して、IP Precedenceの値に応じて、通信パケットを振り分ける。
特開2018-113623号公報
しかしながら、複数の種別の通信パケットを振り分ける通信装置において、PTPの時刻同期処理を実行できない場合があった。
具体的には、PTPのスレーブ装置において、受信パケットと受信タイムスタンプとが分離して出力され、かつ受信パケットの種別に応じて異なるモジュールで受信処理を実行する場合、受信パケットと受信タイムスタンプとの対応付けが失われてしまう。このため、適切な受信タイムスタンプを用いてPTPの時刻同期処理を実行することができず、マスター装置への時刻同期が外れるおそれがあった。
本発明は、上述の課題に鑑みてなされたものであり、その目的は、複数の種別の通信パケットをそれぞれ処理可能な通信装置において、他の通信装置との適切な時刻同期を可能とすることにある。
上記課題を解決するため、本発明に係る通信装置のある態様によれば、通信パケットを受信する受信手段と、前記受信手段により受信された前記通信パケットを所定のメモリに転送する転送手段と、前記通信パケットが前記受信手段により受信されたタイムスタンプを取得する取得手段と、前記受信手段により受信された前記通信パケットの種別を解析する解析手段と、前記解析手段により解析された前記通信パケットの種別を示す情報を、前記転送手段に通知するとともに、前記取得手段により取得された前記タイムスタンプに対応付けるよう制御する制御手段と、を備える通信装置が提供される。
本発明によれば、複数の種別の通信パケットをそれぞれ処理可能な通信装置において、他の通信装置との適切な時刻同期を可能とすることができる。
各実施形態に係る同期撮像システムのネットワーク構成の一例を示すブロック図 各実施形態に係るカメラアダプタ2(通信装置)のハードウエアおよび機能構成の一例を示すブロック図 PTP時刻同期処理の一例を示すシーケンス図 各実施形態に係るカメラアダプタ2が実行する通信パケットの受信処理の処理手順の一例を示すフローチャート 実施形態1における図4の受信タイムスタンプ振分処理(S47)の詳細処理手順の一例を示すフローチャート 図4の受信パケット振分処理(S48)の詳細処理手順の一例を示すフローチャート 各実施形態に係るPTP時刻同期処理の処理手順の一例を示すフローチャート 実施形態2における図4の受信タイムスタンプ振分処理(S47)の詳細処理手順の一例を示すフローチャート
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施形態に必ずしも限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
(実施形態1)
本実施形態において、通信装置は、受信された通信パケットの種別に対応して、受信タイムスタンプを振り分け、受信された通信パケットと受信タイムスタンプとを対応付けることにより、時刻同期を実行する。
以下、通信装置が、IEEE1588規格に準拠するPTP(Precision Time Protocol)により時刻同期を実行する例を説明するが、本実施形態の時刻同期プロトコルはこれに限定されない。
<本実施形態のネットワーク構成>
図1は、本実施形態に係る時刻同期を適用可能なシステムの一例として、競技場(スタジアム)やコンサートホールにおいて仮想視点画像を生成する同期撮像システムのネットワーク構成の一例を示す。
図1を参照して、同期撮像システム10は、センサシステム3a、3b、・・・、3z、タイムサーバ4、ハブ5、制御端末6、画像コンピューティングサーバ7、ユーザ端末8を備える。ハブ5とセンサシステム3a、3b、・・・、3zとは、デイジーチェーン9a、9b、・・・で接続されている。デイジーチェーンは、ハブ5と各センサシステム3a、3b、・・・、3zとを直列に接続する。各センサシステム3a、3b、・・・、3zは、複数のコネクタを備え、各コネクタを介して別々の装置と接続することで、デイジーチェーンの接続を確立することができる。
以下、本実施形態において、特に説明する場合を除き、センサシステム3a~センサシステム3zまでの26セットのシステムを区別せず、センサシステム3と総称する。各センサシステム3内の各装置についても同様に、特別に説明する場合を除き、区別せずに、カメラ1、カメラアダプタ2と総称する。
図1において、一例として26セットのセンサシステム3が図示されているが、センサシステムの台数は26に限定されない。また、複数のセンサシステム3は、同一の構成である必要はなく、例えばそれぞれが異なる機種の装置で構成されていてもよい。
なお、本実施形態では、特に説明する場合を除き、画像とは、動画および静止画の概念を含むものとして説明する。すなわち、本実施形態に係る同期撮像システム10は、静止画および動画のいずれについても処理可能であるものとする。
タイムサーバ4は、時刻情報を配信する機能を有し、GNSS(Global Navigation Sastellite System)11に同期した時刻情報をセンサシステム3に配信する。あるいは、タイムサーバ4は、タイムサーバ4が持つローカル時刻をマスタ時刻として、センサシステム3に配信してもよい。
ハブ5は、タイムサーバ4が配信する時刻情報を搬送するPTPパケットや、センサシステム3が画像コンピューティングサーバ7に送信する画像データのパケットを、それぞれの宛先に振り分ける。
制御端末6は、同期撮像システム10を構成するそれぞれのコンポーネントに対して、ネットワークを通じて動作状態の管理およびパラメータ設定制御等を実行する。ここで、ネットワークは、Ethernet(登録商標)であるIEEE規格準拠のGbE(ギガビットイーサネット)や10GbEでもよく、インターコネクトInfiniband、産業用イーサネットなどを組み合わせて構成されてもよい。また、ネットワークは、これらに限定されず、他の任意の種別のネットワークであってよい。
図1において、センサシステム3は、それぞれ、カメラ1およびカメラアダプタ2を備える。ただし、センサシステムの構成は、これに限定されない。センサシステム3はさらに、例えば、マイク等の音声デバイスや、HDD(Hard Disk Drive)、SSD(Solid State Drive)等のストレージデバイス、カメラの向きを制御する雲台等を備えてもよい。
また、センサシステム3は、1台のカメラアダプタ2と、複数のカメラ1で構成されてもよく、1台のカメラ1と複数のカメラアダプタ2で構成されてもよい。複数のセンサシステム3a、3b、・・・、3z同士は、デイジーチェーン9bにより接続される。デイジーチェーン接続により、撮像画像の4Kや8K等への高解像度化および高フレームレート化に伴って大容量化する画像データの転送において、接続ケーブル数を削減するとともに配線作業を省力化することができる。
ただし、接続形態はデイジーチェーンに限定されない。各センサシステム3がそれぞれハブ5に接続され、ハブ5を経由して複数のセンサシステム3間のデータ送受信を行うスター型の接続形態を採用してもよい。
また、図1では、複数のセンサシステム3のすべてがデイジーチェーン接続されている構成が図示されているが、これに限定されない。例えば、複数のセンサシステム3a、3b、・・・、3zをいくつかのグループに分割して、分割したグループ単位でセンサシステム3間をデイジーチェーン接続してもよい。このような構成は、スタジアムにおいて有効である。例えば、スタジアムが複数階で構成され、フロア毎にセンサシステム3を配備する場合が考えられる。この場合に、フロア毎、あるいはスタジアムの半周毎に画像コンピューティングサーバ7への入力を行うことができる。このように、すべてのセンサシステム3を1つのデイジーチェーンで接続する配線が困難な場所でも、設置の簡便化及びシステムの柔軟化を図ることができる。
カメラ1a、1b、・・・、1zは、被写体を複数の方向から撮像する。なお、本実施形態において、複数のカメラ1は同一のものとして説明するが、各カメラ1の性能や機種は異なっていてもよい。
カメラアダプタ2a、2b、・・・、2zは、それぞれ、カメラ1と接続し、カメラ1の制御、撮像画像の取得、同期信号の提供、および時刻設定等を実行する。
カメラアダプタ2は、カメラ1が撮像した撮像データに対して画像処理を実行する。具体的には、カメラアダプタ2は、撮像データから前景画像と背景画像とを出力する。複数のカメラアダプタ2により複数の視点から撮像された前景画像と背景画像に基づいて、仮想視点画像が生成される。なお、一部のカメラアダプタ2は、撮影画像から分離した前景画像を出力するが、背景画像を出力しなくともよい。カメラアダプタ2は、画像処理された画像データをデイジーチェーンで接続されたハブ5を介して、画像コンピューティングサーバ7へ伝送する。
ここで、カメラアダプタ2は、PTPスレーブ装置として動作し、GMC(Grand Master Clock)装置であるタイムサーバ4と時刻同期する。カメラアダプタ2はまた、PTPマスタ装置として、他のセンサシステム3とも時刻同期するBC(Boundary Clock)装置として動作する。
あるいは、カメラアダプタ2は、GMC装置からのPTPパケットに対して時刻補正を行い、他のセンサシステム3に転送するTC(Transparent Clock)装置として動作してもよい。カメラアダプタ2はまた、GMC装置からのPTPパケット、および別のセンサシステム3から転送されたPTPパケットを用いて時刻同期のみを行うOC(Ordinary Clock)装置として動作してもよい。
あるいは、カメラアダプタ2は、TC装置およびOC装置として動作してもよい。この場合、カメラアダプタ2は、GMC装置からおよび他のセンサシステム3から転送されたPTPパケットを用いて時刻同期を行い、かつPTPパケットに対して時刻補正を行って、時刻補正されたPTPパケットを他のセンサシステム3に転送する。
カメラアダプタ2はさらに、同期した時刻やリファレンス信号を用いて、撮像タイミングを規定する制御クロックをカメラ1に供給する。なお、カメラアダプタ2における通信パケットの処理の詳細は、図2を参照して後述する。
画像コンピューティングサーバ7は、複数のセンサシステム3から取得されるデータの処理を行う。
具体的には、画像コンピューティングサーバ7はまず、センサシステム3から取得される画像データを再構成してそのデータ形式を変換し、変換後の画像データを、カメラ1の識別子やデータ種別、フレーム番号に応じて記憶装置に記憶する。画像コンピューティングサーバ7はまた、制御端末6から視点の指定を受け付け、受け付けられた視点に基づいて記憶された情報から対応する画像データを読み出し、読み出された画像データにレンダリング処理を行って仮想視点画像を生成する。すなわち、画像コンピューティングサーバ7は、複数のセンサシステム3により撮像された撮像画像(複数視点画像)と視点情報とに基づいて、仮想視点コンテンツを生成する。
なお、画像コンピューティングサーバ7の機能の少なくとも一部を、制御端末6、センサシステム3やユーザ端末8が有していてもよい。
ユーザ端末8は、画像コンピューティングサーバ7からレンダリング処理された画像を受信する。これにより、ユーザ端末8を操作するユーザは、指定に応じた視点の画像を閲覧することができる。なお、上記ではは、仮想視点コンテンツが画像コンピューティングサーバ7により生成される例を説明したが、これに限定されない。すなわち、仮想視点コンテンツは、制御端末6やユーザ端末8により生成されてもよい。
<カメラアダプタ2のハードウエアおよび機能構成>
図2は、各実施形態に係るカメラアダプタ2のハードウエアおよび機能構成の一例を示すブロック図であり、主に、本実施形態に係る通信装置の全部または一部の機能を奏するカメラアダプタ2のネットワーク制御部分を図示する。
図2に示すカメラアダプタ2の各機能モジュールのうち、ソフトウエアにより実現される機能については、各機能モジュールの機能を提供するためのプログラムがROM等のメモリに記憶され、RAMに読み出してCPUが実行することにより実現される。ハードウエアにより実現される機能については、例えば、所定のコンパイラを用いることで、各機能モジュールの機能を実現するためのプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウエアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。なお、図2に示した機能ブロックの構成は一例であり、複数の機能ブロックが1つの機能ブロックを構成するようにしてもよいし、いずれかの機能ブロックが複数の機能を行うブロックに分かれてもよい。
図2を参照して、カメラアダプタ2は、CPU21、映像パケット処理部22、第1記憶部23、第2記憶部24、DMA制御部25、PHY/MAC26、およびパケット解析処理部27を備える。カメラアダプタ2内の各機能ブロック(21~24、27)は、システムバス28を介して相互に接続されている。また、カメラアダプタ2は、カメラ1と画像伝送用ケーブル203を介して接続されている。
CPU(Central Processing Unit)21は、OSI参照モデルで定義されるアプリケーション層でアプリケーションソフトウエアを実行するとともに、カメラアダプタ2全体の制御も実行する。CPU21はまた、アプリケーションソフトウエアを実行する上で必要となるデータやプログラムなどを第1記憶部23の内部に記憶して、必要に応じてシステムバス28を介して読み出しや書き込みを行う。
具体的には、本実施形態において、CPU21は、PTPスタック処理やDMA制御部25を用いたDMA転送制御のためのディスクリプタを生成する。
映像パケット処理部22は、カメラ1で撮像された画像データを、画像伝送用ケーブル203を介して受信して、受信された画像データをパケット化する。以下、パケット化された画像データを映像パケットという。映像パケット処理部22はまた、DMA制御部25を用いたDMA転送制御のためのディスクリプタを生成する。
なお、図2において、映像パケット処理部22は専用ハードウエアとして図示されているが、これに限定されず、映像パケット処理は、CPU21とは異なる、同様の機能を持つ他のCPUにより処理されてもよい。
第1記憶部23は、CPU21により用いられる記憶領域である。第1記憶部23は、主にDRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の半導体メモリで構成されてよい。
第1記憶部23の内部の領域は、プログラムを格納する領域やアプリケーションソフトウエアが使用するアプリケーションバッファ領域等に区分され、これらの領域にパケット転送用のディスクリプタ等が格納される。ここで、ディスクリプタとは、後述するDMA制御部25がパケット転送に用いる情報であり、データ転送を行うソース側のアドレス情報、ディスティネーション側のアドレス情報、データ転送の転送サイズ等の情報を記述する。
第2記憶部24は、映像パケット処理部22により用いられる記憶領域である。第2記憶部24は、第1記憶部23と同様、主にDRAMやSRAM等の半導体メモリで構成されている。第2記憶部24の内部の領域は、映像パケットを伝送するためのディスクリプタ等が格納される。
なお、図2において、第1記憶部23および第2記憶部24が、CPU21および映像パケット処理部22によりそれぞれ占有される例が図示されているが、その限りではない。例えば、第1記憶部23および第2記憶部24を1つの記憶部で構成し、CPU21および映像パケット処理部22がこの記憶部を共有して使用してもよい。
DMA(Direct Memory Access)制御部25は、CPU21または映像パケット処理部22の指示に基づいて、PHY/MAC26と各記憶部との間で直接データ転送を行うDMA転送を実行する。
具体的には、DMA制御部25は、CPU21、および映像パケット処理部22がそれぞれ生成したディスクリプタの内容に従って、DMA転送を実行する。
本実施形態において、DMA制御部25は、後述するパケット解析処理部27内部の解析部272の指示に基づいて、DMA転送に使用するディスクリプタを選択する。DMA転送完了後、DMA制御部25は、DMA転送に使用したディスクリプタに対応した完了割り込み201を、DMA転送の指示元であるCPU21または映像パケット処理部22に通知する。
PHY/MAC26は、LAN(Local Area Network)等のネットワーク202とのインタフェースである。PHY/MAC26は、通信におけるPHY層(物理層)とMAC層(データリンク層)の通信制御を担う。
PHY/MAC26はまた、受信する全ての通信パケットの受信タイムスタンプを出力する。ここでタイムスタンプとは、PHY/MAC26が通信パケットを送信または受信したタイミングの時刻情報をいう。このタイムスタンプは、PTPプロトコル処理の時刻補正の計算等に使用される。
パケット解析処理部27は、タイムスタンプ一時記憶部271、解析部272、解析結果記憶部273、タイムスタンプ振分部274、タイムスタンプ記憶部275、およびレジスタ部276を備える。
タイムスタンプ一時記憶部271は、PHY/MAC26から出力される受信タイムスタンプを一時的に格納する記憶部であり、FIFO(First Input First Output)構成のメモリであってよい。
解析部272は、PHY/MAC26により受信された通信パケットのMAC(Media Access Control)ヘッダを解析する。具体的には、解析部272は、受信された通信パケットのEtherTypeを判別し、解析結果を、DMA制御部25および解析結果記憶部273にそれぞれ通知する。
なお、解析部272による解析結果を、解析結果記憶部273に格納せずに、直接、タイムスタンプ振分部274に通知してもよい。
解析結果記憶部273は、解析部272が受信された通信パケットを解析判別した解析結果を格納する記憶部であり、FIFO構成のメモリであってよい。
タイムスタンプ振分部274は、解析結果記憶部273に格納された解析結果を参照して、タイムスタンプ一時記憶部271に格納された受信タイムスタンプを、複数のタイムスタンプ記憶部275のいずれかに振り分ける。
複数のタイムスタンプ記憶部275(#1~#N)は、それぞれIFOメモリで構成され、タイムスタンプ振分部274により振り分けられた受信タイムスタンプをそれぞれ格納する。受信タイムスタンプは、受信さされた通信パケットの解析結果であるパケット種別に基づいて、所定のFIFOに格納される。
レジスタ部276は、解析結果とディスクリプタとの対応、解析結果と破棄との対応、解析結果と当該解析結果を格納するタイムスタンプ記憶部275との対応等の情報を記憶する。レジスタ部276が記憶するこれらの情報は、DMA制御部25が受信された通信パケットに対してどのディスクリプタを使用するか、を判断する情報である。レジスタ部276が記憶するこれらの情報はまた、タイムスタンプ振分部274が受信タイムスタンプをどのタイムスタンプ記憶部275に振り分けるのか、を判断する情報である。
これらの情報は、CPU21がDMA転送を開始する前に、CPU21によりレジスタ部276にセットされる。
<PTP時刻同期のシーケンス>
図3は、PTP時刻同期処理の一例を示すシーケンス図である。
PTP時刻同期においては、PTPのGMC(Grand Master Clock)マスタ装置とPTPスレーブ装置との間で時刻同期のための同期パケットが送受信される。
図3を参照して、図1のタイムサーバ4がGMCマスタ装置として動作し、図1のセンサシステム3がPTPスレーブ装置として動作する例を説明する。
S31で、GMCマスタ装置であるタイムサーバ4は、PTPスレーブ装置であるセンサシステム3に対して、同期パケットSyncを一定間隔で送信する。同期パケットSyncを受信したセンサシステム3は、同期パケットSyncを受信した受信タイムスタンプ情報t2を保持する。
S32で、GMCマスタ装置であるタイムサーバ4は、同期パケットSyncを送信した送信タイムスタンプ情報t1を、同期パケットFollow_Upに載せて、PTPスレーブ装置であるセンサシステム3に対して送信する。センサシステム3は、同期パケットFollow_Upを受信すると、Follow_upで搬送される送信タイムスタンプ情報t1を取得して保持する。
なお、図3では、同期パケットSyncを送信した送信タイムスタンプ情報t1をFollow_Upに載せて送信する例が示されているが、これに限定されない。例えば、同期パケットSyncの送信タイムスタンプ情報をFollow_Upに載せず、Sync自身に載せて送信してもよい。
S33で、PTPスレーブ装置であるセンサシステム3は、GMCマスタ装置であるタイムサーバ4に対して同期パケットDelay_Requestを送信する。この際、センサシステム3は、Delay_Requestを送信した送信タイムスタンプ情報t3を保持する。
S34で、GMCマスタ装置であるタイムサーバ4は、PTPスレーブ装置であるセンサシステム3に対して、同期パケットDelay_Responseを送信する。この際、タイムサーバ4は、Delay_Requestを受信した受信タイムスタンプ情報t4をDelay_Responseに載せて、センサシステム3に対して送信する。
センサシステム3は、同期パケットDelay_Responseを受信することで、タイムサーバ4がDelay_Requestを受信した受信タイムスタンプ情報t4を取得して保持する。
PTPスレーブ装置であるセンサシステム3は、S31~S34の同期パケットの送受信により得られたタイムスタンプt1~t4を用いて、平均伝送遅延時間を算出し、センサシステム3内の時刻を補正する。
ここで、平均伝送遅延時間は以下の数式で算出できる。
{(t2-t1)+(t4-t3)}/2 =(平均伝送遅延時間)
本実施形態において、センサシステム3が同期パケットSyncを受信した際、パケット解析処理部27は、図3のPTP時刻同期処理シーケンスにおける受信タイムスタンプt2を、パケット種別に応じた所定のタイムスタンプ記憶部275に格納する。CPU21は、所定のパケット種別(PTPパケット)に応じた所定のタイムスタンプ記憶部275に格納された受信タイムスタンプt2を用いて、PTP時刻同期処理を実行する。
<パケット受信および解析処理>
図4は、各実施形態に係るカメラアダプタ2が実行する、通信パケットを受信し、受信された通信パケットを解析する各処理の処理手順の一例を示すフローチャートである。
図4に示す処理は、例えば、センサシステム3が起動された際に開始されてよいが、開始のタイミングはこれに限定されず、例えば、センタシステム3の通信機能が開始された際に開始されてもよく、ユーザがGUIを介してトリガを入力してもよい。
S41で、カメラアダプタ2のCPU21は、レジスタ部276に、設定情報をセットする。具体的には、CPU21は、受信される通信パケットの解析結果とディスクリプタとの対応、解析結果とパケット破棄との対応、および、解析結果と格納するタイムスタンプ記憶部275との対応等を、レジスタ部276にセットする。
なお、図4では、センサシステム3が起動された後に、CPU21がレジスタ部276に設定情報をセットする例が示されているが、これに限定されない。例えば、センサシステム3の起動時に、初期設定として設定情報をレジスタ部276にセットしてもよい。
S42で、カメラアダプタ2のPHY/MAC26は、通信パケットを受信したか否かを判定する。PHY/MAC26が通信パケットを受信した場合(S42:Yes)、S43およびS44へ進み、一方、PHY/MAC26が通信パケットを受信しない場合(S42:No)、S42の処理を繰り返して、通信パケットの受信を待ち受ける。
S42でPHY/MAC26が通信パケットを受信すると、S43で、カメラアダプタ2のタイムスタンプ一時記憶部271は、PHY/MAC26から供給される受信タイムスタンプを、一時的に格納する。PHY/MAC26から供給される受信タイムスタンプが、タイムスタンプ一時記憶部271に格納されると、S47に進む。
S42でPHY/MAC26が通信パケットを受信すると、S43の処理と並行して、S44で、カメラアダプタ2の解析部272は、受信された通信パケットのMACヘッダを解析する。
具体的には、解析部272は、受信された通信パケットのMACヘッダ(Ethernetヘッダ)のタイプフィールドを読み取り、受信された通信パケットのパケット種別を示すEtherTypeを判別する。
EtherTypeとは、イーサネットフレーム中にある2オクテットのフィールドであり、フレームのペイロードにカプセル化されている上位プロトコルを示す。
例えば、EtherTypeが、0x0800であればIPv4パケット、0x86DDであればIPv6パケット、0x88F7であればPTPパケットであると判別することができる。解析部272が受信された通信パケットのMACヘッダを解析し、EtherTypeを判別すると、S45およびS46に進む。
S45で、カメラアダプタ2の解析部272は、S44で判別したEtyerTypeに応じて、S43でタイムスタンプ一時記憶部261に格納された受信タイムスタンプに対応する通信パケットのパケット種別を、解析結果記憶部273に格納する。解析部272が解析結果であるパケット種別を解析結果記憶部273に格納すると、S47に進む。
S45の処理を並行して、S46で、カメラアダプタ2の解析部272は、S44で判別されたパケット種別(EtherType)に応じて、使用すべきディスクリプタを、DMA制御部25へ通知する。S44で判別されたEtherTypeと、使用すべきディスクリプタとの対応は、S41で予めレジスタ部276にセットされている設定情報を参照して取得すればよい。あるいは、解析部272は、DMA制御部24へ判別されたパケット種別を通知し、DMA制御部25がレジスタ部276を参照して、通知されたパケット種別に対応するディスクリプタを取得してもよい。すなわち、解析部272は、DMA制御部25に、解析結果であるパケット種別を示す情報を通知する。解析部272が使用すべきディスクリプタまたはパケット種別をDMA制御部25へ通知すると、S48に進む。
S43の受信タイムスタンプ格納処理およびS45のパケット種別格納処理が完了すると、S47で、カメラアダプタ2のタイムスタンプ振分部274は、受信タイムスタンプを複数のタイムスタンプ記憶部275(#1~#N)のいずれかに振り分ける。なお、S47の受信タイムスタンプ振分処理の詳細は、図5を参照して後述する。
タイムスタンプ振分部274が受信タイムスタンプの振分処理を完了すると、S49に進む。
S46で解析部272が受信された通信パケットに使用すべきディスクリプタまたはパケット種別をDMA制御部25へ通知すると、S48で、カメラアダプタ2のDMA制御部25は、通知されたディスクリプタを選択する。DMA制御部25は、選択されたディスクリプタに従って、受信された通信パケットを所定のメモリに転送する。S48で受信された通信パケットが転送される所定のメモリは、図1を参照して、第1記憶部23および第2記憶部24のいずれかである。なお、S48の受信パケット転送処理の詳細は、図6を参照して後述する。
S47の受信タイムスタンプ振分処理およびS48の受信パケット転送処理が完了すると、S49で、カメラアダプタ2のCPU21は、S42~S48の一連の処理を継続するか否かを判定する。例えば、外部機器との通信状態を終了させる要因が発生した場合は、処理を継続しないと判定して、図4の処理を終了し、一方、そうでなければ、S42に戻って、S42~S48の処理を繰り返す。
上記のとおり、解析されたパケット種別に基づいて、S47で受信タイムスタンプが複数のタイムスタンプ記憶部275のいずれかに振り分けられ、S48で受信された通信パケットが第1記憶部23および第2記憶部24のいずれかに転送される。
ここで、パケット種別ごとに、受信された通信パケットと受信タイムスタンプとは対応付けられている。このため、第1記憶部23または第2記憶部24に転送された通信パケットを処理する複数の受信制御モジュールはそれぞれ、処理すべき通信パケットに対応した受信タイムスタンプをタイムスタンプ記憶部275から取得することができる。
例えば、CPU21は、パケット種別がPTPパケットである通信パケットを第1記憶部23から読み出すとともに、読み出したPTPパケットに対応する受信タイムスタンプを、タイムスタンプ記憶部275から読み出せる。これにより、CPU21は、PTPパケットに対応する適切な受信タイムスタンプを用いて、PTP時刻同期処理を実行することができる。
一方、映像パケット処理部22は、パケット種別が映像パケットである通信パケットを第2記憶部24から読み出すとともに、読み出した映像パケットに対応する受信タイムスタンプを、タイムスタンプ記憶部275から読み出せる。
<受信タイムスタンプ振分処理>
図5は、図4の受信タイムスタンプ振分処理(S47)の詳細処理手順の一例を示すフローチャートである。
図4のS43で受信タイムスタンプがタイムスタンプ一時記憶部271に格納され、かつS45で当該受信タイムスタンプに対応する通信パケットのパケット種別が解析結果記憶部273に格納されると、図5のS471に進む。
S471で、カメラアダプタ2のタイムスタンプ振分部274は、解析結果記憶部273に格納された受信タイムスタンプに対応する通信パケットのパケット種別が映像パケットであるか否かを判定する。パケット種別が映像パケットである場合(S471:Yes)、S472に進み、一方、パケット種別が映像パケットでない場合(S471:No)、S475に進む。
パケット種別が映像パケットである場合、S472で、タイムスタンプ振分部274は、映像パケットの受信タイムスタンプを破棄するか否かを判定する。
具体的には、タイムスタンプ振分部274は、CPU21により予めレジスタ部276にセットされた設定情報を読み出して、タイムスタンプ振分部274が受信タイムスタンプを破棄するか、タイムスタンプ記憶部275に格納するかを判定することができる。
受信タイムスタンプを破棄すると判定された場合(S472:Yes)、S473に進み、一方、受信タイムスタンプを破棄しないと判定された場合(S472:No)、S474に進む。
S472で受信タイムスタンプを破棄すると判定された場合、S473で、タイムスタンプ振分部274は、映像パケットに対応する受信タイムスタンプを破棄して、図4のS49に進む。
具体的には、受信タイムスタンプを破棄するため、タイムスタンプ振分部274は、例えば、複数のタイムスタンプ記憶部275のうち破棄用のタイムスタンプ記憶部275に破棄すべき受信タイムスタンプを書き込んでよい。あるいは、タイムスタンプ振分部274は、タイムスタンプ記憶部275とは異なる、破棄用に用意された領域に破棄すべき受信タイムスタンプを書き込んでもよいし、一時記憶された受信タイムスタンプを読み捨ててもよい。受信タイムスタンプを破棄する手法は、以下のS477およびS480aでも同様であってよい。
一方、S472で受信タイムスタンプを破棄しないと判定された場合、S474で、タイムスタンプ振分部274は、映像パケットに対応する受信タイムスタンプを、映像パケット用のタイムスタンプ記憶部265に格納して、図4のS49に進む。
具体的には、3つのタイムスタンプ記憶部265が用意されている場合、タイムスタンプ振分部274は、PTPパケットの受信タイムスタンプをタイムスタンプ記憶部#1(275)に振り分ける。また、タイムスタンプ振分部274は、映像パケットの受信タイムスタンプをタイムスタンプ記憶部#2(275)に振り分ける。同様に、タイムスタンプ振分部274は、PTPパケットおよび映像パケットのいずれとも異なるパケットの受信タイムスタンプをタイムスタンプ記憶部#3(275)に振り分ける。
なお、パケット種別と受信タイムスタンプの記憶先との対応付けはこれに限定されない。CPU21が、パケット種別と当該パケット種別の受信タイムスタンプを記憶するタイムスタンプ記憶部#N(275)との対応付けを、予めレジスタ部276に設定情報としてセットすればよい。パケット種別とタイムスタンプの記憶先とを対応付ける手法は、以下のS478およびS480bでも同様であってよい。
S471に戻り、パケット種別が映像パケットでない場合、S475で、タイムスタンプ振分部274は、解析結果記憶部273に格納された受信タイムスタンプに対応する通信パケットのパケット種別がPTPパケットであるか否かを判定する。パケット種別がPTPパケットである場合(S475:Yes)、S476に進み、一方、パケット種別がPTPパケットでない場合(S475:No)、S479に進む。
パケット種別がPTPパケットである場合、S476で、タイムスタンプ振分部274は、PTPパケットの受信タイムスタンプを破棄するか否かを判定する。
具体的には、タイムスタンプ振分部274は、CPU21により予めレジスタ部276にセットされた設定情報を読み出して、タイムスタンプ振分部274が受信タイムスタンプを破棄するか、タイムスタンプ記憶部275に格納するかを判定することができる。
受信タイムスタンプを破棄すると判定された場合(S476:Yes)、S477に進み、一方、受信タイムスタンプを破棄しないと判定された場合(S476:No)、S478に進む。
S476で受信タイムスタンプを破棄すると判定された場合、S477で、タイムスタンプ振分部274は、PTPパケットに対応する受信タイムスタンプを破棄して、図4のS49に進む。
一方、S476で受信タイムスタンプを破棄しないと判定された場合、S478で、タイムスタンプ振分部274は、映像パケットに対応する受信タイムスタンプを、PTPパケット用のタイムスタンプ記憶部275に格納して、図4のS49に進む。
S475に戻り、パケット種別が映像パケットでもPTPパケットでもない場合、S479で、タイムスタンプ振分部274は、その他のパケット種別の通信パケットの受信タイムスタンプを破棄するか否かを判定する。
具体的には、タイムスタンプ振分部274は、CPU21により予めレジスタ部276にセットされた設定情報を読み出して、タイムスタンプ振分部274が受信タイムスタンプを破棄するか、タイムスタンプ記憶部275に格納するかを判定することができる。
受信タイムスタンプを破棄すると判定された場合(S479:Yes)、S480aに進み、一方、受信タイムスタンプを破棄しないと判定された場合(S479:No)、S480bに進む。
S479で受信タイムスタンプを破棄すると判定された場合、S480aで、タイムスタンプ振分部274は、その他のパケット種別の通信パケットに対応する受信タイムスタンプを破棄して、図4のS49に進む。
一方、S479で受信タイムスタンプを破棄しないと判定された場合、S480bで、タイムスタンプ振分部274は、その他のパケット種別の通信パケットに対応する受信タイムスタンプを、所定のタイムスタンプ記憶部275に格納して、図4のS49に進む。
<受信パケット振分処理>
図6は、図4の受信パケット振分処理(S48)の詳細処理手順の一例を示すフローチャートである。
図4のS46で解析部272により判別されたパケット種別(EtherType)に応じて、解析部262がDMA制御部25に使用すべきディスクリプタまたはパケット種別を通知すると、図6のS481に進む。
S481で、カメラアダプタ2のDMA制御部25は、解析部272から通知された通知内容が映像パケット用ディスクリプタであることを示しているか否かを判定する。解析部272からの通知内容が映像パケット用ディスクリプタを示している場合(S481:Yes)、S482に進み、一方、解析部272からの通知内容が映像パケット用ディスクリプタを示してない場合(S481:No)、S483に進む。
S481で通知内容が映像パケット用ディスクリプタを示している場合、S482で、DMA制御部25は、映像パケット用ディスクリプタを選択し、映像パケットに対応する所定の記憶部に映像パケットをDMA転送して、図4のS49に進む。
一方、S481で通知内容が映像パケット用ディスクリプタを示していない場合、S483で、DMA制御部は、解析部272から通知された通知内容がPTPパケット用ディスクリプタを示しているか否かを判定する。解析部272からの通知内容がPTPパケット用ディスクリプタを示している場合(S483:Yes)、S484に進み、一方、解析部272からの通知内容がPTPパケット用ディスクリプタを示していない場合(S483:No)、S485に進む。
S483で通知内容がPTPパケット用ディスクリプタを示している場合、S484で、DMA制御部25は、PTPパケット用ディスクリプタを選択し、PTPパケットに対応する所定の記憶部にPTPパケットをDMA転送して、図4のS49に進む。
一方、S483で通知内容がPTPパケット用ディスクリプタを示していない場合、S485で、DMA制御部25は、映像パケットおよびPTPパケットのいずれとも異なる通信パケット用のディスクリプタを選択する。そして、DMA制御部25は、当該通信パケットのパケット種別に対応する所定の記憶部に通信パケットをDMA転送して、図4のS49に進む。
<センサシステム3におけるPTP時刻同期処理>
図7は、センサシステム3が、タイムスタンプ振分部274により振り分けられたPTPパケット(同期パケット)の受信タイムスタンプを用いて、タイムサーバとの間で実行するPTP時刻同期処理の処理手順の一例を示すフローチャートである。
図7を参照して、同期撮像システム10において、タイムサーバ4がPTPマスタ装置(GMCマスタ装置)として、センサシステム3がPTPスレーブ装置として動作する例を説明する。センサシステム3における同期パケットの送受信処理およびPTP時刻同期処理は、カメラアダプタ2のCPU21により実行されてよいが、これに限定されない。 同期パケットの送受信処理およびPTP時刻同期処理は、センサシステム3を構成するカメラ1や他の機器のCPUにより実行されてもよく、これらの処理の一部または全部をハードウエアにオフロードしてもよい。
S71で、センサシステム3のカメラアダプタ2のCPU21は、タイムサーバ4から同期パケットSync、Follow_Upを受信したか否かを判定する。同期パケットSync、Follow_upを受信した場合(S71:Yes)、S72およびS73に進み、一方、これら同期パケットを受信しない場合(S71:No)、S71に戻ってこれら同期パケットの受信を待ち受ける。
S71で同期パケットSync、Follow_upを受信した場合、S72で、CPU21は、同期パケットSync、Follow_upのタイムスタンプ情報をそれぞれ取得する。
具体的には、PHY/MAC26が同期パケットSyncを受信すると、パケット解析処理部27(タイムスタンプ振分部274)は、同期パケットSyncの受信タイムスタンプt2を、PTPパケット用の所定のタイムスタンプ記憶部275に格納する。
そして、DMA制御部25が、同期パケットSyncを所定の記憶部(第1記憶部23)にDMA転送完了すると、DMA制御部25はCPU21に完了割り込み201を通知する。完了割り込み201を受信したCPU21は、PTPパケット用の所定のタイムスタンプ記憶部275に格納された受信タイムスタンプt2を取得する。
一方、タイムサーバ4は、同期パケットSyncを送信した送信タイムスタンプt1を、同期パケットFollow_upに載せてセンサシステム3に送信する。センサシステム3のカメラアダプタ2のPHY/MAC26は、同期パケットFollow_upを受信し、DMA制御部25は、受信された同期パケットFollow_upを所定の記憶部(第1記憶部23)にDMA転送し、CPU21に完了割り込み201を通知する。完了割り込み201を受信したCPU21は、所定の記憶部にDMA転送された同期パケットFollow_up中から、タイムサーバ4が同期パケットSyncを送信した送信タイムスタンプt1を取得する。
S71に戻り、同期パケットSync、Follow_upを受信した場合、S72の処理と並行して、S73で、CPU21は、同期パケットDelay_requestを生成する。CPU21は、生成された同期パケットDelay_requestをタイムサーバ4に送信する。
ここで、CPU21は、同期パケットDelay_requestを送信した送信タイムスタンプt3を取得する。
S74で、CPU21は、タイムサーバ4から同期パケットDelay_responseを受信したか否かを判定する。同期パケットDelay_responseを受信した場合(S74:Yes)、S76に進む。一方、同期パケットDelay_responseを受信しない場合(S74:No)、S75に進む。
S75で、CPU21は、一定時間が経過するまで(S75:No)、S74に戻ってタイムサーバ4からの同期パケットDelay_responseの受信を待ち受け、一定時間が経過すると(S75:Yes)、S71に戻る。
S74に戻り、タイムサーバ4から同期パケットDelay_responseを受信すると、CPU21は、同期パケットDelay_responseのタイムスタンプ情報を取得する。
具体的には、PHY/MAC26が同期パケットDelay_responseを受信し、DMA制御部25は、同期パケットDelay_responseを所定の記憶部(第1記憶部23)にDMA転送する。同期パケットDelay_responseのDMA転送が完了すると、DMA制御部25は、CPU21に完了割り込み201を通知する。完了割り込み201を受信したCPU21は、所定の記憶部にDMA転送された同期パケットDelay_respose中から、タイムサーバ4が同期パケットDelay_requestを受信した受信タイムスタンプt4を取得する。
S72~S76の処理が実行されると、S77で、CPU21は、CPU21が取得したタイムスタンプ情報t1~t4を用いて、タイムサーバ4の時刻とセンサシステム3の時刻との時刻差を計算して、センサシステム3の時刻を補正する補正量を決定する。
S78で、CPU21は、S77で決定された補正量に基づいて、センサシステム3の時刻を補正する。この時刻補正処理が完了することで、センサシステム3はタイムサーバ4と時刻同期する。
ここで、一度に補正する量が大きい場合、センサシステム3全体の動作が不安定になりかねない。そのため、時刻補正は、一定時間をかけて段階的に補正してもよく、あるいは一度に補正する量に制限をかけてもよい。
S79で、CPU21は、センサシステム3が継続して稼働し続けるか否かを判定する。例えば、制御端末6が、センサシステム3a、3b、・・・、3zの全体の同期撮像処理を停止する場合、あるいは、センサシステム3a、3b、・・・、3zのうち指定されたセンサシステムのみ同期撮像処理を停止する場合などである。
センサシステム3の稼働を継続する場合(S79:Yes)、S71に戻って、S71~S78までの処理を繰り返し、一方、センサシステム3の稼働を継続しない場合(S79:No)、処理を終了する。
以上説明したように、本実施形態によれば、通信装置は、通信パケットを受信し、受信された通信パケットの受信タイムスタンプを取得するとともに、受信された通信パケットを解析して、通信パケットのパケット種別を判定する。さらに、通信装置は、判定されたパケット種別に基づいて、通信パケットを所定の記憶部へ転送するとともに、判定されたパケット種別を取得された受信タイムスタンプに対応付けて記憶する。
これにより、通信装置において、受信パケットと受信タイムスタンプとが分離して出力され、かつ受信パケットの種別に応じて異なるモジュールで受信処理を実行する場合であっても、受信パケットと受信タイムスタンプとを対応付けることができる。したがって、適切な受信タイムスタンプを用いて他の通信装置との時刻同期を実行することができる。したがって、本実施形態は、複数の通信装置間での時刻同期処理の精度向上に資する。
(実施形態2)
以下、本発明の実施形態2を、実施形態1と異なる点につき説明する。
上記実施形態1では、タイムスタンプ振分部274が、解析結果記憶部273に格納されたパケット種別の解析結果に基づいて、タイムスタンプ一時記憶部271に格納された受信タイムスタンプを、複数のタイムスタンプ記憶部275のいずれかに振り分けた。
実施形態2では、受信タイムスタンプにパケット種別の解析結果を付与して、1つのタイムスタンプ記憶部275に格納する例を説明する。
実施形態2に係るカメラアダプタ2(通信装置)のハードウエアおよび機能構成は、図2に示される実施形態1と同様である。ただし、実施形態2において、1つのタイムスタンプ記憶部275が使用されればよいため、タイムスタンプ記憶部275は1つであっても、複数設けられてもよいが、以下ではタイムスタンプ記憶部275が複数設けられる例を説明する。
図8は、実施形態2における図4の受信タイムスタンプ振分処理(S47)の詳細処理手順の一例を示すフローチャートである。
図4のS43で、受信された通信パケットの受信タイムスタンプが、タイムスタンプ一時記憶部271に格納され、S45で、受信スタンプに対応するパケット種別が解析結果記憶部273に格納されると、図8に示す処理が開始される。
図8を参照して、S471~S473の処理は、図5に示す実施形態1のS471~S473の処理と同様である。
S472で、タイムスタンプ振分部274が映像パケットの受信タイムスタンプを破棄しないと判定すると(S472:No)、S474bに進む。
S474bで、タイムスタンプ振分処理部274は、映像パケットのパケット種別の解析結果を受信タイムスタンプに付加して、タイムスタンプ記憶部275のうちの1つに格納する。
例えば、タイムスタンプ振分部274は、上位ビットにパケット種の解析結果を、下位ビットに受信タイムスタンプを記述して、1つのタイムスタンプ情報のエントリーに纏める。CPU21は、タイムスタンプ記憶部275から受信タイムスタンプを読み出す際、パケット種別の解析結果と受信タイムスタンプとを同時に読み取ることができ、読み出した受信タイムスタンプがどのパケット種別であるかを判定することができる。
なお、上記では、1つのタイムスタンプ記憶部275を使用する例を説明したが、これに限定されない。例えば、受信タイムスタンプをさらに上位ビットと下位ビットとに分割して、異なるタイムスタンプ記憶部275に格納してもよい。例えば、タイムスタンプ記憶部#1(275)に、解析結果+受信タイムスタンプ(上位ビット)を、タイムスタンプ記憶部#2(275)に解析結果+受信タイムスタンプ(下位ビット)を、それぞれ格納してもよい。
以降、S475~S477の処理、およびS479~S480aの処理は、図5に示す実施形態1のS475~S477の処理、およびS479~S480aの処理とそれぞれ同様である。
図8を参照して、S474bと同様、S478bで、タイムスタンプ振分処理部274は、PTPパケットのパケット種別の解析結果を受信タイムスタンプに付加して、タイムスタンプ記憶部275のうちの1つに格納する。
また、S474bと同様、S480cで、タイムスタンプ振分処理部274は、映像パケットおよびPTPパケット以外の所定のパケット種別の解析結果を受信タイムスタンプに付加して、タイムスタンプ記憶部275のうちの1つに格納する。
以上説明したように、本実施形態によれば、カメラアダプタ2のタイムスタンプ振分部274は、パケット種別を受信タイムスタンプに付加して1つのタイムスタンプ記憶部275に格納する。このため、本実施形態に係るセンサシステム3は、受信タイムスタンプを、複数のタイムスタンプ記憶部275のいずれかに振り分けることなく、適切な受信タイムスタンプを用いてPTP時刻同期処理を実行することができる。
<他の実施形態>
なお、上述した各実施形態は、その複数を組み合わせて実現することが可能である。
また、本発明は、上述の実施形態の一部または1以上の機能を実現するプログラムによっても実現可能である。すなわち、そのプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータ(またはCPUやMPU等)における1つ以上のプロセッサがプログラムを読出し実行する処理により実現可能である。また、そのプログラムをコンピュータ可読な記録媒体に記録して提供してもよい。
また、コンピュータが読み出したプログラムを実行することにより、実施形態の機能が実現されるものに限定されない。例えば、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって上記した実施形態の機能が実現されてもよい。
1…カメラ、2…カメラアダプタ、3…センサシステム、4…タイムサーバ、10…同期撮像システム、11…GNSS、21…CPU、22…映像パケット処理部…23…第1記憶部、24…第2記憶部、25…DMA制御部、26…PHY/MAC、27…パケット解析処理部、28…システムバス、271…タイムスタンプ一時記憶部、272…解析部、273…解析結果記憶部、274…タイムスタンプ振分部、275タイムスタンプ記憶部、276…レジスタ部

Claims (12)

  1. 通信パケットを受信する受信手段と、
    前記受信手段により受信された前記通信パケットを所定のメモリに転送する転送手段と、
    前記通信パケットが前記受信手段により受信されたタイムスタンプを取得する取得手段と、
    前記受信手段により受信された前記通信パケットの種別を解析する解析手段と、
    前記解析手段により解析された前記通信パケットの種別を示す情報を、前記転送手段に通知するとともに、前記取得手段により取得された前記タイムスタンプに対応付けるよう制御する制御手段と、
    を備えることを特徴とする通信装置。
  2. 前記タイムスタンプをそれぞれ記憶する複数の記憶手段をさらに備え、
    前記制御手段は、前記通信パケットの種別に基づいて、前記タイムスタンプを前記複数の記憶手段のいずれかに振り分ける
    ことを特徴とする請求項1に記載の通信装置。
  3. 前記転送手段は、前記制御手段から通知される前記通信パケットの種別を示す情報に基づいて、前記通信パケットをDMA(Direct Memory Access)転送するために使用するディスクリプタを選択する
    ことを特徴とする請求項1または2に記載の通信装置。
  4. 前記転送手段は、前記制御手段から通知される前記通信パケットの種別を示す情報に基づいて、前記通信パケットを処理すべきモジュールに対応するメモリを選択し、選択されたメモリに前記通信パケットを転送する
    ことを特徴とする請求項1から3のいずれか1項に記載の通信装置。
  5. 前記制御手段は、前記通信パケットの種別に基づいて、前記タイムスタンプを破棄するか、あるいは前記タイムスタンプを前記通信パケットの種別に対応付けて記憶手段に格納するかを判定する
    ことを特徴とする請求項1から4のいずれか1項に記載の通信装置。
  6. 前記解析手段により解析された前記通信パケットの種別を一時記憶する第1の一時記憶手段と、
    前記取得手段により取得された前記タイムスタンプを一時記憶する第2の一時記憶手段とをさらに備え、
    前記制御手段は、前記第1の一時記憶手段から読み出した前記通信パケットの種別を、前記第2の一時記憶手段から読み出した前記タイムスタンプに対応付ける
    ことを特徴とする請求項1から5のいずれか1項に記載の通信装置。
  7. 前記制御手段は、前記通信パケットの種別を、前記タイムスタンプに付与し、前記通信パケットの種別が付与された前記タイムスタンプを記憶手段に格納する
    ことを特徴とする請求項1に記載の通信装置。
  8. 前記転送手段により前記所定のメモリに転送された同期パケットを読み出し、かつ読み出された前記同期パケットに対応付けられた前記タイムスタンプを取得することにより、時刻同期処理を実行する同期手段をさらに備える
    ことを特徴とする請求項1から7のいずれか1項に記載の通信装置。
  9. 前記同期手段は、IEEE1588規格に準拠するPTP(Precision Time Protocol)により、前記時刻同期処理を実行する
    ことを特徴とする請求項8に記載の通信装置。
  10. 前記解析手段は、前記受信手段により受信された前記通信パケットのMAC(Media Access Control)ヘッダに記述されるEtherTypeを参照することにより、前記通信パケットの種別を解析する
    ことを特徴とする請求項1から9のいずれか1項に記載の通信装置。
  11. 通信パケットを受信する通信装置の制御方法であって、
    前記通信パケットを受信するステップと、
    前記通信パケットが受信されたタイムスタンプを取得するステップと、
    受信された前記通信パケットの種別を解析するステップと、
    解析された前記通信パケットの種別を示す情報に基づいて、受信された前記通信パケットを所定のメモリに転送するステップと、
    解析された前記通信パケットの種別を、取得された前記タイムスタンプに対応付けるステップと、
    を含むことを特徴とする制御方法。
  12. コンピュータを、請求項1から10のいずれか1項に記載の通信装置の各手段として機能させるためのプログラム。
JP2021073830A 2021-04-26 2021-04-26 通信装置、通信装置の制御方法およびプログラム Pending JP2022168409A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021073830A JP2022168409A (ja) 2021-04-26 2021-04-26 通信装置、通信装置の制御方法およびプログラム
US17/721,009 US11956344B2 (en) 2021-04-26 2022-04-14 Communication apparatus, method for controlling communication apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021073830A JP2022168409A (ja) 2021-04-26 2021-04-26 通信装置、通信装置の制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2022168409A true JP2022168409A (ja) 2022-11-08

Family

ID=83693542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021073830A Pending JP2022168409A (ja) 2021-04-26 2021-04-26 通信装置、通信装置の制御方法およびプログラム

Country Status (2)

Country Link
US (1) US11956344B2 (ja)
JP (1) JP2022168409A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102491106B1 (ko) * 2021-07-26 2023-01-25 한국전자기술연구원 스텔스 클럭 방식의 정밀 시각 동기 프로토콜을 지원하는 장치 및 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730230B1 (en) * 2006-12-29 2010-06-01 Marvell International Ltd. Floating frame timing circuits for network devices
US8718482B1 (en) * 2009-11-10 2014-05-06 Calix, Inc. Transparent clock for precision timing distribution
EP2530860B1 (en) * 2011-06-01 2017-05-17 ADVA Optical Networking SE A method and apparatus for transporting time related information in a packet switched network
JP6036179B2 (ja) * 2012-10-31 2016-11-30 富士通株式会社 通信装置及び同期方法
US20140226683A1 (en) * 2013-02-14 2014-08-14 Silicom Ltd. Network adapter with high performance in-line timestamp
US9667370B2 (en) * 2013-09-05 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Communication device with peer-to-peer assist to provide synchronization
US9819541B2 (en) * 2015-03-20 2017-11-14 Cisco Technology, Inc. PTP over IP in a network topology with clock redundancy for better PTP accuracy and stability
US10394734B1 (en) * 2016-05-04 2019-08-27 Altera Corporation Driver for network timing system
JP2018113623A (ja) 2017-01-12 2018-07-19 キヤノン株式会社 通信装置およびその制御方法
CA3078834A1 (en) * 2017-10-13 2019-04-18 Huawei Technologies Co., Ltd. Method and apparatus for sending and receiving clock synchronization packet
JP7348797B2 (ja) * 2018-11-09 2023-09-21 日本放送協会 パケットフロー監視装置
US11239933B2 (en) * 2020-01-28 2022-02-01 Microsemi Semiconductor Ulc Systems and methods for transporting constant bit rate client signals over a packet transport network
EP3883153B1 (en) * 2020-03-20 2022-07-06 ADVA Optical Networking SE System and method of synchronizing a distributed clock in a packet-compatible network
US11316912B2 (en) * 2020-05-26 2022-04-26 Grass Valley Canada System and method for synchronizing transmission of media content using timestamps
US20220006607A1 (en) * 2020-12-26 2022-01-06 Intel Corporation Timestamp alignment for multiple nodes
US11843453B2 (en) * 2021-04-07 2023-12-12 Cisco Technology, Inc. Time synchronization in passive optical networks
US11711158B2 (en) * 2021-06-28 2023-07-25 Mellanox Technologies, Ltd. Accurate time-stamping of outbound packets

Also Published As

Publication number Publication date
US20220345290A1 (en) 2022-10-27
US11956344B2 (en) 2024-04-09

Similar Documents

Publication Publication Date Title
US9747134B2 (en) RDMA (remote direct memory access) data transfer in a virtual environment
US9164535B2 (en) Multi-protocol I/O interconnect time synchronization
KR950006565B1 (ko) 통신제어장치
US8879586B2 (en) Inband timestamping
US9697159B2 (en) Multi-protocol I/O interconnect time synchronization
WO2010057398A1 (zh) 透传时钟的实现装置和方法
KR20180031569A (ko) 네트워크에서의 분산 프로세싱
US20120327949A1 (en) Distributed processing of data frames by multiple adapters using time stamping and a central controller
US10104206B2 (en) Network module for sending and/or receiving of data packages from a network arrangement and method
JP2022168409A (ja) 通信装置、通信装置の制御方法およびプログラム
US8392742B2 (en) Cyclemaster synchronization in a distributed bridge
Ott et al. Coordinated Multi-streaming for 3D Tele-immersion
CN108737809B (zh) 一种远程同步图像采集方法
US11689305B2 (en) Systems and methods for nodes communicating using a time-synchronized transport layer
JP2024147867A (ja) 通信装置、通信システム、通信方法およびプログラム
US20230032204A1 (en) Communication apparatus, communication method, and storage medium
US20240107094A1 (en) Communication apparatus, control method, and storage medium
US20230155949A1 (en) Communication apparatus, control method for communication apparatus, and storage medium
JP2024074327A (ja) 通信装置、伝送システム、通信装置の制御方法、およびプログラム
JP7467130B2 (ja) 情報処理装置、情報処理方法及びプログラム
US20240072919A1 (en) Communication apparatus and control method therefor
JP2019140643A (ja) 伝送装置
JP2024054943A (ja) 通信装置およびその制御方法
US20240283896A1 (en) Communication apparatus, communication system, communication method, and storage medium
CN115150017A (zh) 一种ptp报文回传方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240329

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20240614