ВУЗ:
Составители:
Рубрика:
Официально кодек Monkey’s Audio выпускается только для платформы Microsoft Windows, хотя существу-
ет ряд неофициальных кодеков для GNU/Linux, BeOS и Mac OS X, которые в большинстве случаев позволяют
лишь пережимать файлы из этого формата в какой-либо другой.
FLAC (англ. Free Lossless Audio Codec – свободный аудио-кодек без потерь) – популярный свободный ко-
дек для сжатия аудио. В отличие от кодеков с потерями Ogg Vorbis, MP3 и AAC, не удаляет никакой информа-
ции из аудиопотока и подходит как для прослушивания музыки на высокачественной звуковоспроизводящей
аппаратуре, так и для архивирования аудиоколлекции. На сегодня формат FLAC поддерживается многими
аудиоприложениями.
Первые четыре байта аудиофайла идентифицируют поток FLAC. Следующие за ними метаданные содер-
жат информацию о потоке, затем идут сжатые аудиоданные.
FLAC определяет несколько типов блоков метаданных. Блоки метаданных могут быть любого размера,
новые блоки могут быть легко добавлены. Декодер имеет возможность пропускать неизвеcтные ему блоки ме-
таданных. Обязателен только блок STREAMINFO. В нём содержится частота дискретизации, количество кана-
лов и т.п., а также данные, позволяющие декодеру настроить буферы. Сюда также записывается подпись MD5
несжатых аудиоданных. Это полезно для проверки всего потока по-
сле его передачи.
Другие блоки предназначены для резервирования места, хранения таблиц точек поиска, тегов, список раз-
метки аудиодисков, а также данных для конкретных приложений. Опции для добавления блоков PADDING или
точек поиска приведены ниже. FLAC не нуждается в точках поиска, однако они позволяют значительно увели-
чить скорость доступа, а также могут быть использования для расстановки меток в аудио редакторах.
За метаданными следуют сжатые аудиоданные. Метаданные и аудиоданные не чередуются. Как и боль-
шинство кодеков FLAC делит входной поток на блоки и кодирует их независимо друг от друга. Блок упаковы-
вается во фрейм и добавляется к потоку. Базовый кодер использует блоки постоянного размера для всего пото-
ка, однако формат предусматривает наличие блоков разной длины в потоке.
Размер блока – очень важный параметр для кодирования. Если он очень мал, то в потоке будет слишком
много заголовков фреймов, что уменьшит уровень сжатия. Если размер большой, то кодер не сможет подобрать
эффективную модель сжатия. Понимание процесса моделирования поможет увеличить уровень сжатия для не-
которых типов входных данных. Обычно при использовании линейного прогнозирования на аудио-
данных с частотой дискретизации 44,1 кГц оптимальный размер блока лежит в диапазоне 2 – 6 тысяч сэмплов.
На следующем этапе кодер пытается аппроксимировать сигнал такой функцией, чтобы полученный после
её вычитания из оригинала результат (называемый разностью, остатком, ошибкой) можно было закодировать
минимальным количеством битов. Параметры функций тоже должны записываться, поэтому они не должны
занимать много места. FLAC использует два метода формирования аппроксимаций:
– подгонка простого полинома к сигналу;
– общее кодирование с линейными предикторами (LPC).
Во-первых, постоянное полиномиальное предсказание работает значительно быстрее, но менее точно, чем
LPC. Чем выше порядок LPC, тем медленнее, но лучше будет модель. Однако с увеличением порядка выигрыш
будет всё менее значительным. В некоторой точке (обычно около 9) процедура кодера, определяющая наилуч-
ший порядок, начинает ошибаться и размер получаемых фреймов возрастает. Чтобы преодолеть это, можно
использовать полный перебор, что приведёт к значительному увеличению времени кодирования.
Во-вторых, параметры для постоянных предикторов могут быть описаны тремя битами, а параметры для
модели LPC зависят от количества бит на сэмпл и порядка LPC. Это значит, что размер заголовка фрейма зави-
сит от выбранного метода и порядка и может повлиять на оптимальный размер блока.
Когда модель подобрана, кодер вычитает приближение из оригинала, чтобы получить остаточный (оши-
бочный) сигнал, который затем кодируется без потерь. Для этого используется то обстоятельство, что разност-
ный сигнал обычно имеет распределение Лапласа и есть набор специальных кодов Хаффмана, называемый ко-
дами Райса, позволяющий эффективно и быстро кодировать эти сигналы без использования словаря.
Кодирование Райса состоит из нахождения одного параметра, отвечающего распределению сигнала, а за-
тем использования его для составления кодов. При изменении распределения меняется и оптимальный пара-
метр, поэтому имеется метод, позволяющий пересчитывать его по необходимости. Остаток может быть разбит
на контексты или разделы, у каждого из которых будет свой параметр Райса. flac позволяет указать, как нужно
производить разбиение. Остаток может быть разбит на 2^n раздела.
True Audio (сокращённо TTA) – это свободный и бесплатный, аудио– кодек, осуществляющий сжатие ау-
диофайлов без потерь, способный работать в режиме реального времени. Кодек основан на адаптивных пред-
сказывающих фильтрах и обладает такими же или лучшими характеристиками, как и большинство современ-
ных кодер/декодеров без потерь.
ТАК – (T)om’s verlustfreier (A)udio(k)ompressor – аудиокодек, формат сжатия цифрового звука без потерь.
Отличается высокой степенью сжатия и скоростью кодирования и декодирования. Распространяется бесплатно
вместе с набором программного обеспечения для кодирования и воспроизведения, а также плагинами к популяр-
ным плеерам: Winamp, foobar2000 и др.
Относительно новый кодек. Первая финальная версия 1.0 была опубликована 26 января 2007 года.
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »