このページの本文へ

前へ 1 2 3 次へ

もっと知りたい! Snow Leopard ― 第6回

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年ぶりの大改修が加えられたことになる。一体どこが変わったのか、技術的な話も交えて見ていこう。

Mac OS X 10.6 Snow Leopard Mac OS X 10.6 Snow Leopard

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」である。

前へ 1 2 3 次へ

この特集の記事

ASCII.jp RSS2.0 配信中