(57)【特許請求の範囲】
【請求項１】
送信される符号化データに含まれ得る既知符号部分であって、既知データに対応する前記既知符号部分の正常データを記憶する第１の記憶部と、
送信された前記符号化データを受信する受信部と、
該受信部が受信した前記符号化データに対して、前記既知符号部分を検出する既知符号部分検出部と、
該既知符号部分検出部が検出した前記既知符号部分の少なくとも一部を、受信側で、前記第１の記憶部に記憶された前記正常データで置き換える第１の置換部と、
前記既知符号部分検出部による検出の結果、前記既知符号部分が無いときには前記受信部が受信した符号化データを最尤復号し、前記既知符号部分があるときには前記第１の置換部により置換えがなされた前記符号化データを最尤復号する復号部とを備えるデータ処理装置であって、
前記符号化データは、ターボ符号化されたものであり、
前記復号部は、２つの復号器と中間メモリを有し、該２つの復号器を前後に実行させることを繰り返すものであり、
前記中間メモリは、前記２つの復号器のそれぞれの実行結果である中間データを格納するものであり、
前記２つの復号器は、片方の実行時に、他方が直前に得られた前記中間データを前記中間メモリから読み出して使用するものであり、
前記中間データに含まれうる、前記既知データに対応する部分の正常データを記憶する第２の記憶部と、
前記既知符号部分検出部により前記既知符号部分が検出されたときに、当該符号化データの前記中間データに対して、該中間データが前記中間メモリから読み出される前に、前記既知データに対応する部分の少なくとも一部を、前記第２の記憶部に記憶された正常データで置き換える第２の置換部とをさらに備えることを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理技術、具体的には、符号化データを復号する技術に関する。
【背景技術】
【０００２】
デジタル通信システムにおいて、送受信されるデータの信頼性を確保するために、誤り訂正符号や誤り検出符号が用いられる。図１６は、誤り訂正符号と誤り検出符号が用いられたデジタル通信システムを概略化した模式図である。
【０００３】
図１６に示すように、送信側は、相手に送信したいデータ（送信データ）に対して、誤り検出符号化と誤り訂正符号化を施した後に変調し、変調された符号化データを得て通信路に出力する。このデータは、通信路において、誤りの原因となるノイズが混入する可能性があり。
【０００４】
受信側は、受信したデータを復調して符号化データを得、この符号化データを復号する。受信側は、復号に際して誤り訂正を行い、復号により得られた復号データに対して誤り検出をする。通常、誤り検出の結果、誤り訂正が不完全な場合には、受信側は送信側にデータの再送を要求する。
【０００５】
誤りが頻繁に検出されると、再送も多く発生し、通信システムの効率が低下する。特に移動通信システムでは、フェージングなどの影響により電波強度が激しく変動してノイズが混入しやすいため、この問題が顕著であり、受信側の高い誤り訂正能力が要求される。
【０００６】
特許文献１には、誤り訂正能力を高める手法が開示されている。図１７と図１８は、特許文献１における図１と図２にそれぞれ対応し、図１６は、特許文献１の手法を適用した受信装置を示し、図１７は該受信装置による処理の流れを示すフローチャートである。
【０００７】
図１６に示す受信装置において、アンテナ部１１は、ネットワークを介してフレームを受信し、復調部１２は、受信したフレームを復調する（Ｓ１１）。誤り訂正部１３は、復調後のフレームに対して誤り訂正処理を行う。誤り訂正部１３では、たとえばリードソロモン復号、さらにビタビ復号が行われる。
【０００８】
誤り検出部１４は、誤り訂正処理後のフレームに含まれる誤り検出符号に基づき誤り検出処理を行う（Ｓ１２、Ｓ１３）。誤り検出符号は、たとえばＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）である。
【０００９】
誤り修正部１５は、誤り検出部１４において誤りが検出されたフレームに対して誤り修正処理を行う（Ｓ１４：Ｙｅｓ、Ｓ１５：Ｙｅｓ、Ｓ１６）。この誤り修正処理は、予め取得した既知の情報を用いて、フレームの一部を置き換えるものである。例えば、誤りが検出されたフレームに含まれる送信機アドレス等を、予め取得した同一のネットワーク内の端末アドレスに置き換える。
【００１０】
その後、誤り検出部１４と誤り修正部１５は、フレームに誤りが無くなるまで、ステップＳ１３〜ステップＳ１６の処理を複数回繰り返す（Ｓ１３、Ｓ１４：Ｙｅｓ、Ｓ１５、Ｓ１６、Ｓ１３、・・・）。また、誤りがまだあるものの、所定の終了条件を満たした場合には（Ｓ１５：Ｎｏ）、再送制御部１６は再送制御を行う（Ｓ１７）。再送制御にあたり、たとえば再送制御部１６は、受信したフレームに対してＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）フレームを返さないことにより、送信側にフレームの再送を行わせる。
【００１１】
このように、特許文献１に開示された手法は、誤りが検出されたフレームの一部のフィールドを、正常なデータである既知の情報で置き換え、置き換え後のフレームに対して再度誤り検出処理を行うことを繰り返し行うことにより誤り訂正能力を高め、その結果、誤りの検出頻度ないし再送回数が抑制される。
【特許文献１】特開２００６−３４５０８０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで、誤り訂正符号の代表手法として畳込符号手法が知られている。この手法は、誤り訂正の能力を向上させるために、新しい符号の作成に、拘束長Ｋに等しい個数の過去の符号を使用する。そのため、畳込符号化されたデータにおける符号は互いに関係し、復号時には、ノイズが混入した部分の符号は、他の符号にも影響を及ぼすことになる。
【００１３】
特許文献１の手法は、復号後のデータに対して、一部のデータを正常データで置き換えている。この一部のデータに誤りがある場合に、該データにおける誤りを修正することができるが、復号するときにこの部分のデータが用いられた他のデータにおける誤りを修正することができず、誤り訂正能力の向上効果が限られている。
【課題を解決するための手段】
【００１４】
本発明の一つの態様は、データ処理方法である。このデータ処理方法は、符号化データに対して、既知データに対応する部分の少なくとも一部を正常データで置き換え、置換後の符号化データに対して復号を行う。
【００１５】
本発明の別の態様は、データ処理装置である。このデータ処理装置は、第１の記憶部と、受信部と、既知符号部分検出部と、第１の置換部と、復号部を備える。
第１の記憶部は、符号化データに含まれ得る既知符号部分の正常データを記憶する。この既知符号部分は、符号化データにおいて、既知データに対応する部分である。
受信部は、符号化データを受信し、既知符号部分検出部は、該受信部が受信した符号化データに対して、既知符号部分を検出する。
【００１６】
第１の置換部は、既知符号部分検出部が検出した既知符号部分の少なくとも一部を、第１の記憶部に記憶された正常データで置き換える。
【００１７】
復号部は、既知符号部分検出部による検出の結果、既知符号部分が無いときには受信部が受信した符号化データを復号し、既知符号部分があるときには第１の置換部により置換えがなされた符号化データを復号する。
【００１８】
本発明のさらなる別の態様は、プログラムである。このプログラムは、符号化データに対して、既知データに対応する部分を検出するステップと、該符号化データに対する復号が行われる前に、検出された既知データに対応する部分の少なくとも一部を正常データで置き換えるステップをコンピュータに実行せしめる。
【発明の効果】
【００１９】
本発明にかかる技術によれば、誤り訂正符号化がなされたデータを復号する際に、誤り訂正能力をより高めることができる。
【発明を実施するための最良の形態】
【００２０】
本発明の実施の形態を説明する前に、まず、本発明の原理について説明する。
昨今のデジタル通信システムの多くは、送信側が、送信したいデータをパケット化して符号化する。説明上の便宜のため、以下、このデータを「ユーザデータ」といい、ユーザデータをパケット化したものを「ユーザデータパケット」という。
【００２１】
パケットのサイズは、規格によって異なるが、通常、複数個の異なるパケットサイズが定められており、パケット化する際に、ユーザデータのサイズに最も近いサイズのパケットが選択される。
【００２２】
図１〜図３は、誤り訂正符号化前のユーザデータパケットの構成例を示す。図１に示すユーザデータパケットは、パケットサイズが「Ｘ＋Ｙ」ビットであり、Ｘビットのユーザデータと、ＹビットのＣＲＣから構成される。このユーザデータパケットは、ユーザデータとＣＲＣのビット数の和がパケットサイズに等しい場合の例である。
【００２３】
ユーザデータのビット数がＸより小さく、かつユーザデータとＣＲＣのビット数の和に最も近いパケットサイズが「Ｘ＋Ｙ」ビットである場合には、「Ｘ＋Ｙ」ビットのパケットが選択されるが、足りないビットを補うために、パディングビットやフィラービットなどの定められたデータが挿入される。パディングビットは、ユーザデータとＣＲＣの間に挿入されるものであり、フィラービットは、ユーザデータの前に挿入されるものである。
【００２４】
図２は、パディングビットを用いた場合のユーザデータパケットの例を示す。パケットサイズが「Ｘ＋Ｙ」ビットであり、ユーザデータのビット数が「Ｘ−Ｚ」ビットであるため、ユーザデータとＣＲＣの間にＺビットのパディングビットが挿入されている。
【００２５】
図３は、フィラービットを用いた場合のユーザデータパケットの例を示す。パケットサイズが「Ｘ＋Ｙ」ビットであり、ユーザデータのビット数が「Ｘ−Ｆ」であるため、ユーザデータの前にＦビットのフィラービットが挿入されている。また、パディングビットとフィラービットの配列パターンは、全てが０または全てが１である場合や、０と１を織り交ぜた場合があり、
【００２６】
ビット数の不足を補うためにパディングビットが用いられるかフィラービットが用いられるか、および挿入されるビットの配列パターンは、規格によって定められている。そのため、受信側にとって、挿入されるビットは予め知られたものである。
【００２７】
通常、ユーザデータパケットに先行して、制御データパケットが送信される。制御データパケットは、制御データをパケット化したものであり、制御データには、次に送信されるユーザデータパケットのパケットサイズ、ユーザデータのビット数などの情報が含まれている。受信側は、制御データパケットに含まれる制御データに基づいて、ユーザデータパケットのどの部分が挿入ビットであるかを知ることができる。
【００２８】
受信側が受信したユーザデータパケットが、図１〜図３に示すようなユーザデータパケットを誤り訂正符号化したものであるため、挿入されたビットの部分は、挿入されたビットに対応する符号になっている。この部分は、挿入されるビットの配列パターンに応じた規則性を有する。ここで具体例を用いて説明する。
【００２９】
図４は、パディングビットがすべて「０」である図２に示すユーザデータパケットパケットを畳込符号化した場合のトレリスである。なお、畳込符号が再帰的ではなく、拘束長がＫであるとする。
【００３０】
トレリス上において、初期状態（以下状態０という）から遷移が開始し、「Ｋ−１」時点分進んだところで全状態に遷移が至る。図４は、全状態に遷移が至った時点から示している。図示のように、全状態に遷移が至った時点から「Ｘ−Ｚ」時点目まで、トレリス上において、全状態の遷移が続く。「Ｘ−Ｚ＋１」時点目からＺ時点分のパディングビット「０」が挿入されるため、「Ｘ−Ｚ＋Ｋ−１」時点目で、トレリスは状態０に戻る。その後、パディングビットの挿入が終了するまですなわちＸ時点目まで、トレリス上において、状態０上の遷移を続ける。
【００３１】
「Ｘ＋１」時点目以降は、パディングビットの後のＹビットのＣＲＣが順次入力されるため、トレリス上において、また状態０から遷移が開始し、「Ｘ＋Ｋ」時点で全状態が遷移に至る。その後、「Ｘ＋Ｙ」時点まですなわちＣＲＣが終了するまで全状態の遷移が続く。
【００３２】
「Ｘ＋Ｙ＋１」時点に、パケットのデータの最後を示すテイルビットの「０」が入力されるため、その結果、「Ｘ＋Ｙ＋Ｋ−１」時点において、トレリスは、状態０に戻る。
【００３３】
このように、パディングビットの入力に応じてトレリスが規則的に遷移するので、畳込符号化されたユーザデータパケットのうちの、パディングビットに対応する符号の一部を予め知ることができる。図４の例では、「Ｘ−Ｚ＋１」時点目から「Ｘ−Ｚ＋Ｋ−１」時点目までに、トレリス上の遷移が「Ｘ−Ｚ」時点以前に入力されるデータ（ユーザデータ）に影響されるため、符号語を特定できないが、「Ｘ−Ｚ＋Ｋ」時点目からＸ時点目までの符号語を特定することができる。
【００３４】
ここでゼロパディングを例にしているが、「１」によるパディングや、「０」と「１」を織り交ぜたパディングの場合にも、挿入されるビットに対応する部分の一部の符号語を予め知ることができる。なお、フィラービットが用いられる場合には、先頭からユーザデータの入力開始まで「０」や「１」など予め知られているビットが挿入されるので、先頭から、フィラービットの入力が終了までの部分に対応する符号語を予め知ることができる。
【００３５】
上記の例では、畳込符号が再帰的ではないとしている。畳込符号が再帰的であるときには、パディングビットが用いられる場合にはそれに対応する符号語を知ることができないが、フィラービットが用いられる場合にはそれに対応する符号語を知ることができる。
【００３６】
ここで、さらにターボ符号の場合について説明する。ターボ符号は、送信可能なデータ伝送速度の限界である「シャノン限界」に迫る符号化/復号化方式として、近年注目されている。ターボ符号では２つある畳込符号のうち、２つめの畳込符号の符号化の前に一度メモリにデータを保管する。その後、異なる順でデータを取り出すインタリーバによって，データの順番を攪拌する。復号するときには，２つの復号器を使い、該２つの復号器の結果を互いにフィードバックしながら繰り返すことによって復号を行う。
【００３７】
図５は、フィラービットが用いられた場合にターボ符号化により得られた要素符号を示す。図中陰影部分は、フィラービット、またはフィラービットに対応する符号を意味する。
【００３８】
図５に示すように、ユーザデータはパケット化によりフィラービットが挿入され、ユーザデータパケットとなる。ユーザデータパケットに対して符号化率が１／３のターボ符号化を行った結果、Ｓｙｓｔｅｍａｔｉｃ、１ｓｔ  Ｐａｒｉｔｙ、２ｎｄ  Ｐａｒｉｔｙの３つのパケットが得られる。Ｓｙｓｔｅｍａｔｉｃと１ｓｔ  Ｐａｒｉｔｙでは、フィラービットに対応する符号は先頭に位置し、２ｎｄ  Ｐａｒｉｔｙでは、インタリーブの作用により、フィラービットに対応する符号は、パケット内に分散されている。ここで、Ｓｙｓｔｅｍａｔｉｃと１ｓｔ  Ｐａｒｉｔｙを要素符号１、インタリーブ後のＳｙｓｔｅｍａｔｉｃと２ｎｄ  Ｐａｒｉｔｙを要素符号２といい、それぞれの要素符号におけるトレリス上の遷移を説明する。
【００３９】
図６は、要素符号１におけるトレリス上の遷移を示す。なお、拘束長がＫであり、フィラービットのビット数がＦビットであるとする。図示のように、トレリス上において、初期状態（状態０）からＦ時点まで状態０を遷移する。「Ｆ＋１」時点以降はユーザデータが入力されるため、「Ｆ＋Ｋ−１」時点で全状態が遷移に至り、その後、ユーザデータの入力が終了する時点（「Ｆ＋Ｋ−１＋Ｄ」時点）まで全状態の遷移が続き、終結処理により、「Ｆ＋Ｋ−１＋Ｄ＋Ｋ−１」時点で状態０に戻る。
【００４０】
図７は、要素符号２におけるトレリス上の遷移を示す。図中「＊」が、フィラービットに対応する部分を示す。図示のように、要素符号２の場合、フィラービットに対応する部分は、トレリスの全時点に亘って分散される。
【００４１】
すなわち、この例の場合、要素符号２では、フィラービットに対応する部分は分散されるため、それらに対応する符号語を知ることができない。しかし、要素符号１では、トレリスは、先頭からＦ時点まで状態０上を遷移するため、この期間における符号語を予め知ることができる。
【００４２】
以上の説明から分かるように、誤り訂正符号化されたユーザデータパケットにおいて、パディングビットやフィラービットなど予め知られているデータに対して、それらに対応する符号語の少なくとも一部も、予め知ることができる。以下の説明において、パディングビットなどのような予め知られているデータを「既知データ」という。
【００４３】
本願発明者は、研究模索した結果、上述したことに着目して、誤り訂正符号化されたデータを復号する際の誤り訂正能力をより高める技術を確立した。図８を参照して説明する。
【００４４】
図８に示すように、ユーザデータパケットには、パディングビットなどの既知データが含まれており、誤り訂正符号化された後のユーザデータパケットには、既知データに対応する符号が含まれている。前述したように、既知データに対応する符号の少なくとも一部は、予め知られている。このような符号化されたユーザデータパケットは通信路を介して受信側に伝送される。
【００４５】
本願発明者が確立した技術は、受信側において、受信したパケットを復号する前に、既知データに対応する符号部分（既知符号部分）のうちの、予め知られている部分を置換データで置き換える。この置換データは、置換えがなされる部分の正常データ、すなわちこの部分の、送信側において符号化後のデータに該当するソフトビットである。ソフトビットとは例えば、符号化後のデータが０であれば＋１２７、１であれば−１２８に相当する軟値である。
【００４６】
こうすることによって、通信路において、置換えがなされる部分にノイズが付加されたとしても、正常データに置き換えられる。また、この置換えは、復号前に行われるので、復号時にこの部分のデータが利用される他のデータにも、ノイズの影響が波及しないことになる。
【００４７】
結果として、誤り訂正能力を高め、通信システム全体の効率向上を図ることができる。
【００４８】
以上の説明を踏まえ、本発明の技術にかかる実施の形態について説明する。
＜第１の実施の形態＞
図９は、本発明の第１の実施の形態にかかる受信装置１００を示す。この受信装置１００は、ネットワーク例えば無線通信網を介してデータを受信し、受信データを復号するものである。例として、本実施の形態において、受信データは、送信側においてユーザデータに対して誤り検出符号化と誤り訂正符号化し、さらに変調したものであり、誤り訂正符号としては畳込符号が用いられている。また、受信装置１００は、復号に際してビタビ復号の手法を用いる。
【００４９】
図９に示すように、受信装置１００は、アンテナ１１０と、復調部１１２と、制御データ復号部１１４と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１６と、ユーザデータ復号部１２０を備える。
【００５０】
アンテナ１１０は、無線通信網を介してデータを受信し、受信データを復調部１１２に出力する。
復調部１１２は、受信データを復調し、復調されたデータが制御データパケットである場合には制御データ復号部１１４に出力し、復調されたデータがユーザデータパケットである場合にはユーザデータ復号部１２０に出力する。
【００５１】
復調部１１２からの制御データパケットが符号化されたものであり、制御データ復号部１１４は、それを復号してＣＰＵ１１６に出力する。
ＣＰＵ１１６は、制御データ復号部１１４からの制御データに基づいて、ユーザデータパケットの復号に必要な参照情報を生成してユーザデータ復号部１２０に出力する。この参照情報は、ユーザデータパケットのパケットサイズ、ユーザデータのビット数などの情報が含まれている。
【００５２】
ユーザデータ復号部１２０は、コントローラ１３０と、入力メモリ１４０と、ビタビデコーダ１５０と、出力メモリ１７０と、誤り検出部１８０を備える。
【００５３】
コントローラ１３０は、たとえばＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）であり、ユーザデータ復号部１２０の他の構成要素を制御する。入力メモリ１４０は、復調部１１２からのユーザデータパケットを格納し、ビタビデコーダ１５０に供給する。ビタビデコーダ１５０は、入力メモリ１４０からユーザデータパケットを読み出して復号し、復号されたユーザデータすなわち復号データを出力メモリ１７０に出力する。出力メモリ１７０は、ビタビデコーダ１５０からの復号データを格納する。出力メモリ１７０に格納された復号データは、誤り検出部１８０により誤り検出がなされ、のちに出力される。
【００５４】
誤り検出部１８０は、出力メモリ１７０に格納された復号データに対して誤り検出を行い、検出の結果をコントローラ１３０に出力する。
【００５５】
図１０を参照して、ユーザデータ復号部１２０を詳細に説明する。
図１０に示すように、ユーザデータ復号部１２０におけるビタビデコーダ１５０は、第１の置換部１５２と、監視部１５４と、ＡＣＳ演算部１５６と、バッファ１５８と、内部メモリ１６０と、トレースバック部１６２と、第２の置換部１６４と、監視部１６６を有する。
【００５６】
入力メモリ１４０は、復調部１１２からの、符号化されたユーザデータパケットを格納すると共に、置換データ１４２も格納している。この置換データ１４２は、受信装置１００が準拠した規格により定められた、ユーザデータパケットにおけるパディングビットなどの既知データに対応する符号である。
【００５７】
出力メモリ１７０にも、置換データ１７２が格納されている。この置換データ１７２は、入力メモリ１４０に格納された置換データ１４２と異なり、既知データそのものである。
【００５８】
コントローラ１３０は、ビタビデコーダ１５０と誤り検出部１８０に起動制御信号を出力し起動させる制御を行う。また、コントローラ１３０は、ＣＰＵ１１６からの参照情報に基づいて置換パラメータを取得し、ビタビデコーダ１５０のバッファ１５８に出力する。コントローラ１３０からの置換パラメータは、第１の置換部１５２用のものと、第２の置換部１６４が用いるものである。
【００５９】
第１の置換部１５２用の置換パラメータは、入力メモリ１４０に格納された、復調部１１２からの符号化されたユーザデータパケットに対して置換えがなされる部分の開始アドレスとサイズである。コントローラ１３０は、ＣＰＵ１１６からの参照情報に基づいて、既知データに対応する符号の位置とビット数を算出すると共に、既知データに対応する符号のうちの、置換えがなされる部分の開始アドレスとサイズを取得してバッファ１５８に出力する。すなわち、コントローラ１３０は、請求項でいう既知符号部分検出部を兼ねる。以下、置換えがなされる部分を置換対象という。
【００６０】
第２の置換部１６４用の置換パラメータは、後に出力メモリ１７０に格納される復号データ（復号されたユーザデータパケット）に対して置換がなされる部分の開始アドレスとサイズである。コントローラ１３０は、ＣＰＵ１１６からの参照情報に基づいて、復号後のユーザデータパケットにおける既知データの位置とビット数を算出して、バッファ１５８に出力する。
【００６１】
ビタビデコーダ１５０において、ＡＣＳ演算部１５６は、ＡＣＳ（Ａｄｄ  Ｃｏｍｐａｒｅ  Ｓｅｌｅｃｔ：加算、比較、選択）処理を繰り返し、演算結果を内部メモリ１６０に格納する。トレースバック部１６２は、ビタビ復号の最後のステップであるトレースバック処理を行って復号データを得る。
【００６２】
監視部１５４は、ＡＣＳ演算部１５６がＡＣＳ演算中に入力メモリ１４０からデータを読み出す際のアドレスを監視し、このアドレスが、第１の置換部１５２用の置換パラメータが示す置換対象のアドレスではなければ、第１の置換部１５２を介して、当該データを読み出してＡＣＳ演算部１５６に供する。一方、上記アドレスが置換対象のアドレスであれば、監視部１５４は、第１の置換部１５２に置換えを指示する。
【００６３】
第１の置換部１５２は、監視部１５４から置換えが指示されると、当該アドレスのデータを、入力メモリ１４０に格納された置換データ１４２で置き換えてＡＣＳ演算部１５６に出力する。
【００６４】
監視部１６６は、トレースバック部１６２が復号データを出力メモリ１７０に書き込む際のアドレスを監視し、このアドレスが、第２の置換部１６４用の置換パラメータが示す置換対象のアドレスではなければ、第２の置換部１６４を介して、トレースバック部１６２が出力する復号データをそのまま出力メモリ１７０に書き込む。一方、上記アドレスが置換対象のアドレスであれば、監視部１６６は、第２の置換部１６４に置換えを指示する。
【００６５】
第２の置換部１６４は、監視部１６６から置換えが指示されると、トレースバック部１６２からの復号データを、出力メモリ１７０に格納された置換データ１７２で置き換えて出力メモリ１７０に出力する。
【００６６】
誤り検出部１８０は、出力メモリ１７０に格納された復号データ（第２の置換部１６４により置換えがなされたデータを含む）に対して誤り検出を行い、検出結果をコントローラ１３０に出力する。
【００６７】
コントローラ１３０は、誤り検出部１８０からの検出結果に基づいて誤り制御を行う。誤り制御は、たとえば、誤りが検出された場合にＡＣＫを送信側に送り返さないように当該パケットを再送させるなどの処理が含まれる。
【００６８】
このように、本第１の実施の形態にかかる受信装置１００は、ユーザデータパケットを復号する前に既知データに対応する符号を正常データで置き換えている。こうすることにより、通信路において、置換対象部分にノイズが混入したとしても、正常データに置き換えられる。また、この置換えは、復号前に行われるので、復号時にこの部分が利用される他のデータにも、ノイズの影響が波及しないことになる。結果として、高い誤り訂正能力を得ることができる。
【００６９】
さらに、既知データに対応する符号の復号時に、他の部分の符号が利用される。そのため、他の部分にノイズが混入した場合には、復号データにおける既知データの部分も正常なデータではない恐れがある。受信装置１００は、復号後のデータに対しても既知データの部分を正常データに置き換えているので、復号データにおける誤りをさらに軽減し、誤り訂正能力をより高めることができる。
【００７０】
また、受信装置１００では、ビタビデコーダ１５０に設けられたハードウェア構成の２つの置換部により置換えがなされるので、処理の高速化を図ることができる。
＜第２の実施の形態＞
【００７１】
図１１は、本発明の第２の実施の形態として、図１に示す受信装置１００において、ユーザデータ復号部１２０の代わりに適用可能なユーザデータ復号部２２０を示す。図１１において、図１０に示すユーザデータ復号部１２０と同様な構成要素については同じ符号を付与し、それらの説明を省略する。
【００７２】
図１１に示すユーザデータ復号部２２０において、コントローラ２３０は、図１０に示すユーザデータ復号部１２０のコントローラ１３０の機能以外に、第１の置換部１５２と、監視部１５４と、第２の置換部１６４と、監視部１６６の機能を備える。そのため、ビタビデコーダ２５０には、これらの機能を担う構成要素が無く、ＡＣＳ演算部１５６と、内部メモリ１６０と、トレースバック部１６２から構成される。
【００７３】
コントローラ２３０は、参照情報に基づいて、入力メモリ１４０に格納されたユーザデータパケットにおける置換対象部分のアドレスとサイズを算出し、当該部分を置換データ１４２で上書きすることによって置き換える。置換後、コントローラ２３０は、ビタビデコーダ２５０に起動制御信号を出力して起動させる。
【００７４】
また、トレースバック部１６２から出力メモリ１７０に復号データが書き込まれた際に、コントローラ２３０は、復号データにおける置換対象部分のデータを置換データ１７２で上書きする。そして、上書きの後に、コントローラ２３０は、誤り検出部１８０に起動制御信号を出力し起動させる。
【００７５】
すなわち、本実施の形態において、図１０に示すビタビデコーダ１５０における第１の置換部１５２と、監視部１５４と、第２の置換部１６４と、監視部１６６の処理は、コントローラ２３０に実装されたプログラムにより行われる。そのため、図１０に示すユーザデータ復号部１２０と同様に高い誤り訂正能力を得ることができると共に、第１の置換部１５２と、監視部１５４と、第２の置換部１６４と、監視部１６６の回路の分、回路規模を削減することができる。
【００７６】
さらに、入力メモリ１４０に格納されたユーザデータパケットに対する置換えの後にビタビデコーダ２５０を起動し、出力メモリ１７０に格納された復号データに対する置換えの後に誤り検出部１８０を起動するようにしているので、ビタビデコーダ２５０と誤り検出部１８０の稼動時間を短縮することができ、電力消費を抑制することができる。
【００７７】
図１２は、本発明の技術を適用した上記２つのユーザデータ復号部の誤り訂正能力と、従来技術の誤り訂正能力を比較する図である。横軸は、信号とノイズのパワー比であり、数値が小さいほどノイズが多いことを意味する。縦軸は、ブロックエラー率であり、数値が小さいほど誤りが少ないことを意味する。また、図中「×」は、既知データや、既知データに対応する符号の置換えが行われない場合の結果であり、「△」は、特許文献１の手法による結果であり、「○」は、上記２つのユーザデータ復号部による結果である。
【００７８】
例えば、Ｅｂ／Ｎｏが１．８ｄＢのときに、本発明の技術によればブロックエラー率が約０．０１であり、特許文献１の手法によればブロックエラー率が約０．０２５であり、置換えがなされない場合のブロックエラー率が約０．１である。すなわち、同様の１．８ｄＢのノイズ量に対して、置換えがなされない場合には１０ブロック（ユーザデータパケット）に１つの誤りがあり、特許文献１の手法によれば４０ブロックに１つの誤りがあるのに対して、本発明の手法によれば、１００ブロックに１つの誤りしかない。
＜第３の実施の形態＞
【００７９】
図１３は、本発明の第３の実施の形態にかかるユーザデータ復号装置３２０を示す。このユーザデータ復号装置３２０は、図９に示す受信装置１００がターボ符号化されたデータを受信するものである場合に、受信装置１００におけるユーザデータ復号部１２０の代わりに適用されるものである。図１３において、図１０に示すユーザデータ復号部１２０と同様な構成要素については同じ符号を付与し、それらの説明を省略する。また、例として、符号化されたデータの態様は、図５に示す「Ｓｙｓｔｅｍａｔｉｃ」、「１ｓｔ  Ｐａｒｉｔｙ」、「２ｎｄ  Ｐａｒｉｔｙ」の３種類である。
【００８０】
ユーザデータ復号装置３２０は、コントローラ３３０と、入力メモリ１４０と、ターボデコーダ３５０と、硬判定／誤り検出部３８２と、出力メモリ３８４を備える。
【００８１】
入力メモリ１４０は、符号化されたユーザデータパケットを格納すると共に、置換データ１４２も格納している。この置換データ１４２は、ユーザデータ復号装置３２０が準拠した規格により定められた、ユーザデータパケットにおけるフィラービットなどの既知データに対応する符号である。
【００８２】
ターボデコーダ３５０は、第１の置換部３５２と、監視部３５４と、バッファ３５８と、ＭＡＰ復号部３６０と、監視部３６６と、第２の置換部３６８と、中間メモリ３７０を有する。
【００８３】
ＭＡＰ復号部３６０は、第１の復号器３６２と第２の復号器３６４を有する。中間メモリ３７０は、インタリーバ３７４とデインタリーバ３７６を有し、さらに置換データ３７２を格納している。
【００８４】
ＭＡＰ復号部３６０において、２つの復号器が、中間メモリ３７０を介して、復号結果を外部情報として互いにフィードバックしながら復号を進める。この外部情報は、ユーザデータパケットの復号データを得るまでの中間データである。
【００８５】
第１の復号器３６２は、入力メモリ１４０から「Ｓｙｓｔｅｍａｔｉｃ」と「１ｓｔ  Ｐａｒｉｔｙ」を、デインタリーバ３７６から第２の復号器３６４が出力した外部情報を読み出して、これらを用いて軟出力復号を行う。なお、１回目の軟出力復号時において、まだデインタリーバ３７６に外部情報が書き込まれていないので、外部情報が取りうる値の中間値例えばセロが用いられる。第１の復号器３６２は、軟出力復号により得られた外部情報をインタリーバ３７４に書き込む。
【００８６】
次いで、第２の復号器３６４は、入力メモリ１４０から「Ｓｙｓｔｅｍａｔｉｃ」と「２ｎｄ  Ｐａｒｉｔｙ」を、インタリーバ３７４から第１の復号器３６２が出力した外部情報を読み出して、これらを用いて軟出力復号を行う。第２の復号器３６４は、軟出力復号により得られた外部情報をデインタリーバ３７６に書き込む。
【００８７】
第１の復号器３６２と第２の復号器３６４による上記処理は、規格により定められた所定回数繰り返される。最後の回において、第２の復号器３６４は、第１の復号器３６２が用いる外部情報ではなく、軟出力の対数尤度比をデインタリーバ３７６に書込む。なお、対数尤度比には、フィラービットは除去されている。
【００８８】
硬判定／誤り検出部３８２は、デインタリーバ３７６から対数尤度比を読み出して硬判定を行って、硬判定の結果を復号データとして出力メモリ３８４に出力すると共に、ＣＲＣに基づく誤り検出をし、検出結果をコントローラ３３０に出力する。
【００８９】
コントローラ３３０は、ターボデコーダ３５０と硬判定／誤り検出部３８２に起動制御信号を出力し起動させる制御を行う。また、コントローラ３３０は、硬判定／誤り検出部３８２からの検出結果に基づいた誤り制御も行う。誤り制御は、たとえば、誤りが検出された場合にＡＣＫを送信側に送り返さないように当該パケットを再送させるなどの処理が含まれる。
【００９０】
さらに、コントローラ３３０は、参照情報に基づいて置換パラメータを取得し、ターボデコーダ３５０のバッファ３５８に出力する。コントローラ３３０からの置換パラメータは、第１の置換部３５２用のものと、第２の置換部３６８が用いるものである。
【００９１】
第１の置換部３５２用の置換パラメータは、入力メモリ１４０に格納された、符号化されたユーザデータパケットに対して置換えがなされる部分の開始アドレスとサイズである。コントローラ３３０は、参照情報に基づいて、既知データに対応する符号の位置とビット数を算出すると共に、既知データに対応する符号のうちの、置換えがなされる部分の開始アドレスとサイズを取得してバッファ３５８に出力する。
【００９２】
第２の置換部３６８用の置換パラメータは、中間メモリ３７０のインタリーバ３７４とデインタリーバ３７６に格納される外部情報における置換対象部分の開始アドレスとサイズである。コントローラ３３０は、参照情報に基づいて、外部情報における置換対象部分の位置とビット数を算出して、バッファ３５８に出力する。
【００９３】
中間メモリ３７０には、置換データ３７２が格納されている。この置換データ３７２は、入力メモリ１４０に格納された置換データ１４２と異なり、外部情報における置換対象部分の正常データである。
【００９４】
監視部３５４は、ＭＡＰ復号部３６０が入力メモリ１４０からデータを読み出す際のアドレスを監視し、このアドレスが、第１の置換部３５２用の置換パラメータが示す置換対象のアドレスではなければ、第１の置換部３５２を介して、当該データを読み出してＭＡＰ復号部３６０に供する。一方、上記アドレスが置換対象のアドレスであれば、監視部３５４は、第１の置換部３５２に置換えを指示する。
【００９５】
第１の置換部３５２は、監視部３５４から置換えが指示されると、当該アドレスのデータを、入力メモリ１４０に格納された置換データ１４２で置き換えてＭＡＰ復号部３６０に出力する。
【００９６】
監視部３６６は、ＭＡＰ復号部３６０が外部情報を中間メモリ３７０に書き込む際のアドレスを監視し、このアドレスが、第２の置換部３６８用の置換パラメータが示す置換対象のアドレスではなければ、第２の置換部３６８を介して、当該外部情報を中間メモリ３７０に出力する。一方、上記アドレスが置換対象のアドレスであれば、監視部３６６は、第２の置換部３６８に置換えを指示する。
【００９７】
第２の置換部３６８は、監視部３６６から置換えが指示されると、ＭＡＰ復号部３６０からの外部情報を置換データ３７２で置き換えて中間メモリ３７０に書き込む。
【００９８】
監視部３６６と第２の置換部３６８は、ＭＡＰ復号部３６０が中間メモリ３７０から外部情報を読み出す際にも同様の処理を行い、外部情報における置換対象の部分を置換データ３７２で置き換えてＭＡＰ復号部３６０に供する。
【００９９】
このように、本第３の実施の形態にかかるユーザデータ復号装置３２０は、ターボ符号化されたユーザデータパケットを復号する前に既知データに対応する符号を正常データで置き換えている。こうすることにより、通信路において、置換対象部分にノイズが混入したとしても、正常データに置き換えられる。また、この置換えは、復号前に行われるので、復号時にこの部分が利用される他のデータにも、ノイズの影響が波及しないことになる。
【０１００】
さらに、ユーザデータ復号装置３２０は、復号中のデータ（外部情報）に対しても既知データに対応する部分を正常データに置き換えているので、誤りをさらに軽減し、誤り訂正能力をより高めることができる。
【０１０１】
また、ユーザデータ復号装置３２０では、ターボデコーダ３５０に設けられたハードウェア構成の２つの置換部により置換えがなされるので、処理の高速化を図ることができる。
＜第４の実施の形態＞
【０１０２】
図１４は、本発明の第４の実施の形態にかかるユーザデータ復号装置４２０を示す。図１４において、図１３に示すユーザデータ復号装置３２０と同様な構成要素については同じ符号を付与し、それらの説明を省略する。
【０１０３】
図１４に示すユーザデータ復号装置４２０において、コントローラ４３０は、図１３に示すユーザデータ復号装置３２０のコントローラ３３０の機能以外に、第１の置換部３５２と、監視部３５４と、監視部３６６と、第２の置換部３６８の機能を備える。そのため、ターボデコーダ４５０には、これらの機能を担う構成要素が無く、ＭＡＰ復号部３６０と、中間メモリ３７０から構成される。
【０１０４】
コントローラ４３０は、参照情報に基づいて、入力メモリ１４０に格納されたユーザデータパケットにおける置換対象部分のアドレスとサイズを算出し、当該部分を置換データ１４２で上書きすることによって置き換える。置換後、コントローラ４３０は、ターボデコーダ４５０に起動制御信号を出力して起動させる。
【０１０５】
また、ＭＡＰ復号部３６０から中間メモリ３７０に外部情報が書き込まれた際に、コントローラ４３０は、外部情報における置換対象部分のデータを置換データ３７２で上書きする。そして、上書きの後に、コントローラ４３０は、硬判定／誤り検出部３８２に起動制御信号を出力し起動させる。
【０１０６】
すなわち、本実施の形態において、図１３に示すターボデコーダ３５０における第１の置換部３５２と、監視部３５４と、第２の置換部３６８と、監視部３６６の処理は、コントローラ４３０に実装されたソフトウェアにより行われる。そのため、図１３に示すユーザデータ復号装置３２０と同様に高い誤り訂正能力を得ることができると共に、第１の置換部３５２と、監視部３５４と、第２の置換部３６８と、監視部３６６の回路の分、回路規模を削減することができる。
【０１０７】
さらに、入力メモリ１４０に格納されたユーザデータパケットに対する置換えの後にターボデコーダ４５０を起動し、中間メモリ３７０に格納された外部情報に対する置換えの後に硬判定／誤り検出部３８２を起動するようにしているので、ターボデコーダ４５０と硬判定／誤り検出部３８２の稼動時間を短縮することができ、電力消費を抑制することができる。
【０１０８】
図１５は、図１３に示すユーザデータ復号装置３２０と図１４に示すユーザデータ復号装置４２０の誤り訂正能力と、既知データの置換えがなされない従来技術の誤り訂正能力を比較する図である。横軸は、信号とノイズのパワー比であり、縦軸は、図１２のブロックエラーと同義のフレームエラー率である。また、実線は、本発明の技術を適用した結果を示し、点線は、従来技術の結果を示す。図中「１０２４ｆｒ０」や「１０２４ｆｒ１」の表記では、「ｆｒ」の前の数値は、フレーム（ユーザデータパケット）のサイズを示し、「ｆｒ」の後の数値「０」は従来技術の場合を示し、「ｆｒ」の後の数値「１」は本発明の技術の場合を示す。なお、フレームのサイズによってフィラービットのサイズも異なり、たとえば１０２４ビットのフレームにおいて３１ビットのフィラービットがあり、２０４８ビットのフレームにおいてが６３ビットのフィラービットがある。
【０１０９】
図１５から、いずれのフレームサイズでも、本発明の技術によれば、同一のノイズ量に対して、フレームエラー率は従来技術のときより低いことが分かる。
【０１１０】
さらに、同一のフレームエラー率を得るためのコーディングゲイン（符号化利得）を比較してみる。たとえば、フレームエラー率が０．１（１０フレームに１フレームが誤る）の場合において、１０２４ビットと２０４８のいずれのフレームサイズでも、本発明の技術のほうが、従来技術より約０．０６ｄＢ程度のコーディングゲインの向上を実現している。これは、同じ量のデータを送信するために必要な送信電力を削減できることを意味する。
【０１１１】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、さまざまな変更、増減を加えてもよい。これらの変更、増減が加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１１２】
例えば、上述した各実施の形態において、既知データのすべてが「０」であるため、復号前の置換データはこのような既知データに対応する符号の１種類であり、復号後の置換データは既知データと同様の「０」である。送信側が用いる既知データは、すべてが「０」、すべてが「１」、および「０」と「１」を織り交ぜたものいずれである可能性もある場合には、各場合に対応した複数の種類の復号前／復号後の置換データを用意しておき、制御データにより通知される既知データの種類に応じて複数の種類の置換データを選択的に用いるようにしてもよい。
【０１１３】
また、既知データの配列パターンが複雑である場合には、送信側の符号器と同様の符号器を受信側に設け、制御データにより通知された配列パターンの既知データをこの符号器に入力して符号化することにより、復号前の置換データを生成するようにしてもよい。
【図面の簡単な説明】
【０１１４】
【図１】ユーザデータパケットの例を示す図である（その１）。
【図２】ユーザデータパケットの例を示す図である（その２）。
【図３】ユーザデータパケットの例を示す図である（その３）。
【図４】畳込符号におけるトレリス上の遷移例を示す図である。
【図５】ターボ符号を説明するための図である。
【図６】ターボ符号の要素符号１におけるトレリス上の遷移例を示す図である。
【図７】ターボ符号の要素符号２におけるトレリス上の遷移例を示す図である。
【図８】本発明の原理を示す模式図である。
【図９】本発明の第１の実施の形態にかかる受信装置を示す図である。
【図１０】図９に示す受信装置におけるユーザデータ復号部を示す図である。
【図１１】本発明の第２の実施の形態にかかるユーザデータ復号部を示す図である。
【図１２】図１０および図１１に示すユーザデータ復号部の誤り訂正能力を説明するための図である。
【図１３】本発明の第３の実施の形態にかかるユーザデータ復号装置を示す図である。
【図１４】本発明の第４の実施の形態にかかるユーザデータ復号装置を示す図である。
【図１５】図１３および図１５に示すユーザデータ復号装置の誤り訂正能力を説明するための図である。
【図１６】デジタル通信システムを概略した模式を示す図である。
【図１７】従来技術にかかる受信装置を示す図である。
【図１８】図１７に示す受信装置における処理の流れを示すフローチャートである。
【符号の説明】
【０１１５】
１００  受信装置  １１０  アンテナ
１１２  復調部  １１４  制御データ復号部
１２０  ユーザデータ復号部  １３０  コントローラ
１４０  入力メモリ  １４２  置換データ
１５０  ビタビデコーダ  １５２  第１の置換部
１５４  監視部  １５６  演算部
１５８  バッファ  １６０  内部メモリ
１６２  トレースバック部  １６４  第２の置換部
１６６  監視部  １７０  出力メモリ
１７２  置換データ  １８０  誤り検出部
２２０  ユーザデータ復号部  ２３０  コントローラ
２５０  ビタビデコーダ  ３２０  ユーザデータ復号装置
３３０  コントローラ  ３５０  ターボデコーダ
３５２  第１の置換部  ３５４  監視部
３５８  バッファ  ３６０  ＭＡＰ復号部
３６２  第１の復号器  ３６４  第２の復号器
３６６  監視部  ３６８  第２の置換部
３７０  中間メモリ  ３７２  置換データ
３７４  インタリーバ  ３７６  デインタリーバ
３８２  硬判定／誤り検出部  ３８４  出力メモリ
４２０  ユーザデータ復号装置  ４３０  コントローラ
４５０  ターボデコーダ
【図１】
0005248085.tif 000002
【図２】
0005248085.tif 000003
【図３】
0005248085.tif 000004
【図４】
0005248085.tif 000005
【図５】
0005248085.tif 000006
【図６】
0005248085.tif 000007
【図７】
0005248085.tif 000008
【図８】
0005248085.tif 000009
【図９】
0005248085.tif 000010
【図１０】
0005248085.tif 000011
【図１１】
0005248085.tif 000012
【図１２】
0005248085.tif 000013
【図１３】
0005248085.tif 000014
【図１４】
0005248085.tif 000015
【図１５】
0005248085.tif 000016
【図１６】
0005248085.tif 000017
【図１７】
0005248085.tif 000018
【図１８】
0005248085.tif 000019