Библиографическое описание:

Чернышов А. В., Притыка С. И. Метод кодирования аудиозаписей для размещения в электронном хранилище музея истории детского движения // Молодой ученый. — 2016. — №7. — С. 29-33.



При проектировании и создании информационно-поисковой системы (ИПС) Музея истории детского движения возникла задача обоснования и выбора форматов для размещения в базе данных ИПС оцифрованных аудиозаписей. При этом потребовалось для каждой аудиозаписи выбрать два формата:

1) формат со сжатием аудиоданных без потерь [1];

2) формат со сжатием аудиоданных с потерями [2].

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

Идеального формата аудиоданных не бывает. Различные типы аудиоформатов имеют как плюсы, так и минусы. Из аудиоданных плохого качества невозможно восстановить аудиосигнал высокого качества. Поэтому при выборе аудиоформатов будем предполагать, что в качестве исходного аудиосигнала всегда используется аудиопоток без сжатия типа WAV [3] или AudioCD. Классические параметры такого потока: 1411 кбит/с, частота дискретизации 44100 кГц.

Сжатие без потерь — способ кодирования аудиосигнала, позволяющий впоследствии полностью восстановить исходные аудиоданные сжатого потока. Его применяют в случае необходимости полного сохранения качества исходной звуковой аудиоинформации. Современные алгоритмы сжатия без потерь позволяют сократить объем более чем в два раза, не потеряв качества. Кодирование без потерь сохраняет качество аудиосигнала, но часто не обеспечивает требуемый уровень сжатия. Для сжатия большего уровня применяют сжатие с потерями [4].

Сжатие с потерями — способ кодирования, который применяется в случае, когда нужно как можно сильнее сжать данные, сохранив при этом приемлемое качество звучания. Кодирование с потерями основывается на том, что из исходного несжатого материала удаляется часть информации, которая не приводит к сильному искажению звучания. Как следствие обеспечивается повышение уровня сжатия [4].

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

Основными требованиями к выбору аудиоформатов (и для сжатия без потерь, и для сжатия с потерями) являлись:

– отсутствие лицензионных ограничений;

– открытость формата;

– наличие программ кодирования и декодирования с открытым исходным кодом;

– кроссплатформенность;

– многоканальность.

Было установлено, что сформулированным требованиям удовлетворяют форматы Flac, Wavpack, Oggvorbis.

Flac

Flac [6] — это кодек для сжатия аудио данных, изначально написанный Джошем Колсоном. Flacосуществляет сжатие данных, оставляя при этом их идентичными оригиналу, таким образом, ни одна часть данных не теряется — это и является основной задачей алгоритмов сжатия без потерь. Степень сжатия форматаFlac, как правило, варьируется от 50 % до 60 % от оригинального размера.

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

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

WavPack

WavPack — открытый, бесплатный аудиокодек, разработанный Дэвидом Брайантом. Изначально он был lossless-кодеком. Однако в нем появилась возможность, выделяющая его — гибридный режим.

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

WavPackподдерживает высокие частоты дискретизации и позволяет сжимать 8/16/24/32-битные аудиофайлы. В lossless-режиме работает подобно архиватору типа Zip. Степень сжатия зависит от конкретного типа аудио — аудиозаписи с более широким диапазоном частот сжимаются сильнее. В среднем, при lossless-режиме можно рассчитывать на 50 % [7].

Oggvorbis

Vorbis — свободный формат сжатия звука с потерями, официально появившийся летом 2002 года. Используется в компьютерных играх и для подкастов [8].

Vorbis идеален для применения в качестве звуковых дорожек фильмов, так как не изменяет их длину при переменном битрейте, что позволяет сохранять синхронность с видеодорожкой и применим для многоканального звука (например, 6-канальный звук).

Формат изначально разрабатывался с возможностью потокового вещания. Это даёт формату достаточно полезный побочный эффект — в одном файле можно хранить несколько композиций с собственными тегами.

Формат имеет гибкую систему тегов. Заголовок тегов легко расширяется и позволяет включать тексты любой длины и сложности (например, текст песни), перемежающиеся изображениями (например, фотографиями обложек альбомов). Текстовые теги хранятся в UTF-8, что позволяет писать на нескольких языках одновременно и исключает возможные проблемы с кодировками.

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

Однако исследования показали, что на сегодняшний день WavPack не имеет широкой поддержки — с ним могут работать далеко не все распространённые аудиопрограммы, а о поддержке его непосредственно в устройствах типа плееров речь вообще не идёт.

В противоположность WavPack, форматы Flac (сжатие без потерь) и ogg vorbis (сжатие с потерями) поддерживаются гораздо шире, в том числе непосредственно в ряде плееров. Поэтому выбор именно этих форматов для использования в ИПС можно считать наиболее обоснованным.

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

Аудиокодек формата Flac допускает кодирование с уровнями сжатия от 0 до 8. Был проведён эксперимент по сжатию аудиофайла в формат Flac с разными уровнями сжатия двумя свободно распространяемыми программами (Fre:ac [9] и Germanix Transcoder [10]). При этом использовался исходный файл с характеристиками:

– Формат: Wav;

– Битрейт: 1414 кб/с;

– Размер:40 132 525 байт;

– Длительность: 3:47 мин;

– Частота: 44100 Гц.

Результаты экспериментов приведены в таблице 1.

Таблица 1

Характеристики аудиозаписи при сжатии разными уровнями кодека Flac

Программа

Уровень сжатия

Время, с

Размер, Мб

Битрейт, кб/с

Fre:ac

0

2,29

30,328928

1069

1

2,37

30,179341

1064

2

2,4

30,087614

1060

3

2,45

29,573474

1042

4

2,52

29,387187

1036

5

2,9

29,333782

1034

6

4,08

29,273257

1032

7

4,2

29,250964

1031

8

6

29,237793

1030

Germanix Transcoder

0

3,85

30,333327

1066

1

4,02

30,18374

1061

2

4,11

30,092013

1058

3

4,14

29,551747

1039

4

4,2

29,362598

1032

5

4,3

29,311711

1030

6

4,4

29,311393

1030

7

5,9

29,30182

1030

8

7

29,278565

1029

По таблице 1 для наглядности построим графики зависимости итогового размера сжатого файла от уровня сжатия и времени сжатия от уровня сжатия для каждой программы (рис. 1–4).

Рис. 1. Соотношение уровень сжатия — размер при сжатии кодеком Flac программе Fre:ac

Рис. 2. Соотношение уровень сжатия — время при сжатии кодеком Flac в программе Fre:ac

Рис. 3. Соотношение уровень сжатия — размер при сжатии кодеком Flac в программе GermanixTranscoder

Рис. 4. Соотношение уровень сжатия — время при сжатии кодеком Flac в программе GermanixTranscoder

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

Литература:

  1. Сжатие аудиоинформации без потерь. URL: http://www.intuit.ru/studies/courses/511/367/lecture/8699?page=1 (Дата обращения: 7.04.2015)
  2. Форматы сжатия аудиоданных с потерями. URL: http://www.intuit.ru/studies/courses/511/367/lecture/8699?page=1 (Дата обращения: 7.04.2015)
  3. Батов Сергей. Форматы звуковых файлов часть 1 // «Звукорежиссер» — информационно-технический журнал предназначенный для специалистов в области профессиональных звуковых технологий. Статья от 1999 г. URL: http://www.linuxlib.ru/mmedia/sndfl1.htm (Дата обращения 14.10.2015).
  4. Сергей Кайбер. Форматы аудио файлов. URL: http://allfrets.ru/studiotheory/audiofiles (Дата обращения 03.10.2015).
  5. Цифровой звук: теория. // «Upgrade» — журнал, посвященный комплектующим, мониторам, устройствам мультимедиа — всему, из чего состоит современный ПК. Статьяот 16.04.2005 г. URL: http://www.npk.ru/articles/article.html?io=1&id=126&pv=1 (Дата обращения: 11.10.2015).
  6. Whatisflac? URL: https://xiph.org/flac/ (Дата обращения 08.11.2015).
  7. WavPack звук без потерь // «LinuxFormat» — журнал, посвященный операционной системе Linux. Статья от 25.12.2009 г. URL: http://wiki.linuxformat.ru/wiki/LXF99:WavPack (Дата обращения: 03.10.2015).
  8. Знакомьтесь: OggVorbis — современный формат аудиосжатия. URL: http://vorbis.org.ru (Дата обращения: 23.11.2015)
  9. Welcome to the fre:ac project. URL: http://www.freac.org (Дата обращения: 04.12.2015).
  10. James Thornton. Convert audio files into virtually any format you want. URL: http://germanix-transcoder.en.softonic.com (Дата обращения: 04.12.2015).

Обсуждение

Социальные комментарии Cackle