読者です 読者をやめる 読者になる 読者になる

俺、サービス売って家買うんだ

Swift, Vue.js, 統計, GCP / このペースで作ってればいつか2-3億で売れるのがポっと出来るんじゃなかろうか

「コーデックとは??」 - 動画に関する基礎用語まとめ

f:id:ie-kau:20160401174657p:plain:w300


最近ffmpegで遊んでいるのですが、今まで動画なんて触ってこなかったので周辺技術と用語について整理してみようと思います。

そもそもデジタルにおける動画とは?

連続する画像の集まり。パラパラ漫画みたいのものと考えて良い。
ただ、動画は画像とは圧縮方法を大きく異にする。

動画は多くの枚数の画像を連続的に扱わなければならず、ほとんどの動画は静止画と比べ、処理しなければならない情報量が圧倒的に大きい。また同時に、再生時においては多数の情報を(その本来の時間軸を損なう事なく)高速かつ連続的に処理を行うことも要求される。そのため、動画の圧縮アルゴリズムの多くは静止画のそれとは異なる圧縮技術、あるいは既存の圧縮技術にさらに他の圧縮技術を組み合わせた形で構成されている。

一般に静止画の圧縮は空間方向のみを考慮すれば良いが、動画圧縮の場合はそこに加え時間方向の情報も考慮した圧縮が行なわれる場合が多い(MPEGなど)。但し、これらのアルゴリズムはラスタ画像を扱うことを前提としており、Flashムービー(.SWF)などで用いられるベクタ画像などには当てはまらない。

動画 - Wikipediaより

基本的な用語

コーデック

動画を圧縮するソフトウェア、もしくは圧縮方式のアルゴリズムを指す。

フレーム間予測
異なる時刻のフレーム間で似たで情報をまとめる。

フレーム内圧縮
フレーム内で似た色の情報を圧縮する。空の青をまとめるとか。

コーデックの種類
MPEG-4、H.264、wmv
※ここでいうMPEG-4は規格名ではなくコーデック名。ややこしい。

参考

ストリーミング

データを受信しながら同時に再生させること。サーバー側は動画データを送りつけるだけ。

擬似ストリーミング

別名(プログレッシブダウンロード)。ローカルにダウンロードが完了した箇所から動画を取得して再生していく方式。 最終的に全てダウンロードすることになる。
言葉がストリーミングと似ているが異なる技術。

アダプティブビットレートストリーミング

ユーザーのバンド幅と(おそらくサーバーの)CPUを見ながら、適切なビットレートの動画をストリーミングする擬似技術。後述のMPEG-DASHが標準規格となりつつある。

規格

覚えておくべき各種規格名等。

MPEG

Moving Picture Experts Groupの略。ビデオとオーディオの規格に責任を持ったワーキング・グループ。

MPEG-4

動画・音声全般をデジタルデータとして扱うための規格。

MP4

MPEG-4に規定されているファイルフォーマット。正式な拡張子は.mp4
アップル製品で利用されているm4aやm4pという拡張子も実は中身はmp4と同じ。

分かりやすかった例え。

1 つの動画形式を、エンコードされた動画ストリームとオーディオ ストリームを含む zip ファイルと考えてみましょう。ウェブの場合に考慮する必要がある 3 つの形式は、webm、mp4、ogv です。

- mp4 = H.264 + AAC
- ogg/.ogv = Theora + Vorbis
- webm = VP8 + Vorbis

HTML5 の動画 - HTML5 Rocksより

H.264

H.264はMPEG-4の規格の一部として作られた動画の保存形式で、別名はMPEG-4 AVC。
MPEG-2と比べると同じ画質なら半分程度のデータ量ですむ。

AAC(Advanced Audio Coding)

音声圧縮方式(オーディオのコーデック)。iTunesを利用しているとm4aって拡張子になるやつ。

最近の技術

これから使えそうな技術。

MPEG-DASH

DASH = Dynamic Adaptive Streaming over HTTPの略。 HTTPサーバーからのアダプティブストリーミングを可能にする技術。Youtubeは数年前から既に利用している、動画を再生しながらネットワークを監視すると定期的にkeepaliveみたいなリクエストを送っているようなので、そのへんが怪しい。

参考

H.265

H.264の後続の規格。別名、High Efficiency Video Coding (HEVC) 。
H.264と比較して2倍の圧縮率をほこる。(ただ、エンコードが遅いらしい) 。現状、デコーダを搭載したブラウザはない。

WebM

Googleが開発しているロイヤリティフリーの動画コンテナフォーマット。
QuickTimeでは再生できない。

まとめ

それでは ゆめとぼうけんの
どうがのせかいへ!
レッツゴー!


 (ી(΄◞ิ౪◟ิ‵)ʃ) オラッオラッ