(57)【要約】【課題】時間情報を含むストリームを、第１のネットワークに接続された機器から第２のネットワークに接続された機器にタイミングエラーの影響を受けないように伝送することができるストリーム伝送装置を提供する。【解決手段】ストリームをバッファ３に蓄積し、ストリームに含まれる連続する２つの時間情報の差分と２つの時間情報の間にあるストリームデータ量の差分から、各パケットをバッファ３から読み出してＩＥＥＥ１３９４ネットワークに出力するタイミングとＩＥＥＥ１３９４ネットワーク送出時にストリームに付加するタイムスタンプを算出すると共に、バッファ３に蓄えられているデータ量に基づいて算出した補正値を用いてストリーム送出タイミングを補正するよう構成することにより、送受信タイミングの変動を受けたストリームを、タイミング変動を除去した上でＩＥＥＥ１３９４ネットワークに伝送する。【選択図】        図１   
2005295295.tif 000002
【特許請求の範囲】
【請求項１】
時間情報を含むストリームを、第１のネットワークに接続された機器から第２のネットワークに接続された機器に伝送するストリーム伝送装置において、
前記第１のネットワークで伝送されたストリームを受信する受信手段と、
前記受信手段により受信されたストリームを一時的に蓄積するバッファ手段と、
前記受信手段により受信されたストリームから時間情報を抽出する時間情報抽出手段と、
前記時間情報抽出手段により抽出された２つの時間情報の差、及び前記バッファ手段における前記２つの時間情報が挿入されたストリーム位置の間にあるストリームのデータ量に基づいて、前記ストリームをパケットごとに前記バッファ手段から読み出して前記第２のネットワークに送出するタイミングと前記第２のネットワークに送出するストリームに付加するタイムスタンプを算出すると共に、前記バッファ手段に蓄積されているストリームのデータ量に基づいて算出した補正値を用いて前記ストリームを前記第２のネットワークに送出するタイミングを補正する読出タイミング制御手段と、
前記読出タイミング制御手段から出力されたストリームに前記読出タイミング制御手段で算出されたタイムスタンプを挿入するタイムスタンプ挿入手段と、
前記タイムスタンプ挿入手段によりタイムスタンプを挿入されたストリームを前記第２のネットワークに送出するインターフェース手段と
を有することを特徴とするストリーム伝送装置。
【請求項２】
前記インターフェース手段が、予め定められたサイクル時間を出力し、
前記読出タイミング制御手段が、
前記時間情報抽出手段により抽出された前記２つの時間情報の差を求める第１の減算手段と、
前記バッファ手段における前記２つの時間情報が挿入されたストリーム位置の間にあるストリームの前記データ量を算出する第２の減算手段と、
前記第１の減算手段の出力を前記第２の減算手段の出力で除算する除算手段と、
前記除算手段の出力に予め定められた定数を乗じる第１の乗算手段と、
前記バッファ手段に蓄積されたストリームの前記データ量を予め定められた複数の閾値と比較する比較手段と、
前記比較手段の出力に基づいて前記補正値を設定する補正値設定手段と、
前記第１の乗算手段の出力に前記補正値を乗じる第２の乗算手段と、
前記インターフェース手段のサイクル時間を基準に前記バッファ手段からストリームをパケット毎に読み出すパケット読出手段と、
前記パケット読出手段がパケットを読み出す毎に値が更新されるデータ保持手段と、
前記データ保持手段の出力に前記第２の乗算手段の出力を加算して、前記データ保持手段に入力する加算手段と、
前記データ保持手段の出力から前記タイムスタンプを算出するタイムスタンプ算出手段と
を有することを特徴とする請求項１に記載のストリーム伝送装置。
【請求項３】
前記ストリームがＭＰＥＧ−２トランスポートストリームであることを特徴とする請求項１又は２のいずれかに記載のストリーム伝送装置。
【請求項４】
前記第１のネットワークがイーサネットであり、前記第２のネットワークがＩＥＥＥ１３９４ネットワークであることを特徴とする請求項１から３までのいずれかに記載のストリーム伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＰＥＧ−２トランスポートストリームのような時間情報を含むストリームを異なるネットワーク間で（例えば、イーサネットからＩＥＥＥ１３９４ネットワークへ）伝送するストリーム伝送装置に関するものである。
【背景技術】
【０００２】
従来の等時性データ通信用の装置（ストリーム伝送装置）として、例えば、特許文献１（特表２００３−５１９４４８号公報）に提案されたものがある。この装置においては、２つのバス（特許文献１の図４の符号１，２）を伝送ブリッジ（特許文献１の図４の符号３）で接続した、パケットに基づく通信ネットワークを介して、ＭＰＥＧ−２トランスポートストリームなどの等時性データを伝送する場合に、タイミングエラーを訂正するために、以下のような方法が用いられている。送信側で等時性データパケットに挿入された最初の伝送タイムスタンプ値を後続して受信される各データパケットにおける伝送タイムスタンプ値から減算して得た値を、受信されたデータパケットの最初のものの出力時間（この出力時間は、伝送タイムスタンプを含む最初のパケットが受信された時点での、送信側の伝送クロックと周波数においては同期されているが絶対時間においては必ずしも同期されていない受信器クロックに基づく絶対時間に、所与の時間オフセットを加算して決定した時間である。）に加算して前記後続のデータパケットの出力時間を規定することによって、各パケットの出力時間のタイミングエラー（ジッタ）を吸収している（特許文献１の段落００３０〜００３１）。しかし、この方法では、伝送ブリッジで接続された２つのバス上のクロックは、絶対時間としてはロックされる必要はないものの、周波数的にはロックされる必要がある（特許文献１の段落００３３）。
【０００３】
【特許文献１】特表２００３−５１９４４８号公報（段落００２２〜００３３、図４）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記したように従来のストリーム伝送装置では、送信装置と受信装置のそれぞれが伝送ブリッジを介して接続された別のネットワークに接続されている場合、送信側と受信側のクロックが絶対時間としてはロックされる必要はないものの周波数的にはロックされていることを前提としているが、イーサネットとＩＥＥＥ１３９４ネットワークのように異なるネットワーク間を伝送ブリッジで接続する場合には、周波数ロックを実現することが困難であるという問題があった。
【０００５】
そこで、本発明は、上記のような従来技術の問題を解決するためになされたものであり、その目的は、第１のネットワークに接続された機器において用いられる送信側のクロックに基づくタイミングで送られてくるストリームを、送信側のクロックとは無関係のクロックを用いる第２のネットワークに接続された機器に、タイミングエラーの影響を受けないように伝送することができるストリーム伝送装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明に係るストリーム伝送装置は、時間情報を含むストリームを、第１のネットワークに接続された機器から第２のネットワークに接続された機器に伝送する装置であって、前記第１のネットワークで伝送されたストリームを受信する受信手段と、前記受信手段により受信されたストリームを一時的に蓄積するバッファ手段と、前記受信手段により受信されたストリームから時間情報を抽出する時間情報抽出手段と、前記時間情報抽出手段により抽出された２つの時間情報の差、及び前記バッファ手段における前記２つの時間情報が挿入されたストリーム位置の間にあるストリームのデータ量に基づいて、前記ストリームをパケットごとに前記バッファ手段から読み出して前記第２のネットワークに送出するタイミングと前記第２のネットワークに送出するストリームに付加するタイムスタンプを算出すると共に、前記バッファ手段に蓄積されているストリームのデータ量に基づいて算出した補正値を用いて前記ストリームを前記第２のネットワークに送出するタイミングを補正する読出タイミング制御手段と、前記読出タイミング制御手段から出力されたストリームに前記読出タイミング制御手段で算出されたタイムスタンプを挿入するタイムスタンプ挿入手段と、前記タイムスタンプ挿入手段によりタイムスタンプを挿入されたストリームを前記第２のネットワークに送出するインターフェース手段とを有するものである。
【発明の効果】
【０００７】
本発明のストリーム伝送装置によれば、第１のネットワークを介して送られてきたストリームをバッファ手段に蓄積し、ストリームに含まれる２つの時間情報の差分、及び前記バッファ手段における前記２つの時間情報の間にあるストリームのデータ量の差分から、各パケットをバッファ手段から読み出して第２のネットワークに送出するタイミングと第２のネットワークへの送出時にストリームに付加するタイムスタンプを算出するよう構成したので、第１のネットワークに接続された機器において用いられる送信側のクロックに基づくタイミングで送られてくるストリームを、送信側のクロックとは無関係のクロックを用いる第２のネットワークに接続された機器に、タイミングエラーを除去した上で伝送することができるという効果が得られる。また、本発明のストリーム伝送装置によれば、バッファ手段に蓄積されているデータ量に基づいて算出した補正値を用いてストリーム送出タイミングを補正するよう構成したので、バッファ手段のオーバーフロー又はアンダーフローを防いで、連続したデータ伝送を実現できるという効果が得られる。
【発明を実施するための最良の形態】
【０００８】
図１は、本発明の実施の形態１によるストリーム伝送装置の構成を示すブロック図である。図１に示されるように、実施の形態１のストリーム伝送装置は、イーサネット（登録商標）（図示せず）に接続されたイーサネット入力端子１と、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）受信部（パケット受信部）２と、バッファ３と、ＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ：プログラムクロック基準）抽出部４と、読出タイミング制御部５と、タイムスタンプ挿入部９と、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）１３９４インターフェース１０と、ＩＥＥＥ１３９４バス（図示せず）に接続されたＩＥＥＥ１３９４端子１４とを有している。また、ＩＥＥＥ１３９４インターフェース１０は、ＩＥＥＥ１３９４端子１４に接続されたアイソクロナス（等時性）ストリーム送出部１１と、サイクルタイマレジスタ１２と、クロック発生部１３とを有している。
【０００９】
実施の形態１のストリーム伝送装置においては、イーサネットからイーサネット入力端子１に入力されるＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−２トランスポートストリームのデータパケットは、ＵＤＰ受信部２で受信されてバッファ３に蓄積されると共に、ＭＰＥＧ−２トランスポートストリームに含まれるＰＣＲを抽出するＰＣＲ抽出部４に送られる。ＰＣＲ抽出部４で抽出されたＰＣＲ値は、読出タイミング制御部５に送られる。
【００１０】
読出タイミング制御部５は、サイクルタイマレジスタ１２の値とＰＣＲ抽出部４で抽出されたＰＣＲ値から、バッファ３からデータを読み出すタイミングを決定し、バッファ３からデータを読み出してタイムスタンプ挿入部９に送り出すと共に、タイムスタンプ挿入部９で挿入すべきタイムスタンプ値を算出してタイムスタンプ挿入部９に供給する。タイムスタンプ挿入部９でタイムスタンプが挿入されたストリームデータは、ＩＥＥＥ１３９４インターフェース１０の一部であるアイソクロナスストリーム送出部１１に送られ、ＩＥＥＥ１３９４端子１４からＩＥＥＥ１３９４バスに送出される。
【００１１】
実施の形態１においては、パーソナルコンピュータ（ＰＣ）やサーバなどのようなイーサネットインターフェースを持つ機器（図示せず）からイーサネットを介して図１のイーサネット入力端子１にＭＰＥＧ−２システム規格（ＩＳＯ（国際標準化機構）／ＩＥＣ（国際電気標準会議）１３８１８−１）において規定されたトランスポートストリームが送られているものとする。ＭＰＥＧ−２トランスポートストリームには、ストリームを受信した機器がデコードのタイミングを決定するためのタイムスタンプ（ＰＣＲ）が挿入されている。ＰＣＲは、ストリームを生成する装置が持つシステムクロック（例えば、２７ＭＨｚ）をカウントして、ストリーム送出時に０．１秒以下の間隔で挿入される。受信側では、ＰＣＲを抜き出して、抜き出されたＰＣＲをもとにＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路などにより、送信側と周波数が一致した２７ＭＨｚのシステムクロックを再現し、デコードのタイミングを制御する。このため、ＰＣＲが受信側のデコーダに入る時間間隔は、送信時の時間間隔と等しくなるように伝送する必要がある。
【００１２】
ＭＰＥＧ−２トランスポートストリームをイーサネット経由で送信する場合には、トランスポートパケットを、ＵＤＰなどのＩＰ（インターネットプロトコル）パケットに乗せてイーサネットインターフェースから送り出す。このとき、ＰＣ等のプロセッサが制御してトランスポートパケットをイーサネットインターフェースに転送し、ネットワークを通して受信側に送り届ける過程で、パケット毎に到着する時間に揺らぎ、すなわち、ジッタが発生する。
【００１３】
一方、ＩＥＥＥ１３９４バスにおいては、アイソクロナス転送によってＭＰＥＧ−２トランスポートストリームを伝送する。アイソクロナス転送は、バス上に１台あるサイクルマスタとなる機器が一定間隔（例えば、８ｋＨｚ）毎に送信するサイクルスタートパケットに同期して行なわれる。サイクルスタートパケットは、バス上のすべての機器にブロードキャストされ、各機器が持つサイクルタイマレジスタにパケットに含まれるサイクル時間を設定する。ＭＰＥＧ−２トランスポートストリーム伝送の場合、国際規格ＩＥＣ６１８８３−４にＩＥＥＥ１３９４バス上の伝送方法が規定されており、１つのＭＰＥＧ−２トランスポートパケット（１８８バイト）に後述する４バイトのソースパケットヘッダを付加した後に８等分した各２４バイト長のデータブロックを１個又は複数個組み合わせて１アイソクロナスパケットとして伝送する。前記４バイトのソースパケットヘッダは、２５ビットのタイムスタンプと、現在使用されていない７ビットとから構成される。前記２５ビットのタイムスタンプは、上記サイクル時間に対応する１３ビットのサイクルカウントと、各サイクル内でＩＥＥＥ１３９４インターフェースに使用される基準クロック２４．５７６ＭＨｚをカウントした１２ビットのサイクルオフセットとから構成される。このタイムスタンプは、受信側でＭＰＥＧ−２トランスポートストリームデコーダにトランスポートパケットの先頭バイトが入力されるべき時間を、サイクル時間で表示したものである。
【００１４】
一般に、ＩＥＥＥ１３９４インターフェース１０にＭＰＥＧ−２トランスポートストリームを送出する際には、スムージングバッファでレートを平滑化しておく。この平滑化によりＭＰＥＧ−２トランスポートストリームは時間的にシフトする。スムージングバッファの出力はＩＥＥＥ１３９４インターフェース１０を介して受信側に送られるが、この時、受信機器にストリームが到着する時間にはジッタが発生する。受信機器内部には受信バッファが備えられており、この受信バッファによりスムージングバッファで導入された時間シフトと伝送に伴うジッタが吸収される。受信バッファからの読出のタイミングは、前記タイムスタンプがサイクル時間に一致した時点になされる。このため、タイムスタンプは、対応するＭＰＥＧ−２トランスポートストリームがスムージングバッファに入力された時点のサイクル時間に、スムージングバッファ、ＩＥＥＥ１３９４インターフェース伝送及び受信バッファを通過するのに要する時間を見込んで設定した一定のオフセット値を加えた値に設定する。
【００１５】
図１の構成においては、イーサネット入力端子１からＵＤＰパケットとして入力されたＭＰＥＧ−２トランスポートストリームをＵＤＰ受信部２で受信し、バッファ３に送り、一旦蓄積すると共に、ＰＣＲ抽出部４にも送って、時間情報（ＰＣＲ）を抽出し、バッファ３に蓄積されたＭＰＥＧ−２トランスポートストリームのパケット位置とＰＣＲを関連付ける。読出タイミング制御部５は、バッファ３に蓄積されたデータ量をモニタし、予め定めた一定のデータ量（少なくとも２つのＰＣＲ（例えば、連続する２つのＰＣＲ、すなわち、バッファ３に先に入力された最初のＰＣＲとこの最初のＰＣＲの次にバッファ３に入力された後続のＰＣＲ）が含まれるデータ量）Ｂｔｈを超えた時点でバッファ３からデータの読み出しを開始する。読出タイミング制御部５は、ＰＣＲ抽出部４からバッファ３に蓄積されたＭＰＥＧ−２トランスポートパケットの最初のＰＣＲとこれに続く後続の（すなわち、次の）ＰＣＲをＰＣＲ抽出部４から読み出し、次のような方法で各パケットの送出タイミングを決定する。
【００１６】
今、バッファ３に蓄積されたＭＰＥＧ−２トランスポートパケットの内、最初のＰＣＲを含むパケットの先頭バイトのバッファ位置をｂｐ０、これに対応するＰＣＲ値をｐｃｒ０とし、また、次のＰＣＲを含むパケットの先頭バイトのバッファ位置をｂｐ１、これに対応するＰＣＲ値をｐｃｒ１とする。さらに、バッファ３に蓄積されたデータ量が閾値Ｂｔｈを超えた時点ｔ０（秒）で読出タイミング制御部５がバッファ３のバッファ位置ｂｐ０からデータの読み出しを開始したものとすると、最初のＰＣＲを含むパケットの先頭バイトのバッファ位置ｂｐ０から数えてｎ番目のパケットの先頭バイトを読み出すタイミングｔｎ（秒）は次式１で与えられる。
【００１７】
【数１】
2005295295.tif 000003
【００１８】
式１において、ＰＣＲは２７ＭＨｚのシステムクロックをカウントしているため連続する２つのＰＣＲの時間間隔を秒で表すと、
（ｐｃｒ１−ｐｃｒ０）／２７００００００
となる。また、最初のＰＣＲを含むパケットの先頭バイトのバッファ位置ｂｐ０と次のＰＣＲを含むパケットの先頭バイトのバッファ位置ｂｐ１の間のパケット数を、バイト単位で表したバッファ位置の差分ｂｐ１−ｂｐ０と、１トランスポートパケットの長さ１８８バイトとを用いて表すと、
（ｂｐ１−ｂｐ０）／１８８
となる。上記式１で与えられる時間に合わせて、バッファ位置ｂｐ０からｂｐ１までのパケットを読み出してＩＥＥＥ１３９４インターフェースに送り出すことにより、各パケットの先頭バイトは正確なタイミングに従って送出されることとなる。一方、ＩＥＥＥ１３９４インターフェース１０においては、前述したようにサイクル時間が基準時間として用いられる。上の例では、各パケットは
【数２】
2005295295.tif 000004
秒間隔で送出される必要があり、この時間間隔を８ｋＨｚのサイクル時間に置き換えた値ｔｉｃは次式２で表すことができる。
【００１９】
【数３】
2005295295.tif 000005
【００２０】
読出タイミング制御部５は、ＩＥＥＥ１３９４インターフェース１０のサイクルタイマレジスタ１２からサイクル時間を得て、上記読み出しタイミングをサイクル時間に変換した値に基づいてパケットの読み出しタイミング制御を行なう。すなわち、上記ｐｃｒ０を含むトランスポートパケットの読み出しをサイクル時間Ｃｔ０で開始した場合、ｎ番目のトランスポートパケットは、次式３
Ｃｔ０＋ｉ≦Ｃｔ０＋ｎ＊ｔｉｃ＜Ｃｔ０＋ｉ＋１      …式３
を満足するサイクル時間Ｃｔ０＋ｉにおけるアイソクロナスパケットとして送出する。ここで、Ｃｔ０＋ｉは、０から７９９９までの値（整数値）を取るサイクル時間であり、８０００に達すると０に戻る。これに対応して、Ｃｔ０＋ｎ＊ｔｉｃの値も、８０００以上になった時点で８０００を減算する。
【００２１】
さらに、読出タイミング制御部５は、タイムスタンプ値を以下の方法で決定し、タイムスタンプ挿入部９に送る。タイムスタンプは、上述のように受信バッファからトランスポートパケットを読み出してデコードを行なうタイミングを示し、上記読み出しタイミングＣｔ０＋ｎ＊ｔｉｃに一定のオフセット値Ｏｆｓを加えた値Ｃｔ０＋ｎ＊ｔｉｃ＋Ｏｆｓになる。従って、サイクルカウント値は、Ｃｔ０＋ｎ＊ｔｉｃ＋Ｏｆｓの整数部、すなわち、ｉｎｔ（Ｃｔ０＋ｎ＊ｔｉｃ＋Ｏｆｓ）になる。ただし、読み出しタイミングにオフセット値を加えた値Ｃｔ０＋ｎ＊ｔｉｃ＋Ｏｆｓの値が８０００以上になった場合には、８０００を減算する。また、サイクルオフセット値は各サイクル内で、基準クロック２４．５７６ＭＨｚをカウントした値であり、
１サイクル＝２４５７６０００Ｈｚ／８０００Ｈｚ＝３０７２カウント
に相当するので、Ｃｔ０＋ｎ＊ｔｉｃ＋Ｏｆｓの小数点部
Ｃｔ０＋ｎ＊ｔｉｃ＋Ｏｆｓ−ｉｎｔ（Ｃｔ０＋ｎ＊ｔｉｃ＋Ｏｆｓ）
に、３０７２を乗じた値を用いる。この処理を各トランスポートパケットについて繰り返し、読み出しがｐｃｒ１を含むパケットに達した場合、再び、続くＰＣＲの値ｐｃｒ２を用いてｔｉｃ値を置き換えると共に、ｐｃｒ１を含むパケット送出タイミングＣｔ０＋ｎ＊ｔｉｃを新たなＣｔ０値として同様の動作を続ける。
【００２２】
上記動作により、イーサネット経由で送られてきたＭＰＥＧ−２トランスポートストリームをＰＣＲに基づくタイミングで、タイムスタンプを付加した上でＩＥＥＥ１３９４インターフェースに送り出すことができる。しかしながら、イーサネットにＭＰＥＧ−２トランスポートストリームを送出した機器の基準クロックとＩＥＥＥ１３９４上のサイクル時間の基準となるクロックは周波数的にロックしていないため、バッファ３にデータが蓄積される速度と読み出される速度は完全には一致しない。そこで、バッファ３に蓄積されたデータ量が予め設定した閾値Ｕｔｈ０を下回ったときには、上記ｔｉｃに１より大きい補正値ｃ０を乗じることにより、バッファ３からの読み出し速度を落とし、バッファ３に蓄積されたデータ量が閾値Ｕｔｈ０より大きい閾値Ｕｔｈ１を越えた時点で補正値ｃ０を１に戻す。逆に、バッファ３に蓄積されたデータ量が予め設定した閾値Ｏｔｈ０を越えた場合には上記ｔｉｃに１より小さい正数の補正値ｃ１を乗じることにより、バッファ３からの読み出し速度を上げ、バッファ３に蓄積されたデータ量が閾値Ｏｔｈ０より小さい閾値Ｏｔｈ１を下回った時点で補正値ｃ１を１に戻す。上記補正値ｃ０，ｃ１を１に近い値に設定することにより、ＩＥＥＥ１３９４インターフェースに送り出されるＰＣＲ間隔の誤差を小さく保ちながら、基準クロックの相違によるバッファ３のオーバーフロー、アンダーフローを防いでＩＥＥＥ１３９４インターフェースに送り出されるＭＰＥＧ−２トランスポートストリームのデータ欠落をなくし、連続したデータ転送を実現できる。
【００２３】
上記動作を実行するための読出タイミング制御部５の構成の一例を図２に示す。図２において、図１の構成と同一の符号を付したものは、同一又はこれに相当するものである。読出タイミング制御部５は、比較部２０〜２３、補正値設定部２４、第１減算部２５、第２減算部２６、除算部２７、ＴＳＰ（トランスポートストリームパケット）読出部２９、ラッチ部２８、加算部３０、第１乗算部３２、第２乗算部３１、及びタイムスタンプ算出部３３を含む。
【００２４】
図２において、ＰＣＲ抽出部４はバッファ３に蓄積されたＭＰＥＧ−２トランスポートストリームに含まれる連続する２つのＰＣＲ（すなわち、先に抽出されたＰＣＲと、その次に抽出されたＰＣＲ）であるｐｃｒ０とｐｃｒ１を第１減算部２５に入力し、ｐｃｒ０を含むトランスポートパケットの先頭位置ｂｐ０及びｐｃｒ１を含むトランスポートパケットの先頭位置ｂｐ１を第２減算部２６に入力し、第１減算部２５の出力（ｐｃｒ１−ｐｃｒ０）と第２減算部２６の出力（ｂｐ１−ｂｐ０）を得る。第１減算部２５の出力は除算部２７において第２減算部２６の出力で除算されて（ｐｃｒ１−ｐｃｒ０）／（ｂｐ１−ｂｐ０）となり、その後、第１乗算部３２で定数１８８／３３７５を乗じて、次式４で示される、１トランスポートパケット当りのサイクル時間の増分ｔｉｃ
を得る。
【００２５】
【数４】
2005295295.tif 000006
【００２６】
一方、比較部２０〜２３の一方の入力にはバッファ３から蓄積されたデータ量ｂｆが供給されており、データ量ｂｆは、比較部２０〜２３のそれぞれに入力される閾値Ｕｔｈ０、Ｕｔｈ１、Ｏｔｈ０、Ｏｔｈ１（Ｕｔｈ０＜Ｕｔｈ１＜Ｏｔｈ１＜Ｏｔｈ０）と比較され、比較結果が補正値設定部２４に送られる。補正値設定部２４は、比較部２０〜２３における比較結果に基づいて下記の補正値ｃを出力する。
・ｂｆ＜Ｕｔｈ０になった場合には、ｃ＝ｃ０（ｃ０＞１）とする。
・ｂｆ＜Ｕｔｈ０となった後、データ量が回復し、ｂｆ＞Ｕｔｈ１となった場合には、ｃ＝１とする。
・ｂｆ＞Ｏｔｈ０になった場合には、ｃ＝ｃ１（０＜ｃ１＜１）とする。
・ｂｆ＞Ｏｔｈ０となった後、データ量が減少し、ｂｆ＜Ｏｔｈ１となった場合には、ｃ＝１とする。
【００２７】
ＴＳＰ読出部２９は、バッファ３に蓄積されたＭＰＥＧ−２トランスポートストリームをバッファ３からパケット単位で読み出し、１パケット読み出す毎にラッチ部２８に新たなデータをラッチするように制御信号を出力する。補正値設定部２４の出力ｃと第１乗算器３２の出力とを乗算する第２乗算器３１の出力ｃ＊ｔｉｃは、加算部３０に加えられ、直前にラッチ部２８で保持されたデータと加算されて、新たなデータとしてラッチ部２８に保持され、ＴＳＰ読出部２９に供給される。すなわち、ラッチ部２８の出力には、前述のトランスポートパケット送出サイクル時間Ｃｔ０＋ｎ＊ｔｉｃに相当する値が得られる。ＴＳＰ読出部２９では、ラッチ部２８の出力とサイクルタイマレジスタ１２から供給されるサイクル時間とを比較し、各トランスポートパケットを所定のサイクル内にタイムスタンプ挿入部９に送り出す。
【００２８】
タイムスタンプ算出部３３では、ラッチ部２８の出力値に所定のオフセット値を加え、その整数部からサイクルカウント値を、また小数部からサイクルオフセット値を算出し、タイムスタンプ挿入部９では、ＴＳＰ読出部２９から送られてきたトランスポートパケットにタイムスタンプを付加してＩＥＥＥ１３９４インターフェース１０に供給する。
【００２９】
実施の形態１の構成によれば、各パケットの送出タイミングと送出パケットに挿入するタイムスタンプ値をトランスポートパケットに含まれる時間情報であるＰＣＲに基づいて決定するため、各パケットは元のタイミングに正確に従ってＩＥＥＥ１３９４ネットワーク上を伝送されると共に、バッファ３に蓄えられたパケットの量に応じてＩＥＥＥ１３９４ネットワークへのパケット送出間隔を微調整するので、送出側の基準クロックと受信側の基準クロックがロックしていなくとも連続的にパケットを伝送することができる。
【００３０】
なお、上記説明においては、イーサネットに接続された機器からＩＥＥＥ１３９４ネットワークへ接続された機器へパケットデータを伝送するストリーム伝送装置を説明したが、送信側及び受信側のネットワークの種類は、上記以外の方式を採用したものであってもよい。
【００３１】
また、上記説明においては、比較部２０〜２３の数が４台であり、バッファ３のデータ蓄積量ｂｆと４個の閾値との比較結果に基づいて補正値ｃの値を変更する制御方法を説明したが、閾値の数を３個以下にすることも可能である。さらに、上記説明においては、比較部２０〜２３の数が４台であり、バッファ３のデータ蓄積量ｂｆと４個の閾値との比較結果に基づいて補正値ｃの値を１未満の所定値、１、１より大きい所定値の３個の値のいずれかにする制御方法を説明したが、閾値の数を５個以上にし、補正値ｃの値をよりきめ細かく設定する制御方法を採用してもよい。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施の形態１によるストリーム伝送装置の構成を示すブロック図である。
【図２】図１の読出タイミング制御部の構成を示すブロック図である。
【符号の説明】
【００３３】
１  イーサネット入力端子、  ２  ＵＤＰ受信部（パケット受信部）、  ３  バッファ、  ４  ＰＣＲ抽出部、  ５  読出タイミング制御部、  ９  タイムスタンプ挿入部、  １０  ＩＥＥＥ１３９４インターフェース、  １１  アイソクロナスストリーム送出部、  １２  サイクルタイマレジスタ、  １３  クロック発生部、  １４  ＩＥＥＥ１３９４端子、  ２０〜２３  比較部、  ２４  補正値設定部、  ２５  第１減算部、  ２６  第２減算部、  ２７  除算部、  ２８  ラッチ部、  ２９  ＴＳＰ読出部、  ３０  加算部、  ３１  第２乗算部、  ３２  第１乗算部、  ３３  タイムスタンプ算出部。
【図１】
2005295295.tif 000007
【図２】
2005295295.tif 000008