API からのぞく iOS の未来

iOS のグラフィックスを司る Core Graphics フレームワークの中にある CGColorSpace という色空間を担当するクラスのインターフェースを眺めていたら、以下ような記述を見つけました。これらは全て iOS 9.0 で追加された APIです。

※Medium の行間が広いせいもあってちょっと長いです。あと勢いで書いたので所々日本語がおかしいのはご容赦ください。

kCGColorSpaceGenericGray
The name of the generic gray color space.
kCGColorSpaceGenericRGB
The name of the generic RGB color space.
kCGColorSpaceGenericCMYK
The name of the generic CMYK color space.
kCGColorSpaceGenericRGBLinear
The name of the generic linear RGB color space. This is the same as kCGColorSpaceGenericRGB, but with a gamma equal to 1.0.
kCGColorSpaceAdobeRGB1998
The name of the Adobe RGB (1998) color space. For more information, see “Adobe RGB (1998) Color Image Encoding”, Version 2005–05, Adobe Systems Inc. (http://www.adobe.com).
kCGColorSpaceSRGB
The name of the SRGB color space.
kCGColorSpaceGenericGrayGamma2_2
The name of the generic gray color space with a gamma value of 2.2.
kCGColorSpaceGenericXYZ
The name of the generic XYZ color space.
kCGColorSpaceACESCGLinear
The name of the ACEScg color space. For more information, see “ACEScg — A Working Space for CGI Render and Compositing”, Version 1.0.1, Academy of Motion Picture Arts and Sciences (http://www.oscars.org/science-technology/sci-tech-projects/aces).
kCGColorSpaceITUR_709
The name of the ITU-R Recommendation BT.709 color space. For more information, see “BT.709 : Parameter values for the HDTV standards for production and international programme exchange”, Version 2015–06, International Telecommunication Union (https://www.itu.int/rec/R-REC-BT.709).
kCGColorSpaceITUR_2020
The name of the ITU-R Recommendation BT.2020 color space. For more information, see “BT.2020 : Parameter values for ultra-high definition television systems for production and international programme exchange”, Version 2014–06, International Telecommunication Union (https://www.itu.int/rec/R-REC-BT.2020).
kCGColorSpaceROMMRGB
The name of the ROMM RGB color space. For more information, see “Reference Output Medium Metric RGB Color Space (ROMM RGB) White Paper”, Version 2.1, Eastman Kodak Company (http://www.kodak.com/global/plugins/acrobat/en/professional/products/software/colorFlow/romm_rgb.pdf).
kCGColorSpaceDCIP3
The name of the DCI P3 color space, created by Digital Cinema Initiatives, LLC. This color space is the digital cinema standard.
kCGColorSpaceDisplayP3
The name of the Display P3 color space, created by Apple Inc. This color space uses the DCI P3 primaries, a D65 white point, and the same gamma curve as the sRGB color space.

AdobeRGB1998 とか DCIP3 とかがちゃっかり追加されているわけですよ。これが意味するものは一体何なのかを予想してみようと思います。

iOS 9.3 以降ではカラーマネージメントがはたらいている

WWDC'16 でちらっと言及されていたのですが、iOS は9.3からカラーマネージメントがはたらいているそうです。今まで iOS で扱われる色は全てデバイス RGB だったので、はっきり言って色は雑に扱われていたも同然だったわけですが、これがやっと Mac と肩を並べられるようになったわけです。9.3の時点でなんとなく未来予想はできていたのですが、今回WWDC'16の発表を聞いてそれがほぼ確信に変わりました。Apple は iOS での色の扱われ方を見直そうとしています。

iOS が Adobe RGB / P3 / ITU-R BT.709 に対応する意味とは

Adobe RGB は DTP などの業界で使われてきた色空間の規格の一つです。この RGB 空間で絵を描けば sRGB よりも広い範囲の色を使って表現することができるため、写真編集やグラフィックス制作現場では Adobe RGB 対応のモニターが必要になります。安物のモニターでは sRGB すらもまともに表現できなかったりするので、せっかく綺麗な写真を撮ったとしても見かけ上では色が丸め込まれてしまうわけです。そこで表現の幅が広い Adobe RGB が登場するわけですが、もちろんモニターがそれをカバーしていないと結局素材の色とモニター上の色と出力した媒体上の色が大きく乖離してしまうことになります。

P3 カラーと呼ばれる規格は主に映像、とりわけ映画制作の現場で使われているもののようです。映像は専門外なため詳しいことはよくわかっていない部分もあるのですが、要は映画のフィルムの色に近い表現ができる色空間=P3 ということのようです。

http://jp.red.com/news/cinema-color-management-jp

Adobe RGB や P3, ITU-R BT.709 といったいわゆる“プロ仕様”の色空間に iOS が対応する意味、これはもうほぼ決まりといっても良いのではないでしょうか。当初の iPhone は OS が OS X iPhone とも呼ばれていた通り、iPhone は Mac の一部の機能を移植した携帯電話という扱いでした。それが9年経って iPad Pro も登場し、iPhone / iOS の役割が大きく変わってきたということです。そして今回 WWDC'16 では RAW イメージの編集に対応する旨が発表されました。これらの事実も踏まえ近い将来、iPad Pro 版 Final Cut Pro が登場し、iCloud を活用したコンティニュイティによって Mac ともシームレスに連携し、デバイスに縛られない映像制作が Apple のプラットフォーム内で行えてしまう、そんな未来がこの API からは見えてきます。

8K 世界の到来?

あの API にさらっと kCGColorSpaceITUR_2020 という記述が見られるのですが、ITU-R BT.2020 とかでググるとスーパーハイビジョン(UHDTV=8K)の記事がいろいろと出てきます。iOS そして macOS が UHD の色空間に対応するということはつまり、Apple のロードマップ上では 8K 環境で iOS や macOS が稼働することを想定しているということです。8K 解像度の iPad が出るのか、8K モニターへの出力にも耐えうるシステムを構築しているのか、あるいは iTunes で 8K コンテンツの配信を計画しているのか、その辺はまだはっきりとはわかりませんけれども、Apple が 8K を意識しているのは確実だと言えます。

8K と言うと家電業界とか映像業界とかそっちの世界の事象のように思ってしまいますけれど、8K のインパクトはものすごいものになりそうな予感がします。世の中のコンテンツの多くはデジタル化されて web に乗っかってモバイルデバイスにまで到達します。モバイルの世界でデザインしてコードを書いている我々も 8K の到来を無視できないと思われます。

さてどう構えておきましょうか。