JP4876427B2 - 通信システム、送信装置、送信方法、受信装置、受信方法、およびプログラム - Google Patents

通信システム、送信装置、送信方法、受信装置、受信方法、およびプログラム Download PDF

Info

Publication number
JP4876427B2
JP4876427B2 JP2005113370A JP2005113370A JP4876427B2 JP 4876427 B2 JP4876427 B2 JP 4876427B2 JP 2005113370 A JP2005113370 A JP 2005113370A JP 2005113370 A JP2005113370 A JP 2005113370A JP 4876427 B2 JP4876427 B2 JP 4876427B2
Authority
JP
Japan
Prior art keywords
packet
sequence number
time stamp
packets
added
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005113370A
Other languages
English (en)
Other versions
JP2006295537A (ja
Inventor
健治 山根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005113370A priority Critical patent/JP4876427B2/ja
Publication of JP2006295537A publication Critical patent/JP2006295537A/ja
Application granted granted Critical
Publication of JP4876427B2 publication Critical patent/JP4876427B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、通信システム、送信装置、送信方法、受信装置、受信方法、およびプログラに関し、特に、ストリーム方式のデータの伝送に適した通信システム、送信装置、送信方法、受信装置、受信方法、およびプログラに関する。
昨今、インターネットなど、種々の通信媒体を介して、画像データまたは音声データを伝送して提供するサービスが一般に行われている。特に、近年、ダウンロード型の伝送方式のサービスに加えて、ストリーム型の伝送方式のサービスがより多く提供されるようになってきた。
ダウンロード型の伝送方式のサービスにおいては、受信装置が、送信装置から送信された画像または音声のデータを格納するファイルを受信し、受信したファイルを自分の記録媒体に記録する。受信装置は、ファイルの記録が完了した後、記録したファイルを基に、画像または音声を再生する。ダウンロード型の伝送方式のサービスにおいては、ファイルの記録が完了するまでは、再生することができないので、ダウンロード型の伝送方式のサービスは、長時間の再生またはリアルタイムの再生には適さない。
一方、ストリーム型の伝送方式のサービスにおいては、受信装置が、送信装置から送信されてくるデータを受信するとともに、これに並行して、受信されたデータを基に画像または音声を再生する。ストリーム型の伝送方式は、インターネット電話、遠隔テレビ会議、またはビデオオンデマンドなどのインターネットサービスに利用されている。
ストリーム型の伝送方式において、送信装置から送信されてくるデータを、一般に、ストリーミングデータと称する。
より具体的な例として、ストリーム型の伝送方式は、画像データにMPEG(Moving Picture Experts Group)符号化処理を適用することにより生成されるMPEGストリームを格納する。IP(Internet Protocol)パケットをインターネットを介して伝送するシステムで使用される。このシステムにおいて、受信装置である、PC(Personal Computer)、PDA(Personal Digital Assistance)、または携帯電話機は、IPパケットを受信し、画像を再生する。
ストリーム型の伝送方式は、ビデオオンデマンド若しくはライブ映像のストリーミング配信、ビデオ会議、またはテレビ電話などのリアルタイム通信に適している。
このようなストリーム型の伝送方式の技術の1つとして、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によるデータの伝送においては、タイムスタンプ、シーケンス番号、およびマーカビットが用いられる。タイムスタンプは、1つのメディアユニット毎に変化する。メディアユニットは、動画であれば、1つのフレームに相当する。シーケンス番号は、パケット毎に変化する。マーカビットは、1つのメディアユニットの最後のパケットに付される。
MPEG(Moving Picture Experts Group)などのようなメディアユニット間差分を取る符号化方式の場合、パケットロスにより、あるメディアユニットのデータが欠落すると、それ以降のメディアユニットの画質に影響が出てくる、いわゆるエラーの伝搬が生じる。
一方、JPEG(Joint Photographic Experts Group)2000の規格に基づいて、静止画を連続的に再生することで動画を取り扱うことができる。このような動画の取り扱いは、ISO(International Organization for Standardization)で標準化されたJPEG2000規格のpart3に定義されている。JPEG2000においては、メディアユニット間差分が取られず、前述したような問題は発生しないが、メディアユニットの先頭パケットが、パケットロスを引き起こすと、メディアユニット内の他のパケットが存在していても、受信装置は、パケットを利用して再生することができない。
図1は、従来のRTPパケットを模式的に表したものである。
RTPパケット11−1乃至11−10は、それぞれ、画像データを格納する。RTPパケット11−1乃至11−10には、それぞれ、1乃至10のシーケンス番号が付加されている。すなわち、RTPパケット11−1乃至11−10は、それぞれに付加されたシーケンス番号の順に送信される。
図中のTSは、タイムスタンプを示す。また、図中のmは、マーカビットを示す。
RTPパケット11−1乃至11−4は、1つのメディアユニットの画像データを格納する。RTPパケット11−1乃至11−4には、100を示すタイムスタンプが付加されている。RTPパケット11−1乃至11−4のうち、RTPパケット11−4は、最後のパケットなので、RTPパケット11−4には、マーカビットが付加される。
RTPパケット11−5乃至11−7は、次のメディアユニットの画像データを格納する。RTPパケット11−5乃至11−7には、200を示すタイムスタンプが付加されている。最後のパケットであるRTPパケット11−7には、マーカビットが付加される。RTPパケット11−8乃至11−10は、更に次のメディアユニットの画像データを格納する。RTPパケット11−8乃至11−10には、300を示すタイムスタンプが付加されている。最後のパケットであるRTPパケット11−10には、マーカビットが付加される。
従来、少なくとも送信すべきコンテンツをメディアの種別、IPアドレス、ポート番号、セッション識別子のいずれかのヘッダ情報に基づいて、コンテンツを分類してまとめるコンテンツ分類部を設け、パケットヘッダ圧縮部で送信パケットのヘッダ圧縮を行うようにしているものがある(例えば、特許文献1参照)。
また、JPEG2000用のRTPペイロードのフォーマットにPriorityを配置し、そこにパケットに含まれるコードストリームの重要度を表す値を格納するようにしているものもある(例えば、特許文献2参照)。この場合、typeは、JPEG2000コードストリームのペイロードタイプを表し、mh_idは、JPEG2000コードストリームのメインヘッダの識別子であり、メインヘッダの変化の有無を表す。また、mh_lengthは、メインヘッダの長さを表し、fragment offsetには、パケットにおける画像の先頭からオフセットバイト数が格納される。
特開2003−338830号公報
特開2003−209839号公報
しかしながら、図1で示す場合において、RTPパケット11−6乃至11−8にパケットロスが生じた場合、受信側で、RTPパケット11−9が、300を示すタイムスタンプが付加されているパケットのうち、メディアユニットの先頭のデータを格納するパケットであるかを知ることはできない。
このように、メディアユニットにまたがってパケットロスが生じた場合、その後に送信されてくるパケットがメディアユニットの先頭のデータを格納しているかを知ることはできなかった。メディアユニットの先頭のデータではないデータを、メディアユニットの先頭のデータとして、再生を行うと、再生の質が低下してしまうだけでなく、再生にかかる負荷が大きくなってしまう。
本発明はこのような状況に鑑みてなされたものであり、データの質を低下させてしまうようなデータの再生を回避するとともに、再生のための負荷をより少なくすることができるようにするものである。
本発明の第1の側面における通信システムは、ストリーミングデータが格納された複数のパケットを送信する送信装置、および信装置からのケットを受信する受信装置からなる通信システムである。詳細には、送信装置は、ストリーミングデータを符号化する符号化手段と、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成手段と、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段と、同一のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最小のシーケンス番号を抽出する第1の抽出手段と、同一のタイムスタンプが付加された各パケットに、第1の抽出手段により抽出された最小のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段と、受信装置に、同一のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信手段とを備え、受信装置は、送信装置から送信されてきたパケットを受信する受信手段と、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第2の抽出手段と、第2のパケットに付加されている拡張シーケンス番号を抽出する第3の抽出手段と、抽出されたシーケンス番号と、抽出された拡張シーケンス番号が一致する場合、第1のパケットとは異なるタイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、第1のパケットとは異なるタイムスタンプが付加された各パケットを復号し、抽出されたシーケンス番号と、抽出された拡張シーケンス番号が一致しない場合、第1のパケットとは異なるタイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、第1のパケットとは異なるタイムスタンプが付加された各パケットを復号せずに破棄する復号手段とを備える。
本発明の第1の側面における送信装置は、ストリーミングデータが格納された複数のパケットを送信する送信装置であって、ストリーミングデータを符号化する符号化手段と、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成手段と、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段と、同一のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最小のシーケンス番号を抽出する抽出手段と、同一のタイムスタンプが付加された各パケットに、抽出手段により抽出された最小のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段と、パケットを受信して復号する受信装置に、同一のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信手段とを備え、拡張シーケンス番号は、受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、受信装置において受信した各パケットを復号するか、それとも、受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる送信装置である。
前記符号化手段には、動画像または音声の少なくとも一方により構成されるストリーミングデータを符号化させることができる。
本発明の第1の側面における送信方法は、ストリーミングデータが格納された複数のパケットを送信する送信装置の送信方法であって、ストリーミングデータを符号化する符号化ステップと、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成ステップと、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加ステップと、同一のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最小のシーケンス番号を抽出する抽出ステップと、同一のタイムスタンプが付加された各パケットに、抽出ステップにより抽出された最小のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加ステップと、パケットを受信して復号する受信装置に、同一のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信ステップとを含み、拡張シーケンス番号は、受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、受信装置において受信した各パケットを復号するか、それとも、受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる送信方法である。
本発明の第1の側面における第1のプログラムは、ストリーミングデータが格納された複数のパケットを送信する送信装置のコンピュータに実行させるためのプログラムであって、ストリーミングデータを符号化する符号化ステップと、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成ステップと、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加ステップと、同一のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最小のシーケンス番号を抽出する抽出ステップと、同一のタイムスタンプが付加された各パケットに、抽出ステップにより抽出された最小のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加ステップと、パケットを受信して復号する受信装置に、同一のタイムスタンプ及び拡張シーケンス番号が付加された各パケットの送信を制御する送信制御ステップとを含み、拡張シーケンス番号は、受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、受信装置において受信した各パケットを復号するか、それとも、受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる処理をコンピュータに実行させるためのプログラムである。
本発明の第1の側面における受信装置は、ストリーミングデータが格納された複数のパケットを受信する受信装置であって、複数のパケットを送信する送信装置からのパケットを受信する受信手段と、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第1の抽出手段と、第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出手段と、シーケンス番号と拡張シーケンス番号が一致する場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号し、シーケンス番号と拡張シーケンス番号が一致しない場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄する復号手段とを備える受信装置である。
シーケンス番号と拡張シーケンス番号が一致するか否かを判定する判定手段をさらに設けることができ、復号手段には、シーケンス番号と拡張シーケンス番号が一致すると判定された場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号させ、シーケンス番号と拡張シーケンス番号が一致しないと判定された場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄させるようにすることができる。
本発明の第1の側面における受信方法は、ストリーミングデータが格納された複数のパケットを受信する受信装置の受信方法であって、複数のパケットを送信する送信装置からのパケットを受信する受信ステップと、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第1の抽出ステップと、第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出ステップと、前記シーケンス番号と前記拡張シーケンス番号が一致する場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号し、シーケンス番号と拡張シーケンス番号が一致しない場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄する復号ステップとを含む受信方法である。
本発明の第1の側面における第2のプログラムは、ストリーミングデータが格納された複数のパケットを受信する受信装置のコンピュータに実行させるためのプログラムであって、複数のパケットを送信する送信装置からのパケットの受信を制御する受信制御ステップと、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第1の抽出ステップと、第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出ステップと、シーケンス番号と拡張シーケンス番号が一致する場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号し、シーケンス番号と拡張シーケンス番号が一致しない場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄する復号ステップとを含む処理をコンピュータに実行させるためのプログラムである。
本発明の第2の側面における通信システムは、ストリーミングデータが格納された複数のパケットを送信する送信装置、および前記送信装置からの前記パケットを受信する受信装置からなる通信システムである。詳細には、送信装置は、ストリーミングデータを符号化する符号化手段と、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成手段と、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段と、第1のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最大のシーケンス番号を抽出する第1の抽出手段と、第1のタイムスタンプの次の時刻を表す第2のタイムスタンプが付加された各パケットに、第1の抽出手段により抽出された最大のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段と、受信装置に、第2のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信手段とを備え、受信装置は、送信装置から送信されてきたパケットを受信する受信手段と、直前に受信された第1のパケットとは異なる第3のタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第2の抽出手段と、第2のパケットに付加されている拡張シーケンス番号を抽出する第3の抽出手段と、抽出されたシーケンス番号と、抽出された拡張シーケンス番号に1を加算して得られる加算結果が一致する場合、第3のタイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、第3のタイムスタンプが付加された各パケットを復号し、抽出されたシーケンス番号と、抽出された拡張シーケンス番号に1を加算して得られる加算結果が一致しない場合、第3のタイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、第3のタイムスタンプが付加された各パケットを復号せずに破棄する復号手段とを備える。
本発明の第2の側面における送信装置は、ストリーミングデータが格納された複数のパケットを送信する送信装置であって、ストリーミングデータを符号化する符号化手段と、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成手段と、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段と、第1のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最大のシーケンス番号を抽出する第1の抽出手段と、第1のタイムスタンプの次の時刻を表す第2のタイムスタンプが付加された各パケットに、第1の抽出手段により抽出された最大のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段と、パケットを受信して復号する受信装置に、第2のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信手段とを備え、拡張シーケンス番号は、受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、受信装置において受信した各パケットを復号するか、それとも、受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる送信装置である。
前記符号化手段には、動画像圧縮または音声の少なくとも一方により構成されるストリーミングデータを符号化させることができる。
本発明の第2の側面における送信方法は、ストリーミングデータが格納された複数のパケットを送信する送信装置の送信方法であって、ストリーミングデータを符号化する符号化ステップと、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成ステップと、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加ステップと、第1のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最大のシーケンス番号を抽出する第1の抽出ステップと、第1のタイムスタンプの次の時刻を表す第2のタイムスタンプが付加された各パケットに、第1の抽出ステップにより抽出された最大のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加ステップと、パケットを受信して復号する受信装置に、第2のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信ステップとを含み、拡張シーケンス番号は、受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、受信装置において受信した各パケットを復号するか、それとも、受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる送信方法である。
本発明の第2の側面における第1のプログラムは、ストリーミングデータが格納された複数のパケットを送信する送信装置のコンピュータに実行させるためのプログラムであって、ストリーミングデータを符号化する符号化ステップと、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成ステップと、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加ステップと、第1のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最大のシーケンス番号を抽出する第1の抽出ステップと、第1のタイムスタンプの次の時刻を表す第2のタイムスタンプが付加された各パケットに、第1の抽出ステップにより抽出された最大のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加ステップと、パケットを受信して復号する受信装置に、第2のタイムスタンプ及び拡張シーケンス番号が付加された各パケットの送信を制御する送信制御ステップとを含み、拡張シーケンス番号は、受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、受信装置において受信した各パケットを復号するか、それとも、受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる処理をコンピュータに実行させるためのプログラムである。
本発明の第2の側面における受信装置は、ストリーミングデータが格納された複数のパケットを受信する受信装置であって、複数のパケットを送信する送信装置からのパケットを受信する受信手段と、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第1の抽出手段と、第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出手段と、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致する場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号し、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致しない場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄する復号手段とを備える受信装置である。
シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致するか否かを判定する判定手段をさらに設けることができ、復号手段には、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致すると判定された場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号させ、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致しないと判定された場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号させずに破棄させるようにすることができる。
本発明の第2の側面における受信方法は、ストリーミングデータが格納された複数のパケットを受信する受信装置の受信方法であって、複数のパケットを送信する送信装置からのパケットを受信する受信ステップと、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第1の抽出ステップと、第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出ステップと、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致する場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号し、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致しない場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄する復号ステップとを含む受信方法である。
本発明の第2の側面における第2のプログラムは、ストリーミングデータが格納された複数のパケットを受信する受信装置のコンピュータに実行させるためのプログラムであって、複数のパケットを送信する送信装置からのパケットの受信を制御する受信制御ステップと、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第1の抽出ステップと、第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出ステップと、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致する場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号し、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致しない場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄する復号ステップとを含む処理をコンピュータに実行させるためのプログラムである。
本発明によれば、パケット処理に必要な負荷を軽減することができる。
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
本発明の第1の側面における通信システムは、ストリーミングデータが格納された複数のパケットを送信する送信装置(例えば、図2のサーバ112)、および前記送信装置からの前記パケットを受信する受信装置(例えば、図2のクライアント114)からなる通信システムである。詳細には、送信装置は、ストリーミングデータを符号化する符号化手段(例えば、図4のエンコーダ151)と、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成手段(例えば、図5のパケット作成部162)と、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段(例えば、図5のパケット作成部162)と、同一のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最小のシーケンス番号を抽出する第1の抽出手段(例えば、図5の先頭シーケンス番号抽出部163)と、同一のタイムスタンプが付加された各パケットに、第1の抽出手段により抽出された最小のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段(例えば、図5の先頭シーケンス番号付加部164)と、受信装置に、同一のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信手段(例えば、図4の通信部153)とを備え、受信装置は、送信装置から送信されてきたパケットを受信する受信手段(例えば、図6の通信部171)と、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第2の抽出手段(例えば、図7のシーケンス番号抽出部182)と、第2のパケットに付加されている拡張シーケンス番号を抽出する第3の抽出手段(例えば、図7の先頭シーケンス番号抽出部183)と、抽出された前記シーケンス番号と、抽出された前記拡張シーケンス番号が一致する場合、第1のパケットとは異なるタイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、第1のパケットとは異なるタイムスタンプが付加された各パケットを復号し、抽出されたシーケンス番号と、抽出された拡張シーケンス番号が一致しない場合、第1のパケットとは異なるタイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、第1のパケットとは異なるタイムスタンプが付加された各パケットを復号せずに破棄する復号手段(例えば、図6のデコーダ173)とを備える。
本発明の第1の側面における送信装置は、ストリーミングデータが格納された複数のパケットを送信する送信装置であって、ストリーミングデータを符号化する符号化手段(例えば、図4のエンコーダ151)と、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成手段(例えば、図5のパケット作成部162)と、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段(例えば、図5のパケット作成部162)と、同一のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最小のシーケンス番号を抽出する抽出手段(例えば、図5の先頭シーケンス番号抽出部163)と、同一のタイムスタンプが付加された各パケットに、抽出手段により抽出された最小のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段(例えば、図5の先頭シーケンス番号付加部164)と、パケットを受信して復号する受信装置に、同一のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信手段(例えば、図4の通信部153)とを備え、拡張シーケンス番号は、受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、受信装置において受信した各パケットを復号するか、それとも、受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる送信装置である。
本発明の第1の側面における送信方法は、ストリーミングデータが格納された複数のパケットを送信する送信装置の送信方法であって、ストリーミングデータを符号化する符号化ステップ(例えば、図8のステップS12)と、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成ステップ(例えば、図8のステップS13)と、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加ステップ(例えば、図8のステップS13およびステップS17)と、同一のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最小のシーケンス番号を抽出する抽出ステップ(例えば、図8のステップS14)と、同一のタイムスタンプが付加された各パケットに、抽出ステップにより抽出された最小のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加ステップ(例えば、図8のステップS15)と、パケットを受信して復号する受信装置に、同一のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信ステップ(例えば、図8のステップS16)とを含み、拡張シーケンス番号は、受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、受信装置において受信した各パケットを復号するか、それとも、受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる送信方法である。なお、本発明の第1の側面における第1のプログラムについては、第1の側面における送信方法と同様である。
本発明の第1の側面における受信装置は、ストリーミングデータが格納された複数のパケットを受信する受信装置であって、複数のパケットを送信する送信装置からのパケットを受信する受信手段(例えば、図6の通信部171)と、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第1の抽出手段(例えば、図7のシーケンス番号抽出部182)と、第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出手段(例えば、図7の先頭シーケンス番号抽出部183)と、シーケンス番号と拡張シーケンス番号が一致する場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号し、シーケンス番号と拡張シーケンス番号が一致しない場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄する復号手段(例えば、図6のデコーダ173)とを備える受信装置である。
シーケンス番号と拡張シーケンス番号が一致するか否かを判定する判定手段(例えば、図7の判定部184)をさらに設けることができ、復号手段には、シーケンス番号と拡張シーケンス番号が一致すると判定された場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号させ、シーケンス番号と拡張シーケンス番号が一致しないと判定された場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄させるようにすることができる。
本発明の第1の側面における受信方法は、ストリーミングデータが格納された複数のパケットを受信する受信装置の受信方法であって、複数のパケットを送信する送信装置からのパケットを受信する受信ステップ(例えば、図10のステップS31)と、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第1の抽出ステップ(例えば、図10のステップS33)と、第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出ステップ(例えば、図10のステップS34)と、シーケンス番号と拡張シーケンス番号が一致する場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号し、シーケンス番号と拡張シーケンス番号が一致しない場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄する復号ステップ(例えば、図10のステップS35乃至ステップS37)とを含む受信方法である。なお、本発明の第1の側面における第2のプログラムについては、第1の側面における受信方法と同様である。
本発明の第2の側面における通信システムは、ストリーミングデータが格納された複数のパケットを送信する送信装置(例えば、図2のサーバ112)、および前記送信装置からの前記パケットを受信する受信装置(例えば、図2のクライアント114)からなる通信システムである。詳細には、送信装置は、ストリーミングデータを符号化する符号化手段(例えば、図4のエンコーダ151)と、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成手段(例えば、図12のパケット作成部162)と、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段(例えば、図12のパケット作成部162)と、第1のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最大のシーケンス番号を抽出する第1の抽出手段(例えば、図12の最終シーケンス番号抽出部251)と、第1のタイムスタンプの次の時刻を表す第2のタイムスタンプが付加された各パケットに、第1の抽出手段により抽出された最大のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段(例えば、図12の最終シーケンス番号付加部252)と、受信装置に、第2のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信手段(例えば、図4の通信部153)とを備え、受信装置は、送信装置から送信されてきたパケットを受信する受信手段(例えば、図6の通信部171)と、直前に受信された第1のパケットとは異なる第3のタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第2の抽出手段(例えば、図13のシーケンス番号抽出部182)と、第2のパケットに付加されている拡張シーケンス番号を抽出する第3の抽出手段(例えば、図13の最終シーケンス番号抽出部291)と、抽出されたシーケンス番号と、抽出された拡張シーケンス番号に1を加算して得られる加算結果が一致する場合、第3のタイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、第3のタイムスタンプが付加された各パケットを復号し、抽出されたシーケンス番号と、抽出された拡張シーケンス番号に1を加算して得られる加算結果が一致しない場合、第3のタイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、第3のタイムスタンプが付加された各パケットを復号せずに破棄する復号手段(例えば、図6のデコーダ173)とを備える。
本発明の第2の側面における送信装置は、ストリーミングデータが格納された複数のパケットを送信する送信装置(例えば、図2のサーバ112)であって、ストリーミングデータを符号化する符号化手段(例えば、図4のエンコーダ151)と、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成手段(例えば、図12のパケット作成部162)と、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段(例えば、図12のパケット作成部162)と、第1のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最大のシーケンス番号を抽出する第1の抽出手段(例えば、図12の最終シーケンス番号抽出部251)と、第1のタイムスタンプの次の時刻を表す第2のタイムスタンプが付加された各パケットに、第1の抽出手段により抽出された最大のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段(例えば、図12の最終シーケンス番号付加部252)と、パケットを受信して復号する受信装置に、第2のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信手段(例えば、図4の通信部153)とを備え、拡張シーケンス番号は、受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、受信装置において受信した各パケットを復号するか、それとも、受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる送信装置である。
本発明の第2の側面における送信方法は、ストリーミングデータが格納された複数のパケットを送信する送信装置の送信方法であって、ストリーミングデータを符号化する符号化ステップ(例えば、図14のステップS52)と、符号化されたストリーミングデータより、送信装置から送信される順序を表すシーケンス番号をそれぞれ含む複数のパケットを生成する生成ステップ(例えば、図14のステップS53)と、生成された複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加ステップ(例えば、図14のステップS53およびステップS57)と、第1のタイムスタンプが付加された各パケットにそれぞれ含まれるシーケンス番号のうち、最大のシーケンス番号を抽出する第1の抽出ステップ(例えば、図14のステップS54)と、第1のタイムスタンプの次の時刻を表す第2のタイムスタンプが付加された各パケットに、第1の抽出ステップにより抽出された最大のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加ステップ(例えば、図14のステップS55)と、パケットを受信して復号する受信装置に、第2のタイムスタンプ及び拡張シーケンス番号が付加された各パケットを送信する送信ステップ(例えば、図14のステップS56)とを含み、拡張シーケンス番号は、受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、受信装置において受信した各パケットを復号するか、それとも、受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる送信方法である。なお、本発明の第2の側面における第1のプログラムについては、第2の側面における送信方法と同様である。
本発明の第2の側面における受信装置(例えば、図2のクライアント114)は、ストリーミングデータが格納された複数のパケットを受信する受信装置であって、複数のパケットを送信する送信装置からのパケットを受信する受信手段(例えば、図6の通信部171)と、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第1の抽出手段(例えば、図13のシーケンス番号抽出部182)と、第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出手段(例えば、図13の最終シーケンス番号抽出部291)と、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致する場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号し、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致しない場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄する復号手段(例えば、図6のデコーダ173)とを備える受信装置である。
シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致するか否かを判定する判定手段(例えば、図13の判定部292)をさらに設けることができ、復号手段には、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致すると判定された場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号させ、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致しないと判定された場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号させずに破棄させるようにすることができる。
本発明の第2の側面における受信方法は、ストリーミングデータが格納された複数のパケットを受信する受信装置の受信方法であって、複数のパケットを送信する送信装置からのパケットを受信する受信ステップ(例えば、図16のステップS71)と、直前に受信された第1のパケットとは異なるタイムスタンプが付加された第2のパケットに含まれているシーケンス番号を抽出する第1の抽出ステップ(例えば、図16のステップS73)と、第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出ステップ(例えば、図16のステップS74)と、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致する場合、タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、タイムスタンプが付加された各パケットを復号し、シーケンス番号と、拡張シーケンス番号に1を加算して得られる加算結果が一致しない場合、タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、タイムスタンプが付加された各パケットを復号せずに破棄する復号ステップ(例えば、図16のステップS75乃至ステップS77)とを含む受信方法である。なお、本発明の第2の側面における第2のプログラムについては、第2の側面における受信方法と同様である。
図2は、本発明を適用したストリーミング配信システムの一実施の形態の構成例を示している。
図2のストリーミング配信システムにおいては、ビデオカメラ111がサーバ112に接続され、インターネットなどのパケット通信網113を介して、サーバ112およびクライアント114が接続されている。
ビデオカメラ111は、画像を撮像して、撮像した画像に対応する画像データをサーバ112に供給する。例えば、ビデオカメラ111は、被写体を動画像として撮像し、撮像した動画像に対応する画像データをサーバ112に供給する。
本実施例においては、ストリーミングデータとして画像データを扱う場合について説明していくが、ストリーミングデータは画像データに限らず、例えば、音声データ、またはリアルタイム制御データなど、時間の経過に対応して順次送信または受信が要求されるデータであればよい。
サーバ112は、コンピュータなどにより構成され、クライアント114からストリーミングデータの配信が要求された場合、ビデオカメラ111から供給される画像データをパケットに格納して、その画像データが格納されたパケットを、パケット通信網113を介してクライアント114に送信する。
パケット通信網113は、有線または無線の、通信回線、ネットワーク、またはインターネットなどからなる伝送路であり、サーバ112から送信されたパケットを、パケット通信網113を介し、クライアント114まで伝送する。
クライアント114は、コンピュータなどにより構成され、サーバ112から送信されてくるパケットを受信する。また、クライアント114は、受信したパケットから画像データを抽出し、抽出した画像データに基づいて、画像を表示装置等(図示せず)に表示させる。
図3において、サーバ112のハードウエアの構成例を示すブロック図である
CPU(Central Processing Unit)131は、ROM(Read Only Memory)132に記憶されているプログラム、または、記録部136からRAM(Random Access Memory)133にロードされたプログラムに従って各種の処理を実行する。RAM133にはまた、CPU131が各種の処理を実行する上において必要なデータなどが適宜記憶される。
CPU131、ROM132、およびRAM133は、バス121を介して相互に接続されている。このバス121にはまた、入出力インターフェース122も接続されている。
入出力インターフェース122には、キーボード、マウスなどよりなる入力部134、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部135、ハードディスクなどより構成される記録部136、モデム、ターミナルアダプタなどより構成される通信部137が接続されている。通信部137は、パケット通信網113を介して通信する。
入出力インターフェース122にはまた、必要に応じてドライブ138が接続され、磁気ディスク141、光ディスク142、光磁気ディスク143、或いは半導体メモリ144などが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記録部136にインストールされる。
なお、クライアント114のハードウエアも、上述したサーバ112と同様の構成であるので、その説明は省略する。
図4は、サーバ112の機能的な構成例を示すブロック図である。
サーバ112は、エンコーダ151、RTPパケット作成部152および通信部153により構成される。
図4で示される、エンコーダ151およびRTPパケット作成部152は、例えば、図3のCPU131に所定のプログラムを実行させることにより実現することができる。また、通信部153は、所定のプログラムを実行するCPU131および図3の通信部137により実現することができる。
エンコーダ151は、フレームレートを決定するFRタイマ151aを含む。そして、エンコーダ151は、所定の時間に設定されたFRタイマ151aのカウントが終了するまでの間にビデオカメラ111から供給される画像データを、1フレームとしてキャプチャする。例えば、FRタイマ151aの設定時間が、33msecに設定されている場合、フレームレートは、30fps(frame per second)となる。
また、エンコーダ151は、ビデオカメラ111から供給される画像データを所定の方式(例えば、MPEG2、MPEG4、JPEG(Joint Photographic Experts Group)、JPEG2000、またはモーションJPEGなど)により符号化し、その符号化された(1フレームごとの)画像データをRTPパケット作成部152に供給する。例えば、RTPに基づくデータ転送においては、時刻情報としてメディアユニットにタイムスタンプが付加され、タイムスタンプが参照されることにより送信側と受信側の時間的関係が把握される。このタイムスタンプによりデータを受信する側においては、転送の遅延ゆらぎ(ジッター)等の影響を受けずに同期した再生が可能となる。
RTPパケット作成部152は、1フレーム分の画像データを複数の画像データに分割し、その分割された画像データそれぞれを格納した複数のRTPパケットを作成する。なお、1つのフレームを構成する画像データが分割されてなる、それぞれの画像データが格納されている複数のRTPパケットには、それぞれ共通のタイムスタンプが設定される。また、RTPパケットには、それぞれ、例えば昇順のシーケンス番号が付与される。
また、RTPパケット作成部152は、生成した1フレームあたり複数のRTPパケットを、順に、(例えば、シーケンス番号通りに(シーケンス番号に従って))通信部153に供給する。
なお、通信部153は、RTPパケット作成部152から供給されたRTPパケットをパケット通信網113を介してクライアント114に送信する。
図5は、RTPパケット作成部152のより詳細な機能の構成例を表すブロック図である。
データ入力部161は、エンコーダ151とのインターフェースである。データ入力部161には、エンコーダ151により符号化された画像データが入力される。データ入力部161は、入力された符号化されている画像データをパケット作成部162に出力する。
パケット作成部162は、1つのメディアユニットの画像データを所定のデータ量の画像データに分割し、分割された画像データをRTPパケットにそれぞれ格納する。パケット作成部162は、それぞれのRTPパケットにタイムスタンプ、シーケンス番号、およびマーカビットを付加する。このように、パケット作成部162は、入力されたデータよりRTPパケットを作成する。
パケット作成部162は、1つのメディアユニットの画像データを格納する複数のRTPパケットのうちの、先頭のRTPパケット(以下、先頭パケットと称する)を先頭シーケンス番号抽出部163に供給する。パケット作成部162は、総てのRTPパケットを先頭シーケンス番号付加部164に供給する。
先頭シーケンス番号抽出部163は、1つのメディアユニットの画像データを格納する複数のパケットのうち、先頭パケットのシーケンス番号(以下、先頭シーケンス番号と称する)を抽出する。この場合、例えば、メディアユニットは、1フレームに相当する。なお、メディアユニットは、符号化、表示などにおけるデータの所定の単位とすることができる。先頭シーケンス番号抽出部163は、先頭パケットから抽出された先頭シーケンス番号をメモリ165に供給する。
メモリ165は、先頭シーケンス番号抽出部163から供給された先頭シーケンス番号を記憶する。
先頭シーケンス番号付加部164は、メモリ165に記憶されている先頭シーケンス番号を拡張シーケンス番号として総てのRTPパケットに付加する。先頭シーケンス番号付加部164は、拡張シーケンス番号を付加したRTPパケットをパケット出力部166に供給する。
パケット出力部166は、拡張シーケンス番号が付加されたRTPパケット(先頭パケットを含む)を、通信部153に出力する。
図6は、クライアント114の機能的な構成例を示すブロック図である。
クライアント114は、通信部171、RTPパケット先頭判定部172およびデコーダ173により構成される。
図6で示される、通信部171は、クライアント114の、所定のプログラムを実行する図3のCPU131および通信部137により実現することができる。また、RTPパケット先頭判定部172およびデコーダ173の機能は、クライアント114のCPU131に所定のプログラムを実行させることにより実現することができる。
通信部171は、パケット通信網113を介して、サーバ112から送信されてくるRTPパケットを受信し、受信したRTPパケットをRTPパケット先頭判定部172およびデコーダ173に供給する。
RTPパケット先頭判定部172は、通信部171から供給されたRTPパケットの拡張シーケンスおよびシーケンス番号を基に、RTPパケットが先頭パケットであるか否かを判定する。RTPパケット先頭判定部172は、判定結果を基に生成された制御信号を、デコーダ173へ供給する。
デコーダ173は、RTPパケット先頭判定部172から供給される制御信号を基にして、通信部171から供給されたRTPパケットを、エンコーダ151(図4)に対応する方式によりデコード(復号)し、復号された画像データを表示装置等(図示せず)に出力して表示させる。
図7は、RTPパケット先頭判定部172のより詳細な機能の構成例を表すブロック図である。
パケット入力部181は、通信部171とのインターフェースである。パケット入力部181には、通信部171において受信されたRTPパケットが入力される。パケット入力部181は、入力されたRTPパケットを、シーケンス番号抽出部182および先頭シーケンス番号抽出部183に供給する。
シーケンス番号抽出部182は、RTPパケットのシーケンス番号を抽出し、判定部184に供給する。
先頭シーケンス番号抽出部183は、RTPパケットに拡張シーケンス番号として付加されている、そのRTPパケットに格納されているデータで構成されるメディアユニットの先頭パケットのシーケンス番号である先頭シーケンス番号をRTPパケットから抽出し、抽出した先頭シーケンス番号を判定部184に供給する。
判定部184は、シーケンス番号抽出部182で抽出されたシーケンス番号と、先頭シーケンス番号抽出部183で検出された先頭シーケンス番号とが一致するか否かを判定する。判定部184は、判定結果をデコード制御部185に通知する。
デコード制御部185は、シーケンス番号と先頭シーケンス番号とが一致するか否かの判定結果を基に、制御信号を生成し、生成した制御信号をデコーダ173へ供給する。
図8は、サーバ112の送信処理におけるフローチャートである。
ステップS11において、エンコーダ151は、ビデオカメラ111から供給された画像データをキャプチャする。
ステップS12において、エンコーダ151は、キャプチャした画像データを符号化する。例えば、ステップS12において、エンコーダ151は、キャプチャした画像データを、MPEG2、MPEG4、またはJPEG2000等の方式により符号化する。
ステップS13において、RTPパケット作成部152のパケット作成部162は、符号化された画像データより、RTPパケットを生成する。例えば、パケット作成部162は、データ入力部161からフレーム毎に供給される画像データを所定のデータに分割して、分割して得られたデータをそれぞれRTPパケットに格納することにより、RTPパケット生成する。
RTPパケットは、例えば、図9で示されるようなものである。RTPパケットの先頭には、図9において”v”で表される、2ビットのバージョン情報が配置される。バージョン情報は、RTPパケットのバージョンを示す。
バージョン情報の次に1ビットのパディングが配置され、パディングに続いて、1ビットの拡張情報がRTPパケットに配置される。拡張情報は、図9において、”x”で表される。拡張情報は、RTPパケットに拡張ヘッダを配置する場合に、所定の値に設定される。
拡張情報に続いて、CSRC(Contributing Source)カウントがRTPパケットに配置される。CSRCカウントは、図9中において、”cc”で表される。CSRCカウントは、CSRC識別子の数を表す。
CSRCカウントに続いて配置される、1ビットのメーカー情報は、プロファイルによって定義される。メーカー情報は、図9中において、”m”で表される。
メーカー情報に続いて配置される、7ビットのペイロードタイプは、RTPパケットのフォーマットを定義するための情報である。ペイロードタイプは、図9中において、”Pt”で表される。RTPパケットにおいて、ペイロードタイプは、33とされる。
シーケンス番号は、ペイロードタイプの次に配置される、16ビットの情報である。シーケンス番号は、RTPパケットの送信の度に、1ずつ増える。シーケンス番号は、パケットロスを検出し、RTPパケットの順序を修復するために使用される。
シーケンス番号の次に配置される、32ビットのタイムスタンプは、そのRTPパケットに格納されているストリーミングデータの最初のオクテットがサンプルされた時刻を示す情報である。
SSRC(Synchronization source)識別子は、タイムスタンプの次に配置される、32ビットの情報であって、RTPパケットに格納されるストリーミングデータのソースを示す。
SSRCの次には、拡張シーケンス番号を格納するための16ビットの領域が設けられており、後述する処理により、メディアユニットの先頭のRTPパケットのシーケンス番号が格納される。なお、図8のステップS13の処理においては、領域が確保されるのであって、シーケンス番号は格納されていない。
ステップS14において、先頭シーケンス番号抽出部163は、先頭パケットからシーケンス番号を抽出する。すなわち、先頭シーケンス番号抽出部163は、先頭シーケンス番号を先頭パケットから抽出する。抽出された先頭シーケンス番号は、メモリ165に記憶される。
ステップS15において、先頭シーケンス番号付加部164は、ステップS14の処理で抽出された先頭シーケンス番号を、生成されたRTPパケットの拡張シーケンス番号として、RTPパケットに付加する。より具体的には、先頭シーケンス番号付加部164は、図9で示される16ビットの拡張シーケンス番号の領域に抽出された先頭パケットのシーケンス番号である先頭シーケンス番号を格納する。
ステップS16において、通信部153は、ステップS15で生成された先頭シーケンス番号を付加したRTPパケットを、クライアント114へと送信する。
ステップS17において、サーバ112は、RTPタイムスタンプを更新する。例えば、ステップS17において、サーバ112は、RTPタイムスタンプにフレーム間隔を加算することにより、RTPタイムスタンプを更新する。
ステップS18において、エンコーダ151は、FRタイマ151aのカウントが終了したか否かを判定する。例えば、メディアユニットレートを30fpsとした場合、FRタイマ151aの設定時間である33msecが経過したか否かを判定する。ステップS18において、FRタイマ151aのカウントが終了していないと判定された場合、判定の処理が繰り返される。FRタイマ151aのカウントが終了したと判定された場合、ステップS11に戻り、上述した処理が繰り返される。
図8のフローチャートを参照して説明したように、クライアント114は、例えば、図10で示されるようにRTPパケットを受信し、復号する。
ステップS31において、クライアント114の通信部171は、サーバ112より送信されてきたRTPパケットを受信したか否かを判定し、RTPパケットが受信されていないと判定された場合、手続きは、ステップS32に進む。なお、RTPパケットが受信されたと判定された場合、通信部171は、受信したRTPパケットをRTPパケット先頭判定部172に供給する。
ステップS32において、クライアント114のRTPパケット先頭判定部172は、受信されたRTPパケットのタイムスタンプが新しいものであるか否かを判定する。例えば、RTPパケット先頭判定部172は、通信部171から供給されるRTPパケットからタイムスタンプを抽出する。そして、RTPパケット先頭判定部172は、抽出したタイムスタンプを記憶する。RTPパケット先頭判定部172は、次にRTPパケットが供給された場合、このRTPパケットからタイムスタンプを抽出し、記憶しているタイムスタンプと比較する。RTPパケット先頭判定部172は、比較の結果を基に、タイムスタンプが新しいものであるか否かを判定する。
ステップS32において、RTPパケットのタイムスタンプが、新しいものではないと判定された場合、ステップS31に戻り、上述した処理が繰り返される。RTPパケットのタイムスタンプが、新しいものであると判定された場合、手続きは、ステップS33へと進む。
ステップS33において、シーケンス番号抽出部182は、新しいタイムスタンプのRTPパケットより、シーケンス番号を抽出する。シーケンス番号抽出部182は、シーケンス番号を判定部184に供給する。
ステップS34において、先頭シーケンス番号抽出部183は、新しいタイムスタンプのRTPパケットの先頭パケットより、拡張シーケンス番号として格納されている先頭シーケンス番号を抽出する。先頭シーケンス番号抽出部183は、先頭シーケンス番号を判定部184に供給する。
ステップS35において、判定部184が、シーケンス番号抽出部182から供給されたシーケンス番号と、先頭シーケンス番号抽出部183から供給された先頭シーケンス番号とが同じであるか否かを判定する。ステップS35において、シーケンス番号と先頭シーケンス番号とが同じであると判定された場合、新しいタイムスタンプのRTPパケットが、1つのメディアユニットの画像データを格納する複数のRTPパケットのうちの、先頭のRTPパケット、すなわち先頭パケットなので、ステップS36に進み、デコード制御部185は、RTPパケットのデコードを指示する制御信号をデコーダ173に供給することにより、デコーダ173にRTPパケットをデコードさせる。言い換えれば、デコード制御部185は、デコーダ173に、その新しいタイムスタンプのRTPパケットをデコードさせる。
一方、ステップS35において、シーケンス番号と先頭シーケンス番号とが異なると判定された場合、新しいタイムスタンプのRTPパケットが、先頭パケットではないので、ステップS37に進み、デコード制御部185は、RTPパケットの破棄を指示する制御信号をデコーダ173に供給することにより、デコーダ173にRTPパケットを破棄させる。言い換えれば、デコード制御部185は、デコーダ173に、その新しいタイムスタンプのRTPパケットの総てを破棄させる。
ステップS36およびステップS37の処理の後、ステップS31に戻り、上述した処理が繰り返される。
図11は、拡張シーケンス番号を付加したRTPパケットの例を示す図である。
RTPパケット211−1乃至211−10は、それぞれ、画像データを格納している。RTPパケット211−1乃至211−10には、それぞれ、1乃至10のシーケンス番号が付加されている。
図中のTSは、タイムスタンプを示す。また、図中のmは、マーカビットを示す。
RTPパケット211−1乃至211−4は、1つのメディアユニットの画像データを格納している。RTPパケット211−1乃至211−4には、100を示すタイムスタンプが付加されている。RTPパケット211−1乃至211−4のうち、RTPパケット211−4は、最終パケットなので、RTPパケット211−4には、マーカビットが付加されている。
RTPパケット211−1乃至211−4には、それぞれ、1である先頭シーケンス番号を示す拡張シーケンス番号が付加されている。
RTPパケット211−5乃至211−7は、次のメディアユニットの画像データを格納している。RTPパケット211−5乃至211−7には、200を示すタイムスタンプが付加されている。最終パケットであるRTPパケット211−7には、マーカビットが付加されている。
RTPパケット211−5乃至211−7には、それぞれ、5である先頭シーケンス番号を示す拡張シーケンス番号が付加されている。
RTPパケット211−8乃至211−10は、更に次のメディアユニットの画像データを格納している。RTPパケット211−8乃至211−10には、300を示すタイムスタンプが付加されている。最終パケットであるRTPパケット211−10には、マーカビットが付加されている。
RTPパケット211−8乃至211−10には、それぞれ、8である先頭シーケンス番号を示す拡張シーケンス番号が付加されている。
図8のステップS15の処理により、RTPパケットのシーケンス番号とは別に、拡張シーケンス番号がRTPパケットに付加されるので、メディアユニットをまたがってパケットロスが生じた場合でも、RTPパケットのシーケンス番号と、拡張シーケンス番号とが一致するか否かで、メディアユニットの先頭のデータを格納したパケットであるか否かを判定することができる。
例えば、図11で示されるように、RTPパケット211−6乃至211−8にパケットロスが生じた場合、RTPパケット211−9について、シーケンス番号と拡張シーケンス番号とが一致するか否かが判定される。RTPパケット211−9における、シーケンス番号が9であり、拡張シーケンス番号(先頭シーケンス番号)が8なので、シーケンス番号と拡張シーケンス番号とが一致せず、RTPパケット211−9は、メディアユニットの先頭パケットでないことがわかる。
この場合、RTPパケット211−8のシーケンス番号が、先頭の拡張シーケンス番号と一致し、かつ、メディアユニットの先頭パケットがパケットロスを起している場合、RTPパケット211−8乃至RTPパケット211−10からなるメディアユニットが即座に破棄されるので、ネットワーク上でストリームデータの再生における遅延が抑制される。
以上の処理により、パケットロスを起したパケットは、デコードしないで、即座に破棄されることが可能となり、結果として、パケットロスを起したパケットを読み出すための時間が削減され、通信の信頼を高めることが可能となる。また、正しいパケットが1つでも到達した時点で、他のパケットの破棄処理を行うことで、TCP方式の通信に比べてRTP方式の通信の特徴を活かしたまま、RTP方式による通信における弱点であった再生の遅延を抑制することが可能となる。
図12は、RTPパケット作成部231のより詳細な機能の構成例を表すブロック図である。図12において、図5の場合と対応する構成には、同一の符号を付してあり、その説明は、適宜省略するものとする。
前メディアユニットの最終シーケンス番号抽出部251(以下、最終シーケンス番号抽出部と称する)は、1つのメディアユニットの画像データを格納する複数のパケットのうち、最終パケットのシーケンス番号(以下、最終シーケンス番号と称する)を抽出する。例えば、動画は、複数のパケットからなるメディアユニットより構成される。なお、メディアユニットは、符号化、表示などにおけるデータの所定の単位とすることができる。最終シーケンス番号抽出部251は、前メディアユニットの最終パケットから抽出された最終シーケンス番号をメモリ165に供給する。
メモリ165は、最終シーケンス番号抽出部251から供給された最終シーケンス番号を記憶する。
前メディアユニットの最終シーケンス番号付加部252(以下、最終シーケンス番号付加部と称する)は、メモリ165に記憶されている最終シーケンス番号を拡張シーケンス番号として総てのRTPパケットに付加する。最終シーケンス番号付加部252は、拡張シーケンス番号を付加したRTPパケットをパケット出力部166に供給する。
図13は、RTPパケット先頭判定部281のより詳細な機能の構成例を表すブロック図である。図13において、図7の場合と対応する構成には、同一の符号を付してあり、その説明は、適宜省略するものとする。
パケット入力部181は、通信部171が出力したRTPパケットを、シーケンス番号抽出部182または前メディアユニットの最終シーケンス番号抽出部291(以下、最終シーケンス番号抽出部と称する)へ送信する。

最終シーケンス番号抽出部291は、RTPパケットに拡張シーケンス番号として付加されている、そのRTPパケットに格納されているデータで構成される前メディアユニットの最終パケットのシーケンス番号である最終シーケンス番号を抽出し、抽出した最終シーケンス番号を判定部292に供給する。
判定部292は、シーケンス番号抽出部182で抽出されたシーケンス番号と、最終シーケンス番号抽出部291で抽出された拡張シーケンス番号に1を加えた数が一致するか否かを判定する。判定部292は、判定結果をデコード制御部185に通知する。
デコード制御部185は、シーケンス番号と最終シーケンス番号に1加えた数とが一致するか否かの判定結果を基に、制御信号を生成し、生成した制御信号をデコーダ173へ送信する。
図14は、サーバ112の送信処理におけるフローチャートである。
ステップS51において、エンコーダ151は、ビデオカメラ111から供給された画像データをキャプチャする。
ステップS52において、エンコーダ151は、キャプチャした画像データを符号化する。例えば、ステップS52において、エンコーダ151は、キャプチャした画像データを、MPEG2、MPEG4、またはJPEG2000等の方式により符号化する。
ステップS53において、RTPパケット作成部231のパケット作成部162は、符号化された画像データより、RTPパケットを生成する。例えば、パケット作成部162は、データ入力部161からフレーム毎に供給される画像データを所定のデータに分割して、分割して得られたデータをそれぞれRTPパケットに格納することにより、RTPパケット生成する。
RTPパケットは、例えば、図15で示されるようなものである。図15において、図9の場合と対応する構成には説明を、適宜省略するものとする。
SSRC(Synchronization source)識別子は、タイムスタンプの次に配置される、32ビットの情報であって、RTPパケットに格納されるストリーミングデータのソースを示す。
SSRCの次には、拡張シーケンス番号を格納するための16ビットの領域が設けられており、後述する処理により、最終シーケンス番号が格納される。なお、図14のステップS53の処理においては、領域が確保されるのであって、シーケンス番号は格納されていない。
ステップS54において、最終シーケンス番号抽出部251は、前メディアユニットの最終パケットから最終シーケンス番号を抽出する。すなわち、最終シーケンス番号抽出部251は、最終シーケンス番号を前メディアユニットの最終パケットから抽出する。抽出された最終シーケンス番号は、メモリ165に記憶される。
ステップS55において、最終シーケンス番号付加部252は、最終シーケンス番号抽出部251で抽出された最後のシーケンス番号を、生成されたRTPパケットの拡張データとして、RTPパケットに付加する。より具体的には、最終シーケンス番号付加部252は、図15で示される16ビットの拡張シーケンス番号の領域に抽出された前メディアユニットの最終パケットの最終シーケンス番号を格納する。
ステップS56において、通信部153は、ステップS55で生成された最終シーケンス番号に1を加えた数を付加されたRTPパケットを、クライアント114へと送信する。
ステップS57において、サーバ112は、RTPタイムスタンプを更新する。例えば、ステップS17において、サーバ112は、RTPタイムスタンプにフレーム間隔を加算することにより、RTPタイムスタンプを更新する。
ステップ58において、エンコーダ151は、FRタイマ151aのカウントが終了したか否かを判定する。例えば、メディアユニットレートを30fpsとした場合、FRタイマ151aの設定時間である33msecが経過したか否かを判定する。ステップS18において、FRタイマ151aのカウントが終了していないと判定された場合、判定の処理が繰り返される。FRタイマ151aのカウントが終了したと判定された場合、ステップS11に戻り、上述した処理が繰り返される
図14のフローチャートを参照して説明したように、クライアント114は、例えば、図16で示されるようにRTPパケットを受信し、復号する。
ステップS71において、クライアント114の通信部171は、サーバ112より送信されてきたRTPパケットを受信したか否かを判定し、RTPパケットが受信されていないと判定された場合、手続きは、ステップS72に進む。なお、RTPパケットが受信されたと判定された場合、通信部171は、受信したRTPパケットをRTPパケット先頭判定部281に供給する。
ステップS72において、クライアント114のRTPパケット先頭判定部281は、受信されたRTPパケットのタイムスタンプが新しいものであるか否かを判定する。例えば、RTPパケット先頭判定部281は、通信部171から供給されるRTPパケットからタイムスタンプを抽出する。そして、RTPパケット先頭判定部281は、抽出したタイムスタンプを記憶する。RTPパケット先頭判定部281は、次にRTPパケットが供給された場合、このRTPパケットからタイムスタンプを抽出し、記憶しているタイムスタンプと比較する。RTPパケット先頭判定部281は、比較の結果を基に、タイムスタンプが新しいものであるか否かを判定する。
ステップS73において、シーケンス番号抽出部182は、新しいタイムスタンプのRTPパケットより、シーケンス番号を抽出する。シーケンス番号抽出部182は、シーケンス番号を判定部184に供給する。
ステップS74において、最終シーケンス番号抽出部291は、新しいタイムスタンプのRTPパケットの前メディアユニットの最終パケットより、拡張シーケンス番号として格納されている最終シーケンス番号を抽出する。最終シーケンス番号抽出部291は、最終シーケンス番号を判定部292に供給する。
ステップS75において、判定部184が、シーケンス番号抽出部182から供給されたシーケンス番号と、最終シーケンス番号抽出部291から供給された最終シーケンス番号に1を加えた数が同じであるか否かを判定する。ステップS75において、シーケンス番号と最終シーケンス番号に1を加えた数が同じであると判定された場合、新しいタイムスタンプのRTPパケットが、1つのメディアユニットの画像データを格納する複数のRTPパケットのうちの、最終のRTPパケット、すなわち最終パケットなので、ステップS76に進み、デコード制御部185は、RTPパケットのデコードを指示する制御信号をデコーダ173に供給することにより、デコーダ173にRTPパケットをデコードさせる。言い換えれば、デコード制御部185は、デコーダ173に、その新しいタイムスタンプのRTPパケットをデコードさせる。
一方、ステップS75において、シーケンス番号と最終シーケンス番号に1を加えた数が異なると判定された場合、新しいタイムスタンプのRTPパケットが、先頭パケットではないので、ステップS77に進み、デコード制御部185は、RTPパケットの破棄を指示する制御信号をデコーダ173に供給することにより、デコーダ173にRTPパケットを破棄させる。言い換えれば、デコード制御部185は、デコーダ173に、その新しいタイムスタンプのRTPパケットの総てを破棄させる。
ステップS76およびステップS77の処理の後、ステップS71に戻り、上述した処理が繰り返される。
図17は、拡張シーケンス番号を付加したRTPパケットの例を示す図である。
RTPパケット311−1乃至311−10は、それぞれ、画像データを格納している。RTPパケット311−1乃至311−10には、それぞれ、1乃至10のシーケンス番号が付加されている。
図中のTSは、タイムスタンプを示す。また、図中のmは、マーカビットを示す。
RTPパケット311−1乃至311−4は、1つのメディアユニットの画像データを格納している。RTPパケット311−1乃至311−4には、100を示すタイムスタンプが付加されている。RTPパケット311−1乃至311−4のうち、RTPパケット311−4は、最後のパケットなので、RTPパケット311−4には、マーカビットが付加されている。
RTPパケット311−1乃至311−4には、それぞれ、1である先頭シーケンス番号を示す拡張シーケンス番号が付加されている。
なお、RTPパケットは、RTPパケット311−1乃至311−4より前に存在しないので、本実施例おいては、RTPパケット311−1乃至311−4に付加される前メディアユニットの最終シーケンス番号を1とし、RTPパケットに付加される。
RTPパケット311−5乃至311−7は、次のメディアユニットの画像データを格納している。RTPパケット311−5乃至311−7には、200を示すタイムスタンプが付加されている。最終パケットであるRTPパケット311−7には、マーカビットが付加されている。
RTPパケット311−5乃至311−7には、それぞれ、4である前メディアユニットの最終シーケンス番号を示す拡張シーケンス番号が付加されている。
RTPパケット311−8乃至311−10は、更に次のメディアユニットの画像データを格納している。RTPパケット311−8乃至311−10には、300を示すタイムスタンプが付加されている。最終パケットであるRTPパケット311−10には、マーカビットが付加されている。
RTPパケット311−8乃至311−10には、それぞれ、7である前メディアユニットの最終シーケンス番号を示す拡張シーケンス番号が付加されている。
図14のステップS55の処理により、RTPパケットのシーケンス番号とは別に、拡張シーケンス番号がRTPパケットに付加されるので、メディアユニットをまたがってパケットロスが生じた場合でも、RTPパケットのシーケンス番号と、拡張シーケンス番号に1を加えた数とが一致するか否かで、メディアユニットの先頭のデータを格納したパケットであるか否かを判定することができる。
例えば、図17で示されるように、RTPパケット311−6乃至311−8にパケットロスが生じた場合、RTPパケット311−9について、シーケンス番号と拡張シーケンス番号に1を加えた数とが一致するか否かが判定される。RTPパケット311−9における、シーケンス番号が9であり、拡張シーケンス番号が7なので、シーケンス番号と拡張シーケンス番号に1を加えた数とが一致せず、RTPパケット311−9は、メディアユニットの先頭パケットでないことがわかる。
この場合、RTPパケット311−8のシーケンス番号が、先頭の拡張シーケンス番号と一致し、かつ、メディアユニットの先頭パケットがパケットロスを起している場合、RTPパケット211−8乃至RTPパケット211−10からなるメディアユニットが即座に破棄されるので、ネットワーク上でストリームデータの再生における遅延が抑制される。
以上の処理により、パケットロスを起したパケットは、即座に破棄されることが可能となり、結果として、パケットロスを起したパケットを読み出すための時間が削減され、通信の信頼性を高めることが可能となる。また、正しいパケットが1つでも到着した時点で、他のパケットの破棄処理を行うことで、TCP方式の通信に比べてRTP方式の通信の特徴を活かしたまま、RTP方式による通信における弱点であった再生の遅延を抑制することが可能となる。
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
プログラムが記録されている記録媒体は、図3に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク141(フレキシブルディスクを含む)、光ディスク142(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク143(MD(Mini-Disc)を含む)、もしくは半導体メモリ144などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM132や、記録部136に含まれるハードディスクなどで構成される。
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
従来のRTPパケットを模式的に表した図である。 本発明のストリーミングデータ配信システムの一実施の形態を示す図である。 サーバのハードウエアの構成例を示すブロック図である。 サーバの機能的な構成例を示すブロック図である。 RTPパケット作成部のより詳細な機能構成例を示すブロック図である。 クライアントの機能的な構成例を示すブロック図である RTPパケット先頭判定部のより詳細な機能構成例を示すブロック図である。 送信処理を説明するフローチャートである。 RTPパケットの構成例を表す図である。 受信処理を説明するフローチャートである。 拡張シーケンス番号を付加したRTPパケットの例を示す図である。 RTPパケット作成部の機能的な構成例を示すブロック図である。 RTPパケット先頭判定部の機能的な構成例を示すブロック図である。 送信処理を説明するフローチャートである。 RTPパケットの構成例を表す図である。 受信処理を説明するフローチャートである。 拡張シーケンス番号を付加したRTPパケットの例を示す図である。
符号の説明
101 通信システム, 111 ビデオカメラ, 112 サーバ, 113 パケット通信網, 114 クライアント, 121 バス, 123 入出力インターフェース, 131 CPU, 132 ROM, 133 RAM, 134 入力部, 135 出力部, 136 記録部, 137 通信部, 138 ドライブ, 141 磁気ディスク51, 142 光ディスク, 143 光磁気ディスク, 144 半導体メモリ, 151 エンコーダ, 151a FRタイマ, 152 RTPパケット生成部, 153 通信部, 161 データ入力部, 162 パケット作成部, 163 先頭シーケンス番号抽出部, 164 先頭シーケンス番号付加部, 165 メモリ, 166 パケット出力部, 171 通信部, 172 RTPパケット先頭判定部, 173 デコーダ, 181 パケット入力部, 182 シーケンス番号抽出部, 183 先頭シーケンス番号抽出部, 184 判定部, 185 デコード制御部, 231 RTPパケット作成部, 251 最終シーケンス番号抽出部, 252 最終シーケンス番号付加部, 281 RTPパケット先頭判定部, 291 最終シーケンス番号抽出部, 292 判定部

Claims (18)

  1. ストリーミングデータが格納された複数のパケットを送信する送信装置、および前記送信装置からの前記パケットを受信する受信装置からなる通信システムにおいて、
    前記送信装置は、
    前記ストリーミングデータを符号化する符号化手段と、
    符号化されたストリーミングデータより、前記送信装置から送信される順序を表すシーケンス番号をそれぞれ含む前記複数のパケットを生成する生成手段と、
    生成された前記複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段と、
    同一のタイムスタンプが付加された各パケットにそれぞれ含まれる前記シーケンス番号のうち、最小のシーケンス番号を抽出する第1の抽出手段と、
    前記同一のタイムスタンプが付加された各パケットに、前記第1の抽出手段により抽出された前記最小のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段と、
    前記受信装置に、前記同一のタイムスタンプ及び前記拡張シーケンス番号が付加された各パケットを送信する送信手段と
    を備え、
    前記受信装置は、
    前記送信装置から送信されてきたパケットを受信する受信手段と、
    直前に受信された第1の前記パケットとは異なるタイムスタンプが付加された第2の前記パケットに含まれている前記シーケンス番号を抽出する第2の抽出手段と、
    前記第2のパケットに付加されている前記拡張シーケンス番号を抽出する第3の抽出手段と、
    抽出された前記シーケンス番号と、抽出された前記拡張シーケンス番号が一致する場合、前記第1のパケットとは異なる前記タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、前記第1のパケットとは異なる前記タイムスタンプが付加された各パケットを復号し、
    抽出された前記シーケンス番号と、抽出された前記拡張シーケンス番号が一致しない場合、前記第1のパケットとは異なる前記タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記第1のパケットとは異なる前記タイムスタンプが付加された各パケットを復号せずに破棄する復号手段と
    を備える通信システム。
  2. ストリーミングデータが格納された複数のパケットを送信する送信装置において、
    前記ストリーミングデータを符号化する符号化手段と、
    符号化されたストリーミングデータより、前記送信装置から送信される順序を表すシーケンス番号をそれぞれ含む前記複数のパケットを生成する生成手段と、
    生成された前記複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段と、
    同一のタイムスタンプが付加された各パケットにそれぞれ含まれる前記シーケンス番号のうち、最小のシーケンス番号を抽出する抽出手段と、
    前記同一のタイムスタンプが付加された各パケットに、前記抽出手段により抽出された前記最小のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段と、
    前記パケットを受信して復号する受信装置に、前記同一のタイムスタンプ及び前記拡張シーケンス番号が付加された各パケットを送信する送信手段と
    を備え、
    前記拡張シーケンス番号は、
    前記受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、前記受信装置において受信した各パケットを復号するか、
    それとも、前記受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる
    送信装置。
  3. 前記符号化手段は、動画像または音声の少なくとも一方により構成されるストリーミングデータを符号化する
    請求項2に記載の送信装置。
  4. ストリーミングデータが格納された複数のパケットを送信する送信装置の送信方法において、
    前記ストリーミングデータを符号化する符号化ステップと、
    符号化されたストリーミングデータより、前記送信装置から送信される順序を表すシーケンス番号をそれぞれ含む前記複数のパケットを生成する生成ステップと、
    生成された前記複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加ステップと、
    同一のタイムスタンプが付加された各パケットにそれぞれ含まれる前記シーケンス番号のうち、最小のシーケンス番号を抽出する抽出ステップと、
    前記同一のタイムスタンプが付加された各パケットに、前記抽出ステップにより抽出された前記最小のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加ステップと、
    前記パケットを受信して復号する受信装置に、前記同一のタイムスタンプ及び前記拡張シーケンス番号が付加された各パケットを送信する送信ステップと
    を含み、
    前記拡張シーケンス番号は、
    前記受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、前記受信装置において受信した各パケットを復号するか、
    それとも、前記受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる
    送信方法。
  5. ストリーミングデータが格納された複数のパケットを送信する送信装置のコンピュータに実行させるためのプログラムにおいて、
    前記ストリーミングデータを符号化する符号化ステップと、
    符号化されたストリーミングデータより、前記送信装置から送信される順序を表すシーケンス番号をそれぞれ含む前記複数のパケットを生成する生成ステップと、
    生成された前記複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加ステップと、
    同一のタイムスタンプが付加された各パケットにそれぞれ含まれる前記シーケンス番号のうち、最小のシーケンス番号を抽出する抽出ステップと、
    前記同一のタイムスタンプが付加された各パケットに、前記抽出ステップにより抽出された前記最小のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加ステップと、
    前記パケットを受信して復号する受信装置に、前記同一のタイムスタンプ及び前記拡張シーケンス番号が付加された各パケットの送信を制御する送信制御ステップと
    を含み、
    前記拡張シーケンス番号は、
    前記受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、前記受信装置において受信した各パケットを復号するか、
    それとも、前記受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる
    処理をコンピュータに実行させるためのプログラム。
  6. ストリーミングデータが格納された複数のパケットを受信する受信装置において、
    前記複数のパケットを送信する送信装置からのパケットを受信する受信手段と、
    直前に受信された第1の前記パケットとは異なるタイムスタンプが付加された第2の前記パケットに含まれているシーケンス番号を抽出する第1の抽出手段と、
    前記第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出手段と、
    前記シーケンス番号と前記拡張シーケンス番号が一致する場合、前記タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、前記タイムスタンプが付加された各パケットを復号し、
    前記シーケンス番号と前記拡張シーケンス番号が一致しない場合、前記タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記タイムスタンプが付加された各パケットを復号せずに破棄する復号手段と
    を備える受信装置。
  7. 前記シーケンス番号と前記拡張シーケンス番号が一致するか否かを判定する判定手段をさらに備え、
    前記復号手段は、
    前記シーケンス番号と前記拡張シーケンス番号が一致すると判定された場合、前記タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、前記タイムスタンプが付加された各パケットを復号し、
    前記シーケンス番号と前記拡張シーケンス番号が一致しないと判定された場合、前記タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記タイムスタンプが付加された各パケットを復号せずに破棄する
    請求項6に記載の受信装置。
  8. ストリーミングデータが格納された複数のパケットを受信する受信装置の受信方法において、
    前記複数のパケットを送信する送信装置からのパケットを受信する受信ステップと、
    直前に受信された第1の前記パケットとは異なるタイムスタンプが付加された第2の前記パケットに含まれているシーケンス番号を抽出する第1の抽出ステップと、
    前記第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出ステップと、
    前記シーケンス番号と前記拡張シーケンス番号が一致する場合、前記タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、前記タイムスタンプが付加された各パケットを復号し、
    前記シーケンス番号と前記拡張シーケンス番号が一致しない場合、前記タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記タイムスタンプが付加された各パケットを復号せずに破棄する復号ステップと
    を含む受信方法。
  9. ストリーミングデータが格納された複数のパケットを受信する受信装置のコンピュータに実行させるためのプログラムにおいて、
    前記複数のパケットを送信する送信装置からのパケットの受信を制御する受信制御ステップと、
    直前に受信された第1の前記パケットとは異なるタイムスタンプが付加された第2の前記パケットに含まれているシーケンス番号を抽出する第1の抽出ステップと、
    前記第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出ステップと、
    前記シーケンス番号と前記拡張シーケンス番号が一致する場合、前記タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、前記タイムスタンプが付加された各パケットを復号し、
    前記シーケンス番号と前記拡張シーケンス番号が一致しない場合、前記タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記タイムスタンプが付加された各パケットを復号せずに破棄する復号ステップと
    を含む処理をコンピュータに実行させるためのプログラム。
  10. ストリーミングデータが格納された複数のパケットを送信する送信装置、および前記送信装置からの前記パケットを受信する受信装置からなる通信システムにおいて、
    前記送信装置は、
    前記ストリーミングデータを符号化する符号化手段と、
    符号化されたストリーミングデータより、前記送信装置から送信される順序を表すシーケンス番号をそれぞれ含む前記複数のパケットを生成する生成手段と、
    生成された前記複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段と、
    第1の前記タイムスタンプが付加された各パケットにそれぞれ含まれる前記シーケンス番号のうち、最大のシーケンス番号を抽出する第1の抽出手段と、
    前記第1のタイムスタンプの次の時刻を表す第2のタイムスタンプが付加された各パケットに、前記第1の抽出手段により抽出された前記最大のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段と、
    前記受信装置に、前記第2のタイムスタンプ及び前記拡張シーケンス番号が付加された各パケットを送信する送信手段と
    を備え、
    前記受信装置は、
    前記送信装置から送信されてきたパケットを受信する受信手段と、
    直前に受信された第1の前記パケットとは異なる第3のタイムスタンプが付加された第2の前記パケットに含まれている前記シーケンス番号を抽出する第2の抽出手段と、
    前記第2のパケットに付加されている前記拡張シーケンス番号を抽出する第3の抽出手段と、
    抽出された前記シーケンス番号と、抽出された前記拡張シーケンス番号に1を加算して得られる加算結果が一致する場合、前記第3のタイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、前記第3のタイムスタンプが付加された各パケットを復号し、
    抽出された前記シーケンス番号と、抽出された前記拡張シーケンス番号に1を加算して得られる加算結果が一致しない場合、前記第3のタイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記第3のタイムスタンプが付加された各パケットを復号せずに破棄する復号手段と
    を備える通信システム。
  11. ストリーミングデータが格納された複数のパケットを送信する送信装置において、
    前記ストリーミングデータを符号化する符号化手段と、
    符号化されたストリーミングデータより、前記送信装置から送信される順序を表すシーケンス番号をそれぞれ含む前記複数のパケットを生成する生成手段と、
    生成された前記複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加手段と、
    第1の前記タイムスタンプが付加された各パケットにそれぞれ含まれる前記シーケンス番号のうち、最大のシーケンス番号を抽出する第1の抽出手段と、
    前記第1のタイムスタンプの次の時刻を表す第2のタイムスタンプが付加された各パケットに、前記第1の抽出手段により抽出された前記最大のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加手段と、
    前記パケットを受信して復号する受信装置に、前記第2のタイムスタンプ及び前記拡張シーケンス番号が付加された各パケットを送信する送信手段と
    を備え、
    前記拡張シーケンス番号は、
    前記受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、前記受信装置において受信した各パケットを復号するか、
    それとも、前記受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる
    送信装置。
  12. 前記符号化手段は、動画像圧縮または音声の少なくとも一方により構成されるストリーミングデータを符号化する
    請求項11に記載の送信装置。
  13. ストリーミングデータが格納された複数のパケットを送信する送信装置の送信方法において、
    前記ストリーミングデータを符号化する符号化ステップと、
    符号化されたストリーミングデータより、前記送信装置から送信される順序を表すシーケンス番号をそれぞれ含む前記複数のパケットを生成する生成ステップと、
    生成された前記複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加ステップと、
    第1の前記タイムスタンプが付加された各パケットにそれぞれ含まれる前記シーケンス番号のうち、最大のシーケンス番号を抽出する第1の抽出ステップと、
    前記第1のタイムスタンプの次の時刻を表す第2のタイムスタンプが付加された各パケットに、前記第1の抽出ステップにより抽出された前記最大のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加ステップと、
    前記パケットを受信して復号する受信装置に、前記第2のタイムスタンプ及び前記拡張シーケンス番号が付加された各パケットを送信する送信ステップと
    を含み、
    前記拡張シーケンス番号は、
    前記受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、前記受信装置において受信した各パケットを復号するか、
    それとも、前記受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる
    送信方法。
  14. ストリーミングデータが格納された複数のパケットを送信する送信装置のコンピュータに実行させるためのプログラムにおいて、
    前記ストリーミングデータを符号化する符号化ステップと、
    符号化されたストリーミングデータより、前記送信装置から送信される順序を表すシーケンス番号をそれぞれ含む前記複数のパケットを生成する生成ステップと、
    生成された前記複数のパケット毎に、タイムスタンプを付加するタイムスタンプ付加ステップと、
    第1の前記タイムスタンプが付加された各パケットにそれぞれ含まれる前記シーケンス番号のうち、最大のシーケンス番号を抽出する第1の抽出ステップと、
    前記第1のタイムスタンプの次の時刻を表す第2のタイムスタンプが付加された各パケットに、前記第1の抽出ステップにより抽出された前記最大のシーケンス番号を拡張シーケンス番号として付加する拡張シーケンス番号付加ステップと、
    前記パケットを受信して復号する受信装置に、前記第2のタイムスタンプ及び前記拡張シーケンス番号が付加された各パケットの送信を制御する送信制御ステップと
    を含み、
    前記拡張シーケンス番号は、
    前記受信装置において受信した各パケットのいずれもパケットロスを起こしていないものとして、前記受信装置において受信した各パケットを復号するか、
    それとも、前記受信装置において受信した各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記受信装置において受信した各パケットを復号せずに破棄するかの判定に用いられる
    処理をコンピュータに実行させるためのプログラム。
  15. ストリーミングデータが格納された複数のパケットを受信する受信装置において、
    前記複数のパケットを送信する送信装置からのパケットを受信する受信手段と、
    直前に受信された第1の前記パケットとは異なるタイムスタンプが付加された第2の前記パケットに含まれているシーケンス番号を抽出する第1の抽出手段と、
    前記第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出手段と、
    前記シーケンス番号と、前記拡張シーケンス番号に1を加算して得られる加算結果が一致する場合、前記タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、前記タイムスタンプが付加された各パケットを復号し、
    前記シーケンス番号と、前記拡張シーケンス番号に1を加算して得られる加算結果が一致しない場合、前記タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記タイムスタンプが付加された各パケットを復号せずに破棄する復号手段と
    を備える受信装置。
  16. 前記シーケンス番号と、前記拡張シーケンス番号に1を加算して得られる加算結果が一致するか否かを判定する判定手段をさらに備え、
    前記復号手段は、
    前記シーケンス番号と、前記拡張シーケンス番号に1を加算して得られる加算結果が一致すると判定された場合、前記タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、前記タイムスタンプが付加された各パケットを復号し、
    前記シーケンス番号と、前記拡張シーケンス番号に1を加算して得られる加算結果が一致しないと判定された場合、前記タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記タイムスタンプが付加された各パケットを復号せずに破棄する
    請求項15に記載の受信装置。
  17. ストリーミングデータが格納された複数のパケットを受信する受信装置の受信方法において、
    前記複数のパケットを送信する送信装置からのパケットを受信する受信ステップと、
    直前に受信された第1の前記パケットとは異なるタイムスタンプが付加された第2の前記パケットに含まれているシーケンス番号を抽出する第1の抽出ステップと、
    前記第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出ステップと、
    前記シーケンス番号と、前記拡張シーケンス番号に1を加算して得られる加算結果が一致する場合、前記タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、前記タイムスタンプが付加された各パケットを復号し、
    前記シーケンス番号と、前記拡張シーケンス番号に1を加算して得られる加算結果が一致しない場合、前記タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記タイムスタンプが付加された各パケットを復号せずに破棄する復号ステップと
    を含む受信方法。
  18. ストリーミングデータが格納された複数のパケットを受信する受信装置のコンピュータに実行させるためのプログラムにおいて、
    前記複数のパケットを送信する送信装置からのパケットの受信を制御する受信制御ステップと、
    直前に受信された第1の前記パケットとは異なるタイムスタンプが付加された第2の前記パケットに含まれているシーケンス番号を抽出する第1の抽出ステップと、
    前記第2のパケットに付加されている拡張シーケンス番号を抽出する第2の抽出ステップと、
    前記シーケンス番号と、前記拡張シーケンス番号に1を加算して得られる加算結果が一致する場合、前記タイムスタンプが付加された各パケットのいずれもパケットロスを起こしていないものとして、前記タイムスタンプが付加された各パケットを復号し、
    前記シーケンス番号と、前記拡張シーケンス番号に1を加算して得られる加算結果が一致しない場合、前記タイムスタンプが付加された各パケットのうちの少なくとも1つのパケットがパケットロスを起こしているものとして、前記タイムスタンプが付加された各パケットを復号せずに破棄する復号ステップと
    を含む処理をコンピュータに実行させるためのプログラム。
JP2005113370A 2005-04-11 2005-04-11 通信システム、送信装置、送信方法、受信装置、受信方法、およびプログラム Expired - Fee Related JP4876427B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005113370A JP4876427B2 (ja) 2005-04-11 2005-04-11 通信システム、送信装置、送信方法、受信装置、受信方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005113370A JP4876427B2 (ja) 2005-04-11 2005-04-11 通信システム、送信装置、送信方法、受信装置、受信方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2006295537A JP2006295537A (ja) 2006-10-26
JP4876427B2 true JP4876427B2 (ja) 2012-02-15

Family

ID=37415626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005113370A Expired - Fee Related JP4876427B2 (ja) 2005-04-11 2005-04-11 通信システム、送信装置、送信方法、受信装置、受信方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP4876427B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5030986B2 (ja) * 2009-03-16 2012-09-19 三菱電機株式会社 映像伝送装置及び映像伝送システム
JP6268066B2 (ja) * 2013-09-20 2018-01-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置及び受信装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1198503A (ja) * 1997-09-19 1999-04-09 Nec Corp 画像データの転送および再生方式
JP2001078181A (ja) * 1999-09-02 2001-03-23 Matsushita Electric Ind Co Ltd パケット伝送方法、パケット受信再生装置
JP2003244693A (ja) * 2002-02-13 2003-08-29 Matsushita Electric Ind Co Ltd 映像配信システムおよび方法
JP2003259371A (ja) * 2002-02-28 2003-09-12 Toshiba Corp 動画像受信装置及びこれに用いる動画像処理用集積回路
JP2003338830A (ja) * 2002-03-12 2003-11-28 Matsushita Electric Ind Co Ltd メディア送信方法、メディア受信方法、メディア送信装置及びメディア受信装置
JP2004159101A (ja) * 2002-11-06 2004-06-03 Ntt Docomo Inc データ伝送方法、データ送信装置、データ受信装置、及びデータ伝送システム
JP3927486B2 (ja) * 2002-11-29 2007-06-06 株式会社エヌ・ティ・ティ・ドコモ ストリーミング配信装置、ストリーミング配信システム、及びストリーミング配信方法
JP2004266741A (ja) * 2003-03-04 2004-09-24 Sony Corp 配信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム

Also Published As

Publication number Publication date
JP2006295537A (ja) 2006-10-26

Similar Documents

Publication Publication Date Title
US8301982B2 (en) RTP-based loss recovery and quality monitoring for non-IP and raw-IP MPEG transport flows
JP3931595B2 (ja) データ修正装置及びデータ修正方法
US6745364B2 (en) Negotiated/dynamic error correction for streamed media
TWI419565B (zh) 緩衝媒體流之封包的方法、緩衝媒體流之系統、用於傳送之裝置與晶片組、伺服器、以及電腦程式產品
US8805171B2 (en) Constructing video frames and synchronizing audio data in a media player from data received via a plurality of diverse protocol stack paths
US20120271963A1 (en) Transport mechanisms for dynamic rich media scenes
KR102076064B1 (ko) Dash의 강건한 라이브 동작
US10477282B2 (en) Method and system for monitoring video with single path of video and multiple paths of audio
US8214708B2 (en) Video transmitting apparatus, video receiving apparatus, and video transmission system
WO2007045140A1 (fr) Methode en temps reel pour transferer des donnees multimedia
JP2003224839A (ja) ストリーミングシステム及びストリーミング方法、ストリーミングサーバ及びデータ配信方法、クライアント端末及びデータ復号方法、オーサリング装置及びオーサリング方法、並びにプログラム及び記録媒体
US10924524B2 (en) Communication devices, communication data generation method, and communication data processing method
JP5344541B2 (ja) データ送信装置、送信方法及びプログラム
EP2214413A2 (en) Server and client selective video frame pathways
US20090268730A1 (en) Data transmitting apparatus and method and program for controlling transmission rate
JP4406816B2 (ja) 受信装置および受信方法、記録媒体、並びにプログラム
JP4876427B2 (ja) 通信システム、送信装置、送信方法、受信装置、受信方法、およびプログラム
US7894486B2 (en) Method for depacketization of multimedia packet data
JP2003179662A (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP3906678B2 (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP4433281B2 (ja) 受信装置および方法、記録媒体、並びにプログラム
JP4506222B2 (ja) 通信システム、送信装置および方法、並びにプログラム
US11855775B2 (en) Transcoding method and apparatus, medium, and electronic device
JP2005136545A (ja) 送信装置および方法、プログラム格納媒体、並びにプログラム
JP2005136547A (ja) 通信システム、受信装置および方法、送信装置および方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111101

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111114

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees