JP2004088388A - Receiver, method for processing received data, and program - Google Patents

Receiver, method for processing received data, and program Download PDF

Info

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
Application number
JP2002246256A
Other languages
Japanese (ja)
Inventor
Kuniharu Ito
伊東 邦晴
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.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2002246256A priority Critical patent/JP2004088388A/en
Publication of JP2004088388A publication Critical patent/JP2004088388A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a receiver, a method for processing received data, and a program capable of efficiently performing data processing. <P>SOLUTION: The gateway 12 of a server communication apparatus 10 encodes a data stream to rearrange the encoded data stream. The server communication apparatus 10 transmits the rearranged data stream to a client communication apparatus 20. The gateway 22 of the client communication apparatus 20 rearranges the received data stream to divide the received data stream into a plurality of data streams. The gateway 22 applies decoding processing to the plurality of divided data streams in parallel. <P>COPYRIGHT: (C)2004,JPO

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 server communication device 10 and a client communication device 20.
[0012]
The server communication device 10 includes a server 11, a gateway (referred to as “GW” in the figure) 12, a modem 13, and an antenna 14.
[0013]
The server 11 is a computer that outputs the data string L1, and includes an MPU (Micro Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like.
[0014]
The gateway 12 is a computer including an MPU, a ROM, a RAM, and the like, and encodes a data string output by the server 11, performs block division, and generates a plurality of packets.
[0015]
The modem 13 includes a modulator (not shown), and generates a modulated signal based on a packet generated by the gateway 12.
The antenna 14 transmits a modulated signal generated by the modem 13 as a radio wave.
[0016]
The client communication device 20 includes a client 21, a gateway 22, a modem 23, and an antenna 24.
The antenna 24 receives a radio wave transmitted by the antenna 14.
[0017]
The modem 23 includes a demodulator (not shown) and extracts packets from radio waves received by the antenna 24.
The gateway 22 is a computer including an MPU, a ROM, a RAM, and the like, and assembles a packet extracted by the modem 23, decodes a data string, and restores an original data string.
[0018]
The client 21 is a computer that performs information processing based on the original data string restored by the gateway 22.
[0019]
Next, the configuration of the gateways 12 and 22 will be described.
As illustrated in FIG. 2, the gateway 12 of the server communication device 10 includes a receiving unit 31, a checksum information adding unit 32, a Turbo encoding unit 33, an interleaver 34, a packet generating unit 35, A part 36.
[0020]
The receiving unit 31 receives the data sequence L1 from the server 11. The receiving unit 31 includes a buffer (not shown) for adjusting the data processing speed, temporarily stores the received data string L1 in the buffer, and outputs the data.
[0021]
The checksum information adding section 32 receives the data string L1 from the receiving section 31, adds the checksum information for detecting a data error to the received data string L1, and generates a data string L2.
[0022]
The turbo encoding unit 33 encodes the data sequence L2 generated by the checksum information adding unit 32 according to a turbo encoding method. The turbo encoding unit 33 divides the data sequence L2 to which the checksum information has been added according to a preset division number. The turbo encoding unit 33 sequentially encodes the data strings L2-1 to L2-n, using the data strings obtained by dividing the data string L2 as data strings L2-1 to L2-n (n ≧ 0).
[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 turbo coding unit 33 includes an interleaver 41, encoders 42 and 43, A multiplexer 44 and a synthesizer 45 are provided.
[0024]
Interleaver 41 rearranges the interleaving order of the information sequence in the supplied data sequence.
[0025]
The encoder 42 encodes the supplied data sequence and generates the parity bit sequence 1.
[0026]
The encoder 43 encodes the information sequence in which the interleaver 41 rearranges the interleaver order, and generates the parity bit string 2 thereof. Note that the configurations of the two encoders 42 and 43 may be the same or different.
[0027]
The multiplexer 44 multiplexes the parity bit strings 1, 2 generated by the encoders 42, 43 simply or by puncturing.
[0028]
The combiner 45 combines the supplied data sequence and the information sequence multiplexed by the multiplexer 44.
[0029]
The turbo encoding unit 33 sequentially encodes the data strings L2-1 to L2-n to generate data strings L3-1 to L3-n, respectively, and converts the data strings L3-1 to L3-n. The data string L3 is generated by the combination.
[0030]
Returning to FIG. 2, the interleaver 34 rearranges the data of the data sequence L3 output from the turbo encoding unit 33 to generate a data sequence L4.
[0031]
The packet generation unit 35 generates a packet, and divides the data sequence L4 generated by the interleaver 34 into a plurality of data sequences. The packet generator 35 adds a header and a footer for indicating a data delimiter to each of the divided data strings, and generates packets P1 to Pm (m ≧ 0).
[0032]
The control unit 36 controls each unit of the gateway 12. Note that the control unit 36 stores in advance the number of divisions n when the turbo encoding unit 33 divides the data string L2.
[0033]
As shown in FIG. 4, the gateway 22 of the client communication device 20 includes a receiving unit 51, a packet assembling unit 52, a deinterleaver 53, a dividing unit 54, turbo decoding units 55-1 to 55-n, It includes a processed data assembling unit 56, a checksum checking unit 57, and a control unit 58.
[0034]
The receiving unit 51 recognizes the headers and footers of the packets P1 to Pm extracted by the modem 23 and receives the packets P1 to Pm. The receiving unit 51 includes a buffer (not shown) for adjusting the data processing speed, and temporarily stores the received packets P1 to Pm in the buffer. The receiving unit 51 outputs the packets P1 to Pm temporarily stored in the buffer to the packet assembling unit 52.
[0035]
The packet assembling section 52 assembles a plurality of packets P1 to Pm output from the receiving section 51 and restores the data string L4.
[0036]
The deinterleaver 53 reorders the data of the data sequence L4 restored by the packet assembling unit 52 to restore the data sequence L3.
[0037]
The division unit 54 divides the data string L3 restored by the deinterleaver 53 into a plurality of data strings L3-1 to L3-n. The dividing unit 54 supplies the plurality of divided data strings L3-1 to L3-n to the turbo decoding units 55-1 to 55-n, respectively.
[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 division unit 54 in parallel.
[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 decoder 61, an interleaver 62, and a decoder 63 as a configuration for decoding the data strings L3-1 to L3-n. And a deinterleaver 64.
[0041]
First, the decoder 61 of the turbo decoding unit 55-1 receives the data sequence L3-1 as a reception sequence, performs a decoding process on the received reception sequence, and decodes a decoding result of each information symbol and its reliability information. Output.
[0042]
The interleaver 62 rearranges the data sequence output from the decoder 63.
The decoder 63 decodes the data sequence rearranged by the interleaver 62, and calculates reliability information using the reliability information decoded by the decoder 61 and the received sequence.
[0043]
The deinterleaver 64 rearranges the data sequence decoded by the decoder 63 into the original data sequence, and sends the rearranged data sequence to the decoder 61.
[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 data assembling section 56 assembles the data strings L2-1 to L2-n generated by the turbo decoding sections 55-1 to 55-n, and restores the data string L2. is there.
The checksum checker 57 performs error detection based on the checksum information included in the data string L2 restored by the processed data assembler 56.
[0046]
The control unit 58 controls each unit in the gateway 22. The control unit 58 stores in advance the number of divisions n when the dividing unit 54 divides the data string L3. This division number n is equal to the division number for storing the control unit 36 of the gateway 12.
[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 server 11 of the server communication device 10 sends the data string L1 to the gateway 12.
[0048]
Each unit of the gateway 12 operates under the control of the control unit 36.
First, the receiving unit 31 of the gateway 12 receives the data string L1 sent by the server 11 and temporarily stores the data string L1 in the buffer, and outputs the data string L1 to the checksum information adding unit 32 while adjusting the data processing speed. .
The checksum information adding unit 32 adds checksum information to the supplied data sequence L1 to generate a data sequence L2, and supplies the data sequence L2 to the turbo encoding unit 33.
[0049]
When the data sequence L2 is supplied from the checksum information adding unit 32, the turbo encoding unit 33 first divides the data of the data sequence L2.
[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 turbo encoding unit 33 divides the data string L2 by the set division number n, and -1 to L2-n.
[0054]
The turbo encoding unit 33 sequentially encodes the data strings L2-1 to L2-n. First, the turbo encoding unit 33 encodes the data sequence L2-1. The encoder 42 generates the parity bit sequence 1 based on the supplied information sequence of the data sequence. The interleaver 41 rearranges the interleaver order of the information sequence of the data sequence L2-1 to generate the parity bit sequence 2. The multiplexer 44 multiplexes the two parity bit strings simply or by thinning them out. Then, the multiplexer 44 sends the multiplexed data sequence to the synthesizer 45.
[0055]
The combiner 45 combines the data sequence L2-1 and the information sequence multiplexed by the multiplexer 44 to generate a data sequence L3-1 of encoded data.
[0056]
The turbo encoding unit 33 similarly encodes the data strings L2-2 to L2-n, and sequentially generates data strings L3-2 to L3-n.
The turbo encoding unit 33 combines the generated data strings L3-1 to L3-n to generate a data string L3.
[0057]
The turbo encoding unit 33 supplies the generated data sequence L3 to the interleaver 34. When the data string L3 is supplied, the interleaver 34 rearranges the data string L3 for each preset data size to generate a data string L4. The interleaver 34 supplies the rearranged data string L4 to the packet generator 35.
[0058]
The packet generator 35 divides the supplied data string L4 into a plurality of data strings, and adds a header and a footer to each of the divided data strings to generate a plurality of packets P1 to Pm.
[0059]
The modem 13 generates a modulated signal based on the packets P1 to Pm generated by the packet generator 35. The antenna 14 transmits the modulated signal generated by the modem 13 as a radio wave.
[0060]
In the client communication device 20, the antenna 24 receives the radio wave transmitted from the antenna 14. The modem 23 extracts the packets P1 to Pm from the received radio wave. The modem 23 supplies the extracted packets P1 to Pm to the gateway 22.
[0061]
When the packets P1 to Pm are supplied to the gateway 22, each unit of the gateway 22 operates under the control of the control unit 58.
First, the receiving unit 51 recognizes the header and the footer of each of the packets P1 to Pm, and receives the packets P1 to Pm from the modem 23. The receiving unit 51 temporarily stores the received packets P1 to Pm in a buffer, and then supplies the packets to the packet assembling unit 52.
[0062]
The packet assembling section 52 assembles the supplied packets P1 to Pm to restore the data string L4, and supplies the restored data string L4 to the deinterleaver 53.
[0063]
The deinterleaver 53 restores the data string L3 by rearranging the supplied data of the data string L4, and supplies the restored data string L3 to the dividing unit 54. The dividing unit 54 divides the supplied data string L3 into a plurality of data strings L3-1 to L3-n. The number of divisions is the number of divisions when the turbo encoding unit 33 divides the data string L2 so that the encoded data is correctly decoded. The dividing unit 54 supplies the plurality of divided data strings L3-1 to L3-n to the turbo decoding units 55-1 to 55-n, respectively.
[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 decoder 61 of the turbo decoding unit 55-1 receives the supplied data sequence L3-1 as a reception sequence, performs a decoding process, and outputs a decoding result of each information symbol and its reliability information.
[0066]
The interleaver 62 rearranges the decoding result of each information symbol output from the decoder 61 and the data string of its reliability information.
The decoder 63 performs a decoding process using the reliability information from the decoder 61 and the received sequence, and calculates the reliability information.
[0067]
The deinterleaver 64 rearranges the data sequence decoded by the decoder 63 and outputs the rearranged data sequence to the decoder 61.
[0068]
The decoder 61 executes the decoding process of the reliability information from the decoder 63 and the received sequence again.
[0069]
The decoder 61, the interleaver 62, the decoder 63, and the deinterleaver 64 repeat such processing several times to several tens of times. By repeating the process, the error is corrected and the reliability is increased. Thereafter, the decoder 63 makes a final determination of the reliability and, when determining that the reliability is equal to or higher than a preset level, generates a decoded data string L2-1.
[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 control unit 58 requests the server communication device 10 to retransmit the packet including the erroneous data. When this packet is retransmitted and the receiving unit 51 receives this packet, a decoding process is performed based on the correct data included in the received packet.
[0072]
The turbo decoding units 55-1 to 55-n output the generated data strings L2-1 to L2-n to the processed data assembling unit 56, respectively. The processed data assembling unit 56 assembles the data strings L2-1 to L2-n and restores the data string L2. The processed data assembling unit 56 supplies the restored data string L2 to the checksum checking unit 57.
[0073]
The checksum checking unit 57 checks whether there is an error in the data string L1 excluding the checksum information based on the checksum information added to the supplied data string L2. If there is an error, the control unit 58 requests the server communication device 10 to retransmit the packets P1 to Pm again. When the packets P1 to Pm are retransmitted, the gateway 22 performs the restoring process of the data string L1 again.
[0074]
If there is no error, the checksum checker 57 sends the data string L1 to the client 21. In this way, the client 21 receives the data string L1 transmitted by the server 11.
[0075]
Next, the transmission process of the server communication device 10 and the reception process of the client communication device 20 will be further described with reference to FIGS.
[0076]
The receiving unit 31 outputs the temporarily stored data string L1 to the checksum information adding unit 32, as shown in FIG.
[0077]
The checksum information adding unit 32 adds checksum information to the data string L1 to generate a data string L2 as shown in FIG.
[0078]
The turbo encoding unit 33 divides the data sequence L2 as shown in FIG.
The number of divisions is four. The number of divisions 4 is a value set based on the error correction success rate and efficiency as described above, and four data strings L2-1 to L2-4 are generated.
[0079]
The turbo encoding unit 33 encodes the data strings L2-1 to L2-4, respectively, and generates data strings L3-1 to L3-4 as shown in FIG. 6D as encoded data.
[0080]
The turbo encoding unit 33 combines the generated data strings L3-1 to L3-4 to generate a data string L3 as shown in FIG.
[0081]
The interleaver 34 rearranges the data of the data string L3. The interleaver 34 sets the size of the data to be rearranged at the time of rearrangement. Burst noise during data transmission is dispersed as the size of the data to be rearranged becomes smaller. Also, if the number of errors generated by noise is the same, the number of errors with respect to the number of error-free data becomes smaller when the burst noise is dispersed, so that the error correction success rate increases. That is, transmitted data is less susceptible to burst noise. On the other hand, if the size of the data to be rearranged is too small, the number of data to be rearranged increases, and it takes time to perform processing such as interleaving and deinterleaving. Also, the number of error-free data with respect to the number of errors decreases, and the error correction success rate also decreases.
[0082]
Therefore, the interleaver 34 sets the size of data to be rearranged to 512 Kbytes so as not to be affected by burst noise and to process data efficiently. Assuming that the length of the data string L3 is 8 Kbytes and the length of the data to be rearranged is 512 Kbytes, the interleaver 34 rearranges 16 data blocks as shown in FIG.
[0083]
The interleaver 34 rearranges the data string L3 in units of 512 Kbytes to generate a data string L4 as shown in FIG.
[0084]
The packet generation unit 35 divides the data sequence L4 rearranged by the interleaver 34 into, for example, four. Then, the packet generator 35 adds a header and a footer to each data string, and generates packets P1 to P4 as shown in FIG. Here, the number of packets is 4, and the number of divisions in encoding and decoding is 4.
However, the number of packets and the number of divisions at the time of encoding and decoding do not always match.
[0085]
The server communication device 10 transmits the generated packets P1 to P4. The client communication device 20 receives the packets P1 to P4. As shown in FIG. 7A, during data transmission, errors may occur in the data of the packets P1 to P4 due to noise or the like.
[0086]
The receiving unit 51 of the gateway 12 temporarily stores the packets P1 to P4 in a buffer and then outputs the packets P1 to P4 to the packet assembling unit 52.
[0087]
The packet assembling section 52 assembles the plurality of packets P1 to P4 and restores a data string L4 as shown in FIG.
[0088]
The deinterleaver 53 rearranges the data of the data string L4. The size of the data to be rearranged is 512 Kbytes, which is the same as the size of the data rearranged by the interleaver 34 of the gateway 12. The deinterleaver 53 rearranges the data in the data string L4 to restore the data string L3 as shown in FIG.
[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 unit 54 divides this data string L3 into four data strings L3-1 to L3-4 as shown in FIG. 7D. The division unit 54 supplies the divided data strings L3-1 to L3-4 to the turbo decoding units 55-1 to 55-4, respectively.
[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 control unit 58 requests the server communication device 10 to retransmit the packet P2 including the data 1-2. That is, the control unit 58 may request that only the packet P2 be retransmitted. The gateway 12 of the server communication device 10 retransmits the packet P2.
[0093]
When the modem 23 of the gateway 22 receives the packet P2, the control unit 58 extracts the data 1-2 from the packet P2 and supplies the extracted data 1-2 to the turbo decoding unit 55-1. If there is no error in retransmitted data 1-2, turbo decoding section 55-1 decodes data sequence L3-1 using data 1-2.
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 data assembling section 56 assembles the data strings L2-1 to L2-4 decoded by the turbo decoding sections 55-1 to 55-4, respectively, and restores the data string L2.
[0095]
The checksum checker 57 checks whether there is an error in the data string L1 based on the checksum information added to the data string L2, and if there is no error, the data string L1 shown in FIG. L1 is sent to the client 21.
[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 server communication device 10 side, the gateway 12 rearranges the data sequence of the encoded data, and on the client communication device 20 side, the dividing unit 54 divides the data sequence. Then, the turbo decoders 55-1 to 55-n perform the decoding processing of each of the divided data strings in parallel. Therefore, the efficiency of data processing is improved and the processing time can be reduced as compared with the case where a series of data strings are decoded without division.
[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 turbo encoding unit 33. However, the present invention is not limited to this. Like the turbo decoding units 55-1 to 55-n, a plurality of turbo encoding units 33 are provided as encoding means, and the plurality of turbo encoding units 33 perform encoding processing. It can also be configured to perform in parallel. In this way, data processing can be performed efficiently even in the gateway 12 as the transmitting device.
[0101]
Further, in the present embodiment, the number of divisions n when the turbo encoding unit 33 of the gateway 12 divides the data string L2 and the number of divisions n when the dividing unit 54 of the gateway 22 divides the data string L3 are set in advance. I did it.
[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 control unit 36 or the control unit 58 performs the error correction success rate and the retransmission based on the decoding result of the data strings L2-1 to L2-n decoded by the turbo decoding units 55-1 to 55-n. And the decoding processing time including Then, the control unit 36 or the control unit 58 sets the number of divisions n based on the obtained error correction success rate and the decoding processing time.
[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.
JP2002246256A 2002-08-27 2002-08-27 Receiver, method for processing received data, and program Pending JP2004088388A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (13)

* Cited by examiner, † Cited by third party
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