JP3801043B2 - Data receiving apparatus and method - Google Patents

Data receiving apparatus and method Download PDF

Info

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
Application number
JP2001390417A
Other languages
Japanese (ja)
Other versions
JP2003198619A (en
Inventor
博文 菱倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2001390417A priority Critical patent/JP3801043B2/en
Publication of JP2003198619A publication Critical patent/JP2003198619A/en
Application granted granted Critical
Publication of JP3801043B2 publication Critical patent/JP3801043B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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】
記目的を達成するため請求項に記載の発明は、ネットワークを介して伝送される情報圧縮処理されたデータを格納したパケットからなるパケットストリームであって、所定の時間間隔で時間基準情報が挿入されたパケットストリームを受信し、該受信したパケットストリームを復号化するデータ受信装置において、前記受信したパケットストリームを格納する記憶手段と、前記パケットストリームに含まれる時間基準情報とデコーダ回路のシステムタイムクロックをカウントした値との差を求め、該差を予め設定した閾値と比較して伝送路で発生する遅延時間の変化に基づくジッタ検出信号と遅延状況信号を検出する検出手段と、該検出手段により検出される前記ジッタ検出信号が高レベルとなり、且つ前記遅延状況信号が低レベルとなった場合に、前記記憶手段のリードクロックを標準周波数よりも高い周波数に切り替えて読み出し速度を上げる一方、前記ジッタ検出信号及び前記遅延状況信号がともに高レベルとなった場合に、前記記憶手段のリードクロックを標準周波数より低い周波数に切り替えて読み出し速度を下げることにより、前記伝送路で発生する遅延時間を調整するリードクロックコントロール手段を備え、前記リードクロックコントロール手段によりデータの読み出しを調整されたパケットストリームの復号化を行うことを特徴とする。
【0028】
求項に記載の発明は、ネットワークを介して伝送される情報圧縮処理されたデータを格納したパケットからなるパケットストリームであって、所定の時間間隔で時間基準情報が挿入されたパケットストリームを受信し、該受信したパケットストリームを復号化するデータ受信方法において、前記受信したパケットストリームを記憶手段に格納し、前記パケットストリームに含まれる時間基準情報とデコーダ回路のシステムタイムクロックをカウントした値との差を求め、該差を予め設定した閾値と比較して伝送路で発生する遅延時間の変化に基づくジッタ検出信号と遅延状況信号を検出し、該検出した前記ジッタ検出信号が高レベルとなり、且つ前記遅延状況信号が低レベルとなった場合に、前記記憶手段のリードクロックを標準周波数よりも高い周波数に切り替えて読み出し速度を上げる一方、前記ジッタ検出信号及び前記遅延状況信号がともに高レベルとなった場合に、前記記憶手段のリードクロックを標準周波数より低い周波数に切り替えて読み出し速度を下げることにより、前記伝送路で発生する遅延時間を調整し、該データの読み出しを調整されたパケットストリームの復号化を行うことを特徴とする。
【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に示す装置におけるデータ処理のタイミングを説明するためのタイミングチャートである。
【図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 CP
14 DRA
22 MPEG2エンコーダLS
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 server 101 encodes the input video signal using MPEG (Motion Picture Expert Group) 2, converts this data into an Ethernet packet, and sends it to the Ethernet 100. The client 102 decodes the received data according to the reverse procedure of the server 101, displays the reproduced image on the monitor 103, and outputs the reproduced sound.
[0003]
FIG. 10 shows a circuit configuration of the server 101 shown in FIG. The server 101 includes an MPEG encoder circuit 111 that compresses an input video signal in MPEG2, an Ethernet circuit 112 that sends compressed data (transport stream, hereinafter referred to as TS) to the Ethernet 100, and a CPU (Central Processing Unit) that controls the entire apparatus. 113, a DRAM (Dynamic Random Access Memory) 114 for storing data to be processed by the CPU 113, and the like.
[0004]
Among them, the MPEG encoder circuit 111 mainly includes an A / D converter (including a synchronization signal separation circuit and a synchronization circuit) 121, an MPEG2 encoder LSI 122, a FIFO (First In First Out) memory 123, and a bus control circuit 124. Consists of.
[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 / D converter 121, compressed by an MPEG2 encoder LSI 122, and output in a transport stream format. This data is temporarily held in the FIFO memory 123, read from the FIFO memory 123 under software control of the CPU 113, passes through the bus control circuit 124, and is written to the DRAM 114 via the CPU data bus 115. The data read from the DRAM 114 is sent to the Ethernet circuit 112 with header information of UDP (User Datagram Protocol) or IP (Internet Protocol) added, and is sent out on the Ethernet 100 for each Ethernet packet IPCT.
[0006]
Next, the operation of writing the transport stream output from the MPEG2 encoder LSI 122 to the FIFO memory 123 and reading the written data will be described.
[0007]
FIG. 13 shows the timing of each signal in the server 101. The transport stream (TSDATA shown in FIG. 13B) output from the MPEG2 encoder LSI 122 may be output continuously or in bursts (intermittently) while being interrupted. FIG. 13 shows a case where the transport stream is output in bursts while being interrupted. Many of the MPEG2 encoder LSIs provided by LSI manufacturers output the VALID signal (FIG. 1 (a)) and the SYNC signal (FIG. 1 (b)) in synchronization with the data when outputting the data. . The VALID signal is an active signal during a period in which data is valid, and a high level is output during a period in which data A, B, and C in the figure are output. The SYNC signal is a signal that becomes a high level at the first byte of a TS (transport stream) packet composed of 188 bytes. A, B, and C shown in FIG. 13B indicate a state where a plurality of TS packets are output.
[0008]
The bus control circuit 124 of FIG. 10 performs write control of the FIFO memory 123 in accordance with the VALID signal and SYNC signal output from the MPEG2 encoder LSI 122, reads data from the FIFO memory 123 according to a command of the CPU 113, and receives the CPU 113 Adjust to.
[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 bus control circuit 124 are connected to the WE terminal and the RE terminal of the FIFO memory 123, respectively. A write / read operation of the FIFO memory 123 is performed according to the signal.
[0010]
As shown in FIG. 13, when the VALID signal becomes high level, the bus control circuit 124 activates the WE signal (high level in the figure) and writes data to the FIFO memory 123. At this time, the write counter of the bus control circuit 124 counts the number of bytes of the written data (see the count operation period TCO in FIG. 13D). When the VALID signal becomes low level, the bus control circuit 124 sets the WE signal to low level to stop the write operation, stop the count operation, and hold the current count value (the count holding period in FIG. 4D). TCH).
[0011]
When 1460 bytes (the meaning of the value will be described later) is written in the FIFO memory 123, the write counter of the bus control circuit 124 becomes 1460 bytes, and the MPEG interrupt signal MIRQ is output ((f) in the figure, times t1, t2). ). The MPEG interrupt signal MIRQ is input to the hardware interrupt terminal of the CPU 113 and requests the CPU 113 for interrupt processing. When an interrupt occurs, an interrupt processing routine that operates on the CPU 113 is executed to instruct the bus control circuit 124 to read the FIFO memory 123. In response to the instruction from the CPU 113, the bus control circuit 124 sets the RE signal to a high level and reads data from the FIFO memory 123. Thereafter, software processing by the CPU 113 is performed.
[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 FIFO memory 123 is temporarily written in the DRAM 114 by software such as an interrupt processing routine that operates on the CPU 113. As shown in FIG. 11, an 8-byte UDP header and a 20-byte IP header are added to this data and sent to the Ethernet circuit 112. In the Ethernet circuit 112, a 14-byte Ethernet header is further added to this data, and one packet corresponding to 1500 bytes (1502 bytes) is completed. This is transmitted to the Ethernet 100 at the timing shown in FIG. The first packet is composed of A and B of the transport stream TSDATA, and the next packet is composed of the rest of B and C. Thus, the conventional server stores the transport stream TSDATA output from the MPEG2 encoder LSI 122 in an Ethernet packet in units of 1460 bytes and sends it out.
[0014]
On the other hand, the client 102 is composed of the Ethernet circuit 132 and the MPEG decoder circuit 131 as described above. Among these, the MPEG decoder circuit 131 is mainly composed of an MPEG2 decoder LSI and a memory (not shown). Here, the description will focus on the clock synchronization system of the MPEG2 decoder LSI.
[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 decoder circuit 131, this PCR is extracted from the received stream, and the system clock of the decoder itself can be synchronized with the system clock on the encoder side by a PLL (Phase Locked Loop) circuit as shown in FIG. The operation of the PLL circuit is as follows.
[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 STC counter 144. The STC counter 144 has the same configuration as the reference counter on the encoder side, and the initial PCR value extracted from the received stream is loaded to determine the initial value of the counter 144. Thereafter, the counting operation is continued in the closed loop of the PLL circuit. The comparator 141 in the closed loop compares the PCR and the current value of the STC at the time when the PCR arrives at the decoder. A voltage corresponding to the comparison result (error) is supplied to the 27 MHz VCXO (voltage controlled crystal oscillator) 143 through the low pass filter 142, and the frequency 27 MHz of the clock signal CL27M is adjusted.
[0018]
In this way, the decoder circuit 131 can match the system clock frequency of the encoder by finely adjusting the clock based on the PCR added by the encoder.
[0019]
[Problems to be solved by the invention]
As described above, the server 101 transmits each Ethernet packet corresponding to 1500 bytes. FIG. 13H shows the timing at this time. However, of course, there is a delay time TD before the data transmitted from the encoder (server side) 111 arrives at the decoder (client side) 131. If the delay time TD is constant, the client 102 receives data at the timing (i) of FIG. The client 102 extracts a 188-byte TS packet from the Ethernet packet received at this timing and passes it to the decoder 131. Here, when attention is paid to the arrival time of TS packets (time interval of TS packets), the reception timing shown in (i) of the figure is different from the timing output from encoder LSI 122 of server 101 ((b) of the figure). Yes. If the time interval of the TS packet changes, the arrival time interval of the PCR added in the TS packet also changes.
[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 decoder 131 is not synchronized with the system clock of the encoder 111. If this state continues for a while, the buffer provided in the client 102 overflows or underflows, causing a problem that the decoded image is disturbed.
[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 client 102, the PCR and STC are compared at the time when the PCR arrives at the decoder 131, so that the delay time between the server and the client is required to be constant.
[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 comparator 141 of the PLL circuit occurs. As a result, the PLL circuit is adjusted to an incorrect frequency, and the system clock of the decoder 131 is not synchronized with the system clock of the encoder 111. If this state continues for a while, the buffer provided in the client 102 overflows or underflows, and the decoded image stops or skips.
[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 MPEG encoder circuit 11 that compresses an input video signal in MPEG2, an Ethernet circuit 12 that transmits compressed data (transport stream) to the Ethernet 100, and a CPU (Central Processing Unit) 13, DRAM (Dynamic Random Access Memory) 14 that temporarily stores data to be processed, and the like.
[0030]
Among them, the MPEG encoder circuit 11 mainly includes an A / D converter (including a synchronization signal separation circuit and a synchronization circuit) 21, an MPEG2 encoder LSI 12, a FIFO (First In First Out) memory 23, a bus control circuit 24, and the like. Consists of.
[0031]
The conventional server 101 shown in FIG. 10 transmits every Ethernet packet corresponding to 1500 bytes. For this reason, the transport stream (TS) output from the encoder LSI 122 is processed every 1460 bytes. As a result, the time interval of the TS packets is lost, causing the PLL circuit of the client to malfunction. Therefore, in this embodiment, data is handled in units of TS packets (188 bytes), and an Ethernet packet is generated every period when the VALID signal is at a high level.
[0032]
In the server 1 shown in FIG. 1, the operation of the bus control circuit 24 is different from that of the path control circuit 124 shown in FIG. Therefore, a method for generating and transmitting an Ethernet packet will be described while explaining the hardware operation centered on the bus control circuit 24.
[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 MPEG2 encoder LSI 22 in a burst rather than continuously. The VALID signal in FIG. 9A is a signal that is active (high level in the figure) during a period in which data is valid, and the SYNC signal in FIG. 10C is the first byte of a TS packet composed of 188 bytes. The signal becomes high level. TSDATA packet groups A, B, and C represent a state in which a plurality of TS packets are output.
[0034]
When the VALID signal becomes high level, the TS packet group A is output from the MPEG2 encoder LSI 22 at the timing shown in FIG. In the bus control circuit 24, while the VALID signal is at a high level, a write enable signal (hereinafter referred to as “WE signal”) is made active (high level in the figure) and this data is written into the FIFO memory 23. At this time, in the bus control circuit 24, the write counter counts the number of bytes of the written data, and this operation is shown in the count operation period TCO in FIG.
[0035]
The bus control circuit 24 sets the interrupt request signal MIRQ to a high level when the value of the write counter reaches a preset value (for example, 188 bytes). This interrupt request signal MIRQ is connected to the hardware interrupt terminal of the CPU 13 and requests the CPU 13 for interrupt processing. When an interrupt occurs, an interrupt processing routine (see FIG. 3A) operating on the CPU 13 is executed, and the bus control circuit 24 activates a read enable signal (hereinafter referred to as “RE signal”) according to an instruction from the CPU 13 (high level). ) To read data from the FIFO memory 23. At this time, the signal obtained by delaying the VALID signal by 188 bytes is used for the RE signal, so that the FIFO memory 23 is read while maintaining the time interval of the TS packets.
[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 FIFO memory 23 is sent with an 8-byte UDP header and a 20-byte IP header to the Ethernet circuit 12 as shown in FIG. The Ethernet circuit 12 adds a 14-byte Ethernet header to this data and transmits it as an Ethernet packet on the network 100. Even if the packet group A is less than 1460 bytes, an Ethernet packet is generated from the data and transmitted. When the packet group A is 1460 bytes or more, a plurality of Ethernet packets are generated and transmitted.
[0037]
Next, when the VALID signal becomes high level, the TS packet group B is output from the encoder LSI 22, and an Ethernet packet is generated and transmitted by the packet group B in the same procedure.
Although the transmission time may be shifted in the Ethernet circuit 12 when the packet is transmitted by the above operation, the transmission timing shown in FIG. 2H is the same as the timing output from the encoder LSI 22 (FIG. 2B). Almost equal. Therefore, the TS packet time interval is not greatly shifted during transmission.
[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 CPU 13 will be described.
The software running on the CPU 13 mainly performs a read operation of the FIFO memory 23 and an Ethernet packet generation. Here, the actual operation of the software will be described with reference to the flowchart shown in FIG.
[0040]
When the VALID signal goes high and 188 bytes of data are written to the FIFO memory 23, the interrupt signal MIRQ goes high and the interrupt processing routine (MPEG interrupt routine in FIG. 3A) is executed.
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 bus control circuit 24 is instructed to perform a read operation of the FIFO memory 23. In response to this instruction, data is read from the FIFO memory 23 by the bus control circuit 24 and written in the MPEG area secured on the DRAM 14. Thereafter, the process returns to step S11.
[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 DRAM 14. Read all if less than 1460 bytes.
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 Ethernet circuit 12, and a transmission start procedure is performed.
Thereafter, hardware processing by the Ethernet circuit 12 is performed. Further, a 14-byte Ethernet header is added to this data to generate a 1502-byte packet. This is sent to the Ethernet 100 as one Ethernet packet.
[0045]
In step S24, it is checked whether or not there is data written in the MPEG area of the DRAM 14, and if data remains, the process returns to step S21 to execute the processes in steps S21 to S23 until there is no more data in the MPEG area. Repeat the generation and transmission of Ethernet packets.
[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 Ethernet circuit 32 that receives a transmitted packet, an MPEG decoder circuit 31 that decodes data received from the Ethernet circuit 32, a CPU 33 that controls the entire circuit, and data to be processed And a DRAM 34 for temporarily storing.
[0048]
Among these, the MPEG decoder circuit 31 includes a bus control circuit 41, a FIFO memory 42, an MPEG2 decoder LSI 43, a jitter detection circuit 44, and a read clock control circuit 45. First, Ethernet, IP, and UDP protocol headers are removed from the Ethernet packet received by the Ethernet circuit 32 and stored in the DRAM 34. The bus control circuit 41 reads data from the DRAM 34 and writes it to the FIFO memory 42. The data read from the FIFO memory 42 is input to the MPEG2 decoder LSI 43, decoded, and output as a video signal.
[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 jitter detection circuit 44 and a read clock control circuit 45 are provided to adjust the timing of data passed to the decoder LSI 43.
First, the jitter detection circuit 44 extracts the first PCR (FIG. 6C) from the received stream TS1. The jitter detection circuit 44 includes a counter similar to the STC counter shown in FIG. 12 and counts the 27 MHz clock CL27M input from the decoder LSI 43 to generate an STC. Next, the generated STC is compared with the first PCR extracted from the stream. This comparison result (difference between STC and PCR) is compared with a preset threshold value. As this threshold value, an error value of STC and PCR generated in an environment where there is no jitter in the transmission path is set. That is, it can be seen that when the comparison result between the STC and the PCR greatly deviates from the threshold value, jitter has occurred in the transmission path.
[0052]
When detecting the jitter, the jitter detection circuit 44 outputs a jitter detection signal SJ to the read clock control circuit 45. The jitter detection signal SJ is usually at a low level, but becomes a high level when jitter is detected. Further, simultaneously with the signal SJ, a delay status signal SD is output in accordance with the delay amount of PCR. The delay status signal SD is a signal that is at a low level when the extracted PCR is behind the STC and at a high level when it is ahead of the STC. In addition, the jitter detection circuit 44 receives data read from the FIFO memory 42, and extracts the jitter-corrected PCR from this data.
[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 jitter detection circuit 44. The first PCR shown in FIG. 6C shows the PCR value extracted from the received stream TS1, and the second PCR shown in FIG. 10D is the PCR value extracted from the stream TS2 read from the FIFO memory 24. . Here, the STC and PCR values are shown as simple integers, but the actual values are different.
[0054]
When several packets are received, the effect of the PLL circuit built in the decoder LSI 43 appears, and the frequencies of the system clocks of the encoder and decoder gradually become equal. At this time, the first PCR extracted from the stream has a value close to STC. However, when jitter occurs in the transmission path, the arrival time of the first PCR is delayed, and the STC counter continues counting during that time, so the extracted first PCR is delayed from the STC value. This state is represented by the x period shown in FIG. 6C. When the extracted first PCR is 10, the current value of STC is 80. At this time, the difference between the STC and the first PCR is 70, which exceeds the threshold value (for example, the setting value is 50), so that it is detected that jitter has occurred.
[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 clock control circuit 45 having obtained this information switches the read clock to a frequency higher than the standard frequency (for example, twice the frequency) and outputs it, as shown in FIG. As a result, the data read from the FIFO memory 42 is twice as fast as the normal speed, and the transfer rate of data passed to the decoder LSI 43 is also increased. Therefore, the second PCR extracted from the data TS2 also proceeds as 11, 12, 13, 14,... At twice the speed, and eventually catches up with the STC value and absorbs jitter. When the values of the second PCR and STC match, the read clock is switched to the standard frequency to return to the normal transfer rate.
[0056]
In this way, by changing the frequency of the read clock of the FIFO memory 42, large jitter can be removed from the data passed to the decoder LSI 43. Also, here, the read clock has been described with a frequency twice as high as the standard, but if this is set to 4 times, 8 times,..., Jitter can be absorbed in a shorter time.
[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 clock control circuit 45 sets the read clock of the FIFO memory 42 at a frequency lower than the standard (for example, 1/2 times, 1/4 times, etc.). ), The data is read from the FIFO memory 42 at a transfer rate lower than normal, and is input to the decoder LSI 43. Thus, even when the delay time is shortened, the malfunction of the PLL circuit can be prevented by adjusting the transfer rate.
[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 bus control circuit 24 is different. Therefore, an Ethernet packet generation and transmission method will be described while explaining the hardware operation centered on the bus control circuit 24.
[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 MPEG2 encoder LSI 22 without interruption. Data is divided into units of 1316 bytes, and A, B, C, D, E,. It is called.
[0061]
Next, the read operation of the FIFO memory 23 by the bus control circuit 24 will be described.
The VALID signal (not shown) is always in an active state (high level) because data is always output from the MPEG2 encoder LSI 22. Further, the SYNC signal shown in FIG. 7B is a signal that becomes a high level at the first byte of the 188-byte TS packet, and is also output without interruption.
[0062]
While the VALID signal is at a high level, the bus control circuit 24 makes a WE signal (not shown) active (high level) and writes data into the FIFO memory 23. Since the VALID signal is always high, the WE signal is also high and writing is always performed.
[0063]
At this time, the bus control circuit 24 counts the number of bytes of data written by the write counter, and the write counter counts from 0 to 1315 and returns to 0 again as shown in FIG. do. When the count value reaches 1315, the bus control circuit 24 sets the interrupt request signal MIRQ ((d) in the figure) to a high level. The interrupt request signal MIRQ is connected to the hardware interrupt terminal of the CPU 14 and requests the CPU 14 for interrupt processing. When an interrupt occurs, an interrupt processing routine (FIG. 8A) that runs on the CPU 14 is executed, and the bus control circuit 24 activates the RE signal (FIG. 7E) in response to an instruction from the CPU 14 (FIG. 7E). Then, 1316 bytes of data are read from the FIFO memory 23. The read clock of the FIFO memory 23 uses a clock having a frequency higher than that of the write clock (for example, a frequency twice as high as that of the write clock), and performs reading at a high speed with respect to the write side. This is to allow the CPU 14 and the Ethernet circuit 12 to take sufficient time to add each protocol header such as UDP before the next 1316 bytes are read.
[0064]
The CPU 14 adds an 8-byte UDP header and a 20-byte IP header to the 1316-byte data read from the FIFO memory 23 and passes this to the Ethernet circuit 12. The Ethernet circuit 12 adds a 14-byte Ethernet header to this data and sends it out as an Ethernet packet onto the network.
[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 encoder LSI 22. However, since the frequency of the read clock of the FIFO memory 23 is doubled, there is an interval between data to be transmitted. Therefore, the arrival time of the packet (PCR decoder arrival time) is shifted by the amount of data interval. Therefore, this deviation is corrected by using the data receiving apparatus (client) shown in FIG. 4 described in the first embodiment.
[0066]
When packets are transmitted by the Ethernet circuit 12, the transmission timing may be slightly deviated due to reasons such as network conditions and presence / absence of received packets. In addition, the packet interval may be vacated for the reasons described above. FIG. 7G shows the timing of the Ethernet packets A, B, C... At the time of reception, and shows a state in which the packet interval is free. Further, in a transmission line such as Ethernet, jitter may occur in the delay time between the server and the client, and the arrival times of data B and D in FIG. 5G are delayed, and jitters indicated by Δa and Δb respectively. Has occurred.
[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 FIFO memory 42, and the transfer frequency of the data input to the decoder LSI 43 is adjusted by changing the clock frequency on the reading side. FIG. 7 (h) shows this state, and the transfer rate is controlled as follows.
[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 jitter detection circuit 44. In this case, the read clock of the FIFO memory 42 is switched to a low frequency, and data is transferred to the decoder LSI 43 at a low transfer rate (white arrow a). Eventually, when the second PCR extracted from the read data matches the STC and the deviation in arrival time is corrected, the clock is returned to the original standard frequency.
[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 decoder LSI 43 at a high transfer rate (black arrow b1). Eventually, the second PCR matches the STC, but the data B is also concentrated in the first half of the data B, so the second PCR proceeds from the middle. Therefore, the transfer rate is switched to a low transfer rate (white arrow b2) from the middle. Similarly for the next data C and D, the transfer rate is controlled as indicated by the arrows shown in FIG.
[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 decoder LSI 43 by using the client of FIG. As a result, the malfunction of the PLL circuit built in the decoder LSI 43 can be prevented, and the phenomenon that the system clock of the decoder is not synchronized with the encoder side can be avoided. Therefore, it is possible to minimize the disturbance of the decoded image.
[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 FIFO memory 23, the interrupt request signal MIRQ becomes high level, and the interrupt processing routine (MPEG interrupt routine of FIG. 8A) is executed.
[0072]
In step S31, the bus control circuit 24 is instructed to perform a read operation of the FIFO memory 23. In response to this instruction, the bus control circuit 24 reads out 1316 bytes (7 TS packets) of data from the FIFO memory 23 and writes it in the MPEG area secured on the DRAM 14.
[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 Ethernet circuit 12, and a transmission start procedure is performed.
[0075]
Thereafter, hardware processing by the Ethernet circuit 12 is performed. With this hardware processing, a 14-byte Ethernet header is further added to this data, resulting in a 1358-byte packet. This is sent to the Ethernet as one packet.
[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.
JP2001390417A 2001-12-21 2001-12-21 Data receiving apparatus and method Expired - Lifetime JP3801043B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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
US20080008100A1 (en) Transport Stream Processing Device and Transport Stream Processing Method
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
JP2004129009A (en) Streaming transmission device and reception device
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