영상 화질 높아질수록 크기 증가… 압축 땐 저장 공간-비용 절감 데이터 전송시간 단축 효과도 특정 규칙에 따라 데이터 압축… 중복되는 내용 제거하는 ‘런-렝스’ ‘허프먼’은 빈도를 기반으로 부호화
게티이미지코리아
요즘 스트리밍 서비스를 통해 다양한 콘텐츠를 즐기는 것이 일상이 되었습니다. 이러한 변화로 혹자는 우리가 ‘영상 커뮤니케이션’의 시대에 살고 있다고 묘사하기도 합니다. 그도 그럴 것이 16일 한국갤럽이 발표한 미디어, 콘텐츠, 소셜 네트워크 서비스 이용률 조사에 따르면 OTT(Over-the-top) 유료 동영상 서비스 이용률이 지난해 44%에서 13%포인트 상승한 57%로 나타나 그 주장을 뒷받침하였습니다.
이러한 OTT 서비스 대중화의 배경에는 동영상 최적화 기술이 주요한 역할을 하고 있습니다.
동영상은 대체로 데이터 파일 크기가 매우 큽니다. 영상의 화질이 향상되면서 파일도 그 크기가 증가해 이를 전송하는 과정에서 네트워크 대역폭을 많이 사용합니다. 이는 동영상 재생이 원활하지 않거나 일부 기기에서 동영상이 재생되지 않는 문제를 야기할 수 있습니다. 또한, 네트워크 트래픽 사용에 대한 비용이 증가하므로, OTT 서비스 제공자는 동영상 파일 크기와 네트워크 대역폭 사용을 관리하기 위해 고화질 콘텐츠를 더 작은 용량으로 압축해 전송하는 방법을 사용합니다. 더 작은 크기의 데이터로 더 높은 수준의 영상을 제공하기 위해 더 높은 압축 효율을 내는 압축 기술이 OTT 시대에 필수가 되었습니다.
● 데이터 크기를 줄이는 압축
압축 방법에는 무손실 압축(Lossless Compression)과 손실 압축(Lossy Compression) 방법이 있습니다.
무손실 압축은 데이터를 압축할 때 어떠한 정보도 손실되지 않기 때문에, 원본 데이터를 완벽하게 복원할 수 있는 방법으로 정확성이 중요한 데이터에 주로 사용됩니다. 예를 들어, 의료 영상 및 파일, 은행 기록, 텍스트 문서, 프로그램 파일 등은 원본 내용이 손실되면 심각한 문제를 일으킬 수 있습니다. 이러한 데이터의 경우 여러 개의 파일을 묶거나 파일 크기를 줄여 저장이나 전송이 용이한 상태로 만들고자 할 때 무손실 압축이 사용됩니다.
● 런-렝스, 허프먼 등 다양한 방법
매우 간단한 압축 방법으로 런-렝스(RLE·Run-Length Encoding) 압축이 있습니다. 여기서 ‘Run’은 반복 문자, ‘Length’는 반복 횟수를 의미하여 반복 길이 부호화라고도 합니다.
기본적인 압축 방법은 다음과 같습니다.
런-렝스 압축과 함께 잘 알려진 압축 알고리즘은 허프먼(Huffman code) 압축 방식입니다. 허프먼 압축은 데이터의 출현 확률을 기반으로 부호화하는 방식입니다. 자료에서 자주 출현하는 데이터에 짧은 부호(이진 코드)를 사용하고, 드물게 출현하는 데이터에 긴 부호(이진 코드)를 사용하여 압축률을 높이는 방식입니다. 예를 들어 압축하려는 자료에서 각 문자의 출현 빈도수가 〈표1〉과 같은 경우 출현 빈도에 따라 코드 길이를 다르게 부여해 압축하는 방식입니다.
정보 전달과 습득의 수단으로 글자보다 영상이 더 익숙한 학생들이 많을 텐데요, 우리가 쉽게 영상을 이용하는 배경에 사용된 데이터 압축에도 관심을 가지는 계기가 되었길 바랍니다.
이미지 압축과 관련한 비버챌린지 문항이 있어 소개하며 마무리하겠습니다. 〈표2〉의 문제를 해결해 보세요. 2017 비버챌린지의 ‘아이콘 이미지 압축하기(2017-KR-07)’입니다.
김학인 한성과학고 교사