ビデオカメラやスマートフォンで撮影された動画データは、そのままの状態では非常に巨大な情報量を持っています。
このような大容量のデータを、画質を維持しながら扱いやすいサイズに変換し、特定の再生環境に適した形式に整えるプロセスが「エンコード」です。
インターネット上での動画視聴や、動画投稿サイトへのアップロードが当たり前となった現代において、エンコードはデジタルコンテンツを支える最も重要な技術の一つと言えるでしょう。
本記事では、エンコードの基本的な仕組みから、主要な動画コーデックの種類、そして最適な動画作成のための知識を詳しく解説します。
エンコード(符号化)の定義と役割
エンコードとは、ある形式のデータを別の形式に変換することを指し、日本語では「符号化」と呼ばれます。
動画におけるエンコードの主な目的は、膨大な情報を一定の規則に従って圧縮し、再生や伝送に適したデータ形式に整えることにあります。
デジタルカメラのセンサーが捉えた生の映像データ(RAWデータ)は、1秒間あたりの情報量が数ギガバイトに達することもあります。
この巨大なデータをそのままインターネットで送受信したり、ハードディスクに保存したりすることは現実的ではありません。
そこで、人間が視覚的に認識しづらい部分の情報を間引いたり、計算によってデータを省略したりすることで、ファイルサイズを劇的に小さくします。
この「情報の圧縮」と「形式の変換」を同時に行うプロセスこそが、動画エンコードの本質です。
また、エンコードされたデータを再生可能な映像信号に戻す処理を「デコード(復号化)」と呼びます。
動画を視聴する際は、このデコード処理がデバイス内部でリアルタイムに行われています。
動画圧縮の仕組み:なぜ容量を小さくできるのか
動画データがこれほどまでに圧縮できる理由は、映像の中に含まれる「重複した情報」を効率よく処理しているからです。
動画圧縮の仕組みは、大きく分けて「フレーム内圧縮」と「フレーム間圧縮」の2つの技術で構成されています。
フレーム内圧縮(空間的冗長性の削減)
フレーム内圧縮は、1枚の静止画(フレーム)の中にある類似した色やパターンをまとめて記述する方法です。
例えば、青空の映像では、隣り合う画素(ピクセル)がほぼ同じ青色であることが多いため、個々の画素データを保存する代わりに「この範囲はすべてこの青色」と記録します。
これは静止画フォーマットであるJPEGでも使われている手法であり、単一の画像内での無駄を省く技術です。
フレーム間圧縮(時間的冗長性の削減)
動画においてより高い圧縮率を実現するのが、前後のフレームとの差分だけを記録するフレーム間圧縮です。
動画は1秒間に30枚や60枚といった連続した静止画で構成されていますが、多くの場合、隣り合うフレーム同士の変化はごくわずかです。
背景が動かず人物だけが動いている映像であれば、動いていない背景部分のデータは再利用し、「変化があった部分」だけの情報を記録することで、データ量を大幅に削減できます。
この仕組みを実現するために、動画データの中には以下の3種類のフレームが存在します。
- Iフレーム(Intra-coded frame):単体で画像として完結している参照用フレーム。
- Pフレーム(Predicted frame):前のフレームからの変化のみを記録したフレーム。
- Bフレーム(Bi-directional predicted frame):前後両方のフレームから変化を予測して記録するフレーム。
これらを組み合わせることで、動画のファイルサイズは元のRAWデータの数十分の一から、時には数百分の一にまで圧縮されます。
コーデック(Codec)とは?
エンコードを行う際に使用される、圧縮と展開(デコード)のアルゴリズムをまとめたプログラムを「コーデック」と呼びます。
コーデックは「COmpressor(圧縮器)」と「DECompressor(伸張器)」の頭文字を組み合わせた言葉です。
動画を視聴するためには、エンコード時に使用したコーデックと同じデコード機能が視聴側のデバイスに備わっている必要があります。
もし適切なコーデックがインストールされていない場合、映像が映らなかったり、エラーが発生したりすることになります。
主要な動画コーデックの比較
現在、Webや放送で広く利用されている主要な動画コーデックには以下のようなものがあります。
| コーデック名 | 特徴 | 主な用途 |
|---|---|---|
| H.264 / AVC | 最も普及している標準的なコーデック。互換性が非常に高い。 | YouTube, ブルーレイ, 一般的な動画配信 |
| H.265 / HEVC | H.264の約2倍の圧縮効率。4K/8K動画に適している。 | iPhoneの動画記録, 4K放送, 高画質配信 |
| VP9 | Googleが開発したオープンでライセンスフリーなコーデック。 | YouTubeの4K動画 |
| AV1 | 次世代のオープンソースコーデック。H.265を凌ぐ圧縮効率。 | 最新のストリーミングサービス, Netflix |
H.264は、現在でも最も多くのデバイスで再生できるため、動画制作における標準的な選択肢となっています。
一方で、データ通信量の削減が求められるモバイル環境や高精細な映像においては、より高度なH.265やAV1の採用が進んでいます。
コンテナ(ファイル形式)とコーデックの違い
初心者が混同しやすい概念に、「コンテナ(ファイル形式)」と「コーデック」の違いがあります。
動画ファイルには .mp4 や .mov といった拡張子がつきますが、これらは「コンテナ」と呼ばれるものです。
コンテナは、ビデオデータ、オーディオデータ、字幕、チャプター情報などを一つにまとめるための「器」の役割を果たします。
「どのコーデックで圧縮された映像が入っているか」と「どのコンテナに入れるか」は別の問題です。
代表的なコンテナ形式
- MP4 (.mp4):世界中で最も利用されている汎用性の高いコンテナ。ほとんどの環境で再生可能。
- MOV (.mov):Apple社が開発した形式。高画質な編集用素材によく使われる。
- MKV (.mkv):多機能なオープンソース形式。複数の音声や字幕を格納するのに適している。
- WebM (.webm):Googleが開発したWebブラウザでの再生に最適化された軽量な形式。
例えば、「MP4ファイル」であっても、その中身(コーデック)がH.264である場合もあれば、最新のAV1である場合もあります。
エンコードの品質を左右する重要パラメーター
エンコードを行う際、動画の画質とファイルサイズのバランスを決定するいくつかの重要な設定値があります。
ビットレート(Bitrate)
ビットレートは、1秒間にどれだけのデータ量を割り当てるかを示す値で、単位は「bps(ビット・パー・セカンド)」で表されます。
この値が高いほど画質は良くなりますが、ファイルサイズも比例して大きくなります。
解像度やフレームレートに応じて、適切なビットレートを設定することが「高品質かつ軽量な動画」を作る鍵となります。
フレームレート(Frame Rate)
1秒間に表示される静止画の枚数を指し、「fps」という単位を使います。
映画なら24fps、一般的なテレビ番組なら30fps、滑らかなアクション映像やゲーム実況なら60fpsが一般的です。
フレームレートを高くすると映像は滑らかになりますが、その分1秒間に必要な情報量が増えるため、ビットレートも高く設定する必要があります。
解像度(Resolution)
映像のきめ細かさを表す数値で、1920×1080(フルHD)や3840×2160(4K)といったピクセル数で示されます。
解像度が高くなるほどエンコードに必要な計算量は増大し、処理時間も長くなります。
ハードウェアエンコードとソフトウェアエンコード
エンコード処理には膨大な計算が必要となるため、コンピュータのどのパーツを使って処理を行うかによって、速度や画質が変化します。
ソフトウェアエンコード
CPU(中央演算処理装置)の計算能力を使って、プログラムによってエンコードを行う手法です。
汎用的な命令セットを使用して複雑な圧縮アルゴリズムを忠実に実行するため、画質を追求する場合にはソフトウェアエンコードが有利とされています。
ただし、CPUに非常に高い負荷がかかるため、他の作業が重くなったり、処理に時間がかかったりするデメリットがあります。
ハードウェアエンコード
GPU(グラフィックスカード)や、専用のASIC(特定の目的のために設計された集積回路)に搭載されたエンコード専用の回路を使用する手法です。
NVIDIAの「NVENC」や、Intelの「Quick Sync Video(QSV)」などがこれに該当します。
専用回路で処理するため、CPUに負荷をかけず、驚異的なスピードでエンコードを完了させることができます。
リアルタイム性が求められるゲーム実況の配信や、大量の動画を短時間で書き出す際に非常に効果的です。
エンコードを実際に行うためのツール
動画のエンコードを行うためには、専用のソフトウェアが必要です。
用途に合わせて、代表的なツールをいくつか紹介します。
- Adobe Premiere Pro / Media Encoder:プロフェッショナルな動画編集と出力に利用される業界標準ツール。
- HandBrake:オープンソースで開発されている高機能なトランスコーダー。多くの形式に対応。
- FFmpeg:コマンドラインで操作する非常に強力なツール。エンジニアや自動化処理でよく使われる。
- ShanaEncoder:シンプルで使いやすいインターフェースを持つ、高機能なエンコードソフト。
例えば、FFmpegを使用して動画をH.264形式にエンコードする場合、以下のようなコマンドを使用します。
# 入力ファイル input.mov を H.264コーデックで output.mp4 に変換する
ffmpeg -i input.mov -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4
実行後、コンソールには変換の進捗状況が表示されます。
frame= 250 fps= 45 q=-1.0 Lsize= 5240kB time=00:00:10.00 bitrate=4292.1kbits/s speed=1.8x
video:5000kB audio:230kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.19%
このように、目的のデバイスやサービスに合わせた設定を行うことで、最適な動画ファイルを作成することができます。
まとめ
エンコードは、デジタル動画を私たちがスムーズに視聴するために欠かせない「橋渡し」の技術です。
動画の容量を劇的に小さくする圧縮の仕組みや、用途に応じたコーデックの選択を理解することは、動画制作や配信の質を向上させる大きな一歩となります。
特に、現在主流のH.264から、より高効率なH.265やAV1への移行が進んでいる点に注目しておくべきでしょう。
解像度、ビットレート、フレームレートといったパラメーターのバランスを最適化することで、視聴者にとってストレスのない高品質な映像体験を提供することが可能になります。
エンコードの深い知識を身につけることで、デバイスのストレージ容量を節約しつつ、美しい映像を効率的に管理していきましょう。
