JP3827133B2 - Image transmission apparatus and image transmission method - Google Patents
Image transmission apparatus and image transmission method Download PDFInfo
- Publication number
- JP3827133B2 JP3827133B2 JP26329799A JP26329799A JP3827133B2 JP 3827133 B2 JP3827133 B2 JP 3827133B2 JP 26329799 A JP26329799 A JP 26329799A JP 26329799 A JP26329799 A JP 26329799A JP 3827133 B2 JP3827133 B2 JP 3827133B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- fifo memory
- image data
- 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
Description
【0001】
【発明の属する技術分野】
本発明は、動画像などの連続するストリームデータを、イーサネットやFast Ethernetなどのネットワークを介してリアルタイム伝送を行う画像伝送装置及び画像伝送方法に関するものである。
【0002】
【従来の技術】
近年、送信装置(サーバ)側のカメラで撮影した動画像などの映像(連続するストリームデータ)を、イーサネットやFast EthernetなどのLANを介してリアルタイムで伝送し、伝送受信装置(クライアント)で監視するいわゆるネットワークを使用した監視システムが考えられており、主に構内監視などでの需要がある。
【0003】
このときサーバ側のカメラで撮影した映像を送信する際に、ネットワーク上でパケットの衝突や消失が生じることによって、クライアント側での再生画像が乱れるので、これを回避するためにいくつかの方法が考えられている。
【0004】
このようなネットワーク画像伝送システムは、図1に示すように、伝送装置(サーバ)1と受信装置(クライアント)3とがイーサネットやFast EthernetなどのLAN2を介して接続されている。そして、サーバ1は、カメラで撮影した映像信号をMPEG圧縮回路5で例えばMPEG1規格にしたがって圧縮し、この圧縮データをイーサネット回路7でパケット化してイーサネット2に伝送する。クライアント3では、このデータをイーサネット2から受信してイーサネット回路8で映像データを取出してMPEG伸張回路9にて伸張し、表示モニタ4に出力して表示することにより、サーバ1で撮影した映像をクライアント3側で確認することができる。
【0005】
この画像伝送装置1についてさらに詳述すると、例えば図2に示すように、入力ビデオ信号をMPEG1規格で圧縮するMPEG圧縮回路5と、このMPEG圧縮回路5から圧縮データ(エレメンタリーストリーム)がデータバス6を介して入力され、イーサネット(ネットワーク)2に送出するためのイーサネット回路7とからなる。このMPEG圧縮回路5は、主として、アナログ入力ビデオ信号をデジタル信号に変換するA/D変換器11、このA/D変換器11から出力されるデジタルビデオ信号をMPEG1規格で圧縮するMPEG1エンコーダLSI12と、このMPEG1エンコーダLSI12で圧縮された動画像データを一時蓄積するFIFOメモリ13と、MPEG圧縮回路5全体を制御するCPU14と、CPU14を動作させるために使用するメモリであるDRAM15とで構成されている。
【0006】
このような構成の画像伝送装置1において、入力されたビデオ信号は、A/D変換器11によるA/D変換後、MPEG1エンコーダLSI12にて圧縮されてエレメンタリーストリームの形で出力される。これを一旦FIFOメモリ13で保持し、CPU14の要求にしたがって順次先入れ先出し方式で読み出していく。FIFOメモリ13から読み出されたデータは、データバス6を介してイーサネット回路7に送出され、ここで、イーサネット・UDP・IP・TCPなどのヘッダ情報が付加された後、イーサネット2上に送出される。
【0007】
ここで、MPEG1エンコーダLSI12は、圧縮したデータ(エレメンタリーストリーム)をFIFOメモリ13に随時書き込んでいくが、このFIFOメモリ13への書き込み操作は、全てMPEG1エンコーダLSI12で行われている。一方、FIFOメモリ13からの読み出し操作は、CPU14で動作するソフトウェアで行っている。以下に、FIFOメモリ13に保持されたエレメンタリーストリームを読み出し、イーサネットパケットを生成するまでの従来の動作について、図13のタイミングチャートを参照しながら説明する。
【0008】
図13(A)に示すフレームパルスは、入力ビデオ信号のフレーム周期に同期した信号であり、CPU14に対して1フレーム期間に1回のハードウェア割り込みを要求する。CPU14からハードウェア割り込みが発生すると(同図(B))、割り込み処理ルーチン(Frame ISR)が実行され(同図(C))、ここでFIFOメモリ13からエレメンタリーストリームの読み出し操作が行われる。そして、ここでは1回のハードウェア割り込みが発生すると、1つのピクチャ(Iピクチャまたは Pピクチャ、Bピクチャのいずれか)を構成する全てのデータをFIFOメモリ13から読み出すことになる。なお、1つのピクチャを構成するデータ量は、フレームごとに異なっているため、MPEG1エンコーダLSI12では、FIFOメモリ13に書き込むフレームごとのデータのバイト数を内部レジスタ(FIFO read Register)12aに書き込んでいる。
【0009】
ここで、割り込み処理ルーチン(Frame ISR)のプログラム動作について図14に示すフローチャートも参照しながらさらに説明する。上記したように、入力ビデオ信号のフレーム周期で発生するハードウェア割り込みにより、Frame ISRのフェーズA1(図13(C)参照)が開始する。Frame ISRの動作は、図14(A)に示すように、まず、MPEG1エンコーダLSI12の内部レジスタであるFIFO read Register12aの内容を読み、現在のフレーム期間内に読み出すべきデータ(1フレーム分のデータ)のバイト数を得る(ステップ101)。次に、このバイト数だけFIFOメモリ13からデータを読み出し、DRAM15上に確保した領域(領域名:DRAM MPEG area)に書き込む(ステップ102)。そして、FIFO read Register12aに0を書き込む(ステップ103)。なお、このFIFO read Register12aには、次の割り込みが発生するまでに、MPEG1エンコーダLSI12によって次のフレームで読み出すべきデータ量が書き込まれる。最後にネットワークプロセスをコールし、Frame ISRを終了する(ステップ104)。
【0010】
Frame ISRの呼び出しによりネットワークプロセスのフェーズB1がスタートする(図13(D)参照)。このネットワークプロセスの動作は、図14(B)に示すように、DRAM15上のDRAM MPEG areaに書き込まれているエレメンタリーストリームからパケットを生成するプロセスであり、この手順について図3も合わせて参照しながら説明する。
【0011】
まず、DRAM15上のDRAM MPEG areaに書き込まれているエレメンタリーストリームを1460バイトづつに分割して(最後に読み出すデータは、1460バイト以下の場合がある)読み出し(図3(A))、8バイトのUDPヘッダと20バイトのIPヘッダを付加する(図3(B)、(C):ステップ105)。そして、このデータをイーサネット回路7のコントローラLSI(図示せず)のデータ領域に書き込み、送信手続きを行う(ステップ106)。この後は、イーサネット回路7によるハードウェア処理となる。さらに、このデータに14バイトのイーサネットヘッダが付加されて1502バイトのパケットになり(図3(D))、このパケットがイーサネット2に送信される(図13(E)参照)。そして、DRAM MPEG areaに書き込まれたデータがまだあるかどうかチェックし(ステップ107)、データが残っている場合は(ステップ107→Y)、ステップ105〜107の処理を繰り返す。このように、連続したエレメンタリーストリームをパケット(=1502バイト)に分割して順次イーサネット2に送出している。そして、DRAM MPEG areaから読み出すデータが無くなった場合には(ステップ107→N)、このネットワークプロセスを終了する。
【0012】
以上、図14(A),(B)を用いて説明した処理は1フレーム期間内に行われる処理である。そして、次のフレームのハードウェア割り込みが発生すると、Frame ISRのフェーズA2がスタートし、同様にステップ101からの処理が行われる。このようなソフトウェア処理により、MPEG1エンコーダLSI12から出力されたエレメンタリーストリームがパケット化されてイーサネット2に送出される。
【0013】
【発明が解決しようとする課題】
この画像伝送装置1から出力される動画像データを、LANなどの複数のPCが接続されているネットワーク2を介して画像受信装置3に送信する場合、ネットワーク2が混雑してトラフィックが多くなると、ネットワーク2の伝送レートが、送信する画像データの符号化レートよりも低くなってしまう場合がある。そのため、ネットワーク2内でパケットの衝突が発生してデータが失われることがあり、イーサネットレベルで再送が繰り返されるため、データ送出に時間がかかってしまうことになる。そして、結果的に、MPEG圧縮回路5のFIFOメモリ13やイーサネット回路7のメモリ(図示せず)からのデータ読み出しやTCP(UDP)・IP・イーサネットヘッダを付加する動作に遅れが生じ、正常なイーサネットパケットを送信できなくなってしまうことになる。このため、画像受信装置3で受信したデータには欠落部分があるためこれをデコードしても正常にデコード処理ができず、表示モニタ4で表示する画像が乱れてしまうという課題があった。
【0014】
この課題について、さらに詳細に説明する。従来の方法におけるプログラム実行タイミングの概略は、図3、図13及び図14を用いてすでに説明したように、ハードウェア割り込みが発生すると、Frame ISRが実行される。このFrame ISRでは、FIFOメモリ13から1フレーム期間に読み出すべきデータ(1つのピクチャを構成するデータ)を全て読み出し、その内容をDRAM15上のメモリ領域にコピーする。その後、CPU14によりネットワークプロセスがコールされ、DRAM15のメモリ領域から1460バイトのデータを読み出し、これにUDPやIP、イーサネットのヘッダを付加して1052バイトのパケットにする。これをイーサネット回路7のメモリで保持し、順次イーサネット2上に送出している。そしてDRAM15にコピーしたデータがなくなるまでこの一連の処理を繰り返し、1フレーム期間内に複数のパケットを送出するようにしている。
【0015】
このような画像伝送装置(サーバ)1では、入力画像の符号化レートが高い(=データ量が多い)場合に、MPEG圧縮回路5のFIFOメモリ13の読み出し操作が1フレーム期間内に完了しないため、後に続くネットワークプロセスが実行できなくなる。もしくは次のフレーム期間にまたがって実行されるため、次第に遅れが蓄積されていくことになる。
【0016】
また、ネットワーク2が混雑している場合、パケット衝突によるパケットの再送が頻繁に発生し、送出処理に時間がかかることになる。この結果、1フレーム期間内に処理すべきデータを全て送信することができなくなってしまう。
【0017】
このように、正常なパケットが送出できなくなると、画像受信装置(クライアント)3では正常なデコード処理ができないため、乱れた画像が表示されてしまうことになる。
【0018】
また、上記した従来の方法では、3つのメモリ((1)MPEG圧縮回路5のFIFOメモリ13、(2)DRAM15上に確保したメモリ領域、(3)イーサネット回路7のメモリ)のそれぞれがデータを保持しているので、処理の遅れを検出することが非常に困難であり、処理の後れに対応させることも困難であった。
【0019】
そこで本発明は、この3つのメモリのうち、(2)DRAM15上に確保したメモリ領域と、(3)イーサネット回路7のメモリの使用量を減らし、全体のメモリ使用量をできるだけ(1)MPEG圧縮回路5のFIFOメモリ13に集約させることにより、FIFOメモリ13の使用量を調べれば、FIFOメモリ13からの読み出し操作やネットワーク2へのデータ送出が1フレーム期間内に完結しているかどうかを判断できるようにする。そして、このFIFOメモリ13の使用状況に応じてネットワークに送出するデータ量を調節することにより、データの損失を防ぎ、画像受信装置3での良好な画像再生ができる様にすることを目的とする。
【0020】
【課題を解決するための手段】
上記目的を達成するための手段として、本発明では▲1▼画像伝送装置(サーバ)全体で使用するメモリ量をできるだけMPEG圧縮回路のFIFOメモリに集約させる、▲2▼MPEG圧縮回路のFIFOメモリの使用状況を調べる、▲3▼その使用状況に応じてネットワークに送出するデータ量を調節する、という3つの手段を用いる。そして、この3つの手段を用いた具体的な構成・方法を示す発明として以下に示す画像伝送装置及び画像伝送方法を提供しようとするものである。
【0021】
1.画像受信装置で画像の再生を行うために、画像データを含む情報データをネットワークを介して送信する画像伝送装置であって、
入来するビデオ信号をA/D変換しデジタル画像データとするA/D変換部と、
前記デジタル画像データをMPEG方式で圧縮符号化する符号化手段と、
前記符号化手段により圧縮された圧縮画像データを順次一時蓄積する第1の蓄積手段と、
前記第1の蓄積手段から読み出された1パケット分の前記圧縮画像データを一時蓄積する1パケット分の容量を有するFIFOメモリコントロール回路と、
前記FIFOメモリコントロール回路から出力される1パケット分の圧縮画像データを順次一時蓄積する第2の蓄積手段と、
前記第2の蓄積手段から1パケット分づつ読み出された圧縮画像データを送出用にパケット化して前記ネットワークに送出する送出手段と、
前記第1の蓄積手段を制御するための制御手段と、
を有し、
前記制御手段は、前記第1の蓄積手段の使用状況を前記第1の蓄積手段におけるライトアドレスとリードアドレスの位置とに対応した複数のパターンに基づいて判別し、前記パターンとそのパターンの継続フレーム数とに応じて、前記一時蓄積された圧縮画像データのBピクチャを削除するか、Bピクチャ及びPピクチャを削除するか、あるいは前記符号化手段の符号化レートを下げて圧縮された圧縮画像データ量を減らして一時蓄積するかの制御を行うようにしたことを特徴とする画像伝送装置。
【0022】
2.前記制御手段は、さらに前記第1の蓄積手段の蓄積データ量が順次入来されるデータによって書き換えされる前に前記符号化手段により圧縮される前記画像データの圧縮レートを高くするよう制御する機能を有することを特徴とする請求項1記載の画像伝送装置。
【0023】
3.画像受信装置で画像の再生を行うために、画像データを含む情報データをネットワークを介して送信する画像伝送方法であって、
入来するビデオ信号をA/D変換しデジタル画像データとし、前記デジタル画像データを圧縮符号化して第1の蓄積手段に順次一時蓄積し、この第1の蓄積手段から1パケットデータごとに読み出して第2の蓄積手段に一時蓄積し、この第2の蓄積手段から出力される1パケット分の圧縮画像データを第3の蓄積手段に順次一時蓄積し、前記第3の蓄積手段から1パケット分づつ読み出された圧縮画像データを送出用にパケット化して前記ネットワークに送出する際に、
前記第1の蓄積手段の蓄積データ量が順次入来されるデータによって書き換えされる前に前記第1の蓄積手段からBピクチャ又はBピクチャ及びPピクチャを間引いて出力する制御と前記画像データの圧縮レート高くする制御との少なくとも一方を制御することを特徴とする画像伝送方法。
【0025】
【発明の実施の形態】
本発明の画像伝送装置及び画像伝送方法の一実施の形態について図面と共に説明する。本発明の画像伝送装置は、図1に示すようなネットワーク画像伝送システムに用いられ、例えば図2に示すような構成を有するものである。ここで、図1及び図2における概略構成は、従来の技術で説明済みであるので、同一部分の説明は省略し、本願特有のプログラム構成及び回路構成である▲1▼画像伝送装置(サーバ)全体で使用するメモリ量をできるだけMPEG圧縮回路のFIFOメモリに集約させる、▲2▼MPEG圧縮回路のFIFOメモリの使用状況を調べる、▲3▼その使用状況に応じてネットワークに送出するデータ量を調節する、という3つの手段を中心に、他の図面も参照しながら、以下に説明する。
【0026】
まず、▲1▼画像伝送装置(サーバ)1全体で使用するメモリ量をできるだけMPEG圧縮回路5のFIFOメモリ(蓄積手段,第1の蓄積手段)13に集約させる点について、このプログラム動作を図4に示すタイミングチャートと図5に示すフローチャートを参照しながら説明する。
【0027】
まず、ハードウェア割り込みが発生する前に、図5(B)に示すMPEGプロセスのステップ116〜119が実行される。ここでは、最初にMPEG1エンコーダLSI(符号化手段)12の初期設定を行う(ステップ116)。次に、MPEG1エンコーダLSI12にアクセスし、圧縮のレートを所定値(例えば1.15Mbps)にセットして、この所定値をDRAM15上に確保した領域(領域名をbitrateとする)に保存する(ステップ117)。そして、MPEG1エンコーダLSI12によるエンコード(圧縮)を開始し(ステップ118)、Frame ISRからのコールを待つ(ステップ119)。
【0028】
ステップ118において、エンコードが開始されると、MPEG1エンコーダLSI12から入力ビデオ信号のフレーム周期に同期したフレームパルスが出力される(図4(A)参照)。そして、この信号によりCPU14のハードウェア割り込みが発生し(図4(B)参照)、Frame ISRがコールされてフェーズA1が開始される(図4(C)参照)。
【0029】
このFrame ISRでは、図5(A)に示すような処理が行われる。まず、MPEG1エンコーダLSI12内のFIFO read Register12aの値を読み出し、FIFOメモリ13から現在読み出すべきデータのバイト数(1つのピクチャを構成するデータ量)を得る(ステップ111)。このバイト数が0の場合は(ステップ112→Y)、FIFOメモリ13にデータが保持されていないので、割り込み処理を終了する。しかし、バイト数が0でない場合は(ステップ112→N)、DRAM(第2の蓄積手段)15上に確保した領域(領域名をFIFO numberとする)にコピーする(ステップ113)。そして、FIFO read Register12aをリセット(0を書き込む)し(ステップ114)、MPEGプロセスをコールして、割り込み処理を終了する。以上で、図4(C)に示したフェーズA1が終了する。
【0030】
そして、Frame ISRからコールされたMPEGプロセスが処理を再開し、図4(D)に示すフェーズB1がスタートする。MPEGプロセスでは、Frame ISRからのコールがあると(ステップ119→Y)、MPEG圧縮回路5のFIFOメモリ13からデータを1460バイト(1パケットで送信するデータ)読み出して、一旦FIFOメモリコントロール回路16に確保してCPU14の動作タイミングに合わせてデータバス6に出力し、このデータをDRAM15上に確保した領域(領域名をDRAM MPEG areaとする)にコピーする(ステップ120)。そして、DRAM15上のFIFO numberに記録されているバイト数の値から1460バイトを引き、その値を再びFIFO numberに書き込む(ステップ121)。その後Data Reduceサブルーチンを実行して、イーサネットに送出するデータ量を調節する(ステップ122)。なお、このData Reduceサブルーチンの説明については、図12と共に後で詳細に説明する。
【0031】
その後、DRAM15上のDRAM MPEG areaに記憶されている1460バイトのデータを読み出してUDP・IPヘッダを付加する(ステップ123)。そして、このデータをイーサネット回路(送出手段)7のコントローラLSIのデータ領域(図示せず)に書き込み、送信手続きを行う(ステップ124)。この後は、イーサネット回路7によるハードウェア処理となる。すなわち、このデータに14バイトのイーサネットヘッダが付加されて1502バイトのパケットになり(図3(D)を参照)、このパケットがイーサネット2に送信される(図4(E)を参照)。
【0032】
そして、DRAM15のFIFO numberが0かどうかをチェックし(ステップ125)、0でない場合は(ステップ125→N)、送信するデータがまだ存在するのでステップ120に戻り、フェーズB2をスタートさせる。このフェーズB2はフェーズB1と同様の処理を行うものであり、ステップ120〜125の処理を繰り返す(図4(D)を参照)。このようにフェーズB3、フェーズB4と、FIFO numberが0になるまで、連続したエレメンタリーストリームをパケット(=1502バイト)に分割して順次イーサネット2に送出している。そして、DRAM15のFIFO numberが0になった場合には(ステップ125→Y)、FIFOメモリ13からのデータ読み出しが終了したことになるので、このMPEGプロセスを終了する。そして、次のフレーム期間が始まり(図4(A)を参照)、ハードウェア割り込みが発生すると(図4(B)を参照)、Frame ISRのフェーズA2がスタートし(図4(C)を参照)、上記した図5のフローで示される処理が実行される。
【0033】
以上説明したように、本実施の形態では、1パケット分のデータのみをDRAM15にコピーし、イーサネット回路7からパケット送出してから、次のパケットのデータをDRAM15にコピーするようにしている。したがって、DRAM15及びイーサネット回路7に蓄積されるデータ量は1パケット分だけであり、MPEG1エンコーダLSI12から出力される圧縮画像データのほとんどは、FIFOメモリ13に溜まるだけである。したがって、FIFOメモリ13を監視するだけで、パケット送出の処理状況を把握することができる。
【0034】
すなわち、従来方法では、1フレーム分のデータ全てをFIFOメモリ13から読み出してDRAM15に保持してから、1460バイト(ヘッダを含め1502バイト)ごとにパケット化してイーサネットに送出していた。このため、入力画像の圧縮レートが高かったり、ネットワークの混雑などにより1フレーム期間内の処理が間に合わない場合、イーサネットパケットの生成プロセスにしわ寄せが生じ、最悪の場合は1パケットも生成することができなくなってしまうことがあった。しかしながら、本実施の形態では、FIFOメモリ13のデータ読み出しを1460バイトずつ行うことで、イーサネット2への1パケット(ヘッダを含め1502バイト)単位の送出を優先しているので、1フレーム全てのパケット生成に失敗することを回避することができる。
【0035】
また、その分FIFOメモリ13に溜まるデータ量が増えるので、「FIFOメモリ13の使用状況=パケットの送出状況」となり、1フレーム期間内の処理が間に合っているかどうかをFIFOメモリ13を監視することで判別することが可能となる。
【0036】
次に、FIFOメモリの使用状況の監視方法について以下に説明する。最初に、▲2▼MPEG圧縮回路5のFIFOメモリ13の使用状況を調べる(FIFOメモリ13のデータ残量を調べる)ことについて説明する。
【0037】
MPEG圧縮回路5内のFIFOメモリ13の周辺主要回路構成のみを図6に示す。本実施の形態では、書き込み操作と読み出し操作を非同期に行うことができるFIFOメモリ13を使用している。同図において、画像データの流れはMPEG1エンコーダLSI12から出力された圧縮画像データ(エレメンタリーストリーム)がFIFOメモリ13の書き込み側に入力される。このFIFOメモリ13に保持されたデータは、CPU14の要求にしたがって読み出される。書き込み側の制御は、MPEG1エンコーダLSI12から出力されるライトクロック(WCLK)とライトイネーブル(WE)、FIFOメモリコントロール回路16から出力されるライトリセット(WRST)により行い、読み出し側の制御は、CPU14から出力されるリードクロック(RCLK)とFIFOメモリコントロール回路16から出力されるリードイネーブル(RE)、リードリセット(RRST)を使用する。そして、書き込み操作は、MPEG1エンコーダLSI12から出力されるWCLKとWE信号によって行われ、例えば、図7に示すようにWEが"L"レベルのときWCLK入力の立ち上がりに同期して、1サイクルで8ビット(1バイト)づつ書き込まれる。
【0038】
そして、FIFOメモリ13に保持されたデータの残量を検出するために、本実施の形態では、FIFOメモリ13の現在のライトアドレスとリードアドレスを調べ、それらの値を比較することによりFIFOメモリ13に保持されているデータの残量を求めている。
【0039】
まず、ライトアドレスは、図6に示すFIFOメモリコントロール回路16にてWEが"L"レベルのときのWCLK数をカウントすることで求めている。
【0040】
例えば、2Mビット(256Kワード×8ビット=262144バイト)の容量のFIFOメモリ13を使用した場合に、縦軸にデータ幅(1バイト=8ビット)、横軸にワード数を示すと、メモリ全体のデータ量は図8(A)に示すようになる。そして、書き込み動作は、WCLKの立ち上がりで1バイト(=8ビット)づつ書き込みが行われるので、図8(B)に示すように、19ビットカウンタ(ライトアドレスカウンタ)を使用して、1から40000 HEX(=262144)までカウントすることにより、FIFOメモリ13に書き込まれたデータのバイト数(ライトアドレス)を数えることができる。そして、同様にして、リードアドレスもFIFOメモリコントロール回路16にて、REが"L"レベル時のRCLK数をカウントして、FIFOメモリ13から読み出されたデータのバイト数を数えることができる。
【0041】
この様にして求めたライトアドレスの値とリードアドレスの値とをCPU14で定期的に読み出して比較すれば、FIFOメモリ13に保持されているデータの残量を求めることができる。例えば、ライトアドレスが300HEX(=768)、リードアドレスが20HEX(=32)のとき、ライトアドレスからリードアドレスを減算すれば、FIFOメモリ13に残っているデータ量を知ることができる。この場合、768−32=736バイトのデータが読み出されないままFIFOメモリ13に残っていることになる。
【0042】
そして、前述したように、本実施の形態では、1フレーム期間内のデータ(1つのピクチャを構成するデータ)をFIFOメモリ13から全て読み出すのではなく、パケット化に必要なバイト数のみを読み出すようにしているため、FIFOメモリ13に保持されるデータ量は従来よりも多くなる。言い換えると、サーバ1全体の処理の遅れが、このFIFOメモリ13に集約されることになる。例えば、ネットワーク2の混雑によりパケットがスムーズに送出できない場合、本実施の形態ではパケット送信が最優先されるため、FIFOメモリ13からのリード動作も遅れることになる。しかしながら、ライト動作はこれとは無関係(非同期)に行われているため、ライトアドレスが40000HEXに到達し再び0アドレスからデータが書き込まれて、やがてリードアドレスを追い越してしまう場合が生じる。これは、FIFOメモリ13からまだ読み出されていないデータの上に新たなデータを上書きすることになるため、連続したデータが途中で消えてしまい、結果的には、途切れた不連続なデータでパケットを生成して送信し、クライアント3で正常にデコード処理ができずに乱れた画像を表示することになる。
【0043】
本実施の形態ではこのような状況に対応するため、FIFOメモリ13を監視して、ライトアドレスがリードアドレスを追い越さないようにイーサネット2に送出するデータ量を調節することにより、画像の乱れを最小限に抑えている。このイーサネット2に送出するデータ量の調整方法(▲3▼その使用状況に応じてネットワークに送出するデータ量を調節する)について以下に説明する。
【0044】
上記で求めたライトアドレスとリードアドレスとを比較する場合には、1フレーム期間にFIFOメモリ13から読み出すデータ量(1つのピクチャを構成するデータ量)がピクチャごとに異なり、BやPピクチャに比べ Iピクチャの場合が最もデータ量が多くなることを考慮する必要がある。1フレーム期間におけるIピクチャを構成するデータ量は、本実施の形態で測定の結果、ビットレート1.15Mbpsの場合でおおよそ10000バイト以下であった。これは、1回のハードウェア割り込み(Frame ISR)ごとに、リードアドレスが最大10000バイト更新されることを意味する。そこで本実施の形態では、ライトアドレスとリードアドレスの現在の値のみで比較するのではなく、図9に示すようにライトアドレスとリードアドレスの前後5000バイト幅のウインドを設け、この範囲の値を使用して比較を行うようにする。
【0045】
ここで、比較を行う際のFIFOメモリ13の状況とライト/リードアドレスの関係について、いくつかのパターンにわけて図10と共に説明する。なお、ハードウェア割り込みが発生したとき(Frame ISR実行時)に、FIFO read Registerが0となっている場合は、FIFOメモリ13からの読み出し操作は行わないため、リードアドレスがライトアドレスを追い越すことはない。したがって、この場合を除いた以下の5パターンの使用状況を判別すればよいことになる。
(1)パターン1
パターン1は、図10の(パターン1)に示すように、ライトアドレスが常に先行しており、1フレーム期間内に処理が完結する正常な状態のアドレス位置を示している。この場合のFIFOメモリ13のアドレスの関係は、式1のようになる。なお、Rはread address、Wはwrite addressを示す。
R−5000 < R+5000 < W−5000 < W+5000 …(式1)
【0046】
(2)パターン2
パターン2は、図10の(パターン2)に示すように、リードアドレスがライトアドレスに近づいてお互いの比較範囲の一部に重なりが生じている状態を示しているが、この場合もリード動作が支障なく行われていることを意味しており、これも正常な状態である。この場合のFIFOメモリ13のアドレスの関係は、式2のようになる。
R−5000 < W−5000 < R+5000 < W+5000 …(式2)
【0047】
(3)パターン3
パターン3は、図10の(パターン3)に示すように、ライトアドレスが最終アドレス(262143)に達し、一旦0に戻ってライト動作が続いている状態であり、これも正常な状態である。この場合のFIFOメモリ13のアドレスの関係は、式3のようになる。
W−5000 < W+5000 < R−5000 < R+5000 …(式3)
【0048】
(4)パターン4
パターン4は、図10の(パターン4)に示すように、パターン3の状態からライトアドレスがリードアドレスに近づき、お互いの比較範囲の一部に重なりが生じている状態を示している。この時点では、まだFIFOメモリ13から読み出されてないデータの上に新たなデータが書き込まれるという状態になっていないため、データの連続性は崩れていない(クライアント3における受信画像も乱れていない。)しかしながら、FIFOメモリ13の読み出し操作が遅れており、このままでは、データの上書きがされてしまう危険な状態になってしまうことがわかる。したがって、この読み出し操作の遅れを取り戻すために、FIFOメモリ13の読み出し操作を優先させる(例えば、P,Bピクチャを削除するなどしてパケット送出量を少なくする)必要がある(この読み出し操作の優先については後述する)。そして、この場合のFIFOメモリ13のアドレスの関係は、式4のようになる。
W−5000 < R−5000 ≦ W+5000 < R+5000 …(式4)
【0049】
(5)パターン5
パターン5は、図10の(パターン5)に示すように、パターン4の状態からさらにFIFOメモリ13の読み出し操作が遅れ、ライトアドレスがリードアドレスを追い越してしまった状態を示す。この状態においては、読み出されてないデータの上に新たなデータが書き込まれているため、すでにデータの連続性は崩れている。しかしながら、この場合もパケット送出量を少なくして、早急に正常状態に戻す必要がある。この場合のFIFOメモリ13のアドレスの関係は、式5のようになる。
R−5000 ≦ W−5000 < R+5000 ≦ W+5000 …(式5)
【0050】
次に、上記で導き出したFIFOメモリ13の使用状況をもとに、イーサネット2に送出するデータ量を調節する手順について説明する。データ量を調節は、FIFO address ISRとData Reduceサブルーチンの2つのプロセスにより行われ、それぞれの動作フローチャートを図11及び図12に示す。なお、Data Reduceサブルーチンは、図5(B)に示して詳細説明済みのMPEGプロセスのステップ122において実行されるサブルーチンである。
【0051】
まず、FIFO address ISRの動作について、図11を参照しながら説明する。このFIFO address ISRは、CPU14の持つタイマ機能によって、一定時間ごとに発生するソフトウェア割り込みで実行されるプロセスである。このプロセスでは、FIFOメモリコントロール回路16で生成されたFIFOメモリ13のライトアドレスとリードアドレスの値を読み出し、DRAM15上に確保した領域に保存することを行っている。
【0052】
まず、FIFOメモリコントロール回路16で生成されたライトアドレスとリードアドレスを読み出し、それぞれの値をDRAM15上の領域(領域名をwrite addressとread addressとする)にコピーする(ステップ131)。そして、(write address ± 5000)と(read address ± 5000)の値を比較して、上記した各パターン1〜5を判別する(ステップ132)。
【0053】
ここで、あらかじめFIFOメモリ13の読み出し動作の遅れを示すフラグ(領域名をread lateとする)とパターン情報を保存しておくための領域(領域名をstateとする)をDRAM15上に確保しておき、パターン1の場合は、read lateに0、stateに1をセットする(ステップ133)。同様に、パターン2の場合は、read lateに0、stateに2をセットする(ステップ134)。パターン3の場合は、read lateに0、stateに3をセットする(ステップ135)。パターン4の場合(読み出し動作が遅れている場合)は、read lateに1、stateに4をセットする(ステップ136)。パターン5の場合(リード動作がさらに遅れた場合)、read lateに1、stateに5をセットする(ステップ137)。その後、割り込み処理を終了する。
【0054】
次に、Data Reduceサブルーチンの動作について、図12に示すフローチャートを参照しながら説明する。このData Reduceサブルーチンでは、FIFO address ISRによって判別され、保存されているパターン情報を読み出して、パターン4と5の場合にパケット送出量を減らし、ここで空いた処理時間をFIFOメモリ13のリード動作にまわして、1フレーム期間内の処理の遅れを回復させるという動作を行う。
【0055】
まず、MPEGプロセスでDRAM MPEG areaに保存されたエレメンタリーストリームのヘッダを検索して、picture coding typeを見つけ出し、ピクチャの種類(I,P,B)を判別し(ステップ141)、DRAM15上に確保した領域(領域名をpictureとする)に、Iなら1、Pなら2、Bなら3を書き込む(ステップ142)。そして、パターン種別を示すstateを読み出して(ステップ143)、このstateが1及び2、3の場合は、1フレーム期間の処理が間に合っているため、通常通りにパケットを送出する。そして、前のフレーム割り込みでパターン5に入った場合に、そのことを記憶しておくために、DRAM15上にstate5 countの名前で領域を確保しておき、stateが1及び2、3の場合である今回の場合はこれに0を代入しておく(ステップ144)。その後サブルーチンの処理を終了し、図5(B)のMPEGプロセスの続き(図5(B)のステップ123以降)を行う。
【0056】
ステップ143においてstateが4の場合は、FIFOメモリ13のリード動作に遅れが生じているため、イーサネット2に送出するデータ量を減少させる必要がある。そこで、まずstate5 countの値を読み出してチェックする(ステップ145)。
【0057】
このstate5 countの値が0でない場合は(ステップ145→N)、前のフレーム割り込みでFIFOメモリ13の状態がパターン5であったことを意味しており、また、現在のフレームではパターン4であるため、パターン5からパターン4に状態が改善したことがわかる。しかしながら、引き続きパターン5の処理を行ってより状態を改善する必要があるため、ステップ149の処理に移動する(以降の処理内容は、state5の処理のところで説明する)。
【0058】
state5 countの値が0の場合は(ステップ145→Y)、前のフレームがパターン5以外の状態であったことを示している。この場合のstate4の処理は、I、B、PピクチャのうちBピクチャのデータを削除してデータ量を減らすことを行う。まず、DRAM15上のpicture領域の値を読んでピクチャの種類を判断し(ステップ146)、pictureの値が3でBピクチャを示す場合はパケット生成及び送出をしないため、図5(B)に示すMPEGプロセスのステップ125(パケット送出後の処理)にジャンプする。pictureの値が1または2でI、Pピクチャを示す場合は、通常通りパケット生成・送出を行うため、サブルーチンの処理を終えMPEGプロセスの続き(図5(B)のステップ123)を実行する。
【0059】
ステップ143においてstateが5の場合は、state5 countの値を1だけ更新する(ステップ147)。こうすることにより、以降はstate5 countの値を読むことで、パターン5が何フレーム続いたかがわかる。次に、state5 countが10かどうかチェックする(ステップ148)。これはパターン5が10フレーム続いたかどうかにより、以降の処理を変えるために行っている。
【0060】
state5 countの値が10でない場合は(ステップ148→N)、state5における通常処理を行う。ここでは、I、B、PピクチャのうちBとPピクチャのデータを削除してデータ量を減らすことを行う。まず、DRAM15上のpicture領域の値を読み、pictureの値が2または3でB、Pピクチャを示す場合にはパケット生成及び送出をしないため、図5(B)に示すMPEGプロセスのステップ125(パケット送出後の処理)にジャンプする。pictureの値が1でIピクチャを示す場合は、通常通りパケット生成・送出を行うため、サブルーチンの処理を終えMPEGプロセスの続き(図5(B)のステップ123)を実行する。
【0061】
state5 countの値 が10の場合は(ステップ148→Y)、パターン5が10フレーム続いたことを意味している。この場合はFIFOメモリ13のデータはすでに上書きされて、データの連続性は崩れていると考えられる。また、パターン5の処理(P、Bピクチャを削除する)を10フレーム期間行っても状態が改善しなかったことも意味しているので、このまま同じ動作を繰り返しても改善が見込めないと考えられる。したがって、state5 countの値 が10の場合は、入力信号の符号化レートを下げる処理を行うようにする。
【0062】
まず、ビットレートを設定するため、MPEG1エンコーダLSI12におけるエンコード処理を一旦ストップさせる(ステップ150)。そして、現在の符号化レートを知るために、DRAM15上のbitrateの値を読み(ステップ151)、1.15Mbpsのときは800kbps、800kbpsのときは600kbps、600kbpsのときは400kbps、400kbpsのときは200kbpsをbitrateにセットする(ステップ152)。その後、MPEG1エンコーダLSI12にアクセスし、セットしたbitrateの値をエンコード出力するデータのビットレートに設定する(ステップ153)。そして、state5 countを0に戻してから(ステップ154)、エンコード処理を再開するため、図5(B)のMPEGプロセスのステップ118へジャンプする。
【0063】
このようにして、FIFOメモリ13のデータ残量によってパケット送出量を制御することにより、クライアント3における受信画像の乱れを最小限に抑えることができる。
【0064】
以上説明した本実施の形態では、FIFOメモリ13のライトアドレスとリードアドレスの値を比較することによって、リード動作の遅れ(FIFOメモリ13の使用状況)を検出している。そして、この遅れに応じて、ネットワーク2に送出するデータ量を調節することにより、ネットワーク2上で起こるパケット衝突を回避して、クライアント3における受信画像の乱れを緩和させている。
【0065】
【発明の効果】
本発明の画像伝送装置及び画像伝送方法は、サーバから送信する画像のデータ量を、伝送路として使用するネットワーク環境に適応した伝送レートに調整することができる。
【0066】
また、ネットワーク上で起こるパケットの衝突・消失を回避し、受信装置における画像の乱れを緩和させることができるという効果がある。
【図面の簡単な説明】
【図1】本発明の画像伝送装置及び画像伝送方法が使用されるネットワーク画像伝送システムの例を示す構成図である。
【図2】本発明の画像伝送装置の一実施の形態を示す構成図である。
【図3】イーサネットパケットの生成手順を説明するための図である。
【図4】本発明の画像伝送装置及び画像伝送方法の一実施の形態の動作を説明するためのタイミングチャート図である。
【図5】本発明の画像伝送装置及び画像伝送方法の一実施の形態を説明するためのフローチャート図である。
【図6】本発明の画像伝送装置のFIFOメモリの周辺回路の例を示す構成図である。
【図7】 FIFOメモリの書き込み動作を説明するためのタイミングチャート図である。
【図8】 FIFOメモリの書き込みアドレスのカウント動作を説明するための図である。
【図9】 FIFOメモリのアドレス比較の方法を説明するための図である。
【図10】 FIFOメモリの状態パターンを説明するための図である。
【図11】 FIFO address ISRの動作を説明するためのフローチャート図である。
【図12】 Data reduceサブルーチンの動作を説明するためのフローチャート図である。
【図13】従来の画像伝送装置の動作を説明するためのタイミングチャート図である。
【図14】従来の画像伝送装置を説明するためのフローチャート図である。
【符号の説明】
1 画像伝送装置
2 イーサネット(ネットワーク)
3 画像受信装置
4 表示モニタ
5 MPEG圧縮回路
6 データバス
7 イーサネット回路(送出手段)
8 イーサネット回路
9 MPEG伸張回路
11 A/D変換器
12 MPEG1エンコーダLSI(符号化手段)
12a 内部レジスタ(FIFO read レジスタ)
13 FIFOメモリ(蓄積手段,第1の蓄積手段)
14 CPU
15 DRAM(第2の蓄積手段)
16 FIFOメモリコントロール回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image transmission apparatus and an image transmission method for performing real-time transmission of continuous stream data such as moving images via a network such as Ethernet or Fast Ethernet.
[0002]
[Prior art]
In recent years, video (continuous stream data) such as moving images taken by a camera on the transmitting device (server) side is transmitted in real time via a LAN such as Ethernet or Fast Ethernet, and monitored by a transmission receiving device (client). A monitoring system using a so-called network is considered, and there is a demand mainly for premises monitoring.
[0003]
At this time, when transmitting the video shot by the camera on the server side, the replayed image on the client side is disturbed due to packet collision or loss on the network, so there are several methods to avoid this It is considered.
[0004]
In such a network image transmission system, as shown in FIG. 1, a transmission device (server) 1 and a reception device (client) 3 are connected via a LAN 2 such as Ethernet or Fast Ethernet. Then, the
[0005]
The
[0006]
In the
[0007]
Here, the
[0008]
The frame pulse shown in FIG. 13A is a signal synchronized with the frame period of the input video signal, and requests the hardware interrupt once per frame period from the
[0009]
Here, the program operation of the interrupt processing routine (Frame ISR) will be further described with reference to the flowchart shown in FIG. As described above, the frame ISR phase A1 (see FIG. 13C) is started by a hardware interrupt that occurs in the frame period of the input video signal. As shown in FIG. 14A, the operation of the Frame ISR starts with reading the contents of the FIFO read Register 12a, which is an internal register of the
[0010]
By calling the Frame ISR, the phase B1 of the network process starts (see FIG. 13D). The operation of this network process is a process of generating a packet from an elementary stream written in the DRAM MPEG area on the
[0011]
First, the elementary stream written in the DRAM MPEG area on the
[0012]
The processing described with reference to FIGS. 14A and 14B is processing performed within one frame period. When the hardware interrupt of the next frame occurs, the Frame ASR phase A2 starts, and the processing from
[0013]
[Problems to be solved by the invention]
When the moving image data output from the
[0014]
This problem will be described in more detail. As described above with reference to FIGS. 3, 13, and 14, the outline of the program execution timing in the conventional method is that when a hardware interrupt occurs, Frame ISR is executed. In this Frame ISR, all data (data constituting one picture) to be read in one frame period is read from the
[0015]
In such an image transmission device (server) 1, an input imageEncoding rateIs high (= the amount of data is large), the read operation of the
[0016]
Further, when the network 2 is congested, packet retransmission due to packet collisions frequently occurs, and transmission processing takes time. As a result, it becomes impossible to transmit all data to be processed within one frame period.
[0017]
As described above, when a normal packet cannot be transmitted, the image receiving apparatus (client) 3 cannot perform normal decoding processing, and thus a distorted image is displayed.
[0018]
In the conventional method described above, each of the three memories ((1) the
[0019]
Therefore, in the present invention, among these three memories, (2) the memory area secured on the
[0020]
[Means for Solving the Problems]
As means for achieving the above object, according to the present invention, (1) the memory amount used in the entire image transmission apparatus (server) is concentrated in the FIFO memory of the MPEG compression circuit as much as possible. (2) The FIFO memory of the MPEG compression circuit Three methods are used: checking the usage status; and (3) adjusting the amount of data sent to the network according to the usage status. The present invention intends to provide an image transmission apparatus and an image transmission method described below as an invention showing a specific configuration and method using these three means.
[0021]
1. An image transmission device that transmits information data including image data via a network in order to reproduce an image by the image reception device,
An A / D converter that A / D converts the incoming video signal into digital image data;
Encoding means for compressing and encoding the digital image data in MPEG format;
First storage means for sequentially and temporarily storing the compressed image data compressed by the encoding means;
A capacity of one packet for temporarily storing the compressed image data of one packet read from the first storage means;A FIFO memory control circuit;
Second storage means for sequentially and temporarily storing the compressed image data for one packet output from the FIFO memory control circuit;
Said second storage meansSending means for packetizing the compressed image data read out for each packet from the packet and sending it to the network;
Control means for controlling the first storage means;
Have
The control means determines the usage status of the first storage means based on a plurality of patterns corresponding to the write address and the read address position in the first storage means, and the pattern and a continuation frame of the pattern Depending on the number, compressed picture data compressed by deleting the B picture of the temporarily stored compressed picture data, deleting the B picture and the P picture, or reducing the coding rate of the coding means Control whether to temporarily store by reducing the amountAn image transmission apparatus.
[0022]
2.The control means further controls to increase the compression rate of the image data compressed by the encoding means before the accumulated data amount of the first accumulation means is rewritten by sequentially incoming data. The image transmission apparatus according to
[0023]
3.An image transmission method for transmitting information data including image data via a network in order to reproduce an image in an image receiving device,
An incoming video signal is A / D converted into digital image data, the digital image data is compression-encoded and sequentially stored in the first storage means, and is read out from the first storage means for each packet data. Temporarily accumulates in the second accumulator, one packet of compressed image data output from the second accumulator is temporarily accumulated in the third accumulator sequentially, and one packet from the third accumulator. When the read compressed image data is packetized for transmission and sent to the network,
Control for thinning out and outputting B picture or B picture and P picture from the first storage means and compression of the image data before the stored data amount of the first storage means is rewritten by incoming data An image transmission method comprising controlling at least one of control for increasing the rate.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
An image transmission apparatus and an image transmission method according to an embodiment of the present invention will be described with reference to the drawings. The image transmission apparatus of the present invention is used in a network image transmission system as shown in FIG. 1, and has a configuration as shown in FIG. 2, for example. Here, since the schematic configuration in FIGS. 1 and 2 has already been described in the prior art, the description of the same part is omitted, and the program configuration and circuit configuration unique to the present application are as follows. (1) Image transmission apparatus (server) Aggregate the total amount of memory used in the FIFO memory of the MPEG compression circuit as much as possible. (2) Check the usage status of the FIFO memory of the MPEG compression circuit. (3) Adjust the amount of data sent to the network according to the usage status. This will be described below with reference to other drawings, focusing on the three means.
[0026]
First, (1) this program operation is shown in FIG. 4 in that the memory amount used in the entire image transmission apparatus (server) 1 is concentrated in the FIFO memory (storage means, first storage means) 13 of the
[0027]
First, before a hardware interrupt occurs, steps 116 to 119 of the MPEG process shown in FIG. 5B are executed. Here, initial setting of the MPEG1 encoder LSI (encoding means) 12 is first performed (step 116). Next, the
[0028]
In
[0029]
In this Frame ISR, processing as shown in FIG. 5A is performed. First, the value of the FIFO read register 12a in the
[0030]
Then, the MPEG process called from the Frame ISR resumes processing, and phase B1 shown in FIG. 4 (D) starts. In the MPEG process, when there is a call from Frame ISR (step 119 → Y), 1460 bytes (data to be transmitted in one packet) are read from the
[0031]
Thereafter, 1460-byte data stored in the DRAM MPEG area on the
[0032]
Then, it is checked whether or not the FIFO number of the
[0033]
As described above, in this embodiment, only data for one packet is copied to the
[0034]
In other words, in the conventional method, all data for one frame is read from the
[0035]
Further, since the amount of data accumulated in the
[0036]
Next, a method for monitoring the use status of the FIFO memory will be described below. First, (2) checking the usage status of the
[0037]
Only the peripheral main circuit configuration of the
[0038]
In this embodiment, in order to detect the remaining amount of data held in the
[0039]
First, the write address is obtained by counting the number of WCLKs when WE is at "L" level in the FIFO
[0040]
For example, when using a
[0041]
If the
[0042]
As described above, in the present embodiment, not all the data within one frame period (data constituting one picture) is read from the
[0043]
In the present embodiment, in order to cope with such a situation, the
[0044]
When comparing the write address and the read address obtained above, the amount of data read from the
[0045]
Here, the relationship between the state of the
(1)
As shown in (Pattern 1) in FIG. 10, the write address is always preceded and the address position in a normal state where the processing is completed within one frame period is shown. In this case, the relationship of the addresses of the
R−5000 <R + 5000 <W−5000 <W + 5000 (Formula 1)
[0046]
(2) Pattern 2
Pattern 2 shows a state in which the read address approaches the write address and a part of the comparison range overlaps as shown in (Pattern 2) in FIG. It means that it is done without any problem, and this is also normal. In this case, the relationship of the addresses of the
R−5000 <W−5000 <R + 5000 <W + 5000 (Formula 2)
[0047]
(3)
In
W−5000 <W + 5000 <R−5000 <R + 5000 (Formula 3)
[0048]
(4)
W−5000 <R−5000 ≦ W + 5000 <R + 5000 (Formula 4)
[0049]
(5)
R−5000 ≦ W−5000 <R + 5000 ≦ W + 5000 (Formula 5)
[0050]
Next, a procedure for adjusting the amount of data transmitted to the Ethernet 2 based on the use status of the
[0051]
First, the operation of the FIFO address ISR will be described with reference to FIG. The FIFO address ISR is a process executed by a software interrupt generated at regular intervals by the timer function of the
[0052]
First, the write address and read address generated by the FIFO
[0053]
Here, a flag indicating the delay of the read operation of the FIFO memory 13 (area name is read late) and an area for storing pattern information (area name is state) are secured on the
[0054]
Next, the operation of the Data Reduce subroutine will be described with reference to the flowchart shown in FIG. In this Data Reduce subroutine, the pattern information determined and stored by the FIFO address ISR is read to reduce the amount of packets sent in the case of
[0055]
First, the header of the elementary stream stored in the DRAM MPEG area by the MPEG process is searched to find the picture coding type, the picture type (I, P, B) is determined (step 141), and secured on the
[0056]
If the state is 4 in
[0057]
If the value of this state5 count is not 0 (step 145 → N), it means that the state of the
[0058]
If the value of state5 count is 0 (step 145 → Y), this indicates that the previous frame was in a state other than
[0059]
When the state is 5 in
[0060]
If the value of state5 count is not 10 (
[0061]
If the value of state5 count is 10 (
[0062]
First, in order to set the bit rate, the encoding process in the
[0063]
In this way, by controlling the packet transmission amount according to the remaining amount of data in the
[0064]
In the present embodiment described above, the read operation delay (usage status of the FIFO memory 13) is detected by comparing the write address and read address values of the
[0065]
【The invention's effect】
The image transmission apparatus and the image transmission method of the present invention can adjust the data amount of an image transmitted from a server to a transmission rate adapted to a network environment used as a transmission path.
[0066]
In addition, there is an effect that it is possible to avoid packet collision / disappearance that occurs on the network and to reduce image disturbance in the receiving apparatus.
[Brief description of the drawings]
FIG. 1 is a configuration diagram illustrating an example of a network image transmission system in which an image transmission apparatus and an image transmission method of the present invention are used.
FIG. 2 is a configuration diagram showing an embodiment of an image transmission apparatus of the present invention.
FIG. 3 is a diagram for explaining an Ethernet packet generation procedure;
FIG. 4 is a timing chart for explaining the operation of the embodiment of the image transmission apparatus and the image transmission method of the present invention.
FIG. 5 is a flowchart for explaining an embodiment of an image transmission apparatus and an image transmission method of the present invention.
FIG. 6 is a configuration diagram showing an example of a peripheral circuit of a FIFO memory of the image transmission apparatus of the present invention.
FIG. 7 is a timing chart for explaining the write operation of the FIFO memory.
FIG. 8 is a diagram for explaining a count operation of a write address of a FIFO memory.
FIG. 9 is a diagram for explaining a method of comparing addresses in a FIFO memory;
FIG. 10 is a diagram for explaining a state pattern of a FIFO memory;
FIG. 11 is a flowchart for explaining the operation of a FIFO address ISR;
FIG. 12 is a flowchart for explaining the operation of the Data reduce subroutine.
FIG. 13 is a timing chart for explaining the operation of a conventional image transmission apparatus.
FIG. 14 is a flowchart for explaining a conventional image transmission apparatus.
[Explanation of symbols]
1 Image transmission device
2 Ethernet (network)
3 Image receiver
4 Display monitor
5 MPEG compression circuit
6 Data bus
7 Ethernet circuit (transmission means)
8 Ethernet circuit
9 MPEG expansion circuit
11 A / D converter
12 MPEG1 encoder LSI (encoding means)
12a Internal register (FIFOreadregister)
13 FIFO memory (storage means, first storage means)
14 CPU
15 DRAM (second storage means)
16 FIFO memory control circuit
Claims (1)
入来するビデオ信号をA/D変換しデジタル画像データとするA/D変換部と、
前記デジタル画像データをMPEG方式で圧縮符号化する符号化手段と、
前記符号化手段により圧縮された圧縮画像データを順次一時蓄積する第1の蓄積手段と、
前記第1の蓄積手段から読み出された1パケット分の前記圧縮画像データを一時蓄積する1パケット分の容量を有するFIFOメモリコントロール回路と、
前記FIFOメモリコントロール回路から出力される1パケット分の圧縮画像データを順次一時蓄積する第2の蓄積手段と、
前記第2の蓄積手段から1パケット分づつ読み出された圧縮画像データを送出用にパケット化して前記ネットワークに送出する送出手段と、
前記第1の蓄積手段を制御するための制御手段と、
を有し、
前記制御手段は、前記第1の蓄積手段の使用状況を前記第1の蓄積手段におけるライトアドレスとリードアドレスの位置とに対応した複数のパターンに基づいて判別し、前記パターンとそのパターンの継続フレーム数とに応じて、前記一時蓄積された圧縮画像データのBピクチャを削除するか、Bピクチャ及びPピクチャを削除するか、あるいは前記符号化手段の符号化レートを下げて圧縮された圧縮画像データ量を減らして一時蓄積するかの制御を行うようにしたことを特徴とする画像伝送装置。An image transmission device that transmits information data including image data via a network in order to reproduce an image by the image reception device,
An A / D converter for A / D converting the incoming video signal into digital image data;
Encoding means for compressing and encoding the digital image data in MPEG format;
First storage means for sequentially and temporarily storing the compressed image data compressed by the encoding means;
A FIFO memory control circuit having a capacity of one packet for temporarily storing the compressed image data of one packet read from the first storage means ;
Second storage means for sequentially and temporarily storing the compressed image data for one packet output from the FIFO memory control circuit;
Sending means for packetizing the compressed image data read from the second storage means for each packet and sending it to the network;
Control means for controlling the first storage means;
Have
The control means discriminates the usage status of the first storage means based on a plurality of patterns corresponding to the write address and the read address position in the first storage means, and the pattern and the continuation frame of the pattern Depending on the number, the compressed image data compressed by deleting the B picture of the temporarily stored compressed image data, deleting the B picture and the P picture, or reducing the encoding rate of the encoding means An image transmission apparatus characterized in that control is made as to whether or not temporary storage is performed by reducing the amount .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26329799A JP3827133B2 (en) | 1999-09-17 | 1999-09-17 | Image transmission apparatus and image transmission method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26329799A JP3827133B2 (en) | 1999-09-17 | 1999-09-17 | Image transmission apparatus and image transmission method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001086499A JP2001086499A (en) | 2001-03-30 |
JP3827133B2 true JP3827133B2 (en) | 2006-09-27 |
Family
ID=17387526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26329799A Expired - Lifetime JP3827133B2 (en) | 1999-09-17 | 1999-09-17 | Image transmission apparatus and image transmission method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3827133B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3867671B2 (en) | 2003-01-21 | 2007-01-10 | ソニー株式会社 | Data transmission apparatus and data transmission method |
-
1999
- 1999-09-17 JP JP26329799A patent/JP3827133B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001086499A (en) | 2001-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7756233B2 (en) | Data receiving device and data receiving method | |
JPH10229420A (en) | Communication system | |
JP2003524909A (en) | Method and apparatus for achieving a multimedia network interface | |
JPH06237451A (en) | Moving picture communication system and terminal equipment | |
EP1696396A2 (en) | Image pickup apparatus and image distributing method | |
US8018931B2 (en) | Communication apparatus and integrated circuit for communication | |
JP2009512265A (en) | Video data transmission control system and method on network | |
US8014452B2 (en) | Format conversion circuit | |
JP3827133B2 (en) | Image transmission apparatus and image transmission method | |
CN103036808A (en) | Method and system for removing network jitter | |
JP2000295597A (en) | Reception and transmission system for media data | |
JP3201313B2 (en) | Data transmission system and playback device | |
JP4136151B2 (en) | Encoding apparatus, method, and computer-readable storage medium | |
JP3857533B2 (en) | Signal receiving apparatus and signal receiving method | |
JPH06125363A (en) | Packet communication system | |
JP3750503B2 (en) | Image data transmission apparatus and control method thereof | |
JP3637835B2 (en) | Network transmission equipment | |
JP3419607B2 (en) | Clock recovery device | |
JP2000115249A (en) | Data communication terminal and data communication method | |
JP2002281079A (en) | Image data transmitting device | |
JP3719120B2 (en) | Image data transmission device | |
JPH10303910A (en) | Multimedia information distribution method and distribution system | |
JP3801043B2 (en) | Data receiving apparatus and method | |
JP3454175B2 (en) | Image information transmission device | |
JP3441257B2 (en) | Data transmission equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040917 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050930 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051129 |
|
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: 20060616 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060629 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3827133 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: 20090714 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 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: 20120714 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: 20120714 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130714 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |