Кодирование видеоинформацииРефераты >> Программирование и компьютеры >> Кодирование видеоинформации
Каждый из описанных методов кодирования характеризуется скоростью битового потока, с которой сжатая информация должна поступать в декодер при восстановлении звукового сигнала. Декодер преобразует серию сжатых мгновенных спектров сигнала в обычную цифровую волновую форму. В любом видео или аудио потоке содержится значительное количество избыточной информации, которая независимо от ее присутствия или отсутствия не может быть воспринята человеческим ухом или глазом.
Информация в MPEG-файле записана последовательными блоками — кадрами (frames), которые последовательно считываются, а затем декодируются. Естественно, что чем больше поток, тем большее количество информации остается в файле и соответственно тем большее представление об оригинальном звуке в нем содержится. Аудиоинформация, сжатая по данной схеме, может передаваться потоком (streaming), а может храниться в файлах формата MP3 или WAV-MP3. Отличие второго от первого состоит в наличии дополнительного заголовка WAV-файла, что позволяет при наличии MP3-кодека в системе для работы с таким файлом использовать стандартные средства Windows.
Основная идея, на которой основаны все методики сжатия аудио сигнала с потерями, — отказ от кодирования тонких деталей звучания оригинала, лежащих вне пределов возможностей человеческого слуха. Звуки, находящиеся на границах резких перепадов уровня: после очень громкого звука на протяжении небольшого отрезка времени около 100 мс и перед ним на протяжении 5 мс, человеческое ухо неспособно воспринимать другие, более тихие звуки.
Говоря об этом, обычно имеют в виду возможности сознательного восприятия, игнорируя часто встречающийся эффект под порогового восприятия различных мелких, сравнительно тихих деталей; с их помощью, например, нередко обеспечивается эмоциональная окраска композиции. Но если при кодировании все же ограничиваться только действительно не воспринимаемыми потерями, то можно говорить о сохранении исходного качества закодированного аудио.
Как известно, наиболее важную роль в передаче звукового сигнала играют вершины огибающей, в то время как переходами вблизи нулевой отметки можно пожертвовать. После такой обработки звуковая выборка без труда сжимается с помощью обычных алгоритмов кодирования LZ или Huffman. Но полученная ширина потока не yдовлетвоpила разработчиков. Ради дальнейшего уменьшения объема потока была разработана подробная психоакустическая модель возможностей человеческого слуха, и из потока стала исключаться информация о деталях звука, полностью или частично маскируемых более сильным сигналом. В данную категорию из-за низкого уровня автоматически попадает большая часть сознательно не воспринимаемого сигнала (в принципе, на высших потоках происходил аналогичный процесс, но в несравнимо меньшей степени, с сохранением практически всех существенных деталей). Кроме того, для снижения уровня потерь на низких потоках применяются особые виды техники, главный из которых – режим кодирования объединенного стерео (joint stereo). Потери при кодировании в режиме joint stereo на низких потоках (и только на них) оказываются намного ниже, чем при кодировании в режиме нормального стерео, если стереоэффект особого значения не имеет; но, к сожалению, оно же приводит к плачевным результатам в часто встречающихся случаях записей с фазовым сдвигом, созданным при записи намеренно или появившимся в процессе эксплуатации записи.
Суть кодирования в соответствии с техникой joint stereo состоит в пpеобpазовании всего стереосигнала в средний сигнал между каналами и разность между ними. Но это только один вариант joint stereo, называемый MS Stereo. На особо низких потоках, таких как 96 Кбит/с, применяется техника MS/IS Stereo, в которой для некоторых частотных диапазонов вместо разницы между каналами хранится лишь информация о соотношении мощностей сигнала в разных каналах. Продукция FhG IIS так кодирует только высокие частоты, но некоторые кодеры позволяют выбрать нужный диапазон вручную. К сожалению, выбор заключается в указании нужного значения одной из маловразумительных внутренних переменных формата, не разъясняемой в документации.
Окончательной версии выше упоминаемой психоакустической модели пока не существует, как нет и определенного стандартного алгоритма кодирования. В связи с этим в общем случае объем и степень ощутимости потерь определяются, с одной стороны, потоком, а с другой — особенностями конкретной разновидности психоакустической модели, использованной в каждом конкретном кодере. Последний момент имеет особенно большое значение на низких потоках. Существует набор эффектов, которые на таких потоках крайне плохо поддаются кодированию.
И еще одна особенность человеческого слуха была учтена при разработке алгоритма компрессии — использование минимального порога слышимости. Наибольшей чувствительностью (2-4 дБ) органы слуха обладают в среднем диапазоне частот порядка 2-5 кГц. На других частотах порогом чувствительности может стать значение громкости звука в 40 дБ. Иными словами, звуки, лежащие за порогом чувствительности, нет смысла сохранять, поскольку они все равно не будут услышаны.
На основании подобных эффектов создается так называемая психоакустическая модель, разбивающая весь частотный спектр на части, в которых уровень звука примерно одинаков, после чего удаляет звуки, не воспринимаемые человеком, как это было описано выше.
Существует три уровня audio MPEG для сжатия стереофонических сигналов:
· коэффициент сжатия 1:4 при допустимом потоке данных 384 Кбит/с;
· 1:6 1:8 при 256 192 Кбит/с;
· 1:10 1:12 при 128 112 Кбит/с.
Теперь попробуем понять, какова разница между уровнями (Layers). Например, в Layer 3 части разбитого спектра намного меньше, чем в первых двух, и по этой причине сжатие этим методом является наиболее продуктивным, а коэффициент его достигает 1:12 без заметной на слух потери качества. Поэтому столь широкое распространенное получило расширение файлов MP3 (MPEG Layer 3).
Для получения звука с качеством CD необходимо компрессировать аудиофайлы с потоком 256 Кбит/с, но для большинства слушателей и большинства применений вполне достаточно 128 Кбит/с (по 64 Кбит/с на канал). Однако среди великого множества кодеров MP3-файлов следует отметить немногие, позволяющие сжимать звуковой ряд с переменным потоком (variable bitrate), обеспечивая, таким образом, максимальное качество и экономя дисковое пространство. Основой таких кодеков является использование в каждый момент времени определенного значения потока и, как следствие, изменяющейся во времени природы звукового сигнала (частоты и амплитуды звуковых колебаний). Для сжатия речи с отличным качеством вполне достаточно 24 или 32 Кбит/с.
Построение той самой психоакустической модели — сложный математический процесс, изобилующий вычислениями с плавающей запятой. Как следствие, подобный процесс, равно как и процесс сжатия, методом Хаффмана, требует солидной вычислительной мощности и при декодировании файлов формата MPEG, и особенно — при кодировании. Первоначально для этой цели использовались специализированные устройства, выполнявшие все математические преобразования на аппаратном уровне, и лишь в последние годы, после появления достаточно мощных процессоров, способных справляться с подобными вычислениями без особого ущерба для остальных приложений, это стало возможным и с помощью специальных программ.