| コンテンツ | 前 | 次 | 目次 | JMF 2.0 API ガイド |
時間に関して意味深長に変わるどんなデータも時系列メディアであると見なすことができます。オーディオ・クリップ、MIDIシーケンス、映画クリップおよびアニメーションは時系列メディアの共通の形式です。そのようなメディア・データは、ローカルのファイルあるいはネットワークファイル、カメラ、マイクロホンおよび生放送のような様々なソース(出所)から得ることができます。
本章は、時系列メディアの重要な特性について記述し、基本のデータ処理モデルの項では時系列メディアの使用法を記述します。:
![]()
図 1-1: メディア処理モデル.
ストリーミング・メディア
時系列メディアの重要な特徴は適時の放出および処理を必要とするところです。 一旦メディア・データのフローが始まれば、データを受け取り示すことでは、遭遇するに違いない厳密なタイミング・デッドラインがあります。この理由のために、時系列メディアはしばしばストリーミング・メディア(streaming media)と呼ばれます--それは、受理可能な結果を生むために特定時間枠内で受け取られ処理がなされるに違いない、安定した流れに伝えられます。
例えば、ムービーが再生されるときメディア・データを十分に速く運ぶことができない場合、再生中に奇妙な休止および遅れが生じるかもしれません。他方では、データを十分に速く受け取らず処理することができない場合、データが失われるか、適切な再生レートを維持しようとしてフレームが落とされるのでムービーのコマがジャンプしたように見えるかもしれません。
コンテンツタイプ(Content Type)
メディアデータが格納されているフォーマットはそのコンテンツタイプ(content type)と呼ばれます。QuickTime、 MPEG、WAV は みなコンテンツタイプ(Content type)の一例です。コンテンツタイプはファイル形式と本質的に同義ですが、メディアデータがローカルファイル以外のソースからもしばしば得られるという理由でコンテンツタイプが使われます。
メディアストリーム(Media Streams)
メディアストリーム(media stream)というのは ローカルファイル、ネットワーク、カメラまたはマイクのキャプチャ から獲得した メディアデータです。 メディアストリームはしばしばトラック(tracks)と呼ばれる多重チャンネルを含んでいます。 例えば、Quicktime ファイルは 音声トラック と 映像トラックのどちらも含んでいます。多重トラックを含むメディアストリームは しばしば 多重化された(マルチプレックスド:multiplexed) または合成(コンプレックス:complex)メディアストリームと呼ばれます。非多重化(デマルチプレキシング:Demultiplexing)というのは多重メディアストリームから個々のトラックを展開する処理のことです。
トラックのタイプは音声または映像のようにそれが含んでいるデータの種類を識別します。 トラックのフォーマットはトラック用のデータがどのように構成されているか定義します。
その位置、およびそれにアクセスするために使用されるプロトコルはメディアストリームを識別することができます。例えば、URLはローカルまたはリモートのシステム上のQuickTimeファイルの位置について記述するために使用されるかもしれません。そのファイルがローカルの場合、それはFILEプロトコルを通ってアクセスすることができます。 他方では、それがウェブサーバ上にある場合、ファイルはHTTPプロトコルを通ってアクセスすることができます。メディアロケータ(media locator)はURLを使用することができない場合にメディアストリームの位置を識別する方法を提供します。
メディアストリームはデータがどのように運ばれるかによって次のように分類することができます。:
- プル(Pull)--データ転送がクライアント側から始められコントロールされます。例えば、ハイパーテキスト・トランスファー・プロトコル(HTTP)および FILE はプル プロトコルです。
- プッシュ(Push)--サーバーがデータ転送を始めて、データのフローをコントロールします。例えば、リアル・タイム・トランスポート・プロトコル(RTP)はメディアをストリームするために使用されるプッシュプロトコルです。同様に、SGI MediaBaseプロトコルはビデオ・オン・デマンド(VOD)のために使用されたプッシュ プロトコルです。
コモンメディアフォーマット(Common Media Formats)
次の表はいくつかのコモンメディアフォーマットの特徴を識別します。 フォーマットを選択する場合、フォーマットの特性、ターゲットの環境および意図した聴衆の期待を考慮に入れることは重要です。 例えば、ウェブによってメディア内容を伝えていれば、帯域幅必要条件に特別の注意を払う必要があります。
CPU必要条件の列は指定されたフォーマットの最適のプレゼンテーションに必要な処理力を特徴づけます。 帯域幅必要条件の列は最適のプレゼンテーションのためにデータを十分に速く送受信するのに必要な送信速度を特徴づけます。
Cinepak AVI
QuickTime中 低 高 MPEG-1 MPEG 高 高 高 H.261 AVI
RTP低 中 中 H.263 QuickTime
AVI
RTP中 中 低 JPEG QuickTime
AVI
RTP高 高 高 Indeo QuickTime AVI 中 中 中
表 1-1: コモンビデオフォーマット
PCM AVI
QuickTime
WAV高 低 高 Mu-Law AVI
QuickTime
WAV
RTP低 低 高 ADPCM
(DVI,
IMA4)AVI
QuickTime
WAV
RTP中 中 中 MPEG-1 MPEG 高 高 高 MPEG
Layer3MPEG 高 高 中 GSM WAV
RTP低 低 低 G.723.1 WAV
RTP中 中 低
表 1-2: コモンオーディオフォーマット
いくつかのフォーマットは特別の適用および必要条件を考慮に入れて設計されています。高品質および高帯域幅のフォーマットは一般的に、CD-ROM記憶アプリケーションあるいはローカルの記憶アプリケーションの向けをターゲットにしています。H.261とH.263は、ビデオ会議アプリケーションのために一般に使用され、多くのアクションがない場合、H.261とH.263はビデオのために最適化されます。 同様に、G.723は典型的に電話アプリケーションのための低いビット-レートスピーチを生産するために使用されます。
メディアプレゼンテーション
ほとんどの時系列メディアはスピーカとモニタのような出力装置を通して表現可能な音声と映像のデータです。 そのような装置はメディアデータ出力のための最も一般的な 送り先(デスティネーション:destination)です。 メディアストリームは他の送り先へも送信されます--例えば、 ファイルへの保存またはネットワークを介しての送信です。 メディアデータのための出力の送り先は 時々データシンク(data sink)と呼ばれます。
プレゼンテーションコントロール(Presentation Controls)
メディアストリームが示されている間、VCRスタイルプレゼンテーション・コントロールはユーザが再生をコントロールすることを可能にするためにしばしば提供されます。 例えば、ムービープレーヤー用のコントロールパネルは、ムービーの停止、開始、早送り、巻き戻しボタンを提示するでしょう。
潜在(Latency)
多くの場合に、特にネットワーク上で存在するメディアストリームを示す場合、メディアストリームのプレゼンテーションは直ちに開始することができません。そのプレゼンテーションが開始可能になる前の時間を開始潜在(スタートレイテンシー:start latency)と呼びます。ユーザは、スタートボタンのクリックと再生が現実にスタートする時間差としてこれを経験するかもしれません。
マルチメディア・プレゼンテーションは、しばしば同期させられたプレゼンテーションへいくつかのタイプの時系列メディアを組み合わせます。例えば、BGMはイメージ・スライドショー中に演奏されるかもしれません。あるいは、テキストアニメーションは、オーディオかビデオクリップと同調するかもしれません。多数のメディアストリームのプレゼンテーションが同期させられる場合、各ストリームのスタートレイテンシーを考慮に入れることが必要です--そうでなければ、異なるストリームの再生は、異なる時に現実に始まってしまいます。
プレゼンテーションクォリティー(Presentation Quality)
メディアストリームのプレゼンテーション品質は次のものを含むいくつかの要因に依存します:
伝統的に、より高質であればあるほど、より大きなファイル・サイズであればあるほど、より大きな処理能力および帯域幅が要求されます。 通常、帯域幅は一定の期間に送信されるビット数で表現されます。―― ビットレート(bit rate)。
高品質なビデオプレゼンテーションを達成するには、 各期間に表示されるフレームの数(フレームレート:frame rate) はできるだけ高くあるべきです。通常、毎秒30フレームのフレームレートのムービーは、普通のテレビ放送あるいはビデオテープと判別不能であると考えられます。
メディアプロセッシング(Media Processing)
ほとんどの実例では、ユーザに提示される前に、メディアストリームのデータは操作されます。一般に、下記の処理手順が、プレゼンテーションの前に生じます。:
- 多重化されたストリームの場合、個々のトラックが展開されます。
- 個々のトラックが圧縮されている場合、それらがデコードされます。
- 必要であれば、トラックは異なるフォーマットへ変換されます。
- (希望があれば)エフェクトフィルターがデコードされたトラックへ適用されます。
その後、トラックは適切な出力装置に配達されます。 メディアストリームが出力装置にレンダリングする代わりに格納されることになっている場合、プロセスステージはわずかに異なるかもしれません。 例えば、あなたがビデオカメラからの音声および映像をキャプチャしたい場合は、次のようにデータを処理して、ファイルに保存してください。:
- 音声と映像のトラックがキャプチャされる。
- (希望があれば)エフェクトフィルタが生トラックに適用される。
- 個々のトラックがエンコードされる。
- 圧縮したトラックは、一つのメディアストリームへ多重化される。
- その後、多重化されたメディアストリームは、ファイルに保存される。
デマルチプレクサ(Demultiplexers)とマルチプレクサ(Multiplexers)
デマルチプレクサ(Demultiplexers)は、多重化されたメディアストリームからメディア・データの個々のトラックを抽出します。 マルチプレクサ(mutliplexer)は反対の機能を実行します、それは、メディア・データの個々のトラックをとり、一つの多重化されたメディアストリームへそれらを合併します。
コーデック(Codecs)
コーデックはメディアデータの圧縮と非圧縮を実行します。 トラックがエンコード(圧縮)される場合はメディアデータが記憶装置または送信にふさわしいフォーマットへ変換され、デコード(解読)される場合はメディアデータがプレゼンテーションにふさわしい圧縮されていない(生の)フォーマットへ変換されます。
各コーデックは、扱うことができるある入力フォーマットおよび描画(再生)可能な出力フォーマットを持っています。 いくつかの状況で、一連のコーデックはあるフォーマットから別のフォーマットに切り替えるために使用されるかもしれません。
エフェクトフィルタ(Effect Filters)
エフェクトフィルタは、ぼかしやエコーのような特殊効果を作成するためにある方法でトラックデータをしばしば修正します。
エフェクトフィルタは、コーデックがトラックを処理する前あるいは後のどちらに適用されるかどうかに依存して、前処理あるいは後処理に分類されます。典型的には、エフェクトフィルタは圧縮されていない(生)データに適用されます。
レンダラ(Renderers)
レンダラはプレゼンテーション装置の抽象的概念です。音声についての典型的なプレゼンテーション装置はスピーカーに音を出力するコンピューターのハードウェア(サウンド・カード)です。映像についての典型的なプレゼンテーション装置はモニタです。
合成(Compositing)
ある特定の装置は合成(compositing)をサポートします。 時系列メディアを合成するというのは単一のプレゼンテーションの中に多数のトラックデータを組み合わせる処理です。例えば、ビデオプレゼンテーションにテキストを被せることは合成の共通形式のひとつです。合成はハードウェアあるいはソフトウェアのいずれかの中で行われます。 合成を実行する装置は、入力データの多数のトラックを受け取ることができるレンダラとして抽象化できます。
メディアキャプチャ(Media Capture)
時系列メディアは処理または再生するためにライブソース(live source)からキャプチャすることができます。例えば、音声はマイクロフォンまたはカメラから映像を得るのに使われるビデオキャプチャカードからキャプチャすることができます。キャプチャすることは標準的なメディア処理モデルの入力(input)と考えることができます。
キャプチャ装置は多数のメディアストリームを伝えるかもしれません。例えば、ビデオカメラは音声と映像の両方を伝えます。これらのストリームはキャプチャされ、単一のストリームに分けられたり、音声トラックと映像トラックの両方を含む多重ストリームに合成されたり操作されるかもしれません。
キャプチャ装置(Capture Devices)
時系列メディアとキャプチャするには特別なハードウェアが必要です--例えば、ライブソース(live source)から音声をキャプチャするには、マイクロフォンとそれにふさわしいサウンドカードが必要です。 同様に、TV 放送のキャプチャを求めるならTVチューナとそれにふさわしいビデオカードが必要です。ほとんどのシステムは、どのキャプチャ装置が利用可能か知るために問合せるメカニズムを提供します。
キャプチャ装置はプッシュソース(push sourcesあるいはプルソース(pull sources)のどちらか一方と見なすことができます。例えば、スチール・カメラはプルソースです--ユーザは、いつイメージをキャプチャするべきであるかコントロールします。マイクロフォンはプッシュソースです--ライブソース(live source)は継続的に音声ストリームを提供します。
キャプチャされたメディアストリームの形式はキャプチャデバイスが実行する処理に依存します。ほとんど処理しないで生または非圧縮データを運ぶキャプチャ装置もあり、圧縮済みのデータを運ぶキャプチャ装置もあります。
キャプチャコントロール(Capture Controls)
キャプチャ処理の管理を可能にするためにコントロールが提供されることがあります。 例えば、キャプチャコントロールパネルはキャプチャストリームのデータレート・エンコードタイプの明示とキャプチャ処理の開始・停止を可能にします。