• Предмет: Информатика
  • Автор: ffffdddddds
  • Вопрос задан 2 месяца назад

Производится двухканальная (стерео) звукозапись с частотой
дискретизации 32 кГц. Запись длится 2 минуты 30 секунд, её
результаты записываются в файл. После сохранения информации
файл сжимается архиватором, размер сжатого файла сокращается
на 25%. Под хранение сжатого файла аудиозаписи выделено 14
Мбайт. Определите максимальную битовую глубину кодирования
звука, которая могла быть использована в этой записи.


Ziorar: Как я понимаю, вычислить можно так:
14 * 1024 * 1024 * 8 / (1 - 0,25) / (2*60 + 30) / 32000 / 2 = 16,311...
Ответом будет целая часть числа, то есть 16 бит.
Это и есть максимальная битовая глубина кодирования, возможная при указанных параметрах.

Ответы

Ответ дал: Ziorar
0

Как то так можно:

1) Берём максимальный размер сжатого файла: 14 мегабайт

2) Считаем размер несжатого файла: делим на (1 - 0,25), то есть на 0,75. Это потому, что при сжатии файл стал на 25% меньше. То есть, был 100%, а стал (100% - 25%) = 75%.

Если этот пример записать не в процентах, а в долях числа (ведь проценты - это сотые доли), то получим:  (100/100 - 25/100) = 75/100

Перейдя к десятичным дробям, получим:  (1 - 0,25) = 0,75

То есть, сжатый файл составляет 0,75 (75%) от несжатого. Это вычисляется так:

разм.сжат. = (1 - 0,25) * разм.несжат. = 0,75 * разм.несжат.

Соответственно, размер несжатого файла находится делением размера сжатого на 0,75 либо на (1 - 0,25):

разм.несжат. = разм.сжат. / (1 - 0,25) = разм.сжат. / 0,75

Получим дробное число, и лучше его не округлять, т.к. это может повлиять на конечный результат. Поэтому, не буду записывать промежуточные результаты, а в конце запишу всё вычисление одним примером, сразу с финальным результатом.

3) Переводим в биты - умножаем на 1024 (в килобайты), ещё на 1024 (в байты), и ещё на 8 (в биты)

4) Делим на число секунд в записи, т.е. на (2*60 + 30). Получим, сколько бит памяти можно потратить на одну секунду записи.

5) Делим на 32000 (потому, что частота дискретизации 32 кГц = 32000 Гц, то есть за секунду выборки берутся 32000 раз). Получим, сколько бит памяти в среднем приходится на запись пары выборок (одновременно берётся выборка с каждого из каналов).

6) Делим на 2 (канала). Получим, сколько бит памяти в среднем приходится на запись выборки для одного канала.

7) Берём целую часть полученного числа, т.к. для записи каждой выборки выбирается какое либо одно, целое число бит.

Считаем всё одним примером:

14 : (1 - 0,25) · 1024 · 1024 · 8 : (2*60 + 30) : 32000 : 2 = 16,311...

Ответом будет целая часть числа, то есть 16 бит.

Это и есть максимальная битовая глубина кодирования, возможная при указанных параметрах.

Ответ: 16 бит

Вас заинтересует