post-cover

2020-12-11 技術ブログ

次世代映像伝送プロトコルSRTとは

    はじめに

    映像をインターネット経由で遠隔地へ伝送する場合、回線状況の影響などでデータが届かず映像飛び(コマ落ち)が発生したり動きが早い映像だとブロックノイズが発生しクリアな映像が見えないといった事が度々ありました。

    しかし最近はSRTという次世代型の映像伝送方式が開発され、高い映像品質を保持した状態で映像を伝送する事が可能となりました。

    SRTとは

    SRTとはSecure(安全) Reliable(確実) Transport(伝送)の略で、不安定な公衆インターネット回線でも高品質な映像を伝送する事を目標に開発されたオープンソースの最新型伝送方式です。

    SRT伝送方式の特徴

    SRT伝送方式の主な特徴は、既存の伝送方式であるUDPやTCPといった伝送方式に比べ回線の混雑による影響を受けにくく、映像に発生するブロックノイズも少ない為、高画質な映像を安定して伝送できる点です。

    より詳細なSRT伝送方式の特徴を既存の伝送方式であるUDP、TCP伝送方式の紹介を交えて説明します。

    【UDP伝送方式とは】

    UDP伝送方式

    UDP伝送方式は伝送するデータ(パケット)を送るだけで、送ったデータが伝送先に届いているか確認しない方式です。その為不安定なネットワーク環境ではデータが届かず喪失する(パケットログ)が発生しやすく、その結果映像にブロックノイズやコマ落ちが発生します。

    メリット:データを送るだけなので伝送が早く映像遅延が少ない

    デメリット:伝送したデータが喪失したとしても何も処理しないのでデータ損失発生時に映像に乱れが発生する。

    【TCP伝送方式とは】

    TCP伝送方式

    TCPは伝送するデータ(パケット)に番号を割り振り、番号順にデータを伝送します。

    受信側ではデータが届いたら送信側へ受信通知を送ります。送信側は受信通知を受け取ったら次の番号のデータを伝送するいった形でデータを伝送します。

    パケットロスが発生した場合は再度送信側がデータを再送します。

    本方式はデータロスは発生しませんが一つ一つデータの伝送を確認して処理を進めるためデータを送るのに時間がかかり不安定なインターネット環境では映像が大幅に遅延したり、再生が止まってしまうケースがあります。

    メリット:送ったデータが全て届いたか確認するのデータ伝送が確実に行われる

    デメリット:UDPに比べ伝送処理に時間がかかり、パケットロスの起きやすい不安定なインターネット環境では更に遅延が増加する為、映像遅延や映像が停止しやすい。

    これらの従来の伝送方式に対してTCPのように確実にデータを伝送しつつ、UDPのように素早く伝送処理が完了する事を目標に開発されたのがSRT伝送方式です。

    【SRT伝送方式とは】

    SRT伝送方式はデータ受信側で受信した全てのデータを送信側へ通知するのではなく、喪失したデータだけを送信側へ通知します。このためUDPのようにデータ損失による映像の乱れが発生しません。また喪失したデータのみを送信側へ通知する為、全データの受信通知をやりとりするTCPに比べ伝送処理を早く実施する事ができます。

    メリット:伝送処理完了にかかる時間が短く、データ喪失も発生しない為、高品質な映像を安定して伝送が可能

    デメリット:なし

    以上のように、SRT伝送方式は従来の方式であるUDPとTCPのいいとこどりをした伝送方式であり本方式を採用する事で高画質な映像を高品質な状態のままリアルタイムで伝送が可能となります。

    SRT方式によるデモ映像

    こちらの映像はSRTのデモ映像です。

    パケット損失率2%の状態でUDPとSRTの画質を比較しています。

    UDPでは映像が乱れ、fpsも不安定でカクツキが目立ちます。しかしSRTでは映像が乱れることなく、fpsも安定しています。

    なぜデモ映像のように安定して映像が伝送されるのか、SRTの具体的な特徴を紹介しながら説明いたします。

    1)送信、受信どちらもバッファ(一時記憶域)をもちデータ伝送のやり取りを実施

    SRTでは送信側も受信側もバッファ領域(一時記録領域)をもっており、そこに送信したデータや受信したデータを一定期間保管します。

    送信側はデータを送ると送ったデータをバッファ領域に保管します。

    受信側は受信したデータをバッファ領域に一定期間保管し、その後映像を出力します。ネットワーク上でデータが喪失した場合、受信側は喪失したデータの再送信を送信側へ要求します。喪失したデータは送信側のバッファ領域に保管されていますので即座に受信側へ再送信されます。

    受信側では一定期間バッファ領域にデータを保管後に映像を出力しますので、保管期間内に喪失したデータを受け取った場合、喪失箇所のデータ穴埋め処理を行い映像を出力します。

    この為、データ喪失のない高い品質の映像を出力する事ができます。

    2)データへタイムスタンプを付与してデータの再整列を実施

    SRTでは映像伝送処理を行う為に、データへタイムスタンプ(時刻情報)を付与します。

    1秒間の映像には大抵15~30コマの画像が使用されます。

    しかし通信距離が長い場合や回線が混雑している場合、各パケットの到着時間はばらばらになり、1コマごとの間隔もばらばらとなってしまいます。

    等間隔でないまま映像を流すと突然映像が早送りになったり、コマ送りになるなど品質の悪い映像が表示されます。

    バラバラのコマ

    しかしSRTではタイムスタンプが付与されており、1)で紹介した受信側のバッファに保存されている間にタイムスタンプ通りにデータを整列しなおすといった処理を行う為、滑らかな映像を表示する事が可能となります。

    整列されたコマ

    これらの仕組みを駆使する事でSRTは従来の伝送方式に比べブロックノイズが少なく低遅延な高品質な映像の伝送を可能としております。


    販促ページ