Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
arch_lect_p2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
528.38 Кб
Скачать

Мультимедиа (звук, изображение)

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

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

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

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

Параметры, влияющие на качество цифровой звукозаписи

Основными параметрами, влияющими на качество цифровой звукозаписи, являются:

  • Разрядность АЦП и ЦАП.

  • Частота дискретизации АЦП и ЦАП.

  • Передискретизация (англ. resampling) — изменение частоты дискретизации цифрового сигнала.

Некоторые виды цифрового звука в сравнении

Название формата

Квантование, бит

Частота дискретизации, кГц

Число каналов

Величина потока данных с диска, кбит/с

Степень сжатия/упаковки

CD

16

44,1

2

1411,2

1:1 без потерь

Dolby Digital (AC3)

16-24

48

6

до 640

~12:1 с потерями

DTS

20-24

48; 96

до 8

до 1536

~3:1 с потерями

DVD-Audio

16; 20; 24

44,1; 48; 88,2; 96

6

6912

2:1 без потерь

DVD-Audio

16; 20; 24

176,4; 192

2

4608

2:1 без потерь

MP3

плавающий

до 48

2

до 320

~11:1 с потерями

AAC

плавающий

до 96

до 48

до 529

с потерями

AAC+ (SBR)

плавающий

до 48

2

до 320

с потерями

Ogg Vorbis

до 32

до 192

до 255

до 1000

с потерями

WMA

до 24

до 96

до 8

до 768

2:1, есть версия без потерь

Цифровое видео бывает двух видов: сжатое и несжатое. Первое нынче используется, в основном, для записи на цифровые кассеты видеокамер, например, в формате DV, miniDV, Digital8. О сжатом поговорим подробнее.

Сжимается видео так. Через некоторые интервалы (обычно в начале каждой новой сцены) устанавливаются ключевые кадры, являющиеся полноценными картинками. Далее, вплоть до следующего ключевого кадра, — только данные о том, как картинка меняется. Описание движения, попросту говоря.

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

(Исключением является MJPEG, у которого каждый кадр — изображение в формате JPEG. Но это занимает очень много места, да и технология уже малость устарела.)

Чем больше данных отводится для отрисовки кадров (чем выше битрейт, количество килобит в секунду), тем выше качество видео, тем меньше артефактов сжатия — ряби.

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

Экономичность мультимедийных потоков. Кодеки.

Дополнительно

Структуры данных

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

Рассмотрим основные структуры данных.

Списки

(Кнут т.1 гл.2)

Линейный список — это множество, состоящее из п >= 0 элементов Х [1], Х [2], ..., Х [n], структурные свойства которого по сути ограничиваются лишь линейным (одномерным) относительным поло­жением элементов, т. е. теми условиями, что если п > 0, то Х [1] явля­ется первым элементом; если 1 <: k <: п, то за k-м элементом Х [k] следует Х [k + 1]; Х [n] является послед­ним элементом. Т.е., вообще говоря, элементы могут иметь различную структуру, размеры и т.д.

Операции, которые мы имеем право выполнять с линейными спи­сками, включают, например, следующие:

  1. Получить доступ к k-му элементу списка, чтобы проанализировать и/или изменить содержимое его полей.

  2. Включить новый узел непосредственно перед k-м элементом.

  3. Исключить k-й. узел.

  4. Объединить два (или более) линейных списка в один список.

  5. Разбить линейный список на два (или более) списка.

  6. Сделать копию линейного списка.

  7. Определить количество элементов в списке.

  8. Выполнить сортировку элементов списка в возрастающем порядке по некоторым полям в элементах.

  9. Найти в списке узел с заданным значением в некотором поле.

В машинных приложениях редко требуются все девять из пере­численных выше операций в самом общем виде. По-видимому, трудно спроектировать единственный метод представления для линейных списков, при котором все эти операции выполняются эффективно; например, сравнительно трудно эффективно реализовать доступ к k-му узлу в длинном списке для произвольного k, если в то же время мы включаем и исключаем элементы в середине списка. Следовательно, мы будем различать типы линейных списков по главным операциям, которые с ними выполняются.

Очень часто встречаются линейные списки, в которых включе­ние, исключение или доступ к значениям почти всегда производятся в первом или последнем узлах, и мы дадим им специальные назва­ния:

Стек — линейный список, в котором все включения и исклю­чения (и обычно всякий доступ) делаются в одном конце списка (LIFO).

Очередь — линейный список, в котором все включения произво­дятся на одном конце списка, а все исключения (и обычно всякий доступ) делаются на другом его конце(FIFO).

Дек (double ended queue - очередь с двумя концами) — линейный список, в котором все включения и исключения (и обычно всякий доступ) де­лаются на обоих концах списка.

циклические списки. Иногда удобно использовать циклические списки – это списки, в которых последний элемент ссылается на 1-й.

Двунаправленные списки. Все рассмотренные выше списки имеют строгую упорядоченность в одном направлении: вперед. Для удобства поиска строят двунаправленные списки, для которых существует не только «следующий», но и «предыдущий» элемент. Двунаправленность, естественно, требует дополнительных затрат как по памяти, так и по дополнительным операциям (надо менять две ссылки вместо одной).

Одним из простейших обобщений списков являются массивы. Массивы представляют собой упорядоченную совокупность однородных элементов. Как правило, элементы массива располагаются в памяти последовательно. Т.о. для одномерного массива а0, а1, …, аn положение к-го элемента определяется по формуле а[0]+к. Для двумерного a[i,j] = a[0,0]+n*i+j.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]