たとえばの次の大ヒット作を考えるとピータージャクソン(ホビット)とジェームズキャメロン(アバター2)は、フレームレート48 fps(またはそれ以上)-つまり通常の24fpsよりも高いフレームレートで撮影されます。 エンコードされたビデオのファイルサイズはfpsとともにどのくらい増加しますか?
Fpsを増やすと、フレーム間の差はますます小さくなります。したがって、ファイルサイズは線形よりも小さくなると思います。これは本当ですか? 経験則はありますか?または、24、48、60、および96 fps(最新のビデオコーデックを使用)でエンコードされた同じビデオのサンプルファイルサイズを持っている人はいますか?
(副次的な質問:フルHDを超える画像サイズ(フルHDから4kなど)でビデオファイルのサイズはどのくらい増加しますか?)
ファイルサイズに影響を与える唯一のものはビットレートです。 1fpsまたは120fpsを実行でき、ビットレートが1000Mbsの場合、ファイルサイズはまったく同じになります。定義上、ビットレートはファイルサイズを定義します。自由にテストしてください。ビデオを撮り、10の異なる次元と10の異なるfpsで出力すると、同じ(または無視できる)ファイルサイズになります。
これは単純化したものですが、ファイルサイズと品質について説明したい場合は、まったく別の説明になります。
理論的なアプローチを試してみます。私の理論を証明または反証するいくつかの実例を見てみたいと思います。良い質問!コメントがある場合や欠陥を見つけた場合は、遠慮なくコメントしてください。
現在のエンコーダー(例としてMPEG-4/AVC/h.264を取り上げます)の場合、フレームレートは思ったほど重要ではありません。レート制御がなく、すべての画像が同じベースQP(量子化パラメーター)でエンコードされていると仮定しましょう。
あなたは次のように正しいです:動きの違い( ITU-R P.91 で定義されているように、よく読んでください) 48 fpsビデオの2つのフレームの間24fpsの同じビデオよりも低くなります。これは、フレームが互いにそれほど異ならないという事実によるものです。全体の時間的動きは増加しないことに注意してください。最終的に、オブジェクトはポイントAからBに移動するため、その動きベクトルは1秒あたりのフレーム数に関係なく同じ長さになります。
エンコーダーは2つ(またはそれ以上)のフレーム間の差を探し、残差値のみをエンコードするため、画像ごとの残差を少なくコーディングする必要があります。平均すると、これは残差の半分になります。だからあなたはそれで正しいです。 (残差の半分だけがそれを格納するために必要なデータの半分を意味しないことを忘れてはなりません。それは実装されたアルゴリズムコーディングに依存します。)
繰り返しになりますが、1秒あたりの画像数は2倍になります。つまり、平均して、エンコードされた情報は再び2倍になります。
要約すると、その側では何も変わりません。エンコーダーは、ビデオ内のすべてのモーションをエンコードするために最善の仕事をします。これは、合計すると同じです(私が何を意味するかを知っている場合は、小さなステップで)。追加する必要がある唯一のオーバーヘッドは、効率的な方法で算術的にコーディングできない小さな残差からのオーバーヘッドです。
上記は、他の人に依存するBまたはP画像にのみ適用されます。ただし、イントラコード化された画像を時々挿入する必要があります。これは他の画像に依存しません。このイントラコード化された画像の割合が増加しない場合は、ファイルサイズが線形成長、おそらくもう少し大きいと想定できます。
ただし、パケット損失やビットストリームエラーの可能性を補うためにイントラコード化された画像の距離を短くすると、オーバーヘッドが増えるため、増加は線形以上、それほどではありませんが、おそらく目立つ。
これは実際にはエンコーディングのタイプに依存します。ビデオをRAW形式でキャプチャする場合は、そうです。画像が増えると、線形に多くのストレージが必要になります。
キャプチャした画像を圧縮形式に直接エンコードする場合、それはすべて、そのコーデックがどのように機能するかに依存します。
ファイルサイズに関しては、それはbitrate × duration
によって決定されます。したがって、フレームレートは直接関係しません。より低いフレームレートでエンコードされた同じビデオと同じ品質を実現するには、ビットレートをいくらか上げる必要があります。どれだけ(繰り返しますが)、使用しているコーデックによって異なります。
また、今日この質問を自問しました。私の携帯電話とカメラでは、60fpsのビデオは30fpsのビデオのほぼ2倍のサイズです。おそらく、スマート圧縮に十分な処理能力がなく、フレームレートを2倍にして安全を確保できるためです。
ただし、オフライン圧縮を使用すると、より良い結果が得られます。たとえば、YouTubeの60 fpsビデオ、具体的にはさまざまな品質設定の背後にある実際のビデオファイルのサイズを確認できます。 youtube-dl
のようなツールを使用するとそれを行うことができます。ランダムな60fpsのYoutubeビデオを使用したツールからの出力は次のとおりです。
C:\>youtube-dl -F https://www.youtube.com/watch?v=H53QmxZ-rOs
[youtube] H53QmxZ-rOs: Downloading webpage
[youtube] H53QmxZ-rOs: Downloading video info webpage
[info] Available formats for H53QmxZ-rOs:
format code extension resolution note
249 webm audio only tiny 62k , opus @ 50k (48000Hz), 3.23MiB
250 webm audio only tiny 82k , opus @ 70k (48000Hz), 4.41MiB
140 m4a audio only tiny 130k , m4a_dash container, mp4a.40.2@128k (44100Hz), 8.18MiB
251 webm audio only tiny 158k , opus @160k (48000Hz), 8.41MiB
278 webm 256x144 144p 97k , webm container, vp9, 30fps, video only, 5.11MiB
160 mp4 256x144 144p 113k , avc1.4d400c, 30fps, video only, 3.69MiB
242 webm 426x240 240p 228k , vp9, 30fps, video only, 8.69MiB
133 mp4 426x240 240p 281k , avc1.4d4015, 30fps, video only, 7.95MiB
243 webm 640x360 360p 509k , vp9, 30fps, video only, 15.81MiB
134 mp4 640x360 360p 582k , avc1.4d401e, 30fps, video only, 14.79MiB
244 webm 854x480 480p 771k , vp9, 30fps, video only, 26.80MiB
135 mp4 854x480 480p 992k , avc1.4d401f, 30fps, video only, 20.65MiB
247 webm 1280x720 720p 1555k , vp9, 30fps, video only, 52.89MiB
302 webm 1280x720 720p60 2853k , vp9, 60fps, video only, 79.52MiB
248 webm 1920x1080 1080p 2944k , vp9, 30fps, video only, 94.03MiB
298 mp4 1280x720 720p60 3094k , avc1.4d4020, 60fps, video only, 38.61MiB
303 webm 1920x1080 1080p60 4898k , vp9, 60fps, video only, 142.73MiB
136 mp4 1280x720 720p 4910k , avc1.4d401f, 30fps, video only, 62.89MiB
299 mp4 1920x1080 1080p60 5785k , avc1.64002a, 60fps, video only, 123.69MiB
137 mp4 1920x1080 1080p 6930k , avc1.640028, 30fps, video only, 111.05MiB
43 webm 640x360 360p , vp8.0, vorbis@128k, 43.91MiB
18 mp4 640x360 360p 501k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 31.66MiB
22 mp4 1280x720 720p 1125k , avc1.64001F, mp4a.40.2@192k (44100Hz) (best)
このビデオの場合、av1で圧縮すると、60fpsのFHDビデオは30fpsのFHDビデオと比較してわずか10%大きくなります。しかし、vp9で圧縮すると、ファイルサイズの違いはなんと60%になります。
したがって、60 fpsのビデオは最大で2倍の大きさになることがあると思いますが、フレームレートを2倍にして、ほぼ同じファイルサイズにする方法があります。これはかなりきれいです。