TECH 으로 돌아가기
TECH HACKER NEWS 6분 읽기 30 READS

광학 디스크 표면에 그림을 새긴다: 오픈소스 DiscImageStudio가 다루는 물리층 제어

광학 디스크 표면에 그림을 새긴다: 오픈소스 DiscImageStudio가 다루는 물리층 제어
SOURCE IMAGE · HACKER NEWS

CD나 DVD 표면에 희미하게 비치는 무늬를 본 적이 있다면, 그것이 단순한 인쇄가 아니라 데이터 기록 방식 자체를 조작해 만든 결과일 수 있다. DiscImageStudio는 한 장의 이미지를 CD, DVD, 그리고 단층 BD-R 광디스크의 물리층 제약에 맞는 데이터로 변환해, 실제로 구워낸 디스크의 기록면에 육안으로 보이는 패턴이 드러나도록 하는 오픈소스 프로젝트다. 기록면의 반사·굴절 특성을 데이터 배치로 제어한다는 발상으로, 저장 매체를 일종의 캔버스처럼 다루는 접근이다.

프로젝트는 윈도우용 데스크톱 버전과 리눅스·macOS용 실험적 CLI 버전으로 나뉜다. 윈도우 버전은 설계와 실제 굽기를 모두 지원하며, win-x64.exe를 내려받아 바로 실행할 수 있다. 리눅스나 macOS에서는 CPU에 맞는 실험용 CLI 압축 파일을 받아 풀고 ./disc-image-studio --help로 시작한다. 배포 패키지에는 .NET 런타임이 포함돼 별도 설치 부담이 없다는 점도 실무에서 가볍게 시험해 보기 좋은 구성이다.

설계부터 굽기까지의 작업 흐름

데스크톱 버전의 작업은 설계 페이지에서 이미지를 가져와 레이어로 배치하는 것으로 시작한다. 오른쪽의 '영조(톤)' 모듈에서 디더링, 감마, 밝기, 그레이스케일 단계를 조정해 흑백 농담을 다듬는 식이다. 광디스크의 기록 패턴은 사실상 이진적인 반사/비반사의 조합이므로, 연속 계조를 가진 사진을 어떻게 디더링하고 감마를 보정하느냐가 최종 결과물의 인상을 크게 좌우한다. 이어 미리보기 페이지에서 디스크면에 투영될 모습을 확인하고, 내보내기 페이지에서 ISO, RAW, WAV+CUE 형식으로 생성하거나 즉시 굽기 기능으로 공디스크에 직접 기록한다.

CLI 버전은 PNG, JPEG, BMP, GIF를 읽으며, 애니메이션 이미지는 첫 프레임을 사용한다. 로컬에서 이미지만 생성하고 실제 쓰기는 해당 이미지나 오디오 트랙을 지원하는 별도 굽기 소프트웨어에 맡기는 구조다. 설치 검증용 예제로는 두 섹터짜리 음성 트랙과 짝이 되는 CUE 파일을 함께 만들어 보게 돼 있어, 환경이 올바른지 가볍게 확인할 수 있다. 플랫폼별로는 glibc 기반 리눅스에서 linux-x64와 linux-arm64, 애플 실리콘 맥에서 osx-arm64, 인텔 맥에서 osx-x64를 선택한다.

보조 교정이라는 정밀도 문제

이 프로젝트에서 기술적으로 가장 눈에 띄는 부분은 보조 교정 절차다. 디스크면에 그림을 정확히 앉히려면 트랙이 반경 방향으로 어느 위치에 놓이는지를 정밀하게 알아야 한다. 프로젝트 설명에 따르면 이 보조 교정 알고리즘은 확정 가능한 디스크 물리 데이터의 정밀도를 10^-6에서 10^-14 수준으로 끌어올린다. 교정 전에는 일정한 트랙 간격(등간격 트랙 피치)을 가정하기 때문에 십자선의 반경 방향 선이 눈에 띄게 휘어지지만, 보조 교정으로 얻은 3차 트랙 피치 파라미터로 다시 생성해 구우면 선이 훨씬 반듯한 방사 직선에 가까워진다. 사람이 눈으로 맞추는 방식 대비 이 차이가 패턴의 정렬 품질을 좌우한다는 설명이다.

라이선스와 계보

DiscImageStudio는 GNU GPL v3.0 이상(GPL-3.0-or-later)을 채택한다. CD 인터리빙 구현은 arduinocelentano의 CDImage 프로젝트에서 이식·수정한 코드를 포함하며, 디스크면 작화 아이디어 자체도 CD 음성 트랙을 생성해 기록면에 그림을 만든다는 CDImage의 방법에서 출발했다. 전체 배포는 호환되는 GPL 라이선스를 그대로 따르므로, 바이너리나 수정본을 배포할 때는 대응하는 소스 공개 등의 의무를 지켜야 한다. 제3자 폰트와 구성 요소는 각자의 라이선스를 따르며 전체 문구는 앱의 '정보' 페이지에서 오프라인으로도 확인할 수 있다. CD 공용 인코딩 부분은 1996년판 ECMA-130(제2판, CD-ROM)을 참조했다.

한국의 실무자 관점에서 이 도구의 쓸모는 생산 현장보다는 실험·교육·아카이빙의 틈새에 가깝다. 광학 저장 매체의 물리층이 데이터 배치에 의해 어떻게 반사 패턴으로 드러나는지를 손에 잡히게 보여주고, ECMA-130 같은 표준과 CD 인터리빙 구현을 실제 코드로 열어 볼 수 있다는 점은 매체 포렌식이나 하드웨어 교육 소재로서 가치가 있다. 다만 리눅스·macOS 버전이 '실험적' CLI로 명시돼 있고 실제 굽기는 외부 소프트웨어에 의존한다는 점, 그리고 단층 BD-R까지만 다룬다는 제약은 분명하다. 공디스크와 기록 드라이브 자체가 희소해진 환경에서, 실용 도구라기보다 매체의 물리를 다루는 방법을 보여 주는 참고 구현으로 받아들이는 편이 현실적이다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/JiaFeiMiao-K-Cat/DiscImageStudio
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...