Об алгоритмах декодирования MP3
Формат MP3 появился более 20 лет назад. Вспомните, что это было за время — домашние компьютеры «ZX-Spectrum», дискеты 5 дюймов, первые Пентиумы. Проблема сжатия музыкальных данных стояла очень остро, а формат MP3 решал все вопросы, уменьшая длину файлов в 5-10 раз (см. РА-11/ 2002, с.14). Очень пригодились MP3-файлы на начальном этапе развития Интернета, когда скорость трафика была мизерной и каждый сэкономленный байт информации считался на вес золота.
Сейчас основное достоинство формата MP3 -малый объем файлов — нивелировалось, во-первых, дешевыми картами памяти (фирма «Kingston» в 2013 году начала продавать флешки объемом 1 ТБайт!), во-вторых, безлимитным высокоскоростным Интернетом 5-100 Мбит/с, т.е. принимать и пересылать большие по объему файлы затруднений не вызывает.
К сожалению, при кодировании MP3 теряется часть информации, в связи с чем музыкальные произведения звучат чуть-чуть не так, как в оригинале. В этом отношении лучше применение несжатых WAV-файлов. Кроме того, для формата MP3 по-прежнему требуется лицензирование <http://www.mpeg.org/>. Например, программу MP3-кодека можно встроить в широко распространенные 32-разрядные МК STM32F103. Только сначала надо подписать лицензионное соглашение с местным дилером, затем получить от него диск с аудиодвижком и документацией. Но даже наличие диска все равно не освобождает разработчика от денежных отчислений за использование формата MP3 в коммерческих целях.
Алгоритм кодирования и декодирования MP3 описан в стандарте ISO/IEC 11172-3 <http://ecee.colorado.edu/fmeyer/class/ecen4532/mpeg1-layerIII. pdf>. Правда, ознакомившись с ним, понимаешь, что сложные математические выкладки и двухэтажные формулы не вписываются в тематику статей журнала РА. Разбираться в структуре алгоритмов, дизассемблируя встроенные в музыкальные проигрыватели кодеки, — себе дороже, поскольку время уже ушло, программы декодирования уже написаны, аппаратные конверторы уже созданы. Опытный разработчик сразу применит микросхему VS1005 <http://www.vlsi.fi/en/products/vs1005.html> и получит готовый плеер разных форматов под девизом «all-in-one».
Что делать рядовому пользователю? Если хочется внести свою лепту в развитие систем кодирования, то можно приобщиться к свободному проекту FLAC <http://xiph.org/flac/>. Кодек FLAC сжимает файлы в среднем в 2 раза, но абсолютно без потери качества музыки. Интересно было бы внедрение такого кодека в разные МК по примеру проекта Microchip PIC32 <http://www.k9spud. com/traxmod/>. Тот, кто имеет за плечами университетское математическое образование, может попытаться придумать свой собственный алгоритм, который был бы лучше существующих. Насколько это реально, время покажет.
Кстати, купить джинсы монтана вы можете как в интернет магазине так и в обычном магазине который торгует джинсами. Вопрос только где дешевле и удобнее. По удобству конено выигрывает интернет магазин в котором удобно просмотреть весь каталог джинсов за минуты.