KR20000008406A - 니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치 - Google Patents

니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치 Download PDF

Info

Publication number
KR20000008406A
KR20000008406A KR1019980028198A KR19980028198A KR20000008406A KR 20000008406 A KR20000008406 A KR 20000008406A KR 1019980028198 A KR1019980028198 A KR 1019980028198A KR 19980028198 A KR19980028198 A KR 19980028198A KR 20000008406 A KR20000008406 A KR 20000008406A
Authority
KR
South Korea
Prior art keywords
nibble
code
word
inverted
disparity
Prior art date
Application number
KR1019980028198A
Other languages
English (en)
Other versions
KR100281738B1 (ko
Inventor
이범철
김봉수
정희범
박권철
강석열
Original Assignee
이계철
한국전기통신공사
정선종
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이계철, 한국전기통신공사, 정선종, 한국전자통신연구원 filed Critical 이계철
Priority to KR1019980028198A priority Critical patent/KR100281738B1/ko
Priority to US09/350,097 priority patent/US6366223B1/en
Publication of KR20000008406A publication Critical patent/KR20000008406A/ko
Application granted granted Critical
Publication of KR100281738B1 publication Critical patent/KR100281738B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels

Abstract

본 발명은 전송, 상호접속 및 저장 장치에서 사용되는 선로 부호(line code)에 관한 것으로, 특히 클럭 복구가 용이하고, DC 스펙트럼 성분이 없고, 부호화하는데 한 개의 잉여 비트를 사용하고, 원시 데이터가 8 비트 이외 바이트로 구성되어도 부호 또는 복호 법칙의 기본은 그대로 적용될 수 있고 여러 개의 프레임동기 부호 단어를 제공하고, 대역내(in-band) 및 대역외(out-band) 신호들을 풍부하게 제공하는 니블 반전 및 블록 반전(NIBI) 부호에 관한 것이다. 본 발명의 부호 방법은, n 비트(여기서 n은 3이상의 홀수) 원시 데이터에 대해서 1 잉여 비트를 추가하여 사전 부호(pre-code)를 생성하고, 사전 부호의 디스패리티가 0이 아니면 사전 부호를 니블(nibble) 반전시키고 니블 반전된 사전 부호의 디스패리티가 미리 설정된 값 이내가 아니면 사전 부호의 비트들을 조작하여 조작된 사전 부호의 디스패리티가 0이 되면서 니블 반전되고 조작된 사전 부호의 디스패리티가 미리 설정된 값 이내가 되도록 하고 조작되고 니블 반전되고 조작된 사전 부호를 부호 단어로 설정하고, 상기 설정된 부호 단어의 디스패리티가 0이 아니면 부호 단어를 구성하는 비트들인 블록을 반전하여 블록 반전된 부호 단어 판(version)인 보수 부호 단어와 부호 단어를 함께 생성하도록 한다. 본 발명의 복호 방법은 상기 부호 방법의 역(reverse)이다.

Description

니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치
본 발명은 전송(transmission), 상호접속(interconnection) 및 저장 장치에서 사용되는 선로 부호(line code)에 관한 것으로서, 특히 클럭 복구(clock recovery)가 용이하고, DC 스펙트럼 성분이 없고, 부호화하는데 한 개의 잉여(redundancy) 비트를 사용하고, 여러 개의 프레임동기(frame synchronization) 부호 단어(code word)를 제공하고, 대역내(in-band) 및 대역외(out-band) 신호들을 풍부하게 제공하고, 원시 (source) 데이터가 8 비트 이외 바이트로 구성되어도 부호화의 기본원리는 그대로 적용될 수 있고, 간단히 하드웨어로 구현될 수 있는 니블 반전 및 블록 반전부호(Nibble Inversion and Block Inversion code; NIBI)의 부호화 및 복호화 방법과, 그 부호 및 복호장치에 관한 것이다.
선로 부호를 사용하는 이유는 여러 가지가 있으나(K. W. Cattermole, " Principles of digital line coding ", Int. J. electronics, Vol. 55, No.1, pp. 3-33, 1983), 주로 직렬 비트 스트림(stream)에서 용이하고 신뢰성 있게 데이터 비트를 복구하기 위해서 사용한다. 컴퓨터 망에서의 전송 부호는, 상기 선로 부호 사용 이유에 추가하여, 채널(channel) 부호에서 제공하는 프레임동기 패턴, 대역내 신호(콤마, 구별자, 빈 문자 등의 특수문자)까지 제공하고 있다(A. X. Widmer 및 P. A. Franaszek, " A DC-balanced, partioned-block, 8B10B transmission code ", IBM J. Res. Develop., Vol. 27, No. 5, pp. 440-451, 1983).
통신 전송 분야의 물리층(physical layer)에서 사용되는 선로 부호는 클럭 복구와 광 접속을 위한 조건을 요구한다. 이에 따라, 상기 클럭 복구를 위해서는 직렬 비트 스트림에서 풍부한 천이(transition)를 발생해야 하고, 광 접속을 위해서는 AC 결합(coupling)이 가능하도록 DC 주파수 성분이 0 이어야 한다(R. M. Brooks 및 A. Jessop, "Line coding for optical fibre systems ", Int. J. Electronics, Vol. 55, No. 1, pp. 81-120, 1983).
상기와 같은 기능을 수행하는 부호로는 맨체스터(Manchester)부호, CMI (Code Mark Inversion) 부호, 5B6B 부호가 널리 사용되었다. 그러나, 상기 부호들은 잉여 비트를 많이 사용하여 부호 효율이 나쁘다는 것과 비트 단위로 부호를 생성하기 때문에 바이트 단위로 처리되는 시스템에 사용할 때에 복잡성과 번거로움을 발생시킨다.
통신 전송 분야에서, 상기와 같은 문제점 중에 부호 효율을 극대화한 스크램블 제로 비복귀(scrambled NRZ)부호가 널리 사용되고 있다. 그러나, 스크램블 제로 비복귀 부호는, DC 주파수 성분 0 을 확률적으로 보장할 뿐이지 완전하게 (perfectly) 보장하지는 않으며, 프레임동기 패턴과 대역내 신호를 제공하지 않는 문제점이 있다.
또한, 컴퓨터 망 전송 분야에서, 상기와 같은 문제점을 해결하기 위해서 비교적 높은 부호 효율을 가지며, 바이트 단위로 부호화를 수행하고, 프레임 동기 패턴을 제공하고, 대역내 신호(또는 특수 문자)를 제공하는 8B10B 부호(P. A. Franaszek 및 A. X. Widmer, "Byte oriented DC balanced 8B10B partitioned block transmission code ", US 4,486,739)가 고안되었다. 그러나, 상기 8B10B 부호가 상기 선행 부호들의 많은 문제점을 해결하였다 할지라도, 대역외 신호를 추가하거나 프레임 동기 패턴을 추가할 때에 사용자(user) 원시 데이터 난(field)에 삽입해야 하는 문제와 8 비트 이외의 원천 데이터 부호화시에(예, 9-bit 또는 16-bit 등등) 부호 법칙의 규칙성과 대칭성이 없어진다는 문제점을 여전히 갖고 있다. 즉, 원시 데이터의 바이트를 구성하고 있는 8 비트에 2비트의 잉여 비트를 추가하여 부호화하기 때문에, 프레임동기 패턴이나 신호 비트를 삽입하려면 부호 단어에 잉여 비트를 추가할 수가 없어 사용자 프레임 형식이 바뀌는 문제가 있다. 또한, 8비트 이외의 데이터를 부호화하려면 부호 알고리즘(algorithm)이 완전히 바뀌어야 하는 문제점이 있다.
또한 W. A. Krzymein은 Partially flipped mB(m+1)B 부호를 제안하였는데 (W. A. 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 비트의 부호 단어를 만든다. 이 부호는 부호 파라미터인 원시 데이터 문자의 디스패리티(Disparity)와 실행 디지털 합(RDS ; Running Digital Sum)을 사용하여 부호화를 한다. 그러나, 이 부호는 부호 효율이 좋고 비교적 구현이 간단하기는 하나, 동기 부호와 대역내 및 대역외 신호들을 제공하지 못하고, RDS, 디스패리티, 디지털 합 변량(DSV ; Digital Sum Variation), 실행 길이(Run length)의 부호 성능이 좋지 않다는 문제가 있다.
따라서, 본 발명은 상기와 같은 문제점들을 해결하기 위해, 천이와 DC 스펙트럼 성분 0 을 보장하고, 임의의 n(n은 홀수) 비트 부호화 시에 1 비트만 잉여 비트로 사용하고, 여러 개의 프레임동기 패턴을 제공하고, 대역내 및 대역외 신호들을 풍부하게 제공하고, 부호 위반(violation) 검출로 선로에서의 비트 착오(error)를 검출할 수 있고, 간단히 하드웨어로 구현될 수 있도록 하는데 그 목적이 있다.
도 1a, 1b, 1c는 본 발명의 NIBI 부호화 흐름도,
도 2a, 2b는 본 발명의 NIBI 복호화 흐름도,
도 3은 본 발명의 NIBI 부호기의 블록 구성도,
도 4는 본 발명의 NIBI 복호기의 블록 구성도.
〈도면의 주요 부분에 대한 부호의 설명〉
300 : 디스패리티 계산기(Disparity Calculator)
301 : 홀수 비트 니블 합산기 (Odd Bit Nibble Summing Up)
302 : 짝수 비트 니블 합산기 (Even Bit Nibble Summing Up)
303 : 보수 니블 합산기 (Complement Nibble Summing Up)
304, 305 : 제 1 및 제 2의 3 비트 덧셈기(3 Bit Adder)
306 : 부호 유형 판독 및 비트 사상 제어기(Encoding Type Decoder & Bit Map Controller)
310 : NII(Nible Inversion Indication) 비트 구동기
320 : 실행 디지털 합 계산기(Running Digital Sum Calculator)
330 : 비트 조작기(Bit Manipulator)
400 : 디스패리티 계산기(Disparity Calculator)
401 : 홀수 비트 니블 합산기(Odd Bit Nibble Summing Up)
402 : 짝수 비트 니블 합산기(Even Bit Nibble Summing Up)
403 : 보수 니블 합산기(Complement Nibble Summing Up)
404, 405 : 제 1 및 제 2의 3 비트 덧셈기(3 Bit Adder)
406 : 복호 유형 판독 및 비트 사상 제어기(Encoding Type Decoder & Bit Map Controller)
420 : 실행 디지털 합 계산기(Running Digital Sum Calculator)
430 : 비트 조작기(Bit Manipulator)
본 발명에 대한 구성 및 작용에 대한 설명을 간편하게 하기 위해 본 발명에서 사용되는 몇 가지 용어에 대한 정의를 먼저 기술한다.
-디스패리티(disparity) : 부호 단어(code word)에서 1(ones)들의 수와 0(zeros)들의 수의 차, 음수(negative integer)인 경우는 0들이 1들보다 더 많은 것을 의미하고 양수인 경우는 반대의 경우를 의미.
-실행 디지털 합(RDS ; Running Digital Sum) : 임의의 정해진 시점으로부터 해당 시각에 마지막으로 송신한 부호 단어의 디스패리티의 누적 합.
-원시 데이터(source data) : 기계 또는 사용자가 생성한 최초의 자료.
-부호 단어(code word) : 규칙을 가진 방법으로 표현된 자료의 단어.
-사전 부호(pre-code) : 원시 데이터에 부호화를 위해서 사전에 1 비트를 추가한 부호(추가되는 비트는 논리 레벨 0).
-니블(nibble) : 사전 부호 또는 부호 단어의 비트들의 절반.
-블록(block) : 부호 단어의 비트들.
-문자(character) : 원시 데이터의 비트들.
-디지털 합 변량(DSV ; Digital Sum Variation) : 부호의 어떤 부호화된 열에서 가능한 디지털 합의 최대값과 최소값의 차이.
이에 따른 본 발명의 니블 반전 및 블록 반전 부호의 부호화 방법의 기술적인 특징은 다음과 같다.
n 비트(n은 3이상의 홀수) 원시 데이터(source data)에 대해서 논리 레벨 '0'으로 설정된 하나의 잉여(redundancy)비트를 추가하여 사전 부호(pre-code)를 생성한다. 그리고 그 생성된 사전 부호의 디스패리티(disparity)가 0 이면서 원시 데이타가 대역내 신호(또는 특수문자)가 아니면 사전 부호를 부호 단어(code word)로 설정한다. 또, 상기 생성된 사전 부호의 디스패리티가 0 이면서 원시 데이터가 미리 설정된 대역내 신호(또는 특수문자)이면 사전 부호를 구성하고 있는 비트들(이하, '블록'이라 칭함)중에 잉여 비트를 포함한 절반 비트들(이하, '니블'이라 칭함)을 반전시키고 니블 반전된 사전 부호를 부호 단어로 설정하고 블록 반전된 부호 단어 판(version)인 보수 부호 단어와 부호 단어를 함께 생성한다. 상기 생성된 사전 부호의 디스패리티가 0 이 아니면 사전 부호를 니블 반전시키고, 그 니블 반전된 사전 부호의 디스패리티가 미리 설정된 값 이내이면 니블 반전된 사전 부호를 부호 단어로 설정하고, 이 설정된 부호 단어의 디스패리티가 0 이 아니면 블록 반전된 부호 단어 판인 보수 부호 단어와 부호 단어를 함께 생성한다. 그리고, 상기 생성된 사전 부호의 디스패리티가 0이 아니면 사전 부호를 니블 반전시키고 니블 반전된 사전 부호의 디스패리티가 미리 설정된 값 이내가 아니면 사전 부호의 비트들을 후술과 같이 조작하는데 조작된 사전 부호의 디스패리티가 0 이면서 동시에 조작되고 니블 반전된 사전 부호의 디스패리티가 미리 설정된 값 이내가 되도록 사전 부호의 비트들을 조작하고, 그 조작되고 니블 반전된 사전 부호를 부호 단어로 설정하고, 그 설정된 부호 단어의 디스패리티가 0 이 아니면 블록 반전된 부호 단어 판인 보수 부호 단어와 부호 단어를 함께 생성한다. 그리고 원시 데이터에 대한 부호가 보수 부호 단어와 부호 단어로 두 개 존재하는 경우에는 실행 디지털 합(Running Digital Sum)의 절대값이 작아지는 부호 단어를 선택한다. 그리고, 프레임 동기를 위해 상기 부호 단어를 조합하여 상기 부호단어가 병렬/직렬 변환되었을 때 직렬 비트열에서 유일하게 존재하는 패턴이 나오도록 동기 부호 단어를 생성한다.
다음으로, 본 발명의 다른 특징인 상기 생성된 부호 단어를 복호화 하는 방법은 다음과 같다.
부호 단어의 디스패리티가 0이면서 잉여 비트가 반전되어 있지 않으면 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호한다. 또, 상기 부호 단어의 디스패리티가 0 이면서 잉여 비트가 1이면 니블 반전하고 그 니블 반전된 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호한다. 또, 부호 단어의 디스패리티가 0이 아니면서 미리 설정된 값을 가지면 부호 단어를 구성하고 있는 비트들 중에 잉여 비트를 포함하여 절반인 비트들을 니블 반전하고, 니블 반전된 부호 단어의 디스패리티가 0이 아니면서 니블 반전된 부호 단어의 잉여 비트가 0 이면 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호한다. 반면에, 부호 단어의 디스패리티가 0 이 아니면서 미리 설정된 값을 가지면 니블 반전하고 니블 반전된 부호 단어의 디스패리티가 0 이 아니면서 니블 반전된 부호 단어의 잉여 비트가 1이면 블록 반전된 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호한다. 또, 상기 부호 단어의 디스패리티가 0이 아니면서 미리 설정된 값을 가지면 니블 반전하고, 니블 반전된 부호 단어의 디스패리티가 0이면서 동기 또는 대역내 신호(또는 특수) 부호 단어이면 니블 반전시키고, 그 니블 반전된 부호 단어의 잉여 비트가 1이면 블록 반전된 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 동시에 대역내 신호(또는 특수) 문자 신호를 나타내고, 니블 반전된 부호 단어의 잉여 비트가 0이면 니블 반전된 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 동시에 대역내 신호(또는 특수) 문자 신호를 나타낸다. 또한 상기 부호 단어의 디스패리티가 0이 아니면서 미리 설정된 값을 가지면 니블 반전하고, 니블 반전된 부호 단어의 디스패리티가 0 이면서 비트 조작된 부호 단어이면 조작한 비트들을 찾아내어 복구한 후 니블 반전시키고, 복구 및 니블 반전된 부호 단어의 잉여 비트가 1이면 블록 반전된 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호하고, 니블 반전된 부호 단어의 잉여 비트가 0이면 복구 및 니블 반전된 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호한다. 또, 부호 단어 열에서 미리 설정한 프레임 동기 패턴이 검출되어도 상기 조건 및 방법에 맞추어 복호하여 동기 문자를 복호해낸다. 또한, 실행 디지털 합(Running Digital Sum)이 미리 설정된 값을 넘거나 부호 단어의 디스패리티가 미리 설정된 값을 넘으면 부호 단어가 부호 위반(violation)이라는 것을 검출한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하면 다음과 같다.
설명에 앞서서, 본 발명의 부호에 대한 부호화 방법 및 복호화 방법은 원시 데이터 비트 수에 제한을 받지는 않지만 원시 데이터 비트 수가 많아지면, 디스패리티(disparity), 실행 디지털 합(RDS), 실행 길이(run length)등의 부호 파라미터 성능이 떨어진다(degrade). 본 발명의 구성 및 작용에 대해서 이해를 쉽게 하고, 널리 사용되는 바이트(8 비트) 단위 응용에 쉽게 지원할 수 있도록 원시 데이터가 9비트로 되어 있는 일 예를 들어 NIBI 부호에 대해서 설명하겠다.
먼저, 본 발명의 니블 반전 및 블록 반전(NIBI) 부호화 방법을 도 1a, 1b, 1c의 흐름도를 참조하여 설명한다.
원시 데이터(source data)는 9 비트 문자(character)이고 부호화된(coded) 부호 단어는 10 비트 블록이다. b(8:0)(여기서, b(8:0)은 b8, b7, b6, b5, b4, b3, b2, b2, b1, b0을 의미)으로 구성된 문자에 NII(Nibble Inversion Indication: 니블 반전표시) 비트를 문자의 최하위 비트(LSB) 다음 위치에 추가하여 10 비트의 사전 부호 (pre-code)를 생성한다(101). 즉, b8, b7, b6, b5, b4, b3, b2, b1, b0, NII (NII=0)로 구성되는 사전 부호를 생성하는데, 여기서 b8이 최상위 비트(MSB)이고, NII는 새로운 최하위 비트이다. 홀수 비트 니블(odd bit nibble)은 b7, b5, b3, b1, NII이고, 짝수 비트 니블(even nibble)은 b8, b6, b4, b2, b0이다. 홀수 비트 니블 반전 (odd bit nibble inversion)은 홀수 비트 니블에 대해서 보수(complement)를 취한 것으로 b7, b5, b3, b1, NII를 생성하는 것을 의미하고, 여기서 b7은 b7의 보수이다. 부호 단어가 c(9:0)이면, 블록 반전(block inversion)은 부호 단어의 보수인 c(9:0)이다. NIBI 부호화는 크게 4가지 유형(type)으로 수행된다.
디스패리티(disparity) 계산의 편이성과 하드웨어 구현의 간단성을 위해, 사전 부호의 홀수 비트 니블 디스패리티(odd bit nibble disparity; Dpco)와 짝수 비트 니블 디스패리티(even nibble disparity; Dpce)를 각각 계산하고, 홀수 비트 니블 디스패리티와 짝수 비트 니블 디스패리티를 더해서 사전 부호의 디스패리티(Dpc=Dpco+Dpce)를 계산한다(102).
사전 부호의 홀수 비트 니블을 반전한 것에 대한 디스패리티(Dni) 계산은 이미 계산된 짝수 비트 니블 디스패리티(Dpce)에 새로이 계산한 반전된 홀수 비트 니블에 대한 디스패리티(Dnpco)를 더하면 된다. NIBI 부호는 부호 단어의 디스패리티가 0 이 아니면, 그 부호 단어는 보수 부호 단어 판(version)을 갖는다. 보수 부호 단어는 부호 단어를 블록 반전하여 생성한다. NIBI 부호화 유형(type)에 따른 부호 화 방법은 아래와 같다.
먼저, 유형 1A(Type 1A)에 대해서 살펴보면, Dpc=0 이고(103) 대역내 신호 또는 특수문자가 아니면(105), 사전 부호를 그대로 부호 단어(Bpc(t))(106)로 생성한다. 유형 1B(Type 1B)는 후술한다.
한편, 이에 도시된 바와 같이, 부호 단어의 디스패리티(Dni)가 0이 아니면 RDS에 따라 부호 단어를 선택할 것인지 보수 부호 단어를 선택할 것인지를 정하게 된다(108b, 108c). 이를 설명하기에 앞서서, 간단한 용어의 정의를 설명하면, 먼저 t인 순간에 RDS를 RDS(t)라고 하고, 그 순간의 디스패리티 부호를 표시하는 레지스터(register)를 DR(t)라고 하고, t+1인 순간에 RDS를 RDS(t+1)이라고 하고, 그 순간의 디스패리티 부호를 표시하는 레지스터의 값을 DR(t+1)라고 하면, 보수 부호 단어를 갖는 부호 단어에 대한 부호화 규칙은 다음과 같다.
즉, RDS(t)>0이면, t+1인 순간에 음수 디스패리티를 가진 부호 단어를 선택한다(108b, 108c).
RDS(t)<0이면, t+1인 순간에 양수 디스패리티를 가진 부호 단어를 선택한다(108b, 108c).
RDS(t)=0이고 DR(t)=1(t인 순간에 디스패리티가 양수 값을 가짐)이면, t+1인 순간에 음수 디스패리티를 가진 부호 단어를 선택한다(108b, 108c).
RDS(t)=0이고 R(t)=0(t인 순간에 디스패리티가 음수 값을 가짐)이면, t+1인 순간에 양수 디스패리티를 가진 부호 단어를 선택한다(108b, 108c).
따라서, 상기와 같은 경우에 RDS는 +/-4까지만 도달한다.
이와 같은 규칙에 따른 유형 2(Type 2)에 대해서 살펴보면, Dpc≠0 이고, Dni=0 또는 +/-2 또는 +/-4 이면, 니블 반전된 사전 부호를 부호 단어로 생성하고, Dni≠0 이면 블록 반전된(108d) 보수 부호 단어 판(version)도 생성한다.
이러한 유형 2에 대해서 구체적으로 살펴보면 다음과 같다.
상기에서 Dpc≠0(103) 또는 대역내 신호 또는 특수문자이면(105) 홀수 비트 니블을 반전(104)한다. 그 홀수 비트 니블 반전(104)후, Dni= 0이면(107) 홀수 비트 니블 반전된 사전 부호(BNI(t))를 부호 단어로 생성한다(108a).
먼저, Dni 가 +2/+4 일 경우(107), RDS(t)>0 이거나, RDS=0 및 DR(t-1)=1 이면 DR(t)=0(여기서, '0'은 t인 순간에 디스패리티가 음수값을 가짐을 의미)이 되므로, 부호 단어를 블록 반전한(BBI(t)=BNI(t))(108e) 보수 부호 단어 판(BBI(t))(108f)을 생성한다. 또한 이 경우 RDS(t)<0 이거나, RDS=0 및 DR(t-1)=0이면 DR(t)=1 이 되므로, 홀수 비트 니블 반전되고(104) 조작된 사전부호 단어(120)를 이용해 부호 단어(BNI(t))를 생성한다(108d). 상기 108f 단계와 108d 단계를 수행한 후, RDS를 재 계산한다(108g).
한편, Dni 가 -2/-4 일 경우(107), RDS(t)>0 이거나, RDS=0 및 DR(t-1)=1 (여기서, '1'은 t인 순간에 디스패리티가 양수값을 가짐을 의미)이면 DR(t)=0 이 되므로, 부호 단어(BNI(t))를 생성한다(108d). 또한 이 경우 RDS(t)<0 이거나, RDS=0 및 DR(t-1)=0 이면 DR(t)=1 이 되므로, 부호 단어를 블록 반전한(108e) 보수 부호 단어 판(108f)을 생성한다. 상기 108f 단계와 108d 단계를 수행한 후, RDS를 재 계산한다(108g).
다음으로, 유형 3A, 3B, 3C(Type 3A, 3B, 3C)에 대해서 살펴보면, 상기에서 Dpc≠0(103) 및 Dni = +/-6 일 경우(107), 상기에서 홀수 비트 니블 반전된(104) 사전 부호의 일부 비트를 반전시켜(109c, 109d, 109e) 조작된(manipulated) 사전 부호(BNI(t))를 생성한다(120). 이 때의 비트 조작 규칙은 조작된 사전 부호의 디스패리티가 0 이 되는 동시에, 조작된 사전 부호의 홀수 비트 니블 반전시킨 것의 디스패리티가 +/- 2가 되도록 한다. 니블 반전되고(104) 조작된 사전 부호 단어(120)를 이용하여 상술한 바와 같이 부호 단어를 생성하고(108d) 그 부호 단어를 블록 반전한(108e) 보수 부호 단어 판(108f)도 생성(Type 3A, Type 3B 및 Type 3C).
이러한 유형 3A, 3B, 3C에 대해 구체적으로 살펴보면 다음과 같다.
먼저, 유형 3A 을 설명하면, Dpc≠0 및 Dni=+/-6 및 Dpco=-5(109a) 및 b2=b0=0 (여기서, b2=b0=0는 b2≠0 또는 b0≠0와 같음)이면(109b), 홀수 비트 니블 반전된(104) 사전 부호의 b7 및 b3 비트를 각각 반전시켜(109c) 니블 반전된 사전 부호의 비트를 조작한다(120)(즉, 사전 부호(BNI(t))를 재정의 한다). 그리고나서, 상술한 바와 같이, 니블 반전되고 조작된 사전 부호를 이용하여 부호 단어를 생성하고(108d), 그 부호 단어에 대해 블록 반전된(108e) 보수 부호 단어 판(108f)도 생성 한다(Type 3A).
다음으로, 유형 3B를 설명하면, Dpc≠0 및 Dni=+/-6 및 Dpco≠-5 가 아니면(109a), 홀수 비트 니블 반전된(104) 사전 부호의 b2 및 b0 비트를 각각 반전시켜(109d) 니블 반전된 사전 부호의 비트를 조작한다(120)(즉, 사전 부호(BNI(t))를 재정의 한다). 그리고 나서, 상술한 유형 2에서와 같이 니블 반전되고 조작된 사전 부호를 이용하여 부호 단어를 생성하고(108d), 그 부호 단어에 대해 블록 반전된(108e) 보수 부호 단어 판(108f)도 생성한다(Type 3B).
그리고, 유형 3C를 설명하면, Dpc≠0 및 Dni=+/-6 및 Dpco=-5(109a) 및 b2=b0=0(109b)이면, 홀수 비트 니블 반전된(104) 사전 부호의 b5, b4, b3 및 b2 비트를 각각 반전시켜(109e) 니블 반전된 사전 부호의 비트를 조작한다(120)(즉, 사전 부호(BNI(t))를 재정의 한다). 그리고나서 상술한 유형 2에서와 같이 니블 반전되고 조작된 사전 부호를 이용하여 부호 단어를 생성하고(108d), 그 부호 단어에 대해 블록 반전된 보수 부호 단어 판(108f)도 생성한다(Type 3C).
한편, 유형 4A 및 4B에 대해서 살펴보면, Dpc≠0 및 Dni=+/-8이면(111a), 홀수 비트 니블 반전된 사전 부호의 일부 비트를 반전시켜(111d, 111e) 조작된 (manipulated) 사전 부호를 생성한다(120). 이 때의 비트 조작 규칙은 조작된 사전 부호의 디스패리티가 0이 되는 동시에 조작된 사전 부호를 홀수 비트 니블 반전시킨 것의 디스패리티가 +/-2 가 되도록 하고 상기 Type 3A, Type 3B 및 Type 3C와 중첩되지 않도록 한다. 니블 반전되고(104) 조작된 사전 부호(120)를 이용하여 부호 단어를 생성하고(108d), 그 부호 단어를 블록 반전한(108e) 보수 부호 단어 판 (108f)도 생성한다(Type 4A, Type 4B).
이러한 유형 4A 및 4B에 대해 구체적으로 살펴보면 다음과 같다.
먼저, 유형 4A를 설명하면, Dpc≠0 및 Dni=+/-8 및 Dpco=-5(111a) 및 b4=b2=1(111c)인 경우와 또는 Dpc≠0 및 Dni=+/-8 및 Dpco=-5(111a) 및 b5=b3=b1 (111b)인 경우이면, 상기 홀수 비트 니블 반전된(104) 사전 부호의 b5, b4, b3, b2 및 b1을 각각 반전시켜(111d) 니블 반전된 사전 부호의 비트를 조작한다(120). 그리고 나서, 상술한 유형 2에서와 같이, 니블 반전되고 조작된 사전 부호를 이용하여 부호 단어를 생성하고(108d), 그 부호 단어에 대해 블록 반전된(108e) 보수 부호 단어 판 (108f)도 생성한다(Type 4A).
다음으로, 유형 4B에 대해서 설명하면, Dpc≠0 및 Dni=+/-8 및 Dpco=-5 (111a) 및 b4=b2=1(111c)인 경우와 또는 Dpc≠0 및 Dni=+/-8 및 Dpco≠-5(111a) 및 b5=b3=b1(111b)인 경우이면, 홀수 비트 니블 반전된(104) 사전 부호의 b6, b5, b4, b3 및 b2 비트를 각각 반전시켜(111e) 니블 반전된 사전 부호의 비트를 조작한다(120). 그리고나서, 니블 반전되고 조작된 사전 부호를 이용하여 부호 단어를 생성하고(108d), 그 부호 단어에 대해 블록 반전된(108e) 보수 부호 단어 판(108f)도 생성 (Type 4B).
한편, 상기 유형 1B(Type 1B)에 대해서 상술한 각 유형을 참조로 하여 설명한다.
Dpc=0 및 대역내 신호 또는 특수(in-band signaling or special) 문자이면(103, 105), 상기 Type 3A, Type 3B, Type 3C, Type 4A 및 Type 4B의 부호 단어들을 생성한 조작된 사전 부호와 중첩되지 않는 사전 부호에 대해서 홀수 비트 니블을 반전하여(104) 대역내 신호(또는 특수) 부호 단어를 생성하고 블록 반전된 (108e) 보수 부호 단어 판(108f)도 생성한다(Type 1B).
이와 같이 본 발명의 실시예에서는 9 비트 문자 원시 데이터에 대해서 512 가지의 문자가 존재할 수 있다. 즉, 상기 도 1a, 1b, 1c에서 설명된 NIBI 부호화 방법에 의하여 생성된 부호 단어를 부호화 유형별로 분류하면 다음과 같다.
Type 1A의 경우가 126 개의 부호 단어, Type 1B의 경우가 20 개의 대역내 신호 또는 특수 부호 단어, Type 2의 경우가 356 개의 부호 단어, Type 3A의 경우가 9 개의 부호 단어, Type 3B의 경우가 10 개의 부호 단어, Type 3C의 경우가 1 개의 부호 단어, Type 4A의 경우가 6 개의 부호 단어, Type 4B의 경우가 4 개의 부호 단어이다. 그리고, 280 개의 보수 부호 단어 판이 있다. 즉, 규칙성을 갖는 유형이 Type 1A, Type 2인데, 이 경우가 482 개이고(94%), 불규칙한 유형이 Type 3A, Type 3B, Type 3C, Type 4A 및 Type 4B인데 이 경우는 30개에 불과하다(6%). 또한, 원시 데이터의 비트 수가 바뀌어도 이 비율은 크게 변하지 않는다. 따라서 원시 데이터의 비트 수가 바뀌면 약 10 % 이내 부호 단어에 대해서 규칙을 다시 찾으면 된다.
한편, 동기 부호 단어인 경우에는 상기 부호 규칙을 따르지 않고, 아래와 같은 별도의 동기 부호 규칙을 따른다.
NIBI 부호는 프레임 동기 또는 블록 동기를 위해서 동기 문자 또는 부호 단어를 제공한다. 동기 부호 단어 생성은 도 1에 나타내지 않았으나 NIBI 부호화 법칙에서 부호 단어의 디스패리티가 0이 아닌 경우에 대한 특별한 경우이다. 동기 부호 단어는 직렬 비트 열(serial bit stream)에서 유일한(unique) 비트 열 패턴을 제공한다. 불행하게도 NIBI 부호 단어에서 유일한 패턴은 단일 부호 단어에서 발생하지 않고 연속된 두 부호 단어에서 발생할 수 있다. 이 부호 단어의 조합(combination)은 컴퓨터를 이용한 패턴 일치(pattern matching) 프로그램으로 쉽게 구할 수 있다. 동기 부호 단어 처리를 쉽게 하기 위해서, 컴퓨터로 찾은 여러 개의 유일한 패턴들 중에서 대역내 신호 또는 특수 부호 단어와 임의의 부호 단어를 조합한 패턴을 선택하는 것이 좋다. 동기 부호 단어에 대한 부호화 규칙은 다음과 같다.
t 순간에 선택된 동기 대역내 신호(또는 특수) 부호 단어(synchronization in-band signaling/special code word)의 디스패리티가 +2이면, t+1순간에 선택되는 동기 부호 단어의 디스패리티는 +4이다.
t 순간에 선택된 동기 대역내 신호(또는 특수) 부호 단어의 디스패리티가 -2이면, t+1 순간에 선택되는 동기 부호 단어의 디스 패리티는 - 4이다.
상기와 같은 NIBI 부호 법칙에 따라 9 비트 원시 데이터가 부호 단어가 되었을 때에 RDS는 최대 6 및 최소 -6이며(동기 부호 단어를 사용하지 않으면 최대 4 및 최소 -4), 부호 단어 디스패리티는 최대 4이고, 최대 run 1's 또는 0's length는 12이고, 디지털 합 변량(DSV)은 12(동기 부호 단어를 사용하지 않으면 8)이다. 20개의 대역내 신호들을 제공하고, 여러 개의 유일한 패턴 중에 7종류의 유일한 동기 부호 단어를 제공한다. 아래 표 1에 9비트 원시 데이터에 대한 NIBI 부호 단어와 동기 부호 단어를 나타내었다.
이하, 본 발명의 니블 반전 및 블록 반전(NIBI) 복호화 방법을 도 2a, 2b를 참조하여 설명한다. 본 복호화 방법에서도 역시 본 발명의 구성 및 작용에 대해서 이해를 쉽게 하고, 널리 사용되는 바이트(8 비트) 단위 응용에 쉽게 지원할 수 있도록 원시 데이터가 9비트로 되어 있는 경우의 NIBI 복호화 방법에 대해서 설명한다.
NIBI 복호화 방법은 상술한 NIBI 부호화 방법의 역(reverse)이다. 부호 단어의 단위인 블록은 c8, c7, c6, c5, c4, c3, c2, c1, c0, NII로 구성된다. 부호 단어는 홀수 비트 니블(odd bit nibble)과 짝수 비트 니블(even bit nibble)로 나누어지는데 홀수 비트 니블은 c7, c5, c3, c1, NII이고, 짝수 비트 니블은 c8, c6, c4, c2, c0이다. 홀수 비트 니블 반전은 홀수 비트 니블의 비트들을 보수 취한 것으로 c7, c5, c3, c1, NII를 생성하는 것을 의미하고, 여기서, c7은 c7의 보수이다. 부호 단어가 c(9:0)이면, 블록 반전된 부호 단어는 부호 단어의 보수인 c(9:0)이다.
상기 도 1의 NIBI 부호화 방법에서와 같이 디스패리티 계산의 편이성과 하드웨어 구현의 간단성을 위해, 부호 단어의 홀수 비트 니블 디스패리티(odd bit nibble disparity; Dcwo)와 짝수 비트 니블 디스패리티(even bit nibble disparity; Dcwe)를 각각 계산하고, 그 홀수 비트 니블 디스패리티와 짝수 비트 니블 디스패리티를 더해서(Dcwo + Dcwe) 부호 단어의 디스패리티(Dcw)를 계산한다(201). 임의의 부호 단어에 대해서 부호 단어의 홀수 비트 니블을 반전시킨(207) 부호 단어에 대한 디스패리티(Dni) 계산은 이미 계산된 그 부호 단어의 짝수 비트 니블 디스패리티(Dcwe)에 새로이 계산한 홀수 니블 비트가 반전된 홀수 비트 니블에 대한 디스패리티를 더하면 된다. NIBI 부호 유형에 따른 복호화 방법은 다음과 같다.
먼저, 유형 1A에 따른 복호화 방법에 대해 살펴보면, Dcw=0 및 NII=0이면(202, 203), 그 부호 단어에서 NII 비트를 제외한 나머지 비트들을 그대로 복호된 문자(character)(C(8 : 0)로 복구한다(203a)(Type 1A).
다음으로, 상기 유형 2에 따른 복호화 방법에 대해 살펴보면, Dcw=+/-2 또는 Dcw=+/-4(202) 및 |RDS|≤6 (204) 및 Dni≠0이고(208) NII=0이면(209) 상기 홀수 비트 니블 반전된 부호 단어에서 NII 비트를 제외한 나머지 비트들을 그대로 복호된 문자로 복구하고(210), NII=1이면(209) 니블 반전되고 블록 반전된(211) 부호 단어에서 NII 비트를 제외한 나머지 비트들로 문자를 복구한다(212)(Type 2).
상기 유형 3A, 3B, 3C, 4A, 4B에 따른 복호화 방법에 대해 요약해보면, Dcw=+/-2 및 Dni=0이면(208), 상기 홀수 비트 니블 반전된(207) 부호 단어를 비트 단위로 비교하여(208a) 부호 단어가 Type 3A, Type 3B, Type 3C, Type 4A 및 Type 4B 의 부호 유형 중에 어느 유형인지를 구분하여 그 유형에 따라 해당 비트들을 반전하여(208d, 208e, 208f 및 208i) 니블 반전된 부호 단어를 조작하고 니블 반전되고 비트 조작된(bit-manipulated) 부호 단어(208a)를 생성한 후에 상기 Type 2를 다시 수행하여 문자를 복구한다(Type 3A, Type 3B, Type 3C, Type 4A 및 Type 4B). 이러한 유형들에 대해서 보다 구체적으로 살펴보면 다음과 같다.
먼저, 유형 3A에 따른 복호화 방법은, Dcw=+/-2 및 Dni=0 및 c7=c5=c3=c1=NII 및 c8=c6=c4(여기서, c8=c6=c4는 c8≠c6 또는 c6≠c4 또는 c8≠c4)(208c)이면, 상기 홀수 비트 니블 반전된 부호 단어(207)의 c7 및 c3을 각각 반전하여(208d) 비트 조작되고 니블 반전된 부호 단어를 생성하고(208a) 비트 조작되고 니블 반전된 부호 단어의 NII=0이면(209) 비트 조작되고 니블 반전된 부호 단어에서 NII 비트를 제외한 나머지 비트들로 문자 복구하고(210) NII=1이면 비트 조작되고 니블 반전된 부호 단어를 블록 반전시키고(211) 그 블록에서 NII 비트를 제외한 비트들로 문자를 복구한다(212)(Type 3A).
유형 3B에 따른 복호화 방법은, Dcw=+/-2 및 Dni=0 및 c7=c5=c3=c1=NII 및 c8=c6=c4(208c)인 경우이거나 또는 Dcw=+/-2 및 Dni=0 및 c8=c6=c4=c2=c0인 경우이면, 홀수 비트 니블 반전된 부호 단어의 c2 및 c0을 각각 반전하여(208e) 비트 조작되고 니블 반전된 부호 단어를 생성하고(208a) 비트 조작되고 니블 반전된 부호 단어의 NII=0이면(209) 비트 조작되고 니블 반전된 부호 단어에서 NII 비트를 제외한 나머지 비트들로 문자를 복구하고(210), NII=1이면 비트 조작되고 니블 반전된 부호 단어를 블록 반전시키고(211) 그 블록에서 NII 비트를 제외한 비트들로 문자를 복구한다(212)(Type 3B).
유형 3C에 따른 복호화 방법은, Dcw=+/-2 및 Dni=0 및 c7=c5=c3=c2=c1=NII 및 c2=c1=c0=NII인 경우이거나(208g) 또는 Dcw=+/-2 및 Dni=0 및 c7=c6=c5=c3=c1=NII 및 c2=c1=c0=NII(208g)인 경우이면, 홀수 비트 니블 반전된 부호 단어의 c5, c4, c3 및 c2를 각각 반전하여(208f) 비트 조작되고 니블 반전된 부호 단어를 생성한다(208a). 그리고나서, 비트 조작되고 니블 반전된 부호 단어의 NII=0이면(209) 비트 조작되고 니블 반전된 부호 단어에서 NII 비트를 제외한 나머지 비트들로 문자를 복구하고(210), NII=1이면 비트 조작되고 니블 반전된 부호 단어를 블록 반전시키고(211) 그 블록에서 NII 비트를 제외한 비트들로 문자를 복구한다(212)(Type 3C).
유형 4A에 따른 복호화 방법은, Dcw=+/-2 및 Dni=0 및 c7=c5=c3=c2=c1=NII인 경우이거나 또는 Dcw=+/-2 및 Dni=0 및 c8=c7=c6=c4=c2=c0이면, 홀수 비트 니블 반전된 부호 단어의 c5, c4, c3, c2 및 c1을 각각 반전하여(208h) 비트 조작되고 니블 반전된 부호 단어를 생성하고(208a) 비트 조작되고 니블 반전된 부호 단어의 NII=0이면(209) 비트 조작되고 니블 반전된 부호 단어에서 NII 비트를 제외한 나머지 비트들로 문자를 복구하고(210), NII=1이면 비트 조작되고 니블 반전된 부호 단어를 블록 반전시키고(211) 그 블록에서 NII 비트를 제외한 비트들로 문자를 복구한다(212)(Type 4A).
그리고, 유형 4B에 따른 복호화 방법은, Dcw=+/-2 및 Dni=0 및 c7=c5=c3=c2=c1=NII 이면서 c2=c1=c0=NII 아닌 경우이거나(208g) 또는 Dcw=+/-2 및 Dni=0 및 c7=c6=c5=c3=c1=NII 이면서 c2=c1=c0=NII 아닌 경우이거나(208g) 또는 Dcw=+/-2 및 Dni=0 및 c8=c6=c4=c2=c1=c0이면, 홀수 비트 니블 반전된 부호 단어의 c6, c5, c4, c3 및 c2를 각각 반전하여(208i) 비트 조작되고 니블 반전된 부호 단어의 NII=0이면(209) 비트 조작되고 니블 반전된 부호 단어에서 NII 비트를 제외한 나머지 비트들로 문자 복구하고(210), NII=1이면 비트 조작되고 니블 반전된 부호 단어를 블록 반전시키고(211) 그 블록에서 NII 비트를 제외한 비트들로 문자를 복구한다(212)(Type 4B).
유형 1B에 따른 복호화 방법은, Dcw=+/-2 및 Dni=0 및 c3=NII 및 c8=c4=c0인 경우이거나 또는 Dcw=+/-2 및 Dni=0 및 c3=NII 및 c8=c2인 경우이면, 대역내 신호 또는 특수 문자 검출을 표시하고(208j), 니블 반전된 부호 단어의 NII=0이면(209) 니블 반전된 부호 단어에서 NII 비트를 제외한 나머지 비트들로 문자를 복구하고(210), NII=1이면 니블 반전된 부호 단어를 블록 반전시키고(211) 그 블록에서 NII 비트를 제외한 비트들로 문자를 복구한다(212)(Type 1B).
위에서 설명되지 않은 Dcw=+/-6 또는 Dcw=+/-8 또는 Dcw=+/-10이면 부호 위반(violation)이고(205), |RDS|>6이면(204) 부호 위반(206)이다.
한편, 동기 부호 단어는 직렬 비트 열 또는 병렬 블록 열에서 유일한 동기 패턴을 검출하여 분리해낸다.
이하, 상기 NIBI 부호화 방법과 NIBI 복호화 방법을 수행하기 위한 부호기 및 복호기에 대해서 설명한다.
도 1 및 도 2의 NIBI에 대한 부호화 및 복호화 방법에서 본 발명의 구현이 매우 복잡할 것으로 보이지만, 실제로는 NIBI 부호 및 복호 법칙에서 각각 대칭성과 규칙성이 있어 구현이 간단해진다. NIBI 부호기 및 복호기는 원시 데이터를 구성하는 비트 수에 제한을 받지는 않지만 원시 데이터의 비트 수가 많아지면, 모든 부호기 및 복호기에서와 마찬가지로, 하드웨어 구현이 복잡해진다. 본 발명의 구성 및 작용에 대해서 이해를 쉽게 하고, 널리 사용되는 바이트(8 비트) 단위 응용에 쉽게 지원할 수 있도록 원시 데이터가 9비트 문자로 되어 있는 경우에 대한 NIBI 부호기 및 복호기에 대해서 설명한다.
도 3을 참조하여 NIBI 부호기의 구성 및 작용에 대해서 설명한다.
NIBI 부호기는 여러 가지 구조로 구성이 가능하나 하드웨어를 간단하게 하면서도 구현의 규칙성과 대칭성을 유지하려면 도 3과 같이 구성되어 질 수 있다.
9 비트 문자 b(8:0)의 최하위 비트 다음 위치에 NII 비트(310)를 추가하여 만든 10 비트의 사전 부호는 디스패리티 계산기(disparity calculator)(300)로 입력된다. 그 디스패리티 계산기(300)는 홀수 비트 니블 합산기(odd bit nibble summing up) (301), 짝수 비트 니블 합산기(even bit nibble summing up)(302), 보수 니블 합산기 (complement nibble summing up)(303), 3 비트 덧셈기(3 bit adder)(304), 부호 유형 판독 및 비트 사상 제어기(encoding type decoder and bit map controller)(306)로 구성되어 있다.
홀수 비트 니블 합산기(301)는 홀수 비트 니블의 1(ones)들의 수를 합산 (sum up)한다. 짝수 비트 니블 합산기(302)는 짝수 비트 니블의 1(ones)들의 수를 합산한다. 보수 니블 합산기(303)는 홀수 비트 니블의 보수에 대한 1의 수를 계산할 때 홀수 비트 니블을 반전한 홀수 비트들의 1(ones)들의 수를 새로이 계산하지 않고 이미 계산된 홀수 비트 니블 합산기의 결과값을 보상하여 계산한다. 3 비트 덧셈기 (304, 305)는 통상적인 3 비트 전 가산기(full adder)이다. 제1의 3 비트 덧셈기(304)는 홀수 비트 니블 합산기(301)의 결과(Dpco)와 짝수 비트 니블 합산기(302)의 결과 (Dpce)를 더해서 사전 부호의 디스패리티(Dpc)를 계산해낸다. 제2의 3비트 덧셈기 (305)는 보수 니블 합산기(303)의 결과(Dnpco)와 짝수 비트 니블 합산기(302)의 결과 (Dpce)를 더해서 홀수 비트 니블 반전된 사전 부호의 디스패리티(Dni)를 계산해낸다. 부호 유형 판독 및 비트 사상 제어기(306)는 사전 부호의 디스패리티(Dpc)와, 니블 반전된 사전 부호의 디스패리티(Dni)와, 대역내 신호(Sig-in), 디스패리티 레지스터, RDS(320) 및 문자에 따라 상기 NIBI 부호 방법을 따르는 부호 유형을 판독하여 사전 부호의 비트들을 조작하도록 제어 신호를 생성한다.
RDS(실행 디지털 합) 계산기(320)는 블록 단위로 생성되는 개별 부호 단어의 디스패리티를 각각 누적(accumulating) 합산하는 기능을 수행하며, 부호 단어의 디스패리티가 0이 아닌 경우 부호 단어 또는 보수 부호 단어를 선택하기 위한 RDS의 값을 출력한다.
비트 조작기(bit manipulator)(330)는 부호 유형 판독 및 비트 사상 제어기 (306)의 제어 신호에 따라 NIBI 부호 유형을 선택하여 사전 부호의 비트를 조작하여 부호 단어 또는 보수 부호 단어를 생성한다.
다음으로, 도 4를 참조하여 NIBI 복호기의 구성 및 작용에 대해서 설명한다. NIBI 복호기는 NIBI 부호기와 마찬가지로 여러 가지 구조로 구성이 가능하나 하드웨어를 간단하게 하면서도 구현의 규칙성과 대칭성을 유지하려면 도 4와 같이 구성되어 질 수 있다.
프레임 동기 또는 블록 동기는 본 발명의 NIBI 부호 단어 중에 동기 부호 문자들을 사용한 유일 패턴 검출 방식에 의해서 수행된다. 따라서, NIBI 복호기로 입력되는 부호 단어는 블록 동기가 되어 있다고 가정한다.
블록 동기된 부호 단어(c(8:0), NII)는 디스패리티 계산기(400)로 입력된다. 디스패리티 계산기(400)는 홀수 비트 니블 합산기(401), 짝수 비트 니블 합산기(402), 보수 니블 합산기(403), 3 비트 덧셈기(404, 405), 복호 유형 판독 및 비트 사상 제어기(406)로 구성되어 있다.
홀수 비트 니블 합산기(401)는 부호 단어의 홀수 비트 니블의 1(ones)들의 수를 합산(sum up)한다. 짝수 비트 니블 합산기(402)는 부호 단어의 짝수 비트 니블의 1(ones)들의 수를 합산한다. 보수 니블 합산기(403)는 홀수 비트 니블의 보수에 대한 1(ones)들의 수를 계산할 때 홀수 비트 니블을 반전한 홀수 비트들의 1(ones)들의 수를 새로이 계산하지 않고 이미 계산된 홀수 비트 니블 합산기의 결과값을 보상하여 계산한다. 3 비트 덧셈기(404, 405)는 통상적인 3 비트 전 가산기이다. 제 1의 3 비트 덧셈기(404)는 홀수 비트 니블 합산기(401)의 결과(Dpco)와 짝수 비트 니블 합산기(402)의 결과(Dcwe)를 더해서 부호 단어의 디스패리티(Dcw)를 계산해낸다. 제2의 3비트 덧셈기(405)는 보수 니블 합산기(403)의 결과(Dncwo)와 짝수 비트 니블 합산기(402)의 결과(Dcwe)를 더해서 홀수 비트 니블 반전된 부호 단어의 디스패리티(Dni)를 계산해낸다. 복호 유형 판독 및 비트 사상 제어기(405)는 부호 단어의 디스패리티(Dcw)와, 니블 반전된 부호 단어의 디스패리티(Dni)와 그리고 부호 단어의 비트 패턴에 따라 NIBI 복호 방법을 따르는 복호 유형을 판독하여 부호 단어의 비트들을 조작하도록 하는 제어 신호를 생성한다. 그 판독된 복호 유형이 Type 1B인 경우는 대역내 신호(또는 특수) 부호 단어이므로 이를 알리는 신호(SIG_OUT)를 복호된 문자와 별도로 출력한다. 또한, 부호 단어의 디스패리티(Dcw)와 RDS를 감시하여 |Dcw|>4 또는 |RDS|>6이면 부호 위반(Code Violation)신호를 출력한다.
RDS 계산기(420)는 블록 단위로 생성되는 개별 부호 단어의 디스패리티를 각각 누적 합산하는 기능을 수행한다. NIBI 복호 방법에 따라 |RDS|>6이면, 부호 단어 열에서 부호 위반이 있다는 것을 나타낸다.
비트 조작기(430)는 복호 유형 판독 및 비트 사상 제어기(405)의 제어에 따라 NIBI 복호 유형을 선택하여 부호 단어의 비트를 조작하여 본래의 문자를 복구한다.
상기에서도 기술하였지만, 본 발명의 부호에 대한 부호 방법 및 복호 방법은 원시 데이터의 홀수 비트 수에 제한을 받지는 않는다. 비록, 본 발명의 구성 및 작용에서, 본 발명에 대한 이해 및 응용을 쉽게 할 수 있도록 원시 데이터가 9비트로 되어 있는 경우에 대해서 기술하였지만, 임의의 홀수 비트로 구성된 원시 데이터에 대한 NIBI 부호 방법은, 비트 조작하는 방법에서 비트 배열이 다소 바뀔 수는 있지만, 기본적인 사항에 대한 일반성을 상실하지 않는다. 또한, 본 발명에서 니블은 원시 데이터에 1 비트를 추가한 사전 부호의 절반을 나타내는 것으로, 비트 배열에 역시 무관하다.
이상과 같은 본 발명은 홀수 비트로 구성된 문자를 짝수 비트로 구성된 부호 단어로 부호화 하기 때문에 원시 데이터와 대역외 신호를 함께 전송하는 시스템이나 원시 데이터와 대역외 신호의 문자를 구성하는 비트 합이 8비트 이상이면서 가까운 거리를 전송하는 시스템 및 저장 장치에 응용이 가능하다. 본 발명은 상기와 같은 구성을 사용하여 종래의 전송 및 상호접속에서 사용되는, 특히 클럭 복구가 용이하고 DC 스펙트럼 성분이 없는 선로 부호와 대체할 수 있으며 다음과 같은 특유한 효과를 갖는다.
첫째, 부호화하는데 1 비트의 잉여 비트만을 사용하고,
둘째, 원천 바이트가 8 비트 이외 바이트로 구성되어도 본 발명의 부호 방법의 기본(90% 이상)은 그대로 적용될 수 있으며,
셋째, 다양한 프레임동기 패턴을 제공하고,
넷째, 대역내 및 대역외 신호들을 풍부하게 제공하고,
다섯째, 부호 및 복호 규칙이 대칭성과 반복성을 갖기 때문에 간단하게 하드웨어로 구현될 수 있고,
여섯째, 문자 단위로 부호화 및 복호화가 이루어지기 때문에 낮은 속도에서 처리가 가능하다.

Claims (6)

  1. 전송, 상호 접속 및 저장 장치에서 사용되는 선로 부호를 부호화하는 방법에 있어서,
    n 비트(n은 3이상의 홀수) 원시 데이터에 대해서 1 비트의 잉여 비트를 추가하여 사전 부호(pre-code)를 생성하는 제 1 과정과;
    상기 제 1 과정에서 생성된 사전 부호의 디스패리티(disparity)가 0 이면서 원시 데이타가 대역내 신호(또는 특수문자)가 아니면 사전 부호를 부호 단어로 설정하는 제 2 과정과;
    상기 제 1 과정에서 생성된 사전 부호의 디스패리티가 0 이면서 원시 데이터가 미리 설정된 대역내 신호(또는 특수문자)이면 사전 부호를 구성하고 있는 비트들(이하, '블록')중에 잉여 비트를 포함한 절반 비트들(이하, '니블')을 반전시키고, 그 니블 반전된 사전 부호를 부호 단어로 설정하고 블록 반전된 부호 단어 판(version)인 보수 부호 단어와 부호 단어를 함께 생성하는 제 3 과정과;
    상기 제 1 과정에서 생성된 사전 부호의 디스패리티가 0 이 아니면 사전 부호를 니블 반전시키고, 그 니블 반전된 사전 부호의 디스패리티가 미리 설정된 값 이내이면 니블 반전된 사전 부호를 부호 단어로 설정하고, 이 설정된 부호 단어의 디스패리티가 0 이 아니면 블록 반전된 부호 단어 판인 보수 부호 단어와 부호 단어를 함께 생성하는 제 4 과정과;
    상기 제 1 과정에서 생성된 사전 부호의 디스패리티가 0이 아니면 사전 부호를 니블 반전시키고, 니블 반전된 사전 부호의 디스패리티가 미리 설정된 값 이내가 아니면 사전 부호의 비트들을 조작하되, 그 조작되는 사전 부호의 디스패리티가 0이면서 동시에 조작되고 니블 반전된 사전 부호의 디스패리티가 미리 설정된 값 이내가 되도록 사전 부호의 비트들을 조작하고, 그 조작되고 니블 반전된 사전 부호를 부호 단어로 설정하고, 그 설정된 부호 단어의 디스패리티가 0 이 아니면 블록 반전된 부호 단어 판인 보수 부호 단어와 부호 단어를 함께 생성하는 제 5 과정과;
    상기 원시 데이터에 대한 부호가 보수 부호 단어와 부호 단어로 두 개 존재하는 경우에는 실행 디지털 합(RDS)의 절대값이 작아지는 부호 단어를 선택하는 제 6 과정과; 그리고
    프레임 동기를 위해 상기 부호 단어들을 조합하여 상기 부호단어가 병렬에서 직렬로 변환되었을 때 직렬 비트열에서 유일하게 존재하는 패턴이 나오도록 동기 부호 단어를 생성하는 제 7 과정으로 이루어진 것을 특징으로 하는 니블 반전 및 블록 반전 부호(NIBI)의 부호화 방법.
  2. 전송, 상호 접속 및 저장 장치에서 사용되는 선로 부호를 복호화하는 방법에 있어서,
    부호 단어의 디스패리티가 0 이면서 잉여 비트가 반전되어 있지 않으면 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 1 과정과;
    상기 부호 단어의 디스패리티가 0 이면서 잉여 비트가 반전되어 있으면 부호 단어를 구성하고 있는 비트들중에 잉여비트를 포함해서 절반 비트들(이하,'니블')을 니블 반전하고, 그 니블 반전된 부호 단어의 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 2 과정과;
    상기 부호 단어의 디스패리티가 0이 아니면서 미리 설정된 값을 가지면 부호 단어를 구성하고 있는 비트들 중에 잉여 비트를 포함하여 절반인 비트들을 니블 반전하고, 니블 반전된 부호 단어의 디스패리티가 0이 아니면서 니블 반전된 부호 단어의 잉여 비트가 반전되어 있지 않으면 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 3 과정과;
    상기 부호 단어의 디스패리티가 0 이 아니면서 미리 설정된 값을 가지면 니블 반전하고 니블 반전된 부호 단어의 디스패리티가 0 이 아니면서 니블 반전된 부호 단어의 잉여 비트가 반전되어 있으면 복호단어를 구성하고 있는 비트들(이하, '블록')을 블록 반전하고 그 블록 반전된 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 4 과정과;
    상기 부호 단어의 디스패리티가 0이 아니면서 미리 설정된 값을 가지면 니블 반전하고, 니블 반전된 부호 단어의 디스패리티가 0이면서 동기 또는 대역내 신호(또는 특수) 부호 단어이면 니블 반전시키고, 그 니블 반전된 부호 단어의 잉여 비트가 반전되어 있으면 블록 반전된 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 동시에 대역내 신호(또는 특수) 문자 신호를 나타내고, 니블 반전된 부호 단어의 잉여 비트가 반전되어 있지 않으면 니블 반전된 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 동시에 대역내 신호(또는 특수) 문자 신호를 나타내는 제 5 과정과;
    상기 부호 단어의 디스패리티가 0이 아니면서 미리 설정된 값을 가지면 니블 반전하고, 니블 반전된 부호 단어의 디스패리티가 0 이면서 비트 조작된 부호 단어이면 조작한 비트들을 찾아내어 복구한 후 니블 반전시키고, 복구 및 니블 반전된 부호 단어의 잉여 비트가 반전되어 있으면 블록 반전된 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호하고, 니블 반전된 부호 단어의 잉여 비트가 반전되어 있지 않으면 복구 및 니블 반전된 부호 단어에서 잉여 비트를 제외한 비트들로 원시 데이터를 복호하는 제 6 과정과;
    상기 부호 단어 열에서 미리 설정한 프레임 동기 패턴이 검출되어도 상기 조건 및 과정에 맞추어 복호하여 동기 문자를 복호해내는 제 7 과정과; 및
    실행 디지털 합(RDS)이 미리 설정된 값을 넘거나 부호 단어의 디스패리티가 미리 설정된 값을 넘으면 부호 단어가 부호 위반(violation)으로서 검출하는 제 8 과정으로 이루어진 것을 특징으로 하는 니블 반전 및 블록 반전 부호(NIBI)의 복호화 방법.
  3. 전송, 상호 접속 및 저장 장치에서 사용되는 선로 부호를 부호화하는 장치에 있어서,
    n 비트(n은 3이상의 홀수)의 원시 데이터의 최하위 비트 다음에 니블 반전 표시(NII) 비트가 추가된 사전 부호를 입력받아 그 사전 부호의 디스패리티(Dpc) 값을 계산하고, 홀수 비트 니블이 반전된 사전 부호의 디스패리티(Dni) 값을 계산하고, 상기 계산된 각 디스패리티 값과, 대역내 신호, 디스패리티 부호를 표시하는 레지스터의 값 및 실행 디지털 합(RDS)의 값에 따라 부호 유형을 판독하고, 상기 사전 부호의 비트들을 조작하기 위한 제어신호를 출력하는 디스패리티 계산부와;
    상기 계산된 디스패리티(Dpc) 값이 0이 아닌 경우 부호 단어 또는 보수 부호 단어를 선택하기 위해 상기 계산된 부호 단어의 디스패리티를 블록 단위로 각각 누적 합산한 RDS 값을 출력하는 RDS 계산부와; 및
    상기 디스패리티 계산부의 제어신호에 따라 니블 반전 및 블록 반전(NIBI) 부호 유형을 선택하여 상기 입력되는 사전 부호의 비트를 조작하여 부호 단어 또는 보수 부호 단어를 생성하는 비트 조작부로 구성된 것을 특징으로 하는 니블 반전 및 블록 반전(NIBI) 부호의 부호장치.
  4. 제 3 항에 있어서,
    상기 디스패리티 계산부는,
    상기 입력된 사전 부호에 포함된 홀수 비트 니블의 1 들의 수를 합산하는 홀수 비트 니블 합산기와;
    상기 입력된 사전 부호에 포함된 짝수 비트 니블의 1 들의 수를 합산하는 짝수 비트 니블 합산기와;
    상기 홀수 비트 니블 합산기에서 계산된 결과값을 보상하여 1의 수를 계산하는 보수 니블 합산기와;
    상기 홀수 비트 니블 합산기의 결과(Dpco)와 짝수 비트 니블 합산기의 결과(Dpce)를 더해서 상기 사전 부호의 디스패리티(Dpc)를 계산하는 제 1의 3비트 덧셈기와;
    상기 보수 니블 합산기의 결과(Dnpco)와 짝수 비트 니블 합산기의 결과(Dpce)를 더해서 홀수 비트 니블 반전된 사전 부호의 디스패리티(Dni)를 계산하는 제 2의 3비트 덧셈기와; 및
    상기 사전 부호의 디스패리티(Dpc)와, 니블 반전된 사전 부호의 디스패리티(Dni)와, 대역내 신호(또는 특수문자), 디스패리티 레지스터의 값 및 상기 RDS 계산기에서 출력된 RDS 값에 따라 부호 유형을 판독하여 사전 부호의 비트들을 조작하기 위한 제어신호를 생성하는 부호 유형 판독 및 비트 사상 제어기로 구성된 것을 특징으로 하는 니블 반전 및 블록 반전(NIBI) 부호의 부호장치.
  5. 전송, 상호 접속 및 저장 장치에서 사용되는 선로 부호가 부호화된 니블 반전 및 블록 반전(NIBI) 부호를 복호화하는 장치로서,
    블록 동기된 부호 단어를 입력받아 그 부호 단어의 디스패리티(Dcw)를 계산하고, 니블 반전된 부호 단어의 디스패리티(Dni)를 계산하고, 상기 계산된 각 디스패리티 값과 부호 단어의 비트 패턴에 따라 NIBI 복호 유형을 판독하여 부호 단어의 비트들을 조작하기 위한 제어신호를 생성하는 디스패리티 계산부와;
    상기 계산된 부호 단어의 디스패리티(Dni)를 블록 단위로 각각 누적 합산한 RDS 값을 출력하는 RDS 계산부와; 및
    상기 디스패리티 계산부의 제어신호에 따라 NIBI 복호 유형을 선택하여 부호 단어의 비트를 조작하여 본래의 문자를 복구하는 비트 조작부로 구성된 것을 특징으로 하는 니블 반전 및 블록 반전(NIBI) 부호의 복호장치.
  6. 제 5 항에 있어서,
    상기 디스패리티 계산부는,
    부호 단어의 홀수 비트 니블의 1 들의 수를 합산하는 홀수 비트 니블 합산기와;
    상기 부호 단어의 짝수 비트 니블의 1들의 수를 합산하는 짝수 비트 니블 합산기와;
    상기 계산된 홀수 비트 니블 합산기의 결과값을 보상하여 홀수 비트 니블의 보수에 대한 1 들의 수를 계산하는 보수 니블 합산기와;
    상기 홀수 비트 니블 합산기의 결과(Dpco)와 짝수 비트 니블 합산기의 결과(Dcwe)를 더해서 부호 단어의 디스패리티(Dcw)를 계산하는 제1의 3비트 덧셈기와;
    상기 보수 니블 합산기의 결과(Dncwo)와 짝수 비트 니블 합산기의 결과(Dcwe)를 더해서 홀수 비트 니블 반전된 부호 단어의 디스패리티(Dni)를 계산하는 제 2의 3비트 덧셈기와; 및
    상기 디스패리티(Dcw)(Dni)와 부호 단어의 비트 패턴에 따라 복호 유형을 판독하여 부호 단어의 비트들을 조작하기 위한 제어신호를 생성하고, 상기 판독된 복호 유형이 대역내 신호(또는 특수) 부호 단어일 때를 알리는 신호를 복호된 문자와 별도로 출력하고, 상기 디스패리티(Dcw)와 RDS 값을 감시하여 |Dcw|>4 또는 |RDS|>6이면 부호 위반 신호를 출력하는 복호 유형 판독 및 비트 사상 제어기로 구성된 것을 특징으로 하는 니블 반전 및 블록 반전(NIBI) 부호의 복호장치.
KR1019980028198A 1998-07-13 1998-07-13 니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치 KR100281738B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019980028198A KR100281738B1 (ko) 1998-07-13 1998-07-13 니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치
US09/350,097 US6366223B1 (en) 1998-07-13 1999-07-09 Methods for coding and decoding nibble inversion codes and block inversion codes and coding and decoding apparatus for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980028198A KR100281738B1 (ko) 1998-07-13 1998-07-13 니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치

Publications (2)

Publication Number Publication Date
KR20000008406A true KR20000008406A (ko) 2000-02-07
KR100281738B1 KR100281738B1 (ko) 2001-02-15

Family

ID=19544001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980028198A KR100281738B1 (ko) 1998-07-13 1998-07-13 니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치

Country Status (2)

Country Link
US (1) US6366223B1 (ko)
KR (1) KR100281738B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030066911A (ko) * 2002-02-06 2003-08-14 (주)정우이엔지 역 코드를 이용한 디지털 데이터 통신방법
KR100681944B1 (ko) * 2005-11-15 2007-02-12 학교법인 포항공과대학교 병렬 데이터 전송을 위한 분할된 집합 반전 인코딩 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6788222B2 (en) * 2001-01-16 2004-09-07 Intel Corporation Low weight data encoding for minimal power delivery impact
US7286065B1 (en) 2001-03-05 2007-10-23 Marvell International Ltd. Method and apparatus for DC-level constrained coding
US6661356B1 (en) * 2001-03-05 2003-12-09 Marvell International, Ltd. Method and apparatus for DC-level constrained coding
US7025512B2 (en) * 2002-08-27 2006-04-11 Pentax Corporation Retracting mechanism of a retractable lens
US7084789B2 (en) * 2003-11-17 2006-08-01 Seagate Technology Llc DC-free code having limited error propagation and limited complexity
US7434150B1 (en) 2004-03-03 2008-10-07 Marvell Israel (M.I.S.L.) Ltd. Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations
US6906646B1 (en) * 2004-03-16 2005-06-14 Palmsource, Inc. Methods and devices for binary object serialization
US8139628B1 (en) 2005-01-10 2012-03-20 Marvell International Ltd. Method and device to compensate for baseline wander
US8312329B1 (en) * 2011-06-13 2012-11-13 Litepoint Corporation System and method for using a single vector signal generator to verify device under test
RU2553068C2 (ru) * 2013-06-19 2015-06-10 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военно-космическая академия имени А.Ф. Можайского" Министерства обороны Российской Федерации Способ передачи информации с использованием помехоустойчивого кодирования
GB2530753A (en) * 2014-09-30 2016-04-06 Canon Kk DC-Free nyquist-free error correcting line coding
US11133891B2 (en) * 2018-06-29 2021-09-28 Khalifa University of Science and Technology Systems and methods for self-synchronized communications
US10951596B2 (en) 2018-07-27 2021-03-16 Khalifa University of Science and Technology Method for secure device-to-device communication using multilayered cyphers

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4486739A (en) 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
US4786890A (en) 1987-07-28 1988-11-22 International Business Machines Corporation Method and apparatus for implementing a PRML code
GB9506470D0 (en) * 1995-03-29 1995-05-17 Sgs Thomson Microelectronics 5b4t coding scheme
GB9506471D0 (en) * 1995-03-29 1995-05-17 Sgs Thomson Microelectronics Coding scheme for transmitting data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030066911A (ko) * 2002-02-06 2003-08-14 (주)정우이엔지 역 코드를 이용한 디지털 데이터 통신방법
KR100681944B1 (ko) * 2005-11-15 2007-02-12 학교법인 포항공과대학교 병렬 데이터 전송을 위한 분할된 집합 반전 인코딩 방법

Also Published As

Publication number Publication date
KR100281738B1 (ko) 2001-02-15
US6366223B1 (en) 2002-04-02

Similar Documents

Publication Publication Date Title
KR100281738B1 (ko) 니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치
EP0230714B1 (en) Data transmission system
KR100306425B1 (ko) 런 길이 제한 코드를 실행하기 위한 시스템
KR100279752B1 (ko) 고속 광 전송 시스템을 위한 비트 삽입/조작 선로 부호의 부/복호화 장치
EP0977411B1 (en) Block code with limited disparity
JP2001308712A (ja) パケット化直列データの復号化方法及びデコーダ
KR930022752A (ko) 입력 데이타 인코딩 방법 및 장치와, 데이타 함유 신호 처리 방법 및 장치
EP0735729A1 (en) 5B4T coding scheme
EP0735728B1 (en) 5B4T coding scheme
US6346895B1 (en) Apparatus and method for using nibble inversion code
JP3217298B2 (ja) nB2P符号および復号装置
US5144305A (en) Transmission arrangement comprising a block code encoded main channel and an auxiliary channel
EP1058432A2 (en) A low disparity coding method for digital data
US11888962B2 (en) System and method for transition encoding with flexible word-size
JPS59183559A (ja) デイジタル伝送装置
US6438728B1 (en) Error character generation
JP4834874B2 (ja) Pcmモデムシステムにおける180°位相不変送信を達成するためのための方法と装置
US6912008B2 (en) Method of adding data to a data communication link while retaining backward compatibility
KR100528139B1 (ko) 코드워드를 생성하는 방법 및 장치
JP3515526B2 (ja) 通信システムにおける制御情報の符号化方法
JP2003087121A (ja) コードレートを増加させるためのブロック符号化/復号化方法及び装置
JPH0936823A (ja) mBnB符号を用いた並列データ伝送装置
KR20230021567A (ko) 데이터를 인코딩 및/또는 디코딩하기 위한 방법 및 장치
GB2369972A (en) Method of encoding data to produce balanced codes
KR0145587B1 (ko) 전송데이타의 천이 조절과 dc-균형이 가능한 코딩방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111028

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee