JP4173755B2 - データ伝送サーバ - Google Patents

データ伝送サーバ Download PDF

Info

Publication number
JP4173755B2
JP4173755B2 JP2003080653A JP2003080653A JP4173755B2 JP 4173755 B2 JP4173755 B2 JP 4173755B2 JP 2003080653 A JP2003080653 A JP 2003080653A JP 2003080653 A JP2003080653 A JP 2003080653A JP 4173755 B2 JP4173755 B2 JP 4173755B2
Authority
JP
Japan
Prior art keywords
packet
transmission
data
rate
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.)
Expired - Fee Related
Application number
JP2003080653A
Other languages
English (en)
Other versions
JP2004289621A (ja
Inventor
篤史 一木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003080653A priority Critical patent/JP4173755B2/ja
Publication of JP2004289621A publication Critical patent/JP2004289621A/ja
Application granted granted Critical
Publication of JP4173755B2 publication Critical patent/JP4173755B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、データの伝送システムに関し、特に符号化メディアデータをベストエフォートのインターネット網や無線伝送路で伝送するサーバに関する。
【0002】
【従来の技術】
従来からインターネット網等のベストエフォートの伝送路環境でストリーミングやビデオ電話等により、動画像データを伝送してきた。この動画像データの伝送には、UDP(User Datagram Protocol)と呼ばれるリアルタイム性を重視したプロトコルが多く使われる。
【0003】
しかし、UDPは、HTTP等で使用されるTCP(Transport Control Protocol)のように、クライアント側からのフィードバック情報を利用して送信レートを変化させる機構を備えていない。そのために、UDPのトラフィックが増加すると伝送路の帯域を占有する現象がしばしば起こっていた。
【0004】
一方、UDPと同じくリアルタイム性を重視するプロトコルとして、RTP(Real−time Transport Protocol)がある。このRTPは、一定の間隔でクライアント側からRTCP(RTP Control Protocol)と呼ばれる伝送品質をフィードバックする機構を備える。そのため、現在では、このRTCPを利用して送信レートを制御するシステムが増加している。
【0005】
このような技術として、データをパケット化し、ネットワークに送信するサーバが、クライアントから送信される受信状況に基づいて送信レートを決定しデータを送信するデータ通信装置が提供されている(特許文献1参照。)。
【0006】
しかしながら、RTCP等のフィードバック情報を利用して送信レートを制御するシステムでは、伝送している動画像の品質が著しく低下する虞があった。つまり、TCPやRTP等他のトラフィックが伝送路上に混在する状態で、サーバが送信レートを増加したとき、輻輳(congestion)によってパケット損失が発生する。そのため、伝送している動画像の品質が著しく低下する。
【0007】
【特許文献1】
特開2001−144802号公報(要約書)。
【0008】
【発明が解決しようとする課題】
本発明は、このような従来技術の問題に鑑みてなされたものである。すなわち、本発明が解決しようとする課題は、冗長符号を送信する前後において伝送路に変化がないと判断した場合に、レート増加分をデータに置き換えて送信することができるデータ伝送サーバを提供することである。
【0009】
【課題を解決するための手段】
本発明は、上記課題を解決するために以下の手段を採用した。
【0010】
本発明に係るサーバは、ネットワークを介して端末にデータを送信するデータ送信手段と、前記データの伝送誤りを抑制する冗長符号を送信する冗長符号送信手段と、前記端末からフィードバック情報を受信する受信手段と、前記フィードバック情報に基づいて送信レートの増減を判断する判断手段と、前記判断手段が送信レートを増加すると判断した場合に前記冗長符号の増加により送信レートを増加するレート増加手段とを備えることを特徴とする。
【0011】
送信レートを増加する場合、例えば輻輳が発生する可能性がある。このような構成にすると、送信レートの増加分を冗長符号で構成することによって伝送路の変化を探査できる。そのため、送信レートを増加した時にデータ損失が発生したとしても、伝送するデータの伝送誤りを抑えることができる。
【0012】
また、本発明のサーバは、前記冗長符号を送信する前後において伝送路の状況を比較する比較手段と、前記比較手段が伝送路の状況に変化がないと判断した場合に、増加した前記冗長符号に換えて前記データ送信部から送信するデータを増加させるデータ増加手段とをさらに備えてもよい。また、本発明のサーバは、前記比較手段が伝送路の状況が悪化したと判断した場合に前記冗長符号の送信を停止する停止手段をさらに備えてもよい。
【0013】
このような構成にすると、冗長符号を送信する前後において伝送路の状況に変化がないと判断した場合に、レート増加分をデータに置き換えて送信することができる。一方、冗長符号を送信する前後において伝送路の状況に悪化したと判断した場合に、以前の状態、つまりレート増加分の冗長符号を除いた状態に戻すことができる。
【0014】
また、本発明のサーバは、前記比較手段が前記フィードバック情報に基づいて冗長符号を送信する前後における伝送路の状況を比較してもよい。そして、フィードバック情報はパケット損失率、パケットが到着した間隔に関する情報、あるいはラウンドトリップ時間を含んでもよい。
【0015】
また、冗長符号はパケット間のパリティ情報を含むパケット間誤り訂正方式であってもよいし、冗長符号はデータの優先度に基づいて順番に生成されてもよい。
【0016】
このような構成にすると、伝送路においてパケット損失が発生したとしても、冗長化符号を利用して、損失したパケットを復元することが可能になる。
【0017】
また、例えば、MPEGデータにおけるイントラフレーム(Iフレーム)の冗長符号を優先的に生成したとする。イントラフレームを優先すると、送信レートを増加した時にパケット損失が発生した場合であっても画質劣化を最小限に抑えることができる。
【0018】
また、本発明は上記のようなプログラムを読み取り可能な記憶媒体に記憶したものであってもよい。
【0019】
【発明の実施の形態】
以下に図面を参照して、本発明の好適な実施の形態を説明する。
【0020】
図1は本発明の原理を示す図であり、図2は本実施の形態における伝送システムを示すブロック図である。図3はFECパケットの構成図であり、図4はRTPヘッダの構成図であり、図5はFECヘッダの構成図である。図6はFECパリティ情報の生成方法を示す図である。図7から図9はレート制御部の処理フローを示す図である。
<伝送システムの原理図>
図1を参照して、本発明の伝送システムの原理をメディアデータの流れとともに各構成要素の機能について説明する。
【0021】
この伝送システムは、ネットワーク20を介して接続されるサーバ10とクライアント30とを含む。ここでネットワーク20は、たとえば組織内で運営されるLAN、あるいは不特定多数のネットワークが結合したインターネットなどを含み、その形態について特定するものではない。
【0022】
まず、メディアデータが入力された後のサーバ10側の処理を説明する。
【0023】
サーバ10は、符号化部11、パケッタイザ12、データ送信部13、レート制御部14、フィードバック受信部15、スイッチ16、冗長符号生成部17、及び冗長符号送信部18を含む。
【0024】
符号化部11は、入力されたメディアデータを符号化する。そして、パケッタイザ12は、符号化データをパケット化し、ヘッダを付加する。データ送信部13は、ネットワーク20を経由してクライアント30に向けて、パケットとしてメディアデータを送信する。
【0025】
フィードバック受信部15は、クラインアント30からパケットとしてフィードバック情報を受信する。このフィードバック情報は、パケット損失率、ジッタ、及びパリティ情報の受信時刻などを含む。そして、このフィードバック情報は、伝送路上の輻輳(congestion)を察知するために利用される。
【0026】
そして、レート制御部14は、受信したフィードバック情報をもとに、送信レートを決定する。その後、レート制御部14は、決定された送信レートになるように、符号化部11、スイッチ16、冗長符号生成部17を制御する。ここで、レート制御部14は、送信レートを増加すると判断した場合には、スイッチ16に送信レートの増加制御を指示する。
【0027】
スイッチ16は、パケッタイザ12で生成された符号化データパケットを複製する。そして、スイッチ16は、複製した符号化データパケットを冗長符号生成部17に送る。この符号化データパケットは、冗長符号生成部17内のバッファ(図示せず)に記憶される。
【0028】
そして、冗長符号生成部17は、バッファ内の符号化データパケットが一定量蓄積されると、冗長符号としてパリティ情報を生成する。冗長符号送信部18は、このパリティ情報にヘッダを付加してパケットを生成する。そして、冗長符号送信部18は、ネットワーク20を経由してクライアント30に向けてパリティ情報を含む冗長符号を送信する。
【0029】
次に、クライアント30側の処理を説明する。
【0030】
クライアント30は、データ受信部31、データ復元部32、復号部33、表示部34、フィードバック情報生成部35、フィードバック情報送信部36、及び冗長符号受信部37を含む。
【0031】
データ受信部31は、ネットワーク20を経由して、パケットとしてメディアデータを受信する。そして、データ受信部31は、受信したメディアデータをデータ復元部32に送る。また、データ受信部31は、パケット損失やパケットの受信間隔(以下、ジッタという)を測定し、測定した情報をフィードバック情報生成部35に送る。
【0032】
データ復元部32はメディアデータを復元する。つまり、データ復元部32は、パケット損失があった場合には、冗長符号受信部37が受信したパリティ情報から損失したパケットを復元する。そして、復号部33は符号化されたパケットデータを復号する。その後、表示部34は復号したメディアデータを動画像として表示する。
【0033】
一方、冗長化符号受信部37は、冗長符号送信部18からパリティ情報を冗長符号として受信する。そして、冗長化符号受信部37は、パリティ情報をデータ復元部32に送る。また冗長符号受信部37は、パケット損失やパケットの受信間隔(以下、ジッタという)を測定し、測定した情報をフィードバック情報生成部35に送る。
【0034】
フィードバック情報生成部35は、データ受信部31と冗長符号受信部37とから送られる情報を受信する。この情報は、パケット損失率、ジッタ、またはパリティ情報の受信時刻などを含む。また、この情報をフィードバック情報という。このフィードバック情報は、伝送路上の輻輳(congestion)を察知するために必要な情報である。フィードバック情報生成部35はフィードバック情報からパケットを生成する。
【0035】
そして、フィードバック送信部36は、生成されたパケットを一定時間毎にサーバ10に送信する。その後、サーバ10はフィードバック受信部15でフィードバック情報をパケットとして受信する。
【0036】
次に、レート制御部14における送信レートの増加制御について説明する。まず、冗長符号送信部18は、送信レートの増加分を冗長符号として送信する。ここで、冗長符号送信部18が冗長符号を送信したデータ量に比例して、サーバ10の送信レートは増加する。一方、フィードバック情報受信部15は、クライアント30からフィードバック情報を受信する。
【0037】
そして、レート制御部14は、このフィードバック情報からネットワークの状況を判断する。つまり、レート制御部14は、冗長符号を送信して送信レートを増加させたことによるネットワークの伝送状況の変化を判断する。この伝送状況は、伝送路上の輻輳の有無や輻輳の割合などを意味する。
【0038】
レート制御部14は、ネットワークの状況に変化がないと判断した場合、今まで送信した冗長符号を符号化メディアデータに置き換えて、データ送信部13から符号化メディアデータを更に送信する。つまり、このような場合には、サーバ10は、送信レートの増加により、より多くの符号化メディアデータを送信できる。
【0039】
一方、レート制御部14は、ネットワークの状況に変化があったと判断した場合、冗長符号の送信を停止する。このような場合には、サーバ10が送信するメディアデータのデータ量は変化しない。
【0040】
ところが、送信レートを増加したことにより輻輳が発生し、メディアデータのパケット損失が生じる場合がある。そのためにメディアデータの品質が劣化するおそれがある。このような場合でも、クライアント30は、送信した冗長符号を利用して損失したパケットを復元できる。そのため、送信レートを増加したことによりパケット損失が生じたとしても、メディアデータの品質の劣化を抑えることができる。
【0041】
本実施の形態において、冗長符号は、複数のパケット間でパリティ情報を付加することができるパケット間FEC(Forward Error Correction)方式とする。FECパケットについては図6で説明する。
【0042】
また、本伝送システムは、符号化メディアデータの符号化方式に従って優先順位をつけることがきる。そして、伝送システムは、その順位に従って符号化メディアデータのパリティ情報の生成頻度を制御してもよい。
【0043】
このようにパリティ情報を生成すると、送信レートを増加した際に輻輳が発生したとしても、優先的にFECパケットを割り当てて復元することができる。そのため、メディアデータ内の優先的な情報から順番に劣化を抑えることができる。
<FECパケットの構成図>
FECパケット21は、RTPヘッダ22、FECヘッダ23、FECリカバリ24から構成される。また、RTPヘッダ22は、RTPの制御用のデータである。そして、FECヘッダ23は、FECの制御用のデータである。FECリカバリ24には、図6に示すRTPパケットのパリティ情報が含まれる。
【0044】
このFECパケットのフォーマットは、インターネット(IP/UDP)網におけるパケット間FECの定義(RFC2733:“An RTP Payload Format for Generic Forward Error Correction”)に従う。RFC2733では、複数のRTPパケットに対して、パケット全体のパリティを計算したFECパケットを設ける。こうすることによって、パケット損失が生じた時にFECパケットを使って損失したパケットを復元する。
【0045】
サーバ10は、送信レートを増加するとき、メディアデータの送信に先駆けて、冗長符号としてFECパケット21を送信する。そして、送信レートを増加した場合の伝送路の輻輳状態を察知するためFECパケット21は利用される。
【0046】
次に図4を参照して、RTPヘッダ22の構成を説明する。RTPヘッダ22は、VERフィールド40、Pフィールド41、Xフィールド42、CCフィールド43、Mフィールド44、PTフィールド45、Sequence Number フィールド46、Time Stampフィールド47、SSRCフィールド48、及びCSRCフィールド49から構成される。このRTPヘッダ22は、RTP制御のため、FECパケットやメディアデータの符号化パケットに付加される。
【0047】
2ビットのVERフィールド40は、RTPバージョン番号を示す。現在は、バージョン2である。各パケットはこのVERフィールドで始まる。Pフィールド41は、1ビットのパディングビットを含む。このバディングビットには、パケットの最後がパディングされているかを示す。
【0048】
Xフィールド42は、1ビットのエクステンションビットを含む。このエクステンションビットは、RTPヘッダの直後に拡張ヘッダを持つ場合には「1」となる。CC(CSRCカウント)フィールド43は、CSRC(寄与送信元識別子)の数を示す。
【0049】
Mフィールド44は、1ビットのマーカービットを含む。このマーカービットは、アプリケーションデータの境界を示す。7ビットのPTフィールド45は、ペイロードタイプのアプリケーションデータの符号化方式を示す。16ビットのSequence Numberフィールド46は、パケットのシーケンス番号を含む。このシーケンス番号は、パケットの送信順に割り振られる。
【0050】
Time Stampフィールド47は32ビットの値であり、このパケットの先頭バイトが送信された時刻を示す。SSRC(同期送信元識別子)フィールド48は、32ビットの値であり、パケットの送信元を示す。CSRC(寄与送信元識別子)フィールド49は、混合されたストリームの同期を示す。このCSRCフィールド49は可変長である。
【0051】
次に図5を参照して、FECヘッダの構成を説明する。FECヘッダ22は、SN Baseフィールド50、Length recoveryフィールド51、PT recoveryフィールド53、Maskフィールド54、及びTS recoveryフィールド55から構成される。FECヘッダは、FECリカバリのパリティ情報を制御するために付加される。
【0052】
SN Baseフィールド50は、FEC処理の対象となるRTPパケットのシーケンス番号のオフセットを示す。Length recoveryフィールド51は、RTPパケットの長さのパリティ情報を示す。Eフィールド52は、ヘッダの拡張を示す。PT recoveryフィールド53は、ペイロードタイプのパリティ情報を示す。Maskフィールド54は、FEC処理の対象となるRTPパケットの番号を示す。TS recoveryフィールド55は、タイムスタンプのパリティ情報を示す。
<伝送システムのブロック図>
本実施の形態として、MPEG−4の動画像符号データをRTP・RTCPを用いて伝送する場合について図2を参照して説明する。図2は本実施の形態の伝送システムのブロック図である。
【0053】
この伝送システムは、インターネット網200を介して接続されるサーバ100とクライアント300との間で、RTP・RTCPを用いてデータを伝送する。なお、RTCPには、サーバ100からクライアント300に送信されるSender Report(SR)と、クライアント300からサーバ100に送信されるReceiver Report(RR)がある。
【0054】
まず、動画像データが入力された後のサーバ100側の処理を説明する。
【0055】
サーバ100は、MPEG−4符号化部101、パケッタイザ102、RTP送信部103、レート制御部104、SR送信部105、RR受信部109、スイッチ106、FEC生成部107、FEC送信部108、及びRR送信部109を含む。
【0056】
MPEG−4符号化部101は、入力された動画像データを符号化する。
【0057】
そして、パケッタイザ102は、符号化されたデータをパケット化し、図4に示すRTPヘッダを付加する。
【0058】
RTP送信部103は、インターネット網200を経由してクライアント300に向けて、符号化データパケットとして、動画像データを送信する。
【0059】
次に、クライアント300側の処理を説明する。クライアント300は、RTP受信部301、データ復元部302、MPEG−4復号部303、表示部304、フィードバック情報生成部305、SR受信部306、FEC受信部307、及びRR送信部308を含む。
【0060】
RTP受信部301は、インターネット網200を経由して、符号化データパケットを受信する。そして、RTP受信部301は、受信した符号化データパケットをデータ復元部302に送る。また、RTP受信部301は、図4に示すRTPヘッダのシーケンス番号46を参照して、パケット損失やジッタを測定し、測定した情報をフィードバック情報生成部305に送る。
【0061】
データ復元部302は符号化データパケットを復元する。つまり、パケット損失があった場合には、データ復元部302は損失したパケットを復元する。そして、MPEG−4復号部303は符号化されたパケットデータを復号する。その後、表示部304は復号したデータを動画像として表示する。
【0062】
次にフィードバック情報の生成、送信、及び受信、並びに送信レートの制御について説明する。本実施の形態では、サーバ100はRR受信部109でRRパケットを受信したときに送信レートを制御する。
【0063】
まずクライアント300は、パケット損失率、ジッタ情報、及びSRパケット情報をもとに、フィードバック情報生成部305で、RRパケットを生成する。このパケット損失率とジッタ情報は、FECパケット21を受信するFEC受信部307とRTPパケット21を受信するRTP受信部301とから送られる。なお、SRパケット情報は、サーバ100から一定時間毎に送信されるSRパケットを受信した時刻等である。そして、この受信時刻は、サーバ100側でランドトリップ時間を算出する際に用いられる。SRパケット及びRRパケットのフォーマットは、RFC(Request For Comments)1889に記載のフォーマットに従う。このRFC1889は、IETF(The Internet Engineering Task Force)で記載されている。
【0064】
そして、クライアント300は、フィードバック情報として、RRパケットをサーバ100に送信する。
【0065】
一方、サーバ100は、RR受信部109でRRパケットを受信した場合、フィードバック情報をもとに、ラウンドトリップ時間を計算する。このラウンドトリップ時間は、サーバ100側でのSRパケットの送信時刻とRRパケットの受信時刻、及びクライアント300側でのSRパケット受信からRRパケット送信までの時間から計算できる。
【0066】
本実施の形態では、レート制御部104は、このラウンドトリップ時間とパケット損失率に基づいて送信レートを制御する。
【0067】
次に、パケット損失率とラウンドトリップ時間に従ったレート制御部104での送信レートの制御について説明する。レート制御部104は、パケット損失率が所定の閾値(例えば、5%)を越えた場合、またはラウンドトリップ時間が所定の閾値(例えば、200ms)を越えた場合には、送信レートを減少する。
【0068】
一方、レート制御部104は、パケット損失率とラウンドトリップ時間の両方が、閾値以下の場合には、送信レートを増加する。
【0069】
また、レート制御部104は、パケット損失率が閾値以下でラウンドトリップ時間が閾値を越えた場合には、送信レートを固定する。つまりレート制御部104は、送信レートを現状のままにする。
【0070】
次に、レート制御部104が送信レートを増加すると判断した場合の処理について説明する。レート制御部104は、伝送路上の輻輳の割合をもとに判断する。
【0071】
まず、サーバ100は、送信レートの増加分として冗長符号を送信する。ここで、送信される冗長符号のフォーマットは、インターネット(IP/UDP)網におけるパケット間FEC(RFC2733:“An RTP PayloadFormat for Generic Forward Error Correction”)を利用する。RFC2733では、複数のRTPパケットに対して、パケット全体のパリティを計算したFECパケットを設ける。こうすることによって、パケット損失が生じた時にFECパケットを使って損失したパケットを復元することができる。また、RFC2733では、最低24パケットのRTPパケットに1パケットの割合でFECパケットを付加することを推奨している。
【0072】
そして、レート制御部104は、送信レートを増加する判断をした後、FECパケットの生成をスイッチ106に指示する。スイッチ106は、パケッタイザ102で生成される符号化データパケットを複製する。そして、スイッチ106はFEC生成部107内のFEC生成用バッファ(図示せず)に複製したパケットを送る。
【0073】
FEC生成部107は、複製したFECパケットがFEC生成用バッファに所定量(例えば24パケット)蓄積されると、パリティ情報を生成する。また、レート制御部104は、符号化データパケットについて優先度を与え、FEC生成部107に指示する。
【0074】
FEC生成部107は、この優先度に従ってパリティ情報を生成する。この優先度は、例えば符号化データパケットのIフレームとPフレームの割合を7対3とすることができる。ここで各パケットがI・Pフレームのどちらを含むかは、MPEG−4のビデオパケットヘッダのヘッダエクステンションコード内のvop_coding_typeを参照することで認識できる。また、このパリティ情報は、図6に示すように、優先度に従って選択された各RTPパケットについて、ビット単位で排他的論理和を求めることにより生成できる。
【0075】
そして、FEC送信部108は、生成されたパリティ情報に図5に示すようなFECヘッダ23を付加する。さらにFEC送信部108は、RTPヘッダ22を付加して、図4に示すようなFECパケット21を生成する。
【0076】
なお、符号化データバケットの数は、最大でデータパケットと同数である。その場合には、データパケットと同一のFECパケット21が生成され、同一パケットが2度送信される。
【0077】
一方、クライアント300側では、図2に示すFEC受信部307でFECパケット21を受信し、データ復元部302に送る。
【0078】
データ復元部302は、FECパケット21の中から優先度に応じて選択されたパケットの損失を判断する。ここで、データ復元部302は、損失したパケットが「0」、または「2パケット」以上であると判断した場合は、データ復元処理を行わずに復号部303に送る。
【0079】
一方、データ復元部302は、損失したパケットが「1パケット」であると判断した場合には、FECパケット21を使って、損失したパケットを復元する。その後、データ復元部302は、符号化データをMPEG−4復号部303に送る。
【0080】
RTP受信部301は、受信したRTPパケットの損失率を算出し、フィードバック情報生成部305に送る。また、FEC受信部307は、受信したFECパケット21の損失率を算出し、フィードバック情報生成部305に送る。
【0081】
フィードバック情報生成部305は、RRパケットを生成し、RR送信部308からサーバ100にRRパケットを送信する。
【0082】
次に、サーバ100側では、RR受信部109で受信したRRパケットからパケット損失率を取得し、ラウンドトリップ時間を計算する。
【0083】
そして、レート制御部104は、パケット損失率とラウンドトリップ時間を使って、レートの増減の判断を行う。
【0084】
レート制御部104は、送信レートを増加すると判断した場合には、FECパケットの生成を中止することをスイッチ106に対して指示する。ここで、サーバ100は、FECパケット21の送信を停止する。
【0085】
また、レート制御部104は、FECパケット21の増加分に相当する符号化データを送信することをMPEG−4符号化部101に対して指示する。ここで、MPEG−4符号化部101は符号化レート増加するため、サーバ100は増加した送信レートでMPEG−4データを送信することができる。
【0086】
一方、レート制御部104は、送信レートを減少すると判断した場合には、符号化パケットデータをFEC生成部107に送ることを中止することをスイッチ106に対して指示する。この場合には、レート制御部104は、符号化レート減少をMPEG−4符号化部101に指示しない。
<パリティ情報の生成方法>
図6を参照して、RTPパケットのパリティ情報を生成する方法について説明する。
【0087】
サーバは、損失したパケットを復元するため、パケット化されたMPEG−4データについてのパリティ情報を生成する。このパリティ情報は、サーバ100のFEC生成部107で生成される。
【0088】
ここで生成されたパリティ情報は、FECパケット21として、クライアントに送信される。このFECパケット21のフォーマットは、インターネット(IP/UDP)網におけるパケット間FEC(RFC2733:“An RTP Payload Format for Generic Forward Error Correction”)に従う。RFC2733では、複数のRTPパケットに対して、パケット全体のパリティを計算したFECパケット21を設ける。こうすることによって、パケット損失が生じた時にFECパケット21を使って損失したパケットを復元する。
【0089】
そして、FECパケット21を受信したクライアントは、パリティ情報をもとに、MPEG−4データを復元する。
【0090】
本実施の形態では、FECパケット21は、RTPパケット1からRTPパケット4についてのパリティ情報を有する。
【0091】
FECパケット21の1ビット目(F1)は、各RTPパケットの1ビット目(a1、b1、c1、d1)の排他的論理和を求めることにより生成できる。同様にして、それぞれのビット毎にRTPパケットの排他的論理和をとることにより、FECパケット21は生成できる。
【0092】
ここで、RTPパケット3が損失した例について説明する。
クライアントは、受信したRTPパケット(a1、b1、d1)とFECパケット(F1)を使って、排他的論理和が一致するようにすることによって、RTPパケット3(c1)を復元することができる。同様にして、クライアントはRTPパケット3(c2〜c5)を復元できる。
<レート制御部の処理フロー>
図7を参照して、レート制御部の処理を説明する。図7は、レート制御部104の処理フローを示す図である。
【0093】
サーバ100は、クライアント300からフィードバック情報(RR)を受信する(S701)。そして、レート制御部104は、パケット損失率が閾値1より小さいか、ランドトリップ時間が閾値2より小さいかを判断する(S702)。
【0094】
S702で、レート制御部104は、パケット損失率及びランドトリップ時間がともに閾値より小さいと判断した場合、スイッチ106を「ON」にする(S703)。ここで、スイッチ106を「ON」にするとは、FECパケット21を生成する制御を意味する。
【0095】
そして、レート制御部104は、FEC生成部107に対して送信レートの上昇幅、優先比率を通知する(S704)。そして、FEC生成部107は、FECパケット21を生成する(S705)。そして、FEC送信部108は、FECパケット21をクライアント300へ送信する(S706)。
【0096】
一方S702で、パケット損失率及びランドトリップ時間の一方または両方が閾値以上であると判断した場合、レート制御部104は、符号化レートを固定または減少させる(S707)。
【0097】
次に図8を参照して、FECパケット21送信後に伝送路の状況に変化がなかった場合のレート制御部の処理を説明する。図8は、レート制御部104の処理フローを示す図である。
【0098】
サーバ100は、クライアント300からフィードバック情報(RR)を受信する(S801)。このフィードバック情報は、FECパケット21により送信レートが増加した場合の輻輳の割合に関する情報を含む。
【0099】
そして、レート制御部104は、パケット損失率が閾値1より小さいか、ランドトリップ時間が閾値2より小さいかを判断する(S802)。
【0100】
S802で、レート制御部104は、パケット損失率及びランドトリップ時間がともに閾値より小さいと判断した場合、スイッチ106を「OFF」にする(S803)。スイッチ106は、FECパケット21の生成を中止する。つまり、サーバ100はFECパケット21の送信を停止する。
【0101】
そしてレート制御部104は、MPEG−4生成部101に符号化レートの上昇を指示する(S804)。ここで、MPEG−4符号化部101は符号化レート増加する。そして、サーバ100は増加した送信レートでMPEG−4データを送信することができる。
【0102】
一方S802で、パケット損失率及びランドトリップ時間の一方または両方が閾値以上であると判断した場合、レート制御部104は、符号化レートを固定または減少させる(S805)。
【0103】
次に図9を参照して、FECパケット21送信後に伝送路の状況に変化があった場合のレート制御部の処理を説明する。
【0104】
図9は、レート制御部104の処理フローを示す図である。
【0105】
サーバ100は、クライアント300からフィードバック情報(RR)を受信する(S901)。そして、レート制御部104は、パケット損失率が閾値1より大きいか、またはランドトリップ時間が閾値2より大きいかを判断する(S902)。
【0106】
S902で、レート制御部104は、パケット損失率、またはランドトリップ時間の一方が閾値より大きいいと判断した場合、スイッチ106を「OFF」にする(S903)。ここでスイッチ106は、FECパケットの生成を中止する。つまり、サーバ100はFECパケット21の送信を停止する。
【0107】
一方S902で、パケット損失率及びランドトリップ時間の両方が閾値より大きいと判断した場合、レート制御部104は、符号化レートを固定または上昇させる(S904)。
<実施形態の効果>
本実施の形態に従うと、送信レートを増加した時にデータ損失が発生したとしても、伝送するデータの伝送誤りを抑えることができる。
【0108】
また、冗長符号を送信する前後において伝送路の状況に変化がないと判断した場合に、レート増加分をデータに置き換えて送信することができる。一方、冗長符号を送信する前後において伝送路の状況に悪化したと判断した場合に、以前の状態、つまりレート増加分の冗長符号を除いた状態に戻すことができる。
【0109】
また、伝送路においてパケット損失が発生したとしても、冗長化符号を利用して、損失したパケットを復元することが可能になる。
【0110】
さらに、例えば、MPEGデータにおけるイントラフレーム(Iフレーム)の冗長符号を優先的に生成したとする。イントラフレームを優先すると、送信レートを増加した時にパケット損失が発生した場合であっても画質劣化を最小限に抑えることができる。
<コンピュータ読み取り可能な記憶媒体>
上記実施の形態のいずれかの処理をコンピュータに実行させるプログラムをコンピュータが読み取り可能な記憶媒体に記録することができる。そして、コンピュータに、この記憶媒体のプログラムを読み込ませて実行させることにより、上記実施の形態に示したシステムを提供することができる。
【0111】
ここで、コンピュータが読み取り可能な記憶媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記憶媒体をいう。このような記憶媒体のうちコンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、DAT、8mmテープ、メモリカード等がある。
【0112】
また、コンピュータに固定された記録媒体として、ハードディスクやROM(リード・オンリー・メモリ)等がある。
【0113】
なお、上記実施の形態は本発明の範囲をなんら限定するものではなく、当業者が理解できる範囲において適宜、各種の変形の態様があり得る。
<その他>
さらに、本実施の形態は以下の発明を開示する。
(付記1)ネットワークを介して端末にデータを送信するデータ送信手段と、
前記データの伝送誤りを抑制する冗長符号を送信する冗長符号送信手段と、
前記端末からフィードバック情報を受信する受信手段と、
前記フィードバック情報に基づいて送信レートの増減を判断する判断手段と、
前記判断手段が送信レートを増加すると判断した場合に前記冗長符号の増加により送信レートを増加するレート増加手段とを備えることを特徴とするサーバ。
(付記2)前記冗長符号を送信する前後において伝送路の状況を比較する比較手段と、
前記比較手段が伝送路の状況に変化がないと判断した場合に、増加した前記冗長符号に換えて前記データ送信部から送信するデータを増加させるデータ増加手段とをさらに備える付記1に記載のサーバ。
(付記3)前記比較手段が伝送路の状況が悪化したと判断した場合に前記冗長符号の送信を停止する停止手段をさらに備える付記2に記載のサーバ。
(付記4)前記比較手段は前記フィードバック情報に基づいて冗長符号を送信する前後における伝送路の状況を比較する付記2または3に記載のサーバ。
(付記5)前記フィードバック情報はパケット損失率を含む付記4に記載のサーバ。
(付記6)前記フィードバック情報はパケットが到着した間隔に関する情報を含む付記4に記載のに記載のサーバ。
(付記7)前記フィードバック情報はラウンドトリップ時間を含む請求項4乃至6のいずれかに記載のに記載のサーバ。
(付記8)前記冗長符号はパケット間のパリティ情報を含むパケット間誤り訂正方式である付記4に記載のサーバ。
(付記9)前記冗長符号はデータの優先度に基づいて順番に生成される付記4に記載のサーバ。
【0114】
【発明の効果】
以上で説明したように、本発明は冗長符号を送信する前後において伝送路に変化がないと判断した場合に、レート増加分をデータに置き換えて送信することができるデータ伝送サーバを提供することができる。
【図面の簡単な説明】
【図1】本発明の原理を示す図である。
【図2】本実施の形態における伝送システムを示すブロック図である。
【図3】FECパケットの構成図である。
【図4】RTPヘッダの構成図である。
【図5】FECヘッダの構成図である。
【図6】FECパリティ情報の生成方法を示す図である。
【図7】レート制御部の処理フローを示す図である。
【図8】レート制御部の処理フローを示す図である。
【図9】レート制御部の処理フローを示す図である。
【符号の説明】
10、100…サーバ
11…符号化部
12…パケッタイザ
102…パケッタイザ
13…データ送信部
14、104…レート制御部
15…フィードバック情報受信部
16、106…スイッチ
17…冗長符号生成部
18…冗長符号送信部
20…ネットワーク
21…RTPパケット
22…RTPヘッダ
23…FECヘッダ
24…FECリカバリ
30、300…クライアント
31…データ受信部
32、302…データ復元部
33…復号部
34、304…表示部
35、305…フィードバック情報生成部
36…フィードバック送信部
37…冗長符号受信部
41…V
42…P
43…X
44…C
45…M
45…PT
46…Sequence Number
47…Time Stamp
48…SSRC
49…CSRC
51…SN base
52…Length recovery
53…E
54…PT recovery
55…TS recovery
101…MPEG-4符号化部
103…RTP送信部
105…SR送信部
107…FEC生成部
108…FEC送信部
109…RR受信部
200…インターネット網
301…RTP受信部
303…MPEG-4復号部
306…SR受信部
307…FEC受信部
308…RR送信部

Claims (3)

  1. ネットワークを介して端末にデータを送信するデータ送信手段と、
    前記データの伝送誤りを抑制する冗長符号を含むパケットを送信する冗長符号送信手段と、
    前記端末からフィードバック情報を受信する受信手段と、
    前記フィードバック情報に基づいて送信レートの増減を判断する判断手段と、
    前記判断手段が送信レートを増加すると判断した場合、前記冗長符号送信手段に前記パケットを送信させることにより送信レートを増加するレート増加手段と
    送信レートを増加した後に受信する前記フィードバック情報に基づいて前記判断手段が送信レートを増加すると判断した場合、前記冗長符号送信手段に前記パケットの送信を停止させるとともに、前記データ送信手段に増加した送信レートで前記データを送信させるデータ増加手段とを備えることを特徴とするサーバ。
  2. 送信レートを増加した後に受信する前記フィードバック情報に基づいて前記判断手段が送信レートを減少すると判断した場合、前記冗長符号送信手段に前記パケットの送信を停止させる停止手段をさらに備える請求項1に記載のサーバ。
  3. 前記フィードバック情報はパケット損失率を含む請求項1又は2に記載のサーバ。
JP2003080653A 2003-03-24 2003-03-24 データ伝送サーバ Expired - Fee Related JP4173755B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003080653A JP4173755B2 (ja) 2003-03-24 2003-03-24 データ伝送サーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003080653A JP4173755B2 (ja) 2003-03-24 2003-03-24 データ伝送サーバ

Publications (2)

Publication Number Publication Date
JP2004289621A JP2004289621A (ja) 2004-10-14
JP4173755B2 true JP4173755B2 (ja) 2008-10-29

Family

ID=33294448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003080653A Expired - Fee Related JP4173755B2 (ja) 2003-03-24 2003-03-24 データ伝送サーバ

Country Status (1)

Country Link
JP (1) JP4173755B2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 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
EP1552617A2 (en) 2002-10-05 2005-07-13 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
CN1954501B (zh) 2003-10-06 2010-06-16 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法
JP4971144B2 (ja) 2004-05-07 2012-07-11 デジタル ファウンテン, インコーポレイテッド ファイルダウンロードおよびストリーミングのシステム
JP5425397B2 (ja) * 2004-12-02 2014-02-26 トムソン ライセンシング 適応型前方誤り訂正を行う装置及び方法
JP4734970B2 (ja) * 2005-03-09 2011-07-27 ソニー株式会社 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
JP4697525B2 (ja) * 2005-04-20 2011-06-08 ソニー株式会社 送受信システム、送信装置および送信方法、受信装置および受信方法、並びにプログラム
KR101292851B1 (ko) 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
JP4808054B2 (ja) * 2006-03-17 2011-11-02 富士通株式会社 データ転送方法及び,これを適用する通信システム及びプログラム
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
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
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
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
JP5239166B2 (ja) * 2007-01-29 2013-07-17 日本電気株式会社 データ通信装置および方法ならびにプログラム
EP2019522B1 (en) * 2007-07-23 2018-08-15 Polycom, Inc. Apparatus and method for lost packet recovery with congestion avoidance
JP5027305B2 (ja) 2007-09-12 2012-09-19 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達
JP5102572B2 (ja) * 2007-09-28 2012-12-19 パナソニック株式会社 通信方式
JP5397226B2 (ja) * 2007-10-29 2014-01-22 日本電気株式会社 通信システム、データ送信装置、データ受信装置、通信方法および通信用プログラム
JP2009159368A (ja) * 2007-12-27 2009-07-16 Mitsubishi Electric Corp データ伝送装置及び伝送可能帯域推測方法
JP4834013B2 (ja) * 2008-02-29 2011-12-07 日本放送協会 送信装置、送信プログラム、受信装置及び受信プログラム
JP5094546B2 (ja) * 2008-05-16 2012-12-12 キヤノン株式会社 通信装置、及び通信方法、プログラム
ATE549860T1 (de) * 2009-01-13 2012-03-15 Alcatel Lucent Espana S A Verfahren und vorrichtung zur zuverlässigkeitssicherstellung während der übertragung von fernsehdaten in einem internetprotokoll basierendem fernsehsystem
GB2454606C (en) * 2009-02-02 2017-01-25 Skype Ltd Method of transmitting data in a communication system
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
JP5052578B2 (ja) * 2009-09-18 2012-10-17 シャープ株式会社 通信装置および通信装置としてコンピュータを機能させるためのプログラム
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
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
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
JP2013225761A (ja) * 2012-04-20 2013-10-31 Hitachi Ltd 符号化装置、復号装置、通信システム及び通信制御方法
US9998388B2 (en) * 2014-02-06 2018-06-12 Sony Interactive Entertainment LLC Congestion control bitrate algorithm
JP2016005220A (ja) * 2014-06-19 2016-01-12 株式会社Jvcケンウッド 送信装置、送信方法、プログラム
US10104016B2 (en) 2014-12-12 2018-10-16 Hitachi, Ltd. Communication device, communication device system, and communication method
US10447430B2 (en) 2016-08-01 2019-10-15 Sony Interactive Entertainment LLC Forward error correction for streaming data

Also Published As

Publication number Publication date
JP2004289621A (ja) 2004-10-14

Similar Documents

Publication Publication Date Title
JP4173755B2 (ja) データ伝送サーバ
JP4454320B2 (ja) 伝送装置、伝送制御プログラム、及び伝送方法
KR101449710B1 (ko) 데이터 통신시스템, 데이터 송신장치, 데이터 송신방법 및패킷 사이즈 및 용장도 결정방법
Nguyen et al. Distributed video streaming with forward error correction
JP3967338B2 (ja) 無線パケット転送装置
KR101242663B1 (ko) 패킷 송신 장치, 통신 시스템 및 컴퓨터 판독가능한 기록매체
KR100680671B1 (ko) 에러 정정용 데이터의 생성 방법 및 생성 장치와 생성 프로그램을 저장한 컴퓨터 판독가능한 기록 매체
CN109923809B (zh) 利用前向纠错的编码和解码方法、以及编码和解码系统
EP2312787B1 (en) Method and device of data transmission
CN111800218B (zh) 一种数据流的传输方法和设备
US9525874B2 (en) Transmitting apparatus and transmission method
JP5094546B2 (ja) 通信装置、及び通信方法、プログラム
US8484540B2 (en) Data transmitting device, control method therefor, and program
JP4250036B2 (ja) メディア伝送方法及びメディア伝送装置
JP2005033556A (ja) データ送信装置、データ送信方法、データ受信装置、データ受信方法
JP5523163B2 (ja) 送信装置、送信方法、プログラム
Lecuire Unequal error protection under bitrate constraint for video streaming over internet
JP2012195864A (ja) 伝送システム及び伝送装置、並びに伝送方法
JP2004120148A (ja) マルチメディアコンテンツ送信装置およびマルチメディアコンテンツ受信装置
KR101700370B1 (ko) 지터 보정 방법 및 장치
Hayasaka et al. Referential Loss Recovery for Streaming Audio using Application Level Multicast
Ben Halima et al. Service-aware retransmission control in cellular networks
Chilamkurti et al. Video multicasting using layered FEC on split protocol

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080707

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: 20080805

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: 20080814

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130822

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees