H.264/AVC 비디오 압축 표준 책의 Chapter 1을 요약한 내용입니다.
Introduction
Multimedia 코덱으로 매우 널리 사용되고 있는 H264를 알기 전에 먼저 H264란 무엇이고 우리가 영상을 볼때 어떤 흐름으로 데이터가 전달되는지를 정리해보았다.
H.264란?
ITU-T : International Telecommunication Union Telecommunication Standardization Sector
ISO : International Organization for Standardization
H.264는 ITU-T와 ISO에서 공동으로 제안한 차세대 동영상 압축기술 H.264에서 H는 오디오 비주얼(AV) 멀티미디어 시스템 분야를 가리키며 200번대는 시스템을 구성하는 요소를 260번대는 그가운데 동영상 인코딩 기술을 가르킨다 즉 H.264는 동영상 인코딩 기술중 4번째에 해당하는 기술이다
AVC??
AVC (a.k.a MPEG-4 part 10:AVC) == H.264 ISO에서 부르는 명칭 H.264는 ITU-T에서 부르는 명칭
동영상 재생에서 데이터 흐름
동영상 재생은 다음과 같은 순서로 이루어진다
- Sampling: 아날로그 정보로부터 일정한 시간 간격으로 샘플을 추출하는 과정
- Quantization: 샘플링된 정보를 정해진 정수 레벨 (디지털 레벨)로 표현하는 과정
- Enconding : Quantization된 신호를 디지털 값으로 변환
Sampling
아날로그 신호를 일정한 시간 간격으로 측정하는 과정 샘플링 정리 (나이퀴스트 정리)에 의해서 원하는 아날로그 신호 대역의 2배 이상의 주파수로 샘플링한다
샘플링 정리에 대해서는 다음 사이트를 참고
Quantization & encoding
quantization 각 샘플을 몇 레벨의 디지털 표현으로 바꿀 것인가
encoding quantization뒤에 샘플을 어떻게 표현할 것인지
압축
PCM (Pulse-code modulation)의 경우에는 위의 3가지 과정만 거쳐서 재생을 한다 (ex. wav).
하지만 이렇게 재생을 하게되는 경우 요구되는 데이터의 양이 너무 많아진다.
그렇기 때문에 오디오 비디오 데이터를 전송하는 경우 데이터의 중복된 부분을 제거하는 압축을 수행하여 데이터의 양을 줄이는 과정이 필요하다.
압축은 크게 비가역 압축과 가역 압축으로 나눌 수 있다.
가역 압축은 압축 이후 복원 과정에서 원본의 손실이 발생하지 않는 압축을 의미하고 비가역 압축은 원본의 손실이 발생하는 압축을 의미한다.
음성과 영상의 가역 압축은 정보량이 크게 줄어들지 않기 때문에 비가역 압축을 사용한다.
RGB & YUV
RGB: red, blue, green 의 세가지 형태의 색 신호로 구성. 같은 대역을 사용하기 때문에 한 채널에 사용되는 3배의 대역이 필요하다.
YUV: 밝기(Y) 색상(UV) 로 나누어 색을 표현하는 방식으로 사람의 눈은 Y신호에 더 민감하기 때문에 Y신호에 데이터를 많이 넣고 상대적으로 UV대역을 줄요 효율적으로 데이터를 전송할 수 있다. 때문에 대부분의 디지털 신호는 YUV를 사용한다.
하이브리드 encoding
-
화면 간의 중복된 정보의 제거 (시간적 정보 중복도의 제거)
-
화면 내 (공간적) 화소가 가지고 있는 중복된 정보의 제거 (공간적 정보의 중복도의 제거)
H.264에서는 화면의 차를 구하고 해당 프레임에 대해 DCT를 적용 마지막을 엔트로피 코딩을 통해서 데이터 양을 최소화
Interlace vs Progressivce
Interlace : 한 화면을 홀수 번째 줄과 짝수 번째 줄로 나누어서 화면을 송출하는 방식 아날로그 TV방속에서 제한된 대역폭을 극복하기 위해 사용했었다.
Progressive: 한 화면을 그대로 송출 => 보통 이걸 많이 사용한다.
Progressive 의 경우에는 저화질과 고화질의 대역폭에 맞게 송출하는 progressivce encoding으로도 쓰이므로 용어에 주의