JP2004289621A - Data transmission server - Google Patents
Data transmission server Download PDFInfo
- Publication number
- JP2004289621A JP2004289621A JP2003080653A JP2003080653A JP2004289621A JP 2004289621 A JP2004289621 A JP 2004289621A JP 2003080653 A JP2003080653 A JP 2003080653A JP 2003080653 A JP2003080653 A JP 2003080653A JP 2004289621 A JP2004289621 A JP 2004289621A
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- transmission
- unit
- rate
- 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
Links
Images
Abstract
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送信部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data transmission system, and more particularly to a server that transmits encoded media data over a best-effort Internet network or wireless transmission path.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, moving image data has been transmitted by streaming or video telephone in a best-effort transmission path environment such as the Internet network. For the transmission of the moving image data, a protocol called UDP (User Datagram Protocol) which emphasizes real-time property is often used.
[0003]
However, UDP does not include a mechanism for changing a transmission rate using feedback information from a client side, unlike TCP (Transport Control Protocol) used in HTTP or the like. For this reason, when the UDP traffic increases, the phenomenon of occupying the band of the transmission line has often occurred.
[0004]
On the other hand, there is RTP (Real-time Transport Protocol) as a protocol that places importance on real-time properties like UDP. This RTP includes a mechanism for feeding back transmission quality called RTCP (RTP Control Protocol) from the client side at regular intervals. Therefore, the number of systems that control the transmission rate using the RTCP is increasing at present.
[0005]
As such a technique, a data communication device is provided in which a server that packetizes data and transmits the data to a network determines a transmission rate based on a reception state transmitted from a client and transmits the data (see Patent Document 1). .).
[0006]
However, in a system that controls a transmission rate using feedback information such as RTCP, there is a possibility that the quality of a moving image being transmitted may be significantly reduced. In other words, when the server increases the transmission rate in a state where other traffic such as TCP and RTP are mixed on the transmission path, packet loss occurs due to congestion. Therefore, the quality of the moving image being transmitted is significantly reduced.
[0007]
[Patent Document 1]
JP 2001-144802 A (abstract).
[0008]
[Problems to be solved by the invention]
The present invention has been made in view of such problems of the related art. That is, an object of the present invention is to provide a data transmission server that can suppress deterioration of data quality even when a packet loss occurs due to an increase in transmission rate.
[0009]
[Means for Solving the Problems]
The present invention employs the following means in order to solve the above problems.
[0010]
A server according to the present invention includes a data transmitting unit that transmits data to a terminal via a network, a redundant code transmitting unit that transmits a redundant code that suppresses a transmission error of the data, and a reception that receives feedback information from the terminal. Means, determining means for determining an increase or decrease in transmission rate based on the feedback information, and rate increasing means for increasing the transmission rate by increasing the redundant code when the determining means determines to increase the transmission rate. It is characterized by the following.
[0011]
When the transmission rate is increased, for example, congestion may occur. With such a configuration, a change in the transmission path can be detected by configuring the increase in the transmission rate with a redundant code. Therefore, even if data loss occurs when the transmission rate is increased, transmission errors in data to be transmitted can be suppressed.
[0012]
Further, the server of the present invention further comprises: comparing means for comparing the status of the transmission line before and after transmitting the redundant code, and the redundant code increased when the comparing unit determines that there is no change in the status of the transmission line. In place of the above, the data transmitting unit may further include a data increasing unit that increases data transmitted from the data transmitting unit. Further, the server of the present invention may further include a stop unit for stopping transmission of the redundant code when the comparison unit determines that the condition of the transmission path has deteriorated.
[0013]
With such a configuration, when it is determined that there is no change in the state of the transmission path before and after transmitting the redundant code, the rate increase can be replaced with data and transmitted. On the other hand, if it is determined that the state of the transmission path has deteriorated before and after the transmission of the redundant code, the state can be returned to the previous state, that is, the state excluding the redundant code corresponding to the rate increase.
[0014]
Further, the server of the present invention may compare the status of the transmission path before and after transmitting the redundant code based on the feedback information. And, the feedback information may include a packet loss rate, information about intervals at which packets arrive, or a round trip time.
[0015]
Further, the redundant code may be an inter-packet error correction method including parity information between packets, or the redundant code may be generated in order based on data priority.
[0016]
With such a configuration, even if a packet loss occurs in the transmission path, it is possible to recover the lost packet using the redundancy code.
[0017]
Further, for example, it is assumed that a redundant code of an intra frame (I frame) in MPEG data is preferentially generated. When priority is given to the intra frame, even if a packet loss occurs when the transmission rate is increased, it is possible to minimize image quality deterioration.
[0018]
Further, the present invention may be such that the above-mentioned program is stored in a readable storage medium.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[0020]
FIG. 1 is a diagram illustrating the principle of the present invention, and FIG. 2 is a block diagram illustrating a transmission system according to the present embodiment. FIG. 3 is a configuration diagram of an FEC packet, FIG. 4 is a configuration diagram of an RTP header, and FIG. 5 is a configuration diagram of an FEC header. FIG. 6 is a diagram illustrating a method of generating FEC parity information. 7 to 9 are diagrams showing the processing flow of the rate control unit.
<Principle of transmission system>
With reference to FIG. 1, the principle of the transmission system of the present invention and the function of each component will be described together with the flow of media data.
[0021]
This transmission system includes a
[0022]
First, processing on the
[0023]
The
[0024]
The encoding unit 11 encodes the input media data. Then, the
[0025]
The
[0026]
Then, the
[0027]
The
[0028]
Then, when a fixed amount of encoded data packets in the buffer is accumulated, the redundant
[0029]
Next, processing on the client 30 side will be described.
[0030]
The client 30 includes a
[0031]
The
[0032]
The
[0033]
On the other hand, the redundant
[0034]
The
[0035]
Then, the
[0036]
Next, control for increasing the transmission rate in the
[0037]
Then, the
[0038]
If the
[0039]
On the other hand, when determining that there has been a change in the state of the network, the
[0040]
However, there is a case where congestion occurs due to an increase in the transmission rate and a packet loss of media data occurs. Therefore, the quality of the media data may be degraded. Even in such a case, the client 30 can recover the lost packet using the transmitted redundant code. Therefore, even if a packet loss occurs due to an increase in the transmission rate, it is possible to suppress deterioration of the quality of the media data.
[0041]
In the present embodiment, the redundant code is an inter-packet FEC (Forward Error Correction) system in which parity information can be added between a plurality of packets. The FEC packet will be described with reference to FIG.
[0042]
In addition, the transmission system can assign priorities according to the encoding method of the encoded media data. Then, the transmission system may control the generation frequency of the parity information of the encoded media data according to the order.
[0043]
When parity information is generated in this way, even if congestion occurs when the transmission rate is increased, FEC packets can be preferentially allocated and restored. Therefore, it is possible to suppress the deterioration in order from the priority information in the media data.
<Structure of FEC packet>
The
[0044]
The format of the FEC packet complies with the definition of the FEC between packets in the Internet (IP / UDP) network (RFC2733: “An RTP Payload Format for Generic Forward Error Correction”). In RFC 2733, an FEC packet in which the parity of the entire packet is calculated is provided for a plurality of RTP packets. By doing so, when a packet loss occurs, the lost packet is restored using the FEC packet.
[0045]
When increasing the transmission rate, the
[0046]
Next, the configuration of the
[0047]
The 2-
[0048]
The
[0049]
The
[0050]
The
[0051]
Next, the configuration of the FEC header will be described with reference to FIG. The
[0052]
The
<Block diagram of transmission system>
As the present embodiment, a case where MPEG-4 moving image code data is transmitted using RTP / RTCP will be described with reference to FIG. FIG. 2 is a block diagram of the transmission system according to the present embodiment.
[0053]
This transmission system transmits data between a
[0054]
First, the processing on the
[0055]
The
[0056]
The MPEG-4
[0057]
Then, the
[0058]
The
[0059]
Next, processing on the client 300 side will be described. The client 300 includes an
[0060]
The
[0061]
The
[0062]
Next, generation, transmission, and reception of feedback information and control of a transmission rate will be described. In the present embodiment,
[0063]
First, in the client 300, the feedback
[0064]
Then, the client 300 transmits an RR packet to the
[0065]
On the other hand, when the RR packet is received by the
[0066]
In the present embodiment,
[0067]
Next, control of the transmission rate by the
[0068]
On the other hand, when both the packet loss rate and the round trip time are equal to or smaller than the threshold, the
[0069]
When the packet loss rate is equal to or less than the threshold and the round trip time exceeds the threshold, the
[0070]
Next, a process when the
[0071]
First, the
[0072]
Then, after determining that the transmission rate is to be increased, the
[0073]
When a predetermined amount (for example, 24 packets) of the copied FEC packets is accumulated in the FEC generation buffer, the
[0074]
The
[0075]
Then, the
[0076]
Note that the number of encoded data buckets is the same as the number of data packets at the maximum. In that case, the
[0077]
On the other hand, on the client 300 side, the
[0078]
The
[0079]
On the other hand, if the
[0080]
The
[0081]
The feedback
[0082]
Next, the
[0083]
Then, the
[0084]
When determining that the transmission rate is to be increased, the
[0085]
Further, the
[0086]
On the other hand, when determining that the transmission rate is to be reduced, the
<Parity information generation method>
With reference to FIG. 6, a method for generating parity information of an RTP packet will be described.
[0087]
The server generates parity information on the packetized MPEG-4 data in order to recover the lost packet. This parity information is generated by the
[0088]
The parity information generated here is transmitted to the client as the
[0089]
Then, the client receiving the
[0090]
In the present embodiment, the
[0091]
The first bit (F1) of the
[0092]
Here, an example in which the
The client can restore the RTP packet 3 (c1) by using the received RTP packet (a1, b1, d1) and the FEC packet (F1) to make the exclusive OR match. Similarly, the client can restore the RTP packet 3 (c2 to c5).
<Process Flow of Rate Control Unit>
With reference to FIG. 7, the processing of the rate control unit will be described. FIG. 7 is a diagram illustrating a processing flow of the
[0093]
The
[0094]
If the
[0095]
Then, the
[0096]
On the other hand, when it is determined in S702 that one or both of the packet loss rate and the land trip time are equal to or larger than the threshold, the
[0097]
Next, with reference to FIG. 8, the processing of the rate control unit when the state of the transmission path has not changed after the transmission of the
[0098]
The
[0099]
Then, the
[0100]
If the
[0101]
Then, the
[0102]
On the other hand, when it is determined in S802 that one or both of the packet loss rate and the land trip time are equal to or greater than the threshold, the
[0103]
Next, with reference to FIG. 9, the processing of the rate control unit when the status of the transmission path changes after the transmission of the
[0104]
FIG. 9 is a diagram illustrating a processing flow of the
[0105]
The
[0106]
In S902, when the
[0107]
On the other hand, if it is determined in S902 that both the packet loss rate and the land trip time are larger than the threshold, the
<Effects of Embodiment>
According to the present embodiment, even if data loss occurs when the transmission rate is increased, transmission errors of data to be transmitted can be suppressed.
[0108]
Further, when it is determined that there is no change in the state of the transmission path before and after transmitting the redundant code, the rate increase can be replaced with data and transmitted. On the other hand, if it is determined that the state of the transmission path has deteriorated before and after the transmission of the redundant code, the state can be returned to the previous state, that is, the state excluding the redundant code corresponding to the rate increase.
[0109]
Further, even if a packet loss occurs in the transmission path, the lost packet can be restored using the redundancy code.
[0110]
Further, for example, it is assumed that a redundant code of an intra frame (I frame) in MPEG data is preferentially generated. When priority is given to the intra frame, even if a packet loss occurs when the transmission rate is increased, it is possible to minimize image quality deterioration.
<Computer readable storage medium>
A program that causes a computer to execute any of the processes of the above-described embodiments can be recorded on a computer-readable storage medium. Then, by causing a computer to read and execute the program in the storage medium, the system described in the above embodiment can be provided.
[0111]
Here, a computer-readable storage medium refers to a storage medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read by a computer. . Among such storage media, those removable from a computer include, for example, a flexible disk, a magneto-optical disk, a CD-ROM, a CD-R / W, a DVD, a DAT, an 8 mm tape, and a memory card.
[0112]
Further, a recording medium fixed to the computer includes a hard disk, a ROM (Read Only Memory), and the like.
[0113]
The above embodiment does not limit the scope of the present invention in any way, and various modifications may be appropriately made within a range that can be understood by those skilled in the art.
<Others>
Further, this embodiment discloses the following invention.
(Supplementary Note 1) Data transmission means for transmitting data to a terminal via a network;
Redundant code transmitting means for transmitting a redundant code for suppressing the data transmission error,
Receiving means for receiving feedback information from the terminal,
Judgment means for judging increase or decrease of the transmission rate based on the feedback information
A server that includes a rate increasing unit that increases the transmission rate by increasing the redundant code when the determination unit determines that the transmission rate is to be increased.
(Supplementary Note 2) Comparison means for comparing the status of the transmission path before and after transmitting the redundant code,
The server according to claim 1, further comprising: a data increasing unit configured to increase data transmitted from the data transmitting unit in place of the increased redundant code when the comparing unit determines that there is no change in the status of the transmission path. .
(Supplementary note 3) The server according to supplementary note 2, further comprising a stop unit that stops transmission of the redundant code when the comparison unit determines that the condition of the transmission path has deteriorated.
(Supplementary note 4) The server according to
(Supplementary note 5) The server according to
(Supplementary note 6) The server according to
(Supplementary note 7) The server according to any one of
(Supplementary note 8) The server according to
(Supplementary note 9) The server according to
[0114]
【The invention's effect】
As described above, the present invention can provide a data transmission server that can suppress deterioration of data quality even when packet loss occurs due to an increase in transmission rate.
[Brief description of the drawings]
FIG. 1 is a diagram showing the principle of the present invention.
FIG. 2 is a block diagram illustrating a transmission system according to the present embodiment.
FIG. 3 is a configuration diagram of an FEC packet.
FIG. 4 is a configuration diagram of an RTP header.
FIG. 5 is a configuration diagram of an FEC header.
FIG. 6 is a diagram illustrating a method of generating FEC parity information.
FIG. 7 is a diagram illustrating a processing flow of a rate control unit.
FIG. 8 is a diagram illustrating a processing flow of a rate control unit.
FIG. 9 is a diagram showing a processing flow of a rate control unit.
[Explanation of symbols]
10, 100 ... server
11: Encoding unit
12 ... Packetizer
102 ... Packetizer
13 Data transmission unit
14, 104 ... rate control unit
15. Feedback information receiving unit
16, 106 ... Switch
17 Redundant code generator
18 Redundant code transmission unit
20 ... Network
21 ... RTP packet
22 ... RTP header
23: FEC header
24: FEC recovery
30, 300… Client
31 Data receiving unit
32, 302: Data restoration unit
33 ... Decoding unit
34, 304 ... display unit
35, 305: feedback information generation unit
36 ... Feedback transmitter
37 ... Redundant code receiving unit
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 encoding unit
103 ... RTP transmission unit
105 ... SR transmission unit
107: FEC generation unit
108 ... FEC transmission unit
109 ... RR receiving section
200 ... Internet network
301 ... RTP receiving unit
303: MPEG-4 decoding unit
306 ... SR receiving unit
307 ... FEC receiving unit
308 ... RR transmission section
Claims (5)
前記データの伝送誤りを抑制する冗長符号を送信する冗長符号送信手段と、
前記端末からフィードバック情報を受信する受信手段と、
前記フィードバック情報に基づいて送信レートの増減を判断する判断手段と、
前記判断手段が送信レートを増加すると判断した場合に前記冗長符号の増加により送信レートを増加するレート増加手段とを備えることを特徴とするサーバ。Data transmission means for transmitting data to the terminal via the network;
Redundant code transmitting means for transmitting a redundant code for suppressing the data transmission error,
Receiving means for receiving feedback information from the terminal,
Judgment means for judging increase or decrease of the transmission rate based on the feedback information
A server that includes a rate increasing unit that increases the transmission rate by increasing the redundant code when the determination unit determines that the transmission rate is to be increased.
前記比較手段が伝送路の状況に変化がないと判断した場合に、増加した前記冗長符号に換えて前記データ送信部から送信するデータを増加させるデータ増加手段とをさらに備える請求項1に記載のサーバ。Comparing means for comparing the status of the transmission path before and after transmitting the redundant code,
2. The data increasing unit according to claim 1, further comprising: a data increasing unit configured to increase data transmitted from the data transmitting unit in place of the increased redundant code when the comparing unit determines that there is no change in the status of the transmission path. server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080653A JP4173755B2 (en) | 2003-03-24 | 2003-03-24 | Data transmission server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080653A JP4173755B2 (en) | 2003-03-24 | 2003-03-24 | Data transmission server |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004289621A true JP2004289621A (en) | 2004-10-14 |
JP4173755B2 JP4173755B2 (en) | 2008-10-29 |
Family
ID=33294448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003080653A Expired - Fee Related JP4173755B2 (en) | 2003-03-24 | 2003-03-24 | Data transmission server |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4173755B2 (en) |
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006253862A (en) * | 2005-03-09 | 2006-09-21 | Sony Corp | Wireless communication system, wireless communication apparatus, wireless communication method, and computer program |
JP2006303925A (en) * | 2005-04-20 | 2006-11-02 | Sony Corp | Transceiving system, transmitting device and transmitting method, receiving device and receiving method, and program |
JP2007251737A (en) * | 2006-03-17 | 2007-09-27 | Fujitsu Ltd | Data transferring method, and communication system and program using the same |
JP2008522545A (en) * | 2004-12-02 | 2008-06-26 | トムソン ライセンシング | Adaptive forward error correction |
JP2008187341A (en) * | 2007-01-29 | 2008-08-14 | Nec Corp | Data communication equipment and method, and program |
JP2009027720A (en) * | 2007-07-23 | 2009-02-05 | Polycom Inc | System and method executing lost packet recovery with congestion avoidance |
JP2009088987A (en) * | 2007-09-28 | 2009-04-23 | Panasonic Electric Works Co Ltd | Communication system |
WO2009057375A1 (en) * | 2007-10-29 | 2009-05-07 | Nec Corporation | Communication system, data transmitter, data receiver, communication method, and communication program |
JP2009159368A (en) * | 2007-12-27 | 2009-07-16 | Mitsubishi Electric Corp | Data transmission apparatus and transmission band estimation method |
JP2009527151A (en) * | 2006-02-13 | 2009-07-23 | デジタル ファウンテン, インコーポレイテッド | Streaming and buffering using variable FEC overhead and protection period |
JP2009207084A (en) * | 2008-02-29 | 2009-09-10 | Nippon Hoso Kyokai <Nhk> | Transmitter, transmitting program, receiving device, and receiving program |
JP2009278521A (en) * | 2008-05-16 | 2009-11-26 | Canon Inc | Communication device and method, and program |
JP2009303247A (en) * | 2009-09-18 | 2009-12-24 | Sharp Corp | Communication device, and program for operating computer as communication device |
JP2012515458A (en) * | 2009-01-13 | 2012-07-05 | アルカテル−ルーセント | Method and device for ensuring reliability during transmission of television data in a television system based on internet protocol |
JP2012517130A (en) * | 2009-02-02 | 2012-07-26 | スカイプ・リミテッド | Data transmission method in communication system |
USRE43741E1 (en) | 2002-10-05 | 2012-10-16 | Qualcomm Incorporated | Systematic encoding and decoding of chain reaction codes |
JP2013225761A (en) * | 2012-04-20 | 2013-10-31 | Hitachi Ltd | Coding device, decoding device, communication system and communication control method |
US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
US8887020B2 (en) | 2003-10-06 | 2014-11-11 | Digital Fountain, Inc. | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9136878B2 (en) | 2004-05-07 | 2015-09-15 | Digital Fountain, Inc. | File download and streaming system |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
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 |
JP2016005220A (en) * | 2014-06-19 | 2016-01-12 | 株式会社Jvcケンウッド | Transmission apparatus, transmission method, and program |
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 |
WO2016092686A1 (en) * | 2014-12-12 | 2016-06-16 | 株式会社日立製作所 | Communication device, communication device system, and communication method |
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 |
US9602802B2 (en) | 2010-07-21 | 2017-03-21 | Qualcomm Incorporated | Providing frame packing type information for video coding |
JP2017508372A (en) * | 2014-02-06 | 2017-03-23 | ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー | Congestion control bit rate algorithm |
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 |
US10447430B2 (en) | 2016-08-01 | 2019-10-15 | Sony Interactive Entertainment LLC | Forward error correction for streaming data |
-
2003
- 2003-03-24 JP JP2003080653A patent/JP4173755B2/en not_active Expired - Fee Related
Cited By (70)
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 |
USRE43741E1 (en) | 2002-10-05 | 2012-10-16 | Qualcomm Incorporated | Systematic encoding and decoding of chain reaction codes |
US9236885B2 (en) | 2002-10-05 | 2016-01-12 | Digital Fountain, Inc. | Systematic encoding and decoding of chain reaction codes |
US8887020B2 (en) | 2003-10-06 | 2014-11-11 | Digital Fountain, Inc. | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
US9136878B2 (en) | 2004-05-07 | 2015-09-15 | Digital Fountain, Inc. | File download and streaming system |
US9236887B2 (en) | 2004-05-07 | 2016-01-12 | Digital Fountain, Inc. | File download and streaming system |
US8015474B2 (en) | 2004-12-02 | 2011-09-06 | Thomson Licensing | Adaptive forward error correction |
JP2008522545A (en) * | 2004-12-02 | 2008-06-26 | トムソン ライセンシング | Adaptive forward error correction |
JP2006253862A (en) * | 2005-03-09 | 2006-09-21 | Sony Corp | Wireless communication system, wireless communication apparatus, wireless communication method, and computer program |
JP4734970B2 (en) * | 2005-03-09 | 2011-07-27 | ソニー株式会社 | Wireless communication system, wireless communication apparatus, wireless communication method, and computer program |
JP2006303925A (en) * | 2005-04-20 | 2006-11-02 | Sony Corp | Transceiving system, transmitting device and transmitting method, receiving device and receiving method, and program |
US8514755B2 (en) | 2005-04-20 | 2013-08-20 | Sony Corporation | Transmitting and receiving system, transmitting apparatus, transmitting method, receiving apparatus, receiving method, and program |
JP4697525B2 (en) * | 2005-04-20 | 2011-06-08 | ソニー株式会社 | Transmission / reception system, transmission apparatus and transmission method, reception apparatus and reception method, and program |
JP2009527151A (en) * | 2006-02-13 | 2009-07-23 | デジタル ファウンテン, インコーポレイテッド | Streaming and buffering using variable FEC overhead and protection period |
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 |
JP2007251737A (en) * | 2006-03-17 | 2007-09-27 | Fujitsu Ltd | Data transferring method, and communication system and program using the same |
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 |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9191151B2 (en) | 2006-06-09 | 2015-11-17 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US11477253B2 (en) | 2006-06-09 | 2022-10-18 | 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 |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
JP2008187341A (en) * | 2007-01-29 | 2008-08-14 | Nec Corp | Data communication equipment and method, and program |
JP2012235523A (en) * | 2007-07-23 | 2012-11-29 | Polycom Inc | System and method for lost packet recovery with congestion avoidance |
US8493862B2 (en) | 2007-07-23 | 2013-07-23 | Polycom, Inc. | System and method for lost packet recovery with congestion avoidance |
JP2009027720A (en) * | 2007-07-23 | 2009-02-05 | Polycom Inc | System and method executing lost packet recovery with congestion avoidance |
US9237101B2 (en) | 2007-09-12 | 2016-01-12 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
JP2009088987A (en) * | 2007-09-28 | 2009-04-23 | Panasonic Electric Works Co Ltd | Communication system |
WO2009057375A1 (en) * | 2007-10-29 | 2009-05-07 | Nec Corporation | Communication system, data transmitter, data receiver, communication method, and communication program |
JP5397226B2 (en) * | 2007-10-29 | 2014-01-22 | 日本電気株式会社 | COMMUNICATION SYSTEM, DATA TRANSMISSION DEVICE, DATA RECEPTION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM |
JP2009159368A (en) * | 2007-12-27 | 2009-07-16 | Mitsubishi Electric Corp | Data transmission apparatus and transmission band estimation method |
JP2009207084A (en) * | 2008-02-29 | 2009-09-10 | Nippon Hoso Kyokai <Nhk> | Transmitter, transmitting program, receiving device, and receiving program |
JP2009278521A (en) * | 2008-05-16 | 2009-11-26 | Canon Inc | Communication device and method, and program |
JP2012515458A (en) * | 2009-01-13 | 2012-07-05 | アルカテル−ルーセント | Method and device for ensuring reliability during transmission of television data in a television system based on internet protocol |
JP2012517130A (en) * | 2009-02-02 | 2012-07-26 | スカイプ・リミテッド | Data transmission method in 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 |
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 |
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 |
JP2009303247A (en) * | 2009-09-18 | 2009-12-24 | Sharp Corp | Communication device, and program for operating computer as communication device |
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 |
US9602802B2 (en) | 2010-07-21 | 2017-03-21 | 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 |
US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups 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 (en) * | 2012-04-20 | 2013-10-31 | Hitachi Ltd | Coding device, decoding device, communication system and communication control method |
JP2017508372A (en) * | 2014-02-06 | 2017-03-23 | ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー | Congestion control bit rate algorithm |
JP2016005220A (en) * | 2014-06-19 | 2016-01-12 | 株式会社Jvcケンウッド | Transmission apparatus, transmission method, and program |
JPWO2016092686A1 (en) * | 2014-12-12 | 2017-07-27 | 株式会社日立製作所 | COMMUNICATION DEVICE, COMMUNICATION DEVICE SYSTEM, AND COMMUNICATION METHOD |
US10104016B2 (en) | 2014-12-12 | 2018-10-16 | Hitachi, Ltd. | Communication device, communication device system, and communication method |
AU2014413360C1 (en) * | 2014-12-12 | 2018-09-27 | Hitachi, Ltd. | Communication device, communication device system, and communication method |
AU2014413360B2 (en) * | 2014-12-12 | 2018-04-26 | Hitachi, Ltd. | Communication device, communication device system, and communication method |
WO2016092686A1 (en) * | 2014-12-12 | 2016-06-16 | 株式会社日立製作所 | 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 |
US10979175B2 (en) | 2016-08-01 | 2021-04-13 | Sony Interactive Entertainment LLC | Forward error correction for streaming data |
US11489621B2 (en) | 2016-08-01 | 2022-11-01 | Sony Interactive Entertainment LLC | Forward error correction for streaming data |
Also Published As
Publication number | Publication date |
---|---|
JP4173755B2 (en) | 2008-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4173755B2 (en) | Data transmission server | |
JP4454320B2 (en) | Transmission apparatus, transmission control program, and transmission method | |
US11489621B2 (en) | Forward error correction for streaming data | |
KR101449710B1 (en) | Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy | |
KR101242663B1 (en) | Packet transmission apparatus, communication system and computer-readable recording medium | |
KR101125846B1 (en) | Method for transmitting image frame data based on packet system and apparatus thereof | |
US20050013249A1 (en) | Redundant packets for streaming video protection | |
CN111800218B (en) | Data stream transmission method and equipment | |
AU762180B2 (en) | Method and apparatus for transmitting and receiving multimedia data | |
US9525874B2 (en) | Transmitting apparatus and transmission method | |
CA2594121A1 (en) | Adaptive information delivery system using fec feedback | |
US11190455B2 (en) | Decoding of a media stream at a packet receiver | |
JP5344541B2 (en) | Data transmission apparatus, transmission method and program | |
JP2010119133A (en) | Packet transmission device, communication system, and program | |
JP4250036B2 (en) | Media transmission method and media transmission apparatus | |
WO2005122455A1 (en) | Two-way communication method and device, system and program | |
JP2011087091A (en) | Transmission device and operation mode control method of the same | |
Lecuire | Unequal error protection under bitrate constraint for video streaming over internet | |
JP2004120148A (en) | Transmitter and receiver for multimedia contents | |
JP2004007799A (en) | Data transmission method and data processing method | |
JP2012195864A (en) | Transmission system, transmission device, and transmission method | |
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 |