動画やゲームの世界で耳にする『ストリーミング』とは?

『ストリーミング』とは?

 テクノロジーの世界で使われる言葉は日々変化するもの。近頃よく聞くようになった言葉や、すでに浸透しているけれど、意外とわかっていなかったりする言葉が、実はたくさんある。  本連載はこうした用語の解説記事だ。第11回は「ストリーミング」について。聴き放題の音楽配信サービスを「ストリーミング」と呼ぶことが増えているが、そもそもは一体どんな技術なのだろうか。音楽、動画、そしてゲームまで、幅広く利用されるストリーミング技術について紹介しよう。

 動画、音楽、画像を問わず、コンピュータは何かのデータを扱うとき、メモリに読み込んで処理を行う。こうしたデータがローカル(コンピュータ自身が持つ機器のこと)のストレージ(ハードディスクやSSDなど)にある場合はそのままメモリに読み込めばいいが、ネットワーク上にあるデータを利用する場合は、基本的には一度ローカルのストレージにデータを保存して利用する。これを「ダウンロード」という。たとえばスマートフォンのアプリをローカルで実行できるように、アプリストアからスマートフォンのローカルストレージに保存するのも「ダウンロード」だ。ちなみに、逆にネットワーク側にデータを転送するのを「アップロード」という。ネットワークが「上流」、ローカルが「下流」という考え方が基本なのだ。

 さて、データが小さいうちはダウンロードでも十分だったのだが、動画のように大きなデータを扱うようになると、そうもいかなくなってきた。たとえば1時間の動画をダウンロードするのに1時間かかっていたら、ダウンロードして見終わるまでに2時間かかってしまう。まして、ライブ放送は実現不可能だ。

 そこで考えられたのが、データを小さなパーツに分割し、少しずつダウンロードする「ストリーミング」方式だ。受信側はダウンロードを続けながら、溜まった分を再生することで、ダウンロードと再生を並行して行える。ストリーミングでは溜まったデータは再生後に破棄されるので、違法コピーなどの心配もない。また、一度に落とすデータの量が小さくて済むため、回線速度が遅い環境でもある程度は試聴に堪える品質が得られる(サーバー側は回線速度に応じたデータを送信する)。

 こうした配信を行うため、ストリーミングではウェブサーバーではなく、基本的に専用のストリーミングサーバーを使う。基本的には完成したコンテンツを置いておき、アクセスした利用者に少しずつデータを配信していくスタイルだが、リアルタイム配信の場合はカメラからの映像をエンコードソフトで配信用に変換しながら配信することになる。リアルタイムに変換しながら配信するので、どうしてもタイムラグは発生するし、サーバーの混み方やアクセスしたタイミングによってさらにラグが大きくなる。また、ネットワークの混雑などの影響で映像が乱れたり、止まったりすることもある。たとえばライブ配信などで、PCとスマートフォンなど複数の端末からアクセスしてみると、数秒〜数十秒単位でこうしたラグを体験できる。

 こうした制約はあるが、ダウンロードと比べればはるかにリアルタイム性が高く、またストリーミング配信に特化したサービスの登場もあって、ストリーミングは急速に普及した。現在は主に3つの分野で利用されている。

関連記事

インタビュー

もっとみる

Pick Up!

「コラム」の最新記事

もっとみる

blueprint book store

もっとみる