KR20080094043A - 데이터 인코딩 및 디코딩 방법, 데이터 전송 방법, 송신기 및 수신기 - Google Patents

데이터 인코딩 및 디코딩 방법, 데이터 전송 방법, 송신기 및 수신기 Download PDF

Info

Publication number
KR20080094043A
KR20080094043A KR1020087019716A KR20087019716A KR20080094043A KR 20080094043 A KR20080094043 A KR 20080094043A KR 1020087019716 A KR1020087019716 A KR 1020087019716A KR 20087019716 A KR20087019716 A KR 20087019716A KR 20080094043 A KR20080094043 A KR 20080094043A
Authority
KR
South Korea
Prior art keywords
bits
bit
data
word
group
Prior art date
Application number
KR1020087019716A
Other languages
English (en)
Other versions
KR100997870B1 (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 엔엑스피 비 브이
Publication of KR20080094043A publication Critical patent/KR20080094043A/ko
Application granted granted Critical
Publication of KR100997870B1 publication Critical patent/KR100997870B1/ko

Links

Images

Classifications

    • 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
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • 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
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes

Abstract

인코딩 기법은 각각의 입력 8 비트 데이터 워드로부터 인코딩된 9 비트 코드 워드를 생성한다. 코딩 기법은 인코딩된 데이터 워드가 바람직한 특성을 갖도록 이루어지는데, 예를 들어 각각의 인코딩된 데이터 워드에서 최소 2개의 극성 변화가 존재하고, 극성 변화 없이 최대 5개의 비트가 존재한다. 입력 8 비트 데이터 워드로부터의 비트들 중 5 비트는 인코딩된 데이터 워드에서 변경되지 않는 것으로 나타나고, 인코딩된 데이터 워드의 그 밖의 4 비트는 인코딩된 데이터 워드에서 변경되지 않는 것으로 나타나는 5 비트들 중 2 비트와 연계하여 입력 데이터 워드의 나머지 3 비트에 적절한 논리 연산자를 적용함으로써 얻어진다. 또한, 예외 코드, 즉, 코딩 기법에 의해 임의의 8 비트 데이터 워드로부터 얻어질 수 없는 9 비트 코드 워드가 정의될 수 있고, 제어 정보를 데이터 스트림에 포함시키는데 사용될 수 있다. 예를 들어, 예외 코드는 바람직하게 극성 변화없는 6 또는 7 비트를 가질 수 있다.

Description

데이터 인코딩 및 디코딩 방법, 데이터 전송 방법, 송신기 및 수신기{CODING SCHEME FOR SERIAL DATA COMMUNICATIONS}
본 발명은 코딩 기법에 관한 것으로, 특히 단일 데이터 스트림 내에 데이터 및 내장된 정보를 전송하는 경우에 사용될 수 있는 코딩 기법에 관한 것이다.
하나의 전자 디바이스에서 다른 전자 디바이스로 데이터를 전송할 필요가 있는 여러 상황이 존재한다. 직렬 인터페이스를 사용하는 것이 유리할 수 있는데, 이 직렬 인터페이스에서는 전송용 데이터가 이진 값의 시퀀스로 변환되고, 그런 다음 이 인터페이스를 통해 전송된다.
이러한 상황에서, 코딩 기법을 사용하게 되면 전송 동안의 데이터 스트림 내에 부가적인 특징을 허용할 수 있다.
다양한 코딩 기법은 이미 공지되어 있다. 최초의 사용자 데이터가 각각이 8 데이터 비트를 포함하는 데이터 바이트들로 제공된다는 사실에 기초하여, 코딩 기법은 하나 이상의 데이터 바이트로부터의 데이터 비트가 하나 이상의 부가적인 데이터 비트를 포함하는 인코딩된 데이터를 생성하도록 하는 소정의 방식으로 처리되 는 것으로 알려져 있다. 예를 들어, 미국 특허 번호 6,229,458 호는 네 개의 데이터 바이트(즉, 32 데이터 비트)로 구성된 데이터 워드가 34 데이터 비트로 구성된 인코딩된 데이터 워드를 형성하도록 인코딩되는 코딩 기법을 개시하고 있다.
본 발명의 제 1 측면에 따르면, 첨부된 청구항에서 정의하고 있는 바와 같이 데이터를 인코딩하는 방법이 제공된다. 본 발명의 제 2 측면에 따르면, 수신된 인코딩된 데이터를 디코딩하는 방법이 제공되다. 본 발명의 제 3 측면에 따르면, 본 발명의 인코딩 방법에 따라 데이터를 인코딩하는 송신기가 제공된다. 본 발명의 제 4 측면에 따르면, 본 발명의 디코딩 방법에 따라 데이터를 디코딩하는 수신기가 제공된다.
본 발명의 보다 나은 이해를 돕고, 본 발명이 어떻게 구현될 수 있는지를 나타내기 위해, 첨부한 도면을 예시적으로 참조할 것이다.
도 1은 본 발명을 구현하는 통신 시스템에 대한 개략적인 블록도,
도 2는 본 발명의 일 측면에 따른 코딩 기법을 예시하는 도면.
도 1은 송신기(12)가 접속부(16)를 통해 수신기(14)에 연결되어 있는 통신 시스템(10)에 대한 개략적인 블록도이다. 예를 들어, 송신기(12) 및 수신기(14)는 보다 큰 디바이스 내에 위치한 별개의 디바이스일 수 있다. 하나의 특정 예로서, 송신기는 이동 디바이스 내에 위치한 애플리케이션 엔진 또는 기저대역 프로세서일 수 있고, 수신기(14)는 그래픽 프로세서 또는 다른 애플리케이션 특정 디바이스일 수 있지만, 본 발명의 코딩 기법은 관련 디바이스의 유형과는 무관하게 사용될 수 있음을 알 수 있을 것이다.
송신기(12)에서, 수신기(14)로 전송될 사용자 데이터는 임의의 프로세스 또는 애플리케이션으로부터 획득될 수 있다. 사용자 데이터는 이하에서 보다 자세히 기술되는 바와 같이 인코딩을 수행하는 인코더(18)에 전달되고, 인코딩된 데이터는 송신 인터페이스(20)로 전달되며, 이 송신 인터페이스(20)는 인코딩된 데이터를 접속부(16)를 통한 송신에 적합한 형태로 만들기 위해 필요한 임의의 프로세스를 수행한다.
인코더(18)는 또한 예를 들어 송신용 데이터의 스트림 내에 포함되려 하는 제어 플래그의 형태를 갖는 제어 정보를 수신한다. 마찬가지로, 이에 대해서는 이하에서 보다 자세히 설명할 것이다.
수신기(14)에서, 데이터는 인터페이스(22)에서 수신되고 디코딩을 수행하는 디코더(24)에 전달된다. 인터페이스(22)는 인코딩된 데이터를 복원하는데 필요한 임의의 프로세스를 수행하고, 디코더는 전송된 데이터 스트림 내에 포함된 제어 정보를 추출하고 인코딩 데이터로부터 최초의 사용자 데이터를 재생성하며, 재생성된 최초의 사용자 데이터는 추가의 처리를 위해 임의의 후속 프로세스 또는 애플리케 이션에 전달될 수 있다.
이하에서 보다 자세히 설명되는 바와 같이, 사용자 데이터는 각각이 8 데이터 비트를 포함하는 데이터 바이트의 형태로 수신된다. 이들 데이터 바이트 각각은 9개의 인코딩된 데이터 비트의 시퀀스로 변환된다.
도 2는 인코딩 기법을 보다 자세히 도시한다.
구체적으로, 도 2에 도시되어 있는 바와 같이, 사용자 데이터의 일 바이트(50)의 8개의 데이터 비트는 [B1,B2,B3,X1,X2,Q1,Q2,Q3]로 식별된다. 사실, 이것은 역함수가 수신기측에서 이용가능한 경우 입력 데이터 바이트에 대한 임의의 전단사 (8비트-8비트) 논리 변환(any arbitrary bijective (eight bits to eight bits) logical transformation)을 통해 얻어질 수 있다. 예를 들어, 바이트(50)의 8 데이터 비트는 입력 데이터 바이트의 임의의 치환일 수 있는데, 여기서 부가적으로 각 비트 위치는 치환 및 도치가 미리 알려져 있는 경우 데이터 바이트 내의 소스 비트에 견주어 역전될 수 있고 또는 그렇지 않을 수 있으며, 수신기 내에서 역전될 수 있다. 그러나, 다른 전단사, 역전 변환이 또한 가능하다.
본 발명의 일 실시예에 따른 인코딩 프로세스에 있어서, 입력 데이터 바이트의 비트들 중 3개의 비트는 인코딩 데이터 워드 내에서 변경되지 않은 것으로 나타난다. 인코딩 데이터 워드의 다른 6개의 비트는 3 비트의 2 블록을 형성하는데, 이 2 블록은 이들 변경되지 않은 비트들 중 2 비트에 의해 분리된다. 보다 구체적으로, 도 2에 도시되어 있는 인코딩 프로세스에서, 입력 데이터 바이트의 비트들 중 3 비트, 즉 B1, B2 및 B3로 식별되는 비트는 인코딩된 데이터 워드(60)의 제 1, 제 5 및 제 6 비트 위치 각각에서 변경되지 않는 것으로 나타난다. 입력 데이터 바이트의 2개의 또 다른 비트, 즉 X1 및 X2로 식별되는 비트는 인코딩된 데이터 워드(60)의 제 2 및 제 9 비트 위치 각각에서 변경되지 않는 것으로 나타난다.
또한, 도 2에 도시되어 있는 인코딩 프로세스에서, 입력 데이터 바이트의 비트(Q1,Q2,Q3)는 또한 입력 데이터 바이트의 비트(X1,X2)를 사용하여 로직 블록(30)에서 인코딩되어 인코딩 데이터 워드의 제 3, 제 4, 제 7 및 제 8 비트 위치에서 나타나는 비트(Y1,Y2,Y3,Y4)를 형성한다.
전술한 바와 같이, 이러한 인코딩 기법의 목적들 중 하나는 인코딩된 데이터 워드가 소정의 원하는 특성을 갖도록 하는 것이다.
예를 들어, 각각의 인코딩된 데이터 워드 내에 소정의 최소 수의 극성 변화가 있도록 하는 것이 보장되는 코딩 기법을 제공하는 것이 바람직할 수 있다.
또한, 최대 실행 길이가 보장되는, 즉 인코딩된 데이터 워드 내에서 또는 둘 이상의 연속하는 인코딩된 데이터 워드에 걸쳐서 사전결정된 수의 동일 비트보다 많은 동일 비트가 존재하지 않도록 보장하는 코딩 기법을 제공하는 것이 유리할 수 있다.
본 발명의 바람직한 실시예에 따르면, 코딩 기법은 인코딩된 데이터 워드의 제 2 및 제 3 비트 사이에 또는 인코딩된 데이터 워드의 제 3 및 제 4 비트 사이에 제 1 극성 변화가 존재하도록, 또한 인코딩된 데이터의 제 7 및 제 8 비트 사이에 또는 인코딩된 데이터 워드의 제 8 및 제 9 비트 사이에 제 2 극성 변화가 존재하도록 하되, 제 2 극성 변화가 인코딩된 데이터 워드의 제 8 및 제 9 비트 사이에 존재하면서 제 1 극성 변화가 인코딩된 데이터 워드의 제 2 및 제 3 비트 사이에 존재하는 가능성은 배제되도록 동작한다.
이것은 각각의 인코딩된 데이터 워드 내에 적어도 두 개의 극성 변화가 존재하는 것을 보장하고, 또한 인코딩된 데이터 워드의 모든 직렬 스트림이 5 비트의 최대 실행 길이를 갖는 것을 보장한다.
이것은 또한 인코딩된 데이터 워드의 제 1 및 제 2 비트 사이에 또는 인코딩된 데이터 워드의 제 2 및 제 3 비트 사이에 제 1 극성 변화가 있도록 보장하고, 또한 인코딩된 데이터의 제 6 및 제 7 비트 사이에 또는 인코딩된 데이터 워드의 제 7 및 제 8 비트 사이에 제 2 극성 변화가 존재하도록 보장하는 한편, 제 2 극성 변화가 인코딩된 데이터 워드의 제 7 및 제 8 비트 사이에 존재하면서 제 1 극성 변화가 인코딩된 데이터 워드의 제 1 및 제 2 비트 사이에 존재하는 가능성은 배제함으로써, 등가의 방식으로 달성될 수 있다. 예를 들어, 이것은 B1으로 식별되는 비트를 인코딩된 데이터 워드(60)의 제 9 비트 위치로 시프트하고 인코딩된 데이터 워드(60) 내의 다른 비트들 각각을 하나의 위치씩 좌측으로 시프트함으로써 달성될 수 있다.
전술한 보장들은 후속하는 코딩 테이블을 사용하여 달성될 수 있다.
Figure 112008057533443-PCT00001
그 결과, 바람직한 실시예에서, 로직 블록(30)은 후속하는 논리 관계를 적용하여 출력 데이터 워드의 원하는 비트들을 획득한다.
Figure 112008057533443-PCT00002
따라서, 로직 블록(30)은 비교적 적은 수의 간단한 논리 함수만을 필요로 하며, 임의의 복잡한 계산을 필요로 하지 않는다.
따라서, 이 인코딩 기법은 원하는 특성을 갖는 인코딩된 데이터 워드를 제공한다.
또한, 이 인코딩 기법에서는 다양한 고유의 예외/이스케이프 코드(various unique exception/escape codes)가 정의될 수 있다. 이들 코드는 전술한 바와 같이 데이터 스트림 내에 삽입되어, 제어 정보를 전송되는 데이터 내에 포함시킨다.
특히, 이들 예외 코드의 제 1 그룹은 "코마 코드(comma codes)로 지칭된다. 전술한 바와 같이, 가능한 8 비트 입력 데이터 워드 모두로부터 얻어진 9 비트 인코딩된 데이터 워드는 5비트의 최대 실행 길이를 갖도록 보장될 수 있다. 그러나, 보다 긴 실행 길이를 갖는 9 비트 코드 워드가 정의될 수 있고, 이들은 특별한 목적을 위해 데이터 스트림 내에 삽입되는데, 다시 말해, 데이터를 나타내지는 않는다. 예를 들어, 당업자라면 알 수 있는 바와 같이, 보다 긴 실행 길이를 갖는 이들 9 비트 코드 워드는 동기화를 수행하며, 동기화 체크를 수행하는데 사용되어, 데이터 패킷의 시작 및 종료를 식별하며, 스킵 및/또는 아이들 코드(skip and/or idle codes)와 몇몇 에러 체킹 기능을 삽입한다.
특히, 가능한 8 비트 입력 데이터 워드로부터 얻어진 인코딩된 데이터 워드의 임의의 연속하는 시퀀스 내의 그 어디에도 나타내지 않는 것으로 보장될 수 있는 특정 비트 시퀀스를 포함하는 다수의 9 비트 코드 워드를 정의할 수 있다. 이러한 특성을 갖는 코드는 "코마 코드"로서 지칭된다. 이것은 수신기가 송신기와 동기화되지 않아, 수신기가 각각의 전송되는 9 비트 워드의 시작과 종료를 식별하지 못하는 경우에도, 수신기가 이들 특정 비트 시퀀스를 식별하고 이들 특정 비트 시퀀스에 대한 지식을 사용하여 동기화를 달성할 수 있다는 효과를 갖는다.
사실, B1으로 식별된 비트는 인코딩 데이터 워드에서 제 1 비트로서 나타나고, 인코딩된 데이터 워드의 제 2 및 제 3 비트 사이에 또는 인코딩된 데이터 워드의 제 3 및 제 4 비트 사이에 제 1 극성 변화가 존재하도록, 또한 인코딩된 데이터의 제 7 및 제 8 비트 사이에 또는 인코딩된 데이터 워드의 제 8 및 제 9 비트 사이에 제 2 극성 변화가 존재하되, 제 2 극성 변화가 인코딩된 데이터 워드의 제 8 및 제 9 비트 사이에 존재하면서 제 1 극성 변화가 인코딩된 데이터 워드의 제 2 및 제 3 비트 사이에 존재하는 가능성은 배제되도록 보장하는 전술한 코딩 기법에 기초하면, 6 비트의 실행길이를 갖는 4개의 고유의 예외 코드를 정의하는데 적어도 4개의 방식이 존재한다. 또한 7 비트의 실행길이를 갖는 두 개의 예외 코드와, 후속하는 유효 코드워드와 결합되어 적어도 8비트의 실행길이를 갖는 비트 시퀀스를 생성할 수 있지만, 후속하는 코드워드에 따라서는 최대 11 비트의 실행길이를 갖는 비트 시퀀스를 생성할 수 있는 두 개의 예외 코드가 존재한다.
6 비트의 실행길이를 갖는 4개의 고유의 예외 코드를 정의하는 네 개의 방식은 옵션(1-4)으로 식별되는 후속하는 표에 나열되어 있다.
Figure 112008057533443-PCT00003
이들 세 개의 카테고리들 중 마지막의 예외 코드는 플립(flip)될 수 있다. 즉, 코드 100000000는 000000001로 대체될 수 있고, 011111111는 111111110로 대체될 수 있다. 이 경우, 선행하는 코드 워드에 따라서는 최대 10 비트의 실행길이를 갖는 시퀀스가 얻어질 수 있으며, 이 경우, B1으로 식별되는 비트는 인코딩된 데이터 워드 내에서 제 1 비트로서 나타난다.
B1으로 식별된 비트가 인코딩된 데이터 워드 내에서 제 9 비트로서 나타나고, 인코딩된 데이터 워드의 제 1 및 제 2 비트 사이에 또는 인코딩된 데이터 워드의 제 2 및 제 3 비트 사이에 제 1 극성 변화가 있도록 보장되고, 또한 인코딩된 데이터의 제 6 및 제 7 비트 사이에 또는 인코딩된 데이터 워드의 제 7 및 제 8 비트 사이에 제 2 극성 변화가 존재하되, 제 2 극성 변화가 인코딩된 데이터 워드의 제 7 및 제 8 비트 사이에 존재하면서 제 1 극성 변화가 인코딩된 데이터 워드의 제 1 및 제 2 비트 사이에 존재하는 가능성은 배제되도록 보장하는 전술한 또 다른 설명에서, 세 개의 카테고리들 중 마지막의 예외 코드는 후속하는 코드 워드에 따라 최대 10비트의 실행길이를 갖는 비트 시퀀스를 야기할 수 있다. 그러나, 전술 한 바와 같이, 이들 세 개의 카테고리들 중 마지막의 예외 코드는 플립될 수 있고, 이 경우, 선행하는 코드 워드에 따라 최대 11 비트의 실행길이를 갖는 시퀀스가 얻어질 수 있다.
예외 코드가 제 1 및 제 2 비트 사이에서 극성 변화를 갖는 것으로 보장되는 경우, 이 예외 코드에 기초하여 정렬(alignment)을 달성하는 것이 용이해지는데, 이는 옵션(1)이 바람직한 솔루션이라는 것을 의미한다. 즉, 표에서 옵션(1)으로 나열된 예외 코드가 사용되는 경우, 수신기가 동일한 비트 값을 갖는 6개의 연속 비트를 검출할 때, 수신기는 예외 코드들 중 하나가 전송되었음을 알게 될 것이다. 또한, 예외 코드 각각은 제 1 및 제 2 비트 사이에서 극성 변화를 갖기 때문에(또한, 6의 실행길이를 갖는 예외 코드 각각은 제 7 및 제 8 비트 사이에서 극성 변화를 갖기 때문에), 수신기는 예외 코드 워드의 시작 및 종료를 식별할 수 있고, 그런 다음 이것을 이용하여 각각의 후속하는 수신된 코드 워드의 시작 및 종료를 식별할 수 있다.
마지막 실행길이 카테고리 내의 두 개의 코드는 상당히 보다 높은 최대 가능 실행길이를 야기할 수 있기 때문에, 6 및 7의 최대 실행길이를 각각 갖는 첫 번째 두 개의 실행길이 카테고리로 예외 코드의 사용을 제한하는 것이 유리하다. 네 개의 예외 코드가 충분한 경우, 전체적인 최대 실행길이는 6으로 제한될 수 있다.
예외 코드의 또 다른 카테고리가 정의될 수 있다. 구체적으로, 이들은, 인코딩된 데이터 워드의 제 2 및 제 3 비트 사이에 제 1 극성 변화가 있고 인코딩된 데이터 워드의 제 8 및 제 9 비트 사이에 제 2 극성 변화가 있으나, 제 3 및 제 4 비트는 제 7 및 제 8 비트와 마찬가지로 동일한 비트이면서, 제 3 및 제 8 비트(그에 따라 제 4 및 7 비트)는 반대 극성을 갖는 코드 워드이다.
따라서, 이들 코드 워드는 아래와 같은 형태를 갖는다.
B1,1,0,0,B2,B3,1,1,0 또는
B1,0,1,1,B2,B3,0,0,1.
이들 코드 워드에 대해 두 개의 형태가 가능하고, 각 경우에, B1,B2 및 B3는 임의의 값을 가질 수 있으며, 그에 따라 8개의 조합이 가능하여 전체 16개의 이들 코드 워드가 생성됨을 알 수 있다.
또 다시, 이들 예외 코드는 제어 정보를 필요에 따라 데이터 스트림에 포함시키는데 사용될 수 있다. 그러나, 이 카테고리의 예외 코드는 고유하지는 않는데, 그 이유는 두 개의 연속 인코딩된 데이터 워드 간의 경계를 가로지르는 슬라이딩 윈도우 내에 또한 비트 시퀀스가 나타날 수 있고, 따라서 이들 코드 워드는 동기화가 달성된 경우에만, 즉 수신기가 각 수신 코드 워드의 시작 및 종료 지점을 알고 있는 경우에만 사용될 수 있기 때문이다.
예외 코드는 인코더(18) 또는 그 밖의 다른 곳에 저장될 수 있고, 그런 다음을 전송을 위해 간단히 데이터 스트림 내에 완전히 삽입될 수 있다. 그와 달리, 수신된 제어 정보로부터 예외 코드를 생성하는 인코딩 로직을 제공할 수 있다. 인코딩 이후, 또한 임의의 필요한 예외 코드의 삽입 이후, 데이터 스트림은 디코더(24)에 전송될 수 있다. 디코더(24)에서, 데이터 스트림에 삽입된 임의의 예외 코드를 식별하여 제거하는 것이 우선적으로 필요하다.
예를 들어, 5보다 큰 실행길이를 갖는 예외 코드는 이들 실행길이의 존재에 의해 간단히 식별될 수 있다. 예를 들어, 정규 예외 코드는 제 3 및 제 4 비트가 제 7 및 제 8 비트와 마찬가지로 동일한 비트이면서, 제 3 및 제 8 비트(따라서 제 4 및 제 7 비트)는 반대 극성을 갖는다는 것을 식별함으로써 인식될 수 있다. 추출된 임의의 예외 코드에 대응하는 제어 정보는 또 다른 제어 프로세스에 전달될 수 있다.
인코딩된 데이터 워드를 나타내는 임의의 다른 코드 워드는 디코딩될 수 있다. 인코더(18)에 대해 위에서 설명한 것으로부터, 인코딩된 데이터 워드에 나타나는 비트(B1,B2,B3,X1,X2)는 인코딩 프로세스에 의해 변경되지 않았기 때문에 디코딩될 필요가 없음을 알 수 있다.
입력 데이터 바이트의 비트(X1,X2)를 또한 사용하여, 입력 데이터 바이트의 비트(Q1,Q2,Q3)로부터 인코딩된 데이터 워드의 비트(Y1,Y2,Y3,Y4)가 얻어지기 했지만, 비트(X1,X2)를 또한 사용하지 않고도, 디코딩된 데이터 바이트의 필요한 비트(Q1,Q2,Q3)에 대해 인코딩된 데이터 워드의 비트(Y1,Y2,Y3,Y4)를 디코딩할 수 있음을 이해해야 한다.
따라서, 수신된 9 비트 코드 워드는 디코딩될 필요가 없는 5 비트(B1,B2,B3,X1,X2)를 포함하는 제 1 그룹과, 4 비트(Y1,Y2,Y3,Y4)를 포함하는 제 2 그룹으로 분할되고, 이 때, 제 1 그룹의 비트는 수신된 코드 워드의 첫 번째 5개의 비트는 아니며, 제 2 그룹의 비트는 수신된 코드 워드의 마지막 4개의 비트는 아니다.
구체적으로, 디코딩에 대한 논리적 관계는 다음과 같다.
Figure 112008057533443-PCT00004
따라서, 디코더(24)는 비교적 적은 수의 간단한 논리 함수만을 필요로 하며, 임의의 복잡한 계산을 필요로 하지 않는다.
끝으로, 출력 데이터 바이트를 획득하기 위해, 이 디코딩된 데이터 워드는 인코딩 전에 입력 데이터 바이트에 적용된 임의의 치환 및/또는 도치와 같은 임의의 전단사 변환을 역변환하는 프로세스를 거쳐야 한다.
따라서, 전송되는 데이터의 양이 원치 않게 크게 증가하는 일 없이, 유용한 예외 코드의 가능성을 제공하면서도 원하는 특성을 갖는 인코딩된 데이터를 제공할 수 있는 데이터 인코딩 방법이 기술된다.

Claims (33)

  1. 데이터를 인코딩하는 방법에 있어서,
    8 비트의 각 입력 데이터 바이트에 대해,
    상기 입력 데이터 바이트를 3 비트의 제 1 그룹과 5 비트의 제 2 그룹으로 분할하는 단계와,
    9 비트를 포함하는 출력 데이터 워드를 생성하는 단계를 포함하되, 상기 9 비트는 상기 입력 데이터 바이트로부터의 상기 3 비트의 제 1 그룹을 포함하고, 각각의 가능한 출력 데이터 워드는 5 비트의 최대 실행길이를 갖는
    데이터 인코딩 방법.
  2. 제 1 항에 있어서,
    상기 5 비트의 제 2 그룹을 인코딩되지 않은 2 비트와 인코딩된 3 비트로 분할하는 단계를 더 포함하되,
    상기 출력 데이터 워드의 상기 9 비트는 상기 데이터 바이트의 상기 5 비트의 제 2 그룹으로부터의 상기 인코딩되지 않은 2 비트를 더 포함하고,
    상기 출력 데이터 워드를 생성하는 단계는 상기 데이터 바이트의 상기 제 5 비트의 제 2 그룹에 논리 연산자를 적용하여 상기 출력 데이터 워드의 또 다른 4 비트를 획득하는 단계를 포함하는
    데이터 인코딩 방법.
  3. 제 2 항에 있어서,
    상기 출력 데이터 워드의 9 비트는,
    상기 입력 데이터 바이트로부터의 상기 3 비트의 제 1 그룹과,
    상기 입력 데이터 바이트의 상기 5 비트의 제 2 그룹으로부터의 상기 인코딩되지 않은 2 비트와,
    상기 입력 데이터 바이트에서 상기 인코딩되지 않은 비트들 중 제 1 비트와 상기 인코딩된 3 비트에 논리 연산자를 적용함으로써 얻어진 제 6 및 제 7 비트와,
    상기 입력 데이터 바이트에서 상기 인코딩되지 않은 비트들 중 제 2 비트와 상기 인코딩된 3 비트에 논리 연산자를 적용함으로써 얻어진 제 8 및 제 9 비트를 포함하는
    데이터 인코딩 방법.
  4. 제 3 항에 있어서,
    상기 입력 데이터 바이트의 상기 5 비트의 제 2 그룹으로부터의 상기 인코딩되지 않은 2 비트와, 상기 제 6 및 제 7 비트와, 상기 제 8 및 제 9 비트는 상기 출력 데이터 워드에서 세 개의 연속하는 비트의 2개의 블록에서 나타나는
    데이터 인코딩 방법.
  5. 제 4 항에 있어서,
    상기 입력 데이터 바이트의 상기 5 비트의 제 2 그룹으로부터의 상기 인코딩되지 않은 2 비트와, 상기 제 6 및 제 7 비트와, 상기 제 8 및 제 9 비트는 상기 출력 데이터 워드에서 제 2, 제 3, 제 4, 제 7, 제 8 및 제 9 비트로서 나타나는
    데이터 인코딩 방법.
  6. 제 5 항에 있어서,
    각각의 가능한 출력 데이터 워드에서,
    상기 제 2 비트와 상기 제 3 비트 사이에 또는 상기 제 3 비트와 상기 제 4 비트 사이에 제 1 극성 변화가 존재하고 상기 제 7 비트와 상기 제 8 비트 사이에 또는 상기 제 8 비트와 상기 제 9 비트 사이에 제 2 극성 변화가 존재하되, 상기 제 8 비트와 상기 제 9 비트 사이에 제 2 극성 변화가 존재하면서 상기 제 2 비트와 상기 제 3 비트 사이에 제 1 극성 변화가 존재하는 가능성은 배제되는
    데이터 인코딩 방법.
  7. 제 4 항에 있어서,
    상기 입력 데이터 바이트의 상기 5 비트의 제 2 그룹으로부터의 상기 인코딩되지 않은 2 비트와, 상기 제 6 및 제 7 비트와, 상기 제 8 및 제 9 비트는 상기 출력 데이터 워드에서 제 1, 제 2, 제 3, 제 6, 제 7 및 제 8 비트로서 나타나는
    데이터 인코딩 방법.
  8. 제 7 항에 있어서,
    각각의 가능한 출력 데이터 워드에서,
    상기 제 1 비트와 상기 제 2 비트 사이에 또는 상기 제 2 비트와 상기 제 3 비트 사이에 제 1 극성 변화가 존재하고 상기 제 6 비트와 상기 제 7 비트 사이에 또는 상기 제 7 비트와 상기 제 8 비트 사이에 제 2 극성 변화가 존재하되, 상기 제 7 비트와 상기 제 8 비트 사이에 제 2 극성 변화가 존재하면서 상기 제 1 비트와 상기 제 2 비트 사이에 제 1 극성 변화가 존재하는 가능성은 배제되는
    데이터 인코딩 방법.
  9. 제 4 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 입력 데이터 바이트로부터의 상기 5 비트의 제 2 그룹의 상기 인코딩되 지 않은 2 비트는 상기 출력 워드에서 상기 세 개의 연속하는 비트의 2개의 블록들 중 상이한 블록에서 나타나는
    데이터 인코딩 방법.
  10. 제 4 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 제 6 및 제 7 비트는 상기 세 개의 연속하는 비트의 2개의 블록들 중 하나의 블록에서 나타나고, 상기 제 8 및 제 9 비트는 상기 세 개의 연속하는 비트의 2개의 블록들 중 다른 하나의 블록에서 나타나는
    데이터 인코딩 방법.
  11. 제 3 항에 있어서,
    상기 논리 연산자는 각각의 가능한 출력 데이터 워드에서 적어도 두 개의 극성 변화가 존재하도록 하는
    데이터 인코딩 방법.
  12. 제 3 항에 있어서,
    상기 논리 연산자는 각각의 가능한 출력 데이터 워드에서 적어도 두 개의 0 과 적어도 두 개의 1이 존재하도록 하는
    데이터 인코딩 방법.
  13. 제 3 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 입력 데이터 바이트에서 상기 인코딩되지 않은 비트들 중 상기 제 1 비트와 상기 인코딩된 3 비트의 그룹에 논리 연산자를 적용하여 로직
    Figure 112008057533443-PCT00005
    에 따라 상기 제 6 및 제 7 비트를 획득하는 단계와,
    상기 입력 데이터 바이트에서 상기 인코딩되지 않은 비트들 중 상기 제 2 비트와 상기 인코딩된 3 비트의 그룹에 논리 연산자를 적용하여 로직
    Figure 112008057533443-PCT00006
    에 따라 상기 제 8 및 제 9 비트를 획득하는 단계를 포함하되,
    X1은 상기 입력 바이트의 상기 5 비트의 제 2 그룹으로부터의 상기 인코딩되지 않은 2 비트들 중 제 1 비트이고, X2는 상기 입력 데이터 바이트의 상기 5 비트의 제 2 그룹으로부터의 상기 인코딩되지 않은 2 비트들 중 제 2 비트이고, Q1,Q2 및 Q3은 상기 입력 데이터 바이트에서 상기 인코딩된 3 비트의 그룹이고, Y1 및 Y2는 상기 출력 워드의 상기 제 6 및 제 7 비트이고, Y3 및 Y4는 상기 출력 워드의 상기 제 8 및 제 9 비트이며, AND='&", OR='|' 및 NOT='~'인
    데이터 인코딩 방법.
  14. 송신기에서 수신기로 데이터를 전송하는 방법에 있어서,
    청구항 제 1 항 내지 제 13 항 중 어느 한 항의 방법에 따라 상기 데이터를 인코딩하는 단계와,
    상기 인코딩된 데이터 사이에, 상기 방법에 따른 상기 인코딩에 의해 임의의 입력 데이터 바이트로부터 얻어질 수 없는 9 비트 워드를 포함하는 적어도 하나의 예외 코드를 포함시키는 단계를
    포함하는 데이터 전송 방법.
  15. 제 14 항에 있어서,
    상기 예외 코드는 6 비트의 실행길이를 갖는 9 비트 워드를 포함하는 데이터 전송 방법.
  16. 제 14 항에 있어서,
    상기 예외 코드는 7 비트의 실행길이를 갖는 9 비트 워드를 포함하는 데이터 전송 방법.
  17. 제 14 항에 있어서,
    상기 예외 코드는 인접하는 인코딩된 데이터 워드와 결합하여 최대 10 비트의 실행길이를 제공할 수 있는 8 비트의 실행길이를 갖는 9 비트 워드를 포함하는 데이터 전송 방법.
  18. 제 14 항에 있어서,
    상기 예외 코드는 인접하는 인코딩된 데이터 워드와 결합하여 최대 11 비트의 실행길이를 제공할 수 있는 8 비트의 실행길이를 갖는 9 비트 워드를 포함하는 데이터 전송 방법.
  19. 제 14 항에 있어서,
    상기 예외 코드는 5 비트의 최대 실행길이를 갖는 데이터 전송 방법.
  20. 제 14 항에 있어서,
    상기 예외 코드에서, 상기 워드의 제 2 비트와 제 3 비트 사이에 제 1 극성 변화가 존재하고 상기 워드의 제 8 비트와 제 9 비트 사이에 제 2 극성 변화가 존 재하되, 제 3 및 제 4 비트는 제 7 및 제 8 비트와 마찬가지로 동일한 비트인 한편 제 3 및 제 8 비트는 반대 극성을 갖는
    데이터 전송 방법.
  21. 8 비트의 입력 데이터 바이트의 데이터를 수신하고 인코더를 포함하는 송신기에 있어서,
    상기 인코더는 청구항 제 1 항 내지 제 13 항 중 어느 한 항의 방법에 따라 상기 수신 데이터를 인코딩하는 로직을 포함하는
    송신기.
  22. 제 21 항에 있어서,
    상기 인코딩된 데이터 사이에, 상기 방법에 따른 상기 인코딩에 의해 임의의 입력 데이터 바이트로부터 얻어질 수 없는 9 비트 워드를 포함하는 적어도 하나의 예외 코드를 포함시키는 로직을 더 포함하는 송신기.
  23. 제 22 항에 있어서,
    상기 예외 코드는 6비트의 실행길이를 갖는 9 비트 워드를 포함하는 송신기.
  24. 제 22 항에 있어서,
    상기 예외 코드는 7비트의 실행길이를 갖는 9 비트 워드를 포함하는 송신기.
  25. 제 22 항에 있어서,
    상기 예외 코드는 인접하는 인코딩된 데이터 워드와 결합하여 최대 10 비트의 실행길이를 제공할 수 있는 8 비트의 실행길이를 갖는 9 비트 워드를 포함하는 송신기.
  26. 제 22 항에 있어서,
    상기 예외 코드는 인접하는 인코딩된 데이터 워드와 결합하여 최대 11 비트의 실행길이를 제공할 수 있는 8 비트의 실행길이를 갖는 9 비트 워드를 포함하는 송신기.
  27. 제 22 항에 있어서,
    상기 예외 코드는 5비트의 최대 실행길이를 갖는 송신기.
  28. 제 22 항에 있어서,
    상기 예외 코드에서, 상기 워드의 제 2 비트와 제 3 비트 사이에 제 1 극성 변화가 존재하고 상기 워드의 제 8 비트와 제 9 비트 사이에 제 2 극성 변화가 존재하되, 제 3 및 제 4 비트는 제 7 및 제 8 비트와 마찬가지로 동일한 비트인 한편 제 3 및 제 8 비트는 반대 극성을 갖는
    송신기.
  29. 데이터를 디코딩하는 방법에 있어서,
    9 비트의 각 수신된 인코딩된 데이터 워드에 대해,
    상기 인코딩된 데이터 워드를 5 비트의 제 1 그룹과 4 비트의 제 2 그룹으로 분할하는 단계와,
    8 비트를 포함하는 출력 데이터 워드를 생성하는 단계를 포함하되, 상기 8 비트는 상기 인코딩된 데이터 워드로부터의 상기 5 비트의 제 1 그룹과, 상기 인코딩된 데이터 워드에서 상기 4 비트의 제 2 그룹에 논리 연산자를 적용하여 얻어진 제 6, 제 7 및 제 8 비트를 포함하는
    데이터 디코딩 방법.
  30. 제 29 항에 있어서,
    Figure 112008057533443-PCT00007
    와 같이 상기 논리 연산자를 적용하는 단계를 포함하되,
    Y1,Y2,Y3 및 Y4는 상기 인코딩된 데이터 워드에서의 상기 4 비트의 제 2 그룹이고, Q1,Q2 및 Q3는 상기 출력 워드의 상기 제 6, 제 7 및 제 8 비트이며, AND='&', OR='|' 및 NOT='~'인
    데이터 디코딩 방법.
  31. 제 29 항 또는 제 30 항에 있어서,
    예비 단계로서, 임의의 예외 코드를 인식하여 제거하는 단계를 더 포함하는 데이터 디코딩 방법.
  32. 각각 9 비트인 인코딩된 데이터 워드의 인코딩된 데이터를 수신하며, 디코더를 포함하는 수신기에 있어서,
    상기 디코더는 청구항 제 25 항 또는 제 26 항의 방법에 따라 상기 수신 데이터를 디코딩하는 로직을 포함하는 수신기.
  33. 제 32 항에 있어서,
    상기 인코딩된 데이터를 상기 디코더에 전달하기 전에 임의의 예외 코드를 인식하여 제거하고, 상기 예외 코드에 의해 표현되는 제어 정보를 출력하는 로직을 더 포함하는 수신기.
KR1020087019716A 2006-01-12 2007-01-11 데이터 인코딩 및 디코딩 방법, 데이터 전송 방법, 송신기 및 수신기 KR100997870B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL06100308.3 2006-01-12
EP06100308 2006-01-12

Publications (2)

Publication Number Publication Date
KR20080094043A true KR20080094043A (ko) 2008-10-22
KR100997870B1 KR100997870B1 (ko) 2010-12-01

Family

ID=38256697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087019716A KR100997870B1 (ko) 2006-01-12 2007-01-11 데이터 인코딩 및 디코딩 방법, 데이터 전송 방법, 송신기 및 수신기

Country Status (5)

Country Link
US (1) US8004430B2 (ko)
EP (1) EP1977522A2 (ko)
JP (1) JP4780350B2 (ko)
KR (1) KR100997870B1 (ko)
WO (1) WO2007080547A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101307343B1 (ko) * 2009-09-21 2013-09-11 한국전자통신연구원 가시광 무선 통신 송신기 및 수신기, 그리고 그 통신 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113473130B (zh) * 2021-06-21 2023-10-03 Tcl华星光电技术有限公司 编码方法、解码方法、编码装置、解码装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4602152A (en) * 1983-05-24 1986-07-22 Texas Instruments Incorporated Bar code information source and method for decoding same
US4775985A (en) * 1987-04-06 1988-10-04 Sony Corporation Method of dc-free 8/9 nrz coding using a unique sync word pattern
JPS6485427A (en) * 1987-09-28 1989-03-30 Nippon Denki Home Electronics 8/9 code conversion method
EP0310041A3 (en) * 1987-09-28 1990-08-22 Nec Home Electronics, Ltd. 8-bit to 9-bit code conversion system and 8/9 converter
US5574448A (en) 1995-05-08 1996-11-12 Quantum Corporation Method and apparatus for encoding data with variable block lengths
US5604497A (en) * 1995-10-10 1997-02-18 Lucent Technologies Inc. Apparatus and method for increasing density of run length limited block codes without increasing error propagation
US5808998A (en) * 1995-12-27 1998-09-15 Lucent Technologies Inc Bit error rate reduction by reducing the run length of same-state pixels in a halographic process
GB9614561D0 (en) * 1996-07-11 1996-09-04 4Links Ltd Communication system with improved code
US6229458B1 (en) * 1999-08-27 2001-05-08 Lsi Logic Corporation Rate 32/34 (D=0, G=9/I=9) modulation code with parity for a recording channel
US6492918B1 (en) 1999-09-30 2002-12-10 Stmicroelectronics, Inc. Code word having data bits and code bits and method for encoding data
US6700509B1 (en) 1999-11-12 2004-03-02 Koninklijke Philips Electronics N.V. Device and method for processing a digital information signal
JP2003273742A (ja) 2002-03-14 2003-09-26 Sony Corp 復調方法および復調装置
JP4110389B2 (ja) 2003-01-15 2008-07-02 ソニー株式会社 変調装置および変調方法、記録媒体、並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101307343B1 (ko) * 2009-09-21 2013-09-11 한국전자통신연구원 가시광 무선 통신 송신기 및 수신기, 그리고 그 통신 방법

Also Published As

Publication number Publication date
EP1977522A2 (en) 2008-10-08
KR100997870B1 (ko) 2010-12-01
US20100164760A1 (en) 2010-07-01
WO2007080547A3 (en) 2007-10-25
JP4780350B2 (ja) 2011-09-28
WO2007080547A2 (en) 2007-07-19
JP2009536469A (ja) 2009-10-08
US8004430B2 (en) 2011-08-23

Similar Documents

Publication Publication Date Title
JP6045123B2 (ja) エンコーダ、デコーダ及び方法
EP2056462A2 (en) Data processing system and method
CN105052040A (zh) 多流压缩与解压的方法与系统
RU2611249C1 (ru) Модификатор энтропии и способ его использования
CN1369980B (zh) 一种用于在通信系统中编码/解码的方法及一种解码装置
KR20000008406A (ko) 니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치
KR100997870B1 (ko) 데이터 인코딩 및 디코딩 방법, 데이터 전송 방법, 송신기 및 수신기
CN104320146A (zh) 在序列间置换涡轮码系统中利用可变长度输入
US11888962B2 (en) System and method for transition encoding with flexible word-size
WO2014029081A1 (zh) 压缩方法及设备
KR100636370B1 (ko) 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법
KR20230050256A (ko) 데이터 부호화 방법 및 부호기와 데이터 복호화 방법
KR100281321B1 (ko) 적응적인 산술 부호화 및 그 복호화 방법
JP2007306212A (ja) 送信装置、受信装置、通信システム、及び通信方法
US10742783B2 (en) Data transmitting apparatus, data receiving apparatus and method thereof having encoding or decoding functionalities
CN112825558A (zh) 一种编码方法、解码方法及设备
KR101670606B1 (ko) 이진데이터의 압축 및 압축해제 방법
KR20100064442A (ko) 버스 신호의 인코딩, 디코딩 방법 및 장치
CN110995274B (zh) 一种解压缩方法及装置
Makala et al. Stiff Frame Encryption Using Compression
Ryabko Reduction of the secret key length in the perfect cipher by data compression and randomisation
KR20230021567A (ko) 데이터를 인코딩 및/또는 디코딩하기 위한 방법 및 장치
WO2003001679A2 (en) A coding method, particularly a numeric coding method
US7348900B1 (en) Method and apparatus for encoding/decoding in fixed length
RU2060593C1 (ru) Способ кодирования цифровой информации и устройство для его осуществления

Legal Events

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

Payment date: 20131104

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee