Teori
Perbedaan dalam video mungkin tidak akan terlihat untuk mata yang tidak terlatih. Lagipula, video 1080p harus diturunkan. Itu tidak akan persis sama, karena kompresi dan penskalaan diterapkan dalam urutan yang berbeda.
Mari kita asumsikan bahwa video asli 1080p. Dalam hal ini video 720p pertama kali diskalakan, kemudian dikompresi. Di sisi lain, klip 1080p pertama kali dikompresi di sisi server, kemudian ditingkatkan pada mesin Anda. File 1080p jelas akan lebih besar. (Kalau tidak itu akan menawarkan resolusi yang lebih tinggi, tetapi pada kualitas yang lebih rendah, merusak pengalaman visual dan membatalkan penggunaan resolusi yang lebih tinggi 1 )
Kompresi lossy biasanya menyebabkan artefak visual yang muncul sebagai blok persegi dengan tepi yang terlihat ketika video dijeda, tetapi tidak terlihat ketika Anda memainkannya dengan framerate normal. File 1080p akan berisi lebih banyak blok persegi (yang disebabkan oleh kompresi) daripada video 720p, tetapi blok-blok itu akan berukuran kurang lebih sama di kedua video.
Dengan melakukan matematika sederhana, kita dapat menghitung bahwa video 1080p akan mengandung 2,25 kali lebih banyak blok seperti itu, jadi setelah menurunkannya menjadi 720p blok-blok itu akan menjadi 2,25 kali lebih kecil daripada dalam video 720p sebenarnya. Semakin kecil blok-blok itu, kualitas video final yang lebih baik, sehingga video 1080p akan terlihat lebih baik daripada video 720p, bahkan pada layar 720p. Video 1080p yang diubah ukurannya akan tampak sedikit lebih tajam dari 720 klip yang sebenarnya.
Segalanya menjadi sedikit lebih rumit jika bahan sumber lebih besar dari 1080p. Klip 1080p pertama-tama diskalakan ke 1080p dan dikompresi sebelum Anda memutarnya dan kemudian diskalakan sekali lagi saat diputar. Klip 720p diskalakan hanya sekali dan kemudian dikompresi. Langkah penskalaan menengah yang ada dalam kasing video 1080p akan membuat kualitasnya sedikit lebih buruk 2 . Kompresi akan membuat 720p lebih buruk, jadi 1080p tetap menang.
Satu hal lagi: Bukan hanya video yang dikompresi, tetapi juga audio. Ketika orang memutuskan untuk menggunakan bitrate 1 yang lebih tinggi untuk kompresi video, mereka sering melakukan hal yang sama dengan audio. Versi 1080p dari video yang sama dapat menawarkan kualitas suara yang lebih baik daripada video 720p.
1 : Bitrate adalah faktor yang menentukan seberapa baik video yang dikompresi dengan biaya ukuran file. Ini ditentukan secara manual saat video dikompresi. Ini menentukan berapa banyak ruang disk yang dapat digunakan untuk setiap frame (atau unit waktu) dari video terkompresi. Bitrate lebih tinggi = kualitas lebih baik dan file lebih besar. Menggunakan bitrate yang sama dengan framerate yang sama akan menghasilkan file dengan ukuran (kira-kira) dengan ukuran yang sama, tidak peduli apa resolusi videonya, tetapi semakin tinggi resolusi yang digunakan, semakin sedikit ruang disk yang dapat dihabiskan untuk satu piksel, sehingga meningkatkan resolusi output tanpa meningkatkan bitrate dapat membuat video terkompresi terlihat lebih buruk daripada dengan resolusi output yang lebih rendah.
2 : Coba sendiri: buka foto di editor mana pun dan skala ke ukuran yang sedikit lebih kecil, lalu lagi dan lagi, simpan sebagai PNG. Kemudian buka foto asli lagi dan skala ke ukuran yang sama dalam satu langkah. Upaya kedua akan memberikan hasil yang lebih baik.
Uji
@Raestloz meminta video aktual untuk perbandingan dalam komentarnya. Saya tidak dapat menemukan versi 1080p dan 720p dari video yang sama untuk perbandingan, jadi saya membuatnya.
Saya telah menggunakan bingkai yang tidak dikompresi dari film "Elephant's dream" ( http://www.elephantsdream.org/ ) yang tersedia di bawah CC-BY 2.5. Saya telah mengunduh bingkai 1-6000 dan mengubahnya menjadi video menggunakan ffmpeg dan file batch berikut:
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 500k -an -s 1280x720 -f mp4 _720p_500k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 700k -an -s 1280x720 -f mp4 _720p_700k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 1125k -an -s 1280x720 -f mp4 _720p_1125k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 4000k -an -s 1280x720 -f mp4 _720p_4000k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 500k -an -f mp4 _1080p_500k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 700k -an -f mp4 _1080p_700k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 1125k -an -f mp4 _1080p_1125k.mp4
ffmpeg -i %%05d.png -c:v libx264 -framerate 24 -b:v 4000k -an -f mp4 _1080p_4000k.mp4
- 24 fps
- 1080p dan 720p
- empat bitrate konstan untuk setiap resolusi:
- 500 kbps
- 700 kbps
- 1125 kbps
- 4000 kbps
500 kbps cukup rendah untuk memunculkan artefak dan distorsi pada video 720p. 1125 kbps adalah bitrate proporsional per piksel untuk 1080p (500 × 2.25 = 1125, di mana 2,25 = 1920 × 1080/1280 × 720). 700 kbps adalah bitrate menengah untuk memeriksa apakah menggunakan bitrate jauh lebih rendah daripada proporsional untuk 1080p masuk akal. 4000 kbps cukup tinggi untuk membuat sebagian besar video lossless di kedua resolusi untuk perbandingan ukuran 1080p ke 720p sebenarnya.
Kemudian saya membagi video kembali menjadi satu frame. Mengekstrak semua frame lambat dan membutuhkan banyak ruang ( kisah nyata ), jadi saya sarankan menggunakan sakelar ffmpeg-r
untuk mengekstrak setiap frame ke-8 (mis. -r 3
Untuk video 24 fps)
Saya tidak dapat memberikan tautan unduhan yang kedepannya untuk video, tetapi langkah-langkah ini dapat dengan mudah direplikasi untuk membuat klip seperti milik saya. Sebagai catatan, berikut adalah ukuran file output: (harus kira-kira identik untuk kedua resolusi, karena bitrate konstan per detik)
- 500 kbps: 13,6 MB / 13,7 MB
- 700 kbps: 18,8 MB / 19 MB
- 1125 kbps: 29,8 MB / 30,2 MB
- 4000 kbps: 105 MB / 105 MB
Unduhan untuk sampel bingkai yang diekstraksi tersedia di akhir posting ini.
Meningkatkan bitrate dan resolusi
Berikut perbandingan wilayah yang sama yang dipangkas dari kedua frame setelah penskalaan ke 720p (frame 2097). Lihatlah jari-jari, kepala, dan peralatan yang tergantung di langit-langit: bahkan dari 500 hingga 700 kbps akan membuat perbedaan yang nyata. Perhatikan bahwa kedua gambar sudah diskalakan ke 720p.
Bingkai 3705. Perhatikan tepi permadani dan kabelnya:
Frame 5697. Ini adalah contoh frame yang tidak kompres dengan sangat baik. Video 1080p 700 kbps kurang detail dari klip 720 500 kbps (tepi telinga). Detail kulit hilang pada semua frame terkompresi.
GIF dari ketiga frame, dengan peningkatan bitrate. (Sayangnya saya harus menggunakan dithering karena GIMP tidak mendukung lebih dari 255 warna di GIF, jadi beberapa piksel sedikit mati.)
Kecepatan bit konstan, resolusi berbeda
Terinspirasi oleh komentar @ TimS., Ini adalah wilayah yang sama dari frame 2097 dengan 720p dan 1080p berdampingan.
Untuk 500 kbps, 720p sedikit lebih baik dari 1080p. 1080p tampak lebih tajam, tetapi detail ini sebenarnya tidak ada dalam gambar tanpa kompresi (celana kiri pria). Dengan 700 kbps saya akan menyebutnya seri. Akhirnya, 1080p menang untuk 1125 kbps: keduanya masih terlihat sebagian besar identik, tetapi gambar di sebelah kanan memiliki bayangan yang lebih jelas (pipa di dinding belakang dan di bagian kanan bawah).
Bitrate sangat tinggi
@Noah mengajukan pertanyaan yang bagus di komentar: apakah kedua gambar akan terlihat identik dengan bitrate cukup tinggi? Berikut ini 720p 4000 kbps vs. 1080p 4000 kbps vs. bingkai yang tidak dikompresi 5697:
Sekarang ini cukup subjektif, tapi inilah yang bisa saya lihat:
- Tepi kiri telinga pixelated dalam 720p, tetapi halus dalam 1080p, meskipun bitrate identik.
- 720p menjaga detail kulit pipi lebih baik dari 1080p.
- Rambut terlihat sedikit lebih tajam dalam 1080p.
Ini skala yang mulai berperan di sini. Seseorang dapat secara intuitif menjawab bahwa 1080p akan terlihat lebih buruk daripada 720p pada layar 720p, karena penskalaan selalu memengaruhi kualitas. Ini tidak sepenuhnya benar dalam kasus ini, karena codec yang saya gunakan (h.264, tetapi juga codec lain) memiliki beberapa ketidaksempurnaan: ia menciptakan kotak-kotak kecil yang terlihat pada tepi yang kontras. Mereka juga muncul pada snapshot 1080p (lihat tautan di bagian bawah), tetapi mengubah ukuran menjadi 720p menyebabkan beberapa detail hilang, khususnya memperlancar kotak-kotak ini dan meningkatkan kualitas.
Oke, jadi mari kita hitung perbedaan antara 720p (kiri) dan 1080p (kanan) vs bingkai asli dan rentangkan kontrak, jadi terlihat jelas:
Gambaran ini memberi kita visi yang lebih jelas tentang apa yang sedang terjadi. Piksel hitam direpresentasikan dengan sempurna dalam bingkai terkompresi (dan diubah ukurannya menjadi 720p), piksel berwarna tidak proporsional dengan intensitas.
- Pipi jauh lebih dekat dengan aslinya pada bagian 720p, karena penskalaan menghaluskan detail kulit di bagian kanan.
- Tepi telinga tidak sedekat itu dengan piksel yang tidak terkompresi, tetapi lebih baik dalam 1080p. Sekali lagi, artefak terlihat pada 720p setengah - mereka akan muncul pada 1080p yang tidak terespresi juga, tetapi penskalaan menghaluskannya dengan hasil yang cukup baik.
- Rambut tampaknya lebih baik pada 720p karena tertutup untuk hitam, tetapi pada kenyataannya itu terlihat seperti suara acak. 1080p, di sisi lain, memiliki distorsi yang sejajar dengan tepi rambut, sehingga sebenarnya menekankan garis rambut. Ini mungkin keajaiban penskalaan lagi: "noise" meningkat ketika penskalaan, tetapi juga mulai masuk akal.
Penolakan
Tes ini murni sintetik dan tidak membuktikan bahwa video 1080p kehidupan nyata terlihat lebih baik daripada 720p saat diputar pada layar yang lebih kecil. Namun, itu menunjukkan hubungan yang kuat antara bitrate video dan kualitas video yang diubah ukurannya menjadi ukuran layar. Kami dapat dengan aman berasumsi bahwa video 1080p akan memiliki bitrate lebih tinggi dari 720p, sehingga akan menawarkan bingkai yang lebih rinci, sebagian besar waktu meningkatkan pengalaman pemirsa. Ini bukan resolusi yang memainkan bagian paling penting, tetapi bitrate video, yang lebih tinggi dalam video 1080p.
Menggunakan bitrate sangat tinggi untuk video 720p tidak akan membuatnya terlihat lebih baik dari 1080p. Downscaling pasca-kompresi dapat bermanfaat untuk 1080p, karena akan membentuk noise kompresi dan menghaluskan artefak. Peningkatan bitrate tidak mengkompensasi kekurangan piksel ekstra untuk bekerja dengan karena codec lossy tidak sempurna.
Dalam kasus yang jarang terjadi (adegan yang sangat terperinci) resolusi lebih tinggi, video dengan bitrate lebih tinggi sebenarnya terlihat lebih buruk.
Apa perbedaan antara tes buatan ini dan video kehidupan nyata?
- Saya mengasumsikan bitrate setidaknya 40% lebih tinggi untuk 1080p daripada 720p. Melihat hasilnya, saya kira 20% akan cukup untuk melihat peningkatan kualitas, tetapi saya belum mengujinya. Peningkatan bitrate yang proporsional akan memberikan hasil yang jauh lebih baik, bahkan jika resolusi yang lebih rendah cocok dengan apa yang digunakan layar, tetapi itu tidak mungkin digunakan dalam kehidupan nyata. (masih proporsional, @JamesRyan)
- Video kehidupan nyata biasanya menggunakan bitrate variabel (VBR). Saya menggunakan 1-pass constant bitrate (CBR), berharap itu akan membuat semua efek samping kompresi yang tidak menyenangkan menjadi lebih jelas.
- Codec yang berbeda dapat bereaksi dengan cara yang berbeda. Tes ini dilakukan dengan menggunakan codec h.264 populer.
Sekali lagi: Saya tidak mengatakan bahwa posting ini membuktikan apa pun. Tes saya didasarkan pada video buatan buatan. YMMV untuk contoh realistis. Meski begitu, teorinya mungkin benar, tidak ada yang menyarankan itu bisa salah. (Kecuali untuk penskalaan, tetapi tes mengatasinya)
Kesimpulannya, dalam kebanyakan kasus, video 1080p akan terlihat lebih baik daripada video 720p, apa pun resolusi layarnya .
Unduhan:
- Bingkai 2097:
- Bingkai 3705:
- Bingkai 5697: