Формат сжатия аудио без потерь

Формат сжатия аудио без потерь

На сегодняшний день существует около трех десятков распространенных цифровых аудиоформатов. Зачем понадобилось создавать такое количество видов звуковых файлов для хранения одного типа контента и как со всем этим управляться вы узнаете из этого материала.

Оглавление

Вступление

Наверняка многие пользователи предпочитают использовать домашний компьютер не только в качестве рабочей лошадки, но и как мультимедийный центр, на котором можно просматривать фильмы или семейные фотографии, а так же слушать любимую музыку. Хотя наверняка, для прослушивания музыкальных композиций более подходящими являются компактные цифровые плееры или мобильные телефоны, но в отличие от них, компьютер умеет не только проигрывать музыку.

Каким бы большим объемом встроенной памяти не обладал ваш музыкальный плеер, скорее всего, хранить в нем всю фонотеку вряд ли удастся. Более того, с помощью ПК можно создавать, редактировать, упорядочивать и искать музыку. Так же не стоит забывать, что на сегодняшний день существует около трех десятков распространенных цифровых аудио форматов, а большинство плееров далеко не всеядны, и способны воспроизводить только некоторые из них.

Так зачем же понадобилось создавать такое количество музыкальных форматов для хранения одного типа контента? Все дело в том, что звук в подавляющем большинстве случаев хранится в «сжатом» виде, так как одна минута несжатой композиции занимает на жестком диске около 10 Мб. С одной стороны это вроде бы не много, а с другой, если вы меломан и ваша коллекция состоит из нескольких сотен или даже тысяч песен, то становится ясно, что звук необходимо сжимать, для уменьшения занимаемого им места на электронных носителях информации.

Для сжатия музыкальных файлов используются различные особые алгоритмы, которые впоследствии определяют структуру и особенности представления звуковых данных или так называемые цифровые аудиоформаты файлов. Все звуковые форматы можно разбить на три группы: аудиоформаты без сжатия, со сжатием без потерь и с применением сжатия с потерями.

Без сжатия

Одним из самых распространенных форматов, относящихся к этому типу, можно смело считать известнейший WAV. Звук в файлах с таким расширением хранится без какого-либо сжатия и изменений. Правда места для хранения несжатых файлов требуется гораздо больше и поэтому наиболее широкое применение WAV находит лишь в профессиональных аудио и видео приложениях, где звук перед обработкой не должен иметь потери в качестве. Хранение же обычных музыкальных композиций в таком виде является неоправданной расточительностью.

Для воспроизведения WAV-файлов вам не потребуется какое-то специальное программное обеспечение, так как этот формат понимают все медиаплееры, включая и встроенный в систему Windows штатный проигрыватель аудиофайлов Windows Media.

Еще одним форматом, использующимся для хранения несжатого аудио, о котором стоит упомянуть, является разработка компании Appleпод названием AIFF (Audio Interchange File Format). Как вы, наверное, уже догадались, наиболее часто он используется в компьютерах Macintosh под управлением систем Mac OS X.

Сжатие без потерь (lossless)

Алгоритмы, осуществляющие сжатие аудиофайлов без потерь работают по принципу обычных архиваторов. Обеспечивая не самый высокий уровень сжатия (от 40 до 60%), при этом они практически не влияют на качество звука. Так же стоит отметить, что в этом случае, закодированные данные можно полностью восстановить до первоначального вида. Поэтому использование сжатия без потерь наиболее часто применяется в тех случаях, когда важно сохранить идентичность сжатых данных оригиналу.

Наиболее популярными аудиоформатами в этой группе являются FLAC (Free Lossless Audio Codec), APE (Monkey’s Audio), WMA (Windows Media Lossless) и ALAC (Apple Lossless Audio Codec). У каждого из них есть свои плюсы и свои минусы. Например, кодек APEдает несколько больший выигрыш в сжатии, а FLAC является более распространенным. В общем же, все настоящие меломаны хранят свои музыкальные коллекции именно в lossless-форматах, так как в них не удаляется никаких данных из аудиопотока, а созданные с помощью этих кодеков файлы, можно прослушивать даже на высококачественной звуковой аппаратуре.

Для воспроизведения сжатых без потерь форматов, как правило, используются сторонние плееры (кроме WMA), такие как MPlayer, foobar, AIMP, Winamp, VLC и прочие, так как в них уже встроены все необходимые кодеки. Другим вариантом является отдельная установка пакета дополнительных кодеков (например, K-Lite), после чего прослушивание файлов в lossless-формате становится доступным практически из любого аудиопроигрывателя.

Сжатие с потерями

Это самая популярная группа алгоритмов, которые обеспечивают максимальную (до 10 раз и даже более) степень сжатия звука. Правда в отличие от предыдущих форматов, здесь аудиофайл теряет в качестве, а насколько сильно – напрямую зависит от степени его сжатия.

Для определения качества оцифрованного звука наиболее часто применяется такой показатель, как битрейт – скорость звукового потока, получившаяся после сжатия и измеряемая в килобитах в секунду (kbps). Как мы уже говорили, в среднем минута несжатого звука занимает около 10 Мб, что соответствует аудиопотоку примерно в 1400 кбит/c. После кодирования с потерями, его битрейт может снизиться до 56 кбит/с. При этом, стоит учитывать, что для сохранения естественного звучания скорость потока должна быть не ниже 192 или 256 кбит/c. Если же битрейт потока составляет 320 кбит/c и более, то разница в звучании для большинства людей между сжатым и несжатым аудио практически исчезает.

Читайте также:  Орфографический разбор слова покрывает 5 класс

Самым популярным форматом здесь однозначно считается знаменитый и всеми любимый MP3, разработанный специалистами известной группы MPEG (Moving Picture Experts Group). Наиболее широко он используется для кодирования аудиофайлов, размещаемых в интернете и различных файлообменниках из-за возможности существенно уменьшить размер передаваемых данных, что при низкой скорости подключения к сети немаловажно.

Другими известными форматами из этой серии являются AAC (Advanced Audio Coding) и OGG Vorbis. При этом, будучи менее популярными, их алгоритмы сжатия совершеннее, чем у основного конкурента. Так при одинаковом размере файла, они обеспечивают лучшее качество звукового ряда по сравнению с MP3. Еще одно серьезное преимущество данных форматов – возможность кодирования до 48 звуковых каналов у AAC и 255 у OGG, против всего двух у MP3.

Стоит отметить, что и формат WMA – собственность компании Microsoft, изначально создавался для хранения и трансляции аудиоинформации в сжатом виде с потерями, а кодирование без потери качества добавилось к нему не так давно, начиная с Windows Media Audio 9.1. Номинально этот формат обеспечивает лучшую степень сжатия, чем MP3, что дает возможность разработчикам противопоставлять его в качестве альтернативы конкурирующим алгоритмам AAC и OGG. Правда широкому распространению WMA мешает его закрытость и ограниченность применения на многих платформах (операционных системах). Да и встроенная поддержка цифровой системы управления авторскими правами (DRM) не добавляет популярности детищу Microsoft.

Не смотря на то, что MP3 проигрывает своим конкурентам, как по эффективности сжатия, так и по качеству звучания, он до сих пор продолжает оставаться самым популярным аудиоформатом. Секретом такого успеха, наверное, можно назвать банальную инерцию мышления, так как за многие годы к нему привыкло большинство пользователей, производителей аппаратуры и разработчиков программного обеспечения. Именно поэтому MP3-файлы можно прослушать вообще на всем, что способно проигрывать цифровой звук – будь то мобильный телефон, персональный компьютер с любой популярной операционной системой, портативный аудиоплеер, современный музыкальный центр или DVD-проигрыватель.

И хотя другие форматы пока что такой поддержкой похвастаться не могут, у них тоже все не так уж и плохо. Так AAC нашел широкую поддержку со стороны компании Apple, которая использует его алгоритмы для хранения аудиокниг, подкаст, музыкальных композиций в магазине iTunes и рингтонов. Так что для поклонников компьютеров Macintosh, планшетов iPad, смартфонов iPhone и плееров iPod этот формат можно считать «родным».

Файлы WMA легко воспроизводятся на любом ПК под управлением операционной системы Windows, которая является самой распространенной в мире. При этом многие производители портативных аудиоплееров и стационарных проигрывателей оптических дисков так же поддерживают этот формат. А вот для прослушивания файлов в форматах OGG Vorbis или AAC в Windows-системах придется установить специальные кодеки. Хотя это не проблема. Установка вышеупомянутого бесплатного пакета кодеков K-Lite Codek Pack позволит проигрывать на вашем компьютере с помощью любимого плеера практически любые звуковые файлы.

Заключение

В заключение давайте посмотрим, какой набор программного обеспечения вам понадобится, что бы превратить свой домашний компьютер в универсальный инструмент для работы с аудиофайлами. Для удобства, разделим все приложения на несколько основных групп.

Плееры – служат для непосредственного воспроизведения звуковых файлов, а так же часто используются для каталогизации и упорядочивания музыкальных коллекций. Их количество столь огромно, что и не сосчитать. Но все же, что бы несколько облегчить вам выбор, приведем, на наш взгляд, двенадцать самых популярных: Windows Media Player (встроен в систему), Winamp, KMPlayer, iTunes, GOM Player, jetAudio, VLC Media Player (VideoLAN), AIMP, BSPlayer, Real Player, WinDVD и Foobar2000.

Конверторы – приложения, способные осуществлять перекодировку из одного формата в другой. Для этой цели можно использовать большинство популярных плееров, не прибегая к использованию специальных программ. Хотя в некоторых случаях без этого не обойтись.

Рипперы (грабберы) – позволяют извлекать цифровую звуковую информацию с оптических носителей (Audio-CD, DVD) и сохранять ее в различных форматах. Несмотря на многочисленность всевозможным грабберов, на этом поприще наибольшую популярность снискало приложение EAC (Exact Audio Copy), позволяющее делать наиболее точные копии дисков. К другим популярным рипперам относятся: Audiograbber, Reaper, Easy CD-DA Extractor и прочие.

Редакторы – программы, предназначенные для создания, записи и редактирования звуковых данных. В этой группе существуют как довольно простые программы, позволяющие сделать элементарные операции с аудиофайлом (вырезать, обрезать, объединить, нормализовать и т.д.), так и настоящие монстры для профессиональной работы со звуком. Среди небольших редакторов можно выделить приложение Nero WaveEditor, за его скромный размер и при этом довольно высокую функциональность. К наиболее популярным профессиональным решениям обработки звука относятся: Adobe Audition, Sound Forge, Cubase, Sony Vegas Pro и другие.

Конечно, чисто теоретически все эти необходимые функции может сочетать в себе только одна программа, но на практике использовать единственное приложение для всех задач не всегда удобно. Да и добиться от одной программы качественного выполнения всех задач практически невозможно.

В любом случае гораздо удобнее иметь под рукой несколько специализированных приложений, которые и места занимают меньше, и с задачами своими по отдельности справляются лучше.

Читайте также:  Как вставить отсканированный документ в ворд

Звук является простой волной, а оцифрованный звук — цифровое представление этой волны. Это достигается запоминанием уровня аналогового сигнала множество раз в течение одной секунды. Например, в обыкновенном CD сигнал запоминается 44100 раз за секунду. Так как CD работает со стерео, мы запоминаем сигнал для левой и правой колонки параллельно. Для каждого замера используются 16-битовые числа. Поэтому нетрудно посчитать, что одна секунда звучания занимает 2 × 2 × 44100 = 176 400 байт.

Сжатие звука без потерь — совокупность преобразований, позволяющая эффективно сжимать звуковые данные с возможностью их полного восстановления. Как и любое сжатие без потерь, сжатие звуковых данных эксплуатирует какую-либо особенность данных. В данном случае это:

  • Знание границ семплов: мы знаем, сколько битов или байтов отводится на один отсчёт (семпл), и сколько в семпле аудиоканалов.
  • Невысокая производная: другими словами, значения соседних семплов мало отличаются.
  • Невысокая вторая производная: значения соседних трёх семплов близки к линейной функции.
  • Близость левого и правого каналов: уровни сигнала в левой и в правой колонке, как правило, близки.

Содержание

Преобразование координат (L, R) → (X, Y) [ править | править код ]

Первым шагом в сжатии будет представление каналов аудио L и R более эффективным образом, представив их некими числами X, Y согласно следующему алгоритму:

X = ( L + R ) / 2 <displaystyle X=(L+R)/2>
Y = L − R <displaystyle Y=L-R>

Для дробных чисел это преобразование не теряет информации и является эквивалентным оригинальному. Для целых же ( L + R ) / 2 <displaystyle (L+R)/2> теряет 0,5 при конверсии в integer , когда L и R имеют разную чётность, но, проверив чётность L − R <displaystyle L-R> , легко восполняем эти 0,5.

Предиктор [ править | править код ]

Следующий шаг — пропустить X и Y через алгоритм, который максимально эффективно уберёт весь избыток информации в представлении X, Y.

В данном случае весь процесс направлен на представление массивов X, Y минимально возможными числами, все еще сохраняя обратимость процесса. Есть множество способов сделать это. Один из них — преобразование с использованием линейной алгебры:

Если X = (2, 8, 24, ?), то в ряду PX на четвертом месте будет P4 = (2 * X4-1) − X4-2 = (2 * 24) − 8 = 40
То есть, если X = (2,8,24,27,25,28,21,17), то PX = (2,8,14,40,30,…)

При этом стоит помнить, что хорошие алгоритмы организуют обработку входящих данных таким образом, чтобы уменьшить числа в массиве PX, PY.

Пусть число m лежит в диапазоне 0 … 1024. Для массива PX выполняется серия преобразований с разными значениями m следующим образом:

X = (2, 8, 24, ?), тогда соответственно
PX = (2 * X−1) − X−2 = (2 * 24) − 8 = 40

Если ? = 45 и m = 512, тогда конечное значение = ? − ( P X ∗ m / 1024 ) = 45 − ( 40 ∗ m / 1024 ) = 45 − ( 40 ∗ 512 / 1024 ) = 45 − 20 = 25 <displaystyle ?-(PX*m/1024)=45-(40*m/1024)=45-(40*512/1024)=45-20=25>

Далее происходит перебор других значений m, поскольку большие значения могут быть более эффективны.

Тогда, получив для определенного m массив данных, происходит увеличение или уменьшение m в зависимости от того, была ли последняя попытка в алгоритме удачной.

Используя разные уравнения и используя множество проходов для разных свободных коэффициентов, можно добиться вполне ощутимого сжатия данных.

Приведем пример нескольких уравнений, как это следует из технической литературы

Кодирование. Алгоритм Райса [ править | править код ]

Идея сжатия аудио заключается в представлении чисел, соответствующих потоку минимально возможным образом, убрав предварительно любую корреляцию данных. После этого можно записывать поток закодированных данных на диск. Одним из самых эффективных способов является кодирование Райса.

Меньшие числа предпочтительней тем, что их представление в бинарном представлении короче. Например, необходимо закодировать следующий ряд:

Базис по основанию 10: 10, 14, 15, 46

Или тот же ряд в бинарном виде

Базис по основанию 2: 1010, 1110, 1111, 101110

Теперь если требуется представить этот в виде строки, где для каждого числа зарезервировано 32 бита (диапазон всех возможных значений), то это будет неэффективно, поскольку понадобится 128 бит. Однако существует более эффективный метод. Наилучшим решением было бы просто записать бинарные числа 1010, 1110, 1111, 101110 без запятых, получив ряд вида 101011101111101110. Проблема в том, что после нет возможности узнать границы каждого числа. В качестве решения подобной задачи, как правило, используется алгоритм Райса.

Кодирование Райса — это способ представить маленькие числа одной строкой, сохраняя способность их различать. Примечание: алгоритм тем эффективнее, чем меньше числа, поэтому необходимо изначально позаботиться об этом

На каком-то этапе кодирования данные представлены в виде числа n. Закодированное, оно добавляется справа к строке уже закодированных чисел таким образом, чтобы был возможен обратный процесс.

Основная идея представить число n как n = q ∗ 2 k + r <displaystyle n=q*2^+r> , так чтобы 0

Так как в машинном языке существует сверхбыстрая команда ротации числа, соответствующая делению числа на степени двойки, достаточно использовать k=log n/log 2, округленное до наименьшего целого числа. Таким образом, в алгоритме гарантированно выполняются условия для k. Исходя из формулы, необходимо определить число q <displaystyle q> и остаток r <displaystyle r> : r = m o d ( n , 2 k ) <displaystyle r=mod(n,2^)> . Например,

n = 46 (десятичное) = 101110 (двоичное)
k = 4 (выбирается)

Тогда r = m o d ( 46 , 16 ) = 14 <displaystyle r=mod(46,16)=14> (1110 в двоичной системе). q = 2 <displaystyle q=2> .

46 = 2 ∗ 2 4 + 14 <displaystyle 46=2*2^<4>+14>

Читайте также:  Возможности расширения конфигурации 1с

Далее строится кодированное число по следующей схеме. Первыми идут нули, количеством в q штук [00]. Затем справа к нулям добавляется маркировочный бит [1], чтобы знать когда кончаются нули. А за ними дописывается остаток r [1110], длиной в k бит.

То есть число 46 в закодированном виде выглядит [00][1][1110] = 0011110

Теперь, с учетом определенности k, которым кодировалось число, можно с легкостью его расшифровать:

(количество нулей) * 2 4 + (k бит следующих за маркировочным битом) = 2*2 4 +14 = 46

Следующее число начинается сразу же со следующего бита.

Если данные кодируются с помощью слишком большого числа k, например k=32, тогда способ превращается в описанный в начале раздела метод, когда каждому числу соответствует 32 бита, только оно предваряется бесполезным маркировочным битом. В случае малого k количество нулей экспоненциально возрастает — для k=0. Для представления числа 46 понадобится 46 нулей и 1 маркировочный бит. Оптимальный вариант, учитывая, что в ряду калибровочные изменения минимальны, — это кодировать среднестатистическим значением для k, например для кодирования сотого числа k высчитывается как среднестатистический размер чисел в массиве под индексами 0…99.

Например, для 16-ти разрядного представления отсчетов число 46 будет представлено следующим двоичным кодом: 0000000000101110. После перекодировки это же число будет содержать всего лишь 7 разрядов: 0011110.

Оптимальное k может быть вычислено и экспериментальным способом: например, любое k между 16…128 нормально работает. В любом случае, если известен примерный диапазон закодированных значений, то оптимальное значение для k = log n / log 2.

Путаетесь в терминах, используемых для описания аудиоустройств? Мы создали краткое руководство, которое поможет вам в них разобраться.

Хотите погрузиться в великолепный (и иногда ошеломляющий) мир аудио высокого разрешения? Вам предстоит многое узнать об этом мире, но бесконечные аббревиатуры и термины могут запутать, так что текст покажется лишь набором слов.

Беспокоиться не о чем. Мы в Sony позаботимся о том, чтобы вы получили все необходимые знания об аудио высокого разрешения, стали настоящими специалистами, научились разбираться в тонкостях терминологии и могли наслаждаться превосходным звучанием только лучшей музыки.

Ниже вы найдете список основных терминов, которыми пользуются убежденные аудиофилы, говоря о технологии аудио высокого разрешения, а также их определения.

Hi-Res Audio/Аудио высокого разрешения

Аудио высокого разрешения обычно означает цифровые записи с более высокой частотой дискретизации, чем в случае аудио-компакт-дисков и формата MP3. Эта технология обеспечивает намного более высокое качество звука, сохраняя больше данных, чем при преобразовании исходной студийной записи в MP3-файлы. Вот некоторые форматы аудио высокого разрешения: WAV, DSD, ALAC, FLAC и AIFF.

DSD и PCM

В чем различие? Существует два основных способа обработки/кодирования аудиосигнала в цифровые форматы — PCM и DSD. Если вкратце, редактировать проще PCM. Однако формат архивирования DSD используется в студиях звукозаписи, и есть мнение, что этот цифровой формат максимально близок к исходному аналоговому источнику. Ниже приводится более подробное описание каждого формата:

Direct Stream Digital — это метод цифровой записи, при котором аудиосигнал кодируется с применением импульсно-плотностной модуляцией, что цифровых носителях. Частота дискретизации этого аудиоформата составляет 2,8224 МГц или 5,6448 МГц, что в 64–128 выше по сравнению с частотой дискретизации аудио-компакт-дисков.

Импульсно-кодовая модуляция (PCM) — это основа цифровой звукозаписи, с помощью которой стандартный аналоговый аудиосигнал в цифровой. Это стандартный вид цифрового звука в компьютерах и компакт-дисках. Аналоговый сигнал сэмплируется через регулярные интервалы, а его амплитуда записывается как точка на цифровой шкале.

С потерей данных

Формат с потерей данных удаляет часть информации из исходной цифровой записи, пытаясь сохранить исходное качество звука, насколько это возможно, при воспроизведении. Это характерно для аудиоформатов MP3 и AAC. Сжатый файл занимает намного меньше места, чем первоначальный, но при этом страдает качество.

Без потери данных

Формат кодирования без потери данных позволяет хранить цифровое аудио без потери исходных данных или позволяет реконструировать их при воспроизведении. Аудиофайлы без потери данных в формате .lossless, как правило, больше, чем файлы, которые записываются с потерей данных. Но при этом достигается значительно лучше качество звука. Примеры аудиозаписей этого типа — файлы с расширением FLAC и Apple Lossless.

Без сжатия

Определение понятия следует из названия: исходные данные без сжатия. Как правило, наилучшим качеством отличаются такие несжатые аудиофайлы, как WAV и AIFF. К недостаткам несжатого аудио относится то, что они занимают много места, и для открытия и воспроизведения таких файлов требуется большая пропускная способность канала.

кГц/бит

Это стандартное обозначение соотношения частоты дискретизации и битовой глубины.

Количество килогерц (кГц)

Это единица измерения частоты дискретизации, которая представляет собой число квантований аудиосигнала в секунду. Таким образом, чем выше количество кГц, тем лучше качество звука.

Битовая глубина

Битовая глубина цифровой записи определяет, какое количество разрядов (т.е. количества данных) используется для хранения каждого сэмпла аналогового сигнала. Битовая глубина напрямую соотносится с разрешением каждого сэмпла. Чем больше битовая глубина, тем выше качество звука.

Теперь, когда вы разобрались в тонкостях терминологии про аудио высокого разрешения, попробуйте найти примеры для каждого понятия.

Здесь можно найти любимую музыку в высоком разрешении.

Ссылка на основную публикацию
Установить gvlk ключ что это
В связи с недавним выходом окончательной RTM версии пакета Microsoft Office 2016, корпоративные заказчики уже могут начинать переход на новую...
Топ вай фай адаптеров для пк
На заре развития интернета люди пользовались только проводным трафиком. После этого в «моду» начали входить модемы, которые подключались к беспроводному...
Топ дешевых наушников с хорошим звуком
Проводные наушники должны умереть! Так решил мобильный рынок и производители смартфонов, стремительно избавляющиеся от устаревшего 3,5 мм джека. Стоит ли...
Установить openal32 dll для windows 7
Данная библиотека задействуется во многих процессах во время работы компьютера. Например, она используется в играх, мультимедиа и различных программах. Иногда...
Adblock detector