QR 코드에 회색조 할트톤 이미지 삽입을 위한 제약 코딩과 보정 트리
초록
본 논문은 QR 코드와 같은 2차원 바코드에 인간이 바로 인식할 수 있는 회색조 그림을 동시에 삽입하는 방법을 제시한다. 송신자만이 알 수 있는 통계적 제약(픽셀의 흑백 비율)을 만족시키면서 정보 전송 용량을 최대화하기 위해 ‘제약 코딩(constrained coding)’과 ‘보정 트리(Correction Trees)’ 기법을 결합한다. 기존의 Kuznetsov‑Tsybakov 문제를 일반화하여 모든 비트에 통계적 제약을 적용하고, 이를 오류 정정과 결합함으로써 실용적인 구현과 높은 전송 효율을 달성한다. 또한 이 접근법을 레이트‑디스토션 문제와 스테가노그래피에 연결시켜 다양한 응용 가능성을 논의한다.
상세 분석
이 논문은 QR 코드와 같은 오류 정정 기능을 갖춘 2차원 바코드에, 인간이 시각적으로 인식할 수 있는 회색조 이미지를 동시에 삽입하는 ‘제약 코딩’ 문제를 정의한다. 전통적인 엔트로피 코더는 송수신 양측이 동일한 확률 분포를 공유할 때 최적 용량에 도달하지만, 여기서는 오직 송신자만이 픽셀별 흑백 비율(예: 30 % 검정, 70 % 흰색)이라는 통계적 제약을 알고 있다. 이러한 상황은 ‘Kuznetsov‑Tsybakov 문제’의 일반화로 볼 수 있다. 즉, 특정 비트가 고정된 위치를 송신자만이 알 때, 수신자는 그 정보를 전혀 모른다. 기존 연구는 고정 비트가 드물 경우에만 근사적으로 용량을 회복했지만, 본 논문은 모든 비트에 대해 연속적인 확률 제약을 부여함으로써 보다 일반적인 상황을 다룬다.
핵심 아이디어는 ‘보정 트리(Correction Tree)’를 이용해 가능한 코드워드 공간을 탐색하는 것이다. 보정 트리는 전통적인 오류 정정에서 사용되는 트리 구조와 유사하지만, 여기서는 각 노드가 ‘가능한 비트 선택(0 또는 1)’을 나타내고, 선택에 따라 현재까지 누적된 통계적 오차(예: 목표 회색도와 실제 흑백 비율 차이)가 계산된다. 트리 탐색은 최소 비용 경로를 찾는 다익스트라와 유사한 방식으로 진행되며, 비용 함수는 (i) 목표 회색도와의 제곱 오차, (ii) 오류 정정 부호의 제약, (iii) 전송 효율(비트당 엔트로피) 등을 종합한다.
알고리즘은 크게 세 단계로 구성된다.
- 전처리 단계에서는 목표 회색조 이미지의 각 셀에 대해 기대 흑백 비율 p(i)를 계산하고, 이를 로그‑우도 형태로 변환한다.
- 코드워드 생성 단계에서는 보정 트리를 확장하면서 현재까지 선택된 비트들의 누적 로그‑우도를 업데이트한다. 각 확장에서는 두 후보(0,1) 중 비용이 낮은 쪽을 우선적으로 탐색하고, 비용이 일정 임계값을 초과하면 가지치기를 수행한다. 이때 ‘프리시전 비트(precursor bits)’를 도입해 트리 깊이를 제한하고, 병렬 GPU 구현으로 실시간 성능을 확보한다.
- 후처리 단계에서는 선택된 비트열에 기존 QR 코드의 오류 정정 부호(RS, BCH 등)를 삽입한다. 여기서는 오류 정정 부호가 추가적인 비트 제약을 만들기 때문에, 트리 탐색 시 부호 검증을 동시에 수행한다.
이 접근법은 이론적으로 ‘채널 용량’에 근접한다. 송신자는 자유롭게 비트를 선택할 수 있는 ‘자유도(freedom)’를 활용해 목표 회색도 분포를 거의 정확히 재현하고, 동시에 수신자는 표준 QR 디코더를 사용해 원본 데이터를 복원한다. 실험 결과, 33 %~50 % 정도의 회색조 변조율에서도 전송 효율이 0.95 bit/셀에 달했으며, 오류 정정 능력도 기존 QR 코드와 동일 수준을 유지했다.
또한 논문은 이 기법을 레이트‑디스토션(rate‑distortion) 문제와 연결한다. 회색조 이미지 재현을 ‘왜곡(distortion)’으로 보고, 자유도 비트를 ‘레이트(rate)’로 해석함으로써, 주어진 비트 예산 하에서 최소 왜곡을 달성하는 최적화 문제로 재구성한다. 이는 스테가노그래피에서 흔히 사용되는 LSB 삽입과는 달리, 전체 이미지의 시각적 품질을 제어하면서도 높은 비밀 전송 용량을 제공한다는 점에서 차별화된다.
요약하면, 본 연구는 통계적 제약을 가진 비트 선택 문제를 오류 정정 트리와 결합함으로써, QR 코드에 회색조 할트톤 이미지를 삽입하면서도 채널 용량에 근접하는 효율적인 코딩 방식을 제시한다. 이는 마케팅, 인증, 저작권 표시 등 인간‑기계 인터페이스가 동시에 요구되는 다양한 응용 분야에 활용될 수 있다.