Архитектура Maemo и обработка мультимедиа на ... ·...

Preview:

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

Вопросы?

Спасибо!

alexander.bokovoy@nokia.com

(Maemo Devices, Nokia) Обработка мультимедиа 25 марта 2010 г. 26 / 26

Recommended