重要概念

デバイスタイプとOTTおよびRTCシステムにおけるデータ処理

10 分読む
Feb 18, 2025

OTT(Over-the-Top)およびRTC(Real-Time Communication)技術の世界では、デバイスの種類や関与するデータを理解することが重要です。このブログ投稿では、データソースとして機能するさまざまなデバイスと、それらが生成する音声・映像データの種類、さらにキャプチャおよび前処理のプロセスについて探ります。

デバイスをデータソースとして

OTTおよびRTCの文脈において、「デバイス」とは音声・映像データを生成する任意のソースを指します。これらは大きく二つのタイプに分類できます:

ハードウェアデバイス

  • スマートフォンカメラ
  • プロフェッショナルビデオカメラ
  • マイクロフォン
  • キャプチャカード

ソフトウェアベースのソース

  • 仮想カメラ
  • コンピュータデスクトップキャプチャ
  • メディアファイル

本質的に、正当な音声・映像データを生成できるソースは、この文脈でデバイスと定義されます。

音声・映像データの種類

これらのデバイスによって生成されるデータは主に二つのカテゴリに分けられます:

1. 映像データ

映像データは、フレーム内の各ピクセルの色情報で構成されています。このデータを表現するために使用される主要なカラースタンダードは二つあります:

RGB(赤、緑、青)

  • 赤、緑、青の光をさまざまな比率で組み合わせてすべての色を作成します。
  • バリエーションにはRGB565、RGB24、BGRA32などがあります。

YUV

  • 人間の目が明るさに対して色よりも高い感度を持つことに基づいています。
  • Yは輝度、UおよびVは色度を表します。
  • YUV420は一般的なフォーマットで、I420、NV12、NV21などのサブバリエーションがあります。
  • 通常、RGBよりも帯域幅が少なくて済むため、ネットワーク伝送に適しています。

**Image Description:**
The image consists of two parts. On the left, there is a 3D representation of a surface composed of colored blocks in green

2. 音声データ

音声データは、音のサンプリングポイントから構成された波形データです。音声を表現する最も一般的なスタンダードはPCM(パルス符号変調)です:

  • PCM(パルス符号変調):
    • 連続したアナログ信号をサンプリング、量子化、エンコードすることによって生成されるデジタル信号を表します。
    • 一般的なPCMタイプはPCM16で、通常48000Hzまたは44100Hzのサンプルレート、16ビットのサンプル幅、モノラルまたはステレオチャンネルを使用します。

データキャプチャと前処理

キャプチャ

キャプチャとは、デバイスから音声・映像データを取得するプロセスを指します。現代のオペレーティングシステムは、デバイスキャプチャ操作(オープン、リード、ライティング、クローズ)のためのAPIを通常提供しており、開発者がカメラ、マイクロフォン、画面表示、さらにはスピーカー出力からデータに簡単にアクセスできるようになっています。

前処理

キャプチャ後、データはしばしば前処理を受けます。これにはさまざまな操作が含まれる場合があります:

映像前処理:

  • フィルターの適用
  • 顔の美化
  • 動的効果の追加

映像前処理の原則、たとえばフィルターの適用は、特定のルールに従って各映像フレーム内の各ピクセルの色値を変換することを含みます。顔の美化のようなより高度な操作は、顔認識アルゴリズムを使用して顔の領域を特定し、その後色変換を適用します。

音声前処理:

  • 声の変化
  • バックグラウンドミュージックの追加
  • 音声ミキシング
  • ノイズ削減

音声前処理は通常、音の波形を修正することを含みます。たとえば、ミキシングは特定のアルゴリズムを使用して二つ以上の波形を組み合わせ、一方でノイズ削減は波形から背景ノイズを除去します。

これらの前処理操作、特に映像の場合は計算集約的であることに注意が必要です。性能が低いハードウェアでは、これが過熱や高いCPU使用率の問題を引き起こす可能性があります。

開発者の考慮事項

開発者が独自のキャプチャおよび前処理操作を実装することは可能ですが、このアプローチは音声・映像データの操作に関する深い理解とデータフォーマットの正確性を保証する必要があります。ほとんどのアプリケーションでは、これらの操作に既存のAPIやライブラリを使用することをお勧めします。

結論

OTTおよびRTCシステムに関与するデバイスやデータの種類、ならびにキャプチャおよび前処理のプロセスを理解することは、この分野で働く開発者にとって基本的なことです。これらの技術が進化し続ける中で、音声・映像データ処理に関する最新のスタンダードやベストプラクティスを常に更新しておくことが、高品質で効率的なOTTおよびRTCアプリケーションを作成するために重要です。