[go: up one dir, main page]

JP7110191B2 - Information processing device and method - Google Patents

Information processing device and method Download PDF

Info

Publication number
JP7110191B2
JP7110191B2 JP2019526766A JP2019526766A JP7110191B2 JP 7110191 B2 JP7110191 B2 JP 7110191B2 JP 2019526766 A JP2019526766 A JP 2019526766A JP 2019526766 A JP2019526766 A JP 2019526766A JP 7110191 B2 JP7110191 B2 JP 7110191B2
Authority
JP
Japan
Prior art keywords
information
decoding
unit
storage unit
calculation
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
JP2019526766A
Other languages
Japanese (ja)
Other versions
JPWO2019003888A1 (en
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.)
Sony Semiconductor Solutions Corp
Original Assignee
Sony Semiconductor Solutions 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 Sony Semiconductor Solutions Corp filed Critical Sony Semiconductor Solutions Corp
Publication of JPWO2019003888A1 publication Critical patent/JPWO2019003888A1/en
Application granted granted Critical
Publication of JP7110191B2 publication Critical patent/JP7110191B2/en
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/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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

本開示は、情報処理装置及び方法に関し、特に、回路規模の増大を抑制することができるようにした情報処理装置及び方法に関する。 TECHNICAL FIELD The present disclosure relates to an information processing apparatus and method, and more particularly to an information processing apparatus and method capable of suppressing an increase in circuit size.

従来、地上波デジタル放送において制御信号伝送の誤り訂正方式として差集合巡回符号が用いられ、その差集合巡回符号の復号方法として、BP(Belief Propagation)復号が用いられていた。BP復号は、多数決復号やAPP(A Posterior Probability)軟判定復号等の他の復号方法に比べて誤り訂正能力が高い。 Conventionally, in terrestrial digital broadcasting, a difference cyclic code has been used as an error correction method for control signal transmission, and BP (Belief Propagation) decoding has been used as a decoding method for the difference cyclic code. BP decoding has higher error correction capability than other decoding methods such as majority decoding and APP (A Posterior Probability) soft decision decoding.

特開2010-199920号公報JP 2010-199920 A

しかしながら、BP復号の場合、復号に用いる中間情報を保持する記憶素子に対するアクセスが複雑になるため、記憶素子への配線数が増大する等、回路規模が増大するおそれがあった。 However, in the case of BP decoding, since access to memory elements that hold intermediate information used for decoding becomes complicated, there is a risk of an increase in circuit size, such as an increase in the number of wirings to the memory elements.

本開示は、このような状況に鑑みてなされたものであり、誤り訂正に関する復号の回路規模の増大を抑制することができるようにするものである。 The present disclosure has been made in view of such circumstances, and is intended to suppress an increase in the circuit scale of decoding related to error correction.

本技術の一側面の情報処理装置は、復号に用いる複数の情報を互いに異なる領域に記憶し、前記復号の検査行列の列方向のシフトに対応するように、前記情報を記憶する領域を前記復号に関する演算に応じてシフトさせる記憶部と、前記記憶部の所定の領域より前記情報を読み出し、前記復号に関する演算により更新された前記情報を、前記検査行列の行方向のシフトに対応するように並べ替え、前記記憶部の所定の領域に書き込む更新部と、前記更新部により前記記憶部より読み出された前記情報を用いて前記復号に関する演算を行い、前記情報を更新する演算部とを備える情報処理装置である。 An information processing device according to one aspect of the present technology stores a plurality of pieces of information used for decoding in different regions, and shifts the region for storing the information to correspond to the shift in the column direction of the parity check matrix for the decoding. a storage unit that shifts according to the computation of the parity check matrix, reading the information from a predetermined area of the storage unit, and arranging the information updated by the computation related to the decoding so as to correspond to the shift in the row direction of the parity check matrix and an update unit that writes data to a predetermined area of the storage unit instead, and an operation unit that performs operations related to the decoding using the information read from the storage unit by the update unit, and updates the information. processing equipment.

本技術の一側面の情報処理方法は、復号に用いる複数の情報を記憶部の互いに異なる領域に記憶し、前記復号の検査行列の列方向のシフトに対応するように、前記情報を記憶する領域を前記復号に関する演算に応じてシフトさせ、前記記憶部の所定の領域より前記情報を読み出し、前記記憶部より読み出された前記情報を用いて前記復号に関する演算を行い、前記情報を更新し、更新された前記情報を、前記検査行列の行方向のシフトに対応するように並べ替え、前記記憶部の所定の領域に書き込む情報処理方法である。 An information processing method according to one aspect of the present technology stores a plurality of pieces of information used for decoding in different regions of a storage unit, and stores the information in regions corresponding to the shift in the column direction of the parity check matrix for the decoding. is shifted in accordance with the computation related to the decoding, the information is read from a predetermined area of the storage unit, the computation related to the decoding is performed using the information read from the storage unit, and the information is updated; In the information processing method, the updated information is rearranged so as to correspond to the shift in the row direction of the parity check matrix, and the information is written in a predetermined area of the storage unit.

本技術の一側面の情報処理装置および方法においては、復号に用いる複数の情報が記憶部の互いに異なる領域に記憶され、その復号の検査行列の列方向のシフトに対応するように、その情報を記憶する領域が復号に関する演算に応じてシフトされ、その記憶部の所定の領域より情報が読み出され、その記憶部より読み出された情報を用いて復号に関する演算が行われてその情報が更新され、その更新された情報が、検査行列の行方向のシフトに対応するように並べ替えられ、記憶部の所定の領域に書き込まれる。 In the information processing device and method of one aspect of the present technology, a plurality of pieces of information used for decoding are stored in mutually different regions of the storage unit, and the pieces of information are stored so as to correspond to the shift in the column direction of the parity check matrix for the decoding. The area to be stored is shifted in accordance with the computation related to decoding, the information is read from a predetermined area of the storage section, and the information read out from the storage section is used to perform the computation related to decoding and update the information. The updated information is rearranged so as to correspond to the shift in the row direction of the parity check matrix, and written in a predetermined area of the storage unit.

本開示によれば、情報を処理することができる。特に、誤り訂正に関する復号の回路規模の増大を抑制することができる。 According to the present disclosure, information can be processed. In particular, it is possible to suppress an increase in circuit scale for decoding related to error correction.

多数決復号回路の主な構成例を示す図である。It is a figure which shows the main structural examples of a majority decoding circuit. APP軟判定復号回路の主な構成例を示す図である。FIG. 4 is a diagram showing a main configuration example of an APP soft-decision decoding circuit; BP復号装置の主な構成例を示すブロック図である。2 is a block diagram showing a main configuration example of a BP decoding device; FIG. BP復号アルゴリズムの例について説明する図である。FIG. 4 is a diagram explaining an example of a BP decoding algorithm; BP復号アルゴリズムの例について説明する図である。FIG. 4 is a diagram explaining an example of a BP decoding algorithm; 処理順について説明する図である。It is a figure explaining a processing order. 列方向の巡回シフトについて説明する図である。FIG. 10 is a diagram for explaining cyclic shift in the column direction; 列毎の読み出し位置について説明する図である。FIG. 4 is a diagram for explaining readout positions for each column; 行列方向の巡回シフトと読み出し位置との関係の例を説明する図である。FIG. 10 is a diagram illustrating an example of the relationship between cyclic shift in the matrix direction and readout positions; BP復号装置の主な構成例を示すブロック図である。2 is a block diagram showing a main configuration example of a BP decoding device; FIG. シフトバッファと演算部の主な構成例を示す図である。FIG. 3 is a diagram showing a main configuration example of a shift buffer and a computing unit; 検査行列と読み出し位置の例について説明する図である。FIG. 4 is a diagram illustrating an example of parity check matrix and readout positions; BP復号処理の流れの例を説明するフローチャートである。FIG. 11 is a flowchart for explaining an example of the flow of BP decoding processing; FIG. 信号対雑音比とエラーレートとの関係の例を示す図である。FIG. 5 is a diagram showing an example of the relationship between signal-to-noise ratio and error rate; Shuffled BP復号アルゴリズムの例について説明する図である。FIG. 10 is a diagram explaining an example of a shuffled BP decoding algorithm; Shuffled BP復号を行う場合のシフトバッファと演算部の主な構成例を示す図である。FIG. 10 is a diagram showing a main configuration example of a shift buffer and a calculation unit when Shuffled BP decoding is performed; チェックノード演算の例について説明する図である。It is a figure explaining the example of check node operation. チェックノード演算の例について説明する図である。It is a figure explaining the example of check node operation. 受信装置の主な構成例を示すブロック図である。It is a block diagram which shows the main structural examples of a receiver. テレビジョン装置の概略的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a schematic structure of a television apparatus. コンピュータの主な構成例を示すブロック図である。It is a block diagram which shows the main structural examples of a computer.

以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.巡回符号の復号方法
2.第1の実施の形態(BP復号装置)
3.第2の実施の形態(Shuffled BP)
4.第3の実施の形態(チェックノード演算)
5.第4の実施の形態(受信装置)
6.第5の実施の形態(テレビジョン装置)
7.その他
Hereinafter, a form for carrying out the present disclosure (hereinafter referred to as an embodiment) will be described. The description will be given in the following order.
1. Decoding method of cyclic code2. First embodiment (BP decoding device)
3. Second Embodiment (Shuffled BP)
4. Third Embodiment (Check Node Operation)
5. Fourth embodiment (receiving device)
6. Fifth Embodiment (Television Device)
7. others

<1.巡回符号の復号方法>
<復号方法例>
従来、地上波デジタル放送において制御信号伝送の誤り訂正方式として差集合巡回符号が用いられている。
<1. Decoding Method of Cyclic Code>
<Decryption method example>
Conventionally, a difference-set cyclic code is used as an error correction method for control signal transmission in digital terrestrial broadcasting.

正整数Jに対してJ(J-1)以下のJ個の非負整数の集合で、その任意の二つの元のn=J(J-1)+1を法とする順序づけられた差がすべて異なるものを、nを法とする位数Jの単純完全差集合と称する。{d1,d2,…,dJ}をnを法とする位数Jの単純完全差集合であるとすると、D(x) = x^{d1} + x^{d2} + … + x^{dJ}を符号多項式として持つ、符号語数が最小の2元巡回符号をCDとする。このCDの双対符号を差集合巡回符号と称する。In the set of J non-negative integers less than or equal to J(J-1) for a positive integer J, all the ordered differences modulo n=J(J-1)+1 of any two elements Different ones are called simple complete difference sets of order J modulo n. Let {d1,d2,...,dJ} be the simple complete difference set of order J modulo n, then D(x) = x^{d1} + x^{d2} + … + x^{ dJ} as a code polynomial, and the binary cyclic code with the minimum number of codewords is assumed to be C D . This C D dual code is called a difference set cyclic code.

これまで、このような差集合巡回符号の復号方法と装置化について様々な検討が行われた。例えば、硬判定復号方式として、多数決復号、可変しきい値復号、Bit-Flipping復号等が検討された。また、軟判定復号方式として、APP(A Posterior Probability)軟判定復号、可変しきい値軟判定復号、BP(Belief Propagation)復号等が検討された。 Various studies have been made on decoding methods and apparatus for such difference-set cyclic codes. For example, majority decoding, variable threshold decoding, bit-flipping decoding, etc. have been studied as hard-decision decoding methods. As soft-decision decoding methods, APP (A Posterior Probability) soft-decision decoding, variable threshold soft-decision decoding, BP (Belief Propagation) decoding, etc. have been studied.

以下に、従来の復号方式の例を説明する。なお、差集合巡回符号は符号長N=7、情報長k=3の場合について説明する。この場合の完全単純差集合は{0,1,3},J=3ある。 An example of a conventional decoding scheme will be described below. Note that the difference set cyclic code will be described with a code length N=7 and an information length k=3. The complete simple difference set in this case is {0,1,3} and J=3.

<多数決復号>
図1は多数決復号回路の主な構成例を示す図である。図1のAに示されるように、多数決復号を行う多数決復号回路10は、遅延素子11-1乃至遅延素子11-7、演算部12-1乃至演算部12-3、多数決判定部13、並びに、演算部14を有する。
<Majority decoding>
FIG. 1 is a diagram showing a main configuration example of a majority decoding circuit. As shown in FIG. 1A, the majority decoding circuit 10 that performs majority decoding includes delay elements 11-1 to 11-7, arithmetic units 12-1 to 12-3, a majority decision unit 13, and , and a computing unit 14 .

遅延素子11-1乃至遅延素子11-7は、それぞれ、信号を所定期間保持し、入力タイミングに対して出力タイミングを遅延させる。各遅延素子上のqi(i = 0~6)は、その遅延素子に保持される信号を示す。多数決復号は硬判定復号であるので、この信号qiは、1ビット信号である。つまり、遅延素子11-1乃至遅延素子11-7は、それぞれ1ビットの遅延素子である。遅延素子11-1乃至遅延素子11-7はループ状に接続されており、信号は、遅延素子11-1乃至遅延素子11-7を巡回的にシフトする(遅延素子11-1乃至遅延素子11-7に順に保持され、遅延素子11-7の次はまた遅延素子11-1に戻り保持される)。なお、遅延素子11-7より出力された信号は、演算部14にも供給される。 Each of the delay elements 11-1 to 11-7 holds the signal for a predetermined period and delays the output timing with respect to the input timing. qi (i = 0 to 6) on each delay element indicates the signal held in that delay element. Since majority decoding is hard decision decoding, this signal qi is a 1-bit signal. That is, each of the delay elements 11-1 to 11-7 is a 1-bit delay element. The delay elements 11-1 through 11-7 are connected in a loop, and the signal is cyclically shifted through the delay elements 11-1 through 11-7 (delay elements 11-1 through 11-7). -7, and after the delay element 11-7, it is returned to the delay element 11-1 and held). The signal output from the delay element 11-7 is also supplied to the computing section 14. FIG.

演算部12-1乃至演算部12-3、並びに、演算部14は、図1のBに示されるように、複数入力の排他的論理和演算(EXOR)を行い、その演算結果を出力する。演算部12-1は、遅延素子11-2の出力(q1)、遅延素子11-3の出力(q2)、および遅延素子11-7の出力(q6)の排他的論理和を求め、その演算結果を多数決判定部13に供給する。演算部12-2は、遅延素子11-1の出力(q0)、遅延素子11-5の出力(q4)、および遅延素子11-7の出力(q6)の排他的論理和を求め、その演算結果を多数決判定部13に供給する。演算部12-3は、遅延素子11-4の出力(q3)、遅延素子11-6の出力(q5)、および遅延素子11-7の出力(q6)の排他的論理和を求め、その演算結果を多数決判定部13に供給する。演算部14は、遅延素子11-7の出力(q6)と多数決判定部13の出力(多数決結果)との排他的論理和を求め、その演算結果を多数決復号回路10の外部に出力する。 The arithmetic units 12-1 to 12-3 and the arithmetic unit 14, as shown in FIG. 1B, perform an exclusive OR operation (EXOR) of multiple inputs and output the operation result. The calculation unit 12-1 obtains the exclusive OR of the output (q1) of the delay element 11-2, the output (q2) of the delay element 11-3, and the output (q6) of the delay element 11-7, and calculates The result is supplied to the majority decision section 13 . The calculation unit 12-2 obtains the exclusive OR of the output (q0) of the delay element 11-1, the output (q4) of the delay element 11-5, and the output (q6) of the delay element 11-7, and calculates The result is supplied to the majority decision section 13 . The calculation unit 12-3 obtains the exclusive OR of the output (q3) of the delay element 11-4, the output (q5) of the delay element 11-6, and the output (q6) of the delay element 11-7, and calculates The result is supplied to the majority decision section 13 . The calculation unit 14 obtains the exclusive OR of the output (q6) of the delay element 11-7 and the output (majority result) of the majority determination unit 13, and outputs the calculation result to the outside of the majority decoding circuit 10. FIG.

多数決判定部13は、演算部12-1乃至演算部12-3の各演算結果の多数決をとり、その判定結果を演算部14に供給する。 The majority determination unit 13 determines the majority of the computation results of the computation units 12-1 to 12-3 and supplies the determination result to the computation unit 14. FIG.

このような構成の多数決復号回路10は、初期化として、受信した硬判定情報(1ビット)を各遅延素子(遅延素子11-1乃至遅延素子11-7)にセットする。次に、復号処理として、演算部12-1乃至演算部12-3は、それぞれ、信号qiの排他的論理和演算を行い、多数決判定部13は、その3つの排他的論理和演算結果(EXOR結果)の多数決を取って、当該信号を訂正するか否かを決める。次に、多数決復号回路10は、巡回シフト処理として、遅延素子11-1乃至遅延素子11-7の値を巡回的にシフトさせる。多数決復号回路10は、このような復号処理と巡回シフト処理をN回繰り返す。 The majority decoding circuit 10 having such a configuration sets the received hard decision information (1 bit) in each delay element (delay element 11-1 to delay element 11-7) as initialization. Next, as a decoding process, the arithmetic units 12-1 to 12-3 each perform an exclusive OR operation on the signal qi, and the majority decision unit 13 performs an exclusive OR operation result (EXOR result) to decide whether or not to correct the signal. Next, the majority decoding circuit 10 cyclically shifts the values of the delay elements 11-1 to 11-7 as cyclic shift processing. The majority decoding circuit 10 repeats such decoding processing and cyclic shift processing N times.

信号に誤りが無ければ、演算部12-1乃至演算部12-3の出力が「0」となる。信号に誤りがあれば、演算部12-1乃至演算部12-3の出力が「1」となる。多数決判定部13は、演算部12-1乃至演算部12-3の出力を集計し、「1」が多い場合、信号値が誤りであると判定する。その場合、演算部14が信号の値を訂正する。 If there is no error in the signal, the outputs of the calculation units 12-1 through 12-3 are "0". If there is an error in the signal, the outputs of the calculation units 12-1 to 12-3 are "1". The majority determination unit 13 aggregates the outputs of the calculation units 12-1 to 12-3, and determines that the signal value is erroneous when there are many "1"s. In that case, the calculator 14 corrects the value of the signal.

<APP軟判定復号>
図2はAPP軟判定復号回路の主な構成例を示す図である。図2のAに示されるように、APP軟判定復号を行うAPP軟判定復号回路20は、遅延素子21-1乃至遅延素子21-7、演算部22-1乃至演算部22-3、演算部23、並びに、判定部24を有する。
<APP soft decision decoding>
FIG. 2 is a diagram showing a main configuration example of the APP soft-decision decoding circuit. As shown in A of FIG. 2, the APP soft-decision decoding circuit 20 that performs APP soft-decision decoding includes delay elements 21-1 to 21-7, calculation units 22-1 to 22-3, calculation units 23 and a determination unit 24 .

遅延素子21-1乃至遅延素子21-7は、それぞれ、信号を所定期間保持し、入力タイミングに対して出力タイミングを遅延させる。各遅延素子上のri(i = 0~6)は、その遅延素子に保持されるs(>1)ビット以上の軟判定LLR(Log likelihood ratio)を示す。つまり、遅延素子21-1乃至遅延素子21-7は、それぞれs(>1)ビットの遅延素子である。遅延素子21-1乃至遅延素子21-7はループ状に接続されており、軟判定LLRは、遅延素子21-1乃至遅延素子21-7を巡回的にシフトする(遅延素子21-1乃至遅延素子21-7に順に保持され、遅延素子21-7の次はまた遅延素子21-1に戻り保持される)。 Each of the delay elements 21-1 to 21-7 holds the signal for a predetermined period and delays the output timing with respect to the input timing. ri (i = 0 to 6) on each delay element indicates a soft-decision LLR (log likelihood ratio) of s (>1) bits or more held in that delay element. That is, each of the delay elements 21-1 through 21-7 is an s (>1) bit delay element. The delay elements 21-1 through 21-7 are connected in a loop, and the soft-decision LLR cyclically shifts the delay elements 21-1 through 21-7 (delay element 21-1 through delay element 21-7). are held in order by the element 21-7, and after the delay element 21-7 are returned to and held by the delay element 21-1).

演算部22-1乃至演算部22-3は、それぞれ、図2のBの一番上に示されるような演算(LLR演算)を行い、その演算結果を出力する。演算部22-1は、遅延素子21-2の出力(r1)と遅延素子21-3の出力(r2)とを用いてLLR演算を行い、その演算結果を演算部23に供給する。演算部22-2は、遅延素子21-1の出力(r0)と遅延素子21-5の出力(r4)を用いてLLR演算を行い、その演算結果を演算部23に供給する。演算部22-3は、遅延素子21-4の出力(r3)と遅延素子21-6の出力(r5)とを用いてLLR演算を行い、その演算結果を演算部23に供給する。 The calculation units 22-1 to 22-3 each perform calculation (LLR calculation) as shown at the top of B in FIG. 2, and output the calculation result. The calculation section 22-1 performs LLR calculation using the output (r1) of the delay element 21-2 and the output (r2) of the delay element 21-3, and supplies the calculation result to the calculation section . The calculation section 22-2 performs LLR calculation using the output (r0) of the delay element 21-1 and the output (r4) of the delay element 21-5, and supplies the calculation result to the calculation section . The calculation section 22-3 performs LLR calculation using the output (r3) of the delay element 21-4 and the output (r5) of the delay element 21-6, and supplies the calculation result to the calculation section .

演算部23は、図2のBの上から2番目に示されるように、演算部22-1乃至演算部22-3のそれぞれの演算結果、並びに、遅延素子21-7の出力(r6)の総和を求める。演算部23は、その総和を判定部24に供給する。判定部24は、図2のBの一番下に示されるように、演算部23の演算結果(総和)に基づいて誤りを判定する。例えば、判定部24は、演算部23の演算結果(総和)が正の場合誤りがないと判定し、その演算結果が0以下の場合、誤りがあると判定する。判定部24は、そのような判定結果をAPP軟判定復号回路20の外部に出力する。 The calculation unit 23, as shown second from the top of FIG. Find the sum. The calculation unit 23 supplies the sum to the determination unit 24 . The determination unit 24 determines an error based on the calculation result (sum) of the calculation unit 23, as shown at the bottom of B in FIG. For example, the determination unit 24 determines that there is no error when the calculation result (sum) of the calculation unit 23 is positive, and determines that there is an error when the calculation result is 0 or less. The decision section 24 outputs such a decision result to the outside of the APP soft decision decoding circuit 20 .

このような構成のAPP軟判定復号回路20は、初期化として、受信した軟判定情報(sビット)を各遅延素子(遅延素子21-1乃至遅延素子21-7)にセットする。次に、復号処理として、演算部22-1乃至演算部22-3は、それぞれ、軟判定情報riを用いてLLR演算を行い、演算部23は、それらの演算結果と、遅延素子21-7の出力(r6)との総和を算出し、判定部24は、その総和に基づいて誤りがあるか否かを判定する。次に、APP軟判定復号回路20は、巡回シフト処理として、遅延素子21-1乃至遅延素子21-7の値を巡回的にシフトさせる。APP軟判定復号回路20は、このような復号処理と巡回シフト処理をN回繰り返す。 The APP soft-decision decoding circuit 20 having such a configuration sets the received soft-decision information (s bits) in each delay element (delay element 21-1 to delay element 21-7) as initialization. Next, as a decoding process, the calculation units 22-1 to 22-3 each perform LLR calculation using the soft decision information ri, and the calculation unit 23 uses the calculation results and the delay element 21-7 , and the determination unit 24 determines whether or not there is an error based on the sum. Next, the APP soft decision decoding circuit 20 cyclically shifts the values of the delay elements 21-1 through 21-7 as cyclic shift processing. The APP soft decision decoding circuit 20 repeats such decoding processing and cyclic shift processing N times.

なお、ループ構成として、遅延素子21-7の出力(r6)の代わりに、演算部23の出力(λ)を遅延素子21-1に供給するようにしてもよい。 As a loop configuration, instead of the output (r6) of the delay element 21-7, the output (λ) of the arithmetic unit 23 may be supplied to the delay element 21-1.

<BP復号>
図3はBP復号装置の主な構成例を示す図である。図3に示されるように、BP復号を行うBP復号回路30は、アドレス生成部(アドレス生成器)31、制御部(コントローラ)32、演算部(variable & check node演算器)33、およびRAM(Random Access Memory)34を有する。
<BP decryption>
FIG. 3 is a diagram showing a main configuration example of the BP decoding device. As shown in FIG. 3, a BP decoding circuit 30 that performs BP decoding includes an address generation unit (address generator) 31, a control unit (controller) 32, a calculation unit (variable & check node calculator) 33, and a RAM ( Random Access Memory) 34 .

演算部33は、検査行列の全行に対するチェックノード(check node)演算と、全列に対するバリアブルノード(variable node)演算を複数回繰り返す。チェックノード演算を行う場合、演算部33は、受信情報riと中間情報vi,iについて、検査行列各行の非0要素(非ゼロ係数)の位置にあたる情報をRAM34より読み出し、読み出した情報を用いて演算を行う。また、バリアブルノード演算を行う場合、演算部33は、中間情報ui,iについて、検査行列各列の非0要素(非ゼロ係数)の位置にあたる情報をRAM34より読み出し、読み出した情報を用いて演算を行う。 The computation unit 33 repeats check node computation for all rows of the parity check matrix and variable node computation for all columns multiple times. When performing check node calculation, the calculation unit 33 reads information corresponding to the position of the non-zero element (non-zero coefficient) in each row of the parity check matrix for the received information ri and the intermediate information vi,i from the RAM 34, and uses the read information to perform calculations. When performing variable node calculation, the calculation unit 33 reads information corresponding to the position of the non-zero element (non-zero coefficient) in each column of the parity check matrix for the intermediate information ui,i from the RAM 34, and performs calculation using the read information. I do.

つまり、検査行列の非ゼロ係数の位置によって情報(受信情報や中間情報)の読み出し位置が変化するので、これらの情報の保持はRAM34が用いられる。アドレス生成部31は、このような検査行列の非ゼロ係数の位置に応じて、情報の読み出しアドレスの設定を行う。制御部32は、そのアドレス情報に基づいて、RAM34の読み出しの制御を行う。図3に示されるように、RAM34内部には、複数のメモリセル(Memory Cells)が設けられており、受信情報や中間情報が、各メモリセルに格納される。制御部32は、各メモリセルの情報の読み出しや書き込みを制御することにより、演算部33がどのメモリセルから情報を読み出すかを制御したり、演算部33がどのメモリセルに情報を書き込むかを制御したりする。 That is, the read position of information (received information and intermediate information) changes depending on the position of the non-zero coefficients in the parity check matrix, so the RAM 34 is used to hold this information. The address generator 31 sets the information readout address according to the position of the non-zero coefficient in the parity check matrix. The control unit 32 controls reading from the RAM 34 based on the address information. As shown in FIG. 3, a plurality of memory cells (Memory Cells) are provided inside the RAM 34, and received information and intermediate information are stored in each memory cell. The control unit 32 controls reading and writing of information from/to each memory cell, thereby controlling from which memory cell the calculation unit 33 reads information and from which memory cell the calculation unit 33 writes information. to control.

このBP復号のアルゴリズムの例を図4のAに示す。演算部33は、検査行列の行毎に図4のAに示されるようなチェックノード演算を行い、検査行列の列毎に図4のAに示されるようなバリアブルノード演算を行う。検査行列は図4のBに示されるように値が0または1の要素(係数)により構成されており、演算部33は、この検査行列の非ゼロ係数(値が1の係数)の位置に対応する情報を用いてこれらの演算を行う。 An example of this BP decoding algorithm is shown in A of FIG. The computing unit 33 performs check node computation as shown in A of FIG. 4 for each row of the parity check matrix, and performs variable node computation as shown in A of FIG. 4 for each column of the parity check matrix. The parity check matrix is composed of elements (coefficients) with a value of 0 or 1 as shown in FIG. These operations are performed using the corresponding information.

<BP復号の特徴>
このようなBP復号は、軟判定復号であり、LDPC(Low Density Parity Check)符号の復号にも使用される等、誤り訂正能力は高い。しかしながら、BP復号の場合、検査行列における非ゼロ係数の位置は列や行によって変化する為、復号に用いる情報もそれに応じて変化する。そのため、情報を保持する記憶素子に対するアクセスが複雑になる(アクセス先のバリエーションが増大する)。したがって、記憶素子への配線が増大し、配線混雑性が増して回路規模が増大するおそれがあった。例えば、図3のRead Dataに接続されたセレクタは規模が大きい。また、Write Dataはそれぞれの記憶素子に接続する必要があり配線が多く、接続先が多くなるほど出力元のデバイスのドライブ能力を高くする必要があるなど、配線の混雑性は回路規模に影響を与えるおそれがあった。
<Characteristics of BP decoding>
Such BP decoding is soft-decision decoding, and has high error correction capability, such as being used for decoding LDPC (Low Density Parity Check) codes. However, in the case of BP decoding, the positions of non-zero coefficients in the parity check matrix change depending on the columns and rows, so the information used for decoding also changes accordingly. This complicates access to storage elements that hold information (increases variations in access destinations). As a result, the number of wirings to the storage elements increases, and there is a risk that wiring congestion will increase and the circuit scale will increase. For example, the selector connected to Read Data in FIG. 3 has a large scale. In addition, write data must be connected to each storage element, and there are many wires, and the more connections there are, the higher the drive capacity of the output source device, etc. Wiring congestion affects the circuit scale. I was afraid.

なお、RAM34の同時アクセス可能なアドレス数はそのRAM34の仕様に依存するが、複数同時アクセスするためには配線増加などを伴うため回路規模が増大するおそれがあった。また、RAMを使用する為、アドレス生成部31等が必要になり、回路規模が増大するおそれがあった。 The number of addresses of the RAM 34 that can be accessed simultaneously depends on the specifications of the RAM 34, but there is a possibility that the circuit size will increase due to the increase in wiring required for simultaneous access to a plurality of addresses. In addition, since the RAM is used, the address generator 31 and the like are required, which may increase the circuit scale.

なお、RAMの代わりにレジスタを用いて情報を保持する方法も考えられるが、その場合も、演算部33が情報を読み出すアドレスは可変となるので、アドレス生成部31が必要になり、回路規模が増大するおそれがあった。また、演算部33がチェックノード演算またはバリアブルノード演算のいずれを行う場合も、1回の演算に必要な情報が複数アドレスに分散して保持されていると、アクセスに複数サイクルが必要となり復号遅延が増大するおそれがあった。 A method of holding information using a register instead of RAM is also conceivable, but even in that case, since the address from which the calculation unit 33 reads out information is variable, the address generation unit 31 is required and the circuit scale is increased. It was likely to increase. In addition, when the operation unit 33 performs either check node operation or variable node operation, if the information required for one operation is distributed and held at a plurality of addresses, access requires a plurality of cycles, resulting in a decoding delay. was likely to increase.

<2.第1の実施の形態>
<巡回シフト記憶素子の適用>
そこで、復号に用いる複数の情報を記憶部の互いに異なる領域に記憶し、その復号の検査行列の列方向のシフトに対応するように、その情報を記憶する領域を復号に関する演算に応じてシフトさせ、その記憶部の所定の領域より情報を読み出し、その記憶部より読み出された情報を用いて復号に関する演算を行い、その情報を更新し、その更新された情報を、検査行列の行方向のシフトに対応するように並べ替え、その記憶部の所定の領域に書き込むようにする。
<2. First Embodiment>
<Application of cyclic shift memory element>
Therefore, a plurality of pieces of information used for decoding are stored in different areas of the storage unit, and the area for storing the information is shifted according to the computation related to decoding so as to correspond to the shift in the column direction of the parity check matrix for the decoding. , reads information from a predetermined area of the storage unit, performs arithmetic operations related to decoding using the information read from the storage unit, updates the information, and stores the updated information in the row direction of the parity check matrix. The data are rearranged so as to correspond to the shift, and written in a predetermined area of the storage unit.

このように、演算の度に、検査行列を行列方向に巡回シフトさせることにより非ゼロ係数の位置が固定化されるので、記憶部の同じ領域から情報を読み出すようにすることができる。したがって、情報の読み出しや書き込みのための、記憶部に接続される配線数の増大等を抑制することができ、回路規模の増大を抑制することができる。 In this way, by cyclically shifting the parity check matrix in the matrix direction for each calculation, the positions of the non-zero coefficients are fixed, so that information can be read from the same area of the storage unit. Therefore, it is possible to suppress an increase in the number of wirings connected to the storage unit for reading and writing information, and it is possible to suppress an increase in circuit size.

<BP復号のアルゴリズム>
そのために、例えば、BP復号のアルゴリズムを図5のように等価変形する。つまり、1回の繰り返しの中で情報更新の順番を入れ替えるようにする。また、検査行列の列順に処理を行うようにする。さらに、各列において非0要素位置(非ゼロ係数の位置)だけチェックノード(check node)演算とバリアブルノード(variable node)演算とを行うようにする。
<BP decoding algorithm>
For this purpose, for example, the BP decoding algorithm is equivalently transformed as shown in FIG. In other words, the order of information update is changed in one repetition. Also, processing is performed in the order of the columns of the parity check matrix. Furthermore, check node operation and variable node operation are performed only at non-zero element positions (non-zero coefficient positions) in each column.

より具体的には、図5に示されるように、検査行列の各列の非ゼロ係数の位置に対応する情報に対して、以下の式(1)のようなチェックノード演算と、以下の式(2)のようなバリアブルノード演算と、以下の式(3)のような情報算出が行われるようにする。 More specifically, as shown in FIG. 5, for information corresponding to the positions of non-zero coefficients in each column of the parity check matrix, a check node operation such as the following equation (1) and the following equation A variable node operation such as (2) and information calculation such as the following equation (3) are performed.

Figure 0007110191000001
・・・(1)
Figure 0007110191000002
・・・(2)
Figure 0007110191000003
・・・(3)
Figure 0007110191000001
... (1)
Figure 0007110191000002
... (2)
Figure 0007110191000003
... (3)

また、以上の演算が各列について行われるようにする。さらに、その後、以下の式(4)のように情報の更新が行われるようにする。 Also, the above calculation is performed for each column. Furthermore, after that, the information is updated as shown in the following formula (4).

Figure 0007110191000004
・・・(4)
Figure 0007110191000004
... (4)

図6に検査行列の例を示す。図6に示されるように、図5に示されるアルゴリズムのloop for number of non-zero elements (0≦I<J)は、検査行列の行方向の巡回シフトに相当し、図5に示されるアルゴリズムのloop for number of columns (0≦j記<N)は、検査行列の列方向の巡回シフトに相当する。 FIG. 6 shows an example of a parity check matrix. As shown in FIG. 6, the loop for number of non-zero elements (0≦I<J) in the algorithm shown in FIG. 5 corresponds to the cyclic shift in the row direction of the parity check matrix, and the algorithm shown in FIG. A loop for number of columns (0≦j<N) corresponds to a cyclic shift in the column direction of the parity check matrix.

<BPの演算対象位置>
図7に示されるように、差集合巡回符号の性質から、検査行列の非0要素位置に中間情報(A、B、C)を配置して巡回シフトする事でノード(node)演算(チェックノード演算やバリアブルノード演算)に必要な情報を読み出す事ができる。しかしながら、0要素位置は情報を置かないので、巡回シフト用に無駄なバッファを置くか、巡回シフトするサイクルを制御する必要がある。そのため、この方法では回路規模が増大するおそれがある。
<BP calculation target position>
As shown in FIG. 7, from the nature of the difference-set cyclic code, intermediate information (A, B, C) is arranged at non-zero element positions of the parity check matrix and cyclically shifted to perform a node operation (check node). You can read the information necessary for calculations and variable node calculations). However, since no information is placed in the 0 element position, it is necessary to either put a wasteful buffer for the cyclic shift or control the cycle of the cyclic shift. Therefore, this method may increase the circuit scale.

そこで、図8の一番左に示される検査行列のように、演算対象とした列(点線で囲まれた列)に着目する。列方向の非0要素位置となる行(図8の左から2番目(中央)に示される行列の点線で囲まれた行)の情報を使ってノード(node)演算を行うので、図8の一番右に示される行列のように、行方向に非0要素位置の情報をバッファしておくだけで良い。演算対象とした列に対して、どの行が対応するかの規則性を利用すれば読み出し位置を限定する事ができる。 Therefore, attention is focused on columns (columns surrounded by dotted lines) to be operated, such as the parity check matrix shown on the leftmost side of FIG. 8 . Since the node operation is performed using the information of the row that is the non-zero element position in the column direction (the row surrounded by the dotted line in the matrix shown second from the left (middle) in FIG. 8), As in the rightmost matrix, it is only necessary to buffer information on non-zero element positions in the row direction. The reading position can be limited by using the regularity of which row corresponds to the column to be operated.

例えば、一番上の段の行列の場合、一番右の列が対象となるので、非ゼロ係数が存在する上から1行目と2行目と4行目とが対象となる。したがって、図8の一番右に示されるように、バッファからは、上から1行目の一番右の「A」、上から2行目の一番右の「B」、上から3行目の一番右の「C」が読み出される。 For example, in the case of the top row matrix, since the rightmost column is targeted, the first, second, and fourth rows from the top where nonzero coefficients are present are targeted. Therefore, as shown in the rightmost part of FIG. The rightmost "C" of the eye is read.

その次に、上から2段目のように、右から2番目の列が対象となる。したがって、非ゼロ係数が存在する上から1行目と3行目と7行目とが対象となる。つまり、図8の一番右に示されるように、バッファからは、上から1行目の右から2番目の「B」、上から3行目の一番右の「C」、上から7行目の一番右の「A」が読み出される。 Then, like the second row from the top, the second column from the right is targeted. Therefore, the 1st, 3rd, and 7th rows from the top where non-zero coefficients exist are targeted. That is, as shown in the rightmost part of FIG. The rightmost "A" in the row is read.

その次に、上から3段目のように、右から3番目の列が対象となる。したがって、非ゼロ係数が存在する上から2行目と6行目と7行目とが対象となる。つまり、図8の一番右に示されるように、バッファからは、上から2行目の右から2番目の「C」、上から6行目の一番右の「A」、上から7行目の右から2番目の「B」が読み出される。 Then, the third column from the right is targeted, such as the third row from the top. Therefore, the 2nd, 6th, and 7th rows from the top where non-zero coefficients are present are targeted. That is, as shown in the rightmost part of FIG. The second "B" from the right in the row is read.

図9を参照してより具体的に説明する。図9の一番上の段に示されるように、BP復号のバリアブルノード演算の処理対象は、検査行列の一番右の列から開始され、その次に右から2番目の列、その次に右から3番目の列、・・・といった具合に右から順に1列ずつ指定される。チェックノード演算は、そのバリアブルノード演算の処理対象列の非ゼロ係数と同じ行の非ゼロ係数に対して行われる。 A more specific description will be given with reference to FIG. As shown in the top row of FIG. 9, the processing target of the variable node operation of BP decoding starts from the rightmost column of the parity check matrix, then the second column from the right, then The third column from the right, . . . are specified one by one in order from the right. The check node operation is performed on the nonzero coefficients in the same row as the nonzero coefficients in the target column of the variable node operation.

したがって、図9の上から2番目の段(中央の段)に示されるように、ノード演算の度に、検査行列の各係数を列方向に巡回シフトする(図中矢印のように列順を入れ替える)と、バリアブルノード演算の処理対象が検査行列の一番右の列に固定化される。 Therefore, as shown in the second row from the top (middle row) in FIG. 9, each coefficient of the parity check matrix is cyclically shifted in the column direction (the column order is changed as indicated by the arrow in the figure) each time the node operation is performed. ), the processing target of the variable node operation is fixed to the rightmost column of the parity check matrix.

また、図9の一番下の段に示されるように、ノード演算の度に、検査行列の各係数を列方向だけでなく行方向にも巡回シフトする(図中矢印のように列順および行順をそれぞれ入れ替える)と、バリアブルノード演算の処理対象だけでなくチェックノード演算の処理対象の係数の位置も固定化される。つまり、バッファからノード演算に用いる情報を読み出す領域(アドレス)を固定化することができる。 Further, as shown in the bottom row of FIG. 9, each coefficient of the parity check matrix is cyclically shifted not only in the column direction but also in the row direction (as indicated by the arrows in the figure). If the row order is changed respectively), the positions of the coefficients to be processed by the check node computation as well as the variable node computations are fixed. In other words, it is possible to fix the area (address) from which the information used for the node calculation is read from the buffer.

したがって、例えば図3のRead Dataに接続されたセレクタのような大規模なセレクタを省略することができる。また、Write Dataの配線数を低減させることができる。したがって、配線混雑性の増大を抑制することができる。また、例えば、アドレス生成部を省略することができる。これらのように、回路規模の増大を抑制することができる。RAMの代わりにレジスタを用いる場合も同様である。 Therefore, a large selector such as the selector connected to Read Data in FIG. 3 can be omitted. Also, the number of wirings for Write Data can be reduced. Therefore, an increase in wiring congestion can be suppressed. Also, for example, the address generator can be omitted. As described above, an increase in circuit scale can be suppressed. The same is true when using registers instead of RAM.

<BP復号装置>
図10は、本技術を適用した情報処理装置の一実施の形態であるBP復号装置の主な構成例を示すブロック図である。図10に示されるBP復号装置200は、例えばLDPC符号等の差集合巡回符号をBP復号する。図10に示されるように、BP復号装置200は、シフトバッファ211(Shift buffers)、演算部212(variable & check node演算器)、繰り返し制御部213(繰り返し制御回路)を有する。
<BP decoding device>
FIG. 10 is a block diagram showing a main configuration example of a BP decoding device, which is an embodiment of an information processing device to which the present technology is applied. The BP decoding device 200 shown in FIG. 10 BP-decodes a difference-set cyclic code such as an LDPC code. As shown in FIG. 10, the BP decoding device 200 has shift buffers 211 (Shift buffers), a calculator 212 (variable & check node calculator), and an iteration controller 213 (iteration control circuit).

シフトバッファ211は受信情報rを記憶する巡回シフトバッファと中間情報zi,jを記憶する巡回シフトバッファを有する。巡回シフトバッファは、情報を記憶する領域(バッファ)を巡回的にシフトさせるバッファである。 The shift buffer 211 has a cyclic shift buffer for storing received information r and a cyclic shift buffer for storing intermediate information zi,j. A cyclic shift buffer is a buffer that cyclically shifts an area (buffer) for storing information.

受信情報rを記憶する巡回シフトバッファは、例えば、ループ状に接続される複数のバッファセル(Buffer Cells)222により構成される。この巡回シフトバッファは、各バッファセル222に受信情報rを記憶することができる。また、この巡回シフトバッファは、各バッファセル222に記憶されている受信情報rを次のバッファセル222(図10の例の場合、右隣のバッファセル222)に移動させることができる。その際、図中右端のバッファセル222の出力は、図中左端のバッファセル222に供給される。つまり、この巡回シフトバッファは、このような構成のバッファセル222のループに沿って、受信情報rを巡回的にシフトさせる(受信情報rを記憶する領域を更新する)ことができる。例えば、この巡回シフトバッファは、ノード演算に対応して(例えばノード演算が行われる度に)、受信情報rを巡回的にシフトさせる。 A cyclic shift buffer that stores the received information r is composed of, for example, a plurality of buffer cells 222 connected in a loop. This circular shift buffer can store received information r in each buffer cell 222 . Also, this cyclic shift buffer can move the received information r stored in each buffer cell 222 to the next buffer cell 222 (in the example of FIG. 10, the buffer cell 222 on the right). At this time, the output of the buffer cell 222 on the right end of the drawing is supplied to the buffer cell 222 on the left end of the drawing. That is, this cyclic shift buffer can cyclically shift the received information r (update the area storing the received information r) along the loop of the buffer cells 222 having such a configuration. For example, this cyclic shift buffer cyclically shifts the received information r corresponding to a node operation (for example, each time a node operation is performed).

なお、図10においては、左端のバッファセルにのみ符号を付しているが、図中横方向に並ぶ全てのバッファセル(Buffer Cells)は、いずれもバッファセル222である。また、図中左端のバッファセル222の入力側には選択部221が設けられており、外部から供給された受信情報rまたは図中右端のバッファセル222から供給された受信情報rが、図中左端のバッファセル222に供給されるようになされている。 In FIG. 10, only the leftmost buffer cell is labeled, but all the buffer cells arranged horizontally in the drawing are the buffer cells 222 . A selection unit 221 is provided on the input side of the buffer cell 222 on the left end of the drawing, and the reception information r supplied from the outside or the reception information r supplied from the buffer cell 222 on the right end of the drawing is It is designed to be supplied to the leftmost buffer cell 222 .

中間情報zi,jを記憶する巡回シフトバッファは、例えば、ループ状に接続される複数のバッファセル(Buffer Cells)223により構成される。この巡回シフトバッファは、各バッファセル223に中間情報zi,jを記憶することができる。また、この巡回シフトバッファは、各バッファセル223に記憶されている中間情報zi,jを次のバッファセル223(図10の例の場合、右隣のバッファセル223)に移動させることができる。その際、図中右端のバッファセル223の出力は、図中左端のバッファセル223に供給される。つまり、この巡回シフトバッファは、このような構成のバッファセル223のループに沿って、中間情報zi,jを巡回的にシフトさせる(中間情報zi,jを記憶する領域を更新する)ことができる。例えば、この巡回シフトバッファは、ノード演算に対応して(例えばノード演算が行われる度に)、中間情報zi,jを巡回的にシフトさせる。 A cyclic shift buffer that stores the intermediate information zi,j is composed of, for example, a plurality of buffer cells 223 connected in a loop. This circular shift buffer can store intermediate information zi,j in each buffer cell 223 . Also, this cyclic shift buffer can move the intermediate information zi,j stored in each buffer cell 223 to the next buffer cell 223 (in the example of FIG. 10, the buffer cell 223 on the right). At this time, the output of the buffer cell 223 on the right end of the figure is supplied to the buffer cell 223 on the left end of the figure. In other words, this cyclic shift buffer can cyclically shift the intermediate information zi,j (update the area storing the intermediate information zi,j) along the loop of the buffer cells 223 having such a configuration. . For example, this cyclic shift buffer cyclically shifts the intermediate information zi,j corresponding to a node operation (for example, each time a node operation is performed).

なお、図10においては、左端のバッファセルにのみ符号を付しているが、図中横方向に並ぶ全てのバッファセル(Buffer Cells)は、いずれもバッファセル223である。また、中間情報zi,jを記憶する巡回シフトバッファが有するバッファセル223の数は、受信情報rを記憶する巡回シフトバッファのバッファセル222と同数である。 In FIG. 10, only the leftmost buffer cell is labeled, but all the buffer cells arranged in the horizontal direction in the drawing are buffer cells 223 . The number of buffer cells 223 in the cyclic shift buffer storing the intermediate information zi,j is the same as the number of buffer cells 222 in the cyclic shift buffer storing the received information r.

さらに、中間情報zi,jを記憶する巡回シフトバッファの一部のバッファセル223の出力は、演算部212を介して次のバッファセル223に接続される。例えば、この巡回シフトバッファの所定の位置のバッファセル223の出力が演算部212に供給されるように配線されている。つまり、演算部212が、この巡回シフトバッファの所定の位置のバッファセル223から中間情報zi,jを読み出すようになされている。 Furthermore, the output of some buffer cells 223 of the cyclic shift buffer that stores the intermediate information zi,j is connected to the next buffer cell 223 via the arithmetic section 212 . For example, it is wired so that the output of the buffer cell 223 at a predetermined position of this cyclic shift buffer is supplied to the arithmetic unit 212 . In other words, the arithmetic unit 212 reads out the intermediate information zi,j from the buffer cell 223 at a predetermined position of the cyclic shift buffer.

また、例えば、演算部212において得られる演算結果(更新された中間情報zi,j)は、更新前の中間情報zi,jを読み出した所定の位置のバッファセル223の次のバッファセル223(図10の例の場合、右隣のバッファセル223)に供給されるように配線されている。演算部212を経る接続位置は符号構成により一意に決まる。 Further, for example, the calculation result (updated intermediate information zi,j) obtained by the calculation unit 212 is stored in the buffer cell 223 (FIG. 10, it is wired to be supplied to the adjacent buffer cell 223) on the right. The connection position through the arithmetic unit 212 is uniquely determined by the code configuration.

演算部212は、BP復号のチェックノード演算とバリアブルノード演算を実施すると共に復号結果を出力する。 The calculation unit 212 performs check node calculation and variable node calculation for BP decoding, and outputs the decoding result.

繰り返し制御部213は、受信情報入力時の初期化と繰り返し回数の制御を行う。初期化時には中間情報zi,jの巡回シフトバッファを0にセットし、繰り返し回数の偶奇によって読み出しと書き込みのバッファ制御を行う。 The repetition control unit 213 performs initialization when receiving information is input and controls the number of repetitions. At the time of initialization, the cyclic shift buffer of the intermediate information zi,j is set to 0, and read/write buffer control is performed depending on whether the number of iterations is even or odd.

図11は、シフトバッファ211および演算部212の主な構成例を示す図である。上述したように、シフトバッファ211は、選択部221と、複数のバッファセル222がループ状に接続された巡回シフトバッファと、複数のバッファセル223がループ状に接続された巡回シフトバッファとを有する。 FIG. 11 is a diagram showing a main configuration example of the shift buffer 211 and the arithmetic unit 212. As shown in FIG. As described above, the shift buffer 211 has the selector 221, a cyclic shift buffer in which a plurality of buffer cells 222 are connected in a loop, and a cyclic shift buffer in which a plurality of buffer cells 223 are connected in a loop. .

演算部212は、シフトバッファ211の所定のバッファセルより情報を読み出し、更新された情報を、シフトバッファ211の所定の領域に書き込む更新部としての構成と、BP復号に関するノード演算を行うノード演算部としての構成とを有する。 The calculation unit 212 has a configuration as an update unit that reads information from a predetermined buffer cell of the shift buffer 211 and writes the updated information in a predetermined area of the shift buffer 211, and a node calculation unit that performs node calculations related to BP decoding. It has a configuration as

演算部212は、その更新部の構成として、選択部231-1乃至選択部231-3、バッファ232-1乃至バッファ232-3、選択部233、バッファ234-1乃至バッファ234-3、および選択部235(図中点線241より上側に示される構成)を有する。また、演算部212は、ノード演算部の構成として、チェックノード演算部236-1乃至チェックノード演算部236-3(図中点線241と点線242との間に示される構成)と、バリアブルノード演算部237(図中点線242と点線243との間に示される構成)と、情報更新部238-1乃至情報更新部238-3(図中点線243より下側に示される構成)と、判定部239とを有する。 The calculation unit 212 includes selection units 231-1 to 231-3, buffers 232-1 to 232-3, a selection unit 233, buffers 234-1 to 234-3, and selection units 231-1 to 231-3. It has a portion 235 (the configuration shown above the dotted line 241 in the drawing). In addition, the operation unit 212 includes check node operation units 236-1 to 236-3 (the configuration shown between the dotted lines 241 and 242 in the drawing) and a variable node operation unit as the configuration of the node operation unit. section 237 (structure shown between dotted line 242 and dotted line 243 in the drawing), information updating sections 238-1 to 238-3 (structure shown below dotted line 243 in the drawing), and determination section 239.

なお、選択部231-1乃至選択部231-3を互いに区別して説明する必要が無い場合、選択部231と称する。また、バッファ232-1乃至バッファ232-3を互いに区別して説明する必要が無い場合、バッファ232と称する。また、バッファ234-1乃至バッファ234-3を互いに区別して説明する必要が無い場合、バッファ234と称する。また、チェックノード演算部236-1乃至チェックノード演算部236-3を互いに区別して説明する必要が無い場合、チェックノード演算部236と称する。また、情報更新部238-1乃至情報更新部238-3を互いに区別して説明する必要が無い場合、情報更新部238と称する。 Note that the selection units 231-1 to 231-3 are referred to as the selection unit 231 when there is no need to distinguish them from each other. Also, the buffers 232-1 to 232-3 are referred to as the buffer 232 when there is no need to distinguish them from each other. The buffers 234-1 through 234-3 are referred to as buffers 234 when there is no need to distinguish them from each other. The check node computing units 236-1 to 236-3 are referred to as check node computing units 236 when there is no need to distinguish them from each other. The information updating units 238-1 to 238-3 are referred to as the information updating unit 238 when there is no need to distinguish them from each other.

また、図11においては、選択部233は、図中一番右側のみ符号を付してあるが、この選択部233と図中水平方向に並ぶ選択部は全て選択部233と称する。同様に、選択部235も図中一番右側のみ符号を付してあるが、この選択部235と図中水平方向に並ぶ選択部は全て選択部235と称する。 In FIG. 11, only the selection section 233 on the rightmost side of the drawing is denoted by a reference numeral. Similarly, only the selection section 235 on the rightmost side of the figure is denoted by a reference numeral, but the selection section 235 and the selection sections aligned horizontally in the figure are all referred to as the selection section 235 .

選択部231は、繰り返し制御部213から供給される制御信号「reciving data」の値に応じて、自身に対応するバッファ232の値と初期値(例えば「0」)との内のいずれか一方を選択し、選択した値を、中間情報zi,jの巡回シフトバッファの所定の位置のバッファセル223(情報が読み出されるバッファセル223の次のバッファセル223)に供給し、記憶させる。 The selection unit 231 selects either the value of the buffer 232 corresponding to itself or the initial value (for example, “0”) according to the value of the control signal “reciving data” supplied from the repetition control unit 213 . It selects and supplies the selected value to a buffer cell 223 at a predetermined position (the buffer cell 223 next to the buffer cell 223 from which the information is read) of the cyclic shift buffer of the intermediate information zi,j for storage.

バッファ232は、中間情報zi,jの巡回シフトバッファ(のバッファセル223)に書き込む中間情報zi,jを記憶する。 The buffer 232 stores the intermediate information zi,j to be written into (the buffer cell 223 of) the cyclic shift buffer of the intermediate information zi,j.

選択部233は、繰り返し制御部213から供給される制御信号「even/odd」の値に応じて、自身に対応するバッファ234の値と自身に対応する情報更新部238から供給される更新後の中間情報zi,jとの内のいずれか一方を選択し、選択した値を、自身に対応するバッファ232に供給する。 According to the value of the control signal “even/odd” supplied from the repetition control unit 213, the selection unit 233 selects the value of the buffer 234 corresponding to itself and the updated value supplied from the information update unit 238 corresponding to itself. It selects one of the intermediate information zi,j and supplies the selected value to its corresponding buffer 232 .

バッファ234は、中間情報zi,jの巡回シフトバッファの所定の位置のバッファセル223の値を取得し、記憶する。また、バッファ234は、記憶している値を、自身に対応するバッファ232、自身に対応する選択部233、または、自身に対応する選択部235に供給する。 The buffer 234 acquires and stores the value of the buffer cell 223 at a predetermined position in the cyclic shift buffer of the intermediate information zi,j. Further, the buffer 234 supplies the stored value to the buffer 232 corresponding to itself, the selection unit 233 corresponding to itself, or the selection unit 235 corresponding to itself.

選択部235は、繰り返し制御部213から供給される制御信号「even/odd」の値に応じて、自身に対応するバッファ234の複数の値のいずれかを選択し、選択した値を、自身に対応するチェックノード演算部236に供給する。 The selection unit 235 selects one of a plurality of values of the buffer 234 corresponding to itself according to the value of the control signal “even/odd” supplied from the repetition control unit 213, and transfers the selected value to itself. It is supplied to the corresponding check node calculation unit 236 .

チェックノード演算部236は、供給された中間情報zi,jを用いて、例えば以下の式(5)のようなチェックノード演算を行う。 The check node computation unit 236 uses the supplied intermediate information zi,j to perform check node computation such as the following equation (5), for example.

Figure 0007110191000005
・・・(5)
Figure 0007110191000005
... (5)

また、チェックノード演算部236は、算出した値をバリアブルノード演算部237と、自身に対応する情報更新部238に供給する。 Also, the check node calculation unit 236 supplies the calculated value to the variable node calculation unit 237 and the information update unit 238 corresponding thereto.

バリアブルノード演算部237は、供給されたチェックノード演算結果を用いて、例えば以下の式(6)のようなバリアブルノード演算を行う。 The variable node computation unit 237 uses the supplied check node computation result to perform variable node computation such as the following equation (6), for example.

Figure 0007110191000006
・・・(6)
Figure 0007110191000006
... (6)

また、バリアブルノード演算部237は、算出した値を各情報更新部238と判定部239に供給する。 Also, the variable node calculation unit 237 supplies the calculated values to each information update unit 238 and the determination unit 239 .

情報更新部238は、供給されたチェックノード演算結果とバリアブルノード演算結果とを用いて、例えば以下の式(7)のような情報更新の為の演算を行う。 The information update unit 238 uses the supplied check node calculation result and variable node calculation result to perform calculation for information update, such as the following equation (7).

Figure 0007110191000007
・・・(7)
Figure 0007110191000007
... (7)

また、情報更新部238は、得られた演算結果(更新された中間情報zi,j)を、自身に対応する選択部233に供給する。 Also, the information updating unit 238 supplies the obtained calculation result (the updated intermediate information zi,j) to the selecting unit 233 corresponding to itself.

判定部239は、供給されたバリアブルノード演算結果に基づいて誤り判定を行う。例えば、バリアブルノード演算結果が正の値の場合、誤りでないと判定し、バリアブルノード演算結果が0以下の場合、誤りであると判定する。判定部239は、その判定結果をBP復号部の外部に出力する。 The determination unit 239 performs error determination based on the supplied variable node calculation result. For example, if the variable node calculation result is a positive value, it is determined that there is no error, and if the variable node calculation result is 0 or less, it is determined that there is an error. The determination section 239 outputs the determination result to the outside of the BP decoding section.

これらの構成は、BP復号に用いられる検査行列の構成(の非ゼロ係数の位置)に対応している。つまり、図11に示される構成は一例である。シフトバッファ211および演算部212の構成は、BP復号に用いられる検査行列の構成に対応していればよく、図11の例に限定されない。例えば、図11の構成例は、図12に示される検査行列に対応している。 These configurations correspond to the configuration of the parity check matrix used for BP decoding (positions of non-zero coefficients thereof). That is, the configuration shown in FIG. 11 is an example. The configurations of shift buffer 211 and computing section 212 are not limited to the example in FIG. 11 as long as they correspond to the configuration of the parity check matrix used for BP decoding. For example, the configuration example in FIG. 11 corresponds to the parity check matrix shown in FIG.

このような構成のBP復号装置200において、初期化時は受信信号rを、受信情報を記憶する巡回シフトバッファ(バッファセル222)に供給し、記憶させる。また、選択部231を制御して、中間情報zi,jを記憶する巡回シフトバッファ(バッファセル223)に値「0」を供給し、記憶させる。すなわち、中間情報zi,jを「0」にする。以上の処理をNサイクル繰り返すことにより、受信情報の記録と0初期化は完了する。 In the BP decoding device 200 having such a configuration, at the time of initialization, the received signal r is supplied to and stored in a cyclic shift buffer (buffer cell 222) that stores received information. Further, the selector 231 is controlled to supply the value "0" to the cyclic shift buffer (buffer cell 223) that stores the intermediate information zi,j to store it. That is, the intermediate information zi,j is set to "0". By repeating the above processing for N cycles, recording of received information and zero initialization are completed.

BP復号では、チェックノード演算とバリアブルノード演算とにより中間情報を算出し、次の繰り返し時にその情報を使う。中間情報を保持する巡回シフトバッファは、繰り返しの偶数回と奇数回とで読み出し側と書き込み側を切り替えて使う。中間情報zi,jの列方向の巡回シフトは、Jx2個の情報を保持するN個のバッファセル223からなる巡回シフトバッファを用いる。例えば、図11の場合、中間情報を保持する巡回シフトバッファは、ループ状に接続された7個のバッファセル223により構成される。 In BP decoding, intermediate information is calculated by check node operation and variable node operation, and the information is used in the next iteration. The cyclic shift buffer that holds the intermediate information is used by switching between the read side and the write side depending on whether it is repeated even-numbered times or odd-numbered times. Cyclic shift of the intermediate information zi,j in the column direction uses a cyclic shift buffer consisting of N buffer cells 223 holding J×2 pieces of information. For example, in the case of FIG. 11, the cyclic shift buffer holding intermediate information is composed of seven buffer cells 223 connected in a loop.

シフトバッファ211は、ノード演算に対応して(ノード演算の度に)、検査行列の列方向のシフトに対応するように、中間情報zi,jを巡回シフトさせる。これにより、図9を参照して上述した行列方向の巡回シフトの内、列方向の巡回シフトを実現することができる。 The shift buffer 211 cyclically shifts the intermediate information zi,j so as to correspond to the shift in the column direction of the parity check matrix, corresponding to the node operation (every node operation). As a result, among the cyclic shifts in the matrix direction described above with reference to FIG. 9, cyclic shifts in the column direction can be realized.

また、演算部212の更新部は、バッファ232とバッファ234とを用いて、ノード演算により更新された中間情報zi,jを、検査行列の行方向のシフトに対応するように並べ替える。これにより、図9を参照して上述した行列方向の巡回シフトの内、行方向の巡回シフトを実現することができる。 Also, the update unit of the calculation unit 212 uses the buffers 232 and 234 to rearrange the intermediate information zi,j updated by the node calculation so as to correspond to the shift in the row direction of the parity check matrix. Thereby, among the cyclic shifts in the matrix direction described above with reference to FIG. 9, cyclic shifts in the row direction can be realized.

つまり、以上のような構成とすることにより、BP復号装置200は、差集合巡回符号の規則性を利用してデータの巡回シフトを繰り返すことによりBP復号を完了させることができる。したがって、1回の繰り返しに必要なサイクルがNサイクルであり、繰り返し回数をlmaxとするとN×lmaxサイクルで復号が完了する。 That is, with the above configuration, the BP decoding device 200 can complete BP decoding by repeating the cyclic shift of data using the regularity of the difference set cyclic code. Therefore, the number of cycles required for one iteration is N, and if the number of iterations is lmax, decoding is completed in N×lmax cycles.

なお、演算部212によるチェックノード演算、バリアブルノード演算、情報の更新、および復号結果を得る判定等の処理は、通常のBP復号と同様に行われる。なお、図11の例においては、パリティチェック回路が省略されているが、復号結果を他の情報と同様にシフトバッファに記録すれば実現する事は容易である。 Note that processing such as check node calculation, variable node calculation, information update, and determination for obtaining a decoding result by the calculation unit 212 are performed in the same manner as in normal BP decoding. Although the parity check circuit is omitted in the example of FIG. 11, it can be easily implemented by recording the decoded result in the shift buffer like other information.

また、演算部212において、更新部およびノード演算部の構成は、検査行列の列重み(列方向の非0要素数)に依存した数を有する。例えば、列重みJの場合、演算部212は、J個の更新部およびノード演算部を有する。図11の例の場合、図12に示されるように検査行列の列方向の非0要素数が3であるため、バッファ232、バッファ234、チェックノード演算部236、および情報更新部238は、それぞれ、3ずつ設けられている。 In addition, in the calculation unit 212, the configuration of the updating unit and the node calculation unit has a number depending on the column weight (the number of non-zero elements in the column direction) of the parity check matrix. For example, for column weight J, the calculator 212 has J updaters and node calculators. In the example of FIG. 11, the number of non-zero elements in the column direction of the parity check matrix is 3 as shown in FIG. , are provided three by one.

なお、規模削減のため回路のリソースシェアを行う場合にはJより少なくても良い。ただし、巡回シフトバッファのシフトタイミングは演算サイクルと同期させる必要がある。 Note that it may be less than J when circuit resources are shared for scale reduction. However, the shift timing of the cyclic shift buffer must be synchronized with the operation cycle.

また、シフトバッファ211の巡回シフトバッファと演算部212の更新部との接続位置は、検査行列の列方向の非0要素位置に対応する。図11の例の場合、検査行列の一番右の列の非0要素位置が上から1番目と2番目と4番目であるため、図11中右から1番目(左から7番目)のバッファセル223と、右から2番目(左から6番目)のバッファセル223と、右から4番目(左から4番目)のバッファセルとから中間情報zi,jが読み出され、演算部212の更新部(バッファ234)に供給される。検査行列の列方向の非0要素位置が図12の例と異なる場合も、シフトバッファ211のその位置に応じた領域(バッファセル223)から中間情報zi,jが読み出されるようにすればよい。 Also, the connection position between the cyclic shift buffer of the shift buffer 211 and the update unit of the calculation unit 212 corresponds to the non-zero element position in the column direction of the parity check matrix. In the example of FIG. 11, the non-zero element positions in the rightmost column of the parity check matrix are the first, second, and fourth from the top, so the first buffer from the right (seventh from the left) in FIG. The intermediate information zi,j is read out from the cell 223, the second buffer cell 223 from the right (sixth from the left), and the fourth buffer cell from the right (fourth from the left), and the calculation unit 212 is updated. section (buffer 234). Even if the non-zero element positions in the column direction of the parity check matrix are different from the example in FIG.

以上のように、中間情報を巡回シフトしてシフトバッファ211に書き戻す事により、シフトバッファ211からの中間情報の読み出し位置が毎回同じになる。なお、BP復号では自ノードを除いた情報を用いて演算を行うが、この巡回シフトにより中間情報を読み出した時の自ノードの位置が固定される。BP復号では算出した中間情報を次の繰り返しで使うため、書き込み側と読み出し側でバッファを切り替え(even/odd)て使う。 As described above, by cyclically shifting the intermediate information and writing it back to the shift buffer 211, the reading position of the intermediate information from the shift buffer 211 becomes the same each time. In BP decoding, calculation is performed using information excluding the self node, but the cyclic shift fixes the position of the self node when intermediate information is read. In BP decoding, the calculated intermediate information is used in the next iteration, so buffers are switched (even/odd) between the writing side and the reading side.

<BP復号処理の流れ>
次に、以上のような構成のBP復号装置200が、BP復号を行う為に実行するBP復号処理の流れの例を、図13のフローチャートを参照して説明する。
<Flow of BP decoding process>
Next, an example of the flow of BP decoding processing executed by the BP decoding device 200 configured as described above to perform BP decoding will be described with reference to the flowchart of FIG.

BP復号処理が開始されると、繰り返し制御部213は、ステップS101において、シフトバッファ211および演算部212を制御して初期化処理を行い、受信情報rを回路に入力し、中間情報を0にする。例えば、繰り返し制御部213は、受信情報rの入力を示す制御信号「receiving data」を有効にして受信情報rをシフトバッファ211に入力すると共に、中間情報zi,jとして値「0」をシフトバッファ211に入力する。符号長Nとすると、繰り返し制御部213は、この処理をNサイクルで完了する。また、繰り返し制御部213は、最大繰り返し回数を設定して、繰り返し回数カウンタのカウント値を「0」にする。 When the BP decoding process is started, in step S101, the repetition control unit 213 controls the shift buffer 211 and the arithmetic unit 212 to perform initialization processing, inputs the received information r to the circuit, and sets the intermediate information to 0. do. For example, the repetition control unit 213 validates the control signal “receiving data” indicating the input of the received information r, inputs the received information r to the shift buffer 211, and sets the value “0” as the intermediate information zi,j to the shift buffer. 211. Assuming that the code length is N, the repetition control unit 213 completes this process in N cycles. Further, the repetition control unit 213 sets the maximum number of repetitions and sets the count value of the repetition number counter to "0".

ステップS102において、繰り返し制御部213は、シフトバッファ211を制御して、ノード演算1回分の巡回シフトを行わせる。また、ステップS103において、繰り返し制御部213は、演算部212を制御し、1回分のノード演算を行わせる。 In step S102, the repetition control unit 213 controls the shift buffer 211 to perform cyclic shift for one node operation. Further, in step S103, the repetition control unit 213 controls the calculation unit 212 to perform one node calculation.

このような巡回シフトおよびノード演算の処理は、中間情報zi,jの1ビット目乃至Nビット目のそれぞれに対して行う必要がある。したがって、繰り返し制御部213は、ステップS104において、ステップS102およびステップS103の処理をN回繰り返したか否かを判定する。繰り返し回数がN回に達していないと判定された場合、処理はステップS102に戻る。つまり、ステップS102乃至ステップS104の処理がN回繰り返される。そして、巡回シフトおよびノード演算がN回行われたと判定された場合、処理は、ステップS105に進む。 Such cyclic shift and node operation processing must be performed for each of the 1st to Nth bits of the intermediate information zi,j. Therefore, in step S104, the repetition control unit 213 determines whether or not the processes of steps S102 and S103 have been repeated N times. If it is determined that the number of repetitions has not reached N, the process returns to step S102. That is, the processing from step S102 to step S104 is repeated N times. Then, if it is determined that the cyclic shift and node operation have been performed N times, the process proceeds to step S105.

ステップS105において、繰り返し制御部213は、繰り返し回数カウンタをカウントアップする。 In step S105, the repetition control unit 213 counts up the repetition number counter.

繰り返し制御部213は、以上の処理を(lmax-1)回繰り返すように制御する。つまり、繰り返し制御部213は、ステップS106において、繰り返し回数が最大値(lmax-1)に達したか否かを判定する。繰り返し回数が最大値(lmax-1)に達していないと判定された場合、処理はステップS102に戻る。つまり、繰り返し回数が最大値(lmax-1)に達するまで、ステップS102乃至ステップS106の処理が繰り返される。 The repetition control unit 213 controls to repeat the above processing (lmax-1) times. That is, in step S106, the repetition control unit 213 determines whether or not the number of repetitions has reached the maximum value (lmax-1). If it is determined that the number of repetitions has not reached the maximum value (lmax-1), the process returns to step S102. That is, the processing from step S102 to step S106 is repeated until the number of repetitions reaches the maximum value (lmax-1).

そして、ステップS102乃至ステップS106の処理が(lmax-1)回繰り返されると、処理はステップS107に進む。 Then, when the process from step S102 to step S106 is repeated (lmax-1) times, the process proceeds to step S107.

ステップS107において、繰り返し制御部213は、ステップS102と同様に、シフトバッファ211を制御して巡回シフトを行わせ、さらに、ステップS103と同様に、演算部212を制御してノード演算を行わせる。 In step S107, the repetition control unit 213 controls the shift buffer 211 to perform cyclic shift similarly to step S102, and further controls the arithmetic unit 212 to perform node arithmetic similarly to step S103.

ステップS108において、演算部212は、復号結果を後段に出力する。 In step S108, the calculation unit 212 outputs the decoding result to the subsequent stage.

ステップS108の処理が終了すると、BP復号処理が終了する。 When the process of step S108 ends, the BP decoding process ends.

以上のように、情報を記憶する記憶部を、符号の規則性を利用してシフトバッファで構成する事により、従来必要であったアドレス発生器やランダムアクセスに起因する配線混雑性、アドレスデコーダが不要となり、回路規模の増大を抑制することができる。 As described above, by constructing a storage unit for storing information with a shift buffer using the regularity of codes, wiring congestion caused by an address generator and random access and an address decoder, which were conventionally required, can be eliminated. It becomes unnecessary, and an increase in circuit scale can be suppressed.

例えばシングルポートのRAMを使う場合、同時にアクセスできるアドレスは1つしかない。この場合にノード演算を行うには、複数のアドレスから情報を読み出す必要があるため、複数サイクルの読み出しと書き込みによりノード演算の実行と更新を行う必要があった。しかしながら、上述のように符号の規則性を利用する事により、読み出し位置や書き込み位置を1通りに限定する(固定化する)ことができる。このようにすることにより、符号規則に従って、所定のバッファセルから直接ノード演算部へ情報を渡し、ノード演算結果を次のバッファセルに送ることができる。したがって1サイクルでノード演算の実行と更新を行う事ができる。つまり、これにより復号遅延を小さくする事ができる。 For example, when using single-port RAM, only one address can be accessed at a time. In this case, in order to perform a node operation, it is necessary to read information from a plurality of addresses, so it is necessary to execute and update the node operation by reading and writing in a plurality of cycles. However, by using the code regularity as described above, it is possible to limit (fix) one read position and one write position. By doing so, it is possible to transfer information from a predetermined buffer cell directly to the node operation unit according to the sign rule, and to send the node operation result to the next buffer cell. Therefore, node operations can be executed and updated in one cycle. In other words, this makes it possible to reduce the decoding delay.

<復号方式比較例>
図14に示されるグラフは、各復号方式における、受信情報の信号対雑音比に対するビットエラーレート(BER(Bit Error Rate))およびフレームエラーレート(FER(Frame Error Rate))を比較した例を示す。
<Decoding method comparison example>
The graph shown in FIG. 14 shows an example of comparing the bit error rate (BER) and frame error rate (FER) with respect to the signal-to-noise ratio of received information in each decoding method. .

図14において、HDは、多数決硬判定復号を示し、VTHDは、可変閾値硬判定復号を示し、SDは、軟判定復号を示し、SDHDは、軟判定復号+多数決硬判定復号を示し、BPは、本技術を適用したBP復号(繰り返し回数50回)を示す。図14のグラフから明らかなように、本技術を適用したBP復号を用いることにより、他の方式よりも誤り訂正能力を向上させることができる。 In FIG. 14 , HD indicates majority hard-decision decoding, VTHD indicates variable threshold hard-decision decoding, SD indicates soft-decision decoding, SDHD indicates soft-decision decoding + majority hard-decision decoding, and BP indicates , BP decoding (50 iterations) to which this technology is applied. As is clear from the graph in FIG. 14, by using BP decoding to which this technology is applied, error correction capability can be improved more than other schemes.

つまり、本技術を適用することにより、誤り訂正能力の低減を抑制しながら回路規模の増大を抑制することができる。これにより、BP復号装置200は、より容易に筐体を小型化することができる。また、製造コストや消費電力の増大を抑制することもできる。 That is, by applying the present technology, it is possible to suppress an increase in circuit size while suppressing a decrease in error correction capability. As a result, the BP decoding device 200 can be more easily miniaturized. In addition, it is possible to suppress increases in manufacturing costs and power consumption.

さらに、本技術を適用することにより、誤り訂正に関する処理を容易化することもできるので、処理時間の増大や消費電力の増大を抑制することもできる。処理時間の増大を抑制することにより、誤り訂正能力の低減を抑制しながら、より高ビットレートの受信情報を処理することができる。つまり、より情報量の多い受信情報に対してより高精度な誤り訂正を行うことができる。 Furthermore, by applying the present technology, processing related to error correction can be facilitated, so an increase in processing time and an increase in power consumption can be suppressed. By suppressing an increase in processing time, it is possible to process received information at a higher bit rate while suppressing a decrease in error correction capability. That is, more highly accurate error correction can be performed for received information having a larger amount of information.

また、消費電力の増大を抑制することにより発熱量の増大を抑制することができる。したがって、筐体の小型化をさらに容易化することができる。また、経年劣化を抑制することもできるので、信頼性を向上させることができる。 Also, by suppressing an increase in power consumption, an increase in heat generation can be suppressed. Therefore, miniaturization of the housing can be further facilitated. In addition, since deterioration over time can be suppressed, reliability can be improved.

<3.第2の実施の形態>
<Shuffled BPアルゴリズム>
なお、本技術は、BP復号の派生アルゴリズムにも適用する事ができる。例えば、更新した情報を同じ繰り返し内に反映するシャッフルドBP復号(Shuffled BP)と呼ばれる復号方式にも本技術を適用することができる。
<3. Second Embodiment>
<Shuffled BP Algorithm>
This technology can also be applied to derived algorithms of BP decryption. For example, the present technology can also be applied to a decoding method called shuffled BP decoding that reflects updated information within the same iteration.

このシャッフルドBP復号のアルゴリズムの例を図15に示す。この場合、情報算出は、以下の式(8)のように行われる。 An example of this shuffled BP decoding algorithm is shown in FIG. In this case, information calculation is performed as in the following equation (8).

Figure 0007110191000008
・・・(8)
Figure 0007110191000008
... (8)

この場合、繰り返し回数の偶奇でバッファの切り替えを行わずに、常に情報を更新する。この場合のBP復号装置200のシフトバッファ211および演算部212の主な構成例を図16に示す。図16に示されるように、この場合、図11の例と比較して、選択部233および選択部235、すなわち、繰り返し回数even/oddによる選択部が省略されている。また、自ノードの中間情報を次の演算で使わないのでバッファに記録する必要がない。例として、第1の実施の形態のBP復号ではA,B,Cの3情報を示したが、この場合は2情報で良い。動作順序は、第1の実施の形態のBP復号の場合と同様に行えば良い。 In this case, the information is always updated without switching buffers depending on whether the number of iterations is even or odd. FIG. 16 shows a main configuration example of the shift buffer 211 and the arithmetic unit 212 of the BP decoding device 200 in this case. As shown in FIG. 16, in this case, the selectors 233 and 235, that is, the selectors based on the number of iterations even/odd, are omitted compared to the example of FIG. Also, since the intermediate information of the own node is not used in the next calculation, it is not necessary to record it in the buffer. As an example, three pieces of information A, B, and C are shown in the BP decoding of the first embodiment, but two pieces of information are sufficient in this case. The order of operations may be the same as in the case of BP decoding in the first embodiment.

このように、シャッフルドBP復号(Shuffled BP)の場合も本技術を適用することにより、第1の実施の形態の場合と同様の効果を得ることができる。 In this way, by applying the present technology to shuffled BP decoding (Shuffled BP), it is possible to obtain the same effect as in the case of the first embodiment.

<4.第3の実施の形態>
<チェックノード演算の応用>
以上に説明したBP復号においては、図17に示されるアルゴリズムの例のように、チェックノード演算において、以下の式(9)のようなGallager関数が用いられる。
<4. Third Embodiment>
<Application of check node operation>
In the BP decoding described above, a Gallager function such as the following equation (9) is used in the check node calculation as in the example of the algorithm shown in FIG.

Figure 0007110191000009
・・・(9)
Figure 0007110191000009
... (9)

このようなGallager関数はルックアップテーブル(Table Look Up)等を用いて実装される事が多く、高精度ではあるものの、その回路規模は大きく、演算サイクルも多い。そこで、処理の複雑なチェックノード演算を簡易化するようにしてもよい。 Such a Gallager function is often implemented using a lookup table (Table Look Up) or the like, and although it is highly accurate, the circuit scale is large and the operation cycle is large. Therefore, the complicated check node operation may be simplified.

例えば、図18のAに示されるように、以下の式(10)のようなMin-Sumアルゴリズムを用いてチェックノード演算を行うようにしてもよい。 For example, as shown in A of FIG. 18, a check node operation may be performed using a Min-Sum algorithm such as Equation (10) below.

Figure 0007110191000010
・・・(10)
Figure 0007110191000010
(10)

また、例えば、図18のBに示されるように、以下の式(11)のようなNormalized Min-Sumアルゴリズムを用いてチェックノード演算を行うようにしてもよい。 Also, for example, as shown in FIG. 18B, the check node operation may be performed using a Normalized Min-Sum algorithm such as Equation (11) below.

Figure 0007110191000011
α: Normalize Factor
・・・(11)
Figure 0007110191000011
α: Normalize Factor
(11)

また、例えば、図18のCに示されるように、以下の式(12)のようなOffset Min-Sumアルゴリズムを用いてチェックノード演算を行うようにしてもよい。 Also, for example, as shown in FIG. 18C, the check node operation may be performed using an Offset Min-Sum algorithm such as Equation (12) below.

Figure 0007110191000012
β: Offset Factor
・・・(12)
Figure 0007110191000012
β: Offset Factor
(12)

図17の例のBP復号アルゴリズムの場合、行重みJに応じたバッファを持つ必要があったが、これらのアルゴリズムを適用する場合、最小2値を保持することができれば良いので、バッファ量の増大を抑制することができる。 In the case of the BP decoding algorithm in the example of FIG. 17, it was necessary to have a buffer corresponding to the row weight J, but when applying these algorithms, it is sufficient to be able to hold the minimum two values, so the amount of buffer is increased. can be suppressed.

勿論、これら以外のアルゴリズムを適用するようにしてもよい。 Of course, algorithms other than these may be applied.

なお、以上においては、巡回符号として差集合巡回符号を例に説明したが、本技術は任意の巡回符号に適用することができる。 In the above description, a difference cyclic code is used as an example of a cyclic code, but the present technology can be applied to any cyclic code.

<5.第4の実施の形態>
<受信装置>
図19は、上述した実施形態を適用した受信装置の主な構成例を示すブロック図である。図19に示される受信装置700は、他の装置から伝送される無線信号を受信して、その無線信号に含まれる情報(情報はどのようなものであってもよい。例えば画像データ等。)を復元し、出力する装置である。図19に示されるように、この受信装置700は、例えば、アンテナ711、チューナ712、復調部713、誤り訂正部714、デコーダ715、および出力部716を有する。
<5. Fourth Embodiment>
<Receiving device>
FIG. 19 is a block diagram showing a main configuration example of a receiver to which the above-described embodiment is applied. A receiving device 700 shown in FIG. 19 receives a radio signal transmitted from another device, and extracts information contained in the radio signal (the information may be of any kind. For example, image data, etc.). It is a device that restores and outputs As shown in FIG. 19, this receiving apparatus 700 has, for example, an antenna 711, a tuner 712, a demodulator 713, an error corrector 714, a decoder 715, and an output section 716.

チューナ712は、アンテナ711を介して受信される無線信号から所望の周波数帯(チャンネル)の信号を抽出し、抽出した信号(受信信号)を復調部713に供給する。復調部713は、供給された受信信号を復調し、得られた復調信号を誤り訂正部714に供給する。 Tuner 712 extracts a signal of a desired frequency band (channel) from the radio signal received via antenna 711 and supplies the extracted signal (received signal) to demodulator 713 . The demodulator 713 demodulates the supplied received signal and supplies the obtained demodulated signal to the error corrector 714 .

誤り訂正部714は、供給されたLDPC(Low Density Parity Check)符号の復調信号に対してBP復号を行うことにより誤り訂正を行う。誤り訂正部714は、そのようにして得られた符号化ビットストリームをデコーダ715に供給する。 The error correction unit 714 performs error correction by performing BP decoding on the demodulated signal of the supplied LDPC (Low Density Parity Check) code. The error correction unit 714 supplies the encoded bitstream thus obtained to the decoder 715 .

デコーダ715は、供給された符号化ビットストリームを復号する。デコーダ715は、その復号により得られたデータ、すなわち、送信側から送信された情報を出力部716に供給する。出力部716は、供給されたデータを外部に出力する。例えば、出力部716は、そのデータに含まれる画像データに対応する画像をモニタ等に表示したり、そのデータに含まれる音声データに対応する音声をスピーカ等から出力したり、外部入力端子等を介してそのデータを他の装置に出力したり、そのデータを記憶媒体に記憶させたり、そのデータを有線通信や無線通信等により他の装置に送信したりする。 Decoder 715 decodes the supplied encoded bitstream. Decoder 715 supplies the data obtained by the decoding, that is, the information transmitted from the transmitting side to output section 716 . The output unit 716 outputs the supplied data to the outside. For example, the output unit 716 displays an image corresponding to the image data included in the data on a monitor or the like, outputs sound corresponding to the audio data included in the data from a speaker or the like, or connects an external input terminal or the like. The data is output to another device via the network, the data is stored in a storage medium, and the data is transmitted to another device by wired communication, wireless communication, or the like.

このように構成された受信装置700において、誤り訂正部714が、上述した受信装置700の機能を有するようにしてもよい。例えば、誤り訂正部714が、BP復号装置200と同様の構成を有するようにし、図1乃至図18を参照して上述した各実施の形態と同様の手法によりBP復号を行うようにしてもよい。 In receiving apparatus 700 configured in this manner, error correction section 714 may have the functions of receiving apparatus 700 described above. For example, the error correction unit 714 may have a configuration similar to that of the BP decoding device 200, and may perform BP decoding by the same method as the embodiments described above with reference to FIGS. 1 to 18. .

このように本技術を適用することにより、受信装置700は、回路規模の増大を抑制することができる。これにより、受信装置700は、より容易に筐体を小型化することができる。また、製造コストや消費電力の増大を抑制することもできる。 By applying the present technology in this way, the receiving apparatus 700 can suppress an increase in circuit scale. As a result, receiving apparatus 700 can more easily have a smaller housing. In addition, it is possible to suppress increases in manufacturing costs and power consumption.

さらに、本技術を適用することにより、誤り訂正に関する処理を容易化することもできるので、処理時間の増大や消費電力の増大を抑制することもできる。処理時間の増大を抑制することにより、誤り訂正能力の低減を抑制しながら、より高ビットレートの受信情報を処理することができる。つまり、より情報量の多い受信情報に対してより高精度な誤り訂正を行うことができる。 Furthermore, by applying the present technology, processing related to error correction can be facilitated, so an increase in processing time and an increase in power consumption can be suppressed. By suppressing an increase in processing time, it is possible to process received information at a higher bit rate while suppressing a decrease in error correction capability. That is, more highly accurate error correction can be performed on received information having a larger amount of information.

また、消費電力の増大を抑制することにより発熱量の増大を抑制することができる。したがって、筐体の小型化をさらに容易化することができる。また、経年劣化を抑制することもできるので、信頼性を向上させることができる。 Also, by suppressing an increase in power consumption, an increase in heat generation can be suppressed. Therefore, miniaturization of the housing can be further facilitated. In addition, since deterioration over time can be suppressed, reliability can be improved.

<6.第5の実施の形態>
<テレビジョン受像機>
図20は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置800は、アンテナ801、受信部802、デマルチプレクサ803、デコーダ804、映像信号処理部805、表示部806、音声信号処理部807、スピーカ808、外部インタフェース(I/F)部809、制御部810、ユーザインタフェース(I/F)部811、及びバス812を備える。
<6. Fifth Embodiment>
<Television receiver>
FIG. 20 shows an example of a schematic configuration of a television apparatus to which the above-described embodiments are applied. The television apparatus 800 includes an antenna 801, a receiving section 802, a demultiplexer 803, a decoder 804, a video signal processing section 805, a display section 806, an audio signal processing section 807, a speaker 808, an external interface (I/F) section 809, a control A unit 810 , a user interface (I/F) unit 811 and a bus 812 are provided.

受信部802は、アンテナ801を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調したり、誤り訂正を行ったりする。そして、受信部802は、そのようにして得られた符号化ビットストリームをデマルチプレクサ803へ出力する。即ち、受信部802は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置800における伝送部としての役割を有する。 Receiving section 802 extracts a signal of a desired channel from a broadcast signal received via antenna 801, demodulates the extracted signal, and performs error correction. The receiving unit 802 then outputs the encoded bitstream thus obtained to the demultiplexer 803 . That is, the receiving unit 802 has a role as a transmitting unit in the television device 800 that receives an encoded stream in which images are encoded.

デマルチプレクサ803は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ804へ出力する。また、デマルチプレクサ803は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部810に供給する。なお、デマルチプレクサ803は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。 The demultiplexer 803 separates the video stream and audio stream of the program to be viewed from the encoded bitstream, and outputs each separated stream to the decoder 804 . The demultiplexer 803 also extracts auxiliary data such as an EPG (Electronic Program Guide) from the encoded bitstream and supplies the extracted data to the control unit 810 . Note that the demultiplexer 803 may perform descrambling when the encoded bitstream is scrambled.

デコーダ804は、デマルチプレクサ803から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ804は、復号処理により生成される映像データを映像信号処理部805へ出力する。また、デコーダ804は、復号処理により生成される音声データを音声信号処理部807へ出力する。 A decoder 804 decodes the video stream and audio stream input from the demultiplexer 803 . The decoder 804 then outputs the video data generated by the decoding process to the video signal processing section 805 . The decoder 804 also outputs audio data generated by the decoding process to the audio signal processing section 807 .

映像信号処理部805は、デコーダ804から入力される映像データを再生し、表示部806に映像を表示させる。また、映像信号処理部805は、ネットワークを介して供給されるアプリケーション画面を表示部806に表示させてもよい。また、映像信号処理部805は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部805は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。 The video signal processing unit 805 reproduces the video data input from the decoder 804 and causes the display unit 806 to display the video. Also, the video signal processing unit 805 may cause the display unit 806 to display an application screen supplied via a network. Also, the video signal processing unit 805 may perform additional processing such as noise removal on the video data according to the settings. Further, the video signal processing unit 805 may generate GUI (Graphical User Interface) images such as menus, buttons, or cursors, and may superimpose the generated images on the output image.

表示部806は、映像信号処理部805から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。 The display unit 806 is driven by a drive signal supplied from the video signal processing unit 805, and displays an image on the image screen of a display device (for example, a liquid crystal display, a plasma display, an OELD (Organic ElectroLuminescence Display) (organic EL display), or the like). Or display an image.

音声信号処理部807は、デコーダ804から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ808から音声を出力させる。また、音声信号処理部807は、音声データについてノイズ除去などの追加的な処理を行ってもよい。 The audio signal processing unit 807 performs reproduction processing such as D/A conversion and amplification on the audio data input from the decoder 804 and outputs audio from the speaker 808 . Also, the audio signal processing unit 807 may perform additional processing such as noise removal on the audio data.

外部インタフェース部809は、テレビジョン装置800と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部809を介して受信される映像ストリーム又は音声ストリームが、デコーダ804により復号されてもよい。即ち、外部インタフェース部809もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置800における伝送部としての役割を有する。 An external interface unit 809 is an interface for connecting the television apparatus 800 and an external device or network. For example, a video stream or audio stream received via the external interface unit 809 may be decoded by the decoder 804 . That is, the external interface unit 809 also has a role as a transmission unit in the television device 800 that receives the encoded stream in which the image is encoded.

制御部810は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置800の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部811から入力される操作信号に応じて、テレビジョン装置800の動作を制御する。 The control unit 810 has a processor such as a CPU and memories such as RAM and ROM. The memory stores programs executed by the CPU, program data, EPG data, data acquired via a network, and the like. The programs stored in the memory are read and executed by the CPU when the television apparatus 800 is activated, for example. By executing a program, the CPU controls the operation of the television apparatus 800 according to an operation signal input from the user interface unit 811, for example.

ユーザインタフェース部811は、制御部810と接続される。ユーザインタフェース部811は、例えば、ユーザがテレビジョン装置800を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部811は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部810へ出力する。 User interface section 811 is connected to control section 810 . The user interface unit 811 has, for example, buttons and switches for the user to operate the television apparatus 800, a remote control signal receiving unit, and the like. The user interface unit 811 detects an operation by the user through these components, generates an operation signal, and outputs the generated operation signal to the control unit 810 .

バス812は、受信部802、デマルチプレクサ803、デコーダ804、映像信号処理部805、音声信号処理部807、外部インタフェース部809、及び制御部810を相互に接続する。 A bus 812 interconnects the receiver 802 , demultiplexer 803 , decoder 804 , video signal processor 805 , audio signal processor 807 , external interface 809 , and controller 810 .

このように構成されたテレビジョン装置800において、受信部802が、上述した受信装置700の機能を有するようにしてもよい。例えば、受信部802が、チューナ712乃至誤り訂正部714の構成を有するようにし、その誤り訂正部714において行われる制御信号の誤り訂正に関する処理として、図1乃至図18を参照して上述した各実施の形態と同様の手法によりBP復号を行うようにしてもよい。 In television apparatus 800 configured in this way, receiving section 802 may have the function of receiving apparatus 700 described above. For example, the receiving section 802 may have a configuration of a tuner 712 to an error correcting section 714, and the error correcting process of the control signal performed in the error correcting section 714 may be each of the processes described above with reference to FIGS. BP decoding may be performed by a method similar to that of the embodiment.

このように本技術を適用することにより、テレビジョン装置800は、回路規模の増大を抑制することができる。これにより、テレビジョン装置800は、より容易に筐体を小型化することができる。また、製造コストや消費電力の増大を抑制することもできる。 By applying the present technology in this way, the television device 800 can suppress an increase in circuit scale. Accordingly, the housing of the television apparatus 800 can be more easily reduced in size. In addition, it is possible to suppress increases in manufacturing costs and power consumption.

さらに、本技術を適用することにより、誤り訂正に関する処理を容易化することもできるので、処理時間の増大や消費電力の増大を抑制することもできる。処理時間の増大を抑制することにより、誤り訂正能力の低減を抑制しながら、より高ビットレートの制御情報を処理することができる。つまり、より情報量の多い(より高機能な)制御情報に対してより高精度な誤り訂正を行うことができる。 Furthermore, by applying the present technology, processing related to error correction can be facilitated, so an increase in processing time and an increase in power consumption can be suppressed. By suppressing an increase in processing time, it is possible to process control information at a higher bit rate while suppressing a decrease in error correction capability. That is, more highly accurate error correction can be performed on control information with a larger amount of information (more sophisticated functions).

また、消費電力の増大を抑制することにより発熱量の増大を抑制することができる。したがって、筐体の小型化をさらに容易化することができる。また、経年劣化を抑制することもできるので、信頼性を向上させることができる。 Also, by suppressing an increase in power consumption, an increase in heat generation can be suppressed. Therefore, miniaturization of the housing can be further facilitated. In addition, since deterioration over time can be suppressed, reliability can be improved.

<7.その他>
<ソフトウエア>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。また、例えば、上述した一連の処理の一部をソフトウエアにより実行させ、他の処理をハードウエアにより実行させることもできる。一連の処理(の一部または全部)をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
<7. Others>
<Software>
The series of processes described above can be executed by hardware or by software. Also, for example, part of the series of processes described above can be executed by software, and other processes can be executed by hardware. When executing (a part or all of) a series of processes by software, a program that constitutes the software is installed in a computer. Here, the computer includes, for example, a computer built into dedicated hardware and a general-purpose personal computer capable of executing various functions by installing various programs.

図21は、上述した一連の処理(の一部または全部)をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。 FIG. 21 is a block diagram showing a configuration example of hardware of a computer that executes (a part of or all of) the series of processes described above by a program.

図21に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。 In a computer 900 shown in FIG. 21, a CPU (Central Processing Unit) 901 , a ROM (Read Only Memory) 902 and a RAM (Random Access Memory) 903 are interconnected via a bus 904 .

バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。 Input/output interface 910 is also connected to bus 904 . An input unit 911 , an output unit 912 , a storage unit 913 , a communication unit 914 and a drive 915 are connected to the input/output interface 910 .

入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。 The input unit 911 includes, for example, a keyboard, mouse, microphone, touch panel, input terminal, and the like. The output unit 912 includes, for example, a display, a speaker, an output terminal, and the like. The storage unit 913 is composed of, for example, a hard disk, a RAM disk, a nonvolatile memory, or the like. The communication unit 914 is composed of, for example, a network interface. Drive 915 drives removable media 921 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory.

以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。 In the computer configured as described above, the CPU 901 loads, for example, a program stored in the storage unit 913 into the RAM 903 via the input/output interface 910 and the bus 904, and executes the above-described series of programs. is processed. The RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.

コンピュータ900が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。 A program executed by the computer 900 can be applied by being recorded on a removable medium 921 such as a package medium, for example. In that case, the program can be installed in the storage unit 913 via the input/output interface 910 by loading the removable medium 921 into the drive 915 .

また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。 The program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913 .

その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。 Alternatively, this program can be installed in the ROM 902 or the storage unit 913 in advance.

<補足>
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
<Supplement>
Embodiments of the present technology are not limited to the above-described embodiments, and various modifications are possible without departing from the gist of the present technology.

例えば、本技術は、装置またはシステムを構成するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。 For example, the present technology can be applied to any configuration that constitutes a device or system, such as a processor as a system LSI (Large Scale Integration) or the like, a module using multiple processors or the like, a unit using multiple modules or the like, or other units. It can also be implemented as a set or the like with additional functions (that is, a configuration of part of the device).

また例えば、上述した各処理部は、その処理部について説明した機能を有するようにすれば、どのような構成により実現するようにしてもよい。例えば、任意の処理部が、任意の回路、LSI(Large Scale Integration)、システムLSI、プロセッサ、モジュール、ユニット、セット、デバイス、装置、またはシステム等により構成されるようにしてもよい。また、それらを複数組み合わせるようにしてもよい。例えば、複数の回路、複数のプロセッサ等のように同じ種類の構成を組み合わせるようにしてもよいし、回路とLSI等のように異なる種類の構成を組み合わせるようにしてもよい。 Further, for example, each of the processing units described above may be realized by any configuration as long as it has the functions described for the processing unit. For example, any processing unit may be configured by any circuit, LSI (Large Scale Integration), system LSI, processor, module, unit, set, device, apparatus, system, or the like. Also, a plurality of them may be combined. For example, the same type of configuration such as multiple circuits and multiple processors may be combined, or different types of configuration such as a circuit and an LSI may be combined.

なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。 In this specification, a system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a single device housing a plurality of modules in one housing are both systems. .

また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。 Further, for example, the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). Conversely, the configuration described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit). Further, it is of course possible to add a configuration other than the above to the configuration of each device (or each processing unit). Furthermore, part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) as long as the configuration and operation of the system as a whole are substantially the same. .

また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。 In addition, for example, the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and processed jointly.

また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。 Also, for example, the above-described program can be executed in any device. In that case, the device should have the necessary functions (functional blocks, etc.) and be able to obtain the necessary information.

また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。 Further, for example, each step described in the flowchart above can be executed by one device, or can be shared by a plurality of devices and executed. Furthermore, when one step includes a plurality of processes, the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices. In other words, a plurality of processes included in one step can also be executed as processes of a plurality of steps. Conversely, the processing described as multiple steps can also be collectively executed as one step.

コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。 A computer-executed program may be such that the processing of the steps described in the program is executed in chronological order according to the order described herein, in parallel, when called, etc. may be executed individually at required timings. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the order described above. Furthermore, the processing of the steps describing this program may be executed in parallel with the processing of other programs, or may be executed in combination with the processing of other programs.

本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。 Each of the techniques described in this specification can be implemented independently and singly unless inconsistent. Of course, it is also possible to use any number of the present techniques in combination. For example, part or all of the present technology described in any embodiment can be combined with part or all of the present technology described in other embodiments. Also, part or all of any of the techniques described above may be implemented in conjunction with other techniques not described above.

なお、本技術は以下のような構成も取ることができる。
(1) 復号に用いる複数の情報を互いに異なる領域に記憶し、前記復号の検査行列の列方向のシフトに対応するように、前記情報を記憶する領域を前記復号に関する演算に応じてシフトさせる記憶部と、
前記記憶部の所定の領域より前記情報を読み出し、前記復号に関する演算により更新された前記情報を、前記検査行列の行方向のシフトに対応するように並べ替え、前記記憶部の所定の領域に書き込む更新部と、
前記更新部により前記記憶部より読み出された前記情報を用いて前記復号に関する演算を行い、前記情報を更新する演算部と
を備える情報処理装置。
(2) 前記記憶部は、前記情報を記憶する領域を巡回的にシフトする
(1)に記載の情報処理装置。
(3) 前記記憶部は、ループ状に接続される、それぞれが前記情報を記憶する複数のバッファセルを有し、前記情報を次のバッファセルに移動させることにより、前記情報を記憶する領域を巡回的にシフトする
(2)に記載の情報処理装置。
(4) 前記情報は、外部から入力された受信情報と、前記復号に関する演算により得られる中間情報であり、
前記記憶部は、前記受信情報を巡回的にシフトさせるバッファセルのループと、前記中間情報を巡回的にシフトさせるバッファセルのループを有する
(1)乃至(3)のいずれかに記載の情報処理装置。
(5) 前記更新部は、前記記憶部の、前記検査行列の列方向の非ゼロ係数の位置に対応する領域より前記情報を読み出す
(1)乃至(4)のいずれかに記載の情報処理装置。
(6) 前記更新部は、更新され並べ替えた前記情報を、前記記憶部の、前記情報を読み出した領域の次の領域に書き込む
(1)乃至(5)のいずれかに記載の情報処理装置。
(7) 前記演算部は、
前記記憶部より読み出された前記情報を用いてチェックノード演算を行うチェックノード演算部と、
前記チェックノード演算部により得られるチェックノード演算結果を用いてバリアブルノード演算を行うバリアブルノード演算部と、
前記バリアブルノード演算部により得られるバリアブルノード演算結果を更新する情報更新部と
を備える(1)乃至(6)のいずれかに記載の情報処理装置。
(8) 前記演算部は、さらに、前記バリアブルノード演算結果に基づいて誤りの発生を判定する判定部をさらに備える
(7)に記載の情報処理装置。
(9) 前記チェックノード演算部は、Gallager関数を用いて前記チェックノード演算を行う
(7)または(8)に記載の情報処理装置。
(10) 前記チェックノード演算部は、Min-Sumアルゴリズムを用いて前記チェックノード演算を行う
(7)または(8)に記載の情報処理装置。
(11) 前記チェックノード演算部は、Normalized Min-Sumアルゴリズムを用いて前記チェックノード演算を行う
(7)または(8)に記載の情報処理装置。
(12) 前記チェックノード演算部は、Offset Min-Sumアルゴリズムを用いて前記チェックノード演算を行う
(7)または(8)に記載の情報処理装置。
(13) 前記演算部は、BP(Belief Propagation)復号に関する演算を行う
(1)乃至(12)のいずれかに記載の情報処理装置。
(14) 前記演算部は、Shuffled BP(Belief Propagation)復号に関する演算を行う
(1)乃至(12)のいずれかに記載の情報処理装置。
(15) 復号に用いる複数の情報を記憶部の互いに異なる領域に記憶し、前記復号の検査行列の列方向のシフトに対応するように、前記情報を記憶する領域を前記復号に関する演算に応じてシフトさせ、
前記記憶部の所定の領域より前記情報を読み出し、
前記記憶部より読み出された前記情報を用いて前記復号に関する演算を行い、前記情報を更新し、
更新された前記情報を、前記検査行列の行方向のシフトに対応するように並べ替え、前記記憶部の所定の領域に書き込む
情報処理方法。
Note that the present technology can also take the following configuration.
(1) Storage in which a plurality of pieces of information used for decoding are stored in different areas, and the area for storing the information is shifted in accordance with the computation related to the decoding so as to correspond to the shift in the column direction of the parity check matrix for the decoding. Department and
The information is read out from a predetermined area of the storage unit, the information updated by the decoding operation is rearranged so as to correspond to the shift in the row direction of the parity check matrix, and the information is written in a predetermined area of the storage unit. update department;
An information processing apparatus comprising: an arithmetic unit that performs arithmetic operations related to the decoding using the information read from the storage unit by the update unit, and updates the information.
(2) The information processing apparatus according to (1), wherein the storage unit cyclically shifts the area for storing the information.
(3) The storage unit has a plurality of buffer cells each storing the information, connected in a loop, and by moving the information to the next buffer cell, the area for storing the information is expanded. The information processing device according to (2), which shifts cyclically.
(4) the information is received information input from the outside and intermediate information obtained by calculation related to the decoding;
The information processing according to any one of (1) to (3), wherein the storage unit has a loop of buffer cells for cyclically shifting the received information and a loop of buffer cells for cyclically shifting the intermediate information. Device.
(5) The information processing device according to any one of (1) to (4), wherein the update unit reads the information from an area of the storage unit corresponding to the position of the non-zero coefficient in the column direction of the parity check matrix. .
(6) The information processing device according to any one of (1) to (5), wherein the update unit writes the updated and rearranged information to an area next to the area from which the information was read, in the storage unit. .
(7) The computing unit
a check node calculation unit that performs check node calculation using the information read from the storage unit;
a variable node computation unit that performs variable node computation using the check node computation result obtained by the check node computation unit;
The information processing apparatus according to any one of (1) to (6), further comprising: an information update unit that updates the variable node calculation result obtained by the variable node calculation unit.
(8) The information processing apparatus according to (7), wherein the calculation unit further includes a determination unit that determines occurrence of an error based on the variable node calculation result.
(9) The information processing device according to (7) or (8), wherein the check node calculation unit performs the check node calculation using a Gallager function.
(10) The information processing apparatus according to (7) or (8), wherein the check node calculation unit performs the check node calculation using a Min-Sum algorithm.
(11) The information processing device according to (7) or (8), wherein the check node calculation unit performs the check node calculation using a Normalized Min-Sum algorithm.
(12) The information processing device according to (7) or (8), wherein the check node calculation unit performs the check node calculation using an Offset Min-Sum algorithm.
(13) The information processing device according to any one of (1) to (12), wherein the calculation unit performs calculation related to BP (Belief Propagation) decoding.
(14) The information processing device according to any one of (1) to (12), wherein the calculation unit performs calculations related to Shuffled BP (Belief Propagation) decoding.
(15) Storing a plurality of pieces of information used for decoding in different regions of a storage unit, and storing the regions for storing the information in accordance with the arithmetic operations related to the decoding so as to correspond to the shift in the column direction of the parity check matrix for the decoding. shift the
reading the information from a predetermined area of the storage unit;
performing calculations related to the decoding using the information read from the storage unit, and updating the information;
An information processing method, wherein the updated information is rearranged so as to correspond to the shift in the row direction of the parity check matrix, and the updated information is written in a predetermined area of the storage unit.

200 BP復号装置, 211 シフトバッファ, 212 演算部, 213 繰り返し制御部, 221 選択部, 222および223 バッファセル, 231 選択部, 232 バッファ, 233 選択部, 234 バッファ, 235 選択部, 236 チェックノード演算部, 237 バリアブルノード演算部, 238 情報更新部, 239 判定部, 700 受信装置, 711 アンテナ, 712 チューナ, 713 復調部, 714 誤り訂正部, 715 デコーダ, 716 出力部, 800 テレビジョン装置, 802 受信部, 900 コンピュータ 200 BP decoder, 211 shift buffer, 212 operation unit, 213 repetition control unit, 221 selection unit, 222 and 223 buffer cells, 231 selection unit, 232 buffer, 233 selection unit, 234 buffer, 235 selection unit, 236 check node operation Section 237 Variable Node Calculation Section 238 Information Update Section 239 Judgment Section 700 Reception Device 711 Antenna 712 Tuner 713 Demodulation Section 714 Error Correction Section 715 Decoder 716 Output Section 800 Television Device 802 Reception Dept. 900 Computer

Claims (15)

復号に用いる複数の情報を互いに異なる領域に記憶し、前記復号の検査行列の列方向のシフトに対応するように、前記情報を記憶する領域を前記復号に関する演算に応じてシフトさせる記憶部と、
前記記憶部の所定の領域より前記情報を読み出し、前記復号に関する演算により更新された前記情報を、前記検査行列の行方向のシフトに対応するように並べ替え、前記記憶部の所定の領域に書き込む更新部と、
前記更新部により前記記憶部より読み出された前記情報を用いて前記復号に関する演算を行い、前記情報を更新する演算部と
を備える情報処理装置。
a storage unit that stores a plurality of pieces of information used for decoding in mutually different regions, and shifts the region for storing the information according to the computation related to the decoding so as to correspond to the shift in the column direction of the parity check matrix for the decoding;
The information is read out from a predetermined area of the storage unit, the information updated by the decoding operation is rearranged so as to correspond to the shift in the row direction of the parity check matrix, and the information is written in a predetermined area of the storage unit. update department;
An information processing apparatus comprising: an arithmetic unit that performs arithmetic operations related to the decoding using the information read from the storage unit by the update unit, and updates the information.
前記記憶部は、前記情報を記憶する領域を巡回的にシフトする
請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the storage unit cyclically shifts the area for storing the information.
前記記憶部は、ループ状に接続される、それぞれが前記情報を記憶する複数のバッファセルを有し、前記情報を次のバッファセルに移動させることにより、前記情報を記憶する領域を巡回的にシフトする
請求項2に記載の情報処理装置。
The storage unit has a plurality of buffer cells each storing the information, which are connected in a loop, and the area for storing the information is cyclically changed by moving the information to the next buffer cell. The information processing apparatus according to claim 2, wherein the shift is performed.
前記情報は、外部から入力された受信情報と、前記復号に関する演算により得られる中間情報であり、
前記記憶部は、前記受信情報を巡回的にシフトさせるバッファセルのループと、前記中間情報を巡回的にシフトさせるバッファセルのループを有する
請求項1に記載の情報処理装置。
The information is received information input from the outside and intermediate information obtained by calculation related to the decoding,
The information processing apparatus according to claim 1, wherein the storage unit has a loop of buffer cells for cyclically shifting the received information and a loop of buffer cells for cyclically shifting the intermediate information.
前記更新部は、前記記憶部の、前記検査行列の列方向の非ゼロ係数の位置に対応する領域より前記情報を読み出す
請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the updating unit reads the information from a region of the storage unit corresponding to positions of non-zero coefficients in the column direction of the parity check matrix.
前記更新部は、更新され並べ替えた前記情報を、前記記憶部の、前記情報を読み出した領域の次の領域に書き込む
請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the update unit writes the updated and rearranged information to an area next to the area from which the information was read, of the storage unit.
前記演算部は、
前記記憶部より読み出された前記情報を用いてチェックノード演算を行うチェックノード演算部と、
前記チェックノード演算部により得られるチェックノード演算結果を用いてバリアブルノード演算を行うバリアブルノード演算部と、
前記バリアブルノード演算部により得られるバリアブルノード演算結果を更新する情報更新部と
を備える請求項1に記載の情報処理装置。
The calculation unit is
a check node calculation unit that performs check node calculation using the information read from the storage unit;
a variable node computation unit that performs variable node computation using the check node computation result obtained by the check node computation unit;
The information processing apparatus according to claim 1, further comprising an information updating unit that updates the variable node calculation result obtained by the variable node calculation unit.
前記演算部は、さらに、前記バリアブルノード演算結果に基づいて誤りの発生を判定する判定部をさらに備える
請求項7に記載の情報処理装置。
8. The information processing apparatus according to claim 7, wherein said calculation unit further comprises a determination unit that determines occurrence of an error based on said variable node calculation result.
前記チェックノード演算部は、Gallager関数を用いて前記チェックノード演算を行う
請求項7に記載の情報処理装置。
The information processing apparatus according to claim 7, wherein the check node calculation unit performs the check node calculation using a Gallager function.
前記チェックノード演算部は、Min-Sumアルゴリズムを用いて前記チェックノード演算を行う
請求項7に記載の情報処理装置。
The information processing apparatus according to claim 7, wherein the check node calculation unit performs the check node calculation using a Min-Sum algorithm.
前記チェックノード演算部は、Normalized Min-Sumアルゴリズムを用いて前記チェックノード演算を行う
請求項7に記載の情報処理装置。
The information processing apparatus according to claim 7, wherein the check node calculation unit performs the check node calculation using a Normalized Min-Sum algorithm.
前記チェックノード演算部は、Offset Min-Sumアルゴリズムを用いて前記チェックノード演算を行う
請求項7に記載の情報処理装置。
The information processing apparatus according to claim 7, wherein the check node calculation unit performs the check node calculation using an Offset Min-Sum algorithm.
前記演算部は、BP(Belief Propagation)復号に関する演算を行う
請求項1に記載の情報処理装置。
The information processing device according to claim 1, wherein the computation unit performs computation related to BP (Belief Propagation) decoding.
前記演算部は、Shuffled BP(Belief Propagation)復号に関する演算を行う
請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the calculation unit performs calculations related to Shuffled BP (Belief Propagation) decoding.
復号に用いる複数の情報を記憶部の互いに異なる領域に記憶し、前記復号の検査行列の列方向のシフトに対応するように、前記情報を記憶する領域を前記復号に関する演算に応じてシフトさせ、
前記記憶部の所定の領域より前記情報を読み出し、
前記記憶部より読み出された前記情報を用いて前記復号に関する演算を行い、前記情報を更新し、
更新された前記情報を、前記検査行列の行方向のシフトに対応するように並べ替え、前記記憶部の所定の領域に書き込む
情報処理方法。
storing a plurality of pieces of information to be used for decoding in different regions of a storage unit, and shifting the region for storing the information according to the computation related to the decoding so as to correspond to the shift in the column direction of the parity check matrix for the decoding;
reading the information from a predetermined area of the storage unit;
performing calculations related to the decoding using the information read from the storage unit, and updating the information;
An information processing method, wherein the updated information is rearranged so as to correspond to the shift in the row direction of the parity check matrix, and the updated information is written in a predetermined area of the storage unit.
JP2019526766A 2017-06-26 2018-06-12 Information processing device and method Active JP7110191B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017124001 2017-06-26
JP2017124001 2017-06-26
PCT/JP2018/022302 WO2019003888A1 (en) 2017-06-26 2018-06-12 INFORMATION PROCESSING APPARATUS AND METHOD

Publications (2)

Publication Number Publication Date
JPWO2019003888A1 JPWO2019003888A1 (en) 2020-04-23
JP7110191B2 true JP7110191B2 (en) 2022-08-01

Family

ID=64740639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019526766A Active JP7110191B2 (en) 2017-06-26 2018-06-12 Information processing device and method

Country Status (3)

Country Link
JP (1) JP7110191B2 (en)
BR (1) BR112019027216A2 (en)
WO (1) WO2019003888A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009260692A (en) 2008-04-17 2009-11-05 Pioneer Electronic Corp Decoding apparatus and decoding method
US20110126078A1 (en) 2009-11-23 2011-05-26 Yeong-Luh Ueng Decoder and decoding method for low-density parity check codes constructed based on reed-solomon codes
JP2011205578A (en) 2010-03-26 2011-10-13 Toshiba Corp Error detection/correction circuit, memory controller and semiconductor memory device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009260692A (en) 2008-04-17 2009-11-05 Pioneer Electronic Corp Decoding apparatus and decoding method
US20110126078A1 (en) 2009-11-23 2011-05-26 Yeong-Luh Ueng Decoder and decoding method for low-density parity check codes constructed based on reed-solomon codes
JP2011205578A (en) 2010-03-26 2011-10-13 Toshiba Corp Error detection/correction circuit, memory controller and semiconductor memory device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MIYATA,Yoshikuni et al.,Reduced-Complexity Decoding Algorithm for LDPC Codes for Practical Circuit Implementation in Optical,OFC/NFOEC 2007,2007年10月15日,pp.1-3

Also Published As

Publication number Publication date
JPWO2019003888A1 (en) 2020-04-23
WO2019003888A1 (en) 2019-01-03
BR112019027216A2 (en) 2020-06-30

Similar Documents

Publication Publication Date Title
US11368168B2 (en) Low density parity check decoder
JP5320964B2 (en) Cyclic shift device, cyclic shift method, LDPC decoding device, television receiver, and reception system
US9544090B2 (en) Hard input low density parity check decoder
US11424762B2 (en) Decoder for low-density parity-check codes
US7376885B2 (en) Memory efficient LDPC decoding methods and apparatus
US8078936B2 (en) Encoding method, encoding apparatus, and program
BRPI0711499B1 (en) interleaver and receiver equipment for a signal generated by the interleaver equipment
WO2011029362A1 (en) Configuration method of ldpc code check matrix and encoding method and encoding apparatus based on the configuration method
US10374633B2 (en) Method and system for LDPC decoding
US7966544B2 (en) Loading the input memory of an LDPC decoder with data for decoding
Zhang et al. Low-complexity reliability-based message-passing decoder architectures for non-binary LDPC codes
US8504892B2 (en) LDPC decoder and method for LDPC decoding based on layered algorithm applied to parity check matrix
Lin et al. An efficient fully parallel decoder architecture for nonbinary LDPC codes
US8775915B2 (en) Apparatus and method for a dual mode standard and layered belief propagation LDPC decoder
JP7110191B2 (en) Information processing device and method
Ajaz et al. Multi-Gb/s multi-mode LDPC decoder architecture for IEEE 802.11 ad standard
TW201216624A (en) Systems and methods for error correction
Zhang et al. Low complexity DVB-S2 LDPC decoder
JP2007036776A (en) Decoding device and decoding method
CN101322319B (en) Apparatus and method for decoding low-density parity-check encoded signals
US20070094565A1 (en) Decoding of multiple data streams encoded using a block coding algorithm
Wu et al. A 128 Gb/s LDPC decoder using partial syndrome-based dynamic decoding scheme for terahertz wireless multi-media networks
Jayanthi et al. An Energy Efficient Layered Decoding Architecture for LDPC Decoder
JP2009027302A (en) Decoding device and decoding method
趙雄心 Research on LDPC Decoder Design Methodology for Error-Correcting Performance and Energy-Efficiency

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210507

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: 20220621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220720

R150 Certificate of patent or registration of utility model

Ref document number: 7110191

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150