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 がリードしています。その裏には、遅延なくビデオを視聴し、ギガバイト単位のデータを節約し、リアルタイム処理を高速化する一連の複雑なトレードオフが隠されています。


しかし、これら 2 つの世界を橋渡ししたい場合はどうすればよいでしょうか。RGB でトレーニングされた AI モデルは、YUV のビデオ ストリームをどのように処理するのでしょうか。コーデックが RGB での作業に消極的なのはなぜでしょうか。また、これらの形式の間で完璧なバランスを実現することは可能でしょうか。ここでは、RGB と YUV が異なる体重階級の 2 人のボクサーのように、ビデオ ストリーミングと AI テクノロジーの同じリングで対戦しなければならない理由について詳しく説明します。

RGB と YUV: これらは何ですか?

RGBRGBA形式は非常にわかりやすく、コンピュータ グラフィックスで広く使用されているため、ここでは基本について深く掘り下げません。簡単に言うと、コンピュータが画像をレンダリングするときは、赤 (R)緑 (G)青 (B)の 3 つのチャネルで動作します。ほとんどの画面はこのように機能します。


RGBA は透明度を制御するアルファ (A)という追加のチャンネルを追加し、Web グラフィックやデジタル デザインに特に役立ちます。RGB歪みなく色を正確に表現しますが、非常に大きな欠点があります。それは、あまりにも多くのスペースを占有することです。たとえば、 RGBA形式 (チャンネルごとに 1 バイトを使用) で解像度1920 × 1080の画像は、 1920×1080×4 = 8294400 bytes ≈ 8.2 MB容量を占有します。


RBG構造写真:Michael Maasen(Unsplash)


JPEG などの圧縮形式はファイル サイズを縮小しますが、P2P ビデオ ストリーミングや、オブジェクト認識、キー ポイント検出、セグメンテーションなどのクライアント マシンでの AI リアルタイム処理の世界では、これは実行可能なオプションではありません。圧縮アーティファクトを導入したり、重要な詳細を失ったりすることなく、すべてのフレームをリアルタイムで送信して分析する必要があります。ここでYUVが役立ち、品質、効率、パフォーマンスのバランスをとるよりスマートなアプローチを提供します。

YUVとは何ですか?

色情報を直接保存する RGB とは異なり、 YUV は画像を輝度(Y)と彩度(U と V)のコンポーネントに分離します。このアプローチにより、品質を大幅に損なうことなく、効率的なデータ圧縮が可能になります。


Y (輝度、明度) – ピクセルの明るさを表し、ピクセルの明るさや暗さを決定します。基本的に、これは画像のグレースケール (白黒) バージョンであり、すべての形状と詳細が保持されます。


U と V (彩度、色) – 人間の目は色の正確さよりも明るさをより鮮明に認識するため、色情報を保存しますが、精度は低くなります。簡単に言うと、これらのチャネルは、明るさを異なる色相に向けて 2 次元的に「シフト」する働きをします。


この分離こそが、YUV がビデオ圧縮、ストリーミング、AI ベースのビデオ処理に非常に効果的である理由の鍵です。

YUV がビデオストリーミングに適している理由は何ですか?

YUVのあまり目立たないが、非常に効果的な利点の1つは、そのチャネルの1つ(Y)が色を保存することを意図していないことです。代わりに、それは正確に色を記述します。オブジェクトの。

これは人間の視覚とどのように関係しているのでしょうか?

人間の目は、網膜にある 2 種類の光受容体を使って画像を認識します。


  • 桿体細胞(約 1 億 2000 万個) – 明るさとコントラストに敏感ですが、色を検出することはできません。この細胞により、暗い場所でも形や詳細を見ることができます。

  • 錐体細胞(約 600 万個) – 色覚を司りますが、その数は 20 分の 1 です。良好な照明条件でのみ機能し、赤、緑、青(当然ながらRGB )の 3 種類があります。


この受容体の不均衡により、私たちの脳は色よりも形を優先します。明るさやコントラストが歪んでいると、私たちはすぐにそれに気づきます。しかし、わずかな色の変化は気づかれないことがよくあります。


これがYUVの核となる原理です

  • Yチャネル (明るさ) は変更されずにオブジェクトの形状が維持されるため、目の桿体細胞が満足します。
  • UおよびVチャネル (色情報) は、視覚的に目立つアーティファクトを作成せずに圧縮でき、錐体細胞の数が少なくなると違いが気付かなくなります。


つまり、3 つのチャネルすべてが同等に重要なRGBとは異なり、YUV は人間の知覚に基づいてチャネルを異なる方法で扱います。色データ(U と V)はそれほど重要ではないため、知覚できる品質を損なうことなく、送信されるデータの量を減らすことができます。


これがまさにクロマ サブサンプリング メカニズムの仕組みです。つまり、明るさをそのまま維持しながら色情報を選択的に圧縮することでビデオ エンコーディングを最適化します。

クロマサブサンプリングがビデオストリーミングの世界を救う方法

クロマ サブサンプリングは、画像内のカラー データの量を削減する手法です。YUV では、 RGBのようにピクセルごとにカラーを保存するのではなく、明るさ (形状) をそのまま維持しながらカラー チャネルの解像度を下げます。


クロマ サブサンプリングには業界標準がいくつかあります。

  • 4:2:2サブサンプリング– 各ピクセルのペアは色情報を共有します。目にはほとんど違いがわかりませんが、ファイル サイズは 33% 削減されます。この方法はほとんど使用されません。

  • 4:2:0 サブサンプリング- 4 つのピクセルのうち 1 つのピクセルのみに色を保存し、最大限の圧縮を実現します。


なぜ 4:2:0 が主要標準なのでしょうか?

このフォーマットは、画質を著しく低下させることなくデータサイズを半分に削減します。そのため、ほぼすべてのストリーミング サービスやビデオ プラットフォームで標準として採用されています。たとえば、Microsoft Teams は、品質と帯域幅の効率性のバランスが最も良い4:2:0でビデオを送信します。


この設定では、1 つのカラー値が 4 つのピクセルを表し、明るさ (Y) は変わらないため、拡大しても人間の目には違いがわかりません。


1920×1080×1.5 = 3110400 bytes ≈ 3.1 MBRGBAと比較してデータ サイズが 2 倍以上削減されますが、品質に目に見える損失はありません。


下の画像は、 4:2:0クロマ サブサンプリングを使用した場合の最終フレーム/画像の様子を示しています。1 つの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 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 を重視します。フレームあたり 16 ミリ秒しかない場合、YUV は不要な計算を排除し、リソースを節約します。
  • GPU は YUV を好みます。ハードウェア アクセラレーション コーデック、高速計算、最小限のフォーマット変換など、高性能ビデオに必要なすべてのものが揃っています。

最終判決

RGBは素晴らしいですが、リアルタイム パフォーマンスや AI が関係する分野ではそうではありません。ビデオ ストリーミングでは、 YUVが真の主力であり、長年主要なソリューションを支えてきました。


したがって、RGB が王様だとまだ思っているなら、考え直す時期です。ビデオ形式は長い間、独自のルールに従ってきました。