국기를 11비트로 압축하는 방법
Key Point
많은 국가 국기가 패턴을 따르고 있고, 이를 통해 실제로 수KB대 이미지를 비트 단위로 압축하는 인코딩 방식이 실현되는 과정을 보여준다.
핵심 요약
- 개발자가 국기의 특징을 분석해 커스텀 인코딩 방식으로 데이터 크기를 극소화하는 프로젝트를 진행했다.
- 스트라이프, 도형(별·초승달), 삼각형, 색상 팔레트 등 국기의 공통 요소를 계층 방식으로 정의했다.
- 색상 비율과 국기 요소들이 지프 법칙을 따르는 점을 이용해 하프만 인코딩으로 자주 쓰이는 요소는 짧게, 희귀한 요소는 길게 인코딩했다.
- 고정 길이가 아닌 가변 길이 인코딩을 적용해 간단한 국기는 극히 적은 비트로, 복잡한 국기는 더 많은 비트를 사용하도록 설계했다.
- 네팔(비직사각형), 문장이 있는 국기(안도라) 등은 인코딩 범위에서 제외했고, 색상의 정확한 톤보다는 일반적인 색상군(파랑, 초록, 노랑 등)으로 단순화했다.