YUV

 

[image]
Y가 0.5일 때의 색 평면
1. 개요
2. 탄생 배경
3. 현재의 쓰임
4. 명칭 혼용
5. 크로마 서브샘플링
6. 변환 공식
6.1. RGB를 YUV로 바꿀 때
6.2. YUV를 RGB로 바꿀 때
7. YUV, YIQ YCbCr, YPbPr이 쓰이는 곳
8. 관련 항목

[clearfix]

1. 개요


YUV(YIQ/YCbCr/YPbPr)는 색을 구성하는 방법 중 하나로 휘도(Y)와 청색 색차(U), 적색 색차(V) 정보로 색을 구성한다. 여기서 Y 신호만 받는다면 흑백이 된다. 여러 번 복제한 VHS 테이프나 방송 상태가 좋지 못한 채널에서 흑백으로 보이는 것도 이것 때문이다. Lab과 마찬가지로 인간이 색을 인식하는 방식으로 구성되었다.
휘도(Luminance)는 사전적 의미로는 특정 광원의 단위 면적당 밝기의 정도를 뜻하며, 과학적인 근거를 생각하지 않는다면 밝기라고 대략 이해해도 상관은 없다.
색차(Chrominance, Chroma)는 각 RGB 삼색 정보와 휘도 정보(Y)와의 차이 값이다. 녹색 색차는 신호 진폭이 작기 때문에 송출 중 여러 잡음에게 위협될 수 있고 휘도 정보에서 두 가지 색차 정보로부터 얻을 수 있어 사용하지 않는다.

2. 탄생 배경


컬러 텔레비전이 나왔을 때는 대부분의 사람들은 흑백 TV를 가지고 있었다. 문제는 RGB+Y로 하면 컬러 영상을 흑백 TV로 보내기 어려우며, 기존의 송출 인프라를 뜯어 고치는 것은 너무 부담스러웠다. 그래서 나온 것이 기존의 흑백 신호에 색차 신호를 추가한 YUV이다. 컬러 TV는 YUV을 모두 받고 컬러 화면을 표시하며, 흑백 TV는 Y 신호만 받고 흑백 화면을 표시한다.

3. 현재의 쓰임


더 이상 흑백TV가 쓰이지 않는 지금에도 YUV 방식은 여전히 사용중이다. 영상이나 사진 등의 압축(손실 압축 포맷)에 유용하기 때문이다.
사람의 시세포에는 명암을 보는 시세포와 색을 보는 시세포가 나뉘어 있다. 전체적인 이미지를 인지하는 것은 명암과 관계가 깊기 때문에, 사람의 눈은 색은 살짝 바래도 명암만 제대로 맞춰주면 원본과 큰 차이를 느끼지 못한다. 게다가 배경이나 발광체가 아닌 일반 피사체(얼굴)는 픽셀마다 색이 급격하게 변하는 일은 뜸하기 때문에 손실대비 압축 효과가 뛰어나게 된다.
특히 영상에서는 색을 원본대로 표현하지 못하는 것보다 버퍼링으로 멈추는 것이 더 치명적이기 때문에 용량 및 처리량을 줄이는 것을 선호한다. 지나간 장면을 다시 돌아보지 않기에 색을 대충 칠해도 별로 표시가 나지 않아서 그렇다.
HDMI는 TV(YUV, 움직이는 화면[1]), DVI는 PC(RGB, 문서 등 정적인 화면)에 최적화 되어 있다는 얘기도 이 압축 전송과 관련이 깊다.

4. 명칭 혼용


YUV 뿐만 아니라 YIQ, YCbCr, YPbPr, YDbDr, Y'UV 등 비슷해 보이는 단어들이 산재해 있는데, 디지털이냐 아날로그냐 아날로그에선 NTSCPAL이냐 등에서 다루는 차이지 원리와 개념은 똑같다.
오늘날 우리가 영상을 시청하면서 가장 많이 접하게 될 녀석은 YCbCr이다. CbCr은 각각 Chrominance blue, Chrominance red의 약어로, 아날로그에서 U, V로 불렀던 색차 이름을 그대로 사용하는 게 특징이다.
휘도 신호(Y)에 구두점(′)이 붙은 것은 감마 보정 된 신호라는 뜻이며 오늘날 대부분의 영상물은 감마 보정이 된 상태이기에 Y'UV 혹은 Y'CbCr로 쓰는 것이 맞아 보이나, 국내외 할 것 없이 YUV라는 용어가 계속 쓰는 이유는 상기했듯이 원리는 같고 YUV가 처음 나와 정의되었기에 해당 개념의 대명사 취급되어 사용 중이다.

5. 크로마 서브샘플링


크로마 서브샘플링(Chroma Subsampling)을 단어대로 해석한다면 색차를 덜 표본화(sampling)한다는 뜻으로 영상에서 픽셀 개수의 표본화 결과인 해상도를 줄이는 손실 압축 인코딩이다. 여기서 해상도 낮추는 건 오로지 색차 정보를 가진 픽셀들이며 휘도 해상도는 그대로이다. 수치 표현 시 Y:U:V 따위로 활용되고 알파 채널까지 포함할 때 Y:U:V:α 같이 쓴다.
4:4:4, 4:2:2, 4:1:1, 4:2:0의 방식이 있다. 이 중 4:2:2, 4:1:1, 4:2:0은 상대적으로 둔감한 색차 신호를 줄여서 압축한다. 4:4:4는 색차 신호가 줄어들지 않았으므로 왜곡 없이 화질이 좋지만 용량이 크다. 4:1:1과 4:2:0은 용량이 가장 적지만 왜곡이 심하다. 영상 코덱에서 이름 뒤에 '4444', '422' 같은 의문의 숫자가 붙어 있으면 대부분은 바로 이 크로마 서브샘플링을 나타내는 것이다. 대중에게 가장 널리 사용 중인 방식은 4:2:0으로 H.264 등 다양한 코덱에서 지원한다.

4:4:4
4:2:2
4:1:1
4:2:0
Y(밝기)
































UV(색차 신호)
















YUV

































6. 변환 공식



6.1. RGB를 YUV로 바꿀 때


RGB를 YUV로 변환하는 공식은 다음과 같다.
$$\displaystyle{Y = (0.257×R)+(0.504×G)+(0.098×B)+16}$$
$$\displaystyle{U = -(0.148×R)-(0.291×G)+(0.439×B)+128}$$
$$\displaystyle{V = (0.439×R)-(0.368×G)-(0.071×B)+128}$$

6.2. YUV를 RGB로 바꿀 때


YUV를 RGB로 변환하는 공식은 다음과 같다.
$$\displaystyle{R = 1.164(Y-16)+1.596(V-128)}$$
$$\displaystyle{G = 1.164(Y-16)-0.813(V-128)-0.391(U-128)}$$
$$\displaystyle{B = 1.164(Y-16)+2.018(U-128)}$$

7. YUV, YIQ YCbCr, YPbPr이 쓰이는 곳



8. 관련 항목



[1] 다만, HDMI는 RGB도 지원한다.