JP5408981B2 - 通信装置、及び通信方法、プログラム - Google Patents

通信装置、及び通信方法、プログラム Download PDF

Info

Publication number
JP5408981B2
JP5408981B2 JP2008313400A JP2008313400A JP5408981B2 JP 5408981 B2 JP5408981 B2 JP 5408981B2 JP 2008313400 A JP2008313400 A JP 2008313400A JP 2008313400 A JP2008313400 A JP 2008313400A JP 5408981 B2 JP5408981 B2 JP 5408981B2
Authority
JP
Japan
Prior art keywords
packet
packets
delay time
restored
determined
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.)
Active
Application number
JP2008313400A
Other languages
English (en)
Other versions
JP2010141413A (ja
JP2010141413A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2008313400A priority Critical patent/JP5408981B2/ja
Priority to EP20090177958 priority patent/EP2197140A3/en
Priority to US12/632,606 priority patent/US8312352B2/en
Priority to CN2009102520921A priority patent/CN101753279B/zh
Publication of JP2010141413A publication Critical patent/JP2010141413A/ja
Publication of JP2010141413A5 publication Critical patent/JP2010141413A5/ja
Application granted granted Critical
Publication of JP5408981B2 publication Critical patent/JP5408981B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0045Arrangements at the receiver end
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、パケットの通信方法に関する。
一般に、ネットワークでの通信帯域や通信速度などの保証や通信エラーを補償する為の技術を総称してQoS(Quality of Service)と呼ぶ。特に、RTP(A Transport Protocol for Real−Time Application)などの形式で音声や動画像データを通信する際には、ARQやFECと呼ばれる技術が用いられることが知られている。ここで、ARQはAutomatic Repeat Request、FECはForward Error Correctionである。ARQは通信エラーによって受信装置が受信できなかったパケットを再送する技術である。また、FECは、送信データに付加された冗長データによって、通信エラーによって正常に受信できなかったパケットを復元する技術である。
更に、ARQとFECを組み合わせたハイブリッドARQという技術が知られている(例えば特許文献1)。特許文献1には、FECで復元できなかったパケットのみARQによって再送することが記載されている。
特開2004−159042号公報
しかしながら、再送パケットによって、通信量が増加してしまうという問題がある。
即ち、例えば、FECによって復元できなかった欠落パケットが多い場合、復元できなかったすべての欠落パケットを再送すると、通信量が急激に増加してしまう恐れがある。特に、欠落パケットが多いときは、ネットワークで輻輳が発生している可能性もある。このような場合は、できるだけ通信量を少なくすることが望ましい。
本発明は上記の問題点に鑑みてなされたものであり、その目的は、再送パケットによる通信量の増加を低減することである。
本発明の目的を達成するために、例えば本発明の通信装置は、以下の構成を有する。即
ち、パケットの通信を行う通信装置であって、通信に失敗した複数のパケットのうち、第1のパケットが正常に通信されたと仮定すると前記第1のパケットと正常に通信された復元用パケットとを用いて復元可能な第2のパケットがあるか、及び、前記復元可能な第2のパケットと正常に通信された前記復元用パケットとを用いて復元可能な第3のパケットがあるか判定する判定手段と、正常に通信されると複数のパケットが復元可能であると前記判定手段により判定された前記第1のパケットを再送させる場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段により判定された複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する決定手段とを有する。
また、本発明の通信装置は、ケットと、通信に失敗したパケットを復元するために用いられる復元用パケットを通信する通信装置であって、通信に失敗した複数のパケットのうち、第1のパケットが正常に通信されたと仮定すると前記第1のパケットと正常に通信された復元用パケットとを用いて復元可能な第2のパケットがあるか、及び、前記復元可能な第2のパケットと正常に通信された前記復元用パケットとを用いて復元可能な第3のパケットがあるか判定する判定手段と、前記第1のパケットが正常に通信されたと仮定すると複数のパケットが復元可能であると前記判定手段により判定された場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段により判定された複数のパケットのうちの少なくとも一部のパケットを除いて、前記第1のパケットと共に再送させるパケットを決定する決定手段とを有する。
また、本発明の通信装置は、ケットと、通信に失敗したパケットを復元するために用いられる復元用パケットを通信する通信装置であって
信に失敗した複数のパケットのうち、第1のパケットが正常に通信されたと仮定すると前記第1のパケットと正常に通信された復元用パケットとを用いて復元可能な第2のパケットがあるか、及び、前記復元可能な第2のパケットと正常に通信された前記復元用パケットとを用いて復元可能な第3のパケットがあるか判定する判定手段と
信に失敗した複数のパケットから、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段が判定したパケットを除いて、前記第1のパケットと共に再送させるパケットを決定する決定手段と
を有する
また、本発明の通信方法は、パケットの通信を行う通信装置が行う通信方法であって、
判定手段が、通信に失敗した複数のパケットのうち、第1のパケットが正常に通信されたと仮定すると、前記第1のパケットと正常に通信された復元用パケットとを用いて復元可能な第2のパケットがあるか、及び、前記復元可能な第2のパケットと正常に通信された前記復元用パケットとを用いて復元可能な第3のパケットがあるか判定する判定工程と、
決定手段が、正常に通信されると複数のパケットが復元可能であると判定された第1のパケットを再送させる場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定工程において判定された複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する決定工程と
を有することを特徴とする通信方法。
本発明によれば、再送パケットによる通信量の増加を低減させることができる。
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<実施形態1>
図1は、本実施形態におけるデータ送信装置101、及びデータ受信装置102を含む送受信システムの基本構成を示すブロック図である。本形態では、データ送信装置101が、映像、音声等のデータパケット、及び、復元用パケット(FECパケット)をデータ受信装置102に対して送信する。尚、FECパケットは、データ受信装置102が、通信に失敗したデータパケット(欠落データパケット)を復元するために用いるパケットである。通信に失敗したデータパケット(欠落データパケット)とは、例えば、伝送経路で欠落したデータパケットである。また、データ受信装置102は、復元用パケットを用いても復元できなかった欠落データパケットの再送要求パケットをデータ送信装置101に送信する。即ち、データ送信装置101、及び、データ受信装置102は、共に、パケットの通信を行う通信装置である。
図1に示すように、データ送信装置101は、RTPパケット生成部103、FECパケット生成部104、パケット送信バッファ105、送受信部106、再送パケット決定部107を備えている。一方、データ受信装置102は、送受信部108、パケット受信バッファ109、パケット復元部110、パケット再送要求部111を備えている。
また、データ送信装置101とデータ受信装置102は、伝送路112を介して通信可能に接続されている。
RTPパケット生成部103は、外部から入力された映像データ及び/又は音声データを通信に適したサイズに分割し、更に通信するために必要なヘッダを付加してRTPのデータパケットを生成する。RTPパケット生成部103は、生成したデータパケットをFECパケット生成部104、及び、パケット送信バッファ105に出力する。
FECパケット生成部104は、RTPパケット生成部103により生成されたデータパケットが欠落した場合に、そのデータパケットを復元するための復元用パケット(FECパケット)を生成する。すなわち、FECパケット生成部104は、通信に失敗したパケット(欠落データパケット)をデータ受信装置102が復元するために通信される復元用データパケット(FECパケット)を生成する。つまり、FECパケット生成部104は、例えば、図2のようにA〜Iの9個のデータパケット201から誤り訂正符号化により、R1〜R6の6個のFECパケットを生成する。
誤り訂正符号化の方法として代表的なものは、パリティ(XOR)符号やBCH符号、リードソロモン符号などがあげられる。本実施形態では、以下、パリティ符号によりFECパケットを生成するものとして説明するが、誤り訂正符号化の方法はパリティ符号に限定するものではなく、上述した様な方法を用いることが可能である。
図2においてR1〜R3は、データパケット201の行方向の3個のデータパケットからXOR計算によりそれぞれ生成されたFECパケットである。また、R4〜R6は、列方向の3個のデータパケットからXOR計算によりそれぞれ生成されたFECパケットである。
つまり、本形態のFECパケット生成部104は、RTPパケット生成部103により生成されたデータパケットを図2に示すような行列状に並べる。そして、FECパケット生成部104は、1つの行に属する複数のデータパケットに対してFECパケットを1個生成する。また、FECパケット生成部104は、1つの列に属する複数のデータパケットに対してFECパケットを1個生成する。このように、本形態のFECパケット生成部104は、各データパケットが2つの復元グループに属するようにFECパケットを生成している。
そして、復元グループ内のデータパケットが1個、欠落した場合、残りの2個のデータパケット、及びFECパケットを用いて、XOR計算により、欠落データパケットを復元する。例えば、データパケットAが欠落した場合、データパケットB、Cと、FECパケットR1を用いてデータパケットAが復元される。ただし、各データパケットが1つ、或いは3つ以上の復元グループに属するようにしても良い。また、1つの復元グループに属するデータパケットの数は、3個に限らない。
ここで、複数のパケットが欠落した場合のパケット復元の方法について、図3を用いて説明する。図3においてデータパケットB,F,G,IとFECパケットR2,R4,R5が欠落したとする。この場合、まず欠落データパケットBは、正常に受信できたデータパケットAとC、およびFECパケットR1の3個のパケットからXOR計算により復元することができる。
一方、欠落した残りのデータパケットF,G,Iは、各々行方向も列方向も2パケット欠落しているのでこのままでは復元することができない。しかし、欠落データパケットF,G,Iのうち、例えばデータパケットFが再送され、正常に受信できた場合、データパケットIは列方向のパケットの組み合わせにより復元できる。また、データパケットGもデータパケットIが復元されたことにより、行方向の組み合わせにより復元することが可能となる。
つまり、データパケットBが復元されたことにより、欠落データパケットは3パケットとなるが、3パケット全てを再送する必要は無く、例えばデータパケットFのみが再送されれば全ての欠落データパケットを復元することができる。
ところで、再送されたデータパケットが正常に通信された場合に、データ受信装置102において、復元可能な欠落データパケットの数は、場合によって異なる。
即ち、図3を用いて説明すると、欠落データパケットF,G,Iのうち、どのデータパケットを再送しても、ほかの2個の欠落データパケットを復元できる。例えば、データパケットFが再送された場合、データパケットC、F、及びFECパケットR6によってデータパケットIを復元することができる。また、データパケットH、I、及びFECパケットR3によってデータパケットGを復元することができる。データパケットG、又はIを再送した場合も同様に、すべての欠落したデータパケットを連鎖的に復元することができる。この連鎖的に復元できるデータパケットの数を、連鎖復元数と呼ぶ。つまり、本形態では、再送されたデータパケットを含めて復元可能なデータパケットの数を連鎖復元数と呼ぶ。従って、図3の例では、データパケットF,G,Iは各々、連鎖復元数が3となる。
尚、例えばデータパケットBが再送されても、ほかの欠落したデータパケットを復元することはできないので、データパケットBの連鎖復元数は1となる。
更に、図3とは別のパターンについて、図7を用いて説明する。図7において、9つのデータパケット701のうち、欠落したデータパケットは、データパケットA,B,E,F,G,Iである。この場合、例えば、データパケットAが正常に再送されると、データパケットBおよびGはそれぞれ行方向・列方向の誤り訂正復号により復元することができる。さらに、データパケットIは、行方向の誤り訂正復号により復元可能することができ、その後、データパケットFは、列方向の誤り訂正復号により復元することができる。最後にデータパケットEを行方向の誤り訂正復号により復元することができる。
これはデータパケットA以外の欠落データパケットが正常に通信された場合も同様である。すなわち、どの欠落データパケットが正常に通信されても、残りの欠落データパケットを連鎖的に復元可能である。従って、図7に示した6個の欠落データパケットの連鎖復元数はいずれも6となる。
再送パケット決定部107は、複数のデータパケットが欠落し、かつ、上記のように連鎖的に復元可能なパケットが存在する場合、欠落データパケットのうち、どのパケットを再送するか決定する。つまり、再送パケット決定部107は、欠落したデータパケットのうち、あるデータパケットが正常に通信されると複数のパケットが復元可能であると判定される場合、復元可能な複数のパケットのうちの少なくとも一部のパケットを再送しない。尚、再送パケット決定部107は、データ受信装置102から通知される再送要求パケットに含まれる欠落データパケットと欠落FECパケットの識別情報から、復元可能な欠落データパケットを判定する。
即ち、再送パケット決定部107は、通信に失敗した複数のパケットのうちの第1のパケットが正常に通信された場合に復元可能なパケットを判定する。そして、再送パケット決定部107は、正常に通信されると複数のパケットが復元可能であると判定された第1のパケットを再送させる場合、復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する。
また、本形態の再送パケット決定部107は、連鎖復元数が大きいデータパケットは、重要度が高いと判断する。つまり、連鎖復元数が大きいデータパケットが再送され、正常に通信されると多くの欠落データパケットを復元することができる一方、その再送データパケットが欠落すると多くの欠落データパケットが復元できなくなってしまう。そこで、再送パケット決定部107は、連鎖復元数が大きいデータパケットほど重要度が高いと判断し、より多くのデータパケットを再送する。図8に、本実施形態における連鎖復元数と再送パケット数の対応関係を示す。ただし、連鎖復元数と再送データパケット数の対応は、図8の例に限らない。
尚、本実施形態においては、相互に連鎖的に復元することが可能な欠落データパケットのグループを、連鎖復元グループと呼ぶ。また、同じ連鎖復元グループに属する欠落データパケットの連鎖復元数は、同じ値となる。
すなわち、ある連鎖復元数の欠落データパケットがある場合、その連鎖復元数と同じ連鎖復元数の欠落データパケットが、少なくともその復元連鎖数と同じ数だけ存在する。つまり、例えば、連鎖復元数が3の欠落データパケットがあった場合、そのパケットのほかに、連鎖復元数が3の欠落データパケットが少なくとも2つ存在する。また、その3つの欠落データパケットのうち、いずれかのパケットが正常に再送されると、残りの2つの欠落データパケットを復元することができる場合、その3つの欠落データパケットが同じ連鎖復元グループに属していると判定される。
例えば、欠落データパケットAが正常に受信されると欠落データパケットBが復元可能で、かつ、欠落データパケットBが正常に受信されると欠落データパケットAが復元可能な場合、欠落データパケットA、及びBは、同じ連鎖復元グループに属すると判定される。つまり、同じ連鎖復元グループに属する欠落データパケットは、連鎖復元グループに属する任意の1つの欠落データパケットが正常に通信されれば、該連鎖復元グループの他の欠落データパケットがすべて復元できるという条件を満たす。
尚、上述の図3、及び図7の説明では、それぞれ1つの連鎖復元グループのみが存在する場合の例である。つまり、図3、図7の例では、欠落データパケットのうち、いずれか1個の再送パケットが正常に通信されれば、ほかの欠落データパケットがすべて復元可能である。本実施形態では、図3、図7のように、すべての欠落パケットが1つの連鎖復元グループに属する場合は、連鎖復元グループの連鎖復元数に応じて、再送パケット数と再送パケットを決定する。一方、複数の連鎖復元グループに分類される場合の処理は、実施形態3で説明する。尚、連鎖復元グループは、上述の復元グループとは異なるものである。
図8に示すように、再送パケット決定部107は、連鎖復元数が1、又は2の場合は、再送データパケット数を1個とする。つまり、連鎖復元数が1の欠落データパケットについては、その欠落データパケットを再送すると決定する。また、復元連鎖数が2の欠落データパケットについては、連鎖復元グループに属する2個の欠落データパケットのうち、いずれか一方の欠落データパケットを再送すると決定する。以下同様にして、再送パケット決定部107は、再送データパケットの数を決定する。
例えば、図7のような欠落パターンでは、欠落した各データパケット(データパケットA、B、E、F、G、I)の復元連鎖数が6であり、同一の連鎖復元グループに属している。図8によれば、この場合の再送パケット数は3つである。このとき、欠落データパケットA、B、E、F、G、Iのうち、いずれか1つが正常に再送されればほかの欠落データパケットを復元することができるが、再送パケット決定部107は、3つの欠落データパケットを再送する。
即ち、再送パケット決定部107は、第1のパケットが正常に通信されると復元可能なパケットの数(連鎖復元数)に応じて、復元可能なパケットのうち第1のパケットと共に再送させるパケットの数を決定する。このようにすることで、再送パケットの一部が欠落してしまっても、欠落データパケットを復元できる。尚、欠落データパケットのうち、同じデータパケットを複数再送するようにしても良い。このようにすれば、再送処理を簡単にすることができる。ただし、連鎖復元グループに属する複数の異なるパケットを再送するようにしても良い。このようにすれば、複数の再送パケットが正常に受信された場合に、復元にかかる処理を少なくすることができる。
また、連鎖復元数が所定数以上である場合に、欠落データパケット数よりも再送パケット数が少なくなるようにしても良い。つまり、図8には、連鎖復元数が2の場合に、欠落データパケットの数(2個)に対して再送パケット数(1個)を少なくすることが示されている。しかし、例えば、連鎖復元数が4以上の場合に、欠落データパケット数よりも再送パケット数が少なくなるように、図8の再送パケット数を設定するようにしても良い。このようにすると、連鎖復元数が所定値以下(例えば3以下)の場合は、欠落データパケットがすべて再送されることになる。
次に、本実施形態の再送パケットの決定処理について、図11のフローチャート、及び、図4を用いて説明する。図11は、本実施形態の再送パケット決定部107による再送パケットの決定処理を示すフローチャートである。
また、図4は、データ送信装置101によって送信されたパケットが伝送路上で欠落した場合における処理の具体的例を示した図である。
図11のステップS1501において、データ送信装置101の再送パケット決定部107は、送信したパケットが欠落したことを検知する。この検知は、データ受信装置102から送信される再送要求パケットに含まれる欠落パケットの情報により行われる。
つまり、図4に示すように、データ送信装置101は、例えば、データパケットA〜I、及び、FECパケットR1〜R6をデータ受信装置102に対して送信する。そして、データパケットC,E,F,HとFECパケットR3,R6が伝送路112にて欠落したとする。
データ受信装置102のパケット復元部110は、各パケットのヘッダ部分にあるシーケンスナンバーを参照することで、パケットの欠落の有無をチェックしている。そして、データパケットの欠落を検知すると、正常に受信されたほかのデータパケットとFECパケットによって欠落データパケット復元できるか判定し、復元できる欠落データパケットを誤り訂正符号により復元する。図4の例では、欠落データパケットCが、正常に受信されたデータパケットA、B、及びFECパケットR1を用いて復元される(S401)。
そして、データ受信装置102は、FECパケットによって復元できない欠落データパケットがある場合、その欠落データパケット、及び、欠落FECパケットの情報(シーケンスナンバー)を含む再送要求パケットを、データ送信装置101に対して送信する。ここでは、図4に示すように、欠落データパケットE、F、H、及び、欠落FECパケットR3、R6の情報を含む再送要求パケットが送信されたものとする(S402)。
ステップS1502、及び、ステップS1503の処理は、データ送信装置101は行わないため説明を省略する。
ステップS1504(判定手順)において、再送パケット決定部107は、欠落データパケット(E、F、H)を連鎖復元グループに分類する。再送パケット決定部107は、連鎖復元グループに分類するために、各欠落データパケットが正常に通信された場合に復元可能な他の欠落データパケットを判定する。例えば、再送パケット決定部107は、欠落データパケットEが正常に通信されたと仮定した場合に復元可能な欠落データパケットを判定する。即ち、ステップS1504において、再送パケット決定部107は、通信に失敗した複数のパケット(欠落データパケット)のうちの第1のパケット(欠落データパケットE)が正常に通信された場合に復元可能なパケットを判定する。尚、再送パケット決定部107は、正常に通信されたと仮定した欠落データパケット(第1のパケット)及び、正常に通信されたデータパケットとFECパケットに基づいて、復元可能な欠落データパケットを判定する。
図4の例では、連鎖復元グループは1つである。つまり、欠落データパケットE、F、Hのうち、いずれか1つでも正常に通信されれば、すべての欠落データパケットを復元することができる。また、このときの各欠落データパケットの連鎖復元数は、3である。再送パケット決定部107が欠落データパケットを連鎖復元グループに分類すると、ステップS1505に進む。
ステップS1505(決定手順)において、再送パケット決定部107は、連鎖復元数が最大の連鎖復元グループの欠落データパケットから、再送する欠落データパケットを決定する。この例では、欠落データパケットE、F、Hから、再送するデータパケットを決定する。再送するデータパケットの数は、例えば図8に示したような表に基づいて決定する。つまり、再送されたパケットとFECパケットに基づいて複数のパケットが復元可能な場合、復元可能な複数のパケットから少なくとも一部のパケットを除いたパケットから、再送させるパケットが決定される。ここでは、データパケットE、Fが再送パケットとして決定されたものとする(図4のS403)。つまり、欠落データパケットHは再送されない。
即ち、ステップS1505において、正常に通信されると複数のパケットが復元可能であると判定された第1のパケットを再送させる場合、復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する。再送パケットが決定されると、ステップS1506に進む。
ステップS1506において、再送パケット決定部107は、再送パケットを決定した連鎖復元グループに属する欠落パケットがすべて復元されると仮定し、ステップS1507に進む。
ステップS1507において、再送パケット決定部107は、すべての欠落データパケットが復元されると仮定されたか否かを判定する。再送パケット決定部107が、すべての欠落データパケットが復元されると仮定されたと判定した場合は、ステップS1508に進み、まだ復元されない欠落データパケットがあると判定した場合は、ステップS1504に戻る。図4の例では、データパケットE、Fを再送することにより、すべての欠落データパケットが復元されると仮定できるため、ステップS1508に進む。尚、再送パケット決定部107は、すべての欠落データパケットを復元する必要がない場合、復元する必要のある欠落データパケットが復元されると仮定されたか否かを判定する。また、この例のように、復元連鎖グループが1つしかない場合は、ステップS1507の処理を省略しても良い。
ステップS1508において、再送パケット決定部107は、ステップS1505で決定された再送パケットの識別情報(例えばシーケンスナンバー)を送受信部106に通知する。そして、送受信部106は、再送パケットの識別情報に基づいてパケット送信バッファ105から再送パケットのデータを読み出し、データ受信装置102へ送信する。この例では、欠落データパケットE、F、Hのうち、データパケットE、Fが再送信される。
そして、データ受信装置102では、データパケットB、E、及び、FECパケットR5を用いて、欠落データパケットHが復元される。尚、図4では、再送されたデータパケットE、Fの両方が正常に受信された場合について説明しているが、いずれか一方が正常に受信されれば、すべての欠落データパケットを復元することができる。また、上述のように、3個の欠落データパケットE、F、Hのうち、異なる2個のデータパケット(例えばE、F)を再送パケットとして決定することも、1個のデータパケット(例えばE)を2回再送することも可能である。
ところで、図8に示す表に記載の連鎖復元数に対する再送パケットの数は、例えば全て1とすることも可能である。その場合、再送した1個のパケットが伝送路で欠落するとほかのデータパケットも復元することは出来なくなるが、一方で再送するパケットの数を少なくすることができる。従って、欠落したパケットを再送することによる通信量の増加をより効果的に低減することができる。
また、伝送路112の状況に応じて再送パケットの数を決定しても良い。
本実施形態のようなRTPでのパケット通信においては、受信状況を把握するために、RTCP(RTP Control Protocol)というプロトコルが使用される。
RTCPでは、パケットの送信側と受信側で相互に送信情報と受信情報を格納したパケットのやり取りが行なわれるが、特に、受信側から送信側へ通知するパケットをレシーバーレポートという。このレシーバーレポートには、損失(欠落)パケットおよび受信パケットの累積数が含まれている。また、レシーバーレポートには、データ送信装置101からパケットが送信されてからデータ受信装置102が受信するまでに要する時間(遅延時間)に関する遅延時間情報が含まれている。
再送パケット決定部107は、上記の情報を分析することによって、伝送路112の状況を判定することができる。具体的には、伝送路112において輻輳が発生すると、送信パケット数に対する欠落パケット数の割合(エラー率)が増加し、パケットの送達時間が長くなる。そこで、本形態の再送パケット決定部107は、エラー率が増加し、さらに、データ送信装置101からパケットが送信されてからデータ受信装置102が受信するまでに要する時間(遅延時間)が長くなると、輻輳が発生していると判定する。再送パケット決定部107は、伝送路112で輻輳が発生していると判定すると、輻輳が発生していない場合よりも再送パケットの数を少なくする。
即ち、再送パケット決定部107は、通信に失敗したパケットの数(欠落パケット数)に応じたエラー率を取得する。そして、再送パケット決定部107は、エラー率が第1のエラー率よりも高い第2のエラー率で、かつ、復元可能であると判定されたパケットの数(連鎖復元数)が第1のパケット数であった場合、以下のようにして、再送パケット数を決定する。
すなわち、再送パケット決定部107は、エラー率が第1のエラー率で、かつ連鎖復元数が第1のパケット数であった場合よりも再送パケット数が少なくなるように、再送パケットの数を決定する。また、再送パケット決定部107は、パケットが送信されてから受信されるまでに要する遅延時間の遅延時間情報を取得する。そして、再送パケット決定部107は、遅延時間情報と復元可能であると判定されたパケット数(連鎖復元数)に応じて、以下のようにして再送パケット数を決定する。
つまり、第1の遅延時間の遅延時間情報が取得されたあと、第1の遅延時間より長い第2の遅延時間の遅延時間情報が取得され、かつ連鎖復元数が第1のパケット数であった場合、再送パケット数が第2のパケット数となるようにする。
一方、再送パケット決定部107は、第1の遅延時間の遅延時間情報が取得されたあと、第2の遅延時間より長い第3の遅延時間の遅延時間情報が取得され、かつ連鎖復元数が第1のパケット数であった場合、再送パケット数が第3のパケット数となるようにする。すなわち、再送パケット決定部107は、連鎖的に復元可能なパケットのうち、第2のパケット数よりも少ない第3のパケット数のパケットが再送されるように、再送パケットを決定する。
尚、データ送信装置101からパケットが送信されてからデータ受信装置102が受信するまでに要する時間(遅延時間)に関する遅延時間情報として、例えば、RTT(Round Trip Time)やジッタの情報を用いることができる。ただし、これらの例に限らない。また、エラー率、及び、遅延時間情報のいずれかによって輻輳の発生を判定するようにしても良い。
このように、再送パケット決定部107は、伝送路112が輻輳状態ではないと判定された場合には再送するパケット数を多く、一方、輻輳状態であると判定された場合には再送するパケット数を少なくする。このようにすることで、輻輳が起こっていない場合は、すべての欠落パケットが復元される可能性を上げることができ、輻輳時には、再送パケットによる輻輳状態の悪化を低減することができる。
ところで、これまでの説明では、欠落した全てのデータパケットを復元する例を中心に説明したが、欠落した全てのデータパケットを復元しないようにしても良い。つまり、欠落したデータパケットのうち、より優先度の高いデータパケットが復元できるように、再送パケットを決定するようにしても良い。
優先度の高いデータパケットの例として、例えば、イントラ(Intra)圧縮されたフレームのデータが挙げられる。ここで、イントラ圧縮されたフレームのデータとは、ほかのフレームのデータを参照しないで符号化されている動画像データである。これに対し、インター圧縮されたフレームのデータには、ほかのフレームのデータを参照して符号化された動画像データが含まれている。イントラ圧縮されたフレームのデータは、あとに通信されるデータが参照する可能性が高いため、このデータが復元されないと、長い期間に渡って欠落の影響を受ける可能性が高い。従って、再送パケット決定部107は、イントラ圧縮されたフレームのデータを含むデータパケットが復元できるように、再送パケットを決定することができる。即ち、再送パケット決定部107は、通信に失敗したパケットが別のフレームのデータを参照して符号化されている動画像データを含むか否かに応じて、通信に失敗したパケットを再送するか決定する。このようにすれば、データパケットの欠落による影響を低減しつつ、欠落パケットの再送による通信量の増加も低減することができる。
また、伝送路112が輻輳状態であるか否かに応じて、欠落したすべてのデータパケットを復元させるか、欠落したデータパケットのうち、優先度の高いデータパケットのみを復元させるかを決めるようにしても良い。例えば、再送パケット決定部107は、伝送路112が輻輳状態にあると判定した場合は、欠落したデータパケットのうち、イントラ圧縮した動画像データを復元するためのデータパケットを再送させる。一方、輻輳状態ではないと判定された場合は、欠落したデータパケットがすべて復元できるように、再送するデータパケットを決定する。尚、輻輳状態の判定は、例えば、エラー率、もしくは遅延時間情報、またはこれらの組み合わせにより行うことができる。
即ち、再送パケット決定部107は、通信に失敗したパケットの数(欠落パケット数)に応じたエラー率を取得する。そして、エラー率が第1のエラー率よりも高い第2のエラー率であった場合、通信に失敗したパケットのうち、別のフレームのデータを参照して符号化されていない動画像データが含まれるパケットが再送されるように、再送パケットを決定する。
また、再送パケット決定部107は、パケットが送信されてから受信されるまでに要する時間に基づく遅延情報(遅延時間の増加量)を取得する。そして、遅延時間が第1の遅延時間である遅延時間情報が取得されたあと、遅延時間が第1の遅延時間より長い第2の遅延時間である第2の遅延時間情報が取得された場合、イントラ圧縮、インター圧縮に限らず、再送パケットを決定する。つまり、再送パケット決定部107は、イントラ圧縮された動画像データが含まれるパケット、及び、インター圧縮された動画像データが含まれるパケットが再送されるように、再送パケットを決定する。
一方、再送パケット決定部107は、第1の遅延時間の遅延時間情報が取得されたあと、第2の遅延時間より長い第3の遅延時間の遅延時間情報が取得された場合、イントラ圧縮された動画像データが含まれるパケットが再送されるように再送パケットを決定する。
尚、優先度を高くするデータは、イントラ圧縮された動画像データに限らず、例えば、表示画面上における位置や画面内における動き量に応じて決定するようにしても良い。また、優先度を複数の段階に設定し、輻輳状態と優先度に応じて、再送するデータパケットを決定するようにしても良い。このようにすることで、輻輳時に、データパケットの欠落による影響を低減しつつ、再送パケットによる輻輳状態の悪化も低減することができる。
以上説明したように、本実施形態のデータ送信装置101は、通信に失敗したデータパケット(欠落データパケット)が正常に通信された場合に復元できるデータパケットを判定する。そして、正常に通信された場合に複数の欠落データパケットを復元できると判定された欠落データパケットを再送する場合は、そのデータパケットによって復元できる欠落データパケットの少なくとも一部が再送されないように、再送パケットを決定する。
このようにすることで、欠落したパケットを再送することによる通信量の増加を低減させることができる。また、データ送信装置101が再送するパケットを決定することで、データ受信装置102の機能によらず、本発明の効果を得ることができる。
<実施形態2>
次に本発明の第2の実施形態について、実施形態1との差異を中心に説明する。
実施形態1では、データ送信装置101が再送パケットを決定する場合について説明したが、本実施形態では、データ受信装置502が再送要求をするパケットを決定する。
図5は、本実施形態におけるデータ送信装置501、データ受信装置502を含む送受信システムの基本構成を示すブロック図である。
尚、本形態では、データ送信装置501が、映像、音声等のデータパケット、及び、復元用パケット(FECパケット)をデータ受信装置502に対して送信する。尚、FECパケットは、通信に失敗したデータパケットをデータ受信装置502が復元するために用いるパケットである。また、データ受信装置502は、復元用パケットを用いても復元できなかった欠落データパケットに基づいて再送要求するデータパケットを決定し、再送要求パケットをデータ送信装置501に送信する。即ち、データ送信装置501、及び、データ受信装置502は、共に、パケットの通信を行う通信装置である。
図5に示すように、本実施形態では、データ受信装置502が再送パケット決定部513を含む構成となっている。
即ち、第1の実施形態では、データ受信装置102が、伝送路112で欠落したパケットの情報をデータ送信装置101に対して通知し、データ送信装置101が再送するデータパケットを決定していた。それに対し、本実施形態ではデータ受信装置502が再送するデータパケットを決定し、再送すると決定されたデータパケットの情報(例えばシーケンスナンバー)を含む再送要求パケットをデータ送信装置501へ通知する。
次に、本実施形態の再送パケットの決定処理について、図11のフローチャート、及び、図6を用いて説明する。
図11は、本実施形態の再送パケット決定部513による再送パケットの決定処理を示すフローチャートである。
また、図6は、データ送信装置501によって送信されたパケットが伝送路上で欠落した場合における処理の具体的例を示した図である。
図11のステップS1501において、データ受信装置502のパケット復元部110は、データパケットの欠落を検知する。本形態のパケット復元部110は、受信されたパケットのヘッダ部分にあるシーケンスナンバーを参照することで、パケットの欠落の有無をチェックしている。つまり、シーケンスナンバーに抜けがあった場合に、パケットの欠落が発生したことを検知する。図6の例では、データ送信装置501が、データパケットA〜I、及び、FECパケットR1〜R6をデータ受信装置502に対して送信している。そして、データパケットC,E,F,HとFECパケットR3,R6が伝送路112にて欠落したとする。パケット復元部110が欠落パケットを検知するとステップS1502に進む。
ステップS1502において、データ受信装置102のパケット復元部110は、正常に受信されたほかのデータパケットとFECパケットによって復元できる欠落データパケットがあるか否かを判定する。復元可能な欠落データパケットがあると判定された場合はステップS1503に、復元可能な欠落データパケットがないと判定された場合は、ステップS1504に進む。図6の例では、正常に受信されたデータパケットA、B、及びFECパケットR1を用いて欠落データパケットCを復元可能であるため、ステップS1503に進む。
ステップS1503において、パケット復元部110は、復元できる欠落データパケットを誤り訂正復号により復元する。図6の例では、欠落データパケットCが復元される(S601)。尚、本形態のFECパケットのヘッダには、対応するデータパケットの情報が含まれている。例えば、図6のFECパケットR1のヘッダに、FECパケットR1が対応するデータパケットがA、B、Cであるという情報が含まれている。パケット復元部110は、この情報に基づいて、欠落データパケットCを復元する。
そして、データ受信装置502は、FECパケットによって復元できない欠落データパケットがある場合、その欠落データパケット、及び、欠落FECパケットの情報(シーケンスナンバー)を再送パケット決定部513に通知する。ここでは、図6に示すように、欠落データパケットE、F、H、及び、欠落FECパケットR3、R6の情報が通知される。パケット復元部110が、復元できない欠落データパケット、及び欠落FECパケットの情報を通知すると、ステップS1504に進む。
ステップS1504(判定手順)において、再送パケット決定部513は、欠落データパケットを連鎖復元グループに分類する。再送パケット決定部513は、連鎖復元グループに分類するために、各欠落データパケットが正常に通信された場合に復元可能な他の欠落データパケットを判定する。例えば、再送パケット決定部513は、欠落データパケットFが正常に通信されたと仮定した場合に復元可能な欠落データパケットを判定する。即ち、再送パケット決定部107は、ステップS1504において、通信に失敗した複数のパケット(欠落データパケット)のうちの第1のパケット(欠落データパケットF)が正常に通信された場合に復元可能なパケットを判定する。尚、再送パケット決定部513は、各FECパケットのヘッダに含まれている、FECパケットに対応するデータパケットの情報に基づいて、復元可能な欠落データパケットを判定する。
図6の例では、連鎖復元グループは1つである。つまり、欠落データパケットE、F、Hのうち、いずれか1つでも正常に通信されれば、すべての欠落データパケットを復元することができる。また、このときの各欠落データパケットの連鎖復元数は、3である。再送パケット決定部513が欠落データパケットを連鎖復元グループに分類すると、ステップS1505に進む。
ステップS1505(決定手順)において、再送パケット決定部513は、連鎖復元数が最大の連鎖復元グループの欠落データパケットから、再送する欠落データパケットを決定する。図6の例では、欠落データパケットE、F、Hから、再送するデータパケットが決定される。再送するデータパケットの数は、例えば図8に示したような表に基づいて決定する。ここでは、データパケットE、Fが再送パケットとして決定されたものとする(図6のS602)。つまり、データパケットHは、再送されない。
即ち、ステップS1505において、正常に通信されると複数のパケットが復元可能であると判定された第1のパケットを再送させる場合、復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する。再送パケットが決定されると、ステップS1506に進む。
ステップS1506において、再送パケット決定部513は、再送パケットを決定した連鎖復元グループに属する欠落パケットがすべて復元されると仮定し、ステップS1507に進む。図6の例では、欠落データパケットE、F、Hがすべて復元されると仮定される。
ステップS1507において、再送パケット決定部513は、すべての欠落データパケットが復元されると仮定されたか否かを判定する。再送パケット決定部513が、すべての欠落データパケットが復元されると仮定されたと判定した場合は、ステップS1508に進み、一方、まだ復元されない欠落データパケットがあると判定した場合は、ステップS1504に戻る。図6の例では、データパケットE、Fを再送することにより、すべての欠落データパケットが復元されると仮定できるため、ステップS1508に進む。尚、再送パケット決定部107は、すべての欠落データパケットを復元する必要がない場合、復元する必要のある欠落データパケットが復元されると仮定されたか否かを判定する。また、この例のように、復元連鎖グループが1つしかない場合は、ステップS1507の処理を省略しても良い。
ステップS1508において、再送パケット決定部513は、ステップS1505で決定された再送データパケットの識別情報(例えばシーケンスナンバー)をパケット再送要求部111に通知する。そして、パケット再送要求部111は、再送データパケットの識別情報に基づいて再送要求パケットを生成する。そして、送受信部106は、パケット再送要求部111によって生成された再送要求パケットをデータ送信装置501へ送信する。図6の例では、欠落データパケットE、F、Hのうち、データパケットE、Fの再送要求パケットが送信される(S603)。再送要求パケットを受信したデータ送信装置501は、データパケットE、Fを再送信する。そして、データ受信装置502は、データパケットB、E、及び、FECパケットR5を用いて、欠落データパケットHを復元する。
尚、図6では、再送されたデータパケットE、Fの両方が正常に受信された場合について説明しているが、いずれか一方が正常に受信されれば、すべての欠落データパケットを復元することができる。また、上述のように、3個の欠落データパケットE、F、Hのうち、異なる2個のデータパケット(例えばE、F)を再送データパケットとして決定することも、1個のデータパケット(例えばE)を2回再送することも可能である。
このように、データ受信装置502が、再送要求するデータパケットを決定することができる。また、データ受信装置502が再送要求するパケットを決定することで、データ送信装置501の負荷を低減させることができる。
<実施形態3>
次に本発明による第3の実施形態について、実施形態1、2との差異を中心に説明する。実施形態1、2では、連鎖復元グループが1つである場合、すなわち、欠落した複数のデータパケットのうち、再送された1個のデータパケットが正常に受信されれば、ほかの欠落データパケットをすべて復元できる場合を中心に説明した。これに対し、本実施形態では、連鎖復元グループが複数ある場合、すなわち、欠落したデータパケットをすべて復元するためには、複数の再送データパケットが正常に受信される必要がある場合について詳しく説明する。尚、本実施形態の再送データパケットの決定処理は、データ受信装置502が行うものとする。つまり、本形態の送受信システムの基本構成は、図5と同様である。ただし、実施形態1で説明したように、データ送信装置101が再送データパケットを決定することも可能である。
図9は、データパケットA,B,C,E,F,G,IとFECパケットR5が欠落したことを示した図である。実施形態1、2で説明した欠落パターンは、例えば図3、図7で示したように、すべての欠落データパケットの連鎖復元数が、欠落データパケット数と同じであった。これに対し、図9に示す欠落パターンは、すべての欠落データパケットの連鎖復元数が欠落データパケット数よりも小さい。従って、欠落したデータパケットをすべて復元するためには、複数の再送データパケットが正常に通信される必要がある。
また、図9において、データパケットA、G、Iが同じ連鎖復元グループに属している。上述のように、連鎖復元グループは、相互に連鎖的に復元することが可能な欠落データパケットのグループである。尚、同じ連鎖復元グループに属する欠落データパケットの連鎖復元数は、同じ値となる。データパケットA、G、Iの連鎖復元数は同じ値(3)である。また、データパケットA、G、Iのうちの1個のデータパケットが正常に通信されれば、同じ連鎖復元グループに属しているすべてのデータパケットを復元することができる。
同様に、欠落データパケットE、Fも同じ連鎖復元グループに属している。また、欠落データパケットB、及びCは、それぞれ別の連鎖復元グループに属していることになる。すなわち、図9の欠落パターンにおいて、欠落データパケットBの再送データパケットだけが正常に通信されても、ほかの欠落データパケットを復元することはできない。
再送パケット決定部513は、複数の連鎖復元グループが存在する場合、欠落データパケットを連鎖復元グループごとにグループ分けし、連鎖復元数が最大の連鎖復元グループの欠落データパケットの中から、再送するデータパケットを決定する。そして、連鎖復元数が最大の連鎖復元グループに属する欠落データパケットがすべて復元されたと仮定し、まだ復元されていない欠落データパケットを連鎖復元グループにグループ分けする。以下、同様に、連鎖復元数が最大の連鎖復元グループの欠落データパケットの中から、再送するデータパケットを決定していく。
本形態の再送パケット決定部513は、上記のような手順により、復元すべきすべての欠落データパケットが復元されると仮定されるまで、再送データパケットの決定処理を繰り返す。
次に、再送パケット決定部513が行う、連鎖復元グループのグループ分けの方法について説明する。再送パケット決定部513は、各欠落データパケットについて、その欠落データパケットが正常に通信された場合に復元可能な欠落データパケットを算出する。
例えば、図9の例において、欠落データパケットAが正常に通信された場合に復元可能なデータパケットは、データパケットG、及びIである。また、欠落データパケットGが正常に通信された場合に復元可能なデータパケットは、データパケットA、及び、Iである。同様に、欠落データパケットIが正常に通信された場合に復元可能なデータパケットは、データパケットA、及び、Gである。そこで、再送パケット決定部513は、データパケットA、G、Iが同じ連鎖復元グループに属するデータパケットであると判定する。
同様に、データパケットEが正常に通信された場合に復元可能な欠落データパケットはデータパケットFであり、データパケットFが正常に通信された場合に復元可能な欠落データパケットはデータパケットEである。従って、データパケットE、Fは、同じ連鎖復元グループに属する欠落データパケットであると判定される。
また、データパケットBは、正常に通信されても、それ自身以外に復元可能な欠落データパケットが存在しないため、同じ連鎖復元グループに属する欠落データパケットは存在しないことになる。データパケットCも同様である。
このようにグループ分けすると、図9の例では、連鎖復元グループが4個存在することになる。すなわち、連鎖復元数が3の{A,G,I}から成るグループ1301、連鎖復元数が2の{E,F}から成るグループ1302、連鎖復元数が1の{B}から成るグループ1303と{C}から成るグループ1304である。再送パケット決定部513は、このようにして分けられた連鎖復元グループのうち、連鎖復元数が最も高い連鎖復元グループ{A、G、I}の中から、再送データパケットを決定する。このとき、連鎖復元数に応じて、複数の再送データパケットを決定するようにしても良い。
そして、再送パケット決定部513は、連鎖復元数が最も高い連鎖復元グループに属する欠落データパケットがすべて復元されたと仮定して、改めて連鎖復元グループのグループ分けを行う。そして、その中で連鎖復元数が最も高い連鎖復元グループの中から、再送データパケットを決定する。以下同様に、欠落データパケットがすべて復元されるまで、この処理を繰り返す。ただし、欠落データパケットをすべて復元しない場合は、途中で処理を終了しても良い。
また、欠落データパケットに優先度が設けられている場合は、その優先度に従って再送データパケットを決定する連鎖復元グループを決めるようにしても良い。
尚、これまでの欠落パターンでは、ある欠落データパケット(例えばA)が正常に通信されたことにより他の欠落データパケット(例えばG)が復元可能である場合、欠落データパケットGが正常に通信されたことによって欠落データパケットAが復元可能である。従って、ある欠落データパケットが正常に通信されたことによって復元可能な欠落データパケットは、すべて同じ連鎖復元グループに属することになる。
しかし、ある欠落データパケットAが正常に通信されると欠落データパケットBが復元できても、欠落データパケットBが正常に通信されても欠落データパケットAが復元できない場合がある。これは、図2のような構成において、例えば、データパケットB、C、E、F、G、H、及び、FECパケットR4が欠落した場合である。このようなエラーパターンにおいて、例えば欠落データパケットHが正常に通信された場合には欠落データパケットGを復元可能であるが、ほかの欠落データパケットB、C、E、Fは復元できない。
一方、例えば欠落データパケットEが正常に通信された場合、欠落データパケットB、C、E、F、G、Hがすべて復元可能である。このような場合、再送パケット決定部513は、欠落データパケットB、C、E、Fで1つの連鎖復元グループを構成し、欠落データパケットG、Hで1つの連鎖復元グループを構成するようにグループ分けする。このとき、欠落データパケットB、C、E、Fの連鎖復元数は6であり、欠落データパケットG、Hの連鎖復元数は2である。また、本形態の再送パケット決定部513は、欠落データパケットB、C、E、Fから再送するデータパケットを決定するが、この再送により、欠落データパケットG、Hも復元されると仮定できる。従って、欠落データパケットG、Hの連鎖復元グループからは再送データパケットを決定しない。ただし、処理負荷を低減するために、連鎖復元グループごとに再送データパケットを決定するようにしても良い。
次に、本実施形態の再送データパケットの決定方法を、図11と図9を用いて説明する。
図11は、本実施形態のデータ受信装置502が行う、再送データパケットを決定する処理の流れを示すフローチャートである。
ステップS1501において、パケット復元部110は、受信したパケットのシーケンスナンバーを監視することで損失したパケット(欠落データパケット)を検知する。図9の例では、送信されたデータパケットA〜I、FECパケットR1〜R6のうち、データパケットA、B、C、E、F、G、I、及び、FECパケットR5の欠落が検知される。パケット復元部110が欠落データパケットを検知するとステップS1502に進み、欠落データパケットを検知しなかった場合は欠落データパケットを検知する処理を繰り返す。
ステップS1502において、パケット復元部110は、誤り訂正復号により復元可能な欠落データパケットの有無を判断する。つまり、パケット復元部110は、ステップS1502において、FECパケット(復元用パケット)を用いることによって、欠落データパケットを復元可能であるか否かを判断する。パケット復元部110が誤り訂正復号により復元可能な欠落データパケットがあると判断した場合はステップS1503に進み、復元可能な欠落データパケットの復元を行う。つまり、パケット復元部110は、正常に受信されたデータパケットとFECパケットを用いて、欠落データパケットを復元する。
一方、誤り訂正復号により復号可能な欠落データパケットがないと判断した場合はステップS1504に進む。図9のエラーパターンでは、FECパケットを用いて復元可能な欠落データパケットはないため、ステップS1504に進む。また、パケット復元部110は、誤り訂正復号によって復元できなかった欠落データパケットの情報(例えばシーケンスナンバー)を再送パケット決定部513に通知する。
ステップS1504(判定手順)において、再送パケット決定部513は、パケット復元部110で復元できなかった欠落データパケットを連鎖復元グループにグループ分けする。このグループ分けの方法は、上述した通りである。つまり、再送パケット決定部513は、連鎖復元グループに分類するために、各欠落データパケットが正常に通信された場合に復元可能な他の欠落データパケットを判定する。例えば、欠落データパケットAが正常に通信されたと仮定した場合に復元可能な欠落データパケットを判定する。即ち、ステップS1504において、再送パケット決定部513は、通信に失敗した複数のパケットのうちの第1のパケット(欠落データパケットA)が正常に通信された場合に復元可能なパケットを判定する。図9の例では、グループ1301、1302、1303、1304の4つの連鎖復元グループにグループ分けされる。
ステップS1505(決定手順)において、再送パケット決定部513は、連鎖復元数が最大の連鎖復元グループの欠落データパケットの中から、再送するデータパケットを決定する。図9の例では、欠落データパケットA、G、Iで構成される連鎖復元グループ(グループ1301)の中から、再送するデータパケットが決定される。ここでは、例えば、欠落データパケットA、Gが、再送データパケットとして決定されたとする。即ち、ステップS1505において、正常に通信されると複数のパケットが復元可能であると判定された第1のパケットを再送させる場合、復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットが決定される。
ステップS1506において、再送パケット決定部513は、連鎖復元数が最大の連鎖復元グループのパケットがすべて復元されると仮定する。つまり、再送パケット決定部513は、ステップS1505で決定された再送データパケットにより、該再送データパケットに対応する連鎖復元グループの欠落パケットがすべて復元されると仮定する。図9の例では、再送データパケットA、Gにより、対応する連鎖復元グループ(グループ1301)のすべての欠落データパケットA、G、Iが復元されると仮定される。
ステップS1507において、再送パケット決定部513は、欠落データパケットがすべて復元されるか判定する。すなわち、再送パケット決定部513は、連鎖復元グループに属する欠落データパケットが復元されると仮定したことにより、欠落したデータパケットがすべて復元されるか否かを判定する。
尚、再送パケット決定部107は、欠落したデータパケットをすべて復元させる必要がない場合、復元させるデータパケットがすべて復元可能であるか否かを判断する。ステップS1507で、すべての欠落データパケットを復元可能でないと判断された場合、ステップS1504に戻り、復元されると仮定されてない欠落データパケットに対して同様の処理が行われる。
すなわち、再送パケット決定部513は、ステップS1504において、復元されると仮定されていない欠落データパケットを連鎖復元グループにグループ分けする。そして、再送パケット決定部513は、ステップS1505において、連鎖復元数が最大の連鎖復元グループの欠落データパケットから再送するデータパケットを決定する。そして、ステップS1506において、連鎖復元数が最大の連鎖復元グループのパケットがすべて復元されると仮定する。そして、ステップS1507において、欠落データパケットがすべて復元されると仮定されたか判定する。つまり、再送パケット決定部513は、通信に失敗した複数の欠落データパケットから、ステップS1506で復元可能であると仮定されたパケットを除いて、ステップS1505において決定された再送パケットと共に再送させるパケットを決定する。
図9の例では、欠落データパケットB、C、E、Fが復元されると仮定されていないため、ステップS1504に戻る。そして、ステップS1504において、復元されると仮定されていない欠落データパケットB、C、E、Fを連鎖復元グループにグループ分けする。即ち、再送パケット決定部107は、第1のパケット(欠落データパケットA、G)が正常に通信されても復元不可能な複数のパケットB、C、E、Fのうち、第2のパケットが正常に通信された場合に復元可能なパケットを判定する。この例では、これらの欠落データパケットはすべて同じ連鎖復元グループに属すると判定される。
以下、同様に、ステップS1505において、欠落データパケットB、C、E、Fから再送されるデータパケットが決定される。ここでは、欠落データパケットB、Eが再送データパケットとして決定されたものとする。即ち、再送パケット決定部107は、正常に通信されると複数のパケットが復元可能であると判定された第1及び第2のパケット(欠落データパケットA、G、B、E)を再送させる場合、以下のように再送パケットを決定する。即ち、第2のパケット(欠落データパケットB、E)が正常に通信されると復元可能であると判定された複数のパケット(欠落データパケットB、C、E、F)のうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する。
そして、再送データパケットB、Eにより、対応する連鎖復元グループの欠落データパケットB、C、E、Fがすべて復元されると仮定され(ステップS1506)、さらにステップS1507において、すべての欠落データパケットが復元可能であると判定される。再送パケット決定部513が、ステップS1507において、欠落データパケットがすべて復元可能であると判定すると、ステップS1508に進む。
ステップS1508において、再送パケット決定部513は、再送データパケットの識別情報(例えばシーケンスナンバー)をパケット再送要求部111に通知する。この例では、欠落データパケットA、G、B、Eの識別情報が通知される。そして、パケット再送要求部111は、再送データパケットとして決定されたデータパケットが再送信されるように、再送要求パケットを生成する。そして、送受信部108は、再送要求パケットをデータ送信装置501に対して送信する。
尚、ここまでの説明では、データパケットを3×3の行列に配置してFECパケットを生成する場合について説明したが、この構成に制限されるものではない。
例えば、図10に示す様にデータパケットを4×4の行列に配置してFECパケットを生成した場合について、図11のフローチャートに基づいて説明する。
図11のステップS1501において、パケット復元部110は、欠落データパケットを検知する。図10の例では、データパケットC,D,F,G,I,L,M,Nと、FECパケットR1,R4,R6が欠落していることが検知される。
ステップS1502において、パケット復元部110は、FECパケットにより復元可能な欠落データパケットはないと判定し、ステップS1504に進む。尚、本形態のFECパケットのヘッダには、対応するデータパケットの情報が含まれている。例えば、図10のFECパケットR1のヘッダに、FECパケットR1が対応するデータパケットがA、B、C、Dであるという情報が含まれている。パケット復元部110は、このFECパケットのヘッダの情報に基づいて、復元可能な欠落データパケットを判定する。
ステップS1504において、再送パケット決定部513は、欠落データパケットを、連鎖復元グループにグループ分けする。図10の例では、連鎖復元数が4の{D,I,L,M}から成る連鎖復元グループ1401と連鎖復元数が3の{C,F,G}から成る連鎖復元グループ1402と連鎖復元数が1の{N}から成る連鎖復元グループ1403にグループ分けされる。
さらに、ステップS1505において、再送パケット決定部513は、連鎖復元グループ1401に属する欠落データパケットの中から、再送するパケットを決定する。図10の例では、例えば欠落データパケットI、Lが再送データパケットとして決定されたものとする。再送データパケットが決定されると、ステップS1506において、連鎖復元グループ1401のすべての欠落データパケット(D、L、I、M)が復元されたと仮定される。
ステップS1507において、再送パケット決定部513は、すべての欠落データパケットが復元可能か判定する。図10の例では、上述のように、欠落データパケットC、D、F、G、I、L、M、Nのうち、欠落データパケットD、L、I、Mが復元可能であると仮定されている。しかし、ほかの連鎖復元グループの欠落データパケット(C、F、G、N)が復元されないまま残っているので、ステップS1504に戻り、欠落データパケットC、F、G、Nを連鎖復元グループにグループ分けする。この例では、データパケットC、F、Gから成る連鎖復元グループ1402とデータパケットNから成る連鎖復元グループ1403に分けられる。つまり、この例では、連鎖復元グループ1401が復元されたと仮定される前と後で、ほかの連鎖復元グループの構成が変化しない。
以下同様に、連鎖復元数が最大の連鎖復元グループ1402に属する欠落データパケットC、F、Gから、再送するデータパケットが決定される。ここでは、欠落データパケットC、Fが再送データパケットとして決定されたものとする。また、その後、連鎖復元グループ1403に属する欠落データパケットから、再送するデータパケットが決定される。ここでは、欠落データパケットNが再送データパケットとして決定される。
ステップS1508において、再送パケット決定部513は、再送データパケットとして決定されたデータパケットの識別情報(シーケンスナンバー)をパケット再送要求部111に通知する。この例では、欠落データパケットI、L、C、F、Nの識別情報が通知される。また、パケット再送要求部111は、通知された識別情報に基づいて再送要求パケットを生成する。そして、送受信部108は、再送要求パケットをデータ送信装置501に対して送信する。
再送要求パケットを受信したデータ送信装置501は、再送データパケットの識別情報に基づいて、再送データパケット(I、L、C、F、N)をパケット送信バッファ105から読み出し、再送信する。
図10の例では、欠落データパケットが8個であるが、実際に再送されるデータパケットの数を5個にすることができる。尚、上記の例では、例えば、連鎖復元グループ1401の欠落データパケットD、I、L、Mのうち、2個のデータパケットを再送させるようにしたが、いずれか1個の欠落データパケットが正常に通信されれば、他の欠落データパケットを復元することが可能である。従って、図10の例において、実際に再送されるデータパケットの数を、最小で3個にすることができる。
以上説明したように、本実施形態のデータ受信装置502は、送受信部108において、欠落(エラー)したデータパケットを復元するために用いる復元用パケット(FECパケット)、及び、データパケットを受信する。そして、パケット復元部110は、エラーしたデータパケットのうち、復元用パケットによって復元できないデータパケットを特定する。また、再送パケット決定部513は、復元できない複数のデータパケットのうち、第1のデータパケットを受信することにより復元可能なデータパケットを判定する。
そして、複数のデータパケットが復元可能であると判定された第1のデータパケットを再送要求する場合、復元可能であると判定された複数のデータパケットのうち、少なくとも一部のデータパケットが再送されないように、再送要求するデータパケットを決定する。
尚、復元用パケット(FECパケット)によって復元できないデータパケットの数が所定のパケット数よりも多い場合に本発明を適用するようにしても良いことは上述の通りである。
このようにすることで、欠落したデータパケットを再送することによる通信量の増加を低減させることができる。
尚、本実施形態では、連鎖復元数が最大の連鎖復元グループの再送データパケットを決定すると、その連鎖復元グループの欠落データパケットがすべて復元されたと仮定して、改めて欠落データパケットを連鎖復元グループにグループ分けを行う。このようにすれば、例えば、1つの連鎖復元グループの欠落データパケットがすべて復元されたと仮定したことにより、他の連鎖復元グループの構成が変化する場合に、より再送データパケットの数を低減することができる場合がある。ただし、はじめにグループ分けした連鎖復元グループごとに、再送データパケットを決定するようにしても良い。このようにすれば、再送データパケット決定処理に係る負荷を低減することができる。
また、連鎖復元グループ内のすべての欠落データパケットが、復元する必要のないデータパケットであった場合、その連鎖復元グループに関する再送データパケットの決定処理を行わない。このようにすることにより、再送データパケットによる通信量の増加を、より低減することができる。
また、本実施形態では、データ受信装置502側で再送データパケットの決定を行う場合について説明したが、実施形態1で説明したように、データ送信装置が決定するようにしても良い。
データ送信装置が、再送データパケットを決定する場合、データ送信装置は、図1に示すデータ送信装置101のように、再送パケット決定部107を有する。また、データ送信装置101の送受信部106は、エラー(欠落)したデータパケットをデータ受信装置102が復元するために用いる復元用パケット、及び、データパケットをデータ受信装置102に対して送信する。また、送受信部106は、データパケットの再送要求を受信する。そして、再送パケット決定部107は、再送要求された複数のデータパケットのうち、第1のデータパケットを受信することによりデータ受信装置102が復元可能なデータパケット(欠落データパケット)を判定する。
さらに、再送パケット決定部107は、複数のデータパケットが復元可能であると判定された第1のデータパケットを再送する場合、復元可能な複数のデータパケットのうち、少なくとも一部のデータパケットを再送しないように、再送データパケットを決定する。
尚、再送要求されたデータパケットの数が所定のパケット数よりも多い場合に本発明を適用するようにしても良いことは上述の通りである。このようにしても、欠落データパケットの再送による通信量の増加を低減することができる。また、再送データパケットの決定処理をデータパケットの送信側で行うことで、データパケットの受信装置の機能によらず、本発明の効果を得ることができる。
<本発明に係る他の実施形態>
本発明の目的は、次の形態によっても達成される。即ち、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行する形態である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、本発明は、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現される形態には限られない。すなわち、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOperating System(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
さらに、本発明には、以下の形態も含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される形態である。
第1の実施形態における、データ送信装置101及びデータ受信装置102の基本構成を示すブロック図である 誤り訂正符号化によりデータパケットからFECパケットを生成するパターンの例である 誤り訂正符号化を行ったデータパケット及びFECパケットの一部が欠落した場合の例である 第1の実施形態における、伝送路でのパケットロスの発生からパケットの再送による復元までの一連の処理を説明するための図である 第2の実施形態における、データ送信装置501及びデータ受信装置502の基本構成を示すブロック図である 第2の実施形態における、伝送路でのパケットロスの発生からパケットの再送による復元までの一連の処理を説明するための図である 誤り訂正符号化を行ったデータパケット及びFECパケットの一部が欠落した場合の別の例である 連鎖復元数と再送データパケット数の対応を示す表である データパケットを3×3の行列に配置してFECパケットを生成した例である データパケットを4×4の行列に配置してFECパケットを生成した例である 第3の実施形態における再送データパケットの決定に係る処理の流れを示すフローチャートである
符号の説明
101、501 データ送信装置
102、502 データ受信装置
107、513 再送パケット決定部
110 パケット復元部
111 パケット再送要求部

Claims (14)

  1. パケットの通信を行う通信装置であって
    信に失敗した複数のパケットのうち、第1のパケットが正常に通信されたと仮定すると前記第1のパケットと正常に通信された復元用パケットとを用いて復元可能な第2のパケットがあるか、及び、前記復元可能な第2のパケットと正常に通信された前記復元用パケットとを用いて復元可能な第3のパケットがあるか判定する判定手段と、
    正常に通信されると複数のパケットが復元可能であると前記判定手段により判定された前記第1のパケットを再送させる場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段により判定された複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する決定手段と
    を有することを特徴とする通信装置。
  2. ケットと、通信に失敗したパケットを復元するために用いられる復元用パケットを通信する通信装置であって
    信に失敗した複数のパケットのうち、第1のパケットが正常に通信されたと仮定すると前記第1のパケットと正常に通信された復元用パケットとを用いて復元可能な第2のパケットがあるか、及び、前記復元可能な第2のパケットと正常に通信された前記復元用パケットとを用いて復元可能な第3のパケットがあるか判定する判定手段と、
    前記第1のパケットが正常に通信されたと仮定すると複数のパケットが復元可能であると前記判定手段により判定された場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段により判定された複数のパケットのうちの少なくとも一部のパケットを除いて、前記第1のパケットと共に再送させるパケットを決定する決定手段と
    を有することを特徴とする通信装置。
  3. ケットと、通信に失敗したパケットを復元するために用いられる復元用パケットを通信する通信装置であって
    信に失敗した複数のパケットのうち、第1のパケットが正常に通信されたと仮定すると前記第1のパケットと正常に通信された復元用パケットとを用いて復元可能な第2のパケットがあるか、及び、前記復元可能な第2のパケットと正常に通信された前記復元用パケットとを用いて復元可能な第3のパケットがあるか判定する判定手段と
    信に失敗した複数のパケットから、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段が判定したパケットを除いて、前記第1のパケットと共に再送させるパケットを決定する決定手段と
    を有することを特徴とする通信装置。
  4. 前記決定手段は、通信に失敗したパケットのうち、別のフレームのデータを参照しないで符号化されている動画像データのパケットを再送すると決定することを特徴とする請求項1記載の通信装置。
  5. 信に失敗したパケットの数に応じたエラー率を取得する取得手段を有し、
    前記決定手段は、
    前記エラー率が第1のエラー率よりも高い第2のエラー率であった場合、
    信に失敗したパケットのうち、別のフレームのデータを参照しないで符号化されている動画像データが含まれるパケットが再送されるように、再送パケットを決定することを特徴とする請求項1記載の通信装置。
  6. パケットが送信されてから受信されるまでに要する遅延時間の遅延時間情報を取得する取得手段を有し、
    前記決定手段は、
    前記遅延時間が第1の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第1の遅延時間より長い第2の遅延時間である遅延時間情報が取得され、かつ前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段により判定されたパケットの数が第1のパケット数であった場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段により判定された第1のパケット数のパケットのうちの、第2のパケット数のパケットが再送されるように、再送パケットを決定し、
    前記遅延時間が前記第1の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第2の遅延時間より長い第3の遅延時間である遅延時間情報が取得され、かつ前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段により判定されたパケットの数が前記第1のパケット数であった場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段により判定された第1のパケット数のパケットのうちの、前記第2のパケット数よりも少ない第3のパケット数のパケットが再送されるように、再送パケットを決定する
    ことを特徴とする請求項1記載の通信装置。
  7. パケットが送信されてから受信されるまでに要する遅延時間の遅延時間情報を取得する取得手段を有し、
    前記決定手段は、
    前記遅延時間が第1の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第1の遅延時間より長い第2の遅延時間である第2の遅延時間情報が取得された場合、
    前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段により判定されたパケットのうち、別のフレームのデータを参照して符号化されている動画像データが含まれるパケット、及び、別のフレームのデータを参照しないで符号化されている動画像データが含まれるパケットが再送されるように、再送パケットを決定し、
    前記遅延時間が前記第1の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第2の遅延時間よりも長い第3の遅延時間である遅延時間情報が取得された場合、
    前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手段により判定されたパケットのうち、別のフレームのデータを参照しないで符号化されている動画像データが含まれるパケットが再送されるように、再送パケットを決定する
    ことを特徴とする請求項1記載の通信装置。
  8. 前記判定手段は、前記第1のパケットが正常に通信されても復元不可能な複数のパケットのうち、第のパケットが正常に通信された場合に復元可能なパケットを判定し、
    前記決定手段は、正常に通信されると複数のパケットが復元可能であると判定された前記第1及び第のパケットを再送させる場合、前記第のパケットが正常に通信されると復元可能であると前記判定手段により判定された複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する
    ことを特徴とする請求項1記載の通信装置。
  9. 送信装置であって、
    受信に失敗したパケットを受信装置が復元するために用いる復元用パケット、及び、パケットを前記受信装置に対して送信する送信手段と
    ケットの再送要求を受信する受信手段と、
    前記再送要求された複数のパケットのうち、第1のパケットが正常に前記受信装置に受信されたと仮定すると前記第1のパケットと正常に前記受信装置に受信された復元用パケットとを用いて復元可能な第2のパケットがあるか、及び、前記復元可能な第2のパケットと正常に前記受信装置に受信された前記復元用パケットとを用いて復元可能な第3のパケットがあるか判定する判定手段と、
    前記再送要求されたパケットの数が所定のパケット数よりも多い場合であって、かつ、前記第1のパケットが正常に前記受信装置に受信されたと仮定すると複数のパケットが復元可能であると前記判定手段により判定された前記第1のパケットを再送する場合、前記第1のパケットが正常に前記受信装置に受信されたと仮定すると復元可能であると前記判定手段により判定された複数のパケットのうち、少なくとも一部のパケットを再送しないように、再送するパケットを決定する決定手段と
    を有することを特徴とする送信装置。
  10. 受信装置であって、
    受信に失敗したパケットを復元するために用いる復元用パケット、及び、パケットを受信する受信手段と
    受信に失敗したパケットのうち、前記復元用パケットによって復元できないパケットを特定する特定手段と、
    前記特定手段が特定した複数のパケットのうち、第1のパケットが正常に前記受信装置に受信されたと仮定すると前記第1のパケットと正常に受信された復元用パケットとを用いて復元可能な第2のパケットがあるか、及び、前記復元可能な第2のパケットと正常に受信された前記復元用パケットとを用いて復元可能な第3のパケットがあるか判定する判定手段と、
    前記特定手段が特定したパケットの数が所定のパケット数よりも多い場合であって、かつ、複数のパケット復元可能であると前記判定手段により判定された前記第1のパケットを再送要求する場合、前記第1のパケットが正常に前記受信装置に受信されたと仮定すると前記復元可能であると前記判定手段により判定された複数のパケットのうち、少なくとも一部のパケットが再送されないように、再送要求するパケットを決定する決定手段と
    を有することを特徴とする受信装置。
  11. パケットの通信を行う通信装置が行う通信方法であって、
    判定手段が、通信に失敗した複数のパケットのうち、第1のパケットが正常に通信されたと仮定すると、前記第1のパケットと正常に通信された復元用パケットとを用いて復元可能な第2のパケットがあるか、及び、前記復元可能な第2のパケットと正常に通信された前記復元用パケットとを用いて復元可能な第3のパケットがあるか判定する判定工程と、
    決定手段が、正常に通信されると複数のパケットが復元可能であると判定された第1のパケットを再送させる場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定工程において判定された複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する決定工程と
    を有することを特徴とする通信方法。
  12. パケットが送信されてから受信されるまでに要する遅延時間の遅延時間情報を取得する取得工程を有し、
    前記決定工程において、
    前記遅延時間が第1の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第1の遅延時間より長い第2の遅延時間である遅延時間情報が取得され、かつ前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定工程において判定されたパケットの数が第1のパケット数であった場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定工程において判定された第1のパケット数のパケットのうちの、第2のパケット数のパケットが再送されるように、再送パケットを決定し、
    前記遅延時間が前記第1の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第2の遅延時間より長い第3の遅延時間である遅延時間情報が取得され、かつ前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定工程において判定されたパケットの数が前記第1のパケット数であった場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定工程において判定された第1のパケット数のパケットのうちの、前記第2のパケット数よりも少ない第3のパケット数のパケットが再送されるように、再送パケットを決定する
    ことを特徴とする請求項11記載の通信方法。
  13. ケットを通信するコンピュータに
    信に失敗した複数のパケットのうち、第1のパケットが正常に通信されたと仮定すると前記第1のパケットと正常に通信された復元用パケットとを用いて復元可能な第2のパケットがあるか、及び、前記復元可能な第2のパケットと正常に通信された前記復元用パケットとを用いて復元可能な第3のパケットがあるか判定する判定手順と、
    正常に通信されると複数のパケットが復元可能であると前記判定手順において判定された第1のパケットを再送させる場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手順において判定された複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する決定手順と
    を実行させることを特徴とするプログラム。
  14. 前記コンピュータに、パケットが送信されてから受信されるまでに要する遅延時間の遅延時間情報を取得する取得手順を実行させ、
    前記決定手順において、
    前記遅延時間が第1の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第1の遅延時間より長い第2の遅延時間である遅延時間情報が取得され、かつ前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手順において判定されたパケットの数が第1のパケット数であった場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手順において判定された第1のパケット数のパケットのうちの、第2のパケット数のパケットが再送されるように、再送パケットを決定し、
    前記遅延時間が前記第1の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第2の遅延時間より長い第3の遅延時間である遅延時間情報が取得され、かつ前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手順において判定されたパケットの数が前記第1のパケット数であった場合、前記第1のパケットが正常に通信されたと仮定すると復元可能であると前記判定手順において判定された第1のパケット数のパケットのうちの、前記第2のパケット数よりも少ない第3のパケット数のパケットが再送されるように、再送パケットを決定する処理を前記コンピュータに実行させるための請求項13に記載のプログラム。
JP2008313400A 2008-12-09 2008-12-09 通信装置、及び通信方法、プログラム Active JP5408981B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008313400A JP5408981B2 (ja) 2008-12-09 2008-12-09 通信装置、及び通信方法、プログラム
EP20090177958 EP2197140A3 (en) 2008-12-09 2009-12-03 Retransmission communication apparatus and communication method
US12/632,606 US8312352B2 (en) 2008-12-09 2009-12-07 Communication apparatus and communication method
CN2009102520921A CN101753279B (zh) 2008-12-09 2009-12-08 通信设备和通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008313400A JP5408981B2 (ja) 2008-12-09 2008-12-09 通信装置、及び通信方法、プログラム

Publications (3)

Publication Number Publication Date
JP2010141413A JP2010141413A (ja) 2010-06-24
JP2010141413A5 JP2010141413A5 (ja) 2012-02-02
JP5408981B2 true JP5408981B2 (ja) 2014-02-05

Family

ID=41694649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008313400A Active JP5408981B2 (ja) 2008-12-09 2008-12-09 通信装置、及び通信方法、プログラム

Country Status (4)

Country Link
US (1) US8312352B2 (ja)
EP (1) EP2197140A3 (ja)
JP (1) JP5408981B2 (ja)
CN (1) CN101753279B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007069406A1 (ja) * 2005-12-15 2007-06-21 Mitsubishi Electric Corporation 通信システム、送信側通信装置および受信側通信装置
EP2490400A1 (en) * 2009-10-14 2012-08-22 Nec Corporation Transmission control method for packet communication and packet communication system
US10218467B2 (en) 2009-12-23 2019-02-26 Pismo Labs Technology Limited Methods and systems for managing error correction mode
US8633963B2 (en) * 2010-04-27 2014-01-21 Lifesize Communications, Inc. Determining buffer size based on retransmission latency
JP5677070B2 (ja) * 2010-12-14 2015-02-25 キヤノン株式会社 受信装置及び、受信装置による処理方法
WO2012159188A1 (en) * 2011-05-20 2012-11-29 Research In Motion Limited Hybrid automatic repeat request using multiple receiver- coordinated transmitters
JP5916512B2 (ja) * 2012-05-22 2016-05-11 古河電気工業株式会社 車載装置および車載装置の判断方法
GB201210779D0 (en) * 2012-06-18 2012-08-01 Microsoft Corp Correction data
US9438483B2 (en) 2012-10-15 2016-09-06 At&T Intellectual Property I, L.P. System and method of implementing quality of service over a packet-based Network
WO2016103008A1 (en) * 2014-12-24 2016-06-30 Pismo Labs Technology Limited Methods and systems for transmitting data through an aggregated connection
JP6529299B2 (ja) 2015-03-20 2019-06-12 キヤノン株式会社 送信装置、受信装置、方法及びプログラム
CN112311497B (zh) * 2019-07-29 2024-06-18 华为技术有限公司 一种通信方法和通信设备
CN112968754B (zh) * 2021-02-01 2022-03-15 航天国盛科技有限公司 一种基于n+1路e1信道实现数据可靠性传输方法、网络设备及计算机可读存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272658B1 (en) * 1997-10-27 2001-08-07 Kencast, Inc. Method and system for reliable broadcasting of data files and streams
US7224702B2 (en) * 2000-08-30 2007-05-29 The Chinese University Of Hong Kong System and method for error-control for multicast video distribution
CN101068138B (zh) * 2001-02-21 2015-07-01 松下电器(美国)知识产权公司 使用信号星座重排的混合自动请求重发的方法
US6851084B2 (en) * 2002-06-10 2005-02-01 Harris Corporation Forward error correction method and system for reliable transmission of real time data over a packet based network
JP4088956B2 (ja) 2002-11-06 2008-05-21 ソニー株式会社 情報処理装置
JP4328602B2 (ja) * 2003-11-20 2009-09-09 富士通株式会社 パケットエラー訂正装置及び方法
WO2006090450A1 (ja) * 2005-02-23 2006-08-31 Media Global Links Co., Ltd パケット再送アルゴリズム
JP4688566B2 (ja) * 2005-05-10 2011-05-25 富士通東芝モバイルコミュニケーションズ株式会社 送信機及び受信機
JP2007143113A (ja) * 2005-10-19 2007-06-07 Matsushita Electric Ind Co Ltd 送受信システム、送信装置、および送信方法
JP4666309B2 (ja) * 2006-03-07 2011-04-06 財団法人エヌエイチケイエンジニアリングサービス 送信装置、受信装置、中継装置及びパケット伝送システム
US7725797B2 (en) * 2006-07-07 2010-05-25 Scientific-Atlanta, Llc Buffer for storing data and forward error correction (FEC)
JP4250654B2 (ja) * 2006-11-17 2009-04-08 株式会社東芝 通信装置、通信方法および通信プログラム
US7930617B1 (en) * 2007-06-20 2011-04-19 Rockwell Collins, Inc. Sliding window block codes for cross-packet coding
JP4808758B2 (ja) * 2008-11-10 2011-11-02 株式会社エヌ・ティ・ティ・ドコモ データ受信装置、及び、データ受信方法

Also Published As

Publication number Publication date
EP2197140A2 (en) 2010-06-16
JP2010141413A (ja) 2010-06-24
CN101753279A (zh) 2010-06-23
US20100146352A1 (en) 2010-06-10
CN101753279B (zh) 2013-12-04
US8312352B2 (en) 2012-11-13
EP2197140A3 (en) 2014-01-01

Similar Documents

Publication Publication Date Title
JP5408981B2 (ja) 通信装置、及び通信方法、プログラム
JP5409032B2 (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
JP5721301B2 (ja) 通信システムにおける非同期増分冗長受信のための方法および装置
JP4532505B2 (ja) データ送信装置、データ受信装置、およびデータ配信システム
US8004963B2 (en) Apparatus and method for packet redundancy and recovery
JP5109787B2 (ja) データ伝送システム、プログラム及び方法
US20070030799A1 (en) Communication method and system using two or more coding schemes
JP2004537919A (ja) パケットベースの通信システムのための前方エラー訂正システム及び方法
JP2006042306A (ja) 映像配信システム、映像配信装置、映像受信装置、映像配信方法、映像受信方法、映像配信プログラム及び映像受信プログラム
JP2010141413A5 (ja)
JP2007143142A (ja) 無線ネットワークにおけるデータ伝送方法及び装置
KR20120112981A (ko) 데이터 프레임의 재전송 감소 방법 및 이를 위한 수신 노드
JP3516929B2 (ja) 送信装置、受信装置、およびこれらを備えた通信システム
JP5588244B2 (ja) 映像伝送システム
JP3476788B2 (ja) 通信方式ならびに送信装置、受信装置およびこれらを備えた通信システム
US7239610B2 (en) Methods and devices for partial upper layer frame loss detection based retransmission
JP5376855B2 (ja) データ送信装置及びデータ送信方法
US20130339482A1 (en) Data transmitting system, and transmitting apparatus and receiving apparatus and program in data transmitting system
JP2009152864A (ja) 送信装置および受信装置およびデータ伝送方法
US7764624B2 (en) Methods and devices for preventing protocol stalling
KR100916312B1 (ko) 적응적 가중 오류 정정 부호화 및 다중 표현열 부호화를사용한 비디오 전송 장치 및 그 방법
JP5966502B2 (ja) データ受信方法及び装置
JP2004140861A (ja) 通信方式ならびに送信装置、受信装置およびこれらを備えた通信システム
JP2008167081A (ja) バースト通信装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130701

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131105

R151 Written notification of patent or utility model registration

Ref document number: 5408981

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151