Show GN: Aqueous 압축 파일 포맷

5 days ago 12

몇 년간 계획해 왔고 지난 몇 달동안 꾸준히 작업해 온 Aqueous 압축 포맷을 (아직 좀 이르지만) 공개합니다. 압축되는 파일을 분석해서 재압축 가능한 부분을 지능적으로 감지하는 차세대 압축 포맷을 컨셉으로 하고 있고, 명세도 있습니다. 혹시 일전에 WAH라고 하는 웹어셈블리 구현을 본 적이 있으시면 사실 이게 Aqueous 프로젝트의 일부였답니다.

일반적인 포맷에서 찾아 보기 힘든 Aqueous 고유의 기능을 몇 가지 소개하자면,

• JPEG, MP3 같이 일반적으로는 압축이 잘 안 되는 파일들도 어느 정도 압축해 줍니다. PSD 같이 압축은 가능한 파일의 경우에도 좀 더 효율적으로 압축되도록 내부적으로 재구성합니다.

• 비슷한 이미지들을 한꺼번에 압축할 경우 유사도를 감지하여 좀 더 작게 줄여 줍니다.

• 백업 같은 걸 하다 보면 압축 파일과 그 압축 파일에서 해제된 파일을 함께 압축하는 경우가 흔한데, 그렇게 압축된 압축 파일 안에 있는 내용물도 중복을 인식해서 추가 비용 없이 압축해 줍니다(!).

압축 파일 포맷은 진지하게 표준화를 의식하고 개발했기 때문에 표준 기술을 많이 사용하고 있는데, 이를테면 압축 해제 후 후처리 단계에는 WebAssembly 모듈이 사용되고 있습니다. 안전성을 위해 메인 구현에서는 모르는 모듈에 대해서는 샌드박싱을 하여 보안 문제에 대처하고 있고요.

구현체가 딱 명령줄 압축과 해제만 가능한 시점에서 공개하게 된 건 압축 기술 관련 포럼인 encode.su에서 동시다발적으로 비슷한 프로젝트가 두 개 등장해서 그런 게 크긴 한데, 실제로 비교해 보니 셋이 서로 다른 압축률-속도 목표를 가지고 있어서 아슬아슬하게 직접 경쟁(?)은 안 할 것 같습니다. 많은 관심 및 피드백 부탁드립니다 :-)

Read Entire Article




피플앤툴즈 네트워크
🛍 샵