KR20210108789A - 채널 코딩에서 디코딩을 위한 장치 및 방법 - Google Patents

채널 코딩에서 디코딩을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20210108789A
KR20210108789A KR1020200023841A KR20200023841A KR20210108789A KR 20210108789 A KR20210108789 A KR 20210108789A KR 1020200023841 A KR1020200023841 A KR 1020200023841A KR 20200023841 A KR20200023841 A KR 20200023841A KR 20210108789 A KR20210108789 A KR 20210108789A
Authority
KR
South Korea
Prior art keywords
source
decoding
bit
source bits
bits
Prior art date
Application number
KR1020200023841A
Other languages
English (en)
Inventor
최연준
김세형
Original Assignee
삼성전자주식회사
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020200023841A priority Critical patent/KR20210108789A/ko
Priority to US17/039,573 priority patent/US11509334B2/en
Priority to CN202011443492.3A priority patent/CN113315527A/zh
Publication of KR20210108789A publication Critical patent/KR20210108789A/ko

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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • 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/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2978Particular arrangement of the component decoders
    • H03M13/2984Particular arrangement of the component decoders using less component decoders than component codes, e.g. multiplexed decoders and scheduling thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/43Majority logic or threshold decoding
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/617Polynomial operations, e.g. operations related to generator polynomials or parity-check polynomials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Abstract

코드워드(codeword)로부터 일련의 소스 비트들을 순차적으로 판정하기 위한 디코딩 방법은, 본 개시의 예시적 실시예에 따라, 일련의 소스 비트들 중 처음 X개의 소스 비트들을 순차적으로 판정하는 제1 디코딩 단계, 및 일련의 소스 비트들 중 나머지 Y개의 소스 비트들을 순차적으로 판정하는 제2 디코딩 단계를 포함할 수 있고, 제1 디코딩 단계는, L이 영보다 큰 정수일 때, L개의 비트 시퀀스들로부터 계산된 적어도 2L개의 신뢰도 값들을 정렬하는 단계를 포함할 수 있고, 제2 디코딩 단계는, 적어도 2L개의 신뢰도 값들에 기초하여 L개의 비트 시퀀스들 각각에서 소스 비트를 판정하는 단계를 포함할 수 있다.

Description

채널 코딩에서 디코딩을 위한 장치 및 방법{APPARATUS AND METHOD FOR DECODING IN CHANNEL CODING}
본 개시의 기술적 사상은 코드워드의 디코딩에 관한 것으로서, 구체적으로 채널 코딩에서 디코딩을 위한 장치 및 방법에 관한 것이다.
채널 코딩은 리던던시를 추가함으로써 데이터 송신의 신뢰도를 향상시킬 수 있다. 예를 들면, 송신측은 송신하고자 하는 데이터, 즉 페이로드(payload)를 인코딩함으로써 페이로드보다 긴 코드워드(codeword)를 송신할 수 있고, 수신측은 수신된 코드워드를 디코딩함으로써 페이로드를 획득할 수 있다. 이에 따라, 채널에서 발생하는 노이즈 및/또는 간섭에도 불구하고, 수신측은 채널 코딩에 기인하여 페이로드를 정확하게 획득할 수 있다. 송신측 및 수신측은, 채널을 통한 전송량(throughput)의 증대를 위하여 고속으로 인코딩 및 디코딩을 수행할 것이 요구될 뿐만 아니라, 인코딩 및 디코딩에 소요되는 비용, 예컨대 면적, 전력 등을 감소시키기 위하여 효율적으로 인코딩 및 디코딩을 수행할 것이 요구될 수 있다.
본 개시의 기술적 사상은, 채널 코딩에서 높은 성능 및 효율성을 동시에 제공하는 디코딩을 위한 장치 및 방법을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따라 코드워드(codeword)로부터 일련의 소스 비트들을 순차적으로 판정하기 위한 디코딩 방법은, 일련의 소스 비트들 중 처음 X개의 소스 비트들을 순차적으로 판정하는 제1 디코딩 단계, 및 일련의 소스 비트들 중 나머지 Y개의 소스 비트들을 순차적으로 판정하는 제2 디코딩 단계를 포함할 수 있고, 제1 디코딩 단계는, L이 영보다 큰 정수일 때, L개의 비트 시퀀스들로부터 계산된 적어도 2L개의 신뢰도 값들을 정렬하는 단계를 포함할 수 있고, 제2 디코딩 단계는, 적어도 2L개의 신뢰도 값들에 기초하여 L개의 비트 시퀀스들 각각에서 소스 비트를 판정하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따라 폴라 코드(polar code)에 기초하여 인코딩된 코드워드(codeword)로부터 일련의 소스 비트들을 순차적으로 판정하는 폴라 디코딩을 위한 장치는, L이 영보다 큰 정수일 때, L개의 비트 시퀀스들로부터 적어도 2L개의 신뢰도 값들을 계산하는 신뢰도 계산기, 적어도 2L개의 신뢰도 값들을 정렬함으로써, 가장 높은 신뢰도 값을 가지는 L개의 신규 비트 시퀀스들을 생성하는 제1 처리 회로, 적어도 2L개의 신뢰도 값들에 기초하여 L개의 비트 시퀀스들 각각에서 소스 비트를 판정함으로써, L개의 신규 비트 시퀀스들을 생성하는 제2 처리 회로, 및 일련의 소스 비트들의 인덱스들에 기초하여, 제1 처리 회로 및 제2 처리 회로 중 하나를 선택하는 선택 회로를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따라 폴라 코드(polar code)에 기초하여 인코딩된 코드워드(codeword)로부터 일련의 소스 비트들을 획득하기 위한 폴라 디코딩 방법은, SCL(successive cancellation list) 디코딩에 기초하여, 코드워드로부터 제1 비트 그룹에 포함된 소스 비트들을 순차적으로 판정하는 제1 디코딩 단계, 및 SC(successive cancellation) 디코딩에 기초하여, 코드워드로부터 제2 비트 그룹에 포함된 소스 비트들을 순차적으로 판정하는 제2 디코딩 단계를 포함할 수 있고, 제1 비트 그룹은, 최초 판정되는 소스 비트를 포함할 수 있고, 제2 비트 그룹은, 최후 판정되는 소스 비트를 포함할 수 있다.
본 개시의 예시적 실시예에 따른 장치 및 방법에 의하면, 감소된 복잡도에 기인하여, 코드워드가 감소된 전력 및 높은 속도로 디코딩될 수 있다.
또한, 본 개시의 예시적 실시예에 따른 장치 및 방법에 의하면, 높은 신뢰도 및 처리 속도를 제공하는 디코딩에 기인하여, 채널 코딩을 사용하는 통신에서 높은 전송량이 달성될 수 있다.
또한, 본 개시의 예시적 실시예에 따른 장치 및 방법에 의하면, 감소된 소비 전력에 기인하여, 채널 코딩을 사용하는 통신에서 높은 효율성이 달성될 수 있다.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 송신기 및 수신기를 포함하는 통신 시스템을 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이다.
도 3은 본 개시의 예시적 실시예에 따라 디코딩 방법에 의해서 생성되는 소스 데이터의 예시를 나타내는 도면이다.
도 4a는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이고, 도 4b는 본 개시의 예시적 실시예에 따른 디코딩 방법에 의해서 형성되는 디코딩 트리의 예시를 나타내는 도면이다.
도 5a는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이고, 도 5b는 본 개시의 예시적 실시예에 따른 디코딩 방법에 의해서 형성되는 디코딩 트리의 예시를 나타내는 도면이다.
도 6a는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이고, 도 6b는 본 개시의 예시적 실시예에 따른 디코딩 방법에 의해서 형성되는 디코딩 트리의 예시를 나타내는 도면이다.
도 7a는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이고, 도 7b는 본 개시의 예시적 실시예에 따른 디코딩 방법에 의해서 형성되는 디코딩 트리의 예시를 나타내는 도면이다.
도 8은 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이다.
도 9는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이다.
도 10은 본 개시의 예시적 실시예에 따른 디코더의 예시를 나타내는 블록도이다.
도 11은 본 개시의 예시적 실시예에 따른 선택 회로의 예시를 나타내는 블록도이다.
도 12는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시들을 나타내는 순서도이다.
도 13은 본 개시의 예시적 실시예에 따른 데이터 프로세서를 나타내는 블록도이다.
도 1은 본 개시의 예시적 실시예에 따른 송신기(10) 및 수신기(20)를 포함하는 통신 시스템(100)을 나타내는 블록도이다. 도 1에 도시된 바와 같이, 송신기(10) 및 수신기(20)는 채널(30)을 통해서 통신할 수 있다.
통신 시스템(100)은 송신기(10) 및 수신기(20) 사이 통신 프로토콜을 정의하는 임의의 통신 시스템일 수 있다. 일부 실시예들에서, 채널(30)은 무선 자원(radio resource)을 사용하는 무선 채널일 수 있고, 통신 시스템(100)은 무선 통신 시스템(wireless communication system)일 수 있다. 예를 들면, 통신 시스템(100)은, 5G(5th generation wireless) NR(New Radio) 시스템, LTE(Long Term Evolution) 시스템, LTE-Advanced 시스템, CDMA(Code Division Multiple Access) 시스템, GSM(Global System for Mobile Communications) 시스템 등과 같은 셀룰러 네트워크(cellular network)를 이용하는 무선 통신 시스템일 수도 있고, WPAN(Wireless Personal Area Network) 시스템 또는 다른 임의의 무선 통신 시스템일 수 있다. 또한, 일부 실시예들에서, 채널(30)은 전기적 신호 및/또는 광 신호 등을 사용하는 유선 채널일 수 있고, 통신 시스템(100)은 유선 통신 시스템일 수 도 있다. 이하에서, 통신 시스템(100)은 무선 통신 시스템, 특히 셀룰러 네트워크를 이용하는 무선 통신 시스템으로서 5G NR을 주로 참조하여 설명될 것이나, 본 개시의 예시적 실시예들이 이에 제한되지 아니하는 점은 이해될 것이다.
통신 시스템(100)이 셀룰러 네트워크를 이용하는 무선 통신 시스템인 경우, 송신기(10) 및 수신기(20) 각각은, 기지국(Base Station; BS) 또는 사용자 기기(User Equipment; UE)일 수 있다. 송신기(10)가 기지국이고 수신기(20)가 사용자 기기인 경우 채널(30)에 하향링크(downlink)가 형성될 수 있는 한편, 송신기(10)가 사용자 기기이고 수신기(20)가 기지국인 경우 채널(30)에 상향링크(uplink)가 형성될 수 있다. 또한, 송신기(10) 및 수신기(20)가 모두 사용자 기기들인 경우, 채널(30)에 사이드링크(sidelink)가 형성될 수도 있다.
기지국은 일반적으로 사용자 기기 및/또는 다른 기지국과 통신하는 고정된 지점(fixed station)을 지칭할 수 있고, 사용자 기기 및/또는 다른 기지국과 통신함으로써 데이터 및 제어 정보를 교환할 수 있다. 예를 들면, 기지국은 Node B, eNB(evolved-Node B), gNB(Next generation Node B), 섹터(Sector), 싸이트(Site), BTS(Base Transceiver System), AP(Access Pint), 릴레이 노드(Relay Node), RRH(Remote Radio Head), RU(Radio Unit), 스몰 셀(small cell) 등으로 지칭될 수도 있다. 본 명세서에서, 기지국 또는 셀은 CDMA에서의 BSC(Base Station Controller), WCDMA의 Node-B, LTE에서의 eNB, 5G의 gNB 또는 섹터(싸이트) 등이 커버하는 일부 영역 또는 기능을 나타내는 포괄적인 의미로 해석될 수 있고, 메가셀, 매크로셀, 마이크로셀, 피코셀, 펨토셀 및 릴레이 노드, RRH, RU, 스몰 셀 통신범위 등 다양한 커버리지 영역을 모두 포괄할 수 있다. 사용자 기기(User Equipment; UE)는 고정되거나 이동성을 가질 수 있고, 기지국과 통신하여 데이터 및/또는 제어 정보를 송수신할 수 있는 임의의 기기들을 지칭할 수 있다. 예를 들면, 사용자 기기는 단말(terminal), 단말 기기(terminal equipment), MS(Mobile Station), MT(Mobile Terminal), UT(User Terminal), SS(Subscribe Station), 무선 장치(wireless device), 휴대 장치(handheld device) 등으로 지칭될 수 있다.
사용자 기기와 기지국 사이 무선 통신 네트워크는 가용 네트워크 자원들을 공유함으로써 다수의 사용자들이 통신하는 것을 지원할 수 있다. 예를 들면, 무선 통신 네트워크에서 CDMA(Code Division Multiple Access), FDMA(Frequency Division Multiple Access), TDMA(Time Division Multiple Access), OFDMA(Orthogonal Frequency Division Multiple Access), SC-FDMA(Single Carrier Frequency Division Multiple Access), OFDM-FDMA, OFDM-TDMA, OFDM-CDMA 등과 같은 다양한 다중 접속 방식으로 정보가 전달할 수 있다.
송신기(10)는 채널(30)을 통해서 신호를 송신하고, 수신기(20)는 채널(30)을 통해서 신호를 수신할 수 있다. 통신 시스템(100)은 채널 코딩(channel coding)을 정의할 수 있고, 이에 따라 송신기(10)는 인코딩된 신호를 채널(30)을 통해서 송신할 수 있고, 수신기(20)는 채널(30)을 통해서 수신된 신호를 디코딩할 수 있다. 예를 들면, 통신 시스템(100)은 폴라 코드(polar code), 리드-솔로몬 코드(Reed-Solomon code), 콘볼루션 코드(convolution code) 등에 기초한 채널 코딩을 정의할 수 있다.
도 1에 도시된 바와 같이, 송신기(10) 및 수신기(20)는 채널 코딩을 위하여 인코더(15) 및 디코더(25)를 각각 포함할 수 있다. 도 1에 도시된 바와 같이, 송신기(10)의 인코더(15)는 소스 데이터(SRC)를 인코딩함으로써 코드워드(CDW)를 생성할 수 있는 한편, 수신기(20)는 코드워드(CDW')를 디코딩함으로써 소스 데이터(SRC')를 생성할 수 있다. 채널(30)에서 발생하는 노이즈, 간섭(interference) 등에 기인하여 송신기(10)에서 생성된 코드워드(CDW) 및 수신기(20)에서 생성된 코드워드(CDW')가 상이할 수 있으나, 디코더(25)는 송신기(10)의 소스 데이터(SRC)와 높은 신뢰도로 일치하는 소스 데이터(SRC')를 생성할 수 있다. 인코더(15) 및/또는 디코더(25)는, 논리 합성(logic synthesis)에 의해서 설계되는 로직 블록을 포함할 수도 있고, 일련의 명령어들을 포함하는 소프트웨어 및 소프트웨어를 실행하는 적어도 하나의 코어를 포함할 수도 있다. 또한, 일부 실시예들에서, 송신기(10)는 디코더를 더 포함할 수 있고, 수신기(20)는 인코더를 더 포함할 수 있다.
통신 시스템(100)은 높은 전송량(throughput)을 위하여, 짧은 시간에 높은 신뢰도로서 대량의 데이터를 처리할 수 있는 송신기(10) 및 수신기(20)의 성능을 요구할 수 있다. 예를 들면, 5G NR은 URLLC(ultra-reliable low-latency communication), eMBB(enhanced mobile broadband)와 같은 시나리오를 정의하고, 이와 같은 시나리오에서 송신기(10) 및 수신기(20)는 높은 성능을 가질 것이 요구될 수 있다. 이에 따라, 송신기(10)의 인코더(15) 및 수신기(20)의 디코더(25)는, 높은 신뢰도로서 고속으로 데이터를 처리하는 것이 요구될 수 있고, 특히 송신기(10) 및/또는 수신기(20)가 무선 통신 시스템의 사용자 기기인 경우, 높은 성능뿐만 아니라 높은 효율성, 예컨대 작은 면적 및 낮은 전력 소비를 가질 것이 요구될 수 있다. 도면들을 참조하여 후술되는 바와 같이, 수신기(20)의 디코더(25)는 2개의 상이한 디코딩 방식들에 기초하여 코드워드(CDW')를 디코딩할 수 있고, 이에 따라 높은 신뢰도 및 감소된 복잡도를 동시에 달성할 수 있다. 이에 따라, 수신기(20)는 높은 전송량을 지원할 수 있을 뿐만 아니라, 향상된 효율성을 가질 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이다. 도 2에 도시된 바와 같이, 디코딩 방법은 단계 S20 및 단계 S40을 포함할 수 있다. 일부 실시예들에서, 도 2의 디코딩 방법은 도 1의 디코더(25)에 의해서 수행될 수 있고, 이하에서 도 2는 도 1을 참조하여 설명될 것이다.
일부 실시예들에서, 도 1의 소스 데이터(SRC')는 일련의 소스 비트들을 포함할 수 있고, 디코더(25)는 일련의 소스 비트들을 순차적으로 판정함으로써 코드워드(CDW')를 디코딩할 수 있다. 본 명세서에서, 소스 데이터(SRC')는 N개의 소스 비트들을 포함하는 것으로 가정된다(N은 1보다 큰 정수). 디코더(25)는 일련의 소스 비트들을 2이상의 비트 그룹들로 분할할 수 있고, 분할된 비트 그룹들을 상이한 디코딩 방식들에 기초하여 각각 판정할 수 있다.
도 2를 참조하면 단계 S20에서, 제1 디코딩 방식에 기초하여 처음 X개의 소스 비트들을 순차적으로 판정하는 동작이 수행될 수 있다. 예를 들면, 디코더(25)는 소스 데이터(SRC')에 포함된 N개의 소스 비트들 중 처음 X개의 소스 비트들을, 제1 디코딩 방식에 기초하여 순차적으로 판정할 수 있다(N > X). 일부 실시예들에서, 제1 디코딩 방식은, 후술되는 제2 디코딩 방식과 비교할 때, 상대적으로 높은 복잡도를 가질 수 있다. 이에 따라, 단계 S20에서 수행되는 디코딩은, 높은 신뢰도를 제공할 수 있는 한편, 상대적으로 긴 시간 및 높은 전력을 소비할 수 있다. 본 명세서에서 단계 S20은 제1 디코딩 단계로서 지칭될 수 있고, 단계 S20의 예시들이 도 4a 및 도 6a 등을 참조하여 후술될 것이다.
단계 S40에서, 제2 디코딩 방식에 기초하여 나머지 Y개의 소스 비트들을 순차적으로 판정하는 동작이 수행될 수 있다. 예를 들면, 디코더(25)는 소스 데이터(SRC')에 포함된 N개의 소스 비트들 중, 단계 S20에서 판정된 X개의 소스 비트들을 제외한 나머지 Y개의 소스 비트들을 제2 디코딩 방식에 기초하여 순차적으로 판정할 수 있다(N = X + Y). 일부 실시예들에서, 제2 디코딩 방식은, 제1 디코딩 방식과 비교할 때, 상대적으로 낮은 복잡도를 가질 수 있다. 그러나, 도 3을 참조하여 후술되는 바와 같이, 소스 비트들이 순차적으로 판정될수록 신뢰도가 상승함에 기인하여, 단계 S40에서 수행되는 디코딩은, 실질적으로 감소되지 아니한 아니하는 신뢰도를 제공할 수 있는 한편, 상대적으로 짧은 시간 및 낮은 전력을 소비할 수 있다. 이에 따라, 제1 디코딩 방식에 기초하여 N-개의 소스 비트들 전부를 판정하는 것과 비교할 때, 도 2의 디코딩 방법은 높은 신뢰도를 유지하면서도 짧은 시간 및 낮은 전력을 소비할 수 있다. 본 명세서에서 단계 S40은 제2 디코딩 단계로서 지칭될 수 있고, 단계 S40의 예시들이 도 5a 및 도 7a를 참조하여 후술될 것이다.
도 3은 본 개시의 예시적 실시예에 따라 디코딩 방법에 의해서 생성되는 소스 데이터의 예시를 나타내는 도면이다. 도 1 및 도 2를 참조하여 전술된 바와 같이, 도 3의 소스 데이터(SRC')는 코드워드(CDW')를 디코딩함으로써 생성될 수 있고, 디코딩 과정에서 순차적으로 판정되는 소스 비트들을 포함할 수 있다. 도 3의 예시에서, 도 2의 제1 디코딩 방식은 리스트(list) 디코딩에 대응할 수 있고, 제2 디코딩 방식은 디시전(decision) 디코딩에 대응할 수 있다. 이하에서, 도 3은 도 1 및 도 2를 참조하여 설명될 것이다.
소스 데이터(SRC')는 N개의 소스 비트들, 즉 제1 내지 제n 소스 비트(u1 내지 uN)를 포함할 수 있고, N개의 소스 비트들은 K개의 정보 비트들 및 (N-K)개의 리던던시(redundancy) 비트들을 포함할 수 있다(0 < K < N). 정보 비트들은 유용한(useful) 정보를 나타내는 비트들을 지칭할 수 있고, 부효율(code rate)은 도 3에 도시된 바와 같이, 'K/N'으로 정의될 수 있다.
일부 실시예들에서, 소스 데이터(SRC')는 K개의 정보 비트들 및 (N-K)개의 고정 비트(frozen bit)들을 포함할 수 있다. 예를 들면, 도 1의 통신 시스템(100)은, 비교적 낮은 인코딩/디코딩 복잡도로 새년 용량(Shannon capacity)를 달성할 수 있는 폴라 코드를, 채널 코딩으로서 채용할 수 있다. 폴라 코드(또는 극 부호)는, 송신측에서 관측되는 비트 채널(또는 서브채널)들이 양호(good) 비트 채널 및 불량(bad) 비트 채널로서 극성화되는 채널 극성화를 이용하여, 양호 비트 채널을 통해서 정보 비트를 송신하고, 불량 비트 채널을 통해서 고정 비트를 전송할 수 있다. 소스 데이터(SRC')에서 고정 비트들의 값들 및 위치들(즉 인덱스들)은 송신기(10) 및 수신기(20)에 공통적으로 알려져 있을 수 있고, 수신기(20)의 디코더(25)는 고정 비트들의 값들 및 인덱스들에 기초하여 코드워드(CDW')를 디코딩할 수 있다.
N개의 소스 비트들, 즉 제1 내지 제 N 소스 비트(u1 내지 uN)는 순차적으로 판정될 수 있고, 도 3에 도시된 바와 같이, 제1 내지 제 N 소스 비트(u1 내지 uN)가 순차적으로 판정되는 과정에서 소스 비트의 신뢰도는 점진적으로 상승할 수 있다. 예를 들면, 판정된 소스 비트들의 수가 증가할수록 후속 판정들에서 후보들의 신뢰도 값들 사이 편차가 증가할 수 있고, 높은 신뢰도 값을 가지는 비트 값이 소스 비트로서 판정될 수 있다.
소스 데이터(SRC')는, 최초 판정되는 소스 비트인 제1 소스 비트(u1)를 포함하는 X개의 소스 비트들, 즉 제1 내지 제X 소스 비트(u1 내지 uX)로 구성된 제1 비트 그룹(BG1)을 포함할 수 있고, 최후 판정되는 소스 비트인 제N 소스 비트(uN)를 포함하는 Y개의 소스 비트들, 즉 제(X+1) 내지 제N 소스 비트(uX+1 내지 uN)로 구성된 제2 비트 그룹(BG2)을 포함할 수 있다(N = X + Y). 일부 실시예들에서, 제1 비트 그룹(BG1) 및 제2 비트 그룹(BG2)은 상이한 디코딩 방식들에 기초하여 판정될 수 있다. 예를 들면, 도 3에 도시된 바와 같이, 제1 비트 그룹(BG1)은 리스트 디코딩에 기초하여 판정될 수 있는 한편, 제2 비트 그룹(BG2)은 디시전 디코딩에 기초하여 판정될 수 있다.
리스트 디코딩은, 복수의 비트 시퀀스들을 후보들로 유지하면서 소스 비트들을 순차적으로 판정하는 디코딩 방식을 지칭할 수 있다. 예를 들면, 도 1의 통신 시스템(100)이 폴라 코드를 채용한 경우, 제1 비트 그룹(BG1)의 소스 비트들은, 도 4a 및 도 4b를 참조하여 후술되는 바와 같이, SCL(successive cancellation list) 디코딩에 기초하여 판정될 수 있다. 또한, 제1 비트 그룹(BG1)의 소스 비트들은, 도 6a 및 도 6b를 참조하여 후술되는 바와 같이, SSCL(simplified successive cancellation list) 디코딩에 기초하여 판정될 수도 있다. 본 명세서에서, SCL 디코딩 및 SSCL 디코딩은 SCL 디코딩으로서 총괄적으로 지칭될 수 있고, SSCL 디코딩은 SCL 디코딩의 예시로 지칭될 수 있다. 리스트 디코딩은, 후술되는 디시전 디코딩과 비교할 때, 상대적으로 높은 복잡도를 가질 수 있고, 상대적으로 높은 신뢰도(예컨대, 상대적으로 낮은 블록 오류율(block error rate; BLER))를 제공할 수 있으며, 상대적으로 높은 비용을 소비할 수 있다.
디시전 디코딩은, 판정 대상인 비트 값들의 신뢰도 값들에 기초하여 소스 비트를 판정하고 기존 비트 시퀀스에 판정된 소스 비트를 추가하는 방식을 지칭할 수 있다. 예를 들면, 도 1의 통신 시스템(100)이 폴라 코드를 채용한 경우, 제2 비트 그룹(BG2)의 소스 비트들은, 도 5a 및 도 7a를 참조하여 후술되는 바와 같이, SC(successive cancellation) 디코딩에 기초하여 판정될 수 있다. 디시전 디코딩은, 전술된 리스트 디코딩과 비교할 때, 상대적으로 낮은 복잡도를 가질 수 있고, 상대적으로 낮은 신뢰도(예컨대, 상대적으로 높은 블록 오류율)를 제공할 수 있으며, 상대적으로 낮은 비용을 소비할 수 있다. 그러나, 전술된 바와 같이, 판정되는 소스 비트의 인덱스가 증가할수록 증가하는 신뢰도에 기인하여, 디시전 디코딩에 의해서 판정된 제2 비트 그룹(BG2)의 신뢰도(복호 신뢰도로서 지칭될 수도 있다)는 실질적으로 감소하지 아니할 수 있다.
이하에서 채널 코딩은 폴라 코드를 주로 참조하여 설명될 것이나, 본 개시의 예시적 실시예들이 이에 제한되지 아니하는 점이 유의된다. 예를 들면, 본 개시의 예시적 실시예들은, 리스트 디코딩 방식 및 디시전 디코딩 방식의 적용이 가능한 임의의 채널 코딩 방식, 예컨대 리드-솔로몬 코드, 콘볼루션 코드 등에도 적용될 수 있는 점은 이해될 것이다.
도 4a는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이고, 도 4b는 본 개시의 예시적 실시예에 따른 디코딩 방법에 의해서 형성되는 디코딩 트리의 예시를 나타내는 도면이다. 구체적으로, 도 4a의 순서도는 도 2의 단계 S20의 예시를 나타내고, 도 4b는 도 4a의 단계 S20a에 의해서 형성되는 디코딩 트리의 예시를 나타낸다. 도 2를 참조하여 전술된 바와 같이, 도 4a의 단계 S20a에서 제1 디코딩 방식에 기초하여 처음 X개의 소스 비트들을 순차적으로 판정하는 동작이 수행될 수 있다. 일부 실시예들에서, 도 4a의 단계 S20a는 도 1의 디코더(25)에 의해서 수행될 수 있고, 이하에서 도 4a 및 도 4b는 도 1 및 도 3을 참조하여 설명될 것이다.
도 4a를 참조하면, 단계 S20a에서, 도 2의 제1 디코딩 방식의 예시로서 SCL 디코딩에 기초하여 제1 비트 그룹(BG1)에 포함된 X개의 소스 비트들이 순차적으로 판정될 수 있다. 도 4a의 예시에서 SCL 디코딩은 최대 L개의 비트 시퀀스들을 후보들로서 유지할 수 있고(L은 1보다 큰 정수), 도 4b의 디코딩 트리에서 L은 4인 것으로 가정된다(L = 4). 도 4a에 도시된 바와 같이, 단계 S20a는 복수의 단계들(S22a, S24a, S26a)을 포함할 수 있다.
단계 S22a에서, 2L개의 신뢰도 값들을 계산하는 동작이 수행될 수 있다. 예를 들면, 도 4b에 도시된 바와 같이, 디코더(25)는 SCL 디코딩에 기초하여 제1 내지 제3 소스 비트(u1 내지 u3)를 판정한 후 제4 소스 비트(u4)의 판정을 시도할 수 있다. 제1 소스 비트(u1)는 고정 비트로서 '0'의 값을 가질 수 있는 한편, 제2 내지 제4 소스 비트(u2 내지 u4)는 정보 비트들일 수 있다. 디코더(25)는 제1 내지 제3 소스 비트(u1 내지 u3)를 포함하는 후보들로서 4개의 비트 시퀀스들, 즉 {0, 0, 0}, {0, 0, 1}, {0, 1, 0} 및 {0, 1, 1}로부터, 제1 내지 제8 신뢰도 값(R1 내지 R8)을 계산할 수 있다. 제1 내지 제8 신뢰도 값(R1 내지 R8) 각각은 4개의 비트 시퀀스들 각각에서 제4 소스 비트(u4)가 '0' 또는 '1'의 값을 가지는 경우 신뢰도를 나타낼 수 있다. 신뢰도 값은 경로 수치(path metric; PM)로서 지칭될 수도 있고, 임의의 방식으로 계산될 수 있다. 예를 들면, 디코더(25)는 LLR(log likelihood ratio)에 기초하여 신뢰도 값을 계산할 수 있다.
단계 S24a에서, 2L개의 신뢰도 값들을 정렬하는 동작이 수행될 수 있다. 일부 실시예들에서, 디코더(25)는 신규 후보들로서 L개의 비트 시퀀스들을 생성하기 위하여 단계 S22a에서 계산된 2L개의 신뢰도 값들을 정렬할 수 있다. 예를 들면, 디코더(25)는 4개의 비트 시퀀스들을 생성하기 위하여 도 4b의 제1 내지 제8 신뢰도 값(R1 내지 R8)을 정렬할 수 있다.
단계 S26a에서, L개의 비트 시퀀스들을 생성하는 동작이 수행될 수 있다. 일부 실시예들에서, 디코더(25)는 2L개의 신뢰도 값들 중 상위 L개의 신뢰도 값들에 대응하는 소스 비트의 값들 및 그에 대응하는 비트 시퀀스들로부터 L개의 신규 비트 시퀀스들을 생성할 수 있다. 예를 들면, 도 4b에 도시된 바와 같이, 제1 내지 제8 신뢰도 값(R1 내지 R8) 중 상위 4개의 신뢰도 값들, 즉 제1 신뢰도 값(R1), 제2 신뢰도 값(R2), 제5 신뢰도 값(R5) 및 제8 신뢰도 값(R8)이 선택될 수 있고, 이에 따라 4개의 신규 비트 시퀀스들, 즉 {0, 0, 0, 0}, {0, 0, 0, 1}, {0, 1, 0, 0} 및 {0, 1, 1, 1}이 후보들로서 생성될 수 있다.
전술된 바와 같이, 단계 S20a는 L개의 후보들을 유지하면서 소스 비트들을 판정함으로써 높은 신뢰도를 제공할 수 있는 한편, 상위 L개의 신뢰도 값들을 선택하기 위하여 2L개의 신뢰도 값들을 정렬하는 단계 S24a를 포함할 수 있다. 이와 같은 신뢰도 값들의 정렬은, K가 정보 비트들의 개수이고 L이 후보들의 개수일 때, 정렬 방식에 따라 아래 [수학식 1]로 계산되는 복잡도를 가질 수 있다.
Figure pat00001
Figure pat00002
Figure pat00003
신뢰도 값들의 정렬은 상기 [수학식 1]과 같이, SCL 디코딩에 기초한 디코딩 방법의 복잡도를 가중시킬 수 있는 한편, 이하에서 도 5a 및 도 5b를 참조하여 후술되는 바와 같이, SC 디코딩에 기초한 디코딩 방법에서 2L개의 신뢰도 값들을 정렬하는 동작은 생략될 수 있다.
도 5a는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이고, 도 5b는 본 개시의 예시적 실시예에 따른 디코딩 방법에 의해서 형성되는 디코딩 트리의 예시를 나타내는 도면이다. 구체적으로, 도 5a의 순서도는 도 2의 단계 S40의 예시를 나타내고, 도 5b는 도 5a의 단계 S40a에 의해서 형성되는 디코딩 트리의 예시를 나타낸다. 도 2를 참조하여 전술된 바와 같이, 도 5a의 단계 S40a에서 제2 디코딩 방식에 기초하여 나머지 Y개의 소스 비트들을 순차적으로 판정하는 동작이 수행될 수 있다. 일부 실시예들에서, 도 5a의 단계 S40a는 도 1의 디코더(25)에 의해서 수행될 수 있고, 이하에서 도 5a 및 도 5b는 도 1 및 도 3을 참조하여 설명될 것이며, 도 5a 및 도 5b에 대한 설명 중 도 4a 및 도 4b에 대한 설명과 중복되는 내용은 생략될 것이다.
도 5a를 참조하면, 단계 S40a에서, 도 2의 제2 디코딩 방식의 예시로서 SC 디코딩에 기초하여 제2 비트 그룹(BG2)에 포함된 Y개의 소스 비트들이 순차적으로 판정될 수 있다. 도 5a의 예시에서 SC 디코딩은, 도 2의 단계 S20에서 수행된 리스트 디코딩, 예컨대 도 4a에서 SCL 디코딩에 기초하여 생성된 L개의 비트 시퀀스들 각각에서 신뢰도 값들에 기초한 디시전을 수행할 수 있고, L개의 비트 시퀀스들을 후보들로서 유지할 수 있다. 도 5b의 디코딩 트리에서 L은 4인 것으로 가정된다(L = 4). 도 5a에 도시된 바와 같이, 단계 S40a는 복수의 단계들(S42a, S44a, S46a)을 포함할 수 있다.
단계 S42a에서, 2L개의 신뢰도 값들을 계산하는 동작이 수행될 수 있다. 예를 들면, 도 5b에 도시된 바와 같이, 디코더(25)는 제1 디코딩 방식(예컨대, SCL 디코딩)에 기초하여 제(X-3) 내지 제(X-1) 소스 비트(uX-3 내지 uX-1)를 판정한 후, 제2 디코딩 방식(예컨대, SC 디코딩)에 기초하여 제X 소스 비트(uX)의 판정을 시도할 수 있다. 도 4b의 디코딩 트리와 유사하게, 제(X-3) 소스 비트(uX-3)는 고정 비트로서 '0'의 값을 가질 수 있는 한편, 제(X-2) 내지 제X 소스 비트(uX-2 내지 uX)는 정보 비트들일 수 있다. 디코더(25)는 제(X-3) 내지 제(X-1) 소스 비트(uX-3 내지 uX-1)를 포함하는 후보들로서 4개의 비트 시퀀스들, 즉 {..., 0, 0, 0}, {..., 0, 0, 1}, {..., 0, 1, 0} 및 {..., 0, 1, 1}로부터, 제1 내지 제8 신뢰도 값(R1 내지 R8)을 계산할 수 있다.
단계 S44a에서, L개의 비트 시퀀스들 각각에서 소스 비트를 판정하는 동작이 수행될 수 있다. 일부 실시예들에서, 디코더(25)는, '0' 및 '1'에 각각 대응하는 신뢰도들의 L개의 쌍들 각각에서 높은 신뢰도 값에 대응하는 값을 소스 비트의 값으로서 판정할 수 있다. 예를 들면, 도 5b에 도시된 바와 같이, 디코더(25)는 신뢰도 값들의 4개 쌍들 각각에서 신뢰도 값들을 비교함으로써 보다 큰 신뢰도 값을 판정할 수 있고, 이에 따라 제1 내지 제8 신뢰도 값(R1 내지 R8) 중 4개의 신뢰도 값들, 즉 제1 신뢰도 값(R1), 제4 신뢰도 값(R4), 제6 신뢰도 값(R6) 및 제7 신뢰도 값(R7)이 판정될 수 있다.
단계 S46a에서, L개의 비트 시퀀스들을 생성하는 동작이 수행될 수 있다. 일부 실시예들에서, 디코더(25)는 신뢰도 값들의 L개의 쌍들 각각에서 소스 비트의 값을 결정(decision)함으로써 L개의 비트 시퀀스들을 생성할 수 있다. 예를 들면, 도 5b에 도시된 바와 같이, 단계 S44a에서 판정된 제1 신뢰도 값(R1), 제4 신뢰도 값(R4), 제6 신뢰도 값(R6) 및 제7 신뢰도 값(R7)에 따라, 4개의 신규 비트 시퀀스들, 즉 {..., 0, 0, 0, 0}, {..., 0, 0, 0, 1}, {..., 0, 1, 0, 0}, {..., 0, 1, 1, 1}이 후보들로서 생성될 수 있다. 결과적으로, 단계 S40a에서, 2L개의 신뢰도 값들에 기초하여 L개의 비트 시퀀스들을 생성하기 위하여 L에 비례하는 복잡도가 부가될 수 있고, 이는 [수학식 1]로 표현되는 정렬의 복잡도보다 현저하게 낮은 복잡도에 대응할 수 있다.
도 6a는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이고, 도 6b는 본 개시의 예시적 실시예에 따른 디코딩 방법에 의해서 형성되는 디코딩 트리의 예시를 나타내는 도면이다. 구체적으로, 도 6a의 순서도는 도 2의 단계 S20의 예시를 나타내고, 도 6b는 도 6a의 단계 S20b에 의해서 형성되는 디코딩 트리의 예시를 나타낸다. 도 2를 참조하여 전술된 바와 같이, 도 6a의 단계 S20b에서 제1 디코딩 방식에 기초하여 처음 X개의 소스 비트들을 순차적으로 판정하는 동작이 수행될 수 있다. 일부 실시예들에서, 도 6a의 단계 S20b는 도 1의 디코더(25)에 의해서 수행될 수 있고, 이하에서 도 6a 및 도 6b는 도 1 및 도 3을 참조하여 설명될 것이다.
도 6a를 참조하면, 단계 S20b에서, 도 2의 제1 디코딩 방식의 예시로서 SSCL 디코딩에 기초하여 제1 비트 그룹(BG1)에 포함된 X개의 소스 비트들이 순차적으로 판정될 수 있다. SSSCL 디코딩에서 디코딩 트리의 노드는, 모든 소스 비트들이 고정 비트들인 Rate-0 노드, 마지막 소스 비트만이 정보 비트인 REP(repetition) 노드, 첫 번째 소스 비트만이 고정 비트인 SPC(single parity check) 노드 및 모든 소스 비트들이 정보 비트들인 Rate-1 노드로 분류될 수 있고, 노드 유형에 따라 상이하게 후속 동작이 수행될 수 있다. 도 6a의 예시에서 SSCL 디코딩은 최대 L개의 비트 시퀀스들을 후보들로서 유지할 수 있고 적어도 2개의 소스 비트들을 동시에 판정할 수 있으며, 도 4b의 디코딩 트리에서 L은 2인 것으로 가정된다(L = 2). 도 5a에 도시된 바와 같이, 단계 S20b는 복수의 단계들(S22b, S24b, S26b)을 포함할 수 있다.
단계 S22b에서, 4L개의 신뢰도 값들을 계산하는 동작이 수행될 수 있다. 예를 들면, 도 6b에 도시된 바와 같이, 디코더(25)는 SSCL 디코딩에 기초하여 제1 및 제2 소스 비트(u1, u2)를 판정한 후 제3 및 제4 소스 비트(u3, u4)의 판정을 시도할 수 있다. 제1 소스 비트(u1)는 고정 비트로서 '0'의 값을 가질 수 있는 한편, 제2 내지 제4 소스 비트(u2 내지 u4)는 정보 비트들일 수 있다. 디코더(25)는 제1 및 제2 소스 비트(u1, u2)에 대응하는 2개의 비트 시퀀스들, 즉 {0, 0}, {0, 1}로부터, 제1 내지 제8 신뢰도 값들(R1 내지 R8)을 계산할 수 있다.
단계 S24b에서, 4L개의 신뢰도 값들을 정렬하는 동작이 수행될 수 있다. 일부 실시예들에서, 디코더(25)는 신규 후보들로서 L개의 비트 시퀀스들을 생성하기 위하여 단계 S22b에서 계산된 4L개의 신뢰도 값들을 정렬할 수 있다. 예를 들면, 디코더(25)는 2개의 비트 시퀀스들을 생성하기 위하여 도 6b의 제1 내지 제8 신뢰도 값(R1 내지 R8)을 정렬할 수 있다.
단계 S26b에서, L개의 비트 시퀀스들을 생성하는 동작이 수행될 수 있다. 일부 실시예들에서, 디코더(25)는 4L개의 신뢰도 값들 중 상위 L개의 신뢰도 값들에 대응하는 소스 비트의 값들 및 그에 대응하는 비트 시퀀스들로부터 L개의 신규 비트 시퀀스들을 생성할 수 있다. 예를 들면, 도 6b에 도시된 바와 같이, 제1 내지 제8 신뢰도 값(R1 내지 R8) 중 상위 2개의 신뢰도 값들, 즉 제1 신뢰도 값(R1) 및 제6 신뢰도 값(R6)이 선택될 수 있고, 이에 따라 2개의 신규 비트 시퀀스들, 즉 {0, 0, 0, 0} 및 {0, 1, 0, 1}이 후보들로서 생성될 수 있다.
전술된 바와 같이, SSCL 디코딩은 2개의 소스 비트들을 동시에 판정할 수 있는 한편, 4L개의 신뢰도 값들을 정렬하는 단계 S24b를 포함할 수 있다. 이에 따라, 도 4a를 참조하여 전술된 바와 유사하게, 신뢰도 값들의 정렬은 SSCL 디코딩에 기초한 디코딩 방법의 복잡도를 가중시킬 수 있는 한편, 이하에서 도 7a 및 도 7b를 참조하여 후술되는 바와 같이, SC 디코딩에 기초한 디코딩 방법에서 4L개의 신뢰도 값들을 정렬하는 동작은 생략될 수 있다.
도 7a는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이고, 도 7b는 본 개시의 예시적 실시예에 따른 디코딩 방법에 의해서 형성되는 디코딩 트리의 예시를 나타내는 도면이다. 구체적으로, 도 7a의 순서도는 도 2의 단계 S40의 예시를 나타내고, 도 7b는 도 7a의 단계 S40b에 의해서 형성되는 디코딩 트리의 예시를 나타낸다. 도 2를 참조하여 전술된 바와 같이, 도 7a의 단계 S40b에서 제2 디코딩 방식에 기초하여 나머지 Y개의 소스 비트들을 순차적으로 판정하는 동작이 수행될 수 있다. 일부 실시예들에서, 도 7a의 단계 S40b는 도 1의 디코더(25)에 의해서 수행될 수 있고, 이하에서 도 7a 및 도 7b는 도 1 및 도 3을 참조하여 설명될 것이며, 도 7a 및 도 7b에 대한 설명 중 도 6a 및 도 6b에 대한 설명과 중복되는 내용은 생략될 것이다.
도 7a를 참조하면, 단계 S40b에서, 도 2의 제2 디코딩 방식의 예시로서 SC 디코딩에 기초하여 제2 비트 그룹(BG2)에 포함된 Y개의 소스 비트들이 순차적으로 판정될 수 있다. 도 7a의 예시에서 SC 디코딩은, 도 2의 단계 S20에서 수행된 리스트 디코딩, 예컨대 도 6a에서 SSCL 디코딩에 기초하여 생성된 L개의 비트 시퀀스들 각각에서 신뢰도 값들에 기초한 디시전을 수행할 수 있고, L개의 비트 시퀀스들을 후보들로서 유지할 수 있다. 단계 S40b에 의해서 형성되는 디코딩 트리는, SSCL 디코딩의 Rate-0 노드, REP 노드, SPC 노드 및 Rate-1 노드에 각각 대응하는, SRate-0(simplified Rate-0) 노드, SREP(simplified REP) 노드, SSPC(simplified SPC) 노드 및 SRate-1(simplified Rate-1) 노드를 포함할 수 있다. 도 7b의 디코딩 트리에서 L은 2인 것으로 가정된다(L = 2). 도 7a에 도시된 바와 같이, 단계 S40b는 복수의 단계들(S42, S44b, S46b)을 포함할 수 있다.
단계 S42b에서, 4L개의 신뢰도 값들을 계산하는 동작이 수행될 수 있다. 예를 들면, 도 7b에 도시된 바와 같이, 디코더(25)는 제1 디코딩 방식(예컨대, SSCL 디코딩)에 기초하여 제(X-2) 및 제(X-1) 소스 비트(uX-2, uX-1)를 판정한 후, SC 디코딩에 기초하여 제X 및 제(X+1) 소스 비트(uX, uX+1)의 판정을 시도할 수 있다. 도 5b의 디코딩 트리와 유사하게, 제(X-2) 소스 비트(uX-2)는 고정 비트로서 '0'의 값을 가질 수 있는 한편, 제(X-1) 내지 제(X+1) 소스 비트(uX-1 내지 uX+1)는 정보 비트들일 수 있다. 디코더(25)는 제(X-2) 및 제(X-1) 소스 비트(uX-2, uX-1)에 대응하는 2개의 비트 시퀀스들, 즉 {..., 0, 0} 및 {..., 0, 1}로부터, 제1 내지 제8 신뢰도 값(R1 내지 R8)을 계산할 수 있다.
단계 S44b에서, L개의 비트 시퀀스들 각각에서 2이상의 소스 비트들을 판정하는 동작이 수행될 수 있다. 일부 실시예들에서, 디코더(25)는 2이상의 비트들을 포함하는 비트 열(bit stream), 예컨대 '00', '01', '10' 및 '11'에 각각 대응하는 신뢰도들의 그룹에서 높은 신뢰도 값에 대응하는 비트 열을 소스 비트들의 값들로서 판정할 수 있다. 예를 들면, 도 7b에 도시된 바와 같이, 디코더(25)는, 제1 내지 제4 신뢰도 값(R1 내지 R4)을 포함하는 그룹에서 가장 높은 제1 신뢰도 값(R1)을 판정할 수 있고, 제5 내지 제8 신뢰도 값(R5 내지 R8)을 포함하는 그룹에서 가장 높은 제6 신뢰도 값(R6)을 판정할 수 있다.
단계 S46b에서, L개의 비트 시퀀스들을 생성하는 동작이 수행될 수 있다. 일부 실시예들에서, 디코더(25)는 신뢰도 값들의 그룹들 각각에서 소스 비트들의 값들을 결정함으로써 L개의 비트 시퀀스들을 생성할 수 있다. 예를 들면, 도 7b에 도시된 바와 같이, 단계 S44b에서 판정된 제1 신뢰도 값(R1) 및 제6 신뢰도 값(R6)에 따라 2개의 신규 비트 시퀀스들, 즉 {..., 0, 0, 0, 0} 및 {..., 0, 1, 0, 1}이 후보들로서 생성될 수 있다. 결과적으로 4L개의 신뢰도 값들에 기초하여 L개의 비트 시퀀스들을 생성하기 위하여, 2L개의 신뢰도들 중 최대 신뢰도를 검색하는 동작이 2회 수행될 수 있고, 이는 도 6a의 단계 S44a에서 수행되는 4L개의 신뢰도 값들을 정렬하는 것보다 현저하게 낮은 복잡도를 가질 수 있다.
도 8은 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이다. 도 8에 도시된 바와 같이, 디코딩 방법은 복수의 단계들(S10, S20', S30, S40')을 포함할 수 있다. 도 2의 디코딩 방법과 비교할 때, 도 8의 디코딩 방법은, 디코딩 방식이 전환되는 소스 비트의 위치를 판정하고, 판정된 위치에 기초하여 디코딩 방식을 전환하는 단계들(S10, S30)을 더 포함할 수 있다. 일부 실시예들에서, 도 8의 디코딩 방법은 도 2의 디코더(25)에 의해서 수행될 수 있다. 이하에서 도 8은 도 1 및 도 3을 참조하여 설명될 것이고, 도 8에 대한 설명 중 도 2에 대한 설명과 중복되는 내용은 생략될 것이다.
단계 S10에서, 제2 비트 그룹(BG2)에 포함된 정보 비트들의 개수를 계산하는 동작이 수행될 수 있다. 예를 들면, 디코더(25)는 소스 데이터(SRC')에 포함된 소스 비트들의 개수 N 및 소스 데이터(SRC')에 포함된 정보 비트들의 개수 K에 기초하여, 제2 비트 그룹(BG2)에 포함된 정보 비트들의 개수 T를 계산할 수 있다. 일부 실시예들에서, 제2 비트 그룹(BG2)에 포함된 정보 비트들의 개수 T는, 소스 데이터(SRC')에 포함된 정보 비트들의 개수 K의 절반 이하로 제한될 수 있다(T ≤ K/2). 또한, 디코더(25)는 소스 데이터(SRC')에서 고정 비트들(또는 정보 비트들)의 인덱스들을 알고 있으므로, 일부 실시예들에서 디코더(25)는, 제2 비트 그룹(BG2)에 포함된 정보 비트들의 개수 T를 계산할 수 있을 뿐만 아니라, 제1 비트 그룹(BG1)의 크기 X, 제1 비트 그룹(BG1)에 포함된 정보 비트들의 개수, 제2 비트 그룹(BG2)의 크기 Y, 제1 및 제2 비트 그룹(BG1, BG2)에서 정보 비트들(또는 고정 비트들)의 인덱스들 등을 계산할 수도 있다. 또한, 일부 실시예들에서, 디코더(25)는 룩업 테이블을 참조함으로써 N 및 K에 대응하는 T를 획득할 수도 있고, 미리 정의된 함수에 N 및 K 중 적어도 하나를 인자(argument)로 입력함으로써 T를 획득할 수도 있다. 단계 S10의 예시는 도 9를 참조하여 설명될 것이다.
단계 S20'에서 제1 디코딩 방식에 기초하여 소스 비트들을 순차적으로 판정하는 동작이 수행될 수 있고, 그 다음에 단계 S30에서 디코딩 방식의 전환 여부를 판정하는 동작이 수행될 수 있다. 전술된 바와 같이, 단계 S10에서 제2 비트 그룹(BG2)에 포함된 정보 비트들의 개수 T가 계산되면, 소스 데이터(SRC')에 포함된 고정 비트들의 위치들이 수신기(20)(또는 디코더(25))에 알려져 있으므로, 제2 디코딩 방식에 기초하여 판정되는 소스 비트들을 포함하는 제2 비트 그룹(BG2)의 시작 인덱스 즉 (X+1)이 판정될 수 있다. 디코더(25)는, 제2 비트 그룹(BG2)에 포함된 정보 비트들의 개수 T 및 고정 비트들의 위치들에 기초하여, X+1을 정보 비트의 인덱스로 판정할 수도 있고, 고정 비트의 인덱스로 판정할 수도 있다. 디코더(25)는 소스 비트의 인덱스에 기초하여 디코딩 방식의 전환 여부를 판정할 수 있고, 도 8에 도시된 바와 같이, 판정될 소스 비트의 인덱스가 X이하인 경우, 단계 S20'이 다시 수행될 수 있다. 다른 한편으로, 판정돌 소스 비트의 인덱스가 (X+1)이상인 경우 단계 S40'이 후속하여 수행될 수 있고, 단계 S40'에서 제2 디코딩 방식에 기초하여 소스 비트들을 순차적으로 판정하는 동작이 수행될 수 있다.
도 9는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시를 나타내는 순서도이다. 구체적으로, 도 9의 순서도는 도 8의 단계 S10의 예시를 나타낸다. 도 8을 참조하여 전술된 바와 같이, 도 9의 단계 S10'에서 제2 비트 그룹(BG2)에 포함된 정보 비트들의 개수 T를 계산하는 동작이 수행될 수 있다. 도 9에 도시된 바와 같이, 단계 S10'은 단계 S12 및 단계 S14를 포함할 수 있고, 이하에서 도 9는 도 3을 참조하여 설명될 것이다.
단계 S12에서, 복수의 다항식들 중 하나를 N에 기초하여 선택하는 동작이 수행될 수 있다. 예를 들면, 디코더(25)는, 소스 데이터(SRC')에 포함된 정보 비트들의 개수 K를 변수로서 각각 가지는, 복수의 다항식들을 포함할 수 있고, 소스 데이터(SRC')의 크기, 즉 소스 데이터(SRC')에 포함된 소스 비트들의 개수 N에 기초하여 복수의 다항식들 중 하나를 선택할 수 있다. 즉, 복수의 다항식들 각각은 N의 상이한 값들에 각각 대응할 수 있다. 일부 실시예들에서, 복수의 다항식들은 미리 결정될 수 있으며, 수신기(20)는 복수의 다항식들을 저장하는 메모리(예컨대, 비휘발성 메모리)를 포함할 수 있고, 디코더(25)는 메모리에 액세스함으로써 복수의 다항식들을 참조할 수 있다. 일부 실시예들에서, 복수의 다항식들은 N이 증가할수록 높은 차수를 가지는 다항식들을 포함할 수 있다. 예를 들면, 폴라 코드에서 N은 2P와 일치할 수 있고(P는 0보다 큰 정수), 복수의 다항식들은 64의 N에 대응하는 1차 다항식 및 128의 N에 대응하는 2차 다항식을 포함할 수 있다.
단계 S14에서, 다항식 및 K에 기초하여 제2 비트 그룹(BG2)에 포함된 정보 비트들의 개수를 계산하는 동작이 수행될 수 있다. 예를 들면, 디코더(25)는 단계 S12에서 선택된 다항식에, 소스 데이터(SRC')에 포함된 정보 비트들의 개수 K를 대입함으로써 제2 비트 그룹(BG2)에 포함된 정보 비트들의 개수 T를 계산할 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 디코더의 예시를 나타내는 블록도이다. 도 10에 도시된 바와 같이, 디코더(200)는 신뢰도 계산기(220), 제1 처리 회로(240), 제2 처리 회로(260) 및 선택 회로(280)를 포함할 수 있다. 도 1의 디코더(25)가 도 10의 디코더(200)에 제한되지 아니하는 점이 유의된다.
신뢰도 계산기(220)는 선택 회로(280)로부터 복수의 비트 시퀀스들(QS')을 수신할 수 있고, 복수의 비트 시퀀스들(QS')에 대응하는 복수의 신뢰도 값들(RS)을 계산할 수 있다. 일부 실시예들에서, 신뢰도 계산기(220)는, 도 4a 및 도 5a를 참조하여 전술된 바와 같이, L개의 비트 시퀀스들로부터 2L개의 신뢰도 값들을 계산할 수 있다. 또한, 일부 실시예들에서, 신뢰도 계산기(220)는, 도 6a 및 도 7a를 참조하여 전술된 바와 같이, L개의 비트 시퀀스들로부터 4L개 이상의 신뢰도 값들을 계산할 수도 있다. 도 10에 도시된 바와 같이, 신뢰도 계산기(220)는 복수의 신뢰도 값들(RS)을 제1 처리 회로(240) 및 제2 처리 회로(260)에 제공할 수 있다.
제1 처리 회로(240)는 제1 디코딩 방식에 기초하여 복수의 신뢰도 값들(RS)에 기초하여 복수의 제1 비트 시퀀스들(QS1)을 생성할 수 있다. 일부 실시예들에서, 제1 처리 회로(240)는, 도 4a를 참조하여 전술된 바와 같이, 2L개의 신뢰도 값들을 정렬할 수 있고, 상위 L개의 신뢰도 값들에 기초하여 L개의 비트 시퀀스들을 복수의 제1 비트 시퀀스들(QS1)로서 생성할 수 있다. 또한, 일부 실시예들에서, 제1 처리 회로(240)는, 도 6a를 참조하여 전술된 바와 같이, 4L개의 신뢰도 값들을 정렬할 수 있고, 상위 L개의 신뢰도 값들에 기초하여 L개의 비트 시퀀스들을 복수의 제1 비트 시퀀스들(QS1)로서 생성할 수 있다.
제2 처리 회로(260)는 제2 디코딩 방식에 기초하여 복수의 신뢰도 값들(RS)에 기초하여 복수의 제2 비트 시퀀스들(QS2)을 생성할 수 있다. 일부 실시예들에서, 제2 처리 회로(260)는, 도 5a를 참조하여 전술된 바와 같이, 신뢰도 값들의 L개의 쌍들 각각에서 신뢰도 값을 선택함으로써 L개의 비트 시퀀스들을 복수의 제2 비트 시퀀스들(QS2)로서 생성할 수 있다. 또한, 일부 실시예들에서, 제2 처리 회로(260)는, 도 7a를 참조하여 전술된 바와 같이, 신뢰도 값들의 그룹들 각각에서 신뢰도 값을 선택함으로써 L개의 비트 시퀀스들을 복수의 제2 비트 시퀀스들(QS2)로서 생성할 수 있다.
제2 디코딩 방식의 복잡도보다 제1 디코딩 방식의 높은 복잡도에 기인하여, 제1 처리 회로(240)는, 제2 처리 회로(260)보다 높은 비용, 예컨대 넓은 면적, 높은 전력 소비, 긴 처리 시간 등을 가질 수 있다. 예를 들면, 제1 처리 회로(240)는 2L개의 신뢰도 값들 또는 4L개 이상의 신뢰도 값들을 정렬하는 동작을 수행하기 위한 회로를 포함할 수 있고, 이에 따라 제2 처리 회로(260)보다 높은 비용을 가질 수 있다. 일부 실시예들에서, 제1 처리 회로(240) 및 제2 처리 회로(260)는 클락에 동기되어 동작할 수 있고, 제1 처리 회로(240)가 복수의 제1 비트 시퀀스들(QS1)을 생성하는데 필요한 클락 사이클의 수는 제2 처리 회로(260)가 복수의 제2 비트 시퀀스들(QS2)을 생성하는데 필요한 클락 사이클의 수보다 클 수 있다.
선택 회로(280)는 제1 처리 회로(240)로부터 복수의 제1 비트 시퀀스들(QS1)을 수신할 수 있고, 제2 처리 회로(260)로부터 복수의 제2 비트 시퀀스들(QS2)을 수신할 수 있다. 선택 회로(280)는 복수의 제1 비트 시퀀스들(QS1) 및 복수의 제2 비트 시퀀스들(QS2) 중 하나를 선택할 수 있고, 선택된 복수의 비트 시퀀스들(QS')을 신뢰도 계산기(220)에 제공할 수 있다. 예를 들면, 선택 회로(280)는 도 2의 단계 S20(또는 도 8의 단계 S20')이 수행되는 동안 복수의 제1 비트 시퀀스들(QS1)을 선택할 수 있는 한편, 도 2의 단계 S40(또는 도 8의 단계 S40')이 수행되는 동안 복수의 제2 비트 시퀀스들(QS2)을 선택할 수 있다.
일부 실시예들에서, 선택 회로(280)는, 선택되지 아니한 복수의 비트 시퀀스들을 생성하는 처리 회로를 디스에이블(disable)시킴으로써 디코더(200)의 전력 소비를 감소시킬 수 있다. 예를 들면, 도 2의 단계 S20(또는 도 8의 단계 S20')이 수행되는 동안 제2 처리 회로(260)가 디스에이블될 수 있는 한편, 도 2의 단계 S40(또는 도 8의 단계 S40')이 수행되는 동안 제1 처리 회로(240)가 디스에이블될 수 있다. 선택 회로(280)의 예시가 도 11을 참조하여 후술될 것이다. 처리 회로의 디스에이블은, 예컨대 클락 게이팅, 전력 공급 차단 등에 기초하여 수행될 수 있다.
도 11은 본 개시의 예시적 실시예에 따른 선택 회로의 예시를 나타내는 블록도이다. 도 10을 참조하여 전술된 바와 같이, 도 11의 선택 회로(280')는 복수의 제1 비트 시퀀스들(QS1) 및 복수의 제2 비트 시퀀스들(QS2) 중 하나를 선택함으로써 복수의 비트 시퀀스들(QS')을 출력할 수 있다. 도 11에 도시된 바와 같이, 선택 회로(280')는 카운터(282), 문턱값 생성기(284), 비교기(286) 및 멀티플렉서(288)를 포함할 수 있다. 이하에서, 도 11은 도 3을 참조하여 설명될 것이다.
카운터(282)는 디코딩 과정에서 판정되는 소스 비트를 카운트할 수 있다. 예를 들면, 카운터(282)는 업-카운터일 수 있고, 소스 비트들이 순차적으로 판정되는 동안 1부터 N까지 증가하는 카운트 신호(CNT)를 생성할 수 있다. 일부 실시예들에서, 카운터(282)는 소스 비트들을 카운트하는 대신, 고정 비트들 또는 정보 비트들을 카운트함으로써 카운트 신호(CNT)를 생성할 수도 있고, 이를 위하여 소스 데이터(SRC')에서 고정 비트들의 인덱스들(또는 정보 비트들의 인덱스들)을 외부로부터 수신할 수 있다.
문턱값 생성기(284)는, 비교기(286)에 의해서 카운트 신호(CNT)와 비교되는, 문턱값(THR)을 생성할 수 있고, 문턱값(THR)은 제1 디코딩 방식으로부터 제2 디코딩 방식으로 디코딩 방식이 전환되는 시점을 정의할 수 있다. 일부 실시예들에서, 카운터(282)는 업-카운터일 수 있고, 문턱값(THR)은 제1 비트 그룹(BG1)에 관계된 값을 가질 수 있다. 예를 들면, 판정된 소스 비트들의 개수를 카운트 신호(CNT)가 나타내는 경우, 문턱값 생성기(284)는 제1 비트 그룹(BG1)의 크기, 즉 X에 대응할 수 있다. 또한, 판정된 고정 비트들의 개수를 카운트 신호(CNT)가 나타내는 경우, 문턱값 생성기(284)는 제1 비트 그룹(BG1)에 포함된 고정 비트들의 개수에 대응할 수 있다. 또한, 판정된 정보 비트들의 개수를 카운트 신호(CNT)가 나타내는 경우, 문턱값 생성기(284)는 제1 비트 그룹(BG1)에 포함된 정보 비트들의 개수에 대응할 수 있다. 일부 실시예들에서, 카운터(282)는 다운-카운터일 수 있고, 문턱값(THR)은 제2 비트 그룹(BG2)에 관계된 값을 가질 수도 있다. 일부 실시예들에서, 문턱값 생성기(284)는 도 9를 참조하여 전술된 바와 같이, 제2 비트 그룹(BG2)에 포함된 정보 비트들의 개수 T를 계산할 수 있고, T에 기초하여 문턱값(THR)을 생성할 수 있다.
비교기(286)는 카운트 신호(CNT)의 값 및 문턱값(THR)을 비교함으로써 비교 신호(CMP)를 생성할 수 있고, 멀티플렉서(288)는 비교 신호(CMP)에 따라 복수의 제1 비트 시퀀스들(QS1) 및 복수의 제2 비트 시퀀스들(QS2) 중 하나를 선택함으로써 복수의 비트 시퀀스들(QS')을 출력할 수 있다. 예를 들면, 비교기(286)는 카운트 신호(CNT)의 값이 문턱값(THR)이하인 경우 비활성화된(inactive) 비교 신호(CMP)를 생성할 수 있고, 멀티플렉서(288)는 비활성화된 비교 신호(CMP)에 응답하여 복수의 제1 비트 시퀀스들(QS1)을 선택할 수 있다. 또한, 비교기(286)는 카운트 신호(CNT)의 값이 문턱값(THR)을 초과하는 경우 활성화된(active) 비교 신호(CMP)를 생성할 수 있고, 멀티플렉서(288)는 활성화된 비교 신호(CMP)에 응답하여 복수의 제2 비트 시퀀스들(QS2)을 선택할 수 있다. 일부 실시예들에서, 비교 신호(CMP) 또는 비교 신호(CMP)로부터 생성된 인에이블 신호는 도 10의 제1 및 제2 처리 회로(240, 260)에 각각 제공될 수 있고, 제1 및 제2 처리 회로(240, 260)는 비교 신호(CMP)에 응답하여 활성화되거나 비활성화될 수 있다.
도 12는 본 개시의 예시적 실시예에 따른 디코딩 방법의 예시들을 나타내는 순서도이다. 구체적으로, 도 12는 SCL 디코딩 및 SC 디코딩에 기초한 디코딩 방법을 나타낸다. 일부 실시예들에서, 도 12의 디코딩 방법은 도 1의 디코더(25)에 의해서 수행될 수 있고, 이하에서 도 12는 도 1 및 도 3을 참조하여 설명될 것이며, 도 12에 대한 설명 중 도면들을 참조하여 전술된 내용과 중복되는 내용은 생략될 것이다.
단계 S110에서, 초기화 동작이 수행될 수 있다. 예를 들면, 도 12에 도시된 바와 같이, 소스 비트의 인덱스를 나타내는 변수 i는 1로 초기화될 수 있다.
단계 S120에서, 제i 소스 비트(ui)가 집합 A에 포함되는지 여부를 판정하는 동작이 수행될 수 있다. 집합 A는 소스 데이터(SRC')에 포함된 소스 비트들 중 정보 비트들에 대응하는 소스 비트들의 집합일 수 있다. 도 12에 도시된 바와 같이, 제i 소스 비트(ui)가 집합 A에 포함되지 아니하는 경우, 즉 제i 소스 비트(ui)가 고정 비트인 경우, 단계 S130에서 고정 비트의 값을 포함하는 L개의 비트 시퀀스들을 생성하는 동작이 수행될 수 있다.
제i 소스 비트(ui)가 집합 A에 포함되는 경우, 즉 제i 소스 비트(ui)가 정보 비트인 경우, 단계 S140에서 2L개의 신뢰도 값들을 계산하는 동작이 수행될 수 있다. 2L개의 신뢰도 값들은, L개의 비트 시퀀스들 각각에서 후속 정보 비트가 '0'인 경우의 신뢰도 값 및 '1'인 경우의 신뢰도 값을 포함할 수 있다.
단계 S150에서, 제i 소스 비트(ui)가 집합 B에 포함되는지 여부를 판정하는 동작이 수행될 수 있다. 집합 B는 소스 데이터(SRC')에 포함된 정보 비트들 중 SC 디코딩에 기초하여 판정되는 소스 비트들의 집합일 수 있다. 즉, 집합 B에 포함된 소스 비트들은 제2 비트 그룹(BG2)에 포함된 정보 비트들에 대응할 수 있다.
제i 소스 비트(ui)가 집합 B에 포함되지 아니한 경우, 단계 S160에서 2L개의 신뢰도 값들을 정렬하는 동작이 수행될 수 있고, 그 다음에 단계 S170에서 L개의 비트 시퀀스들을 생성하는 동작이 수행될 수 있다. 상위 L개의 신뢰도 값들을 판정하기 위하여 2L개의 신뢰도 값들이 정렬될 수 있으며, 상위 L개의 신뢰도 값들에 대응하는 L개의 신규 비트 시퀀스들이 생성될 수 있다.
다른 한편으로, 제i 소스 비트(ui)가 집합 B에 포함된 경우, 단계 S180에서 L개의 비트 시퀀스들 각각에서 소스 비트를 판정하는 동작이 수행될 수 있고, 그 다음에 단계 S190에서 L개의 비트 시퀀스들을 생성하는 동작이 수행될 수 있다. 신뢰도 값들의 L개의 쌍들 각각에서 신뢰도 값이 선택될 수 있고, 선택된 L개의 신뢰도 값들에 대응하는 L개의 신규 비트 시퀀스들이 생성될 수 있다. 이에 따라, 단계 S180 및 단계 S190에서 2L개의 신뢰도 값들을 정렬하는 동작은 생략될 수 있다.
단계 200에서 다음 소스 비트를 판정하기 위하여 변수 i가 1만큼 증가할 수 있고, 단계 S210에서 변수 i가 소스 데이터(SRC')에 포함된 소스 비트들의 개수 N이하인지 여부가 판정될 수 있다. 도 12에 도시된 바와 같이, 변수 i가 N이하인 경우, 즉 판정될 소스 비트가 남아 있는 경우 단계 S120이 후속하여 수행될 수 있는 한편, N개의 소스 비트들이 모두 판정된 경우 도 12의 디코딩 방법은 종료할 수 있다.
도 13은 본 개시의 예시적 실시예에 따른 데이터 프로세서(50)를 나타내는 블록도이다. 일부 실시예들에서, 도 1의 디코더(25) 또는 도 10의 디코더(200)는, 도 13의 데이터 프로세서(50)에 구현될 수 있다.
도 13에 도시된 바와 같이, 데이터 프로세서(50)는 ASIC(Application Specific Integrated Circuit)(51), ASIP(Application Specific Instruction set Processor)(53), 메모리(55), 메인 프로세서(57) 및 메인 메모리(59)를 포함할 수 있다. 일부 실시예들에서, ASIC(51), ASIP(53) 및 메인 프로세서(57) 중 2개 이상은 상호 통신할 수 있다. 또한, 일부 실시예들에서, ASIC(61051 ASIP(53), 메모리(55), 메인 프로세서(57) 및 메인 메모리(59) 중 적어도 2개 이상은 하나의 반도체 칩에 내장될(embedded) 수 있다.
ASIP(53)은 특정한 용도를 위하여 커스텀화된 집적 회로로서, 특정 어플리케이션을 위한 전용의 명령어 세트(instruction set)를 지원할 수 있고, 명령어 세트에 포함된 명령어를 실행할 수 있다. 메모리(55)는 ASIP(53)와 통신할 수 있고, 비일시적인 저장장치로서 ASIP(53)에 의해서 실행되는 복수의 명령어들을 저장할 수도 있다. 예를 들면, 메모리(55)는, 비제한적인 예시로서 RAM(Random Access Memory), ROM(Read Only Memory), 테이프, 자기디스크, 광학디스크, 휘발성 메모리, 비휘발성 메모리 및 이들의 조합과 같이, ASIP(53)에 의해서 접근가능한 임의의 유형의 메모리를 포함할 수 있다. 일부 실시예들에서, 메모리(55)는, 도 8 및 도 9를 참조하여 전술된 제2 비트 그룹에 포함된 정보 비트들의 개수를 계산하는데 필요한 데이터로서, 예컨대 룩업 테이블 및/또는 복수의 다항식들을 저장할 수 있다.
메인 프로세서(57)는 복수의 명령어들을 실행함으로써 데이터 프로세서(50)를 제어할 수 있다. 예를 들면, 메인 프로세서(57)는 ASIC(51) 및 ASIP(53)를 제어할 수도 있고, 수신기(20)에 대한 사용자의 입력을 처리할 수도 있다. 메인 메모리(59)는 메인 프로세서(57)와 통신할 수 있고, 메인 프로세서(57)에 의해서 접근가능한 임의의 유형의 메모리를 포함할 수 있다. 일부 실시예들에서, 메인 메모리(59)는 비일시적인 저장장치로서 메인 프로세서(57)에 의해서 실행되는 복수의 명령어들을 저장할 수도 있다.
일부 실시예들에서, 채널 코딩을 위한 디코딩 방법은, 도 13의 데이터 프로세서(50)에 포함된 구성요소들 중 적어도 하나에 의해서 수행될 수 있다. 예를 들면, 도 1의 디코더(25)의 동작 중 적어도 일부는 메모리(55)에 저장된 복수의 명령어들로서 구현될 수 있고, ASIP(53)는 메모리(55)에 저장된 복수의 명령어들을 실행함으로써 디코딩 방법의 단계들 중 적어도 하나를 수행할 수 있다. 일부 실시예들에서, 디코딩 방법의 단계들 중 적어도 하나는, 논리 합성 등을 통해서 설계된 하드웨어 블록에 의해 수행될 수 있고, 그러한 하드웨어 블록(예컨대, 도 10의 200)이 ASIC(51)에 포함될 수도 있다. 일부 실시예들에서, 디코딩 방법의 단계들 중 적어도 하나는, 메인 메모리(59)에 저장된 복수의 명령어들로서 구현될 수 있고, 메인 프로세서(57)가 메인 메모리(59)에 저장된 복수의 명령어들을 실행함으로써 송신 전력 제어를 위한 방법의 단계들 중 적어도 하나를 수행할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 코드워드(codeword)로부터 일련의 소스 비트들을 순차적으로 판정하기 위한 디코딩 방법으로서,
    상기 일련의 소스 비트들 중 처음 X개의 소스 비트들을 순차적으로 판정하는 제1 디코딩 단계; 및
    상기 일련의 소스 비트들 중 나머지 Y개의 소스 비트들을 순차적으로 판정하는 제2 디코딩 단계를 포함하고,
    상기 제1 디코딩 단계는, L이 영보다 큰 정수일 때, L개의 비트 시퀀스들로부터 계산된 적어도 2L개의 신뢰도 값들을 정렬하는 단계를 포함하고,
    상기 제2 디코딩 단계는, 상기 적어도 2L개의 신뢰도 값들에 기초하여 상기 L개의 비트 시퀀스들 각각에서 소스 비트를 판정하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  2. 청구항 1에 있어서,
    상기 일련의 소스 비트들의 개수 및 상기 일련의 소스 비트들에 포함된 정보 비트들의 개수에 기초하여, X 또는 Y를 계산하는 단계를 더 포함하는 디코딩 방법.
  3. 청구항 2에 있어서,
    상기 X 또는 Y를 계산하는 단계는,
    상기 일련의 소스 비트들의 개수에 기초하여, 복수의 다항식들 중 하나의 다항식을 선택하는 단계; 및
    선택된 상기 다항식 및 상기 일련의 소스 비트들에 포함된 상기 정보 비트들의 개수에 기초하여, X 또는 Y를 계산하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  4. 청구항 2에 있어서,
    상기 나머지 Y개의 소스 비트들에 포함된 정보 비트들의 개수는, 상기 일련의 소스 비트들에 포함된 정보 비트들의 개수의 절반 이하인 것을 특징으로 하는 디코딩 방법.
  5. 청구항 1에 있어서,
    상기 제1 디코딩 단계는, 정렬된 상기 적어도 2L개의 신뢰도 값들에 기초하여, 상위 L개의 신뢰도 값들에 대응하는 L개의 신규 비트 시퀀스들을 생성하는 단계를 더 포함하고,
    상기 제2 디코딩 단계는, 상기 L개의 비트 시퀀스들 및 판정된 소스 비트들을 각각 포함하는 L개의 신규 비트 시퀀스를 생성하는 단계를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  6. 폴라 코드(polar code)에 기초하여 인코딩된 코드워드(codeword)로부터 일련의 소스 비트들을 순차적으로 판정하도록 구성된 폴라 디코딩을 위한 장치로서,
    L이 영보다 큰 정수일 때, L개의 비트 시퀀스들로부터 적어도 2L개의 신뢰도 값들을 계산하도록 구성된 신뢰도 계산기;
    상기 적어도 2L개의 신뢰도 값들을 정렬함으로써, 가장 높은 신뢰도 값을 가지는 L개의 신규 비트 시퀀스들을 생성하도록 구성된 제1 처리 회로;
    상기 적어도 2L개의 신뢰도 값들에 기초하여 상기 L개의 비트 시퀀스들 각각에서 소스 비트를 판정함으로써, L개의 신규 비트 시퀀스들을 생성하도록 구성된 제2 처리 회로; 및
    상기 일련의 소스 비트들의 인덱스들에 기초하여, 상기 제1 처리 회로 및 상기 제2 처리 회로 중 하나를 선택하도록 구성된 선택 회로를 포함하는 폴라 디코딩을 위한 장치.
  7. 청구항 6에 있어서,
    상기 선택 회로는,
    순차적으로 판정되는 소스 비트들을 카운트하도록 구성된 카운터;
    상기 카운터의 출력이 문턱값을 초과하는 경우 활성화되는 비교 신호를 생성하도록 구성된 비교기; 및
    활성화된 상기 비교 신호에 응답하여 상기 제2 처리 회로가 생성하는 상기 L개의 신규 비트 시퀀스들을 선택하도록 구성된 멀티플렉서를 포함하는 것을 특징으로 하는 폴라 디코딩을 위한 장치.
  8. 폴라 코드(polar code)에 기초하여 인코딩된 코드워드(codeword)로부터 일련의 소스 비트들을 획득하기 위한 폴라 디코딩 방법으로서,
    SCL(successive cancellation list) 디코딩에 기초하여, 상기 코드워드로부터 제1 비트 그룹에 포함된 소스 비트들을 순차적으로 판정하는 제1 디코딩 단계; 및
    SC(successive cancellation) 디코딩에 기초하여, 상기 코드워드로부터 제2 비트 그룹에 포함된 소스 비트들을 순차적으로 판정하는 제2 디코딩 단계를 포함하고,
    상기 제1 비트 그룹은, 최초 판정되는 소스 비트를 포함하고,
    상기 제2 비트 그룹은, 최후 판정되는 소스 비트를 포함하는 것을 특징으로 하는 폴라 디코딩 방법.
  9. 청구항 8에 있어서,
    상기 일련의 소스 비트들의 개수 및 상기 일련의 소스 비트들에 포함된 정보 비트들의 개수에 기초하여, 상기 제2 비트 그룹의 크기를 계산하는 단계를 더 포함하는 폴라 디코딩 방법.
  10. 청구항 9에 있어서,
    상기 제2 비트 그룹의 크기를 계산하는 단계는,
    상기 일련의 소스 비트들의 개수에 기초하여, 복수의 다항식들 중 하나의 다항식을 선택하는 단계; 및
    선택된 상기 다항식 및 상기 일련의 소스 비트들에 포함된 상기 정보 비트들의 개수에 기초하여, 상기 제2 비트 그룹에 포함된 소스 비트들의 개수를 계산하는 단계를 포함하는 것을 특징으로 하는 폴라 디코딩 방법.
KR1020200023841A 2020-02-26 2020-02-26 채널 코딩에서 디코딩을 위한 장치 및 방법 KR20210108789A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200023841A KR20210108789A (ko) 2020-02-26 2020-02-26 채널 코딩에서 디코딩을 위한 장치 및 방법
US17/039,573 US11509334B2 (en) 2020-02-26 2020-09-30 Decoding apparatus and decoding method for decoding operation in channel coding
CN202011443492.3A CN113315527A (zh) 2020-02-26 2020-12-08 用于信道编码中的解码操作的解码装置和解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200023841A KR20210108789A (ko) 2020-02-26 2020-02-26 채널 코딩에서 디코딩을 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20210108789A true KR20210108789A (ko) 2021-09-03

Family

ID=77366349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200023841A KR20210108789A (ko) 2020-02-26 2020-02-26 채널 코딩에서 디코딩을 위한 장치 및 방법

Country Status (3)

Country Link
US (1) US11509334B2 (ko)
KR (1) KR20210108789A (ko)
CN (1) CN113315527A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113270097B (zh) * 2021-05-18 2022-05-17 成都傅立叶电子科技有限公司 无人机械控制方法、电台语音指令转换方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102174947B1 (ko) 2016-04-29 2020-11-05 후아웨이 테크놀러지 컴퍼니 리미티드 폴라 코드 인코딩 및 디코딩 방법과 장치
US10361728B2 (en) 2016-06-17 2019-07-23 Huawei Technologies Co., Ltd. Multiple-symbol combination based decoding for general polar codes
US10153787B2 (en) 2016-09-20 2018-12-11 Samsung Electronics Co., Ltd Apparatus and method for parallelized successive cancellation decoding and successive cancellation list decoding of polar codes
KR101856416B1 (ko) * 2017-02-28 2018-05-09 성균관대학교산학협력단 극 부호를 위한 저 복잡도 scl 복호 방법 및 장치
US20180331697A1 (en) 2017-05-15 2018-11-15 Qualcomm Incorporated Nominal complexity and weighted combinations for polar code construction
US10523367B2 (en) 2017-08-18 2019-12-31 Samsung Electronics Co., Ltd. Efficient survivor memory architecture for successive cancellation list decoding of channel polarization codes
JP2019102950A (ja) 2017-11-30 2019-06-24 富士通株式会社 復号装置、復号方法および通信システム

Also Published As

Publication number Publication date
CN113315527A (zh) 2021-08-27
US20210266015A1 (en) 2021-08-26
US11509334B2 (en) 2022-11-22

Similar Documents

Publication Publication Date Title
US10979081B2 (en) Polar code interleaving and bit selection
CN109478953B (zh) 用极化码进行盲检测的方法及系统
KR102125520B1 (ko) 연접한 극성 코드를 사용하여 인코딩 및 디코딩하는 방법 및 시스템
RU2733818C1 (ru) Конкатенированный полярный код с адаптивным обнаружением ошибок
KR102662470B1 (ko) 조기 종료를 위해 극성 코드에서 분산 crc를 인터리빙하는 시스템 및 방법
CN110637417B (zh) 用于对极化码打孔的方法和装置
JP2019517189A (ja) Polar Polar符号を利用して符号化および復号化を行う方法および装置
US11139836B2 (en) Information transmission method and transmission device, and information reception method and reception device
US10887050B2 (en) Downlink signal reception method and user equipment, and downlink signal transmission method and base station
KR102349879B1 (ko) 폴라 코드들에 대한 crc 인터리빙 패턴
KR102632560B1 (ko) 경로 메트릭을 이용하여 입력 데이터를 디코딩하는 장치 및 이를 이용하는 디코딩 방법
KR20190114263A (ko) 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
US11469779B2 (en) Efficient polar code construction in 5G
US20230336274A1 (en) Codeword bit interleaving scheme for multilayer transmissions in wireless communication system
CN111200442A (zh) 编译码方法、编码译码装置以及系统
US11223370B2 (en) Method and apparatus for transmitting information
JP2010514336A (ja) Ofdm技術を利用する通信システムにおいてシンボルをマッピングする方法及び構成
WO2017101023A1 (zh) 通信方法及网络设备、用户设备
US10211951B2 (en) Decoding method and apparatus
WO2019069261A1 (en) FRONT INTERLACING CRC CODING OF A PURCHASED PBCH NR INCLUDING KNOWN BITS TO ENHANCE THE PERFORMANCE OF POLAR CODES
KR20210108789A (ko) 채널 코딩에서 디코딩을 위한 장치 및 방법
US11044046B2 (en) Data processing method and apparatus
CN110622426A (zh) 用互补序列打孔极性码
CN111525980B (zh) 译码方法及装置
KR102570190B1 (ko) 무선 통신 시스템에서 폴라 코드에 기반한 정보 전송 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
A201 Request for examination