JP2006217651A - データ送信装置及び方法 - Google Patents

データ送信装置及び方法 Download PDF

Info

Publication number
JP2006217651A
JP2006217651A JP2006080232A JP2006080232A JP2006217651A JP 2006217651 A JP2006217651 A JP 2006217651A JP 2006080232 A JP2006080232 A JP 2006080232A JP 2006080232 A JP2006080232 A JP 2006080232A JP 2006217651 A JP2006217651 A JP 2006217651A
Authority
JP
Japan
Prior art keywords
packet
data
ethernet
signal
circuit
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.)
Granted
Application number
JP2006080232A
Other languages
English (en)
Other versions
JP4193856B2 (ja
Inventor
Hirobumi Hishikura
博文 菱倉
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2006080232A priority Critical patent/JP4193856B2/ja
Publication of JP2006217651A publication Critical patent/JP2006217651A/ja
Application granted granted Critical
Publication of JP4193856B2 publication Critical patent/JP4193856B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 パケットストリームとして生成されるデータのパケット形式を変換し、ネットワークを介してデータを送信する場合において、パケット間隔のずれに起因する復号信号の乱れを抑制する。
【解決手段】 TSパケットからなるトランスポートストリームがMPEG2エンコーダLSI22から出力される。TSパケットがよりサイズの大きいイーサネットパケットに格納されてネットワークに送出される。イーサネットパケットのパケットストリームに含まれるTSパケットの間隔、及び時間基準情報(PCR)の間隔を、それぞれトランスポートストリームに含まれるTSパケットの間隔及びPCRの間隔とほぼ同一とする。
【選択図】 図2

Description

本発明は、イーサネットやファーストイーサネットなどのLAN(Local Area Network)に画像データや音声データを送出するデータ送信装置及び方法に関する。
ネットワーク画像データ伝送システムは、図9に示すように、画像データ送信装置(以下「サーバ」という)101、及び画像データ受信装置(以下「クライアント」という)102がイーサネット100を介して接続されて構成される。サーバ101では、入力された映像信号をMPEG(Motion Picture Expert Group)2でエンコード処理を行い、このデータをイーサネットパケットに変換してイーサネット100に送り出す。クライアント102では、サーバ101と逆の手順により、受信したデータをデコードして、再生画像をモニタ103よりに表示するとともに、再生音声を出力する。
図10は、図9に示すサーバ101の回路構成を示したものである。サーバ101は、入力ビデオ信号をMPEG2で圧縮するMPEGエンコーダ回路111、圧縮されたデータ(トランスポートストリーム、以下TS)をイーサネット100に送出するイーサネット回路112、装置全体を制御するCPU(Central Processing Unit)113、CPU113による処理の対象となるデータを格納するDRAM(Dynamic Random Access Memory)114などにより構成される。
このうちMPEGエンコーダ回路111は、主にA/D変換器(同期信号分離回路、同期回路を含む)121と、MPEG2エンコーダLSI122と、FIFO(First In First Out)メモリ123と、バスコントロール回路124とで構成される。
ここで、入力されたビデオ信号がイーサネット100に送出されるまでの過程を簡単に説明する。図10において、入力されたビデオ信号は、A/D変換器121でディジタルデータに変換された後、MPEG2エンコーダLSI122にて圧縮処理され、トランスポートストリーム形式で出力される。このデータは一旦、FIFOメモリ123に保持され、CPU113のソフトウェア制御によりFIFOメモリ123から読み出され、バスコントロール回路124を通り、CPUデータバス115を介してDRAM114に書き込まれる。DRAM114から読み出されたデータは、UDP(User Datagram Protocol)やIP(Internet Protocol)のヘッダ情報が付加されてイーサネット回路112に送られ、イーサネットパケットIPCTごとにイーサネット100上に送出される。
次に、MPEG2エンコーダLSI122から出力されたトランスポートストリームをFIFOメモリ123に書き込み、書き込んだデータを読み出す動作を説明する。
図13は、サーバ101における各信号のタイミングを示したものである。MPEG2エンコーダLSI122から出力されるトランスポートストリーム(図13(b)に示すTSDATA)は、連続的に出力される場合と、途切れながらバースト的(間欠的)に出力される場合がある。図13は、トランスポートストリームが途切れながらバースト的に出力される場合を表している。各LSIメーカが提供するMPEG2エンコーダLSIの多くは、データを出力する際に、データに同期する形でVALID信号(同図(a))とSYNC信号(同図(b))を出力している。VALID信号は、データが有効な期間にアクティブとなる信号であり、図中のデータAやB、Cが出力される期間に高レベルが出力される。SYNC信号は、188バイトで構成されるTS(トランスポートストリーム)パケットの先頭バイトで高レベルとなる信号である。図13(b)に示すAやB、Cは、TSパケットが複数個出力された状態を示している。
図10のバスコントロール回路124は、MPEG2エンコーダLSI122から出力されたVALID信号やSYNC信号に応じて、FIFOメモリ123の書き込み制御を行い、CPU113の命令によりFIFOメモリ123からデータを読み出し、CPU113が受け取れるタイミングに調整する。
バスコントロール回路124から出力されるライトイネーブル信号(以下「WE信号」という)やリードイネーブル信号(以下「RE信号」という)は、それぞれFIFOメモリ123のWE端子及びRE端子に接続されており、この信号によってFIFOメモリ123の書き込み・読み出し操作が行われる。
図13に示すように、VALID信号が高レベルになると、バスコントロール回路124は、WE信号をアクティブ(図では高レベル)にしてFIFOメモリ123にデータを書き込む。この時、バスコントロール回路124のライトカウンタは、書き込まれたデータのバイト数をカウントしている(図13(d)のカウント動作期間TCO参照)。VALID信号が低レベルになると、バスコントロール回路124は、WE信号を低レベルにして書き込み動作を止めるとともに、カウント動作を中止し、現在のカウント値を保持する(同図(d)のカウント保持期間TCH)。
FIFOメモリ123に1460バイト(値の意味は後述する)が書き込まれると、バスコントロール回路124のライトカウンタが1460バイトとなり、MPEG割り込み信号MIRQが出力される(同図(f)、時刻t1,t2)。このMPEG割り込み信号MIRQは、CPU113のハードウェア割り込み端子に入力されており、CPU113に対して割り込み処理を要求する。割り込みが発生すると、CPU113上で動作する割り込み処理ルーチンが実行され、バスコントロール回路124に対しFIFOメモリ123の読み出し動作を指示する。CPU113からの命令を受けたバスコントロール回路124は、RE信号を高レベルにしてFIFOメモリ123からデータを読み出す。この後はCPU113によるソフトウェア処理となる。
次にイーサネットパケットの生成と送信方法について説明する。
従来のサーバでは、イーサネットパケットの最大長(1518バイト)を越えないようにするため、1500バイト相当のデータをイーサネットの1パケットとして送信する。従って、UDP・IPなどのヘッダを付加することを考慮して、データ領域を1460バイトに設定している。
CPU113上で動作する割り込み処理ルーチンなどのソフトウェアにより、FIFOメモリ123から読み出されたデータは、一旦DRAM114に書き込まれる。このデータに、図11に示すように、8バイトのUDPヘッダと20バイトのIPヘッダが付加されて、イーサネット回路112に送られる。イーサネット回路112では、更にこのデータに14バイトのイーサネットヘッダが付加され、1500バイト相当(1502バイト)の1パケットが出来上がる。これを図13(h)に示すタイミングでイーサネット100に送信される。最初の1パケットは、トランスポートストリームTSDATAのAとBで構成され、次のパケットは、Bの残りとCで構成されている。このように、従来のサーバは、MPEG2エンコーダLSI122から出力されたトランスポートストリームTS
DATAを1460バイト単位でイーサネットパケットに格納して送り出している。
一方、クライアント102は、既に述べたように、イーサネット回路132及びMPEGデコーダ回路131で構成されている。このうち、MPEGデコーダ回路131は、主にMPEG2デコーダLSIやメモリ(図示せず)で構成される。ここでは、MPEG2デコーダLSIのクロック同期系を中心に説明する。
MPEG2の規格では、ATM(Asynchronous Transfer Mode)などのネットワークによる伝送が想定されており、クロックや制御信号を直接伝送できない伝送路においても、受信側のMPEG2デコーダ(以下「デコーダ」という)を送信側のMPEG2エンコーダ(以下「エンコーダ」という)に同期させる仕組みが考えられている。それは、ストリーム内にタイムスタンプを付加して伝送するというものであり、ストリーム構造がトランスポートストリームの場合、プログラム時刻基準参照値(Program Clock Reference、以下「PCR」という)と呼ばれる。TSパケットには、ペイロードの他にアダプテーションフィールドという領域があり、この中のオプショナルフィールドにPCRが付加されている。これは、エンコーダが符号化時にシステムクロックから算出した時刻情報であり、送信間隔は100msec以下と規格で定められている。
デコーダ回路131では、受信したストリームからこのPCRを抜き出し、図12に示すようなPLL(Phase Locked Loop)回路により、デコーダ自身のシステムクロックをエンコーダ側のシステムクロックに同期させることができる。PLL回路の動作は以下の通りである。
図12は、MPEG2デコーダLSIに内蔵されるPLL回路の構成を示したものである。図のSTC(System Time Clock)は、デコーダ自身の27MHzのシステムクロックをSTCカウンタ144でカウントして算出される。このSTCカウンタ144は、エンコーダ側の基準カウンタと同一構成のものであり、受信したストリームから最初に抜き出されたPCRの値がロードされてカウンタ144の初期値が決定される。その後は、PLL回路の閉ループにおいてカウント動作を継続する。閉ループ内の比較器141では、PCRがデコーダに到着した時刻に、そのPCRとSTCの現在値とが比較される。その比較結果(誤差分)に応じた電圧がローパスフィルタ142を介して27MHzVCXO(電圧制御クリスタル発振器)143に供給され、クロック信号CL27Mの周波数27MHzが調整される。
このように、デコーダ回路131は、エンコーダで付加されたPCRを基準にクロックを微調整することによって、エンコーダのシステムクロック周波数に一致させることができる。
上述したように、サーバ101では、1500バイト相当のイーサネットパケットごとに送信が行われる。この時のタイミングを示したものが図13(h)である。ところが、エンコーダ(サーバ側)111から送信されたデータがデコーダ(クライアント側)131に到着するまでに、当然のことながら遅延時間TDが存在する。仮にこの遅延時間TDが一定であれば、クライアント102は、図13(h)から一定遅延された同図(i)のタイミングでデータを受け取ることになる。クライアント102では、このタイミングで受信したイーサネットパケットから188バイトのTSパケットを取り出してデコーダ131に渡すことになる。ここで、TSパケットの到着時刻(TSパケットの時間間隔)に着目すると、同図(i)に示す受信タイミングは、サーバ101のエンコーダLSI122から出力されたタイミング(同図(b))と異なっている。TSパケットの時間間隔が変わってしまうと、TSパケット内に付加されているPCRの到着時間間隔も変わってしまう。
デコーダLSIに搭載されたPLL回路では、PCRが到着した時刻においてPCRとSTCの比較が行われるため、パケットの時間間隔にずれが生じると比較結果の誤差が増えてしまう。その結果、PLL回路が間違った周波数に調整されてしまい、デコーダ131のシステムクロックがエンコーダ111のシステムクロックに同期しなくなる。この状態がしばらく続くと、クライアント102に設けたバッファがオーバフローまたはアンダフローを起こし、デコードした画像が乱れるという問題が発生する。
また既に述べたように、サーバ・クライアント間のデータ伝送には、遅延時間があり、実際のPCRの到着時刻にはこの遅延時間も含まれることになる。クライアント102のデコーダLSIに内蔵されるPLL回路では、デコーダ131にPCRが到着した時刻に、PCRとSTCの比較が行われるため、サーバ・クライアント間の遅延時間が一定であることが求められる。
しかし、イーサネットのようなバス型の伝送路では、この遅延時間は必ずしも一定とは限らず、ある程度ジッタを持っている。このような伝送路では、PCRの到着時刻、つまりTSパケットの到着時刻がジッタによって変動すると、PLL回路の比較器141におけるPCRとSTCの誤差が生じてしまう。その結果、PLL回路が間違った周波数に調整されてしまい、デコーダ131のシステムクロックがエンコーダ111のシステムクロックに同期しなくなる。この状態がしばらく続くと、クライアント102に設けたバッファがオーバフロー、またはアンダフローを起こし、デコードした画像が停止またはスキップするという不具合が発生する。
本発明は上述した点を考慮してなされたものであり、パケットストリームとして生成されるデータのパケット形式を変換し、ネットワークを介してデータを送信する場合において、パケットストリーム生成時に対して送信タイミングにおけるパケット間隔の時間ずれを抑制させたデータ送信装置及び方法を提供することを目的とする。
本発明は、上記課題を解決するために、以下の1)〜2)に記載手段よりなる。
すなわち、
1)入力データに対して情報圧縮処理を施し、第1のパケットにデータを格納するとともに、所定の時間間隔で時間基準情報を格納し、第1のパケットストリームとして出力する情報圧縮手段と、該情報圧縮手段から出力される第1のパケットストリームを、前記第1のパケットよりパケットサイズの大きい第2のパケットに格納し、第2にパケットストリームとしてネットワークに送出するデータ送出手段とを備えるデータ送信装置において、
前記データ送出手段は、前記第1のパケットストリームに含まれる前記第1のパケットの間隔を維持しつつ前記第1のパケットを前記第2のパケットに格納し、前記第2のパケットストリームとしてネットワークに送出することを特徴とするデータ送信装置。
2)入力データに対して情報圧縮処理を施し、第1のパケットにデータを格納するとともに、所定の時間間隔で時間基準情報を格納することにより、第1のパケットストリームを生成する情報圧縮ステップと、該生成した第1のパケットストリームを、前記第1のパケットよりパケットサイズの大きい第2のパケットに格納し、第2にパケットストリームとしてネットワークに送出するデータ送出ステップからなるデータ送信方法において、
前記データ送出ステップでは、前記第1のパケットストリームに含まれる前記第1のパケットの間隔を維持しつつ前記第1のパケットを前記第2のパケットに格納し、前記第2のパケットストリームとしてネットワークに送出することを特徴とするデータ送信方法。
本発明によるデータ送信装置及び方法によれば、入力データに対して情報圧縮処理が施され、第1のパケットにデータが格納されるとともに、所定の時間間隔で時間基準情報が格納され、第1のパケットストリームが生成される。そして生成された第1のパケットストリームが、第1のパケットよりパケットサイズの大きい第2のパケットに格納され、第2にパケットストリームとしてネットワークに送出される。さらに、第1のパケットストリームに含まれる第1のパケットの間隔を維持しつつ第1のパケットが第2のパケットに格納され、第2のパケットストリームとしてネットワークに送出される。したがって、第2のパケットストリーム送出タイミングにおけるパケット間隔の時間ずれが抑制され、パケット間隔の時間ずれに起因する復号信号の乱れが受信装置側で発生することを抑制することができる。
以下本発明の実施の形態を図面を参照して説明する。
(第1の実施形態)
図1は本発明の一実施形態にかかるデータ送信装置の構成を示すブロック図である。図1に示す構成は、図10に示す従来のデータ送信装置の構成と同様である。すなわち、図1に示すサーバ1は、入力ビデオ信号をMPEG2で圧縮するMPEGエンコーダ回路11、圧縮されたデータ(トランスポートストリーム)をイーサネット100に送出するイーサネット回路12、装置全体を制御するCPU(Central Processing Unit)13、処理対象のデータを一時的に格納するDRAM(Dynamic Random Access Memory)14などにより構成される。
このうちMPEGエンコーダ回路11は、主にA/D変換器(同期信号分離回路、同期回路を含む)21と、MPEG2エンコーダLSI12と、FIFO(First In First Out)メモリ23と、バスコントロール回路24とで構成される。
図10に示す従来のサーバ101では、1500バイト相当のイーサネットパケットごとに送信を行っていた。そのため、エンコーダLSI122から出力されたトランスポートストリーム(TS)を1460バイトごとに処理することになり、結果的にTSパケットの時間間隔が崩れてしまい、クライアントのPLL回路を誤動作させていた。そこで、本実施形態では、TSパケット(188バイト)単位にデータを取り扱い、VALID信号が高レベルとなる期間ごとにイーサネットパケットを生成するようにしている。
図1に示すサーバ1では、バスコントロール回路24の動作が、図10に示すパスコントロール回路124と異なっている。そこで、バスコントロール回路24を中心としたハードウェア動作を説明しながら、イーサネットパケットの生成と送信方法について説明する。
図2は、サーバ1のデータタイミングを示すタイミングチャートである。同図(b)のTSDATAは、MPEG2エンコーダLSI22からトランスポートストリームが連続的にではなく、バースト的に出力される状態を示している。同図(a)のVALID信号は、データが有効な期間にアクティブ(図では高レベル)となる信号であり、同図(c)のSYNC信号は、188バイトで構成されるTSパケットの先頭バイトで高レベルとなる信号である。TSDATAのパケット群AやB、Cは、TSパケットが複数個出力された状態を表している。
VALID信号が高レベルになると、MPEG2エンコーダLSI22から同図(b)に示すタイミングでTSパケット群Aが出力される。バスコントロール回路24では、VALID信号が高レベルの間、ライトイネーブル信号(以下「WE信号」という)をアクティブ(図では高レベル)にしてFIFOメモリ23にこのデータを書き込んでいく。この時、バスコントロール回路24では、ライトカウンタが、書き込んだデータのバイト数をカウントしており、この動作が同図(d)のカウント動作期間TCOに示されている。
バスコントロール回路24は、ライトカウンタの値が予め設定した値(例えば、188バイト)に達した時、割り込み要求信号MIRQを高レベルにする。この割り込み要求信号MIRQは、CPU13のハードウェア割り込み端子に接続されており、CPU13に対して割り込み処理を要求する。割り込みが発生すると、CPU13上で動作する割り込み処理ルーチン(図3(a)参照)が実行され、CPU13の命令によりバスコントロール回路24はリードイネーブル信号(以下「RE信号」という)をアクティブ(高レベル)にしてFIFOメモリ23からデータを読み出す。この時、VALID信号を188バイトだけ遅らせた信号をRE信号に使用することで、TSパケットの時間間隔を維持したまま、FIFOメモリ23の読み出しを行っている。
一方、VALID信号が低レベルになると、WE信号を低レベルにして書き込み動作を停止し、ライトカウンタをリセットして次のVALID信号に備える(図2(d)のリセット期間TCR)。
FIFOメモリ23から読み出されたパケット群Aは、図11に示すように、8バイトのUDPヘッダと20バイトのIPヘッダが付加され、イーサネット回路12に送られる。イーサネット回路12では、このデータに14バイトのイーサネットヘッダを付加して、イーサネットパケットとしてネットワーク100上に送信する。仮に、パケット群Aが1460バイトに満たない場合でも、そのデータからイーサネットパケットを生成して送信する。パケット群Aが1460バイト以上である場合は、複数のイーサネットパケットを生成して送信する。
次にVALID信号が高レベルになると、エンコーダLSI22からTSパケット群Bが出力され、同様の手順によりパケット群Bによりイーサネットパケットを生成して送信する。
以上の操作により、パケットを送信する際にイーサネット回路12において送信時間がずれることはあるが、図2(h)に示す送信タイミングは、エンコーダLSI22から出力されたタイミング(同図(b))とほぼ等しくなる。従って、送信時にTSパケットの時間間隔が大きくずれることがなくなる。
また、サーバ・クライアント間の遅延時間にジッタがない場合、パケットを受信するタイミングは、送信時刻から一定時間TD遅延された同図(i)に示すタイミングとなる。クライアントは、この受信タイミングから188バイトごとにTSパケットを取り出すことができるため、PCRの到着時間間隔を維持したまま、TSパケットをデコーダLSIに渡すことが可能となる。その結果、デコーダLSIに内蔵されたPLL回路の誤動作を防止することができ、デコーダのシステムクロックがエンコーダ側のシステムクロックに同期しなくなる現象を回避することができる。よって、デコード画像の乱れを最小限に抑えることができる。
次にCPU13におけるソフトウェアの動作を説明する。
CPU13上で動作するソフトウェアでは、主にFIFOメモリ23の読み出し動作と、イーサネットパケットの生成を行っている。ここでは、図3に示したフローチャートを参照しながら、実際のソフトウェアの動作について説明する。
VALID信号が高レベルになり、FIFOメモリ23に188バイトのデータが書き込まれると、割り込み信号MIRQが高レベルとなり、割り込み処理ルーチン(図3(a)のMPEG割り込みルーチン)が実行される。
ステップS11では、RE信号が高レベルであるかどうかをチェックし、高レベルの場合は、読み出し操作を実行する(ステップS12)。低レベルの場合は、読み出し操作が終了したため、ステップS13に進む。
ステップS12では、バスコントロール回路24にFIFOメモリ23の読出動作を命令する。この命令により、バスコントロール回路24によってFIFOメモリ23からデータが読み出され、DRAM14上に確保したMPEGエリアに書き込まれる。その後ステップS11に戻る。
ステップS13では、VALID信号が高レベルである期間に書き込んだデータをすべて読み出したため、MPEG送信アプリケーション(同図(b))をコールして、MPEG割り込みルーチンを終了する。
次に、MPEG割り込みルーチンによってコールされたMPEG送信アプリケーション(同図(b))が開始される。
ステップS21では、DRAM14のMPEGエリアからデータを1460バイト読み出す。1460バイトに満たない場合はすべて読み出す。
ステップS22では、このデータに8バイトのUDPヘッダと20バイトのIPヘッダを付加する。
ステップS23では、このデータをイーサネット回路12のデータ領域に書き込み、送信開始手続きをする。
この後は、イーサネット回路12によるハードウェア処理となる。更にこのデータに14バイトのイーサネットヘッダが付加され、1502バイトのパケットが生成される。これが1つのイーサネットパケットとしてイーサネット100に送り出される。
ステップS24では、DRAM14のMPEGエリアに書き込まれたデータがあるかどうかチェックし、データが残っているなら、ステップS21に戻って、MPEGエリアにデータがなくなるまで、ステップS21〜S23の処理を実行し、イーサネットパケットの生成・送信を繰り返す。
ステップS24の答えが否定(NO)となり、イーサネットパケットがすべて送信されたら、MPEG送信アプリケーションを終了する。
このように、VALID信号を一定時間遅延した信号のタイミングでイーサネットパケットの生成・送信を行うことによって、TSパケットの時間間隔のずれを最小限に抑えることができる。その結果、クライアントでは、PCRの到着時間のずれを抑制することができるため、デコーダに内蔵されたPLL回路の誤動作を防ぐことができる。
図4は、本発明の第1の実施形態に適用されるデータ受信装置の回路構成を示したブロック図である。データ受信装置、すなわちクライアント2は、送信されたパケットを受信するイーサネット回路32と、イーサネット回路32から受け取ったデータをデコード処理するMPEGデコーダ回路31と、回路全体を制御するCPU33と、処理対象のデータを一時的に格納するDRAM34とで構成される。
このうち、MPEGデコーダ回路31は、バスコントロール回路41と、FIFOメモリ42と、MPEG2デコーダLSI43と、ジッタ検出回路44と、リードクロックコントロール回路45とで構成される。まず、イーサネット回路32で受信されたイーサネットパケットは、イーサネット、IP、及びUDPの各プロトコルヘッダを取り除かれ、DRAM34上に保存される。バスコントロール回路41は、DRAM34からデータを読み出してFIFOメモリ42に書き込む。FIFOメモリ42から読み出されたデータは、MPEG2デコーダLSI43に入力されてデコード処理され映像信号として出力される。
次に、伝送路(イーサネット100)でジッタが生じた場合の検出方法とデコーダに渡すデータの調整方法を説明する。
図5(a)及び(b)は、送信時のイーサネットパケット及び受信したイーサネットパケットのタイミング関係を示したものであり、データAは遅延時間TDa経過後に受信され、次のデータBは、伝送路にジッタが発生したため、遅延時間TDb経過後に受信されている。このデータBを拡大してTSパケット単位に見てみると、同図(c)及び(d)に示すように、本来のTSパケットに比べてパケット内に付加されたPCRの到着時間が遅れている。このような状態がしばらく続くと、問題点で挙げたようにデコーダのシステムクロックがエンコーダ側に同期しなくなってしまう。
そこで本実施形態では、ジッタ検出回路44とリードクロックコントロール回路45を設け、デコーダLSI43に渡すデータのタイミングを調整する。
まず、ジッタ検出回路44では、受信したストリームTS1から第1PCR(図6(c))を抜き出す。ジッタ検出回路44は、図12に示すSTCカウンタと同様のカウンタを備えており、デコーダLSI43から入力された27MHzクロックCL27MをカウントしてSTCを生成する。次に、生成したSTCとストリームから抽出した第1PCRとの比較が行われる。この比較結果(STCとPCRの差)は、予め設定しておいたしきい値と比較される。このしきい値には、伝送路にジッタがない環境下で生じるSTCとPCRの誤差値を設定しておく。つまり、STCとPCRの比較結果がしきい値に対して大きくずれた場合、伝送路にジッタが生じたことが分かる。
ジッタ検出回路44は、ジッタを検出するとリードクロックコントロール回路45にジッタ検出信号SJを出力する。このジッタ検出信号SJは通常低レベルであるが、ジッタを検出した際に高レベルとなる。また、この信号SJと同時にPCRの遅延量に応じて、遅延状況信号SDを出力している。遅延状況信号SDは、抽出したPCRが、STCより遅れているときは低レベル、STCよりも進んでいるときは高レベルとなる信号である。この他にジッタ検出回路44には、FIFOメモリ42から読み出されたデータが入力されており、このデータからジッタ補正後のPCRを抽出する。
次に図4に示す装置の、実際の動作を説明する。
図6(b)に示すSTCは、ジッタ検出回路44における27MHzクロックをカウントして算出したSTCの値を表している。同図(c)に示す第1PCRは、受信ストリームTS1から抽出したPCRの値を示し、同図(d)に示す第2PCRは、FIFOメモリ24から読み出したストリームTS2から抽出したPCRの値である。尚、ここではSTC及びPCRの値を簡単な整数で示しているが、実際の値はこれとは異なる。
パケットをいくつか受信すると、デコーダLSI43に内蔵されたPLL回路の効果が現れ、次第にエンコーダとデコーダのシステムクロックの周波数が等しくなっていく。この時、ストリームから抽出した第1PCRはSTCに近い値になる。しかし、伝送路にジッタが発生すると第1PCRの到着時刻が遅くなり、その間STCカウンタがカウント動作を継続するため、抽出した第1PCRはSTCの値よりも遅れてしまう。この状態を表したものが図6(c)に示す×期間であり、抽出した第1PCRが10の時、STCの現在値は80となっている。この時、STCと第1PCRの差は70となり、しきい値(設定値を例えば50とする)を越えているため、ジッタが発生していることが検出される。
このようにジッタが検出されると、ジッタ検出信号SJが高レベルとなり、遅延状況信号SDは低レベルとなる。この情報を得たリードクロックコントロール回路45は、同図(a)に示すように、リードクロックを標準周波数よりも高い周波数(例えば2倍の周波数)に切り替えて出力する。これにより、FIFOメモリ42から読み出されるデータは、通常の2倍の速さになりデコーダLSI43に渡すデータの転送レートも上がる。従って、このデータTS2から抽出した第2PCRも、2倍の速さで11、12、13、14…と進んでいき、やがて、STCの値に追いつきジッタを吸収することができる。第2PCRとSTCの値が一致したところで、リードクロックを標準周波数に切り替えて通常通りの転送レートに戻す。
このように、FIFOメモリ42のリードクロックの周波数を変えることによって、デコーダLSI43に渡すデータから大きなジッタを取り除くことができる。また、ここではリードクロックを標準の2倍の周波数で説明したが、これを4倍、8倍…に設定すれば、より短時間にジッタを吸収することができる。
以上の操作により、伝送路のジッタによってデコーダ内蔵のPLL回路が誤動作する現象を回避することができる。その結果、デコーダのシステムクロックがエンコーダ側に同期しなくなるという問題が解決できる。
これまでは、伝送路の遅延時間が長くなる場合について説明したが、伝送路の経路が変わって急にサーバ・クライアント間の遅延時間が短くなる場合もある。このような場合、抽出した第1PCRはSTCの現在値よりも進んでしまう。この時、ジッタ検出信号SJ及び遅延状況信号SDは共に高レベルとなり、リードクロックコントロール回路45は、FIFOメモリ42のリードクロックを標準よりも低い周波数(例えば1/2倍、1/4倍…など)に切り替えて、通常よりも低い転送レートでFIFOメモリ42からデータを読み出し、これをデコーダLSI43に入力させる。このように、遅延時間が短くなった場合でも転送レートを調整することによってPLL回路の誤動作を防ぐことができる。
(第2の実施形態)
本実施形態では、サーバ1を、MPEG2エンコーダLSIからトランスポートストリームが連続的に出力される場合に対応したものとした。回路構成は第1の実施形態と同様であるが、バスコントロール回路24の動作が異なる。そこで、バスコントロール回路24を中心としたハードウェア動作を説明しながら、イーサネットパケットの生成と送信方法について述べる。
はじめに、本実施形態におけるイーサネットパケットの送信単位について説明する。
クライアント側のPLL回路を誤動作させないためには、送信段階からTSパケットの時間間隔を維持することが必要である。そこで、本実施形態では、188バイトで構成されるTSパケットの7個分のデータ(1316バイト)から1つのイーサネットパケットを作ることにする。
図7は、本実施形態のサーバ及びクライアントのデータタイミングを示したものである。
同図(a)のTSDATAは、MPEG2エンコーダLSI22から途切れなく連続して出力されるTSパケットの状態を表しており、1316バイト単位にデータを区切って、それぞれA、B、C、D、E…と呼称する。
次に、バスコントロール回路24によるFIFOメモリ23の読み出し動作を説明する。
VALID信号(図示せず)は、MPEG2エンコーダLSI22から常にデータが出力されるため、常にアクティブ状態(高レベル)となる。また、図7(b)に示すSYNC信号は、188バイトのTSパケットの先頭バイトで高レベルとなる信号であり、これも途切れなく出力される。
バスコントロール回路24は、VALID信号が高レベルの間、WE信号(図示せず)をアクティブ(高レベル)にしてFIFOメモリ23にデータを書き込んでいく。VALID信号が常に高レベルのため、WE信号も高レベルとなり常に書き込みが行われる。
この時、バスコントロール回路24では、ライトカウンタが書き込んだデータのバイト数をカウントしており、ライトカウンタは、同図(c)に示すように、0から1315までカウントし、再び0に戻る動作をする。カウント値が1315になると、バスコントロール回路24は、割り込み要求信号MIRQ(同図(d))を高レベルにする。この割り込み要求信号MIRQは、CPU14のハードウェア割り込み端子に接続されており、CPU14に対して割り込み処理を要求する。割り込みが発生すると、CPU14上で動作する割り込み処理ルーチン(図8(a))が実行され、CPU14の命令によりバスコントロール回路24は、RE信号(図7(e))をアクティブ(高レベル)にして、FIFOメモリ23から1316バイトのデータを読み出す。尚、FIFOメモリ23のリードクロックは、ライトクロックに対して高い周波数(例えば、ライトクロックの2倍の周波数)のクロックを使用して、ライト側に対して速いスピードで読み出しを行う。これは、次の1316バイトの読み出しが行われる前に、CPU14やイーサネット回路12が、UDPなどの各プロトコルヘッダを付加するために十分な時間を取れるようにするためである。
CPU14は、FIFOメモリ23から読み出した1316バイトのデータに8バイトのUDPヘッダと20バイトのIPヘッダを付加して、これをイーサネット回路12に渡す。イーサネット回路12では、このデータに14バイトのイーサネットヘッダを付加して、イーサネットパケットとしてネットワーク上に送り出す。
以上の操作により、図7(f)に示すように、エンコーダLSI22から出力されたTSパケット群A、B、C…ごとにイーサネットパケットを送信することができる。しかし、FIFOメモリ23のリードクロックの周波数を2倍にしたため、送信するデータの間隔が空いてしまう。よって、データの間隔が空いた分だけ、パケットの到着時刻(PCRのデコーダ到着時刻)がずれることになる。そこで、第1の実施形態で説明した図4に示すデータ受信装置(クライアント)を用いることによってこのずれを補正する。
イーサネット回路12でパケットを送信する際、ネットワークの状態や受信パケットの有無などの理由により、送信タイミングが若干ずれる場合がある。また、上述したような理由によりパケット間隔が空いてしまうことがある。図7(g)は、受信時のイーサネットパケットA、B、C…のタイミングを示しており、パケットの間隔が空いている状態を表している。また、イーサネットなどの伝送路においては、サーバ・クライアント間の遅延時間にジッタが生じる場合があり、同図(g)のデータBとDの到着時間が遅くなり、それぞれΔaとΔbで示すジッタが生じている。
そこで、図4に示すデータ受信装置(クライアント)を用いて、送信タイミングのずれと伝送路のジッタを補正する。図4のクライアントでは、既に説明したように、受信したデータを一旦FIFOメモリ42に保持し、読み出し側のクロック周波数を変化させて、デコーダLSI43に入力するデータの転送レートを調整している。図7(h)はその様子を示しており、転送レートの制御は以下のように行われる。
データAは、前半部分にデータが集中しているため到着時刻が早くなり、ジッタ検出回路44の比較器において、受信データから抽出した第1PCRがSTCの現在値よりも進んでいる。この場合、FIFOメモリ42の読み出しクロックを低い周波数に切り替えて、低い転送レート(白い矢印a)でデコーダLSI43にデータを渡す。やがて、この読み出しデータから抽出した第2PCRとSTCが一致し到着時刻のずれが補正されたら、元の標準周波数のクロックに戻す。
次のデータBは、ジッタ発生によりパケットの到着時刻が遅れているため、第1PCRがSTCの現在値よりも遅れている。この場合、読み出しクロックを高い周波数に切り替えて、高い転送レート(黒い矢印b1)でデコーダLSI43に入力させる。やがて第2PCRとSTCは一致するが、データBも前半部分にデータが集中しているため、途中から第2PCRの方が進んでしまう。よって、途中から低い転送レート(白い矢印b2)に切り替える。次のデータC、Dも同様に、同図(h)に示す矢印のように転送レートを制御する。
このように、イーサネットパケットの送信時刻のずれは、図4のクライアントを用いることによって、デコーダLSI43に入力される前の段階で、伝送路のジッタと共にデータのタイミングを補正することができる。その結果、デコーダLSI43に内蔵されたPLL回路の誤動作を防止することができ、デコーダのシステムクロックがエンコーダ側に同期しなくなる現象を回避することができる。よって、デコード画像の乱れを最小限に抑えることができる。
次に、図8に示したフローチャートを参照しながら、本実施形態におけるソフトウェア動作について説明する。
FIFOメモリ23に1316バイトのデータが書き込まれると、割り込み要求信号MIRQが高レベルとなり、割り込み処理ルーチン(図8(a)のMPEG割り込みルーチン)が実行される。
ステップS31では、バスコントロール回路24にFIFOメモリ23の読み出し動作を命令する。この命令により、バスコントロール回路24によってFIFOメモリ23から1316バイト(TSパケット7個分)のデータが読み出され、DRAM14上に確保したMPEG領域に書き込まれる。
ステップS2では、MPEG送信アプリケーション(同図(b))をコールして、MPEG割り込みルーチンを終了する。
次にコールされたMPEG送信アプリケーションが開始される。
ステップS41では、DRAM14のMPEGエリアから1316バイトのデータを読み出す。
ステップS42では、このデータに8バイトのUDPヘッダと20バイトのIPヘッダを付加する。
ステップS43では、このデータをイーサネット回路12のデータ領域に書き込み、送信開始手続きをする。
この後、イーサネット回路12によるハードウェア処理となる。このハードウェア処理で、更にこのデータに14バイトのイーサネットヘッダが付加され、1358バイトのパケットになる。これが1つのパケットとしてイーサネットに送り出される。
なお、上述した実施形態では、画像データを例にとって説明したが、音声データについても同様に処理される。
本発明の一実施形態にかかるデータ送信装置の構成を示すブロック図である。 図1に示す装置におけるデータ処理のタイミングを説明するためのタイミングチャートである。 図1に示すCPUで実行される処理(第1の実施形態)のフローチャートである。 本発明の一実施形態に適用されるデータ受信装置の構成を示すブロック図である。 ネットワーク上で発生するジッタによるプログラム時刻基準参照値(PCR)のタイミングずれを説明するためのタイミングチャートである。 図4に示す装置におけるデータ処理を説明するためのタイミングチャートである。 本発明の第2の実施形態におけるデータ処理のタイミングを説明するためのタイミングチャートである。 図1に示すCPUで実行される処理(第2の実施形態)のフローチャートである。 一般的なネットワーク画像データ伝送システムの構成を示すブロック図である。 図9に示す画像データ送信装置の構成を示すブロック図である。 通信プロトコルにしたがったヘッダの付加を説明するための図である。 プログラム時刻基準参照値(PCR)に基づいてシステムクロックを生成する位相ロックループ回路の構成を示すブロック図である。 図10に示す装置におけるデータ処理のタイミングを説明するためのタイミングチャートである。
符号の説明
1 画像データ送信装置(サーバ)
2 画像データ受信装置(クライアント)
11 MPEGエンコーダ回路
12 イーサネット回路(データ送出手段)
13 CPU(データ送出手段)
14 DRAM(データ送出手段)
22 MPEG2エンコーダLSI(情報圧縮手段)
23 FIFOメモリ(データ送出手段)
24 バスコントロール回路(データ送出手段)
31 MPEGデコーダ回路
32 イーサネット回路
33 CPU
34 DRAM
41 バスコントロール回路
42 FIFOメモリ(記憶手段)
43 MPEG2デコーダLSI
44 ジッタ検出回路(時間ずれ検出手段)
45 リードクロックコントロール回路(パケット間隔調整手段)

Claims (2)

  1. 入力データに対して情報圧縮処理を施し、第1のパケットにデータを格納するとともに、所定の時間間隔で時間基準情報を格納し、第1のパケットストリームとして出力する情報圧縮手段と、該情報圧縮手段から出力される第1のパケットストリームを、前記第1のパケットよりパケットサイズの大きい第2のパケットに格納し、第2にパケットストリームとしてネットワークに送出するデータ送出手段とを備えるデータ送信装置において、
    前記データ送出手段は、前記第1のパケットストリームに含まれる前記第1のパケットの間隔を維持しつつ前記第1のパケットを前記第2のパケットに格納し、前記第2のパケットストリームとしてネットワークに送出することを特徴とするデータ送信装置。
  2. 入力データに対して情報圧縮処理を施し、第1のパケットにデータを格納するとともに、所定の時間間隔で時間基準情報を格納することにより、第1のパケットストリームを生成する情報圧縮ステップと、該生成した第1のパケットストリームを、前記第1のパケットよりパケットサイズの大きい第2のパケットに格納し、第2にパケットストリームとしてネットワークに送出するデータ送出ステップからなるデータ送信方法において、
    前記データ送出ステップでは、前記第1のパケットストリームに含まれる前記第1のパケットの間隔を維持しつつ前記第1のパケットを前記第2のパケットに格納し、前記第2のパケットストリームとしてネットワークに送出することを特徴とするデータ送信方法。

JP2006080232A 2006-03-23 2006-03-23 データ送信装置及び方法 Expired - Lifetime JP4193856B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006080232A JP4193856B2 (ja) 2006-03-23 2006-03-23 データ送信装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006080232A JP4193856B2 (ja) 2006-03-23 2006-03-23 データ送信装置及び方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001390417A Division JP3801043B2 (ja) 2001-12-21 2001-12-21 データ受信装置及び方法

Publications (2)

Publication Number Publication Date
JP2006217651A true JP2006217651A (ja) 2006-08-17
JP4193856B2 JP4193856B2 (ja) 2008-12-10

Family

ID=36980383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006080232A Expired - Lifetime JP4193856B2 (ja) 2006-03-23 2006-03-23 データ送信装置及び方法

Country Status (1)

Country Link
JP (1) JP4193856B2 (ja)

Also Published As

Publication number Publication date
JP4193856B2 (ja) 2008-12-10

Similar Documents

Publication Publication Date Title
JP4528010B2 (ja) ビデオ同期
JP5101016B2 (ja) 無線環境におけるマルチメディア配信のためのシステム及び方法
EP0987894B1 (en) A dejittering and clock recovery technique for real-time audio/visual network applications
US6636270B2 (en) Clock slaving methods and arrangements
US7069574B1 (en) System time clock capture for computer satellite receiver
JP4193297B2 (ja) 通信装置および方法、通信システム、並びに記録媒体
JP4905060B2 (ja) 受信装置およびデータ再生方法
WO2005088888A1 (ja) データ受信装置及びデータ受信方法
JP2003249922A (ja) データ受信装置、および受信データ処理方法、並びにコンピュータ・プログラム
JPH1117671A (ja) フレーム同期装置及びその方法
JP4742836B2 (ja) 受信装置
JP4081936B2 (ja) 通信装置、通信方法、および記録媒体
JP3801043B2 (ja) データ受信装置及び方法
JP3201313B2 (ja) データ伝送システム及び再生装置
JP4193856B2 (ja) データ送信装置及び方法
JP3857533B2 (ja) 信号受信装置及び信号受信方法
JP3419607B2 (ja) クロック再生装置
US5847779A (en) Synchronizing a packetized digital datastream to an output processor in a television signal processing system
JP2004129009A (ja) ストリーム送信装置および受信装置
JP2009239375A (ja) Ip伝送映像データ受信装置及びそれに用いるip伝送映像データ受信方法
JP4612688B2 (ja) 受信装置
JP2006174001A (ja) データ伝送におけるクロック同期方式およびデータ伝送システム
JP6484403B2 (ja) 通信装置、通信プログラム、通信方法
JP4386060B2 (ja) クライアント・サーバシステム
JP3314700B2 (ja) Mpegデータ転送制御回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080430

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080902

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080915

R151 Written notification of patent or utility model registration

Ref document number: 4193856

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5

EXPY Cancellation because of completion of term