YUV 색상 코딩의 작동 원리
RGB 값 계산
YUV 값을 결정하기 위해서는 먼저 센서를 판독하고 원시 데이터를 토대로 RGB 값을 판단해야 합니다.
RGB 변환
첫 번째 단계에서 알고리즘은 각 개별 픽셀에 대한 전체 RGB 값을 계산합니다. 즉, 예를 들어 픽셀이 녹색 빛에만 민감하더라도 카메라는 픽셀에 대한 전체 RGB 정보를 수신합니다. 이를 위해 인접한 빨간색과 파란색 픽셀의 정보가 보간됩니다. 물론 이 픽셀들은 실제 세계의 근사값일 뿐입니다. RGB 해석을 위한 알고리즘은 다양하며 각 알고리즘의 복잡성과 컴퓨팅 시간에 따라 근사값의 정확도가 결정됩니다.
RGB 변환의 한 가지 단점은 각 픽셀의 데이터 양이 부풀려진다는 것입니다. 일반적으로 단일 픽셀의 심도(Depth)가 8비트인 경우 변환 후에는 색상(빨간색, 녹색 및 파란색)당 심도가 8비트가 되어 총 심도는 24비트가 됩니다.
YUV 인코딩
YUV 코딩에서는 RGB 값이 검은색에서 흰색까지 아우르는 강도 구성 요소(Y)와 색상을 인코딩하는 두 가지 추가 구성 요소(U와 V)로 변환됩니다.
YUV 4:4:4 스캔
RGB에서 YUV로의 변환은 선형적으로 정보 손실 없이 이루어지며 카메라와 같은 특정 하드웨어에 영향을 받지 않습니다. RGB에서 YUV로 변환하기 위한 표준 방정식은 다음과 같습니다.
Y = 0.299 R + 0.587 G + 0.114 B
u = 0.493 * (b - y)
v = 0.877 * (r - y)
실제 방정식의 계수는 특정 카메라에서 사용되는 센서의 특징으로 인해 조금 달라질 수 있습니다. 카메라에 대한 구체적인 정보는 설명서에서 확인할 수 있습니다.
이러한 유형의 변환을 YUV 4:4:4 스캔이라고도 합니다. YUV 4:4:4에서 각 픽셀은 밝기 및 색상 정보를 수신하고 "4:4:4"는 신호에서 Y, U 및 V 구성 요소의 비율을 나타냅니다.
YUV 4:2:2 스캔
픽셀당 전송되는 평균 데이터 양을 24비트에서 16비트로 줄이기 위해, 픽셀 2개당 하나의 픽셀에 대한 색상 정보만 기록하는 것이 더 일반적입니다. 이러한 유형의 스캔은 YUV 4:2:2 스캔이라고도 합니다. 사람의 눈은 색상보다 강도에 훨씬 더 민감하기 때문에 이러한 감소를 거의 인식하지 못하지만, 실제로 변환은 정보 손실에 해당합니다. Basler 컬러 카메라의 디지털 YUV 4:2:2 출력에서는 심도(depth)가 픽셀당 24비트와 픽셀당 8비트(픽셀당 평균 비트 심도 16비트)로 교대로 나타납니다.
Basler 컬러 카메라에는 이러한 RGB 변환을 위한 효과적인 통합 알고리즘이 탑재되어 있습니다. Basler의 모든 컬러 카메라에서는 각 픽셀의 원시 센서 데이터를 전달하는 출력 모드 또는 고품질 YUV 4:2:2 신호 중에서 선택할 수 있습니다. 일부 카메라는 RGB/BGR 데이터도 제공합니다.
자세히 보기
Basler 카메라에 대해 알아보고 설명서에서 해당 제품의 이미지 포맷에 대한 상세 개요를 확인하세요.