Computer Architecture and Design Lecture 14 Video Codec Overview
Video Codec History H.261 H.263 ITU MVC DTV, DMB, BD,… DVD H.264 (MPEG4 Part10, AVC) H.265 (HEVC) JPEG MPEG2 SVC MPEG1 ISO MPEG4 (DivX?) MPEG7 MPEG21 VCD Camcorder Handphone Content search MM Framework 1990 1995 2000 2005 2010
SOC Lab. Design H.261 H.263 MVC DVD H.264 (MPEG4 Part10, AVC) H.265 (HEVC) JPEG MPEG2 SVC MPEG1 MPEG4 (DivX?) MPEG7 MPEG21
NTSC YUV 480
YUV 444, 422, 420
YUV File (Raw Image) Y U V 1 2 3 ·· ··· 60 61 62 63 ·13 14 15 13 YUV 0 0 0 Y 1 Y U V 2 1 1 3 4 2 2 5 6 3 3 7 8 9 10 11 12 13 14 15 16 4 4 17 18 5 5 19 20 6 6 21 22 7 7 23 24 25 26 27 28 29 30 31 32 8 8 33 34 9 9 35 36 10 10 37 38 11 11 39 40 41 42 43 44 45 46 47 48 12 12 49 50 13 13 51 52 14 14 53 54 15 15 55 56 57 58 59 60 61 62 63 Y U V 1 2 3 ·· ··· 60 61 62 63 ·13 14 15 13
MPEGABLE Player (YUV Viewer)
Picture Size VGA : 640 X 480 CIF : 352 X 288 SVGA : 800 X 600 XGA : 1024 X 768 SXGA : 1280 X 1024 UXGA : 1600 X 1200 QXGA : 2048 X 1536 CIF : 352 X 288 SD (D1, CCIR601) NTSC : 720 X 480 PAL : 720 X 576 HD는 여러 사이즈 존재 예) 1080 HD : 1920 X 1080
SD TV Data Rate 1 frame의 데이터 개수 = 858 × 525 × 2 = 900,900 byte/frame Why (×2)? 입력 포맷 4:2:2, 픽셀당 Y성분 1개, C성분 1개씩 존재. (Blank 영역도 동일) NTSC: 29.97 frame/sec. 900,900 × 29.97 = 26,999,973 = 27MHz 즉, 8bit 메모리 사용시 영상 Read에만 27MHz 필요
Data Width and Clock Frequency 8 16 16 27MHz 108MHz
Block기반 영상 압축 An Image Frame Bitstream MB overhead
Slice, MB, Block Block
영상 압축의 3가지 원리 화면내 공간적 상관관계를 이용한 압축 (Intra Prediction) – 정지 영상 화면간 시간적 상관관계를 이용한 압축 (Inter Prediction) - 동영상 부호의 발생확률의 편중을 이용한 압축 (VLC)
화면내 유사도 이용 압축대상 블록 대신 (압축대상블럭 - 인접 유사 블록)을 압축. Intra Prediction (인트라 예측)
화면간 유사도 이용 압축대상 블록 대신 (압축대상블럭 - 이전화면내 유사 블록)을 압축. t-1 t t-1 Inter Prediction (인터 예측)
출현 빈도에 따른 코드 할당 자주 등장하는 값에 적은 이진수 할당. 사전의 예) S : 0, T : 01, X : 000001 이와 같이 데이타값 별로 다른 비트수의 코드가 할당되는 방식을 VLC(Variable Length Coding), ASCII와 같이 모든 데이터에 대해 동일 비트수의 코드가 할당되면 FLC (Fixed Length Coding이라 칭함.
GOP (Group of Picture)
I (Independent) picture : I Picture, P Picture I (Independent) picture : 화면내 모든 블럭을 인트라 부호화 I picture는 GOP의 독립성을 확보 P (Predictive) picture : - 블록마다 인트라, 인터 중 유리한 방식으로 압축
비트스트림 압축된 영상 파일을 비트스트림이라 칭함. 비트스트림은 다음과 같이 크게 헤더와 영상데이타부로 구성됨. GOP앞, 픽처앞, MB앞마다 다양한 종류의 헤더가 있음. 가령 픽처 단위의 헤더 예로는 한 픽처의 시작을 알리는 Start Code, 픽처의 종류, 픽처의 번호 MB단위의 헤더로는 인터모드냐 인트라모드냐의 구분, 세부 모두 등이 해당. 영상 데이터는 YUV데이타가 DCT, Q된 결과를 VLC한 결과를 의미 헤더 ... 영상 데이터
VLC/FLC 헤더 일부는 VLC, 일부는 FLC. 영상데이타는 VLC H.264에서 사용하는 VLC 의 종류 헤더 정보는 Exponential Golomb 영상 정보는 CAVLC와 CABAC중 택일. (비교적 단순한 H.264 베이스라인에선 CAVLC, 복잡하나 성능이 좋은 메인프로파일에선 CABAC채용)