図1●米RealNetworksと米Microsoftの動画関連ソフトの構成 |
両社はプレーヤのバージョンアップに合わせて,ビデオをインターネット配信用にディジタル圧縮するためのエンコーダと,多数のクライアント・パソコンに動画データを配るための配信サーバも一新する(図1[拡大表示])。
他社方式もサポートするRealOne
RealOne Player v.2.0の特徴は,プレーヤの画面の中で他のプレーヤ用のコンテンツも再生できる点である。パソコンの中にWindows Media PlayerやQuickTime Playerが入っていれば,それぞれのコーデックで再生する。各種のコンテンツを見るときに,コンテンツに応じてプレーヤを切り替える手間がなくなる。
一方のWindows Media Player 9シリーズは,細かな改良点は数多くあるものの,ドラスティックな変化はない。プロトコルとしてRealOneやQuickTimeが採用するRTSP(Real Time Streaming Protocol)を取り込んだこと,IPv6対応としたこと,スローテンポで再生したり,楽曲再生時には曲と曲の間で自動的にフェード・イン,フェード・アウトしてなめらかに再生を続けるといった機能を備えたことなどがある。
通信帯域を目一杯使う新技術
図2●バースト転送による「即時再生」の実現イメージ [図をクリックすると拡大表示] |
二つの最新プレーヤには共通点がある。接続したら直ちに再生を始める「即時再生」機能を備えたことだ。この機能をRealOne Playerでは「TurboPlay」,Windows Mediaでは「Fast Streaming」と呼んでいる。実現のための基本技術も両者に共通する。それは,伝送帯域を目一杯使ってバースト(瞬間的に)転送することである。
これまでのプレーヤでは,動画のリンクをクリックしても,実際に再生が始まるまでは10~20秒程度の時間がかかっていた。これは,再生している間に通信帯域が狭くなっても動画再生が中断しないように,10数秒程度分のデータをバッファに先読み(キャッシング)しておくからである。
その際の読み込み速度は,動画を圧縮したときの速度と同じであるため,キャッシングには読み込む映像の再生時間分の秒数がかかってしまう。たとえば10秒分の動画を読み込む場合は,キャッシングにも10秒かかってしまうのである。しかも,動画コンテンツを切り替えるたびに,先読み時間分だけ待たなければならなかった。
この問題を解決するのが,TurboPlayおよびFast Streamingである。どちらも,キャッシング時の読み込み速度を高速化することで読み込み時間を短縮する。たとえば動画の圧縮速度が250kビット/秒であっても,伝送帯域として2.5Mビット/秒を使えるのであれば,その帯域を目一杯使ってバースト的に読み込む。こうすれば,キャッシング時間をこれまでの10分の1にまで短縮できる。10秒分の動画を先読みする場合,キャッシング時間は1秒で済む。
回線状況が悪化してデータが届かなくなり,バッファに格納したデータが減ってしまった場合は,回線状況が復活した段階で再びバースト転送し,短時間でバッファを満たす。これにより,即時再生に加えて,動画が途切れにくくなるというメリットも得られる。
プレーヤのみで実現するTurboPlay
TurboPlayとFast Streamingはバースト転送機能を備える点は同じであるが,その実現手法には違いがある。そしてこの実現手法の違いが,バースト転送機能を使える動作条件に影響を与えている。
まずRealOne Player(TurboPlay)は,RTSPを使うことで読み込み速度を高めている。具体的には,RTSPの帯域制御機能を活用してサーバ側のデータ送出速度を伝送帯域幅一杯にまで高める。
RealOne Playerでは動画への最初の接続時に最大速度で接続を試みる。その速度で受信できれば,そのままバースト受信を続け,受信がうまく行かなければ速度を下げて,再度,接続を試みる。再生が始まると,接続時に設定したバースト時の速度を上回る速度で受信することはない。
TurboPlayはプレーヤだけで実現しており,配信サーバ側はそのままでも即時再生できるようになる。既存のコンテンツもRTSPで再生する際には,TurboPlayの恩恵を受けられる。
RealOne PlayerはHTTPでも動作するが,そのときはTurboPlayは働かない。オフィス環境では,ファイアウォールの設定によってはRTSPが使えないことがある。この場合はHTTPで配信サーバに接続することになるため,即時再生はできない。
配信サーバと連動するFast Streaming
一方のWindows Media PlayerのFast Streamingは,サーバと連携することでバースト転送を実現する。Fast Streamingを使えるようにするには,配信サーバとしてWindows Media Services9シリーズが必要になる。
プレーヤとサーバで制御するので,Microsoftの独自ストリーム配信プロトコルであるMMS (Microsoft Media Server)やRTSPだけでなく,HTTPを使っているときも即時再生できる。
また,サーバとの連動によりライブ配信時での即時再生が可能になる。動画では圧縮効率を高めるために,画面全体のデータを送るのは数秒に1回で,その間は画面の差分だけを送る方式を採っていることが多い。この画面全体を送るコマをIフレームと呼んでいる。ライブ中継の即時再生では,このIフレームを受信するまでに時間がかかってしまうケースがあるという問題があった。
そこでFast Streamingでは,サーバ側で直近のIフレームを保存しておき,接続要求があったら,Iフレームをまずプレーヤに送ってから,ライブ配信している動画データを送る。これによってどのようなタイミングでライブ放送に接続しても,すみやかに再生を始めることができるようになる。