私とマルチメディアVIDEO-ITを取り巻く市場と技術MXFラボ

TOP
TOP > MPEGラボ > 第2回

WinPCLabs これでわかった!動画の秘密“MPEG”

2001年9月号掲載

第2回 インターネットによるビデオ配信の仕組みを知る

ADSLの普及や常時接続の一般化によって、インターネットによる映像配信が身近になってきた。今回は、インターネット経由のビデオ配信がどのような仕掛けで動いているかを解説したい。

■インターネットビデオとMPEGの関係

まずはインターネットビデオとMPEGの関係についておさらいしておく。

よく使われているインターネットビデオの技術として、Windows Media、RealSystem(RealVideo)、QuickTimeが挙げられる。これらの技術は配信技術とビデオ・オーディオの圧縮技術の両方を含んでいる。また、これらのインターネットビデオ技術では、圧縮技術を1つに固定せず、いくつかの圧縮技術を使い分ける形をとっている。

一方、いわゆるMPEGのカバー範囲は、ビデオ・オーディオの圧縮技術で、配信技術は範囲外となる。

インターネットビデオ技術ではMPEGを一部採用している。先月号で紹介したとおり、Windows MediaではMPEG-4 Videoをビデオ圧縮技術の1つとして採用している。Windows MediaにはWindows Media Video(最新版はVer.8)と呼ばれるビデオ圧縮技術があり、これはMicrosoftの以前のMPEG-4実装から派生したものだ。また、国際規格(ISO規格)互換のMPEG-4 Videoを使うことができる。携帯電話やPDAなどで再生することを前提とする場合、国際規格互換のMPEG-4 Videoを使うことがある。これは、Windowsが搭載されていなかったり、動画再生のための専用LSIを搭載した機器の場合、国際規格互換でないと再生できないことがあるためだ。Windows MediaでISO MPEG-4を使っている例としては、図1に示したNTTドコモの「Eggy」がある:マイクロソフトのサイト)。

RealSystemの標準製品では、MPEGそのものは使っていないが、米国にRealSystemを使ってMPEG-1やMPEG-2を配信する製品を出しているメーカーがある。RealSystemを使ったMPEG-4配信については、日本でも開発が進んでいる。

■ストリーミングと通常Webアクセスの違い

それでは、インターネットビデオの配信技術のほうを少し掘り下げてみたい。まずは、ビデオ配信と通常のWebアクセスの違いから説明する。

通常のWebアクセスの場合、HTMLファイルやGIFファイルをサーバから読み込んだ後は、クリックするなどで次のアクションを起こすまで、通信しない。回線やサーバが込んでいる時には、しばらく待たされる。一方、ビデオ配信の場合、長時間にわたって連続したデータとなる。つまり、再生中はずっと通信することになり、次々とデータを受け取りながら、圧縮されたデータを伸長し、音声・映像を再生する。こういった通信方法をストリーミングと呼んでいる。

ストリーミングでは、なるべく途切れずに長時間データを受け取るようにしないと、再生が途中で途切れてしまう。インターネットは回線速度が保証されていないベストエフォート型の回線なため、長時間途切れずにデータを送るのには本来向いていない。

■サーバとプレイヤー間のやり取りの実際

それでは、サーバとプレイヤー間のやり取りについて、Windows MediaとRealVideoの場合について、もう少し具体的に見てみよう。

通常、Webページ中に埋め込まれているビデオコンテンツのアドレス(URL)をクリックすることで、Windows Media PlayerやReal Playerが起動する。これらのプレーヤーがWebページに埋め込まれたまま起動する場合もある。Webページには、通常メタファイルのURLが埋め込まれる。Webブラウザーは、クリックされたURLのメタファイルをダウンロードした後、メタファイルの拡張子に基づきヘルパーアプリケーションとしてのプレーヤーを起動する。

メタファイルは、小さなテキストファイルで、中にビデオファイルのURLが書かれている。拡張子は、Windows Mediaの場合“.asx”や“.wvx”、RealVideoの場合“.ram”がメタファイルだ。一方、ビデオファイルの拡張子は、Windows Mediaの場合“.wmv”または“.asf”、RealVideoの場合“.rm”が使われる。

Windows Media PlayerやReal Playerは、Webブラウザからダウンロードしたメタファイルを受け取り、その内容を見て、サーバにビデオデータ送信の要求を出す。内容は結構複雑で、ビデオデータ送信要求と実際のビデオデータの配信以外に、一時停止、停止、早送り、巻き戻しといった制御情報のほか、回線品質の情報もやりとりされる。<

制御情報は信頼性と双方向性要求されるため、通常TCP(Windows Mediaではポート1755、RealVideoではポート554)でやりとりされる。ここで使われるプロトコルは、RealVideoの場合は RTSP(RFC2326)だ。Windows Mediaの制御プロトコルは非公開となっている。一方、ビデオデータは、効率優先のため可能な限りUDPで送られる。UDPのポートは必要なだけ複数使われることがある。UDPはTCPより早いが、回線状況によりデータが欠落することがあるため、プレイヤーから制御情報としてビデオデータの再送要求を送ることもある。

ファイアウォールなどが間にあり、UDPが使えない場合、ビデオデータは制御情報と同じTCPポートを使って送られる。なお、表1にもあるように、TCPも使えない場合、制御情報、ビデオデータともHTTPを使ってやり取りする。同じ回線帯域の場合、UDP、TCP、HTTPの順で効率が低下する。つまり、UDPを使ったほうが高品質の映像が送れる。

なお、最近ビデオだけでなく文字やビットマップ画像をビデオと同期させてストリーミングしているサイトがある。このようなサイトでは、RealVideoの場合SMILと呼ばれる技術を使っている。SMILファイルにビデオデータのURLのほか、ビットマップ画像のURLや文字を書いておく。RealPlayerが、これらを解釈しダウンロード・表示を行うわけだ。SMILファイルのURLは、上記のメタファイル(拡張子“.ram”)にビデオデータ(拡張子”.rm”)の代わりに書く。

Windows Mediaの場合、SMILほどの自由度はないが、メタファイル自身にいろいろな機能がある。たとえば、ビットマップ画像をビデオと同時に表示させる機能を使い、ビデオの下にバナー画像を出すことができる。

SMILファイルは使いこなすとかなり高度な表現ができる。ブロードバンドの普及に伴い帯域幅に余裕が出てくるため、今後、新しい使い方が開拓されるだろう。

●通常のWebアクセスとビデオ配信の違い

要求はWebページを構成する個別のファイルごとに送られる。サーバは、一回の要求に対してひとつのファイルのデータを一気に返す。
要求はビデオ一つについて一度のみ送られる。サーバは再生速度にあわせてビデオファイルの内容を少しずつ返す。

技術 内容
プロトコル 通常のWebアクセスではTCPプロトコルが使われるが、ビデオ配信の場合UDPプロトコルも使われる。TCPにくらべると、UDPのほうがサーバや回線にかける負荷が軽いのが理由。UDPで通信すると、データの一部が欠落する可能性があるので、通常のWebアクセスには不向きだが、ビデオ配信の場合は、一時的に途切れても後正で常な再生に戻れば実用になるため、UDPが使われる。実際は、UDPをベースにして機能を付加したRTPや各社独自のプロトコルが使われる。UDPは、プロキシーサーバを通過できないことが多いため、各社とも通常のWebアクセスで使われるHTTPにも対応している。HTTPはTCPを使っており、UDPと比較すると少し効率が悪い。プロキシーサーバを使わない場合は、HTTPを使わない設定にしたほうが効率が良い。Windows Mediaの場合:mms:と指定すると、最初はUDP(mmsu:)を試す。うまくいかない場合は、TCP(mmst:)を試す。TCPもうまくいかない場合は、HTTP(http:)を試す。RealSystem(RealVideo)の場合:UDP+TCP、TCP、HTTPの3段階あり、プレイヤーの設定にあわせて通信する。
専用サーバ ビデオ配信では、通常のWebアクセスと比較すると通信量がかなり大きいのと、配信方法が特殊なため、Webサーバとは別に専用のビデオ配信サーバを用意する。ビデオ配信の場合、再生速度にあわせて少しずつ送り出す。
太い回線 いうまでもなく太い回線が、サーバ側で必要になる。ビデオ配信のための専用サーバは、データセンターのラックに設置して太い回線に直接接続する使い方が多い。
受信バッファリング インターネットの場合、回線速度が一定でないため、データが均等間隔で届くとは限らない。データの到着間隔のばらつきを吸収するため、一般にビデオプレイヤーの内部に受信バッファを持つ。受信したデータは、一度受信バッファに格納してから処理される。
キャッシュサーバ
(エッジサーバ)
人気コンテンツなど、多くの人が同じコンテンツにアクセスする場合、インターネットバックボーン上を同じデータが何十、何百という単位で流れるとになり、無駄が多い。このため、地域や拠点ごとにキャッシュサーバを置く。コンテンツを再生する際に、キャッシュサーバ上に同じコンテンツがあれば、その内容をキャッシュサーバが返すことで、レスポンスを良くし、インターネットバックボーン上の帯域を節約する。キャッシュサーバに目的のデータがない場合は、センターサーバから返す。PC(プレイヤー)からは、常にセンターサーバにアクセスしているように見える。キャッシュサーバは、例えばCATV局やインターネットサービスプロバイダーの主要アクセスポイントに設置される。こういった階層型配信網をCDN(Contents Delivery Network)と呼ぶ。
エラー耐性 通信エラーのため受信したビデオデータが不完全な場合の映像の乱れを最小限にする。
マルチキャスト ライブ映像など、同一のコンテンツを多くのPC(プレイヤー)に配信する場合、マルチキャストを使うことで、ネットワーク上のデータを1本分で済ますことができる。各PC(プレイヤー)は、同じデータを受信再生する。

 

(文/ 竹松 昇、(株)朋栄アイ・ビー・イー) ※編集の関係上、雑誌掲載内容と少し異なる個所があります。

このテーマを活用する 素材の受取から
配信サーバ登録までのフローを自動化
     
このテーマを製品化すると Multi Video Processor Pro
Internet Video Processor Publish Edition
製品・システム・技術に関するお問い合わせ