2023. 2. 2. 13:45ㆍMultimedia
- 목차
YUV ?
Y는 휘도, U는 blue, V는 red 색상을 표현합니다.
YUV 를 여러가지 서로 다른 이름으로 부릅니다.
- Analog 방식
- YPbPr
- 수식적으로는 YCbCr과 동일
- Digital 방식
- YCbCr
- DTV 방식
- ITU-R BT.601(470) for SDTV
- ITU-R BT.709 for HDTV
- ITU-R BT.2020 for UHDTV
709CSC, 709HDTV와 같이 표현되기도 하며, CSC는 color space conversion된 것을 의미하며, HDTV는 HDTV용을 의미합니다.
이를 예전 analog 시절에는 YPbPr로, 디지털로 전환된 이후에는 YCbCr(YCC)로 표현합니다.
YCbCr은 RGB로 생성함 (RGB를 encoding 하는 방식 중 하나임)
Cb와 Cr은 색차이며, 이는 다음과 같습니다.
- B - Y는 Cb (U)
- R - Y는 Cr (V)
Y ?
Y는 linear 한 휘도 값이 아닙니다. gamma compressioni이 된 상태의 값을 저장합니다.
인간은 밝은 부분보다 어두운 부분의 변화에 더 민감하게 반응하기에 비선형적인 밝기 정보를 사용해야 합니다.
본래의 휘도를 모두 제대로 저장하려면 10 비트 이상이 필요합니다. 이를 보다 적은 비트에 저장하되 밝은 영역이 너무 튀지 않게 즉, 사람의 눈에 정상적으로 보일 수 있도록 저장하려면 gamma correction을 적용하여 저장합니다.
어떠한 gamma correction curve를 사용할지는 각 표준에 따라 다릅니다.
sampling
- YUV444
- YCbCr을 각각 1:1:1로 sampling
- YUV422
- YCbCr을 각각 1:2:2로 sampling
- YUV420
- YCbCr을 각각 1:4:4로 sampling
YCbCr의 표준들
디지털 텔레비전 표준에서 다음과 같은 표준들을 정의하고 있습니다.
ITU-R BT.601 (CCIR 601)
- 여기서 YCbCr을 정의
- Kr=0.299, Kg = 0.587, Kb=0.114 계수를 사용하여 변환
ITU-R BT.709 표준
- Kr=0.2126, Kb=0.0722 사용
ITU-R BT.2020 표준
- Kr=0.2627, Kb=0.0593 계수를 사용
- gamma correction에 위 계수를 사용
analog vs. digital
YCbCr의 3가지 방송 표준 (601, 709, 2020)은 모두 아날로그와 디지털 두 가지를 지원합니다.
아날로그와 디지털은 각각 서로 다른 변환 계수를 사용합니다.
SDTV, HDTV
TV의 경우 전송 시 발생하는 noise에 의한 overflow 및 underflow를 방지하기 위해 마진을 둡니다.
그래서 16에서 235 사이의 값으로 전송합니다.
이를 709 HDTV 등으로 표현된 경우에 적용합니다.
CSC
Computer Systems Considerations
디지털로만 처리되기에 0에서 255 사이의 모든 값을 사용합니다.
ITU-R BT.601
Analog
YPbPr (ITU-R BT.601)
========================================================
Y' = + 0.299 * R' + 0.587 * G' + 0.114 * B'
Pb = - 0.168736 * R' - 0.331264 * G' + 0.5 * B'
Pr = + 0.5 * R' - 0.418688 * G' - 0.081312 * B'
........................................................
R', G', B' in [0; 1]
Y' in [0; 1]
Pb in [-0.5; 0.5]
Pr in [-0.5; 0.5]
Digital
YCbCr (601) from R'G'B'
========================================================
Y' = 16 + 65.481 * R' + 128.553 * G' + 24.966 * B'
Cb = 128 - 37.797 * R' - 74.203 * G' + 112.0 * B'
Cr = 128 + 112.0 * R' - 93.786 * G' - 18.214 * B'
........................................................
R', G', B' in [0; 1]
Y' in {16, 17, ..., 235}
with footroom in {1, 2, ..., 15}
headroom in {236, 237, ..., 254}
sync. in {0, 255}
Cb, Cr in {16, 17, ..., 240}
BT.709 등의 수식은 https://en.wikipedia.org/wiki/YCbCr을 참고
DTV에 YCbCr 도입 이유
압축률이 높음
- 인가은 색차보다 밝기에 민감 (현재는 색차도 많이 민감하다고 함)
- 흑백과 컬러 TV를 동시에 지원하기 좋음 (plannar type)
정리
- YUV는 RGB를 encoding 하는 방식임
- YUV는 digital의 경우 YCbCr로 표현
- TV 방송에 따른 다음의 3가지 표준이 존재
- BT.609 (SDTV), BT.709 (HDTV), BT.2020 (UHDTV)
- 위 표준들은 TV(즉, analog)와 digital(CSC)에 따라 서로 다른 encoding 계수(수식 내 계수)를 사용
- TV의 경우 16 ~ 235를 사용 (noise 대비)
- CSC의 경우 0 ~ 255를 사용
'Multimedia' 카테고리의 다른 글
color (0) | 2023.07.24 |
---|---|
ICC Profile (0) | 2023.07.18 |
SVC vs. Streaming protocol (0) | 2023.01.19 |
SVC vs. Simulcast (0) | 2023.01.19 |
H.264 SVC (Scalable Video Coding) (0) | 2023.01.19 |