(57)【特許請求の範囲】
【請求項１】
チャンネルを通じて伝送されたｃ個のコードビットよりなるコードワードをＬＤＰＣ復号化する装置において、
前記コードワード及び多数の０と１の成分よりなるｐ×ｃサイズのパリティ検査行列を入力されて、前記コードワードと前記パリティ検査行列のｃ個の成分よりなるｐ個の各行とを比較して、各行で成分値が１である成分を前記コードワードに対応する位置のコードビット値に代えて第１Ｑ行列を生成する第１Ｑ行列生成部と、
前記第１Ｑ行列生成部から前記第１Ｑ行列を入力されて、前記第１Ｑ行列の各々の行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を利用して、各行の０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えてＲ行列を生成するＲ行列生成部と、
前記コードワード及び前記Ｒ行列生成部から前記Ｒ行列を入力されて、前記Ｒ行列の各々の列に対して、各列で成分値が０でない成分にその成分値を除外した残りの０でない成分値及び前記Ｒ行列の各列と同じ列に位置した前記コードワードのコードビット値を合算して第２Ｑ行列を生成し、前記第２Ｑ行列を前記Ｒ行列生成部に出力する第２Ｑ行列生成部と、
前記Ｒ行列生成部から前記Ｒ行列を入力されて、前記Ｒ行列の各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードを出力する出力計算部と、を含み、
前記Ｒ行列生成部は、前記第２Ｑ行列生成部から前記第２Ｑ行列を入力されて他のＲ行列を生成して前記第２Ｑ行列生成部及び前記出力計算部に出力することを特徴とするＬＤＰＣ復号化装置。
【請求項２】
前記Ｒ行列生成部は、
前記第１Ｑ行列の各行の０でない成分を検査して、最小値である第１最小値、前記第１最小値の位置及び第２最小値を決定する行列成分検査部と、
前記第１Ｑ行列を入力され、前記行列成分検査部から前記第１最小値、前記第１最小値の位置及び前記第２最小値を入力されて、前記第１Ｑ行列の各行の０でない各成分の位置が前記第１最小値の位置ではなければ、前記第１最小値に成分値を代え、前記第１最小値の位置と一致する成分は前記第２最小値に成分値を代えて前記Ｒ行列を生成する行列成分決定部と、を含むことを特徴とする請求項１に記載のＬＤＰＣ復号化装置。
【請求項３】
前記Ｒ行列生成部及び前記第２Ｑ行列生成部は、Ｒ行列生成動作及び第２Ｑ行列生成動作を反復し、
前記出力計算部は、Ｎ（Ｎは１以上の整数）番目に入力されたＲ行列に対して前記復号されたコードワードを出力することを特徴とする請求項１に記載のＬＤＰＣ復号化装置。
【請求項４】
前記パリティ検査行列をあらかじめ保存するパリティ検査行列保存部をさらに含むことを特徴とする請求項１に記載のＬＤＰＣ復号化装置。
【請求項５】
前記行列成分検査部は、前記第１Ｑ行列の各行の成分値の絶対値のうち前記第１最小値及び前記第２最小値を決定することを特徴とする請求項２に記載のＬＤＰＣ復号化装置。
【請求項６】
チャンネルを通じて伝送されてソフトな値を有するｃ個のコードビットよりなるコードワードをＬＤＰＣ復号化する装置において、
前記コードワード及び多数の０と１の成分よりなるｐ×ｃサイズのパリティ検査行列を入力されて、前記コードワードと前記パリティ検査行列のｃ個の成分よりなるｐ個の各行とを比較して、各行で成分値が１である成分を前記コードワードの相応する位置のコードビット値に代えて第１Ｑ行列を生成する第１Ｑ行列生成部と、
前記第１Ｑ行列生成部から前記第１Ｑ行列を入力されて、前記第１Ｑ行列の各々の行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を利用して、各行の０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えてＲ行列を生成するＲ行列生成部と、
前記Ｒ行列生成部から前記Ｒ行列を入力されて、前記Ｒ行列の各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードを出力する出力計算部と、
前記出力計算部から前記復号されたコードワードを入力されて、前記パリティ検査行列を利用して前記復号されたコードワードの復号の成功可否を判断して前記復号されたコードワードの出力を決定する出力決定部と、
復号失敗と判断した前記出力決定部からの制御信号によって、前記コードワード及び前記Ｒ行列生成部から前記Ｒ行列を入力されて、前記Ｒ行列の各々の列に対して各列で成分値が０でない成分にその成分値を除外した残りの０でない成分値及び前記Ｒ行列の各列と同じ列に位置した前記コードワードのコードビット値を合算して第２Ｑ行列を生成し、前記第２Ｑ行列を前記Ｒ行列生成部に出力する第２Ｑ行列生成部と、を含み、
前記Ｒ行列生成部は、前記第２Ｑ行列生成部から前記第２Ｑ行列を入力されて他のＲ行列を生成して前記第２Ｑ行列生成部及び前記出力計算部に出力し、前記出力計算部は前記他のＲ行列を利用して新しい復号されたコードワードを前記出力決定部に出力することを特徴とするＬＤＰＣ復号化装置。
【請求項７】
前記Ｒ行列生成部は、
前記第１Ｑ行列の各行の０でない成分を検査して、最小値である第１最小値、前記第１最小値の位置及び第２最小値を決定する行列成分検査部と、
前記第１Ｑ行列を入力され、前記行列成分検査部から前記第１最小値、前記第１最小値の位置及び前記第２最小値を入力されて、前記第１Ｑ行列の各行の０でない各成分の位置が前記第１最小値の位置ではなければ、前記第１最小値に成分値を代え、前記第１最小値の位置と一致する成分は前記第２最小値に成分値を代えて前記Ｒ行列を生成する行列成分決定部とを含むことを特徴とする請求項６に記載のＬＤＰＣ復号化装置。
【請求項８】
前記出力決定部は、次の行列式
Ｈ・Ｍ＝０
（Ｈはｐ×ｃサイズのパリティ検査行列、Ｍは復号されたコードワードを成分とする列行列であり、０は零行列である）
を満足すれば、復号成功と判断して前記復号されたコードワードを出力することを特徴とする請求項６に記載のＬＤＰＣ復号化装置。
【請求項９】
前記パリティ検査行列をあらかじめ保存するパリティ検査行列保存部をさらに含むことを特徴とする請求項６に記載のＬＤＰＣ復号化装置。
【請求項１０】
前記行列成分検査部は、前記第１Ｑ行列の各行の成分値の絶対値のうち前記第１最小値及び前記第２最小値を決定することを特徴とする請求項７に記載のＬＤＰＣ復号化装置。
【請求項１１】
前記出力決定部は、前記行列式によって復号の成功可否を判断した結果、復号に失敗し続ければ、Ｎ（Ｎは１以上の整数）番目に入力された復号されたコードワードを出力することを特徴とする請求項８に記載のＬＤＰＣ復号化装置。
【請求項１２】
チャンネルを通じて伝送されたｃ個のコードビットよりなるコードワードをＬＤＰＣ復号化する方法において、
（ａ）前記コードワード及び多数の０と１の成分よりなるｐ×ｃサイズのパリティ検査行列を入力されて、前記コードワードと前記パリティ検査行列のｃ個の成分よりなるｐ個の各行とを比較して、各行で成分値が１である成分を前記コードワードの相応する位置のコードビット値に代えて第１Ｑ行列を生成する段階と、
（ｂ）前記第１Ｑ行列の各々の行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を利用して、０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えてＲ行列を生成する段階と、
（ｃ）前記Ｒ行列の各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードを出力する段階とを含むことを特徴とするＬＤＰＣ復号化方法。
【請求項１３】
前記（ｂ）段階は、
（ｂ１）前記第１Ｑ行列の各行の０でない成分を検査して、最小値である第１最小値、前記第１最小値の位置及び第２最小値を決定する段階と、
（ｂ２）前記第１Ｑ行列の各行の０でない各成分の位置が前記第１最小値の位置ではなければ、前記第１最小値に成分値を代え、前記第１最小値の位置と一致する成分は前記第２最小値に成分値を代えて前記Ｒ行列を生成する段階とを含むことを特徴とする請求項１２に記載のＬＤＰＣ復号化方法。
【請求項１４】
（ｄ）前記Ｒ行列の各々の列に対して各列で成分値が０でない成分にその成分値を除外した残りの０でない成分値及び前記Ｒ行列の各列と同じ列に位置した前記コードワードのコードビット値を合算して第２Ｑ行列を生成して前記（ｂ）段階の入力として提供する段階と、
（ｅ）前記（ｂ）段階ないし前記（ｄ）段階を所定回数反復し、前記（ｃ）段階はＮ（Ｎは１以上の整数）番目に入力されたＲ行列に対して前記復号されたコードワードを出力する段階とをさらに含むことを特徴とする請求項１２に記載のＬＤＰＣ復号化方法。
【請求項１５】
前記（ｂ１）段階は、前記第１Ｑ行列の各行の成分値の絶対値のうち前記第１最小値及び前記第２最小値を決定する段階であることを特徴とする請求項１３に記載のＬＤＰＣ復号化方法。
【請求項１６】
チャンネルを通じて伝送されたｃ個のコードビットよりなるコードワードをＬＤＰＣ復号化する方法において、
（ａ）前記コードワード及び多数の０と１の成分よりなるｐ×ｃサイズのパリティ検査行列を入力されて、前記コードワードと前記パリティ検査行列のｃ個の成分よりなるｐ個の各行とを比較して、各行で成分値が１である成分を前記コードワードの相応する位置のコードビット値に代えて第１Ｑ行列を生成する段階と、
（ｂ）前記第１Ｑ行列の各々の行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を利用して、０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えてＲ行列を生成する段階と、
（ｃ）前記Ｒ行列の各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードを計算する段階と、
（ｄ）前記パリティ検査行列を利用して前記復号されたコードワードの復号の成功可否を判断して復号に成功すれば、前記復号されたコードワードを出力する段階とを含むことを特徴とするＬＤＰＣ復号化方法。
【請求項１７】
前記（ｂ）段階は、
（ｂ１）前記第１Ｑ行列の各行の０でない成分を検査して、最小値である第１最小値、前記第１最小値の位置及び第２最小値を決定する段階と、
（ｂ２）前記第１Ｑ行列の各行の０でない各成分の位置が前記第１最小値の位置ではなければ、前記第１最小値に成分値を代え、前記第１最小値の位置と一致する成分は前記第２最小値に成分値を代えて前記Ｒ行列を生成する段階とを含むことを特徴とする請求項１６に記載のＬＤＰＣ復号化方法。
【請求項１８】
（ｅ）前記（ｄ）段階で復号失敗と判断されれば、前記Ｒ行列の各々の列に対して各列で成分値が０でない成分にその成分値を除外した残りの０でない成分値及び前記Ｒ行列の各列と同じ列に位置した前記コードワードのコードビット値を合算して第２Ｑ行列を生成して前記（ｂ）段階の入力として提供する段階と、
（ｆ）前記（ｂ）段階ないし前記（ｅ）段階を反復する段階とをさらに含むことを特徴とする請求項１６に記載のＬＤＰＣ復号化方法。
【請求項１９】
前記（ｄ）段階は、次の行列式
Ｈ・Ｍ＝０
（Ｈはｐ×ｃサイズのパリティ検査行列、Ｍは復号されたコードワードを成分とする列行列であり、０は零行列である）
を満足すれば、復号成功と判断して前記復号されたコードワードを出力する段階であることを特徴とする請求項１６に記載のＬＤＰＣ復号化方法。
【請求項２０】
前記（ｂ１）段階は、前記第１Ｑ行列の各行の成分値の絶対値のうち前記第１最小値及び前記第２最小値を決定する段階であることを特徴とする請求項１７に記載のＬＤＰＣ復号化方法。
【請求項２１】
前記（ｄ）段階は、前記行列式によって復号の成功可否を判断した結果、復号に失敗し続ければ、Ｎ（Ｎは１以上の整数）番目に入力された復号されたコードワードを出力する段階であることを特徴とする請求項１９に記載のＬＤＰＣ復号化方法。
【請求項２２】
請求項１２に記載の方法を実現するためのプログラムを記録したコンピュータで読取れる記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はエラー訂正復号化装置及びその方法に係り、特にＬＤＰＣ復号アルゴリズムの具現時、その複雑度を減少させて復号化性能を向上させる復号化装置及び方法に関する。
【背景技術】
【０００２】
無線通信分野または光記録再生分野で使われるエラー訂正符号化技術の一つとしてＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｏｄｅ）符号化方法がある。ＬＤＰＣ符号化は、成分値１を有する成分が各行及び各列に一定数ずつ含まれ、その他の成分は成分値０を有するパリティ検査行列を利用してパリティ情報（付加情報）を生成する過程を含む。言い換えれば、次の式（１）を満足するようにパリティ情報を決定する。
【０００３】
Ｈ・Ｃ＝０        （１）
Ｈはｐ×ｃサイズのパリティ検査行列であり、０は零行列である。Ｃはｃ個のビットよりなるコードワードを成分とする列行列であって、コードワードはｍビットのメッセージワードｋ１，ｋ２，．．．，ｋｍ及びｐビットのパリティ情報ｘ１，ｘ２，．．．，ｘｐよりなる。パリティ検査行列Ｈ及び行列Ｃの構成成分のうち符号化対象であるメッセージワードは値を知っているので、前記式（１）によってパリティ情報ｘｉ（ｉ＝１，２．．.ｐ）を決められる。
【０００４】
ＬＤＰＣ符号化に関するさらに詳細な説明は非特許文献１に記述されている。
【０００５】
ＬＤＰＣ符号化されてチャンネルを通じて伝送されてエラーを含むコードワードを復号化する時にも、符号化時に使われたパリティ検査行列を利用して復号化する。この時、多数の行列演算が要求される。演算過程中には行列の各行に存在する一つの成分を自己成分値を除外した残りの成分値を積算した値に代える過程がある。このような積算動作はシステム具現の複雑度を高める問題がある。
【０００６】
従来、システム複雑度を誘発させる行列成分間の積算動作を行わず、ＬＤＰＣ復号化するアルゴリズムに関する技術が提案された。これによれば、積算動作の代わりに、行列の各行の成分を自己成分値を除外した残りの各行の成分値のうち最小値に代える動作を行ってほぼ同じ結果を得られるという。これについてのさらに詳細な内容は非特許文献２に記述されている。
【０００７】
しかし、積算動作を代える前述した従来技術の場合でも、各行を構成する多数の成分のうち最小値を求める動作を行列の構成成分の数に当たる回数だけ反復しなければならないので、同様に複雑度が高い問題がある。
【非特許文献１】“Ｇｏｏｄ  ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅｓ  ｂａｓｅｄ  ｏｎ  ｖｅｒｙ  ｓｐａｒｓｅ  ｍａｔｒｉｃｅｓ”（Ｄ.Ｊ.ＭａｃＫａｙ，ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，ｖｏｌ．４５，ｎｏ．２，ｐｐ.３９９−４３１，１９９９）
【非特許文献２】“Ｒｅｄｕｃｅｄ  ｃｏｍｐｌｅｘｉｔｙ  ｉｔｅｒａｔｉｖｅ  ｄｅｃｏｄｉｎｇ  ｏｆ  ｌｏｗ  ｄｅｎｓｉｔｙ  ｐａｒｉｔｙ  ｃｈｅｃｋ  ｃｏｄｅｓ  ｂａｓｅｄ  ｏｎ  ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ”（Ｍ．Ｆｏｓｓｏｒｉｅｒ，Ｍ．Ｍｉｈａｌｊｅｖｉｃ  ａｎｄ  Ｈ．Ｉｍａｉ，ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，ｖｏｌ.４７，ｎｏ.５，ｐｐ.６７３−６８０，１９９９）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明が解決しようとする技術的課題は、ＬＤＰＣ符号化されてチャンネルを通じて伝送されたコードワードをパリティ検査行列を利用して復号化する場合に演算過程の複雑度を減少させて復号化性能を向上させるＬＤＰＣ復号化装置及び方法を提供することである。
【課題を解決するための手段】
【０００９】
前記課題を達成するために、本発明によるＬＤＰＣ復号化装置は、チャンネルを通じて伝送されたｃ個のコードビットよりなるコードワードをＬＤＰＣ復号化する装置において、前記コードワード及び多数の０と１の成分よりなるｐ×ｃサイズのパリティ検査行列を入力されて、前記コードワードと前記パリティ検査行列のｃ個の成分よりなるｐ個の各行とを比較して、各行で成分値が１である成分を前記コードワードの対応する位置のコードビット値に代えて第１Ｑ行列を生成する第１Ｑ行列生成部と、前記第１Ｑ行列生成部から前記第１Ｑ行列を入力されて、前記第１Ｑ行列の各々の行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を利用して、各行の０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えてＲ行列を生成するＲ行列生成部と、前記コードワード及び前記Ｒ行列生成部から前記Ｒ行列を入力されて、前記Ｒ行列の各々の列に対して各列で成分値が０でない成分にその成分値を除外した残りの０でない成分値及び前記Ｒ行列の各列と同じ列に位置した前記コードワードのコードビット値を合算して第２Ｑ行列を生成し、前記第２Ｑ行列を前記Ｒ行列生成部に出力する第２Ｑ行列生成部と、前記Ｒ行列生成部から前記Ｒ行列を入力されて、前記Ｒ行列の各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードを出力する出力計算部と、を含み、前記Ｒ行列生成部は、前記第２Ｑ行列生成部から前記第２Ｑ行列を入力されて他のＲ行列を生成して前記第２Ｑ行列生成部及び前記出力計算部に出力することを特徴とすることが望ましい。
【００１０】
前記課題を達成するために、本発明による他のＬＤＰＣ復号化装置は、チャンネルを通じて伝送されたｃ個のコードビットよりなるコードワードをＬＤＰＣ復号化する装置において、前記コードワード及び多数の０と１の成分よりなるｐ×ｃサイズのパリティ検査行列を入力されて、前記コードワードと前記パリティ検査行列のｃ個の成分よりなるｐ個の各行とを比較して、各行で成分値が１である成分を前記コードワードの相応する位置のコードビット値に代えて第１Ｑ行列を生成する第１Ｑ行列生成部と、前記第１Ｑ行列生成部から前記第１Ｑ行列を入力されて、前記第１Ｑ行列の各々の行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を利用して、各行の０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えてＲ行列を生成するＲ行列生成部と、前記Ｒ行列生成部から前記Ｒ行列を入力されて、前記Ｒ行列の各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードを出力する出力計算部と、前記出力計算部から前記復号されたコードワードを入力されて、前記パリティ検査行列を利用して前記復号されたコードワードの復号の成功可否を判断して前記復号されたコードワードの出力を決定する出力決定部と、復号失敗と判断した前記出力決定部からの制御信号によって、前記コードワード及び前記Ｒ行列生成部から前記Ｒ行列を入力されて、前記Ｒ行列の各々の列に対して各列で成分値が０でない成分にその成分値を除外した残りの０でない成分値及び前記Ｒ行列の各列と同じ列に位置した前記コードワードのコードビット値を合算して第２Ｑ行列を生成し、前記第２Ｑ行列を前記Ｒ行列生成部に出力する第２Ｑ行列生成部と、を含み、前記Ｒ行列生成部は前記第２Ｑ行列生成部から前記第２Ｑ行列を入力されて他のＲ行列を生成して前記第２Ｑ行列生成部及び前記出力計算部に出力し、前記出力計算部は前記他のＲ行列を利用して新しい復号されたコードワードを前記出力決定部に出力することを特徴とすることが望ましい。
【００１１】
前記課題を達成するために、本発明によるＬＤＰＣ復号化方法は、チャンネルを通じて伝送されたｃ個のコードビットよりなるコードワードをＬＤＰＣ復号化する方法において、（ａ）前記コードワード及び多数の０と１の成分よりなるｐ×ｃサイズのパリティ検査行列を入力されて、前記コードワードと前記パリティ検査行列のｃ個の成分よりなるｐ個の各行とを比較して、各行で成分値が１である成分を前記コードワードの相応する位置のコードビット値に代えて第１Ｑ行列を生成する段階と、（ｂ）前記第１Ｑ行列の各々の行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を利用して、０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えてＲ行列を生成する段階と、（ｃ）前記Ｒ行列の各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードを出力する段階と、を含むことを特徴とすることが望ましい。
【００１２】
前記課題を達成するために、本発明による他のＬＤＰＣ復号化方法は、チャンネルを通じて伝送されたｃ個のコードビットよりなるコードワードをＬＤＰＣ復号化する方法において、（ａ）前記コードワード及び多数の０と１の成分よりなるｐ×ｃサイズのパリティ検査行列を入力されて、前記コードワードと前記パリティ検査行列のｃ個の成分よりなるｐ個の各行とを比較して、各行で成分値が１である成分を前記コードワードの相応する位置のコードビット値に代えて第１Ｑ行列を生成する段階と、（ｂ）前記第１Ｑ行列の各々の行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を利用して、０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えてＲ行列を生成する段階と、（ｃ）前記Ｒ行列の各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードを計算する段階と、（ｄ）前記パリティ検査行列を利用して前記復号されたコードワードの復号の成功可否を判断して復号に成功すれば、前記復号されたコードワードを出力する段階と、を含むことを特徴とすることが望ましい。
【発明の効果】
【００１３】
本発明によるＬＤＰＣ復号化装置及び方法は、ＬＤＰＣ復号化過程のうち行列Ｒを生成する場合に、行列の各成分値をかけるか、あるいは行列Ｒの一つの成分値を決定するために毎度異なる成分値を全て比較して、そのうち最小値を決定する過程を反復しなければならない従来技術と違って、各行の０でない成分のうち最小値である第１最小値、第２最小値及び第１最小値の位置をまず把握した後、その情報を利用することによって演算過程の複雑度を低めてＬＤＰＣ復号化性能を向上させる効果を有する。
【発明を実施するための最良の形態】
【００１４】
以下、添付された図面を参照して、本発明による望ましい実施例を詳細に説明する。
【００１５】
図１ないし図３Ｅを参照して、本発明によるＬＤＰＣ復号化装置の一実施例を説明する。
【００１６】
図１は、ＬＤＰＣ復号化装置を示すブロック図である。図１を参照すれば、ＬＤＰＣ復号化装置は、パリティ検査行列保存部１１０、第１Ｑ行列生成部１２０、Ｒ行列生成部１３０、第２Ｑ行列生成部１４０及び出力計算部１５０を含む。
【００１７】
パリティ検査行列保存部１１０は、ＬＤＰＣ符号化時に使われたパリティ検査行列Ｈを保存して第１Ｑ行列生成部１２０に提供する。
【００１８】
第１Ｑ行列生成部１２０は、チャンネルを通じて伝送されて各種雑音によってソフトな値を有するｃ個のコードビットよりなるコードワードＰ及ぶパリティ検査行列保存部１１０からパリティ検査行列Ｈを入力されて第１Ｑ行列のＱを生成する。コードビットの値がソフトであるということはその値が“０”または“１”でなく、雑音によって歪曲されて“０.２３８”、“１,３７６”のアナログ値を有することをいう。“０”または“１”をハードな値であるという時、“０.２３８”、“１,３７６”のアナログ値をソフト値であるという。
【００１９】
Ｒ行列生成部１３０は、第１Ｑ行列生成部１２０から第１Ｑ行列Ｑを入力されて第１Ｑ行列の各々の行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を利用して、各行の０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えた後、所定の定数をかけて行列Ｒを生成する。
【００２０】
従来技術では行列Ｒを生成する場合に、各成分を除外した残りの０でない成分値をいちいち比較してそのうち最小値を決定した後、各成分値を決定された最小値に代える過程を反復しなければならなかった。しかし、本発明によれば各行の０でない成分のうち最小値である第１最小値、第２最小値及び第１最小値の位置をまず把握した後、その情報を利用することによって各成分を最小値に代える過程をさらに速くて簡単に行える。
【００２１】
Ｒ行列生成部１３０は、第１Ｑ行列Ｑを入力されて行列Ｒを生成した後、第２Ｑ行列生成部１４０から第２Ｑ行列である行列Ｑ’を入力された場合には第１Ｑ行列Ｑに対するＲ行列を生成する場合と同様に、同じ動作を行って他のＲ行列を生成した後に出力する。
【００２２】
第２Ｑ行列生成部１４０は、チャンネルを通じて伝送されたコードワード及びＲ行列生成部１３０から行列Ｒを入力されて第２Ｑ行列Ｑ’を生成する。
【００２３】
出力計算部１５０は、Ｒ行列生成部１３０から入力された行列Ｒの各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードＭを計算して出力する。
【００２４】
図２は、図１に示されたＲ行列生成部１３０の詳細構成を示すブロック図である。図２を参照すれば、Ｒ行列生成部１３０は行列成分検査部１３１及び行列成分決定部１３３を含む。
【００２５】
行列成分検査部１３１は、第１Ｑ行列Ｑまたは第２Ｑ行列Ｑ’を入力されて入力された行列の各行の成分を検査して、各行の０でない成分のうち最小値である第１最小値、前記第１最小値の位置及び第２最小値を決定して行列成分決定部１３３に出力する。もし、各行の０でない成分のうち負数が存在すれば、その絶対値を取った後に第１最小値か、あるいは第２最小値かを判断する。
【００２６】
行列成分決定部１３３は、入力された行列の各行の０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えた後、所定の定数をかけて行列Ｒを生成する。
【００２７】
第１Ｑ行列Ｑまたは第２Ｑ行列Ｑ’を入力されて行列成分検査部１３１から第１最小値、第１最小値の位置及び第２最小値を入力されて、入力された行列の各行の各成分の位置が第１最小値の位置ではなければ、第１最小値に成分値を代え、第１最小値の位置と一致する成分は第２最小値に成分値を代えて行列Ｒを生成する。
【００２８】
図３Ａ乃至図３Ｅは、図１に示されたＬＤＰＣ復号化装置の各構成要素の入出力である行列の一例を示す図である。
【００２９】
以下では、図３Ａ乃至図３Ｅを参照して本発明によるＬＤＰＣ復号化装置の動作を詳細に説明する。
【００３０】
図３Ａは、第１Ｑ行列生成部１２０に入力されるチャンネルを通じて受信されたコードワードＰ及びパリティ検査行列保存部１１０に保存されたパリティ検査行列Ｈの一例を示す。本実施例で、コードワードＰは６個のソフトな値を有するコードビットよりなっている。前の３個のコードビットは、メッセージビットであり、後の３個のコードビットはパリティ情報である。パリティ検査行列Ｈは３×６サイズの行列である。
【００３１】
図３Ｂは、図３Ａに示された受信されたコードワードＰ及びパリティ検査行列Ｈを入力されて第１Ｑ行列生成部１２０で生成した第１Ｑ行列Ｑを示す図である。
【００３２】
図３Ｃ及び図３Ｄは、Ｒ行列生成部１３０で順次に生成された行列を示す図である。
【００３３】
図３Ｅは、受信されたコードワードＰ及び行列Ｒを入力されて第２Ｑ行列生成部１４０で生成した行列Ｑ’を示す図である。
【００３４】
第１Ｑ行列生成部１２０は、パリティ検査行列Ｈの６個の成分よりなる各行と受信されたコードワードＰとを比較して、各行で成分値が１である成分を前記コードワードの相応する位置のコードビット値に代えて図３Ｂに示したように第１Ｑ行列Ｑを生成する。
【００３５】
Ｒ行列生成部１３０の行列成分検査部１３１は、第１Ｑ行列生成部１２０から図３Ｂに示された第１Ｑ行列Ｑを入力されて第１Ｑ行列Ｑの各行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を決定して行列成分決定部１３３に出力する。
【００３６】
例えば、図３Ｂに示された第１Ｑ行列Ｑの第一行で０でない成分値のうち第１最小値は０.１１９であって、第１行の第４列に位置した値である。第２最小値は０.２６８である。
【００３７】
行列成分決定部１３３は、第１Ｑ行列のＱを入力され、行列成分検査部１３１から入力された第１Ｑ行列Ｑの各行の第１最小値、第１最小値の位置及び第２最小値を入力されて、第１Ｑ行列Ｑの各行の０でない各成分の位置が第１最小値の位置ではなければ、第１最小値にその成分値を代え、０でない成分のうち第１最小値の位置と一致する成分は第２最小値に成分値を代えて図３Ｃに示されたような行列Ｒ’を生成する。
【００３８】
例えば、第１Ｑ行列Ｑの第一行の成分が行列成分決定部１３３に入力された場合、第４列の成分を除外した残りの０でない成分は第１最小値の位置ではないので、全て第１最小値である０.１１９に成分値を代える。第４列の成分は第１最小値であるので、第２最小値である０.２６８に成分値を代える。
【００３９】
図３Ｃに示されたような行列Ｒ’を生成した後、行列成分決定部１３３は行列Ｒ’の各成分ごとに所定の定数をかけて図３Ｄに示されたような行列Ｒを生成する。
【００４０】
所定の定数は、次のような式（２）によって決められる。
【００４１】
（−１）ｋ＊ｓ        （２）
定数ｓは各行の０でない成分のうち自己成分を除外した残りの成分値の符号を積算した値であり、ｋは各行の０でない成分の数に当たる値である。
【００４２】
行列成分検査部１３１及び行列成分決定部１３３は、第２Ｑ行列生成部１４０から第２Ｑ行列Ｑ’を入力された場合にも第１Ｑ行列生成部１２０から入力された第１Ｑ行列Ｑに対して行列Ｒを生成する場合と同様に、同じ動作を行って他のＲ行列を生成する。
【００４３】
第２Ｑ行列生成部１４０は、図３Ａに示された受信されたコードワードＰ及びＲ行列生成部１３０から図３Ｄに示された行列Ｒを入力されて、行列Ｒの各列に対して各列で成分値が０でない成分にその成分値を除外した残りの０でない成分値及び行列Ｒの各列と同じ列に位置したコードワードＰのコードビット値を合算して、図３Ｅに示されたものと同じ第２Ｑ行列Ｑ’を生成する。生成された第２Ｑ行列Ｑ’は、Ｒ行列生成部１３０に出力される。
【００４４】
Ｒ行列生成部１３０は、第２Ｑ行列生成部１４０から第２Ｑ行列Ｑ’を入力されて再び前述したＲ行列生成過程を行って生成されたＲ行列を出力計算部１５０及び第２Ｑ行列生成部１４０に入力させる。したがって、Ｒ行列生成部１３０及び第２Ｑ行列生成部１４０は、各々Ｒ行列生成動作及び第２Ｑ行列生成動作を所定回数反復する。
【００４５】
出力計算部１５０は、Ｒ行列生成部１３０から入力された行列Ｒの各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードＭを計算する。出力計算部１５０は、多数の行列Ｒが入力される度に復号されたコードワードＭを計算するが、Ｎ（Ｎは１以上の整数）番目に入力されたＲ行列に対して復号されたコードワードを出力する。言い換えれば、Ｒ行列生成部１３０でＮ番目に生成されたＲ行列を入力されてコードワードを復号して出力する。Ｒ行列生成動作及び第２Ｑ行列生成動作を所定回数反復した後、コードワードを復号することによってエラー訂正能力が向上する。
【００４６】
以下では、図４を参照して本発明によるＬＤＰＣ復号化装置の他の実施例を説明する。図４は、ＬＤＰＣ復号化装置の他の実施例を示すブロック図である。図４を参照すれば、ＬＤＰＣ復号化装置はパリティ検査行列保存部２１０、第１Ｑ行列生成部２２０、Ｒ行列生成部２３０、第２Ｑ行列生成部２４０、出力計算部２５０及び出力決定部２６０を含む。
【００４７】
図１に示された本発明によるＬＤＰＣ復号化装置の構成要素と差のある構成要素は第２Ｑ行列生成部２４０及び出力決定部２６０である。パリティ検査行列保存部２１０、第１Ｑ行列生成部２２０、Ｒ行列生成部２３０及び出力計算部２５０は、各々図１に示されたＬＤＰＣ復号化装置で同じ名称を有する対応する構成要素と同様に、同じ入力を受けて同じ動作を行って同じ出力をする。Ｒ行列生成部２３０は、図２に示されたような行列成分検査部１３１及び行列成分決定部１３３を含んで構成される。
【００４８】
以下では、第２Ｑ行列生成部２４０及び出力決定部２６０について詳述する。
【００４９】
まず、出力決定部２６０は、パリティ検査行列保存部２１０からパリティ検査行列Ｈ及び出力計算部２５０から復号されたコードワードＭを入力されて、パリティ検査行列Ｈを利用して復号されたコードワードＭの復号の成功可否を判断して復号されたコードワードＭを出力するか否かを決定する。
【００５０】
出力決定部２６０は、次の式（３）を満足すれば、復号成功と判断して復号されたコードワードＭを出力する。
【００５１】
Ｈ・Ｍ＝０        （３）
式（３）で、Ｈはｐ×ｃサイズのパリティ検査行列、Ｍは復号されたコードワードを成分とする列行列であり、０は零行列である。
【００５２】
ＬＤＰＣ符号化時に前記式（３）を満足するようにパリティ情報が付加されたコードワードを生成したので、復号時にも復号されたコードワードが前記式（３）を満足すれば、復号が成功的に行われたと判断できる。
【００５３】
しかし、数回反復してコードワードを復号したが、復号されたコードワードが前記数３を満足できなければ、無限に復号を反復できないために、所定回数に復号動作を制限しなければならない。
【００５４】
第２Ｑ行列生成部２４０は、図１に示された第２Ｑ行列生成部１４０と同じ動作を行って第２Ｑ行列Ｑ’を生成する。しかし、図１に示された第２Ｑ行列生成部１４０は行列Ｒが入力されれば常に行列Ｑ’を生成したが、第２Ｑ行列生成部２４０は出力決定部２６０が復号失敗と判断した場合、第２Ｑ行列生成部２４０に出力する第２Ｑ行列生成制御命令によって行列Ｑ’を生成する。
【００５５】
以下では、図１、図２、図５及び図６を参照して本発明によるＬＤＰＣ復号化方法の一実施例を説明する。
【００５６】
図５は、図１に示された本発明によるＬＤＰＣ復号化装置で実施されるＬＤＰＣ復号化方法を示すフローチャートである。
【００５７】
まず、出力計算部１５０は、内部変数ｎを０に設定する（第３１０段階）。
【００５８】
第１Ｑ行列生成部１２０は、チャンネルを通じて伝送されて各種雑音によってソフトな値を有するｃ個のコードビットよりなるコードワードＰを入力される（第３２０段階）。
【００５９】
第１Ｑ行列生成部１２０は、コードワードＰとパリティ検査行列保存部１１０に保存されたパリティ検査行列Ｈのｃ個の成分よりなるｐ個の各行とを比較して、各行で成分値が１である成分を前記コードワードの相応する位置のコードビット値に代えて第１Ｑ行列Ｑを生成する（第３３０段階）。
【００６０】
Ｒ行列生成部１３０は、第１Ｑ行列Ｑの各々の行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を利用して、０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えてＲ行列を生成する（第３４０段階）。
【００６１】
出力計算部１５０は、Ｒ行列生成部１３０から入力された行列Ｒの各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードＭを計算する（第３５０段階）。
【００６２】
出力計算部１５０は、変数ｎを１だけ増加させた後（第３６０段階）、変数ｎが所定値Ｎであるか否かを判断して（第３７０段階）、変数ｎが所定値Ｎであれば、復号されたコードワードを最終復号値に出力する（第３８０段階）。
【００６３】
出力計算部１５０は、変数ｎが所定値Ｎでなければ、最終復号値に復号されたコードワードを出力せず、第２Ｑ行列生成部１４０は受信されたコードワードＰ及びＲ行列生成部１３０から行列Ｒを入力されて、行列Ｒの各列に対して各列で成分値が０でない成分にその成分値を除外した残りの０でない成分値及び行列Ｒの各列と同じ列に位置したコードワードＰのコードビット値を合算して第２Ｑ行列Ｑ’を生成する（第３９０段階）。生成された第２Ｑ行列Ｑ’は、Ｒ行列生成部１３０に出力されて変数ｎが所定値Ｎとなるまで第３４０段階ないし第３９０段階が反復される。
【００６４】
図６は、図５に示された第３４０段階の詳細構成を示すフローチャートである。
【００６５】
Ｒ行列生成部１３０の行列成分検査部１３１は、第１Ｑ行列生成部１２０から第１Ｑ行列Ｑを入力されて第１Ｑ行列Ｑの各行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を決定する（第３４１段階）。
【００６６】
行列成分決定部１３３は、第１Ｑ行列のＱを入力され、行列成分検査部１３１から入力された第１Ｑ行列Ｑの各行の第１最小値、第１最小値の位置及び第２最小値を入力されて、第１Ｑ行列Ｑの各行の０でない成分のうち各成分の位置が第１最小値の位置ではなければ、第１最小値に成分値を代え、第１最小値の位置と一致する成分は第２最小値に成分値を代えた後、各成分に所定定数をかけて行列Ｒを生成する（第３４３段階）。
【００６７】
図７は、図４に示された本発明による他のＬＤＰＣ復号化装置で実施されるＬＤＰＣ復号化方法を示すフローチャートである。
【００６８】
まず、第１Ｑ行列生成部２２０は、チャンネルを通じて伝送されて各種雑音によってソフトな値を有するｃ個のコードビットよりなるコードワードＰを入力される（第４１０段階）。
【００６９】
第１Ｑ行列生成部２２０は、コードワードＰとパリティ検査行列保存部２１０に保存されたパリティ検査行列Ｈのｃ個の成分よりなるｐ個の各行とを比較して、各行で成分値が１である成分を前記コードワードの相応する位置のコードビット値に代えて第１Ｑ行列Ｑを生成する（第４２０段階）。
【００７０】
Ｒ行列生成部２３０は、第１Ｑ行列Ｑの各々の行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を利用して、０でない各成分を自己成分値を除外した残りの０でない成分値のうち最小値に代えてＲ行列を生成する（第４３０段階）。
【００７１】
出力計算部２５０は、Ｒ行列生成部２３０から入力された行列Ｒの各列の成分値を合算して一つのコードビットを決定することによってｃ個のコードビットよりなる復号されたコードワードＭを計算する（第４４０段階）。
【００７２】
出力決定部２６０は、パリティ検査行列Ｈを利用して復号の成功可否を判断する（第４５０段階）。
【００７３】
出力決定部２６０は、復号成功と判断されれば、復号されたコードワードを出力する（第４６０段階）。
【００７４】
出力決定部２６０は、復号失敗と判断されれば、復号されたコードワードを出力せず、第２Ｑ行列生成部２４０に第２Ｑ行列生成命令信号を出力する。第２Ｑ行列生成部２４０は受信されたコードワードＰ及びＲ行列生成部２３０から行列Ｒを入力されて、行列Ｒの各列に対して各列で成分値が０でない成分にその成分値を除外した残りの０でない成分値及び行列Ｒの各列と同じ列に位置したコードワードＰのコードビット値を合算して第２Ｑ行列Ｑ’を生成する（第４７０段階）。生成された第２Ｑ行列Ｑ’はＲ行列生成部２３０に出力されて、出力決定部２６０が復号成功と判断するまでまたはコードワードが所定回数のＮ番目に復号されるまで、第４３０段階ないし第４７０段階が反復される。
【００７５】
図７に示された第４３０段階の詳細構成は図６に示された通りである。
【００７６】
Ｒ行列生成部２３０は、第１Ｑ行列生成部２２０から第１Ｑ行列Ｑを入力されて第１Ｑ行列Ｑの各行に対して、各行の０でない成分のうち最小値である第１最小値、第２最小値及び前記第１最小値の位置を決定する（第３４１段階）。
【００７７】
Ｒ行列生成部２３０は、第１Ｑ行列のＱを入力されて、第１Ｑ行列Ｑの各行の各成分の位置が第１最小値の位置ではなければ、第１最小値に成分値を代え、第１最小値の位置と一致する成分は第２最小値に成分値を代えた後、各成分に所定定数をかけて行列Ｒを生成する（第３４３段階）。
【００７８】
本発明はコンピュータで読取れる記録媒体にコンピュータが読取れるコードとして具現することが可能である。コンピュータが読取れる記録媒体は、コンピュータシステムによって読取られるデータが保存される全ての種類の記録装置を含む。コンピュータが読取れる記録媒体の例には、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置があり、またキャリヤウェーブ（例えば、インターネットを通じた伝送）状に具現されるものも含む。また、コンピュータが読取れる記録媒体はネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータが読取れるコードで保存されて実行されうる。
【００７９】
以上、本発明の幾つかの実施例を説明したが、当業者は本発明の本質から外れない範囲で変形できるということが分かる。本発明の範囲は、特許請求の範囲及びそれと均等な範囲によって定義される。
【産業上の利用可能性】
【００８０】
本発明は無線通信または情報保存媒体にデータの記録及び／または再生の分野において、データのエラー訂正・復号に利用される。
【図面の簡単な説明】
【００８１】
【図１】本発明によるＬＤＰＣ復号化装置の一実施例を示すブロック図である。
【図２】図１に示されたＲ行列生成部の詳細構成を示すブロック図である。
【図３Ａ】図１に示されたＬＤＰＣ復号化装置の各構成要素の入出力行列の一例を示す図である。
【図３Ｂ】図１に示されたＬＤＰＣ復号化装置の各構成要素の入出力行列の一例を示す図である。
【図３Ｃ】図１に示されたＬＤＰＣ復号化装置の各構成要素の入出力行列の一例を示す図である。
【図３Ｄ】図１に示されたＬＤＰＣ復号化装置の各構成要素の入出力行列の一例を示す図である。
【図３Ｅ】図１に示されたＬＤＰＣ復号化装置の各構成要素の入出力行列の一例を示す図である。
【図４】本発明によるＬＤＰＣ復号化装置の他の実施例を示すブロック図である。
【図５】図１に示された本発明によるＬＤＰＣ復号化装置で実施されるＬＤＰＣ復号化方法を示すフローチャ−トである。
【図６】図５に示された第３４０段階の詳細構成を示すフローチャートである。
【図７】図４に示された本発明による他のＬＤＰＣ復号化装置で実施されるＬＤＰＣ復号化方法を示すフローチャートである。
【符号の説明】
【００８２】
１１０、２１０  パリティ検査行列保存部
１２０、２２０  第１Ｑ行列生成部
１３０、２３０  Ｒ行列生成部
１３１  行列成分検査部
１３３  行列成分決定部
１４０、２４０  第２Ｑ行列生成部
１５０、２５０  出力計算部
２６０  出力決定部
【図１】
0003727938.tif 000002
【図２】
0003727938.tif 000003
【図３Ａ】
0003727938.tif 000004
【図３Ｂ】
0003727938.tif 000005
【図３Ｃ】
0003727938.tif 000006
【図３Ｄ】
0003727938.tif 000007
【図３Ｅ】
0003727938.tif 000008
【図４】
0003727938.tif 000009
【図５】
0003727938.tif 000010
【図６】
0003727938.tif 000011
【図７】
0003727938.tif 000012