Rust 압축 엔진

자체 개발 압축 엔진, 파일 유형별 최적 전략을 지능적으로 디스패치

엔진 개요

Rust로 작성, 파일 유형별 전용 압축기로 디스패치

SmartSlim 압축 엔진은 Rust로 작성되었습니다. 핵심 접근 방식은 입력 파일을 유형에 따라 해당 전용 압축기(이미지, PDF, 비디오, 오디오, Office 문서, OFD 등)로 디스패치하는 것이며, 각 압축기는 해당 형식의 특징에 최적화된 압축 전략을 채택합니다. 엔진은 이미지 특징을 지능적으로 분석하여 압축 체계를 자동 선택하고, 비디오/오디오에는 네이티브 라이브러리 바인딩을 사용하여 최고 성능을 얻으며, Office 문서에는 구조화된 재패키징 전략을 적용합니다.

주요 특징: 네이티브 Rust로 작성 · 유형별 지능적 디스패치 · 프로세스 오버헤드 없는 네이티브 라이브러리 바인딩 · 멀티 플랫폼 사전 컴파일

지능적 이미지 압축

이미지 특징을 분석하여 최적의 인코딩 전략을 자동 선택

1. 지능적 이미지 분석

엔진은 그레이스케일 분포와 디테일 복잡도 등 이미지 특성을 자동으로 분석하여 이미지가 이진, 문서, 혼합 또는 사진 유형인지 판단하고, 후속 압축 전략을 위한 결정 기준을 제공합니다.

2. 자동 분류

여러 특징 지표를 기반으로 이미지를 4가지 카테고리로 분류합니다: 이진 (예: 스캔 문서), 문서 (소수 색상), 혼합 (텍스트 + 사진), 사진 (풍부한 색상). 각 카테고리는 서로 다른 품질 매개변수를 사용합니다.

3. 형식 디스패치 및 인코딩 최적화

입력 형식과 분류 결과에 따라 엔진은 전용 인코더로 디스패치하여 대상 최적화를 수행합니다. 품질 매개변수는 압축 레벨(낮음/중간/높음/최고)에 따라 조정되어 압축률과 선명도의 균형을 맞춥니다.

PDF 압축

다운샘플링과 DPI 제어로 큰 크기 감소

  • 임베디드 이미지 다운샘플링:PDF 내 임베디드 이미지를 다운샘플링하고, 압축 레벨별로 타겟 해상도를 조정하여 가독성을 유지하면서 파일 크기를 크게 줄입니다.
  • 다단계 품질 제어:낮음, 중간, 높음, 최고의 4단계 압축 레벨을 제공합니다. 레벨이 높을수록 압축률이 커집니다. 사용자는 사용 사례에 따라 유연하게 선택할 수 있습니다.

비디오 및 오디오 압축

네이티브 라이브러리 바인딩, 프로세스 오버헤드 없음

비디오 압축

네이티브 라이브러리 바인딩 기반(명령줄 호출 아님, 프로세스 오버헤드 없음), 주요 비디오 인코딩 형식을 지원합니다. 일정한 품질 팩터로 화질을 제어하고, 시나리오별로 최적의 인코딩 프리셋을 선택하여 속도와 압축률의 균형을 맞춥니다. 웹 게시, 스트리밍, 소셜 미디어, 라이브 스트리밍, 편집 프록시 등의 시나리오별 매개변수를 지원합니다.

오디오 압축

여러 오디오 인코딩 형식을 지원하며, 낮은 비트레이트와 고품질 사운드의 균형을 맞춥니다. 시나리오별(보관, 음악 스트리밍, 팟캐스트, 음성 메시지, 벨소리, 웹 게시)로 타겟 비트레이트와 샘플링 레이트를 설정합니다.

Office 문서 압축

구조화된 재패키징 + 지능적 임베디드 이미지 압축

Word(docx), Excel(xlsx), PPT(pptx) 등 Office 문서는 본질적으로 XML과 임베디드 미디어 리소스를 포함하는 아카이브 형식입니다. 엔진은 다음 전략을 사용합니다:

  • 구조화 언팩:Office 문서를 언팩하여 임베디드 이미지와 기타 미디어 리소스를 추출합니다.
  • 임베디드 이미지 압축:추출된 이미지를 지능적 압축기로 보내 앞서 설명한 대로 다운샘플링하여 크기를 크게 줄입니다.
  • 재패키징:압축된 이미지와 원본 XML을 재패키징하여 새 Office 문서를 생성합니다. 문서 구조와 형식은 변경되지 않고 이미지 크기만 줄어듭니다.

동시성 및 배치 처리

유연한 동시성 제어 전략

단일 파일 압축의 경우 엔진 내부적으로 멀티스레딩을 사용하여 인코딩/디코딩을 수행하고 멀티코어 성능을 충분히 활용합니다. 배치 압축 작업은 인증 구성을 통해 동시 작업 수를 제어할 수 있습니다. 서버 에디션은 Worker 프로세스를 수평 확장하여 전체 처리량을 향상시킬 수 있습니다.

더 알아보기

보안 아키텍처 및 형식 지원 탐색

보안 아키텍처 지원 형식 목록