JP2021044629A - ネットワークシステム、送信装置及び受信装置 - Google Patents
ネットワークシステム、送信装置及び受信装置 Download PDFInfo
- Publication number
- JP2021044629A JP2021044629A JP2019163394A JP2019163394A JP2021044629A JP 2021044629 A JP2021044629 A JP 2021044629A JP 2019163394 A JP2019163394 A JP 2019163394A JP 2019163394 A JP2019163394 A JP 2019163394A JP 2021044629 A JP2021044629 A JP 2021044629A
- Authority
- JP
- Japan
- Prior art keywords
- time
- clock
- frame
- timing
- current 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/067—Details of the timestamp structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0673—Clock or time synchronisation among packet nodes using intermediate nodes, e.g. modification of a received timestamp before further transmission to the next packet node, e.g. including internal delay time or residence time into the packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/38—Transmitter circuitry for the transmission of television signals according to analogue transmission standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】時刻同期のためのプロトコルの稼働前あるいは不稼働下において、装置間でクロック同期を迅速に実行することができるネットワークシステム、送信装置及び受信装置を提供する。【解決手段】実施形態によれば、ネットワークを経由して、音声データと映像データの少なくとも1つのデータをノードAからノードBへ送信するネットワークシステム1のノードBは、音声データなどを再生するためのクロック信号MCLK2を生成するメディアクロック生成部76と、gPTPクロック制御部83を有する。gPTPクロック制御部83は、受信した拡張CRFフレーム中に含まれるノードAの現在時刻に基づく送信時刻と、拡張CRFフレームを受信したときのノードBの現在時刻に基づく受信時刻と、ノードAからノードBへ送信されるまでの遅延時間とに基づいて、ノードBの現在時刻をノードAの現在時刻に同期させる。【選択図】図6
Description
本発明の実施形態は、ネットワークシステム、送信装置及び受信装置に関する。
音声データ及び映像データを複数の装置間で送受信するネットワークシステムがある。このようなネットワークシステムは、種々の機能の実現のために、装置間で時刻同期機能を有する。
しかし、時刻同期のためのプロトコルの稼働完了までは、音声データ出力などはできず、時刻同期プロトコル処理に時間がかかる場合、音声データなどの出力処理を迅速に実行することができない。
そこで、実施形態は、時刻同期のためのプロトコルの稼働前あるいは不稼働下において、装置間でクロック同期を迅速に実行することができるネットワークシステム、送信装置及び受信装置を提供することを目的とする。
実施形態のネットワークシステムは、ネットワークを経由して、音声データと映像データの少なくとも1つのデータを第1装置から第2装置へ送信するネットワークシステムであって、前記第1装置は、第1現在時刻を保持する第1現在時刻保持回路と、前記少なくとも1つのデータを再生するための第1クロック信号を生成する第1クロック生成回路と、所定のフレームを第1のタイミングで送信するフレーム送信部であって、前記所定のフレームが前記第1のタイミングよりも前の第2のタイミングで送信されたときの前記第1現在時刻に基づく送信時刻を含む前記所定のフレームを、前記ネットワークを介して前記第1のタイミングで前記第2装置へ送信するフレーム送信部と、を有し、前記第2装置は、第2現在時刻を保持する第2現在時刻情報保持回路と、前記少なくとも1つのデータを再生するための第2クロック信号を生成する第2クロック生成回路と、前記ネットワークを介して前記所定のフレームを受信するフレーム受信部と、前記所定のフレーム中に含まれる前記送信時刻と、前記第2のタイミングで送信された前記所定のフレームを第3のタイミングで受信したときの前記第2現在時刻に基づく受信時刻と、前記所定のフレーム中に含まれる前記所定のフレームが前記ネットワークを経由して前記第1装置から前記第2装置へ送信されるまでの遅延時間とに基づいて、前記第2現在時刻を前記第1現在時刻に同期させる第1クロック同期部と、を有する。
以下、図面を参照して実施形態を説明する。
(第1の実施形態)
(構成)
[1]システム構成
はじめに、本実施形態のネットワークシステムの簡単な機能構成について説明する。図1は、本実施形態に係わるネットワークシステムの機能ブロック構成図である。ネットワークシステム1は、イーサネット回線で互いに接続されたノードA、B、C及びスイッチSWを含み、ノード間で音声データと映像データの送受信を行うことができる。ネットワークシステム1は、ノードAなどの複数の装置間で時刻同期およびメディアクロック同期を行うことができる。
(第1の実施形態)
(構成)
[1]システム構成
はじめに、本実施形態のネットワークシステムの簡単な機能構成について説明する。図1は、本実施形態に係わるネットワークシステムの機能ブロック構成図である。ネットワークシステム1は、イーサネット回線で互いに接続されたノードA、B、C及びスイッチSWを含み、ノード間で音声データと映像データの送受信を行うことができる。ネットワークシステム1は、ノードAなどの複数の装置間で時刻同期およびメディアクロック同期を行うことができる。
ネットワークシステム1は、例えば車に搭載された音声再生のためのAVB(Audio/Video Bridging)ネットワークシステムである。ネットワークシステム1は、有線イーサネット通信規格であるIEEE802.3を用いた通信システムである。ここでは、ネットワークは、スター型のイーサネット回線である。
本実施形態では、ノードAは、スイッチSWを介して音声データと映像データをノードBとCへ送信し、ノードB、Cにおいて音声データと映像データが再生される。ノードAは、送信装置であり、ノードBとCは、受信装置である。
なお、本実施形態では、音声データと映像データが送信装置から受信装置へ送信されるが、音声データと映像データのいずれか一つのデータでもよく、映像データは、動画だけでなく静止画のデータでもよい。よって、ネットワークシステム1は、ネットワークを経由して、音声データと映像データの少なくとも1つのデータを送信装置から受信装置へ送信するシステムである。
スイッチSWは、複数(ここでは3つ)のポートP1,P2,P3を有している。ポートP1に入力されたイーサネットフレームは、ポートP2,P3へ供給され、ポートP2,P3から出力される。スイッチSWは、点線で示すように、転送遅延時間付加機能を有する。転送遅延時間付加機能については、後述する。
ノードAは、音声データと映像データの記録及び再生などの時間基準となるメディアクロックソース機能と、gPTP時刻生成機能と、CRF(Clock Recovery Format)トーカ機能とを有している。
ノードBは、メディアクロック同期機能と、gPTP時刻同期機能と、CRFリスナ機能とを有している。ノードBは、後述する拡張CRFフレームを受信し、自己のgPTPクロックをノードAのgPTPクロックに同期させ、かつ自己のメディアクロックをノードAのメディアクロックソースと同期させる処理を行う。ノードCもノードBと同様の構成を有し、gPTP時刻同期とメディアクロック同期を行う。
すなわち、ノードAは、マスタ装置であり、マスタのメディアクロックを有し、CRFトーカ機能を有する。ノードBとCは、スレーブ装置であり、CRFリスナ機能を有し、マスタのgPTP時刻に同期したgPTP時刻を生成し、ノードAのメディアクロックと同期するメディアクロック同期機能も有する。
ノードB、CにおいてgPTP時刻とメディアクロックが、ノードAのgPTP時刻とメディアクロックと同期することにより、マスタのノードAから送信された音声データと映像データは、スレーブのノードBとCにおいて正しく再生される。
本実施形態では、ノードB、Cにおいて、マスタのgPTP時刻に同期したgPTP時刻を生成し、ノードAのメディアクロックと同期するメディアクロックを生成するために、拡張CRFフレームが用いられる。
図2は、拡張CRFフレームの構成を示す図である。拡張CRFフレームは、イーサネットヘッダフィールド、CRFヘッダフィールド、crf_dataフィールド及び拡張情報フィールドを含む。拡張情報フィールドは、前フレーム送信時刻フィールドと、転送遅延時間フィールドを含む。
crf_dataフィールドには、ノードAにおいて所定の複数のタイミング時刻で取得された複数のgPTPデータを含む。複数のタイミング時刻は、例えば所定の時間間隔で取得された複数のタイムスタンプデータである。より具体的には、メディアクロックの立ち上がり又は立ち下がりのタイミングをメディアクロックイベントとしたとき、所定間隔(例えば300Hzのタイミング間隔)で取得された所定数(例えば6つ)のメディアクロックイベントのタイムスタンプデータ(gPTPデータ)が、crf_dataフィールドに含まれる。すなわち、crf_dataフィールドには、ネットワークシステム1のウォールクロックとしてのgPTPクロックを基準とした所定数のタイムスタンプが格納される。
後述するように、マスタから送信された複数のgPTPデータに基づいて、スレーブでは、自己のメディアクロックの誤差が補正される。マスタとスレーブは、それぞれ温度環境などによって、メディアクロック周波数が変化するので、スレーブでは、スレーブのメディアクロック周波数とマスタのメディアクロック周波数とを一致させるための補正が行われる。
以上のように、本実施形態では、ノードA内のメディアクロックイベントのタイムスタンプは、拡張CRFフレーム内のcrf_dataフィールドを用いて定期的にネットワーク内に配信される。
CRFフレームは、ここでは、IEEE1722 Clause10に規定されるフレームであり、拡張CRFフレームは、そのCRFフレームに従ったフレームである。一般に、このようなCRFを用いたメディアクロック同期を行う場合、ノードA、B、Cのそれぞれ参照するgPTPクロックが同期していることが前提条件となる。このgPTPクロック同期は、IEEE802.1ASに規定されるgPTPプロトコルを用いる手順が必要となるが、本実施形態では、gPTPプロトコルを利用しないで、図2に示す拡張CRFフレーム内の拡張情報を用いて、ノードAが内部に有するgPTPクロック(マスタ)に、ノードBおよびCの各々が内部に有するgPTPクロックを同期させる。
そのために、拡張CRFフレームには、拡張情報が付加されている。拡張情報は、前フレーム送信時刻と、転送遅延時間とを含む。前フレーム送信時刻は、ノードAが、CRFフレームを送信するとき、その送信するCRFフレームの直前に送信した前のCRFフレームの送信時刻である。転送遅延時間は、スイッチSWがCRFフレームを受信してから送信するまでの転送時間の遅延量、すなわち転送遅延時間である。
なお、本実施形態では、前フレーム送信時刻は、送信するフレームの直前に送信した、すなわち1つ前に送信したCRFフレームの送信時刻であるが、2つ前、3つ前など複数個前に送信したCRFフレームの送信時刻を用いてもよい。
[2]ノード及びスイッチの構成
次に、詳細に各ノードとスイッチの構成を説明する。図3は、ノードAの構成を示すブロック図である。図4は、ノードAのイーサネットMACの構成を示すブロック図である。
[2]ノード及びスイッチの構成
次に、詳細に各ノードとスイッチの構成を説明する。図3は、ノードAの構成を示すブロック図である。図4は、ノードAのイーサネットMACの構成を示すブロック図である。
なお、ノードBのイーサネットMACの構成は、図4に示すノードAのイーサネットMACの構成と同じである。これは、いずれのノードがマスタとなってもスレーブになってもよいようにするためである。本実施形態では、上述したように、ノードAがマスタであり、ノードA以外のノードがスレーブである。
図3に示すように、ノードAは、プロセッサ11と、イーサネットMAC12と、イーサネットPHY(物理層)13と、イーサネット回線14と、システムクロック生成部15と、メディアクロック生成部16と、メディアデバイス17とを含む。
プロセッサ11は、CPU(中央処理装置)、ROM、RAM、各種インターフェースなどを含む。CPUは、ROMに格納された制御プログラムを読み出して、RAMに展開して実行することにより、各種機能を実現する。制御プログラムは、ソフトウエア制御ブロックとしての、イーサネットフレーム送信部21、フレーム送信時刻取得部22、gPTPクロック制御部23、メディアクロックキャプチャ部24、メディアクロック制御部25、及びメディアデータ受信部26の機能を実現する。
なお、プロセッサ11は、FPGA(Field Programmable Gate Array)などの電子回路で実現してもよい。
イーサネットMAC12は、イーサネットのデータリンク層とイーサネットPHY13の間に位置し、MAC(Media Access Contorol)フレームの送受信回路を含む。図4に示すように、イーサネットMAC12は、フレーム送受信部31、フレーム送受信インターフェース(以下、フレーム送受信I/Fと略す)32、タイムスタンプ取得インターフェース(以下、タイムスタンプ取得I/Fと略す)33、PHY(物理層)インターフェース(以下、PHYI/Fと略す)34、システムクロック入力部35、gPTPクロック制御インターフェース(以下、gPTPクロック制御I/Fと略す)36、周波数補正部37と、オフセット補正部38と、gPTPクロックカウンタ39と、メディアクロックイベント入力部40と、イベントキャプチャ部41と、メディアクロックイベント発生時刻取得インターフェース(以下、メディアクロックイベント発生時刻取得I/Fと略す)42とを有する。
フレーム送受信部31は、上位層のフレーム送受信I/F32と下位層のPHYI/F34に接続され、イーサネットフレームの送受信を制御する。
フレーム送受信I/F32は、プロセッサ11と送受信フレームデータの受け渡しを行う。なお、ノードBでは、フレーム送受信I/F32は、プロセッサ71と送受信フレームデータの受け渡しを行う。
タイムスタンプ取得I/F33は、フレーム送受信部31においてイーサネットフレームを送信した時点の時刻(gPTPクロックカウンタ値)を格納するためのレジスタである。プロセッサ11は、タイムスタンプ取得I/F33からイーサネットフレームの送信時刻を取得することができる。なお、ノードBでは、タイムスタンプ取得I/F33は、プロセッサ71がイーサネットフレームを受信した時点の時刻(gPTPクロックカウンタ値)を格納するためのレジスタである。プロセッサ71は、タイムスタンプ取得I/F33からイーサネットフレームの受信時刻を取得することができる。例えば、タイムスタンプ取得I/F33は、MACフレームのプリアンブル部直後のデータのPHYI/F34への送出又は受付のタイミングの時刻(gPTPクロックカウンタ値)を取得する。
PHYI/F34は、イーサネット物理層デバイスであるイーサネットPHY13又は73に接続される。
システムクロック入力部35は、イーサネットMAC12の動作クロックが入力される回路である。
gPTPクロック制御I/F36は、gPTPクロックカウンタ39の動作設定、起動、起動中の周波数補正、オフセット補正をプロセッサ11又は71から制御するためのインターフェースである。
周波数補正部37は、gPTPクロックカウンタ39の周波数補正を行う。周波数補正部37は、可変分周器を有し、例えば周波数が所望の周波数になるようにクロック周期を調整するための積算カウント値の傾きの調整値をgPTPクロックカウンタ39に供給する。本実施形態では、周波数補正部37は、スレーブのノードB,Cにおいてのみ動作し、マスタのノードAでは動作しない。
オフセット補正部38は、gPTPクロックカウンタ39のオフセット補正を行う。オフセット補正部38は、gPTPクロックの現在時刻を補正するためのオフセット値をgPTPクロックカウンタ39に供給する。gPTPクロックカウンタ39は、受信したオフセット値で、カウンタ値を補正する。本実施形態では、オフセット補正部38は、スレーブのノードB,Cにおいてのみ動作し、マスタのノードAでは動作しない。
gPTPクロックカウンタ39は、現在時刻を保持するカウンタである。すなわち、gPTPクロックカウンタ39は、ノードAの現在時刻を保持する現在時刻保持回路を構成する。周波数補正部37からのクロック調整値に基づいてgPTPクロックのカウント周期が調整可能である。
メディアクロックイベント入力部40は、メディアクロック生成部16からのメディアクロック、例えば、オーディオサンプリング周波数(例えば48KHz)のクロック信号MCLK1が入力される。
イベントキャプチャ部41は、メディアクロックイベント入力部40に入力された各メディアクロック信号MCLK1の立ち上がり又は立ち下がりのエッジを検出し、その検出時点での時刻(gPTPクロックカウンタ39のカウンタ値)を記憶する。
なお、イベントキャプチャ部41は、所定の周期で所定数のメディアクロック信号MCLK1を間引いて、メディアクロック信号MCLK1の所定数毎のエッジを検出するものでもよい。
メディアクロックイベント発生時刻取得I/F42は、イベントキャプチャ部41で記憶したメディアクロックイベントの発生時刻を、プロセッサ11又は71が取得するためのインターフェースである。
図3に戻り、プロセッサ11の機能のうち、イーサネットフレーム送信部21は、送信イーサネットフレームを作成し、フレーム送受信I/F32とイーサネットPHY13を経由して、イーサネット回線14上に送出する。イーサネットフレーム送信部21は、送信するイーサネットフレームを生成し、上述した拡張CRFフレームを送信するフレーム送信部である。
フレーム送信時刻取得部22は、タイムスタンプ取得I/F33を介して、イーサネットフレーム送信部21により送信されたイーサネットフレームの送信時刻を取得する。取得された時刻情報は、後述するように、イーサネットフレーム送信部21により送信される。
gPTPクロック制御部23は、gPTPクロック制御I/F36を介して、gPTPクロックカウンタ39の初期設定と起動を行う。
メディアクロックキャプチャ部24は、メディアクロックイベント発生時刻取得I/F42を介して、メディアクロック信号MCLK1のイベント発生時刻を取得する。メディアクロックキャプチャ部24は、連続して取得された複数の時刻情報から、所定の時間間隔で複数取得する。取得された複数(ここでは6つ)のタイミング時刻の時刻情報は、拡張CRFフレームのcrf_dataフィールドに格納されて、イーサネットフレーム送信部21により送信される。
メディアクロック制御部25は、メディアクロック生成部16の初期設定を行い、メディアクロック信号MCLK1の出力を開始させる。
メディアデータ受信部26は、メディアデバイス17からのメディアデータMdを受信し、イーサネットフレーム送信部21に供給する。
イーサネットPHY13は、PHYI/F34と接続され、イーサネット回線14上のイーサネットフレームの送受信を行う。
システムクロック生成部15は、イーサネットMAC12の動作クロックを生成する。生成されたシステムクロックは、イーサネットMAC12に供給され、gPTPクロックカウンタ39の源振となる。
メディアクロック生成部16は、例えばオーディオサンプリングクロックとして48KHzのメディアクロック信号を出力する。メディアクロック信号は、メディアデバイス17に供給されると共に、メディアクロックイベント入力部40にも供給される。すなわち、メディアクロック生成部16は、音声データと映像データの少なくとも1つのデータを再生するためのクロック信号を生成するクロック生成回路である。
メディアデバイス17は、マイクロフォンなどの音声入力デバイスである。メディアクロック生成部16からのメディアクロック信号MCLK1に同期したサンプリングにより、マイクロフォンなどからの信号は、アナログ信号からデジタル信号に変換され、メディアデータMdとしてメディアデータ受信部26に供給される。
イーサネット回線14は、スイッチSWに接続される。スイッチSWは、ネットワーク上に設けられ、拡張CRFフレームなどのイーサネットフレームを転送する。
次に、スイッチSWの構成について説明する。図5は、スイッチSWの構成を示すブロック図である。スイッチSWは、プロセッサ51と、メモリ52と、イーサネットMAC53と、イーサネットPHY54とを有する。
プロセッサ51は、CPU(中央処理装置)、ROM、RAM、各種インターフェースなどを含む。CPUは、ROMに格納された制御プログラムを読み出して、RAMに展開して実行することにより、各種機能を実現する。制御プログラムは、経路選択・イーサネットフレーム転送部61、転送遅延時間測定部62、及び転送フレーム編集部63の機能を有する。
経路選択・イーサネットフレーム転送部61は、イーサネットスイッチに備わる基本機能に関わる。経路選択・イーサネットフレーム転送部61は、各イーサネット回線から入力された信号を、所定のイーサネット回線に出力する。
転送遅延時間測定部62は、一つのポートで受信したイーサネットフレームが、転送先となる一つ以上の各ポートから送信されるまでの転送遅延時間を、配信先ポート毎に測定し、メモリ52上に保存する機能に関わる。例えば、図5のポートp1で受信したイーサネットフレームをポートp2から送信する場合、転送遅延時間測定部62は、フレーム受信時の受信時刻を、ポートp1の受信タイムスタンプ取得部64(後述する)から取得する。また、転送遅延時間測定部62は、当該受信フレームがポートp2に送信された際の送信時刻を、ポートp2の送信タイムスタンプ取得部67(後述する)から取得し、両者の差分を取ることによりポートp1からポートp2への転送遅延時間を測定する。測定した転送遅延時間は、送信ポートに関連付けてメモリ52上に適宜格納される。転送遅延時間測定部62は、後述する時間S[n−1]などを算出する。
転送フレーム編集部63は、経路選択・イーサネットフレーム転送部61の動作の際、あらかじめ設定されたフォーマットを持つイーサネットフレームに対し、メモリ52上に記憶された転送遅延時間を用いて、当該イーサネットフレームの編集を行う。転送フレーム編集部63は、上述した拡張情報中の転送遅延時間の更新を行う。よって、転送フレーム編集部63は、転送遅延時間フィールド中の転送遅延時間を、測定された転送遅延時間を用いて更新するフレーム編集部を構成する。
メモリ52は、経路選択・イーサネットフレーム転送部61、転送遅延時間測定部62、及び転送フレーム編集部63の実行時に各種情報を格納する。
イーサネットMAC53は、複数の入出力ポート、ここでは3つのポートp1,p2,p3、を有する。ポートp1,p2,p3は、上述したポートP1,P2,P3に対応する。図5では、ポートp1に対応して、受信タイムスタンプ取得部64と、送信タイムスタンプ取得部65が設けられ、ポートp2に対応して、受信タイムスタンプ取得部66と、送信タイムスタンプ取得部67が設けられていることが示されている。
イーサネットPHY54は、複数のPHY層を含み、図5では、2つのPHY層68,69が示されている。
ポートp1は、PHY層68を介して、イーサネット回線14上のフレーム送受信を行うためのインターフェースであり、図5では、イーサネットフレームを受信する。
ポートp2は、PHY層69を介して、イーサネット回線74上のフレーム送受信を行うためのインターフェースであり、図5では、イーサネットフレームを送信する。
受信タイムスタンプ取得部64,66は、当該ポートで受信したイーサネットフレームの受信時刻を取得する。
送信タイムスタンプ取得部65,67は、当該ポートから送信したイーサネットフレームの送信時刻を取得する。
次に、ノードBの構成について説明する。なお、ノードCの構成は、ノードBの構成と同じであるので、同じ構成要素及び同じ機能については、説明は省略する。図6は、ノードBの構成を示すブロック図である。
ノードBの構成は、図3に示すノードAと略同じ構成を有するので、図6では、同じ構成要素については、同じ名称を用いて示している。同じ構成要素と同じ機能については、説明は省略し、異なる構成要素と異なる機能について説明する。
図6に示すように、ノードBは、プロセッサ71と、イーサネットMAC72と、イーサネットPHY(物理層)73と、イーサネット回線74と、システムクロック生成部75と、メディアクロック生成部76と、メディアデバイス77とを含む。
プロセッサ71は、CPU(中央処理装置)、ROM、RAM、各種インターフェースなどを含む。CPUは、ROMに格納された制御プログラムを読み出して、RAMに展開して実行することにより、各種機能を実現する。制御プログラムは、イーサネットフレーム受信部81、フレーム受信時刻取得部82、gPTPクロック制御部83、メディアクロックキャプチャ部84、メディアクロック制御部85、及びメディアデータ送信部86の機能を実現する。
なお、プロセッサ71は、FPGA(Field Programmable Gate Array)などの電子回路で実現してもよい。
イーサネットMAC72は、イーサネットのデータリンク層とイーサネットPHY73の間に位置し、MACフレームの送受信回路を含む。イーサネットMAC72は、図4に示したノードAのイーサネットMAC12と同じ構成を有するので、図示は省略するが、図6では、図4のフレーム送受信I/F32、タイムスタンプ取得I/F33、PHYI/F34、システムクロック入力部35、gPTPクロック制御I/F36、gPTPクロックカウンタ39と、メディアクロックイベント入力部40と、メディアクロックイベント発生時刻取得I/F42が示されている。
ノードBのイーサネットMAC72のgPTPクロックカウンタ39は、ノードBの現在時刻を保持する現在時刻保持回路を構成する。
イーサネットフレーム受信部81は、イーサネット回線74からイーサネットPHY73に到来したイーサネットフレームデータを、フレーム送受信I/F32を介して受信する。イーサネットフレーム受信部81は、ネットワークを介してイーサネットフレームに含まれる拡張CRFフレームを受信するフレーム受信部である。受信した拡張CRFフレームに含まれる時刻情報T[n−1](後述する)は、gPTPクロック制御部83へ供給され、crf_data部に含まれる後述する所定間隔で取得された複数の時刻情報(後述する)は、メディアクロック制御部85へ供給される。
フレーム受信時刻取得部82は、フレーム送受信I/F32を介して受信したイーサネットフレームの受信時刻を取得し、取得した時刻情報をgPTPクロック制御部83へ供給する。受信時刻は、後述する時刻情報R[n−1]などである。受信時刻は、gPTPクロック制御部83へ供給される。
gPTPクロック制御部83は、gPTPクロック制御I/F36を介して、gPTPクロックカウンタ39の初期設定、起動及び起動中のオフセット補正と周波数補正を行う。後述するように、gPTPクロック制御部83は、受信したイーサネットフレーム(ここでは拡張CRFフレーム)に含まれる送信時刻(後述するT[n−1]など)と、イーサネットフレームの受信時刻(後述するR[n−1]など)とに基づいて時刻補正のためのオフセットデータを生成し、オフセット補正部38へ供給する。また、gPTPクロック制御部83は、後述する調整係数としての積算カウント値の傾き(単位時間当たりの増加量)を算出し、算出した傾きデータを、イーサネットMAC72のgPTPクロック制御I/F36を介して周波数補正部37へ供給する。
メディアクロックキャプチャ部84は、メディアクロックイベント発生時刻取得I/F42を介して、メディアクロック信号MCLK2のイベント発生時刻を取得する。メディアクロックキャプチャ部84は、連続して取得された複数の時刻情報から、所定の時間間隔で複数取得する。メディアクロックキャプチャ部84における所定の時間間隔は、メディアクロックキャプチャ部24における所定の時間間隔と同じである。取得された複数(ここでは6つ)のタイミング時刻の時刻情報は、メディアクロック制御部85に供給される。
メディアクロック制御部85は、メディアクロック生成部76の初期設定を行い、メディアクロック生成部76にメディアクロック信号MCLK2を出力させる。また、メディアクロック制御部85は、起動中のメディアクロックの周波数補正を行う。
ここでは、メディアクロック制御部85は、受信した拡張CRFフレームに含まれる複数の時刻情報と、メディアクロックキャプチャ部84から供給された複数の時刻情報とを比較し、メディアクロックキャプチャ部84から供給された複数の時刻情報の複数のタイミングがノードAから受信した複数の時刻情報の複数のタイミングに一致させるための設定データを、メディアクロック生成部76へ供給する。
メディアデータ送信部86は、イーサネットフレーム受信部81で受信したメディアデータをメディアデバイス77へ送信する。
イーサネットPHY73は、PHYI/F34と接続され、イーサネット回線74上のイーサネットフレームの送受信を行う。
システムクロック生成部75は、イーサネットMAC72の動作クロックを生成する。生成されたシステムクロックは、イーサネットMAC72に供給され、gPTPクロックカウンタ39の源振となる。
メディアクロック生成部76は、例えばオーディオサンプリングクロックとして48KHzのメディアクロック信号を出力する。メディアクロック信号は、メディアデバイス77に供給されると共に、メディアクロックイベント入力部40に入力される。すなわち、メディアクロック生成部76は、音声データと映像データの少なくとも1つのデータを再生するためのクロック信号を生成するクロック生成回路である。
また、メディアクロック生成部76は、メディアクロック制御部85からの指示によりメディアクロック信号MCLK2の周波数の補正を行う。メディアクロック生成部76は、可変PLL回路を有し、メディアクロック制御部85からの設定データに応じた周波数のクロック信号を生成し、メディアクロック信号MCLK2を出力する。
メディアデバイス77は、スピーカアンプなどのオーディオ出力デバイスである。メディアデバイス77は、メディアデータ送信部86が送信するメディアデータMdを受信し、メディアクロック信号MCLK2に同期したオーディオデータを出力する。
イーサネット回線74は、スイッチSWに接続される。
(動作)
通常は、CRFフレームの送受信のためには、gPTPプロトコルの実行により、各ノードが認識するgPTPクロックが同期していることが必要である。すなわち、CRFフレームの使用に先立ち、ネットワーク内の各ノードのgPTPクロックを同期させるために、IEEE802.1ASに規定されるgPTPプロトコルによるgPTPクロック同期が行われる。
(動作)
通常は、CRFフレームの送受信のためには、gPTPプロトコルの実行により、各ノードが認識するgPTPクロックが同期していることが必要である。すなわち、CRFフレームの使用に先立ち、ネットワーク内の各ノードのgPTPクロックを同期させるために、IEEE802.1ASに規定されるgPTPプロトコルによるgPTPクロック同期が行われる。
図7は、通常のCRFフレームを利用したメディアクロック同期手順を説明するための図である。図7では、図において上から下に時間tが経過することを示している。ネットワークシステム1が起動すると、例えばIEEE802.1ASに規定されたgPTPプロトコルに従うgPTPクロック同期処理がノード間で実行される。gPTP同期処理が終了すると、ノード間でgPTPクロックが同期した状態となる。gPTPクロック同期処理は、定期的に実行される。gPTPクロック同期処理後、CRFフレームを利用したメディアクロック同期が実行され、メディアクロックもノード間で同期した状態となる。CRFフレームを利用したメディアクロック同期も、定期的に実行される。
しかし、AVB(Audio/Video Bridging)ネットワークなどの車載ネットワークシステムでは、gPTPプロコトル自体が実装されない場合や、ネットワークの稼働直後からメディア再生を開始したい場合など、gPTPプロトコルの不稼働下で、メディアクロック同期が必要な場合がある。本実施形態によれば、このようなgPTPプロトコル不稼働下で、ノード間でのgPTPクロック同期及びメディアクロック同期が可能となる。
図8は、図1のネットワークシステム1において、ノードAが配信する拡張CRFフレームがノードBに伝播する様子を示す図である。図8において、上から下へ向かって時間tが経過する。T[n]、T[n−1]は、ノードAにおける拡張CRFフレームCRF[n]のフレーム送信時刻のタイムスタンプ(ノードA内のgPTPクロックを基準とする)の時刻を示す。R[n]、R[n−1]は、ノードBにおける拡張CRFフレームCRF[n]のフレーム受信時刻のタイムスタンプ(ノードB内のgPTPクロックを基準とする)時刻を示す。
ノードAは、送信時刻T[n]に拡張CRFフレームを送信するとき、拡張CRFフレームの拡張情報部中の前フレーム送信時刻フィールドに時刻情報としてT[n−1]を格納し、転送遅延時間フィールドに「0」を格納した拡張CRFフレームCRF[n]を送信する。なお、最初にノードAから送信される拡張CRFフレームの拡張情報には、前フレーム送信時刻は、含まれない。
すなわち、ノードAのイーサネットフレーム送信部21は、所定のフレームとして拡張CRFフレームを第1のタイミング(T[n])で送信するフレーム送信部であって、拡張CRFフレームが第1のタイミング(T[n])よりも前の第2のタイミング(T[n−1])で送信されたときのノードAの現在時刻に基づく送信時刻(T[n−1])を含む拡張CRFフレームを、ネットワークを介して第1のタイミング(T[n])でノードBへ送信する。
このとき、拡張CRFフレームのcrf_dataフィールドには、所定数のタイムスタンプが格納される。例えば、crf_dataフィールドには、6つのタイムスタンプデータが含まれる。6つのタイムスタンプは、ノードAのメディアクロックキャプチャ部24において、ノードAのメディアクロック信号MCLK1に基づく所定間隔(例えば300Hzのタイミング間隔)で取得された時刻データを含む。
スイッチSWでは、拡張CRFフレームCRF[n]を受信すると、転送遅延時間フィールドにS[n−1]を加算した値を格納し、その転送遅延時間フィールドを含む拡張CRFフレームCRF[n]′を、ノードBへ送出する。ここで、S[n−1]は、前の拡張CRFフレームの転送時に要した転送遅延時間、すなわちノードAからの拡張CRFフレームCRF[n−1]を受信してから、ノードBに向けて拡張CRFフレームCRF[n−1]′を送信するまでの時間である。S[n−1]は、転送遅延時間測定部62により測定された時間である。転送フレーム編集部63が、転送遅延時間フィールドにS[n−1]を加算する。
なお、スイッチSWが多段となるネットワーク構成においては、各スイッチSWでは、前段のスイッチSWまでに発生した転送遅延時間に当該スイッチSWで発生した転送遅延時間が加算される。拡張CRFフレームCRF[n−1]′は、経路選択・イーサネットフレーム転送部61によりノードBへ送信される。
ノードBは、拡張CRFフレームCRF[n]′を受信すると、自己のローカルgPTP時刻に基づく受信タイムスタンプの時刻R[n]を取得し記憶するとともに、前に受信した拡張CRFフレームCRF[n−1]′の受信時刻である時刻R[n−1]の時点でのノードAのgPTP時刻M[n−1]を、次の式(1)から算出する。
M[n−1]=T[n−1]+Das[n−1]+S[n−1]+Dsb[n−1]
・・・(1)
ここでは、T[n−1]、S[n−1]については、受信した拡張CRFフレームCRF[n]′の拡張情報フィールド中に格納された値が用いられる。
・・・(1)
ここでは、T[n−1]、S[n−1]については、受信した拡張CRFフレームCRF[n]′の拡張情報フィールド中に格納された値が用いられる。
また、Das[n−1]は、ノードAからスイッチSWへのイーサネットフレームの物理層伝播遅延、Dsb[n−1]は、スイッチSWからノードBへのイーサネットフレームの物理層伝播遅延である。これらの近接ノード間の物理層伝播遅延は、一定、あるいはパケット長との線形関係にあるとみなすことができるため、伝播経路上のこれらの総和は、車内ネットワークなどの固定的なネットワーク構成においては、拡張CRFフレームの伝播経路毎に線形係数をあらかじめ設定しておくことにより、拡張CRFフレームを受信したノードにおいて、その受信パケット長から計算できる。
ノードAからノードBへの経路での物理層伝播遅延の総和(Das[n−1]+Dsb[n−1])をD[n−1]とすると、式(1)は、次の式(2)に書きかえられる。
M[n−1]=T[n−1]+S[n−1]+D[n−1] ・・・(2)
以上のように、ノードAからノードBへの拡張CRFフレームの全遅延時間は、スイッチSWにおいてノードAからの拡張CRFフレームを受信してからノードBへ送信するまでの転送遅延時間(S[n−1])と、物理層伝播遅延の総和時間とを含む。
以上のように、ノードAからノードBへの拡張CRFフレームの全遅延時間は、スイッチSWにおいてノードAからの拡張CRFフレームを受信してからノードBへ送信するまでの転送遅延時間(S[n−1])と、物理層伝播遅延の総和時間とを含む。
時刻R[n−1]の時点でのノードAとノードB間の時刻の差分TimeDiff[n−1]は、次の式(3)で表わされる。
TimeDiff[n−1]=M[n−1]−R[n−1] ・・・(3)
ノードBは、式(2)と式(3)で得られた値を用いて、自己のgPTPクロック(時刻と周波数)をノードAのgPTPクロックに同期させることができる。
ノードBは、式(2)と式(3)で得られた値を用いて、自己のgPTPクロック(時刻と周波数)をノードAのgPTPクロックに同期させることができる。
ノードBのgPTPクロック制御部83は、式(3)の差分TimeDiff[n−1]を、オフセット値としてオフセット補正部38へ供給し、gPTPクロックカウンタ39のカウント値を補正する。
以上のように、gPTPクロック制御部83は、拡張CRFフレーム中に含まれる送信時刻T[n−1]と、前の拡張CRFフレームの送信タイミングの時刻T[n−1]で送信された拡張CRFフレームを受信したときのノードBの現在時刻に基づく受信時刻(R[n−1])と、拡張CRFフレーム中に含まれる拡張CRFフレームがネットワークを経由してノードAからノードBへ送信されるまでの遅延時間(D[n−1](=D[n−1]+S[n−1]))とに基づいて、ノードBの現在時刻をノードAの現在時刻に同期させるクロック同期部を構成する。
そして、gPTPクロック制御部83は、送信時刻T[n−1]に遅延時間D[n−1](=D[n−1]+S[n−1])を加算して得られた時刻M[n−1]と、受信時刻R[n−1]との差TimeDiffを用いて、ノードBの現在時刻をノードAの現在時刻に同期させる。
なお、前フレーム送信時刻として、送信するフレームの直前に送信した、すなわち1つ前に送信したCRFフレームの送信時刻でなく、2つ前、3つ前など複数個前に送信したCRFフレームの送信時刻を用いる場合は、上述した各式における、前フレーム送信時刻フィールドに格納される時刻情報は、T[n−2]、あるいはT[n−3]等であり、転送遅延時間フィールドに格納される時間情報は、S[n−2]、あるいはS[n−3]等であり、受信時刻は、M[n−2]、あるいはM[n−3]等であり、受信時刻は、R[n−2]、あるいはR[n−3]等である。
なお、前フレーム送信時刻として、送信するフレームの直前に送信した、すなわち1つ前に送信したCRFフレームの送信時刻でなく、2つ前、3つ前など複数個前に送信したCRFフレームの送信時刻を用いる場合は、上述した各式における、前フレーム送信時刻フィールドに格納される時刻情報は、T[n−2]、あるいはT[n−3]等であり、転送遅延時間フィールドに格納される時間情報は、S[n−2]、あるいはS[n−3]等であり、受信時刻は、M[n−2]、あるいはM[n−3]等であり、受信時刻は、R[n−2]、あるいはR[n−3]等である。
また、gPTPクロック同期を定常的に維持する方法として、拡張CRFフレームCRF[n]′の受信時点で、周波数調整係数αを、次の式(4)に基づいて計算し、自己のgPTPクロック生成回路にフィードバックする。
α[n−1]=((M[n−1]−M[n−N])
+TimeDiff[n−1])/(R[n−1]−R[n−N]) ・・・(4)
式(4)において、Nは、周波数調整の頻度に関わり、拡張CRFフレームのN回の受信に一回、周波数調整を行うことを意味する。
+TimeDiff[n−1])/(R[n−1]−R[n−N]) ・・・(4)
式(4)において、Nは、周波数調整の頻度に関わり、拡張CRFフレームのN回の受信に一回、周波数調整を行うことを意味する。
ここでは、gPTPクロック制御部83は、周波数調整係数αに基づいて、gPTPクロックのカウント周期を変更するクロック調整値を算出する。gPTPクロック制御部83は、クロック調整値を用いて、周波数補正部37を介してgPTPクロックの周波数を補正する。
以上のように、gPTPクロック制御部83は、複数回受信した拡張CRFフレームに含まれる複数の送信時刻と、複数の拡張CRFフレームを受信したときの複数の受信時刻と、記差TimeDiffとを用いて、ノードBの現在時刻を保持するgPTPクロックカウンタ39のクロック周波数を、ノードAの現在時刻を保持するgPTPクロックカウンタ39のクロック周波数に同期させるクロック同期部を構成する。
また、crf_data中のノードAの複数の時刻情報と、メディアクロックキャプチャ部84のノードB複数の時刻情報とを比較し、ノードBの複数の時刻情報の各時間間隔がノードAの複数の時刻情報の各時間間隔に一致させるための設定データが、メディアクロック制御部85からメディアクロック生成部76へ供給される。その結果、ノードBにおいて、メディアクロック信号MCLK2は、ノードAのメディアクロック信号MCLK1と同期する。
すなわち、拡張CRFフレームは、ノードAのメディアクロック信号MCLK1に基づく所定の第1時間間隔で取得された複数のタイミング時刻を含む。そして、メディアクロック制御部85は、拡張CRFフレーム中に含まれる複数(ここでは6つ)のタイミング時刻と、ノードBのメディアクロック信号MCLK2に基づく第1時間間隔と同じ第2時間間隔で取得された複数(ここでは6つ)のタイミング時刻とに基づいて、メディアクロック信号MCLK1のクロックタイミングにメディアクロック信号MCLK2のクロックタイミングが一致するように、メディアクロック信号MCLK2を、メディアクロック信号MCLK1に同期させるクロック同期部(85)を構成する。
上述したgPTPクロック同期方法によれば、ネットワークシステム1の起動後、最低3つの拡張CRFフレームの配信を行うことにより、gPTPクロックの同期とメディアクロックの同期の開始が可能である。
図9は、図1のネットワークシステム1において、ノードAが配信する3つの拡張CRFフレームがノードBに伝播する様子を示す図である。
図9において、ノードAは、ネットワークシステム1の起動後、定期的に拡張CRFフレームを配信する。その周期は、オーディオ用のCRFフレームの場合、一般的に20msec(50Hz)である。
ノードBは、拡張CRFフレームCRF[2]′の’受信後、式(2)によりM[0]、M[1]の値を計算できる。これらの値を用いて、次の式(5)により、ノードAとB間のgPTPクロックの周波数比率FRを計算する。
FR=(M[1]−M[0])/(R[1]−R[0]) ・・・(5)
また、時刻R[2]の時点でのM[2]の推定値IV[M2]は、次の式(6)により計算される。
また、時刻R[2]の時点でのM[2]の推定値IV[M2]は、次の式(6)により計算される。
IV[M2]=M[1]+(R[2]−R[1])×FR ・・・(6)
ノードBは、自己のgPTPクロックに対し式(5)で算出された値を用いて周波数補正と、式(6)で算出された値を用いて時刻オフセット補正を同時に行う。これにより、ノードAとB間では、gPTPクロックの初期同期が取れた状態となる。ノードBは、その後、例えばN回の拡張CRFフレームの受信毎に、式(4)を計算し、自己のgPTPクロックカウンタ39に対し周波数調整を行うことによりgPTPクロック同期を維持する。
ノードBは、自己のgPTPクロックに対し式(5)で算出された値を用いて周波数補正と、式(6)で算出された値を用いて時刻オフセット補正を同時に行う。これにより、ノードAとB間では、gPTPクロックの初期同期が取れた状態となる。ノードBは、その後、例えばN回の拡張CRFフレームの受信毎に、式(4)を計算し、自己のgPTPクロックカウンタ39に対し周波数調整を行うことによりgPTPクロック同期を維持する。
ノードBは、また、メディアクロック同期を、上記ノードAとB間のgPTPクロック初期同期が取れた段階で開始することができる。拡張CRFフレームの継続的な配信により、gPTPクロックの同期は維持されるため、メディアクロックの同期状態もまた維持できる。すなわち、上記のようにして、ノードAとB間でgPTPクロックの同期が取れた状態においては、CRFフレームのcrf_dataフィールドを用いて、メディアクロック同期を行うことができる。
よって、その後、マスタであるノードAから音声データ及び映像データを含むAVTP(Audio Video Transport Protocol)データが送信され、音声データ及び映像データは、スレーブであるノードB,Cにおいて正しく再生される。
なお、上述した実施形態では、gPTPクロック同期とメディアクロック同期を行うために、拡張CRFフレームが用いられているが、拡張CRFフレームに代えて、AVTPフレームなどの他のフレームを用いてもよい。
図10は、拡張AVTPフレームの構成を示す図である。拡張AVTPフレームは、イーサネットヘッダフィールド、AVTPDU Common Stream Headerフィールド、stream_data_payloadフィールド及び拡張情報フィールドを含む。拡張情報フィールドは、図2と同様の前フレーム送信時刻フィールドと、転送遅延時間フィールドを含む。
CRFフレームの送受信を行わないで、音声データ及び映像データを含む拡張AVTPフレームを用いても、上述したgPTPクロック同期及びメディアクロック同期を行うことができる。
以上のように、上述した実施形態によれば、時刻同期のためのプロトコルの稼働前あるいは不稼働下において、装置間でクロック同期を迅速に実行することができるネットワークシステム、送信装置及び受信装置を実現することができる。
(第2の実施形態)
第1の実施形態では、スイッチSWはCRFフレーム中の転送遅延時間を書き換える機能を有しているが、第2の実施形態では、スイッチSWcはCRFフレーム中の転送遅延時間を書き換えない。
(第2の実施形態)
第1の実施形態では、スイッチSWはCRFフレーム中の転送遅延時間を書き換える機能を有しているが、第2の実施形態では、スイッチSWcはCRFフレーム中の転送遅延時間を書き換えない。
第2の実施形態は、例えば車載用ネットワークなどで、系の電源起動後、早期にアナウンスメッセージなどのオーディオデータをネットワークに配信、再生を行なう場合(Early Audio)におけるクロックの同期方法に関する。
図11は、本実施形態に係わるネットワークシステムの機能ブロック構成図である。本実施形態においても、ノードAは、音声データと映像データをノードBとCへ送信し、ノードB、Cにおいて音声データと映像データが再生される。ノードAは、音声データと映像データの記録及び再生などの時間基準となるプレゼンテーションタイム機能と、gPTP時刻生成機能と、オーディオトーカ(Audio Talker)機能とを有している。
本実施形態の各ノード及びスイッチSWcの構成は、第1の実施形態の各ノード及びスイッチSWの構成と略同じであるので、説明は省略する。但し、本実施形態においては、スイッチSWcは、第1の実施形態で示したような、転送遅延時間を測定し拡張情報を書き換える機能を有していない。これは、Early Audio再生の場合の様に、ネットワークシステム1Aの起動直後のネットワークトラフィックがAudioパケット以外にない様な場合には、スイッチSWcでの転送遅延(図13におけるS[n])を含めた経路上の伝播遅延の総和が、AVTPフレームの受信側のエンドポイント(すなわちノードB,C)で、十分な精度で計算、あるいは予測できるという前提に基づいている。
図12は、拡張AVTPフレームの構成を示す図である。拡張AVTPフレームは、IEEE1722−2016 4.4.4に基づき、イーサネットヘッダフィールド、AVTPDU Common Streamヘッダフィールド、stream_data_payloadフィールド及び拡張情報フィールドを含む。拡張情報フィールドは、前フレーム送信時刻フィールドを含む。
図11に示すように、ノードAは、オーディオトーカとしてメディアデータを、図12に示される拡張AVTPフレームに格納してスイッチSWcに送信する。スイッチSWcは、受信した拡張AVTPフレームをノードBとCに向けて配信する。
図13は、図11のネットワークシステム1Aにおいて、ノードAが配信する拡張AVTPフレームがノードBに伝播する様子を示す図である。図13において、上から下へ向かって時間tが経過する。
ノードAは送信時刻T[n]において、前フレーム送信時刻フィールドにT[n−1]を格納した拡張AVTPフレーム[n]を送信する。この際、通常のAVTPフレームと同様にstream_data_payloadフィールドには、リスナ側であるノードB,Cで再生するメディアデータMdが格納され、AVTPDU Common Streamヘッダ中のavtp_timestampフィールドには、再生タイミングを示したタイムスタンプが格納される。タイムスタンプの基準時刻は、ノードAのローカルgPTP時刻である。
スイッチSWcは、拡張AVTPフレーム[n]を受信すると、ノードB(及びノードC)に転送する。前述した様に、その際に発生する転送遅延時間S[n]は、ノードB側で計算、予測できる前提とする。
ノードBでは、拡張AVTPフレーム[n]を受信すると、第1の実施形態に示した方法と同様の方法で、gPTPクロックの同期を行うことができる。ただし、一般にAVTPフレーム送信間隔(125μsec、等)は、CRFフレーム送信間隔(20msec、等)に比べて短い。このような場合には例えばNフレーム受信毎に処理を行うなど、時刻情報の評価間隔を長くした方が、計算時の誤差や生成クロックのジッタを低減する面で有効である。
gPTPクロックの同期が確立すれば、複数のavtp_timestamp情報に基づいて、第1の実施形態と同様にメディアクロック同期も可能となる。
以上のように、上述した各実施形態によれば、時刻同期のためのプロトコルの稼働前あるいは不稼働下において、装置間でクロック同期を迅速に実行することができるネットワークシステム、送信装置及び受信装置を実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として例示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1、1A ネットワークシステム、11 プロセッサ、12 イーサネットMAC、13 イーサネットPHY、14 イーサネット回線、15 システムクロック生成部、16 メディアクロック生成部、17 メディアデバイス、21 イーサネットフレーム送信部、22 フレーム送信時刻取得部、23 クロック制御部、24 メディアクロックキャプチャ部、25 メディアクロック制御部、26 メディアデータ受信部、31 フレーム送受信部、32 フレーム送受信I/F、33 タイムスタンプ取得I/F、34 PHYI/F、35 システムクロック入力部、36 gPTPクロック制御I/F、37 周波数補正部、38 オフセット補正部、39 クロックカウンタ、40 メディアクロックイベント入力部、41 イベントキャプチャ部、42 メディアクロックイベント発生時刻取得I/F、51 プロセッサ、52 メモリ、53 イーサネットMAC、54 イーサネットPHY、55 イーサネット回線、61 経路選択・イーサネットフレーム転送部、62 転送遅延時間測定部、63 転送フレーム編集部、64,66 受信タイムスタンプ取得部、65,67 送信タイムスタンプ取得部、68,69 PHY層、71 プロセッサ、72 イーサネットMAC、73 イーサネットPHY、74 イーサネット回線、75 システムクロック生成部、76 メディアクロック生成部、77 メディアデバイス、81 イーサネットフレーム受信部、82 フレーム受信時刻取得部、83 クロック制御部、84 メディアクロックキャプチャ部、85 メディアクロック制御部、86 メディアデータ送信部。
Claims (15)
- ネットワークを経由して、音声データと映像データの少なくとも1つのデータを第1装置から第2装置へ送信するネットワークシステムであって、
前記第1装置は、
第1現在時刻を保持する第1現在時刻保持回路と、
前記少なくとも1つのデータを再生するための第1クロック信号を生成する第1クロック生成回路と、
所定のフレームを第1のタイミングで送信するフレーム送信部であって、前記所定のフレームが前記第1のタイミングよりも前の第2のタイミングで送信されたときの前記第1現在時刻に基づく送信時刻を含む前記所定のフレームを、前記ネットワークを介して前記第1のタイミングで前記第2装置へ送信するフレーム送信部と、
を有し、
前記第2装置は、
第2現在時刻を保持する第2現在時刻情報保持回路と、
前記少なくとも1つのデータを再生するための第2クロック信号を生成する第2クロック生成回路と、
前記ネットワークを介して前記所定のフレームを受信するフレーム受信部と、
前記所定のフレーム中に含まれる前記送信時刻と、前記第2のタイミングで送信された前記所定のフレームを第3のタイミングで受信したときの前記第2現在時刻に基づく受信時刻と、前記所定のフレーム中に含まれる前記所定のフレームが前記ネットワークを経由して前記第1装置から前記第2装置へ送信されるまでの遅延時間とに基づいて、前記第2現在時刻を前記第1現在時刻に同期させる第1クロック同期部と、
を有する、ネットワークシステム。 - 前記第1クロック同期部は、前記送信時刻に前記遅延時間を加算して得られた時刻と、前記受信時刻との差を用いて、前記第2現在時刻を前記第1現在時刻に同期させる、請求項1に記載のネットワークシステム。
- 前記第2装置は、複数回受信した前記複数の所定のフレームに含まれる複数の前記送信時刻と、前記複数の所定のフレームを受信したときの複数の前記受信時刻と、前記差とを用いて、前記第2現在時刻を保持する前記第2時刻情報保持回路のクロック周波数を、前記第1現在時刻を保持する前記第1時刻情報保持回路のクロック周波数に同期させる第2クロック同期部を有する、請求項2に記載のネットワークシステム。
- 前記ネットワーク上に設けられ、前記所定のフレームを転送するスイッチを有し、
前記遅延時間は、前記スイッチにおいて前記第1装置からの前記所定のフレームを受信してから前記第2装置へ送信するまでの転送遅延時間を含む、請求項1に記載のネットワークシステム。 - 前記スイッチは、前記転送遅延時間を測定する転送遅延時間測定部を有する、請求項4に記載のネットワークシステム。
- 前記所定のフレームは、前記転送遅延時間を格納するフィールドを有し、
前記スイッチは、前記フィールド中の前記転送遅延時間を、測定された前記転送遅延時間を用いて更新するフレーム編集部を有する、請求項5に記載のネットワークシステム。 - 前記所定のフレームは、前記第1クロック信号に基づく第1時間間隔で取得された第1の複数のタイミング時刻を含み、
前記第2装置は、前記所定のフレーム中に含まれる前記第1の複数のタイミング時刻と、前記第2クロック信号に基づく前記第1時間間隔と同じ第2の時間間隔で取得された第2の複数のタイミング時刻とに基づいて、前記第1クロック信号のクロックタイミングに前記第2クロック信号のクロックタイミングが一致するように、前記第2クロック信号を、前記第1クロック信号に同期させる第3クロック同期部を有する、請求項1に記載のネットワークシステム。 - 前記所定のフレームは、CRF(クロックリカバリフォーマット)フレーム又はAVTP(オーディオ・ビデオ・トランスポート・プロトコル)フレームである、請求項1に記載のネットワークシステム。
- ネットワークを経由して音声データと映像データの少なくとも1つのデータを送信する送信装置であって、
現在時刻を保持する現在時刻保持回路と、
前記少なくとも1つのデータを再生するためのクロック信号を生成するクロック生成回路と、
所定のフレームを第1のタイミングで送信するフレーム送信部であって、前記所定のフレームが前記第1のタイミングよりも前の第2のタイミングで送信されたときの前記現在時刻に基づく送信時刻を含む前記所定のフレームを、前記ネットワークを介して前記第1のタイミングで送信するフレーム送信部と、
を有する、送信装置。 - 前記所定のフレームは、CRF(クロックリカバリフォーマット)フレーム又はAVTP(オーディオ・ビデオ・トランスポート・プロトコル)フレームである、請求項9に記載の送信装置。
- ネットワークを経由して送信装置からの音声データと映像データの少なくとも1つのデータを受信する受信装置であって、
第1現在時刻を保持する第1現在時刻保持回路と、
前記少なくとも1つのデータを再生するための第1クロック信号を生成する第1クロック生成回路と、
前記ネットワークを介して前記送信装置からの所定のフレームを受信するフレーム受信部と、
前記所定のフレーム中に含まれ前記送信装置が前記所定のフレームを送信した第1のタイミングよりも前の第2のタイミングの前記送信装置の第2現在時刻に基づく送信時刻と、前記第2のタイミングで送信された前記所定のフレームを第3のタイミングで受信したときの前記第1現在時刻に基づく受信時刻と、前記所定のフレーム中に含まれる前記所定のフレームが前記ネットワークを経由して前記送信装置から前記受信装置へ送信されるまでの遅延時間とに基づいて、前記第1現在時刻を前記送信装置の第2現在時刻に同期させる第1クロック同期部と、
を有する、受信装置。 - 前記第1クロック同期部は、前記送信時刻に前記遅延時間を加算して得られた時刻と、前記受信時刻との差を用いて、前記第1現在時刻を前記送信装置の前記第2現在時刻に同期させる、請求項11に記載の受信装置。
- 複数回受信した前記複数の所定のフレームに含まれる複数の前記送信時刻と、前記複数の所定のフレームを受信したときの複数の前記受信時刻と、前記差とを用いて、前記第1現在時刻を保持する前記第1時刻情報保持回路のクロック周波数を、前記送信装置の前記第2現在時刻を保持する第2時刻情報保持回路のクロック周波数に同期させる第2クロック同期部を有する、請求項12に記載の受信装置。
- 前記所定のフレームは、前記送信装置の第2クロック信号に基づく第1時間間隔で取得された第1の複数のタイミング時刻を含み、
前記所定のフレーム中に含まれる前記第1の複数のタイミング時刻と、前記第1クロック信号に基づく前記第1時間間隔と同じ第2時間間隔で取得された第2の複数のタイミング時刻とに基づいて、前記第2クロック信号のクロックタイミングに前記第1クロック信号のクロックタイミングが一致するように、前記第1クロック信号を、前記第2クロック信号に同期させる第3クロック同期部を有する、請求項11に記載の受信装置。 - 前記所定のフレームは、CRF(クロックリカバリフォーマット)フレーム又はAVTP(オーディオ・ビデオ・トランスポート・プロトコル)フレームである、請求項11に記載の受信装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019163394A JP2021044629A (ja) | 2019-09-06 | 2019-09-06 | ネットワークシステム、送信装置及び受信装置 |
US16/740,544 US11039042B2 (en) | 2019-09-06 | 2020-01-13 | Network system, transmission apparatus, and reception apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019163394A JP2021044629A (ja) | 2019-09-06 | 2019-09-06 | ネットワークシステム、送信装置及び受信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021044629A true JP2021044629A (ja) | 2021-03-18 |
Family
ID=74849642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019163394A Pending JP2021044629A (ja) | 2019-09-06 | 2019-09-06 | ネットワークシステム、送信装置及び受信装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11039042B2 (ja) |
JP (1) | JP2021044629A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11985218B2 (en) * | 2021-08-27 | 2024-05-14 | Harman International Industries, Incorporated | Media clock recovery and trigger |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8699646B2 (en) | 2011-04-18 | 2014-04-15 | Harman International Industries, Inc. | Media clock negotiation |
US8619803B2 (en) | 2011-05-05 | 2013-12-31 | Harman International Industries, Incorporated | Sparse mode system |
US9451313B2 (en) | 2011-06-29 | 2016-09-20 | Harman International Industries, Incorporated | Network media adapter |
JP5849786B2 (ja) * | 2012-03-08 | 2016-02-03 | 富士通株式会社 | データブロック出力装置、通信システム、データブロック出力方法、及び通信方法 |
JPWO2016072038A1 (ja) * | 2014-11-05 | 2017-08-10 | 日本電気株式会社 | 通信システム、時刻同期方法及び無線中継装置 |
JP2016123009A (ja) | 2014-12-25 | 2016-07-07 | ルネサスエレクトロニクス株式会社 | 半導体装置、電子デバイス・モジュール、及びネットワークシステム |
EP3136678B1 (en) | 2015-08-27 | 2019-11-27 | Tata Consultancy Services Limited | System and method for real-time transfer of audio and/or video streams through an ethernet avb network |
JP6503271B2 (ja) | 2015-09-11 | 2019-04-17 | 株式会社日立製作所 | 時刻同期システム |
KR102400730B1 (ko) * | 2016-02-23 | 2022-05-20 | 현대자동차주식회사 | 네트워크에서 통신 노드들 간의 시간 동기화 방법 |
WO2018027704A1 (zh) * | 2016-08-10 | 2018-02-15 | 华为技术有限公司 | 时间同步的方法和设备 |
US10476763B2 (en) * | 2017-04-05 | 2019-11-12 | Ciena Corporation | Scaling operations, administration, and maintenance sessions in packet networks |
-
2019
- 2019-09-06 JP JP2019163394A patent/JP2021044629A/ja active Pending
-
2020
- 2020-01-13 US US16/740,544 patent/US11039042B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20210075936A1 (en) | 2021-03-11 |
US11039042B2 (en) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11831935B2 (en) | Systems, methods and computer-readable media for configuring receiver latency | |
US8014423B2 (en) | Reference time distribution over a network | |
US6934287B2 (en) | Packet handler of audio data by isochronous mode | |
US8576883B2 (en) | Measurement and adjustment of real-time values according to residence time in networking equipment without access to real time | |
US9553713B2 (en) | Method and system for transmitting clock reference streams with timestamps directly to audio/video end nodes in an audio/video bridging network | |
US10602468B2 (en) | Software based audio timing and synchronization | |
US20200205100A1 (en) | Software based audio timing and synchronization | |
EP3868043B1 (en) | Wireless audio synchronization | |
JP2021044629A (ja) | ネットワークシステム、送信装置及び受信装置 | |
JP7218313B2 (ja) | 通信装置、通信システム、および通信方法 | |
WO2020206465A1 (en) | Software based audio timing and synchronization | |
WO2019136076A1 (en) | Software based audio timing and synchronization | |
JP7161505B2 (ja) | 情報通信システム及び情報通信装置 | |
JPH10190736A (ja) | ネットワークデータの同期方法および装置 | |
WO2024055067A1 (en) | A method of streaming synchronized audio over a network |