JP4356742B2 - データ通信システム、データ送信装置およびデータ送信方法 - Google Patents

データ通信システム、データ送信装置およびデータ送信方法 Download PDF

Info

Publication number
JP4356742B2
JP4356742B2 JP2006346959A JP2006346959A JP4356742B2 JP 4356742 B2 JP4356742 B2 JP 4356742B2 JP 2006346959 A JP2006346959 A JP 2006346959A JP 2006346959 A JP2006346959 A JP 2006346959A JP 4356742 B2 JP4356742 B2 JP 4356742B2
Authority
JP
Japan
Prior art keywords
data
packet
unit
size
transmission
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
JP2006346959A
Other languages
English (en)
Other versions
JP2008160499A (ja
Inventor
嘉伸 久礼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006346959A priority Critical patent/JP4356742B2/ja
Priority to TW96145037A priority patent/TWI363531B/zh
Priority to KR20070132404A priority patent/KR101449710B1/ko
Priority to US11/958,643 priority patent/US8023533B2/en
Priority to CN2007101598794A priority patent/CN101212280B/zh
Publication of JP2008160499A publication Critical patent/JP2008160499A/ja
Application granted granted Critical
Publication of JP4356742B2 publication Critical patent/JP4356742B2/ja
Priority to US13/236,517 priority patent/US8711884B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • H04L1/0018Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement based on latency requirement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)

Description

この発明は、データ通信システム、データ送信装置およびデータ送信方法に関する。
近年、インターネット上のデータ伝送において、従来から利用されているダウンロード型伝送方式に加えて、ストリーム型伝送方式によるサービスが増加してきている。映像ファイルや音声ファイルといったマルチメディアの伝送を例に取れば、前者のダウンロード型伝送方式では、配信サーバからデータファイルを一旦受信側端末にダウンロードして、その後再生されることとなる。よって、この方式ではファイルを完全に転送が終わるまでは再生できず、長時間再生やリアルタイム再生などには不向きである。後者のストリーム型伝送方式では、送信側から受信側端末にデータ転送が行われている間に、受信したデータを再生ができるため、インターネット電話、遠隔テレビ会議、ビデオオンデマンドといったインターネットサービスに利用されている。
ストリーム型伝送方式に適したインターネット技術に、IETF RFC3550で規定されているRTP(Realtime TransportProtocol)がある。RTPによるデータ転送では、時間情報としてパケットにタイムスタンプを付加しておき、これによって送信側と受信側の時間的関係を把握することで、パケット転送の遅延ゆらぎ(ジッター)などの影響を受けずに同期をとって再生することができる。
ここで、RTPは実時間のデータ転送を保証しているものではない。パケット配送の優先度や設定、管理などはRTPが提供するトランスポートサービスの範疇ではないため、RTPパケットはほかのパケットと同様に配送遅延やパケットロスがおきる可能性がある。このような事態が起こっても、受信側は期待する時間内に到着したパケットだけを利用してデータを再生することが可能である。これは、映像や音声データが多少のデータ損失があったとしても、ある程度再生できるからである。
なお、遅延配送されたパケットやエラーの発生したパケットは、受信側でそのまま破棄される。つまり高品質なデータを配信しても、パケットロスやエラーにより、受信側で十分に再生されない問題点もある。特に、有線区間で10−5、無線区間で10−3以上のエラーがあるといわれている中では、配信するメディアの品質を保持する点でいえば、RTPをそのまま利用するのでは信頼性が低い。
このような点から、データ転送に信頼性が高いTCP(Transmission Control Protocol)で再送要求および再送パケット送信を行わせる方法がある。しかし、TCPはエラーには強いが、スループットが低く、遅延が大きいため、再送しても再生時間に間に合わない可能性もある。
RTPを用いてデータ転送の信頼性を向上させる手法として、前方誤り訂正符号化方式、いわゆるFEC(Forward Error Correction)方式、という手法がある(非特許文献1参照)。このFEC方式では、パケット複数個を1つのFECブロックとして、RS(Reed-Solomon)符号等の誤り訂正符号を用いて冗長符合化を行う。例えば(n,k)RS符号を用いる場合、元データパケットをk個とする、n−k個の冗長パケットを生成することができる。ここで、n>kである。この場合、送信装置から合計n個のパケットを送信することにより、受信装置ではn個のパケット中k個のパケットを受信すれば、RS復号処理によりk個の元データパケットを復元できる。
J. Rosenberg.et al.,"An RTP Payload Format for Generic Forward ErrorCorrection", Request for Comments:2733、[online]、1999年12月、IETF Network Working Group、[平成18年12月18日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc2733.txt>
従来のマルチメディアデータ伝送においては、データを通信環境のMTU(Maximum Transmission Unit)等により一定サイズでパケット化して伝送するため、以下の問題がある。
一定サイズでパケット化し、FECにより冗長符号化する場合、十分なバーストロス耐性を得るためには、FECの符号化単位、いわゆるFECブロック、に含まれる元データパケット数を大きく取るか、FECブロック内の冗長パケットの占める割合を大きくとらなければならない。通常、冗長パケットによるオーバーヘッドの削減のため、FECブロックに含まれる元データパケット数を大きくとることになるが、低データレートの伝送データ(符号化データ)に対してFECブロックに含まれる元データパケット数を大きくするためには、複数のタイムスタンプに跨った元データパケットによりFECブロックを構成することが必要になり、これは遅延の増大につながる。
例えば、ビデオデータを伝送する場合、通常各ビデオフレームに1つのタイムスタンプを付加するが、2つの連続するビデオフレームを1つのFECブロックとして符号化することを考える。この場合、FECブロック内の先行するフレーム内のパケットがロスした場合でも、受信端末ではFECブロック内の全てのパケットが届くまで復号化できないため、次のフレームのパケットが到着するまで復号化の開始を待たなければならず、これは遅延の増加につながる。
この発明の目的は、低データレートでも、遅延を増加させることなく、十分なバーストパケットロス耐性を得ることにある。
この発明の概念は、
データ送信装置およびデータ受信装置からなり、パケット化された伝送データを、ネットワークを介して伝送するデータ通信システムであって、
上記データ送信装置は、
上記伝送データをパケット化してデータパケットを生成するパケタイズ部と、
上記パケタイズ部で生成されたデータパケットに対して、所定時間単位毎に、冗長符号化を行う符号化部と、
上記符号化部で得られる各符号化ブロックを上記データ受信装置に送信するデータ送信部と、
上記所定時間単位毎に、上記伝送データのデータサイズを取得するデータサイズ取得部と、
上記所定時間単位毎に、上記データサイズ取得部で取得されたデータサイズに基づいて、上記パケタイズ部で生成される各データパケットのパケットサイズを決定するパケットサイズ決定部と
上記データ受信装置におけるパケットロス率の情報に基づいて、上記符号化部で得られる上記符号化ブロックにおける元データパケット数および冗長パケット数を決定する冗長度決定部とを有し、
上記冗長度決定部は、上記パケットロス率をp、上記元データパケット数をk、上記冗長パケット数をn−k、目標符号化ブロック損失率をPtとするとき、
Figure 0004356742
の式を満たすように、上記元データパケット数kおよび上記冗長パケット数n−kを決定し、
上記パケットサイズ決定部は、上記データサイズ取得部で取得されたデータサイズを、上記冗長度決定部で決定された元データパケット数で割ることで、上記パケットサイズを決定し、
上記データ受信装置は、
上記データ送信装置から送信されてくる上記各符号化ブロックを受信して、上記伝送データのデータパケットを取得するデータ受信部と、
上記データ受信部で得られた上記伝送データのデータパケットを解析して該伝送データを再構成するデパケタイズ部とを有する
ことを特徴とするデータ通信システムにある。
この発明において、データ送信装置は、画像データ、音声データ等の伝送データを、パケット化し、さらに所定時間単位毎に、例えばフレーム毎に、冗長符号化を行った後に、ネットワークを介して、データ受信装置に送信する。データ受信装置は、受信したパケットを解析して、伝送データを再構成する。
データ送信装置では、所定時間単位毎に、伝送データのデータサイズが取得され、当該データサイズに基づいて、各データパケットのパケットサイズが決定される。この場合、伝送データが低データレートであるときパケットサイズを小さくして、所定時間単位の伝送データで十分なパケット数のFECブロックを構成することが可能となり、データ受信装置では、所定時間単位毎に復号化処理を行うことができ、遅延を増加させることなく、十分なバーストロス耐性を得ることができる。
この発明において、例えば、伝送データのデータサイズは、ネットワークの状況を示す情報に基づいて決定された伝送レートから取得されるようにしてもよい。例えば、伝送データがビデオデータである場合、伝送レートを1秒間のフレーム数で割ることで、1フレームのデータサイズが取得される。なおこの場合、伝送データ(符号化データ)を得るためのエンコーダは、その出力データのレートが当該伝送レートとなるように制御される。
この発明においては、例えば、符号化ブロックにおける元データパケット数および冗長パケット数は、データ受信装置におけるパケットロス率をp、元データパケット数をk、冗長パケット数をn−k、目標符号化ブロック損失率をPtとするとき、上述の式を満たすように決定される。この場合、符号化ブロック損失率を、目標符号化ブロック損失率Pt以下とすることが可能となる。この場合、パケットサイズは、例えば、上述したように所定時間単位毎に取得されたデータサイズを、上述の式で決定された元データパケット数で割ることで決定される。
なお、上述の式を満たす元データパケット数kおよび冗長パケット数n−kの組み合わせは複数存在するが、例えば、元データパケットのオーバーヘッドの割合と、冗長パケットのオーバーヘッドの割合との総計を最小とする組み合わせが選択される。この場合、オーバーヘッドを最小化することができ、例えば画像伝送において、高品質画像を伝送することができ、かつ、ネットワーク帯域の使用量を最小化することが可能となる。
この発明によれば、低データレートでも、遅延を増加させることなく、十分なバーストロス耐性を得ることができる。
以下、図面を参照して、この発明の実施の形態について説明する。図1は、実施の形態としてのデータ通信システム100の構成の一例を示している。このデータ通信システム100は、データ送信装置110およびデータ受信装置120からなっている。これらデータ送信装置110およびデータ受信装置120は、ネットワーク(IP網)130を介して接続されている。
データ送信装置110は、ビデオデータ、オーディオデータ等の伝送データを、パケット化し、さらに、所定時間単位毎に、冗長符号化としてのFEC符号化を行った後に、データ受信装置120に送信する。データ受信装置120は、受信したFECブロックにロスした元データパケットがあるときは、FEC復号化を行うことで当該ロスした元データパケットを復元する。
図2は、RTPパケットの構成を示している。RTPヘッダには、ヴァージョン番号(v)、パディング(P)、拡張ヘッダの有無を示す拡張ビット、送信元数(Counter)、マーカ情報(markerbit)、ペイロードタイプ(Payload type)、シーケンス番号、タイムスタンプ(TIMESTAMP)、同期ソース(送信元)識別子(SSRC)および貢献ソース(送信元)識別子(CSRC)の各フィールドが設けられている。
データ受信側において、RTPヘッダに付与されたタイムスタンプによりRTPパケットの展開時に処理時間の制御が実行され、リアルタイム画像、または、音声の再生制御が可能となる。なお、例えば、動画像データの符号化データを格納したRTPパケットにおいては、1つのビデオフレームに属する複数のRTPパケットに共通のタイムスタンプが設定され、各フレームを構成する終端パケットには、終端であることを示す識別フラグがRTPヘッダに格納される。
図3は、データ送信装置110の構成の一例を示している。このデータ送信装置110は、エンコーダ111と、パケタイズ部112と、FEC符号化部113と、RTP送信部114と、RTCP通信部115と、冗長度・パケットサイズ決定部116とを有している。なお、データ送信装置110からデータ受信装置120に伝送するデータとしては、ビデオデータ、オーディオデータ等があるが、以下の説明では、ビデオデータを伝送する構成を中心として説明する。
エンコーダ111は、伝送データとしてのビデオデータに対して符号化処理、例えばMPEG2、MPEG4、JPEG2000等の圧縮処理を行う。パケタイズ部112は、エンコーダ111で生成された符号化データをパケット化してデータパケットを生成する。パケタイズ部112は、RTPに従ったデータパケット(以下、適宜、「パケット」と称する)を生成する。このRTPは、IETF RFC1889で規定されている。パケタイズ部112は、符号化データをペイロードとしたパケットを生成する処理を実行する。ペイロードデータに対してRTPパケットヘッダを付加してパケット化する。
RTPに従ったデータ転送では、上述の図2に示すように、時間情報としてパケットにタイムスタンプ(TIMESTAMP)を付加し、当該タイムスタンプの参照により、送信側と受信側の時間的関係の把握を行い、受信側において、パケット転送の遅延揺らぎ(ジッター)などの影響を受けずに同期をとった再生を可能としている。
FEC符号化部113は、パケタイズ部112で生成されたパケットに対して、所定時間単位毎に、FEC冗長符号化を行う。この場合、FEC符号化部113は、所定時間単位毎の複数個のパケットを1つのFECブロックの元データパケットとして、リードソロモン(RS:Read-Solomon)符号等の消失誤り訂正符号を用いて冗長符号化を行う。例えば、(n,k)RS符号を用いる場合、FEC符号化部113では、冗長符号化前のk個の元データパケットから、n−k個の冗長パケットが生成される。なお、n>kである。
この場合、1つのFECブロックにつき、データ送信装置110からn個のパケットが送信される。データ受信装置120においては、n個のパケットのうちk個のパケットを受信できれば、RS復号処理によりk個の元データパケットを復元することができる。
ここで、所定時間単位としては、1フレームあるいは複数フレーム、さらには1フレームの整数分の1等を選択し得るが、この実施の形態においては、所定時間単位が1フレームであるとして説明する。なお、上述したように1つのビデオフレームに属する複数のRTPパケットには、共通のタイムスタンプが設定されている。
図4は、FEC符号化部113におけるFEC符号化処理の一例を示している。FEC符号化部113は、例えば、ビデオデータの送信がユーザにより指示されるとき(ユーザ操作部は図示せず)、ステップST1で初期化を行って、符号化処理を開始する。FEC符号化部113は、その後に、ステップST2において、符号化処理を終了するか否かを判断する。FEC符号化部113は、例えば、ビデオデータの送信終了がユーザにより指示されるとき、符号化処理を終了すると判断する。
FEC符号化部113は、符号化処理を終了するとき、ステップST3において、終了処理を行う。FEC符号化部113は、符号化処理を終了しないとき、ステップST4に移る。このステップST4において、FEC符号化部113は、パケタイズ部112からパケットを取得したか否かを判断する。パケタイズ部112から供給されるパケットは、FECブロックを構成する元データパケットとなる。
FEC符号化部113は、パケタイズ部112から元データパケットを取得していないときは、ステップST2に戻る。FEC符号化部113は、パケタイズ部112から元データパケットを取得したときは、ステップST5に移る。このステップST5において、FEC符号化部113は、冗長度・パケットサイズ決定部116から冗長度情報(FECブロックの元データパケット数および冗長パケット数)を取得する。なお、冗長度・パケットサイズ決定部116における冗長度およびパケットサイズの決定方法については、後述する。
そして、FEC符号化部113は、ステップST6において、FEC符号化を行ってFECブロックを生成し、当該FECブロックをRTP送信部114に送り、その後に、ステップST2に戻る。この場合、FEC符号化部113は、ステップST5で取得された元データパケット数分の元データパケットに対して、冗長パケット数分の冗長パケットを生成付加して、FECブロックを生成する。
RTP送信部114は、FEC符号化部113で得られる各符号化ブロックを構成するパケットを、IPヘッダを付与した後に、ネットワーク(IP網)130に送信する。図5は、IPヘッダのフォーマットを示している。IPv4、IPv6等のヴァージョンを示すヴァージョン、ヘッダ長、さらに、優先度情報を格納したTOS(Type of Service)フィールド、パケットの長さ、パケットの識別子、IP層でのデータ分割(フラグメント)に関する制御情報としてのフラグ、分割(フラグメント)されたデータの場所を示す断片オフセット、データの破棄までの時間情報を示すTTL(Time to Live)、上位層で利用されるプロトコル(4:IP,TCP:7,UDP:17…)、ヘッダのチェックサム、送信元IPアドレス、宛て先IPアドレスを有する。
RTCP通信部115は、データ受信装置120との間で、RTCP(Real-time Transport Control Protocol)パケットの通信を行う。このRTCPは、IETF RFC1889で規定されている。図6は、RTCPパケットのフォーマットを示している。RTCPパケットは、RTCPヘッダおよびRTCPデータからなる。RTCPヘッダには、ヴァージョン情報(Version:V)、パディング(Padding:P)、サブタイプ(subtype)、パケットタイプ(PacketType)、レングス(Length)情報、SSRC/CSRC識別子、アスキー(ASCII)で記述されるNameが記述されている。さらに、この後に、アプリケーション固有の情報が付加される。
この実施の形態において、RTCP通信部115は、RTCPパケットとして、少なくとも、パケットロス率情報を含んだRTCPパケットを、データ受信装置120から受信する。このパケットロス率情報は、後述するように、冗長度・パケットサイズ決定部116における決定処理で使用される。
冗長度・パケットサイズ決定部116は、パケタイズ部112で生成される各データパケットのパケットサイズを決定すると共に、FEC符号化部113で得られるFECブロックにおける元データパケット数および冗長パケット数を決定する。ここで、元データパケット数および冗長パケット数は、冗長度情報を構成している。冗長度・パケットサイズ決定部116は、ビデオデータの1フレーム毎に、冗長度およびパケットサイズを決定する。
冗長度・パケットサイズ決定部116には、上述したRTCP通信部115からのパケットロス率情報の他に、エンコーダ111から、ビデオデータの1フレーム毎に、符号化データのデータサイズ(フレームデータサイズ)情報が供給される。エンコーダ111は、データサイズ取得部を構成している。
冗長度・パケットサイズ決定部116は、パケットロス率から目標とされるFEC復号後のブロック損失率を満たすために必要な冗長度、パケットサイズを算出する。例えば、パケットロス率をp、元データパケット数をk、冗長パケット数をn−k、目標符号化ブロック損失率をPtとするとき、(1)式を満たすように、元データパケット数kおよび冗長パケット数n−kを決定する。この場合、符号化ブロック損失率を、目標符号化ブロック損失率Pt以下とすることが可能となる。
Figure 0004356742
また、冗長度・パケットサイズ決定部116は、1フレーム毎のパケットサイズSpを、エンコーダ111から供給されるデータサイズ情報で示される元データサイズ(フレームデータサイズ)をSoとするとき、(2)式で算出する。つまり、パケットサイズSpは、元データサイズSoを元データパケット数kで割ることで得られる。
Figure 0004356742
なお、上述の(1)式を満たす元データパケット数kおよび冗長パケット数n−kの組み合わせは複数考えられるが、元データパケット数kを小さくしていくと、冗長パケット数n−kを大きくする必要があり、冗長パケットによるオーバーヘッドは大きくなる。一方、元データパケット数kを大きくしていくと、パケットサイズSpが小さくなり、パケットヘッダ等のオーバーヘッドの占める割合が大きくなる。
FECブロックにおけるパケットヘッダオーバーヘッド割合をOp、冗長パケットオーバーヘッド割合をOr、オーバーヘッド総計をOt、パケット毎のヘッダサイズをShとすると、以下の(3)式、(4)式、(5)式が成立する。
Figure 0004356742
冗長度・パケットサイズ決定部116は、上述の(1)式を満たし、オーバーヘッド総計Otが最小となるように、元データパケット数kおよび冗長パケット数n−kを定める。この場合、オーバーヘッドを最小化することができ、例えば画像伝送において、高品質画像を伝送することができ、かつ、ネットワーク帯域の使用量を最小化することが可能となる。
冗長度・パケットサイズ決定部116は、パケットサイズ情報をパケタイズ部112に通知する。パケタイズ部112では、通知されたパケットサイズ情報に基づいて、パケット化処理が行われる。また、冗長度・パケットサイズ決定部116は、冗長度(元データパケット数、冗長パケット数)の情報をFEC符号化部113に通知する。FEC符号化部113では、通知された冗長度情報に基づいて、FEC冗長符号化が行われる。
なお、1フレーム毎の各符号化ブロックにおけるパケットサイズ情報および冗長度情報は、RTPパケットのヘッダに格納されてデータ受信装置120側に送られ、FEC復号化処理、伝送データの再構成処理において使用される。
図7は、冗長度・パケットサイズ決定部116における冗長度・パケットサイズ決定処理の一例を示している。冗長度・パケットサイズ決定部116は、例えば、ビデオデータの送信開始がユーザにより指示されるとき、ステップST11で初期化を行って、冗長度・パケットサイズ決定処理を開始する。冗長度・パケットサイズ決定部116は、その後に、ステップST12において、冗長度・パケットサイズ決定処理を終了するか否かを判断する。冗長度・パケットサイズ決定部116は、例えば、ビデオデータの送信終了がユーザにより指示されるとき、冗長度・パケットサイズ決定処理を終了すると判断する。
冗長度・パケットサイズ決定部116は、冗長度・パケットサイズ決定処理を終了するとき、ステップST13において、終了処理を行う。冗長度・パケットサイズ決定部116は、冗長度・パケットサイズ決定処理を終了しないとき、ステップST14に移る。このステップST14において、冗長度・パケットサイズ決定部116は、RTCP通信部115からパケットロス率情報を取得し、エンコーダ111からフレームデータサイズ(元データサイズSo)を取得する。
そして、冗長度・パケットサイズ決定部116は、ステップST15において、上述の(1)式を満たし、かつ(3)式のオーバーヘッド総計Otが最小となるように、元データパケット数k、冗長パケット数n−kおよびパケットサイズSpを決定する。そして、冗長度・パケットサイズ決定部116は、ステップST16において、ステップST15で決定されたパケットサイズSpの情報をパケタイズ部112に通知し、また、ステップST15で決定された元データパケット数k、冗長パケット数n−kの情報(冗長度情報)をFEC符号化部113に通知し、その後に、ステップST12に戻り、次のフレームにおける、冗長度およびパケットサイズの決定処理に移行する。
図8は、データ受信装置120の構成を示している。このデータ受信装置120は、RTP受信部121と、FEC復号化部122と、デパケタイズ部123と、デコーダ124と、RTCP通信部125とを有している。
RTP受信部121は、データ送信装置110からネットワーク(IP網)130を介して送られてくる各FECブロックのパケットを受信し、内蔵の受信バッファに一時的に蓄積する。この場合、RTP受信部121は、各FECブロックそれぞれに含まれるパケットを受信したかどうかを記録する。
例えば、以下の例のように記録される。この例では、FECブロックblk_id 1にパケットが5つ含まれ、そのうちの4番目のパケットのみが受信されなかったということが記録されている。

fec_blk_db_t {
unsigned int blk_id; //
intpkt_db[BLK_PKT_MAX]; //1:received,0:not receiver
pkt_num; //the number of packet in fec block
} fec_blk_db;

fec_blk_db.blk_id =1;
fec_blk_db.pkt_num =5;
fec_blk_db.pkt_db[0]= 1;
fec_blk_db.pkt_db[1]= 1;
fec_blk_db.pkt_db[2]= 1;
fec_blk_db.pkt_db[3]= 0;
fec_blk_db.pkt_db[4]= 1;
FEC復号化部122は、RTP受信部121の受信バッファに保持された各FECブロックのパケットのうち元データパケットにロスがあった場合、復号化が可能であるときはFEC復号化を行ってロスしたパケットを復元する。例えば、(n,k)RS符号を用いる場合、FECブロックを構成するn個のパケットのうちk個のパケットを受信できれば、RS復号処理によりk個の元データパケットを復元できる。RTP受信部121およびFEC復号化部122は、データ受信部を構成している。
図9は、RTP受信部121のパケット受信・FEC復号化処理の一例を示している。RTP受信部121は、例えば、ビデオデータの受信開始がユーザにより指示されるとき(ユーザ操作部は図示せず)、ステップST21において、自身およびFEC復号化部122の初期化を行って、パケット受信・FEC復号化処理を開始する。RTP受信部121は、その後に、ステップST22において、パケット受信・FEC復号化処理を終了するか否かを判断する。RTP受信部121は、例えば、ビデオデータの受信終了がユーザにより指示されるとき、パケット受信・FEC復号化処理を終了すると判断する。
RTP受信部121は、パケット受信・FEC復号化処理を終了するとき、ステップST23において、終了処理を行う。RTP受信部121は、パケット受信・FEC復号化処理を終了しないとき、ステップST24に移る。このステップST24において、RTP受信部121は、受信バッファにパケットを受信し、FECデータベースを更新する。このFECデータベースの更新は、上述したように、各FECブロックにそれぞれに含まれるパケットを受信したかどうかを記録する処理に該当する。
そして、RTP受信部121は、ステップST25において、FEC復号化が必要で、かつFEC復号化が可能であるか否かを判断する。RTP受信部121は、FECブロックの元データパケットにロスがあるときは、FEC復号化が必要であると判断する。また、RTP受信部121は、当該FECブロックを構成する複数のパケットのうち、復号化が可能な数のパケットを受信しているときは、復号化が可能であると判断する。
FEC復号化が必要でないか、あるいはFEC復号化は必要であるがFEC復号化が不可能であるとき、RTP受信部121は、ステップST22に戻る。この場合、FECブロックのロスした元データパケットは復元されず、ロスしたままとなる。
FEC復号化が必要で、かつFEC復号化が可能であるとき、RTP受信部121は、ステップST26において、FEC復号化部122により復号化を行って、復号されたパケットを受信バッファに戻す。そして、RTP受信部121は、ステップST26の処理の後に、ステップST22に戻り、次のFECブロックの処理に移行する。
デパケタイズ部123は、RTP受信部121の受信バッファに蓄積されたRTPパケットを解析する。デパケタイズ部123は、RTPパケット内のヘッダ、ペイロードについての解析を実行し、パケット化前の符号化データを再構成する。デコーダ124は、デパケタイズ部123で再構成された符号化データに対して復号化処理を施し、ビデオデータを得る。
RTCP通信部125は、データ送信装置110との間で、RTCPパケットの通信を行う。この実施の形態において、RTCP通信部125は、RTCPパケットとして、少なくとも、パケットロス率情報を含んだRTCPパケットを、データ送信装置110に送信する。この場合、パケットロス率情報は、RTP受信部121から与えられる。
図1に示すデータ通信システム100の動作を説明する。
データ送信装置110(図3参照)のエンコーダ111には、図示しないデータソーから伝送すべきビデオデータが供給される。エンコーダ111では、ビデオデータに対してMPEG等の圧縮符号化処理が施されて、符号化データが生成される。そして、エンコーダ111で生成された符号化データはパケタイズ部112に供給される。
冗長度・パケットサイズ決定部116には、エンコーダ111から、ビデオデータの1フレーム毎に、フレームデータサイズ(元データサイズSo)の情報が供給される。また、冗長度・パケットサイズ決定部116には、RTCP通信部115から、データ受信装置120におけるパケットロス率の情報が供給される。
冗長度・パケットサイズ決定部116では、フレームデータサイズ(元データサイズSo)およびパケットロス率の情報に基づいて、パケットサイズおよび冗長度(元データパケット数、冗長パケット数)の情報が決定される。そして、パケットサイズの情報はパケタイズ部112に通知される。また、冗長度の情報はFEC符号化部113に通知される。
パケタイズ部112では、符号化データがパケット化され、RTPに従ったデータパケット(RTPパケット)が生成される。この場合、各フレームの符号化データは、冗長度・パケットサイズ決定部116から通知されたパケットサイズ毎に分割されてパケット化される。このパケタイズ部112では、各フレームで、冗長度・パケットサイズ決定部116で決定された元データパケット数分のパケット(元データパケット)が生成される。
パケタイズ部112で生成されたパケットはFEC符号化部113に供給される。FEC符号化部113では、冗長度・パケットサイズ決定部116から通知された冗長度情報に基づいて、フレーム毎に、冗長符号化が行われてFECブロックが生成される。例えば、(n,k)RS符号を用いる場合、FEC符号化部113では、冗長符号化前のk個の元データパケットから、n−k個の冗長パケットが生成される。
FEC符号化部113で生成された各FECブロックを構成するパケットは、RTP送信部114に供給される。そして、各パケットは、RTP送信部114から、ネットワーク(IP網)130を介して、データ受信装置120(図8参照)に送信される。
データ受信装置120のRTP受信部121では、データ送信装置110からネットワーク(IP網)130を介して送られてくるパケットが受信されて、内蔵の受信バッファに一時的に蓄積される。そして、受信バッファに保持された各FECブロックのパケットのうち元データパケットにロスがあった場合、復号化が可能であるときは、FEC復号化部122によりFEC復号化が行われて、ロスしたパケットが復元される。
RTP受信部121の受信バッファに蓄積されたRTPパケットは、デパケタイズ部123で解析される。そして、当該RTPパケットからパケット化前の符号化データが再構成される。そして、再構成された符号化データはデコーダ124に供給される。デコーダ124では、符号化データに対しし復号化処理が施され、ビデオデータが取得される。
また、RTP受信部121からRTCP通信部125にはパケットロス率の情報が供給される。RTCP通信部125では、パケットロス率の情報を含むRTCPパケットが生成され、当該RTCPパケットはネットワーク(IP網)130を介してデータ送信装置110に送信される。このようにRTCPパケットによってデータ送信装置110に遅れられたパケットロス率情報は、上述したように、データ送信装置110の冗長度・パケットサイズ決定部116で使用される。
図1に示すデータ通信システム100によれば、データ送信装置110では、フレーム毎に、フレームデータサイズ(元データサイズSo)に基づいて、各データパケットのパケットサイズSpが決定される。この場合、エンコーダ111で生成される符号化データ(伝送データ)が低データレートであるときはパケットサイズを小さくして、フレーム毎の符号化データ(伝送データ)だけで十分なパケット数のFECブロックを構成することが可能となる。したがって、データ受信装置120では、フレーム毎に、復号化処理を行うことができ、例えばフレーム毎に1つのタイムスタンプを付与するものにあっては、遅延を増加させることなく、十分なバーストロス耐性を得ることができる。
また、図1に示すデータ通信システム100によれば、データ送信装置110の冗長度・パケットサイズ決定部116では、上述の(1)式を満たすように、冗長度(元データパケット数kおよび冗長パケット数n−kが決定されるものであり、データ受信装置120における符号化ブロック損失率を、目標符号化ブロック損失率Pt以下とすることができる。
また、図1に示すデータ通信システム100によれば、データ送信装置110の冗長度・パケットサイズ決定部116では、上述の(1)式を満たす元データパケット数kおよび冗長パケット数n−kの複数の組み合わせのうち、元データパケットのオーバーヘッド割合Opと、冗長パケットのオーバーヘッド割合Orとの総計Otを最小とする組み合わせが選択されるものであり、オーバーヘッドを最小化することができる。したがって、例えば画像伝送において、高品質画像を伝送することができ、かつ、ネットワーク帯域の使用量を最小化することが可能となる。
なお、冗長度・パケットサイズ決定部116では、上述した処理手順(図7のフローチャート参照)とは別個の処理手順で、冗長度(元データパケット数kおよび冗長パケット数n−k)を決定してもよい。
例えば、冗長度・パケットサイズ決定部116は、フレームデータサイズ(元データサイズSo)が閾値より大きいか否かによって、冗長度およびパケットサイズを以下のように決定する。ここで、閾値は任意の値を取り得る。この閾値の決定方法の一例として、以下の方法がある。すなわち、元データサイズSoを0から徐々に変化させながら、パケットサイズSp=MTU(Maximum Transmission Unit)として、上述の(1)式を満たす最小のnを計算したとき、Or>0.5からOr≦0.5へ変化する点があるので、その点における元データサイズSoを閾値とする。
まず、元データサイズSoが閾値より大きい場合について説明する。この場合、冗長度・パケットサイズ決定部116は、パケタイズ部112で生成される各データパケットのパケットサイズSpをMTUサイズに決定する。また、冗長度・パケットサイズ決定部116は、FEC符号化部113で得られるFECブロックにおける元データパケット数kを、元データサイズSoを、決定されたパケットサイズ(MTUサイズ)Spで割ることにより決定する。
さらに、冗長度・パケットサイズ決定部116は、FEC符号化部113で得られるFECブロックにおける冗長パケット数n−kを、上述の(1)式を満たすように決定する。
次に、元データサイズSoが閾値以下の場合について説明する。この場合、冗長度・パケットサイズ決定部116は、FEC符号化部113で得られるFECブロックにおける元データパケット数kを、冗長パケットオーバーヘッド割合Orが一定値以上にならない値(k_const)に決定する。
この場合、k=1の場合に(1)式を満たす最小のn、およびそのときのOr、k=2の場合に(1)式を満たす最小のn、およびそのときのOr、k=3・・・・を求めておく。この場合、kが大きくなるに従ってOrが小さくなっていく。このOrが一定値以上にならないときのkをk_constとして決定する。
また、冗長度・パケットサイズ決定部116は、FEC符号化部113で得られるFECブロックにおける冗長パケット数n−kを、上述の(1)式を満たすように決定する。さらに、冗長度・パケットサイズ決定部116は、パケタイズ部112で生成される各データパケットのパケットサイズSpを、元データサイズSoを、決定された元データパケット数kで割ることで決定する。
図10のフローチャートは、冗長度・パケットサイズ決定部116における冗長度・パケットサイズ決定処理の一例を示している。冗長度・パケットサイズ決定部116は、例えば、ビデオデータの送信開始がユーザにより指示されるとき、ステップST31で初期化を行って、冗長度・パケットサイズ決定処理を開始する。冗長度・パケットサイズ決定部116は、その後に、ステップST32において、冗長度・パケットサイズ決定処理を終了するか否かを判断する。冗長度・パケットサイズ決定部116は、例えば、ビデオデータの送信終了がユーザにより指示されるとき、冗長度・パケットサイズ決定処理を終了すると判断する。
冗長度・パケットサイズ決定部116は、冗長度・パケットサイズ決定処理を終了するとき、ステップST33において、終了処理を行う。冗長度・パケットサイズ決定部116は、冗長度・パケットサイズ決定処理を終了しないとき、ステップST34に移る。このステップST34において、冗長度・パケットサイズ決定部116は、RTCP通信部115からパケットロス率情報を取得し、エンコーダ111からフレームデータサイズ(元データサイズSo)情報を取得する。
そして、冗長度・パケットサイズ決定部116は、ステップST35において、元データサイズSoが閾値より大きいか否かを判断する。元データサイズSoが閾値より大きいとき、冗長度・パケットサイズ決定部116は、ステップST36に移る。このステップST36において、冗長度・パケットサイズ決定部116は、パケタイズ部112で生成される各データパケットのパケットサイズSpを、MTUサイズに決定する。
また、冗長度・パケットサイズ決定部116は、ステップST36において、FEC符号化部113で得られるFECブロックにおける元データパケット数kを、元データサイズSoを、決定されたパケットサイズ(MTUサイズ)Spで割ることにより決定する。さらに、冗長度・パケットサイズ決定部116は、ステップST36において、FEC符号化部113で得られるFECブロックにおける冗長パケット数n−kを、上述の(1)式を満たすように決定する。
そして、冗長度・パケットサイズ決定部116は、ステップST36の処理の後に、ステップST37に移る。このステップST37において、冗長度・パケットサイズ決定部116は、パケタイズ部112にパケットサイズ情報を通知し、FEC符号化部113に冗長度情報を通知し、その後、ステップST32に戻り、次のフレームにおける、冗長度およびパケットサイズの決定処理に移行する。
また、ステップST35において、元データサイズSoが閾値以下であるとき、冗長度・パケットサイズ決定部116は、ステップST38に移る。このステップST38において、冗長度・パケットサイズ決定部116は、FEC符号化部113で得られるFECブロックにおける元データパケット数kを、冗長パケットオーバーヘッド割合Orが一定値以上にならない値(k_const)に決定する。
また、冗長度・パケットサイズ決定部116は、ステップST38において、FEC符号化部113で得られるFECブロックにおける冗長パケット数n−kを、上述の(1)式を満たすように決定する。さらに、冗長度・パケットサイズ決定部116は、ステップST38において、パケタイズ部112で生成される各データパケットのパケットサイズSpを、元データサイズSoを、決定された元データパケット数kで割ることで決定する。
そして、冗長度・パケットサイズ決定部116は、ステップST38の処理の後に、ステップST37に移る。このステップST37において、冗長度・パケットサイズ決定部116は、パケタイズ部112にパケットサイズ情報を通知し、FEC符号化部113に冗長度情報を通知し、その後、ステップST32に戻り、次のフレームにおける、冗長度およびパケットサイズの決定処理に移行する。
上述したように、閾値によって場合分けをして、冗長度(元データパケット数kおよび冗長パケット数n−k)およびパケットサイズSpを決定する場合、冗長パケット数n−kを(1)式で求める段階では元データパケット数kは既に決まっているので、冗長パケット数n−kは一意に決まる。したがって、上述の(1)式を満たす元データパケット数kおよび冗長パケット数n−kの複数の組み合わせから1つの組み合わせを選択するという煩わしさがなくなる。
また、上述実施の形態において、データ送信装置110の冗長度・パケットサイズ決定部116は、エンコーダ111からフレーム毎に供給されるフレームデータサイズ(元データサイズSo)の情報を用いるものを示した。しかし、冗長度・パケットサイズ決定部として、レート制御部で決定される伝送レートに基づいて、フレームデータサイズ(元データサイズSo)を取得して、用いることも考えられる。
図11は、レート制御部を有するデータ送信装置110Aの構成例を示している。この図11において、図3と対応する部分には同一符号を付して示している。このデータ送信装置100は、エンコーダ111と、パケタイズ部112と、FEC符号化部113と、RTP送信部114と、RTCP通信部115と、冗長度・パケットサイズ決定部116Aと、レート制御部117とを有している。
レート制御部117は、RTCP通信部115から供給されるパケットロス率、伝送往復遅延時間(RTT:Round Trip Time)等のネットワーク情報を基に、伝送レートを決定する。なお、RTCP通信部115では、データ受信装置120との間で遅延計測用のRTCPパケットをやり取りすることで、伝送往復遅延時間の計測がなされる。このレート制御部117で決定される伝送レートの情報は、エンコーダ111およびRTP送信部114に通知されると共に、冗長度・パケットサイズ決定部116Aに通知される。
冗長度・パケットサイズ決定部116Aは、レート制御部117から通知される伝送レートの情報に基づいて、フレームデータサイズ(元データサイズSo)を求める。冗長度・パケットサイズ決定部116Aは、例えば、伝送レートを、予めシステム内で定められたビデオデータのフレームレートで割ることにより、フレームデータサイズを求める。この意味で、冗長度・パケットサイズ決定部116Aは、データサイズ取得部を構成する。
冗長度・パケットサイズ決定部116Aは、当該フレームデータサイズ(元データサイズSo)と、RTCP通信部115から供給されるパケットロス率に基づいて、冗長度(元データパケット数kおよび冗長パケット数n−k)およびパケットサイズSpを決定する。詳細説明は省略するが、冗長度・パケットサイズ決定部116Aは、フレームデータサイズ(元データサイズSo)およびパケットロス率を用いて、冗長度およびパケットサイズを決定する処理を、上述した図3のデータ送信装置110の冗長度・パケットサイズ決定部116と同様に行う。
図11に示すデータ送信装置110Aのその他の構成および動作は、図3に示すデータ送信装置110と同様である。
図12のフローチャートは、冗長度・パケットサイズ決定部116Aにおける冗長度・パケットサイズ決定処理の一例を示している。この図12において、図7と対応するステップには同一符号を付し、その詳細説明は省略する。
図12に示す冗長度・パケットサイズ決定処理においては、図7に示す冗長度・パケットサイズ決定処理におけるステップST14の処理の代わりに、ステップST14aおよびステップST14bの処理が行われる。
すなわち、冗長度・パケットサイズ決定部116Aは、ステップST12で冗長度・パケットサイズ決定処理を終了しないとき、ステップST14aに移る。このステップST14aおいて、冗長度・パケットサイズ決定部116Aは、RTCP通信部115からパケットロス率情報を取得し、レート制御部117から伝送レート情報を取得する。そして、冗長度・パケットサイズ決定部116Aは、ステップST14bにおいて、伝送レートおよびフレームレートから、フレームデータサイズ(元データサイズSo)を求める。
冗長度・パケットサイズ決定部116Aは、ステップST14bの処理の後に、冗長度(元データパケット数kおよび冗長パケット数n−k)とパケットサイズSpを決定するステップST15の処理に移行する。以下の処理は、図7に示すフローチャートと同様である。
図13のフローチャートは、冗長度・パケットサイズ決定部116Aにおける冗長度・パケットサイズ決定処理の他の例を示している。この図13において、図10と対応するステップには同一符号を付し、その詳細説明は省略する。
図13に示す冗長度・パケットサイズ決定処理においては、図10に示す冗長度・パケットサイズ決定処理におけるステップST34の処理の代わりに、ステップST34aおよびステップST34bの処理が行われる。
すなわち、冗長度・パケットサイズ決定部116Aは、ステップST32で冗長度・パケットサイズ決定処理を終了しないとき、ステップST34aに移る。このステップST34aおいて、冗長度・パケットサイズ決定部116Aは、RTCP通信部115からパケットロス率情報を取得し、レート制御部117から伝送レート情報を取得する。そして、冗長度・パケットサイズ決定部116Aは、ステップST34bにおいて、伝送レートおよびフレームレートから、フレームデータサイズ(元データサイズSo)を求める。
冗長度・パケットサイズ決定部116Aは、ステップST34bの処理の後に、元データサイズSoと閾値とを比較するステップST35の処理に移行する。以下の処理は、図10に示すフローチャートと同様である。
なお、上述していないが、データ受信装置120でFECブロックのロスした元データパケットをFEC復号化処理により復元できなかった場合については、当該データ受信装置120からデータ送信装置110にNACK(NegativeACKnowledge)−RTCPパケットを送信し、再送要求を行うようにしてもよい。
この発明は、低データレートでも、遅延を増加させることなく、十分なバーストロス耐性を得ることができるものであり、ビデオデータ、オーディオデータ等のストリーミングデータを伝送するデータ通信システムに適用できる。
実施の形態としてのデータ通信システムの構成を示すブロック図である。 RTPパケットのフォーマットを示す図である。 データ送信装置の構成例を示すブロック図である。 データ送信装置におけるFEC符号化処理の一例を示すフローチャートである。 IPヘッダのフォーマットを示す図である。 RTCPパケットのフォーマットを示す図である。 データ送信装置における冗長度・パケットサイズ決定処理の一例を示すフローチャートである。 データ受信装置の構成例を示すブロック図である。 データ受信装置におけるパケット受信・FEC復号化処理の一例を示すフローチャートである。 データ送信装置における冗長度・パケットサイズ決定処理の他の例を示すフローチャートである。 データ送信装置の他の構成例を示すブロック図である。 データ送信装置における冗長度・パケットサイズ決定処理の他の例を示すフローチャートである。 データ送信装置における冗長度・パケットサイズ決定処理の他の例を示すフローチャートである。
符号の説明
100・・・データ通信システム、110,110A・・・データ送信装置、111・・・エンコーダ、112・・・パケタイズ部、113・・・FEC符号化部、114・・・RTP送信部、115・・・RTCP通信部、116,116A・・・冗長度・パケットサイズ決定部、117・・・レート制御部、120・・・データ受信装置、121・・・RTP受信部、122・・・FEC復号化部、123・・・デパケタイズ部、124・・・デコーダ、125・・・RTCP通信部

Claims (5)

  1. データ送信装置およびデータ受信装置からなり、パケット化された伝送データを、ネットワークを介して伝送するデータ通信システムであって、
    上記データ送信装置は、
    上記伝送データをパケット化してデータパケットを生成するパケタイズ部と、
    上記パケタイズ部で生成されたデータパケットに対して、所定時間単位毎に、冗長符号化を行う符号化部と、
    上記符号化部で得られる各符号化ブロックを上記データ受信装置に送信するデータ送信部と、
    上記所定時間単位毎に、上記伝送データのデータサイズを取得するデータサイズ取得部と、
    上記所定時間単位毎に、上記データサイズ取得部で取得されたデータサイズに基づいて、上記パケタイズ部で生成される各データパケットのパケットサイズを決定するパケットサイズ決定部と
    上記データ受信装置におけるパケットロス率の情報に基づいて、上記符号化部で得られる上記符号化ブロックにおける元データパケット数および冗長パケット数を決定する冗長度決定部とを有し、
    上記冗長度決定部は、上記パケットロス率をp、上記元データパケット数をk、上記冗長パケット数をn−k、目標符号化ブロック損失率をPtとするとき、
    Figure 0004356742
    の式を満たすように、上記元データパケット数kおよび上記冗長パケット数n−kを決定し、
    上記パケットサイズ決定部は、上記データサイズ取得部で取得されたデータサイズを、上記冗長度決定部で決定された元データパケット数で割ることで、上記パケットサイズを決定し、
    上記データ受信装置は、
    上記データ送信装置から送信されてくる上記各符号化ブロックを受信して、上記伝送データのデータパケットを取得するデータ受信部と、
    上記データ受信部で得られた上記伝送データのデータパケットを解析して該伝送データを再構成するデパケタイズ部とを有する
    ことを特徴とするデータ通信システム。
  2. パケット化された伝送データを、ネットワークを介してデータ受信装置に送信するデータ送信装置であって、
    上記伝送データをパケット化してデータパケットを生成するパケタイズ部と、
    上記パケタイズ部で生成されたデータパケットに対して、所定時間単位毎に、冗長符号化を行う符号化部と、
    上記符号化部で得られる各符号化ブロックを上記データ受信装置に送信するデータ送信部と、
    上記所定時間単位毎に、上記伝送データのデータサイズを取得するデータサイズ取得部と、
    上記所定時間単位毎に、上記データサイズ取得部で取得されたデータサイズに基づいて、上記パケタイズ部で生成される各データパケットのパケットサイズを決定するパケットサイズ決定部と、
    上記データ受信装置におけるパケットロス率の情報に基づいて、上記符号化部で得られる上記符号化ブロックにおける元データパケット数および冗長パケット数を決定する冗長度決定部とを有し、
    上記冗長度決定部は、上記パケットロス率をp、上記元データパケット数をk、上記冗長パケット数をn−k、目標符号化ブロック損失率をPtとするとき、
    Figure 0004356742
    の式を満たすように、上記元データパケット数kおよび上記冗長パケット数n−kを決定し、
    上記パケットサイズ決定部は、上記データサイズ取得部で取得されたデータサイズを、上記冗長度決定部で決定された元データパケット数で割ることで、上記パケットサイズを決定する
    ことを特徴とするデータ送信装置。
  3. 上記冗長度決定部は、上記式を満たす上記元データパケット数kおよび上記冗長パケット数n−kの組み合わせのうち、上記元データパケットのオーバーヘッドの割合と、上記冗長パケットのオーバーヘッドの割合との総計を最小とする組み合わせを選択する
    ことを特徴とする請求項に記載のデータ送信装置。
  4. 上記ネットワークの状況を示す情報に基づいて伝送レートを決定する伝送レート制御部をさらに有し、
    上記データサイズ取得部は、上記伝送レート制御部で決定された伝送レートに基づいて、上記所定時間単位毎に、上記伝送データのデータサイズを取得する
    ことを特徴とする請求項2に記載のデータ送信装置。
  5. パケット化された伝送データを、ネットワークを介してデータ受信装置に送信するデータ送信方法であって、
    上記伝送データをパケット化してデータパケットを生成するパケット化ステップと、
    上記パケット化ステップで生成されたデータパケットに対して、所定時間単位毎に、冗長符号化を行う符号化ステップと、
    上記符号化ステップで得られる各符号化ブロックを上記データ受信装置に送信するデータ送信ステップと、
    上記所定時間単位毎に、上記伝送データのデータサイズを取得するデータサイズ取得ステップと、
    上記所定時間単位毎に、上記データサイズ取得ステップで取得されたデータサイズに基づいて、上記パケット化ステップで生成される各データパケットのパケットサイズを決定するパケットサイズ決定ステップと
    上記データ受信装置におけるパケットロス率の情報に基づいて、上記符号化ステップで得られる上記符号化ブロックにおける元データパケット数および冗長パケット数を決定する冗長度決定ステップとを有し、
    上記冗長度決定ステップでは、上記パケットロス率をp、上記元データパケット数をk、上記冗長パケット数をn−k、目標符号化ブロック損失率をPtとするとき、
    Figure 0004356742
    の式を満たすように、上記元データパケット数kおよび上記冗長パケット数n−kを決定し、
    上記パケットサイズ決定ステップでは、上記データサイズ取得ステップで取得されたデータサイズを、上記冗長度決定ステップで決定された元データパケット数で割ることで、上記パケットサイズを決定する
    ことを特徴とするデータ送信方法。
JP2006346959A 2006-12-25 2006-12-25 データ通信システム、データ送信装置およびデータ送信方法 Expired - Fee Related JP4356742B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006346959A JP4356742B2 (ja) 2006-12-25 2006-12-25 データ通信システム、データ送信装置およびデータ送信方法
TW96145037A TWI363531B (en) 2006-12-25 2007-11-27 Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy
KR20070132404A KR101449710B1 (ko) 2006-12-25 2007-12-17 데이터 통신시스템, 데이터 송신장치, 데이터 송신방법 및패킷 사이즈 및 용장도 결정방법
US11/958,643 US8023533B2 (en) 2006-12-25 2007-12-18 Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy
CN2007101598794A CN101212280B (zh) 2006-12-25 2007-12-25 数据通信***,数据发射设备/方法和确定分组大小及冗余的方法
US13/236,517 US8711884B2 (en) 2006-12-25 2011-09-19 Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006346959A JP4356742B2 (ja) 2006-12-25 2006-12-25 データ通信システム、データ送信装置およびデータ送信方法

Publications (2)

Publication Number Publication Date
JP2008160499A JP2008160499A (ja) 2008-07-10
JP4356742B2 true JP4356742B2 (ja) 2009-11-04

Family

ID=39542632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006346959A Expired - Fee Related JP4356742B2 (ja) 2006-12-25 2006-12-25 データ通信システム、データ送信装置およびデータ送信方法

Country Status (5)

Country Link
US (2) US8023533B2 (ja)
JP (1) JP4356742B2 (ja)
KR (1) KR101449710B1 (ja)
CN (1) CN101212280B (ja)
TW (1) TWI363531B (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3734774B2 (ja) * 2002-06-21 2006-01-11 株式会社リコー ネットワークファクシミリ装置、及び、ファクシミリ通信方法
US8437370B2 (en) * 2011-02-04 2013-05-07 LiveQoS Inc. Methods for achieving target loss ratio
US7953114B2 (en) * 2004-08-06 2011-05-31 Ipeak Networks Incorporated System and method for achieving accelerated throughput
US9647952B2 (en) 2004-08-06 2017-05-09 LiveQoS Inc. Network quality as a service
US9189307B2 (en) 2004-08-06 2015-11-17 LiveQoS Inc. Method of improving the performance of an access network for coupling user devices to an application server
US8009696B2 (en) * 2004-08-06 2011-08-30 Ipeak Networks Incorporated System and method for achieving accelerated throughput
JP4356742B2 (ja) * 2006-12-25 2009-11-04 ソニー株式会社 データ通信システム、データ送信装置およびデータ送信方法
US20090135724A1 (en) * 2007-11-27 2009-05-28 Tellabs Operations, Inc. Method and apparatus of RTP control protocol (RTCP) processing in real-time transport protocol (RTP) intermediate systems
US20090135735A1 (en) * 2007-11-27 2009-05-28 Tellabs Operations, Inc. Method and apparatus of RTP control protocol (RTCP) processing in real-time transport protocol (RTP) intermediate systems
JP5444647B2 (ja) * 2008-07-01 2014-03-19 富士通株式会社 データ転送装置、データ転送方法及びデータ転送プログラム
JP5035176B2 (ja) * 2008-08-21 2012-09-26 富士通株式会社 伝送システム、伝送装置および伝送方法
US8804821B2 (en) * 2008-09-26 2014-08-12 Microsoft Corporation Adaptive video processing of an interactive environment
US8243117B2 (en) * 2008-09-26 2012-08-14 Microsoft Corporation Processing aspects of a video scene
JP4883076B2 (ja) * 2008-12-12 2012-02-22 ソニー株式会社 情報処理装置および方法
JP4702443B2 (ja) 2008-12-17 2011-06-15 ソニー株式会社 通信システム、通信方法、通信装置、およびプログラム
EP2228927A1 (en) * 2009-03-12 2010-09-15 Alcatel Lucent Method for processing distributed data having a chosen type for synchronizing communication nodes of a data packet network, and associated device
US8949444B1 (en) * 2009-07-14 2015-02-03 Juniper Networks, Inc. Flow control scheme for parallel flows
JP5212319B2 (ja) * 2009-09-08 2013-06-19 ブラザー工業株式会社 符号化装置、符号化方法、および符号化プログラム
CN101729320A (zh) * 2009-12-14 2010-06-09 华为技术有限公司 传输控制方法和接入设备及传输***
JP5515758B2 (ja) * 2010-01-18 2014-06-11 ソニー株式会社 画像処理装置および方法
JP5493910B2 (ja) 2010-01-25 2014-05-14 ソニー株式会社 無線通信装置、無線通信方法、通信制御装置、およびプログラム
KR20110090596A (ko) * 2010-02-04 2011-08-10 삼성전자주식회사 지터 보정 방법 및 장치
JP5397700B2 (ja) * 2010-04-09 2014-01-22 ソニー株式会社 情報処理装置および方法
US10951743B2 (en) 2011-02-04 2021-03-16 Adaptiv Networks Inc. Methods for achieving target loss ratio
US8717900B2 (en) 2011-02-07 2014-05-06 LivQoS Inc. Mechanisms to improve the transmission control protocol performance in wireless networks
JP5744554B2 (ja) * 2011-02-07 2015-07-08 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US9590913B2 (en) 2011-02-07 2017-03-07 LiveQoS Inc. System and method for reducing bandwidth usage of a network
WO2012127625A1 (ja) 2011-03-22 2012-09-27 富士通株式会社 並列計算機、通信制御装置および通信制御方法
CN103650432A (zh) * 2011-07-08 2014-03-19 三星电子株式会社 用于在多媒体***中生成前向纠错包的方法和用于发送和接收前向纠错包的方法及装置
KR101259748B1 (ko) * 2011-09-28 2013-04-30 서울대학교산학협력단 모바일 iptv 서비스 제공 방법 이를 실행하는 시스템
US20140133498A1 (en) * 2012-01-31 2014-05-15 Panasonic Corporation Communication device and communication method
WO2014039080A1 (en) * 2012-09-07 2014-03-13 Heartvista, Inc. Methods for optimal gradient design and fast generic waveform switching
JP2013225761A (ja) * 2012-04-20 2013-10-31 Hitachi Ltd 符号化装置、復号装置、通信システム及び通信制御方法
KR101961736B1 (ko) * 2012-04-23 2019-03-25 삼성전자 주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
KR20130126876A (ko) 2012-04-30 2013-11-21 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
AU2013287309B2 (en) 2012-07-09 2015-12-24 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for distributing information during broadcast delivery
KR101478662B1 (ko) * 2013-01-15 2015-01-02 서정환 클라이언트의 ip주소를 서버로 전송하는 중계 시스템 및 방법
US9413494B2 (en) * 2013-01-17 2016-08-09 Qualcomm Incorporated FEC-based reliable transport control protocols for multipath streaming
US9055036B2 (en) 2013-02-28 2015-06-09 Motorola Solutions, Inc. Method and apparatus for transmitting a user datagram protocol message that is larger than a defined size
FI3972135T3 (fi) 2013-07-18 2024-03-20 Samsung Electronics Co Ltd Laite ja menetelmä paketin lähettämiseksi/vastaanottamiseksi multimediaviestintäjärjestelmässä
US9680650B2 (en) * 2013-08-23 2017-06-13 Qualcomm Incorporated Secure content delivery using hashing of pre-coded packets
WO2015072005A1 (ja) 2013-11-15 2015-05-21 株式会社日立製作所 通信装置及びシステム及び方法
GB2521441B (en) * 2013-12-20 2016-04-20 Imagination Tech Ltd Packet loss mitigation
US20160344632A1 (en) * 2014-01-20 2016-11-24 Nec Corporation Transmission device, transmission method, and program recording medium
US9525611B2 (en) 2014-01-27 2016-12-20 Imagine Communications Corp. Transmission system implementing delay measurement and control
CN103997434B (zh) * 2014-05-21 2017-12-05 华为技术有限公司 网络传输状况的探测方法和相关设备
CN107769887B (zh) * 2016-08-17 2021-02-12 华为技术有限公司 一种数据传输、数据处理方法及装置
US10212065B2 (en) 2016-10-20 2019-02-19 Gatesair, Inc. Extended time reference generation
US10361817B2 (en) * 2017-01-20 2019-07-23 Dolby Laboratories Licensing Corporation Systems and methods to optimize partitioning of a data segment into data packets for channel encoding
US11129033B2 (en) * 2017-08-28 2021-09-21 Mitsubishi Electric Corporation Wireless communication device, wireless communication method and computer readable medium
CN108810074A (zh) * 2018-04-11 2018-11-13 中国农业银行股份有限公司 数据传输方法、装置及***、终端
CN110913421B (zh) * 2018-09-18 2021-10-29 大唐移动通信设备有限公司 一种语音包数量的确定方法及装置
KR102162350B1 (ko) * 2019-02-14 2020-10-06 국방과학연구소 다중 통신 제어 장치 및 방법
CN110191488B (zh) * 2019-05-17 2022-07-29 京信网络***股份有限公司 Volte保障传输的方法、装置及***
CN110247736B (zh) * 2019-06-27 2022-04-22 北京奇艺世纪科技有限公司 一种数据传输方法及装置
US10998919B2 (en) * 2019-10-02 2021-05-04 Microsoft Technology Licensing, Llc Coded stream processing
CN112333470B (zh) * 2020-10-27 2022-05-27 杭州叙简科技股份有限公司 一种基于视频帧的fec纠错***
CN115278769A (zh) * 2021-04-30 2022-11-01 华为技术有限公司 数据传输方法、装置、***及可读存储介质
CN113452480A (zh) * 2021-06-21 2021-09-28 青岛海尔科技有限公司 数据传输方法和装置、数据接收方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060960A (ja) 1999-06-18 2001-03-06 Sony Corp 伝送方法及び電子機器並びに提供媒体
JP2001086153A (ja) 1999-09-09 2001-03-30 Canon Inc データ通信装置、データ通信システム、データ通信方法及び記憶媒体
US6898758B2 (en) * 2001-06-20 2005-05-24 Koninklijke Philips Electronics N.V. Cross media error protection method and system
US8045935B2 (en) * 2001-12-06 2011-10-25 Pulse-Link, Inc. High data rate transmitter and receiver
KR20030095995A (ko) * 2002-06-14 2003-12-24 마츠시타 덴끼 산교 가부시키가이샤 미디어 전송방법 및 그 송신장치 및 수신장치
US7584404B2 (en) * 2002-12-19 2009-09-01 Intel Corporation Method and apparatus for multimedia communication over packet channels
JP2004215224A (ja) 2002-12-20 2004-07-29 Nippon Telegr & Teleph Corp <Ntt> 符号誤り訂正方法、符号誤り訂正システム、プログラム及びそのプログラムを記録した記録媒体
US20040146299A1 (en) * 2003-01-29 2004-07-29 George Clapp Periodic optical packet switching
US7304959B1 (en) * 2003-04-07 2007-12-04 Novell, Inc. Utility based filtering mechanism for PMTU probing
US20050013249A1 (en) * 2003-07-14 2005-01-20 Hao-Song Kong Redundant packets for streaming video protection
JP4362761B2 (ja) 2003-10-29 2009-11-11 ソニー株式会社 送信装置および方法、記録媒体、並びにプログラム
JP4349114B2 (ja) 2003-12-10 2009-10-21 ソニー株式会社 送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
JP4454320B2 (ja) * 2004-01-09 2010-04-21 富士通株式会社 伝送装置、伝送制御プログラム、及び伝送方法
WO2006038054A1 (en) * 2004-10-06 2006-04-13 Nokia Corporation Packet transmission using error correction of data packets
JP4544528B2 (ja) 2005-07-14 2010-09-15 Kddi株式会社 データ伝送装置
US7430220B2 (en) * 2005-07-29 2008-09-30 International Business Machines Corporation System load based dynamic segmentation for network interface cards
JP4356742B2 (ja) * 2006-12-25 2009-11-04 ソニー株式会社 データ通信システム、データ送信装置およびデータ送信方法

Also Published As

Publication number Publication date
KR20080059508A (ko) 2008-06-30
US8711884B2 (en) 2014-04-29
TWI363531B (en) 2012-05-01
US20120008644A1 (en) 2012-01-12
TW200835236A (en) 2008-08-16
JP2008160499A (ja) 2008-07-10
CN101212280A (zh) 2008-07-02
US8023533B2 (en) 2011-09-20
CN101212280B (zh) 2011-08-03
US20080151776A1 (en) 2008-06-26
KR101449710B1 (ko) 2014-10-13

Similar Documents

Publication Publication Date Title
JP4356742B2 (ja) データ通信システム、データ送信装置およびデータ送信方法
JP4173755B2 (ja) データ伝送サーバ
JP4513725B2 (ja) パケット送信装置、通信システム及びプログラム
US7320099B2 (en) Method and apparatus for generating error correction data, and a computer-readable recording medium recording an error correction data generating program thereon
JP5778672B2 (ja) バックワードルッキングロバストヘッダ圧縮レシーバ
KR100987421B1 (ko) 데이터통신시스템, 데이터송신장치, 데이터수신장치, 데이터통신방법 및 컴퓨터가 판독가능한 기록 매체
US7315898B2 (en) Data communication system, data transmission apparatus, data reception apparatus, data communication method, and computer program
JP6893237B2 (ja) データストリーミングの前方誤り訂正
KR100634946B1 (ko) 패킷 에러 정정 장치 및 방법
US7673063B2 (en) Methods for streaming media data
KR100612003B1 (ko) 통신망에서 비트 스트림 송수신 장치 및 그 방법
US20050180415A1 (en) Medium streaming distribution system
JP2008546231A (ja) 帯域外ディレクトリ情報を使用するエラー耐性の改良
JP4600513B2 (ja) データ送信装置、送信レート制御方法およびプログラム
JP5344541B2 (ja) データ送信装置、送信方法及びプログラム
JP2010119133A (ja) パケット送信装置、通信システム及びプログラム
US20180091406A1 (en) User defined protocol for self correcting zero-added-jitter transmission of layer-2 datagrams across one-way lossy packet-switched network links
JP2004159101A (ja) データ伝送方法、データ送信装置、データ受信装置、及びデータ伝送システム
JP2008141633A (ja) データ通信システム、データ受信装置、データ受信方法、データ送信装置およびデータ送信方法
US8250450B2 (en) Method and system for using redundancy to exchange data in a multicast or one way environment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090120

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

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

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees