業務における情報共有や公共施設におけるインフォメーションなど、映像を使ったシステムは様々な場所で活用されています。
映像も昨今のデジタル化の波によりアナログ方式からデジタル方式へと変化し、さらにYouTubeなどの動画配信サービスやNetflixなどのオンデマンドサービス、WEBミーティングなどのビジネスコミュニケーションツールのようにデータ化され、ネットワーク上で活用されるようになってきています。
今回はそんなデジタル映像配信の世界で使われるテクノロジーについて、記事を書いていきます。
この記事のインデックス
映像配信サービスに使われるテクノロジー
日頃皆さんがお使いのテレビやDVD・BDなどの映像機器や映像配信サービスには様々なテクノロジーが使われています。
それを知るためにまず重要なことは、符号化(エンコード)のプロセスです。
符号化とは、本来電気信号である映像をデータ化するプロセスのことを言います。
このエンコードには様々な方式が存在しています。
MPEG(Moving Picture Experts Group)
MPEGとは、動画・音声データの圧縮方式の代表的な標準規格の一つです。
現在までに、MPEG-1やMPEG-2、MPEG-4といった圧縮符号化方式があり、それに付随する音声圧縮規格のMP3(MPEG Audio Layer-3)なども策定されてきました。
また、データの圧縮符号化方式だけでなく、メディアを扱うためのファイル形式や送信データ形式、メタデータの記述方式などの標準も策定されてきました。
たとえば、MPEG-2とH.262、MPEG-4/AVCとH.264のようなものがそれに当たります。
動画フォーマットの種類
動画フォーマットの種類を理解するためには、まず動画を構成している要素とその関係性について理解する必要があります。
コンテナ
動画は静止画のデータを連続させたものですから、当然静止画と比較して容量が大きくなります。
そこで、動画データの保存や共有に利便性を持たせるため、圧縮を行います。圧縮することを「エンコード」といい、この一連の作業を「コンテナ化」と言います。
コンテナとは映像データと音声データを一つの箱にまとめて格納したもので、識別しやすいように「.mp4」「.mp3」などのフォーマットが使用されます。
コーデック
動画をデータ化する際に、その圧縮に使われるのが「コーデック」です。
コーデックはデータをエンコード(別の形式に変換する)したり、デコード(元のデータに戻す)する際のアルゴリズムのことを言います。
どのコーデックを使用するかによって圧縮時の特徴が異なり、再生できるソフトウェアも異なってきます。
コーデックには、圧縮率や画質、再生時の負荷、使用環境などの条件が定義されています。コンテナ化を行う際に、そのコンテナに対応するコーデックを選択する必要があります。
つまり、コンテナという箱の中にコーデックされた映像・音声データ、字幕などその他のメタデータが一緒に入ることで、一つのデジタル動画が出来上がるというわけです。
映像データの圧縮方法
コーデックが映像・音声データをエンコード(符号化)する際に、圧縮する場合と圧縮しない場合(非圧縮)があります。
一般的に使用される映像・音声データは、基本的に圧縮して効率化を図ります。
その場合、コーデックによって、「非可逆圧縮(元に戻す事が出来ないデータ)」と「可逆圧縮(完全に元に戻す事ができるデータ)」に分かれます。
例えば、一般的によく使用されるH.264、DivX、AAC、WMA(非可逆・可逆両対応)などは非可逆圧縮に分類されます。音声データでは、高音質なデジタルミュージックに使用されるFLACやWMA(非可逆・可逆両対応)が可逆圧縮に当たります。映像でも「MLC」や「Ut Video Codec」などの可逆圧縮が存在しますが、一般的にはあまり知られていません。
画像データでは、GIF、PNG、PDFが可逆圧縮、JPG、WebPが非可逆圧縮です。
さらに、用途によっては非圧縮という選択肢もあります。
非圧縮はデータを圧縮しないため、圧縮に比べて当然データサイズが大きくなりますが、その分データの欠落・改変がなく、高い再現性が期待できます。
また、圧縮するよりもプロセスが少ない分、低遅延となります。
私が経験してきたシステムでは手術室の映像ネットワークシステムがこれに当たります。
手術室で使用するモニターに映し出される映像にデータの欠落や遅延が発生してしまうと、手術に支障を来してしまうからです。放送やライブ向けのシステムなども同様に非圧縮を使用する場合が多いです。
こういったクリティカルなシチュエーションで使われる「Video over IPシステム」は、非圧縮のためにイーサネットケーブルでの伝送は難しく、光ファイバーケーブルを使って伝送しています。
画像データでは、TIFFやBMP(可逆もある)といったファイルがこの非圧縮に当たります。
他に映像の圧縮率が限りなく低いことで有名なコーデックとして、Appleの「ProRes(プロレズ)」があります。
ただし、これはあくまでもポストプロダクション向けに動画編集に適したコーデック(中間コーデック)として規格化されたものであり、視聴に適したコーデックではありません。
代表的なコーデック「H.264」「H.265」
現在特に代表的なコーデックは、H.264とH.265です。
H.264は「MPEG-4 AVC」とも呼ばれる最もメジャーなコーデック形式です。圧縮率はMPEG-2の2倍を実現しています。
H.265「MPEG-H HEVC」とも呼ばれ、さらにH.264の約半分のファイルサイズ(MPEG-2の約4倍の圧縮率)で同画質を再現できるのが特徴です。
H.264はフレームレート最大60fps、4Kまでの対応ですが、H.265はフレームレートで最大300fps、8Kまで対応しています。
さらに、2020年にH.265の後継として、H.266(MPEG-I Part3 VVC)が策定されました。
H.266では、H.265と同等の品質の動画を約半分のデータ量で実現することができます。
またVVCでは、HDRに対応すると共に、4K、8K、16K、立体動画、マルチビュー動画、パノラマ動画といった多様な用途に使用される予定です。
ネット企業が推すAV1コーデック
米グーグルや米アップル、米アマゾン・ドット・コムなどが推すコーデックが「AV1(AOMedia Video 1)」です。
高圧縮率を実現したビデオコーデックです。非営利団体のAlliance for Open Mediaを中心にオープンソースかつロイヤリティーフリーで開発され、主要なWEBブラウザやメディアプレイヤーで採用が進んでいます。
H.265は特許権利者団体が乱立していることもあり、敬遠してAV1に流れる企業が相次いでいます。
また、AV1は技術面でもH.265をしのぎ、H.265より2割以上圧縮率が高いとされています。圧縮率の高さは帯域占有率を低減し、配信コストの削減に直結しますので、世界で有名なネット企業が相次いで採用しています。
動画フォーマットの種類
以上をまとめ、一般的によく使用される動画フォーマットには次のようなものがあります。
コンテナ名 | フォーマット | 一般的な映像コーデック | 一般的な音声コーデック | 主な特徴 |
---|---|---|---|---|
AVI | .avi | H.264/H.265/Xvid/Divx/MPEG-4 | AAC/MP3/LPCM | Windows標準の動画形式。 汎用性が高いがストリーミング不可。 |
MP4 | .mp4/.m4a | H.264/Xvid/Divx/MPEG-4 | AAC/MP3/Voribis/AC-3 | 汎用性が高く多くのデバイスで採用。 |
MOV | .mov/.qt | H.264.MJEG/MPEG-4 | AAC/MP3/LPCM | Apple標準の動画形式 |
MPEG2-TS | .m2ts/.ts | H.264/MPEG-2 | AAC/AC-3/MP3 | Blu-rayやデジタル放送で採用。 「AVCHD」「AVCREC」など、HDビデオカメラでも採用。 |
WMV | .wmv | WMV9 | WMA・MP3・AAC | WindowsMediaPlayerの動画形式。 |
FLV | .flv/.F4V | VP6/H.263/H.264 | MP3/AAC/ADPCM | AdobeFlashPlayerの動画形式。 現在では多くがHTML5に移行。 |
ASF | .asf | H.264/Xvid/Divx/MPEG-4 | AAC/MP3/LPCM/FLAC | AVIを改良してストリーミングができるようにした形式。 |
WebM | .webm | AV1(VP8/VP9/VP10) | Vorbis | HTML5対応ブラウザで再生可能。 |
映像配信のネットワーク技術
これらコンテナに格納されたデータをネットワーク上で配信するためには、ネットワーク伝送を行うための上位レイヤーのプロトコルが必要です。
メディアを転送するRTPの仕組み
映像配信やWEBミーティング、ネットワークカメラなどで映像・音声を配信するためのプロトコルには、転送を担当する「RTP (Real-time Transport Protocol)」と、転送の状況を伝える「RTCP(Real Time Control Protocol)」、ストリーミングを制御する「RTSP(Real Time Streaming Protocol)」というものがあります。
通常、インターネットで正確なデータをやり取りするためには、「TCP(Transmission Control Protocol)」が使用されます。皆さんがこのサイトを閲覧するために使用するHTTPや、メールを送受信するためのSMTP/POPなどのプロコトルには、このTCPが使用されています。
TCPでは転送するデータの品質を確保するため、転送結果を確認してエラーなら再送するという仕組みになっています。それ故、再送が行われると通信が止まってしまうため、映像・音声のようなリアルタイムデータを送ることができないという弱点があります。
それに対し、RTPは「UDP(User Datagram Protocol)」上で動作しています。
UDPは送信側が一方的にデータを送り続けるプロコトルで、TCPのように受信側でデータ内容を検証する仕組みがありません。それ故、RTPで送信エラーが発生しても、リアルタイムでデータを送り続けることができるのです。
しかし、RTPとUDPは単に転送するプロトコルのため、転送状況の把握ができません。
そこで、「RTCP」が受信側の転送状況を伝えるために動作するのです。
それに加え、ストリーミング配信の停止、早送り、巻き戻しや指定場所からの再生など、セッションの制御を行う「RTSP」というプロコトルが使用されます。
この他、米アドビ(Adobe)社の「Flash」で利用できるプロトコルの一つで、動画や音声のストリーミング配信・再生を行う「RTMP(Real-Time Messaging Protocol)」があります。
しかし、Adobe Flash Playerが2020年でサポート終了したため、今後は汎用的な転送プロトコルとして他の用途への活用が進んでいます。
アップルが開発した「HLS」
「HLS(HTTP Live Streaming)」は、米アップル社が開発したHTTPでストリーミングを行う規格です。iOSだけでなく、Androidや多くのWebブラウザで再生可能であり、ライブ配信サービスにも採用されています。
HTTPプロトコルの利用により、ストリーミング専用の通信ポートを利用する必要が無くなります。特殊なポート設定を必要とせず、より多くのネットワークに対して動画配信を行うことが可能となるのが利点です。
また、端末の通信品質や通信環境を基にリアルタイムで最適なビットレートの映像データを配信することができるのも大きな特徴であり、デバイスに依存することなく視聴してもらうことが可能です。
HTTPによるストリーミング配信には、HLS以外にもMPEG DASHやSmooth Streamingといった種類が存在します。
低遅延ストリーミングを実現するテクノロジー
HLSの大きな課題として、遅延問題があります。特にストリーミングにおいては遅延の発生は深刻な要因となります。
この課題を解決する方法として、最近ではデータを細かいチャンク(セグメント)に分けて配信する低遅延 HTTP ストリーミングができるようになりました。
さらに低遅延を実現する方法として、「CMAF(Common Media Application Format)」があります。CMAFはセグメント内にさらに細かなセグメントを用意することにより超低遅延を実現する技術です。
また、最近WEBミーティングにも使われている「WebRTC (Web Real-Time CommunicationsRTMP)」というプロトコルがあります。WebRTCはWebブラウザ上で双方向のリアルタイムコミュニケーションを可能にするオープンフレームワークです。
ユーザーはWebプラグインやソフトウェアをインストールすることなく、P2Pでデータ共有や遠隔会議を実現することができます。
データ転送方式の種類
ネットワーク上で様々なデータを転送する際には、そのデータの種類によって3つの転送方式があります。
- ユニキャスト
相手先と1対1で確実に通信を行う標準的な方式です。ウェブ閲覧やメールの送受信はこれを使用します。 - ブロードキャスト
同一ネットワーク上のすべてに向かって通信を送り、応答する相手を探します。DHCPなどでアドレスをもらう場合によく利用されます。 - マルチキャスト
同じデータを複数の通信相手先に対して行う通信で、ルータにてデータを複製しすべてのポートに渡し続けるため効率的で、大容量データの転送や映像配信等を行う場合に利用されます。要求していない端末についてはデータを受け取らず破棄する仕組みとなっています。
また、ユニキャストは主にTCP通信、マルチキャストはUDP通信を行うという特長があります。
私の勝手なイメージですが、これを広告の配布方法に例えると、ダイレクトメールは個別に送ってくるのでユニキャスト、ポスティングは不特定多数のポストに投函されるのでブロードキャスト、フライヤー配布は同じものを効率的に多くの方へ配布し、不要ならば受け取らないといったことができるのでマルチキャストのようなイメージかと思います。
動画の品質を決めるビットレート
ビットレートとは、1秒間あたりのデータ量のことを指します。
たとえば、700kbps(Bit Per Second)と表記されている場合、700に1000を掛けて1秒間に700,000ビットのデータ量を処理するという意味になります。
コンテナの中には映像だけではなく音声データもありますから、その合計が動画のビットレートとなるわけです。
つまり、このビットレートの値が大きいほどデータが大容量というわけです。
音声のビットレートは、MP3、AAC、WMAなどの非可逆コーデックで96kbps~320kbps辺りがよく使われています。
映像のビットレートは音声よりも複雑で、解像度や動きの大小、明るさといった要素によって適切な映像ビットレートが異なってきます。
映像のビットレートは一概に高ければいいという分けでもありません。
小さな解像度で表示する場合、高ビットレートであっても画質の差を実感できず、容量が大きくなるだけということもあります。
つまり、デジタル動画の画質は、「解像度」「フレームレート」「ビットレート」といった要素のバランスで決まります。
解像度やフレームレートについては「映像テクノロジーの世界」を参考にしていただければと思います。
ネット配信でよく使われるビットレートの目安
SD | HD | フルHD | 4K | |
---|---|---|---|---|
解像度 | 720×480 | 1280×720 | 1920×1080 | 4096×2160 |
動きが少ない | 500kps~1Mbps | 2.4Mbps~4.5Mbps | 4.5Mbps~9Mbps | 25Mbps~35Mbps |
動きが多い | 1Mbps~2Mbps | 4.5Mbps~9Mbps | 9Mbps~18Mbps | 35Mbps~70Mbps |
動画配信テクノロジーのまとめ
ここまでデジタル映像の配信に関するテクノロジーについて解説してきましたが、映像機器で使用する映像について学びたいという方は、ぜひこちらの記事を御覧ください。
昨今、コロナ流行の影響もあり、映像をリモート配信するサービスは様々な場所で使用されるようになりました。
当社ではイベントや医療機関向けのリモート支援、会議システムの設計など、様々な映像配信を実現するソリューションをご提案することができます。
また、パートナーとの連携で配信会場、スタジオの手配やライブ配信をオペレーションするチームのご紹介も可能です。お困りの方がいらっしゃいましたら、ぜひお気軽にお問い合わせください。
Googleニュースアプリで最新情報をゲット!
Quad CompetenceのブログはGoogleニュースからご覧いただけます。
Googleニュースで当サイトのフォローをしていただければ、最新情報のチェックが可能です。
Googleニュース又はGoogleニュースアプリ(Android/iOS)の上部検索窓から「Quad Competence」と検索してフォローいただくと、最新ニュースが配信されます(左上に表示)。Googleアカウントをお持ちの方は、ぜひよろしくお願いします!