영상 압축기술의 시작 Part.2-블록 구조와 모션 벡터

영상편집을 다 마친 후, 상영 코덱으로 영상 압축을 하다 보면 우리는 한번 즈음은 이런 생각을 해 본 적이 있을 겁니다.


H.264나 H.265는 어떻게 압축률을 높이고 화질을 유지할 수가 있을까?

H.264나 H.265는 그것만의 특별한 압축 기술을 가지고 있지 않을까?

압축률을 높이고 화질을 유지한다는 것은 도대체 어떤 방식의 기술일까?

오늘은 영상 압축의 중요한 기술 중의 하나인 ‘블록 사이즈 기술’과 ‘모션 벡터 저장 방식’에 대해서 설명을 드리겠습니다.


글의 순서

  1. 1. 영상 압축 기술-블록 사이즈 기술
  2. 2. 영상 압축 기술-모션 벡터 저장 방식
  3. 3. 정리

이전 글에서 설명한 바와 같이 H.264는 MPEG-2에 비해서 약 2배 정도 압축이 된 것이고,

H.265는 MPEG-2에 비해서 약 4배 정도 더 압축을 할 수가 있습니다.

비디오 용량은 어떻게 결정될까? Part.2

그렇다고 해서 H.264나 H.265가 IBP 프레임 구조가 아닌 다른 구조를 사용하는 것도 아닙니다.

그러면 어떻게 이렇게 화질은 유지한 채 더 많은 압축을 할 수가 있는 것일까요?


그에 대한 해답은 ‘블록 구조’‘모션 벡터’에 있습니다.


1. 영상 압축 기술-블록 사이즈 기술


블록 구조

간단히 설명하면, ‘화면을 구성’ 할 때 통짜로 보는 것이 아니라

이것을 8X8, 16X16, 32X32 이런 식으로 ‘블록 단위’로 쪼개서 화면을 구성하는 방식입니다.



블록 구조

이런 방식으로 움직임이 적은 부분과 움직임이 많은 부분을 좀 더 정교하게 잘라낼 수가 있습니다.


우리가 듬성듬성 움직임을 구분했을 때 놓칠 수 있는, 실제로는 움직이지 않지만 저장되는 값들,

이런 것들을 아주 꼭 꼼꼼하게 걸러내서 움직이는 그 영역만 찾아내는 기술이

바로 ‘블록 사이즈 구성 기술’입니다.

이런 방식으로 움직이지 않는 모든 부분들을 빠짐없이 찾아내서 데이터 용량을 줄일 수가 있게 됩니다.


2. 영상 압축 기술-모션 벡터 저장 방식


그리고 마지막으로 생각해 볼 수 있는 것이 ‘데이터 자체’를 줄이는 기술입니다.

가만히 생각해 보면 ‘디지털 비디오’라는 것은 어차피 모든 것이 다 숫자로 구성된 데이터 영역입니다.

그렇다면 우리는 숫자를 기록할 때 그 값을 그대로 기록하는 방법도 있지만,

앞의 값과의 차이만 기록하는 방법도 있습니다.

모션 벡터

예를 들어서 5,000이라는 숫자가 있는데, 그다음에는 5,001, 그다음에는 5,002, 그다음에 5,003 이런 식으로 기록할 수도 있지만,


모션 벡터

5,000이라는 값을 적어놓고 그 뒤에  +1, +2, +3….

이렇게만 적어도 된다는 겁니다.

이렇게 변화하는 값(방향)만 저장하는 방식을 ‘벡터 저장 방식‘이라고 합니다.



모션 벡터

다시 말해, 블록 사이즈로 만들어 놓은 데이터의 모든 값을 다 기록하는 게 아니라,

“3칸 움직였음”, “4칸 움직였음” 이런 식으로 모션 벡터 값만 기록을 해놓는 겁니다.

이런 방식으로 데이터 용량은 훨씬 더 줄어들게 됩니다.

대신 연산량은 늘어나게 됩니다.


3. 정리


정리를 하자면, 데이터를 더 많이 압축한다는 것은 화질이 더 떨어지게 되는 것을 의미합니다.

그렇다면 압축은 더 많이 하면서 화질을 그대로 유지할 수 있는 방법은 뭐가 있을까요?

연산을 많이 하게 하면 됩니다.


MPEG-2

그래서 MPEG-2, 20Mbps의 영상을 MPEG-2, 10Mbps로 만들면 화질은 떨어지게 될 겁니다.



H.264

그런데 MPEG-2, 20Mbps의 영상을 H.264, 10Mbps로 만들면 화질은 그대로 유지가 되게 됩니다.



H.265

마찬가지로 H.264, 10Mbps를 H.265, 5Mbps로 만들면 화질은 거의 유지가 됩니다.

대신 연산을 엄청 빡세게 해야 할 겁니다.


지금까지 ‘영상 압축 기술의 시작 Part.1-IBP프레임의 모든 것’ 과 ‘영상 압축 기술의 시작 Part.2-블록 구조와 모션 벡터’를 설명드렸습니다.

물론, 굉장히 어려울 수도 있는 내용을 최대한 간편하게? 설명드려 누락된 부분도 존재하기는 하나,

이 정도만 개념 정리를 해 놓아도 영상 편집을 함에 있어서, 영상 트랜스코딩 함에 있어서, 영상을 송출함에 있어서

작게나마 도움은 되셨을 거라 생각이 듭니다..

누구나 영상 작업을 할 수 있고 진입장벽이 낮아진 현시대에

영상업계 현업에 계신 종사자라면 보다 더 체계적인 전문 지식과 고급 스킬을 갖추어 방송 또는 영상업계에서 롱런하시기를 기원하겠습니다.

Leave a Comment