무손실 압축 포맷

(무손실 압축에서 넘어옴)

1 개요

Lossless compression, 말 그대로 압축된 상태에서도 원본과 100% 똑같은 형태를 유지하는 방식이다. 반대 개념은 '손실 압축 포맷'이다. 대표적인 손실 압축인 MP3JPEG과 달리, 무손실 압축 포맷은 원본의 데이터를 조금도 훼손하지 않고 용량을 줄이게 된다.

다양한 자료는 이쪽 링크를 참고하자. 위키백과 무손실 압축 포맷 문서(영어)

2 압축의 원리

방식에 따라 다르지만, 원리를 간단하게 설명하자면 파일 내에서 디지털 패턴이 여러 번 나오는 지점에 그런 게 있다는 것만 표시해 두고, 그 표시된 것과 원본을 그대로 복구하기 위해서 그에 관련된 사전을 저장한 후, 압축 파일을 만든다.[1]
이로 인해 압축률은 대부분의 경우 손실 압축보다 떨어지며, 이미 다른 압축 포맷을 적용하였다면, 또 다른 압축 포맷을 적용해도 별로 효용성이 없다. 또는 원래부터 압축된 데이터(이미 압축 한 파일, mp3, 동영상 등)는 또 압축해 봐야 소용 없다. 일부러 보관의 편의를 위해 다중압축파일을 만들고 또 통 압축 파일을 만들거나 하는 경우는 있다. 이런 경우에는 압축이라기 보다 그냥 무압축 컨테이너 개념으로 사용한다.

3 종류

3.1 일반 포맷

일반적으로 사용하는 대부분의 압축 방식, 특히 압축 포맷은 '무손실' 이라는 말을 생략하고 있다. 그러니까, ZIP, RAR, 7z, ALZ등의 모든 파일 압축 포맷은 당연히 이 방식이다.[2]

윈도우 사용자가 압축 포맷으로 가장 많이 오해하는 tar는 사실 압축 포맷이 아니다. 압축을 하지 않고 단순히 파일을 하나로 합쳐주는 기능밖에 없다.

3.2 음악 포맷

본 용어가 가장 흔하게 쓰이는 쪽은 음악파일 쪽이다. 무손실이기 때문에 MP3Ogg Vorbis같은 손실 압축 포맷보다는 용량은 훨씬 크지만, 원본 음질을 유지하려는 사람들이 이 형태로도 공유하고 있다. 음원 추출 시에는 곡 별로 리핑하지 않고 CD 한장을 통째로 샘플링을 한 뒤에 .cue(bin-cue 형태의 CD이미지에 쓰는 바로 그것) 형태의 큐시트를 생성할 수도 있다. 압축 시 일반적으로 WAV파일과 비교하면 약 1/2~2/3 정도 수준 압축이 가능하다.[3]

주류 포맷은 Monkey's Audio(확장자 .ape)와 FLAC(확장자 .flac)가 있는데, 애플에서 개발한 Apple Lossless 역시 대기업의 기상으로 점유율을 높이고 있다. 타 무손실 압축과 성격이 비슷하지만 용량이 적고 디코딩이 수월해 휴대용 기기에 적합하다고 하며 2011년에 완전히 오픈 소스가 되었다.

웹상에서는 몇가지 포맷만 유통되고 있는데, 인지도가 낮아서 그렇지 TAK TAK이 이런것도 개발했나 그 TAK은 아니다.이나 Optimfrog 등 더 최적화되어있거나 압축률이 좋은 포맷도 존재한다. 그러나 몇퍼센트 효율 올리자고 보존했던 자료를 일일히 변환하는 것은 그것도 시간낭비이므로[4] 계속 쓰던 포맷을 이용하게 되는 듯하다.

포맷이 균일해야한다는 이유 말고도, 무손실 음원 포맷은 2000년대부터 춘추전국시대를 펼치고 있지만 다양한 이유로 널리 사용되지 못하였다.
멀티채널 음원을 지원하지 않아서 5채널 음원을 변환했더니 프로그램이 물어보지도 않고 2채널 보통 음원으로 바꿔버리면 곤란할 거라는 이유. 고효율 압축으로 갈 수록 재생속도가 떨어진다는 이유 등등.. 저 정도면 양반이고, 여태껏 나온 것들을 비교하면 속도도 느려, 압축도 못해 소리가 절로 나오는 포맷 수두룩하다 제각기 포맷마다 단점이 있으므로 최대한 적절한 것들을 골라서 쓰다보니 암묵적으로 flac을 비롯한 3~4개 포맷 사용으로 통일된 것이다.

그 중 가장 대표적인 예는 LosslessAudio(LA)라는 압축인데, 다른 포맷이 최고옵션으로 압축해도 55~64%에서 노는 반면에, 혼자서 53%의 경이로운 압축률을 보여준다. 그러나 이 포맷은 오류복구 기능이 없고, 덤으로 재생속도도 느리다.. 한가지에만 올인하다가 실패하면 어떻게 되는 지 보여주는 사례인 셈. 그 뒤로 어떻게 됐냐고? 2004년 이후로 단 한번의 업데이트가 없었다.망했어요

3.3 이미지 포맷

그림파일 중에서는 PCX, GIF, PNG 등이 이에 속한다. GIF도 무손실 압축 포맷이지만, GIF 최대 지원 색상수가 256색이기 때문에 만약 256색을 넘는 원본을 GIF로 변환한다면 양자화를 통해서 색상수를 줄이는 과정에서 손실이 발생하는 것이다. 포맷 자체는 무손실이다.

PNG는 GIF와 달리 트루 컬러를 지원하며, 1단계로 이미지 필터링 작업을 거치고, 2단계로 Deflate압축을 하기 때문에 일반 BMP파일을 ZIP이나 7ZIP등으로 압축한 경우보다 훨씬 좋은 압축률을 보여준다. 특히, 자연 이미지가 아닌 선과 면으로 구성된 이미지 파일은 종종 JPEG 포맷보다도 더 좋은 압축률을 보여주는 경우도 있다.

3.4 Raw 포맷

Raw 포맷이라 하면 대부분 디지털 카메라에서 주로 쓰이는 raw 이미지 포맷을 가리킨다. Raw 포맷에는 일반적으로는 쓰이지 않을 영역까지 카메라의 센서로 입력된 모든 정보들이 들어있으므로 사진 보정이나 편집시에는 raw 포맷을 가지고 편집하는게 일반적이다. 하드웨어 칩셋이나 소프트웨어의 성능이 높아진 요즘에는 키넥트PS4 Eye 등에서 이런 일반정보 외의 데이터까지 실시간으로 처리해서 활용되고 있다.

파일 포맷으로서의 raw가 아닌 생짜 데이터로서의 raw라고 부르는 별개의 개념도 있다. 일반적으로 구할 수 있는 가장 생짜에 가까운/정보량이 가장 많은 소스 데이터나[5] (모든건 디지털 데이터화 하기 전에는 아날로그이니)아날로그 데이터를 디지털라이즈 했을 때의 별도 가공없는 최초 원본의 개념으로 쓰이며, 화상/영상/음성등의 멀티미디어가 아닌 정부나 기업, NGO의 공적데이터 같은 통계적인 의미로도 해당된다.

3.5 동영상 포맷

동영상은 무손실 압축 포맷은 많지 않다. 적어도 특수직종에 일하지 않는 일반인이 볼 일은 없다. 일반적으로 무손실 동영상의 용량은 무시무시하기 때문에[6][7] 이를 판매용, 혹은 배포용으로 사용하는 것은 무리가 있다. 다만 편집 과정에서의 화질 손상을 방지하기 위해서 Huffyuv나 Lagarith, MSU 등의 무손실 코덱이 사용되기도 한다. 보통은 avisynth나 vfapi를 위시한 프로그램간의 프레임서버 기능으로 연결하지만 이것이 불가능할 경우에 유용하게 사용할 수 있다.

3.6 기타

음향기기 에이징을 하려면 무손실 압축 포맷 음원이 아니면 실제 음원(CD 등)을 사용해야 한다. 손실 압축 포맷으로 에이징하면 음향기기가 망가진다 카더라. 흠좀무.[8]
물론 큰일나는건 아니나 역시 음질에 차이가 많다.

4 무손실 압축 포맷 목록

  1. 예를 들면, 1023 이 3번 반복되는 12바이트의 데이터를 1023=a로 치환하면 aaa라고 표현할 수 있고, 사전 데이터에 1023=a로 기록해 놓으면 총 3바이트를 절약하게 된다.
  2. 파일을 손실 압축하면 데이터가 변형되니까 곤란하기 때문.
  3. 음원마다 다소 차이가 있으나, 평균내면 여태껏 100% → 50% 미만이 되도록 압축할 수 있는 포맷은 없다.
  4. 한 앨범당 못해도 10곡이 넘는다. 1000앨범이면 일만번 변환해야 한다! 통파일이라도 골때리긴 마찬가지
  5. 동영상 파일을 예로 들면, 세상 사람들이 전부 영상 업계 내부 인물이 아니니 생짜를 구할 수는 없으므로 생짜에 가까운 데이터를 구하는 것.
  6. 계산법은 간단한데, 무압축 기준으로 30프레임 Full HD 1080P 영상이라면 1920×1080×(24 / 8) = 장당 6MB 수준의 RGB24 이미지가 한 프레임을 차지하고 초당 180MB, 분당 11.2GB가량의 데이터 공간을 쳐묵하게 된다. 영상 데이터 기준이므로 당연히 음성 데이터 제외하고다. 무손실 영상 코덱의 경우 특성상 무손실 음성 코덱에 비해 압축률이 좋아 대충 1/4 정도로는 압축이 되는데, 그렇게 따져도 원 데이터량이 워낙 넘사벽이라 분당 2.8GB다.
  7. 손실 압축이나 TV방송에서는 YUV를 많이 사용하지만 무손실 영상 코덱은 RGB를 기본으로 하는 경우가 더 많다.
  8. 물론 그런 거 없다. 에이징 항목을 볼 것.
  9. 손실압축으로 잘 알려진 그 MP3 맞다.