KR100237376B1 - 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법 - Google Patents

리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법 Download PDF

Info

Publication number
KR100237376B1
KR100237376B1 KR1019970016710A KR19970016710A KR100237376B1 KR 100237376 B1 KR100237376 B1 KR 100237376B1 KR 1019970016710 A KR1019970016710 A KR 1019970016710A KR 19970016710 A KR19970016710 A KR 19970016710A KR 100237376 B1 KR100237376 B1 KR 100237376B1
Authority
KR
South Korea
Prior art keywords
bits
information
code
additional
codeword
Prior art date
Application number
KR1019970016710A
Other languages
English (en)
Other versions
KR19980079052A (ko
Inventor
김수영
Original Assignee
이계철
한국전기통신공사
정선종
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이계철, 한국전기통신공사, 정선종, 한국전자통신연구원 filed Critical 이계철
Priority to KR1019970016710A priority Critical patent/KR100237376B1/ko
Publication of KR19980079052A publication Critical patent/KR19980079052A/ko
Application granted granted Critical
Publication of KR100237376B1 publication Critical patent/KR100237376B1/ko

Links

Images

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
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 리드 솔로몬 코드의 서브코드를 이용한 비균일 에러방지 기법에 관한 것으로서, 본 발명에서 제공하는 비균일 에러방지 기법은 요구되는 전송 비트율에 따라 에러 정정 부호화시에 추가할 수 있는 부가 정보 비트의 수를 구하여 에러 민감도에 따라 부가 '0' 비트를 할당하는 정보어 생성단계와, 상기 정보어 생성 단계에서 생성된 정보어를 가지고 서브코드를 만드는 부호화 단계와, 한 프레임내에 들어 있는 부호어별, 심볼별로 상기 부가 '0' 비트가 어느 위치에 할당되어 있는가에 대한 위치정보를 확인하여 복호되어야 할 부호어의 개수를 인지한 후 복호를 수행하는 복호화 단계로 구성되는데, 복호시에는 '0' 비트가 삽입된 만큼 복호기가 고려해야 하는 부호어가 줄어들고, 또 코드 자체의 최소 거리도 늘어나기 때문에 복호기의 계산속도의 향상은 물론이고 복원된 신호의 품질을 높일 수 있으므로, 전력 측면에서 큰 이득을 볼 수 있다. 또한 에러방지 정도나 부호화율을 자유롭게 조정할 수 있으므로 어느 시스템에나 구현이 가능하다.

Description

리드 솔로몬 코드의 서브코드를 이용한 비균일 에러방지 기법{Unequal Error Protection by Using a Subcode of Reed Solomon Codes}
본 발명은 리드 솔로몬 코드의 서브코드를 이용한 비균일 에러방지 기법에 관한 것으로서, 특히, 리드 솔로몬(Reed Solomon) 코드의 서브코드(subcode)의 하나를 사용하여 비디오나 음성과 같이 선형 예측 부호화법(Linear Predictive Coding; LPC)을 사용하는 비트 수 저감(Low Bit Rate, LBR) 소스코드의 주요한 파라미터들과 그렇지 못한 파라미터들 간에 에러방지에 차 등을 둠으로써 서비스 품질을 높이는 방법에 관한 것이다.
여기서 주요한 파라미터들이란 복원시 서비스 품질에 큰 영향을 미치는 파라미터들을 말한다.
비디오나 음성과 같이 선형 예측 부호화법을 사용하는 소스코드의 파라미터들은 채널에서 에러가 발생하여 손실되었을 때 이로 인하여 서비스 품질에 미치는 영향이 파라미터별로 다르며, 이것을 파라미터별 에러에 대한 민감도라고 한다.
따라서, 각 파라미터들의 에러에 대한 민감도에 따라 에러보호의 정도를 달리해 주어야 한다. 그러나 한 프레임 내의 각 파라미터별로 다른 부호화 방식을 사용한다는 것은 쉽지가 않다. 이러한 비균일 에러방지 기법에 대해서는 어떤 확실한 방법이 제시되어 있는 것이 없고 길쌈부호의 부호화율을 달리하는 방식이 흔히 사용된다.
그러나, 이 방법은 기본적으로 단일 코드를 사용하는 것이 아니라 여러 가지 종류의 코드를 사용하는 것이기 때문에 복호기 자체로 이에 상응하는 만큼이 필요하게 되므로 그 복잡성이 증가하게 된다.
더욱이 근래에는 소스 제어 채널 코딩(Source-controlled channel coding) 기법이 제안되어, 소스코드의 파라미터에 내재하는 기본적인 성질을 가지고 채널코더의 성능과 계산속도를 향상시킬 수 있게 되었는데, 여기에 효율적인 비균일 에러방지법이 사용된다면 복원된 음성(또는 비디오)의 품질은 더욱 더 향상될 수 있을 것이다.
실제로 본 발명에서 제안된 코드는 길쌈부호를 사용하는 것보다 소스 제어 채널 코딩의 성능을 더욱 향상시킬 수 있다. 왜냐하면 각 파라미터를 심볼 단위로 할당할 수 있고 심볼 단위로의 비교가 가능하기 때문이다. 반면, 길쌈부호에서는 심볼 부호 한 파라미터의 적합성을 판단하기 위해서는 여러개의 노드를 진행해야 한다.
따라서, 본 발명에서는 서비스 품질에 큰 영향을 미치는 파라미터들을 선별하여 상기 각 파라미터들의 에러보호 정도에 차 등을 두어 중요한 파라미터만 강력히 보호함으로써, 주파수 자원을 효율적으로 사용하는 동시에 서비스의 품질도 높일 수 있을 뿐만아니라, 소스 제어 채널 코딩(Source-controlled channel coding) 방식과 결합하여 복호기의 성능을 향상시키고, 계산상의 효율성을 증대시키는 리드 솔로몬 코드의 서비코드를 이용한 비균일 에러방지 기법을 제공하고자 한다.
본 발명에서 제공하는 비균일 에러방지 기법은 시스템에서 요구되는 전송 비트율에 따라 에러정정 부호화 시에 추가할 수 있는 부가정보 비트의 수를 구하여 에러 민감도에 따라 부가 '0' 비트를 할당하는 정보어 생성단계와, 상기 정보어 생성단계에서 생성된 정보어를 가지고 서브코드를 만드는 부호화 단계와, 한 프레임 내에 들어있는 부호어별, 심볼별로 상기 부가 '0' 비트가 어느 위치에 할당되어 있는가에 대한 위치정보를 확인하여 복호되어야 할 부호어의 개수를 인지한 후 복호를 수행하는 복호화 단계로 구성된다.
이때, 상기 정보어 생성단계는 시스템에서 요구되는 전송 비트율에 따라 한 프레임 당 전송 가능한 총 비트수를 구하고, 그 전송 가능한 비트수에서 현재 정보전송을 위해 사용하고 있는 정보 비트수와 리드 솔로몬 부호어에서 요구되는 부가 정보 비트수를 뺀 값을 부가 '0' 비트 할당 가능 비트수로 설정하며, 상기 복호화 단계는 상기 위치 정보에 의해 '0' 비트가 할당되어 있다고 지정된 위치에 '0' 비트가 아닌 다른 비트가 있음으로 인해 발생하는 부호어에 대해서는 고려하지 않는다. 또한, 상기 복호화 단계는 한 프레임 내에 들어있는 각 부호어별로 그 부호어를 구성하고 있는 각 심볼별 전체 정보비트의 수, 'm', 이중 부가비트의 수 'j'를 인자하여 해당 부호어를 복호할 때 각 심볼별로 m,j 값에 따라 2m-j개의 심볼만을 복호 가능한 심볼로 고려하여 복호를 수행한다.
도 1은 본 발명의 비균일 에러방지를 위한 리드 솔로몬(Reed Solomon) 서브코드(subcode)의 부가 '0' 비트 할당 예시도.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
도 1은 본 발명의 비균일 에러방지를 위한 리드 솔로몬(Reed Solomon) 서브코드(subcode)를 생성하기 위하여 정보어에 부가 '0' 비트를 할당하는 예시도로서, (15,11) 리드 솔로몬(Reed Solmon) 코드의 서브코드를 이용하여 비트 수 저감 음성 파라미터를 할당하는 것을 보여준다.
리드 솔로몬 코드란 선형 블록코드의 한 종류로서 부호어의 길이가 n이고 정보어의 길이가 k인 코드는 (n,k) 리드 솔로몬 코드로 정의된다. 여기서 부호어의 길이가 n이라는 것은 부호어가 n개의 심볼로 구성되어 있다는 뜻이며, 정보어의 길이가 k라는 것은 정보어가 k개의 심볼로 구성되어 있다는 뜻이다. 이때, 각 심볼은 여러개의 2진 비트로 구성되어 있으며, 심볼당 비트수를 보통 "심볼의 길이"라고 하는데, (n,k) 리드 솔로몬 코드에서 심볼의 길이 m은 부호어의 길이 n과 n=2m-1이라는 관계가 있다.
상기 리드 솔로몬 코드는 또한, 여러 가지 대수적인 이론을 바탕으로 하여 생성되며, 이중에서도 특히 유한 필드(Finite Filed)의 연산이 리드 솔로몬 코드의 생성에 핵심적인 역할을 한다. 상기 유한 필드는 종종 갈로아 필드(Galois Field)라고도 불리우는데, 필드를 이루고 있는 원소(element)의 개수가 유한한 필드를 말한다. 예를들어, 원소의 개수가 q개인 유한 필드는 보통 GF(q)로 표시한다. 만약 심볼의 길이가 m인 리드 솔로몬 코드는 GF(2m) 위에서 생성된다.
그리고, 임의의 코드에 대한 서브코드는 그 코드가 생성할 수 있는 모든 부호어의 일부분 즉 부분 집합만을 부호어로 가지는 코드를 말한다. 예를들어 심볼의 길이가 m인 (n,k) 리드 솔로몬 코드는 총(2m)k개의 부호어가 있을 수 있다. 이때, (2m)k개중 일부분만을 생성 가능한 부호어로 가지는 코드를 (n,k) 리드 솔로몬 코드의 서브코드라고 한다.
본 발명에서 고려하고 있는 서브코드를 예로 들어보면, 만약 각 심볼마다 '0' 비트를 삽입한다고 하면 각 심볼은 한 개의 '0' 비트와 m-1개의 정보 비트로 구성되므로 심볼이 가질 수 있는 값은 2m개에서 2m-1개로 줄어들게 되고 총 존재 가능한 부호어의 종류도 (2m)k에서 (2m-1)k로 줄어들게 된다.
도 1을 참조하면, 정보어 0(100)의 경우 각 심볼마다 하나씩의 부가 '0' 비트를 삽입하였고, 정보어 1(200)의 경우는 심볼 0,1,2의 경우 2개의 부가 '0' 비트를 삽입하고 나머지 심볼은 하나의 부가 '0' 비트를 삽입하였으며, 정보어 2(300)의 경우 심볼 0,2,4,9,10의 경우 2개의 부가 '0' 비트를, 그 나머지 심볼은 하나의 부가 '0' 비트를 삽입하였다.
즉, 각 심볼에 할당된 파라미터의 특성마다 다른 개수의 부가 '0' 비트를 삽입함으로써, 복호시 비균일적으로 에러를 방지할 수 있도록 할 수 있다.
좀더 상세히 설명하면, 리드 솔로몬(Reed Solomon) 코드를 부호화하는 과정에서 각 심볼마다 필요한 만큼 아무 의미가 없는 0비트를 삽입하면 복호하는 과정에서 해당되는 심볼에 대하여 고려할 심볼의 종류가 그만큼 줄어들 것이다. 예를들어 GF(8) 필드위에서 리드 솔로몬 코드가 생성된다면 각 심볼이 가질 수 있는 값은 총 8가지이고, GF(8)은 GF(23)이므로, 각 심볼은 3비트로 구성되어 있다. 만약, 각 심볼당 2비트만 정보비트이고 나머지 한 비트를 부가 '0' 비트로 만들면 심볼당 가질 수 있는 값은 22즉, 4가지로 줄어든다. 이때, 생성되는 서브코드의 부호화에 사용되는 심볼들은 GF(4) 필드에서 생성되지만 부호화 과정에서의 연산은 GF(8)에서 이루어지므로 생성되는 부호어를 구성하고 있는 심볼들은 GF(8) 위에 있게 된다.
따라서, 이러한 방법을 사용하면 각 파라미터의 중요도는 에러 교정 부호화시 얼마나 많은 부가의 '0' 비트를 삽입하느냐로 조절할 수 있다.
본 발명의 리드 솔로몬(Reed Solomon:RS) 코드의 서브코드를 사용하는 비균일적인 에러방지 방법을 살펴보면 시스템에서 요구되는 전송 비트율에 따라 에러 정정 부호화시에 추가할 수 있는 부가 정보 비트의 수를 구하여 에러 민감도에 따라 부가 '0' 비트를 할당하는 정보어 생성단계와, 상기 정보어 생성단계에서 생성된 정보어를 가지고 서브코드를 만드는 부호화 단계와, 한 프레임 내에 들어있는 부호어별, 심볼별로 상기 부가 '0' 비트가 어느 위치에 할당되어 있는가에 대한 위치 정보를 확인하여 복호되어야 할 부호어의 개수를 인지한 후 복호를 수행하는 복호화 단계로 구성된다.
이때, 상기 정보어 생성단계는 시스템에서 요구되는 전송 비트율에 따라 한 프레임 당 전송 가능한 총 비트수를 구하고, 그 전송 가능한 비트수에서 현재 정보 전송을 위해 사용하고 있는 정보 비트수와 리드 솔로몬 부호어에서 원래 요구되는 부가 정보 비트수를 뺀 값을 부가 '0' 비트 할당 가능 비트수로 설정한다.
이러한, 정보어의 생성을 예를들어 설명하면 다음과 같다.
마약, 20㎳의 음성 프레임을 압축하여 153비트로 부호화 한 7.65kbit/s의 음성 부호기의 최종 채널로 전송 가능한 전송율이 15kbit/s이라면, 한 프레임당 총 전송 가능한 비트수는 153×15/7.65=300개가 되고 에러 정정을 위해 사용 가능한 부가 정보 비트의 수는 300-153=147개가 된다. 이때, 만약 (15,11) 리드 솔로몬(RS) 코드를 사용한다고 가정하면 프레임당 5(200-(4×15))개의 부호어에서 요구되는 부가 정보 비트수는 5×4×4=80이고, 프레임당 총 147개의 부가 정보 비트를 추가할 수 있으므로, 147-80=67개의 부가 정보를 더 추가할 수 있게 된다. 이 67개의 부가 정보가 음성 파라미터의 에러 민감도에 따라 '0'을 추가하는데 사용되는 것이다.
이와 같이 추가할 수 있는 '0' 비트의 수가 결정되면 음성 파라미터의 에러 민감도에 따라 각 파라미터에 해당하는 값들과 '0' 비트를 조합하여 도 1에 나타난 것처럼 정보어를 만든다. 즉, 에러 민감도에 따라 파라미터별로 추가해야 할 비트수를 결정한다. 파라미터별 비트 할당 수와 구체적인 정보어의 배열은 시스템의 요구 전송 비트율과 사용하는 음성(또는 비디오) 코드의 종류 및 에러 정정 코드의 종류에 따라 달라진다.
또한, 상기 복호화 단계는 상기 위치정보에 의해 '0' 비트가 할당되어 있다고 지정된 위치에 '0' 비트가 아닌 다른 비트가 있음으로 인해 발생하는 부호어에 대해서는 고려하지 않으며, 한 프레임내에 들어있는 각 부호어별로 그 부호어를 구성하고 있는 각 심볼별 전체 정보비트의 수, 'm', 이중 부가 비트의 수 'j'를 인자하여 해당 부호어를 복호할 때 각 심볼별로 m,j 값에 따라 2m-j개의 심볼만을 복호 가능한 심볼로 고려하여 복호를 수행한다. 이때, 복호화 단계에서 고려해야 하는 부호어는 원부호(서브코드가 아닌)에 비해 줄어듦으로 그에 해당하는 만큼만 고려하여 계산한다.
이와 같은 본 발명의 비균일 에러방지 기법을 사용하면, '0' 비트가 삽입된 만큼 복호기가 고려해야 하는 부호어가 줄어들고, 또 코드 자체의 최소 거리도 늘어나기 때문에 복호기의 계산 속도의 향상은 물론이고 복원된 신호의 품질을 높일 수 있으므로, 전력 측면에서 큰 이득을 볼 수 있다. 또한 에러방지 정도나 부호화율을 자유롭게 조정할 수 있으므로 어느 시스템에나 구현이 가능하다.

Claims (4)

  1. 시스템에서 요구되는 전송 비트율에 따라 에러 정정 부호화 시에 추가할 수 있는 부가 정보 비트의 수를 구하여 에러 민감도에 따라 부가 '0' 비트를 할당하는 정보어 생성단계와,
    상기 정보어 생성단계에서 생성된 정보어를 가지고 서브코드를 만드는 부호화 단계와,
    한 프레임 내에 들어있는 부호어별, 심볼별로 상기 부가 '0' 비트가 어느 위치에 할당되어 있는가에 대한 위치 정보를 확인하여 복호되어야 할 부호어의 개수를 인지한 후 복호를 수행하는 복호화 단계로 구성된 것을 특징으로 하는 리드 솔로몬 코드의 서브코드를 이용한 비균일 에러방지 기법.
  2. 제 1 항에 있어서,
    상기 정보어 생성단계는
    시스템에서 요구되는 전송 비트율에 따라 한 프레임 당 전송 가능한 총 비트수를 구하고, 그 전송 가능한 비트수에서 현재 정보 전송을 위해 사용하고 있는 정보 비트수와 리드 솔로몬 부호어에서 요구되는 부가 정보 비트수를 뺀 값을 부가 '0' 비트 할당 가능 비트수로 설정하는 것을 특징으로 하는 리드 솔로몬 코드의 서브코드를 이용한 비균일 에러방지 기법.
  3. 제 1 항에 있어서,
    상기 복호화 단계는
    상기 위치정보에 의해 '0' 비트가 할당되어 있다고 지정된 위치에 '0' 비트가 아닌 다른 비트가 있음으로 인해 발생하는 부호어에 대해서는 고려하지 않는 것을 특징으로 하는 리드 솔로몬 코드의 서브코드를 이용한 비균일 에러방지 기법.
  4. 제 1 항에 있어서,
    상기 복호화 단계는
    한 프레임 내에 들어있는 각 부호어별로 그 부호어를 구성하고 있는 각 심볼별 전체 정보비트의 수, 'm', 이중 부가 비트의 수 'j'를 인지하여 해당 부호어를 복호할 때 각 심볼별로 m,j 값에 따라 2m-j개의 심볼만을 복호 가능한 심볼로 고려하여 복호를 수행하는 것을 특징으로 하는 리드 솔로몬 코드의 서브코드를 이용한 비균일 에러방지 기법.
KR1019970016710A 1997-04-30 1997-04-30 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법 KR100237376B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970016710A KR100237376B1 (ko) 1997-04-30 1997-04-30 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970016710A KR100237376B1 (ko) 1997-04-30 1997-04-30 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법

Publications (2)

Publication Number Publication Date
KR19980079052A KR19980079052A (ko) 1998-11-25
KR100237376B1 true KR100237376B1 (ko) 2000-01-15

Family

ID=19504604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970016710A KR100237376B1 (ko) 1997-04-30 1997-04-30 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법

Country Status (1)

Country Link
KR (1) KR100237376B1 (ko)

Also Published As

Publication number Publication date
KR19980079052A (ko) 1998-11-25

Similar Documents

Publication Publication Date Title
CN108880556B (zh) 基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器
EP0624275B1 (en) Method and system for the arrangement of vocoder data for the masking of transmission channel induced errors
EP0998072B1 (en) Forward error correction for ARQ protocol
KR950007889B1 (ko) 디지탈식 엔코트된 언어신호내의 에라 교정방법 및 시스템
CA2090284C (en) Method for detecting and masking bad frames in coded speech signals
US6199186B1 (en) Screening for undetected errors in data transmission systems
JP3686085B2 (ja) 重要度の低い記号を破壊することにより不平等なエラー保護を行うコード化システムおよび方法
JP3638554B2 (ja) 情報ビットストリームのエラー防止方法
CN1372735A (zh) 灵活的通信差错保护方法
JPS59153346A (ja) 音声符号化・復号化装置
JP2876497B2 (ja) 誤り訂正符復号化方法およびその装置
JP2004537911A5 (ko)
WO2003017499A3 (en) Enhanced coding for informed decoders
EP1287618B1 (en) Method and apparatus for recovery of particular bits of received frame
JP3545623B2 (ja) 復号方法
KR20040046649A (ko) 에러 정정을 위한 부호화 장치 및 방법과 복호화 장치 및방법
US5054025A (en) Method for eliminating errors in block parameters
KR100237376B1 (ko) 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법
Fazel et al. Robust transmission of MELP-compressed speech: An illustrative example of joint source-channel decoding
JP5314170B2 (ja) スケーラブルデータの算術復号化方法
US6101281A (en) Method for improving data encoding and decoding efficiency
KR100673659B1 (ko) 프레임-구조화된 정보의 채널 코딩 및 디코딩을 위한 방법 및 장치
JP2002501328A (ja) 情報を、ソース制御チャネルデコーディングを使用してコーディング、デコーディングおよび伝送するための方法および装置
JP3183490B2 (ja) 予測符号化音声信号受信機
US7302632B2 (en) Method and system for the protection of data with a header in a transmission system

Legal Events

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

Payment date: 20091006

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee