テキスト文書の保存には、計測できるほどの時間はかかりません。表計算も、写真の補正も、スライドも — すべて一瞬か、それに近い速さで終わります。ところが10分の動画を仕上げて書き出しをタップすると、進行バーが腰を据え、コーヒーが冷めるより長く居座ることがあります。自然な結論はこうです。何かがおかしい。アプリが遅い、電話が古い、どこかの誰かが最適化を怠った。たいてい、どれも当たっていません。あの待ち時間は本物の仕事であり、その仕事が実際に何なのかを理解すると、進行バーは苛立ちの種から領収書に近いものへ変わります。出発点は、ほとんどの人が学ぶ機会のなかった事実です。動画ファイルは画像の束ではありません。毎秒30フレームで10分の映像は1万8千枚の画像であり、素朴に保存すればそれだけで電話を丸ごと飲み込みます。端末に実際に載っているのは圧縮されたストリーム — ほとんど何も素直には記録されていない、密に絡み合った記述なのです。
圧縮の手品は、繰り返しを拒むことにあります。完全な絵として保存されるのは、ときどき現れるフレームだけです。それ以外のほぼすべては差分の集まりとして保存されます。このピクセルの塊は少し左へ動いた、あの領域は何も変わらない、この隅は色がこれだけ変わった。各フレームは隣に寄りかかり、その隣もまた隣に寄りかかり、長い鎖をなします。パラパラ漫画というより、「前の手順をもう一度、ただし少し温かく」と言い続けるレシピに近いのです。だから動画ファイルは存在できるほど小さく、だからこそ編集は高くつきます。どれかのフレームの見た目を変えた瞬間、それが属する差分の鎖は現実を記述しなくなります。編集を保存するために、端末は鎖を本物の画像へ展開し、1枚ずつ変更を適用し、絡み合った構造全体を最初から組み直さなければなりません。この組み直しがエンコードと呼ばれ、本当に重い仕事です。エンコーダーはフレーム間の動きを探し、安く記述できるものと綴りきるべきものを判別し、映像1秒ごとに何百万もの小さな判定を下します。
つまり書き出しに数分かかるとき、電話は文字どおりの意味で、動画を内側から撮り直しています。1万8千のフレームを復号し、描き直し、また1万8千のフレームを圧縮するのです。時間が長さと解像度に比例するのは、大きな壁を塗るほど時間がかかるのと同じ理屈です。しかも代償は時間だけではありません。圧縮は非可逆です。エンコードのたびに、気づかれないよう慎重に選ばれた情報が少しずつ捨てられます。1回なら損失は見えません。しかし既にエンコード済みのファイルを再エンコードすると、損失は重なります。コピーのコピーを取るようなものです。1世代なら問題ありません。何世代も — ここを切って保存し、あそこを直してまた保存し — を重ねると、にじみは視聴者が最も見る場所に現れ始めます。顔、文字、空のゆるやかなグラデーション。見ていないあいだに書き出しの仕組みが何をしているかを気にかけるべき、静かな理由がこれです。
これこそ、Talk2Camera にある特定の振る舞いが存在する理由でもあります。すべての編集がフレームの見た目を変えるわけではありません。単純なトリム — もたついた冒頭を切り、末尾の間延びを落とす — は、残るフレームをまったく元のままにします。クリップが書き出しプリセットに既に一致しているなら、描き直すものがなく、したがって再エンコードするものもありません。そこで Talk2Camera は正直な選択をします。もう一度圧縮する代わりに、フレームをそのまま複製するのです。複製は安く、エンコードは高いので、書き出しは劇的に速く終わります。さらに良いことに、複製はビット単位で同一です。ピクセルに一度も触れていない編集のために、品質の世代がひとつも費やされません。この方法で待ち時間を飛ばせるとき、あの待ちは書き出しの代金だったのではありません。ピクセルを変える代金であり、あなたは何も変えていなかったのです。
正直な但し書きは逆方向に走ります。編集が本当にレンダリングを要する瞬間 — フレームが実際に映すものを変える操作なら何でも — 書き出しは再エンコードし、待ち時間は戻ってきます。今度は本物の仕事があるからです。描き直すフレーム、組み直す鎖、下すべき判定。どんな仕組みも複製でそこを素通りはできませんし、できると称する道具は嘘をついています。良いソフトウェアに合理的に期待できるのは、もっと狭くて価値のあることです。再エンコードすべきときに再エンコードし、複製できるときに複製し、その違いを知っていること。だから次に進行バーが腰を据えたら、自分がどちらの待ちにいるのかを問う価値があります。動画の見た目を変えたなら、バーはあなたのために1万8千フレームの正直な労働をこなす機械です。端を切っただけなら、バーは現れる暇もほとんどないはずです — そして Talk2Camera では、たいてい現れません。時間のかからない書き出しは手品ではありません。やるべき仕事のなかった書き出しが、ようやくそのように扱われているだけなのです。