200 likes | 559 Views
SOC Design Lecture 2. Video Codec Overview. H.265 (HEVC). MVC. MPEG1. SVC. H.263. H.261. Video Codec History. ITU. DTV, DMB, BD,…. DVD. H.264 (MPEG4 Part10, AVC). JPEG. MPEG2. MPEG4 (DivX?). ISO. MPEG7. MPEG21. VCD. Camcorder Handphone. MM Framework. Content search.
E N D
SOC Design Lecture 2 Video Codec Overview
H.265 (HEVC) MVC MPEG1 SVC H.263 H.261 Video Codec History ITU DTV, DMB, BD,… DVD H.264 (MPEG4 Part10, AVC) JPEG MPEG2 MPEG4 (DivX?) ISO MPEG7 MPEG21 VCD Camcorder Handphone MM Framework Content search 2000 2005 1990 1995 2010
H.265 (HEVC) MVC MPEG1 SVC H.263 H.261 SOC Lab. Design DVD H.264 (MPEG4 Part10, AVC) JPEG MPEG2 MPEG4 (DivX?) MPEG7 MPEG21
NTSC YUV 480
Picture Size • QVGA : 320 X 240 • VGA : 640 X 480 • SVGA : 800 X 600 • XGA : 1024 X 768 • SXGA : 1280 X 1024 • UXGA : 1600 X 1200 • QXGA : 2048 X 1536 • QCIF (Quarter CIF): 176 X 144 • CIF : 352 X 288 • 4CIF : 704 X 576 • 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 • 4 byte SRAM 54MHz로 access시 1 byte SRAM 27MHz access에 비해 데이타율 16배 증가. 8 16 16 54MHz 27MHz • 2/16은 read, write로 소요. 나머지는 기타 용도로 활용.
Block기반 영상 압축 An Image Frame Bitstream MB overhead
Slice, MB, Block Block
동영상 압축의 3가지 원리 화면내 공간적 상관관계를 이용한 압축 화면간 시간적 상관관계를 이용한 압축 부호의 발생확률의 편중을 이용한 압축
화면내 유사도 이용 • Intra Prediction (인트라 예측) 압축대상 블록 대신 (압축대상블럭- 인접 유사 블록)을 압축.
화면간 유사도 이용 t-1 t t-1 • Inter Prediction (인터 예측) 압축대상 블록 대신 (압축대상블럭- 이전화면내 유사 블록)을 압축.
출현 빈도에 따른 코드 할당 자주 등장하는 값에 적은 이진수 할당. 사전의 예) S : 0, T : 01, X : 000001 이와 같이 데이타값 별로 다른 비트수의 코드가 할당되는 방식을 VLC(Variable Length Coding), ASCII와 같이 모든 데이터에 대해 동일 비트수의 코드가 할당되면 FLC (Fixed Length Coding이라 칭함.
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채용)