Cara menghitung byte yang diperlukan untuk video skala abu-abu

0

Berapa memori minimum (dalam byte) untuk menyimpan video skala abu-abu lima detik dengan frame rate 14 fps di mana dimensi setiap frame adalah 480x320? Setiap piksel dalam video ini harus dapat menyimpan setidaknya 6 status yang berbeda

Melihat pertanyaan serupa di papan tulis, saya berasumsi perhitungannya akan seperti ini:

480 * 320 * 8 bit * 14 fps * 5 detik = 8601600

8601600/8 = 10752000 byte

Jawaban yang benar adalah: 4032000 tapi saya tidak mengerti bagaimana itu dihitung, atau apa yang dimaksud dengan 6 status?

Oliver Larsen
sumber
1
Apakah ini pekerjaan rumah? 8 bit dapat menyimpan 256 status piksel, tetapi Anda hanya perlu 6. Apakah Anda memiliki ukuran byte yang tetap? Bisakah Anda melakukan kompresi? ...
Máté Juhász
Apa itu "pertanyaan serupa"?
Máté Juhász
Lebih mirip set ujian dari tahun lalu yang saya coba pahami. Tidak ada kompresi no. Pertanyaan serupa: superuser.com/questions/829056/… - stackoverflow.com/questions/27559103/video-size-calculation - Saya hanya tahu apa yang saya kutip, tapi saya berasumsi bahwa ukuran byte tidak diperbaiki, tidak.
Oliver Larsen
Ada enam warna abu-abu yang berbeda. Jadi Anda tidak dapat menggunakan 1 bit untuk warna juga tidak masuk akal untuk menggunakan 32 bit. Gunakan jumlah bit minimal yang akan Anda miliki dan indikator untuk enam jenis abu-abu yang berbeda dan lakukan perhitungan seperti yang Anda lakukan.
Seth
2
@Tetapi pertanyaannya tidak jelas, 3 bit dapat memiliki 8 status berbeda, jadi tidak apa-apa untuk menyimpan 6 warna di sini. Namun misalnya 8 piksel dapat memiliki jumlah total 6 ^ 8 status, yang dapat disimpan pada 21 bit (2 ^ 21> 6 ^ 8) alih-alih 24. Dan masih ada ruang lebih lanjut untuk pengoptimalan ...
Máté Juhász

Jawaban:

0

Ok, mari kita lakukan langkah demi langkah. Anda sudah mengidentifikasi informasi paling penting yaitu:

  • Resolusi 480x320
  • 14 frame per detik
  • Waktu perekaman 5 detik
  • 6 status berbeda

Itu semua hanyalah penggandaan sederhana dari angka-angka itu. Satu-satunya tangkapan adalah, Anda tidak bisa hanya menggunakan 6 untuk jumlah patung tetapi Anda perlu melakukan sesuatu dengannya. Teks memberi tahu Anda bahwa 6 ini merespons setiap piksel dalam satu bingkai untuk perekaman itu. Karena itu (kemungkinan besar) kedalaman warna. Kedalaman warna gambar biasanya diberikan sebagai jumlah bit yang digunakan untuk "menyandikan" warna. Akan cukup merepotkan untuk menuliskan nama-nama warna yang dimiliki masing-masing piksel (dan akan membutuhkan lebih banyak ruang).

Jadi yang perlu Anda lakukan adalah mengonversi angka desimal 6 itu menjadi setara binernya. Ada berbagai pendekatan tentang cara melakukannya tetapi hasil akhirnya harus selalu representasi biner 110. Dengan informasi itu Anda tahu bahwa jumlah minimum bit untuk mewakili angka desimal 6 dalam biner adalah 3.

Jika itu adalah contoh IRL, Anda harus memperhitungkan struktur dan definisi data. Jadi misalnya untuk bitmap sepertinya Anda membutuhkan setidaknya 4 bit. Karena latihan Anda tidak menentukan informasi tambahan, orang yang mengajukan pertanyaan itu kemungkinan ingin Anda menggunakan 3 bit sebagai kedalaman warna.

Sekarang kita memiliki semua detailnya:

color depth * resolution * frames per second * seconds
3 bit * (480 pixels * 320 pixels) * 14 * 5 = 32 256 000 bit
32 256 000 bit / 8 bit = 4 032 000 bytes

Yang dilakukan oleh latihan itu adalah memeriksa setiap kali Anda memiliki pemahaman tentang istilah-istilah teknis dan dapat mengkonversi angka desimal ke angka biner.

Untuk bersenang-senang, Anda bisa berasumsi bahwa Anda membutuhkan 105 jenis abu-abu. Jika demikian, Anda akan mendapatkan 9187 Kilobyte.

Seth
sumber