(57)【特許請求の範囲】
【請求項１】
動画像データを圧縮して送信する画像伝送装置とこの画像伝送装置から送信された圧縮動画像データを受信する画像受信装置とがネットワークを介して接続されており、前記画像受信装置から前記画像伝送装置に対して動画像データの圧縮処理の開始及び終了を制御することができる画像伝送システムであって、
前記画像伝送装置は、動画像データの圧縮開始前に必要な初期設定が終了したことを前記画像受信装置に通知すると共に、
前記画像受信装置は、前記画像伝送装置からの初期設定終了通知を受信するまでは、初期設定未終了状態を継続し、前記画像伝送装置に対して動画像データの圧縮処理の開始を制御する制御信号を送出しないように構成したことを特徴とする画像伝送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像などの連続するストリームデータを、イーサネットやFast EthernetなどのＬＡＮネットワークを介してリアルタイム伝送を行う画像伝送システムに関するものである。
【０００２】
【従来の技術】
近年、送信装置（サーバ）側のカメラで撮影した動画像などの映像（連続するストリームデータ）を、イーサネットやFast EthernetなどのＬＡＮを介してリアルタイムで伝送し、伝送受信装置（クライアント）で監視するいわゆるネットワークを使用した監視システムが考えられており、主に構内監視などでの需要がある。
【０００３】
このときサーバ側のカメラで撮影した映像を受信するクライアント側ではサーバ側での撮影の開始や停止などの制御操作を行う制御信号を送信する（モードをコントロールする）ことができるものもある。
【０００４】
このようなネットワーク画像伝送システムは、図１に示すように、伝送装置（サーバ）１と受信装置（クライアント）３とがイーサネットやFast EthernetなどのＬＡＮ２を介して接続されている。そして、サーバ１は、カメラで撮影した映像信号をＭＰＥＧエンコード回路５で例えばＭＰＥＧ１規格にしたがって圧縮し、この圧縮データをパケット化してイーサネット回路７に渡し、このイーサネット回路７でイーサネットヘッダなどの情報を付加した後、パケットごとにイーサネット２に伝送する。クライアント３では、このデータをイーサネット２から受信してイーサネット回路８で映像データを取出してＭＰＥＧデコード回路９にて伸張し、表示モニタ４に出力して表示することにより、サーバ１で撮影した映像を離れた場所に設置されたクライアント３側で確認することができる。
【０００５】
この画像伝送装置１についてさらに詳述すると、例えば図２に示すように、入力ビデオ信号をＭＰＥＧ１規格で圧縮するＭＰＥＧエンコード回路５と、このＭＰＥＧエンコード回路５から圧縮データ（エレメンタリーストリーム）がデータバス６を介して入力され、イーサネット（ネットワーク）２に送出するためのイーサネット回路７とからなる。このＭＰＥＧエンコード回路５は、主として、アナログ入力ビデオ信号をデジタル信号に変換するＡ／Ｄ変換器１１、このＡ／Ｄ変換器１１から出力されるデジタルビデオ信号をＭＰＥＧ１規格で圧縮するビデオリスクプロセッサ（以下ＶＲＰともいう）１２と、このビデオリスクプロセッサ１２で圧縮されてエレメンタリーストリームの形で出力された動画像データを一時蓄積するＦＩＦＯメモリ１３と、ＭＰＥＧエンコード回路５全体を制御するＣＰＵ１４と、ＣＰＵ１４を動作させるために使用するメモリであるＤＲＡＭ１５とで構成されている。なお、ＤＲＡＭ１６はＶＲＰ１２を動作させるために使用するメモリである。
【０００６】
このような構成の画像伝送装置１において、入力されたビデオ信号は、Ａ／Ｄ変換器１１によるＡ／Ｄ変換後、ビデオリスクプロセッサ１２にて圧縮されてエレメンタリーストリームの形で出力される。これを一旦ＦＩＦＯメモリ１３で保持し、ＣＰＵ１４の要求するタイミングにしたがって順次先入れ先出し方式で読み出していく。ＦＩＦＯメモリ１３から読み出されたデータは、データバス６を介してイーサネット回路７に送出され、ここで、イーサネット・UDP・IP・TCPなどのヘッダ情報が付加された後、イーサネット２上に送出される。
【０００７】
また、ＤＲＡＭ１６はＶＲＰ１２と接続され、ＶＲＰでエンコード処理を行うプログラム（以下マイクロコード）やレジスタとして値を格納するために使用される。したがって、ＭＰＥＧエンコード回路５では電源投入時に初期設定（以下イニシャライズ）を行う必要がある。このイニシャライズの内容を以下に示す。
【０００８】
＜ＭＰＥＧエンコード回路１２のイニシャライズ＞
ＭＰＥＧエンコード回路１２のイニシャライズは、以下の▲１▼〜▲４▼の一連の操作を経て、エンコードを開始するための準備が整うことになる。▲１▼ VPR１２をリセットする。▲２▼ ＶＲＰ１２の内部レジスタやＤＲＡＭ１６のメモリ領域などに初期値を設定する。▲３▼ ＭＰＥＧエンコード処理をつかさどるプログラム（以下マイクロコード）をＤＲＡＭ１６にロードする。▲４▼ ＦＩＦＯメモリ１３をリセットする。
【０００９】
＜モードコントロールの仕組み＞
サーバ１とクライアント３とをＬＡＮ２で接続することで構成されるネットワーク画像伝送システムでは、クライアント３からTCP／IPプロトコルを用いてエンコードスタートやストップなどのモード情報を送ることにより、サーバ１のモードをコントロールする仕組みを備えるものが多い。このようなシステムにおいて、サーバ１は、このモード情報のスタート命令にしたがって、エンコードを開始し、画像データをパケット化してイーサネット２に伝送するという手順を踏むことになる。
【００１０】
ここで、クライアント３から送信す送るモードコントロールコマンドのパケット構造の例を図３に示す。ここでは、図３に示したパケットのデータ領域（図３（Ｂ）参照）と記載してある任意バイトの領域にモード情報を設定する。例えば、エンコードを開始する命令（以下、エンコードスタートコマンド）を送信するときは、データ領域に１をセットする。また、エンコードを停止する命令（以下、エンコードストップコマンド）のときは０をセットする（図３（Ａ）参照）。次に、このデータに８バイトのTCPヘッダ（図３（Ｂ）参照）と２０バイトのIPヘッダ（図３（Ｃ）参照）、１４バイトのイーサネットヘッダが付加される（図３（Ｄ）参照）。そして、このような構造のデータ列が１つのパケットコマンドとしてクライアント３からイーサネット２に送出される。
【００１１】
ここで、クライアント３からサーバ１に送信されるコマンドとサーバ１での動作モードの遷移図を図４（Ａ）に示す。
【００１２】
はじめクライアント３とサーバ１はストップ状態にあり、クライアント３からエンコードスタートコマンドが送信された場合を考える。サーバ１はエンコードスタートコマンドを受信したときはストップ状態にあるので、サーバ１はエンコードスタートコマンドを受信したときからエンコード処理を開始し、ＭＰＥＧデータをパケット化してイーサネット２に送出する。また、クライアント３はパケット化されたＭＰＥＧデータを受信してデコードすることにより画像表示することができる。そして、この状態からクライアント３がエンコードストップコマンドを送信すると、サーバ１はエンコードストップコマンドを受信した時点でエンコード処理を停止し、ストップ状態に移行する。
【００１３】
このように、ネットワーク画像伝送システムにおいて、クライアント３からエンコードスタートコマンド／エンコードストップコマンド等を送信することにより、サーバ１のモードをコントロールすることができる。
【００１４】
【発明が解決しようとする課題】
上述したように、サーバ１では電源投入時にＭＰＥＧエンコード回路１２の初期設定（イニシャライズ）が行われる。しかし、この初期設定の期間中に、クライアント３からのエンコード開始命令を受信してもエンコードを開始することができない。すなわち、図４（Ｂ）に示すように、サーバ１はイニシャライズ中にクライアント３からのエンコードスタートコマンドを受信しても応答することなく、そのままイニシャライズを継続する。そして、初期設定が終了するとストップ状態となり、クライアント３からエンコード開始命令（エンコードスタートコード）を待つことになる。この結果、クライアント３からエンコードスタートコマンドが送信されたにもかかわらず、サーバ１はエンコード処理を開始することなく、そのままストップ状態を継続することになる。一方、クライアント３ではエンコードスタートコマンドを送信したので、サーバ１がエンコードを開始したと認識してスタート状態に移行し、ＭＰＥＧデータの受信とデコード処理を開始するが、画像表示を行うことができないという課題があった。
【００１５】
このようにＭＰＥＧエンコード回路１２の初期設定期間中に、クライアント３からエンコードスタートコマンドが送信されると、サーバ１とクライアント３とでモードの食い違いが生じることになる。そして、クライアント３を操作するユーザは、エンコード開始の要求を出したにもかかわらず、画像が表示されない、エンコード開始を何度も要求しないと画像が表示されないなどの操作上の不具合を感じるという課題があった。
【００１６】
そこで本発明は、イニシャライズ中のエンコードスタートコマンドの送信を防止することにより、サーバ１とクライアント３とでモードの食い違いが生じないようにすることを目的とする。
【００１７】
【課題を解決するための手段】
上記目的を達成するための手段として、以下に示す画像伝送システムを提供しようとするものである。
１．動画像データを圧縮して送信する画像伝送装置とこの画像伝送装置から送信された圧縮動画像データを受信する画像受信装置とがネットワークを介して接続されており、前記画像受信装置から前記画像伝送装置に対して動画像データの圧縮処理の開始及び終了を制御することができる画像伝送システムであって、前記画像伝送装置は、動画像データの圧縮開始前に必要な初期設定が終了したことを前記画像受信装置に通知すると共に、前記画像受信装置は、前記画像伝送装置からの初期設定終了通知を受信するまでは、初期設定未終了状態を継続し、前記画像伝送装置に対して動画像データの圧縮処理の開始を制御する制御信号を送出しないように構成したことを特徴とする画像伝送システム。
【００１９】
【発明の実施の形態】
本発明の画像伝送システムの一実施の形態について図面と共に説明する。本発明の画像伝送システムは、例えば、図１に示すようなネットワーク画像伝送システムであり、その画像伝送装置１は、例えば図２に示すような構成を有するものである。ここで、図１及び図２における概略構成は、従来の技術で説明済みであるので、同一部分の説明は省略し、本願特有のプログラム構成である画像伝送装置（サーバ）１及び画像受信装置（クライアント）３での動作を中心に、他の図面も参照しながら、以下に説明する。
【００２０】
本発明の各実施の形態は、M P E G１で圧縮した画像データをイーサネット２を介して伝送する画像伝送装置（サーバ）１とこの伝送される画像データを受信して伸張し表示する画像受信装置（クライアント）３とで構成するシステムにおいて、サーバ１のM P E Gエンコード回路５の初期設定（イニシャライズ）終了をクライアント３に通知する機能を設けることにより、サーバ１とクライアント３間で異なるモード認識になることを防いでいる。
【００２１】
［第１の実施の形態］
以下、本発明の第１の実施の形態について、サーバ１側の処理とクライアント３側の処理に分けて詳細に説明する。
【００２２】
サーバ１では、ＭＰＥＧエンコード回路５の初期設定（イニシャライズ）が終了した後に、▲１▼ TCP／IPプロトコルを用いたコマンド（以下、イニシャライズ終了コマンド）によって、クライアントにイニシャライズ終了を通知する。そして、▲２▼ サーバ１の外装に設けたLED１８（図７参照）を点灯させることによって、サーバ１を立ち上げた（電源を入れた）ユーザに対してイニシャライズが終了したことを視覚的に知らせることを行っている。
【００２３】
また、クライアント３では、サーバ１からのイニシャライズ終了コマンドを受信するまでは、▲１▼ サーバ１に対して、エンコードスタートコマンドを送信しないようにする。▲２▼ クライアント３を操作するユーザに対して、ユーザインターフェースからのエンコードスタートの要求を許可しないようにすることを行う。
【００２４】
以下、サーバ１及びクライアント３において、このような処理を実現するためのサーバ１及びクライアント３での各プログラム動作について説明する。
【００２５】
《サーバ１で行う処理》
図５にサーバ１のプログラムの動作フローチャートを示す。始めに、サーバ１の電源がユーザによって投入されると、ＭＰＥＧエンコード回路５の初期化を行うためのＭＰＥＧイニシャライズプロセスが起動する。
【００２６】
＜ＭＰＥＧイニシャライズプロセス＞
まず、ＶＲＰ１２に対しソフトウェアによるリセットを行う（ステップ２１）。次にＶＲＰ１２の内部レジスタに初期値を設定し、ＤＲＡＭ１６をＶＲＰ１２のメモリ領域及びレジスタ領域としてマッピングしてＤＲＡＭ１６のレジスタ領域に初期値を設定する（ステップ２２）。さらに、ＭＰＥＧエンコード処理のためのプログラムであるバイナリデータ（以下、マイクロコード）をＤＲＡＭ１６にロードする（ステップ２３）。そして、ＦＩＦＯメモリ１３をリセットして、そのライト／リードアドレスを０に戻すことにより、ＭＰＥＧエンコード回路１２のイニシャライズが終了する（ステップ２４）。
【００２７】
そして、図７に示すように、電圧Ｖｃｃに抵抗１７を介して接続されているLED１８が接続されているＣＰＵ１４の汎用ポートに"Ｌ"レベルを出力してLED１８を点灯させて、イニシャライズの終了をユーザに知らせる（ステップ２５）。
【００２８】
さらに、クライアント３に対してもイニシャライズの終了を知らせるために、以下の処理を行う。まず、ＣＰＵ１４で使用するメモリであるＤＲＡＭ１５上に確保した領域（領域名をCommand Areaとする）に、イニシャライズ終了を表すデータ（イニシャライズ終了コマンド＝２）を書き込む（ステップ２６）。次に、Command Areaからイニシャライズ終了コマンドデータを読み出し、図３を用いて説明したようにTCP／IPヘッダを付加する（ステップ２７）。そして、このTCP／IPヘッダが付加されたイニシャライズ終了コマンドデータをイーサネット回路７のデータ領域に書き込み、送信手続を行う（ステップ２８）。この後は、ハードウェア処理に移り、イーサネット回路７にてイーサネットヘッダが付加され、パケットとしてイーサネット２に送出される。以上の処理により、イニシャライズ終了コマンドがクライアント３に向けて送信される。
【００２９】
次に、クライアント３からモード制御コマンドが送信されてきたときのモード変更処理を行うプログラムであるサーバ・コマンド受信ISR（Interrupt Service Routine）について説明する。このサーバ・コマンド受信ISRは、サーバ１のイーサネット回路７にてクライアント３からのパケットが受信されるとハードウェア割り込みが発生し、このときに実行されるプロセスである。
【００３０】
＜サーバ・コマンド受信ISR＞
イーサネット回路７で受信されたパケットは、イーサネット回路７が管理するデータ領域に保存されている。ここからイーサネットヘッダを取り除いたデータを読み出し、ＤＲＡＭ１５上に確保した領域（領域名をServer RX Data Areaとする）にコピーする（ステップ３１）。次に、Server RX Data AreaからTCP／IPヘッダを検索し、その後のデータ領域にあるモード情報を読み出す（ステップ３２）。ここでモード情報が０の場合は（ステップ３３→０）、クライアント３からエンコードストップコマンドが送られてきたことを意味するので、ＤＲＡＭ１５上に確保した領域（領域名をEncode Startとする）に０を書き込む（ステップ３４）。また、モード情報が１の場合は（ステップ３３→１）、クライアント３からエンコードスタートコマンドが送られてきたことを意味するので、ＤＲＡＭ１５上に確保したEncode Start領域に１を書き込む（ステップ３５）。以上で割り込み処理を終了する。
【００３１】
このサーバ・コマンド受信ISRでエンコードスタートコマンドを受信した場合（ステップ３３→１→ステップ３５）には、ＭＰＥＧエンコードプロセスがエンコード開始の手続を行う。
【００３２】
＜ＭＰＥＧエンコードプロセス＞
まず、ＤＲＡＭ１５上のEncode Start領域の値を読み出して、サーバ・コマンド受信ISRでエンコードスタートコマンドが受信されたかどうか判別する。そして、値が０のときはストップ状態であるので、ループして待機する（ステップ４１→N）。Encode Start領域の値が１になったときは（ステップ４１→Y）、スタート状態であるので、ＤＲＡＭ１６にロードされたマイクロコードに対して、エンコードスタートを要求するデータを書き込む（ステップ４２）。そして、ＶＲＰ１２は、この命令に従いエンコード処理を開始する。
【００３３】
ＶＲＰ１２がエンコード処理中は、サーバ・コマンド受信ISRでエンコードストップコマンドを受信したかどうか判別するため、Encode Start領域の値が０でないかを常に検出する。値が０でない場合は、ループして待機する（ステップ４３→N）。値が０になったときは（ステップ４３→Y）、ＤＲＡＭ１６にロードされたマイクロコードに対して、エンコードストップを要求するデータをロードする。（ステップ４４）。そして、ＶＲＰ１２は、この命令に従いエンコード処理を停止し、再びステップ４１の処理に戻る。
【００３４】
《クライアント３で行う処理》
クライアント３は、イーサネット２とのインターフェースを有するPC／AT互換機（PC）にOSとしてWindows（商標）を使用した場合をを前提にして説明する。このクライアント３でのプログラムもWindows上で動作するプログラムとなる。クライアント３の表示画面には、主にユーザがエンコードスタート／ストップを要求するときに操作するボタンを含むグラフィックユーザインターフェース（GUI）と、受信したＭＰＥＧデータによる動画画面が表示される。なお、ＭＰＥＧデータ受信プログラムとＭＰＥＧデコードプログラムは、従来の処理内容と同様であるのでその説明を省略する。
【００３５】
図６にクライアント３のプログラムの動作フローチャートを示す。始めに、クライアント３のイーサネット回路８にてサーバ１からのパケットが受信されるとハードウェア割り込みが発生し、コマンド受信ISRが実行される。
【００３６】
＜クライアント３でのコマンド受信ISR＞
まず、イーサネット回路８で受信されたパケットは、イーサネット回路８が管理するデータ領域に保存されている。ここからパケットのデータを読み出し、クライアント３のメモリ（図示せず）上に確保した領域（領域名をClient RX Data Areaとする）にコピーする（ステップ５１）。Client RX Data AreaからTCP／IPヘッダを検索し、それに続くデータ領域にあるモード情報を読み出す（ステップ５２）。モード情報が２以外の場合は（ステップ５３→２以外）、サーバ１からイニシャライズ終了コマンド以外のデータが送られてきたことを意味するので、メモリ上に確保した領域（領域名をInitial Endとする）に０を書き込む（ステップ５４）。モード情報が２の場合は（ステップ５３→２）、サーバ１からイニシャライズ終了コマンドが送られてきたことを意味するので、メモリ上に確保したInitial End領域に１を書き込む（ステップ５５）。以上により割り込み処理を終了する。
【００３７】
次に、ユーザがエンコードスタート／ストップの操作を行うため際のユーザインターフェースプロセスについて説明する。ここでは、ユーザが操作を行ったときに、サーバ１のイニシャライズが終了しているかどうかを判断してから処理を行うようにしている。
【００３８】
＜ユーザインターフェースプロセス＞
始めに、ユーザがGUI上のどのボタンを押したか判別する。ここではエンコードスタートボタンかストップボタンかを判別する（ステップ６１）。エンコードスタートボタンが押された場合は（ステップ６１→スタートボタン）、メモリ上に確保したInitial End領域の値が１かどうか判別し（ステップ６２）、１でない場合（値が０の場合）は（ステップ６２→N）、サーバ１からイニシャライズ終了コマンドが送られてきていないことを意味し、サーバ１はイニシャライズが終了していないので、“サーバ／イニシャライズ中”とGUI画面に表示してクライアント３を操作するユーザにエンコードスタートもストップも許可されないことを知らせる（ステップ６３）。その後、ステップ６１に戻る。
【００３９】
ステップ６２において、Initial End領域の値が１の場合は（ステップ６２→Y）、サーバ１のイニシャライズが終了していることを意味しているので、クライアント３のGUIに"エンコードスタート"の文字を表示し、クライアント３を操作するユーザに対してエンコードスタート要求が許可されたことを知らせる（ステップ６４）。そして、メモリ上に確保した領域（領域名をEncode Startとする）に１をセットして、エンコードスタート状態であることを設定する（ステップ６５）。そして、後述するエンコードコマンド送信プロセスをコールしてエンコードスタートコマンドをサーバ１に送信し（ステップ６６）、ステップ６１に戻る。
【００４０】
ステップ６１において、エンコードストップボタンが押された場合は（ステップ６１→ストップボタン）、メモリ上に確保したInitial End領域の値が１かどうか判別し（ステップ６７）、１でない場合（値が０の場合）は（ステップ６７→N）、サーバ１からイニシャライズ終了コマンドが送られてきていないことを意味し、サーバ１はイニシャライズが終了していないので、“サーバ／イニシャライズ中”とGUI画面に表示してクライアント３を操作するユーザにエンコードスタートもストップも許可されないことを知らせる（ステップ６３）。その後、ステップ６１に戻る。
【００４１】
ステップ６７において、Initial End領域の値が１の場合は（ステップ６７→Y）、サーバ１のイニシャライズが終了していることを意味しているので、クライアント３のGUIに“エンコードストップ”の文字を表示し、クライアント３を操作するユーザに対してエンコードストップが許可されたことを知らせる（ステップ６８）。そして、メモリ上に確保したEncode Start領域に０をセットして、エンコードストップ状態であることを設定する（ステップ６９）。そして、後述するエンコードコマンド送信プロセスをコールしてエンコードストップコマンドをサーバ１に送信し（ステップ６６）、ステップ６１に戻る。
【００４２】
サーバー１に対してエンコードスタート／ストップコマンドを送信するためのエンコードコマンド送信プロセスは、上記したユーザインターフェースプロセスのステップ６６でコールされることによって起動する。
【００４３】
＜エンコードコマンド送信プロセス＞
エンコードコマンド送信プロセスがコールされたときに、メモリ上に確保したEncode Start領域の値が１の場合は（ステップ７１→Y）、エンコードスタートコマンドを送信することになるので、メモリ上に確保した領域（領域名をCommand Areaとする）に１を書き込む（ステップ７２）。Encode Start領域の値が０の場合は（ステップ７１→N）、エンコードストップコマンドを送信することになるので、メモリ上に確保したCommand Areaに０を書き込む（ステップ７３）。そして、Command Areaから１又は０のデータを読み出して、図３で説明したようにTCP／IPヘッダを付加する（ステップ７４）。そして、このTCP／IPヘッダを付加したデータをイーサネット回路８のデータ領域に書き込み、送信手続を行う（ステップ７５）。この後は、ハードウェア処理に移り、イーサネット回路８にてイーサネットヘッダが付加され、パケットとしてイーサネット２に送出される。以上の処理により、サーバ１に対してエンコードスタートコマンドもしくはエンコードストップコマンドが送信される。
【００４４】
以上説明したように、本願発明の第１の実施の形態では、サーバ１での初期化処理が終了するまでは、クライアント３からコマンド送信ができないようにしているので、サーバ１のモードとクライアント３で認識しているモードとが異なることを防止することができ、クライアント３を操作するユーザに対して、操作上の不具合を感じさせないという効果がある。
【００４５】
［第２の実施の形態］
続いて、本発明の第２の実施の形態について、サーバ１側の処理とクライアント３側の処理に分けて詳細に説明する。
【００４６】
第２の実施の形態では、サーバ１は、エンコードスタートコマンドを受信したとき、▲１▼ ＭＰＥＧエンコード回路５のイニシャライズが終了している場合は、エンコードを開始する。▲２▼ イニシャライズが終了していない場合は、そのコマンドの内容を保存し、イニシャライズが終了次第エンコードを開始することを行うようにしたものである。そして、このように、サーバ１がイニシャライズの最中にエンコードスタート／ストップコマンドを受信したときはその内容を保存してイニシャライズ終了後に実行するので、第１の実施の形態のようにサーバ１からイニシャライズ終了コマンドを送信する必要がなくなる。一方、クライアント３では、第１の実施の形態とは異なり、イニシャライズが終了したかどうかの判別をする必要がなくなり、クライアント３はユーザインターフェースにしたがって、単にエンコードスタート／ストップコマンドを送信するだけで良い。
【００４７】
以下、サーバ１及びクライアント３において、このような処理を実現するためのサーバ１及びクライアント３での各プログラム動作について説明する。なお、第１の実施の形態と同一動作部分は同一のステップ番号を付すことにより、その説明を省略する部分もある。
【００４８】
《サーバ１で行う処理》
図８にサーバ１のプログラムの動作フローチャートを示す。始めに、サーバ１の電源がユーザによって投入されると、ＭＰＥＧエンコード回路５の初期化を行うためのＭＰＥＧイニシャライズプロセスが起動する。なお、ステップ２１〜２５は第１の実施の形態と同じプロセスである。
【００４９】
＜ＭＰＥＧイニシャライズプロセス＞
まず、ＶＲＰ１２に対しソフトウェアによるリセットを行う（ステップ２１）。次にＶＲＰ１２の内部レジスタに初期値を設定し、ＤＲＡＭ１６をＶＲＰ１２のメモリ領域及びレジスタ領域としてマッピングしてＤＲＡＭ１６のレジスタ領域に初期値を設定する（ステップ２２）。さらに、ＭＰＥＧエンコード処理のためのプログラムであるバイナリデータ（以下、マイクロコード）をＤＲＡＭ１６にロードする（ステップ２３）。そして、ＦＩＦＯメモリ１３をリセットして、そのライト／リードアドレスを０に戻すことにより、ＭＰＥＧエンコード回路１２のイニシャライズが終了する（ステップ２４）。
【００５０】
そして、図７に示すように、電圧Ｖｃｃに抵抗１７を介して接続されているLED１８に接続されているＣＰＵ１４の汎用ポートに"Ｌ"レベルを出力してLED１８を点灯させて、イニシャライズの終了をユーザに知らせる（ステップ２５）。
【００５１】
さらに、イニシャライズを終了したことをサーバ１内で保存しておくため、ＤＲＡＭ１５上に確保した領域（領域名をMPEG Initial Endとする）に１を書き込んでおく（ステップ２９）。
【００５２】
次に、クライアント３からモード制御コマンドが送信されてきたときのモード変更処理を行うプログラムであるサーバ・コマンド受信ISR（Interrupt Service Routine）について説明する。このサーバ・コマンド受信ISRは、サーバ１のイーサネット回路７にてクライアント３からのパケットが受信されるとハードウェア割り込みが発生し、このときに実行されるプロセスである。このプロセスは、全て実施の形態１と同じ処理内容である。
【００５３】
＜サーバ・コマンド受信ISR＞
イーサネット回路７で受信されたパケットは、イーサネット回路７が管理するデータ領域に保存されている。ここからイーサネットヘッダを取り除いたデータを読み出し、ＤＲＡＭ１５上に確保した領域（領域名をServer RX Data Areaとする）にコピーする（ステップ３１）。次に、Server RX Data AreaからTCP／IPヘッダを検索し、その後のデータ領域にあるモード情報を読み出す（ステップ３２）。ここでモード情報が０の場合は（ステップ３３→０）、クライアント３からエンコードストップコマンドが送られてきたことを意味するので、ＤＲＡＭ１５上に確保した領域（領域名をEncode Startとする）に０を書き込む（ステップ３４）。また、モード情報が１の場合は（ステップ３３→１）、クライアント３からエンコードスタートコマンドが送られてきたことを意味するので、ＤＲＡＭ１５上に確保したEncode Start領域に１を書き込む（ステップ３５）。以上で割り込み処理を終了する。
【００５４】
このサーバ・コマンド受信ISRでエンコードスタートコマンドを受信した場合（ステップ３３→１→ステップ３５）には、ＭＰＥＧエンコードプロセスがエンコード開始の手続を行う。このプロセスは、ステップ４１の前にステップ４５を必要とする点が第１の実施の形態と異なる。
【００５５】
＜ＭＰＥＧエンコードプロセス＞
まず、ＤＲＡＭ１５上のMPEG Initial End領域の値を読み出し、値が１かどうか判別する（ステップ４５）。値が１でない場合は（ステップ４５→N）、イニシャライズが終了していないことを意味しているので、ループして待機する。値が１の場合は（ステップ４５→Y）、イニシャライズが終了したことを意味するので、次のステップ４１へ進む。ステップ４１では、ＤＲＡＭ１５上のEncode Start領域の値を読み出して、サーバ・コマンド受信ISRでエンコードスタートコマンドが受信されたかどうか判別する。そして、値が０のときはストップ状態であるので、ループして待機する（ステップ４１→N）。Encode Start領域の値が１になったときは（ステップ４１→Y）、スタート状態であるので、ＤＲＡＭ１６にロードされたマイクロコードに対して、エンコードスタートを要求するデータを書き込む（ステップ４２）。そして、ＶＲＰ１２は、この命令に従いエンコード処理を開始する。
【００５６】
ＶＲＰ１２がエンコード処理中は、サーバ・コマンド受信ISRでエンコードストップコマンドを受信したかどうか判別するため、Encode Start領域の値が０でないかを常に検出する。値が０でない場合は、ループして待機する（ステップ４３→N）。値が０になったときは（ステップ４３→Y）、ＤＲＡＭ１６にロードされたマイクロコードに対して、エンコードストップを要求するデータをロードする。（ステップ４４）。そして、ＶＲＰ１２は、この命令に従いエンコード処理を停止し、再びステップ４５の処理に戻る。
【００５７】
《クライアント３で行う処理》
クライアント３は、イーサネット２とのインターフェースを有するPC／AT互換機（PC）にOSとしてWindows（商標）を使用した場合をを前提にして説明する。このクライアント３でのプログラムもWindows上で動作するプログラムとなる。クライアント３の表示画面には、主にユーザがエンコードスタート／ストップを要求するときに操作するボタンを含むグラフィックユーザインターフェース（GUI）と、受信したＭＰＥＧデータによる動画画面が表示される。なお、ＭＰＥＧデータ受信プログラムとＭＰＥＧデコードプログラムは、従来の処理内容と同様であるのでその説明を省略する。
【００５８】
図９にクライアント３のプログラムの動作フローチャートを示す。第２の実施の形態では、サーバ１からイニシャライズ終了コマンドが送られてこないので、コマンド受信ISRは不要である。
【００５９】
まず、ユーザがエンコードスタート／ストップの操作を行うため際のユーザインターフェースプロセスについて説明する。ここでは、ユーザが操作を行ったときに、サーバ１のイニシャライズが終了しているかどうかを判断せずに処理を行っている。
【００６０】
＜ユーザインターフェースプロセス＞
始めに、ユーザがGUI上のどのボタンを押したか判別する。ここではエンコードスタートボタンかストップボタンかを判別する（ステップ６１）。エンコードスタートボタンが押された場合は（ステップ６１→スタートボタン）、クライアント３のGUIに"エンコードスタート"の文字を表示し、クライアント３を操作するユーザに対してエンコードスタート要求を送信することを知らせる（ステップ６４）。そして、メモリ上に確保した領域（領域名をEncode Startとする）に１をセットして、エンコードスタート状態であることを設定する（ステップ６５）。そして、後述するエンコードコマンド送信プロセスをコールしてエンコードスタートコマンドをサーバ１に送信し（ステップ６６）、ステップ６１に戻る。
【００６１】
ステップ６１において、エンコードストップボタンが押された場合は（ステップ６１→ストップボタン）、クライアント３のGUIに“エンコードストップ”の文字を表示し、クライアント３を操作するユーザに対してエンコードストップ要求を送信することを知らせる（ステップ６８）。そして、メモリ上に確保したEncode Start領域に０をセットして、エンコードストップ状態であることを設定する（ステップ６９）。そして、後述するエンコードコマンド送信プロセスをコールしてエンコードストップコマンドをサーバ１に送信し（ステップ６６）、ステップ６１に戻る。
【００６２】
サーバー１に対してエンコードスタート／ストップコマンドを送信するためのエンコードコマンド送信プロセスは、上記したユーザインターフェースプロセスのステップ６６でコールされることによって起動する。なお、このエンコードコマンド送信プロセスは、第１の実施の形態と同じプロセスである。
【００６３】
＜エンコードコマンド送信プロセス＞
エンコードコマンド送信プロセスがコールされたときに、メモリ上に確保したEncode Start領域の値が１の場合は（ステップ７１→Y）、エンコードスタートコマンドを送信することになるので、メモリ上に確保した領域（領域名をCommand Areaとする）に１を書き込む（ステップ７２）。Encode Start領域の値が０の場合は（ステップ７１→N）、エンコードストップコマンドを送信することになるので、メモリ上に確保したCommand Areaに０を書き込む（ステップ７３）。そして、Command Areaから１又は０のデータを読み出して、図３で説明したようにTCP／IPヘッダを付加する（ステップ７４）。そして、このTCP／IPヘッダを付加したデータをイーサネット回路８のデータ領域に書き込み、送信手続を行う（ステップ７５）。この後は、ハードウェア処理に移り、イーサネット回路８にてイーサネットヘッダが付加され、パケットとしてイーサネット２に送出される。以上の処理により、サーバ１に対してエンコードスタートコマンドもしくはエンコードストップコマンドが送信される。
【００６４】
以上説明したように、本願発明の第２の実施の形態では、サーバ１での初期化処理が終了したか否かに関係なく、クライアント３からコマンド送信が可能であるが、サーバ１が初期化処理終了前にクライアント３からのコマンドを受信してもそのことを記憶して初期化処理終了後に実行しているので、クライアント３から送信したコマンドがサーバ１で無視されてサーバ１のモードとクライアント３で認識しているモードとが異なることを防止することができ、クライアント３を操作するユーザに対して、操作上の不具合を感じさせないという効果がある。
【００６５】
また、サーバを立ち上げたユーザは、外装に設置してあるLEDの点灯により、サーバの初期設定が終了したことを確認できるという効果がある。
【００６６】
【発明の効果】
本発明は、動画像圧縮前に必要な初期設定に関連して発生する画像伝送装置の動作モードと画像受信装置側で認識する動作モードとの食い違いを防ぐことができる。
【００６７】
また、画像受信装置を操作するユーザが、エンコードスタート・ストップを要求したときに画像伝送装置が初期設定期間中であった場合は、これらの要求を却下するかもしくは初期設定終了後に実行するように構成したので、ユーザに誤解を招くことなく操作上の不具合を無くすことができるという効果がある。
【図面の簡単な説明】
【図１】本発明の画像伝送システムの一実施の形態を示す構成図である。
【図２】本発明の画像伝送システムに使用される画像伝送装置の一実施の形態を示す構成図である。
【図３】モードコントロールコマンドのパケットデータの構造を説明するための図である。
【図４】サーバ／クライアントにおけるモード遷移を説明するための図である。
【図５】本発明の第１の実施の形態のサーバプログラムを示すフローチャート図である。
【図６】本発明の第１の実施の形態のクライアントプログラムを示すフローチャート図である。
【図７】サーバに設けられたLEDの回路構成例を示す回路図である。
【図８】本発明の第２の実施の形態のサーバプログラムを示すフローチャート図である。
【図９】本発明の第２の実施の形態のクライアントプログラムを示すフローチャート図である。
【符号の説明】
１  画像伝送装置（サーバ）
２  イーサネット（ネットワーク）
３  画像受信装置（クライアント）
４  表示モニタ
５  ＭＰＥＧエンコード回路
６  データバス
７  イーサネット回路（送出手段）
８  イーサネット回路
９  ＭＰＥＧデコード回路
１１  Ａ／Ｄ変換器
１２  ビデオリスクプロセッサ（符号化手段）
１３  ＦＩＦＯメモリ（蓄積手段，第１の蓄積手段）
１４  ＣＰＵ
１５  ＤＲＡＭ（第２の蓄積手段）
１６  ＤＲＡＭ
１７  抵抗
１８  LED（発光手段）
【図１】
0003780404.tif 000002
【図２】
0003780404.tif 000003
【図３】
0003780404.tif 000004
【図４】
0003780404.tif 000005
【図５】
0003780404.tif 000006
【図６】
0003780404.tif 000007
【図７】
0003780404.tif 000008
【図８】
0003780404.tif 000009
【図９】
0003780404.tif 000010