본문 바로가기
VFX_이론

VFX 작업에 기본이 되는 동영상에 알아야 할 것들

by 그놈궁댕이 2023. 3. 26.
반응형
 
* 일단, 인터넷을 검색하고 스스로 느낀점을 혼합해서 정리한다.
* 틀린점이 있을수 있으니, 유의하길 바란다.
* 우리가 자주 사용하는 동영상에 대해 알아야할, 여러 기본 개념을 찾고 정리해 본다.
 
 
 
 
++++++++++++++++++++
 
VFX팀이 동영상을 쓰는 경우는 몇가지로 정리 할수 있다.
컨펌용  mov  랜더 드라마, ott 작업용 플레이트 다양한 cg 소스들
 
 
우리는 동영상을 생각보다 자주 쓰지만...
동영상의 개념을 제대로 이해하지 못하는 경우가 종종 있다.
 

 

 

 

 

 

 
 
 
동영상의 형식을 대표하는 3가지 
코덱 컨테이터 파일 형식
 
동영상을 언급할때 우리는 3가지 개념을 이해할 필요가 있다.
많은 사람들은 동영상의 확장자 즉, (파일 형식)만 생각한다.
하지만 파일 형식과 더불어 코덱도 굉장히 중요하다.
 
 
언뜻 비슷해보이지만, 서로 다른 개념의 용어를 이해하려면, 다양한 형식의 파일을 서로 비교하고, 그것의 차이점과  공통점을 찾아보는 것이다.

 

 

 

 

 
 
 
 
 
 

 

==

동영상에는 두 가지 필수 공정이 있다.

인코딩 = 비디오를 압축을 담당. 디코딩 = 동영상을 볼수 있도록 준비.

 

인코딩은 압축을 담당한다.

동영상에서 압축은 매우 중요한 단계이며 이때 '코덱'을 선택한다.

'코덱'이란 쉽게말해 동영상 압축의 다양한 알고리즘을 말한다.

코덱을 선택할때는 비디오의 목적과 추구하는 목표를 생각해야만 한다.

 

 

 

 

 

 

 

 

 

 

1) 코덱 = 압축의 개념

 

압축은 두가지 관점이 있다.

무손실 = 무압축 압축 = 손실
압축은 손실이 있을수도, 없을수도 있다.
두가지 모두 장단점이 존재한다.
입반적으로 손실 압축은 파일 크기를 크게 줄여야 할때 선택된다.
대표적인 코덱이 h.264로 볼수 있다.
 
반대로 무손실 압축이 있는데, 이것은 말그대로 원본을 그대로 유지한다.
하지만, 용량이 매우 커진다.
 

 

 

 

 

 

vfx 작업 관점에 본다면...

손실 압축은 컨펌용 mov를  가볍게 뽑아, 감독에게 전달하기 위해 쓰인다.

드라마는 필연적으로 시간이 촉박하기 때문에, 영화처럼 시퀀스 파일로 작업하지 않고, 보통  mov로 작업한다.

무손실 압축은 드라마 작업에서 원본 소스를 전달할 때 쓰인다.

 

어떠한 목적인지가 가장 중요하다.

 

 
 
 

 

 
 
오늘날 대부분의 비디오는 인터넷을 통해 플레이 된다.
그렇기 때문에 고성능 압축을 선호 한다. 동영상의 해상도가 높아짐으로 무손실 압축을 하면 짧은 동영상 하나가 수백 기가 바이트의 영상이 되기도 한다. 이것은 인터넷에 사용하기 불가능하다.
 
무손실 압축은 언제든지 원본의 퀄리티를 유지하기 때문에 동영상 손실이 없다는 장점이 있다.
동영상이 추가로 손상되는 경우는 동영상을 여러번 변환하는 과정 때문에 생긴다.
손실 압축은 여러번 인코딩과 디코딩 과정을 거치면 상상 이상으로 더 많은 손실이 발생한다.
애초에 무손실로 동영상을 주고 받으면, 손실이 생기지 않는다.
 

 

VFX작업의 경우 동영상을 여러 번 인코딩과 디코딩을 거친다.

그렇기 때문에 필연적으로 손실에 민감하며,  VFX팀이 코덱을 깊게 고민해야만 하는 본질적 이유가 된다.

 
 
 
 

 

 

 

 

 

 

 

 

 

 
 
 
 

2) 컨테이너 =  컴파일의 개념

컨테이너는  보통 동영상 확장자를 말한다.

컨테이너는 동영상의 여러 요소를 구성하고 합쳐주는 것을 말한다.

동영상에는 비디오뿐만 아니라, 오디오 트랙과 여러 메타 데이터를 포함하게 된다.

 

메타 데이터는 동영상의 ( 제목, 설명, 권한...) 여러 부가적 정보를 말한다.

컨테이너는  비디오를 완성하는 마지막 단계 자체를 말하는데,  확장자에 따라 특정 코덱을 호환하거나, 그렇지 않은 경우가 있다.

 

 

 

쉽게 말해 원하는 압축 방법(코덱)을  쓰기 전에, 그것을 지원하는 컨테이너 (파일 확장자)가 맞는지 확인해야 한다는 점이다. 우리는 확장자만 가지고 동영상을 말하지만, 그 확장자가 지원하는 다양한 코덱이 있으며, 만약 동영상이 플레이가 되지 않는다면, 해당 동영상을 만들 때 사용한 코덱이 없다고 볼 수 있다.

일반 사람들은 이런 에러를 줄이기 위해, 통합 코덱을 설치하게 된다.

 

 

 

궁극적으로 코덱과 컨테이너가 비디오 파일의 형식을 결정한다.

일반적으로 '파일 확장자'라고 하면 항상 컨테이너를 의미한다.

이유는, 확장자에 따라 지원하는 코덱이 다르기 때문에 확장자와 컨테이너는 통용해서 부른다.

 
 
파일 형식은 일반 사용자와 매일 비디오 편집을 다루는 사용자 모두가 사용하는 보다 보편적인 용어다.
가장 일반적인 컨테이너 형식에는 QuickTime, MP4, MPEG 및 AVI가 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

크기와 품질의 딜레마

 

 
우리가 잊지 말아야 할것중에, 파일의 크기에 영향을 미치는 것은 단순히 해상도만이 아니다.
색상의 심도, 프레임 속도, 채널의 갯수에 따라 비디오가 매우 무겁거나, 가벼워 지기도 한다.
 
 
비트 심도(또는 색상 심도)가 높을수록 이미지 품질이 훨씬 좋아지고 색상 표현이 더 정확해지지만 이는 비디오 파일에 더 많은 색상 정보를 저장해야 함을 의미하기도 한다.
프레임 속도는 본질적으로 동작을 나타내기 위해 캡처된 이미지 수를 말한다.
vfx팀은 주로 24fps , 23.976fps를 쓰기 때문에 별상관은 없다.
그래도, 영상의 크기에 막대한 영향을 주는 요소라 알아두면 좋다.

 

 
fps가 높으면 일반적으로 선명하고 더 매끄럽게 깨끗하게 보인다.
하지만, 어딘가 부자연 스러운 느낌이 들기도 하며 무엇보다 비디오의 용향이 굉장히 커진다.
 
 
동영상을 압축할때 비슷한 이미지를 하나로 옮기거나 묶는 방법을 쓰게 된다.
여러 최적화 방법을 통해 이미지를 압축하여 용량을 줄이는데, 문제는 동영상의 이미지가 너무 화려하거나 복잡하면 압축을 하는데 한계가 생겨,  압축을 많이 하지 못할수도 있다.

 

쉽게 말해 움직임이 많은 동영상과 움직임이 적은 동영상을 똑같이 압축해도  크기 차이가 많다.
 
 
 
 

 

 

 

 

 

 

 

 

 
 

 

동영상 압축의 일반적 알고리즘 (h. 264 알고리즘 참조)

 

 

 

I-프레임 : 완전한 정보

P-프레임  : 중간 보정

 B-프레임 : 정보의 종류 선별

 

I  완전한 영상을  넣어주고,

P 중간에 기준값을 넣어주고,

B는 i와 p를 비교해 바뀌는 지점과 바뀌지 않는 지점을 선별해 하나로 통합 한다.  

 



I-프레임은 완전히 인코딩 된 이미지입니다. 

모든 I-프레임에는 이미지를 나타내는 데 필요한 모든 데이터가 포함되어 있다.

 

 

P-프레임은 피마지막 I-프레임에서 이미지가 어떻게 변하는지에 따라 결정된다.

 

 

 

B 프레임은  P-프레임과 다음 I-프레임 모두의 데이터를 사용하여 i-방향으로 예측한다.

 P 프레임은 P 프레임에 고유한 시각 정보만 저장하면 된다.

 

 



B-프레임은 P-프레임과 다음 I-프레임을 살펴보고 해당 프레임의 움직임을 “평균”을 찾는다.

알고리즘은 이미지가 “시작하는” 위치(첫 번째 I-프레임)와 이미지가 “끝나는” 위치(두 번째 I-프레임)에 대한 아이디어를 가지고 있으며 부분 데이터를 사용하여 모든 중복을 제외하고 압축시킨다.

 
 

 

 

 

 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

가장 많이 언급되는 코덱 유형

 

 

H.265(HEVC)

8K 비디오 해상도를 지원하는 H.264의 후속으로 오늘날 찾을 수 있는 가장 인기 있는 코덱 중 하다. 
H.264 코덱으로 얻을 수 있는 것보다, 더 높은 수준의 압축으로 완벽한 품질을 제공할 수 있는 것으로 알려져 있다. 
웹용 대용량 고해상도 비디오 파일을 최적화하는 데 적합하다. 
현재 H.265의 유일한 큰 문제는 호환성이다.
모든 장치가 HEVC의 고급 비디오 압축 알고리즘을 처리하고 적절하게 디코딩할 수 있는 것은 아니기 때문이다. 

컴퓨터가 HEVC 비디오 파일에 문제가 없는지 확인하려면, 일단 그래픽카드와  CPU가 고사양이 필요하다.

최소 사양은 인텔의 6세대 CPU, 지포스 GTX 950 이상의 그래픽 카드가 필요하다.

 

사양이 상대적으로 높아, 아직까진 h.264보다 많이 쓰지 않는 거 같다.

 

 

 
 
 
 
 
 

 

 

 

 
 

H.264(AVC)

 
더 발전된 코덱이 출시되고 있지만 H.264는 여전히 가장 널리 사용되는 코덱이다. 
MPEG-2에 비해 AVC는 이미지 품질을 높게 유지하면서 비디오 파일을 압축하는 데 훨씬 뛰어나기 때문이다.
 
H.264로 압축하면 비트 전송률이 낮아지고 파일 크기가 작아진다. 
또한, 비트 전송률 요구 사항이 낮은 비디오를 얻을 수 있으므로 AVC는 스트리밍에 이상적인 선택이다.
 

아직까진 h. 265가 너무 까다롭고, 고사양이기 때문에 여전히 h. 264의 인기가 월등히 높다.

호환성이 좋아 가장 안전하게 사용이 가능하다.

참고로, H.265와 H.264 모두 비디오 품질을 희생하지 않고 압축할 수 있는 무손실 버전이 있다.

하지만, h264가 가벼운 맛에 쓰는 거라, 무손실로 쓰는 일은 거의 없다고 볼 수 있을까?

 
 
 
 
 
 

 

 

 

 

MPEG-2

1996년에 출시된 이 코덱은 Moving Picture Experts Group에서 개발했으며 AVC 및 HEVC가 인수하는 동안 MPEG-2는 여전히 비디오 제작에 자주 사용된다.
 H.222/H.262로도 알려진 MPEG-2는 공중파 디지털 TV 방송에서 널리 사용되는 코덱 이였다.
 
이것은 예전에 유행한 DVD 비디오 형식을  위해 만들어졌다.
요즘은 일부 인터넷 브라우져가 지원하지 않아, 추가로 플러그인을 설치 해야 한다.
 MPEG-2는 60fps에서 720×480 및 1280×720의 해상도를 제공하며 파일 크기를 줄이는 데 탁월하다.
과거의 유산이며, 높은 사양을 요구하지 않는다.
 
 
 

 

 

 

 

 

 
 

 

 

 

 

 

AV1

AV1은 무손실 압축을 지원하는 대표적 코덱중 하나다.
정말 멋지게 만드는 것은 개방적이고 로열티가 없다는 것이다.
 
 
AV1은 AVC, HEVC 및 VP9의 주요 경쟁 제품으로 비슷한 이미지 품질에서 더 높은 압축률을 제공할 수 있다.
또한 AV1은 동일한 화질을 구현하기 위해 더 낮은 비트레이트가 필요하므로 스트리밍용 비디오 코덱으로서의 우수성을 입증 했다.
 
가장 큰 단점은 AV1이 최신 코덱 중 하나이며 소프트웨어가 지원하지 않는 경우가 많다는 것이다.

 

 

 

 
 
 
 
 

 

 

VP9

AV1과 마찬가지로 VP9는 Google에서 개발했으며 무손실 압축을 지원하는 개방형 로열티 프리 코덱이다.. 
비트 전송률 및 비디오 품질 측면에서 전능한 HEVC와 매우 유사하다.
 
VP9의 메인 프로필은 4:2:0 크로마 서브샘플링 레벨에서 8비트 색심도를 지원하지만, 프로필은 전체 범위의 크로마 서브샘플링 모드와 더 많은 색심도를 지원한다. 완전 성능이 좋다고 한다.
 
구글이 웹용 고해상도 비디오를 압축하기 위한 가장 강력한 코덱을 만들어 무료로 제공한다.

 

그러나 Apple은  VP9를 지원하지 않는다.

 

 

 

 

 

 

 

 

반응형

댓글