KR20000022987A - 부호화 장치와 방법, 복호화 장치와 방법, 제공 매체, 및데이터 대치 위치 정보를 발생하는 방법 - Google Patents

부호화 장치와 방법, 복호화 장치와 방법, 제공 매체, 및데이터 대치 위치 정보를 발생하는 방법 Download PDF

Info

Publication number
KR20000022987A
KR20000022987A KR1019990038080A KR19990038080A KR20000022987A KR 20000022987 A KR20000022987 A KR 20000022987A KR 1019990038080 A KR1019990038080 A KR 1019990038080A KR 19990038080 A KR19990038080 A KR 19990038080A KR 20000022987 A KR20000022987 A KR 20000022987A
Authority
KR
South Korea
Prior art keywords
interleaving
pos
data
pattern
input data
Prior art date
Application number
KR1019990038080A
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 KR20000022987A publication Critical patent/KR20000022987A/ko

Links

Classifications

    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • 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/27Coding, 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 using interleaving techniques
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2742Irregular interleaver wherein the permutation pattern is not obtained by a computation rule, e.g. interleaver based on random generators
    • H03M13/2746S-random interleaver
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding

Landscapes

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

Abstract

작은 코드어 가중치 (code word weighting)를 갖는 부호화 데이터는 출력되지 않는다. 단계(S21)에서는 0 내지 (N-1)의 값에서 중복되지 않도록 시퀀스 p[i] (0 ≤ i < N)가 설정되고, 단계(S22)에서는 시퀀스 p[i]에서 특정한 대치 패턴이 발생된 모든 위치가 조사되어, 그 정보가 시퀀스 r[i]에 저장되고, 이 정보의 합은 TOTAL로 설정된다. 루틴은 단계(S24)로 진행되어, 특정한 대치 패턴을 발생하지 않은 위치, 즉 r[i]에 포함되지 않은 소정의 값 j (0 ≤ j < N)이 랜덤하게 선택되고, 모든 r[i]에 대해 p[r[i]]를 p[j]로 대치하는 처리가 실행된다.

Description

부호화 장치와 방법, 복호화 장치와 방법, 제공 매체, 및 데이터 대치 위치 정보를 발생하는 방법{Encoding device and method, decoding device and method, providing medium, and method for generating data substitution position information}
본 발명은 부호화 장치와 방법, 복호화 장치와 방법, 및 제공 매체에 관한 것으로, 특히 터보 (turbo) 부호화나 복호화를 실행할 때 편리하게 적용될 수 있는 부호화 장치와 방법, 복호화 장치와 방법, 및 제공 매체에 관한 것이다.
이론적인 부호화 실행도의 제한치인 샤논 제한치 (Shannon limit) 부근의 실행도를 갖는 코드 중 한 종류가 터보 코드 (turbo code)이다. 이 터보 코드는 다수의 콘볼루션 (convolution) 부호화 회로와 인터리버 (interleaver) (인터리빙 회로)를 조합한 구조에 의해 부호화되고, 복호화측에서는 입력 데이터에 대한 정보가 최종적인 복호화 결과를 구하도록 다수의 소프트 (soft) 출력을 제공하는 복호화 회로 사이에서 교환된다.
도 9는 종래의 터보 부호화 장치(10)의 구조를 도시한다. 이 터보 부호화 장치(10)는 부호화된 데이터를 구하도록 입력 데이터에 대해서 콘볼루션 부호화를 실행하는 콘볼루션 부호화 회로(1-1), 이 입력 데이터에 대해서 순차적인 인터리빙을 실행하는 인터리버 (2-1 내지 2-(N-1)) (이후, 다른 장치에는 똑같은 실행이 이루어지고, 인터리버 (2-1 내지 2-(N-1))를 각각 분리할 필요가 없을 때, 이들은 간단히 인터리버(2)라 칭하여진다), 및 부호화된 데이터를 구하도록 이들 인터리버(2)의 출력에 콘볼루션 부호화를 실행하는 콘볼루션 부호화 회로 (1-2 내지 1-N)를 구비한다.
여기서, 콘볼루션 부호화 회로(1)는 입력 데이터에 대해서 콘볼루션 계산을 실행하고, 계산 결과는 부호화된 데이터로 출력된다.
콘볼루션 부호화의 한가지 이점은 블록 복호화 보다 소프트 결정 복호화가 보다 간단히 실행될 수 있다는 점이다. 인터리버(2)는 입력 데이터의 시퀀스를 원래 상태로 되돌려 출력을 발생시킨다. 하나의 콘볼루션 코드로 가중화된 저출력을 제공하는 패턴을 재배열함으로서, 인터리버(2)는 다른 콘볼루션 코드로 출력을 증가시킬 수 있고, 코드어의 최소 거리를 증가시킴으로서 높은 실행도의 코드를 구성할 수 있다.
도 10은 콘볼루션 부호화 회로(1)의 한 예를 도시한다. 도 10에 도시된 콘볼루션 부호화 회로(1)는 제한 길이 3을 갖는 피드백형 콘볼루션 부호화 회로이다.
이 콘볼루션 부호화 회로는 종료 회로(21), 3개의 배타적 "or" 회로 ("EXOR" 회로) (22-1 내지 22-3), 및 2개의 쉬프트 레지스터 (23-1 및 23-2)를 구비하고, 입력 데이터로부터 부호화된 데이터를 발생한다.
여기서, 쉬프트 레지스터(23)는 한 단위 시간 만큼 입력 데이터를 지연시키는 지연 소자로 동작하고, EXOR 회로(22)는 입력 데이터의 배타적 or 결과를 출력한다. 입력 데이터는 종료 회로(21)가 모든 입력 데이터의 부호화를 완료할 때까지 출력되고, 피드백 데이터는 부호화가 완료된 두 단위 시간 동안 (쉬프트 레지스터의 수에 대응하는 시간) 출력된다. 모든 입력 데이터의 부호화에 이어지는 처리는 쉬프트 레지스터의 모든 내용을 0으로 재저장하는 것으로, 이는 "종료 (termination)"라 칭하여지고, 복호화는 이 처리가 실행되었다는 가정하에 복호화측에서 실행된다.
도 10에 도시된 콘볼루션 부호화 회로(1)의 상태 전이도는 도 18에 도시된 바와 같다. 이 도면에 도시된 바와 같이, 콘볼루션 부호화 회로(1)는 초기 상태 (S0)와, 다른 3개의 상태 (S1, S2, S3)를 갖는다. 도면에 도시된 바와 같이, "0" 비트가 상태 (S0)에서 입력될 때, 상태는 현재 상태 (S0)으로 복귀되고 값 "0"이 출력되는 반면, "1"이 입력될 때는 상태 (S1)로의 전이가 일어나 값 "1"이 출력된다. "0" 비트가 상태 (S1)에서 입력될 때는 상태 (S3)로의 전이가 일어나 값 "1"이 출력되는 반면, "1"이 입력될 때는 상태 (S2)로의 전이가 일어나 값 "0"이 출력된다. "0" 비트가 상태 (S2)에서 입력될 때는 상태 (S1)로의 전이가 일어나 값 "0"이 출력되는 반면, "1"이 입력될 때는 상태 (S0)로의 전이가 일어나 값 "1"이 출력된다. "0" 비트가 상태 (S3)에서 입력될 때는 상태 (S2)로의 전이가 일어나 값 "1"이 출력되는 반면, "1"이 입력될 때는 상태 (S3)로의 전이가 일어나 값 "0"이 출력된다.
입력 데이터에 대한 콘볼루션 부호화 회로(1)의 출력은 이 상태 전이도를 참고하여 쉽게 이해될 수 있다.
도 18에 도시된 콘볼루션 부호화 회로(1)에서, 0이 연속하여 3회 입력되면, 그 상태는 0의 입력 이전의 원래 상태로 복귀한다. 이는 초기 상태 (S0)와 다른 상태 (S1, S2, S3)에서도 그러하다 (예를 들어, 상태 (S1)에서 0이 연속하여 3회 입력되면, 전이 (S1-> S2-> S3-> S1)이 일어나 상태는 상태 (S1)로 복귀한다). 그러므로, 이 콘볼루션 부호화 회로(1)의 주기(p)는 3이다.
도 11은 인터리버(2)의 예를 도시한다. 인터리버(2)로 입력된 입력 데이터는 먼저 입력 데이터 저장 메모리(31)에 저장되고, 이어서 그의 시퀀스가 데이터 대치 회로(32)에 의해 재배열된다. 데이터 시퀀스의 재배열은 대치 데이터 ROM (Read Only Memory)(34)의 내용 (대치 위치 정보)을 근거로 실행된다. 재배열된 시퀀스의 데이터는 출력 저장 메모리(33)에 저장되고, 이어서 출력 데이터로 출력된다.
도 11은 인터리버(2)의 크기가 5인 경우에 동작의 전형적인 상황을 도시하고, 대치 데이터 ROM(34)의 내용은 도 12에 도시된 바와 같다. 특별히, 입력 데이터가 "11010"일 때, 데이터 대치 회로(32)가 대치 데이터 ROM(34)에 저장된 데이터에 따라 입력 데이터에 대해서 대치 처리를 실행하기 때문에 "00111"이 출력 데이터로 출력된다.
이제는 도 9에 도시된 터보 부호화 장치(10)의 동작이 설명된다. 입력 데이터는 콘볼루션 부호화 회로(1-1)에 공급된다. 이 콘볼루션 부호화 회로(1-1)에서는 입력 데이터에 대해서 콘볼루션 계산이 실행되고, 종료가 실행되고, 또한 부호화 데이터가 종료를 포함한 부호화에 의해 출력된다.
입력 데이터는 또한 일련의 인터리버 (2-1 내지 2-(N-1))에 공급되고, 순차적으로 입력된 데이터의 시퀀스가 원래 상태로 된 이후에 데이터가 출력된다. 인터리버 (2-1 내지 2-(N-1))에 의해 출력된 데이터는 대응하는 콘볼루션 부호화 회로 (1-2 내지 1-N)에 공급된다. 이들 콘볼루션 부호화 회로 (1-2 내지 1-N)에서는 대응하는 인터리버 (2-1 내지 2-(N-1))로부터의 출력 데이터에 콘볼루션 계산이 실행되고, 종료가 실행되고, 또한 부호화된 데이터가 종료를 포함하는 부호화에 의해 출력된다.
도 13은 터보 부호화 장치(10)에 입력된 데이터와 부호화된 데이터의 비트수의 관계를 도시한다. k 비트의 입력 데이터는 콘볼루션 부호화 회로(1-1)에 의해 n1비트의 코드로 변환되고 t1비트의 종료부가 부가되어, 결과는 (n1+ t1) 비트의 코드가 된다. 유사하게, 콘볼루션 부호화 회로 (1-2 내지 1-N)로부터 (n2+ t2) 내지 (nN+ tN) 비트의 코드화 데이터가 출력된다.
도 14는 종래 기술의 터보 복호화 장치(40)의 구조를 도시한다. 이 터보 복호화 장치(40)는 터보 부호화 장치(10)에 의해 출력되는 부호화 데이터 (수신 데이터)의 수에 대응하는 다수의 소프트 출력 복호화 회로 (51-1 내지 51-N)를 구비한다. 소프트 출력 복호화 회로 (51-1 내지 51-N)는 부호화측에서 입력 데이터가 0 또는 1일 가능성을 계산하는 SOVA (Soft Output Viterbi Algorithm) 디코더 또는 MAP (Maximun A Posteriori Probability) 디코더의 기능을 갖는 "소프트 출력 복호화 구조"를 사용한다. 소프트 출력은 복호화 결과에 대한 확실성 정보가 복호화 결과에 부착되는 구조이다.
이제는 도 14에 도시된 터보 복호화 장치(40)의 동작이 설명된다. 수신 데이터 (부호화 데이터)는 소프트 출력 복호화 회로 (51-1 내지 51-N)에 공급된다. 복호화 회로 (51-1 내지 51-N)에서는 부호화측에서 종료 비트를 배제한 입력 데이터에 평가된 확률값 데이터를 사용해 반복적인 복호화 동작이 각각 수회 내지 수십회 실행된다. 최종적인 복호화 데이터는 복호화 회로 (도면에서는 복호화 회로 51-1)에서 출력된다.
도 15는 터보 복호화 장치(40)로부터 수신된 데이터, 평가된 확률값 데이터, 및 복호화된 데이터의 비트수 사이의 관계를 도시하고, 이는 도 9의 터보 부호화 장치(10)에서 비트수간의 관계에 대응한다. 소프트 출력 복호화 회로 (51-1 내지 51-N)는 각각 제 (n1+ t1) 내지 제 (nN+ tN)의 수신 데이터로부터 종료 비트를 배제한 입력 데이터 중 k 비트의 평가된 확률값 데이터를 계산한다. 이 k 비트의 확률값 데이터는 복호화 회로 사이에서 교환되고, k 비트의 복호화 데이터가 최종적으로 출력된다.
도 16은 특정한 숫자값이 터보 부호화 장치(10)로 입력될 때 부호화된 데이터 출력을 설명하는 도면이다. 도 16에 도시된 터보 부호화 장치(10)에서, 입력 데이터는 콘볼루션 부호화 회로(1-1)를 전이시키지 않고 부호화된 데이터로 출력되고, 또한 콘볼루션 부호화 회로(1-2) 및 인터리버(2-1)에 입력된다. 인터리버(2-1)에 입력된 데이터는 혼합되고, 콘볼루션 부호화 회로(2-3)로 출력된다.
예를 들어, "0010010...0"이 입력 데이터로 입력되는 경우가 설명된다. 인터리버(2-1)의 대치 데이터 ROM(34)에 저장된 대치 데이터 위치와 입력 데이터 위치의 관계는 다음과 같다.
여기서, 데이터 "0010010...0"가 도 16에 도시된 바와 같이 입력될 때는 이 데이터의 패턴 "1001"이 인터리버(2-1)에 의해 혼합되더라도 다시 "1001"로 대치되므로, 두 번째 "1"이 콘볼루션 인코더(1-2)와 콘볼루션 인코더(1-3)에 입력될 때, 그에 포함된 쉬프트 레지스터의 전체 내용은 0으로 설정된다. 그러므로, 두 번째 "1"이 입력된 이후, 이어서 0이 출력된다. 쉬프트 레지스터의 내용을 0으로 설정하는 것은 제 1 및 제 2 "1" 사이의 거리 (= 3)가 콘볼루션 부호화 회로(1)의 주기 p (= 3, 도 18)와 같다는 사실에 의존한다.
인터리버(2-1)는 "어파인 인터리버 (affine interleaver)"로 공지된 것이다. 이는 입력 신호의 위치 i에 따라 인터리버 크기가 N, 상수 a 및 b를 사용하는 경우에 위치 axi + b modN 에서 제 i의 위치 입력 신호를 인터리빙하는 인터리버이다.
N = 2m~2 및 a = 2m+-1일 때, 어파인 인터리버는 2m 이상으로 대치하기 전후에 두 임의의 점 사이의 거리합을 반드시 설정한다. 어파인 인터리버가 도 17에 도시된 터보 부호화 장치(10)의 인터리버(2-1)로 사용되고, 이들 매개변수가 N = 32, a = 7, b = 0이면, 이후 도시된 대치 데이터 위치는 인터리버(2-1)의 대치 데이터 ROM(34) 내용으로 저장된다.
상술된 대치 데이터 위치를 대치 데이터 ROM(34)의 내용으로 저장한 인터리버(2-1)는 대치 전후에 임의의 두점 사이의 거리합이 8 이상이 되는 것을 보장한다. 이 특성은 "1001" ("1"과 "1" 사이의 거리가 콘볼루션 부호화 회로(1)의 주기인 3과 같다)를 "1001" ("1"과 "1" 사이의 거리가 콘볼루션 부호화 회로(1)의 주기인 3과 같다)로 대치하는 것을 방지한다. 그러나, 두 "1001"이 도 17에 도시된 바와 같이 입력될 때, 이는 다시 패턴 "1001"로 대치되어, 결과적으로 20의 작은 가중치를 갖는 코드가 출력된다.
터보 부호화 장치 또는 터보 복호화 장치에서 높은 에러 정정 실행도를 얻기 위해서는 코드의 최소 거리가 증가되어야 하고, 인터리버는 입력이 무엇이든간에 출력되는 "1"의 수 (출력 코드어 가중치)가 증가되는 대치를 실행하도록 구성되어야 한다.
그러나, 상술된 인터리버(2-1)에서는 작은 출력 코드어 가중치를 제공하는 패턴 중 일부만이 제거되므로, 바람직하게 높은 에러 정정 실행도를 제공하는 터보 부호화 장치나 터보 복호화 장치가 구성될 수 없었다.
그러므로, 상술된 문제점을 고려해 고안된 본 발명의 목적은 작은 출력 코드어 가중치를 제공하는 패턴을 제거함으로서 인터리빙을 실행하는 것이다.
도 1은 본 발명의 제 1 실시예에 따른 터보 부호화 (turbo encoding) 장치(60)의 구성을 도시하는 블록도.
도 2는 터보 부호화 장치(60)에서 사용되는 인터리버 (interleaver)(71)의 구성을 도시하는 블록도.
도 3은 데이터 대치 위치 정보를 결정하는 처리 과정을 설명하는 흐름도.
도 4a 내지 도 4d는 본 발명의 제 1 실시예에 따라 검출된 대치 패턴을 설명하는 도면.
도 5는 데이터 대치 위치 정보를 결정하는 또 다른 처리를 설명하는 흐름도.
도 6은 터보 부호화 장치(60)의 또 다른 구성예를 도시하는 블록도.
도 7은 터보 부호화 장치(60)의 또 다른 구성예를 도시하는 블록도.
도 8은 터보 복호화 장치(100)의 구성을 도시하는 블록도.
도 9는 종래 기술에 따른 터보 부호화 장치(10)의 구성을 도시하는 블록도.
도 10은 콘볼루션 부호화 (convolution encoding) 회로(1)의 구성을 도시하는 블록도.
도 11은 인터리버(2)의 구성을 도시하는 블록도.
도 12는 대치 데이터 ROM(34)에 의해 저장된 데이터를 설명하는 도면.
도 13은 터보 부호화 장치(10)에서 부호화 데이터와 입력 데이터의 비트수 관계를 도시하는 도면.
도 14는 터보 복호화 장치(40)의 구성을 도시하는 블록도.
도 15는 터보 복호화 장치(40)에서 수신 데이터와 평가된 확률값 데이터 사이의 비트수 관계를 도시하는 도면.
도 16은 입력 데이터 및 부호화 데이터를 설명하는 도면.
도 17은 입력 데이터 및 부호화 데이터를 설명하는 도면.
도 18은 도 10에 도시된 콘볼루션 부호화 회로(1)의 상태 전이도.
도 19는 터보 부호화 장치(60')의 구성예를 도시하는 도면.
도 20은 도 19에 도시된 터보 부호화 장치(60')에 데이터 "0...000010"이 입력될 때의 동작 특성을 나타내는 도면.
도 21은 도 19에 도시된 터보 부호화 장치(60')에 데이터 "0...0100010"이 입력될 때의 동작 특성을 나타내는 도면.
도 22는 본 발명의 제 3 실시예에 관련된 대치 위치 데이터를 발생하는 알고리즘의 예를 도시하는 흐름도.
도 23a 내지 도 23c 는 본 발명의 제 3 실시예에 따라 검출된 대치 패턴을 설명하는 도면.
도 24는 본 발명의 제 3 실시예에 관련된 대치 위치 데이터를 발생하는 알고리즘의 또 다른 예를 도시하는 흐름도.
도 25a 내지 도 25c는 본 발명의 제 3 실시예에 따라 검출된 대치 패턴을 설명하는 도면.
도 26a 내지 도 26c는 본 발명의 제 3 실시예에 따라 검출된 대치 패턴을 설명하는 도면.
*도면의 주요 부분에 대한 부호의 설명*
60 : 터보 부호화 장치 1-1 내지 1-N : 콘볼루션 부호화 회로
71-1 내지 71-(N-1) : 인터리버
청구항 1에서 정의된 인터리빙(interleaving) 수단은 소정의 패턴이 제거된 인터리빙 패턴을 사용해 입력 데이터를 인터리빙한다.
특별히, 제거된 패턴은 작은 출력 코드어 가중치를 제공하는 패턴을 의미한다. 예를 들면, 청구항 3 내지 청구항 10의 제 1 내지 제 8 세트의 관계 중 적어도 하나를 만족시키는 패턴은 출력 코드어의 가중치가 작게 만들어진 인터리빙 패턴이다. 이들 패턴을 제거함으로서, 더 높은 에러 정정 실행도를 제공하는 터보 부호화 장치와 터보 복호화 장치가 구성될 수 있다.
청구항 11에서 정의된 부호화 장치에서, 인터리빙 수단은 인터리브의 끝에 부가된 종료 비트의 효과로 인해 작은 출력 코드어 가중치를 제공하는 패턴을 제거함으로서 가능한한 많이 코드어의 최소값을 증가시킨다. 더욱이, 청구항 12 내지 청구항 26에서 정의된 부호화 장치는 인터리빙 패턴의 끝부근에서 특정한 대치 패턴의 발생을 억제하고, 특별히 이러한 대치 패턴을 검출하도록 제 9 내지 제 23 세트의 관계를 적용한다. 그 결과로, 부호화된 데이터의 끝에 부가된 종료 비트의 효과로 인해 작은 출력 코드어 가중치를 제공하는 패턴이 제거되고, 에러 정정 실행도가 더 개선될 수 있다.
청구항 29에서 정의된 부호화 방법에서, 인터리빙 수단은 작은 출력 코드어 가중치를 제공하는 소정의 패턴이 제거된 인터리빙 패턴을 사용해 입력 데이터를 인터리빙한다. 인터리빙 수단은 청구항 3 내지 청구항 10과 청구항 12 내지 청구항 26에서 각각 정의된 제 1 내지 제 23 세트의 관계 중 적어도 하나가 유지되는 인터리빙 패턴을 제거한다.
청구항 31에서 정의된 제공 매체는 인터리빙 수단이 작은 코드어 가중치를 제공하는 소정의 패턴이 발생되었나 여부를 검출하는 단계와, 검출 수단에 의해 검출된 소정의 인터리빙 패턴을 재인터리빙 처리하는 재인터리빙 단계를 구비하는 처리를 실행하게 하도록 컴퓨터가 판독할 수 있는 프로그램을 제공한다. 인터리빙 수단은 청구항 3 내지 청구항 10과 청구항 12 내지 청구항 26에서 각각 정의된 제 1 내지 제 23 세트의 관계 중 적어도 하나가 유지되는 인터리빙 패턴을 제거한다.
청구항 33에서 정의된 복호화 장치는 부호화 장치에 의해 실행된 인터리빙에 역처리를 실행하는 인터리빙 수단을 구비한다.
청구항 35에서 정의된 복호화 방법은 부호화 장치에 의해 실행된 인터리빙에 역처리를 실행하는 인터리빙 단계를 구비한다.
청구항 37에서 정의된 제공 매체는 부호화 장치에 의해 실행된 인터리빙에 역처리를 실행하는 역인터리빙 단계를 구비하는 처리를 실행하도록 컴퓨터가 판독할 수 있는 프로그램을 제공한다.
청구항 39에서 정의된 데이터 대치 위치 정보를 발생하기 위한 방법은 데이터 대치 위치 정보를 일시적으로 발생하는 제 1 단계, 제 1 단계에서 발생된 데이터 대치 위치 정보가 소정의 인터리빙 패턴을 발생하는가 여부를 결정하는 제 2 단계, 및 제 2 단계의 결정 결과에 응답해 대치 데이터 위치 정보를 일시적으로 재발생하는 제 3 단계를 구비하고, 제 2 단계의 결정은 청구항 3 내지 청구항 10과 청구항 12 내지 청구항 26에서 각각 정의된 제 1 내지 제 23 세트의 관계 중 적어도 하나가 유지되는가 여부에 따라 실행된다.
청구항 40에서 정의된 제공 매체는 컴퓨터 시스템에서 터보 부호화의 입력 데이터를 혼합시키는 인터리빙을 실행하도록 데이터 대치 위치 정보를 발생하는 처리를 실행하는 컴퓨터 프로그램을 물리적으로 제공하는 제공 매체이다. 이 컴퓨터 프로그램은 데이터 대치 위치 정보를 일시적으로 발생하는 제 1 단계, 제 1 단계에서 발생된 데이터 대치 위치 정보가 소정의 인터리빙 패턴을 발생하는가 여부를 결정하는 제 2 단계, 및 제 2 단계의 결정 결과에 응답해 대치 데이터 위치 정보를 일시적으로 재발생하는 제 3 단계를 구비하고, 제 2 단계의 결정은 청구항 3 내지 청구항 10과 청구항 12 내지 청구항 26에서 각각 정의된 제 1 내지 제 23 세트의 관계 중 적어도 하나가 유지되는가 여부에 따라 실행된다.
청구항 1에서 정의된 부호화 장치에서, 입력 데이터의 인터리빙 및 부호화 처리는 작은 출력 코드어 가중치를 제공하는 대치 패턴을 제거함으로서 실행되므로, 더 높은 에러 정정 실행도를 제공하는 터보 부호화 장치와 터보 복호화 장치가 구성될 수 있다.
청구항 29에서 정의된 부호화 방법 및 청구항 31에서 정의된 제공 매체에서, 입력 데이터는 작은 코드어 가중치를 제공하는 소정의 패턴이 제거된 인터리빙 패턴을 사용해 인터리빙된다.
청구항 33에서 정의된 복호화 장치, 청구항 35에서 정의된 복호화 방법, 및 청구항 37에서 정의된 제공 매체에서는 부호화 장치에 의해 실행되는 인터리빙의 역처리가 실행된다.
청구항 39에서 정의된 데이터 대치 위치 정보를 발생하기 위한 정보 및 청구항 40에서 정의된 제공 매체에서는 작은 출력 코드어 가중치를 제공하는 대치 패턴 및 부호화된 데이터의 끝에 부가된 종료 비트의 효과로 인해 작은 출력 코드어 가중치를 제공하는 대치 패턴이 제거된 인터리빙 패턴이 발생된다.
즉, 이 방법으로 발생된 인터리빙 패턴을 사용해 입력 데이터를 혼합시키는 터보 부호화 장치를 구성함으로서 터보 부호화 장치 및 터보 복호화 장치에 의해 더 높은 에러 정정 실행도가 제공된다.
본 발명의 또 다른 목적, 특성, 및 이점은 첨부된 도면과 다음의 실시예를 근거로 하는 상세한 설명에서 명백해진다.
이제는 본 발명의 특정한 실시예가 설명된다. 다음의 실시예와 청구항에서 청구된 바와 같은 본 발명의 수단 사이의 대응관계를 명확하게 하기 위해, 본 발명의 특성 설명에서 각 수단 이후의 괄호안에는 대응하는 실시예가 부가되지만 (한 예로), 이는 각 수단에 제한되는 것으로 구성되지 말아야 한다. 또한, 종래 기술의 경우에 대응하는 부분에는 동일한 기호가 지정된다.
청구항 1에서 청구된 부호화 장치의 인터리빙 수단에서는 입력 데이터를 혼합하기 위한 데이터 대치 위치 정보, 즉 인터리빙 패턴을 발생하기 위해, 소정의 인터리빙 패턴이 발생되었나 여부를 검출하고 (예를 들면, 도 3의 단계 S5), 검출된 소정의 인터리빙 패턴이 재인터리브되는 (예를 들면, 도 3의 단계 S2 내지 S10) 처리가 실행된다.
청구항 33에서 정의된 복호화 장치는 부호화 처리에 의해 실행된 인터리브 처리에 역처리를 실행하는 역인터리빙 수단 (예를 들면, 도 8의 소프트 출력 복호화 회로 111-1)을 구비한다.
도 1은 본 발명이 적용된 터보 부호화 장치(60)의 구조를 도시한다. 이 터보 부호화 장치(60)는 부호화된 데이터를 구하도록 입력 데이터에 대해서 콘볼루션 부호화를 실행하는 콘볼루션 부호화 회로(1-1), 이 입력 데이터에 대해서 순차적인 인터리브 처리를 실행하는 인터리버 (71-1 내지 71-(N-1)), 및 부호화된 데이터를 구하도록 이들 인터리버 (71-1 내지 71-(N-1))로부터의 출력 데이터에 콘볼루션 부호화를 실행하는 콘볼루션 부호화 회로 (1-2 내지 1-N)를 구비한다.
여기서, 콘볼루션 부호화 회로(1)는 입력 데이터에 대해서 콘볼루션 계산을 실행하고, 부호화된 데이터를 계산 결과로 각각 출력한다. 이는 상술된 경우에서와 같이 도 10에 도시된 구조를 갖는다. 인터리버(71)는 입력 데이터의 시퀀스를 원래 상태로 되돌리고 그 결과를 출력한다.
도 2는 인터리버(71)의 구조예를 도시한다. 인터리버(71)로 입력되는 입력 데이터는 먼저 입력 데이터 저장 메모리(81)에 저장되고, 그 시퀀스는 데이터 대치 회로(82)에 의해 재배열된다. 데이터 시퀀스의 재배열은 대치 데이터 ROM (Read Only Memory)(34)의 내용(대치 위치 정보)을 근거로 실행된다. 재배열된 시퀀스를 갖춘 데이터는 출력 데이터 저장 메모리(83)에 저장되고, 이어서 출력 데이터로 출력된다.
이후에는 도 2에 도시된 인터리버(71)에 의해 실행된 입력 데이터 시퀀스의 복구 (대치)가 설명된다. 이 복구는 특정한 대치 패턴이 만들어지지 않도록 하는 대치 위치를 발생시킨다. 먼저, 제 1 실시예로서, 도 3의 흐름도를 참고로 특정한 대치 패턴을 점검하면서 대치 위치를 순차적으로 결정하는 방법이 설명된다. 이 흐름도에 도시된 처리로 인해, 결정된 대치 위치 데이터는 대치 데이터 ROM(84)에 저장된다.
단계(S1)에서는 대치 위치 데이터를 저장한 시퀀스 p[i]와, 대치 후보 위치를 저장하는 시퀀스 q[i] 및 시퀀스 r[t]가 초기화되고, 단계(S2)에서는 매개변수 POS의 값이 초기값인 0으로 설정된다. 단계(S3)에서는 값 TRIAL이 초기값인 0으로 설정되고, 시퀀스 g[i]가 시퀀스 r[i]에 복사된다.
g[i]의 제 0 내지 제 (N-1) 데이터는 p[i]에 아직 저장되지 않은 대치 위치를 포함하고, r[i]는 소정의 POS에 대한 대치 위치를 결정하도록 실행되는 시도의 각 스테이지에서 나머지 대치 위치 후보를 포함한다. 이후에, 단계(S4)에서는 p[i]에 저장된 대치 위치가 제 0 데이터로부터 시작되어 순차적으로 결정된다.
단계(S4)에서는 0 내지 (N-POS-TRIAL-1)의 값을 취하는 랜덤수 R이 발생되고, 단계(S5)에서는 p[POS] = r[R]이 설정된다. 단계(S6)에서는 p[0] 내지 p[POS]의 대치 패턴이 고려될 때 특정한 대치 패턴이 발생되었나 여부를 검사한다. 이들 특정한 대치 패턴의 검출은 예를 들면, 이후 도시된 8개 조건 중 하나 이상이 만족되는가 여부를 결정함으로서 실행된다.
( 조건 1 )
콘볼루션 코드의 주기가 p이고 0 내지 POS의 입력 신호 중 임의의 두 점의 위치가 i1, i2{0, ..., POS}, i1≠ i2일 때, 소정의 값 L1에 대해 다음의 관계가 만족된다.
여기서 주어진 콘볼루션 코드의 주기 p는 초기 상태에 있지 않는 콘볼루션 부호화 회로를 원래 상태로 복귀시키기 위해 0의 입력이 반복되어야 하는 회수이다. 즉, 초기 상태에 있지 않고 주기 p를 갖는 콘볼루션 부호화 회로에서 0이 p회 입력될 때, 이는 0의 입력에 앞서 원래 상태로 복귀된다 (도 18 및 상기의 설명을 참고).
( 조건 2 )
콘볼루션 코드의 주기가 p이고 0 내지 POS의 입력 신호 중 임의의 두 점의 위치가 i1, i2{0, ..., POS}, i1≠ i2일 때, 소정의 값 L2에 대해 다음의 관계가 만족된다.
( 조건 3 )
콘볼루션 코드의 주기가 p이고 0 내지 POS의 입력 신호 중 임의의 두 점의 위치가 i1, i2{0, ..., POS}, i1≠ i2일 때, 소정의 값 S1에 대해 다음의 관계가 만족된다.
( 조건 4 )
콘볼루션 코드의 주기가 p이고 0 내지 POS의 입력 신호 중 임의의 두 점의 위치가 i1, i2{0, ..., POS}, i1≠ i2일 때, 소정의 값 S2에 대해 다음의 관계가 만족된다.
( 조건 5 )
콘볼루션 코드의 주기가 p이고 0 내지 POS의 입력 신호 중 임의의 네 점의 위치가 i1, i2, i3, i4{0, ..., POS}, ia≠ ib일 때, 소정의 값 M1에 대해 다음의 관계가 만족된다.
( 조건 6 )
콘볼루션 코드의 주기가 p이고 0 내지 POS의 입력 신호 중 임의의 네 점의 위치가 i1, i2, i3, i4{0, ..., POS}, ia≠ ib일 때, 소정의 값 M2에 대해 다음의 관계가 만족된다.
( 조건 7 )
0 내지 POS의 입력 신호 중 임의의 네 점의 위치가 i1, i2, i3, i4{0, ..., POS}, ia≠ ib일 때, 소정의 값 O1에 대해 다음의 관계가 만족된다.
( 조건 8 )
0 내지 POS의 입력 신호 중 임의의 네 점의 위치가 i1, i2, i3, i4{0, ..., POS}, ia≠ ib일 때, 소정의 값 O2에 대해 다음의 관계가 만족된다.
예를 들면, 주기 p = 3인 콘볼루션 코드를 구성 코드로 구비한 터보 코드의 경우, 상술된 조건 1 내지 8은 각각 도 4a 내지 도 4d에 도시된 저가중치 코드어 발생 패턴을 검출하는 것과 동일하다. 도면에서 화살표는 입력 비트에서 1이 대치된 위치를 도시한다. 본 실시예에서는 조건 1 내지 8만이 예로 기술되었지만, 증진된 부호화 실행도를 갖는 (이후 설명될) 인터리브를 구성하는데 특정한 저가중치 출력 패턴을 검출하는 다른 조건도 또한 부가될 수 있다.
단계(S6)에서는 상술된 조건 1 내지 8에 대응하는 대치 패턴이 발생되었나 여부를 결정한다. 대응하는 대치 패턴이 존재하는 것으로 결정될 때, 루틴은 단계(S7)로 진행되고, 특정한 대치 패턴이 존재함을 나타내는 플래그가 1로 설정된다. 또한, TRIAL의 값은 단계(S8)에서 1 만큼 증가된다.
단계(S9)에서는 TRIAL의 값이 (N - POS - 1)과 같은가 여부가 결정되고, 같은 것으로 결정될 때, 루틴은 단계(S2)로 복귀되어 이어지는 처리가 반복된다. 즉, 소정의 POS에 대해 지금까지 대치 위치가 선택된 회수가 조사되고, TRIAL = 0일 때 q[i]에 저장된 모든 대치 위치에 대해 단계 (S4 내지 S8)의 처리가 실행되었으면, 적절한 대치 위치가 발견될 수 없는 것으로 결정되고, 대치 위치는 POS = 0인 초기 위치로부터 다시 결정된다.
한편, 단계(S9)에서 TRIAL의 값이 (N - POS - 1)의 값과 똑같지 않은 것으로 결정될 때는 아직까지 대치 위치 후보가 남아있는 것으로 가정하여, 루틴은 단계(S10)로 진행되고, 시퀀스 r[i]의 최종값인 r[N-POS-TRIAL]은 현재 선택된 대치 위치인 r[R]에서 대치되고, 루틴은 단계(S4)로 복귀되어 이어지는 처리 과정이 반복되고, 또한 r[i]로부터 p[POS]에서의 대치 위치가 선택된다.
단계(S6)에서 특정한 대치 패턴이 발생되지 않은 것으로 결정될 때, 루틴은 단계(S11)로 진행되어 POS의 값이 N-1과 같은가 여부를 결정한다. 다른 말로 하면, p[i]의 전체 내용이 결정되었나 여부가 결정된다.
p[i]의 전체 내용이 결정되지 않은 것으로 결정될 때, 루틴은 단계(S12)로 진행되고, p[POS]에 저장된 값의 소정의 위치는 q[i]에서 단계(S5)의 처리 과정에 의해 탐색되고, q[i]의 최종값인 q[N-POS-1]은 단계(S13)로 탐색된 위치에서 시퀀스 q[TP]내에 대치되고, POS의 값은 단계(S14)에서 다음 대치 위치를 결정하도록 1 만큼 증가되므로, 루틴은 단계(S3)로 복귀되고 이어지는 처리 과정이 반복된다.
한편, 단계(S11)에서 p[i]의 전체 내용이 결정된 것으로 결정될 때, 이 흐름도의 대치 위치 결정은 종료되고, 구해진 대치 시퀀스 p[i] (0 ≤ i < N)의 내용은 대치 데이터 ROM(84)에 저장된다.
다음에는 제 2 실시예로서, 도 5의 흐름도를 참고로 특정한 대치 패턴을 발생하는 위치가 대치되는 위치가 랜덤하게 발생된 대치 위치를 근거로 재배열되는 경우가 설명된다.
단계(S21)에서는 0 내지 (N-1)의 값에 중복이 없도록 시퀀스 p[i] (0 ≤ i < N)가 설정된다. 다음 단계(S22)에서는 시퀀스 p[i]에서 특정한 대치 패턴이 발생된 모든 위치가 조사되고, 그 정보는 시퀀스 r[i]에 저장되어 이 정보의 합이 값 TOTAL로 설정된다. 즉, 상술된 제 1 실시예에서 도시된 조건 1 내지 8 중 하나 이상을 만족시키는 i1, i2, i3, i4에 대한 정보는 r[i]에 저장되고, 이 정보의 수는 TOTAL 값으로 설정된다.
i1, i2, i3, i4중 임의의 것이 이미 시퀀스 r[i]에 저장되어 있을 때, 이 값은 r[i]에 저장되지 않는다. 단계(S23)에서는 TOTAL이 0인가 여부를 결정한다. 다른 말로 하면, 특정한 대치 패턴이 발생되었나 여부가 결정되고, 발생되지 않은 것으로 결정될 때, 이 흐름도의 대치 위치 결정은 종료되고, 구해진 대치 시퀀스 p[i] (0 ≤ i < N)의 내용은 대치 데이터 ROM(84)에 저장된다.
한편, 단계(S23)에서 TOTAL이 0이 아닌 것으로 결정될 때, 즉 특정한 대치 패턴이 발생된 것으로 결정될 때, 루틴은 단계(S24)로 진행되고, 특정한 대치 패턴을 발생하지 않는 위치, 즉 r[i] (0 ≤ j < N)에 포함되지 않은 소정의 값 j이 랜덤하게 선택되어 모든 r[i]에 대해 p[r[1]]을 p[j]로 대치하는 처리가 실행된다. 이어서, 루틴은 단계(S22)로 복귀되어 이어지는 처리 과정이 반복된다.
도 6은 터보 부호화 장치(60)의 또 다른 구성예를 도시하는 블록도이다. 터보 부호화 장치(60)로 입력된 데이터는 쉬프트 레지스터(91-1), EXOR 회로(92-1), 및 멀티플렉싱 회로(93)에 입력된다. 쉬프트 레지스터(91-1)로부터 출력된 데이터는 또한 EXOR 회로(92-1)에 입력된다. EXOR 회로(92-1)로부터 출력된 데이터는 터보 부호화 장치(60)에 직접 입력되는 데이터에 부가하여 멀티플렉싱 회로(93)에 입력된다. 멀티플렉싱 회로(93)에 입력된 데이터는 다중화되어 인터리버(71)에 출력된다.
인터리버(71)로부터의 출력은 EXOR 회로(92-2)를 통해 부호화된 데이터로 출력되고, 또한 쉬프트 레지스터(91-2)에 출력된다. 쉬프트 레지스터(91-2)로부터의 출력은 EXOR 회로(92-2)에 출력된다.
이제는 한 예로 데이터 "1100..."이 입력되는 경우에 대해 터보 부호화 장치(60)의 동작이 설명된다. 입력 데이터는 쉬프트 레지스터(91-1) 및 EXOR 회로(92-1)에 의해 외부 코드로서 부호화된 데이터 "1010..."으로 변환되고, 멀티플렉싱 회로(93)에 입력된다. 그러므로, "1100..." 및 "1010..."이 입력 데이터로 멀티플렉싱 회로(93)에 입력된다. 멀티플렉싱 회로(93)는 이 데이터를 다중화하고 데이터 "1110010..."을 인터리버(71)에 출력한다.
인터리버(71)는 입력 데이터를 혼합시킨다. 이 혼합 처리는 상술된 제 1 실시예나 제 2 실시예에 따라 발생된 대치 위치 데이터에 따라 실행된다.
예를 들어, 인터리버(71)에 입력된 데이터가 이 혼합 처리에 의해 패턴 "0...0110, 0110...0"을 갖는 데이터로 변환되면, EXOR 회로(92-2)를 통해 출력된 부호화 데이터는 2의 가중치를 갖춘 데이터 "0...0100..0100..0"이 된다.
도 7은 또 다른 터보 부호화 장치(60)의 구성을 도시하는 블록도이다. 이 구성에서, 터보 부호화 장치(60)에 입력된 데이터는 콘볼루션 부호화 회로(1-1) 및 인터리버(71-1)에 입력된다. 콘볼루션 부호화 회로(1-1)에 입력된 데이터는 혼합되어 콘볼루션 부호화 회로(1-2)를 통해 인터리버(71-2)에 출력되고, 이어서 콘볼루션 부호화 회로(1-3)에 출력된다.
이들 인터리버 (71-1, 71-2)는 상술된 제 1 실시예나 제 2 실시예에 따라 발생된 대치 위치 데이터에 따라 입력 데이터를 혼합시킨다.
그래서, 제 1 실시예나 제 2 실시예에 의해 발생된 대치 위치 데이터는 다양한 구성을 갖는 터보 부호화 장치의 인터리버에 적용될 수 있다.
도 8은 터보 복호화 장치(100)의 구성을 도시한다. 이 터보 복호화 장치(100)는 복호화된 데이터를 구하도록 도 1에 도시된 터보 부호화 장치(60)로부터 출력된 부호화 데이터를 복호화한다.
이 터보 복호화 장치(100)는 터보 부호화 장치(60)로부터 출력된 부호화 데이터 (수신 데이터)의 수에 대응하는 다수의 소프트 출력 복호화 회로 (111-1 내지 111-N)를 구비한다. 소프트 출력 복호화 회로(111)는 부호화측에서 0 또는 1인 입력 데이터의 확률을 계산하는 SOVA 디코더나 MAP 디코더의 기능을 갖춘 "소프트 출력 복호화 구조"를 사용한다. 소프트 출력 복호화 회로(111)는 도 1의 터보 부호화 회로(60)의 인터리버(2)에 의해 실행된 것에 역처리를 실행하는 인터리버를 구비한다.
이제는 도 8에 도시된 터보 복호화 장치(100)의 동작이 설명된다. 수신된 데이터 (부호화 데이터)는 각각 소프트 출력 복호화 회로 (111-1 내지 111-N)에 공급된다. 복호화 회로(111)에서, 반복적인 복호화 동작은 각각 부호화측의 입력 데이터에 평가된 확률값 데이터를 사용해 수 회 또는 수십 회 실행된다. 최종적인 복호화 데이터는 복호화 회로 중 임의의 것 (도 9에서는 복호화 회로 111-1)으로부터 출력된다.
이 방법으로 상술된 제 1 및 제 2 실시예에서는 이러한 패턴을 남기지 않고 작은 출력 코드어 가중치를 제공하는 다수의 특정한 대치 패턴을 제거하도록 인터리버 대치 위치가 공식화된다. 이는 코드의 최소 길이를 증가시켜, 높은 에러 정정 실행도를 갖는 터보 부호화 장치 및 터보 복호화 장치를 제공하는 것을 가능하게 한다.
상술된 제 1 및 제 2 실시예에 따라, 특정한 대치 패턴을 검출하기 위한 8개의 조건이 설명되었지만, 인터리버는 코드화 실행도를 증진시키도록 특정한 저가중치 출력 패턴을 검출하기 위한 조건을 더 부가하여 구성될 수 있다.
다음에는 본 발명의 제 3 실시예가 설명된다.
상기에서 이미 설명된 바와 같이, 터보 부호화 및 복호화에서 높은 에러 정정 실행도를 구하기 위해, 인터리버는 코드의 최소 길이를 증가시키도록 입력에 대해 가능한한 많이 출력 코드어 가중치 (즉, 출력 비트 시퀀스에서 "1"의 수)를 증가시키게 입력 데이터를 혼합시켜야 한다. 그러나, 상술된 제 1 및 제 2 실시예에서도 작은 출력 코드어 가중치를 제공하는 인터리브 일부는 아직 제거되지 않았다.
특별히, 도 13을 참고로 이미 설명된 바와 같이, 데이터는 t 비트의 종료 코드가 n 비트의 부호화 데이터에 부가되는 형태 (n+t)로 터보 복호화 장치측에 공급된다. 상술된 실시예에서는 모두 이 종료 비트의 효과가 고려되지 않았다. 다른 말로 하면, 부호화 데이터에 부가된 종료 비트의 효과로 인해 낮은 출력 코드어 가중치를 제공하는 패턴은 제거되지 않았으므로, 높은 에러 정정 실행도를 갖는 터보 부호화 및 복호화 시스템의 구성에는 특정한 제한이 있었다.
예를 들면, 도 19에 도시된 2개의 콘볼루션 부호화 데이터를 출력하는 터보 인코더(60')가 아래 도시될 대치 데이터 위치와 입력 데이터 위치 사이의 관계를 지정하는 대치 데이터 ROM을 구비하는 인터리버에 의해 실행되는 경우를 고려해 본다 (터보 부호화 장치(60')를 형성하는 콘볼루션 부호화 회로는 도 18에 도시된 상태 전이도에 의해 나타내지므로 주기 p는 3이다).
"0, ...000010"이 이 인터리버를 사용해 터보 부호화 장치(60')에 입력된다고 가정한다. 이 경우의 동작 특성은 도 20에 도시된다. 입력 비트 시퀀스는 그대로 제 1 콘볼루션 부호화 회로에 공급되고, 종료 비트는 01이다. 입력 비트 시퀀스에서 마지막으로부터 두 번째인 "1"은 바로 위에서 도시된 대치 데이터 위치 관계에 따라 인터리버에 의해 마지막으로부터 세 번째 것으로 대치된다. 그 결과로, 비트열 "0...000100"이 제 2 콘볼루션 부호화 회로에 공급되고, 종료 비트는 10이다. 이러한 이유로, 11의 매우 작은 가중치를 갖는 코드어는 합으로 출력된다.
도 21은 "0...0100010"이 터보 부호화 장치(60')에 입력될 때의 동작 특성을 도시한다. 입력 비트 시퀀스는 그대로 제 1 콘볼루션 부호화 회로에 공급되고, 종료 비트는 11이다. 입력 비트 시퀀스에서 26 번째인 "1"은 상기에서 도시된 대치 데이터 위치 관계에 따라 인터리버에 의해 31 번째 것으로 대치된다. 그 결과로, 비트열 "0...000101"이 제 2 콘볼루션 부호화 회로에 공급되고, 종료 비트는 01이다. 이러한 이유로, 13의 매우 작은 가중치를 갖는 코드어는 합으로 출력된다.
이 기술적인 문제점을 고려해 고안된 본 발명의 제 3 실시예는 낮은 출력 가중치를 제공하는 패턴에 의한 대치를 억제하여 종료 비트가 부호화된 데이터에 부가될 때에도 코드어의 출력 가중치를 증가시키는, 즉 출력 코드의 최소 거리를 매우 많이 증가시키는 인터리버를 구비한다.
제 3 실시예에 따른 인터리버의 실제 구성은 실질적으로 도 11에 도시된 종래 기술과 동일하므로, 여기서는 그에 대한 더 이상의 설명이 주어지지 않는다. 그러나, 특정한 대치 패턴을 발생하지 않는 인터리버의 구성에서는 대치 데이터 ROM(34)에 저장된 대치 위치 데이터가 다르다. 이 대치 위치 데이터는 또한 종료 비트가 부가될 때 낮은 출력 가중치를 제공하는 패턴의 발생을 억제한다.
도 22는 흐름도의 형태로 대치 데이터 ROM(84)에 저장되어야 하는 대치 위치 데이터를 발생하기 위한 알고리즘의 예를 도시한다. 기본적으로, 이 알고리즘은 대치 위치가 특정한 대치 패턴의 존재 여부를 검출하면서 연속적으로 결정되는 구조이다. 이후에는 흐름도의 각 단계가 설명된다.
먼저, 단계(S31)에서는 대치 위치 데이터 및 대치 후보 위치를 저장하기 위한 시퀀스 q[i]를 저장하는 시퀀스 p[i]가 초기화되고, 단계(S32)에서는 매개변수 POS의 값이 초기값인 0으로 설정된다.
단계(S33)에서는 TRIAL의 값이 초기값인 0으로 설정되고, 시퀀스 q[i]는 시퀀스 r[i]로 복사된다.
q[i] 중 제 0 내지 제 (N-1) 데이터는 p[i]에 아직 저장되지 않은 대치 위치를 포함하고, r[i]는 소정의 POS에 대해 대치 위치가 결정될 때 실행되는 시도의 각 스테이지에서 남아있는 대치 위치 후보를 포함한다.
이후, 단계(S34) 및 이어지는 단계에서는 p[i]에 저장된 대치 위치가 제 0으로부터 시작되어 순차적으로 결정된다. 즉, 단계(S34)에서는 0 내지 (N - POS - TRIAL - 1)의 값을 취하는 랜덤수 R이 발생되고, 단계(S35)에서는 p[POS] = r[R]이 설정된다.
다음 단계(S36)에서는 이미 정의된 저출력 가중치 패턴 검출 루틴에 따라 제 p[0] - p[POS] 대치 위치가 조사될 때 부호화된 데이터에 부가된 종료 비트의 효과로 인한 낮은 출력 가중치나 특정한 대치 패턴이 발생되는가 여부를 결정한다. 이 저출력 가중치 패턴 검출 루틴에 대한 상세한 설명은 이후 주어진다.
저출력 가중치 패턴이 발생될 때, 비트 "1"은 앞선 단계(S36)에 의해 "저출력 가중치 패턴 FLAG"로 설정된다. 결정 블록(S37)에서는 저출력 가중치 패턴이 이 플래그값으로부터 발생되었나 여부를 결정한다.
저출력 가중치 패턴이 발생된 것으로 결정될 때, 루틴은 단계(S38)로 진행되고, 대치 위치를 재선택하는 처리 과정이 실행된다. 특별히, 단계(S38)에서는 변수 TRIAL이 "1" 만큼 증가되고, 다음 단계(S39)에서는 TRIAL의 값이 (N - POS - 1)과 같은가 여부를 결정한다.
결정 블록(S39)의 긍정적인 결과는 지금까지 실행된 대치 위치의 선택 회수를 고려해, 시간 TRIAL = 0일 때 q[i]에 저장된 모든 대치 위치에 대해 단계 (S34 내지 S38)의 처리과정에서 적절한 대치 위치가 발견될 수 없음을 의미한다. 이 경우, 루틴은 단계(S32)로 복귀되고, 대치 위치의 결정은 POS = 0인 초기 입력 데이터 위치로부터 반복된다.
결정 블록(S39)의 부정적인 결과는 일부 대치 위치 후보가 아직 남아있음을 의미한다. 이 경우, 루틴은 다음 단계(S40)로 진행되어, 시퀀스 r[i]의 최종값인 r[N-POS-TRIAL]이 현재 선택된 대치 위치인 r[R]에서 대치되고, 루틴은 단계(S34)로 복귀되어, 상술된 것과 동일한 처리 과정이 반복되고, r[i]로부터 p[POS]내의 대치 위치가 선택된다.
한편, 결정 블록(S37)에서 저출력 가중치 패턴이 발생되지 않은 것으로 결정될 때, 루틴은 단계(S41)로 진행되어, POS가 N-1에 이르렀는가 여부, 즉 p[i]의 전체 내용이 결정되었나 여부가 결정된다.
p[i]의 전체 내용이 결정될 때, 루틴은 결정 블록(S41)의 YES 브랜치로 진행되어 전체적인 처리 루틴이 종료된다. 구해진 대치 시퀀스 p[i] (0 ≤ i < N)의 내용은 대치 데이터 ROM(34)에 저장된다.
반대로, p[i]가 아직 남아있으면, 단계(S35)에서 p[POS]에 저장된 값을 갖는 위치 TP가 탐색되고 (단계 S42), 이어서 시퀀스 q[i]의 최종값인 q[N-POS-1]는 q[TP]에서 대치된다 (단계 S43). 이때, POS는 1 만큼 증가되고, 루틴은 단계(S33)로 복귀되어, 상술된 것과 동일한 처리가 다음 데이터 위치에서 실행된다.
다음에는 단계(S36)의 저출력 가중치 검출 루틴이 상세히 설명된다. 이 검출 루틴은 부호화된 데이터의 끝에 부가된 종료 비트의 효과로 인해 만들어진 저출력 가중치를 검출하는 주요 특성을 갖는다.
이 검출 루틴에서는 상술된 제 1 실시예에서 도시된 조건 1 - 조건 8의 8개 조건에 부가하여, 이후 도시될 조건 2-1 - 조건 2-15의 15개 조건 중 적어도 하나를 유지하는가 여부가 결정된다. 조건 1 - 조건 8이 저출력 가중치 (상술된)로 된 특정한 대치 패턴을 검출했던 것에 반하여, 조건 2-1 - 조건 2-15는 종료 비트의 효과로 인해 저출력 가중치로 된 대치 패턴을 검출한다.
( 조건 2-1 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 한 점의 위치가 ∀i {0, ..., POS}이면, 소정의 값 S3에 대해 다음의 관계가 만족된다.
( 조건 2-2 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 한 점의 위치가 ∀i {0, ..., POS}이면, 소정의 값 S4에 대해 다음의 관계가 만족된다.
( 조건 2-3 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 두 점의 위치가 ∀i1, i2{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S5에 대해 다음의 관계가 만족된다.
( 조건 2-4 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 두 점의 위치가 ∀i1, i2{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S6및 L3에 대해 다음의 관계가 만족된다.
( 조건 2-5 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 두 점의 위치가 ∀i1, i2{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S7및 L4에 대해 다음의 관계가 만족된다.
( 조건 2-6 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 세 점의 위치가 ∀i1, ∀i2, ∀i3{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S8에 대해 다음의 관계가 만족된다.
( 조건 2-7 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 세 점의 위치가 ∀i1, ∀i2, ∀i3{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S9및 L5에 대해 다음의 관계가 만족된다.
( 조건 2-8 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 세 점의 위치가 ∀i1, ∀i2, ∀i3{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S10및 L6에 대해 다음의 관계가 만족된다.
( 조건 2-9 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 세 점의 위치가 ∀i1, ∀i2, ∀i3{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S11및 L7에 대해 다음의 관계가 만족된다.
( 조건 2-10 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 세 점의 위치가 ∀i1, ∀i2, ∀i3{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S12및 L8에 대해 다음의 관계가 만족된다.
( 조건 2-11 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 세 점의 위치가 ∀i1, ∀i2, ∀i3{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S13및 L9에 대해 다음의 관계가 만족된다.
( 조건 2-12 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 세 점의 위치가 ∀i1, ∀i2, ∀i3{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S14및 L10에 대해 다음의 관계가 만족된다.
( 조건 2-13 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 세 점의 위치가 ∀i1, ∀i2, ∀i3{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S15및 L11에 대해 다음의 관계가 만족된다.
( 조건 2-14 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 세 점의 위치가 ∀i1, ∀i2, ∀i3{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S16및 L12에 대해 다음의 관계가 만족된다.
( 조건 2-15 )
인터리버 크기가 N이고 0 내지 POS의 입력 신호 중 임의의 세 점의 위치가 ∀i1, ∀i2, ∀i3{0, ..., POS}, ia≠ ib(a ≠ b)이면, 소정의 값 S17및 L13에 대해 다음의 관계가 만족된다.
본 발명에 관련된 저출력 가중치 패턴 검출 루틴에서, 특정한 대치 패턴으로 된 조건 1 - 조건 8의 8개 조건 또는 종료 비트의 효과로 인해 저출력 가중치로 된 조건 2-1 - 조건 2-15의 15개 조건 중 적어도 하나가 유지될 때, 저출력 가중치 패턴 FLAG가 1로 설정되고, 그런 경우가 아닐 때는 저출력 가중치 패턴 FLAG가 0으로 설정된다.
예를 들면, 도 19에 도시된 주기 p = 3의 콘볼루션 코드를 성분 코드로 구비하는 터보 부호화 장치(60')에서, 조건 1 - 조건 8은 (상술된) 도 4a 내지 도 4d에 도시된 저가중치 코드어 발생 패턴을 검출한다.
또한, 조건 2-1 - 조건 2-5는 도 23a 내지 도 23c에 도시된 저가중치 코드어 발생 패턴을 검출하고, 조건 2-6 - 조건 2-10은 도 25a 내지 도 25c에 도시된 저가중치 코드어 발생 패턴을 검출하고, 또한 조건 2-11 - 조건 2-15는 도 26a 내지 도 26c에 도시된 저가중치 코드어 발생 패턴을 검출한다. 각 도면의 화살표는 입력 비트에서 "1"이 대치된 위치를 도시한다. 도 26b에서는 끝부근의 점이 패턴의 끝으로 대치되는 반면, 도 26c에서는 끝부근의 점이 중간 부근의 위치로 대치되는 경우가 검출된다.
제 3 실시예에 따라, 특정한 대치 패턴을 검출하기 위해 총 23개의 조건이 확인되지만, 저가중치 출력 패턴을 검출하는데 다른 조건이 부가된 인터리버가 구성될 수 있어, 코드 실행도를 더 증진시킨다.
저출력 가중치 패턴 검출 루틴에서, 조건 1 - 조건 8과 조건 2-1 - 조건 2-15 중 하나 이상이 적용되어야 하는가 여부는 처리 로드 (load)와 에러 정정 실행도의 증진 사이의 균형에 의해 결정된다. 즉, 코드의 최소 거리를 가능한한 많이 증가시키기 위해서는 결정적인 패턴의 대치를 제거하도록 더 많은 수의 조건이 결정되어야 하지만, 이는 처리 로드를 증가시키게 된다.
대치 데이터 ROM(34)에 저장되어야 하는 대치 위치 데이터를 발생하기 위한 알고리즘의 또 다른 예는 흐름도의 형태로 도 24에 도시된다. 다른 말로 하면, 이 알고리즘은 랜덤하게 발생된 위치를 근거로 저출력 가중치 패턴을 발생하는 위치가 대치되는 위치를 재배열하는 구조이다. 이후에는 다양한 흐름도의 단계가 설명된다.
먼저, 단계(S51)에서는 0 내지 (N-1)의 값에서 중복되지 않도록 시퀀스 p[i] (0 ≤ i < N)가 설정된다.
다음 단계(S52)에서는 저출력 코드어 가중치 대치 패턴을 발생하는 시퀀스 [i]에서 모든 데이터 위치가 수집되어 이들 위치의 값들이 시퀀스 r[i]에 저장되고, 그 위치들의 합은 변수 TOTAL의 값으로 설정된다. 즉, 상술된 조건 1 - 조건 8 및 조건 2-1 - 조건 2-15 중 적어도 하나를 만족시키는 데이터 위치의 값 i1, i2, i3, i4는 r[i]에 저장되고, 그 합은 TOTAL로 설정된다.
도 22의 흐름도에 도시된 저출력 가중치 패턴 검출 루틴과 유사하게, 코드의 최소 거리를 증가시키기 위해서는 결정적인 패턴을 발생하는 대치가 가능한한 멀리 제거되어야 한다. 그러므로, 23개 조건 중 하나만이 만족되더라도, 그 때의 값 i1, i2, i3, i4는 시퀀스 r[i]에 저장되고, 그 합은 TOTAL로 설정된다. 값 i1, i2, i3, i4중 임의의 것이 이미 시퀀스 r[i]에 저장되어 있으면, 그 값은 r[i]에 저장되지 않는다.
다음 단계(S53)에서는 TOTAL이 0인가 여부를 결정함으로서 저출력 가중치를 갖는 대치 패턴이 발생되었나 여부를 결정한다.
저출력 가중치 대치 패턴이 발생되었을 때, 루틴은 다음 단계(S54)로 진행되어, 저출력 가중치 대치 패턴을 발생하지 않은 위치, 즉 r[i]에 포함되지 않은 값 j (0 ≤ j < N)가 랜덤하게 선택되고, p[r[i]]가 p[j]로 대치되는 처리 과정이 모든 r[i]에 대해 실행된다. 이어서, 루틴은 단계(S52)로 복귀되고, 저출력 가중치 대치 패턴을 검출하는 처리 과정이 반복된다.
한편, 저출력 가중치 대치 패턴이 발생되지 않았을 때, 루틴은 결정 블록 (S54)의 YES 브랜치로 진행되어, 전체적인 처리 루틴이 종료된다.
작은 출력 코드어 가중치를 제공하는 저출력 가중치 대치 패턴은 많이 있다. 제 3 실시예에 따라, 인터리버 대치 위치는 이러한 패턴을 남기지 않고 이러한 패턴을 모두 제거하도록 구성되었다. 그 결과로, 코드의 최소 길이가 증가되고, 높은 에러 정정 실행도를 갖는 터보 부호화 장치 및 터보 복호화 장치가 제공될 수 있다.
[ 보충 ]
본 발명은 특정한 실시예를 참고로 상세히 설명되었다. 그러나, 본 발명의 의도에서 벗어나지 않고 종래 기술에 숙련된 자에 의해 다양한 수정 및 대치가 이루어질 수 있는 것으로 이해된다.
예를 들면, 본 명세서에서, 상술된 처리를 실행하도록 컴퓨터 프로그램이 제공되는 제공 매체는 자기 디스크나 CD-ROM, 또는 인터넷이나 디지털 위성 네트워크를 통한 전송 매체와 같은 정보 기록 매체가 될 수 있다.
간략히, 본 발명은 특정한 예를 통해 설명되었지만, 이들 예는 제한되는 것으로 구성되지 말아야 한다. 본 발명의 기본적인 특성을 설명하기 위해서는 본 명세서에 첨부된 청구항을 참고하여야 한다.
상술된 바와 같이, 청구항 1에서 정의된 부호화 장치에 따라, 입력 데이터의 인터리브 및 부호화 처리는 작은 출력 코드어 가중치를 제공하는 대치 패턴을 제거함으로서 실행되므로, 더 높은 에러 정정 실행도를 제공하는 터보 부호화 장치 및 복호화 장치가 구성될 수 있다.
청구항 12 내지 청구항 26에서 정의된 부호화 장치에 따라, 코드어 가중치를 작게 만드는 특정한 인터리빙 패턴에 부가하여, 부호화된 데이터게 부가된 종료 비트의 효과로 인해 작은 출력 코드어 가중치를 제공하는 인터리빙 패턴이 또한 제거되므로, 부호화 데이터는 더 높은 에러 정정 실행도를 갖추어 출력될 수 있다.
청구항 29에서 정의된 부호화 방법 및 청구항 31에서 정의된 제공 매체에 따라, 입력 데이터는 작은 코드어 가중치를 제공하는 소정의 패턴이 제거된 인터리빙 패턴을 사용해 인터리브되므로, 부호화된 데이터는 높은 에러 정정 실행도를 갖추어 출력될 수 있다.
청구항 33에서 정의된 복호화 방법, 청구항 35에서 정의된 복호화 방법, 및 청구항 37에서 정의된 제공 매체에 따라, 부호화 장치에 의해 실행된 인터리브 처리의 역처리가 실행되므로, 작은 코드어 가중치를 제공하는 인터리빙 패턴은 제거되고, 출력된 부호화 데이터는 높은 에러 정정 실행도를 갖는 복호화 장치에 의해 복호화될 수 있다.
청구항 39에서 정의된 데이터 대치 정보를 발생하기 위한 방법 및 청구항 40에서 정의된 제공 매체에 따라, 작은 출력 코드어 가중치를 제공하는 대치 패턴과 부호화된 데이터에 부가된 종료 비트의 효과로 인해 작은 출력 코드어 가중치를 제공하는 대치 패턴이 제거된 인터리빙 패턴이 발생될 수 있다. 이러한 방법으로 발생된 인터리빙 패턴을 사용해 입력 데이터를 혼합시키는 터보 부호화 장치를 구성함으로서, 코드어의 최소 가중치가 가능한한 멀리 증가될 수 있고, 터보 부호화 장치 및 터보 복호화 장치는 더 높은 에러 정정 실행도를 제공할 수 있다.

Claims (40)

  1. 입력 데이터에 대해서 콘볼루션 부호화 (convolution encoding)를 실행하는 콘볼루션 수단과, 상기 입력 데이터에 대해서 순차적인 인터리빙(interleaving)을 실행하는 인터리빙 수단을 포함하는 부호화 장치로서, 상기 인터리빙 수단은 소정의 패턴이 제거된 인터리빙 패턴을 사용해 상기 입력 데이터를 인터리브하는 부호화 장치.
  2. 제 1 항에 있어서,
    상기 인터리빙 수단에 의해 제거된 상기 소정의 인터리빙 패턴은 작은 코드어 가중치(code word weighting)를 제공하는 패턴인 부호화 장치.
  3. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 두 점의 위치가 i1, i2{0, ..., POS}, i1≠ i2이고, 또한 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2]일 때, 상기 인터리빙 수단은 소정의 값 L1에 대해 제 1 세트의 관계 | i1- i2| = pxl1, | p[i1] - p[i2] | = pxl2, l1< L1, l2< L1를 만족시키는 인터리빙 패턴을 제거하는 부호화 장치.
  4. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 두 점의 위치가 i1, i2{0, ..., POS}, i1≠ i2이고, 또한 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2]일 때, 상기 인터리빙 수단은 소정의 값 L2에 대해 제 2 세트의 관계 | i1- i2| = pxl1, | p[i1] - p[i2] | = pxl2, l1+ l2< L2를 만족시키는 인터리빙 패턴을 제거하는 부호화 장치.
  5. 제 1 항에 있어서,
    0 내지 POS의 상기 입력 데이터 중 임의의 두 점의 위치가 i1, i2{0, ..., POS}, i1≠ i2이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2]일 때, 상기 인터리빙 수단은 소정의 값 S1에 대해 제 3 세트의 관계 | i1- i2| ≤ S1, | p[i1] - p[i2] | ≤ S1을 만족시키는 인터리빙 패턴을 제거하는 부호화 장치.
  6. 제 1 항에 있어서,
    0 내지 POS의 상기 입력 데이터 중 임의의 두 점의 위치가 i1, i2{0, ..., POS}, i1≠ i2이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2]일 때, 상기 인터리빙 수단은 소정의 값 S2에 대해 제 4 세트의 관계 | i1- i2| + | p[i1] - p[i2] | ≤ S2를 만족시키는 인터리빙 패턴을 제거하는 부호화 장치.
  7. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 네 점의 위치가 i1, i2, i3, i4{0, ..., POS}, ia≠ ib(a ≠ b)이고, 또한 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3], p[i4]일 때, 상기 인터리빙 수단은 소정의 값 M1에 대해 제 5 세트의 관계 | i1- i2| = pxm1, | i3- i4| = pxm2,| p[i1] - p[i3] | = pxm3, | p[i2] - p[i4] | = pxm4, (m1, m2, m3, m4) ≤ M1을 만족시키는 인터리빙 패턴을 제거하는 부호화 장치.
  8. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 네 점의 위치가 i1, i2, i3, i4{0, ..., POS}, ia≠ ib(a ≠ b)이고, 또한 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3], p[i4]일 때, 상기 인터리빙 수단은 소정의 값 M2에 대해 제 6 세트의 관계 | i1- i2| = pxm1, | i3- i4| = pxm2,| p[i1] - p[i3] | = pxm3, | p[i2] - p[i4] | = pxm4, (m1, m2, m3, m4) ≤ M2를 만족시키는 인터리빙 패턴을 제거하는 부호화 장치.
  9. 제 1 항에 있어서,
    0 내지 POS의 상기 입력 데이터 중 임의의 네 점의 위치가 i1, i2, i3, i4{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3], p[i4]일 때, 상기 인터리빙 수단은 소정의 값 O1에 대해 제 7 세트의 관계 | i1- i2| ≤ O1, | i3- i4| ≤ O1,| p[i1] - p[i3] | ≤ O1, | p[i2] - p[i4] | ≤ O1을 만족시키는 인터리빙 패턴을 제거하는 부호화 장치.
  10. 제 1 항에 있어서,
    0 내지 POS의 상기 입력 데이터 중 임의의 네 점의 위치가 i1, i2, i3, i4{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3], p[i4]일 때, 상기 인터리빙 수단은 소정의 값 O2에 대해 제 8 세트의 관계 | i1- i2| + | i3- i4| + | p[i1] - p[i3] | + | p[i2] - p[i4] | ≤ O2를 만족시키는 인터리빙 패턴을 제거하는 부호화 장치.
  11. 제 1 항에 있어서,
    상기 인터리빙 수단은 인터리브의 끝에 부가된 종료 비트의 효과로 인해 작은 코드어 가중치를 제공하는 패턴을 제거하는 부호화 장치.
  12. 제 1 항에 있어서,
    0 내지 POS의 상기 입력 데이터 중 임의의 한 점의 위치가 i {0, ..., POS}이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때,
    상기 인터리빙 수단은 소정의 값 S3에 대해 제 9 세트의 관계 N - i ≤ S3, N - p[i] ≤ S3을 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  13. 제 1 항에 있어서,
    0 내지 POS의 상기 입력 데이터 중 임의의 한 점의 위치가 i {0, ..., POS}이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때,
    상기 인터리빙 수단은 소정의 값 S4에 대해 제 10 세트의 관계 (N - I) + (N - p[i]) ≤ S4를 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  14. 제 1 항에 있어서,
    0 내지 POS의 상기 입력 데이터 중 임의의 두 점의 위치가 i1, i2{0, ..., POS}, ia≠ ib이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S5에 대해 제 11 세트의 관계 N - i1≤ S5, N - i2≤ S5, N - p[i1] ≤ S5, N - p[i2] ≤ S5를 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  15. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 두 점의 위치가 i1, i2{0, ..., POS}, ia≠ ib이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S6및 L3에 대해 제 12 세트의 관계 N - i1≤ S6, N - i2≤ S6, | p[i1] - p[i2] | ≤ p.l, l < L3를 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  16. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 두 점의 위치가 i1, i2{0, ..., POS}, ia≠ ib이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S7및 L4에 대해 제 13 세트의 관계 | i1- i2| ≤ p.l, N - p[i1] ≤ S7, N - p[i2] ≤ S7, l < L4를 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  17. 제 1 항에 있어서,
    0 내지 POS의 상기 입력 데이터 중 임의의 세 점의 위치가 i1, i2, i3{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S8에 대해 제 14 세트의 관계 N - i1≤ S8, N - i2≤ S8, N - i3≤ S8, N - p[i1] ≤ S8, N - p[i2] ≤ S8, N - p[i3] ≤ S8을 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  18. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 세 점의 위치가 i1, i2, i3{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S9및 L5에 대해 제 15 세트의 관계 N - i1≤ S9, N - i2≤ S9, N - i3≤ S9, | p[i1] - p[i2] | ≤ p.l, N - p[i3] ≤ S9, l < L5를 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  19. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 세 점의 위치가 i1, i2, i3{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S10및 L6에 대해 제 16 세트의 관계 | i1- i2| ≤ p.l, N - i3≤ S10, N - p[i1] ≤ S10, N - p[i2] ≤ S10, N - p[i3] ≤ S10, l < L6를 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  20. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 세 점의 위치가 i1, i2, i3{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S11및 L7에 대해 제 17 세트의 관계 N - i1≤ S11, N - i2≤ S11, N - i3≤ S11, | p[i1] - p[i2] | = p.l1+ n1, | p[i2] - p[i3] | = p.l2+ n2, 0 ≤ n1< p, 0 ≤ n2< p, l1+ l2< L7을 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  21. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 세 점의 위치가 i1, i2, i3{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S12및 L8에 대해 제 18 세트의 관계 | i1- i2| = p.l1+ n1, | i2- i3| = p.l2+ n2, N - p[i1] ≤ S12, N - p[i2] ≤ S12, N - p[i3] ≤ S12, 0 ≤ n1< p, 0 ≤ n2< p, l1+ l2< L8을 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  22. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 세 점의 위치가 i1, i2, i3{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S13및 L9에 대해 제 19 세트의 관계 | [i1] - [i2] | = p.l1, N - i3≤ S13, | p[i1] - p[i3] | = p.l2, N - p[i2] ≤ S13, l1+ l2< L9을 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  23. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 세 점의 위치가 i1, i2, i3{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S14및 L10에 대해 제 20 세트의 관계 | [i1] - [i2] | = p.l1, N - i3≤ S14, | p[i1] - p[i2] | = p.l2+ n1, | p[i2] - p[i3] | = p.l3+ n2, 0 ≤ n1< p, 0 ≤ n2< p, l1+ l2+ l3< L10을 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  24. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 세 점의 위치가 i1, i2, i3{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S15및 L11에 대해 제 21 세트의 관계 | [i1] - [i2] | = p.l1+ n1, | [i2] - [i3] | = p.l2+ n2, | p[i1] - p[i2] | = p.l3, N - p[i3] ≤ S15, 0 ≤ n1< p, 0 ≤ n2< p, l1+ l2+ l3< L11을 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  25. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 세 점의 위치가 i1, i2, i3{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S16및 L12에 대해 제 22 세트의 관계 | [i1] - [i2] | = p.l1, N - i3≤ S16, | p[i1] - p[i3] | = p.l2+ n1, | p[i3] - p[i2] | = p.l3+ n2, 0 ≤ n1< p, 0 ≤ n2< p, l1+ l2+ l3< L12을 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  26. 제 1 항에 있어서,
    상기 콘볼루션 수단의 콘볼루션 코드 주기가 p이고, 0 내지 POS의 상기 입력 데이터 중 임의의 세 점의 위치가 i1, i2, i3{0, ..., POS}, ia≠ ib(a ≠ b)이고, 상기 인터리빙 수단에 의해 대치된 위치가 p[i1], p[i2], p[i3]이고, 또한 상기 인터리빙 수단의 데이터 수가 N일 때, 상기 인터리빙 수단은 소정의 값 S17및 L13에 대해 제 23 세트의 관계 | [i1] - [i2] | = p.l1+ n1, | [i2] - [i3] | = p.l2+ n2, | p[i1] - p[i3] | = p.l3, N - p[i2] ≤ S17, 0 ≤ n1< p, 0 ≤ n2< p, l1+ l2+ l3< L13을 만족시키는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  27. 제 1 항에 있어서,
    상기 인터리빙 수단은 제 12 항 내지 제 26 항의 상기 제 9 내지 제 23 세트의 관계 중 적어도 하나가 유지하는 인터리브의 끝부근에서 대치 패턴을 제거하는 부호화 장치.
  28. 제 1 항에 있어서,
    상기 인터리빙 수단은 제 3 항 내지 제 10항 및 제 12 항 내지 제 26 항의 상기 제 1 내지 제 23 세트의 관계 또는 관계 중 적어도 하나가 유지하는 인터리빙 패턴을 제거하는 부호화 장치.
  29. 입력 데이터의 콘볼루션 부호화를 실행하는 콘볼루션 수단과, 상기 입력 데이터에 대해서 순차적인 인터리빙을 실행하는 인터리빙 수단을 포함하는 부호화 장치를 위한 부호화 방법로서,
    상기 인터리빙 수단은 작은 코드어 가중치를 제공하는 소정의 패턴이 제거된 인터리빙 패턴을 사용해 상기 입력 데이터를 인터리브하는 부호화 방법.
  30. 제 1 항에 있어서,
    상기 인터리빙 수단은 제 3 항 내지 제 10항 및 제 12 항 내지 제 26 항의 상기 제 1 내지 제 23 세트의 관계 중 적어도 하나가 유지하는 인터리빙 패턴을 제거하는 부호화 장치.
  31. 입력 데이터에 대해서 콘볼루션 부호화를 실행하는 콘볼루션 수단과, 상기 입력 데이터에 대해서 순차적인 인터리빙을 실행하는 인터리빙 수단을 포함하는 부호화 장치의 상기 인터리빙 수단이 처리 과정을 실행하게 하도록 컴퓨터에 의해 판독가능한 프로그램을 제공하는 제공 매체로서,
    상기 처리 과정은
    작은 코드어 가중치를 제공하는 소정의 패턴이 발생되었나 여부를 검출하는 단계와,
    상기 검출 단계에서 검출된 소정의 패턴을 재인터리빙하는 재인터리빙 단계를 포함하는 제공 매체.
  32. 제 31 항에 있어서,
    상기 검출 단계는 제 3 항 내지 제 10항 및 제 12 항 내지 제 26 항의 상기 제 1 내지 제 23 세트의 관계 중 적어도 하나가 유지하는 인터리빙 패턴을 검출하는 제공 매체.
  33. 입력 데이터에 대해서 콘볼루션 부호화를 실행하는 콘볼루션 수단과, 작은 코드어 가중치를 제공하는 소정의 패턴이 제거된 인터리빙 패턴을 사용해 상기 입력 데이터를 인터리빙하는 인터리빙 수단을 포함하는 부호화 장치에 의해 출력된 부호화 데이터를 복호화하는 복호화 장치로서,
    복호화 수단이 상기 부호화 장치에 의해 실행된 인터리빙 처리에 역처리를 실행하는 인터리빙 수단을 포함하는 복호화 장치.
  34. 제 33 항에 있어서,
    상기 인터리빙 수단은 제 3 항 내지 제 10항 및 제 12 항 내지 제 26 항의 상기 제 1 내지 제 23 세트의 관계 중 적어도 하나가 유지하는 인터리빙 패턴을 제거하는 복호화 장치.
  35. 입력 데이터에 대해서 콘볼루션 부호화를 실행하는 콘볼루션 수단과, 작은 코드어 가중치를 제공하는 소정의 패턴이 제거된 인터리빙 패턴을 사용해 상기 입력 데이터를 인터리빙하는 인터리빙 수단을 포함하는 부호화 장치에 의해 출력된 부호화 데이터를 복호화하는 복호화 장치를 위한 복호화 방법으로서,
    상기 부호화 장치에 의해 실행된 인터리빙에 역처리를 실행하는 인터리빙 단계를 포함하는 복호화 방법.
  36. 제 35 항에 있어서,
    상기 인터리빙 수단은 제 3 항 내지 제 10항 및 제 12 항 내지 제 26 항의 상기 제 1 내지 제 23 세트의 관계 중 적어도 하나가 유지하는 인터리빙 패턴을 제거하는 복호화 방법.
  37. 입력 데이터에 대해서 콘볼루션 부호화를 실행하는 콘볼루션 수단과, 상기 입력 데이터에 대해서 순차적인 인터리빙을 실행하는 인터리빙 수단을 포함하는 부호화 장치에 의해 출력된 부호화 데이터를 복호화하는 복호화 장치가 상기 부호화 장치에 의해 실행된 인터리빙에 역처리를 실행하는 인터리빙 단계를 포함하는 처리 과정을 실행하게 하도록 컴퓨터에 의해 판독될 수 있는 프로그램을 제공하는 제공 매체.
  38. 제 37 항에 있어서,
    상기 인터리빙 수단은 제 10항 및 제 12 항 내지 제 26 항의 상기 제 1 내지 제 23 세트의 관계 중 적어도 하나가 유지하는 인터리빙 패턴을 제거하는 제공 매체.
  39. 터보 부호화 (turbo encoding)에서 입력 데이터를 혼합시키는 인터리빙을 실행하도록 데이터 대치 위치 정보를 발생하는 방법으로서,
    데이터 대치 위치 정보를 일시적으로 발생하는 제 1 단계와,
    상기 제 1 단계에서 발생된 데이터 대치 위치 정보가 소정의 인터리빙 패턴을 발생하는가 여부를 결정하는 제 2 단계와,
    상기 제 2 단계의 결정 결과에 응답해 데이터 대치 위치 정보를 일시적으로 재발생하는 제 3 단계를 포함하고,
    상기 제 2 단계의 결정은 제 3 항 내지 제 10항 및 제 12 항 내지 제 26 항의 상기 제 1 내지 제 23 세트의 관계 중 적어도 하나가 유지되는가 여부에 따라 실행되는 데이터 대치 위치 정보 발생 방법.
  40. 터보 부호화에서 입력 데이터를 혼합시키는 인터리빙을 실행하기 위해 데이터 대치 위치 정보를 발생하도록 컴퓨터 시스템에 처리 과정을 실행하는 컴퓨터 프로그램을 물리적으로 제공하는 제공 매체로서,
    상기 컴퓨터 프로그램은
    데이터 대치 위치 정보를 일시적으로 발생하는 제 1 단계와,
    상기 제 1 단계에서 발생된 데이터 대치 위치 정보가 소정의 인터리빙 패턴을 발생하는지 여부를 결정하는 제 2 단계와,
    상기 제 2 단계의 결정 결과에 응답해 데이터 대치 위치 정보를 일시적으로 재발생하는 제 3 단계를 포함하고,
    상기 제 2 단계의 결정은 제 3 항 내지 제 10항 및 제 12 항 내지 제 26 항의 상기 제 1 내지 제 23 세트의 관계 중 적어도 하나가 유지되는가 여부에 따라 실행되는 제공 매체.
KR1019990038080A 1998-09-08 1999-09-08 부호화 장치와 방법, 복호화 장치와 방법, 제공 매체, 및데이터 대치 위치 정보를 발생하는 방법 KR20000022987A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP98-253584 1998-09-08
JP25358498 1998-09-08
JP11132341A JP2000151427A (ja) 1998-09-08 1999-05-13 符号化装置および方法、復号装置および方法、提供媒体、並びにデ―タ置換位置情報を生成するための方法
JP99-132341 1999-05-13

Publications (1)

Publication Number Publication Date
KR20000022987A true KR20000022987A (ko) 2000-04-25

Family

ID=26466943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990038080A KR20000022987A (ko) 1998-09-08 1999-09-08 부호화 장치와 방법, 복호화 장치와 방법, 제공 매체, 및데이터 대치 위치 정보를 발생하는 방법

Country Status (4)

Country Link
US (1) US6684365B1 (ko)
EP (2) EP0986183A3 (ko)
JP (1) JP2000151427A (ko)
KR (1) KR20000022987A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6876350B2 (en) * 2001-08-10 2005-04-05 Semiconductor Energy Laboratory Co., Ltd. Display device and electronic equipment using the same
US7797615B2 (en) 2005-07-07 2010-09-14 Acer Incorporated Utilizing variable-length inputs in an inter-sequence permutation turbo code system
US20070011557A1 (en) * 2005-07-07 2007-01-11 Highdimension Ltd. Inter-sequence permutation turbo code system and operation methods thereof
JP4818651B2 (ja) * 2005-07-13 2011-11-16 ルネサスエレクトロニクス株式会社 暗号化・復号化回路
JP2008011146A (ja) * 2006-06-29 2008-01-17 Kyocera Corp 通信方法、符号器及び復号器
JP5440836B2 (ja) * 2009-03-24 2014-03-12 ソニー株式会社 受信装置及び方法、プログラム、並びに受信システム
CN111147086B (zh) * 2019-12-26 2022-04-22 中国科学院计算技术研究所 一种编码调制方法、系统、介质及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4291406A (en) * 1979-08-06 1981-09-22 International Business Machines Corporation Error correction on burst channels by sequential decoding
US6055277A (en) * 1997-05-29 2000-04-25 Trw Docket No. Communication system for broadcasting to mobile users
WO1999012265A1 (fr) * 1997-09-02 1999-03-11 Sony Corporation Codeur/decodeur turbo et procede de codage/decodage turbo
US6081921A (en) * 1997-11-20 2000-06-27 Lucent Technologies Inc. Bit insertion approach to convolutional encoding
US6192500B1 (en) * 1998-02-11 2001-02-20 Conexant Systems, Inc. Method and apparatus for enhanced performance in a system employing convolutional decoding

Also Published As

Publication number Publication date
EP1300954A1 (en) 2003-04-09
EP0986183A2 (en) 2000-03-15
EP0986183A3 (en) 2001-11-07
JP2000151427A (ja) 2000-05-30
US6684365B1 (en) 2004-01-27

Similar Documents

Publication Publication Date Title
JP3347335B2 (ja) インタリービング方法、インタリービング装置、及びインタリーブパターン作成プログラムを記録した記録媒体
JP5394410B2 (ja) 線形合同シーケンスを使用するターボコードインタリーバ
US6757865B1 (en) Turbo-code error correcting decoder, turbo-code error correction decoding method, turbo-code decoding apparatus, and turbo-code decoding system
Battail et al. Pseudo-random recursive convolutional coding for near-capacity performance
KR20060125837A (ko) 데이터를 인코딩하기 위한 방법 및 장치
KR20000022987A (ko) 부호화 장치와 방법, 복호화 장치와 방법, 제공 매체, 및데이터 대치 위치 정보를 발생하는 방법
US6751773B2 (en) Coding apparatus capable of high speed operation
Boutillon et al. Hardware discrete channel emulator
CN110022158B (zh) 一种译码方法及装置
JP4081875B2 (ja) 符号化装置および方法、復号装置および方法、並びに提供媒体
US11362679B2 (en) Method and apparatus for generating redundant bits for error detection
KR100799147B1 (ko) 디코딩 방법 및 장치
CN101411071A (zh) 具有双向滑动窗口体系结构的map译码器
KR100297739B1 (ko) 다중테일을갖는터보코드및그의부호화/복호화방법및그를이용한부호기/복호기
Benedetto et al. Performance evaluation of parallel concatenated codes
JP4049620B2 (ja) ビットシーケンスを復号するための方法および装置
CN116073952B (zh) 一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质
US6647530B1 (en) Apparatus and method for viterbi decoding
Khandani Group structure of turbo codes with application to the interleaver design
JP3348328B2 (ja) ビタビ復号装置
US8245103B2 (en) Arithmetic circuit for concatenated codes and address control method
JP4507443B2 (ja) インターリーブ方法及びインターリーブ装置
KR20010038383A (ko) 교환 인터리버 구현 방법
KR100531840B1 (ko) 비터비 디코더의 가지 메트릭 계산 방법 및 그 회로
JP2003188737A (ja) インターリーブ処理方法及びインターリーブ処理装置

Legal Events

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