CN102171936B - 循环移位设备、循环移位方法、ldpc解码设备、电视接收机和接收系统 - Google Patents

循环移位设备、循环移位方法、ldpc解码设备、电视接收机和接收系统 Download PDF

Info

Publication number
CN102171936B
CN102171936B CN200980139184.7A CN200980139184A CN102171936B CN 102171936 B CN102171936 B CN 102171936B CN 200980139184 A CN200980139184 A CN 200980139184A CN 102171936 B CN102171936 B CN 102171936B
Authority
CN
China
Prior art keywords
data
cyclic shift
section
barrel shifter
shifted
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.)
Expired - Fee Related
Application number
CN200980139184.7A
Other languages
English (en)
Other versions
CN102171936A (zh
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 Corp
Original Assignee
Sony 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 Corp filed Critical Sony Corp
Publication of CN102171936A publication Critical patent/CN102171936A/zh
Application granted granted Critical
Publication of CN102171936B publication Critical patent/CN102171936B/zh
Expired - Fee Related 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/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/762Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1168Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6519Support of multiple transmission or communication standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices

Landscapes

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

Abstract

本发明涉及循环移位设备、循环移位方法、LDPC解码设备、电视接收机和接收系统,从而可以实现设备的小型化。在包括用于以M段输入数据为对象执行循环移位的桶形移位器61的循环移位设备33中,在将由小于M段输入数据的N段输入数据组成的并行数据循环移位小于N的移位量k的情况中,选择电路62选择由桶形移位器62输出的第一至第N-k个移位数据#1至#N-k并输出为第一至第N-k个输出数据#1至#N-k,并且选择由桶形移位器62输出的第N-k+1+(M-N)至第N+(M-N)个移位数据#M-k+1至#M并输出为第N-k+1至第N个输出数据#N-k+1至#N。本发明可被应用于执行循环移位的情况。

Description

循环移位设备、循环移位方法、LDPC解码设备、电视接收机和接收系统
技术领域
本发明涉及循环移位设备、循环移位方法、LDPC解码设备、电视接收机和接收系统,并且具体地涉及可用于实现设备的小型化的循环移位设备、循环移位方法、LDPC解码设备、电视接收机和接收系统。
背景技术
存在用作循环移位设备的桶形移位器,其是用于执行循环移位(旋转)以循环地移位由多段数据组成的并行数据的硬件。
现在,组成作为循环移位对象的并行数据的数据将被称为输入数据,并且由桶形移位器通过循环地移位组成并行数据的多段数据而输出的数据将被称为移位数据。
例如,通过用于执行M(其是预定整数)个单位的循环移位的桶形移位器,作为M段输入数据#1,2,...,#M的并行数据被循环地移位从外部等指定的移位量k,并且作为其循环移位的结果,M段移位数据#1,2,...,#M被输出。
具体地,现在,如果我们假设在桶形移位器中,在输入数据#1,2,...,#M的排头的方向上执行循环移位,则根据移位量为k的循环移位,输入数据#k+1,...,#M,1,2,...,#k被输出为移位数据#1,2,...,#M。
如上所述的循环移位例如是LDPC(低密度奇偶校验)码的解码(例如,参见PTL 1)、可变长度解码等所需要的。
此外,在输入数据#m为1比特的情况下,根据循环移位,可以以M-比特数据作为对象来执行诸如乘法之类的比特运算以及其它运算。
引用列表
专利文献
PTL 1:日本未实审专利申请公报No.2004-343170
发明内容
技术问题
如上所述,在对M段输入数据#1至#M执行循环移位的情况中,需要用于执行M个单位的循环移位的桶形移位器(下面也称为“M个单位的桶形移位器”)。
因此,在对N段输入数据#1,2,...,#N(N段不同于M段)执行循环移位的情况中,需要N个单位的桶形移位器。
如上所述,在对M段输入数据#1至#M执行循环移位(下面也称为“M个单位的循环移位”)以及在对N段输入数据#1至#N执行循环移位的情况中,需要不同的桶形移位器。因此,为了执行M段输入数据#1至#M的循环移位和N段输入数据#1至#N的循环移位两者,循环移位设备需要由M个单位的桶形移位器和N个单位的桶形移位器构成,因此,设备的大小增加。
本发明是鉴于这样的情形作出的,并且其一个目的是实现设备的小型化。
问题的解决方案
作为本发明第一方面的循环移位设备或循环移位方法是这样的循环移位设备或循环移位方法,其中,循环移位设备包括:桶形移位器,被配置为执行用于对由M段输入数据组成的并行数据进行循环移位的M个单位的循环移位,以输出M段移位数据;和选择电路,被配置为选择由桶形移位器输出的M段移位数据,作为通过循环移位M段输入数据而获得的M段输出数据;在将由小于M段输入数据的N段输入数据组成的并行数据循环移位小于N的移位量k的情况中,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第N-k个移位数据并输出为第一至第N-k个输出数据,并且选择在桶形移位器执行循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据并输出为第N-k+1至第N个输出数据。
在如上的第一方面中,桶形移位器执行用于对由M段输入数据组成的并行数据进行循环移位的M个单位的循环移位,以输出M段移位数据,并且选择电路选择由桶形移位器输出的M段移位数据,作为通过循环移位M段输入数据而获得的M段输出数据。在将由小于M段输入数据的N段输入数据组成的并行数据循环移位小于N的移位量k的情况中,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第N-k个移位数据并输出为第一至第N-k个输出数据,并且选择在桶形移位器执行循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据并输出为第N-k+1至第N个输出数据。
作为本发明第二方面的LDPC解码设备是这样的LDPC解码设备,其包括:M个计算装置,被配置为对于Q个节点,同时执行用于对LDPC(低密度奇偶校验)码进行解码的检查节点(check node)的计算和可变节点(variable node)的计算,其中,M等于或大于Q;以及循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;其中,循环移位装置包括桶形移位器,被配置为执行用于对由M段输入数据组成的并行数据进行循环移位的M个单位的循环移位,以输出M段移位数据,以及选择电路,被配置为选择由桶形移位器输出的M段移位数据,作为通过循环移位M段输入数据而获得的M段输出数据;在Q等于M,计算装置输出M个消息,并且M个消息作为M段输入数据,由M段输入数据组成的并行数据被循环移位的情况下,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第M个移位数据并且输出为第一至第M个输出数据;在Q与小于M的N相等,计算设备输出N个消息,并且N个消息作为N段输入数据,N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第N-k个移位数据并且输出为第一至第N-k个输出数据,并且选择在桶形移位器执行循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据并输出为第N-k+1至第N个输出数据。
作为本发明第三方面的电视接收机是这样的电视接收机,其包括:获取装置,被配置为获取发送数据,发送数据包括通过使节目的数据至少经过LDPC(低密度奇偶校验)编码而获得的LDPC码;以及LDPC解码装置,被配置为对包括在发送数据中的LDPC码进行解码;其中,LDPC解码装置包括:M个计算装置,被配置为对于Q个节点,同时执行用于对LDPC码进行解码的检查节点的计算和可变节点的计算,其中,M等于或大于Q,以及循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;其中,循环移位装置包括:桶形移位器,被配置为执行用于对由M段输入数据组成的并行数据进行循环移位的M个单位的循环移位,以输出M段移位数据,以及选择电路,被配置为选择由桶形移位器输出的M段移位数据,作为通过循环移位M段输入数据而获得的M段输出数据;在Q等于M,计算装置输出M个消息,并且M个消息作为M段输入数据,由M段输入数据组成的并行数据被循环移位的情况下,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第M个移位数据并且输出为第一至第M个输出数据;在Q与小于M的N相等,计算设备输出N个消息,并且N个消息作为N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第N-k个移位数据并且输出为第一至第N-k个输出数据,并且选择在桶形移位器执行循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据并输出为第N-k+1至第N个输出数据。
作为本发明第四方面的接收系统是这样的接收系统,其包括:传输路径解码处理单元,被配置为使经由传输路径获得的信号经过传输路径解码处理,该传输路径解码处理至少包括用于校正在传输路径中导致的错误的处理;以及信息源解码处理单元,被配置为使经过了传输路径解码处理的信号经过信息源解码处理,该信息源解码处理至少包括用于对压缩信息进行解压缩以获得原始信息的处理;其中,经由传输路径获得的信号是通过至少执行用于压缩信息的压缩编码以及用于校正在传输路径中导致的错误的纠错编码而获得的信号;并且其中,纠错编码包括LDPC(低密度奇偶校验)编码;并且其中,传输路径解码处理单元包括:M个计算装置,被配置为对于Q个节点,同时执行用于对LDPC码进行解码的检查节点的计算和可变节点的计算,其中,M等于或大于Q,以及循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;并且其中,循环移位装置包括:桶形移位器,被配置为执行用于对由M段输入数据组成的并行数据进行循环移位的M个单位的循环移位,以输出M段移位数据,以及选择电路,被配置为选择由桶形移位器输出的M段移位数据,作为通过循环移位M段输入数据而获得的M段输出数据;并且其中,在Q等于M,计算装置输出M个消息,并且M个消息作为M段输入数据,由M段输入数据组成的并行数据被循环移位的情况下,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第M个移位数据并且输出为第一至第M个输出数据;并且其中,在Q与小于M的N相等,计算设备输出N个消息,并且N段消息作为N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第N-k个移位数据并且输出为第一至第N-k个输出数据,并且选择在桶形移位器执行循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据并输出为第N-k+1至第N个输出数据。
作为本发明第五方面的接收系统是这样的接收系统,其包括:传输路径解码处理单元,被配置为使经由传输路径获得的信号经过传输路径解码处理,该传输路径解码处理至少包括用于校正在传输路径中导致的错误的处理;以及输出单元,被配置为基于经过了传输路径解码处理的信号来输出图像或音频;其中,经由传输路径获得的信号是通过至少执行用于校正在传输路径中导致的错误的纠错编码而获得的信号;并且其中,纠错编码包括LDPC(低密度奇偶校验)编码;并且其中,传输路径解码处理单元包括:M个计算装置,被配置为对于Q个节点,同时执行用于对LDPC码进行解码的检查节点的计算和可变节点的计算,其中,M等于或大于Q,以及循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;并且其中,循环移位装置包括:桶形移位器,被配置为执行用于对由M段输入数据组成的并行数据进行循环移位的M个单位的循环移位,以输出M段移位数据,以及选择电路,被配置为选择由桶形移位器输出的M段移位数据,作为通过循环移位M段输入数据而获得的M段输出数据;并且其中,在Q等于M,计算装置输出M个消息,并且M个消息作为M段输入数据,由M段输入数据组成的并行数据被循环移位的情况下,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第M个移位数据并且输出为第一至第M个输出数据;并且其中,在Q与小于M的N相等,计算设备输出N个消息,并且N段消息作为N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第N-k个移位数据并且输出为第一至第N-k个输出数据,并且选择在桶形移位器执行循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据并输出为第N-k+1至第N个输出数据。
作为本发明第六方面的接收系统是这样的接收系统,其包括:传输路径解码处理单元,被配置为使经由传输路径获得的信号经过传输路径解码处理,该传输路径解码处理至少包括用于校正在传输路径中导致的错误的处理;以及记录单元,被配置为记录经过了传输路径解码处理的信号;其中,经由传输路径获得的信号是通过至少执行用于校正在传输路径中导致的错误的纠错编码而获得的信号;并且其中,纠错编码包括LDPC(低密度奇偶校验)编码;并且其中,传输路径解码处理单元包括:M个计算装置,被配置为对于Q个节点,同时执行用于对LDPC码进行解码的检查节点的计算和可变节点的计算,其中,M等于或大于Q,以及循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;并且其中,循环移位装置包括:桶形移位器,被配置为执行用于对由M段输入数据组成的并行数据进行循环移位的M个单位的循环移位,以输出M段移位数据,以及选择电路,被配置为选择由桶形移位器输出的M段移位数据,作为通过循环移位M段输入数据而获得的M段输出数据;并且其中,在Q等于M,计算装置输出M个消息,并且在M个消息作为M段输入数据,由M段输入数据组成的并行数据被循环移位的情况下,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第M个移位数据并且输出为第一至第M个输出数据;并且其中,在Q与小于M的N相等,计算设备输出N个消息,并且N段消息作为N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第N-k个移位数据并且输出为第一至第N-k个输出数据,并且选择在桶形移位器执行循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据并输出为第N-k+1至第N个输出数据。
作为本发明第七方面的接收系统是这样的接收系统,其包括:获取装置,被配置为经由传输路径获取信号;以及传输路径解码处理单元,被配置为使经由传输路径获得的信号经过传输路径解码处理,该传输路径解码处理至少包括用于校正在传输路径中导致的错误的处理;其中,经由传输路径获得的信号是通过至少执行用于校正在传输路径中导致的错误的纠错编码而获得的信号;并且其中,纠错编码包括:LDPC(低密度奇偶校验)编码;并且其中,传输路径解码处理单元包括M个计算装置,被配置为对于Q个节点,同时执行用于对LDPC码进行解码的检查节点的计算和可变节点的计算,其中,M等于或大于Q,以及循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;并且其中,循环移位装置包括:桶形移位器,被配置为执行用于对由M段输入数据组成的并行数据进行循环移位的M个单位的循环移位,以输出M段移位数据,以及选择电路,被配置为选择由桶形移位器输出的M段移位数据,作为通过循环移位M段输入数据而获得的M段输出数据;并且其中,在Q等于M,计算装置输出M个消息,并且M个消息作为M段输入数据,由M段输入数据组成的并行数据被循环移位的情况下,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第M个移位数据并且输出为第一至第M个输出数据;并且其中,在Q与小于M的N相等,计算设备输出N个消息,并且N段消息作为N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,选择电路选择在桶形移位器执行循环移位的方向上从排头起的第一至第N-k个移位数据并且输出为第一至第N-k个输出数据,并且选择在桶形移位器执行循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据并输出为第N-k+1至第N个输出数据。
在如上的第二至第七方面中,在Q等于M,计算装置输出M个消息,并且M个消息作为M段输入数据,由M段输入数据组成的并行数据被循环移位的情况下,在选择电路处,在桶形移位器执行循环移位的方向上从排头起的第一至第M个移位数据被选择并被输出为第一至第M个输出数据。在Q与小于M的N相等,计算设备输出N个消息,并且N段消息作为N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,在选择电路中,在桶形移位器执行循环移位的方向上从排头起的第一至第N-k个移位数据被选择并被输出为第一至第N-k个输出数据,并且在桶形移位器执行循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据被选择并被输出为第N-k+1至第N个输出数据。
本发明的有益效果
根据本发明的第一至第七方面,可以实现设备的小型化。
附图说明
图1是应用了本发明的TV的实施例的配置示例的框图。
图2是用于描述LDPC解码的示图。
图3是图示出内置于解调单元12中的LDPC解码设备的配置示例的框图。
图4是图示出LDPC码的奇偶校验矩阵的示例的示图。
图5是用于描述需要对通过节点计算获得的消息进行循环移位的原因的示图。
图6是用于描述DVB-S2和高级BS的规范的示图。
图7是图示出循环移位设备33的第一配置示例的框图。
图8是图示出循环移位设备33的第二配置示例的框图。
图9是图示出桶形移位器61的配置示例的框图。
图10是图示出在八个单位的桶形移位器61处执行的对六段输入数据#1至#6的循环移位的示例的示图。
图11是图示出在八个单位的桶形移位器61处执行的对六段输入数据#1至#6的循环移位的另一示例的示图。
图12是图示出选择电路62的配置示例的框图。
图13是图示出转换表的示图。
图14是图示出M为8并且N为6的情况中的选择电路62的配置示例的框图。
图15是图示出N为6的情况中的转换表的示图。
图16是用于描述循环移位设备33执行的循环移位处理的流程图。
图17是图示出循环移位设备33的第三配置示例的框图。
图18是图示出选择电路102的配置示例的框图。
图19是图示出M为8并且N1,N2和N3分别为6,5和4的情况中的选择电路102的配置示例的框图。
图20是图示出N为6并且N1,N2和N3分别为6,5和4的情况中的转换表的示图。
图21是图示出P×P的配置矩阵以及通过划分该配置矩阵而获得的P′×P′的配置矩阵的示图。
图22是图示出应用了本发明的接收系统的第一实施例的配置示例的框图。
图23是图示出应用了本发明的接收系统的第二实施例的配置示例的框图。
图24是图示出应用了本发明的接收系统的第三实施例的配置示例的框图。
具体实施方式
图1是应用了本发明的TV(电视接收机)的实施例的配置示例的框图。
在图1中,该TV由获取单元11、解调单元12、解复用器13、解码器14、显示单元15等构成。
获取单元11获取包括LDPC码的发送数据,并提供给解调单元12,该LDPC码是通过使节目的数据至少经过LDPC(低密度奇偶校验)编码而获得的。
即是说,发送数据被布置为在未示出的广播电台或web服务器处被发送,并且获取单元11获取其发送数据。
现在,在发送数据从广播电台例如经由陆地广播、卫星波、CATV(有线电视)网络等被广播的情况中,获取单元11由调谐器、STB(机顶盒)等构成。此外,在发送数据例如从诸如IPTV(因特网协议电视)之类的web服务器通过多播被发送的情况中,获取单元11例如由诸如NIC(网络接口卡)等之类的网络I/F(接口)构成。
解调单元12使来自获取单元11的发送数据经过诸如解调等的必要处理。这里,如上所述,发送数据包括通过使节目的数据至少经过LDPC编码而获得的LDPC码,因此,在解调单元12处执行的必要处理包括由于解码LDPC码的处理。
解调单元12使来自获取单元11的发送数据经过诸如解调等的必要处理,例如以获得TS(传输流),并且将该TS提供给解复用器13。
解复用器13从来自解调单元12的TS中提取例如TS分组,并且提供给解码器14,在TS分组中布置有用作用户选择的节目的数据的图像数据和音频数据。
解码器14例如使布置在来自解复用器13的TS分组中的图像数据和音频数据经过MPEG(运动图像专家组)解码。作为解码器14处的MPEG解码的结果而获得的图像数据被提供给显示单元15,并且音频数据被提供给未示出的扬声器,且对应的音频被输出。
显示单元15例如由液晶面板或有机EL(电致发光)面板等构成,并且显示与来自解码器14的图像数据相对应的图像。
接下来,将参考图2描述在图1的解调单元12处对LDPC码执行的解码。
LDPC码的解码(LDPC解码)是由Gallager命名作为概率解码的算法,并且可以根据我们可以称为Tanner图的图上的概率传播(置信传播)通过消息传递算法来执行,Tanner图由可变节点(也称为“消息节点”)和检查节点组成的。现在,在下面,可变节点和检查节点将被简称为节点。
现在,一个码长的LDPC码的每个码的所接收值将被表示为u0i,从检查节点输出的消息(检查节点消息)将被表示为uj,并且从可变节点输出的消息(可变节点消息)将被表示为vi
注意,所接收值u0i以及消息uj和vi是利用对数似然率来表达值的“0”(或“1”)似然性的实值。
此外,所接收值u0i和可变节点消息vi的下标i是表示LDPC码的奇偶校验矩阵(定义LDPC码的奇偶校验矩阵)的列的参数。此外,检查节点消息uj的下标j是表示LDPC码的奇偶校验矩阵的行的参数。
在LDPC解码中,可变节点消息vi是通过利用所接收值u0i和检查节点消息uj执行表达式(1)所示的对可变节点的计算(可变节点计算)而获得的。此外,检查节点消息uj是通过利用在表达式(1)中获得的可变节点消息vi来执行表达式(2)所示的对检查节点的计算(检查节点计算)而获得的。
[表达式1]
v i = u 0 i + Σ j = 1 d v - 1 u j . . . ( 1 )
[表达式2]
tanh ( u j 2 ) = Σ i = 1 d c - 1 tanh ( v i 2 ) . . . ( 2 )
这里,用于表达式(1)的可变节点计算的检查节点消息uj在一个码长的LDPC码的LDPC解码开始时被初始化为“0”。
此外,表达式(1)和表达式(2)中的dv和dc是分别指示与奇偶校验矩阵的垂直方向和水平方向上的分支相当的“1”的数目(权重)的任意可选参数,并且例如,在(3,6)码的情况中,dv=3和dc=6成立。
此外,在表达式(1)的可变节点计算中,从将输出消息(可变节点消息)的分支(边)输入的消息(检查节点消息)不被用作求和运算(表达式(1)中的∑)的对象,因此,求和运算的范围在1至dv-1中。
类似地,在表达式(2)的检查节点计算中,从将输出消息(检查节点消息)的分支(边)输入的消息(可变节点消息)不被用作乘积运算(表达式(2)中的∏)的对象,因此,该乘积运算的范围在1至dc-1中。
表达式(2)所示的检查节点计算可以通过预先创建表达式(3)所示的函数R(v1,v2)的表格,并且如表达式(4)所示连续地(递归地)使用它来执行,表达式(3)返回针对输入v1和v2输出的1。
[表达式3]
x=2tanh-1{tanh(v1/2)tanh(v2/2)}=R(v1,v2)...(3)
[表达式4]
u j = R ( v 1 , R ( v 2 , R ( v 3 , · · · R ( v d c - 2 , v d c - 1 ) ) ) ) . . . ( 4 )
在LDPC解码中,重复解码被执行,其中,表达式(1)的可变节点计算和表达式(2)的检查节点计算(表达式(4))重复地被执行,并且当重复次数达到预定次数时,通过执行表达式(5)所示的计算来获得作为最终输出的解码结果的消息v。
[表达式5]
v i = u 0 i + Σ j = 1 d v u j . . . ( 5 )
这里,表达式(5)的计算不同于表达式(1)的可变节点计算,并且是利用来自与该可变节点相连的所有分支的检查节点消息uj来执行的。
图2中的A图示出了(3,6)LDPC码(码率1/2、码长12)的奇偶校验矩阵的示例。
LDPC码的奇偶校验矩阵可以利用Tanner图来表示。
图2中的B图示出了图2的A中的奇偶校验矩阵H的Tanner图。
在图2的B中,加号(“+”)表示检查节点,并且等号(“=”表示可变节点。
检查节点和可变节点分别于奇偶校验矩阵H的行和列相对应。检查节点和可变节点之间的线连接是分支(边),并且相当于奇偶校验矩阵H的“1”。
具体地,在奇偶校验矩阵H的第j行第i列的分量为1的情况中,在图2的B中,从顶部起的第i个可变节点(“=”的节点)与从顶部起的第j个检查节点(“+”的节点)通过边相连。边表示与可变节点相对应的代码比特具有与检查节点相对应的约束条件。
在作为LDPC解码算法之一的求和乘积算法中,如上所述,可变节点计算和检查节点计算重复地被执行。
图2中的C是用于描述如何在可变节点处获得可变节点消息的示图。
在可变节点中,与连接到该可变节点的某条边相对应的可变节点消息vi是利用来自连接到该可变节点的其余边的检查节点消息u1和u2以及所接收值u0i,根据表达式(1)获得的。与另一边相对应的可变节点消息以相同的方式被获得。
图2中的D是用于描述如何在检查节点处获得检查节点消息的示图。
可以用利用表达式a×b=exp{1n(|a|)+1n(|b|)}×sign(a)×sign(b)的关系的表达式(6)来重写表示检查节点计算的表达式(2)。注意,当x≥0时,sign(x)为1,并且当x<0时,sign(x)为-1。
[表达式6]
u j = 2 tan h - 1 ( Π i = 1 d c - 1 tanh ( v i 2 ) )
= 2 tanh - 1 [ exp { Σ i = 1 d c - 1 ln ( | tanh ( v i 2 ) | ) } × Π i = 1 d c - 1 sign ( tanh ( v i 2 ) ) ]
= 2 tan h - 1 [ exp { - ( Σ i = 1 d c - 1 - ln ( tanh ( | v i | 2 ) ) ) } ] × Π i = 1 d c - 1 sign ( v i ) . . . ( 6 )
在x≥0时,当Φ(x)=1n(tanh(x/2))被定义时,Φ-1(x)=2tanh-1(e-x)成立,因此用表达式(7)来表示表达式(6)。
[表达式7]
u j = φ - 1 ( Σ i = 1 d c - 1 φ ( | v i | ) ) × Π i = 1 d c - 1 sign ( v i ) . . . ( 7 )
在检查节点中,与连接到该检查节点的某条边相对应的检查节点消息uj是利用来自连接到该检查节点的其余边的可变节点消息v1,v2,v3,v4和v5,根据表达式(7)而获得的。与另一边相对应的检查节点消息也以相同方式来获得。
注意,函数Φ(x)也可表示为Φ(x)=1n((ex+1)/(ex-1)),其中,x>0时,Φ(x)=Φ-1(x)成立。在将函数Φ(x)和Φ-1(x)实现为硬件时,可以利用LUT(查找表)来实现,然而,函数Φ(x)和Φ-1(x)的LUT是同一LUT。
顺便提及,在采用一次一个节点地顺序地执行消息(检查节点消息、可变节点消息)的计算的完全串行解码(full serial decoding)来作为用于根据求和乘积算法执行LDPC解码的LDPC解码设备的实现方法的情况中,可以仅通过一个计算单元来执行消息的计算,因此,可以实现设备的小型化。
然而,在完全串行解码中,对消息的计算是一次一个节点地执行的,因此获取所有节点的消息是费时间的。
在求和乘积算法中,可变节点计算和检查节点计算被执行得越多,LDPC解码的精度(纠错性能)就提高得越多。在获取所有节点的消息比较费时间的情况中,重复解码次数减小,会导致LDPC解码精度的恶化。
注意,存在这样的方法,其中,准备了用于执行消息的计算的多个计算单元,这多个计算单元顺序地被连接,由此增加重复解码的次数。然而,该方法导致LDPC解码设备增大了该设备的规模。
此外,为了在不增大LDPC解码设备的情况下增加重复解码的次数,存在用于高速执行消息的计算的方法。
然而,在该方法中,为了略微增加重复解码的次数,需要以极高速频率时钟操作的计算单元。
另一方面,在采用同时执行所有节点(并行地)的消息计算的完全并行解码来作为用于实现根据求和乘积算法执行LDPC解码的LDPC解码设备的方法的情况中,可以在少量的时间内获得所有节点的消息。因此,可以通过增加重复解码的次数来提高LDPC解码的精度。
然而,在完全并行解码中,需要与码长等成比例的数目的计算单元,因此,LDPC解码设备的规模增大。
因此,例如在上面的PTL 1中已描述了用于利用以适当频率时钟操作的计算单元以适当的设备规模来执行重复解码次数较大的LDPC解码的LDPC解码设备。
在PTL 1中描述的LDPC解码设备中,不是针对所有节点而是针对多个(Q个)节点来同时执行节点的计算(检查节点计算和可变节点计算)。这里,在下面,用于同时执行计算的节点的数目Q也将称为计算单位。
在图1的解码单元12中,内置有用于同时执行针对Q个节点的节点计算的LDPC解码设备。
图3图示出了内置于图1的解码单元12中的LDPC解码设备的配置示例。
在图3中,该LDPC解码设备由存储设备31、计算设备32、循环移位设备33和控制设备34构成,并且对包括在来自获取单元11(图1)的发送数据中的LDPC码执行LDPC解码。
存储设备31例如由诸如RAM(随机存取存储器)等的半导体存储器构成。在存储设备31中,包括在来自获取单元11的发送数据中的LDPC码的所接收值被提供给给它,并且消息(可变节点消息、检查节点消息)也从循环移位设备33被提供给它。
存储设备31临时存储提供给它的LDPC码的所接收值以及消息。
存储在存储设备31中的LDPC码的所接收值以及消息根据需要被读出并被提供给计算设备32。
计算设备32包括M(等于或大于Q)个计算单元321至32M,并且一个计算单元32m使用来自存储设备31的消息等执行用于针对一个节点获取消息的节点计算(检查节点计算、可变节点计算)。
在计算设备32中,在M个计算单元321至32M中,根据Q个计算单元321至32Q,针对Q个节点同时执行检查节点计算或可变节点计算。
在计算设备32中,当同时针对Q个节点执行检查节点计算或可变节点计算时,与Q条边相对应的Q个消息(检查节点消息或可变节点消息)被获得。
Q个消息作为一段并行数据从计算设备32被提供给循环移位设备33。
这里,在计算设备32中,交替地执行检查节点计算和可变节点计算。
循环移位设备33使得由与Q条边相对应的Q个消息组成的并行数据经过循环移位以用于接下来将执行的其它节点计算,该并行数据是作为Q个检查节点的检查节点计算和Q个可变节点的可变节点计算中的一个的结果而获得的。接下来,循环移位设备33将组成循环移位之后的并行数据的Q个消息提供并存储到存储设备31。
控制设备34控制组成图3的LDPC解码设备的存储设备31、计算设备32和循环移位设备33。
具体地,控制设备34执行用于指定针对存储设备31执行消息等的读写的地址等的控制。此外,控制设备34执行用于指定计算设备32(的计算单元32m)应当执行的节点计算(检查节点计算或可变节点计算等)等等的控制。此外,控制设备34执行用于指定由循环移位设备33执行的循环移位的移位量等的控制。
在如此配置的LDPC解码设备中,当包括在来自获取单元11的发送数据中的一个码长的LDPC码的所接收值时,存储设备31存储提供给它的一个码长的LDPC码的所接收值。
当一个码长的LDPC码的所接收值被存储到存储设备31中时,在适当的情况下LDPC码的所接收值以及检查节点消息(即,在一个码长的LDPC码的LDPC解码开始时作为初始值的0,等等)被读出并且被提供给计算设备32。
在计算设备32中,根据Q个计算单元321至32Q,利用来自存储设备31的所接收值以及检查节点消息针对Q个可变节点同时执行表达式(1)中的可变节点计算。
在计算设备32中,通过针对Q个可变节点同时执行可变节点计算获得的Q个可变节点消息从计算设备32被提供给循环移位设备33。
循环移位设备33将来自计算设备32的Q个可变节点消息作为一段并行数据,并且使得该并行数据经过循环移位以用于接下来将执行的检查节点计算。接下来,循环移位设备33将组成循环移位之后的并行数据的Q个可变节点消息提供并存储到存储设备31。
如上所述,通过针对每Q个可变节点执行的可变节点计算,在针对所有可变节点(其数目等于LDPC码的奇偶校验矩阵的列数的可变节点)获得了可变节点消息并且存储到存储设备31中的情况中,在适当情况下这些可变节点消息从存储设备31被读出并被提供给计算设备32。
在计算设备32中,根据Q个计算单元321至32Q,利用来自存储设备31的可变节点消息针对Q个检查节点同时执行表达式(7)中的检查节点计算。
在计算设备32中,通过针对Q个检查节点同时执行检查节点计算获得的Q个检查节点消息从计算设备32被提供给循环移位设备33。
循环移位设备33将来自计算设备32的Q个检查节点消息作为一段并行数据,并且使得该并行数据经过循环移位以用于接下来将执行的可变节点计算。接下来,循环移位设备33将组成循环移位之后的并行数据的Q个检查节点消息提供并存储到存储设备31。
如上所述,通过针对每Q个检查节点执行的检查节点计算,在针对所有检查节点(其数目等于LDPC码的奇偶校验矩阵的行数的检查节点)获得了检查节点消息并且存储到存储设备31中的情况中,在适当情况下存储在存储设备31中的这些检查节点消息以及LDPC码的所接收值被读出并被提供给计算设备32。
接下来,在下面,将按照与上面的情况相同的方式来交替地重复可变节点计算和检查节点计算。
在该LDPC解码设备中,在一个码长的LDPC码的下一所接收值从获取单元11(图1)被提供来之前,用于交替地重复可变节点计算和检查节点计算的上述重复解码刚好被执行预定次数。
接下来,当重复解码刚好被执行预定次数时,计算设备32使用存储在存储设备31中的LDPC码的所接收值以及检查节点消息来执行表达式(5)的计算。接下来,在计算设备32中,表达式(5)中的计算的计算结果,例如,硬判决的判定结果被输出为存储在存储设备31中的一个码长的LDPC码的解码结果。
接下来,在该LDPC解码设备中,在等待一个码长的LDPC码的下一所接收值从获取单元11(图1)被提供来的同时重复相同的处理。
接下来,图4图示出了图3的LDPC解码设备将其作为LDPC解码对象的LDPC码的奇偶校验矩阵H的示例。
注意,图4的奇偶校验矩阵H是如下情况中的行数×列数为30×90的奇偶校验矩阵的示例:计算设备32(图3)同时获取其消息的节点的数目Q被设置为5,并且以Q×Q,即5×5个矩阵为递增量来提供间隔。
此外,在图4的奇偶校验矩阵H中,“0”是用句点(″.″)来表示的。
在图4中,奇偶校验矩阵H是由如下矩阵的组合来表示的:5×5的单位矩阵、将该单位矩阵中的一个或多个1设为0的矩阵(下面称为“准单位矩阵”)、通过使单位矩阵或准单位矩阵经过循环移位(在行方向或列方向上)而获得的矩阵(下面适当地称为“移位矩阵”)、两个或更多个(多个)单位矩阵、准单位矩阵或移位矩阵的和(下面称为“和矩阵”)、以及5×5的0矩阵。注意,图4的奇偶校验矩阵H的LDPC码是码率为2/3并且码长为90的LDPC码。
现在,如果我们将上面的单位矩阵、准单位矩阵、移位矩阵、和矩阵和0矩阵称为配置矩阵,则图4的奇偶校验矩阵H由配置矩阵组成。
图3的LDPC解码设备将由如上所述的配置矩阵组成的奇偶校验矩阵H的LDPC码作为LDPC解码的对象。因此,获取单元11(图1)所获取的发送数据中包括的LDPC码是由配置矩阵组成的奇偶校验矩阵H的LDPC码。
在图3的LDPC解码设备中,同时针对每五个节点获取消息,从而,图4的奇偶校验矩阵H的LDPC码被解码。
具体地,例如,现在,如果我们关注与该奇偶校验矩阵H的第一列(从左边起的第一列)至第五列相对应的五个可变节点nv#1至nv#5,则在计算设备32的计算单元321中,利用来自与第一列的“1”相对应的边的检查节点消息针对可变节点nv#1来获取与第一列的“1”相对应的边的可变节点消息。
同时,在其它计算单元322至325中的每个计算单元32q中,利用来自与第q列的“1”相对应的边的检查节点消息针对可变节点nv#q来获取与第q列的“1”相对应的边的可变节点消息。
更具体地,如果将该奇偶校验矩阵H的第j行第i列表示为(j,i),则在计算单元321至325中,首先,与该奇偶校验矩阵H的(1,1)至(5,5)的5×5单位矩阵(配置矩阵)A中的五个“1”相对应的边的五个可变节点消息同时被获取。然后,这五个可变节点消息经由循环移位设备33被提供给存储设备31并被存储为一个字。
接下来,在计算单元321至325中,与该奇偶校验矩阵H的(6,1)至(10,5)的5×5和矩阵(配置矩阵)B中的“1”相对应的边的可变节点消息同时被获取。
这里,在计算设备32中,对于权重为2或更大的配置矩阵,当该配置矩阵是利用权重为1的Q×Q(这里为5×5)单位矩阵、准单位矩阵或者移位矩阵(通过使单位矩阵或准单位矩阵经过循环移位而获得的)的多重和(multiple-sum)的形式来表达时,则针对权重为1的每个单位矩阵、准单位矩阵或者移位矩阵来获取消息。
和矩阵B是权重为2的第一移位矩阵与第二移位矩阵之间的和,该第一移位矩阵是通过使5×5的单位矩阵向右循环移位1而获得的,该第二移位矩阵是通过使单位矩阵向右循环移位2而获得的。
因此,在计算设备32中,对于和矩阵B,在计算单元321至325中,首先,与组成该和矩阵B的第一移位矩阵的五个“1”相对应的边的五个可变节点消息同时被获取。然后,这五个可变节点消息经由循环移位设备33被提供给存储设备31并被存储为一个字。
接下来,在计算单元321至325中,与组成该和矩阵B的第二移位矩阵的五个“1”相对应的边的五个可变节点消息同时被获取。然后,这五个可变节点消息经由循环移位设备33被提供给存储设备31并被存储为一个字。
下面,类似地,在图3的LDPC解码设备中,以奇偶校验矩阵H的五列为递增量,一次五个地同时获取与奇偶校验矩阵H的“1”相对应的边的可变节点消息。这五个可变节点消息作为一个字被存储在存储设备31中。
以上述方式,当针对直到与奇偶校验矩阵H的最后五列(该奇偶校验矩阵H的右端的五列)相对应的可变节点获取了与每列的“1”相对应的边的可变节点消息时,在图3的LDPC解码设备中,利用这些可变节点消息以奇偶校验矩阵H的五行为递增量,一次五个地同时获取与奇偶校验矩阵H的“1”相对应的边的检查节点消息,并且这五个检查节点消息作为一个字被存储在存储设备31中。
具体地,例如,现在,如果我们关注与该奇偶校验矩阵H的第一行(从顶部起的第一行)至第五行相对应的五个检查节点nu#1至nu#5,则在计算设备32的计算单元321中,利用来自与第一行的“1”相对应的边的可变节点消息针对检查节点nu#1来获取与第一行的“1”相对应的边的检查节点消息。
同时,在其它计算单元322至325中的每个计算单元32q中,利用来自与第q行的“1”相对应的边的可变节点消息针对检查节点nu#q来获取与第q行的“1”相对应的边的检查节点消息。
更具体地,在计算单元321至325中,首先,与该奇偶校验矩阵H的(1,1)至(5,5)的5×5单位矩阵A中的五个“1”相对应的边的五个检查节点消息同时被获取。然后,这五个检查节点消息经由循环移位设备33被提供给存储设备31并被存储为一个字。
接下来,在计算单元321至325中,与从该奇偶校验矩阵H的(1,21)到(5,25)的移位矩阵(配置矩阵)C中的“1”相对应的边的检查节点消息同时被获取。这里,移位矩阵C是通过使5×5的单位矩阵向右循环地移位3而获得的。
此后,类似地,在图3的LDPC解码设备中,以奇偶校验矩阵H的五行为递增量,一次五个地同时获取与奇偶校验矩阵H的“1”相对应的边的检查节点消息。五个检查节点消息被存储在存储设备31中作为一个字。
以上述方式,当针对直到与奇偶校验矩阵H的最后五行(该奇偶校验矩阵H的下端的五行)相对应的检查节点获取了与每行的“1”相对应的边的检查节点消息时,在图3的LDPC解码设备中,利用这些检查节点消息如上所述那样来获取可变节点消息,并且此后,相同处理被重复预定次数(预先确定的重复解码次数)。
现在,如果我们将α除以β时的余数γ表示为表达式γ=αmod β,则第i个节点(与第i行相对应的检查节点、与第i列相对应的可变节点)处的节点计算在以q(用表达式q=(i mod Q)+1表示)作为下标的计算单元32q处被执行。
在图3的LDPC解码设备中的计算设备32中,如上所述,以组成该奇偶校验矩阵H的Q×Q的配置矩阵为递增量来同时获取消息,即,与该配置矩阵的“1”相对应的边的Q个消息同时被获取。然后,同时获取的Q个消息作为一个字被存储在存储设备31中。
作为一个字被存储在存储设备31中的Q个消息被用于用于获取消息的下一节点计算,因此,需要基于奇偶校验矩阵H的“1”被循环移位。在图3的LDPC解码设备中,提供了用于循环移位作为并行数据的在计算设备32处获得的Q个消息并且然后提供给存储设备31的循环移位设备33。
将参考图5描述需要循环移位的原因。
图5是用于描述关于图4的奇偶校验矩阵H的可变节点计算和检查节点计算的示图。
现在,我们关注与图4的奇偶校验矩阵H的(1,1)至(5,5)的5×5配置矩阵A的行相对应的检查节点nu#1至nu#5、与该配置矩阵A的列相对应的可变节点nv#1至nv#5,以及与奇偶校验矩阵H的配置矩阵A在同一行的(1,21)至(5,25)的5×5配置矩阵C的列所对应的可变节点nv#21至nv#25。
这里,检查节点nu#j是与奇偶校验矩阵H的第j行相对应的检查节点,并且可变节点nv#i是与奇偶校验矩阵的第i列相对应的可变节点。
检查节点nu#j的检查节点计算以及可变节点nv#i的可变节点计算在计算设备32(图3)的计算单元32q处执行。然而,对于检查节点计算,q用表达式q=(j mod 5)+1来表示,而对于可变节点计算,q用表达式q=(i mod 5)+1来表示。
例如,现在,让我们假设在计算单元321至325中,已执行了与奇偶校验矩阵H的第一行至第五行相对应的五个检查节点nu#1至nu#5的检查节点计算,并且已经获得与第一行至第五行的“1”相对应的边的检查节点消息。
现在,与第j行第i列处的“1”相对应的检查节点消息被表示为uj,i
配置矩阵A是单位矩阵,并且与其“1”相对应的边的检查节点消息用u1,1,u2,2,u3,3,u4,4和u5,5来表示。
此外,配置矩阵C是通过使单位矩阵向右循环移位3而获得的移位矩阵,与其“1”相对应的边的检查节点消息用u1,24,u2,25,u3,21,u4,22和u5,23来表示。
当单独关注配置矩阵A和C时,计算单元321执行检查节点nu#1的检查节点计算,以获取与配置矩阵A的第一行的“1”相对应的边的检查节点消息u1,1以及与配置矩阵C的第一行的“1”相对应的边的检查节点消息u1,24
计算单元322执行检查节点nu#2的检查节点计算,以获取与配置矩阵A的第二行的“1”相对应的边的检查节点消息u2,2以及与配置矩阵C的第二行的“1”相对应的边的检查节点消息u2,25
计算单元323执行检查节点nu#3的检查节点计算,以获取与配置矩阵A的第三行的“1”相对应的边的检查节点消息u3,3以及与配置矩阵C的第三行的“1”相对应的边的检查节点消息u3,21
计算单元324执行检查节点nu#4的检查节点计算,以获取与配置矩阵A的第四行的“1”相对应的边的检查节点消息u4,4以及与配置矩阵C的第四行的“1”相对应的边的检查节点消息u4,22
计算单元325执行检查节点nu#5的检查节点计算,以获取与配置矩阵A的第五行的“1”相对应的边的检查节点消息u5,5以及与配置矩阵C的第五行的“1”相对应的边的检查节点消息u5,23
如上所述,在计算设备32(图3)中,与配置矩阵A的“1”相对应的边的检查节点消息u1,1,u2,2,u3,3,u4,4和u5,5由计算单元计算单元321至325同时获得,并且经由循环移位设备33(图3)被存储在存储设备31中作为一个字。
类似地,如上所述,在计算设备32中,与配置矩阵C的“1”相对应的边的检查节点消息u1,24,u2,25,u3,21,u4,22和u5,23由计算单元计算单元321至325同时获得,并且经由循环移位设备33被存储在存储设备31中作为一个字。
这里,五个检查节点消息u1,1,u2,2,u3,3,u4,4和u5,5的排列用(u1,1,u2,2,u3,3,u4,4和u5,5)来表示。在此情况中,五个检查节点消息u1,24,u2,25,u3,21,u4,22和u5,23的排列用(u1,24,u2,25,u3,21,u4,22,and u5,23)来表示。
在与奇偶校验矩阵H的“1”相对应的边的所有检查节点消息被获取之后,然后,用于获取可变节点消息的可变节点计算被执行。
具体地,现在,当关注包括在配置矩阵A中的第一列至第五列时,计算单元321利用来自与奇偶校验矩阵H的第一列的“1”相对应的边的检查节点消息来执行可变节点nv#1的可变节点计算。
类似地,计算单元322利用来自与奇偶校验矩阵H的第二列的“1”相对应的边的检查节点消息来执行可变节点nv#2的可变节点计算。
计算单元323利用来自与奇偶校验矩阵H的第三列的“1”相对应的边的检查节点消息来执行可变节点nv#3的可变节点计算。
计算单元324利用来自与奇偶校验矩阵H的第四列的“1”相对应的边的检查节点消息来执行可变节点nv#4的可变节点计算。
计算单元325利用来自与奇偶校验矩阵H的第五列的“1”相对应的边的检查节点消息来执行可变节点nv#5的可变节点计算。
如上所述,在利用表达式q=(i mod 5)+1表示其下标q的计算单元32q中,利用来自与奇偶校验矩阵H的第i列的“1”相对应的边的检查节点消息来执行可变节点计算。
用于可变节点计算的检查节点消息被存储在存储设备31中,如上所述,五个检查节点消息作为一个字。
如果我们假设作为一个字的检查节点消息的排列用(U1,U2,U3,U4,U5)来表示,并且计算单元32q利用作为一个字的检查节点消息的排列(U1,U2,U3,U4,U5)中的第q个检查节点消息Uq来执行可变节点计算,则在与作为单位矩阵的配置矩阵A的“1”相对应的边的五个检查节点消息的排列(u1, 1,u2,2,u3,3,u4,4,u5,5)中,如图5所示,将要用于计算单元32q处的可变节点计算的检查节点消息被布置在第q个处,并且因此,可以利用作为一个字的检查节点消息的排列(u1,1,u2,2,u3,3,u4,4,u5,5)中的第q个检查节点来执行可变节点计算。
另一方面,在与作为通过将单位矩阵向右循环移位3而获得的移位矩阵的配置矩阵C的“1”相对应的边的五个检查节点消息的排列(u1,24,u2,25,u3,21,u4,22,u5,23)中,如图5所示,将要用于计算单元32q处的可变节点计算的检查节点消息被布置在从第q个位置起被向右方(检查节点消息的排列(u1,24,u2,25,u3,21,u4,22,u5,23)的末尾的方向)循环移位3的位置中。
因此,当计算单元32q利用作为一个字的检查节点消息的排列(U1,U2,U3,U4,U5)中的第q个检查节点消息Uq来执行可变节点计算时,需要在该可变节点计算之前,将与配置矩阵C的“1”相对应的边的五个检查节点消息的排列(u1,24,u2,25,u3,21,u4,22,u5,23)向左方(检查节点消息的排列(u1,24,u2,25,u3,21,u4,22,u5,23)的开头方向)循环移位3,以获得五个检查节点消息的排列(u3,21,u4,22,u5,23,u1,24,u2,25)。
以这种方式,为了使得计算单元32q可以利用作为一个字的消息(可变节点消息、检查节点消息)的排列中的第q个消息来执行节点计算(检查节点计算、可变节点计算),循环移位设备33基于配置矩阵的“1”(也是奇偶校验矩阵H的“1”)来循环移位在计算单元321至325处同时获得的作为一个字的五个消息的排列。
顺便提及,采用LDPC码的数字广播规范的示例包括DVB(数字视频广播)-S2和国内下一代BS(广播卫星)广播规范(在下面,也称为“高级BS”)。
图6图示出了由DVB-S2和高级BS规定的LDPC码的示例以及用于解码每个LDPC码的LDPC解码设备的实现方式。
在采用DVB-S2和高级BS的LDPC码的奇偶校验矩阵中,与信息比特相对应的部分(在下面,也称为信息矩阵)具有循环结构。
该循环结构是某列与通过循环移位另一列而获得的列相匹配的结构,并且例如还包括这样的结构,其中,对于每P列,这P列的每行的“1”的位置是这P列的第一(左端)列朝着列方向被循环移位了与将奇偶长度除以P获得的值成比例的值的位置。在下面,循环结构中的P列将适当地被称为用作循环结构的单位的列数。
这里,可以通过根据需要执行行或列的置换,来将采用DVB-S2和高级BS的LDPC码的奇偶校验矩阵当作由P×P的配置矩阵构成的矩阵。
此外,对于在计算设备32(图3)处同时获得的消息的数目Q(计算单位),例如,可以采用用作循环结构的单位的列数P。
对于用作循环结构的单位的列数P,DVB-S2规定的是360,并且高级BS规定的是374。
因此,在用作循环结构的单位的列数P被用作计算单位Q的情况中,在计算设备32中,即,在遵循DVB-S2的LDPC解码设备中,同时获得360个消息,并且在遵循高级BS的LDPC解码设备中,同时获得374个消息。
在计算设备32处同时获得的消息经由循环移位设备33被提供给存储设备31(图3)并被存储为一个字。
因此,例如,如果五个比特被用作一个消息的比特数目,则在遵循DVB-S2的LDPC解码设备中,存储设备31的一个字需要被设为1800个比特(=5[比特]×Q(=P=360))。另一方面,在遵循高级BS的LDPC解码设备中,存储设备31的一个字需要被设为1870个比特(=5[比特]×Q(=P=374))。
此外,在DVB-S2中,奇偶校验矩阵的边的数目的最大值(边的最大数目)为P×792-1(360×792-1),并且在高级BS中,奇偶校验矩阵的边的数目的最大值为P×435-1(374×435-1)。
一个字是相当于Q(=P)个消息的数据,因此,在具有最大数目的边的奇偶校验矩阵的LDPC码被采用的情况中,在遵循DVB-S2的LDPC解码设备中,在普通节点计算(检查节点计算或可变节点计算)中获得的所有消息的字数为792个字。
即是说,在遵循DVB-S2的LDPC解码设备中,需要792个字作为用于在存储设备31中存储从节点计算获得的消息的字数。
另一方面,在遵循高级BS的LDPC解码设备中,在具有最大数目的边的奇偶校验矩阵的LDPC码被采用的情况中,在普通节点计算中获得的所有消息的字数为435个字。
因此,在遵循高级BS的LDPC解码设备中,需要435个字作为用于在存储设备31中存储从节点计算获得的消息的字数。
在存储设备31(图3)中,除了从节点计算获得的消息以外,还需要存储用作解码对象的相当于一个码长的所接收值的LDPC码。
在DVB-S2中,规定将64800个比特作为LDPC码的最大码长,并且在高级BS中,规定将44880个比特作为LDPC码的最大码长。
因此,在遵循DVB-S2的LDPC解码设备中,需要180个字(=64800[比特]×5[比特]/1800[比特/秒])作为用于存储LDPC码的一个码长的所接收值的字数。
此外,在遵循高级BS的LDPC解码设备中,需要120个字(=44880[比特]×5[比特]/1870[比特/字])作为用于存储LDPC码的一个码长的所接收值的字数。
根据上面所述的,在遵循DVB-S2的LDPC解码设备中,需要用于存储从节点计算获得的消息的792个字与用于存储LDPC码的所接收值的180个字的总和,即,972个字,来作为存储设备31的字数,并且一个字的比特数为1800个比特。
另一方面,在遵循高级BS的LDPC解码设备中,需要用于存储从节点计算获得的消息的435个字与用于存储LDPC码的所接收值的120个字的总和,即,555个字,来作为存储设备31的字数,并且一个字的比特数为1870个比特。
在针对DVB-S2和高级BS两者执行图3的LDPC解码设备的实现时,存储设备31和计算设备32应当根据遵循DVB-S2和高级BS的每个LDPC解码设备所需的规范中的较大者(较重者)来组成LDPC解码设备。
因此,存储设备31应当由可以存储972个字、一个字1870个比特的存储器等构成。此外,计算单元32应当由374个计算单元321至32374构成(图3中的M为374),以便同时获得374个消息。
另一方面,在循环移位设备33中,对于高级BS需要执行374个消息的循环移位,并且对于DVB-S2需要执行360个消息的循环移位。
然后,为了执行374个消息的循环移位,需要374个单位的桶形移位器,并且为了执行360个消息的循环移位,需要360个单位的桶形移位器。
具体地,图7图示出了将图3的LDPC解码设备用于DVB-S2和高级BS两者的情况中的循环移位设备33的配置示例。
在图7中,循环移位设备33由桶形移位器51和52以及选择器53构成。
用作针对遵循高级BS的LDPC码同时获得的374个消息的输入数据#1至#374作为一段并行数据从计算设备32(图3)被提供给桶形移位器51。此外,表示循环移位的移位量k的控制信号从控制设备34(图3)被提供给桶形移位器51。
桶形移位器51是374个单位的桶形移位器,并且在从控制设备34提供来的控制信号所表示的从0到小于374的范围中,将从计算设备32提供来的输入数据data#1至#374循环移位移位量k。然后,桶形移位器51将该循环移位之后的输入数据#1+k,#2+k,...,#374,#1,#2,...,#k作为移位数据#1#2,...,#374提供给选择器53。
用作针对遵循DVB-S2的LDPC码同时获得的360个消息的输入数据#1至#360作为一段并行数据从计算设备32(图3)被提供给桶形移位器52。此外,表示循环移位的移位量k的控制信号从控制设备34(图3)被提供给桶形移位器52。
桶形移位器52是360个单位的桶形移位器,并且在从控制设备34提供来的控制信号所表示的从0到小于360的范围中,将从计算设备32提供来的输入数据#1至#360循环移位移位量k。然后,桶形移位器52将该循环移位之后的输入数据#1+k,#2+k,...,#360,#1,#2,...,#k作为移位数据#1#2,...,#360提供给选择器53。
在选择器53中,来自桶形移位器51的移位数据#1至#374以及来自桶形移位器52的移位数据#1至#360被提供给它,并且作为表示选择遵循高级BS和DVB-S2的LDPC码之一的选择信号(其也是表示由M(=374)段输入数据#1至#M组成的并行数据和由N(=360)段输入数据#1至#N组成的并行数据中的哪个的循环移位在循环移位设备33处被执行的选择信号)的控制信号也从控制设备34(图3)被提供给它。
具体地,在执行遵循高级BS的LDPC码的解码的情况中,控制设备34将表示选择对遵循高级BS的LDPC码进行解码的选择信号提供给选择器53。此外,在执行遵循DVB-S2的LDPC码的解码的情况中,控制设备34将表示选择对遵循DVB-S2的LDPC码进行解码的选择信号提供给选择器53。
在来自控制设备34的选择信号表示选择对遵循高级BS的LDPC码进行解码的情况中,选择器53选择从桶形移位器51提供来的移位数据#1至#374,并且输出为作为循环移位设备33处的循环移位结果的输出数据#1至#374。输出数据#1至#374作为一个字被提供给存储设备31(图3)并存储在其中。
此外,在来自控制设备34的选择信号表示选择对遵循DVB-S2的LDPC码进行解码的情况中,选择器53选择从桶形移位器52提供来的移位数据#1至#360,并且输出为作为循环移位设备33处的循环移位结果的输出数据#1至#360。输出数据#1至#360作为一个字被提供给存储设备31(图3)并存储在其中。
如上所述,在通过提供两个桶形移位器51和52来配置循环移位设备33的情况中,循环移位设备33的大小,并且因此图3的LDPC解码设备的大小增大。
因此,图8图示出了在将图3的LDPC解码设备用于DVB-S2和高级BS两者的情况中的循环移位设备33的另一配置示例。
在图8中,循环移位设备33由一个桶形移位器61、选择电路62和选择控制电路63构成。
表示移位量k的控制信号从控制设备34(图3)被提供给桶形移位器61。此外,由M段输入数据#1至#M组成的并行数据从计算设备32被提供给桶形移位器61。
桶形移位器61是M个单位的桶形移位器,并且在由来自控制设备34的控制信号所表示的从0至小于M的范围中,将从计算设备32提供来的输入数据#1至#M循环移位移位量k。然后,桶形移位器61将该循环移位之后的输入数据#1+k,#2+k,...,#M,#1,#2,...,#k作为移位数据#1#2,...,#M提供给选择电路62。
注意,如果我们假设用K来表示等于或大于log2M的最小整数,则移位量k用K个比特来表示。
此外,在如上所述的循环结构的单位P列被采用作为计算单位Q的情况中,例如,用作循环结构的单位P列(即,计算单位Q)的374和360中的较大者,即,374被采用作为值M。
在遵循高级BS的LDPC解码中,374(=M)个消息在计算设备32处同时被获得,并且这374个消息被提供给桶形移位器61作为输入数据#1至#M。
然后,在桶形移位器61中,输入数据#1至#M被循环移位了来自控制设备34的移位量k。
这里,在遵循高级BS的LDPC解码中,移位量k是从0到小于M(=374)的范围中的整数。
另一方面,在遵循DVB-S2的LDPC解码中,360(其是小于374(=M)的N(<M))个消息在计算设备32处被同时获得,并且这360个消息被提供给桶形移位器61作为输入数据#1至#M中的输入数据输入数据#1至#N。
此外,在此情况中,例如,不定数据(无效数据)被提供给桶形移位器61作为输入数据#N+1,#N+2,...,#M(这里,为输入数据#361,#362,...,#374)。
然后,在桶形移位器61中,输入数据#1至#M被循环移位来自控制设备34的移位量k。
这里,在遵循DVB-S2的LDPC解码中,移位量k是从0到小于N(=360)的范围中的整数。
此外,在遵循DVB-S2的LDPC解码中,如上所述,在提供给桶形移位器61的输入数据#1至#M中,最后的M-N段输入数据#N+1至#M是无效数据,并且在桶形移位器61中,包括这些无效输入数据#N+1至#M的输入数据#1至#M被循环移位,由此包括在M段输入数据#1至#M中的作为在计算设备32处同时获得的N个消息的输入数据#1至#N被循环移位。
在选择电路62中,根据来自控制电路63的N-1个比特的选择控制信号,例如,从桶形移位器61提供来的所有移位数据#1至#M被选择,并且被输出为M段输出数据#1至#M(其是将M段输入数据#1至#M作为一段并行数据来进行循环移位的结果)。
此外,在选择电路62中,根据来自选择控制电路63的N-1个比特的选择控制信号,例如,从桶形移位器61提供来的移位数据#1至#M中的N段被选择,并且被输出为N段输出数据#1至#N(其是将N段输入数据#1至#N作为一段并行数据来进行循环移位的结果)。
具体地,在遵循高级BS的LDPC解码中,在选择电路62处,通过将在计算设备32处同时获得的M(=374)个消息(作为输入数据#1至#M)循环移位移位量k而获得的结果需要被输出为M段输出数据#1至#M。
在此情况中,在选择电路62处,根据来自选择控制电路63的N-1个比特的选择控制信号,来自桶形移位器61的移位数据#1至#M被选择并被输出为M段输出数据#1至#M。
另一方面,在遵循DVB-S2的LDPC解码中,在选择电路62处,通过将在计算设备32处同时获得的小于M的N(=360)个消息(作为输入数据#1至#N)循环移位移位量k而获得的结果需要被输出为N段输出数据#1至#N。
在此情况中,在选择电路62处,根据来自选择控制电路63的N-1个比特的选择控制信号,从桶形移位器61执行循环移位的方向上的排头起的第1至第N-k个移位数据#1至#N-k被选择,并被输出为第1至第N-k个输出数据。此外,在选择电路62处,从桶形移位器61执行循环移位的方向上的排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据#N-k+1+(M-N)至#N+(M-N)被选择,并被输出为第N-k+1至第N个输出数据#N-k+1至#N。
注意,这里,如上所述,桶形移位器61将输入数据#1至#M循环移位移位量k,并且将该循环移位之后的输入数据#1+k,#2+k,...,#M,#1,#2,...,#k作为移位数据#1至#M。
因此,这里,桶形移位器61执行循环移位的方向是输入数据#1至#M的排头的方向(在输入数据#1至#M的排列中从输入数据#M朝着输入数据#1的方向)。
表示移位量k的控制信号以及表示选择对遵循高级BS或DVB-S2的LDPC码进行解码的选择信号从控制设备34(图3)被提供给选择控制电路63。
选择控制电路63按照后面将描述的方式基于来自控制设备34(图3)的选择信号并且进一步地基于移位量k来生成N-1个比特的选择控制信号,并且提供给选择电路62。
接下来,图9是图示出图8中的桶形移位器61的配置示例的框图。
注意,在图9中,为了简化描述,值M被设置为8,并且因此,图9中的桶形移位器61是8个单位的桶形移位器。
桶形移位器61由被布置成K(如上所述,K是等于或大于log2M的最小整数)级的具有两个输入和一个输出的M个选择器构成。
在此情况中,值M为8,因此值K为3,并且因此,桶形移位器61由第一级的八个选择器711至718、第二级的八个选择器721至728和第三级的八个选择器731至738构成。
用作8(=M)个单位的循环移位对象的输入数据#1至#8被提供给第一级的选择器711至718
具体地,输入数据#h被提供给第一级的选择器71h的输入端子之一。此外,输入数据#h′被提供给第一级的选择器71h的另一输入端子。
这里,输入数据#h′是其单独的1(=20)段在与从输入数据#h起的循环移位方向相反的方向上的输入数据,并且值h′用表达式h′=((h+1)modM)表示。
此外,用3(=K)个比特表示的移位量k的第一比特(从LSB(最低有效位起的第一比特)被提供给第一级的选择器71h
在移位量k的第一比特为“0”的情况中,选择器71h选择提供给输入端子之一的输入数据#h,并输出为第一选择数据#h。
此外,在移位量k的第一比特为“1”的情况中,选择器71h选择提供给另一输入端子的输入数据#h′,并输出为第一选择数据#h。
由第一级的选择器711至718输出的第一选择数据#h被提供给第二级的选择器721至728
具体地,第一选择数据#i从第一级的选择器71i被提供给第二级的选择器72i的输入端子之一。此外,第一选择数据#i′从第一级的选择器71i′被提供给第二级的选择器72i的另一输入端子。
这里,第一选择数据#i′是其单独的2(=21)段在与从第一选择数据#i起的循环移位方向相反的方向上的输入数据,并且值i′用表达式i′=((i+2)mod M)表示。
此外,用3(=K)个比特表示的移位量k的第二比特被提供给第二级的选择器72i
在移位量k的第二比特为“0”的情况中,选择器72i选择提供给输入端子之一的第一选择数据#i,并输出为第二选择数据#i。
此外,在移位量k的第二比特为“1”的情况中,选择器72i选择提供给另一输入端子的输入数据#i′,并输出为第二选择数据#i。
由第二级的选择器721至728输出的第二选择数据#i被提供给第三级的选择器731至738
具体地,第二选择数据#j从第二级的选择器72j被提供给第三级的选择器73j的输入端子之一。此外,第二选择数据#j′从第二级的选择器72j′被提供给第三级的选择器73j的另一输入端子。
这里,第二选择数据#j′是其单独的4(=22)段在与从第二选择数据#j起的循环移位方向相反的方向上的输入数据,并且值j′用表达式j′=((j+2)mod M)表示。
此外,用3(=K)个比特表示的移位量k的第三比特被提供给第三级的选择器73j
在移位量k的第三比特为“0”的情况中,选择器73j选择提供给输入端子之一的第二选择数据#j,并输出为移位数据#j。
此外,在移位量k的第三比特为“1”的情况中,选择器73j选择提供给另一输入端子的输入数据#j′,并输出为移位数据#j。
接下来,将对例如由图8中的选择电路62执行的处理进行描述,其中,M被设为8并且此外N被设为6。
在八段输入数据#1至#8被提供给8个(=M)单位的桶形移位器61并且对这八段输入数据#1至#8的循环移位被执行的情况中,由桶形移位器61输出的八段移位数据#1至#8应当按原样被输出为输出数据#1至#8。
另一方面,在六(=N)段输入#1至#6被提供给8个(=M)单位的桶形移位器61并且对这六段输入数据#1至#6的循环移位被执行的情况中,由桶形移位器61输出的八段移位数据#1至#8包括两(=M-N)段无效数据,因此,该无效数据需要被处理。
图10图示出了在8个单位的桶形移位器61处执行的六段输入数据#1至#6的循环移位的示例。
在图10中,在8个单位的桶形移位器61中,试图在排头方向上将六(=N)段输入数据#1至#6循环移位三(=k)段。
然而,桶形移位器61是用于以八段输入数据#1至#8为对象执行循环移位的8个单位的桶形移位器,因此,通过向六段输入数据#1至#6添加分别作为输入数据#7和#8的无效数据x和y而获得的八段输入数据#1至#8的循环移位被执行。
具体地,在图10中,在桶形移位器61中,输入数据#1,#2,...,#6,x和y的排列被循环移位三段。因此,桶形移位器61的输出(移位数据#1至#8)变为输入数据#4(=k+1),#5,#6(=N),x,y,#1,#2和#3(=k)的排列。
六段输入数据#1至#6被循环移位三段(在排头(左)方向上)的结果是输入数据#4,#5,#6,#1,#2和#3,因此,在选择电路62中,在桶形移位器61输出的输入数据#4,#5,#6,x,y,#1,#2和#3中,在循环移位方向上从排头起的三段(=N-k)输入数据#4,#5和#6按原样被选择作为输出数据#1,#2和#3,并且然后位于被向下移位了两(=M-N)段的位置中的三段(=M-N)输入数据#1,#2和#3被选择作为输出数据#4,#5和#6,由此,通过将六段输入数据#1至#6循环移位三段而获得的输入数据#4,#5,#6,#1,#2和#3的排列可以被获得作为六段输出数据#1至#6。
图11图示出了在8个单位的桶形移位器61处执行的六段输入数据#1至#6的循环移位的另一示例。
在图11中,在8个单位的桶形移位器61中,试图将六(=N)段输入数据#1至#6循环移位五(=k)段。
然而,在图11中,与图10的情况相同的方式,在桶形移位器61中,输入数据#1,#2,...,#6,x和y的排列被循环移位五段,因此,桶形移位器61的输出(移位数据#1至#8)变为输入数据#6(=k+1),x,y,#1,#2,#3,#4和#5(=k)的排列。
六段输入数据#1至#6被循环移位五段的结果是输入数据#6,#1,#2,#3,#4和#5,因此在选择电路62中,在从桶形移位器61输出的输入数据#6,x,y,#1,#2,#3,#4和#5中,在循环移位方向上从排头起的一段(=N-k)输入数据#6按原样被选择作为输出数据#1,并且此后,位于被向下移位了两(=M-N)段的位置中的五段(=k)输入数据#1,#2,#3,#4和#5被选择作为输出数据#2,#3,#4,#5和#6,由此,通过将六段输入数据#1至#6循环移位五段而获得的输入数据#6,#1,#2,#3,#4和#5的排列可以被获得作为六段输出数据#1至#6。
根据上面的描述,在M个单位的桶形移位器61中,在执行针对小于M的N段输入数据#1至#N执行的k段循环移位的情况中,在选择电路62中,在从M个单位的桶形移位器61输出的M段移位数据#1至#M中,在循环移位的方向上从排头起的N-k段移位数据#1至#N-k按原样被选择作为输出数据#1至#N-k,并且此后,位于被向下(向后)移位了M-N段的位置处的k段移位数据#N-k+(M-N)+1,...,#M被选择作为输出数据#N-k+1至#N,由此,通过将N段输入数据#1至#N循环移位k段而获得的结果可以被获得。
图12图示出了图8的选择电路62的配置示例。
如上所述,选择电路62由具有两个输入和一个输出的N-1个选择器812至81N构成,以从M个单位的桶形移位器61输出的M段移位数据#1至#M中选择在循环移位的方向上从排头起的N-k段移位数据#1至#N-k,按原样作为输出数据#1至#N-k,并且此后选择位于向下(向后)M-N位的位置处的k个移位数据#N-k+(M-N)+1,...,#M,作为输出数据#N-k+1至#N。
在选择器中81n中,桶形移位器61(图8)输出的移位数据#n被提供给其输入端子之一,并且从移位数据#n向后M-N段的移位数据#n+(M-N)被提供给另一输入端子。
对于作为从2到N范围中的整数的n,选择器中81n选择提供给输入端子之一的移位数据#n(第n个移位数据)或者提供给另一输入端子的移位数据#n+(M-N)(第n+(M-N)个移位数据),并且输出为输出数据#n(第n个输出数据)。
即是说,除了桶形移位器61(图8)输出的移位数据#n至#n+(M-N)以外,来自选择控制电路63(图8)的N-1比特的选择控制信号b2,b3,...,bN中的第n-1比特(从排头起第n-1位处的比特)bn也被提供给选择器中81n
在来自选择控制电路63的选择控制信号的第n-1比特bn为“0”的情况中,选择器中81n选择提供给输入端子之一的移位数据#n,并且输出为输出数据#n。
此外,在来自选择控制电路63的选择控制信号的第n-1比特bn为“1”的情况中,选择器中81n选择提供给另一输入端子的移位数据#n+(M-N),并且输出为输出数据#n。
如上所述,在包括N-1个选择器812至81N的选择电路62中,在桶形移位器61(图8)对由M段输入数据#1至#M组成的并行数据进行循环移位,并且作为该循环移位结果输出M段移位数据#1至#M的情况中,第一移位数据#1被输出为第一输出数据#1,并且在选择器81n中,第n个移位数据#n被选择作为第n个输出数据#n并输出,第N+1至第M个移位数据#N+1至#M被输出为第N+1至第M个输出数据#N+1至#M。
另一方面,在桶形移位器61(图8)对由小于M的N段输入数据#1至#N组成的并行数据进行循环移位,并且作为该循环移位结果输出M段移位数据#1至#M的情况中,在选择电路62中,第一移位数据#1被输出为第一输出数据#1,并且在第1至第N-k-1个选择器812至81N-k中,第n个移位数据#n被选择作为第n个输出数据#n并输出,并且第N-k至第N-1个选择器81N-k+1至81N中,第n+(M-N)个移位数据#n+(M-N)被选择作为第n个输出数据#n并且输出。
选择控制电路63基于从控制设备34(图3)提供来的移位量k和选择信号来生成用于操作如上所述的选择电路62的N-1比特选择控制信号b2至bN,并提供给选择电路62,从而控制根据选择电路62的选择器812至81N对移位数据的选择。
具体地,在来自控制设备34的选择信号表示选择对遵循高级BS的LDPC码进行解码并且由M(=374)段输入数据#1至#M组成的并行数据的循环移位在循环移位设备33处被执行的情况中,选择控制电路63生成值全为“0”的选择控制信号b2至bN,并且提供给选择电路62。
此外,在来自控制设备34的选择信号表示选择对遵循高级BS的LDPC码进行解码并且由N(=360)段输入数据#1至#N组成的并行数据的循环移位在循环移位设备33处被执行的情况中,选择控制电路63参考用于将来自控制设备34的移位量k转换为选择控制信号b2至bN的转换表来生成选择控制信号b2至bN,并且提供给选择电路62。
图13示意性地图示出了转换表。
根据图13的转换表,对于移位量k,生成这样的选择控制信号b2至bN,其中,较低的k个比特bM-k+1至bM为“1”并且较高的N-k-1个比特b2至bN-k为“0”。
图14图示出了M为8并且N为6的情况中的选择电路62的配置示例,并且图15图示出了在选择控制电路63处使用的转换表。
在M为8并且N为6的情况中,选择电路62由五(=N-1)个选择器812至816组成。
在选择器81n中,桶形移位器61(图8)输出的移位数据#n被提供给其输入端子之一,并且从移位数据#n向后2(=M-N)段的移位数据#n+2被提供给另一输入端子。
此外,来自选择控制电路63(图8)的5(=N-1)比特的选择控制信号b2,b3,b4,b5和b6中的第n-1比特(从排头起第n-1位处的比特)bn被提供给选择器中81n
在来自选择控制电路63的选择控制信号的第n-1比特bn为“0”的情况中,选择器中81n选择提供给输入端子之一的移位数据#n,并且输出为输出数据#n。
此外,在来自选择控制电路63的选择控制信号的第n-1比特bn为“1”的情况中,选择器中81n选择提供给另一输入端子的移位数据#n+2,并且输出为输出数据#n。
注意,该选择电路62被配置为将来自桶形移位器61的移位数据#1以及#N+1,#N+2,...,#M按原样输出为输出数据#1以及#N+1,#N+2,...,#M。
具体地,在图14中,在选择电路62中,移位数据#1,#7和#8按原样被输出为输出数据#1,#7和#8。
在桶形移位器61(图8)对由8(=M)段输入数据#1至#8组成的并行数据进行循环移位,并且作为该循环移位结果输出8段移位数据#1至#8的情况中,选择控制电路63(图8)生成值全为“0”的选择控制信号b2至b6,并且提供给选择电路62。
在此情况中,在选择电路62中,来自桶形移位器61的移位数据#1被输出为输出数据#1。此外,在选择电路62中,根据选择控制信号b2至b6,来自桶形移位器61的移位数据#2至#6被选择作为输出数据#2至#6并且分别在选择器812至816处输出。此外,在选择电路62中,来自桶形移位器61的移位数据#7和#8分别被输出为输出数据#7和#8。
另一方面,在桶形移位器61(图8)对由小于8(=M)的6(=N)段输入数据#1至#6组成的并行数据进行循环移位,并且作为该循环移位结果输出8段移位数据#1至#8(其中,在这些移位数据中,2(=M-N)段移位数据是无效数据)的情况中,选择控制电路63基于用于循环移位6段输入数据#1至#6的移位量k,参考图13描述的转换表来生成选择控制信号b2至b6,并且提供给选择电路62。
图15图示出了N为6的情况中的转换表。
在移位量k例如为3的情况中,如在图10中描述的,选择控制电路63参考图15中的转换表以生成0,0,1,1,1作为选择控制信号b2至b6,并且提供给选择电路62。
在此情况中,在选择电路62中,来自桶形移位器61的移位数据#1,#7和#8分别被输出为输出数据#1,#7和#8。然而,作为最后M-N段输出数据的输出数据#7和#8不被当作循环移位的结果,并且被丢弃。
此外,在选择电路62中,来自桶形移位器61的移位数据#2和#3根据值为“0”的选择控制信号b2和b3在选择器812和813处分别被选择作为输出数据#2和#3并被输出。
此外,在选择电路62中,来自桶形移位器61的移位数据#6至#8根据值为“1”的选择控制信号b4至b6在选择器814至816处分别被选择作为输出数据#4至#6并被输出。
如上所述,在选择电路62中,来自桶形移位器61的移位数据#1,#2,#3以及#6至#8分别被输出为输出数据#1至#6。
在移位量k为3的情况中,如图10描述的,桶形移位器61输出的移位数据#1至#8相对于输入数据#1至#6变为输入数据#4,#5,#6,x,y,#1,#2和#3的排列。
因此,如上所述,在选择电路62中,来自桶形移位器61的移位数据#1,#2,#3以及#6至#8分别被输出作为输出数据#1至#6,由此这些输出数据#1至#6变为通过将输入数据#1至#6循环移位移位量k=3而获得的输入数据#4,#5,#6,#1,#2和#3的排列。
此外,在移位量k例如为5的情况中,如在图11中描述的,选择控制电路63参考图15中的转换表以生成1,1,1,1,1作为选择控制信号b2至b6,并且提供给选择电路62。
在此情况中,在选择电路62中,来自桶形移位器61的移位数据#1,#7和#8分别被输出为输出数据#1,#7和#8。
此外,在选择电路62中,来自桶形移位器61的移位数据#4至#8根据值全为“1”的选择控制信号b2至b6而在选择器812至816处分别被选择作为输出数据#2至#6并被输出。
如上所述,在选择电路62中,来自桶形移位器61的移位数据#1,#4至#8分别被输出为输出数据#1至#6。
在移位量为5的情况中,如图11描述的,桶形移位器61输出的移位数据#1至#8相对于输入数据#1至#6变为输入数据#6,x,y,#1,#2,#3,#4和#5的排列。
因此,如上所述,在选择电路62中,来自桶形移位器61的移位数据#1,#4至#8分别被输出作为输出数据#1至#6,由此这些输出数据#1至#6变为通过将输入数据#1至#6循环移位移位量k=5而获得的输入数据#6,#1,#2,#3,#4和#5的排列。
接下来,将参考图16描述图8中的循环移位设备33的处理(循环移位处理)。
M个单位的桶形移位器61等待被同时获得的Q个消息从计算设备32(图3)被提供来以接收Q个消息作为多个输入数据。然后,在步骤S51中,桶形移位器61将由所述多个输入数据组成的并行数据循环移位从控制设备34提供来的移位量k,并且将作为其结果获得的M段移位数据#1至#M输出给选择电路62,并且处理前进到步骤S52。
在步骤S52,选择控制电路63基于从控制设备34提供来的选择信号判断组成了在桶形移位器61处被循环移位的并行数据的输入数据的数目是M段还是小于M的N段。
在步骤S52中判定组成了在桶形移位器61处被循环移位的并行数据的输入数据的数目是M段的情况中,处理前进到步骤S53,在步骤S53中,选择控制电路63控制根据选择电路62对移位数据#1至#M的选择,以便选择桶形移位器61输出的第1至第M个移位数据#1至#M来按原样分别作为第1至第M个输出数据#1至#M。
具体地,选择控制电路63生成值全为“0”的选择控制信号b2至bN,并且提供给选择电路62。
然后,处理从步骤S53前进到步骤S54,在步骤S54中,选择电路62根据来自选择控制电路63的选择控制信号b2至bN分别选择来自桶形移位器61的移位数据#m(m=1,2,...,M)作为输出数据#m并输出,然后循环移位处理结束。
此外,在步骤S52中判定组成了在桶形移位器61处被循环移位的并行数据的输入数据的数目是小于的M的N段的情况中,处理前进到步骤S55,在步骤S55中,选择控制电路63控制根据选择电路62对移位数据#1至#M的选择,以便选择桶形移位器61输出的第1至第M个移位数据#1至#M中的N-k段的第1至第N-k个移位数据#1至#N-k来按原样分别作为第1至第N-k个输出数据#1至#N-k,并且此外,选择最后的k段移位数据#M-k+1至#M分别作为输出数据#N-k+1至#N。
具体地,选择控制电路63根据图13的转换表针对从控制设备34(图3)提供来的移位量k,生成较低的k个比特为“1”并且其余较高比特为“0”的选择控制信号b2至bN,并且提供给选择电路62。
然后,处理从步骤S55前进到步骤S56,在步骤S56中,选择电路62根据来自选择控制电路63的选择控制信号b2至bN分别选择来自桶形移位器61移位数据#1至#M中的移位数据#1至#N-k作为输出数据#1至#N-k,并且此外选择移位数据#M-k+1至#M分别作为输出数据#N-k+1至#N并且输出,然后循环移位处理结束。
如上所述,在将由小于M段的N段输入数据组成的并行数据在包括M个单位的桶形移位器61的循环移位设备33处循环移位小于N的移位量k的情况中,选择电路62在桶形移位器61执行循环移位的方向上从排头起选择第1至第N-k个移位数据#1至#N-k并输出作为第1至第N-k个输出数据#1至#N-k,并且在桶形移位器61执行循环移位的方向上从排头起选择第N-k+1+(M-N)至第N+(M-N)个移位数据#M-k+1至#M并输出作为第N-k+1至第N个输出数据#N-k+1至#N,由此,除了M段输入数据以外,还可以利用M个单位的桶形移位器61来执行小于M段的N段输入数据的循环移位。
因此,除了提供M个单位的桶形移位器61以外,可以不用提供N个单位的桶形移位器就可以执行M段输入数据的循环移位和小于M段的N段输入数据的循环移位两者。
作为其结果,在需要执行M段输入数据的循环移位和小于M段的N段输入数据的循环移位的情况中,无需提供需要大量选择器的两个桶形移位器(可以利用单独的一个桶形移位器来执行循环移位),从而可以以较小的大小来配置设备。
注意,图3中的LDPC解码设备被用于DVB-S2和高级BS两者的情况中,在作为与DVB-S2的循环结构的单位的列数P相等的计算单位Q的360,与作为与高级BS的循环结构的单位的列数P相等的计算单位Q的374中,值M是等于较大者的374,而值N是等于较小者的360。
然后,在图1的TV中,在接收遵循高级BS的发送数据的情况中,控制设备34(图3)生成表示选择对遵循高级BS的LDPC码进行解码的选择信号(由360(=N)段输入数据组成的并行数据的循环移位在桶形移位器61处执行),并提供给循环移位设备33。
此外,控制设备34基于组成遵循高级BS的LDPC码的奇偶校验矩阵的Q×Q(=P×P=N×N)配置矩阵来确定移位量k,如图5描述的,并提供给循环移位设备33。
另一方面,在图1的TV中,在接收遵循高级BS的发送数据的情况中,控制设备34(图3)生成表示选择对遵循高级BS的LDPC码进行解码的选择信号(由374(=M)段输入数据组成的并行数据的循环移位在桶形移位器61处执行),并提供给循环移位设备33。
此外,控制设备34基于组成遵循高级BS的LDPC码的奇偶校验矩阵的Q×Q(=P×P=M ×M)配置矩阵来确定移位量k,如图5描述的,并提供给循环移位设备33。
注意,在上面的实施例中,M和N被设置为374和360或者8和6,然而M和N不限于这些值。然而,在M个单位的桶形移位器被采用作为桶形移位器61(图8)的情况中,N需要是小于M的值。
图17图示出了图3的循环移位设备33的另一配置示例。
注意,与图8的情况相对应的部分用相同的标号表示,并且此后,将适当地省略对其的描述。
具体地,图17的循环移位设备33与图8的情况的匹配之处在于包括桶形移位器61,而与图8的情况的不同之处在于提供了选择电路102和选择控制电路103来替代选择电路62和选择控制电路63。
在图8中,小于M的N被当作一个整数值,但是T个(多个)整数值可被用作N。
现在,让我们假设采用作为N的T个整数值被表示为N1,N2,...,NT。注意,Nt是N1至NT中按降序的第t个整数值,并且是2以上但小于M的范围中的值。
在图17的循环移位设备33中,可以执行M个单位的循环移位以及N1至NT中的每个的循环移位,即总共T+1类单位的循环移位。
表示小于M的移位量k(等于或大于0)的控制信号从控制设备34(图3)被提供给桶形移位器61。此外,由M段输入数据#1至#M组成的并行数据从计算设备32被提供给桶形移位器61。
桶形移位器61是M个单位的桶形移位器,并且将从计算设备32提供来的输入数据#1至#M循环移位由从控制设备34提供来的控制信号所表示的在0以上但小于M的范围中的移位量k。然后,桶形移位器61将该循环移位之后的输入数据#1+k,#2+k,...,#M,#1,#2,...,#k提供给选择电路102作为移位数据#1,#2,...,#M。
注意,在图17的循环移位设备33处执行Nt个单位的循环移位的情况中,在提供给桶形移位器61的M段输入数据#1至#M中,期望经过循环移位的输入数据#1至#N以外的,即,输入数据#Nt+1,#Nt+2,...,M是无效数据。
此外,在图17的循环移位设备33处执行Nt个单位的循环移位的情况中,移位量k是小于Nt的整数值(等于或大于0)。
选择电路102根据来自选择控制电路103的选择控制信号,例如选择从桶形移位器61提供来的(桶形移位器61输出的)所有移位数据#1至#M,并且输出为作为将M段输入数据#1至#M作为一个并行数据进行循环移位的结果的M段输出数据#1至#M。
此外,选择电路102根据来自选择控制电路103的选择控制信号,选择从桶形移位器61提供来的移位数据#1至#M中的Nt个,并且输出为作为将Nt段输入数据#1至#Nt作为一个并行数据进行循环移位的结果的Nt段输出数据#1至#Nt
具体地,在图17的循环移位设备33处执行M个单位的循环移位的情况中(在意图获得执行M个单位的循环移位的结果的情况中),选择电路102根据来自选择控制电路103的选择控制信号选择来自桶形移位器61的移位数据#1至#M并输出为M个输出数据#1至#M。
此外,在图17的循环移位设备33处执行Nt个单位的循环移位的情况中(在意图获得执行Nt个单位的循环移位的结果的情况中),选择电路102根据来自选择控制电路103的选择控制信号在桶形移位器61执行循环移位的方向上从排头起选择第1至第Nt-k个移位数据#1至#Nt-k并输出为第1至第Nt-k个输出数据。此外,选择电路102在桶形移位器61执行循环移位的方向上从排头起选择第Nt-k+1+(M-Nt)至第Nt+(M-Nt)个移位数据#Nt-k+1+(M-Nt)至#Nt+(M-Nt),作为第Nt-k+1至第N个输出数据#Nt-k+1至#Nt
表示移位量k的控制信号以及表示执行多少个单位(M个单位或者N1,N2,...,NT-1或者NT个单位)的循环移位的选择信号从控制设备34(图3)被提供给选择控制电路103。
选择控制电路103基于来自控制设备34(图3)的选择信号以及移位量k来生成选择控制信号(后面将描述),并提供给选择电路102。
图18图示出了图17的选择电路102的配置示例。
该选择电路102由具有T+1个输入和一个输出的N1-1个选择器111_2至111_N1构成,以从M个单位的桶形移位器61输出的M段移位数据#1至#M中选择在循环移位的方向上从排头起的Nt-k段移位数据#1至#Nt-k,按原样作为输出数据#1至#Nt-k,并且然后,选择位于向下(向后)M-Nt位的位置处的k段移位数据#Nt-k+(M-Nt)+1,...,#M,作为输出数据#Nt-k+1至#Nt
在选择器中111_n(n=2,3,...,N1)中,桶形移位器61(图17)输出的移位数据#n被提供给T+1个输入端子中的第一输入端子#0。此外,在第2至第T+1个输入端子#1至#T中,位于从移位数据#n向后M-Nt段的位置处的移位数据#n+(M-Nt)被提供给第t+1输入端子#t。
然而,在不存在位于从移位数据#n向后M-Nt段的位置处的移位数据#n+(M-Nt)的情况中,没有数据被提供给第t+1输入端子#t(无效数据被提供给它)。
具体地,例如,对于选择器111_NT+1,从移位数据#NT+1向后M-NT段的位置处没有移位数据#NT+1+(M-NT)(NT+1+(M-NT)>M成立),因此,没有数据被提供给其第T+1个输入端子#T。
此外,例如,对于选择器111_N1,从移位数据#N1向后M-N1段的位置处存在移位数据##N1+(M-N1),但是对于t为2至T的范围,从移位数据#N1向后M-Nt段的位置处不存在移位数据#N1+(M-Nt)(N1+(M-Nt)>M成立),因此,没有数据被提供给其第3至第T+1个输入端子#2至#T。
对于作为在2至Nt的范围中的整数的n,选择器111_n选择提供给第一输入端子#0的移位数据#n(第n个移位数据)或者提供给第t+1个输入端子#t的移位数据#n+(M-Nt)(第n+(M-Nt)个移位数据),并输出为输出数据#n(第n个输出数据)。
具体地,除了移位数据#n和#n+(M-N1)之外,桶形移位器61(图17)输出的#n+(M-N2),...,#n+(M-NT)、来自选择控制电路103(图17)的选择控制信号c_2,c_3,...,c_N1中的第n-1个c_n(从排头开始)也被提供给选择器111_n。
在来自选择控制电路103的选择控制信号中的第n-1个c_n为“0”的情况中,选择器111_n选择提供给第一输入端子#0的移位数据#n,并输出为输出数据#n。
此外,在来自选择控制电路103的选择控制信号中的第n-1个c_n为“t”的情况中,选择器111_n选择提供给第t+1个输入端子#t的移位数据#n+(M-Nt),并输出为输出数据#n。
如上所述,在包括Nt-1个选择器111_2至111_N1的选择电路102中,桶形移位器61(图17)循环移位由M段输入数据#1至#M组成的并行数据,并且作为该循环移位的结果,在输出M段移位数据#1至#M的情况中,输出第1移位数据#1作为第一输出数据#1,并且在选择器111_n中,第n个移位数据#n被选择并被输出为第n个输出数据#n,并且第N1+1至第M个移位数据#N1+1至#M被选择并且被输出为第N1+1至第M个输出数据#N1+1至#M。
另一方面,在桶形移位器61(图17)循环移位由小于M段的Nt段输入数据#1至#Nt组成的并行数据,并且作为该循环移位的结果,输出M段移位数据#1至#M的情况中,在选择电路102中,第1移位数据#1被输出作为第一输出数据#1,并且在第1至第Nt-k-1个选择器111_2至111_Nt-k中,第n个移位数据#n被选择并被输出为第n个输出数据#n,并且在第Nt-k至第Nt-1个选择器111_Nt-k+1至111_Nt中,第n+(M-Nt)个移位数据#n+(M-Nt)被选择并且被输出为第n个输出数据#n。
选择控制电路103基于从控制设备34(图3)提供来的移位量k和选择信号来生成用于操作如上所述的选择电路102的选择控制信号c_2至c_N1,并提供给选择电路102,从而控制选择电路102的选择器111_2至111_N1对移位数据的选择。
具体地,控制设备34将表示M个单位或者N1,N2,...,NT-1或NT个单位中的一者的循环移位的选择信号提供给图17的循环移位设备33。
在来自控制设备34的选择信号表示M个单位的循环移位的情况中,选择控制电路103生成值全为“0”的选择控制信号c_2至c_N1,并提供给选择电路102。
此外,在来自控制设备34的选择信号表示Nt个单位的循环移位的情况中,选择控制电路103参考用于将来自控制设备34的移位量k转换为选择控制信号c_2至c_N1的转换表,以生成选择控制信号c_2至c_N1,并提供给选择电路102。
后面将描述选择控制电路103所参考的转换表。
图19图示出了在M为8并且N可以取3(=T)个整数值N1=6,N2=5以及N3=4的情况中的选择电路102的配置示例。
在M为8并且N1为6的情况中,选择电路102由5(=N1-1)个选择器111_2至111_6构成。
选择器111_n包括4(=T+1)个输入端子#0至#3。然后,桶形移位器61(图17)输出的移位数据#n被提供给第一输入端子#0,并且从移位数据#n向后M-Nt位处的移位数据#n+(M-Nt)被提供给第t+1个输入端子#t。
具体地,在选择器111_2中,分别地,移位数据#2被提供给第一输入端子#0,移位数据#4被提供给第二输入端子#1,移位数据#5被提供给第三输入端子#2,并且移位数据#6被提供给第四输入端子#3。
在选择器111_3中,分别地,移位数据#3被提供给第一输入端子#0,移位数据#5被提供给第二输入端子#1,移位数据#6被提供给第三输入端子#2,并且移位数据#7被提供给第四输入端子#3。
在选择器111_4中,分别地,移位数据#4被提供给第一输入端子#0,移位数据#6被提供给第二输入端子#1,移位数据#7被提供给第三输入端子#2,并且移位数据#8被提供给第四输入端子#3。
在选择器111_5中,分别地,移位数据#5被提供给第一输入端子#0,移位数据#7被提供给第二输入端子#1,并且移位数据#8被提供给第三输入端子#2。注意,对于选择器111_5,没有数据被提供给第四输入端子#3。
在选择器111_6中,分别地,移位数据#6被提供给第一输入端子#0,并且移位数据#8被提供给第二输入端子#1。注意,对于选择器111_6,没有数据被提供给第三输入端子#2和第四输入端子#3。
此外,选择控制信号c_2,c_3,c_4,c_5和c_6中的第n-1个(从排头起的第n-1个)c_n从选择控制电路103(图17)被提供给选择器111_n。
在来自选择控制电路103的选择控制信号中的第n-1个c_n为“0”的情况中,选择器111_n选择提供给第一输入端子#0的移位数据#n,并输出为输出数据#n。
此外,在来自选择控制电路103的选择控制信号中的第n-1个c_n为t的情况中,选择器111_n选择提供给第t+1个输入端子#t的移位数据#n+(M-Nt),并输出为输出数据#n。
注意,该选择电路102被配置为将来自桶形移位器61的移位数据#1以及#N1+1,#N1+2,...,#M按原样输出为输出数据#1以及#N1+1,#N1+2,...,#M。
具体地,在图19中,在选择电路102中,移位数据#1,#7和#8按原样被输出为输出数据#1,#7和#8。
在桶形移位器61(图17)对由8(=M)段输入数据#1至#8组成的并行数据进行循环移位,并且作为该循环移位结果输出8段移位数据#1至#8的情况中,选择控制电路103(图17)生成值全为“0”的选择控制信号c_2至c_6,并且提供给选择电路102。
在此情况中,在选择电路102中,来自桶形移位器61的移位数据#1被输出为输出数据#1。此外,在选择电路102中,根据选择控制信号c_2至c_6,来自桶形移位器61的移位数据#2至#6被选择并且分别在选择器111_2至111_6处输出为输出数据#2至#6。此外,在选择电路102中,来自桶形移位器61的移位数据#7和#8分别被输出为输出数据#7和#8。
另一方面,在桶形移位器61(图17)对由小于8(=M)的Nt段输入数据#1至#Nt(这里,为N1=6,N2=5以及N3=4中的一个)组成的并行数据进行循环移位,并且作为该循环移位结果输出8段移位数据#1至#8(其中,在这些移位数据中,M-Nt段移位数据是无效数据)的情况中,选择控制电路103基于用于循环移位Nt段输入数据#1至#Nt的移位量K,参考转换表来生成选择控制信号c_2至c_6,并且提供给选择电路102。
图20图示出了在如图19所示那样配置选择电路102的情况中由选择控制电路103参考的转换表。
在转换表被配置为如图20所示的水平轴表示选择控制信号c_n并且此外垂直轴表示移位量k这样的表的情况中,在执行Nt个单位的循环移位时将要参考的转换表是宽度×长度为(Nt-1)×Nt的矩阵(行×列为Nt行×(Nt-1)列的矩阵),并且是这样的矩阵,其中,包括对角线上的分量的左上侧上的三角形部分的分量为0,并且右下侧上的三角形的分量为t。
具体地,图20中的A图示出了执行N1个单位,即,六(=N1)个单位的循环移位的情况中的转换表。
根据图20的A中的转换表,在移位量k例如为如图10所述的3的情况中,选择控制电路103生成0,0,1,1,1作为选择控制信号c_2至c_6,并提供给选择电路102。
在此情况中,在选择电路102中,来自桶形移位器61的移位数据#1,#7和#8分别被输出为输出数据#1,#7和#8。然而,作为最后的M-N1段输出数据的输出数据#7和#8不被当作循环移位的结果,并且例如被丢弃。注意,输出数据#7和#8可以按原样被输出。
此外,在选择电路102中,来自桶形移位器61的移位数据#2和#3根据值为“0”的选择控制信号c_2和c_3在选择器111_2和111_3处分别被选择并输出为输出数据#2和#3。
此外,在选择电路102中,来自桶形移位器61的移位数据#6至#8根据值为“1”的选择控制信号c_4至c_6在选择器111_4至111_6处分别被选择并输出为输出数据#4至#6。
如上所述,在选择电路102中,来自桶形移位器的移位数据#1,#2,#3以及#6至#8分别被输出为输出数据#1至#6。
在移位量k为3的情况中,如上面在图10中描述的,对于输入数据#1至#6,桶形移位器61输出的移位数据#1至#8变为输入数据#4,#5,#6,x,y,#1,#2和#3的排列。
因此,如上所述,在选择电路102中,来自桶形移位器61的移位数据#1,#2,#3以及#6至#8分别被输出作为输出数据#1至#6,由此这些输出数据#1至#6变为通过将输入数据#1至#6循环移位移位量k=3而获得的输入数据#4,#5,#6,#1,#2和#3的排列。
图20中的B图示出了在执行N2个单位,即,五(=N2)个单位的循环移位的情况中的转换表。
根据图20的B中的转换表,在移位量k例如为3的情况中,选择控制电路103生成0,2,2,2作为选择控制信号c_2至c_5,并提供给选择电路102。
在此情况中,在选择电路102中,来自桶形移位器61的移位数据#1被输出为输出数据#1。
此外,在选择电路102中,来自桶形移位器61的移位数据#2根据值为“0”的选择控制信号c_2在选择器111_2处被选择并被输出为输出数据#2。
此外,在选择电路102中,来自桶形移位器61的移位数据#6至#8根据值为“2”的选择控制信号c_3至c_5在选择器111_3至111_5处被选择并被输出为输出数据#3和#5。
如上所述,在选择电路102中,来自桶形移位器61的移位数据#1,#2以及#6至#8分别被输出为输出数据#1至#5。
在移位量k为3的情况中,对于输入数据#1至#5,桶形移位器61输出的移位数据#1至#8变为输入数据#4,#5,×,×,×,#1,#2和#3的排列。这里,叉标记(×标记)表示无效数据。
因此,如上所述,在选择电路102中,来自桶形移位器61的移位数据#1,#2以及#6至#8分别被输出为输出数据#1至#5,由此这些输出数据#1至#5变为通过将输入数据#1至#5循环移位移位量k=3而获得的输入数据#4,#5,#1,#2和#3的排列。
注意,在此情况中,输出数据#6至#8为无效数据并且例如在选择电路102处被丢弃。然而,输出数据#6至#8可以按原样被输出。
图20中的C图示出了执行N3个单位,即,四(=N3)个单位的循环移位的情况中的转换表。
根据图20的C中的转换表,在移位量k例如为3的情况中,选择控制电路103生成3,3,3作为选择控制信号c_2至c_4,并提供给选择电路102。
在此情况中,在选择电路102中,来自桶形移位器61的移位数据#1被输出为输出数据#1。
此外,在选择电路102中,来自桶形移位器61的移位数据#6至#8根据值为“3”的选择控制信号c_2至c_4在选择器111_2至111_4处被选择并分别被输出为输出数据#2至#4。
如上所述,在选择电路102中,来自桶形移位器61的移位数据#1以及#6至#8分别被输出为输出数据#1至#4。
在移位量k为3的情况中,对于输入数据#1至#4,桶形移位器61输出的移位数据#1至#8变为输入数据#4,×,×,×,×,#1,#2和#3的排列。
因此,如上所述,在选择电路102中,来自桶形移位器61的移位数据#1以及#6至#8分别被输出为输出数据#1至#4,由此这些输出数据#1至#4变为通过将输入数据#1至#4循环移位移位量k=3而获得的输入数据#4,#1,#2和#3的排列。
注意,在此情况中,输出数据#5至#8为无效数据并且例如在选择电路102处被丢弃。然而,输出数据#5至#8可以按原样被输出。
如上所述,在包括M个单位的桶形移位器61的循环移位设备33中,在将由小于M段的Nt段输入数据组成的并行数据循环移位小于Nt的移位量k的情况中,选择电路102在桶形移位器61执行循环移位的方向上从排头起选择第1至第Nt-k个移位数据#1至#Nt-k并输出作为第1至第Nt-k个输出数据#1至#Nt-k,并且在桶形移位器61执行循环移位的方向上从排头起选择第Nt-k+1+(M-Nt)至第Nt+(M-Nt)个移位数据#M-k+1至#M并输出为第Nt-k+1至第N个输出数据#Nt-k+1至#Nt,由此,除了M段输入数据的循环移位以外,还可以利用M个单位的桶形移位器61来执行M段以外的Nt段输入数据的循环移位,即,N1,N2,...,NT-1和NT个单位的循环移位。
因此,M个单位以及小于M(2以上)的T类单位,即总共T+1类单位的循环移位可以被执行而无需提供M个单位的桶形移位器61以外的桶形移位器,并且可以以较小的大小来配置循环移位设备33。
如上所述,T个(多个)整数值N1,N2,...,NT被采用作为小于M的N,从而可以在三种或更多种广播方法中共享图3的LDPC解码设备。
具体地,如上所述,在DVB-S2中,循环结构的单位的列数P为360,并且在高级BS中,循环结构的单位的列数P为374。
此外,例如,在作为中国地面数字广播规范的DTMB(数字地面多媒体广播)中,127被采用作为循环结构的单位的列数P。
此外,在将被重新设计的新的广播规范中(或者根据现有广播规范的修改),与374、360和127不同的值,例如,256等可以被采用作为循环结构的单位的列数P。
因此,例如,三个整数值N1,N2和N3被采用作为N,并且M被设置为374,并且此外N1,N2和N3分别被设置为360、256和127,从而图3的LDPC解码设备可以被DVB-S2、高级BS、DTMB和新广播规范的四种广播方法(规范)共享。
接下来,尽管面的情况中,循环结构的单位的列数P被采用作为图3的LDPC解码设备的计算单位Q,然而,除此之外,循环结构的单位的列数P中的1和P以外的除数P′例如可被采用作为计算单位Q。
具体地,在奇偶校验矩阵由P×P的配置矩阵构成的情况中,可以通过根据需要执行的行或列的置换,来将该P×P的配置矩阵划分为作为P的除数的P′×P′的配置矩阵(仿佛其就是P′×P′的配置矩阵)。
因此,在循环结构的单位的列数P的除数P′被采用作为计算单位Q的情况中,也可以以与采用循环结构的单位的列数P作为计算单位Q的情况相同的方式来执行LDPC码的解码。
图21图示出了P×P的配置矩阵以及通过划分该配置矩阵而获得的P′×P′的配置矩阵。
具体地,图21中的A图示出了作为P×P的配置矩阵的6×6配置矩阵。
图21的A中的配置矩阵是通过将单位矩阵6×6向右循环移位一列而获得的移位矩阵。
图21中的B图示出了这样的状态,其中,图21的A中的6×6配置矩阵被划分为四个作为6的除数的3×3配置矩阵。
图21的A中的6×6配置矩阵可以通过执行行置换以及列置换而被划分为如图21的B中所示的四个3×3配置矩阵,在行置换中,分别地,其第一行(第一排)被第一行置换,第三行被第二行置换,第五行被第三行置换,第二行被第四行置换,第四行被第五行置换,并且第六行被第六行置换,并且在列置换中,分别地,第一列(第一竖列)被第一列置换,第三列被第二列置换,第五列被第三列置换,第二列被第四列置换,第四列被第五列置换,并且第六列被第六列置换。
图21中的C图示出了这样的状态,其中,图21的A中的6×6配置矩阵被划分为九个作为6的除数的2×2配置矩阵。
图21的A中的6×6配置矩阵可以通过执行行置换以及列置换而被划分为如图21的C中所示的九个2×2配置矩阵,在该行置换中,分别地,第一行被第一行置换,第四行被第二行置换,第二行被第三行置换,第五行被第四行置换,第三行被第五行置换,并且第六行被第六行置换,并且在该列置换中,分别地,第一列被第一列置换,第四列被第二列置换,第二列被第三列置换,第五列被第四列置换,第三列被第五列置换,并且第六列被第六列置换。
根据如上所述的配置矩阵的划分,循环结构的单位的列数P的除数P′可被采用作为计算单位Q,因此,可以进一步减小图3的LDPC解码设备的大小,并且此外可以实现效率的增加。
具体地,例如,在作为中国地面数字广播规范的DTMB中,如上所述,127被采用作为循环结构的单位的列数P。
现在,如果我们假设图3的LDPC解码设备在DVB-S2与DTMB之间被共享,则循环结构的单位的列数P被采用,并且对于DVB-S2计算单位Q为360(=P),并且对于DTMB计算单位Q为127(=P)。
在此情况中,在图8的循环移位设备33中,M为360,并且N为127。
在M为360的情况中,log2M以上的最小整数K为9,因此,需要布置了具有两个输入和一个输出的九(=K)级选择器的桶形移位器来作为桶形移位器61。
然而,在127个单位的循环移位中,九级选择器中的仅第一级至第七级(log2M以上的最小整数)的选择器是必要的(未被使用)。
因此,在M为360并且N为127的情况中,需要将布置有九级选择器的桶形移位器采用作为桶形移位器61,这是低效率的,并且增大了循环移位设备33的大小。
因此,例如,作为循环结构的单位的列数P(=360)的除数P′的180被采用作为DVB-S2的计算单位Q,由此布置有较少级选择器的桶形移位器可被采用作为桶形移位器61,并且作为其结果,可以实现图8的循环移位设备33(因此,图3的LDPC解码设备)的小型化以及高效率。
具体地,在作为循环结构的单位的列数P(=360)的除数P′的180被采用作为DVB-S2的计算单位Q的情况中,M为360,并且N为127。
在M为180并且log2M以上的最小整数K为8的情况中,桶形移位器61变为通过八(=K)级布置了具有两个输入和一个输出的180(=M)个选择器的桶形移位器。
因此,在M为180的情况中,与M为360的情况相比,桶形移位器61可被配置有较小的大小,并且还可以更有效地被使用。
注意,在T个整数N1至NT被采用作为N的情况中,也可以根据需要将循环结构的单位的列数P的除数P′采用作为计算单位Q。
具体地,在图3的LDPC解码设备例如被共享用于DVB-S2、高级BS、DTMB和新广播规范的情况中,例如,分别地,作为循环结构的单位的列数P(=360)的除数P′的180被采用作为DVB-S2的计算单位Q,作为循环结构的单位的列数P(=374)的除数P′的187被采用作为高级BS的计算单位Q,作为循环结构的单位的列数P的127被采用作为DTMB的计算单位Q,并且作为循环结构的单位的列数P(=256)的除数P′的128被采用作为新广播规范的计算单位Q。
然后,可以通过将M设为187,并且还将N1,N2和N3设为180,128,和127,来将图3的LDPC解码设备例如共享用于DVB-S2、高级BS、DTMB和新广播规范。
如上所述,在M的值接近N(Nt)的值的情况中,桶形移位器61可被有效地使用。
接下来,图22是图示出应用了本发明的接收系统的第一实施例的配置示例的框图。
在图22中,该接收系统由获取单元201、传输路径解码处理单元202以及信息源解码处理单元203构成。
获取单元201例如以与图1的获取单元11相同的方式被配置,并且例如经由诸如地面数字广播、卫星数字广播、CATV网络、因特网、另一网络等之类的未示出的传输路径来获取信号,并提供给传输路径解码处理单元202。
传输路径解码处理单元202使由获取单元201经由传输路径获得的信号经过至少包括用于校正在传输路径上导致的错误的处理的传输路径解码处理,并且将作为其结果而获得的信号提供给信息源解码处理单元203。
具体地,由获取单元201经由传输路径获得的信号是通过至少执行用于校正在传输路径上导致的错误的纠错编码而获得的信号,并且传输路径解码处理单元202使信号经过传输路径解码处理,例如,纠错处理等。
这里,纠错编码的示例包括LDPC编码和里德-所罗门(Reed-Solomon)编码。这里,至少LDPC编码作为纠错编码被执行。
此外,传输路径解码处理可以包括对调制信号的解调等。
信息源解码处理单元203使已经过传输路径解码处理的信号经过信息源解码处理,至少包括用于对压缩信息进行解压缩以获得原始信息的处理。
具体地,由获取单元201经由传输路径获得的信号可能经过了用于压缩信息以减少作为信息的诸如图像或音频之类的数据的量的压缩编码,并且在此情况中,信息源解码处理单元203使已经过传输路径解码处理的信号经过信息源解码处理,例如用于对压缩信息进行解压缩以获得原始信息的处理(解压缩处理)等。
注意,在由获取单元201经由传输路径获得的信号未经过压缩编码的情况中,用于对压缩信息进行解压缩以获得原始信息的处理不在信息源解码处理单元203处被执行。
这里,解压缩处理的示例例如包括MPEG解码。此外,传输路径解码处理除了包括解压缩处理以外,还可以包括解扰等等。
在如此配置的接收系统中,在获取单元201处,例如,诸如图像或音频之类的数据经过诸如MPEG编码等之类的压缩编码,并且此外,经过了诸如LDPC编码等之类的纠错编码的信号经由传输路径被获得,并被提供给传输路径解码处理单元202。
在传输路径解码处理单元202中,来自获取单元201的信号经过作为传输路径解码处理的与图1的解调单元12相同的处理,并且作为其结果获得的信号被提供给信息源解码处理单元203。
在信息源解码处理单元203中,来自传输路径解码处理单元202的信号经过作为信息源解码处理的与图1的解码器14相同的处理,并且作为其结果获得的图像或音频被输出。
如上所述的图22的接收系统例如可被应用到用于接收作为数字广播的电视广播的电视调谐器,等等。
注意,获取单元201、传输路径解码处理单元202以及信息源解码处理单元203可被配置为单独的设备(硬件(IC(集成电路)等)或软件模块)。
此外,对于获取单元201、传输路径解码处理单元202以及信息源解码处理单元203,获取单元201和传输路径解码处理单元202的集合、传输路径解码处理单元202和信息源解码处理单元203的集合,以及获取单元201、传输路径解码处理单元202和信息源解码处理单元203的集合可被配置为单独的设备。
图23是图示出应用了本发明的接收系统的第二实施例的配置示例的框图。
注意,与图22的情况相对应的部分用相同的标号来表示,并且在下面,适当地省略其描述。
图23中的接收系统与图22的情况的共同之处在于包括获取单元201、传输路径解码处理单元202和信息源解码处理单元203,而与图22的情况的不同之处在于新提供了输出单元211。
输出单元211例如是用于显示图像的显示设备或用于输出音频的扬声器,并且输出图像或音频等作为从信息源解码处理单元203输出的信号。具体地,输出单元211显示图像或输出音频。
如上所述的图23的接收系统例如可被应用到用于接收作为数字广播的电视广播的电视机、用于接收无线电广播的无线电接收机,等等。
注意,在获取单元201处获得的信号未经过压缩编码的情况中,传输路径解码处理单元202输出的信号被提供给输出单元211。
图24是图示出应用了本发明的接收系统的第三实施例的配置示例的框图。
注意,与图22的情况相对应的部分用相同的标号来表示,并且在下面,适当地省略其描述。
图24中的接收系统与图22的情况的共同之处在于包括获取单元201和传输路径解码处理单元202。
然而,图24中的接收系统与图22的情况的不同之处在于未提供信息源解码处理单元203,并且新提供了记录单元221。
记录单元221将传输路径解码处理单元202输出的信号(例如,MPEG的TS的TS分组)记录(存储)在记录(存储)介质中,例如光盘、硬盘(磁盘)、闪存等。
如上所述的图24的接收系统可被应用到用于记录电视广播的记录器,等等。
注意,在图24中,通过提供信息源解码处理单元203来配置该接收系统时,在信息源解码处理单元203处经过信息源解码处理的信号,即,通过解码获得的图像或音频可被记录在记录单元221中。
到此为止针对将本发明应用于用于执行LDPC解码的LDPC解码设备的情况作出了描述,然而,除此之外,本发明还可被应用于用于执行可变长度解码的设备以及需要循环移位的其它设备。
注意,本发明的实施例不限于上述实施例,并且可以在不脱离本发明的本质和精神的情况下作出各种改变。
标号列表
11获取单元,12解调单元,13解复用器,14解码器,15显示单元,31存储设备,32计算设备,321至32M计算单元,33循环移位设备,34控制设备,51、52桶形移位器,53选择器,61桶形移位器,62选择电路,63选择控制电路,711至718、721至728、731至738、811至81N选择器,102选择电路,103选择控制电路,111_2至111_N1选择器,201获取单元,202传输路径解码处理单元,203信息源解码处理单元,211输出单元,221记录单元

Claims (12)

1.一种循环移位设备,包括:
桶形移位器,被配置为执行M个单位的循环移位,用于对由M段输入数据组成的并行数据进行循环移位,以输出M段移位数据;以及
选择电路,被配置为选择由所述桶形移位器输出的所述M段移位数据,作为通过循环移位所述M段输入数据而获得的M段输出数据;
其中,在将由小于M段输入数据的N段输入数据组成的并行数据循环移位小于所述N的移位量k的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第N-k个移位数据,作为第一至第N-k个输出数据,
并且,选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据,作为第N-k+1至第N个输出数据。
2.根据权利要求1所述的循环移位设备,其中,所述选择电路包括
N-1个选择器,被配置为对于作为在2至N的范围中的整数的n,选择第n个或第n+(M-N)个移位数据并且输出为第n个输出数据,
并且,在所述桶形移位器循环移位所述由M段输入数据组成的并行数据的情况中,
输出所述第一个移位数据作为所述第一个输出数据,并且,在选择所述第n个或第n+(M-N)个移位数据的所述第n-1个选择器中,
选择并输出所述第n个移位数据作为所述第n个输出数据,
并且,输出第N+1至第M个移位数据作为第N+1至第M个输出数据,
并且,在所述桶形移位器将所述由N段输入数据组成的并行数据循环移位所述移位量k的情况中,
输出所述第一个移位数据作为所述第一个输出数据,
并且,在第一至第N-k-1个选择器中,
选择并输出第n个移位数据作为第n个输出数据,
并且,在第N-k至第N-1个选择器中,
选择并输出第n+(M-N)个移位数据作为所述第n个输出数据。
3.根据权利要求2所述的循环移位设备,还包括:
选择控制电路,被配置为基于所述移位量k以及表示是对所述由M段输入数据组成的并行数据还是对所述由N段输入数据组成的并行数据执行循环移位的选择信号,根据所述选择器来控制对移位数据的选择。
4.根据权利要求1所述的循环移位设备,其中,所述M段为374段,
并且其中,所述N段为360段。
5.根据权利要求1所述的循环移位设备,其中,所述N取大于等于2但小于M的范围中的T个整数值N1,N2,...,NT
并且,当所述T个整数值N1,N2,...,NT中按降序的第t个整数值被表示为Nt时,
所述选择电路包括
Nt-1个具有T+1个输入和一个输出的选择器,被配置为对于作为在2至N1的范围中的整数的n,选择第n,第n+(M-N1),第n+(M-N2),...,第n+(M-NT-1)或第n+(M-NT)个移位数据,并输出为所述第n个输出数据,
并且,在所述桶形移位器循环移位由所述M段输入数据组成的并行数据的情况中,
输出所述第一个移位数据作为所述第一个输出数据,
并且,在选择第n,第n+(M-N1),第n+(M-N2),...,第n+(M-NT-1)或第n+(M-NT)个移位数据的第n-1个选择器中,
选择并输出所述第n个移位数据作为所述第n个输出数据,
并且,输出第N1+1至第M个移位数据作为第N1+1至第M个输出数据,
并且,在所述桶形移位器将由Nt段输入数据组成的并行数据循环移位小于Nt的移位量k的情况中,
输出所述第一个移位数据作为所述第一个输出数据,
并且,在第一至第Nt-k-1个选择器中,
选择并输出第n个移位数据作为所述第n个输出数据,
并且,在第Nt-k至第Nt-1个选择器中,
选择并输出第n+(M-Nt)个移位数据作为所述第n个输出数据。
6.一种循环移位方法,其中,在包括:
桶形移位器,被配置为执行M个单位的循环移位,用于对由M段输入数据组成的并行数据进行循环移位,以输出M段移位数据,以及
选择电路,被配置为选择由所述桶形移位器输出的所述M段移位数据,作为通过循环移位所述M段输入数据而获得的M段输出数据
的循环移位设备将由小于M段输入数据的N段输入数据组成的并行数据循环移位小于N的移位量k的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第N-k个移位数据,作为第一至第N-k个输出数据,
并且,选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据,作为第N-k+1至第N个输出数据。
7.一种低密度奇偶校验解码设备,包括:
M个计算装置,被配置为对于Q个节点,同时执行用于对低密度奇偶校验LDPC码进行解码的检查节点的计算和可变节点的计算,其中,所述M等于或大于所述Q;以及
循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;
其中,所述循环移位装置包括
桶形移位器,被配置为执行M个单位的循环移位,用于对由M段输入数据组成的并行数据进行循环移位,以输出M段移位数据,以及
选择电路,被配置为选择由所述桶形移位器输出的所述M段移位数据,作为通过循环移位所述M段输入数据而获得的M段输出数据;
并且其中,在所述Q等于所述M,所述计算装置输出所述M个消息,并且所述M个消息作为所述M段输入数据,由所述M段输入数据组成的并行数据被循环移位的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第M个移位数据,作为第一至第M个输出数据;
并且其中,在所述Q与小于所述M的N相等,所述计算装置输出N个消息,并且所述N个消息作为N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第N-k个移位数据,作为第一至第N-k个输出数据,
并且,选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据,作为第N-k+1至第N个输出数据。
8.一种电视接收机,包括:
获取装置,被配置为获取发送数据,所述发送数据包括通过使节目的数据至少经过低密度奇偶校验LDPC编码而获得的LDPC码;以及
LDPC解码装置,被配置为对包括在所述发送数据中的LDPC码进行解码;
其中,所述LDPC解码装置包括
M个计算装置,被配置为对于Q个节点,同时执行用于对LDPC码进行解码的检查节点的计算和可变节点的计算,其中,所述M等于或大于所述Q,以及
循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;
并且其中,所述循环移位装置包括
桶形移位器,被配置为执行M个单位的循环移位,用于对由M段输入数据组成的并行数据进行循环移位,以输出M段移位数据,以及
选择电路,被配置为选择由所述桶形移位器输出的所述M段移位数据,作为通过循环移位所述M段输入数据而获得的M段输出数据;
并且其中,在所述Q等于所述M,所述计算装置输出所述M个消息,并且所述M个消息作为所述M段输入数据,由所述M段输入数据组成的并行数据被循环移位的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第M个移位数据,作为第一至第M个输出数据;
并且其中,在所述Q与小于所述M的N相等,所述计算装置输出N个消息,并且所述N个消息作为所述N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第N-k个移位数据,作为第一至第N-k个输出数据,
并且,选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据,作为第N-k+1至第N个输出数据。
9.一种接收系统,包括:
传输路径解码处理单元,被配置为使经由传输路径获得的信号经过传输路径解码处理,该传输路径解码处理至少包括用于校正在所述传输路径中导致的错误的处理;以及
信息源解码处理单元,被配置为使经过了所述传输路径解码处理的信号经过信息源解码处理,该信息源解码处理至少包括用于对压缩信息进行解压缩以获得原始信息的处理;
其中,经由所述传输路径获得的信号是通过至少执行用于压缩信息的压缩编码以及用于校正在所述传输路径中导致的错误的纠错编码而获得的信号;
并且其中,所述纠错编码包括低密度奇偶校验LDPC编码;
并且其中,所述传输路径解码处理单元包括
M个计算装置,被配置为对于Q个节点,同时执行用于对LDPC码进行解码的检查节点的计算和可变节点的计算,其中,所述M等于或大于所述Q,以及
循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;
并且其中,所述循环移位装置包括
桶形移位器,被配置为执行M个单位的循环移位,用于对由M段输入数据组成的并行数据进行循环移位,以输出M段移位数据,以及
选择电路,被配置为选择由所述桶形移位器输出的所述M段移位数据,作为通过循环移位所述M段输入数据而获得的M段输出数据;
并且其中,在所述Q等于所述M,所述计算装置输出所述M个消息,并且所述M个消息作为所述M段输入数据,由所述M段输入数据组成的并行数据被循环移位的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第M个移位数据,作为第一至第M个输出数据;
并且其中,在所述Q与小于所述M的N相等,所述计算装置输出N个消息,并且所述N个消息作为所述N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第N-k个移位数据,作为第一至第N-k个输出数据,
并且,选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据,作为第N-k+1至第N个输出数据。
10.一种接收系统,包括:
传输路径解码处理单元,被配置为使经由传输路径获得的信号经过传输路径解码处理,该传输路径解码处理至少包括用于校正在所述传输路径中导致的错误的处理;以及
输出单元,被配置为基于经过了所述传输路径解码处理的信号来输出图像或音频;
其中,经由所述传输路径获得的信号是通过至少执行用于校正在所述传输路径中导致的错误的纠错编码而获得的信号;
并且其中,所述纠错编码包括低密度奇偶校验LDPC编码;
并且其中,所述传输路径解码处理单元包括
M个计算装置,被配置为对于Q个节点,同时执行用于对LDPC码进行解码的检查节点的计算和可变节点的计算,其中,所述M等于或大于所述Q,以及
循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;
并且其中,所述循环移位装置包括
桶形移位器,被配置为执行M个单位的循环移位,用于对由M段输入数据组成的并行数据进行循环移位,以输出M段移位数据,以及
选择电路,被配置为选择由所述桶形移位器输出的所述M段移位数据,作为通过循环移位所述M段输入数据而获得的M段输出数据;
并且其中,在所述Q等于所述M,所述计算装置输出所述M个消息,并且所述M个消息作为所述M段输入数据,由所述M段输入数据组成的并行数据被循环移位的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第M个移位数据,作为第一至第M个输出数据;
并且其中,在所述Q与小于所述M的N相等,所述计算装置输出N个消息,并且所述N个消息作为所述N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第N-k个移位数据,作为第一至第N-k个输出数据,
并且,选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据,作为第N-k+1至第N个输出数据。
11.一种接收系统,包括:
传输路径解码处理单元,被配置为使经由传输路径获得的信号经过传输路径解码处理,该传输路径解码处理至少包括用于校正在所述传输路径中导致的错误的处理;以及
记录单元,被配置为记录经过了所述传输路径解码处理的信号;
其中,经由所述传输路径获得的信号是通过至少执行用于校正在所述传输路径中导致的错误的纠错编码而获得的信号;
并且其中,所述纠错编码包括低密度奇偶校验LDPC编码;
并且其中,所述传输路径解码处理单元包括
M个计算装置,被配置为对于Q个节点,同时执行用于对LDPC码进行解码的检查节点的计算和可变节点的计算,其中,所述M等于或大于所述Q,以及
循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;
并且其中,所述循环移位装置包括
桶形移位器,被配置为执行M个单位的循环移位,用于对由M段输入数据组成的并行数据进行循环移位,以输出M段移位数据,以及
选择电路,被配置为选择由所述桶形移位器输出的所述M段移位数据,作为通过循环移位所述M段输入数据而获得的M段输出数据;
并且其中,在所述Q等于所述M,所述计算装置输出所述M个消息,并且所述M个消息作为所述M段输入数据,由所述M段输入数据组成的并行数据被循环移位的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第M个移位数据,作为第一至第M个输出数据;
并且其中,在所述Q与小于所述M的N相等,所述计算装置输出N个消息,并且所述N个消息作为所述N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第N-k个移位数据,作为第一至第N-k个输出数据,
并且,选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据,作为第N-k+1至第N个输出数据。
12.一种接收系统,包括:
获取装置,被配置为经由传输路径获取信号;以及
传输路径解码处理单元,被配置为使经由所述传输路径获得的信号经过传输路径解码处理,该传输路径解码处理至少包括用于校正在所述传输路径中导致的错误的处理;
其中,经由所述传输路径获得的信号是通过至少执行用于校正在所述传输路径中导致的错误的纠错编码而获得的信号;
并且其中,所述纠错编码包括低密度奇偶校验LDPC编码;
并且其中,所述传输路径解码处理单元包括
M个计算装置,被配置为对于Q个节点,同时执行用于对LDPC码进行解码的检查节点的计算和可变节点的计算,其中,所述M等于或大于所述Q,以及
循环移位装置,被配置为对作为Q个检查节点的计算和Q个可变节点的计算中的一者的结果而获得的Q个分支所对应的Q个消息进行循环移位,以用于接下来将执行的其它计算;
并且其中,所述循环移位装置包括
桶形移位器,被配置为执行M个单位的循环移位,用于对由M段输入数据组成的并行数据进行循环移位,以输出M段移位数据,以及
选择电路,被配置为选择由所述桶形移位器输出的所述M段移位数据,作为通过循环移位所述M段输入数据而获得的M段输出数据;
并且其中,在所述Q等于所述M,所述计算装置输出所述M个消息,并且所述M个消息作为所述M段输入数据,由所述M段输入数据组成的并行数据被循环移位的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第M个移位数据,作为第一至第M个输出数据;
并且其中,在所述Q与小于所述M的N相等,所述计算装置输出N个消息,并且所述N个消息作为所述N段输入数据,由N段输入数据组成的并行数据被循环移位小于N的移位量k的情况中,
所述选择电路选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第一至第N-k个移位数据,作为第一至第N-k个输出数据,
并且,选择并输出在所述桶形移位器执行的循环移位的方向上从排头起的第N-k+1+(M-N)至第N+(M-N)个移位数据,作为第N-k+1至第N个输出数据。
CN200980139184.7A 2008-10-08 2009-10-08 循环移位设备、循环移位方法、ldpc解码设备、电视接收机和接收系统 Expired - Fee Related CN102171936B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008-261504 2008-10-08
JP2008261504A JP5320964B2 (ja) 2008-10-08 2008-10-08 サイクリックシフト装置、サイクリックシフト方法、ldpc復号装置、テレビジョン受像機、及び、受信システム
PCT/JP2009/067529 WO2010041700A1 (ja) 2008-10-08 2009-10-08 サイクリックシフト装置、サイクリックシフト方法、ldpc復号装置、テレビジョン受像機、及び、受信システム

Publications (2)

Publication Number Publication Date
CN102171936A CN102171936A (zh) 2011-08-31
CN102171936B true CN102171936B (zh) 2014-02-26

Family

ID=42100648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980139184.7A Expired - Fee Related CN102171936B (zh) 2008-10-08 2009-10-08 循环移位设备、循环移位方法、ldpc解码设备、电视接收机和接收系统

Country Status (8)

Country Link
US (1) US8612835B2 (zh)
EP (1) EP2333961B1 (zh)
JP (1) JP5320964B2 (zh)
CN (1) CN102171936B (zh)
BR (1) BRPI0920720A2 (zh)
RU (1) RU2480905C2 (zh)
TW (1) TWI433470B (zh)
WO (1) WO2010041700A1 (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009034517A2 (en) * 2007-09-10 2009-03-19 St-Nxp Wireless (Holding) Ag Electronic device, barrel shifter unit and method of barrel shifting
CN102480336B (zh) * 2010-11-30 2014-04-09 中国科学院微电子研究所 一种准循环低密度奇偶校验码的通用快速译码协处理器
US8713398B2 (en) * 2011-03-22 2014-04-29 Nec Corporation Error correct coding device, error correct coding method, and error correct coding program
US9772958B2 (en) * 2011-10-31 2017-09-26 Hewlett Packard Enterprise Development Lp Methods and apparatus to control generation of memory access requests
US8707123B2 (en) * 2011-12-30 2014-04-22 Lsi Corporation Variable barrel shifter
CN102708916A (zh) * 2012-04-16 2012-10-03 东莞市泰斗微电子科技有限公司 一种地址跳转输出装置和方法
KR102068030B1 (ko) 2012-12-11 2020-01-20 삼성전자 주식회사 메모리 컨트롤러 및 그 동작방법
US9524261B2 (en) * 2012-12-21 2016-12-20 Apple Inc. Credit lookahead mechanism
US20140325303A1 (en) * 2013-04-30 2014-10-30 Lsi Corporation Systems and Methods for Protected Data Encoding
KR102240220B1 (ko) * 2013-05-02 2021-04-13 소니 주식회사 데이터 처리 장치 및 데이터 처리 방법
WO2014178299A1 (ja) * 2013-05-02 2014-11-06 ソニー株式会社 データ処理装置、及びデータ処理方法
BR112015027135B1 (pt) * 2013-05-02 2022-02-15 Sony Corporation Dispositivo e método de processamento de dados
KR101476051B1 (ko) * 2013-09-06 2014-12-23 세종대학교산학협력단 Ldpc 엔코더 및 그의 동작 방법
CN105531937A (zh) * 2013-09-20 2016-04-27 索尼公司 数据处理装置和数据处理方法
WO2015072145A1 (ja) * 2013-11-15 2015-05-21 日本放送協会 符号化器、復号器、送信装置及び受信装置
JP6327605B2 (ja) 2014-02-10 2018-05-23 パナソニックIpマネジメント株式会社 可変シフタ、ldpc復号器、及びデータシフト方法
KR20150137430A (ko) * 2014-05-29 2015-12-09 삼성전자주식회사 통신 시스템에서 비-이진 ldpc 부호를 복호화하는 방법 및 장치
US9413390B1 (en) * 2014-07-16 2016-08-09 Xilinx, Inc. High throughput low-density parity-check (LDPC) decoder via rescheduling
CA2864630C (en) * 2014-08-14 2017-05-30 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 4/15, and low density parity check encoding method using the same
US9595977B2 (en) * 2014-09-29 2017-03-14 Apple Inc. LDPC decoder with efficient circular shifters
CN107567639B (zh) * 2015-07-09 2021-09-10 惠普发展公司,有限责任合伙企业 多维循环符号
RU2613533C1 (ru) * 2016-02-08 2017-03-16 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет "МИФИ" (НИЯУ МИФИ) Устройство сдвига
US10128869B2 (en) 2016-05-17 2018-11-13 Apple Inc. Efficient convergence in iterative decoding
JP6885025B2 (ja) * 2016-11-18 2021-06-09 ソニーグループ株式会社 送信装置、及び、送信方法
RU2667772C1 (ru) * 2017-05-05 2018-09-24 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство обработки информации и устройство связи
CN109217878B (zh) * 2017-06-30 2021-09-14 重庆软维科技有限公司 一种数据处理装置及方法
KR102395537B1 (ko) * 2017-08-18 2022-05-10 에스케이하이닉스 주식회사 H 행렬 생성 회로, 그것의 동작 방법 및 그것에 의해 생성된 h 행렬을 사용하는 에러 정정 회로
US10484012B1 (en) * 2017-08-28 2019-11-19 Xilinx, Inc. Systems and methods for decoding quasi-cyclic (QC) low-density parity-check (LDPC) codes
US10727869B1 (en) 2018-03-28 2020-07-28 Xilinx, Inc. Efficient method for packing low-density parity-check (LDPC) decode operations
US11108410B1 (en) 2018-08-24 2021-08-31 Xilinx, Inc. User-programmable LDPC decoder
TWI677878B (zh) * 2018-10-12 2019-11-21 慧榮科技股份有限公司 編碼器及相關的編碼方法與快閃記憶體控制器
CN109756231B (zh) * 2018-12-27 2023-01-31 北京思朗科技有限责任公司 循环移位处理装置及方法
US10877729B2 (en) 2019-01-31 2020-12-29 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Reconfigurable segmented scalable shifter
US10826529B2 (en) * 2019-01-31 2020-11-03 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Parallel LDPC decoder
CN109891756B (zh) * 2019-01-31 2023-03-28 香港应用科技研究院有限公司 可重置分段可缩放移位器
JP7051024B2 (ja) * 2020-02-27 2022-04-08 三菱電機株式会社 復号方法、復号装置、制御回路およびプログラム記憶媒体
US11575390B2 (en) 2021-07-02 2023-02-07 Hong Kong Applied Science and Technology Research Insitute Co., Ltd. Low-latency segmented quasi-cyclic low-density parity-check (QC-LDPC) decoder
US20230342110A1 (en) * 2022-04-20 2023-10-26 L3Harris Technologies, Inc. Variable width barrel shifter
CN115658145B (zh) * 2022-12-13 2023-03-28 摩尔线程智能科技(北京)有限责任公司 数据循环移位方法和电路、以及芯片

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145108A (en) * 1997-09-04 2000-11-07 Conexant Systems, Inc. Retransmission packet capture system within a wireless multiservice communications environment
CN1344439A (zh) * 1999-11-24 2002-04-10 皇家菲利浦电子有限公司 加速的Reed-Solomon纠错

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
JP4224777B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
JP4225163B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号装置および復号方法、並びにプログラム
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
JP4907908B2 (ja) 2005-06-29 2012-04-04 ルネサスエレクトロニクス株式会社 駆動回路及び表示装置
US7724772B2 (en) * 2007-02-21 2010-05-25 National Chiao Tung University Method and apparatus for switching data in communication system
FR2914447B1 (fr) * 2007-03-28 2009-06-26 St Microelectronics Sa Dispositif electronique de decalage de donnees en particulier pour du codage/decodage avec un code ldpc
JP4487213B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、並びにプログラム
US9356623B2 (en) * 2008-11-26 2016-05-31 Avago Technologies General Ip (Singapore) Pte. Ltd. LDPC decoder variable node units having fewer adder stages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145108A (en) * 1997-09-04 2000-11-07 Conexant Systems, Inc. Retransmission packet capture system within a wireless multiservice communications environment
CN1344439A (zh) * 1999-11-24 2002-04-10 皇家菲利浦电子有限公司 加速的Reed-Solomon纠错

Also Published As

Publication number Publication date
WO2010041700A1 (ja) 2010-04-15
TW201015873A (en) 2010-04-16
JP5320964B2 (ja) 2013-10-23
RU2480905C2 (ru) 2013-04-27
JP2010093541A (ja) 2010-04-22
EP2333961A4 (en) 2013-03-06
BRPI0920720A2 (pt) 2015-12-29
EP2333961B1 (en) 2015-09-16
RU2011112695A (ru) 2012-10-10
TWI433470B (zh) 2014-04-01
US8612835B2 (en) 2013-12-17
CN102171936A (zh) 2011-08-31
US20110191650A1 (en) 2011-08-04
EP2333961A1 (en) 2011-06-15

Similar Documents

Publication Publication Date Title
CN102171936B (zh) 循环移位设备、循环移位方法、ldpc解码设备、电视接收机和接收系统
US11722155B2 (en) Bit interleaver for low-density parity check codeword having length of 16200 and code rate of 4/15 and 16-symbol mapping, and bit interleaving method using same
US20190253076A1 (en) Bit interleaver for low-density parity check codeword having length of 16200 and code rate of 3/15 and quadrature phase shift keying, and bit interleaving method using same
US8205142B2 (en) Error correction coding method and device
KR102546122B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 64-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102557434B1 (ko) 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 256-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102554694B1 (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 1024-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
US20150341047A1 (en) Bit interleaver for low-density parity check codeword having length of 16200 and code rate of 3/15 and 64-symbol mapping, and bit interleaving method using same
CN105556857A (zh) 数据处理装置和数据处理方法
US9104589B1 (en) Decoding vectors encoded with a linear block forward error correction code having a parity check matrix with multiple distinct pattern regions
US10320416B2 (en) Data processing device and data processing method
US10951241B2 (en) Data processing device and data processing method
CN105556856A (zh) 数据处理装置和数据处理方法
CN110071727B (zh) 编码方法、译码方法、纠错方法及装置
CN105556855A (zh) 数据处理装置和数据处理方法
KR102557432B1 (ko) 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 16-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102546119B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 256-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
CN105580281A (zh) 数据处理装置和数据处理方法
US7685497B2 (en) Method and apparatus for efficient computation of check equations in periodical low density parity check (LDPC) codes
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
JP4603518B2 (ja) 符号化装置及び復号化装置
Van Nghia Development of the parallel BCH and LDPC encoders architecture for the second generation digital video broadcasting standards with adjustable encoding parameters on FPGA
KR102546121B1 (ko) 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 4096-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102487764B1 (ko) 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR102554678B1 (ko) 길이가 64800이며, 부호율이 5/15인 ldpc 부호어 및 4096-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140226

Termination date: 20171008