Nothing Special   »   [go: up one dir, main page]

JP2024147867A - COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM - Google Patents

COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM Download PDF

Info

Publication number
JP2024147867A
JP2024147867A JP2023060557A JP2023060557A JP2024147867A JP 2024147867 A JP2024147867 A JP 2024147867A JP 2023060557 A JP2023060557 A JP 2023060557A JP 2023060557 A JP2023060557 A JP 2023060557A JP 2024147867 A JP2024147867 A JP 2024147867A
Authority
JP
Japan
Prior art keywords
packet
timestamp
communication device
identifier
time
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
JP2023060557A
Other languages
Japanese (ja)
Inventor
仁 松本
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 JP2023060557A priority Critical patent/JP2024147867A/en
Publication of JP2024147867A publication Critical patent/JP2024147867A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

【課題】タイムスタンプの余りを回避すること。【解決手段】通信装置は、パケットを受信して、受信時刻を表したタイムスタンプを出力する受信手段と、受信された上記パケットを所定のメモリに転送する転送手段と、出力された上記タイムスタンプを記憶する記憶手段と、上記転送手段が上記パケットを破棄した場合、破棄されたパケットに対応する上記タイムスタンプを上記記憶手段から削除する削除手段と、を備える。【選択図】図2[Problem] To avoid remaining timestamps. [Solution] A communication device includes a receiving means for receiving a packet and outputting a timestamp indicating the time of reception, a transferring means for transferring the received packet to a predetermined memory, a storage means for storing the outputted timestamp, and a deleting means for deleting the timestamp corresponding to the discarded packet from the storage means when the transferring means discards the packet. [Selected Figure] Figure 2

Description

本発明は、通信装置、通信システム、通信方法およびプログラムに関する。 The present invention relates to a communication device, a communication system, a communication method, and a program.

近年、例えば異なる位置に設置された複数のカメラで同期撮影することで多視点の撮影画像を取得し、多視点の撮影画像から仮想視点コンテンツを生成する技術が注目されている。また、同期撮影の要となる同期制御をネットワーク通信によって実現する技術が知られている。 In recent years, technology has been attracting attention for capturing images from multiple viewpoints by synchronously shooting with multiple cameras installed in different locations, and generating virtual viewpoint content from the captured images from multiple viewpoints. In addition, technology is known that realizes the synchronization control, which is essential for synchronous shooting, through network communication.

ネットワーク通信による同期制御の方法の1つとして、例えばIEEE1588-2008におけるPTP(Precision Time Protocol)がある。PTPは、正確な時刻を持つマスタ装置がPTPパケットに時刻情報を載せて送信し、スレーブ装置がPTPパケットを受信して時刻同期を行う技術である。 One method of synchronization control through network communication is, for example, PTP (Precision Time Protocol) in IEEE 1588-2008. PTP is a technology in which a master device with accurate time transmits time information in PTP packets, and slave devices receive the PTP packets to perform time synchronization.

PTPの時刻同期ではタイムスタンプが用いられ、タイムスタンプは、例えばPTPパケットが通信装置で送受信される時にPHY層(Physical Layer)やMAC層(Media Access Control)で取得される。そして取得されたタイムスタンプは、CPU(Central Processing Unit)がアクセス可能な記憶部に記憶されて時刻同期の処理に用いられる。 Time stamps are used in PTP time synchronization, and the time stamps are obtained, for example, at the PHY layer (Physical Layer) or MAC layer (Media Access Control) when a PTP packet is sent or received by a communication device. The obtained time stamps are then stored in a memory unit accessible by the CPU (Central Processing Unit) and used for time synchronization processing.

例えば特許文献1には、通信装置がPTPパケットを受信して、そのPTPパケットに対応するタイムスタンプを記憶部に記憶する技術が開示されている。特許文献1の技術では、時刻同期で用いられるPTPパケットを含む受信された全ての受信パケットについて、PHY処理部による処理完了後にタイムスタンプが付与される。そして、MAC処理部による処理完了後に、受信パケットからPTPパケットが判別される。PTPパケットであればタイムスタンプが記憶部に記憶される。また、受信パケットは上位レイヤに転送される。 For example, Patent Document 1 discloses a technology in which a communication device receives a PTP packet and stores a timestamp corresponding to the PTP packet in a memory unit. In the technology of Patent Document 1, a timestamp is assigned to all received packets, including PTP packets used for time synchronization, after processing by the PHY processing unit is completed. Then, after processing by the MAC processing unit is completed, a PTP packet is identified from the received packet. If it is a PTP packet, a timestamp is stored in the memory unit. The received packet is then forwarded to a higher layer.

特開2021-256965号公報JP 2021-256965 A

しかしながら、特許文献1における技術では、受信パケットの転送中に受信パケットが破棄された場合、受信パケットに対応するタイムスタンプが記憶部に余る可能性がある。記憶部にタイムスタンプが余ると、受信パケットとタイムスタンプとの対応がずれてしまい、時刻同期の処理が正しく実行できない。 However, with the technology described in Patent Document 1, if a received packet is discarded during transfer, there is a possibility that the timestamp corresponding to the received packet will remain in the storage unit. If the timestamp remains in the storage unit, the correspondence between the received packet and the timestamp will become misaligned, and time synchronization processing will not be performed correctly.

本発明が解決しようとする課題は、タイムスタンプの余りを回避することである。 The problem this invention aims to solve is to avoid extra timestamps.

上記の課題を解決するため、本発明の1つの態様にかかる通信装置は、パケットを受信して、受信時刻を表したタイムスタンプを出力する受信手段と、受信された上記パケットを所定のメモリに転送する転送手段と、出力された上記タイムスタンプを記憶する記憶手段と、上記転送手段が上記パケットを破棄した場合、破棄されたパケットに対応する上記タイムスタンプを上記記憶手段から削除する削除手段と、を備える。 To solve the above problem, a communication device according to one aspect of the present invention includes a receiving means for receiving a packet and outputting a timestamp indicating the time of reception, a forwarding means for forwarding the received packet to a predetermined memory, a storage means for storing the outputted timestamp, and a deleting means for deleting the timestamp corresponding to the discarded packet from the storage means when the forwarding means discards the packet.

本発明によれば、タイムスタンプの余りを回避することができる。 The present invention makes it possible to avoid excess timestamps.

本発明が適用される同期撮影システムのシステム構成図。1 is a system configuration diagram of a synchronous imaging system to which the present invention is applied. カメラアダプタにおけるネットワーク制御の機能を示すブロック図。FIG. 4 is a block diagram showing a network control function in the camera adapter. 時刻同期処理のシーケンスを示す図。FIG. 4 is a diagram showing a sequence of a time synchronization process. パケット受信時の処理を示すフローチャート。11 is a flowchart showing a process when a packet is received. 受信タイムスタンプの振分処理を示すフローチャート。11 is a flowchart showing a process of allocating received time stamps. 受信パケットの転送処理を示すフローチャート。11 is a flowchart showing a transfer process of a received packet. 受信タイムスタンプの削除処理を示すフローチャート。13 is a flowchart showing a process of deleting a received time stamp. 時刻同期処理を示すフローチャート。13 is a flowchart showing a time synchronization process.

以下、添付図面を参照して本発明の実施形態を詳細に説明する。なお、以下の実施形態は本発明を限定するものではなく、また、実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。実施形態の構成は、本発明が適用されるシステムおよび装置の仕様および各種条件(使用条件、使用環境等)によって適宜修正又は変更され得る。本発明の技術的範囲は、特許請求の範囲によって画定されるのであって、以下の個別の実施形態によって画定されない。 Below, the embodiments of the present invention will be described in detail with reference to the attached drawings. Note that the following embodiments do not limit the present invention, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the present invention. The configuration of the embodiments may be modified or changed as appropriate depending on the specifications of the system and device to which the present invention is applied and various conditions (conditions of use, environment of use, etc.). The technical scope of the present invention is defined by the claims, not by the individual embodiments below.

以下の説明において、先に参照した図面に示された構成要素については、後の図面の説明で適宜に参照する。
<同期撮影システムの構成>
In the following description, components shown in earlier referenced drawings will be referred to as appropriate in the description of later drawings.
<Configuration of Synchronized Shooting System>

図1は、本発明が適用される同期撮影システムのシステム構成図である。
同期撮影システム100は、競技場(スタジアム)やコンサートホールなどの施設に複数のカメラを設置し撮影を行うシステムである。
同期撮影システム100は、タイムサーバ101、ハブ102、制御端末103、画像コンピューティングサーバ104、ユーザ端末105、センサシステム110a~110zを備えている。同期撮影システム100におけるこれらの要素によってネットワークが形成され、ハブ102は通信パケットのルーティング機能を有する。ハブ102とセンサシステム110a~110zは、ネットワークケーブル106a~106zによってデイジーチェーン接続されている。
FIG. 1 is a system configuration diagram of a synchronous imaging system to which the present invention is applied.
The synchronous imaging system 100 is a system that captures images by installing multiple cameras in a facility such as a sports stadium or concert hall.
The synchronized photography system 100 includes a time server 101, a hub 102, a control terminal 103, an image computing server 104, a user terminal 105, and sensor systems 110a to 110z. A network is formed by these elements in the synchronized photography system 100, and the hub 102 has a routing function for communication packets. The hub 102 and the sensor systems 110a to 110z are daisy-chained together by network cables 106a to 106z.

以下の説明では、符号の添え字のアルファベットで区別される同種の要素について総称する場合に、添え字を省略した符号を用いる場合がある。例えば、26セットのセンサシステム110a~110zについてセンサシステム110と総称する場合がある。
複数のセンサシステム110a~110zが接続されたネットワークにおいて、ハブ102に近い側をルート側、ハブ102から遠い側をリーフ側と称する。また、センサシステム110などの内部構成においても、ハブ102に近い側をルート側、ハブ102から遠い側をリーフ側と称する。
In the following description, when elements of the same type that are distinguished by alphabetical subscripts of the reference numerals are collectively referred to, the reference numerals may be used without the subscripts. For example, 26 sets of sensor systems 110a to 110z may be collectively referred to as sensor system 110.
In a network in which multiple sensor systems 110a to 110z are connected, the side closer to the hub 102 is referred to as the root side, and the side farther from the hub 102 is referred to as the leaf side. Also, in the internal configuration of the sensor system 110, the side closer to the hub 102 is referred to as the root side, and the side farther from the hub 102 is referred to as the leaf side.

同期撮影システム100は、一例として26セットのセンサシステム110a~110zを備えているが、セット数はこれに限定されるものではない。また、複数のセンサシステム110は同一の構成でなくてもよく、例えばそれぞれが異なる機種の装置で構成されていてもよい。なお、本実施形態では、特に断りがない限り、画像という文言が動画と静止画の概念を含むものとして説明する。すなわち、本実施形態の同期撮影システム100は、静止画及び動画の何れについても処理可能である。 As an example, the synchronized photography system 100 includes 26 sets of sensor systems 110a-110z, but the number of sets is not limited to this. Furthermore, the multiple sensor systems 110 do not need to have the same configuration, and for example, each may be configured with a different model of device. In this embodiment, unless otherwise specified, the term image will be described as including the concepts of video and still images. In other words, the synchronized photography system 100 of this embodiment is capable of processing both still images and video.

タイムサーバ101は、時刻情報を配信する機能を有しており、GNSS(Global Navigation Satellite System)107に同期した時刻情報をセンサシステム110に配信する。あるいはタイムサーバ101は、タイムサーバ101が有するローカル時刻をマスタ時刻としてセンサシステム110に配信してもよい。 The time server 101 has a function of distributing time information, and distributes time information synchronized with the Global Navigation Satellite System (GNSS) 107 to the sensor system 110. Alternatively, the time server 101 may distribute the local time held by the time server 101 as the master time to the sensor system 110.

ハブ102は、タイムサーバ101が配信する時刻情報の載ったPTP(Precision Time Protocol)パケットや、センサシステム110が画像コンピューティングサーバ104に送信する画像データを各宛先に振り分ける役割を担う。
制御端末103は同期撮影システム100の各要素に対してネットワークを通じて動作状態の管理およびパラメータ設定制御を行う。ここで、ネットワークはEthernet(登録商標)であるIEEE標準準拠のGbE(ギガビットイーサーネット)や10GbEや100GbEでもよい。またネットワークは、インターコネクトであるInfinibandや、産業用イーサーネット等が組み合わされて構成されてもよい。また、これらに限定されず、他の種類のネットワークであってもよい。
The hub 102 is responsible for distributing, to each destination, a PTP (Precision Time Protocol) packet carrying time information distributed by the time server 101 and image data transmitted by the sensor system 110 to the image computing server 104 .
The control terminal 103 manages the operating state and controls parameter setting for each element of the synchronous imaging system 100 through a network. Here, the network may be GbE (Gigabit Ethernet), 10 GbE, or 100 GbE conforming to the IEEE standard, which is Ethernet (registered trademark). The network may also be configured by combining Infiniband, which is an interconnect, industrial Ethernet, and the like. Furthermore, the network is not limited to these, and may be other types of networks.

図1では、26セットのセンサシステム110a~110zの全てがデイジーチェーン接続されている構成が示されているが、同期撮影システム100における接続形態はこれに限定されない。例えば、複数のセンサシステム110がいくつかのグループに分割され、分割されたグループ単位でセンサシステム110がデイジーチェーン接続されてもよい。 In FIG. 1, all 26 sets of sensor systems 110a to 110z are shown connected in a daisy chain, but the connection form in the synchronized imaging system 100 is not limited to this. For example, multiple sensor systems 110 may be divided into several groups, and the sensor systems 110 may be daisy chain connected in units of the divided groups.

このような構成は、スタジアムなどにおいて特に有効である。例えば、スタジアムが複数フロアで構成され、フロア毎にセンサシステム110のデイジーチェーンが配備される場合が考えられる。この場合に、フロア毎、あるいはスタジアムの半周毎に画像コンピューティングサーバ104への入力が可能となる。従って、全センサシステム110を1つのデイジーチェーンで接続する配線が困難な場所でも設置の簡便化及びシステムの柔軟化が図られる。 This type of configuration is particularly effective in stadiums and the like. For example, a stadium may be configured with multiple floors, with a daisy chain of sensor systems 110 installed on each floor. In this case, input to the image computing server 104 is possible for each floor or for each half circumference of the stadium. This simplifies installation and makes the system more flexible, even in places where it is difficult to wire all of the sensor systems 110 together in a single daisy chain.

センサシステム110同士がデイジーチェーンにより接続された接続形態により、撮影画像の4Kや8Kなどへの高解像度化および高フレームレート化に伴う画像データの大容量化において、接続ケーブル数の削減や配線作業の省力化が可能である。
各センサシステム110はカメラ111およびカメラアダプタ112を有する。つまり同期撮影システム100は、被写体を複数の方向から撮影するための複数(例えば26台)のカメラ111を備えている。なお、同期撮影システム100が備える複数のカメラ111は、性能や機種が異なっていてもよい。
By connecting the sensor systems 110 to each other in a daisy chain, it is possible to reduce the number of connecting cables and save on wiring work when the volume of image data increases due to the increase in resolution of captured images to 4K, 8K, etc. and the increase in frame rate.
Each sensor system 110 has a camera 111 and a camera adapter 112. That is, the synchronous photography system 100 includes a plurality of cameras 111 (e.g., 26 cameras) for photographing a subject from a plurality of directions. Note that the cameras 111 included in the synchronous photography system 100 may have different performance or models.

また、各センサシステム110は、カメラ111およびカメラアダプタ112を有する構成に限定されるものではなく、例えば、マイクといった音声デバイスや、カメラの向きを制御する雲台等を含んでもよい。また例えば、センサシステム110は1台のカメラアダプタ112と、複数のカメラ111で構成されてもよいし、1台のカメラ111と複数のカメラアダプタ112で構成されてもよい。即ち、同期撮影システム100内の複数のカメラ111と複数のカメラアダプタ112はN対M(NとMは共に1以上の整数)で対応する。 Furthermore, each sensor system 110 is not limited to a configuration having a camera 111 and a camera adapter 112, and may include, for example, an audio device such as a microphone, a camera head for controlling the orientation of the camera, etc. Also, for example, the sensor system 110 may be composed of one camera adapter 112 and multiple cameras 111, or one camera 111 and multiple camera adapters 112. In other words, the multiple cameras 111 and multiple camera adapters 112 in the synchronized shooting system 100 correspond to each other in an N to M ratio (N and M are both integers greater than or equal to 1).

図1では、カメラ111とカメラアダプタ112との接続が1本のみ図示されているが、接続の本数はこれに限られない。カメラ111を制御するための信号線や、カメラ111が撮像したデータを伝送するための信号線など複数本の接続が備えられる場合がある。
また、カメラ111とカメラアダプタ112が一体となって構成されていてもよい。さらに、カメラアダプタ112の機能の少なくとも一部を画像コンピューティングサーバ104が有していてもよい。なお、以下では、各センサシステム110が、同種のカメラ111およびカメラアダプタ112を1台ずつ有する場合を例として説明する。
1 shows only one connection between the camera 111 and the camera adapter 112, the number of connections is not limited to this. There are cases where multiple connections are provided, such as a signal line for controlling the camera 111 and a signal line for transmitting data captured by the camera 111.
The camera 111 and the camera adapter 112 may be integrated. Furthermore, at least a part of the functions of the camera adapter 112 may be included in the image computing server 104. In the following, an example will be described in which each sensor system 110 includes one camera 111 and one camera adapter 112 of the same type.

<仮想視点画像の生成>
同期撮影システム100が備える複数のカメラ111は被写体を複数の方向から撮影する。各センサシステム110のカメラアダプタ112は、カメラ111に接続され、カメラ111の制御、撮影画像の取得、同期信号の提供、および時刻設定などを実施する。また、カメラアダプタ112は、カメラ111が撮影した撮像データに対して画像処理を施す。
具体的には、カメラアダプタ112は、撮像データから前景画像と背景画像とを出力する。同期撮影システム100では、複数の視点から撮影された前景画像と背景画像に基づいて仮想視点画像が生成される。なお、撮影画像から分離した前景画像を出力して背景画像は出力しないカメラアダプタ112が存在してもよい。
<Generation of virtual viewpoint images>
The multiple cameras 111 included in the synchronous imaging system 100 capture images of a subject from multiple directions. The camera adapter 112 of each sensor system 110 is connected to the camera 111 and controls the camera 111, acquires captured images, provides a synchronization signal, sets the time, etc. The camera adapter 112 also performs image processing on the image data captured by the camera 111.
Specifically, the camera adaptor 112 outputs a foreground image and a background image from the captured image data. In the synchronous shooting system 100, a virtual viewpoint image is generated based on foreground images and background images captured from a plurality of viewpoints. Note that there may be a camera adaptor 112 that outputs a foreground image separated from a captured image but does not output a background image.

各センサシステム110で画像処理されたデータは、センサシステム110とデイジーチェーン接続されたハブ102を介して、画像コンピューティングサーバ104へ伝送される。
画像コンピューティングサーバ104は、各センサシステム110で撮影されて伝送されてきた画像の処理を行う。画像コンピューティングサーバ104は、まず、伝送されてきた画像パケットから画像を再構成する。画像の再構成には、画像パケットのヘッダ情報に含まれたカメラアダプタIDや画像種別、フレーム番号などが使用される。また、画像コンピューティングサーバ104は、これらの情報に対応付けて画像を記憶する。
The image processed data in each sensor system 110 is transmitted to the image computing server 104 via the hub 102 daisy-chained to the sensor systems 110 .
The image computing server 104 processes images captured by each sensor system 110 and transmitted. First, the image computing server 104 reconstructs an image from the transmitted image packet. To reconstruct the image, the camera adapter ID, image type, frame number, and the like contained in the header information of the image packet are used. The image computing server 104 also stores the image in association with this information.

画像コンピューティングサーバ104は、ユーザ端末105から視点の指定を受け付け、指定された視点に基づいて記憶情報から対応する画像を読み出し、レンダリング処理を行って仮想視点画像を生成する。なお、画像コンピューティングサーバ104の機能の少なくとも一部を制御端末103やセンサシステム110やユーザ端末105が有していてもよい。 The image computing server 104 receives a viewpoint specification from the user terminal 105, reads out a corresponding image from stored information based on the specified viewpoint, and performs rendering processing to generate a virtual viewpoint image. Note that at least some of the functions of the image computing server 104 may be possessed by the control terminal 103, the sensor system 110, or the user terminal 105.

レンダリング処理で生成された仮想視点画像は、画像コンピューティングサーバ104からユーザ端末105に送信され、ユーザ端末105の表示画面に表示される。ユーザ端末105を操作するユーザは指定に応じた視点の画像を閲覧することが出来る。
即ち、画像コンピューティングサーバ104は、複数のカメラ111により撮影された撮影画像(複数視点画像)と視点情報とに基づく仮想視点コンテンツを生成する。
The virtual viewpoint image generated by the rendering process is transmitted from the image computing server 104 to the user terminal 105 and displayed on the display screen of the user terminal 105. A user operating the user terminal 105 can view an image from a viewpoint according to a specification.
That is, the image computing server 104 generates virtual viewpoint content based on images (multiple viewpoint images) captured by the multiple cameras 111 and viewpoint information.

なお、本実施形態において仮想視点コンテンツは画像コンピューティングサーバ104により生成されるものとしたが、仮想視点コンテンツは制御端末103やユーザ端末105により生成されてもよい。
複数のカメラ111による撮影に際しては同期撮影が必要となる。このため、各カメラアダプタ112はPTPスレーブとして動作して、GM(Grand Master)装置であるタイムサーバ101と同期する。そしてカメラアダプタ112は、PTPマスタとして動作し、他のセンサシステム110とも同期するBC(Boundary Clock)装置として動作する。あるいはカメラアダプタ112は、GM装置からのPTPパケットに対して時刻補正を行って他のセンサシステム110に転送するTC(Transparent Clock)装置として動作してもよい。
In this embodiment, the virtual viewpoint content is generated by the image computing server 104 , but the virtual viewpoint content may be generated by the control terminal 103 or the user terminal 105 .
When taking pictures using multiple cameras 111, synchronized shooting is required. For this reason, each camera adapter 112 operates as a PTP slave and synchronizes with the time server 101, which is a GM (Grand Master) device. The camera adapter 112 also operates as a PTP master and as a BC (Boundary Clock) device that synchronizes with other sensor systems 110. Alternatively, the camera adapter 112 may operate as a TC (Transparent Clock) device that performs time correction on PTP packets from the GM device and transfers them to other sensor systems 110.

あるいはカメラアダプタ112は、GM装置からのPTPパケットや、別のセンサシステム110から転送されたPTPパケットを用いて時刻同期のみを行うOC(Ordinary Clock)装置として動作してもよい。
あるいはカメラアダプタ112は、GM装置からのPTPパケットや、別のセンサシステム110から転送されたPTPパケットを用いて時刻同期を行い、かつPTPパケットに対して時刻補正を行って他のセンサシステム110に転送してもよい。つまりカメラアダプタ112は、TC装置かつOC装置として動作してもよい。
Alternatively, the camera adapter 112 may operate as an OC (Ordinary Clock) device that performs only time synchronization using PTP packets from a GM device or PTP packets transferred from another sensor system 110 .
Alternatively, the camera adapter 112 may perform time synchronization using a PTP packet from a GM device or a PTP packet transferred from another sensor system 110, and may perform time correction on the PTP packet and transfer it to the other sensor system 110. In other words, the camera adapter 112 may operate as both a TC device and an OC device.

カメラアダプタ112は、GM装置や別のセンサシステム110と同期した時刻やリファレンス信号を利用し、撮影タイミング(制御クロック)をカメラ111に提供する。この結果、複数のカメラ111による同期撮影が可能となる。 The camera adapter 112 uses a time and a reference signal synchronized with the GM device or another sensor system 110 to provide the camera 111 with shooting timing (control clock). As a result, synchronized shooting by multiple cameras 111 becomes possible.

<カメラアダプタのネットワーク制御>
次にカメラアダプタ112によるネットワーク制御について説明する。
図2は、カメラアダプタ112におけるネットワーク制御の機能を示すブロック図である。
<Network control of camera adapter>
Next, network control by the camera adapter 112 will be described.
FIG. 2 is a block diagram showing the network control function in the camera adapter 112. As shown in FIG.

図2に示された構成は一例であり、複数の機能ブロックが1つの機能ブロックを構成してもよいし、何れかの機能ブロックが複数の機能を行うブロックに分かれてもよい。また、機能ブロックの少なくとも1つがハードウェアとして実装されてもよい。
ハードウェアにより実装される場合、例えば、所定のコンパイラが用いられることで、各ステップを実現するためのプログラムからFPGA上に自動的に専用回路が生成されてもよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路が形成されて、ハードウェアとして実現されてもよいし、ASIC(Application Specific Integrated Circuit)により実現されてもよい。
2 is an example, and multiple functional blocks may be combined into one functional block, or any functional block may be divided into blocks performing multiple functions. Furthermore, at least one of the functional blocks may be implemented as hardware.
When implemented by hardware, for example, a specific compiler may be used to automatically generate a dedicated circuit on an FPGA from a program for implementing each step. FPGA is an abbreviation for Field Programmable Gate Array. Also, a gate array circuit may be formed in the same manner as an FPGA and implemented as hardware, or may be implemented by an ASIC (Application Specific Integrated Circuit).

カメラアダプタ112は、機能ブロックとしてCPU200、映像パケット処理部201、第一記憶部202、第二記憶部203、DMA制御部204、PHY/MAC部205、システムバス206、パケット解析処理部210を備える。そして、カメラアダプタ112内の各機能ブロック200~204、210はシステムバス206を介して相互に接続されている。またカメラアダプタ112は画像伝送用ケーブル209でカメラ110と接続されている。 The camera adapter 112 has the following functional blocks: a CPU 200, a video packet processing unit 201, a first memory unit 202, a second memory unit 203, a DMA control unit 204, a PHY/MAC unit 205, a system bus 206, and a packet analysis processing unit 210. The functional blocks 200-204 and 210 within the camera adapter 112 are interconnected via the system bus 206. The camera adapter 112 is also connected to the camera 110 by an image transmission cable 209.

CPU200は、OSI(Open Systems Interconnection)参照モデルで定義されるアプリケーション層でアプリケーションソフトウエアを実行するとともにカメラアダプタ112全体の制御も実行する。そして、CPU200は、アプリケーションソフトウエアを実行する上で必要となるデータやプログラムなどを第一記憶部202に記憶する。 The CPU 200 executes application software at the application layer defined by the OSI (Open Systems Interconnection) reference model, and also controls the entire camera adapter 112. The CPU 200 then stores data, programs, and the like required to execute the application software in the first memory unit 202.

CPU200は必要に応じて、システムバス206を介した読み出しや書き込みを行う。具体的にはCPU200は、PTPスタック処理を行い、DMA制御部204を用いたDMA転送制御のためのディスクリプタ生成なども行う。
映像パケット処理部201は、カメラ110で撮影された画像データを、画像伝送用ケーブル209を介して受信して、画像データのパケット化を行う。そして映像パケット処理部201は、DMA制御部204を用いたDMA転送制御のためのディスクリプタ生成も行う。ここで映像パケット処理部201は専用ハードウェアとして記載しているが、映像パケット処理部201の機能は、CPU200とは異なる同様の機能を持つCPUが処理してもよい。
If necessary, the CPU 200 performs reading and writing via a system bus 206. Specifically, the CPU 200 performs PTP stack processing, and also generates a descriptor for DMA transfer control using a DMA control unit 204.
Video packet processing unit 201 receives image data captured by camera 110 via image transmission cable 209 and packetizes the image data. Video packet processing unit 201 also generates descriptors for DMA transfer control using DMA control unit 204. Although video packet processing unit 201 is described here as dedicated hardware, the functions of video packet processing unit 201 may be processed by a CPU different from CPU 200 that has similar functions.

第一記憶部202は、CPU200が用いる記憶領域である。第一記憶部202は、DRAMやSRAMに代表される半導体メモリで構成されている。DRAMはDynamic Random Access Memoryの略で、SRAMはStatic Random Access Memoryの略である。第一記憶部202の内部領域は、プログラムを格納する領域やアプリケーションソフトウエアが使用するアプリケーションバッファ領域などに分けられる。そして第一記憶部202の内部領域には、例えば、PTPパケットを転送するためのディスクリプタなどが格納される。 The first memory unit 202 is a memory area used by the CPU 200. The first memory unit 202 is composed of semiconductor memory such as DRAM and SRAM. DRAM stands for Dynamic Random Access Memory, and SRAM stands for Static Random Access Memory. The internal area of the first memory unit 202 is divided into an area for storing programs and an application buffer area used by application software. The internal area of the first memory unit 202 stores, for example, descriptors for transferring PTP packets.

ここでディスクリプタとは、後述するDMA制御部204がパケットのDMA転送に用いる情報であり、転送を行うソース側のアドレス情報、ディスティネーション側のアドレス情報、転送サイズの情報などが記載されている。
第二記憶部203は、映像パケット処理部201が用いる記憶領域である。第二記憶部203もDRAMやSRAMに代表される半導体メモリで構成されている。第二記憶部203の内部領域には、例えば、画像パケットを転送するためのディスクリプタなどが格納される。
The descriptor here is information used by the DMA control unit 204 (described later) for DMA transfer of packets, and includes address information on the source side where the transfer is performed, address information on the destination side, information on the transfer size, and the like.
The second storage unit 203 is a storage area used by the video packet processing unit 201. The second storage unit 203 is also composed of a semiconductor memory such as a DRAM or an SRAM. For example, a descriptor for transferring an image packet is stored in the internal area of the second storage unit 203.

図2に示す例では、第一記憶部202および第二記憶部203は、CPU200および映像パケット処理部201によってそれぞれ占有されているが、第一記憶部202および第二記憶部203の構成はその限りではない。例えばCPU200および映像パケット処理部201は、第一記憶部202および第二記憶部203が1つに纏められた記憶部を共有して使用してもよい。 2, the first memory unit 202 and the second memory unit 203 are respectively occupied by the CPU 200 and the video packet processing unit 201, but the configuration of the first memory unit 202 and the second memory unit 203 is not limited to this. For example, the CPU 200 and the video packet processing unit 201 may share and use a memory unit in which the first memory unit 202 and the second memory unit 203 are combined into one.

PHY/MAC部205は、LAN(Local Area Network)に代表されるネットワーク208とのインタフェースであり、通信におけるPHY層(物理層)とMAC層(データリンク層)の通信制御を担っている。PHY/MAC部205は、通信パケットの送信と受信を行う。 The PHY/MAC unit 205 is an interface with a network 208, typically a LAN (Local Area Network), and is responsible for controlling communication at the PHY layer (physical layer) and MAC layer (data link layer). The PHY/MAC unit 205 transmits and receives communication packets.

PHY/MAC部205は、受信する全ての通信パケットについて、受信時刻を示すタイムスタンプを出力する。ここでタイムスタンプとは、PHY/MAC部205がパケットを送信または受信した時刻を示す時刻情報のことである。以下では、受信時刻を表したタイムスタンプのことを受信タイムスタンプと称し、送信時刻を表したタイムスタンプのことを送信タイムスタンプと称する。タイムスタンプはPTPプロトコル処理における時刻補正の計算などに使用される。 The PHY/MAC unit 205 outputs a timestamp indicating the reception time for every communication packet it receives. Here, the timestamp refers to time information indicating the time when the PHY/MAC unit 205 transmitted or received a packet. In the following, a timestamp indicating the reception time is referred to as a reception timestamp, and a timestamp indicating the transmission time is referred to as a transmission timestamp. The timestamp is used for calculations such as time correction in PTP protocol processing.

DMA制御部204は、CPU200および映像パケット処理部201それぞれの指示により、DMA転送を実行する。即ち、DMA制御部204は、PHY/MAC部205で受信された受信パケットを所定の記憶部に転送し、PHY/MAC部205から送信される送信パケットを所定の記憶部からPHY/MAC部205に転送する。 The DMA control unit 204 executes DMA transfers in response to instructions from the CPU 200 and the video packet processing unit 201. That is, the DMA control unit 204 transfers received packets received by the PHY/MAC unit 205 to a specified storage unit, and transfers transmitted packets sent from the PHY/MAC unit 205 from the specified storage unit to the PHY/MAC unit 205.

DMA転送は、CPU200および映像パケット処理部201のそれぞれが生成したディスクリプタの内容に従って実行される。そしてDMA制御部204は、後述するパケット解析処理部210内部の解析部212の指示により、DMA転送に使用するディスクリプタを選択する。DMA転送の完了後にDMA制御部204は、ディスクリプタに対応した完了割り込み207をCPU200または映像パケット処理部201に通知する。 The DMA transfer is performed according to the contents of the descriptors generated by the CPU 200 and the video packet processing unit 201, respectively. The DMA control unit 204 then selects the descriptor to be used for the DMA transfer in response to instructions from an analysis unit 212 within the packet analysis processing unit 210, which will be described later. After the DMA transfer is completed, the DMA control unit 204 notifies the CPU 200 or the video packet processing unit 201 of a completion interrupt 207 corresponding to the descriptor.

DMA制御部204は、例えばCPU200または映像パケット処理部201における処理負荷増大のために、DMA転送のためのディスクリプタがセットされなかった場合、受信パケットを破棄する。DMA制御部204は、受信パケットにおけるパケット長がIEEE802.3に規定の最小長である64byteより小さい場合にも受信パケットを破棄する。そして、DMA制御部204は、破棄したパケットの種類と、破棄したパケットを一意に識別可能なパケット識別子とを含んだ破棄通知を、後述するタイムスタンプ削除処理部217へと出力する。 The DMA control unit 204 discards a received packet if a descriptor for DMA transfer is not set, for example, due to an increase in the processing load in the CPU 200 or the video packet processing unit 201. The DMA control unit 204 also discards a received packet if the packet length of the received packet is smaller than 64 bytes, which is the minimum length specified in IEEE 802.3. The DMA control unit 204 then outputs a discard notification including the type of the discarded packet and a packet identifier that can uniquely identify the discarded packet to the timestamp deletion processing unit 217, which will be described later.

ここで、パケット識別子としては、パケットのヘッダ領域に格納されているシーケンスナンバなど、パケットの特定が可能な、パケットに一般的に含まれる情報が用いられてもよい。あるいはパケット識別子としては、受信パケットと受信タイムスタンプとを一意に対応付けるために同期撮影システム100のユーザが定義した独自の識別子が用いられてもよい。独自の識別子は、例えばパケットのヘッダ領域に書き込まれていてもよく、ペイロード領域や末尾に付加されていてもよい。あるいは独自の識別子は、1つのセンサシステム110内のみで一時的に用いられる情報でもよい。 The packet identifier may be information typically included in a packet that can identify the packet, such as a sequence number stored in the header area of the packet. Alternatively, the packet identifier may be a unique identifier defined by a user of the synchronized imaging system 100 to uniquely associate a received packet with a reception timestamp. The unique identifier may be written, for example, in the header area of the packet, or may be added to the payload area or end. Alternatively, the unique identifier may be information that is used temporarily only within one sensor system 110.

DMA制御部204は、受信パケットを破棄した際、後述する解析部212から受信したパケットの種類およびパケット識別子をタイムスタンプ削除処理部217に通知する。あるいはDMA制御部204自身がパケット解析を実施して結果を通知してもよい。
次にパケット解析処理部210について説明する。
パケット解析処理部210は、タイムスタンプ一時記憶部211、解析部212、解析結果記憶部213、タイムスタンプ振分処理部214、タイムスタンプ記憶部215、レジスタ部216、タイムスタンプ削除処理部217を備えている。
When discarding a received packet, the DMA control unit 204 notifies the timestamp deletion processing unit 217 of the type and packet identifier of the packet received from the analysis unit 212, which will be described later. Alternatively, the DMA control unit 204 itself may perform packet analysis and notify the result.
Next, the packet analysis processing unit 210 will be described.
The packet analysis processing unit 210 includes a timestamp temporary storage unit 211 , an analysis unit 212 , an analysis result storage unit 213 , a timestamp allocation processing unit 214 , a timestamp storage unit 215 , a register unit 216 , and a timestamp deletion processing unit 217 .

タイムスタンプ一時記憶部211は、PHY/MAC部205が出力した受信タイムスタンプを一時的に格納する記憶部であり、FIFO(First Input First Output)メモリからなる。
解析部212は、PHY/MAC部205が受信した受信パケットのMACヘッダを解析し、受信パケットのEtherTypeからパケットの種類を判別する。そして、解析部212は、受信パケットのヘッダ領域、ペイロード領域、あるいは末尾の解析によりパケット識別子を解析する。
The time stamp temporary storage unit 211 is a storage unit that temporarily stores the reception time stamp output by the PHY/MAC unit 205, and is made up of a FIFO (First Input First Output) memory.
The analysis unit 212 analyzes the MAC header of the received packet received by the PHY/MAC unit 205, and determines the type of the packet from the EtherType of the received packet. The analysis unit 212 then analyzes the header area, payload area, or tail of the received packet to determine the packet identifier.

解析部212は、解析結果であるパケットの種類およびパケット識別子を、DMA制御部204および解析結果記憶部213に通知する。なお、解析部212による解析結果は、解析結果記憶部213に格納されずに直接タイムスタンプ振分処理部214に通知されてもよい。
解析結果記憶部213はFIFOメモリからなり、解析部212が受信パケットを解析した結果を格納する。
The analysis unit 212 notifies the DMA control unit 204 and the analysis result storage unit 213 of the type of packet and the packet identifier, which are the analysis results. Note that the analysis results by the analysis unit 212 may be notified directly to the time stamp allocation processing unit 214 without being stored in the analysis result storage unit 213.
The analysis result storage unit 213 is made up of a FIFO memory, and stores the results of the analysis of the received packet by the analysis unit 212 .

タイムスタンプ振分処理部214は、タイムスタンプ一時記憶部211に格納された受信タイムスタンプのうち、解析結果記憶部213に格納された解析結果のパケットの種類に応じた一部の受信タイムスタンプをタイムスタンプ記憶部215に振り分ける。タイムスタンプ振分処理部214は、少なくともPTPパケットについては、受信タイムスタンプをタイムスタンプ記憶部215に振り分ける。 The timestamp allocation processing unit 214 allocates some of the reception timestamps stored in the timestamp temporary storage unit 211 according to the type of packet of the analysis result stored in the analysis result storage unit 213 to the timestamp storage unit 215. The timestamp allocation processing unit 214 allocates the reception timestamps to the timestamp storage unit 215 at least for PTP packets.

CPU200は、第一記憶部202に転送されたPTPパケットと、当該PTPパケットに対応した受信タイムスタンプとを用いて時刻同期処理を実行する。また、CPU200は、DMA制御部204による転送完了の通知に相当する完了割り込み207を受けて時刻同期処理を実行する。
解析結果記憶部213に格納された解析結果のうちパケット識別子も、受信タイムスタンプと合わせてタイムスタンプ記憶部215に振り分けられる。そして、タイムスタンプ振分処理部214は、解析結果の種類が振分対象外の種類である受信パケットについては、受信タイムスタンプと解析結果を破棄する。
The CPU 200 executes time synchronization processing using the PTP packet transferred to the first storage unit 202 and a reception timestamp corresponding to the PTP packet. The CPU 200 also executes time synchronization processing upon receiving a completion interrupt 207 corresponding to a notification of transfer completion from the DMA control unit 204.
Among the analysis results stored in the analysis result storage unit 213, the packet identifiers are also sorted together with the reception timestamps into the timestamp storage unit 215. Then, the timestamp sorting processor 214 discards the reception timestamps and the analysis results for received packets whose analysis result type is not subject to sorting.

タイムスタンプ記憶部215は、複数個のFIFOメモリからなり、タイムスタンプ振分処理部214によって振り分けられた受信タイムスタンプおよびパケット識別子が格納される。FIFOメモリは、リード処理の実行を要せずにデータの先読みが可能である。受信タイムスタンプおよびパケット識別子は、タイムスタンプ記憶部215における複数個のFIFOメモリのうち、解析結果のパケットの種類に対応したFIFOメモリに格納される。つまり、FIFOメモリは、受信タイムスタンプおよびパケット識別子をパケットの種類ごとに分けて記憶する。 The timestamp storage unit 215 is made up of multiple FIFO memories, and stores the reception timestamps and packet identifiers assigned by the timestamp allocation processing unit 214. The FIFO memories are capable of pre-reading data without the need to execute a read process. The reception timestamps and packet identifiers are stored in one of the multiple FIFO memories in the timestamp storage unit 215 that corresponds to the type of packet that is the analysis result. In other words, the FIFO memories store the reception timestamps and packet identifiers separately for each type of packet.

レジスタ部216は、解析結果のパケットの種類とディスクリプタとの対応、および、受信タイムスタンプ振り分け処理部214で振分対象外となる種類を記憶する。また、レジスタ部216は、解析結果のパケットの種類と、格納されるタイムスタンプ記憶部215のFIFOメモリとの対応も記憶する。 The register unit 216 stores the correspondence between the packet type and the descriptor of the analysis result, and the type that is not subject to distribution by the received timestamp distribution processing unit 214. The register unit 216 also stores the correspondence between the packet type of the analysis result and the FIFO memory of the timestamp storage unit 215 in which it is stored.

レジスタ部216に記憶される情報は、DMA制御部204が受信パケットに対してどのディスクリプタを使用するのか、タイムスタンプ振分処理部214が受信タイムスタンプをどこに振り分けるのか、を決定するための情報である。レジスタ部216に記憶される情報は、CPU200によってDMA転送開始前にセットされる。 The information stored in the register unit 216 is information for determining which descriptor the DMA control unit 204 uses for the received packet and where the timestamp allocation processing unit 214 allocates the received timestamp. The information stored in the register unit 216 is set by the CPU 200 before the start of the DMA transfer.

タイムスタンプ削除処理部217は、受信パケットが破棄される場合にDMA制御部204から出力されるパケットの種類とパケット識別子を受信して保持する。また、タイムスタンプ削除処理部217は、パケットの種類に対応するタイムスタンプ記憶部215のFIFOメモリを監視する。更に、タイムスタンプ削除処理部217は、タイムスタンプ記憶部215に格納されているパケット識別子とタイムスタンプ削除処理部217が保持するパケット識別子とを照合する。 The timestamp deletion processing unit 217 receives and holds the packet type and packet identifier output from the DMA control unit 204 when a received packet is discarded. The timestamp deletion processing unit 217 also monitors the FIFO memory of the timestamp storage unit 215 that corresponds to the packet type. Furthermore, the timestamp deletion processing unit 217 compares the packet identifier stored in the timestamp storage unit 215 with the packet identifier held by the timestamp deletion processing unit 217.

照合によりパケット識別子が一致した場合、タイムスタンプ削除処理部217は、タイムスタンプ記憶部215に格納されている受信タイムスタンプとパケット識別子を削除する。つまり、タイムスタンプ削除処理部217は、受信パケットが破棄された場合、破棄された受信パケットのパケット識別子と対応づけて記憶された受信タイムスタンプをタイムスタンプ記憶部215から削除する。 If the packet identifiers match, the timestamp deletion processing unit 217 deletes the reception timestamp and packet identifier stored in the timestamp storage unit 215. In other words, if a received packet is discarded, the timestamp deletion processing unit 217 deletes from the timestamp storage unit 215 the reception timestamp that was stored in association with the packet identifier of the discarded received packet.

タイムスタンプ削除処理部217による削除処理は、CPU200あるいは映像パケット処理部217がタイムスタンプ記憶部215にアクセスする前に実行される。従って、時刻同期処理に際して受信タイムスタンプの余りは回避され、正常な時刻同期処理が可能となる。 The deletion process by the timestamp deletion processing unit 217 is executed before the CPU 200 or the video packet processing unit 217 accesses the timestamp storage unit 215. Therefore, remaining received timestamps are avoided during time synchronization processing, enabling normal time synchronization processing.

<時刻同期処理のシーケンス>
次に、時刻同期処理のシーケンスについて説明する。
図3は、時刻同期処理のシーケンスを示す図である。
図3には、GM装置に相当するタイムサーバ101とPTPスレーブ装置に相当するセンサシステム110とにおけるPTPパケットの送受信のシーケンスが示されている。以下説明するシーケンスでは、PTPパケットとして、Syncパケット、Follow_Upパケット、Delay_Requestパケット、およびDelay_Responseパケットが用いられる。
<Time synchronization processing sequence>
Next, the sequence of the time synchronization process will be described.
FIG. 3 is a diagram showing a sequence of the time synchronization process.
3 shows a sequence of transmission and reception of PTP packets between the time server 101, which corresponds to a GM device, and the sensor system 110, which corresponds to a PTP slave device. In the sequence described below, a Sync packet, a Follow_Up packet, a Delay_Request packet, and a Delay_Response packet are used as PTP packets.

S301では、タイムサーバ101がセンサシステム110に対してSyncパケットを送信する。センサシステム110はSyncパケットの受信時刻を表した受信タイムスタンプt2を保持する。タイムサーバ101によるSyncパケットの送信は一定間隔で繰り返し実行される。センサシステム110における受信タイムスタンプt2の保持は、具体的には、Syncパケットが受信された際にパケット解析処理部210が受信タイムスタンプt2を所定のタイムスタンプ記憶部215に格納することで実現される。そして、保持された受信タイムスタンプt2は、CPU200により時刻同期処理に用いられる。 In S301, the time server 101 transmits a Sync packet to the sensor system 110. The sensor system 110 holds a reception timestamp t2 indicating the time when the Sync packet was received. The time server 101 repeatedly transmits the Sync packet at regular intervals. Specifically, the reception timestamp t2 is held in the sensor system 110 by the packet analysis processing unit 210 storing the reception timestamp t2 in a specified timestamp storage unit 215 when the Sync packet is received. The held reception timestamp t2 is then used by the CPU 200 for time synchronization processing.

S302では、タイムサーバ101が、Syncパケットの送信時刻を表した送信タイムスタンプt1をFollow_Upパケットに載せてセンサシステム110に対して送信する。センサシステム110は、Follow_Upパケットを受信することで送信タイムスタンプt1を保持する。 In S302, the time server 101 transmits a transmission timestamp t1, which indicates the transmission time of the Sync packet, to the sensor system 110 in a Follow_Up packet. The sensor system 110 retains the transmission timestamp t1 by receiving the Follow_Up packet.

なお、図3の例では、Syncパケットの送信タイムスタンプがFollow_Upパケットに載せられて送信されるが、Syncパケットの送信タイムスタンプは、Follow_UpパケットではなくSyncパケット自身に載せられて送信されてもよい。
S303では、センサシステム110がタイムサーバ101に対してDelay_Requestパケットを送信する。この時、センサシステム110はDelay_Requestパケットの送信タイムスタンプt3を保持する。
In the example of FIG. 3, the transmission timestamp of the Sync packet is carried on the Follow_Up packet and transmitted, but the transmission timestamp of the Sync packet may be carried on the Sync packet itself and transmitted instead of on the Follow_Up packet.
In S303, the sensor system 110 transmits a Delay_Request packet to the time server 101. At this time, the sensor system 110 holds a transmission timestamp t3 of the Delay_Request packet.

S304では、タイムサーバ101がセンサシステム110に対してDelay_Responseパケットを送信する。また、タイムサーバ101はDelay_Requestパケットの受信タイムスタンプt4をDelay_Responseパケットに載せてセンサシステム110に対して送信する。センサシステム110は、Delay_Responseパケットを受信することで、タイムサーバ101がDelay_Requestパケットを受信した時刻を表す受信タイムスタンプt4を保持する。 In S304, the time server 101 transmits a Delay_Response packet to the sensor system 110. The time server 101 also transmits the reception timestamp t4 of the Delay_Request packet in a Delay_Response packet to the sensor system 110. By receiving the Delay_Response packet, the sensor system 110 holds the reception timestamp t4 indicating the time when the time server 101 received the Delay_Request packet.

センサシステム110は、S301~S304のPTPパケットのやりとりから平均伝送遅延時間を算出して、センサシステム110内の時刻を補正する。平均伝送遅延時間は以下の数式で算出される。
平均伝送遅延時間={(t2-t1)+(t4-t3)}/2
The sensor system 110 calculates the average transmission delay time from the exchange of PTP packets in S301 to S304, and corrects the time in the sensor system 110. The average transmission delay time is calculated by the following formula.
Average transmission delay time = {(t2 - t1) + (t4 - t3)}/2

<パケット受信時の処理>
次に、パケット受信時の処理について説明する。
図4は、パケット受信時の処理を示すフローチャートである。
<Processing when receiving packets>
Next, the process when a packet is received will be described.
FIG. 4 is a flowchart showing the process when a packet is received.

図4の処理は、センサシステム110が起動されると開始される(S401)。
S402では、CPU200がレジスタ部216に設定をセットする。具体的には、CPU200は、パケットの種類とディスクリプタとの対応、および、受信タイムスタンプ振り分け処理部214による振分の対象外となるパケットの種類をセットする。更に、CPU200は、パケットの種類と、受信タイムスタンプが格納されるタイムスタンプ記憶部215のFIFOメモリとの対応もセットする。なお、図4の例では、センサシステム110の起動後に、CPU200がレジスタ部216に設定をセットしているが、この設定は、センサシステム110の起動時に初期設定としてセットされてもよい。
The process in FIG. 4 starts when the sensor system 110 is started (S401).
In S402, the CPU 200 sets the settings in the register unit 216. Specifically, the CPU 200 sets the correspondence between the packet type and the descriptor, and the packet type that is not subject to distribution by the reception timestamp distribution processing unit 214. Furthermore, the CPU 200 also sets the correspondence between the packet type and the FIFO memory of the timestamp storage unit 215 in which the reception timestamp is stored. Note that, in the example of Fig. 4, the CPU 200 sets the settings in the register unit 216 after the sensor system 110 is started up, but this setting may be set as an initial setting when the sensor system 110 is started up.

レジスタ部216に対する設定のセットが完了すると、S403へ進み、PHY/MAC部205がパケットを受信するまで待機状態となる(S403:No)。そして、PHY/MAC部205がパケットを受信した場合(S403:Yes)、S404およびS405に進む。 When the setting of the register unit 216 is completed, the process proceeds to S403, and the PHY/MAC unit 205 enters a standby state until it receives a packet (S403: No). Then, if the PHY/MAC unit 205 receives a packet (S403: Yes), the process proceeds to S404 and S405.

S404では、PHY/MAC部205が出力した受信タイムスタンプが一時的にタイムスタンプ一時記憶部211に格納される。
S404と並行してS405では、解析部212が受信パケットを解析する。解析部212はMACヘッダのタイプフィールドを読み取り、受信パケットのEtherTypeからパケットの種類を判別する。例えばEtherTypeが0x0800ならば、IPv4パケット、0x88F7ならばPTPパケットであると判定される。さらに、解析部212は、受信パケットのヘッダ領域、ペイロード領域および末尾の解析によりパケット識別子を判別する。
In S 404 , the reception timestamp output by the PHY/MAC unit 205 is temporarily stored in the timestamp temporary storage unit 211 .
In parallel with S404, in S405, the analysis unit 212 analyzes the received packet. The analysis unit 212 reads the type field of the MAC header and determines the type of the packet from the EtherType of the received packet. For example, if the EtherType is 0x0800, it is determined to be an IPv4 packet, and if it is 0x88F7, it is determined to be a PTP packet. Furthermore, the analysis unit 212 determines the packet identifier by analyzing the header area, payload area, and tail of the received packet.

具体的には、解析部212は、PTPパケットのヘッダ領域に含まれるシーケンスIDや、TCP/IPパケットのTCPヘッダ領域に含まれるシーケンスナンバなどを解析する。あるいは解析部212は、パケットのヘッダ領域、ペイロード領域あるいは末尾に付加される、ユーザによる独自形式のシーケンスナンバなどを解析してもよい。 Specifically, the analysis unit 212 analyzes a sequence ID included in the header area of a PTP packet, a sequence number included in the TCP header area of a TCP/IP packet, etc. Alternatively, the analysis unit 212 may analyze a sequence number in a unique format created by the user that is added to the header area, payload area, or end of a packet.

解析部212が受信パケットの解析を完了すると、S406およびS407に進む。
S406では、解析部212による解析結果として得られる、パケットの種類とパケット識別子が解析結果記憶部213に格納される。そして、S404の処理とS406の処理の双方が完了するとS408へ進む。
When the analysis unit 212 completes the analysis of the received packet, the process proceeds to S406 and S407.
In S406, the type of packet and the packet identifier obtained as the analysis result by the analysis unit 212 are stored in the analysis result storage unit 213. Then, when both the processing of S404 and the processing of S406 are completed, the process proceeds to S408.

S408では、S404でタイムスタンプ一時記憶部211に一時的に格納された受信タイムスタンプが、S406で解析結果記憶部213に格納されたパケットの種類に応じて、タイムスタンプ振分処理部214によって振り分けられる。タイムスタンプ振分処理部214によって実行される振分処理の内容については後述する。 In S408, the reception timestamps temporarily stored in the timestamp temporary storage unit 211 in S404 are distributed by the timestamp distribution processing unit 214 according to the type of packet stored in the analysis result storage unit 213 in S406. The details of the distribution process performed by the timestamp distribution processing unit 214 will be described later.

S406と並行してS407では、解析部212が、S405で判別したパケットの種類とパケット識別子をDMA制御部204へ通知する。DMA制御部204は、転送に使用するディスクリプタを、この通知によって知ることができる。つまり、判別されたパケットの種類と使用するディスクリプタとの対応は、あらかじめレジスタ部216にセットされているからである。 In parallel with S406, in S407, the analysis unit 212 notifies the DMA control unit 204 of the packet type and packet identifier determined in S405. The DMA control unit 204 can know the descriptor to be used for the transfer from this notification. That is, the correspondence between the determined packet type and the descriptor to be used is set in advance in the register unit 216.

DMA制御部204への通知が完了するとS409に進み、PHY/MAC部205から受信したパケットをDMA制御部204が破棄したか否かが判定される。DMA制御部204は、第一記憶部202あるいは第二記憶部203へDMA転送するためのディスクリプタがセットされてない場合、パケットの転送先が分からず受信パケットを破棄する。あるいはDMA制御部204は、受信パケットのパケット長がIEEE規定の最小長である64byteより小さい場合、不正なパケットとして受信パケットを破棄する。 When notification to the DMA control unit 204 is complete, the process proceeds to S409, where it is determined whether the DMA control unit 204 discarded the packet received from the PHY/MAC unit 205. If a descriptor for DMA transfer to the first memory unit 202 or the second memory unit 203 has not been set, the DMA control unit 204 discards the received packet because it does not know the transfer destination of the packet. Alternatively, if the packet length of the received packet is shorter than 64 bytes, which is the minimum length specified by IEEE, the DMA control unit 204 discards the received packet as an invalid packet.

DMA制御部204が受信パケットを破棄しない場合(S409:No)、S410でDMA制御部204が、S407で解析部212により通知された情報に従ってディスクリプタを選択して受信パケットを所定の記憶部に転送する。
一方、DMA制御部204が受信パケットを破棄した場合(S409:Yes)、S411でタイムスタンプ削除処理部217がDMA制御部204から破棄通知を受信し、タイムスタンプ記憶部215から受信タイムスタンプを削除する。削除される受信タイムスタンプは、破棄された受信パケットのパケット識別子に対応付けられて格納されている受信タイムスタンプである。
If the DMA control unit 204 does not discard the received packet (S409: No), in S410 the DMA control unit 204 selects a descriptor in accordance with the information notified by the analysis unit 212 in S407, and transfers the received packet to a predetermined storage unit.
On the other hand, if the DMA control unit 204 discards the received packet (S409: Yes), in S411 the timestamp deletion processing unit 217 receives a discard notification from the DMA control unit 204 and deletes the received timestamp from the timestamp storage unit 215. The deleted received timestamp is the received timestamp stored in association with the packet identifier of the discarded received packet.

S408における振分処理、S410におけるDMA転送、およびS411における受信タイムスタンプの削除の後はS412に進み、S403~S411の一連の処理フローを継続するか否かが判定される。外部機器との通信状態を終了させる要因が発生した場合(S412:No)、S413で図4の処理が終了する。当該要因が発生しない場合(S412:Yes)、S403へ処理が戻る。 After the sorting process in S408, the DMA transfer in S410, and the deletion of the reception timestamp in S411, the process proceeds to S412, where it is determined whether or not to continue the series of processing flows from S403 to S411. If a factor that ends communication with the external device occurs (S412: No), the process in FIG. 4 ends in S413. If no such factor occurs (S412: Yes), the process returns to S403.

<振分処理のフロー>
次に、図4のS408でタイムスタンプ振分処理部214によって実行される振分処理について説明する。
<Flow of sorting process>
Next, the allocation process executed by the time stamp allocation processor 214 in S408 of FIG. 4 will be described.

図5は、受信タイムスタンプの振分処理を示すフローチャートである。
図5の振分処理は、図4のS404で受信タイムスタンプがタイムスタンプ一時記憶部211に格納され、S406でパケットの種類とケット識別子が解析結果記憶部213に格納されると開始される(S501)。
FIG. 5 is a flowchart showing the allocation process of received time stamps.
The sorting process in FIG. 5 starts when the reception timestamp is stored in the timestamp temporary storage unit 211 in S404 in FIG. 4, and the packet type and packet identifier are stored in the analysis result storage unit 213 in S406 (S501).

S502では、解析結果記憶部213に格納されたパケットの種類が映像パケットであるか否かが判定される。映像パケットの場合(S502:Yes)、S503に進み、映像パケットの受信タイムスタンプを破棄するか否かが判定される。タイムスタンプ振分処理部214は、映像パケットの受信タイムスタンプについて、CPU200が予めレジスタ部216にセットした設定に従って、破棄かタイムスタンプ記憶部215への格納かを決定する。 In S502, it is determined whether the type of packet stored in the analysis result storage unit 213 is a video packet. If it is a video packet (S502: Yes), the process proceeds to S503, where it is determined whether to discard the reception timestamp of the video packet. The timestamp allocation processing unit 214 determines whether to discard or store the reception timestamp of the video packet in the timestamp storage unit 215, according to the settings that the CPU 200 has set in advance in the register unit 216.

S503で、映像パケットの受信タイムスタンプについて、破棄と判定された場合(S503:Yes)、S504に進み、映像パケットの受信タイムスタンプが破棄される。破棄の完了後はS513に進み、図5の処理が終了して図4のS412に進む。
受信タイムスタンプの破棄の具体的な方法としては、例えば、タイムスタンプ振分処理部214が、タイムスタンプ記憶部215のうち破棄用のタイムスタンプ記憶部に受信タイムスタンプを書き込んでもよい。あるいは、タイムスタンプ振分処理部214が、タイムスタンプ記憶部215とは別の破棄用領域に受信タイムスタンプを書き込んでもよいし、一時記憶された受信タイムスタンプを読み捨ててもよい。
In S503, if it is determined that the reception timestamp of the video packet is to be discarded (S503: Yes), the process proceeds to S504, where the reception timestamp of the video packet is discarded. After the discarding is completed, the process proceeds to S513, where the process of Fig. 5 ends, and the process proceeds to S412 of Fig. 4.
As a specific method of discarding the received timestamp, for example, the timestamp allocation processor 214 may write the received timestamp in a timestamp storage section for discarding in the timestamp storage section 215. Alternatively, the timestamp allocation processor 214 may write the received timestamp in a discard area separate from the timestamp storage section 215, or may read and discard the temporarily stored received timestamp.

S503で、映像パケットの受信タイムスタンプについて、タイムスタンプ記憶部215への格納と判定された場合(S503:No)、S505に進み、映像パケットの受信タイムスタンプとパケット識別子がタイムスタンプ記憶部215に格納される。格納の完了後はS513に進み、図5の処理が終了する。 If it is determined in S503 that the reception timestamp of the video packet is to be stored in the timestamp storage unit 215 (S503: No), the process proceeds to S505, where the reception timestamp and packet identifier of the video packet are stored in the timestamp storage unit 215. After storage is complete, the process proceeds to S513, where the process in FIG. 5 ends.

ここで、タイムスタンプ記憶部215への受信タイムスタンプの格納について具体例を説明する。
例えばタイムスタンプ記憶部215にFIFOメモリが3つ用意されている場合、例えばPTPパケットの受信タイムスタンプとパケット識別子が第1のFIFOメモリに振り分けられる。そして、例えば映像パケットの受信タイムスタンプとパケット識別子が第2のFIFOメモリに振り分けられ、PTPパケットおよび映像パケットとは異なる他のパケットの受信タイムスタンプとパケット識別子は、第3のFIFOメモリに振り分ける。
なお、パケットの種類と受信タイムスタンプの記憶先との対応はこれに限らない。パケットの種類と受信タイムスタンプを記憶する記憶先との対応はCPU200が予めレジスタ部216にセットする。
Here, a specific example of storing the reception timestamp in the timestamp storage unit 215 will be described.
For example, if three FIFO memories are provided in the time stamp storage unit 215, the reception time stamp and packet identifier of, for example, a PTP packet are allocated to the first FIFO memory, and the reception time stamp and packet identifier of, for example, a video packet are allocated to the second FIFO memory, and the reception time stamp and packet identifier of a packet other than the PTP packet and the video packet are allocated to the third FIFO memory.
The correspondence between the packet type and the storage destination for storing the reception timestamp is not limited to this. The correspondence between the packet type and the storage destination for storing the reception timestamp is set in the register unit 216 by the CPU 200 in advance.

また、上記の例では受信タイムスタンプとパケット識別子がタイムスタンプ記憶部215の同じFIFOメモリに振り分けているが、受信タイムスタンプとパケット識別子が紐づけされていれば、別の領域に振り分けられて保持されてもよい。
S502で、解析結果記憶部213に格納されたパケットの種類が映像パケットでないと判定された場合(S502:No)、S506に進み、パケットの種類がPTPパケットであるか否かが判定される。
In addition, in the above example, the reception timestamp and the packet identifier are allocated to the same FIFO memory in the timestamp storage unit 215, but as long as the reception timestamp and the packet identifier are linked, they may be allocated and stored in different areas.
If it is determined in S502 that the type of the packet stored in the analysis result storage unit 213 is not a video packet (S502: No), the process proceeds to S506, where it is determined whether or not the type of the packet is a PTP packet.

PTPパケットの場合(S506:Yes)、S507に進み、タイムスタンプ振分処理部214は、PTPパケットの受信タイムスタンプを破棄するか否かを判定する。即ち、CPU200が予めレジスタ部216にセットした設定に従って、PTPパケットの受信タイムスタンプについて、破棄かタイムスタンプ記憶部215への格納かが決定される。ここでは、PTPパケットが時刻同期処理に用いられることが前提であるから、レジスタ部216にセットされた設定は、タイムスタンプ記憶部215への格納を示しているものとする。 If it is a PTP packet (S506: Yes), the process proceeds to S507, where the timestamp allocation processing unit 214 determines whether to discard the reception timestamp of the PTP packet. That is, according to the setting that the CPU 200 has set in advance in the register unit 216, it is determined whether the reception timestamp of the PTP packet is to be discarded or stored in the timestamp storage unit 215. Here, since it is assumed that the PTP packet is used for time synchronization processing, the setting set in the register unit 216 indicates storage in the timestamp storage unit 215.

S507で、PTPパケットの受信タイムスタンプについて、破棄と判定された場合(S507:Yes)、S508に進み、PTPパケットの受信タイムスタンプが破棄される。破棄の完了後はS513に進み、図5の処理が終了して図4のS412に進む。
S507で、PTPパケットの受信タイムスタンプについて、タイムスタンプ記憶部215への格納と判定された場合(S507:No)、S509に進み、PTPパケットの受信タイムスタンプとパケット識別子がタイムスタンプ記憶部215に格納される。格納の完了後はS513に進み、図5の処理が終了する。
In S507, if it is determined that the reception timestamp of the PTP packet is to be discarded (S507: Yes), the process proceeds to S508, where the reception timestamp of the PTP packet is discarded. After the discarding is completed, the process proceeds to S513, where the process of FIG. 5 ends, and the process proceeds to S412 of FIG.
In S507, if it is determined that the reception timestamp of the PTP packet is to be stored in the timestamp storage unit 215 (S507: No), the process proceeds to S509, where the reception timestamp and packet identifier of the PTP packet are stored in the timestamp storage unit 215. After the storage is completed, the process proceeds to S513, where the process in FIG. 5 ends.

S506で、解析結果記憶部213に格納されたパケットの種類がPTPパケットでないと判定された場合(S506:No)、S510に進む。
S510でタイムスタンプ振分処理部214は、映像パケットおよびPTPパケットとは異なる他の受信パケットの受信タイムスタンプについて、破棄するか否かを判定する。即ち、CPU200が予めレジスタ部216にセットした設定に従って、他の受信パケットの受信タイムスタンプについて、破棄かタイムスタンプ記憶部215への格納かが決定される。
In S506, if it is determined that the type of the packet stored in the analysis result storage unit 213 is not a PTP packet (S506: No), the process proceeds to S510.
In S510, the time stamp allocation processing unit 214 determines whether or not to discard the reception time stamps of other received packets other than the video packets and the PTP packets. That is, according to the setting that the CPU 200 has set in advance in the register unit 216, it is determined whether to discard the reception time stamps of the other received packets or to store them in the time stamp storage unit 215.

S510で、映像パケットおよびPTPパケットとは異なる他の受信パケットの受信タイムスタンプについて、破棄と判定された場合(S510:Yes)、S511に進み、受信タイムスタンプが破棄される。破棄の完了後はS513に進み、図5の処理が終了して図4のS412に進む。 If it is determined in S510 that the reception timestamp of a received packet other than the video packet and the PTP packet is to be discarded (S510: Yes), the process proceeds to S511, where the reception timestamp is discarded. After the discarding is complete, the process proceeds to S513, where the process in FIG. 5 ends, and the process proceeds to S412 in FIG. 4.

S510で、映像パケットおよびPTPパケットとは異なる他の受信パケットの受信タイムスタンプについて、タイムスタンプ記憶部215への格納と判定された場合(S510:No)、S512に進む。そしてS512では、受信タイムスタンプとパケット識別子がタイムスタンプ記憶部215に格納される。格納の完了後はS513に進み、図5の処理が終了する。 If it is determined in S510 that the reception timestamp of a received packet other than the video packet and the PTP packet is to be stored in the timestamp storage unit 215 (S510: No), the process proceeds to S512. In S512, the reception timestamp and the packet identifier are stored in the timestamp storage unit 215. After the storage is completed, the process proceeds to S513, and the process in FIG. 5 ends.

<転送処理のフロー>
次に、図4のS410でDMA制御部204によって実行される転送処理について説明する。
図6は、受信パケットの転送処理を示すフローチャートである。
図6に示す転送処理は、図4のS409で受信パケットを破棄しないと判定された場合に開始される(S601)。
S602では、解析部212の解析結果のうちパケットの種類が映像パケットであるか否かが判定される。パケットの種類が映像パケットである場合(S602:Yes)、映像パケット用ディスクリプタを使用する通知を解析部212からDMA制御部204が受信したことに相当し、S603に進む。
<Transfer process flow>
Next, the transfer process executed by the DMA control unit 204 in S410 of FIG. 4 will be described.
FIG. 6 is a flowchart showing a transfer process of a received packet.
The transfer process shown in FIG. 6 is started when it is determined in S409 in FIG. 4 that the received packet is not to be discarded (S601).
In S602, it is determined whether or not the type of the packet is a video packet based on the analysis result of the analysis unit 212. If the type of the packet is a video packet (S602: Yes), this corresponds to the DMA control unit 204 receiving a notification from the analysis unit 212 that a video packet descriptor is to be used, and the process proceeds to S603.

S603では、映像パケット用ディスクリプタが選択され、第一記憶部202および第二記憶部203のうち映像パケット用ディスクリプタに対応した第二記憶部203にパケットがDMA転送される。DMA転送が開始されるとS607に進み、図6の処理が終了して、図4のS412に進む。 In S603, a video packet descriptor is selected, and the packet is DMA-transferred to the second memory unit 203 that corresponds to the video packet descriptor, out of the first memory unit 202 and the second memory unit 203. When the DMA transfer starts, the process proceeds to S607, the process in FIG. 6 ends, and the process proceeds to S412 in FIG. 4.

S602で、パケットの種類が映像パケットでないと判定された場合(S602:No)、S604に進み、パケットの種類がPTPパケットであるか否かが判定される。
パケットの種類がPTPパケットである場合(S604:Yes)、PTPパケット用ディスクリプタを使用する通知を解析部212からDMA制御部204が受信したことに相当し、S605に進む。
If it is determined in S602 that the type of the packet is not a video packet (S602: No), the process proceeds to S604, where it is determined whether or not the type of the packet is a PTP packet.
If the type of packet is a PTP packet (S604: Yes), this corresponds to the DMA control unit 204 receiving a notification from the analysis unit 212 that a PTP packet descriptor is to be used, and the process proceeds to S605.

S605では、PTPパケット用ディスクリプタが選択され、第一記憶部202および第二記憶部203のうちPTPパケット用ディスクリプタに対応した第一記憶部202にパケットがDMA転送される。DMA転送が開始されるとS607に進み、図6の処理が終了する。
S604で、パケットの種類がPTPパケットでないと判定された場合(S604:No)、映像パケットおよびPTPパケットとは異なる他の受信パケット用ディスクリプタを使用する通知を解析部212からDMA制御部204が受信したことに相当する。
In S605, a PTP packet descriptor is selected, and the packet is DMA-transferred to the first memory unit 202 corresponding to the PTP packet descriptor out of the first memory unit 202 and the second memory unit 203. When the DMA transfer is started, the process proceeds to S607, where the process in FIG. 6 ends.
If it is determined in S604 that the type of packet is not a PTP packet (S604: No), this corresponds to the DMA control unit 204 receiving a notification from the analysis unit 212 to use a descriptor for a received packet other than a video packet and a PTP packet.

この場合、S606に進み、他の受信パケット用ディスクリプタが選択され、第一記憶部202および第二記憶部203のうち他の受信パケット用ディスクリプタに対応した記憶部にパケットがDMA転送される。DMA転送が開始されるとS607に進み、図6の処理が終了する。 In this case, the process proceeds to S606, where another received packet descriptor is selected, and the packet is DMA-transferred to the memory unit corresponding to the other received packet descriptor among the first memory unit 202 and the second memory unit 203. When the DMA transfer is started, the process proceeds to S607, where the process in FIG. 6 ends.

<削除処理のフロー>
次に、図4のS411でタイムスタンプ削除処理部217によって実行される削除処理について説明する。
<Deletion process flow>
Next, the deletion process executed by the time stamp deletion processing unit 217 in S411 of FIG. 4 will be described.

図7は、受信タイムスタンプの削除処理を示すフローチャートである。
図7の削除処理は、図4のS409で、DMA制御部204が受信パケットを破棄したと判定された場合に開始される(S701)。
S702では、破棄した受信パケットの種類とパケット識別子とを含んだ破棄通知がDMA制御部204から受信されるまで待機状態(S702:No)となる。そして、破棄通知が受信される(S702:Yes)と、S703に進み、受信パケットの種類とパケット識別子がタイムスタンプ削除処理部217の内部に保持される。
タイムスタンプ削除処理部217は一例として、パケットの種類ごとにFIFOメモリを有し、パケット識別子を対応するFIFOメモリに保持する。なお、タイムスタンプ削除処理部217は、パケットの種類と対応したFIFOメモリを有さず、パケットの種類とパケット識別子とを対応付けて両方を保持してもよい。
FIG. 7 is a flowchart showing the process of deleting a received time stamp.
The deletion process in FIG. 7 is started when it is determined in S409 in FIG. 4 that the DMA control unit 204 has discarded the received packet (S701).
In S702, the process waits (S702: No) until a discard notification including the type and packet identifier of the discarded received packet is received from the DMA control unit 204. Then, when the discard notification is received (S702: Yes), the process proceeds to S703, where the type and packet identifier of the received packet are held inside the timestamp deletion processing unit 217.
As an example, the time stamp deletion processing unit 217 has a FIFO memory for each type of packet, and stores the packet identifier in the corresponding FIFO memory. Note that the time stamp deletion processing unit 217 may not have a FIFO memory corresponding to the packet type, and may store both the packet type and the packet identifier in association with each other.

S704では、タイムスタンプ記憶部215に格納されたパケット識別子と、タイムスタンプ削除処理部217に保持されたパケット識別子とが一致したか否かが判定される。
ここで、タイムスタンプ記憶部215に格納されているパケット識別子と、タイムスタンプ削除処理部217に保持されたパケット識別子との一致チェックについて具体例を示す。例えば、タイムスタンプ記憶部215にFIFOメモリが受信パケットの種類ごとに、例えばPTPパケット、映像パケット、PTPパケットおよび映像パケット以外のパケット、の3つの種類について用意されているものとする。
In S704, it is determined whether the packet identifier stored in the time stamp storage unit 215 matches the packet identifier held in the time stamp deletion processing unit 217.
Here, a specific example will be given of a match check between the packet identifier stored in the time stamp storage unit 215 and the packet identifier held in the time stamp deletion processing unit 217. For example, it is assumed that the time stamp storage unit 215 has FIFO memories prepared for each type of received packet, for example, three types of packets: PTP packets, video packets, and packets other than PTP packets and video packets.

タイムスタンプ削除処理部217は、パケットの種類ごとにタイムスタンプ記憶部215をチェックする。タイムスタンプ記憶部215は、格納されたパケット識別子を、リード処理の実行を要せずに先読みすることができる。そして、タイムスタンプ削除処理部217は、先読みされたパケット識別子と、保持されたパケット識別子との一致チェックを実行し、不一致の場合(S704:No)、次の種類について一致チェックを実行する。 The timestamp deletion processing unit 217 checks the timestamp storage unit 215 for each type of packet. The timestamp storage unit 215 can pre-read the stored packet identifier without the need to execute a read process. The timestamp deletion processing unit 217 then performs a match check between the pre-read packet identifier and the held packet identifier, and if there is a mismatch (S704: No), performs a match check for the next type.

S704で、2つのパケット識別子が一致した場合(S704:Yes)、S705に進み、タイムスタンプ記憶部215に格納された受信タイムスタンプとパケット識別子が削除される。削除後はS706に進み、図7の削除処理が終了して、図4のS412に進む。 If the two packet identifiers match in S704 (S704: Yes), the process proceeds to S705, where the reception timestamp and packet identifier stored in the timestamp storage unit 215 are deleted. After the deletion, the process proceeds to S706, where the deletion process in FIG. 7 ends, and the process proceeds to S412 in FIG. 4.

<時刻同期処理のフロー>
次に、CPU200がセンサシステム110内の時刻をタイムサーバ101の時刻に同期させる時刻同期処理について説明する。
<Time synchronization process flow>
Next, a time synchronization process in which the CPU 200 synchronizes the time in the sensor system 110 with the time of the time server 101 will be described.

図8は、時刻同期処理を示すフローチャートである。
図8の時刻同期処理は、同期撮影システム100において、PTPマスタとしてタイムサーバ101が決定され、PTPスレーブとしてセンサシステム110が決定された後に開始される(S801)。
FIG. 8 is a flowchart showing the time synchronization process.
The time synchronization process in FIG. 8 is started after the time server 101 is determined as the PTP master and the sensor system 110 is determined as the PTP slave in the synchronous photography system 100 (S801).

S802では、センサシステム110がタイムサーバ101からSyncパケットおよびFollow_Upパケットを受信するまで待機状態(S802:No)となる。SyncパケットおよびFollow_Upパケットが受信された場合(S802:Yes)、S803およびS804に進む。 In S802, the sensor system 110 waits (S802: No) until it receives a Sync packet and a Follow_Up packet from the time server 101. If the Sync packet and the Follow_Up packet are received (S802: Yes), the process proceeds to S803 and S804.

S803では、受信されたSyncパケットおよびFollow_Upのタイムスタンプが取得される。
具体的には、PHY/MAC205がS802で受信したSyncパケットに対し、パケット解析処理部210により受信タイムスタンプt2がタイムスタンプ記憶部215に格納される。また、DMA制御部204によるSyncパケットのDMA転送が完了すると完了割り込み207が通知される。そして完了割り込み207を受信したCPU200は、タイムスタンプ記憶部215に格納された受信タイムスタンプt2をS803で取得する。
In S803, the timestamps of the received Sync packet and Follow_Up packet are obtained.
Specifically, for the Sync packet received by the PHY/MAC 205 in S802, the packet analysis processing unit 210 stores a reception timestamp t2 in the timestamp storage unit 215. Furthermore, when the DMA transfer of the Sync packet by the DMA control unit 204 is completed, a completion interrupt 207 is notified. Then, upon receiving the completion interrupt 207, the CPU 200 acquires the reception timestamp t2 stored in the timestamp storage unit 215 in S803.

なお、SyncパケットがDMA制御部204で破棄された場合、タイムスタンプ記憶部215には受信タイムスタンプt2が格納されるが、完了割り込み207はCPU200に通知されない。このため、図7の削除処理でタイムスタンプ削除処理部217が破棄通知を受信して、タイムスタンプ記憶部215に格納された受信タイムスタンプt2の削除を実施することで受信タイムスタンプt2の余りが回避される。 When a Sync packet is discarded by the DMA control unit 204, the reception timestamp t2 is stored in the timestamp storage unit 215, but the completion interrupt 207 is not notified to the CPU 200. Therefore, in the deletion process of FIG. 7, the timestamp deletion processing unit 217 receives the discard notification and deletes the reception timestamp t2 stored in the timestamp storage unit 215, thereby avoiding the remaining reception timestamp t2.

タイムサーバ101は、図3に示すようにSyncパケットの送信タイムスタンプt1をFollow_Upパケットに載せて送信する。そしてPHY/MAC205がS802でFollow_Upパケットを受信すると、Follow_UpパケットはDMA制御部204により第一記憶部202にDMA転送される。また、完了割り込み207を受信したCPU200はS803で、受信したFollow_Upパケットから送信タイムスタンプt1を取得する。タイムスタンプ情報t1、t2の取得が完了するとS808に進む。 As shown in FIG. 3, the time server 101 transmits a Follow_Up packet containing the transmission timestamp t1 of the Sync packet. When the PHY/MAC 205 receives the Follow_Up packet in S802, the Follow_Up packet is DMA-transferred to the first memory unit 202 by the DMA control unit 204. In addition, the CPU 200, which has received the completion interrupt 207, obtains the transmission timestamp t1 from the received Follow_Up packet in S803. When the acquisition of the timestamp information t1 and t2 is completed, the process proceeds to S808.

S803と並行してS804では、CPU200がDelay_Requestパケットを生成してタイムサーバ101に対して送信する。送信に際してCPU200は、Delay_Requestパケットの送信時刻を表す送信タイムスタンプ情報t3を取得する。Delay_Requestパケットの送信が完了するとS805に進み、CPU200がタイムサーバ101からDelay_Responseパケットを受信したか否かが判定される。 In parallel with S803, in S804, the CPU 200 generates a Delay_Request packet and transmits it to the time server 101. During transmission, the CPU 200 acquires transmission timestamp information t3 indicating the transmission time of the Delay_Request packet. When transmission of the Delay_Request packet is completed, the process proceeds to S805, where it is determined whether the CPU 200 has received a Delay_Response packet from the time server 101.

Delay_Responseパケットが受信されない場合(S805:No)、S806に進み、一定時間経過するまで受信が待機される(S806:No)。そして、受信なしで一定時間経過した場合(S806:Yes)、S802に戻る。
S805でDelay_Responseパケットが受信された場合(S805:Yes)、S807に進み、CPU200がDelay_Responseパケットから受信タイムスタンプt4を取得する。
If the Delay_Response packet is not received (S805: No), the process proceeds to S806, where reception is awaited until a certain period of time has elapsed (S806: No).If the certain period of time has elapsed without reception (S806: Yes), the process returns to S802.
If a Delay_Response packet has been received in S805 (S805: Yes), the process proceeds to S807, where the CPU 200 acquires a reception timestamp t4 from the Delay_Response packet.

具体的には、PHY/MAC205で受信されたDelay_Responseパケットは、DMA制御部204によって第一記憶部202にDMA転送される。Delay_Responseパケットには、Delay_Requestパケットをタイムサーバ101が受信した時刻を表す受信タイムスタンプt4が載っている。そしてCPU200は、Delay_Requestパケットの受信タイムスタンプt4をDelay_Responseパケットから取得する。 Specifically, the Delay_Response packet received by the PHY/MAC 205 is DMA-transferred to the first memory unit 202 by the DMA control unit 204. The Delay_Response packet includes a reception timestamp t4 indicating the time when the Delay_Request packet was received by the time server 101. The CPU 200 then obtains the reception timestamp t4 of the Delay_Request packet from the Delay_Response packet.

CPU200が受信タイムスタンプt4を取得するとS808に進み、取得されたタイムスタンプt1~t4が用いられて、タイムサーバ101の時刻とセンサシステム110の時刻との時刻差が計算されて補正量が決定される。補正量が決定されるとS809に進み、決定された補正量に従ってセンサシステム110の時刻が補正される。
S809の時刻補正が完了することで、センサシステム110の時刻はタイムサーバ101の時刻と同期する。図7の削除処理が実行されることにより、タイムスタンプ記憶部215における受信タイムスタンプt2の余りが回避されるため、S808では正確な補正量が決定され、S809では時刻が正しく補正される。
When the CPU 200 acquires the reception timestamp t4, the process proceeds to S808, where the acquired timestamps t1 to t4 are used to calculate the time difference between the time of the time server 101 and the time of the sensor system 110, and the amount of correction is determined. Once the amount of correction has been determined, the process proceeds to S809, where the time of the sensor system 110 is corrected according to the determined amount of correction.
When the time correction in S809 is completed, the time of the sensor system 110 is synchronized with the time of the time server 101. Since the remaining received timestamp t2 in the timestamp storage unit 215 is avoided by executing the deletion process in Fig. 7, an accurate correction amount is determined in S808, and the time is correctly corrected in S809.

なお、時刻補正において一度に補正する量が大きい場合、センサシステム110全体の動作が不安定になる虞がある。そのため、時刻補正では、一定時間をかけて徐々に補正されてもよいし、あるいは一度に補正する量が制限されてもよい。
時刻補正後はS810に進み、センサシステム110が継続して稼働し続けるか否かが判定される。例えば、制御端末103が、センサシステム110a~110zの全体の同期処理を停止する場合や、センサシステム110a~110zのうち指定されたものについて同期処理を停止する場合に、稼働停止(S810:No)となる。稼働停止の場合(S810:No)、図8の同期処理が終了し(S811)、可動継続の場合(S810:Yes)、S802に戻る。
Note that if the amount of time correction performed at one time is large, there is a risk of it destabilizing the operation of the entire sensor system 110. Therefore, the time may be corrected gradually over a certain period of time, or the amount of time correction performed at one time may be limited.
After the time correction, the process proceeds to S810, where it is determined whether the sensor system 110 continues to operate. For example, when the control terminal 103 stops the synchronization process for all of the sensor systems 110a to 110z, or when the control terminal 103 stops the synchronization process for a specified one of the sensor systems 110a to 110z, the operation is stopped (S810: No). When the operation is stopped (S810: No), the synchronization process in FIG. 8 ends (S811), and when the operation is to continue (S810: Yes), the process returns to S802.

<その他の実施形態>
本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)などとしての実施形態をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、Webアプリケーションなど)から構成されるシステムに適用されてもよいし、また、1つの機器からなる装置に適用されてもよい。
<Other embodiments>
The present invention can be embodied as, for example, a system, an apparatus, a method, a program, or a recording medium (storage medium), etc. Specifically, the present invention may be applied to a system composed of multiple devices (for example, a host computer, an interface device, a Web application, etc.), or may be applied to an apparatus composed of a single device.

また本発明は、上述した実施形態の1以上の機能を実現するプログラム(コンピュータプログラム)を、ネットワークまたは記録媒体(記憶媒体)を介して、システムまたは装置に供給することによっても実現可能である。そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する。この場合、記録媒体から読み出されたプログラム(プログラムコード)自体が実施形態の機能を実現することになる。また、当該プログラムを記録した記録媒体は本発明を構成することができる。 The present invention can also be realized by supplying a program (computer program) that realizes one or more of the functions of the above-mentioned embodiments to a system or device via a network or recording medium (storage medium). One or more processors in the computer of the system or device read and execute the program. In this case, the program (program code) read from the recording medium itself realizes the functions of the embodiment. Furthermore, the recording medium on which the program is recorded can constitute the present invention.

また、コンピュータが読み出したプログラムを実行することにより、実施形態の機能が実現されるだけでなく、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって上記した実施形態の機能が実現されてもよい。 In addition, not only can the functions of the embodiments be realized by the computer executing a program it has read, but the functions of the above-described embodiments can also be realized by an operating system (OS) running on the computer performing some or all of the actual processing based on instructions from the program.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されてもよい。 Furthermore, the program read from the recording medium may be written into a memory provided on a function expansion card inserted into a computer or a function expansion unit connected to the computer, and then a CPU provided on the function expansion card or function expansion unit may perform some or all of the actual processing based on the instructions of the program, thereby realizing the functions of the above-mentioned embodiments.

本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムが格納されることになる。
なお、上記実施形態の開示は、以下の構成および方法を含む。
When the present invention is applied to the above-mentioned recording medium, the recording medium stores a program corresponding to the flowchart described above.
The disclosure of the above embodiment includes the following configurations and methods.

(構成1)
パケットを受信して、受信時刻を表したタイムスタンプを出力する受信手段と、
受信された前記パケットを所定のメモリに転送する転送手段と、
出力された前記タイムスタンプを記憶する記憶手段と、
前記パケットが破棄された場合、破棄されたパケットに対応する前記タイムスタンプを前記記憶手段から削除する削除手段と、
を備えることを特徴とする通信装置。
(Configuration 1)
a receiving means for receiving a packet and outputting a timestamp indicating a time of reception;
A transfer means for transferring the received packet to a predetermined memory;
A storage means for storing the output time stamp;
a deletion means for deleting, when the packet is discarded, the time stamp corresponding to the discarded packet from the storage means;
A communication device comprising:

(構成2)
前記メモリに転送された前記パケットと、当該パケットに対応した前記タイムスタンプとを用いて時刻同期処理を実行する同期手段を更に備えることを特徴とする構成1に記載の通信装置。
(Configuration 2)
2. The communication device according to claim 1, further comprising: a synchronization unit that executes a time synchronization process using the packet transferred to the memory and the time stamp corresponding to the packet.

(構成3)
前記同期手段は、前記転送手段による転送完了の通知を受けて前記時刻同期処理を実行することを特徴とする構成2に記載の通信装置。
(Configuration 3)
3. The communication device according to claim 2, wherein the synchronization means executes the time synchronization process upon receiving a notification of completion of transfer by the transfer means.

(構成4)
前記削除手段は、前記パケットが破棄された場合、前記同期手段による前記時刻同期処理の実行前に前記タイムスタンプを削除することを特徴とする構成2または3に記載の通信装置。
(Configuration 4)
4. The communication device according to claim 2, wherein the deletion means deletes the time stamp before the synchronization means executes the time synchronization process if the packet is discarded.

(構成5)
前記記憶手段は、前記パケットを識別する識別子と対応付けて前記タイムスタンプを記憶し、
前記削除手段は、破棄された前記パケットの前記識別子と対応付けて記憶された前記タイムスタンプを削除することを特徴とする構成1から4のいずれかに記載の通信装置。
(Configuration 5)
the storage means stores the time stamp in association with an identifier for identifying the packet;
5. The communication device according to claim 1, wherein the deletion means deletes the timestamp stored in association with the identifier of the discarded packet.

(構成6)
前記転送手段は、前記パケットを破棄した場合、破棄した前記パケットを識別する識別子を出力し、
前記削除手段は、前記転送手段が出力した識別子と一致する識別子に対応付けられて前記記憶手段に記憶された前記タイムスタンプを削除することを特徴とする構成5に記載の通信装置。
(Configuration 6)
When the forwarding means discards the packet, the forwarding means outputs an identifier for identifying the discarded packet;
6. The communication device according to claim 5, wherein the deletion means deletes the time stamp stored in the storage means in association with an identifier that matches the identifier output by the transfer means.

(構成7)
前記削除手段は、前記記憶手段に記憶された前記タイムスタンプが対応する識別子を監視して前記転送手段が出力した識別子と照合することを特徴とする構成6に記載の通信装置。
(Configuration 7)
7. The communication device according to claim 6, wherein the deletion means monitors the identifier corresponding to the time stamp stored in the storage means and compares the identifier with the identifier output by the transfer means.

(構成8)
前記識別子は、前記パケットに含まれた情報であり、
受信された前記パケットから前記識別子を解析する解析手段を更に備えたことを特徴とする構成5から7のいずれかに記載の通信装置。
(Configuration 8)
the identifier is information included in the packet,
8. The communication device according to any one of configurations 5 to 7, further comprising an analyzing means for analyzing the identifier from the received packet.

(構成9)
前記解析手段は、前記パケットの、ヘッダ領域、ペイロード領域および末尾のいずれかについて前記識別子を解析することを特徴とする構成8に記載の通信装置。
(Configuration 9)
9. The communication device according to claim 8, wherein the analyzing means analyzes the identifier in any one of a header area, a payload area, and an end area of the packet.

(構成10)
前記パケットの種類を判別する判別手段を更に備え、
前記記憶手段は、前記パケットのうち少なくとも、時刻同期処理に用いられる種類のパケットについては、対応するタイムスタンプを記憶することを特徴とする構成1から9のいずれかに記載の通信装置。
(Configuration 10)
The method further includes: determining a type of the packet;
10. The communication device according to any one of configurations 1 to 9, wherein the storage means stores a corresponding time stamp for at least a type of packet used in time synchronization processing among the packets.

(構成11)
前記記憶手段は、前記タイムスタンプを前記種類ごとに分けて記憶することを特徴とする構成10に記載の通信装置。
(Configuration 11)
11. The communication device according to configuration 10, wherein the storage means stores the time stamps by classifying them according to their types.

(構成12)
前記記憶手段は、リード処理の実行を要せずにデータの先読みが可能なFIFOメモリからなることを特徴とする構成1から11のいずれかに記載の通信装置。
(Configuration 12)
12. The communication device according to any one of configurations 1 to 11, wherein the storage means is a FIFO memory capable of pre-reading data without the need to execute a read process.

(構成13)
前記転送手段は、前記パケットを前記メモリに転送するためのディスクリプタがセットされていない場合、受信された前記パケットを破棄することを特徴とする構成1から12のいずれかに記載の通信装置。
(Configuration 13)
13. The communication device according to any one of configurations 1 to 12, wherein the transfer means discards the received packet if a descriptor for transferring the packet to the memory is not set.

(構成14)
前記転送手段は、受信された前記パケットの長さがIEEE802.3に規定の最小長より短い場合、受信された前記パケットを破棄することを特徴とする構成1から13のいずれかに記載の通信装置。
(Configuration 14)
14. The communication device according to any one of configurations 1 to 13, wherein the transfer means discards the received packet if the length of the received packet is shorter than a minimum length defined in IEEE 802.3.

(構成15)
通信線を介してデイジーチェーン接続された複数の、構成1から14のいずれかに記載の通信装置と、
複数の前記通信装置のそれぞれと前記パケットを通信するサーバ装置と、
を備えることを特徴とする通信システム。
(Configuration 15)
A plurality of communication devices according to any one of configurations 1 to 14, which are daisy-chained via a communication line;
a server device that communicates the packets with each of the plurality of communication devices;
A communication system comprising:

(方法1)
パケットを受信して、受信時刻を表したタイムスタンプを出力する受信ステップと、
受信された前記パケットをメモリに転送する転送ステップと、
出力された前記タイムスタンプを記憶手段に記憶する記憶ステップと、
前記転送ステップで前記パケットが破棄された場合、破棄されたパケットに対応する前記タイムスタンプを前記記憶手段から削除する削除ステップと、
を有することを特徴とする通信方法。
(Method 1)
a receiving step of receiving a packet and outputting a timestamp indicating a time of reception;
a transfer step of transferring the received packet to a memory;
a storage step of storing the output time stamp in a storage means;
a deletion step of deleting the timestamp corresponding to the discarded packet from the storage means when the packet is discarded in the transfer step;
A communication method comprising:

(構成16)
コンピュータを構成1から14のいずれかに記載の通信装置の各手段として機能させるためのプログラム。
(Configuration 16)
A program for causing a computer to function as each of the means of the communication device according to any one of configurations 1 to 14.

100…同期撮影システム、101…タイムサーバ、102…ハブ、103…制御端末、104…画像コンピューティングサーバ、105…ユーザ端末、110a~110z…センサシステム、107…GNSS、111…カメラ、112…カメラアダプタ、200…CPU、201…映像パケット処理部、202…第一記憶部、203…第二記憶部、204…DMA制御部、205…PHY/MAC部、206…システムバス、207…完了割り込み、208…ネットワーク、209…画像伝送用ケーブル、210…パケット解析処理部、211…タイムスタンプ一時記憶部、212…解析部、213…解析結果記憶部、214…タイムスタンプ振分処理部、215…タイムスタンプ記憶部、216…レジスタ部、217…タイムスタンプ削除処理部 100...Synchronized shooting system, 101...Time server, 102...Hub, 103...Control terminal, 104...Image computing server, 105...User terminal, 110a-110z...Sensor system, 107...GNSS, 111...Camera, 112...Camera adapter, 200...CPU, 201...Video packet processing unit, 202...First memory unit, 203...Second memory unit, 204...DMA control unit, 205...PHY/MAC unit, 206...System bus, 207...Completion interrupt, 208...Network, 209...Image transmission cable, 210...Packet analysis processing unit, 211...Temporary timestamp storage unit, 212...Analysis unit, 213...Analysis result storage unit, 214...Timestamp allocation processing unit, 215...Timestamp storage unit, 216...Register unit, 217...Timestamp deletion processing unit

Claims (17)

パケットを受信して、受信時刻を表したタイムスタンプを出力する受信手段と、
受信された前記パケットを所定のメモリに転送する転送手段と、
出力された前記タイムスタンプを記憶する記憶手段と、
前記パケットが破棄された場合、破棄されたパケットに対応する前記タイムスタンプを前記記憶手段から削除する削除手段と、
を備えることを特徴とする通信装置。
a receiving means for receiving a packet and outputting a timestamp indicating a time of reception;
A transfer means for transferring the received packet to a predetermined memory;
A storage means for storing the output time stamp;
a deletion means for deleting, when the packet is discarded, the time stamp corresponding to the discarded packet from the storage means;
A communication device comprising:
前記メモリに転送された前記パケットと、当該パケットに対応した前記タイムスタンプとを用いて時刻同期処理を実行する同期手段を更に備えることを特徴とする請求項1に記載の通信装置。 The communication device according to claim 1, further comprising a synchronization means for performing time synchronization processing using the packet transferred to the memory and the timestamp corresponding to the packet. 前記同期手段は、前記転送手段による転送完了の通知を受けて前記時刻同期処理を実行することを特徴とする請求項2に記載の通信装置。 The communication device according to claim 2, characterized in that the synchronization means executes the time synchronization process upon receiving a notification of completion of transfer by the transfer means. 前記削除手段は、前記パケットが破棄された場合、前記同期手段による前記時刻同期処理の実行前に前記タイムスタンプを削除することを特徴とする請求項2に記載の通信装置。 The communication device according to claim 2, characterized in that, if the packet is discarded, the deletion means deletes the timestamp before the synchronization means executes the time synchronization process. 前記記憶手段は、前記パケットを識別する識別子と対応付けて前記タイムスタンプを記憶し、
前記削除手段は、破棄された前記パケットの前記識別子と対応付けて記憶された前記タイムスタンプを削除することを特徴とする請求項1に記載の通信装置。
the storage means stores the time stamp in association with an identifier for identifying the packet;
2. The communication device according to claim 1, wherein the deletion means deletes the timestamp stored in association with the identifier of the discarded packet.
前記転送手段は、前記パケットを破棄した場合、破棄した前記パケットを識別する識別子を出力し、
前記削除手段は、前記転送手段が出力した識別子と一致する識別子に対応付けられて前記記憶手段に記憶された前記タイムスタンプを削除することを特徴とする請求項5に記載の通信装置。
When the forwarding means discards the packet, the forwarding means outputs an identifier for identifying the discarded packet;
6. The communication device according to claim 5, wherein the deletion means deletes the time stamp stored in the storage means in association with an identifier that matches the identifier output by the transfer means.
前記削除手段は、前記記憶手段に記憶された前記タイムスタンプが対応する識別子を監視して前記転送手段が出力した識別子と照合することを特徴とする請求項6に記載の通信装置。 The communication device according to claim 6, characterized in that the deletion means monitors the identifier corresponding to the timestamp stored in the storage means and compares it with the identifier output by the transfer means. 前記識別子は、前記パケットに含まれた情報であり、
受信された前記パケットから前記識別子を解析する解析手段を更に備えたことを特徴とする請求項5に記載の通信装置。
the identifier is information included in the packet,
6. The communication device according to claim 5, further comprising an analyzing unit for analyzing the identifier from the received packet.
前記解析手段は、前記パケットの、ヘッダ領域、ペイロード領域および末尾のいずれかについて前記識別子を解析することを特徴とする請求項8に記載の通信装置。 The communication device according to claim 8, characterized in that the analysis means analyzes the identifier in any one of a header area, a payload area, and an end area of the packet. 前記パケットの種類を判別する判別手段を更に備え、
前記記憶手段は、前記パケットのうち少なくとも、時刻同期処理に用いられる種類のパケットについては、対応するタイムスタンプを記憶することを特徴とする請求項1に記載の通信装置。
The method further includes: determining a type of the packet;
2. The communication device according to claim 1, wherein the storage means stores a corresponding time stamp for at least a type of packet used in time synchronization processing among the packets.
前記記憶手段は、前記タイムスタンプを前記種類ごとに分けて記憶することを特徴とする請求項10に記載の通信装置。 The communication device according to claim 10, characterized in that the storage means stores the timestamps by type. 前記記憶手段は、リード処理の実行を要せずにデータの先読みが可能なFIFOメモリからなることを特徴とする請求項1に記載の通信装置。 The communication device according to claim 1, characterized in that the storage means is a FIFO memory capable of pre-reading data without the need to execute a read process. 前記転送手段は、前記パケットを前記メモリに転送するためのディスクリプタがセットされていない場合、受信された前記パケットを破棄することを特徴とする請求項1に記載の通信装置。 The communication device according to claim 1, characterized in that the transfer means discards the received packet if a descriptor for transferring the packet to the memory is not set. 前記転送手段は、受信された前記パケットの長さがIEEE802.3に規定の最小長より短い場合、受信された前記パケットを破棄することを特徴とする請求項1に記載の通信装置。 The communication device according to claim 1, characterized in that the forwarding means discards the received packet if the length of the received packet is shorter than the minimum length specified in IEEE 802.3. 通信線を介してデイジーチェーン接続された複数の、請求項1から14のいずれか1項に記載の通信装置と、
複数の前記通信装置のそれぞれと前記パケットを通信するサーバ装置と、
を備えることを特徴とする通信システム。
A plurality of communication devices according to any one of claims 1 to 14, which are daisy-chained via a communication line;
a server device that communicates the packets with each of the plurality of communication devices;
A communication system comprising:
パケットを受信して、受信時刻を表したタイムスタンプを出力する受信ステップと、
受信された前記パケットをメモリに転送する転送ステップと、
出力された前記タイムスタンプを記憶手段に記憶する記憶ステップと、
前記転送ステップで前記パケットが破棄された場合、破棄されたパケットに対応する前記タイムスタンプを前記記憶手段から削除する削除ステップと、
を有することを特徴とする通信方法。
a receiving step of receiving a packet and outputting a timestamp indicating a time of reception;
a transfer step of transferring the received packet to a memory;
a storage step of storing the output time stamp in a storage means;
a deletion step of deleting the timestamp corresponding to the discarded packet from the storage means when the packet is discarded in the transfer step;
A communication method comprising:
コンピュータを請求項1から14のいずれか1項に記載の通信装置の各手段として機能させるためのプログラム。 A program for causing a computer to function as each of the means of a communication device according to any one of claims 1 to 14.
JP2023060557A 2023-04-04 2023-04-04 COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM Pending JP2024147867A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023060557A JP2024147867A (en) 2023-04-04 2023-04-04 COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023060557A JP2024147867A (en) 2023-04-04 2023-04-04 COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM

Publications (1)

Publication Number Publication Date
JP2024147867A true JP2024147867A (en) 2024-10-17

Family

ID=93061295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023060557A Pending JP2024147867A (en) 2023-04-04 2023-04-04 COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP2024147867A (en)

Similar Documents

Publication Publication Date Title
US11809367B2 (en) Programmed input/output mode
US8549341B2 (en) System and method for reducing latency associated with timestamps in a multi-core, multi-threaded processor
US8953644B2 (en) Multi-protocol I/O interconnect time synchronization
CN114185829B (en) Shared resources for multiple communication services
EP2798506B1 (en) Multi-protocol i/o interconnect time synchronization
US10104206B2 (en) Network module for sending and/or receiving of data packages from a network arrangement and method
US20200293318A1 (en) Buffer Allocation with Memory-based Configuration
US8392742B2 (en) Cyclemaster synchronization in a distributed bridge
CN108737809B (en) Remote synchronous image acquisition method
JP2024147867A (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
JP2022168409A (en) Communication device, control method for the same, and program
US20230032204A1 (en) Communication apparatus, communication method, and storage medium
WO2014137008A1 (en) System and method for sharing graphic resource
US20230155949A1 (en) Communication apparatus, control method for communication apparatus, and storage medium
JP2024048661A (en) Communication device and control method for the same
WO2020211408A1 (en) Data transmission method and system during image collection process, and related apparatus
JP2024119485A (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
JP2024054943A (en) Communication device and control method therefor
JP2024074327A (en) Communication device, transmission system, control method for communication device, and program
JP2023097645A (en) Communication device, control method of communication device and program
US20240214507A1 (en) Communication control apparatus, communication apparatus, communication system, communication method, and storage medium
JP2022169044A (en) Communication device and method for controlling the same
JP3977594B2 (en) Data frame display time calculation method and data stream transmission device

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20240614