(57)【要約】【課題】クライアント装置で画像を表示させること。【解決手段】通信システムは、クライアント装置３００と、生成装置２００を含む複数の生成装置と、管理サーバ１００と、を含む。クライアント装置３００は、生成装置２００が生成した画像を受信した場合、当該画像をブラウザで表示する。管理サーバ１００は、生成装置２００の負荷情報に基づいて、生成装置２００の送信処理を停止させると判定した場合、生成装置２００との通信を停止すること、及び生成装置２０１に画像生成送信指示を送信することをクライアント装置３００に指示する。生成装置２０１は、クライアント装置３００から画像生成送信指示を受信した場合、画像を生成し、画像をクライアント装置３００に送信する。クライアント装置３００は、生成装置２０１が生成した画像を受信した場合、当該画像をブラウザで表示する。【選択図】図１
2020149082.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置と、
エンコーダによりエンコードされた映像をデコードし、デコードされた映像に基づいて画像を生成し、生成された画像を前記クライアント装置に送信する第１の生成装置を含む複数の生成装置と、
情報処理装置と、
を含み、
前記クライアント装置は、前記第１の生成装置が生成した画像を受信した場合、前記第１の生成装置が生成した画像をブラウザで表示し、
前記情報処理装置は、
前記第１の生成装置の負荷状態を示す情報である負荷情報を受信し、前記負荷情報に基づいて、前記第１の生成装置が実行する、前記第１の生成装置が生成した画像の送信処理を停止させるか否かを判定し、
前記送信処理を停止させると判定した場合、前記第１の生成装置との通信を停止すること、及び前記複数の生成装置に含まれる第２の生成装置との通信を開始して前記第２の生成装置に、画像の生成と送信を指示する画像生成送信指示を送信することを前記クライアント装置に指示し、
前記クライアント装置は、前記情報処理装置から指示を受けた場合、前記第１の生成装置との通信を停止し、前記第２の生成装置との通信を開始し、前記第２の生成装置に前記画像生成送信指示を送信し、
前記第２の生成装置は、前記画像生成送信指示を受信した場合、前記エンコーダによりエンコードされた映像をデコードし、デコードされた映像に基づいて画像を生成し、生成された画像を前記クライアント装置に送信し、
前記クライアント装置は、前記第２の生成装置が生成した画像を受信した場合、前記第２の生成装置が生成した画像を前記ブラウザで表示する、
通信システム。
【請求項２】
前記負荷情報は、前記第１の生成装置が有するプロセッサの使用率を示し、
前記情報処理装置は、前記プロセッサの使用率が予め決められた第１の閾値以上の場合、前記送信処理を停止させると判定する、
請求項１に記載の通信システム。
【請求項３】
前記負荷情報は、前記第１の生成装置が有するメモリの使用量を示し、
前記情報処理装置は、前記メモリの使用量が予め決められた第２の閾値以上の場合、前記送信処理を停止させると判定する、
請求項１又は２に記載の通信システム。
【請求項４】
前記情報処理装置は、前記送信処理を停止させると判定した場合、ユニキャストを用いてエンコードされた映像を送信している前記エンコーダに、エンコードされた映像の送信先を前記第２の生成装置に変更するように指示する、
請求項１から３のいずれか１項に記載の通信システム。
【請求項５】
クライアント装置と、
エンコーダによりエンコードされた映像をデコードし、デコードされた映像に基づいて画像を生成し、生成された画像を前記クライアント装置に送信する第３の生成装置と、
第４の生成装置と、
情報処理装置と、
を含み、
前記クライアント装置は、前記第３の生成装置が生成した画像を受信した場合、前記第３の生成装置が生成した画像をブラウザで表示し、
前記第４の生成装置は、
正常に動作しているかを確認するためのコマンドであるヘルスチェックコマンドを前記第３の生成装置に送信し、
予め決められた時間内に、前記ヘルスチェックコマンドに対する応答を前記第３の生成装置から受信しなかった場合、前記第３の生成装置が異常であることを前記情報処理装置に通知し、
前記情報処理装置は、前記通知を受信した場合、前記第３の生成装置との通信を停止すること、及び前記第４の生成装置との通信を開始して前記第４の生成装置に、画像の生成と送信を指示する画像生成送信指示を送信することを前記クライアント装置に指示し、
前記クライアント装置は、前記情報処理装置から指示を受けた場合、前記第３の生成装置との通信を停止し、前記第４の生成装置との通信を開始し、前記第４の生成装置に前記画像生成送信指示を送信し、
前記第４の生成装置は、前記画像生成送信指示を受信した場合、前記エンコーダによりエンコードされた映像をデコードし、デコードされた映像に基づいて画像を生成し、生成された画像を前記クライアント装置に送信し、
前記クライアント装置は、前記第４の生成装置が生成した画像を受信した場合、前記第４の生成装置が生成した画像を前記ブラウザで表示する、
通信システム。
【請求項６】
前記情報処理装置は、前記通知を受信した場合、ユニキャストを用いてエンコードされた映像を送信している前記エンコーダに、エンコードされた映像の送信先を前記第４の生成装置に変更するように指示する、
請求項５に記載の通信システム。
【請求項７】
第１の撮像装置に接続する第１のエンコーダと、
第２の撮像装置に接続する第２のエンコーダと、
受信することで得られた画像をブラウザで表示する第１のクライアント装置と、
前記第１のクライアント装置よりも優先度が低い、かつ受信することで得られた画像をブラウザで表示する第２のクライアント装置と、
生成装置と、
を含む通信システムのうちの生成装置であって、
前記第１のエンコーダによりエンコードされた映像を受信し、前記第２のエンコーダによりエンコードされた映像を受信する受信部と、
前記第１のエンコーダによりエンコードされた映像をデコードし、デコードされた第１の映像に基づいて画像を生成し、前記第２のエンコーダによりエンコードされた映像をデコードし、デコードされた第２の映像に基づいて画像を生成する生成部と、
前記第１の映像に基づいて生成された画像を前記第１のクライアント装置に送信し、前記第２の映像に基づいて生成された画像を前記第２のクライアント装置に送信する送信部と、
生成装置の負荷状態を示す負荷情報を取得する状態取得部と、
前記受信部が前記第２のエンコーダによりエンコードされた映像を受信した場合、前記負荷情報に基づいて、前記第２の映像に基づいて画像を生成する処理である生成処理を前記生成部に実行させるか否かを判定する判定部と、
前記生成処理を前記生成部に実行させないと判定された場合、前記受信部により受信された前記第２のエンコーダによりエンコードされた映像を廃棄する廃棄部と、
を有する生成装置。
【請求項８】
プロセッサをさらに有し、
前記負荷情報は、前記プロセッサの使用率を示し、
前記判定部は、前記プロセッサの使用率が予め決められた第３の閾値以上の場合、前記生成処理を前記生成部に実行させないと判定する、
請求項７に記載の生成装置。
【請求項９】
メモリをさらに有し、
前記負荷情報は、前記メモリの使用量を示し、
前記判定部は、前記メモリの使用量が予め決められた第４の閾値以上の場合、前記生成処理を前記生成部に実行させないと判定する、
請求項７又は８に記載の生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、及び生成装置に関する。
【背景技術】
【０００２】
システムが構築される。例えば、システムには、監視カメラ、エンコーダ、及びクライアント装置が含まれる。監視カメラが撮像することで得られた映像は、エンコーダを介してクライアント装置に送信される。クライアント装置は、デコードするためのアプリケーションを用いて、映像を表示する。これにより、ユーザは、クライアント装置に表示された映像を見ることができる。
ここで、カメラ映像を表示する技術が提案されている（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４９８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クライアント装置は、ブラウザで映像を表示する場合、デコードするためのアプリケーションを用いることがある。しかし、ブラウザの種類によっては、デコードするためのアプリケーションを用いることができない場合がある。
【０００５】
そこで、次のような方法が考えられる。例えば、装置は、送信された映像に基づいて画像を生成する。装置は、生成された画像をクライアント装置のブラウザで表示させる。装置は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を備えたサーバ機である必要がある。しかし、１つの装置が画像を生成することは、装置の処理負荷を高める。例えば、１つの装置が複数のブラウザで表示させるための画像を生成することは、装置の処理負荷を高める。このように、装置の処理負荷が高くなることは、装置が停止することになる。装置が停止した場合、クライアント装置は、画像を受信しなくなる。そのため、クライアント装置では、画像が表示されなくなる。装置を複数設置すれば、負荷を分散することが可能ではあるが、そのためにはサーバ機を複数用意する必要がある。
【０００６】
本発明の目的は、クライアント装置で画像を表示させることである。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る通信システムが提供される。通信システムは、クライアント装置と、エンコーダによりエンコードされた映像をデコードし、デコードされた映像に基づいて画像を生成し、生成された画像を前記クライアント装置に送信する第１の生成装置を含む複数の生成装置と、情報処理装置と、を含む。前記クライアント装置は、前記第１の生成装置が生成した画像を受信した場合、前記第１の生成装置が生成した画像をブラウザで表示する。前記情報処理装置は、前記第１の生成装置の負荷状態を示す情報である負荷情報を受信し、前記負荷情報に基づいて、前記第１の生成装置が実行する、前記第１の生成装置が生成した画像の送信処理を停止させるか否かを判定し、前記送信処理を停止させると判定した場合、前記第１の生成装置との通信を停止すること、及び前記複数の生成装置に含まれる第２の生成装置との通信を開始して前記第２の生成装置に、画像の生成と送信を指示する画像生成送信指示を送信することを前記クライアント装置に指示する。前記クライアント装置は、前記情報処理装置から指示を受けた場合、前記第１の生成装置との通信を停止し、前記第２の生成装置との通信を開始し、前記第２の生成装置に前記画像生成送信指示を送信する。前記第２の生成装置は、前記画像生成送信指示を受信した場合、前記エンコーダによりエンコードされた映像をデコードし、デコードされた映像に基づいて画像を生成し、生成された画像を前記クライアント装置に送信する。前記クライアント装置は、前記第２の生成装置が生成した画像を受信した場合、前記第２の生成装置が生成した画像を前記ブラウザで表示する。
【発明の効果】
【０００８】
本発明によれば、クライアント装置で画像を表示させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１の通信システムを示す図である。
【図２】実施の形態１の管理サーバが有するハードウェアの構成を示す図である。
【図３】実施の形態１の管理サーバの構成を示す機能ブロック図である。
【図４】実施の形態１の生成装置の構成を示す機能ブロック図である。
【図５】実施の形態１の通信システムで実行される処理を示すシーケンス図（その１）である。
【図６】実施の形態１の通信システムで実行される処理を示すシーケンス図（その２）である。
【図７】実施の形態２の通信システムを示す図である。
【図８】実施の形態２の管理サーバの構成を示す機能ブロック図である。
【図９】実施の形態２の生成装置の構成を示す機能ブロック図である。
【図１０】実施の形態２の現用系の生成装置が実行する処理を示すフローチャートである。
【図１１】実施の形態２の予備系の生成装置が実行する処理を示すフローチャートである。
【図１２】実施の形態２の管理サーバが実行する処理を示すフローチャートである。
【図１３】実施の形態３の通信システムを示す図である。
【図１４】実施の形態３の生成装置の構成を示す機能ブロック図である。
【図１５】実施の形態３の生成装置が実行する処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施の形態を説明する。以下の実施の形態は、例にすぎず、本発明の範囲内で種々の変更が可能である。
【００１１】
実施の形態１．
図１は、実施の形態１の通信システムを示す図である。通信システムは、管理サーバ１００、生成装置２００，２０１，２０２、及びクライアント装置３００を含む。通信システムは、さらに、監視カメラ４００、及びエンコーダ５００を含んでもよい。
このように、通信システムは、複数の生成装置を含む。また、図１は、３つの生成装置を示している。しかし、生成装置の数は、３つに限らない。
例えば、管理サーバ１００は、ネットワーク１０を介してクライアント装置３００に接続する。
【００１２】
管理サーバ１００は、情報処理装置とも言う。
生成装置２００，２０１，２０２は、サーバ又はＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）と考えてもよい。生成装置２００，２０１，２０２は、映像に基づいて、画像を生成することができる。なお、映像は、複数の画像である。
ここで、通信システムでは、１つの生成装置が画像を生成するものとする。例えば、当該１つの生成装置は、生成装置２００とする。また、生成装置２００は、第１の生成装置とも言う。
クライアント装置３００は、ブラウザを有する。クライアント装置３００は、画像をブラウザで表示する。なお、クライアント装置３００は、ＰＣと考えてもよい。
【００１３】
次に、クライアント装置３００が画像を表示するまでを説明する。
エンコーダ５００は、監視カメラ４００から映像を取得する。エンコーダ５００は、映像をエンコードする。生成装置２００は、エンコードされた映像をデコードする。生成装置２００は、デコードされた映像に基づいて、画像を生成する。生成装置２００は、生成した画像をクライアント装置３００に送信する。クライアント装置３００は、生成装置２００が生成した画像を受信した場合、生成装置２００が生成した画像をブラウザで表示する。これにより、ユーザは、クライアント装置３００を用いた監視を実行できる。
【００１４】
エンコーダ５００は、エンコードされた映像を送信する場合、マルチキャスト又はユニキャストを用いてもよい。ここで、後述する画像生成送信指示を受信した生成装置が、画像を生成する。例えば、生成装置２００は、クライアント装置３００が送信した画像生成送信指示を受信する。そのため、生成装置２００が、画像を生成する。また、画像生成送信指示を受信していない生成装置２０１，２０２は、画像を生成しない。例えば、エンコーダ５００がマルチキャストを用いてエンコードした映像を送信した場合、生成装置２０１，２０２は、次のように処理を行う。生成装置２０１，２０２は、画像生成送信指示を受信していないため、エンコードされた映像を受信しても、エンコードされた映像を廃棄する。また、当該処理は、次のように考えてもよい。生成装置２０１，２０２は、クライアント装置３００との間でコネクションを確立していないため、エンコードされた映像を廃棄する。
【００１５】
次に、管理サーバ１００が有するハードウェアについて説明する。
図２は、実施の形態１の管理サーバが有するハードウェアの構成を示す図である。管理サーバ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２、及びＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０３を有する。
【００１６】
ここで、ＣＰＵは、プロセッサとも言う。ＲＡＭは、メモリとも言う。
また、生成装置２００，２０１，２０２、及びクライアント装置３００は、管理サーバ１００と同様に、ＣＰＵ、ＲＡＭ、及びＨＤＤを有する。
【００１７】
図３は、実施の形態１の管理サーバの構成を示す機能ブロック図である。
管理サーバ１００は、通信部１１０、状態管理部１２０、判定部１３０、及び指示部１４０を有する。
【００１８】
通信部１１０、状態管理部１２０、判定部１３０、及び指示部１４０の一部又は全部は、ＣＰＵ１０１によって実現してもよい。通信部１１０、状態管理部１２０、判定部１３０、及び指示部１４０の一部又は全部は、ＣＰＵ１０１が実行するプログラムのモジュールとして実現してもよい。
【００１９】
通信部１１０は、生成装置２００，２０１，２０２から定期的に負荷情報を受信する。通信部１１０は、他の装置を介して、負荷情報を受信してもよい。なお、図１は、他の装置の図示を省略している。
負荷情報は、生成装置の負荷状態を示す情報である。具体的には、負荷情報は、ＣＰＵの使用率及びメモリの使用量のうちの少なくとも１つ以上を示す。例えば、生成装置２００が送信する負荷情報は、生成装置２００が有するＣＰＵの使用率及び生成装置２００が有するＲＡＭの使用量のうちの１つ以上を示す。
【００２０】
状態管理部１２０は、画像を生成する装置を管理する。例えば、状態管理部１２０は、画像を生成する装置である生成装置２００を管理する。
判定部１３０と指示部１４０の機能については、後で説明する。
【００２１】
ここで、生成装置２００，２０１，２０２の機能ブロックは、同じである。そのため、生成装置２００の機能ブロックを説明する。そして、生成装置２０１，２０２の機能ブロックの説明は、省略する。
図４は、実施の形態１の生成装置の構成を示す機能ブロック図である。生成装置２００は、通信部２１０、状態管理部２２０、生成部２３０、及び状態取得部２４０を有する。
【００２２】
通信部２１０、状態管理部２２０、生成部２３０、及び状態取得部２４０の一部又は全部は、生成装置２００が有するＣＰＵによって実現してもよい。通信部２１０、状態管理部２２０、生成部２３０、及び状態取得部２４０の一部又は全部は、生成装置２００が有するＣＰＵが実行するプログラムのモジュールとして実現してもよい。
【００２３】
通信部２１０は、エンコーダ５００によりエンコードされた映像を受信する。また、通信部２１０は、クライアント装置３００から画像生成送信指示を受信する。通信部２１０は、画像生成送信指示を受信したことを状態管理部２２０に通知する。
状態管理部２２０は、当該通知を受信した場合、画像生成を生成部２３０に指示する。
【００２４】
生成部２３０は、エンコードされた映像をデコードする。生成部２３０は、デコードされた映像に基づいて、画像を生成する。そして、通信部２１０は、生成された画像をクライアント装置３００に送信する。
状態取得部２４０は、定期的に負荷情報を取得する。そして、状態取得部２４０は、通信部２１０を介して、負荷情報を管理サーバ１００に送信する。
【００２５】
次に、通信システムで実行される処理を説明する。
図５は、実施の形態１の通信システムで実行される処理を示すシーケンス図（その１）である。
（ステップＳ１０１）生成装置２００の通信部２１０は、管理サーバ１００に接続する。
ここで、ステップＳ１０１では、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が用いられる。
【００２６】
（ステップＳ１０２）クライアント装置３００は、管理サーバ１００に接続する。
（ステップＳ１０３）管理サーバ１００の指示部１４０は、通信部１１０を介して、生成装置２００との通信を開始して生成装置２００に画像生成送信指示を送信することをクライアント装置３００に指示する。
ここで、ステップＳ１０２，１０３では、ＷｅｂＳｏｃｋｅｔプロトコルが用いられる。
【００２７】
（ステップＳ１０４）生成装置２００とクライアント装置３００は、シグナリングを行う。これにより、生成装置２００とクライアント装置３００との間では、コネクションが確立する。コネクションは、ＤａｔａＣｈａｎｎｅｌと表現してもよい。
（ステップＳ１０５）クライアント装置３００は、エンコーダ５００のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを生成装置２００に送信する。
これにより、生成装置２００は、エンコードされた映像に含まれている送信元のＩＰアドレスとエンコーダ５００のＩＰアドレスとを比較することで、エンコーダ５００が送信した映像であることを検出できる。
【００２８】
（ステップＳ１０６）クライアント装置３００は、画像生成送信指示を生成装置２００に送信する。
（ステップＳ１０７）生成装置２００は、映像に基づいて生成された画像をクライアント装置３００に送信する。
【００２９】
生成装置２００は、画像を生成する度に、生成した画像をクライアント装置３００に送信する。
ここで、ステップＳ１０５〜１０７では、ＷｅｂＲＴＣ（ＷｅｂＲｅａｌ−ＴｉｍｅＣｏｍｍｕｎｉｃａｔｉｏｎ）プロトコルのＤａｔａＣｈａｎｎｅｌが用いられる。
【００３０】
図６は、実施の形態１の通信システムで実行される処理を示すシーケンス図（その２）である。
（ステップＳ１１１）生成装置２００の状態取得部２４０は、通信部２１０を介して、負荷情報を管理サーバ１００に送信する。
（ステップＳ１１２）生成装置２０１の状態取得部は、生成装置２０１の通信部を介して、負荷情報を管理サーバ１００に送信する。
（ステップＳ１１３）生成装置２０２の状態取得部は、生成装置２０２の通信部を介して、負荷情報を管理サーバ１００に送信する。
なお、ステップＳ１１１〜１１３では、ＴＣＰが用いられる。
【００３１】
（ステップＳ１１４）管理サーバ１００の判定部１３０は、生成装置２００が送信した負荷情報に基づいて、生成装置２００が実行する、生成装置２００が生成した画像の送信処理を停止させるか否かを判定する。
具体的には、管理サーバ１００の判定部１３０は、生成装置２００が有するＣＰＵの使用率が予め決められた第１の閾値以上の場合、送信処理を停止させると判定する。また、管理サーバ１００の判定部１３０は、生成装置２００が有するＲＡＭの使用量が予め決められた第２の閾値以上の場合、送信処理を停止させると判定してもよい。さらに、管理サーバ１００の判定部１３０は、生成装置２００が有するＣＰＵの使用率が第１の閾値以上であり、かつ生成装置２００が有するＲＡＭの使用量が予め決められた第２の閾値以上の場合、送信処理を停止させると判定してもよい。
【００３２】
ここで、管理サーバ１００の判定部１３０が、画像の送信処理を停止させると判定したものとする。
管理サーバ１００の指示部１４０は、生成装置２０１が送信した負荷情報と生成装置２０２が送信した負荷情報とを比較し、最も負荷が小さい生成装置を特定する。特定された生成装置は、生成装置２０１とする。
管理サーバ１００では、画像を生成する装置を生成装置２００から生成装置２０１に変更することが決定される。ここで、生成装置２０１は、第２の生成装置と考えてもよい。
【００３３】
（ステップＳ１１５）管理サーバ１００の指示部１４０は、生成装置２００との通信を停止すること、及び生成装置２０１との通信を開始して生成装置２０１に画像生成送信指示を送信することをクライアント装置３００に指示する。なお、画像生成送信指示は、画像の生成と送信を指示するものである。
【００３４】
クライアント装置３００は、管理サーバ１００から指示を受けた場合、生成装置２００との通信を停止する。すなわち、クライアント装置３００は、生成装置２００とクライアント装置３００との間のコネクションを解除する。
これにより、生成装置２００は、画像の送信処理を停止する。また、生成装置２００は、画像を送信できないため、画像の生成処理も停止する。
【００３５】
また、エンコーダ５００がユニキャストを用いてエンコードされた映像を送信している場合、管理サーバ１００の指示部１４０は、エンコードされた映像の送信先を生成装置２０１に変更するようにエンコーダ５００に指示する。
【００３６】
（ステップＳ１１６）生成装置２０１とクライアント装置３００は、シグナリングを行う。これにより、生成装置２０１とクライアント装置３００との間では、コネクションが確立する。そして、クライアント装置３００は、生成装置２０１との通信を開始する。
（ステップＳ１１７）クライアント装置３００は、エンコーダ５００のＩＰアドレスを生成装置２０１に送信する。
（ステップＳ１１８）クライアント装置３００は、生成装置２０１に画像生成送信指示を送信する。
【００３７】
（ステップＳ１１９）生成装置２０１の生成部は、画像生成送信指示を受信した場合、エンコーダ５００によりエンコードされた映像をデコードする。生成装置２０１の生成部は、デコードされた映像に基づいて、画像を生成する。生成装置２０１の通信部は、生成された画像をクライアント装置３００に送信する。
ここで、ステップＳ１１７〜１１９では、ＷｅｂＲＴＣプロトコルのＤａｔａＣｈａｎｎｅｌが用いられる。
【００３８】
生成装置２０１は、画像を生成する度に、生成した画像をクライアント装置３００に送信する。クライアント装置３００は、生成装置２０１が生成した画像を受信した場合、生成装置２０１が生成した画像をブラウザで表示する。
ステップＳ１０５，１１７では、クライアント装置３００がエンコーダ５００のＩＰアドレスを送信する場合を説明した。しかし、生成装置２００，２０１が予めエンコーダ５００のＩＰアドレスを記憶している場合、ステップＳ１０５，１１７は、実行されなくてよい。
【００３９】
実施の形態１によれば、管理サーバ１００は、生成装置２００の負荷が大きい場合、他の生成装置が生成した画像をクライアント装置３００で表示させる。これにより、管理サーバ１００は、クライアント装置３００で画像が表示されなくなることを防止できる。よって、通信システムは、クライアント装置３００で画像を表示させることができる。また、生成装置２００、２０１、２０２はＨＴＴＰによる配信が必要ないため、サーバ機ではないどのようなＰＣであっても対応可能である。
【００４０】
実施の形態２．
次に、実施の形態２を説明する。実施の形態２は、実施の形態１と相違する事項を主に説明し、実施の形態１と共通する事項の説明を省略する。実施の形態２は、図２，４，５を参照する。
【００４１】
図７は、実施の形態２の通信システムを示す図である。通信システムは、管理サーバ１００ａ、生成装置２００ａ，２０１ａ、及びクライアント装置３００ａを含む。通信システムは、さらに、監視カメラ４００及びエンコーダ５００を含んでもよい。
生成装置２００ａ，２０１ａのうちの１つの装置は、現用系の装置である。現用系の装置は、メインの装置と表現してもよい。また、残りの装置は、予備系の装置である。予備系の装置は、サブの装置と表現してもよい。
【００４２】
ここで、１つの生成装置は、現用系の装置又は予備系の装置になる。例えば、生成装置２００ａは、現用系の装置になる場合がある。また、生成装置２００ａは、予備系の装置になる場合がある。
【００４３】
図８は、実施の形態２の管理サーバの構成を示す機能ブロック図である。管理サーバ１００ａは、通信部１１０ａ、状態管理部１２０ａ、及び指示部１４０ａを有する。
通信部１１０ａ、状態管理部１２０ａ、及び指示部１４０ａの機能については、後で説明する。
【００４４】
生成装置２００ａ，２０１ａの機能ブロックは、同じである。そのため、生成装置２００ａの機能ブロックを説明する。そして、生成装置２０１ａの機能ブロックの説明は、省略する。
図９は、実施の形態２の生成装置の構成を示す機能ブロック図である。図４に示される構成と同じ図９の構成は、図４に示される符号と同じ符号を付している。
生成装置２００ａは、受信判定部２５０を有する。受信判定部２５０の一部又は全部は、生成装置２００ａが有するＣＰＵによって実現してもよい。受信判定部２５０の一部又は全部は、生成装置２００ａが有するＣＰＵが実行するプログラムのモジュールとして実現してもよい。
【００４５】
ここで、生成装置２００ａが現用系である場合、通信部２１０ａの機能は、通信部２１０と同じである。また、生成装置２００ａが現用系である場合、受信判定部２５０は、エンコードされた映像を受信している否かを判定する。受信判定部２５０は、予め決められた期間、エンコードされた映像を受信していない場合、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）の再起動を行う。この後、生成装置２００ａは、待機系に移行する。
【００４６】
次に、生成装置２００ａが予備系である場合、通信部２１０ａは、次の機能を有する。通信部２１０ａは、定期的に、ヘルスチェックコマンドを生成装置２０１ａに送信する。なお、ヘルスチェックコマンドは、生成装置２０１ａが正常に動作しているかを確認するためのコマンドである。なお、正常に動作していない場合とは、生成装置２０１ａが停止している場合、又は、生成装置２０１ａの負荷が予め決められた閾値よりも高くなっている場合である。
【００４７】
生成装置２００ａが予備系である場合、受信判定部２５０は、予め決められた時間内に、ヘルスチェックコマンドに対する応答を受信できるか否かを判定する。通信部２１０ａは、ヘルスチェックコマンドに対する応答が受信されなかった場合、生成装置２０１ａが異常であることを管理サーバ１００ａに通知する。
当該通知の後、通信部２１０ａは、画像生成送信指示をクライアント装置３００ａから受信する。これにより、予備系の生成装置２００ａは、現用系として動作する。
【００４８】
ここで、生成装置２００ａは、予備系の装置とする。生成装置２０１ａは、現用系の装置とする。また、生成装置２００ａは、第４の生成装置とも言う。生成装置２０１ａは、第３の生成装置とも言う。
【００４９】
次に、現用系の生成装置２０１ａが実行する処理を説明する。
図１０は、実施の形態２の現用系の生成装置が実行する処理を示すフローチャートである。
（ステップＳ１１）生成装置２０１ａの通信部は、生成装置２０１ａとクライアント装置３００ａとの間でコネクションを確立したか否かを判定する。コネクションが確立された場合、通信部は、処理をステップＳ１２に進める。コネクションが確立されていない場合、通信部は、待機する。
【００５０】
（ステップＳ１２）生成装置２０１ａの通信部は、エンコーダ５００のＩＰアドレスをクライアント装置３００ａから受信する。
（ステップＳ１３）生成装置２０１ａの通信部は、クライアント装置３００ａが送信した画像生成送信指示を受信する。
（ステップＳ１４）生成装置２０１ａの受信判定部は、エンコードされた映像を受信したか否かを判定する。当該映像が受信されている場合、受信判定部は、処理をステップＳ１５に進める。当該映像が受信されていない場合、受信判定部は、処理をステップＳ１８に進める。
【００５１】
（ステップＳ１５）生成装置２０１ａの生成部は、エンコーダ５００によりエンコードされた映像をデコードする。生成装置２０１ａの生成部は、デコードされた映像に基づいて画像を生成する。
（ステップＳ１６）生成装置２０１ａの通信部は、画像をクライアント装置３００ａに送信する。
これにより、クライアント装置３００ａは、画像を受信する。クライアント装置３００ａは、生成装置２０１ａが生成した画像を受信した場合、生成装置２０１ａが生成した画像をブラウザで表示する。
【００５２】
（ステップＳ１７）生成装置２０１ａの通信部は、クライアント装置３００ａからコネクションの解除指示を受信したか否かを判定する。解除指示が受信された場合、通信部は、処理をステップＳ１９に進める。解除指示が受信されていない場合、通信部は、処理をステップＳ１４に進める。
（ステップＳ１８）生成装置２０１ａの受信判定部は、ＮＩＣを再起動する。そして、受信判定部は、処理をステップＳ１９に進める。
（ステップＳ１９）生成装置２０１ａの生成部は、画像の生成を停止する。
【００５３】
次に、予備系の生成装置２００ａが実行する処理を説明する。
図１１は、実施の形態２の予備系の生成装置が実行する処理を示すフローチャートである。
（ステップＳ２１）通信部２１０ａは、予備系の装置であることを示す通知を管理サーバ１００から受信したか否かを判定する。なお、当該通知は、後述するステップＳ３３の通知である。
通知が受信された場合、通信部２１０ａは、処理をステップＳ２２に進める。通知が受信されていない場合、通信部２１０ａは、待機する。
【００５４】
（ステップＳ２２）通信部２１０ａは、ヘルスチェックコマンドを生成装置２０１ａに送信する。
（ステップＳ２３）受信判定部２５０は、ヘルスチェックコマンドに対する応答を、予め決められた時間内に、生成装置２０１ａから受信したか否かを判定する。
ヘルスチェックコマンドに対する応答が受信された場合、受信判定部２５０は、処理をステップＳ２２に進める。ヘルスチェックコマンドに対する応答が受信されなかった場合、受信判定部２５０は、処理をステップＳ２４に進める。
【００５５】
（ステップＳ２４）通信部２１０ａは、生成装置２０１ａが異常であることを管理サーバ１００ａに通知する。また、通信部２１０ａは、生成装置２０１ａが停止状態であることを管理サーバ１００ａに通知してもよい。
なお、当該通知の後、通信部２１０ａは、画像生成送信指示をクライアント装置３００ａから受信する。これにより、予備系の生成装置２００ａは、現用系として動作する。すなわち、現用系の生成装置２００ａは、図１０の処理を行う。そして、現用系の生成装置２００ａは、生成した画像をクライアント装置３００ａに送信する。クライアント装置３００ａは、生成装置２００ａが生成した画像を受信した場合、生成装置２００ａが生成した画像をブラウザで表示する。
【００５６】
図１２は、実施の形態２の管理サーバが実行する処理を示すフローチャートである。
（ステップＳ３１）通信部１１０ａは、クライアント装置３００ａが送信した接続コマンドを受信したか否かを判定する。接続コマンドが受信された場合、通信部１１０ａは、処理をステップＳ３２に進める。接続コマンドが受信されていない場合、通信部１１０ａは、待機する。
【００５７】
（ステップＳ３２）指示部１４０ａは、通信部１１０ａを介して、生成装置２０１ａとの通信を開始して生成装置２０１ａに画像生成送信指示を送信することをクライアント装置３００ａに指示する。
（ステップＳ３３）通信部１１０ａは、生成装置２００ａが予備系の装置であることを生成装置２００ａに通知する。
【００５８】
（ステップＳ３４）状態管理部１２０ａは、生成装置２０１ａが異常であることを示す通知を生成装置２００ａから受信したか否かを判定する。
当該通知が受信された場合、状態管理部１２０ａは、処理をステップＳ３５に進める。当該通知が受信されていない場合、状態管理部１２０ａは、待機する。
【００５９】
（ステップＳ３５）指示部１４０ａは、生成装置２０１ａとの通信を停止すること、及び生成装置２００ａとの通信を開始して生成装置２００ａに画像生成送信指示を送信することをクライアント装置３００ａに指示する。
これにより、クライアント装置３００ａは、生成装置２０１ａとの通信を停止する。また、クライアント装置３００ａは、生成装置２００ａとの通信を開始し、生成装置２００ａに画像生成送信指示を送信する。
【００６０】
また、エンコーダ５００がユニキャストを用いてエンコードされた映像を送信している場合、管理サーバ１００ａの指示部１４０ａは、エンコードされた映像の送信先を生成装置２００ａに変更するようにエンコーダ５００に指示する。
【００６１】
実施の形態２によれば、予備系の生成装置２００ａは、ヘルスチェックコマンドを受信しなかった場合、現用系の生成装置２０１ａが異常であることを検出する。現用系の生成装置２０１ａが異常である場合、予備系の生成装置２００ａは、現用系として動作する。これにより、生成装置２００ａは、クライアント装置３００ａで画像が表示されなくなることを防止できる。よって、通信システムは、クライアント装置３００ａで画像を表示させることができ、ＰＣ単体では信頼性が不明であっても信頼性を確保した通信システムを構築することが可能となる。
【００６２】
実施の形態３．
次に、実施の形態３を説明する。実施の形態３は、実施の形態１と相違する事項を主に説明し、実施の形態１と共通する事項の説明を省略する。実施の形態３は、図２，４を参照する。
【００６３】
図１３は、実施の形態３の通信システムを示す図である。通信システムは、生成装置２００ｂ、クライアント装置３００ｂ，３０１ｂ、及びエンコーダ５００，５０１を含む。
監視カメラ４００は、エンコーダ５００に接続する。監視カメラ４００は、第１の撮像装置とも言う。エンコーダ５００は、第１のエンコーダとも言う。
監視カメラ４０１は、エンコーダ５０１に接続する。監視カメラ４０１は、第２の撮像装置とも言う。エンコーダ５０１は、第２のエンコーダとも言う。
【００６４】
クライアント装置３００ｂは、受信することで得られた画像をブラウザで表示する。クライアント装置３００ｂは、第１のクライアント装置とも言う。
クライアント装置３０１ｂは、受信することで得られた画像をブラウザで表示する。クライアント装置３０１ｂは、第２のクライアント装置とも言う。
【００６５】
通信システムでは、画像がクライアント装置３００ｂに優先して表示される。クライアント装置３００ｂとクライアント装置３０１ｂの運用目的が、異なるからである。画像がクライアント装置３００ｂに優先して表示されるために、クライアント装置３００ｂとクライアント装置３０１ｂには、優先度が設定される。クライアント装置３００ｂの優先度は、クライアント装置３０１ｂの優先度よりも高い。すなわち、クライアント装置３０１ｂは、クライアント装置３００ｂよりも優先度が低い。
【００６６】
図１４は、実施の形態３の生成装置の構成を示す機能ブロック図である。図４に示される構成と同じ図１４の構成は、図４に示される符号と同じ符号を付している。
生成装置２００ｂは、記憶部２６０、判定部２７０、及び廃棄部２８０を有する。
記憶部２６０は、生成装置２００ｂが有するＲＡＭ又はＨＤＤに確保した記憶領域として実現してもよい。
【００６７】
判定部２７０及び廃棄部２８０の一部又は全部は、生成装置２００ｂが有するＣＰＵによって実現してもよい。判定部２７０及び廃棄部２８０の一部又は全部は、生成装置２００ｂが有するＣＰＵが実行するプログラムのモジュールとして実現してもよい。
通信部２１０の機能は、受信部２１１と送信部２１２で実現される。受信部２１１は、エンコーダ５００によりエンコードされた映像を受信する。受信部２１１は、エンコーダ５０１によりエンコードされた映像を受信する。
【００６８】
生成部２３０は、エンコーダ５００によりエンコードされた映像をデコードする。生成部２３０は、デコードされた第１の映像に基づいて画像を生成する。そして、送信部２１２は、第１の映像に基づいて生成された画像をクライアント装置３００ｂに送信する。
また、生成部２３０は、エンコーダ５０１によりエンコードされた映像をデコードする。生成部２３０は、デコードされた第２の映像に基づいて画像を生成する。そして、送信部２１２は、第２の映像に基づいて生成された画像をクライアント装置３０１ｂに送信する。
【００６９】
状態取得部２４０は、負荷情報を取得する。負荷情報は、生成装置２００ｂの負荷状態を示す。具体的には、負荷情報は、生成装置２００ｂが有するＣＰＵの使用率及び生成装置２００ｂが有するメモリの使用量のうちの少なくとも１つ以上を示す。
記憶部２６０は、エンコーダ５００のＩＰアドレスとクライアント装置３００ｂとの対応関係を示す情報を記憶する。また、記憶部２６０は、エンコーダ５０１のＩＰアドレスとクライアント装置３０１ｂとの対応関係を示す情報を記憶する。
【００７０】
判定部２７０は、エンコーダ５００によりエンコードされた映像に含まれている送信元のＩＰアドレスと記憶部２６０が記憶する情報に基づいて、当該映像がデコードされた映像に基づいて生成される画像がクライアント装置３００ｂに送信されることを判定できる。
また、判定部２７０は、エンコーダ５０１によりエンコードされた映像に含まれている送信元のＩＰアドレスと記憶部２６０が記憶する情報に基づいて、当該映像がデコードされた映像に基づいて生成される画像がクライアント装置３０１ｂに送信されることを判定できる。
【００７１】
判定部２７０は、受信部２１１がエンコーダ５０１によりエンコードされた映像を受信した場合、負荷情報に基づいて、生成処理を生成部２３０に実行させるか否かを判定する。なお、生成処理とは、第２の映像に基づいて画像を生成する処理である。
【００７２】
ここで、判定部２７０が実行する処理を詳細に説明する。判定部２７０は、生成装置２００ｂが有するＣＰＵの使用率が予め決められた第３の閾値以上の場合、生成処理を生成部２３０に実行させないと判定する。また、判定部２７０は、生成装置２００ｂが有するＲＡＭの使用量が予め決められた第４の閾値以上の場合、生成処理を生成部２３０に実行させないと判定してもよい。さらに、判定部２７０は、生成装置２００ｂが有するＣＰＵの使用率が第３の閾値以上であり、かつ生成装置２００ｂが有するＲＡＭの使用量が第４の閾値以上の場合、生成処理を生成部２３０に実行させないと判定してもよい。
【００７３】
廃棄部２８０は、生成処理を生成部２３０に実行させないと判定された場合、受信部２１１により受信されたエンコーダ５０１によりエンコードされた映像を廃棄する。
【００７４】
次に、生成装置２００ｂが実行する処理を説明する。
図１５は、実施の形態３の生成装置が実行する処理を示すフローチャートである。なお、図１５では、生成装置２００ｂとクライアント装置３００ｂとの間、生成装置２００ｂとクライアント装置３０１ｂとの間では、コネクションが確立されているものとする。また、図１５では、生成装置２００ｂが画像を送信する処理の説明は、省略する。さらに、生成装置２００ｂは、エンコードされた映像を受信したときに図１５の処理を実行する。
【００７５】
（ステップＳ４１）状態取得部２４０は、ＣＰＵの使用率を取得する。
（ステップＳ４２）判定部２７０は、デコードされた映像に基づいて生成される画像の送信先がクライアント装置３０１ｂであるか否かを判定する。
送信先がクライアント装置３０１ｂである場合、判定部２７０は、処理をステップＳ４３に進める。送信先がクライアント装置３００ｂである場合、判定部２７０は、処理をステップＳ４４に進める。
【００７６】
ステップＳ４２の処理は、次のように考えてもよい。判定部２７０は、受信部２１１がエンコーダ５０１によりエンコードされた映像を受信したか否かを判定する。受信部２１１がエンコーダ５０１によりエンコードされた映像を受信した場合、判定部２７０は、処理をステップＳ４３に進める。受信部２１１がエンコーダ５００によりエンコードされた映像を受信した場合、判定部２７０は、処理をステップＳ４４に進める。
【００７７】
（ステップＳ４３）判定部２７０は、ステップＳ４１で取得されたＣＰＵの使用率が閾値以上であるか否かを判定する。なお、当該閾値は、第３の閾値である。ＣＰＵの使用率が閾値よりも小さい場合、判定部２７０は、処理をステップＳ４４に進める。ＣＰＵの使用率が閾値以上である場合、廃棄部２８０は、エンコードされた映像を廃棄する。そして、廃棄部２８０は、処理をステップＳ４１に進める。
【００７８】
（ステップＳ４４）生成部２３０は、エンコードされた映像をデコードする。生成部２３０は、デコードされた映像に基づいて画像を生成する。
【００７９】
実施の形態３によれば、生成装置２００ｂは、クライアント装置３００ｂに画像を送信する。これにより、クライアント装置３００ｂは、ブラウザで画像を表示することができる。また、生成装置２００ｂは、ＣＰＵ使用率が閾値以上である場合、エンコーダ５０１によりエンコードされた映像を廃棄するので、画像を生成しない。そのため、生成装置２００ｂは、生成装置２００ｂの処理負荷が大きくなることを防止できる。すなわち、生成装置２００ｂは、生成装置２００ｂが停止することを防止できる。生成装置２００ｂが停止しないため、生成装置２００ｂは、少なくともクライアント装置３００ｂで画像を表示させることができる。
【００８０】
以上に説明した各実施の形態における特徴は、互いに適宜組み合わせることができる。
【符号の説明】
【００８１】
１０  ネットワーク、  １００，１００ａ  管理サーバ、  １０１  ＣＰＵ、  １０２  ＲＡＭ、  １０３  ＨＤＤ、  １１０，１１０ａ  通信部、  １２０，１２０ａ  状態管理部、  １３０  判定部、  １４０，１４０ａ  指示部、  ２００，２００ａ，２００ｂ，２０１，２０１ａ，２０２  生成装置、  ２１０，２１０ａ  通信部、  ２１１  受信部、  ２１２  送信部、  ２２０  状態管理部、  ２３０  生成部、  ２４０  状態取得部、  ２５０  受信判定部、  ２６０  記憶部、  ２７０  判定部、  ２８０  廃棄部、  ３００，３００ａ，３００ｂ，３０１ｂ  クライアント装置、  ４００，４０１  監視カメラ、  ５００，５０１  エンコーダ。
【図１】
2020149082.tif 000003
【図２】
2020149082.tif 000004
【図３】
2020149082.tif 000005
【図４】
2020149082.tif 000006
【図５】
2020149082.tif 000007
【図６】
2020149082.tif 000008
【図７】
2020149082.tif 000009
【図８】
2020149082.tif 000010
【図９】
2020149082.tif 000011
【図１０】
2020149082.tif 000012
【図１１】
2020149082.tif 000013
【図１２】
2020149082.tif 000014
【図１３】
2020149082.tif 000015
【図１４】
2020149082.tif 000016
【図１５】
2020149082.tif 000017