JP2007174170A - パケット送信装置、受信装置、システム、およびプログラム - Google Patents

パケット送信装置、受信装置、システム、およびプログラム Download PDF

Info

Publication number
JP2007174170A
JP2007174170A JP2005367814A JP2005367814A JP2007174170A JP 2007174170 A JP2007174170 A JP 2007174170A JP 2005367814 A JP2005367814 A JP 2005367814A JP 2005367814 A JP2005367814 A JP 2005367814A JP 2007174170 A JP2007174170 A JP 2007174170A
Authority
JP
Japan
Prior art keywords
packet
reception
buffer
processing unit
transmission device
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.)
Granted
Application number
JP2005367814A
Other languages
English (en)
Other versions
JP4456064B2 (ja
Inventor
Kenji Kugimoto
健司 釘本
Hiroyuki Kimiyama
博之 君山
Takeshi Ogura
毅 小倉
Tetsuo Kawano
哲生 川野
Kenji Shimizu
健司 清水
Mitsuru Maruyama
充 丸山
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005367814A priority Critical patent/JP4456064B2/ja
Publication of JP2007174170A publication Critical patent/JP2007174170A/ja
Application granted granted Critical
Publication of JP4456064B2 publication Critical patent/JP4456064B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】汎用PC等を用いた非リアルタイムシステムベースのストリーミングシステムにおいて、端末側のバッファ量をできるだけ小さくするための技術を提供する。
【解決手段】映像パケット送信装置100はパケット網120を介して映像パケット受信装置150にストリームデータを送信する。映像パケット送信装置100は、映像パケット受信装置150の受信バッファ151の状態に関する通知を映像パケット受信装置150から受信するバッファ状態受信処理部103と、周期的に端末通信処理部102を起動する疑似リアルタイムスケジューラ部101と、疑似リアルタイムスケジューラ部101によって起動される各周期において、バッファ状態受信処理部103が受信した通知に基づいて調整されたパケット数のパケットを映像パケット受信装置150に送信する端末通信処理部102と、を備える。
【選択図】図1

Description

本発明は、パケット網を介してパケット受信装置にストリームデータを送信するパケット送信装置、そのパケット受信装置、それらの装置を有するシステム、およびそれらの装置ためのプログラムに関する。
映像パケット送信装置(映像データ流供給装置)とは、パケット交換網において映像データをパケットに分割し、適切な宛先に送信するための装置である。パケットは、ネットワークインターフェイスを介して端末装置(映像パケット受信装置)に送られ、端末装置では、送られて来たパケットから映像データ流(映像ストリーム)を再構成し、ビデオ信号に変換して表示装置に送り、映像を再生する。
放送業界等においては、従来から、高画質な映像パケット送信装置が求められていたが、一般に、映像パケット送信装置においては、映像データの圧縮および伸長を行なうために遅延が大きく、放送のリアルタイム性の要求を満たせないため、放送用編集システムとしては用いられてこなかった。リアルタイム性を実現するためには、高画質映像データを非圧縮で送信する必要があるが、広帯域ネットワークを必要とするため、ネットワークコストの面から、従来は積極的に開発が行なわれていなかった。
しかし、近年、安価なネットワーク機器の開発が進み、回線コストも下がりつつあることから、伝送路上を非圧縮で伝送する高画質映像伝送システムの開発が行なわれるようになってきた。これらの技術については、非特許文献1〜4に記載されている。
君山、清水、川野、小倉、丸山、"IPネットワークを使った非圧縮HDTV対応映像サーバの構成法に関する検討"、情報処理学会研究報告、DPS−111、pp.45−52、2003 H. Kimiyama、K. Shimizu、T. Kawano、T. 0gura、M. Maruyama、"Real-time Processing Method for an Ultra High-Speed Streaming Server Running PCLinux"、Proceeding of AINA 2004、vol.2、pp.441−446、2004 川野、清水、小倉、丸山、"インターネット非圧縮HDTV転送システムにおける高速プロトコル処理技術"、NTT R&D、Vol.51、No.7、pp.596−602、2002 川野、小倉、清水、丸山、小柳、"非圧縮HDTV over IPシステムにおける高速プロトコル処理技術"、信学技報、NS2002−51、pp.47−50、2002
上記で述べたように、放送業界では、高画質とリアルタイム性を両立した伝送システムヘの要求がある。高画質であればあるほど、伝送されるデータ量は大きいものになるため、映像パケット受信装置側では、再生待ちの映像を格納するためのバッファ量を大きくする必要がある。また、ネットワークやシステムの負荷変動を吸収するために、ある程度の余裕をもたせるために必要量以上にバッファの大きさを取ることが一般的である。しかし、バッファ量が大きくなるほど、遅延が大きくなるため、許容遅延が数フレーム以内とされる放送業界の厳しい要求に応えるためには、できるだけバッファ量を小さくする必要がある。
一方、専用装置の開発は高コストとなるため、ストリーミングシステムにおいては、低価格化を目的として市販PCやワークステーションを用いることが一般的である。しかし、これらはクロック同期機構を持たないため、サーバ側(映像パケット送信装置側)と端末側(映像パケット受信装置側)の再生レートを精密に合わせることができず、受信バッファを小さくした場合、バッファのオーバーランやアンダーランを容易に引き起こす。さらに、リアルタイムシステムではないため、負荷変動によってパケットの処理速度にも変動が生じるため、受信バッファのオーバーランやアンダーランを一層ひきおこし易くなる。バッファオーバーランやバッファアンダーランを回避するために、端末側のバッファ量を増やす手法が一般的に取られるが、既に述べたように、遅延が大きくなってしまうため、リアルタイム性を要求される分野には適さない。汎用PC等を用いるためには、端末側のバッファ量をできるだけ小さく抑えつつ、安定な伝送を行なうことが求められる。
本発明は、上記の問題を解決するためになされたものである。本発明の目的は、汎用PC等を用いた非リアルタイムシステムベースのストリーミングシステムにおいて、端末側のバッファ量をできるだけ小さくするための技術を提供することである。
本発明は、フィードバックレート制御を行うパケット送信装置、受信装置、システム、およびプログラムに関し、安価な汎用PC等の非リアルタイムシステムを用いたストリーミングシステムにおいて、低遅延に対応するために、通信用バッファ量の低減をはかりつつ、安定な通信を実現するものである。
一般に、非リアルタイムシステムを用いたストリーミングシステムにおいて、クロック同期機構を持たずして、負荷変動に強い、安定した通信を行なうには、バッファ量を大きく取ることが一般的である。しかし、バッファ量の増大は遅延の増大につながるため、遅延について数フレーム以内を要求される放送用設備には適さない。
そこで本発明では、端末側にバッファ量の瞬時値と変化率を測定し、その情報をパケット送信装置側に通知する装置を配置し、また、パケット送信装置側には送信レート制御装置を配置して、通知された情報を元に、パケット送信装置からのパケット送信レートを適応的に精密に制御することにより、バッファ量の低減をはかる。
本発明では、このような方法で、クロック同期機構を持たずに、非リアルタイムシステムを用いたストリーミングシステムのバッファ量の低減をはかり、遅延の低減をはかる。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
(1)パケット網を介してパケット受信装置にストリームデータを送信するパケット送信装置であって、前記パケット受信装置の受信バッファの状態に関する通知を前記パケット受信装置から受信するバッファ状態受信処理部と、周期的に端末通信処理部を起動するスケジューラ部と、前記スケジューラ部によって起動される各周期において、前記バッファ状態受信処理部が受信した前記通知に基づいて調整されたパケット数のパケットを前記パケット受信装置に送信する端末通信処理部と、を備えることを特徴とする。
(2)前記(1)のパケット送信装置であって、前記通知は前記パケット受信装置の受信バッファの使用量の変化率を含み、前記端末通信処理部は、前記変化率に基づいて調整されたパケット数のパケットを前記パケット受信装置に送信することを特徴とする。
(3)前記(2)のパケット送信装置であって、前記バッファ状態受信処理部は、前記変化率が予め決められた基準を外れた場合に、前記変化率に基づいて送信レートを変更することを特徴とする。
(4)前記(1)〜(3)のパケット送信装置であって、前記端末通信処理部は、予め定められた周期ごとに、送信すべきデータ量の端数を調整するパケット数でパケットを送信することを特徴とする。
(5)前記(1)〜(3)のパケット送信装置であって、前記端末通信処理部は、送信すべきデータ量の端数を分散して調整するパケット数でパケットを送信することを特徴とする。
(6)前記(1)〜(5)のパケット送信装置であって、前記通知は前記パケット受信装置の受信バッファの使用量とその変化率を含み、前記バッファ状態受信処理部は、前記パケット受信装置の受信バッファの使用量の変化率が予め決められた基準内に収まり、受信バッファの使用量が目標値から外れている場合に、リカバリーモードをセットし、前記端末通信処理部は、リカバリーモードがセットされている時には、受信バッファの使用量の目標値と現在の受信バッファの使用量の差分に基づいて、毎周期ごとにパケット数を増減することを特徴とする。
(7)前記(1)〜(6)のパケット送信装置からパケット網を介してストリームデータを受信するパケット受信装置であって、前記パケット送信装置から受信したデータを一時的に蓄える受信バッファと、前記受信バッファの状態に関する通知を前記パケット送信装置に送信するバッファ状態通知処理部と、を備えることを特徴とする。
本発明によれば、パケット送信装置が、パケット受信装置側から通知された受信バッファの状態に関する通知に基づいて(具体的には受信バッファ使用量の瞬時値およびその単位時間の変化率を元に)制御を行なうことにより、非リアルタイムシステムにおいて、ハードウェアによるクロック同期機構等によらずに、パケット受信装置において受信バッファのアンダーランおよびオーバーランを防ぎ、安定したストリームデータの再生が可能となる。
以下、本発明の実施例を図面に基づいて説明する。以下に説明する本発明の実施例は、パケット交換網において用いられる映像伝送用の映像パケット送信装置等に関するものであり、特にその映像データの送信レートの制御を行なうものである。しかし、本発明は、一般には、パケット網を介してパケット受信装置にストリームデータを送信するパケット送信装置等において有効な技術である。本実施例で扱うレート制御装置を含む、非リアルタイムシステムをべースとしたストリーミングシステムの実施形態を図1に示し、全体の動作を簡単に説明する。
図1において、100は映像パケット送信装置(ストリームサーバ)であり、疑似リアルタイムスケジューラ部101、端末通信処理部(送信部)102、バッファ状態受信処理部103、ディスク装置104、ネットワークインタフェース105、およびLinuxカーネル106を備えている。バッファ状態受信処理部103は映像パケット受信装置150の受信バッファ151の状態に関する通知を映像パケット受信装置150から受信する手段を有しており、疑似リアルタイムスケジューラ部101は周期的に端末通信処理部102を起動する手段を有しており、端末通信処理部102は疑似リアルタイムスケジューラ部101によって起動される各周期において、バッファ状態受信処理部103が受信した通知に基づいて調整されたパケット数のパケットを映像パケット受信装置150に送信する手段を有している。ディスク装置104、ネットワークインタフェース105、Linuxカーネル106は周知のものと同様である。
150は映像パケット受信装置(動画再生装置)であり、受信バッファ151、バッファ状態通知処理部152、および映像信号変換部153を備えている。受信バッファ151は映像パケット送信装置100から受信したデータを一時的に蓄え、バッファ状態通知処理部152は受信バッファ151の状態に関する通知を映像パケット送信装置100に送信する手段を有している。映像信号変換部153は周知のものと同様である。
120はパケット網であり、121は映像パケット送信装置100から映像パケット受信装置150へ送信される動画ストリームであり、122は映像パケット受信装置から映像パケット送信装置100へ送信される状態通知パケットである。なお、図中の点線の矢印は制御の流れを表しており、実線の矢印は映像データの流れを表している。
まず映像パケット送信装置100側について説明する。疑似リアルタイムスケジューラ部101では、他のプロセスのスケジューリングを行なう働きを担っており、一定の周期で端末通信処理部102を起動する。非リアルタイムシステムにおいては、毎周期の動作を精密な間隔で行なうことは保証できないが、数十周期以上の長期にわたってみれば、平均的には正確な制御が可能であり、一般的なタイマ割り込みによっても、送信レート制御を可能とする程度には、疑似的なリアルタイムスケジューリングを行なうことができる。
端末通信処理部102は、映像データをパケット網120を通して送り出す働きを持ち、目標の送信レートとなるように、周期ごとにパケット数を調整して、パケットを送り出す。
バッファ状態受信処理部103は、映像パケット受信装置150側から通知された情報(受信バッファ151の使用量の瞬時値およびその変化率)に基づき、映像パケット受信装置150側のバッファのオーバーラン・アンダーランが発生しないように、1周期に送信すべき映像データ量を周期毎に調整して、目標とする映像パケット受信装置150の受信バッファ151の使用量が常に一定の範囲内に収まるようにする。
次に映像パケット受信装置150側について説明する。バッファ状態通知処理部152が、受信バッファ151からたとえば一定の周期(1〜10映像フレームに一度の頻度)で、映像データの受信バッファ使用量を読みだし、その変化率とともにその瞬時値を数秒周期で映像パケット送信装置100側に通知する。なお、受信バッファの使用量の変化率は、たとえば、単位時間あたりの変化量であり、変化量は直前の使用バッファ量測定値と現在の使用バッファ量の測定値の差分である。
以下、映像パケット送信装置100の疑似リアルタイムスケジューラ101、端末通信処理部102、およびバッファ状態受信処理部103の動作を詳細に説明する。図2、図3、図4、図5および図6に、各部の動作アルゴリズムを示す。
図2は、疑似リアルタイムスケジューラ部101の動作を示した図である。初期状態では、疑似リアルタイムスケジューラ部101は、図示しないインターバルタイマからの割込信号を待っている(201)。インターバルタイマからの信号を受け取ると、端末通信処理部102に割込信号を送って起動した後、10ms後に動作するようにインターバルタイマを設定した後(202)、端末通信処理部102へ割込信号を発行してパケットの送信を促し(203)、再び割込待ち状態に入る(201)。このようにして10ms粒度のスケジューリング処理を実現する。
図3および図4は、端末通信処理部102の動作を示した図である。それぞれ後述の方式1および方式2に対応している。
初期状態では、カウンタCおよび変数ADJ、ADDを0にした後(301、401)、疑似リアルタイムスケジューラ部101からの割込み信号待ちをしている(302、402)。割込信号を受けると動作を開始する。まず、リカバリーモードにあるかどうかを調べる(303、403)。リカバリーモードについては後述する。リカバリーモードに入っていなければ(303、403でNo)、この周期において送信すべきデータ量Mを送信する。このスケジューラからの割り込み周期をT(s)とすると、この周期で送信すべきデータ量Mc(理論値)は、以下の式1のようになる。なお、式1の「29.97」は動画1秒あたりのフレーム数である。一般には、テレビの動画は1秒間に30フレームの絵からなるとされているが、正確な値は29.97フレーム/secである。
Mc=F_size×29.97×T (式1)
T:起動周期(s)
F_size:フレームサイズ
しかし、映像パケット送信装置100と映像パケット受信装置150は独立した動作クロックで動いているため、Mの値が理論値Mcに一致するとは限らない。バッファ状態受信処理部103から通知された変化率Rを元に値の補正を行なう、この周期で実際に送信すべきデータ量Mは、式2のようになる。なお、式1の送信すべきデータ量Mcはフレームサイズから計算された理論値であり、式2の実際に送信すべきデータ量Mは映像パケット受信装置150側から通知されたバッファ量の変化率Rの実測値を加味して計算した補正値である。
M=(F_size−R)×29.97×T (式2)
したがって、周期あたりの平均パケット送信数N_avgは、パケットのペイロードサイズをpkt_pldとすると、式Cのようになる。
N_avg=M/pkt_pld (式3)
計算の結果、N_avgが整数であれば、周期あたりN_avgのパケットを送信すればよいため、N_avgができるだけ整数に近くなるようにpkt_pldを調整するだけで、所望のレートで送信することができることになる。しかし、受信側の実装その他の理由により、ペイロードサイズpkt_pldを固定とせざるを得ない場合には、ほとんどの場合N_avgは整数とはならず、端数が発生するため、端末通信処理部102の送信パケット数Nを周期ごとに変更して、数周期の間に端数を調整し、微妙な送信レート調整を行なう。
この端数の調整の方法として、(1)数周期ごとに端数を調整する方法(方式1)と、(2)送信周期の整数倍で端数を分散させる方法(方式2)が考えられる。具体的には、端数の調整は、以下のように行なう。
(1)方式1(図3の305〜307参照)
周期Fごとに一度、端数を調整する。すなわち、端末通信処理部102は、予め定められた周期Fごとに、送信すべきデータ量の端数を調整するパケット数でパケットを送信する。たとえば、図3に示すように、カウンタCが予め定めた周期Fに一致するかどうか調べ(305)、Noであれば基準パケット数N_baseのパケットを送信し(306)、Yesであれば端数を調整するパケット数N_base+F_racのパケットを送信する(307)。周期ごとに必ず送信すべき基準パケット数N_baseは、以下の式によって予め求められる。通常は、送信パケット数N=N_baseである(306)。
N_base=(int)(M /pkt_pld) (式4)
また、端数F_racを以下の式によって計算し、毎F周期ごとに送信パケット数N=N_base+F_racとする(307)。
F_rac=(M%pkt_pld)*F/pkt_pld (式5)
ここで、(int)は整数を取ることを意味しており、%およびmodは剰余を得ることを意味している。なお、N_baseとF_racの計算は図5に関連して説明するようにバッファ状態受信処理部103において行われる。
この方式では、ある特定の周期で多くのパケットを送ってしまうため、周期Fを長くとると、端数が大きくなりすぎて送信レートが大きく変動してしまう。本システムでは、受信側において送信レートの測定を行なっているため、周期Fの取りかたを調整して、送信レートが大きく変動しないようにする必要がある。具体的には、F_racがpkt_pldに比べて大きくなりすぎないように、周期Fを取ればよい。
この他、端数の調整法としては、次のように周期の整数倍で、端数を分散させる方法もある。
(2)方式2(図4の405参照)
方式2では、端末通信処理部102は、送信すべきデータ量の端数を分散して調整するパケット数Nでパケットを送信する。パケット数Nは以下の式に基づいて決定する(図4の405)。
N=N_base+
((NOT(C mod 2)) && cycle[2])+
((NOT(C mod 4)) && cycle[4])+
((NOT(C mod 6)) && cycle[6])+
((NOT(C mod 8)) && cyc1e[8]) (式6)
ここで、N_baseは基準パケット数であり、前述のように、N_base=(int)M/pkt_pldである。NOTは否定を意味し、たとえば、(NOT(C mod 2))は、Cを2で割った剰余が0であれば1であり、そうでなければ0である。すなわち、Cが2の倍数かどうかがチェックされる。&&は論理和を意味し、たとえば、(A && B)は、Aが1であり、かつBが1である場合に1になる。cycle[]はどの周期でパケットを1つ増加させるかを決める配列変数である。本実施例では、10msに一度、規定数のパケットを送信するが、10msのn倍の周期にパケットを増やしたい場合にcycle[n]=1とする。たとえば、2倍の周期で1パケット増やすのであればcycle[2]=1とし、4倍の周期で1パケット増やすのであればcycle[4]=1とし、6倍の周期ではパケットを増やさないのであればcycle[6]=0とする。なお、N_baseの計算およびcycle[]のセットは図6に関連して説明するようにバッファ状態受信処理部103において行われる。
式6において、基準パケット数以下の項は、送信レートを細かく調整するための工夫で、たとえば、基準パケット数を241としたとき、1周期平均241.5パケットを送信したければ、第2項のcycle[2]を1に設定すればよい。カウンタCが偶数の時に第2項の値は1となり、パケットが基準パケット数よりも1つ余に送信され、奇数のときは基準パケット数だけ送信される。これが交互に繰り返されるため、平均241.5パケット/周期が実現できる。同様に第3項は、カウンタCが4の倍数のときだけパケットを送信するための工夫で、1周期あたり0.25パケットだけ送信レートが上乗せになる。以下同様にして、送信レートを細かく調整する。
次に端末通信処理部102のリカバリーモードについて説明する。リカバリーモードとは、送信レートと受信側の映像再生レートが一致しているとき、受信側バッファ量が目標値よりも大きく外れている場合に、その補正を行なうモードである。受信側の映像処理速度と送信側のデータ送信速度がほぼ一致しており、バッファ使用量の変化がない(あらかじめ決めた基準内に収まっている)ときバッファ使用量を目標量に近づけるためのモードである。このモードに入っている間は、バッファ使用量の目標量に対する不足分(あるいは超過分)に対応するデータ量だけ、パケットを増やす(あるいは減らす)ことによって、バッファ量が目標値に一致するようにする。この調整により、システムの負荷増大等によりバッファ量が大きく変動してもパケットが消失しないようにできる。なお、このモードの間はバッファ量は当然に大きく変化するので、変化率の測定結果は無視する。なお、リカバリーモードに入るかどうかはバッファ状態受信処理部103が決定するが、この点については後述する。端末通信処理部102は、リカバリーモードがセットされている時には、受信バッファの使用量の目標値と現在の受信バッファの使用量の差分に基づいて、毎周期ごとにパケット数を増減する。
以下、リカバリーモードがセットされている時の端末通信処理部102の動作を図3、図4を用いて説明するが、その前に、ここで用いられる変数について説明する。ADDは、使用バッファの目標量と現在の使用バッファ量との差分のデータ量を示す変数で、パケットを単位とする。ADJは、パケットの増減に関する変数で、その周期(10ms)において、パケットを減らすのであれば−1、増やすのであれば1を代入し、送信パケット数Nを調整する。
図3、図4に示すように、もしもリカバリーモードにはいっていれば(303、403でYes)、以下の処理を行なう。変数ADD>0であれば(311、411でYes)、ADDから1を減算し、ADJ=1と設定する(312、412)。変数ADD<0であれば(313、413でYes)、ADDに1を加算し、ADJ=−1と設定する(314、414)。次に、送信パケット数NにADJを加える(315〜316、415)。もし、ADDがゼロになっていれば(318、418でYes)、リカバリーモードを解除する(319、419)。
すなわち、リカバリーモードに入ると、使用バッファ量の目標値と現在のバッファ量との差分のデータ量をパケットを単位とする変数ADDに格納し、使用バッファ量の目標値>現在のバッファ量であれば(ADD>0)、ADJ=1とし、使用バッファ量の目標値<現在のバッファ量(ADD<0)であれば、ADJ=−1として、毎周期にパケットを±1することによって、使用バッファ量の目標値に近づける。ADJは±2等であってもよく、システムへの負荷、ネットワークへの負荷等を考慮して決めればよい。
以上の処理の後、Nパケット分の映像データを映像パケット受信装置150側に送信し(320、420)、カウンタCに1加算する(321、421)。
図5、図6は、バッファ状態受信処理部103の動作を示した図である。図5は図3の方式1に対応しており、図6は図4の方式2に対応している。初期状態では、映像パケット受信装置150側からの状態通知パケット122を待っている(501、601)。状態通知パケットを受信すると、リカバリーモードに入っているかどうかをチェックし(502、602)、リカバリーモードであれば(502、602でYes)、直ちに、再び状態通知パケットの受信状態に入る(501、601)。このようにする理由は、リカバリーモード時の使用バッファ量の変化率を送信パケット数の決定に反映させないためである。
リカバリーモードに入っていなければ(502、602でNo)、状態通知パケットで通知された、バッファ量の変化率Rのチェックを行なう(503、603)。変化率Rが1フレーム分のデータ量の0.1%以上であれば(503、603でNo)、送信レートを変更する。方式1の場合は変化率を元に基準パケット数N_baseおよび端数F_racを計算し(504)、方式2の場合は変化率を元に基準パケット数N_baseを計算すると共に変化率を元に送出パケット数を決定する配列cycle[]を更新して(604)、映像の送信レートを変更し、状態通知パケットの受信状態に入る(501、601)。なお、本実施例では、503、603で1フレーム分のデータ量の0.1パーセントに収まっているかどうかを判断しているが、この数字は固定ではなく、1秒間に変化するライン数(1フレームは1125ライン)とすることもでき、バッファ量の変化について、どの程度の安定性を求めているかによって変わる値である。すなわち、バッファ状態受信処理部103は、変化率が予め決められた基準を外れた場合に、変化率に基づいて送信レートを変更すればよい。
504における基準パケット数N_baseおよび端数F_racの計算は、本実施例においては、前述の式2により変化率Rを元に送信すべきデータ量Mを計算し、このMを用いて前述の式4でN_baseを、前述の式5でF_racを計算することにより行う。604における基準パケット数N_baseの計算も同様である。604におけるcycle[]の決定については式6に関連して述べたことをアルゴリズムあるいはテーブルとして保持しておき、それを用いて決定すればよい。
バッファ状態受信処理部103がこのようにして設定した値を用いて、端末通信処理部102は、映像パケット受信装置150の受信バッファ151の変化率に基づいて調整されたパケット数のパケットを映像パケット受信装置150に送信する(図3、図4参照)。
変化率が1フレーム分のデータ量の0.1%未満であれば(503、603でYes)、変化率が既定の範囲(最大許容値と最小許容値の間)に収まっているかどうかを確認する(505、605)。もしも収まっていなければ(505、605でNo)、使用受信バッファ量の目標量と現在の瞬時値との値の差ADDを計算し(507、606)、リカバリーモードに入る(507、607)。再び、状態通知パケットの受信待ちに入る(501、601)。変化率が既定の範囲(最大許容値と最小許容値の間)に収まっていれば(505、605でYes)、直ちに状態通知パケットの受信待ちに入る(501、601)。
このようにして、バッファ状態受信処理部103は、映像パケット受信装置150の受信バッファ151の使用量の変化率が予め決められた基準内に収まり、受信バッファの使用量が目標値から外れている場合に、リカバリーモードをセットする。
次に、映像パケット受信装置150側のバッファ状態通知処理部152の動作について説明する。受信バッファ151の使用量の測定周期が高精度であれば、一回の測定でもある程度は正確な変化率を求めることが可能であるが、本システムでは、非リアルタイムオペレーティングシステムをベースとしたスケジューラを使っているため、この受信バッファ量の読み出し周期に変動が起こり、1周期の測定だけでは、変化率が正確には求められない。
そこで、瞬時値のデータをメモリに格納しておき、数周期から数十周期分のデータから、可能な限り正確な変化率を算出する。具体的には、(1)数秒毎に最小二乗法を用いて受信バッファ使用量の変化率を求める方法(方式3)、(2)数秒ごとに各周期の変化率の平均を求める方法(方式4)、(3)数秒ごとに、この期間の受信データ総量と描画された映像フレームの総量との差分を取り、変化率を求める方法(方式5)などの方法を用いる。
図7は、上記の(1)の方式(方式3)に基づいて、映像パケット受信装置150側のバッファ状態通知処理部152の動作を示したものである。初期状態では、映像フレームの受信を待っている(701)。フレームxを受信すると、直ちに受信バッファ使用量yをメモリ上の配列data[]に記録する(702、703)。これを既定の受信フレーム数n(例えば150フレーム=約5秒間)に到達するまで繰り返す(704)。次に、メモリ上の受信バッファ使用量を格納した配列data[]を元に、式7のように最小二乗法を用いて受信バッファ使用量の1フレームあたりの変化率を計算する(705)。これにより、ジッタの影響を少なくすることができる。この変化率と受信バッファ使用量の瞬時値とともに、映像パケット送信装置(ストリームサーバ)100側に通知し(706)、再びフレーム受信を待つ(701)。なお、式7において^2は2乗を意味する。
変化率 R=(nΣxy−ΣxΣy)/(nΣx^2−(Σx)^2) (式7)
n=150(サンプルしたデータ数)
x:フレーム番号
y:受信バッファ量の瞬時値
図8は、上記の(2)の方式(方式4)に基づいて、映像パケット受信装置150側のバッファ状態通知処理部152の動作を示したものである。初期状態では、映像フレームの受信を待っている(801)。フレームを受信すると、直ちに受信バッファの変化量zをメモリ上の配列data[]に記録する(802、803)。これを既定の受信フレーム数n(例えば150フレーム:約5秒間)に到達するまで繰り返した後(804でYes)、式8のように1フレームあたりの平均の変化率を計算し(805)、その変化率をこの時点の受信バッファ使用量の瞬時値とともに、映像パケット送信装置側に通知し(806)、再びフレーム受信を待つ(801)。
変化率 R=Σz/n (式8)
図9は、上記の(3)の方式(方式5)に基づいて、映像パケット受信装置150側のバッファ状態通知処理部152の動作を示したものである。初期状態では、映像フレームの受信を待っている(901)。フレームを受信すると、直ちに映像フレームサイズを変数xに加え、前回フレーム受信から今回までの間に受信したパケットサイズの合計を変数yに加える(902、903)。これを既定の受信フレーム数n(例えば150フレーム=約5秒間)に到達するまで繰り返した後(904でYes)、式9のように1フレームあたりの平均の変化率を計算し、x=y=0として(905)、その変化率をこの時点の受信バッファ使用量の瞬時値とともに、映像パケット送信装置側に通知し(906)、再びフレーム受信を待つ(901)。
変化率 R=(y−x)/n (式9)
以上説明した実施例においては、使用バッファ量の瞬時値だけでなく、その変化率も送ることで、正確に送信速度を調整することができるため、瞬時値だけを通知して送信パケット数を調整するアドホックな方法を取る場合に比べ、通知パケット数(通知メッセージ数)を減らすことができるので、ネットワークや送信装置にかける負担を減らすことができる。その効果は多重ストリーム環境で使う場合、特に顕著と考えられる。
すなわち、瞬時値だけを送信側に通知する場合、瞬時値が使用バッファ量の目標量より小さければ増速、大きければ減速といった、アドホックかつ単純な方法をとることで、使用バッファ量を目標値に近づけることも可能である。しかし、この大雑把な方法では、送信側に瞬時値を頻繁に通知しなければならないので、システムやネットワーク全体の負荷を増大させることになる。また、ネットワークには、伝送遅延という遅れ要素があるので、通知された瞬時値だけを元に送信速度を調整すると、どうしても発振してしまうことになる。
これに対して、本実施例では、送信速度と受信処理速度差をゼロにする、つまり使用バッファ量の変化率をゼロにすることで、送信速度を正確に補正する方法である。バッファ量の変化率は、データ転送の全期間にわたって、それほど大きな変動はないため、ゆらぎの大きい瞬時値よりも、変化率を元に補正したほうが、安定度の高い転送が望める。
この場合、正確な変化率を求める必要がある。使用バッファ量の変化率は、受信側で測定せず、通知された側(送信側)で、複数回の瞬時値の通知結果を元に計算することも可能であるが、これは要するに、受信側でやっている変化率計算処理を送信側にやらせることになるため、送信側処理の負荷があがり、瞬時値のデータ転送によりネットワークの負荷も(若干)上がる。
送信側は多重ストリームを扱わなければならないので、できるだけ1ストリームあたりの負荷を下げる必要があり、受信側にできることは全て受信側でやったほうが都合がいい。しかし、送信側の能力とネットワーク帯域に十分な余裕がある場合には、送信側で計算しても構わない。
以上のことから、本実施例では使用バッファ量の瞬時値およびその変化率を映像パケット受信装置150が映像パケット送信装置100に送信するが、一般には、映像パケット受信装置150の受信バッファ151の状態に関する通知を、映像パケット受信装置150が映像パケット送信装置100に送り、映像パケット送信装置100のバッファ状態受信処理部103がその通知を受信し、擬似リアルタイムスケジューラ部101が周期的に端末通信処理部102を起動し、端末通信処理部102が擬似リアルタイムスケジューラ部101によって起動される各周期において、バッファ状態受信処理部103が受信したその通知に基づいて調整されたパケット数のパケットを映像パケット受信装置150に送信すればよい。
以上に説明した実施例の映像パケット送信装置および映像パケット受信装置はコンピュータと記憶装置に記憶されたプログラムによって実現することができる。また、そのプログラムの一部または全部をハードウェアで実現してもよい。
以上、本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
実施例の全体図 疑似リアルタイムスケジューラ部101の動作 端末通信処理部102の動作(方式1) 端末通信処理部102の動作(方式2) バッファ状態受信処理部103の動作(方式1) バッファ状態受信処理部103の動作(方式2) バッファ状態通知処理部152の動作(方式3) バッファ状態通知処理部152の動作(方式4) バッファ状態通知処理部152の動作(方式5)
符号の説明
100…映像パケット送信装置、101…疑似リアルタイムスケジューラ部、102…端末通信処理部、103…バッファ状態受信処理部、104…ディスク装置、105…ネットワークインタフェース、106…Linuxカーネル、150…映像パケット受信装置、151…受信バッファ、152…バッファ状態通知処理装置、120…パケット網、121…動画ストリーム、122…状態通知パケット

Claims (10)

  1. パケット網を介してパケット受信装置にストリームデータを送信するパケット送信装置であって、
    前記パケット受信装置の受信バッファの状態に関する通知を前記パケット受信装置から受信するバッファ状態受信処理部と、
    周期的に端末通信処理部を起動するスケジューラ部と、
    前記スケジューラ部によって起動される各周期において、前記バッファ状態受信処理部が受信した前記通知に基づいて調整されたパケット数のパケットを前記パケット受信装置に送信する端末通信処理部と、
    を備えるパケット送信装置。
  2. 請求項1に記載のパケット送信装置であって、
    前記通知は前記パケット受信装置の受信バッファの使用量の変化率を含み、
    前記端末通信処理部は、前記変化率に基づいて調整されたパケット数のパケットを前記パケット受信装置に送信するパケット送信装置。
  3. 請求項2に記載のパケット送信装置であって、
    前記バッファ状態受信処理部は、前記変化率が予め決められた基準を外れた場合に、前記変化率に基づいて送信レートを変更するパケット送信装置。
  4. 請求項1ないし3のうちいずれか1項に記載のパケット送信装置であって、
    前記端末通信処理部は、予め定められた周期ごとに、送信すべきデータ量の端数を調整するパケット数でパケットを送信するパケット送信装置。
  5. 請求項1ないし3のうちいずれか1項に記載のパケット送信装置であって、
    前記端末通信処理部は、送信すべきデータ量の端数を分散して調整するパケット数でパケットを送信するパケット送信装置。
  6. 請求項1ないし5のうちいずれか1項に記載のパケット送信装置であって、
    前記通知は前記パケット受信装置の受信バッファの使用量とその変化率を含み、
    前記バッファ状態受信処理部は、前記パケット受信装置の受信バッファの使用量の変化率が予め決められた基準内に収まり、受信バッファの使用量が目標値から外れている場合に、リカバリーモードをセットし、
    前記端末通信処理部は、リカバリーモードがセットされている時には、受信バッファの使用量の目標値と現在の受信バッファの使用量の差分に基づいて、毎周期ごとにパケット数を増減するパケット送信装置。
  7. 請求項1ないし6のうちのいずれか1項に記載のパケット送信装置からパケット網を介してストリームデータを受信するパケット受信装置であって、
    前記パケット送信装置から受信したデータを一時的に蓄える受信バッファと、
    前記受信バッファの状態に関する通知を前記パケット送信装置に送信するバッファ状態通知処理部と、
    を備えるパケット受信装置。
  8. 請求項1ないし6のうちいずれか1項に記載のパケット送信装置と請求項7に記載のパケット受信装置を有するシステム。
  9. 請求項1ないし6のうちのいずれか1項に記載のパケット送信装置のためのプログラムであって、
    前記バッファ状態受信処理部と前記スケジューラ部と前記端末通信処理部としてコンピュータを機能させるためのプログラム。
  10. 請求項7に記載のパケット受信装置のためのプログラムであって、
    前記バッファ状態通知処理部としてコンピュータを機能させるためのプログラム。

JP2005367814A 2005-12-21 2005-12-21 パケット送信装置、受信装置、システム、およびプログラム Active JP4456064B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005367814A JP4456064B2 (ja) 2005-12-21 2005-12-21 パケット送信装置、受信装置、システム、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005367814A JP4456064B2 (ja) 2005-12-21 2005-12-21 パケット送信装置、受信装置、システム、およびプログラム

Publications (2)

Publication Number Publication Date
JP2007174170A true JP2007174170A (ja) 2007-07-05
JP4456064B2 JP4456064B2 (ja) 2010-04-28

Family

ID=38300162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005367814A Active JP4456064B2 (ja) 2005-12-21 2005-12-21 パケット送信装置、受信装置、システム、およびプログラム

Country Status (1)

Country Link
JP (1) JP4456064B2 (ja)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011259408A (ja) * 2010-05-10 2011-12-22 Panasonic Corp 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
JP2012520010A (ja) * 2009-03-06 2012-08-30 アスペラ,インク. I/o駆動の速度適応のための方法およびシステム<関連出願>本出願は、2009年3月6日に出願された仮出願シリアル番号61/158,000に対する優先権を主張し、かつこの出願を参照によって組み込む。この出願はまた、以下の出願の明細書の全体に関連し、かつこれらを参照によって組み込む。以下の出願とは、すなわち、2005年12月23日に出願され“bulkdatatransfer”とタイトルされた米国特許出願11/317,663、および、2007年9月4日に出願され“methodandsystemforaggregatebandwidthcontrol”とタイトルされた米国特許出願11/849,782である。
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
WO2019138520A1 (ja) * 2018-01-11 2019-07-18 富士通株式会社 無線通信システム、端末、通信方法、制御装置、無線装置およびユーザデータ処置装置

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US9236887B2 (en) 2004-05-07 2016-01-12 Digital Fountain, Inc. File download and streaming system
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9628536B2 (en) 2006-06-09 2017-04-18 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9276865B2 (en) 2009-03-06 2016-03-01 International Business Machines Corporation Method and system for I/O driven rate adaptation
JP2012520010A (ja) * 2009-03-06 2012-08-30 アスペラ,インク. I/o駆動の速度適応のための方法およびシステム<関連出願>本出願は、2009年3月6日に出願された仮出願シリアル番号61/158,000に対する優先権を主張し、かつこの出願を参照によって組み込む。この出願はまた、以下の出願の明細書の全体に関連し、かつこれらを参照によって組み込む。以下の出願とは、すなわち、2005年12月23日に出願され“bulkdatatransfer”とタイトルされた米国特許出願11/317,663、および、2007年9月4日に出願され“methodandsystemforaggregatebandwidthcontrol”とタイトルされた米国特許出願11/849,782である。
US9419907B2 (en) 2009-03-06 2016-08-16 International Business Machines Corporation I/O driven rate adaptation
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9876607B2 (en) 2009-08-19 2018-01-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9660763B2 (en) 2009-08-19 2017-05-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US11770432B2 (en) 2009-09-22 2023-09-26 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US11743317B2 (en) 2009-09-22 2023-08-29 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US10855736B2 (en) 2009-09-22 2020-12-01 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9510003B2 (en) 2010-05-10 2016-11-29 Panasonic Intellectual Property Management Co., Ltd. Moving picture coding device, moving picture coding method, and moving picture coding program
JP2011259408A (ja) * 2010-05-10 2011-12-22 Panasonic Corp 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9992555B2 (en) 2010-06-29 2018-06-05 Qualcomm Incorporated Signaling random access points for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9602802B2 (en) 2010-07-21 2017-03-21 Qualcomm Incorporated Providing frame packing type information for video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
WO2019138520A1 (ja) * 2018-01-11 2019-07-18 富士通株式会社 無線通信システム、端末、通信方法、制御装置、無線装置およびユーザデータ処置装置

Also Published As

Publication number Publication date
JP4456064B2 (ja) 2010-04-28

Similar Documents

Publication Publication Date Title
JP4456064B2 (ja) パケット送信装置、受信装置、システム、およびプログラム
US10044466B2 (en) Server-side adaptive bit rate control for DLNA HTTP streaming clients
US7016970B2 (en) System for transmitting stream data from server to client based on buffer and transmission capacities and delay time of the client
JP4857379B2 (ja) ストリーミングデータのサービス品質を強化するための予測的フレームドロッピング
KR101699870B1 (ko) 플레이백 레이트 선택에 의한 개선된 dash 클라이언트 및 수신기
CN106686438B (zh) 一种跨设备的音频图像同步播放的方法、装置及系统
EP2798850B1 (en) Apparatus and method for synchronized transmission of multimedia content over an asynchronous network
EP1185043B1 (en) Streaming data transfer system and repeater therefor
US20090089447A1 (en) Proxy-driven content rate selection for streaming media servers
US20100235536A1 (en) Streaming media buffering system
EP3062517A2 (en) Multi-bitrate video with dynamic blocks
US8347189B2 (en) Data transmission system, program and method
KR20140130212A (ko) 다운로드 레이트 평가기를 갖는 개선된 dash 클라이언트 및 수신기
US20080148327A1 (en) Method and Apparatus for Providing Adaptive Trick Play Control of Streaming Digital Video
JP2006345582A (ja) メディアデータをストリーミングする方法、システム及びクライアント装置
WO2012006744A1 (en) A system and method for transmission of data signals over a wireless network
US20200014963A1 (en) Latency improvement via frame latency feedback
KR20140025572A (ko) 다중경로 레이트 적응
US9282134B2 (en) Content delivery system
CN110913245A (zh) 一种控制视频转码码率的方法和装置
CN107154918A (zh) 基于pid控制的视频直播传输控制方法及系统
KR20230002784A (ko) 오디오 및/또는 비디오 콘텐츠 전송을 위한 방법 및 서버
JPH10336626A (ja) 映像データの転送方法および転送装置
KR20080012920A (ko) 무선 통신 디바이스의 적응적 폴링을 위한 방법 및 장치
JP2009188735A (ja) 動画データ配信装置、動画データ配信システム、動画データ配信方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091222

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100202

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100204

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

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4456064

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350