動画は「パラパラ漫画」と同じ原理で、静止画を高速に切り替えて動きを作っています。しかし静止画の連続をそのまま保存すると、データ量はすさまじいことになります。動画配信が当たり前になった今、その裏側を支える動画のデジタル表現と圧縮の技術を学びます。
動画の正体 — フレームとフレームレート
動画は、フレームと呼ばれる静止画を連続して表示することで動きを表現します。1秒間に表示するフレーム数をフレームレートと呼び、単位はfps(frames per second)です。テレビや多くの動画は30fps(または29.97fps)、映画は伝統的に24fps、ゲームやスポーツ映像では滑らかさを求めて60fps以上も使われます。フレームレートが高いほど動きは滑らかですが、フレーム数に比例してデータ量も増えます。動画ファイルには映像に加えて音声も含まれ、両者を同期させて格納します。
非圧縮動画のデータ量 — なぜ圧縮が必須なのか
非圧縮の動画のデータ量は、1フレームのデータ量 × フレームレート × 秒数(+音声)で見積もれます。フルHD(1920×1080・24ビットカラー)の1フレームは約6.2MB。30fpsの動画では1秒あたり約187MB、1分でおよそ11GBにもなります。これではDVDにも収まらず、ネット配信は不可能です。実際の動画がスマートフォンで気軽に見られるのは、データ量を数百分の1のオーダーまで減らす強力な圧縮技術のおかげです。
動画圧縮の仕組み — フレーム内圧縮とフレーム間圧縮
動画圧縮の鍵は2種類の圧縮の組み合わせです。①フレーム内圧縮(空間方向の圧縮):各フレームを1枚の画像としてJPEGのように圧縮する。②フレーム間圧縮(時間方向の圧縮):動画では連続するフレーム同士がほとんど同じであることを利用し、前後のフレームとの差分(変化した部分)だけを記録する方式です。例えば固定カメラでニュースキャスターが話す映像なら、背景はほぼ変化しないため、動いた口元や表情の差分だけを記録すれば大幅にデータを減らせます。基準となる完全なフレーム(キーフレーム)を一定間隔で入れ、その間は差分情報でつなぐのが基本構造です。この方式のため、場面転換が激しい映像は圧縮が効きにくく、動きの少ない映像はよく縮む、という性質があります。代表的な圧縮方式(コーデック)にはH.264(MPEG-4 AVC)やその後継のH.265、AV1などがあります。
コンテナとコーデック、そして配信
動画ファイルのMP4は、正確には映像・音声・字幕などをひとまとめに格納する「コンテナ(入れ物)」の形式です。中身の映像をどう圧縮するかを決めるのが「コーデック」(H.264など)で、コンテナとコーデックは別の概念です(MP4という箱の中にH.264で圧縮した映像とAACで圧縮した音声が入っている、という関係)。配信方法には、ファイル全体を保存してから再生するダウンロード方式と、受信しながら同時に再生するストリーミング方式があります。ストリーミングでは、視聴者の通信速度に応じて画質(ビットレート)を自動で切り替える技術も使われており、通信が遅くなると画質が粗くなるのはこのためです。ビットレート(1秒あたりのデータ量、単位bps)は、画質とデータ量のバランスを決める中心的な指標です。
- 動画=フレーム(静止画)の連続+音声。フレームレート(fps)=1秒あたりのフレーム数。
- 非圧縮フルHD30fpsは約1分で11GB。動画に圧縮は必須。
- フレーム内圧縮=各フレームを画像として圧縮。フレーム間圧縮=前後フレームとの差分だけを記録。
- キーフレーム+差分という構造。動きの少ない映像ほどよく縮む。
- コーデック(H.264等=圧縮方式)とコンテナ(MP4等=入れ物)は別概念。
- ストリーミング=受信しながら再生。ビットレート(bps)が画質とデータ量を決める。
練習問題
- フレームレートとは何か説明し、30fpsと60fpsの動画では見え方とデータ量がどう違うか述べなさい。
- フルHD(1920×1080・24ビットカラー)・30fpsの非圧縮動画の、1秒あたりのデータ量はおよそ何MBか計算しなさい(1MB=10の6乗バイトとする。音声は除く)。
- 動画の「フレーム間圧縮」の仕組みを説明し、固定カメラの講義動画とアクション映画では、どちらがよく圧縮できるか理由とともに答えなさい。
- 「MP4」と「H.264」の関係を、コンテナとコーデックという語を使って説明しなさい。
解答・解説
- 解答:フレームレートとは、動画で1秒間に表示される静止画(フレーム)の枚数のことで、単位はfps。60fpsは30fpsより動きが滑らかに見えるが、フレーム数が2倍になるためデータ量もおよそ2倍になる。
解説:定義(1秒あたりのフレーム数)と、「滑らかさとデータ量のトレードオフ」の両方が書けているかがポイント。 - 解答:1フレーム=1920×1080×24ビット=49,766,400ビット=6,220,800バイト(約6.2MB)。30fpsなので1秒あたり 6,220,800 × 30 = 186,624,000バイト ≒ 約187MB。
解説:「1フレームのデータ量×フレームレート」の2段階で計算する。この巨大さが圧縮必須の理由。1分なら×60で約11GB。 - 解答:フレーム間圧縮は、連続するフレーム同士がほとんど同じであることを利用し、基準となるキーフレーム以外は前後のフレームからの差分(変化した部分)だけを記録する方式。固定カメラの講義動画のほうがよく圧縮できる。背景がほぼ変化せず、フレーム間の差分が小さいため記録する情報が少なくて済むから。場面転換や動きの激しいアクション映画は差分が大きく、圧縮が効きにくい。
解説:「差分だけを記録する」という仕組みと、「変化が少ない=差分が小さい=縮む」という適用の両方を答える。 - 解答:H.264は映像をどう圧縮するかを定めたコーデック(圧縮方式)であり、MP4は圧縮された映像・音声・字幕などをひとまとめに格納するコンテナ(入れ物)の形式。「MP4という箱の中に、H.264で圧縮した映像とAACで圧縮した音声が入っている」という関係にある。
解説:「圧縮方式」と「入れ物」の区別が核心。同じMP4でも中のコーデックが違えば再生できないことがある、という現象の説明にもなる。