JP3801043B2 - Data receiving apparatus and method - Google Patents
Data receiving apparatus and method Download PDFInfo
- Publication number
- JP3801043B2 JP3801043B2 JP2001390417A JP2001390417A JP3801043B2 JP 3801043 B2 JP3801043 B2 JP 3801043B2 JP 2001390417 A JP2001390417 A JP 2001390417A JP 2001390417 A JP2001390417 A JP 2001390417A JP 3801043 B2 JP3801043 B2 JP 3801043B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal
- read
- packet stream
- packet
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Television Systems (AREA)
- Time-Division Multiplex Systems (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、イーサネットやファーストイーサネットなどのLAN(Local Area Network)に画像データや音声データを送出するデータ送信装置及び方法、並びにネットワーク上に送出されたデータを受信し、復号化するデータ受信装置及び方法に関する。
【0002】
【従来の技術】
ネットワーク画像データ伝送システムは、図9に示すように、画像データ送信装置(以下「サーバ」という)101、及び画像データ受信装置(以下「クライアント」という)102がイーサネット100を介して接続されて構成される。サーバ101では、入力された映像信号をMPEG(Motion Picture Expert Group)2でエンコード処理を行い、このデータをイーサネットパケットに変換してイーサネット100に送り出す。クライアント102では、サーバ101と逆の手順により、受信したデータをデコードして、再生画像をモニタ103よりに表示するとともに、再生音声を出力する。
【0003】
図10は、図9に示すサーバ101の回路構成を示したものである。サーバ101は、入力ビデオ信号をMPEG2で圧縮するMPEGエンコーダ回路111、圧縮されたデータ(トランスポートストリーム、以下TS)をイーサネット100に送出するイーサネット回路112、装置全体を制御するCPU(Central Processing Unit)113、CPU113による処理の対象となるデータを格納するDRAM(Dynamic Random Access Memory)114などにより構成される。
【0004】
このうちMPEGエンコーダ回路111は、主にA/D変換器(同期信号分離回路、同期回路を含む)121と、MPEG2エンコーダLSI122と、FIFO(First In First Out)メモリ123と、バスコントロール回路124とで構成される。
【0005】
ここで、入力されたビデオ信号がイーサネット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上に送出される。
【0006】
次に、MPEG2エンコーダLSI122から出力されたトランスポートストリームをFIFOメモリ123に書き込み、書き込んだデータを読み出す動作を説明する。
【0007】
図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パケットが複数個出力された状態を示している。
【0008】
図10のバスコントロール回路124は、MPEG2エンコーダLSI122から出力されたVALID信号やSYNC信号に応じて、FIFOメモリ123の書き込み制御を行い、CPU113の命令によりFIFOメモリ123からデータを読み出し、CPU113が受け取れるタイミングに調整する。
【0009】
バスコントロール回路124から出力されるライトイネーブル信号(以下「WE信号」という)やリードイネーブル信号(以下「RE信号」という)は、それぞれFIFOメモリ123のWE端子及びRE端子に接続されており、この信号によってFIFOメモリ123の書き込み・読み出し操作が行われる。
【0010】
図13に示すように、VALID信号が高レベルになると、バスコントロール回路124は、WE信号をアクティブ(図では高レベル)にしてFIFOメモリ123にデータを書き込む。この時、バスコントロール回路124のライトカウンタは、書き込まれたデータのバイト数をカウントしている(図13(d)のカウント動作期間TCO参照)。VALID信号が低レベルになると、バスコントロール回路124は、WE信号を低レベルにして書き込み動作を止めるとともに、カウント動作を中止し、現在のカウント値を保持する(同図(d)のカウント保持期間TCH)。
【0011】
FIFOメモリ123に1460バイト(値の意味は後述する)が書き込まれると、バスコントロール回路124のライトカウンタが1460バイトとなり、MPEG割り込み信号MIRQが出力される(同図(f)、時刻t1,t2)。このMPEG割り込み信号MIRQは、CPU113のハードウェア割り込み端子に入力されており、CPU113に対して割り込み処理を要求する。割り込みが発生すると、CPU113上で動作する割り込み処理ルーチンが実行され、バスコントロール回路124に対しFIFOメモリ123の読み出し動作を指示する。CPU113からの命令を受けたバスコントロール回路124は、RE信号を高レベルにしてFIFOメモリ123からデータを読み出す。この後はCPU113によるソフトウェア処理となる。
【0012】
次にイーサネットパケットの生成と送信方法について説明する。
従来のサーバでは、イーサネットパケットの最大長(1518バイト)を越えないようにするため、1500バイト相当のデータをイーサネットの1パケットとして送信する。従って、UDP・IPなどのヘッダを付加することを考慮して、データ領域を1460バイトに設定している。
【0013】
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から出力されたトランスポートストリームTSDATAを1460バイト単位でイーサネットパケットに格納して送り出している。
【0014】
一方、クライアント102は、既に述べたように、イーサネット回路132及びMPEGデコーダ回路131で構成されている。このうち、MPEGデコーダ回路131は、主にMPEG2デコーダLSIやメモリ(図示せず)で構成される。ここでは、MPEG2デコーダLSIのクロック同期系を中心に説明する。
【0015】
MPEG2の規格では、ATM(Asynchronous Transfer Mode)などのネットワークによる伝送が想定されており、クロックや制御信号を直接伝送できない伝送路においても、受信側のMPEG2デコーダ(以下「デコーダ」という)を送信側のMPEG2エンコーダ(以下「エンコーダ」という)に同期させる仕組みが考えられている。それは、ストリーム内にタイムスタンプを付加して伝送するというものであり、ストリーム構造がトランスポートストリームの場合、プログラム時刻基準参照値(Program Clock Reference、以下「PCR」という)と呼ばれる。TSパケットには、ペイロードの他にアダプテーションフィールドという領域があり、この中のオプショナルフィールドにPCRが付加されている。これは、エンコーダが符号化時にシステムクロックから算出した時刻情報であり、送信間隔は100msec以下と規格で定められている。
【0016】
デコーダ回路131では、受信したストリームからこのPCRを抜き出し、図12に示すようなPLL(Phase Locked Loop)回路により、デコーダ自身のシステムクロックをエンコーダ側のシステムクロックに同期させることができる。PLL回路の動作は以下の通りである。
【0017】
図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が調整される。
【0018】
このように、デコーダ回路131は、エンコーダで付加されたPCRを基準にクロックを微調整することによって、エンコーダのシステムクロック周波数に一致させることができる。
【0019】
【発明が解決しようとする課題】
上述したように、サーバ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の到着時間間隔も変わってしまう。
【0020】
デコーダLSIに搭載されたPLL回路では、PCRが到着した時刻においてPCRとSTCの比較が行われるため、パケットの時間間隔にずれが生じると比較結果の誤差が増えてしまう。その結果、PLL回路が間違った周波数に調整されてしまい、デコーダ131のシステムクロックがエンコーダ111のシステムクロックに同期しなくなる。この状態がしばらく続くと、クライアント102に設けたバッファがオーバフローまたはアンダフローを起こし、デコードした画像が乱れるという問題が発生する。
【0021】
また既に述べたように、サーバ・クライアント間のデータ伝送には、遅延時間があり、実際のPCRの到着時刻にはこの遅延時間も含まれることになる。クライアント102のデコーダLSIに内蔵されるPLL回路では、デコーダ131にPCRが到着した時刻に、PCRとSTCの比較が行われるため、サーバ・クライアント間の遅延時間が一定であることが求められる。
【0022】
しかし、イーサネットのようなバス型の伝送路では、この遅延時間は必ずしも一定とは限らず、ある程度ジッタを持っている。このような伝送路では、PCRの到着時刻、つまりTSパケットの到着時刻がジッタによって変動すると、PLL回路の比較器141におけるPCRとSTCの誤差が生じてしまう。その結果、PLL回路が間違った周波数に調整されてしまい、デコーダ131のシステムクロックがエンコーダ111のシステムクロックに同期しなくなる。この状態がしばらく続くと、クライアント102に設けたバッファがオーバフロー、またはアンダフローを起こし、デコードした画像が停止またはスキップするという不具合が発生する。
【0024】
本発明は上述した点を考慮してなされたものであり、ネットワークを介して受信したパケットストリーム形式のデータにおいて、パケット間隔のずれがある場合でも、伝送路のジッタを吸収することができるデータ受信装置及び方法を提供することを目的とする。
【0026】
上記目的を達成するため請求項1に記載の発明は、ネットワークを介して伝送される情報圧縮処理されたデータを格納したパケットからなるパケットストリームであって、所定の時間間隔で時間基準情報が挿入されたパケットストリームを受信し、該受信したパケットストリームを復号化するデータ受信装置において、前記受信したパケットストリームを格納する記憶手段と、前記パケットストリームに含まれる時間基準情報とデコーダ回路のシステムタイムクロックをカウントした値との差を求め、該差を予め設定した閾値と比較して伝送路で発生する遅延時間の変化に基づくジッタ検出信号と遅延状況信号を検出する検出手段と、該検出手段により検出される前記ジッタ検出信号が高レベルとなり、且つ前記遅延状況信号が低レベルとなった場合に、前記記憶手段のリードクロックを標準周波数よりも高い周波数に切り替えて読み出し速度を上げる一方、前記ジッタ検出信号及び前記遅延状況信号がともに高レベルとなった場合に、前記記憶手段のリードクロックを標準周波数より低い周波数に切り替えて読み出し速度を下げることにより、前記伝送路で発生する遅延時間を調整するリードクロックコントロール手段を備え、前記リードクロックコントロール手段によりデータの読み出しを調整されたパケットストリームの復号化を行うことを特徴とする。
【0028】
請求項2に記載の発明は、ネットワークを介して伝送される情報圧縮処理されたデータを格納したパケットからなるパケットストリームであって、所定の時間間隔で時間基準情報が挿入されたパケットストリームを受信し、該受信したパケットストリームを復号化するデータ受信方法において、前記受信したパケットストリームを記憶手段に格納し、前記パケットストリームに含まれる時間基準情報とデコーダ回路のシステムタイムクロックをカウントした値との差を求め、該差を予め設定した閾値と比較して伝送路で発生する遅延時間の変化に基づくジッタ検出信号と遅延状況信号を検出し、該検出した前記ジッタ検出信号が高レベルとなり、且つ前記遅延状況信号が低レベルとなった場合に、前記記憶手段のリードクロックを標準周波数よりも高い周波数に切り替えて読み出し速度を上げる一方、前記ジッタ検出信号及び前記遅延状況信号がともに高レベルとなった場合に、前記記憶手段のリードクロックを標準周波数より低い周波数に切り替えて読み出し速度を下げることにより、前記伝送路で発生する遅延時間を調整し、該データの読み出しを調整されたパケットストリームの復号化を行うことを特徴とする。
【0029】
【発明の実施の形態】
以下本発明の実施の形態を図面を参照して説明する。
(第1の実施形態)
図1は本発明の一実施形態にかかるデータ送信装置の構成を示すブロック図である。図1に示す構成は、図10に示す従来のデータ送信装置の構成と同様である。すなわち、図1に示すサーバ1は、入力ビデオ信号をMPEG2で圧縮するMPEGエンコーダ回路11、圧縮されたデータ(トランスポートストリーム)をイーサネット100に送出するイーサネット回路12、装置全体を制御するCPU(Central Processing Unit)13、処理対象のデータを一時的に格納するDRAM(Dynamic Random Access Memory)14などにより構成される。
【0030】
このうちMPEGエンコーダ回路11は、主にA/D変換器(同期信号分離回路、同期回路を含む)21と、MPEG2エンコーダLSI12と、FIFO(First In First Out)メモリ23と、バスコントロール回路24とで構成される。
【0031】
図10に示す従来のサーバ101では、1500バイト相当のイーサネットパケットごとに送信を行っていた。そのため、エンコーダLSI122から出力されたトランスポートストリーム(TS)を1460バイトごとに処理することになり、結果的にTSパケットの時間間隔が崩れてしまい、クライアントのPLL回路を誤動作させていた。そこで、本実施形態では、TSパケット(188バイト)単位にデータを取り扱い、VALID信号が高レベルとなる期間ごとにイーサネットパケットを生成するようにしている。
【0032】
図1に示すサーバ1では、バスコントロール回路24の動作が、図10に示すパスコントロール回路124と異なっている。そこで、バスコントロール回路24を中心としたハードウェア動作を説明しながら、イーサネットパケットの生成と送信方法について説明する。
【0033】
図2は、サーバ1のデータタイミングを示すタイミングチャートである。同図(b)のTSDATAは、MPEG2エンコーダLSI22からトランスポートストリームが連続的にではなく、バースト的に出力される状態を示している。同図(a)のVALID信号は、データが有効な期間にアクティブ(図では高レベル)となる信号であり、同図(c)のSYNC信号は、188バイトで構成されるTSパケットの先頭バイトで高レベルとなる信号である。TSDATAのパケット群AやB、Cは、TSパケットが複数個出力された状態を表している。
【0034】
VALID信号が高レベルになると、MPEG2エンコーダLSI22から同図(b)に示すタイミングでTSパケット群Aが出力される。バスコントロール回路24では、VALID信号が高レベルの間、ライトイネーブル信号(以下「WE信号」という)をアクティブ(図では高レベル)にしてFIFOメモリ23にこのデータを書き込んでいく。この時、バスコントロール回路24では、ライトカウンタが、書き込んだデータのバイト数をカウントしており、この動作が同図(d)のカウント動作期間TCOに示されている。
【0035】
バスコントロール回路24は、ライトカウンタの値が予め設定した値(例えば、188バイト)に達した時、割り込み要求信号MIRQを高レベルにする。この割り込み要求信号MIRQは、CPU13のハードウェア割り込み端子に接続されており、CPU13に対して割り込み処理を要求する。割り込みが発生すると、CPU13上で動作する割り込み処理ルーチン(図3(a)参照)が実行され、CPU13の命令によりバスコントロール回路24はリードイネーブル信号(以下「RE信号」という)をアクティブ(高レベル)にしてFIFOメモリ23からデータを読み出す。この時、VALID信号を188バイトだけ遅らせた信号をRE信号に使用することで、TSパケットの時間間隔を維持したまま、FIFOメモリ23の読み出しを行っている。
【0036】
一方、VALID信号が低レベルになると、WE信号を低レベルにして書き込み動作を停止し、ライトカウンタをリセットして次のVALID信号に備える(図2(d)のリセット期間TCR)。
FIFOメモリ23から読み出されたパケット群Aは、図11に示すように、8バイトのUDPヘッダと20バイトのIPヘッダが付加され、イーサネット回路12に送られる。イーサネット回路12では、このデータに14バイトのイーサネットヘッダを付加して、イーサネットパケットとしてネットワーク100上に送信する。仮に、パケット群Aが1460バイトに満たない場合でも、そのデータからイーサネットパケットを生成して送信する。パケット群Aが1460バイト以上である場合は、複数のイーサネットパケットを生成して送信する。
【0037】
次にVALID信号が高レベルになると、エンコーダLSI22からTSパケット群Bが出力され、同様の手順によりパケット群Bによりイーサネットパケットを生成して送信する。
以上の操作により、パケットを送信する際にイーサネット回路12において送信時間がずれることはあるが、図2(h)に示す送信タイミングは、エンコーダLSI22から出力されたタイミング(同図(b))とほぼ等しくなる。従って、送信時にTSパケットの時間間隔が大きくずれることがなくなる。
【0038】
また、サーバ・クライアント間の遅延時間にジッタがない場合、パケットを受信するタイミングは、送信時刻から一定時間TD遅延された同図(i)に示すタイミングとなる。クライアントは、この受信タイミングから188バイトごとにTSパケットを取り出すことができるため、PCRの到着時間間隔を維持したまま、TSパケットをデコーダLSIに渡すことが可能となる。その結果、デコーダLSIに内蔵されたPLL回路の誤動作を防止することができ、デコーダのシステムクロックがエンコーダ側のシステムクロックに同期しなくなる現象を回避することができる。よって、デコード画像の乱れを最小限に抑えることができる。
【0039】
次にCPU13におけるソフトウェアの動作を説明する。
CPU13上で動作するソフトウェアでは、主にFIFOメモリ23の読み出し動作と、イーサネットパケットの生成を行っている。ここでは、図3に示したフローチャートを参照しながら、実際のソフトウェアの動作について説明する。
【0040】
VALID信号が高レベルになり、FIFOメモリ23に188バイトのデータが書き込まれると、割り込み信号MIRQが高レベルとなり、割り込み処理ルーチン(図3(a)のMPEG割り込みルーチン)が実行される。
ステップS11では、RE信号が高レベルであるかどうかをチェックし、高レベルの場合は、読み出し操作を実行する(ステップS12)。低レベルの場合は、読み出し操作が終了したため、ステップS13に進む。
【0041】
ステップS12では、バスコントロール回路24にFIFOメモリ23の読出動作を命令する。この命令により、バスコントロール回路24によってFIFOメモリ23からデータが読み出され、DRAM14上に確保したMPEGエリアに書き込まれる。その後ステップS11に戻る。
【0042】
ステップS13では、VALID信号が高レベルである期間に書き込んだデータをすべて読み出したため、MPEG送信アプリケーション(同図(b))をコールして、MPEG割り込みルーチンを終了する。
次に、MPEG割り込みルーチンによってコールされたMPEG送信アプリケーション(同図(b))が開始される。
【0043】
ステップS21では、DRAM14のMPEGエリアからデータを1460バイト読み出す。1460バイトに満たない場合はすべて読み出す。
ステップS22では、このデータに8バイトのUDPヘッダと20バイトのIPヘッダを付加する。
【0044】
ステップS23では、このデータをイーサネット回路12のデータ領域に書き込み、送信開始手続きをする。
この後は、イーサネット回路12によるハードウェア処理となる。更にこのデータに14バイトのイーサネットヘッダが付加され、1502バイトのパケットが生成される。これが1つのイーサネットパケットとしてイーサネット100に送り出される。
【0045】
ステップS24では、DRAM14のMPEGエリアに書き込まれたデータがあるかどうかチェックし、データが残っているなら、ステップS21に戻って、MPEGエリアにデータがなくなるまで、ステップS21〜S23の処理を実行し、イーサネットパケットの生成・送信を繰り返す。
【0046】
ステップS24の答えが否定(NO)となり、イーサネットパケットがすべて送信されたら、MPEG送信アプリケーションを終了する。
このように、VALID信号を一定時間遅延した信号のタイミングでイーサネットパケットの生成・送信を行うことによって、TSパケットの時間間隔のずれを最小限に抑えることができる。その結果、クライアントでは、PCRの到着時間のずれを抑制することができるため、デコーダに内蔵されたPLL回路の誤動作を防ぐことができる。
【0047】
図4は、本発明の第1の実施形態にかかるデータ受信装置の回路構成を示したブロック図である。データ受信装置、すなわちクライアント2は、送信されたパケットを受信するイーサネット回路32と、イーサネット回路32から受け取ったデータをデコード処理するMPEGデコーダ回路31と、回路全体を制御するCPU33と、処理対象のデータを一時的に格納するDRAM34とで構成される。
【0048】
このうち、MPEGデコーダ回路31は、バスコントロール回路41と、FIFOメモリ42と、MPEG2デコーダLSI43と、ジッタ検出回路44と、リードクロックコントロール回路45とで構成される。まず、イーサネット回路32で受信されたイーサネットパケットは、イーサネット、IP、及びUDPの各プロトコルヘッダを取り除かれ、DRAM34上に保存される。バスコントロール回路41は、DRAM34からデータを読み出してFIFOメモリ42に書き込む。FIFOメモリ42から読み出されたデータは、MPEG2デコーダLSI43に入力されてデコード処理され映像信号として出力される。
【0049】
次に、伝送路(イーサネット100)でジッタが生じた場合の検出方法とデコーダに渡すデータの調整方法を説明する。
【0050】
図5(a)及び(b)は、送信時のイーサネットパケット及び受信したイーサネットパケットのタイミング関係を示したものであり、データAは遅延時間TDa経過後に受信され、次のデータBは、伝送路にジッタが発生したため、遅延時間TDb経過後に受信されている。このデータBを拡大してTSパケット単位に見てみると、同図(c)及び(d)に示すように、本来のTSパケットに比べてパケット内に付加されたPCRの到着時間が遅れている。このような状態がしばらく続くと、問題点で挙げたようにデコーダのシステムクロックがエンコーダ側に同期しなくなってしまう。
【0051】
そこで本実施形態では、ジッタ検出回路44とリードクロックコントロール回路45を設け、デコーダLSI43に渡すデータのタイミングを調整する。
まず、ジッタ検出回路44では、受信したストリームTS1から第1PCR(図6(c))を抜き出す。ジッタ検出回路44は、図12に示すSTCカウンタと同様のカウンタを備えており、デコーダLSI43から入力された27MHzクロックCL27MをカウントしてSTCを生成する。次に、生成したSTCとストリームから抽出した第1PCRとの比較が行われる。この比較結果(STCとPCRの差)は、予め設定しておいたしきい値と比較される。このしきい値には、伝送路にジッタがない環境下で生じるSTCとPCRの誤差値を設定しておく。つまり、STCとPCRの比較結果がしきい値に対して大きくずれた場合、伝送路にジッタが生じたことが分かる。
【0052】
ジッタ検出回路44は、ジッタを検出するとリードクロックコントロール回路45にジッタ検出信号SJを出力する。このジッタ検出信号SJは通常低レベルであるが、ジッタを検出した際に高レベルとなる。また、この信号SJと同時にPCRの遅延量に応じて、遅延状況信号SDを出力している。遅延状況信号SDは、抽出したPCRが、STCより遅れているときは低レベル、STCよりも進んでいるときは高レベルとなる信号である。この他にジッタ検出回路44には、FIFOメモリ42から読み出されたデータが入力されており、このデータからジッタ補正後のPCRを抽出する。
【0053】
次に図4に示す装置の、実際の動作を説明する。
図6(b)に示すSTCは、ジッタ検出回路44における27MHzクロックをカウントして算出したSTCの値を表している。同図(c)に示す第1PCRは、受信ストリームTS1から抽出したPCRの値を示し、同図(d)に示す第2PCRは、FIFOメモリ24から読み出したストリームTS2から抽出したPCRの値である。尚、ここではSTC及びPCRの値を簡単な整数で示しているが、実際の値はこれとは異なる。
【0054】
パケットをいくつか受信すると、デコーダLSI43に内蔵されたPLL回路の効果が現れ、次第にエンコーダとデコーダのシステムクロックの周波数が等しくなっていく。この時、ストリームから抽出した第1PCRはSTCに近い値になる。しかし、伝送路にジッタが発生すると第1PCRの到着時刻が遅くなり、その間STCカウンタがカウント動作を継続するため、抽出した第1PCRはSTCの値よりも遅れてしまう。この状態を表したものが図6(c)に示す×期間であり、抽出した第1PCRが10の時、STCの現在値は80となっている。この時、STCと第1PCRの差は70となり、しきい値(設定値を例えば50とする)を越えているため、ジッタが発生していることが検出される。
【0055】
このようにジッタが検出されると、ジッタ検出信号SJが高レベルとなり、遅延状況信号SDは低レベルとなる。この情報を得たリードクロックコントロール回路45は、同図(a)に示すように、リードクロックを標準周波数よりも高い周波数(例えば2倍の周波数)に切り替えて出力する。これにより、FIFOメモリ42から読み出されるデータは、通常の2倍の速さになりデコーダLSI43に渡すデータの転送レートも上がる。従って、このデータTS2から抽出した第2PCRも、2倍の速さで11、12、13、14…と進んでいき、やがて、STCの値に追いつきジッタを吸収することができる。第2PCRとSTCの値が一致したところで、リードクロックを標準周波数に切り替えて通常通りの転送レートに戻す。
【0056】
このように、FIFOメモリ42のリードクロックの周波数を変えることによって、デコーダLSI43に渡すデータから大きなジッタを取り除くことができる。また、ここではリードクロックを標準の2倍の周波数で説明したが、これを4倍、8倍…に設定すれば、より短時間にジッタを吸収することができる。
【0057】
以上の操作により、伝送路のジッタによってデコーダ内蔵のPLL回路が誤動作する現象を回避することができる。その結果、デコーダのシステムクロックがエンコーダ側に同期しなくなるという問題が解決できる。
これまでは、伝送路の遅延時間が長くなる場合について説明したが、伝送路の経路が変わって急にサーバ・クライアント間の遅延時間が短くなる場合もある。このような場合、抽出した第1PCRはSTCの現在値よりも進んでしまう。この時、ジッタ検出信号SJ及び遅延状況信号SDは共に高レベルとなり、リードクロックコントロール回路45は、FIFOメモリ42のリードクロックを標準よりも低い周波数(例えば1/2倍、1/4倍…など)に切り替えて、通常よりも低い転送レートでFIFOメモリ42からデータを読み出し、これをデコーダLSI43に入力させる。このように、遅延時間が短くなった場合でも転送レートを調整することによってPLL回路の誤動作を防ぐことができる。
【0058】
(第2の実施形態)
本実施形態では、サーバ1を、MPEG2エンコーダLSIからトランスポートストリームが連続的に出力される場合に対応したものとした。回路構成は第1の実施形態と同様であるが、バスコントロール回路24の動作が異なる。そこで、バスコントロール回路24を中心としたハードウェア動作を説明しながら、イーサネットパケットの生成と送信方法について述べる。
【0059】
はじめに、本実施形態におけるイーサネットパケットの送信単位について説明する。
クライアント側のPLL回路を誤動作させないためには、送信段階からTSパケットの時間間隔を維持することが必要である。そこで、本実施形態では、188バイトで構成されるTSパケットの7個分のデータ(1316バイト)から1つのイーサネットパケットを作ることにする。
【0060】
図7は、本実施形態のサーバ及びクライアントのデータタイミングを示したものである。
同図(a)のTSDATAは、MPEG2エンコーダLSI22から途切れなく連続して出力されるTSパケットの状態を表しており、1316バイト単位にデータを区切って、それぞれA、B、C、D、E…と呼称する。
【0061】
次に、バスコントロール回路24によるFIFOメモリ23の読み出し動作を説明する。
VALID信号(図示せず)は、MPEG2エンコーダLSI22から常にデータが出力されるため、常にアクティブ状態(高レベル)となる。また、図7(b)に示すSYNC信号は、188バイトのTSパケットの先頭バイトで高レベルとなる信号であり、これも途切れなく出力される。
【0062】
バスコントロール回路24は、VALID信号が高レベルの間、WE信号(図示せず)をアクティブ(高レベル)にしてFIFOメモリ23にデータを書き込んでいく。VALID信号が常に高レベルのため、WE信号も高レベルとなり常に書き込みが行われる。
【0063】
この時、バスコントロール回路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などの各プロトコルヘッダを付加するために十分な時間を取れるようにするためである。
【0064】
CPU14は、FIFOメモリ23から読み出した1316バイトのデータに8バイトのUDPヘッダと20バイトのIPヘッダを付加して、これをイーサネット回路12に渡す。イーサネット回路12では、このデータに14バイトのイーサネットヘッダを付加して、イーサネットパケットとしてネットワーク上に送り出す。
【0065】
以上の操作により、図7(f)に示すように、エンコーダLSI22から出力されたTSパケット群A、B、C…ごとにイーサネットパケットを送信することができる。しかし、FIFOメモリ23のリードクロックの周波数を2倍にしたため、送信するデータの間隔が空いてしまう。よって、データの間隔が空いた分だけ、パケットの到着時刻(PCRのデコーダ到着時刻)がずれることになる。そこで、第1の実施形態で説明した図4に示すデータ受信装置(クライアント)を用いることによってこのずれを補正する。
【0066】
イーサネット回路12でパケットを送信する際、ネットワークの状態や受信パケットの有無などの理由により、送信タイミングが若干ずれる場合がある。また、上述したような理由によりパケット間隔が空いてしまうことがある。図7(g)は、受信時のイーサネットパケットA、B、C…のタイミングを示しており、パケットの間隔が空いている状態を表している。また、イーサネットなどの伝送路においては、サーバ・クライアント間の遅延時間にジッタが生じる場合があり、同図(g)のデータBとDの到着時間が遅くなり、それぞれΔaとΔbで示すジッタが生じている。
【0067】
そこで、図4に示すデータ受信装置(クライアント)を用いて、送信タイミングのずれと伝送路のジッタを補正する。図4のクライアントでは、既に説明したように、受信したデータを一旦FIFOメモリ42に保持し、読み出し側のクロック周波数を変化させて、デコーダLSI43に入力するデータの転送レートを調整している。図7(h)はその様子を示しており、転送レートの制御は以下のように行われる。
【0068】
データAは、前半部分にデータが集中しているため到着時刻が早くなり、ジッタ検出回路44の比較器において、受信データから抽出した第1PCRがSTCの現在値よりも進んでいる。この場合、FIFOメモリ42の読み出しクロックを低い周波数に切り替えて、低い転送レート(白い矢印a)でデコーダLSI43にデータを渡す。やがて、この読み出しデータから抽出した第2PCRとSTCが一致し到着時刻のずれが補正されたら、元の標準周波数のクロックに戻す。
【0069】
次のデータBは、ジッタ発生によりパケットの到着時刻が遅れているため、第1PCRがSTCの現在値よりも遅れている。この場合、読み出しクロックを高い周波数に切り替えて、高い転送レート(黒い矢印b1)でデコーダLSI43に入力させる。やがて第2PCRとSTCは一致するが、データBも前半部分にデータが集中しているため、途中から第2PCRの方が進んでしまう。よって、途中から低い転送レート(白い矢印b2)に切り替える。次のデータC、Dも同様に、同図(h)に示す矢印のように転送レートを制御する。
【0070】
このように、イーサネットパケットの送信時刻のずれは、図4のクライアントを用いることによって、デコーダLSI43に入力される前の段階で、伝送路のジッタと共にデータのタイミングを補正することができる。その結果、デコーダLSI43に内蔵されたPLL回路の誤動作を防止することができ、デコーダのシステムクロックがエンコーダ側に同期しなくなる現象を回避することができる。よって、デコード画像の乱れを最小限に抑えることができる。
【0071】
次に、図8に示したフローチャートを参照しながら、本実施形態におけるソフトウェア動作について説明する。
FIFOメモリ23に1316バイトのデータが書き込まれると、割り込み要求信号MIRQが高レベルとなり、割り込み処理ルーチン(図8(a)のMPEG割り込みルーチン)が実行される。
【0072】
ステップS31では、バスコントロール回路24にFIFOメモリ23の読み出し動作を命令する。この命令により、バスコントロール回路24によってFIFOメモリ23から1316バイト(TSパケット7個分)のデータが読み出され、DRAM14上に確保したMPEG領域に書き込まれる。
【0073】
ステップS2では、MPEG送信アプリケーション(同図(b))をコールして、MPEG割り込みルーチンを終了する。
次にコールされたMPEG送信アプリケーションが開始される。
ステップS41では、DRAM14のMPEGエリアから1316バイトのデータを読み出す。
【0074】
ステップS42では、このデータに8バイトのUDPヘッダと20バイトのIPヘッダを付加する。
ステップS43では、このデータをイーサネット回路12のデータ領域に書き込み、送信開始手続きをする。
【0075】
この後、イーサネット回路12によるハードウェア処理となる。このハードウェア処理で、更にこのデータに14バイトのイーサネットヘッダが付加され、1358バイトのパケットになる。これが1つのパケットとしてイーサネットに送り出される。
【0076】
なお、上述した実施形態では、画像データを例にとって説明したが、音声データについても同様に処理される。
【0078】
【発明の効果】
以上詳述したように請求項1または2に記載の発明によれば、受信したパケットストリームが記憶手段に格納され、受信したパケットストリームに含まれる時間基準情報とデコーダ回路のシステムタイムクロックをカウントした値との差が求められ、該差を予め設定した閾値と比較して伝送路で発生する遅延時間の変化に基づくジッタ検出信号と遅延状況信号が検出される。そして、検出されるジッタ検出信号が高レベルとなり、且つ遅延状況信号が低レベルとなった場合に、記憶手段のリードクロックを標準周波数よりも高い周波数に切り替えて読み出し速度を上げる一方、ジッタ検出信号及び遅延状況信号がともに高レベルとなった場合に、記憶手段のリードクロックを標準周波数より低い周波数に切り替えて読み出し速度を下げることにより、伝送路で発生する遅延時間が調整され、該データの読み出しが調整されたパケットストリームの復号化が行われる。したがって、受信したパケットストリームにパケット間隔の時間ずれがある場合でも、その時間ずれを吸収して復号信号の乱れを抑制することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかるデータ送信装置の構成を示すブロック図である。
【図2】図1に示す装置におけるデータ処理のタイミングを説明するためのタイミングチャートである。
【図3】図1に示すCPUで実行される処理(第1の実施形態)のフローチャートである。
【図4】本発明の一実施形態にかかるデータ受信装置の構成を示すブロック図である。
【図5】ネットワーク上で発生するジッタによるプログラム時刻基準参照値(PCR)のタイミングずれを説明するためのタイミングチャートである。
【図6】図4に示す装置におけるデータ処理を説明するためのタイミングチャートである。
【図7】本発明の第2の実施形態におけるデータ処理のタイミングを説明するためのタイミングチャートである。
【図8】図1に示すCPUで実行される処理(第2の実施形態)のフローチャートである。
【図9】一般的なネットワーク画像データ伝送システムの構成を示すブロック図である。
【図10】図9に示す画像データ送信装置の構成を示すブロック図である。
【図11】通信プロトコルにしたがったヘッダの付加を説明するための図である。
【図12】プログラム時刻基準参照値(PCR)に基づいてシステムクロックを生成する位相ロックループ回路の構成を示すブロック図である。
【図13】図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 リードクロックコントロール回路(リードクロックコントロール手段)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data transmitting apparatus and method for transmitting image data and audio data to a LAN (Local Area Network) such as Ethernet or Fast Ethernet, and a data receiving apparatus for receiving and decoding data transmitted over the network, and Regarding the method.
[0002]
[Prior art]
As shown in FIG. 9, the network image data transmission system is configured by connecting an image data transmitting device (hereinafter referred to as “server”) 101 and an image data receiving device (hereinafter referred to as “client”) 102 via an Ethernet 100. Is done. The
[0003]
FIG. 10 shows a circuit configuration of the
[0004]
Among them, the
[0005]
Here, a process until the input video signal is transmitted to the Ethernet 100 will be briefly described. In FIG. 10, an input video signal is converted into digital data by an A /
[0006]
Next, the operation of writing the transport stream output from the
[0007]
FIG. 13 shows the timing of each signal in the
[0008]
The
[0009]
A write enable signal (hereinafter referred to as “WE signal”) and a read enable signal (hereinafter referred to as “RE signal”) output from the
[0010]
As shown in FIG. 13, when the VALID signal becomes high level, the
[0011]
When 1460 bytes (the meaning of the value will be described later) is written in the
[0012]
Next, a method for generating and transmitting an Ethernet packet will be described.
In the conventional server, in order not to exceed the maximum length (1518 bytes) of the Ethernet packet, data equivalent to 1500 bytes is transmitted as one Ethernet packet. Therefore, in consideration of adding a header such as UDP / IP, the data area is set to 1460 bytes.
[0013]
Data read from the
[0014]
On the other hand, the
[0015]
In the MPEG2 standard, transmission via a network such as ATM (Asynchronous Transfer Mode) is assumed, and the MPEG2 decoder (hereinafter referred to as “decoder”) on the receiving side is used on the transmitting side even in a transmission path in which a clock or control signal cannot be directly transmitted. A mechanism for synchronizing with an MPEG2 encoder (hereinafter referred to as “encoder”) is considered. This is to transmit a stream with a time stamp, and when the stream structure is a transport stream, it is called a program clock reference (hereinafter referred to as “PCR”). In addition to the payload, the TS packet has an area called an adaptation field, and PCR is added to the optional field. This is time information calculated from the system clock at the time of encoding by the encoder, and the transmission interval is defined as 100 msec or less in the standard.
[0016]
In the
[0017]
FIG. 12 shows the configuration of the PLL circuit built in the MPEG2 decoder LSI. The STC (System Time Clock) in the figure is calculated by counting the 27 MHz system clock of the decoder itself by the
[0018]
In this way, the
[0019]
[Problems to be solved by the invention]
As described above, the
[0020]
In the PLL circuit mounted on the decoder LSI, the PCR and the STC are compared at the time when the PCR arrives. Therefore, if there is a deviation in the packet time interval, the error in the comparison result increases. As a result, the PLL circuit is adjusted to an incorrect frequency, and the system clock of the
[0021]
As described above, the data transmission between the server and the client has a delay time, and the actual PCR arrival time includes this delay time. In the PLL circuit built in the decoder LSI of the
[0022]
However, in a bus-type transmission line such as Ethernet, this delay time is not always constant and has some jitter. In such a transmission line, if the arrival time of the PCR, that is, the arrival time of the TS packet fluctuates due to jitter, an error between the PCR and the STC in the
[0024]
The present invention has been made in consideration of the above points.A data receiving device capable of absorbing jitter in a transmission path even when there is a gap in packet intervals in packet stream format data received via a networkAnd methodsTo provideEyesTarget.
[0026]
UpNoteClaims to achieve1The invention described in claim 1 is a packet stream composed of packets storing data subjected to information compression processing transmitted via a network, receiving a packet stream into which time reference information is inserted at a predetermined time interval, In a data receiving apparatus for decoding a received packet stream, storage means for storing the received packet stream, and time reference information included in the packet streamA jitter detection signal and a delay status signal based on a change in a delay time generated in the transmission line by comparing the difference with a preset threshold value.DetectInspectionMeans of exiting,The testDetected by exit meansWhen the jitter detection signal is at a high level and the delay status signal is at a low level, the read clock of the storage means is switched to a frequency higher than a standard frequency to increase the reading speed, while the jitter detection signal and Read clock control for adjusting the delay time generated in the transmission path by switching the read clock of the storage means to a frequency lower than the standard frequency and lowering the read speed when both of the delay status signals become high levelWith means,Reading data by the read clock control meansThe adjusted packet stream is decoded.
[0028]
ContractClaim2The invention described in claim 1 is a packet stream composed of packets storing data subjected to information compression processing transmitted via a network, receiving a packet stream into which time reference information is inserted at a predetermined time interval, In a data reception method for decoding a received packet stream, the received packet stream is stored in a storage means, and time reference information included in the packet streamA jitter detection signal and a delay status signal based on a change in a delay time generated in the transmission line by comparing the difference with a preset threshold value.Detected and detectedWhen the jitter detection signal is at a high level and the delay status signal is at a low level, the read clock of the storage means is switched to a frequency higher than a standard frequency to increase the reading speed, while the jitter detection signal and When both of the delay status signals are at a high level, the delay time generated in the transmission line is reduced by switching the read clock of the storage means to a frequency lower than the standard frequency to reduce the read speed.AdjustRead the dataThe adjusted packet stream is decoded.
[0029]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
(First embodiment)
FIG. 1 is a block diagram showing a configuration of a data transmission apparatus according to an embodiment of the present invention. The configuration shown in FIG. 1 is the same as the configuration of the conventional data transmission apparatus shown in FIG. That is, the server 1 shown in FIG. 1 includes an
[0030]
Among them, the
[0031]
The
[0032]
In the server 1 shown in FIG. 1, the operation of the
[0033]
FIG. 2 is a timing chart showing the data timing of the server 1. TSDATA in FIG. 6B shows a state in which the transport stream is output from the
[0034]
When the VALID signal becomes high level, the TS packet group A is output from the
[0035]
The
[0036]
On the other hand, when the VALID signal becomes low level, the WE signal is changed to low level to stop the write operation, and the write counter is reset to prepare for the next VALID signal (reset period TCR in FIG. 2D).
The packet group A read from the
[0037]
Next, when the VALID signal becomes high level, the TS packet group B is output from the
Although the transmission time may be shifted in the
[0038]
Further, when there is no jitter in the delay time between the server and the client, the packet reception timing is the timing shown in FIG. Since the client can take out TS packets every 188 bytes from this reception timing, the TS packets can be passed to the decoder LSI while maintaining the PCR arrival time interval. As a result, the malfunction of the PLL circuit built in the decoder LSI can be prevented, and the phenomenon that the system clock of the decoder is not synchronized with the system clock on the encoder side can be avoided. Therefore, it is possible to minimize the disturbance of the decoded image.
[0039]
Next, the operation of software in the
The software running on the
[0040]
When the VALID signal goes high and 188 bytes of data are written to the
In step S11, it is checked whether or not the RE signal is at a high level. If the RE signal is at a high level, a read operation is executed (step S12). If the level is low, the read operation is completed, and the process proceeds to step S13.
[0041]
In step S12, the
[0042]
In step S13, since all the data written during the period in which the VALID signal is at a high level has been read, the MPEG transmission application (FIG. 5B) is called and the MPEG interrupt routine is terminated.
Next, the MPEG transmission application ((b) in the figure) called by the MPEG interrupt routine is started.
[0043]
In step S21, 1460 bytes of data are read from the MPEG area of the
In step S22, an 8-byte UDP header and a 20-byte IP header are added to this data.
[0044]
In step S23, this data is written in the data area of the
Thereafter, hardware processing by the
[0045]
In step S24, it is checked whether or not there is data written in the MPEG area of the
[0046]
When the answer to step S24 is negative (NO) and all the Ethernet packets are transmitted, the MPEG transmission application is terminated.
As described above, the generation and transmission of the Ethernet packet is performed at the timing of the signal obtained by delaying the VALID signal for a certain time, thereby minimizing the time interval difference between the TS packets. As a result, the client can suppress the shift in the arrival time of the PCR, so that the malfunction of the PLL circuit built in the decoder can be prevented.
[0047]
FIG. 4 is a block diagram showing a circuit configuration of the data receiving apparatus according to the first embodiment of the present invention. The data receiving apparatus, that is, the client 2 includes an
[0048]
Among these, the
[0049]
Next, a detection method when jitter occurs in the transmission line (Ethernet 100) and a method for adjusting data to be passed to the decoder will be described.
[0050]
FIGS. 5A and 5B show the timing relationship between the Ethernet packet at the time of transmission and the received Ethernet packet. Data A is received after the delay time TDa has elapsed, and the next data B is the transmission path. Since jitter has occurred, the signal is received after the delay time TDb has elapsed. When this data B is enlarged and viewed in units of TS packets, the arrival time of the PCR added in the packet is delayed as compared with the original TS packet, as shown in FIGS. Yes. If such a state continues for a while, the system clock of the decoder is not synchronized with the encoder side as mentioned in the problem.
[0051]
Therefore, in this embodiment, a
First, the
[0052]
When detecting the jitter, the
[0053]
Next, the actual operation of the apparatus shown in FIG. 4 will be described.
The STC shown in FIG. 6B represents the STC value calculated by counting the 27 MHz clock in the
[0054]
When several packets are received, the effect of the PLL circuit built in the
[0055]
When jitter is detected in this way, the jitter detection signal SJ becomes a high level and the delay status signal SD becomes a low level. The read
[0056]
In this way, by changing the frequency of the read clock of the
[0057]
By the above operation, it is possible to avoid a phenomenon in which the PLL circuit with a built-in decoder malfunctions due to jitter in the transmission path. As a result, the problem that the system clock of the decoder is not synchronized with the encoder side can be solved.
So far, the case where the delay time of the transmission path is increased has been described. However, the delay time between the server and the client may be suddenly shortened due to a change in the path of the transmission path. In such a case, the extracted first PCR advances beyond the current value of STC. At this time, both the jitter detection signal SJ and the delay status signal SD are at a high level, and the read
[0058]
(Second Embodiment)
In the present embodiment, the server 1 corresponds to the case where the transport stream is continuously output from the MPEG2 encoder LSI. The circuit configuration is the same as that of the first embodiment, but the operation of the
[0059]
First, the transmission unit of the Ethernet packet in this embodiment will be described.
In order not to malfunction the PLL circuit on the client side, it is necessary to maintain the time interval of TS packets from the transmission stage. Therefore, in the present embodiment, one Ethernet packet is created from seven pieces of data (1316 bytes) of a TS packet composed of 188 bytes.
[0060]
FIG. 7 shows the data timing of the server and the client of this embodiment.
TSDATA in FIG. 6A represents the state of TS packets continuously output from the
[0061]
Next, the read operation of the
The VALID signal (not shown) is always in an active state (high level) because data is always output from the
[0062]
While the VALID signal is at a high level, the
[0063]
At this time, the
[0064]
The
[0065]
By the above operation, as shown in FIG. 7F, an Ethernet packet can be transmitted for each TS packet group A, B, C... Output from the
[0066]
When packets are transmitted by the
[0067]
Therefore, using the data receiving apparatus (client) shown in FIG. 4, the transmission timing shift and the transmission path jitter are corrected. In the client of FIG. 4, as already described, the received data is temporarily held in the
[0068]
Since the data A is concentrated in the first half part, the arrival time is earlier, and the first PCR extracted from the received data is advanced from the current value of the STC in the comparator of the
[0069]
In the next data B, since the arrival time of the packet is delayed due to the occurrence of jitter, the first PCR is delayed from the current value of the STC. In this case, the read clock is switched to a high frequency and input to the
[0070]
As described above, the deviation of the transmission time of the Ethernet packet can correct the timing of data together with the jitter of the transmission line at the stage before being input to the
[0071]
Next, the software operation in this embodiment will be described with reference to the flowchart shown in FIG.
When 1316 bytes of data are written in the
[0072]
In step S31, the
[0073]
In step S2, an MPEG transmission application (FIG. 5B) is called to end the MPEG interrupt routine.
The called MPEG transmission application is then started.
In step S41, 1316-byte data is read from the MPEG area of the DRAM.
[0074]
In step S42, an 8-byte UDP header and a 20-byte IP header are added to this data.
In step S43, this data is written in the data area of the
[0075]
Thereafter, hardware processing by the
[0076]
In the embodiment described above, image data has been described as an example, but audio data is similarly processed.
[0078]
【The invention's effect】
As detailed aboveClaim1Or2The received packet stream is stored in the storage means, and the time reference information included in the received packet streamAnd a delay status signal based on a change in delay time generated in the transmission line by comparing the difference with a preset threshold value.Is detected. And detectedWhen the jitter detection signal is at a high level and the delay status signal is at a low level, the read clock of the storage means is switched to a frequency higher than the standard frequency to increase the reading speed, while the jitter detection signal and the delay status signal are Delay time generated on the transmission line by switching the read clock of the storage means to a frequency lower than the standard frequency and lowering the read speed when both become high levelsIs adjusted,Reading the dataIs decoded. Therefore, even when there is a time lag in the packet interval in the received packet stream, the time lag can be absorbed and disturbance of the decoded signal can be suppressed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a data transmission apparatus according to an embodiment of the present invention.
FIG. 2 is a timing chart for explaining data processing timing in the apparatus shown in FIG. 1;
3 is a flowchart of processing (first embodiment) executed by the CPU shown in FIG. 1;
FIG. 4 is a block diagram showing a configuration of a data receiving apparatus according to an embodiment of the present invention.
FIG. 5 is a timing chart for explaining a timing shift of a program time base reference value (PCR) due to jitter generated on the network.
6 is a timing chart for explaining data processing in the apparatus shown in FIG. 4;
FIG. 7 is a timing chart for explaining the timing of data processing in the second embodiment of the present invention;
8 is a flowchart of processing (second embodiment) executed by the CPU shown in FIG. 1; FIG.
FIG. 9 is a block diagram showing a configuration of a general network image data transmission system.
10 is a block diagram showing a configuration of the image data transmitting apparatus shown in FIG.
FIG. 11 is a diagram for explaining the addition of a header according to a communication protocol.
FIG. 12 is a block diagram showing a configuration of a phase-locked loop circuit that generates a system clock based on a program time reference reference value (PCR).
13 is a timing chart for explaining the timing of data processing in the apparatus shown in FIG.
[Explanation of symbols]
1 Image data transmitterPlace
2 Image data receiverPlace
11 MPEG encoder circuit
12 Ethernet timesRoad
13 CPU
14 DRAM
22 MPEG2 encoder LSI
23 FIFO memoRe
24 Bus control timesRoad
31 MPEG decoder circuit
32 Ethernet circuit
33 CPU
34 DRAM
41 Bus control circuit
42 FIFO memory (storage means)
43 MPEG2 Decoder LSI
44 Jitter detection circuit(InspectionOut method)
45 Read clock control circuit (Read clock controlmeans)
Claims (2)
前記受信したパケットストリームを格納する記憶手段と、
前記パケットストリームに含まれる時間基準情報とデコーダ回路のシステムタイムクロックをカウントした値との差を求め、該差を予め設定した閾値と比較して伝送路で発生する遅延時間の変化に基づくジッタ検出信号と遅延状況信号を検出する検出手段と、
該検出手段により検出される前記ジッタ検出信号が高レベルとなり、且つ前記遅延状況信号が低レベルとなった場合に、前記記憶手段のリードクロックを標準周波数よりも高い周波数に切り替えて読み出し速度を上げる一方、前記ジッタ検出信号及び前記遅延状況信号がともに高レベルとなった場合に、前記記憶手段のリードクロックを標準周波数より低い周波数に切り替えて読み出し速度を下げることにより、前記伝送路で発生する遅延時間を調整するリードクロックコントロール手段を備え、
前記リードクロックコントロール手段によりデータの読み出しを調整されたパケットストリームの復号化を行うことを特徴とするデータ受信装置。A packet stream consisting of packets storing information-compressed data transmitted over a network, receiving a packet stream in which time reference information is inserted at predetermined time intervals, and decoding the received packet stream In the data receiving device
Storage means for storing the received packet stream;
Jitter detection based on a change in delay time generated in a transmission line by obtaining a difference between time reference information included in the packet stream and a value obtained by counting a system time clock of a decoder circuit and comparing the difference with a preset threshold value and detection means that detect the signal and the delay situation signal,
When the jitter detection signal detected by the detection means is at a high level and the delay status signal is at a low level, the read clock of the storage means is switched to a frequency higher than the standard frequency to increase the read speed. On the other hand, when both the jitter detection signal and the delay status signal are at a high level, the read clock of the storage means is switched to a frequency lower than the standard frequency to reduce the reading speed, and is generated in the transmission line. Read clock control means to adjust the delay time ,
A data receiving apparatus for decoding a packet stream whose data read is adjusted by the read clock control means .
前記受信したパケットストリームを記憶手段に格納し、
前記パケットストリームに含まれる時間基準情報とデコーダ回路のシステムタイムクロックをカウントした値との差を求め、
該差を予め設定した閾値と比較して伝送路で発生する遅延時間の変化に基づくジッタ検出信号と遅延状況信号を検出し、
該検出した前記ジッタ検出信号が高レベルとなり、且つ前記遅延状況信号が低レベルとなった場合に、前記記憶手段のリードクロックを標準周波数よりも高い周波数に切り替えて読み出し速度を上げる一方、前記ジッタ検出信号及び前記遅延状況信号がともに高レベルとなった場合に、前記記憶手段のリードクロックを標準周波数より低い周波数に切り替えて読み出し速度を下げることにより、前記伝送路で発生する遅延時間を調整し、
該データの読み出しを調整されたパケットストリームの復号化を行うことを特徴とするデータ受信方法。A packet stream consisting of packets storing information-compressed data transmitted over a network, receiving a packet stream in which time reference information is inserted at predetermined time intervals, and decoding the received packet stream In the data receiving method
Storing the received packet stream in storage means;
Find the difference between the time reference information contained in the packet stream and the value counted by the system time clock of the decoder circuit,
Detecting the jitter detection signal and the delay status signal based on a change in the delay time generated in the transmission path by comparing the difference with a preset threshold ;
When the detected jitter detection signal is at a high level and the delay status signal is at a low level, the read clock of the storage means is switched to a frequency higher than a standard frequency to increase the read speed, while the jitter When both the detection signal and the delay status signal are at a high level, the delay time generated in the transmission path is adjusted by switching the read clock of the storage means to a frequency lower than the standard frequency and reducing the read speed. ,
A data receiving method, comprising: decoding a packet stream adjusted to read out the data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001390417A JP3801043B2 (en) | 2001-12-21 | 2001-12-21 | Data receiving apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001390417A JP3801043B2 (en) | 2001-12-21 | 2001-12-21 | Data receiving apparatus and method |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006080232A Division JP4193856B2 (en) | 2006-03-23 | 2006-03-23 | Data transmission apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003198619A JP2003198619A (en) | 2003-07-11 |
JP3801043B2 true JP3801043B2 (en) | 2006-07-26 |
Family
ID=27598349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001390417A Expired - Lifetime JP3801043B2 (en) | 2001-12-21 | 2001-12-21 | Data receiving apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3801043B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050015208A1 (en) * | 2003-07-18 | 2005-01-20 | Furnas William J. | Multi machine inspection system |
JP2009212903A (en) * | 2008-03-05 | 2009-09-17 | Sumitomo Electric Ind Ltd | Server apparatus and transport stream transmission method |
TWI471016B (en) * | 2009-05-11 | 2015-01-21 | Mstar Semiconductor Inc | Reconstructing digital video data stream method and apparatus thereof |
-
2001
- 2001-12-21 JP JP2001390417A patent/JP3801043B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003198619A (en) | 2003-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7756233B2 (en) | Data receiving device and data receiving method | |
JP4528010B2 (en) | Video sync | |
JP5101016B2 (en) | System and method for multimedia distribution in a wireless environment | |
JP3633972B2 (en) | Device for synchronizing audio and video signals | |
JP4193297B2 (en) | COMMUNICATION DEVICE AND METHOD, COMMUNICATION SYSTEM, AND RECORDING MEDIUM | |
JP4905060B2 (en) | Reception device and data reproduction method | |
US6636270B2 (en) | Clock slaving methods and arrangements | |
US20080186972A1 (en) | Data Stream Synchronization | |
JP2972178B2 (en) | Frame synchronization apparatus and method | |
US7706400B2 (en) | Transport stream processing device and transport stream processing method | |
US8284804B2 (en) | PCR clock recovery in an IP network | |
JP3801043B2 (en) | Data receiving apparatus and method | |
JP4081936B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND RECORDING MEDIUM | |
JPH03114333A (en) | Clock synchronizing system in packet transmission and packet transmitter and packet receiver | |
JP3857533B2 (en) | Signal receiving apparatus and signal receiving method | |
JP3201313B2 (en) | Data transmission system and playback device | |
JP3419607B2 (en) | Clock recovery device | |
JPH11308203A (en) | Clock reproduction system | |
JP4193856B2 (en) | Data transmission apparatus and method | |
US5847779A (en) | Synchronizing a packetized digital datastream to an output processor in a television signal processing system | |
JP4923701B2 (en) | Streaming data receiving apparatus and jitter removal circuit | |
JP3314700B2 (en) | MPEG data transfer control circuit | |
JPH09219859A (en) | Mepg system decoder and audio/video signal synchronizing method | |
JPH10313448A (en) | Moving image transmitter and receiver | |
JP4015381B2 (en) | LAN controller and transmission apparatus equipped with LAN controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040330 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060323 |
|
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: 20060411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060424 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3801043 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: 20090512 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 6 |
|
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: 20120512 Year of fee payment: 6 |
|
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: 20120512 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |