(57)【要約】  本願は、階段コードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーション更新を行い、得られた第１情報ブロックの最後のＳ−Ｔ個の符号化ブロックおよびＴ個の新規追加した符号化ブロックを更新して第２情報ブロックを取得する（Ｓ４０２）ことと、第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックを復号化して第３情報ブロックを取得する（Ｓ４０４）ことと、第２情報ブロックまたは第３情報ブロックからＳ−Ｔ個の情報ブロックを選択し、選択したＳ−Ｔ個の情報ブロックとＴ個の新規追加した符号化ブロックと共に対してソフトインフォメーション更新を行ってＳ個の更新後の情報ブロックを取得し、Ｓ個の更新後の情報ブロックを新たな第２情報ブロックとする動作と、第３情報ブロックにおける第Ｔ＋１個のブロック〜第２Ｔ個のブロックの情報と新たな第２情報ブロックにおける先頭のＳ−Ｔ個のブロックの情報とを共に復号化して新たな第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行することとを含む、階段コードの復号化方法を提供する。【選択図】図４
2021502767.tif 000002
【特許請求の範囲】
【請求項１】
ｓｔａｉｒｃａｓｅコードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーションの更新を行って第１情報ブロックを取得し、前記第１情報ブロックの最後のＳ−Ｔ個の符号化ブロックおよびＴ個の新規追加した符号化ブロックを更新して第２情報ブロックを取得する（ＳおよびＴはいずれも０よりも大きい整数である）ことと、
前記第１情報ブロックの先頭のＴ個の符号化ブロックおよび前記第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックを復号化して第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力することと、
前記第２情報ブロックまたは前記第３情報ブロックからＳ−Ｔ個の情報ブロックを選択し、選択した前記Ｓ−Ｔ個の情報ブロックとＴ個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってＳ個の更新後の情報ブロックを取得し、前記Ｓ個の更新後の情報ブロックを新たな第２情報ブロックとする動作と、前記第３情報ブロックにおける第Ｔ＋１個のブロック〜第２Ｔ個のブロックの情報と前記新たな第２情報ブロックにおける先頭のＳ−Ｔ個のブロックの情報とを共に復号化して新たな第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行することとを含む、階段ｓｔａｉｒｃａｓｅコードの復号化方法。
【請求項２】
ｓｔａｉｒｃａｓｅコードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーションの更新を行って第１情報ブロックを取得することは、
前記最初のＳ個の符号化ブロックＢｉに対してＮ１＿ｉｔｒ回の反復を行うことによって、ソフトインフォメーションの更新を行い、前記第１情報ブロックを取得する（１≦ｉ≦Ｓであり、Ｎ１＿ｉｔｒは０よりも大きい整数である）ことを含む、請求項１に記載の方法。
【請求項３】
前記最初のＳ個の符号化ブロックＢｉに対してＮ１＿ｉｔｒ回の反復を行うことによって、ソフトインフォメーションの更新を行うことは、
以下のような式により、ブロック［Ｂｉ−１Ｔ  Ｂｉ］，ｉ＝１に対してソフトインフォメーションの更新を行う第１更新処理と、
（数４４）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ｒｉ０はＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報であり、Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａｉ−１ｎの値は１であり、Ａｉｎの値はｎ／Ｎ１＿ｉｔｒである）
以下のような式により、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝２、……Ｓ−１に対してソフトインフォメーション更新を行う第２更新処理と、
（数４５）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ａｉ−１ｎはＡｉｎ以上である）
ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−１に対して前記第１更新処理および前記第２更新処理を繰り返し行う（繰り返し実行する過程において、ｎ＝２、……Ｎ１＿ｉｔｒであり、ＡｉｎはＡｉｎ−１以上であり、Ｎ１＿ｉｔｒはレジスタの設定可能をサポートする）こととを含む、請求項２に記載の方法。
【請求項４】
前記第１情報ブロックの最後のＳ−Ｔ個の符号化ブロックおよびＴ個の新規追加した符号化ブロックを更新して第２情報ブロックを取得することは、
以下のような式により、ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行う第３更新処理と、
（数４６）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ｒｉ０は符号化ブロックＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報であり、Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａｉ−１ｎの値は１であり、Ａｉｎの値はｎ／Ｎ１＿ｉｔｒである）
以下のような式により、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔに対してソフトインフォメーション更新を行う第４更新処理と、
（数４７）
［ＲＳ−Ｔ−１ｎ，ＲＳ−Ｔｎ］＝［ＲＳ−Ｔ−１０，ＲＳ−Ｔ０］＋［ＡＳ−Ｔ−１ｎ，ＡＳ−Ｔｎ］×Ｗｉｎ−１，ｎ＝１・・・（式２）
以下のような式により、ブロック［Ｂｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔ＋１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行う第５更新処理と、
（数４８）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
前記第３更新処理、前記第４更新処理および前記第５更新処理を繰り返し行って前記第２情報ブロックを取得する（ＡｉｎはＡｉｎ−１以上であり、繰り返し実行する過程において、ｎ＝２、……Ｎ１＿ｉｔｒである）こととを含む、請求項１に記載の方法。
【請求項５】
前記第１情報ブロックの先頭のＴ個の符号化ブロックおよび前記第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックを復号化して第３情報ブロックを取得することは、
前記第１情報ブロックの先頭のＴ個の符号化ブロックおよび前記第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをハードデコーディングして前記第３情報ブロックを取得することと、
前記第１情報ブロックの先頭のＴ個の符号化ブロックおよび前記第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをソフトデコーディングして前記第３情報ブロックを取得することとのうちの１つを含む、請求項１に記載の方法。
【請求項６】
前記第１情報ブロックの先頭のＴ個の符号化ブロックおよび前記第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをハードデコーディングして前記第３情報ブロックを取得することは、
以下のような式により、前記第１情報ブロックおよび前記第２情報ブロックのソフトインフォメーションを取得することと、
（数４９）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１ｎ−１，Ｒｉｎ−１］＋Ｗｉｎ，ｎ＝Ｎ１＿ｉｔｒ・・・（式３）
（Ｒｉｎは符号化ブロックＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報である）
得られた前記ソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを０ビットまたは１ビットとして判定するという方式で、得られたソフトインフォメーションを硬判定することと、
Ｓ−１個の［Ｂｉ−１Ｔ  Ｂｉ］に対応する硬判定結果に対して（２ｍ，２ｍ−ｒ）ブロックコードのデコードを順次行う（ｉ＝２、……Ｓ）という方式で、デコード処理を行うことと、
前記デコード処理をＮ２＿ｉｔｒ回繰り返し実行し、デコードしたＳブロックのデータを前記第３情報ブロックとして確定し、先頭のＴ個のブロックのデータをデコーダの出力とすることと
を含む、請求項５に記載の方法。
【請求項７】
前記デコード処理をＮ２＿ｉｔｒ回繰り返し実行するとき、ブロックコードに拡張チェックビットがある場合、前のＮ３＿ｉｔｒ回の反復はチェックビットの（２ｍ，２ｍ−ｒ）ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻し、後の反復はチェックビット検出を行わず、デコード結果をｍｏｄ２加算（排他的論理和）してチェックビットを取得し、Ｎ３＿ｉｔｒの値の範囲は［１，Ｎ２＿ｉｔｒ］であり、Ｎ２＿ｉｔｒは０よりも大きい整数である、請求項６に記載の方法。
【請求項８】
前記デコード処理をＮ２＿ｉｔｒ回繰り返し実行する過程において、前記デコード処理を処理するパケットデコーダがエラーをフィードバックして訂正すると、現在のコードワード系列を最初の入力データに戻す、請求項６に記載の方法。
【請求項９】
前記第１情報ブロックの先頭のＴ個の符号化ブロックおよび前記第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをソフトデコーディングして前記第３情報ブロックを取得することは、
前記第１情報ブロックおよび前記第２情報ブロックに対して正規化処理を行った後、以下のような式により、前記第１情報ブロックおよび前記第２情報ブロックのソフトインフォメーションを取得することと、
（数５０）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝Ｎ１＿ｉｔｒ・・・（式４）
（Ｒｉ０は符号化ブロックＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報であり、Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａｉ−１ｎの値は１であり、Ａｉｎの値は（ｎ−１）／Ｎ１＿ｉｔｒである）
出力処理を繰り返し実行する（繰り返し実行する過程において、ｎ＝２、……Ｎ２＿ｉｔｒであり、Ｎ２＿ｉｔｒは０よりも大きい整数である）ことと、
最終回の反復を行うとき、以下のような式により、デコーダのソフトインフォメーション出力を取得するというような出力処理を実行することと、
（数５１）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１ｎ−１，Ｒｉｎ−１］＋Ｗｉｎ，ｎ＝Ｎ２＿ｉｔｒ・・・（式５）
得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを０ビットまたは１ビットとして判定するという方式で、出力処理により得られたソフトインフォメーションを硬判定することと、
硬判定処理によって得られた先頭のＴ個のブロックのデータを前記第３情報ブロックとして確定し、デコーダ出力とすることとを含む、請求項５に記載の方法。
【請求項１０】
前記第２情報ブロックまたは前記第３情報ブロックからＳ−Ｔ個の情報ブロックを選択することは、
前記第１情報ブロックの先頭のＴ個の符号化ブロックおよび前記第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをハードデコーディングして前記第３情報ブロックを取得するとき、前記第２情報ブロックにおける先頭のＴ個のブロックのデータを破棄し、前記Ｓ−Ｔ個の情報ブロックを取得するという方式、または、前記第３情報ブロックにおける第２Ｔ＋１個のブロックおよびそれ以降のＮ＿ｂｈブロックを選択し、更に前記第２情報ブロックにおける第Ｔ＋Ｎ＿ｂｈ＋２ブロック〜第Ｓブロックのソフトインフォメーションに対応する元の入力データとスティッチングし、前記Ｓ−Ｔ個の情報ブロックとする（Ｎ＿ｂｈの値の範囲は［０，Ｓ−Ｔ−１］である）という方式で、Ｓ−Ｔ個の情報ブロックを選択することと、
前記第１情報ブロックの先頭のＴ個の符号化ブロックおよび前記第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをソフトデコーディングして前記第３情報ブロックを取得するとき、前記第３情報ブロックから第２Ｔ＋１個のブロック〜第Ｓ＋Ｔ個のブロックのデータを選択して前記Ｓ−Ｔ個の情報ブロックとするという方式でＳ−Ｔ個の情報ブロックを選択することであって、生成方法は、以下の式であることとを含む、請求項１に記載の方法。
（数５２）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝Ｎ２＿ｉｔｒ・・・（式６）
（ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーション出力であり、Ｗｉｎは［Ｂｉ−１Ｔ  Ｂｉ］ブロックにより求められた外部情報である）
【請求項１１】
ｓｔａｉｒｃａｓｅコードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーションの更新を行って第１情報ブロックを取得し、前記第１情報ブロックの最後のＳ−Ｔ個の符号化ブロックおよびＴ個の新規追加した符号化ブロックを更新して第２情報ブロックを取得する（ＳおよびＴはいずれも０よりも大きい整数である）ように構成される更新モジュールと、
前記第１情報ブロックの先頭のＴ個の符号化ブロックおよび前記第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックを復号化して第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力するように構成される復号化モジュールと、
前記第２情報ブロックまたは前記第３情報ブロックからＳ−Ｔ個の情報ブロックを選択し、選択した前記Ｓ−Ｔ個の情報ブロックとＴ個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってＳ個の更新後の情報ブロックを取得し、前記Ｓ個の更新後の情報ブロックを新たな第２情報ブロックとする動作と、前記第３情報ブロックにおける第Ｔ＋１個のブロック〜第２Ｔ個のブロックの情報と前記新たな第２情報ブロックにおける先頭のＳ−Ｔ個のブロックの情報とを共に復号化して新たな第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行するように構成される処理モジュールとを備える、階段ｓｔａｉｒｃａｓｅコードの復号化装置。
【請求項１２】
ｓｔａｉｒｃａｓｅコードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーションの更新を行って第１情報ブロックを取得するとき、前記更新モジュールは、
前記最初のＳ個の符号化ブロックＢｉをＮ１＿ｉｔｒ回の反復を行うことによって、ソフトインフォメーションの更新を行い、前記第１情報ブロックを取得する（１≦ｉ≦Ｓであり、Ｎ１＿ｉｔｒは０よりも大きい整数である）ように構成される更新ユニットを含む、請求項１１に記載の装置。
【請求項１３】
実行されると請求項１から１０のいずれか１項に記載の方法を実行するプログラムが記憶された、記憶媒体。
【請求項１４】
実行されると請求項１から１０のいずれか１項に記載の方法を実行するプログラムを実行するように構成される、プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１７年１１月１５日に中国専利局に出願された出願番号が２０１７１１１３３３５０．５である中国特許出願に対して優先権の利益を主張するものであり、該出願の全ての内容を引用により本願に援用する。
【０００２】
本願は、通信分野に関し、例えば、階段コードの復号化方法、装置および記憶媒体に関する。
【背景技術】
【０００３】
前方誤り訂正（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ、ＦＥＣ）は、高速デジタル通信システムの信頼性のある伝送に関わる重要な技術であり、送信端において一定のコーディング規則に従って一定の冗長を付与ことにより、受信端は復号化技術を用いて伝送中に発生する誤りを訂正する。典型的な伝送システムは、図１に示すように、発信端の発信元からのデータをエンコーダで処理してから、伝送に適した信号に変調する。これらの信号は、チャネルに入ってノイズに干渉され、発信端において復調器、復号化器によって発信端のデータを復元し、ついにはシンクに入る。ネット符号化利得（Ｎｅｔ  Ｃｏｄｉｎｇ  ＧＡｉｎ、ＮＣＧ）は、ＦＥＣ誤り訂正能力を評価する重要な指標であり、ＮＣＧが大きいほど、より多くの伝送中に発生する誤りを訂正できることを表す。言い換えれば、より信頼性のある伝送を提供したり、より低いシステム消費電力で信号伝送を行ったりすることができる。
【０００４】
シャノン氏は、１９４８年に誤り制御領域でマイルストーンの意義を有する論文を発表し、情報伝送レートがチャネル容量よりも低ければ、情報を適当に符号化することにより、情報伝送レートを犠牲することなくノイズのあるチャネルに導入された誤りを任意の低い程度に低減することができることを証明した。シャノンの著作が発表された以来、科学者らは、ノイズ環境で誤りを制御するために、有効なエンコード／デコード方法を設計する方面で大量の効果的な作業を行った。ハミングコード、ＢＣＨ（Ｂｏｓｅ、Ｒａｙ−ＣｈａｕｄｈｕｒｉおよびＨｏｃｑｕｅｎｇｈｅｍの略語）／リード−ソロモンシンボル（Ｒｅｅｄ−ｓｏｌｏｍｏｎ  ｃｏｄｅｓ、ＲＳコード）、乗積コード、重畳コードを代表とする硬判定ＦＥＣから、低密度パリティチェック（Ｌｏｗ−ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ−ｃｈｅｃｋ、ＬＤＰＣ）符号およびｔｕｒｂｏ符号を代表とする軟判定ＦＥＣまで、独立して符号化されたブロックコードから重畳コードを代表とする相関符号化方法まで、科学者らは、ハードウェアにおいて低い複雑度で高い符号化利得を実現するＦＥＣ符号を探索している。
【０００５】
階段（Ｓｔａｉｒｃａｓｅ）コードは、乗積コードの構造に基づいて提案された、コードワードが関連性を有するＦＥＣ符号であり、その基本原理は図２および図３に示すとおりである。図２のブロック行列において、発信元がｍ（ｍ−ｒ）個の情報シンボルを入力する度に、Ｂｉ，Ｌの情報行列ブロックを構成し、隣接するｍｒ個のシンボルはｓｔａｉｒｃａｓｅコードチェックビットであり、Ｂｉ，Ｒの検査行列ブロックを構成する。検査行列ブロックＢｉ，Ｒの生成方法は図２に示すように、［Ｂｉ−１Ｔ  Ｂｉ，Ｌ］を（２ｍ，２ｍ−ｒ）ブロックコードで符号化することにより得られ、Ｂｉ−１Ｔはブロック行列Ｂｉ−１の転置である。例えば、Ｂ１，Ｒは、［Ｂ０Ｔ  Ｂ１，Ｌ］をｍ個の（２ｍ，２ｍ−ｒ）ブロックコードで符号化することにより得られ、Ｂ０Ｔはｓｔａｉｒｃａｓｅコードの最初のブロックであり、既知のシンボル（例えば、オールゼロシンボル）である。後続のＢｉ，Ｒは、［Ｂｉ−１Ｔ  Ｂｉ，Ｌ］を（２ｍ，２ｍ−ｒ）ブロックコードで符号化することにより順次得られ、図３に示すように、無限の「階段」形態のコード構造を形成する。
【０００６】
ｓｔａｉｒｃａｓｅコードの構造からわかるように、既知のＢ０Ｔ個のブロック行列におけるシンボルのほか、他のブロック行列におけるシンボルは、いずれも２層の（２ｍ，２ｍ−ｒ）ブロックコードにより保護され、且つコードワード間の関連性は絶えずに伝達し、これらの特性は、ｓｔａｉｒｃａｓｅコードの優れた誤り訂正能力を確保し、ｓｔａｉｒｃａｓｅコードのオリジナル文献「Ｓｔａｉｒｃａｓｅ  Ｃｏｄｅｓ：ＦＥＣ  ｆｏｒ  １００  Ｇｂ／ｓ  ＯＴＮ」において、ＩＴＵ−Ｔ規格Ｇ．７０９プロトコルに対応する６．６７％ＯＨのｓｔａｉｒｃａｓｅコードは、システム出力誤り率が１０〜１５である場合、達成できるＮＣＧが、Ｇ．９７５．１規格における性能が最も優れたコードのＮＣＧよりも０．４２ｄＢ改善したことが記載されている。その優れたハードデコーディング性能のため、最近、多くのメーカーは、６．６７％ＯＨのｓｔａｉｒｃａｓｅコードを１００Ｇ  ｍｅｔｒｏ応用の規格とすることを積極的に推進している。
【０００７】
ｓｔａｉｒｃａｓｅコードのハードデコーディング性能が広く注目されているが、そのソフトデコーディング性能は開示されず、且つ、ｓｔａｉｒｃａｓｅコードのオリジナル文献に記載されたデコード方法はハードデコーディングのみに適用する。同じコード長および冗長度に対し、ｓｔａｉｒｃａｓｅコードに用いられるブロックコードはコードワード間の関連性を用いるため、ＴＰＣコードに用いられるブロックコードに対してｓｔａｉｒｃａｓｅコードに用いられるブロックコードの誤り訂正能力および最小距離の特性は減衰され、従って、最小距離の低減はエラーフロア現象の現れをもたらす可能性がある。そのため、ｓｔａｉｒｃａｓｅコードのソフトデコーディング方法において、コードワード間の関連性の特性をどのように合理的に効果的に用いるかは、極めて重要である。関連技術において、硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下は、本文について詳細に説明する主題の概要である。本概要は、特許請求の範囲を制限するものではない。
【０００９】
本願の実施例は、関連技術における硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない状況を回避するための階段ｓｔａｉｒｃａｓｅコードの復号化方法、装置および記憶媒体を提供する。
【課題を解決するための手段】
【００１０】
本願の一実施例によれば、ｓｔａｉｒｃａｓｅコードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーション（Ｓｏｆｔ  Ｉｎｆｏｒｍａｔｉｏｎ）の更新を行って第１情報ブロックを取得し、前記第１情報ブロックの最後のＳ−Ｔ個の符号化ブロックおよびＴ個の新規追加した符号化ブロックを更新して第２情報ブロックを取得する（ＳおよびＴはいずれも０よりも大きい整数である）ことと、前記第１情報ブロックの先頭のＴ個の符号化ブロックおよび前記第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックを復号化して第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力することと、前記第２情報ブロックまたは前記第３情報ブロックからＳ−Ｔ個の情報ブロックを選択し、選択した前記Ｓ−Ｔ個の情報ブロックとＴ個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってＳ個の更新後の情報ブロックを取得し、前記Ｓ個の更新後の情報ブロックを新たな第２情報ブロックとする動作と、前記第３情報ブロックにおける第Ｔ＋１個のブロック〜第２Ｔ個のブロックの情報と前記新たな第２情報ブロックにおける先頭のＳ−Ｔ個のブロックの情報とを共に復号化して新たな第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行することとを含む階段ｓｔａｉｒｃａｓｅコードの復号化方法を提供する。
【００１１】
本願の別の実施例によれば、ｓｔａｉｒｃａｓｅコードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーションの更新を行って第１情報ブロックを取得し、前記第１情報ブロックの最後のＳ−Ｔ個の符号化ブロックおよびＴ個の新規追加した符号化ブロックを更新して第２情報ブロックを取得する（ＳおよびＴはいずれも０よりも大きい整数である）ように構成される更新モジュールと、前記第１情報ブロックの先頭のＴ個の符号化ブロックおよび前記第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックを復号化して第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力するように構成される復号化モジュールと、前記第２情報ブロックまたは前記第３情報ブロックからＳ−Ｔ個の情報ブロックを選択し、選択した前記Ｓ−Ｔ個の情報ブロックとＴ個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってＳ個の更新後の情報ブロックを取得し、前記Ｓブロックの更新後の情報ブロックを新たな第２情報ブロックとする動作と、前記第３情報ブロックにおける第Ｔ＋１個のブロック〜第２Ｔ個のブロックの情報と前記新たな第２情報ブロックにおける先頭のＳ−Ｔ個のブロックの情報とを共に復号化して新たな第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行するように構成される処理モジュールとを備える階段ｓｔａｉｒｃａｓｅコードの復号化装置を提供する。
【００１２】
本願の別の実施例によれば、実行されると上記いずれか１項に記載の方法を実行するプログラムが記憶された記憶媒体を更に提供する。
【００１３】
本願の別の実施例によれば、実行されると上記いずれか１項に記載の方法を実行するプログラムを実行するように構成されるプロセッサを更に提供する。
【００１４】
図面および詳細な説明を閲読し理解することで、他の態様も理解できる。
【図面の簡単な説明】
【００１５】
ここで説明する図面は、本願の更なる理解を提供するためのものであり、本願の一部を構成し、本願の模式的な実施例およびその説明は本願を解釈するためのものであり、本願を不当に限定するものではない。
【００１６】
【図１】関連技術における典型的な伝送システムのブロック図である。
【図２】関連技術におけるｓｔａｉｒｃａｓｅコードの単一ｂｌｏｃｋの構造模式図である。
【図３】関連技術におけるｓｔａｉｒｃａｓｅコードのコード構造模式図である。
【図４】本願の実施例に係るｓｔａｉｒｃａｓｅコードの復号化方法のフローチャートである。
【図５】本願の実施例に係るｓｔａｉｒｃａｓｅコードのソフトデコーディングのフローチャートである。
【図６】本願の実施例に係るｓｔａｉｒｃａｓｅコードの復号化装置の構造ブロック図である。
【発明を実施するための形態】
【００１７】
以下、図面および実施例を参照しながら本願について詳細に説明する。なお、矛盾しない限り、本願に係る実施例および実施例における特徴は、互いに任意に組み合わせることができる。
【００１８】
なお、本願の明細書、特許請求の範囲、および上記図面における「第１」、「第２」等の用語は、類似する対象を区別するためのものであり、特定の順序または優先順位を記述するために用いるわけではない。
【００１９】
本願は、関連技術に存在する誤り訂正能力および最小距離の特性によるエラーフロア現象の状況に対し、階段ｓｔａｉｒｃａｓｅコードの復号化方法を提案し、ブロックＴＰＣコードのソフトデコーディング思想およびｓｔａｉｒｃａｓｅコードのコードワード間の関連性の特徴を十分に用い、エラーフロア現象を良好に制御することができる。本願の方法を用い、使用するブロックコードのタイプ、外部情報計算の方法はいずれも限定されず、様々な形態に適用される。
【００２０】
図４は、本願の実施例によるｓｔａｉｒｃａｓｅコードの復号化方法のフローチャートであり、図４に示すように、該方法は、ステップＳ４０２、ステップＳ４０４およびステップＳ４０６を含む。
【００２１】
ステップＳ４０２において、ｓｔａｉｒｃａｓｅコードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーションの更新を行って第１情報ブロックを取得し、第１情報ブロックの最後のＳ−Ｔ個の符号化ブロックおよびＴ個の新規追加した符号化ブロックを更新して第２情報ブロックを取得し、ＳおよびＴはいずれも０よりも大きい整数である。
【００２２】
ステップＳ４０４において、第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックを復号化して第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力する。
【００２３】
ステップＳ４０６において、第２情報ブロックまたは第３情報ブロックからＳ−Ｔ個の情報ブロックを選択し、選択したＳ−Ｔ個の情報ブロックとＴ個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってＳ個の更新後の情報ブロックを取得し、Ｓブロックの更新後の情報ブロックを新たな第２情報ブロックとする動作と、第３情報ブロックにおける第Ｔ＋１個のブロック〜第２Ｔ個のブロックの情報と新たな第２情報ブロックにおける先頭のＳ−Ｔ個のブロックの情報とを共に復号化して新たな第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行する。
【００２４】
上記実施例により、ｓｔａｉｒｃａｓｅコードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーションの更新を行って第１情報ブロックを取得した後、第１情報ブロックの最後のＳ−Ｔ個の符号化ブロックおよびＴ個の新規追加した符号化ブロックを更新して第２情報ブロックを取得し、第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックを復号化して第３情報ブロックを取得する。ブロック（Ｔｕｒｂｏ  Ｐｒｏｄｕｃｔ  Ｃｏｄｅ、ＴＰＣ）コードのソフトデコーディング思想およびｓｔａｉｒｃａｓｅコードのコードワード間の関連性の特徴を十分に用い、後続に繰り返し実行するデータブロック選択、更新および復号化等のステップの過程においてコードワード間の関連性を確保し、関連技術における硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない状況を回避し、ひいてはＴＰＣコードよりも優れたウォーターフォール領域の性能を達成し、且つエラーフロア現象を良好に制御する。
【００２５】
一実施例において、ｓｔａｉｒｃａｓｅコードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーションの更新を行って第１情報ブロックを取得することは、最初のＳ個の符号化ブロックＢｉに対してＮ１＿ｉｔｒ回の反復を行うことによって、ソフトインフォメーションの更新を行い、第１情報ブロックを取得することを含み、１≦ｉ≦Ｓであり、Ｎ１＿ｉｔｒは０よりも大きい整数である。
【００２６】
一実施例において、最初のＳ個の符号化ブロックＢｉに対してＮ１＿ｉｔｒ回の反復を行うことによって、ソフトインフォメーションの更新を行うことは、第１更新処理および第２更新処理を含む。
【００２７】
第１更新処理は、以下のような式により、ブロック［Ｂｉ−１Ｔ  Ｂｉ］，ｉ＝１に対してソフトインフォメーションの更新を行うことである。
（数１）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ｒｉ０はＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報であり、Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａｉ−１ｎの値は１であり、Ａｉｎの値はｎ／Ｎ１＿ｉｔｒである）
【００２８】
第２更新処理は、以下のような式により、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝２、……Ｓ−１に対してソフトインフォメーション更新を行うことである。
（数２）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ａｉ−１ｎはＡｉｎ以上である）
ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−１に対して第１更新処理および第２更新処理を繰り返し行う。ここで、Ｒｉ−１Ｔは前回の反復が行われたソフトインフォメーションであり、Ｒｉ−１ＴがＲｉと共に１つのデコード待ちのブロックとし、繰り返し実行する過程において、ｎ＝２、……Ｎ１＿ｉｔｒであり、ＡｉｎはＡｉｎ−１以上であり、Ｎ１＿ｉｔｒはレジスタの設定可能をサポートする。
【００２９】
一実施例において、第１情報ブロックの最後のＳ−Ｔ個の符号化ブロックおよびＴ個の新規追加した符号化ブロックを更新して第２情報ブロックを取得することは、第３更新処理、第４更新処理および第５更新処理を含む。第３更新処理は、以下のような式により、ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行うことである。
（数３）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ｒｉ０は符号化ブロックＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報であり、Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａｉ−１ｎの値は１であり、Ａｉｎの値はｎ／Ｎ１＿ｉｔｒである）
第４更新処理は、以下のような式により、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔに対してソフトインフォメーション更新を行うことである。
（数４）
［ＲＳ−Ｔ−１ｎ，ＲＳ−Ｔｎ］＝［ＲＳ−Ｔ−１０，ＲＳ−Ｔ０］＋［ＡＳ−Ｔ−１ｎ，ＡＳ−Ｔｎ］×Ｗｉｎ−１，ｎ＝１・・・（式２）
第５更新処理は、以下のような式により、ブロック［Ｂｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔ＋１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行うことである。
（数５）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
第３更新処理、第４更新処理および第５更新処理を繰り返し実行して第２情報ブロックを取得し、ＡｉｎはＡｉｎ−１以上であり、繰り返し実行する過程において、ｎ＝２、……Ｎ１＿ｉｔｒである。
【００３０】
一実施例において、第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックを復号化して第３情報ブロックを取得することは以下の１つを含む。第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをハードデコーディングして第３情報ブロックを取得する。第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをソフトデコーディングして第３情報ブロックを取得する。
【００３１】
一実施例において、第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをハードデコーディングして第３情報ブロックを取得することは以下を含む。以下のような式により、第１情報ブロックおよび第２情報ブロックのソフトインフォメーションを取得する。
（数６）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１ｎ−１，Ｒｉｎ−１］＋Ｗｉｎ，ｎ＝Ｎ１＿ｉｔｒ・・・（式３）
（Ｒｉｎは符号化ブロックＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報である）
得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを０ビットまたは１ビットとして判定するという方式で、得られたソフトインフォメーションを硬判定する。Ｓ−１個［Ｂｉ−１Ｔ  Ｂｉ］に対応する硬判定結果に対して（２ｍ，２ｍ−ｒ）ブロックコードのデコードを順次行う（ｉ＝２、……Ｓという方式で、デコード処理を行うこととデコード処理を、Ｎ２＿ｉｔｒ回繰り返し実行し、デコードしたＳブロックのデータを第３情報ブロックとして確定し、先頭のＴ個のブロックのデータをデコーダの出力とする。
【００３２】
一実施例において、デコード処理をＮ２＿ｉｔｒ回繰り返し実行するとき、ブロックコードに拡張チェックビットがあると、前のＮ３＿ｉｔｒ回の反復はチェックビットの（２ｍ，２ｍ−ｒ）ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻し、後の反復はチェックビット検出を行わず、デコード結果をｍｏｄ２加算（排他的論理和）してチェックビットを取得し、Ｎ３＿ｉｔｒの値の範囲は［１，Ｎ２＿ｉｔｒ］であり、Ｎ２＿ｉｔｒは０よりも大きい整数である。
【００３３】
一実施例において、デコード処理をＮ２＿ｉｔｒ回繰り返し実行する過程において、デコード処理を処理するパケットデコーダがエラーをフィードバックして訂正すると、現在のコードワード系列を最初の入力データに戻す。
【００３４】
一実施例において、第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをソフトデコーディングして第３情報ブロックを取得することは以下を含む。第１情報ブロックおよび第２情報ブロックを正規化処理した後、以下のような式により、第１情報ブロックおよび第２情報ブロックのソフトインフォメーションを取得する。
（数７）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝Ｎ１＿ｉｔｒ・・・（式４）
（Ｒｉ０は符号化ブロックＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報であり、Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａｉ−１ｎの値は１であり、Ａｉｎの値は（ｎ−１）／Ｎ１＿ｉｔｒである）
出力処理を繰り返し実行し、繰り返し実行する過程において、ｎ＝２、……Ｎ２＿ｉｔｒであり、Ｎ２＿ｉｔｒは０よりも大きい整数である。
最終回の反復を行うとき、以下のような式により、デコーダのソフトインフォメーション出力を取得するというような出力処理を実行する。
（数８）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１ｎ−１，Ｒｉｎ−１］＋Ｗｉｎ，ｎ＝Ｎ２＿ｉｔｒ・・・（式５）
得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを０ビットまたは１ビットとして判定するという方式で、出力処理により得られたソフトインフォメーションを硬判定する。硬判定処理によって得られた先頭のＴ個のブロックのデータを第３情報ブロックとして確定し、デコーダ出力とする。
【００３５】
一実施例において、第２情報ブロックまたは第３情報ブロックからＳ−Ｔ個の情報ブロックを選択することは以下を含む。第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをハードデコーディングして第３情報ブロックを取得するとき、第２情報ブロックにおける先頭のＴ個のブロックのデータを破棄し、Ｓ−Ｔ個の情報ブロックを取得するという方式、または、第３情報ブロックにおける第２Ｔ＋１個のブロックおよびそれ以降のＮ＿ｂｈブロックを選択し、更に第２情報ブロックにおける第Ｔ＋Ｎ＿ｂｈ＋２ブロック〜第Ｓブロックのソフトインフォメーションに対応する元の入力データとスティッチングし、Ｓ−Ｔ個の情報ブロックとする（Ｎ＿ｂｈの値の範囲が［０，Ｓ−Ｔ−１］）という方式で、Ｓ−Ｔ個の情報ブロックを選択する。第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをソフトデコーディングして第３情報ブロックを取得するとき、第３情報ブロックから第２Ｔ＋１個のブロック〜第Ｓ＋Ｔ個のブロックのデータを選択してＳ−Ｔ個の情報ブロックとする方式でＳ−Ｔ個の情報ブロックを選択し、生成方法は以下のとおりである。
（数９）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝Ｎ２＿ｉｔｒ・・・（式６）
（ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーション出力であり、Ｗｉｎは［Ｂｉ−１Ｔ  Ｂｉ］ブロックにより求められた外部情報である）
【００３６】
上記実施例から分かるように、本願の実施例において、主に以下の方式により、コードワード間の関連性を合理的に効果的に実現する。
【００３７】
図５は、本願の実施例によるｓｔａｉｒｃａｓｅコードのソフトデコーディングのフローチャートであり、図５に示すように、該方法はステップＳ５０２〜ステップＳ５１２を含む。
【００３８】
ステップＳ５０２において、最初のＳ個のＢｉブロック（Ｂ０、Ｂ１、……ＢＴ−１、ＢＴ、……ＢＳ−１）に対してソフトインフォメーションの更新を行い、Ｂ０１、Ｂ１１、……ＢＴ−１１、ＢＴ１、……ＢＳ−１１を取得する。ここで、パラメータＳおよびＴは、それぞれ毎回ソフトデコーディングするデータのブロック数および次回の復号化に追加する新たなデータのブロック数を表し、レジスタの設定可能をサポートする。
【００３９】
ステップＳ５０４において、Ｓ５０２で得られたソフトインフォメーションＢＴ１、……ＢＳ−１１および新規追加したデータブロックＢＳ、ＢＳ＋１、……ＢＳ＋Ｔ−１に対してソフトインフォメーションの更新を行い、ＢＴ２、……ＢＳ−１２、ＢＳ１、ＢＳ＋１１、……ＢＳ＋Ｔ−１１を取得する。
【００４０】
ステップＳ５０６において、Ｓ５０２で得られたソフトインフォメーションＢ０１、Ｂ１１、……ＢＴ−１１およびＳ１０４で得られたソフトインフォメーションＢＴ２、……ＢＳ−１２をハードデコーディングまたはソフトデコーディングをし、Ｂ０２、Ｂ１２、……ＢＴ−１２、ＢＴ３、……ＢＳ−１３を取得し、Ｂ０２、Ｂ１２、……ＢＴ−１２のデータを出力し、デコーダ出力結果を取得する。
【００４１】
ステップＳ５０８において、Ｓ５０６の異なる復号化方式により、最後のＳ−Ｔ個のブロックのソフトインフォメーションを選択し、新規追加したＴ個のブロックのデータと共にソフトインフォメーションの更新を行い、Ｓブロックの更新後のソフトインフォメーションデータを取得する。
【００４２】
ステップＳ５１０において、Ｓ５０６で得られた第Ｔ＋１個のブロック〜第２Ｔ個のブロックのデータとＳ５０８で得られた先頭のＳ−Ｔ個のブロックのデータとを共にハードデコーディングまたはソフトデコーディングをし、先頭のＴ個のブロックのデータをデコーダの出力として出力する。
【００４３】
ステップＳ５１２において、Ｓ５０８およびＳ５１０を繰り返し実行し、デコーダから出力されるＴ個のブロックのストリームデータを絶え間なく取得する。
【００４４】
一実施例において、前記Ｓ５０２における最初のＳ個のＢｉブロックに対してソフトインフォメーションの更新を行うことは、動作過程がステップ１〜ステップ３を含む。
【００４５】
ステップ１において、ブロック［Ｂ０Ｔ  Ｂ１］に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数１０）
［Ｒ０ｎ，Ｒ１ｎ］＝［Ｒ００，Ｒ１０］＋［Ａ０ｎ，Ａ１ｎ］×Ｗｉｎ，ｎ＝１・・・（式７）
（Ｒｉ０はＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報であり、Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａ００の値は１であり、Ａ１０は小さい値を取る）
【００４６】
ステップ２において、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝２、……Ｓ−１、に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数１１）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ａｉ−１１はＡｉ１以上である）
【００４７】
ステップ３において、ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−１に対してステップ１およびステップ２のソフトインフォメーション更新をｎ＝２、……Ｎ１＿ｉｔｒ回繰り返し行い、最終的なソフトインフォメーションデータを取得する。ここで、ＡｉｎはＡｉｎ−１以上であり、Ｎ１＿ｉｔｒはレジスタの設定可能をサポートする。
【００４８】
一実施例において、前記ステップＳ５０４におけるＳ個のＢｉブロックに対してソフトインフォメーションの更新を行うことは、動作過程がステップ１〜ステップ４を含む。
【００４９】
ステップ１において、ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数１２）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ｒｉ０はＢｉに対応するデコーダの元の入力データであり、Ａｉ−１０はＡｉ０以上である）
【００５０】
ステップ２において、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔに対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数１３）
［ＲＳ−Ｔ−１ｎ，ＲＳ−Ｔｎ］＝［ＲＳ−Ｔ−１０，ＲＳ−Ｔ０］＋［ＡＳ−Ｔ−１ｎ，ＡＳ−Ｔｎ］×Ｗｉｎ−１，ｎ＝１・・・（式２）
（Ａｉ−１０の値はＡｉ０よりも大きい）
【００５１】
ステップ３において、ブロック［Ｂｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔ＋１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数１４）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ａｉ−１０はＡｉ０以上である）
【００５２】
ステップ４において、ステップ１、ステップ２およびステップ３をｎ＝２、……Ｎ１＿ｉｔｒ回繰り返し実行し、最終的なソフトインフォメーションデータを取得する。ここで、ＡｉｎはＡｉｎ−１以上である。
【００５３】
一実施例において、前記ステップＳ５０６でＳ個のＢｉブロックをハードデコーディングし、ｓｔａｉｒｃａｓｅコードオーバラップ出力ハードデコーディングスキームのフローはステップ１〜ステップ５を含む。
【００５４】
ステップ１において、得られたデータブロックのソフトインフォメーションは、下式から得られる。
（数１５）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１ｎ−１，Ｒｉｎ−１］＋Ｗｉｎ，ｎ＝Ｎ１＿ｉｔｒ・・・（式３）
（ＲｉｎはＢｉに対応するｎ回の反復出力であり、Ｒｉｎ−１はＢｉに対応するｎ−１回の反復出力であり、すなわち、ｎ回の反復入力である。Ｗｉｎは［Ｂｉ−１Ｔ  Ｂｉ］ブロックにより求められた外部情報である）
【００５５】
ステップ２において、ステップＳ５０２で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボルのシンボルビットをコーディング規則に対応させ、シンボルビットを０／１ビットとして判定することである。
【００５６】
ステップ３において、Ｓ−１個の［Ｂｉ−１Ｔ  Ｂｉ］に対応する硬判定結果（ｉ＝２、……Ｓ）に対して（２ｍ，２ｍ−ｒ）ブロックコードのデコードを順次行う。
【００５７】
ステップ４において、ステップ３を合計Ｎ２＿ｉｔｒ回繰り返し重複し、最終的な先頭のＴ個のブロックのデータをデコーダ出力とする。Ｎ２＿ｉｔｒはレジスタの設定可能をサポートする。ブロックコードに拡張チェックビットがあると、前のＮ３＿ｉｔｒ回の反復はチェックビットの（２ｍ，２ｍ−ｒ）ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻す。後の反復はチェックビット検出を行わず、デコード結果をｍｏｄ２加算（排他的論理和）し、チェックビットを取得する。Ｎ３＿ｉｔｒはレジスタの設定可能をサポートし、値の範囲は［１，Ｎ２＿ｉｔｒ］である。
【００５８】
ステップ５において、デコーダのロック現象を訂正するために、デコーダ動作の中間反復過程において、パケットデコーダがエラーをフィードバックして訂正すると、この時のコードワード系列を最初の入力データに戻してもよい。
【００５９】
一実施例において、前記ステップＳ５０６でＳ個のＢｉブロックを正規化処理した後、ソフトデコーディングし、ｓｔａｉｒｃａｓｅコードオーバラップ出力ソフトデコーディングスキームのフローはステップ１〜ステップ５を含む。
【００６０】
ステップ１において、得られたデータブロックのソフトインフォメーションは、下式から得られる。
（数１６）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝Ｎ１＿ｉｔｒ・・・（式４）
Ｒｉ０はＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションである。Ｗｉｎは［Ｂｉ−１Ｔ  Ｂｉ］ブロックにより求められた外部情報であり、Ａｉ０は外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａｉ−１０はＡｉ０以上である。
【００６１】
ステップ２において、ステップ１で得られたＳ個のＢｉブロックのデータに対してソフトインフォメーション更新を行い、最終回の反復を行うとき、以下のような式によりデコーダのソフトインフォメーション出力を取得する。
（数１７）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋Ｗｉｎ，ｎ＝１・・・（式８）
【００６２】
ステップ３において、ステップ２をｎ＝２、……Ｎ２＿ｉｔｒ回繰り返し、最終的なデコード出力データを取得し、Ｎ２＿ｉｔｒはレジスタの設定可能をサポートする。
（数１８）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１ｎ−１，Ｒｉｎ−１］＋Ｗｉｎ，ｎ＝Ｎ２＿ｉｔｒ・・・（式５）
【００６３】
ステップ４において、ステップ３で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボル（または対応要素と呼ぶ）のシンボルビットをコーディング規則に対応させ、シンボルビットを０／１ビットとして判定することである。
【００６４】
ステップ５において、ステップ４で得られた先頭のＴ個のブロックのデータをデコーダ出力とする。
【００６５】
一実施例において、前記ステップＳ５０８でＳ−Ｔ個のブロックのソフトインフォメーションを選択し、選択過程は以下を含む。ステップＳ５０６でハードデコーディングを採用すれば、ステップＳ５０４で得られたソフトインフォメーションの先頭のＴ個のブロックのデータを破棄し、このＳ−Ｔ個のブロックのソフトインフォメーションとする。ステップＳ５０６でハードデコーディングして得られたデータブロックから第２Ｔ＋１個のブロックおよびそれ以降のＮ＿ｂｈブロックを選択し、更にステップＳ５０４で得られた第Ｔ＋Ｎ＿ｂｈ＋２ブロック〜第Ｓブロックのソフトインフォメーションに対応する元の入力データとスティッチングし、このＳ−Ｔ個のブロックのソフトインフォメーションとしてもよい。ここで、Ｎ＿ｂｈの値の範囲は［０，Ｓ−Ｔ−１］であり、レジスタの設定可能をサポートする。
【００６６】
ステップＳ５０６でソフトデコーディングを採用すれば、このＳ−Ｔ個のデータブロックは、ステップＳ５０６でソフトデコーディングして得られた第２Ｔ＋１個のブロック〜第３Ｔ個のブロックのソフトインフォメーションデータブロックからなり、下式から得られる。
（数１９）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝Ｎ２＿ｉｔ・・・（式６）
（ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーション出力であり、Ｗｉｎは［Ｂｉ−１Ｔ  Ｂｉ］ブロックにより求められた外部情報である）
【００６７】
一実施例において、前記ステップＳ５０８でＳ個のＢｉブロックに対してソフトインフォメーション更新を行うとき、動作過程が上記ステップＳ５０４に含まれるステップ１〜ステップ４の処理過程と一致する。
【００６８】
以上の実施形態の説明により、当業者は、上記実施例による方法がソフトウェアと必要な汎用ハードウェアプラットフォームとを併用する方式を介して実現でき、もちろん、ハードウェアにより実現できるが、多くの場合、前者の方がより好ましい実施形態であることを明らかに理解できる。このような理解に基づき、本願の技術案は、本質的または関連技術に貢献する部分がソフトウェア製品の形態で具現化でき、該コンピュータソフトウェア製品が、読み出し専用メモリ／ランダムアクセスメモリ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ／Ｒａｎｄｏｍ  ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＯＭ／ＲＡＭ）、磁気ディスク、光ディスクのような１つの記憶媒体に記憶され、携帯電話機、コンピュータ、サーバ、またはネットワーク機器等であり得る１台の端末装置に本願の各実施例に記載の方法を実行させるための複数の命令を含む。
【００６９】
本実施例において、上記実施例および例示的な実施形態を実現するように構成されるｓｔａｉｒｃａｓｅコードの復号化装置を更に提供し、既に説明したものを省略する。以下に使用されるように、「モジュール」という用語は、所定の機能を持つソフトウェアおよびハードウェアのうちの少なくとも１種の組み合わせを実現できる。以下の実施例に説明する装置は、ソフトウェアとして実現することが好ましいが、ハードウェアまたはソフトウェアとハードウェアとの組み合わせとして実現することも可能で想像され得る。
【００７０】
図６は、本願の実施例のｓｔａｉｒｃａｓｅコードの復号化装置の構造ブロック図である。図６に示すように、該装置は、更新モジュール６０２、復号化モジュール６０４および処理モジュール６０６を備える。
【００７１】
更新モジュール６０２は、ｓｔａｉｒｃａｓｅコードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーションの更新を行って第１情報ブロックを取得し、第１情報ブロックの最後のＳ−Ｔ個の符号化ブロックおよびＴ個の新規追加した符号化ブロックを更新して第２情報ブロックを取得するように構成され、ＳおよびＴはいずれも０よりも大きい整数である。
【００７２】
復号化モジュール６０４は、上記更新モジュール６０２に接続され、第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックを復号化して第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力する。
【００７３】
処理モジュール６０６は、上記復号化モジュール６０４に接続され、第２情報ブロックまたは第３情報ブロックからＳ−Ｔ個の情報ブロックを選択し、選択したＳ−Ｔ個の情報ブロックとＴ個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってＳ個の更新後の情報ブロックを取得し、Ｓブロックの更新後の情報ブロックを新たな第２情報ブロックとする動作と、第３情報ブロックにおける第Ｔ＋１個のブロック〜第２Ｔ個のブロックの情報と新たな第２情報ブロックにおける先頭のＳ−Ｔ個のブロックの情報とを共に復号化して新たな第３情報ブロックを取得し、先頭のＴ個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行するように構成される。
【００７４】
一実施例において、ｓｔａｉｒｃａｓｅコードにおける最初のＳ個の符号化ブロックに対してソフトインフォメーションの更新を行って第１情報ブロックを取得するとき、更新モジュール６０２は、最初のＳ個の符号化ブロックＢｉをＮ１＿ｉｔｒ回の反復を行うことによって、ソフトインフォメーションの更新を行い、第１情報ブロックを取得するように構成される更新ユニットを備え、１≦ｉ≦Ｓであり、Ｎ１＿ｉｔｒは０よりも大きい整数である。
【００７５】
一実施例において、上記更新ユニットは以下を含む。第１更新処理サブユニットであって、以下のような式により、ブロック［Ｂｉ−１Ｔ  Ｂｉ］，ｉ＝１に対してソフトインフォメーションの更新を行うように構成される。
（数２０）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ｒｉ０はＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報であり、Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａｉ−１ｎの値は１であり、Ａｉｎの値はｎ／Ｎ１＿ｉｔｒである）
第２更新処理サブユニットであって、以下のような式により、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝２、……Ｓ−１に対してソフトインフォメーション更新を行うように構成される。
（数２１）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ａｉ−１ｎはＡｉｎ以上である）
ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−１に対して第１更新処理および第２更新処理を繰り返し行い、繰り返し実行する過程において、ｎ＝２、……Ｎ１＿ｉｔｒであり、ＡｉｎはＡｉｎ−１以上であり、Ｎ１＿ｉｔｒはレジスタの設定可能をサポートする。
【００７６】
一実施例において、第１情報ブロックの最後のＳ−Ｔ個の符号化ブロックおよびＴ個の新規追加した符号化ブロックを更新して第２情報ブロックを取得するとき、更新モジュール６０２は以下を含む。第３更新処理サブユニットであって、以下のような式により、ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行うように構成される。
（数２２）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ｒｉ０は符号化ブロックＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報であり、Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａｉ−１ｎの値は１であり、Ａｉｎの値はｎ／Ｎ１＿ｉｔｒである）
第４更新処理サブユニットであって、以下のような式により、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔに対してソフトインフォメーション更新を行うように構成される。
（数２３）
［ＲＳ−Ｔ−１ｎ，ＲＳ−Ｔｎ］＝［ＲＳ−Ｔ−１０，ＲＳ−Ｔ０］＋［ＡＳ−Ｔ−１ｎ，ＡＳ−Ｔｎ］×Ｗｉｎ−１，ｎ＝１・・・（式２）
第５更新処理サブユニットであって、以下のような式により、ブロック［Ｂｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔ＋１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行うように構成される。
（数２４）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
第６更新処理サブユニットであって、第３更新処理ユニット、第４更新処理ユニットおよび第５更新処理ユニットにおける動作を繰り返し実行して第２情報ブロックを取得するように構成され、ＡｉｎはＡｉｎ−１以上であり、繰り返し実行する過程において、ｎ＝２、……Ｎ１＿ｉｔｒである。
【００７７】
一実施例において、上記復号化モジュール６０４は、第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをハードデコーディングして第３情報ブロックを取得するように構成されるハードデコーディングユニットと、第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをソフトデコーディングして第３情報ブロックを取得するように構成されるソフトデコーディングユニットとのうちの１つを含む。
【００７８】
一実施例において、上記ハードデコーディングユニットは以下の動作を実行するように構成される。以下のような式により、第１情報ブロックおよび第２情報ブロックのソフトインフォメーションを取得する。
（数２５）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１ｎ−１，Ｒｉｎ−１］＋Ｗｉｎ，ｎ＝Ｎ１＿ｉｔｒ・・・（式３）
（Ｒｉｎは符号化ブロックＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報である）
得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを０ビットまたは１ビットとして判定するという方式で、得られたソフトインフォメーションを硬判定する。Ｓ−１個の［Ｂｉ−１Ｔ  Ｂｉ］に対応する硬判定結果に対して（２ｍ，２ｍ−ｒ）ブロックコードのデコードを順次行う（ｉ＝２、……Ｓである）という方式で、デコード処理を行う。デコード処理をＮ２＿ｉｔｒ回繰り返し実行し、デコードしたＳブロックのデータを第３情報ブロックとして確定し、先頭のＴ個のブロックのデータをデコーダの出力とする。
【００７９】
一実施例において、デコード処理をＮ２＿ｉｔｒ回繰り返し実行するとき、ブロックコードに拡張チェックビットがあると、前のＮ３＿ｉｔｒ回の反復はチェックビットの（２ｍ，２ｍ−ｒ）ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻し、後の反復はチェックビット検出を行わず、デコード結果をｍｏｄ２加算（排他的論理和）してチェックビットを取得し、Ｎ３＿ｉｔｒの値の範囲は［１，Ｎ２＿ｉｔｒ］であり、Ｎ２＿ｉｔｒは０よりも大きい整数である。
【００８０】
一実施例において、デコード処理をＮ２＿ｉｔｒ回繰り返し実行する過程において、デコード処理を処理するパケットデコーダがエラーをフィードバックして訂正すると、現在のコードワード系列を最初の入力データに戻す。
【００８１】
一実施例において、上記ソフトデコーディングユニットは以下の動作を実行するように構成される。第１情報ブロックおよび第２情報ブロックを正規化処理した後、以下のような式により、第１情報ブロックおよび第２情報ブロックのソフトインフォメーションを取得する。
（数２６）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝Ｎ１＿ｉｔｒ・・・（式４）
（Ｒｉ０は符号化ブロックＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報であり、Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａｉ−１ｎの値は１であり、Ａｉｎ値は（ｎ−１）／Ｎ１＿ｉｔｒである）
出力処理を繰り返し実行し、繰り返し実行する過程において、ｎ＝２、……Ｎ２＿ｉｔｒであり、Ｎ２＿ｉｔｒは０よりも大きい整数である。最終回の反復を行うとき、以下のような式により、デコーダのソフトインフォメーション出力を取得するというような出力処理を実行する。
（数２７）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１ｎ−１，Ｒｉｎ−１］＋Ｗｉｎ，ｎ＝Ｎ２＿ｉｔｒ・・・（式５）
出力処理を繰り返し実行し、繰り返し実行する過程において、ｎ＝２、……Ｎ２＿ｉｔｒであり、Ｎ２＿ｉｔｒは０よりも大きい整数である。得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを０ビットまたは１ビットとして判定するという方式で、出力処理により得られたソフトインフォメーションを硬判定する。硬判定処理によって得られた先頭のＴ個のブロックのデータを第３情報ブロックとして確定し、デコーダ出力とする。
【００８２】
一実施例において、第２情報ブロックまたは第３情報ブロックからＳ−Ｔ個の情報ブロックを選択するとき、処理モジュール６０６は以下の動作を実行するように構成される。
第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをハードデコーディングして第３情報ブロックを取得するとき、第２情報ブロックにおける先頭のＴ個のブロックのデータを破棄し、Ｓ−Ｔ個の情報ブロックを取得するという方式、または、第２情報ブロックにおける第２Ｔ＋１個のブロックおよびそれ以降のＮ＿ｂｈブロックを選択し、更に第２情報ブロックにおける第Ｔ＋Ｎ＿ｂｈ＋２ブロック〜第Ｓブロックのソフトインフォメーションに対応する元の入力データとスティッチングし、Ｓ−Ｔ個の情報ブロックとするという方式で、Ｓ−Ｔ個の情報ブロックを選択し、Ｎ＿ｂｈの値の範囲は［０，Ｓ−Ｔ−１］である。第１情報ブロックの先頭のＴ個の符号化ブロックおよび第２情報ブロックの先頭のＳ−Ｔ個の符号化ブロックをソフトデコーディングして第３情報ブロックを取得するとき、第３情報ブロックから第２Ｔ＋１個のブロック〜第Ｓ＋Ｔ個のブロックのデータを選択してＳ−Ｔ個の情報ブロックとするという方式でＳ−Ｔ個の情報ブロックを選択し、生成方法以下のとおりである。
（数２８）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝Ｎ２＿ｉｔｒ・・・（式６）
（ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーション出力であり、Ｗｉｎは［Ｂｉ−１Ｔ  Ｂｉ］ブロックにより求められた外部情報である）
【００８３】
以下、具体的な適用シーンにより本願について説明し、バックボーン（ｌｏｎｇ  ｈａｕｌ）シーンに適用する高性能ｓｔａｉｒｃａｓｅソフトデコーディング方法と復号化器装置、メトロ／データセンター（ｍｅｔｒｏ／Ｄａｔａ  Ｃｅｎｔｅｒ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ、ｍｅｔｒｏ／ＤＣＩ）シーンに適用する低消費電力ｓｔａｉｒｃａｓｅソフトデコーディング方法と復号化器装置、および短距離伝送シーンでの相互接続に適用するｓｔａｉｒｃａｓｅハードデコーディング方法と復号化器装置についてそれぞれ説明する。
【００８４】
（例示的な実施例１）
本願の例示的な実施例１において、バックボーン（ｌｏｎｇ  ｈａｕｌ）シーンに適用する高性能ｓｔａｉｒｃａｓｅソフトデコーディングフローを提供する。バックボーン伝送シーンでは、ＦＥＣのネット符号化利得に対する要求が非常に高く、性能に優れたｓｔａｉｒｃａｓｅコードを取得するために、反復回数Ｎ１＿ｉｔｒおよびＮ２＿ｉｔｒは、システムの需要に応じて大きい値に設定できる。ステップ１〜ステップ６を含む。
【００８５】
ステップ１において、最初のＳ個のＢｉブロック（Ｂ０、Ｂ１、……ＢＴ−１、ＢＴ、……ＢＳ−１）に対してソフトインフォメーションの更新を行い、Ｂ０１、Ｂ１１、……ＢＴ−１１、ＢＴ１、……ＢＳ−１１を取得する。ここで、パラメータＳおよびＴは、それぞれ毎回ソフトデコーディングするデータのブロック数および次回の復号化に追加した新たなデータのブロック数を表し、レジスタの設定可能をサポートする。ソフトインフォメーション更新のステップはステップ（１）〜ステップ（３）を含む。
【００８６】
ステップ（１）において、ブロック［Ｂ０Ｔ  Ｂ１］に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数２９）
［Ｒ０ｎ，Ｒ１ｎ］＝［Ｒ００，Ｒ１０］＋［Ａ０ｎ，Ａ１ｎ］×Ｗｉｎ，ｎ＝１・・・（式７）
（Ｒｉ０はＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報である。Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａ００の値は１であり、Ａ１０は小さい値を取る）
【００８７】
ステップ（２）において、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝２、……Ｓ−１に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数３０）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ａｉ−１１はＡｉ１以上である）
【００８８】
ステップ（３）において、ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−１に対してステップＳ５０６におけるステップ１およびステップ２のソフトインフォメーション更新をｎ＝２、……Ｎ１＿ｉｔｒ回繰り返し行い、最終的なソフトインフォメーションデータを取得する。ここで、ＡｉｎはＡｉｎ−１以上であり、Ｎ１＿ｉｔｒはレジスタの設定可能をサポートする。
【００８９】
ステップ２において、ステップ１で得られたソフトインフォメーションＢＴ１、……ＢＳ−１１および新規追加したデータブロックＢＳ、ＢＳ＋１、……ＢＳ＋Ｔ−１に対してソフトインフォメーションの更新を行い、ＢＴ２、……ＢＳ−１２、ＢＳ１、ＢＳ＋１１、……ＢＳ＋Ｔ−１１を取得する。ここで、ソフトインフォメーション更新はステップ（１）〜ステップ（４）を含む。
【００９０】
ステップ（１）において、ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数３１）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ｒｉ０はＢｉに対応するデコーダの元の入力データであり、Ａｉ−１０はＡｉ０以上である）
【００９１】
ステップ（２）において、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔに対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数３２）
［ＲＳ−Ｔ−１ｎ，ＲＳ−Ｔｎ］＝［ＲＳ−Ｔ−１０，ＲＳ−Ｔ０］＋［ＡＳ−Ｔ−１ｎ，ＡＳ−Ｔｎ］×Ｗｉｎ−１，ｎ＝１・・・（式２）
（Ａｉ−１０の値がＡｉ０よりも大きい）
【００９２】
ステップ（３）において、ブロック［Ｂｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔ＋１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数３３）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ａｉ−１０はＡｉ０以上である）
【００９３】
ステップ（４）において、ステップ（１）、ステップ（２）およびステップ（３）をｎ＝２、……Ｎ１＿ｉｔｒ回繰り返し実行し、最終的なソフトインフォメーションデータを取得する。ここで、ＡｉｎはＡｉｎ−１以上である。
【００９４】
ステップ３において、ステップ２で得られたソフトインフォメーションＢ０１、Ｂ１１、……ＢＴ−１１およびステップＳ５０６に含まれるステップ２で得られたソフトインフォメーションＢＴ２、……ＢＳ−１２をソフトデコーディングし、正規化処理を行い、Ｂ０２、Ｂ１２、……ＢＴ−１２、ＢＴ３、……ＢＳ−１３を取得する。Ｂ０２、Ｂ１２、……ＢＴ−１２のデータを出力し、デコーダ出力結果を取得する。ステップ（１）〜ステップ（５）に分けられる。
【００９５】
ステップ（１）において、得られたデータブロックのソフトインフォメーションは下式により得られる。
（数３４）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝Ｎ１＿ｉｔｒ・・・（式４）
（Ｒｉ０はＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションである。Ｗｉｎは［Ｂｉ−１Ｔ  Ｂｉ］ブロックにより求められた外部情報であり、Ａｉ０は外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａｉ−１０はＡｉ０以上である）
【００９６】
ステップ（２）において、ステップ（１）で得られたＳ個のＢｉブロックのデータに対してソフトインフォメーション更新を行い、最終回の反復を行うとき、以下のような式によりデコーダのソフトインフォメーション出力を取得する。
（数３５）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋Ｗｉｎ，ｎ＝１・・・（式８）
【００９７】
ステップ（３）において、ステップ（２）をｎ＝２、……Ｎ２＿ｉｔｒ回繰り返し、最終的なデコード出力データを取得し、Ｎ２＿ｉｔｒはレジスタの設定可能をサポートする。
（数３６）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１ｎ−１，Ｒｉｎ−１］＋Ｗｉｎ，ｎ＝Ｎ２＿ｉｔｒ・・・（式５）
【００９８】
ステップ（４）において、ステップ（３）で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボルのシンボルビットをコーディング規則に対応させ、シンボルビットを０／１ビットとして判定することである。
【００９９】
ステップ（５）において、ステップ（４）で得られた先頭のＴ個のブロックのデータをデコーダ出力とする。
【０１００】
ステップ４において、Ｓ−Ｔ個のブロックのソフトインフォメーションを選択し、新規追加したＴ個のブロックのデータと共にソフトインフォメーションの更新を行い、Ｓブロックの更新後のソフトインフォメーションデータを取得し、ステップ（１）およびステップ（２）に分けられる。
【０１０１】
ステップ（１）において、このＳ−Ｔ個のデータブロックは、ステップ３でソフトデコーディングして得られた第２Ｔ＋１個のブロック〜第３Ｔ個のブロックのソフトインフォメーションデータブロックからなり、下式から得られる。
（数３７）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝Ｎ２＿ｉｔｒ・・・（式６）
（ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーション出力であり、Ｗｉｎは［Ｂｉ−１Ｔ  Ｂｉ］ブロックにより求められた外部情報である）
【０１０２】
ステップ（２）において、ステップ２に含まれるステップ（１）〜ステップ（４）の処理過程に対してソフトインフォメーションの更新を行う。
【０１０３】
ステップ５において、ステップ３で得られた第Ｔ＋１個のブロック〜第２Ｔ個のブロックのデータとステップ４で得られた先頭のＳ−Ｔ個のブロックのデータとを共にハードデコーディングまたはソフトデコーディングをし、先頭のＴ個のブロックのデータをデコーダの出力として出力する。
【０１０４】
ステップ６において、ステップ４およびステップ５を繰り返し実行し、デコーダから出力されるＴ個のブロックのストリームデータを絶え間なく取得する。
【０１０５】
（例示的な実施例２）
本願の例示的な実施例２において、メトロ／データセンター（ｍｅｔｒｏ／ＤＣＩ）シーンに適用する低消費電力ｓｔａｉｒｃａｓｅソフトデコーディングフローを提供する。メトロ／データセンターの適用シーンでは、システムのネット符号化利得を満足した前提で、ＦＥＣの消費電力、遅延に対する要求が非常に高く、需要を満たしたｓｔａｉｒｃａｓｅコードを取得するために、反復回数Ｎ１＿ｉｔｒおよびＮ２＿ｉｔｒは、システムの需要に応じて小さい値に設定でき、且つ、オーバラップ箇所に消費電力および遅延がより小さい硬判定ｓｔａｉｒｃａｓｅスキームを使用することができる。具体的には、ステップ１〜ステップ６を含む。
【０１０６】
ステップ１において、最初のＳ個のＢｉブロック（Ｂ０、Ｂ１、……ＢＴ−１、ＢＴ、……ＢＳ−１）、に対してソフトインフォメーションの更新を行い、Ｂ０１、Ｂ１１、……ＢＴ−１１、ＢＴ１、……ＢＳ−１１を取得する。ここで、パラメータＳおよびＴは、それぞれ毎回ソフトデコーディングするデータのブロック数および次回の復号化に追加した新たなデータのブロック数を表し、レジスタの設定可能をサポートする。ソフトインフォメーション更新のステップはステップ（１）〜ステップ（３）に分けられる。
【０１０７】
ステップ（１）において、ブロック［Ｂ０Ｔ  Ｂ１］に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数３８）
［Ｒ０ｎ，Ｒ１ｎ］＝［Ｒ００，Ｒ１０］＋［Ａ０ｎ，Ａ１ｎ］×Ｗｉｎ，ｎ＝１・・・（式７）
（Ｒｉ０はＢｉに対応するデコーダの元の入力データであり、ＲｉｎはＢｉに対応するｎ回の反復が行われたソフトインフォメーションであり、Ｗｉｎはブロック［Ｂｉ−１Ｔ  Ｂｉ］により求められた外部情報である。Ａｉｎは外部情報の信頼度因子であり、値の範囲が（０，１］であり、Ａ００の値は１であり、Ａ１０は小さい値を取る）
【０１０８】
ステップ（２）において、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝２、……Ｓ−１に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数３９）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ａｉ−１１はＡｉ１以上である）
【０１０９】
ステップ（３）において、ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−１に対してステップ（１．１）および（１．２）のソフトインフォメーション更新をｎ＝２、……Ｎ１＿ｉｔｒ回繰り返し行い、最終的なソフトインフォメーションデータを取得する。ここで、ＡｉｎはＡｉｎ−１以上であり、Ｎ１＿ｉｔｒはレジスタの設定可能をサポートする。
【０１１０】
ステップ２において、ステップ１で得られたソフトインフォメーションＢＴ１、……ＢＳ−１１および新規追加したデータブロックＢＳ、ＢＳ＋１、……ＢＳ＋Ｔ−１に対してソフトインフォメーションの更新を行い、ＢＴ２、……ＢＳ−１２、ＢＳ１、ＢＳ＋１１、……ＢＳ＋Ｔ−１１を取得する。ここで、ソフトインフォメーション更新はステップ（１）〜ステップ（４）に分けられる。
【０１１１】
ステップ（１）において、ブロック［Ｒｉ−１Ｔ  Ｒｉ］，ｉ＝１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数４０）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ｒｉ０はＢｉに対応するデコーダの元の入力データであり、Ａｉ−１０はＡｉ０以上である）
【０１１２】
ステップ（２）において、ブロック［Ｒｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔに対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数４１）
［ＲＳ−Ｔ−１ｎ，ＲＳ−Ｔｎ］＝［ＲＳ−Ｔ−１０，ＲＳ−Ｔ０］＋［ＡＳ−Ｔ−１ｎ，ＡＳ−Ｔｎ］×Ｗｉｎ−１，ｎ＝１・・・（式２）
（Ａｉ−１０の値はＡｉ０よりも大きい）
【０１１３】
ステップ（３）において、ブロック［Ｂｉ−１Ｔ  Ｂｉ］，ｉ＝Ｓ−Ｔ＋１、……Ｓ−Ｔ−１に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
（数４２）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝１・・・（式１）
（Ａｉ−１０はＡｉ０以上である）
【０１１４】
ステップ（４）において、ステップ（１）、ステップ（２）およびステップ（３）をｎ＝２、……Ｎ１＿ｉｔｒ回繰り返し実行し、最終的なソフトインフォメーションデータを取得する。ここで、ＡｉｎはＡｉｎ−１以上である。
【０１１５】
ステップ３において、ステップ１で得られたソフトインフォメーションＢ０１、Ｂ１１、……ＢＴ−１１およびステップ２で得られたソフトインフォメーションＢＴ２、……ＢＳ−１２をハードデコーディングし、Ｂ０２、Ｂ１２、……ＢＴ−１２、ＢＴ３、……ＢＳ−１３を取得する。Ｂ０２、Ｂ１２、……ＢＴ−１２のデータを出力し、デコーダ出力結果を取得し、ステップ（１）〜ステップ（５）に分けられる。
【０１１６】
ステップ（１）において、得られたデータブロックのソフトインフォメーションは下式により得られる。
（数４３）
［Ｒｉ−１ｎ，Ｒｉｎ］＝［Ｒｉ−１０，Ｒｉ０］＋［Ａｉ−１ｎ，Ａｉｎ］×Ｗｉｎ，ｎ＝Ｎ１＿ｉｔｒ・・・（式４）
（ＲｉｎはＢｉに対応するｎ回の反復出力であり、Ｒｉｎ−１はＢｉに対応するｎ−１回の反復出力であり、すなわち、ｎ回の反復入力である。Ｗｉｎは［Ｂｉ−１Ｔ  Ｂｉ］ブロックにより求められた外部情報である）
【０１１７】
ステップ（２）において、ステップ１で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボルのシンボルビットをコーディング規則に対応させ、シンボルビットを０／１ビットとして判定することである。
【０１１８】
ステップ（３）において、Ｓ−１個の［Ｂｉ−１Ｔ  Ｂｉ］に対応する硬判定結果（ｉ＝２、……Ｓ）に対して（２ｍ，２ｍ−ｒ）ブロックコードのデコードを順次行う。
【０１１９】
ステップ（４）において、ステップ（３）を合計Ｎ２＿ｉｔｒ回繰り返し、最終的な先頭のＴ個のブロックのデータをデコーダ出力とする。Ｎ２＿ｉｔｒはレジスタの設定可能をサポートする。ブロックコードに拡張チェックビットがあると、前のＮ３＿ｉｔｒ回の反復はチェックビットの（２ｍ，２ｍ−ｒ）ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻す。後の反復はチェックビット検出を行わず、デコード結果をｍｏｄ２加算（排他的論理和）してチェックビットを取得する。Ｎ３＿ｉｔｒはレジスタの設定可能をサポートし、値の範囲は［１，Ｎ２＿ｉｔｒ］である。
【０１２０】
ステップ（５）において、デコーダのロック現象を訂正するために、デコーダ動作の中間反復過程において、パケットデコーダがエラーをフィードバックして訂正すると、この時のコードワード系列を最初の入力データに戻してもよい。
【０１２１】
ステップ４において、Ｓ−Ｔ個のブロックのソフトインフォメーションを選択し、新規追加したＴ個のブロックのデータと共にソフトインフォメーションの更新を行い、Ｓブロックの更新後のソフトインフォメーションデータを取得し、ステップ（１）およびステップ（２）に分けられる。
【０１２２】
ステップ（１）において、ステップ２で得られたソフトインフォメーションの先頭のＴ個のブロックのデータを破棄し、このＳ−Ｔ個のブロックのソフトインフォメーションとする。ステップ３でハードデコーディングして得られたデータブロックから第２Ｔ＋１個のブロックおよびそれ以降のＮ＿ｂｈブロックを選択し、更にステップ２で得られた第Ｔ＋Ｎ＿ｂｈ＋２ブロック〜第Ｓブロックのソフトインフォメーションに対応する元の入力データとスティッチングし、このＳ−Ｔ個のブロックのソフトインフォメーションとしてもよい。ここで、Ｎ＿ｂｈの値の範囲は［０，Ｓ−Ｔ−１］であり、レジスタの設定可能をサポートする。
【０１２３】
ステップ（２）において、ステップ２に含まれるステップ（１）〜ステップ（４）の処理過程でソフトインフォメーションの更新を行う。
【０１２４】
ステップ５において、ステップ３で得られた第Ｔ＋１個のブロック〜第２Ｔ個のブロックのデータとＳ１００８で得られた先頭のＳ−Ｔ個のブロックのデータとを共にハードデコーディングまたはソフトデコーディングをし、先頭のＴ個のブロックのデータをデコーダの出力として出力する。
【０１２５】
ステップ６において、ステップ４およびステップ５を繰り返し実行し、デコーダから出力されるＴ個のブロックのストリームデータを絶え間なく取得する。
【０１２６】
（例示的な実施例３）
本願の例示的な実施例３において、短距離伝送シーンでの相互接続に適用するｓｔａｉｒｃａｓｅハードデコーディングフローを提供する。短距離伝送によって相互接続するシーンでは、ＦＥＣ硬判定のネット符号化利得に対する要求が非常に高く、且つエラーフロア現象に対する制御がより重要となる。需要を満たしたｓｔａｉｒｃａｓｅコードを取得するために、ステップ１〜ステップ６を実行することができる。
【０１２７】
ステップ１において、最初のＳ個のＢｉブロック（Ｂ０、Ｂ１、……ＢＴ−１、ＢＴ、……ＢＳ−１）をハードデコーディングし、Ｂ０１、Ｂ１１、……ＢＴ−１１、ＢＴ１、……ＢＳ−１１を取得する。ここで、パラメータＳおよびＴは、それぞれ毎回復号化するデータのブロック数および次回の復号化に追加した新たなデータのブロック数を表し、レジスタの設定可能をサポートする。
【０１２８】
ステップ１はステップ（１）〜ステップ（５）を含む。
【０１２９】
ステップ（１）において、Ｓブロックのデータを硬判定し、Ｓ個の硬判定データブロックを取得する。
【０１３０】
ステップ（２）において、ブロック［Ｂ０Ｔ  Ｂ１］，ｉ＝１、……Ｓ−１に対して（２ｍ，２ｍ−ｒ）ブロックコードのハードデコーディングを行い、更新後のブロックデータを［Ｈ０Ｔ  Ｈ１］と記す。
【０１３１】
ステップ（３）において、ブロック［ＨｉＴ  Ｂｉ−１Ｔ］，ｉ＝２、……Ｓ−１に対して（２ｍ，２ｍ−ｒ）ブロックコードのハードデコーディングを行い、更新後のデータを［ＨｉＴ  Ｈｉ−１］と記す。
【０１３２】
ステップ（４）において、更新後のブロック［Ｈｉ  Ｈｉ−１Ｔ］，ｉ＝Ｓ−１、……１に対して（２ｍ，２ｍ−ｒ）ブロックコードのハードデコーディングを行う。
【０１３３】
ステップ（５）において、ステップ（３）およびステップ（４）を合計Ｎ１＿ｉｔｒ回繰り返し、最終的な硬判定データを取得する。Ｎ１＿ｉｔｒはレジスタの設定可能をサポートする。
【０１３４】
ステップ２において、ステップ１で得られた硬判定情報ＢＴ１、……ＢＳ−１１および新規追加したデータブロックＢＳ、ＢＳ＋１、……ＢＳ＋Ｔ−１をハードデコーディングし、ＢＴ２、……ＢＳ−１２、ＢＳ１、ＢＳ＋１１、……ＢＳ＋Ｔ−１１を取得する。方法はステップ１に示すとおりである。
【０１３５】
ステップ３において、ステップ１で得られた硬判定情報Ｂ０１、Ｂ１１、……ＢＴ−１１およびＳ１６０４で得られた硬判定情報ＢＴ２、……ＢＳ−１２をハードデコーディングし、Ｂ０２、Ｂ１２、……ＢＴ−１２、ＢＴ３、……ＢＳ−１３を取得する。Ｂ０２、Ｂ１２、……ＢＴ−１２データを出力し、デコーダのデコード結果を取得する。
【０１３６】
ステップ３はステップ（１）〜ステップ（４）を含む。
【０１３７】
ステップ（１）において、Ｓ−１個の［Ｂｉ−１Ｔ  Ｂｉ］ブロック（ｉ＝２、……Ｓ）に対して（２ｍ，２ｍ−ｒ）ブロックコードのハードデコーディングを順次行う。
【０１３８】
ステップ（２）において、Ｓ−１個の［Ｂｉ  Ｂｉ−１Ｔ］ブロック（ｉ＝Ｓ−１、……、１）に対して（２ｍ，２ｍ−ｒ）ブロックコードのハードデコーディングを更に順次行う。
【０１３９】
ステップ（３）において、ステップ（１）およびステップ（２）を合計Ｎ２＿ｉｔｒ回繰り返し、最終的なデコード出力データを取得する。Ｎ２＿ｉｔｒはレジスタの設定可能をサポートする。ブロックコードに拡張チェックビットがあると、最初の数回の反復はチェックビットの（２ｍ，２ｍ−ｒ）ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻す。最後の数回の反復はチェックビット検出を行わず、デコード結果をｍｏｄ２加算（排他的論理和）し、チェックビットを取得する。
【０１４０】
ステップ（４）において、デコーダのロック現象を訂正するために、デコーダ動作の中間反復過程において、パケットデコーダがエラーをフィードバックして訂正すると、この時のコードワード系列を最初の入力データに戻してもよい。
【０１４１】
ステップ４において、ステップ３で得られた第２Ｔ＋１個のブロック〜第３Ｔ個のブロックのデータブロックと新規追加したＴ個のブロックのデータとを共にハードデコーディングする。
【０１４２】
ステップ５において、ステップ３でソフトデコーディングした後の第Ｔ＋１個のブロック〜第２Ｔ個のブロックのデータとステップ４における先頭のＳ−Ｔ個のブロックのデータとを共にハードデコーディングし、先頭のＴ個のブロックのデータをデコーダの出力として出力する。
【０１４３】
ステップ６において、ステップ４およびステップ５を繰り返し実行し、デコーダから出力されるＴ個のブロックのストリームデータを絶え間なく取得する。
【０１４４】
本願の実施例は、実行されると上記いずれか１項に記載の方法を実行するプログラムが記憶された記憶媒体を更に提供する。
【０１４５】
一実施例において、上記記憶媒体は、ＵＳＢ、読み出し専用メモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、ＲＯＭ）、ランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＡＭ）、リムーバブルハードディスク、磁気ディスクまたは光ディスク等のプログラムコードを記憶可能な複数種の媒体を含んでもよいが、これらに限定されない。
【０１４６】
本願の実施例は、実行されると上記いずれか１項に記載の方法におけるステップを実行するプログラムを実行するプロセッサを更に提供する。例えば、本実施例における例は、上記実施例および好ましい実施形態に記載された例を参照することができ、本実施例はここで説明を省略する。
【０１４７】
上記実施例により、関連技術に存在する同じコード長および冗長度に対し、ｓｔａｉｒｃａｓｅコードに用いられるブロックコードはＴＰＣコードに用いられるブロックコードと比べ、その誤り訂正能力および最小距離特性が減衰され、最小距離の低減はエラーフロア現象の現れをもたらす可能性がある状況を回避する。本願における実施例は、コードワード間の関連性の特性を合理的に効果的に用いることができ、関連技術における硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない状況を回避し、ひいてはＴＰＣコードよりも優れたウォーターフォール領域の性能を達成し、且つエラーフロア現象を良好に制御する。
【図１】
2021502767.tif 000003
【図２】
2021502767.tif 000004
【図３】
2021502767.tif 000005
【図４】
2021502767.tif 000006
【図５】
2021502767.tif 000007
【図６】
2021502767.tif 000008
【国際調査報告】
2021502767.tif 000009
2021502767.tif 000010
2021502767.tif 000011
2021502767.tif 000012