1. YUV Format이란?
- RGB를 이용한 색 표현은 색 그대로를 전부 표현합니다. 이는 무척 자세하고 풍부한 색 표현이 가능하지만 그만큼 용량이 커진다는 단점이 있습니다. 만약 동영상을 RGB를 사용한 데이터로 재생한다면 영상의 용량은 매우 커질 것 입니다. YUV 포맷은 이러한 용량문제를 보완해줄 수 있는 포맷입니다. Y,U,V 각각의 값은 이미지 데이터에서 1byte(8 bit)로 구성되어 있습니다.
2. YUV format의 특징
- 빛의 삼원색을 표현하는 RGB와 달리 빛의 밝기를 나타내는 휘도(Y)와 색상신호 2개(U, V)로 표현하는 방식입니다.
- 인간의 눈이 색상신호보다 밝기 신호에 민감한 눈의 인지 원리를 이용합니다. 인간의 눈은 색상신호가 밝기 신호보다 더 둔하기 때문에 색상 정보보다 더 풍부한 RGB신호나 색상 정보가 더 떨어지는 YUV신호의 영상 차이를 잘 느끼지 못합니다.
- 밝기를 담당하는 Y sample 은 모두 취하고, 상대적으로 둔감한 색상을 담당하는 U 나 V sample 은 4 개의 픽셀에서 1 개 또는 2 개의 픽셀만 취급하여 저장할 비디오의 용량을 줄일 수 있습니다.
- YUV format 의 경우 파일의 정보를 표시하는 ‘헤더’가 별도로 존재하지 않습니다. 아래 사진과 같은 데이터 구조를 가지기 때문입니다.
여기서 빨간 점선은 프레임의 구분을 뜻합니다. 한 프레임에 해당하는 Y정보가 먼저 출력되고 다음으로 Cb, Cr의 정보가 순서대로 출력됩니다.

3. YUV Format 종류 (서브샘플링)
- 동영상의 크기를 줄이기 위해 YbCbCr(YUV)을 그대로 사용하기 보다는 압축하는 것이 효율이 높습니다.
(Y -> Y / U -> Cb(파랑색성분) / V -> Cr(빨간색성분)
- 앞서 언급했듯이 사람 눈은 휘도에(밝기) 더 민감하기 때문에 샘플링에도 적용하여 압축합니다.
Y성분을 CbCr보다 많이 할당하게 되면 감소한 데이터에 비해 시각적 차이는 거의 없게 되는 것 입니다.
- 샘플링은 Y Cb Cr의 비율에 따라 여러 가지로 나뉘게 됩니다.
YUV format 은 Y, U(Cb), V(Cr)의 비율을 어떻게 하냐에 따라, 즉 샘플링 비율에 따라 YUV 444, YUV 422, YUV 420, YUV 411과 같이 이름이 정해지며 종류는 다음과 같습니다.
1) YCbCr 4:4:4 format(YUV 444)

해당 타입은 원본 YUV 색상입니다. Y가 4바이트올 때 U도 4바이트, V도 4바이트가 오게 됩니다.
[YUV YUV YUV YUV… 의 데이터 형식]
2) YCbCr 4:2:2 format(YUV 422)

Y가 4바이트올 때 U, V는 2바이트씩 할당됩니다. [YUYV YUYV YUYV…의 형식]
3) YCbCr 4:1:1 Format(YUV 411)

Y가 4바이트 올 때 U와 V신호가 각각 1바이트씩 위치합니다.
밝기에 비해 색상의 해상도가 1/4로 떨어집니다.
4) YCbCr 4:2:0 format(YUV 420)

해당 타입은 안드로이드 Camera 클래스에서 제공하는 YUV데이터 포멧 타입입니다.
12bit 데이터 포멧으로 YV12, NV12, IMC2, IMC4의 4가지 종류가 존재합니다.
2x2 배열 구조로 구성되며 Y가 4개오면 U와 V가 1바이트씩 위치하며 4개의 Y값이 U와 V값을 공유합니다.