(57)【特許請求の範囲】
【請求項１】
ＬＤＰＣ符号に対して繰り返し復号処理を実行し、繰り返し数ごとに仮の硬判定復号結果を順次出力するとともに、前記仮の硬判定復号結果に対してパリティチェックを実行して得られる非０数を順次出力する繰り返し復号回路と、
前記非０数と比較するために前記繰り返し数ごとに設定されたスレショルドと、前記繰り返し復号処理を実行するためのパラメータとして生成するパラメータ生成回路と、
前記繰り返し復号回路の繰り返し動作を制御する第１の制御回路と
を備え、
前記第１の制御回路は、
前記パラメータ生成回路で生成された前記スレショルドを前記パラメータとして受信し、
繰り返し数が最大繰り返し数に達していない場合には、前記繰り返し復号回路から順次出力される前記非０数と、前記繰り返し数ごとに設定された前記スレショルドとを比較し、比較結果があらかじめ設定された停止条件を満たす場合には、前記繰り返し復号回路による前記繰り返し動作を停止させる
誤り訂正復号装置。
【請求項２】
前記パラメータ生成回路は、前記ＬＤＰＣ符号の符号長およびパリティビット長に応じて前記スレショルドを生成する
請求項１に記載の誤り訂正復号装置。
【請求項３】
前記パラメータ生成回路は、訂正不可を判定するために用いられる第１スレショルドを前記スレショルドとして前記繰り返し数ごとに生成し、
前記第１の制御回路は、前記繰り返し復号回路から順次出力される前記非０数と前記繰り返し数ごとに設定された前記第１スレショルドとを比較し、前記非０数が前記第１スレショルドよりも大きい場合には、前記繰り返し復号回路による前記繰り返し動作を停止させる
請求項１または２に記載の誤り訂正復号装置。
【請求項４】
前記第１の制御回路は、繰り返し数が最大繰り返し数に達していない状態で前記繰り返し復号回路による前記繰り返し動作を停止させた場合には、前記繰り返し動作を停止させた際の繰り返し数を含む情報を繰り返し復号停止情報として前記パラメータ生成回路にフィードバックし、
前記パラメータ生成回路は、前記繰り返し復号停止情報に基づいて、前記繰り返し復号回路が次に受信するＬＤＰＣ符号系列に対して前記繰り返し復号処理を実行する際に用いる前記パラメータを更新する
請求項１から３のいずれか１項に記載の誤り訂正復号装置。
【請求項５】
前記繰り返し復号回路での復号結果に対して残留する誤りを訂正する外符号復号処理を実行するために、前記繰り返し復号回路の後段に設けられた外符号復号回路をさらに備え、
前記外符号復号回路は、前記外符号復号処理の実行結果として、訂正ビット数および訂正不可状態を示す訂正情報を生成し、前記訂正情報を前記パラメータ生成回路にフィードバックし、
前記パラメータ生成回路は、前記訂正情報に基づいて、前記繰り返し復号回路が次に受信するＬＤＰＣ符号系列に対して前記繰り返し復号処理を実行する際に用いる前記パラメータを更新する
請求項１から４のいずれか１項に記載の誤り訂正復号装置。
【請求項６】
外符号復号回路による復号動作を制御する第２の制御回路をさらに備え、
前記第１の制御回路は、前記繰り返し復号回路による前記繰り返し動作を停止させたときの繰り返し数が、あらかじめ設定された判定数よりも小さい場合には、異常検出フラグをセットし、前記第２の制御回路に対して前記異常検出フラグを送信し、
前記第２の制御回路は、前記繰り返し復号回路での前記復号結果に訂正不可能な誤りが残留しているか否かを前記異常検出フラグに基づいて判定し、前記訂正不可能な誤りが残留していると判断した場合には、前記外符号復号回路による前記復号動作を途中で停止させる制御を行う
請求項１から５のいずれか１項に記載の誤り訂正復号装置。
【請求項７】
前記パラメータ生成回路は、前記繰り返し復号回路による繰り返し動作が完了したと判定するために用いられる第２スレショルドを前記スレショルドとして前記繰り返し数ごとに生成し、
前記第１の制御回路は、前記繰り返し復号回路から順次出力される前記非０数と前記繰り返し数ごとに設定された前記第２スレショルドとを比較し、前記非０数が前記第２スレショルドよりも小さい場合には、前記繰り返し復号回路による前記繰り返し動作を停止させる
請求項１から５のいずれか１項に記載の誤り訂正復号装置。
【請求項８】
請求項１から７のいずれか１項に記載の誤り訂正復号装置において実行される誤り訂正復号方法であって、
ＬＤＰＣ符号に対して繰り返し復号処理を実行し、繰り返し数ごとに仮の硬判定復号結果を順次出力するとともに、前記仮の硬判定復号結果に対してパリティチェックを実行して得られる非０数を順次出力する繰り返し復号ステップと、
前記非０数と比較するために前記繰り返し数ごとに設定されたスレショルドと、前記繰り返し復号処理を実行する最大繰り返し数とを、前記繰り返し復号処理を実行するためのパラメータとして生成するパラメータ生成ステップと、
前記パラメータ生成ステップで生成された前記スレショルドを前記パラメータとして受信するパラメータ受信ステップと、
前記繰り返し復号ステップで実行された前記繰り返し復号処理の繰り返し数が、前記最大繰り返し数に達した場合には、前記繰り返し復号ステップによる前記繰り返し動作を停止させる正常停止ステップと、
前記繰り返し数が最大繰り返し数に達していない場合には、前記繰り返し復号ステップにより順次出力される前記非０数と、前記繰り返し数ごとに設定された前記スレショルドとを比較し、比較結果があらかじめ設定された停止条件を満たす場合には、前記繰り返し復号ステップによる前記繰り返し動作を停止させる途中停止ステップと
を有する誤り訂正復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低密度パリティ検査符号の繰り返し復号処理を用いる誤り訂正復号装置および誤り訂正復号方法に関するものである。
【背景技術】
【０００２】
光伝送システム等の高速な伝送装置においては、高い伝送容量および長距離による伝送を実現するための有効な方法として、一般的に、誤り訂正符号が適用されている。誤り訂正符号は、有線／無線通信システム、記憶装置等で使用される技術である。誤り訂正符号は、送信側で送り出すデジタルデータに冗長なビットを付加することで、受信したデータにビット誤りが生じたとしても、誤りを訂正可能とする技術である。なお、以下の説明では、「ビット誤り」を単に「誤り」と称す。【０００３】
誤り訂正符号・復号方式としては、ハミング符号、ＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）符号、ＲＳ（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）符号、これらを組み合わせる積符号、連接符号など、様々な方式が提案されている。【０００４】
誤り訂正符号を適用することで、伝送路で生じる誤りの検出および訂正が可能となる。ただし、誤りが訂正可能な誤りビット数には、限界がある。また、誤り訂正符号方式の誤り訂正性能、および復号方式によって、訂正可能な誤りビット数は異なる。【０００５】
誤り訂正符号においては、フレームを構成するオーバーヘッド等を含む送信データを、情報ビットと呼ぶ。また、情報ビットに付加される冗長ビットのことを、パリティビットと呼ぶ。パリティビットは、誤り訂正の符号方式に応じて、それぞれ異なる算出方法により、情報ビットから算出される。また、情報ビットとパリティビットとを合わせたビット列を、符号語と呼ぶ。【０００６】
ブロック符号と呼ばれる誤り訂正符号では、あらかじめ設定されたビット数の単位で、情報ビットからパリティビットを算出する。つまり、１つの符号語内の情報ビット数およびパリティビット数は、あらかじめ決められており、それぞれ、情報ビット長、パリティビット長と呼ばれる。また、符号語のビット数を符号長と呼ぶ。【０００７】
海底ケーブル、都市間通信等に用いられるコア・メトロ系光伝送システムにおいては、伝送容量の拡大および伝送距離の拡大の需要が顕著である。この結果、１Ｔｂｐｓ等の高速伝送に対して強力な誤り訂正符号の適用および提案が行われている。【０００８】
近年、誤り訂正符号として、低密度パリティ検査（ＬＤＰＣ：Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ−Ｃｈｅｃｋ）符号が広く用いられてきている。ＬＤＰＣ符号は、非０要素の少ない、疎なパリティ検査行列で定義されるブロック符号である。【０００９】
ＬＤＰＣ符号は、ＬＬＲ（Ｌｏｇ−Ｌｉｋｅｌｉｈｏｏｄ−Ｒａｔｉｏ）等の軟判定情報を用いて、誤りの多い伝送路でも訂正することが可能であり、かつ数十Ｇｂｐｓから１Ｔｂｐｓ等の高速伝送に対して実装可能な復号方法である。このことから、ＬＤＰＣ符号は、コア・メトロ系光伝送システムに多く用いられている。【００１０】
一方で、ＬＤＰＣ符号は、訂正前の誤りが比較的小さいところにおいては、訂正前の誤りが大きいところでの訂正結果ほどの訂正の効果が得られない現象が発生しやすい。この現象は、エラーフロアと呼ばれる。【００１１】
この現象に対しては、ＬＤＰＣ符号を内符号とし、前述のハミング符号、ＢＣＨ符号、ＲＳ符号、これらを組み合わせる積符号、連接符号等を外符号とし、内符号と外符号とを組み合わせる構成が用いられている（例えば、非特許文献１参照）。【００１２】
非特許文献１では、訂正能力が強力な符号長の長いＬＤＰＣ符号に、ブロック符号であるＢＣＨ符号を連接した符号方式が示されている。【００１３】
ＬＤＰＣ符号とブロック符号との間には、インタリーブが入れられる構成をとることが多い。このような構成をとることで、複数のＬＤＰＣ符号のいずれかで残留した誤りを、複数の外符号のブロック符号に分散して、ＬＤＰＣ符号で残留した誤りを訂正することができる。【００１４】
ＬＤＰＣ符号の復号処理は、軟判定情報を使って行演算と列演算の繰り返し処理を行うことで、強力なエラー耐性を実現している。そのため、誤り訂正回路の復号回路は、外符号に用いられるようなブロック符号に比べ、回路規模が大きくなる。さらに、誤り訂正回路の復号回路は、高速クロックを用いて繰り返し演算処理を行う必要があり、消費電力が大きくなる。【００１５】
これに対し、繰り返し処理の列演算で得られる復号結果に対して、パリティ検査行列に基づくシンドロームチェックを行うことで、全０を検出したら復号完了として復号処理を止める復号方法がある（例えば、非特許文献２参照）。【００１６】
また、ＬＤＰＣ符号の復号において、連続する３回分の繰り返しでのシンドロームの非０数判定でもって、訂正不可においても復号処理を止める復号方法がある（例えば、非特許文献３参照）。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】Ｋ．Ｓｕｇｉｈａｒａ，Ｙ．Ｍｉｙａｔａ，Ｔ．Ｓｕｇｉｈａｒａ，Ｋ．Ｋｕｂｏ，Ｈ．Ｙｏｓｈｉｄａ，Ｗ．Ｍａｔｓｕｍｏｔｏ，  ａｎｄ  Ｔ．Ｍｉｚｕｏｃｈｉ，“Ａ  ｓｐａｔｉａｌｌｙ−ｃｏｕｐｌｅｄ  ｔｙｐｅ  ＬＤＰＣ  ｃｏｄｅ  ｗｉｔｈ  ａｎ  ＮＣＧ  ｏｆ  １２ｄＢ  ｆｏｒ  ｏｐｔｉｃａｌ  ｔｒａｎｓｍｉｓｓｉｏｎ  ｂｅｙｏｎｄ  １００Ｇｂ／ｓ”，Ｐｒｏｃ．ＯＦＣ／ＮＦＯＥＣ２０１３，ＯＭ２Ｂ．４（２０１３）．
【非特許文献２】Ｈｉｓａｓｈｉ  Ｆｕｔａｋｉ  ａｎｄ  Ｔｏｍｏａｋｉ  Ｏｈｔｓｕｋｉ，“Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ−Ｃｈｅｃｋ（ＬＤＰＣ）  Ｃｏｄｅｄ  ＯＦＤＭ  Ｓｙｓｔｅｍｓ”，ｉｎ  ＶＴＣ  Ｆａｌｌ  ２００１，Ｎｏ．０１ＣＨ３７２１１  （２００１）．
【非特許文献３】Ｔｉｎｏｏｓｈ  Ｍｏｈｓｅｎｉｎ，Ｈｏｕｓｈｍａｎｄ  Ｓｈｉｒａｎｉ−ｍｅｈｒ，  ａｎｄ  Ｂｅｖａｎ  Ｂａａｓ，“Ｌｏｗ  ｐｏｗｅｒ  ＬＤＰＣ  ｄｅｃｏｄｅｒ  ｗｉｔｈ  ｅｆｆｉｃｉｅｎｔ  ｓｔｏｐｐｉｎｇ  ｓｃｈｅｍｅ  ｆｏｒ  ｕｎｄｅｃｏｄａｂｌｅ  ｂｌｏｃｋｓ”，ＩＳＣＡＳ２０１１（２０１１）．
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、従来技術には、以下のような課題がある。
ＬＤＰＣ符号では、非特許文献１に示されているように、ＢＣＨ符号等のブロック符号の連接符号が用いられることが多い。しかしながら、非特許文献１には、ＬＤＰＣ符号の復号処理を途中で止める技術までは示されていない。【００１９】
一方、非特許文献２および非特許文献３においては、ＬＤＰＣ符号の復号処理において、復号処理を途中で止める技術が示されている。しかしながら、非特許文献２および非特許文献３においては、それに続くブロック符号での復号処理には言及されていない。【００２０】
また、非特許文献２では、復号処理を止める条件として、訂正後の符号系列が、ＬＤＰＣ符号系列であることを示すパリティチェックの非０数が０になるまで、あらかじめ設定された最大繰り返し数まで繰り返し復号を行う。このため、消費電力が大きくなる最大繰り返しを行っても、後段のブロック符号でも訂正できないような誤りがある場合がある。【００２１】
また、消費電力が比較的小さい後段のブロック符号で訂正できるような残留誤りを訂正するために、繰り返し復号処理を行う場合がある。さらに、後段のブロック符号の復号に影響しないＬＤＰＣ符号系列のパリティビット部分の誤りを訂正するために、繰り返し復号処理を行う場合がある。【００２２】
また、非特許文献３では、消費電力が大きくなる最大繰り返しを行っても後段のブロック符号でも訂正できないような誤りがある場合での復号処理を止める条件として、少なくとも３回繰り返し分の条件がそろわなければ、復号処理を止めることができない。従って、復号処理を止めるまでの処理時間がかかることとなる。【００２３】
本発明は、かかる課題を解決するためになされたものであり、復号処理における消費電力を抑制する誤り訂正復号装置および誤り訂正復号方法を得ることを目的としている。
【課題を解決するための手段】
【００２４】
本発明に係る誤り訂正復号装置は、ＬＤＰＣ符号に対して繰り返し復号処理を実行し、繰り返し数ごとに仮の硬判定復号結果を順次出力するとともに、仮の硬判定復号結果に対してパリティチェックを実行して得られる非０数を順次出力する繰り返し復号回路と、非０数と比較するために繰り返し数ごとに設定されたスレショルドと、繰り返し復号処理を実行する最大繰り返し数とを、繰り返し復号処理を実行するためのパラメータとして生成するパラメータ生成回路と、繰り返し復号回路の繰り返し動作を制御する第１の制御回路とを備え、第１の制御回路は、パラメータ生成回路で生成されたスレショルドおよび最大繰り返し数をパラメータとして受信し、繰り返し復号回路で実行された繰り返し復号処理の繰り返し数が、最大繰り返し数に達した場合には、繰り返し復号回路による繰り返し動作を停止させ、繰り返し数が最大繰り返し数に達していない場合には、繰り返し復号回路から順次出力される非０数と、繰り返し数ごとに設定されたスレショルドとを比較し、比較結果があらかじめ設定された停止条件を満たす場合には、繰り返し復号回路による繰り返し動作を停止させるものである。【００２５】
また、本発明に係る誤り訂正復号方法は、本発明に係る誤り訂正復号装置において実行される誤り訂正復号方法であって、ＬＤＰＣ符号に対して繰り返し復号処理を実行し、繰り返し数ごとに仮の硬判定復号結果を順次出力するとともに、仮の硬判定復号結果に対してパリティチェックを実行して得られる非０数を順次出力する繰り返し復号ステップと、非０数と比較するために繰り返し数ごとに設定されたスレショルドと、繰り返し復号処理を実行する最大繰り返し数とを、繰り返し復号処理を実行するためのパラメータとして生成するパラメータ生成ステップと、パラメータ生成ステップで生成されたスレショルドおよび最大繰り返し数をパラメータとして受信するパラメータ受信ステップと、繰り返し復号ステップで実行された繰り返し復号処理の繰り返し数が、最大繰り返し数に達した場合には、繰り返し復号ステップによる繰り返し動作を停止させる正常停止ステップと、繰り返し数が最大繰り返し数に達していない場合には、繰り返し復号ステップにより順次出力される非０数と、繰り返し数ごとに設定されたスレショルドとを比較し、比較結果があらかじめ設定された停止条件を満たす場合には、繰り返し復号ステップによる繰り返し動作を停止させる途中停止ステップとを有するものである。
【発明の効果】
【００２６】
本発明によれば、復号処理における消費電力を抑制する誤り訂正復号装置および誤り訂正復号方法を得ることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態１に係る誤り訂正復号装置の構成例を示すブロック図である。
【図２】本発明の実施の形態１に係る図１に示した誤り訂正復号装置によって実行される一連処理を示すフローチャートである。
【図３】本発明の実施の形態２に係る誤り訂正復号装置の構成例を示すブロック図である。
【図４】本発明の実施の形態２に係る図３に示した誤り訂正復号装置によって実行される一連処理を示すフローチャートである。
【図５】本発明の実施の形態１、２に係る誤り訂正復号装置の各機能を専用のハードウェアである処理回路で実現する場合を示した構成図である。
【図６】本発明の実施の形態１、２に係る誤り訂正復号装置の各機能をプロセッサおよびメモリを備えた処理回路により実現する場合を示した構成図である。
【発明を実施するための形態】
【００２８】
以下、本発明の誤り訂正復号装置および誤り訂正復号方法の好適な実施の形態につき、図面を用いて説明する。
【００２９】
実施の形態１．
図１は、本発明の実施の形態１に係る誤り訂正復号装置の構成例を示すブロック図である。図１では、内符号をＬＤＰＣ符号とし、外符号をＢＣＨ符号とする連接符号の誤り訂正復号装置の構成を例示している。図１に示した誤り訂正復号装置は、内符号繰り返し復号回路１、内符号繰り返し制御回路２、パラメータ生成回路３、および外符号復号回路４を備えて構成されている。
【００３０】
内符号繰り返し復号回路１は、ＬＤＰＣ符号に対して繰り返し復号処理を行う繰り返し復号回路である。これに対し、内符号繰り返し制御回路２は、内符号繰り返し復号回路１の繰り返し動作を制御する第１の制御回路である。このとき、内符号繰り返し復号回路１からは、繰り返し回ごとに仮決定される復号結果に基づくパリティチェックの非０数Ｓが順次出力され、内符号繰り返し制御回路２に渡される。
【００３１】
また、内符号繰り返し制御回路２に対しては、繰り返し制御を行うためのパラメータを生成するパラメータ生成回路３が接続されている。
【００３２】
また、内符号繰り返し復号回路１に対しては、内符号繰り返し復号回路１で復号した復号結果に対して、残留する誤りを訂正する外符号復号回路４が、後段に接続されている。外符号復号回路４は、残留する誤りを訂正して出力するとともに、訂正ビット数あるいは訂正不可状態を含む情報を訂正情報として出力する。外符号復号回路４からの訂正情報に関する出力は、パラメータ生成回路３にもフィードバックされる。
【００３３】
図２は、本発明の実施の形態１に係る図１に示した誤り訂正復号装置によって実行される一連処理を示すフローチャートである。より具体的には、図２には、図１の構成における内符号繰り返し復号回路１、内符号繰り返し制御回路２、パラメータ生成回路３、および外符号復号回路４の各構成要素により実行される一連処理が示されている。
【００３４】
図２に示したフローチャートは、内符号であるＬＤＰＣ符号系列が内符号繰り返し復号回路１によって受信されることでスタートする。内符号繰り返し復号回路１がＬＤＰＣ符号系列のＬＬＲ情報を全て受けた後、ステップＳ２０１において、誤り訂正復号装置は、初期設定を実行する。
【００３５】
具体的には、内符号繰り返し復号回路１では、各ノードの初期化が行われる。また、内符号繰り返し制御回路２では、繰り返し数ｉの０設定が行われる。また、パラメータ生成回路３は、最大繰り返し数、および繰り返し回ごとで繰り返し処理を止める判断に用いられるスレショルドを、繰り返し制御を行うためのパラメータとしてあらかじめ生成する。
【００３６】
具体的には、パラメータ生成回路３は、入力されるＬＤＰＣ符号長、パリティビット長、符号系列に期待される性能特性、スループット、および伝送状態予測に基づいて、最大繰り返し数およびスレショルドを生成する。
【００３７】
また、パラメータ生成回路３は、後述する外符号復号回路４による訂正情報を受けて、最大繰り返し数およびスレショルドを、繰り返し復号処理が順次実行されるごとに更新することができる。
【００３８】
パラメータ生成回路３は、初期設定した最大繰り返し数およびスレショルドに関するパラメータを、内符号繰り返し制御回路２に送信する。なお、最大繰り返し数およびスレショルドに関するパラメータの初期設定は、ＬＤＰＣ符号系列の受信前に実行されるようにしても良い。
【００３９】
繰り返し処理を止める判断に用いられるスレショルドに関するパラメータは、訂正不可を判定するために用いられるスレショルドパラメータＦ［ｉ］と、後段のブロック符号の復号処理で訂正可と判断するために用いられるスレショルドパラメータＥ［ｉ］とがある。
【００４０】
ここで、スレショルドパラメータＦ［ｉ］は、第１スレショルドに相当し、スレショルドパラメータＥ［ｉ］は、第２スレショルドに相当する。スレショルドパラメータＦ［ｉ］およびスレショルドパラメータＥ［ｉ］は、両方あっても良いし、片方であっても良い。また、制御する条件から見て、両パラメータの大小関係は、Ｆ［ｉ］＞Ｅ［ｉ］となる。
【００４１】
ステップＳ２０１において初期条件が設定された後、ステップＳ２０２において、内符号繰り返し復号回路１は、ＬＤＰＣ符号の復号処理として、列（ＶＡＲＩＡＢＬＥ  ＮＯＤＥ）演算を行う。このとき、仮の硬判定復号結果も得られる。繰り返し数ｉ＝０では、仮の硬判定復号結果は、受信したＬＤＰＣ符号系列の硬判定結果そのものである。
【００４２】
このステップＳ２０２以降、後述するステップＳ２０９までの処理が、繰り返し実行される。ステップＳ２０３において、内符号繰り返し制御回路２は、繰り返し数ｉが設定された最大繰り返し数と一致したと判定した場合には、内符号繰り返し復号回路１による繰り返し処理を終了させ、ステップＳ２１０以降の処理に進む。
【００４３】
一方、内符号繰り返し制御回路２は、繰り返し数ｉが設定された最大繰り返し数より少ないと判定した場合には、ステップＳ２０４の処理に進む。ステップＳ２０４において、内符号繰り返し復号回路１は、仮の硬判定復号結果に対してパリティチェックを計算する。一般的に、ＬＤＰＣ符号系列は、パリティチェックが全て０になるようになっている。
【００４４】
次に、ステップＳ２０５において、内符号繰り返し復号回路１は、ステップＳ２０４で得られたパリティチェックに関して、非０数Ｓをカウントする。ＬＤＰＣ符号系列の各ビットは、パリティチェックの各ビットに対して疎に分布している。例えば、ＤＶＢ−Ｓ２で用いられているＬＤＰＣ符号では、情報ビットの大部分は、１ビットがパリティチェックの３ビットにしか影響せず、また、冗長ビットについてはパリティチェックの２ビットまたは１ビットにしか影響しない。
【００４５】
すなわち、誤りが多い場合には、パリティチェックでの非０数Ｓが大きく、誤りが少ない場合には、非０数Ｓが小さくなる。ＤＶＢ−Ｓ２のように冗長ビットの重みが２であれば、冗長ビットが１ビット誤っていた場合に、非０数は２となる。ただし、多数のビット誤りが残っている場合も、その相関で非０数が小さくなる場合がある。
【００４６】
次に、ステップＳ２０６において、内符号繰り返し制御回路２は、内符号繰り返し復号回路１から非０数Ｓを受信し、受信した非０数Ｓと、繰り返し数ｉにおけるスレショルドパラメータＥ［ｉ］とを比較する。
【００４７】
ここで、Ｓ＜Ｅ［ｉ］であれば、内符号繰り返し制御回路２は、誤りが冗長ビットに残っているが、残留していても後段のブロック符号で訂正可能と判断し、繰り返し復号処理を止め、ステップＳ２１０以降の処理に移行する。もちろん、非０数が０であれば、ＬＤＰＣ符号系列が符号化規則に沿った系列であり、訂正完了と判断できるため、この場合も、内符号繰り返し制御回路２は、繰り返し復号処理を止める。
【００４８】
なお、内符号繰り返し制御回路２は、繰り返し数ｉが最大繰り返し数でなく、かつ、非０数が０でない条件で、ステップＳ２０６において繰り返し処理を止めると判断した場合に、もう一回繰り返し処理をしてから繰り返し処理を止めてもよい。
【００４９】
また、繰り返し数ｉが比較的少ない場合には、複数のビット誤りの相関で非０数が小さくなる場合がある。従って、繰り返し処理を止める条件は、厳しくした方がよい。例えば、内符号繰り返し制御回路２は、繰り返し数ｉがあらかじめ設定された繰り返し数以下では非０数Ｓが０のとき（すなわち、Ｅ［ｉ］＝１と設定したとき）のみ、繰り返し処理を止めるようにすることができる。
【００５０】
また、内符号繰り返し制御回路２は、繰り返し数ｉがあらかじめ設定された繰り返し数よりも大きい場合については、パリティチェックでの非０数Ｓが固定値の非０数より以下（すなわち、Ｅ［ｉ］＞１の固定値と設定）のとき、繰り返し処理を止めるようにしても良い。
【００５１】
内符号繰り返し制御回路２は、ステップＳ２０６においてＮｏと判断し、ステップＳ２０７の処理に進んだ場合には、非０数Ｓと、繰り返し数ｉにおけるスレショルドパラメータＦ［ｉ］とを比較する。
【００５２】
ここで、Ｓ＞Ｆ［ｉ］であれば、内符号繰り返し制御回路２は、最大繰り返し数まで繰り返し処理を行っても誤りが残留し、かつ、後段のブロック符号の復号においても訂正不可で、誤りが残留する訂正不可状態であると判断し、繰り返し復号処理を止め、ステップＳ２１０以降の処理に移行する。すなわち、内符号繰り返し制御回路２は、Ｓ＞Ｆ［ｉ］として規定される停止条件を満たす場合には、繰り返し復号処理を止め、ステップＳ２１０以降の処理に移行する。
【００５３】
なお、内符号繰り返し制御回路２は、繰り返し数ｉが最大繰り返し数までは達しておらず、ステップＳ２０７において繰り返し処理を止める判断となった場合には、もう一回繰り返し処理をしてから、繰り返し処理を止めてもよい。
【００５４】
上述したステップＳ２０３、ステップＳ２０６、およびステップＳ２０７のいずれにおいても、繰り返し処理を止める条件に合致しなかった場合には、内符号繰り返し制御回路２は、次の繰り返し処理の準備に入るために、ステップＳ２０８以降の処理に進む。すなわち、内符号繰り返し制御回路２は、ステップＳ２０８において、繰り返し数ｉを一つ増やし、ステップＳ２０９において、行（ＣＨＥＣＫ  ＮＯＤＥ）演算を行い、その後、再び列（ＶＡＲＩＡＢＬＥ  ＮＯＤＥ）演算を行うために、ステップＳ２０２の処理に戻る。
【００５５】
ステップＳ２０３、ステップＳ２０６、およびステップＳ２０７のいずれかにおいて、繰り返し処理を止めるための停止条件に合致することでステップＳ２１０に進んだ場合には、内符号繰り返し復号回路１は、仮の硬判定系列を復号結果として設定し、設定した復号結果を出力する。
【００５６】
ここで、ステップＳ２０３でＹｅｓと判定された場合は、途中停止することなしに最大繰り返し数まで繰り返し復号処理が実行された後に正常停止した場合に相当する。また、ステップ２０６およびステップＳ２０７でＹｅｓと判定された場合は、最大繰り返し数まで繰り返し復号処理を実行せずに途中停止した場合に相当する。
【００５７】
次に、ステップＳ２１１において、外符号復号回路４は、内符号繰り返し復号回路１から復号結果として受信した仮の硬判定系列を用いて、外符号である次段のブロック（ＢＣＨ）符号の復号処理を実行する。この結果、外符号復号回路４での復号動作によって残留誤りが訂正され、誤り訂正の一連処理が終了する。
【００５８】
ここで、ステップＳ２０６における比較結果、あるいは、ステップＳ２０７における比較結果により、繰り返し復号処理を止めた場合には、その際の状況が、ＬＤＰＣ符号系列を受信した伝送路の状態を推定する一助となる。
【００５９】
よって、内符号繰り返し制御回路２は、繰り返し復号処理を止めた際の繰り返し数等の情報を、繰り返し復号停止情報として、パラメータ生成回路３にフィードバックする。そして、パラメータ生成回路３は、フィードバックされた繰り返し復号停止情報に基づいて、次のＬＤＰＣ符号系列の誤り状態を推定し、最大繰り返し数を抑制する更新処理、繰り返し処理を止める判断に用いられるスレショルドの更新処理等を行うことができる。
【００６０】
この結果、訂正ができないような状況においてフィードバックされる繰り返し復号停止情報に基づいて、繰り返し回ごとにパラメータの更新処理を行うことで、誤り訂正復号装置による消費電力を抑制することができる。
【００６１】
また、パラメータ生成回路３は、外符号復号回路４による外符号復号処理の実行結果として生成される訂正ビット数および訂正不可状態を、フィードバックされた訂正情報として取得することができる。従って、パラメータ生成回路３は、外符号復号回路４からフィードバックされた訂正情報に基づいて、次に入力されるＬＤＰＣ符号系列の誤り状態を推定し、最大繰り返し数を抑制する更新処理、繰り返し処理を止める判断に用いられるスレショルドの更新処理等を行うことができる。
【００６２】
この結果、訂正ができないような状況においてフィードバックされる訂正情報に基づいて、繰り返し回ごとにパラメータの更新処理を行うことで、誤り訂正復号装置による消費電力を抑制することができる。
【００６３】
なお、図２に示した各ステップのうち、ステップＳ２０２〜ステップＳ２０９は繰り返し復号ステップに相当する。また、繰り返し復号処理の中で実行されるステップＳ２０１はパラメータ生成ステップに相当し、ステップＳ２０３は正常停止ステップに相当し、ステップＳ２０６およびステップＳ２０７はパラメータ受信ステップおよび途中停止ステップの両方に相当する。
【００６４】
以上のように、実施の形態１に係る誤り訂正復号装置は、繰り返し回ごとに設定されるスレショルドと、パリティチェックによる非０数とを、繰り返し数が増加する毎に比較し、比較結果に基づいて繰り返し処理を止めるか否かを判断できる構成を備えている。この結果、実施の形態１に係る誤り訂正復号装置は、以下のような効果を実現できる。
【００６５】
（効果１）ＬＤＰＣ符号の復号において、繰り返し回ごとの復号結果に対するシンドロームチェックにおいて、訂正完了と判断して繰り返し復号を止める処理と同時に、最大繰り返し復号を行っても訂正不可と早々に判断して、繰り返し復号を止めることができる。
【００６６】
（効果２）復調、同期補足等を行う前段の回路にも、受信状態が異常であることをフィードバック情報として知らせることができる。この結果、異常な受信状態による後続のＬＤＰＣ符号系列での無駄な繰り返し復号処理を抑え込むよう、最大繰り返し数を抑制することができる。
【００６７】
（効果３）あらかじめ設定された数での繰り返し復号処理後において、あらかじめ設定されたパリティチェック状態において残留する誤りが、ＬＤＰＣの復号部分、あるいは後段の復号処理で訂正可能な範囲の誤りと判断できた場合には、早めに繰り返し復号処理を止めることができる。
【００６８】
以上のような構成および効果により、実施の形態１に係る誤り訂正復号装置は、消費電力が比較的小さい外符号復号回路の訂正能力を生かして、ＬＤＰＣ符号の繰り返し復号処理回数を抑え、復号処理における消費電力を抑制することができる。
【００６９】
実施の形態２．
先の実施の形態１では、ＬＤＰＣ符号系列の繰り返し復号処理を行う際の繰り返し数を制御することにより、消費電力の抑制を図る場合を中心に説明した。これに対して、本実施の形態２では、その後段のブロック符号の復号処理においても、訂正できないような誤りが発生した場合に、復号処理を途中で中止し、消費電力を抑える場合について説明する。
【００７０】
図３は、本発明の実施の形態２に係る誤り訂正復号装置の構成例を示すブロック図である。本実施の形態２に係る誤り訂正復号装置は、内符号繰り返し復号回路１、内符号繰り返し制御回路２、パラメータ生成回路３、外符号復号回路４、および外符号復号処理停止制御回路５を備えて構成されている。
【００７１】
先の実施の形態１における図１の構成と比較すると、本実施の形態２における図３の構成は、第２の制御回路である外符号復号処理停止制御回路５をさらに備えている点が異なっている。そこで、この相違点を中心に以下に説明する。
【００７２】
外符号復号処理停止制御回路５は、内符号繰り返し制御回路２から異常検出フラグを受信する機能を有する。内符号繰り返し制御回路２は、訂正不可状態判定において、あらかじめ設定された異常判定繰り返し数Ｋに基づいて、異常検出フラグを設定することができる。さらに、外符号復号処理停止制御回路５は、受信した異常検出フラグに基づいて、外符号復号回路４に対して復号処理停止信号を出すことで、外符号復号回路４による復号動作を途中で中止させる機能も有する。
【００７３】
図４は、本発明の実施の形態２に係る図３に示した誤り訂正復号装置によって実行される一連処理を示すフローチャートである。より具体的には、図４には、図３の構成における誤り訂正復号装置に含まれている、内符号繰り返し復号回路１、内符号繰り返し制御回路２、パラメータ生成回路３、外符号復号回路４、および外符号復号処理停止制御回路５の各構成要素により実行される一連処理が示されている。
【００７４】
ＬＤＰＣ符号系列の復号処理に関しては、先の実施の形態１における図２で示した処理と同じであり、同様のステップ番号を用いて、ステップＳ２０１〜ステップＳ２０９として図４中に示されている。図４におけるステップＳ４００〜ステップＳ４０７が、図２のフローチャートに対して新たに追加された処理である。そこで、これらのステップＳ４００〜ステップＳ４０７について、以下に詳細に説明する。
【００７５】
内符号繰り返し制御回路２は、ステップＳ２０７において、繰り返し数ｉにおけるスレショルドパラメータＦ［ｉ］と非０数Ｓとを比較し、Ｓ＞Ｆ［ｉ］であれば、ステップＳ４００の処理に進む。ステップＳ２０７でＹｅｓと判断される場合は、最大繰り返し数まで内符号繰り返し復号処理を行っても誤りが残留し、かつ後段のブロック符号の復号においても、訂正不可で誤りが残留するおそれがある場合に相当する。
【００７６】
そこで、内符号繰り返し制御回路２は、ステップＳ４００において、繰り返し復号処理を止めた後、止めた繰り返し数ｉが、パラメータ生成回路３によりあらかじめ設定された異常判定繰り返し数Ｋよりも小さいか否かを判断する。そして、内符号繰り返し制御回路２は、ｉ＜Ｋである場合には、ＬＤＰＣ符号系列は、同期が外れたデータが入力されている等、異常状態であると判定し、異常検出フラグＡを１にセットする。
【００７７】
さらに、内符号繰り返し制御回路２は、内符号繰り返し復号回路１から仮の硬判定系列がＬＤＰＣ符号の復号結果として、後段のブロック符号の復号処理を行う外符号復号回路４へ渡されるタイミングに合わせて、異常検出フラグＡを外符号復号処理停止制御回路５に渡す。
【００７８】
次に、ステップＳ２１０において、内符号繰り返し復号回路１は、仮の硬判定系列を復号結果として設定し、設定した復号結果を出力する。次に、ステップＳ４０１において、外符号復号回路４は、ＬＤＰＣ符号の復号結果からＢＣＨ符号系列部分を選択し、まず始めにシンドローム演算を行う。
【００７９】
ここで、外符号復号回路４は、ＢＣＨ符号系列が複数のＬＤＰＣ符号系列に含まれている場合には、その全てを入力する。また、この場合には、外符号復号処理停止制御回路５は、複数のＬＤＰＣ符号系列に１対１対応の異常検出フラグＡを内符号繰り返し制御回路２から受け取る。
【００８０】
外符号復号回路４では、通常、ＢＣＨ符号系列部分に対し、ステップＳ４０１におけるシンドローム演算、ステップＳ４０２におけるシンドローム判定、ステップＳ４０６におけるユークリッド演算法等を用いた誤り位置推定処理、およびステップＳ４０７におけるチェンサーチ等を用いた誤り位置特定および訂正処理が行われ、一連の誤り訂正復号処理を終了させていた。
【００８１】
これら一連の流れは、誤り訂正不可であっても実行される処理である。特に、訂正能力の大きいＢＣＨ符号等、ブロック符号の処理においては、ステップＳ４０６による誤り位置推定処理と、ステップＳ４０７による誤り位置特定および訂正処理の処理量とが大きい。
【００８２】
一方、ＢＣＨ符号等のブロック符号では、誤り訂正可能な誤り数の範囲は明確であり、それ以上の誤り数が残留していれば、訂正不可と検出されるか、または誤訂正となる。そこで、本実施の形態２では、外符号復号処理停止制御回路５が、内符号繰り返し制御回路２から受け取った異常検出フラグＡを、事前の誤り状態推定として用いている。
【００８３】
そして、後述するように、本実施の形態２では、異常検出フラグＡを参照し、シンドローム演算を演算開始前あるいは演算途中で止めるか否かを判断することで、消費電力のさらなる削減を図っている。
【００８４】
具体的には、ステップＳ４０１において、ＢＣＨ符号系列が複数のＬＤＰＣ符号系列に含まれている場合には、外符号復号回路４は、ＢＣＨ符号系列のシンドローム演算を行う。それと同時に、外符号復号処理停止制御回路５は、ＢＣＨ符号系列が含まれている複数のＬＤＰＣ符号系列の異常検出フラグＡがＡ＝１となっている数をカウントする。
【００８５】
次に、ステップＳ４０２において、外符号復号回路４は、ＢＣＨ符号化系列のシンドロームが得られたところで、まず、シンドロームが全０、すなわち、誤り無しであるか否かを判定する。シンドロームが全０であり、誤り無しと判定された場合には、ステップＳ４０３に進み、シンドロームが非０であり、誤り有りと判定された場合には、ステップＳ４０４に進む。
【００８６】
ステップＳ４０３に進んだ場合には、外符号復号回路４は、内符号繰り返し復号回路１により誤り訂正が完了したと判断して、ＢＣＨ符号入力系列を復号結果とし、復号処理を終了する。
【００８７】
一方、ステップＳ４０４に進んだ場合には、外符号復号回路４は、シンドロームが非０であることから、誤りが残留していると判断した上で、異常検出フラグＡがＡ＝１である数が、あらかじめ設定された判定数Ｌよりも大きいか否かを判定する。異常検出フラグＡ＝１のカウント数が、判定数Ｌより大きければ、ステップＳ４０５に進み、異常検出フラグＡ＝１のカウント数が、判定数Ｌ以下であれば、ステップＳ４０６に進む。
【００８８】
ステップＳ４０５に進んだ場合には、外符号復号回路４は、外符号であるＢＣＨ符号での復号は訂正不可能であると判定し、復号処理を終了する。すなわち、訂正不可能であると判定された場合には、ステップＳ４０６による誤り位置推定処理と、ステップＳ４０７による誤り位置特定及び訂正処理とが実行されずに、復号処理を終了させることができる。
【００８９】
一方、ステップＳ４０６に進んだ場合には、ステップＳ４０６におけるユークリッド演算法等を用いた誤り位置推定処理と、ステップＳ４０７におけるチェンサーチ等を用いた誤り位置特定および訂正処理とが行われた後、一連の誤り訂正復号処理が終了する。
【００９０】
以上のように、実施の形態２に係る誤り訂正復号装置は、前段の内符号繰り返し制御回路において異常検出フラグを用いた事前誤り状況推定を行い、推定結果に基づいて、後段の外符号復号処理停止制御回路において外符号復号処理を実行すべきか否かを判断する構成を備えている。この結果、実施の形態２に係る誤り訂正復号装置は、先の実施の形態１の効果に加え、外符号復号処理では訂正できないような誤りに対して、無駄に復号処理を行う必要がなく、消費電力が大きくなる訂正不可状態での消費電力を節約することができる。
【００９１】
なお、本実施の形態２では、ＢＣＨ符号系列が複数のＬＤＰＣ符号系列に含まれ、そのシンドローム演算を行ってから、外符号復号処理を実行すべきか否かの判定を行う場合について説明した。しかしながら、本実施の形態２に係る誤り訂正復号装置は、このような処理に限定されるものではない。
【００９２】
本実施の形態２に係る誤り訂正復号装置は、シンドローム演算開始前、あるいはその途中において、異常検出フラグＡがＡ＝１である数をカウントし、その数を判定数Ｌと比較し、外符号復号処理を実行すべきか否かの判定を行うことも可能である。このような処理を採用することで、訂正不可と判定された場合には、シンドローム演算を演算開始前あるいは演算途中で止めることができる。
【００９３】
また、外符号であるＢＣＨ符号系列と内符号であるＬＤＰＣ符号系列が１対１の場合には、外符号復号処理停止制御回路５は、以下のような制御処理を実行することができる。すなわち、外符号復号処理停止制御回路５は、ＢＣＨ符号系列のシンドローム演算スタートと同時、あるいはスタート前に異常検出フラグＡを内符号繰り返し制御回路２から受け取り、外符号復号処理を実行すべきか否かの判定を行う。
【００９４】
そして、外符号復号処理停止制御回路５は、外符号復号処理を実行しないと判定した場合には、シンドローム演算処理を止め、外符号であるＢＣＨ符号での復号は訂正不可能であると判定し、復号処理を終了させることができる。
【００９５】
なお、上述した本実施の形態２では、内復号繰り返し処理での異常終了判定を行うにあたり、繰り返し復号処理を終了した際の繰り返し数が異常判定繰り返し数Ｋより小さい場合に異常検出フラグＡをＡ＝１として設定し、外符号復号処理の停止制御を行う場合について説明した。しかしながら、本実施の形態２に係る誤り訂正復号装置は、このような処理に限定されるものではない。
【００９６】
異常終了時の内符号の繰り返し数等の詳細情報を、内符号繰り返し制御回路２から外符号復号処理停止制御回路５に渡す処理を行っても良い。この場合には、外符号復号処理停止制御回路５は、内符号の繰り返し数に基づいて、外符号復号処理の停止処理制御、停止条件の制御、シンドローム計算中あるいはシンドロームチェック後に停止を判定する制御等、より細かい制御を行うことも可能である。
【００９７】
また、本実施の形態２では、外符号をＢＣＨ符号として説明したが、リードソロモン符号等、他のブロック符号を外符号として用いても、同様の制御処理が可能であることは言うまでもない。
【００９８】
なお、上述した実施の形態１、２に係る誤り訂正復号装置における各機能は、処理回路によって実現される。各機能を実現する処理回路は、専用のハードウェアであってもよく、メモリに格納されるプログラムを実行するプロセッサであってもよい。図５は、本発明の実施の形態１、２に係る誤り訂正復号装置の各機能を専用のハードウェアである処理回路１０００で実現する場合を示した構成図である。また、図６は、本発明の実施の形態１、２に係る誤り訂正復号装置の各機能をプロセッサ２００１およびメモリ２００２を備えた処理回路２０００により実現する場合を示した構成図である。
【００９９】
処理回路が専用のハードウェアである場合、処理回路１０００は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはこれらを組み合わせたものが該当する。図１に示した内符号繰り返し復号回路１、内符号繰り返し制御回路２、パラメータ生成回路３、および外符号復号回路４における各部の機能それぞれ、あるいは、図３に示した内符号繰り返し復号回路１、内符号繰り返し制御回路２、パラメータ生成回路３、外符号復号回路４、および外符号復号処理停止制御回路５における各部の機能それぞれを、個別の処理回路１０００で実現してもよいし、各部の機能をまとめて処理回路１０００で実現してもよい。
【０１００】
一方、処理回路がプロセッサ２００１の場合、内符号繰り返し復号回路１、内符号繰り返し制御回路２、パラメータ生成回路３、外符号復号回路４、および外符号復号処理停止制御回路５における各部の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアおよびファームウェアは、プログラムとして記述され、メモリ２００２に格納される。
【０１０１】
プロセッサ２００１は、メモリ２００２に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、誤り訂正復号装置は、処理回路２０００により実行されるときに、一例として示した図２における各ステップ、あるいは図４における各ステップが結果的に実行されることになるプログラムを格納するためのメモリ２００２を備える。
【０１０２】
これらのプログラムは、上述した各部の手順あるいは方法をコンピュータに実行させるものであるともいえる。ここで、メモリ２００２は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の、不揮発性または揮発性の半導体メモリが該当する。また、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等も、メモリ２００２に該当する。
【０１０３】
なお、上述した各部の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
【０１０４】
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述した各部の機能を実現することができる。
【符号の説明】
【０１０５】
１  内符号繰り返し復号回路（繰り返し復号回路）、２  内符号繰り返し制御回路（第１の制御回路）、３  パラメータ生成回路、４  外符号復号回路、５  外符号復号処理停止制御回路（第２の制御回路）。
【要約】
誤り訂正復号装置は、内符号繰り返し復号回路と、パラメータ生成回路と、第１の制御回路とを備え、第１の制御回路は、パラメータ生成回路で生成されたスレショルドおよび最大繰り返し数をパラメータとして受信し、繰り返し数が最大繰り返し数に達していない場合には、内符号繰り返し復号回路から順次出力される非０数と、繰り返し数ごとに設定されたスレショルドとを比較し、比較結果があらかじめ設定された停止条件を満たす場合には、内符号繰り返し復号回路による繰り返し動作を停止させる。【図１】
0006567238.tif 000002
【図２】
0006567238.tif 000003
【図３】
0006567238.tif 000004
【図４】
0006567238.tif 000005
【図５】
0006567238.tif 000006
【図６】
0006567238.tif 000007