KR20030036624A - 가변길이 코드워드 시퀀스 디코딩 방법 - Google Patents

가변길이 코드워드 시퀀스 디코딩 방법 Download PDF

Info

Publication number
KR20030036624A
KR20030036624A KR10-2003-7000973A KR20037000973A KR20030036624A KR 20030036624 A KR20030036624 A KR 20030036624A KR 20037000973 A KR20037000973 A KR 20037000973A KR 20030036624 A KR20030036624 A KR 20030036624A
Authority
KR
South Korea
Prior art keywords
state
states
group
code
bit time
Prior art date
Application number
KR10-2003-7000973A
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 KR20030036624A publication Critical patent/KR20030036624A/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
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3944Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes for block codes, especially trellis or lattice decoding thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3955Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using a trellis with a reduced state space complexity, e.g. M-algorithm or T-algorithm
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • H03M13/6318Error control coding in combination with data compression using variable length codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 가변길이 코드워드 시퀀스들을 소스 디코딩하는 방법에 관한 것으로, 상기 소스 디코딩은 복수의 상태(S)를 포함하는 연관된 상태도 및 코드(C)에 기초한다. 방법은 비트시간(Bj)에, 상태 그룹 내 N개의 상태들만이 부분적인 메트릭 계산으로부터 도출된 기준에 근거하여, 아니면 상기 코드(C)의 알파벳과 무관하게 저장되도록 하여 상기 상태도 내 상기 상태들(S)을 감축하는 단계를 포함하는 것을 특징으로 하고, 그룹(G)은 비트시간(Bj)에 연관된다. 그룹(G)은 각 비트시간(Bj)에 계산된 모든 상태들(S)에 대응한다.

Description

가변길이 코드워드 시퀀스 디코딩 방법{Method of decoding a variable-length codeword sequence}
비디오 통신 시스템은 통상 소스 인코딩 시스템, 채널 및 소스 디코딩 시스템을 포함한다. 상기 소스 인코딩 시스템은 코드워드 시퀀스를 발생하여 이를 상기 채널을 통해 상기 소스 디코딩 시스템에 전송한다. 소스 디코딩 시스템은 공유 코드로 코드워드 시퀀스를 디코딩한다. 상기 공유 코드는 복수의 기호(symbol)를 규정한다. 코드워드 시퀀스는 복수의 기호를 포함한다. 디코딩은 도 1에 도시된 바와 같은 상태도(종래에 비트 방향성 그래프로서 알려짐)를 통해 행해진다.
상태도는 비트시간들을 나타내는 X축과, 한 세트의 값들을 포함하는 공유 코드의 알파벳을 나타내는 Y축을 포함한다. 도 1에서, 알파벳은 3개의 값들, 즉 "1", "01", "00"을 포함한다. 박스는 상태도의 상태를 나타낸다. 경로는 서로 상이한 상태들간 전이들로 나타내고, 디코딩된 시퀀스는 경로 및 시작 상태(일반적으로 상태(0))와 종료 상태로 나타낸다.
채널을 통한 어떤 교란들이 있기 때문에, 수신된 코드워드 시퀀스는 에러들을 포함하고, 따라서, 복수의 가능한 디코딩된 코드워드 시퀀스가 있다. 상기 상태도는 가능한 디코딩된 코드워드 시퀀스들을 제공하는데, 상태는 가능한 디코딩된 코드워드 시퀀스들이 통과할 수 있는 그래프 내 노드이다. 한 최적의 방법은 수신된 시퀀스와는 무관하게, 코드에 의해 가능한 디코딩된 코드워드 시퀀스들 전체를 찾고, 상태도 구성의 후반에 최상의 디코딩된 코드워드 시퀀스를 선택하는 것이다. 이때 최상의 완전한 디코딩된 코드워드 시퀀스를 찾는 해결책은 이들 시퀀스들 중에서, 수신된 시퀀스로부터 (선택된 메트릭(metric)에 따라) 가장 작은 거리를 갖는 시퀀스를 찾는 것이다.
이러한 해결책의 한 주된 문제는 보내지는 코드워드 시퀀스가 길어질수록 그래프가 더욱 복잡해지고, 그래프가 복잡해질수록 찾을 디코딩된 코드워드 시퀀스들의 수가 증가한다는 것이다. 그러므로, Park 및 Miller가 작성한, Proceedings of IEEE Conference on Acoustics, Speech and Signal Processing의 1999년 3월 15-19일 ICASSP'99, 2451-2454 페이지에 "Joint source-channel decoding for variable length encoded data by exact and approximate map sequence estimation"에 기술된 바와 같이, 이러한 복잡성 문제에 대해 제시된 해결책은 공유 코드의 알파벳 내에서 동일한 기호 값을 갖는 한 세트의 상태들 중에서 최상의 메트릭을 갖는 디코딩된 코드워드 시퀀스를 각 비트 시간에서 선택함으로써 상태들의 수를 감소시키는 것이다. 그러나, 이 해결책은 만족스러운 패킷 에러율의 성능을 내지 못한다.
본 발명은 가변길이 코드워드 시퀀스들을 소스 디코딩하는 방법에 관한 것으로, 상기 소스 디코딩은 복수의 상태를 포함하는 관련 상태도 및 코드에 기초하며, 상태는 가능한 디코딩된 코드워드 시퀀스들이 통과할 수 있는 그래프 내 노드이다. 본 발명은 또한 디코더에 관한 것으로, 상기 디코더는 상기 방법을 이용한다.
이러한 방법은 예를 들면, 비디오 혹은 오디오 통신 시스템과 같은 가변길이 코드들을 사용하는 어떠한 시스템에서도 사용될 수 있다.
도 1은 종래 기술에 따른 가변길이 코드워드 시퀀스의 소스 디코딩 방법을 도시한 상태도.
도 2는 본 발명에 따른 소스 디코딩 방법이 사용되는 비디오 통신 시스템의 개략도.
도 3은 본 발명의 제 1 실시예에 따른 가변길이 코드워드 시퀀스들의 소스 디코딩 방법의 제 1 상태도.
도 4는 본 발명의 제 2 실시예에 따른 가변길이 코드워드 시퀀스들의 소스 디코딩 방법의 제 2 상태도.
도 5는 도 3 및 도 4에 도시한 본 발명에 따른 방법의 제 1 성능을 도시한 제 1 그래프.
도 6은 도 3 및 도 4에 도시한 본 발명에 따른 방법의 제 2 성능을 도시한 제 2 그래프.
도 7은 도 3 및 도 4에 도시한 본 발명에 따른 방법의 복잡도 결과들을 도시한 제 3 그래프.
도 8은 도 3 및 도 4에 도시한 본 발명에 따른 방법의 한 구현을 도시한 제 3 상태도.
따라서, 본 발명의 목적은 적합한 복잡도를 가지고 효율적인 디코딩을 달성하는 것으로, 각 상태가 가능한 디코딩된 코드워드 시퀀스들이 통과할 수 있는 그래프 내의 각 노드인 복수의 상태를 포함하는 연관된 상태도 및 코드에 기초하여 소스 디코딩이 수행되는, 가변길이 코드워드 시퀀스들을 소스 디코딩하는 방법 및 디코더를 제공하는 것이다.
이를 위해서, 본 발명에 따른 방법은, 비트시간에, 상태 그룹 내 N개의 상태들만이 부분적인 메트릭 계산으로부터 도출된 기준에 근거하여, 아니면 상기 코드의 알파벳과 무관하게 저장되도록 하여 상기 상태도 내 상기 상태들을 감축하는 단계를 포함하고, 그룹은 비트시간에 연관된다.
또한, 본 발명에 따른 디코더는, 비트시간에, 상태 그룹 내 N개의 상태들만이 부분적인 메트릭 계산으로부터 도출된 기준에 근거하여, 아니면 상기 코드의 알파벳과 무관하게 저장되도록 적응된 상태 감축수단을 포함하고, 그룹은 비트시간에 연관된다.
이하 상세히 나타내는 바와 같이, 이러한 방법에 의해서, 한편으로는 상태도를 구성하는 각 단계에서 상태도 내 상태들을 감축시킬 수 있게 되고 다른 한편으로는 부분적인 메트릭 계산으로부터 도출된 기준의 덕택으로 보다 양호한 수행이 가능해진다.
제 1 실시예에서, 소스 디코딩 방법은 상기 기준이 최상의 메트릭 조건에 따라, 동일한 수의 기호들(SY)을 갖는 그룹(G)의 모든 상태들 중에서 단지 한 상태(S)만이 저장되게 하는 것을 특징으로 한다.
이하 나타내는 바와 같이, 상태들의 수(N)는 비트시간에 의해 상한이 정해지며, 따라서 복잡도는 이러한 상한에 의해 제한된다. 그러므로, 이러한 기준은 덜 복잡도를 갖고 종래 기술의 최적화 방법과 유사한 성능들에 이르게 한다.
제 2 실시예에서, 소스 디코딩 방법은, 상기 기준으로 상기 저장된 상태들이 상기 상태 그룹 내 최상의 메트릭들을 갖게 하는 것을 특징으로 한다.
이하, 명백한 바와 같이, 상태들의 수(N)는 이 경우 고정된다. 그러므로, 최적화 경우와는 반대로 이러한 기준은 복잡도가 안정되고 비트시간에 따라 증가하지 않는 상태도가 되게 하며, 이러한 기준은 보내진 코드워드 시퀀스의 길이에 더 이상 의존하지 않는 상태도가 되게 한다. 또한, 종래 기술의 Park & Miller 방법과는 반대로 양호한 패킷 에러율의 성능을 제공한다.
본 발명의 추가 목적들, 특징들 및 이점들은 첨부한 도면을 참조로 다음의 상세한 설명을 읽었을 때 명백하게 될 것이다.
다음 설명에서, 당업자에 의해 잘 알려진 기능들 혹은 구성들은 불필요한 상세로 본 발명을 불명료하게 할 것이기 때문에 상세히 기술하지 않는다.
본 발명은 복수의 상태를 포함하는 연관된 상태도에 기초하여 가변길이 코드워드 시퀀스들을 소스 디코딩하는 방법에 관한 것이다. 상기 방법은 특히 비디오 통신 시스템(VS) 내에 도 2에 도시한 바와 같은 VLC 디코더라 하는 가변길이 코드 디코더에서 사용된다. 또한, 상기 비디오 통신 시스템(VS)은 VLC 엔코더(VLC-ENC)를 포함하는 소스 인코딩 시스템(S-ENC), 채널(CH) 및 상기 VLC 디코더를 포함하는 소스 디코딩 시스템(S-DEC)을 포함한다. 소스 인코딩 시스템(S-ENC)은 VLC 엔코더를 통해 코드워드 시퀀스(SQ)를 부호화하고 이를 복수의 비트 시간 동안에 상기 채널(CH)을 통해서, 공유 코드(C)에 의해 VLC 디코더(VLC-DEC)를 통해 디코딩하는 상기 소스 디코딩 시스템(S-DEC)에 전송한다. 전송은 비트단위로 행해진다. 코드워드 시퀀스(SQ)는 가변길이(L_SQ)를 갖는다. 이것은 보내지는 코드워드 시퀀스들(SQs)이 서로 다른 길이들을 가질 수가 있고 따라서 수신된 코드워드 시퀀스들(SQr)은 서로 다른 길이들을 가질 수 있음을 의미한다. 코드워드 시퀀스(SQ)는 공유 코드(C)를 통해 정의되는 복수의 기호(SY)를 포함한다. 하나의 기호(SY)는 적어도 하나의 비트를 포함함에 유의한다.
도 3에 도시한 제 1 실시예에서, 코드(C)는 다음과 같이 정의된다.
- 최대 길이가 2이고 또한 기호의 최대 길이=2를 나타내는 최대 길이(L_MAX),
- 크기가 3이고 또한 기호들의 수를 나타내는 크기(K),
- 그 값이 [0; 10; 11]이며 또한 3개의 기호들도 얻어질 수 있는 값들을 나타내는 한 세트의 값들 [C1, C2, C3]을 포함하는 코드(C)의 알파벳. 3개의 출현 확률들 [Pc1, Pc2, Pc3]은 이들 코드 값들에 연관된다.
보내지는 코드워드 시퀀스는 다음과 같이 정의된다. 예를 들면, SQs'=00110100이다. 이어서, 소스 인코딩 시스템(S-ENC)에서의 변조 단계, 예를 들면 당업자들에게 공지된 BPSK 변조 단계 후에, SQs = -1; -1; 1; 1; -1; 1; -1; -1이 된다. 이어서, 채널(CH)의 교란들로 인해서, 소스 디코딩 시스템에 의해 수신되는 시퀀스(SQr)는 SQr = -0.8; -0.7; 0.2; 1.2; -0.5; 0.6; -0.3; 0.3이다.
이제부터, 보내진 시퀀스(SQs)를 복구하기 위해서 수신된 시퀀스(SQr)를 디코딩 해야 한다. 즉, 상기 보내진 시퀀스(SQs)로 보내진 기호들(SY)을 복구해야 한다. 에러들을 유발하게 하는 교란들 때문에, 많은 가능한 디코딩된 코드워드 시퀀스들(SQd)이 있을 수 있음을 안다.
상태도는 모든 가능한 디코딩된 코드워드 시퀀스들(SQd)을 나타내는데 사용된다. 도 3은 이러한 상태도를 도시한 것이다. X축은 비트시간들을 나타낸다. Y축은 사용된 코드(C)의 알파벳을 나타내며, 알파벳은 기호들(SY)이 취할 수 있는 값들을 나타내는 한 세트의 값들을 포함한다.
도 3의 상태도는 각 비트시간들(B0 내지 B5)에 연관된 것인 상태들의 6개 그룹(G0 내지 G5)을 각각 포함한다. 그룹(G)은 코드(C)의 알파벳이 무엇이든, 코드워드 시퀀스(SQr)가 수신될 때 각 비트시간(Bj)(j≥0)에 계산된 모든 상태들에 상응한다. 상태도 내 박스는 상태(S)를 나타낸다. 기호들의 수(T)는 각각 상태 박스에서 가리킨다. 이것은 어떤 비트시간(Bj)에서 부분적으로 수신된 시퀀스(SQr) 내의 기호들(SY)의 수를 나타낸다. 이것은 또한 대응하는 가능한 디코딩된 코드워드 시퀀스(SQd) 내의 기호들의 수를 나타낸다.
수직 선들은 상태 그룹들의 범위를 정하는 반면, 수평 선들은 기호들이 취할 수 있는 3개의 값들(C1, C2, C3)을 포함하는 코드(C)의 알파벳의 범위를 정한다.
경로는 디코딩된 코드워드 시퀀스(SQd)를 나타낸다. 이것은 종료 상태 및 중간 상태들로 구성된다. 예를 들면, 경로(S011-S111-S321-S412-S512)는 기호들 "0", "10", "0" 및 "0" 각각이 대응하는 종료 상태(S512)와, 3개의 중간 상태들(S111, S321, S412)로 구성된다. 총 기호 수는 4개이다.
상태(S)는 지수들(Sklm)로 나타내고, 여기서 k=그룹의 수이고, l=코드(C)의 알파벳 내의 값들의 수이고, m=그룹 내 상태의 순서 및 코드값인 것에 유의한다. 예를 들면, S211에서, 이 상태(S)는 그룹(G2) 및 코드값(C1)에 속하고, 코드값(C1)에 대해서 이 그룹(G2) 내 제 1 상태임을 의미한다.
상태도로부터 알 수 있는 바와 같이, 상태는 종료 상태이거나, 3개의 서로 다른 경로들의 중간 상태일 수 있고, 따라서, 비트시간(Bj)에서 이러한 상태(S)는 가능한 디코딩된 코드워드 시퀀스들이 통과할 수 있는, 디코딩된 기호 시퀀스들이라고도 하는 그래프 내 노드를 나타낸다고 할 수 있다.
보내진 코드워드 시퀀스(SQs)에 가장 잘 일치하는 최상의 디코딩된 코드워드 시퀀스(SQd)를 선택하기 위해서, 상태도 내 상태들을 감소시키는 제 1 단계 1)가수행된다. 비트시간(Bj)(j≥0)에서, 부분적인 메트릭 계산에 근거한 기준에 관련하여, 아니면 상기 코드(C)의 알파벳과는 무관하게, 그룹(G)의 상태들 내 N개의 상태들만이 저장되며, 그룹(G)은 비트시간(Bj)에 연관되어 있다.
더 설명되는 바와 같이, 상태들의 수(N)는 제 1 실시예에서 비트시간에 의한 상한이거나, 혹은 제 2 실시예에서 주어진 값(NBMAX)이다.
이에 따라, 감축 단계는 2개의 서브-단계들을 포함한다. 제 1 서브-단계 A)에서, 부분적인 시퀀스들에 관한 부분적인 메트릭들의 계산들이 수행된다. "부분적인"이라는 것은 전체 시퀀스(SQr)의 수신이 끝나기 전에 메트릭의 계산이 수행됨을 의미한다. 메트릭 계산은 당업자들에게 공지된 바와 같이 부분적으로 수신된 시퀀스(SQr)와 변조후 부분적으로 보내진 시퀀스(SQd)간 유클리드 거리를 계산한 후 코드워드 출현 확률들에 따라 인자에 의해 가중치를 부여하는 것과 동일한 것으로, MAP 기준이라고 하는 "Maximum A posteriori" 기준에 따라 수행된다.
전체 메트릭 계산식은, m(i)=이며, 여기서 SQri는 코드(Ci)의 방출에 대응하는 보내진 시퀀스(SQr)의 일부이다. 합의 제 1 항들만으로 구성된 이 식으로부터 부분적인 메트릭이 쉽게 도출될 수 있다.
알 수 있는 바와 같이, 상태도의 구성은 종래 기술과 같은 최적화 방법과는 반대로, 수신된 시퀀스(SQr)의 함수로서 달성된다. 사실, 각각의 비트시간엔, 부분적으로 수신된 시퀀스들에 따르는 부분적인 메트릭 계산들에 근거하여 제거되는 일부 상태들이 있는 반면, 종래 기술에선 어떠한 상태들도 제거되지 않으며 상태도의 구성을 마친 후에 전체 메트릭 계산들이 수행되며, 혹은 상태 제거 기술들은 최적화와는 거리가 멀다.
제 2 서브-단계 B)에서, 감축 기준이 적용된다.
제 1 실시예에서, 도 3에 도시한 바와 같이, 기준은 최상의 메트릭 조건에 따라, 동일한 수(T)의 기호들(SY)을 갖는 그룹(G)의 모든 상태들 중 한 상태만이 저장되게 하는 기준이다.
고찰 중의 상태(S)에 연관된 메트릭은 이 고찰 중의 상태(S)에까지 이르는 부분적인 시퀀스의 제 1 서브-단계 A)에서 계산된 부분적인 메트릭들 중 하나이다.
따라서, 도 3에서, 예를 들면, 비트시간=2에서, T= 1의 기호(SY)를 갖는 제 3 그룹(G2)의 모든 상태들 중 최상의 메트릭을 갖는 상태(S)를 찾는다. 제 3 그룹(G2)에서 제 2 상태(S221) 및 제 3 상태(S231)는 T=1의 기호(SY)를 갖는다. 제 2 상태(S221)는 제 3 상태(S231)보다는 나은 메트릭을 갖기 때문에 이 제 2 상태(S221)가 저장된다. 기호들의 수 T=2인 경우는 단지 하나의 상태(S211)만이 있고, 이 상태가 유지된다. 비트시간=3 및 기호들의 수 T=2 등에 대해서도 동일하게 행한다.
이 제 1 실시예의 한 이점은 상태도의 복잡도의 범위가 쉽게 정해진다는 것인데, 비트시간 값은 사실 상태들의 수(N)의 자명한 증가이다. 그러나, 상태들의 상기 수(N)는 고정된 것이 아니므로, 여전히 보내진 코드워드 시퀀스(SQs)의 길이에 따른다. 그러므로, 복잡도는 비트시간에 따라 여전히 증가할 것이다.
제 2 양호한 실시예에서, 도 4에 도시한 바와 같이, 기준은 기호 혹은 비트값, 혹은 기호들 혹은 비트들의 수에 관계없이, 저장된 상태들(S)이 최상의 메트릭을 갖게 하는 기준이다. 저장된 상태들의 수(N)는 소정의 값(NBMAX)인 것으로서 정의되고, 달성하고자 하는 성능 및 원하는 복잡도의 함수로서 취해진다. 어떠한 더 이상의 조건들도 사용되지 않는다. 따라서, 예를 들면, 저장할 상태들의 수는 NBMAX=2이다. 도 4에서, 비트시간=4에서, 제 1 및 제 6 상태들(S411 및 S432)은 최상의 메트릭들을 갖고 있으므로 이들이 저장된다. 이 외의 다른 상태들은 제거된다. 동일한 수, 여기서는 3인 심볼들(SY)을 가진 모든 상태들(S)이 제거될 수 있음에 유의한다.
종래 기술과 비교해 볼 때 제 2 실시예의 이점은,
- NBMAX는 원하는 바대로 고정될 수 있고,
- NBMAX는 불변하므로, 복잡도는 최적화 방법 혹은 종래 기술의 Park 및 Miller 방법과는 달리, 비트시간에 따라서 혹은 결국 보내진 코드워드 시퀀스(SQs)의 길이에 따라서 증가하지 않는다.
두 실시예들에 있어서, 상태(S)가 제거될 때, 아마도 이로부터 오게 된 브랜치들이 후보로 될 수 있을 것으로는 더 이상 간주되지 않음을 의미함에 유의한다. 비트시간(Bj)에서(즉, j비트들의 부분적인 시퀀스에 대해서) 상태도 내 상존한 상태들의 수는 제 1 실시예의 경우엔 기껏해야 j와 같고 제 2 실시예의 경우엔 기껏해야 NBMAX와 같을 것이기 때문에, 상태도가 감축된 것임을 명백히 알 수 있다. 또한, 전술한 바와 같이, 명백히, 이 마지막 상태도의 복잡도는 보내진 코드워드 시퀀스(SQs)의 길이에 더 이상 따르지 않는 것으로 나타난다.
메트릭 도출에 미치는 영향은 별문제로 하고, 감축 단계는 Park 및 Miller 방법과는 반대로, 코드(C)의 알파벳 혹은 요소들의 출현 확률과는 무관하게 수행됨에 유의한다.
상태도를 구성한 후에, 코드워드 시퀀스 내에 보내지는 더 이상의 비트들이 없을 때, 양 실시예들에 대해 동일한 최종의 결정이 취해진다. 이것은 저장된 상태들 중에서, 최종의 최상의 상태(Sf)를 최상의 메트릭을 가진 상태인 것으로서 선택하고, 보내진 코드워드 시퀀스(SQs)와 동일한 수의 기호들(SY)을 갖는 최상의 디코딩된 코드워드 시퀀스(SQd)를 결정하는 제 2 단계 2)로 구성된다.
VLC 디코더는 한편으로는 보내진 시퀀스(SQs) 내에 VLC 엔코더에 의해 보내진 기호들의 수(NB_SY)를 알고 있고, 다른 한편으로는 상태도 구성을 마치기 위한 상기 보내진 시퀀스(SQs)의 비트들의 길이(L_SQs)를 알고 있는 것으로 가정함에 유의한다.
통상적으로 문헌에서 발견되고 당업자들에게 잘 알려진 바와 같이, 최상의 메트릭은 최상의 것, 즉 앞에서 정의된 메트릭(m(i)) 면에서 가장 낮은 최소의 거리와 동등한 것인, MAP 기준 면에서 가장 높은 확률에 도달하는 시퀀스를 의미하는 것임에 유의한다.
이 최종의 최상의 상태(Sf)는, 저장된 상태들 중에서만 취해질지라도, 모든 가능한 디코딩된 코드워드 시퀀스들을 결정하는 모든 가능한 상태들 내에서 최상의 메트릭을 갖는 것으로 간주되기 때문에 근사화가 수행된다. 그러므로, 본 발명에 따른 방법은 근사화 방법이라 한다.
마지막으로, 제 3 단계 3)에서, 디코딩은 보내진 시퀀스(SQs)를 통해 보내졌던 기호들(SY)의 값들을 복구하기 위해서, 선택된 최종의 최상의 상태(Sf)로부터 상태도에서 대응하는 시퀀스의 경로로 역으로 진행함으로써 달성된다. 본 발명에 따른 방법의 제 1 및 제 2 실시예들의 성능을 기술한다.
다른 소스 디코딩 방법들과의 성능 비교
도 5 및 도 6은 가변길이 코드워드 시퀀스들의 소스 디코딩을 위한 다른 방법들과 비교하여 본 발명에 따른 방법의 성능들을 도시한 것이다. 다음과 같은 방법 성능들이 도시되었다.
- 하드 VLC 디코딩 "HARD"(원),
- 최적화 소프트 VLC 디코딩 "OPTIMAL"(정사각형),
- Park 및 Miller VLC 디코딩 "P&M"(상향 삼각형), 및
- 본 발명에 따른 제 1 실시예의 디코딩 방법 "AMAP-1"(십자형들),
- 본 발명에 따른 제 2 실시예의 디코딩 방법 "AMAP-2"(우향 삼각형).
하드 VLC 방법은 통상 고정 길이 코드워드 시퀀스들에 적용되는 방법이다.
종래 기술에 정의된 바와 같은, 최적화 방법은 상태 감축 및 근사화가 전혀 없는 방법이다. 이 외 다른 방법들은 근사화 방법들이다.
이들 두 도면에서, 특히, (어떤 상태들을 기호(SY)의 값의 함수로서 유지하는) "수평" 조건을 사용하는 P&M 방법의 성능과 비교하여, (어떤 상태들을 비트시간에 연관된 그룹의 함수로서 유지하는) "수직" 조건을 사용하는 본 발명에 따른 방법의 실시예들의 성능을 알 수 있다.
도 5 및 도 6의 두 그래프는 신호 대 잡음 비(Eb/NO)에 대한 패킷 에러율(PER) 면에서의 성능을 나타내고 있고, 패킷은 코드워드 시퀀스(SQ)에 대응한다. 신호 대 잡음 비의 계산은 당업자들에게 잘 알려진 것임에 유의한다. 즉, 코스트 대비 성능을 계산한다. 성능은 코드워드 시퀀스가 만족스럽게 디코딩되었는지를 보여주며, 코스트는 코드워드 시퀀스(SQ)의 비트들을 보내는 데에 있어 얼마나 많은 전력(에너지/잡음)이 사용되었는지를 보여준다. 그러면, 취해지게 된 에러 및/또는 사용하기를 원하는 전력에 따라서, 최상의 해결책을 선택한다. 최적화 방법의 것들 및 하드 방법의 것들은 모든 성능들을 범위를 정한다.
제 2 실시예에 있어서, 유지할 상태들의 수(NBMAX=3)는 P&M 방법에 관하여 공정한 비교를 유지하기 위해서, P&M 방법으로 얻어진 것과 동일하게 혹은 작게 선택된다. 사실, P&M 방법의 경우, 각 비트시간에는, 각 세트의 상태들에 대해 최상의 메트릭을 갖는 디코딩된 코드워드 시퀀스가 있고 기호들은 유지된 동일한 값[C1,...Ci,...,Ck]가 있으므로, 유지된 K개의 상태들이 있다.
도 5의 제 1 그래프에 대해서, 4개의 전술한 방법들에 대해 코드(CA)를 고찰한다.
- 고찰 중의 가변길이 코드 크기는 K=3이고,
- 이의 최대 길이 L_MAX=2이고,
- 코드의 알파벳은 값들은 [C1; C2; C3]=[0; 10; 11]을 포함하며,
- 연관된 기호 확률들 [Pc1(0), Pc2(10), Pc3(11)]은 [0.5; 0.25; 0.25]로 선택되었으며,
- 보내진 기호들의 수 NB_SY=100이다.
이 제 1 그래프에서 알 수 있는 바와 같이, 본 발명에 따른 방법의 두 실시예는 P&M 방법보다 성능이 나은 것으로 나타난다. 이들의 성능들은 P&M 방법의 성능들보다는 최적화 방법의 성능들에 더 가깝다.
도 6의 제 2 그래프에 대해서, 4개의 전술한 방법들에 대해 코드(CB)를 고찰한다.
- 고찰 중의 가변길이 코드 크기는 K=6이고,
- 이의 최대 길이 L_MAX=4이고,
- 코드의 알파벳은 값들은 [C1; C2; C3; C4; C5; C6]=[0; 100; 101; 110; 1110; 1111]을 포함하며,
- 연관된 기호 확률들 [Pc1(0); Pc2(100); Pc3(101); Pc4(110), Pc5(1110), Pc6(1111)]은 [0.5; 0.15; 0.17; 0.08; 0.06; 0.04]로 선택되었으며,
- 보내진 기호들의 수=100이다.
이 제 2 그래프에서 알 수 있는 바와 같이, 본 발명에 따른 방법의 두 실시예는 P&M 방법보다 성능이 나은 것으로 나타난다. 이들 성능들은 P&M 방법의 성능들보다는 최적화 방법의 성능들에 더 가깝다. 본 발명에 따른 방법의 서로 다른 실시예들은 서로 유사하게 수행하는 것으로 나타난다.
최상의 방법을 적합하게 선택하기 위해서, 하드 방법을 제외한 이들 방법들각각에 대한 상태도의 복잡도를 검토한 것을 제 1 코드(CA)에 대해서 도 7에 나타내었다. 전체 상태도 내 상태들(S)과 상태들의 수(NbS)간 전이들의 수(NbT)는 복잡도를 기호로 나타낸다. 상태도에서 화살표들은 전이들을 나타낸다. 따라서, 복잡도는 NbT*NbS에 관계된다. 코드의 최대 길이가 K(K는 코드(CA)의 경우에 3임)일 때, 상태 당 전이들의 수는 모든 방법들에 있어서 K이다. 그러므로, 실제로 복잡도는 사실 상태들의 수(NbS)에 관계됨을 알 수 있다.
도 7에서, X축은 비트시간들의 수를 나타내고 Y축은 비트시간 당 상태들의 수(NbS)를 나타낸다. 이것은 상태 당 전이들의 수가 전술한 바와 같이 각 방법마다 동일하기 때문에 전체 방법 복잡도의 양호한 평가를 구성한다.
최적화 방법 및 AMAP-1 방법은 상태도의 비트시간들에 따라 선형의 복잡도를 나타내는 반면, P&M 방법 및 AMAP-2 방법은 모두가 상태도의 비트시간들의 값들과는 무관함을 나타내고 있다.
제 2 코드(CB)의 경우를 고찰할 때에도 유사한 결과들이 얻어질 수 있다.
결론적으로, 이들 도면들로부터 나타난 결과들로부터, 전체적으로 최상의 해결책은 본 발명의 제 2 실시예인 AMAP-2 방법인 것으로 나타나는데, 이 방법은 다른 현존의 근사화 방법들과 비교해 볼 때 낮은 상태도 복잡도를 갖고서 보다 나은 패킷 에러율(PER)을 제공하기 때문이다. 제 2 실시예에 있어서 저장할 상태들의 수(NBMAX)는 바람직하게는 4 내지 10 사이의 간격으로 취해진다. 이 간격일 경우에는, NBMAX가 증가함에 따라 증가하는 복잡도와 값 NBMAX=10 이후엔 더 이상 향상되지 않는 성능 간에 양호한 균형이 있다.
본 발명에 따른 방법의 구현
이것은 본 발명에 따른 방법의 소프트 구현의 한 예이다.
실제로, 본 발명에 따른 방법은, 제 1 단계에서, 메트릭 계산 프로세스가 행해지고 이전 상태들에의 포인터들이 저장되는 제 1 순방향 전파, 및, 제 2 단계에서, 모든 저장된 상태들 중에서 선택된 한 상태에 대응하는 최상의 디코딩된 코드워드 시퀀스를 수립하기 위한 트레이스-백 프로세스를 포함한다.
본 발명에 따른 방법의 제 1 실시예에서, 제 1 순방향 전파는 각각의 비트시간에서 전술한 바와 같이, 동일한 수의 기호들(SY)을 갖는 그룹(G)의 모든 상태들 중에서 최상의 메트릭을 갖는 상태들(S)만을 유지한다.
다음의 구조들을 사용하여 상태도를 기술하도록 하겠다.
"상태"라 하는 이것은,
- 고찰 중의 상태까지의 기호들의 수(최종의 결정을 위해서, 보내진 시퀀스의 기호들의 수와 비교된다),
- 고찰 중의 상태까지의 비트들의 수(비트시간 단계의 수에 대응한다),
- (트레이스-백 프로세스를 위해 저장된) 고찰 중의 상태에 이르는 전이 상의 기호의 값,
- 고찰 중의 상태에 이르는 전이까지의 누적 메트릭,
- 이전 상태에의 제 1 포인터(PSTATE_PREV),
- 조사할 다음 "수직" 상태에의 제 2 포인터(PSTATE_VERT_NEXT)를 포함한다.
"트렐리스"라 하는 이것은,
- 각 비트시간에 상존한 상태들의 수를 저장하는 정수들의 벡터로서, 상태도들의 매트릭스를 포함한다.
상태 구조에서 두 개의 포인터들은 본 발명에 따른 방법에선 중요한 것임에 유의한다. 제 1 포인터(PSTATE_PREV)는 트레이스-백 동작에 필요하고, 제 2 포인터(PSTATE_VERT_NEXT)는 "수직" 상태들, 즉 동일 비트시간(Bj)에서의 모든 상태들을 스캐닝하게 한다. 이를 예시하기 위해 도 8에 예가 주어졌다.
따라서, 제 1 실시예에 있어서의 순방향 프로세스는 다음과 같이 하여 행해진다. 비트시간(Bj)에서, 상태(S1j)부터:
- 각각의 새로이 조사된 SI(j+1) 상태 확률에 대해서:
- 상태(SE(j+1))가 동일 비트시간과 동일 수의 기호들을 갖고 그래프에 이미 존재하여 있다면,
* 이 현존하는 상태(SE(j+1))와 조사된 것(SI(j+1))간에 부분적인 누적 메트릭들을 비교한다. 최상의 메트릭을 가진 것을 유지한다.
- 그렇지 않다면, 그래프에 상태를 생성하고 이에 조사된 상태 (SI(j+1))를 넣는다.
- 다음 "수직" 상태(S2j)를 조사하거나(특히 ad hoc 포인터(PSTATE_VERT_NEXT)에 따라서), 더 이상의 "수직 상태가 없다면(제 2 포인터(PSTATE_VERT_NEXT)가 NULL), 다음 비트시간(Bj+1)으로 간다.
본 발명에 따른 방법의 제 2 실시예에서, 제 1 순방향 전파는 각 비트시간에서 전술한 바와 같이, 최상의 메트릭을 갖는 NBMAX 상태들을 유지한다.
사용되는 구조들은 제 1 실시예의 경우와 동일하다.
따라서, 제 2 실시예에 있어서 순방향 프로세스는 다음과 같이 행해진다.
비트시간(Bj)에서, 상태(S1j)부터:
- 각각 새로이 조사된 상태 SI(j+1) 확률에 대해서:
- 상태(SE(j+1))가 동일 비트시간과 동일 수의 기호들을 갖고 그래프에 이미 존재하여 있다면,
* 이 현존하는 상태(SE(j+1))와 조사된 것(SI(j+1))간에 부분적인 누적 메트릭들을 비교한다. 최상의 메트릭을 가진 것을 유지한다.
- 그렇지 않다면,
- 다음 비트시간(Bj+1)에 존재하는 상태들의 수가 저장할 상태들의 수(NBMAX)보다 낮다면,
그래프에 상태를 생성하고 이에 조사된 상태 SI(j+1)를 넣는다.
- 그렇지 않다면,
* 최악의 부분적인 누적 메트릭을 가진 현존의 상태 SE(j+1)를 결정하고,
* 조사된 상태 SI(j+1)를 이 최악의 현존의 상태 SE(j+1)과 비교한다. 최상의 메트릭을 가진 것을 유지한다.
- 다음 "수직" 상태(S2j)를 조사하거나(특히 ad hoc 제 2 포인터(PSTATE_VERT_NEXT)에 따라서), 더 이상의 "수직" 상태가 없다면(제 2 포인터(PSTATE_VERT_NEXT)가 NULL), 다음 비트시간(Bj+1)으로 간다.
두 실시예에 대한 트레이스-백 프로세스는 다음과 같이 하여 행해진다.
기호들의 NB-SY가 일치하는 L_SQs 비트들에서 최상의 상태를 조사한다.
- 기호들의 우측의 수를 가진 어떠한 상태도 발견되지 않는다면
* 일치된 것이 없다.
- 그렇지 않다면
* 일치된 것이 하나 있다.
* 되돌아가서 대응하는 전이들 상에 기호들을 적어둔다.
* 디코딩된 코드워드 시퀀스를 얻기 위해서 기호들의 순서를 역으로 한다.
본 발명은 전술한 실시예들로 한정되는 것이 아니고 첨부한 청구범위에 정한 바와 같은 본 발명의 정신 및 범위에서 일탈하지 않고도 변형 및 수정이 가능함에 유의해야 한다. 이러한 면에서, 다음 결어를 기재한다.
본 발명은 전술한 비디오 애플리케이션으로 한정되지 않음에 유의한다. 가변길이 코딩을 사용하는 어떠한 애플리케이션 내에서도 사용될 수 있고, 상기 디코딩의 코스트(계산상의 복잡도 및 시간 지연 면에서의 코스트임, 본 발명에 따른 방법에서 이 시간 지연은 트레이스-백 프로세스로 인한 전체 시퀀스의 수신 종료에 의존한다)를 지원할 수 있다. 통상, 이것은 예를 들면, 비디오, 오디오 혹은 텍스트 압축에 사용될 수 있다.
본 발명에 따른 방법은 전술한 구현에 한정되지 않음에 유의한다.
단일 아이템의 하드웨어 혹은 소프트웨어가 몇 가지 기능들을 수행할 수 있다면, 하드웨어 혹은 소프트웨어 아이템들 혹은 이들 양자에 의해 본 발명에 따른 방법의 기능들을 구현하는 많은 방법들이 있다. 하드웨어 혹은 소프트웨어 아이템들 혹은 이들 양자의 어셈블리가 기능을 수행할 수 있다는 사실을 배제하지 않는다. 예를 들면, 감축 단계는 최종의 최상의 상태 단계의 선택과 조합될 수 있고, 따라서 본 발명에 따른 소스 디코딩 방법을 수정함이 없이 단일 기능을 형성한다.
상기 하드웨어 혹은 소프트웨어 아이템들은 몇 가지 방법, 이를테면 각각 결선된 전자 회로들이나 적합히 프로그램된 집적회로에 의해서 구현될 수 있다. 집적회로는 컴퓨터 혹은 디코더 내에 포함될 수 있다. 제 2 경우에, 디코더는 제 1 혹은 제 2 기준에 따라 감축 단계 1)을 행하도록 된 상태 감축 수단, 및 전술한 바와 같은 하드웨어 혹은 소프트웨어 아이템들인, 선택 단계 2)를, 전술한 바와 같이, 행하도록 된 선택수단을 포함한다.
집적회로는 한 세트의 명령들을 포함한다. 따라서, 예를 들면 컴퓨터 프로그래밍 메모리 혹은 디코더 메모리 내 포함되는 상기 한 세트의 명령들은 컴퓨터 혹은 디코더로 하여금 소스 디코딩 방법의 서로 상이한 단계들을 실행하게 할 수 있다.
한 세트의 명령들은 예를 들면 디스크와 같은 데이터 캐리어를 독출함으로써 프로그래밍 메모리에 로딩될 수 있다. 서비스 제공자는 예를 들면, 인터넷과 같은 통신 네트워크를 통해 한 세트의 명령들을 얻게 할 수도 있다.
다음의 청구항들에서 참조부호는 청구항을 한정하는 것으로서 해석되어서는 안 된다. "포함하다"라는 용어의 사용은 어떠한 청구항이든 이에 정한 것 이외의어떠한 단계들 혹은 구성요소들이든 이들의 존재를 배제하는 것은 아님이 자명할 것이다. 단수 표시의 구성요소 혹은 단계는 복수의 이러한 구성요소 혹은 단계의 존재를 배제하는 것은 아니다.

Claims (10)

  1. 가변길이 코드워드 시퀀스들을 소스 디코딩 하는 방법으로서, 상기 소스 디코딩은 복수의 상태(S)를 포함하는 연관된 상태도 및 코드(C)에 기초하고, 각 상태는 가능한 디코딩된 코드워드 시퀀스들(SQd)이 통과할 수 있는 그래프 내의 각 노드인, 상기 소스 디코딩 방법에 있어서,
    비트시간(Bj)에서, 상태 그룹(G) 내 N개의 상태들만이 부분적인 메트릭 계산으로부터 도출된 기준에 근거하여, 아니면 상기 코드(C)의 알파벳과 무관하게 저장되도록 하여 상기 상태도 내 상기 상태들(S)을 감축하는 방법을 포함하고, 그룹(G)은 비트시간(Bj)에 연관된 것을 특징으로 하는, 소스 디코딩 방법.
  2. 제 1 항에 있어서, 최상의 메트릭 조건에 따라, 동일한 수의 기호들(SY)을 갖는 그룹(G)의 모든 상태들 중에서 단지 한 상태만이 저장되도록 하는 기준을 특징으로 하는, 소스 디코딩 방법.
  3. 제 1 항에 있어서, 상기 기준은 상기 저장된 상태들(S)이 상태 그룹(G) 내 최상의 메트릭들을 갖도록 하는 기준을 특징으로 하는, 소스 디코딩 방법.
  4. 제 1 항에 있어서, 상기 저장된 상태들 중에서, 하나의 최종의 최상의 상태(Sf)를 최상의 메트릭을 가진 상태인 것으로서 선택하고, 보내진 코드워드 시퀀스(SQs)와 동일한 수의 기호들(SY)을 갖는 최상의 디코딩된 코드워드 시퀀스(SQd)를 결정하는 또 다른 단계를 포함하는 것을 특징으로 하는, 소스 디코딩 방법.
  5. 디코더에 로딩되었을 때, 제 1 항 내지 제 4 항의 방법을 상기 디코더로 하여금 수행하게 하는 한 세트의 명령들을 포함하는, 상기 디코더용의 컴퓨터 프로그램 제품.
  6. 컴퓨터에 로딩되었을 때, 제 1 항 내지 제 4 항의 방법을 상기 컴퓨터로 하여금 수행하게 하는 한 세트의 명령들을 포함하는, 상기 컴퓨터용의 컴퓨터 프로그램 제품.
  7. 가변길이 코드워드 시퀀스들을 소스 디코딩하는 디코더로서, 상기 소스 디코딩은 복수의 상태(S)를 포함하는 연관된 상태도 및 코드(C)에 기초하고, 각 상태는 가능한 디코딩된 코드워드 시퀀스들(SQd)이 통과할 수 있는 그래프 내의 각 노드인, 상기 디코더에 있어서,
    비트시간(Bj)에서, 상태 그룹(G) 내 N개의 상태들만이, 부분적인 메트릭 계산으로부터 도출된 기준에 근거하여, 아니면 상기 코드(C)의 알파벳과 무관하게 저장되도록 한 상태 감축수단을 포함하고, 그룹(G)은 비트시간(Bj)에 연관된 것을 특징으로 하는, 디코더.
  8. 제 7 항에 있어서, 최상의 메트릭 조건에 따라, 동일한 수의 기호들(SY)을 갖는 그룹(G)의 모든 상태들 중에서 단지 한 상태만이 저장되도록 하는 기준을 특징으로 하는, 디코더.
  9. 제 7 항에 있어서, 상기 기준은 상기 저장된 상태들(S)이 상태 그룹(G) 내 최상의 메트릭들을 갖도록 하는 기준을 특징으로 하는, 디코더.
  10. 제 7 항에 있어서, 상기 저장된 상태들 중에서, 하나의 최종의 최상의 상태(Sf)를 최상의 메트릭을 가진 상태인 것으로서 선택하고, 보내진 코드워드 시퀀스(SQs)와 동일한 수의 기호들(SY)을 갖는 최상의 디코딩된 코드워드 시퀀스(SQd)를 결정하도록 한 선택 수단을 포함하는 것을 특징으로 하는, 디코더.
KR10-2003-7000973A 2001-05-22 2002-05-21 가변길이 코드워드 시퀀스 디코딩 방법 KR20030036624A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01401349.4 2001-05-22
EP01401349 2001-05-22
PCT/IB2002/001878 WO2002095955A1 (en) 2001-05-22 2002-05-21 Method of decoding a variable-length codeword sequence

Publications (1)

Publication Number Publication Date
KR20030036624A true KR20030036624A (ko) 2003-05-09

Family

ID=8182740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7000973A KR20030036624A (ko) 2001-05-22 2002-05-21 가변길이 코드워드 시퀀스 디코딩 방법

Country Status (8)

Country Link
US (1) US6891484B2 (ko)
EP (1) EP1397869B1 (ko)
JP (1) JP2004533766A (ko)
KR (1) KR20030036624A (ko)
CN (1) CN1463500A (ko)
AT (1) ATE344551T1 (ko)
DE (1) DE60215807T2 (ko)
WO (1) WO2002095955A1 (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1682450A (zh) * 2002-09-11 2005-10-12 皇家飞利浦电子股份有限公司 用于对可变长度的软输入代码字序列进行信源译码的方法和装置
CN1759536A (zh) * 2003-03-11 2006-04-12 皇家飞利浦电子股份有限公司 用于构造可变长度差错代码的方法和设备
CN100394693C (zh) * 2005-01-21 2008-06-11 华中科技大学 一种变长码的编码和解码方法
CN100527847C (zh) * 2007-03-16 2009-08-12 清华大学 基于零前缀码的变长码解码方法
CN101562747B (zh) * 2009-05-19 2010-08-25 华中科技大学 一种视频编码预测残差块的分解及重建方法
US9288089B2 (en) 2010-04-30 2016-03-15 Ecole Polytechnique Federale De Lausanne (Epfl) Orthogonal differential vector signaling
US9077386B1 (en) 2010-05-20 2015-07-07 Kandou Labs, S.A. Methods and systems for selection of unions of vector signaling codes for power and pin efficient chip-to-chip communication
US9251873B1 (en) 2010-05-20 2016-02-02 Kandou Labs, S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications
US9288082B1 (en) 2010-05-20 2016-03-15 Kandou Labs, S.A. Circuits for efficient detection of vector signaling codes for chip-to-chip communication using sums of differences
US8948272B2 (en) 2012-12-03 2015-02-03 Digital PowerRadio, LLC Joint source-channel decoding with source sequence augmentation
EP2979388B1 (en) 2013-04-16 2020-02-12 Kandou Labs, S.A. Methods and systems for high bandwidth communications interface
EP2997704B1 (en) 2013-06-25 2020-12-16 Kandou Labs S.A. Vector signaling with reduced receiver complexity
US9806761B1 (en) 2014-01-31 2017-10-31 Kandou Labs, S.A. Methods and systems for reduction of nearest-neighbor crosstalk
JP6317474B2 (ja) 2014-02-02 2018-04-25 カンドウ ラボズ ソシエテ アノニム 制約isi比を用いる低電力チップ間通信の方法および装置
CN106105123B (zh) 2014-02-28 2019-06-28 康杜实验室公司 用于发送时钟嵌入式向量信令码的方法和系统
US11240076B2 (en) 2014-05-13 2022-02-01 Kandou Labs, S.A. Vector signaling code with improved noise margin
US9509437B2 (en) * 2014-05-13 2016-11-29 Kandou Labs, S.A. Vector signaling code with improved noise margin
US9112550B1 (en) 2014-06-25 2015-08-18 Kandou Labs, SA Multilevel driver for high speed chip-to-chip communications
CN106797352B (zh) 2014-07-10 2020-04-07 康杜实验室公司 高信噪特性向量信令码
US9432082B2 (en) 2014-07-17 2016-08-30 Kandou Labs, S.A. Bus reversable orthogonal differential vector signaling codes
WO2016014423A1 (en) 2014-07-21 2016-01-28 Kandou Labs S.A. Multidrop data transfer
WO2016019384A1 (en) 2014-08-01 2016-02-04 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
US9674014B2 (en) 2014-10-22 2017-06-06 Kandou Labs, S.A. Method and apparatus for high speed chip-to-chip communications
EP3314835B1 (en) 2015-06-26 2020-04-08 Kandou Labs S.A. High speed communications system
US10055372B2 (en) 2015-11-25 2018-08-21 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
CN108781060B (zh) 2016-01-25 2023-04-14 康杜实验室公司 具有增强的高频增益的电压采样驱动器
US10242749B2 (en) 2016-04-22 2019-03-26 Kandou Labs, S.A. Calibration apparatus and method for sampler with adjustable high frequency gain
US10003454B2 (en) 2016-04-22 2018-06-19 Kandou Labs, S.A. Sampler with low input kickback
WO2017185072A1 (en) 2016-04-22 2017-10-26 Kandou Labs, S.A. High performance phase locked loop
US10333741B2 (en) 2016-04-28 2019-06-25 Kandou Labs, S.A. Vector signaling codes for densely-routed wire groups
US10193716B2 (en) 2016-04-28 2019-01-29 Kandou Labs, S.A. Clock data recovery with decision feedback equalization
CN109417521B (zh) 2016-04-28 2022-03-18 康杜实验室公司 低功率多电平驱动器
US10153591B2 (en) 2016-04-28 2018-12-11 Kandou Labs, S.A. Skew-resistant multi-wire channel
US9906358B1 (en) 2016-08-31 2018-02-27 Kandou Labs, S.A. Lock detector for phase lock loop
US10411922B2 (en) 2016-09-16 2019-09-10 Kandou Labs, S.A. Data-driven phase detector element for phase locked loops
US10200188B2 (en) 2016-10-21 2019-02-05 Kandou Labs, S.A. Quadrature and duty cycle error correction in matrix phase lock loop
US10200218B2 (en) 2016-10-24 2019-02-05 Kandou Labs, S.A. Multi-stage sampler with increased gain
US10372665B2 (en) 2016-10-24 2019-08-06 Kandou Labs, S.A. Multiphase data receiver with distributed DFE
CN115567164A (zh) 2017-04-14 2023-01-03 康杜实验室公司 向量信令码信道的流水线式前向纠错方法和装置
CN115333530A (zh) 2017-05-22 2022-11-11 康杜实验室公司 多模式数据驱动型时钟恢复方法和装置
US10608676B2 (en) * 2017-06-27 2020-03-31 Intel Corporation Bit-alignment testing for obtaining FEC code lock
US10116468B1 (en) 2017-06-28 2018-10-30 Kandou Labs, S.A. Low power chip-to-chip bidirectional communications
US10686583B2 (en) 2017-07-04 2020-06-16 Kandou Labs, S.A. Method for measuring and correcting multi-wire skew
US10693587B2 (en) 2017-07-10 2020-06-23 Kandou Labs, S.A. Multi-wire permuted forward error correction
US10203226B1 (en) 2017-08-11 2019-02-12 Kandou Labs, S.A. Phase interpolation circuit
US10467177B2 (en) 2017-12-08 2019-11-05 Kandou Labs, S.A. High speed memory interface
US10326623B1 (en) 2017-12-08 2019-06-18 Kandou Labs, S.A. Methods and systems for providing multi-stage distributed decision feedback equalization
US10693688B2 (en) 2017-12-28 2020-06-23 Kandou Labs, S.A. Synchronously-switched multi-input demodulating comparator
US10554380B2 (en) 2018-01-26 2020-02-04 Kandou Labs, S.A. Dynamically weighted exclusive or gate having weighted output segments for phase detection and phase interpolation
WO2024049482A1 (en) 2022-08-30 2024-03-07 Kandou Labs SA Pre-scaler for orthogonal differential vector signalling

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588028A (en) * 1993-02-02 1996-12-24 U.S. Robotics Simplified trellis decoder
US5446758A (en) * 1993-07-08 1995-08-29 Motorola, Inc. Device and method for precoding
US6233290B1 (en) * 1995-04-13 2001-05-15 California Institute Of Technology Method for noncoherent coded modulation
AT405470B (de) * 1997-10-10 1999-08-25 Kratochwil Konrad Verfahren und anordnung zur übertragung von digitalen daten
US6246347B1 (en) * 1997-10-27 2001-06-12 Philips Electronics North America Corporation Controller for a variable length decoder
US6151370A (en) * 1998-02-12 2000-11-21 Lucent Technologies Inc. Path-oriented decoder for signal-dependent noise

Also Published As

Publication number Publication date
ATE344551T1 (de) 2006-11-15
CN1463500A (zh) 2003-12-24
EP1397869A1 (en) 2004-03-17
WO2002095955A1 (en) 2002-11-28
DE60215807D1 (de) 2006-12-14
US6891484B2 (en) 2005-05-10
DE60215807T2 (de) 2007-09-13
US20040155802A1 (en) 2004-08-12
JP2004533766A (ja) 2004-11-04
EP1397869B1 (en) 2006-11-02

Similar Documents

Publication Publication Date Title
KR20030036624A (ko) 가변길이 코드워드 시퀀스 디코딩 방법
CN108462558B (zh) 一种极化码scl译码方法、装置及电子设备
Kaneko et al. An efficient maximum-likelihood-decoding algorithm for linear block codes with algebraic decoder
KR101143695B1 (ko) 트렐리스-기반 수신기와 이를 위한 프로세서 시스템, 방법 및 컴퓨터 판독가능 매체
US8245116B2 (en) Method for performing soft decision decoding of Euclidean space Reed-Muller codes
JP3279579B2 (ja) 畳込み符号化データの幅優先復号におけるメトリック移動
US8190980B2 (en) Trellis-based decoder using states of reduced uncertainty
US7706481B2 (en) Method and system for improving reception in wired and wireless receivers through redundancy and iterative processing
EP0945989A1 (en) Viterbi decoding
JP4836379B2 (ja) エントロピック・コードを持つ符号化データを復号する方法とそれに対応する復号デバイスおよび伝送システム
CN109983705B (zh) 用于生成极化码的装置和方法
US20190165818A1 (en) Decoder, decoding method, and communication system
CN112332864A (zh) 一种自适应有序移动剪枝列表的极化码译码方法及系统
US20020107987A1 (en) Compression based on channel characteristics
JP5438150B2 (ja) 通信システムでの復号化のための装置及び方法
CN114257342A (zh) 基于非二进制极化码的两用户多址接入系统编码及译码方法
KR20040060951A (ko) 신호 디코딩 방법 및 디코딩 시스템, 기계 액세스가능한매체를 포함하는 제품
CN100433836C (zh) 使用冗余对视/音频和语音数据进行解码的方法和系统
CN109004939A (zh) 极化码译码装置和方法
EP1449306B1 (en) Method of decoding a variable-length codeword sequence
US6542559B1 (en) Decoding method and apparatus
US6725417B2 (en) Sequential decoding apparatus and method
CN102291198B (zh) 信道译码方法和装置
CN101411071A (zh) 具有双向滑动窗口体系结构的map译码器
CN110830051B (zh) 一种译码方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application