위키득계정 ↗
기술

비손실 압축

비손실 압축기술
영문명
Lossless compression
다른 이름
무손실 압축
복원 목표
원래 데이터와 정확히 일치
대표 용도
문서, 프로그램, 원본 데이터 등
주요 한계
모든 입력의 크기를 줄일 수는 없음
비손실 압축은 압축된 표현으로부터 원래 데이터를 정확히 재구성하는 방식이다. 무손실 압축이라고도 하며, 입력의 통계적 구조와 반복을 이용한다.

덜 저장하고도 같은 결과를 얻기

원래 표현을 그대로 보관하는 대신 반복과 분포를 설명하는 규칙으로 바꿀 수 있다. 해제 과정이 이 규칙을 정확히 역으로 따라가면 원래 데이터가 복구된다.

압축된 파일의 바이트가 원본과 다르다는 사실과 복원 결과에 손실이 있다는 말은 다르다. 비손실 여부는 해제한 결과와 원래 데이터를 비교하여 판단한다.

줄어들지 않는 입력

무작위에 가까운 입력이나 이미 효율적으로 압축한 자료는 더 줄이기 어려울 수 있다. 압축 형식의 헤더 때문에 오히려 조금 커질 수도 있다.

유한한 짧은 부호의 수는 제한되어 있으므로 모든 다른 입력을 더 짧고 서로 구별 가능한 표현에 넣을 수 없다. 이 한계는 알고리즘의 구현 실수만의 문제가 아니다.

대상에 맞는 구조

텍스트와 이미지, 숫자열은 서로 다른 반복과 예측 가능성을 가질 수 있다. 각 자료의 특성에 맞는 전처리와 부호화가 효율에 영향을 준다.

하나의 프로그램이 모든 형식에서 항상 가장 높은 압축률을 보장하는 것은 아니다. 속도와 메모리, 호환성도 함께 비교해야 한다.

손상과 복구는 별도다

정상적인 압축 파일이 원본을 완전히 복원한다고 해서 파일이 손상됐을 때도 모두 되살릴 수 있다는 뜻은 아니다. 손상 검출과 오류 정정은 별도의 기능이다.

검사값은 변화를 찾는 데 도움을 주지만 없는 원본 정보를 자동으로 복구하지는 못한다. 중요한 자료에는 독립된 백업과 복원 확인이 필요하다.

관련 문서

데이터 압축 / 손실 압축 / 백업