압축이 없었다면 유튜브도 없고, 인터넷도 없었을 거라고요?

압축의 세계에 오신 여러분을 환영합니다.
어떤 물건을 저장하거나 혹은 재활용할 때, 우리는 압축을 통해 그 공간을 줄입니다. 알루미늄캔을 압착해서 납작하게 만들거나, 이불이나 옷가지들을 비닐 백에 넣어서 진공상태로 만들어 부피를 줄이기도 하죠. 이렇게 물질에 압력을 가하여 부피를 줄이는 것을 ‘압축’이라고 합니다. 컴퓨터 분야에서는 특수한 코딩 방법을 사용하여 불필요하거나 반복되는 부분을 없애 데이터의 양을 줄이는 것을 압축이라고 부릅니다. 그런데, 이런 압축이 없었다면 지금 우리가 사는 세상은 생각보다 많이 달라졌을 겁니다.

# 압축의 원리부터 알아봅시다.

압축의 원리는 다음과 같이 설명할 수 있습니다. ‘aaaaabbbccccccddeeee’라는 내용이 저장된 텍스트 파일(.txt)이 있다고 해보죠. 위의 20자리 문자열에 반복되어 있는 문자를 반복 횟수만큼 적는 방법을 사용하면 20자리를 10자리로 줄일 수 있습니다. 이 방법은 RLE(Run length Encoding)이라고 하는데요.

‘aaaaabbbccccccddeeee -> a5b3c6d2e4 / 20자리 문자열이 10자리로, 무려 50%나 압축이 되었어요
20자리 문자열이 10자리로, 무려 50%나 압축이 되었어요

이런 방법을 외워둘 필요는 없습니다. 왜냐하면 요즘에는 이런 방식을 거의 사용하지 않고 LZW(Lempel Zip Welch) 방식이나 하프만 코딩 등을 사용하는데, 이해하기 쉬운 방법은 아니니 굳이 외울 필요 없이 이런 식으로 압축을 한다는 것 정도만 이해해두시면 될 거예요.

이런 압축의 역사는 생각보다 오래되었습니다. 1983년에 SQ라는 파일 압축 유틸리티가 나왔고, 압축이란 획기적인 개념이 도입되어 저장 공간을 줄일 수 있었죠. 1985년 즈음해서 우리가 가장 많이 사용하고 있는 ZIP이라는 표준 압축 포맷이 만들어졌습니다. 물론 지금은 파일 압축방법에 따라 다양한 파일 확장자가 무수히 존재하고 있습니다.

집(ZIP)에서 만들어서 ZIP인건가요? 유명 압축프로그램 PKZIP에서 따온 파일 확장자가 .ZIP이랍니다
집(ZIP)에서 만들어서 ZIP인건가요?

# 압축이 바꿔놓은 우리의 일상, 세상에 이런 일이!

요즘 인기와 화제의 제품 중 하나가 바로 블루투스 이어폰이죠. 귀에 무선으로 꽂을 수 있고 MP3 음악을 편리하게 즐길 수 있도록 도와주니까요. 그런데, MP3가 바로 압축파일이라는 걸 아시나요? (MP3는 지난번에 소개해드린 ISO 13818-3 국제표준으로 지정되어 있습니다.) 우리가 요즘 사용하고 있는 대부분의 파일들은 압축되어 있지 않은 것이 없답니다. 이미지를 저장하고 공유할 때 많이 사용하는 jpg(또는 jpeg) 파일도 이미지 압축 기법이 적용된 파일이에요. 스마트폰으로 영상을 촬영하면 mp4로 보통 저장되는데, 그것도 압축파일입니다. 만약 이런 압축 기술이 존재하지 않았다면 어떻게 될까요?

우선 CD플레이어가 사라지지 않았을 거예요. 아날로그 형태로 저장된 데이터를 디지털화시킬 수는 있겠지만 용량 자체를 줄일 수가 없겠죠. 그리고 UHD TV나 4K 방송도 없을 거예요. TV 영상을 송출하는 방송국의 NTSC나 PAL 같은 방식도 압축 포맷이거든요. 더구나 영상 데이터를 압축할 수 없으니 인터넷으로 어마어마한 양의 데이터를 보내야 하는데 초고속 인터넷과 5G의 시대라도 그것은 불가능합니다. 아, 5G 시대라는 것도 오지 않았을 거예요. 스마트폰으로 주고받는 5G 통신도 압축 기술을 사용하거든요. 인터넷의 시대 자체가 오지 않았겠죠? 왜냐하면 우리가 주고받는 데이터 통신도 압축 기술을 사용한답니다.

우리가 즐기는 인터넷도 없고, 유튜브도 없고, 넷플릭스도 없는 세상을 상상할 수 있겠습니까? 아, 스마트폰으로 통화하는 것조차 불가능한 세상 말입니다.

# 압축에는 손실과 비손실 압축의 2가지 방법이 있습니다.

음악을 조금 즐길 줄 아는 분이라면 비손실 음원이라고 불리는 ‘FLAC으로 들어야 음질 손실이 없다’는 이야기를 들어보신 적이 있을 겁니다. 압축 기법에는 손실과 비손실 압축의 2가지 기법이 있거든요. 왜냐하면 사람의 눈과 귀는 기계처럼 정확하지 않기 때문에, 일부 데이터가 조금 버려도 사람이 인지하는 데는 큰 어려움이 없답니다.

예를 들면, 사람의 귀는 들을 수 있는 가청주파수 영역과 비가청주파수 영역이 있어요. 동물은 들을 수 있지만, 사람은 들을 수 없는 소리 같은 거죠. 그런 데이터는 압축하는 과정에서 버린다고 해도 큰 문제가 없어요. 이렇게 압축하는 과정에서 데이터가 삭제되는 방식을 ‘손실 압축’이라고 하고, 가급적 모든 데이터를 삭제 없이 압축하는 것을 ‘비손실 압축’이라고 합니다. FLAC은 비손실 압축의 대표적인 예고, MP3는 손실 압축의 대표적인 사례라고 할 수 있어요.

무손실 압축 : 압축 전 파일 -> 압축된 파일(ZIP, LHA 등) -> 복원된 파일 (압축 전 파일과 동일) 손실 압축 : 압축 전 파일 -> 압축된 파일(JPEG 등) -> 복원된 파일(일부 정보 누락)
비손실 압축은 압축 해제를 했을 때, 압축 전 파일과 100% 동일한 방식이에요.

사람의 눈도 마찬가지입니다. 사람의 눈은 색∙공간에 대한 인식률이 생각보다 떨어지는 영역이 있습니다. 예를 들면 매우 밝거나, 매우 어둡거나, 비슷한 영역에서 명도나 채도 차이가 거의 없는 경우에는 동일한 색상으로 칠한다면 데이터의 양을 많이 줄일 수 있죠. 이런 이미지 손실 압축 기법의 대표적인 예가 JPEG이라는 표준입니다.

실제로는 뇌에서 이미지나 음성을 처리할 때, 자동적으로 데이터 손실이 늘 발생합니다. 아마 사람의 뇌가 주변의 시각과 청각 데이터를 100% 비손실로 처리한다고 하면, 우리는 심각한 두통에 시달릴 거예요. 쉽게 생각하면 압축이라는 개념은 사람의 뇌를 이해하면서 나온 기술이라고 볼 수도 있답니다.

이렇게 사람의 뇌를 이해하면서 나오기 시작한 기술로는 알파고(AlphaGo)로 유명해진 인공지능으로, 신경망 학습이나 뇌가 실제로 어떤 생각을 하는지 해독하는 브레인 디코딩(Brain Decoding), 사람의 언어를 인식하는 자연어/음성 인식 기술 등이 있습니다.

삼성SDS 소셜크리에이터 조남호(Principal Professional)
공유하기