KR20230033623A - 데이터 부호화 방법 및 부호기와 데이터 복호화 방법 - Google Patents

데이터 부호화 방법 및 부호기와 데이터 복호화 방법 Download PDF

Info

Publication number
KR20230033623A
KR20230033623A KR1020220109160A KR20220109160A KR20230033623A KR 20230033623 A KR20230033623 A KR 20230033623A KR 1020220109160 A KR1020220109160 A KR 1020220109160A KR 20220109160 A KR20220109160 A KR 20220109160A KR 20230033623 A KR20230033623 A KR 20230033623A
Authority
KR
South Korea
Prior art keywords
bit
words
input
group
key value
Prior art date
Application number
KR1020220109160A
Other languages
English (en)
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 KR20230033623A publication Critical patent/KR20230033623A/ko

Links

Images

Classifications

    • 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/493Transmitting 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 by transition coding, i.e. the time-position or direction of a transition being encoded before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0079Receiver details
    • H04L7/0087Preprocessing of received signal for synchronisation, e.g. by code conversion, pulse generation or edge detection
    • 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/4904Transmitting 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 self-synchronising codes, e.g. split-phase codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Quality & Reliability (AREA)

Abstract

본 발명의 한 실시예에 따른 입력 데이터 부호화 방법은, 프리 비트, 그룹 ID 비트 및 포스트 비트를 각각 포함하는 복수의 입력 워드를 포함하는 입력 데이터의 입력 패킷을 식별하는 단계, 상기 복수의 입력 워드의 그룹 ID 비트에 기초하여 상기 복수의 입력 워드를 복수의 그룹으로 조직하는 단계, 상기 각 복수의 그룹 내의 입력 워드의 수에 기초하여 상기 복수의 그룹 중 키 그룹을 식별하는 단계, 상기 복수의 입력 워드 중 상기 키 그룹에 대응하는 입력 워드의 상기 프리 비트, 상기 그룹 ID 비트 및 상기 포스트 비트에 기초하여 키 값을 결정하는 단계, 그리고 상기 키 값 및 상기 복수의 입력 워드에 기초하여 복수의 부호화 워드를 생성하는 단계를 포함한다.

Description

데이터 부호화 방법 및 부호기와 데이터 복호화 방법 {DATA ENCODING METHOD, ENCODER, AND DATA DECODING METHOD}
본 발명은 데이터 통신 시스템에 관한 것으로서, 특히 데이터 부호화 방법 및 부호기와 데이터 복호화 방법에 관한 것이다.
본 출원은 2021년 8월 31일에 미국 특허청에 출원한 미국 특허출원번호 제63/239,281호(발명의 명칭: FLEXIBLE WORD-SIZE TRANSITION ENCODING CODES)를 우선권 주장하며, 여기에 인용함으로써 이 출원의 전체 내용을 본원에 포함한다.
일반적으로 직렬 데이터 통신은 유선 통신 시스템, 광섬유 통신 시스템뿐 아니라 무선 통신 시스템에도 통상적으로 사용된다. 디지털 데이터의 직렬 통신에서, 송신기가 데이터 스트림과 함께 클록 신호를 송신하지 않을 때는, 수신기가 데이터 스트림에 들어 있는 시간 정보를 사용하여 클록을 재생하여야 한다. 직렬 데이터 스트림에서 시간 정보를 추출하는 과정은 클록 복구라고 알려져 있고, 수신기 회로가 전송된 심볼을 복호화할 때 중요하다.
전송된 데이터를 변경하여 데이터 스트림 내에 충분한 수의 전이가 존재하도록 함으로써 수신기에서의 클록 복구에 도움을 줄 수 있다. 달리 말하면, 최악의 경우인 전이 없는 런-길이가 제한되어야 한다. 전이를 자주 발생시키기 위해서, 송신기는 전이 부호화 알고리즘을 사용하여 전이가 주기적으로 일어나도록 원래 데이터(raw data)를 부호화할 수 있다.
배경 기술 항목에서 설명한 앞서의 정보는 본 발명의 이해를 높이기 위한 것일 뿐이며, 당업자에게 이미 알려진 종래 기술을 이루지 않는 정보를 포함할 수 있다.
본 발명이 해결하고자 하는 과제는 유연한(flexible) 워드 크기와 런-길이 한계를 가지는 전송 스트림의 전이 부호화 시스템 및 방법을 제공하는 것이다.
본 발명의 한 실시예에 따르면, 전이 부호화는 데이터 패킷 내의 각 워드의 비트 부분 집합을 그 워드의 그룹 ID로 사용하고, 그 그룹 ID에 기초하여 패킷의 워드를 서로 다른 그룹으로 조직하고, 최소 워드 수를 가지는 키 그룹을 식별하며, 이어 그룹 ID와 키 그룹의 누락 비트 패턴에 기초하여 부호화 키 값을 결정한다. 전이 부호기는 이어 부호화 워드를 수신기에 보내기 전에 키 값을 사용하여 각 워드를 부호화한다. 본 발명의 한 실시예에 따르면, 어떠한 소기의 워드 크기 및 런-길이 한계에 대해서도 전이 부호화는 쉽게 변경될 수 있다.
본 발명의 한 실시예에 따른 입력 데이터 부호화 방법은, 프리 비트, 그룹 ID 비트 및 포스트 비트를 각각 포함하는 복수의 입력 워드를 포함하는 입력 데이터의 입력 패킷을 식별하는 단계, 상기 복수의 입력 워드의 그룹 ID 비트에 기초하여 상기 복수의 입력 워드를 복수의 그룹으로 조직하는 단계, 상기 각 복수의 그룹 내의 입력 워드의 수에 기초하여 상기 복수의 그룹 중 키 그룹을 식별하는 단계, 상기 복수의 입력 워드 중 상기 키 그룹에 대응하는 입력 워드의 상기 프리 비트, 상기 그룹 ID 비트 및 상기 포스트 비트에 기초하여 키 값을 결정하는 단계, 그리고 상기 키 값 및 상기 복수의 입력 워드에 기초하여 복수의 부호화 워드를 생성하는 단계를 포함한다.
본 발명의 한 실시예에 따른 입력 데이터 부호화 방법은, 상기 입력 데이터를 수신하는 단계, 그리고 상기 입력 데이터를 상기 입력 패킷을 포함하는 복수의 데이터 패킷으로 분할하는 단계를 더 포함할 수 있다.
본 발명의 한 실시예에 따르면, 상기 입력 워드 각각은 [PRBi GIDi POBi]로 표현되며, PRBi는 상기 프리 비트를 나타내고, GIDi는 상기 그룹 ID 비트를 나타내고, POBi는 상기 포스트 비트를 나타내며, i는 0보다 큰 정수일 수 있다.
본 발명의 한 실시예에 따르면, 상기 입력 패킷은 31 개의 입력 워드를 포함하고, 상기 복수의 입력 워드 각각은 8 비트를 포함하고, 상기 프리 비트는 상기 복수의 입력 워드 중 대응 워드의 2 MSB(most significant bit)를 포함하고, 상기 그룹 ID 비트는 상기 대응 워드의 4 중간 비트를 포함하고, 상기 포스트 비트는 상기 대응 워드의 2 LSB(least significant bit)를 포함하며, 상기 복수의 그룹은 8 개의 그룹을 포함하며, 상기 입력 패킷의 런 길이는 10일 수 있다.
본 발명의 한 실시예에 따르면, 상기 복수의 입력 워드를 복수의 그룹으로 조직하는 단계는, 상기 복수의 입력 워드 중 동일한 그룹 ID 비트 또는 동일한 그룹 ID 비트의 보수를 가지는 입력 워드들을 상기 복수의 그룹 중 동일한 그룹으로 묶는 단계를 포함하며, 상기 복수의 그룹의 수는 상기 그룹 ID 비트 내의 비트 수의 절반일 수 있다.
본 발명의 한 실시예에 따르면, 상기 복수의 입력 워드를 복수의 그룹으로 조직하는 단계는, 복수의 입력 워드 중 (2g-1)/2 보다 작고 제1 값과 동일한 그룹 ID 비트 값을 가지는 워드들을 하나로 묶고, (2g-1)/2 보다 크고 상기 제1 값의 보수와 동일한 그룹 ID 비트 값을 가지는 워드들을 동일한 그룹의 다른 하나로 묶는 단계를 포함하며, 상기 g는 상기 그룹 ID 비트의 비트 길이를 나타낼 수 있다.
본 발명의 한 실시예에 따르면, 상기 키 그룹을 식별하는 단계는, 상기 키 그룹을 상기 복수의 그룹 중 최소 입력 워드 수 또는 문턱 값 아래의 입력 워드 수를 가지는 그룹으로 정의하는 단계를 포함할 수 있다.
본 발명의 한 실시예에 따르면, 상기 키 값을 결정하는 단계는, 키 그룹 ID 비트를 상기 복수의 워드 중 상기 키 그룹에 대응하는 워드의 그룹 ID 비트로 결정하는 단계, 키 프리 비트를 상기 복수의 워드 중 상기 키 그룹에 대응하는 워드의 프리 비트에서 누락된 비트로 결정하는 단계, 키 포스트 비트를 상기 복수의 워드 중 상기 키 그룹에 대응하는 워드의 포스트 비트에서 누락된 비트로 결정하는 단계, 그리고 상기 키 프리 비트, 상기 키 그룹 ID 비트 및 상기 키 포스트 비트에 기초하여 상기 키 값을 생성하는 단계를 포함할 수 있다.
본 발명의 한 실시예에 따르면, 상기 키 값은 [PRB0 GID0 POB0]로 표현되며, PRB0 는 상기 키 프리 비트를 나타내고, GID0 는 상기 키 그룹 ID 비트를 나타내고, POB0 는 상기 키 포스트 비트를 나타낼 수 있다.
본 발명의 한 실시예에 따르면, 상기 키 값은 상기 복수의 입력 워드 중 하나와 동일한 비트 길이를 가지며, 상기 복수의 입력 워드 중 어느 것과도 같지 않을 수 있다.
본 발명의 한 실시예에 따르면, 상기 복수의 부호화 워드는 제1 부호화 워드 및 제2 부호화 워드를 포함하며, 상기 제1 부호화 워드는 적어도 상기 키 값에 기초하고, 상기 제2 부호화 워드는 상기 키 값과 상기 복수의 입력 워드 중 제1 입력 워드에 기초할 수 있다.
본 발명의 한 실시예에 따르면, 상기 복수의 부호화 워드를 생성하는 단계는, 상기 키 값에 기초하여 변경 키 값을 생성하는 단계, 상기 제1 부호화 워드를 상기 변경 키 값으로 생성하는 단계, 그리고 상기 복수의 입력 워드 중 하나와 상기 키 값에 이진 XOR 연산을 수행하여 상기 제1 부호화 워드를 생성하는 단계를 포함할 수 있다.
본 발명의 한 실시예에 따르면, 상기 복수의 부호화 워드는 { K' , x 1^K, x 2^K, … , x N^K }로 표현되며, K는 상기 키 값을 나타내고, K'은 상기 키 값에 기초한 변경 키 값을 나타내고, x 1, x 2, … , x N 은 상기 입력 패킷의 상기 복수의 입력 워드를 나타내고, N은 2보다 큰 정수이고, ^ 는 이진 XOR 연산을 기호화한 것일 수 있다.
본 발명의 한 실시예에 따른 입력 데이터 부호화 방법은, 상기 복수의 부호화 워드를 포함하는 전송 데이터를 통신 채널을 통하여 수신기에 전송하는 단계를 더 포함할 수 있다.
본 발명의 한 실시예에 따른 입력 데이터 부호화용 전이 부호기는, 프로세서, 그리고 상기 프로세서에 종속되며 명령(instruction)을 저장하는 프로세서 메모리를 포함하며, 상기 프로세서가 상기 명령을 수행하면 상기 프로세서는, 프리 비트, 그룹 ID 비트 및 포스트 비트를 각각 포함하는 복수의 입력 워드를 포함하는 입력 데이터의 입력 패킷을 식별하고, 상기 입력 워드의 그룹 ID 비트에 기초하여 상기 복수의 입력 워드를 복수의 그룹으로 조직하고, 상기 복수의 그룹 중 문턱 값보다 작은 입력 워드의 수에 대응하는 키 그룹을 식별하고, 상기 복수의 입력 워드 중 상기 키 그룹에 대응하는 입력 워드의 상기 프리 비트, 상기 그룹 ID 비트 및 상기 포스트 비트에 기초하여 키 값을 결정하고, 상기 키 값 및 상기 복수의 입력 워드에 기초하여 복수의 부호화 워드를 생성한다.
본 발명의 한 실시예에 따른 전송 데이터 복호화 방법은, 변경 키 값을 포함하고 제1 부호화 워드를 포함하는 복수의 부호화 워드를 포함하는 전송 데이터를 수신하는 단계, 상기 변경 키 값에 기초하여 키 값을 생성하는 단계, 그리고 상기 키 값과 상기 제1 부호화 워드에 이진 XOR 연산을 수행하여 복수의 복호화 워드 중 제1 복호화 워드를 생성하는 단계를 포함한다.
본 발명의 한 실시예에 따르면, 상기 변경 키 값은 [PRB0 GID0 POB0]로 표현되며, PRB0 는 상기 변경 키 값의 프리 비트를 나타내고, GID0 는 상기 변경 키 값의 그룹 ID 비트를 나타내고, POB0 는 상기 변경 키 값의 포스트 비트를 나타내며, 상기 변경 키 값에 기초하여 키 값을 생성하는 단계는, 상기 키 값의 상기 그룹 ID 비트의 MSB를 0으로 바꾸어 상기 키 값을 생성하는 단계를 포함할 수 있다.
본 발명의 한 실시예에 따르면, 상기 변경 키 값에 기초하여 키 값을 생성하는 단계는, 상기 변경 키 값의 비트 중 하나를 0으로 설정하여 상기 키 값을 생성하는 단계를 포함할 수 있다.
본 발명의 한 실시예에 따르면, 상기 복수의 부호화 워드는 { K' , x 1^K, x 2^K, … , x N^K }로 표현되며, x 1, x 2, … , x N 은 입력 패킷의 복수의 입력 워드를 나타내고, K는 상기 복수의 부호화 워드를 부호화하는 데 사용되는 상기 키 값을 나타내고, K'은 상기 변경 키 값을 나타내고, ^ 는 이진 XOR 연산을 기호화한 것일 수 있다.
본 발명의 한 실시예에 따르면, 상기 전송 데이터를 수신하는 단계는, 상기 전송 데이터를 통신 채널을 통하여 송신기로부터 수신하는 단계를 포함할 수 있다.
본 발명은 어떤 적절한 워드 크기를 가지는 데이터라도 부호화하여 어떤 적절한 런 길이 제한이라도 생성할 수 있다. 본 발명의 한 실시예에서는, 전이 부호기가 특별한 방식으로 입력 데이터에 기초하여 키 값을 결정함으로써 이러한 소기의 특성을 가능하게 하며, 이는 바이트-워드 정렬 하드웨어 또는 비트 패딩을 구현할 필요성을 없애고, 송신기/수신기 설계를 간단히 하며, 전체 시스템 비용을 줄여 준다. 또한, 본 발명의 한 실시예에 따르면, 통신 시스템은 전이 부호화 방식에 오버헤드를 가하지 않고 이러한 소기의 효과를 달성한다.
도 1a는 본 발명의 한 실시예에 따른 직렬 데이터 통신 시스템의 블록도이다.
도 1b는 본 발명의 한 실시예에 따른 직렬 데이터 통신 시스템의 송신기/수신기의 블록도이다.
도 2는 본 발명의 한 실시예에 따라 다수의 워드로 분할된 패킷을 나타낸다.
도 3은 본 발명의 한 실시예에 따른 입력 데이터 부호화 과정을 나타낸다.
도 4는 본 발명의 한 실시예에 따른 입력 데이터 복호화 과정을 나타낸다.
이제 뒤에서 설명할 상세한 설명은 직렬 통신에서의 데이터 전이 부호화/복호화 시스템 및 방법의 실시예에 관한 것으로서, 본 발명에 의하여 구현 또는 이용될 유일한 형태를 나타내는 것은 아니다. 이제 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 상세하게 설명한다. 그러나 서로 다른 실시예에서 구현되는 것과 동일한 또는 균등한 기능과 구조도 본 발명의 범위 내에 포함된다. 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 도면 부호를 붙였다.
관련 기술로서, 런-길이 제한 전송을 달성하기 위하여, 송신기는 입력 데이터 전송을 위한 부호화(된) 워드로 변환할 수 있는데, 이는 입력 데이터에 기초하여 키를 정의하고, 그 키를 사용하여 각 워드를 부호화하고, 부호화(된) 워드들과 함께 그 키를 수신기에 전송함으로써 가능하다. 부호화된 데이터는 특정 런-길이 제한을 가지고 있다. 다시 수신기는 전송 데이터 내의 키를 식별하고 이를 사용하여 수신한 부호화 워드를 복호화하여 원본 입력 데이터를 얻는다. 그러나 관련 기술의 부호기들은 프로토콜 층(protocol layer)이 생성한 바이트-크기 직렬 데이터와 정렬되지 않는 (즉, 다른) 워드 크기로 동작하는 경우가 잦다. 예를 들면, 프로토콜 층은 8-비트 바이트 단위로 데이터를 생성하는 반면, 부호기는 6 비트 단위로 전이 부호화를 수행할 수 있다. 이 경우, 부호기는 전이 부호화 패킷에서 오버헤드(overhead)를 증가시키는 비트 패딩/스터핑(padding/stuffing)을 사용해야 할 수도 있고, 값비싼 부동산을 차지하고 추가적인 비용과 복잡함을 더하는 추가적인 정렬 하드웨어에 의존해야 할 수도 있다.
본 발명의 한 실시예에 따르면, 전이 부호기는 바이트-크기 데이터 또는 적정 비트 수를 가지는 워드 크기를 부호화하여 다양한 런-길이 제한을 생성할 수 있다. 전이 부호기는 어떠한 적정 런-길이 제한도 가질 수 있으며, 특정 런-길이에 한정되지 않는다. 이는 비트 패딩이나 추가적인 바이트-워드 정렬 하드웨어의 필요성을 제거하며, 이는 송신기/수신기 설계를 단순화하고 시스템 비용을 줄여줄 수 있다.
도 1a는 본 발명의 한 실시예에 따른 직렬 데이터 통신 시스템(1)의 블록도이다. 도 1b는 본 발명의 한 실시예에 따른 직렬 데이터 통신 시스템(1)의 송신기/수신기의 블록도이다.
도 1a를 참고하면, 본 발명의 한 실시예에 따른 직렬 데이터 통신 시스템(1)은 송신기(10), 통신 채널(즉, 직렬 통신 채널)(15) 및 수신기(20)를 포함한다. 송신기(10)는 입력 데이터 스트림에 압축을 수행하거나 부호화를 수행하여 통신 채널(15)(보기: 하나 이상의 도체를 갖춘 전송선)을 통하여 수신기(20)에 전송할 전송 데이터를 생성하는 데이터 압축기 및/또는 부호기(12)를 포함할 수 있다. 수신기(20)는 수신기(20)가 수신한 데이터 스트림에 압축 해제 또는 복호화를 수행하여 입력 데이터 스트림을 복구하는 데이터 압축 해제기 및/또는 복호기(22)를 포함할 수 있다. 수신기(20)는 또한 클록 복구 회로(24)를 포함할 수 있다.
본 발명의 한 실시예에 따르면, 송신기(10)는 전이 부호기(100)를 포함하며, 전이 부호기(100)는 전이가 적어도 특정 주파수에 따라 발생하도록 함으로써 전송 데이터 스트림을 부호화하는데, 여기에서 특정 주파수는 수신기(20)가 통신 채널(15)을 통하여 전송된 (예를 들어, 전이 부호화된) 부호화 데이터 스트림으로부터 클록 신호를 추출할 수 있도록 하는 주파수이다. 즉, 전이 부호기(100)는 부호화 데이터 스트림의 런-길이를 제한한다.
도 1b에 도시한 것처럼, 송신기(10)와 수신기(20)의 구성 요소가 수행하는 동작은 "처리 회로" 또는 "처리기" 또는 "프로세서"(30)로 구현될 수 있다. "처리 회로"는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합을 사용하여 구현할 수 있다. 처리 회로는 예를 들면, 응용 주문형 집적 회로(ASIC), 범용 또는 전용 중앙 처리 장치(CPU), 디지털 신호 처리기(DSP), 그래픽 처리 장치(GPU), FPGA 등의 프로그램가능 논리 장치를 포함할 수 있다. 처리 회로에서 각각의 함수는 그 기능을 수행하는 유선 하드웨어 또는 비순간(non-transitory) 저장 매체에 저장된 명령을 수행하는 CPU 등의 범용 하드웨어로 수행될 수 있다. 처리 회로는 하나의 인쇄 배선 기판(PWB: printed wiring board)에 제작되거나 서로 연결된 PWB에 분산 배치될 수 있다. 처리 회로는 다른 처리 회로를 포함할 수 있는데, 예를 들면 PWB 상에서 서로 연결된 FPGA와 CPU를 포함할 수 있다. 프로세서(30)에 종속된 프로세서 메모리(32)는 명령을 포함할 수 있으며, 프로세서(30)는 이 명령을 실행하면 도 1a, 도 2 내지 도 4를 참고하여 설명한 동작을 수행할 수 있다.
도 2는 본 발명의 한 실시예에 따라 다수의 워드로 분할된 패킷을 나타낸다.
도 1a 및 도 2를 참고하면, 본 발명의 한 실시예에서는, 전이 부호기(100)가 [데이터 압축기 및/또는 부호기(12)에 의하여 압축/부호화되었거나 그렇지 않은] 입력 데이터를 다수의 입력 데이터 패킷(보기: 비트 스트림)으로 분할한다. 각 입력 데이터 패킷(입력 패킷이라고도 함)은 N 개의 워드/디지트(word/digit)로 분할되며, 각 워드/디지트는 q 개의 비트를 포함한다. 따라서 데이터 패킷(X)은 다음과 같이 표현할 수 있다.
Figure pat00001
여기에서 x 1, x 2, ..., x N 은 입력 패킷을 이루는 N 개의 워드/디지트를 나타내고, 이들 각각은 0과 2q-1 사이의 값을 가진다. 도 2의 예에서, 각 워드는 8 비트를 포함하고(즉, q = 8), [0:255] 범위의 값을 가진다. 그러나 본 발명의 실시예는 이에 한정되지 않으며, 각 워드가 어떠한 비트 수(보기: 6 비트, 10 비트 등)라도 가질 수 있다.
전이 부호기(100)는 각 워드를 부호화/스크램블(scramble)하여 각 워드/디지트에 전이를 확보하고 전송된 데이터의 런-길이를 소기의 값으로 한정한다. 본 발명의 한 실시예에서는, 전이 부호기(100)가 패킷의 워드들을 이러한 방식으로 부호화하여 런-길이/2 보다 큰 선두(leading) 또는 후미(trailing) 런-길이를 가지는 워드가 전송되는 것을 방지한다. 8-비트 워드 및 10의 소기 전송 런-길이의 예에서, 전이 부호기(100)는 다음과 같은 워드를 제거한다.
000000xx
xx000000
111111xx
xx111111
여기에서 'x'는 0 또는 1 ["비트 무관(don't-care bit)"]일 수 있다. 여기에서, 두 개의 연속 워드에서 최악의 런 시나리오는 xx100000 000001xx 및 xx011111 111110xx 이며, 둘 다 10의 런-길이를 가진다.
수신한 입력 워드를 부호화하기 위해서, 전이 부호기(100)는 먼저 각 입력 워드의 비트를 프리 비트(PRB: pre bits), 그룹 ID 비트(GID: group ID bits) 및 포스트 비트(POB: post bits)로 분할한다. 즉, 각 입력 워드는 [PRB GID POB]로 표시할 수 있으며, PRB가 최상위 비트(MSB: most significant bits), GID가 중간 비트(middle bits), POB가 최하위 비트(LSB: least significant bits). GID에 있는 중간 비트 수는 다음과 같다.
Figure pat00002
여기에서 RL은 소기의 부호화 런 길이를 나타내고, WBL은 입력 워드 비트 길이를 나타낸다. 앞의 예에서, GID의 비트 수는 4 (=10-8+2)이다. 따라서, 앞의 금지 비트(forbidden bits above)는 2-비트 PRB, 4-비트 GID, 2-비트 POB로 분할될 수 있으며 다음의 표 1에 나타낸 바와 같다.
금지 워드 PRB GID POB
000000xx 00 0000 00
xx000000 xx 0000 00
111111xx 11 1111 xx
xx111111 xx 1111 11
표 1에서 볼 수 있는 바와 같이, GID가 모두 0 또는 모두 1이 아니면, 금지 워드는 회피된다. 또한, GID가 모두 0 또는 모두 1이면, PRB와 POB 둘 다 GID와 동일한 비트를 가지지 않을 때만 금지 워드가 회피될 수 있다. 따라서, 전이 부호기(100)는 대부분의 부호화된 워드가 모두 0 또는 모두 1인 GID를 가지지 않도록 입력 워드의 GID를 부호화하고, 모두 0 또는 모두 1인 GID를 가지는 부호화 워드가 GID와 유사하게 모두 0 또는 모두 1을 가지지 않도록 PRB와 POB를 부호화한다.
본 발명의 한 실시예에서는, 일단 워드가 분할되면, 입력 워드는 그 GID에 기초하여 묶인다. 여기에서, 동일한 GID 및 보수(complement)(즉, 1의 보수) GID(보기: 0000 and 1111)를 가지는 워드는 함께 묶인다. 즉, GID가 g 비트를 가지면, (2g-1)/2 보다 작은 GID 값을 가지는 워드들은 그 GID와 어울리는 그룹 수로 조직되고, (2g-1)/2 보다 큰 GID 값을 가지는 워드들은 그 보수[역(inverse)] GID와 어울리는 그룹 수로 조직된다. 이와 같이, 입력 워드가 조직되는 그룹의 수는 2g-1이다. GID에 기초하여 조직되는 입력 워드 그룹은 정규 워드(regular word)라 하고 보수 GID에 기초하여 조직되는 입력 워드 그룹은 보수 워드(complement word)라 할 수 있다.
입력 워드를 서로 다른 그룹으로 조직하는 것은 아래 표 2의 도움으로 시각화할 수 있다. 표 2의 예에서, 예시한 패킷의 각 입력 워드는 8 비트이고, GID는 4 비트(즉, g = 4)이며, PRB 및 POB 각각은 2 비트를 가진다. 따라서, 전이 부호기(100)는 입력 워드를 8 개의 그룹(즉, 0 ~ 7)으로 조직한다.
그룹 워드 GID PRB POB 부호화 워드 새 그룹
00-0000-01 00-0001-01
0 10-0000-11 10-0001-11
0000 11-0000-10 11-0001-10 1
구성원 수: 5 00-1111-01 00-1110-01 0001
11-1111-10 11-11110-10
11-0001-10 0001 11 10 11-0000-10
1 10-0001-11 0001 10 11 10-0000-11 0
0001 10-1110-01 inv(0001) inv(01) inv(10) 10-1111-01 0000
구성원 수: 3 GID0 = 0001 PRB0 = 00 POB0 = 00
01-0111-00 01-0110-00
7 11-1000-10 11-1001-10 6
0111 01-1000-11 01-1001-11 0110
구성원 수: 4 11-1000-01 11-1001-01
본 발명의 한 실시예에서는, 전이 부호기(100)가 최소 구성원을 가지는 그룹(보기: 표 2의 그룹 1) 또는 문턱 값(보기: 4)보다 작은 수의 구성원을 가지는 그룹을 식별하며, 이 그룹을 키 그룹(key group)이라 한다. 키 그룹 내의 모든 워드의 GID 또는 보수 GID는 그룹 GID를 나타낼 수 있다. 표 2의 예에서, 그룹 1은 워드 구성원 수가 최소(즉, 3)로서 키 그룹으로 식별될 수 있다. 이 그룹 내의 워드는 GID (또는 보수 GID)가 0001이다. 이와 같이, 0001 또는 1110 은 키 그룹의 GID(GID0로 표기할 수 있음)로 식별될 수 있다. 본 발명의 한 실시예에서는, 키 그룹의 GID (보수 GID는 아님)는 GID0로 선택된다. GID0의 MSB가 0이라 가정하고, GID0의 나머지 비트(보기: 표 2의 예에서 001)만이 수신기(20)로 전송될 수 있다. 이러한 방식에 맞추어, 수신기(20)는 송신기(10)로부터 받은 GID0의 나머지 비트(보기: 001)에 0의 MSB를 덧붙일 수 있다. 0의 MSB를 전송하지 않음으로써 전이 부호기(100)는 줄어든 수의 오버헤드 비트를 전송하는 향상된 부호화 효율을 얻을 수 있다.
키 그룹의 GID0가 구성원 워드의 GID(보기: GID0 = 0001)에 기초하는 실시예에서, 키 그룹의 PRB는 어떤 정규 워드의 PRB 및 어떤 보수 워드의 보수 PRB로서 식별될 수 있다. 키 그룹의 PRB와 POB는 각각 PRB0와 POB0라고 할 수 있다. 키 그룹의 GID0가 구성원 워드의 보수 GID(보기: GID0 = 1110)에 기초하는 경우에는, PRB0 및 POB0가 대응하는 정규 구성원 워드의 POB 및 보수 PRB와 대응 보수 워드의 PRB 및 POB로부터의 누락 비트 패턴(missing bit pattern)에 기초할 수 있다.
전이 부호기(100)는 이어 키 그룹의 GID, PRB 및 POB에 기초하여 부호화 키 값(coding key value)(간단히 "키 값"이라고 함)을 생성한다. 본 발명의 한 실시예에 따르면, 전이 부호기(100)는 키 그룹의 GID를 키 값(GID0)의 GID로 사용하며, 키 값의 PRB 및 POB(즉, PRB0 and POB0)를 각각 키 그룹의 PRB0 및 POB0으로부터 누락된 비트 패턴으로 결정한다. 하나 이상의 비트 패턴이 PRB/POB로부터 누락되었다면, 누락 패턴 중 어느 것이라도 PRB0/POB0로 사용될 수 있다. 표 2의 예에서, GID0는 0001이고, PRB는 00이며, POB는 00 또는 01일 수 있다. 그러므로 키 값은 [00 0001 00], [00 0001 01], [00 1110 00] 또는 [00 1110 01]일 수 있다. 여기에서, 키 값은 입력 워드와 동일한 비트 수(즉, 비트 길이)를 가진다.
패킷이 31 개의 워드를 포함하는 표 2의 예에서, 적어도 하나의 그룹은 3 개 또는 그보다 적은 수의 구성원을 가질 것이다. 이와 같이, 키 그룹의 PRB 및 POB로부터 누락된 하나 이상의 비트 패턴을 찾을 수 있다. 이 조건은 입력 패킷의 워드 수 N이 그룹 수에 PRB/POB 필드에서 가능한 패턴 수를 곱한 값보다 작은 한 충족된다(표 2의 예에서, 8개의 그룹과 PRB 및 POB에 4 개의 패턴이 있으므로 패킷 크기는 8 x 4 = 32 보다 작다).
본 발명의 한 실시예에서는, 전이 부호기(100)가 키 값을 사용하여 입력 워드를 부호화하여 수신기(20)에 전송할 복수의 부호화 워드를 포함하는 부호화된 패킷을 생성한다. 각 부호화 워드는 대응 입력 워드와 키 값에 XOR 연산을 수행한 결과이다. 이와 같이, 부호화된 패킷(Y)은 다음과 같이 표현할 수 있다.
Figure pat00003
여기에서 K는 키 값을 나타내고, x 1, x 2, ..., x N 는 입력 패킷을 이루는 N 개의 입력 워드를 나타내고, 기호 ^ 는 이진 XOR 연산을 기호화한 것이다. 부호화된 패킷이 부호화 워드뿐 아니라 키 값도 포함하므로 부호화된 패킷의 워드 길이가 변환된 패킷보다 1만큼 더 크다(즉, N+1 개의 워드를 포함한다). 여기에서는 전체 키워드가 부호화 워드(y 0)로서 수신기에 전송되지만, 본 발명의 실시예는 이에 한정되지 않는다. 예를 들면, 전이 부호기(100)가 변경(된) 키 값(K')을 만들고 이를 키 값(K) 대신 수신기(20)에 전송할 수 있다. 키 값의 GID0의 MSB가 0이라고 가정한 실시예에서, 전이 부호기(100)는 변경 키 값(K')을 키 값(K)과 동일하게 만들되, GID0의 MSB를 GID0의 차상위 비트(next significant bit)의 보수(complement)로 대체할 수 있다. 예를 들면, 표 2를 참고하면, 키 값의 GID0 0001일 때, 변경 키 값의 GID0는 1001일 수 있다. 이는 K'에 전이가 있고 K'의 전송 동안 런-길이가 위배되지 않도록 보장하기 위하여 행해진다. 이러한 실시예에서, 부호화된 패킷(Y)은 다음과 같이 표현될 수 있다.
Figure pat00004
수학식 3, 4는 키 값/변경 키 값을 부호화된 패킷의 첫 번째 워드로 표현하고 있지만, 본 발명의 실시예는 이에 한정되지 않는다. 예를 들면, 키 값/변경 키 값은 부호화된 패킷(Y)의 마지막 워드일 수도 있고, 아니면 수신기(20)가 패킷 내의 키 값/변경 키 값의 위치를 알고 있는 한 패킷 내의 적정한 어떤 위치라도 가능하다. 키 값/변경 키 값이 결정되는 방식 때문에, 부호화된 워드는 수신기(20)가 전송된 패킷으로부터 클록을 복구할 수 있도록 하는 소기의 런-길이를 보여준다.
표 2는 예시의 입력 워드와 생성된 키 값에 기초하여 생성된 부호화된 값을 제공한다. 키 값의 GID (및, 이와 동등하게, 키 그룹의 GID)는 그 정의에 따라 다른 그룹의 것과는 다르기 때문에, 키 값과 다른 그룹의 입력 워드를 XOR 연산하면 결과적인 부호화 워드의 GID에 비트 전이가 발생한다. 따라서, 표 2에 도시한 것처럼, 키 값의 GID는 키 그룹이 아닌 그룹에 대응하는 적어도 이러한 워드들에 대해서 10의 런 길이를 보장한다. 또한, 키 그룹의 워드의 PRB 및 POB와 다른 키 값의 PRB0 및 POB0를 사용함으로써, 키 그룹 내의 워드와 키 값의 XOR 연산이 부호화된 워드의 PRB 및 POB 둘 다에 비트 전이(즉, 연속하는 0과 1 비트)를 확실히 일으키도록 할 수 있다. 그 결과, 키 그룹 내의 워드조차도 부호화되어 소기의 런-길이(보기: 표 2에서 10)를 충족시킨다.
송신기(10)는 통신 채널(15)을 통하여 수신기(20)와 부호화된 패킷(Y)을 전한다. 부호화된 패킷(Y)이 (예를 들어 수학식 3에 있는) 키 값(K)을 포함하는 실시예에서, 수신기(20)가 부호화된 패킷을 수신하면, 전이 복호기(200)는 키 값(보기: 수신한 패킷의 첫 번째 워드)을 식별하고, 키 값에 기초하여 나머지 부호화 워드를 복호화하여 복호화(된) 패킷(X')을 생성하며, 이는 { x' 1, x' 2, ..., x' N }로 표현된다. 전이 복호기(200)는 두 번째 및 그 이후 워드를 키 값과 XOR 연산한다. 본 발명의 한 실시예에서는, 복호화(된) 워드(x' i)(i는 1 이상의 정수)는 다음과 같이 표현될 수 있다.
Figure pat00005
따라서, 전이 복호기(200)는 원본 입력 워드를 재생할 수 있다. 부호화된 패킷이 [예를 들어 수학식 4에 표현한 키 값(K) 대신] 변경 키 값(K')을 포함하는 실시예에서, 전이 복호기(200)는 변경 키 값(보기: 수신한 패킷에서 첫 번째 워드)을 식별하고, 키 값의 GID0의 MSB를 0으로 대체함으로써 변경 키 값(K')에 기초하여 키 값(K)을 생성하며, 앞서 설명한 것처럼, 나머지 부호화된 워드를 키 값(K)에 기초하여 복호화한다.
도 3은 본 발명의 한 실시예에 따른 입력 데이터 부호화 과정(300)을 나타낸다.
전이를 위하여 입력 데이터를 처리할 때, 전이 부호기(100)는 입력 데이터(보기: 입력 데이터 스트림)를 수신하고, 입력 데이터를 복수의 데이터 패킷으로 분할하며, 입력 데이터의 입력 패킷을 식별한다(S302). 입력 패킷은 복수의 입력 워드를 포함하고, 각 입력 워드는 프리 비트, 그룹 ID 비트 및 포스트 비트를 포함한다.
본 발명의 한 실시예에서는, 전이 부호기(100)가 복수의 입력 워드를 그 그룹 ID 비트에 기초하여 복수의 그룹으로 조직한다(S304). 이와 같이 할 때, 전이 부호기(100)는 복수의 입력 워드 중 동일한 그룹 ID 비트와 동일한 보수 그룹 ID 비트를 가지는 것들을 복수의 그룹 중 동일한 그룹으로 묶는다. 본 발명의 한 실시예에서는, 전이 부호기(100)가 복수의 입력 워드 중 (2g-1)/2 보다 작고 제1 값과 동일한 그룹 ID 비트 값을 가지는 워드들을 하나로 묶고, (2g-1)/2 보다 크고 제1 값의 보수와 동일한 그룹 ID 비트 값을 가지는 워드들을 동일한 그룹의 다른 하나로 묶는다. 그룹의 수는 그룹 ID 비트 내의 비트 수의 절반일 수 있다.
본 발명의 한 실시예에서는, 입력 패킷이 31 개의 입력 워드를 포함하고, 복수의 입력 워드 각각은 8 비트를 포함하고, 프리 비트는 복수의 입력 워드 중 대응하는 워드의 2 MSB를 포함하고, 그룹 ID 비트는 대응 워드의 4 중간 비트를 포함하고, 포스트 비트는 대응 워드의 2 LSB를 포함하며, 복수의 그룹은 8 개의 그룹을 포함하며, 입력 패킷의 런 길이는 10이다. 전이 부호기(100)는 이어 복수의 그룹 중 입력 워드 수가 최소인 키 그룹을 식별한다(S306).
본 발명의 한 실시예에서는, 전이 부호기(100)가 복수의 워드 중 키 그룹에 대응하는 워드의 프리 비트, 그룹 ID 비트 및 포스트 비트에 기초하여 키 값을 결정한다(S308). 이렇게 할 때, 전이 부호기(100)는 키 그룹 ID 비트를 복수의 워드 중 키 그룹에 대응하는 워드의 그룹 ID 비트로 정하고, 키 프리 비트를 복수의 워드 중 키 그룹에 대응하는 워드의 프리 비트에서 누락된 비트로 정하고, 키 포스트 비트를 복수의 워드 중 키 그룹에 대응하는 워드의 포스트 비트에서 누락된 비트로 정하며, 키 프리 비트, 키 그룹 ID 비트 및 키 포스트 비트에 기초하여 키 값을 생성한다. 여기에서, 키 값은 복수의 입력 워드 중 하나와 동일한 비트 길이를 가지며, 복수의 입력 워드 중 어느 것과도 같지 않다.
전이 부호기(100)는 키 값 및 복수의 입력 워드에 기초하여 복수의 부호화(된) 워드를 생성한다(S310). 복수의 부호화 워드는 제1 부호화 워드 및 제2 부호화 워드를 포함하며, 제1 부호화 워드는 적어도 키 값에 기초하고, 제2 부호화 워드는 키 값과 제1 입력 워드에 기초한다. 전이 부호기(100)는 제1 부호화 워드를 키 값으로 생성하고, 복수의 입력 워드 중 하나와 키 값에 이진 XOR 연산을 수행함으로써 제2 부호화 워드를 생성한다.
전이 부호기(100)는 이어 부호화 워드를 포함하는 전송 데이터를 통신 채널(15)을 통하여 수신기(20)에 전송한다.
도 4는 본 발명의 한 실시예에 따른 전송 데이터 복호화 과정(400)을 나타낸다.
본 발명의 한 실시예에서는, 수신기(20)가 복수의 부호화 워드를 포함하는 전송 데이터를 통신 채널(15)을 통하여 송신기(10)로부터 수신한다(S402). 부호화 워드는 제1 부호화 워드 및 제2 부호화 워드를 포함한다. 본 발명의 한 실시예에 따르면, 제1 및 제2 부호화 워드는 연속하는 워드일 수 있다. 수신기(20)[보기: 전이 복호기(200)]는 제1 및 제2 부호화 워드에 이진 XOR 연산을 수행하여 복수의 복호화(된) 워드 중 제1 복호화 워드를 생성함으로써 복수의 복호화 워드를 생성한다(S404). 제1 부호화 워드의 비트 길이는 제1 복호화 워드와 동일할 수 있다.
앞서 설명한 바와 같이, 본 발명의 한 실시예에 따른 전이 부호기(100)는 어떤 적절한 워드 크기를 가지는 데이터라도 부호화하여 어떤 적절한 런 길이 제한이라도 생성할 수 있다. 본 발명의 한 실시예에서는, 전이 부호기(100)가 특별한 방식으로 입력 데이터에 기초하여 키 값을 결정함으로써 이러한 소기의 특성을 가능하게 하며, 이는 바이트-워드 정렬 하드웨어 또는 비트 패딩을 구현할 필요성을 없애고, 송신기/수신기 설계를 간단히 하며, 전체 시스템 비용을 줄여 준다. 또한, 본 발명의 한 실시예에 따르면, 통신 시스템(1)은 전이 부호화 방식에 오버헤드를 가하지 않고 이러한 소기의 효과를 달성한다.
"제1", "제2", "제3" 등의 용어를 여러 가지 원소, 성분, 영역, 층, 부분 등에 사용하지만, 이들은 이런 수식어에 의하여 한정되지 않는다. 이러한 용어는 어떤 원소, 성분, 영역, 층, 부분을 다른 원소, 성분, 영역, 층, 부분과 구별하기 위하여 사용하는 것이며 본 발명의 취지와 범위를 벗어나지 않는다.
여기에서 사용된 용어는 특정 실시예를 설명할 목적으로 사용할 뿐이며 본 발명을 제한하고자 하는 것은 아니다. 여기에서 수를 특별히 언급하지 않으면 단수 또는 복수의 경우를 모두 포함한다. 어떤 특징, 단계, 동작, 부분, 성분 등을 "포함"한다는 표현은 해당 부분 외에 다른 특징, 단계, 동작, 부분, 성분 등도 포함할 수 있다는 것을 의미한다. "및/또는"이라는 표현은 나열된 것들 중 하나 또는 둘 이상의 모든 조합을 포함한다. 또한, 본 발명의 실시예를 설명할 때 사용하는 "수 있다"는 표현은 "본 발명의 하나 이상의 실시예"에 적용 가능하다는 것을 뜻한다. "예시적인"이라는 용어는 예 또는 도면을 나타낸다.
"사용", "이용" 등은 이와 유사한 다른 표현과 함께 비슷한 의미로 사용될 수 있다.
본 발명의 실시예를 설명할 때 "수 있다(may)"는 표현의 사용은 발명의 하나 이상의 실시예와 관련된다. 또한 "예시의(exemplary)"라는 용어는 예를 나타내기 위한 것이다.
앞에서는 구체적인 실시예를 들어 상세하게 설명하였지만, 여기에서 설명한 실시예는 본 발명의 범위를 기재한 그대로 한정하기 위한 것이 아니다. 당업자라면 앞에서 설명한 결합 및 동작의 구조 및 방법을 다음 청구범위 및 그 등가물에 표현된 발명의 원리 및 범위에서 크게 벗어나지 않고 변경 또는 수정하는 것이 가능하다는 점을 알 수 있다.
1: 직렬 데이터 통신 시스템
10: 송신기
12: 데이터 부호기/압축기
15: 통신 채널
20: 수신기
22: 데이터 복호기/압축 해제기
24: 클록 복구 회로
30: 프로세서
32: 프로세서 메모리
100: 전이 부호기
200: 전이 복호기

Claims (20)

  1. 프리 비트, 그룹 ID 비트 및 포스트 비트를 각각 포함하는 복수의 입력 워드를 포함하는 입력 데이터의 입력 패킷을 식별하는 단계,
    상기 복수의 입력 워드의 그룹 ID 비트에 기초하여 상기 복수의 입력 워드를 복수의 그룹으로 조직하는 단계,
    상기 각 그룹 내의 입력 워드의 수에 기초하여 상기 복수의 그룹 중 키 그룹을 식별하는 단계,
    상기 복수의 입력 워드 중 상기 키 그룹에 대응하는 입력 워드의 상기 프리 비트, 상기 그룹 ID 비트 및 상기 포스트 비트에 기초하여 키 값을 결정하는 단계, 그리고
    상기 키 값 및 상기 복수의 입력 워드에 기초하여 복수의 부호화 워드를 생성하는 단계
    를 포함하는 입력 데이터 부호화 방법.
  2. 제1항에서,
    상기 입력 데이터를 수신하는 단계, 그리고
    상기 입력 데이터를 상기 입력 패킷을 포함하는 복수의 데이터 패킷으로 분할하는 단계
    를 더 포함하는 입력 데이터 부호화 방법.
  3. 제1항에서,
    상기 입력 워드 각각은 [PRBi GIDi POBi]로 표현되며, PRBi는 상기 프리 비트를 나타내고, GIDi는 상기 그룹 ID 비트를 나타내고, POBi는 상기 포스트 비트를 나타내며, i는 0보다 큰 정수인 입력 데이터 부호화 방법.
  4. 제1항에서,
    상기 입력 패킷은 31 개의 입력 워드를 포함하고, 상기 복수의 입력 워드 각각은 8 비트를 포함하고, 상기 프리 비트는 상기 복수의 입력 워드 중 대응 워드의 2 MSB(most significant bit)를 포함하고, 상기 그룹 ID 비트는 상기 대응 워드의 4 중간 비트를 포함하고, 상기 포스트 비트는 상기 대응 워드의 2 LSB(least significant bit)를 포함하며, 상기 복수의 그룹은 8 개의 그룹을 포함하며, 상기 입력 패킷의 런 길이는 10인 입력 데이터 부호화 방법.
  5. 제1항에서,
    상기 복수의 입력 워드를 복수의 그룹으로 조직하는 단계는,
    상기 복수의 입력 워드 중 동일한 그룹 ID 비트 또는 동일한 그룹 ID 비트의 보수를 가지는 입력 워드들을 상기 복수의 그룹 중 동일한 그룹으로 묶는 단계
    를 포함하며,
    상기 복수의 그룹의 수는 상기 그룹 ID 비트 내의 비트 수의 절반인
    입력 데이터 부호화 방법.
  6. 제1항에서,
    상기 복수의 입력 워드를 복수의 그룹으로 조직하는 단계는,
    복수의 입력 워드 중 (2g-1)/2 보다 작고 제1 값과 동일한 그룹 ID 비트 값을 가지는 워드들을 하나로 묶고, (2g-1)/2 보다 크고 상기 제1 값의 보수와 동일한 그룹 ID 비트 값을 가지는 워드들을 동일한 그룹의 다른 하나로 묶는 단계
    를 포함하며,
    상기 g는 상기 그룹 ID 비트의 비트 길이를 나타내는
    입력 데이터 부호화 방법.
  7. 제1항에서,
    상기 키 그룹을 식별하는 단계는,
    상기 키 그룹을 상기 복수의 그룹 중 최소 입력 워드 수 또는 문턱 값 아래의 입력 워드 수를 가지는 그룹으로 정의하는 단계
    를 포함하는 입력 데이터 부호화 방법.
  8. 제1항에서,
    상기 키 값을 결정하는 단계는,
    키 그룹 ID 비트를 상기 복수의 워드 중 상기 키 그룹에 대응하는 워드의 그룹 ID 비트로 결정하는 단계,
    키 프리 비트를 상기 복수의 워드 중 상기 키 그룹에 대응하는 워드의 프리 비트에서 누락된 비트로 결정하는 단계,
    키 포스트 비트를 상기 복수의 워드 중 상기 키 그룹에 대응하는 워드의 포스트 비트에서 누락된 비트로 결정하는 단계, 그리고
    상기 키 프리 비트, 상기 키 그룹 ID 비트 및 상기 키 포스트 비트에 기초하여 상기 키 값을 생성하는 단계
    를 포함하는 입력 데이터 부호화 방법.
  9. 제8항에서,
    상기 키 값은 [PRB0 GID0 POB0]로 표현되며, PRB0 는 상기 키 프리 비트를 나타내고, GID0 는 상기 키 그룹 ID 비트를 나타내고, POB0 는 상기 키 포스트 비트를 나타내는 입력 데이터 부호화 방법.
  10. 제1항에서,
    상기 키 값은 상기 복수의 입력 워드 중 하나와 동일한 비트 길이를 가지며, 상기 복수의 입력 워드 중 어느 것과도 같지 않은 입력 데이터 부호화 방법.
  11. 제1항에서,
    상기 복수의 부호화 워드는 제1 부호화 워드 및 제2 부호화 워드를 포함하며, 상기 제1 부호화 워드는 적어도 상기 키 값에 기초하고, 상기 제2 부호화 워드는 상기 키 값과 상기 복수의 입력 워드 중 제1 입력 워드에 기초하는 입력 데이터 부호화 방법.
  12. 제11항에서,
    상기 복수의 부호화 워드를 생성하는 단계는,
    상기 키 값에 기초하여 변경 키 값을 생성하는 단계,
    상기 제1 부호화 워드를 상기 변경 키 값으로 생성하는 단계, 그리고
    상기 복수의 입력 워드 중 하나와 상기 키 값에 이진 XOR 연산을 수행하여 상기 제1 부호화 워드를 생성하는 단계
    를 포함하는 입력 데이터 부호화 방법.
  13. 제1항에서,
    상기 복수의 부호화 워드는 { K' , x 1^K, x 2^K, … , x N^K }로 표현되며, K는 상기 키 값을 나타내고, K'은 상기 키 값에 기초한 변경 키 값을 나타내고, x 1, x 2, … , x N 은 상기 입력 패킷의 상기 복수의 입력 워드를 나타내고, N은 2보다 큰 정수이고, ^ 는 이진 XOR 연산을 기호화한 것인 입력 데이터 부호화 방법.
  14. 제1항에서,
    상기 복수의 부호화 워드를 포함하는 전송 데이터를 통신 채널을 통하여 수신기에 전송하는 단계를 더 포함하는 입력 데이터 부호화 방법.
  15. 프로세서, 그리고
    상기 프로세서에 종속되며 명령(instruction)을 저장하는 프로세서 메모리
    를 포함하며,
    상기 프로세서가 상기 명령을 수행하면 상기 프로세서는,
    프리 비트, 그룹 ID 비트 및 포스트 비트를 각각 포함하는 복수의 입력 워드를 포함하는 입력 데이터의 입력 패킷을 식별하고,
    상기 입력 워드의 그룹 ID 비트에 기초하여 상기 복수의 입력 워드를 복수의 그룹으로 조직하고,
    상기 복수의 그룹 중 문턱 값보다 작은 입력 워드의 수에 대응하는 키 그룹을 식별하고,
    상기 복수의 입력 워드 중 상기 키 그룹에 대응하는 입력 워드의 상기 프리 비트, 상기 그룹 ID 비트 및 상기 포스트 비트에 기초하여 키 값을 결정하고,
    상기 키 값 및 상기 복수의 입력 워드에 기초하여 복수의 부호화 워드를 생성하는
    입력 데이터 부호화용 전이 부호기.
  16. 변경 키 값을 포함하고 제1 부호화 워드를 포함하는 복수의 부호화 워드를 포함하는 전송 데이터를 수신하는 단계,
    상기 변경 키 값에 기초하여 키 값을 생성하는 단계, 그리고
    상기 키 값과 상기 제1 부호화 워드에 이진 XOR 연산을 수행하여 복수의 복호화 워드 중 제1 복호화 워드를 생성하는 단계
    를 포함하는 전송 데이터 복호화 방법.
  17. 제16항에서,
    상기 변경 키 값은 [PRB0 GID0 POB0]로 표현되며, PRB0 는 상기 변경 키 값의 프리 비트를 나타내고, GID0 는 상기 변경 키 값의 그룹 ID 비트를 나타내고, POB0 는 상기 변경 키 값의 포스트 비트를 나타내며,
    상기 변경 키 값에 기초하여 키 값을 생성하는 단계는,
    상기 키 값의 상기 그룹 ID 비트의 MSB를 0으로 바꾸어 상기 키 값을 생성하는 단계
    를 포함하는
    전송 데이터 복호화 방법.
  18. 제16항에서,
    상기 변경 키 값에 기초하여 키 값을 생성하는 단계는,
    상기 변경 키 값의 비트 중 하나를 0으로 설정하여 상기 키 값을 생성하는 단계
    를 포함하는 전송 데이터 복호화 방법.
  19. 제16항에서,
    상기 복수의 부호화 워드는 { K' , x 1^K, x 2^K, … , x N^K }로 표현되며, x 1, x 2, … , x N 은 입력 패킷의 복수의 입력 워드를 나타내고, K는 상기 복수의 부호화 워드를 부호화하는 데 사용되는 상기 키 값을 나타내고, K'은 상기 변경 키 값을 나타내고, ^ 는 이진 XOR 연산을 기호화한 것인 전송 데이터 복호화 방법.
  20. 제16항에서,
    상기 전송 데이터를 수신하는 단계는,
    상기 전송 데이터를 통신 채널을 통하여 송신기로부터 수신하는 단계
    를 포함하는 전송 데이터 복호화 방법.

KR1020220109160A 2021-08-31 2022-08-30 데이터 부호화 방법 및 부호기와 데이터 복호화 방법 KR20230033623A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163239281P 2021-08-31 2021-08-31
US63/239,281 2021-08-31
US17/556,899 2021-12-20
US17/556,899 US11637685B2 (en) 2021-08-31 2021-12-20 System and method for transition encoding with flexible word-size

Publications (1)

Publication Number Publication Date
KR20230033623A true KR20230033623A (ko) 2023-03-08

Family

ID=83457264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220109160A KR20230033623A (ko) 2021-08-31 2022-08-30 데이터 부호화 방법 및 부호기와 데이터 복호화 방법

Country Status (6)

Country Link
US (2) US11637685B2 (ko)
EP (1) EP4142229A1 (ko)
JP (1) JP2023036033A (ko)
KR (1) KR20230033623A (ko)
CN (1) CN115733606A (ko)
TW (1) TW202320493A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116233247B (zh) * 2023-04-25 2023-07-21 合肥智鼎科技服务有限公司 一种具备预处理性能的数据传输处理***

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3583819D1 (de) 1984-05-21 1991-09-26 Matsushita Electric Ind Co Ltd Verfahren und vorrichtung zur erzeugung eines lauflaengenbegrenzten kodes.
FR2618624B1 (fr) * 1987-07-24 1992-04-30 Michel Servel Systeme de commutation de multiplex temporels hybrides a memoire tampon optimisee
EP0551691A1 (en) 1992-01-15 1993-07-21 International Business Machines Corporation Sorting method
ES2163402T3 (es) 1993-10-19 2002-02-01 Xerox Corp Grupos de palabras almacenados de manera compacta.
US5420866A (en) 1994-03-29 1995-05-30 Scientific-Atlanta, Inc. Methods for providing conditional access information to decoders in a packet-based multiplexed communications system
US5969649A (en) * 1998-02-17 1999-10-19 International Business Machines Corporation Run length limited encoding/decoding with robust resync
US6070164A (en) 1998-05-09 2000-05-30 Information Systems Corporation Database method and apparatus using hierarchical bit vector index structure
US6295361B1 (en) 1998-06-30 2001-09-25 Sun Microsystems, Inc. Method and apparatus for multicast indication of group key change
US6417788B1 (en) 1999-07-09 2002-07-09 Maxtor Corporation High rate runlength limited codes for 10-bit ECC symbols
US7088398B1 (en) 2001-12-24 2006-08-08 Silicon Image, Inc. Method and apparatus for regenerating a clock for auxiliary data transmitted over a serial link with video data
US7664015B2 (en) * 2004-10-20 2010-02-16 L-3 Communications Security & Detection Systems Inspection system with data acquisition system interconnect protocol
US20080253562A1 (en) 2007-04-12 2008-10-16 Nokia Corporation Handshake procedure
WO2009127225A1 (en) 2008-04-15 2009-10-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for providing trustworthiness of communication
KR101405457B1 (ko) 2009-04-07 2014-06-11 한국전자통신연구원 그룹 변조 방법 및 이를 이용한 송신 장치
US8724243B1 (en) 2012-12-07 2014-05-13 Lsi Corporation Systems and methods for run length limited encoding
KR101494510B1 (ko) 2013-03-12 2015-02-23 명지대학교 산학협력단 그룹키 관리 장치 및 방법과 이에 관한 기록매체
US9223765B1 (en) 2013-10-09 2015-12-29 Google Inc. Encoding and decoding data using context model grouping
GB2521828A (en) 2013-12-23 2015-07-08 Sony Corp Data encoding and decoding
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
US10116430B1 (en) * 2016-09-01 2018-10-30 Xilinx, Inc. Alignment marker independent data alignment for a receiver
WO2018126496A1 (en) 2017-01-09 2018-07-12 Qualcomm Incorporated Bit allocation for encoding and decoding
US10860419B2 (en) * 2018-12-28 2020-12-08 Intel Corporation Minimal aliasing bit-error correction code
CN110730067B (zh) 2019-09-06 2021-10-19 深圳开源互联网安全技术有限公司 密钥生成方法、装置、计算机可读存储介质及终端设备
KR20230021949A (ko) * 2021-08-06 2023-02-14 삼성전자주식회사 메모리 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
US11888962B2 (en) 2024-01-30
CN115733606A (zh) 2023-03-03
US20230071335A1 (en) 2023-03-09
JP2023036033A (ja) 2023-03-13
US20230163941A1 (en) 2023-05-25
TW202320493A (zh) 2023-05-16
EP4142229A1 (en) 2023-03-01
US11637685B2 (en) 2023-04-25

Similar Documents

Publication Publication Date Title
US6747580B1 (en) Method and apparatus for encoding or decoding data in accordance with an NB/(N+1)B block code, and method for determining such a block code
US6614369B1 (en) DC balanced 7B/8B, 9B/10B, and partitioned DC balanced 12B/14B, 17B/20B, and 16B/18B transmission codes
KR100281738B1 (ko) 니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치
KR20230033623A (ko) 데이터 부호화 방법 및 부호기와 데이터 복호화 방법
US7683810B2 (en) Code design with decreased transition density and reduced running digital sum
US5878061A (en) Providing serial data clock signal transitions with parity bits
US5938773A (en) Sideband signaling with parity bit schemes
US11777765B2 (en) Signal transmission system, transmitter encoding apparatus and receiver decoding apparatus
KR20230050256A (ko) 데이터 부호화 방법 및 부호기와 데이터 복호화 방법
US6344807B1 (en) Packet-frame generator for creating an encoded packet frame and method thereof
KR100464228B1 (ko) 디지탈정보신호의송신및수신장치및그의송신방법
TW202245428A (zh) 低編碼開銷轉態編碼之編碼器及解碼
US6438728B1 (en) Error character generation
KR100528139B1 (ko) 코드워드를 생성하는 방법 및 장치
US6101281A (en) Method for improving data encoding and decoding efficiency
JP4780350B2 (ja) シリアルデータ通信のための符号化方式
US11632127B2 (en) Near-optimal transition encoding codes
Immink et al. Efficient encoding of constrained block codes
CN110336644B (zh) 一种高维调制下的分层编码方法
JPH0629861A (ja) データ圧縮方法
TWI774233B (zh) 訊號傳輸系統與發射端編碼裝置
JP2003087121A (ja) コードレートを増加させるためのブロック符号化/復号化方法及び装置
Postol Some new lattice quantization algorithms for video compression coding
Witsenhausen Minimizing the Worst‐Case Distortion in Channel Splitting
JPH06268526A (ja) 信号処理システム