JP2004088388A - Receiver, method for processing received data, and program - Google Patents
Receiver, method for processing received data, and program Download PDFInfo
- Publication number
- JP2004088388A JP2004088388A JP2002246256A JP2002246256A JP2004088388A JP 2004088388 A JP2004088388 A JP 2004088388A JP 2002246256 A JP2002246256 A JP 2002246256A JP 2002246256 A JP2002246256 A JP 2002246256A JP 2004088388 A JP2004088388 A JP 2004088388A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- sequence
- string
- data string
- 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
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、受信装置、受信データのデータ処理方法及びプログラムに関する。
【0002】
【従来の技術】
データ伝送において、データ送信側の送信装置は、誤り訂正可能な符号化方式でデータ列の符号化を行い、集中して発生するバーストエラーに対処するために、符号化したデータ列のインタリーブを行い、生成したデータ列を送信する。受信装置は、このデータ列を受信し、データ列のデインタリーブを行い、並べ直したデータ列の復号化を行う。インタリーブ、デインタリーブを行うことにより、バーストエラーは分散する。また、受信装置が復号化とともに誤り訂正を行うことにより、元のデータ列を復元することができる。
【0003】
この誤り訂正については、データ列が長い方が有利である。これは、バーストエラーは、集中して発生するため、データ列が長くなれば、誤ったデータの数に比して誤りのないデータの数が多くなり、誤りをより確実に訂正することができるからである。
【0004】
【発明が解決しようとする課題】
しかし、データ列が長くなると、受信装置は、データ列の復号化処理を一括して行わなければならず、データ処理に多くの時間を費やすことになり、データ処理の効率が低下する。
【0005】
本発明は、このような従来の問題点に鑑みてなされたもので、データ処理を効率的に行うことを可能とする受信装置、受信データのデータ処理方法及びプログラムを提供することを目的とする。
【0006】
【課題を解決するための手段】
この目的を達成するため、本発明の第1の観点に係る受信装置は、
符号化データを並べ替えて生成されたデータ列を受信する受信装置において、前記受信したデータ列を、並べ替え前のデータ列に並べ直す並べ直し手段と、前記並べ直し手段が並べ直したデータ列を分割し、分割した複数のデータ列の復号化処理を並列して行う復号化手段と、を備えたものである。
【0007】
かかる構成によれば、復号化手段が、分割したデータ列の復号化処理を並列して行うため、分割せずに一連のデータ列を復号化するよりも、データ処理の効率は良くなる。
【0008】
前記復号化手段が分割した複数のデータ列のうち、誤りのあったデータ列の再送を前記データ列の送信元に要求する再送要求手段を備えるようにしてもよい。
【0009】
本発明の第2の観点に係る受信データのデータ処理方法は、
符号化データを並べ替えて生成されたデータ列を受信するステップと、
前記受信したデータ列を、並べ替え前のデータ列に並べ直すステップと、
前記並べ直したデータ列を分割し、分割した複数のデータ列の復号化処理を並列して行うステップと、を備えたものである。
【0010】
本発明の第3の観点に係るプログラムは、
コンピュータに、
符号化データを並べ替えて生成されたデータ列を受信する手順、
前記受信したデータ列を、並べ替え前のデータ列に並べ直す手順、
前記並べ直したデータ列を分割し、分割した複数のデータ列の復号化処理を並列して行う手順、
を実行させるためのプログラムである。
【0011】
【発明の実施の形態】
以下、本発明の実施の形態に係る送信装置と受信装置とを図面を参照して説明する。
尚、本実施の形態では、送信装置、受信装置を、それぞれ、クライアントサーバ通信システムにおけるサーバ通信装置、クライアント通信装置として説明する。
本実施の形態に係るクライアントサーバ通信システムの構成を図1に示す。
クライアントサーバ通信システムは、サーバ通信装置10と、クライアント通信装置20と、からなる。
【0012】
サーバ通信装置10は、サーバ11と、ゲートウェイ(図中、「GW」と記す。)12と、モデム13と、アンテナ14と、を備える。
【0013】
サーバ11は、データ列L1を出力するコンピュータであり、MPU(Micro Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備える。
【0014】
ゲートウェイ12は、MPU、ROM、RAM等を備えたコンピュータであり、サーバ11が出力したデータ列の符号化、ブロック分割等を行い、複数のパケットを生成する。
【0015】
モデム13は、変調器(図示せず)を備え、ゲートウェイ12が生成したパケットに基づいて、その変調信号を生成するものである。
アンテナ14は、モデム13が生成した変調信号を電波として送出するものである。
【0016】
クライアント通信装置20は、クライアント21と、ゲートウェイ22と、モデム23と、アンテナ24と、を備える。
アンテナ24は、アンテナ14が送出した電波を受信するものである。
【0017】
モデム23は、復調器(図示せず)を備え、アンテナ24が受信した電波からパケットを取り出すものである。
ゲートウェイ22は、MPU、ROM、RAM等を備えたコンピュータであり、モデム23が取り出したパケットの組立、データ列の復号化等を行い、元のデータ列を復元する。
【0018】
クライアント21は、ゲートウェイ22が復元した元のデータ列に基づいて情報処理を行うコンピュータである。
【0019】
次に、ゲートウェイ12,22の構成について説明する。
サーバ通信装置10のゲートウェイ12は、図2に示すように、受信部31と、チェックサム情報付加部32と、ターボ(Turbo)符号化部33と、インタリーバ34と、パケット生成部35と、コントロール部36と、を備える。
【0020】
受信部31は、サーバ11からデータ列L1を受信するものである。受信部31は、データの処理速度を調整するためのバッファ(図示せず)を備え、受信したデータ列L1をバッファに一時記憶した後、出力する。
【0021】
チェックサム情報付加部32は、受信部31からデータ列L1を受け取り、受け取ったデータ列L1に、データの誤りを検出するためのチェックサム情報を付加してデータ列L2を生成するものである。
【0022】
ターボ符号化部33は、チェックサム情報付加部32が生成したデータ列L2を、ターボ符号化方式に従って符号化するものである。ターボ符号化部33は、予め設定された分割数に従って、チェックサム情報が付加されたデータ列L2を分割する。ターボ符号化部33は、データ列L2を分割したデータ列をデータ列L2−1〜L2−n(n≧0)として、データ列L2−1〜L2−nを、順次、符号化する。
【0023】
ターボ符号化方式は、再帰的組織畳み込み符号のインタリーブを行って並列連接符号化を行う方式であり、ターボ符号化部33は、図3に示すように、インタリーバ41と、エンコーダ42,43と、多重化器44と、合成器45と、を備える。
【0024】
インタリーバ41は、供給されたデータ列に対し、その情報系列のインタリーバ順序を並べ替える。
【0025】
エンコーダ42は、供給されたデータ列を符号化して、そのパリティビット列1を生成するものである。
【0026】
エンコーダ43は、インタリーバ41がインタリーバ順序を並べ替えた情報系列を符号化して、そのパリティビット列2を生成するものである。尚、2つのエンコーダ42、43の構成は、同じであってもよいし、異なるものであってもよい。
【0027】
多重化器44は、エンコーダ42,43がそれぞれ生成したパリティビット列1,2を単純に、あるいは間引き(puncturing)して多重化するものである。
【0028】
合成器45は、供給されたデータ列と、多重化器44が多重化した情報系列と、を合成するものである。
【0029】
ターボ符号化部33は、データ列L2−1〜〜L2−nを、順次、符号化して、それぞれ、データ列L3−1〜L3−nを生成し、データ列L3−1〜L3−nを結合してデータ列L3を生成する。
【0030】
図2に戻り、インタリーバ34は、ターボ符号化部33が出力したデータ列L3のデータを並べ替え、データ列L4を生成するものである。
【0031】
パケット生成部35は、パケットを生成するものであり、インタリーバ34が生成したデータ列L4を複数のデータ列に分割する。パケット生成部35は、分割した各データ列に、データの区切りを示すためのヘッダとフッタとを付加し、パケットP1〜Pm(m≧0)を生成する。
【0032】
コントロール部36は、ゲートウェイ12の各部を制御する。尚、コントロール部36は、ターボ符号化部33がデータ列L2を分割する際の分割数nを予め記憶する。
【0033】
クライアント通信装置20のゲートウェイ22は、図4に示すように、受信部51と、パケット組立部52と、デインタリーバ53と、分割部54と、ターボ復号化部55−1〜55−nと、処理済みデータ組立部56と、チェックサム検査部57と、コントロール部58と、を備える。
【0034】
受信部51は、モデム23が取り出したパケットP1〜Pmのヘッダ、フッタを認識して、各パケットP1〜Pmを受信するものである。受信部51は、データの処理速度を調整するためのバッファ(図示せず)を備え、受信したパケットP1〜Pmをバッファに一時記憶する。受信部51は、バッファに一時記憶したパケットP1〜Pmをパケット組立部52に出力する。
【0035】
パケット組立部52は、受信部51から出力された複数のパケットP1〜Pmを組み立ててデータ列L4を復元するものである。
【0036】
デインタリーバ53は、パケット組立部52が復元したデータ列L4のデータを並べ直して、データ列L3を復元するものである。
【0037】
分割部54は、デインタリーバ53が復元したデータ列L3を複数のデータ列L3−1〜L3−nに分割するものである。分割部54は、分割した複数のデータ列L3−1〜L3−nを、それぞれ、ターボ復号化部55−1〜55−nに供給する。
【0038】
ターボ復号化部55−1〜55−nは、分割部54からそれぞれ供給された複数のデータ列L3−1〜L3−nのターボ復号化処理を並列処理するものである。
【0039】
ターボ復号化部55−1は、データ列L3−1を複数の要素に分解し、各要素間の相互作用を利用して特性を逐次的に向上させ、符号化データであるデータ列L3−1の復号化を行うものである。ターボ復号化部55−2〜55−nも同様のものである。
【0040】
ターボ復号化部55−1〜55−nは、それぞれ、データ列L3−1〜L3−nを復号化するための構成として、図5に示すように、デコーダ61と、インタリーバ62と、デコーダ63と、デインタリーバ64と、を備えている。
【0041】
まず、ターボ復号化部55−1のデコーダ61は、データ列L3−1を受信系列として受け取り、受け取った受信系列の復号化処理を行って、各情報シンボルの復号結果とその信頼度情報とを出力するものである。
【0042】
インタリーバ62は、デコーダ63が出力したデータ列を並べ替えるものである。
デコーダ63は、インタリーバ62が並べ替えたデータ列の復号化処理を行い、デコーダ61が復号化した信頼度情報と受信系列とを用いて信頼度情報を計算するものである。
【0043】
デインタリーバ64は、デコーダ63がデコードしたデータ列を元のデータ列に並べ直すものであり、並べ直したデータ列をデコーダ61に送出する。
【0044】
ターボ復号化部55−2〜55−nについても同様であり、ターボ復号化部55−1〜55−nは、それぞれ、データ列L3−1〜L3−nを復号化してデータ列L2−1〜L2−nを生成する。
【0045】
図4に戻り、処理済みデータ組立部56は、ターボ復号化部55−1〜55−nが生成したした各データ列L2−1〜L2−nを組み立てて、データ列L2を復元するものである。
チェックサム検査部57は、処理済みデータ組立部56が復元したデータ列L2に含まれているチェックサム情報に基づいて誤り検出を行うものである。
【0046】
コントロール部58は、ゲートウェイ22内の各部を制御するものである。尚、コントロール部58は、分割部54がデータ列L3を分割する際の分割数nを予め記憶する。この分割数nは、ゲートウェイ12のコントロール部36を記憶する分割数に等しい。
【0047】
次に本実施の形態に係るクライアントサーバ通信システムの動作を説明する。まず、図1〜図5に基づいて、クライアントサーバ通信システムの一連の動作について説明する。
サーバ通信装置10のサーバ11は、データ列L1をゲートウェイ12に送出する。
【0048】
ゲートウェイ12の各部は、コントロール部36の制御の下で動作する。
まず、ゲートウェイ12の受信部31は、サーバ11が送出したデータ列L1を受信してバッファに一時記憶し、データの処理速度を調整しつつ、データ列L1をチェックサム情報付加部32に出力する。
チェックサム情報付加部32は、供給されたデータ列L1にチェックサム情報を付加してデータ列L2を生成し、このデータ列L2をターボ符号化部33に供給する。
【0049】
ターボ符号化部33は、チェックサム情報付加部32からデータ列L2が供給されると、まず、データ列L2のデータを分割する。
【0050】
データ列L2の分割数は、誤り訂正成功率と効率とに基づいて設定される。即ち、誤り訂正成功率は、ターボ復号化部55−1〜55−nが行う復号化処理の過程で決定される。この誤り訂正成功率を高めるためには、データサイズは大きい方が有利である。
【0051】
これは、伝送中にバーストエラーが発生した場合、データが欠落しても、データサイズが大きければ、誤りのないデータの数に比べて誤ったデータの数は少なくなり、誤りのないデータに基づいて誤り訂正を行うことにより、誤り訂正成功率が高まるからである。従って、誤り訂正成功率を高めるためには、分割数を少なくしてデータサイズが大きくなるようにする。
【0052】
一方、データサイズが大きくなると、誤り訂正が不能となった場合に、データの再送に多くの時間を費やすことになり、効率が低下する。従って、効率化を図るためには、分割数を多くしてデータサイズを小さくした方がよい。
【0053】
このように、データ列L2の分割数nは、誤り訂正成功率と効率とに基づいて設定され、ターボ符号化部33は、設定された分割数nでデータ列L2を分割し、データ列L2−1〜L2−nを生成する。
【0054】
ターボ符号化部33は、データ列L2−1〜L2−nを順次、符号化する。まず、ターボ符号化部33は、データ列L2−1を符号化する。エンコーダ42は、供給されたデータ列の情報系列に基づいてパリティビット列1を生成する。インタリーバ41は、データ列L2−1の情報系列のインターリーバ順序を並べ替え、パリティビット列2を作る。多重化器44は、2つのパリティビット列を、単純に多重化するか、あるいは間引きして多重化する。そして、多重化器44は、多重化したデータ列を合成器45に送出する。
【0055】
合成器45は、データ列L2−1と、多重化器44が多重化した情報系列と、を合成し、符号化データのデータ列L3−1を生成する。
【0056】
ターボ符号化部33は、同様にしてデータ列L2−2〜L2−nの符号化を行い、順次、データ列L3−2〜L3−nを生成する。
ターボ符号化部33は、生成したデータ列L3−1〜L3−nを結合してデータ列L3を生成する。
【0057】
ターボ符号化部33は、生成したデータ列L3をインタリーバ34に供給する。インタリーバ34は、データ列L3が供給されると、このデータ列L3を予め設定されたデータサイズ毎に並べ替え、データ列L4を生成する。インタリーバ34は、並べ替えたデータ列L4をパケット生成部35に供給する。
【0058】
パケット生成部35は、供給されたデータ列L4を複数のデータ列に分割し、分割した各データ列にヘッダとフッタとを付加して複数のパケットP1〜Pmを生成する。
【0059】
モデム13は、パケット生成部35が生成したパケットP1〜Pmに基づいて変調信号を生成する。アンテナ14は、モデム13が生成した変調信号を電波として送出する。
【0060】
クライアント通信装置20において、アンテナ24は、アンテナ14から送出された電波を受信する。モデム23は、受信した電波からパケットP1〜Pmを取り出す。モデム23は、取り出したパケットP1〜Pmをゲートウェイ22に供給する。
【0061】
パケットP1〜Pmがゲートウェイ22に供給されると、ゲートウェイ22の各部は、コントロール部58の制御の下で動作する。
まず、受信部51は、各パケットP1〜Pmのヘッダ、フッタを認識して、モデム23からパケットP1〜Pmを受信する。受信部51は、受信したパケットP1〜Pmをバッファに一時記憶した後、パケット組立部52に供給する。
【0062】
パケット組立部52は、供給されたパケットP1〜Pmを組み立ててデータ列L4を復元し、復元したデータ列L4をデインタリーバ53に供給する。
【0063】
デインタリーバ53は、供給されたデータ列L4のデータを並べ直してデータ列L3を復元し、復元したデータ列L3を分割部54に供給する。分割部54は、供給されたデータ列L3を複数のデータ列L3−1〜L3−nに分割する。分割数は、符号化されたデータが正しく復号化されるようにターボ符号化部33がデータ列L2を分割する際の分割数とされる。分割部54は、分割した複数のデータ列L3−1〜L3−nを、それぞれ、ターボ復号化部55−1〜55−nに供給する。
【0064】
ターボ復号化部55−1〜55−nは、データ列L3−1〜L3−nが供給されると、以下のようにして、供給されたデータ列L3−1〜L3−nの復号化を行う。
【0065】
ターボ復号化部55−1のデコーダ61は、供給されたデータ列L3−1を受信系列として受け取り、復号化処理を行って各情報シンボルの復号結果とその信頼度情報を出力する。
【0066】
インタリーバ62は、デコーダ61が出力した各情報シンボルの復号結果とその信頼度情報のデータ列を並べ替える。
デコーダ63は、デコーダ61からの信頼度情報と受信系列とを用いて復号化処理を行い、信頼度情報を計算する。
【0067】
デインタリーバ64は、デコーダ63がデコードしたデータ列を並べ直し、並べ直したデータ列をデコーダ61に出力する。
【0068】
デコーダ61は、デコーダ63からの信頼度情報と受信系列との復号処理を、再度、実行する。
【0069】
デコーダ61、インタリーバ62、デコーダ63、デインタリーバ64は、このような処理を数回から10数回繰り返す。処理を繰り返すことによって、誤りは訂正され、信頼度は高くなる。その後、デコーダ63は、信頼度の最終判定を行い、信頼度が予め設定されたレベル以上であると判定すると、復号化したデータ列L2−1を生成する。
【0070】
ターボ復号化部55−2〜55−nも、ターボ復号化部55−1と同様に、それぞれ、データ列L3−2〜L3−nの復号化を行い、データ列L2−2〜L2−nを生成する。
【0071】
ターボ復号化部55−2〜55−nは、復号化の過程で誤り訂正も行う。訂正不能の場合、コントロール部58は、サーバ通信装置10に対し、誤りのあったデータを含むパケットの再送を要求する。このパケットが再送され、受信部51がこのパケットを受信すると、受信したパケットに含まれている正しいデータに基づいて復号化処理が行われる。
【0072】
ターボ復号化部55−1〜55−nは、それぞれ、生成したデータ列L2−1〜L2−nを処理済みデータ組立部56に出力する。処理済みデータ組立部56は、データ列L2−1〜L2−nを組み立ててデータ列L2を復元する。処理済みデータ組立部56は、復元したデータ列L2をチェックサム検査部57に供給する。
【0073】
チェックサム検査部57は、供給されたデータ列L2に付加されたチェックサム情報に基づいて、チェックサム情報を除くデータ列L1に誤りがないか否かを検査する。誤りがあれば、コントロール部58は、サーバ通信装置10に、再度パケットP1〜Pmの再送を要求する。パケットP1〜Pmが再送されると、ゲートウェイ22は、再度、データ列L1の復元処理を行う。
【0074】
また、誤りがなければ、チェックサム検査部57は、データ列L1をクライアント21に送出する。このようにしてクライアント21は、サーバ11が送信したデータ列L1を受け取る。
【0075】
次に、サーバ通信装置10の送信処理とクライアント通信装置20の受信処理とを図6と図7とに基づいて、さらに説明する。
【0076】
受信部31は、図6(a)に示すように、一時記憶したデータ列L1をチェックサム情報付加部32に出力する。
【0077】
チェックサム情報付加部32は、データ列L1にチェックサム情報を付加して、図6(b)に示すようなデータ列L2を生成する。
【0078】
ターボ符号化部33は、図6(c)に示すように、データ列L2を分割する。
分割数は4とする。この分割数4は、前述のように誤り訂正成功率と効率とに基づいて設定された値であり、4つのデータ列L2−1〜L2−4が生成される。
【0079】
ターボ符号化部33は、データ列L2−1〜L2−4を、それぞれ、符号化し、符号化データとして、図6(d)に示すようなデータ列L3−1〜L3−4を生成する。
【0080】
ターボ符号化部33は、生成したデータ列L3−1〜L3−4を結合して、図6(e)に示すようなデータ列L3を生成する。
【0081】
インタリーバ34は、データ列L3のデータを並べ替える。インタリーバ34は、並べ替えの際、並べ替えるデータのサイズを設定する。データを伝送する際のバーストノイズは、並べ替えるデータのサイズが小さければ小さいほど、分散される。また、ノイズによって発生する誤り数が同じであれば、誤りのないデータの数に対する誤り数は、バーストノイズが分散された方が小さくなるため、誤り訂正成功率は高くなる。即ち、伝送されるデータは、バーストノイズの影響を受けにくくなる。一方、並べ替えるデータのサイズが小さくなりすぎると、並べ替えるデータの数が増え、インタリーブ、デインタリーブ等の処理に時間がかかることになる。また、誤り数に対する誤りのないデータの数も減ってしまい、誤り訂正成功率も低下してしまう。
【0082】
従って、インタリーバ34は、バーストノイズの影響を受けないように、また効率的にデータを処理できるように並べ替えるデータのサイズを512Kバイトに設定する。データ列L3の長さを8Kバイトとして、並べ替えるデータの長さを512Kバイトとすると、インタリーバ34は、図6(e)に示すように、16個のデータブロックを並べ替えることになる。
【0083】
インタリーバ34は、データ列L3を512Kバイト単位で並べ替えて、図6(f)に示すようなデータ列L4を生成する。
【0084】
パケット生成部35は、インタリーバ34が並べ替えたデータ列L4を、例えば、4つに分割するものとする。そして、パケット生成部35は、各データ列にヘッダ、フッタを付加して図6(g)に示すようにパケットP1〜P4を生成する。尚、ここでは、パケット数を4、符号化、復号化の際の分割数を4とした。
しかし、パケット数と符号化、復号化の際の分割数とは、必ずしも一致するとは限らない。
【0085】
サーバ通信装置10は、この生成したパケットP1〜P4を送信する。クライアント通信装置20は、パケットP1〜P4を受信する。図7(a)に示すように、データ伝送に際して、パケットP1〜P4のデータには、ノイズ等により、誤りが生じる場合がある。
【0086】
ゲートウェイ12の受信部51は、このパケットP1〜P4をバッファに一時記憶してから、パケット組立部52に出力する。
【0087】
パケット組立部52は、この複数のパケットP1〜P4を組み立てて図7(b)に示すようなデータ列L4を復元する。
【0088】
デインタリーバ53は、データ列L4のデータを、並べ直す。並べ直すデータのサイズは、ゲートウェイ12のインタリーバ34が並べ替えたデータのサイズと同じ512Kバイトである。デインタリーバ53は、データ列L4のデータを並べ直して、図7(c)に示すようなデータ列L3を復元する。
【0089】
この際、パケットP1〜P4のデータに、図7(a)に示すような誤りがあっても、並べ替えるデータのサイズが512Kバイトになっているので、この誤りは、この並べ直しによって分散される。
【0090】
分割部54は、このデータ列L3を、図7(d)に示すように、4つのデータ列L3−1〜L3−4に分割する。分割部54は、分割したデータ列L3−1〜L3−4を、それぞれ、ターボ復号化部55−1〜55−4に供給する。
【0091】
ターボ復号化部55−1〜55−4は、それぞれ、供給されたデータ列L3−1〜L3−4の復号化を行う。データの誤りがあれば、その誤りは、復号化を行う過程で訂正される。
【0092】
もし、データ1−2の誤り訂正が不能である場合、コントロール部58は、このデータ1−2を含むパケットP2の再送をサーバ通信装置10に要求する。即ち、コントロール部58は、パケットP2だけを再送するように要求すればよい。サーバ通信装置10のゲートウェイ12は、パケットP2を再送する。
【0093】
ゲートウェイ22のモデム23がこのパケットP2を受信すると、コントロール部58は、このパケットP2から、データ1−2を取り出し、取り出したデータ1−2をターボ復号化部55−1へ供給する。ターボ復号化部55−1は、再送されたデータ1−2に誤りがなければ、このデータ1−2を用いてデータ列L3−1の復号化を行う。
ターボ復号化部55−1〜55−4は、このようにして復号化処理を行い、データ列L2−1〜L2−4を生成する。
【0094】
処理済みデータ組立部56は、それぞれ、ターボ復号化部55−1〜55−4が復号化したデータ列L2−1〜L2−4を組み立ててデータ列L2を復元する。
【0095】
チェックサム検査部57は、データ列L2に付加されたチェックサム情報に基づいてデータ列L1に誤りがないか否かを検査し、誤りがなければ、図7(f)に示すようなデータ列L1をクライアント21に送出する。
【0096】
尚、エラー訂正処理の処理時間は、データのブロックサイズが増加するに従って増加する。1024ビットの復号化に90ミリ秒の処理時間を要するものとすると、8kバイトのデータ列を、分割せずに復号化した場合には、約5.6秒を要する。一方、8kバイトのデータ列を2kバイトのデータ列に分割して復号化すると、処理時間は、約1.4秒となり、処理時間は、4.2秒短縮される。
【0097】
以上説明したように、本実施の形態によれば、サーバ通信装置10側では、ゲートウェイ12が、符号化データのデータ列を並べ替え、クライアント通信装置20側では、分割部54がデータ列を分割して、ターボ復号化部55−1〜55−nが分割した各データ列の復号化処理を並列して行う。従って、分割せずに一連のデータ列を復号化するよりも、データ処理の効率は良くなり、処理時間を短縮することができる。
【0098】
また、データ列L3を分割して復号化が行われるため、誤り訂正が不能なデータがあった場合、そのデータを含むパケットだけを再送すればよく、再送時間を短縮することができる。
【0099】
尚、本発明を実施するにあたっては、種々の形態が考えられ、上記実施の形態に限られるものではない。
例えば、上記実施の形態では、符号化方式は、ターボ符号化方式に限られるものではなく、例えば、ハミング(Hamming)符号化方式、BCH(Bose−Chaudhuri−Hocqenghem code)符号化方式を用いることもできる。
【0100】
本実施の形態では、ターボ符号化部33を1つとして、分割したデータ列L2−1〜L2−nを、順次、符号化するようにした。しかし、これに限られるものではなく、ターボ復号化部55−1〜55−nと同様に、符号化手段としてターボ符号化部33を複数備え、複数のターボ符号化部33が符号化処理を並列して行うように構成することもできる。このようにすれば、送信装置としてのゲートウェイ12においても、データ処理を効率的に行うことができる。
【0101】
また、本実施の形態では、ゲートウェイ12のターボ符号化部33がデータ列L2を分割する際の分割数n、ゲートウェイ22の分割部54がデータ列L3を分割する際の分割数nを予め設定するようにした。
【0102】
しかし、これに限られるものではなく、伝送状態に応じて分割数nが、適宜、設定されるように構成することもできる。この場合、コントロール部36又はコントロール部58が、ターボ復号化部55−1〜55−nが復号化したデータ列L2−1〜L2−nの復号結果に基づいて、誤り訂正成功率と、再送を含めた復号化の処理時間と、を求める。そして、コントロール部36又はコントロール部58が、求めた誤り訂正成功率と復号化の処理時間とに基づいて分割数nを設定するようにする。
【0103】
このように構成することにより、バーストノイズが多い場合は、分割数nを大きくして効率化を図り、バーストノイズが少ない場合は、分割数nを小さくして誤り訂正成功率をより低減させることができる。
【0104】
また、コンピュータを、再生装置の全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read−Only Memory)、DVD(Digital Versatile Disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これをコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【0105】
【発明の効果】
以上説明したように、本発明によれば、データ処理を効率的に行うことができる。
【図面の簡単な説明】
【図1】本発明の本実施の形態に係るクライアントサーバ通信システムの構成を示すブロック図である。
【図2】図1のサーバ通信装置におけるゲートウェイの構成を示すブロック図である。
【図3】図2のゲートウェイにおけるターボ符号化部の構成を示すブロック図である。
【図4】図1のクライアント通信装置におけるゲートウェイの構成を示すブロック図である。
【図5】図4のゲートウェイにおけるターボ復号化部の構成を示すブロック図である。
【図6】サーバ通信装置の送信処理を示す説明図である。
【図7】クライアント通信装置の受信処理を示す説明図である。
【符号の説明】
10 サーバ通信装置
20 クライアント通信装置
33 ターボ符号化部
34 インタリーバ
36、58 コントロール部
53 デインタリーバ
105−1〜55−n ターボ復号化部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a receiving device, a data processing method of received data, and a program.
[0002]
[Prior art]
In data transmission, the transmitting device on the data transmitting side encodes the data sequence using an error-correctable encoding method, and interleaves the encoded data sequence in order to cope with burst errors that occur in a concentrated manner. , And transmit the generated data string. The receiving device receives this data sequence, deinterleaves the data sequence, and decodes the rearranged data sequence. By performing interleaving and deinterleaving, burst errors are dispersed. In addition, the original data string can be restored by the receiver performing error correction together with decoding.
[0003]
For this error correction, it is advantageous that the data string is long. This is because burst errors occur intensively, so if the data string is long, the number of error-free data increases compared to the number of erroneous data, and errors can be corrected more reliably. Because.
[0004]
[Problems to be solved by the invention]
However, when the data sequence becomes long, the receiving device must perform the decoding process of the data sequence in a lump, so that much time is spent for data processing, and the efficiency of data processing is reduced.
[0005]
The present invention has been made in view of such a conventional problem, and an object of the present invention is to provide a receiving apparatus, a data processing method of received data, and a program capable of efficiently performing data processing. .
[0006]
[Means for Solving the Problems]
In order to achieve this object, the receiving device according to the first aspect of the present invention includes:
In a receiving apparatus for receiving a data sequence generated by rearranging encoded data, a rearrangement means for rearranging the received data sequence to a data sequence before rearrangement, and a data sequence rearranged by the rearrangement means And a decoding unit that performs a decoding process of a plurality of divided data strings in parallel.
[0007]
According to such a configuration, since the decoding unit performs the decoding processing of the divided data strings in parallel, the efficiency of the data processing is higher than that of decoding a series of data strings without division.
[0008]
A retransmission requesting unit may be provided for requesting a transmission source of the data sequence to retransmit an erroneous data sequence among the plurality of data sequences divided by the decoding unit.
[0009]
A data processing method for received data according to a second aspect of the present invention includes:
Receiving a data sequence generated by rearranging the encoded data;
Reordering the received data string to a data string before sorting;
Dividing the rearranged data string, and performing decoding processing of the plurality of divided data strings in parallel.
[0010]
A program according to a third aspect of the present invention includes:
On the computer,
Receiving a data sequence generated by rearranging the encoded data,
A step of rearranging the received data string into a data string before sorting;
A step of dividing the rearranged data sequence and performing a decoding process of the plurality of divided data sequences in parallel;
Is a program for executing.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a transmitting device and a receiving device according to an embodiment of the present invention will be described with reference to the drawings.
In this embodiment, the transmitting device and the receiving device will be described as a server communication device and a client communication device in a client-server communication system, respectively.
FIG. 1 shows the configuration of the client-server communication system according to the present embodiment.
The client-server communication system includes a
[0012]
The
[0013]
The
[0014]
The
[0015]
The
The
[0016]
The
The
[0017]
The
The
[0018]
The
[0019]
Next, the configuration of the
As illustrated in FIG. 2, the
[0020]
The receiving
[0021]
The checksum
[0022]
The
[0023]
The turbo coding method is a method of performing parallel concatenated coding by interleaving recursive systematic convolutional codes. As shown in FIG. 3, the
[0024]
[0025]
The
[0026]
The
[0027]
The
[0028]
The
[0029]
The
[0030]
Returning to FIG. 2, the
[0031]
The
[0032]
The
[0033]
As shown in FIG. 4, the
[0034]
The receiving
[0035]
The
[0036]
The
[0037]
The
[0038]
The turbo decoding units 55-1 to 55-n perform a turbo decoding process on the plurality of data strings L3-1 to L3-n supplied from the
[0039]
The turbo decoding unit 55-1 decomposes the data sequence L3-1 into a plurality of elements, sequentially improves the characteristics using the interaction between the elements, and converts the data sequence L3-1 as encoded data. Is performed. The same applies to the turbo decoders 55-2 to 55-n.
[0040]
As shown in FIG. 5, the turbo decoding sections 55-1 to 55-n each have a
[0041]
First, the
[0042]
The
The
[0043]
The
[0044]
The same applies to the turbo decoding units 55-2 to 55-n, and the turbo decoding units 55-1 to 55-n decode the data strings L3-1 to L3-n, respectively, and decode the data strings L2-1. To L2-n.
[0045]
Returning to FIG. 4, the processed
The
[0046]
The
[0047]
Next, the operation of the client server communication system according to the present embodiment will be described. First, a series of operations of the client-server communication system will be described with reference to FIGS.
The
[0048]
Each unit of the
First, the receiving
The checksum
[0049]
When the data sequence L2 is supplied from the checksum
[0050]
The number of divisions of the data string L2 is set based on the error correction success rate and efficiency. That is, the error correction success rate is determined in the course of the decoding process performed by the turbo decoding units 55-1 to 55-n. In order to increase the error correction success rate, it is advantageous that the data size is large.
[0051]
This is because if a burst error occurs during transmission, even if data is lost, if the data size is large, the number of erroneous data will be smaller than the number of error-free data. This is because the error correction success rate is increased by performing the error correction. Therefore, in order to increase the error correction success rate, the number of divisions is reduced to increase the data size.
[0052]
On the other hand, when the data size becomes large, when error correction becomes impossible, much time is required for retransmission of data, and the efficiency is reduced. Therefore, in order to increase efficiency, it is better to increase the number of divisions and reduce the data size.
[0053]
As described above, the division number n of the data string L2 is set based on the error correction success rate and the efficiency, and the
[0054]
The
[0055]
The
[0056]
The
The
[0057]
The
[0058]
The
[0059]
The
[0060]
In the
[0061]
When the packets P1 to Pm are supplied to the
First, the receiving
[0062]
The
[0063]
The
[0064]
When the data strings L3-1 to L3-n are supplied, the turbo decoding units 55-1 to 55-n decode the supplied data strings L3-1 to L3-n as follows. Do.
[0065]
The
[0066]
The
The
[0067]
The
[0068]
The
[0069]
The
[0070]
Turbo decoding sections 55-2 to 55-n also perform decoding of data strings L3-2 to L3-n, respectively, similarly to turbo decoding section 55-1, and perform decoding of data strings L2-2 to L2-n. Generate
[0071]
The turbo decoding units 55-2 to 55-n also perform error correction during the decoding process. If the data cannot be corrected, the
[0072]
The turbo decoding units 55-1 to 55-n output the generated data strings L2-1 to L2-n to the processed
[0073]
The
[0074]
If there is no error, the
[0075]
Next, the transmission process of the
[0076]
The receiving
[0077]
The checksum
[0078]
The
The number of divisions is four. The number of
[0079]
The
[0080]
The
[0081]
The
[0082]
Therefore, the
[0083]
The
[0084]
The
However, the number of packets and the number of divisions at the time of encoding and decoding do not always match.
[0085]
The
[0086]
The receiving
[0087]
The
[0088]
The
[0089]
At this time, even if there is an error as shown in FIG. 7A in the data of the packets P1 to P4, the size of the data to be rearranged is 512 Kbytes, and this error is dispersed by this rearrangement. You.
[0090]
The dividing
[0091]
The turbo decoding units 55-1 to 55-4 decode the supplied data strings L3-1 to L3-4, respectively. If there is a data error, the error is corrected during the decoding process.
[0092]
If the error correction of the data 1-2 is impossible, the
[0093]
When the
The turbo decoding units 55-1 to 55-4 perform the decoding process in this way, and generate data strings L2-1 to L2-4.
[0094]
The processed
[0095]
The
[0096]
The processing time of the error correction processing increases as the data block size increases. Assuming that decoding of 1024 bits requires a processing time of 90 milliseconds, it takes about 5.6 seconds to decode an 8-kbyte data string without dividing it. On the other hand, when an 8 kbyte data string is divided into 2 kbyte data strings and decoded, the processing time is about 1.4 seconds, and the processing time is reduced by 4.2 seconds.
[0097]
As described above, according to the present embodiment, on the
[0098]
In addition, since data string L3 is divided and decoded, if there is data for which error correction is impossible, only the packet containing the data need be retransmitted, and the retransmission time can be reduced.
[0099]
In carrying out the present invention, various modes are conceivable, and the present invention is not limited to the above embodiments.
For example, in the above embodiment, the coding method is not limited to the turbo coding method. For example, a Hamming coding method and a BCH (Bose-Chaudhuri-Hocqenghem code) coding method may be used. it can.
[0100]
In the present embodiment, the divided data strings L2-1 to L2-n are sequentially encoded using one
[0101]
Further, in the present embodiment, the number of divisions n when the
[0102]
However, the present invention is not limited to this, and the configuration may be such that the division number n is appropriately set according to the transmission state. In this case, the
[0103]
With this configuration, when the burst noise is large, the number of divisions n is increased to increase the efficiency, and when the burst noise is small, the number of divisions n is reduced to further reduce the error correction success rate. Can be.
[0104]
In addition, a program for causing a computer to operate as a whole or a part of a playback device, or for executing the above-described processing, includes a flexible disk, a compact disk read-only memory (CD-ROM), and a digital versatile disk (DVD). Alternatively, the program may be stored and distributed on a computer-readable recording medium, such as a computer, installed on a computer, and operated as the above-described means, or the above-described steps may be executed.
[0105]
【The invention's effect】
As described above, according to the present invention, data processing can be performed efficiently.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a client-server communication system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a gateway in the server communication device of FIG.
FIG. 3 is a block diagram showing a configuration of a turbo encoding unit in the gateway of FIG.
FIG. 4 is a block diagram illustrating a configuration of a gateway in the client communication device of FIG. 1;
FIG. 5 is a block diagram showing a configuration of a turbo decoding unit in the gateway of FIG.
FIG. 6 is an explanatory diagram illustrating a transmission process of the server communication device.
FIG. 7 is an explanatory diagram showing a receiving process of the client communication device.
[Explanation of symbols]
10 Server communication device
20 Client communication device
33 Turbo coding unit
34 Interleaver
36, 58 Control unit
53 Deinterleaver
105-1 to 55-n Turbo Decoding Unit
Claims (4)
ことを特徴とする受信装置。In a receiving apparatus for receiving a data sequence generated by rearranging encoded data, a rearrangement means for rearranging the received data sequence to a data sequence before rearrangement, and a data sequence rearranged by the rearrangement means And a decoding unit that performs decoding processing of the plurality of divided data strings in parallel.
A receiving device, characterized in that:
ことを特徴とする請求項1に記載の受信装置。Among the plurality of data strings divided by the decoding means, provided with retransmission request means for requesting the transmission source of the data string to retransmit an erroneous data string,
The receiving device according to claim 1, wherein:
前記受信したデータ列を、並べ替え前のデータ列に並べ直すステップと、
前記並べ直したデータ列を分割し、分割した複数のデータ列の復号化処理を並列して行うステップと、を備えた、
ことを特徴とする受信データのデータ処理方法。Receiving a data sequence generated by rearranging the encoded data;
Reordering the received data string to a data string before sorting;
Dividing the rearranged data sequence, and performing decoding processes of the plurality of divided data sequences in parallel,
A data processing method for received data.
符号化データを並べ替えて生成されたデータ列を受信する手順、
前記受信したデータ列を、並べ替え前のデータ列に並べ直す手順、
前記並べ直したデータ列を分割し、分割した複数のデータ列の復号化処理を並列して行う手順、を実行させるためのプログラム。On the computer,
Receiving a data sequence generated by rearranging the encoded data,
A step of rearranging the received data string into a data string before sorting;
A program for dividing the rearranged data sequence and performing a decoding process of the plurality of divided data sequences in parallel.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002246256A JP2004088388A (en) | 2002-08-27 | 2002-08-27 | Receiver, method for processing received data, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002246256A JP2004088388A (en) | 2002-08-27 | 2002-08-27 | Receiver, method for processing received data, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004088388A true JP2004088388A (en) | 2004-03-18 |
Family
ID=32054194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002246256A Pending JP2004088388A (en) | 2002-08-27 | 2002-08-27 | Receiver, method for processing received data, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004088388A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008015742A1 (en) * | 2006-08-02 | 2008-02-07 | Fujitsu Limited | Receiver apparatus and decoding method thereof |
JP2008053894A (en) * | 2006-08-23 | 2008-03-06 | Pentax Corp | Packet communication method and communication system |
JP2008514084A (en) * | 2004-09-15 | 2008-05-01 | ノキア コーポレイション | Burst transmission in digital broadcasting networks |
JP2008533875A (en) * | 2005-03-11 | 2008-08-21 | クゥアルコム・インコーポレイテッド | Parallel turbo decoder with multiplexed output. |
WO2009025221A1 (en) * | 2007-08-17 | 2009-02-26 | Ntt Docomo, Inc. | Data transmission method, data reception method, mobile terminal, and radio communication system |
-
2002
- 2002-08-27 JP JP2002246256A patent/JP2004088388A/en active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209586B2 (en) | 2004-09-15 | 2012-06-26 | Nokia Corporation | Burst transmission in a digital broadcasting network |
JP2008514084A (en) * | 2004-09-15 | 2008-05-01 | ノキア コーポレイション | Burst transmission in digital broadcasting networks |
JP2008533875A (en) * | 2005-03-11 | 2008-08-21 | クゥアルコム・インコーポレイテッド | Parallel turbo decoder with multiplexed output. |
JPWO2008015742A1 (en) * | 2006-08-02 | 2009-12-17 | 富士通株式会社 | Receiving device and decoding method thereof |
WO2008015742A1 (en) * | 2006-08-02 | 2008-02-07 | Fujitsu Limited | Receiver apparatus and decoding method thereof |
KR101037243B1 (en) * | 2006-08-02 | 2011-05-26 | 후지쯔 가부시끼가이샤 | Receiver apparatus and decoding method thereof |
CN101449466B (en) * | 2006-08-02 | 2012-07-04 | 富士通株式会社 | Receiving device and decoding method thereof |
JP4992900B2 (en) * | 2006-08-02 | 2012-08-08 | 富士通株式会社 | Receiving device and decoding method thereof |
US8464139B2 (en) | 2006-08-02 | 2013-06-11 | Fujitsu Limited | Receiving device and decoding method thereof |
JP2008053894A (en) * | 2006-08-23 | 2008-03-06 | Pentax Corp | Packet communication method and communication system |
WO2009025221A1 (en) * | 2007-08-17 | 2009-02-26 | Ntt Docomo, Inc. | Data transmission method, data reception method, mobile terminal, and radio communication system |
JP2009049665A (en) * | 2007-08-17 | 2009-03-05 | Ntt Docomo Inc | Data transmission method, data receiving method, mobile terminal, and wireless communication system |
US8458549B2 (en) | 2007-08-17 | 2013-06-04 | Ntt Docomo, Inc. | Data transmission method, data reception method, mobile terminal and radio communication system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6418549B1 (en) | Data transmission using arithmetic coding based continuous error detection | |
JP4083240B2 (en) | Turbo coding with gradual data transmission and processing | |
USRE40661E1 (en) | Error prevention method for multimedia data | |
US6694478B1 (en) | Low delay channel codes for correcting bursts of lost packets | |
KR101313782B1 (en) | Method and apparatus for transmitting and receiving a data block in a wireless communication system | |
EP0998072B1 (en) | Forward error correction for ARQ protocol | |
KR100305352B1 (en) | method for adaptive hybrid ARQ using a concatenated FEC | |
EP2348640A1 (en) | Systematic encoding and decoding of chain reaction codes | |
JP4386587B2 (en) | Encoding or decoding method and encoding or decoding apparatus | |
US7464319B2 (en) | Forward error correction with codeword cross-interleaving and key-based packet compression | |
CN101090306A (en) | Code and decode multiple method in service channel | |
JP3545623B2 (en) | Decryption method | |
JP2002043953A (en) | Error correction method and error correction device | |
EP2271018B1 (en) | A decoding method and device for reed-solomon code | |
EP1400023A1 (en) | Method and apparatus for a complementary encoder/decoder | |
US6374382B1 (en) | Short block code for concatenated coding system | |
JP2001197044A (en) | Control method for transmission error | |
JP5248085B2 (en) | Data processing method, data processing apparatus, and program | |
JP2004088388A (en) | Receiver, method for processing received data, and program | |
JP2006094012A (en) | Encoding method, decoding processing method, and communication apparatus | |
JP2004080188A (en) | Receiver, reception processing method for received data and program | |
KR20220134199A (en) | Coding/decoding apparatus and method for correcting frame concatenated error | |
Dholakia et al. | Variable-Redundancy Error Control Schemes | |
JP2004088168A (en) | Transmitter, receiver, transmitting method, receiving method and program | |
Usher et al. | Coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040921 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050201 |