YCbCr, Y′CbCr, or Y Pb/Cb Pr/Cr, also written as YCBCR or Y'CBCR, is a family of color spaces used as a part of the color image pipeline in video and digital photography systems. Y′ is the luma component and CB and CR are the blue-difference and red-difference chroma components. Y′ (with prime) is distinguished from Y, which is luminance, meaning that light intensity is nonlinearly encoded based on gamma corrected RGB primaries.
YCBCR 또는 Y'CBCR로도 쓰여진 YCbCr, Y'CbCr 또는 Y Pb / Cb Pr / Cr은 비디오 및 디지털 사진 시스템에서 컬러 이미지 파이프 라인의 일부로 사용되는 색 공간 계열입니다. Y '는 휘도 성분이고 CB 및 CR은 청색 및 적색 차 성분의 색차 성분이다. Y '(프라임과 함께)는 Y와 구별되며, 이는 광도가 감마 보정 된 RGB 원색을 기반으로 비선형 적으로 인코딩된다는 것을 의미합니다.
Y′CbCr color spaces are defined by a mathematical coordinate transformation from an associated RGB color space. If the underlying RGB color space is absolute, the Y′CbCr color space is an absolute color space as well; conversely, if the RGB space is ill-defined, so is Y′CbCr.
Y'CbCr 색상 공간은 연관된 RGB 색상 공간의 수학 좌표 변환에 의해 정의됩니다. 기본 RGB 색상 공간이 절대적인 경우 Y'CbCr 색상 공간은 절대 색상 공간이기도합니다. 반대로 RGB 공간이 잘못 정의 된 경우 Y'CbCr도 잘못 정의됩니다.
Rationale
Cathode ray tube displays are driven by red, green, and blue voltage signals, but these RGB signals are not efficient as a representation for storage and transmission, since they have a lot of redundancy.
YCbCr and Y′CbCr are a practical approximation to color processing and perceptual uniformity, where the primary colors corresponding roughly to red, green and blue are processed into perceptually meaningful information. By doing this, subsequent image/video processing, transmission and storage can do operations and introduce errors in perceptually meaningful ways. Y′CbCr is used to separate out a luma signal (Y′) that can be stored with high resolution or transmitted at high bandwidth, and two chroma components (CB and CR) that can be bandwidth-reduced, subsampled, compressed, or otherwise treated separately for improved system efficiency.
One practical example would be decreasing the bandwidth or resolution allocated to "color" compared to "black and white", since humans are more sensitive to the black-and-white information (see image example to the right). This is called chroma subsampling.
음극선 관 디스플레이는 적색, 녹색 및 청색 전압 신호에 의해 구동되지만 이러한 RGB 신호는 많은 중복성을 가지고 있기 때문에 저장 및 전송의 표현으로는 효율적이지 않습니다.
YCbCr 및 Y'CbCr은 색상 처리 및 지각 균일성에 대한 실질적인 근사치이며, 대략적으로 적색, 녹색 및 청색에 대응하는 원색이 지각 적으로 의미있는 정보로 처리된다. 이렇게하면 후속 이미지 / 비디오 처리, 전송 및 저장이 작업을 수행하고 오류를 지각 적으로 의미있는 방식으로 도입 할 수 있습니다. Y'CbCr은 고해상도로 저장되거나 고 대역폭으로 전송 될 수있는 휘도 신호 (Y ')와 대역폭 감소, 서브 샘플링, 압축 또는 기타 두 가지 색도 요소 (CB 및 CR)를 분리하는 데 사용됩니다 향상된 시스템 효율성을 위해 별도로 처리됩니다.
한 가지 실용적인 예는 "흑백"에 비해 "컬러"에 할당 된 대역폭 또는 해상도를 줄이는 것입니다. 왜냐하면 인간은 흑백 정보에 더 민감하기 때문입니다 (오른쪽 이미지 예제 참조). 이것을 크로마 서브 샘플링이라고합니다.
YCbCr
YCbCr is sometimes abbreviated to YCC. Y′CbCr is often called YPbPr when used for analog component video, although the term Y′CbCr is commonly used for both systems, with or without the prime.
Y′CbCr is often confused with the YUV color space, and typically the terms YCbCr and YUV are used interchangeably, leading to some confusion. The main difference is that YUV is analog and YCbCr is digital.
Y′CbCr signals (prior to scaling and offsets to place the signals into digital form) are called YPbPr, and are created from the corresponding gamma-adjusted RGB (red, green and blue) source using three defined constants KR, KG, and KB as follows:
YCbCr은 때때로 YCC로 축약됩니다. Y'CbCr은 아날로그 구성 요소 비디오 용으로 사용되는 경우 YPbPr이라고도하며, Y'CbCr이라는 용어는 소수 또는 유선 모두 시스템에 공통으로 사용됩니다.
Y'CbCr은 종종 YUV 색 공간과 혼동되며 일반적으로 YCbCr 및 YUV라는 용어는 서로 혼용되어 혼란을 야기합니다. 주요 차이점은 YUV가 아날로그이고 YCbCr이 디지털이라는 것입니다.
Y'CbCr 신호 (신호를 디지털 형식으로 변환하기위한 스케일링 및 오프셋 이전)는 YPbPr이라고하며, 정의 된 상수 KR, KG 및 KB를 사용하여 해당 감마 조정 RGB (적색, 녹색 및 청색) 소스로부터 생성됩니다 다음과 같이
where KR, KG, and KB are ordinarily derived from the definition of the corresponding RGB space, and required to satisfy {\displaystyle K_{R}+K_{G}+K_{B}=1} {\displaystyle K_{R}+K_{G}+K_{B}=1}. (The equivalent matrix manipulation is often referred to as the "color matrix".)
Here, the prime ′ symbols mean gamma correction is being used; thus R′, G′ and B′ nominally range from 0 to 1, with 0 representing the minimum intensity (e.g., for display of the color black) and 1 the maximum (e.g., for display of the color white). The resulting luma (Y) value will then have a nominal range from 0 to 1, and the chroma (PB and PR) values will have a nominal range from -0.5 to +0.5. The reverse conversion process can be readily derived by inverting the above equations.
When representing the signals in digital form, the results are scaled and rounded, and offsets are typically added. For example, the scaling and offset applied to the Y′ component per specification (e.g. MPEG-2[1]) results in the value of 16 for black and the value of 235 for white when using an 8-bit representation. The standard has 8-bit digitized versions of CB and CR scaled to a different range of 16 to 240. Consequently, rescaling by the fraction (235-16)/(240-16) = 219/224 is sometimes required when doing color matrixing or processing in YCbCr space, resulting in quantization distortions when the subsequent processing is not performed using higher bit depths.
The scaling that results in the use of a smaller range of digital values than what might appear to be desirable for representation of the nominal range of the input data allows for some "overshoot" and "undershoot" during processing without necessitating undesirable clipping. This "head-room" and "toe-room" can also be used for extension of the nominal color gamut, as specified by xvYCC.
The value 235 accommodates a maximum black-to-white overshoot of 255 - 235 = 20, or 20 / ( 235 - 16 ) = 9.1%, which is slightly larger than the theoretical maximum overshoot (Gibbs' Phenomenon) of about 8.9% of the maximum step. The toe-room is smaller, allowing only 16 / 219 = 7.3% overshoot, which is less than the theoretical maximum overshoot of 8.9%.
Since the equations defining YCbCr are formed in a way that rotates the entire nominal RGB color cube and scales it to fit within a (larger) YCbCr color cube, there are some points within the YCbCr color cube that cannot be represented in the corresponding RGB domain (at least not within the nominal RGB range). This causes some difficulty in determining how to correctly interpret and display some YCbCr signals. These out-of-range YCbCr values are used by xvYCC to encode colors outside the BT.709 gamut.
여기서, KR, KG 및 KB는 통상적으로 대응하는 RGB 공간의 정의로부터 유도되고, {\ displaystyle K_ {R} + K_ {G} + K_ {B} = 1} + K_ {G} + K_ {B} = 1}이다. (동등한 행렬 조작은 종종 "색 행렬"이라고도합니다.)
여기에서 프라임 기호는 감마 보정이 사용되고 있음을 의미합니다. 따라서, R ', G'및 B '는 명목상 0 내지 1의 범위를 가지며, 0은 (예를 들어, 컬러 블랙의 디스플레이를위한) 최소 강도를 나타내고, 1은 (예를 들어, 컬러 화이트의 디스플레이를위한) 최대 강도를 나타낸다. 결과 루마 (Y) 값은 0에서 1까지의 공칭 범위를 가지며 채도 (PB 및 PR) 값은 공칭 범위 -0.5에서 +0.5까지입니다. 역변환 과정은 상기 방정식을 반전시킴으로써 쉽게 유도 될 수있다.
디지털 형식으로 신호를 나타낼 때 결과는 크기가 조정되고 반올림되며 일반적으로 오프셋이 추가됩니다. 예를 들어, 스펙 당 Y '컴포넌트에 적용된 스케일링 및 오프셋 (예 : MPEG-2 [1])은 8 비트 표현을 사용할 때 검정에 대해 16의 값을, 흰색에 대해 235의 값을 산출합니다. 표준에는 CB 및 CR의 8 비트 디지털화 된 버전이 16에서 240의 다른 범위로 조정됩니다. 따라서 색상 매트릭스를 수행 할 때 분수 (235-16) / (240-16) = 219/224로 재분석 할 때가 있습니다 또는 YCbCr 공간에서 처리함으로써, 후속 처리가 더 높은 비트 깊이를 사용하여 수행되지 않을 때 양자화 왜곡을 초래할 수있다.
입력 데이터의 공칭 범위를 나타내는 데 바람직한 것으로 보이는 것보다 작은 범위의 디지털 값을 사용하는 스케일링은 바람직하지 않은 클리핑을 필요로하지 않고 처리 중에 일부 "오버 슈트"및 "언더 슈트"를 허용합니다. 이 "head-room"및 "toe-room"은 xvYCC에 지정된 공칭 색상 영역의 확장에도 사용될 수 있습니다.
235 값은 255-235 = 20 또는 20 / (235-16) = 9.1 %의 최대 검정 / 흰색 오버 슛을 수용하며 이는 이론적 인 최대 오버 슛 (Gibbs '현상)의 약 8.9 %보다 약간 큽니다 최대 단계. 토우 룸은 작아서 이론적 인 최대 오버 슈트 인 8.9 %보다 적은 16/219 = 7.3 % 오버 슛을 허용합니다.
YCbCr을 정의하는 방정식은 공칭 RGB 색상 큐브 전체를 회전하고 (더 큰) YCbCr 색상 큐브에 맞도록 크기가 조정되므로 YCbCr 색상 큐브 내에 해당 RGB 도메인으로 표현할 수없는 점이 있습니다 (적어도 공칭 RGB 범위 내에 있지는 않음). 이로 인해 일부 YCbCr 신호를 올바르게 해석하고 표시하는 방법을 결정하는 데 약간의 어려움이 있습니다. 이러한 범위를 벗어나는 YCbCr 값은 xvYCC에서 BT.709 영역 외부의 색을 인코딩하는 데 사용됩니다.
댓글 없음:
댓글 쓰기