(57)【要約】【課題】  発生するイベントデータによっては、イベントデータのロスを検知するまでに時間がかかってしまう場合があった。【解決手段】  所定の間隔で送信される定期データとイベントの発生に応じて送信されるイベントデータを送信する送信装置１００の情報生成部１０４は、送信されたイベントデータを受信装置が特定するための特定情報を生成し（Ｓ２０２）、情報記録部１０５は、生成された特定情報を定期データに含める（Ｓ２０３）。【選択図】  図１
2011003993.tif 000002
【特許請求の範囲】
【請求項１】
所定の間隔で送信される定期データと、イベントの発生に応じて送信されるイベントデータを受信装置に対して送信する送信装置であって、
前記送信されたイベントデータを前記受信装置が特定するための特定情報を生成する特定情報生成手段と、
前記生成された特定情報を前記定期データに含める制御手段と
を有することを特徴とする送信装置。
【請求項２】
前記制御手段は、前記送信された第１のイベントデータを前記受信装置が特定するための特定情報を、前記第１のイベントデータの次の第２のイベントデータの送信までに送信される定期データに含める
ことを特徴とする請求項１記載の送信装置。
【請求項３】
複数のイベントデータの組み合わせに基づいて、前記複数のイベントデータ中のエラーを前記受信装置が訂正するための冗長データを生成する冗長データ生成手段を有し、
前記特定情報生成手段は、前記冗長データを生成するために組み合わせた前記複数のイベントデータが、前記組み合わせたイベントデータであることを示す特定情報を生成する
ことを特徴とする請求項１記載の送信装置。
【請求項４】
前記冗長データ生成手段は、１つのイベントに対応する複数のイベントデータの組み合わせに基づいて、冗長データを生成する
ことを特徴とする請求項３記載の送信装置。
【請求項５】
前記受信装置から、再送要求を受信する受信手段と、
前記同じ組み合わせのイベントデータの再送要求が所定数以上、受信されたことに応じて、該再送要求に対応するイベントデータを再送する再送手段と
を有することを特徴とする請求項４記載の送信装置。
【請求項６】
第１の種類のイベントの発生に応じて第１の種類のイベントデータが送信され、第２の種類のイベントの発生に応じて第２の種類のイベントデータが送信される場合、前記特定情報生成手段は、前記第１の種類のイベントデータを前記受信装置が特定可能な第１の特定情報と、前記第２の種類のイベントデータを前記受信装置が特定可能な第２の特定情報を生成し、
前記制御手段は、前記第１、第２のイベントデータの送信後の定期データに、前記生成された前記第１、第２の特定情報を含める
ことを特徴とする請求項１記載の送信装置。
【請求項７】
前記受信装置から定期データの再送要求を受信する受信手段と、
前記再送要求された定期データに対応するイベントデータを特定する特定手段と、
前記再送要求された定期データと共に、前記特定手段によって特定されたイベントデータを、前記受信装置に再送する再送手段と
を有することを特徴とする請求項１記載の送信装置。
【請求項８】
送信装置によって、所定の間隔で送信される定期データと、イベントの発生に応じて送信されるイベントデータを受信する受信装置であって、
前記受信した定期データに含まれる特定情報に基づいて、前記送信装置によって送信されたイベントデータを特定する特定手段と、
前記特定されたイベントデータを受信したか否かを判定する判定手段と、
前記判定手段により受信していないと判定されたイベントデータの再送要求を前記送信装置に対して送信する送信手段と
を有することを特徴とする受信装置。
【請求項９】
前記判定手段は、受信していないと判定した第１のイベントデータの特定情報を含む定期データの受信から所定時間内に第２のイベントデータを受信したか否かを判定し、
前記送信手段は、前記判定手段により前記第２のイベントデータを受信していないと判定されると前記第１のイベントデータの再送要求を送信する
ことを特徴とする請求項８記載の受信装置。
【請求項１０】
前記送信装置によって送信された冗長データを受信する受信手段と、
前記判定手段によって受信していないと判定されたイベントデータを、当該イベントデータに対応する冗長データを用いてエラー訂正する訂正手段を有し、
前記特定情報は、当該特定情報に基づいて特定されるイベントデータが冗長データを生成するために用いられたか否かを示す情報を含み、
前記判定手段は、受信していないと判定したイベントデータが冗長データを生成するために用いられたか否かを前記特定情報に基づいて判定し、
前記送信手段は、前記判定手段により冗長データを生成するために用いられていないと判定されたイベントデータの再送要求を送信する
ことを特徴とする請求項８記載の受信装置。
【請求項１１】
前記送信手段は、前記判定手段により、前記冗長データを生成するために用いられた複数のイベントデータのうち所定数以上、受信していないと判定された場合、前記受信していないと判定されたイベントデータの再送要求を送信する
ことを特徴とする請求項１０記載の受信装置。
【請求項１２】
前記受信した定期データに含まれる特定情報に基づいて、複数のイベントデータが特定された場合、前記判定手段は、前記複数のイベントデータのそれぞれを受信したか否かを判定する
ことを特徴とする請求項８記載の受信装置。
【請求項１３】
所定の間隔で送信される定期データと、イベントの発生に応じて送信されるイベントデータを受信装置に対して送信する送信装置が行う送信方法であって、
前記送信されたイベントデータを前記受信装置が特定するための特定情報を生成する特定情報生成工程と、
前記生成された特定情報を前記定期データに含める制御工程と
を有することを特徴とする送信方法。
【請求項１４】
所定の間隔で送信される定期データと、イベントの発生に応じて送信されるイベントデータを受信装置に対して送信するコンピュータに、
前記送信されたイベントデータを前記受信装置が特定するための特定情報を生成する特定情報生成手順と、
前記生成された特定情報を前記定期データに含める制御手順と
を実行させることを特徴とするプログラム。
【請求項１５】
送信装置によって、所定の間隔で送信される定期データと、イベントの発生に応じて送信されるイベントデータを受信する受信装置が行う制御方法であって、
前記受信した定期データに含まれる特定情報に基づいて、当該定期データの前に送信されたイベントデータを特定する特定工程と、
前記特定されたイベントデータを受信したか否かを判定する判定工程と、
前記判定工程により受信していないと判定されたイベントデータの再送要求を前記送信装置に対して送信する送信工程と
を有することを特徴とする制御方法。
【請求項１６】
送信装置によって、所定の間隔で送信される定期データと、イベントの発生に応じて送信されるイベントデータを受信するコンピュータに、
前記受信した定期データに含まれる特定情報に基づいて、当該定期データの前に送信されたイベントデータを特定する特定手順と、
前記特定されたイベントデータを受信したか否かを判定する判定手順と、
前記判定手順により受信していないと判定されたイベントデータの再送要求を前記送信装置に対して送信する送信手順と
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、定期的に送信されるデータとイベントの発生に応じて送信されるデータの送信方法に関する。
【背景技術】
【０００２】
定期的に連続して送信される定期パケットのパケットロスの判定方法として、パケットに付けられたシーケンス番号を確認する方法が知られている。受信装置は、シーケンス番号の抜けを見つけることにより、パケットロスを検知することができる。
【０００３】
一方、イベントの発生に応じて送信されるイベントパケットのパケットロスを判定するための方法が、特許文献１に開示されている。特許文献１において、送信装置は不定期に送信されるテロップに関するパケット群の先頭パケットと最後尾パケットにそれぞれ異なるマーカービットを付加する。受信装置は、先頭パケットの受信から所定時間内に最後尾パケットを受信しなかった場合、最後尾パケットがロスしたと判定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３２８１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、イベントデータによっては、イベントデータのロスを検知するまでに時間がかかってしまう場合があった。
【０００６】
このような場合の例として、イベントデータのパケット群に属するパケット数が変動する場合が挙げられる。イベントデータのパケット群に属するパケット数が変動すると、先頭パケットを受信してから最後尾パケットを受信するまでの実際の時間と、予測時間が異なってしまう。特に、パケット群のパケット数が、これまでのイベントデータのパケット群よりも少なくなると、先頭パケットを受信してから最後尾パケットを受信するまでの予測時間が、実際の時間間隔よりも長くなる。このため、予測時間が経過するまで待つと、最後尾パケットのロスの検知までに時間がかかってしまうことになる。従って、イベントによってイベントデータのパケット数が異なる場合、イベントデータのロスを検知するまでに時間がかかってしまう場合があった。
【０００７】
また、イベントデータのパケットが１つしかない場合は、先頭パケットと最後尾パケットに異なるマーカービットを付加できないので、例えば、次のイベントデータを受信するまで、イベントデータのパケットロスを検知することができなかった。
【０００８】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、イベントの発生に応じて送信されるイベントデータのロスをより早く検知できるようにすることである。
【課題を解決するための手段】
【０００９】
上記の問題点を解決するために、本発明の送信装置は、例えば、以下の構成を有する。すなわち、所定の間隔で送信される定期データと、イベントの発生に応じて送信されるイベントデータを受信装置に対して送信する送信装置であって、前記送信されたイベントデータを前記受信装置が特定するための特定情報を生成する特定情報生成手段と、前記生成された特定情報を前記定期データに含める制御手段とを有する。
【発明の効果】
【００１０】
本発明によれば、イベントの発生に応じて送信されるイベントデータのロスをより早く検知できるようになる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１における送信装置と受信装置の機能構成例を示すブロック図である。
【図２】実施形態１のパケット送信処理を説明するためのフローチャートである。
【図３】実施形態１の受信装置によるイベントデータのロスの検知処理を説明するためのフローチャートである。
【図４】イベントデータの特定情報の一例を示す図である。
【図５】実施形態２において送信されるパケットを説明するための図である。
【図６】実施形態２における、送信装置と受信装置の処理を説明するための図である。
【図７】実施形態２の受信装置の処理を説明するためのフローチャートである。
【図８】実施形態１における、定期データとイベントデータの送信タイミングの一例を示す図である。
【図９】実施形態３における、定期データとイベントデータの送信タイミングの一例を示す図である。
【図１０】実施形態３における特定情報の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１３】
＜実施形態１＞
以下、本発明の実施形態について、図面を参照しながら説明する。
【００１４】
本実施形態では、動画像ファイルをＲＴＰ（Ａ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ａｐｐｌｉｃａｔｉｏｎｓ）で送信する装置に適用した好適な実施形態について詳細に説明する。
【００１５】
図１は、本実施形態の送信装置１００と受信装置１１０の機能構成例を示すブロック図である。
送信装置１００は、データ生成部１０３、情報生成部１０４、情報記録部１０５、送受信部１０６を備えている。また、本形態の送信装置１００は、検知部１０１、撮影部１０２と別の装置として構成する例を示しているが、送信装置１００がこれらを含むように構成されていても良い。すなわち、送信装置１００は、例えば、ネットワークカメラなどの撮像装置で実現しても良いし、撮像装置によって撮像された映像データを配信する１台又は複数台のコンピュータで実現しても良い。
【００１６】
検知部１０１は、映像データやユーザからの入力に基づいてイベントを検知する。検知部１０１は、例えば、映像データからの人物検知や、動き検知結果に基づいてイベントを検知する。また、検知部１０１は、例えば、音や温度変化の検知結果に基づいてイベントを検知する。また、検知部１０１は、例えば、受信装置１１０のユーザや、送信装置１００に接続されるほかの受信装置のユーザが、撮影部１０２のパラメータを変更する指示を行ったことに基づいてイベントを検知する。ユーザの操作により変更されるパラメータとして、撮像エリアに関する操作（パン、チルト、ズーム操作）や、映像データの解像度の変更操作、撮影部１０２の制御権の取得に係る操作などがある。ただし、これらに限らない。検知部１０１は、検知したイベントを情報生成部１０４に通知する。また、撮影部１０２は、撮影によって得られた映像データをデータ生成部１０３に送信する。
【００１７】
データ生成部１０３は、撮影部１０２から得られた映像データをネットワークを介して受信装置１１０に送信するためにパケット化し、得られた映像パケットを情報記録部１０５に渡す。映像パケットは、所定の間隔で送信される定期データである。
【００１８】
情報生成部１０４は、検知部１０１から通知されたイベントの情報を受信装置１１０に通知するためにパケット化し、得られたイベントパケットを情報記録部１０５に渡す。イベントパケットは、イベントの発生に応じて送信されるイベントデータである。本形態のイベントは、不定期に発生する。また、情報生成部１０４は、イベントパケットを特定するための特定情報を生成し、情報記録部１０５に渡す。受信装置１１０は、特定情報に基づいて、送信装置１００が送信したイベントパケットを特定できる。即ち、情報生成部１０４は、送信されたイベントデータ（イベントパケット）を受信装置１１０が特定するための特定情報を生成する。特定情報の詳細は、後述する。
【００１９】
情報記録部１０５は、情報生成部１０４から渡されたイベントパケットと、データ生成部１０３から渡された映像パケットに基づいて、各パケットの送信順序を決定する。そして、情報記録部１０５は、決定した送信順序に基づいて、イベントパケットの送信後に送信される映像パケットのヘッダに、情報生成部１０４から渡された特定情報を付加する。即ち、情報記録部１０５は、映像パケット（定期データ）に、生成された特定情報を含める。情報記録部１０５は、決定した送信順序に基づいて、イベントパケットと、特定情報を含む映像パケットを送受信部１０６に渡す。
【００２０】
図４に、映像パケット（定期データ）にイベントパケット（イベントデータ）を特定するための特定情報を含める場合の例を示す。尚、本形態では、ＲＴＰ形式の映像パケットのヘッダ（ＲＴＰヘッダ）に、特定情報を含める場合の例について説明する。図４に示すように、特定情報４０３は、ＲＴＰヘッダの拡張領域４０２に記録される。情報記録部１０５は、ＲＴＰヘッダの拡張領域を有効にするために、ＲＴＰヘッダの拡張ビット４０１をセットする。このようにすることにより、ＲＴＰヘッダの拡張領域に特定情報を記録することができるようになる。図４に示すように、本形態の情報記録部１０５は、イベントパケットの特定情報として、イベントパケットのシーケンスナンバーと、イベントの種類に応じた識別情報（ｓｔｒｅａｍ  ＩＤ）を記録する。Ｓｔｒｅａｍ  ＩＤを記録することにより、複数種類のイベントのイベントパケットが同じ期間に送信される場合にも、イベントパケットを特定することができる。ただし、シーケンスナンバーのみでイベントパケットを特定できる場合は、ｓｔｒｅａｍ  ＩＤを記録しなくても良い。また、本形態では特定情報としてイベントパケットのシーケンスナンバーを用いる例を説明しているが、例えば、イベントパケットが送信されたタイムスタンプ情報などを用いても良い。
【００２１】
送受信部１０６は、情報記録部１０５から渡されたイベントパケットと映像パケットをネットワークを介して受信装置１１０に送信する。即ち、送信装置１００は、所定の間隔で送信される映像パケット（定期データ）と、イベントの発生に応じて送信されるイベントパケット（イベントデータ）を受信装置１１０に対して送信する。
【００２２】
本形態の受信装置１１０は、送受信部１１１、解析部１１２、回復部１１３、表示部１１４を備えている。送受信部１１１は、送信装置１００によって送信された映像パケットとイベントパケットを受信し、それらを解析部１１２に渡す。
【００２３】
解析部１１２は、送受信部１１１で受信された映像パケットの特定情報を解析する。そして、解析部１１２は、特定情報の解析結果に基づいて、送信装置１００によって送信されたイベントパケットのうち、受信していないイベントパケットを特定する。尚、解析部１１２は、送信装置１００によって送信された映像パケットのうち受信していない映像パケットを、映像パケットのシーケンスナンバーに基づいて特定する。解析部１１２は、送信装置１００によって送信された映像パケットやイベントパケットのうち、受信していないパケットの情報を回復部１１３に渡す。
【００２４】
回復部１１３は、送信装置１００から送信されたにも関わらず、受信していないパケット（ロスパケット）を回復する。回復部１１３によるロスパケットの回復方法として、解析部１１２から渡された情報を含むロスパケットの再送要求パケットを生成し、送受信部１１１から送信装置１００に送信する方法がある。また、ロスパケットのほかの回復方法として、正常に受信された他のパケットと、ロスパケットを回復するために用いる冗長パケットを用いる方法がある。本形態では、再送要求することによってロスパケットを回復する場合について説明する。回復部１１３は、送受信部１１１によって受信されたパケットと、回復させたロスパケットを表示部１１４に渡す。そして表示部１１４は、回復部１１３から渡されたパケットに基づく映像を表示させる。
【００２５】
図２は、本形態の送信装置１００がイベントの検知に応じて行う、映像パケット（定期データ）とイベントパケット（イベントデータ）の送信処理の流れを示すフローチャートである。
【００２６】
ステップＳ２０１において、情報生成部１０４は、検知部１０１から通知されたイベントの情報を受け取る。情報生成部１０４がイベントの情報を受け取ると、ステップＳ２０２に進む。
【００２７】
ステップＳ２０２（特定情報生成手順）において、情報生成部１０４は、イベントの情報に基づいてイベントパケットを生成する。また、ステップＳ２０２において、情報生成部１０４は、生成したイベントパケットを受信装置１１０が特定するための特定情報を生成する。本形態では、特定情報としてイベントパケットのシーケンスナンバーを用いる例について説明する。情報生成部１０４が、イベントパケットと特定情報を情報記録部１０５に渡すと、ステップＳ２０３に進む。
【００２８】
ステップＳ２０３（制御手順）において、情報記録部１０５は、データ生成部１０３から渡された映像パケットに、情報生成部１０４から渡された特定情報を記録する。より詳細には、情報記録部１０５は、映像パケットとイベントパケットの送信順序を決定し、イベントパケットの後に送信される映像パケットに、該イベントパケットを特定するための特定情報を含める。即ち、ステップＳ２０３において、情報記録部１０５は、生成された特定情報を映像パケット（定期データ）に含める。
【００２９】
尚、本形態の情報記録部１０５は、あるイベントパケットの送信から、次のイベントパケットの送信までに送信される映像パケットのすべてに特定情報を含める。本形態で送信される映像パケットとイベントパケットの例を図８に示す。同図に示すように、情報記録部１０５は、イベントパケットＭ１を送信してから、次のイベントパケットＭ２を送信するまでに送信される映像パケットＶ１〜Ｖ６に、イベントパケットＭ１を特定するための特定情報を含める。また、情報記録部１０５は、イベントパケットＭ２を送信してから、イベントパケットＭ３を送信するまでに送信される映像パケットＶ７、Ｖ８に、イベントパケットＭ２を特定するための特定情報を含める。
【００３０】
即ち、情報記録部１０５は、送信されたイベントパケットＭ１（第１のイベントデータ）を受信装置１１０が特定するための特定情報を、次のイベントパケットＭ２（第２のイベントデータ）の送信までに送信される定期データ（映像パケットＶ１〜Ｖ６）に含める。
【００３１】
このようにすることで、イベントパケットと共に、その直後に送信される映像パケットがロスした場合であっても、より早く、イベントパケットのロスを検知することができる。ただし、この例に限らず、例えば、イベントパケットの次に送信される映像パケットにのみ、特定情報を含めるようにしても良い。また、イベントパケットの送信後に送信される所定数の映像パケットにのみ、特定情報を含めるようにしても良い。情報記録部１０５が、イベントパケットと、特定情報を含めた映像パケットを送受信部１０６に渡すとステップＳ２０４に進む。
【００３２】
ステップＳ２０４において、送受信部１０６は、イベントパケットと映像パケットを順次、受信装置１１０に対して送信する。
【００３３】
図３は、受信装置１１０によるパケットの受信処理の流れを示すフローチャートである。
ステップＳ３０１において、送受信部１１１は、送信装置１００によって送信されたパケットを受信する。即ち、受信装置１１０は、送信装置１００によって、所定の間隔で送信される映像パケット（定期データ）と、イベントの発生に応じて送信されるイベントパケット（イベントデータ）を受信する。送受信部１１１が映像パケットを受信すると、ステップＳ３０２に進む。
【００３４】
ステップＳ３０２において、解析部１１２は、ステップＳ３０１で受信した映像パケットに特定情報が含まれているか否かを判定する。特定情報は、送信装置１００が送信したイベントパケットを特定するための情報である。ステップＳ３０２において特定情報が含まれていると判定された場合はステップＳ３０３、特定情報が含まれていないと判定された場合はステップＳ３０４に進む。
【００３５】
ステップＳ３０３（特定手順）において、解析部１１２は、特定情報を解析し、ステップＳ３０１で受信された映像パケットの前に送信されたイベントパケットを特定する。本形態の特定情報には、映像パケットの前に送信されたイベントパケットのシーケンスナンバーが含まれている。解析部１１２は、送信されたイベントパケットとして、特定情報に含まれるシーケンスナンバーに対応するイベントパケットを特定する。即ち、ステップＳ３０３において、解析部１１２は、受信した映像パケット（定期データ）に含まれる特定情報に基づいて、送信装置１００によって送信されたイベントパケット（イベントデータ）を特定する。解析部１１２がイベントパケットのシーケンスナンバーを回復部１１３に渡すと、ステップＳ３０４に進む。
【００３６】
ステップＳ３０４（判定手順）において、回復部１１３は、解析部１１２から渡されたシーケンスナンバーに対応するイベントパケットを受信しているか否かを判定する。すなわち、回復部１１３は、ステップＳ３０３で得られたシーケンスナンバーに一致するシーケンスナンバーが、送受信部１１１によって受信されたイベントパケットのシーケンスナンバーの中に存在するか否かを判定する。即ち、ステップＳ３０４において、回復部１１３は、特定されたイベントパケット（イベントデータ）を受信したか否かを判定する。特定されたイベントパケットを受信していると判定された場合はステップＳ３０５に進み、特定されたイベントパケットを受信していないと判定された場合はステップＳ３０６に進む。
【００３７】
ステップＳ３０５において、回復部１１３は、ステップＳ３０１で受信した映像パケットが最後のパケットであるか否かを判定する。例えば、ユーザの操作によって、映像パケットの受信を終了する指示が入力された場合、回復部１１３は、ステップＳ３０１で受信したパケットが最後のパケットであると判定し、それを表示部１１４に渡し、処理を終了する。一方、ステップＳ３０１で受信した映像パケットが最後のパケットではないと判定されると、受信したパケットを表示部１１４に渡し、ステップＳ３０１に戻る。
【００３８】
ステップＳ３０６（送信手順）において、回復部１１３は、映像パケットに含まれる特定情報によって特定されるイベントパケットの再送要求を、送受信部１１１を介して送信装置１００に送信する。即ち、ステップＳ３０６において、回復部１１３は、ステップＳ３０４により受信していないと判定されたイベントパケット（イベントデータ）の再送要求を送信装置１００に対して送信する。
【００３９】
以上説明したように、送信装置１００の情報生成部１０４は、検知されたイベントに応じてイベントパケット（イベントデータ）を生成すると共にイベントパケットを特定するための特定情報を生成する。そして、情報記録部１０５は、情報生成部１０４によって生成された特定情報を、対応するイベントパケットの後に送信される映像パケット（定期データ）に含める。そして、送受信部１０６は、イベントパケットと、特定情報を含む映像パケットを受信装置１１０に送信する。
【００４０】
受信装置１１０の解析部１１２は、受信した映像パケットに含まれる特定情報によって特定されるイベントパケットが受信されたか否かを判定する。そして、回復部１１３は、解析部１１２によって受信されていないと判定されたイベントパケットの再送要求を送信装置１００に対して送信する。
【００４１】
このようにすることで、受信装置１１０が、イベントの発生に応じて送信されるイベントデータのロスをより早く検知できるようになる。尚、本実施形態の情報記録部１０５は、イベントパケット（イベントデータ）の後に送信される映像パケット（定期データ）に、イベントパケットの特定情報を含める例について説明したが、この例に限らない。例えば、特定情報を、イベントパケットの直前に送信される映像パケットに含めるようにしても良い。
【００４２】
また、本形態では、情報記録部１０５が、データ生成部１０３によって生成された映像パケットに、特定情報を含めるようにする例について説明した。しかし、撮影部１０２から得られた映像データと、検知部１０１によって検知されたイベントの情報に基づいて、特定情報を含む映像パケットを生成するようにしても良い。
【００４３】
また、本形態の回復部１１３は、映像パケット（定期データ）のロスを、シーケンスナンバーに基づいて検知する。そして、映像パケットのロスを検知すると、送信装置１００に対して再送要求を送信する。このとき、送信装置１００の送受信部１０６は、再送要求に対応する映像パケットを読み出すと共に、読み出した映像パケットに対応するイベントパケット（イベントデータ）を読み出す。そして、送受信部１０６は、読み出された映像パケットとイベントパケットを再送する。即ち、送信装置１００の送受信部１０６は、映像パケットの再送要求を受信する。そして、送受信部１０６は、再送要求された映像パケットに対応するイベントパケットを特定する。そして、再送要求された映像パケットと共に、特定されたイベントパケットを受信装置１１０に再送する。
【００４４】
このようにすることにより、受信装置１１０が、映像パケットの再送要求をして、再送された映像パケットの特定情報に対応するイベントパケットの再送要求をするよりも、早くイベントパケットを受信することができる。
【００４５】
また、本実施形態では、定期データの例として映像パケットを挙げているが、これに限らず、例えば、音声パケットなどのように定期的に送信されるパケットに適用することが可能である。すなわち、音声パケットに、イベントパケットの特定情報を含めるようにしても、受信装置１１０は、イベントパケットが送信されたか否かを判定することができる。
【００４６】
＜実施形態２＞
次に、ロスしたイベントパケット（イベントデータ）に応じて、回復方法を切り替える例について、実施形態１との差異を中心に説明する。
【００４７】
図５は、本実施形態において送信装置１００から受信装置１１０に送信される映像パケット（定期データ）とイベントパケット（イベントデータ）の例を示している。送信装置１００は、図５の上側に示すように、映像パケットを所定の間隔で受信装置１１０に対して送信する。そして、図５の下側に示すように、送信装置１００は、イベントの発生に応じて送信されるイベントパケットＭ１〜Ｍ２０を受信装置１１０に対して送信する。本形態では、イベントは、不定期に発生する。ここで、イベントパケットＭ１〜Ｍ１０は、１つのイベントに応じて送信されるイベントパケットである。また、イベントパケットＭ１１は、１つのイベントに応じて送信されるイベントパケットである。同様に、イベントパケットＭ１２は、１つのイベントに応じて送信されるイベントパケットであり、イベントパケットＭ１３〜Ｍ２０は、１つのイベントに応じて送信されるイベントパケットである。すなわち、本形態では、発生するイベントによって、生成されるイベントパケットの数が異なる。図５では、４つのイベントが発生し、イベントパケットＭ１〜Ｍ２０が送信される。
【００４８】
本形態の情報生成部１０４は、１つのイベントに対して複数のイベントパケットを生成する場合、複数のイベントパケットを用いてＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）パケットを生成する。ＦＥＣパケットは、複数のイベントパケットのうちの一部がエラーしても、そのエラーを受信装置１１０が回復できるようにするための冗長パケット（冗長データ）である。本形態の情報生成部１０４は、複数のイベントパケットを排他的論理和演算することによってＦＥＣパケットを生成し、それを冗長パケットとして用いる。従って、本形態の受信装置１１０は、１つのイベントに応じて送信される複数のイベントパケットのうちの１つがロスしても、それを回復することができる。
【００４９】
即ち、情報生成部１０４は、複数のイベントパケット（イベントデータ）の組み合わせに基づいて、複数のイベントデータ中のエラーを受信装置１１０が訂正するための冗長データを生成する。尚、冗長パケットの生成方法は、排他的論理和演算による方法に限らない。
【００５０】
図５の例において、送信装置１００は、イベントパケットＭ１〜Ｍ１０の１０個のイベントパケットを用いてＦＥＣパケットを生成し、イベントパケットＭ１０の次に送信する。また、送信装置１００は、イベントパケットＭ１３〜Ｍ２０の８個のイベントパケットを用いてＦＥＣパケットを生成し、イベントパケットＭ２０の次に送信する。尚、送信装置１００は、イベントパケットＭ１１と、Ｍ１２がロスしたときのためのＦＥＣパケットは送信しない。
【００５１】
図６は、本形態における送信装置１００と受信装置１１０の処理の例を示している。同図において、送信側（送信装置１００）は、イベントパケットＭ１〜Ｍ１０を受信側（受信装置１１０）に対して送信する（６０１）。上述のように、１０個のイベントパケットＭ１〜Ｍ１０は、１つのイベントに対して生成されたイベントパケットである。また、送信装置１００は、イベントパケットＭ１〜Ｍ１０の組み合わせに基づいて生成したＦＥＣパケットを映像パケットＭ１０の後に送信する。
【００５２】
図６の例において、受信装置１１０は、イベントパケットＭ１〜Ｍ１０のうち、イベントパケットＭ５を受信していない。この場合、受信装置１１０は、送信装置１００によって送信されたイベントパケットＭ５を受信できなかったことを、イベントパケットＭ５の後に送信された映像パケットの特定情報に基づいて検知する。しかし、受信装置１１０は、ロスしたイベントパケットＭ５を、イベントパケットＭ１０の後に送信されるＦＥＣパケットを用いて回復することができるので、送信装置１００に対して再送要求を行わない。
【００５３】
ロス（エラー）したイベントパケットに対応するＦＥＣパケットが存在するか否かを判定するための方法として、例えば、以下の方法がある。第１の方法として、イベントパケットのロスを検知してから所定時間内に次のイベントパケットを受信したか否かに基づいて判定する方法がある。つまり、受信装置１１０は、イベントパケットを短い間隔で連続して受信している場合は、それらが１つのイベントに対応するイベントパケットであるため、ＦＥＣパケットが送信されてくると判断する。
【００５４】
図６の例では、受信装置１１０の解析部１１２は、イベントパケットＭ５に対応する特定情報を含む映像パケットの受信から所定時間内に、イベントパケットＭ６を受信したか否かを判定する。そして、回復部１１３は、イベントパケットＭ６を受信した場合は、再送要求を送信しない。そして、回復部１１３は、受信していないと判定されたイベントパケットＭ５を、対応するＦＥＣパケット（冗長データ）を用いてエラー訂正する。このＦＥＣパケットは、イベントパケットＭ１０の後に受信される。
【００５５】
一方、図６に示すように、受信装置１１０は、イベントパケットＭ１１を受信していない。イベントパケットＭ１１は、１つのイベントに応じて１つだけ生成されたイベントパケットである。従って、受信装置１１０は、イベントパケットＭ１１に対応する特定情報を含む映像パケットの受信から所定時間内に、次のイベントパケットＭ１２を受信しない。そこで、回復部１１３は、イベントパケットＭ１１の再送要求を送信装置１００に対して送信する。
【００５６】
即ち、解析部１１２は、受信していないと判定したイベントパケットＭ１１（第１のイベントデータ）の特定情報を含む定期データの受信から所定時間内にイベントパケットＭ１２（第２のイベントデータ）を受信したか否かを判定する。そして、回復部１１３は、解析部１１２によってイベントパケットＭ１２を受信していないと判定されるとイベントパケットＭ１１の再送要求を送信する。
【００５７】
尚、本形態の回復部１１３は、ロスしたイベントパケットに対応する映像パケットの受信から所定時間内に、ＦＥＣパケットを受信した場合も、ロスしたイベントパケットに対応するＦＥＣパケットが存在すると判定する。
【００５８】
ロス（エラー）したイベントパケットに対応するＦＥＣパケットが存在するか否かを判定するための第２の方法として、以下の方法がある。すなわち、情報生成部１０４がＦＥＣパケット（冗長データ）を生成したときに、ＦＥＣパケットを生成したことを示す特定情報を生成する方法である。受信装置１１０は、特定情報を参照してイベントパケットのロスを検知すると共に、ロスしたイベントパケットがＦＥＣパケットを生成するために用いられたイベントパケットであるか否かを判定する。即ち、送信装置１００の情報生成部１０４は、ＦＥＣパケット（冗長データ）を生成するために組み合わせた複数のイベントパケット（イベントデータ）が、組み合わせたイベントパケットであることを示す特定情報を生成する。つまり、特定情報は、該特定情報に基づいて特定されるイベントパケットがＦＥＣパケットを生成するために用いられたか否かを示す情報を含む。
【００５９】
この場合、受信装置１１０の解析部１１２は、ロスしたイベントパケットが、ＦＥＣパケットを生成するために用いられたか否かを、特定情報に基づいて判定する。そして、ロスしたイベントパケットがＦＥＣパケットを生成するために用いられたと判定された場合、回復部１１３は、ロスしたイベントパケットの再送要求を行わない。一方、ロスしたイベントパケットがＦＥＣパケットを生成するために用いられていないと判定されると、ロスしたイベントパケットの再送要求を送信する。
【００６０】
即ち、解析部１１２は、受信していないと判定したイベントパケットがＦＥＣパケットを生成するために用いられたか否かを、特定情報に基づいて判定する。そして、回復部１１３は、解析部１１２によりＦＥＣパケットを生成するために用いられていないと判定されたイベントパケットの再送要求を送信する。このようにしても、受信装置１１０が受信しなかったイベントパケットに対応するＦＥＣパケットが存在するか否かを判定し、イベントパケットを回復するための処理を切り替えることができる。
【００６１】
また、本形態の受信装置１１０は、１つのイベントに対応する複数のイベントパケットのうちの１つがロスした場合は、そのロスパケットの再送要求を行わないが、２つ以上のイベントパケットがロスした場合は、ロスパケットの少なくとも一部を再送要求する。尚、本形態では、排他的論理和演算によってＦＥＣパケットを生成するが、より誤り訂正能力の高いＦＥＣパケットの生成方法を用いている場合は、２つのイベントパケットがロスしても、回復できる場合がある。即ち、回復部１１３は、ＦＥＣパケット（冗長データ）を生成するために用いられた複数のイベントパケット（イベントデータ）のうち所定数以上、受信していないと判定された場合、受信していないと判定されたイベントデータの再送要求を送信する。
【００６２】
尚、受信装置１１０が再送要求をするか否かを切り替える代わりに、送信装置１００が、受信した再送要求に応じて、再送するか否かを切り替えるようにしても良い。つまり、送信装置１００の情報生成部１０４は、複数のイベントパケットの組み合わせに基づいて、当該複数のイベントパケット中のエラーを訂正するためのＦＥＣパケットを生成している。従って、送受信部１０６は、ＦＥＣパケットの生成のために組み合わせられた複数のイベントパケットのうちの１つのイベントパケットの再送要求を受信しても、再送要求に応じたイベントパケットを再送しない。一方、同じ組み合わせのイベントパケットの再送要求を複数パケット分、受信した場合、ロスパケットをＦＥＣパケットで回復することができないので、再送要求に応じたイベントパケットのうち、少なくとも一部の再送を行う。尚、再送要求をするか否かを判定するための閾値は、ＦＥＣパケット（冗長データ）の生成方法に応じて異なる。
【００６３】
即ち、送受信部１０６は、受信装置１１０から、再送要求を受信する。そして、送受信部１０６は、同じ組み合わせのイベントパケット（イベントデータ）の再送要求が所定数以上、受信されたことに応じて、該再送要求に対応するイベントパケットを再送する。
【００６４】
このようにすれば、受信装置１１０が、ロスしたイベントパケットに応じて、回復方法を切り替える機能を持っていなくても、本実施形態のような処理を行うことができる。
【００６５】
次に、本実施形態における受信装置１１０の処理の流れについて、図７を用いて説明する。図７のステップＳ７０１において、送受信部１１１は、映像パケット（定期データ）を受信する。そして、解析部１１２は、送受信部１１１によって受信された映像パケットに特定情報が含まれているか否かを判定する。つまり、図７のステップＳ７０１は、図３のステップＳ３０１とＳ３０２の処理を含んでいる。ステップＳ７０１で特定情報が含まれていると判定された場合はステップＳ７０２に進む。
【００６６】
ステップＳ７０２において、解析部１１２は、特定情報を解析することにより、直前に送信されたイベントパケットを特定し、ステップＳ７０３に進む。
【００６７】
ステップＳ７０３において、解析部１１２は、ステップＳ７０２で特定されたイベントパケットがロスしたか否かを判定する。本形態では、特定されたイベントパケットがロスしたとして、ステップＳ７０４に進む。
【００６８】
ステップＳ７０４において、回復部１１３は、イベントパケットを連続受信しているか否かを判定する。即ち、回復部１１３は、第１のイベントパケットの特定情報を含む映像パケットの受信から所定時間内に第２のイベントパケットを受信したか否かを判定する。所定時間内に第２のイベントパケットを受信したと判定された場合はステップＳ７０１に戻り、受信しなかったと判定された場合はステップＳ７０５に進む。
【００６９】
ステップＳ７０５において、回復部１１３は、次のイベントパケットの待機中であるか否かを判定する。つまり、回復部１１３は、ステップＳ７０４において、ロスしたイベントパケットの次のイベントパケットを受信していないと判定されても、次のイベントパケットを受信する予定がある（待機中である）か否かを判定する。そして、回復部１１３は、次のイベントパケットを受信する予定があると判定した場合は再送要求を行わず、ＦＥＣパケットによる回復を行う。
【００７０】
次のイベントパケットを受信する予定があるか否かの判定方法として、例えば、以下の方法がある。すなわち、特定情報に、ＦＥＣパケットを生成するために複数のイベントパケットを組み合わせたことを示す情報が含まれている場合、特定情報に基づいて、次のイベントパケットの待機中であるか否かを判定する。また、別の判定方法として、回復部１１３は、これまでに受信したイベントパケットの内容に基づいて、ロスしたイベントパケットが、１つのイベントに対応する複数のイベントパケットのうちの１つであるのか判定するようにしても良い。ステップＳ７０５で次のイベントパケットの待機中であると判定された場合は、ステップＳ７０７に進み、待機中でないと判定された場合はステップＳ７０６に進む。
【００７１】
ステップＳ７０６において、回復部１１３は、ロスしたイベントパケットの再送要求を、送信装置１００に対して送信する。また、ステップＳ７０７において、回復部１１３は、後で受信したＦＥＣパケットを用いて、ロスしたイベントパケットを回復する。ただし、上述のように、回復部１１３は、ＦＥＣパケットを生成するために組み合わせた複数のイベントパケットのうち、所定数以上のイベントパケットがロスした場合、ロスしたイベントパケットの再送要求を送信する。
【００７２】
以上説明したように、本形態の受信装置１１０の解析部１１２は、ロスしたイベントパケットが、ＦＥＣパケットを生成するために組み合わせられたイベントパケットのうちの１つであるか否かに応じて、ロスしたイベントパケットの回復方法を切り替える。すなわち、ロスしたイベントパケットが、ＦＥＣパケットを生成するために組み合わせられたイベントパケットのうちの１つである場合は、ロスしたイベントパケットの再送要求を行わず、ＦＥＣパケットにより回復させる。一方、ロスしたイベントパケットが、ＦＥＣパケットを生成するために用いられたイベントパケットでない場合は、ロスしたイベントパケットを再送させることにより回復させる。
【００７３】
このようにすることで、１つのイベントに対応する複数のイベントパケットのうちの一部のロスパケットを回復させるまでにかかる時間を、再送によって回復する場合よりも短くすることができる。
【００７４】
尚、本実施形態では、１つのイベントに対応する複数のイベントパケットを組み合わせてＦＥＣパケットを生成する場合の例について説明したが、この例に限らない。例えば、所定時間内に複数のイベントが発生した場合、複数のイベントに対応するイベントパケットを組み合わせてＦＥＣパケットを生成するようにしても良い。また、例えば、１つのイベントに対応するイベントパケットの数が所定数以上の場合は、イベントパケットを複数の組に分けて、それぞれの組でＦＥＣパケットを生成するようにしても良い。このようにすることにより、より早くロスパケットを回復させることができるようになる。
【００７５】
＜実施形態３＞
次に、複数の異なるイベントに対応するイベントパケットを同じ期間に送信する場合の例について、実施形態１との差異を中心に説明する。
【００７６】
図９は、１種類の映像パケット（定期データ）と２種類のイベントパケット（イベントデータ）が送信されている場合の例を示したものである。このような例として、送信装置１００による映像パケットの送信中に、撮影部１０２の撮影方向が変更され、さらに、同じタイミングで、検知部１０１が、撮影画像内に人物を検知した場合がある。このとき、送信装置１００は、撮影方向の変更を通知するためのイベントパケット（イベントデータ１）と、人物検知を通知するためのイベントパケット（イベントデータ２）を受信装置１１０に対して送信する。
【００７７】
図９において、イベントデータ１のイベントパケットＭ１−１の送信直後の映像パケットと、イベントデータ２のイベントパケットＭ２−１の送信直後の映像パケットは、共に映像パケットＶ１である。そこで、情報記録部１０５は、映像パケットＶ１に、イベントパケットＭ１−１とＭ２−１を、それぞれ特定するための特定情報を含める。
【００７８】
図１０は、本形態の情報記録部１０５によって記録される特定情報の例を示している。同図に示すように、特定情報には、ＩＰアドレス、ストリームＩＤ、シーケンスナンバーが含まれる。ストリームＩＤは、イベントデータの種類に対応している。例えば、図９のイベントデータ１とストリームＩＤ：Ａ１が対応し、イベントデータ２とストリームＩＤ：Ｂ１が対応する。受信装置１１０は、ストリームＩＤとシーケンスナンバーにより、送信装置１００から送信されたイベントパケットを特定することができる。
【００７９】
即ち、第１の種類のイベントの発生に応じて第１の種類のイベントデータ（イベントパケットＭ１−１）が送信され、第２の種類のイベントの発生に応じて第２の種類のイベントデータ（イベントパケットＭ２−１）が送信される場合、次のような特定情報が生成される。すなわち、情報生成部１０４は、第１の種類のイベントデータを受信装置１１０が特定可能な第１の特定情報と、第２の種類のイベントデータを受信装置１１０が特定可能な第２の特定情報を生成する。そして、情報記録部１０５は、第１、第２のイベントデータの送信後の定期データ（映像パケットＶ１）に、生成された第１、第２の特定情報を含める。
【００８０】
そして、受信装置１１０の解析部１１２は、受信した映像パケットＶ１に含まれる特定情報に基づいて、複数のイベントパケット（イベントパケットＭ１−１、Ｍ２−１）が特定された場合、複数のイベントパケットのそれぞれを受信したか否かを判定する。
【００８１】
このようにすることで、同じ期間中に複数のイベントに応じたイベントパケットを送信する場合にも、イベントパケットを特定することができる。
【００８２】
また、受信装置１１０が複数の送信装置からイベントパケットを受信する場合、ＩＰアドレスに基づいてイベントパケットの送信元を特定することが可能である。また、ストリームＩＤに送信装置のＩＰアドレスなどの送信装置の識別情報を含めるようにしても良い。
【００８３】
複数の送信装置から送信されるイベントパケットを特定できるようにストリームＩＤを生成する場合、ストリームＩＤに送信装置のＩＰアドレスを含める方法の他に、全ストリームを管理するサーバからストリームＩＤを取得する方法がある。また、サーバが送信装置ごとに識別情報を割り当て、各送信装置が送信する特定情報のストリームＩＤに、送信装置の識別情報を含めるようにしても良い。
【００８４】
＜その他の実施形態＞
本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体（記憶媒体）等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、ｗｅｂアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８５】
尚本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、コンピュータ読取可能であり、実施形態において図に示したフローチャートに対応したプログラムである。
【００８６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【図１】
2011003993.tif 000003
【図２】
2011003993.tif 000004
【図３】
2011003993.tif 000005
【図４】
2011003993.tif 000006
【図５】
2011003993.tif 000007
【図６】
2011003993.tif 000008
【図７】
2011003993.tif 000009
【図８】
2011003993.tif 000010
【図９】
2011003993.tif 000011
【図１０】
2011003993.tif 000012