(57)【要約】ＬＤＰＣ（低密度パリティ検査）符号を用いる符号化器及び符号化方法。符号化器はパリティ検査行列Ｈを生成するためのパリティ検査行列生成器；及びパリティ検査行列Ｈを処理して符号語を生成する符号語生成器、そして符号語生成器に備えるものには：パリティ検査行列Ｈを行列ＡとＢに分解するＡＢ分解部；パリティ検査行列Ｈをピボッティングするピボット部;ピボッティングされた行列をビット反転させるビット反転部；行列Ａを行列ＬとＵに分解するＬＵ分解部;行列Ａ，Ｂ，Ｌ及びＵ論理演算を施す符号語生成部である。ビット反転法はパリティ検査行列を効果的に生成し、この行列はレギュラー符号化器を用いる時に高度の最短サイクル長さ（ ｈｉｇｈ-ｇｉｒｔｈ ）を示す。
2006507731.tif 000002
【特許請求の範囲】
【請求項１】
ＬＤＰＣ符号を用いる符号化器において、
パリティを検査するための行列Ｈを生成するパリティ検査行列生成器;及び
前記パリティ検査行列生成器で生成された行列Ｈを処理して符号語を生成する符号語生成器を含み、
前記符号語生成器は、
前記行列Ｈを行列Ａ及び行列Ｂに分解するＡＢ分解部;
前記行列Ｈに対してピボッティングを遂行するピボット部;
ピボッティングされた行列に対してビット反転を遂行するビット反転部;
前記行列Ａを行列Ｌと行列Ｕに分解するＬＵ分解部;及び
前記各行列Ａ、Ｂ、Ｌ及びＵに論理演算を施して符号語を生成する符号語生成部
を含むことを特徴とする、ＬＤＰＣ符号を用いる符号化器。
【請求項２】
前記符号語生成部は、
前記行列Ｂとソース入力情報であるべクトルｓに所定の演算を施してべクトルｚを求める第１演算部;
前記べクトルｚと前記行列Ｌに所定の演算を施してべクトルｙを求める第２演算部;及び
前記べクトルｙと前記行列Ｕに所定の演算を施して符号語ｃを求める第３演算部
を含むことを特徴とする、請求項１に記載の符号化器。
【請求項３】
前記第１演算部は、前記べクトルｓの長さを掛ける論理積演算をし、論理和演算を行って前記べクトルｚを生成することを特徴とする、請求項２に記載の符号化器。
【請求項４】
前記符号語生成部は、前記各行列Ａ、Ｂ、Ｌ及びＵを保存するためのメモリをさらに含むことを特徴とする、請求項１に記載の符号化器。
【請求項５】
前記符号語生成部は、パイプライン方式で論理演算を行うため、また論理演算で計算された結果を保存するためのレジスタをさらに含むことを特徴とする、請求項１に記載の符号化器。
【請求項６】
ＬＤＰＣ符号を用いる符号化方法において、
ａ）パリティ検査行列Ｈを生成する段階;
ｂ）前記Ｈ行列を非特異行列に再構成する段階;
ｃ）前記非特異行列を行列Ａと行列Ｂに分解して保存する段階;
ｄ）ピボッティングを行って実行結果を検査する段階;
ｅ）該検査結果が１であれば、行列Ａを行列Ｌと行列Ｕに分解して保存し、前記各行列Ａ、Ｂ、Ｌ及びＵ から符号語を算出する段階;及び
ｆ）前記ｄ）段階で検査結果が１でなければ、ビット反転を行った後、ピボッティングを遂行する段階
を含むことを特徴とする、ＬＤＰＣ符号を用いる符号化方法。
【請求項７】
前記ｅ）段階は、
ｉ）前記Ｂ行列とソース入力情報であるべクトルｓに所定の演算を施してべクトルｚを求める段階;
ｉｉ）前記べクトルｚと前記行列Ｌに所定の演算を施してべクトルｙを求める段階;及び
ｉｉｉ）前記べクトルｙと前記行列Ｕに所定の演算を施して符号語ｃを求める段階
を含むことを特徴とする、請求項６に記載の符号化方法。
【請求項８】
前記ｉ）段階は、前記べクトルｓの長さを掛ける論理積演算をして前記べクトルｚを生成することを特徴とする、請求項７に記載の符号化方法。
【請求項９】
前記ｉ）、ｉｉ）及びｉｉｉ）段階において、パイプライン方式で所定の演算が行われることを特徴とする、請求項７に記載の符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移動通信システムにおける符号化器及び符号化方法に関し、特に、ＬＤＰＣ（低密度パリティ検査）符号を用いる符号化器と、その符号化方法に関する。
【背景技術】
【０００２】
最近活発に研究されている次世代マルチメディア移動通信では、個人のための移動電話、無線呼び出し、移動データ通信、衛星通信など多様なシステムを統合して、いつでも、どこでも、誰もが通話できるような国際ロ−ミングを提供しなければならない。また、音声、データ、映像などを統合した多重情報サービスを提供することを目標としている。
【０００３】
このように移動通信でマルチメディア通信サービスを支援するためには、高速伝送と多様な時間密度のデータ伝送が要求されるので、チャンネル及びデータの種類に応じた各種符号化技法を使用してシステムの効率を高めることが必須である。
【０００４】
一方、最近は第４世代移動通信システムのチャンネルコーディング方法としてＬＤＰＣ符号が提案されている。ＬＤＰＣ符号は、従来のターボ符号に比べて性能が優れており、復号器の複雑度が低く、並列演算が可能であるから、高速処理が可能になり、ターボ復号器のように反復複号技法を適用することができて、低エラー率と高速データ処理が要求される移動通信システムに適している。
【０００５】
このようなＬＤＰＣ符号は、パリティ検査行列に相当するＨ行列の構成成分が二進要素である場合と二進要素ではない場合に分けることができる。
【０００６】
二進要素ではないもので構成されたＨ行列は、二進要素で構成されたＨ行列より性能が優れているが、ガロアフィールド演算が複雑な短所がある。反面、二進ＬＤＰＣ符号は、Ｈ行列が２進要素である０または１で構成されて、Ｈ行列の各行重みが同一のもの、つまりレギュラーＬＤＰＣ符号と、各行の重みが同一ではないイレギュラーＬＤＰＣ符号に分類できる。
【０００７】
この中、レギュラーＬＤＰＣ符号は、行の重みを一定に構成しなければならない制約条件のため、Ｈ行列を構成することが自由でない。反面、イレギュラーＬＤＰＣ符号は、Ｈ行列の行重みが一定ではないので復号性能を左右するｈｉｇｈ-ｇｉｒｔｈ、つまりＴａｎｎｅｒが特許文献１で定義したように、高度の最小サイクル長（４サイクル以外の最小サイクル）で構成されるＨ行列を生成することが自在である長所がある。また、イレギュラーＬＤＰＣ符号は、レギュラーＬＤＰＣ符号より一般に性能が優秀であることが知られているが、Ｈ行列のイメージ情報を有しているべきであるＬＤＰＣ符号化器と復号器の側面からは複雑度が増加する短所がある。
【０００８】
【特許文献１】米国特許４，２９５，２１８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、このような問題点を解決するためのものであって、レギュラーＬＤＰＣ符号を利用してイレギュラーＬＤＰＣ符号の性能を示すＨ行列の生成方法及びこれを利用するＬＤＰＣ符号化器を提供することを目的とする。
【課題を解決するための手段】
【００１０】
このような技術的課題を解決するための本発明の一つの特徴によれば、ＬＤＰＣ符号を用いる符号化器は、パリティ検査行列Ｈを生成するパリティ検査行列生成器;及び前記パリティ検査行列Ｈを処理して符号語を生成する符号語生成器を含み、
更に、前記符号語生成器は、前記パリティ検査行列Ｈを行列Ａと行列Ｂに分解するＡＢ分解部;前記行列Ｈに対してピボッティングを遂行するピボッティング部;ピボッティングされた行列に対してビット反転を遂行するビット反転部;前記行列Ａを行列Ｌと行列Ｕに分解するＬＵ分解部;及び前記各行列Ａ、Ｂ、Ｌ及びＵに論理演算を施す符号語生成部を含む。
【００１１】
また、前記符号語生成部は、前記行列Ｂとソース入力情報であるべクトルｓに所定の演算を施してべクトルｚを求める第１演算部;前記べクトルｚと前記行列Ｌに所定の演算を施してべクトルｙを求める第２演算部;及び前記べクトルｙと前記行列Ｕに所定の演算を施して符号語ｃを求める第３演算部を含む。
【００１２】
前記第１演算部は、前記べクトルｓの長さを掛ける論理積演算をし、また論理和演算を行って前記べクトルｚを生成する。
【００１３】
前記符号語生成部は、前記各行列Ａ、Ｂ、Ｌ及びＵを保存するためのメモリをさらに含む。
【００１４】
また、前記符号語生成部は、パイプライン方式で論理演算を行って、論理演算で計算された結果を保存するためのレジスタをさらに含む。
【００１５】
また、本発明の一つの特徴によれば、ＬＤＰＣ符号を用いる符号化方法は、
ａ）パリティ検査行列Ｈを生成する段階;
ｂ）前記行列Ｈを非特異行列に再構成する段階;
ｃ）前記非特異行列を行列Ａと行列Ｂに分解して保存する段階;
ｄ）ピボッティングを行って実行結果を検査する段階;
ｅ）該検査結果が１であれば、行列Ａを行列Ｌと行列Ｕに分解して保存し、前記各行列Ａ、Ｂ、Ｌ及びＵから符号語を計算する段階;及び
ｆ）前記ｄ）段階で検査結果が１でなければ、ビット反転を行った後、再びピボッティングを遂行する段階を含む。
【００１６】
前記ｅ）段階は、
ｉ）前記Ｂ行列とソース入力情報であるべクトルｓに所定の演算を施してべクトルｚを求める段階;ｉｉ）前記べクトルｚと前記行列Ｌに所定の演算を施してべクトルｙを求める段階;及び、ｉｉｉ）前記べクトルｙと前記行列Ｕに所定の演算を施して符号語ｃを求める段階を含む。
【００１７】
前記ｉ）段階は、前記べクトルｓの長さを掛ける論理積演算をして前記べクトルｚを生成する。
【００１８】
また、前記ｉ）、ｉｉ）及びｉｉｉ）段階では、パイプライン方式で所定の演算が行われる。
【発明の効果】
【００１９】
本発明によるＬＤＰＣ符号化方法を適用すると、レギュラー符号化器を利用してｈｉｇｈ-ｇｉｒｔｈを有するパリティ検査行列を高速で生成することができる。したがって、符号化器の性能は、イレギュラーＬＤＰＣの性能と類似していながらもハードウェアの複雑度が低い符号化器を実現することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の属する技術分野における通常の知識を有する者が本発明を容易に実施できる最も好ましい実施例を、添付した図面を参照して詳細に説明する。
【００２１】
一般にＬＤＰＣ符号の符号化方法は、生成行列Ｇによって符号化する方法とパリティ検査行列Ｈによって符号化する方法がある。
【００２２】
この中、生成行列Ｇによって符号化する方法は、復号器のためにパリティ検査行列Ｈを求めた後、行列Ｈを行列Ｇに変換する。生成行列Ｇは、ガウス消去法によって得られるが、この生成行列Ｇをハードウェアやソフトウェアの手法で実現する過程は非常に不規則なので、多くの演算が必要である。
【００２３】
したがって、本発明の好ましい実施例では、生成行列Ｇを求めないでパリティ検査行列Ｈを用いてＬＤＰＣ符号を作る方法と装置を提案する。
【００２４】
一般に、与えられた符号語ｕと（Ｍ×Ｎ）のパリティ検査行列Ｈは次の式（１）を満足する。
【００２５】
【数１】
2006507731.tif 000003
【００２６】
一方、メッセージビットｓが符号語ｕの右側部分に置かれて、パリティ検査ビットｃが、その左に置かれると仮定すれば、符号語ｕは次の式（２）で与えられる。
【００２７】
【数２】
2006507731.tif 000004
【００２８】
したがって、パリティ検査行列Ｈは次の式（３）で与えられる。
【００２９】
【数３】
2006507731.tif 000005
【００３０】
上の式で、Ａは（Ｍ×Ｎ）行列であり、Ｂは{Ｍ×（Ｎ-Ｍ）}行列である。そして、行列Ａは行列Ｈの左に置かれる単位行列である。
【００３１】
一方、上の式（２），（３）によって式（１）は次の式（４）のようになる。
【００３２】
【数４】
2006507731.tif 000006
【００３３】
したがって、パリティ検査ビットｃは次の式（５）で与えられる。
【００３４】
【数５】
2006507731.tif 000007
【００３５】
上式で行列Ａは、非特異行列でなければパリティ検査ビットｃを計算することができない。一方、列交換を通じて得られた二つの行列は互いに等価であるので、行列Ａが非特異行列でなければ臨時パリティ検査ビットｃ´を求めた後に、列交換により元来のパリティ検査ビットｃを求めることができる。
【００３６】
したがって、上のような符号化過程でパリティ検査行列Ｈを生成するためにはまず、非特異行列Ａを求めるべきである。しかし、列交換や行交換だけではリソースが制限されるために、非特異行列Ａが常に容易に求められるのではなく、パリティ検査行列Ｈが大きいほど、その生成時間が長くなったり生成自体が不可能になったりする。
【００３７】
一方、最近はこのようなパリティ検査行列をリアルタイムで生成しなくて、いくつかの大きさで予め決定された場合に対して符号化する方法が提案された。これは、主にサブ行列を繰り返したりシフトされた状態で反復構成して入力情報の大きさに符合するパリティ検査行列を生成して符号化することである。
【００３８】
しかし、このようにサブ行列を繰り返す過程で行列の大きさが大きくなり、そのために列の重みも重くなる。この時、列の重みの増加は、ＬＤＰＣ符号の性能向上に影響を与えない。しかし、パリティ検査行列をＲＯＭ（読出し専用メモリ）に保存するためには重みが存在する行と列の位置情報のみを保存するが、行または列の重みが行列の大きさによって大きくなったり変化したりすると、ハードウェアの複雑度がその分加重されるようになる。
【００３９】
したがって、本発明は非特異行列Ａを効率的に求めるための方法としてピボッティング方法とビット反転方法を提案する。
【００４０】
ビット反転方法は、非特異行列を構成するためにまず、ピボッティングを行って、ピボッティングで満足できないとビットを互いに反転させる。ビットを反転させるとレギュラーＬＤＰＣ符号のために パリティ検査行列Ｈの行と列の重みを変えないでピボッティングを迅速に満足させることができる。
【００４１】
このようなビット反転方法では、行と列の要素が０であれば１に変えて、１であれば０に変える。この時、パリティ検査行列Ｈの行重みと列重みに変化を与えないために対角方向にあるビットも互いに反転させる。
【００４２】
本発明の実施例による非特異行列を生成する方法を詳細に説明する。
【００４３】
図１は、本発明の実施例によるパリティ検査行列Ｈを利用して符号化する過程を示したものである。
【００４４】
図示のように、ＬＤＰＣ符号化器ではまず、パリティ検査行列Ｈ１０１を、Ｇａｌｌａｇｅｒが提案した方法で生成する。つまり、３個のサブ行列を有する（Ｎ、３、６）符号において、第１サブ行列は、ｉ行に対して（ｊ-１)*ｋ+１〜ｉ*ｋの列を構成する。ここでｊは列重みであり、ｋは行重みとして６である。第２サブ行列は、第１サブ行列をブロックインターリビング順序に交換する。また、第３は第２サブ行列をブロックインターリビング順で交換する。
【００４５】
パリティ検査行列Ｈ１０１は、符号語を生成するように構成する。このために、行列Ａ１０２及び行列Ｂ１０３のように列や行を交換し、これによって、パリティ検査行列Ｈを行列Ａと行列Ｂに分解する時、行列Ａを非特異行列に構成する。
【００４６】
次に、行列Ａの逆行列を求めて、式（５）に代入して符号語ｃを生成する。この時、ハードウェア実現を容易にするためにＬＵ分解を適用する。
【００４７】
一方、ＬＵ分解のためにピボッティング結果が常に１を満足するように行列を構成すると、非特異行列になるので、ピボッティング結果が１になるようにＡ行列を構成する。行列Ａ１０４と行列Ｂ１０５に対してＬＵ分解を行うと、 行列Ｌ１０６と 行列Ｕ１０７が得られる。
【００４８】
行列Ｌ、Ｕ の積が行列Ａであるので順方向及び逆方向置換方式で符号語ｃを求めることができ、これは図５の逆行列Ａ-1による計算結果と同じ結果を与える。
【００４９】
生成された符号語の順序は、非特異行列を求めるために交換された列順序に従って交換させる。
【００５０】
一方、ＬＵ分解において行列要素が二進数であるので、行列Ａの逆行列は、二進形式の非特異行列にすべきであり、行列ＬとＵも二進要素を持つべきである。
【００５１】
この時、行列ＡをＬＵ分解するため、ピボッティング過程は以下のとおりである。
【００５２】
【数６】
2006507731.tif 000008
【００５３】
上式によるピボッティング過程を経た行列は次の通りである。
【００５４】
【数７】
2006507731.tif 000009
【００５５】
上記行列を 行列ＬとＵに分解することによって、符号化過程が終わる。
【００５６】
一方、非特異行列を生成するためには、ピボット結果が１になるべきであるが、そうでない場合には列を交換してピボット結果を再び確認する。しかし、列を交換してもピボット結果が１にならない場合、つまり、非特異行列にならない場合には、ビット反転方法を適用して効果的に非特異行列を生成することができる。
【００５７】
ビット反転は、行列Ｈの行列Ａ部分が容易に非特異行列に構成されるようにする方法として、列や行の交換を行ってもピボッティングに失敗した時、本発明の実施例によるビット反転方法を適用すれば簡単であり、効率的に非特異行列を構成することができる。
【００５８】
図２は、本発明の実施例による符号化方法によって対角要素が０から１に変更されるビット反転過程を示したものである。
【００５９】
図示のように、ビット反転は、対角要素の位置を中心に＋ｙ方向と＋ｘ方向に検査してビットを修正する。この時、＋ｘと＋ｙの間隔が近い順にビット反転が進められる。そうすると、４サイクルに対する除去だけでなく、ｈｉｇｈ-ｇi rｔｈのＨ行列を生成することにも効果的で、イレギュラーＬＤＰＣ復号性能と類似な性能を示す。
このように生成されたパリティ検査行列の符号化を効率的なハードウェア回路に実現するためには、行と列の位置のみを保存してメモリ使用量を減少させる。また、符号化器の全体構造は、高速移動通信システムに適したパイプライン方式で動作するように構成する。
【００６０】
一方、図３は、図２で生成されたパリティ検査行列Ｈを利用してＬＤＰＣ符号を作るためのハードウェア結線図を示す。
【００６１】
図示のように、パリティ検査行列生成器３０１は、パリティ検査行列Ｈを生成して出力し、符号語生成器３０２が受け取って、符号化する。
【００６２】
図４は、図３に示す符号語生成器３０２の簡単な構成ブロックである。
【００６３】
図示のように、符号語生成器３０２は、Ｂ＊ｓ計算ブロック４０１、Ｌ＊ｙ計算ブロック４０３及びＵ＊ｃ計算ブロック４０４を備え、各計算ブロックは、パイプライン方式で動作する。各ユニット４０２は、パイプライン処理過程での臨時保存機能をする二重バッファである。
【００６４】
図５は、図４の符号語生成器の構造を詳細に示したものである。
【００６５】
図示のように、符号語生成器は、ソース入力部５０１、Ｂ*ｓ計算部５０２、Ｌ*ｙ計算部５０６、Ｕ*ｃ計算部５１１、２つのパイプラインバッファ５０５、５１０、出力バッファ５１５及び３個のＲＯＭ５０３、５０９、５１４を備え、更に備えられるレジスタ５０７と５１２は、行列の各行ごとに置換による中間値を保存し、この他、ＲＯＭアドレス発生器５０４と５１３が、行列の行数増加のために備えられる。
【００６６】
Ｂ*ｓ計算部５０２は、ソース入力部５０１から供与されたソース入力にソース入力情報の長さを掛ける論理積演算をし、それらに論理和演算をしてベクトルｚを生成して、このベクトルｚは、パイプラインバッファ５０５を通じてＬ*ｙ計算部５０６に入力される。
【００６７】
Ｌ*ｙ計算部５０６は、ベクトルｚと行列Ｌに論理演算を施してベクトルｙを生成し、このベクトルｙは、パイプラインバッファ５１０を通じてＵ*ｃ計算部５１１に入力される。
【００６８】
また、Ｕ*ｃ計算部５１１は、ベクトルｙと行列Ｕに論理演算を施して符号語ｃを生成する。
【００６９】
このように、計算部５０２、５０６、５１１は、同じ動作を行い、並列方式で動作したり、回路を共有して時分割計算したりでき、したがって、ハードウェアの性能（出力効率）が向上する。
【００７０】
以上の構成を持つ符号語生成器の性能（伝送率）は、次式によって決定される。
【００７１】
【数８】
2006507731.tif 000010
【００７２】
上の式でＰａｒは、並列ファクターであり、Ｗｒは各行の重みである。並列ファクターの値は１６、３２、６４ であり、並列ファクターが大きいほどハードウェアの複雑度が増すが、伝送率を高めることができる。
【００７３】
図６は、符号化過程を示したフローチャートである。
【００７４】
図示のように、まず、パリティ検査行列Ｈを生成して、これを非特異行列に再構成した（Ｓ６０１〜６０２）後、非特異行列を行列Ａと行列Ｂに分離してＲＯＭに保存する（Ｓ６０３〜６０４）。その後、ピボッティングを実行して（Ｓ６０５）、その結果が１であれば行列ＡをＬＵ分解して行列Ｌと行列Ｕを保存する（Ｓ６０６、Ｓ６０８）。
【００７５】
一方、ピボッティング結果が１でなければ、ビット反転を行った後（Ｓ６０７）、再びピボッティングを実行する。
【００７６】
次に、この前に保存した行列Ｂとソース入力情報であるべクトルｓに演算を施してべクトルｚを求め（Ｓ６０９）、このべクトルｚと保存された行列Ｌに演算を施してべクトルｙを求めた後（Ｓ６１０）、べクトルｙと行列Ｕに演算を施して符号語ｃを求める（Ｓ６１１）。
【００７７】
以上のように、ＬＤＰＣ符号化方法を用いると、高度の最小サイクル長（４サイクル以外の最小サイクル）を有するパリティ検査行列を、レギュラー符号化器を用いて、高速生成できる。従って、イレギュラーＬＤＰＣと同様の性能を持つが、それほど複雑でない符号化器を実現できる。
【００７８】
前記図面と発明の詳細な説明は、単に本発明の例示的なことであり、これらは、ただ本発明を説明するための目的として使用されたことであって、意味の限定や特許請求の範囲に記載された本発明の範囲を制限するために使用されたことではない。したがって本技術分野の通常の知識を有する者であれば、これに基づいて多様な変形及び均等な他実施例が可能であるという点を理解することである。したがって、本発明の真の技術的保護範囲は、添付された特許請求の範囲の技術的思想により決められるべきである。
【図面の簡単な説明】
【００７９】
【図１】本発明の好ましい実施例に従ってパリティ検査行列Ｈを用いるＬＤＰＣ符号化過程を示した図である。
【図２】本発明の好ましい実施例に従う符号化方法におけるビット反転過程を示した図である。
【図３】図２で生成されたパリティ検査行列Ｈを用いるＬＤＰＣ符号化するためのハードウェアの連結図である。
【図４】図３の符号語生成器における内部構造を簡略に示した図である。
【図５】図４の符号語生成器における詳細ブロック図である。
【図６】符号化過程のフローチャートである。
【図１】
2006507731.tif 000011
【図２】
2006507731.tif 000012
【図３】
2006507731.tif 000013
【図４】
2006507731.tif 000014
【図５】
2006507731.tif 000015
【図６】
2006507731.tif 000016
【国際調査報告】
2006507731.tif 000017
2006507731.tif 000018