2016년 2월 18일 목요일

비디오 format 이해

1. 컨테이너


동영상 파일은 재생과 편집을 월활하게 하기위한 일련의 규격을 담는다. 이러한 규격을 가진 파일을 컨테이너라 칭한다. 컨테이너는 하나이상의 스티림을 지니는데, 스트림은 시간에따라 변하는 비디오 혹은 오디오 데이터를 의미한다. 컨테이너에 스트림을 담는 과정을 멀티플랙싱(Muxing) 이라 하고, 반대로 추출하는 과정을 디멀티플랙싱(Demuxing) 이라 한다.

 컨테이너에 속한 정보

  • 메타 정보 (촬영날짜, 위치)
  • 가지고있는 스트림 갯수
  • 동영상 전체 길이
  • 자막 정보
  • 실시간 스트리밍을 위한 스트림 위치정보
ex ) MPEG-PS, MPEG-TS, MPEG-4 Part 14, QuickTime, 3GPP, Ogg, WebM ..

Container format

2. 코덱(codec)


아날로그 신호로 이루어진 비디오, 오디오 를 압축된 부호로 변환하기 위한 압축 규격

압축 : analogue-> digital :인코딩 (encoding)
복원 : digital -> analogue : 디코딩 (decoding)
재압축 : digital -> analogue -> digital : 트랜스코딩 (transcoding : format 변경을 위함)

ex ) MPEG-1 Part 2, MPEG-2 Part 2, MPEG-4, Divx, MPEG-4 part 10 (H.264/AVC)..

3. 비디오 압축


비디오는 수많은 프레임이 시간축을 기준으로 모여 저장된 것이다. 이러한 프레임을 하나하나 개별적으로 압축한다면 용량낭비가 심할 것 이다. 따라서 비디오를 압축할 경우 하나의 프레임과 주변프레임의 상관관계를 이용하여 압축한다.

  • I-frame : 기준이 되는 프레임 : 하나의 온전한 이미지를 저장한다. 따라서 디코딩할 때 다른 프레임이 필요하지 않다. ( 디코딩 시간 절약 )
  • P-frame : I-frame 이후 다음 I-frame 까지의 변경된 전보만을 담는다. 비교적 적은 데이터를 저장한다. 그러나 P-frame을 디코딩하려면 연결된 I-frame이 필요하다.
  • B-frame : 다음 P 또는 I - frame에 변경된 정보만을 담고있다. 가장적은 데이터를 지니고 있으나, 디코딩 할 때 가장 많은 정보가 필요하며 디코딩 시 부하가 크다.
  • GOP(group of picture) : I-frame 과 I-frame 사이의 frame들의 수. 비디오 프레임은 GOP단위로 압축된다. 


4. 비트레이트 ( Bitrate )


멀티미디어를 코덱을 통해 인코딩 할 때는 비트레이트를 할당하게 된다. 비트레이트는 특정한 시간단위 (초) 마다 처리할 수 있는 비트의 수를 나타낸다. 인코딩 시 비트레이트를 어떻게 할당하냐에 따라 품질이 크게 달라진다.

작은해상도와 낮은 셈플링 레이트를 가진 영상을 인코딩할 떄는 많은 비트레이트가 필요하지 않다. 눈에띄는 변화가 없으며 용량만 잡아먹게 된다.

반대로 큰 해상도와 높은 샘플링 레이트를 가진 영상에 낮은 비트레이트를 할당하여 인코딩하면 화면이 뭉개지고 잡음이 샘해진다.


  • 가변 비트레이트 ( VBR, Variable Bitrate ) : 영상의 복잡도에 따라 할당하는 비트레이트의 양이 결정된다. 움직임이 많은 구간에선 압축률이 낮아짐으로 높은 비트레이트를 할당한다. 영상의 복잡도는 인코딩 중 실시간으로 판단가능하기 때문에 인코딩시간이 구배정도 더 걸릴 수 있다.
  • 고정 비트레이트 ( CBR, Constant Bitrate ) : 항상 같은양의 비트레이트를 할당한다. 품질은 상대적으로 떨어지나 일정한 인코딩 시간과, 실시간 스트리밍에 필요한 최소 대역폭을 알 수 있다.
  • 평균 비트레이트 ( ABR, Average Bitrate ) : 고정과 가변 비트레이트의 장점을 지닌다. 영상 복잡도에 따라 비트레이트를 할당하지만 평균적으로 지정된 비트레이트를 유지하려 한다. 스트리밍에도 무리가 없으며 비교적 높은 품질을 보장한다.

댓글 없음:

댓글 쓰기