2026.09.03 11:20 ~ 12:00 Otter

AndroidでHDRメディアを「壊さずに」扱う

Androidプラットフォーム 日本語 通訳あり

Android デバイスに搭載されるカメラで撮影した写真・動画を別アプリで開いたら、撮影時の鮮やかさが消えて妙に淡くなっていた、明るい部分が真っ白に飛んでいた、そんな経験はないでしょうか? 近年、Android では HDR (High Dynamic Range) と呼ばれる、肉眼のダイナミックレンジに近い、暗部から明部までの広い輝度・色域を表現する技術の対応が進んでいます。Android 14 で Ultra HDR が導入、Android 15 では HDR スクリーンショットのトーンマッピング改善、Android 16 ではHEIC 版 Ultra HDR の対応など、機能追加が進んでいます。一方で HDR には HDR10 / HDR10+ / Ultra HDR / Dolby Vision / HLG など複数の規格があり、デバイスやコンテンツごとに採用形式が異なります。アプリ側がこれを適切にハンドリングできていないと、白飛びしたり、色空間変換に失敗して淡い色味で表示されたりと、体験のコア部分に影響を与えます。 Android はこれらに対応する API を用意しています。表示や再生だけなら Glide や Media3 ExoPlayer がほとんどを抽象化してくれて、ライブラリに任せて済ませることができます。ところが、メディアの加工、サムネイル生成、共有、カスタムフィルタを伴うプレビューといった高度な要求に対応しようとすると ColorSpace / Gainmap / DataSpace といった普段は意識しない API のレイヤを、開発者が適切に考えて対応する必要があります。一方で、この作業は Android API に関する知識と画像処理に関する双方の知識が求められるため、対応は一筋縄ではいかないことも多くあります。 本セッションでは、写真・動画を中心に据えるメディア系 Android アプリの開発において発表者が実際に遭遇した、あるいは実装過程で遭遇しうる HDRメディアの破綻事例を起点にお話します。原因深掘りのために ColorSpace / Gainmap / DataSpace といった API レイヤまで掘り下げ、Bitmapや動画フレームというメディアそのものを「壊さずに」アプリへ橋渡しするために必要な知識を、実際に遭遇した課題ベースで逆引き解説します。 具体的には以下を扱う予定です。 - HDR とは何か: HDR10 / HDR10+ / Ultra HDR / Dolby Vision / HLG の関係整理 - Android が用意する HDR 関連 API の関係性と使い方 (ColorSpace, Gainmap, DataSpace など) - Glide / Media3 が裏側で何をやってくれていて、何をやってくれていないのかを知る - 具体例に基づく事例: 白飛び・淡い色・Gainmap を失うパターンの原因と対処、デバッグ方法 - OSバージョンやデバイス固有の問題など運用面での課題について このセッションを聞き終わった後には、Glide / Media3 が抽象化してくれている層を分解して理解し、自分のアプリのメディアパイプラインに HDR を「壊さずに」 表現するために何をすべきかを判断できるようになります。

対象者

- メディア(写真・動画)を中心に据えた Android アプリを開発している方 - HDR 対応を行うために必要な、ColorSpace や Gainmap などの聞き馴染みのない概念を理解したい方 - Glide / Media3 だけでは足りないカスタムなメディア表現に挑もうとしている方

同じ時間帯のセッション

すべてのセッションを見る