動画のビットレートの話(前編)

動画の解像度フレームレートについては、良く知られている所ですが、何故かビットレートについては余り良く知られていません。

ところがこのビットレートは、解像度やフレームレートと共に動画にとって非常に重要な意味を持つのです。

何故ならば、解像度は映像の細かさを表し、フレームレートは映像の滑らかさを表わすとしたら、フレームレートこそが画質を表すからです。

ところが、フレームレートが高ければ高い程画質が良いのかと聞かれると、実はそんな事はないのです。

またフレームレートが低くければ、常に画質が悪いかと言えば、そうでもないのです。

そんな訳で、今回は分かり難いフレームレートについて、分かり易く解説したいと思いと思います。

ビットレートとは

ではビットレートとはそもそも何かと言えば、以下の通りです。

ビットレートとは、1秒間に動画ファイルに書き込まれるデータ量を指す。

例えば、ある動画を撮る場合のビットレートが50Mbit/秒だとすると、カメラが撮影したデータが1秒間に50Mbitの速さでメモリーカードに書き込まれるという訳です。

このため、もしこのビットレートで1分間の動画を撮ったとしたら、撮った動画の容量は50Mbit/秒×60秒で3000Mbitになります。

これを見慣れたバイトの単位に直すと、375MB(3000Mbit÷8bit/Byte)になります。

すなわちビットレートが50Mbit/秒の動画を1分間撮れば、メモリー内に375MBの動画ファイルができあがる事になります。

そんな訳で、(解像度やフレームレートには一切関係なく)ビットレートさえ分かれば、これから撮る動画の容量が事前に分かるのです。

ご存知の様に、動画を撮影する前にカメラのモニターに動画撮影可能時間が表示されます。

カメラのモニターに表示された動画撮影可能時間

これは、挿入したメモリーカードの容量をビットレートで割って求められるという訳です。

ビットレートの算出方法

ではビットレート自体は、どうやって求められるかお伝えしておきましょう。

ビットレート=解像度(画素数)×1画素当たりのデータ量×フレームレート

ここで言う解像度(画素数)とは、ご存知の様にFHDの207万画素とか4Kの829万画素の事です。

そしてフレームレートとは、これまた良くご存知の24fpsとか30fpsの事です。

最後の1画素当たりのデータ量とは、読んで字の如くで、1画素が持っている情報量の事で、これが多い程動画の画質は(建前上)良くなります。

通常でしたら、1画素が3Byte(24bit)の情報量を持っていますので、仮にFHDの30fpsだとしたら、以下の様にビットレートは6Gbit/秒になります。

ビットレート=829万画素×24bit/画素×30フレーム/秒=6Gbit/秒

と言いたい所なのですが、実際はそんな大容量にはなりません。

1画素当たりのデータ量

と言いますのは、下にありますソニーのα7S IIIの仕様書をご覧ください。

α7S IIIの仕様書の抜粋

ご覧の通り動画を撮るとすると、その場合のビットレートは動画の記録方式によって既に決められているのです。

ちなみにFHD30Pの4:2:0の8bitでしたら、そのビットレートはたったの50Mbit/秒になっています。

という事は、先ほど計算した6Gbit/秒(6000Mbit/秒)に対して1/120しかないのです。

何故でしょう?

その理由は簡単で、静止画に対して動画ファイルは思いっきり画像を圧縮しているからです。

そう聞くと静止画より120倍も画質が悪いと思ってしまいますが、そんな事はなくむしろ静止画より非常に高度な圧縮を行なっているからだと思って頂いた方が良いでしょう。

ビットレートを下げ過ぎるとブロックノイズが発生する

とは言え、ビットレートを極端に低くすると動画の画質は明らかに低下します。

ではその場合どんな画像になるかと言えば、下にあります様にブロックノイズが発生するのです。

FHD60Pでビットレートが0.8Mbpsにおけるブロックノイズ(背景に波有り)

上の画像は、FHD60Pの動画をビットレート0.8Mbpsと非常に低くして撮った場合の切り抜き画像になります。

右の拡大画像において、人物の背中に四角いブロックがあるのが分かりますでしょうか?

これがビットレートを低くし過ぎた場合に発生するブロックノイズです。

ブロックノイズは画面内が大きく変化したときに発生し易い

ではブロックノイズは、ビットレートを下げ過ぎると常に発生するかと訊かれれば、それも違うのです。

ブロックノイズは、たとえビットレートが低くても常に発生するのではなく、画面内が大きく変化したときに発生し易いのです。

下は上と同じ動画の一コマなのですが、この場合背中のブロックノイズは消えています。

FHD60Pでフレームレートが0.8Mbps(背景に波無し)

その理由は、波が穏やかだからです。

ではなぜ波が穏やかだとブロックノイズが発生していないかと言えば、画面内に大きな変化がないため、フレーム間圧縮が可能になり、フレーム内圧縮を強く掛けないで済むからです。

静止画では分かり難い様でしたら、下の動画を見て頂ければと思います。

それに対して画面内の変化が大きいと、フレーム間圧縮ができないにも関わらず設定したビットレート内に収めようと、フレーム内圧縮を強く掛けるためです。

このため画面全体が大きく変化する、パン動作、あるいはズーミングする場合に最もブロックノイズが発生し易くなります。

ビットレートを上げ過ぎても画質は良くならない

次に重要なのは、ビットレートを徒(いたずら)に上げても、ある値以上になると画質は向上しないという事です。

下は波の変化のある状態で、ビットレートを35Mbpsにしたときと150Mbpsにしたときの拡大画像です。

FHD60Pでビットレートが35Mbps(左)と150Mbps(右)(背景に波有り)

ご覧の通りビットレートを35Mbpsにした事により背景に波が合ってもブロックノイズは消えたのですが、更にビットレートを4倍以上にした150Mbpsでも画質は全く変わりません。

すなわちビットレートは下げ過ぎるとブロックノイズが発生するし、上げ過ぎても画質は向上しないで無駄にファイル容量ばかりが増えるのです。

そんな訳で理想を言えば、撮影する動画の中で一番画面が大きく変わる所で、ブロックノイズが出るか出ないかの所が、ビットレートの最適値と言えます。

この話はまだまだ続くのですが、長くなったのでここらで一旦締めます。

2024/1/11追記

後編はこちら

動画のビットレートの話(後編)