JP2008011142A - 受信装置 - Google Patents
受信装置 Download PDFInfo
- Publication number
- JP2008011142A JP2008011142A JP2006179126A JP2006179126A JP2008011142A JP 2008011142 A JP2008011142 A JP 2008011142A JP 2006179126 A JP2006179126 A JP 2006179126A JP 2006179126 A JP2006179126 A JP 2006179126A JP 2008011142 A JP2008011142 A JP 2008011142A
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- parity
- packet loss
- buffer
- 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.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
【課題】従来のFEC方式の映像伝送は、映像データを所定サイズに分割したデータブロックを作成する。連続する複数のデータブロックにパリティ符号を付加し、インターリーブ処理を施して送信していたため、受信装置は、受信バッファに受信データを格納し、バッファ内の受信データの並び替えを行った後、エラー訂正処理を実行し再生手段にデータ転送を行う必要があった。そのため、大容量の受信バッファが必要であり、処理手順が複雑であるので高速伝送を行うのが困難であった。
【解決手段】映像データをインターリーブ処理してパリティを生成する方式を取ることにより、受信装置で並び替えの処理を不要とする。またデータ抽出手段は、受信データをバッファメモリへ伝送すると共にパリティ演算手段に同時にデータを出力し、パリティ演算手段ではデータの通過と共にリアルタイムで演算可能な構成とすることにより、安価でかつ高速処理可能とした。
【選択図】図1
【解決手段】映像データをインターリーブ処理してパリティを生成する方式を取ることにより、受信装置で並び替えの処理を不要とする。またデータ抽出手段は、受信データをバッファメモリへ伝送すると共にパリティ演算手段に同時にデータを出力し、パリティ演算手段ではデータの通過と共にリアルタイムで演算可能な構成とすることにより、安価でかつ高速処理可能とした。
【選択図】図1
Description
本発明は、IP伝送における誤り訂正用パリティデータが付加されたデータの受信装置に関する。
昨今、イーサネット(登録商標)など色々な通信媒体を介して、画像や音声などからなる映像データをインターネットプロトコル(IP)で伝送するサービスが普及している。特に、ビデオオンデマンド(VOD)などストリーム型の伝送サービスが提供されるようになってきている。
ストリーム型の伝送サービスは、まず送信機が映像データを所定のフォーマットにパケット化しネットワーク上にストリーミングパケットを送信する。
受信機は、ネットワーク上のストリーミングパケットを受信し、パケット内に含まれる映像データを抽出しデコーダに伝達して映像を再生する。
一般にインターネットの伝送は、パケットの到着が保証されていない方式である。ネットワーク上でパケットが欠落するパケットロスが発生すると、受信された映像データが欠落することになるので、映像が乱れることになる。
パケットロスは、ネットワークを構成するルータなどの中継器内の、パケットキューを格納するバッファのオーバフローによって発生することが多いため、一度バッファオーバフローが発生すると連続する数パケットが、まとめてロスを発生する可能性が高い。
この問題を解決するため、送信機側でストリーミングパケットと共にエラー訂正用の冗長パケットを送信し、受信側でデータが欠落した場合に冗長パケットにより欠落したデータを復元するFEC(Forward Error Correction)方式が提案されている。
FECの方式として、RTP(Real−time Transport Protocol)を用いるものが多い。RTPでは、RTPヘッダに含まれるシーケンス番号により、受信装置でパケットロスを検出可能であるためパケットロスを復元するのに消失誤り訂正が用いられる。
前述したようにパケットロスは、数パケット続くことがあるため、複数のエラーが発生しても訂正可能なパリティ符号を付加するのが望ましい。そのため、インターリーブ処理を施すことにより、まとめてパケット消失が起こった場合でも再生する方法の提案がある(特許文献1参照)。
以下図面を用いて説明する。図3に従来の受信装置の構成を示した。受信手段31は、ネットワーク上のデータを受信バッファ32へ格納する。受信バッファ32には、映像データであるRTPパケットが受信の到着順に格納される。
受信されるRTPデータはインターリーブ処理をされて送信されてくるので、従来の実施例ではインターリーブ長10(10パケット間隔)であるので、1番目のパケットの次には、11番目のパケット、次には21番目、31番目・・・91番目が到着し、その次には2番目、次には12番目の順に到着して受信バッファに格納される。
従来の実施例では10番目のパケットは、1〜9番目パケットまでのパリティパケットであり、1〜9番目パケットのいずれかの1パケットがパケットロスを発生した場合であっても復元可能とするために送信装置が送ってくる。同様に20番目のパケットは、11〜19パケットまでのパリティパケットであり、30番目、40番目・・・・・100番目のパケットはパリティパケットである。
以下、2、12、22、32番目のパケットロスがあった場合について、以下に再生手順を説明する。
受信バッファ32に、100パケット以上格納されるとデインターリーブ手段33により1〜10番目パケットを受信バッファ32から読み出し、エラー訂正手段34に転送する。100パケット以上の蓄積が必要な理由は、10番目のパケットは、先頭から91個目に到着するため、最低91パケット以上の受信バッファ32が必要となる。また受信バッファは、後続する処理が完了しないとバッファを開放できないため100パケットのバッファが必要であるのと、後続処理中にネットワークからは次々にパケットが受信されるのでさらにバッファ容量が必要となる。
また従来の実施例では、2、12、22、32番目のパケットはパケットロスを発生しているため実際にはバッファに蓄積されていない。このようにパケットロスが発生すると、到着順番からパケット番号を確定できない課題が発生する。
それを解決するため、従来の実施例ではRTPヘッダ内に記録されているシーケンス番号をもとにパケット番号を特定している。図2には、パケットフォーマットを示している。パケットは、IPヘッダ21、UDPヘッダ22、RTPヘッダ23、データ部24からなる。RTPヘッダ23内には、シーケンス番号25が記録されており、送信パケットごとに1カウントずつカウントアップされたデータが記録されている。
パケットロス検出手段38は、受信バッファ32に格納されたパケットのRTPヘッダ内のシーケンス番号25の連続性を確認して、どのパケットがパケットロスを起こしたのかを検出する機構が必要となるので、受信バッファ32に格納されたすべての受信パケットのRTPヘッダ23のシーケンス番号25の確認を行う。
デインターリーブ手段33は、パケットロス検出手段38で検出したパケットロス情報から適切なパケットを選定して受信バッファ1番目から順に呼び出す。仮にパケットロスが発生していなければ、データ抽出手段35で1〜9番目パケット内のデータ部(データ部24)を抽出して、再生手段37(例えばMPEGデコーダ)のバッファメモリ手段36へ転送する。
もし図3で示すように2番目のパケットに誤りが発生した場合には、まず、パケットロス検出手段38内で検出されたパケットロス情報から、1番目、3〜9番目のパケットを読み出しエラー訂正手段34内のバッファメモリへ転送する。次に、1〜9番目のパリティパケットである10番目のパケットを呼び出し、エラー訂正手段34で演算を行い、2番目のパケットを再生する。
従来の実施例では、9パケットに1個パリティパケットを設けて、インターリーブ長が10で送信しているため、100パケットのうち、連続した10パケットのパケットロスが1回発生しても欠落したパケットを再生できる特徴がある。
しかし、従来の実施例では図6の様に、1番目と2番目がパケットロスになるとパリティパケットが1つしかないため、エラー訂正ができない場合があった。
特開2005−210219号公報
本発明は、上記のような従来の構成の受信装置では、映像データ自身がインターリーブされてインターネットを通じて送信されてくるので、受信パケットを一旦受信バッファに格納した後に、デインターリーブを行う必要があり、連続したパケットロスを修復するためにインターリーブを長くするとバッファメモリサイズが大きくなりコストアップしてしまう課題を有していた。
また従来の方式では、受信バッファに格納後にデインターリーブ処理、パケットロス検出、エラー訂正処理、バッファメモリ転送の処理を順に行う必要があった。そのため、各々の処理時間が積算されるため、処理時間が多く必要で、ハイビジョン映像のような高速な処理が行い難い課題があった。
上記問題を鑑み、本発明は、パケットロスが発生した場合であっても、少ないバッファメモリで高速にエラー訂正処理が可能となる受信装置を提供するものである。
上記目的を達成するために、本発明は、送信データに対してインターリーブ処理を施し、パリティを生成して送出されたインターネットプロトコル形式のパケットを受信する受信装置であって、前記パケットを受信する受信手段と、受信した前記パケット(受信パケット)を蓄積する受信バッファと、前記受信バッファに蓄積された前記受信パケットを逐次読み出し、前記受信パケットから通信用ヘッダを除去してデータブロックを抽出し、バッファメモリ手段とパリティ演算手段へ前記データブロックを転送するデータ抽出手段と、前記受信パケットの通信用ヘッダのシーケンス番号をもとに前記受信パケットのパケットロス発生の有無を検出するパケットロス検出手段と、前記パケットロス発生の有無の情報と前記パリティ演算手段により演算された結果とからパケットロスしたパケットを復元するエラー訂正手段とを備え、前記データ抽出手段は、前記パケットロス検出手段からパケットロスが発生したことが通知されると、パケットロスした長さの所定パターンのダミーデータを生成して前記バッファメモリ手段と前記パリティ演算手段へ転送するものである。
本発明によれば、パケットを受信する受信手段と、受信した前記パケット(受信パケット)を蓄積する受信バッファと、前記受信バッファに蓄積された前記受信パケットを逐次読み出し、前記受信パケットから通信用ヘッダを除去してデータブロックを抽出し、バッファメモリ手段とパリティ演算手段へ前記データブロックを転送するデータ抽出手段と、前記受信パケットの通信用ヘッダのシーケンス番号をもとに前記受信パケットのパケットロス発生の有無を検出するパケットロス検出手段と、前記パケットロス発生の有無の情報と前記パリティ演算手段により演算された結果とからパケットロスしたパケットを復元するエラー訂正手段とを備え、前記データ抽出手段は、前記パケットロス検出手段からパケットロスが発生したことが通知されると、パケットロスした長さの所定パターンのダミーデータを生成して前記バッファメモリ手段と前記パリティ演算手段へ転送する受信装置を構成したことにより、エラー訂正を行うためにデータをデインターリーブ、パリティ演算、エラー訂正、データ転送と処理を順次行う必要がなく、さらに、デインターリーブする必要がなくなり、データ転送とパリティ演算を同時に行われるため高速な処理が可能となる。
また、受信バッファに格納された受信パケットから再生手段が必要としているデータを逐次抽出してバッファメモリ手段へ逐次転送するので、少ない受信バッファで受信装置を実現でき、低コスト化できる。
また、データ抽出手段でデータ転送と同時に、パリティ演算を実施するので、高速な処理が可能となり、ハイビジョンの映像伝送が可能となる。
さらに、パケットロスが発生したパケットに対してダミーパケットを挿入するため、パケットロスしたパケットに対してもパリティ演算を継続することができるため、受信したデータとパリティとの間での位相のずれが生じない。また、バッファメモリ手段にダミーデータとして追加されるため、バッファメモリ手段内の並べ替えをせずに、ダミーデータにエラー訂正したデータを書き込む処理ができ、高速にエラー訂正ができる。
本発明によれば、パケットを受信する受信手段と、前記受信パケットを蓄積する受信バッファと、前記受信バッファに蓄積された前記受信パケットを逐次読み出し、前記受信パケットから通信用ヘッダを除去してデータブロックを抽出し、再生手段のバッファメモリ手段とパリティ演算手段へ前記データブロックを転送するデータ抽出手段と、前記受信パケットの通信用ヘッダのシーケンス番号から前記受信パケットのパケットロス発生の有無を検出するパケットロス検出手段と、前記パケットロス発生の有無の情報と前記パリティ演算手段により演算された結果とからパケットロスしたパケットを復元するエラー訂正手段とを備え、前記データ抽出手段は、前記パケットロス検出手段によりパケットロスが発生したことが通知されると、パケットロスした長さの所定パターンのダミーデータを生成して前記バッファメモリ手段と前記パリティ演算手段へ転送する受信装置である。
これにより、エラー訂正を行うためにデータをデインターリーブ、パリティ演算、エラー訂正、データ転送と処理を順次行う必要がなく、さらに、デインターリーブする必要がなくなり、データ転送とパリティ演算が同時に行われるため高速な処理が可能となる。
また、受信バッファに格納された受信パケットから再生手段が必要としているデータを逐次抽出してバッファメモリ手段へ逐次転送するので、少ない受信バッファで受信装置を実現でき、低コスト化できる。
またデータ抽出手段でデータ転送と同時に、パリティ演算を実施するので、高速な処理が可能となり、ハイビジョンの映像伝送が可能となる。
さらに、パケットロスが発生したパケットに対してダミーパケットを挿入するため、パケットロスしたパケットに対してもパリティ演算を継続することができるため、受信したデータとパリティとの間での位相のずれが生じない。また、バッファメモリ手段にダミーデータとして追加されるため、バッファメモリ手段内の並べ替えをせずに、ダミーデータにエラー訂正したデータを書き込む処理ができ、高速にエラー訂正ができる。
また、前記データ抽出手段で生成される前記所定パターンは0とするようにしてもかまわない。
これにより、パケットロスしたパケットに対して継続したパリティ演算は、パケットロスの不定値による影響を受けない。
また、前記パリティ演算手段は、所定のサイズで巡回するアドレスカウンタに接続されたメモリ手段と、シンドローム演算手段とを備え、前記データブロックが入力されると、前記メモリ手段から呼び出された前記データブロックが前記シンドローム演算手段のレジスタに格納され、1シンボル分のシンドローム演算が行われた後、演算前に読み出した同一のメモリアドレスに前記レジスタの値を格納した後に、前記メモリ手段のアドレスを変更するという構成にしてもかまわない。
これにより、データブロックについて1シンボル分のシンドローム演算を行い、結果を巡回してメモリに格納することができるので、大容量のメモリは不要となる。また、分散して発生したパケットロスに有効な手段の一つであるインターリーブドリードソロモンのようなエラー訂正方式にも適応でき、メモリを少なく実装でき、また、安定的にパケットロスの修復が可能となる。
さらに、インターリーブドリードソロモンのような大きなデータサイズ単位でパリティ符号を付加する高効率な符号方式であっても、大きなバッファを必要とせず、高速に処理可能であるので確実にパケットロスを修復することが可能である。
また、前記パリティ演算手段の演算結果と前記パケットロス検出手段で検出したパケットロス発生の有無の情報とからパケットロスしたパケットの誤り訂正を行い、生成されたパケットのデータを前記再生手段のバッファメモリ手段の該当するバッファメモリアドレスへ転送するという構成にしてもかまわない。
これにより、パケットロスが発生した場合誤り訂正したパケットを蓄積することなく、逐次バッファメモリ手段へ転送するため、パケットロスが発生した場合であっても、少ないバッファメモリかつ高速にエラー訂正を行うことができる。
また、前記データ抽出手段は、前記受信パケットがデータパケットの場合は、前記バッファメモリ手段と前記パリティ演算手段にデータを転送するが、前記受信パケットがパリティパケットであった場合には、前記バッファメモリ手段にはデータ転送を行わず、前記パリティ演算手段にデータ転送を行うという構成にしてもかまわない。
これにより、データパケットに対してパリティ演算がなされると同時にバッファに格納され、パリティパケットはパリティ演算に用いられるため、不要なデータ転送が行われない。
以下、本発明の受信装置の実施の形態を説明する。
(実施の形態1)
図1は本発明の受信装置の実施の形態1における構成を示しており、サーバなどの送信装置からネットワークを通じて送信されたデータを受信する。図7は、送信装置から送信されてくる送信データのパリティ生成方法の説明図である。送信装置から送信データの例として、画像や音声などからなる映像データがある。
図1は本発明の受信装置の実施の形態1における構成を示しており、サーバなどの送信装置からネットワークを通じて送信されたデータを受信する。図7は、送信装置から送信されてくる送信データのパリティ生成方法の説明図である。送信装置から送信データの例として、画像や音声などからなる映像データがある。
まず入力される送信データについて図7を用いて説明する。
送信データは所定長(本実施の形態では1454B(バイト))に分割されてエラー訂正用のパリティが生成される。パリティの生成方法は、分割されたデータブロックを10個飛ばしたごとにパリティ演算を行う。図7において、例えばパリティ1は、1番目(No.1)、11番目(No.11)、21番目(No.21)、・・・、81番目(No.81)のデータブロックのパリティであり、パリティ2は、同様に2番目(No.2)、12番目(No.12)、22番目(No.22)・・・・82番目(No.82)のデータブロックのパリティであり、パリティ10は、10番目(No.10)、20番目(No.20)、30番目(No.30)、・・・、90番目(No.90)のデータブロックのパリティである。各パリティは、対象となる9パケットに1個のパリティが付加されているため、その中の1個のデータが欠落しても復帰が可能となる。また全体では90個のデータブロックについて10個のパリティブロックが生成される。このように、パリティデータはインターリーブされて生成されていることになるため、本実施の形態1では、パケットロスが10パケット連続で発生しても再生可能となる。
図7における1つのデータブロックやパリティブロックは、図2におけるデータ部24に相当する。データブロックやパリティブロックそれぞれには、図2に示すようにIPヘッダ21とUDPヘッダ22とRTPヘッダ23のヘッダが付加され、RTPパケットとしてネットワークへ出力される。データ部24の内容がデータブロックであるパケットはデータパケット、データ部24の内容がパリティブロックであるパケットはパリティパケットである。
RTPヘッダ23には、シーケンス番号25が記録されており、送出されるパケットごとに1ずつカウントアップされたものが記録される。
図7の各データブロックのネットワークへの出力順は、図7においてNo.1、2、3、4、・・・、No.90のデータブロック順にデータパケットが送信され、その後に、パリティ1、2、3・・・パリティ10のパリティブロック順にパリティパケットが送信される。
受信手段11は、ネットワークから送信されてくる、これら送信データを受信する。
受信バッファ12は、受信手段11で受信された送信データを構成する受信パケットを格納する。
データ抽出手段13は、受信バッファ内に格納されている受信パケットのうちRTPパケットのデータ部24を抽出して、バッファメモリ手段14にデータ転送を行うが、パリティパケットを検出するとバッファメモリ手段14にはデータ転送をしない。
再生手段15は、バッファメモリ手段14に蓄えられたデータブロックをデコードして映像出力を行う。
パケットロス検出手段16は、図2に示すようにRTPヘッダに含まれるシーケンス番号25の連続性を確認し、パケットロスの有無を検出してデータ抽出手段13に伝達すると共に、パケットロスが発生した場合にはその発生した位置をエラー訂正手段18に伝達する。
データ抽出手段13は、パケットロス検出手段16によりパケットロスの発生が通知されると、パケットロスしたデータ数(本実施の形態1では1454バイト)だけ所定のデータパターン(例えば0)を生成してバッファメモリ手段14へデータ転送すると共にパリティ演算手段17にデータ転送を行う。
パリティ演算手段17には、データ抽出手段13により抽出されたデータとパリティが入力される。
図8には、本実施の形態1におけるパリティ演算手段17の一つの実施例を示している。内部には、データ長(本実施の形態1では1454バイトを例に説明する)の10個のメモリブロックからなるメモリ手段82がある。
データが入力されると、まず演算手段81にメモリ手段82のデータが読み込まれ(83の動作)、演算手段81で演算後に読み込まれた同じメモリに演算結果を書き戻す(84の動作)。続いて、次のデータのためにメモリ手段82のメモリブロックを巡回させる(85の動作)。
メモリ手段82のメモリブロックは10個あり、受信パケットは図7に示したようにインターリーブ長が10である。この場合、入力データが10パケットごとに巡回し、1つのメモリブロックに対してパリティパケットを含めて10回の操作が行われて演算が完了する。
またパケットロスが発生した場合であっても、データ抽出手段13でパケットロスに相当する長さのダミーデータが追加されるので、パリティ演算手段17内では、入力されるデータとパリティとの位相がずれることはない。
このように、受信バッファに蓄積された受信データはデインターリーブ処理のように並べ替える必要はなく、逐次、データ抽出手段13に送られ、バッファメモリ手段14へ転送されるので、大容量の受信バッファは不要となる。
さらにデータ抽出手段13は、バッファメモリ手段14へデータ転送をするのと同時にパリティ演算手段17へデータ転送するので、バッファメモリ手段14へのデータ転送とパリティ演算を同時に行うことができる。
従来の方法では、エラー訂正を行うためにはデータをデインターリーブ、パリティ演算、エラー訂正、データ転送の処理を順次行う必要があったが、本発明の場合は、デインターリーブをする必要はなく、データ転送とパリティ演算が同時に行われるため高速な処理が可能となる。
またエラー訂正手段18は、パケットロスが発生したパケット位置とパリティ演算結果から、誤りパターンを求めて、バッファメモリ手段14上に記録されたダミーデータの位置にエラー訂正された結果を書き込む。
このとき欠落したパケットに相当するデータは、データ抽出手段13により既にダミーデータとして追加されているため、欠落したパケットの修正には、バッファメモリ手段内の並べ替えをする必要はなく、ダミーデータの位置にエラー訂正手段で求めた結果を書き込む処理によりパケットの修正ができる。
このような構成にすることにより、パケットロスが発生した場合であっても、少ないバッファメモリでかつ高速にエラー訂正を行うことが可能である。
また、高品位のデータ転送を安価に実現できる受信装置を提供できるので、ハイビジョン映像の受信装置などのアプリケーションに適用可能である。
本実施の形態1では、インターリーブ長を10として説明したが、10にこだわるものではない。定性的にはインターリーブ長が長くなればなるほど連続したパケットロスに対する耐性が高くなる特徴がある。また、インターリーブ長が長くなりすぎるとパリティ演算手段17内のメモリが大きくなるので、伝送路のエラー発生状況により適切に設定すればよい。
また、本実施の形態ではRTPヘッダ内のシーケンス番号は、1カウントずつカウントアップされるとしたが、パケットの連続性が判定できる別の手段でも代用できるのは言うまでもない。
さらに、本実施の形態1ではデータブロック長を1454バイトとしたが、本データブロック長はイーサネット(登録商標)の最大フレーム長の1500バイトからヘッダ長を引いた長さであり、この例以外のデータブロック長でも構わない。
本発明は、任意の長さでデータを分割してパリティを生成すれば同様の効果が得られることは言うまでもない。
(実施の形態2)
本発明の実施の形態1において、図7に示したように9パケットに1個のパリティパケットを付加しインターリーブ長10でパリティ生成しているものとして、10個の連続したパケットロスが発生した場合でも修復可能な実施の形態について説明した。本実施の形態2では、分散してパケットロスが発生した場合にでも、エラー訂正ができる実施の形態について説明する。
本発明の実施の形態1において、図7に示したように9パケットに1個のパリティパケットを付加しインターリーブ長10でパリティ生成しているものとして、10個の連続したパケットロスが発生した場合でも修復可能な実施の形態について説明した。本実施の形態2では、分散してパケットロスが発生した場合にでも、エラー訂正ができる実施の形態について説明する。
例えば、図7において、No.1とNo.11の2つのデータブロックに相当するデータパケットにパケットロスが発生した場合について考える。この場合、縦方向に付与したパリティパケットが1個であるため修正可能なパケットロスは1個であり、2つのパケットを修正できない。そこで、インターリーブドリードソロモンによるパリティ生成をすることでこれらのパケットを修正できる方式について説明する。
図9において、送信データは、所定のデータブロック91(本実施の形態2では、1454バイト)に分割される。分割された90個のパケットは、一旦バッファに格納され、パリティが生成される。パリティの生成方法は、図9のパリティ生成ブロック92に示すように、90個の各データブロックの先頭データD0に10バイトのリードソロモンによるパリティが生成される。先頭データD0が終了すると、次にD1、D2の順に、最後にD1453のパリティを生成する。パリティが生成されると各データブロックに、図2に示すIPヘッダ21、UDPヘッダ22、RTPヘッダ23を付加したRTPパケットを生成し、さらに図5に示すようなRTPパケット群が生成され、先頭のパケットから順にネットワークへ送信される。
上記の様にパリティが生成された場合、10パケット分のパリティが付加されていることになるので、図5におけるデータパケット群51とパリティパケット群52の合計100パケットのうち、いずれの10パケットがパケットロスを発生しても修正可能となる。
このような方法でパリティが付加された場合であっても、図1に示す受信装置で同様に処理が可能となる。図5の様に構成されたパケットでも、データ抽出手段13での処理内容と、パケットロス検出手段16におけるRTPヘッダ23内のシーケンス番号25の連続性を確認する作業は実施の形態1で説明した内容と同じである。
パリティ演算手段17の内部回路については実施の形態1とは異なる構成であり、図4にパリティ演算手段17の内部回路を示した。
レジスタ42は、演算結果の一時蓄積を行うものであり、パリティバイト数だけ備えられるが、本実施の形態の場合10個存在する。
乗算器41は、ガロア乗算を行うものであり、各乗算係数は適切に選定される。
加算器43は、ガロア加算を行うが実際には、EX−OR(排他論理和)演算が行われる。
メモリ手段44は、メモリであり、本実施の形態2の場合、10バイト幅で1454ブロックのメモリを持っている。
巡回アドレスカウンタ45は、データブロックの長さで巡回するが、本実施の形態2では1454個の巡回を行う。
このように構成されたパリティ演算手段17の動作を説明する。
まず、メモリ手段44に格納されたデータをレジスタ42に格納する。次に、データが入力されると、乗算器41によるガロア乗算、加算器43によるガロア加算演算を行い、その結果をレジスタ42に格納する。
乗算器41、加算器43による演算が完了したらメモリ手段44の読み出した同アドレスにレジスタの内容を記録する。メモリへの記録が完了した後に、アドレスをインクリメントして次のデータ処理のためにメモリの内容を再度レジスタに書き込み次のデータを待つ。
この動作を、データブロック長1454バイトを100パケット分、演算処理を行う。リードソロモンの場合、上記動作を行うと、パケットロスがない場合には、演算終了後のメモリ手段44の内容はすべて0になる。パケットロスが発生した場合には、メモリ手段44内には、0でないデータ(シンドローム)が残ることになるが、そのシンドロームと、パケットロス検出手段16により得られる、パケットロスの位置情報からエラー訂正手段18により欠落したパケットを復元して、バッファメモリ手段14に復元したデータを記録する。
このように、インターリーブドリードソロモンの様に、90パケットに10個のパリティ符号を付加する方式に変更することにより、パケットロスが分散して発生した場合であっても安定してパケットロスが修正可能となる。
本実施の形態2では、パリティパケットを10個としたが、本発明の効果はパリティパケット数が異なる場合でも同様に期待できる。
またデータブロックサイズは、イーサフレームの最大値である1454バイトとして説明したが、データサイズが異なる場合であっても同様の効果があることは言うまでもない。
本発明は、受信装置に関し、特に誤り訂正データを付加して送信されてくるデータを受信する装置に適用できる。
11 受信手段
12 受信バッファ
13 データ抽出手段
14 バッファメモリ手段
15 再生手段
16 パケットロス検出手段
17 パリティ演算手段
18 エラー訂正手段
21 IPヘッダ
22 UDPヘッダ
23 RTPヘッダ
24 データ部
25 シーケンス番号
31 受信手段
32 受信バッファ
33 デインターリーブ手段
34 エラー訂正手段
35 データ抽出手段
36 バッファメモリ手段
37 再生手段
38 パケットロス検出手段
41 乗算器
42 レジスタ
43 加算器
44 メモリ手段
45 巡回アドレスカウンタ
50 データパケット
51 データパケット群
52 パリティパケット群
91 データブロック
92 パリティ生成ブロック
12 受信バッファ
13 データ抽出手段
14 バッファメモリ手段
15 再生手段
16 パケットロス検出手段
17 パリティ演算手段
18 エラー訂正手段
21 IPヘッダ
22 UDPヘッダ
23 RTPヘッダ
24 データ部
25 シーケンス番号
31 受信手段
32 受信バッファ
33 デインターリーブ手段
34 エラー訂正手段
35 データ抽出手段
36 バッファメモリ手段
37 再生手段
38 パケットロス検出手段
41 乗算器
42 レジスタ
43 加算器
44 メモリ手段
45 巡回アドレスカウンタ
50 データパケット
51 データパケット群
52 パリティパケット群
91 データブロック
92 パリティ生成ブロック
Claims (5)
- 送信データに対してインターリーブ処理を施し、パリティを生成して送出されたインターネットプロトコル形式のパケットを受信する受信装置であって、
前記パケットを受信する受信手段と、
受信した前記パケット(受信パケット)を蓄積する受信バッファと、
前記受信バッファに蓄積された前記受信パケットを逐次読み出し、前記受信パケットから通信用ヘッダを除去してデータブロックを抽出し、バッファメモリ手段とパリティ演算手段へ前記データブロックを転送するデータ抽出手段と、
前記受信パケットの通信用ヘッダのシーケンス番号をもとに前記受信パケットのパケットロス発生の有無を検出するパケットロス検出手段と、
前記パケットロス発生の有無の情報と前記パリティ演算手段により演算された結果とからパケットロスしたパケットを復元するエラー訂正手段とを備え、
前記データ抽出手段は、前記パケットロス検出手段からパケットロスが発生したことが通知されると、パケットロスした長さの所定パターンのダミーデータを生成して前記バッファメモリ手段と前記パリティ演算手段へ転送することを特徴とする受信装置。 - 前記データ抽出手段で生成される前記所定パターンは0であることを特徴とする請求項1記載の受信装置。
- 前記パリティ演算手段は、所定のサイズで巡回するアドレスカウンタに接続されたメモリ手段と、シンドローム演算手段とを備え、
前記データブロックが入力されると、前記メモリ手段から呼び出された前記データブロックが前記シンドローム演算手段のレジスタに格納され、
1シンボル分のシンドローム演算が行われた後、演算前に読み出した同一のメモリアドレスに前記レジスタの値を格納した後に、前記メモリ手段のアドレスを変更することを特徴とする請求項1記載の受信装置。 - 前記パリティ演算手段の演算結果と前記パケットロス検出手段で検出したパケットロス発生の有無の情報とからパケットロスしたパケットの誤り訂正を行い、生成されたパケットのデータを前記再生手段のバッファメモリ手段の該当するバッファメモリアドレスへ転送することを特徴とした請求項2記載の受信装置。
- 前記データ抽出手段は、前記受信パケットがデータパケットの場合は、前記バッファメモリ手段と前記パリティ演算手段にデータを転送するが、前記受信パケットがパリティパケットであった場合には、前記バッファメモリ手段にはデータ転送を行わず、前記パリティ演算手段にデータ転送を行うことを特徴とした請求項1記載の受信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006179126A JP2008011142A (ja) | 2006-06-29 | 2006-06-29 | 受信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006179126A JP2008011142A (ja) | 2006-06-29 | 2006-06-29 | 受信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008011142A true JP2008011142A (ja) | 2008-01-17 |
Family
ID=39068954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006179126A Pending JP2008011142A (ja) | 2006-06-29 | 2006-06-29 | 受信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008011142A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5535231B2 (ja) * | 2009-09-30 | 2014-07-02 | 株式会社東芝 | 受信処理装置およびプログラム |
-
2006
- 2006-06-29 JP JP2006179126A patent/JP2008011142A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5535231B2 (ja) * | 2009-09-30 | 2014-07-02 | 株式会社東芝 | 受信処理装置およびプログラム |
US9246632B2 (en) | 2009-09-30 | 2016-01-26 | Kabushiki Kaisha Toshiba | Reception processing device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8990663B2 (en) | Method to support forward error correction for real-time audio and video data over internet protocol networks | |
JP3798387B2 (ja) | Fec符号化方式に基づいた可変長パケット送信方法及び受信方法 | |
JP5409032B2 (ja) | 送信装置、及び、方法、プログラム | |
US8365034B2 (en) | Forward error correction (FEC) encoding and decoding method of variable length packet based on three-dimensional storage apparatus | |
US8230316B2 (en) | Forward error correction for burst and random packet loss for real-time multi-media communication | |
JP4250654B2 (ja) | 通信装置、通信方法および通信プログラム | |
US8261162B2 (en) | Decoding device, decoding method, and media data delivery system | |
EP2823616B1 (en) | Method, device and system for packet transmission over ip networks | |
CN101098209A (zh) | Fec编码方法、fec解码方法和fec解码设备 | |
JP4559126B2 (ja) | 映像送信方法、映像送信装置、映像送信用プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4580278B2 (ja) | パケット中継装置、コンテンツ送信装置、パケット中継プログラムならびにパケット中継方法 | |
JPH07135494A (ja) | パケット伝送方法・パケット伝送装置・パケット伝送システム | |
JP2006042306A (ja) | 映像配信システム、映像配信装置、映像受信装置、映像配信方法、映像受信方法、映像配信プログラム及び映像受信プログラム | |
JP4041137B2 (ja) | 映像符号化・送信装置,映像符号化・送信方法,映像符号化・送信プログラムおよびその記録媒体 | |
JPWO2008139882A1 (ja) | 通信システムおよび通信方法、並びに、プログラム | |
JP2008011142A (ja) | 受信装置 | |
JP2009543409A (ja) | 誤り訂正によるデータ符号化及び復号化方法及び装置 | |
JP2011199647A (ja) | 誤り訂正符号化装置及び方法及びプログラム及び誤り訂正復号化装置及び方法及びプログラム | |
JP2007335926A (ja) | Fec用パリティ生成方法および送信装置 | |
JP2009206608A (ja) | 通信装置 | |
JP2006340205A (ja) | 誤り訂正装置 | |
JP2005236739A (ja) | 送信装置、受信装置および映像配信システム | |
JP4437974B2 (ja) | Tsパケットインタリーバ、tsパケット変換器、ts−ip変換器およびip−ts変換器 | |
JP2009206998A (ja) | 通信装置 | |
JP2004007799A (ja) | データ伝送方法およびデータ処理方法 |