니블 반전 부호 활용 방법 및 그 장치 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
申请号 | KR1020000059462 | 申请日 | 2000-10-10 | 公开(公告)号 | KR1020020028447A | 公开(公告)日 | 2002-04-17 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
申请人 | 한국전자통신연구원; 주식회사 케이티; | 发明人 | 이범철; 손종무; 최은창; 박권철; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
摘要 | PURPOSE: A method for using a nibble inversion code practically and an apparatus thereof are provided, which generate, encode and decode source data and independent inband signaling, block or frame synchronization pattern by determining whether to invert according to a transition number of pre-code generated by adding redundant bit. CONSTITUTION: The method includes the first step of generating a pre-code by adding the first redundancy bit to source data of n bit, and the second step of judging a transition number of the generated pre-code. If the transition number of the pre-code is equal to or higher than 1+n/2, the pre-code is set as a code word, and otherwise, a code word is generated by inverting half bits(nibble) including the redundancy bit among bits constituting the pre-code. And if the transition number of the pre-code is equal to n/2 and source data is neither an inband signal nor a special word, the pre-code is set as a code word. If the transition number is equal to n/2 and source data is inband signal or a special word, a code word is generated by inverting nibble among bits constituting the pre-code. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
权利要求 | 네트워크 시스템에 적용되는 니블 반전 부호 활용 방법에 있어서, n 비트(여기서 n은 2이상의 짝수)의 원시 데이터(source data)에 1 잉여(redundancy) 비트를 추가하여 사전 부호(pre-code)를 생성하는 제 1 단계; 생성된 사전 부호의 천이 수를 판단하는 제 2 단계; 상기 제 2 단계의 판단 결과, 사전 부호의 천이 수가 1+n/2보다 크거나 같으면, 사전 부호를 부호 단어(code word)로 설정하는 제 3 단계; 상기 제 2 단계의 판단 결과, 사전 부호의 천이 수가 n/2보다 작으면, 사전 부호를 구성하고 있는 비트들 중에 잉여 비트를 포함한 절반 비트들(이하 니블이라 함)을 반전시켜 부호 단어를 생성하는 제 4 단계; 상기 제 2 단계의 판단 결과, 사전 부호의 천이 수가 n/2와 같으면서 원시 데이터가 대역내 신호가 아니고 특수 단어도 아닌 경우, 사전 부호를 부호 단어로 설정하는 제 5 단계; 및 상기 제 2 단계의 판단 결과, 사전 부호의 천이 수가 n/2와 같으면서 원시 데이터가 대역내 신호이거나 특수 단어인 경우, 사전 부호를 구성하고 있는 비트들 중에 니블을 반전시켜 부호 단어를 생성하는 제 6 단계 를 포함하는 니블 반전 부호 활용 방법. 제 1 항에 있어서, 블록 또는 프레임 동기를 위해 상기 부호 단어들을 조합하여 유일하게 존재하는 패턴이 나오도록 동기 부호 단어를 구성하는 제 7 단계 를 더 포함하는 니블 반전 부호 활용 방법. 제 1 항 또는 제 2 항에 있어서, 니블 반전을 통해 생성된 부호 단어를 전송받아 상기 부호 단어의 천이 수를 확인하는 제 8 단계; 상기 제 8 단계의 확인 결과, 부호 단어의 천이의 수가 1+n/2보다 크거나 같으면서 잉여(redundancy) 비트가 반전되어 있지 않으면, 부호 단어에서 잉여 비트를 제외한 비트들로 원시(source) 데이터를 복호하는 제 9 단계; 상기 제 8 단계의 확인 결과, 부호 단어의 천이의 수가 1+n/2보다 크거나 같으면서 잉여 비트가 반전되어 있으면, 부호 단어를 구성하고 있는 니블을 반전하고 니블 반전된 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 10 단계; 상기 제 8 단계의 확인 결과, 부호 단어의 천이의 수가 n/2와 같으면서 잉여 비트가 반전되어 있지 않으면, 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 11 단계; 상기 제 8 단계의 확인 결과, 부호 단어의 천이의 수가 n/2와 같으면서 잉여비트가 반전되어 있지 않으면, 부호 단어를 구성하고 있는 니블을 반전하고 니블 반전된 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하여 복호된 원시 데이터가 대역내 신호 또는 특수 단어임을 나타내는 제 12 단계; 및 상기 제 8 단계의 확인 결과, 부호 단어의 천이의 수가 n/2보다 작으면 부호 위반을 나타내는 제 13 단계 를 포함하는 니블 반전 부호 활용 방법. 제 3 항에 있어서, 블록 또는 프레임 동기 시에 부호 단어 열에서 프레임 동기 패턴을 검출하는 제 14 단계 를 더 포함하는 니블 반전 부호 활용 방법. n 비트(여기서 n은 2이상의 짝수) 원시 데이터(source data)의 니블 반전을 통해 생성된 부호 단어를 전송받아 원시 데이터를 복호하기 위해 네트워크 시스템에 적용되는 니블 반전 부호 활용 방법에 있어서, 전송받은 상기 부호 단어의 천이 수를 확인하는 제 1 단계; 상기 제 1 단계의 확인 결과, 부호 단어의 천이의 수가 1+n/2보다 크거나 같으면서 잉여(redundancy) 비트가 반전되어 있지 않으면, 부호 단어에서 잉여 비트를 제외한 비트들로 원시(source) 데이터를 복호하는 제 2 단계; 상기 제 1 단계의 확인 결과, 부호 단어의 천이의 수가 1+n/2보다 크거나 같으면서 잉여 비트가 반전되어 있으면, 부호 단어를 구성하고 있는 니블을 반전하고 니블 반전된 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 3 단계; 상기 제 1 단계의 확인 결과, 부호 단어의 천이의 수가 n/2와 같으면서 잉여 비트가 반전되어 있지 않으면, 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 4 단계; 상기 제 1 단계의 확인 결과, 부호 단어의 천이의 수가 n/2와 같으면서 잉여 비트가 반전되어 있지 않으면, 부호 단어를 구성하고 있는 니블을 반전하고 니블 반전된 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하여 복호된 원시 데이터가 대역내 신호 또는 특수 단어임을 나타내는 제 5 단계; 및 상기 제 1 단계의 확인 결과, 부호 단어의 천이의 수가 n/2보다 작으면 부호 위반을 나타내는 제 6 단계 를 포함하는 니블 반전 부호 활용 방법. 제 5 항에 있어서, 블록 또는 프레임 동기 시에 부호 단어 열에서 프레임 동기 패턴을 검출하는 제 13 단계 를 더 포함하는 니블 반전 부호 활용 방법. 네트워크 시스템에 적용되는 니블 반전 부호 활용 방법에 있어서, n 비트(여기서 n은 3이상의 홀수) 원시 데이터(source data)에 1 잉여(redundancy) 비트를 추가하여 사전 부호(pre-code)를 생성하는 제 1 단계; 생성된 사전 부호의 천이 수를 판단하는 제 2 단계; 상기 제 2 단계의 판단 결과, 사전 부호의 천이 수가 (n+1)/2보다 크거나 같으면, 사전 부호를 부호 단어(code word)로 설정하는 제 3 단계; 상기 제 2 단계의 판단 결과, 사전 부호의 천이 수가 (n-1)/2보다 작으면, 사전 부호를 구성하고 있는 비트들 중에 잉여 비트를 포함한 절반 비트들(이하 니블이라 함)을 반전시켜 부호 단어를 생성하는 제 4 단계; 상기 제 2 단계의 판단 결과, 사전 부호의 천이 수가 (n-1)/2와 같으면서 원시 데이터가 대역내 신호가 아니고 특수 단어도 아닌 경우, 사전 부호를 부호 단어로 설정하는 제 5 단계; 및 상기 제 2 단계의 판단 결과, 사전 부호의 천이 수가 (n-1)/2와 같으면서 원시 데이터가 대역내 신호이거나 특수 단어인 경우, 사전 부호를 구성하고 있는 비트들 중에 니블을 반전시켜 부호 단어를 생성하는 제 6 단계 를 포함하는 니블 반전 부호 활용 방법. 제 7 항에 있어서, 블록 또는 프레임 동기를 위해 상기 부호 단어를 조합하여 유일하게 존재하는 패턴이 나오도록 동기 부호 단어를 구성하는 제 7 단계 를 더 포함하는 니블 반전 부호 활용 방법. 제 7 항 또는 제 8 항에 있어서, 니블 반전을 통해 생성된 부호 단어를 전송받아 상기 부호 단어의 천이 수를 확인하는 제 8 단계; 상기 제 8 단계의 확인 결과, 부호 단어의 천이의 수가 (n+1)/2보다 크거나 같으면서 잉여(redundancy) 비트가 반전되어 있지 않으면, 부호 단어에서 잉여 비트를 제외한 비트들로 원시(source) 데이터를 복호하는 제 9 단계; 상기 제 8 단계의 확인 결과, 부호 단어의 천이의 수가 (n+3)/2보다 크거나 같으면서 잉여 비트가 반전되어 있으면, 부호 단어를 구성하고 있는 니블을 반전하여 니블 반전된 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 10 단계; 상기 제 8 단계의 확인 결과, 부호 단어의 천이의 수가 (n-1)/2와 같으면서 잉여 비트가 반전되어 있지 않으면, 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 11 단계; 상기 제 8 단계의 확인 결과, 부호 단어의 천이의 수가 (n+1)/2와 같으면서 잉여 비트가 반전되어 있으면, 부호 단어를 구성하고 있는 니블을 반전하고 니블 반전된 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하여 복호된 원시 데이터가 대역내 신호 또는 특수 단어임을 나타내는 제 12 단계; 및 상기 제 8 단계의 확인 결과, 부호 단어의 천이의 수가 (n-1)/2보다 작으면 부호 위반을 나타내는 제 13 단계 를 포함하는 니블 반전 부호 활용 방법. 제 9 항에 있어서, 블록 또는 프레임 동기 시에 부호 단어 열에서 프레임 동기 패턴을 검출하는 제 14 단계 를 더 포함하는 니블 반전 부호 활용 방법. n 비트(여기서 n은 3이상의 홀수) 원시 데이터(source data)의 니블 반전을 통해 생성된 부호 단어를 전송받아 원시 데이터를 복호하기 위해 네트워크 시스템에 적용되는 니블 반전 부호 활용 방법에 있어서, 전송받은 상기 부호 단어의 천이 수를 확인하는 제 1 단계; 상기 제 1 단계의 확인 결과, 부호 단어의 천이의 수가 (n+1)/2보다 크거나같으면서 잉여(redundancy) 비트가 반전되어 있지 않으면, 부호 단어에서 잉여 비트를 제외한 비트들로 원시(source) 데이터를 복호하는 제 2 단계; 상기 제 1 단계의 확인 결과, 부호 단어의 천이의 수가 (n+3)/2보다 크거나 같으면서 잉여 비트가 반전되어 있으면, 부호 단어를 구성하고 있는 니블을 반전하여 니블 반전된 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 3 단계; 상기 제 1 단계의 확인 결과, 부호 단어의 천이의 수가 (n-1)/2와 같으면서 잉여 비트가 반전되어 있지 않으면, 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 4 단계; 상기 제 1 단계의 확인 결과, 부호 단어의 천이의 수가 (n+1)/2와 같으면서 잉여 비트가 반전되어 있으면, 부호 단어를 구성하고 있는 니블을 반전하고 니블 반전된 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하여 복호된 원시 데이터가 대역내 신호 또는 특수 단어임을 나타내는 제 5 단계; 및 상기 제 1 단계의 확인 결과, 부호 단어의 천이의 수가 (n-1)/2보다 작으면 부호 위반을 나타내는 제 6 단계 를 포함하는 니블 반전 부호 활용 방법. 제 11 항에 있어서, 블록 또는 프레임 동기 시에 부호 단어 열에서 프레임 동기 패턴을 검출하는제 7 단계 를 포함하는 니블 반전 부호 활용 방법. 니블 반전을 활용하기 위한 니블 반전 부호 활용 장치에 있어서, 원시 데이터(source data)에 1 잉여(redundancy) 비트를 추가하여 생성된 사전 부호(pre-code)의 천이 수를 합산하기 위한 제1 천이 수 연산수단; 상기 제1 천이 수 연산수단에서 얻어진 상기 사전 부호의 천이 수와 대역내 신호에 따라 니블 반전 부호 규칙을 따르는 부호 유형을 선택하여 제어 신호를 생성하기 위한 부호 유형 판독수단; 및 상기 부호 유형 판독수단으로부터의 제어 신호에 따라 니블 반전 부호 유형을 선택하여 상기 사전 부호의 비트를 조작하여 부호 단어를 생성하는 제1 비트 조작수단 을 포함하는 니블 반전 부호 활용 장치. 제 13 항에 있어서, 니블 반전을 통해 생성된 부호 단어를 전달받아 상기 부호 단어의 천이 수를 연산하기 위한 제2 천이 수 연산수단; 상기 제2 천이 수 연산수단에 의해 얻어진 상기 부호 단어의 천이 수와 상기부호 단어내의 니블 반전 표시 비트에 따라 니블 반전 부호의 복호 규칙을 따르는 복호 유형, 대역내 신호 또는 특수 단어(SIG_OUT) 및 부호 위반(CODE_VIOLATION)을 선택하는 신호를 생성하기 위한 복호 유형 판독수단; 및 상기 복호 유형 판독수단으로부터 전달된 선택신호를 통해 상기 부호 단어의 비트를 조작하여 본래의 원시 데이터를 복원하기 위한 제2 비트 조작수단 을 포함하는 니블 반전 부호 활용 장치. 니블 반전을 통해 생성된 부호 단어를 전달받아 원시 데이터를 복호하기 위한 니블 반전 부호 활용 장치에 있어서, 전달받은 상기 부호 단어의 천이 수를 연산하기 위한 천이 수 연산수단; 상기 천이 수 연산수단에 의해 얻어진 상기 부호 단어의 천이 수와 상기 부호 단어내의 니블 반전 표시 비트에 따라 니블 반전 부호의 복호 규칙을 따르는 복호 유형, 대역내 신호 또는 특수 단어(SIG_OUT) 및 부호 위반(CODE_VIOLATION)을 선택하는 신호를 생성하기 위한 복호 유형 판독수단; 및 상기 복호 유형 판독수단으로부터 전달된 선택신호를 통해 상기 부호 단어의 비트를 조작하여 본래의 원시 데이터를 복원하기 위한 비트 조작수단 을 포함하는 니블 반전 부호 활용 장치. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
说明书全文 |
|
대역내 신호 또는 특수 단어에 대한 동기 문자의 조합 | 11 비트 동기 패턴 | |
첫번째[원시데이터]부호 단어 | 두번째[원시데이터]부호 단어 | 동기 패턴의 비트 포맷 |
[i010]101 000001 | [i080] 11111 0101 | 00000111111 |
[i011]101 000011 | [i080] 11111 0101 | 00001111111 |
[i009]101 000111 | [i080] 11111 0101 | 00011111111 |
[i013]101 001111 | [i080] 11111 0101 | 00111111111 |
[i005]101 011111 | [i080] 11111 0101 | 01111111111 |
[i005]1010 11111 | [i040] 100000 101 | 11111100000 |
[i005]1010 11111 | [i104]1 10000 101 | 11111110000 |
[i005]1010 11111 | [i072] 111000 101 | 11111111000 |
[i005]1010 11111 | [i088] 111100 101 | 11111111100 |
[i005]1010 11111 | [i080] 111110 101 | 11111111110 |
- 상기한 [표 1]에서 [ ] 안에 숫자는 8비트 원시 데이터를 십진수로 나타낸 것이며, [ ] 안에 i는 대역내(in-band) 신호를 나타낸다. 예를들면 [i010]은 원시 데이터 00001010의 대역내(in-band) 신호를 나타낸다.
- 부호 단어에 밑줄 표시된 비트는 동기 패턴에 사용되는 비트를 나타낸다.
상기한 [표 1]에 8비트 원시 데이터를 NI 부호화하였을 때에 11비트의 동기 패턴에 대한 특수 문자로 구성된 동기 부호를 나타내었다. 동기 부호 단어에 대한 부호화 규칙은 다음과 같다.
* Nt = 4이고 특수문자이면서 두 특수문자가 연속할 때에 유일한 패턴을 갖는 두 특수문자를 사용.
8비트 원시 데이터에 대한 NI 부호 성능을 살펴보면, 상기와 같은 NI 부호 법칙을 따라 8비트 원시 데이터가 부호 단어를 생성하고 [표 1]의 동기 패턴을 제공할 때에 최대 연속(run) 1 또는 0의 길이(length)는 10이고, 70 (8!/4!4!)개의대역내 신호들을 제공하고, 10개의 11비트 동기 패턴(동기 부호 단어 쌍)을 제공한다. [표 1]에는 8비트 원시 데이터에 대한 11비트로 구성된 동기 패턴(동기 부호 단어 쌍)을 나타내고 있다.
도 3 에서는 8비트 단위로 니블 반전 복호 법칙에 따른 복호화를 설명하고 있다. 전송받은 데이터는 도 3 에서 보여지는 것처럼 니블 반전 복호 법칙에 따라 복호화된다. 복호 법칙을 설명함에 있어서도 역시 이해를 쉽게 하고 종래의 부호와 비교를 위해 원시 데이터가 8비트로 되어 있는 경우의 NI 복호에 대해서 기술한다.
NI 복호 법칙은 NI 부호 법칙의 역(reverse)이다. 부호 단어는 c7, c6, c5, c4, c3, c2, c1, c0, NII로 구성된다. 부호 단어는 홀수 비트 니블(odd bit nibble)과 짝수 비트 니블(even bit nibble)로 나누어지는데 홀수 비트 니블은 c7, c5, c3, c1, NII이고, 짝수 비트 니블은 c6, c4, c2, c0이다. 홀수 비트 니블 반전은 홀수 비트 니블의 비트들을 보수 취한 것으로 c7 , c5 , c3 , c1 , NII 를 생성하는 것을 의미하고, 여기서 c7 은 c7의 보수이다.
NI 부호 유형에 따른 복호 규칙은 다음과 같다.
* Nt >= 5이면서 NII=0이면, 부호 단어 중에 NII를 제거함으로써 원시 단어로 복구된다(Type 1).
* Nt >= 5이면서 NII=1이면, 부호 단어를 니블 반전하여 NII를 제거함으로써 원시 단어로 복구된다(Type 2).
* Nt = 4이면서 NII=0이면, 부호 단어 중에 NII를 제거함으로써 원시 단어로 복구된다(Type 3A).
* Nt = 4이면서 NII=1이면, 부호 단어를 니블 반전하여 NII를 제거함으로써 원시 단어로 복구되며. 이 원시 단어는 대역내 신호 또는 특수(in-band signaling or special) 단어이다(Type 3B).
* Nt < 4이면, 부호 법칙에 위배되는 잘못된 신호이다.
동기 부호 단어는 직렬 비트 열 또는 병렬 블록 열에서 유일한 동기 패턴을 검출하여 분리해낸다.
이를 도면에 나타나는 흐름에 따라 설명하면 다음과 같다.
복호를 위한 9비트 니블 반전 부호 단어 C(t)=(c7, c6, c5, c4, c3, c2, c1, c0, NII)를 입력받아(301), 부호 단어의 천이수(Nt)를 계산하여 파악한다(302).
파악된 부호 단어의 천이수(Nt)가 3보다 큰가를 점검한다(303).
부호 단어의 천이수(Nt)가 3보다 큰가를 점검한 결과, 부호 단어의 천이수(Nt)가 3보다 크지 않으면 전송된 부호 단어의 천이수는 3이상이 되도록 규정되었으므로 잘못된 부호를 전송받은 부호 위반이다(310).
부호 단어의 천이수(Nt)가 3보다 큰가를 점검한 결과, 부호 단어의 천이수(Nt)가 3보다 크면, 부호 단어의 천이수(Nt)가 4인지를 확인한다(304).
부호 단어의 천이수(Nt)가 4인지를 확인한 결과, 부호 단어의 천이수(Nt)가 4이면, 니블 반전 지시(NII) 비트가 1인지를 판단한다(308).
니블 반전 지시(NII) 비트가 1인지를 판단한 결과, 니블 반전 지시(NII) 비트가 1이 아니면, 타입 3A(Type 3A)에 해당하며, 부호 단어는 사전 부호를 그대로 부호화한 것이므로 부호 단어에서 니블 반전 지시(NII) 비트를 제거하여복호한다(309).
니블 반전 지시(NII) 비트가 1인지를 판단한 결과, 니블 반전 지시(NII) 비트가 1이면, 타입 3B(Type 3B)에 해당하며, 부호 단어는 사전 부호에 홀수 비트 니블 반전을 한 것이므로, 부호 단어에서 홀수 비트 니블 반전(C NT (t)=( b7 , b6, b5 , b4, b3 , b2, b1 , b0, 1))하고 니블 반전 지시(NII) 비트를 제거하여 복호한다(307).
부호 단어의 천이수(Nt)가 4인지를 확인한 결과, 부호 단어의 천이수(Nt)가 4가 아니면, 니블 반전 지시(NII) 비트가 1인지를 검사한다(305).
니블 반전 지시(NII) 비트가 1인지를 검사한 결과, 니블 반전 지시(NII) 비트가 1이면, 타입 2(Type 2)에 해당하며, 부호 단어는 사전 부호에 홀수 비트 니블 반전을 한 것이므로, 부호 단어에서 홀수 비트 니블 반전(C NT (t)=( b7 , b6, b5 , b4, b3 , b2, b1 , b0, 1))하고 니블 반전 지시(NII) 비트를 제거하여 복호한다(307).
니블 반전 지시(NII) 비트가 1인지를 검사한 결과, 니블 반전 지시(NII) 비트가 1이 아니면, 타입 1(Type 1)에 해당하며, 부호 단어는 사전 부호를 그대로 부호화한 것이므로 부호 단어에서 니블 반전 지시(NII) 비트를 제거하여 복호한다(306).
다음으로, 본 발명의 부호에 대한 최대 장점인 응용 범위를 넓히기 위해 기가비트 상호접속(interconnection)의 병렬 접속에서 많이 사용되는 32비트 단어(word)의 절반인 원시 데이터가 16비트로 되어 있는 경우의 니블 반전(NibbleInversion) 부호에 대해서 기술한다. 이 경우에 32비트 단어를 2개의 부호 블록으로 나누어 부호화를 하면 32비트 원시 데이터가 34비트 부호 단어로 부호화된다.
원시 데이터는 16비트 단어이고 부호화된 부호 단어는 17비트 문자이다. b(15:0)(여기서, b(15:0)은 b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0을 의미)으로 구성된 단어에 NII(Nibble Inversion Indication) 비트를 문자의 최하위 비트(LSB) 다음 위치에 추가하여 17 비트의 사전 부호를 생성한다. 즉, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, NII(NII=0)로 구성되는 사전 부호를 생성하는데, 여기서 b15가 최상위 비트 (MSB)이고, NII는 새로운 최하위 비트이다. 홀수 비트 니블 반전(odd bit nibble inversion)은 홀수 비트 니블에 대해서 보수를 취한 것으로 b15 , b14, b13 , b12, b11 , b10, b9 , b8, b7 , b6, b5 , b4, b3 , b2, b1 , b0, NII 를 생성하는 것을 의미하고, 여기서 b15 는 b15의 보수이다. NI 부호화는 크게 4가지 유형으로 수행된다. NI 부호화 유형에 따른 부호 법칙은 아래와 같다.
* Nt >= 9이면, 사전 부호를 그대로 부호 단어로 생성한다(Type 1).
* Nt < 8이면, 니블 반전된 사전 부호를 부호 단어로 생성한다(Type 2).
* Nt = 8이면서 대역내 신호 또는 특수(in-band signaling or special) 단어가 아니면, 사전 부호를 그대로 부호 단어로 생성한다(Type 3A).
* Nt = 8이면서 대역내 신호 또는 특수(in-band signaling or special) 단어이면, 니블 반전된 사전 부호를 부호 단어로 생성한다(Type 3B).
8비트 원시 단어의 경우와 마찬가지로 동기 부호 단어 처리를 쉽게 하기 위해서, 컴퓨터로 찾은 여러 개의 유일한 패턴들 중에서 대역내 신호 또는 특수 부호 단어와 임의의 부호 단어를 조합한 패턴을 선택하는 것이 좋다. [표 2]에 16비트 원시 데이터를 NI 부호화하였을 때에 19비트의 동기 패턴에 대한 특수 문자로 구성된 동기 부호를 나타냈다.
대역내 신호 또는 특수 단어에 대한 동기 문자의 조합 | 19비트 동기 패턴 | |
첫번째[원시데이터]부호단어 | 두번째[원시데이터]부호단어 | 동기 패턴의 비트 포맷 |
[i00170]1010101 0000000001 | [i21760] 111111111 01010101 | 0000000001111111111 |
[i00171]1010101 0000000011 | [i21760] 111111111 01010101 | 0000000011111111111 |
[i00169]1010101 0000000111 | [i21760] 111111111 01010101 | 0000000111111111111 |
[i00173]1010101 0000001111 | [i21760] 111111111 01010101 | 0000001111111111111 |
[i00165]1010101 0000011111 | [i21760] 111111111 01010101 | 0000011111111111111 |
[i00181]1010101 0000111111 | [i21760] 111111111 01010101 | 0000111111111111111 |
[i00149]1010101 0001111111 | [i21760] 111111111 01010101 | 0001111111111111111 |
[i00213]1010101 0011111111 | [i21760] 111111111 01010101 | 0011111111111111111 |
[i00085]1010101 0111111111 | [i21760] 111111111 01010101 | 0111111111111111111 |
[i00085]10101010 111111111 | [i10880] 1000000000 1010101 | 1111111111000000000 |
[i00085]10101010 111111111 | [i27264] 1100000000 1010101 | 1111111111100000000 |
[i00085]10101010 111111111 | [i19072] 1110000000 1010101 | 1111111111110000000 |
[i00085]10101010 111111111 | [i23168] 1111000000 1010101 | 1111111111111000000 |
[i00085]10101010 111111111 | [i21120] 1111100000 1010101 | 1111111111111100000 |
[i00085]10101010 111111111 | [i22144] 1111110000 1010101 | 1111111111111110000 |
[i00085]10101010 111111111 | [i21632] 1111111000 1010101 | 1111111111111111000 |
[i00085]10101010 111111111 | [i21880] 1111111100 1010101 | 1111111111111111100 |
[i00085]10101010 111111111 | [i21760] 1111111110 1010101 | 1111111111111111110 |
- 상기한 [표 2]에서 [] 안의 숫자는 16비트 원시 데이터를 십진수로 나타낸 것이며, []안의 i는 대역내(in-band) 신호를 나타낸다.
- 부호 단어에 밑줄 표시된 비트는 동기 패턴에 사용되는 비트를 나타낸다.
동기 부호 단어에 대한 부호화 규칙은 다음과 같다.
* Nt = 8이고 특수문자인자 이면서 두 특수 문자가 연속할 때에 유일한 패턴을 갖는 두 특수 문자를 사용한다.
상기와 같은 NI 부호 법칙을 따라 16 비트 원시 데이터가 부호 단어가 되었을 때, 최대 연속(run) 1 또는 0의 길이(length)는 18이다. 12,870(16!/8!8!)개의 대역내 신호들을 제공하고, 18개의 19비트의 동기 패턴(동기 부호 단어 쌍)을 제공한다.
16비트의 NI 복호 법칙은 8비트 원시 단어의 경우와 마찬가지로 NI 부호 법칙의 역(reverse)이다. 부호 단어는 c15, c14, c13, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0, NII로 구성된다. 부호 단어는 홀수 비트 니블(odd bit nibble)과 짝수 비트 니블(even bit nibble)로 나누어지는데 홀수 비트 니블은 c15, c13, c11, c9, c7, c5, c3, c1, NII이고, 짝수 비트 니블은 c14, c12, c10, c8, c6, c4, c2, c0이다.
홀수 비트 니블 반전은 홀수 비트 니블의 비트들을 보수 취한 것으로 c15 , c13 , c11 , c9 , c7 , c5 , c3 , c1 , NII 를 생성하는 것을 나타낸다.
16 비트 원시 단어에 대한 NI 부호 유형에 따른 복호 규칙은 다음과 같다.
* Nt >= 9이면서 NII=0이면, 부호 단어 중에 NII를 제거한 것을 원시 단어로 복구한다(Type 1).
* Nt >= 9이면서 NII=1이면, 부호 단어를 홀수 비트 니블 반전하여 NII를 제거한 것을 원시 단어로 복구한다(Type 2).
* Nt = 8이면서 NII=0이면, 부호 단어 중에 NII를 제거한 것을 원시 단어로 복구한다(Type 3A).
* Nt = 8이면서 NII=1이면, 부호 단어를 니블 반전하여 NII를 제거한 것을 원시 단어로 복구하며, 이 원시 단어는 대역내 신호 또는 특수(in-band signaling or special) 단어이다(Type 3B).
* Nt < 8이면, 부호 위반이다.
동기 부호 단어는 직렬 비트 열 또는 병렬 블록 열에서 유일한 동기 패턴을 검출하여 분리해낸다.
다음으로, 본 발명에서 제시되는 부호에 대한 응용을 기가비트 상호접속(interconnection)의 병렬 접속에서 많이 사용되는 32비트 단어에 쉽게 지원할 수 있도록 원시 데이터가 32비트로 되어 있는 경우의 니블 반전 부호에 대해서 기술한다.
원시 데이터는 32 비트 단어이고 부호화된 부호 단어는 33 비트 문자이다. b(31:0)(여기서, b(31:0)은 b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0을 의미)으로 구성된 문자에 NII(Nibble Inversion Indication) 비트를 문자의 최하위 비트 다음 위치에 추가하여 33 비트의 사전 부호를 생성한다. 즉, b31, b30, b29, b28, b27, b26, b25, b24, b23, b22, b21, b20, b19, b18, b17, b16, b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, NII(NII=0)로 구성되는 사전 부호를 생성하는데, 여기서 b31이 최상위 비트이고, NII는 새로운 최하위 비트이다.
홀수 비트 니블 반전은 홀수 비트 니블에 대해서 보수(complement)를 취한것으로 b31 , b30, b29 , b28, b27 , b26, b25 , b24, b23 , b22, b21 , b20, b19 , b18, b17 , b16, b15 , b14, b13 , b12, b11 , b10, b9 , b8, b7 , b6, b5 , b4, b3 , b2, b1 , b0, NII 를 생성하는 것을 의미하고, 여기서 b31 은 b31의 보수이다. NI 부호화는 크게 4가지 유형으로 수행된다. NI 부호화 유형에 따른 부호 법칙은 아래와 같다.
* Nt >= 17이면, 사전 부호를 그대로 부호 단어로 생성한다(Type 1).
* Nt < 16이면, 니블 반전된 사전 부호를 부호 단어로 생성한다(Type 2).
* Nt = 16이면서 대역내 신호 또는 특수(in-band signaling or special) 단어가 아니면, 사전 부호를 그대로 부호 단어로 생성한다(Type 3A).
* Nt = 16이면서 대역내 신호 또는 특수(in-band signaling or special) 단어이면, 니블 반전된 사전 부호를 부호 단어로 생성한다(Type 3B).
32비트 원시 단어의 경우 동기 부호 단어는 8비트 원시 단어의 경우와 마찬가지로 유일한 패턴이 특수 문자로 생성되게 하기 위해서 유일한 패턴은 연속된 두 부호 단어에서 발생한다. 8비트 원시 단어의 경우와 마찬가지로 동기 부호 단어 처리를 쉽게 하기 위해서, 컴퓨터로 찾은 여러 개의 유일한 패턴들 중에서 대역내 신호 또는 특수 부호 단어와 임의의 부호 단어를 조합한 패턴을 선택하는 것이 좋다.
* Nt = 16이고 특수문자인자 이면서 두 특수 문자가 연속할 때에 유일한 패턴을 갖는 두 특수 문자를 사용한다.
상기와 같은 NI 부호 법칙을 따라 32 비트 원시 데이터가 부호 단어가 되었을 때에 최대 연속 1 또는 0의 길이는 34 이다. 601,080,390(32!/16!16!)개의 대역내 신호들을 제공한다.
NI 복호 법칙은 8비트 원시 단어의 경우와 마찬가지로 NI 부호 법칙의 역(reverse)이다. 32 비트 원시 단어에 대한 NI 부호 유형에 따른 복호 규칙은 다음과 같다.
* Nt >= 17이면서 NII=0이면, 부호 단어 중에 NII를 제거한 것을 원시 단어로 복구한다(Type 1).
* Nt >= 17이면서 NII=1이면, 부호 단어를 니블 반전하여 NII를 제거한 것을 원시 단어로 복구한다(Type 2).
* Nt = 16이면서 NII=0이면, 부호 단어 중에 NII를 제거한 것으로 원시 단어로 복구한다(Type 3A).
* Nt = 16이면서 NII=1이면, 부호 단어를 니블 반전하여 NII를 제거한 것을 원시 단어로 복구하며, 이 원시 단어는 대역내 신호 또는 특수(in-band signaling or special) 단어이다(Type 3B).
* Nt < 16이면, 부호 위반이다.
동기 부호 단어는 직렬 비트 열 또는 병렬 블록 열에서 유일한 동기 패턴을 검출하여 분리해낸다.
상기에서도 기술하였지만, 본 발명의 부호에 대한 부호 법칙 및 복호 법칙은 원시 데이터의 홀수 비트 수에 제한을 받지는 않는다. 비록, 본 발명의 구성 및 작용에서, 본 발명에 대한 이해 및 응용을 쉽게 할 수 있도록 원시 데이터가 8비트로 되어 있는 경우에 대해서 기술하였지만, 임의의 홀수 비트로 구성된 원시 데이터에 대한 NI 부호 법칙은, 비트 조작하는 방법에서 비트 수가 바뀔 수는 있지만, 기본적인 사항에 대한 일반성을 상실하지 않는다.
또한, 본 발명에서 니블은 원시 데이터에 1 비트를 추가한 사전 부호의 절반(홀수 비트 또는 짝수 비트)을 나타내는 것으로 홀수 비트 또는 짝수 비트 니블에 역시 무관하다. 본 발명에서 설명의 용이성을 위해 n이 짝수인 경우에 대해서 기술하였지만 n이 홀수인 경우에는 대역내 신호를 만들 경우 부호 단어의 천이 수가 n이 짝수인 경우와 다른 것이 차이가 있으며 본 발명의 부호의 일반성을 잃지 않는다. 따라서, 본 발명의 n은 모든 자연 수에 적용됨을 밝혀둔다.
하기의 [표 3A]는 n이 짝수인 경우의 니블 반전 부호 법칙을 요약하여 나타낸 것이고, [표 3B]는 니블 반전 복호 법칙을 요약하여 나타낸 것이다.
부호 법칙(n이 짝수인 경우) | 부호 단어 | |
조건(Condition) | 형태(Type) | 부호 단어 생성 방법 |
Nt>=1+n/2 | Type 1 | 사전 부호 |
Nt < n/2 | Type 2 | 니블 반전된 사전 부호 |
Nt = n/2 & data | Type 3A | 사전 부호 |
Nt = n/2 & in-band signal | Type 3B | 니블 반전된 사전 부호 |
복호 법칙(n이 짝수인 경우) | 복호 단어 | |
조건(Condition) | 형태(Type) | 복호 단어 생성 방법 |
Nt>=1+n/2 & NII=0 | Type 1 | 부호 단어에서 NII비트 삭제 |
Nt>=1+n/2 & NII=1 | Type 2 | 니블 반전된 부호 단어에서NII 비트 삭제 |
Nt = n/2 & NII=0 | Type 3A | 부호 단어에서 NII비트 삭제 |
Nt = n/2 & NII=1 | Type 3B | 니블 반전된 부호 단어에서NII 비트 삭제 및대역내 신호 표시 |
상기한 [표 3A] 및 [표 3B]를 통해 짝수 n비트로 구성된 원시 데이터에 대해 본 발명의 부호 및 복호 법칙을 각각 일반화하여 요약하였으며, 하기하는 [표 4A] 및 [표 4B]에 홀수 n 비트로 구성된 원시 데이터에 대해 본 발명의 부호 및 복호 법칙을 각각 일반화하여 요약하였다.
부호 법칙(n이 홀수인 경우) | 부호 단어 | |
조건(Condition) | 형태(Type) | 부호 단어 생성 방법 |
Nt>=(n+1)/2 | Type 1 | 사전 부호 |
Nt < (n-1)/2 | Type 2 | 니블 반전된 사전 부호 |
Nt = (n-1)/2 & data | Type 3A | 사전 부호 |
Nt = (n-1)/2 & in-band signal | Type 3B | 니블 반전된 사전 부호 |
복호 법칙(n이 홀수인 경우) | 복호 단어 | |
조건(Condition) | 형태(Type) | 복호 단어 생성 방법 |
Nt>=(n+1)/2 & NII=0 | Type 1 | 부호 단어에서 NII비트 삭제 |
Nt>=(n+3)/2 & NII=1 | Type 2 | 니블 반전된 부호 단어에서NII 비트 삭제 |
Nt = (n-1)/2 & NII=0 | Type 3A | 부호 단어에서 NII비트 삭제 |
Nt = (n+1)/2 & NII=1 | Type 3B | 니블 반전된 부호 단어에서NII 비트 삭제 및대역내 신호 표시 |
도 4 및 도 5 는 본 발명에 따른 니블 반전 부호 활용 장치에 대한 일실시예 구성도이다.
도 4 및 도 5 에서는 상기한 NI 부호 법칙과 NI 복호 법칙을 따르는 부호기 및 복호기에 대해서 기술한다.
도 2 및 도 3 의 NI에 대한 부호 및 복호 규칙에서 본 발명의 구현이 매우 복잡할 것으로 보이지만, 실제로는 NI 부호 및 복호 법칙에서 각각 대칭성과 규칙성이 있어 구현이 간단해진다. NI 부호기 및 복호기는 원시 데이터를 구성하는 비트 수에 제한을 받지는 않지만 원시 데이터의 비트 수가 많아지면, 모든 부호기 및 복호기와 마찬가지로, 하드웨어 구현이 복잡해진다. 본 발명의 구성 및 작용에 대해서 이해를 쉽게 하고, 널리 사용되는 바이트(8 비트) 단위 응용에 쉽게 지원할 수 있도록 원시 데이터가 9비트 문자로 되어 있는 경우에 대한 NI 부호기 및 복호기에 대해서 기술한다.
이하 도 4 를 사용하여 NI 부호기의 구성 및 작용에 대해서 설명한다. NI 부호기는 여러 가지 구조로 구성이 가능하나 하드웨어를 간단하게 하면서도 구현의 규칙성과 대칭성을 유지하려면 도 4 와 같이 구성되어 질 수 있다.
NI 부호 장치는 천이 수 계산기(transition number calculator, 401), 부호 유형 판독기(encoding type decoder, 402), 비트 조작기(bit manipulator, 303)로 구성되어 있다.
천이 수 계산기(401)는 사전 부호의 천이 수를 합산한다.
부호 유형 판독기(402)는 사전 부호의 천이 수와, 대역내 신호에 따라 상기 NI 부호 법칙을 따르는 부호 유형을 선택하여 제어 신호를 생성한다.
비트 조작기(bit manipulator, 403)는 부호 유형 판독기(401)와 대역내 신호 또는 특수 단어 신호(SIG_IN)에 따라 NI 부호 유형을 선택하여 사전 부호의 비트를 조작하여 부호 단어를 생성한다.
이하 도 5 를 사용하여 NI 복호기의 구성 및 작용에 대해서 설명한다.
NI 복호기는 NI 부호기와 마찬가지로 여러 가지 구조로 구성이 가능하나 하드웨어를 간단하게 하면서도 구현의 규칙성과 대칭성을 유지하려면 도 5 와 같이 구성되어 질 수 있다.
프레임 동기 또는 블록 동기는 본 발명의 NI 부호 단어 중에 동기 부호 문자들을 사용한 유일 패턴 검출 방식에 의해서 수행된다. 따라서, NI 복호기로 입력되는 부호 단어는 블록 동기가 되어 있다고 가정한다.
NI 복호기는 천이 수 계산기(Transition Number Calculation, 501), 복호 유형 판독기(Decoding Type Decoding, 502) 및 비트 조작기(Bit Manipulation, 503)로 구성되어 있다.
천이 수 계산기(501)는 부호 단어의 천이 수(Nt)를 계산해낸다.
복호 유형 판독기(502)는 부호 단어의 천이 수(Nt)와, 니블 반전 표시 비트(NIIB)에 따라 NI 복호 법칙을 따르는 복호 유형, 대역내 신호 또는 특수 단어(SIG_OUT) 및 부호 위반(CODE_VIOLATION)을 선택하는 신호를 생성하여 비트 조작기로 보낸다.
비트 조작기(503)는 복호 유형 판독기(502)에 따라 NI 복호 유형을 선택하여 부호 단어의 비트를 조작하여 본래의 문자를 복구한다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 데이터의 전송(transmission), 상호접속(interconnection) 시스템에서 사용되는 선로 부호(line code)의 부호화 및 복호화를 제시하여, 동일 부호의 반복이 적어 클럭 복구(clock recovery)가 용이하고, 부호화하는데 한 개의 잉여(redundancy) 비트만을 사용하여 부호 효율이 좋고 크지 않은 전송대역폭을 통해 전송할 수 있는 효과가 있다.
또한, 본 발명은, 여러 개의 프레임 동기(frame synchronization) 부호 단어(code word)를 제공하고, 대역내(in-band) 신호들을 풍부하게 제공하고, 원시(source) 데이터 단어가 8 비트 이외 비트로 구성되어도 부호 법칙의 기본은 그대로 적용될 수 있어 기가 비트 이상의 직렬 접속 응용에 적합한 효과가 있다.