JP5412917B2 - 誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システム - Google Patents

誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システム Download PDF

Info

Publication number
JP5412917B2
JP5412917B2 JP2009080358A JP2009080358A JP5412917B2 JP 5412917 B2 JP5412917 B2 JP 5412917B2 JP 2009080358 A JP2009080358 A JP 2009080358A JP 2009080358 A JP2009080358 A JP 2009080358A JP 5412917 B2 JP5412917 B2 JP 5412917B2
Authority
JP
Japan
Prior art keywords
packets
packet
unit
media
error correction
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
JP2009080358A
Other languages
English (en)
Other versions
JP2010233105A (ja
Inventor
和美 土井
淳 遠藤
雅洋 阿部
直行 竹下
貴文 上戸
孝一 鬼丸
泰孝 梅元
範幸 井原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009080358A priority Critical patent/JP5412917B2/ja
Priority to US12/731,856 priority patent/US8261162B2/en
Publication of JP2010233105A publication Critical patent/JP2010233105A/ja
Application granted granted Critical
Publication of JP5412917B2 publication Critical patent/JP5412917B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6547TCP, UDP, IP and associated protocols, e.g. RTP
    • 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
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システムに関する。
従来から、インターネット等のIP(Internet Protocol)ネットワークを利用した画像音声配信システムが、一般的に利用されている。例えば、図9に示すように、符号化装置と復号化装置とを備える画像音声配信システムでは、符号化装置と接続されたカメラとマイクからそれぞれ画像と音声を取り込み、取り込まれた画像と音声を圧縮符号化したビット列をUDP(User Datagram Protocol)パケットとし、インターネット経由で復号化装置に送信する。そして、復号化装置が、UDPパケットを復号してモニターおよびスピーカーから再生出力する。
ここで、このような画像音声配信システムでのIPパケットの転送には、通常TCP(Transmission Control Protocol)を用いる場合とUDPを用いる場合とがある。しかしリアルタイム性を重視する画像音声配信システムでは、データの信頼性よりも遅延時間の少ないUDPが用いられる。
IPネットワークでは、送信端末から受信端末へパケットが到達するまでに複数の異なる性能の中継装置を経由したり、伝送帯域が各中継装置間で異なったりする。そのため、物理的、電気的なデータエラーが発生するだけでなく、中継網のトラフィックや中継装置の内部バッファオーバーフロー等が発生し、パケットが途中で破棄されてしまう場合がある。そこで、このようなパケットの損失による影響を低減するため、UDPで伝送する場合には、さらに高位のレイヤで回数を制限した再送処理方式(ARQ方式)や損失パケットを復元させるための冗長パケットを常時送信する方式(FEC(Forward Error Correction)方式)が用いられる。
また、近年では、例えば4行5列の行列で表される2次元に配列されたパケットに対して冗長パケットを挿入することで、さらに高い復元性を実現させる方式(PRO−MPEG(Moving Picture Experts Group)方式)が用いられている。
ここで、PRO−MPEG方式のベースとなるFEC方式について、図10を参照して説明する。図10は、FECパケットの生成方法の一例を示す図である。図10に示すように、FECパケットは、例えば10個のパケットの各ビットについて排他的論理和(XOR)を算出して生成される。
例えば、第1パケットのビット列が「1,1,1,0,0,0・・・」であり、第2パケットのビット列が「1,0,1,1,0,1・・・」であるとする。すると、第1パケットの第1ビットである「1」と第2パケットの第1ビットである「1」のXORを算出した値「0」をFECパケットの第1ビットとし、第2ビット以降も同様に演算して第1パケットと第2パケットについてのFECパケットを得る。さらに、このFECパケットと第3パケットとを同様に演算して次のFECパケットを得て、同様の方法を第10パケットまで繰り返すことで、パケット10個に対するFECパケット1個を得ることになる。
受信側の復号化装置では、パケット10個とFECパケット1個を受信するが、パケットの順序を表す情報(例えば、RTPヘッダ内のシーケンス番号等)を用いて、パケットの並べ替えや損失したパケットの有無を認識する。そして、パケット10個のうち1個だけが損失した場合であれば、残りのパケット9個とFECパケットとを、XOR演算を行うことにより、損失したパケットが復元されるのである。
上記したように、損失したパケットが復元されるためには、符号化装置はFECパケットを正確に受信側の復号化装置に送信する必要があるために、例えば、図11に示すように、FECパケットを挿入して、送信する方式がある。
図11の例では、符号化装置は、4つのパケットから1つのFECパケットを生成し、5回に1回FECパケットを送信する。つまり、パケットを4つ送信した後に、4つのパケットから生成されたFECパケット1つを送信する。この方式の場合、FECパケットの挿入頻度が低いため、パケットとFECパケットとの合計レートも低くてすむが、連続したパケットの損失に対応することができない。
このようなFECパケットを行・列の二次元で挿入するのが、PRO−MPEG方式である。ここで、PRO−MPEG方式を用いたFECパケットを挿入する方式について、図12を参照して説明する。図12に示すように、4行5列の行列を用いたPRO−MPEG方式では、符号化装置が、FEC方式と同様に行方向の5つのパケットごとに1つのFECパケットを挿入するとともに、列方向の4つのパケットごとに1つのFECパケットを挿入する。
例えば、1行目の行方向のFECパケットFEC´1は、連続して配置されたパケットPkt1〜5の各ビットについてXORを算出して生成される。また、1列目の列方向のFECパケットFEC1は、離散的に配置されたパケットPkt1、6、11、16の各ビットについてXORを算出して生成される。そして、行方向のFECパケットは、例えば行方向の5つのパケットPkt1〜5が送信された後のタイミングで送信される。また、列方向のFECパケットは、例えばパケットが連続して送信されない状況を回避するために、後続する次の行列に配置されるパケット群Pkt21〜40が送信されるタイミングで離散的に送信される。
このような二次元行列に対してFECパケットを生成するPRO−MPEG方式の特徴を、図13を参照して説明する。図13は、PRO−MPEG方式の特徴を示す図である。図13に示すように、PRO−MPEG方式では、FEC方式では復元不可能であった、パケットが連続して損失した場合にも対応が可能となる。
例えば、パケットPkt1〜5が連続して損失した場合に、1列目の列方向のFECパケット(FEC1)を受信することにより、パケットPkt1が復元可能となる(m1)。また、2列目の列方向のFECパケット(FEC2)を受信することにより、パケットPkt2が復元可能となる(m2)。さらに、FECパケットFEC3およびFEC4を受信することにより、パケットPkt3およびPkt4がそれぞれ復元可能となる(m3、m4)。そして、パケットPkt1〜4が復元すると、パケットPkt5は、パケットPkt4とFEC´1により復元可能となる(m5)。
このようなFECパケットをパケットと分離して格納して、誤り訂正処理を行うFEC演算処理を分割して複数行うことにより、演算量が突発的に増大することを防ぐ技術が開示されている。
特開2008−131153号公報
しかしながら、誤り訂正にPRO−MPEG方式を用いる場合、誤り訂正を行うために蓄積されるべきパケット数がFEC方式を用いる場合に比べて多く必要であるため、誤り訂正後に実施される復号処理に移行するまでに多くの遅延時間が発生してしまうという問題がある。また、誤り訂正を行うために蓄積されるべきパケット数がFEC方式を用いる場合に比べて多く必要であるため、誤り訂正後に一度に大量のパケットが復号処理に送出されてしまうこと(以降、バーストという。)があるという問題がある。
まず、PRO−MPEG方式では、誤り訂正を行うために、1つの行列内のパケット総数が100パケットを超過してはならない仕様となっているため、最大約200パケットを蓄積することとなる。
これは、パケット総数が100パケットとなる、例えば10行10列の2次元の行列を用いてPRO−MPEGが受信される場合、1つの行列(例えば、行列A)に含まれる複数のパケットの誤り訂正を行うためには、行列Aに後続する行列(例えば、行列B)に含まれるパケットが受信されるタイミングで離散的に受信される複数のFECパケットが必要となるため、受信タイミングの観点から、これらのFECパケット、行列Aおよび行列Bが蓄積される必要があるからである。
ここで、ストリームが低ビットレートの場合には、高ビットレートと比べて単位時間内に受信されるパケット数が少ないため、仮に常に最大約200パケットが蓄積されると、高ビットレートと比べて多くの蓄積時間がかかり、復号処理に移行するまでの時間に大きな遅延が発生してしまう。
また、仮に常に最大約200パケットを蓄積するようにすると、最大約200パケットのバーストが発生してしまうことがある。例えば、このバーストに関する問題を、図14を用いて説明する。
図14に示すように、4行5列の2次元の行列を用いてPRO−MPEGが受信されている場合に、行列Aの1行目の行方向のパケットPkt1、5が損失していると、行方向のFECパケット(Fec´1)によって復元することができない。さらに、1列目の列方向のFECパケット(FEC1)が損失していると、パケットPkt1を復元することができないため、パケットPkt5の復元を待つこととなる。そして、行列Bの最終行にある行列Aの5列目の列方向のFECパケット(FEC5)によってパケットPkt5を復元した後、パケットPkt1が復元されることとなる。このとき、行列Bに含まれるパケットに誤りがないとすると、行列Aおよび行列Bの2行列分のパケットが全て送出可能となり、2行列分のパケット数のバースト量が発生することとなる。
本発明は、上記に鑑みてなされたものであって、復号処理に移行するまでに要する遅延時間の短縮化を行い、バースト量を抑制することができる誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システムを提供することを目的とする。
上述した問題を解決し、目的を達成するために、誤り訂正制御装置は、複数の行および列に構成される複数のデータパケットを受信する第1の受信部と、前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数受信する第2の受信部と、前記第2の受信部によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定部と、前記決定部によって決定された蓄積パケット数分の前記第1の受信部によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第2の受信部によって受信される誤り訂正パケットとを蓄積する蓄積部と、前記第1の受信部によって受信された第1のデータパケットの受信時間が、当該データパケットの直前に受信された第2のデータパケットの受信時間から所定時間以上経過しているか否かを判定する判定部と、前記判定部によって前記第1のデータパケットの受信時間が、前記第2のデータパケットの受信時間から所定時間以上経過していると判定された場合には、前記第1のデータパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元部とを備える構成を採る。
以上により、誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システムは、復号処理までに要する遅延時間の短縮化を行い、バースト量を抑制することができるという効果を奏する。
図1は、実施例1に係る復号化装置の構成を示す機能ブロック図である。 図2は、実施例1に係る復号化装置の誤り訂正処理の処理手順を示すフローチャートである。 図3は、実施例2に係る復号化装置の構成を示す機能ブロック図である。 図4−1は、10×5行列のPro−Mpegの場合の送信時間の算出方法を示す図である。 図4−2は、10×5行列のPro−Mpegの場合の復元パケットの送信時間の算出方法を示す図である。 図5は、実施例2に係る復号化装置の送信時間生成処理の処理手順を示すフローチャートである。 図6は、実施例3に係る復号化装置の構成を示す機能ブロック図である。 図7は、実施例3に係る復号化装置の誤り訂正処理の処理手順を示すフローチャートである。 図8は、実施例3に係る復号化装置の送信時間生成処理の処理手順を示すフローチャートである。 図9は、従来の画像音声配信システムを示す図である。 図10は、FECパケットの生成方法の一例を示す図である。 図11は、FECパケットを挿入する方式を示す図である。 図12は、PRO−MPEG FECパケットを挿入する方式を示す図である。 図13は、PRO−MPEG FECの特徴を示す図である。 図14は、PRO−MPEG FECのバースト例を示す図である。
以下に、本発明に係る誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システムの実施例を図面に基づいて詳細に説明する。なお、本発明に係る誤り訂正制御装置は復号化装置として説明する。また、本実施例によりこの発明が限定されるものではない。
図1は、本実施例1に係る復号化装置の構成を示す機能ブロック図である。図1に示すように、復号化装置1は、ネットワーク3を介して符号化装置2と接続されている。
符号化装置2は、動画や音声のメディアデータを圧縮符号化したメディアパケットと、
Pro−MpegFECパケットと、を生成して、それぞれ復号化装置1に送信する。なお、メディアパケットおよびPro−MpegFECパケットは、RTP(Real-time Transport Protocol)に準拠したパケットである。
ここで、Pro−MpegFECパケットについて説明する。Pro−MpegFECパケットは、Pro−Mpeg方式によって生成されるFECパケットであり、例えば、ネットワーク3上で発生するメディアパケットの損失を復元するために周期的に挿入されるFECパケットである。なお、Pro−MpegFECパケットは、以降「FECパケット」と略記するものとする。
具体的には、FECパケットは、2次元行列に配置された複数のメディアパケットの行毎および列毎にそれぞれ1つずつ、符号化装置2によって生成されている。
行毎のFECパケットは、これらのFECパケットによって損失が復元されることが可能な複数のメディアパケットに続いて送信されるように挿入される。一方、列毎のFECパケットは、これらのFECパケットによって損失が復元されることが可能な複数のメディアパケットに後続して送信される次の2次元行列に配置された複数のメディアパケットのいずれかと同じタイミングで送信されるように挿入される。
次に、復号化装置1は、受信部10と、誤り訂正部20と、送信部30と、復号処理部40と、を備える。
ここで、復号化装置1の処理概要について説明する。復号化装置1は、符号化装置2からメディアパケットおよびFECパケットを受信すると、FECパケットに含まれる2次元行列の行列構成情報を抽出して、この行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する。また、復号化装置1は、決定した蓄積パケット数分の複数のメディアパケットとともに、これらのメディアパケットと同じタイミングで受信される複数のFECパケットを蓄積する。さらに、復号化装置1は、メディアパケットの損失を検出すると、損失を検出したメディアパケットを、蓄積したメディアパケットおよびFECパケットを用いて復元する。なお、復号化装置1が行う処理については、後に詳述する。
受信部10は、符号化装置2からメディアパケットおよびFECパケットを受信する機能部であり、メディアパケット受信部11と、FECパケット受信部12と、を備える。
メディアパケット受信部11は、符号化装置2から送信されたメディアパケットを受信する。また、メディアパケット受信部11は、受信したメディアパケットを後述するパケット損失検出部21およびバッファ管理部24に出力する。
FECパケット受信部12は、符号化装置2から送信されたFECパケットを、メディアパケットを受信するポートとは異なるポートによって受信する。また、FECパケット受信部12は、受信したFECパケットを蓄積パケット数決定部22およびバッファ管理部24に出力する。具体的には、FECパケット受信部12は、2次元行列に配置される複数のメディアパケットの損失を復元するために生成される複数のFECパケットのうち、最初に受信されるFECパケット、すなわち1行目の行方向のFECパケットを蓄積パケット数決定部22に出力する。また、FECパケット受信部12は、受信したFECパケットをバッファ管理部24に出力する。
ここで、FECパケット受信部12がメディアパケットとの関係においてFECパケットを受信するタイミングについて説明する。
例えば、2次元行列に配置される複数のメディアパケットのうち、行毎の各FECパケットは、行毎の各行に配置されたメディアパケットを受信した直後に受信される。一方、列毎の各FECパケットは、これらのFECパケットによって損失を復元することが可能となる2次元行列に配置された複数のメディアパケットに後続する次の2次元行列に配置された複数のメディアパケットのいずれかと同じタイミングで受信される。したがって、2次元行列に配置される複数のメディアパケットに対応するFECパケットが全て受信されたときには、これらのメディアパケットに後続する次の2次元行列に配置される複数のメディアパケットが全て受信されていることになる。
なお、FECパケット受信部12は、メディアパケットを受信するポートと異なるポートによってFECパケットを受信するものとしたが、1つのポートで両方のパケットを受信するものとしても良い。さらに、FECパケット受信部12は、行方向のFECパケットを受信するポートと列方向のFECパケットを受信するポートとを分けて、それぞれのFECパケットを受信するものとしても良い。
誤り訂正部20は、メディアパケットの損失を復元する機能部であり、パケット損失検出部21と、蓄積パケット数決定部22と、復元処理部23と、バッファ管理部24と、誤り訂正用バッファ25と、を備える。
パケット損失検出部21は、メディアパケットが損失しているか否かを判定して、その判定結果に基づいて、損失したメディアパケットを検出する。具体的には、パケット損失検出部21は、メディアパケット受信部11からメディアパケットを取得すると、メディアパケットのRTPヘッダに含まれるシーケンス番号を抽出し、この抽出結果に基づいて、メディアパケットの欠落があった場合には、欠落があったシーケンス番号を持つメディアパケットを復元する旨を復元処理部23に依頼する。なお、シーケンス番号とは、メディアパケット毎に一意に付けられた番号であり、再生される順序を表した番号である。メディアパケットは、原則としてシーケンス番号の小さい順から大きい順に配置されている。
蓄積パケット数決定部22は、FECパケットのTCPヘッドから2次元行列の行列構成情報を抽出して、この2次元行列の行列構成情報に基づいて、損失したメディアパケットを復元するために最低限必要な蓄積パケット数を決定する。なお、2次元行列の行列構成情報とは、メディアパケットが配置される2次元行列の行数および列数を含む情報である。
具体的には、蓄積パケット数決定部22は、2次元行列の行列構成情報に含まれる2次元行列の行数と列数とを乗算して、2次元行列に配置されるメディアパケット数を算出する。さらに、蓄積パケット数決定部22は、算出したメディアパケット数に2を乗算して、2つの2次元行列分のメディアパケット数を蓄積パケット数とする。
これは、2次元行列に配置されるメディアパケットの損失を全て復元するためには、2次元行列の行方向および列方向のFECパケットが予め蓄積される必要があるが、列方向のFECパケットは、後続する2次元行列に配置されるいずれかのメディアパケットと同じタイミングで受信されるため、全ての列方向のFECパケットを蓄積すると、後続する2次元行列に配置される複数のメディアパケットを蓄積することになるからである。
また、蓄積パケット数決定部22は、蓄積パケット数をバッファ管理部24に出力する。
復元処理部23は、損失があったメディアパケットを復元する。具体的には、復元処理部23は、損失があったシーケンス番号を持つメディアパケットを復元する旨をパケット損失検出部21から依頼されると、このメディアパケットを復元するために必要なメディアパケットおよびFECパケットを誤り訂正用バッファ25から取得して、取得したパケットをXOR演算して、損失メディアパケットを復元する。
例えば、2次元行列の行列構成情報が4行5列の場合、1行2列に配置されるメディアパケットが損失しているとき、1行目に配置された他のメディアパケットおよび1行目のFECパケットを誤り訂正用バッファ25から取得して、取得したパケットをXOR演算して、1行2列に配置されるメディアパケットを復元することになる。このとき、仮に1行目に配置された他のメディアパケットのうち、1つでも欠落している場合には、2列目に配置された他のメディアパケットおよび2列目のFECパケットを誤り訂正用バッファ25から取得して、取得したパケットをXOR演算して、1行2列に配置されるメディアパケットを復元することになる。
また、復元処理部23は、復元したメディアパケットを、誤り訂正用バッファ25の当該シーケンス番号に対応した位置に追加して蓄積する。
バッファ管理部24は、誤り訂正用バッファ25に蓄積されるメディアパケットの数を調整する。具体的には、バッファ管理部24は、蓄積パケット数決定部22から蓄積パケット数を取得すると、誤り訂正用バッファ25のサイズを蓄積パケット数に設定する。例えば、バッファ管理部24は、誤り訂正用バッファ25に蓄積されるメディアパケットの有効なパケット数をカウンタに設定して、このカウンタを管理するものとしても良い。
また、バッファ管理部24は、誤り訂正用バッファ25に蓄積された複数のメディアパケットの数が蓄積パケット数分あるか否かを管理して、蓄積パケット数分ある場合には、誤り訂正用バッファ25に蓄積された複数のメディアパケットを復号するために送信部30に出力する。すなわち、バッファ管理部24は、誤り訂正用バッファ25に蓄積された蓄積パケット数分のメディアパケットを一度に送信部30に出力することになる。
誤り訂正用バッファ25は、メディアパケットを蓄積するメディアバッファと、FECパケットを蓄積するFECバッファとを含む記憶領域である。なお、FECバッファは、行方向のFECパケットを蓄積するバッファと列方向のFECパケットを蓄積するバッファとを分離して蓄積するものとしても良い。
送信部30は、メディアパケットを復号処理部40に送信する機能部であり、RTPバッファ31を含む。RTPバッファ31は、メディアパケットを復号処理部40に送出するためにメディアパケットを一時的に蓄積する記憶領域である。
送信部30は、バッファ管理部24から蓄積パケット数分の複数のメディアパケットを取得すると、取得したメディアパケットを、RTPバッファ31を介して一度に復号処理部40に送出する。なお、送信部30は、蓄積パケット数分のメディアパケットを一度に復号処理部40に出力するものとしたが、これに限定されず、送信タイミングを1メディアパケットずつずらして出力するものとしても良い。
復号処理部40は、メディアパケットを復号する機能部である。具体的には、復号処理部40は、送信部30によってRTPバッファ31を介して出力されたメディアパケットを復号して、例えばモニターやスピーカーに出力する。
次に、実施例1に係る復号化装置1の誤り訂正処理の処理手順を、図2を参照して説明する。図2は、実施例1に係る復号化装置1の誤り訂正処理の処理手順を示すフローチャートである。
まず、メディアパケット受信部11が、符号化装置2によって出力されたメディアパケットを受信すると、受信したメディアパケットを、バッファ管理部24を介して誤り訂正用バッファ25に蓄積する(ステップS11)。このとき、メディアパケット受信部11は、受信したメディアパケットをパケット損失検出部21に出力する。
また、FECパケット受信部12が、符号化装置2によって出力されたFECパケットを受信すると、受信したFECパケットを、バッファ管理部24を介して誤り訂正用バッファ25に蓄積する(ステップS11)。
また、FECパケット受信部12は、2次元行列に配置されるメディアパケットの損失を復元するために生成されたFECパケットのうち、1行目の行方向のFECパケットであるか否かを判定する(ステップS12)。
1行目の行方向のFECパケットであると判定された場合には(ステップS12Yes)、蓄積パケット数決定部22は、FECパケットのTCPヘッドから2次元行列の行列構成情報を抽出して、この行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する(ステップS13)。具体的には、蓄積パケット数決定部22は、行列構成情報に含まれる2次元行列の行数と列数とを乗算して、乗算した結果にさらに2を乗算して、2つの2次元行列分のメディアパケット数を蓄積パケット数とする。
そして、バッファ管理部24は、蓄積パケット数決定部22によって決定された蓄積パケット数を誤り訂正用バッファ25の有効なサイズとして、誤り訂正用バッファ25を調整する(ステップS14)。
パケット損失検出部21は、メディアパケット受信部11から出力されたメディアパケットを取得すると、取得したメディアパケットのRTPヘッダに含まれるシーケンス番号を監視し、その監視結果に基づき、メディアパケットに損失があるか否かを判定する(ステップS15)。そして、パケット損失検出部21は、メディアパケットに損失があった場合には(ステップS15Yes)、損失したメディアパケットを復元する旨を復元処理部23に依頼する。
損失したメディアパケットを復元する旨の依頼を取得した復元処理部23は、損失したメディアパケットを、誤り訂正用バッファ25に蓄積されたFECパケットおよびメディアパケットを用いて復元して、誤り訂正用バッファ25に蓄積する(ステップS16)。
そして、バッファ管理部24は、蓄積パケット数分の全メディアパケットが存在しているか否かを判定する(ステップS17)。
バッファ管理部24は、蓄積パケット数分の全メディアパケットが存在していないと判定する場合には(ステップS17No)、損失したメディアパケットを復元させるために、ステップS15に遷移する。
バッファ管理部24は、蓄積パケット数分の全メディアパケットが存在していると判定する場合には(ステップS17Yes)、誤り訂正処理を終了する。
誤り訂正処理が終了すると、引き続き、バッファ管理部24は、誤り訂正用バッファ25に蓄積された全メディアパケットを、RTPバッファ31を介して復号処理部40に送信する。
以上のように本実施例1によれば、復号化装置1は、複数の行および列に構成される複数のメディアパケットを受信し、前記複数のメディアパケットの行毎および列毎にそれぞれ生成されるFECパケットであって前記複数のメディアパケットの行列構成情報を含む複数のFECパケットを受信する。そして、復号化装置1は、受信されたFECパケットに含まれる前記複数のメディアパケットの行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する。そして、復号化装置1は、決定された蓄積パケット数分受信されるメディアパケットと、これらのメディアパケットと同じタイミングで受信されるFECパケットとを蓄積する。さらに、復号化装置1は、受信されたメディアパケットの損失を検出すると、損失が検出されたメディアパケットを、蓄積されたメディアパケットおよびFECパケットを用いて復元する。
かかる構成によれば、復号化装置1は、損失したメディアパケットを復元するために必要最小限の蓄積パケット数を蓄積した後に、即メディアパケットの損失の復元に取り掛かることができるため、蓄積に伴う遅延時間を短くすることができ、その後の復号処理部40に移行するまでに要する遅延時間の短縮化を図ることができる。その結果、特に、ストリームが低ビットレートの場合には、復号化装置1は、遅延時間の短縮化を図ることによって、その後の復号処理部40の負荷を軽減することができる。
また、復号化装置1は、損失したメディアパケットを復元するために決定された必要最小限の蓄積パケット数のみを蓄積しているため、これらの蓄積パケット数分を一度に復号処理部40に送出することになったとしても、バースト量を抑制することができる。その結果、復号化装置1は、その後の復号処理部40に要する負担を大幅に軽減することができる。
以下に、遅延時間とバースト量について、常に最大200個のメディアパケットを蓄積する場合と、メディアパケット(RTP)の行列構成情報が例えば4行4列の場合に最小限の蓄積パケット数分のメディアパケットを蓄積する場合と、を比較する。なお、1個のメディアパケット(RTP)は、7個のTS(Transport Stream)パケットから構成されるものとして計算する。
常に最大200個のメディアパケットを蓄積する場合の最大バースト量は、
200(RTP)×188(byte)×7(TS数)=263200byteということになる。
一方、4行4列の場合に最小限の蓄積パケット数分のメディアパケットを蓄積する場合の最大バースト量は、
4×4×2(RTP)×188(byte)×7(TS数)=48112byteということになる。
したがって、4行4列の場合に最小限の蓄積パケット数分のメディアパケットを蓄積する場合には、常に最大200個のメディアパケットを蓄積する場合に比べて、バースト量を約1/5に減少させることができる。
また、1秒間に受信されるメディアパケット(RTP)数は、
1300000(bit)/(188(byte)×8(bit)×7(TS数))=123.4となるため、常に最大200個のメディアパケットを蓄積する場合の遅延時間は、
200(RTP)/123.4=1.6(秒)ということになる。
一方、4行4列の場合に最小限の蓄積パケット数分のメディアパケットを蓄積する場合の遅延時間は、
4×4×2(RTP)/123.4=0.3(秒)ということになる。
したがって、4行4列の場合に最小限の蓄積パケット数分のメディアパケットを蓄積する場合には、常に最大200個のメディアパケット数を蓄積する場合に比べて、遅延時間を約1/5に減少させることができる。
ところで、上記の実施例1では、復号化装置1は、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積することにより、復号処理部40に送出するメディアパケットのバースト量を抑えるようにした。本発明はこれに限定されるものではなく、復号化装置1が、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積して、さらに、蓄積されたメディアパケットの送信時間を生成して、復号処理部40に送出するメディアパケットのバーストをなくするものとしても良い。
そこで、実施例2に係る復号化装置1が、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積して、さらに、蓄積されたメディアパケットの送信時間を生成して、復号処理に送出するメディアパケットのバーストをなくする場合を説明する。
まず、実施例2に係る復号化装置1の構成について図3を参照しながら説明する。図3は、実施例2に係る復号化装置1の構成を示す機能ブロック図である。なお、図1に示す復号化装置1と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、受信部10に受信時間カウンタ51を、誤り訂正部20に受信時間管理部61、受信時間バッファ62、ヘッダ解析部63および送信時間生成部64を、送信部30に送信時間管理部71、送信時間バッファ72、送信時間カウンタ73および送信制御部74を追加した点にある。
受信時間カウンタ51は、時間を計測する計時装置であり、メディアパケット受信部11によって受信される各メディアパケットの受信時間を受信時間管理部61に出力する。なお、受信時間カウンタ51は、後述する送信時間カウンタ73と同じ時間精度を有している。
受信時間管理部61は、メディアパケット毎の受信時間を管理する。具体的には、受信時間管理部61は、受信時間カウンタ51から取得したメディアパケットの受信時間を、メディアパケット毎に受信時間バッファ62に蓄積する。また、受信時間管理部61は、受信時間カウンタ51から取得したメディアパケットの受信時間を送信時間生成部64aに出力する。
復元処理部23は、損失があったメディアパケットのデータ部分を示すRTPペイロードとRTPヘッダに含まれるタイムスタンプを復元する。具体的には、復元処理部23は、損失があったメディアパケットを復元するために必要なメディアパケットおよびFECパケットを誤り訂正用バッファ25から取得する。そして、復元処理部23は、取得したパケットのRTPペイロードをそれぞれXOR演算して、損失メディアパケットのRTPペイロードを復元する。また、復元処理部23は、取得したパケットのRTPヘッダをそれぞれXOR演算して、損失メディアパケットのRTPヘッダを復元する。これにより、RTPヘッダに含まれるタイムスタンプが復元されることになる。
また、復元処理部23は、復元したメディアパケットを、誤り訂正用バッファ25の当該シーケンス番号に対応した位置に追加して蓄積する。さらに、復元処理部23は、復元したメディアパケットの送信時間を生成させるために、復元したRTPヘッダの情報をヘッダ解析部63に出力する。なお、タイムスタンプとは、メディアパケット毎に再生時のタイミングを表した値である。
ヘッダ解析部63は、復元処理部23から復元したメディアパケット(以降、復元メディアパケットという。)のRTPヘッダを取得すると、RTPヘッダに含まれたタイムスタンプおよびシーケンス番号を抽出して復元送信時間生成部64bに出力する。
送信時間生成部64は、送信時間生成部64aと、復元送信時間生成部64bと、を備える。
送信時間生成部64aは、誤り訂正用バッファ25に蓄積された蓄積パケット数分の複数のメディアパケットの送信時間を生成する。
具体的には、送信時間生成部64aは、誤り訂正用バッファ25に蓄積されたメディアパケットの蓄積パケット数を蓄積パケット数決定部22から取得する。すなわち、送信時間生成部64aは、メディアパケットに欠落があった場合にこのメディアパケットの欠落を復元するために最小限必要となり且つ2つの2次元行列分のメディアパケット数となる蓄積パケット数を取得する。
そして、送信時間生成部64aは、受信時間管理部61から取得されるメディアパケット毎の受信時間と、蓄積パケット数と、に基づいて、蓄積パケット数分のメディアパケットの送信時間を生成する。例えば、送信時間生成部64aは、誤り訂正用バッファ25に蓄積されるメディアパケットのうち、最初に蓄積されるメディアパケットの受信時間と、当該メディアパケットを含んで蓄積パケット数+1個目に受信されたメディアパケットの受信時間と、の差分を遅延時間として算出する。そして、送信時間生成部64aは、算出した遅延時間を、誤り訂正用バッファ25に蓄積された各メディアパケットの受信時間に加算して、これらのメディアパケットそれぞれの送信時間を生成する。
ここで、送信時間生成部64aが蓄積パケット数分のメディアパケットの送信時間を算出する一例を、図4−1を参照して説明する。図4−1は、10×5行列のPro−Mpegの場合の送信時間の算出方法を示す図である。図4−1に示すように、5行10列の2次元行列を用いたPro−Mpegであるため、蓄積パケット数は2個分の2次元行列に配置されたメディアパケットの数10×5×2個となり、結果として100個のメディアパケットが受信された順にNo.1、No.2・・・、No.100と並んでいる。なお、各メディアパケットの受信時間は、受信された順にa1、a2・・・、a100とする。
そして、後続する3個目の2次元行列に配置されたNo.101のメディアパケットが受信されたとき、既に誤り訂正用バッファ25に蓄積されているNo.1〜No.100のメディアパケットは、送信部30に送信可能となっている。
そこで、送信時間生成部64aは、No.101のメディアパケットの受信時間a101とNo.1のメディアパケットの受信時間との差分を、遅延時間として算出する。さらに、送信時間生成部64aは、各メディアパケットの受信時間に遅延時間を加算して得た時間を、各メディアパケットの送信時間とする。これにより、送信時間生成部64aは、誤り訂正用バッファ25に蓄積されている各メディアパケットを順次送信部30に出力させることができ、バーストを回避することができる。
図3に戻って、送信時間生成部64aは、生成された蓄積パケット数分のメディアパケットの送信時間をシーケンス番号と対にして、送信時間管理部71に出力する。
復元送信時間生成部64bは、復元メディアパケットの送信時間を生成する。
具体的には、復元送信時間生成部64bは、ヘッダ解析部63から復元メディアパケットのタイムスタンプおよびシーケンス番号を取得する。そして、復元送信時間生成部64bは、取得した復元メディアパケットのタイムスタンプと、取得した復元メディアパケットのシーケンス番号の直前のシーケンス番号におけるメディアパケットの送信時間およびタイムスタンプと、に基づいて、復元メディアパケットの送信時間を生成する。
例えば、復元送信時間生成部64bは、復元メディアパケットのシーケンス番号の直前のシーケンス番号におけるメディアパケットの送信時間を送信時間生成部64aから取得する。また、復元送信時間生成部64bは、復元メディアパケットのシーケンス番号の直前のシーケンス番号におけるメディアパケットを誤り訂正用バッファ25から取得して、取得したメディアパケットのRTPヘッダからタイムスタンプを抽出する。そして、復元送信時間生成部64bは、直前のメディアパケットと復元メディアパケットとのタイムスタンプの差分を算出して、その差分に直前のメディアパケットの送信時間を加算して、復元メディアパケットの送信時間を生成する。
ここで、復元送信時間生成部64bが復元メディアパケットの送信時間を算出する一例を、図4−2を参照して説明する。図4−2は、10×5行列のPro−Mpegの場合の復元メディアパケットの送信時間の算出方法を示す図である。図4−2に示すように、欠落していたメディアパケットNo.x(x=1〜100)が復元した場合に、復元メディアパケットNo.xの送信時間が、No.xの直前のメディアパケットNo.x−1を用いて生成される。
例えば、復元メディアパケットNo.xの送信時間(SendTime)は、以下のようになる。なお、TimeStamp x は復元メディアパケットNo.xのタイムスタンプであり、SendTime x-1およびTimeStamp x-1は、それぞれNo.xの直前のメディアパケットNo.x-1の送信時間およびタイムスタンプを表す。また、accuracyCounterは送信時間カウンタの精度を表し、accuracyTimeStampはタイムスタンプの精度を表す。
SendTime=SendTime x-1+(TimeStamp x−TimeStamp x-1)×(accuracyCounter/accuracyTimeStamp)
すなわち、復元送信時間生成部64bは、復元メディアパケットNo.xと直前のメディアパケットNo.x−1とのタイムスタンプの差分を算出して、算出したタイムスタンプの差分を送信時間カウンタの精度に調整する。そして、復元送信時間生成部64bは、調整されたタイムスタンプの差分に送信時間を加算して、復元メディアパケットNo.xの送信時間を算出する。
図3に戻って、復元送信時間生成部64bは、生成された復元メディアパケットの送信時間をシーケンス番号と対にして、送信時間管理部71に出力する。
なお、復元送信時間生成部64bは、損失メディアパケットの送信時間を生成するために、損失メディアパケットのシーケンス番号の直前のシーケンス番号におけるメディアパケットを用いるものとしたが、これに限定されず、損失メディアパケットのシーケンス番号の直後のシーケンス番号におけるメディアパケットを用いるものとしても良い。
送信時間管理部71は、送信時間生成部64aから出力される蓄積パケット数分の各メディアパケットに対応する送信時間およびシーケンス番号を、送信時間バッファ72に蓄積する。また、送信時間管理部71は、復元送信時間生成部64bから出力される復元メディアパケットに対応する送信時間およびシーケンス番号を送信時間バッファ72に蓄積する。さらに、送信時間管理部71は、送信時間バッファ72に蓄積されたメディアパケットの送信時間およびシーケンス番号を、シーケンス番号の順序毎に順次取り出して、送信制御部74に出力する。
送信時間カウンタ73は、時間を計測する計時装置である。
送信制御部74は、送信時間管理部71から出力されたシーケンス番号に対応するメディアパケットの送信時間を、送信時間カウンタ73を用いて監視して、送信時間となった場合にこのメディアパケットが出力されるように制御する。具体的には、送信制御部74は、送信時間管理部71からシーケンス番号に対応するメディアパケットの送信時間およびシーケンス番号を取得すると、当該送信時間が送信時間カウンタ73から得た時間以下となった場合に、このシーケンス番号を持つメディアパケットを出力する旨をバッファ管理部24に依頼する。
バッファ管理部24は、送信制御部74によって指定されたシーケンス番号を持つメディアパケットを出力する旨の依頼を取得すると、誤り訂正用バッファ25から指定されたシーケンス番号を持つメディアパケットを取得して、RTPバッファ31に出力する。
次に、実施例2に係る復号化装置1の送信時間生成処理の処理手順を、図5を参照して説明する。図5は、実施例2に係る復号化装置1の送信時間生成処理の処理手順を示すフローチャートである。なお、蓄積パケット数決定部22によって決定された蓄積パケット数が、送信時間生成部64aに対して出力されるものとする。
まず、メディアパケット受信部11が、符号化装置2によって出力されたメディアパケットを受信すると、受信時間カウンタ51が、当該メディアパケットの受信時間を受信時間管理部61に出力する。そして、受信時間管理部61が、メディアパケットの受信時間を受信時間バッファ62に蓄積する(ステップS21)。
そして、送信時間生成部64aは、蓄積パケット数決定部22から蓄積パケット数を取得すると、取得した蓄積パケット数の各メディアパケットの送信時間を算出するために、遅延時間を算出する(ステップS22)。例えば、送信時間生成部64aは、誤り訂正用バッファ25に蓄積されるメディアパケットのうち、最初に蓄積されるメディアパケットの受信時間と、当該メディアパケットを含んで蓄積パケット数+1個目のメディアパケットの受信時間と、を受信時間管理部61から取得する。そして、送信時間生成部64aは、これらの受信時間の差分を遅延時間として算出する。
そして、送信時間生成部64aは、誤り訂正用バッファ25に蓄積されるメディアパケットの蓄積パケット数分の受信時間を受信時間管理部61から取得すると、算出した遅延時間を用いて各メディアパケットの送信時間を算出して(ステップS23)、算出した送信時間を送信時間管理部71に出力する。具体的には、送信時間生成部64aは、算出した遅延時間を、各メディアパケットの受信時間に加算して、各メディアパケットの送信時間を算出する。
ここで、損失したメディアパケットが復元された場合には、ヘッダ解析部63は、復元メディアパケットのRTPヘッダに含まれたタイムスタンプを抽出して(ステップS24)、抽出したタイムスタンプを復元送信時間生成部64bに出力する。
そして、復元メディアパケットのタイムスタンプを取得した復元送信時間生成部64bは、復元メディアパケットの送信時間を算出して(ステップS25)、算出した送信時間を送信時間管理部71に出力する。具体的には、復元送信時間生成部64bは、復元メディアパケットのタイムスタンプと、復元メディアパケットのシーケンス番号の直前のシーケンス番号を持つメディアパケットのタイムスタンプと、の差分を算出する。そして、復元送信時間生成部64bは、算出した差分に、直前のメディアパケットの送信時間を加算して、復元メディアパケットの送信時間を算出する。
なお、復元送信時間生成部64bは、復元メディアパケットの送信時間を算出するために、復元メディアパケットのシーケンス番号の直前のシーケンス番号を持つメディアパケットを用いるものとしたが、復元メディアパケットのシーケンス番号の直後のシーケンス番号を持つメディアパケットを用いても良い。
引き続き、メディアパケットのシーケンス番号の順番に、送信時間管理部71からメディアパケットの送信時間を取得した送信制御部74は、送信時間を、送信時間カウンタ73を用いて監視して、取得した送信時間が送信時間カウンタ73から得た時間以下になったか否かを判定する(ステップS26)。
送信制御部74は、送信時間が送信時間カウンタ73から得た時間以下になっていないと判定する場合には(ステップS26No)、引き続き、送信時間カウンタ73を用いて送信時間を監視する。
一方、送信制御部74は、送信時間が送信時間カウンタ73から得た時間以下になったと判定する場合には(ステップS26Yes)、メディアパケットを出力する旨を、シーケンス番号を指定してバッファ管理部24に依頼する(ステップS27)。
すると、指定されたシーケンス番号を持つメディアパケットを出力する旨の依頼を取得したバッファ管理部24は、誤り訂正用バッファ25から指定されたメディアパケットを取得して、RTPバッファ31に出力する(ステップS28)。
引き続き、送信時間管理部71は、送信時間バッファ72に蓄積された送信時間が全て処理された否かを判定する(ステップS29)。
送信時間管理部71は、送信時間が全て処理されていないと判定する場合には(ステップS29No)、次の送信時間が処理されるように、ステップS26に遷移する。
一方、送信時間管理部71は、送信時間が全て処理されたと判定する場合には(ステップS29Yes)、送信時間生成処理を終了する。
以上のように本実施例2によれば、復号化装置1は、複数の行および列に構成される複数のメディアパケットを受信し、前記複数のメディアパケットの行毎および列毎にそれぞれ生成されるFECパケットであって前記複数のメディアパケットの行列構成情報を含むFECパケットを複数受信する。そして、復号化装置1は、受信されたFECパケットに含まれる前記複数のメディアパケットの行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する。そして、復号化装置1は、決定された蓄積パケット数分受信されるメディアパケットと、これらのメディアパケットと同じタイミングで受信されるFECパケットとを蓄積する。そして、復号化装置1は、受信されたメディアパケットの損失を検出すると、損失が検出されたメディアパケットを、蓄積されたメディアパケットおよびFECパケットを用いて復元する。さらに、復号化装置1は、受信されたメディアパケットの受信時間と決定された蓄積パケット数と、に基づいて、蓄積された複数のメディアパケットの送信時間を生成する。
かかる構成によれば、復号化装置1は、損失したメディアパケットを復元するために必要最小限の蓄積パケット数を蓄積した後に、即メディアパケットの損失の復元に取り掛かることができるため、蓄積に伴う遅延時間を短くすることができ、その後の復号処理部40に移行するまでに要する遅延時間の短縮化を図ることができる。その結果、特に、ストリームが低ビットレートの場合には、復号化装置1は、遅延時間の短縮化を図ることによって、その後の復号処理部40の負荷を軽減することができる。
また、復号化装置1は、蓄積パケット数分蓄積された複数のメディアパケットの送信時間を生成することにより、これらの蓄積パケット数を順次復号処理部40に送出することができるため、複数のメディアパケットを一度に復号処理部40に送出するバーストをなくすことができる。その結果、復号化装置1は、その後の復号処理部40の負荷を軽減することができる。
ところで、上記の実施例2では、復号化装置1が、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積して、さらに、損失が復元されたメディアパケットを含めて蓄積されたメディアパケットの送信時間を生成して、復号処理部40に送出するようにした。本発明はこれに限定されるものではなく、復号化装置1が、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積して、さらに、ネットワーク3上で遅延があった場合に復元されたメディアパケットを含めて蓄積されたメディアパケットの送信時間を生成して、復号処理部40に送出しても良い。
そこで、実施例3に係る復号化装置1が、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積して、さらに、ネットワーク3上で遅延があった場合に復元されたメディアパケットを含めて蓄積されたメディアパケットの送信時間を生成して、複号処理部40に送出する場合を説明する。
まず、実施例3に係る復号化装置1の構成について図6を参照しながら説明する。図6は、実施例3に係る復号化装置1の構成を示す機能ブロック図である。なお、図3に示す復号化装置1と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例2と実施例3とが異なるところは、誤り訂正部20に遅延判定部61aを追加した点にある。
遅延判定部61aは、各メディアパケットの受信間隔をチェックし、メディアパケット毎に、例えばネットワーク3上での何らかの理由により、遅延して受信されたか否かを判定する。具体的には、遅延判定部61aは、受信時間カウンタ51から出力されるメディアパケットの受信時間を受信時間管理部61から取得すると、この受信時間が当該メディアパケットの直前に受信されたメディアパケットの受信時間から所定値を経過しているか否かを判定する。なお、この所定値は、通信速度に応じてあらかじめ定められるものとする。
また、遅延判定部61aは、メディアパケットが遅延して受信されたと判定する場合には、メディアパケットのデータに信頼性がないものと判断して、当該メディアパケットの復元を復元処理部23に依頼する。一方、遅延判定部61aは、メディアパケットが遅延して受信されたものではないと判定する場合には、受信時間カウンタ51から取得した当該メディアパケットの受信時間を送信時間生成部64aに出力する。
復元処理部23は、遅延があったメディアパケットのデータ部分を示すRTPペイロードとRTPヘッダに含まれるタイムスタンプを復元する。なお、復元方法は、損失があったメディアパケットの場合と同様であるため、詳しい説明を省略する。また、復元処理部23は、復元したメディアパケットの送信時間を生成させるために、復元したRTPヘッダの情報をヘッダ解析部63に出力する。
次に、実施例3に係る復号化装置1の誤り訂正処理の処理手順を、図7を参照して説明する。図7は、実施例3に係る復号化装置1の誤り訂正処理の処理手順を示すフローチャートである。なお、図7において、実施例1に係る復号化装置1の誤り訂正処理の処理手順(図2)と同じ部分には同じ符号を付し、詳しい説明を省略する。
まず、メディアパケット受信部11が、符号化装置2によって出力されたメディアパケットを受信すると、受信したメディアパケットを、誤り訂正用バッファ25に蓄積する(ステップS11)とともにパケット損失検出部21に出力する。また、FECパケット受信部12が、符号化装置2によって出力されたFECパケットを誤り訂正用バッファ25に蓄積する(ステップS11)。
また、FECパケット受信部12は、2次元行列に配置されるメディアパケットの損失を復元するために生成されたFECパケットのうち、1行目の行方向のFECパケットであるか否かを判定する(ステップS12)。
1行目の行方向のFECパケットであると判定された場合には(ステップS12Yes)、蓄積パケット数決定部22は、FECパケットのTCPヘッドから2次元行列の行列構成情報を抽出して、この行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する(ステップS13)。
そして、バッファ管理部24は、蓄積パケット数決定部22によって決定された蓄積パケット数を誤り訂正用バッファ25の有効なサイズとして、誤り訂正用バッファ25を調整する(ステップS14)。
次に、パケット損失検出部21は、メディアパケット受信部11から出力されたメディアパケットのRTPヘッダに含まれるシーケンス番号を監視する(ステップS15)。そして、パケット損失検出部21は、メディアパケットに損失があった場合には(ステップS15Yes)、損失したメディアパケットを復元する旨を復元処理部23に依頼する。
パケット損失検出部21から損失したメディアパケットを復元する旨の依頼を取得した復元処理部23は、損失したメディアパケットを、誤り訂正用バッファ25に蓄積されたFECパケットおよびメディアパケットを用いて復元して、誤り訂正用バッファ25に蓄積する(ステップS31)。
また、遅延判定部61aから遅延したメディアパケットを復元する旨の依頼を取得した復元処理部23は、遅延したメディアパケットを、誤り訂正用バッファ25に蓄積されたFECパケットおよびメディアパケットを用いて復元して、誤り訂正用バッファ25に蓄積する(ステップS31)。
そして、バッファ管理部24は、蓄積パケット数分の全メディアパケットが存在しているか否かを判定する(ステップS17)。
蓄積パケット数分の全メディアパケットが存在していないと判定された場合には(ステップS17No)、損失したメディアパケットまたは遅延したメディアパケットを復元させるために、ステップS15に遷移する。
蓄積パケット数分の全メディアパケットが存在していると判定された場合には(ステップS17Yes)、誤り訂正処理を終了する。
次に、実施例3に係る復号化装置1の送信時間生成処理の処理手順を、図8を参照して説明する。図8は、実施例3に係る復号化装置1の送信時間生成処理の処理手順を示すフローチャートである。なお、蓄積パケット数決定部22によって決定された蓄積パケット数が、送信時間生成部64aに対して出力されるものとする。また、図8において、実施例2に係る復号化装置1の送信時間生成処理の処理手順(図5)と同じ部分には同じ符号を付し、詳しい説明を省略する。
まず、メディアパケット受信部11が、符号化装置2によって出力されたメディアパケットを受信すると、受信時間カウンタ51が、当該メディアパケットの受信時間を受信時間管理部61に出力する。そして、受信時間管理部61が、メディアパケットの受信時間を受信時間バッファ62に蓄積する(ステップS21)。
また、遅延判定部61aは、受信時間管理部61からメディアパケットの受信時間を取得すると、当該メディアパケットが遅延しているか否かを判定する(ステップS41)。
。具体的には、遅延判定部61aは、取得したメディアパケットの受信時間が当該メディアパケットの直前に受信されたメディアパケットの受信時間から所定値を経過しているか否かを判定する。
遅延判定部61aが、当該メディアパケットが遅延していると判定する場合には(ステップS41Yes)、当該メディアパケットのデータに信頼性がないものと判断して、当該メディアパケットの復元を復元処理部23に依頼する(ステップS42)。一方、遅延判定部61aが、当該メディアパケットが遅延していないと判定する場合には(ステップS41No)、ステップS22に移行する。
次に、送信時間生成部64aは、蓄積パケット数決定部22から蓄積パケット数を取得すると、取得した蓄積パケット数の各メディアパケットの送信時間を算出するために、遅延時間を算出する(ステップS22)。
そして、送信時間生成部64aは、誤り訂正用バッファ25に蓄積されるメディアパケットの蓄積パケット数分の受信時間を受信時間管理部61から取得すると、算出した遅延時間を用いて各メディアパケットの送信時間を算出して(ステップS23)、算出した送信時間を送信時間管理部71に出力する。
ここで、損失したメディアパケットが復元された場合には、ヘッダ解析部63は、復元メディアパケットのRTPヘッダに含まれたタイムスタンプを抽出して(ステップS24)、抽出したタイムスタンプを復元送信時間生成部64bに出力する。
そして、復元メディアパケットのタイムスタンプを取得した復元送信時間生成部64bは、復元メディアパケットの送信時間を算出して(ステップS25)、算出した送信時間を送信時間管理部71に出力する。具体的には、復元送信時間生成部64bは、復元メディアパケットのタイムスタンプと、復元メディアパケットのシーケンス番号の直前のシーケンス番号を持つメディアパケットのタイムスタンプと、の差分を算出する。そして、復元送信時間生成部64bは、算出した差分に、直前のメディアパケットの送信時間を加算して、復元メディアパケットの送信時間を算出する。
これにより、復元送信時間生成部64bは、遅延があったメディアパケットの遅延時間を是正することができ、復号処理部40に送出する遅延を短縮化することができる。
引き続き、メディアパケットのシーケンス番号の順番に、送信時間管理部71からメディアパケットの送信時間を取得した送信制御部74は、送信時間を、送信時間カウンタ73を用いて監視して、取得した送信時間が送信時間カウンタ73から得た時間以下になったか否かを判定する(ステップS26)。
送信制御部74は、送信時間が送信時間カウンタ73から得た時間以下になっていないと判定する場合には(ステップS26No)、引き続き、送信時間カウンタ73を用いて送信時間を監視する。
一方、送信制御部74は、送信時間が送信時間カウンタ73から得た時間以下になったと判定する場合には(ステップS26Yes)、メディアパケットを出力する旨を、シーケンス番号を指定してバッファ管理部24に依頼する(ステップS27)。
すると、指定されたシーケンス番号を持つメディアパケットを出力する旨の依頼を取得したバッファ管理部24は、誤り訂正用バッファ25から指定されたメディアパケットを取得して、RTPバッファ31に出力する(ステップS28)。
引き続き、送信時間管理部71は、送信時間バッファ72に蓄積された送信時間が全て処理された否かを判定する(ステップS29)。
送信時間管理部71は、送信時間が全て処理されていないと判定する場合には(ステップS29No)、次の送信時間が処理されるように、ステップS26に遷移する。
一方、送信時間管理部71は、送信時間が全て処理されたと判定する場合には(ステップS29Yes)、送信時間生成処理を終了する。
以上のように本実施例3によれば、復号化装置1は、複数の行および列に構成される複数のメディアパケットを受信し、前記複数のメディアパケットの行毎および列毎にそれぞれ生成されるFECパケットであって前記複数のメディアパケットの行列構成情報を含むFECパケットを複数受信する。そして、復号化装置1は、受信されたFECパケットに含まれる前記複数のメディアパケットの行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する。そして、復号化装置1は、決定された蓄積パケット数分受信されるメディアパケットと、これらのメディアパケットと同じタイミングで受信されるFECパケットとを蓄積する。そして、復号化装置1は、受信されたメディアパケットの受信時間が、当該メディアパケットの直前に受信されたメディアパケットの受信時間から所定時間以上経過しているか否かを判定し、所定時間以上経過していると判定した場合には、受信されたメディアパケットを復元して、復元したメディアパケットを含めて蓄積された複数のメディアパケットの送信時間を生成する。
かかる構成によれば、復号化装置1は、例えばネットワーク3上で遅延があった場合であっても、遅延したメディアパケットを復元するために必要最小限の蓄積パケット数を蓄積した後に、即メディアパケットの損失の復元に取り掛かることができるため、蓄積に伴う遅延時間を短くすることができ、その後の復号処理部40に移行するまでに要する遅延時間の短縮化を図ることができる。その結果、特に、ストリームが低ビットレートの場合には、復号化装置1は、遅延時間の短縮化を図ることによって、その後の復号処理部40の負荷を軽減することができる。
さらに、復号化装置1は、復元したメディアパケットを含めて蓄積パケット数分蓄積された複数のメディアパケットの送信時間を生成することにより、これらの蓄積パケット数を順次復号処理部40に送出することができるため、複数のメディアパケットを一度に復号処理部40に送出するバーストをなくすことができる。その結果、復号化装置1は、その後の復号処理部40の負荷を軽減することができる。
なお、上記実施例においては、復号化装置1の内部に受信部10、誤り訂正部20および送信部30が配置される場合を説明した。本発明は、これに限定されるものではなく、復号化装置1の外部に受信部10、誤り訂正部20および送信部30が配置される場合であって良い。その場合、受信部10、誤り訂正部20および送信部30を含めて誤り訂正装置として、符号化装置1と接続される。
以上、本発明の実施例について説明したが、本実施例によって本発明の技術的思想の範囲が限定されるものではなく、特許請求の範囲に記載した技術的範囲の範囲を逸脱しない限り、各種様々な実施例が実施可能であることは言うまでもない。また、本実施例に記載した効果は、これに限定されるものではない。
また、図示した復号化装置1の各構成要素は機能概念的に記載したものであって、必ずしも物理的に図示のように構成されるものではなく、その復号化装置1の具体的な態様は図示のものに限縮されるものでは到底ないことは言うまでもない。
なお、復号化装置1にて行われる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)(またはMPU(Micro Processing Unit)、MCU(Micro Controller Unit)などのマイクロ・コンピュータ)および当該CPU(またはMPU、MCUなどのマイクロ・コンピュータ)にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されても良い。
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
(付記1)複数の行および列に構成される複数のデータパケットを受信する第1の受信部と、
前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数受信する第2の受信部と、
前記第2の受信部によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定部と、
前記決定部によって決定された蓄積パケット数分の前記第1の受信部によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第2の受信部によって受信される誤り訂正パケットとを蓄積する蓄積部と、
前記第1の受信部によって受信されたデータパケットの損失を検出すると、当該データパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元部と
を有することを特徴とする誤り訂正制御装置。
(付記2)前記決定部は、
前記複数のデータパケットの行列構成情報が示す行と列の各数を乗算して得たデータパケット数に2を乗算した数を前記蓄積パケット数として決定することを特徴とする付記1に記載の誤り訂正制御装置。
(付記3)前記第1の受信部によって受信されたデータパケットの受信時間と、前記蓄積パケット数とに基づいて、前記蓄積部によって蓄積された各データパケットの復号処理への送信時間を生成する送信時間生成部を有することを特徴とする付記1または付記2に記載の誤り訂正制御装置。
(付記4)前記送信時間生成部は、
前記蓄積部によって蓄積された各データパケットのうち、最初に蓄積されたデータパケットの受信時間と、当該データパケットの受信後、蓄積パケット数後に受信されたデータパケットの受信時間との差を遅延時間として算出して、この算出した遅延時間を各データパケットの受信時間に加算して、各データパケットの送信時間を生成することを特徴とする付記3に記載の誤り訂正制御装置。
(付記5)前記送信時間生成部は、
前記復元部によって復元されたデータパケットに対応する送信時間を、当該データパケットに含まれる再生タイミングを示すサンプリング数と、当該データパケットの直前または直後のデータパケットのサンプリング数および送信時間とを用いて生成する復元パケット送信時間生成部を含むことを特徴とする付記3または付記4に記載の誤り訂正制御装置。
(付記6)前記第1の受信部によって受信された第1のデータパケットの受信時間が、当該データパケットの直前に受信された第2のデータパケットの受信時間から所定時間以上経過しているか否かを判定する判定部を有し、
前記復元部は、
前記判定部によって前記第1のデータパケットの受信時間が、前記第2のデータパケットの受信時間から所定時間以上経過していると判定された場合には、前記第1のデータパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元することを特徴とする付記3から付記5のいずれか1つに記載の誤り訂正制御装置。
(付記7)前記送信時間生成部によって生成された送信時間に応じて、前記蓄積部によって蓄積された各データパケットを復号処理へ送信する送信部を有することを特徴とする付記1から付記6のいずれか1つに記載の誤り訂正制御装置。
(付記8)複数の行および列に構成される複数のデータパケットを受信する第1の受信工程と、
前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数受信する第2の受信工程と、
前記第2の受信工程によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定工程と、
前記決定工程によって決定された蓄積パケット数分の前記第1の受信工程によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第2の受信工程によって受信される誤り訂正パケットとを蓄積する蓄積工程と、
前記第1の受信工程によって受信されたデータパケットの損失を検出すると、当該データパケットを、前記蓄積工程によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元工程と
を含むことを特徴とする誤り訂正制御方法。
(付記9)画像データまたは音声データを含むメディアデータを符号化する符号化装置と、前記符号化装置とネットワークを介して接続され、前記メディアデータを復号化する復号化装置とを有するメディアデータ配信システムであって、
前記復号化装置は、
複数の行および列に構成される複数のデータパケットを前記符号化装置から受信する第1の受信部と、
前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数前記符号化装置から受信する第2の受信部と、
前記第2の受信部によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定部と、
前記決定部によって決定された蓄積パケット数分の前記第1の受信部によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第2の受信部によって受信される誤り訂正パケットとを蓄積する蓄積部と、
前記第1の受信部によって受信されたデータパケットの損失を検出すると、当該データパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元部と
を有することを特徴とするメディアデータ配信システム。
1 復号化装置
2 符号化装置
3 ネットワーク
10 受信部
11 メディアパケット受信部
12 FECパケット受信部
20 誤り訂正部
21 パケット損失検出部
22 蓄積パケット数決定部
23 復元処理部
24 バッファ管理部
25 誤り訂正用バッファ
30 送信部
31 RTPバッファ
40 復号処理部
51 受信時間カウンタ
61 受信時間管理部
61a 遅延判定部
62 受信時間バッファ
63 ヘッダ解析部
64 送信時間生成部
64a 送信時間生成部
64b 復元送信時間生成部
71 送信時間管理部
72 送信時間バッファ
73 送信時間カウンタ
74 送信制御部

Claims (6)

  1. 複数の行および列に構成される複数のデータパケットを受信する第1の受信部と、
    前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数受信する第2の受信部と、
    前記第2の受信部によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定部と、
    前記決定部によって決定された蓄積パケット数分の前記第1の受信部によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第2の受信部によって受信される誤り訂正パケットとを蓄積する蓄積部と、
    前記第1の受信部によって受信された第1のデータパケットの受信時間が、当該データパケットの直前に受信された第2のデータパケットの受信時間から所定時間以上経過しているか否かを判定する判定部と、
    前記判定部によって前記第1のデータパケットの受信時間が、前記第2のデータパケットの受信時間から所定時間以上経過していると判定された場合には、前記第1のデータパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元部と
    を有することを特徴とする誤り訂正制御装置。
  2. 前記第1の受信部によって受信されたデータパケットの受信時間と、前記蓄積パケット数とに基づいて、前記蓄積部によって蓄積された各データパケットの復号処理への送信時間を生成する送信時間生成部を有することを特徴とする請求項1に記載の誤り訂正制御装置。
  3. 前記送信時間生成部は、
    前記蓄積部によって蓄積された各データパケットのうち、最初に蓄積されたデータパケットの受信時間と、当該データパケットの受信後、蓄積パケット数後に受信されたデータパケットの受信時間との差を遅延時間として算出して、この算出した遅延時間を各データパケットの受信時間に加算して、各データパケットの送信時間を生成することを特徴とする請求項2に記載の誤り訂正制御装置。
  4. 前記送信時間生成部は、
    前記復元部によって復元されたデータパケットに対応する送信時間を、当該データパケットに含まれる再生タイミングを示すサンプリング数と、当該データパケットの直前または直後のデータパケットのサンプリング数および送信時間とを用いて生成する復元パケット送信時間生成部を含むことを特徴とする請求項2または請求項3に記載の誤り訂正制御装置。
  5. 複数の行および列に構成される複数のデータパケットを受信する第1の受信工程と、
    前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数受信する第2の受信工程と、
    前記第2の受信工程によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定工程と、
    前記決定工程によって決定された蓄積パケット数分の前記第1の受信工程によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第2の受信工程によって受信される誤り訂正パケットとを蓄積する蓄積工程と、
    前記第1の受信工程によって受信された第1のデータパケットの受信時間が、当該データパケットの直前に受信された第2のデータパケットの受信時間から所定時間以上経過しているか否かを判定する判定工程と、
    前記判定工程によって前記第1のデータパケットの受信時間が、前記第2のデータパケットの受信時間から所定時間以上経過していると判定された場合には、前記第1のデータパケットを、前記蓄積工程によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元工程と
    を含むことを特徴とする誤り訂正制御方法。
  6. 画像データまたは音声データを含むメディアデータを符号化する符号化装置と、前記符号化装置とネットワークを介して接続され、前記メディアデータを復号化する復号化装置とを有するメディアデータ配信システムであって、
    前記復号化装置は、
    複数の行および列に構成される複数のデータパケットを前記符号化装置から受信する第1の受信部と、
    前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数前記符号化装置から受信する第2の受信部と、
    前記第2の受信部によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定部と、
    前記決定部によって決定された蓄積パケット数分の前記第1の受信部によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第2の受信部によって受信される誤り訂正パケットとを蓄積する蓄積部と、
    前記第1の受信部によって受信された第1のデータパケットの受信時間が、当該データパケットの直前に受信された第2のデータパケットの受信時間から所定時間以上経過しているか否かを判定する判定部と、
    前記判定部によって前記第1のデータパケットの受信時間が、前記第2のデータパケットの受信時間から所定時間以上経過していると判定された場合には、前記第1のデータパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元部と
    を有することを特徴とするメディアデータ配信システム。
JP2009080358A 2009-03-27 2009-03-27 誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システム Active JP5412917B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009080358A JP5412917B2 (ja) 2009-03-27 2009-03-27 誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システム
US12/731,856 US8261162B2 (en) 2009-03-27 2010-03-25 Decoding device, decoding method, and media data delivery system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009080358A JP5412917B2 (ja) 2009-03-27 2009-03-27 誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システム

Publications (2)

Publication Number Publication Date
JP2010233105A JP2010233105A (ja) 2010-10-14
JP5412917B2 true JP5412917B2 (ja) 2014-02-12

Family

ID=42785821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009080358A Active JP5412917B2 (ja) 2009-03-27 2009-03-27 誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システム

Country Status (2)

Country Link
US (1) US8261162B2 (ja)
JP (1) JP5412917B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013013003A (ja) * 2011-06-30 2013-01-17 Brother Ind Ltd データ処理装置、データ処理方法、およびデータ処理プログラム
JP5723753B2 (ja) * 2011-11-17 2015-05-27 株式会社メディアグローバルリンクス データ伝送システム及び受信装置
US8972815B1 (en) * 2012-03-20 2015-03-03 Xilinx, Inc. Recovery of media datagrams
KR101506770B1 (ko) * 2012-12-28 2015-03-27 삼성에스디에스 주식회사 데이터 전송 장치 및 방법
KR101611663B1 (ko) * 2013-10-28 2016-04-12 삼성에스디에스 주식회사 비연결 지향형 프로토콜을 이용한 데이터 통신
US10659082B2 (en) * 2014-07-18 2020-05-19 Sony Corporation Receiving device and receiving method
US9559805B2 (en) * 2014-11-03 2017-01-31 Cisco Technology, Inc. Self-describing error correction of consolidated media content
JP6529299B2 (ja) * 2015-03-20 2019-06-12 キヤノン株式会社 送信装置、受信装置、方法及びプログラム
CN108366879A (zh) 2015-08-21 2018-08-03 慕乐运动医学公司 用于手腕固定的一次性带套件和方法
JP2017073680A (ja) * 2015-10-08 2017-04-13 ソニー株式会社 受信装置および方法
JP6101380B2 (ja) * 2016-02-17 2017-03-22 日本放送協会 パケット受信装置
US10003434B2 (en) 2016-04-08 2018-06-19 Cisco Technology, Inc. Efficient error correction that aggregates different media into encoded container packets
US10211950B1 (en) * 2016-05-20 2019-02-19 Harmonic, Inc. High bit rate media FEC recovery
CN110583023B (zh) * 2017-05-04 2022-03-01 三星电子株式会社 在通信或广播系统中用于信道编码和解码的方法和设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3945602B2 (ja) * 1998-04-14 2007-07-18 富士通株式会社 訂正検査方法及び訂正検査装置
FR2861517B1 (fr) * 2003-10-23 2006-01-27 Thomson Licensing Sa Methode de reconstruction de paquets perdus et appareils implementant la methode
WO2005086436A1 (ja) * 2004-03-03 2005-09-15 Mitsubishi Denki Kabushiki Kaisha パケット転送装置、パケット転送ネットワークシステム、および、端末装置
FR2869744A1 (fr) * 2004-04-29 2005-11-04 Thomson Licensing Sa Methode de transmission de paquets de donnees numeriques et appareil implementant la methode
JP4559126B2 (ja) * 2004-06-01 2010-10-06 日本電信電話株式会社 映像送信方法、映像送信装置、映像送信用プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
US7617434B1 (en) * 2005-12-13 2009-11-10 Sprint Communications Company L.P. Adaptive error correction
US7516387B2 (en) * 2006-02-17 2009-04-07 Harris Corporation System and method for transmitting FEC packets
US7577898B2 (en) * 2006-04-10 2009-08-18 At&T Intellectual Property I, L.P. System and method of correcting video data errors
JP2008011096A (ja) * 2006-06-28 2008-01-17 Toshiba Corp Fecエンコード方法、fecデコード方法、fecデコード装置
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 株式会社東芝 通信装置、通信方法および通信プログラム
US7966540B1 (en) * 2007-05-02 2011-06-21 Sprint Communications Company L.P. Transmitting error correction information
JP4434242B2 (ja) * 2007-07-11 2010-03-17 ソニー株式会社 送信装置、受信装置、誤り訂正システム、送信方法及び誤り訂正方法

Also Published As

Publication number Publication date
JP2010233105A (ja) 2010-10-14
US20100251060A1 (en) 2010-09-30
US8261162B2 (en) 2012-09-04

Similar Documents

Publication Publication Date Title
JP5412917B2 (ja) 誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システム
JP4250654B2 (ja) 通信装置、通信方法および通信プログラム
US7539925B2 (en) Transmission apparatus and method, reception apparatus and method, storage medium, and program
CN110943800B (zh) 数据包的发送方法、装置及系统、存储介质、电子装置
US7734946B2 (en) Transmission/reception system, transmission apparatus and method, reception apparatus and method, transmission/reception apparatus and method, and computer-readable storage medium
KR101286912B1 (ko) 3차원 저장장치를 이용한 가변길이 패킷의 fec 인코딩 및 fec 디코딩 방법
JP5094546B2 (ja) 通信装置、及び通信方法、プログラム
US20090213728A1 (en) Apparatus and method for packet redundancy and recovery
JP2009060513A (ja) Fec送信処理装置、ならびにfec送信処理のための方法およびプログラム
US8873590B2 (en) Apparatus and method for correcting jitter
KR101118194B1 (ko) 손실된 패킷 재건을 위한 방법 및 상기 방법을 수행하기 위한 디바이스
US20080049846A1 (en) IP stream tramsmitting/receiving system, IP stream receiving device and receiving process timing synchronization method used for the same
JP5344541B2 (ja) データ送信装置、送信方法及びプログラム
JP2007028241A (ja) 映像符号化・送信装置,映像符号化・送信方法,映像符号化・送信プログラムおよびその記録媒体
US9697328B2 (en) Transmission apparatus, transmission method, reception apparatus, reception method, and computer program
KR101760018B1 (ko) 영상 데이터 통신 방법 및 영상 데이터 통신 장치
JP5030641B2 (ja) デジタル放送データ配信システム及びその方法
US9246631B2 (en) Communication devices that encode and transmit data, methods of controlling such communication devices, and computer-readable storage media storing instructions for controlling such communication devices
JP5239405B2 (ja) Ts受信装置及びそれに用いるタイミング再生方法
US10687067B2 (en) Transmitter, transmission method, and communication system
WO2007108222A1 (ja) 符号化ストリーム送信装置
US11418218B2 (en) Receiving device and receiving method
JP6673604B2 (ja) ログデータ転送方式及びログデータ転送システム
JP5744554B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2008017330A (ja) 映像音声配信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131028

R150 Certificate of patent or registration of utility model

Ref document number: 5412917

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150