JP3827133B2 - Image transmission apparatus and image transmission method - Google Patents

Image transmission apparatus and image transmission method Download PDF

Info

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
Application number
JP26329799A
Other languages
Japanese (ja)
Other versions
JP2001086499A (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 JP26329799A priority Critical patent/JP3827133B2/en
Publication of JP2001086499A publication Critical patent/JP2001086499A/en
Application granted granted Critical
Publication of JP3827133B2 publication Critical patent/JP3827133B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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 server 1 compresses the video signal captured by the camera by the MPEG compression circuit 5 in accordance with, for example, the MPEG1 standard, packetizes the compressed data by the Ethernet circuit 7, and transmits the packetized data to the Ethernet 2. The client 3 receives this data from the Ethernet 2, takes out the video data with the Ethernet circuit 8, decompresses it with the MPEG decompression circuit 9, outputs it to the display monitor 4, and displays it to display the video captured by the server 1. This can be confirmed on the client 3 side.
[0005]
The image transmission apparatus 1 will be described in more detail. For example, as shown in FIG. 2, an MPEG compression circuit 5 that compresses an input video signal according to the MPEG1 standard, and compressed data (elementary stream) from the MPEG compression circuit 5 is a data bus. 6 and an Ethernet circuit 7 for sending to the Ethernet (network) 2. The MPEG compression circuit 5 mainly includes an A / D converter 11 that converts an analog input video signal into a digital signal, and an MPEG1 encoder LSI 12 that compresses the digital video signal output from the A / D converter 11 according to the MPEG1 standard. The FIFO memory 13 temporarily stores moving image data compressed by the MPEG1 encoder LSI 12, the CPU 14 that controls the entire MPEG compression circuit 5, and the DRAM 15 that is a memory used to operate the CPU 14. .
[0006]
In the image transmission apparatus 1 having such a configuration, the input video signal is A / D converted by the A / D converter 11, compressed by the MPEG1 encoder LSI 12, and output in the form of an elementary stream. This is temporarily held in the FIFO memory 13 and sequentially read out in a first-in first-out manner in accordance with a request from the CPU 14. The data read from the FIFO memory 13 is sent to the Ethernet circuit 7 via the data bus 6, where header information such as Ethernet, UDP, IP, and TCP is added and then sent to the Ethernet 2. The
[0007]
Here, the MPEG1 encoder LSI 12 writes the compressed data (elementary stream) to the FIFO memory 13 as needed, but all the write operations to the FIFO memory 13 are performed by the MPEG1 encoder LSI 12. On the other hand, a read operation from the FIFO memory 13 is performed by software operating on the CPU 14. Hereinafter, a conventional operation from reading an elementary stream held in the FIFO memory 13 to generating an Ethernet packet will be described with reference to a timing chart of FIG.
[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 CPU 14. When a hardware interrupt is generated from the CPU 14 ((B) in the figure), an interrupt processing routine (Frame ISR) is executed ((C) in the same figure), where an elementary stream read operation from the FIFO memory 13 is performed. In this case, when one hardware interrupt occurs, all data constituting one picture (I picture, P picture, or B picture) is read from the FIFO memory 13. Since the amount of data constituting one picture varies from frame to frame, the MPEG1 encoder LSI 12 writes the number of bytes of data for each frame to be written into the FIFO memory 13 into the internal register (FIFO read Register) 12a. .
[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 MPEG1 encoder LSI 12, and data to be read within the current frame period (data for one frame). Is obtained (step 101). Next, data is read from the FIFO memory 13 by this number of bytes and written to an area (area name: DRAM MPEG area) secured on the DRAM 15 (step 102). Then, 0 is written in the FIFO read register 12a (step 103). In the FIFO read register 12a, the amount of data to be read in the next frame by the MPEG1 encoder LSI 12 is written before the next interrupt occurs. Finally, the network process is called to end the Frame ISR (step 104).
[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 DRAM 15 as shown in FIG. 14B. Refer to FIG. 3 for this procedure. While explaining.
[0011]
First, the elementary stream written in the DRAM MPEG area on the DRAM 15 is divided into 1460 bytes (the last read data may be 1460 bytes or less) and read (FIG. 3 (A)), 8 bytes UDP header and 20-byte IP header are added (FIGS. 3B and 3C: step 105). Then, this data is written into a data area of a controller LSI (not shown) of the Ethernet circuit 7 and a transmission procedure is performed (step 106). Thereafter, hardware processing by the Ethernet circuit 7 is performed. Further, a 14-byte Ethernet header is added to this data to form a 1502-byte packet (FIG. 3D), and this packet is transmitted to Ethernet 2 (see FIG. 13E). Then, it is checked whether there is still data written in the DRAM MPEG area (step 107). If data remains (step 107 → Y), the processing of steps 105 to 107 is repeated. In this way, a continuous elementary stream is divided into packets (= 1502 bytes) and sequentially transmitted to the Ethernet 2. If there is no more data to be read from the DRAM MPEG area (step 107 → N), this network process is terminated.
[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 step 101 is similarly performed. By such software processing, the elementary stream output from the MPEG1 encoder LSI 12 is packetized and transmitted to the Ethernet 2.
[0013]
[Problems to be solved by the invention]
  When the moving image data output from the image transmission device 1 is transmitted to the image reception device 3 via the network 2 to which a plurality of PCs such as a LAN are connected, if the network 2 is congested and traffic increases, The transmission rate of the network 2 is the image data to be transmitted.Encoding rateIt may become lower than. For this reason, packet collision may occur in the network 2 and data may be lost. Since retransmission is repeated at the Ethernet level, data transmission takes time. As a result, the data reading from the FIFO memory 13 of the MPEG compression circuit 5 and the memory (not shown) of the Ethernet circuit 7 and the operation of adding a TCP (UDP) / IP / Ethernet header are delayed, and normal operation is performed. You will not be able to send Ethernet packets. For this reason, since there is a missing portion in the data received by the image receiving device 3, there is a problem that even if this is decoded, the decoding process cannot be performed normally, and the image displayed on the display monitor 4 is disturbed.
[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 FIFO memory 13 and the contents are copied to a memory area on the DRAM 15. Thereafter, a network process is called by the CPU 14, 1460 bytes of data is read from the memory area of the DRAM 15, and a UDP, IP, or Ethernet header is added thereto to form a 1052 byte packet. This is held in the memory of the Ethernet circuit 7 and is sequentially transmitted to the Ethernet 2. This series of processes is repeated until there is no data copied to the DRAM 15, and a plurality of packets are transmitted within one frame period.
[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 FIFO memory 13 of the MPEG compression circuit 5 is not completed within one frame period, and the subsequent network process cannot be executed. Alternatively, since the process is executed over the next frame period, the delay is gradually accumulated.
[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 FIFO memory 13 of the MPEG compression circuit 5, (2) the memory area secured on the DRAM 15 and (3) the memory of the Ethernet circuit 7) each stores data. Since it is held, it is very difficult to detect a delay in processing, and it is difficult to cope with a delay in processing.
[0019]
Therefore, in the present invention, among these three memories, (2) the memory area secured on the DRAM 15 and (3) the memory usage of the Ethernet circuit 7 are reduced, and the total memory usage is reduced as much as possible (1) MPEG compression. By concentrating on the FIFO memory 13 of the circuit 5, if the usage amount of the FIFO memory 13 is examined, it can be determined whether the read operation from the FIFO memory 13 or the data transmission to the network 2 is completed within one frame period. Like that. The object of the present invention is to prevent loss of data and to perform good image reproduction by the image receiving device 3 by adjusting the amount of data sent to the network according to the use state of the FIFO memory 13. .
[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 claim 1, further comprising:
[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 MPEG compression circuit 5 as much as possible. This will be described with reference to the timing chart shown in FIG. 5 and the flowchart shown in FIG.
[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 MPEG1 encoder LSI 12 is accessed, the compression rate is set to a predetermined value (eg, 1.15 Mbps), and the predetermined value is stored in an area secured on the DRAM 15 (the area name is bitrate) (step 117). ). Then, encoding (compression) by the MPEG1 encoder LSI 12 is started (step 118), and a call from the Frame ISR is waited (step 119).
[0028]
In step 118, when encoding is started, a frame pulse synchronized with the frame period of the input video signal is output from the MPEG1 encoder LSI 12 (see FIG. 4A). Then, a hardware interrupt of the CPU 14 is generated by this signal (see FIG. 4B), and Frame ISR is called to start phase A1 (see FIG. 4C).
[0029]
In this Frame ISR, processing as shown in FIG. 5A is performed. First, the value of the FIFO read register 12a in the MPEG1 encoder LSI 12 is read, and the number of bytes of data to be read at present (the amount of data constituting one picture) is obtained from the FIFO memory 13 (step 111). If the number of bytes is 0 (step 112 → Y), the data is not held in the FIFO memory 13, and the interrupt process is terminated. However, if the number of bytes is not 0 (step 112 → N), the number of bytes is copied to the area (area name is FIFO number) secured on the DRAM (second storage means) 15 (step 113). Then, the FIFO read register 12a is reset (0 is written) (step 114), the MPEG process is called, and the interrupt process is terminated. Thus, the phase A1 shown in FIG.
[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 FIFO memory 13 of the MPEG compression circuit 5 and once stored in the FIFO memory control circuit 16. The data is secured and output to the data bus 6 in accordance with the operation timing of the CPU 14, and this data is copied to the area secured on the DRAM 15 (the area name is DRAM MPEG area) (step 120). Then, 1460 bytes are subtracted from the value of the number of bytes recorded in the FIFO number on the DRAM 15, and the value is written again in the FIFO number (step 121). Thereafter, a Data Reduce subroutine is executed to adjust the amount of data sent to the Ethernet (step 122). The data reduce subroutine will be described later in detail with reference to FIG.
[0031]
Thereafter, 1460-byte data stored in the DRAM MPEG area on the DRAM 15 is read and a UDP / IP header is added (step 123). Then, this data is written into a data area (not shown) of the controller LSI of the Ethernet circuit (sending means) 7 and a transmission procedure is performed (step 124). Thereafter, hardware processing by the Ethernet circuit 7 is performed. That is, a 14-byte Ethernet header is added to this data to form a 1502-byte packet (see FIG. 3D), and this packet is transmitted to Ethernet 2 (see FIG. 4E).
[0032]
Then, it is checked whether or not the FIFO number of the DRAM 15 is 0 (step 125). If it is not 0 (step 125 → N), since there is still data to be transmitted, the process returns to step 120 to start phase B2. This phase B2 performs the same processing as the phase B1, and repeats the processing of steps 120 to 125 (see FIG. 4D). In this way, the continuous elementary stream is divided into packets (= 1502 bytes) and sequentially sent out to the Ethernet 2 until the FIFO number becomes 0 in phase B3, phase B4. When the FIFO number of the DRAM 15 becomes 0 (step 125 → Y), the data reading from the FIFO memory 13 is completed, so this MPEG process is terminated. Then, when the next frame period starts (see FIG. 4A), when a hardware interrupt occurs (see FIG. 4B), Frame ISR phase A2 starts (see FIG. 4C). ), The process shown in the flow of FIG. 5 described above is executed.
[0033]
As described above, in this embodiment, only data for one packet is copied to the DRAM 15, the packet is transmitted from the Ethernet circuit 7, and then the data of the next packet is copied to the DRAM 15. Therefore, the amount of data stored in the DRAM 15 and the Ethernet circuit 7 is only one packet, and most of the compressed image data output from the MPEG1 encoder LSI 12 is only accumulated in the FIFO memory 13. Therefore, it is possible to grasp the processing status of packet transmission only by monitoring the FIFO memory 13.
[0034]
In other words, in the conventional method, all data for one frame is read from the FIFO memory 13 and stored in the DRAM 15, and then packetized every 1460 bytes (1502 bytes including the header) and transmitted to the Ethernet. For this reason, if the compression rate of the input image is high or the processing within one frame period is not in time due to network congestion, etc., the generation process of the Ethernet packet is wrinkled, and in the worst case, one packet can be generated. Sometimes it disappeared. However, in this embodiment, by reading data from the FIFO memory 13 by 1460 bytes at a time, priority is given to sending 1 packet (1502 bytes including header) in units of Ethernet 2. It is possible to avoid the generation failure.
[0035]
Further, since the amount of data accumulated in the FIFO memory 13 increases accordingly, “use status of the FIFO memory 13 = packet transmission status”, and the FIFO memory 13 is monitored to check whether processing within one frame period is in time. It becomes possible to discriminate.
[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 FIFO memory 13 of the MPEG compression circuit 5 (checking the remaining amount of data in the FIFO memory 13) will be described.
[0037]
Only the peripheral main circuit configuration of the FIFO memory 13 in the MPEG compression circuit 5 is shown in FIG. In this embodiment, the FIFO memory 13 that can perform the write operation and the read operation asynchronously is used. In the figure, the flow of image data is that compressed image data (elementary stream) output from the MPEG1 encoder LSI 12 is input to the write side of the FIFO memory 13. The data held in the FIFO memory 13 is read according to a request from the CPU 14. The write side control is performed by the write clock (WCLK) and write enable (WE) output from the MPEG1 encoder LSI 12 and the write reset (WRST) output from the FIFO memory control circuit 16, and the read side control is performed from the CPU 14. An output read clock (RCLK), a read enable (RE) output from the FIFO memory control circuit 16, and a read reset (RRST) are used. The write operation is performed by the WCLK and WE signals output from the MPEG1 encoder LSI 12. For example, as shown in FIG. 7, when WE is at "L" level, 8 cycles per cycle are synchronized with the rise of the WCLK input. It is written in bits (1 byte).
[0038]
In this embodiment, in order to detect the remaining amount of data held in the FIFO memory 13, the current write address and read address of the FIFO memory 13 are checked, and these values are compared, thereby comparing the FIFO memory 13. The remaining amount of data held in
[0039]
First, the write address is obtained by counting the number of WCLKs when WE is at "L" level in the FIFO memory control circuit 16 shown in FIG.
[0040]
For example, when using a FIFO memory 13 with a capacity of 2M bits (256K words x 8 bits = 262144 bytes), the data width (1 byte = 8 bits) on the vertical axis and the number of words on the horizontal axis indicate the entire memory. The amount of data is as shown in FIG. Since the write operation is performed by writing 1 byte (= 8 bits) at the rising edge of WCLK, as shown in FIG. 8B, using a 19-bit counter (write address counter), 1 to 40000 By counting up to HEX (= 262144), the number of bytes (write address) of data written to the FIFO memory 13 can be counted. Similarly, the read address can be counted by the FIFO memory control circuit 16 by counting the number of RCLKs when the RE is at the “L” level, and counting the number of bytes of data read from the FIFO memory 13.
[0041]
If the CPU 14 periodically reads out and compares the value of the write address thus obtained and the value of the read address, the remaining amount of data held in the FIFO memory 13 can be obtained. For example, when the write address is 300 HEX (= 768) and the read address is 20 HEX (= 32), the amount of data remaining in the FIFO memory 13 can be known by subtracting the read address from the write address. In this case, 768−32 = 736 bytes of data remain in the FIFO memory 13 without being read out.
[0042]
As described above, in the present embodiment, not all the data within one frame period (data constituting one picture) is read from the FIFO memory 13, but only the number of bytes necessary for packetization is read. For this reason, the amount of data held in the FIFO memory 13 is larger than in the past. In other words, processing delay of the entire server 1 is collected in the FIFO memory 13. For example, when packets cannot be sent out smoothly due to the congestion of the network 2, the packet transmission is given the highest priority in this embodiment, so that the read operation from the FIFO memory 13 is also delayed. However, since the write operation is performed independently (asynchronously), the write address reaches 40000HEX, data is written again from the 0 address, and eventually the read address may be overtaken. This is because new data is overwritten on data that has not yet been read from the FIFO memory 13, so that the continuous data disappears in the middle, resulting in discontinuous data that is interrupted. A packet is generated and transmitted, and a distorted image is displayed because the client 3 cannot normally perform decoding processing.
[0043]
In the present embodiment, in order to cope with such a situation, the FIFO memory 13 is monitored, and the amount of data transmitted to the Ethernet 2 is adjusted so that the write address does not overtake the read address, thereby minimizing image disturbance. To the limit. A method for adjusting the amount of data sent to the Ethernet 2 (3) adjusts the amount of data sent to the network according to the usage status will be described below.
[0044]
When comparing the write address and the read address obtained above, the amount of data read from the FIFO memory 13 in one frame period (the amount of data that constitutes one picture) differs for each picture, compared to B and P pictures. It is necessary to consider that the amount of data is the largest in the case of an I picture. As a result of measurement in the present embodiment, the amount of data constituting an I picture in one frame period is approximately 10,000 bytes or less at a bit rate of 1.15 Mbps. This means that a maximum of 10000 bytes of the read address is updated for each hardware interrupt (Frame ISR). Therefore, in this embodiment, instead of comparing only the current values of the write address and the read address, a window having a width of 5000 bytes before and after the write address and the read address is provided as shown in FIG. Use to make comparisons.
[0045]
Here, the relationship between the state of the FIFO memory 13 and the write / read address when performing the comparison will be described with reference to FIG. When a hardware interrupt occurs (when Frame ISR is executed), if the FIFO read register is 0, the read operation from the FIFO memory 13 is not performed, so the read address cannot overtake the write address. Absent. Therefore, it is only necessary to determine the use status of the following five patterns excluding this case.
(1) Pattern 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 FIFO memory 13 is expressed by Equation 1. R represents a read address, and W represents a write address.
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 FIFO memory 13 is expressed by Equation 2.
R−5000 <W−5000 <R + 5000 <W + 5000 (Formula 2)
[0047]
(3) Pattern 3
In pattern 3, as shown in (pattern 3) of FIG. 10, the write address reaches the final address (262143), and once returns to 0, the write operation continues, which is also a normal state. In this case, the relationship of the addresses of the FIFO memory 13 is expressed by Equation 3.
W−5000 <W + 5000 <R−5000 <R + 5000 (Formula 3)
[0048]
(4) Pattern 4
Pattern 4 shows a state in which the write address approaches the read address from the state of pattern 3 and a part of the comparison range overlaps as shown in (pattern 4) of FIG. At this time, since the new data is not written on the data that has not yet been read from the FIFO memory 13, the continuity of the data is not disturbed (the received image at the client 3 is not disturbed). However, it can be seen that the reading operation of the FIFO memory 13 is delayed, and in this state, the data is overwritten. Therefore, in order to recover the delay of the read operation, it is necessary to prioritize the read operation of the FIFO memory 13 (for example, to reduce the amount of packet transmission by deleting P and B pictures). Will be described later). In this case, the relationship of the addresses of the FIFO memory 13 is expressed by Equation 4.
W−5000 <R−5000 ≦ W + 5000 <R + 5000 (Formula 4)
[0049]
(5) Pattern 5
Pattern 5 shows a state in which the read operation of the FIFO memory 13 is further delayed from the state of pattern 4 and the write address has overtaken the read address, as shown in (pattern 5) of FIG. In this state, since new data is written on data that has not been read, the continuity of data has already been lost. However, in this case as well, it is necessary to reduce the packet transmission amount and quickly return to the normal state. In this case, the relationship of the addresses of the FIFO memory 13 is as shown in Equation 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 FIFO memory 13 derived as described above will be described. The data amount is adjusted by two processes of FIFO address ISR and Data Reduce subroutine, and respective operation flowcharts are shown in FIG. 11 and FIG. The Data Reduce subroutine is a subroutine executed in step 122 of the MPEG process that has been described in detail with reference to FIG.
[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 CPU 14. In this process, the write address and read address values of the FIFO memory 13 generated by the FIFO memory control circuit 16 are read and stored in an area secured on the DRAM 15.
[0052]
First, the write address and read address generated by the FIFO memory control circuit 16 are read out, and the respective values are copied to areas on the DRAM 15 (area names are referred to as write address and read address) (step 131). Then, the values of (write address ± 5000) and (read address ± 5000) are compared to determine each of the above patterns 1 to 5 (step 132).
[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 DRAM 15 in advance. In the case of pattern 1, 0 is set for read late and 1 is set for state (step 133). Similarly, in the case of pattern 2, 0 is set to read late and 2 is set to state (step 134). In the case of pattern 3, 0 is set to read late and 3 is set to state (step 135). In the case of pattern 4 (when the read operation is delayed), 1 is set to read late and 4 is set to state (step 136). In the case of pattern 5 (when the read operation is further delayed), 1 is set to read late and 5 is set to state (step 137). Thereafter, the interrupt process is terminated.
[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 patterns 4 and 5, and the processing time free here is used as the read operation of the FIFO memory 13. In other words, an operation of recovering the processing delay within one frame period is performed.
[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 DRAM 15 1 is written to I, 2 is written to P, and 3 is written to B (step 142). Then, the state indicating the pattern type is read (step 143), and when the states are 1, 2 and 3, the packet is transmitted as usual because the processing of one frame period is in time. When pattern 5 is entered by the previous frame interrupt, an area is reserved on the DRAM 15 with the name of state 5 count in order to store that, and when states are 1, 2 and 3 In this case, 0 is substituted for this (step 144). Thereafter, the subroutine processing is terminated, and the continuation of the MPEG process in FIG. 5B (from step 123 in FIG. 5B) is performed.
[0056]
If the state is 4 in step 143, there is a delay in the read operation of the FIFO memory 13, so the amount of data sent to the Ethernet 2 needs to be reduced. Therefore, first, the value of state5 count is read and checked (step 145).
[0057]
If the value of this state5 count is not 0 (step 145 → N), it means that the state of the FIFO memory 13 was pattern 5 in the previous frame interrupt, and it is pattern 4 in the current frame. Therefore, it can be seen that the state has improved from pattern 5 to pattern 4. However, since it is necessary to continue the process of pattern 5 to further improve the state, the process moves to the process of step 149 (the process contents thereafter will be described in the process of state 5).
[0058]
If the value of state5 count is 0 (step 145 → Y), this indicates that the previous frame was in a state other than pattern 5. In the process of state 4 in this case, the data amount is reduced by deleting the B picture data from the I, B, and P pictures. First, the value of the picture area on the DRAM 15 is read to determine the type of picture (step 146). If the picture value is 3 and a B picture is indicated, packet generation and transmission are not performed. Jump to step 125 of the MPEG process (processing after packet transmission). When the picture value is 1 or 2 and indicates an I or P picture, the subroutine is finished and the continuation of the MPEG process (step 123 in FIG. 5B) is executed in order to perform packet generation / transmission as usual.
[0059]
When the state is 5 in step 143, the value of state5 count is updated by 1 (step 147). By doing this, it is possible to know how many frames of pattern 5 have continued by reading the value of state5 count thereafter. Next, it is checked whether or not the state5 count is 10 (step 148). This is performed to change the subsequent processing depending on whether the pattern 5 has continued for 10 frames.
[0060]
If the value of state5 count is not 10 (step 148 → N), normal processing in state5 is performed. Here, the data amount is reduced by deleting the data of the B and P pictures out of the I, B, and P pictures. First, the value of the picture area on the DRAM 15 is read, and when the picture value is 2 or 3 and a B or P picture is indicated, packet generation and transmission are not performed. Therefore, step 125 (FIG. 5B) of the MPEG process shown in FIG. Jump to (Process after packet transmission). When the picture value is 1 and an I picture is indicated, packet generation / transmission is performed as usual, so the subroutine processing is terminated and the continuation of the MPEG process (step 123 in FIG. 5B) is executed.
[0061]
  If the value of state5 count is 10 (step 148 → Y), it means that pattern 5 has continued for 10 frames. In this case, it is considered that the data in the FIFO memory 13 has already been overwritten and the continuity of the data has been lost. It also means that the state has not improved even if the pattern 5 processing (deleting P and B pictures) is performed for 10 frames, so it is considered that no improvement can be expected even if the same operation is repeated as it is. . Therefore, if the value of state5 count is 10, the input signalEncoding rateTo lower the value.
[0062]
  First, in order to set the bit rate, the encoding process in the MPEG1 encoder LSI 12 is temporarily stopped (step 150). And currentEncoding rateIn order to know the bitrate, the bitrate value on the DRAM 15 is read (step 151), 800kbps for 1.15Mbps, 600kbps for 800kbps, 400kbps for 600kbps, and 200kbps for 400kbps (step 152). ). Thereafter, the MPEG1 encoder LSI 12 is accessed, and the set bitrate value is set to the bit rate of the data to be encoded and output (step 153). Then, after returning the state5 count to 0 (step 154), the process jumps to step 118 of the MPEG process in FIG. 5B in order to restart the encoding process.
[0063]
In this way, by controlling the packet transmission amount according to the remaining amount of data in the FIFO memory 13, the disturbance of the received image in the client 3 can be minimized.
[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 FIFO memory 13. Then, by adjusting the amount of data sent to the network 2 according to this delay, packet collision that occurs on the network 2 is avoided, and the disturbance of the received image in the client 3 is alleviated.
[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 .
JP26329799A 1999-09-17 1999-09-17 Image transmission apparatus and image transmission method Expired - Lifetime JP3827133B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3867671B2 (en) 2003-01-21 2007-01-10 ソニー株式会社 Data transmission apparatus and data transmission method

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