Copyright

Функциональные блоки QNX Aviage Multimedia Suite


Функциональные блоки

Комплект QNX Aviage Multimedia Suite можно разделить на несколько ключевых функциональных блоков.

Распознавание и соединение

Этот функциональный блок управляет распознаванием и соединением флеш-дисков USB, цифровых компакт-дисков, аудио-компакт-дисков, медиапроигрывателей iPod и PlaysForSure, мобильных телефонов, других устройств хранения медиаданных, а также поставщиков потоковых данных (например, интернет-радио). В некоторых случаях блок распознавания и соединения требует аутентификации на основе управления цифровыми правами (DRM). В качестве примера можно привести использование Windows Media DRM10 в медиапроигрывателе PlaysForSure.

Воспроизведение и запись

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

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

Организация (база медиаданных)

Организационный функциональный блок инкапсулирован в базу медиаданных и ее API. В нем используется промышленный стандарт SQL. База данных поддерживает транзакции и синхронные операции записи, для того чтобы обеспечить защиту данных от повреждения при потере энергопитания. Этот блок также выполняет обнаружение повреждений данных и автоматически их исправляет. Для управления медиаданными в базе данных поддерживается кодировка UTF-8.

Мультимедиаконтроллер

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

Высокоуровневый набор API
Уведомление о подключении/удалении устройств.
Создание и проигрывание списка воспроизведения, составленного из имеющегося содержимого.
Функции «воспроизвести», «след./пред. дорожка», «пауза», «поиск», «быстрая прокрутка вперед/назад», отображение статуса воспроизведения.
Режимы воспроизведения в случайном порядке или с повтором.
Режим ознакомления (воспроизвести содержимое на протяжении Х секунд и перейти к следующей песне).
Синхронизация устройств хранения медиаданных.
Сохранение/восстановление состояния устройства хранения медиаданных (для поддержки удаления и повторного подключения).
Просмотр списка содержимого на устройстве хранения медиаданных.
Контроль механизма копирования/перекодировки.
Управление списками воспроизведения: анализ и воспроизведение.
Управление дополнительными видами медиаданных (например, художественное оформление альбома, фотографические метаданные и т. п.) alt

Человекомашинный интерфейс (HMI)

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

Унификация и масштабируемость

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

Похожие записи