幅広く利用される動画圧縮コーデック「H.264/MPEG-4 AVC」はどうやって巨大なサイズのムービーを劇的に圧縮するのか?
動画圧縮標準規格MPEG-4の1つでもあるH.264/MPEG-4 AVC/MPEG-4 AVCは「低ビットレートでも高画質」を目指した動画用の圧縮コーデックです。2003年に登場して以来、H.264/MPEG-4 AVCはインターネット上で公開されるムービーやビデオ電話、防犯カメラ、ドローンなど、ありとあらゆる場面で利用されています。そんなH.264/MPEG-4 AVCがどのようにして動画を圧縮しているのか、その技術の正体についてエンジニアのSid Balaさんがブログで説明しています。
H.264 is magic: a technical walkthrough of a remarkable technology.
https://sidbala.com/h-264-is-magic/
圧縮されていない生の動画は、パラパラ漫画のように1秒間に何十枚もの静止画を連続でつなぎ合わせたものです。さらに色情報は各256段階のR(赤)・G(緑)・B(青)というRGBで表現されるため、1ピクセルは3バイトの色情報を持ちます。例えば、解像度1080p・リフレッシュレート60Hzという非圧縮動画の1秒当たりのファイルサイズは、1920ピクセル×1080ピクセル×60Hz×3バイトで約373MB/sとなるわけです。
by Jason Eppink
しかし、これでは仮に容量50GBのBlu-rayディスクに1080p・60Hzの非圧縮ムービーを収納しようとしても、およそ2分14秒ほどしか入らない計算となり、実用的とはいえません。動画データを扱いやすくするためには、どうにかしてそのサイズを圧縮する必要があります。そのためにはさまざまな方式があり、その中でも最もよく使われるものの1つがH.264/MPEG-4 AVCというわけです。
H.264/MPEG-4 AVCは国際電気通信連合(ITU)の1部門であるVideo Coding Experts Group(VCEG)と、ISO/IEC JTC 1によって共同開発されました。「H.264」「MPEG-4 AVC」と2つの名前がありますが、ITU側とISO/IEC側で規格名が異なるだけで、技術的には同一のもの。
Bala氏は、Appleのホームページのスクリーンショット(PNG形式)と、同じ解像度・60fpsでAppleのホームページを5秒間キャプチャしたH.264/MPEG-4 AVCムービーを比較しています。静止画であるスクリーンショットのデータサイズは1015KBであるのに対して、ムービーは175KB。ムービーは5秒×60fps=300フレームもの静止画の連続で構成されているにも関わらず、たった1枚の静止画のおよそ6分の1というサイズにまで圧縮されています。
・関連記事
HEVCより高性能でロイヤリティフリーの新しいAV1デコーダー「dav1d」をVLC Player開発元が発表 - GIGAZINE
次世代動画コーデック「AV1」の圧縮技術を利用する次世代画像フォーマット「AVIF」 - GIGAZINE
次世代コーデックの本命「AV1」の技術仕様をXiph.Orgが解説 - GIGAZINE
無料で5ミリ秒という超低遅延を実現する非可逆音声圧縮コーデック「Opus」、何がすごいのかまとめ - GIGAZINE
JPEGをさらに高圧縮する「mozjpeg 2.0」で2GB超の画像ファイルを圧縮 - GIGAZINE
HTML5の標準を狙うGoogleの動画フォーマット「WebM」のこれまでまとめ - GIGAZINE
・関連コンテンツ