paint-brush
RGB는 AI 및 스트리밍에 적합하지 않습니다.~에 의해@ykanavalik
385 판독값
385 판독값

RGB는 AI 및 스트리밍에 적합하지 않습니다.

~에 의해 Yauheni Kanavalik7m2025/02/09
Read on Terminal Reader

너무 오래; 읽다

*YUV*는 P2P 비디오 스트리밍이나 AI로 비디오 스트림을 처리하는 사람들에게 매우 유용할 수 있습니다. YUV는 선두를 차지하며, 지연 없이 비디오를 시청하고, 기가바이트의 데이터를 절약하고, AI를 위한 실시간 처리를 가속화할 수 있는 일련의 복잡한 트레이드오프를 후드 아래에 숨깁니다.
featured image - RGB는 AI 및 스트리밍에 적합하지 않습니다.
Yauheni Kanavalik HackerNoon profile picture
0-item
1-item
2-item

YUV 컬러 인코딩 포맷으로 수십 밤을 잠 못 이루며 작업한 후, 저는 이 놀라운 포맷에 대한 정보가 얼마나 적은지 깨달았습니다. 하지만 P2P 비디오 스트리밍이나 AI로 비디오 스트림을 처리하는 사람들에게는 엄청나게 유용할 수 있습니다.


언뜻 보기에 RGBYUV는 색상을 표현하는 방식이 다를 뿐인 것처럼 보일 수 있습니다. 하지만 이러한 구분의 바탕에는 편의성 대 효율성, 정확성 대 성능, 완벽한 인식 대 눈에 띄는 손실 없는 압축이라는 지속적인 싸움이 있습니다. RGB 가 색상 공간의 확실한 왕이라고 생각할 수도 있습니다. 결국 카메라, 화면, 대부분의 신경망이 RGB에서 작동하기 때문입니다. 하지만 비디오 스트리밍 및 인코딩의 세계에서는 YUV가 선두를 차지하며, 지연 없이 비디오를 시청하고, 기가바이트의 데이터를 절약하고, 실시간 처리를 가속화할 수 있는 일련의 복잡한 상충 관계를 후드 아래에 숨깁니다.


하지만 이 두 세계를 연결하고 싶다면 어떨까요? RGB에서 훈련된 AI 모델은 YUV에서 비디오 스트림을 어떻게 처리할까요? 코덱은 왜 RGB로 작업하는 것을 그렇게 꺼릴까요? 그리고 이 포맷 사이에서 완벽한 균형을 이루는 것이 가능할까요? 여기서 RGB와 YUV가 비디오 스트리밍과 AI 기술의 같은 링에서 만나야 하는 다른 체급의 두 권투 선수와 같은 이유를 깊이 파헤쳐 보겠습니다.

RGB와 YUV: 무엇인가요?

RGBRGBA 형식은 컴퓨터 그래픽에서 매우 간단하고 널리 사용되므로 기본 사항에 대해 너무 깊이 파고들지 않겠습니다. 간단히 말해서 컴퓨터가 이미지를 렌더링할 때 세 가지 채널, 즉 Red(R) , Green(G) , Blue(B) 로 작동합니다. 이것이 대부분의 화면이 작동하는 방식입니다.


RGBA는 투명도를 제어하는 알파(A) 라는 추가 채널을 추가하여 웹 그래픽과 디지털 디자인에 특히 유용합니다. RGB는 왜곡 없이 색상을 정확하게 표현하지만 치명적인 단점이 있습니다. 공간을 너무 많이 차지한다는 것입니다. 예를 들어, RGBA 형식(채널당 1바이트 사용)의 해상도가 1920 × 1080 인 이미지는 다음을 차지합니다. 1920×1080×4 = 8294400 bytes ≈ 8.2 MB


RBG 구조 사진 제공: Unsplash의 Michael Maasen


JPEG와 같은 압축 포맷은 파일 크기를 줄이지만, P2P 비디오 스트리밍과 클라이언트 머신에서 객체 인식, 키 포인트 감지, 세분화와 같은 AI 실시간 처리의 세계에서는 실행 가능한 옵션이 아닙니다. 압축 아티팩트를 도입하거나 중요한 세부 정보를 잃지 않고 모든 프레임을 실시간으로 전송하고 분석해야 합니다. 바로 여기서 YUV가 등장하여 품질, 효율성, 성능의 균형을 맞추는 더 스마트한 접근 방식을 제공합니다.

YUV란 무엇인가요?

색상 정보를 직접 저장하는 RGB와 달리 YUV는 이미지를 루마 (Y) 와 크로마 구성 요소 (U 및 V) 로 분리합니다. 이 접근 방식은 상당한 품질 손실 없이 효율적인 데이터 압축을 가능하게 합니다.


Y(루마, 밝기) – 픽셀의 밝기를 나타내며, 얼마나 밝거나 어둡게 보이는지 결정합니다. 기본적으로 이것은 이미지의 회색조(흑백) 버전으로, 모든 모양과 세부 사항을 보존합니다.


U 및 V(크로마, 색상) – 색상 정보를 저장하지만 인간의 눈은 색상 정확도보다 밝기를 더 예리하게 인식하기 때문에 정확도가 낮습니다. 간단히 말해서, 이러한 채널은 밝기를 다른 색상 색조로 2차원 "이동"하는 역할을 합니다.


이러한 분리는 YUV가 비디오 압축, 스트리밍, AI 기반 비디오 처리에 매우 효과적인 이유입니다.

YUV가 비디오 스트리밍에 더 좋은 이유는 무엇입니까?

YUV의 덜 분명하지만 매우 효과적인 장점 중 하나는 채널 중 하나 (Y) 가 색상을 저장하기 위한 것이 전혀 아니라는 것입니다. 대신, 그것은 정확하게 모양 객체의.

이것이 인간의 시각과 어떤 관련이 있나요?

인간의 눈은 망막에 있는 두 가지 유형의 광수용체를 사용하여 이미지를 인식합니다.


  • 막대 세포(약 1억 2천만 개) – 밝기와 대비에 민감하지만 색상을 감지할 수 없습니다. 낮은 조명에서도 모양과 세부 사항을 볼 수 있게 해줍니다.

  • 원뿔 세포(약 600만 개) – 색상 인식을 담당하지만 숫자가 20배 적습니다. 이들은 좋은 조명 조건에서만 기능하며 빨간색, 녹색, 파란색( RGB , 놀랍지 않게도)의 세 가지 유형이 있습니다.


이러한 수용체 불균형으로 인해 우리 뇌는 색상보다 모양을 우선시합니다. 밝기나 대비가 왜곡되면 즉시 알아차립니다. 그러나 약간의 색상 변화는 종종 알아차리지 못합니다.


이것이 YUV의 핵심 원리입니다

  • Y 채널(밝기)은 변경되지 않아 개체 모양이 유지되므로 눈의 막대 세포가 만족할 것입니다.
  • UV 채널(색상 정보)은 시각적으로 눈에 띄는 인공물을 만들지 않고 압축할 수 있으며, 더 적은 수의 원뿔 세포가 차이를 알아차리지 못할 것입니다.


즉, RGB 와 달리(세 채널이 모두 똑같이 중요한 경우) YUV는 인간의 지각에 따라 채널을 다르게 처리합니다. 색상 데이터 (U 및 V) 가 덜 중요하기 때문에 인지 가능한 품질을 잃지 않고 전송되는 데이터 양을 줄일 수 있습니다.


이것이 바로 크로마 서브샘플링 메커니즘이 작동하는 방식입니다. 즉, 밝기는 그대로 유지하면서 색상 정보를 선택적으로 압축하여 비디오 인코딩을 최적화하는 것입니다.

크로마 서브샘플링이 비디오 스트리밍의 세계를 구하는 방법

크로마 서브샘플링 은 이미지의 색상 데이터 양을 줄이는 기술입니다. YUV는 모든 픽셀에 색상을 저장하는 대신( RGB 처럼) 밝기(모양)를 그대로 유지하면서 색상 채널의 해상도를 낮춥니다.


크로마 서브샘플링에는 여러 가지 산업 표준이 있습니다.

  • 4:2:2 서브샘플링 – 각 픽셀 쌍은 색상 정보를 공유합니다. 눈은 차이를 거의 알아차리지 못하지만 파일 크기는 33% 줄어듭니다. 이 방법은 거의 사용되지 않습니다.

  • 4:2:0 서브샘플링 – 4개 픽셀 중 1개 픽셀에만 색상을 저장하여 최대 압축을 달성합니다.


왜 4:2:0이 주요 표준인가요?

이 포맷은 눈에 띄게 화질을 떨어뜨리지 않고 데이터 크기를 절반으로 줄입니다. 그래서 거의 모든 스트리밍 서비스와 비디오 플랫폼의 표준이 되었습니다. 예를 들어, Microsoft Teams는 품질과 대역폭 효율성 사이에서 최상의 균형을 제공하기 때문에 4:2:0 으로 비디오를 전송합니다.


이러한 설정에서 단일 색상 값은 4개 픽셀을 나타내며, 밝기(Y)가 변경되지 않으므로 인간의 눈은 확대하더라도 차이를 감지하지 못합니다.


1920×1080×1.5 = 3110400 bytes ≈ 3.1 MB 로, 이는 RGBA 에 비해 데이터 크기가 두 배 이상 줄어들며 품질은 눈에 띄게 저하되지 않습니다!


아래 이미지는 4:2:0 크로마 서브샘플링으로 최종 프레임/이미지가 어떻게 보이는지 보여줍니다. 하나의 U가 4개의 Y를 설명하는 방식에 주목하세요. 4배 메모리가 이깁니다!

4:2:0 압축의 6x4 픽셀 이미지. Yauheni Kanavalik의 이미지


YUV가 AI에 왜 그렇게 유용한가?

오늘날 세계에서 실시간 비디오 처리를 위한 AI 애플리케이션이 빠르게 확장되고 있습니다. 신경망은 감시 카메라 분석 및 스트림 품질 향상뿐만 아니라 생성 효과, 실시간 모양 수정, 객체 인식 및 동작 추적과 같은 보다 복잡한 작업에도 사용됩니다.


예를 들어, 우리는 비디오 채팅에서 사람의 얼굴에 립스틱과 아이섀도를 바르는 가상 메이크업 시스템을 개발했습니다. 가능한 한 현실적으로 말입니다. 이러한 작업에서는 모양과 움직임의 정밀성이 매우 중요하지만 색상 정보는 부차적입니다. 또한 회색조 이미지를 이해하도록 모델을 훈련하여 성능을 높일 수 있으며, 동시에 YUV 4:2:0을 입력으로 사용하면 GPU에서 회색조 이미지를 얻는 것이 훨씬 더 효율적입니다. 결과 회색조 채널을 얻으려면 이미지의 첫 번째 부분만 잘라내면 되기 때문입니다.

AI 비디오 스트리밍의 주요 과제

색상보다 모양이 더 중요합니다

다른 많은 컴퓨터 비전 시스템과 마찬가지로 AI 모델은 정확한 색상 재현보다는 주로 객체 구조, 모양 및 모서리에 초점을 맞춥니다. 이는 얼굴 인식, 포즈 추적, 이상 감지 및 AR 효과에 해당합니다. 예를 들어, 동작 인식 시스템에서 신체의 픽셀 윤곽은 피부 톤보다 훨씬 더 중요합니다.


성능이 중요합니다

실시간 AI의 경우, 각 프레임은 매끄러운 프레임 속도( 50–60 FPS )를 유지하기 위해 20 ms 이내에 처리되어야 합니다. 신경망이 프레임을 수신하고 처리하는 속도가 빠를수록 애플리케이션이 더 자연스럽고 유연하게 실행됩니다.


  • RGB 포맷은 너무 무겁습니다. 1920×1080 RGBA 프레임의 무게는 8.2 MB 로 메모리와 처리 능력에 엄청난 부담을 줍니다.
  • 4:2:0 크로마 서브샘플링을 사용한 YUV는 낮은 해상도에서 색상을 전송하여 O(1) 에서 불필요한 데이터를 줄이고, 눈에 띄는 품질 손실 없이 계산 리소스를 절약합니다.


최적화된 GPU 처리

최신 GPU는 YUV 처리에 최적화되어 있어 RGB로 변환하지 않고도 이미지를 작업할 수 있습니다. 이는 불필요한 계산을 제거하고 처리 속도를 높입니다.


대역폭 및 메모리 절약

실시간 비디오 전송 및 처리를 위해서는 데이터 크기를 줄이는 것이 중요합니다.


  • 스트리밍에서 YUV 4:2:0을 사용하면 눈에 띄는 품질 손실 없이 데이터 전송을 50%까지 줄일 수 있습니다.
  • AI에서는 모델이 RGB 로 확장하지 않고도 압축된 데이터를 처리할 수 있어 VRAM과 컴퓨팅 능력을 절약할 수 있습니다.

결론

솔직히 말해서 RGB가 가장 확실한 선택처럼 보입니다. 카메라, 화면, 컴퓨터 그래픽의 표준입니다. 하지만 실제 비디오 스트리밍과 AI 통합에 관해서는 RGB가 느린 공룡 으로 변합니다. 그런 다음 YUV가 등장하여 품질, 속도, 데이터 효율성의 완벽한 균형을 제공합니다. 밝기와 압축 색상을 분리하는 영리한 저장 시스템은 RGB 에서는 계산상 악몽이 될 수 있는 것을 가능하게 합니다.


  • 데이터가 적을수록 속도가 빨라집니다. 아무도 메가바이트가 더 많아져 실시간 비디오 처리 속도가 느려지는 것을 원하지 않습니다.
  • 눈은 속임수를 알아차리지 못합니다 . 우리의 뇌는 사소한 색상 손실이 아닌 모양에 집중합니다. YUV는 이것을 최대한 활용합니다.
  • AI는 색상 뉘앙스가 아니라 FPS를 중시합니다 . 프레임당 16ms만 있으면 YUV는 불필요한 계산을 제거하고 리소스를 절약합니다.
  • GPU는 YUV를 좋아합니다 . 하드웨어 가속 코덱, 빠른 계산, 최소한의 포맷 변환—고성능 비디오에 필요한 모든 것.

최종 판결

RGB 는 훌륭하지만 실시간 성능과 AI가 관여하는 곳에서는 그렇지 않습니다. 비디오 스트리밍에서 YUV는 진정한 워크호스이며 수년간 주요 솔루션을 구동해 왔습니다.


그러니, 여전히 RGB가 왕이라고 생각한다면, 다시 생각해 볼 때입니다. 비디오 포맷은 오랫동안 그들만의 규칙에 따라 플레이되어 왔습니다.