Сжатие файлов MP3
To Fix (MP3 Files Compression) error you need to follow the steps below: |
|
Шаг 1: | |
---|---|
Download (MP3 Files Compression) Repair Tool | |
Шаг 2: | |
Нажмите «Scan» кнопка | |
Шаг 3: | |
Нажмите ‘Исправь все‘ и вы сделали! | |
Совместимость: Windows 10, 8.1, 8, 7, Vista, XP Ограничения: эта загрузка представляет собой бесплатную ознакомительную версию. Полный ремонт, начиная с $ 19.95. |
Сжатие файлов MP3 обычно вызвано неверно настроенными системными настройками или нерегулярными записями в реестре Windows. Эта ошибка может быть исправлена специальным программным обеспечением, которое восстанавливает реестр и настраивает системные настройки для восстановления стабильности
If you have MP3 Files Compression then we strongly recommend that you Download (MP3 Files Compression) Repair Tool .
This article contains information that shows you how to fix MP3 Files Compression both (manually) and (automatically) , In addition, this article will help you troubleshoot some common error messages related to MP3 Files Compression that you may receive.
Примечание: Эта статья была обновлено на 2020-01-19 и ранее опубликованный под WIKI_Q210794Meaning of MP3 Files Compression?
Ошибки, связанные с диском, часто являются основной причиной ошибок файловой системы в операционной системе Windows. Это в основном можно объяснить такими проблемами, как плохие сектора, коррупция в целостности диска или другие связанные с этим проблемы. С огромной программной системой, такой как Microsoft Windows, которая предназначена для выполнения чрезвычайно большого числа задач, в какой-то момент следует ожидать ошибок, связанных с файловой системой.
Некоторые из этих ошибок также могут быть вызваны сторонними программами, особенно теми, которые зависят от ядра Windows для запуска. Обычные пользователи могут также запускать такие ошибки файлов при интенсивном использовании.
Causes of MP3 Files Compression?
Большинство этих ошибок файлов можно легко устранить, применив последние обновления программного обеспечения от Microsoft. Однако иногда некоторые типы ошибок могут быть тяжелыми для ремонта.
Для более сложных проблем с файловой системой общие решения включают следующее:
- Сброс окон
- Выполнение ремонта системных файлов
- Очистка кэша хранилища Windows
- Ремонт компонентов
- Переустановка приложений Windows
Вы также можете использовать Средство проверки системных файлов инструмент для исправления поврежденных и отсутствующих системных файлов. В то же время, Проверить диск chkdsk также можно использовать для проверки целостности файловой системы и определения местоположения поврежденных секторов на жестком диске.
More info on MP3 Files Compression
РЕКОМЕНДУЕМЫЕ: Нажмите здесь, чтобы исправить ошибки Windows и оптимизировать производительность системы.
Is there any software available audio converter ..you can set the bit rate, quality etc
to compress Mp3 file format. Http://www.handshakeit.com
theres a free programme availble from the creative website..creative Thanks.
Сжатие файлов
Hello jamichaels.
is it okay to compress files/folders?
[right click — properties — General — Advance — ‘Compress contents to save disk space’]
is it advisable to do that on Program Files, maybe?
Декомпрессии файлов на жестком диске
ноутбук работал. Это не все,
Я застрял. К сожалению, после отключения моего ноутбука, когда я пришел к запуску, я перезагружаюсь к тому же сообщению. Любая помощь будет
При этом система DE-COMPRESS мои файлы, чтобы вернуть мой ноутбук. Закройте эту тему, нажав правую колонку и придерживайтесь другой нити, чтобы избежать путаницы.
Отлично, в то время как 7 Ult, сказал мне, что я бегу по космосу.
Привет, Привет,
Джо.
проходить прошлое. My Advent 7201 с 120gb Hdd 2gb Рам и победа теперь получают следующее сообщение
«BOOTMGR COMPRESSED, нажмите CTRL + ALT + DEL, чтобы перезагрузить систему. КАК я могу пройти мимо этого или получить высокую оценку.
Файлы сжатия и Wnk2
Я знаю, что это был WinZip (которого я лично ненавижу).
Еще один новичок. Есть ли скрытый компонент Windows для этого в Wnk2? Я пытаюсь Wnk2?
Bahh!
just isn’t in the OS and I am stuck with the likes of WinZIP. ME spoiled with not having to save myself from WinZip. an option on ME. Thanks
Ok, the lack of posts, is leading me to the conclusion that
Утилита сжатия для файлов Cakewalk
Мой друг на Кипре хочет отправить файлы Cakewalk в Англию через Интернет. (Cakewalk — приложение для композиции музыки). У него есть только файл 25mb для 18mb. Winzip обычно сжимает dial-up.
Файлы сжатия Outlook Express и .bak
чтобы увидеть, что там было, и было заполнено папками с электронными письмами. Abri
Файлы .bak в ваших, которые должны быть сохранены? Это должно быть безопасно. Есть ли какая-то настройка, которая должна быть короткой во время сжатия?
У них были те же имена, что и мои dbx-папки в течение определенного времени? Любой, кто знает корзину, является результатом сжатия. Удаляются ли файлы .bak.
Здравствуйте,
Я заметил, что мой мусор может выпукнуть этим утром, и прежде чем я запустил CCleaner, я открыл, но вместо него были имена .bak, например draft.bak вместо draft.dbx.
Я задавался вопросом, очищены ли эти папки во время сжатия, потому что я об этом? Или они заставили компьютер рекомендовать сжать файлы вчера, и я позволил этому сделать это.
Перспективное сжатие файлов
Мне не нужно, пусть он их сжимает, когда он спрашивает.Rob. 🙂
Меня неоднократно спрашивали, хочу ли я экономить место. Это делает работу лучше, поэтому вам нужно просто сжать мои папки, когда в Outlook Express.
программное обеспечение сжатия для сжатия больших файлов до 50%
Но группы 7 .. !! Пожалуйста, сжатый, то же самое с большинством музыкальных файлов.
Images and videos are already highly help? Can any one please suggest me a software which of files?
Привет, эти winzip, winrar, 7 zip, peazip, хомяк, универсальный экстрактор, zipltfree, pkzip, бит-молния .. Какой тип не был выполнен. Я пробовал все сжимать очень большие файлы и папки до 50%?
CabPack: бесплатное программное обеспечение для создания CAB-файлов
Загрузите страницу.
CabPack — бесплатная программа сжатия, с помощью которой вы можете создавать файлы в шкафу (.CAB).
Могу ли я сжимать несколько файлов / папок при сжатии с помощью 7zip?
У меня есть папка Спасибо.
позволит мне создавать 10 отдельные 7zip архивы?
Здравствуйте,
Могу ли я сжимать несколько файлов / папок, полный каталогов 10 (папок). Есть ли единственная команда для 7zip, которая при ультра-сжатии с 7zip?
Лучшее программное обеспечение для сжатия и сжатия
Спасибо, парни.
Сжатие ВСЕГДА ПРИНИМАЕТ ВРЕМЯ, достаточно сказать некоторые в терминах результирующего размера файла. Я считаю, что большинство людей будут автоматически рекомендовать 7Zip, потому что: a) он бесплатный и файл независимо от времени или циклов процессора. Но я буду честен, что я никогда не видел разницы. B) он может предлагать меньшие результирующие сжатые файлы в зависимости от выбранного сжатия.
В основном я ищу, чтобы получить самый маленький
Я использую Winrar, и я знаю, что форматы сжатия занимают больше времени, потому что они еще больше уплотняют файлы. BTW Windows, и может быть бесплатным или платным программным обеспечением. с WinRAR.
Лично я буду придерживаться, есть люди, которые говорят 7zip.
Повторное сжатие
Благодаря,
Определить, возможно, даже повторное ACE для получения любого дополнительного сжатия? Могу ли я ACE, затем RAR, а затем ZIP, бесплодный.
Я сделал небольшой тест и обнаружил, что попытка закрепить уже заархивированный файл была бесплодной.
Сжатие DVD
Поэтому стандартные DVD-плееры все читают. Большинство дешевых пустых DVD-дисков для домашнего использования — только однослойные, но двухслойные заготовки можно купить (но стоят дороже).
Сжатие CD
сжатие pdf?
Какой модельный сканер — я пока не буду выбирать между огромными файлами или минимальной функциональностью.
Здравствуйте,
Я взглянул на руководство? Однако размер файлов может быть довольно большим, с меньшим размером файла, но в результате также удаляется дополнительная функциональность. У меня есть программа под названием Nuance pdf Creator, которая сжимает программы PDF, которые это сделают?
Спасибо за любую помощь.
Я не могу уменьшить размер файла с помощью собственного программного обеспечения?
Будет ли Adobe Acrobat сокращать pdf-файлы в вопросе о сжатии pdf. Есть ли другой хороший способ, который оставляет вышеприведенную функциональность неповрежденной? дать представление о программах PDF и возможностях сжатия.
Я хочу разместить онлайн-версию pdf, чтобы сделать их доступными для загрузки, вплоть до 100mb для больших файлов. Возможно, есть возможность сделать
CD изо сжатие?
CD просто хранит больше файлов iso и сжатие, которое они используют, если они есть. Thanx для любого совета / просвещения,
ziggy2004
На нем записаны данные
Здесь идет CD?
Когда вы извлекаете с помощью isobuster, он распределяет данные по нескольким кластерам с большим количеством отходов между ними. То, что точно в непрерывной строке, без пустого пространства или отходов вообще. ПОСТАНОВИЛИ
Привет всем,
Я хотел бы знать, что происходит с изо сжатием? эффективно, чем HD.
Сжатие Mp3
Если бы кто-то мог указать на это, я был бы очень благодарен. песни на моем проигрывателе mp3. Я использую Real Player, но вам нужно заплатить подписку, чтобы изменить mp3 с ней, но с битрейтом (размер, который вы хотите скопировать файл).
Способ, которым можно изменить mp3, — это все, что нужно сделать, там есть бесплатные программы, которые также позволяют изменять размер файла. Благодаря,
Мне было просто интересно, что я не знаю, было ли много вопросов на 96kbps, но можно довести их до 24kbps.
Большинство на моем проигрывателе mp3, я сократился до этого, но есть ли какой-либо возможный способ, чтобы я мог сделать файлы mp3 меньше? Достойным звучанием mp3 станет Осирис. Я видел несколько тем, но они не помогли мне
Так что я мог бы дышать больше вокруг 128kbps (килобиты в секунду).
Сжатие жесткого диска
Сжатие жесткого диска ……. на сжатом, а что такое pro и con для этого? Это хорошие старые компьютеры. Если все будет удалено, кроме операционной системы, а затем сжатие будет плохо!
луч
HD вещь или плохая вещь?
re: сжатие на лету
Вы можете использовать сжатие NTFS, щелкнув правой кнопкой мыши диск, но это даст вам лишь несколько процентов за счет скорости системы.
TIA,
Fallsoffmotorcycle
Нет ничего такого, что могло бы сделать это, если бы вы использовали другие материалы в основном разделе. Он должен быть «на лету», мне нужно иметь без видимых и скрытых файлов. Приложения находятся на отдельном разделе с XP ProSP2 NTFS OS.
Можете ли вы по-прежнему иметь возможность запускать ОС. Это будет сжать привод переменного тока на ноутбуке. У меня когда-нибудь было приложение, и кто-то советовал. Я не хочу тратить много ресурсов на это, и сжатие с небольшой нагрузкой или без нее.
Вы говорите о сокращении havent abe, чтобы найти его снова.
Привет всем,
Мне нужно бесплатное приложение, в котором находится сам раздел, или фактическая ОС? ОС — это много места. Поэтому мне не нужна компрессия. Мне нужно уменьшить размер ОС и его размер.
Вам нужна помощь в сжатии?
У меня есть файл 1.9GB.
Какая лучшая программа для этого?
Просто хочу спросить об компрессии
Клип компрессора WinRar, размер 98,919MB. Просто хочу спросить об компрессии. Я получил видео с вашего видео? Я думал, что когда я сжимаю его, он будет уменьшаться до WinRar, для этого потребовалось только 90,717MB.
Что такое формат файла 50% от размера. Теперь мой вопрос: как вы думаете, проблема? Когда я сжимаю его, это не так эффективно?
MP3 Packer 2.04 x86/x64 / Audiophile’s Software
Дата обновления: 03 Сентября 2012
Сайт | История
Очень интересная программа, которая позволяет уменьшить размер MP3 файлов, при этом абсолютно не ухудшая качество звучания.
Принцип работы заключается в том, что утилита преобразовывает CBR файлы (постоянный битрейт) в VBR (переменный битрейт), помещая данные из каждого фрейма в фрейм с минимально возможным размером. Так, например, в режиме CBR фрейму полностью состоящему из тишины отведется битрейт 320 кбит/с, а в режиме VBR этому же фрейму отведется минимальный битрейт — 32 кбит/с.
Эффективнее всего программа работает с высокими битрейтами (например, MP3 320 кбит/с). В среднем размер файлов уменьшается на 5-7%, для ненасыщенных композиций (классика, джаз) — до 30%.
[СКАЧАТЬ] (0.54 МБ)
Настройка
Использование:mp3packer[64].exe [параметры] [входной файл] [выходной файл]
или
mp3packer.exe [параметры] [входная папка] [выходная папка]
Параметры:
- * -b #
- Ограничить минимальный битрейт до # (в килобит/секунду).
- * -t
- Пропустить не-MP3 данные вначале файла (обычно ID3v2 теги).
- * -s
- Пропустить не-MP3 данные вконце файла (обычно теги).
- * -z
- Использование этого ключа приведет к тому что программа будет по частям распаковывать данные, затем находить оптимальный метод упаковки и снова упаковывать их. Результатом будет файл с минимально возможным размером, но обработка займет намного больше времени.
- * --process "X"
- Определяет используемые оптимизации в режиме работы с ключем -z. Значение: base — базовые оптимизации, sse41 — SSE 4.1 (по умолчанию).
- * -a "X"
- По-умолчанию, если имя выходного файла не указано, кодер будет назначать имя выходным файлам путем добавления «-vbr» к имени исходного файла. Вы можете изменить «-vbr» на любую другую комбинацию символов, указав её в значении параметра вместо X.
- * -A
- Не пропускать файлы в директории которая содержит в имени значение параметра -a.
- * -u
- Обновить исходный файл и переименовать его в соответствии с настройками имени выходного файла.
- * -w
- Отбросить весь фрейм если хотя бы одна гранула имеет ошибку (по-умолчанию гранула пропускается).
- * -r
- Постоянно минимизировать резервуар бит.
- * -R
- Постоянно максимизировать резервуар бит.
- * --keep-ok "x"
- Указывает какие файлы сохранять если ошибок не произошло. Значения (X): out — выходной, both — оба.
- * --keep-bad "X"
- Указывает какие файлы сохранять если произошли ошибки. Значения (X): in — входной, out — выходной.
- * -f
- Форсировать перезапись для выходных файлов.
- * -i
- Отобразить информацию и выйти (без обработки).
- * --ib
- Отображать только минимальный CBR битрейт (аналогичен параметру -i).
- * --nice X
- Приоритет процесса. 0 — обычный, 19 — минимальный. По-умолчанию X=10.
- * --debug "X"
- Отобразить большое количество информации во время обработки. Значения (X): in — о входном файле, out — о выходном файле, all — об обоих файлах.
Рекомендации
Для работы с программой удобно использовать плагин Run Services. Для удобства можно поместить файл mp3packer.exe в папку \foobar2000\tools\mp3packer/. Ниже приведены параметры:
Сжать выбранный MP3 файл, обычный режим:.\tools\mp3packer\mp3packer.exe "%path%"
Сжать выбранный MP3 файл, максимальное сжатие (низкая скорость):.\tools\mp3packer\mp3packer.exe -z "%path%"
Сжать все MP3 файлы в папке с выбранным, обычный режим:.\tools\mp3packer\mp3packer.exe "$directory_path(%path%)"
Сжать все MP3 файлы в папке с выбранным, максимальное сжатие (низкая скорость):.\tools\mp3packer\mp3packer.exe -z "$directory_path(%path%)"
Отобразить полезную информацию о MP3 файле:.\tools\mp3packer\mp3packer.bat "%path%"
Скриншот с примером:
[Обсудить на форуме]
Информация от спонсора
Hidden_Files@LiveJournal: описание токенов для ЕГАИС. Узнайте всё о ключе джакарта егаис, а также, что лучше — рутокен или етокен.
Реализация фильтра mp3-файлов для архиватора 7-Zip / Habr
С давних пор единственным моим архиватором является программа 7-Zip. Мне нравится его степень сжатия и скорость работы, поэтому я использую его практически повсеместно: для сжатия дистрибутивов программ, для архивирования коллекций картинок, а так же для хранения музыкальных релизов. Музыку я качаю с сетевых некоммерческих лейблов, где она чаще всего поставляется в виде архива (zip или rar), содержащего композиции и картинки-обложки. После скачивания архивы пережимаются программой 7-Zip и в таком виде хранятся на жестком диске. Для прослушивания музыки архивы не требуется распаковывать, так как современные плееры умеют играть музыку прямо из них (в частности, я использую Foobar2000). И хотя суммарный объем памяти, занимаемой всеми архивами, еще далек от емкости жесткого диска, меня начала занимать мысль об улучшении степени сжатия mp3-файлов. Как говорил один мой преподаватель, задача — это неудовлетворенное чувство беспокойства; и это было именно то чувство, которое испытывал я. Изобретать свой перекодировщик мне не хотелось, поэтому было решено попробовать написать фильтр, удаляющий какую-нибудь избыточную информацию.Анализ условий задачи
Под mp3 мы будем понимать MPEG-1/2/2.5 Layer 3. Посмотрим, что из себя представляет mp3-файл.
Итак, mp3-файл состоит из множества фреймов, причем фреймы могут быть связанны друг с другом, то есть для декодирования одного фрейма может понадобиться заглянуть в другой. В файле могут присутствовать теги, как перед аудиоданными, так и после. Каждый фрейм хранит 1152 сэмплов (для стерео режима) и имеет продолжительность в 26 мс. Размер фрейма зависит от используемого битрейта и частоты дискретизации, и вычисляется по следующей формуле:
Padding — это специальный флаг в заголовке фрейма означающий, что фрейм дополнен одним байтом.
Фрейм состоит из заголовка, проверочного кода (необязательно), информации, необходимой для декодирования сэмплов (будем называть эту информацию «side info», так как придумать приемлемого русского перевода этого словосочетания мне не удалось), собственно самих упакованных сэмплов и дополнительных данных, не имеющих прямого отношения к закодированным сэмплам:
Заголовок, размером в 32 бита, имеет следующую структуру:
Название | Длина поля | Назначение |
---|---|---|
Sync word | 11 | Используется для поиска заголовка. Все 11 бит установлены в «1» |
Версия MPEG | 2 | |
Индекс слоя (layer) | 2 | |
Бит защиты | 1 | Если не установлен, то во фрейме присутствует CRC |
Индекс битрейта | 4 | |
Индекс частоты дискретизации | 2 | |
Padding bit | 1 | Тот самый флаг, сигнализирующий, что фрейм дополнен одним байтом |
Private bit | 1 | Несет какую-либо специфическую информацию |
Режим кодирования каналов | 2 | Может быть mono, stereo, joint stereo, dual channel |
Mode extension | 2 | Используется в режиме кодирования каналов joint stereo |
Copyright bit | 1 | Если этот бит установлен, то это означает, что копирование файла неправомерно |
Original bit | 1 | Если этот бит установлен, то это означает, что файл находится на своем оригинальном носителе |
Акцент (Emphasis) | 2 | Сообщает декодеру, что требуется дополнительная обработка аудиоданных |
На практике некоторые поля заголовка не используются и/или остаются одними и теми же на протяжении всего mp3-файла. Например, версия MPEG, индекс слоя, private bit, copyright bit, original bit, etc. Если файл был создан с использованием постоянного битрейта (CBR), то не меняется и поле bitrate index.
Первая мысль заключается в том, что необязательно хранить все поля заголовка фрейма, а только те, которые меняются на протяжении файла. Остальные, не меняющиеся поля, можно сохранить только один раз. Пройдясь по заголовкам всех фреймов можно собрать статистику и выявить поля, которые реально используются.
Сразу за заголовком может располагаться проверочный код CRC. Он представляет собой 16-ти битное целое, вычисляемое с использованием алгоритма CRC16 по последним 16-ти битам заголовка фрейма и по всем байтам side info.
Вторая мысль заключается в том, что раз мы знаем как вычислить проверочный код, то его можно не хранить. Разумеется, просто так взять и выкинуть CRC из фрейма мы не имеем права. Сперва нужно убедиться, что оно представляет собой правильное значение, ведь в сам проверочный код или в байты, по которым он вычисляется, могла закрасться ошибка.
Подробно останавливаться на анатомии side info я не буду. Side info представляет из себя достаточно сложную структуру со множеством полей, которые меняются в каждом фрейме. Провернуть такой же фокус с полями side info, как с полями заголовка фрейма не выйдет.
Следом за side info идут сжатые кодом Хаффмана аудиоданные. На самом деле это не совсем так, так как коды Хаффмана чередуются с масштабными коэффициентами (scale factors), но мы для простоты положим, что после side info и до конца фрейма располагаются аудиоданные.
Между фреймами могут находиться любые другие данные, лишь бы среди этих данных не было сигнатур заголовка фрейма (Sync word).
Алгоритм
Поизучав исходный код 7-Zip я натолкнулся на реализацию фильтра BCJ2, предназначенного для улучшения сжатия исполняемых файлов (*.exe, *.dll). Отличительной особенностью этого фильтра является то, что у него один вход и четыре выхода. На каждый из выходов навешан свой кодировщик. Таким образом получается, что входной файл разделяется на 4 потока и каждый поток сжимается своим отдельным кодером.
Идея нескольких выходов мне приглянулась и я решил применить ее в своем фильтре:
— в один поток упаковывать поля заголовков фреймов в соответствии с первой мыслью
— во второй поток упаковывать side info
— и, наконец, в третий поток упаковывать оставшуюся информацию: теги и коды Хаффмана
Первые два потока сжимаются с помощью алгоритма LZMA с настройками, используемыми внутри 7-Zip для сжатия заголовков архива, а третий поток сжимается алгоритмом, выбранным пользователей в окне «Добавить в архив».
Кодировщик работает так: последовательно перебираются все фреймы файла. Фрейм разделяется на три части: side info отправляется в поток side info, коды Хаффмана отправляются в главный выходной поток, а поля заголовков складируются в буфер. Если во фрейме присутствует CRC и оно оказывается верным, то оно пропускается, в противном случае его значение переписывается в поток заголовков, чтобы при распаковке его можно было восстановить.
Sync word (11 бит) каждого заголовка просто выбрасывается. Значения полей, которые не менялись в течении файла, записываются в поток заголовков только один раз, тогда как меняющиеся поля записываются последовательно друг за другом.
Декодер работает зеркально кодировщику: сначала восстанавливаются все заголовки, затем по ним начинается восстановление каждого фрейма. Вычисляется, либо восстанавливается из первого потока CRC, следом записывается side info и остаток фрейма.
Реализация и практические результаты
Реализация не представляет собой ничего особенно сложного и поэтому приводить ее здесь я не вижу смысла. Исходники выложены на гитхабе. Отмечу лишь, что поддержка подобных фильтров (с одним входом и несколькими выходами) в 7-Zip реализована недостаточно прозрачно и мне пришлось не без мыла лезть внутрь 7-Zip, в частности, в файл 7zUpdate.cpp. Да, кстати, при разработке фильтра использовались исходники 7-Zip 9.20.
Скомпилированная dll лежит на том же гитхабе. Ею нужно заменить 7z.dll в папке, где у вас установлен 7-Zip.
Тестирование работы проводилось на выборке из 1351 файлов суммарным объемом 16755839778 байт (15.605 Гб), на компьютере с операционной системой Windows XP, процессором Intel Core 2 6700 (2.66 Ггц) и тремя гигами оперативки. Каждый файл по отдельности был сжат в архив и распакован. Сначала без использования фильтра, затем с фильтром. Везде использовался уровень сжатия Ultra.
Без фильтра | С фильтром | |
---|---|---|
Суммарный объем сжатых данных | 16300442691 байт (15.181 Гб) | 16064243440 байт (14.961 Гб) |
Суммарное время, потраченное на упаковку | 12181.09 сек | 11273.47 сек |
Суммарное время, потраченное на распаковку | 3215.44 сек | 2744.76 сек |
Фильтр позволил сэкономить:
— 236199251 байт (~225 Мб) памяти на жестком диске
— 908 секунд (~15 минут) на упаковке
— 407 секунд (~8 минут) на распаковке
Как видно, скорость упаковки возросла на 8%, а скорость распаковки на целых 15%.
Заключение
Фильтр улучшил коэффициент сжатия mp3-файлов на 1.5%. Выдающимся этот результат не назовешь, но и плохим тоже, ведь фильтр работает с сжатыми данными.
На этом все. Спасибо за внимание.
Понятно об MP3 кодировании / Audiophile’s Software
Это любительский перевод статьи, оригинал которой располагается по адресу:
http://arstechnica.com/old/content/2007/10/the-audiofile-understanding-mp3-compression.ars
Copyright (C) 2012, Audiophile
Полное или частичное копирование текста допускается только с письменного разрешения автора.
От неизвестности к повсеместности
Со времен своей стандартизации в 1991-м MP3 прошел путь от малоизвестной части видео файла до такой распространенности, о которой большинство проектов может только мечтать. Он везде – на полках магазинов с плеерами, на устах политиков и адвокатов, защищающих интеллектуальную собственность.
Но что такое MP3? Чаще всего ответ бывает двух типов. Первый, длинный – техническая документация полная характерной терминологии и переполненная математикой. Второй, краткий, чаще всего используемый нетехническими периодическими изданиями; обычно в нем говорится, что в процессе преобразования удаляются звуковые составляющие, как правило не воспринимаемые человеческим ухом. Но это единственное предложение вызывает больше вопросов, чем дает ответов, для любого более-менее технически образованного читателя. Каким образом происходит выбор этих неслышимых звуков и как они удаляются? Какая разница между различными битрейтами и уровнями качества? Если Вы чем-то походите на меня, то Вы тоже хотели бы знать механизм работы MP3, но конечно не до такой степени, чтобы суметь написать свой собственный кодер.
Эта статья – попытка объяснить процесс MP3 компрессии доступными терминами, но не слишком упрощая. Хотя, отдельные этапы (такие как подробности схемы стерео кодирования и углубление в структуру файла) всё же опущены, эта статья включает в себя базовую теорию получения из несжатого аудио файла звука сжатого в MP3. Для того чтобы в процессе экскурса в кодек MP3 не перегружать вас техническими мелочами, мы рассмотрим изначальные принципы кодирования MP3 и его предшественников, затем перейдем к анализу и сжатию и, наконец, к влиянию этого формата на цифровой звук в целом.
Слушай
В зависимости от количества концертов, которые Вы посетили, Ваши уши могут быть в более или менее хорошем для Вашего возраста состоянии. Но даже если они в прекрасной форме, человеческий слух всё равно имеет определенные ограничения. Тесты обычно показывают, что в лучшем случае мы можем слышать частоты в диапазоне от 20 до 20000 Гц. Также наши уши более чувствительны к частотам в пределах 2-5 кГц и могут в данном диапазоне определять изменение частоты на 2 Гц – это и есть эффективное «разрешение» слуха. По мере того как человек стареет или чувствительные клетки уха поражаются громкими звуками, верхний частотный порог слышимости снижается. Фактически, большинство взрослых (включая меня) имеет проблемы с восприятием частот выше 16 кГц.
И это только физические ограничения человеческого уха. Наш мозг тоже играет роль в фильтрации и анализе сигналов получаемых по слуховому нерву. Наука, изучающая восприятие звука человеком, называется психоакустика, и она открыла несколько полезных слуховых эффектов. Например, мой любимый – эффект Хааса, заключающийся в том, что два одинаковых звука приходящих с промежутком в 30-40 мс из разных источников, будут восприниматься как один, звучащий из первого источника. Этот эффект часто используется на публичных выступлениях, чтобы усилить звук идущий со сцены – даже если дополнительные источники находятся далеко в стороне. MP3, как и многие другие алгоритмы кодирования с потерями, во многом опирается на подобные психоакустические эффекты. В частности, он использует явление частотной маскировки.
Представьте два звука несильно отличающихся по частоте – скажем, 100 и 110 Гц – но разных по мощности. По отдельности более тихий звук прекрасно слышен, но если оба звука воспроизвести одновременно, слышен будет лишь тот, который громче. Процесс сокрытия одной частоты другой близкой по значению (но не идентичной) называется частотной маскировкой. Степень, в которой одни частоты могут маскировать другие, зависит от частотного диапазона – наши уши менее чувствительны в области низких и высоких частот. Громкие переходные сигналы (щелчки и пр. – сигналы с очень короткой длительностью) также могут маскировать более тихие звуки на небольшое время, как в случае с эффектом Хааса. Этот тип маскировки называется временнОй и также используется в MP3 сжатии.
Пережитки прошлого
Еще одна вещь, которую необходимо помнить, изучая работу алгоритма MP3: он является непосредственным наследником более старых алгоритмов компрессии, что в значительной мере повлияло на его устройство. MP3 расшифровывается как MPEG-1 Audio Layer 3. MPEG, в свою очередь, расшифровывается как Moving Pictures Expert Group – это название группы создавшей стандарт. MPEG видео (а также его преемники MPEG-2 и MPEG-4) используется повсеместно – DVD представляет собой модифицированную версию MPEG-2, коим также является сигнал цифрового ТВ.
Кроме третьего слоя (Layer 3) спецификации MPEG-1, существуют и два предыдущих, которые, однако, не прижились среди пользователей (согласитесь, немногие из нас слушают дома MP2). В MP3 есть некоторые функции, которые явно безосновательно усложнены и выполняются в значительно большее количество этапов, чем необходимо, чаще всего это и есть пережитки прошлого – наследие полученное от предшественников. Таким образом, алгоритм MP3 не лишен недостатков и порой слабо рационализирован.
Это является большим оправданием для меня, как для автора, честно. Так что, если у вас проблемы с пониманием процессов описанных в этой статье, не вините меня за скудные пояснения, вините Layer 2.
Анализируй
Что ж, давайте начнем с обычного звукового файла в виде несжатого PCM аудио. Для простоты предположим, что и этот файл, и MP3 будут иметь одну частоту семплирования – MP3 поддерживает различные частоты дискретизации, но наиболее распространенной является частота дискретизации Audio CD – 44.1 кГц.
Первым этапом является группировка этих семплов во фреймы, каждый из которых содержит 1152 семпла. Почему 1152? Это очередная дань прошлому – обратной совместимости с Layer 2. Технически фреймы у Layer 3 разделены на две гранулы по 576 семплов. Это такой себе клудж («ляп»), который был устранен в более новых кодерах: когда создавался стандарт MPEG-2 видео его звуковая часть использовала одну гранулу (1152 семпла) в каждом фрейме. В целях кодирования MP3 на самом деле использует в каждый момент времени только одну гранулу, хотя он может частично использовать предыдущие и последующие гранулы – с тем чтобы более тщательно анализировать поведение сигнала.
Далее эти семплы проходят через банк фильтров, который разделяет звук на 32 частотных диапазона (в некоторых программах для обработки звука это называется полосовым фильтром – bandpass filter). Это также является наследием от Layer 2, который фактически использовал эти 32 полосы частот для кодирования. Одним из достоинств Layer 3 является то, что он дополнительно разделяет каждый из этих 32-х диапазонов еще на 18 частотных полос, создавая 576 меньших, адаптивных полос. Каждая из этих полос содержит 1/576-ю часть исходного частотного диапазона.
На данном этапе протекает два параллельных процесса: модифицированное дискретное косинус-преобразование (МДКП, MDCT) и быстрое преобразование Фурье (БПФ, FFT). Математика этих процессов весьма сложна, но объяснить их можно и более-менее простым языком.
FFT используется как функция анализа, преобразовывая каждую полосу частот в информацию, которая может быть передана психоакустической модели кодера (что-то вроде виртуального человеческого уха). Кодер использует эту модель чтобы ответить на такие вопросы как: есть ли в каждой отдельной полосе частот звуки ниже порога маскировки (которые будут скрыты более громкими звуками близкими по частоте)? Является ли звук более-менее постоянным или он изменяется? Имеются ли какие-то резкие всплески (щелчки, транзиенты), которые должны быть сохранены и которые должны скрыть другие всплески до или после? Эта информация будет использоваться на протяжении сжатия чтобы выяснить, какие данные (согласно психоакустической модели) могут быть исключены без ущерба для воспринимаемого нашим ухом звучания.
Перед переходом к параллельно протекающему MDCT преобразованию фрагменты аудио сортируются по сложности – в зависимости от динамики содержащегося в них сигнала. MP3 позволяет описывать частотные полосы, используя один из двух типов блоков (т.н. windows) – длинный или короткий. Постоянный, не изменяющийся со временем сигнал может быть описан с помощью одного длинного блока. Транзиенты же – например, ударные инструменты или согласные звуки в человеческой речи – описываются с помощью трех коротких блоков (каждый из которых содержит по 192 семпла – примерно 4 миллисекунды).
MDCT преобразовывает разбитую на блоки полосу частот в последовательность спектральных значений. В отличии от обычного представления аудио – где сигнал описывается уровнем звукового давления в заданные моменты времени – спектральный анализ описывает звук как распределение мощности по диапазонам частот на каждом отдельном промежутке времени.
Перед Вами спектрограмма – спектральное представление звукового файла. Частоты, на которые приходится больше мощности (энергии) изображаются более ярким цветом. Снизу-вверх – низкие/высокие частоты, по горизонтали откладывается время.
Поскольку спектральное представление сигнала имеет большее сходство со слуховым восприятием звука, большинство lossy кодеров используют именно его для исключения неслышимых человеком частотных составляющих, вместо того чтобы оперировать дискретизированной звуковой волной. Как только MDCT преобразование завершается, MP3 имеет в своем распоряжении 576 «бинов», каждое из которых описывает интенсивность 1/576 части всего спектрального диапазона.
Теперь, когда у кодера есть спектральная информация и результаты психоакустического анализа гранулы, начинается собственно сам процесс сжатия.
Холодное сжатие
MP3 опирается на два типа компрессии, только один из которых использует психоакустический анализ. Психоакустическая компрессия идеальна для уменьшения сложных по характеру звуков с большим количеством составляющих, т.к. они предоставляют широкие возможности маскировки. Более простые звуки не выигрывают по степени сжатия от психоакустики, но очень легко сжимаются с использованием более традиционных методов компрессии. Совмещение обоих подходов требует двух-проходного процесса квантования и кодирования по Хаффману, взаимодействие которых обеспечивает впечатляющую гибкость сжатия.
Слово «квантование» звучит весьма пугающе, но сводится это к процессу количественной оценки, иначе говоря, к присваиванию определенного численного значения. «Но у нас уже есть числа» – возразите Вы. Это так. Но MP3 не был бы алгоритмом компрессии, если бы только преобразовывал числовые данные из одной формы в другую.
И так, 576 бинов, полученных после MDCT преобразования, распределяются на 22 масштабнокоэффициентных полосы (scalefactor bands). Путем деления каждого значения в каждой отдельной полосе на заданное число (квантователь), достигается некоторая аппроксимация исходных значений, при этом часть информации из-за ошибки квантования теряется. Квантование одинаково для всего частотного спектра, но для каждой масштабнокоэффициентной полосы используется свой коэффициент масштабирования, т.е. своя точность. Большие значения меньше теряют в точности при процессе квантования, в то время как небольшие значения в значительной степени страдают от ошибки квантования. В процессе декодирования масштабирование компенсируется, потому на уровне громкости квантование практически не сказывается.
Быстрое преобразование Фурье (FFT) выполнялось именно с тем, чтобы в дальнейшем иметь возможность задавать точность необходимую для каждой масштабнокоэффициентной полосы. Если в полосе имеются слабые сигналы, которые будут маскироваться в данной полосе более сильным, коэффициент масштабирования данной полосы может быть уменьшен таким образом, что маскируемые сигналы будут исключены. К сожалению, ошибка квантования также имеет слышимый эффект (проявляется как шум), и, чем меньше уровень масштабированного сигнала, тем выше будет уровень шума после восстановления исходной амплитуды. Таким образом, вторая функция психоакустической модели – отслеживать, когда соотношение сигнал/шум станет таким, что впоследствии сможет восприниматься на слух. Когда это происходит, кодер возвращается к этапу квантования и увеличивает точность аппроксимации (коэффициент масштабирования).
Это может показаться сложным и непонятным, так что давайте рассмотрим данный процесс на гипотетическом примере. Пусть наша информация о несжатой масштабнокоэффициентной полосе представлена числом 12592. И мы должны произвести квантование путем деления на 100. Таким образом, при масштабном коэффициенте 1.0 (без изменений), мы запишем это значение как (12592*1.0)/100 = 126, в дальнейшем, восстанавливая значение при декомпрессии (умножая его на исходный квантователь), мы получим 12600. Мы пожертвовали точностью и внесли небольшой шум квантования – наше число отличается от исходного на 8, но всё равно очень близко к нему.
В случае если мы можем позволить себе более низкую точность и более высокий шум, можно масштабировать входные данные с помощью множителя 0.1 – получим 1259. После квантования (квантователь – 100) получим 13. Восстанавливая значение, мы используем как квантователь, так и масштабный коэффициент, получая на выходе (13*100 )/0.1 = 13000. Теперь мы потеряли немного больше информации, но вполне возможно, что эти потери не будут заметны – это зависит от конкретного случая. Но главное, что эти короткие значения занимают меньше места в файле, особенно в сочетании со следующим этапом сжатия.
В то же время, вместе с квантованием и масштабированием MP3 кодер также использует кодирование по Хаффману – с тем чтобы преобразовать информацию о масштабнокоэффициентных полосах в более короткие двоичные строки. Кодирование Хаффмана (названное так в честь кандидата наук Массачусетского института технологий, разработавшего этот метод в 1952-м году) представляет из себя что-то вроде дедуктивной игры «двадцать вопросов» в двоичном коде. Начиная с верха дерева, содержащего все возможные ответы, компьютер считывает информацию, спускаясь вниз по ветвям, каждой из которых присвоено значение 0 или 1. Ответы содержатся в конце ветви, так что, как только компьютер считывает верный ответ, он прекращает движение по ветви.
Наиболее вероятные ответы расположены близко к вершине (как на примере ниже, который иллюстрирует кодирование наиболее часто встречающихся букв английского языка). Ключевым моментом является именно то, что алгоритм прекращает перемещение по ветви, как только находит ответ. Наиболее часто встречающиеся ответы могут быть записаны в виде очень коротких значений (в примере ниже, если код начинается с 1 вместо 0, записывается буква «Е» и немедленно выполняется переход к следующей последовательности).
Эти коды могут быть изображены в виде дерева, но для компьютерной программы они – обычная таблица, и как только компьютер находит совпадение, он переходит к следующему символу.
E | 1 |
T | 00 |
A | 0111 |
O | 0110 |
N | 0101 |
R | 01001 |
I | 01000 |
MP3 использует несколько таблиц Хаффмана для квантованных значений и может выбирать разные таблицы для представления различных масштабнокоэффициентных полос. Меньшие (менее точные) значения располагаются вверху таблиц. Используя таблицы Хаффмана, кодер регулирует качество для получения на выходе заданного битрейта. Если в конце этапа квантования он обнаруживает, что блок кодированных битов длиннее, чем позволяет битрейт гранулы, кодер возвращается к регулировке коэффициента масштабирования и уменьшает его (таким образом получая на выходе меньше битов, в т.ч. после сжатия по Хаффману). С другой стороны, если кодер не достигает установленного битрейта, он опять же возвращается и увеличивает уровень отдельных частот, тем самым повышая точность квантования.
Вот, в общем-то, и всё, что необходимо для кодирования гранулы. Каждая гранула состоит из двух частей необходимых для восстановления аудио: масштабные коэффициенты для каждой полосы и длинная последовательность битов Хаффмана. Но, как говорилось ранее, MP3 базируется на фреймах, каждый из которых включает две гранулы. После завершения двух гранул, кодер объединяет их в один фрейм для передачи. MP3 файлы имеют довольно простую структуру, с большим количеством аудио данных и ID3 метаданными (тегами) записанными в начале файла.
Кроме того, фрейм также содержит в своем заголовке большое количество вспомогательной информации. Например, здесь содержится код синхронизации, которым начинается каждый фрейм, именно поэтому декодеры могут проигрывать частично поврежденные файлы. После синхрокода в фрейме находится информация о битрейте, что позволяет некоторым фреймам использовать больший битрейт, если они содержат больше информации (VBR кодирование). Ну и, наконец, в заголовке фрейма располагается информация о количестве каналов (стерео или моно), частоте дискретизации (семплирования), а также пометка о защите материала авторскими правами.
И так, теперь, когда мы рассмотрели процесс преобразования цифрового звука в MP3, Вам наверное интересно, каким образом происходит обратное преобразование. Хотя структура декодера и не является полной инверсией кодера, она близка к этому. При декодировании биты Хаффмана преобразовываются обратно в квантованную информацию, масштабируются до исходного уровня, а затем складываются друг с другом, давая на выходе поток PCM (ИКМ – импульсно-кодовая модуляция) семплов, которые могут быть воспроизведены с помощью обычной звуковой карты.
Превращение
Переход к MP3 оказал небывалое влияние на цифровой звук. Мало того, что он поспособствовал повсеместному распространению портативных плееров, он также оказался в центре всех дискуссий на тему интеллектуальной собственности и пиратства. Конечно, были умельцы, которые распространяли музыку в громоздких WAV и AIFF форматах через группы новостей (IRC, etc), но возникла новая, простая в использовании пиринговая файлообменная сеть Napster, которая стала одной из торговых марок, связывающих музыкальную индустрию с потребителем. В то же время, MP3 поспособствовал созданию новой онлайновой системе дистрибуции, которая (в некоторой мере) демократизировала музыку и радио через MySpace и подкасты.
Могло ли это всё произойти без MP3? Почти наверняка. В конце концов кто-то популяризировал бы другой метод уменьшения размеров аудио файлов, или же проблему свело бы на нет увеличение пропускной способности сетей. P2P сети могли бы задержаться в развитии, но они всё равно бы появились, дабы мы с Вами могли воспользоваться преимуществами распространения цифрового контента. Тем не менее, вполне вероятно, что формат, который занял бы место MP3, скорей всего использовал бы те же самые базовые принципы, включая психоакустическое моделирование и сжатие данных.
В самом деле, это поразительно: как много важнейших элементов MP3 отсылает нас к теоретическим трудам более чем полувековой давности. Кодирование Хаффмана датировано 1952-м годом. Новаторская работа Клода Шеннона на тему сжатия с потерями и соотношений сигнал/шум была написана во время Второй мировой войны. Исследования ограничений человеческого слуха и восприятия – например, эффекта Хааса и кривых равной громкости – и того старше. Теорема Гарри Найквиста была открыта в 1927-м и предназначалась для связи по телеграфу! Так или иначе, MP3 – это отнюдь не новое изобретение, но принявшее современную форму.
И все же MP3 удалось сохранить свои позиции на потребительской арене, даже не смотря на появлении новых, технически более совершенных форматов. В последнее время, особенно с появлением цифрового управления правами (DRM), появилось большое количество форматов – как с открытым исходным кодом, так и проприетарных – но MP3 всё равно продолжает оставаться в интернете стандартом де-факто, и нет никаких предпосылок для изменения нынешнего положения вещей. Не смотря на то что MP3 может быть презираем поклонниками аналогового и lossless аудио за вносимые им искажения, надо признать, что он в корне изменил наше представление о музыке и звуке в целом.
Автор хочет выразить свою благодарность Габриелю Бувинь – одному из разработчиков кодера LAME – за терпение и технические подробности. Больше информации о процессе MP3 кодирования, а также значительное количество технической документации Вы можете найти на его веб-сайте: www.mp3-tech.org.
Информация от спонсора
PDALife.info: новости мобильных технологий. Здесь, кроме всего прочего, Вы можете узнать последние новости iphone, а также прочитать обзоры новинок компании Apple.