YCbCr 색 공간

YCbCr, Y’CbCr 또는 YPb / Cb Pr / Cr 은 YC B C R 또는 Y’C B C R 로도 쓰여지고 비디오 및 디지털 사진의 컬러 이미지 파이프 라인의 일부로 사용되는 색 공간 계열입니다 시스템. Y ‘는 루마 성분이고 CB 및 CR은 청색 차 및 적색 차가있는 크로마 성분이다. Y ‘(프라임과 함께)는 Y와 구별되며, 이는 광도가 감마 보정 된 RGB 원색을 기반으로 비선형 적으로 인코딩된다는 것을 의미합니다.

Y’CbCr 색상 공간은 연관된 RGB 색상 공간의 수학 좌표 변환에 의해 정의됩니다. 기본 RGB 색 공간이 절대 색 인 경우 Y’CbCr 색 공간도 절대 색 공간입니다. 반대로 RGB 공간이 잘못 정의 된 경우 Y’CbCr도 잘못 정의됩니다.

이론적 해석
음극선 관 디스플레이는 적색, 녹색 및 청색 전압 신호에 의해 구동되지만 이러한 RGB 신호는 많은 중복성을 가지고 있기 때문에 저장 및 전송의 표현으로는 효율적이지 않습니다.

YCbCr 및 Y’CbCr은 색 처리 및 지각 균일성에 대한 실질적인 근사이며, 대략 적색, 녹색 및 청색에 해당하는 원색이 지각 적으로 의미있는 정보로 처리된다. 이를 통해 후속 이미지 / 비디오 처리, 전송 및 저장이 작업을 수행하고 오류를 지각 적으로 의미있는 방식으로 도입 할 수 있습니다. Y’CbCr은 고해상도로 저장되거나 고 대역폭으로 전송 될 수있는 휘도 신호 (Y ‘)와 대역폭 감소, 서브 샘플링, 압축 또는 기타 방식으로 사용될 수있는 두 개의 색도 성분 (CB 및 CR)을 분리하는 데 사용됩니다 향상된 시스템 효율을 위해 별도로 처리됩니다.
한 가지 실용적인 예는 “흑백”에 비해 “컬러”에 할당 된 대역폭이나 해상도를 줄이는 것입니다. 왜냐하면 인간이 흑백 정보에 더 민감하기 때문입니다 (오른쪽 이미지 예제 참조). 이것을 크로마 서브 샘플링이라고합니다.

YCbCr
YCbCr은 때때로 YCC로 축약됩니다. Y’CbCr은 아날로그 구성 요소 비디오 용으로 사용되는 경우 YPbPr이라고도하며 Y’CbCr이라는 용어는 소수 또는 유선 모두 시스템에 공통으로 사용됩니다.

Y’CbCr은 종종 YUV 색상 공간과 혼동되며 일반적으로 YCbCr 및 YUV라는 용어는 서로 혼용되어 혼란을 야기합니다. 주요 차이점은 YUV가 아날로그이고 YCbCr이 디지털이라는 것입니다.

Y’CbCr 신호 (신호를 디지털 형태로 배치하기위한 스케일링 및 오프셋 이전에)는 YPbPr이라고하며, 정의 된 상수 KR, KG 및 KB를 사용하여 해당 감마 조정 RGB (적색, 녹색 및 청색) 소스로부터 생성됩니다 다음과 같이

여기서 K R , K G 및 K B 는 일반적으로 해당 RGB 공간의 정의에서 파생되며 다음을 만족해야합니다.  . (동등한 행렬 조작은 종종 “색 행렬”이라고도합니다.)

여기서 프라임 기호는 감마 보정이 사용되고 있음을 의미합니다. 따라서 R ‘, G’및 B ‘는 명목상 0에서 1까지의 범위를 가지며, 0은 최소 밝기 (예 : 색상 검정 표시 용) 및 1 최대 (예 : 흰색 색상 표시 용)입니다. 결과 루마 (Y) 값은 0에서 1까지의 공칭 범위를 가지며 채도 (PB 및 PR) 값은 공칭 범위 -0.5에서 +0.5까지입니다. 역변환 과정은 상기 방정식을 반전시킴으로써 쉽게 유도 될 수있다.
디지털 형식으로 신호를 나타낼 때 결과는 크기가 조정되고 반올림되며 일반적으로 오프셋이 추가됩니다. 예를 들어, 스펙 당 Y ‘구성 요소 (예 : MPEG-2)에 적용된 크기 조정 및 오프셋은 8 비트 표현을 사용할 때 검은 색 값 16 및 흰색 값 235를 가져옵니다. 이 표준은 CB 및 CR의 8 비트 디지털 버전을 16에서 240의 다른 범위로 조정합니다.
결과적으로, YCbCr 공간에서 컬러 매트릭스 또는 처리를 수행 할 때 분수 (235-16) / (240-16) = 219/224로 재분석해야하기 때문에 높은 비트 심도를 사용하여 후속 처리가 수행되지 않을 때 양자화 왜곡이 발생합니다.

입력 데이터의 공칭 범위를 표현하는 데 바람직한 것으로 보이는 것보다 더 작은 범위의 디지털 값을 사용하는 스케일링은 바람직하지 않은 클리핑을 필요로하지 않고 처리 중에 일부 “오버 슈트”및 “언더 슈트”를 허용합니다. 이 “head-room”과 “toe-room”은 xvYCC에 지정된 공칭 색상 영역의 확장을 위해 사용될 수도 있습니다.
235 값은 255-235 = 20 또는 20 / (235-16) = 9.1 %의 최대 검정 / 흰색 오버 슛을 수용하며 이는 이론적 인 최대 오버 슛 (Gibbs ‘현상)의 약 8.9 %보다 약간 큽니다 최대 단계. 토우 룸은 작아서 16/219 = 7.3 %의 오버 슛 만 허용되어 이론적 인 최대 오버 슈트 인 8.9 %보다 적습니다.

YCbCr을 정의하는 방정식은 공칭 RGB 색상 큐브 전체를 회전시키고 (더 큰) YCbCr 색상 큐브에 맞도록 크기가 조정되므로 YCbCr 색상 큐브 내에 해당 RGB 도메인으로 표현할 수없는 점이 있습니다 (적어도 공칭 RGB 범위 내에 있지는 않음). 이로 인해 일부 YCbCr 신호를 정확하게 해석하고 표시하는 방법을 결정하는 데 약간의 어려움이 있습니다. 이러한 범위를 벗어나는 YCbCr 값은 xvYCC에서 BT.709 영역 외부의 색을 인코딩하는 데 사용됩니다.

RGB에서 YCbCr 로의 변환
ITU-R BT.601 변환

디지털 컴포넌트 비디오와 함께 사용하기 위해 ITU-R BT.601 (이전 CCIR 601) 표준에서 표준 화질 텔레비전 용도로 정의 된 Y’CbCr의 형식은 다음과 같이 해당 RGB 공간에서 파생됩니다.

위의 상수 및 공식으로부터 ITU-R BT.601에 대해 다음을 유도 할 수 있습니다.

아날로그 R’G’B ‘로부터의 아날로그 YPbPr은 다음과 같이 유도된다 :

디지털 Y’CbCr (샘플 당 8 비트)은 다음과 같이 아날로그 R’G’B ‘에서 파생됩니다.

또는 단순히 컴포넌트 적으로


결과 신호는 Y ‘(Cb 및 Cr 범위는 16 ~ 240)에 대해 16 ~ 235 범위이며, 0에서 15까지의 값을 풋룸이라고하며, 236에서 255까지의 값을 헤드 룸이라고합니다.

대안으로, 디지털 Y’CbCr은 다음 방정식에 따라 디지털 R’dG’dB’d (샘플 당 8 비트, 검정은 0을 나타내는 전체 범위를 사용하고 255는 흰색을 나타냄)에서 파생 될 수 있습니다.

위의 수식에서 배율 인수는  . 이것은 분모에 256 값을 허용하며, 단일 비트 시프트로 계산할 수 있습니다.
R’d G’d B’d 디지털 소스가 풋 룸 및 헤드 룸을 포함하면, 풋 룸 오프셋 (16)은 각 신호로부터 먼저 감산되어야하고, 스케일 팩터는  방정식에 포함될 필요가있다.

역변환은 다음과 같습니다.

반올림하지 않고 역변환 (ITU-R BT.601 권장에서 직접 오는 값을 사용)은 다음과 같습니다.

이 형태의 Y’CbCr은 구형 CRT의 형광체 방출 특성에 맞는 RGB 모델을 사용하기 때문에 구형 표준 화질 텔레비전 시스템에 주로 사용됩니다.
ITU-R BT.709 변환

다른 형식의 Y’CbCr은 ITU-R BT.709 표준에 명시되어 있으며 주로 HDTV 용도로 사용됩니다. 더 새로운 형식은 일부 컴퓨터 디스플레이 지향 응용 프로그램에서도 사용됩니다. 이 경우, Kb 및 Kr의 값은 다르지만, 이들을 사용하기위한 공식은 동일하다. ITU-R BT.709의 상수는 다음과 같습니다.

이 형태의 Y’CbCr은 최신 CRT 및 기타 현대적인 디스플레이 장비의 인광체 방출 특성에 더 밀접하게 부합하는 RGB 모델을 기반으로합니다.
R ‘, G’및 B ‘신호의 정의도 BT.709와 BT.601에서 다르며 사용중인 TV 시스템의 유형에 따라 BT.601 내에서 다릅니다 (PAL 및 SECAM의 경우 625 라인 또는 525 라인 NTSC에서와 같이), 그리고 다른 사양에서 더 다릅니다. 상이한 디자인에서, R, G 및 B 색도 좌표의 정의, 기준 백색 점, 지원 된 색 영역, R로부터 R ‘, G’및 B ‘를 유도하기위한 정확한 감마 보정 기능, G와 B, 그리고 R’G’B ‘에서 Y’CbCr로 변환하는 동안 적용될 스케일링과 오프셋에 적용됩니다. 따라서 Y’CbCr을 한 형태에서 다른 형태로 적절히 변환하는 것은 단지 하나의 기질을 반전시키고 다른 기질을 적용하는 문제가 아닙니다. 실제로, Y’CbCr이 이상적으로 설계 될 때, KB 및 KR의 값은 RGB 컬러 1 차 신호의 정확한 스펙으로부터 유도되므로, 휘도 (Y ‘) 신호는 감마 조정 된 측정치에 가능한 한 가깝게 대응한다 (전형적으로 색 자극에 대한 인간 시각 시스템의 응답의 CIE 1931 측정치에 기초 함).

ITU-R BT.2020 변환
ITU-R BT.2020 표준은 감마 보정 된 Y’CbCr과 YcCbcCrc라고하는 YCbCr의 선형 인 코드 버전을 정의합니다. 최우선 순위가 휘도 정보를 가장 정확하게 유지하는 경우 YcCbcCrc를 사용할 수 있습니다.YcCbcCrc의 경우 계수는 다음과 같습니다.

JPEG 변환
JPEG의 JFIF 사용은 Y’CbCr을 지원하며 여기서 Y ‘, CB 및 CR은 [0 … 255]의 전체 8 비트 범위를 갖습니다. 다음은 정밀도의 10 진수 6 자리로 표시된 변환 수식입니다. (이상적인 방정식은 ITU-T T.871 참조) 다음 공식에 따르면 각 입력 (R, G, B)의 범위는 [0 … 255]의 전체 8 비트 범위이기도합니다.

그리고 뒤로 :

Y = 0.5에서의 CbCr 평면

Y = 0.5

참고 : Y = 0 인 경우 R, G 및 B가 모두 0이어야하므로 Cb 및 Cr은 0 일 수 있습니다. 마찬가지로 Y = 1 인 경우 R, G 및 B는 모두 1이어야하므로 Cb 및 Cr은 0 일 수 있습니다.
R, G 및 B와 달리 Y, Cb 및 Cr 값은 독립적이지 않습니다. YCbCr 값을 임의로 선택하면 색상 범위를 벗어난 하나 이상의 RGB 값, 즉 1.0보다 크거나 0.0보다 작은 RGB 값으로 이어질 수 있습니다.