JP7047092B2 - 階段コードの復号化方法、装置および記憶媒体 - Google Patents

階段コードの復号化方法、装置および記憶媒体 Download PDF

Info

Publication number
JP7047092B2
JP7047092B2 JP2020525981A JP2020525981A JP7047092B2 JP 7047092 B2 JP7047092 B2 JP 7047092B2 JP 2020525981 A JP2020525981 A JP 2020525981A JP 2020525981 A JP2020525981 A JP 2020525981A JP 7047092 B2 JP7047092 B2 JP 7047092B2
Authority
JP
Japan
Prior art keywords
information
block
blocks
soft
information block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020525981A
Other languages
English (en)
Other versions
JP2021502767A (ja
Inventor
王衛明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Publication of JP2021502767A publication Critical patent/JP2021502767A/ja
Application granted granted Critical
Publication of JP7047092B2 publication Critical patent/JP7047092B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/251Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with block coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/458Soft decoding, i.e. using symbol reliability information by updating bit probabilities or hard decisions in an iterative fashion for convergence to a final decoding result
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本願は、2017年11月15日に中国専利局に出願された出願番号が201711133350.5である中国特許出願に対して優先権の利益を主張するものであり、該出願の全ての内容を引用により本願に援用する。
本願は、通信分野に関し、例えば、階段コードの復号化方法、装置および記憶媒体に関する。
前方誤り訂正(Forward Error Correction、FEC)は、高速デジタル通信システムの信頼性のある伝送に関わる重要な技術であり、送信端において一定のコーディング規則に従って一定の冗長を付与ことにより、受信端は復号化技術を用いて伝送中に発生する誤りを訂正する。典型的な伝送システムは、図1に示すように、発信端の発信元からのデータをエンコーダで処理してから、伝送に適した信号に変調する。これらの信号は、チャネルに入ってノイズに干渉され、発信端において復調器、復号化器によって発信端のデータを復元し、ついにはシンクに入る。ネット符号化利得(Net Coding GAin、NCG)は、FEC誤り訂正能力を評価する重要な指標であり、NCGが大きいほど、より多くの伝送中に発生する誤りを訂正できることを表す。言い換えれば、より信頼性のある伝送を提供したり、より低いシステム消費電力で信号伝送を行ったりすることができる。
シャノン氏は、1948年に誤り制御領域でマイルストーンの意義を有する論文を発表し、情報伝送レートがチャネル容量よりも低ければ、情報を適当に符号化することにより、情報伝送レートを犠牲することなくノイズのあるチャネルに導入された誤りを任意の低い程度に低減することができることを証明した。シャノンの著作が発表された以来、科学者らは、ノイズ環境で誤りを制御するために、有効なエンコード/デコード方法を設計する方面で大量の効果的な作業を行った。ハミングコード、BCH(Bose、Ray-ChaudhuriおよびHocquenghemの略語)/リード-ソロモンシンボル(Reed-solomon codes、RSコード)、乗積コード、重畳コードを代表とする硬判定FECから、低密度パリティチェック(Low-density Parity-check、LDPC)符号およびturbo符号を代表とする軟判定FECまで、独立して符号化されたブロックコードから重畳コードを代表とする相関符号化方法まで、科学者らは、ハードウェアにおいて低い複雑度で高い符号化利得を実現するFEC符号を探索している。
階段(Staircase)コードは、乗積コードの構造に基づいて提案された、コードワードが関連性を有するFEC符号であり、その基本原理は図2および図3に示すとおりである。図2のブロック行列において、発信元がm(m-r)個の情報シンボルを入力する度に、Bi,Lの情報行列ブロックを構成し、隣接するmr個のシンボルはstaircaseコードチェックビットであり、Bi,Rの検査行列ブロックを構成する。検査行列ブロックBi,Rの生成方法は図2に示すように、[Bi-1 i,L]を(2m,2m-r)ブロックコードで符号化することにより得られ、Bi-1 はブロック行列Bi-1の転置である。例えば、B1,Rは、[B 1,L]をm個の(2m,2m-r)ブロックコードで符号化することにより得られ、B はstaircaseコードの最初のブロックであり、既知のシンボル(例えば、オールゼロシンボル)である。後続のBi,Rは、[Bi-1 i,L]を(2m,2m-r)ブロックコードで符号化することにより順次得られ、図3に示すように、無限の「階段」形態のコード構造を形成する。
staircaseコードの構造からわかるように、既知のB0個のブロック行列におけるシンボルのほか、他のブロック行列におけるシンボルは、いずれも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応用の規格とすることを積極的に推進している。
staircaseコードのハードデコーディング性能が広く注目されているが、そのソフトデコーディング性能は開示されず、且つ、staircaseコードのオリジナル文献に記載されたデコード方法はハードデコーディングのみに適用する。同じコード長および冗長度に対し、staircaseコードに用いられるブロックコードはコードワード間の関連性を用いるため、TPCコードに用いられるブロックコードに対してstaircaseコードに用いられるブロックコードの誤り訂正能力および最小距離の特性は減衰され、従って、最小距離の低減はエラーフロア現象の現れをもたらす可能性がある。そのため、staircaseコードのソフトデコーディング方法において、コードワード間の関連性の特性をどのように合理的に効果的に用いるかは、極めて重要である。関連技術において、硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない。
以下は、本文について詳細に説明する主題の概要である。本概要は、特許請求の範囲を制限するものではない。
本願の実施例は、関連技術における硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない状況を回避するための階段staircaseコードの復号化方法、装置および記憶媒体を提供する。
本願の一実施例によれば、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コードの復号化方法を提供する。
本願の別の実施例によれば、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コードの復号化装置を提供する。
本願の別の実施例によれば、実行されると上記いずれか1項に記載の方法を実行するプログラムが記憶された記憶媒体を更に提供する。
本願の別の実施例によれば、実行されると上記いずれか1項に記載の方法を実行するプログラムを実行するように構成されるプロセッサを更に提供する。
図面および詳細な説明を閲読し理解することで、他の態様も理解できる。
ここで説明する図面は、本願の更なる理解を提供するためのものであり、本願の一部を構成し、本願の模式的な実施例およびその説明は本願を解釈するためのものであり、本願を不当に限定するものではない。
関連技術における典型的な伝送システムのブロック図である。 関連技術におけるstaircaseコードの単一blockの構造模式図である。 関連技術におけるstaircaseコードのコード構造模式図である。 本願の実施例に係るstaircaseコードの復号化方法のフローチャートである。 本願の実施例に係るstaircaseコードのソフトデコーディングのフローチャートである。 本願の実施例に係るstaircaseコードの復号化装置の構造ブロック図である。
以下、図面および実施例を参照しながら本願について詳細に説明する。なお、矛盾しない限り、本願に係る実施例および実施例における特徴は、互いに任意に組み合わせることができる。
なお、本願の明細書、特許請求の範囲、および上記図面における「第1」、「第2」等の用語は、類似する対象を区別するためのものであり、特定の順序または優先順位を記述するために用いるわけではない。
本願は、関連技術に存在する誤り訂正能力および最小距離の特性によるエラーフロア現象の状況に対し、階段staircaseコードの復号化方法を提案し、ブロックTPCコードのソフトデコーディング思想およびstaircaseコードのコードワード間の関連性の特徴を十分に用い、エラーフロア現象を良好に制御することができる。本願の方法を用い、使用するブロックコードのタイプ、外部情報計算の方法はいずれも限定されず、様々な形態に適用される。
図4は、本願の実施例によるstaircaseコードの復号化方法のフローチャートであり、図4に示すように、該方法は、ステップS402、ステップS404およびステップS406を含む。
ステップS402において、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得し、第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得し、SおよびTはいずれも0よりも大きい整数である。
ステップS404において、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力する。
ステップS406において、第2情報ブロックまたは第3情報ブロックからS-T個の情報ブロックを選択し、選択したS-T個の情報ブロックとT個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってS個の更新後の情報ブロックを取得し、Sブロックの更新後の情報ブロックを新たな第2情報ブロックとする動作と、第3情報ブロックにおける第T+1個のブロック~第2T個のブロックの情報と新たな第2情報ブロックにおける先頭のS-T個のブロックの情報とを共に復号化して新たな第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行する。
上記実施例により、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得した後、第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得し、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得する。ブロック(Turbo Product Code、TPC)コードのソフトデコーディング思想およびstaircaseコードのコードワード間の関連性の特徴を十分に用い、後続に繰り返し実行するデータブロック選択、更新および復号化等のステップの過程においてコードワード間の関連性を確保し、関連技術における硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない状況を回避し、ひいてはTPCコードよりも優れたウォーターフォール領域の性能を達成し、且つエラーフロア現象を良好に制御する。
一実施例において、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得することは、最初のS個の符号化ブロックBに対してN_itr回の反復を行うことによって、ソフトインフォメーションの更新を行い、第1情報ブロックを取得することを含み、1≦i≦Sであり、N_itrは0よりも大きい整数である。
一実施例において、最初のS個の符号化ブロックBに対してN_itr回の反復を行うことによって、ソフトインフォメーションの更新を行うことは、第1更新処理および第2更新処理を含む。
第1更新処理は、以下のような式により、ブロック[Bi-1 ],i=1に対してソフトインフォメーションの更新を行うことである。
(数1)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(R はBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1 の値は1であり、A の値はn/N_itrである)
第2更新処理は、以下のような式により、ブロック[Ri-1 ],i=2、……S-1に対してソフトインフォメーション更新を行うことである。
(数2)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(Ai-1 はA 以上である)
ブロック[Ri-1 ],i=1、……S-1に対して第1更新処理および第2更新処理を繰り返し行う。ここで、Ri-1 は前回の反復が行われたソフトインフォメーションであり、Ri-1 がRと共に1つのデコード待ちのブロックとし、繰り返し実行する過程において、n=2、……N_itrであり、A はA -1以上であり、N_itrはレジスタの設定可能をサポートする。
一実施例において、第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得することは、第3更新処理、第4更新処理および第5更新処理を含む。第3更新処理は、以下のような式により、ブロック[Ri-1 ],i=1、……S-T-1に対してソフトインフォメーション更新を行うことである。
(数3)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(R は符号化ブロックBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1 の値は1であり、A の値はn/N_itrである)
第4更新処理は、以下のような式により、ブロック[Ri-1 ],i=S-Tに対してソフトインフォメーション更新を行うことである。
(数4)
[RS-T-1 ,RS-T ]=[RS-T-1 ,RS-T ]+[AS-T-1 ,AS-T ]×W n-1,n=1・・・(式2)
第5更新処理は、以下のような式により、ブロック[Bi-1 ],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行うことである。
(数5)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
第3更新処理、第4更新処理および第5更新処理を繰り返し実行して第2情報ブロックを取得し、A はA -1以上であり、繰り返し実行する過程において、n=2、……N_itrである。
一実施例において、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得することは以下の1つを含む。第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをハードデコーディングして第3情報ブロックを取得する。第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして第3情報ブロックを取得する。
一実施例において、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをハードデコーディングして第3情報ブロックを取得することは以下を含む。以下のような式により、第1情報ブロックおよび第2情報ブロックのソフトインフォメーションを取得する。
(数6)
[Ri-1 ,R ]=[Ri-1 n-1,R n-1]+W ,n=N_itr・・・(式3)
(R は符号化ブロックBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報である)
得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを0ビットまたは1ビットとして判定するという方式で、得られたソフトインフォメーションを硬判定する。S-1個[Bi-1 ]に対応する硬判定結果に対して(2m,2m-r)ブロックコードのデコードを順次行う(i=2、……Sという方式で、デコード処理を行うこととデコード処理を、N_itr回繰り返し実行し、デコードしたSブロックのデータを第3情報ブロックとして確定し、先頭のT個のブロックのデータをデコーダの出力とする。
一実施例において、デコード処理をN_itr回繰り返し実行するとき、ブロックコードに拡張チェックビットがあると、前のN_itr回の反復はチェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻し、後の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)してチェックビットを取得し、N_itrの値の範囲は[1,N_itr]であり、N_itrは0よりも大きい整数である。
一実施例において、デコード処理をN_itr回繰り返し実行する過程において、デコード処理を処理するパケットデコーダがエラーをフィードバックして訂正すると、現在のコードワード系列を最初の入力データに戻す。
一実施例において、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして第3情報ブロックを取得することは以下を含む。第1情報ブロックおよび第2情報ブロックを正規化処理した後、以下のような式により、第1情報ブロックおよび第2情報ブロックのソフトインフォメーションを取得する。
(数7)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=N_itr・・・(式4)
(R は符号化ブロックBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1 の値は1であり、A の値は(n-1)/N_itrである)
出力処理を繰り返し実行し、繰り返し実行する過程において、n=2、……N_itrであり、N_itrは0よりも大きい整数である。
最終回の反復を行うとき、以下のような式により、デコーダのソフトインフォメーション出力を取得するというような出力処理を実行する。
(数8)
[Ri-1 ,R ]=[Ri-1 n-1,R n-1]+W ,n=N_itr・・・(式5)
得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを0ビットまたは1ビットとして判定するという方式で、出力処理により得られたソフトインフォメーションを硬判定する。硬判定処理によって得られた先頭のT個のブロックのデータを第3情報ブロックとして確定し、デコーダ出力とする。
一実施例において、第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 ,Ri]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=N_itr・・・(式6)
(R はBに対応するn回の反復が行われたソフトインフォメーション出力であり、W は[Bi-1 ]ブロックにより求められた外部情報である)
上記実施例から分かるように、本願の実施例において、主に以下の方式により、コードワード間の関連性を合理的に効果的に実現する。
図5は、本願の実施例によるstaircaseコードのソフトデコーディングのフローチャートであり、図5に示すように、該方法はステップS502~ステップS512を含む。
ステップS502において、最初のS個のBブロック(B、B、……BT-1、B、……BS-1)に対してソフトインフォメーションの更新を行い、B 、B 、……BT-1 、B 、……BS-1 を取得する。ここで、パラメータSおよびTは、それぞれ毎回ソフトデコーディングするデータのブロック数および次回の復号化に追加する新たなデータのブロック数を表し、レジスタの設定可能をサポートする。
ステップS504において、S502で得られたソフトインフォメーションB 、……BS-1 および新規追加したデータブロックB、BS+1、……BS+T-1に対してソフトインフォメーションの更新を行い、B 、……BS-1 、B 、BS+1 、……BS+T-1 を取得する。
ステップS506において、S502で得られたソフトインフォメーションB 、B 、……BT-1 およびS104で得られたソフトインフォメーションB 、……BS-1 をハードデコーディングまたはソフトデコーディングをし、B 、B 、……BT-1 、B 、……BS-1 を取得し、B 、B 、……BT-1 のデータを出力し、デコーダ出力結果を取得する。
ステップS508において、S506の異なる復号化方式により、最後のS-T個のブロックのソフトインフォメーションを選択し、新規追加したT個のブロックのデータと共にソフトインフォメーションの更新を行い、Sブロックの更新後のソフトインフォメーションデータを取得する。
ステップS510において、S506で得られた第T+1個のブロック~第2T個のブロックのデータとS508で得られた先頭のS-T個のブロックのデータとを共にハードデコーディングまたはソフトデコーディングをし、先頭のT個のブロックのデータをデコーダの出力として出力する。
ステップS512において、S508およびS510を繰り返し実行し、デコーダから出力されるT個のブロックのストリームデータを絶え間なく取得する。
一実施例において、前記S502における最初のS個のBiブロックに対してソフトインフォメーションの更新を行うことは、動作過程がステップ1~ステップ3を含む。
ステップ1において、ブロック[B ]に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数10)
[R ,R ]=[R ,R ]+[A ,A ]×W ,n=1・・・(式7)
(R はBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、A の値は1であり、A は小さい値を取る)
ステップ2において、ブロック[Ri-1 ],i=2、……S-1、に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数11)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(Ai-1 はA 以上である)
ステップ3において、ブロック[Ri-1 ],i=1、……S-1に対してステップ1およびステップ2のソフトインフォメーション更新をn=2、……N_itr回繰り返し行い、最終的なソフトインフォメーションデータを取得する。ここで、A はA n-1以上であり、N_itrはレジスタの設定可能をサポートする。
一実施例において、前記ステップS504におけるS個のBブロックに対してソフトインフォメーションの更新を行うことは、動作過程がステップ1~ステップ4を含む。
ステップ1において、ブロック[Ri-1 ],i=1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数12)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(R はBに対応するデコーダの元の入力データであり、Ai-1 はA 以上である)
ステップ2において、ブロック[Ri-1 ],i=S-Tに対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数13)
[RS-T-1 ,RS-T ]=[RS-T-1 ,RS-T ]+[AS-T-1 ,AS-T ]×W n-1,n=1・・・(式2)
(Ai-1 の値はA よりも大きい)
ステップ3において、ブロック[Bi-1 ],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数14)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(Ai-1 はA 以上である)
ステップ4において、ステップ1、ステップ2およびステップ3をn=2、……N_itr回繰り返し実行し、最終的なソフトインフォメーションデータを取得する。ここで、A はA -1以上である。
一実施例において、前記ステップS506でS個のBブロックをハードデコーディングし、staircaseコードオーバラップ出力ハードデコーディングスキームのフローはステップ1~ステップ5を含む。
ステップ1において、得られたデータブロックのソフトインフォメーションは、下式から得られる。
(数15)
[Ri-1 ,R ]=[Ri-1 n-1,R n-1]+W ,n=N_itr・・・(式3)
(R はBに対応するn回の反復出力であり、R n-1はBに対応するn-1回の反復出力であり、すなわち、n回の反復入力である。W は[Bi-1 ]ブロックにより求められた外部情報である)
ステップ2において、ステップS502で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボルのシンボルビットをコーディング規則に対応させ、シンボルビットを0/1ビットとして判定することである。
ステップ3において、S-1個の[Bi-1 ]に対応する硬判定結果(i=2、……S)に対して(2m,2m-r)ブロックコードのデコードを順次行う。
ステップ4において、ステップ3を合計N_itr回繰り返し重複し、最終的な先頭のT個のブロックのデータをデコーダ出力とする。N_itrはレジスタの設定可能をサポートする。ブロックコードに拡張チェックビットがあると、前のN_itr回の反復はチェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻す。後の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)し、チェックビットを取得する。N_itrはレジスタの設定可能をサポートし、値の範囲は[1,N_itr]である。
ステップ5において、デコーダのロック現象を訂正するために、デコーダ動作の中間反復過程において、パケットデコーダがエラーをフィードバックして訂正すると、この時のコードワード系列を最初の入力データに戻してもよい。
一実施例において、前記ステップS506でS個のBブロックを正規化処理した後、ソフトデコーディングし、staircaseコードオーバラップ出力ソフトデコーディングスキームのフローはステップ1~ステップ5を含む。
ステップ1において、得られたデータブロックのソフトインフォメーションは、下式から得られる。
(数16)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=N_itr・・・(式4)
はBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションである。W は[Bi-1 ]ブロックにより求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1 はA 以上である。
ステップ2において、ステップ1で得られたS個のBブロックのデータに対してソフトインフォメーション更新を行い、最終回の反復を行うとき、以下のような式によりデコーダのソフトインフォメーション出力を取得する。
(数17)
[Ri-1 ,R ]=[Ri-1 ,R ]+W ,n=1・・・(式8)
ステップ3において、ステップ2をn=2、……N_itr回繰り返し、最終的なデコード出力データを取得し、N_itrはレジスタの設定可能をサポートする。
(数18)
[Ri-1 ,R ]=[Ri-1 n-1,R n-1]+W ,n=N_itr・・・(式5)
ステップ4において、ステップ3で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボル(または対応要素と呼ぶ)のシンボルビットをコーディング規則に対応させ、シンボルビットを0/1ビットとして判定することである。
ステップ5において、ステップ4で得られた先頭のT個のブロックのデータをデコーダ出力とする。
一実施例において、前記ステップ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]であり、レジスタの設定可能をサポートする。
ステップS506でソフトデコーディングを採用すれば、このS-T個のデータブロックは、ステップS506でソフトデコーディングして得られた第2T+1個のブロック~第3T個のブロックのソフトインフォメーションデータブロックからなり、下式から得られる。
(数19)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=N_it・・・(式6)
(R はBに対応するn回の反復が行われたソフトインフォメーション出力であり、W は[Bi-1 ]ブロックにより求められた外部情報である)
一実施例において、前記ステップS508でS個のBブロックに対してソフトインフォメーション更新を行うとき、動作過程が上記ステップS504に含まれるステップ1~ステップ4の処理過程と一致する。
以上の実施形態の説明により、当業者は、上記実施例による方法がソフトウェアと必要な汎用ハードウェアプラットフォームとを併用する方式を介して実現でき、もちろん、ハードウェアにより実現できるが、多くの場合、前者の方がより好ましい実施形態であることを明らかに理解できる。このような理解に基づき、本願の技術案は、本質的または関連技術に貢献する部分がソフトウェア製品の形態で具現化でき、該コンピュータソフトウェア製品が、読み出し専用メモリ/ランダムアクセスメモリ(Read Only Memory/Random access Memory、ROM/RAM)、磁気ディスク、光ディスクのような1つの記憶媒体に記憶され、携帯電話機、コンピュータ、サーバ、またはネットワーク機器等であり得る1台の端末装置に本願の各実施例に記載の方法を実行させるための複数の命令を含む。
本実施例において、上記実施例および例示的な実施形態を実現するように構成されるstaircaseコードの復号化装置を更に提供し、既に説明したものを省略する。以下に使用されるように、「モジュール」という用語は、所定の機能を持つソフトウェアおよびハードウェアのうちの少なくとも1種の組み合わせを実現できる。以下の実施例に説明する装置は、ソフトウェアとして実現することが好ましいが、ハードウェアまたはソフトウェアとハードウェアとの組み合わせとして実現することも可能で想像され得る。
図6は、本願の実施例のstaircaseコードの復号化装置の構造ブロック図である。図6に示すように、該装置は、更新モジュール602、復号化モジュール604および処理モジュール606を備える。
更新モジュール602は、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得し、第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得するように構成され、SおよびTはいずれも0よりも大きい整数である。
復号化モジュール604は、上記更新モジュール602に接続され、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックを復号化して第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力する。
処理モジュール606は、上記復号化モジュール604に接続され、第2情報ブロックまたは第3情報ブロックからS-T個の情報ブロックを選択し、選択したS-T個の情報ブロックとT個の新規追加した符号化ブロックと共に対してソフトインフォメーションの更新を行ってS個の更新後の情報ブロックを取得し、Sブロックの更新後の情報ブロックを新たな第2情報ブロックとする動作と、第3情報ブロックにおける第T+1個のブロック~第2T個のブロックの情報と新たな第2情報ブロックにおける先頭のS-T個のブロックの情報とを共に復号化して新たな第3情報ブロックを取得し、先頭のT個のブロックの情報をデコーダ出力として出力する動作とを繰り返し実行するように構成される。
一実施例において、staircaseコードにおける最初のS個の符号化ブロックに対してソフトインフォメーションの更新を行って第1情報ブロックを取得するとき、更新モジュール602は、最初のS個の符号化ブロックBをN_itr回の反復を行うことによって、ソフトインフォメーションの更新を行い、第1情報ブロックを取得するように構成される更新ユニットを備え、1≦i≦Sであり、N_itrは0よりも大きい整数である。
一実施例において、上記更新ユニットは以下を含む。第1更新処理サブユニットであって、以下のような式により、ブロック[Bi-1 ],i=1に対してソフトインフォメーションの更新を行うように構成される。
(数20)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(R はBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1 の値は1であり、A の値はn/N_itrである)
第2更新処理サブユニットであって、以下のような式により、ブロック[Ri-1 ],i=2、……S-1に対してソフトインフォメーション更新を行うように構成される。
(数21)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(Ai-1nはA 以上である)
ブロック[Ri-1 ],i=1、……S-1に対して第1更新処理および第2更新処理を繰り返し行い、繰り返し実行する過程において、n=2、……N_itrであり、A はA -1以上であり、N_itrはレジスタの設定可能をサポートする。
一実施例において、第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得するとき、更新モジュール602は以下を含む。第3更新処理サブユニットであって、以下のような式により、ブロック[Ri-1 ],i=1、……S-T-1に対してソフトインフォメーション更新を行うように構成される。
(数22)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(R は符号化ブロックBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1 の値は1であり、A の値はn/N_itrである)
第4更新処理サブユニットであって、以下のような式により、ブロック[Ri-1 ],i=S-Tに対してソフトインフォメーション更新を行うように構成される。
(数23)
[RS-T-1 ,RS-T ]=[RS-T-1 ,RS-T ]+[AS-T-1 ,AS-T ]×W n-1,n=1・・・(式2)
第5更新処理サブユニットであって、以下のような式により、ブロック[Bi-1 ],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行うように構成される。
(数24)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
第6更新処理サブユニットであって、第3更新処理ユニット、第4更新処理ユニットおよび第5更新処理ユニットにおける動作を繰り返し実行して第2情報ブロックを取得するように構成され、A はA -1以上であり、繰り返し実行する過程において、n=2、……N_itrである。
一実施例において、上記復号化モジュール604は、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをハードデコーディングして第3情報ブロックを取得するように構成されるハードデコーディングユニットと、第1情報ブロックの先頭のT個の符号化ブロックおよび第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして第3情報ブロックを取得するように構成されるソフトデコーディングユニットとのうちの1つを含む。
一実施例において、上記ハードデコーディングユニットは以下の動作を実行するように構成される。以下のような式により、第1情報ブロックおよび第2情報ブロックのソフトインフォメーションを取得する。
(数25)
[Ri-1 ,R ]=[Ri-1 n-1,R n-1]+W ,n=N_itr・・・(式3)
(R は符号化ブロックBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報である)
得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを0ビットまたは1ビットとして判定するという方式で、得られたソフトインフォメーションを硬判定する。S-1個の[Bi-1 ]に対応する硬判定結果に対して(2m,2m-r)ブロックコードのデコードを順次行う(i=2、……Sである)という方式で、デコード処理を行う。デコード処理をN_itr回繰り返し実行し、デコードしたSブロックのデータを第3情報ブロックとして確定し、先頭のT個のブロックのデータをデコーダの出力とする。
一実施例において、デコード処理をN_itr回繰り返し実行するとき、ブロックコードに拡張チェックビットがあると、前のN_itr回の反復はチェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻し、後の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)してチェックビットを取得し、N_itrの値の範囲は[1,N_itr]であり、N_itrは0よりも大きい整数である。
一実施例において、デコード処理をN_itr回繰り返し実行する過程において、デコード処理を処理するパケットデコーダがエラーをフィードバックして訂正すると、現在のコードワード系列を最初の入力データに戻す。
一実施例において、上記ソフトデコーディングユニットは以下の動作を実行するように構成される。第1情報ブロックおよび第2情報ブロックを正規化処理した後、以下のような式により、第1情報ブロックおよび第2情報ブロックのソフトインフォメーションを取得する。
(数26)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=N_itr・・・(式4)

(R は符号化ブロックBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1 の値は1であり、A 値は(n-1)/N_itrである)
出力処理を繰り返し実行し、繰り返し実行する過程において、n=2、……N_itrであり、N_itrは0よりも大きい整数である。最終回の反復を行うとき、以下のような式により、デコーダのソフトインフォメーション出力を取得するというような出力処理を実行する。
(数27)
[Ri-1 ,R ]=[Ri-1 n-1,R n-1]+W ,n=N_itr・・・(式5)
出力処理を繰り返し実行し、繰り返し実行する過程において、n=2、……N_itrであり、N_itrは0よりも大きい整数である。得られたソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを0ビットまたは1ビットとして判定するという方式で、出力処理により得られたソフトインフォメーションを硬判定する。硬判定処理によって得られた先頭のT個のブロックのデータを第3情報ブロックとして確定し、デコーダ出力とする。
一実施例において、第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 ,Ri]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=N_itr・・・(式6)
(R はBに対応するn回の反復が行われたソフトインフォメーション出力であり、W は[Bi-1 ]ブロックにより求められた外部情報である)
以下、具体的な適用シーンにより本願について説明し、バックボーン(long haul)シーンに適用する高性能staircaseソフトデコーディング方法と復号化器装置、メトロ/データセンター(metro/Data Center Interconnection、metro/DCI)シーンに適用する低消費電力staircaseソフトデコーディング方法と復号化器装置、および短距離伝送シーンでの相互接続に適用するstaircaseハードデコーディング方法と復号化器装置についてそれぞれ説明する。
(例示的な実施例1)
本願の例示的な実施例1において、バックボーン(long haul)シーンに適用する高性能staircaseソフトデコーディングフローを提供する。バックボーン伝送シーンでは、FECのネット符号化利得に対する要求が非常に高く、性能に優れたstaircaseコードを取得するために、反復回数N_itrおよびN_itrは、システムの需要に応じて大きい値に設定できる。ステップ1~ステップ6を含む。
ステップ1において、最初のS個のBブロック(B、B、……BT-1、B、……BS-1)に対してソフトインフォメーションの更新を行い、B 、B 、……BT-1 、B 、……BS-1 を取得する。ここで、パラメータSおよびTは、それぞれ毎回ソフトデコーディングするデータのブロック数および次回の復号化に追加した新たなデータのブロック数を表し、レジスタの設定可能をサポートする。ソフトインフォメーション更新のステップはステップ(1)~ステップ(3)を含む。
ステップ(1)において、ブロック[B ]に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数29)
[R ,R ]=[R ,R ]+[A ,A ]×W ,n=1・・・(式7)
(R はBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報である。A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、A の値は1であり、A は小さい値を取る)
ステップ(2)において、ブロック[Ri-1 ],i=2、……S-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数30)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(Ai-1 はA 以上である)
ステップ(3)において、ブロック[Ri-1 ],i=1、……S-1に対してステップS506におけるステップ1およびステップ2のソフトインフォメーション更新をn=2、……N_itr回繰り返し行い、最終的なソフトインフォメーションデータを取得する。ここで、A はA -1以上であり、N_itrはレジスタの設定可能をサポートする。
ステップ2において、ステップ1で得られたソフトインフォメーションB 、……BS-1 および新規追加したデータブロックB、BS+1、……BS+T-1に対してソフトインフォメーションの更新を行い、B 、……BS-1 、B 、BS+1 、……BS+T-1 を取得する。ここで、ソフトインフォメーション更新はステップ(1)~ステップ(4)を含む。
ステップ(1)において、ブロック[Ri-1 ],i=1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数31)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(R はBに対応するデコーダの元の入力データであり、Ai-1 はA 以上である)
ステップ(2)において、ブロック[Ri-1 ],i=S-Tに対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数32)
[RS-T-1 ,RS-T ]=[RS-T-1 ,RS-T ]+[AS-T-1 ,AS-T ]×W n-1,n=1・・・(式2)
(Ai-1 の値がA よりも大きい)
ステップ(3)において、ブロック[Bi-1 ],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数33)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(Ai-1 はA 以上である)
ステップ(4)において、ステップ(1)、ステップ(2)およびステップ(3)をn=2、……N_itr回繰り返し実行し、最終的なソフトインフォメーションデータを取得する。ここで、A はA -1以上である。
ステップ3において、ステップ2で得られたソフトインフォメーションB 、B 、……BT-1 およびステップS506に含まれるステップ2で得られたソフトインフォメーションB 、……BS-1 をソフトデコーディングし、正規化処理を行い、B 、B 、……BT-1 、B 、……BS-1 を取得する。B 、B 、……BT-1 のデータを出力し、デコーダ出力結果を取得する。ステップ(1)~ステップ(5)に分けられる。
ステップ(1)において、得られたデータブロックのソフトインフォメーションは下式により得られる。
(数34)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=N_itr・・・(式4)

(R はBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションである。W は[Bi-1 ]ブロックにより求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1 はA 以上である)
ステップ(2)において、ステップ(1)で得られたS個のBブロックのデータに対してソフトインフォメーション更新を行い、最終回の反復を行うとき、以下のような式によりデコーダのソフトインフォメーション出力を取得する。
(数35)
[Ri-1 ,R ]=[Ri-1 ,R ]+W ,n=1・・・(式8)
ステップ(3)において、ステップ(2)をn=2、……N_itr回繰り返し、最終的なデコード出力データを取得し、N_itrはレジスタの設定可能をサポートする。
(数36)
[Ri-1 ,R ]=[Ri-1 n-1,R n-1]+W ,n=N_itr・・・(式5)
ステップ(4)において、ステップ(3)で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボルのシンボルビットをコーディング規則に対応させ、シンボルビットを0/1ビットとして判定することである。
ステップ(5)において、ステップ(4)で得られた先頭のT個のブロックのデータをデコーダ出力とする。
ステップ4において、S-T個のブロックのソフトインフォメーションを選択し、新規追加したT個のブロックのデータと共にソフトインフォメーションの更新を行い、Sブロックの更新後のソフトインフォメーションデータを取得し、ステップ(1)およびステップ(2)に分けられる。
ステップ(1)において、このS-T個のデータブロックは、ステップ3でソフトデコーディングして得られた第2T+1個のブロック~第3T個のブロックのソフトインフォメーションデータブロックからなり、下式から得られる。
(数37)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=N_itr・・・(式6)
(R はBに対応するn回の反復が行われたソフトインフォメーション出力であり、W は[Bi-1 ]ブロックにより求められた外部情報である)
ステップ(2)において、ステップ2に含まれるステップ(1)~ステップ(4)の処理過程に対してソフトインフォメーションの更新を行う。
ステップ5において、ステップ3で得られた第T+1個のブロック~第2T個のブロックのデータとステップ4で得られた先頭のS-T個のブロックのデータとを共にハードデコーディングまたはソフトデコーディングをし、先頭のT個のブロックのデータをデコーダの出力として出力する。
ステップ6において、ステップ4およびステップ5を繰り返し実行し、デコーダから出力されるT個のブロックのストリームデータを絶え間なく取得する。
(例示的な実施例2)
本願の例示的な実施例2において、メトロ/データセンター(metro/DCI)シーンに適用する低消費電力staircaseソフトデコーディングフローを提供する。メトロ/データセンターの適用シーンでは、システムのネット符号化利得を満足した前提で、FECの消費電力、遅延に対する要求が非常に高く、需要を満たしたstaircaseコードを取得するために、反復回数N_itrおよびN_itrは、システムの需要に応じて小さい値に設定でき、且つ、オーバラップ箇所に消費電力および遅延がより小さい硬判定staircaseスキームを使用することができる。具体的には、ステップ1~ステップ6を含む。
ステップ1において、最初のS個のBブロック(B、B、……BT-1、B、……BS-1)、に対してソフトインフォメーションの更新を行い、B 、B 、……BT-1 、B 、……BS-1 を取得する。ここで、パラメータSおよびTは、それぞれ毎回ソフトデコーディングするデータのブロック数および次回の復号化に追加した新たなデータのブロック数を表し、レジスタの設定可能をサポートする。ソフトインフォメーション更新のステップはステップ(1)~ステップ(3)に分けられる。
ステップ(1)において、ブロック[B ]に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数38)
[R ,R ]=[R ,R ]+[A ,A ]×W ,n=1・・・(式7)
(R はBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報である。A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、A の値は1であり、A は小さい値を取る)
ステップ(2)において、ブロック[Ri-1 ],i=2、……S-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数39)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(Ai-1 はA 以上である)
ステップ(3)において、ブロック[Ri-1 ],i=1、……S-1に対してステップ(1.1)および(1.2)のソフトインフォメーション更新をn=2、……N_itr回繰り返し行い、最終的なソフトインフォメーションデータを取得する。ここで、A はA -1以上であり、N_itrはレジスタの設定可能をサポートする。
ステップ2において、ステップ1で得られたソフトインフォメーションB 、……BS-1 および新規追加したデータブロックB、BS+1、……BS+T-1に対してソフトインフォメーションの更新を行い、B 、……BS-1 、B 、BS+1 、……BS+T-1 を取得する。ここで、ソフトインフォメーション更新はステップ(1)~ステップ(4)に分けられる。
ステップ(1)において、ブロック[Ri-1 ],i=1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数40)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
(R はBに対応するデコーダの元の入力データであり、Ai-1 はA 以上である)
ステップ(2)において、ブロック[Ri-1 ],i=S-Tに対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数41)
[RS-T-1 ,RS-T ]=[RS-T-1 ,RS-T ]+[AS-T-1 ,AS-T ]×W n-1,n=1・・・(式2)
(Ai-1 の値はA よりも大きい)
ステップ(3)において、ブロック[Bi-1 ],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行い、更新方法は以下のとおりである。
(数42)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×Win,n=1・・・(式1)
(Ai-1 はA 以上である)
ステップ(4)において、ステップ(1)、ステップ(2)およびステップ(3)をn=2、……N_itr回繰り返し実行し、最終的なソフトインフォメーションデータを取得する。ここで、A はA -1以上である。
ステップ3において、ステップ1で得られたソフトインフォメーションB 、B 、……BT-1 およびステップ2で得られたソフトインフォメーションB 、……BS-1 をハードデコーディングし、B 、B 、……BT-1 、B 、……BS-1 を取得する。B 、B 、……BT-1 のデータを出力し、デコーダ出力結果を取得し、ステップ(1)~ステップ(5)に分けられる。
ステップ(1)において、得られたデータブロックのソフトインフォメーションは下式により得られる。
(数43)
[Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=N_itr・・・(式4)
(R はBに対応するn回の反復出力であり、R n-1はBに対応するn-1回の反復出力であり、すなわち、n回の反復入力である。W は[Bi-1 ]ブロックにより求められた外部情報である)
ステップ(2)において、ステップ1で得られたソフトインフォメーションを硬判定し、硬判定の方法は、対応するシンボルのシンボルビットをコーディング規則に対応させ、シンボルビットを0/1ビットとして判定することである。
ステップ(3)において、S-1個の[Bi-1 ]に対応する硬判定結果(i=2、……S)に対して(2m,2m-r)ブロックコードのデコードを順次行う。
ステップ(4)において、ステップ(3)を合計N_itr回繰り返し、最終的な先頭のT個のブロックのデータをデコーダ出力とする。N_itrはレジスタの設定可能をサポートする。ブロックコードに拡張チェックビットがあると、前のN_itr回の反復はチェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻す。後の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)してチェックビットを取得する。N_itrはレジスタの設定可能をサポートし、値の範囲は[1,N_itr]である。
ステップ(5)において、デコーダのロック現象を訂正するために、デコーダ動作の中間反復過程において、パケットデコーダがエラーをフィードバックして訂正すると、この時のコードワード系列を最初の入力データに戻してもよい。
ステップ4において、S-T個のブロックのソフトインフォメーションを選択し、新規追加したT個のブロックのデータと共にソフトインフォメーションの更新を行い、Sブロックの更新後のソフトインフォメーションデータを取得し、ステップ(1)およびステップ(2)に分けられる。
ステップ(1)において、ステップ2で得られたソフトインフォメーションの先頭のT個のブロックのデータを破棄し、このS-T個のブロックのソフトインフォメーションとする。ステップ3でハードデコーディングして得られたデータブロックから第2T+1個のブロックおよびそれ以降のN_bhブロックを選択し、更にステップ2で得られた第T+N_bh+2ブロック~第Sブロックのソフトインフォメーションに対応する元の入力データとスティッチングし、このS-T個のブロックのソフトインフォメーションとしてもよい。ここで、N_bhの値の範囲は[0,S-T-1]であり、レジスタの設定可能をサポートする。
ステップ(2)において、ステップ2に含まれるステップ(1)~ステップ(4)の処理過程でソフトインフォメーションの更新を行う。
ステップ5において、ステップ3で得られた第T+1個のブロック~第2T個のブロックのデータとS1008で得られた先頭のS-T個のブロックのデータとを共にハードデコーディングまたはソフトデコーディングをし、先頭のT個のブロックのデータをデコーダの出力として出力する。
ステップ6において、ステップ4およびステップ5を繰り返し実行し、デコーダから出力されるT個のブロックのストリームデータを絶え間なく取得する。
(例示的な実施例3)
本願の例示的な実施例3において、短距離伝送シーンでの相互接続に適用するstaircaseハードデコーディングフローを提供する。短距離伝送によって相互接続するシーンでは、FEC硬判定のネット符号化利得に対する要求が非常に高く、且つエラーフロア現象に対する制御がより重要となる。需要を満たしたstaircaseコードを取得するために、ステップ1~ステップ6を実行することができる。
ステップ1において、最初のS個のBブロック(B、B、……BT-1、B、……BS-1)をハードデコーディングし、B 、B 、……BT-1 、B 、……BS-1 を取得する。ここで、パラメータSおよびTは、それぞれ毎回復号化するデータのブロック数および次回の復号化に追加した新たなデータのブロック数を表し、レジスタの設定可能をサポートする。
ステップ1はステップ(1)~ステップ(5)を含む。
ステップ(1)において、Sブロックのデータを硬判定し、S個の硬判定データブロックを取得する。
ステップ(2)において、ブロック[B B1],i=1、……S-1に対して(2m,2m-r)ブロックコードのハードデコーディングを行い、更新後のブロックデータを[H ]と記す。
ステップ(3)において、ブロック[H -1T],i=2、……S-1に対して(2m,2m-r)ブロックコードのハードデコーディングを行い、更新後のデータを[H i-1]と記す。
ステップ(4)において、更新後のブロック[Hi-1 ],i=S-1、……1に対して(2m,2m-r)ブロックコードのハードデコーディングを行う。
ステップ(5)において、ステップ(3)およびステップ(4)を合計N_itr回繰り返し、最終的な硬判定データを取得する。N_itrはレジスタの設定可能をサポートする。
ステップ2において、ステップ1で得られた硬判定情報B 、……BS-1 および新規追加したデータブロックB、BS+1、……BS+T-1をハードデコーディングし、B 、……BS-1 、B 、BS+1 、……BS+T-1 を取得する。方法はステップ1に示すとおりである。
ステップ3において、ステップ1で得られた硬判定情報B 、B 、……BT-1 およびS1604で得られた硬判定情報B 、……BS-1 をハードデコーディングし、B 、B 、……BT-1 、B 、……BS-1 を取得する。B 、B 、……BT-1 データを出力し、デコーダのデコード結果を取得する。
ステップ3はステップ(1)~ステップ(4)を含む。
ステップ(1)において、S-1個の[Bi-1 ]ブロック(i=2、……S)に対して(2m,2m-r)ブロックコードのハードデコーディングを順次行う。
ステップ(2)において、S-1個の[Bi-1 ]ブロック(i=S-1、……、1)に対して(2m,2m-r)ブロックコードのハードデコーディングを更に順次行う。
ステップ(3)において、ステップ(1)およびステップ(2)を合計N_itr回繰り返し、最終的なデコード出力データを取得する。N_itrはレジスタの設定可能をサポートする。ブロックコードに拡張チェックビットがあると、最初の数回の反復はチェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、ブロックコードのデコードの現在の入力データに戻す。最後の数回の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)し、チェックビットを取得する。
ステップ(4)において、デコーダのロック現象を訂正するために、デコーダ動作の中間反復過程において、パケットデコーダがエラーをフィードバックして訂正すると、この時のコードワード系列を最初の入力データに戻してもよい。
ステップ4において、ステップ3で得られた第2T+1個のブロック~第3T個のブロックのデータブロックと新規追加したT個のブロックのデータとを共にハードデコーディングする。
ステップ5において、ステップ3でソフトデコーディングした後の第T+1個のブロック~第2T個のブロックのデータとステップ4における先頭のS-T個のブロックのデータとを共にハードデコーディングし、先頭のT個のブロックのデータをデコーダの出力として出力する。
ステップ6において、ステップ4およびステップ5を繰り返し実行し、デコーダから出力されるT個のブロックのストリームデータを絶え間なく取得する。
本願の実施例は、実行されると上記いずれか1項に記載の方法を実行するプログラムが記憶された記憶媒体を更に提供する。
一実施例において、上記記憶媒体は、USB、読み出し専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、リムーバブルハードディスク、磁気ディスクまたは光ディスク等のプログラムコードを記憶可能な複数種の媒体を含んでもよいが、これらに限定されない。
本願の実施例は、実行されると上記いずれか1項に記載の方法におけるステップを実行するプログラムを実行するプロセッサを更に提供する。例えば、本実施例における例は、上記実施例および好ましい実施形態に記載された例を参照することができ、本実施例はここで説明を省略する。
上記実施例により、関連技術に存在する同じコード長および冗長度に対し、staircaseコードに用いられるブロックコードはTPCコードに用いられるブロックコードと比べ、その誤り訂正能力および最小距離特性が減衰され、最小距離の低減はエラーフロア現象の現れをもたらす可能性がある状況を回避する。本願における実施例は、コードワード間の関連性の特性を合理的に効果的に用いることができ、関連技術における硬符号化と軟符号化とを同時に適用できる符号化方法が存在しない状況を回避し、ひいてはTPCコードよりも優れたウォーターフォール領域の性能を達成し、且つエラーフロア現象を良好に制御する。

Claims (14)

  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に対してN_itr回の反復を行うことによって、ソフトインフォメーションの更新を行い、前記第1情報ブロックを取得する(1≦i≦Sであり、N_itrは0よりも大きい整数である)ことを含む、請求項1に記載の方法。
  3. 前記最初のS個の符号化ブロックBに対してN_itr回の反復を行うことによって、ソフトインフォメーションの更新を行うことは、
    以下のような式により、ブロック[Bi-1 ],i=1に対してソフトインフォメーションの更新を行う第1更新処理と、
    (数44)
    [Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
    (R はBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1 の値は1であり、A の値はn/N_itrである)
    以下のような式により、ブロック[Ri-1 ],i=2、……S-1に対してソフトインフォメーション更新を行う第2更新処理と、
    (数45)
    [Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
    (Ai-1 はA 以上である)
    ブロック[Ri-1 ],i=1、……S-1に対して前記第1更新処理および前記第2更新処理を繰り返し行う(繰り返し実行する過程において、n=2、……N_itrであり、A はA n-1以上であり、N_itrはレジスタの設定可能をサポートする)こととを含む、請求項2に記載の方法。
  4. 前記第1情報ブロックの最後のS-T個の符号化ブロックおよびT個の新規追加した符号化ブロックを更新して第2情報ブロックを取得することは、
    以下のような式により、ブロック[Ri-1 ],i=1、……S-T-1に対してソフトインフォメーション更新を行う第3更新処理と、
    (数46)
    [Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
    (R は符号化ブロックBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1 の値は1であり、A の値はn/N_itrである)
    以下のような式により、ブロック[Ri-1 ],i=S-Tに対してソフトインフォメーション更新を行う第4更新処理と、
    (数47)
    [RS-T-1 ,RS-T ]=[RS-T-1 ,RS-T ]+[AS-T-1 ,AS-T ]×W n-1,n=1・・・(式2)
    以下のような式により、ブロック[Bi-1 ],i=S-T+1、……S-T-1に対してソフトインフォメーション更新を行う第5更新処理と、
    (数48)
    [Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=1・・・(式1)
    前記第3更新処理、前記第4更新処理および前記第5更新処理を繰り返し行って前記第2情報ブロックを取得する(A はA -1以上であり、繰り返し実行する過程において、n=2、……N_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)
    [Ri-1 ,R ]=[Ri-1 n-1,R n-1]+W ,n=N_itr・・・(式3)
    (R は符号化ブロックBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報である) 得られた前記ソフトインフォメーションにおける要素のシンボルビットをコーディング規則に対応させるように、シンボルビットを0ビットまたは1ビットとして判定するという方式で、得られたソフトインフォメーションを硬判定することと、
    S-1個の[Bi-1 ]に対応する硬判定結果に対して(2m,2m-r)ブロックコードのデコードを順次行う(i=2、3、……、S-1、S)という方式で、デコード処理を行うことと、
    前記デコード処理をN_itr回繰り返し実行し、デコードしたSブロックのデータを前記第3情報ブロックとして確定し、先頭のT個のブロックのデータをデコーダの出力とすることと
    を含む、請求項5に記載の方法。
  7. 前記デコード処理をN_itr回繰り返し実行するとき、前記(2m,2m-r)ブロックコードに拡張チェックビットがある場合、前のN_itr回の反復は前記拡張チェックビットの(2m,2m-r)ブロックコードのデコード結果の反復を満たさず、前記(2m,2m-r)ブロックコードのデコードの現在の入力データに戻し、後の反復はチェックビット検出を行わず、デコード結果をmod2加算(排他的論理和)して前記拡張チェックビットを取得し、N_itrの値の範囲は[1,N_itr]であり、N_itrは0よりも大きい整数である、請求項6に記載の方法。
  8. 前記デコード処理をN_itr回繰り返し実行する過程において、前記デコード処理を処理するパケットデコーダがエラーをフィードバックして訂正すると、前記(2m,2m-r)ブロックコードのデコードの現在のコードワード系列を最初の入力データに戻す、請求項6に記載の方法。
  9. 前記第1情報ブロックの先頭のT個の符号化ブロックおよび前記第2情報ブロックの先頭のS-T個の符号化ブロックをソフトデコーディングして前記第3情報ブロックを取得することは、
    前記第1情報ブロックおよび前記第2情報ブロックに対して正規化処理を行った後、以下のような式により、前記第1情報ブロックおよび前記第2情報ブロックのソフトインフォメーションを取得することと、
    (数50)
    [Ri-1 ,R ]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=N_itr・・・(式4)
    (R は符号化ブロックBに対応するデコーダの元の入力データであり、R はBに対応するn回の反復が行われたソフトインフォメーションであり、W はブロック[Bi-1 ]により求められた外部情報であり、A は外部情報の信頼度因子であり、値の範囲が(0,1]であり、Ai-1 の値は1であり、A の値は(n-1)/N_itrである)
    出力処理を繰り返し実行する(繰り返し実行する過程において、n=2、……N_itrであり、N_itrは0よりも大きい整数である)ことと、
    最終回の反復を行うとき、以下のような式により、デコーダのソフトインフォメーション出力を取得するというような出力処理を実行することと、
    (数51)
    [Ri-1 ,R ]=[Ri-1 n-1,R n-1]+W ,n=N_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)
    [Ri-1 ,Ri]=[Ri-1 ,R ]+[Ai-1 ,A ]×W ,n=N_itr・・・(式6)
    (R はBに対応するn回の反復が行われたソフトインフォメーション出力であり、W は[Bi-1 ]ブロックにより求められた外部情報である)
  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をN_itr回の反復を行うことによって、ソフトインフォメーションの更新を行い、前記第1情報ブロックを取得する(1≦i≦Sであり、N_itrは0よりも大きい整数である)ように構成される更新ユニットを含む、請求項11に記載の装置。
  13. 実行されると請求項1から10のいずれか1項に記載の方法を実行するプログラムが記憶された、記憶媒体。
  14. 実行されると請求項1から10のいずれか1項に記載の方法を実行するプログラムを実行するように構成される、プロセッサ。
JP2020525981A 2017-11-15 2018-11-15 階段コードの復号化方法、装置および記憶媒体 Active JP7047092B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201711133350.5A CN109787641B (zh) 2017-11-15 2017-11-15 staircase码的解码方法、装置及存储介质
CN201711133350.5 2017-11-15
PCT/CN2018/115531 WO2019096184A1 (zh) 2017-11-15 2018-11-15 阶梯码的解码方法、装置及存储介质

Publications (2)

Publication Number Publication Date
JP2021502767A JP2021502767A (ja) 2021-01-28
JP7047092B2 true JP7047092B2 (ja) 2022-04-04

Family

ID=66495353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020525981A Active JP7047092B2 (ja) 2017-11-15 2018-11-15 階段コードの復号化方法、装置および記憶媒体

Country Status (6)

Country Link
US (1) US11184034B2 (ja)
EP (1) EP3713096B1 (ja)
JP (1) JP7047092B2 (ja)
KR (1) KR102326070B1 (ja)
CN (1) CN109787641B (ja)
WO (1) WO2019096184A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132061B (zh) * 2021-04-23 2022-11-25 展讯通信(上海)有限公司 上行数据发送方法、装置、存储介质及终端
CN114079539B (zh) * 2021-07-28 2023-11-28 珠海市杰理科技股份有限公司 一种无线信息交流方法及无线通信设备
WO2024026584A1 (en) * 2022-07-30 2024-02-08 Qualcomm Incorporated Techniques for staircase encoding with block-code-based shaping

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017178264A1 (en) 2016-04-15 2017-10-19 Alcatel Lucent Method and apparatus for forward error correction encoding
JP2020516119A (ja) 2017-07-28 2020-05-28 三菱電機株式会社 符号器、復号器及び送信機

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231575B2 (en) * 2002-04-01 2007-06-12 Intel Corporation Apparatus for iterative hard-decision forward error correction decoding
CN101026434A (zh) * 2006-02-24 2007-08-29 中国科学院上海微***与信息技术研究所 一种低复杂度的迭代检测译码方法及装置
CN101436917B (zh) * 2007-11-12 2012-06-27 华为技术有限公司 用于以太网无源光网络的数据编译码方法及装置
US8751910B2 (en) * 2011-04-13 2014-06-10 Cortina Systems, Inc. Staircase forward error correction coding
DE102012220334B3 (de) * 2012-11-08 2013-11-28 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
US9191256B2 (en) 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
EP3171520A4 (en) * 2014-07-31 2017-08-02 Huawei Technologies Co. Ltd. Decoding method and decoder
US9712187B2 (en) * 2014-12-05 2017-07-18 Samsung Electronics Co., Ltd. SC-LDPC codes for wireless communication systems: framework and zigzag-window decoder
CN105141393B (zh) * 2015-06-12 2018-05-04 深圳大学 一种无线网络中细粒度的子载波编码***及其方法
CN105429646B (zh) 2015-06-30 2019-03-22 南京大学 一种咬尾阶梯码的编码及解码方法
US10110256B2 (en) * 2016-09-16 2018-10-23 Micron Technology, Inc. Apparatuses and methods for staircase code encoding and decoding for storage devices
CN106992841B (zh) * 2017-03-21 2020-06-02 中山大学 一种分组马尔可夫叠加编码的硬判决迭代译码方法
CN109245846B (zh) * 2017-07-10 2022-07-05 中兴通讯股份有限公司 一种阶梯码解码方法和阶梯码解码装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017178264A1 (en) 2016-04-15 2017-10-19 Alcatel Lucent Method and apparatus for forward error correction encoding
JP2020516119A (ja) 2017-07-28 2020-05-28 三菱電機株式会社 符号器、復号器及び送信機

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
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
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

Also Published As

Publication number Publication date
EP3713096B1 (en) 2023-07-12
WO2019096184A1 (zh) 2019-05-23
US11184034B2 (en) 2021-11-23
KR20200087211A (ko) 2020-07-20
KR102326070B1 (ko) 2021-11-15
EP3713096A1 (en) 2020-09-23
EP3713096A4 (en) 2021-08-04
JP2021502767A (ja) 2021-01-28
US20210175908A1 (en) 2021-06-10
CN109787641B (zh) 2024-02-06
CN109787641A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
US7072417B1 (en) LDPC encoder and method thereof
US8347178B2 (en) Method, device and apparatus for correcting bursts
JP4389373B2 (ja) 2元巡回符号を反復型復号するための復号器
US8042030B2 (en) Encoding apparatus, decoding apparatus, encoding method, decoding method, and storage device
JP5506878B2 (ja) 低密度パリティ検査符号のパリティ検査行列生成方法
JP3451221B2 (ja) 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
JP5705106B2 (ja) ユークリッド空間リード−マラー符号の軟判定復号を実行する方法
TW201815077A (zh) 極化碼之並列連續消除解碼與連續消除清單解碼的裝置和方法、製造方法及建立方法
JP7047092B2 (ja) 階段コードの復号化方法、装置および記憶媒体
JP2007166605A (ja) パリティ検査行列、パリティ検査行列の生成方法、エンコーディング方法及びエラー訂正装置
US11843459B2 (en) Spatially coupled forward error correction encoding method and device using generalized error locating codes as component codes
US20030188248A1 (en) Apparatus for iterative hard-decision forward error correction decoding
JP2019525638A (ja) 2のべき乗でない長さに拡張されたポーラ符号の符号化および復号化
US8392792B2 (en) Method for encoding low density parity check codes using result of checking previously specified parity bits
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
US8161360B1 (en) Integrated interleaved codes
JP2004201323A (ja) 複雑度を減らしたコードテーブルを使用する復調装置及びその方法
KR20110114204A (ko) 저밀도 패리티 체크 부호화 방법 및 이를 이용하는 저밀도 패리티 체크 인코더
JP2009182421A (ja) 復号化方法及び復号化装置
JP4224818B2 (ja) 符号化方法及び符号化装置並びに復号方法及び復号装置
CN111600613B (zh) 一种校验方法、装置、译码器、接收机及计算机存储介质
KR100956592B1 (ko) 메시지 전달 알고리즘을 이용한 ldpc 코드 부호화 장치및 그 방법
KR101221062B1 (ko) 가변 usc 부호를 이용한 부호화 및 복호화 방법
AU2022332699A1 (en) Modified staircase forward error correction coding
CN114024552A (zh) 一种缩短三维tpc的高性能译码方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211022

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220323

R150 Certificate of patent or registration of utility model

Ref document number: 7047092

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150