찰리의 놀이터

[지식] 압축 알고리즘(Compression Algorithm) 본문

Computer Science

[지식] 압축 알고리즘(Compression Algorithm)

차알리 2023. 2. 23. 22:44

압축 알고리즘(Compression Algorithm)

파일이나 이미지 데이터 등을 압축하기 위한 논리법으로 손실 압축무손실 압축으로 나눌 수 있습니다.
기본적으로 압축의 원리는 공간적으로 중복 성격의 데이터가 존재한다는 공간적 상관관계와 영상에서 시간이 지나도 화면에 큰 차이가 없는 경우다 있다는 시간적 상관관계라는 특성을 바탕으로 합니다.

쉽게 얘기해서 유사한 데이터의 반복을 압축함으로써 용량을 줄일 수 있다는 원리에 입각하는 것입니다.

손실 압축(Lossy Compression)

손실 압축은 중복된 그리고 필요하지 않은 정보가 손실되는 것을 허용하는 압축 기법을 말합니다.
데이터를 압축하여 자료를 받은 곳에 압축으로 풀어서 원래의 것과 다르게 보여주는 것을 말합니다.

이름만 들으면 무언가 잃어버린 느낌이 납니다. 하지만, 어떠한 부분에서는 충분히 유용한 방식입니다.
스트리밍 미디어와 인터넷 전화 등의 응용 프로그램 안에서 멀티미디어 데이터를 압축하는데 가장 많이 사용됩니다.

여기서 무엇이 손실되는지 궁금해집니다.
인간이 자각하기 힘든 범위의 데이터를 버리고 압축하는 방법을 사용합니다.
인간의 인지와 관련되어 있기 때문에 인지심리학, 선형대수학, 컴퓨터 공학을 통해 만들어졌습니다.

예시로는 MP3 압축포맷과 JPEG 압축포맷이 있습니다.

무손실 압축(Lossless Compression)

무손실 압축은 처리 과정에서 자료의 손실이 없으며 입출력이 완전히 동일하도록 압축하는 기법을 의미합니다.
반복 표현되는 정보를 최대한 줄여 수학적으로 정의되는 정보량에 가깝게 만드는 수학적 기법과 관련이 있습니다.

일반적으로 파일 압축에 사용되는 ZIP, RAR, 7z, ALZ, EGG등의 모든 파일 압축 포맷이 포함됩니다.
그림 파일에서 사용하는 PNG 압축포맷과 GIF 압축포맷도 포함이 됩니다.