Snow Leopardの深層・その4
18年越しの大改修! Snow LeopardのQuickTime X
2009年09月05日 18時00分更新
Snow Leopardでは、64bit対応、Grand Central Dispatch、Open CLといったOS側の高速化に加えて、もうひとつ大切なアップデートがなされている。それがマルチメディア再生環境の「QuickTime X」だ。
このバージョンにて、QuickTimeは18年ぶりの大改修が加えられたことになる。一体どこが変わったのか、技術的な話も交えて見ていこう。
目次
64bit対応 アプリケーションを64bit化、カーネルを64bit化、Windowsの64bit化は?
Grand Central Dispatch GCDが生まれた背景、GCDとは何か?、GCDの仕組み、GCDを使ったプログラミング、GCDの今後と将来
OpenCL OpenCLが生まれた背景、OpenCLの仕組み、著名企業がサポート
QuickTime X QuickTimeが歩んできた道、大きく変わったQuickTime Player、新しいフレームワーク「QuickTime X」、HTTPライブストリーミング、Carbon アプリケーションの終焉
QuickTimeが歩んできた道
CD-ROMコンテンツで地位を得た
もうはるか昔の話だ。1991年、アップルはマルチメディアのためのフレームワークである「QuickTime」を発表した。
QuickTimeは動画を中心に音声や画像を統一的に扱うシステムのサービスであり、当初こそ「VHSよりサイズが小さく、VHSより汚い画像を、VHSより高価なMacで再生するプレーヤー」でしかなく、注目度は低かった。
しかし当時、普及しつつあったCD-ROMで一躍脚光を集める。CD-ROMに格納するマルティメディアコンテンツのオーサリング環境として、またオーサリングされたコンテンツの再生環境として、一定の地位を築くことに成功したのだ。
その理由は、当初からWindows向けの「QuickTime for Windows」(1992年リリース)を用意しており、オーサリングが楽で映像機器として見れば安価なMacで動画を作成して、世の中の多数派であるWindowsユーザーにコンテンツを販売する、という流れを作り上げたからだ。
以来18年、QuickTimeはMacにとってなくてはならない基本コンポーネントとして存在してきた。旧Mac OSからMac OS Xに大転換するときも、そのまま持ち越されていたのだ。
QuikcTimeの近代化は急務だった
しかし、18年の間にたまった「澱」(おり)のようなコードは、それ以上の進歩を妨げるのに十分な量になってしまった。
当初から拡張性を考えて作られていたQuickTimeは、過去に使われていた低圧縮率/低解像度の「MPEG-1」から、現在の高解像度/高圧縮なH.264やAACを含む「MPEG-4」まで、さまざまなファイル形式やコーデックをサポートしてきた。しかし、そうした過程であまり使われない有象無象の古いコーデックも残ってきたのだ。
GPUの活用も遅れている。Mac OS X自体が、OpenGLを基盤とした「Quartz Extreme」を始めとするグラフィックレイヤーを刷新して、GPUを最大利用できる体勢を整えてきたにも関わらず、QuickTimeは一部プラグインで限られた用途にGPUを使えるのみで、抜本的に改善できない状況にあった。
また、旧Mac OS譲りの時代遅れなAPIは、オブジェクト指向プログラミングが一般化した現在では、あまりにも扱いにくいものであった。QuickTimeの近代化。それは次世代に向かうMac OS Xにとっては急務であったのだ。
Xの下準備となった「QuickTime 7」
もちろん、アップルが何も手を打ってこなかったわけではない。大きな改善は、2005年にリリースし、Mac OS X 10.4 Tigerにも同梱した「QuickTime 7」で実施されたもの。
従来のAPIの上に、CocoaからQuickTimeを制御するクラスライブラリ「QTKit」を新たに追加している。細かく指定できる一方で扱いにくいQuickTimeのネイティブAPIを触るのではなく、Cocoaで扱いやすいObjective-CでラップされたQTKitを使うことで利便性を向上させたのだ。
また、OpenGLの基盤の上で動作するように仕様を改めて、Mac OS Xのグラフィックエンジンである「Core Image」のフィルターを動画に対して適用できる「Core Video」を提供するようになった。
同時期にアップルはデベロッパーに対して、今後はQuickTimeのネイティブAPIの直接操作はサポートしないので、QTKitを使うようにとアナウンスし始めた。そう、Cocoa以前の古いAPI「Carbon」を使うアプリケーションでも、HIViewを通じてCocoaのQTKitを間接的に呼び出すことが必須となったのだ。
こうしたQTKitやiPhone OSでの成果を踏まえて、Snow Leopardで搭載したのが「QuickTime X」である。
この連載の記事
-
第8回
iPhone
Macのバックアップ、Time Machineで始めよう! -
第7回
iPhone
もふもふしたい! Snow Leopardの赤ちゃんを激写 -
第5回
iPhone
GPUをフル活用する、Snow Leopardの「OpenCL」 -
第4回
iPhone
マルチコア時代の新機軸! Snow LeopardのGCD -
第3回
iPhone
やっぱりスゴい! Snow Leopardの「64bit対応」 -
第2回
iPhone
一挙30連発! 画像で見るSnow Leopard新機能 -
第1回
iPhone
Mac OS X「Snow Leopard」インストール完璧ガイド -
第-1回
iPhone/Mac
もっと知りたい! Snow Leopard - この連載の一覧へ