(57)【要約】【課題】空間結合符号を効率的に復号する。【解決手段】実施形態によれば、復号装置は、制御部２０２と復号部２０４とを含む。制御部２０２は、第１のターゲットフレームに適用される窓サイズを第１の値に決定し、第１のターゲットフレームと異なる第２のターゲットフレームに適用される窓サイズを第１の値と異なる第２の値に決定する。復号部２０４は、第１のターゲットフレームに対して窓サイズを第１の値とする空間結合符号の窓復号を行い、第２のターゲットフレームに対して窓サイズを第２の値とする空間結合符号の窓復号を行う。【選択図】図２
2013198017.tif 000002
【特許請求の範囲】
【請求項１】
第１のターゲットフレームに適用される窓サイズを第１の値に決定し、前記第１のターゲットフレームと異なる第２のターゲットフレームに適用される窓サイズを前記第１の値と異なる第２の値に決定する制御部と、
前記第１のターゲットフレームに対して窓サイズを前記第１の値とする空間結合符号の窓復号を行い、前記第２のターゲットフレームに対して窓サイズを前記第２の値とする空間結合符号の窓復号を行う復号部と
を具備する、復号装置。
【請求項２】
前記第１のターゲットフレームのＳＮＲは、前記第２のターゲットフレームのＳＮＲよりも低く、
前記第１の値は、前記第２の値よりも大きい、
請求項１の復号装置。
【請求項３】
前記制御部は、前記第１のターゲットフレームの復号が失敗し、かつ、前記第１のターゲットフレームが再び復号される場合には、前記第１のターゲットフレームに適用される窓サイズを前記第１の値よりも大きい第３の値に変更する、請求項１の復号装置。
【請求項４】
前記第２のターゲットフレームは、要求誤り率特性、要求消費電力及び要求遅延時間のうち少なくとも１つにおいて、前記第１のターゲットフレームと異なる、請求項１の復号装置。
【請求項５】
前記制御部は、前記第１のターゲットフレームに含まれるターゲットビット列が最大繰り返し回数以下の第１の回数の繰り返し復号によっても復号されない場合には、前記ターゲットビット列に適用される窓サイズを前記第１の値よりも大きい第４の値に変更する、請求項１の復号装置。
【請求項６】
受信信号を復調し、前記第１のターゲットフレーム及び前記第２のターゲットフレームを得る復調器と、
請求項１の復号装置と
を具備する通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、空間結合符号の復号に関する。
【背景技術】
【０００２】
空間結合符号（ＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）畳み込み符号とも呼ばれる）のパリティ検査行列は、レギュラＬＤＰＣ符号のパリティ検査行列に基づく帯行列である。空間結合符号は、繰り返し復号（即ち、ＢＰ（Ｂｅｌｉｅｆ  Ｐｒｏｐａｇａｔｉｏｎ）復号）によって、通信路容量（シャノン限界）を達成できる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｐａｐａｌｅｏ，  Ｍ．；  Ｉｙｅｎｇａｒ，  Ａ．Ｒ．；  Ｓｉｅｇｅｌ，  Ｐ．Ｈ．；  Ｗｏｌｆ，  Ｊ．Ｋ．；  Ｃｏｒａｚｚａ，  Ｇ．Ｅ．；  ，  ”Ｗｉｎｄｏｗｅｄ  ｅｒａｓｕｒｅ  ｄｅｃｏｄｉｎｇ  ｏｆ  ＬＤＰＣ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｃｏｄｅｓ，”  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ  Ｗｏｒｋｓｈｏｐ  （ＩＴＷ），  ２０１０  ＩＥＥＥ，    ｐｐ．１−５，  ６−８  Ｊａｎ．  ２０１０
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実施形態は、空間結合符号を効率的に復号することを目的とする。
【課題を解決するための手段】
【０００５】
実施形態によれば、復号装置は、制御部と復号部とを含む。制御部は、第１のターゲットフレームに適用される窓サイズを第１の値に決定し、第１のターゲットフレームと異なる第２のターゲットフレームに適用される窓サイズを第１の値と異なる第２の値に決定する。復号部は、第１のターゲットフレームに対して窓サイズを第１の値とする空間結合符号の窓復号を行い、第２のターゲットフレームに対して窓サイズを第２の値とする空間結合符号の窓復号を行う。
【図面の簡単な説明】
【０００６】
【図１】各実施形態に係る復号装置を組み込んだ通信装置を例示するブロック図。
【図２】第１の実施形態に係る復号装置を例示するブロック図。
【図３】窓復号の説明図。
【図４】種々の窓サイズの下での誤り率特性とＳＮＲとの関係を例示するグラフ。
【図５】第１の実施形態に係る復号装置によって行われる復号処理を例示するフローチャート。
【図６】第２の実施形態に係る復号装置によって行われる復号処理を例示するフローチャート。
【図７】第３の実施形態に係る復号装置によって行われる復号処理を例示するフローチャート。
【図８】各実施形態に係る復号装置を組み込んだ記憶装置を例示するブロック図。
【図９】空間結合符号のパリティ検査行列を例示する図。
【図１０】図９のパリティ検査行列のタナーグラフを示す図。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら実施形態の説明が述べられる。尚、以降、説明済みの要素と同一または類似の要素には同一または類似の符号が付され、重複する説明は基本的に省略される。
【０００８】
各実施形態に係る復号装置は、誤り訂正復号が必要とされる種々の機器に組み込まれてよい。具体的には、復号装置は、例えば受信機、送受信機などの通信系に組み込まれてもよいし、例えば記憶装置などの記録再生系に組み込まれてもよい。
【０００９】
例えば、各実施形態に係る復号装置は図１に示される通信装置に組み込まれてもよい。図１の通信装置は、アンテナ１０１と、周波数変換器１０２と、アナログデジタル変換器１０３と、復調器１０４と、チャネル推定器１０５と、復号器１０６とを備える。尚、図１の通信装置は、低雑音増幅器、フィルタなどの図示されない機能部を含んでもよい。更に、図１の通信装置は、データを符号化及び変調して送信するための機能部を含んでもよい。
【００１０】
図１の通信装置は、符号化及び変調された信号を受信し、復調及び復号することによって、受信データを復元する。図１の通信装置は、典型的には、（例えば、セルラ、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの無線通信方式をサポートする）無線受信機であってもよいし、放送波受信機であってもよい。
【００１１】
アンテナ１０１は、高周波のＲＦ信号を受信し、周波数変換器１０２へと出力する。周波数変換器１０２は、アンテナ１０１から受信ＲＦ信号を入力する。周波数変換器１０２は、受信ＲＦ信号をダウンコンバートし、中間周波数信号を得る。周波数変換器１０２は、中間周波数信号をアナログデジタル変換器１０３へと出力する。
【００１２】
アナログデジタル変換器１０３は、周波数変換器１０２から中間周波数信号を入力する。アナログデジタル変換器１０３は、中間周波数信号をアナログドメインからデジタルドメインに変換し、デジタル受信信号を得る。アナログデジタル変換器１０３は、デジタル受信信号を復調器１０４及びチャネル推定器１０５へと出力する。
【００１３】
チャネル推定器１０５は、例えばパイロット信号を用いてチャネル情報を推定する。チャネル情報は、例えば受信ＳＮＲ、フェージング情報などを含む。チャネル推定器１０５は、チャネル情報を復調器１０４及び復号器１０６へと出力する。尚、復号器１０６がチャネル情報を用いることなく後述される窓サイズを制御するように構成されている場合には、チャネル推定器１０５はチャネル情報を復号器１０６へ出力しなくてもよい。
【００１４】
復調器１０４は、アナログデジタル変換器１０３からデジタル受信信号を入力し、チャネル推定器１０５からチャネル情報を入力する。復調器１０４は、送信側において施された変調方式に対応する復調方式に従ってデジタル受信信号を復調し、復調データを得る。復調器１０４は、復調データを復号器１０６へと出力する。
【００１５】
復調器１０４は、チャネル情報を利用することにより、デジタル受信信号を高精度に復調する。尚、復号器１０６が復号失敗時に事後尤度を復調器１０４にフィードバックするように構成されている場合には、復調器１０４はフィードバックされた事後尤度を用いて復調を行ってもよい。
【００１６】
復号器１０６には、後述される各実施形態のいずれかに係る復号装置が組み込まれる。復号器１０６は、復調器１０４から復調データを入力する。復調データは、空間結合符号フレームの入力尤度に相当する。復号器１０６は、送信側において施された符号化方式である空間結合符号化に対応する復号方式に従って空間結合符号フレームを復号し、復号データを得る（即ち、情報フレームを復元する）。具体的には、復号器１０６は、後述される窓復号において適用される窓サイズを決定し、決定した窓サイズに基づいて窓復号を行い、復号データを得る。復号器１０６は、復号データを外部へと出力する。尚、復号器１０６は、必要に応じて、チャネル情報を入力し、これに基づいて窓サイズを制御してもよい。
【００１７】
また、前述の通り、各実施形態に係る復号装置は記憶装置に組み込まれてもよい。例えば、各実施形態に係る復号装置は、図８に示される記憶装置６０３に組み込まれてもよい。  
図８の記憶装置６０３は、例えばフラッシュメモリなどの不揮発性メモリである少なくとも１つの半導体メモリ部６０５と、半導体メモリ部６０５を制御するメモリコントローラ６０２とを備える。記憶装置６０３は、ホスト６０４（例えば、パーソナルコンピュータなど）と接続し、ホスト６０４との間でデータを送受信する。例えば、ホスト６０４は、記憶装置６０３からデータを読み出したり、記憶装置６０３にデータを書き込んだりすることができる。
【００１８】
メモリコントローラ６０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６０７と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）コア６０８と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６０９と、ホストＩ／Ｆ（インタフェース）６１０と、誤り訂正部６１１と、メモリＩ／Ｆ６１２とを備える。メモリコントローラ６０２の各要素は、バス６０６によって互いに接続されている。
【００１９】
ＣＰＵコア６０８は、ホストＩ／Ｆ６１０を介してホスト６０４との間でデータを送受信したり、メモリＩ／Ｆ６１２を介して半導体メモリ部６０５との間でデータを送受信したりする。即ち、ＣＰＵコア６０８は、半導体メモリ部６０５からデータを受ける読み出し部として機能したり、半導体メモリ部６０５にデータを送る書き込み部として機能したりする。また、ＣＰＵコア６０８上で実行されるＦＷ（Ｆｉｒｍ  Ｗａｒｅ）は、書き換え回数の制限を含む半導体メモリ部６０５のアドレス管理を実現する。更に、ＦＷは、ホスト６０４からのコマンド入力に応じた記憶装置６０３全体の制御も実現する。
【００２０】
ＲＯＭ６０７には、記憶装置６０３の制御プログラムなどが記憶されている。ＲＡＭ６０９には、アドレス管理において必要となるアドレス変換テーブル、異常回路の情報などが記憶される。
【００２１】
誤り訂正部６１１は、符号化器６０１と復号器６１３とを含む。符号化器６０１は、半導体メモリ部６０５に書き込まれるデータの誤り訂正符号化を行う。即ち、符号化器６０１は、情報フレームに基づいて空間結合符号フレームを生成する。他方、復号器６１３には各実施形態に係る復号装置が組み込まれる。復号器６１３は、半導体メモリ部６０５から読み出されたデータの誤り訂正復号を行う。即ち、復号器６１３は、空間結合符号フレームに窓復号を行い、復号データ（即ち、情報フレーム）を得る。
【００２２】
尚、図８の記憶装置６０３には、図１のチャネル推定器１０５に相当する機能部が描かれていないが、チャネル情報を推定するための機能部が設けられてもよい。更に、後述されるように、復号器６１３は、チャネル情報に基づいて窓サイズを制御してもよい。
【００２３】
（第１の実施形態）  
第１の実施形態に係る復号装置は、空間結合符号の窓復号を行う。以下に、ＬＤＰＣ符号の復号技法の一種である繰り返し復号（即ち、ＢＰ復号）が説明され、それから本実施形態に係る復号装置が実行する窓復号が説明される。
【００２４】
一般的に、パリティ検査行列の構造は、タナーグラフを用いて表現することができる。タナーグラフは、変数ノードグループと、チェックノードグループと、これらの間に形成される辺（エッジ）とによって表現される。具体的には、パリティ検査行列の第ｍ行第ｎ列の要素が「１」であるならば、チェックノードＰｍと変数ノードＶｎとが辺で結ばれる。
【００２５】
ＢＰ復号によれば、最初に各変数ノードには入力尤度が与えられ、それから各変数ノードと各チェックノードとの間で辺を介してメッセージを交換する処理が繰り返される。繰り返しが終了すると、各変数ノードの事後尤度の硬判定結果が復号結果として出力される。
【００２６】
ＢＰ復号は、誤り率特性において優れるものの、復号結果が出力されるまでの遅延時間が大きく消費電力も大きい。また、空間結合符号をＢＰ復号する場合の演算量のオーダはＯ（ｎＬ２）となり、連結数（Ｌ）の２乗に比例して演算量が増大する。
【００２７】
レギュラＬＤＰＣ符号のパリティ検査行列に基づく帯行列である空間結合符号は、そのパリティ検査行列の構造を利用することによって効率的に復号可能である。具体的には、空間結合符号のパリティ検査行列は、下記数式（１）に示されるように、パリティ検査行列中で「１」の要素が局所化されている。故に、空間結合符号に対して局所的なパリティ検査行列を用いた復号を行うことができる。
【数１】
2013198017.tif 000003
【００２８】
数式（１）に含まれる複数のブロック行列（Ｈ０，・・・，Ｈｍ）は、いずれも（ｎ−ｋ）行×ｎ列の疎行列に相当する。即ち、数式（１）のパリティ検査行列（Ｈ）のサイズは、（Ｌ＋ｍ）（ｎ−ｋ）行×Ｌｎ列である。パリティ検査行列によって定義される符号語は、符号長がＬｎであり、パリティ長が（Ｌ＋ｍ）（ｎ−ｋ）である。尚、ｍはメモリサイズと呼ばれるパラメータを表す。
【００２９】
空間結合符号のパリティ検査行列が図９に例示されている。図９のパリティ検査行列において、Ｌ＝２、ｍ＝１、ｎ＝１２、ｋ＝６である。即ち、図９のパリティ検査行列のサイズは１８行×２４列である。このパリティ検査行列によって定義される符号語は、符号長が２４ビットであり、パリティ長が１８ビットである。図９のパリティ検査行列は、６行×１２列のレギュラＬＤＰＣ符号用パリティ検査行列が展開された２つのブロック行列（Ｈ０及びＨ１）に基づく帯行列である。
【００３０】
具体的には、第１行第１列から第６行第１２列まで第１のブロック行列（Ｈ０）が配置され、第７行第１列から第１２行第１２列まで第２のブロック行列（Ｈ１）が配置されている。更に、第７行第１３列から第１２行第２４列まで第１のブロック行列（Ｈ０）が再び配置され、第１３行第１３列から第１８行第２４列まで第２のブロック行列（Ｈ１）が再び配置されている。尚、図９のパリティ検査行列は、下記数式（２）によっても表現できる。
【数２】
2013198017.tif 000004
【００３１】
図９のパリティ検査行列は、図１０に示されるタナーグラフによって表現できる。尚、図１０のタナーグラフは、簡単化のために辺が省略されている。実際には、例えば、変数ノードＶ１はチェックノードＰ１，Ｐ２及びＰ４と辺で夫々接続されるし、チェックノードＰ３は変数ノードＶ２、Ｖ３及びＶ４と辺で夫々接続される。尚、図９のパリティ検査行列の列重みは「３」なので、各変数ノードに接続される辺の合計はいずれも「３」である。
【００３２】
窓復号によれば、図３に例示されるように、パリティ検査行列よりも小さなサイズを持つ窓を用いた局所的なパリティ検査行列を用いて復号が実行される。図３の太枠は窓を表している。窓は、その枠内にパリティ検査行列内の複数のブロック行列（例えば、図３のＨ０，Ｈ１及びＨ２）を包含するように設計される。窓は、典型的には、その枠内に行方向にＷ個及び列方向にＷ個の合計Ｗ×Ｗ個のブロック行列を包含するように設計される。そして、上記局所的なパリティ検査行列を用いた復号において、窓枠内に包含されるブロック行列が使用される。
【００３３】
具体的には、窓復号によれば、復号対象の空間結合符号フレーム（以降の説明において、ターゲットフレームとも呼ばれる）を分割したターゲットビット列単位で復号処理を実行できる。ターゲットビット列のサイズは、パリティ検査行列に含まれるブロック行列の列サイズ（ｎ）に依存する。ターゲットビット列の復号が終了すると当該ターゲットビット列の復号結果が出力され、窓は右下方向にスライドする。これに伴ってターゲットビット列も移動するので、最終的にターゲットフレーム全体の復号結果が得られる。
【００３４】
尚、図３において、Ｌ＝８、ｍ＝２、Ｗ＝４である。即ち、図３に示されるパリティ検査行列のサイズは１０（ｎ−ｋ）行×８ｎ列である。このパリティ検査行列によって定義される符号語は、符号長８ｎビットであり、パリティ長が１０（ｎ−ｋ）ビットである。また、窓は、行方向に４個及び列方向に４個の合計１６個のブロック行列を包含する。
【００３５】
窓復号によれば、ターゲットビット列単位で復号結果が出力されるので、ターゲットフレーム単位で復号結果を出力する必要のあるＢＰ復号に比べて遅延時間を小さくすることができる。具体的には、窓サイズがＷ（ｎ−ｋ）行×Ｗｎ列であるならば、当該窓サイズに基づく窓復号による遅延時間は、ＢＰ復号による遅延時間のＷ／Ｌ倍となる。尚、ＷはＬ未満であるからＷ／Ｌは１未満である。
【００３６】
また、窓サイズがＷ（ｎ−ｋ）行×Ｗｎ列であるならば、当該窓サイズに基づく窓復号による演算量のオーダはＯ（ｎＬＷ２）である。従って、窓復号によれば、Ｗ＜√ＬのときにＢＰ復号よりも小さな演算量（即ち、低消費電力）でターゲットフレームを復号することもできる。
【００３７】
更に、窓復号において使用される窓サイズが小さいほど、演算量及び遅延時間の削減効果が大きい。他方、窓サイズが小さいほど誤り率特性は悪化するし、いずれの窓サイズにおいてもＢＰ復号を超える誤り率特性を達成することはできない。
【００３８】
第１の実施形態に係る復号装置は、図２に例示されるように、入力尤度保持部２０１と、窓サイズ制御部２０２と、パリティ検査行列保持部２０３と、窓復号器２０４と、復号データ保持部２０５とを備える。図２の復号装置は、空間結合符号を定義するパリティ検査行列を用いてターゲットフレームを復号する。
【００３９】
尚、図２の復号装置は、便宜的に、図１に例示される通信装置に組み込まれることが想定されているが、これ以外の通信系または記録再生系（例えば図８に示されるもの）に組み込まれてもよい。
【００４０】
入力尤度保持部２０１は、外部（例えば復調器１０４）からターゲットフレームの入力尤度を取得する。具体的には、入力尤度保持部２０１は、ターゲットフレームを分割したターゲットビット列単位で入力尤度を管理する。例えば、入力尤度保持部２０１は、ターゲットビット列の復号が終了した場合に当該ターゲットビット列の入力尤度を破棄できる。入力尤度保持部２０１に保持された入力尤度は、必要に応じて窓復号器２０４へと出力される。
【００４１】
窓サイズ制御部２０２は、チャネル推定器１０５からチャネル情報を入力する。窓サイズ制御部２０２は、チャネル情報に基づいてターゲットフレームに適用される窓サイズを設定できる。或いは、窓サイズ制御部２０２は、後述されるように、チャネル情報以外のパラメータに基づいてターゲットフレームに適用される窓サイズを制御してもよい。窓サイズ制御部２０２は、設定した窓サイズを示す窓サイズ情報を窓復号器２０４へと出力する。
【００４２】
窓は、前述のように行方向にＷ個及び列方向にＷ個の合計Ｗ×Ｗ個のブロック行列を包含するものであってもよいし、行方向にＷ１個及び列方向にＷ２（≠Ｗ１）個の合計Ｗ１×Ｗ２個のブロック行列を包含するものであってもよい。
【００４３】
パリティ検査行列保持部２０３は、図２の復号装置において使用されるパリティ検査行列に関する情報を保持する。尚、パリティ検査行列に関する情報は、当該パリティ検査行列を一意に特定できるものであればよい。
【００４４】
即ち、パリティ検査行列に関する情報は、パリティ検査行列の全ての要素を示す情報であってもよいし、パリティ検査行列のうち「１」が配置される行及び列を特定する情報であってもよい。また、前述のように、本実施形態においてパリティ検査行列は、レギュラＬＤＰＣ符号用パリティ検査行列を展開して得られるｍ＋１個のブロック行列（Ｈ０，・・・，Ｈｍ）に基づいている。従って、パリティ検査行列に関する情報は、これらレギュラＬＤＰＣ符号用パリティ検査行列またはｍ＋１個のブロック行列に関する情報であってもよい。
【００４５】
窓復号器２０４は、窓サイズ制御部２０２から窓サイズ情報を入力し、当該窓サイズ情報が示す窓サイズに従って、ターゲットフレームの窓復号を行う。具体的には、窓復号器２０４は、窓サイズと現行の窓位置とに応じて、ターゲットビット列を少なくとも含む複数の変数ノードの入力尤度を入力尤度保持部２０１から取得し、パリティ検査行列に関する情報をパリティ検査行列保持部２０３から入力する。
【００４６】
そして、窓復号器２０４は、複数の変数ノードの入力尤度とパリティ検査行列のうち窓枠内の部分行列とを用いて、Ｓｕｍ−ＰｒｏｄｕｃｔアルゴリズムまたはＭｉｎ−Ｓｕｍアルゴリズムなどに基づく繰り返し復号を行うことによって、ターゲットビット列の復号結果を得る。繰り返し復号は、試行回数が上限値に達する前に窓枠内の全てのチェックノードにおけるパリティチェックが満足した場合、或いは、試行回数が上限値に達しても全てのチェックノードにおけるパリティチェックが満足しなかった場合に終了する。
【００４７】
チェックノードにおけるパリティチェックが満足するとは、当該チェックノードに接続された全ての変数ノードに対応する符号ビットの２元体上の総和が０になることを意味する。換言すれば、チェックノードにおけるパリティチェックが満足しないとは、当該チェックノードに接続された全ての変数ノードに対応する符号ビットの２元体上の総和が１になることを意味する。
【００４８】
尚、第２番目以降の窓位置での窓復号は、窓枠内の一部のチェックノードにおけるパリティチェックのために、過去のターゲットビット列の復号結果を必要とする。故に、窓復号器２０４は、ターゲットビット列の復号結果を復号データ保持部２０５に逐次出力し、必要に応じて入力する。
【００４９】
図３の左側は、第１番目の窓位置での窓復号におけるターゲットフレームと、当該窓復号において使用される部分行列とを例示する。第１番目の窓位置での窓復号のために、窓復号器２０４は、第１，・・・，第４ｎの変数ノードの入力尤度を入力尤度保持部２０１から取得する。第１，・・・，第ｎの変数ノードがターゲットビット列に相当する。また、窓復号器２０４は、パリティ検査行列の第１行第１列から第４（ｎ−ｋ）行第４ｎ列までの部分行列に関する情報をパリティ検査行列保持部２０３から入力する。
【００５０】
そして、窓復号器２０４は、第１，・・・，第４ｎの変数ノードの入力尤度とパリティ検査行列の第１行第１列から第４（ｎ−ｋ）行第４ｎ列までの部分行列とを用いて繰り返し復号を行うことによって、ターゲットビット列（即ち、第１，・・・，第ｎの変数ノード）の復号結果を得る。窓復号器２０４は、ターゲットビット列の復号結果を外部へ出力すると共に復号データ保持部２０５に出力する。
【００５１】
窓復号器２０４は、第１番目の窓位置での窓復号を終了すると、窓を第２番目の窓位置に移動させる。具体的には、窓復号器２０４は、右方向にｎ列かつ下方向に（ｎ−ｋ）行だけ窓を移動させる。
【００５２】
図３の右側は、第２番目の窓位置での窓復号において使用される部分行列を例示する。第２番目の窓位置での窓復号のために、窓復号器２０４は、第ｎ＋１，・・・，第５ｎの変数ノードの入力尤度を入力尤度保持部２０１から取得する。第ｎ＋１，・・・，第２ｎの変数ノードがターゲットビット列に相当する。また、窓復号器２０４は、パリティ検査行列の第ｎ−ｋ＋１行第ｎ＋１列から第５（ｎ−ｋ）行第５ｎ列までの部分行列に関する情報をパリティ検査行列保持部２０３から入力する。更に、窓復号器２０４は、既に復号されたビット列である第１，・・・，第ｎの変数ノードの復号結果（例えば、事後尤度または事後尤度の硬判定結果）を復号データ保持部２０５から入力する。
【００５３】
そして、窓復号器２０４は、第ｎ＋１，・・・，第５ｎの変数ノードの入力尤度とパリティ検査行列の第ｎ−ｋ＋１行第ｎ＋１列から第５（ｎ−ｋ）行第５ｎ列までの部分行列とを用いて繰り返し復号を行うことによって、ターゲットビット列（即ち、第ｎ＋１，・・・，第２ｎの変数ノード）の復号結果を得る。窓復号器２０４は、ターゲットビット列の復号結果を外部へ出力すると共に復号データ保持部２０５に出力する。
【００５４】
尚、第１，・・・，第ｎの変数ノードの復号結果は、第ｎ−ｋ＋１行から第３（ｎ−ｋ）行までのチェックノードにおけるパリティチェックに利用される。第１，・・・，第ｎの変数ノードの復号結果として、硬判定結果（即ち、符号の正負の情報のみ）が用いられてもよいし、事後尤度が用いられてもよいし、事後尤度に任意の正の値を乗じて得られる値が用いられてもよいし、事後尤度に任意の値を加算して得られる値が用いられてもよい。また、第１の窓位置での窓復号によってパリティチェックが満足しなかったチェックノードが存在する場合には、当該チェックノードから各変数ノードへのメッセージを用いることなく、第２の窓位置での窓復号が実行されてもよい。
【００５５】
窓復号器２０４は、第３の窓位置及びそれ以降での窓復号も逐次実行する。そして、窓復号器２０４が最後に第Ｌの窓位置での窓復号を実行し、ターゲットフレーム全体の復号が終了する。尚、ターゲットフレーム全体の復号が終了した時点で１以上のチェックノードにおけるパリティチェックが満足していない場合には、復号データ保持部２０５に保持されているターゲットフレームの事後尤度を外部（例えば、復調器１０４）にフィードバック出力することによりターゲットフレームの入力尤度を更新してから、ターゲットフレームの復号をやり直してもよい。
【００５６】
復号データ保持部２０５は、前述の通り、窓復号器２０４からターゲットビット列の復号結果を順次入力する。復号データ保持部２０５は、復号結果を事後尤度などの形式で保持し、必要に応じて窓復号器２０４へと出力する。また、復号データ保持部２０５は、ターゲットフレームの復号が失敗した場合に、保持している復号結果を外部（例えば、復調器１０４）にフィードバック出力してもよい。
【００５７】
以下、チャネル情報に基づいて窓サイズを制御することの技術的意義が説明される。  
前述のように、窓復号において使用される窓サイズが小さいほど、演算量及び遅延時間の削減効果が大きい。他方、窓サイズが小さいほど誤り率特性は悪化するし、いずれの窓サイズにおいてもＢＰ復号を超える誤り率特性を達成することはできない。更に、図４に例示されるように、同じ窓サイズであっても、空間結合符号フレームを受信するチャネルの状況（例えばＳＮＲ）の変動に依存して誤り率特性は変動する。そして、図２の復号装置が組み込まれる通信系或いは記録再生系において、空間結合符号フレームを受信するチャネルの状況は概して一定ではない。
【００５８】
故に、窓制御部２０２は、チャネル情報に基づいて窓サイズを適応的に制御することにより、チャネル状況の変動に関わらず要求誤り率特性を安定的に達成すると共に消費電力及び遅延時間を抑制する。例えば、窓制御部２０２は、現行のチャネル状況において要求誤り率特性を達成可能な最小の値に基づいて現行のターゲットフレームに適用される窓サイズを設定することにより、消費電力及び遅延時間を抑制しながら要求誤り率特性を達成することができる。図４の例によれば、要求誤り率特性がＢＥＲ（Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ）＝１０−４である場合に、窓制御部２０２は、ＳＮＲ＝４ｄＢの時にターゲットフレームに適用される窓サイズを例えば「６」に設定し、ＳＮＲ＝６ｄＢの時にターゲットフレームに適用される窓サイズを例えば「４」に設定する。
【００５９】
或いは、窓制御部２０２は、要求消費電力または要求遅延時間に基づいて、窓サイズを制御してもよい。例えば、窓制御部２０２は、要求消費電力または要求遅延時間を超えないように窓サイズの上限を定めてもよい。また、窓制御部２０２は、チャネル情報、要求誤り率特性、要求消費電力及び要求遅延時間の一部または全部に基づいて、窓サイズを制御してもよい。尚、要求誤り率特性、要求消費電力及び要求遅延時間は、要求品質と総称されてもよい。また、要求品質は、これら以外の復号装置の特定の性能に対する要求値を意味してもよい。
【００６０】
本実施形態係る復号装置は、例えば図５に示されるように、ターゲットフレームの復号処理を実行する。図５の復号処理は、ステップＳ３０１から開始する。  
ステップＳ３０１において、入力尤度保持部２０１は、ターゲットフレームの入力尤度を先頭から順に逐次入力し、これらを保持する。窓サイズ制御部２０２は、ステップＳ３０１において入力されたターゲットフレームに適用される窓サイズ（Ｗ）の値を例えばチャネル情報に基づいて決定する（ステップＳ３０２）。
【００６１】
窓復号器２０４は、ステップＳ３０１において入力されたターゲットフレームの復号処理を行うためのパラメータを初期化する（ステップＳ３０３）。具体的には、窓復号器２０４は、現行の窓位置を特定する変数（ｐｏｓ）に「１」を設定し、現行の窓位置での繰り返し復号の試行回数をカウントする変数（ｉ）に「１」を設定する。
【００６２】
ステップＳ３０２及びステップＳ３０３が終了すると、処理はステップＳ３０４へと進む。ステップＳ３０４において、窓復号器２０４は、現行の窓位置（ｐｏｓ）での窓復号をステップＳ３０２において決定された窓サイズに基づいて実行する。ステップＳ３０４における窓復号によって窓枠内の全てのチェックノードにおいてパリティチェックが満足するならばターゲットビット列の復号は成功しているので処理はステップＳ３０８へと進み、そうでなければ処理はステップＳ３０６へと進む（ステップＳ３０５）。
【００６３】
ステップＳ３０６において、窓復号器２０４は、繰り返し復号の試行回数（ｉ）が上限値（Ｉｍａｘ）に達しているか否かを判定する。繰り返し復号の試行回数（ｉ）が上限値（Ｉｍａｘ）に達していればターゲットビット列の復号は失敗しているので処理はステップＳ３０８へと進み、そうでなければ処理はステップＳ３０７へと進む。
【００６４】
ステップＳ３０７において、窓復号器２０４はｉを１だけインクリメントし、ステップＳ３０４へと戻る。ステップＳ３０８において、現行の窓位置（ｐｏｓ）での窓復号は完了（成功または失敗）しているので、窓復号器２０４はターゲットビット列の復号結果を復号データ保持部２０５へと出力し、処理はステップＳ３０９へと進む。
【００６５】
ステップＳ３０９において、窓復号器２０４は、現行の窓位置（ｐｏｓ）が末尾（Ｌ）に達しているか否かを判定する。現行の窓位置（ｐｏｓ）が末尾（Ｌ）に達していれば、ターゲットフレームの復号は完了しているので、図５の復号処理は終了する。現行の窓位置（ｐｏｓ）が末尾（Ｌ）に達していなければ、ターゲットフレームの復号は完了していないので、処理はステップＳ３１０へと進む。
【００６６】
尚、前述のように、ターゲットフレームの復号が失敗している場合には、復号装置は、復号データ保持部２０５に保持された復号結果を外部にフィードバック出力し、更新された入力尤度に基づいて図５の復号処理を再度実行してもよい。
【００６７】
ステップＳ３１０において、窓復号器２０４は現行の窓位置（ｐｏｓ）を１だけインクリメントすると共に現行の窓位置（ｐｏｓ）での繰り返し復号の試行回数（ｉ）を１にリセットし、処理はステップＳ３０４へと戻る。尚、窓位置（ｐｏｓ）を１だけインクリメントすることによって、窓の位置は右方向に（ｎ−ｋ）列かつ下方向にｎ行移動する。
【００６８】
以上説明したように、第１の実施形態に係る復号装置は、空間結合符号フレームを窓復号するための窓サイズを、例えば、チャネル情報及び要求品質の一方または両方に基づいて制御する。従って、この復号装置によれば、ターゲットフレーム毎に窓サイズが適応的に制御されるので、各ターゲットフレームを効率的に復号することができる。
【００６９】
（第２の実施形態）  
第２の実施形態に係る復号装置は、ターゲットフレームに対する窓復号に失敗した場合に、窓サイズを増加させてから当該ターゲットフレームに対する窓復号を再度実行する。尚、本実施形態に係る復号装置は、図２に示されるものと同一または類似の機能部を備えてよい。
【００７０】
具体的には、本実施形態係る復号装置は、例えば図６に示されるように、ターゲットフレームの復号処理を実行する。図６の復号処理は、ステップＳ４０１から開始する。
【００７１】
ステップＳ４０１において、入力尤度保持部２０１は、ターゲットフレームの入力尤度を先頭から順に逐次入力し、これらを保持する。窓サイズ制御部２０２は、ステップＳ４０１において入力されたターゲットフレームに適用される窓サイズ（Ｗ）に初期値を設定する（ステップＳ４０２）。尚、ステップＳ４０２において、窓サイズの初期値は、第１の実施形態に従って決定されてよいが、これ以外の技法に従って決定されてもよい。例えばある定数（ｗ１）が予め用意されていて、ステップＳ４０２においてこの定数（ｗ１）が窓サイズ（Ｗ）の初期値に設定されてもよい。
【００７２】
ステップＳ４０２が終了すると、処理はステップＳ４０３へと進む。ステップＳ４０３において、窓復号器２０４はターゲットフレームに対する窓復号を行う。ステップＳ４０３において行われる窓復号は、図５のステップＳ３０３からステップＳ３１０までの処理に相当するものであってよいし、後述される図７のステップＳ５０３からステップＳ５１３までの処理に相当するものであってもよいし、図示されないものであってもよい。ステップＳ４０３の窓復号によってターゲットフレーム全体が正しく復号されていれば図６の処理は終了し、そうでなければ処理はステップＳ４０５へと進む。
【００７３】
ステップＳ４０５において、窓サイズ制御部２０２は窓サイズ（Ｗ）が最大値（Ｗｍａｘ）に達しているか否かを判定する。窓サイズ（Ｗ）が最大値（Ｗｍａｘ）に達していれば窓サイズ（Ｗ）をこれ以上増加させることができないので図６の処理は終了し、そうでなければ処理はステップＳ４０６へと進む。Ｗｍａｘは、Ｌであってもよいし、Ｌ未満のいずれかの整数であってもよい。ステップＳ４０６において、窓サイズ制御部２０２は窓サイズ（Ｗ）を現行の値よりも増加させる。尚、増加幅は、一定であってもよいし、可変であってもよい。ステップＳ４０６の後に処理はステップＳ４０３に戻り、窓復号器２０４は前回より大きな窓サイズを適用してターゲットフレームの窓復号を実行する。
【００７４】
以上説明したように、第２の実施形態に係る復号装置は、ターゲットフレームの窓復号が失敗する毎に、窓サイズを増加させる。従って、この復号装置によれば、誤り率特性を必要に応じて向上させることができるので、各ターゲットフレームを効率的に復号することができる。
【００７５】
（第３の実施形態）  
第３の実施形態に係る復号装置は、ターゲットビット列に対する窓復号に失敗した場合に、窓サイズを増加させてから当該ターゲットビット列に対する窓復号を再度実行する。尚、本実施形態に係る復号装置は、図２に示されるものと同一または類似の機能部を備えてよい。
【００７６】
具体的には、本実施形態係る復号装置は、例えば図７に示されるように、ターゲットフレームの復号処理を実行する。図７の復号処理は、ステップＳ５０１から開始する。  
ステップＳ５０１において、入力尤度保持部２０１は、ターゲットフレームの入力尤度を先頭から順に逐次入力し、これらを保持する。窓サイズ制御部２０２は、ステップＳ５０１において入力されたターゲットフレームに適用される窓サイズ（Ｗ）に初期値を設定する（ステップＳ５０２）。尚、ステップＳ５０２において窓サイズの初期値は、第１の実施形態に従って決定されてよいが、これ以外の技法に従って決定されてもよい。例えばある定数（ｗ１）が予め用意されていて、ステップＳ５０２においてこの定数（ｗ１）が窓サイズ（Ｗ）の初期値に設定されてもよい。
【００７７】
窓復号器２０４は、ステップＳ５０１において入力されたターゲットフレームの復号処理を行うためのパラメータを初期化する（ステップＳ５０３）。具体的には、窓復号器２０４は、現行の窓位置を特定する変数（ｐｏｓ）に「１」を設定し、現行の窓位置での繰り返し復号の試行回数をカウントする変数（ｉ）に「１」を設定する。
【００７８】
ステップＳ５０２及びステップＳ５０３が終了すると、処理はステップＳ５０４へと進む。ステップＳ５０４において、窓復号器２０４は、現行の窓位置（ｐｏｓ）での窓復号を現行の窓サイズ（Ｗ）に基づいて実行する。ステップＳ５０４における窓復号によって窓枠内の全てのチェックノードにおいてパリティチェックが満足するならばターゲットビット列の復号は成功しているので処理はステップＳ５１１へと進み、そうでなければ処理はステップＳ５０６へと進む（ステップＳ５０５）。
【００７９】
ステップＳ５０６において、窓復号器２０４は、繰り返し復号の試行回数（ｉ）が上限値（Ｉｍａｘ）に達しているか否かを判定する。繰り返し復号の試行回数（ｉ）が上限値（Ｉｍａｘ）に達していれば現行の窓サイズ（Ｗ）の下でのターゲットビット列の復号は失敗しているので処理はステップＳ５０８へと進み、そうでなければ処理はステップＳ５０７へと進む。ステップＳ５０７において、窓復号器２０４はｉを１だけインクリメントし、処理はステップＳ５０４へと戻る。
【００８０】
ステップＳ５０８において、窓サイズ制御部２０２は窓サイズ（Ｗ）が最大値（Ｗｍａｘ）に達しているか否かを判定する。窓サイズ（Ｗ）が最大値（Ｗｍａｘ）に達していれば、窓サイズ（Ｗ）をこれ以上増加させることができないのでターゲットビット列の復号は失敗である。そして、処理はステップＳ５１１へと進む。他方、窓サイズ（Ｗ）が最大値（Ｗｍａｘ）に達していなければ、処理はステップＳ５０９へと進む。Ｗｍａｘは、Ｌであってもよいし、Ｌ未満のいずれかの整数であってもよい。
【００８１】
ステップＳ５０９において、窓サイズ制御部２０２は窓サイズ（Ｗ）を現行の値よりも増加させる。尚、増加幅は、一定であってもよいし、可変であってもよい。ステップＳ５０９の後に処理はステップＳ５１０に進む。ステップＳ５１０において、窓復号器２０４は、現行の窓位置（ｐｏｓ）での繰り返し復号の試行回数（ｉ）を１にリセットし、処理はステップＳ５０４に戻る。ステップＳ５０４において、窓復号器２０４は前回より大きな窓サイズを適用してターゲットフレームの窓復号を実行する。
【００８２】
ステップＳ５１１において、現行の窓位置（ｐｏｓ）での窓復号は完了（成功または失敗）しているので、窓復号器２０４はターゲットビット列の復号結果を復号データ保持部２０５へと出力し、処理はステップＳ５１２へと進む。
【００８３】
ステップＳ５１２において、窓復号器２０４は、現行の窓位置（ｐｏｓ）が末尾（Ｌ）に達しているか否かを判定する。現行の窓位置（ｐｏｓ）が末尾（Ｌ）に達していれば、ターゲットフレームの復号は完了しているので、図７の復号処理が終了する。現行の窓位置（ｐｏｓ）が末尾（Ｌ）に達していなければ、ターゲットフレームの復号は完了していないので、処理はステップＳ５１３へと進む。
【００８４】
尚、前述のように、ターゲットフレームの復号が失敗している場合には、復号装置は、復号データ保持部２０５に保持された復号結果を外部にフィードバック出力し、更新された入力尤度に基づいて図７の復号処理を再度実行してもよい。
【００８５】
ステップＳ５１３において、窓復号器２０４は現行の窓位置（ｐｏｓ）を１だけインクリメントすると共に現行の窓位置（ｐｏｓ）での繰り返し復号の試行回数を１にリセットし、処理はステップＳ５０４へと戻る。尚、窓位置（ｐｏｓ）を１だけインクリメントすることによって、窓の位置は右方向に（ｎ−ｋ）列かつ下方向にｎ行移動する。
【００８６】
前述のようにステップＳ５０９において窓サイズ（Ｗ）を増加させるので、ステップＳ５１３において窓サイズ（Ｗ）がステップＳ５０２において設定された初期値と異なる場合がある。窓サイズ制御部２０２は、次のターゲットビット列に対して現行の窓サイズ（Ｗ）を維持してもよいし、これを変更してもよい。
【００８７】
例えば、窓サイズ制御部２０２は、現行の窓サイズ（Ｗ）をステップＳ５０２において設定された初期値に近づくように調整してもよい。或いは、窓サイズ制御部２０２は、ステップＳ５０２と同一または類似の処理を行うことによって、次のターゲットビット列に適用される窓サイズの初期値を改めて決定してもよい。これらの処理によれば、過去のターゲットビット列に対する窓復号において窓サイズが過度に増加した場合であっても、これを適切な値に低減させることができる。
【００８８】
以上説明したように、第３の実施形態に係る復号装置は、ターゲットビット列の窓復号が失敗する毎に、窓サイズを増加させる。従って、この復号装置によれば、誤り率特性を必要に応じて向上させることができるので、各ターゲットビット列を効率的に復号することができる。
【００８９】
上記各実施形態の処理は、汎用のコンピュータを基本ハードウェアとして用いることで実現可能である。上記各実施形態の処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記憶媒体に記憶される。記憶媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリなどである。記憶媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ（サーバ）上に格納し、ネットワーク経由でコンピュータ（クライアント）にダウンロードさせてもよい。
【００９０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９１】
１０１・・・アンテナ
１０２・・・周波数変換器
１０３・・・アナログデジタル変換器
１０４・・・復調器
１０５・・・チャネル推定器
１０６，６１３・・・復号器
２０１・・・入力尤度保持器
２０２・・・窓サイズ制御部
２０３・・・パリティ検査行列保持部
２０４・・・窓復号器
２０５・・・復号データ保持部
６０１・・・符号化器
６０２・・・メモリコントローラ
６０３・・・記憶装置
６０４・・・ホスト
６０５・・・半導体メモリ部
６０６・・・バス
６０７・・・ＲＯＭ
６０８・・・ＣＰＵコア
６０９・・・ＲＡＭ
６１０・・・ホストＩ／Ｆ
６１１・・・誤り訂正部
６１２・・・メモリＩ／Ｆ
【図１】
2013198017.tif 000005
【図２】
2013198017.tif 000006
【図３】
2013198017.tif 000007
【図４】
2013198017.tif 000008
【図５】
2013198017.tif 000009
【図６】
2013198017.tif 000010
【図７】
2013198017.tif 000011
【図８】
2013198017.tif 000012
【図９】
2013198017.tif 000013
【図１０】
2013198017.tif 000014