오류 복원 기능에 대해

상급자용

QR코드란? TOP 페이지로

QR코드는 코드의 오염이나 손상에도 코드 자체에 데이터를 복원하는 기능이 있습니다. "오류복원 레벨" 4단계에서 사용자가 사용 환경에 맞추어 레벨을 선택 할 수 있습니다. 레벨을 올리면 오류복원 능력은 향상되지만 데이터가 증가되어 코드의 크기가 커집니다.
어떤 레벨을 선택하는가는 사용 환경, 코드 크기 등을 종합적으로 고려하여 결정합니다. 공장 등 더러워지기 쉬운 환경에서는 레벨Q 또는 H를 선택하고, 쉽게 더러워지지 않고 데이터 량이 많은 경우에는 레벨 L을 선택 할 수 있습니다. 일반적으로는 레벨M(15%)로 운용되는 경우가 많습니다.

※모든 code words(데이터를 구성하는 단위로 QR코드에는 8bit/codewords)에 대한 복원률

오류복원 기능

QR코드의 오류복원 기능은 리드 솔로몬 부호※를 원래 데이터에 추가하는 것으로 실현하고 있습니다. 오류복원 능력은 제공된 정보에 대해 얼마나 많은 복원을 할지를 결정합니다. 예를 들면, 코드화하고자 하는 Data code words가 100개 있고 그 중 50개를 복원 할려면, 리드 솔로몬 부호는 복원 가능케 하고 싶은 code words의 2배 부호가 필요하므로 필요 되는 리드 솔로몬 부호는 100 code words입니다. 이 경우 모든 code words수는 200개이고 오류 복원가능 한 code words는 50개이므로 모든 code words에 대한 오류 복원 비율은 25 %입니다. 이것은 QR 코드 레벨Q에 해당됩니다.

위의 예에서는 Data code words에 대한 오류 복원 비율은 50%라는 견해도 있지만, Data code words 부분만 오염이나 손상을 입는 것은 아닙니다. 따라서, QR코드는 오류복원 비율을 모든 codewords에 대한 비율로 표시합니다.

※리드 솔로몬 부호는 음악CD 등에 이용되는 수학적인 오류복원방법으로, 원래는 인공위성이나 행성탐사와 통신 노이즈 대책으로 개발된 기술입니다. Bit 단위로 오류복원을 할 수 있고 오류가 집중하는 burst오류에 적합합니다.