KR19980079052A - 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법 - Google Patents
리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법 Download PDFInfo
- Publication number
- KR19980079052A KR19980079052A KR1019970016710A KR19970016710A KR19980079052A KR 19980079052 A KR19980079052 A KR 19980079052A KR 1019970016710 A KR1019970016710 A KR 1019970016710A KR 19970016710 A KR19970016710 A KR 19970016710A KR 19980079052 A KR19980079052 A KR 19980079052A
- Authority
- KR
- South Korea
- Prior art keywords
- code
- bit
- reed
- information
- bits
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1515—Reed-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
본 발명은 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법에 관한 것으로서, 특히, 리드 솔로몬(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이고, 이중 부가 '0' 비트의 수가 n인 경우 2m-n를 복호되어야 할 부호어의 갯수로 인지하여 복호를 수행한다.
도 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' 비트 할당 가능 비트수로 설정한다.
이러한, 정보어의 생성을 예를 들어 설명하면 다음과 같다.
만약, 20ms의 음성 프레임을 압축하여 153비트로 부호화 한 7.65kbit/s의 음성 부호기의 최종 전송율이 15kbit/s이라면, 한 프레임당 총 전송 가능한 비트수는 153x15/7.65=300 개가 되고 에러 정정을 위한 부가 정보 비트의 수는 300-153=147개가 된다. 이 때, 만약 (15,11) 리드 솔로몬(RS) 코드를 사용한다고 가정하면 프레임당 5(300-(4x15))개의 부호어를 써서 부호화 할 수 있다. 이 때, 원래 5개의 (15,11) 리드 솔로몬 부호어에서 요구되는 부가 정보 비트수는 5x4x4=80 이고, 프레임당 총 147개의 부가 정보 비트를 추가할 수 있으므로, 147-80=67개의 부가 정보를 더 추가할 수 있게 된다. 이 67개의 부가 정보가 음성 파라미터의 에러 민감도에 따라 '0'을 추가하는데 사용되는 것이다.
이와 같이 추가할 수 있는 '0'비트의 수가 결정되면 음성 파라미터의 에러 민감도에 따라 각 파라미터에 해당하는 값들과 '0'비트를 조합하여 도 1에 나타난 것처럼 정보어를 만든다. 즉, 에러 민감도에 따라 파라미터별로 추가해야 할 비트수를 결정한다. 파라미터별 비트 할당 수와 구체적인 정보어의 배열은 시스템의 요구 전송 비트율과 사용하는 음성(또는 비디오)코드의 종류 및 에러 정정 코드의 종류에 따라 달라진다.
또한, 상기 복호화 단계는 상기 위치 정보에 의해 '0' 비트가 할당되어 있다고 지정된 위치에 '0' 비트가 아닌 다른 비트가 있음으로 인해 발생하는 부호어에 대해서는 고려하지 않으며, 한 프레임 내에 들어 있는 부호어별, 심볼별 전체 정보 비트의 수가 m이고, 이중 부가 '0' 비트의 수가 n인 경우 2m-n를 복호되어야 할 부호어의 갯수로 인지하여 복호를 수행한다. 이 때, 복호화 단계에서 고려해야 하는 부호어는 원 부호(서브코드가 아닌)에 비해 줄어 듦으로 그에 해당하는 만큼만 고려하여 계산한다.
이와 같은 본 발명의 비균일 에러 방지 기법을 사용하면, '0'비트가 삽입된 만큼 복호기가 고려해야 하는 부호어가 줄어들고, 또 코드 자체의 최소 거리도 늘어나기 때문에 복호기의 계산 속도의 향상은 물론이고 복원된 신호의 품질을 높일 수 있으므로, 전력 측면에서 큰 이득을 볼 수 있다. 또한 에러 방지 정도나 부호화 율을 자유롭게 조정할 수 있으므로 어느 시스템에나 구현이 가능하다.
Claims (4)
- 시스템에서 요구되는 전송 비트율에 따라 에러 정정 부호화 시에 추가할 수 있는 부가 정보 비트의 수를 구하여 에러 민감도에 따라 부가 '0'비트를 할당하는 정보어 생성 단계와,상기 정보어 생성 단계에서 생성된 정보어를 가지고 서브코드를 만드는 부호화 단계와,한 프레임 내에 들어 있는 부호어별, 심볼별로 상기 부가 '0' 비트가 어느 위치에 할당되어 있는가에 대한 위치 정보를 확인하여 복호되어야할 부호어의 갯수를 인지한 후 복호를 수행하는 복호화 단계로 구성된 것을 특징으로 하는 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법.
- 제 1 항에 있어서,상기 정보어 생성 단계는시스템에서 요구되는 전송 비트율에 따라 한 프레임 당 전송 가능한 총 비트수를 구하고, 그 전송 가능한 비트수에서 현재 정보 전송을 위해 사용하고 있는 정보 비트수와 리드 솔로몬 부호어에서 요구되는 부가 정보 비트수를 뺀 값을 부가 '0' 비트 할당 가능 비트수로 설정하는 것을 특징으로 하는 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법.
- 제 1 항에 있어서,상기 복호화 단계는상기 위치 정보에 의해 '0' 비트가 할당되어 있다고 지정된 위치에 '0' 비트가 아닌 다른 비트가 있음으로 인해 발생하는 부호어에 대해서는 고려하지 않는 것을 특징으로 하는 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법.
- 제 1 항에 있어서,상기 복호화 단계는한 프레임 내에 들어 있는 부호어별, 심볼별 전체 정보 비트의 수가 m이고, 이중 부가 '0' 비트의 수가 n인 경우 2m-n를 복호되어야 할 부호어의 갯수로 인지하여 복호를 수행하는 것을 특징으로 하는 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법.
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 true KR19980079052A (ko) | 1998-11-25 |
KR100237376B1 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) |
-
1997
- 1997-04-30 KR KR1019970016710A patent/KR100237376B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100237376B1 (ko) | 2000-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5838267A (en) | Method and apparatus for encoding and decoding digital information | |
US5600754A (en) | Method and system for the arrangement of vocoder data for the masking of transmission channel induced errors | |
JP4215947B2 (ja) | 重要度の小さいデータ・ビットを使用して重要なデータ・ビットを保護する方法 | |
CN1154285C (zh) | 灵活的通信差错保护方法 | |
KR20010005541A (ko) | 다중 레이트 신호를 위한 crc 외부 코드로 리스트 출력 비터비 복호화 시스템 | |
JP2009278686A (ja) | 循環冗長符号シグネチャ比較を行うターボ復号器 | |
JP2011120258A (ja) | 適応型チャンネルエンコーダ及びデコーダを備える伝送システム | |
EP1287618B1 (en) | Method and apparatus for recovery of particular bits of received frame | |
TW425786B (en) | Mobile communication terminal and transmission-bit-rate detection method | |
KR100484555B1 (ko) | 에러 정정 방법 및 장치 | |
KR100433201B1 (ko) | 데이터 스트림을 만드는 장치 및 방법과 데이터 스트림을읽어 내는 장치 및 방법 | |
JP4550290B2 (ja) | チャネル符号化方法 | |
JPH0715353A (ja) | 音声復号化装置 | |
KR19980079052A (ko) | 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법 | |
US6298165B1 (en) | Method for improving data encoding and decoding efficiency | |
Hindelang et al. | Channel coding techniques for adaptive multi rate speech transmission | |
Laneman et al. | Huffman code based error screening and channel code optimization for error concealment in perceptual audio coding (PAC) algorithms | |
AU754735B2 (en) | Error correction with two block codes | |
Guy et al. | Error Control and Data Compression Codes | |
KR20070031479A (ko) | 순환 리던던시 코드 서명 비교를 구비한 터보 디코더 |
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 |