kazeno memo

メモとか

動画のリサイズ 垂直・水平解像度 どちらに合わせるのが最適か?

1920x1040の動画ファイルをHD(720p)に縮小する場合、垂直解像度(1040)を720に合わせるのか、水平解像度(1920)を1280に合わせるのが良いのか。

また、ffmpeg--scale=を使いリサイズする場合、サイズを偶数にする必要があるようですが、1920x1040の場合は奇数で、あまりが出ます。これは切り捨てたほうが良いのでしょうか?

1920x1040という解像度は、映画で使用されるビスタビジョン(アメリカンビスタ)というようです。

VLCのフォーラムにトリミングとサイズ変更についてのガイドがありました。ただし、これが正しいのかそうでないか全くわからないです。


  1. まず、元動画のアスペクト比を計算します。

    アスペクト比=水平/垂直なので、1920x1040の場合、1.84615384615=1920/1040となります。

    (Wikipediaによればアメリカンビスタのアスペクト比は「1.85:1」とのことで、上記の計算とほぼ合致します)

  2. 元動画のアスペクト比を計算したら、次に720pの解像度を計算する必要があります。

    720p規格では、水平解像度が最大1280px・垂直解像度が最大720pxと規定されているそうです。これに基づいて次のいずれかの計算が必要です。

    • アスペクト比 > 16:9=1.77(7)の場合(アスペクト比が1.77より高い)

      水平解像度を1280pxに固定します。垂直=1280/アスペクト比という式で垂直解像度を計算します。

    • アスペクト比 > 16:9=1.77(7)の場合(アスペクト比が1.77より低い)

      垂直解像度を720pxに固定します。水平=720*アスペクト比という式で水平解像度を計算します。

    1920x1040の場合、1.77より高いので水平解像度を1280に固定します。垂直解像度は上記の式によって693.333333335=1280/1.84615384615となります。

  3. 垂直解像度が693.333333335の場合、偶数にするため切り上げ(694)、もしくは切り捨て(692)が必要です。この場合「アスペクト比 誤差(AR error)」が低い方を選ぶ必要があります。

    切り上げ・切り捨て両方のアスペクト比を求め、元動画のアスペクト比とより誤差の少ない方が最適な解像度ということです。

    まず、694と692のアスペクト比を計算し、そこから元動画のアスペクト比(1.84615384615)を引きます。

    • 1280/694=1.84438040346 1.84438040346-1.84615384615=-0.00177344269
    • 1280/692=1.84971098266 1.84971098266-1.84615384615= 0.00355713651

    最適な垂直解像度は694であることがわかりました。


1.33:1 - 1436x1080 or 1440x1080? 1.37:1 - 1480x1080 or 1484x1080? 1.66:1 - 1788x1080 or 1792x1080 or 1796x1080 or 1800x1080? 1.85:1 - 1920x1036 or 1920x1040? 2.35:1 - 1920x816? 2.55:1 - 1920x752? 2.39:1 - 1920x800?