- •Основные характеристики звуковых плат. Методы синтеза звука в звуковых платах. Поддерживаемые звуковые спецэффекты.
- •Поддерживаемые спецэффекты. К спецэффектам, поддерживаемым звуковыми картами, относятся реверберация, хорус и различные 3d-расширения.
- •Мультимедийные программы для воспроизведения аудио информации, их достоинства и недостатки. Универсальные программы воспроизведения аудио
- •Бесплатные медиапроигрыватели
- •Потоковое воспроизведение аудио
- •Разностная (дифференциальная) импульсно-кодовая модуляция.
Потоковое воспроизведение аудио
Потоковый формат аудио и видео предназначен для воспроизведения этой информации сразу по ходу ее получения. Использование потокового формата позволяет вести прямые теле- и радиотрансляции через Интернет, а также предоставлять возможность непосредственного просмотра (прослушивания) достаточно длинных записей.
Разностная (дифференциальная) импульсно-кодовая модуляция.
Обсуждение цифроаналогового преобразования мы вели до сих пор, рассматривая импульсно-кодовую модуляцию (ИКМ), подразумевающую квантование абсолютных величин текущей амплитуды сигнала (т.е. в случае ИКМ кодированию подвергались непосредственно измеренные значения входного аналогового сигнала). Помимо этого способа модуляции, применяется так называемая разностная (дифференциальная) ИКМ, сокращенно — ДИКМ (Differential PCM — DPCM). В случае ДИКМ квантованию подвергают так называемые разностные значения величины амплитуды входного сигнала. Другими словами, кодированию в случае ДИКМ подвергается не сам сигнал, а некоторая его производная. Метод ДИКМ, аналогично ИКМ, может сочетаться с использованием как однородного (линейного), так и неоднородного методов квантования. Прежде чем приступить к рассмотрению ДИКМ, сделаем важные замечания, касающиеся используемых нами в дальнейшем обозначений. А именно, условимся, что здесь и далее:
s(n) и s[n] в общем случае означают, что речь идет соответственно об аналоговом (круглые скобки) и цифровом (квадратные скобки) сигналах;
под s(n) в конкретном случае мы будем подразумевать величину аналогового сигнала s, измеренного на шаге дискретизации п, где п = 0,1,2,...; например, s(0) — численное значение первого (на шаге дискретизации п = 0) замера текущей амплитуды аналогового сигнала s;
запись s[n] будет подразумевать, что сигнал s дискретен, т.е. представляет собой последовательность чисел, описывающих дискретные значения сигнала; в большинстве случаев общее количество дискретных значений сигнала (отсчетов) мы будем обозначать N, и нумероваться они будут, как и ранее,начиная с 0, например в цифровом сигнале s[n] в формате ИКМ, представленном последовательностью из шести отсчетов (N = 6), S [n] = {5, 12, 1, 3, 5, 67}номера отсчетов: n= 0, 1, 2, 3, 4, 5, запись s[2] подразумевает третий по счету отсчет (п = 2), значение которого равно 1, т.е. s[2] = 1;
■ функцией Q[] мы будем при необходимости обозначать функцию квантования; например, запись а[п] - Q[s(n -1)] будет означать, что численное значение цифрового сигнала а на /г-м шаге преобразования (или, другими словами,/1-й отсчет дискретного сигнала а) равно квантованному значению аналого вого сигнала s на шаге п—1.
Вот это не знаю нужно ли для 14 вопроса….Не знаю вообще что в него должно входить….
Как и в АС'97, система HDA начинается с контроллера — устройства PCI, обеспечивающего передачу потоков данных между системной памятью и кодеками через интерфейс HDA Link. Контроллер HDA, оставаясь (логически) устройством PCI, может включаться в чипсет или подключаться к какой-либо шине семейства PCI. Кодеков может подключаться несколько — например, аудиокодек, модемный кодек и дополнительный аудиокодек в док-станции мобильного ПК. Интерфейс с контроллером обеспечивается через его регистры, отображенные на пространство памяти, и структуры данных в памяти.
Поток (stream) представляет собой логическое (виртуальное) соединение между буферами в ОЗУ и кодеком, организуемое отдельным каналом DMA. Поток состоит из одного или нескольких каналов данных, каждый канал связан со своим преобразователем (ЦАП, АЦП или конвертором интерфейсов) в кодеке. Например, стереопоток содержит данные левого и правого каналов. Данные каналов потока в памяти расположены рядом и по интерфейсу HDA Link передаются совместно. Выходной поток (outbound stream) распространяется по Интерфейсу широковещательно, он может приниматься несколькими кодеками. Каждый входной поток (inbound stream) может приниматься только от одного кодека. По каждой входной и выходной сигнальной линии интерфейса передается последовательность кадров, частота кадров фиксирована — 48 кГц. Кадр начинается с поля команды/ответа, за которым передаются пакеты, содержащие блоки данных потоков. Каждый пакет начинается с тега потока (stream tag), идентифицирующего поток и указывающего число блоков в пакете, за тегом следуют блоки отсчетов. Блок содержит отсчеты (выборки) всех каналов, одповременно поступающие на ЦАП (или от АЦП). Остаток (если есть) времени в кадре заполняется нулями. Для потоков с частотой выборки 48 кГц в каждом кадре присутствует по одному блоку данных с комплектом выборок его каналов. Если частота выборок выше или ниже, то число блоков данного потока в кадре оказывается иным (возможно, и переменным от кадра к кадру).
Тактовая частота интерфейса — 24 МГц. В выходном потоке информация передается с двойной синхронизацией. Во входном потоке имеет место одиночная синхронизация, в кадре умещается 500 бит (31,25 слов).
С каждым потоком связывается канал DMA, обеспечивающий изохронную передачу данных. Передача описывается списком дескрипторов буферов, задающих положение и длину фрагментов потока в физических адресах ОЗУ. Для каждого канала в контроллере имеются регистр-указатель на начало списка и регистр, указывающий на последний действительный дескриптор. Канал DMA должен иметь буферы на 1-2 кадра, предохраняющие контроллер от переполнения (переопустошения) в случае загруженности шины.
Спецификация HDA определяет модульную архитектуру кодеков и информационные структуры, позволяющие программно выяснять возможности кодеков и управлять их конфигурацией и работой. Кодек состоит из параметризованных модулей и их наборов, выполняющих определенную функцию. Каждый подключенный кодек получает свой адрес (CAd). Каждый модуль, а также набор представляет собой узел (node), уникально адресуемый своим идентификатором N1 (Node Id) в пределах кодека. Узел имеет набор параметров (которые можно только читать) и команд (с помощью которых модуль подключается, конфигурируется и управляется). Корневой узел (root node) обеспечивает ссылки на узлы функциональных групп, содержащихся в кодеке. Функциональная группа (function group) — это узел, представляющий собой объединение модулей (каждый из которых адресуем), совместно выполняющих одну прикладную задачу и управляемых одним драйвером. Примеры функциональных групп — AFG (аудиогруппа) и MFG (модемная группа). Узел функциональной группы имеет общее описание ее возможностей; в его описании содержатся начальный номер и число модулей, входящих в группу.
Модули, выполняющие определенные функции, называются widget. Каждый модуль кодека может входить только в одну функциональную группу. В функциональной группе может быть множество однотипных модулей, что позволяет выполнять одновременно операции с несколькими каналами. Каждый модуль имеет параметр конфигурации, который определяет его режим: стерео (два канала) или моно. В описании модуля фигурирует список соединений (connection list), в нем перечисляются идентификаторы модулей, выходы которых могут быть поданы на вход данного модуля. Командами управления модули соединяются друг с другом.
В AFG определены следующие типы модулей:
Выходной преобразователь (audio output converter) — ЦАП или устройство, формирующее цифровой поток на интерфейс S/PDIF. На вход модуля поступает поток от интерфейса HDA Link, выход доступен в качестве входного сигнала для других модулей кодека (входит в списки их соединений). Может дополнительно содержать модуль усилителя и процессорный модуль.
Входной преобразователь (audio input converter) — АЦП или устройство, извлекающее цифровой поток из S/PDIF. Его выход передает поток через интерфейс HDA Link, вход подключается к модулю, выбранному в его списке соединений. Дополнительно может содержать модуль усилителя и процессорный модуль.
Внешний вывод (pin widget), обеспечивающий внешнее соединение, аналоговое или цифровое. Вывод может быть входным, выходным или универсальным (переключаемым) и содержать дополнительный входной/выходной усилитель. Вывод может обеспечивать обнаружение факта подключения устройства, определение его импеданса и поддерживать подачу напряжения смещения для микрофонного входа (Vref). Для работы на выход источник сигналаопределяется выбором в списке подключения данного модуля. При работев качестве входа возможность соединения вывода с другими модулями определяется их списками.
Микшер (mixer) — сумматор сигналов от нескольких своих входов, с каждым ходом связан список соединений. В каждом входе (и после сумматора) может присутствовать усилитель.
Селектор входов (input selector) — мультиплексор, позволяющий по команде ыбирать один из нескольких сигналов (выходов других модулей) в качестве входа. Модуль может дополнительно содержать процессор и усилитель.
Ручка уровня (volume knob) — модуль, позволяющий по внешнему сигналу правлять усилением в других (ведомых им) модулях. Программно по изменению положения ручки можно задать либо прямое управление усилением подчиненных модулей, либо генерацию не ожидаемых ответов (unsolicit response), которые должны анализироваться драйвером и отрабатываться соответствующими командами.
Генератор тона (beep generator) обеспечивает подачу приблизительно синуоидального сигнала заданной частоты на все выводы, работающие в качестве выходных. Во время активной работы генератора его сигнал либо смешивается с выводимым потоком, либо временно заменяет его. Генератор тона е указывается в списках соединений. Во время подачи сигнала сброса интерфейса (RST#) аналогичную функцию может выполнять сигнал от входа «PC Speaker». Модуль управления мощностью (power widget) позволяет управлять энергопотреблением (состоянием) кодека.