본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
이하 본 개시는 무선 통신 시스템에서 극 부호(polar)를 이용한 부호화 및 복호화를 효과적으로 수행하기 위한 장치 및 방법에 관한 것이다. 구체적으로, 본 개시는 무선 통신 시스템에서 서브블록(sub-block)의 비활성화를 통해 부호화 및 복호화를 하기 위한 기술을 설명한다.
이하 설명에서 사용되는 신호를 지칭하는 용어, 채널을 지칭하는 용어, 제어 정보를 지칭하는 용어, 네트워크 객체(network entity)들을 지칭하는 용어, 장치의 구성 요소를 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
또한, 본 개시는, 일부 통신 규격(예: 3GPP(3rd Generation Partnership Project))에서 사용되는 용어들을 이용하여 다양한 실시 예들을 설명하지만, 이는 설명을 위한 예시일 뿐이다. 본 개시의 다양한 실시 예들은, 다른 통신 시스템에서도, 용이하게 변형되어 적용될 수 있다.
도 1은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템을 도시한다. 도 1은 무선 통신 시스템에서 무선 채널을 이용하는 노드(node)들의 일부로서, 송신단 110과 수신단 120을 예시한다. 도 1은 하나의 송신단 110 및 하나의 수신단 120을 도시하나, 복수의 송신단 또는 복수의 수신단을 포함할 수 있다. 또한, 설명의 편의를 위하여, 본 문서에서는 송신단 110과 수신단 120이 별개의 개체인 것으로 설명하나, 송신단 110과 수신단 120의 기능은 서로 바뀔 수 있다. 예를 들어, 셀룰러 통신 시스템의 상향링크의 경우, 송신단 110은 단말, 수신단 120은 기지국이 될 수 있다. 하향링크의 경우, 송신단 110은 기지국, 수신단 120이 단말이 될 수 있다. 기지국은, 기지국(base station) 외에 '액세스 포인트(access point, AP)', '이노드비(eNodeB, eNB)', '5G 노드(5th generation node)', '무선 포인트(wireless point)', '송수신 포인트(transmission/reception point, TRP)' 또는 이와 동등한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다. 단말은, 단말(terminal) 외 '사용자 장비(user equipment, UE)', '이동국(mobile station)', '가입자국(subscriber station)', '원격 단말(remote terminal)', '무선 단말(wireless terminal)', 또는 '사용자 장치(user device)' 또는 이와 동등한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다.
일부 실시 예들에서, 송신단 110은, 비활성화 서브블록을 식별하고, 식별된 서브블록에 기반하여 데이터 부호화를 수행하고, 부호화된 데이터를 수신단 120으로 송신할 수 있다. 일부 실시 예들에서, 수신단 120은, 송신단으로부터 부호화된 데이터를 수신하고, 비활성화 서브블록을 식별하고, 식별된 서브블록에 기반하여 데이터의 복호화를 수행할 수 있다.
도 2는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 송신단 장치의 구성의 예를 도시한다. 즉, 도 2에 예시된 구성은 송신단 110의 구성으로서 이해될 수 있다. 이하 사용되는 '...부', '...기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 2를 참고하면, 송신단 110은 통신부 210, 저장부 220, 제어부 230를 포함할 수 있고, 제어부 230는 비활성화 서브블록 식별부 232와 데이터 부호화부 234를 포함할 수 있다.
통신부 210은 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행할 수 있다. 예를 들어, 통신부 210은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 예를 들어, 데이터 송신 시, 통신부 210은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성할 수 있다. 또한, 데이터 수신 시, 통신부 210은 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원할 수 있다. 또한, 통신부 210은 기저대역 신호를 RF(radio frequency) 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환할 수 있다.
이를 위해, 통신부 210은 송신 필터, 수신 필터, 증폭기, 믹서(mixer), 오실레이터(oscillator), DAC(digital to analog convertor), ADC(analog to digital convertor) 등을 포함할 수 있다. 또한, 통신부 210은 다수의 송수신 경로(path)들을 포함할 수 있다. 나아가, 통신부 210은 다수의 안테나 요소들(antenna elements)로 구성된 적어도 하나의 안테나 어레이(antenna array)를 포함할 수 있다. 하드웨어의 측면에서, 통신부(210)는 디지털 유닛(digital unit) 및 아날로그 유닛(analog unit)으로 구성될 수 있으며, 아날로그 유닛은 동작 전력, 동작 주파수 등에 따라 다수의 서브 유닛(sub-unit)들로 구성될 수 있다.
통신부 210은 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 통신부 210은 '송신부', '수신부' 또는 '송수신부(transceiver)'로 지칭될 수 있다. 또한, 이하 설명에서, 무선 채널을 통해 수행되는 송신 및 수신은 통신부 210에 의해 상술한 바와 같은 처리가 수행되는 것을 포함하는 의미로 사용된다. 또한, 통신부 210은 백홀(backhaul) 망을 통해 연결된 다른 네트워크 개체와의 통신을 위한 백홀 통신부를 더 포함할 수 있다.
저장부 220은 송신단 110의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 저장부 220은 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 저장부 220은 제어부 230의 요청에 따라 저장된 데이터를 제공할 수 있다.
제어부 230는 송신단 110의 전반적인 동작들을 제어할 수 있다. 예를 들어, 제어부 230은 통신부 220를 통해 신호를 송신 및 수신할 수 있다. 또한, 제어부 230은 저장부 230에 데이터를 기록하거나 읽을 수 있다. 이를 위해, 제어부 330은 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 다시 말해, 제어부 230은 통신부 220에 포함된 각 구성들의 동작을 제어할 수 있다. 다양한 실시 예들에 따라, 제어부 230는 비활성화 서브블록 식별부 232 및 데이터 부호화부 234를 제어할 수 있다. 예를 들면, 제어부 230는 비활성화 서브블록 식별부 232가 비활성화 서브블록을 식별하도록 제어할 수 있다. 일 실시 예에서, 비활성화 서브블록은 사전에 결정되어 저장부 220에 저장되어 있을 수 있다. 또한, 제어부 230는 데이터 부호화부 234가 식별된 서브블록에 기반하여 데이터 부호화를 수행하도록 제어할 수 있다. 제어부 230는 송신단이 후술하는 다양한 실시 예들에 따른 동작들을 수행하도록 제어할 수 있다.
도 3은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 수신단 장치의 구성의 예를 도시한다. 즉, 도 3에 예시된 구성은 수신단 120의 구성으로서 이해될 수 있다. 이하 사용되는 '...부', '...기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 3을 참고하면, 수신단 120은 통신부 310, 저장부 320, 제어부 330를 포함할 수 있다.
통신부 310은 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행할 수 있다. 예를 들어, 통신부 310은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 예를 들어, 데이터 송신 시, 통신부 310은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성할 수 있다. 또한, 데이터 수신 시, 통신부 310은 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원할 수 있다. 또한, 통신부 310은 기저대역 신호를 RF(radio frequency) 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환할 수 있다.
이를 위해, 통신부 310은 송신 필터, 수신 필터, 증폭기, 믹서(mixer), 오실레이터(oscillator), DAC(digital to analog convertor), ADC(analog to digital convertor) 등을 포함할 수 있다. 또한, 통신부 310은 다수의 송수신 경로(path)들을 포함할 수 있다. 나아가, 통신부 310은 다수의 안테나 요소들(antenna elements)로 구성된 적어도 하나의 안테나 어레이(antenna array)를 포함할 수 있다. 하드웨어의 측면에서, 통신부(310)는 디지털 유닛(digital unit) 및 아날로그 유닛(analog unit)으로 구성될 수 있으며, 아날로그 유닛은 동작 전력, 동작 주파수 등에 따라 다수의 서브 유닛(sub-unit)들로 구성될 수 있다.
통신부 310은 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 통신부 310은 '송신부', '수신부' 또는 '송수신부(transceiver)'로 지칭될 수 있다. 또한, 이하 설명에서, 무선 채널을 통해 수행되는 송신 및 수신은 통신부 310에 의해 상술한 바와 같은 처리가 수행되는 것을 포함하는 의미로 사용된다. 또한, 통신부 310은 백홀(backhaul) 망을 통해 연결된 다른 네트워크 개체와의 통신을 위한 백홀 통신부를 포함할 수 있다.
저장부 320은 수신단 120의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 저장부 320은 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 저장부 320은 제어부 330의 요청에 따라 저장된 데이터를 제공할 수 있다.
제어부 330은 수신단 120의 전반적인 동작들을 제어할 수 있다. 예를 들어, 제어부 330은 통신부 320를 통해 신호를 송신 및 수신할 수 있다. 또한, 제어부 330은 저장부 330에 데이터를 기록하거나 읽을 수 있다. 이를 위해, 제어부 330은 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 다시 말해, 제어부 330는 통신부 320에 포함된 각 구성들의 동작을 제어할 수 있다. 다양한 실시 예들에 따라, 제어부 330는 비활성화 서브블록 식별부 332 및 데이터 복호화부 334를 제어할 수 있다. 예를 들면, 제어부 330는 비활성화 서브블록 식별부 332가 비활성화 서브블록을 식별하도록 제어할 수 있다. 일 실시 예에서, 비활성화 서브블록은 사전에 결정되어 저장부 320에 저장되어 있을 수 있다. 다른 실시 예에서, 수신단 120은 통신부 310을 통해 비활성화 서브블록에 대한 정보를 송신단 110으로부터 수신할 수 있다. 또한, 제어부 330는 데이터 복호화부 334가 식별된 서브블록에 기반하여 데이터 복호화를 수행하도록 제어할 수 있다. 제어부 330는 수신단이 후술하는 다양한 실시 예들에 따른 동작들을 수행하도록 제어할 수 있다.
기존의 극 부호(polar code)는 부호 길이가 N인 경우, O(NlogN)의 낮은 부호화 및 복호화(연속 제거(successive cancellation, SC) 복호 기준) 복잡도를 가진다. 기존의 극 부호는 양극화 과정이 빠짐없이 일어나므로, 모든 노드(XOR)에 해당하는 노드 연산이 이루어지는 완전히 양극화되는(fully polarized) 구조이다. 다만, 이러한 노드 연산들 중 불필요한 노드 연산을 줄임으로써 기존의 연산 복잡도를 저감하기 위한 기술들이 제안되었다.
첫 번째로, 완화된 극 부호(relaxed polar code) 기술이 제안되었다. 완화된 극 부호 기술의 경우, 비트 채널의 신뢰도가 완화도(relaxation)의 기준으로 활용될 수 있다. 기존의 극 부호와 유사하게, 완화된 극 부호는 이진 무기억 대칭 채널(binary memoryless symmetric, BMS)에서 점근적으로 채널용량을 달성할 수 있다. 완화된 극 부호 기법은 채널 양극화를 통해 채널이 충분히 좋아지거나, 나빠지는 경우, 더 이상 양극화를 진행하지 않을 수 있다. 일반적으로 유한 길이의 극 부호에서 충분히 좋아지거나, 나빠진 채널에 대해 세가지 시나리오가 고려될 수 있다. 여기서, Bhattacharyya 파라미터는 분리채널의 신뢰도를 결정하는 파라미터로서, 0 또는 1이 채널 W를 통해 전송되는 경우, 최대 우도(maximum likelihood, ML) 오율(error rate)의 상계(upper bound)로 정의될 수 있다. 첫 번째 시나리오는, 충분히 좋아진 채널들을 완화시키는(good-channel relaxed polarization, GC-RP) 시나리오이다. 이 경우, t 번째 양극화 단계에서 i 번째 노드의 Bhattacharyya 파라미터 값()이 충분히 좋아진 채널들에 대한 기준 문턱 값() 미만인 경우, 양극화는 더 이상 진행되지 않고 중단될 수 있다. 두 번째 시나리오는, 충분히 안 좋아진 채널들을 완화시키는(bad-channel relaxed polarization, BC-RP) 시나리오이다. 이 경우, t 번째 양극화 단계(양극화 레벨: t)에서 i 번째 노드의 Bhattacharyya 파라미터 값()이 충분히 안 좋아진 채널들에 대한 기준 문턱 값()을 초과하는 경우, 양극화는 더 이상 진행되지 않고 중단될 수 있다. 세 번째 시나리오는, 충분히 좋아진 채널들과 충분히 안 좋아진 채널들을 동시에 완화시키는(all-channel relaxed polarization, AC-RP) 시나리오이다.
두 번째로, 비균일(irregular) 극 부호 기술이 제안되었다. 상술한 완화된 극 부호와 비균일 극 부호의 차이점은 후술하는 바와 같다. 다양한 실시 예들에서, 코드워드(codeword) 벡터 단으로부터 로그 우도 비율(log likelihood ratio, LLR)의 검사 노드(check node, CN) 연산과 변수 노드(variable node, VN) 연산이 반복적으로 수행됨으로써 채널 양극화가 일어날 수 있다. 이때, 완화된 극 부호의 경우, 오른쪽 단에 위치한 양극화 유닛들은 특정 문턱 값 조건을 만족하지 않는 경우 완화(relax)될 수 없다. 반면, 비균일 극 부호의 경우, 완화된 극 부호에서 완화되는 위치를 선정하는 기준에 대한 한계를 극복하기 위하여 제안되었다. 다양한 실시 예들에서, 양극화 유닛의 비활성화는 완화된 극 부호의 경우, 완화(relax)로, 비균일 극 부호의 경우, 비활성화(inactivate)로 지칭될 수 있다. 비균일 극 부호의 경우, 비활성화하는 양극화 유닛에 대한 위치제한이 존재하지 아니하므로, 소스 비트 단 또는 코드워드 단 중 어느 위치의 양극화 유닛도 비활성화될 수 있다. 그러므로, 비균일 극 부호의 경우, 비활성화 시키려는 모든 양극화 유닛들에 대한 조합들이 고려될 수 있고, 이러한 조합들 중 최적의 WER(word error rate)을 갖는 비활성화 패턴이 선택될 수 있다. 예를 들면, 연속 제거(successive cancellation, SC) 복호 시 WER은 <수학식 1>과 같이 정의될 수 있다.
<수학식 1>에서, 는 연속 제거 복호 시 블록 오율, 는 소스 비트 단에서의 i번째 Bhattacharyya 파라미터 값, 는 정보 비트 인덱스들에 대한 집합을 나타낸다.
상술한 <수학식 1>을 이진 소실 채널에 적용하는 경우, 비교적 간단한 형태인 부호 길이 N=4에서 비활성화 패턴에 따른 WER이 확인될 수 있다. 예를 들면, 소스 비트 단과 코드워드 비트 단 사이의 양극화 유닛의 인덱스를 라고 가정하는 경우, 는 소스 비트 단으로부터 a 번째 단, 위로부터 b 번째 단의 양극화 유닛을 의미할 수 있다. 이 경우, 정보 비트의 개수가 2인 BEC(binary eraser channel)에서, 양극화 유닛이 비활성화 되는 경우, WER 값은 0.2432, 양극화 유닛이 비활성화 되는 경우, WER 값은 0.2383, 양극화 유닛이 비활성화 되는 경우, WER 값은 0.2344, 양극화 유닛이 비활성화 되는 경우, WER 값은 0.2383과 같이 나타날 수 있다. 이와 같이, 비균일 극 부호 기법은 가장 좋은 오율 성능을 보이는 비활성화 패턴을 탐욕적인(greedy) 탐색 방법을 통해 얻을 수 있다.
상술한 바와 같이, 완화된 극 부호 기법은 분리 채널들의 신뢰도를 나타내는 Bhattacharyya 파라미터 값의 문턱 값을 이용하여, Bhattacharyya 파라미터 값이 기준 문턱 값을 초과하거나, 기준 문턱 값 미만인 경우, 양 극화를 더 이상 진행하지 않는 기술이다. 또한, 비균일 극 부호 기법은 WER을 개선하여 연산 복잡도가 줄어들 수는 있으나, 각 비활성화되는 양극화 유닛의 개수에 따라 최적의 성능을 갖는 비활성화 패턴을 완전한 탐색(exhaustive search)을 통해 찾는다. 그러므로, 이에 따른 생성 행렬(generator matrix)을 매번 새롭게 저장해서 많은 메모리량을 소비한다는 측면에서 단점이 있다.
따라서, 본 개시는, 상술한 완화된 극 부호 기법과 비균일 극 부호 기법의 단점을 극복하기 위하여, 양극화 유닛을 포함하는 전체 블록을 서브블록(sub-block) 단위로 나누고, 그러한 서브블록 내의 노드 연산들을 모두 비활성화시킴으로써 성능의 손실 없이 연산 복잡도를 낮추는 방법을 제안한다. 먼저, 기존의 일반적인 극 부호 기법과 블록 단위의 비균일(block-wise irregular) 극 부호 기법을 비교하면 도 4a 내지 4c와 같다. 본 개시의 다양한 실시 예들에서, 소스 비트는 정보 비트로 지칭될 수 있다.
도 4a는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 일반적인 극 부호 방법의 예를 도시한다.
도 4a를 참고하면, 소스 비트들 u0 내지 u7 401-1 내지 401-8이 양극화 유닛들 402-1 내지 402-12을 통하여 연산되고, 코드워드 비트들 x0 내지 x7 403-1 내지 403-8 로 부호화(encoding)된다. 도 4a는 극 부호의 부호 길이(N)가 8인 경우, 비트 반전(bit-reversal)이 일어나지 않은 일반적인 극 부호 기법을 도시한다. 이러한 일반적인 극 부호 기법은 완전히 양극화된(fully polarized) 구조로 지칭될 수 있다. 본 개시에서 제안하는 블록 단위의 비균일 극 부호 기법은 서브블록의 개념을 제시하며, 서브블록의 개념을 도입한 극 부호 기법은 도 4b 및 도 4c에서 도시된다.
도 4b는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 서브블록의 크기에 따른 블록 단위 극 부호 방법의 예를 도시한다.
도 4b를 참고하면, 서브블록의 크기(Nsub)는, 전체 블록의 크기(N)가 2n인 경우, 2t(인 정수)로 정의될 수 있다. 예를 들면, 도 4b에서 전체 블록의 크기가 8이므로, n은 3이고, 서브블록의 크기는 1, 2, 4 및 8이 될 수 있다. 도 4b의 경우, 서브블록의 크기는 2이다. 다양한 실시 예들에서, 송신단은 양극화 유닛을 포함하는 서브블록들 410, 412, 414 및 416을 정의할 수 있다. 이 경우, 송신단은 서브블록들 중 적어도 하나를 비활성화함으로써, 연산 복잡도를 줄일 수 있다. 예를 들면, 송신단은 양극화 유닛 402-1을 포함하고 있는 서브블록 410과, 양극화 유닛 402-9를 포함하고 있는 서브블록 414에 대해, 서브블록 내에 포함된 각 양극화 유닛 402-1 및 402-9에 대한 노드 연산을 수행하지 않음으로써 연산 복잡도를 줄일 수 있다. 다양한 실시 예들에서, 서브블록들의 비활성화는 소스 벡터 단과 가장 가까운 곳에서 이루어질 수 있다. 즉, 양극화 유닛들 중, 소스 벡터 단과 가까운 양극화 유닛을 포함하는 서브블록에서, 서브블록 비활성화가 수행될 수 있다. 송신단이 서브블록 410 및 서브블록 414를 비활성화함으로써, 전체 12개의 양극화 유닛들 중, 2개의 양극화 유닛들 402-1 및 402-9에 대한 노드 연산이 수행되지 않을 수 있다. 이를 통해, 일반적인 극 부호의 노드 연산에 비하여 계산 복잡도가 16.67% 줄어들 수 있다. 도 4b와 동일한 부호 길이에서, 서브블록의 크기가 4인 경우, 서브블록 비활성화의 예는 도 4c와 같다.
도 4c는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 서브블록의 크기에 따른 블록 단위 극 부호 방법의 예를 도시한다.
도 4c를 참고하면, 서브블록의 크기는 4이고, 서브블록들 420 및 422가 정의될 수 있다. 다양한 실시 예들에서, 서브블록 420은 양극화 유닛 402-1, 402-2, 402-4 및 402-6을 포함할 수 있고, 서브블록 422는 양극화 유닛 402-9, 402-10, 402-11 및 402-12를 포함할 수 있다. 송신단이 서브블록 420을 비활성화하는 경우, 양극화 유닛 402-1, 402-2, 402-4 및 402-6에서 노드 연산이 수행되지 않을 수 있다. 서브블록 420이 비활성화됨에 따라, 소스 비트들 u0 내지 u3에 해당하는 복호화가 한번에 수행될 수 있다. 즉, 서브블록 420에 포함된 양극화 유닛 402-1, 402-2, 402-4 및 402-6에 대한 노드 연산이 수행되지 않으므로, 코드비트 단에서 소스 비트 단으로 복호화가 진행되는 경우, 서브블록 420에 진입하기 전의 u0 내지 u3에 해당하는 LLR 값이 곧바로 소스 비트의 복호화에 사용될 수 있다. 또한, 비활성화 서브블록에 대한 분류(sorting) 또는 리스트 복호가 필요하지 아니하므로, 연산 복잡도와 지연 시간이 감소될 수 있다. 상술한 바와 같은 서브블록 비활성화를 통한 부호화 및 복호화의 과정을 블록도로 살펴보면 도 5와 같다.
도 5는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 블록 단위(block-wise) 극 부호의 부호화 및 복호화를 수행하는 송신단 및 수신단의 기능적 구성을 도시한다. 도 5에 도시된 부호화부 502는 도 1의 송신단 110에 포함될 수 있고, 복호화부 506은 도 1의 수신단 120에 포함될 수 있다.
도 5를 참고하면, 극 부호의 인덱스 시퀀스와 부호율에 기반하여 정보 비트들의 인덱스가 결정될 수 있다. 결정된 정보 비트들의 인덱스 집합 501-1은 부호화부 502로 입력될 수 있다. 또한, 비활성화하는 서브블록의 인덱스 정보 501-2도 부호화부 502로 입력될 수 있다. 부호화부 502는 입력된 정보 비트들의 인덱스 집합 501-1과, 비활성화하는 서브블록의 인덱스 정보 501-2에 기반하여 극 부호의 생성행렬을 새롭게 정의할 수 있다. 일반적인 극 부호의 생성행렬이 인 경우, 코드워드 벡터(x)는 소스 비트 벡터(u)와 생성행렬()의 곱 즉, 과 같은 부호화 식에 의해 결정될 수 있다. 다만, 서브블록 비활성화를 통해, 서브블록 내의 노드 연산이 수행되지 않는 경우, 코드워드 벡터(x)는 소스 비트 벡터(u)와 변형된 생성행렬()의 곱 즉, 와 같이 결정될 수 있다. 이와 같이, 변형된 생성행렬을 곱함으로써 생성된 코드워드 503는 채널 504를 통과하고, 채널을 통과한 코드워드 505는 복호화부 506에 입력될 수 있다. 이때, 부호화 시 사용되었던 정보 비트들의 인덱스 집합 501-1 및 비활성화하는 서브블록의 인덱스 정보 501-2도 복호화부 506로 입력될 수 있다. 일 실시예에서, 복호화부 506가 정보 비트들의 인덱스 집합에 대한 정보와, 비활성화하는 서브블록의 인덱스 정보를 미리 알고 있는 경우, 상술한 입력 과정은 생략될 수 있다.
복호화부 506는 입력된 정보들에 기반하여 채널을 통과한 코드워드 505에 대한 복호화를 수행할 수 있다. 이를 통해, 연산 복잡도가 낮아질 수 있다. 본 개시의 다양한 실시 예에서, 수신단에서 연속 제거 복호 기법을 이용하는 경우, 블록 단위의 불규칙적인 극 부호 기법의 부호화 과정의 구체적인 알고리즘은 <표 1>과 같다.
부호길이 N, 부호율 R(=K/N)에 대하여 1: 극 부호 인덱스 시퀀스 정의 2: 정보 비트 인덱스 시퀀스 3: for 4: if i then 5: else then 6: end if 7: end for 8: for 9: if mod = 0 10: then 11: else 12: 13: end if 14: end for 15: UpdateGeneratorMatrix(G) 16: |
<표 1>을 참고하면, 부호 길이 N, 부호율(R=K/N)에 대하여 극 부호 인덱스 시퀀스 가 정의된다. 송신단은 알고리즘의 3번째 줄 내지 5번째 줄에서, 인덱스를 0에서 N-1까지 증가시키면서, 정보 비트 인덱스 시퀀스의 집합 에 포함되는 인덱스에 대해서는 1(on)로, 정보 비트 인덱스 시퀀스의 집합 에 포함되지 않는 인덱스에 대해서는 0(off)으로 표시한 시퀀스의 집합 를 생성할 수 있다. 시퀀스 는 정보 비트는 1로, 고정 비트는 0으로 표기한 온-오프(on-off) 벡터를 나타낸다. 송신단은 알고리즘의 8번째 줄 내지 14번째 줄에서 비활성화할 서브블록의 인덱스 시퀀스 를 생성할 수 있다. 예를 들면, 송신단은 고정 비트 또는 정보 비트로만 구성된 서브블록들을 비활성화 서브블록들로 결정하고, 비활성화 서브블록들에 해당하는 서브블록 인덱스에서 시퀀스 내 원소 값을 1로 설정할 수 있다. 송신단은 비활성화하지 않는 나머지 서브블록들에 해당하는 서브블록 인덱스에서는 시퀀스 내 원소 값을 0으로 설정할 수 있다. 송신단은 비활성화할 서브블록의 인덱스 시퀀스에 기반하여, 생성행렬(G)를 업데이트할 수 있다. 즉, 송신단은 일반적인 극 부호의 생성행렬 에서, 변형된 생성행렬()로 업데이트할 수 있다. 송신단은 변형된 생성행렬을 통해 소스 비트 벡터(u)를 부호화함으로써, 코드워드 벡터(x)를 얻을 수 있다. <표 1>의 15번째 줄에서, UpdateGeneratorMatrix(G) 함수는, 비활성화 서브블록의 선정 방법에 따라, 기존의 생성행렬의 변형을 나타내는 함수로, 이에 대한 구체적인 알고리즘은 <표 2>와 같다.
1: def step(F,) 2: size = len(F) / 3: for k = 0: len()-1 4: if D[k] = 1 5: for j = 0 :len() 6: FtoIdentity(F, size, k*size, j*size) 7: def FtoIdentity(matrix, size, x, y) 8: if matrix[x][y]=0 9: return 10: for i = 0: len(size) 11: for j = 0: len(size) 12: matrix[x+i][y+j] = 0; 13: if i = j 14: matrix[x+i][y+j] = 1; 15: return matrix |
<표 2>를 참고하면, 먼저 송신단은 생성행렬(F), 서브블록의 크기() 및 비활성화할 서브블록 인덱스()를 정의할 수 있다. 그리고, 송신단은 생성행렬의 크기(len(F))를 서브블록의 크기로 나누고, 이를 크기(size)로 정의할 수 있다. 그리고, 인덱스 k가 0부터 서브블록의 개수-1(len()-1)까지 증가하는 동안, 송신단은 비활성화 서브블록의 경우(D[k] = 1), 단위 생성 행렬(F = ) 커널(kernel)을 단위행렬로 치환할 수 있다.도 6은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 비활성화 서브블록에 기반하여 부호화를 수행하는 송신단의 흐름도를 도시한다. 도 6은 도 1의 송신단 110의 동작 방법을 예시한다.
도 6을 참고하면, 601 단계에서, 송신단은 비활성화 서브블록을 식별한다. 예를 들면, 송신단은 후술하는 비활성화 서브블록의 결정 방법에 따라 결정된 비활성화할 서브블록의 인덱스를 식별할 수 있다. 다양한 실시예들에서, 고정 비트들로만 구성된 서브블록은 서브블록의 개수나 복호 방법에 관계없이 비활성화될 수 있다. 정보 비트들로만 구성된 서브블록의 경우, 복호 방법이나, 서브블록의 신뢰도에 따라 비활성화의 방법이 상이할 수 있다. 다양한 실시 예들에서, 비활성화 서브블록은 미리 결정되어 송신단의 저장부에 저장되어 있을 수 있다.
603 단계에서, 송신단은 식별된 서브블록에 기반하여 데이터를 부호화 한다. 예를 들면, 송신단은 비활성화할 서브블록의 인덱스 시퀀스를 생성하고, 비활성화할 서브블록의 인덱스 시퀀스에 기반하여, 일반적인 극 부호의 생성행렬에서 변형된 생성행렬을 결정할 수 있다. 송신단은, 변형된 생성행렬을 정보 비트에 곱하여 코드워드를 생성함으로써 데이터 부호화를 수행할 수 있다.
605 단계에서, 송신단은 부호화된 데이터를 수신단으로 송신한다. 예를 들면, 송신단은 변형된 생성행렬을 통해 부호화된 정보 비트 즉, 코드워드를 수신단으로 송신할 수 있다. 이 경우, 채널을 통과한 코드워드는 수신단에서 수신될 수 있고, 정보 비트의 인덱스 및 비활성화할 서브블록의 인덱스에 기반하여 코드워드가 복호화될 수 있다. 다양한 실시 예들에서, 송신단은 데이터 부호화를 수행하기 전에, 서브블록의 비활성화를 반영한 변형된 생성행렬을 생성할 수 있다. 도 7은 비활성화 서브블록의 인덱스를 식별하여 변형된 생성행렬을 결정하는 과정을 도시한다.
도 7은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 변형된 생성행렬을 결정하는 송신단의 흐름도를 도시한다. 도 7은 도 1의 송신단 110의 동작 방법을 예시한다.
도 7을 참고하면, 701 단계에서, 송신단은 비활성화 서브블록의 인덱스 집합을 식별한다. 다양한 실시예들에서, 부호 길이(N)와, 서브블록의 크기()에 기반하여 비활성화할 서브블록의 인덱스 집합()의 크기가 결정될 수 있다. 예를 들면, 부호 길이가 8이고, 서브블록의 크기가 2인 경우, 비활성화 서브블록의 인덱스 집합의 크기는 4로 결정될 수 있다. 이 경우, 크기 4인 비활성화 서브블록의 인덱스 집합은, 비활성화하는 서브블록의 인덱스에 대해서는 원소 1을 갖고, 비활성화하지 않는 서브블록의 인덱스에 대해서는 원소 0을 가질 수 있다. 송신단은, 이러한 원소를 갖는 비활성화 서브블록의 인덱스 집합을 식별할 수 있다.
703 단계에서, 송신단은 식별된 서브블록의 인덱스 집합에 기반하여 생성행렬을 결정한다. 다양한 실시 예들에서, 송신단은 비활성화 서브블록의 인덱스 집합에 포함된 원소 1의 위치에 따라, 일반적인 생성행렬의 구성을 변경함으로써 변형된 생성행렬을 생성할 수 있다. 예를 들면, 도 8a는 서브블록의 크기가 2인 경우, 비활성화하는 서브블록의 인덱스에 따라 변형된 생성행렬을 결정하는 예시를 도시한다. 도 8a를 참고하면, 부호 길이(N)가 8이고, 서브블록의 크기가 2인 경우, 기존의 일반적인 부호 길이 8의 생성행렬 은 ()과 같이 표현될 수 있고, 이는 도 8a의 생성행렬 800과 같다. 이 경우, 서브블록의 크기가 2이므로, 비활성화 서브블록의 인덱스 집합의 크기는 4이다. 다양한 실시 예들에서, 비활성화 서브블록의 인덱스 집합에 포함된 원소 1의 위치에 따라 생성행렬 800이 변형될 수 있다. 예를 들면, 도 8a에서, 총 4가지의 형태로 생성행렬 800이 변형될 수 있다. 예를 들면, 비활성화 서브블록의 인덱스 집합의 첫 번째 원소 값이 1인 경우(), 생성 행렬 800의 첫 번째 줄 802의 행렬이 단위행렬인 로 치환됨으로써, 변형된 생성행렬 801이 결정될 수 있다. 또한, 비활성화 서브블록의 인덱스 집합의 두 번째 원소 값이 1인 경우(), 생성 행렬 800의 두 번째 줄 804의 행렬들이 단위행렬인 로 치환됨으로써, 변형된 생성행렬 803이 결정될 수 있다. 또한, 비활성화 서브블록의 인덱스 집합의 세 번째 원소 값이 1인 경우(), 생성 행렬 800의 세 번째 줄 806의 행렬들이 단위행렬인 로 치환됨으로써, 변형된 생성행렬 805이 결정될 수 있다. 또한, 비활성화 서브블록의 인덱스 집합의 네 번째 원소 값이 1인 경우(), 생성 행렬 800의 네 번째 줄 808의 행렬들이 단위행렬인 로 치환됨으로써, 변형된 생성행렬 807이 결정될 수 있다. 다양한 실시 예들에 따라, 서브블록의 크기가 4인 경우, 기존의 일반적인 부호 길이 8의 생성행렬 은 와 같이 표현될 수 있고, 이는 도 8b의 생성행렬 820과 같다. 이 경우, 서브블록의 크기가 4이므로, 비활성화 서브블록의 인덱스 집합의 크기는 2이다. 다양한 실시 예들에서, 비활성화 서브블록의 인덱스 집합에 포함된 원소 1의 위치에 따라 생성행렬 820이 변형될 수 있다. 예를 들면, 도 8b에서, 총 2가지의 형태로 생성행렬 820이 변형될 수 있다. 예를 들면, 비활성화 서브블록의 인덱스 집합의 첫 번째 원소 값이 1인 경우(), 생성 행렬 820의 첫 번째 줄 822의 행렬이 단위행렬인 로 치환됨으로써, 변형된 생성행렬 821이 결정될 수 있다. 또한, 비활성화 서브블록의 인덱스 집합의 두 번째 원소 값이 1인 경우(), 생성 행렬 820의 두 번째 줄 824의 행렬들이 단위행렬인 로 치환됨으로써, 변형된 생성행렬 823이 결정될 수 있다. 다양한 실시 예들에서, 비활성화 서브블록의 인덱스 집합과, 변형된 생성행렬은 미리 결정되어 송신단의 저장부에 저장되어 있을 수 있다.
상술한 바와 같이 결정된 생성행렬을 이용하여, 송신단은 데이터를 부호화할 수 있다. 송신단의 부호화 과정에 대응하여, 수신단에서 수행되는 복호화 과정은 도 9에서 설명된다.
도 9는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 비활성화 서브블록에 기반하여 복호화를 수행하는 수신단의 흐름도를 도시한다. 도 9는 도 1의 수신단 120의 동작 방법을 예시한다.
도 9를 참고하면, 901 단계에서, 수신단은 송신단으로부터 부호화된 데이터를 수신한다. 예를 들면, 수신단은 송신단으로부터 송신되어, 채널을 통과한 코드워드를 수신할 수 있다. 다양한 실시 예들에서, 코드워드는 변형된 생성행렬을 통해 부호화된 정보 비트를 의미할 수 있다.
903 단계에서, 수신단은 비활성화 서브블록을 식별한다. 다양한 실시예들에서, 수신단은 비활성화 서브블록의 인덱스에 기반하여 비활성화 서브블록을 식별할 수 있다. 예를 들면, 비활성화 서브블록 인덱스 집합에 포함된 원소의 값이 1인 경우, 대응하는 인덱스를 갖는 서브블록은 비활성화된 서브블록이고, 비활성화 서브블록 인덱스 집합에 포함된 원소의 값이 0인 경우, 대응하는 인덱스를 갖는 서브블록은 비활성화되지 않은 서브블록일 수 있다. 일 실시 예에서, 비활성화 서브블록의 인덱스를 포함하는 집합은 수신단의 저장부에 미리 저장되어 있을 수 있다. 다른 실시 예에서, 송신단은 수신단으로부터 비활성화 서브블록의 인덱스를 포함하는 집합에 관한 정보를 수신할 수 있다.
905 단계에서, 수신단은 식별된 서브블록에 기반하여 데이터를 복호화 한다. 다양한 실시 예들에서, 수신단은 소스 비트들 즉, 정보 비트들의 인덱스에 기반하여 검사 노드 연산(check node operation, CN op) 또는 변수 노드 연산(variable node operation, VN op)을 수행하고, 비활성화로 식별된 서브블록의 인덱스에 기반하여, LLR 업데이트를 수행함으로써 데이터를 복호화할 수 있다. 예를 들면, 수신단에서 연속 제거 복호 기법을 이용하는 경우, 블록 단위의 불규칙적인 극 부호 기법의 복호화 과정의 구체적인 알고리즘은 <표 3>과 같다.
Require: Channel LLRs, set of information index 1: for i = 1 : N 2: func 길이의 MSB-0: (i-1)에 대한 이진표현 3: stage index of first '1' in -bit MSB-0: (i-1)에 대한 이진표현 4: (if i=1 then stage ) 5: for s = stage : 6: for 7: if func(s) = 0 then 8: LLR(w) f(LLR(a), LLR(b)) 9: else 10: LLR(w) g(LLR(a), LLR(b), ) 11: endif 12: end for 13: end for 14: for s = : 1 15: if 16: 더 이상 LLR update하지 않음 17: else 18: repeat line 6 - line 12 19: end if 20: end for 21: if i 22: 23: else 24: if LLR(w)>0 25: then set to 0 26: else 27: set to 1 28: end if 29: end if 30: end for |
<표 3>을 참고하면, 모든 정보 비트들(u)의 인덱스들의 이진표현에서, 0에 해당하는 인덱스에 대해서는 검사 노드 연산이 수행될 수 있고, 1에 해당하는 인덱스에 대해서는 변수 노드 연산이 수행될 수 있다. 예를 들면, <표 3>의 알고리즘의 8번째 줄을 참고하면, 코드워드 비트 a 및 b에 대한 LLR 값에 대하여, f 함수로 표현된 검사 노드 연산이 수행될 수 있다. 또한, <표 3>의 알고리즘의 10번째 줄을 참고하면, 코드워드 비트 a 및 b에 대한 LLR 값에 대하여, g 함수로 표현된 변수 노드 연산이 수행될 수 있다. <표 3>의 알고리즘의 15번째 줄 내지 18번째 줄을 참고하면, 비활성화 서브블록 인덱스 집합의 원소가 1인 경우() 즉, 비활성화한 서브블록인 경우, 수신단은 더 이상 LLR 업데이트를 수행하지 않을 수 있다. 반대로 비활성화 서브블록 인덱스 집합의 원소가 1이 아닌 경우 즉, 활성화되어 있는 서브블록인 경우, 6번째 줄 내지 12번째 줄에 해당하는 동작이 반복될 수 있다. 즉, 남은 스테이지에 대한 LLR 업데이트가 수행될 수 있다. <표 3>의 알고리즘에서 설명된 검사 노드 연산과 변수 노드 연산의 예시는 후술하는 도 10과 같다.
도 10은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 검사 노드와 변수 노드의 연산의 예를 도시한다.
도 10을 참고하면, 코드워드 비트들(x1 내지 x4) 1003-1 내지 1003-4이 스테이지 2, 스테이지 1, 스테이지 0을 지나가면서, 소스 비트들(u1 내지 u4) 1001-1 내지 1001-4로, 복호화될 수 있다. 도 10에서 네모 모양의 도형 1002-1, 1002-2, 1002-3 및 1002-4은 검사 노드 연산을 의미하고, 동그라미 모양의 도형 1004-1, 1004-2, 1004-3 및 1004-4는 변수 노드 연산을 의미할 수 있다. 먼저, 소스 비트들의 인덱스를 이진법으로 표현하면 u1, u2, u3, u4에 대해 차례대로 {00, 01, 10, 11}로 표현될 수 있다. 이때, 이진법으로 표현한 소스 비트들의 인덱스가 0이면 검사 노드 연산, 1이면 변수 노드 연산을 의미할 수 있다. 예를 들면, 소스비트(u1) 1001-1의 경우, 스테이지 1의 검사 노드 1002-2 및 1002-3로부터 연산된 LLR 값에 대하여, 스테이지 0의 검사 노드 1002-1에서 검사 노드 연산이 수행되므로, {00}으로 표현될 수 있다. 또한, 소스비트(u2) 1001-2의 경우, 스테이지 1의 검사 노드 1002-2 및 1002-3로부터 연산된 LLR 값에 대하여, 스테이지 0의 변수 노드 1004-1에서 변수 노드 연산이 수행되므로, {01}로 표현될 수 있다.
다양한 실시 예들에서, 검사 노드 연산의 함수는 <수학식 2>와 같이 정의될 수 있다.
<수학식 2>를 참고하면, a 및 b는 코드워드 비트의 LLR 값을 나타내고, f(a,b)는 입력 a 및 b에 대한 검사 노드 연산 함수를 나타낸다. 예를 들면, 코드워드 비트가 x1 및 x2인 경우, a는 코드워드 비트 x1에 해당하는 LLR 값, b는 코드워드 비트 x2에 해당하는 LLR 값을 의미할 수 있다. 다양한 실시 예들에서, 변수 노드 연산의 함수는 <수학식 3>과 같이 정의될 수 있다.
<수학식 3>을 참고하면, a 및 b는 코드워드 비트의 LLR 값을 나타낸다. 예를 들면, 코드워드 비트가 x1 및 x2인 경우, a는 코드워드 비트 x1에 해당하는 LLR 값, b는 코드워드 비트 x2에 해당하는 LLR 값을 의미할 수 있다. u는 하드 디시전(hard decision)된 이진 비트 값을 의미하며, 각 스테이지마다 상이한 값을 가질 수 있다. 다양한 실시 예들에서, u는 0 또는 1 값을 가질 수 있다. g(a, b, u)는 입력이 a, b, u인 경우 변수 노드 연산 함수를 나타낸다.
다양한 실시 예들에서 스테이지 2의 코드워드 비트들 1003-1 내지 1003-4은 스테이지 0의 소스 비트들 1001-1 내지 1001-4로 가면서 LLR 값이 업데이트되고, 최종 소스 비트 단에서의 LLR 값의 부호 정보 및 고정 비트 혹은 정보 비트 여부에 따라 복호화가 수행될 수 있다. 즉, <표 3>의 14번째 줄 내지 20번째 줄에서 설명된 바와 같이, 서브블록의 크기가 미리 결정된 경우, 수신단은 코드워드 단에서 순차적으로 특정 스테이지()가 될 때까지 소스 비트단을 향해 검사 노드 또는 변수 노드 연산을 통한 LLR 값의 업데이트를 수행할 수 있다. 이때, 수신단은 비활성화 서브블록에 대하여는 LLR 값의 업데이트를 중단하고, 그 단에서 계산된 LLR 값에 기반하여 바로 소스 비트 값을 결정할 수 있다.
본 개시의 다양한 실시 예에서, 수신단에서 연속 제거 리스트(SC-list, SCL) 복호 기법을 이용하는 경우, 블록 단위의 불규칙적인 극 부호 기법의 부호화 과정의 구체적인 알고리즘은 <표 4>와 같다.
부호길이 N, 부호율 R(=K/N)에 대하여 1: 극 부호 인덱스 시퀀스 정의 2: 정보 비트 인덱스 시퀀스 3: 서브블록 degree-weight 시퀀스 4: for 5: if i then 6: else then 7: end if 8: end for 9: for 10: if mod = 0 11: if then 12: else 13: 큰 서브블록 && then 14: 큰 서브블록 && then 15: end if 16: else 17: 18: end if 19: end for 20: UpdateGeneratorMatrix(G) 21: // modified 생성행렬을 통해 다시 부호화 |
<표 4>를 참고하면, 부호 길이 N, 부호율(R=K/N)에 대하여 극 부호 인덱스 시퀀스 가 정의된다. 송신단은 알고리즘의 4번째 줄 내지 6번째 줄에서, 인덱스를 0에서 N-1까지 증가시키면서, 정보 비트 인덱스 시퀀스의 집합 에 포함되는 인덱스에 대해서는 1(on)로, 정보 비트 인덱스 시퀀스의 집합 에 포함되지 않는 인덱스에 대해서는 0(off)으로 표시한 시퀀스 를 생성할 수 있다. 시퀀스 는 정보 비트는 1로, 고정 비트는 0으로 표기한 온-오프 벡터를 나타낸다. 알고리즘의 11번째 줄에서, 송신단은 고정 비트로만 구성된 서브블록을 비활성화할 수 있고, 12번째 줄에서, 정보 비트로만 구성된 서브블록은 조건부로 비활성화할 수 있다. 즉, 연속 제거 리스트 복호 기법의 경우, 연속 제거 복호 기법과 비교하여, 정보 비트로만 이루어진 서브블록에 대한 비활성화 조건이 추가될 수 있다. 예를 들면, 송신단은 서브블록 내의 비트들에 해당하는 생성행렬의 행의 모든 1의 개수의 합, 즉, 블록 차수 웨이트(block-degree weight)를 구할 수 있다. 이때, 각 서브블록에 해당하는 블록 차수 웨이트에 대한 시퀀스가 로 표현될 수 있다. 알고리즘의 13번째 줄 내지 17번째 줄을 참고하면, 정보 비트로만 구성된 서브블록의 경우, 송신단은 블록 차수 웨이트가 큰 값부터 차례대로 서브블록 비활성화를 수행할 수 있다. 이때, 고정 비트와 정보 비트 또는 고정 비트로만 구성된 서브블록과, 정보 비트로만 구성된 서브블록이 다음 깊이(depth)에서 양극화 유닛에 연결된 경우, 해당 서브블록은 비활성화되지 않을 수 있다. 상술한바와 같이, 송신단은 고정 비트로만 이루어진 서브블록은 모두 비활성화하고, 고정 비트 및 정보 비트가 모두 포함된 서브블록은 활성화할 수 있다. 이를 통해, 송신단은 변형된 생성행렬()을 결정하고, 데이터 부호화를 수행할 수 있다.또한, 본 개시의 다양한 실시 예에서, 수신단에서 연속 제거 리스트(SC-list, SCL) 복호 기법을 이용하는 경우, 블록 단위의 불규칙적인 극 부호 기법의 복호화 과정의 구체적인 알고리즘은 <표 5>와 같다.
Require: Channel LLRs, set of information index 1: for i = 1 : N 2: func 길이의 MSB-0: (i-1)에 대한 이진표현 3: stage index of first '1' in -bit MSB-0: (i-1)에 대한 이진표현 4: (if i=1 then stage ) 5: for l=1: L 6: for s = stage : 7: for 8: if func(s) = 0 then 9: LLR(w) f(LLR(a), LLR(b)) 10: else 11: LLR(w) g(LLR(a), LLR(b)) 12: endif 13: end for 14: end for 15: PathMetricUpdate 16: end for 17: for s = : 1 18: if 19: else 20: repeat PathMetricUpdate 21: end if 22: end for 23: if i 24: 25: else 26: if LLR(w)>0 27: then set to 0 28: else 29: set to 1 30: end if 31: end if 32: end for |
<표 5>를 참고하면, 모든 정보 비트들(u)의 인덱스들의 이진표현에서, 0에 해당하는 인덱스에 대해서는 검사 노드 연산이 수행될 수 있고, 1에 해당하는 인덱스에 대해서는 변수 노드 연산이 수행될 수 있다. 예를 들면, <표 5>의 알고리즘의 9번째 줄을 참고하면, 코드워드 비트 a 및 b에 대한 LLR 값에 대하여, f 함수로 표현된 검사 노드 연산이 수행될 수 있다. 또한, <표 5>의 알고리즘의 11번째 줄을 참고하면, 코드워드 비트 a 및 b에 대한 LLR 값에 대하여, g 함수로 표현된 변수 노드 연산이 수행될 수 있다. 다양한 실시 예들에서, 연속 제거 리스트 복호 기법의 경우, 연속 제거 복호 기법과 유사하나, 경로 메트릭(path metric)으로 표현된 지표가 추가되어, 가장 확률이 높은(probable) L개의 경로에 대한 정보가 관리될 수 있다. 즉, 연속 제거 복호 기법에서, 수신단은 소스 비트들을 복호화하는 경우, 0 또는 1로 바로 결정하지만, 연속 제거 리스트 복호 기법에서 수신단은 가장 확률이 높은 경로 L개를 유지하고, 최종 스테이지까지 남은 경로들 중 CRC(cyclic redundancy check) 검사를 통과한 가장 좋은 경로의 소스비트들로 복호화를 수행할 수 있다. 그러므로, 수신단은 경로 메트릭을 지속적으로 업데이트하는 중에, 비활성화 서브블록의 차례가 되는 경우, 해당 스테이지에서의 경로 메트릭을 이용하여 바로 소스비트들을 0 또는 1로 결정할 수 있고, 활성화 서브블록의 차례가 되는 경우, 최종 스테이지까지 경로 메트릭을 업데이트한 후, 최종 복호화를 수행할 수 있다. 예를 들면, <표 5>의 알고리즘의 15번째 줄에서, 수신단은 L 개의 가장 좋은 경로에 대한 경로 메트릭 값을 업데이트 할 수 있다. 또한, 17번째 내지 20번째 줄에서, 비활성화 서브블록 인덱스 집합의 원소가 1인 경우, 즉, 비활성화 서브블록인 경우, 수신단은 더 이상 경로 메트릭 업데이트를 수행하지 아니하고, 복호화 결정을 수행할 수 있다. 이때, 복호화 결정 과정은, <표 3>의 21번째 줄 내지 29번째 줄에서 설명된 과정과 동일하다. 반면, 21번째 줄에서, 활성화되어 있는 서브블록의 경우, 수신단은 경로 메트릭 업데이트를 반복할 수 있다.연속 제거 리스트 복호 기법의 경우, 부호화 및 복호화 과정을 예로 들면 후술하는 바와 같다. 일 실시 예에 따라, 부호 길이(N)가 8, 서브블록의 크기()가 2, 부호율(R)이 0.5인 경우, 극 부호의 인덱스 시퀀스를 (0, 1, 2, 4, 3, 5, 6, 7), 정보 비트 인덱스의 집합을 {3, 5, 6, 7}이라 할 때, 이진 온-오프 벡터로 표현된 극 부호의 인덱스 시퀀스는 (0, 0, 0, 1, 0, 1, 1, 1)과 같다. 일 실시 예에서, 서브블록의 크기가 2이므로, 서브블록의 인덱스 집합은 {0, 1, 2, 3}과 같이 정의될 수 있다. 이때, 비활성화 여부를 표현하는 이진 온-오프 집합 가 정의될 수 있다. 예를 들면, 서브블록의 인덱스 j는 인 정수이며, 첫 번째 서브블록에 포함된 소스 비트들의 인덱스들은, 모두 정보 비트 집합의 여집합()에 포함 즉, 고정 비트 이므로, 이다. 동일한 방식으로, 송신단은 2, 3, 4번째 서브블록에 포함된 소스 비트들의 정보에 기반하여 임을 확인할 수 있다. 이 경우, 송신단은 첫 번째와 네 번째 서브블록을 비활성화할 수 있다. 그리고, 기존의 생성행렬이 변형되어, 부호화 시 소스 벡터와 곱해질 수 있다. 복호화 시에도 수신단에서 극 부호의 인덱스 시퀀스 (0, 1, 2, 4, 3, 5, 6, 7) 와, 비활성화할 서브블록에 대한 온-오프 집합 {1, 0, 0, 1}에 대한 정보가 사용될 수 있다. 일 실시 예에서, 부호 길이가 8인 경우, 각 소스 비트에 해당하는 LLR 값을 업데이트 하기 위해, 총 3번의 검사 노드 연산 또는 변수 노드 연산이 수행될 수 있다. 이때, 비활성화 서브블록에 포함되는 소스 비트들의 복호 시에는 번만큼의 검사 노드 연산 도는 변수 노드 연산만이 수행되어 소스 비트 값이 결정될 수 있다. 반면, 활성화되어 있는 서브블록 즉, 인 2번째 및 3번째 서브블록의 경우, 정상적으로 모든 노드 연산(예: 3번)을 거쳐 소스 비트 값이 결정될 수 있다. 상술한 바와 같이, 송신단 및 수신단은 비활성화 서브블록을 식별하고, 이에 따라 부호화 또는 복호화가 수행될 수 있다. 이하, 후술하는 도 11 내지 도 18b에서는 비활성화하고자 하는 서브블록을 결정하는 방법들이 설명된다.
본 개시의 다양한 실시 예들에서, 서브블록의 크기가 결정된 경우, 이러한 서브블록 내의 소스 비트들은 고정 비트들 만으로 구성되어 있거나, 정보 비트들 만으로 구성되어 있거나, 혹은 고정 비트들 및 정보 비트들이 함께 구성될 수 있다. 다양한 실시 예들에서, 송신단은 고정 비트들 만으로 구성된 서브블록을, 서브블록의 개수나, 복호화 방법에 관계없이 모두 비활성화할 수 있다. 다만, 정보 비트들 만으로 구성된 서브블록의 경우, 비활성화 시, 복호화 방법이나 서브블록의 신뢰도 등이 고려되어야 할 필요가 있다. 후술하는 도 11은 송신단에서 비활성화 서브블록을 결정하는 방법을 도시한다.
도 11은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 비활성화 서브블록을 결정하는 송신단의 흐름도를 도시한다. 도 11은 도 1의 송신단 110의 동작 방법을 예시한다.
도 11을 참고하면, 1101 단계에서, 송신단은 수신단의 복호화 방식을 식별한다. 예를 들면, 송신단은 수신단의 복호화 방식이 연속 제거 복호 기법인지, CRC(cyclic redundancy check)가 연접된 SCL(CRC-aided SCL, CA-SCL) 복호 기법인지, 천공(puncturing) 기법이 적용된 CA-SCL 복호 기법인지 식별할 수 있다. 일 실시 예에서, 수신단은 수신단의 복호 기법에 관한 정보를 송신단으로 미리 전송할 수 있다. 다른 실시 예에서, 수신단의 복호 기법은 미리 결정될 수 있고, 송신단은 미리 결정된 수신단의 복호 기법을 확인할 수 있다.
1103 단계에서, 송신단은 식별된 복호화 방식에 기반하여 비활성화 서브블록을 결정한다. 예를 들면, 연속 제거 복호 기법의 경우, 송신단은 고정 비트들 만으로 구성된 서브블록 및 정보 비트들 만으로 구성된 서브블록을 비활성화할 수 있다. CA-SCL 복호 기법의 경우, 송신단은 CRC 연접 효과를 고려하여 비활성화 서브블록을 결정할 수 있다. 천공 기법이 적용된 CA-SCL 복호 기법의 경우, 송신단은 용량 0 천공 기법과, 용량 1 천공 기법을 구분하여 비활성화 서브블록을 결정할 수 있다. 다른 실시 예들에서, 송신단은 용량 0 천공 기법과 용량 1 천공 기법을 구분하지 않고 비활성화 서브블록을 결정할 수도 있다. 다양한 실시 예들에서, 수신단의 복호화 방식에 따른 비활성화 서브블록은 미리 결정되어 송신단의 저장부에 저장되어 있을 수 있다.
도 12는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 연속 제거 복호의 경우, 비활성화 서브블록을 결정하는 송신단의 흐름도를 도시한다. 도 12는 도 1의 송신단 110의 동작 방법을 예시한다.
도 12를 참고하면, 1201 단계에서, 송신단은 서브블록 내 포함된 정보 비트 또는 고정 비트를 식별한다. 예를 들면, 송신단은 서브블록 내에 정보 비트만 포함되어 있는지, 고정 비트만 포함되어 있는지 또는, 정보 비트 및 고정 비트가 함께 포함되어 있는지를 식별할 수 있다. 도 13a는 연속 제거 복호 시, 비활성화 서브블록 결정의 예를 도시한다. 도 13a를 참고하면, 부호 길이가 64, 서브블록의 크기가 4, 부호율이 0.5인 경우, 64개의 소스 비트들(u0 내지 u63) 1300은 4개 단위로 묶여 서브블록들(b0 내지 b15) 1312에 대응될 수 있다. 즉, 소스 비트들(u0 내지 u63) 1300이 크기 4의 서브블록들(b0 내지 b15) 1312에 포함될 수 있다. 예를 들면, 소스 비트들(u0 내지 u3) 1302은 서브블록(b0) 1312-1에 대응될 수 있다. 다양한 실시 예들에서, 송신단이 극 부호 시퀀스를 알고 있는 경우, 송신단은 결정된 부호 길이와 서브블록에 대하여, 각 서브블록 내의 비트들이 정보 비트인지 또는 고정 비트인지 여부를 확인할 수 있다. 예를 들면, 송신단은 각 서브블록 1312에 포함된 정보 비트의 개수 1314와, 고정 비트의 개수 1316를 확인할 수 있고, 이는 표 1310와 같다. 예를 들면, 송신단은 서브블록 b0에 포함되어 있는 정보 비트의 개수 1314는 0개이고, 서브블록 b0에 포함되어 있는 고정 비트의 개수 1316는 4개인 것을 확인할 수 있다.
1203 단계에서, 송신단은 식별된 정보 비트 또는 고정 비트의 개수에 따라 비활성화 서브블록을 결정한다. 예를 들어, 도 13a을 참고하면, 송신단은 정보 비트의 개수 1314의 오름차순에 따라 서브블록들을 분류할 수 있고, 이는 표 1320과 같다. 송신단은 고정 비트로만 이루어진 서브블록들(b0, b1, b2, b4, b8) 1322을 비활성화할 수 있고, 정보 비트로만 이루어진 서브블록들(b7, b11, b13, b14, b15) 1326도 비활성화할 수 있다. 반면, 정보 비트와 고정 비트가 함께 포함된 서브블록들(b3, b5, b6, b9, b10, b12) 1324는 비활성화 하지 않을 수 있다. 즉, 활성화할 수 있다.
다른 실시 예들에서, 도 13b는 연속 제거 복호 시, 비활성화 서브블록의 결정 예를 도시한다. 송신단은 소스 비트들의 인덱스 1330, 서브블록 인덱스 1332, 소스 비트의 상태(state) 1334, 소스 비트의 차수(degree) 1336, 서브블록의 차수 1338 및 서브블록 비활성화 여부 1340를 식별할 수 있다. 다양한 실시 예들에서, 소스 비트의 상태 1334가 고정 비트인 경우 F로, 정보 비트인 경우, I로 표현될 수 있다. 다양한 실시 예들에서, 소스 비트의 차수 1336는, 생성행렬에서 해당 소스 비트의 인덱스 1330에 대응하는 행의 1의 개수를 의미할 수 있다. 예를 들면, 부호 길이가 16이고, 서브블록의 크기가 2인 경우, 생성행렬 은 ()으로 정의될 수 있고, 의 크기를 가질 수 있다. 이때, 소스 비트의 인덱스 1330가 0인 경우, 생성행렬 의 첫 번째 행에서의 1의 개수가 소스 비트의 차수 1336에 해당할 수 있다. 예를 들어, 0번째 소스비트의 차수 1336는 1이다. 다양한 실시 예들에서, 차수는 행 차수 합(row weight sum)으로 표현될 수 있다. 다양한 실시 예들에서, 서브블록의 차수는, 해당 서브블록에 포함되는 소스 비트에 대응되는 차수의 합을 의미할 수 있다. 다양한 실시 예들에서, 서브블록의 차수는 서브블록의 무게(weight)로 지칭될 수 있다. 예를 들면, 도 13b에서, 서브블록 인덱스 1332가 0인 서브블록에는 소스 비트의 차수 1336가 1 및 2인 소스 비트가 포함되어 있으므로, 0번째 서브블록의 차수 1338는 1과 2를 합한 3이다. 다양한 실시 예들에서, 서브블록의 크기가 2인 경우, 송신단은 서브블록 인덱스 1332의 0번째, 1번째, 2번째 인덱스는 고정 비트 만으로 구성되고, 5번째, 6번째, 7번째 인덱스는 정보 비트 만으로 구성되어 있는 것을 확인할 수 있다. 이 경우, 송신단은 고정 비트만을 포함하는 서브블록의 인덱스 집합 {0, 1, 2}에 대하여, 해당 서브블록들을 비활성화할 수 있다. 또한, 송신단은 정보 비트만을 포함하는 서브블록들의 인덱스 집합 {5, 6, 7}에 대해서도, 해당 서브블록들을 비활성화할 수 있다. 다양한 실시 예들에서, 수신단의 복호화 방식이 연속 제거 복호인 경우, 이에 따른 비활성화 서브블록은 미리 결정되어 송신단의 저장부에 저장되어 있을 수 있다.
상술한 바와 같이, 송신단은 정보 비트로만 이루어진 서브블록들과 고정 비트로만 이루어진 서브블록들을 비활성화할 수 있고, 이 경우, 성능 열화가 발생하지 않을 수 있다.
다만, CRC가 연접된 SCL 복호 기법의 경우, 비트들 간의 관계가 서로 독립적이지 않고, 복호 시 서브블록 간의 관계가 서로 의존적(dependent)으로 작용하므로, 연속 제거 복호 기법과 동일한 기준이 적용되는 경우, 성능 열화가 발생할 수 있다. 따라서, 리스트 복호 또는 CRC가 연접된 리스트 복호 시, 추가적인 기준에 따라 서브블록 비활성화가 수행될 수 있다. 도 14는 CA-SCL 복호 시, 비활성화 서브블록을 결정하는 방법을 도시한다.
도 14는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 CA-SCL 복호의 경우, 비활성화 서브블록 결정하는 송신단의 흐름도를 도시한다. 도 14는 도 1의 송신단 110의 동작 방법을 예시한다.
도 14를 참고하면, 1401 단계에서, 송신단은 서브블록 내 포함된 정보 비트, 고정 비트 또는 CRC 비트를 식별할 수 있다. 예를 들면, 송신단은 미리 결정된 크기의 서브블록에 대하여, 해당 서브블록에 정보 비트, 고정 비트 또는 CRC 비트가 포함되어 있는지 여부를 확인할 수 있다.
1403 단계에서, 송신단은 식별된 정보 비트, 고정 비트 또는 CRC 비트에 대응하는 조건에 따라 비활성화 서브블록을 결정할 수 있다. 예를 들면, 송신단은 고정 비트 만으로 구성된 서브블록을 비활성화할 수 있고, 정보 비트 만으로 구성된 서브블록에 대해서는, 서브블록의 차수(degree)를 고려할 수 있다. 또한, 송신단은 현재의 서브블록을 기준으로 두 배의 크기를 갖는 블록에 정보 비트 및 고정 비트로 이루어진 서브블록이 포함된 경우, 현재 서브블록을 비활성화하지 않을 수 있다. 다양한 실시 예들에서, 수신단의 복호화 방식이 CA-SCL 복호인 경우, 이에 따른 비활성화 서브블록은 미리 결정되어 송신단의 저장부에 저장되어 있을 수 있다. 후술하는 도 15 내지 16b는 CRC가 연접된 경우의 극 부호의 비트 시퀀스의 예시와, 비활성화 서브블록 결정 방법을 도시한다.
도 15는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 CRC가 연접된 극 부호의 비트 시퀀스의 예를 도시한다.
도 15를 참고하면, 부호 길이(N)가 16이고, 부호율(R)이 0.5인 경우, CRC가 연접되지 않은 비트 시퀀스 1500는, 8비트의 고정 비트 1502와, 8비트의 정보 비트 1504를 포함할 수 있다. 3비트의 CRC 비트 1514가 연접된 경우, 비트 시퀀스를 비트 오율이 높은 순서에서 낮은 순서대로 정렬하면 비트 시퀀스 1510와 같다. 이때, 비트 시퀀스 1510는 5비트의 고정 비트 1512와, 3 비트의 CRC 비트 1514와, 8비트의 정보 비트 1516를 포함할 수 있다. 3 비트의 CRC가 연접된 경우, 고정 비트 8비트 중 가장 비트 오율이 낮은 3비트 즉, 고정 비트들의 제일 오른쪽 3개의 비트는 정보 비트처럼 동작할 수 있다. 일 실시 예에서, 비트 시퀀스는 부호 길이 16에서의 양극화 차수(polarization weight, PW) 시퀀스 일 수 있다. 이때, 비트 시퀀스의 순서는 (0, 1, 2, 4, 8, 3, 5, 6, 9, 10, 12, 7, 11, 13, 14, 15)일 수 있다. 또한, 부호율이 0.5인 경우, 앞의 8 비트 즉, (0, 1, 2, 4, 8, 3, 5, 6)은 고정 비트이고, 여기서 마지막 3 비트 즉, (3, 5, 6)은 CRC가 연접된 경우, 정보 비트처럼 동작하는 비트의 인덱스일 수 있다.
도 16a는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 CA-SCL 복호의 경우, 비활성화 서브블록 결정의 예를 도시한다.
도 16a를 참고하면, 부호 길이(N)가 16, 부호율(R)이 0.5, 서브블록의 크기()가 2인 경우, 소스 비트들의 인덱스 1602, 서브블록 인덱스 1604, 소스 비트의 상태 1606, 소스 비트의 차수 1608, 서브블록의 차수 1610 및 서브블록 비활성화 여부 1612의 예가 도시된다. 다양한 실시 예들에서, 소스 비트의 상태 1606가 고정 비트인 경우 F로, 정보 비트인 경우, I로, CRC 비트인 경우 CRC로 표현될 수 있다. 다양한 실시 예들에서, 송신단은, 소스 비트의 인덱스 1602가 3, 5 및 6인 경우, 해당 소스 비트들의 상태 1606가 고정 비트가 아닌 정보 비트처럼 동작하는 CRC 비트임을 확인할 수 있다. 송신단은, 서브블록 인덱스 1604가 0인 서브블록은 고정 비트만 포함하므로, 해당 서브블록을 비활성화할 수 있다. 다만, 서브블록 인덱스 1604가 1 및 2인 서브블록들은 고정 비트만 포함하는 것이 아니라, CRC 비트도 포함하므로, 송신단은 이러한 서브블록들을 비활성화 할 수 없다. 다양한 실시 예들에서, 정보 비트로만 구성된 서브블록의 경우, 송신단은 서브블록의 차수, 즉, 행 차수 합을 고려할 수 있다. 다양한 실시 예들에서, 정보비트로만 이루어진 서브블록의 비활성화 여부 1612는 서브블록의 차수에 기반하여 결정될 수 있다. 이때, 구체적인 서브블록 비활성화의 조건은 다음과 같다. 첫 번째로, 송신단은 서브블록의 차수 1610가 가장 높은 서브블록부터 비활성화할 수 있다. 두 번째로, 송신단은, 여러 서브블록의 차수 1610가 동일한 경우, 서브블록의 인덱스가 큰 서브블록부터 순차적으로 비활성화할 수 있다. 세 번째로, 현재 서브블록 크기의 두 배의 크기를 갖는 블록에, 정보 비트 및 고정 비트를 함께 포함하는 서브블록이 포함되는 경우, 송신단은 현재 서브블록을 비활성화하지 않을 수 있다. 네 번째로, 송신단은, 세 번째 조건을 만족하는 서브블록을 확인하는 경우, 더 이상 서브블록 비활성화를 진행하지 않고, 서브블록 비활성화 과정을 중단할 수 있다. 예를 들면, 송신단은, 서브블록 인덱스 1604가 7인 서브블록에 대하여 서브블록의 차수 1610가 24로 가장 높으므로, 서브블록 인덱스 1604가 7인 서브블록을 비활성화할 수 있다. 도 16a에서 화살표 1614는 서브블록의 차수 1610가 높은 순서대로 서브블록 비활성화를 결정하는 것을 의미할 수 있다. 또한, 송신단은, 서브블록 인덱스 1604가 5 및 6인 서브블록의 경우, 서브블록의 차수가 12로 같으나, 서브블록 인덱스 1604가 큰 6번째 서브블록부터 비활성화할 수 있다. 서브블록 인덱스 1604가 5인 서브블록의 경우, 소스 비트의 상태 1606에 따라, 정보 비트로만 구성되어 있고, 서브블록의 차수는 12이나, 현재 5번째 서브블록의 크기(예: 2)의 두 배의 크기(예: 4)를 갖는 블록에 고정 비트 및 정보 비트로 구성된 4번째 서브블록이 포함되므로, 송신단은 5번째 서브블록을 비활성화하지 않고 서브블록 비활성화 과정을 중단할 수 있다. 상술한 세 번째 조건에 대한 보다 구체적인 예시는 도 16b와 같다. 도 16b를 참고하면, 소스 비트(u4) 1621-1는 고정 비트, 소스 비트(u5) 1621-2는 정보 비트, 소스 비트(u6) 1621-3는 정보 비트, 소스 비트(u7) 1621-4는 정보 비트일 수 있다. 이러한 경우, 서브블록 1624에는 정보 비트들만 포함되어 있으나, 서브블록 1624의 크기(예: 2) 보다 두 배의 크기(예: 4)를 갖는 블록에, 고정 비트 및 정보 비트를 포함하는 서브블록 1622이 포함되어 있으므로, 송신단은 서브블록 1624를 비활성화하지 않을 수 있다. 다양한 실시 예들에서, 송신단이 서브블록 1624을 비활성화 하지 않는 이유는, 소스 비트 단에서 코드비트 단으로 스테이지가 진행되는 경우, 즉, 깊이(depth)가 깊어지는 경우, 서브블록 1622 및 서브블록 1624이 포함된 스테이지의 다음 스테이지에서, 서브블록 1622에 포함된 고정 비트 1621-1와 서브블록 1624에 포함된 정보 비트 1621-3에 대한 노드 연산이 수행될 수 있기 때문이다. 즉, 송신단은 정보 비트와 고정 비트에 대한 노드 연산이 다음 스테이지에서 라도 수행될 수 있는 경우, 해당 정보 비트 또는 고정 비트를 포함하는 서브블록을 비활성화하지 않을 수 있다. 상술한 바와 같은 기준들에 의하여, CA-SCL 복호 시, 비활성화 서브블록이 결정될 수 있다. 이하, 후술하는 도 17 내지 18b는 천공(puncturing) 기법이 적용된 CA-SCL 복호의 경우, 비활성화 서브블록의 결정 방법을 도시한다.
도 17은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 천공 기법이 적용된 CA-SCL 복호의 경우, 비활성화 서브블록을 결정하는 송신단의 흐름도를 도시한다. 도 17은 도 1의 송신단 110의 동작 방법을 예시한다.
도 17을 참고하면, 1701 단계에서, 송신단은 서브블록 내 포함된 정보 비트, 고정 비트, CRC 비트 또는 천공을 식별할 수 있다. 예를 들면, 송신단은 미리 결정된 크기의 서브블록에 대하여, 해당 서브블록에 정보 비트, 고정 비트, CRC 비트 또는 천공이 포함되어 있는지 여부를 확인할 수 있다.
1703 단계에서, 송신단은 식별된 정보 비트, 고정 비트, CRC 비트 또는 천공에 대응하는 조건에 따라 비활성화 서브블록을 결정할 수 있다. 예를 들면, 송신단은 고정 비트 만으로 구성된 서브블록 또는 천공 비트 만으로 구성된 서브블록을 비활성화 할 수 있다. 또한, 송신단은 고정 비트 및 천공 비트로 구성된 서브블록을 비활성화할 수 있다. 정보 비트 만으로 구성된 서브블록의 경우, 송신단은 CA-SCL 복호와 같이, 서브블록의 차수(degree) 를 고려하여 비활성화 서브블록을 결정할 수 있다. 다양한 실시 예들에서, 수신단의 복호화 방식이 천공 기법이 적용된 CA-SCL 복호인 경우, 이에 따른 비활성화 서브블록은 미리 결정되어 송신단의 저장부에 저장되어 있을 수 있다.
다양한 실시 예들에서, 천공 기법은 용량-0(capacity-0) 천공 기법과, 용량-1(capacity-1) 천공 기법으로 분류될 수 있다. 예를 들면, 용량-0 천공 기법은, 송신단이 극 부호화 이후, 일부 코드워드 비트를 수신단으로 전송하지 않는 기법으로, unknown 비트 천공으로 지칭될 수 있다. 용량-1 천공 기법은, 송신단이 전체 소스 비트들 중 일부 소스 비트를 0으로 단축(shortening)하고, 단축된 소스 비트들과 관련된 동일한 개수의 코드워드 비트들을 고정 값으로 설정한 후, 수신단으로 전송하지 않는 기법으로, known 비트로 지칭될 수 있다. 후술하는 도 18a 및 도 18b는 천공 기법 중 unknown 비트를 천공하는 경우, 또는, known 비트를 천공하는 경우, 비활성화 서브블록 결정의 예를 도시한다.
도 18a는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 unknown 비트를 천공하는 경우, 비활성화 서브블록 결정의 예를 도시한다.
도 18a를 참고하면, 부호 길이(N)가 16이고, 서브블록의 크기()가 2이고, CRC 비트의 개수()가 2개인 경우, 소스 비트들의 인덱스 1802, 서브블록 인덱스 1804, 소스 비트의 상태 1806, 소스 비트의 차수 1808, 서브블록의 차수 1810 및 서브블록 비활성화 여부 1812의 예가 도시된다. 다양한 실시 예들에서, 소스 비트의 상태 1806가 고정 비트인 경우 F로, 정보 비트인 경우, I로, CRC 비트인 경우 CRC로, 천공 비트의 경우 Punc로 표현될 수 있다. 다양한 실시 예들에서, 비트 반전 (bit-reversal)이 적용되지 않은 용량-0 천공의 경우, 소스 비트들의 인덱스가 낮은 순서에서 높은 순서로 차례대로 천공될 수 있다. 예를 들면, 소스 비트의 인덱스 1802가 0, 1, 2인 소스 비트부터 천공될 수 있다. 이때, 송신단은 천공 비트 만으로 구성되어 있는 서브블록, 천공 비트 및 고정 비트로 구성되어 있는 서브블록 또는 고정 비트 만으로 구성된 서브블록을 모두 비활성화할 수 있다. 예를 들면, 송신단은 서브블록 인덱스 1804가 0인 경우, 해당 서브블록에 포함되는 소스 비트들의 상태 1806가 모두 천공 비트에 해당하므로, 인덱스가 0인 서브블록을 비활성화할 수 있다. 또한, 송신단은 서브블록 인덱스 1804가 1인 경우, 해당 서브블록에 포함되는 소스 비트들의 상태 1806가 천공 비트 및 고정 비트에 해당하므로, 인덱스가 1인 서브블록을 비활성화할 수 있다. 또한, 송신단은 서브블록 인덱스 1804가 2인 경우, 해당 서브블록에 포함되는 소스 비트들의 상태 1806가 모두 고정 비트에 해당하므로, 인덱스가 2인 서브블록을 비활성화할 수 있다. 다양한 실시 예들에서, 정보 비트 만으로 구성된 서브블록의 경우, CA-SCL과 동일한 비활성화 서브블록 결정 방법이 적용될 수 있다. 즉, 첫 번째로, 송신단은 서브블록의 차수 1810가 가장 높은 서브블록부터 비활성화할 수 있다. 두 번째로, 송신단은, 여러 서브블록의 차수 1810가 동일한 경우, 서브블록의 인덱스가 큰 서브블록부터 순차적으로 비활성화할 수 있다. 세 번째로, 현재 서브블록 크기의 두 배의 크기를 갖는 블록에, 정보 비트 및 고정 비트를 함께 포함하는 서브블록이 포함되는 경우, 송신단은 현재 서브블록을 비활성화하지 않을 수 있다. 예를 들면, 송신단은 서브블록의 차수 1810가 24로 가장 높은 차수를 갖는 7번째 서브블록을 비활성화할 수 있다. 또한, 송신단은 5번째 및 6번째 서브블록의 차수 1810가 12로 동일하므로, 서브블록의 인덱스 1804가 더 큰 6번째 서브블록을 비활성화할 수 있다. 5번째 서브블록의 경우, 5번째 서브블록에 포함된 소스 비트들의 상태 1806는 CRC 비트와 정보 비트이다. 이때, CRC 비트는 정보 비트처럼 동작할 수 있다. 다만, 5번째 서브블록 크기(예: 2)의 두 배의 크기(예: 4)를 갖는 블록에 고정 비트 및 CRC 비트를 포함하는 4번째 서브블록이 포함되므로, 송신단은 5번째 서브블록은 비활성화하지 않을 수 있다.
도 18b는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 비트 반전(bit-reversal)이 적용되지 않은 용량-1 천공의 경우, 비활성화 서브블록 결정의 예를 도시한다.
도 18b를 참고하면, 부호 길이(N)가 16이고, 서브블록의 크기()가 2이고, CRC 비트의 개수()가 2개인 경우, 소스 비트들의 인덱스 1822, 서브블록 인덱스 1824, 소스 비트의 상태 1826, 소스 비트의 차수 1828, 서브블록의 차수 1830 및 서브블록 비활성화 여부 1832의 예가 도시된다. 다양한 실시 예들에서, 소스 비트의 상태 1826가 고정 비트인 경우 F로, 정보 비트인 경우, I로, CRC 비트인 경우 CRC로, 천공 비트의 경우 Punc로 표현될 수 있다. 다양한 실시 예들에서, 용량-1 천공의 경우, 소스 비트들의 인덱스가 높은 순서에서 낮은 순서로 차례대로 천공될 수 있다. 예를 들면, 소스 비트의 인덱스 1822가 13, 14, 15인 소스 비트부터 천공될 수 있다. 다양한 실시 예들에서, 송신단은 우선 고정 비트로만 구성된 서브블록을 비활성화할 수 있다. 예를 들면, 송신단은 서브블록 인덱스 1824가 0인 서브블록에 대하여, 해당 서브블록에 포함되는 소스 비트들의 상태 1826가 모두 고정 비트에 해당하므로, 인덱스가 0인 서브블록을 비활성화 할 수 있다. 1번째와 2번째 인덱스를 갖는 서브블록들은 고정 비트와, 정보 비트처럼 동작하는 CRC 비트로 구성되므로, 송신단은 1번째와 2번째 서브블록들은 비활성화하지 않을 수 있다. 다양한 실시 예들에서, 송신단은 천공 비트로만 구성된 서브블록을 비활성화할 수 있다. 예를 들면, 송신단은 서브블록 인덱스 1824가 7인 경우, 해당 서브블록에 포함되는 소스 비트들의 상태 1826가 모두 천공 비트에 해당하므로, 인덱스가 7인 서브블록을 비활성화할 수 있다. 서브블록 인덱스 1824가 6인 경우, 해당 서브블록에 포함되는 소스 비트들의 상태 1826는 정보 비트 및 천공 비트이다. 다양한 실시 예들에서, 송신단은 정보 비트 및 천공 비트가 포함된 인덱스가 6인 서브블록은 비활성화하지 않을 수 있다. 또한, 인덱스가 5인 서브블록의 경우, 정보 비트로만 구성되어 있으나, 인덱스가 5인 서브블록의 크기(예: 2)의 두 배의 크기(예: 4)를 갖는 블록에 고정 비트와 정보 비트를 포함하는 인덱스가 5인 서브블록이 포함되어 있으므로, 송신단은 인덱스가 5인 서브블록을 비활성화하지 않을 수 있다. 마찬가지로, 인덱스가 3인 서브블록의 경우, 정보 비트로만 구성되어 있으나, 인덱스가 3인 서브블록의 크기(예: 2)의 두 배의 크기(예: 4)를 갖는 블록에, 고정 비트와 정보 비트처럼 동작하는 CRC 비트를 포함하는 인덱스가 2인 서브블록이 포함되어 있으므로, 송신단은 인덱스가 3인 서브블록을 비활성화하지 않을 수 있다. 상술한 바와 같은 기준을 통해, 송신단은 천공 기법이 적용된 CA-SCL 복호에서, 비활성화 서브블록을 결정할 수 있다.
본 개시의 다양한 실시 예들에 따른 서브블록 비활성화를 통해, 부호화 및 복호화 과정에서 낮은 연산 복잡도로 우수한 성능이 확보될 수 있다. 본 개시에서 설명된 방법에 따라, 5G(5th generation) 통신 시스템에 적용된 기존의 극 부호가 대체되어 다양한 시나리오가 지원될 수 있다. 예를 들면, 도 19a 내지 20b는 송신단 또는 수신단에 적용될 수 있는 서브블록 비활성화의 시나리오를 도시한다.
도 19a는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 송신단 및 수신단에서의 서브블록 비활성화 절차를 나타내는 시퀀스 다이어그램을 도시한다. 도 19a에서, 송신단 1902은 도 1의 송신단 110, 수신단 1904은 도 1의 수신단 120를 의미할 수 있다. 다양한 실시 예들에서, 상향링크의 경우, 송신단 1902은 단말, 수신단 1904은 기지국을 의미할 수 있다. 하향링크의 경우, 송신단 1902은 기지국, 수신단 1904은 단말을 의미할 수 있다. 단말들 간 통신의 경우, 송신단 1902은 제1 단말, 수신단 1904은 제2 단말을 의미할 수 있다.
도 19a를 참고하면, 1901 단계에서, 송신단 1902은 수신단 1904로 서브블록 비활성화 적용 여부를 문의할 수 있다. 즉, 송신단 1902은 수신단 1904로 서브블록 비활성화 적용 요청을 송신할 수 있다. 일 실시 예에서, 서브블록 비활성화 적용 요청에 비활성화하는 서브블록의 시퀀스에 대한 정보가 포함되어 있을 수 있다. 일 실시 예에서, 비활성화하는 서브블록에 대한 정보는 사전에 정의되어 송신단 1902의 저장부에 저장되어 있을 수 있다.
1903 단계에서, 수신단 1904은 극 부호 비활성화를 적용할 수 있다. 예를 들면, 수신단 1904은 1903-1 단계에서, 비활성화 서브블록의 시퀀스를 확인할 수 있다. 또한, 수신단 1904은 1903-2 단계에서, 극 부호 비활성화의 적용 여부를 결정할 수 있다. 즉, 수신단 1904은 서브블록 비활성화 적용 여부를 결정할 수 있다.
1905 단계에서, 수신단 1904은 비활성화 적용에 대한 응답을 할 수 있다. 즉, 1901 단계에서 전송된 서브블록 비활성화 적용 요청에 비활성화하는 서브블록의 시퀀스에 대한 정보가 포함되어 있는 경우, 수신단 1904은 서브블록 비활성화 적용 여부에 대한 정보를 포함하는 응답을 송신단 1902로 송신할 수 있다.
1907 단계에서, 송신단 1902 및 수신단 1904은 극 부호 서브블록 비활성화를 적용할 수 있다. 즉, 수신단 1904가 송신한 비활성화 적용 응답에, 서브블록 비활성화를 적용한다는 정보가 포함되어 있는 경우, 송신단 1902 및 수신단 1904은 부호화 및 복호화 시 서브블록 비활성화를 이용할 수 있다.
도 19b는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 송신단 및 수신단에서의 서브블록 비활성화 절차를 나타내는 시퀀스 다이어그램을 도시한다. 도 19b에서, 송신단 1902은 도 1의 송신단 110, 수신단 1904은 도 1의 수신단 120를 의미할 수 있다. 다양한 실시 예들에서, 상향링크의 경우, 송신단 1902은 단말, 수신단 1904은 기지국을 의미할 수 있다. 하향링크의 경우, 송신단 1902 은 기지국, 수신단 1904은 단말을 의미할 수 있다. 단말들 간 통신의 경우, 송신단 1902은 제1 단말, 수신단 1904은 제2 단말을 의미할 수 있다.
도 19b를 참고하면, 1911 단계에서, 송신단 1902은 수신단 1904로 서브블록 비활성화 적용 여부를 문의할 수 있다. 즉, 송신단 1902은 수신단 1904로 서브블록 비활성화 적용 요청을 송신할 수 있다. 일 실시 예에서, 서브블록 비활성화 적용 요청에 비활성화 시퀀스에 대한 정보가 포함되어 있지 않을 수 있다. 일 실시 예에서, 비활성화하는 서브블록에 대한 정보는 사전에 정의되어 송신단 1902의 저장부에 저장되어 있을 수 있다.
1913 단계에서, 수신단 1904은 극 부호 비활성화를 적용할 수 있다. 예를 들면, 수신단 1904은 1913-1 단계에서, 비활성화 서브블록의 시퀀스를 확인할 수 있다. 또한, 수신단 1904은 1913-2 단계에서, 극 부호 비활성화의 적용 여부를 결정할 수 있다. 즉, 수신단 1904은 서브블록 비활성화 적용 여부를 결정할 수 있다.
1915 단계에서, 수신단 1904은 비활성화 시퀀스를 요청할 수 있다. 즉, 1913 단계에서, 수신단 1904가 극 부호 비활성화를 적용하기로 결정하였으나, 1911 단계에서 전송된 서브블록 비활성화 요청에 비활성화하는 서브블록의 시퀀스에 대한 정보가 포함되어 있지 아니하므로, 수신단 1904은 비활성화하는 서브블록에 대한 시퀀스 요청을 송신단 1902로 송신할 수 있다.
1917 단계에서, 송신단 1902는 비활성화 시퀀스를 전달할 수 있다. 즉, 송신단 1902는 비활성화 시퀀스 요청에 대응하여, 비활성화하는 서브블록의 인덱스를 포함하는 시퀀스를 수신단 1904로 송신할 수 있다.
1919 단계에서, 수신단 1904은 비활성화 시퀀스 수신에 대한 응답을 할 수 있다. 즉, 수신단 1904은 송신단 1902로부터 비활성화하는 서브블록의 인덱스를 포함하는 시퀀스를 수신하고, 이에 대한 응답을 송신단 1902로 송신할 수 있다.
1921 단계에서, 송신단 1902 및 수신단 1904은 극 부호 서브블록 비활성화를 적용할 수 있다. 송신단 1902 및 수신단 1904은 부호화 및 복호화 시 서브블록 비활성화를 이용할 수 있다. 후술하는 도 20a 및 도 20b는 단말들 간의 통신의 경우, 단말들과 기지국의 시그널링 절차를 통해 부호화 및 복호화 시 극 부호 비활성화를 적용하는 예를 도시한다.
도 20a는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 송신단, 수신단 및 기지국에서의 서브블록 비활성화 절차를 나타내는 시퀀스 다이어그램을 도시한다. 도 20a에서, 제1 단말 2002은 도 1의 송신단 110, 제2 단말 2004은 도 1의 수신단 120를 의미할 수 있다.
도 20a를 참고하면, 2001 단계에서, 제1 단말 2002은 보유한 비활성화 시퀀스 리스트를 전달할 수 있다. 즉, 제1 단말 2002은 기지국 2006으로 비활성화 서브블록의 인덱스를 포함하는 시퀀스를 송신할 수 있다. 예를 들면, 비활성화 서브블록의 인덱스를 포함하는 시퀀스는 집합 로 표현될 수 있다. 다양한 실시 예들에서, 제1 단말 2002은 서브블록에 포함된 고정 비트, 정보 비트 또는 CRC 비트 또는 천공 비트를 식별하여 비활성화하는 서브블록을 결정할 수 있다. 일 실시 예에서, 비활성화하는 서브블록에 대한 정보는 사전에 정의되어 단말 1 2002의 저장부에 저장되어 있을 수 있다.
2003 단계에서, 기지국 2006은 비활성화 적용을 문의할 수 있다. 즉, 기지국 2006은 제2 단말 2004로 서브블록 비활성화를 적용할 수 있는지 문의하는 메시지를 송신할 수 있다.
2005 단계에서, 제2 단말 2004은 극 부호 비활성화를 적용할 수 있다. 예를 들면, 제2 단말 2004은 2005-1 단계에서, 비활성화 서브블록 시퀀스를 확인할 수 있다. 일 실시 예에서, 비활성화 서브블록 시퀀스는, 기지국 2006이 송신한 비활성화 적용 문의 메시지에 포함될 수 있다. 2005-2 단계에서, 제2 단말 2004은 극 부호 비활성화 적용 여부를 결정할 수 있다. 즉, 제2 단말 2004은 확인한 비활성화 서브블록에 대하여, 서브블록 비활성화를 적용할 수 있는지 여부를 결정할 수 있다.
2007 단계에서, 제2 단말 2004은 기지국 2006으로 비활성화 적용 응답을 송신할 수 있다. 즉, 제2 단말 2004은 2005-2 단계에서 결정한 비활성화 적용 여부의 결과를 기지국 2006으로 송신할 수 있다.
2009 단계에서, 기지국 2006은 송신단 2009으로 비활성화 시퀀스 정보를 전달할 수 있다. 즉, 기지국 2006은, 2001 단계에서 제1 단말 2002이 송신한 비활성화 서브블록의 시퀀스에 대하여, 해당 서브블록이 단말 2 2004와의 극 부호 서브블록 비활성화시 사용될 수 있음을 나타내는 응답을 제1 단말 2002로 송신할 수 있다.
2011 단계에서, 제1 단말 2002 및 제2 단말 2004는 극 부호 비활성화를 적용할 수 있다. 즉, 제1 단말 2002 및 제2 단말 2004은 부호화 및 복호화 시 서브블록 비활성화를 이용할 수 있다.
도 20b는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 송신단, 수신단 및 기지국에서의 서브블록 비활성화 절차를 나타내는 시퀀스 다이어그램을 도시한다. 도 20b에서, 제1 단말 2002은 도 1의 송신단 110, 제2 단말 2004은 도 1의 수신단 120를 의미할 수 있다.
도 20b를 참고하면, 2021 단계에서, 기지국 2006은 제1 단말 2002으로 비활성화 적용을 문의할 수 있다. 즉, 기지국 2006은 제1 단말 2002로 서브블록 비활성화를 적용할 수 있는지 여부를 문의하는 메시지를 송신할 수 있다.
2023 단계에서, 제1 단말 2002은 비활성화 적용 여부 응답 및 보유한 비활성화 시퀀스 리스트를 전달할 수 있다. 즉, 제1 단말 2002은 기지국 2006으로 서브블록 비활성화 적용 여부에 대한 응답을 송신할 수 있고, 비활성화 서브블록의 인덱스를 포함하는 시퀀스를 송신할 수 있다. 일 실시 예에서, 제1 단말 2002에서 사용될 수 있는 비활성화 서브블록의 인덱스를 포함하는 시퀀스는 사전에 정의되어 단말 1 2002의 저장부에 저장되어 있을 수 있다. 다른 실시 예에서, 제1 단말 2002이 비활성화 서브블록의 인덱스를 포함하는 시퀀스에 대한 정보를 가지고 있지 않은 경우, 제1 단말 2002은 비활성화 적용 여부 응답 만을 기지국 2006으로 송신할 수 있다.
2025 단계에서, 기지국 2006은 제2 단말 2004로 비활성화 적용을 문의할 수 있다. 즉, 기지국 2006은 제2 단말 2004로 서브블록 비활성화를 적용할 수 있는지 문의하는 메시지를 송신할 수 있다.
2027 단계에서, 제2 단말 2004은 비활성화 적용 여부 응답 및 보유한 비활성화 시퀀스 리스트를 전달할 수 있다. 즉, 제2 단말 2004은 기지국 2006으로 서브블록 비활성화 적용 여부에 대한 응답을 송신할 수 있고, 비활성화 서브블록의 인덱스를 포함하는 시퀀스를 송신할 수 있다. 일 실시 예에서, 제2 단말 2004에서 사용될 수 있는 비활성화 서브블록의 인덱스를 포함하는 시퀀스는 사전에 정의되어 제2 단말 2004의 저장부에 저장되어 있을 수 있다. 다른 실시 예에서, 제2 단말 2004이 비활성화 서브블록의 인덱스를 포함하는 시퀀스에 대한 정보를 가지고 있지 않은 경우, 제2 단말 2004은 비활성화 적용 여부 응답 만을 기지국 2006으로 송신할 수 있다.
2029 단계에서, 기지국 2006은 극 부호 비활성화를 적용할 수 있다. 예를 들면, 기지국 2006은 2029-1 단계에서, 비활성화 서브블록 시퀀스를 확인할 수 있다. 일 실시 예에서, 비활성화 서브블록 시퀀스는 2023 단계에서 제1 단말 2002으로부터 수신되거나, 2027 단계에서 제2 단말 2004로부터 수신될 수 있다. 즉, 기지국 2006은 제1 단말 2002에서 사용될 수 있는 비활성화 서브블록의 인덱스와 제2 단말 2004에서 사용될 수 있는 비활성화 서브블록의 인덱스를 확인할 수 있다. 다른 실시 예에서, 기지국 2006이 제1 단말 2002 및 제2 단말 2004로부터 비활성화 서브블록 시퀀스를 수신하지 못하는 경우, 기지국 2006은 직접 비활성화 서브블록을 결정하거나, 미리 결정된 비활성화 서브블록의 인덱스를 확인할 수 있다. 2029-2 단계에서, 기지국 2006은 극 부호 비활성화 적용 여부를 결정할 수 있다. 즉, 기지국 2006은 2005-1 단계에서 확인한 제1 단말 2002에서 사용될 수 있는 비활성화 서브블록의 인덱스와, 제2 단말 2004에서 사용될 수 있는 비활성화 서브블록의 인덱스에 기반하여, 제1 단말 2002 및 제2 단말 2004이 모두 사용할 수 있는 비활성화 서브블록의 인덱스를 식별하고, 이를 비활성화 서브블록으로 결정할 수 있다. 일 실시 예에서, 제1 단말 2002에서 사용될 수 있는 비활성화 서브블록과, 제2 단말 2004에서 사용될 수 있는 비활성화 서브블록이 모두 상이한 경우, 기지국 2006은 극 부호 서브블록 비활성화가 제1 단말 2002 및 제2 단말 2004에서 적용될 수 없다고 결정할 수 있다.
2031 단계에서, 기지국 2006은 제1 단말 2002로 비활성화 적용 응답 및 비활성화 시퀀스 정보를 전달할 수 있다. 즉, 기지국 2006은 2029-2 단계에서 결정된 비활성화 서브블록에 대한 정보를 제1 단말 2002로 송신할 수 있다. 다만, 기지국 2006이 극 부호 서브블록 비활성화가 적용될 수 없다고 결정한 경우, 기지국 2006은 이러한 정보를 제1 단말 2002로 송신할 수 있다.
2033 단계에서, 기지국 2006은 제2 단말 2004로 비활성화 적용 응답 및 비활성화 시퀀스 정보를 전달할 수 있다. 즉, 기지국 2006은 2029-2 단계에서 결정된 비활성화 서브블록에 대한 정보를 제2 단말 2004로 송신할 수 있다. 다만, 기지국 2006이 극 부호 서브블록 비활성화가 적용될 수 없다고 결정한 경우, 기지국 2006은 이러한 정보를 제2 단말 2004로 송신할 수 있다.
2035 단계에서, 제1 단말 2002 및 제2 단말 2004은 극 부호 비활성화를 적용할 수 있다. 즉, 제1 단말 2002 및 제2 단말 2004은 기지국으로부터 수신된 제1 단말 2002 및 제2 단말 2004에서 모두 사용될 수 있는 비활성화 서브블록에 대한 정보에 기반하여 부호화 및 복호화 시 서브블록 비활성화를 적용할 수 있다. 일 실시 예에서, 도 20b에 도시되지는 아니하였으나, 기지국 2006이 극 부호 서브블록 비활성화를 적용할 수 없다고 결정한 경우, 제1 단말 2002 및 제2 단말 2004은, 부호화 및 복호화 시 극 부호 서브블록 비활성화를 적용하지 않을 수 있다.
상술한 바와 같이, 송신단 또는 수신단에서 여러가지 시나리오로, 극 부호의 서브블록 비활성화가 수행될 수 있다. 이하, 후술하는 도 21a 내지 도 23b는, 본 개시에서 설명된 서브블록 비활성화가 적용되는 경우, 연속 제거 복호, 연속 제거 리스트 복호 및 CA-SCL 복호 시의 블록 오율(block error rate, BLER) 성능을 비교한 그래프들을 도시한다.
도 21a는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 연속 제거 복호의 경우, 블록 오율(block error rate, BLER) 성능을 나타내는 그래프를 도시한다. 도 21a은 부호 길이(N)가 128이고, 서브블록의 크기()가 2인 경우, 여러 부호율에 대해, 에 따른 블록 오율의 성능을 비교한 그래프이다.
도 21a를 참고하면, 실선으로 표시된 기존의 SC 복호의 성능과 점선으로 표시된 본 개시의 블록 단위 복호 알고리즘에 따른 복호의 성능이 유사하다. 예를 들면, 연속 제거 복호 기법을 적용한 시뮬레이션 1과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 2의 블록 오율이 유사할 수 있다. 또한, 연속 제거 복호 기법을 적용한 시뮬레이션 3과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 4의 블록 오율이 유사할 수 있다. 또한, 연속 제거 복호 기법을 적용한 시뮬레이션 5와, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 6의 블록 오율이 유사할 수 있다. 다양한 실시 예들에서, 부호율에 따른 기존의 연속 제거 복호 기법과, 본 개시의 블록 기반 복호 기법의 연산을 비교하면 하기의 <표 6>과 같다.
부호율 |
부호화 기법 |
=2 (총 서브 블록의 수: 64) |
정보비트로만 구성된 블록 수 |
고정비트로만 구성된 블록 수 |
비활성화 비율 |
연산횟수 |
감소율 |
R=1/3 |
연속 제거 복호 |
- |
- |
- |
1066 |
13.70% |
블록 기반 복호 |
17 |
39 |
87.5% |
920 |
R=1/2 |
연속 제거 복호 |
- |
- |
- |
1088 |
14.89% |
블록 기반 복호 |
27 |
27 |
84.4% |
926 |
R=3/4 |
연속 제거 복호 |
- |
- |
- |
1120 |
17.86% |
블록 기반 복호 |
44 |
12 |
87.5% |
920 |
<표 6>을 참고하면, 일반적인 연속 제거 복호 기법과, 본 개시의 블록 기반 복호 기법의 경우, 동일한 조건 하에서, 비활성화 서브블록의 비율에 따른 연산횟수 저감율이 설명된다. 연속 제거 복호의 경우, 서브블록 내의 비트들이 모두 정보 비트이거나, 고정 비트인 경우, 그 서브블록을 비활성화하여도 성능 손실이 일어나지 않는다. 이에 따른 연산 횟수의 감소율은 약 15% 내외임이 <표 6>을 통해 확인될 수 있다.
도 21b는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 연속 제거 복호의 경우, 블록 오율 성능을 나타내는 그래프를 도시한다. 도 21b는 부호 길이(N)가 128이고, 서브블록의 크기()가 4인 경우, 여러 부호율에 대해, 에 따른 블록 오율의 성능을 비교한 그래프이다.
도 21b를 참고하면, 선으로 표시된 기존의 SC 복호의 성능과 점선으로 표시된 본 개시의 블록 단위 복호 알고리즘에 따른 복호의 성능이 유사하다. 예를 들면, 연속 제거 복호 기법을 적용한 시뮬레이션 1과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 2의 블록 오율이 유사할 수 있다. 또한, 연속 제거 복호 기법을 적용한 시뮬레이션 3과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 4의 블록 오율이 유사할 수 있다. 또한, 연속 제거 복호 기법을 적용한 시뮬레이션 5와, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 6의 블록 오율이 유사할 수 있다. 다양한 실시 예들에서, 부호율에 따른 기존의 연속 제거 복호 기법과, 본 개시의 블록 기반 복호 기법의 연산을 비교하면 하기의 <표 7>과 같다.
부호율 |
부호화 기법 |
=4 (총 서브 블록의 수: 32) |
정보비트로만 구성된 블록 수 |
고정비트로만 구성된 블록 수 |
비활성화 비율 |
연산횟수 |
감소율 |
R=1/3 |
기존의 연속 제거 복호 |
- |
- |
- |
1066 |
16.51% |
블록 기반 복호 |
6 |
17 |
71.9% |
890 |
R=1/2 |
기존의 연속 제거 복호 |
- |
- |
- |
1088 |
20.59% |
블록 기반 복호 |
10 |
10 |
62.5% |
864 |
R=3/4 |
기존의 연속 제거 복호 |
- |
- |
- |
1120 |
25.00% |
블록 기반 복호 |
19 |
4 |
71.9% |
840 |
<표 7>을 참고하면, 기존의 연속 제거 복호 기법과, 본 개시의 블록 기반 복호 기법의 경우, 동일한 조건 하에서, 비활성화 서브블록의 비율에 따른 연산횟수 저감율이 설명된다. <표 6>의 서브블록의 크기가 2인 경우와 비교하여, 약 3% 내지 7%의 연산횟수를 더 저감하면서도, 기존의 연속 제거 복호 기법과 거의 유사한 복호 성능을 보이는 것이 확인될 수 있다.
도 21c는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 연속 제거 복호의 경우, 블록 오율 성능을 나타내는 그래프를 도시한다. 도 21c는 부호 길이(N)가 2048이고, 서브블록의 크기()가 16인 경우, BPSK(binary phase shift keying) 변조가 사용되는 경우, 여러 부호율에 대해, 에 따른 블록 오율의 성능을 비교한 그래프이다.
도 21c를 참고하면, 선으로 표시된 기존의 SC 복호의 성능과 점선으로 표시된 본 개시의 블록 단위 복호 알고리즘에 따른 복호의 성능이 유사하다. 예를 들면, 연속 제거 복호 기법을 적용한 시뮬레이션 1과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 2의 블록 오율이 유사할 수 있다. 또한, 연속 제거 복호 기법을 적용한 시뮬레이션 3과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 4의 블록 오율이 유사할 수 있다. 또한, 연속 제거 복호 기법을 적용한 시뮬레이션 5와, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 6의 블록 오율이 유사할 수 있다. 다양한 실시 예들에서, 부호율에 따른 기존의 연속 제거 복호 기법과, 본 개시의 블록 기반 복호 기법의 연산을 비교하면 <표 8>과 같다.
부호율 |
부호화 기법 |
=16 (총 서브 블록의 수: 128) |
정보비트로만 구성된 블록 수 |
고정비트로만 구성된 블록 수 |
비활성화 비율 |
연산횟수 |
감소율 |
R=1/3 |
기존의 연속 제거 복호 |
- |
- |
- |
25259 |
22.1% |
블록 기반 복호 |
21 |
61 |
64.1% |
19675 |
R=1/2 |
기존의 연속 제거 복호 |
- |
- |
- |
25600 |
21.9% |
블록 기반 복호 |
39 |
39 |
60.9% |
19984 |
R=3/4 |
기존의 연속 제거 복호 |
- |
- |
- |
26112 |
26.3% |
블록 기반 복호 |
74 |
15 |
69.5% |
19232 |
<표 8>을 참고하면, 기존의 연속 제거 복호 기법과, 본 개시의 블록 기반 복호 기법의 경우, 동일한 조건 하에서, 비활성화 서브블록의 비율에 따른 연산횟수 저감율이 설명된다. 다양한 실시 예들에서, 정보 비트 또는 고정 비트 만으로 구성된 모든 서브블록들이 비활성화되더라도 성능 열화가 발생하지 않을 수 있다. <표 8>에서, 서브블록들의 비활성화를 통한 연산 감소율은, 부호율이 증가할수록 증가한다.
도 21d는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 연속 제거 복호의 경우, 블록 오율 성능을 나타내는 그래프를 도시한다. 도 21d는 부호 길이(N)가 2048이고, 서브블록의 크기()가 32인 경우, BPSK(binary phase shift keying) 변조가 사용되는 경우, 여러 부호율에 대해, 에 따른 블록 오율의 성능을 비교한 그래프이다.
도 21d를 참고하면, 선으로 표시된 기존의 SC 복호의 성능과 점선으로 표시된 본 개시의 블록 단위 복호 알고리즘에 따른 복호의 성능이 유사하다. 예를 들면, 연속 제거 복호 기법을 적용한 시뮬레이션 1과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 2의 블록 오율이 유사할 수 있다. 또한, 연속 제거 복호 기법을 적용한 시뮬레이션 3과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 4의 블록 오율이 유사할 수 있다. 또한, 연속 제거 복호 기법을 적용한 시뮬레이션 5와, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 6의 블록 오율이 유사할 수 있다. 다양한 실시 예들에서, 부호율에 따른 기존의 연속 제거 복호 기법과, 본 개시의 블록 기반 복호 기법의 연산을 비교하면 <표 9>와 같다.
부호율 |
부호화 기법 |
=32 (총 서브 블록의 수: 64) |
정보비트로만 구성된 블록 수 |
고정비트로만 구성된 블록 수 |
비활성화 비율 |
연산횟수 |
감소율 |
R=1/3 |
일반적인 복호 |
- |
- |
- |
25259 |
21.2% |
블록 기반 복호 |
7 |
25 |
50% |
19915 |
R=1/2 |
일반적인 복호 |
- |
- |
- |
25600 |
20.6% |
블록 기반 복호 |
15 |
15 |
46.9% |
20320 |
R=3/4 |
일반적인 복호 |
- |
- |
- |
26112 |
26.6% |
블록 기반 복호 |
32 |
5 |
57.8% |
19168 |
<표 9>를 참고하면, 일반적인 복호 기법과, 본 개시의 블록 기반 복호 기법의 경우, 동일한 조건 하에서, 비활성화 서브블록의 비율에 따른 연산횟수 저감율이 설명된다. 다양한 실시 예들에서, 정보 비트 또는 고정 비트 만으로 구성된 모든 서브블록들이 비활성화되더라도 성능 열화가 발생하지 않을 수 있다.
본 개시에 따른 다양한 실시 예에서, CA-SCL 복호 기법이 사용되는 경우, 연속 제거 복호 기법이 사용되는 경우와 상이한 기준으로 서브블록이 비활성화된다. 예를 들면, 송신단은 먼저 고정 비트로만 구성된 서브블록들을 비활성화할 수 있다. 정보 비트로만 이루어진 서브블록을 비활성화하는 경우, 송신단은 서브블록의 차수가 가장 높은 순서대로 비활성화할 수 있고, 여러 서브블록의 차수가 동일한 경우, 서브블록의 인덱스가 큰 서브블록부터 순차적으로 비활성화할 수 있다. 또한, 현재 서브블록 크기의 두 배의 크기를 갖는 블록에, 정보 비트 및 고정 비트를 함께 포함하는 서브블록이 포함되는 경우, 송신단은 현재 서브블록을 비활성화하지 않을 수 있다. 상술한 바와 같은 비활성화 서브블록 결정 기준이 적용되는 경우, CA-SCL 복호의 블록 오율 성능은 도 22a 내지 22b에서 설명된다.
도 22a는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 CA-SCL 복호의 경우, 블록 오율 성능을 나타내는 그래프를 도시한다. 도 22a는 부호 길이(N)가 128이고, 서브블록의 크기()가 2이고, 리스트의 크기가 8이고, CRC가 8 비트인 경우, 여러 부호율에 대해, 에 따른 블록 오율의 성능을 비교한 그래프이다.
도 22a를 참고하면, 실선으로 표시된 기존의 CA-SCL 복호의 성능과 점선으로 표시된 본 개시의 블록 단위 복호 알고리즘에 따른 복호의 성능이 유사하다. 예를 들면, CA-SCL 복호 기법을 적용한 시뮬레이션 1과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 2의 블록 오율이 유사할 수 있다. 또한, CA-SCL 복호 기법을 적용한 시뮬레이션 3과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 4의 블록 오율이 유사할 수 있다. 또한, CA-SCL 복호 기법을 적용한 시뮬레이션 5와, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 6의 블록 오율이 유사할 수 있다. 다양한 실시 예들에서, 부호율에 따른 기존의 CA-SCL 복호 기법과, 본 개시의 블록 기반 복호 기법의 연산을 비교하면 하기의 <표 10>과 같다.
부호율 |
부호화 기법 |
=2 (총 서브 블록의 수: 64), List= 8 |
정보비트로만 구성된 블록 수 |
고정비트로만 구성된 블록 수 |
비활성화 비율 |
연산횟수 |
감소율 |
R=1/3 |
일반적인 복호 |
- |
- |
- |
8975 |
24.09% |
블록 기반 복호 |
11 |
34 |
70.3% |
6813 |
R=1/2 |
일반적인 복호 |
- |
- |
- |
11763 |
25.52% |
블록 기반 복호 |
16 |
23 |
76.6% |
8761 |
R=3/4 |
일반적인 복호 |
- |
- |
- |
14969 |
35.67% |
블록 기반 복호 |
30 |
9 |
60.9% |
9629 |
<표 10>을 참고하면, 일반적인 복호 기법과, 본 개시의 블록 기반 복호 기법의 경우, 동일한 조건 하에서, 비활성화 서브블록의 비율에 따른 연산횟수 저감율이 설명된다. 즉, CA-SCL 복호 시, 본 개시에 따른 서브블록 단위 복호 기법이 사용되는 경우, 부호율이 1/3, 1/2, 3/4로 증가할수록, 연산횟수 감소율은 24.09%, 25.52%, 35.67%와 같이 증가할 수 있다.
도 22b는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 CA-SCL 복호의 경우, 블록 오율 성능을 나타내는 그래프를 도시한다. 도 22b는 부호 길이(N)가 2048이고, 서브블록의 크기()가 16이고, 리스트의 크기가 8이고, CRC가 16 비트인 경우, 여러 부호율에 대해, 에 따른 블록 오율의 성능을 비교한 그래프이다.
도 22b를 참고하면, 실선으로 표시된 기존의 CA-SCL 복호의 성능과 점선으로 표시된 본 개시의 블록 단위 복호 알고리즘에 따른 복호의 성능이 유사하다. 예를 들면, CA-SCL 복호 기법을 적용한 시뮬레이션 1과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 2의 블록 오율이 유사할 수 있다. 또한, CA-SCL 복호 기법을 적용한 시뮬레이션 3과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 4의 블록 오율이 유사할 수 있다. 또한, CA-SCL 복호 기법을 적용한 시뮬레이션 5와, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 6의 블록 오율이 유사할 수 있다. 다양한 실시 예들에서, 부호율에 따른 기존의 CA-SCL 복호 기법과, 본 개시의 블록 기반 복호 기법의 연산을 비교하면 하기의 <표 11>과 같다.
부호율 |
부호화 기법 |
=16 (총 서브 블록의 수: 32), List= 8 |
정보비트로만 구성된 블록 수 |
고정비트로만 구성된 블록 수 |
비활성화 비율 |
연산횟수 |
감소율 |
R=1/3 |
일반적인 복호 |
- |
- |
- |
206306 |
18.27% |
블록 기반 복호 |
12 |
57 |
53.9% |
168607 |
R=1/2 |
일반적인 복호 |
- |
- |
- |
242535 |
21.24% |
블록 기반 복호 |
24 |
35 |
46.1% |
191015 |
R=3/4 |
일반적인 복호 |
- |
- |
- |
297457 |
31.99% |
블록 기반 복호 |
52 |
11 |
49.2% |
202289 |
<표 11>을 참고하면, 일반적인 복호 기법과, 본 개시의 블록 기반 복호 기법의 경우, 동일한 조건 하에서, 비활성화 서브블록의 비율에 따른 연산횟수 저감율이 설명된다. 즉, CA-SCL 복호 시, 본 개시에 따른 서브블록 단위 복호 기법이 사용되는 경우, 부호율이 1/3, 1/2, 3/4로 증가할수록, 연산횟수 감소율은 18.27%, 21.24%, 31.99%와 같이 증가할 수 있다.
도 23a는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 용량-0 천공 기법이 적용된 CA-SCL 복호의 경우, 블록 오율 성능을 나타내는 그래프를 도시한다. 도 23a는 부호 길이(N)가 128이고, 서브블록의 크기()가 2이고, 리스트의 크기가 4이고, CRC 가 8비트인 경우, 에 따른 블록 오율의 성능을 비교한 그래프이다.
도 23a를 참고하면, 실선으로 표시된 기존의 Unknown 비트 천공 시 복호의 성능과 점선으로 표시된 본 개시의 블록 단위 복호 알고리즘에 따른 복호의 성능이 유사하다. 예를 들면, Unknown 비트 천공 복호 기법을 적용한 시뮬레이션 1과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 2의 블록 오율이 유사할 수 있다. 다양한 실시 예들에서, Unknown 비트 천공의 경우, 상술한 CA-SCL 복호 시와 동일한 서브블록 비활성화 결정 방법을 통해 서브블록 내의 노드 연산을 수행하지 않을 수 있다. 그 결과, 기존의 Unknown 비트 천공 시 복호의 성능과 점선으로 표시된 본 개시의 블록 단위 복호 알고리즘에 따른 복호의 성능이 유사할 수 있다. 다양한 실시 예들에서, 부호율에 따른 기존의 Unknown 비트 천공 시 복호 기법과, 본 개시의 블록 기반 복호 기법의 연산을 비교하면 하기의 <표 12>와 같다.
부호율 |
부호화 기법 |
=2 (총 서브 블록의 수: 64), List= 4 |
정보비트로만 구성된 블록 수 |
고정비트로만 구성된 블록 수 |
비활성화 비율 |
연산횟수 |
감소율 |
R=1/2 |
일반적인 복호 |
- |
- |
- |
4851 |
18.97% |
블록 기반 복호 |
14 |
23 |
57.8% |
3931 |
<표 12>를 참고하면, 일반적인 복호 기법과, 본 개시의 블록 기반 복호 기법의 경우, 동일한 조건 하에서, 비활성화 서브블록의 비율에 따른 연산횟수 저감율이 설명된다. 즉, Unknown 비트 천공이 적용된 CA-SCL 복호 시, 본 개시에 따른 서브블록 단위 복호 기법이 사용되는 경우, 부호율 1/2에서, 연산횟수 감소율은 18.97%로, 일반적인 복호 기법보다 연산 복잡도가 낮아질 수 있다.
도 23b는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 천공 기법이 적용된 CA-SCL 복호의 경우, 블록 오율 성능을 나타내는 그래프를 도시한다. 도 23b는 부호 길이(N)가 128이고, 서브블록의 크기()가 2이고, 리스트의 크기가 4이고, CRC 가 8비트인 경우, 에 따른 블록 오율의 성능을 비교한 그래프이다.
도 23b를 참고하면, 실선으로 표시된 기존의 단축(shortening) 기법 적용 시 복호의 성능과 점선으로 표시된 본 개시의 블록 단위 복호 알고리즘에 따른 복호의 성능이 유사하다. 예를 들면, 기존의 단축 기법을 적용한 시뮬레이션 1과, 본 개시의 블록 기반 복호 기법을 적용한 시뮬레이션 2의 블록 오율이 유사할 수 있다. 다양한 실시 예들에서, 단축 기법을 적용한 경우, 상술한 CA-SCL 복호 시와 동일한 서브블록 비활성화 결정 방법을 통해 서브블록 내의 노드 연산을 수행하지 않을 수 있다. 그 결과, 기존의 단축 기법 적용 시 복호의 성능과 점선으로 표시된 본 개시의 블록 단위 복호 알고리즘에 따른 복호의 성능이 유사할 수 있다. 다양한 실시 예들에서, 부호율에 따른 기존의 단축 시 복호 기법과, 본 개시의 블록 기반 복호 기법의 연산을 비교하면 하기의 <표 13>과 같다.
부호율 |
부호화 기법 |
=2 (총 서브 블록의 수: 64), List= 4 |
정보비트로만 구성된 블록 수 |
고정비트로만 구성된 블록 수 |
비활성화 비율 |
연산횟수 |
감소율 |
R=1/2 |
일반적인 복호 |
- |
- |
- |
4833 |
23.26% |
블록 기반 복호 |
18 |
25 |
67.2% |
3709 |
<표 13>을 참고하면, 일반적인 복호 기법과, 본 개시의 블록 기반 복호 기법의 경우, 동일한 조건 하에서, 비활성화 서브블록의 비율에 따른 연산횟수 저감율이 설명된다. 즉, 단축이 적용된 CA-SCL 복호 시, 본 개시에 따른 서브블록 단위 복호 기법이 사용되는 경우, 부호율 1/2에서, 연산횟수 감소율은 23.26%로, 일반적인 복호 기법보다 연산 복잡도가 낮아질 수 있다.상술한 바와 같이, 본 개시의 다양한 실시 예들에 따른 서브블록 비활성화 방법이 적용되는 경우, 연속 제거 복호, CA-SCL 복호 및 천공 또는 단축 기법이 적용된 CA-SCL 복호 기법을 포함하는 다양한 복호 기법에서, 연산 복잡도가 감소할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(read only memory, ROM), 전기적 삭제가능 프로그램가능 롬(electrically erasable programmable read only memory, EEPROM), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(compact disc-ROM, CD-ROM), 디지털 다목적 디스크(digital versatile discs, DVDs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(local area network), WAN(wide area network), 또는 SAN(storage area network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.