(57)【要約】【課題】エラー訂正率を向上させることができる通信システム、デコーダ、エンコーダ及び通信方法を提供すること。【解決手段】エンコーダとデコーダとは、複数の通信経路を用いてデータの送受を行い、ストリームパケットにエラーが発生した場合に、再送パケットを効率良く送受できるように設定されている再送経路割合に基づいて、通信経路を選択して、選択した通信経路を用いて再送パケットを送受することにより、エラー訂正率を向上させることを実現する。【選択図】図１
2010239319.tif 000002
【特許請求の範囲】
【請求項１】
エンコーダからデコーダに対してストリーミング配信を行う通信システムであって、
前記デコーダは、
前記ストリーミング配信におけるパケットにエラーが発生した場合に、前記エンコーダと前記デコーダとを接続する第一の通信経路又は第二の通信経路を介してパケットの再送要求が送信された回数に基づいて通信経路ごとに割り当てられた割合である再送経路割合にしたがって、再送パケットを送受する通信経路を選択する通信経路選択部と、
前記通信経路選択部によって選択された第一の通信経路又は第二の通信経路のいずれかを介して、エラーが発生したパケットの再送要求を前記エンコーダへ送信する再送要求送信部とを備え、
前記エンコーダは、
前記再送要求送信部によって第一の通信経路又は第二の通信経路を介して送信された再送要求を受信する再送要求受信部と、
前記再送要求受信部によって再送要求が受信された場合に、該再送要求が流通した第一の通信経路又は第二の通信経路のいずれかを介して、前記デコーダに再送パケットを送信する再送パケット送信部と
を備えたことを特徴とする通信システム。
【請求項２】
前記デコーダは、
前記再送要求送信部によって再送要求が送信された回数を用いて、同一のパケットに対する再送要求の送信回数の平均値である再送要求平均回数を通信経路ごとに算出し、算出した再送要求平均回数に基づいて、前記再送経路割合を定期的に更新する再送経路割合更新部をさらに備えたことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記再送経路割合更新部は、第一の通信経路における再送要求平均回数が、第二の通信経路における再送要求平均回数以下である場合に、前記第一の通信経路における再送経路割合を増やすとともに、前記第二の通信経路における再送経路割合を減らすことを特徴とする請求項２に記載の通信システム。
【請求項４】
前記再送経路割合更新部は、第一の通信経路における再送要求平均回数が、第二の通信経路における再送要求平均回数よりも大きい場合に、前記第一の通信経路における再送経路割合を減らすとともに、前記第二の通信経路における再送経路割合を増やすことを特徴とする請求項２又は３に記載の通信システム。
【請求項５】
エンコーダからストリーミング配信を行われるデコーダであって、
前記ストリーミング配信におけるパケットにエラーが発生した場合に、前記エンコーダと当該のデコーダとを接続する第一の通信経路又は第二の通信経路を介してパケットの再送要求が送信された回数に基づいて通信経路ごとに割り当てられた割合である再送経路割合にしたがって、再送パケットを送受する通信経路を選択する通信経路選択部と、
前記通信経路選択部によって選択された第一の通信経路又は第二の通信経路のいずれかを介して、エラーが発生したパケットの再送要求を前記エンコーダへ送信する再送要求送信部と
を備えたことを特徴とするデコーダ。
【請求項６】
デコーダに対してストリーミング配信を行うエンコーダであって、
前記デコーダから、当該のエンコーダと前記デコーダとを接続する第一の通信経路又は第二の通信経路のいずれかを介して再送要求を受信する再送要求受信部と、
前記再送要求受信部によって再送要求が受信された場合に、該再送要求が流通した第一の通信経路又は第二の通信経路のいずれかを介して、前記デコーダに再送パケットを送信する再送パケット送信部と
を備えたことを特徴とするエンコーダ。
【請求項７】
エンコーダからデコーダに対してストリーミング配信を行う通信方法であって、
前記デコーダが、
前記ストリーミング配信におけるパケットにエラーが発生した場合に、前記エンコーダと前記デコーダとを接続する第一の通信経路又は第二の通信経路を介してパケットの再送要求が送信された回数に基づいて通信経路ごとに割り当てられた割合である再送経路割合にしたがって、再送パケットを送受する通信経路を選択する通信経路選択ステップと、
前記通信経路選択ステップによって選択された第一の通信経路又は第二の通信経路のいずれかを介して、エラーが発生したパケットの再送要求を前記エンコーダへ送信する再送要求送信ステップとを含み、
前記エンコーダが、
前記再送要求送信ステップによって第一の通信経路又は第二の通信経路を介して送信された再送要求を受信する再送要求受信ステップと、
前記再送要求受信ステップによって再送要求が受信された場合に、該再送要求が流通した第一の通信経路又は第二の通信経路のいずれかを介して、前記デコーダに再送パケットを送信する再送パケット送信ステップと
を含んだことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、デコーダ、エンコーダ及び通信方法に関する。
【背景技術】
【０００２】
近年、ネットワークの広帯域化に伴って、エンコーダ及びデコーダを有する通信システムは、映像データや音声データ等をリアルタイムに送受信するストリーミング方式を用いることが多くなっている。このような通信システムでは、送受信するパケットのロストやビットエラー等のエラーを検出した場合に、かかるエラーを訂正するリカバリ処理を行う。
【０００３】
リカバリ処理の方式として、一般に、ＦＥＣ（Forward  Error  Correction：前方誤り訂正）方式やＡＲＱ（Automatic  Repeat  Request：自動再送要求）方式が知られている。ＦＥＣ方式は、送信側であるエンコーダが送信データにエラー訂正用の符号を含める方式である。また、ＡＲＱ方式は、受信側であるデコーダがエンコーダに対してパケットの再送を要求する方式である。また、上述したＦＥＣ方式とＡＲＱ方式とを組合せる技術も知られている。
【０００４】
ここで、図１２用いて、ＡＲＱ方式を用いる従来の通信システムについて説明する。図１２は、ＡＲＱ方式を用いる従来の通信システムの構成を示す図である。図１２に示すように、従来の通信システム９は、エンコーダ９１と、カメラ９２と、エンコーダ９１を制御する制御端末９３と、デコーダ９４と、モニタ９５と、デコーダ９４を制御する制御端末９６とを含む。
【０００５】
エンコーダ９１とデコーダ９４とは、ＩＰ（Internet  Protocol）ネットワーク９０を介して通信を行う。例えば、エンコーダ９１は、カメラ９２によって撮像された映像を符号化して、符号化した映像データをデコーダ９４に対してストリーミング配信する。デコーダ９４は、エンコーダ９１から配信された映像データを復号化して、復号化した映像をモニタ９５へ出力する。
【０００６】
このような構成の下、デコーダ９４は、パケットのロスト等のエラーを検出した場合に、例えば、ＲＴＣＰ（ＲＴＰ（Real-time  Transport  Protocol）  Control  Protocol）を用いて、エンコーダ９１に対して再送要求を行う。かかる再送要求を受け付けたエンコーダ９１は、デコーダ９４へ再送対象のパケット（以下、「再送パケット」と言う）を送信する。
【０００７】
このようにして、従来の通信システム９は、パケットのロストやビットエラー等のエラーが発生した場合、パケットの再送処理を行うことにより、かかるエラーを訂正する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−１９８１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来技術には、エラーを訂正できる確率（以下、「エラー訂正率」と言う）が低いという問題があった。具体的には、ＦＥＣ方式を用いる通信システムは、連続したビットエラーや所定数以上のビットエラーを訂正できなかった。すなわち、ＦＥＣ方式を用いる通信システムは、ビットエラーの数などの条件を満たさない場合にエラーを訂正できなかった。
【００１０】
また、ＡＲＱ方式を用いると、再送パケットと映像データとが同時にネットワークを流通するので、トラフィック量が増加する。トラフィック量が増加し続けることによってネットワークが圧迫された場合、さらなるエラーが発生する可能性が高くなる。その結果、何度も再送処理を行うもののエラーを訂正できないという悪循環に陥ることがあった。かかる点について、図１３及び図１４を用いて具体的に説明する。
【００１１】
図１３は、ネットワークが圧迫されていない場合におけるネットワーク帯域の一例を示す図である。図１４は、ネットワークが圧迫されている場合におけるネットワーク帯域の一例を示す図である。図１３に示すように、ネットワークが圧迫されていない場合、ネットワーク帯域には空き領域が存在する。このため、従来の通信システムは、図１３に示したような状態でパケットのロスト等が発生した場合、再送パケットの送受信処理を行うことが可能である。
【００１２】
一方、図１４に示すように、ネットワークが圧迫されている場合、ネットワーク帯域には空き領域がほとんど存在しない。このため、従来の通信システムは、図１４に示したような状態でパケットロスト等が発生した場合、再送パケットを送信できなかったり、再送パケットを送信できたとしてもストリーミング配信している映像データ等を送信できなくなったりする。すなわち、ＡＲＱ方式を用いると、トラフィック量が増加した場合に、パケットロスト等のエラーが発生する可能性が高くなり、エラーを訂正できなくなることがあった。
【００１３】
開示の技術は、上記に鑑みてなされたものであって、エラー訂正率を向上させることができる通信システム、デコーダ、エンコーダ及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本願の開示する通信システムは、一つの態様において、エンコーダからデコーダに対してストリーミング配信を行う通信システムであって、前記デコーダは、前記ストリーミング配信におけるパケットにエラーが発生した場合に、前記エンコーダと前記デコーダとを接続する第一の通信経路又は第二の通信経路を介してパケットの再送要求が送信された回数に基づいて通信経路ごとに割り当てられた割合である再送経路割合にしたがって、再送パケットを送受する通信経路を選択する通信経路選択部と、前記通信経路選択部によって選択された第一の通信経路又は第二の通信経路のいずれかを介して、エラーが発生したパケットの再送要求を前記エンコーダへ送信する再送要求送信部とを備え、前記エンコーダは、前記再送要求送信部によって第一の通信経路又は第二の通信経路を介して送信された再送要求を受信する再送要求受信部と、前記再送要求受信部によって再送要求が受信された場合に、該再送要求が流通した第一の通信経路又は第二の通信経路のいずれかを介して、前記デコーダに再送パケットを送信する再送パケット送信部とを備える。
【発明の効果】
【００１５】
本願の開示する通信システムの一つの態様によれば、エラー訂正率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施例１に係る通信システムの構成例を示す図である。
【図２−１】図２−１は、再送経路割合を更新する処理の一例を説明するための図である。
【図２−２】図２−２は、再送経路割合を更新する処理の一例を説明するための図である。
【図３】図３は、図１に示したエンコーダの構成を示す図である。
【図４】図４は、装置コンフィグ情報の一例を示す図である。
【図５】図５は、図１に示したデコーダの構成を示す図である。
【図６−１】図６−１は、再送経路割合更新部によって蓄積された再送要求送信回数の一例を示す図である。
【図６−２】図６−２は、再送経路割合更新部によって蓄積された再送要求送信回数の一例を示す図である。
【図７】図７は、実施例１に係る通信システムによるストリーミング配信処理手順を示すフローチャートである。
【図８】図８は、実施例１に係る通信システムによるパケット再送処理手順を示すフローチャートである。
【図９】図９は、実施例１に係る通信システムによる再送経路割合更新処理手順を示すフローチャートである。
【図１０】図１０は、エンコードプログラムを実行するコンピュータを示す図である。
【図１１】図１１は、デコードプログラムを実行するコンピュータを示す図である。
【図１２】図１２は、ＡＲＱ方式を用いる従来の通信システムの構成を示す図である。
【図１３】図１３は、ネットワークが圧迫されていない場合におけるネットワーク帯域の一例を示す図である。
【図１４】図１４は、ネットワークが圧迫されている場合におけるネットワーク帯域の一例を示す図である。
【発明を実施するための形態】
【００１７】
以下に、本願の開示する通信システム、デコーダ、エンコーダ及び通信方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本願の開示する通信システム、デコーダ、エンコーダ及び通信方法が限定されるものではない。なお、以下では、まず、実施例１に係る通信システムの構成について説明し、次に、実施例１におけるエンコーダの構成、実施例１におけるデコーダの構成について説明し、最後に、実施例１に係る通信システムによる処理手順について説明する。
【実施例１】
【００１８】
［実施例１に係る通信システムの構成］
まず、図１を用いて、実施例１に係る通信システム１の構成について説明する。図１は、実施例１に係る通信システム１の構成例を示す図である。実施例１に係る通信システム１は、ＡＲＱ方式を用いてエラー訂正を行う。図１に示すように、通信システム１は、カメラ１１と、制御端末１２と、モニタ２１と、制御端末２２と、エンコーダ１００と、デコーダ２００とを含む。
【００１９】
カメラ１１は、図１２に示したカメラ９２と同様である。制御端末１２は、エンコーダ１００を制御し、例えば、パーソナルコンピュータである。モニタ２１は、図１２に示したモニタ９５と同様である。制御端末２２は、デコーダ２００を制御し、例えば、パーソナルコンピュータである。
【００２０】
実施例１におけるエンコーダ１００とデコーダ２００とは、第一の通信経路であるメインネットワーク１０と、第二の通信経路であるサブネットワーク２０とを介して通信を行う。
【００２１】
具体的には、エンコーダ１００は、ストリーミング配信を行う場合、メインネットワーク１０を介して、映像データ等のパケットをデコーダ２００へ送信する。また、エンコーダ１００及びデコーダ２００は、ストリーミング配信におけるパケットにエラーが発生した場合、メインネットワーク１０又はサブネットワーク２０のいずれかを介して、再送パケットの送受を行う。なお、以下では、ストリーミング配信におけるパケットを「ストリームパケット」と表記するものとする。
【００２２】
以下に、ストリーミング配信を行う場合と、再送パケットの送受を行う場合とに分けて、エンコーダ１００及びデコーダ２００による処理について具体的に説明する。
【００２３】
まず、ストリーミング配信を行う場合におけるエンコーダ１００及びデコーダ２００による処理について説明する。エンコーダ１００は、ストリーミング配信を行う場合、カメラ１１によって撮像された映像を符号化し、符号化したストリームパケットを、メインネットワーク１０を介してデコーダ２００へ送信する。そして、デコーダ２００は、エンコーダ１００から受信したストリームパケットを復号化して、復号化した映像をモニタ９５へ出力する。
【００２４】
このようにエンコーダ１００及びデコーダ２００は、１個のメインネットワーク１０を用いてストリームパケットの送受を行うことが好ましい。これは、メインネットワーク１０及びサブネットワーク２０に分散してストリームパケットを送信すると、一方のネットワークが故障した場合、多くのストリームパケットがロストすることになり、映像の品質が著しく劣化するからである。また、他の理由として、メインネットワーク１０及びサブネットワーク２０に分散してストリームパケットを送信すると、デコーダ２００によって行われるストリームパケットを時系列に整列する処理が煩雑になるからである。特に、リアルタイムに出力することが求められている映像データが配信されている場合、デコーダ２００は、煩雑なパケット整列処理を行っていると、映像をリアルタイムに出力することが困難になる。
【００２５】
続いて、再送パケットの送受を行う場合におけるエンコーダ１００及びデコーダ２００による処理について説明する。デコーダ２００は、ストリームパケットにエラーが発生したことを検出した場合に、再送パケットの送受に用いる通信経路を選択する。具体的には、メインネットワーク１０及びサブネットワーク２０には、それぞれ再送パケットの送受に用いられる割合（以下、「再送経路割合」と言う）が割り当てられており、デコーダ２００は、かかる再送経路割合に基づいて、再送パケットを送受する通信経路を選択する。
【００２６】
そして、デコーダ２００は、選択したメインネットワーク１０又はサブネットワーク２０のいずれかを介して、エンコーダ１００に対して再送要求を送信する。かかる再送要求を受け付けたエンコーダ１００は、再送要求が流通したメインネットワーク１０又はサブネットワーク２０のいずれいかを介して、再送パケットをデコーダ２００へ送信する。
【００２７】
例えば、メインネットワーク１０の再送経路割合が「１００％」であり、サブネットワーク２０の再送経路割合「０％」であるものとする。かかる場合、デコーダ２００は、再送パケットを送受する通信経路として、常にメインネットワーク１０を選択し、選択したメインネットワーク１０を介して、エンコーダ１００へ再送要求を送信する。そして、かかる再送要求を受信したエンコーダ１００は、メインネットワーク１０を介して、再送パケットをデコーダ２００へ送信する。
【００２８】
また、例えば、メインネットワーク１０の再送経路割合が「５０％」であり、サブネットワーク２０の再送経路割合が「５０％」であるものとする。かかる場合、デコーダ２００は、再送パケットを送受する通信経路として、例えば、メインネットワーク１０を選択する。そして、デコーダ２００は、メインネットワーク１０を介して再送要求を送信し、エンコーダ１００は、メインネットワーク１０を介して再送パケットを送信する。その後、デコーダ２００は、パケットエラーを再度検出した場合に、例えば、サブネットワーク２０を選択する。すなわち、デコーダ２００は、メインネットワーク１０とサブネットワーク２０とに対して交互に再送要求を送信する。このようにして、デコーダ２００は、再送要求に用いる各通信経路の割合を「１：１」にする。
【００２９】
なお、上記例において、デコーダ２００は、メインネットワーク１０とサブネットワーク２０とに対して、１回ずつ交互に再送要求を送信しなくてもよい。例えば、デコーダ２００は、メインネットワーク１０とサブネットワーク２０とに対して、２回ずつ交互に再送要求を送信してもよいし、５回ずつ交互に再送要求を送信してもよい。
【００３０】
ここで、上述した「再送経路割合」について説明する。再送経路割合は、デコーダ２００によって、再送パケットを効率良く送受できるように定期的に更新される。具体的には、デコーダ２００は、定期的に、再送要求を送信した回数（以下、「再送要求送信回数」と言う）をパケットごとに蓄積する。そして、デコーダ２００は、通信経路ごとに、同一の再送パケットに対して再送要求を送信した回数の平均値を算出する。以下では、かかる平均値を「再送要求平均回数」と呼ぶこととする。
【００３１】
そして、デコーダ２００は、メインネットワーク１０とサブネットワーク２０との再送要求平均回数を比較する。デコーダ２００は、かかる比較の結果に基づいて、再送要求平均回数が小さいネットワークの方が再送パケットを効率良く送受できると判定する。
【００３２】
例えば、再送要求平均回数「１」である場合、デコーダ２００は、再送要求を１回送信すれば、再送パケットを受信できる。一方、再送要求平均回数「５」である場合、デコーダ２００は、再送要求を約５回送信した場合に、再送パケットを受信できる。すなわち、再送要求平均回数「５」である場合、デコーダ２００は、再送要求を送信しても５回中４回は再送パケットを受信できないことになる。このように再送パケットを受信できなくなるケースは、トラフィック量が増加してネットワークが圧迫されている場合などに発生し得る。したがって、デコーダ２００は、再送要求平均回数が小さいネットワークの方が再送パケットを効率良く送受できると判定する。
【００３３】
そして、デコーダ２００は、メインネットワーク１０の再送要求平均回数がサブネットワーク２０の再送要求平均回数以下である場合に、メインネットワーク１０の再送経路割合を増やすとともに、サブネットワーク２０の再送経路割合を減らす。一方、デコーダ２００は、メインネットワーク１０の再送要求平均回数がサブネットワーク２０の再送要求平均回数よりも大きい場合に、メインネットワーク１０の再送経路割合を減らすとともに、サブネットワーク２０の再送経路割合を増やす。
【００３４】
このようにして、デコーダ２００は、メインネットワーク１０又はサブネットワーク２０のうち、再送パケットを効率良く送受できる方の再送経路割合を増やす。これにより、エンコーダ１００及びデコーダ２００は、ストリームパケットにエラーが発生した場合に、再送パケットを効率良く送受することができる。
【００３５】
図２−１及び図２−２に示した例を用いて、上述した再送経路割合を更新する処理を説明する。図２−１及び図２−２は、再送経路割合を更新する処理の一例を説明するための図である。なお、ここでは、現状のメインネットワーク１０の再送経路割合が「８０％」であり、現状のサブネットワーク２０の再送経路割合が「２０％」であるものとする。
【００３６】
図２−１に示すように、メインネットワーク１０のネットワーク帯域には空き領域がほとんど存在しない。このようにトラフィック量が増加した状態の場合、メインネットワーク１０の再送要求平均回数は、一般に大きくなる。これは、上述したように、トラフィック量が増加した場合に、パケットロスト等のエラーが発生する可能性が高くなるので、再送要求を送信する回数が増えるからである。一方、サブネットワーク２０のネットワーク帯域には空き領域が存在する。このため、サブネットワーク２０の再送要求平均回数は、一般に小さくなる。
【００３７】
このとき、図２−１に示すように、メインネットワーク１０の再送要求平均回数が「６」であり、サブネットワーク２０の再送要求平均回数が「２」であるものとする。かかる場合、サブネットワーク２０を用いた方が再送パケットを効率良く送受できるので、デコーダ２００は、メインネットワーク１０の再送経路割合を減らすとともに、サブネットワーク２０の再送経路割合を増やす。例えば、デコーダ２００は、メインネットワーク１０の再送経路割合を「８０％」から「６０％」に更新するとともに、サブネットワーク２０の再送経路割合を「２０％」から「４０％」に更新する。
【００３８】
そして、再送経路割合が更新された後、メインネットワーク１０とサブネットワーク２０とのトラフィック量が図２−２に示した状態になったものとする。具体的には、図２−２に示すように、メインネットワーク１０のトラフィック量が図２−１に示した状態よりも減少したものとする。かかる場合、図２−２に示すように、メインネットワーク１０のネットワーク帯域には空き領域が存在する。このようにトラフィック量が減少して空き領域ができた場合、メインネットワーク１０の再送要求平均回数は、一般に小さくなる。
【００３９】
このとき、図２−２に示すように、メインネットワーク１０の再送要求平均回数が「２」であり、サブネットワーク２０の再送要求平均回数が「２」であるものとする。かかる場合、再送パケットを送受する効率は同一であるが、エンコーダ１００及びデコーダ２００は、メインネットワーク１０を用いて再送パケットを送受することが好ましい。これは、ストリームパケットと再送パケットとを同一の通信経路へ送信した方が、デコーダ２００によるパケット整列処理を簡易にすることができるとともに、サブネットワーク２０が故障した場合であっても映像の品質劣化を防止することができるからである。
【００４０】
したがって、デコーダ２００は、図２−２に示した状態である場合、メインネットワーク１０の再送経路割合を増やすとともに、サブネットワーク２０の再送経路割合を減らす。例えば、デコーダ２００は、メインネットワーク１０の再送経路割合を「６０％」から「８０％」に更新するとともに、サブネットワーク２０の再送経路割合を「４０％」から「２０％」に更新する。
【００４１】
このように、実施例１に係る通信システム１は、複数の通信経路を用いて、エンコーダ１００とデコーダ２００との間でデータの送受を行う。そして、エンコーダ１００及びデコーダ２００は、再送パケットを効率良く送受できるように設定されている再送経路割合に基づいて、通信経路を選択して、選択した通信経路を用いて再送パケットを送受する。これにより、実施例１に係る通信システム１は、効率良く再送パケットを送受できるので、エラー訂正率を向上させることができる。
【００４２】
また、実施例１に係る通信システム１は、各通信経路における再送要求平均回数に基づいて再送経路割合を定期的に更新するので、ネットワークのトラフィック量が変動した場合であっても、かかる変動に応じた再送経路割合を設定することができる。これにより、実施例１に係る通信システム１は、ネットワークのトラフィック量が変動した場合であっても、効率良く再送パケットを送受でき、その結果、エラー訂正率を向上させることができる。
【００４３】
［実施例１におけるエンコーダの構成］
次に、図３を用いて、図１に示したエンコーダ１００の構成について説明する。図３は、図１に示したエンコーダ１００の構成を示す図である。図３に示すように、エンコーダ１００は、インタフェース（以下、「Ｉ／Ｆ」と言う）１１０ａ及び１１０ｂと、送信バッファ１２１と、装置コンフィグ情報１２２と、符号化部１３０と、ＡＲＱ処理部１４０と、メイン送受信部１５０ａと、サブ送受信部１５０ｂとを有する。
【００４４】
Ｉ／Ｆ１１０ａは、メインネットワーク１０を介してデコーダ２００との間で各種パケットを送受する。Ｉ／Ｆ１１０ｂは、サブネットワーク２０を介してデコーダ２００との間で各種パケットを送受する。送信バッファ１２１は、エンコーダ１００からデコーダ２００へ配信されるストリームパケットを記憶する。
【００４５】
装置コンフィグ情報１２２は、エンコーダ１００及びデコーダ２００に関する情報などを記憶する。図４を用いて、装置コンフィグ情報１２２について具体的に説明する。図４は、装置コンフィグ情報１２２の一例を示す図である。
【００４６】
図４に示すように、装置コンフィグ情報１２２は、メイン側エンコーダＩＰアドレス、サブ側エンコーダＩＰアドレス、メイン側デコーダＩＰアドレス、サブ側デコーダＩＰアドレス、送信要求受信用ポート、送信要求送信用ポート、ストリーム送信用ポート、ストリーム受信用ポート、メイン側エンコーダエラー訂正用ポート、サブ側エンコーダエラー訂正用ポート、メイン側デコーダエラー訂正用ポート、サブ側デコーダエラー訂正用ポート、ネットワーク分散の有無、ＳＲ／ＲＲ送信周期、疎通状態監視周期、エラー訂正状況監視周期、再送経路割合更新周期、移行割合といった項目を有する。
【００４７】
「メイン側エンコーダＩＰアドレス」は、メインネットワーク１０と接続されるエンコーダ１００のＩＰアドレスを示す。図４に示した例において、メイン側エンコーダＩＰアドレスは「Ａ．Ａ．Ａ．Ａ」である。
【００４８】
「サブ側エンコーダＩＰアドレス」は、サブネットワーク２０と接続されるエンコーダ１００のＩＰアドレスを示す。図４に示した例において、サブ側エンコーダＩＰアドレスは「Ｂ．Ｂ．Ｂ．Ｂ」である。
【００４９】
「メイン側デコーダＩＰアドレス」は、メインネットワーク１０と接続されるデコーダ２００のＩＰアドレスを示す。図４に示した例において、メイン側デコーダＩＰアドレスは「Ｃ．Ｃ．Ｃ．Ｃ」である。
【００５０】
「サブ側デコーダＩＰアドレス」は、サブネットワーク２０と接続されるデコーダ２００のＩＰアドレスを示す。図４に示した例において、サブ側デコーダＩＰアドレスは「Ｄ．Ｄ．Ｄ．Ｄ」である。
【００５１】
「送信要求受信用ポート」は、エンコーダ１００が有するポートのうち、映像データ等を送信する旨の要求である送信要求パケットを受信するポートのポート番号を示す。図４に示した例において、送信要求受信用ポートのポート番号は「１」である。
【００５２】
「送信要求送信用ポート」は、デコーダ２００が有するポートのうち、送信要求パケットを送信する際に用いられるポートのポート番号を示す。図４に示した例において、送信要求送信用ポートのポート番号は「１」である。
【００５３】
すなわち、図４に示した例では、デコーダ２００は、自装置内のポートのうち、ポート番号が「１」であるポートへ送信要求を送信する。このとき、デコーダ２００は、エンコーダ１００が有するポートのうちポート番号が「１」であるポートに対して送信要求を送信する。
【００５４】
「ストリーム送信用ポート」は、エンコーダ１００が有するポートのうち、ストリームパケットを送信する際に用いられるポートのポート番号を示す。図４に示した例において、ストリーム送信用ポートのポート番号は「２」である。
【００５５】
「ストリーム受信用ポート」は、デコーダ２００が有するポートのうち、ストリームパケットを受信するポートのポート番号を示す。図４に示した例において、ストリーム受信用ポートのポート番号は「２」である。
【００５６】
すなわち、図４に示した例では、エンコーダ１００は、自装置内のポートのうち、ポート番号が「２」であるポートへストリームパケットを送信する。このとき、エンコーダ１００は、デコーダ２００が有するポートのうちポート番号が「２」であるポートに対してストリームパケットを送信する。
【００５７】
「メイン側エンコーダエラー訂正用ポート」は、エンコーダ１００が有するポートのうち、メインネットワーク１０を介して再送要求や再送パケットを送受する際に用いられるポートのポート番号を示す。図４に示した例において、メイン側エンコーダエラー訂正用ポートのポート番号は「３」である。
【００５８】
「サブ側エンコーダエラー訂正用ポート」は、エンコーダ１００が有するポートのうち、サブネットワーク２０を介して再送要求や再送パケットを送受する際に用いられるポートのポート番号を示す。図４に示した例において、サブ側エンコーダエラー訂正用ポートのポート番号は「４」である。
【００５９】
「メイン側デコーダエラー訂正用ポート」は、デコーダ２００が有するポートのうち、メインネットワーク１０を介して再送要求や再送パケットを送受する際に用いられるポートのポート番号を示す。図４に示した例において、メイン側デコーダエラー訂正用ポートのポート番号は「３」である。
【００６０】
「サブ側デコーダエラー訂正用ポート」は、デコーダ２００が有するポートのうち、サブネットワーク２０を介して再送要求や再送パケットを送受する際に用いられるポートのポート番号を示す。図４に示した例において、サブ側デコーダエラー訂正用ポートのポート番号は「４」である。
【００６１】
「ネットワーク分散の有無」は、再送パケットの送受に用いる通信経路をメインネットワーク１０及びサブネットワーク２０に分散するか否かを示す。かかる「ネットワーク分散の有無」に、分散しない旨の情報が設定されている場合、エンコーダ１００及びデコーダ２００は、例えば、メインネットワーク１０だけを用いて、再送パケットの送受を行う。なお、図４に示した例において、「ネットワーク分散の有無」に「１」が設定されている場合、再送パケットの送受に用いる通信経路をメインネットワーク１０及びサブネットワーク２０に分散することを示すものとする。
【００６２】
「ＳＲ／ＲＲ送信周期」は、エンコーダ１００及びデコーダ２００によって、ＲＴＣＰに規定されるＳＲ（Sender  Report）パケットやＲＲ（Receiver Report）パケットが送受される周期を示す。図４に示した例の場合、エンコーダ１００及びデコーダ２００は、１０００［ｍｓ］ごとにＳＲパケットやＲＲパケットを送受する。なお、ＳＲパケット及びＲＲパケットについては後述する。
【００６３】
「疎通状態監視周期」は、デコーダ２００によって、メインネットワーク１０及びサブネットワーク２０における疎通状態が監視される周期を示す。図４に示した例の場合、デコーダ２００は、５０００［ｍｓ］ごとに疎通状態を監視する。
【００６４】
「エラー訂正状況監視周期」は、デコーダ２００によって、再送要求送信回数が監視される周期を示す。図４に示した例の場合、デコーダ２００は、１０００［ｍｓ］ごとに再送要求送信回数等を監視する。
【００６５】
「再送経路割合更新周期」は、デコーダ２００によって、再送経路割合更新処理が行われる周期を示す。図４に示した例の場合、デコーダ２００は、１０００［ｍｓ］ごとに再送経路割合を更新する。
【００６６】
「移行割合」は、メインネットワーク１０及びサブネットワーク２０の再送経路割合を加減する値を示す。かかる「移行割合」は、デコーダ２００によって再送経路割合更新処理が行われる場合に用いられる。図４に示した例の場合、デコーダ２００は、再送経路割合を「５％」加減する。
【００６７】
図３の説明に戻って、符号化部１３０は、図１に示したカメラ１１等から映像等を入力された場合に、かかる映像等を符号化し、符号化したデータを送信バッファ１２１に記憶させる。
【００６８】
ＡＲＱ処理部１４０は、ＡＲＱに関する各種処理を行う。具体的には、ＡＲＱ処理部１４０は、エンコーダ１００がストリーミング配信を行っている間、装置コンフィグ情報１２２に記憶されているＳＲ／ＲＲ送信周期が経過するたびに、時刻情報を含むＳＲパケットを生成する。そして、ＡＲＱ処理部１４０は、生成したＳＲパケットを、後述するメイン送信部１５２ａ及びサブ送信部１５２ｂへ出力する。
【００６９】
また、ＡＲＱ処理部１４０は、上述したＳＲパケットを受信したデコーダ２００からＲＲパケットを受信した場合に、かかるＲＲパケットを解析してＲＴＴ（Round  Trip  Time：往復遅延時間）値を算出する。続いて、ＡＲＱ処理部１４０は、算出したＲＴＴ値を含むＡＰＰ（Application  Defined）パケットを生成し、生成したＡＰＰパケットを後述するメイン送信部１５２ａ及びサブ送信部１５２ｂへ出力する。なお、以下では、ＲＴＴ値を含むＡＰＰパケットを「ＡＰＰパケット（ＲＴＴ通知）」と表記するものとする。
【００７０】
また、ＡＲＱ処理部１４０は、デコーダ２００から、パケットの再送要求を示すＡＰＰパケットを受信した場合に、かかるＡＰＰパケットを解析して、再送対象のパケットを特定する。なお、以下では、パケットの再送要求を示すＡＰＰパケットを「ＡＰＰパケット（再送要求）」を表記するものとする。
【００７１】
メイン送受信部１５０ａは、デコーダ２００との間で、メインネットワーク１０を介して各種パケットを送受する処理を行う。具体的には、メイン送受信部１５０ａは、メイン受信部１５１ａと、メイン送信部１５２ａとを有する。
【００７２】
メイン受信部１５１ａは、デコーダ２００から、メインネットワーク１０を介して、送信要求パケット、ＲＲパケット、ＡＰＰパケット（再送要求）等を受信する。メイン送信部１５２ａは、メインネットワーク１０を介して、送信要求応答パケット、ストリームパケット、ＳＲパケット、ＡＰＰパケット（ＲＴＴ通知）、再送パケット等を、デコーダ２００へ送信する。
【００７３】
以下に、ストリームパケットを送受する場合、ＳＲ／ＲＲパケットを送受する場合、再送パケットを送受する場合に分けて、メイン受信部１５１ａ及びメイン送信部１５２ａによる処理について具体的に説明する。
【００７４】
最初に、ストリームパケットを送受する場合におけるメイン受信部１５１ａ及びメイン送信部１５２ａによる処理について説明する。まず、メイン受信部１５１ａは、デコーダ２００によって映像データ等を送信する旨の要求である送信要求パケットが送信された場合に、かかる送信要求パケットを受信する。そして、メイン送受信部１５０ａは、メイン受信部１５１ａによって受信された送信要求パケットを解析する。続いて、メイン送信部１５２ａは、解析結果に基づいて、送信要求パケットの応答である送信要求応答パケットをデコーダ２００へ送信する。そして、メイン送信部１５２ａは、送信バッファ１２１から配信対象の映像データ等を取得して、取得した映像データ等をストリームパケットとしてデコーダ２００へ送信する。
【００７５】
ここで、装置コンフィグ情報１２２が図４に示した状態であるものとする。かかる場合、メイン受信部１５１ａは、ポート番号が「１」であるポート（送信要求受信用ポート）によって、送信要求パケットを受信する。
【００７６】
また、メイン送信部１５２ａは、自装置内のポートのうち、ポート番号が「１」であるポート（送信要求送信用ポート）へ送信要求応答パケットを送信する。このとき、メイン送信部１５２ａは、宛先のＩＰアドレス（メイン側デコーダＩＰアドレス）を「Ｃ．Ｃ．Ｃ．Ｃ」とし、かつ、宛先のポート番号（送信要求受信用ポート）を「１」とする。
【００７７】
また、メイン送信部１５２ａは、自装置内のポートのうち、ポート番号が「２」であるポート（ストリーム送信用ポート）へストリームパケットを送信する。このとき、メイン送信部１５２ａは、宛先のＩＰアドレス（メイン側デコーダＩＰアドレス）を「Ｃ．Ｃ．Ｃ．Ｃ」とし、かつ、宛先のポート番号（ストリーム受信用ポート）を「２」とする。
【００７８】
続いて、ＳＲ／ＲＲパケットを送受する場合におけるメイン受信部１５１ａ及びメイン送信部１５２ａによる処理について説明する。まず、メイン送信部１５２ａは、ＡＲＱ処理部１４０からＳＲパケットを入力された場合に、かかるＳＲパケットをデコーダ２００へ送信する。続いて、メイン受信部１５１ａは、ＳＲパケットを受信したデコーダ２００によってＲＲパケットが送信された場合に、かかるＲＲパケットを受信し、受信したＲＲパケットをＡＲＱ処理部１４０へ出力する。続いて、メイン送信部１５２ａは、ＡＲＱ処理部１４０からＡＰＰパケット（ＲＴＴ通知）を入力された場合に、かかるＡＰＰパケット（ＲＴＴ通知）をデコーダ２００へ送信する。
【００７９】
ここで、装置コンフィグ情報１２２が図４に示した状態であるものとする。かかる場合、メイン送信部１５２ａは、自装置内のポートのうち、例えば、ポート番号が「３」であるポート（メイン側エンコーダエラー訂正用ポート）へＳＲパケットやＡＰＰパケット（ＲＴＴ通知）を送信する。このとき、メイン送信部１５２ａは、例えば、宛先のＩＰアドレス（メイン側デコーダＩＰアドレス）を「Ｃ．Ｃ．Ｃ．Ｃ」とし、かつ、宛先のポート番号（メイン側デコーダエラー訂正用ポート）を「３」とする。
【００８０】
続いて、再送パケットを送受する場合におけるメイン受信部１５１ａ及びメイン送信部１５２ａによる処理について説明する。まず、メイン受信部１５１ａは、デコーダ２００によってＡＰＰパケット（再送要求）が送信された場合に、かかるＡＰＰパケット（再送要求）を受信して、受信したＡＰＰパケット（再送要求）をＡＲＱ処理部１４０へ出力する。そして、メイン送信部１５２ａは、ＡＲＱ処理部１４０によって、かかるＡＰＰパケット（再送要求）に基づいて再送パケットが特定された場合に、特定された再送パケットをデコーダ２００へ送信する。すなわち、メイン送信部１５２ａは、メイン受信部１５１ａによってＡＰＰパケット（再送要求）が受信された場合に、かかるＡＰＰパケット（再送要求）が流通したメインネットワーク１０を介して、再送パケットを送信する。
【００８１】
ここで、装置コンフィグ情報１２２が図４に示した状態であるものとする。かかる場合、メイン受信部１５１ａは、ポート番号が「３」であるポート（メイン側エンコーダエラー訂正用ポート）によって、ＡＰＰパケット（再送要求）を受信する。
【００８２】
また、メイン送信部１５２ａは、自装置内のポートのうち、ポート番号が「３」であるポート（メイン側エンコーダエラー訂正用ポート）へ再送パケットを送信する。このとき、メイン送信部１５２ａは、宛先のＩＰアドレス（メイン側デコーダＩＰアドレス）を「Ｃ．Ｃ．Ｃ．Ｃ」とし、かつ、宛先のポート番号（メイン側デコーダエラー訂正用ポート）を「３」とする。
【００８３】
サブ送受信部１５０ｂは、デコーダ２００との間で、サブネットワーク２０を介して各種パケットを送受する処理を行う。具体的には、サブ送受信部１５０ｂは、サブ受信部１５１ｂと、サブ送信部１５２ｂとを有する。
【００８４】
サブ受信部１５１ｂは、メイン受信部１５１ａと同様に、デコーダ２００からＲＲパケット、ＡＰＰパケット（再送要求）を受信する。また、サブ送信部１５２ｂは、メイン送信部１５２ａと同様に、ＳＲパケット、ＡＰＰパケット（ＲＴＴ通知）、再送パケットを送信する。
【００８５】
具体的には、サブ送信部１５２ｂは、ＡＲＱ処理部１４０からＳＲパケットを入力された場合に、かかるＳＲパケットをデコーダ２００へ送信する。続いて、サブ受信部１５１ｂは、デコーダ２００からＲＲパケットを受信する。続いて、サブ送信部１５２ｂは、ＡＲＱ処理部１４０からＡＰＰパケット（ＲＴＴ通知）を入力された場合に、かかるＡＰＰパケット（ＲＴＴ通知）をデコーダ２００へ送信する。
【００８６】
ここで、装置コンフィグ情報１２２が図４に示した状態であるものとする。かかる場合、サブ送信部１５２ｂは、自装置内のポートのうち、例えば、ポート番号が「４」であるポート（サブ側エンコーダエラー訂正用ポート）へＳＲパケットやＡＰＰパケット（ＲＴＴ通知）を送信する。このとき、サブ送信部１５２ｂは、例えば、宛先のＩＰアドレス（サブ側デコーダＩＰアドレス）を「Ｄ．Ｄ．Ｄ．Ｄ」とし、かつ、宛先のポート番号（サブ側デコーダエラー訂正用ポート）を「４」とする。
【００８７】
また、サブ受信部１５１ｂ、デコーダ２００からＡＰＰパケット（再送要求）を受信し、受信したＡＰＰパケット（再送要求）をＡＲＱ処理部１４０へ出力する。そして、サブ送信部１５２ｂは、ＡＲＱ処理部１４０によって再送パケットが特定された場合に、特定された再送パケットをデコーダ２００へ送信する。すなわち、サブ送信部１５２ｂは、サブ受信部１５１ｂによってＡＰＰパケット（再送要求）が受信された場合に、かかるＡＰＰパケット（再送要求）が流通したサブネットワーク２０を介して、再送パケットを送信する。
【００８８】
ここで、装置コンフィグ情報１２２が図４に示した状態であるものとする。かかる場合、サブ受信部１５１ｂは、ポート番号が「４」であるポート（サブ側エンコーダエラー訂正用ポート）によって、ＡＰＰパケット（再送要求）を受信する。また、サブ送信部１５２ｂは、自装置内のポートのうち、ポート番号が「４」であるポート（サブ側エンコーダエラー訂正用ポート）へ再送パケットを送信する。このとき、サブ送信部１５２ｂは、宛先のＩＰアドレス（サブ側デコーダＩＰアドレス）を「Ｄ．Ｄ．Ｄ．Ｄ」とし、かつ、宛先のポート番号（サブ側デコーダエラー訂正用ポート）を「４」とする。
【００８９】
一方、サブ受信部１５１ｂは、メイン受信部１５１ａと比較して、デコーダ２００から送信要求パケットを受信しない。また、サブ送信部１５２ｂは、メイン送信部１５２ａと比較して、送信要求応答パケットや、ストリームパケットをデコーダ２００へ送信しない。これは、実施例１に係る通信システム１では、エンコーダ１００及びデコーダ２００は、メインネットワーク１０を用いて、ストリーミング配信を行うからである。
【００９０】
［実施例１におけるデコーダの構成］
次に、図５を用いて、図１に示したデコーダ２００の構成について説明する。図５は、図１に示したデコーダ２００の構成を示す図である。図５に示すように、デコーダ２００は、Ｉ／Ｆ２１０ａ及び２１０ｂと、受信バッファ２２１と、装置コンフィグ情報２２２と、復号化部２３０と、ＡＲＱ処理部２４０と、メイン送受信部２５０ａと、サブ送受信部２５０ｂとを有する。
【００９１】
Ｉ／Ｆ２１０ａは、メインネットワーク１０を介してエンコーダ１００との間で各種パケットを送受する。Ｉ／Ｆ２１０ｂは、サブネットワーク２０を介してエンコーダ１００との間で各種パケットを送受する。受信バッファ２２１は、エンコーダ１００から受信したストリームパケットを記憶する。装置コンフィグ情報２２２は、図３に示した装置コンフィグ情報１２２と同様の情報を記憶する。
【００９２】
復号化部２３０は、エンコーダ１００から配信されたストリームパケットを復号化する。そして、復号化部２３０は、復号化した映像データ等を、図１に示したモニタ９５等へ出力する。
【００９３】
ＡＲＱ処理部２４０は、ＡＲＱに関する各種処理を行う。具体的には、ＡＲＱ処理部２４０は、エンコーダ１００からＳＲパケットを受信した場合に、かかるＳＲパケットを解析し、解析結果及びＳＲパケットに含まれる時刻情報に基づいて、ＲＲパケットを生成する。続いて、ＡＲＱ処理部２４０は、作成したＲＲパケットを、後述するメイン送信部２５２ａ及びサブ送信部２５２ｂへ出力する。
【００９４】
また、ＡＲＱ処理部２４０は、上述したＲＲパケットを受信したエンコーダ１００からＡＰＰパケット（ＲＴＴ通知）を受信した場合に、かかるＡＰＰパケット（ＲＴＴ通知）を解析することにより、ＲＴＴ値を取得する。ＡＲＱ処理部２４０は、かかるＲＴＴ値に基づいて、例えば、ＡＰＰパケット（再送要求）を送信するタイミングを決定する。具体的には、ＡＲＱ処理部２４０は、ＲＴＴ値に基づいて、所定の時間を経過しても受信していないパケットが存在するか否かを判定する。そして、ＡＲＱ処理部２４０は、未受信のパケットが存在する場合に、かかるパケットを再送する旨のＡＰＰパケット（再送要求）を生成する。
【００９５】
また、実施例１におけるＡＲＱ処理部２４０は、通信経路選択部２４１と、再送経路割合更新部２４２とを有する。通信経路選択部２４１は、ストリームパケットにエラーが発生したことを検出した場合に、再送経路割合に基づいて、再送パケットを送受する通信経路を選択する。
【００９６】
具体的には、通信経路選択部２４１は、ストリームパケットにビットエラーやパケットロス等のエラーが発生しているか否かを判定する。そして、通信経路選択部２４１は、ストリームパケットにエラーが発生していることを検出した場合に、再送経路割合に基づいて、メインネットワーク１０又はサブネットワーク２０から、ＡＰＰパケット（再送要求）を送信する通信経路を選択する。そして、通信経路選択部２４１は、選択した通信経路と接続されているメイン送信部２５２ａ又はサブ送信部２５２ｂのいずれかへ、ＡＰＰパケット（再送要求）を出力する。
【００９７】
例えば、メインネットワーク１０の再送経路割合が「９０％」であり、サブネットワーク２０の再送経路割合が「１０％」であるものとする。かかる場合に、通信経路選択部２４１は、メインネットワーク１０にＡＰＰパケット（再送要求）を送信する回数と、サブネットワーク２０にＡＰＰパケット（再送要求）を送信する回数との比率が、「９：１」になるように通信経路を選択する。
【００９８】
再送経路割合更新部２４２は、再送パケットを効率良く送受できるように再送経路割合を定期的に更新する。具体的には、再送経路割合更新部２４２は、装置コンフィグ情報２２２に記憶されているエラー訂正状況監視周期が経過する間、パケットごとに再送要求送信回数を蓄積する。
【００９９】
例えば、図４に示した例のように、装置コンフィグ情報２２２に記憶されているエラー訂正状況監視周期が「１０００［ｍｓ］」であるものとする。かかる場合、再送経路割合更新部２４２は、１０００［ｍｓ］が経過するたびに、蓄積した再送要求送信回数をクリアして、再度１０００［ｍｓ］が経過するまで、再送要求送信回数を蓄積する。
【０１００】
そして、再送経路割合更新部２４２は、装置コンフィグ情報２２２に記憶されている再送要求割合更新周期が経過するたびに、蓄積した再送要求送信回数を用いて、再送経路割合を更新する。
【０１０１】
具体的には、再送経路割合更新部２４２は、まず、再送要求送信回数を、以下に示す式（１）及び（２）に代入することにより、メインネットワーク１０における再送要求平均回数Ａｍと、サブネットワーク２０における再送要求平均回数Ａｓとを算出する。
【０１０２】
Ａｍ＝（Ｘｍ１＋Ｘｍ２＋・・・＋Ｘｍｎ）／Ｎｍ  ・・・  （１）
Ａｓ＝（Ｘｓ１＋Ｘｓ２＋・・・＋Ｘｓｎ）／Ｎｓ  ・・・  （２）
【０１０３】
上記式（１）において、Ｘｍ１、Ｘｍ２、・・・、Ｘｍｎは、メインネットワーク１０における同一パケットに対するＡＰＰパケット（再送要求）の送信回数を示す。例えば、Ｘｍ１は、パケットＡに対するＡＰＰパケット（再送要求）の送信回数を示し、Ｘｍ２は、パケットＢに対するＡＰＰパケット（再送要求）の送信回数を示す。また、Ｎｍは、メインネットワーク１０における再送パケットの総数を示す。
【０１０４】
また、上記式（２）において、Ｘｓ１、Ｘｓ２、・・・、Ｘｓｎは、サブネットワーク２０における同一パケットに対するＡＰＰパケット（再送要求）の送信回数を示す。また、Ｎｓは、サブネットワーク２０における再送パケットの総数を示す。
【０１０５】
すなわち、再送経路割合更新部２４２は、再送要求送信回数の総数を、再送対象のパケットの総数で除算することにより再送要求平均回数を算出する。
【０１０６】
続いて、再送経路割合更新部２４２は、算出した再送要求平均回数Ａｍと、再送要求平均回数Ａｓとを比較する。そして、再送経路割合更新部２４２は、「Ａｍ≦Ａｓ」である場合に、メインネットワーク１０における再送経路割合を増やすとともに、サブネットワーク２０における再送経路割合を減らす。一方、再送経路割合更新部２４２は、「Ａｍ＞Ａｓ」である場合に、メインネットワーク１０における再送経路割合を減らすとともに、サブネットワーク２０における再送経路割合を増やす。
【０１０７】
具体的には、再送経路割合更新部２４２は、以下の式（３）及び（４）を用いて、メインネットワーク１０の再送経路割合Ｂｍと、サブネットワーク２０の再送経路割合Ｂｓとを算出する。
【０１０８】
Ｂｍ＝（（Ｎｍ／（Ｎｍ＋Ｎｓ））×１００）＋Ｃ  ・・・  （３）
Ｂｓ＝（（Ｎｓ／（Ｎｍ＋Ｎｓ））×１００）＋Ｃ  ・・・  （４）
【０１０９】
上記式（３）及び（４）において、Ｎｍ、Ｎｓは、上記式（１）及び（２）に示したＮｍ、Ｎｓと同様である。また、Ｃは、装置コンフィグ情報２２２に記憶されている移行割合であり、正負のいずれかの値を取る。具体的には、再送経路割合更新部２４２は、「Ａｍ≦Ａｓ」である場合に、メインネットワーク１０における再送経路割合を増やすので、上記式（３）におけるＣを正の値とする。また、かかる場合、再送経路割合更新部２４２は、サブネットワーク２０における再送経路割合を減らすので、上記式（４）におけるＣを負の値とする。
【０１１０】
一方、再送経路割合更新部２４２は、「Ａｍ＞Ａｓ」である場合に、メインネットワーク１０における再送経路割合を減らすので、上記式（３）におけるＣを負の値とする。また、かかる場合、再送経路割合更新部２４２は、サブネットワーク２０における再送経路割合を増やすので、上記式（４）におけるＣを正の値とする。
【０１１１】
そして、再送経路割合更新部２４２は、現状の再送経路割合を、上記において算出した再送経路割合に更新する。
【０１１２】
ここで、図６−１及び図６−２を用いて、上述した再送経路割合更新部２４２による再送経路割合更新処理の一例を説明する。図６−１及び図６−２は、再送経路割合更新部２４２によって蓄積された再送要求送信回数の一例を示す図である。なお、ここでは、移行割合Ｃが「５」であるものとする。
【０１１３】
図６−１に示した例において、デコーダ２００は、パケットＡ〜ＪのＡＰＰパケット（再送要求）をメインネットワーク１０へ送信し、パケットＫ〜ＯのＡＰＰパケット（再送要求）をサブネットワーク２０へ送信している。そして、図６−１に示した例において、再送経路割合更新部２４２は、パケットＡ〜Ｏごとに、ＡＰＰパケット（再送要求）の再送要求送信回数を蓄積している。
【０１１４】
具体的には、再送経路割合更新部２４２は、パケットＡのＡＰＰパケット（再送要求）を送信した回数が「６回」であることを蓄積している。また、再送経路割合更新部２４２は、パケットＢ〜ＪのＡＰＰパケット（再送要求）を送信した回数が、それぞれ「７回」、「５回」、「４回」、「８回」、「５回」、「７回」、「８回」、「４回」、「６回」であることを蓄積している。また、再送経路割合更新部２４２は、パケットＫ〜ＯのＡＰＰパケット（再送要求）を送信した回数が、それぞれ「２回」、「３回」、「３回」、「４回」、「３回」であることを蓄積している。
【０１１５】
図６−１に示した状態で、装置コンフィグ情報２２２に記憶されている再送要求割合更新周期が経過した場合、再送経路割合更新部２４２は、上記式（１）及び（２）を用いて、再送要求平均回数Ａｍと、再送要求平均回数Ａｓとを算出する。具体的には、再送経路割合更新部２４２は、以下に示すように、再送要求平均回数Ａｍ及びＡｓを算出する。
【０１１６】
Ａｍ＝（Ｘｍ１＋Ｘｍ２＋・・・＋Ｘｍｎ）／Ｎｍ
＝（６＋７＋５＋４＋８＋５＋７＋８＋４＋６）／１０
＝６
【０１１７】
Ａｓ＝（Ｘｓ１＋Ｘｓ２＋・・・＋Ｘｓｎ）／Ｎｓ
＝（２＋３＋３＋４＋３）／５
＝３
【０１１８】
すなわち、図６−１に示した例の場合、「Ａｍ＞Ａｓ」が成り立つので、再送経路割合更新部２４２は、メインネットワーク１０における再送経路割合Ｂｍを減らすとともに、サブネットワーク２０における再送経路割合Ｂｓを増やす。具体的には、再送経路割合更新部２４２は、以下に示すように、上記式（３）及び（４）に各値を代入することにより、再送経路割合Ｂｍ及びＢｓを算出する。
【０１１９】
Ｂｍ＝（（Ｎｍ／（Ｎｍ＋Ｎｓ））×１００）＋Ｃ
＝（（１０／（１０＋５））×１００）−５
＝６２
【０１２０】
Ｂｓ＝（（Ｎｓ／（Ｎｍ＋Ｎｓ））×１００）＋Ｃ
＝（（５／（１０＋５））×１００）＋５
＝３８
【０１２１】
このように、再送経路割合更新部２４２は、図６−１に示した例のように再送要求回数を蓄積した場合、メインネットワーク１０における再送経路割合Ｂｍを「６２％」に更新するとともに、サブネットワーク２０における再送経路割合Ｂｓを「３８％」に更新する。
【０１２２】
続いて、図６−２に示した例について説明する。図６−２に示した状態で、装置コンフィグ情報２２２に記憶されている再送要求割合更新周期が経過した場合、再送経路割合更新部２４２は、以下に示すように、再送要求平均回数Ａｍ及びＡｓを算出する。
【０１２３】
Ａｍ＝（Ｘｍ１＋Ｘｍ２＋・・・＋Ｘｍｎ）／Ｎｍ
＝（１＋３＋１＋３＋１＋３＋２）／７
＝２
【０１２４】
Ａｓ＝（Ｘｓ１＋Ｘｓ２＋・・・＋Ｘｓｎ）／Ｎｓ
＝（１１＋１０＋９）／３
＝１０
【０１２５】
すなわち、図６−２に示した例の場合、「Ａｍ≦Ａｓ」が成り立つので、再送経路割合更新部２４２は、メインネットワーク１０における再送経路割合Ｂｍを増やすとともに、サブネットワーク２０における再送経路割合Ｂｓを減らす。具体的には、再送経路割合更新部２４２は、以下に示すように、上記式（３）及び（４）に各値を代入することにより、再送経路割合Ｂｍ及びＢｓを算出する。
【０１２６】
Ｂｍ＝（（Ｎｍ／（Ｎｍ＋Ｎｓ））×１００）＋Ｃ
＝（（７／（７＋３））×１００）＋５
＝７５
【０１２７】
Ｂｓ＝（（Ｎｓ／（Ｎｍ＋Ｎｓ））×１００）＋Ｃ
＝（（３／（７＋３））×１００）−５
＝２５
【０１２８】
このように、再送経路割合更新部２４２は、図６−２に示した例のように再送要求回数を蓄積した場合、メインネットワーク１０における再送経路割合Ｂｍを「７５％」に更新するとともに、サブネットワーク２０における再送経路割合Ｂｓを「２５％」に更新する。
【０１２９】
上記のように、再送経路割合更新部２４２は、再送要求割合更新周期が経過するたびに、移行割合Ｃだけ再送経路割合を更新する。すなわち、再送経路割合更新部２４２は、再送経路割合を徐々に更新する。このように再送経路割合を徐々に更新する理由は、一度に再送経路割合を大きく変動させると、ネットワーク内のトラフィック量が急激に変化してしまう可能性があり、再送経路割合を何度も大きく変動させるおそれがあるからである。
【０１３０】
図５の説明に戻って、メイン送受信部２５０ａは、エンコーダ１００との間で、メインネットワーク１０を介して各種パケットを送受する処理を行う。具体的には、メイン送受信部２５０ａは、メイン受信部２５１ａと、メイン送信部２５２ａとを有する。
【０１３１】
メイン受信部２５１ａは、エンコーダ１００から、メインネットワーク１０を介して、送信要求応答パケット、ストリームパケット、ＳＲパケット、ＡＰＰパケット（ＲＴＴ通知）、再送パケット等を受信する。また、メイン送信部２５２ａは、メインネットワーク１０を介して、送信要求パケット、ＲＲパケット、ＡＰＰパケット（再送要求）等を、エンコーダ１００へ送信する。
【０１３２】
以下に、ストリームパケットを送受する場合、ＳＲ／ＲＲパケットを送受する場合、再送パケットを送受する場合に分けて、メイン受信部２５１ａ及びメイン送信部２５２ａによる処理について具体的に説明する。
【０１３３】
最初に、ストリームパケットを送受する場合におけるメイン受信部２５１ａ及びメイン送信部２５２ａによる処理について説明する。まず、メイン送信部２５２ａは、映像データ等をエンコーダ１００から取得する場合に、送信要求パケットをエンコーダ１００へ送信する。そして、メイン受信部２５１ａは、エンコーダ１００によって送信要求パケットの応答である送信要求応答パケットが送信された場合に、かかる送信要求応答パケットを受信する。その後、メイン受信部２５１ａは、エンコーダ１００からストリームパケットを受信する。このとき、メイン送受信部２５０ａは、送信要求応答パケットを解析した後、受信したストリームパケットを受信バッファ２２１に記憶させる。
【０１３４】
ここで、装置コンフィグ情報２２２が図４に示した状態であるものとする。かかる場合、メイン送信部２５２ａは、自装置内のポートのうち、ポート番号が「１」であるポート（送信要求送信用ポート）へ送信要求パケットを送信する。このとき、メイン送信部２５２ａは、宛先のＩＰアドレス（メイン側エンコーダＩＰアドレス）を「Ａ．Ａ．Ａ．Ａ」とし、かつ、宛先のポート番号（送信要求受信用ポート）を「１」とする。
【０１３５】
また、メイン受信部２５１ａは、ポート番号が「１」であるポート（送信要求受信用ポート）によって、送信要求応答パケットを受信する。また、メイン受信部２５１ａは、ポート番号が「２」であるポート（ストリーム受信用ポート）によって、ストリームパケットを受信する。
【０１３６】
続いて、ＳＲ／ＲＲパケットを送受する場合におけるメイン受信部２５１ａ及びメイン送信部２５２ａによる処理について説明する。まず、メイン受信部２５１ａは、エンコーダ１００によってＳＲパケットが送信された場合に、かかるＳＲパケットを受信し、受信したＳＲパケットをＡＲＱ処理部２４０へ出力する。続いて、メイン送信部２５２ａは、ＡＲＱ処理部２４０からＲＲパケットを入力された場合に、かかるＲＲパケットをエンコーダ１００へ送信する。
【０１３７】
ここで、装置コンフィグ情報２２２が図４に示した状態であるものとする。かかる場合、メイン受信部２５１ａは、例えば、ポート番号が「３」であるポート（メイン側デコーダエラー訂正用ポート）によって、ＳＲパケットを受信する。
【０１３８】
また、メイン送信部２５２ａは、例えば、自装置内のポートのうち、ポート番号が「３」であるポート（メイン側デコーダエラー訂正用ポート）へＲＲパケットを送信する。このとき、メイン送信部２５２ａは、例えば、宛先のＩＰアドレス（メイン側エンコーダＩＰアドレス）を「Ａ．Ａ．Ａ．Ａ」とし、かつ、宛先のポート番号（メイン側エンコーダエラー訂正用ポート）を「３」とする。
【０１３９】
続いて、再送パケットを送受する場合におけるメイン受信部２５１ａ及びメイン送信部２５２ａによる処理について説明する。まず、メイン送信部２５２ａは、ＡＲＱ処理部２４０からＡＰＰパケット（再送要求）を入力された場合に、かかるＡＰＰパケット（再送要求）をエンコーダ１００へ送信する。そして、メイン受信部２５１ａは、エンコーダ１００によって、ＡＰＰパケット（再送要求）に応じて再送パケットが送信された場合に、かかる送信パケットを受信する。
【０１４０】
ここで、装置コンフィグ情報２２２が図４に示した状態であるものとする。かかる場合、メイン送信部２５２ａは、自装置内のポートのうち、ポート番号が「３」であるポート（メイン側デコーダエラー訂正用ポート）へＡＰＰパケット（再送要求）を送信する。このとき、メイン送信部２５２ａは、宛先のＩＰアドレス（メイン側エンコーダＩＰアドレス）を「Ａ．Ａ．Ａ．Ａ」とし、かつ、宛先のポート番号（メイン側エンコーダエラー訂正用ポート）を「３」とする。また、メイン受信部２５１ａは、ポート番号が「３」であるポート（メイン側デコーダエラー訂正用ポート）によって、再送パケットを受信する。
【０１４１】
サブ送受信部２５０ｂは、エンコーダ１００との間で、サブネットワーク２０を介して各種パケットを送受する処理を行う。具体的には、サブ送受信部２５０ｂは、サブ受信部２５１ｂと、サブ送信部２５２ｂとを有する。
【０１４２】
サブ受信部２５１ｂは、エンコーダ１００から、サブネットワーク２０を介して、ＳＲパケット、ＡＰＰパケット（ＲＴＴ通知）、再送パケットを受信する。また、サブ送信部２５２ｂは、サブネットワーク２０を介して、ＲＲパケット、ＡＰＰパケット（再送要求）を、エンコーダ１００へ送信する。
【０１４３】
具体的には、サブ受信部２５１ｂは、エンコーダ１００からＳＲパケットを受信し、受信したＳＲパケットをＡＲＱ処理部２４０へ出力する。続いて、サブ送信部２５２ｂは、ＡＲＱ処理部２４０から入力されたＲＲパケットをエンコーダ１００へ送信する。
【０１４４】
ここで、装置コンフィグ情報２２２が図４に示した状態であるものとする。かかる場合、メイン受信部２５１ａは、ポート番号が「４」であるポート（サブ側デコーダエラー訂正用ポート）によって、ＳＲパケットを受信する。また、サブ送信部２５２ｂは、自装置内のポートのうち、ポート番号が「４」であるポート（サブ側デコーダエラー訂正用ポート）へＲＲパケットを送信する。このとき、サブ送信部２５２ｂは、宛先のＩＰアドレス（サブ側エンコーダＩＰアドレス）を「Ｂ．Ｂ．Ｂ．Ｂ」とし、かつ、宛先のポート番号（サブ側エンコーダエラー訂正用ポート）を「４」とする。
【０１４５】
また、サブ送信部２５２ｂは、ＡＲＱ処理部２４０から入力されたＡＰＰパケット（再送要求）をエンコーダ１００へ送信する。そして、サブ受信部２５１ｂは、エンコーダ１００から送信パケットを受信する。
【０１４６】
ここで、装置コンフィグ情報２２２が図４に示した状態であるものとする。かかる場合、サブ送信部２５２ｂは、自装置内のポートのうち、ポート番号が「４」であるポート（サブ側デコーダエラー訂正用ポート）へＡＰＰパケット（再送要求）を送信する。このとき、サブ送信部２５２ｂは、宛先のＩＰアドレス（サブ側エンコーダＩＰアドレス）を「Ｂ．Ｂ．Ｂ．Ｂ」とし、かつ、宛先のポート番号（サブ側エンコーダエラー訂正用ポート）を「４」とする。また、サブ受信部２５１ｂは、ポート番号が「４」であるポート（サブ側デコーダエラー訂正用ポート）によって、再送パケットを受信する。
【０１４７】
［実施例１に係る通信システムによるストリーミング配信処理］
次に、図７を用いて、実施例１に係る通信システム１によるストリーミング配信処理について説明する。図７は、実施例１に係る通信システム１によるストリーミング配信処理手順を示すフローチャートである。
【０１４８】
図７に示すように、デコーダ２００のメイン送信部２５２ａは、映像データ等をエンコーダ１００から取得する場合に、送信要求パケットを生成する（ステップＳ１０１）。そして、メイン送信部２５２ａは、生成した送信要求パケットを、メインネットワーク１０を介してエンコーダ１００へ送信する（ステップＳ１０２）。
【０１４９】
エンコーダ１００のメイン受信部１５１ａは、かかる送信要求パケットを受信する。そして、エンコーダ１００のメイン送信部１５２ａは、送信要求パケットの応答である送信要求応答パケットを生成する（ステップＳ１０３）。続いて、メイン送信部１５２ａは、生成した送信要求応答パケットを、メインネットワーク１０を介してエンコーダ１００へ送信する（ステップＳ１０４）。かかる送信要求応答パケットを受信したデコーダ２００のメイン受信部２５１ａは、送信要求応答パケットを解析する（ステップＳ１０５）。
【０１５０】
続いて、エンコーダ１００の符号化部１３０は、図１に示したカメラ１１等から入力された映像等に対する符号化処理を開始する（ステップＳ１０６）。そして、メイン送信部１５２ａは、符号化部１３０によって符号化されたストリームパケットを、メインネットワーク１０を介してエンコーダ１００へ送信する（ステップＳ１０７）。
【０１５１】
続いて、デコーダ２００のメイン受信部２５１ａは、エンコーダ１００のメイン送信部１５２ａから送信されたストリームパケットを受信する（ステップＳ１０８）。そして、デコーダ２００の復号化部２３０は、メイン受信部２５１ａによって受信されたストリームパケットに対する復号化処理を開始する（ステップＳ１０９）。復号化部２３０は、復号化した映像データ等を、図１に示したモニタ２１等へ出力する。
【０１５２】
続いて、エンコーダ１００のＡＲＱ処理部１４０は、エンコーダ１００がストリーミング配信を行っている間、装置コンフィグ情報１２２に記憶されているＳＲ／ＲＲ送信周期が経過するたびに、時刻情報を含むＳＲパケットを生成する（ステップＳ１１０）。
【０１５３】
続いて、メイン送信部１５２ａは、ＡＲＱ処理部１４０によって生成されたＳＲパケットを、メインネットワーク１０を介してデコーダ２００へ送信する（ステップＳ１１１）。また、サブ送信部１５２ｂは、ＡＲＱ処理部１４０によって生成されたＳＲパケットを、サブネットワーク２０を介してデコーダ２００へ送信する（ステップＳ１１１）。
【０１５４】
そして、デコーダ２００のメイン受信部２５１ａは、エンコーダ１００のメイン送信部１５２ａによって送信されたＳＲパケットを受信する。また、デコーダ２００のサブ受信部２５１ｂは、エンコーダ１００のサブ送信部１５２ｂによって送信されたＳＲパケットを受信する。
【０１５５】
続いて、デコーダ２００のＡＲＱ処理部２４０は、メイン受信部２５１ａ及びサブ受信部２５１ｂによって受信されたＳＲパケットを解析し（ステップＳ１１２）、解析結果及びＳＲパケットに含まれる時刻情報に基づいて、ＲＲパケットを生成する（ステップＳ１１３）。
【０１５６】
続いて、メイン送信部２５２ａは、ＡＲＱ処理部２４０によって生成されたＲＲパケットを、メインネットワーク１０を介してエンコーダ１００へ送信する（ステップＳ１１４）。また、サブ送信部２５２ｂは、ＡＲＱ処理部２４０によって生成されたＲＲパケットを、サブネットワーク２０を介してエンコーダ１００へ送信する（ステップＳ１１４）。
【０１５７】
そして、エンコーダ１００のメイン受信部１５１ａは、デコーダ２００のメイン送信部２５２ａによって送信されたＲＲパケットを受信する。また、エンコーダ１００のサブ受信部１５１ｂは、デコーダ２００のサブ送信部２５２ｂによって送信されたＲＲパケットを受信する。
【０１５８】
続いて、エンコーダ１００のＡＲＱ処理部１４０は、メイン受信部１５１ａ及びサブ受信部１５１ｂによって受信されたＲＲパケットを解析して（ステップＳ１１５）、ＲＴＴ値を算出する（ステップＳ１１６）。続いて、ＡＲＱ処理部１４０は、算出したＲＴＴ値を含むＡＰＰパケット（ＲＴＴ通知）を生成する（ステップＳ１１７）。
【０１５９】
続いて、メイン送信部１５２ａは、ＡＲＱ処理部１４０によって生成されたＡＰＰパケット（ＲＴＴ通知）を、メインネットワーク１０を介してデコーダ２００へ送信する（ステップＳ１１８）。また、サブ送信部１５２ｂは、ＡＲＱ処理部１４０によって生成されたＡＰＰパケット（ＲＴＴ通知）を、サブネットワーク２０を介してデコーダ２００へ送信する（ステップＳ１１８）。
【０１６０】
エンコーダ１００のＡＲＱ処理部１４０は、装置コンフィグ情報１２２に記憶されているＳＳ／ＲＲ送信周期が経過した場合に（ステップＳ１１９肯定）、上記ステップＳ１１０における処理に戻って、再度、ＳＲパケット生成処理を行う。
【０１６１】
［実施例１に係る通信システムによるパケット再送処理］
次に、図８を用いて、実施例１に係る通信システム１によるパケット再送処理について説明する。図８は、実施例１に係る通信システム１によるパケット再送処理手順を示すフローチャートである。なお、以下に示す処理手順は、デコーダ２００がストリームパケットを受信している間に行われる。
【０１６２】
図８に示すように、デコーダ２００の通信経路選択部２４１は、エンコーダ１００から受信したストリームパケットにビットエラーやパケットロス等のエラーが発生しているか否かを判定する。そして、通信経路選択部２４１は、ストリームパケットにエラーが発生していることを検出した場合に（ステップＳ２０１肯定）、再送経路割合に基づいて、ＡＰＰパケット（再送要求）を送信する通信経路を選択する（ステップＳ２０２）。
【０１６３】
続いて、ＡＲＱ処理部２４０は、ＡＰＰパケット（再送要求）を生成する（ステップＳ２０３）。そして、ＡＲＱ処理部２４０は、生成したＡＰＰパケット（再送要求）を、ステップＳ２０２において選択した通信経路と接続されているメイン送信部２５２ａ又はサブ送信部２５２ｂのいずれかへ出力する。
【０１６４】
ＡＰＰパケット（再送要求）を入力されたメイン送信部２５２ａ又はサブ送信部２５２ｂは、かかるＡＰＰパケット（再送要求）をエンコーダ１００へ送信する（ステップＳ２０４）。
【０１６５】
例えば、ＡＲＱ処理部２４０がメイン送信部２５２ａへＡＰＰパケット（再送要求）を出力した場合、メイン送信部２５２ａは、ＡＰＰパケット（再送要求）を、メインネットワーク１０を介してエンコーダ１００へ送信する。一方、ＡＲＱ処理部２４０がサブ送信部２５２ｂへＡＰＰパケット（再送要求）を出力した場合、サブ送信部２５２ｂは、ＡＰＰパケット（再送要求）を、サブネットワーク２０を介してエンコーダ１００へ送信する。
【０１６６】
続いて、エンコーダ１００のメイン受信部１５１ａ又はサブ受信部１５１ｂは、ＡＰＰパケット（再送要求）を受信し、受信したＡＰＰパケット（再送要求）をＡＲＱ処理部１４０へ出力する。続いて、ＡＲＱ処理部１４０は、ＡＰＰパケット（再送要求）を解析した後（ステップＳ２０５）、再送パケットを生成する（ステップＳ２０６）。
【０１６７】
続いて、ＡＲＱ処理部１４０は、生成した再送パケットを、ＡＰＰパケット（再送要求）が流通した通信経路と接続されているメイン送信部１５２ａ又はサブ送信部１５２ｂのいずれかへ出力する。再送パケットを入力されたメイン送信部１５２ａ又はサブ送信部１５２ｂは、かかる再送パケットをデコーダ２００へ送信する（ステップＳ２０７）。
【０１６８】
例えば、メイン受信部１５１ａがメインネットワーク１０を介してＡＰＰパケット（再送要求）を受信した場合、ＡＲＱ処理部１４０は、メインネットワーク１０と接続されているメイン送信部１５２ａへ再送パケットを出力する。そして、メイン送信部１５２ａは、再送パケットをメインネットワーク１０を介してデコーダ２００へ送信する。
【０１６９】
一方、サブ受信部１５１ｂがサブネットワーク２０を介してＡＰＰパケット（再送要求）を受信した場合、ＡＲＱ処理部１４０は、サブネットワーク２０と接続されているサブ送信部１５２ｂへ再送パケットを出力する。そして、サブ送信部１５２ｂは、再送パケットをサブネットワーク２０を介してデコーダ２００へ送信する。
【０１７０】
続いて、デコーダ２００のメイン受信部２５１ａ又はサブ受信部２５１ｂは、再送パケットを受信し、受信した再送パケットを受信バッファ２２１へ出力することにより、ストリームパケットをリカバリする（ステップＳ２０８）。このとき、再送経路割合更新部２４２は、再送要求送信回数を蓄積しておく（ステップＳ２０９）。
【０１７１】
［実施例１に係る通信システムによる再送経路割合更新処理］
次に、図９を用いて、実施例１に係る通信システム１による再送経路割合更新処理にいて説明する。図９は、実施例１に係る通信システム１による再送経路割合更新処理手順を示すフローチャートである。
【０１７２】
図９に示すように、デコーダ２００の再送経路割合更新部２４２は、再送要求割合更新周期が経過した場合に（ステップＳ３０１肯定）、蓄積した再送要求送信回数を、上記式（１）に代入することにより、メインネットワーク１０における再送要求平均回数Ａｍを算出する（ステップＳ３０２）。また、再送経路割合更新部２４２は、蓄積した再送要求送信回数を、上記式（２）に代入することにより、サブネットワーク２０における再送要求平均回数Ａｓを算出する（ステップＳ３０３）。
【０１７３】
続いて、再送経路割合更新部２４２は、算出した再送要求平均回数Ａｍと、再送要求平均回数Ａｓとを比較する。そして、再送経路割合更新部２４２は、「Ａｍ≦Ａｓ」である場合に（ステップＳ３０４肯定）、メインネットワーク１０における再送経路割合を増やすとともに、サブネットワーク２０における再送経路割合を減らす（ステップＳ３０５）。
【０１７４】
一方、再送経路割合更新部２４２は、「Ａｍ＞Ａｓ」である場合に（ステップＳ３０４否定）、メインネットワーク１０における再送経路割合を減らすとともに、サブネットワーク２０における再送経路割合を増やす（ステップＳ３０６）。
【０１７５】
［実施例１の効果］
上述してきたように、実施例１に係る通信システム１は、複数の通信経路を用いて、エンコーダ１００とデコーダ２００との間でデータの送受を行う。そして、エンコーダ１００及びデコーダ２００は、再送経路割合に基づいてネットワークを選択して、選択したネットワークを介して再送パケットを送受する。これにより、実施例１に係る通信システム１は、効率良く再送パケットを送受できるので、エラー訂正率を向上させることができる。
【０１７６】
また、実施例１に係る通信システム１は、再送経路割合更新部２４２が、再送パケットを効率良く送受できるように、再送経路割合を定期的に更新する。これにより、実施例１に係る通信システム１は、ネットワークのトラフィック量に変動があっても、効率良く再送パケットを送受できるネットワークを選択することができる。
【実施例２】
【０１７７】
ところで、本願の開示する通信システム等は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例２では、本願に開示する通信システム等の他の実施例について説明する。
【０１７８】
［再送経路割合の更新処理］
上記実施例１では、メインネットワーク１０とサブネットワーク２０との再送要求平均回数を比較して、再送経路割合を加減する例を示した。しかし、メインネットワーク１０又はサブネットワーク２０のいずれかの再送経路割合が「０％」である場合、かかるネットワークの再送要求平均回数は「０」になる。すなわち、一方の再送経路割合が「０％」である場合、一方のネットワークだけを用いて、再送パケットの送受を行うことになる。このため、再送要求平均回数を比較しても、再送パケットを効率良く送受できるネットワークを判別することができない。そこで、デコーダ２００は、一方の再送要求平均回数が「０」である場合、他方の再送要求平均回数が所定の閾値以上になった場合に、一方の再送経路割合を増やすとともに、他方の再送経路割合を減らすようにしてもよい。
【０１７９】
例を挙げて説明する。例えば、メインネットワーク１０の再送経路割合が「１００％」であり、サブネットワーク２０の再送経路割合が「０％」であるものとする。このようなケースでは、エンコーダ１００及びデコーダ２００は、常にメインネットワーク１０を用いて再送パケットの送受を行う。このため、サブネットワーク２０の再送要求平均回数は「０」になる。かかる場合、デコーダ２００は、メインネットワーク１０の再送要求平均回数が所定の閾値以上になった場合に、メインネットワーク１０の再送経路割合を減らすとともに、サブネットワーク２０の再送経路割合を増やすようにしてもよい。例えば、所定の閾値が「５」であり、メインネットワーク１０の再送要求平均回数が「５」である場合、デコーダ２００は、メインネットワーク１０の再送経路割合に移行割合Ｃを減算するとともに、サブネットワーク２０の再送経路割合に移行割合Ｃを加算する。また、例えば、所定の閾値が「５」であり、メインネットワーク１０の再送要求平均回数が「４」である場合、デコーダ２００は、メインネットワーク１０及びサブネットワーク２０の再送経路割合を更新せずに、「１００％」と「０％」のままとする。
【０１８０】
［再送経路割合の更新処理］
また、上記実施例１では、パケット毎に再送要求送信回数を蓄積する例を示した。しかし、デコーダ２００は、再送要求送信回数の総数と、再送パケットの総数とを蓄積してもよい。かかる場合、デコーダ２００は、再送要求送信回数の総数を、再送パケットの総数によって除算することにより、再送要求平均回数を算出する。
【０１８１】
［再送経路選択］
また、上記実施例１では、再送パケットの送受に用いる通信経路をデコーダ２００が選択する例を示した。しかし、デコーダ２００の代わりにエンコーダ１００が再送パケットの送受に用いる通信経路を選択してもよい。かかる場合、エンコーダ１００は、上述したデコーダ２００と同様に、再送要求送信回数を蓄積する。そして、エンコーダ１００は、メインネットワーク１０又はサブネットワーク２０からＡＰＰパケット（再送要求）を受信した場合に、再送パケットを送信する通信経路を選択する。
【０１８２】
［装置コンフィグ情報］
また、上記実施例１では、装置コンフィグ情報１２２と装置コンフィグ情報２２２とが同情の情報を保持する例を示した。しかし、装置コンフィグ情報１２２と装置コンフィグ情報２２２とは、同様の情報を保持しなくてもよい。例えば、装置コンフィグ情報１２２は、再送要求割合更新周期や、移行割合などを保持しなくてもよい。
【０１８３】
［プログラム］
上記実施例１で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１０を用いて、上記の実施例１におけるエンコーダ１００と同様の機能を有するエンコードプログラムを実行するコンピュータの一例を説明する。また、図１１を用いて、上記の実施例１におけるデコーダ２００と同様の機能を有するデコードプログラムを実行するコンピュータの一例を説明する。
【０１８４】
図１０は、エンコードプログラムを実行するコンピュータを示す図である。図１０に示すように、コンピュータ１０００は、ＲＡＭ（Random  Access  Memory）１０１０と、キャッシュ１０２０と、ＨＤＤ１０３０と、ＲＯＭ（Read  Only  Memory）１０４０と、ＣＰＵ（Central  Processing  Unit）１０５０とを有する。ＲＡＭ１０１０、キャッシュ１０２０、ＨＤＤ１０３０、ＲＯＭ１０４０、ＣＰＵ１０５０は、バス１０６０によって接続されている。
【０１８５】
ＲＯＭ１０４０には、上記の実施例１におけるエンコーダ１００と同様の機能を発揮するエンコードプログラムが予め記憶されている。具体的には、ＲＯＭ１０４０には、符号化プログラム１０４１と、ＡＲＱプログラム１０４２と、メイン送受信プログラム１０４３と、サブ送受信プログラム１０４４とが記憶されている。
【０１８６】
そして、ＣＰＵ１０５０は、これらの符号化プログラム１０４１と、ＡＲＱプログラム１０４２と、メイン送受信プログラム１０４３と、サブ送受信プログラム１０４４を読み出して実行する。これにより、図１０に示すように、符号化プログラム１０４１は、符号化プロセス１０５１になり、ＡＲＱプログラム１０４２は、ＡＲＱプロセス１０５２になり、メイン送受信プログラム１０４３は、メイン送受信プロセス１０５３になり、サブ送受信プログラム１０４４は、サブ送受信プロセス１０５４になる。
【０１８７】
なお、符号化プロセス１０５１は、図３に示した符号化部１３０に対応し、ＡＲＱプロセス１０５２は、図３に示したＡＲＱ処理部１４０に対応し、メイン送受信プロセス１０５３は、図３に示したメイン送受信部１５０ａに対応し、サブ送受信プロセス１０５４は、図３に示したサブ送受信部１５０ｂに対応する。
【０１８８】
また、ＨＤＤ１０３０には、図１０に示すように、装置コンフィグデータ１０３１が設けられる。かかる装置コンフィグデータ１０３１は、図３に示した装置コンフィグ情報１２２に対応する。
【０１８９】
続いて、デコードプログラムについて説明する。図１１は、デコードプログラムを実行するコンピュータを示す図である。図１１に示すように、コンピュータ２０００は、ＲＡＭ２０１０と、キャッシュ２０２０と、ＨＤＤ２０３０と、ＲＯＭ２０４０と、ＣＰＵ２０５０とを有する。ＲＡＭ２０１０、キャッシュ２０２０、ＨＤＤ２０３０、ＲＯＭ２０４０、ＣＰＵ２０５０は、バス２０６０によって接続されている。
【０１９０】
ＲＯＭ２０４０には、上記の実施例１におけるデコーダ２００と同様の機能を発揮するデコードプログラムが予め記憶されている。具体的には、ＲＯＭ２０４０には、復号化プログラム２０４１と、ＡＲＱプログラム２０４２と、メイン送受信プログラム２０４３と、サブ送受信プログラム２０４４とが記憶されている。
【０１９１】
そして、ＣＰＵ２０５０は、これらの復号化プログラム２０４１と、ＡＲＱプログラム２０４２と、メイン送受信プログラム２０４３と、サブ送受信プログラム２０４４を読み出して実行する。これにより、図１１に示すように、復号化プログラム２０４１は、復号化プロセス２０５１になり、ＡＲＱプログラム２０４２は、ＡＲＱプロセス２０５２になり、メイン送受信プログラム２０４３は、メイン送受信プロセス２０５３になり、サブ送受信プログラム２０４４は、サブ送受信プロセス２０５４になる。
【０１９２】
なお、復号化プロセス２０５１は、図５に示した復号化部２３０に対応し、ＡＲＱプロセス２０５２は、図５に示したＡＲＱ処理部２４０に対応し、メイン送受信プロセス２０５３は、図５に示したメイン送受信部２５０ａに対応し、サブ送受信プロセス２０５４は、図５に示したサブ送受信部２５０ｂに対応する。
【０１９３】
また、ＨＤＤ２０３０には、図１１に示すように、装置コンフィグデータ２０３１が設けられる。かかる装置コンフィグデータ２０３１は、図５に示した装置コンフィグ情報２２２に対応する。
【０１９４】
なお、上記した各プログラム１０４１〜１０４４及び２０４１〜２０４４については、必ずしもＲＯＭ１０４０やＲＯＭ２０４０に記憶させなくてもよい。例えば、コンピュータ１０００又は２０００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラム１０４１〜１０４４及び２０４１〜２０４４を記憶させてもよい。または、コンピュータ１０００又は２０００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」にプログラム１０４１〜１０４４及び２０４１〜２０４４等を記憶させてもよい。または、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１０００又は２０００に接続される「他のコンピュータ（またはサーバ）」にプログラム１０４１〜１０４４及び２０４１〜２０４４を記憶させてもよい。そして、コンピュータ１０００又は２０００は、上述したフレキシブルディスク等から各プログラムを読み出して実行するようにしてもよい。
【０１９５】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１９６】
（付記１）エンコーダからデコーダに対してストリーミング配信を行う通信システムであって、
前記デコーダは、
前記ストリーミング配信におけるパケットにエラーが発生した場合に、前記エンコーダと前記デコーダとを接続する第一の通信経路又は第二の通信経路を介してパケットの再送要求が送信された回数に基づいて通信経路ごとに割り当てられた割合である再送経路割合にしたがって、再送パケットを送受する通信経路を選択する通信経路選択部と、
前記通信経路選択部によって選択された第一の通信経路又は第二の通信経路のいずれかを介して、エラーが発生したパケットの再送要求を前記エンコーダへ送信する再送要求送信部とを備え、
前記エンコーダは、
前記再送要求送信部によって第一の通信経路又は第二の通信経路を介して送信された再送要求を受信する再送要求受信部と、
前記再送要求受信部によって再送要求が受信された場合に、該再送要求が流通した第一の通信経路又は第二の通信経路のいずれかを介して、前記デコーダに再送パケットを送信する再送パケット送信部と
を備えたことを特徴とする通信システム。
【０１９７】
（付記２）前記デコーダは、
前記再送要求送信部によって再送要求が送信された回数を用いて、同一のパケットに対する再送要求の送信回数の平均値である再送要求平均回数を通信経路ごとに算出し、算出した再送要求平均回数に基づいて、前記再送経路割合を定期的に更新する再送経路割合更新部をさらに備えたことを特徴とする付記１に記載の通信システム。
【０１９８】
（付記３）前記再送経路割合更新部は、第一の通信経路における再送要求平均回数が、第二の通信経路における再送要求平均回数以下である場合に、前記第一の通信経路における再送経路割合を増やすとともに、前記第二の通信経路における再送経路割合を減らすことを特徴とする付記２に記載の通信システム。
【０１９９】
（付記４）前記再送経路割合更新部は、第一の通信経路における再送要求平均回数が、第二の通信経路における再送要求平均回数よりも大きい場合に、前記第一の通信経路における再送経路割合を減らすとともに、前記第二の通信経路における再送経路割合を増やすことを特徴とする付記２又は３に記載の通信システム。
【０２００】
（付記５）前記通信経路選択部は、前記エンコーダによって算出される往復遅延時間に基づいて前記ストリーミング配信におけるパケットにエラーが発生したか否かを判定することを特徴とする付記１〜４のいずれか一つに記載の通信システム。
【０２０１】
（付記６）エンコーダからストリーミング配信を行われるデコーダであって、
前記ストリーミング配信におけるパケットにエラーが発生した場合に、前記エンコーダと当該のデコーダとを接続する第一の通信経路又は第二の通信経路を介してパケットの再送要求が送信された回数に基づいて通信経路ごとに割り当てられた割合である再送経路割合にしたがって、再送パケットを送受する通信経路を選択する通信経路選択部と、
前記通信経路選択部によって選択された第一の通信経路又は第二の通信経路のいずれかを介して、エラーが発生したパケットの再送要求を前記エンコーダへ送信する再送要求送信部と
を備えたことを特徴とするデコーダ。
【０２０２】
（付記７）前記再送要求送信部によって再送要求が送信された回数を用いて、同一のパケットに対する再送要求の送信回数の平均値である再送要求平均回数を通信経路ごとに算出し、第一の通信経路における再送要求平均回数が第二の通信経路における再送要求平均回数以下である場合に、前記第一の通信経路における再送経路割合を増やすとともに、前記第二の通信経路における再送経路割合を減らし、第一の通信経路における再送要求平均回数が第二の通信経路における再送要求平均回数よりも大きい場合に、前記第一の通信経路における再送経路割合を減らすとともに、前記第二の通信経路における再送経路割合を増やす再送経路割合更新部をさらに備えたことを特徴とする付記６に記載のデコーダ。
【０２０３】
（付記８）デコーダに対してストリーミング配信を行うエンコーダであって、
前記デコーダから、当該のエンコーダと前記デコーダとを接続する第一の通信経路又は第二の通信経路のいずれかを介して再送要求を受信する再送要求受信部と、
前記再送要求受信部によって再送要求が受信された場合に、該再送要求が流通した第一の通信経路又は第二の通信経路のいずれかを介して、前記デコーダに再送パケットを送信する再送パケット送信部と
を備えたことを特徴とするエンコーダ。
【０２０４】
（付記９）エンコーダからデコーダに対してストリーミング配信を行う通信方法であって、
前記デコーダが、
前記ストリーミング配信におけるパケットにエラーが発生した場合に、前記エンコーダと前記デコーダとを接続する第一の通信経路又は第二の通信経路を介してパケットの再送要求が送信された回数に基づいて通信経路ごとに割り当てられた割合である再送経路割合にしたがって、再送パケットを送受する通信経路を選択する通信経路選択ステップと、
前記通信経路選択ステップによって選択された第一の通信経路又は第二の通信経路のいずれかを介して、エラーが発生したパケットの再送要求を前記エンコーダへ送信する再送要求送信ステップとを含み、
前記エンコーダが、
前記再送要求送信ステップによって第一の通信経路又は第二の通信経路を介して送信された再送要求を受信する再送要求受信ステップと、
前記再送要求受信ステップによって再送要求が受信された場合に、該再送要求が流通した第一の通信経路又は第二の通信経路のいずれかを介して、前記デコーダに再送パケットを送信する再送パケット送信ステップと
を含んだことを特徴とする通信方法。
【０２０５】
（付記１０）前記再送要求送信ステップによって再送要求が送信された回数を用いて、同一のパケットに対する再送要求の送信回数の平均値である再送要求平均回数を通信経路ごとに算出し、第一の通信経路における再送要求平均回数が第二の通信経路における再送要求平均回数以下である場合に、前記第一の通信経路における再送経路割合を増やすとともに、前記第二の通信経路における再送経路割合を減らし、第一の通信経路における再送要求平均回数が第二の通信経路における再送要求平均回数よりも大きい場合に、前記第一の通信経路における再送経路割合を減らすとともに、前記第二の通信経路における再送経路割合を増やす再送経路割合更新ステップをさらに含んだことを特徴とする付記９に記載の通信方法。
【符号の説明】
【０２０６】
１、９              通信システム
１０                メインネットワーク
１１、９２          カメラ
１２、２２、          制御端末
２０                サブネットワーク
２１、９５          モニタ
９０                ＩＰネットワーク
９１                エンコーダ
９３、９６          制御端末
９４                デコーダ
１００              エンコーダ
１１０ａ、１１０ｂ  Ｉ／Ｆ
１２１              送信バッファ
１２２、２２２      装置コンフィグ情報
１３０              符号化部
１４０、２４０      ＡＲＱ処理部
１５０ａ、２５０ａ  メイン送受信部
１５０ｂ、２５０ｂ  サブ送受信部
１５１ａ、２５１ａ  メイン受信部
１５１ｂ、２５１ｂ  サブ受信部
１５２ａ、２５２ａ  メイン送信部
１５２ｂ、２５２ｂ  サブ送信部
２００              デコーダ
２１０ａ、２１０ｂ  Ｉ／Ｆ
２２１              受信バッファ
２３０              復号化部
２４１              通信経路選択部
２４２              再送経路割合更新部
１０００、２０００  コンピュータ
１０１０、２０１０  ＲＡＭ
１０２０、２０２０  キャッシュ
１０３０、２０３０  ＨＤＤ
１０３１、２０３１  装置コンフィグデータ
１０４０、２０４０  ＲＯＭ
１０４１            符号化プログラム
１０４２、２０４２  ＡＲＱプログラム
１０４３、２０４３  メイン送受信プログラム
１０４４、２０４４  サブ送受信プログラム
１０５０、２０５０  ＣＰＵ
１０５１            符号化プロセス
１０５２、２０５２  ＡＲＱプロセス
１０５３、２０５３  メイン送受信プロセス
１０５４、２０５４  サブ送受信プロセス
１０６０、２０６０  バス
２０４１            復号化プログラム
２０５１            復号化プロセス
【図１】
2010239319.tif 000003
【図２−１】
2010239319.tif 000004
【図２−２】
2010239319.tif 000005
【図３】
2010239319.tif 000006
【図４】
2010239319.tif 000007
【図５】
2010239319.tif 000008
【図６−１】
2010239319.tif 000009
【図６−２】
2010239319.tif 000010
【図７】
2010239319.tif 000011
【図８】
2010239319.tif 000012
【図９】
2010239319.tif 000013
【図１０】
2010239319.tif 000014
【図１１】
2010239319.tif 000015
【図１２】
2010239319.tif 000016
【図１３】
2010239319.tif 000017
【図１４】
2010239319.tif 000018