JP2005051299A - Packet transmission apparatus, packet reception apparatus, packet transmission method and packet reception method - Google Patents

Packet transmission apparatus, packet reception apparatus, packet transmission method and packet reception method Download PDF

Info

Publication number
JP2005051299A
JP2005051299A JP2003202981A JP2003202981A JP2005051299A JP 2005051299 A JP2005051299 A JP 2005051299A JP 2003202981 A JP2003202981 A JP 2003202981A JP 2003202981 A JP2003202981 A JP 2003202981A JP 2005051299 A JP2005051299 A JP 2005051299A
Authority
JP
Japan
Prior art keywords
packet
retransmission
data
time
unit
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.)
Pending
Application number
JP2003202981A
Other languages
Japanese (ja)
Inventor
Takeshi Nagai
剛 永井
Reiko Noda
玲子 野田
Yoshiharu Kikuchi
義治 菊池
Hideyuki Ueno
秀幸 上野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003202981A priority Critical patent/JP2005051299A/en
Publication of JP2005051299A publication Critical patent/JP2005051299A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide packet transmission apparatus for efficiently transmitting multimedia contents through a network wherein it is possible to intrude errors to packets, and to provide packet reception apparatus, a packet transmission method, a packet reception method and a program. <P>SOLUTION: When a retransmission request reception section 107 receives a retransmission request from a receiver, a retransmission control section 108 determines the importance of the request in the light of whether or not data of the retransmitted packet are in time for the utilization of the data by the receiver when the packet is retransmitted, the importance being related to retransmission of the packet with respect to the request. The request is stored in a retransmission request queue section 110 together with the importance. The retransmission control section 109 selects the packet to be retransmitted on the basis of the importance when a plurality of packets to be retransmitted exist. A retransmission packetizing section 111 assembles the selected packet into the retransmission packet, which is transmitted to the receiver from a retransmission packet transmission section 113 via a retransmission packet queue section 112. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、符号化された動画像/静止画像に係るパケットをISDNやインターネット等の有線通信網あるいは携帯電話や無線LAN等の無線通信網を用いて送信するパケット送信装置、該パケットを受信するパケット受信装置、パケット送信方法及びパケット受信方法に関する。
【0002】
【従来の技術】
近年、画像等の各種情報のデジタル符号化技術や広帯域ネットワーク技術の進展により、これらを利用したアプリケーションの開発が盛んになっており、圧縮符号化した画像等を通信網を利用して伝送するシステムが開発されている。
【0003】
特に、インターネット・イントラネットの普及により、データをパケット化して送受信するアプリケーションやシステムが増加している。パケット化は通信路の帯域を効率良く複数のユーザで共有するのに有効な手段である。パケットデータを送受信するプロトコルとしてTCP/IPやUDP/IPなどが存在する。TCP/IPは再送などの枠組みが組み込まれていることから誤りなどに強く、多少時間がかかっても正しくデータを受信したいダウンロード型のアプリケーションに有効である。UDP/IPは再送の枠組みがない反面、再送などにかかる遅延がなく、リアルタイム性を求められるアプリケーションに有効である。
【0004】
動画像通信では、通常、画像データは非常に膨大なデータ量であり、ネットワークの帯域に収まらない場合が多い。この場合、画像データを符号化しデータ量を小さくして伝送する手法が用いられる。動画像信号の圧縮符号化技術としては動き補償、離散コサイン変換(DCT)、サブバンド符号化、ピラミッド符号化、可変長符号化等の技術やこれらを組み合わせた方式が開発されている。動画像符号化の国際標準方式としてはISO MPEG−1, MPEG−2, ITU−T H.261, H.262, H.263が存在し、動画像、音声・オーディオ信号を圧縮した符号列や他のデータを多重化する国際標準方式としてはISO MPEGシステム、ITU−T H.221, H.223が存在する。
【0005】
インターネット等は無数のネットワークを介して繋がっており、どのネットワークがどういう状況になっているかわからないのが通常である。また、そこに流れているデータ量が時々刻々と変動するため、どのくらいのデータがリアルタイムで通信できるかを判定する仕組みが必要である。そこで、UDP/IPを利用したリアルタイムアプリケーションから一歩進み、パケットに時間情報等を付加して伝送するRTP(Real−time Transport Protocol)というパケットフォーマットを使用するアプリケーションが増えてきている。RTPを利用することで、パケットに時間情報及びパケット番号が付加され、受信側では正しい時間情報を用いて音声や画像を表示することが出来たり、ネットワークで順番が入れ替わったパケットなどを判定したり、パケット番号を見ることでパケットが損失していることを検出すること等が出来る。しかも、RTPには送信側や受信側から補足情報としてジッタやパケット損失率などを通知する仕組み(RTCP(RTP Control Protocol))も備わっている。また、RTPパケットの再送を行う仕組み等も現在議論されている。例えば、パケットに優先順位等を付加し、全てを再送しないようトラフィックの制御ができるような機能が知られている。ただし、この利用法について規定はなされていない。
【0006】
また、IETF(The Internet Engineering Task Force)では、上記のような画像通信を確立するための送信端末・受信端末間のセッション管理プロトコルとしてRTSPが規定されているとともに、画像コンテンツの内容を記述するための言語仕様であるSDPが規定されている。これにより、サーバ・クライアント間では、RTSPによりセッションの開始や、マルチメディアコンテンツの送信開始、一時停止やセッションの終了等の制御が可能となる。
【0007】
ここで、画像をインターネット等で伝送する場合、インターネット等では生の画像伝送分の帯域を確保できないので、画像信号をMPEGなどの符号化方式で圧縮して送ることが行われる。これはデータ量の減少には効果があるが、不安定なインターネット等にデータを流すことでのパケット損失や誤りの混入に対して非常に脆くなる。動画像符号化方式では、前のフレームとの差分のみを送信することから、データの一部が欠落することが問題となる。UDPやRTPでは、基本的にデータの再送をしないことから、該問題への対策が必要となる。このために、RTPの再送に関する規格制定がIETFで行われている。簡単に言うと、AVPFというプロトコルを使い、受信できなかったパケット番号をNACKというコマンドで送信側に通知する。送信側では、NACKから消失したパケットを特定し、RTP再送の規格に準じてヘッダを構成し、受信側へ送信する。さらに、RTPは主にリアルタイム通信に利用されることから、再送しても表示に間に合わないパケットは再送しないように制御する技術も提案されている(例えば、特許文献1参照)。また、再送パケットが到着するまでに遅延があり、リアルタイム再生に間に合わない可能性があるため、再送を記録用途に利用することも提案されている。その際、再送パケットをリアルタイムと同じ信頼性の低いUDPで伝送するのではなく、信頼性のあるTCPで伝送するようにする等の工夫がなされている(例えば、特許文献2参照)。
【0008】
【特許文献1】
井戸 大治, 他, “データ送信装置、データ受信装置、およびデータ通信システム”, P2002−84338, Mar. 2002.
【0009】
【特許文献2】
小林 誠, “通信制御装置、通信制御方法、及び通信制御プログラムが記録された記録媒体”, P2002−199019, July 2002.
【0010】
【発明が解決しようとする課題】
従来の技術では、ネットワークのプロトコルとして、RTPのフィードバック情報(RTCP)や、再送制御(RTP Retransmission)等が提案され規格化されてきたが、RTCPや再送をどのように使用すべきかは提示されていない。記録用途に限定しTCPで再送したり、リアルタイム再生に間に合わない再送パケットは伝送しないようにしたりする技術は知られているが、これらは単機能であり再生しながらの記録等で再生品質及び記録品質双方に効果があるような方式は存在しない。また、再送時の伝送帯域消費に関しては、再送した分を、通常の伝送で重要度の低いものの伝送を行わないことで補う技術が知られているが、これでは元のデータに欠落が出来てしまい、再生品質の低下や、記録コンテンツの品質も上がらないなどの問題が発生する。
【0011】
本発明は、上記事情を考慮してなされたもので、誤りが混入する可能性のあるネットワークでマルチメディアコンテンツを効率よく伝送するパケット送信装置、パケット受信装置、パケット送信方法及びパケット受信方法を提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明に係るパケット送信装置は、マルチメディアコンテンツデータから生成された複数のパケットを順次ネットワークを介して受信装置へ送信する第1の送信手段と、前記受信装置から前記ネットワークを介して、再送すべきパケットを特定する情報を含む再送要求を受信する受信手段と、前記再送要求に係るパケットの再送に関する重要度を、該パケットに係るデータが前記受信装置で利用される予定の第1の時刻及び該パケットに対応する再送パケットに係るデータが前記受信装置で利用可能になると予想される第2の時刻に基づいて決定する決定手段と、前記重要度に基づいて再送すべきパケットを選択する選択手段と、選択されたパケットに対応する再送パケットを前記ネットワークを介して前記受信装置へ送信する第2の送信手段とを備えたことを特徴とする。
【0013】
また、本発明に係るパケット受信装置は、マルチメディアコンテンツデータから生成された複数のパケット又はこれに対応する再送のパケットを順次ネットワークを介して送信装置から受信する第1の受信手段と、前記第1の受信手段により受信したパケットを解析し、その結果に基づいて再送すべきパケットを特定する特定手段と、再送すべきパケットを特定する情報を含む再送要求を前記ネットワークを介して前記送信装置へ送信する送信手段と、前記パケットに係るデータを利用するデータ利用手段と、前記パケットに係るデータを記録する記録手段とを備えたことを特徴とする。
【0014】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【0015】
本発明では、パケットロスなどの誤りに対し再送を使ってデータを復元するシステムにおいて、リアルタイム再生と記録保存とを効率的に両立することが可能になる。
【0016】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0017】
本実施形態では、画像データや音声データを実時間転送するためのプロトコルであるRTP(リアルタイムトランスポートプロトコル)を利用する場合を例にとって説明する(なお、RTPの詳細は例えば「Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson “RTP: A Transport Protocol for Real Time Applications”, RFC 1889, January 1996.」に開示されている)。
【0018】
(第1の実施形態)
図1に、本発明の第1の実施形態に係るマルチメディアコンテンツ配信装置の構成例を示す。
【0019】
図1に示されるように、本マルチメディアコンテンツ配信装置は、マルチメディアコンテンツ保存部101、RTPパケット化部102、送信キュー部103、送信部104、通信路状態情報受信部105、往復時間算出部106、再送要求受信部107、パケットバッファ部108、再送制御部109、再送要求キュー部110、再送パケット化部111、再送パケットキュー部112、再送パケット送信部113を備えている。
【0020】
なお、図1において、aで示した範囲が、パケット送信に係る部分であり、bで示した範囲が、再送に関する制御に係る部分であり、cで示した範囲が、再送パケット送信に係る部分である(後に参照する各構成図おいても、a、b、cを同様の意味で用いている)。
【0021】
以下、本マルチメディアコンテンツ配信装置(送信側装置とも呼ぶ)がネットワーク(図示せず)を介してマルチメディアコンテンツ受信装置(受信側装置とも呼ぶ)(図示せず)へマルチメディアコンテンツを送信する場合の動作について説明する。マルチメディアコンテンツ受信装置としては、特に限定されるもんではなく、例えば既存のものでもよいし、第6の実施形態で説明するものでもよい。
【0022】
マルチメディアコンテンツを保持するマルチメディアコンテンツ保存部101から出力されたコンテンツデータ(131)は、RTPパケット化部102でRTPパケット化される。RTPパケットデータ(132)は、送信キュー部103で一時保管された後、送信部104からネットワークの帯域に沿った形で順次受信側に送信される。一方、RTPパケットデータ(132)は、パケットバッファ部108に蓄積され、伝送したパケットが受信側装置に届かなかった場合の再送用に保存される。
【0023】
図2に、RTPパケットのヘッダ部分の構成を示す。図2の通り、ヘッダ中には、RTPのバージョン情報(V)、パディング情報(P)、拡張ヘッダの有無(X)、CSRCの数(CC)、データの種類(PT)、送信元の識別子(SSRC)、関連した送信元の識別子(CRSC)と共に、パケットの番号(Sequence Number)とパケットの時刻情報(タイムスタンプ(timestamp))が含まれている。
【0024】
受信側装置からは、通信路の状態を示す情報(以下、通信路状態情報)がRTCP等を使い送信側装置へ送られてくる。通信路状態情報受信部105では、この通信路状態情報(134)を受信し、往復時間算出部106に送る。送信側装置と受信側装置との間でデータ転送にかかった時間(以下、往復時間)(138)を往復時間算出部106で決定し、再送制御部109に入力する。通信路状態情報の他に、受信側装置からは、届いていないパケットの番号を通知する情報を含む再送要求が送られてくる。再送要求受信部107では、この再送要求(135)を受信し、再送制御部109に送る。
【0025】
再送制御部109では、再送要求(135)から、再送すべきパケット番号を特定し、パケットバッファ部108から該当するパケットデータ(137)を取得する。再送制御部109では、現在時刻と、往復時間算出部106で決定した往復時間(138)と、再送要求キュー部110に蓄えられている未処理の再送要求のうち重要度の高いものを処理するのに要する時間(以下、所要処理時間)(140)とを考慮して、再送要求(135)で指定されたパケットが再生時間に間に合うように受信側装置に到着するか否かの判断を行う。ここで判断された結果は、再送要求(135)で指定されたパケットの重要度として設定され、再送要求キュー部110に一時格納される。再送制御部109では、上記の判断に加え、再送要求キュー部110から重要度の高い順に再送要求を選択し、パケットバッファ部108に再送するよう指示を行うことも併せて行う。
【0026】
パケットバッファ部108では、指示されたパケットデータ(141)を再送パケット化部111に送り、再送パケット化部111では、このパケットデータ(141)をもとに、再送用パケットフォーマットに従って、再送パケット(142)を生成する。
【0027】
生成された再送パケット(142)は、再送パケットキュー部112に一時保管され、再送パケット送信部113から受信側へ送信される。
【0028】
図3に、再送制御部109で再送要求されたパケットに対する重要度の判定の概略的な処理手順の一例を示す。
【0029】
再送制御部109は、再送パケットが間に合うか否かを判定し(ステップS201)、間に合うと判定された場合には、重要度を“高”に設定し(ステップS202)、間に合わないと判定された場合には、重要度を“低”に設定する(ステップS203)。この判定結果に基づき、再送要求キュー部110に再送要求(139)が保管される。
【0030】
図4に、再送要求キュー部110に保管される再送要求のデータ構造例を示す。この例では、各再送要求についての再送すべきパケットの番号とその重要度とを組にして保管し、再送制御部109が重要度の高いものから処理できるように構成する。もちろん、図4は一例であり、この他にも、種々のバリエーションが可能である。例えば、パケットの時刻情報や、パケットバッファ部108内やマルチメディアコンテンツ保存部101内での位置情報等の情報を保持させることも可能である。また、重要度に応じてリストを分割したり、ポインタを利用して各重要度の先頭データを指し示したりという手法を利用し効率的にデータを格納することも可能である。また、重要度情報も“高”・“低”の2値だけでなく、多値で記録することも可能である。
【0031】
図5に、再送制御部109で再送要求されたパケットに対する重要度の判定のより詳細な処理手順の一例を示す。
【0032】
再送制御部109は、再送要求(135)から、再送すべきパケット番号を特定する(ステップS401)。なお、再送要求(135)には、パケット不着を知らせるNACK情報等を利用することが出来る。
【0033】
ステップS401で特定されたパケット番号を使い、パケットバッファ部108よりパケットの時刻情報(再生予定時刻)を取得する(ステップS402)。
【0034】
パケットの時刻情報および通信路状態情報より算出した往復時間情報(138)に加え、受信側装置において用意してある初期バッファの量を示す初期バッファ量情報、送信開始時刻、現在時刻等の情報をシステムから取得し、該パケットを再送した場合の到着予想時刻を算出する(ステップS403)。
【0035】
ステップS402で取得したパケットの再生予定時刻がステップS403で算出した到着予測時刻よりも後ならば(早急に再送すれば再生に間に合うと予測されるので)、早急に再送する価値のあるパケットと判定し、到着予想時刻が再生予定時刻よりも後ならば(早急に再送しても再生に間に合わないと予測されるので)、早急に再送しなくてもよいパケットと判定する(ステップS404)。
【0036】
早急に再送すべきパケットと判定された場合は、該パケットの再送要求を重要度“高”に設定し、再送要求キュー部110に保管し(ステップS405)、早急に再送しなくてもよいと判定された場合には、該パケットの再送要求を重要度“低”に設定し、再送要求キュー部110に保管する(ステップS406)。
【0037】
ここで、図5のステップS403およびステップS404での到着予想時刻と再生予定時刻との間の関係を図6および図7に示す。図6は到着予想時刻が再生予定時刻よりも前になり重要度が“高”に設定される場合の例であり、図7は逆に到着予想時刻が再生予定時刻よりも後になり重要度が“低”に設定される場合の例である。
【0038】
ここで、送信側装置につき、送信開始時刻をTSTART、パケットの送信時刻をTSEND、パケットのタイムスタンプをPTS、受信側装置からの再送要求を受信した時刻をTRREQ、再送要求キュー部110等に蓄えられている処理待ちの重要度の高い再送要求を処理するのにかかる時間をDQUEと定義すると共に、受信側装置につき、送信側装置から送信を開始してから受信側装置が再生動作を開始するまでの初期応答遅延をα、再生動作を開始した時刻をTCSTART、受信バッファによる最初のデータを表示するまでの初期遅延時間をDINIT、往復のパケット伝送にかかる往復時間をRTT、再送要求に基づいた再送パケットが到着する時刻をTRRCV、パケットの再生予定時刻をTPLAY、パケット処理にかかる時間をDLSRと定義する。
【0039】
図6および図7からわかるように、再送パケット到着時刻(すなわち、再送パケットが再生可能になる時刻)TRRCVがパケット再生予定時刻TPLAYよりも前になれば、早急に再送すべきパケットということになる。これを数式で示すと数式(1)のようになる。数式(1)が真になる場合は、再送パケットが再生までに間に合うということになり、重要度を高く設定することになり、数式(1)が偽になる場合は、再送パケットが間に合わないことになり、重要度を低く設定する。
(TRREQ−TSTART)+DQUE+RTT/2≦DINIT+PTS …(1)
該判定の数式は、上記の数式(1)だけではなく、以下に例示する数式(2)、数式(3)、数式(4)のような方式で判定することや、これ以外の方式で行うことも可能である。
(TRREQ−TSTART)+DQUE+RTT/2≦DINIT+PTS+α …(2)
(3/2)×RTT≦DINIT …(3)
(3/2)×RTT+DLSR≦DINIT …(4)
数式(2)は、初期応答遅延αを考慮に入れて判定を行っている例であり、数式(3)は、初期遅延や累積遅延の影響を無視し、単純にRTTと受信側のバッファ量DINITからだけで判定を行う例である。数式(4)は、受信側装置で到着したパケットを処理し、再送要求を出すまでのパケット処理時間DLSRを考慮した判定条件式であり、DLSRを計算するには、数式(5)のような式を利用することが出来る。
DLSR=TRREQ−TSEND−RTT …(5)
送信側装置の再送制御部109で該判定を行うため、上記のような数式を利用するためには、受信側装置の時刻情報やバッファ量情報等を取得する必要がある。初期遅延時間DINITはセッション開始時のSDP(例えば「M. Handley, et al, “SDP: Session Description Protocol”, IETF RFC2327, April 1998.」参照)や端末の能力交換等で送信側装置へ通知したり、あらかじめシステムで初期値を決定したりしておくことで、送信側装置はそれらを知ることができる。また、往復時間などはRTCPを利用することで知ることが出来る。標準の方式によっては通知できない情報等は、RTCPのAPPパケット(Application Specific Packet)によるアプリケーション依存の独自フォーマットを利用して伝送するなどの対策をとればよい。
【0040】
本実施形態は、種々変形して実施することが可能である。その幾つかの例を以下に示す。
【0041】
次に、図8に、本実施形態のマルチメディアコンテンツ配信装置の他の構成例を示す。
【0042】
図1の構成例では、再送制御部109が、再送用パケットデータ(141)を再送パケット化部111へ送るよう指示を出したが、図8の構成例では、この指示を再送要求キュー部110が行うようにしたものである。この場合、再送制御部109には、再送要求の重要度判定だけを行わせ、再送要求キュー部110が再送要求に応じた送信間隔の制御などを実行することになる。これにより、再送制御部109の構成が複雑になるのを防ぐことが出来る。
【0043】
次に、図9に、本実施形態のマルチメディアコンテンツ配信装置のさらに他の構成例を示す。
【0044】
図9は、RTPパケット化をリアルタイムで行うのではなく、予めRTP化されたデータをRTPマルチメディアコンテンツ保存部801に保持するようにしたものである。RTPマルチメディアコンテンツ保存部801には、予めRTPパケット化された形でまたはRTPパケット化するための付加情報が付け加えられた形でコンテンツが保存されており、RTPマルチメディアコンテンツ保存部801からRTPパケット化されたデータ(831)が出力される。これにより、リアルタイムにパケット生成を行わなくて済むという利点が得られる。
【0045】
さらに、再送制御部109が直接RTPマルチメディアコンテンツ保存部801にアクセスすることで、パケットバッファ部108を省略することもできる。その他、パケットバッファ部108が実際のデータを保持するのではなく、RTPマルチメディアコンテンツ保存部801にあるデータへのポインタだけを保持しておくことも可能である。このような変形を行うことで、パケットバッファ部を省略して配信装置や配信プログラムを簡略化したり、ポインタを利用することでパケットバッファ部に必要なメモリ量を削減したりすることが可能となる。
【0046】
なお、これらの場合、RTPパケット化部を備えなくて構わない。
【0047】
また、マルチメディアコンテンツ保存部101及びRTPパケット化部102と、RTPマルチメディアコンテンツ保存部801とを全て備え、RTPパケット化をリアルタイムで行って送信する機能と、予め保持されているRTPパケットを送信する機能との両機能を適宜使用できるようにしてもよい。
【0048】
ところで、本実施形態では、ネットワークの遅延時間、パケット時刻情報、受信側バッファ情報、送信開始時間、初期遅延時間等から到着予想時刻を算出している。
【0049】
送信側装置において到着予想時刻を算出する場合、パケットバッファ部108に保存されているパケットデータからパケット時刻情報を得ることが出来る。また、受信側バッファ量に関する情報および初期遅延時間は、例えば、システムの規定値として送信側装置で予め知っている値である。送信開始時刻も送信側装置が有している。また、ネットワークの遅延時間情報は、受信側装置との間のパケットデータのやり取りから得られる値である。
【0050】
このネットワークの遅延時間情報は、例えば、RTCPという制御パケットを利用して、その中に含まれる時刻情報を利用して計算することができる。
【0051】
図10および図11に、RTCPのパケットの構成を示す。図10は、送信側装置から受信側装置に送られる送信側レポートを示したものであり、図11は受信側装置から送信側装置に送られる受信側レポートを示したものである。
【0052】
ここで、RTCPを用いてネットワークの遅延時間を求める方法について説明する。
【0053】
受信側レポートを受信した送信側装置は、その受信側レポートを受信したNTP時刻Tr−recvと、受信側レポート内にある“最後の送信側レポートのNTP timestamp”TLSRおよび“最後の送信側レポートが到着してから受信側レポートを送信するまでの時間”TDLSRとを用いて、数式(5)のように計算を行う。
delay=Tr−recv−TLSR−TDLSR …(5)
ここで求められた値が往復のネットワーク遅延時間Tdelayである。
【0054】
受信側バッファ量に関する情報および初期遅延時間は、前述したように規定値を用いる他に、受信側装置からセッションを確立する際のネゴシエーションで通知する方法もある。
【0055】
一方、受信装置側で到着予想時刻を判定する場合も同様の判定方法で行うことができる。パケット時刻情報は、パケットが失われているため正確な時刻が判明しない。この場合、対象となるパケットロスしたパケットに一番近いまたは前後どちらか一方向で一番近いパケットの時刻情報を代替して利用する方法や、近いパケットの時刻情報とパケット番号などからパケットロスしたパケットの時刻情報を推定する方式などを利用することが可能である。受信側装置のバッファ量や初期遅延時間は、受信側装置で保持してある値であり、これをそのまま利用することができる。
【0056】
ネットワークの遅延時間は、図10に示した送信側レポートを受け取ることにより算出することができる。送信側レポートを受信したNTP時刻をTs−recvとし、送信側レポートに含まれる“NTP timestamp”Ts−sendとする。これから片道のネットワーク遅延時間Tdelay_onewayは、数式(6)で求めることが可能である。
delay_oneway=Ts−recv−Ts−send …(6)
往復のネットワーク遅延時間を求める場合は、簡易的に2倍する方法や、送信側装置から受信側装置への方向での遅延と、受信側装置から送信側装置への方向での遅延とが均一でない場合を考慮して、係数を乗じるまたは値を加えるなどして対応させる方法などがある。
【0057】
また、送信開始時間は、既存のRTCPでは通知することはできないため、例えば0とするなどの代替値で置き換えるなどの対応を行えばよい。その他に、RTP・RTCPとは別にセッション確立の際のネゴシエーションで送信側装置から受信側装置へ通知する方法をとることも可能である。
【0058】
(第2の実施形態)
図12に、本発明の第2の実施形態に係るマルチメディアコンテンツ配信装置の構成例を示す。
【0059】
図12に示されるように、本マルチメディアコンテンツ配信装置は、マルチメディアコンテンツ保存部101、RTPパケット化部102、送信キュー部103、送信部104、通信路状態情報受信部105、往復時間算出部106、再送要求受信部107、パケットバッファ部108、再送制御部109、再送パケット化部111、再送パケット送信部113、再送待ちパケットバッファ部901を備えている。
【0060】
本実施形態は、第1の実施形態の再送要求キュー部110と再送パケットキュー部112とを、再送待ちパケットバッファ部901で置き換えたものである。
【0061】
以下、本マルチメディアコンテンツ配信装置がネットワークを介してマルチメディアコンテンツ受信装置へマルチメディアコンテンツを送信する場合の動作について説明する。以下では、第1の実施形態で説明したものと相違する点を中心に説明する。
【0062】
マルチメディアコンテンツ保存部101から出力されたコンテンツデータ(131)は、RTPパケット化部102でRTPパケット化される。RTPパケットデータ(132)は、送信キュー部103で一時保管された後、送信部104からネットワークの帯域に沿った形で順次受信側に送信されるとともに、パケットバッファ部108に再送のために保存される。
【0063】
通信路状態情報受信部105では、受信側装置から送られてきた通信路状態情報(134)を受信し、往復時間算出部106に送る。往復時間算出部106は、往復時間(138)を決定し、再送制御部109に入力する。
【0064】
再送要求受信部107では、受信側装置から送られてきた再送要求(135)を受信し、再送制御部109に送る。
【0065】
再送制御部109では、再送要求(135)から、再送すべきパケット番号を特定し、パケットバッファ部108から該当するパケットデータ(137)を取得する。再送制御部109では、現在時刻と、往復時間(138)と、再送待ちパケットバッファ部901に蓄えられている未処理の再送要求のうち重要度の高いものを処理するのに要する所要処理時間(932)とを考慮して、再送要求(135)で指定されたパケットが再生時間に間に合うように受信側装置に到着するか否かの判断を行う。ここで判断された結果は、再送要求(135)で指定されたパケットの重要度として設定され、パケットバッファ部108に対し再送すべきパケットの指定情報に重要度を付加した再送パケット指定情報(136)が送られる。
【0066】
パケットバッファ部108では、再送パケット指定情報(136)に基づき再送用のパケットデータ(933)を再送待ちパケットバッファ部901に送る。この際、再送パケット指定情報(136)に付加されている重要度情報も併せて送る。
【0067】
再送待ちパケットバッファ部901では、再送するパケットデータが重要度に応じた形で順序付けられ一時保管され、再送制御部109からの指示により順次パケットデータ(934)を出力する。
【0068】
再送パケット化部111では、パケットデータ(934)をもとに、再送用パケットフォーマットに従って、再送パケット(143)を生成する。
【0069】
再送パケット(143)は、再送パケット送信部113から受信側装置へ送信される。
【0070】
図13に、再送待ちパケットバッファ部901での重要度情報に対応した格納処理の手順の一例を示す。ここでは、重要度が2値で示される場合を例にとって説明する。
【0071】
入力されたパケットデータ(933)について、付加された重要度情報が高いか否かの判定を行う(ステップS1001)。重要度が“高”の場合は、重要度“高”のパケットデータリストの中でパケットのタイムスタンプに準じた順序位置にパケットデータ(933)が挿入される(ステップS1002)。重要度が“低”の場合は、重要度“低”のパケットデータリストの中でパケットのタイムスタンプに準じた順序位置にパケットデータ(933)が挿入される(ステップS1003)。
【0072】
なお、重要度が2値以外の多値を持っている場合も、同様に、夫々の値に準じた順序位置にパケットデータを挿入するように構成すればよい。
【0073】
次に、再送待ちパケットバッファ部901の構成例について説明する。
【0074】
図14に、重要度とパケット番号と再送待ちパケットデータとをセットで再送待ちパケットバッファ部901に格納するリスト方式の例を示す。この例では、重要度“高”のパケットが入ってきた場合には、重要度“高”でパケット番号が順番通りになるようにパケットデータが挿入されることになる。なお、図14の例では、パケット番号を順序管理用の情報として利用しているが、例えばパケットのタイムスタンプなど、他の情報を利用したりすることも可能である。この方式は、データを直接順番に並べるため構成を簡単にすることが可能である。また、データの挿入に伴いそれ以降のデータを再度書き直すことがシステム的に負荷になる場合は、例えば重要度“高”のものと“低”のもののリストを分割しておき、夫々の後ろにデータを追加していく形を取ることで効率化することが可能である。
【0075】
図15に、途中への挿入もデータの書き換えがなく、重要度の高い方から低い方へ一列に並べることができる再送待ちパケットバッファ部901の構成例を示す。この例では、各パケットデータは、重要度、パケット番号、パケットデータ等前述したデータの他に、各パケットデータに対し順番が一つ前のものと一つ後ろのものへのポインタを有する構造になっている。これと、先頭データへのポインタ、最後尾データへのポインタを有することで、先頭から順にデータを検索し、挿入すべき位置が見つかったところで、その前後のデータのポインタを挿入するパケットデータを指し示すように修正し、さらに自分自身のポインタを前後のパケットを示すように設定する。このようにポインタを利用することにより、データの追加書き込みだけで、順番を考慮した記憶が可能になる。なお、図15の具体例において、(a)の状態で、重要度“高”、パケット番号“#42”のパケットデータを挿入すると、(b)の通りになる。
【0076】
なお、これらは一例であり、重要度に応じてパケットデータを再送パケット化部111に出力可能であれば、どのような方式でも対応可能である。また、第1の実施形態の変形例として説明したように、図9で示したようなRTPマルチメディアコンテンツ保存部801を使うことで、パケットデータ自身をバッファに保管するのではなく、コンテンツ保存部801にあるデータへのポインタだけを保管し、再送パケット化部111でパケット化する場合に取り出すようにすることも可能である。
【0077】
また、第1の実施形態では、再送パケット化されたデータを一旦再送パケットキュー部112で保管し、その後に再送パケット送信部113で送信していたが、本実施形態でも同様の構成をとることも可能である(図12の構成例では、再送制御部109と再送待ちパケットバッファ部901が送信帯域を考慮したデータの出力を行う機能を有していると考えて、再送パケットキュー部を省いた形で説明したものである)。
【0078】
(第3の実施形態)
図16に、本発明の第3の実施形態に係るマルチメディアコンテンツ配信装置の構成例を示す。
【0079】
図16に示されるように、本マルチメディアコンテンツ配信装置は、マルチメディアコンテンツ保存部101、RTPパケット化部102、送信キュー部103、送信部104、通信路状態情報受信部105、往復時間算出部106、再送要求受信部107、パケットバッファ部108、再送制御部109、再送要求キュー部110、再送パケット化部111を備えている。
【0080】
なお、図16において、bで示した範囲が、前述のように再送に関する制御に係る部分であり、dで示した範囲が、パケット送信及び再送パケット送信に係る部分である(後に参照する各構成図おいても、dを同様の意味で用いている)。
【0081】
本実施形態は、第1の実施形態のパケット送信に係る構成と再送パケット送信に係る構成とを統合化したものである。
【0082】
以下、本マルチメディアコンテンツ配信装置がネットワークを介してマルチメディアコンテンツ受信装置へマルチメディアコンテンツを送信する場合の動作について説明する。以下では、第1の実施形態で説明したものと相違する点を中心に説明する。
【0083】
マルチメディアコンテンツ保存部101から出力されたコンテンツデータ(131)は、RTPパケット化部102でRTPパケット化される。RTPパケットデータ(132)は、送信キュー部103で一時保管された後、送信部104からネットワークの帯域に沿った形で順次受信側に送信されるとともに、パケットバッファ部108に再送のために保存される。
【0084】
通信路状態情報受信部105は、受信側装置からの通信路状態情報(134)を受信する。往復時間算出部106は、往復時間(138)を決定する。再送要求受信部107は、受信側装置からの再送要求(135)を受信する。
【0085】
再送制御部109は、再送要求(135)から、再送すべきパケット番号を特定し、パケットバッファ部108から該当するパケットデータ(137)を取得する。また、現在時刻と、往復時間(138)と、所要処理時間(140)とを考慮して、再送要求(135)で指定されたパケットが再生時間に間に合うように受信側装置に到着するか否かの判断を行う。この判断結果は、再送要求(135)で指定されたパケットの重要度として設定され、再送要求キュー部110に一時格納される。また、再送要求キュー部110から重要度の高い順に再送要求を選択し、パケットバッファ部108に再送するよう指示を行う。
【0086】
パケットバッファ部108では、指示されたパケットデータ(141)を再送パケット化部111に送り、再送用パケットフォーマットに従って再送パケット(142)を生成する。
【0087】
再送パケット(142)は、送信キュー部103において元のパケットデータと共存する形で一時保管され、送信部104により受信側装置へ送信される。送信キュー部103では、元のパケットデータと再送用のパケットデータを一元的に管理し、送信タイミングを調整する。
【0088】
本実施形態によれば、送信部分を一つにすることが可能となり、装置の構成を簡略化することが可能となる。また、携帯端末等の少ないリソースで本方式を実現するのに役立つ。
【0089】
また、本実施形態では、第1の実施形態や第2の実施形態で示した構成例や変形例等を利用することももちろん可能である。
【0090】
一例として、図17に、再送待ちパケットバッファ部901(図12参照)を利用した場合の構成例を示す。この場合、パケットバッファ部108から出力された重要度を付加された再送用パケットデータ(933)は、再送待ちパケットバッファ部901に入力され、再送待ちパケットバッファ部901では、再送するパケットデータが重要度に応じた形で順序付けられ一時保管され、再送制御部109からの指示により順次パケットデータ934を出力する。再送パケット化部111では、パケットデータ(934)をもとに、再送用パケットフォーマットに従って、再送パケット(142)を生成する。再送パケット(142)は、送信キュー部103に元のパケットデータと共存する形で一時保管され、送信部104により受信側へ送信される。ここで、再送制御部109は、再送待ちパケットバッファ部901から、どのくらい処理待ちの再送要求があるかの情報を取り出して、再送制御の判定材料として利用している。
【0091】
続いて、図18に、もう一つの構成例を示す。図18は、図17の変形例と同様の考え方であるが、再送待ちパケットバッファ部901を用いるのではなく、送信キュー部103を代わりに利用するものである。この場合、パケットバッファ部108から出力された再送用パケットデータ(141)は、再送パケット化部111に入力され、再送パケットデータ(142)が生成された後に送信キュー部103に入力される。再送パケット(142)は、送信キュー部103に元のパケットデータと共存する形で一時保管され、送信部104により受信側装置へ送信される。ここで、再送制御部109は、送信キュー部103内に保管されているパケットデータ量等の情報(1532)を受け取り、再送制御の判定材料として利用する。これにより、非常に簡易なモジュール構成で実施することが可能となる。
【0092】
(第4の実施形態)
第1〜第3の実施形態では、再送制御という部分について種々の構成例を示してきたが、第4の実施形態では、再送制御に、再送分を考慮に入れた通信帯域制御(レート制御)を組み合わせた場合について説明する。
【0093】
図19に、本実施形態に係るマルチメディアコンテンツ配信装置の構成例を示す。
【0094】
図19に示されるように、本マルチメディアコンテンツ配信装置は、マルチメディアコンテンツ保存部101、RTPパケット化部102、送信キュー部103、送信部104、通信路状態情報受信部105、往復時間算出部106、再送要求受信部107、パケットバッファ部108、再送制御部109、再送要求キュー部110、再送パケット化部111、再送パケットキュー部112、再送パケット送信部113、セッション制御部1601を備えている。すなわち、図19の構成例は、図1の構成例にセッション制御部1601を付加したものである。
【0095】
以下、本マルチメディアコンテンツ配信装置がネットワークを介してマルチメディアコンテンツ受信装置へマルチメディアコンテンツを送信する場合の動作について説明する。以下では、第1の実施形態で説明したものと相違する点を中心に説明する。
【0096】
セッション制御部1601以外の各部は基本的には第1の実施形態と同様である。
【0097】
セッション制御部1601では、SDPやRTSP(例えば「H. Schulzrinne, et al, “Real Time Streaming Protocol (RTSP)”, IETF RFC2326, April 1998.」参照)等を使い、受信側装置とのセッションの要求・許可等を管理を行っている。ここで、受信側装置と送信側装置との間での交渉の結果決定した伝送帯域情報を使い、送信キュー部103、送信部104、再送制御部109、再送パケットキュー部112、再送パケット送信部113を制御する。具体的には、指定された帯域を守る形で各部がデータを送信する。伝送路の帯域を指定する方式としては、元データが使用する伝送帯域に再送で使用する伝送帯域を予め上乗せした形で受信側装置に通知しておく方式や、元データの伝送帯域と再送用の伝送帯域を別々に通知する方式等を利用する。
【0098】
次に、図20に、ストリーム切替機能を併せ持つことで、動的な帯域変動に追従することを容易にした構成例を示す。
【0099】
この構成例においては、マルチメディアコンテンツを保持するマルチメディアコンテンツ保存部101の代わりに、コンテンツ切替用に同じコンテンツを複数のパラメータで符号化し格納してある切替対応複数マルチメディアコンテンツ保存部1702を備え、これをレート制御部1701で管理する構成をとる。レート制御部1701に対しては、送信キュー部103、再送パケットキュー部112、通信路状態情報受信部105から送信待ち状態のパケットがどのくらい残っているかの情報(1731および1733)、通信路の誤りや遅延情報(1734)などが入力される。これらの情報をもとに、元データの伝送帯域やパラメータが最適になるコンテンツを、切替対応複数マルチメディアコンテンツ保存部1702から選択する。また、再送制御部109もレート制御部1701から現在の送信状況やコンテンツ切替情報1732を通知し、再送パケットの重要度判定に利用する。このような構成をとることで、通信路の帯域変動や環境変動に対応したレート制御が可能となる。
【0100】
(第5の実施形態)
第1〜第4の実施形態は、予め作成されたコンテンツデータから配信するものであったが、第5の実施形態では、リアルタイムに入力されるライブ映像等にも対応することを可能としたものである。
【0101】
図21に、本発明の第5の実施形態に係るマルチメディアコンテンツ配信装置の構成例を示す。
【0102】
図21に示されるように、本マルチメディアコンテンツ配信装置は、RTPパケット化部102、送信キュー部103、送信部104、通信路状態情報受信部105、往復時間算出部106、再送要求受信部107、パケットバッファ部108、再送制御部109、再送要求キュー部110、再送パケット化部111、再送パケットキュー部112、再送パケット送信部113、符号化部1801、レート制御部1802を備えている。すなわち、図21の構成例は、図1の構成例のマルチメディアコンテンツ保存部101の代わりに、符号化部1801とレート制御部1802を備えたものである。
【0103】
以下、本マルチメディアコンテンツ配信装置がネットワークを介してマルチメディアコンテンツ受信装置へマルチメディアコンテンツを送信する場合の動作について説明する。以下では、第1の実施形態で説明したものと相違する点を中心に説明する。
【0104】
第1の実施形態の図1の構成例では、マルチメディアコンテンツを保持するマルチメディアコンテンツ保存部101から出力されたコンテンツデータ(131)を、RTPパケット化部102でRTPパケット化していたのに対し、図21の構成例では、入力されたリアルタイム映像データ(1831)を符号化部1801で符号化し、符号化データ(1832)をRTPパケット化部102でRTPパケット化する。
【0105】
また、レート制御部1802は、送信キュー部103、再送パケットキュー部112および通信路状態情報受信部105から、送信待ちパケットのデータ量(1835および1833)、通信路状態情報(1834)を取得する。これらの情報をもとに、符号化部1801の符号化パラメータ(1836)を決定し、符号化部1801に通知する。符号化パラメータの制御は、例えば、送信キュー部103や再送パケットキュー部112に送信待ちパケットデータが多く存在している場合には、発生符号量を抑えるように量子化幅を大きくしたり、フレームレートを下げたりという制御を行う。また、通信路の状態も考慮し、遅延が大きくなった場合には同様の制御を行ったりすることも可能である。送信待ちのデータ量が少なくなった場合は、逆に発生符号量が多くなってもかまわないような制御を行うことも出来る。
【0106】
次に、図22に、本実施形態のマルチメディアコンテンツ配信装置の他の構成例を示す。図22に示されるように、再送制御部109から判定結果や再送要求キュー部110に一時保管されている再送要求数などの情報(1931)をレート制御部1802に入力することで、さらに詳細なレート制御を行うことも可能である。これにより、伝送帯域を有効に利用した配信を実施することが可能となる。
【0107】
なお、マルチメディアコンテンツ保存部101と、符号化部1801及びレート制御部1802とを全て備え、予め作成されたコンテンツデータを配信する機能と、リアルタイムに入力されるライブ映像等を配信する機能との両機能を適宜使用できるようにしてもよい。
【0108】
次に、第3の実施形態で示した送信部分の共通化の考え方を、リアルタイムデータ入力の場合に適用した例を示す。図23に、この場合の一構成例を示す。
【0109】
第3の実施形態の図16の構成例では、マルチメディアコンテンツを保持するマルチメディアコンテンツ保存部101から出力されたコンテンツデータ(131)を、RTPパケット化部102でRTPパケット化していたのに対し、図23の構成例では、入力されたリアルタイム映像データ(1831)を符号化部1801で符号化し、符号化データ(1832)をRTPパケット化部102でRTPパケット化する。
【0110】
また、レート制御部1802は、送信キュー部103および通信路状態情報受信部105から、送信待ちパケットのデータ量(1835)および通信路状態情報(1834)を取得する。これらの情報をもとに、符号化部1801の符号化パラメータ(1836)を決定し、符号化部1801に通知する。
【0111】
なお、第1〜第4の実施形態で説明した各種構成例のうち、ここで説明したもの以外にも、本実施形態のリアルタイムに入力されるライブ映像等に対応する構成は適用可能である。
【0112】
(第6の実施形態)
図24に、本発明の第6の実施形態に係るマルチメディアコンテンツ受信装置の構成例を示す。
【0113】
図24に示されるように、本マルチメディアコンテンツ受信装置は、受信部2101、パケット解析部2102、通信路状態算出部2103、通信路状態情報送信部2104、再送制御部2105、再送要求送信部2106、パケットバッファ部2107、復号化部2108、表示部2109、記録用バッファ部2110、記録部2111を備えている。
【0114】
なお、図24において、eで示した範囲が、RTPに係る部分であり、fで示した範囲が、RTCPに係る部分である(後に参照する各構成図おいても、e、fを同様の意味で用いている)。
【0115】
以下、本マルチメディアコンテンツ受信装置(受信側装置とも呼ぶ)がマルチメディアコンテンツ配信装置(送信側装置とも呼ぶ)(図示せず)からネットワーク(図示せず)を介してマルチメディアコンテンツを受信する場合の動作について説明する。マルチメディアコンテンツ送信装置としては、特に限定されるもんではなく、例えば既存のものでもよいし、第1〜第5の実施形態で説明したものでもよい。
【0116】
送信側装置から送信されたパケットデータは、受信部2101で受信され、パケット解析部2102で、パケットヘッダ等を読み取り、パケット番号、タイムスタンプ等が取得される。これらのパケット解析情報(2132)は、通信路状態算出部2103でパケットロスや遅延量などが計算され、通信路状態情報送信部2104によりRTCP等を利用して送信側装置へ送信される。
【0117】
また、パケット解析情報(2132)と通信路状態情報(2134)は、再送制御部2105に入力され、再送要求するか否かの判定が行われる。パケットロスが発生したパケット番号等から、例えばNACK情報等を利用した再送要求(2135)を生成し、再送要求送信部2106で送信側装置へ通知する。
【0118】
一方、受信されたパケットデータ(2136)は、パケットバッファ部2107へ一時保管され、再送等で送られてくるパケットと併せて順番を調整した後、再生に間に合うデータだけが選択され、復号化部2108へ送られる。
【0119】
復号化部2108では、入力されたコンテンツデータ(2137)に応じた復号処理を行い、表示部2109で再生を行う。一方、パケットバッファ部2107からは、再生に間に合わないデータも含めた形でコンテンツデータ2139が、記録用バッファ部2110に出力される。記録用バッファ部2110で再生に間に合わなかった再送データも併せた形で順番を調整した後、記録部2111へ記録される。
【0120】
記録用バッファ部2110では、先頭からデータに抜けがない部分に関しては順次記録部2111へ出力し、出力し終わったデータ領域を開放し新たなデータの書き込み領域として使用することにより、メモリを効率的に利用することが可能である。
【0121】
このようにパケットバッファ部2107では、再生時刻に間に合うデータを選択し再生を行う一方、記録用データとして再生に間に合わないデータをも併せて記録する処理を行っている。これによって、再生時には、(誤りが存在する場合もあるが)リアルタイムでマルチメディアデータを再生することができ、かつ記録用データとしては誤りのないデータを記録することが可能となる。その際、第1の実施形態〜第5の実施形態の各種構成例や変形例等のいずれかを利用して配信することにより、リアルタイム再生時に再送パケットが効果的に働くよう順番を制御することが可能となっている。
【0122】
次に、図25に、本実施形態のマルチメディアコンテンツ配信装置の他の構成例を示す。
【0123】
コンテンツの全体サイズが非常に大きい場合等は、図24の構成例のように記録用バッファ部2110でデータを一時保管していては、仮に上記のように抜けがない部分のデータを逐次記録部2111へ出力していたとしても、メモリが大量に必要になる場合が発生する可能性がある。特に、再生に間に合わないデータの再送が配信側で後回しになった場合、いつまでたってもデータがそろわず記録部2111へ出力することができなくなる。そこで、図25の構成例では、パケットバッファ部2107から記録部2111へ直接データを書き込み、後から記録制御部2201によって、記録部2111内部のデータを並べ替える方式を利用することも可能である。
【0124】
なお、この際、記録部2111に書き込むデータを図15で説明したようなポインタを利用する形で記録しておくことにより、記録部2111内のデータ書き換えを最小限にとどめる拡張も可能である。
【0125】
さらに、第1〜第5の実施形態では、送信側装置において再送要求の重要度を判定し、順番を制御する場合について説明してきたが、これら方式を受信側装置に応用することも可能である。
【0126】
図26には、その一例として、第1の実施形態で採用した方式を適用した場合のマルチメディアコンテンツ配信装置の構成例を示す。
【0127】
この場合、再送制御部2105は、該再送要求の重要度判定も行い、再送要求キュー部2301は、再送制御部2105で生成された重要度情報が付加された再送要求(2331)を一時保管する。重要度情報を使い順序付けられた再送要求情報(2332)は、再送制御部2105が要求送信タイミングを考慮しながら再送要求送信部2106に送られ、送信側装置に送られる。
【0128】
もちろん、この場合も、図25のように、パケットバッファ部2107から記録部2111へ直接データを書き込み、後から記録制御部2201によって、記録部2111内部のデータを並べ替える方式を利用することも可能である。
【0129】
また、第1〜第5の実施形態で説明した各種構成例のうち、ここで説明したもの以外についても同様に適用可能である。
【0130】
なお、第1〜第6の実施形態においては、RTPを利用する場合を例にとって説明してきたが、プロトコルはこれに限定されるものではなく、再送が可能な様々なプロトコルを利用することが可能である。また、第1〜第6の実施形態においては、コンテンツデータとして動画や静止画等の映像信号を主に説明してきたが、データの種類について制限されるものではなく、音声データやテキストデータ等でも実施可能である。
【0131】
なお、以上の各機能は、ソフトウェアとして記述し適当な機構をもったコンピュータに処理させても実現可能である。
また、本実施形態は、コンピュータに所定の手段を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるためのプログラムとして実施することもできる。加えて該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【0132】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0133】
【発明の効果】
本発明によれば、誤りが混入する可能性のあるネットワークでマルチメディアコンテンツを効率よく伝送することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るマルチメディアコンテンツ配信装置の構成例を示す図
【図2】RTPパケットのヘッダ部分の構成を示す図
【図3】同実施形態における再送要求重要度判定の処理の概略的な手順の一例を示すフローチャート
【図4】同実施形態における再送要求キューの構成例を示す図
【図5】同実施形態における再送要求重要度判定の処理の詳細な手順の一例を示すフローチャート
【図6】同実施形態における再送パケットが再生予定時刻に間に合う場合の送受信時刻について説明するための図
【図7】同実施形態における再送パケットが再生予定時刻に間に合わない場合の送受信時刻について説明するための図
【図8】同実施形態におけるマルチメディアコンテンツ配信装置の他の構成例を示す図
【図9】同実施形態におけるマルチメディアコンテンツ配信装置のさらに他の構成例を示す図
【図10】送信側から受信側に送られるRTCPの送信側レポートのパケットの構成を示す図
【図11】受信側から送信側に送られるRTCPの送信側レポートのパケットの構成を示す図
【図12】本発明の第2の実施形態に係るマルチメディアコンテンツ配信装置の構成例を示す図
【図13】同実施形態における再送パケットバッファ部での重要度に応じた処理手順の一例を示すフローチャート
【図14】同実施形態における再送待ちパケットバッファ部の構成例を示す図
【図15】同実施形態における再送待ちパケットバッファ部の他の構成例を示す図
【図16】本発明の第3の実施形態に係るマルチメディアコンテンツ配信装置の構成例を示す図
【図17】同実施形態におけるマルチメディアコンテンツ配信装置の他の構成例を示す図
【図18】同実施形態におけるマルチメディアコンテンツ配信装置のさらに他の構成例を示す図
【図19】本発明の第4の実施形態に係るマルチメディアコンテンツ配信装置の構成例を示す図
【図20】同実施形態におけるマルチメディアコンテンツ配信装置の他の構成例を示す図
【図21】本発明の第5の実施形態に係るマルチメディアコンテンツ配信装置の構成例を示す図
【図22】同実施形態におけるマルチメディアコンテンツ配信装置の他の構成例を示す図
【図23】同実施形態におけるマルチメディアコンテンツ配信装置のさらに他の構成例を示す図
【図24】本発明の第6の実施形態に係るマルチメディアコンテンツ受信装置の構成例を示す図
【図25】同実施形態におけるマルチメディアコンテンツ受信装置の他の構成例を示す図
【図26】同実施形態におけるマルチメディアコンテンツ受信装置のさらに他の構成例を示す図
【符号の説明】
101…マルチメディアコンテンツ保存部、102…RTPパケット化部、103…送信キュー部、104…送信部、105…通信路状態情報受信部、106…往復時間算出部、107…再送要求受信部、108…パケットバッファ部、109…再送制御部、110…再送要求キュー部、111…再送パケット化部、112…再送パケットキュー部、113…再送パケット送信部、801…RTPマルチメディアコンテンツ保存部、901…再送待ちパケットバッファ部、1601…セッション制御部、1701…レート制御部、1702…切替対応複数マルチメディアコンテンツ保存部、1801…符号化部、1802…レート制御部、2101…受信部、2102…パケット解析部、2103…通信路状態算出部、2104…通信路状態情報送信部、2105…再送制御部、2106…再送要求送信部、2107…パケットバッファ部、2108…復号化部、2109…表示部、2110…記録用バッファ部、2111…記録部、2201…記録制御部、2301…再送要求キュー部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a packet transmission device that transmits a packet related to an encoded moving image / still image using a wired communication network such as ISDN or the Internet or a wireless communication network such as a mobile phone or a wireless LAN, and receives the packet. The present invention relates to a packet reception device, a packet transmission method, and a packet reception method.
[0002]
[Prior art]
In recent years, with the development of digital coding technology for various information such as images and broadband network technology, development of applications using these has become active, and a system for transmitting compression-coded images etc. using a communication network Has been developed.
[0003]
In particular, with the widespread use of the Internet and Intranet, applications and systems that transmit and receive data in packets are increasing. Packetization is an effective means for efficiently sharing the bandwidth of a communication path among a plurality of users. TCP / IP, UDP / IP, and the like exist as protocols for transmitting and receiving packet data. TCP / IP is resistant to errors because it incorporates a framework such as retransmission, and is effective for download-type applications that want to receive data correctly even if it takes some time. UDP / IP does not have a retransmission framework, but has no delay for retransmission and is effective for applications that require real-time performance.
[0004]
In moving image communication, image data usually has a very large amount of data and often does not fit in the network bandwidth. In this case, a method is used in which image data is encoded and transmitted with a reduced amount of data. As compression coding techniques for moving image signals, techniques such as motion compensation, discrete cosine transform (DCT), subband coding, pyramid coding, variable length coding, etc., and methods combining these techniques have been developed. International standards for video coding include ISO MPEG-1, MPEG-2, ITU-TH. 261, H. 262, H.M. H.263, and ISO MPEG system, ITU-T H.264, and the like as international standard systems for multiplexing moving images, code sequences compressed voice / audio signals, and other data. 221, H.M. 223 exists.
[0005]
The Internet and the like are connected through a myriad of networks, and it is normal not to know which network is in what state. In addition, since the amount of data flowing there fluctuates from moment to moment, a mechanism for determining how much data can be communicated in real time is necessary. Therefore, an application that uses a packet format called RTP (Real-time Transport Protocol), which advances one step from a real-time application using UDP / IP and adds time information or the like to a packet for transmission, is increasing. By using RTP, time information and packet number are added to the packet, and the receiving side can display the voice and image using the correct time information, or determine the packet whose order has been changed on the network. By looking at the packet number, it can be detected that the packet is lost. In addition, RTP also has a mechanism (RTCP (RTP Control Protocol)) for notifying the jitter, the packet loss rate, and the like as supplementary information from the transmission side and the reception side. Further, a mechanism for retransmitting RTP packets is currently under discussion. For example, a function is known in which priority is added to a packet and traffic can be controlled so as not to retransmit everything. However, there is no provision for this usage.
[0006]
In addition, in the IETF (The Internet Engineering Task Force), RTSP is defined as a session management protocol between a transmission terminal and a reception terminal for establishing the image communication as described above, and for describing the contents of the image content. SDP, which is the language specification of the Thereby, between the server and the client, it is possible to control the start of the session, the start of transmission of the multimedia content, the pause, the end of the session, etc. by RTSP.
[0007]
Here, when an image is transmitted over the Internet or the like, a band for raw image transmission cannot be secured over the Internet or the like, and therefore, an image signal is compressed and sent using an encoding method such as MPEG. This is effective in reducing the amount of data, but it becomes very vulnerable to packet loss and error mixing caused by data flowing over the unstable Internet. In the moving image coding system, only the difference from the previous frame is transmitted, so that a part of the data is lost. Since UDP and RTP basically do not retransmit data, it is necessary to take measures against this problem. For this reason, standards for RTP retransmission are established by IETF. In simple terms, the packet number that could not be received is notified to the transmission side by a command called NACK using a protocol called AVPF. On the transmission side, a packet lost from NACK is specified, a header is constructed according to the RTP retransmission standard, and the packet is transmitted to the reception side. Furthermore, since RTP is mainly used for real-time communication, a technique has been proposed for controlling packets that are not in time for display even if they are retransmitted (see, for example, Patent Document 1). In addition, since there is a delay until the retransmission packet arrives and there is a possibility that it may not be in time for real-time reproduction, it has been proposed to use retransmission for recording purposes. At that time, a contrivance is made such that the retransmission packet is not transmitted with the same low-reliability UDP as in real time but is transmitted with reliable TCP (for example, see Patent Document 2).
[0008]
[Patent Document 1]
Daiji Ido, et al., “Data Transmitting Device, Data Receiving Device, and Data Communication System”, P2002-84338, Mar. 2002.
[0009]
[Patent Document 2]
Makoto Kobayashi, “Communication control device, communication control method, and recording medium on which communication control program is recorded”, P2002-199019, July 2002.
[0010]
[Problems to be solved by the invention]
In the prior art, RTP feedback information (RTCP), retransmission control (RTP Retransmission), and the like have been proposed and standardized as network protocols, but how to use RTCP and retransmission is presented. Absent. There are known techniques for re-transmission using TCP only for recording purposes and not transmitting retransmission packets that are not in time for real-time playback. However, these are single functions, and playback quality and recording can be performed during recording. There is no method that is effective for both quality. In addition, regarding transmission bandwidth consumption during retransmission, there is a known technology that compensates for the amount of retransmission by not transmitting normal transmissions that are less important, but this can cause loss of original data. As a result, problems such as a decrease in reproduction quality and an increase in the quality of recorded content occur.
[0011]
The present invention has been made in view of the above circumstances, and provides a packet transmission device, a packet reception device, a packet transmission method, and a packet reception method for efficiently transmitting multimedia contents in a network in which errors may be mixed. The purpose is to do.
[0012]
[Means for Solving the Problems]
The packet transmission device according to the present invention includes a first transmission means for sequentially transmitting a plurality of packets generated from multimedia content data to a reception device via a network, and retransmitting the packet from the reception device via the network. Receiving means for receiving a retransmission request including information for specifying a packet to be transmitted, and the importance level regarding retransmission of the packet related to the retransmission request, a first time when data related to the packet is scheduled to be used by the receiving device, and Determining means for determining based on a second time at which data related to a retransmission packet corresponding to the packet is expected to be available in the receiving apparatus; and selecting means for selecting a packet to be retransmitted based on the importance level And a second transmitter that transmits a retransmission packet corresponding to the selected packet to the receiving device via the network. Characterized by comprising and.
[0013]
The packet reception device according to the present invention includes: a first reception unit that sequentially receives a plurality of packets generated from multimedia content data or a retransmission packet corresponding to the plurality of packets from the transmission device via a network; Analyzing a packet received by one receiving means, specifying a packet to be retransmitted based on the result, and a retransmission request including information specifying a packet to be retransmitted to the transmitting apparatus via the network It is characterized by comprising transmitting means for transmitting, data using means for using data relating to the packet, and recording means for recording data relating to the packet.
[0014]
The present invention relating to the apparatus is also established as an invention relating to a method, and the present invention relating to a method is also established as an invention relating to an apparatus.
Further, the present invention relating to an apparatus or a method has a function for causing a computer to execute a procedure corresponding to the invention (or for causing a computer to function as a means corresponding to the invention, or for a computer to have a function corresponding to the invention. It is also established as a program (for realizing) and also as a computer-readable recording medium on which the program is recorded.
[0015]
According to the present invention, it is possible to efficiently achieve both real-time reproduction and record storage in a system that restores data using retransmission for errors such as packet loss.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the invention will be described with reference to the drawings.
[0017]
In the present embodiment, a case where an RTP (Real Time Transport Protocol) that is a protocol for transferring image data and audio data in real time is used as an example will be described (details of RTP are described in, for example, “Schulzrinne, H., etc.”). Casner, S., Frederick, R. and V. Jacobson "RTP: A Transport Protocol for Real Time Applications", RFC 1889, January 1996.).
[0018]
(First embodiment)
FIG. 1 shows a configuration example of a multimedia content distribution apparatus according to the first embodiment of the present invention.
[0019]
As shown in FIG. 1, this multimedia content distribution apparatus includes a multimedia content storage unit 101, an RTP packetization unit 102, a transmission queue unit 103, a transmission unit 104, a communication path state information reception unit 105, and a round trip time calculation unit. 106, a retransmission request reception unit 107, a packet buffer unit 108, a retransmission control unit 109, a retransmission request queue unit 110, a retransmission packetization unit 111, a retransmission packet queue unit 112, and a retransmission packet transmission unit 113.
[0020]
In FIG. 1, the range indicated by a is a part related to packet transmission, the range indicated by b is a part related to retransmission control, and the range indicated by c is a part related to retransmission packet transmission. (In the configuration diagrams referred to later, a, b, and c are used in the same meaning).
[0021]
Hereinafter, when the multimedia content distribution apparatus (also referred to as a transmission-side apparatus) transmits multimedia content to a multimedia content reception apparatus (also referred to as a reception-side apparatus) (not illustrated) via a network (not illustrated). Will be described. The multimedia content receiving apparatus is not particularly limited, and may be, for example, an existing one or may be described in the sixth embodiment.
[0022]
The content data (131) output from the multimedia content storage unit 101 that holds the multimedia content is RTP packetized by the RTP packetization unit 102. The RTP packet data (132) is temporarily stored in the transmission queue unit 103, and then sequentially transmitted from the transmission unit 104 to the reception side along the network bandwidth. On the other hand, the RTP packet data (132) is stored in the packet buffer unit 108, and is stored for retransmission when the transmitted packet does not reach the receiving apparatus.
[0023]
FIG. 2 shows the configuration of the header portion of the RTP packet. As shown in FIG. 2, the header includes RTP version information (V), padding information (P), presence / absence of extension header (X), number of CSRC (CC), data type (PT), and transmission source identifier. A packet number (Sequence Number) and packet time information (timestamp) are included together with (SSRC) and an associated transmission source identifier (CRSC).
[0024]
Information indicating the state of the communication path (hereinafter referred to as communication path state information) is sent from the receiving side apparatus to the transmitting side apparatus using RTCP or the like. The communication path state information receiving unit 105 receives this communication path state information (134) and sends it to the round trip time calculation unit 106. The time required for data transfer between the transmission side device and the reception side device (hereinafter referred to as round trip time) (138) is determined by the round trip time calculation unit 106 and input to the retransmission control unit 109. In addition to the communication path state information, a retransmission request including information notifying the number of a packet that has not arrived is sent from the receiving side device. The retransmission request receiving unit 107 receives this retransmission request (135) and sends it to the retransmission control unit 109.
[0025]
The retransmission control unit 109 specifies the packet number to be retransmitted from the retransmission request (135), and acquires the corresponding packet data (137) from the packet buffer unit. The retransmission control unit 109 processes a highly important one among the current time, the round trip time (138) determined by the round trip time calculation unit 106, and the unprocessed retransmission requests stored in the retransmission request queue unit 110. In consideration of the time required for processing (hereinafter referred to as required processing time) (140), it is determined whether or not the packet specified in the retransmission request (135) arrives at the receiving side device in time for the reproduction time. . The result determined here is set as the importance of the packet designated by the retransmission request (135) and is temporarily stored in the retransmission request queue unit 110. In addition to the above determination, the retransmission control unit 109 also selects a retransmission request from the retransmission request queue unit 110 in descending order of importance and instructs the packet buffer unit 108 to retransmit.
[0026]
The packet buffer unit 108 sends the instructed packet data (141) to the retransmission packetization unit 111, and the retransmission packetization unit 111 uses the packet data (141) as a retransmission packet ( 142).
[0027]
The generated retransmission packet (142) is temporarily stored in the retransmission packet queue unit 112 and transmitted from the retransmission packet transmission unit 113 to the reception side.
[0028]
FIG. 3 shows an example of a schematic processing procedure for determining the importance of a packet requested to be retransmitted by the retransmission control unit 109.
[0029]
The retransmission control unit 109 determines whether or not the retransmission packet is in time (step S201), and when it is determined that the packet is in time, sets the importance to “high” (step S202) and determines that the packet is not in time. In this case, the importance level is set to “low” (step S203). Based on the determination result, the retransmission request (139) is stored in the retransmission request queue unit 110.
[0030]
FIG. 4 shows an example of the data structure of a retransmission request stored in the retransmission request queue unit 110. In this example, the number of packets to be retransmitted for each retransmission request and their importance are stored in pairs, and the retransmission control unit 109 is configured to be able to process from the most important one. Of course, FIG. 4 is an example, and various other variations are possible. For example, it is possible to hold information such as packet time information and position information in the packet buffer unit 108 and the multimedia content storage unit 101. It is also possible to store the data efficiently by using a method of dividing the list according to the importance or using the pointer to point to the top data of each importance. Also, importance information can be recorded not only in binary values of “high” and “low” but also in multiple values.
[0031]
FIG. 5 shows an example of a more detailed processing procedure for determining the importance of a packet requested to be retransmitted by the retransmission control unit 109.
[0032]
The retransmission control unit 109 identifies the packet number to be retransmitted from the retransmission request (135) (step S401). Note that, for the retransmission request (135), NACK information or the like for notifying packet non-delivery can be used.
[0033]
Using the packet number specified in step S401, packet time information (scheduled reproduction time) is acquired from the packet buffer unit 108 (step S402).
[0034]
In addition to round-trip time information (138) calculated from packet time information and communication path state information, initial buffer amount information indicating the amount of initial buffer prepared in the receiving side device, information such as transmission start time, current time, etc. Obtained from the system, the estimated arrival time when the packet is retransmitted is calculated (step S403).
[0035]
If the scheduled reproduction time of the packet acquired in step S402 is later than the estimated arrival time calculated in step S403 (because it is predicted to be in time for reproduction if it is retransmitted quickly), it is determined that the packet is worth retransmitting immediately. If the estimated arrival time is later than the scheduled reproduction time (because it is predicted that it will not be in time for reproduction even if it is retransmitted immediately), it is determined that the packet need not be retransmitted immediately (step S404).
[0036]
If it is determined that the packet should be retransmitted promptly, the retransmission request for the packet is set to “high” importance, stored in the retransmission request queue unit 110 (step S405), and may not be retransmitted immediately. If determined, the retransmission request for the packet is set to the importance level “low” and stored in the retransmission request queue unit 110 (step S406).
[0037]
Here, FIG. 6 and FIG. 7 show the relationship between the estimated arrival time and the scheduled reproduction time in steps S403 and S404 in FIG. FIG. 6 shows an example in which the estimated arrival time is before the scheduled reproduction time and the importance is set to “high”. On the contrary, FIG. 7 shows that the estimated arrival time is later than the scheduled reproduction time and the importance is set. This is an example when “low” is set.
[0038]
Here, the transmission start time is set to T for the transmission side device. START , T SEND , P for the packet time stamp TS , The time when the retransmission request from the receiving device is received is T RREQ , The time taken to process a resend request with high importance waiting for processing stored in the resend request queue unit 110 or the like is D QUE In addition, for the receiving side device, the initial response delay from the start of transmission from the transmitting side device until the receiving side device starts the reproduction operation is α, and the time when the reproduction operation is started is TC START , D is the initial delay time until the first data is displayed by the reception buffer. INIT , RTT is the round-trip time for round-trip packet transmission, and T is the time when the retransmission packet arrives based on the retransmission request. RRCV , T PLAY The time taken for packet processing is defined as DLSR.
[0039]
As can be seen from FIGS. 6 and 7, the retransmission packet arrival time (that is, the time at which the retransmission packet can be reproduced) T RRCV Is the scheduled packet playback time T PLAY If it is earlier than this, it means that the packet should be retransmitted immediately. This can be expressed as a mathematical expression (1). If the formula (1) becomes true, the retransmission packet will be in time for reproduction, and the importance will be set high. If the formula (1) becomes false, the retransmission packet will not be in time. And set the importance level low.
(T RREQ -T START ) + D QUE + RTT / 2 ≦ D INIT + P TS ... (1)
The determination formula is determined not only by the above formula (1), but also by a method such as the following formula (2), formula (3), and formula (4), or by other methods. It is also possible.
(T RREQ -T START ) + D QUE + RTT / 2 ≦ D INIT + P TS + Α (2)
(3/2) × RTT ≦ D INIT ... (3)
(3/2) × RTT + DLSR ≦ D INIT ... (4)
Formula (2) is an example in which the determination is performed in consideration of the initial response delay α, and Formula (3) ignores the effects of the initial delay and cumulative delay, and simply calculates the RTT and the buffer amount on the receiving side. D INIT This is an example in which the determination is performed only from. Formula (4) is a determination condition formula that takes into account the packet processing time DLSR until the packet that arrives at the receiving side apparatus is processed and issues a retransmission request. To calculate DLSR, Formula (5) An expression can be used.
DLSR = T RREQ -T SEND -RTT (5)
Since the retransmission control unit 109 of the transmission side apparatus performs the determination, it is necessary to acquire time information, buffer amount information, and the like of the reception side apparatus in order to use the above formula. Initial delay time D INIT SDP at the start of the session (see, for example, “M. Handley, et al,“ SDP: Session Description Protocol ”, IETF RFC2327, April 1998.)) or terminal capability exchange, etc. By determining the initial values in step S3, the transmitting side device can know them. The round trip time can be known by using RTCP. Information that cannot be notified by a standard method may be taken by using an application-specific format using an RTCP APP packet (Application Specific Packet).
[0040]
The present embodiment can be implemented with various modifications. Some examples are shown below.
[0041]
Next, FIG. 8 shows another configuration example of the multimedia content distribution apparatus of the present embodiment.
[0042]
In the configuration example of FIG. 1, the retransmission control unit 109 gives an instruction to send the retransmission packet data (141) to the retransmission packetizing unit 111. However, in the configuration example of FIG. Is what I do. In this case, the retransmission control unit 109 only determines the importance level of the retransmission request, and the retransmission request queue unit 110 executes transmission interval control according to the retransmission request. Thereby, it is possible to prevent the configuration of the retransmission control unit 109 from becoming complicated.
[0043]
Next, FIG. 9 shows still another configuration example of the multimedia content distribution apparatus of the present embodiment.
[0044]
In FIG. 9, RTP packetization is not performed in real time, but RTP data is stored in the RTP multimedia content storage unit 801 in advance. The RTP multimedia content storage unit 801 stores the content in a form preliminarily RTP packeted or added with additional information for RTP packetization, and the RTP multimedia content storage unit 801 stores the RTP packet. The converted data (831) is output. This provides the advantage that packet generation need not be performed in real time.
[0045]
Further, the packet buffer unit 108 can be omitted by the retransmission control unit 109 accessing the RTP multimedia content storage unit 801 directly. In addition, the packet buffer unit 108 may not store actual data, but may store only a pointer to data in the RTP multimedia content storage unit 801. By performing such a modification, it becomes possible to omit the packet buffer unit and simplify the distribution device and the distribution program, or to reduce the memory amount required for the packet buffer unit by using a pointer. .
[0046]
In these cases, the RTP packetizing unit may not be provided.
[0047]
In addition, the multimedia content storage unit 101, the RTP packetization unit 102, and the RTP multimedia content storage unit 801 are all provided, and a function of performing RTP packetization in real time and transmitting the RTP packet stored in advance is transmitted. Both functions may be used as appropriate.
[0048]
By the way, in this embodiment, the estimated arrival time is calculated from the delay time of the network, packet time information, reception side buffer information, transmission start time, initial delay time, and the like.
[0049]
When the estimated arrival time is calculated in the transmission side apparatus, the packet time information can be obtained from the packet data stored in the packet buffer unit 108. Further, the information on the reception-side buffer amount and the initial delay time are values that are known in advance by the transmission-side device, for example, as system prescribed values. The transmission side device also has a transmission start time. The network delay time information is a value obtained from the exchange of packet data with the receiving side device.
[0050]
This network delay time information can be calculated using, for example, a control packet called RTCP and using time information included therein.
[0051]
10 and 11 show the configuration of the RTCP packet. FIG. 10 shows a transmission side report sent from the transmission side apparatus to the reception side apparatus, and FIG. 11 shows a reception side report sent from the reception side apparatus to the transmission side apparatus.
[0052]
Here, a method for obtaining the delay time of the network using RTCP will be described.
[0053]
The transmitting side device that has received the receiving side report receives the NTP time T at which the receiving side report has been received. r-recv "NTP timestamp of last sender report" T in the receiver report LSR And “time from the arrival of the last sender report to sending the receiver report” T DLSR And is calculated as shown in Equation (5).
T delay = T r-recv -T LSR -T DLSR ... (5)
The value obtained here is the round-trip network delay time T delay It is.
[0054]
In addition to using the prescribed values as described above for the information on the reception side buffer amount and the initial delay time, there is a method of notifying the reception side device by negotiation when establishing a session.
[0055]
On the other hand, when the estimated arrival time is determined on the receiving device side, the same determination method can be used. In the packet time information, the exact time cannot be determined because the packet is lost. In this case, the packet lost due to the method of using the time information of the packet closest to the target packet lost packet or the closest packet in one direction before or after, the time information of the nearby packet and the packet number, etc. It is possible to use a method for estimating packet time information. The buffer amount and initial delay time of the receiving side device are values held in the receiving side device, and can be used as they are.
[0056]
The network delay time can be calculated by receiving the transmission side report shown in FIG. The NTP time when the sender report was received is T s-recv And "NTP timestamp" T included in the sender report s-send And One-way network delay time T delay_oneway Can be obtained by Equation (6).
T delay_oneway = T s-recv -T s-send (6)
When calculating the round-trip network delay time, the method of simply doubling, the delay in the direction from the transmission side device to the reception side device, and the delay in the direction from the reception side device to the transmission side device are uniform. In consideration of the case where there is not, there is a method of responding by multiplying a coefficient or adding a value.
[0057]
Further, since the transmission start time cannot be notified by the existing RTCP, it is only necessary to take measures such as replacing it with an alternative value such as 0. In addition to the RTP / RTCP, it is also possible to use a method of notifying the receiving side apparatus from the transmitting side apparatus by negotiation at the time of session establishment.
[0058]
(Second Embodiment)
FIG. 12 shows a configuration example of a multimedia content distribution apparatus according to the second embodiment of the present invention.
[0059]
As shown in FIG. 12, the multimedia content distribution apparatus includes a multimedia content storage unit 101, an RTP packetization unit 102, a transmission queue unit 103, a transmission unit 104, a communication path state information reception unit 105, and a round trip time calculation unit. 106, a retransmission request receiving unit 107, a packet buffer unit 108, a retransmission control unit 109, a retransmission packetizing unit 111, a retransmission packet transmitting unit 113, and a retransmission waiting packet buffer unit 901.
[0060]
In the present embodiment, the retransmission request queue unit 110 and the retransmission packet queue unit 112 of the first embodiment are replaced with a retransmission waiting packet buffer unit 901.
[0061]
The operation when the multimedia content distribution apparatus transmits multimedia content to the multimedia content receiving apparatus via the network will be described below. Below, it demonstrates centering on the point which is different from what was demonstrated in 1st Embodiment.
[0062]
The content data (131) output from the multimedia content storage unit 101 is converted into RTP packets by the RTP packetizing unit 102. The RTP packet data (132) is temporarily stored in the transmission queue unit 103, then sequentially transmitted from the transmission unit 104 to the reception side along the network band, and stored in the packet buffer unit 108 for retransmission. Is done.
[0063]
The communication path state information receiving unit 105 receives the communication path state information (134) sent from the receiving side device and sends it to the round trip time calculation unit 106. The round trip time calculation unit 106 determines the round trip time (138) and inputs it to the retransmission control unit 109.
[0064]
The retransmission request receiving unit 107 receives the retransmission request (135) sent from the receiving side device and sends it to the retransmission control unit 109.
[0065]
The retransmission control unit 109 specifies the packet number to be retransmitted from the retransmission request (135), and acquires the corresponding packet data (137) from the packet buffer unit. In the retransmission control unit 109, the required time for processing the current time, the round-trip time (138), and unprocessed retransmission requests stored in the retransmission-waiting packet buffer unit 901 with high importance ( 932), it is determined whether or not the packet specified in the retransmission request (135) arrives at the receiving apparatus in time for the reproduction time. The result determined here is set as the importance level of the packet designated by the retransmission request (135), and the retransmission packet designation information (136) in which the importance level is added to the designation information of the packet to be retransmitted to the packet buffer unit. ) Is sent.
[0066]
The packet buffer unit 108 sends packet data for retransmission (933) to the retransmission wait packet buffer unit 901 based on the retransmission packet designation information (136). At this time, the importance level information added to the retransmission packet designation information (136) is also sent.
[0067]
In the retransmission wait packet buffer unit 901, packet data to be retransmitted is ordered and temporarily stored in accordance with the importance, and packet data (934) is sequentially output according to an instruction from the retransmission control unit 109.
[0068]
Based on packet data (934), retransmission packetizing section 111 generates retransmission packet (143) according to the packet format for retransmission.
[0069]
The retransmission packet (143) is transmitted from the retransmission packet transmission unit 113 to the reception side device.
[0070]
FIG. 13 shows an example of a storage processing procedure corresponding to the importance level information in the retransmission wait packet buffer unit 901. Here, a case where the degree of importance is indicated by binary values will be described as an example.
[0071]
It is determined whether or not the added importance information is high for the input packet data (933) (step S1001). When the importance is “high”, the packet data (933) is inserted in the order position according to the time stamp of the packet in the packet data list of the importance “high” (step S1002). If the importance is “low”, the packet data (933) is inserted in the order position according to the packet time stamp in the packet data list of the importance “low” (step S1003).
[0072]
It should be noted that even when the importance has a multivalue other than binary, the packet data may be inserted at the sequential position according to each value.
[0073]
Next, a configuration example of the retransmission wait packet buffer unit 901 will be described.
[0074]
FIG. 14 shows an example of a list method in which importance, packet number, and retransmission wait packet data are stored in the retransmission wait packet buffer unit 901 as a set. In this example, when a packet having a high importance level is received, the packet data is inserted so that the packet numbers are in order according to the high priority level. In the example of FIG. 14, the packet number is used as information for order management, but other information such as a packet time stamp may be used. Since this method directly arranges data in order, the configuration can be simplified. In addition, when it becomes a system load to rewrite the subsequent data with the insertion of data, for example, the list of the ones with importance “high” and “low” are divided, and each is followed by It is possible to improve efficiency by taking the form of adding data.
[0075]
FIG. 15 shows an example of the configuration of a retransmission-waiting packet buffer unit 901 that can be arranged in a line from the higher importance level to the lower importance level without insertion or rewriting of data in the middle. In this example, each packet data has a structure having pointers to the previous one and the next one with respect to each packet data in addition to the above-mentioned data such as importance, packet number, packet data, etc. It has become. By having this, the pointer to the head data, and the pointer to the tail data, the data is searched in order from the head, and when the position to be inserted is found, the packet data to which the pointer of the data before and after it is inserted is indicated. And set its own pointer to indicate the previous and next packets. By using the pointer in this way, it is possible to store the data in consideration of the order only by additional writing of data. In the specific example of FIG. 15, when packet data of importance “high” and packet number “# 42” is inserted in the state of (a), the result is as shown in (b).
[0076]
These are merely examples, and any method can be used as long as the packet data can be output to the retransmission packetization unit 111 according to the importance. Further, as described as a modification of the first embodiment, by using the RTP multimedia content storage unit 801 as shown in FIG. 9, the packet data itself is not stored in the buffer, but the content storage unit. It is also possible to store only the pointer to the data in 801 and extract it when packetizing by the retransmission packetizing unit 111.
[0077]
In the first embodiment, data that has been re-packetized is temporarily stored in the re-transmission packet queue unit 112 and then transmitted by the re-transmission packet transmission unit 113. However, the same configuration is adopted in this embodiment. (In the configuration example of FIG. 12, it is considered that the retransmission control unit 109 and the retransmission wait packet buffer unit 901 have a function of outputting data in consideration of the transmission band, and thus the retransmission packet queue unit is omitted. It was explained in the form).
[0078]
(Third embodiment)
FIG. 16 shows a configuration example of a multimedia content distribution apparatus according to the third embodiment of the present invention.
[0079]
As shown in FIG. 16, the multimedia content distribution apparatus includes a multimedia content storage unit 101, an RTP packetization unit 102, a transmission queue unit 103, a transmission unit 104, a communication path state information reception unit 105, and a round trip time calculation unit. 106, a retransmission request reception unit 107, a packet buffer unit 108, a retransmission control unit 109, a retransmission request queue unit 110, and a retransmission packetization unit 111.
[0080]
In FIG. 16, the range indicated by b is a part related to retransmission control as described above, and the range indicated by d is a part related to packet transmission and retransmission packet transmission (each configuration to be referred to later). In the figure, d is used in the same meaning).
[0081]
In the present embodiment, the configuration related to packet transmission and the configuration related to retransmission packet transmission of the first embodiment are integrated.
[0082]
The operation when the multimedia content distribution apparatus transmits multimedia content to the multimedia content receiving apparatus via the network will be described below. Below, it demonstrates centering on the point which is different from what was demonstrated in 1st Embodiment.
[0083]
The content data (131) output from the multimedia content storage unit 101 is converted into RTP packets by the RTP packetizing unit 102. The RTP packet data (132) is temporarily stored in the transmission queue unit 103, then sequentially transmitted from the transmission unit 104 to the reception side along the network band, and stored in the packet buffer unit 108 for retransmission. Is done.
[0084]
The communication path state information receiving unit 105 receives the communication path state information (134) from the receiving side device. The round trip time calculation unit 106 determines the round trip time (138). The retransmission request receiving unit 107 receives a retransmission request (135) from the receiving side device.
[0085]
The retransmission control unit 109 specifies the packet number to be retransmitted from the retransmission request (135), and acquires the corresponding packet data (137) from the packet buffer unit. Whether or not the packet specified in the retransmission request (135) arrives at the receiving apparatus in time for the reproduction time in consideration of the current time, the round trip time (138), and the required processing time (140). Judgment is made. This determination result is set as the importance of the packet designated by the retransmission request (135), and is temporarily stored in the retransmission request queue unit 110. Further, retransmission requests are selected from the retransmission request queue unit 110 in descending order of importance, and the packet buffer unit 108 is instructed to retransmit.
[0086]
The packet buffer unit 108 sends the instructed packet data (141) to the retransmission packetizing unit 111, and generates a retransmission packet (142) according to the retransmission packet format.
[0087]
The retransmission packet (142) is temporarily stored in the transmission queue unit 103 in the form of coexistence with the original packet data, and is transmitted to the reception side device by the transmission unit 104. The transmission queue unit 103 centrally manages the original packet data and the packet data for retransmission, and adjusts the transmission timing.
[0088]
According to the present embodiment, it is possible to make one transmission part, and it is possible to simplify the configuration of the apparatus. In addition, this method is useful for realizing this method with few resources such as a portable terminal.
[0089]
Further, in this embodiment, it is of course possible to use the configuration examples and the modification examples shown in the first embodiment and the second embodiment.
[0090]
As an example, FIG. 17 shows a configuration example when the retransmission wait packet buffer unit 901 (see FIG. 12) is used. In this case, the retransmission packet data (933) to which the importance level is output from the packet buffer unit 108 is input to the retransmission wait packet buffer unit 901. In the retransmission wait packet buffer unit 901, the packet data to be retransmitted is important. The packets are ordered and temporarily stored in accordance with the degree, and packet data 934 is sequentially output in accordance with an instruction from the retransmission control unit 109. Based on the packet data (934), retransmission packetizing section 111 generates retransmission packet (142) according to the retransmission packet format. The retransmitted packet (142) is temporarily stored in the transmission queue unit 103 so as to coexist with the original packet data, and is transmitted to the receiving side by the transmitting unit 104. Here, the retransmission control unit 109 extracts information indicating how many retransmission requests are waiting to be processed from the retransmission waiting packet buffer unit 901 and uses the information as determination material for retransmission control.
[0091]
Next, FIG. 18 shows another configuration example. FIG. 18 shows the same idea as that of the modified example of FIG. 17, but instead of using the retransmission waiting packet buffer unit 901, the transmission queue unit 103 is used instead. In this case, the retransmission packet data (141) output from the packet buffer unit 108 is input to the retransmission packetization unit 111, and the retransmission packet data (142) is generated and then input to the transmission queue unit 103. The retransmission packet (142) is temporarily stored in the transmission queue unit 103 in the form of coexistence with the original packet data, and is transmitted to the reception side device by the transmission unit 104. Here, the retransmission control unit 109 receives information (1532) such as the amount of packet data stored in the transmission queue unit 103, and uses it as a determination material for retransmission control. This makes it possible to implement with a very simple module configuration.
[0092]
(Fourth embodiment)
In the first to third embodiments, various configuration examples have been shown for the part called retransmission control. However, in the fourth embodiment, communication band control (rate control) that takes retransmission into consideration for retransmission control. The case where these are combined will be described.
[0093]
FIG. 19 shows a configuration example of the multimedia content distribution apparatus according to this embodiment.
[0094]
As shown in FIG. 19, the multimedia content distribution apparatus includes a multimedia content storage unit 101, an RTP packetization unit 102, a transmission queue unit 103, a transmission unit 104, a communication path state information reception unit 105, and a round trip time calculation unit. 106, a retransmission request receiving unit 107, a packet buffer unit 108, a retransmission control unit 109, a retransmission request queue unit 110, a retransmission packetization unit 111, a retransmission packet queue unit 112, a retransmission packet transmission unit 113, and a session control unit 1601. . That is, the configuration example of FIG. 19 is obtained by adding a session control unit 1601 to the configuration example of FIG.
[0095]
The operation when the multimedia content distribution apparatus transmits multimedia content to the multimedia content receiving apparatus via the network will be described below. Below, it demonstrates centering on the point which is different from what was demonstrated in 1st Embodiment.
[0096]
Each unit other than the session control unit 1601 is basically the same as in the first embodiment.
[0097]
The session control unit 1601 uses SDP or RTSP (for example, refer to “H. Schulzrinne, et al,“ Real Time Streaming Protocol (RTSP) ”, IETF RFC2326, April 1998.”) or the like to request a session with the receiving apparatus.・ We manage permission. Here, using the transmission band information determined as a result of negotiation between the reception side device and the transmission side device, the transmission queue unit 103, the transmission unit 104, the retransmission control unit 109, the retransmission packet queue unit 112, the retransmission packet transmission unit 113 is controlled. Specifically, each unit transmits data in a manner that protects a designated band. As a method for specifying the bandwidth of the transmission path, a method in which the transmission band used for retransmission is added in advance to the transmission band used by the original data, or the transmission side of the original data and the transmission band for retransmission are used. A method of notifying the transmission band of each of them separately is used.
[0098]
Next, FIG. 20 shows a configuration example in which it is possible to easily follow dynamic band fluctuation by having a stream switching function.
[0099]
In this configuration example, instead of the multimedia content storage unit 101 that holds multimedia content, a switching-compatible multiple multimedia content storage unit 1702 that stores the same content encoded with a plurality of parameters for content switching is provided. The rate control unit 1701 manages this. For the rate control unit 1701, information (1731 and 1733) indicating how many packets are waiting to be transmitted from the transmission queue unit 103, the retransmission packet queue unit 112, and the communication channel state information receiving unit 105, and communication channel errors And delay information (1734). Based on these pieces of information, the content that optimizes the transmission band and parameters of the original data is selected from the switching-compatible multi-media content storage unit 1702. The retransmission control unit 109 also notifies the current transmission status and content switching information 1732 from the rate control unit 1701 and uses it for determining the importance of the retransmission packet. By adopting such a configuration, it is possible to perform rate control corresponding to communication path bandwidth fluctuations and environmental fluctuations.
[0100]
(Fifth embodiment)
The first to fourth embodiments are distributed from content data created in advance. In the fifth embodiment, it is possible to deal with live video input in real time. It is.
[0101]
FIG. 21 shows a configuration example of a multimedia content distribution apparatus according to the fifth embodiment of the present invention.
[0102]
As shown in FIG. 21, the multimedia content distribution apparatus includes an RTP packetization unit 102, a transmission queue unit 103, a transmission unit 104, a channel state information reception unit 105, a round trip time calculation unit 106, and a retransmission request reception unit 107. A packet buffer unit 108, a retransmission control unit 109, a retransmission request queue unit 110, a retransmission packetization unit 111, a retransmission packet queue unit 112, a retransmission packet transmission unit 113, an encoding unit 1801, and a rate control unit 1802. That is, the configuration example of FIG. 21 includes an encoding unit 1801 and a rate control unit 1802 instead of the multimedia content storage unit 101 of the configuration example of FIG.
[0103]
The operation when the multimedia content distribution apparatus transmits multimedia content to the multimedia content receiving apparatus via the network will be described below. Below, it demonstrates centering on the point which is different from what was demonstrated in 1st Embodiment.
[0104]
In the configuration example of FIG. 1 of the first embodiment, the content data (131) output from the multimedia content storage unit 101 that holds the multimedia content is RTP packetized by the RTP packetization unit 102. In the configuration example of FIG. 21, the input real-time video data (1831) is encoded by the encoding unit 1801, and the encoded data (1832) is RTP packetized by the RTP packetizing unit 102.
[0105]
Further, the rate control unit 1802 acquires the data amount (1835 and 1833) of the transmission waiting packet and the communication path state information (1834) from the transmission queue unit 103, the retransmission packet queue unit 112, and the communication path state information reception unit 105. . Based on these pieces of information, the encoding parameter (1836) of the encoding unit 1801 is determined and notified to the encoding unit 1801. For example, when there are a lot of packet data waiting for transmission in the transmission queue unit 103 and the retransmission packet queue unit 112, the encoding parameter is controlled by increasing the quantization width so as to reduce the generated code amount, Control to lower the rate. Also, considering the state of the communication path, it is possible to perform the same control when the delay becomes large. In contrast, when the amount of data waiting for transmission decreases, control can be performed so that the amount of generated code may be increased.
[0106]
Next, FIG. 22 shows another configuration example of the multimedia content distribution apparatus of the present embodiment. As shown in FIG. 22, by inputting information (1931) such as the determination result and the number of retransmission requests temporarily stored in the retransmission request queue unit 110 from the retransmission control unit 109 to the rate control unit 1802, more detailed information can be obtained. It is also possible to perform rate control. Thereby, it is possible to carry out distribution using the transmission band effectively.
[0107]
Note that a multimedia content storage unit 101, an encoding unit 1801, and a rate control unit 1802 are all provided, and a function for distributing pre-created content data and a function for distributing live video input in real time are provided. Both functions may be used as appropriate.
[0108]
Next, an example in which the concept of sharing the transmission part shown in the third embodiment is applied to the case of real-time data input will be shown. FIG. 23 shows an example of the configuration in this case.
[0109]
In the configuration example of FIG. 16 of the third embodiment, the content data (131) output from the multimedia content storage unit 101 that holds the multimedia content is RTP packetized by the RTP packetization unit 102. 23, the input real-time video data (1831) is encoded by the encoding unit 1801, and the encoded data (1832) is RTP packetized by the RTP packetizing unit 102.
[0110]
Further, the rate control unit 1802 obtains the data amount (1835) and communication channel state information (1834) of the transmission waiting packet from the transmission queue unit 103 and the communication channel state information receiving unit 105. Based on these pieces of information, the encoding parameter (1836) of the encoding unit 1801 is determined and notified to the encoding unit 1801.
[0111]
Of the various configuration examples described in the first to fourth embodiments, configurations corresponding to live video input in real time according to the present embodiment are applicable in addition to those described here.
[0112]
(Sixth embodiment)
FIG. 24 shows a configuration example of a multimedia content receiving apparatus according to the sixth embodiment of the present invention.
[0113]
As shown in FIG. 24, the multimedia content receiving apparatus includes a receiving unit 2101, a packet analyzing unit 2102, a communication channel state calculating unit 2103, a communication channel state information transmitting unit 2104, a retransmission control unit 2105, and a retransmission request transmitting unit 2106. A packet buffer unit 2107, a decoding unit 2108, a display unit 2109, a recording buffer unit 2110, and a recording unit 2111.
[0114]
In FIG. 24, the range indicated by e is a portion related to RTP, and the range indicated by f is a portion related to RTCP (e. Used for meaning).
[0115]
Hereinafter, the multimedia content receiving device (also referred to as a receiving device) receives multimedia content from a multimedia content distribution device (also referred to as a transmitting device) (not shown) via a network (not shown). Will be described. The multimedia content transmitting apparatus is not particularly limited, and may be, for example, an existing apparatus or the one described in the first to fifth embodiments.
[0116]
The packet data transmitted from the transmission side device is received by the reception unit 2101, and the packet analysis unit 2102 reads the packet header and the like, and obtains the packet number, time stamp, and the like. In the packet analysis information (2132), a packet loss, a delay amount, and the like are calculated by the communication path state calculation unit 2103, and are transmitted to the transmission side device by the communication path state information transmission unit 2104 using RTCP or the like.
[0117]
Further, the packet analysis information (2132) and the communication path state information (2134) are input to the retransmission control unit 2105, and it is determined whether or not to request retransmission. A retransmission request (2135) using, for example, NACK information or the like is generated from the packet number or the like where the packet loss has occurred, and the retransmission request transmission unit 2106 notifies the transmission side device.
[0118]
On the other hand, the received packet data (2136) is temporarily stored in the packet buffer unit 2107, and after adjusting the order together with the packet sent by retransmission or the like, only the data in time for reproduction is selected, and the decoding unit 2108.
[0119]
The decryption unit 2108 performs decryption processing according to the input content data (2137), and the display unit 2109 reproduces the data. On the other hand, content data 2139 is output from the packet buffer unit 2107 to the recording buffer unit 2110 in a form including data that is not in time for reproduction. The re-transmission data that is not in time for reproduction in the recording buffer unit 2110 is also adjusted in order and is recorded in the recording unit 2111.
[0120]
In the recording buffer unit 2110, the portion where no data is missing from the head is sequentially output to the recording unit 2111, and the data area that has been output is released and used as a new data writing area, thereby making the memory more efficient. It is possible to use it.
[0121]
As described above, the packet buffer unit 2107 performs processing of selecting and reproducing data that is in time for the reproduction time, and recording data that is not in time for reproduction as recording data. Thereby, at the time of reproduction, multimedia data can be reproduced in real time (although there may be an error), and error-free data can be recorded as recording data. At that time, the order is controlled so that the retransmission packet works effectively at the time of real-time reproduction by using any one of various configuration examples and modifications of the first to fifth embodiments. Is possible.
[0122]
Next, FIG. 25 shows another configuration example of the multimedia content distribution apparatus of the present embodiment.
[0123]
When the entire size of the content is very large, the data is temporarily stored in the recording buffer unit 2110 as in the configuration example of FIG. 24. Even if the data is output to 2111, there is a possibility that a large amount of memory is required. In particular, when retransmission of data that is not in time for reproduction is postponed on the distribution side, the data cannot be collected and cannot be output to the recording unit 2111 indefinitely. Therefore, in the configuration example of FIG. 25, it is also possible to use a method in which data is directly written from the packet buffer unit 2107 to the recording unit 2111 and the data inside the recording unit 2111 is rearranged by the recording control unit 2201 later.
[0124]
At this time, it is possible to extend the data rewriting in the recording unit 2111 to a minimum by recording the data to be written in the recording unit 2111 by using the pointer described with reference to FIG.
[0125]
Furthermore, in the first to fifth embodiments, the case has been described where the importance of retransmission requests is determined and the order is controlled in the transmission side device, but these methods can also be applied to the reception side device. .
[0126]
As an example, FIG. 26 shows a configuration example of a multimedia content distribution apparatus when the method adopted in the first embodiment is applied.
[0127]
In this case, the retransmission control unit 2105 also determines the importance level of the retransmission request, and the retransmission request queue unit 2301 temporarily stores the retransmission request (2331) to which the importance level information generated by the retransmission control unit 2105 is added. . The retransmission request information (2332) ordered using the importance information is sent to the retransmission request transmission unit 2106 by the retransmission control unit 2105 in consideration of the request transmission timing, and is transmitted to the transmission side apparatus.
[0128]
Of course, also in this case, as shown in FIG. 25, it is also possible to use a method of directly writing data from the packet buffer unit 2107 to the recording unit 2111 and rearranging the data in the recording unit 2111 by the recording control unit 2201 later. It is.
[0129]
In addition, among the various configuration examples described in the first to fifth embodiments, the configuration examples other than those described here can be similarly applied.
[0130]
In the first to sixth embodiments, the case where RTP is used has been described as an example. However, the protocol is not limited to this, and various protocols that can be retransmitted can be used. It is. In the first to sixth embodiments, video signals such as moving images and still images have been mainly described as content data. However, the types of data are not limited, and audio data, text data, or the like can be used. It can be implemented.
[0131]
Each of the above functions can be realized even if it is described as software and processed by a computer having an appropriate mechanism.
The present embodiment can also be implemented as a program for causing a computer to execute predetermined means, causing a computer to function as predetermined means, or causing a computer to realize predetermined functions. In addition, the present invention can be implemented as a computer-readable recording medium on which the program is recorded.
[0132]
Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
[0133]
【The invention's effect】
According to the present invention, it is possible to efficiently transmit multimedia contents in a network in which errors may be mixed.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration example of a multimedia content distribution apparatus according to a first embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a header portion of an RTP packet
FIG. 3 is a flowchart showing an example of a schematic procedure of retransmission request importance determination processing in the embodiment;
FIG. 4 is a view showing a configuration example of a retransmission request queue in the embodiment.
FIG. 5 is a flowchart showing an example of a detailed procedure of retransmission request importance determination processing in the embodiment;
FIG. 6 is a diagram for explaining a transmission / reception time when a retransmission packet is in time for the scheduled reproduction time in the embodiment;
FIG. 7 is a diagram for explaining a transmission / reception time when a retransmission packet is not in time for the scheduled reproduction time in the embodiment;
FIG. 8 is a view showing another configuration example of the multimedia content distribution apparatus in the embodiment.
FIG. 9 is a diagram showing still another configuration example of the multimedia content distribution apparatus according to the embodiment.
FIG. 10 is a diagram illustrating a packet configuration of an RTCP transmission side report sent from the transmission side to the reception side;
FIG. 11 is a diagram showing a configuration of an RTCP transmission side report packet sent from the reception side to the transmission side;
FIG. 12 is a diagram showing a configuration example of a multimedia content distribution apparatus according to the second embodiment of the present invention.
FIG. 13 is a flowchart showing an example of a processing procedure according to the importance in the retransmission packet buffer unit in the embodiment;
FIG. 14 is a diagram showing a configuration example of a retransmission wait packet buffer unit in the embodiment;
FIG. 15 is a view showing another configuration example of the retransmission waiting packet buffer unit in the embodiment;
FIG. 16 is a diagram showing a configuration example of a multimedia content distribution apparatus according to the third embodiment of the present invention.
FIG. 17 is a diagram showing another configuration example of the multimedia content distribution apparatus in the embodiment.
FIG. 18 is a diagram showing still another configuration example of the multimedia content distribution apparatus according to the embodiment.
FIG. 19 is a diagram showing a configuration example of a multimedia content distribution apparatus according to the fourth embodiment of the present invention.
FIG. 20 is a diagram showing another configuration example of the multimedia content distribution apparatus in the embodiment.
FIG. 21 is a diagram showing a configuration example of a multimedia content distribution apparatus according to a fifth embodiment of the present invention.
FIG. 22 is a diagram showing another configuration example of the multimedia content distribution apparatus in the embodiment.
FIG. 23 is a diagram showing still another configuration example of the multimedia content distribution apparatus according to the embodiment.
FIG. 24 is a diagram showing a configuration example of a multimedia content receiving apparatus according to a sixth embodiment of the present invention.
FIG. 25 is a view showing another configuration example of the multimedia content receiving apparatus according to the embodiment;
FIG. 26 is a diagram showing still another configuration example of the multimedia content receiving apparatus in the embodiment.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 101 ... Multimedia content preservation | save part, 102 ... RTP packetization part, 103 ... Transmission queue part, 104 ... Transmission part, 105 ... Communication path state information reception part, 106 ... Round-trip time calculation part, 107 ... Retransmission request reception part, 108 ... Packet buffer unit, 109 ... Retransmission control unit, 110 ... Retransmission request queue unit, 111 ... Retransmission packetization unit, 112 ... Retransmission packet queue unit, 113 ... Retransmission packet transmission unit, 801 ... RTP multimedia content storage unit, 901 ... Retransmission waiting packet buffer unit, 1601... Session control unit, 1701... Rate control unit, 1702 .. switching compatible multi-media content storage unit, 1801 .. encoding unit, 1802. Part, 2103 ... communication path state calculation part, 2104 ... communication path state Report transmission unit, 2105 ... retransmission control unit, 2106 ... retransmission request transmission unit, 2107 ... packet buffer unit, 2108 ... decoding unit, 2109 ... display unit, 2110 ... recording buffer unit, 2111 ... recording unit, 2201 ... recording control Part 2301... Retransmission request queue part

Claims (15)

マルチメディアコンテンツデータから生成された複数のパケットを順次ネットワークを介して受信装置へ送信する第1の送信手段と、
前記受信装置から前記ネットワークを介して、再送すべきパケットを特定する情報を含む再送要求を受信する受信手段と、
前記再送要求に係るパケットの再送に関する重要度を、該パケットに係るデータが前記受信装置で利用される予定の第1の時刻及び該パケットに対応する再送パケットに係るデータが前記受信装置で利用可能になると予想される第2の時刻に基づいて決定する決定手段と、
前記重要度に基づいて再送すべきパケットを選択する選択手段と、
選択されたパケットに対応する再送パケットを前記ネットワークを介して前記受信装置へ送信する第2の送信手段とを備えたことを特徴とするパケット送信装置。
First transmitting means for sequentially transmitting a plurality of packets generated from the multimedia content data to the receiving device via the network;
Receiving means for receiving a retransmission request including information specifying a packet to be retransmitted from the receiving device via the network;
The importance related to retransmission of the packet related to the retransmission request, the first time when the data related to the packet is scheduled to be used by the receiving device, and the data related to the retransmission packet corresponding to the packet can be used by the receiving device Determining means for determining based on a second time expected to be;
Selecting means for selecting a packet to be retransmitted based on the importance;
A packet transmission apparatus comprising: a second transmission unit configured to transmit a retransmission packet corresponding to the selected packet to the reception apparatus via the network.
前記処理手段は、前記第1の時刻が前記第2の時刻より後の時刻である場合に、前記重要度を高い値に設定し、前記第1の時刻が前記第2の時刻以前の時刻である場合に、前記重要度を低い値に設定することを特徴とする請求項1に記載のパケット送信装置。The processing means sets the importance level to a high value when the first time is later than the second time, and the first time is a time before the second time. The packet transmission device according to claim 1, wherein the importance is set to a low value in some cases. 前記処理手段は、前記再送要求に係る再送パケットが前記第2の送信手段により送信されるまでの処理に要する第1の時間及び前記第2の送信手段により送信された再送パケットが前記受信装置へ到着するまでに要する第2の時間に基づいて、前記第2の時刻を予想することを特徴とする請求項2に記載のパケット送信装置。The processing means includes a first time required for processing until a retransmission packet related to the retransmission request is transmitted by the second transmission means, and a retransmission packet transmitted by the second transmission means to the receiving apparatus. The packet transmission device according to claim 2, wherein the second time is predicted based on a second time required for arrival. 前記処理手段は、前記再送要求に係る再送パケットよりも先に送信すべき他の再送要求に係る再送パケットの送信を済ませるまでに要する時間をもとに前記第1の時間を求め、前記受信装置との間でパケットが往復するのに要する時間をもとに前記第2の時間を求めることを特徴とする請求項3に記載のパケット送信装置。The processing means obtains the first time based on a time required to complete transmission of a retransmission packet related to another retransmission request to be transmitted before a retransmission packet related to the retransmission request, and the receiving apparatus The packet transmission device according to claim 3, wherein the second time is obtained based on a time required for a packet to reciprocate between the first and second packets. 前記決定手段は、前記第1の時刻が前記第2の時刻より後の時刻である場合には、前記再送要求に係る再送パケットを前記受信装置で前記第1の時刻に利用可能とする重要度を設定し、前記第1の時刻が前記第2の時刻以前の時刻である場合には、前記再送要求に係るパケットが前記選択手段により劣後的に選択される重要度を設定することを特徴とする請求項1に記載のパケット送信装置。The determining means, when the first time is a time after the second time, the importance of making the retransmission packet related to the retransmission request available at the first time in the receiving device And when the first time is a time before the second time, the importance that the packet related to the retransmission request is subordinately selected by the selection means is set. The packet transmission device according to claim 1. マルチメディアコンテンツデータを記憶する記憶手段と、
前記マルチメディアコンテンツデータから前記複数のパケットを生成する生成手段とを更に備えたことを特徴とする請求項1に記載のパケット送信装置。
Storage means for storing multimedia content data;
The packet transmission device according to claim 1, further comprising a generation unit configured to generate the plurality of packets from the multimedia content data.
前記マルチメディアコンテンツデータから生成された複数のパケットに関するデータを記憶する記憶手段を更に備えたことを特徴とする請求項1に記載のパケット送信装置。The packet transmission apparatus according to claim 1, further comprising storage means for storing data relating to a plurality of packets generated from the multimedia content data. マルチメディアコンテンツデータから生成された複数のパケット又はこれに対応する再送のパケットを順次ネットワークを介して送信装置から受信する第1の受信手段と、
前記第1の受信手段により受信したパケットを解析し、その結果に基づいて再送すべきパケットを特定する特定手段と、
再送すべきパケットを特定する情報を含む再送要求を前記ネットワークを介して前記送信装置へ送信する送信手段と、
前記パケットに係るデータを利用するデータ利用手段と、
前記パケットに係るデータを記録する記録手段とを備えたことを特徴とするパケット受信装置。
First receiving means for sequentially receiving a plurality of packets generated from multimedia content data or retransmission packets corresponding to the packets from a transmitting device via a network;
Analyzing means for analyzing the packet received by the first receiving means, and specifying means for specifying a packet to be retransmitted based on the result;
Transmitting means for transmitting a retransmission request including information specifying a packet to be retransmitted to the transmitting device via the network;
Data utilization means for utilizing data relating to the packet;
A packet receiving apparatus comprising recording means for recording data relating to the packet.
前記パケットに係るデータ及び前記再送のパケットに係るデータの全てを対象として、それらが利用される順番に並べ替えて保持する保持手段を更に備え、
前記記録手段は、前記保持手段に保持された、並べ替えられた後のデータを記録することを特徴とする請求項8に記載のパケット受信装置。
Further comprising holding means for rearranging and holding all the data relating to the packet and the data relating to the retransmission packet in the order in which they are used,
9. The packet receiving apparatus according to claim 8, wherein the recording unit records the rearranged data held in the holding unit.
前記パケットに係るデータ及び前記再送のパケットに係るデータの全てを対象として、それらを蓄積するとともに、前記記録手段へ直接書き込む蓄積手段と、
前記記録手段に記録されたデータを、それらが利用される順番に並べ替える手段とを更に備えたことを特徴とする請求項8に記載のパケット受信装置。
Accumulating all the data related to the packet and the data related to the retransmitted packet, and storing the data, and directly writing to the recording means,
9. The packet receiving apparatus according to claim 8, further comprising means for rearranging data recorded in the recording means in an order in which they are used.
前記データ利用手段は、前記パケットに係るデータ及び前記再送のパケットに係るデータのうち、これを利用すべき時刻より前に利用可能になったもののみを利用することを特徴とする請求項8に記載のパケット受信装置。9. The data utilization unit uses only data related to the packet and data related to the retransmission packet that are available before the time when the data should be used. The packet receiving device described. 前記再送要求を蓄積する蓄積手段と、
前記特定手段により特定されたパケットに係る再送要求及び前記蓄積手段に蓄積された再送要求のうち重要度の高いものを選択して、前記送信手段へ渡す手段を更に備えたことを特徴とする請求項8に記載のパケット受信装置。
Storage means for storing the retransmission request;
The apparatus further comprises means for selecting a high-priority request among the retransmission request related to the packet specified by the specifying means and the retransmission request stored in the accumulating means, and passing the selected request to the transmitting means. Item 9. The packet receiving device according to Item 8.
前記データ利用手段は、前記データを復号化する手段と、復号されたデータを表示する手段とを含むことを特徴とする請求項8に記載のパケット受信装置。9. The packet receiving apparatus according to claim 8, wherein the data using means includes means for decoding the data and means for displaying the decoded data. マルチメディアコンテンツデータから生成された複数のパケットを順次ネットワークを介して受信装置へ送信するステップと、
前記受信装置から前記ネットワークを介して、再送すべきパケットを特定する情報を含む再送要求を受信するステップと、
前記再送要求に係るパケットの再送に関する重要度を、該パケットに係るデータが前記受信装置で利用される予定の第1の時刻及び該パケットに対応する再送パケットに係るデータが前記受信装置で利用可能になると予想される第2の時刻に基づいて決定するステップと、
前記重要度に基づいて再送すべきパケットを選択するステップと、
選択されたパケットに対応する再送パケットを前記ネットワークを介して前記受信装置へ送信するステップとを備えたことを特徴とするパケット送信方法。
Sequentially transmitting a plurality of packets generated from the multimedia content data to a receiving device via a network;
Receiving a retransmission request including information identifying a packet to be retransmitted from the receiving device via the network;
The importance related to retransmission of the packet related to the retransmission request, the first time when the data related to the packet is scheduled to be used by the receiving device, and the data related to the retransmission packet corresponding to the packet can be used by the receiving device Determining based on a second time expected to be;
Selecting a packet to be retransmitted based on the importance;
And a step of transmitting a retransmission packet corresponding to the selected packet to the receiving device via the network.
マルチメディアコンテンツデータから生成された複数のパケット又はこれに対応する再送のパケットを順次ネットワークを介して送信装置から受信するステップと、
受信したパケットを解析し、その結果に基づいて再送すべきパケットを特定するステップと、
再送すべきパケットを特定する情報を含む再送要求を前記ネットワークを介して前記送信装置へ送信するステップと、
前記パケットに係るデータを利用するステップと、
前記パケットに係るデータを記録するステップとを備えたことを特徴とするパケット受信方法。
Receiving a plurality of packets generated from multimedia content data or a retransmission packet corresponding to the packets sequentially from a transmitting device via a network;
Analyzing received packets and identifying packets to be retransmitted based on the results;
Transmitting a retransmission request including information specifying a packet to be retransmitted to the transmission device via the network;
Utilizing the data associated with the packet;
A packet receiving method comprising: recording data relating to the packet.
JP2003202981A 2003-07-29 2003-07-29 Packet transmission apparatus, packet reception apparatus, packet transmission method and packet reception method Pending JP2005051299A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003202981A JP2005051299A (en) 2003-07-29 2003-07-29 Packet transmission apparatus, packet reception apparatus, packet transmission method and packet reception method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003202981A JP2005051299A (en) 2003-07-29 2003-07-29 Packet transmission apparatus, packet reception apparatus, packet transmission method and packet reception method

Publications (1)

Publication Number Publication Date
JP2005051299A true JP2005051299A (en) 2005-02-24

Family

ID=34262503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003202981A Pending JP2005051299A (en) 2003-07-29 2003-07-29 Packet transmission apparatus, packet reception apparatus, packet transmission method and packet reception method

Country Status (1)

Country Link
JP (1) JP2005051299A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011015214A (en) * 2009-07-02 2011-01-20 Canon Inc Transmission device, transmission method, and computer program
JP2013078126A (en) * 2007-06-29 2013-04-25 Toshiba Corp Video stream across multiple interfaces
US8860040B2 (en) 2012-09-11 2014-10-14 Dow Corning Corporation High voltage power semiconductor devices on SiC
JP2015012306A (en) * 2013-06-26 2015-01-19 三菱電機株式会社 Video transmission/reception system, transmission device and reception device
US8940614B2 (en) 2013-03-15 2015-01-27 Dow Corning Corporation SiC substrate with SiC epitaxial film
US9018639B2 (en) 2012-10-26 2015-04-28 Dow Corning Corporation Flat SiC semiconductor substrate
US9017804B2 (en) 2013-02-05 2015-04-28 Dow Corning Corporation Method to reduce dislocations in SiC crystal growth
US9279192B2 (en) 2014-07-29 2016-03-08 Dow Corning Corporation Method for manufacturing SiC wafer fit for integration with power device manufacturing technology
US9738991B2 (en) 2013-02-05 2017-08-22 Dow Corning Corporation Method for growing a SiC crystal by vapor deposition onto a seed crystal provided on a supporting shelf which permits thermal expansion
US9797064B2 (en) 2013-02-05 2017-10-24 Dow Corning Corporation Method for growing a SiC crystal by vapor deposition onto a seed crystal provided on a support shelf which permits thermal expansion
WO2017199913A1 (en) * 2016-05-18 2017-11-23 日本電気株式会社 Transmission device, method, program, and recording medium
CN112416408A (en) * 2020-12-08 2021-02-26 金卡智能集团股份有限公司 Firmware upgrading method, device, equipment and computer readable storage medium
CN114584844A (en) * 2020-11-30 2022-06-03 青岛海信宽带多媒体技术有限公司 RTP packet loss retransmission method and device and playing terminal

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013078126A (en) * 2007-06-29 2013-04-25 Toshiba Corp Video stream across multiple interfaces
JP2011015214A (en) * 2009-07-02 2011-01-20 Canon Inc Transmission device, transmission method, and computer program
US8860040B2 (en) 2012-09-11 2014-10-14 Dow Corning Corporation High voltage power semiconductor devices on SiC
US9337277B2 (en) 2012-09-11 2016-05-10 Dow Corning Corporation High voltage power semiconductor device on SiC
US9018639B2 (en) 2012-10-26 2015-04-28 Dow Corning Corporation Flat SiC semiconductor substrate
US9165779B2 (en) 2012-10-26 2015-10-20 Dow Corning Corporation Flat SiC semiconductor substrate
US9797064B2 (en) 2013-02-05 2017-10-24 Dow Corning Corporation Method for growing a SiC crystal by vapor deposition onto a seed crystal provided on a support shelf which permits thermal expansion
US9017804B2 (en) 2013-02-05 2015-04-28 Dow Corning Corporation Method to reduce dislocations in SiC crystal growth
US9738991B2 (en) 2013-02-05 2017-08-22 Dow Corning Corporation Method for growing a SiC crystal by vapor deposition onto a seed crystal provided on a supporting shelf which permits thermal expansion
US8940614B2 (en) 2013-03-15 2015-01-27 Dow Corning Corporation SiC substrate with SiC epitaxial film
JP2015012306A (en) * 2013-06-26 2015-01-19 三菱電機株式会社 Video transmission/reception system, transmission device and reception device
US9279192B2 (en) 2014-07-29 2016-03-08 Dow Corning Corporation Method for manufacturing SiC wafer fit for integration with power device manufacturing technology
US10002760B2 (en) 2014-07-29 2018-06-19 Dow Silicones Corporation Method for manufacturing SiC wafer fit for integration with power device manufacturing technology
WO2017199913A1 (en) * 2016-05-18 2017-11-23 日本電気株式会社 Transmission device, method, program, and recording medium
RU2715016C1 (en) * 2016-05-18 2020-02-21 Нек Корпорейшн Transmitting device, method, program and recording medium
CN114584844A (en) * 2020-11-30 2022-06-03 青岛海信宽带多媒体技术有限公司 RTP packet loss retransmission method and device and playing terminal
CN114584844B (en) * 2020-11-30 2023-09-22 青岛海信宽带多媒体技术有限公司 RTP packet loss retransmission method and device and intelligent set top box
CN112416408A (en) * 2020-12-08 2021-02-26 金卡智能集团股份有限公司 Firmware upgrading method, device, equipment and computer readable storage medium

Similar Documents

Publication Publication Date Title
JP4414311B2 (en) Multimedia streaming service system and method
US7164680B2 (en) Scheme for supporting real-time packetization and retransmission in rate-based streaming applications
CN108141455B (en) Deadline signaling for streaming of media data
CN1951083B (en) Refined quality feedback in streaming services
US7290058B2 (en) Video mail server with reduced frame loss
US20050254508A1 (en) Cooperation between packetized data bit-rate adaptation and data packet re-transmission
TWI401918B (en) A communication method for signaling buffer parameters indicative of receiver buffer architecture
EP2129126A1 (en) Transmission apparatus, transmission method, and reception apparatus
JP5207895B2 (en) Transmitting apparatus, receiving apparatus, method, and program
US8990407B2 (en) Fast setup response prediction
KR20060114080A (en) System and method of providing multimedia streaming service
KR20100083233A (en) Apparatus and method for multimedia file streaming in portable terminal
KR20040009928A (en) Method of generating transmission control parameter and selective retranmission method according to the packet characteristics.
KR20010084519A (en) Apparatus for transmitting/receiving bitstream in network and method thereof
Raman et al. ITP: An image transport protocol for the internet
JP2005051299A (en) Packet transmission apparatus, packet reception apparatus, packet transmission method and packet reception method
US20090268730A1 (en) Data transmitting apparatus and method and program for controlling transmission rate
JP3871661B2 (en) Multimedia content receiving apparatus and multimedia content receiving method
JP5031230B2 (en) Data transmission apparatus and method
WO2005006760A1 (en) Method and system for uneven distribution of data
KR100624854B1 (en) Media-retransmitting device and method
JP2005136547A (en) Communication system, receiving apparatus and method, transmission apparatus and method, recording medium, and program
Handley Applying real-time multimedia conferencing techniques to the Web
WO2005006685A1 (en) Method for prebuffering of multimedia streaming data
Argyriou Transport layer optimizations for heterogeneous wireless multimedia networks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060919