Upload
others
View
25
Download
0
Embed Size (px)
Citation preview
Архитектура Maemo и обработка мультимедиа намобильных устройствах
Александр Боковой
Maemo Devices, Nokia
25 марта 2010 г.
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 1 / 26
Outline
1 Архитектура Maemo 5
2 Обработка мультимедиа
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 2 / 26
Что такое архитектура?
Средство обмена информацией между заинтересованнымилицамиСпособ записи принятых проектных решений
какие задачи были поставлены?каким образом их решение влияет на всю систему?
Метод поддержки стабильности компонент системы с точкизрения долгосрочного планированияОписание:
структуры компонентпрограммных интерфейсоввзаимодействия компонентпричин, почему это все решает поставленную задачу
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 3 / 26
Что такое архитектура?
Средство обмена информацией между заинтересованнымилицамиСпособ записи принятых проектных решений
какие задачи были поставлены?каким образом их решение влияет на всю систему?
Метод поддержки стабильности компонент системы с точкизрения долгосрочного планированияОписание:
структуры компонентпрограммных интерфейсоввзаимодействия компонентпричин, почему это все решает поставленную задачу
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 3 / 26
Что такое архитектура?
Средство обмена информацией между заинтересованнымилицамиСпособ записи принятых проектных решений
какие задачи были поставлены?каким образом их решение влияет на всю систему?
Метод поддержки стабильности компонент системы с точкизрения долгосрочного планированияОписание:
структуры компонентпрограммных интерфейсоввзаимодействия компонентпричин, почему это все решает поставленную задачу
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 3 / 26
Что такое архитектура?
Средство обмена информацией между заинтересованнымилицамиСпособ записи принятых проектных решений
какие задачи были поставлены?каким образом их решение влияет на всю систему?
Метод поддержки стабильности компонент системы с точкизрения долгосрочного планированияОписание:
структуры компонентпрограммных интерфейсоввзаимодействия компонентпричин, почему это все решает поставленную задачу
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 3 / 26
Стратегия и тактика
Цели архитектуры Maemo:определенностьподдержка нового оборудованиямаксимальное использование свободного ПОгибкий механизм настроек для конкретного решениянепрерывность обновленияхорошая производительностьэффективный процесс разработки
"В пути кормить не обещали"Не надо путать цель и текущее состояниедостижение целей — компромисс между реальностью и желаниемархитектурные цели призваны улучшать реальность
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 4 / 26
Стратегия и тактика
Цели архитектуры Maemo:определенностьподдержка нового оборудованиямаксимальное использование свободного ПОгибкий механизм настроек для конкретного решениянепрерывность обновленияхорошая производительностьэффективный процесс разработки
"В пути кормить не обещали"Не надо путать цель и текущее состояниедостижение целей — компромисс между реальностью и желаниемархитектурные цели призваны улучшать реальность
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 4 / 26
Архитектура в картинках: Android
Android
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 5 / 26
Архитектура в картинках: Moblin
Moblin
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 6 / 26
Архитектура в картинках: Maemo 5
Maemo 5
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 7 / 26
Архитектурный скелет
Программныйпродукт образует систему из
программного обеспеченияуправленияконфигурациямисреды разработкивнешних интерфейсов
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 8 / 26
Архитектурный скелет: слои и домены
Программноеобеспечение группируется в
слои, длянезависимой разработкимногими поставщикамидомены для определениязон ответственностиразработки
Требования Maemo к слою Base:http://wiki.forum.nokia.com/index.php/Maemo_Base_Port
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 9 / 26
Архитектурный скелет: домены и подсистемы
Домены содержат подсистемыи описывают логическисвязанные компоненты.
Исходные пакеты:единицы распространенияисходного кодаисточникбинарных пакетов
Бинарные пакетыединицы распространениябинарного кодасодержатинтерфейсы подсистемы
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 10 / 26
Архитектура в картинках: Maemo 5
Maemo 5
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 11 / 26
Outline
1 Архитектура Maemo 5
2 Обработка мультимедиа
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 12 / 26
Эволюция мультимедиа: от потребления к производству
Самый популярный звуковоспроизводящий инструмент вмире?Самый популярный звукозаписывающий инструмент в мире?Самый массовый фотоаппарат в мире?Самая массовая видеокамера в мире?
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 13 / 26
Эволюция мультимедиа: от потребления к производству
Самый популярный звуковоспроизводящий инструмент вмире?Самый популярный звукозаписывающий инструмент в мире?Самый массовый фотоаппарат в мире?Самая массовая видеокамера в мире?
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 13 / 26
Эволюция мультимедиа: от потребления к производству
Самый популярный звуковоспроизводящий инструмент вмире?Самый популярный звукозаписывающий инструмент в мире?Самый массовый фотоаппарат в мире?Самая массовая видеокамера в мире?
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 13 / 26
Эволюция мультимедиа: от потребления к производству
Самый популярный звуковоспроизводящий инструмент вмире?Самый популярный звукозаписывающий инструмент в мире?Самый массовый фотоаппарат в мире?Самая массовая видеокамера в мире?
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 13 / 26
Эволюция мультимедиа: от потребления к производству
Мобильный телефонСовременный телефон = графическая рабочая станция 1990-95
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 14 / 26
Эволюция мультимедиа: от потребления к производству
Мобильный телефонСовременный телефон = графическая рабочая станция 1990-95
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 14 / 26
Функциональное развитие: от 770 до N900
АудиоВоспроизведение: громкоговорители, наушники, bluetooth A2DP,FM-передатчикЗапись звука: встроенный микрофон, гарнитура, bluetooth A2DP,FM-приемник
ВидеоВоспроизведение: два WVGA видео-слоя и возможностьаппаратного декодирования видео-форматовЗапись: стандартная веб-камера (640х480), CarlZeiss-сертифицированная 5Мп-камера
ФотоЗапись: стандартная веб-камера (640х480), CarlZeiss-сертифицированная 5Мп-камера
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 15 / 26
Особенности медиа-данных
Современные видео-потоки и изображенияв 4-15 раз превышают размеры экрана мобильного устройствана порядки превышают объемы типичных медиатек 1990-95имеют иную модель использования, чем даже 5-10 лет назадимеют иную модель обработки, чем 10 лет назад, с упором нааппаратное ускорение
Большинство библиотек обработки изображений не изменили
модель представления изображений в памятимодель взаимодействия отдельных элементов алгоритмовобработкиожидания по мощности вычислительных устройств
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 16 / 26
Особенности медиа-данных
Современные видео-потоки и изображенияв 4-15 раз превышают размеры экрана мобильного устройствана порядки превышают объемы типичных медиатек 1990-95имеют иную модель использования, чем даже 5-10 лет назадимеют иную модель обработки, чем 10 лет назад, с упором нааппаратное ускорение
Большинство библиотек обработки изображений не изменили
модель представления изображений в памятимодель взаимодействия отдельных элементов алгоритмовобработкиожидания по мощности вычислительных устройств
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 16 / 26
Особенности национального характера
Кто виноват?Что делать?
Где искать правду?
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 17 / 26
Особенности национального характера
Кто виноват?Что делать?
Где искать правду?
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 17 / 26
Особенности национального характера
Кто виноват?Что делать?
Где искать правду?
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 17 / 26
Обработка мультимедиа в GNU/Linux
Запись и воспроизведение аудио потоковVideo4LinuxALSAPulseAudio
Запись и воспроизведение видео-потоковVideo4Linux
Обработка изображенийGEGL, Qt, OpenCV, ImageMagick, ...
Визуализация изображенийGTK+, GDKPixBuf, Qt, Xlibи многое другое
Высокоуровневое управление мультимедиа-ресурсами ипроцессами
GStreamer
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 18 / 26
Архитектурное развитие: от 770 до N900
Мультимедийные приложения на Nokia 770
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 19 / 26
Архитектурное развитие: от 770 до N900
Мультимедийные приложения на Nokia N800
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 20 / 26
Архитектурное развитие: от 770 до N900
Мультимедийные приложения на Nokia N900
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 21 / 26
Телефон как фотоаппарат и видео-камера
Простая арифметика:5Мп фото = 13х WVGA (800x480, 0.3Мп) в пикселях, 19х в байтах720p видео = 2.4x WVGA в пикселях и байтахWVGA = 3x кэш L2 Cortex-A8 в байтах
Простые выводы:обработка фотографий и показ видео означает для другихприложений работу напрямую с ОЗУ без кэширования данныхрост аппаратной мощности (ЦПУ, скорость пропускнойспособности шин) компенсируется ростом объемовобрабатываемых данныхнеобходимы более "умные"алгоритмы для обработки изображенийпо частямнеобходим иной подход к проектированию контракта междуприложением и библиотеками
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 22 / 26
Телефон как фотоаппарат и видео-камера
Простая арифметика:5Мп фото = 13х WVGA (800x480, 0.3Мп) в пикселях, 19х в байтах720p видео = 2.4x WVGA в пикселях и байтахWVGA = 3x кэш L2 Cortex-A8 в байтах
Простые выводы:обработка фотографий и показ видео означает для другихприложений работу напрямую с ОЗУ без кэширования данныхрост аппаратной мощности (ЦПУ, скорость пропускнойспособности шин) компенсируется ростом объемовобрабатываемых данныхнеобходимы более "умные"алгоритмы для обработки изображенийпо частямнеобходим иной подход к проектированию контракта междуприложением и библиотеками
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 22 / 26
Телефон как фотоаппарат и видео-камера
Video4Linuxнизкоуровневый интерфейс к драйверам видео-устройств
GStreamerвысокоуровневый интерфейс обработки медиа-потоковне поддерживает типичные режимы фотоаппарататребует написания собственных специализированных модулей
Решение:реализация “фотоинтерфейса” GstPhotographyобеспечивает типичные высокоуровневые операции
настройка режимов (видоискатель, съемка изображения, съемкавидео)настройка автофокуса, баланса белого, экспозиции, ...
стандартная настройка GStreamer трех основных режимов длякамеры (видоискатель, режими съемки) в рамках GDigicam
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 23 / 26
Телефон как фотоаппарат и видео-камера
Video4Linuxнизкоуровневый интерфейс к драйверам видео-устройств
GStreamerвысокоуровневый интерфейс обработки медиа-потоковне поддерживает типичные режимы фотоаппарататребует написания собственных специализированных модулей
Решение:реализация “фотоинтерфейса” GstPhotographyобеспечивает типичные высокоуровневые операции
настройка режимов (видоискатель, съемка изображения, съемкавидео)настройка автофокуса, баланса белого, экспозиции, ...
стандартная настройка GStreamer трех основных режимов длякамеры (видоискатель, режими съемки) в рамках GDigicam
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 23 / 26
Телефон как фотоаппарат и видео-камера: галерея
Галерея фотографий, три основных варианта использованияизображения:
"бесконечное"полотно с иконками-отпечаткамиполноэкранный просмотр одной фотографииизучение деталей с углублением в реальное изображение
Простые выводы:оригинальное 5Мп изображение нужно только в одном изосновных режимов работы программыглавный режим – просмотр полотна, нужны толькоиконки-отпечатки (124x124)полноэкранный просмотр – отпечаток размером WVGA (800x480)необходим общесистемный механизм создания отпечатков разныхразмеров
Решение: hildon-thumbnailer (Maemo 5), tumbler (Harmattan)
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 24 / 26
Телефон как фотоаппарат и видео-камера: галерея
Галерея фотографий, три основных варианта использованияизображения:
"бесконечное"полотно с иконками-отпечаткамиполноэкранный просмотр одной фотографииизучение деталей с углублением в реальное изображение
Простые выводы:оригинальное 5Мп изображение нужно только в одном изосновных режимов работы программыглавный режим – просмотр полотна, нужны толькоиконки-отпечатки (124x124)полноэкранный просмотр – отпечаток размером WVGA (800x480)необходим общесистемный механизм создания отпечатков разныхразмеров
Решение: hildon-thumbnailer (Maemo 5), tumbler (Harmattan)
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 24 / 26
Телефон как видео-камера и медиа-проигрыватель
Медиа-проигрыватель, работа с разными источникамимедиа-данных
локальный диск, DLNA, социальные сервисы (Youtube, Flickr, ...)коллекции, списки воспроизведения, разные режимыпредставления
Простые выводы:необходимо отделить воспроизведение от источника данныхнеобходимо отделить локальное представление данных отисточниканеобходимо обрабатывать мета-информацию об источниках дляведения списков и коллекций по различным критериямнеобходим общесистемный механизм адресации иструктурирования медиа-данных и других объектов
Решение: Media Application Framework (MAFW), TrackerMAFW добавляет управление источниками и спискамивоспроизведения, расширяя возможности GStreamerTracker индексирует мета-информацию о всех доступных ресурсахв системе и обеспечивает семантический поиск
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 25 / 26
Телефон как видео-камера и медиа-проигрыватель
Медиа-проигрыватель, работа с разными источникамимедиа-данных
локальный диск, DLNA, социальные сервисы (Youtube, Flickr, ...)коллекции, списки воспроизведения, разные режимыпредставления
Простые выводы:необходимо отделить воспроизведение от источника данныхнеобходимо отделить локальное представление данных отисточниканеобходимо обрабатывать мета-информацию об источниках дляведения списков и коллекций по различным критериямнеобходим общесистемный механизм адресации иструктурирования медиа-данных и других объектов
Решение: Media Application Framework (MAFW), TrackerMAFW добавляет управление источниками и спискамивоспроизведения, расширяя возможности GStreamerTracker индексирует мета-информацию о всех доступных ресурсахв системе и обеспечивает семантический поиск
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 25 / 26
Вопросы?
Спасибо!
(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 26 / 26