니블 반전 부호 활용 방법 및 그 장치

申请号 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)을 선택하는 신호를 생성하기 위한 복호 유형 판독수단; 및
    상기 복호 유형 판독수단으로부터 전달된 선택신호를 통해 상기 부호 단어의 비트를 조작하여 본래의 원시 데이터를 복원하기 위한 비트 조작수단
    을 포함하는 니블 반전 부호 활용 장치.
  • 说明书全文

    니블 반전 부호 활용 방법 및 그 장치{Apparatus and Method for Using Nibble Inversion Code}

    본 발명은 니블 반전 부호 활용 방법 및 그 장치에 관한 것으로, 특히 네트워크 시스템에서 데이터 전송 및 상호접속(interconnection)을 위한 니블 반전 부호 활용 방법 및 그 장치에 관한 것이다.

    통신 전송 분야의 물리층(physical layer)에서는 데이터 전송을 위해 선로 맨체스터(Manchester) 부호, 부호 마크 반전(CMI : Code Mark Inversion) 부호, 5B6B 부호가 널리 사용되었다. 그러나, 상기 부호들은 잉여 비트를 많이 사용하여 부호 효율이 나쁘다는 것과 비트 단위로 부호를 생성하기 때문에 기가 비트 이상의 속도를 갖는 직렬 접속에 적합하지가 않은 문제점이 있었다.

    통신의 전송 분야에서, 상기와 같은 문제점을 해결하고 부호 효율을 극대화한 스크램블된(scrambled) 엔알지(NRZ : Non-Return-to-Zero) 부호가 널리 사용되고 있다. 이 부호는 원시 데이터를 확률적으로 랜덤화하여 부호화된 데이터의 주파수 성분을 확률적으로 확산시켜 누화 및 간섭을 줄이는 효과는 있다. 그러나, 스크램블된(scrambled) NRZ 부호는 천이 수 보장, 직류(DC : Direct Current) 주파수 성분 0, 주파수 확산을 확률적으로 보장할 뿐이지 완전하게 보장하지는 않으며, 프레임동기 패턴과 대역내 신호를 제공하지 않는 문제점이 있었다.

    컴퓨터 망 전송 분야에서, 상기와 같은 문제점을 해결하기 위해서, 바이트 단위로 부호화를 수행하고, 프레임 동기 패턴을 제공하고, 대역내 신호(또는 특수 단어)를 제공하는 8B10B 부호(PA Franaszek 및 AX Widmer, "Byte oriented DC balanced 8B10B partitioned block transmission code", US4,486,739)가 발명되었다.

    그러나, 상기 8B10B 부호가 상기 선행 부호들의 많은 문제점을 해결하였다할지라도, 기가 비트 속도에서와 같이 8비트 이외의 데이터를 부호화하려면 부호 알고리즘을 완전히 바꾸어야 하는 문제점이 있었다. 또한, 원시 데이터의 바이트를 구성하고 있는 8 비트에 잉여 비트 2비트를 추가하여 부호화하기 때문에 부호 효율이 좋지 않아 전송 대역폭이 커지는 문제점이 있었다.

    또한 WA Krzymein은 "Partially flipped mB(m+1)B" 부호(WA Krzymein, "Transmission performance analysis of a new class of line codes for optical fiber systems, " IEEE Trans. Commun., Vol. 37, No. 4, pp. 402-404, Apr. 1989)를 제안하였는데, 이 부호는 m 비트 원시 데이터 문자에 1 비트 잉여 비트를 삽입하여 m+1 비트의 부호 단어를 만든다. 이 부호는 부호 파라미터인 원시 데이터 단어의 디스패리티와 실행 디지털 합(RDS : Running Digital Sum)을 사용하여 부호화를 한다. 그러나, 이 부호는 부호 효율이 좋고 비교적 구현이 간단하기는 하나, 동기 부호와 대역내 및 대역외 신호들을 제공하지 못하는 문제점이 있었다. 또한 구현 하드웨어의 복잡도에 비해 디스패리티, 디지털 합 변량(DSV : Digital Sum Variation), 실행 길이(Run length)의 부호 효율이 좋지 않다는 문제점이 있었다.

    최근에는 부호 효율이 좋으며 구현이 간단하면서도 8비트 이외 단어에서도 사용이 가능한 부호 (미국특허 5,974,464, System for high speed serial video Signal transmission using DC balanced coding, Oct. 26, 1999)를 Yeshik Shin외 2인이 제안하였다. 그러나, 이 선행 기술은 대역내 신호(명령어)에 대한 천이 수가 적고 프레임 동기 패턴의 비트 수가 많다는 단점이 있다.

    기술해야 할 지면 및 기술 분야의 관련성이 적어, 본 발명의 상세한 설명에서 기술하지는 않지만 기가 비트 이상의 고속 직렬 접속에서 선로 부호의 DC 성분은 크게 문제가 되지 않으며 오히려 천이의 수와 부호 효율에 의한 대역폭이 더 문제가 된다. 또한 기가 비트 이상에서 직렬 비트 열을 병렬로 바꾸었을 때에 병렬 비트 수가 8 비트 이상이 되기 때문에 8 비트 이상의 비트를 가진 데이터에 응용이 용이한 부호가 요구되고 있는 문제점이 있다.

    본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 잉여 비트 추가를 통해 생성된 사전 부호(pre-code)의 천이 수에 따라 반전 여부를 결정하여 원시 데이터와 독립적인 대역내 신호, 블록 또는 프레임 동기 패턴을 생성하여 부호화하고 복호화하는 니블 반전 부호 활용 방법 및 그 장치를 제공하는데 그 목적이 있다.

    도 1 은 본 발명이 적용되는 네트워크 시스템의 구성예시도.

    도 2 및 도 3 은 본 발명에 따른 니블 반전 부호 활용 방법에 대한 일실시예 흐름도.

    도 4 및 도 5 는 본 발명에 따른 니블 반전 부호 활용 장치에 대한 일실시예 구성도.

    *도면의 주요 부분에 대한 부호의 설명

    401 : 천이 수 계산기 402 : 부호 유형 판독기

    403 : 비트 조작기

    상기 목적을 달성하기 위한 본 발명의 장치는, 니블 반전을 활용하기 위한 니블 반전 부호 활용 장치에 있어서, 원시 데이터(source data)에 1 잉여(redundancy) 비트를 추가하여 생성된 사전 부호(pre-code)의 천이 수를 합산하기 위한 제1 천이 수 연산수단; 상기 제1 천이 수 연산수단에서 얻어진 상기 사전 부호의 천이 수와 대역내 신호에 따라 니블 반전 부호 규칙을 따르는 부호 유형을 선택하여 제어 신호를 생성하기 위한 부호 유형 판독수단; 및 상기 부호 유형판독수단으로부터의 제어 신호에 따라 니블 반전 부호 유형을 선택하여 상기 사전 부호의 비트를 조작하여 부호 단어를 생성하는 제1 비트 조작수단을 포함하는 것을 특징으로 한다.

    또한, 본 발명의 다른 장치는, 니블 반전을 통해 생성된 부호 단어를 전달받아 원시 데이터를 복호하기 위한 니블 반전 부호 활용 장치에 있어서, 전달받은 상기 부호 단어의 천이 수를 연산하기 위한 천이 수 연산수단; 상기 천이 수 연산수단에 의해 얻어진 상기 부호 단어의 천이 수와 상기 부호 단어내의 니블 반전 표시 비트에 따라 니블 반전 부호의 복호 규칙을 따르는 복호 유형, 대역내 신호 또는 특수 단어(SIG_OUT) 및 부호 위반(CODE_VIOLATION)을 선택하는 신호를 생성하기 위한 복호 유형 판독수단; 및 상기 복호 유형 판독수단으로부터 전달된 선택신호를 통해 상기 부호 단어의 비트를 조작하여 본래의 원시 데이터를 복원하기 위한 비트 조작수단을 포함하는 것을 특징으로 한다.

    또한, 본 발명의 제1 방법은, 네트워크 시스템에 적용되는 니블 반전 부호 활용 방법에 있어서, 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 단계를 포함하는 것을 특징으로 한다.

    또한, 본 발명의 제2 방법은, 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 단계를 포함하는 것을 특징으로 한다.

    또한, 본 발명의 제3 방법은, 네트워크 시스템에 적용되는 니블 반전 부호 활용 방법에 있어서, 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 단계를 포함하는 것을 특징으로 한다.

    또한, 본 발명의 제4 방법은, 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 단계를 포함하는 것을 특징으로 한다.

    본 발명은 데이터의 전송(transmission), 상호접속(interconnection) 시스템에서 사용되는 선로 부호(line code)에 관한 것으로, 클럭 복구(clock recovery)가 용이하고, 부호화하는데 한 개의 잉여(redundancy) 비트만을 사용하고, 여러 개의 프레임 동기(frame synchronization) 부호 단어(code word)를 제공하고,대역내(in-band) 신호들을 풍부하게 제공하고, 원시(source) 데이터 단어가 8 비트 이외 비트로 구성되어도 부호 법칙의 기본은 그대로 적용될 수 있어 기가 비트 이상의 직렬 접속 응용에 적합한 선로 부호이다.

    본 발명은 상기한 종래 기술에서 제시된 문제점들을 해결하여 천이를 보장하고, 임의의 n(n은 원시 단어의 비트 수)비트 원시 데이터에 대해 선로 부호화 시에 1 비트만 잉여 비트로 사용하고, 여러 개의 프레임동기 패턴을 제공하고, 대역내 신호들을 풍부하게 제공하고, 부호 위반(violation) 검출로 선로에서의 비트 착오를 검출할 수 있고, 간단히 하드웨어로 구현될 수 있는 니블 반전 부호 활용 방법 및 그 장치를 제시한다.

    본 발명은 기가 비트 속도 이상의 전송 및 상호접속(interconnection) 장치에서도 사용되는 선로 부호(line code)에 관한 것으로, 특별히 클럭 복구(clock recovery)가 용이하고, 부호화하는데 한 개의 잉여(redundancy) 비트를 사용하여 부호 효율과 전송 대역폭을 향상시키고, 원시(source) 데이터가 8 비트 이외 비트(16 또는 32 비트 이상)로 구성되어도 부호 또는 복호 법칙의 기본은 그대로 적용될 수 있고, 여러 개의 프레임 동기(frame synchronization) 부호 단어(code word)를 제공하고, 대역내(in-band) 신호들을 풍부하게 제공하는 고성능 선로 부호에 관한 것이다.

    본 발명의 부호 법칙은, n 비트(여기서, n은 2이상의 자연수) 원시 데이터에 대해서 1 잉여 비트를 추가하여 사전 부호(pre-code)를 생성하고, 사전 부호의 천이 수에 따라 사전 부호를 구성하는 비트들의 절반(nibble)을 반전시키거나 사전부호 그대로 부호화하여 부호 단어의 천이 수를 풍부하게 하고 원시 데이터와 독립적인 대역내 신호와 블록 또는 프레임 동기 패턴을 생성한다. 본 발명의 복호 법칙은 부호 법칙의 역(reverse)이다.

    상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.

    도 1 은 본 발명이 적용되는 네트워크 시스템의 구성예시도이다.

    본 발명이 적용되는 네트워크 시스템은, 도면에 도시된 것과 같이 제1 컴퓨터(11), 데이터 통신망(12) 및 제2 컴퓨터(13)를 포함하여 이루어질 수 있다.

    제1 컴퓨터(11) 또는 제2 컴퓨터(13)에서 데이터를 송신하는 경우에는 니블 반전 부호로 부호화하여 전송하고, 수신하는 경우에는 니블 반전 부호에 대한 복호화를 수행하게 된다.

    도 2 및 도 3 은 본 발명에 따른 니블 반전 부호 활용 방법에 대한 일실시예 흐름도이다.

    본 발명의 구성 및 작용에 대해서 이해를 쉽게 하고, 종래의 8비트 단위의 응용에 적용되었던 부호들과 비교를 위해, 우선 원시 데이터가 8비트로 되어 있는 경우의 니블 반전(NI : Nibble Inversion) 부호에 대해서 기술한다.

    도 2 에서는 8비트 단위로 니블 반전 부호 법칙에 따른 부호화를 설명하고 있다. 전송을 위해 입력된 데이터는 도 2 에서 보여지는 것처럼 니블 반전 부호 법칙에 따라 부호화된다.

    원시 데이터(source data)는 8 비트 단어(word)이고 부호화된(coded) 부호 단어는 9 비트 문자(character)이다. b(7:0){b(7:0)은 b7, b6, b5, b4, b3, b2, b1, b0을 의미}으로 구성된 문자에 니블 반전 지시(NII : Nibble Inversion Indication) 비트를 8비트 단어의 최하위 비트(LSB) 다음 위치에 추가하여 9비트의 사전 부호(pre-code)를 생성한다. 즉, b7, b6, b5, b4, b3, b2, b1, b0, NII(NII=0)로 구성되는 사전 부호를 생성하는데, 여기서 b7이 최상위 비트(MSB)이고, NII는 새로운 최하위 비트이다. 홀수 비트 니블(odd bit nibble)은 b7, b5, b3, b1, NII이고, 짝수 비트 니블 (even bit nibble)은 b6, b4, b2, b0이다.

    홀수 비트 니블 반전(odd bit nibble inversion)은 홀수 비트 니블에 대해서 보수(complement)를 취한 것으로 b7 , b6, b5 , b4, b3 , b2, b1 , b0, NII 를 생성하는 것을 의미한다. 여기서 b7 은 b7의 보수이다.

    NI 부호화는 크게 4가지 유형(type)으로 수행된다. 8비트 원시데이터에 대한 NI 부호화 유형(type)에 따른 부호 법칙은 아래와 같다. 아래에서 Nt는 사전 부호의 천이수이다.

    * Nt >= 5이면, 사전 부호를 그대로 부호 단어로 생성한다(Type 1).

    * Nt < 4이면, 니블 반전된 사전 부호를 부호 단어로 생성한다(Type 2).

    * Nt = 4이면서 대역내 신호 또는 특수(in-band signaling or special) 단어가 아니면, 사전 부호를 그대로 부호 단어로 생성한다(Type 3A).

    * Nt = 4이면서 대역내 신호 또는 특수(in-band signaling or special) 단어이면, 니블 반전된 사전 부호를 부호 단어로 생성한다(Type 3B).

    이를 도면에 제시된 흐름에 따라 설명하면 다음과 같다.

    우선, 8비트 원시 데이터 부호화를 요청받는다. 입력된 원시데이터를 바탕으로 9비트의 사전 부호(B PC (t)=b7, b6, b5, b4, b3, b2, b1, b0, NII(NII=0))를 생성한다(201).

    생성된 사전 부호의 천이수(Nt)를 파악한다(202).

    파악된 사전 부호의 천이수(Nt)가 5보다 크거나 같은지를 판단한다(203).

    사전 부호의 천이수(Nt)가 5보다 크거나 같은지를 판단한 결과, 5보다 크거나 같으면, 타입 1(Type 1)에 해당하며, 9비트의 사전 부호를 그대로 전송할 부호 단어로 삼는다(204).

    사전 부호의 천이수(Nt)가 5보다 크거나 같은지를 판단한 결과, 5보다 크거나 같지 않으면, 사전 부호의 천이수(Nt)가 4인지를 점검한다(205).

    사전 부호의 천이수(Nt)가 4인지를 점검한 결과, 4가 아니면 타입 2(Type 2)에 해당하며, 홀수 비트 니블 반전(B NI (t)= b7 , b6, b5 , b4, b3 , b2, b1 , b0, 1)을 수행하고(206), 전송할 부호 단어를 홀수 비트 니블 반전된 부호(B NI (t))로 한다(207).

    사전 부호의 천이수(Nt)가 4인지를 점검한 결과, 4이면 입력된 원시 데이터가 대역내 신호 또는 특수 문자인지를 검사한다(208).

    원시 데이터가 대역내 신호 또는 특수 문자인지를 검사한 결과, 대역내 신호 및 특수 문자가 아니면 타입 3A(Type 3A)에 해당하며, 생성된 9비트 사전부호(B PC (t))를 전송할 부호 단어로 한다(204).

    원시 데이터가 대역내 신호 또는 특수 문자인지를 검사한 결과, 대역내 신호이거나 특수 문자이면 타입 3B(Type 3B)에 해당하며, 홀수 비트 니블 반전(B NI (t)= b7 , b6, b5 , b4, b3 , b2, b1 , b0, 1)을 수행하고(206), 전송할 부호 단어를 홀수 비트 니블 반전된 부호(B NI (t))로 한다(207).

    N(n은 짝수) 비트의 원시 데이터에 대해 상기와 같이 부호화할 경우에 n+1 비트를 가진 부호 단어가 생성되며 이 부호 단어는 항상 n/2개 이상이 천이를 갖게 된다. 이는 사전 부호에서 천이 수가 n/2보다 작은 r개의 천이를 갖을 경우 사전 부호의 니블(nibble)을 반전하면 nr개의 천이가 생성되기 때문이다.

    8 비트 문자 원시 데이터에 대해서 2 8 가지의 문자가 존재할 수 있는데 상기 NI 부호화 법칙에 의하여 생성된 부호 단어를 부호화 유형별로 분류하면 다음과 같다. Type 1(Nt >= 5)의 경우의 부호 개수는 8!/8!0! + 8!/7!1! + 8!/6!2! + 8!/5!3!로 93개이고, Type 2(Nt < 4)의 경우의 부호 개수는 8!/8!0! + 8!/7!1! + 8!/6!2! + 8!/5!3!로 93개이고, Type 3A(Nt = 4이면서 데이터)의 경우는 8!/4!4!로 70이고, Type 3B(Nt = 4이면서 특수 문자)의 경우도 8!/4!4!로 70개의 부호 부호 단어로 분포된다.

    NI 부호는 프레임 동기 또는 블록 동기를 위해서 동기 문자 또는 부호 단어를 제공한다. 동기 부호 단어는 직렬 비트 열(serial bit stream)에서 유일한 (unique) 비트 열 패턴을 제공한다. 9 비트의 NI 부호 단어가 4개 이상의 천이를보장하기 때문에 유일한 비트 패턴은 다음과 같이 구할 수 있다. 4개의 천이를 갖으면서 두개의 부호 단어가 연속될 때에 유일하면서 가장 짧은(10비트) 패턴(0000000000 또는 1111111111)을 갖는 부호 단어의 조합은 010100000000001010 또는 101011111111110101이다.

    불행하게도 니블 반전 부호 단어에서 유일한 패턴은 한 부호 단어에서 발생하지 않고 연속된 두 부호 단어(010100000 및 000001010, 101011111 및 111110101 등등)에서 발생할 수 있다. 이 부호 단어의 조합(combination)은 컴퓨터를 이용한 패턴 일치(pattern matching) 프로그램으로 쉽게 구할 수 있으며 동기 패턴 길이를 길게 하면 더 다양한 동기 문자를 생성할 수 있다. 동기 부호 단어 처리를 쉽게 하기 위해서, 컴퓨터로 찾은 여러 개의 유일한 패턴들 중에서 대역내 신호 또는 특수 부호 단어와 임의의 부호 단어를 조합한 패턴을 선택하는 것이 좋다. 동기 패턴의 비트 수를 크게 하면(10비트, 11비트, 12비트 등등), 동기 패턴의 수가 많아진다.

    8비트 원시 데이터에 대한 NI 부호록(Code-book)을 하기의 [표 1]을 통해 제시한다.

    대역내 신호 또는 특수 단어에 대한 동기 문자의 조합 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 비트 이외 비트로 구성되어도 부호 법칙의 기본은 그대로 적용될 수 있어 기가 비트 이상의 직렬 접속 응용에 적합한 효과가 있다.

    QQ群二维码
    意见反馈