만화책을 디지털로 볼 때, 작은 화면에서 각 패널을 확대해가며 읽는 불편함을 해소할 새로운 오픈소스 프로젝트 'cbxy'가 공개되었습니다. 'cbxy'는 만화 페이지 내의 패널(칸) 위치 정보를 담는 사이드카(sidecar) 파일 포맷과 이를 생성하고 활용하는 도구들을 제공합니다. 이는 기존 CBZ/CBR 같은 만화 압축 파일 옆에 메타데이터를 추가하는 방식으로, 원본 만화 파일을 수정하지 않고도 스마트한 디지털 만화 경험을 가능하게 합니다.
'cbxy'는 ZIP 압축 파일 내에 JSON 형식으로 패널 좌표를 저장하며, 이 좌표는 페이지 크기에 관계없이 작동하도록 정규화된 비율(0~1)로 기록됩니다. 이 프로젝트는 파이썬(Python)으로 구현된 참조 구현체와 세 가지 핵심 명령줄 도구(CLI)를 포함합니다. 'cbxy-detect'는 OpenCV 기반의 컴퓨터 비전 또는 머신러닝(ML) 모델(Ultralytics YOLO)을 활용하여 만화 페이지에서 패널을 자동으로 감지하고 '.cbxy' 파일을 생성합니다. 'cbxy-reader'는 웹 브라우저를 통해 만화를 열어주며, '.cbxy' 파일이 있으면 패널별로 확대하여 순서대로 보여주는 가이드 뷰(guided view) 기능을 제공합니다. 마지막으로 'cbxy-editor'는 브라우저 기반의 시각적 편집기를 통해 사용자가 직접 패널 영역을 수정하거나 새로 만들 수 있게 합니다.
이러한 'cbxy' 포맷과 도구는 디지털 만화 독서 경험을 크게 개선할 잠재력을 가지고 있습니다. 특히 스마트폰이나 태블릿 같은 작은 화면에서 만화를 볼 때, 매번 수동으로 확대/축소하거나 스크롤하는 번거로움 없이 각 패널을 최적화된 크기로 순서대로 볼 수 있게 해줍니다. 이는 독자의 몰입도를 높이고 피로도를 줄여줄 수 있습니다. 또한, 오픈소스 프로젝트로서 개발자들이 이 포맷을 활용하여 다양한 디지털 만화 관련 애플리케이션이나 서비스를 개발할 수 있는 기반을 제공한다는 점에서 의미가 큽니다. 예를 들어, 웹툰 플랫폼이나 전자책 리더 앱에서 이 기술을 도입하면 사용자 경험을 한층 더 고도화할 수 있을 것입니다.