리드솔로몬 부호 (Reed-Solomon Code)

전기전자공학
한 줄 정의: 데이터를 개별 비트가 아니라 여러 비트로 묶은 심볼 단위로 처리하여, 연속으로 몰아 발생하는 버스트 오류에 특히 강한 블록 오류정정 부호입니다.

쉽게 풀면

리드솔로몬 부호는 문장을 한 글자씩이 아니라 단어 단위로 점검하는 맞춤법 검사기에 비유할 수 있습니다. 개별 비트 하나하나를 따지는 대신 몇 개의 비트를 묶은 "심볼" 단위로 오류를 검사하고 정정하기 때문에, 특정 구간이 통째로 손상되는 상황에서도 효과적으로 복구할 수 있습니다. 이런 특성 덕분에 스크래치나 먼지처럼 연속된 구간을 훼손시키는 오류에 특히 강합니다.

왜 중요한가

리드솔로몬 부호는 저장매체의 표면 손상이나 통신 채널에서의 순간적인 잡음처럼 오류가 한꺼번에 몰려 발생하는 상황에 강하다는 특성 때문에, 광디스크, QR코드, 디지털 방송, 우주통신 등 데이터 무결성이 중요한 여러 분야에서 오랫동안 다뤄져 온 대표적인 오류정정 부호입니다.

논문에서는 이렇게 쓰입니다

"본 시스템은 (255, 223) 리드솔로몬 부호를 적용하여 최대 16개 심볼 오류를 정정할 수 있다."

전체 심볼 중 일부에 여분을 두어 정해진 개수만큼의 오류 심볼을 스스로 정정할 수 있게 했다는 뜻입니다.

"제안된 결합 부호화 기법은 리드솔로몬 부호와 길쌈부호를 연접하여 오류정정 성능을 향상시켰다."

서로 다른 두 오류정정 부호를 이어 붙여 각각의 장점을 함께 활용했다는 의미입니다.

조금 더 깊게 보면

리드솔로몬 부호는 유한체 위에서 정의된 다항식 연산을 기반으로 하며, 원본 데이터를 다항식의 계수로 보고 여러 지점에서의 값을 함께 전송해 여분의 정보를 만듭니다. 심볼 단위로 오류를 처리하기 때문에 한 심볼 안에 여러 비트 오류가 몰려 있어도 심볼 하나의 오류로 취급되어, 버스트 오류에 유리한 특성을 가집니다.

주의할 점

비트가 여기저기 흩어져 무작위로 발생하는 오류에는 상대적으로 비효율적일 수 있으며, 심볼 단위 처리 특성상 부호 설계 시 심볼 크기와 정정 가능한 오류 개수 사이의 관계를 고려해야 합니다.

관련 용어