(57)【要約】【課題】より容易な制御で、かつ、安定的な通信を実現できるようにする。【解決手段】  RTPパケット作成部２３１は、ストリーミングデータとして再生される順番を示すシーケンス番号が格納されたRTPパケットを生成し、通信部１５３は、生成されたRTPパケットをクライアント１１４に送信する。先頭シーケンス番号抽出部１８３は、生成されたRTPパケットから先頭シーケンス番号を抽出する。判定部１８４が、RTPパケットのシーケンス番号と抽出された先頭シーケンス番号とが一致すると判定した場合、メディアユニットの先頭パケットが確定される。本発明は、例えば、送信レートを制御してデータを送受信するシステムに適用できる。【選択図】図１１
2006295537.tif 000002
【特許請求の範囲】
【請求項１】
ストリーミングデータが格納した複数のパケットを送受信する第１および第２の通信装置からなる通信システムにおいて、
前記第１の通信装置は、
前記ストリーミングデータを符号化する符号化手段と、
符号化されたストリーミングデータより、シーケンス番号を含む前記複数のパケットを生成する生成手段と、
生成された前記複数のパケットのうち、メディアユニットの先頭パケットのシーケンス番号を抽出する第１の抽出手段と、
前記メディアユニットの各パケットに、前記第１の抽出手段により抽出されたシーケンス番号を拡張シーケンス番号として付加する付加手段と、
前記付加手段により、前記拡張シーケンス番号が付加された前記パケットを第２の通信装置に送信する送信手段と
を備え、
前記第２の通信装置は、
前記第１の通信装置から送信されてきたパケットを受信する受信手段と、
前記パケットに付加されている前記シーケンス番号を抽出する第２の抽出手段と、
前記パケットに付加されている前記拡張シーケンス番号を抽出する第３の抽出手段と、
前記第２の抽出手段により抽出された前記シーケンス番号と、前記第３の抽出手段により抽出された前記拡張シーケンス番号とが一致するか否かを判定する判定手段と、
前記判定手段の判定結果が一致する場合、前記パケットをメディアユニット単位で復号する復号手段と
を備えることを特徴とする通信システム。
【請求項２】
ストリーミングデータが格納した複数のパケットを送信する通信装置において、
前記ストリーミングデータを符号化する符号化手段と、
符号化されたストリーミングデータより、シーケンス番号を含む前記複数のパケットを生成する生成手段と、
生成された前記複数のパケットのうち、メディアユニットの先頭パケットのシーケンス番号を抽出する抽出手段と、
前記メディアユニットの各パケットに、前記抽出手段により抽出されたシーケンス番号を拡張シーケンス番号として付加する付加手段と、
前記付加手段により、前記拡張シーケンス番号が付加された前記パケットを第２の通信装置に送信する送信手段と
を備えることを特徴とする通信装置。
【請求項３】
前記符号化手段は、JPEG2000、MPEG2、または、MPEG4などの動画像符号によりストリーミングデータを符号化する、または、AACなどの音声符号を用いたストリーミングデータである
ことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記付加手段は、同一のメディアユニットのパケット毎に、同一の拡張シーケンス番号を付加する
ことを特徴とする請求項２に記載の通信装置。
【請求項５】
ストリーミングデータが格納した複数のパケットを送信する通信方法において、
前記ストリーミングデータを符号化する符号化ステップと、
符号化されたストリーミングデータより、シーケンス番号を含む前記複数のパケットを生成する生成ステップと、
生成された前記複数のパケットのうち、メディアユニットの先頭パケットのシーケンス番号を抽出する抽出ステップと、
前記メディアユニットの各パケットに、前記抽出ステップにより抽出されたシーケンス番号を拡張シーケンス番号として付加する付加ステップと、
前記付加ステップにより、前記拡張シーケンス番号が付加された前記パケットを第２の通信装置に送信する送信ステップと
を備えることを特徴とする通信方法。
【請求項６】
ストリーミングデータが格納した複数のパケットを送信する通信処理を、コンピュータに実行させるプログラムにおいて、
前記ストリーミングデータを符号化する符号化ステップと、
符号化されたストリーミングデータより、シーケンス番号を含む前記複数のパケットを生成する生成ステップと、
生成された前記複数のパケットのうち、メディアユニットの先頭パケットのシーケンス番号を抽出する抽出ステップと、
前記メディアユニットの各パケットに、前記抽出ステップにより抽出されたシーケンス番号を拡張シーケンス番号として付加する付加ステップと、
前記付加ステップにより、前記拡張シーケンス番号が付加された前記パケットを第２の通信装置に送信する送信ステップと
を含むことを特徴とするプログラム。
【請求項７】
ストリーミングデータを格納した複数のパケットを受信する通信装置において、
前記第１の通信装置から送信されてきたパケットを受信する受信手段と、
前記パケットに付加されている前記シーケンス番号を抽出する第１の抽出手段と、
前記パケットに付加されている前記拡張シーケンス番号を抽出する第２の抽出手段と、
前記第１の抽出手段により抽出された前記シーケンス番号と、前記第２の抽出手段により抽出された前記拡張シーケンス番号とが一致するか否かを判定する判定手段と、
前記判定手段の判定結果が一致する場合、前記パケットをメディアユニット単位で復号する復号手段と
を備えることを特徴とする通信装置。
【請求項８】
ストリーミングデータを格納した複数のパケットを受信する通信方法において、
前記第１の通信装置から送信されてきたパケットを受信する受信ステップと、
前記パケットに付加されている前記シーケンス番号を抽出する第１の抽出ステップと、
前記パケットに付加されている前記拡張シーケンス番号を抽出する第２の抽出ステップと、
前記第１の抽出ステップにより抽出された前記シーケンス番号と、前記第２の抽出ステップにより抽出された前記拡張シーケンス番号とが一致するか否かを判定する判定ステップと、
前記判定ステップの判定結果が一致する場合、前記パケットをメディアユニット単位で復号する復号ステップと
を備えることを特徴とする通信方法。
【請求項９】
ストリーミングデータを格納した複数のパケットの受信処理を、コンピュータに実行させるプログラムにおいて、
前記第１の通信装置から送信されてきたパケットを受信する受信ステップと、
前記パケットに付加されている前記シーケンス番号を抽出する第１の抽出ステップと、
前記パケットに付加されている前記拡張シーケンス番号を抽出する第２の抽出ステップと、
前記第１の抽出ステップにより抽出された前記シーケンス番号と、前記第２の抽出ステップにより抽出された前記拡張シーケンス番号とが一致するか否かを判定する判定ステップと、
前記判定ステップの判定結果が一致する場合、前記パケットをメディアユニット単位で復号する復号ステップと
を含むことを特徴とするプログラム。
【請求項１０】
ストリーミングデータが格納した複数のパケットを送受信する第１および第２の通信装置からなる通信システムにおいて、
前記第１の通信装置は、
前記ストリーミングデータを符号化する符号化手段と、
符号化されたストリーミングデータより、シーケンス番号を含む前記複数のパケットを生成する生成手段と、
生成された前記複数のパケットのうち、直前のメディアユニットの最後のシーケンス番号を抽出する第１の抽出手段と、
前記メディアユニットの各パケットに、前記第１の抽出手段により抽出されたシーケンス番号を拡張シーケンス番号として付加する付加手段と、
前記付加手段により、前記拡張シーケンス番号が付加された前記パケットを第２の通信装置に送信する送信手段と
を備え、
前記第２の通信装置は、
前記第１の通信装置から送信されてきたパケットを受信する受信手段と、
前記パケットに付加されている前記シーケンス番号を抽出する第２の抽出手段と、
前記パケットに付加されている前記拡張シーケンス番号を抽出する第３の抽出手段と、
前記第２の抽出手段により抽出された前記シーケンス番号と、前記第３の抽出手段により抽出された前記拡張シーケンス番号に１を付加したものが一致するか否かを判定する判定手段と、
前記判定手段の判定結果が一致する場合、前記パケットをメディアユニット単位で復号する復号手段と
を備えることを特徴とする通信システム。
【請求項１１】
ストリーミングデータが格納した複数のパケットを送信する通信装置において、
前記ストリーミングデータを符号化する符号化手段と、
符号化されたストリーミングデータより、シーケンス番号を含む前記複数のパケットを生成する生成手段と、
生成された前記複数のパケットのうち、直前のメディアユニットの最後のシーケンス番号を抽出する第１の抽出手段と、
前記メディアユニットの各パケットに、前記第１の抽出手段により抽出されたシーケンス番号を拡張シーケンス番号として付加する付加手段と、
前記付加手段により、前記拡張シーケンス番号に１を付加された前記パケットを第２の通信装置に送信する送信手段と
を備えることを特徴とする通信装置。
【請求項１２】
前記符号化手段は、少なくともJPEG2000、MPEG2、または、MPEG4などの動画像圧縮、もしくは、AACなどの音声圧縮によりストリーミングデータを符号化する
ことを特徴とする請求項１１に記載の通信装置。
【請求項１３】
前記付加手段は、同一のメディアユニットのパケット毎に、同一の拡張シーケンス番号を付加する
ことを特徴とする請求項１１に記載の通信装置。
【請求項１４】
ストリーミングデータが格納した複数のパケットを送信する通信方法において、
前記ストリーミングデータを符号化する符号化ステップと、
符号化されたストリーミングデータより、シーケンス番号を含む前記複数のパケットを生成する生成ステップと、
生成された前記複数のパケットのうち、直前のメディアユニットの最後のシーケンス番号を抽出する抽出ステップと、
前記メディアユニットの各パケットに、前記抽出ステップにより抽出されたシーケンス番号を拡張シーケンス番号として付加する付加ステップと、
前記付加ステップにより、前記拡張シーケンス番号が付加された前記パケットを第２の通信装置に送信する送信ステップと
を備えることを特徴とする通信方法。
【請求項１５】
ストリーミングデータが格納した複数のパケットを送信する通信処理を、コンピュータに実行させるプログラムにおいて、
前記ストリーミングデータを符号化する符号化ステップと、
符号化されたストリーミングデータより、シーケンス番号を含む前記複数のパケットを生成する生成ステップと、
生成された前記複数のパケットのうち、直前のメディアユニットの最後のシーケンス番号を抽出する抽出ステップと、
前記メディアユニットの各パケットに、前記抽出ステップにより抽出されたシーケンス番号を拡張シーケンス番号とし、拡張シーケンス番号に１を付加した付加ステップと、
前記付加ステップにより、前記拡張シーケンス番号が付加された前記パケットを第２の通信装置に送信する送信ステップと
を含むことを特徴とするプログラム。
【請求項１６】
ストリーミングデータが格納した複数のパケットを受信する通信装置において、
前記第１の通信装置から送信されてきたパケットを受信する受信手段と、
前記パケットに付加されている前記シーケンス番号を抽出する第１の抽出手段と、
前記パケットに付加されている前記拡張シーケンス番号を抽出する第２の抽出手段と、
前記第１の抽出手段により抽出された前記シーケンス番号と、前記第２の抽出手段により抽出された前記拡張シーケンス番号とが一致するか否かを判定する判定手段と、
前記判定手段の判定結果が一致する場合、前記パケットをメディアユニット単位で復号する復号手段と
を備えることを特徴とする通信装置。
【請求項１７】
ストリーミングデータが格納した複数のパケットを受信する通信方法において、
前記第１の通信装置から送信されてきたパケットを受信する受信ステップと、
前記パケットに付加されている前記シーケンス番号を抽出する第１の抽出ステップと、
前記パケットに付加されている前記拡張シーケンス番号を抽出する第２の抽出ステップと、
前記第１の抽出ステップにより抽出された前記シーケンス番号と、前記第２の抽出ステップにより抽出された前記拡張シーケンス番号とが一致するか否かを判定する判定ステップと、
前記判定ステップの判定結果が一致する場合、前記パケットをメディアユニット単位で復号する復号ステップと
を備えることを特徴とする通信方法。
【請求項１８】
ストリーミングデータが格納した複数のパケットの受信処理を、コンピュータに実行させるプログラムにおいて、
前記第１の通信装置から送信されてきたパケットを受信する受信ステップと、
前記パケットに付加されている前記シーケンス番号を抽出する第１の抽出ステップと、
前記パケットに付加されている前記拡張シーケンス番号を抽出する第２の抽出ステップと、
前記第１の抽出ステップにより抽出された前記シーケンス番号と、前記第２の抽出ステップにより抽出された前記拡張シーケンス番号とが一致するか否かを判定する判定ステップと、
前記判定ステップの判定結果が一致する場合、前記パケットをメディアユニット単位で復号する復号ステップと
を含むことを特徴とするプログラム。
【請求項１９】
符号化されたストーミングデータの各パケットには、シーケンス番号と、前記パケットの属するメディアユニットの先頭シーケンス番号とが含まれる
ことを特徴とするデータ構造。
【請求項２０】
符号化されたストーミングデータの各パケットには、シーケンス番号と、前記パケットの属するメディアユニットの直前のメディアユニットの最終シーケンス番号とが含まれる
ことを特徴とするデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信装置および方法、プログラム、並びにデータ構造に関し、特に、ストリーム方式のデータの伝送に適した通信システム、通信装置および方法、プログラム、並びにデータ構造に関する。
【背景技術】
【０００２】
昨今、インターネットなど、種々の通信媒体を介して、画像データまたは音声データを伝送して提供するサービスが一般に行われている。特に、近年、ダウンロード型の伝送方式のサービスに加えて、ストリーム型の伝送方式のサービスがより多く提供されるようになってきた。
【０００３】
ダウンロード型の伝送方式のサービスにおいては、受信装置が、送信装置から送信された画像または音声のデータを格納するファイルを受信し、受信したファイルを自分の記録媒体に記録する。受信装置は、ファイルの記録が完了した後、記録したファイルを基に、画像または音声を再生する。ダウンロード型の伝送方式のサービスにおいては、ファイルの記録が完了するまでは、再生することができないので、ダウンロード型の伝送方式のサービスは、長時間の再生またはリアルタイムの再生には適さない。
【０００４】
一方、ストリーム型の伝送方式のサービスにおいては、受信装置が、送信装置から送信されてくるデータを受信するとともに、これに並行して、受信されたデータを基に画像または音声を再生する。ストリーム型の伝送方式は、インターネット電話、遠隔テレビ会議、またはビデオオンデマンドなどのインターネットサービスに利用されている。
【０００５】
ストリーム型の伝送方式において、送信装置から送信されてくるデータを、一般に、ストリーミングデータと称する。
【０００６】
より具体的な例として、ストリーム型の伝送方式は、画像データにMPEG（Moving Picture Experts Group）符号化処理を適用することにより生成されるMPEGストリームを格納する。IP（Internet Protocol）パケットをインターネットを介して伝送するシステムで使用される。このシステムにおいて、受信装置である、PC（Personal Computer）、PDA（Personal Digital Assistance）、または携帯電話機は、IPパケットを受信し、画像を再生する。
【０００７】
ストリーム型の伝送方式は、ビデオオンデマンド若しくはライブ映像のストリーミング配信、ビデオ会議、またはテレビ電話などのリアルタイム通信に適している。
【０００８】
このようなストリーム型の伝送方式の技術の１つとして、IETF  RFC（Internet Engineering Task Force Request For Comments）1889で規定されているプロトコルであるRTP（Real-Time Transport Protocol）がある。
【０００９】
RTPに基づくデータ転送においては、生成された時刻を示すタイムスタンプがパケットに付加され、タイムスタンプの参照により送信側と受信側の時間的関係が把握されるので、受信側において、パケット伝送の遅延ゆらぎ（ジッター）などの影響が排除され、同期した再生が可能になる。
【００１０】
しかし、RTPにおいて、実時間のデータの伝送は保証されない。すなわち、パケット配信の優先度や設定、管理などは、RTPによって提供されるトランスポートサービスの範疇ではないため、他の方式のパケットと同様、ネットワーク上での遅延やパケットロスが生じる可能性がある。
【００１１】
遅延やパケットロスが生じても、受信側は、再生時刻までに受信されたパケットだけを利用してデータを再生することができる。すなわち、受信装置は、データに多少の損失や誤りが発生しても、品質を落として再生するか、またはデータの損失や誤りを訂正して再生する。
【００１２】
この場合、再生に間に合わず遅延して配送されたパケットやエラーの発生したパケットは、受信側でそのまま破棄される。つまり、高品質なデータ配信処理を行おうとしても、パケットロスやエラーが発生したときは、受信側の再生の品質は保証されない。
【００１３】
このようなRTPに従ったデータ伝送における問題を解決する案として、データ転送の信頼性のより高い転送プロトコルであるTCP（Transmission Control Protocol）に従ってパケットの再生要求およびパケットの再送を行う方法が考えられる。
【００１４】
しかし、TCPにおいて、パケットロスが生じた場合、パケットが再送されるため、エラーには強いが、再送されたパケットの受信が再生時刻に間に合わない可能性があり、リアルタイム通信には不向きである。
【００１５】
リアルタイム通信においては、TCPではなく、RTPに従ったデータ伝送が好ましいと言える。RTPにおいて、プロトコルとして、UDP（User Datagram Protocol）が用いられる。UDPにおいては、パケットロスが生じても、パケットは再送されない。
【００１６】
RTPによるデータの伝送においては、タイムスタンプ、シーケンス番号、およびマーカビットが用いられる。タイムスタンプは、１つのメディアユニット毎に変化する。メディアユニットは、動画であれば、１つのフレームに相当する。シーケンス番号は、パケット毎に変化する。マーカビットは、１つのメディアユニットの最後のパケットに付される。
【００１７】
MPEG（Moving Picture Experts Group）などのようなメディアユニット間差分を取る符号化方式の場合、パケットロスにより、あるメディアユニットのデータが欠落すると、それ以降のメディアユニットの画質に影響が出てくる、いわゆるエラーの伝搬が生じる。
【００１８】
一方、JPEG（Joint Photographic Experts Group）2000の規格に基づいて、静止画を連続的に再生することで動画を取り扱うことができる。このような動画の取り扱いは、ISO（International Organization for Standardization）で標準化されたJPEG2000規格のpart3に定義されている。JPEG2000においては、メディアユニット間差分が取られず、前述したような問題は発生しないが、メディアユニットの先頭パケットが、パケットロスを引き起こすと、メディアユニット内の他のパケットが存在していても、受信装置は、パケットを利用して再生することができない。
【００１９】
図１は、従来のRTPパケットを模式的に表したものである。
【００２０】
RTPパケット１１−１乃至１１−１０は、それぞれ、画像データを格納する。RTPパケット１１−１乃至１１−１０には、それぞれ、１乃至１０のシーケンス番号が付加されている。すなわち、RTPパケット１１−１乃至１１−１０は、それぞれに付加されたシーケンス番号の順に送信される。
【００２１】
図中のTSは、タイムスタンプを示す。また、図中のｍは、マーカビットを示す。
【００２２】
RTPパケット１１−１乃至１１−４は、１つのメディアユニットの画像データを格納する。RTPパケット１１−１乃至１１−４には、１００を示すタイムスタンプが付加されている。RTPパケット１１−１乃至１１−４のうち、RTPパケット１１−４は、最後のパケットなので、RTPパケット１１−４には、マーカビットが付加される。
【００２３】
RTPパケット１１−５乃至１１−７は、次のメディアユニットの画像データを格納する。RTPパケット１１−５乃至１１−７には、２００を示すタイムスタンプが付加されている。最後のパケットであるRTPパケット１１−７には、マーカビットが付加される。RTPパケット１１−８乃至１１−１０は、更に次のメディアユニットの画像データを格納する。RTPパケット１１−８乃至１１−１０には、３００を示すタイムスタンプが付加されている。最後のパケットであるRTPパケット１１−１０には、マーカビットが付加される。
【００２４】
従来、少なくとも送信すべきコンテンツをメディアの種別、IPアドレス、ポート番号、セッション識別子のいずれかのヘッダ情報に基づいて、コンテンツを分類してまとめるコンテンツ分類部を設け、パケットヘッダ圧縮部で送信パケットのヘッダ圧縮を行うようにしているものがある（例えば、特許文献１参照）。
【００２５】
また、JPEG2000用のRTPペイロードのフォーマットにPriorityを配置し、そこにパケットに含まれるコードストリームの重要度を表す値を格納するようにしているものもある（例えば、特許文献２参照）。この場合、typeは、JPEG2000コードストリームのペイロードタイプを表し、mh_idは、JPEG2000コードストリームのメインヘッダの識別子であり、メインヘッダの変化の有無を表す。また、mh_lengthは、メインヘッダの長さを表し、fragment offsetには、パケットにおける画像の先頭からオフセットバイト数が格納される。
【００２６】
【特許文献１】特開２００３−３３８８３０号公報
【００２７】
【特許文献２】特開２００３−２０９８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００２８】
しかしながら、図１で示す場合において、RTPパケット１１−６乃至１１−８にパケットロスが生じた場合、受信側で、RTPパケット１１−９が、３００を示すタイムスタンプが付加されているパケットのうち、メディアユニットの先頭のデータを格納するパケットであるかを知ることはできない。
【００２９】
このように、メディアユニットにまたがってパケットロスが生じた場合、その後に送信されてくるパケットがメディアユニットの先頭のデータを格納しているかを知ることはできなかった。メディアユニットの先頭のデータではないデータを、メディアユニットの先頭のデータとして、再生を行うと、再生の質が低下してしまうだけでなく、再生にかかる負荷が大きくなってしまう。
【００３０】
本発明はこのような状況に鑑みてなされたものであり、データの質を低下させてしまうようなデータの再生を回避するとともに、再生のための負荷をより少なくすることができるようにするものである。
【課題を解決するための手段】
【００３１】
本発明の通信システムは、ストリーミングデータを格納した複数のパケットを送受信する第１および第２の通信装置からなる通信システムである。詳細には、第１の通信装置は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成する生成手段と、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出する第１の抽出手段と、拡張データとして、メディアユニットのパケットに拡張シーケンス番号を付加する付加手段と、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の装置に送信する送信手段とを備え、第２の通信装置は、第１の通信装置から送信されてきたパケットを受信する受信手段と、メディアユニットのパケットに付加されているシーケンス番号を抽出する第２の抽出手段と、受信手段において、メディアユニットの先頭パケットに付加されている拡張シーケンス番号を抽出する第３の抽出手段と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致するか否かを判定する判定手段と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致する場合、メディアユニットのパケットを複合する復号手段とを備えることを特徴とする。
【００３２】
本発明の第１の通信装置は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成する生成手段と、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出する抽出手段と、拡張データとして、メディアユニットのパケットに拡張シーケンス番号を付加する付加手段と、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の通信装置に送信する送信手段とを備えることを特徴とする。
【００３３】
本発明の第１の通信装置は、JPEG2000、MPEG2またはMPEG4または、AACなどによりストリーミングデータを符号化することができる。
【００３４】
本発明の第１の通信装置は、同一のメディアユニットのパケット毎に、同一の拡張シーケンス番号を付加することができる。
【００３５】
本発明の第１の通信方法は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成し、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出し、拡張データとして、メディアユニットのパケットに拡張シーケンス番号を付加し、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の通信装置への送信を制御することを特徴とする。
【００３６】
本発明の第１のプログラムは、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成する生成ステップと、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出する抽出ステップと、拡張データとして、メディアユニットのパケットに拡張シーケンス番号を付加する付加ステップと、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の通信装置に送信することを特徴とする。
【００３７】
本発明の第２の通信装置は、第１の通信装置から送信されてきたパケットを受信する受信手段と、メディアユニットのパケットに付加されているシーケンス番号を抽出する第１の抽出手段と、受信手段において、メディアユニットの先頭パケットに付加されている拡張シーケンス番号を抽出する第２の抽出手段と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致するか否かを判定する判定手段と、抽出された前記メディアユニットのパケットに付加されているシーケンス番号と、前記メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致する場合、メディアユニットのパケットを複合する復号手段とを備えることを特徴とする。
【００３８】
本発明の第２の通信方法は、第１の通信装置から送信されてきたパケットを受信し、メディアユニットのパケットに付加されているシーケンス番号を抽出し、受信されたメディアユニットの先頭パケットに付加されている拡張シーケンス番号を抽出し、抽出された前記メディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致するか否かを判定する判定ステップと、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致する場合、メディアユニットのパケットを複合することを備えることを特徴とする。
【００３９】
本発明の第２のプログラムは、第１の通信装置から送信されてきたパケットを受信する受信ステップと、メディアユニットのパケットに付加されているシーケンス番号を抽出する第１の抽出ステップと、受信ステップにおいて、メディアユニットの先頭パケットに付加されている拡張シーケンス番号を抽出する第２の抽出ステップと、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致するか否かを判定する判定ステップと、抽出された前記メディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致する場合、メディアユニットのパケットを複合する復号ステップとを含むことを特徴とする。
【００４０】
本発明の通信システムは、ストリーミングデータを格納した複数のパケットを送受信する第１および第２の通信装置からなる通信システムである。詳細には、第１の通信装置は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成する生成手段と、生成された複数のパケットからなる前メディアユニットの最後のシーケンス番号を抽出する第１の抽出手段と、拡張データとして、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１加えた数を付加する付加手段と、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の装置に送信する送信手段とを備え、第２の通信装置は、第１の通信装置から送信されてきたパケットを受信する受信手段と、メディアユニットのパケットに付加されているシーケンス番号を抽出する第２の抽出手段と、受信手段において、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数を抽出する第３の抽出手段と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致するか否かを判定する判定手段と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致する場合、メディアユニットのパケットを複合する復号手段とを備えることを特徴とする。
【００４１】
本発明の第１の通信装置は、ストリーミングデータを格納した複数のパケットを送受信する第１および第２の通信装置からなる通信システムである。第１の通信装置は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成する生成手段と、生成された複数のパケットからなる前メディアユニットの最後のシーケンス番号を抽出する抽出手段と、拡張データとして、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１加えた数を付加する付加手段と、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の装置に送信する送信手段とを備えることを特徴とする。
【００４２】
本発明の第１の通信装置は、少なくともJPEG2000、MPEG2、または、MPEG4、またはAACによりストリーミングデータを符号化することができる。
【００４３】
本発明の第１の通信装置は、同一のメディアユニットのパケット毎に、同一の拡張シーケンス番号を付加することができる。
【００４４】
本発明の第１の通信方法は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成し、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出し、拡張データとして、メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１加えた数を付加し、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の通信装置への送信を制御することを特徴とする。
【００４５】
本発明の第１のプログラムは、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成ステップと、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出ステップと、拡張データとして、メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１加えた数を付加ステップと、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の通信装置に送信ステップすることを特徴とする。
【００４６】
本発明の第２の通信装置は、第１の通信装置から送信されてきたパケットを受信する受信手段と、メディアユニットのパケットに付加されているシーケンス番号を抽出する第１の抽出手段と、受信手段において、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数を抽出する第２の抽出手段と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致するか否かを判定する判定手段と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致する場合、メディアユニットのパケットを複合する復号手段とを備えることを特徴とする。
【００４７】
本発明の第２の通信方法は、第１の通信装置から送信されてきたパケットを受信する受信手段と、メディアユニットのパケットに付加されているシーケンス番号を抽出し、受信手段において、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数を抽出し、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致するか否かを判定する判定し、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致する場合、メディアユニットのパケットを複合する復号することを備えることを特徴とする。
【００４８】
本発明の第２のプログラムは、第１の通信装置から送信されてきたパケットを受信する受信ステップと、メディアユニットのパケットに付加されているシーケンス番号を抽出する第１の抽出ステップと、受信手段において、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数を抽出する第２の抽出ステップと、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致するか否かを判定する判定ステップと、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致する場合、メディアユニットのパケットを複合する復号ステップとを含むことを特徴とする。
【発明の効果】
【００４９】
本発明によれば、パケット処理に必要な負荷を軽減することができる。
【発明を実施するための最良の形態】
【００５０】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００５１】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００５２】
本発明の通信システムは、ストリーミングデータを格納した複数のパケットを送受信する第１および第２の通信装置からなる通信システムである。詳細には、第１の通信装置は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成する生成手段（例えば、図４のRTPパケット作成部１５２）と、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出する第１の抽出手段（例えば、図５の先頭シーケンス番号抽出部１６３）と、拡張データとして、メディアユニットのパケットに拡張シーケンス番号を付加する付加手段（例えば、図５の先頭シーケンス番号付加部１６４）と、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の装置に送信する送信手段とを備え、第２の通信装置は、第１の通信装置から送信されてきたパケットを受信する受信手段と、メディアユニットのパケットに付加されているシーケンス番号を抽出する第２の抽出手段（例えば、図７のシーケンス番号抽出部１８２）と、受信手段において、メディアユニットの先頭パケットに付加されている拡張シーケンス番号を抽出する第３の抽出手段（例えば、図７のシーケンス番号抽出部）と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致するか否かを判定する判定手段（例えば、図７の判定部１８４）と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致する場合、メディアユニットのパケットを複合する復号手段（例えば、図６のデコード１７３）とを備えることを特徴とする。
【００５３】
本発明の第１の通信装置は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成する生成手段（例えば、図４のRTPパケット作成部１５２）と、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出する抽出手段（例えば、図５の先頭シーケンス番号抽出部１６３）と、拡張データとして、メディアユニットのパケットに拡張シーケンス番号を付加する付加手段（例えば、図５の先頭シーケンス番号付加部１６４）と、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の通信装置に送信する送信手段とを備えることを特徴とする。
【００５４】
本発明の第１の通信装置は、符号化手段（例えば、図４のエンコーダ１５１）が、少なくともJPEG2000、MPEG2、または、MPEG4、またはAACによりストリーミングデータを符号化することができる。
【００５５】
本発明の第１の通信装置は、付加手段（例えば、図５の先頭シーケンス番号付加部１６４）は、同一のメディアユニットのパケット毎に、同一の拡張シーケンス番号を付加することができる。
【００５６】
本発明の第１の通信方法は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成（例えば、図４のRTPパケット作成部１５２）し、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出（例えば、図５の先頭シーケンス番号抽出部１６３）し、拡張データとして、メディアユニットのパケットに拡張シーケンス番号を付加（例えば、図５の先頭シーケンス番号付加部１６４）し、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の通信装置への送信を制御することを特徴とする。
【００５７】
本発明の第１のプログラムは、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成する生成ステップ（例えば、図４のRTPパケット作成部１５２）と、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出する抽出ステップと、拡張データとして、メディアユニットのパケットに拡張シーケンス番号を付加する付加ステップ（例えば、図５の先頭シーケンス番号付加部１６４）と、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の通信装置に送信することを特徴とする。
【００５８】
本発明の第２の通信装置は、第１の通信装置から送信されてきたパケットを受信する受信手段と、メディアユニットのパケットに付加されているシーケンス番号を抽出する第１の抽出手段（例えば、図７のシーケンス番号抽出部１８２）と、受信手段において、メディアユニットの先頭パケットに付加されている拡張シーケンス番号を抽出する第２の抽出手段（例えば、図７の先頭シーケンス番号抽出部１８３）と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致するか否かを判定する判定手段（例えば、図７の判定部１８４）と、抽出された前記メディアユニットのパケットに付加されているシーケンス番号と、前記メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致する場合、メディアユニットのパケットを複合する復号手段（例えば、図７のデコード制御部１８５）とを備えることを特徴とする。
【００５９】
本発明の第２の通信方法は、第１の通信装置から送信されてきたパケットを受信し、メディアユニットのパケットに付加されているシーケンス番号を抽出（例えば、図７のシーケンス番号抽出部１８２）し、受信されたメディアユニットの先頭パケットに付加されている拡張シーケンス番号を抽出（例えば、図７の先頭シーケンス番号抽出部１８３）し、抽出された前記メディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致するか否かを判定する判定ステップ（例えば、図７の判定部１８４）と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致する場合、メディアユニットのパケットを複合（例えば、図７のデコード制御部１８５）することを備えることを特徴とする。
【００６０】
本発明の第２のプログラムは、第１の通信装置から送信されてきたパケットを受信する受信ステップと、メディアユニットのパケットに付加されているシーケンス番号を抽出する第１の抽出ステップと、受信ステップにおいて、メディアユニットの先頭パケットに付加されている拡張シーケンス番号を抽出する第２の抽出ステップと、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致するか否かを判定する判定ステップと、抽出された前記メディアユニットのパケットに付加されているシーケンス番号と、メディアユニットの先頭パケットに付加されている拡張シーケンス番号とが一致する場合、メディアユニットのパケットを複合する復号ステップとを含むことを特徴とする。
【００６１】
本発明の通信システムは、ストリーミングデータを格納した複数のパケットを送受信する第１および第２の通信装置からなる通信システムである。詳細には、第１の通信装置は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成する生成手段（例えば、図１２のRTPパケット作成装置２４１）と、生成された複数のパケットからなる前メディアユニットの最後のシーケンス番号を抽出する第１の抽出手段（例えば、図１３の前メディアユニットの最終シーケンス番号抽出部２５１）と、拡張データとして、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１加えた数を付加する付加手段（例えば、図１３の前メディアユニットの最終シーケンス番号付加部１６４）と、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の装置に送信する送信手段（例えば、図１２の通信部１５３）とを備え、第２の通信装置は、第１の通信装置から送信されてきたパケットを受信する受信手段と、メディアユニットのパケットに付加されているシーケンス番号を抽出する第２の抽出手段（例えば、図１５のシーケンス番号抽出部１８２）と、受信手段において、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数を抽出する第３の抽出手段（例えば、図１５の前メディアユニットの最終シーケンス番号抽出部２９１）と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致するか否かを判定する判定手段（例えば、図１５の判定部２９２）と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致する場合、メディアユニットのパケットを複合する復号手段（例えば、図１５のデコード制御部１８５）とを備えることを特徴とする。
【００６２】
本発明の第１の通信装置は、ストリーミングデータを格納した複数のパケットを送受信する第１および第２の通信装置からなる通信システムである。詳細には、第１の通信装置は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成する生成手段（例えば、図１２のRTPパケット作成装置２４１）と、生成された複数のパケットからなる前メディアユニットの最後のシーケンス番号を抽出する抽出手段（例えば、図１３の前メディアユニットの最終シーケンス番号抽出部２５１）と、拡張データとして、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１加えた数を付加する付加手段（例えば、図１３の前メディアユニットの最終シーケンス番号付加部１６４）と、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の装置に送信する送信手段（例えば、図１２の通信部１５３）とを備えることを特徴とする。
【００６３】
本発明の第１の通信方法は、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成（例えば、図１２のRTPパケット作成装置２４１）し、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出（例えば、図１３の前メディアユニットの最終シーケンス番号抽出部２５１）し、拡張データとして、メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１加えた数を付加（例えば、図１３の前メディアユニットの最終シーケンス番号付加部１６４）し、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の通信装置への送信（例えば、図１２の通信部１５３）を制御することを特徴とする。
【００６４】
本発明の第１のプログラムは、ストリーミングデータとして再生される順番を表すシーケンス番号が格納された複数のパケットを生成ステップ（例えば、図１２のRTPパケット作成装置２４１）と、生成された複数のパケットからなるメディアユニットより先頭パケットのシーケンス番号を抽出ステップ（例えば、図１３の前メディアユニットの最終シーケンス番号抽出部２５１）と、拡張データとして、メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１加えた数を付加ステップ（例えば、図１３の前メディアユニットの最終シーケンス番号付加部１６４）と、拡張シーケンス番号を付加されたメディアユニットのパケットを第２の通信装置に送信ステップ（例えば、図１２の通信部１５３）することを特徴とする。
【００６５】
本発明の第２の通信装置は、第１の通信装置から送信されてきたパケットを受信する受信手段と、メディアユニットのパケットに付加されているシーケンス番号を抽出する第１の抽出手段（例えば、図１５のシーケンス番号抽出部１８２）と、受信手段において、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数を抽出する第２の抽出手段（例えば、図１５の前メディアユニットの最終シーケンス番号抽出部２９１）と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致するか否かを判定する判定手段（例えば、図１５の判定部２９２）と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致する場合、メディアユニットのパケットを複合する復号手段（例えば、図１５のデコード制御部１８５）とを備えることを特徴とする。
【００６６】
本発明の第２の通信方法は、第１の通信装置から送信されてきたパケットを受信する受信手段と、メディアユニットのパケットに付加されているシーケンス番号を抽出する第１の抽出（例えば、図１５のシーケンス番号抽出部１８２）し、受信手段において、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数を抽出する第２の抽出（例えば、図１５の前メディアユニットの最終シーケンス番号抽出部２９１）し、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致するか否かを判定する判定（例えば、図１５の判定部２９２）し、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致する場合、メディアユニットのパケットを複合する復号（例えば、図１５のデコード制御部１８５）することを備えることを特徴とする。
【００６７】
本発明の第２のプログラムは、第１の通信装置から送信されてきたパケットを受信する受信ステップと、メディアユニットのパケットに付加されているシーケンス番号を抽出する第１の抽出ステップ（例えば、図１５のシーケンス番号抽出部１８２）と、受信手段において、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数を抽出する第２の抽出ステップ（例えば、図１５の前メディアユニットの最終シーケンス番号抽出部２９１）と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致するか否かを判定する判定ステップ（例えば、図１５の判定部２９２）と、抽出されたメディアユニットのパケットに付加されているシーケンス番号と、前メディアユニットの最後のシーケンス番号である拡張シーケンス番号に１を加えた数とが一致する場合、メディアユニットのパケットを複合する復号ステップ（例えば、図１５のデコード制御部１８５）とを含むことを特徴とする。
【００６８】
図２は、本発明を適用したストリーミング配信システムの一実施の形態の構成例を示している。
【００６９】
図２のストリーミング配信システムにおいては、ビデオカメラ１１１がサーバ１１２に接続され、インターネットなどのパケット通信網１１３を介して、サーバ１１２およびクライアント１１４が接続されている。
【００７０】
ビデオカメラ１１１は、画像を撮像して、撮像した画像に対応する画像データをサーバ１１２に供給する。例えば、ビデオカメラ１１１は、被写体を動画像として撮像し、撮像した動画像に対応する画像データをサーバ１１２に供給する。
【００７１】
本実施例においては、ストリーミングデータとして画像データを扱う場合について説明していくが、ストリーミングデータは画像データに限らず、例えば、音声データ、またはリアルタイム制御データなど、時間の経過に対応して順次送信または受信が要求されるデータであればよい。
【００７２】
サーバ１１２は、コンピュータなどにより構成され、クライアント１１４からストリーミングデータの配信が要求された場合、ビデオカメラ１１１から供給される画像データをパケットに格納して、その画像データが格納されたパケットを、パケット通信網１１３を介してクライアント１１４に送信する。
【００７３】
パケット通信網１１３は、有線または無線の、通信回線、ネットワーク、またはインターネットなどからなる伝送路であり、サーバ１１２から送信されたパケットを、パケット通信網１１３を介し、クライアント１１４まで伝送する。
【００７４】
クライアント１１４は、コンピュータなどにより構成され、サーバ１１２から送信されてくるパケットを受信する。また、クライアント１１４は、受信したパケットから画像データを抽出し、抽出した画像データに基づいて、画像を表示装置等（図示せず）に表示させる。
【００７５】
図３において、サーバ１１２のハードウエアの構成例を示すブロック図である
【００７６】
CPU（Central Processing Unit）１３１は、ROM(Read Only Memory)１３２に記憶されているプログラム、または、記録部１３６からRAM（Random Access Memory）１３３にロードされたプログラムに従って各種の処理を実行する。RAM１３３にはまた、CPU１３１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【００７７】
CPU１３１、ROM１３２、およびRAM１３３は、バス１２１を介して相互に接続されている。このバス１２１にはまた、入出力インターフェース１２２も接続されている。
【００７８】
入出力インターフェース１２２には、キーボード、マウスなどよりなる入力部１３４、CRT(Cathode Ray Tube)、LCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部１３５、ハードディスクなどより構成される記録部１３６、モデム、ターミナルアダプタなどより構成される通信部１３７が接続されている。通信部１３７は、パケット通信網１１３を介して通信する。
【００７９】
入出力インターフェース１２２にはまた、必要に応じてドライブ１３８が接続され、磁気ディスク１４１、光ディスク１４２、光磁気ディスク１４３、或いは半導体メモリ１４４などが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記録部１３６にインストールされる。
【００８０】
なお、クライアント１１４のハードウエアも、上述したサーバ１１２と同様の構成であるので、その説明は省略する。
【００８１】
図４は、サーバ１１２の機能的な構成例を示すブロック図である。
【００８２】
サーバ１１２は、エンコーダ１５１、RTPパケット作成部１５２および通信部１５３により構成される。
【００８３】
図４で示される、エンコーダ１５１およびRTPパケット作成部１５２は、例えば、図３のCPU１３１に所定のプログラムを実行させることにより実現することができる。また、通信部１５３は、所定のプログラムを実行するCPU１３１および図３の通信部１３７により実現することができる。
【００８４】
エンコーダ１５１は、フレームレートを決定するFRタイマ１５１ａを含む。そして、エンコーダ１５１は、所定の時間に設定されたFRタイマ１５１ａのカウントが終了するまでの間にビデオカメラ１１１から供給される画像データを、１フレームとしてキャプチャする。例えば、FRタイマ１５１ａの設定時間が、３３msecに設定されている場合、フレームレートは、３０fps(frame per second)となる。
【００８５】
また、エンコーダ１５１は、ビデオカメラ１１１から供給される画像データを所定の方式（例えば、MPEG2、MPEG4、JPEG（Joint Photographic Experts Group）、JPEG2000、またはモーションJPEGなど）により符号化し、その符号化された（１フレームごとの）画像データをRTPパケット作成部１５２に供給する。例えば、RTPに基づくデータ転送においては、時刻情報としてメディアユニットにタイムスタンプが付加され、タイムスタンプが参照されることにより送信側と受信側の時間的関係が把握される。このタイムスタンプによりデータを受信する側においては、転送の遅延ゆらぎ（ジッター）等の影響を受けずに同期した再生が可能となる。
【００８６】
RTPパケット作成部１５２は、１フレーム分の画像データを複数の画像データに分割し、その分割された画像データそれぞれを格納した複数のRTPパケットを作成する。なお、１つのフレームを構成する画像データが分割されてなる、それぞれの画像データが格納されている複数のRTPパケットには、それぞれ共通のタイムスタンプが設定される。また、RTPパケットには、それぞれ、例えば昇順のシーケンス番号が付与される。
【００８７】
また、RTPパケット作成部１５２は、生成した１フレームあたり複数のRTPパケットを、順に、（例えば、シーケンス番号通りに（シーケンス番号に従って））通信部１５３に供給する。
【００８８】
なお、通信部１５３は、RTPパケット作成部１５２から供給されたRTPパケットをパケット通信網１１３を介してクライアント１１４に送信する。
【００８９】
図５は、RTPパケット作成部１５２のより詳細な機能の構成例を表すブロック図である。
【００９０】
データ入力部１６１は、エンコーダ１５１とのインターフェースである。データ入力部１６１には、エンコーダ１５１により符号化された画像データが入力される。データ入力部１６１は、入力された符号化されている画像データをパケット作成部１６２に出力する。
【００９１】
パケット作成部１６２は、１つのメディアユニットの画像データを所定のデータ量の画像データに分割し、分割された画像データをRTPパケットにそれぞれ格納する。パケット作成部１６２は、それぞれのRTPパケットにタイムスタンプ、シーケンス番号、およびマーカビットを付加する。このように、パケット作成部１６２は、入力されたデータよりRTPパケットを作成する。
【００９２】
パケット作成部１６２は、１つのメディアユニットの画像データを格納する複数のRTPパケットのうちの、先頭のRTPパケット（以下、先頭パケットと称する）を先頭シーケンス番号抽出部１６３に供給する。パケット作成部１６２は、総てのRTPパケットを先頭シーケンス番号付加部１６４に供給する。
【００９３】
先頭シーケンス番号抽出部１６３は、1つのメディアユニットの画像データを格納する複数のパケットのうち、先頭パケットのシーケンス番号（以下、先頭シーケンス番号と称する）を抽出する。この場合、例えば、メディアユニットは、１フレームに相当する。なお、メディアユニットは、符号化、表示などにおけるデータの所定の単位とすることができる。先頭シーケンス番号抽出部１６３は、先頭パケットから抽出された先頭シーケンス番号をメモリ１６５に供給する。
【００９４】
メモリ１６５は、先頭シーケンス番号抽出部１６３から供給された先頭シーケンス番号を記憶する。
【００９５】
先頭シーケンス番号付加部１６４は、メモリ１６５に記憶されている先頭シーケンス番号を拡張シーケンス番号として総てのRTPパケットに付加する。先頭シーケンス番号付加部１６４は、拡張シーケンス番号を付加したRTPパケットをパケット出力部１６６に供給する。
【００９６】
パケット出力部１６６は、拡張シーケンス番号が付加されたRTPパケット（先頭パケットを含む）を、通信部１５３に出力する。
【００９７】
図６は、クライアント１１４の機能的な構成例を示すブロック図である。
【００９８】
クライアント１１４は、通信部１７１、RTPパケット先頭判定部１７２およびデコーダ１７３により構成される。
【００９９】
図６で示される、通信部１７１は、クライアント１１４の、所定のプログラムを実行する図３のCPU１３１および通信部１３７により実現することができる。また、RTPパケット先頭判定部１７２およびデコーダ１７３の機能は、クライアント１１４のCPU１３１に所定のプログラムを実行させることにより実現することができる。
【０１００】
通信部１７１は、パケット通信網１１３を介して、サーバ１１２から送信されてくるRTPパケットを受信し、受信したRTPパケットをRTPパケット先頭判定部１７２およびデコーダ１７３に供給する。
【０１０１】
RTPパケット先頭判定部１７２は、通信部１７１から供給されたRTPパケットの拡張シーケンスおよびシーケンス番号を基に、RTPパケットが先頭パケットであるか否かを判定する。RTPパケット先頭判定部１７２は、判定結果を基に生成された制御信号を、デコーダ１７３へ供給する。
【０１０２】
デコーダ１７３は、RTPパケット先頭判定部１７２から供給される制御信号を基にして、通信部１７１から供給されたRTPパケットを、エンコーダ１５１（図４）に対応する方式によりデコード（復号）し、復号された画像データを表示装置等（図示せず）に出力して表示させる。
【０１０３】
図７は、RTPパケット先頭判定部１７２のより詳細な機能の構成例を表すブロック図である。
【０１０４】
パケット入力部１８１は、通信部１７１とのインターフェースである。パケット入力部１８１には、通信部１７１において受信されたRTPパケットが入力される。パケット入力部１８１は、入力されたRTPパケットを、シーケンス番号抽出部１８２および先頭シーケンス番号抽出部１８３に供給する。
【０１０５】
シーケンス番号抽出部１８２は、RTPパケットのシーケンス番号を抽出し、判定部１８４に供給する。
【０１０６】
先頭シーケンス番号抽出部１８３は、RTPパケットに拡張シーケンス番号として付加されている、そのRTPパケットに格納されているデータで構成されるメディアユニットの先頭パケットのシーケンス番号である先頭シーケンス番号をRTPパケットから抽出し、抽出した先頭シーケンス番号を判定部１８４に供給する。
【０１０７】
判定部１８４は、シーケンス番号抽出部１８２で抽出されたシーケンス番号と、先頭シーケンス番号抽出部１８３で検出された先頭シーケンス番号とが一致するか否かを判定する。判定部１８４は、判定結果をデコード制御部１８５に通知する。
【０１０８】
デコード制御部１８５は、シーケンス番号と先頭シーケンス番号とが一致するか否かの判定結果を基に、制御信号を生成し、生成した制御信号をデコーダ１７３へ供給する。
【０１０９】
図８は、サーバ１１２の送信処理におけるフローチャートである。
【０１１０】
ステップＳ１１において、エンコーダ１５１は、ビデオカメラ１１１から供給された画像データをキャプチャする。
【０１１１】
ステップＳ１２において、エンコーダ１５１は、キャプチャした画像データを符号化する。例えば、ステップＳ１２において、エンコーダ１５１は、キャプチャした画像データを、MPEG2、MPEG4、またはJPEG2000等の方式により符号化する。
【０１１２】
ステップＳ１３において、RTPパケット作成部１５２のパケット作成部１６２は、符号化された画像データより、RTPパケットを生成する。例えば、パケット作成部１６２は、データ入力部１６１からフレーム毎に供給される画像データを所定のデータに分割して、分割して得られたデータをそれぞれRTPパケットに格納することにより、RTPパケット生成する。
【０１１３】
RTPパケットは、例えば、図９で示されるようなものである。RTPパケットの先頭には、図９において”v”で表される、２ビットのバージョン情報が配置される。バージョン情報は、RTPパケットのバージョンを示す。
【０１１４】
バージョン情報の次に１ビットのパディングが配置され、パディングに続いて、１ビットの拡張情報がRTPパケットに配置される。拡張情報は、図９において、”x”で表される。拡張情報は、RTPパケットに拡張ヘッダを配置する場合に、所定の値に設定される。
【０１１５】
拡張情報に続いて、CSRC（Contributing Source）カウントがRTPパケットに配置される。CSRCカウントは、図９中において、”cc”で表される。CSRCカウントは、CSRC識別子の数を表す。
【０１１６】
CSRCカウントに続いて配置される、１ビットのメーカー情報は、プロファイルによって定義される。メーカー情報は、図９中において、”m”で表される。
【０１１７】
メーカー情報に続いて配置される、７ビットのペイロードタイプは、RTPパケットのフォーマットを定義するための情報である。ペイロードタイプは、図９中において、”Pt”で表される。RTPパケットにおいて、ペイロードタイプは、３３とされる。
【０１１８】
シーケンス番号は、ペイロードタイプの次に配置される、１６ビットの情報である。シーケンス番号は、RTPパケットの送信の度に、１ずつ増える。シーケンス番号は、パケットロスを検出し、RTPパケットの順序を修復するために使用される。
【０１１９】
シーケンス番号の次に配置される、３２ビットのタイムスタンプは、そのRTPパケットに格納されているストリーミングデータの最初のオクテットがサンプルされた時刻を示す情報である。
【０１２０】
SSRC（Synchronization source）識別子は、タイムスタンプの次に配置される、３２ビットの情報であって、RTPパケットに格納されるストリーミングデータのソースを示す。
【０１２１】
SSRCの次には、拡張シーケンス番号を格納するための１６ビットの領域が設けられており、後述する処理により、メディアユニットの先頭のRTPパケットのシーケンス番号が格納される。なお、図８のステップＳ１３の処理においては、領域が確保されるのであって、シーケンス番号は格納されていない。
【０１２２】
ステップＳ１４において、先頭シーケンス番号抽出部１６３は、先頭パケットからシーケンス番号を抽出する。すなわち、先頭シーケンス番号抽出部１６３は、先頭シーケンス番号を先頭パケットから抽出する。抽出された先頭シーケンス番号は、メモリ１６５に記憶される。
【０１２３】
ステップＳ１５において、先頭シーケンス番号付加部１６４は、ステップＳ１４の処理で抽出された先頭シーケンス番号を、生成されたRTPパケットの拡張シーケンス番号として、RTPパケットに付加する。より具体的には、先頭シーケンス番号付加部１６４は、図９で示される１６ビットの拡張シーケンス番号の領域に抽出された先頭パケットのシーケンス番号である先頭シーケンス番号を格納する。
【０１２４】
ステップＳ１６において、通信部１５３は、ステップＳ１５で生成された先頭シーケンス番号を付加したRTPパケットを、クライアント１１４へと送信する。
【０１２５】
ステップＳ１７において、サーバ１１２は、RTPタイムスタンプを更新する。例えば、ステップＳ１７において、サーバ１１２は、RTPタイムスタンプにフレーム間隔を加算することにより、RTPタイムスタンプを更新する。
【０１２６】
ステップＳ１８において、エンコーダ１５１は、FRタイマ１５１ａのカウントが終了したか否かを判定する。例えば、メディアユニットレートを３０fpsとした場合、FRタイマ１５１ａの設定時間である３３msecが経過したか否かを判定する。ステップＳ１８において、FRタイマ１５１ａのカウントが終了していないと判定された場合、判定の処理が繰り返される。FRタイマ１５１ａのカウントが終了したと判定された場合、ステップＳ１１に戻り、上述した処理が繰り返される。
【０１２７】
図８のフローチャートを参照して説明したように、クライアント１１４は、例えば、図１０で示されるようにRTPパケットを受信し、復号する。
【０１２８】
ステップＳ３１において、クライアント１１４の通信部１７１は、サーバ１１２より送信されてきたRTPパケットを受信したか否かを判定し、RTPパケットが受信されていないと判定された場合、手続きは、ステップＳ３２に進む。なお、RTPパケットが受信されたと判定された場合、通信部１７１は、受信したRTPパケットをRTPパケット先頭判定部１７２に供給する。
【０１２９】
ステップＳ３２において、クライアント１１４のRTPパケット先頭判定部１７２は、受信されたRTPパケットのタイムスタンプが新しいものであるか否かを判定する。例えば、RTPパケット先頭判定部１７２は、通信部１７１から供給されるRTPパケットからタイムスタンプを抽出する。そして、RTPパケット先頭判定部１７２は、抽出したタイムスタンプを記憶する。RTPパケット先頭判定部１７２は、次にRTPパケットが供給された場合、このRTPパケットからタイムスタンプを抽出し、記憶しているタイムスタンプと比較する。RTPパケット先頭判定部１７２は、比較の結果を基に、タイムスタンプが新しいものであるか否かを判定する。
【０１３０】
ステップＳ３２において、RTPパケットのタイムスタンプが、新しいものではないと判定された場合、ステップＳ３１に戻り、上述した処理が繰り返される。RTPパケットのタイムスタンプが、新しいものであると判定された場合、手続きは、ステップＳ３３へと進む。
【０１３１】
ステップＳ３３において、シーケンス番号抽出部１８２は、新しいタイムスタンプのRTPパケットより、シーケンス番号を抽出する。シーケンス番号抽出部１８２は、シーケンス番号を判定部１８４に供給する。
【０１３２】
ステップＳ３４において、先頭シーケンス番号抽出部１８３は、新しいタイムスタンプのRTPパケットの先頭パケットより、拡張シーケンス番号として格納されている先頭シーケンス番号を抽出する。先頭シーケンス番号抽出部１８３は、先頭シーケンス番号を判定部１８４に供給する。
【０１３３】
ステップＳ３５において、判定部１８４が、シーケンス番号抽出部１８２から供給されたシーケンス番号と、先頭シーケンス番号抽出部１８３から供給された先頭シーケンス番号とが同じであるか否かを判定する。ステップＳ３５において、シーケンス番号と先頭シーケンス番号とが同じであると判定された場合、新しいタイムスタンプのRTPパケットが、１つのメディアユニットの画像データを格納する複数のRTPパケットのうちの、先頭のRTPパケット、すなわち先頭パケットなので、ステップＳ３６に進み、デコード制御部１８５は、RTPパケットのデコードを指示する制御信号をデコーダ１７３に供給することにより、デコーダ１７３にRTPパケットをデコードさせる。言い換えれば、デコード制御部１８５は、デコーダ１７３に、その新しいタイムスタンプのRTPパケットをデコードさせる。
【０１３４】
一方、ステップＳ３５において、シーケンス番号と先頭シーケンス番号とが異なると判定された場合、新しいタイムスタンプのRTPパケットが、先頭パケットではないので、ステップＳ３７に進み、デコード制御部１８５は、RTPパケットの破棄を指示する制御信号をデコーダ１７３に供給することにより、デコーダ１７３にRTPパケットを破棄させる。言い換えれば、デコード制御部１８５は、デコーダ１７３に、その新しいタイムスタンプのRTPパケットの総てを破棄させる。
【０１３５】
ステップＳ３６およびステップＳ３７の処理の後、ステップＳ３１に戻り、上述した処理が繰り返される。
【０１３６】
図１１は、拡張シーケンス番号を付加したRTPパケットの例を示す図である。
【０１３７】
RTPパケット２１１−１乃至２１１−１０は、それぞれ、画像データを格納している。RTPパケット２１１−１乃至２１１−１０には、それぞれ、１乃至１０のシーケンス番号が付加されている。
【０１３８】
図中のTSは、タイムスタンプを示す。また、図中のｍは、マーカビットを示す。
【０１３９】
RTPパケット２１１−１乃至２１１−４は、１つのメディアユニットの画像データを格納している。RTPパケット２１１−１乃至２１１−４には、１００を示すタイムスタンプが付加されている。RTPパケット２１１−１乃至２１１−４のうち、RTPパケット２１１−４は、最終パケットなので、RTPパケット２１１−４には、マーカビットが付加されている。
【０１４０】
RTPパケット２１１−１乃至２１１−４には、それぞれ、１である先頭シーケンス番号を示す拡張シーケンス番号が付加されている。
【０１４１】
RTPパケット２１１−５乃至２１１−７は、次のメディアユニットの画像データを格納している。RTPパケット２１１−５乃至２１１−７には、２００を示すタイムスタンプが付加されている。最終パケットであるRTPパケット２１１−７には、マーカビットが付加されている。
【０１４２】
RTPパケット２１１−５乃至２１１−７には、それぞれ、５である先頭シーケンス番号を示す拡張シーケンス番号が付加されている。
【０１４３】
RTPパケット２１１−８乃至２１１−１０は、更に次のメディアユニットの画像データを格納している。RTPパケット２１１−８乃至２１１−１０には、３００を示すタイムスタンプが付加されている。最終パケットであるRTPパケット２１１−１０には、マーカビットが付加されている。
【０１４４】
RTPパケット２１１−８乃至２１１−１０には、それぞれ、８である先頭シーケンス番号を示す拡張シーケンス番号が付加されている。
【０１４５】
図８のステップＳ１５の処理により、RTPパケットのシーケンス番号とは別に、拡張シーケンス番号がRTPパケットに付加されるので、メディアユニットをまたがってパケットロスが生じた場合でも、RTPパケットのシーケンス番号と、拡張シーケンス番号とが一致するか否かで、メディアユニットの先頭のデータを格納したパケットであるか否かを判定することができる。
【０１４６】
例えば、図１１で示されるように、RTPパケット２１１−６乃至２１１−８にパケットロスが生じた場合、RTPパケット２１１−９について、シーケンス番号と拡張シーケンス番号とが一致するか否かが判定される。RTPパケット２１１−９における、シーケンス番号が９であり、拡張シーケンス番号（先頭シーケンス番号）が８なので、シーケンス番号と拡張シーケンス番号とが一致せず、RTPパケット２１１−９は、メディアユニットの先頭パケットでないことがわかる。
【０１４７】
この場合、RTPパケット２１１−８のシーケンス番号が、先頭の拡張シーケンス番号と一致し、かつ、メディアユニットの先頭パケットがパケットロスを起している場合、RTPパケット２１１−８乃至RTPパケット２１１−１０からなるメディアユニットが即座に破棄されるので、ネットワーク上でストリームデータの再生における遅延が抑制される。
【０１４８】
以上の処理により、パケットロスを起したパケットは、デコードしないで、即座に破棄されることが可能となり、結果として、パケットロスを起したパケットを読み出すための時間が削減され、通信の信頼を高めることが可能となる。また、正しいパケットが１つでも到達した時点で、他のパケットの破棄処理を行うことで、TCP方式の通信に比べてRTP方式の通信の特徴を活かしたまま、RTP方式による通信における弱点であった再生の遅延を抑制することが可能となる。
【０１４９】
図１２は、RTPパケット作成部２３１のより詳細な機能の構成例を表すブロック図である。図１２において、図５の場合と対応する構成には、同一の符号を付してあり、その説明は、適宜省略するものとする。
【０１５０】
前メディアユニットの最終シーケンス番号抽出部２５１（以下、最終シーケンス番号抽出部と称する）は、１つのメディアユニットの画像データを格納する複数のパケットのうち、最終パケットのシーケンス番号（以下、最終シーケンス番号と称する）を抽出する。例えば、動画は、複数のパケットからなるメディアユニットより構成される。なお、メディアユニットは、符号化、表示などにおけるデータの所定の単位とすることができる。最終シーケンス番号抽出部２５１は、前メディアユニットの最終パケットから抽出された最終シーケンス番号をメモリ１６５に供給する。
【０１５１】
メモリ１６５は、最終シーケンス番号抽出部２５１から供給された最終シーケンス番号を記憶する。
【０１５２】
前メディアユニットの最終シーケンス番号付加部２５２（以下、最終シーケンス番号付加部と称する）は、メモリ１６５に記憶されている最終シーケンス番号を拡張シーケンス番号として総てのRTPパケットに付加する。最終シーケンス番号付加部２５２は、拡張シーケンス番号を付加したRTPパケットをパケット出力部１６６に供給する。
【０１５３】
図１３は、RTPパケット先頭判定部２８１のより詳細な機能の構成例を表すブロック図である。図１３において、図７の場合と対応する構成には、同一の符号を付してあり、その説明は、適宜省略するものとする。
【０１５４】
パケット入力部１８１は、通信部１７１が出力したRTPパケットを、シーケンス番号抽出部１８２または前メディアユニットの最終シーケンス番号抽出部２９１（以下、最終シーケンス番号抽出部と称する）へ送信する。
最終シーケンス番号抽出部２９１は、RTPパケットに拡張シーケンス番号として付加されている、そのRTPパケットに格納されているデータで構成される前メディアユニットの最終パケットのシーケンス番号である最終シーケンス番号を抽出し、抽出した最終シーケンス番号を判定部２９２に供給する。
【０１５５】
判定部２９２は、シーケンス番号抽出部１８２で抽出されたシーケンス番号と、最終シーケンス番号抽出部２９１で抽出された拡張シーケンス番号に１を加えた数が一致するか否かを判定する。判定部２９２は、判定結果をデコード制御部１８５に通知する。
【０１５６】
デコード制御部１８５は、シーケンス番号と最終シーケンス番号に１加えた数とが一致するか否かの判定結果を基に、制御信号を生成し、生成した制御信号をデコーダ１７３へ送信する。
【０１５７】
図１４は、サーバ１１２の送信処理におけるフローチャートである。
【０１５８】
ステップＳ５１において、エンコーダ１５１は、ビデオカメラ１１１から供給された画像データをキャプチャする。
【０１５９】
ステップＳ５２において、エンコーダ１５１は、キャプチャした画像データを符号化する。例えば、ステップＳ５２において、エンコーダ１５１は、キャプチャした画像データを、MPEG2、MPEG4、またはJPEG2000等の方式により符号化する。
【０１６０】
ステップＳ５３において、RTPパケット作成部２３１のパケット作成部１６２は、符号化された画像データより、RTPパケットを生成する。例えば、パケット作成部１６２は、データ入力部１６１からフレーム毎に供給される画像データを所定のデータに分割して、分割して得られたデータをそれぞれRTPパケットに格納することにより、RTPパケット生成する。
【０１６１】
RTPパケットは、例えば、図１５で示されるようなものである。図１５において、図９の場合と対応する構成には説明を、適宜省略するものとする。
【０１６２】
SSRC（Synchronization source）識別子は、タイムスタンプの次に配置される、３２ビットの情報であって、RTPパケットに格納されるストリーミングデータのソースを示す。
【０１６３】
SSRCの次には、拡張シーケンス番号を格納するための１６ビットの領域が設けられており、後述する処理により、最終シーケンス番号が格納される。なお、図１４のステップＳ５３の処理においては、領域が確保されるのであって、シーケンス番号は格納されていない。
【０１６４】
ステップＳ５４において、最終シーケンス番号抽出部２５１は、前メディアユニットの最終パケットから最終シーケンス番号を抽出する。すなわち、最終シーケンス番号抽出部２５１は、最終シーケンス番号を前メディアユニットの最終パケットから抽出する。抽出された最終シーケンス番号は、メモリ１６５に記憶される。
【０１６５】
ステップＳ５５において、最終シーケンス番号付加部２５２は、最終シーケンス番号抽出部２５１で抽出された最後のシーケンス番号を、生成されたRTPパケットの拡張データとして、RTPパケットに付加する。より具体的には、最終シーケンス番号付加部２５２は、図１５で示される１６ビットの拡張シーケンス番号の領域に抽出された前メディアユニットの最終パケットの最終シーケンス番号を格納する。
【０１６６】
ステップＳ５６において、通信部１５３は、ステップＳ５５で生成された最終シーケンス番号に１を加えた数を付加されたRTPパケットを、クライアント１１４へと送信する。
【０１６７】
ステップＳ５７において、サーバ１１２は、RTPタイムスタンプを更新する。例えば、ステップＳ１７において、サーバ１１２は、RTPタイムスタンプにフレーム間隔を加算することにより、RTPタイムスタンプを更新する。
【０１６８】
ステップ５８において、エンコーダ１５１は、FRタイマ１５１ａのカウントが終了したか否かを判定する。例えば、メディアユニットレートを３０fpsとした場合、FRタイマ１５１ａの設定時間である３３msecが経過したか否かを判定する。ステップＳ１８において、FRタイマ１５１ａのカウントが終了していないと判定された場合、判定の処理が繰り返される。FRタイマ１５１ａのカウントが終了したと判定された場合、ステップＳ１１に戻り、上述した処理が繰り返される
【０１６９】
図１４のフローチャートを参照して説明したように、クライアント１１４は、例えば、図１６で示されるようにRTPパケットを受信し、復号する。
【０１７０】
ステップＳ７１において、クライアント１１４の通信部１７１は、サーバ１１２より送信されてきたRTPパケットを受信したか否かを判定し、RTPパケットが受信されていないと判定された場合、手続きは、ステップＳ７２に進む。なお、RTPパケットが受信されたと判定された場合、通信部１７１は、受信したRTPパケットをRTPパケット先頭判定部２８１に供給する。
【０１７１】
ステップＳ７２において、クライアント１１４のRTPパケット先頭判定部２８１は、受信されたRTPパケットのタイムスタンプが新しいものであるか否かを判定する。例えば、RTPパケット先頭判定部２８１は、通信部１７１から供給されるRTPパケットからタイムスタンプを抽出する。そして、RTPパケット先頭判定部２８１は、抽出したタイムスタンプを記憶する。RTPパケット先頭判定部２８１は、次にRTPパケットが供給された場合、このRTPパケットからタイムスタンプを抽出し、記憶しているタイムスタンプと比較する。RTPパケット先頭判定部２８１は、比較の結果を基に、タイムスタンプが新しいものであるか否かを判定する。
【０１７２】
ステップＳ７３において、シーケンス番号抽出部１８２は、新しいタイムスタンプのRTPパケットより、シーケンス番号を抽出する。シーケンス番号抽出部１８２は、シーケンス番号を判定部１８４に供給する。
【０１７３】
ステップＳ７４において、最終シーケンス番号抽出部２９１は、新しいタイムスタンプのRTPパケットの前メディアユニットの最終パケットより、拡張シーケンス番号として格納されている最終シーケンス番号を抽出する。最終シーケンス番号抽出部２９１は、最終シーケンス番号を判定部２９２に供給する。
【０１７４】
ステップＳ７５において、判定部１８４が、シーケンス番号抽出部１８２から供給されたシーケンス番号と、最終シーケンス番号抽出部２９１から供給された最終シーケンス番号に１を加えた数が同じであるか否かを判定する。ステップＳ７５において、シーケンス番号と最終シーケンス番号に１を加えた数が同じであると判定された場合、新しいタイムスタンプのRTPパケットが、１つのメディアユニットの画像データを格納する複数のRTPパケットのうちの、最終のRTPパケット、すなわち最終パケットなので、ステップＳ７６に進み、デコード制御部１８５は、RTPパケットのデコードを指示する制御信号をデコーダ１７３に供給することにより、デコーダ１７３にRTPパケットをデコードさせる。言い換えれば、デコード制御部１８５は、デコーダ１７３に、その新しいタイムスタンプのRTPパケットをデコードさせる。
【０１７５】
一方、ステップＳ７５において、シーケンス番号と最終シーケンス番号に１を加えた数が異なると判定された場合、新しいタイムスタンプのRTPパケットが、先頭パケットではないので、ステップＳ７７に進み、デコード制御部１８５は、RTPパケットの破棄を指示する制御信号をデコーダ１７３に供給することにより、デコーダ１７３にRTPパケットを破棄させる。言い換えれば、デコード制御部１８５は、デコーダ１７３に、その新しいタイムスタンプのRTPパケットの総てを破棄させる。
【０１７６】
ステップＳ７６およびステップＳ７７の処理の後、ステップＳ７１に戻り、上述した処理が繰り返される。
【０１７７】
図１７は、拡張シーケンス番号を付加したRTPパケットの例を示す図である。
【０１７８】
RTPパケット３１１−１乃至３１１−１０は、それぞれ、画像データを格納している。RTPパケット３１１−１乃至３１１−１０には、それぞれ、１乃至１０のシーケンス番号が付加されている。
【０１７９】
図中のTSは、タイムスタンプを示す。また、図中のｍは、マーカビットを示す。
【０１８０】
RTPパケット３１１−１乃至３１１−４は、１つのメディアユニットの画像データを格納している。RTPパケット３１１−１乃至３１１−４には、１００を示すタイムスタンプが付加されている。RTPパケット３１１−１乃至３１１−４のうち、RTPパケット３１１−４は、最後のパケットなので、RTPパケット３１１−４には、マーカビットが付加されている。
【０１８１】
RTPパケット３１１−１乃至３１１−４には、それぞれ、１である先頭シーケンス番号を示す拡張シーケンス番号が付加されている。
【０１８２】
なお、RTPパケットは、RTPパケット３１１−１乃至３１１−４より前に存在しないので、本実施例おいては、RTPパケット３１１−１乃至３１１−４に付加される前メディアユニットの最終シーケンス番号を１とし、RTPパケットに付加される。
【０１８３】
RTPパケット３１１−５乃至３１１−７は、次のメディアユニットの画像データを格納している。RTPパケット３１１−５乃至３１１−７には、２００を示すタイムスタンプが付加されている。最終パケットであるRTPパケット３１１−７には、マーカビットが付加されている。
【０１８４】
RTPパケット３１１−５乃至３１１−７には、それぞれ、４である前メディアユニットの最終シーケンス番号を示す拡張シーケンス番号が付加されている。
【０１８５】
RTPパケット３１１−８乃至３１１−１０は、更に次のメディアユニットの画像データを格納している。RTPパケット３１１−８乃至３１１−１０には、３００を示すタイムスタンプが付加されている。最終パケットであるRTPパケット３１１−１０には、マーカビットが付加されている。
【０１８６】
RTPパケット３１１−８乃至３１１−１０には、それぞれ、７である前メディアユニットの最終シーケンス番号を示す拡張シーケンス番号が付加されている。
【０１８７】
図１４のステップＳ５５の処理により、RTPパケットのシーケンス番号とは別に、拡張シーケンス番号がRTPパケットに付加されるので、メディアユニットをまたがってパケットロスが生じた場合でも、RTPパケットのシーケンス番号と、拡張シーケンス番号に１を加えた数とが一致するか否かで、メディアユニットの先頭のデータを格納したパケットであるか否かを判定することができる。
【０１８８】
例えば、図１７で示されるように、RTPパケット３１１−６乃至３１１−８にパケットロスが生じた場合、RTPパケット３１１−９について、シーケンス番号と拡張シーケンス番号に１を加えた数とが一致するか否かが判定される。RTPパケット３１１−９における、シーケンス番号が９であり、拡張シーケンス番号が７なので、シーケンス番号と拡張シーケンス番号に１を加えた数とが一致せず、RTPパケット３１１−９は、メディアユニットの先頭パケットでないことがわかる。
【０１８９】
この場合、RTPパケット３１１−８のシーケンス番号が、先頭の拡張シーケンス番号と一致し、かつ、メディアユニットの先頭パケットがパケットロスを起している場合、RTPパケット２１１−８乃至RTPパケット２１１−１０からなるメディアユニットが即座に破棄されるので、ネットワーク上でストリームデータの再生における遅延が抑制される。
【０１９０】
以上の処理により、パケットロスを起したパケットは、即座に破棄されることが可能となり、結果として、パケットロスを起したパケットを読み出すための時間が削減され、通信の信頼性を高めることが可能となる。また、正しいパケットが１つでも到着した時点で、他のパケットの破棄処理を行うことで、TCP方式の通信に比べてRTP方式の通信の特徴を活かしたまま、RTP方式による通信における弱点であった再生の遅延を抑制することが可能となる。
【０１９１】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【０１９２】
プログラムが記録されている記録媒体は、図３に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１４１（フレキシブルディスクを含む）、光ディスク１４２（CD-ROM(Compact Disc-Read Only Memory)，DVD（Digital Versatile Disk）を含む）、光磁気ディスク１４３（MD（Mini-Disc）を含む）、もしくは半導体メモリ１４４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM１３２や、記録部１３６に含まれるハードディスクなどで構成される。
【０１９３】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【０１９４】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１９５】
【図１】従来のRTPパケットを模式的に表した図である。
【図２】本発明のストリーミングデータ配信システムの一実施の形態を示す図である。
【図３】サーバのハードウエアの構成例を示すブロック図である。
【図４】サーバの機能的な構成例を示すブロック図である。
【図５】RTPパケット作成部のより詳細な機能構成例を示すブロック図である。
【図６】クライアントの機能的な構成例を示すブロック図である
【図７】RTPパケット先頭判定部のより詳細な機能構成例を示すブロック図である。
【図８】送信処理を説明するフローチャートである。
【図９】RTPパケットの構成例を表す図である。
【図１０】受信処理を説明するフローチャートである。
【図１１】拡張シーケンス番号を付加したRTPパケットの例を示す図である。
【図１２】RTPパケット作成部の機能的な構成例を示すブロック図である。
【図１３】RTPパケット先頭判定部の機能的な構成例を示すブロック図である。
【図１４】送信処理を説明するフローチャートである。
【図１５】RTPパケットの構成例を表す図である。
【図１６】受信処理を説明するフローチャートである。
【図１７】拡張シーケンス番号を付加したRTPパケットの例を示す図である。
【符号の説明】
【０１９６】
１０１  通信システム，  １１１  ビデオカメラ，  １１２  サーバ，  １１３  パケット通信網，  １１４  クライアント，  １２１  バス，  １２３  入出力インターフェース，  １３１  CPU，  １３２  ROM，  １３３  RAM，  １３４  入力部，  １３５  出力部，  １３６  記録部，  １３７  通信部，  １３８  ドライブ，  １４１  磁気ディスク５１，  １４２  光ディスク，  １４３  光磁気ディスク，  １４４  半導体メモリ，  １５１  エンコーダ，  １５１ａ  ＦＲタイマ，  １５２  RTPパケット生成部，  １５３  通信部，  １６１  データ入力部，  １６２  パケット作成部，  １６３  先頭シーケンス番号抽出部，  １６４  先頭シーケンス番号付加部，  １６５  メモリ，  １６６  パケット出力部，  １７１  通信部，  １７２  RTPパケット先頭判定部，  １７３  デコーダ，  １８１  パケット入力部，  １８２  シーケンス番号抽出部，  １８３  先頭シーケンス番号抽出部，  １８４  判定部，  １８５  デコード制御部，  ２３１  RTPパケット作成部，  ２５１  最終シーケンス番号抽出部，  ２５２  最終シーケンス番号付加部，  ２８１  RTPパケット先頭判定部，  ２９１  最終シーケンス番号抽出部，  ２９２  判定部
【図１】
2006295537.tif 000003
【図２】
2006295537.tif 000004
【図３】
2006295537.tif 000005
【図４】
2006295537.tif 000006
【図５】
2006295537.tif 000007
【図６】
2006295537.tif 000008
【図７】
2006295537.tif 000009
【図８】
2006295537.tif 000010
【図９】
2006295537.tif 000011
【図１０】
2006295537.tif 000012
【図１１】
2006295537.tif 000013
【図１２】
2006295537.tif 000014
【図１３】
2006295537.tif 000015
【図１４】
2006295537.tif 000016
【図１５】
2006295537.tif 000017
【図１６】
2006295537.tif 000018
【図１７】
2006295537.tif 000019