"Информатика", Поляков К.Ю., Еремин Е.А.
Звук и видео в природе непрерывны, а компьютер хранит информацию в цифровом виде — как последовательности чисел. Чтобы записать звук, компьютер регулярно измеряет его сигнал и кодирует значения; видеозапись сохраняет цепочку кадров. На объём файлов влияют частота и глубина кодирования, число звуковых каналов, параметры изображения и длительность записи. Эти характеристики помогают оценить размер файла и понять, как сжатие уменьшает его объём.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Дискретизация звука — представление непрерывного звукового сигнала последовательностью измеренных значений, или отсчётов. Компьютер не может хранить все мгновенные изменения звуковой волны, поэтому сохраняет отдельные измерения. Так непрерывный звук превращается в набор данных, который можно записать и обработать.
Частота дискретизации — число измерений звукового сигнала за одну секунду. Её измеряют в герцах; например, 8 кГц означает 8000 отсчётов в секунду. Чем чаще измерения, тем подробнее компьютер передаёт изменения звука, но тем больше данных нужно хранить.
Глубина кодирования звука — количество бит, отведённых для хранения одного отсчёта. Если глубина равна n бит, для значения отсчёта доступно 2ⁿ уровней. Больше уровней позволяют точнее записывать амплитуду сигнала, то есть его мгновенную громкость, но увеличивают объём файла.
Битрейт видео — количество данных, используемых для хранения одной секунды видео. Его обычно выражают в битах за секунду. Битрейт зависит от того, сколько данных требуется кадрам, а также от звуковой дорожки, если она есть; поэтому видео с разным содержанием может занимать разный объём.
Звуковая волна изменяется непрерывно: её значение меняется не только в выбранные моменты, но и между ними. Однако память компьютера хранит цифровые данные, то есть отдельные значения, записанные по определённым правилам. Поэтому сигнал измеряют через равные промежутки времени, а полученные числа кодируют. При воспроизведении по этим отсчётам восстанавливают звучание, которое приближённо передаёт исходную волну.
Частота дискретизации определяет, сколько раз за секунду выполняется измерение. Если сигнал быстро меняется, редкие измерения могут пропустить часть его особенностей; более частые отсчёты дают более подробное описание волны. Но каждый новый отсчёт занимает место, поэтому повышение частоты увеличивает размер несжатой записи. Выбирая параметр, учитывают и требуемую точность, и доступный объём памяти.
Каждый отсчёт соответствует некоторой амплитуде, но записать её можно только одним из разрешённых цифровых уровней. При глубине n бит таких уровней 2ⁿ: например, 8 бит дают 256 уровней, а 16 бит — 65 536. Чем уровней больше, тем ближе записанное значение может оказаться к измеренному. Поэтому большая глубина помогает точнее передать громкость, но требует больше бит для каждого отсчёта.
Чтобы оценить размер несжатой звуковой записи, сначала находят число бит на секунду: частоту дискретизации умножают на глубину кодирования и число каналов. Затем результат умножают на длительность. Например, у стереозаписи два канала, поэтому каждый отсчёт записывается отдельно для левого и правого каналов. Если ответ нужен в байтах, число бит делят на 8; единицы частоты и времени перед расчётом должны быть согласованы.
Видеозапись состоит из кадров — отдельных изображений, которые быстро сменяют друг друга. Данные одного кадра зависят от числа пикселей и глубины цвета, то есть количества бит для описания цвета пикселя; весь ролик содержит много таких кадров. Поэтому размер несжатого видео зависит также от частоты кадров и длительности. Сжатие уменьшает объём, удаляя повторяющиеся или менее заметные данные, но при некоторых способах сжатия качество изображения или звука может снизиться.
| Параметр | Звук | Видео |
|---|---|---|
| Что кодируется | Отсчёты звукового сигнала | Последовательность кадров и, если есть, звук |
| Основные характеристики качества | Частота дискретизации и глубина кодирования | Разрешение, глубина цвета и частота кадров |
| От чего зависит объём несжатых данных | Частота, глубина, число каналов и длительность | Размер кадра, глубина цвета, частота кадров и длительность |
| Как увеличение параметра влияет на объём | Больше отсчётов или бит на отсчёт — больше данных | Больше пикселей, бит на цвет или кадров — больше данных |
Таблица помогает быстро сравнить, что именно сохраняется в звуковой и видеозаписи. Для оценки объёма выбери нужный столбец и проверь, учтены ли все перечисленные параметры. Если файл сжат, фактический размер может быть меньше оценки для несжатых данных.
Монофоническую запись длительностью 10 с кодируют с частотой дискретизации 8 кГц и глубиной 8 бит. Найдём объём данных без учёта заголовка. В условии указан один канал, поэтому дополнительный множитель для стерео не нужен. Сначала посчитаем биты, а затем переведём их в байты.
Ответ: 80 000 байт, или 80 Кбайт при десятичном переводе единиц. Сначала мы нашли количество отсчётов за всё время, затем учли глубину кодирования. Если бы запись была стереофонической, результат пришлось бы умножить на два.
Найдём объём 30-секундной стереозаписи с частотой 22 050 Гц и глубиной 16 бит без сжатия. Стерео означает, что данные записываются для двух каналов. Поэтому расчёт одного канала нужно удвоить, иначе получится объём монофонической записи. Переводить ответ будем сначала в байты, разделив число бит на 8.
Ответ: 2 646 000 байт, или примерно 2,65 Мбайт при десятичном переводе. В формуле число каналов важно ставить наряду с частотой и глубиной. Так мы не теряем данные одного из стереоканалов.
Видео длится 20 секунд, его разрешение — 320 × 240 пикселей, глубина цвета — 24 бита, частота — 25 кадров в секунду. Сначала найдём, сколько бит занимает один кадр: для каждого пикселя отводится 24 бита. Затем вычислим количество кадров за всё время и умножим размер одного кадра на это число. Считаем, что звук не добавлен и сжатия нет.
Ответ: 115 200 000 байт, или 115,2 Мбайт при десятичном переводе единиц. Это оценка для несжатых данных, поэтому реальный видеофайл обычно меньше. Если в ролике есть звуковая дорожка, её объём нужно рассчитать отдельно и прибавить.
Путают частоту дискретизации и глубину кодирования. Частота показывает число измерений за секунду, а глубина — число бит на одно измерение. Их смешивают, потому что оба параметра описывают цифровую запись, но в формуле они отвечают за разные множители. Проверь себя: у частоты есть единица «отсчётов в секунду», у глубины — «бит на отсчёт».
Не учитывают стереоканалы. Если в формулу подставить только частоту, глубину и длительность, стереозапись будет посчитана как моно. Ошибка возникает, когда число каналов не указано отдельной строкой в вычислениях. Перед расчётом найди в условии слово «стерео» и умножь результат на два.
Смешивают биты и байты или килобиты и килобайты. Это происходит, когда результат переводят в привычные единицы, не проверив, в чём он получен. В одном байте 8 бит, поэтому число бит делят на 8, а не умножают. Запиши единицу рядом с каждым промежуточным результатом и убедись, что при переводе она изменилась правильно.
Считают, что разрешение сразу определяет размер видео. Разрешение сообщает только число пикселей в кадре, но не показывает, сколько кадров в секунду записано и как долго длится ролик. Кроме того, нужна глубина цвета. Для проверки выпиши все параметры видео: ширину и высоту кадра, глубину цвета, частоту кадров и длительность.
Для расчётов нужно знать двоичную систему счисления и переводить биты в байты. Это помогает понимать, почему количество бит задаёт число возможных уровней и как единицы связаны с объёмом файла. Без внимательного перевода легко получить ответ, отличающийся в восемь раз.
Тема опирается на представление информации и измерение её объёма. Эти знания позволяют сравнивать файлы и оценивать, сколько места потребуется для записи с заданными параметрами. Они пригодятся и при выборе качества записи на устройстве.
Понимание цифрового кодирования звука и видео готовит к изучению сжатия данных и мультимедийных форматов. Оно также помогает оценивать передачу файлов по сети: чем больше объём и битрейт, тем больше данных нужно передать за то же время.
Почему цифровая запись не может точно сохранить все значения непрерывного звукового сигнала?
У непрерывного сигнала бесконечно много значений между любыми двумя моментами времени. Компьютер измеряет его только в отдельных точках, а каждое измеренное значение представляет одним из конечного числа уровней.
Что изменится, если увеличить частоту дискретизации?
За секунду будет записано больше измерений, поэтому форма сигнала обычно передаётся точнее. При прочих равных объём несжатых звуковых данных также увеличится.
Как глубина кодирования влияет на качество звука?
Чем больше бит отведено на один отсчёт, тем больше уровней громкости можно различить. Это позволяет точнее записать амплитуду сигнала, но увеличивает размер файла.
Почему стереозапись занимает больше места, чем монофоническая?
В монофонической записи хранится один звуковой канал, а в стереозаписи — два. Поэтому при одинаковых частоте, глубине и длительности стереофайл без сжатия обычно вдвое больше.
Какие параметры определяют размер несжатого видео?
Нужны разрешение кадра, глубина цвета, частота кадров и длительность видео. Чем больше каждый из этих параметров, тем больше данных требуется для хранения.
§ 14. Кодирование звука и видео