メインコンテンツまでスキップ

4. ストリーム方向 (Stream Orientation)

特にモバイルデバイスに関わる状況など、一部の状況では、カメラの方向 (Orientation) がエンコーダによって使用される方向と一致しない場合があります。より重要なことは、通話中に方向が変更される可能性があり、受信者がストリームをレンダリングする方向を変更する必要があることです。

送信者はフレームのエンコード前の方向を単純に変更することを選択できますが、これは実用的でないか効率的でない可能性があります (特に、カメラへのインターフェースが事前圧縮されたビデオフレームを返す場合)。この動作の可能性により、セクション 3.2 で言及されているものに加えて、ビデオストリームの途中で画面の解像度が変更される可能性のある状況が追加されることに注意してください。

これらの状況に対応するため、デフォルト以外の方向でメディアを生成できる WebRTC 実装は、[TS26.114] のセクション 7.4.5 で説明されているビデオ方向調整 (Coordination of Video Orientation, CVO) メカニズムの R0 および R1 ビットの生成をサポートしなければならず (MUST)、ピアがメカニズムのサポートを示したときにすべての方向に対してそれらを送信しなければなりません (MUST)。高解像度回転ビットを含む CVO 拡張の他のビットの送信をサポートしてもよいです (MAY)。すべての実装は R0 および R1 ビットの解釈をサポートすべきであり (SHOULD)、他の CVO ビットをサポートしてもよいです (MAY)。

さらに、一部のコーデックは方向のインバンドシグナリング (In-Band Signaling) をサポートしています (例えば、H.264 および H.265 [H265] の SEI "Display Orientation" メッセージ)。CVO がネゴシエートされている場合、送信者はそのようなコーデック固有のメカニズムを使用してはなりません (MUST NOT)。ただし、CVO のサポートが SDP でシグナリングされていない場合、そのような実装は代わりにコーデック固有のメカニズムを使用してもよいです (MAY)。