動画エンコードの謎を解く

動画を録画するとき、実際に何が起きているのか

お気に入りの作品ができあがりました。ところが小さなダイアログが現れて、頼んだ覚えのない質問を投げかけてきます。コーデック? コンテナ? ビットレート? クロマサブサンプリング? ほしかったのは動画ファイルひとつだけなのに。

私がこの沼にはまったのは、Chromatose の内蔵ビデオレコーダーを開発していたときでした。私はソフトウェアエンジニアですが、その私でさえ動画フォーマットの世界は不必要にわかりにくいと感じました。重なり合う略語の濃い霧が立ちこめ、どの答えも「他の3つのことはもう知っている前提」で書かれているのです。そこで、当時の自分が読みたかったガイドを書きました。コンピューターサイエンスの学位は不要です。読み終わるころには、あのエクスポートダイアログの各設定が実際に何をしているのかがわかり、どれを選べばいいかもはっきりしているはずです。

いちばん大事な考え方:用途がフォーマットを決める

この記事から1つだけ持ち帰るとしたら、これにしてください。その動画が「何のためのものか」が、使うべきフォーマットを決めます。 ここさえ押さえれば、他のほとんどの設定は自然と決まります。

一般的な用途は、実のところ2つしかありません。

  • 完璧なマスター - さらに編集したり、アーカイブしたり、単純に最高画質で残しておきたい素材です。この場合は ProRes を選びます。視覚的ロスレスなフォーマットで、ほとんど何も捨てません。ファイルは大きくなりますが、画質は現実的に手が届く範囲で「手つかず」に最も近いものになります。Chromatose では Video Quality の 「Studio (ProRes)」 がこれにあたります。
  • 完成品のアップロード - YouTube、Instagram、TikTok にそのまま上げるバージョンです。この場合は HEVC(H.265 とも呼ばれます)を選びます。非常に効率の高いフォーマットで、どのプラットフォームも喜んで受け取る小さなファイルを作りながら、見た目もしっかり保ちます。Chromatose では 「Social (HEVC)」 がこれにあたります。
1つの録画が2つの道に分かれる図。片方は編集タイムラインへ向かう完璧な ProRes マスター、もう片方は SNS へ向かう圧縮された HEVC ファイル。
同じ映像でも、用途は2つ。Studio (ProRes) は編集やアーカイブのための完璧なマスターを残し、Social (HEVC) は実際にアップロードする小さなファイルを作ります。

Chromatose をお使いですか? 触るのはこれだけです

この記事は動画エンコード全般についてのものですが、Chromatose から動画をエクスポートしたいだけであれば、このセクションだけで十分です。

Chromatose は技術的なエンコード設定をすべて、あらかじめ正しく設定してあります。ですから以下に出てくる略語について悩む必要はありません。あなたが選ぶのは次の3つだけです。

  • レンダーモード - 8-Bit SDR、16-Bit SDR、16-Bit HDR のいずれかを、Graphics Engine の設定で一度だけ指定します。色の豊かさを決める設定です(色空間については後ほど詳しく説明します)。
  • フレームレート - デフォルトは 60fps で、動きが最もなめらかになるため、この設定を推奨します。
  • Video Quality(エクスポート時) - マスターや追加編集用なら Studio (ProRes)、アップロード用なら Social (HEVC)。

トレードオフは常にファイルサイズです。画質が良くなるほど、ファイルは大きくなります。

Chromatose の録画ダイアログ。Video Encoding の選択肢である Social (HEVC) と Studio (ProRes)、および Resolution の選択肢が表示されている。
エクスポートの判断は、このダイアログだけで完結します。Social (HEVC) か Studio (ProRes) を選んで、Start Recording を押すだけです。

決めるのはこれだけです。コーデック、コンテナ、色空間、伝達関数、ビット深度、サブサンプリング、ビットレートは、すべて自動で処理されます(各レンダーモードの詳しい設定内容は、記事の終盤にまとめてあります)。この記事の残りの部分は、その理由の話です。理解しておく価値は十分にありますが、手作業で設定する必要は決してありません。


まずは、混乱の半分を解消してくれる区別から

ほとんどの人がこの2つを混同しています。そして混同をやめた瞬間、動画フォーマットは驚くほどシンプルになります。

コンテナは箱です。コーデックは箱の中身です。

.mp4 や .mov で終わるファイルを見かけたら、それはコンテナです。映像ストリーム、音声ストリーム、字幕、タイミング情報、サムネイルなど、すべてをまとめて包む入れ物のことです。よく出会うのは MP4 (世界共通の標準)と MOV (Apple の QuickTime コンテナ。実は MP4 はこれをベースに作られました)の2つです。大半のアップロード用途では相互に置き換えが利きます。ProRes はほぼ必ず .mov に収まっています。

コーデックは、その箱の中で動く巧妙な数学のことです。動画を天文学的なサイズにしないよう圧縮します。「codec」は coder-decoder の略で、エクスポート時に映像をエンコードし、誰かが再生するときにデコードします。H.264 や HEVC がコーデックです。

つまり、1つの .mp4 ファイルの中身は H.264 映像かもしれませんし、HEVC 映像かもしれません。同じ箱、違うエンジンです。コンテナは画質についてほとんど何も教えてくれません。教えてくれるのはコーデックと、あなたがそれに与えた設定です。この区別を頭に入れておくだけで、すでに多くの人より一歩先に進んでいます。

すでに何となく知っていること:解像度とフレームレート

深いところに入る前に足場を固めておくため、間違いなく見たことのある2つの設定に触れておきます。

解像度 は、1フレームを構成するピクセルの数です。1080p(「フル HD」)は 1920x1080 です。「4K」は 3840x2160 で、1080p の4倍のピクセル数です。「8K」は 7680x4320 です。ピクセルが増えるほどディテールは増え、ファイルも大きくなります。

フレームレート は fps(1秒あたりのフレーム数)で表され、動きの錯覚を作り出すために毎秒何枚の静止画が切り替わるかを示します。24fps は映画的な見た目になります。30fps はソーシャル動画の標準です。60fps はなめらかで流れるようで、速い動きに向いています。フレームが増えれば、こちらもファイルは大きくなります。Chromatose はデフォルトで 60fps でレンダリングします。最もなめらかな設定であり、速く流れるような動きをシャープに保つために、そのまま使うことをおすすめします。

ここまでに議論の余地はありません。この2つが簡単なのは、鮮明さとなめらかさという目に見えるものに対応しているからです。この先の設定が難しく感じられるのは、問題が起きるまで目に見えないから、ただそれだけです。

大きな考え方:圧縮と、アップロードのたびに少し失われる理由

居心地の悪い真実をお伝えします。あなたがこれまでアップロードしたほぼすべての動画はデータを捨てており、それを完全に防ぐ設定は存在しません。

無圧縮の生の映像は巨大です。無圧縮 4K のわずか数秒が、HD 映画1本分より大きくなることもあります。保存はおろか、配信などとても現実的ではありません。そこでコーデックが圧縮するわけですが、日常的に使われるものは非可逆な方法を取ります。つまり、あなたの目が気づきにくい情報を恒久的に捨てるのです。圧縮アーティファクト とは、その判断を誤ったときに残るものです。暗いシーンに現れるブロック状のムラ、なめらかなグラデーションであるはずの空を横切るカラーバンディング 、輪郭のまわりにまとわりつく微かなちらつき(「モスキートノイズ」)などです。

これは現実的な期待値を持つうえで重要です。非可逆な配信用コーデックから、本当に完璧な結果を得ることはできません。 品質を目一杯まで上げれば損失は小さくなります。スマートフォンの画面では誰も気づかない程度にまで小さくなりますが、ゼロにはなりません。本当に手つかずの品質を得る唯一の方法は、非可逆圧縮を完全に避けることです(これと ProRes については終盤で詳しく触れます)。

これは腹を立てるような欠陥ではありません。インターネット上の動画を成り立たせているトレードオフそのものです。求められるのは、少しの損失が許される場面(アップロード)と、許されない場面(マスタリング)を見分けることだけです。

Chromatose で作るような作品を扱うなら、知っておく価値のある細かな事情があります。これらのコーデックは実写映像に合わせて調整されています。顔、肌の色、風景、現実世界のやわらかなグラデーションです。細い線やくっきりしたエッジ、激しい動きに満ちた、シャープで抽象的、高コントラストなビジュアルを与えると、コーデックははるかに苦戦します。圧縮がそうした素材向けに最適化されていないため、アーティファクトが早く現れ、きれいなレンダリングを得るにはより多くの工夫が必要になります。(なぜそうなるのかを視覚的に解説した、目からうろこの内容として この動画 は一見の価値があります。)

ここから、設定しておくべき現実的な期待が導かれます。録画・圧縮されたクリップは、あなたのデバイス上で Chromatose が生成している、ライブで無圧縮のビジュアルほどには決して良く見えません。 アプリの中で動いているものこそが、本物のピクセル単位で正確な映像です。エクスポートはその忠実な複製ですが、あくまで圧縮された複製です。これは Chromatose 特有の癖ではなく、動画ファイルに録画するあらゆるツールに当てはまります。

コーデックを知る:H.264、HEVC、AV1、VP9

実際に出会う4つの名前と、それぞれの得意分野です。

H.264(AVC とも呼ばれます)

信頼できる働き者です。H.264 は2003年から存在し、あらゆる場所で再生できます。今世紀に作られたスマートフォン、ブラウザ、テレビ、編集アプリのすべてに対応しています。実質的には8ビットカラーのフォーマットで(ビット深度についてはすぐ後で説明します)、標準的な動画には十分です。最大限の互換性と、驚きのない結果がほしいなら、H.264 が安全な選択肢です。

HEVC(H.265 とも呼ばれます)

効率的な後継者です。HEVC は H.264 とほぼ同等の画質を、およそ半分のファイルサイズで実現します。4K や、ネットワーク越しに送るあらゆるものにとって大きな利点です。難点は、エンコードの負荷が高いこと(デバイスはより長く、より激しく働きます)。そして、より高品質な色を扱えるため、HDR で選ばれるコーデックになっています。最新の Apple デバイスは HEVC を見事に処理でき、まさにそれが Chromatose の録画フォーマットに採用された理由です。

H.264 と HEVC はどちらも非可逆です。どちらも完璧なエクスポートは得られません。HEVC は、避けられない損失をファイルサイズの面で安く済ませてくれるだけです。

AV1 と VP9

新世代の選択肢です。VP9 (Google 製)は YouTube が配信に多用しているものです。AV1 はその後継で、HEVC よりさらに効率的ですが、エンコードが極端に遅く、すべてのデバイスで使えるわけでもありません。当面、自分でこれらにエクスポートすることはまずないでしょう。主に大手ストリーミングプラットフォームが帯域を節約するために使っています。名前を知っておく価値はありますが、悩む必要はありません。

コーデック最適な用途トレードオフ
H.264 / AVC最大限の互換性新しいコーデックよりファイルが大きい
HEVC / H.265小さな 4K・HDR ファイルエンコードが遅い
AV1最高の圧縮効率エンコードが非常に遅く、普及も途上
VP9Web ストリーミング(YouTube)Google エコシステム、手動エクスポートは稀

ビットレート:本当に効く画質のつまみ

解像度がピクセルの数、フレームレートがその頻度だとすれば、ビットレート はそれらを記述するために費やすデータ量です。Mbps(1秒あたりのメガビット数)で測られ、圧縮された動画の見た目を左右する最大の要素です。

ビットレートが低ければファイルは小さく、アーティファクトは増えます。高ければファイルは大きく、アーティファクトは減ります。トレードオフはそれだけです。ビットレートを絞った 4K の動画は、たっぷり与えた 1080p より見劣りします。それを支えるビットレートのない解像度は、空約束にすぎません。

この予算の使い方には2つの方式があります。

  • VBR(可変ビットレート) は、複雑で動きの速いシーンに多くのデータを割き、単純で静かなシーンには少なく割り当てます。メガバイトあたりの画質という点で賢い方式で、アップロードするファイルには通常こちらを選びます。
  • CBR(固定ビットレート) は、最初から最後まで一定のデータレートを保ちます。予測しやすく、ライブ配信ではこの点が重要になります。

エクスポート設定が窮屈に感じられる理由の1つは、アップロード先が上限を決めていることが多いからです。たとえば Instagram の動画は 25 Mbps あたりが上限です。ここで多くの人がつまずく点があります。プラットフォームが対応する以上のビットレート(や解像度)のファイルを渡しても、丁重に断ってくれるわけではありません。何の警告もなく、プラットフォーム側の条件であなたの動画を勝手に再圧縮します。 こうなると素材は非可逆の圧縮工程を2度通ることになります。あなたが1回、プラットフォームが1回です。二重圧縮はアーティファクトの上にアーティファクトを積み重ねます。結果は本当に粗くなり得ます。ですからアップロードでは、上限を超えるのではなく、プラットフォームの制限に合わせてください。 超過しても画質は買えません。静かに画質を失うだけです。

(詳細設定で 5.1 のようなコーデックの「レベル」を見かけたら、それはプレイヤーが対応を約束する解像度+フレームレート+ビットレートの上限をまとめた表記にすぎません。たとえばよく使われるレベルの1つは、4K・60fps を約 40 Mbps までカバーします。触る機会はめったにありません。)

もう1つ、目にするかもしれませんが読み飛ばして構わない用語があります。キーフレーム、または GOP (Group of Pictures)です。コーデックはすべてのフレームを丸ごと保存するわけではありません。ときどき完全なフレームを1枚保存し、その間は前のフレームから変化した部分だけを記録します。圧縮が成立する大きな理由の1つですが、デフォルト値はほぼ常に適切なので、先へ進んで問題ありません。

色:誰もうまく説明してくれない領域

「色」という言葉の中には、実は4つの別々の問いが隠れており、多くの人がそれらを混ぜて語っています。

1. 色空間(どんな色が存在するか)

色空間 は、その動画が使ってよい色の範囲、つまり色域 を定義します。出会うことになるのは次の3つです。

  • sRGB と Rec. 709 - 実質的に同じ色の集合です。sRGB はコンピューター/Web 側で使われる名前、Rec. 709 は HD 映像側で使われる名前です。原色と白色点は共通で、トーンカーブがわずかに違うだけです。標準的で安全、どこで見ても正しく見える色空間です。
  • Display P3 - デジタルシネマの色域である DCI-P3 の、Apple による変種です。(Display P3 と DCI-P3 は同じ色の集合を指します。Display P3 はその色域を、画面向きの白色点と見慣れた sRGB のトーンカーブと組み合わせたものです。)お使いの iPhone や iPad の画面が実際に使っている、より広い色域で、sRGB より明らかに豊かな赤と緑を表現できます。
  • Rec. 2020 (BT.2020 とも) - 4K/8K と HDR のために作られた、はるかに広い色域です。現行のほとんどの画面がまだ表示すらできない色まで記述できます。HDR 規格 Rec. 2100 の土台にもなっています。
CIE 色度図。sRGB / Rec.709、Display P3、Rec.2020 の色域を示す3つの三角形が入れ子状に描かれている。
馬蹄形の領域が、人間の目に見えるすべての色です。それぞれの三角形が色域 - つまり、その色空間が記述できる範囲を表します。sRGB / Rec.709 は Display P3 の内側にあり、Display P3 は Rec.2020 の内側にあります。

色空間を間違えると、自分の画面では問題なく見えるのに、他人の画面では彩度が高すぎたり、妙にくすんで見えたりします。通常のアップロードなら、Rec. 709 / sRGB が全員を満足させる答えです。(色の仕組みを本格的に掘り下げたい方には、この動画 が優れた解説になっています。)

Chromatose のレンダーモードの背後にあるのは、まさにこの選択です。8ビットモードではエンジンは sRGB で動作し、16ビットモードではより広い Display P3 の色域で動作します。 制作中により豊かな色の余地が生まれるということです。エクスポートされたファイルに何が入るかは別の判断であり、そちらは Chromatose があなたの代わりに決めます。詳しくは終盤で説明します。

2. 伝達関数(明るさをどう記録するか)

短いながら重要な余談です。人間の目は明るさを直線的には知覚しません。暗い領域の変化には、明るい領域よりずっと敏感です。そのため動画は明るさをリニアには保存しません。伝達関数(ゆるくガンマ と呼ばれることも多いものです)を適用して数値を人間の知覚に合わせて曲げ、目が実際に違いを見分けられるところに貴重なデータを費やします。

普段これに触ることはほとんどありませんが、先ほどの色空間のうち2つがまったく同じ色を共有しながら見え方が違い得る理由がここにあります。同じ色域、違うトーンカーブというわけです。(好奇心のある方への面白い余談:グラフィックソフトはブレンドやライティングの計算をリニアな光で行うことがよくあります。数値が実際の物理的な明るさに対応する空間でなければ、ブレンドやフェードが自然に仕上がらないからです。そのうえで、保存用に知覚的なカーブへ戻します。)

3. ビット深度(階調の細かさ)

ビット深度 は、黒と白の間をどれだけ細かく刻めるかを表します。

  • 8ビット は1色チャンネルあたり256段階、合計でおよそ1,670万色です。ほとんどの動画には十分で、日常的なストリーミングの大半は今もこれを使っています。
  • 10ビット は1チャンネルあたり1,024段階、10億色を超えます。得られるのは風変わりなネオンカラーではなく、なめらかさです。値と値の間の段階が増えることで、やわらかなグラデーション(夕焼け、霧、淡い影)が、目に見えるバンディング の縞に崩れることなく、なめらかなまま保たれます。HDR には10ビットが事実上必須です。
同じグラデーションを8ビット、10ビット、16ビットで表示した比較図。拡大表示により、ビット深度が上がるにつれてバンディングの段差が消えていく様子がわかる。
同じグラデーション、3つのビット深度。値と値の間の段階が増えるほど、目に見える縞は減ります。Chromatose の16ビットレンダーモードが、8ビットで縞が出はじめる場面でもなめらかさを保てるのはこのためです。

とはいえ、多ければ良いというものでもありません。あえて低いビット深度を選ぶ理由が2つあります。

1つ目はパフォーマンスです。ビットが増えるほど、1フレームごとにレンダーパイプラインを通るデータ量も増えます。つまりビット深度が低いほど、計算は単純に軽くなります。重いパッチを動かしていて、フレームレートを確実に保ちたいときは - 特に古い端末では - 8ビットに落とすことが最も効果的な手段の1つです。ファイルが小さくなり、互換性が広がるというおまけも付いてきます。

2つ目はスタイルです。バンディングは必ずしも欠陥ではありません。あの粗く段になったグラデーションは、初期のデジタルグラフィックスそのものの質感です。レトロでロー・ファイな8ビットらしい雰囲気を狙うなら、低いビット深度こそがそれを生み出します。同じ設定でも、狙いは正反対です。アーティファクトを避けたいときもあれば、あえてそれを求めるときもあります。

4. クロマサブサンプリング(ちょっとずるい近道)

いちばん難しそうに聞こえるのがこれですが、実は私たち自身の目玉に関する愛すべき事実に基づいています。人は色の変化より、明るさの変化のほうをはるかによく感じ取ります。 そこでコーデックはズルをします。明るさはフル解像度で保存し、色のディテールは一部を捨てるのです。それでも本当に気づきません。

動画ファイルは色を YCbCr (YUV と書かれることもあります)として保存します。明るさのチャンネル1つと、色のチャンネル2つです。

(この分け方には、実に面白い歴史が隠れています。カラーテレビ黎明期の名残なのです。初期のテレビは白黒で、明るさしか理解できませんでした。そこでカラー放送が始まったとき、技術者たちは明るさを独立したチャンネルとして残し、色情報を2つの追加チャンネルとして上乗せしました。そうすれば、すでに普及していた何百万台もの白黒テレビでも、グレースケールではあれ新しい放送を映せたからです。1950年代のこの後方互換性のための工夫こそが、動画が今日に至るまで明るさと色を分けている理由です。そして、カメラや Chromatose のようなアプリが録画するたびに、内部で扱っている日常的な赤・緑・青(RGB)の値を、ファイルに書き込む途中でこの「明るさ+色」の形式に変換しなければならない理由でもあります。)

目にする比率は、色のディテールをどれだけ残すかを表しています。

  • 4:4:4 - 色をすべて保持し、何も捨てません。マスタリングや本格的な編集(グリーンスクリーンのキーイングなど)に使われます。
  • 4:2:2 - 水平方向の色情報を半分に。プロの現場でよく使われる中間的な選択肢です。
  • 4:2:0 - 色を4分の1の解像度で保存します。目にはほぼ同一に見え、事実上あらゆる配信の標準です。スマートフォン、ストリーミング、SNS、Blu-ray すべてがこれです。デフォルトになっているのには理由があります。
1つのフレームが、フル解像度のグレースケールの輝度チャンネルと、大きくピクセル化された色チャンネルに分解され、再合成されてもシャープに見える様子を示した図。
4:2:0 の実際の動き。フレームは輝度と色に分解され、色のほうは4分の1の解像度で保存されます(図の中央右、拡大するとブロック状です)。それでも再合成された結果は、元の画像とほとんど見分けがつきません。

アップロード用途では 4:2:0 が正解です。後ろめたく思う必要はありません。

おまけの厄介者:Studio Swing と Full Swing

最後にもう1つ色の落とし穴を。非常に特定的で、そして人を狂わせる不具合の原因になり得るものです。8ビット動画で 0〜255 の範囲をどう使うかには、2つの流儀があります。Full Swing は範囲全体を使い、0 が純黒、255 が純白です。Studio Swing(アナログ放送時代の名残です)は両端を予約し、黒を 16、白を 235 に割り当てます。この2つを取り違えると、黒が乳白色のグレーになったり、白が飛んでクリップしたりします。動画がなぜか少し眠く見えたり、逆にコントラストがきつすぎたりするときは、Swing の食い違いが有力な容疑者です。

HDR(そして EDR、Dolby Vision)

HDR (High Dynamic Range)は、すべてを狭い中間域に押し込めるのではなく、ハイライトを本当に明るく、シャドウを本当に深く見せ、その間を鮮やかな色で満たす飛躍です。(Apple はディスプレイ側の処理を EDR(Extended Dynamic Range)と呼ぶことがあります。)

腑に落ちる考え方はこうです。SDR では、各ピクセルの明るさは 0.0 から 1.0 のスケール上にあり、1.0 がそのフォーマットで許される最も明るい白です。HDR はこの 0.0〜1.0 の範囲を保ったまま、値が 1.0 を超えて上がることを許します。ディスプレイが対応するピーク輝度の余裕まで伸びるわけで、まさにこの 1.0 より上の領域に、あのまばゆいハイライトが宿ります。

HDR は単一のスイッチではなく、揃っていなければならない積み重ねです。10ビットの色深度、Rec. 2020 のような広色域、そして専用の HDR 伝達関数、すなわち PQ (HDR10 と Dolby Vision が使用)か HLG (放送で好まれます)のいずれかです。Dolby Vision はその上に乗るプレミアムな独自方式で、シーンごとに明るさを調整します。

長らく HDR は、日常的に制作する人にとってはほぼ机上の話でした。ストリーミングの大半は素の8ビット SDR で、たとえ作ったとしても本物の HDR を置く場所がなかったのです。それが急速に変わりつつあります。Instagram は HDR 動画に対応し、YouTube も対応しています。 もっとも、YouTube に HDR を正しく取り込ませて表示させるのはかなりブラックボックスで、相応の試行錯誤を伴います。(ねじ伏せたい方には この動画 が具体的な手順を掘り下げています。)要点はこうです。最新の画面が表示できる、広色域で高ビット深度の美しい色は、ついに作ることも共有することもできるようになりました。

では完璧な画質はどう得るのか。ProRes の出番です。

先ほど厳しい原則を確認しました。非可逆の配信用コーデック(H.264、HEVC、AV1)は必ず少しだけデータを捨てます。では、その「少し」が許容できないとき、つまり素材を再編集するときや、アーカイブ用の本物のマスターがほしいときはどうすればよいのでしょうか。

非可逆の配信用コーデックという土俵から完全に降りて、中間(インターメディエイト)コーデックを使います。最も一般的なもの、とりわけ Apple プラットフォームでは Apple ProRes です。

用語について正確かつ率直に述べておきます。ProRes は数学的な意味で厳密にロスレスなわけではありません。業界で 「視覚的ロスレス」 と呼ばれるものです。圧縮はしていますが、非常に穏やかに、非常に高いビットレートで行うため、編集・再エクスポート・再編集を何度繰り返しても目に見える劣化が生じません。それこそが中間コーデックの存在意義です。編集に耐えるように作られており、一方で配信用コーデックは再エンコードのたびに静かに少しずつ劣化していきます。(数学的に完璧な品質が本当に必要なら、真のロスレスや無圧縮フォーマットまで行くことになりますが、それらは巨大すぎて、ほとんどの人には現実的ではありません。)

代償はサイズであり、それは決して控えめではありません。ProRes ファイルは同等の HEVC の 5〜10倍、場合によってはそれ以上に大きくなることも珍しくありません。これがあなたが受け入れるトレードオフです。選択肢を残しておくために、多くのディスク容量を支払うのです。

そこから、この記事全体で最も明快な経験則が導かれます。

再び編集するなら、あるいは完璧なアーカイブがほしいなら ProRes でマスターを作りましょう。アップロードする最終成果物は HEVC か H.264 でエクスポートしましょう。

実作業を行い、マスターは ProRes で保管してください。そして共有が必要になるたびに、そのマスターから小さな非可逆の配信用ファイルを書き出します。可能なかぎり、配信用ファイルを編集してさらに別の配信用ファイルとして書き出すのは避けてください。すでに圧縮されたものを圧縮することになり、アーティファクトが急速に積み重なります。

だからこそ Chromatose のレコーダーは、この選択を Video Quality 設定として真正面に置いています。編集やアーカイブ用の本物のマスターがほしいときは Studio (ProRes) を、アップロード用に作るときは Social (HEVC) を選んでください。同じビジュアル、異なる2つの用途です。

チートシート:結局どれを選べばいい?

すべてをまとめます。用途に設定を合わせてください。

Instagram、TikTok、YouTube へのアップロード(よくあるケース):

  • コーデック:HEVC(より小さい)または H.264(最も互換性が高い)。
  • コンテナ:MP4 または MOV。
  • 色:Rec. 709 / sRGB、8ビット、4:2:0。
  • ビットレート:VBR、プラットフォームの上限あたり(例:約 25 Mbps)。大幅に超えないこと。

マスタリングやアーカイブ(再編集する、または完璧に保ちたい):

  • コーデック:ProRes。
  • コンテナ:MOV。
  • 色:元素材が対応する範囲でできるだけ広く深く(4:2:2 または 4:4:4、可能なら 10ビット)。
  • 大きなファイルサイズは受け入れましょう。それが品質を保つ対価です。

HDR 配信(最新の OLED テレビや対応画面向け):

  • コーデック:HEVC、Main 10 プロファイル。
  • 色:Rec. 2020、10ビット、4:2:0。
  • 伝達:HDR カーブ(PQ または HLG)。

大枠だけ覚えるなら、共有するなら圧縮、残すなら ProRes。 あとはこの2つの判断を上手に行うだけです。

Chromatose が推測作業をなくす仕組み

先ほど詳しい設定内容をお約束しました。ここでお見せします。3つのレンダーモードは冒頭で紹介しましたが、この表はそれぞれが裏側で何を設定しているかを正確に示すものです。あなたに残された推測作業が本当に何もないことがわかるはずです。

設定8-Bit SDR16-Bit SDR16-Bit HDR
コンテナMOVMOVMOV
コーデックHEVCHEVCHEVC, Main 10
色ビット深度8ビット10ビット10ビット
色空間Rec.709Rec.709Rec.2020
伝達関数Rec.709Rec.709HLG
クロマサブサンプリング4:2:04:2:04:2:0
ビットレートVBR, 最大 25 MbpsVBR, 最大 25 MbpsVBR, 最大 25 Mbps

(ビット深度は一見の価値があります。8-Bit SDR は8ビットのファイルを出力しますが、16ビットの2つのモードはどちらも10ビットで出力します。 1チャンネルあたり256階調ではなく1,024階調です。これは日常的なアップロードであっても 8-Bit SDR より 16-Bit SDR を選ぶ確かな理由になります。同じ Rec.709 の色でありながら、グラデーションの刻みがはるかに細かく、フェードや空にバンディングが出にくくなるからです。)

とはいえ、ビット深度のセクションで触れたとおり、8-Bit SDR は劣った選択肢ではなく、意図的な選択です。パフォーマンスへの負荷が軽く、ファイルは小さく互換性も広く、そしてあの段になったレトロな質感を狙って出すための方法でもあります。

これらの設定について、いくつか触れておきたい点があります。

  • SDR エクスポートは標準の Rec.709 / sRGB 色空間を使います(両者は同じ原色を共有します)。これは互換性を意図した選択です。世の中のほぼすべてのアプリ、エディター、プラットフォームが sRGB を前提としているため、どこへ持って行っても正しく見えるのはこのフォーマットです。広色域の16ビットで制作している場合でも、SDR エクスポートはこの安全で普遍的な空間へ変換されます。他人の画面でおかしく見えることが決してないようにするためです。
  • HDR エクスポートは Rec.2020 と HLG 伝達関数を使います。 広色域・高ダイナミックレンジの構成で、最新のディスプレイが表示できる豊かさを余さず引き出したいとき(かつ、それに対応したプラットフォームで公開するとき)のためのものです。
  • それ以外 - HEVC、.mov コンテナ、4:2:0 サブサンプリング、プラットフォームが実際に受け入れる範囲に合わせた約 25 Mbps の VBR 上限 - は一定です。配信においては、単純にそれが正しい選択だからです。

そしてコーデックそのもの、HEVC か ProRes かという選択は、冒頭で出てきた Video Quality の選択です。Social (HEVC) はこれらの設定を小さく共有しやすいファイルにまとめ、Studio (ProRes) は代わりにほぼ完璧なマスター用コーデックに差し替えます。用途を選べば、技術的な詳細はすでに正しく整っています。略語だらけのダイアログは存在しません。この記事が始まった地点とはまさに正反対で、それこそが狙いです。

最後に1つ:VJ アプリで使う予定なら

高画質のエクスポートが最終目的地ではない場合、たとえばセット中にライブで再生するために VJ アプリへ読み込むのであれば、もう1つ踏んでおきたい手順があります。別の変換ツールを使って、ファイルをまず HAP にトランスコードしてください。

HAP はリアルタイム再生のために作られたコーデックです。CPU ではなく GPU(グラフィックスチップ)でデコードされるため、VJ アプリははるかに多くのレイヤーを、より高い解像度で、フレームを落とさずに再生できます。ライブビジュアルにおいて、この GPU アクセラレーションによる再生は、なめらかさとカクつきを分ける決定的な違いになります。重い素材をステージ上で確実に動かすための定番の一手です。

霧は晴れました

どれも本当に難しいものではありません。ただ説明が足りず、答えをすでに知っている前提の略語に包まれているだけです。それを取り払えば、残るのはひと握りの率直なトレードオフです。ディテールとファイルサイズ、互換性と効率、共有と保存。それぞれの設定の裏にあるトレードオフが見えるようになれば、エクスポートダイアログは専門用語の壁ではなくなり、あなたが十分に下せる判断の集まりに変わります。

こうしたすべてが、安心して任せられるビデオレコーダーを作るために注ぎ込まれています。そしてもし、エクスポートする価値のあるものをそもそも作ってみたいなら、つまり iPhone や iPad の上で自らの手で生み出すリアルタイムビジュアルに興味があるなら、Chromatose はまさにそのためのアプリです。ぜひ遊んでみてください。