Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
nagaew / записка1 / записка1.doc
Скачиваний:
24
Добавлен:
15.06.2014
Размер:
146.43 Кб
Скачать
  1. Формат mp3-файла.

Mp3-файл поделен на небольшие фрагменты, сжатые согласно психоакустической модели. Эти фрагменты затем собраны в 'кадры', каждый из которых имеет заголовок. Рассмотрим внутреннюю структуру заголовка.

Заголовок имеет длину 32 бита (4 байта) и схематически изображен на рисунке . Каждая клетка представляет собой 1 бит.

Заголовок начинается с некого элемента, называемого sync. Он используется для синхронизации а также для отличения файлов MP3 от других файлов. Согласно стандарту MPEG sync состоит из 12 установленных подряд битов. Некоторые модификации стандарта, созданные позднее используют 11 установленных бит и один сброшенный.

Сразу после синка находится бит ID, который позволяет отличить MPEG-1 от MPEG-2. 0=MPEG-2 и 1=MPEG-1

Следующие два бита определяют параметр layer, то есть уровень внутри стандарта MPEG.

Поле bitrate совместно с определенными ранее полями ID и layer позволяет определить поток аудиоданных в кбит/с. Смотрите таблицу:

Частота дискретизации определяется из поля frequency. Его значение зависит от того какая из версий стандарта MPEG используется и полностью может быть определено из следующей таблицы.

Padding bit – используется для уточнения битрейта

Private bit – используется для нужд приложения

Channel Mode – определяет режим воспроизведения

00 - Stereo

01 - Joint stereo (Stereo)

10 - Dual channel (2 mono channels)

11 - Single channel (Mono)

2.1 Выбор инструментальной среды разработки по

В качестве среды программирования используется программная оболочка фирмы Borland и язык программирования Delphi 6.

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

3.1 Разработка алгоритма основной программы

Основная программа состоит из 2 процедур - чтения и записи. Входные данные передаются подпрограммам через действия пользователя, который выбирает файл-контейнер и файл для записи. На основании размера файла-контейнера и файла для записи программа рассчитывает шаг записи. Этот шаг записывается в определенное место mp3-файла, а затем с этим шагом вmp3 записывается побитно файл записи, изменяются 2 младших бита в байте файлаmp3.

При извлечении данных программа сначала считывает шаг, а затем с этим шагом спрятанные данные. На основе вышеизложенного разработан алгоритм, структурная схема которого приведена на рис.3.1.

Текст основной программы приведен в приложении.

3.2 Модуль MPEGaudio.

MPEGaudio– модуль содержащий функции и процедуры для работы сmp3-файлом.

Приведу некоторые из них:

MPEGframeheaderdata– подпрограмма чтения заголовка фреймаmp3-файла

(определения длины файла, битрейта, типа сжатия и т.п. )

GetFrameLength – подпрограмма определения длины фрейма

FindFrame – подпрограмма поиска фрейма

3.3 Модули id3v1, id3v2 Данные модули используются для работы с тэгами mp3-файла.

Основные функции:

ReadTag – чтение тэга

GetTagVersion – определение версии

GetTagSize – определение размера тэга

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