(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-25
(45)【発行日】2022-04-04
(54)【発明の名称】階段コードの復号化方法、装置および記憶媒体
(51)【国際特許分類】
H03M 13/19 20060101AFI20220328BHJP
H03M 13/45 20060101ALI20220328BHJP
【FI】
H03M13/19
H03M13/45
(21)【出願番号】P 2020525981
(86)(22)【出願日】2018-11-15
(86)【国際出願番号】 CN2018115531
(87)【国際公開番号】W WO2019096184
(87)【国際公開日】2019-05-23
【審査請求日】2020-05-08
(31)【優先権主張番号】201711133350.5
(32)【優先日】2017-11-15
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】511151662
【氏名又は名称】中興通訊股▲ふん▼有限公司
【氏名又は名称原語表記】ZTE CORPORATION
【住所又は居所原語表記】ZTE Plaza,Keji Road South,Hi-Tech Industrial Park,Nanshan Shenzhen,Guangdong 518057 China
(74)【代理人】
【識別番号】110002505
【氏名又は名称】特許業務法人航栄特許事務所
(72)【発明者】
【氏名】王衛明
【審査官】吉江 一明
(56)【参考文献】
【文献】国際公開第2017/178264(WO,A1)
【文献】特表2020-516119(JP,A)
【文献】Lei M. Zhang et al.,Low-Complexity Soft-Decision Concatenated LDGM-Staircase FEC for High-Bit-Rate Fiber-Optic Communication,Journal of Lightwave Technology (Volume:35, Issue:18, Sept. 15, 15 2017),2017年06月16日,pp.3991-3999
【文献】Benjamin P. Smith et al.,Staircase Codes: FEC for 100 Gb/s OTN,Journal of Lightwave Technology (Volume: 30, Issue: 1, Jan. 1, 2012),2011年11月09日,pp.110-117
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/19
H03M 13/45
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得し、前記第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得する(SおよびTはいずれも0よりも大きい整数である)ことと、
前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力することと、
前記第2情報ブロックまたは前記第3情報ブロックからS-T個の情報ブロックを選択し、選択した前記S-T個の情報ブロックとT個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってS個の更新後の情報ブロックを取得し、前記S個の更新後の情報ブロックを新たな第2情報ブロックとする動作と、前記第3情報ブロックにおける第T+1個のブロック~第2T個のブロックの情報と前記新たな第2情報ブロックにおける先頭のS-T個のブロックの情報とを共に復号化して新たな第3情報ブロックを取得し、
前記新たな第3情報ブロックにおける先頭のT個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行することとを含む、階段staircaseコードの復号化方法。
【請求項2】
staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得することは、
前記最初のS個の符号化ブロックB
iに対してN
1_itr回の反復を行うことによって、ソフトインフォメーションの更新を行い、前記第1情報ブロックを取得する(1≦i≦Sであり、N
1_itrは0よりも大きい整数である)ことを含む、請求項1に記載の方法。
【請求項3】
前記最初のS個の符号化ブロックB
iに対してN
1_itr回の反復を行うことによって、ソフトインフォメーションの更新を行うことは、
以下のような式により、ブロック[B
i-1
T B
i],i=1に対してソフトインフォメーションの更新を行う第1更新処理と、
(数44)
[R
i-1
n,R
i
n]=[R
i-1
0,R
i
0]+[A
i-1
n,A
i
n]×W
i
n,n=1・・・(式1)
(R
i
0はB
iに対応するデコーダの元の入力データであり、R
i
nはB
iに対応するn回の反復が行われたソフトインフォメーションであり、W
i
nはブロック[B
i-1
T B
i]により求められた外部情報であり、A
i
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、A
i-1
nの値は1であり、A
i
nの値はn/N
1_itrである)
以下のような式により、ブロック[R
i-1
T B
i],i=2、……S-1に対してソフトインフォメーション更新を行う第2更新処理と、
(数45)
[R
i-1
n,R
i
n]=[R
i-1
0,R
i
0]+[A
i-1
n,A
i
n]×W
i
n,n=1・・・(式1)
(A
i-1
nはA
i
n以上である)
ブロック[R
i-1
T R
i],i=1、……S-1に対して前記第1更新処理および前記第2更新処理を繰り返し行う(繰り返し実行する過程において、n=2、……N
1_itrであり、A
i
nはA
i
n-1以上であり、N
1_itrはレジスタの設定可能をサポートする)こととを含む、請求項2に記載の方法。
【請求項4】
前記第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得することは、
以下のような式により、ブロック[R
i-1
T R
i],i=1、……S-T-1に対してソフトインフォメーション更新を行う第3更新処理と、
(数46)
[R
i-1
n,R
i
n]=[R
i-1
0,R
i
0]+[A
i-1
n,A
i
n]×W
i
n,n=1・・・(式1)
(R
i
0は符号化ブロックB
iに対応するデコーダの元の入力データであり、R
i
nはB
iに対応するn回の反復が行われたソフトインフォメーションであり、W
i
nはブロック[B
i-1
T B
i]により求められた外部情報であり、A
i
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、A
i-1
nの値は1であり、A
i
nの値はn/N
1_itrである)
以下のような式により、ブロック[R
i-1
T B
i],i=S-Tに対してソフトインフォメーション更新を行う第4更新処理と、
(数47)
[R
S-T-1
n,R
S-T
n]=[R
S-T-1
0,R
S-T
0]+[A
S-T-1
n,A
S-T
n]×W
i
n-1,n=1・・・(式2)
以下のような式により、ブロック[B
i-1
T B
i],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行う第5更新処理と、
(数48)
[R
i-1
n,R
i
n]=[R
i-1
0,R
i
0]+[A
i-1
n,A
i
n]×W
i
n,n=1・・・(式1)
前記第3更新処理、前記第4更新処理および前記第5更新処理を繰り返し行って前記第2情報ブロックを取得する(A
i
nはA
i
n-1以上であり、繰り返し実行する過程において、n=2、……N
1_itrである)こととを含む、請求項1に記載の方法。
【請求項5】
前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得することは、
前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックをハードデコーディングして前記第3情報ブロックを取得することと、
前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして前記第3情報ブロックを取得することとのうちの1つを含む、請求項1に記載の方法。
【請求項6】
前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックをハードデコーディングして前記第3情報ブロックを取得することは、
以下のような式により、前記第1情報ブロックおよび前記第2情報ブロックのソフトインフォメーションを取得することと、
(数49)
[R
i-1
n,R
i
n]=[R
i-1
n-1,R
i
n-1]+W
i
n,n=N
1_itr・・・(式3)
(R
i
nは符号化ブロックB
iに対応するn回の反復が行われたソフトインフォメーションであり、W
i
nはブロック[B
i-1
T B
i]により求められた外部情報である) 得られた前記ソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを0ビットまたは1ビットとして判定するという方式で、得られたソフトインフォメーションを硬判定することと、
S-1個の[B
i-1
T B
i]に対応する硬判定結果に対して(2m,2m-r)ブロックコードのデコードを順次行う(i=2、
3、……
、S-1、S)という方式で、デコード処理を行うことと、
前記デコード処理をN
2_itr回繰り返し実行し、デコードしたSブロックのデータを前記第3情報ブロックとして確定し、先頭のT個のブロックのデータをデコーダの出力とすることと
を含む、請求項5に記載の方法。
【請求項7】
前記デコード処理をN
2_itr回繰り返し実行するとき、
前記(2m,2m-r)ブロックコードに拡張チェックビットがある場合、前のN
3_itr回の反復は
前記拡張チェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、
前記(2m,2m-r)ブロックコードのデコードの現在の入力データに戻し、後の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)して
前記拡張チェックビットを取得し、N
3_itrの値の範囲は[1,N
2_itr]であり、N
2_itrは0よりも大きい整数である、請求項6に記載の方法。
【請求項8】
前記デコード処理をN
2_itr回繰り返し実行する過程において、前記デコード処理を処理するパケットデコーダがエラーをフィードバックして訂正すると、
前記(2m,2m-r)ブロックコードのデコードの現在のコードワード系列を最初の入力データに戻す、請求項6に記載の方法。
【請求項9】
前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして前記第3情報ブロックを取得することは、
前記第1情報ブロックおよび前記第2情報ブロックに対して正規化処理を行った後、以下のような式により、前記第1情報ブロックおよび前記第2情報ブロックのソフトインフォメーションを取得することと、
(数50)
[R
i-1
n,R
i
n]=[R
i-1
0,R
i
0]+[A
i-1
n,A
i
n]×W
i
n,n=N
1_itr・・・(式4)
(R
i
0は符号化ブロックB
iに対応するデコーダの元の入力データであり、R
i
nはB
iに対応するn回の反復が行われたソフトインフォメーションであり、W
i
nはブロック[B
i-1
T B
i]により求められた外部情報であり、A
i
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、A
i-1
nの値は1であり、A
i
nの値は(n-1)/N
1_itrである)
出力処理を繰り返し実行する(繰り返し実行する過程において、n=2、……N
2_itrであり、N
2_itrは0よりも大きい整数である)ことと、
最終回の反復を行うとき、以下のような式により、デコーダのソフトインフォメーション出力を取得するというような出力処理を実行することと、
(数51)
[R
i-1
n,R
i
n]=[R
i-1
n-1,R
i
n-1]+W
i
n,n=N
2_itr・・・(式5)
得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを0ビットまたは1ビットとして判定するという方式で、出力処理により得られたソフトインフォメーションを硬判定することと、
硬判定処理によって得られた先頭のT個のブロックのデータを前記第3情報ブロックとして確定し、デコーダ出力とすることとを含む、請求項5に記載の方法。
【請求項10】
前記第2情報ブロックまたは前記第3情報ブロックからS-T個の情報ブロックを選択することは、
前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックをハードデコーディングして前記第3情報ブロックを取得するとき、前記第2情報ブロックにおける先頭のT個のブロックのデータを破棄し、前記S-T個の情報ブロックを取得するという方式、または、前記第3情報ブロックにおける第2T+1個の
情報ブロックおよびそれ以降のN_bh
個の情報ブロックを選択し、更に
選択された前記第3情報ブロックにおける第2T+1個の情報ブロックおよびそれ以降のN_bh個の情報ブロックと、前記第2情報ブロックにおける第T+N_bh+2
個の情報ブロック
のソフトインフォメーション~第S
個の情報ブロックのソフトインフォメーションに対応する元の入力データと
をスティッチングし、
スティッチングされた情報ブロックを前記S-T個の情報ブロックとする(N_bhの値の範囲は[0,S-T-1]である)という方式で、S-T個の情報ブロックを選択することと、
前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして前記第3情報ブロックを取得するとき、前記第3情報ブロックから第2T+1個のブロック~第S+T個のブロックのデータを選択して前記S-T個の情報ブロックとするという方式でS-T個の情報ブロックを選択することであって、生成方法は、以下の式であることとを含む、請求項1に記載の方法。
(数52)
[R
i-1
n,Ri
n]=[R
i-1
0,R
i
0]+[A
i-1
n,A
i
n]×W
i
n,n=N
2_itr・・・(式6)
(R
i
nはB
iに対応するn回の反復が行われたソフトインフォメーション出力であり、W
i
nは[B
i-1
T B
i]ブロックにより求められた外部情報である)
【請求項11】
staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得し、前記第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得する(SおよびTはいずれも0よりも大きい整数である)ように構成される更新モジュールと、
前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力するように構成される復号化モジュールと、
前記第2情報ブロックまたは前記第3情報ブロックからS-T個の情報ブロックを選択し、選択した前記S-T個の情報ブロックとT個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってS個の更新後の情報ブロックを取得し、前記S個の更新後の情報ブロックを新たな第2情報ブロックとする動作と、前記第3情報ブロックにおける第T+1個のブロック~第2T個のブロックの情報と前記新たな第2情報ブロックにおける先頭のS-T個のブロックの情報とを共に復号化して新たな第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行するように構成される処理モジュールとを備える、階段staircaseコードの復号化装置。
【請求項12】
staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得するとき、前記更新モジュールは、
前記最初のS個の符号化ブロックB
iをN
1_itr回の反復を行うことによって、ソフトインフォメーションの更新を行い、前記第1情報ブロックを取得する(1≦i≦Sであり、N
1_itrは0よりも大きい整数である)ように構成される更新ユニットを含む、請求項11に記載の装置。
【請求項13】
実行されると請求項1から10のいずれか1項に記載の方法を実行するプログラムが記憶された、記憶媒体。
【請求項14】
実行されると請求項1から10のいずれか1項に記載の方法を実行するプログラムを実行するように構成される、プロセッサ。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2017年11月15日に中国専利局に出願された出願番号が201711133350.5である中国特許出願に対して優先権の利益を主張するものであり、該出願の全ての内容を引用により本願に援用する。
【0002】
本願は、通信分野に関し、例えば、階段コードの復号化方法、装置および記憶媒体に関する。
【背景技術】
【0003】
前方誤り訂正(Forward Error Correction、FEC)は、高速デジタル通信システムの信頼性のある伝送に関わる重要な技術であり、送信端において一定のコーディング規則に従って一定の冗長を付与ことにより、受信端は復号化技術を用いて伝送中に発生する誤りを訂正する。典型的な伝送システムは、
図1に示すように、発信端の発信元からのデータをエンコーダで処理してから、伝送に適した信号に変調する。これらの信号は、チャネルに入ってノイズに干渉され、発信端において復調器、復号化器によって発信端のデータを復元し、ついにはシンクに入る。ネット符号化利得(Net Coding GAin、NCG)は、FEC誤り訂正能力を評価する重要な指標であり、NCGが大きいほど、より多くの伝送中に発生する誤りを訂正できることを表す。言い換えれば、より信頼性のある伝送を提供したり、より低いシステム消費電力で信号伝送を行ったりすることができる。
【0004】
シャノン氏は、1948年に誤り制御領域でマイルストーンの意義を有する論文を発表し、情報伝送レートがチャネル容量よりも低ければ、情報を適当に符号化することにより、情報伝送レートを犠牲することなくノイズのあるチャネルに導入された誤りを任意の低い程度に低減することができることを証明した。シャノンの著作が発表された以来、科学者らは、ノイズ環境で誤りを制御するために、有効なエンコード/デコード方法を設計する方面で大量の効果的な作業を行った。ハミングコード、BCH(Bose、Ray-ChaudhuriおよびHocquenghemの略語)/リード-ソロモンシンボル(Reed-solomon codes、RSコード)、乗積コード、重畳コードを代表とする硬判定FECから、低密度パリティチェック(Low-density Parity-check、LDPC)符号およびturbo符号を代表とする軟判定FECまで、独立して符号化されたブロックコードから重畳コードを代表とする相関符号化方法まで、科学者らは、ハードウェアにおいて低い複雑度で高い符号化利得を実現するFEC符号を探索している。
【0005】
階段(Staircase)コードは、乗積コードの構造に基づいて提案された、コードワードが関連性を有するFEC符号であり、その基本原理は
図2および
図3に示すとおりである。
図2のブロック行列において、発信元がm(m-r)個の情報シンボルを入力する度に、B
i,Lの情報行列ブロックを構成し、隣接するmr個のシンボルはstaircaseコードチェックビットであり、B
i,Rの検査行列ブロックを構成する。検査行列ブロックB
i,Rの生成方法は
図2に示すように、[B
i-1
T B
i,L]を(2m,2m-r)ブロックコードで符号化することにより得られ、B
i-1
Tはブロック行列B
i-1の転置である。例えば、B
1,Rは、[B
0
T B
1,L]をm個の(2m,2m-r)ブロックコードで符号化することにより得られ、B
0
Tはstaircaseコードの最初のブロックであり、既知のシンボル(例えば、オールゼロシンボル)である。後続のB
i,Rは、[B
i-1
T B
i,L]を(2m,2m-r)ブロックコードで符号化することにより順次得られ、
図3に示すように、無限の「階段」形態のコード構造を形成する。
【0006】
staircaseコードの構造からわかるように、既知のB0T個のブロック行列におけるシンボルのほか、他のブロック行列におけるシンボルは、いずれも2層の(2m,2m-r)ブロックコードにより保護され、且つコードワード間の関連性は絶えずに伝達し、これらの特性は、staircaseコードの優れた誤り訂正能力を確保し、staircaseコードのオリジナル文献「Staircase Codes:FEC for 100 Gb/s OTN」において、ITU-T規格G.709プロトコルに対応する6.67%OHのstaircaseコードは、システム出力誤り率が10~15である場合、達成できるNCGが、G.975.1規格における性能が最も優れたコードのNCGよりも0.42dB改善したことが記載されている。その優れたハードデコーディング性能のため、最近、多くのメーカーは、6.67%OHのstaircaseコードを100G metro応用の規格とすることを積極的に推進している。
【0007】
staircaseコードのハードデコーディング性能が広く注目されているが、そのソフトデコーディング性能は開示されず、且つ、staircaseコードのオリジナル文献に記載されたデコード方法はハードデコーディングのみに適用する。同じコード長および冗長度に対し、staircaseコードに用いられるブロックコードはコードワード間の関連性を用いるため、TPCコードに用いられるブロックコードに対してstaircaseコードに用いられるブロックコードの誤り訂正能力および最小距離の特性は減衰され、従って、最小距離の低減はエラーフロア現象の現れをもたらす可能性がある。そのため、staircaseコードのソフトデコーディング方法において、コードワード間の関連性の特性をどのように合理的に効果的に用いるかは、極めて重要である。関連技術において、硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない。
【発明の概要】
【発明が解決しようとする課題】
【0008】
以下は、本文について詳細に説明する主題の概要である。本概要は、特許請求の範囲を制限するものではない。
【0009】
本願の実施例は、関連技術における硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない状況を回避するための階段staircaseコードの復号化方法、装置および記憶媒体を提供する。
【課題を解決するための手段】
【0010】
本願の一実施例によれば、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーション(Soft Information)の更新を行って第1情報ブロックを取得し、前記第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得する(SおよびTはいずれも0よりも大きい整数である)ことと、前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力することと、前記第2情報ブロックまたは前記第3情報ブロックからS-T個の情報ブロックを選択し、選択した前記S-T個の情報ブロックとT個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってS個の更新後の情報ブロックを取得し、前記S個の更新後の情報ブロックを新たな第2情報ブロックとする動作と、前記第3情報ブロックにおける第T+1個のブロック~第2T個のブロックの情報と前記新たな第2情報ブロックにおける先頭のS-T個のブロックの情報とを共に復号化して新たな第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行することとを含む階段staircaseコードの復号化方法を提供する。
【0011】
本願の別の実施例によれば、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得し、前記第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得する(SおよびTはいずれも0よりも大きい整数である)ように構成される更新モジュールと、前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力するように構成される復号化モジュールと、前記第2情報ブロックまたは前記第3情報ブロックからS-T個の情報ブロックを選択し、選択した前記S-T個の情報ブロックとT個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってS個の更新後の情報ブロックを取得し、前記Sブロックの更新後の情報ブロックを新たな第2情報ブロックとする動作と、前記第3情報ブロックにおける第T+1個のブロック~第2T個のブロックの情報と前記新たな第2情報ブロックにおける先頭のS-T個のブロックの情報とを共に復号化して新たな第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行するように構成される処理モジュールとを備える階段staircaseコードの復号化装置を提供する。
【0012】
本願の別の実施例によれば、実行されると上記いずれか1項に記載の方法を実行するプログラムが記憶された記憶媒体を更に提供する。
【0013】
本願の別の実施例によれば、実行されると上記いずれか1項に記載の方法を実行するプログラムを実行するように構成されるプロセッサを更に提供する。
【0014】
図面および詳細な説明を閲読し理解することで、他の態様も理解できる。
【図面の簡単な説明】
【0015】
ここで説明する図面は、本願の更なる理解を提供するためのものであり、本願の一部を構成し、本願の模式的な実施例およびその説明は本願を解釈するためのものであり、本願を不当に限定するものではない。
【0016】
【
図1】関連技術における典型的な伝送システムのブロック図である。
【
図2】関連技術におけるstaircaseコードの単一blockの構造模式図である。
【
図3】関連技術におけるstaircaseコードのコード構造模式図である。
【
図4】本願の実施例に係るstaircaseコードの復号化方法のフローチャートである。
【
図5】本願の実施例に係るstaircaseコードのソフトデコーディングのフローチャートである。
【
図6】本願の実施例に係るstaircaseコードの復号化装置の構造ブロック図である。
【発明を実施するための形態】
【0017】
以下、図面および実施例を参照しながら本願について詳細に説明する。なお、矛盾しない限り、本願に係る実施例および実施例における特徴は、互いに任意に組み合わせることができる。
【0018】
なお、本願の明細書、特許請求の範囲、および上記図面における「第1」、「第2」等の用語は、類似する対象を区別するためのものであり、特定の順序または優先順位を記述するために用いるわけではない。
【0019】
本願は、関連技術に存在する誤り訂正能力および最小距離の特性によるエラーフロア現象の状況に対し、階段staircaseコードの復号化方法を提案し、ブロックTPCコードのソフトデコーディング思想およびstaircaseコードのコードワード間の関連性の特徴を十分に用い、エラーフロア現象を良好に制御することができる。本願の方法を用い、使用するブロックコードのタイプ、外部情報計算の方法はいずれも限定されず、様々な形態に適用される。
【0020】
図4は、本願の実施例によるstaircaseコードの復号化方法のフローチャートであり、
図4に示すように、該方法は、ステップS402、ステップS404およびステップS406を含む。
【0021】
ステップS402において、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得し、第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得し、SおよびTはいずれも0よりも大きい整数である。
【0022】
ステップS404において、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力する。
【0023】
ステップS406において、第2情報ブロックまたは第3情報ブロックからS-T個の情報ブロックを選択し、選択したS-T個の情報ブロックとT個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってS個の更新後の情報ブロックを取得し、Sブロックの更新後の情報ブロックを新たな第2情報ブロックとする動作と、第3情報ブロックにおける第T+1個のブロック~第2T個のブロックの情報と新たな第2情報ブロックにおける先頭のS-T個のブロックの情報とを共に復号化して新たな第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行する。
【0024】
上記実施例により、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得した後、第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得し、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得する。ブロック(Turbo Product Code、TPC)コードのソフトデコーディング思想およびstaircaseコードのコードワード間の関連性の特徴を十分に用い、後続に繰り返し実行するデータブロック選択、更新および復号化等のステップの過程においてコードワード間の関連性を確保し、関連技術における硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない状況を回避し、ひいてはTPCコードよりも優れたウォーターフォール領域の性能を達成し、且つエラーフロア現象を良好に制御する。
【0025】
一実施例において、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得することは、最初のS個の符号化ブロックBiに対してN1_itr回の反復を行うことによって、ソフトインフォメーションの更新を行い、第1情報ブロックを取得することを含み、1≦i≦Sであり、N1_itrは0よりも大きい整数である。
【0026】
一実施例において、最初のS個の符号化ブロックBiに対してN1_itr回の反復を行うことによって、ソフトインフォメーションの更新を行うことは、第1更新処理および第2更新処理を含む。
【0027】
第1更新処理は、以下のような式により、ブロック[Bi-1
T Bi],i=1に対してソフトインフォメーションの更新を行うことである。
(数1)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ri
0はBiに対応するデコーダの元の入力データであり、Ri
nはBiに対応するn回の反復が行われたソフトインフォメーションであり、Wi
nはブロック[Bi-1
T Bi]により求められた外部情報であり、Ai
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1
nの値は1であり、Ai
nの値はn/N1_itrである)
【0028】
第2更新処理は、以下のような式により、ブロック[Ri-1
T Bi],i=2、……S-1に対してソフトインフォメーション更新を行うことである。
(数2)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ai-1
nはAi
n以上である)
ブロック[Ri-1
T Ri],i=1、……S-1に対して第1更新処理および第2更新処理を繰り返し行う。ここで、Ri-1
Tは前回の反復が行われたソフトインフォメーションであり、Ri-1
TがRiと共に1つのデコード待ちのブロックとし、繰り返し実行する過程において、n=2、……N1_itrであり、Ai
nはAi
n-1以上であり、N1_itrはレジスタの設定可能をサポートする。
【0029】
一実施例において、第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得することは、第3更新処理、第4更新処理および第5更新処理を含む。第3更新処理は、以下のような式により、ブロック[Ri-1
T Ri],i=1、……S-T-1に対してソフトインフォメーション更新を行うことである。
(数3)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ri
0は符号化ブロックBiに対応するデコーダの元の入力データであり、Ri
nはBiに対応するn回の反復が行われたソフトインフォメーションであり、Wi
nはブロック[Bi-1
T Bi]により求められた外部情報であり、Ai
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1
nの値は1であり、Ai
nの値はn/N1_itrである)
第4更新処理は、以下のような式により、ブロック[Ri-1
T Bi],i=S-Tに対してソフトインフォメーション更新を行うことである。
(数4)
[RS-T-1
n,RS-T
n]=[RS-T-1
0,RS-T
0]+[AS-T-1
n,AS-T
n]×Wi
n-1,n=1・・・(式2)
第5更新処理は、以下のような式により、ブロック[Bi-1
T Bi],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行うことである。
(数5)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
第3更新処理、第4更新処理および第5更新処理を繰り返し実行して第2情報ブロックを取得し、Ai
nはAi
n-1以上であり、繰り返し実行する過程において、n=2、……N1_itrである。
【0030】
一実施例において、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得することは以下の1つを含む。第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをハードデコーディングして第3情報ブロックを取得する。第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして第3情報ブロックを取得する。
【0031】
一実施例において、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをハードデコーディングして第3情報ブロックを取得することは以下を含む。以下のような式により、第1情報ブロックおよび第2情報ブロックのソフトインフォメーションを取得する。
(数6)
[Ri-1
n,Ri
n]=[Ri-1
n-1,Ri
n-1]+Wi
n,n=N1_itr・・・(式3)
(Ri
nは符号化ブロックBiに対応するn回の反復が行われたソフトインフォメーションであり、Wi
nはブロック[Bi-1
T Bi]により求められた外部情報である)
得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを0ビットまたは1ビットとして判定するという方式で、得られたソフトインフォメーションを硬判定する。S-1個[Bi-1
T Bi]に対応する硬判定結果に対して(2m,2m-r)ブロックコードのデコードを順次行う(i=2、……Sという方式で、デコード処理を行うこととデコード処理を、N2_itr回繰り返し実行し、デコードしたSブロックのデータを第3情報ブロックとして確定し、先頭のT個のブロックのデータをデコーダの出力とする。
【0032】
一実施例において、デコード処理をN2_itr回繰り返し実行するとき、ブロックコードに拡張チェックビットがあると、前のN3_itr回の反復はチェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻し、後の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)してチェックビットを取得し、N3_itrの値の範囲は[1,N2_itr]であり、N2_itrは0よりも大きい整数である。
【0033】
一実施例において、デコード処理をN2_itr回繰り返し実行する過程において、デコード処理を処理するパケットデコーダがエラーをフィードバックして訂正すると、現在のコードワード系列を最初の入力データに戻す。
【0034】
一実施例において、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして第3情報ブロックを取得することは以下を含む。第1情報ブロックおよび第2情報ブロックを正規化処理した後、以下のような式により、第1情報ブロックおよび第2情報ブロックのソフトインフォメーションを取得する。
(数7)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=N1_itr・・・(式4)
(Ri
0は符号化ブロックBiに対応するデコーダの元の入力データであり、Ri
nはBiに対応するn回の反復が行われたソフトインフォメーションであり、Wi
nはブロック[Bi-1
T Bi]により求められた外部情報であり、Ai
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1
nの値は1であり、Ai
nの値は(n-1)/N1_itrである)
出力処理を繰り返し実行し、繰り返し実行する過程において、n=2、……N2_itrであり、N2_itrは0よりも大きい整数である。
最終回の反復を行うとき、以下のような式により、デコーダのソフトインフォメーション出力を取得するというような出力処理を実行する。
(数8)
[Ri-1
n,Ri
n]=[Ri-1
n-1,Ri
n-1]+Wi
n,n=N2_itr・・・(式5)
得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを0ビットまたは1ビットとして判定するという方式で、出力処理により得られたソフトインフォメーションを硬判定する。硬判定処理によって得られた先頭のT個のブロックのデータを第3情報ブロックとして確定し、デコーダ出力とする。
【0035】
一実施例において、第2情報ブロックまたは第3情報ブロックからS-T個の情報ブロックを選択することは以下を含む。第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをハードデコーディングして第3情報ブロックを取得するとき、第2情報ブロックにおける先頭のT個のブロックのデータを破棄し、S-T個の情報ブロックを取得するという方式、または、第3情報ブロックにおける第2T+1個のブロックおよびそれ以降のN_bhブロックを選択し、更に第2情報ブロックにおける第T+N_bh+2ブロック~第Sブロックのソフトインフォメーションに対応する元の入力データとスティッチングし、S-T個の情報ブロックとする(N_bhの値の範囲が[0,S-T-1])という方式で、S-T個の情報ブロックを選択する。第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして第3情報ブロックを取得するとき、第3情報ブロックから第2T+1個のブロック~第S+T個のブロックのデータを選択してS-T個の情報ブロックとする方式でS-T個の情報ブロックを選択し、生成方法は以下のとおりである。
(数9)
[Ri-1
n,Rin]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=N2_itr・・・(式6)
(Ri
nはBiに対応するn回の反復が行われたソフトインフォメーション出力であり、Wi
nは[Bi-1
T Bi]ブロックにより求められた外部情報である)
【0036】
上記実施例から分かるように、本願の実施例において、主に以下の方式により、コードワード間の関連性を合理的に効果的に実現する。
【0037】
図5は、本願の実施例によるstaircaseコードのソフトデコーディングのフローチャートであり、
図5に示すように、該方法はステップS502~ステップS512を含む。
【0038】
ステップS502において、最初のS個のBiブロック(B0、B1、……BT-1、BT、……BS-1)に対してソフトインフォメーションの更新を行い、B0
1、B1
1、……BT-1
1、BT
1、……BS-1
1を取得する。ここで、パラメータSおよびTは、それぞれ毎回ソフトデコーディングするデータのブロック数および次回の復号化に追加する新たなデータのブロック数を表し、レジスタの設定可能をサポートする。
【0039】
ステップS504において、S502で得られたソフトインフォメーションBT
1、……BS-1
1および新規追加したデータブロックBS、BS+1、……BS+T-1に対してソフトインフォメーションの更新を行い、BT
2、……BS-1
2、BS
1、BS+1
1、……BS+T-1
1を取得する。
【0040】
ステップS506において、S502で得られたソフトインフォメーションB0
1、B1
1、……BT-1
1およびS104で得られたソフトインフォメーションBT
2、……BS-1
2をハードデコーディングまたはソフトデコーディングをし、B0
2、B1
2、……BT-1
2、BT
3、……BS-1
3を取得し、B0
2、B1
2、……BT-1
2のデータを出力し、デコーダ出力結果を取得する。
【0041】
ステップS508において、S506の異なる復号化方式により、最後のS-T個のブロックのソフトインフォメーションを選択し、新規追加したT個のブロックのデータと共にソフトインフォメーションの更新を行い、Sブロックの更新後のソフトインフォメーションデータを取得する。
【0042】
ステップS510において、S506で得られた第T+1個のブロック~第2T個のブロックのデータとS508で得られた先頭のS-T個のブロックのデータとを共にハードデコーディングまたはソフトデコーディングをし、先頭のT個のブロックのデータをデコーダの出力として出力する。
【0043】
ステップS512において、S508およびS510を繰り返し実行し、デコーダから出力されるT個のブロックのストリームデータを絶え間なく取得する。
【0044】
一実施例において、前記S502における最初のS個のBiブロックに対してソフトインフォメーションの更新を行うことは、動作過程がステップ1~ステップ3を含む。
【0045】
ステップ1において、ブロック[B0
T B1]に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数10)
[R0
n,R1
n]=[R0
0,R1
0]+[A0
n,A1
n]×Wi
n,n=1・・・(式7)
(Ri
0はBiに対応するデコーダの元の入力データであり、Ri
nはBiに対応するn回の反復が行われたソフトインフォメーションであり、Wi
nはブロック[Bi-1
T Bi]により求められた外部情報であり、Ai
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、A0
0の値は1であり、A1
0は小さい値を取る)
【0046】
ステップ2において、ブロック[Ri-1
T Bi],i=2、……S-1、に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数11)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ai-1
1はAi
1以上である)
【0047】
ステップ3において、ブロック[Ri-1
T Ri],i=1、……S-1に対してステップ1およびステップ2のソフトインフォメーション更新をn=2、……N1_itr回繰り返し行い、最終的なソフトインフォメーションデータを取得する。ここで、Ai
nはAi
n-1以上であり、N1_itrはレジスタの設定可能をサポートする。
【0048】
一実施例において、前記ステップS504におけるS個のBiブロックに対してソフトインフォメーションの更新を行うことは、動作過程がステップ1~ステップ4を含む。
【0049】
ステップ1において、ブロック[Ri-1
T Ri],i=1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数12)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ri
0はBiに対応するデコーダの元の入力データであり、Ai-1
0はAi
0以上である)
【0050】
ステップ2において、ブロック[Ri-1
T Bi],i=S-Tに対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数13)
[RS-T-1
n,RS-T
n]=[RS-T-1
0,RS-T
0]+[AS-T-1
n,AS-T
n]×Wi
n-1,n=1・・・(式2)
(Ai-1
0の値はAi
0よりも大きい)
【0051】
ステップ3において、ブロック[Bi-1
T Bi],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数14)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ai-1
0はAi
0以上である)
【0052】
ステップ4において、ステップ1、ステップ2およびステップ3をn=2、……N1_itr回繰り返し実行し、最終的なソフトインフォメーションデータを取得する。ここで、Ai
nはAi
n-1以上である。
【0053】
一実施例において、前記ステップS506でS個のBiブロックをハードデコーディングし、staircaseコードオーバラップ出力ハードデコーディングスキームのフローはステップ1~ステップ5を含む。
【0054】
ステップ1において、得られたデータブロックのソフトインフォメーションは、下式から得られる。
(数15)
[Ri-1
n,Ri
n]=[Ri-1
n-1,Ri
n-1]+Wi
n,n=N1_itr・・・(式3)
(Ri
nはBiに対応するn回の反復出力であり、Ri
n-1はBiに対応するn-1回の反復出力であり、すなわち、n回の反復入力である。Wi
nは[Bi-1
T Bi]ブロックにより求められた外部情報である)
【0055】
ステップ2において、ステップS502で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボルのシンボルビットをコーディング規則に対応させ、シンボルビットを0/1ビットとして判定することである。
【0056】
ステップ3において、S-1個の[Bi-1
T Bi]に対応する硬判定結果(i=2、……S)に対して(2m,2m-r)ブロックコードのデコードを順次行う。
【0057】
ステップ4において、ステップ3を合計N2_itr回繰り返し重複し、最終的な先頭のT個のブロックのデータをデコーダ出力とする。N2_itrはレジスタの設定可能をサポートする。ブロックコードに拡張チェックビットがあると、前のN3_itr回の反復はチェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻す。後の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)し、チェックビットを取得する。N3_itrはレジスタの設定可能をサポートし、値の範囲は[1,N2_itr]である。
【0058】
ステップ5において、デコーダのロック現象を訂正するために、デコーダ動作の中間反復過程において、パケットデコーダがエラーをフィードバックして訂正すると、この時のコードワード系列を最初の入力データに戻してもよい。
【0059】
一実施例において、前記ステップS506でS個のBiブロックを正規化処理した後、ソフトデコーディングし、staircaseコードオーバラップ出力ソフトデコーディングスキームのフローはステップ1~ステップ5を含む。
【0060】
ステップ1において、得られたデータブロックのソフトインフォメーションは、下式から得られる。
(数16)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=N1_itr・・・(式4)
Ri
0はBiに対応するデコーダの元の入力データであり、Ri
nはBiに対応するn回の反復が行われたソフトインフォメーションである。Wi
nは[Bi-1
T Bi]ブロックにより求められた外部情報であり、Ai
0は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1
0はAi
0以上である。
【0061】
ステップ2において、ステップ1で得られたS個のBiブロックのデータに対してソフトインフォメーション更新を行い、最終回の反復を行うとき、以下のような式によりデコーダのソフトインフォメーション出力を取得する。
(数17)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+Wi
n,n=1・・・(式8)
【0062】
ステップ3において、ステップ2をn=2、……N2_itr回繰り返し、最終的なデコード出力データを取得し、N2_itrはレジスタの設定可能をサポートする。
(数18)
[Ri-1
n,Ri
n]=[Ri-1
n-1,Ri
n-1]+Wi
n,n=N2_itr・・・(式5)
【0063】
ステップ4において、ステップ3で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボル(または対応要素と呼ぶ)のシンボルビットをコーディング規則に対応させ、シンボルビットを0/1ビットとして判定することである。
【0064】
ステップ5において、ステップ4で得られた先頭のT個のブロックのデータをデコーダ出力とする。
【0065】
一実施例において、前記ステップS508でS-T個のブロックのソフトインフォメーションを選択し、選択過程は以下を含む。ステップS506でハードデコーディングを採用すれば、ステップS504で得られたソフトインフォメーションの先頭のT個のブロックのデータを破棄し、このS-T個のブロックのソフトインフォメーションとする。ステップS506でハードデコーディングして得られたデータブロックから第2T+1個のブロックおよびそれ以降のN_bhブロックを選択し、更にステップS504で得られた第T+N_bh+2ブロック~第Sブロックのソフトインフォメーションに対応する元の入力データとスティッチングし、このS-T個のブロックのソフトインフォメーションとしてもよい。ここで、N_bhの値の範囲は[0,S-T-1]であり、レジスタの設定可能をサポートする。
【0066】
ステップS506でソフトデコーディングを採用すれば、このS-T個のデータブロックは、ステップS506でソフトデコーディングして得られた第2T+1個のブロック~第3T個のブロックのソフトインフォメーションデータブロックからなり、下式から得られる。
(数19)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=N2_it・・・(式6)
(Ri
nはBiに対応するn回の反復が行われたソフトインフォメーション出力であり、Wi
nは[Bi-1
T Bi]ブロックにより求められた外部情報である)
【0067】
一実施例において、前記ステップS508でS個のBiブロックに対してソフトインフォメーション更新を行うとき、動作過程が上記ステップS504に含まれるステップ1~ステップ4の処理過程と一致する。
【0068】
以上の実施形態の説明により、当業者は、上記実施例による方法がソフトウェアと必要な汎用ハードウェアプラットフォームとを併用する方式を介して実現でき、もちろん、ハードウェアにより実現できるが、多くの場合、前者の方がより好ましい実施形態であることを明らかに理解できる。このような理解に基づき、本願の技術案は、本質的または関連技術に貢献する部分がソフトウェア製品の形態で具現化でき、該コンピュータソフトウェア製品が、読み出し専用メモリ/ランダムアクセスメモリ(Read Only Memory/Random access Memory、ROM/RAM)、磁気ディスク、光ディスクのような1つの記憶媒体に記憶され、携帯電話機、コンピュータ、サーバ、またはネットワーク機器等であり得る1台の端末装置に本願の各実施例に記載の方法を実行させるための複数の命令を含む。
【0069】
本実施例において、上記実施例および例示的な実施形態を実現するように構成されるstaircaseコードの復号化装置を更に提供し、既に説明したものを省略する。以下に使用されるように、「モジュール」という用語は、所定の機能を持つソフトウェアおよびハードウェアのうちの少なくとも1種の組み合わせを実現できる。以下の実施例に説明する装置は、ソフトウェアとして実現することが好ましいが、ハードウェアまたはソフトウェアとハードウェアとの組み合わせとして実現することも可能で想像され得る。
【0070】
図6は、本願の実施例のstaircaseコードの復号化装置の構造ブロック図である。
図6に示すように、該装置は、更新モジュール602、復号化モジュール604および処理モジュール606を備える。
【0071】
更新モジュール602は、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得し、第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得するように構成され、SおよびTはいずれも0よりも大きい整数である。
【0072】
復号化モジュール604は、上記更新モジュール602に接続され、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力する。
【0073】
処理モジュール606は、上記復号化モジュール604に接続され、第2情報ブロックまたは第3情報ブロックからS-T個の情報ブロックを選択し、選択したS-T個の情報ブロックとT個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってS個の更新後の情報ブロックを取得し、Sブロックの更新後の情報ブロックを新たな第2情報ブロックとする動作と、第3情報ブロックにおける第T+1個のブロック~第2T個のブロックの情報と新たな第2情報ブロックにおける先頭のS-T個のブロックの情報とを共に復号化して新たな第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行するように構成される。
【0074】
一実施例において、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得するとき、更新モジュール602は、最初のS個の符号化ブロックBiをN1_itr回の反復を行うことによって、ソフトインフォメーションの更新を行い、第1情報ブロックを取得するように構成される更新ユニットを備え、1≦i≦Sであり、N1_itrは0よりも大きい整数である。
【0075】
一実施例において、上記更新ユニットは以下を含む。第1更新処理サブユニットであって、以下のような式により、ブロック[Bi-1
T Bi],i=1に対してソフトインフォメーションの更新を行うように構成される。
(数20)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ri
0はBiに対応するデコーダの元の入力データであり、Ri
nはBiに対応するn回の反復が行われたソフトインフォメーションであり、Wi
nはブロック[Bi-1
T Bi]により求められた外部情報であり、Ai
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1
nの値は1であり、Ai
nの値はn/N1_itrである)
第2更新処理サブユニットであって、以下のような式により、ブロック[Ri-1
T Bi],i=2、……S-1に対してソフトインフォメーション更新を行うように構成される。
(数21)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ai-1nはAi
n以上である)
ブロック[Ri-1
T Ri],i=1、……S-1に対して第1更新処理および第2更新処理を繰り返し行い、繰り返し実行する過程において、n=2、……N1_itrであり、Ai
nはAi
n-1以上であり、N1_itrはレジスタの設定可能をサポートする。
【0076】
一実施例において、第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得するとき、更新モジュール602は以下を含む。第3更新処理サブユニットであって、以下のような式により、ブロック[Ri-1
T Ri],i=1、……S-T-1に対してソフトインフォメーション更新を行うように構成される。
(数22)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ri
0は符号化ブロックBiに対応するデコーダの元の入力データであり、Ri
nはBiに対応するn回の反復が行われたソフトインフォメーションであり、Wi
nはブロック[Bi-1
T Bi]により求められた外部情報であり、Ai
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1
nの値は1であり、Ai
nの値はn/N1_itrである)
第4更新処理サブユニットであって、以下のような式により、ブロック[Ri-1
T Bi],i=S-Tに対してソフトインフォメーション更新を行うように構成される。
(数23)
[RS-T-1
n,RS-T
n]=[RS-T-1
0,RS-T
0]+[AS-T-1
n,AS-T
n]×Wi
n-1,n=1・・・(式2)
第5更新処理サブユニットであって、以下のような式により、ブロック[Bi-1
T Bi],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行うように構成される。
(数24)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
第6更新処理サブユニットであって、第3更新処理ユニット、第4更新処理ユニットおよび第5更新処理ユニットにおける動作を繰り返し実行して第2情報ブロックを取得するように構成され、Ai
nはAi
n-1以上であり、繰り返し実行する過程において、n=2、……N1_itrである。
【0077】
一実施例において、上記復号化モジュール604は、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをハードデコーディングして第3情報ブロックを取得するように構成されるハードデコーディングユニットと、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして第3情報ブロックを取得するように構成されるソフトデコーディングユニットとのうちの1つを含む。
【0078】
一実施例において、上記ハードデコーディングユニットは以下の動作を実行するように構成される。以下のような式により、第1情報ブロックおよび第2情報ブロックのソフトインフォメーションを取得する。
(数25)
[Ri-1
n,Ri
n]=[Ri-1
n-1,Ri
n-1]+Wi
n,n=N1_itr・・・(式3)
(Ri
nは符号化ブロックBiに対応するn回の反復が行われたソフトインフォメーションであり、Wi
nはブロック[Bi-1
T Bi]により求められた外部情報である)
得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを0ビットまたは1ビットとして判定するという方式で、得られたソフトインフォメーションを硬判定する。S-1個の[Bi-1
T Bi]に対応する硬判定結果に対して(2m,2m-r)ブロックコードのデコードを順次行う(i=2、……Sである)という方式で、デコード処理を行う。デコード処理をN2_itr回繰り返し実行し、デコードしたSブロックのデータを第3情報ブロックとして確定し、先頭のT個のブロックのデータをデコーダの出力とする。
【0079】
一実施例において、デコード処理をN2_itr回繰り返し実行するとき、ブロックコードに拡張チェックビットがあると、前のN3_itr回の反復はチェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻し、後の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)してチェックビットを取得し、N3_itrの値の範囲は[1,N2_itr]であり、N2_itrは0よりも大きい整数である。
【0080】
一実施例において、デコード処理をN2_itr回繰り返し実行する過程において、デコード処理を処理するパケットデコーダがエラーをフィードバックして訂正すると、現在のコードワード系列を最初の入力データに戻す。
【0081】
一実施例において、上記ソフトデコーディングユニットは以下の動作を実行するように構成される。第1情報ブロックおよび第2情報ブロックを正規化処理した後、以下のような式により、第1情報ブロックおよび第2情報ブロックのソフトインフォメーションを取得する。
(数26)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=N1_itr・・・(式4)
(Ri
0は符号化ブロックBiに対応するデコーダの元の入力データであり、Ri
nはBiに対応するn回の反復が行われたソフトインフォメーションであり、Wi
nはブロック[Bi-1
T Bi]により求められた外部情報であり、Ai
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1
nの値は1であり、Ai
n値は(n-1)/N1_itrである)
出力処理を繰り返し実行し、繰り返し実行する過程において、n=2、……N2_itrであり、N2_itrは0よりも大きい整数である。最終回の反復を行うとき、以下のような式により、デコーダのソフトインフォメーション出力を取得するというような出力処理を実行する。
(数27)
[Ri-1
n,Ri
n]=[Ri-1
n-1,Ri
n-1]+Wi
n,n=N2_itr・・・(式5)
出力処理を繰り返し実行し、繰り返し実行する過程において、n=2、……N2_itrであり、N2_itrは0よりも大きい整数である。得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを0ビットまたは1ビットとして判定するという方式で、出力処理により得られたソフトインフォメーションを硬判定する。硬判定処理によって得られた先頭のT個のブロックのデータを第3情報ブロックとして確定し、デコーダ出力とする。
【0082】
一実施例において、第2情報ブロックまたは第3情報ブロックからS-T個の情報ブロックを選択するとき、処理モジュール606は以下の動作を実行するように構成される。
第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをハードデコーディングして第3情報ブロックを取得するとき、第2情報ブロックにおける先頭のT個のブロックのデータを破棄し、S-T個の情報ブロックを取得するという方式、または、第2情報ブロックにおける第2T+1個のブロックおよびそれ以降のN_bhブロックを選択し、更に第2情報ブロックにおける第T+N_bh+2ブロック~第Sブロックのソフトインフォメーションに対応する元の入力データとスティッチングし、S-T個の情報ブロックとするという方式で、S-T個の情報ブロックを選択し、N_bhの値の範囲は[0,S-T-1]である。第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして第3情報ブロックを取得するとき、第3情報ブロックから第2T+1個のブロック~第S+T個のブロックのデータを選択してS-T個の情報ブロックとするという方式でS-T個の情報ブロックを選択し、生成方法以下のとおりである。
(数28)
[Ri-1
n,Rin]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=N2_itr・・・(式6)
(Ri
nはBiに対応するn回の反復が行われたソフトインフォメーション出力であり、Wi
nは[Bi-1
T Bi]ブロックにより求められた外部情報である)
【0083】
以下、具体的な適用シーンにより本願について説明し、バックボーン(long haul)シーンに適用する高性能staircaseソフトデコーディング方法と復号化器装置、メトロ/データセンター(metro/Data Center Interconnection、metro/DCI)シーンに適用する低消費電力staircaseソフトデコーディング方法と復号化器装置、および短距離伝送シーンでの相互接続に適用するstaircaseハードデコーディング方法と復号化器装置についてそれぞれ説明する。
【0084】
(例示的な実施例1)
本願の例示的な実施例1において、バックボーン(long haul)シーンに適用する高性能staircaseソフトデコーディングフローを提供する。バックボーン伝送シーンでは、FECのネット符号化利得に対する要求が非常に高く、性能に優れたstaircaseコードを取得するために、反復回数N1_itrおよびN2_itrは、システムの需要に応じて大きい値に設定できる。ステップ1~ステップ6を含む。
【0085】
ステップ1において、最初のS個のBiブロック(B0、B1、……BT-1、BT、……BS-1)に対してソフトインフォメーションの更新を行い、B0
1、B1
1、……BT-1
1、BT
1、……BS-1
1を取得する。ここで、パラメータSおよびTは、それぞれ毎回ソフトデコーディングするデータのブロック数および次回の復号化に追加した新たなデータのブロック数を表し、レジスタの設定可能をサポートする。ソフトインフォメーション更新のステップはステップ(1)~ステップ(3)を含む。
【0086】
ステップ(1)において、ブロック[B0
T B1]に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数29)
[R0
n,R1
n]=[R0
0,R1
0]+[A0
n,A1
n]×Wi
n,n=1・・・(式7)
(Ri
0はBiに対応するデコーダの元の入力データであり、Ri
nはBiに対応するn回の反復が行われたソフトインフォメーションであり、Wi
nはブロック[Bi-1
T Bi]により求められた外部情報である。Ai
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、A0
0の値は1であり、A1
0は小さい値を取る)
【0087】
ステップ(2)において、ブロック[Ri-1
T Bi],i=2、……S-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数30)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ai-1
1はAi
1以上である)
【0088】
ステップ(3)において、ブロック[Ri-1
T Ri],i=1、……S-1に対してステップS506におけるステップ1およびステップ2のソフトインフォメーション更新をn=2、……N1_itr回繰り返し行い、最終的なソフトインフォメーションデータを取得する。ここで、Ai
nはAi
n-1以上であり、N1_itrはレジスタの設定可能をサポートする。
【0089】
ステップ2において、ステップ1で得られたソフトインフォメーションBT
1、……BS-1
1および新規追加したデータブロックBS、BS+1、……BS+T-1に対してソフトインフォメーションの更新を行い、BT
2、……BS-1
2、BS
1、BS+1
1、……BS+T-1
1を取得する。ここで、ソフトインフォメーション更新はステップ(1)~ステップ(4)を含む。
【0090】
ステップ(1)において、ブロック[Ri-1
T Ri],i=1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数31)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ri
0はBiに対応するデコーダの元の入力データであり、Ai-1
0はAi
0以上である)
【0091】
ステップ(2)において、ブロック[Ri-1
T Bi],i=S-Tに対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数32)
[RS-T-1
n,RS-T
n]=[RS-T-1
0,RS-T
0]+[AS-T-1
n,AS-T
n]×Wi
n-1,n=1・・・(式2)
(Ai-1
0の値がAi
0よりも大きい)
【0092】
ステップ(3)において、ブロック[Bi-1
T Bi],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数33)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ai-1
0はAi
0以上である)
【0093】
ステップ(4)において、ステップ(1)、ステップ(2)およびステップ(3)をn=2、……N1_itr回繰り返し実行し、最終的なソフトインフォメーションデータを取得する。ここで、Ai
nはAi
n-1以上である。
【0094】
ステップ3において、ステップ2で得られたソフトインフォメーションB0
1、B1
1、……BT-1
1およびステップS506に含まれるステップ2で得られたソフトインフォメーションBT
2、……BS-1
2をソフトデコーディングし、正規化処理を行い、B0
2、B1
2、……BT-1
2、BT
3、……BS-1
3を取得する。B0
2、B1
2、……BT-1
2のデータを出力し、デコーダ出力結果を取得する。ステップ(1)~ステップ(5)に分けられる。
【0095】
ステップ(1)において、得られたデータブロックのソフトインフォメーションは下式により得られる。
(数34)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=N1_itr・・・(式4)
(Ri
0はBiに対応するデコーダの元の入力データであり、Ri
nはBiに対応するn回の反復が行われたソフトインフォメーションである。Wi
nは[Bi-1
T Bi]ブロックにより求められた外部情報であり、Ai
0は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1
0はAi
0以上である)
【0096】
ステップ(2)において、ステップ(1)で得られたS個のBiブロックのデータに対してソフトインフォメーション更新を行い、最終回の反復を行うとき、以下のような式によりデコーダのソフトインフォメーション出力を取得する。
(数35)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+Wi
n,n=1・・・(式8)
【0097】
ステップ(3)において、ステップ(2)をn=2、……N2_itr回繰り返し、最終的なデコード出力データを取得し、N2_itrはレジスタの設定可能をサポートする。
(数36)
[Ri-1
n,Ri
n]=[Ri-1
n-1,Ri
n-1]+Wi
n,n=N2_itr・・・(式5)
【0098】
ステップ(4)において、ステップ(3)で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボルのシンボルビットをコーディング規則に対応させ、シンボルビットを0/1ビットとして判定することである。
【0099】
ステップ(5)において、ステップ(4)で得られた先頭のT個のブロックのデータをデコーダ出力とする。
【0100】
ステップ4において、S-T個のブロックのソフトインフォメーションを選択し、新規追加したT個のブロックのデータと共にソフトインフォメーションの更新を行い、Sブロックの更新後のソフトインフォメーションデータを取得し、ステップ(1)およびステップ(2)に分けられる。
【0101】
ステップ(1)において、このS-T個のデータブロックは、ステップ3でソフトデコーディングして得られた第2T+1個のブロック~第3T個のブロックのソフトインフォメーションデータブロックからなり、下式から得られる。
(数37)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=N2_itr・・・(式6)
(Ri
nはBiに対応するn回の反復が行われたソフトインフォメーション出力であり、Wi
nは[Bi-1
T Bi]ブロックにより求められた外部情報である)
【0102】
ステップ(2)において、ステップ2に含まれるステップ(1)~ステップ(4)の処理過程に対してソフトインフォメーションの更新を行う。
【0103】
ステップ5において、ステップ3で得られた第T+1個のブロック~第2T個のブロックのデータとステップ4で得られた先頭のS-T個のブロックのデータとを共にハードデコーディングまたはソフトデコーディングをし、先頭のT個のブロックのデータをデコーダの出力として出力する。
【0104】
ステップ6において、ステップ4およびステップ5を繰り返し実行し、デコーダから出力されるT個のブロックのストリームデータを絶え間なく取得する。
【0105】
(例示的な実施例2)
本願の例示的な実施例2において、メトロ/データセンター(metro/DCI)シーンに適用する低消費電力staircaseソフトデコーディングフローを提供する。メトロ/データセンターの適用シーンでは、システムのネット符号化利得を満足した前提で、FECの消費電力、遅延に対する要求が非常に高く、需要を満たしたstaircaseコードを取得するために、反復回数N1_itrおよびN2_itrは、システムの需要に応じて小さい値に設定でき、且つ、オーバラップ箇所に消費電力および遅延がより小さい硬判定staircaseスキームを使用することができる。具体的には、ステップ1~ステップ6を含む。
【0106】
ステップ1において、最初のS個のBiブロック(B0、B1、……BT-1、BT、……BS-1)、に対してソフトインフォメーションの更新を行い、B0
1、B1
1、……BT-1
1、BT
1、……BS-1
1を取得する。ここで、パラメータSおよびTは、それぞれ毎回ソフトデコーディングするデータのブロック数および次回の復号化に追加した新たなデータのブロック数を表し、レジスタの設定可能をサポートする。ソフトインフォメーション更新のステップはステップ(1)~ステップ(3)に分けられる。
【0107】
ステップ(1)において、ブロック[B0
T B1]に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数38)
[R0
n,R1
n]=[R0
0,R1
0]+[A0
n,A1
n]×Wi
n,n=1・・・(式7)
(Ri
0はBiに対応するデコーダの元の入力データであり、Ri
nはBiに対応するn回の反復が行われたソフトインフォメーションであり、Wi
nはブロック[Bi-1
T Bi]により求められた外部情報である。Ai
nは外部情報の信頼度因子であり、値の範囲が(0,1]であり、A0
0の値は1であり、A1
0は小さい値を取る)
【0108】
ステップ(2)において、ブロック[Ri-1
T Bi],i=2、……S-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数39)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ai-1
1はAi
1以上である)
【0109】
ステップ(3)において、ブロック[Ri-1
T Ri],i=1、……S-1に対してステップ(1.1)および(1.2)のソフトインフォメーション更新をn=2、……N1_itr回繰り返し行い、最終的なソフトインフォメーションデータを取得する。ここで、Ai
nはAi
n-1以上であり、N1_itrはレジスタの設定可能をサポートする。
【0110】
ステップ2において、ステップ1で得られたソフトインフォメーションBT
1、……BS-1
1および新規追加したデータブロックBS、BS+1、……BS+T-1に対してソフトインフォメーションの更新を行い、BT
2、……BS-1
2、BS
1、BS+1
1、……BS+T-1
1を取得する。ここで、ソフトインフォメーション更新はステップ(1)~ステップ(4)に分けられる。
【0111】
ステップ(1)において、ブロック[Ri-1
T Ri],i=1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数40)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=1・・・(式1)
(Ri
0はBiに対応するデコーダの元の入力データであり、Ai-1
0はAi
0以上である)
【0112】
ステップ(2)において、ブロック[Ri-1
T Bi],i=S-Tに対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数41)
[RS-T-1
n,RS-T
n]=[RS-T-1
0,RS-T
0]+[AS-T-1
n,AS-T
n]×Wi
n-1,n=1・・・(式2)
(Ai-1
0の値はAi
0よりも大きい)
【0113】
ステップ(3)において、ブロック[Bi-1
T Bi],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数42)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Win,n=1・・・(式1)
(Ai-1
0はAi
0以上である)
【0114】
ステップ(4)において、ステップ(1)、ステップ(2)およびステップ(3)をn=2、……N1_itr回繰り返し実行し、最終的なソフトインフォメーションデータを取得する。ここで、Ai
nはAi
n-1以上である。
【0115】
ステップ3において、ステップ1で得られたソフトインフォメーションB0
1、B1
1、……BT-1
1およびステップ2で得られたソフトインフォメーションBT
2、……BS-1
2をハードデコーディングし、B0
2、B1
2、……BT-1
2、BT
3、……BS-1
3を取得する。B0
2、B1
2、……BT-1
2のデータを出力し、デコーダ出力結果を取得し、ステップ(1)~ステップ(5)に分けられる。
【0116】
ステップ(1)において、得られたデータブロックのソフトインフォメーションは下式により得られる。
(数43)
[Ri-1
n,Ri
n]=[Ri-1
0,Ri
0]+[Ai-1
n,Ai
n]×Wi
n,n=N1_itr・・・(式4)
(Ri
nはBiに対応するn回の反復出力であり、Ri
n-1はBiに対応するn-1回の反復出力であり、すなわち、n回の反復入力である。Wi
nは[Bi-1
T Bi]ブロックにより求められた外部情報である)
【0117】
ステップ(2)において、ステップ1で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボルのシンボルビットをコーディング規則に対応させ、シンボルビットを0/1ビットとして判定することである。
【0118】
ステップ(3)において、S-1個の[Bi-1
T Bi]に対応する硬判定結果(i=2、……S)に対して(2m,2m-r)ブロックコードのデコードを順次行う。
【0119】
ステップ(4)において、ステップ(3)を合計N2_itr回繰り返し、最終的な先頭のT個のブロックのデータをデコーダ出力とする。N2_itrはレジスタの設定可能をサポートする。ブロックコードに拡張チェックビットがあると、前のN3_itr回の反復はチェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻す。後の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)してチェックビットを取得する。N3_itrはレジスタの設定可能をサポートし、値の範囲は[1,N2_itr]である。
【0120】
ステップ(5)において、デコーダのロック現象を訂正するために、デコーダ動作の中間反復過程において、パケットデコーダがエラーをフィードバックして訂正すると、この時のコードワード系列を最初の入力データに戻してもよい。
【0121】
ステップ4において、S-T個のブロックのソフトインフォメーションを選択し、新規追加したT個のブロックのデータと共にソフトインフォメーションの更新を行い、Sブロックの更新後のソフトインフォメーションデータを取得し、ステップ(1)およびステップ(2)に分けられる。
【0122】
ステップ(1)において、ステップ2で得られたソフトインフォメーションの先頭のT個のブロックのデータを破棄し、このS-T個のブロックのソフトインフォメーションとする。ステップ3でハードデコーディングして得られたデータブロックから第2T+1個のブロックおよびそれ以降のN_bhブロックを選択し、更にステップ2で得られた第T+N_bh+2ブロック~第Sブロックのソフトインフォメーションに対応する元の入力データとスティッチングし、このS-T個のブロックのソフトインフォメーションとしてもよい。ここで、N_bhの値の範囲は[0,S-T-1]であり、レジスタの設定可能をサポートする。
【0123】
ステップ(2)において、ステップ2に含まれるステップ(1)~ステップ(4)の処理過程でソフトインフォメーションの更新を行う。
【0124】
ステップ5において、ステップ3で得られた第T+1個のブロック~第2T個のブロックのデータとS1008で得られた先頭のS-T個のブロックのデータとを共にハードデコーディングまたはソフトデコーディングをし、先頭のT個のブロックのデータをデコーダの出力として出力する。
【0125】
ステップ6において、ステップ4およびステップ5を繰り返し実行し、デコーダから出力されるT個のブロックのストリームデータを絶え間なく取得する。
【0126】
(例示的な実施例3)
本願の例示的な実施例3において、短距離伝送シーンでの相互接続に適用するstaircaseハードデコーディングフローを提供する。短距離伝送によって相互接続するシーンでは、FEC硬判定のネット符号化利得に対する要求が非常に高く、且つエラーフロア現象に対する制御がより重要となる。需要を満たしたstaircaseコードを取得するために、ステップ1~ステップ6を実行することができる。
【0127】
ステップ1において、最初のS個のBiブロック(B0、B1、……BT-1、BT、……BS-1)をハードデコーディングし、B0
1、B1
1、……BT-1
1、BT
1、……BS-1
1を取得する。ここで、パラメータSおよびTは、それぞれ毎回復号化するデータのブロック数および次回の復号化に追加した新たなデータのブロック数を表し、レジスタの設定可能をサポートする。
【0128】
ステップ1はステップ(1)~ステップ(5)を含む。
【0129】
ステップ(1)において、Sブロックのデータを硬判定し、S個の硬判定データブロックを取得する。
【0130】
ステップ(2)において、ブロック[B0
T B1],i=1、……S-1に対して(2m,2m-r)ブロックコードのハードデコーディングを行い、更新後のブロックデータを[H0
T H1]と記す。
【0131】
ステップ(3)において、ブロック[Hi
T Bi-1T],i=2、……S-1に対して(2m,2m-r)ブロックコードのハードデコーディングを行い、更新後のデータを[Hi
T Hi-1]と記す。
【0132】
ステップ(4)において、更新後のブロック[Hi Hi-1
T],i=S-1、……1に対して(2m,2m-r)ブロックコードのハードデコーディングを行う。
【0133】
ステップ(5)において、ステップ(3)およびステップ(4)を合計N1_itr回繰り返し、最終的な硬判定データを取得する。N1_itrはレジスタの設定可能をサポートする。
【0134】
ステップ2において、ステップ1で得られた硬判定情報BT
1、……BS-1
1および新規追加したデータブロックBS、BS+1、……BS+T-1をハードデコーディングし、BT
2、……BS-1
2、BS
1、BS+1
1、……BS+T-1
1を取得する。方法はステップ1に示すとおりである。
【0135】
ステップ3において、ステップ1で得られた硬判定情報B0
1、B1
1、……BT-1
1およびS1604で得られた硬判定情報BT
2、……BS-1
2をハードデコーディングし、B0
2、B1
2、……BT-1
2、BT
3、……BS-1
3を取得する。B0
2、B1
2、……BT-1
2データを出力し、デコーダのデコード結果を取得する。
【0136】
ステップ3はステップ(1)~ステップ(4)を含む。
【0137】
ステップ(1)において、S-1個の[Bi-1
T Bi]ブロック(i=2、……S)に対して(2m,2m-r)ブロックコードのハードデコーディングを順次行う。
【0138】
ステップ(2)において、S-1個の[Bi Bi-1
T]ブロック(i=S-1、……、1)に対して(2m,2m-r)ブロックコードのハードデコーディングを更に順次行う。
【0139】
ステップ(3)において、ステップ(1)およびステップ(2)を合計N2_itr回繰り返し、最終的なデコード出力データを取得する。N2_itrはレジスタの設定可能をサポートする。ブロックコードに拡張チェックビットがあると、最初の数回の反復はチェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻す。最後の数回の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)し、チェックビットを取得する。
【0140】
ステップ(4)において、デコーダのロック現象を訂正するために、デコーダ動作の中間反復過程において、パケットデコーダがエラーをフィードバックして訂正すると、この時のコードワード系列を最初の入力データに戻してもよい。
【0141】
ステップ4において、ステップ3で得られた第2T+1個のブロック~第3T個のブロックのデータブロックと新規追加したT個のブロックのデータとを共にハードデコーディングする。
【0142】
ステップ5において、ステップ3でソフトデコーディングした後の第T+1個のブロック~第2T個のブロックのデータとステップ4における先頭のS-T個のブロックのデータとを共にハードデコーディングし、先頭のT個のブロックのデータをデコーダの出力として出力する。
【0143】
ステップ6において、ステップ4およびステップ5を繰り返し実行し、デコーダから出力されるT個のブロックのストリームデータを絶え間なく取得する。
【0144】
本願の実施例は、実行されると上記いずれか1項に記載の方法を実行するプログラムが記憶された記憶媒体を更に提供する。
【0145】
一実施例において、上記記憶媒体は、USB、読み出し専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、リムーバブルハードディスク、磁気ディスクまたは光ディスク等のプログラムコードを記憶可能な複数種の媒体を含んでもよいが、これらに限定されない。
【0146】
本願の実施例は、実行されると上記いずれか1項に記載の方法におけるステップを実行するプログラムを実行するプロセッサを更に提供する。例えば、本実施例における例は、上記実施例および好ましい実施形態に記載された例を参照することができ、本実施例はここで説明を省略する。
【0147】
上記実施例により、関連技術に存在する同じコード長および冗長度に対し、staircaseコードに用いられるブロックコードはTPCコードに用いられるブロックコードと比べ、その誤り訂正能力および最小距離特性が減衰され、最小距離の低減はエラーフロア現象の現れをもたらす可能性がある状況を回避する。本願における実施例は、コードワード間の関連性の特性を合理的に効果的に用いることができ、関連技術における硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない状況を回避し、ひいてはTPCコードよりも優れたウォーターフォール領域の性能を達成し、且つエラーフロア現象を良好に制御する。