.
QuickTime Proでオーサリング!

【第3回】

ISMA 1.0準拠のMPEG-4エンコーダーとしてのQuickTime 6(前編)

v6最大の注目であるMPEG-4関連機能を解説

(02/09/19)

 「QuickTime」v6で特に注目されているのは、MPEG-4ファイルが再生・作成できるという機能だ。今回は規格面から見たMPEG-4ファイルの側面を簡単に紹介したのち、実際に「QuickTime Pro」を使ってMPEG-4ファイルを作成してみよう。

ISO MPEG-4とISMA 1.0の関係

 第1回でも述べたとおり、MPEG-4はISO(国際標準化機構)の一部門である“Moving Picture Experts Group”が策定したデジタルムービーの標準規格だ。もうひとつ、MPEG-4がらみでよく聞く言葉として“ISMA”というものもある。こちらは“Internet Streaming Media Aliance”の略で、Apple、Cisco、IBM、Kasenna、Philips、Sun Microsystemsといった企業が設立した団体であり、インターネット上で流通するストリーミングメディアのオープンな仕様の策定を目的としている。2001年10月に“ISMA 1.0”という仕様が発表され、ここでMPEG-4が採用されている。MPEG-4について語るときに、この“ISO準拠”と“ISMA 1.0準拠”という2つの言葉がよく使われるが、どういった関係になっているのか?

 まず、ISOが定めているMPEG-4は、映像、音声だけでなく、2Dや3Dのグラフィックス、ユーザーに提供するインタラクティブ機能など、多くのメディア要素をコンポーネントとしてもった規格だ。各コンポーネントには用途などによってどんな技術を使うのかということを定めた“プロファイル”と呼ばれる技術の集合体がある。

 映像のプロファイルだけを見てみても、モバイル用途を想定して映像圧縮をする“Simple Visual Profile”、インターレースや半透明、スプライトをサポートしている“Core Visual Profile”、スタジオでの映像編集用途を想定し、2Gbpsまでサポートする“Simple Studio Profile”などがある。一方、音声でも非常に低いビットレートで“CELP”という音声圧縮技術を使った“Speech Profile”や“AAC”という音声圧縮技術を使って高品質な“High Quality Audio Profile”、“BSAC”や“TwinVQ”といった技術もサポートする“Mobile Audio Interworking Profile”などのプロファイルが定められている。MPEG-4が非常に広範囲にわたる分野をカバーしているのが分かるだろう。

 また、画面サイズやビットレートなどをプロファイルの中で規定しているのが“レベル”と呼ばれる層だ。プロファイルとレベルは“Simple Visual Profile@Level1”などと組み合わせた形で表記される。これを見ればどんな技術を使って圧縮されたのかが分かるという仕組みだ。詳しくはMPEGの公式サイトMPEG-4 Industry Forumのサイトを参照してほしい。MPEG-4の規格は現在も拡張が続けられており、今後も新たな技術が盛り込まれる可能性がある。

これらISOの定めるMPEG-4のすべてをサポートした製品は現状では存在しない。「QuickTime」も映像、音声の一部のプロファイル、それらをMP4ファイルに統合するシステムの部分しか対応していないのだ。

 一方、ISMA 1.0はインターネット上のストリーミングメディアという限定した範囲での互換性を作りあげようという目的で作られた仕様であり、非常にたくさんあるMPEG-4で定められた映像と音声のプロファイル、レベルの中から一部を選別して“採用する”という形を採っている。また同時にMPEG-4で定められていないさまざまなネットワーク上の伝送手順も決められている。また、ISMA 1.0でも用途、品質によってナローバンドをターゲットとする“Profile 0”と、そのスーパーセットでありブロードバンドをターゲットにする“Profile 1”というプロファイルがある。ISO MPEG-4の中のプロファイルと混同しやすいので注意が必要だ。以下にISMA 1.0が採用しているISOのプロファイル、レベルと、その内容をまとめてみた。

 
映像プロファイル
音声プロファイル
ISMA Profile 0 Simple Visual Profile@Level1
最大画面176×144ピクセル(QCIF)
最大ビットレート64Kbps
(映像・音声あわせて最大128Kbps)
High Quality Audio Profile@Level2
最高サンプリング周波数48KHz
ISMA Profile 1 Advanced Simple Profile@Level3
最大画面352×288ピクセル(CIF)
最大ビットレート1.5Mbps
High Quality Audio Profile@Level2
最高サンプリング周波数48KHz
(映像・音声あわせて最大1.5Mbps)
(映像・音声ともにProfile 0を含む)

「QuickTime Pro」でMPEG-4ファイルを作成する

 「QuickTime Pro」v6はISMA 1.0に準拠したMPEG-4ファイルを作成できる。利用可能なプロファイルは映像の“Simple Visual Profile”と音声の“High Quality Audio Profile”だ。ただし、音声は“High Quality Audio Profile”の中に定められているAACという技術のみの利用になる。

 実際にMPEG-4ファイルを作るのは簡単だ。ソースとなるムービーをPro版の「QuickTime Player」(以下、ただし書きのない場合はPro版のPlayerを指す)に読み込み、[ファイル]-[書き出し]で現れるダイアログボックスの[書き出し:]の項目で[ムービーからMPEG-4]を選ぶだけだ。その下の[出力:]の項目で[デフォルト設定]を選べば、“ISMA 1.0 Profile 1”に準拠したMPEG-4ファイルを書き出してくれる。デフォルトでは、画面サイズ320×240ピクセル、映像ビットレート900Kbps、フレームレート30fps、音声ビットレート64Kbpsに設定される。

MPEG-4ファイル書き出し時のオプション設定ダイアログボックス
MPEG-4ファイル書き出し時のオプション設定ダイアログボックス
 [オプション]ボタンで映像、音声、ストリーミング情報が設定できる。一番上のプルダウンメニューで[一般]を選び、[ビデオトラック:]で[高品質]を選ぶと“ISMA 1.0 Profile 1”のMPEG-4ファイルに、[標準品質]を選ぶと“ISMA 1.0 Profile 0”のMPEG-4ファイルになる。

 同じく一番上のプルダウンメニューで[ビデオ]、[オーディオ]を選ぶと、それぞれのビットレートなどが設定できるようになる。映像、音声の各ビットレートを調整していて、ISMA 1.0で定められた値を超えてしまった場合や、[互換性]の項目で指定したストリーミング時のターゲットとなるビットレートを超えてしまった場合には、ダイアログボックスの下部に注意書きが表示される。

エンコーディングパラメーターと画質、互換性は?

 実際のムービーファイルをパラメーターを変えてMPEG-4ファイルにエンコードする実験をしてみた。実験に用いた映像は、前回サンプルムービーとして掲載したものと同じく、有限会社アーツテックより発売されているムービー素材集「Visual FX Pro Vol.1」を利用して「Adobe After Effects」v5.5から出力した非圧縮のAVIファイルだ。映像は640×480ピクセル、30fps。フィールドレンダリングはしていないので基本的にノンインターレースになっている(一部素材として使われている実写映像はインターレース)。音声はCDクオリティの16ビット、44KHzのステレオだ。CGやモーションタイポグラフィが多用されていて圧縮が効率的にかかる映像や、光のエフェクトや雲模様など圧縮に弱い性質の映像が含まれている。

 まずはデフォルト設定での出力した映像。映像は320×240ピクセル、ビットレートは900Kbpsだ。ムービーの9秒目から10秒目に出てくるオレンジ色がかった雲模様の部分に圧縮映像特有のブロックノイズが見えるが、それ以外はおおむね良好と言えるだろう。
デフォルト設定で出力したMPEG-4ファイル デフォルト設定で出力したMPEG-4ファイル
デフォルト設定で出力したMPEG-4ファイル
quicktime6pro3_def.mp4
(320×240、映像ビットレート900Kbps、1.81MB)

 そのほかの設定はそのままに、映像のビットレートを[オプション]ダイアログボックスの下部で警告が出る直前の値、1,500Kbpsまで引き上げてみた。ひと通り見ただけでデフォルトの設定との差は分からないが、先ほどの雲模様の部分と、3秒目くらいにあるコンピューターのキーボードが背景となっている部分のノイズが減っているのが分かる。
Profile 1の最高ビットレートで出力したMPEG-4ファイル Profile 1の最高ビットレートで出力したMPEG-4ファイル
Profile 1の最高ビットレートで出力したMPEG-4ファイル
quicktime6pro3_def_1500.mp4
(320×240、映像ビットレート1500Kbps、2.93MB)

 [互換性]で[512Kbps DSL/ケーブル]を選び、警告が出ない値まで映像のビットレートを下げてみた。映像のビットレートは360Kbpsだ。ここまでくると明らかにいろいろな箇所にノイズが乗っているのが分かる。
512Kbpsをターゲットとして出力したMPEG-4ファイル 512Kbpsをターゲットとして出力したMPEG-4ファイル
512Kbpsをターゲットとして出力したMPEG-4ファイル
quicktime6pro3_def_512.mp4
(320×240、映像ビットレート360Kbps、860KB)

 続いて[一般]で[標準品質]を選択し、ISMA 1.0 Profile 0のムービーを作ってみた。画面サイズは160×120ピクセル、映像、音声ともに64Kbpsの設定だ。映像のフレームレートは自動的に15fpsになる。
Profile 0のMPEG-4ファイル
Profile 0のMPEG-4ファイル
quicktime6pro3_prof0.mp4
(160×120、映像ビットレート64Kbps、301KB)

 次にISMA 1.0の仕様外のムービーも作ってみた。画面サイズを640×480ピクセルのままとし、ビットレートを900Kbps、1,500Kbpsと、「QuickTime Pro」が作成できる最大のビットレートである2,048Kbpsの計3つで試してみた。900Kbpsと1,500Kbpsとでは明らかな差があるのだが、1,500Kbpsと2,048KbpsのMPEG-4ムービーに目立った差は感じられなかった。“Simple Visual Profile”はある程度のビットレートになると画質が頭打ちになると言われているが、このあたりが境界線なのかもしれない。
VGAサイズのMPEG-4ファイル(1)
VGAサイズのMPEG-4ファイル(1)
quicktime6pro3_900.mp4
(640×480、映像ビットレート900Kbps、1.82MB)

VGAサイズのMPEG-4ファイル(2)
VGAサイズのMPEG-4ファイル(2)
quicktime6pro3_1500.mp4
(640×480、映像ビットレート1,500Kbps、2.91MB)

VGAサイズのMPEG-4ファイル(3)
VGAサイズのMPEG-4ファイル(3)
quicktime6pro3_2048.mp4
(640×480、映像ビットレート2,048Kbps、3.90MB)

 さらに、ビットレートは2,048Kbpsのまま[ビデオ]の項目にある[基準フレーム単位]の値に注目してみた。圧縮された映像にはキーフレームという時間軸圧縮(画面内の動いている部分だけを書き換える)の基準となるフレームが存在する。ここではキーフレームを何フレームごとに入れるのかという設定ができる。今までのサンプルはすべてデフォルトの24を設定してある。24フレーム、10フレーム、1フレーム、0フレームという値で試してみたが、1フレームの場合はファイルサイズが大きくなるだけで激しいブロックノイズが生じ、0フレームの場合は再生時のもたつきが激しく、カクカクしたムービーとなってしまった。
基準フレームを「10」に設定
基準フレームを「10」に設定
quicktime6pro3_2048_10.mp4
(640×480、映像ビットレート2,048Kbps、1.82MB)

基準フレームを「1」に設定
基準フレームを「1」に設定
quicktime6pro3_2048_1.mp4
(640×480、映像ビットレート2,048Kbps、2.91MB)

基準フレームを「0」に設定
基準フレームを「0」に設定
quicktime6pro3_2048_0.mp4
(640×480、映像ビットレート2,048Kbps、3.90MB)

 また、すべてのMPEG-4ファイルの再生時に、[ムービー]-[ムービーの特性を見る]で[ビデオトラック]の[高品質]のチェックを切り替えてみたが、画面サイズが160×120ピクセル、320×240ピクセルの場合には画質が上がる(ただし、再生にもたつくところが出る)が、640×480ピクセルの場合は効果がなかった。
[高品質で再生する]オフ [高品質で再生する]オフ
[高品質で再生する]オフ
 
[高品質で再生する]オフ [高品質で再生する]オフ
[高品質で再生する]オン

 最後に、これまで作ったMPEG-4ファイルをほかのMPEG-4プレーヤーで再生した結果を紹介しよう。Envivioの「EnvivioTV」v1.2.46(「Real Player」と「Windows Media Player」のプラグインとして)、MPEG4IPのオープンソースプロダクトである「wmp4Player」v0.9.5.1では映像、音声ともにすべてのファイルが再生できた。DivXNetworksの「DivX Player」v2.0 Alpha 5は音声コーデックとしてAACを利用できないので音声が出ないが、映像は問題なく再生できた。Philips Electronicsの「Platform4 v1 Player」では、再生は始まるものの音声が途切れ途切れになり、実験した環境では100%異常終了してしまう結果になった。

 次回は「QuickTime Pro」とそれ以外のMPEG-4エンコーダーとのエンコード比較、互換性の検証をしてみる。

今回使用したオンラインソフト

・「EnvivioTV」
【著作権者】Envivio, Inc.
【対応OS】Windows 98/Me/NT 4.0/2000
【ソフト種別】フリーソフト
【バージョン】1.2
□Envivio, Inc.
http://www.envivio.com/

・「wmp4Player」(ソースのみが配布されている「MPEG4IP」に同梱)
【著作権者】MPEG4IP project
【対応OS】(Windows 2000で動作確認)
【ソフト種別】フリーソフト
【バージョン】-(02/07/15)
□MPEG4IP - Open Streaming Video and Audio
http://www.mpeg4ip.net/

・「DivX Player」(「DivX」と「DivX Pro」に同梱)
【著作権者】DivXNetworks, Inc.
【対応OS】Windows 98/Me/2000/XP
【ソフト種別】フリーソフト
【バージョン】2.0 Alpha 5(02/06/13)
□DivX.com: The Official Site of DivX Video
http://www.divx.com/

・「Platform4 v1 Player」
【著作権者】Philips Electronics
【対応OS】(Windows 2000で動作確認)
【ソフト種別】フリーソフト
【バージョン】1.0(02/04/17)
□Philips Digital Networks - MP4NET - Royal Philips Electronics
http://www.mpeg-4.philips.com/

(モッティ)

|
バックナンバー

最終回:ISMA 1.0準拠のMPEG-4エンコーダーとしてのQuickTime 6(後編)(02/10/03)

第3回:ISMA 1.0準拠のMPEG-4エンコーダーとしてのQuickTime 6(前編)(02/09/19)

第2回:QuickTime Playerでムービーファイルを編集しよう(02/09/12)

第1回:QuickTimeとは何か? 最新バージョンv6の新機能(02/09/05)

トップページへ
QuickTime Proでオーサリング! INDEX
Copyright (c) 2002 Impress Corporation All rights reserved.
編集部への連絡は mado-no-mori-info@impress.co.jp まで