|
Ассоциация изготовителей и пользователей интерактивных мультимедийных систем (Interactive Multimedia Association, IMA), в настоящее время вошедшая в состав Ассоциации издателей программных продуктов (Software Publishers Association) - это промышленная организация, созданная для того, чтобы установить стандарты хранения мультимедийной информации. B отличие от многих международных стандартов, разработанных для аппаратной реализации, стандарты IMA специально разработаны так, чтобы их можно было легко поддерживать на настольных компьютерах. Ha настоящий момент IMA уже разработала единый стандарт, описывающий компрессию как аудио-, так и видеоинформации. Этот стандарт основан на ранее разработанном компанией Intel методе компрессии DVI. Этот метод компрессии звука широко известен под названием IMA ADPCM (адаптивная дифференциальная импульсно-кодовая модуляция, АДИКМ). Хотя в этом стандарте многие детали остались неописанными, все имеющиеся на сегодняшний день реализации IMA ADPCM работают приблизительно одинаково. Поток аудиоданных преобразуется в последовательность пакетов. Каждый пакет состоит из заголовка (от 2 до 8 байт), в котором записывается информация о состоянии и последовательности 4-битных сжатых отсчетов. B каждом 4-битном числе закодирована разница между двумя последовательными 16-битными отсчетами несжатых данных. IMA ADPCM работает очень быстро. Изначально этот алгоритм разрабатывался как часть системы компрессии видео, поэтому было очень важно, чтобы затраты времени центрального процессора на компрессию и декомпрессию звука были минимальны. Еще одним достоинством IMA ADPCM является то, что записываемая информация о статусе занимает очень небольшой объем. Для практической работы необходима возможность считать данные из различных частей звукового файла. Для этого, в свою очередь, необходимо, чтобы мы могли начать декомпрессию практически с любой точки файла. Сложные модули компрессии и декомпрессии накапливают разнообразную информацию об обрабатываемых данных, поэтому мы не можем начать декомпрессию с середины файла. Чтобы получить всю необходимую информацию, мы вынуждены начинать декомпрессию с начала файла. Либо компрессор должен периодически вставлять в файл дополнительную информацию. Для работы IMA ADPCM необходимо всего 23 бита информации о состоянии процесса. Модули компрессии записывают информацию о своем состоянии в начале каждого пакета, что позволяет модулю воспроизведения осуществлять декомпрессию каждого блока независимо от других блоков. До тех пор, пока размеры блоков будут относительно небольшие, воспроизведение можно будет начать почти с любого отсчета. K сожалению, этот стандарт не показывает, как записывать информацию о статусе в файл. Также не стандартизована и обработка стереопотоков. Две распространенные реализации IMA ADPCM, одна из которых сделана фирмой Microsoft, а вторая - фирмой Apple, записывают слегка различную информацию, немного по-разному трактуемую при воспроизведении.
|