본문 바로가기

My Study/Hardware, Firmware

YUV Color Space

반응형

YUV Color Space

디지털 비디오 스트림 전송 포멧이다.

영상에서 어둡고 밝은지 정도를 나타내는 성분인 Y( 휘도: Luminance ), 색상 정보를 가지는 U,V 성분(색차:chrominance)으로 구성되어 있습니다.

RGB영상에서 YUV 영상으로 변환되는 원리는 간단합니다..

우선 Y값은 R,G,B에 각각 가중치를 부여하여 더한 값으로 결정됩니다.

( Y = k1*R + k2*G + k3+B ) ( Y는 흑백화면을 생각하면 이해하기 쉽다)

각각의 R,G,B성분들에서 Y를 빼서 색상정보가 얻어집니다.

U = B - Y ( 파란색 색차 성분) (Cb)

V = R - Y ( 빨간색 색차 성분) (Cr)

여기서 뭔가 이상한 점이 있지 않나요?

Green값이 안보입니다. 이것은 다른 색상정보인 U,V를 사용하면 얻을수 있기 때문입니다.

그럼 Y 에는 많은 비트를 할당해서 세분화 시키고 U, V에는 색깔 갯수를 줄이나요?

라고 생각 하신분은 정말 똑똑하지만 반 맞고 반 틀렸습니다...

그렇게 색깔의 단계를 조절한건 아니고

색상 정보를 저장하는 픽셀의 갯수를 조절 합니다.

대표적으로 밑에 4가지 종류가 있습니다.

YUV 4:4:4

YUV 4:2:2

YUV 4:1:1

YUV 4:2:0

4:2:2 는 가로로 두개의 Y신호에 공통된 U,V 색차신호를 가집니다

4:1:1 은 가로 네개의 Y에 U,V 가 공통되고

4:2:0은 2x2 칸을 공통으로 가지는거 보이시죠? (채도 부분만 해상도가 떨어진다고 생각하시면 쉬울지도)

4:4:4 의 경우 y에8 u에8 v에8 8+8+8=24bit 고

4:2:2 역시 y8 u8 v8 이지만 u와 v가 갯수가 반으로 줄었으니 8+4+4=16bit 입니다

4:2:0 은 12bit 쉽죠?

( 어렵게 느껴진다면 Y는 무조건 8bit이며 Y가 가지는 UV가 공유되는 갯 수에 따라 8bit에서 나누어 주면됩니다.

예를들면 4:2:0 에서 4칸의 Y가 U,V를 1개씩 가지는데 Y를 8bit라고 보면 U는 8/4=2, V도 8/4=2 bit가 되는것)

비트수는 절반으로 줄었지만

화질차이는 1픽셀짜리 날카로운 선들이 색상별로 막 엉켜있는 인위적인 영상만 아니면 거의 같습니다

yuv가 더 효율적이고 좋아 보이시나요?

- 비디오계 에서 YUV 4:2:2 무압축은 화질 열화가 없는 무손상으로 정의합니다.

(그만큼 화질차이가 잘 안보입니다)

- 엄밀하게 말하자면 u의 파란색성분 v의 빨간색성분 이라고 말할때 파란색 빨간색은

RGB의 블루 레드 도 아니고 CMYK의 사이안 마젠타도 아닙니다 포토샵에 나오는 Lab 와도 개념이 흡사하지만 역시 색깔은 다르다고 합니다.

- 제가 설명할때도 YUV라고 설명 했지만 인코딩에서 YUV는 사실은 잘못된 용어이고 YCbCr 가 맞습니다 하지만 대부분 인코딩 프로그램에선 YUV로 나오니 헷갈리지 마세요.

 


 

YUV 12비트까지 쭉 배웠지만

실제 YV12 동영상은 RGB888 동영상에 절반 용량일까요???

전혀 아닙니다

워낙 코덱들이 좋아서 인코딩 하게되면 용량차이는 간에 기별도 안갑니다...

지금 YV12와 RGB는 그저 무압축때 이동되는 자료량의 대역폭을 줄여주는 역할밖에 없습니다

컴퓨터 좋은 지금 시대엔 쓸데 없다는거죠

인코딩에선 특히나 더 몰라도됩니다

그럼 왜 굳이 YUV 라는걸 사용하게 됬을까요??

우리 눈이 받아들이는 빛의 3원색은 RGB인데 RGB로 표시해야 훨씬더 정확할꺼같지 않나요?

거기다 요즘 흔히 쓰이는 LCD모니터들의 발광 방식도 RGB광원인데도 말이죠???

이 이야기는 사실 19xx년대 티비라는 매체가 과연 대중화 될수있을까를 논하던 시대까지 거슬러 올라갑니다...

그때 당시에는 티비들이 흑백 티비고 흑백방송을 했기 때문에 방송때 흰색과 검은색 화면

YUV 의 Y신호처럼 보냈었습니다

그리고 또 시간이 흘러 칼라 텔레비전들이 나오기 시작 했는데요

방송국에서 어떻게 신호를 보내서 방송해야

흑백 티비도 잘 나오고 칼라 티비도 잘 나올수 있을까요?... 쉽죠?

그래서 덜컥 쭉 여기까지 와버린게 YUV입니다...

흑백 티비는 Y만 받아 표시하고 UV는 버리고

칼라 티비는 YUV를 모두 사용하면 되니까

 

반응형

'My Study > Hardware, Firmware' 카테고리의 다른 글

LVDS(Low voltage differential signaling) 란?  (0) 2021.01.03
ITU-R BT.656 or ITU 656  (0) 2021.01.03
RGB888  (0) 2021.01.03
PFC(Power Factor Correction)와 역률이란 무엇인가?  (0) 2020.12.30
VISIO 사용 방법 및 단축키  (0) 2020.11.09