Естественно-интуитивное взаимодействие с компьютером с использованием Intel RealSense SDK

Разработка пользовательских мультимедийных приложений с использованием возможностей Intel Perceptual Computing SDK

Разбить на страницы
Показывать лекцию целиком

Презентацию к данной лекции можно скачать здесь.

5.1. Краткое понятие мультимедиа и мультимедийных приложений

Мультимедиа (multimedia) - это совокупность компьютерных технологий, одновременно использующих несколько информационных сред: графику, текст, видео, фотографию, анимацию, звуковые эффекты, звуковое сопровождение, человеческую речь.

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

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

К разновидностям мультимедиа относятся:

  • Линейное мультимедиа - простейшая форма представления множества элементов мультимедиа, когда пользователь может выполнять только пассивный просмотр элементов мультимедиа, а последовательность просмотра элементов мультимедиа определяется сценарием.
  • Нелинейное (интерактивное) мультимедиа - форма представления множества элементов мультимедиа, в которой пользователю предоставлена возможность выбора и управления элементами в режиме диалога.
  • Гипермедиа - интерактивное мультимедиа, в котором пользователю предоставляется структура связанных элементов мультимедиа, которые он может последовательно выбирать.
  • Реальное видео - форма мультимедиа, моментально транслирующая поток данных с одного устройства на другое, предоставляющая пользователю просматривать видео и звуковое сопровождение в режиме реального времени.
  • В целом, под мультимедиа могут понимать и мультимедийную программу-оболочку, и продукт, сделанный на основе мультимедийной технологии, и компьютерное оснащение. Поскольку технологии мультимедиа являются комплексными, то и отдельные элементы этих технологий характеризуются многосредностью и ведением диалога с пользователем. Мультимедийные ресурсы, например, содержат различные виды информации, их существенной особенностью является активное взаимодействие ресурса и человека.

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

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

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

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

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

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

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

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

    Существует большое множество программных средств для работы с мультимедиа файлами. Такие приложения можно разделить на несколько основных категорий:

  • Средства создания и обработки изображения
  • Средства создания и обработки 2D и 3D - графики
  • Средства создания и обработки видео и анимации
  • Средства создания и обработки звука
  • Средства создания презентации
  • Компьютерное представление графической информации реализуется с помощью растрового или векторного подхода. В первом случае изображение делится на пиксели, цвет каждого пикселя кодируется определенным числом битов. Векторные изображения сохраняются в виде геометрического описания объектов, составляющих рисунок.

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

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

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

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

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

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

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

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

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

    5.2. Преимущества от использования Intel Perceptual Computing SDK при разработке мультимедиа приложений

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

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

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

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

    (рис 5.1) Процесс работы с музыкальным симулятором

    Другой вариант применения Intel Perceptual Computing - дирижер виртуального оркестра (рис 5.2). Приложение следит за частотой и размером жестов пользователя и в зависимости от этих характеристик меняет громкость и скорость звучания воспроизводимой музыкальной дорожки. Управление программой осуществляется с помощью характерных дирижерских жестов, причем жесты должны соответствовать размеру музыкального такта проигрываемой композиции. По факту, программой распознаются последовательности горизонтальных и вертикальных взмахов, из которых состоят движения дирижера. Дополнительной функциональностью является графическое отображение активных в данный момент партий оркестра. Аналогичное приложение можно реализовать как надстройку над любой популярной программой, читающей и воспроизводящей нотные табулатуры.

    (рис 5.2) Функциональность приложения для дирижирования виртуальным оркестром

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

    Другой тип мультимедиа приложений с главенствующей музыкальной составляющей - синтезаторы. Они применимы, в основном, в развлекательных целях, но их жестовые реализации потенциально могут стать неотъемлемым атрибутом digital-искусства. Одной из реализаций такого типа синтезаторов является приложение JOY (рис 5.3). При его разработке использовались не только аудио технологии, но и различный инструментарий для графического моделирования и генерирования изображений. При старте приложения пользователь выбирает аудиокомпозицию и запускает воспроизведение. Композиция состоит из 10 дорожек, управление которыми происходит с помощью поднятия и опускания пальцев. Изменение расстояния между кистей рук меняет эффект реверберации (отражения) звука. Вертикальное перемещение ладоней в разные стороны регулирует частоту колебаний, баланс звука и эхо изменяются при отдалении и приближении ладоней к камере с сенсорами глубины. Параллельно происходит управление видеорядом. На экране точками отображаются активные звуковые дорожки, геометрические объекты также зависят от количества поднятых пальцев, распознанных приложением, и пульсируют в соответствии с ритмом воспроизводимой композиции.

    (рис 5.3) Воспроизведение композиции в приложении-синтезаторе

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

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

    Генерация трехмерного видеопотока в режиме реального времени (рис 5.4) осуществляется по сходному принципу, однако, является более сложной задачей, поскольку требует от разработчика понимания принципов построения трехмерных изображений и продвинутых навыков работы с 3D-библиотеками. Графическая составляющая такого приложения может быть реализована как пространственное движение скопления нескольких однородных объектов с варьирующимися свойствами, например, несколько не одинаковых по размеру кубов разных оттенков зеленого или более сложные трехмерные модели, например, имитация хаотично движущейся стаи рыб. Для удобства реализации функций управления графикой рекомендуется задавать в скоплении один главный элемент, а все параметры всех остальных объектов ставить в зависимость от положения и состояния главного объекта.

    Управление свойствами объектов и их местоположением, как и в случае с двумерной графикой, рекомендуется разделять. В данном случае, возможно реализовать дополнительные функции изменения точки обзора путем контроля положения лица пользователя и при наклоне головы поворачивать трехмерную сцену в соответствующую сторону. Также возможно разработать систему голосовых команд, управляющих трехмерной сценой и средой, окружающей основные объекты. Например, можно предусмотреть варианты управления оттенком фона, степенью освещенности и прозрачностью объектов, моделированием дополнительных эффектов, имитирующих с помощью различных текстур различные явления реального мира, например, морскую воду, ураганный ветер, сильное пламя. Аналогичный прием будет приемлем и для приложений, генерирующих двумерный видеоряд. Информация о доступных дополнительных визуальных эффектах и способах управления ими должна быть продемонстрирована пользователю до непосредственного запуска процесса генерации видео. Таким образом, приложение, генерирующее в режиме реального времени 3D-видео, обладает некоторыми свойствами трехмерного графического редактора.

    (рис 5.4) Моделирование трехмерного видеопотока в реальном времени

    В качестве более канонической версии редактора трехмерной графики возможно реализовать приложение, осуществляющее создание пространственных 3D-объектов. Для качественной разработки таких типов приложений также необходимы знания в области использования библиотек трехмерной графики. Элементарный трехмерный графический редактор (рис 5.5) обеспечивает функциональность по созданию и редактированию объемных тел из простейших элементов, а также индивидуальное задание свойства цвета для каждого элементу, из которого состоит создаваемое тело. Контроль над приложением осуществляется с помощью двух курсоров, которые управляются простейшими жестовыми командами - двумя раскрытыми ладонями и движениями указательными пальцами. Трехмерный объект создается из базовых элементов - кубов единого размера, для каждого из них существует возможность определения цвета из палитры-спектра. Реализованы такие возможности управления трехмерным рабочим пространством, как вращение вокруг объекта, приближение, отдаление и перемещение по осям координат. Функции навигации по объекту с определением цветовых характеристик и непосредственного создания и редактирования объемного объекта для удобства разделены и выполняются жестами разных рук. Режимы редактирования переключаются с помощью кнопок на верхней панели. Переключение между цветовой палитрой и стрелками навигации по пространству, которые расположены в одном блоке, также происходит с помощью кнопок. Также в приложении реализована функция сохранения видимого изображения, экспорт 3D-модели не предусмотрен.

    (рис 5.5) Трехмерное моделирование в простейшем редакторе

    Функционал данной версии трехмерного графического редактора можно расширить, добавив дополнительные возможности экспорта 3D-модели в файл для дальнейшей работы и несколько изменив непосредственно процесс создания объекта. Для моделирования более сложных объемных тел необходимо уменьшить размер элементарных объектов, из которых состоит 3D-модель, и предоставить пользователю возможность регулировать интенсивность потока этих элементарных объектов в процессе создания модели. Управлять толщиной объемной кисти можно, контролируя степень открытости ладони: при моделировании поднятым указательным пальцем генерировать наиболее тонкий поток элементарных объектов, при моделировании сжатым кулаком использовать среднюю толщину кисти, а при движениях полностью раскрытой ладони создавать наиболее широкую поверхность. С помощью такого инструментария можно создавать гораздо более сложные трехмерные объекты (рис 5.6), которые в дальнейшем могут использоваться для обработки другими программами.

    (рис 5.6) 3D-модель, созданная с помощью жестового редактора CubeFlow

    Анимацией трехмерных объектов также можно управлять с помощью жестовых команд. Движение объемных предметов, определенное жестами, получается более плавным и реалистичным. Такой функционал можно реализовать как дополнительный модуль для любой из популярных программных пакетов для 3D-моделирования. Создавать траектории движения, в том числе с вращением объекта, можно, используя жесты захвата и слежение за положением рук. При выборе объекта происходит переход приложения в режим редактирования траектории движения. Управление стартом и окончанием задания траектории для объекта следует связать со статичными жестами (позами). Необходимо реализовать возможность захвата и задания траекторий не только для созданных пользователем моделей, но и для таких объектов, как камера и источники освещения сцены (рис 5.7). Дополнительной функциональностью может быть возможность выбора не только одного объекта, но и их группы, что позволит пользователю задавать одну траекторию движения сразу для нескольких объектов.

    (рис 5.7) Управление трехмерной анимацией с помощью жестового интерфейса

    Еще один вариант взаимодействия технологии Intel Perceptual Computing и мультимедиа - трехмерное сканирование предметов реального мира и оцифровка отсканированных моделей. Приложение для 3D-сканирования (рис 5.8) будет функционировать в случае наличия у камеры сенсоров глубины изображения.

    В процессе 3D-сканирования анализируется форма физического объекта и на основе полученных данных создается его трехмерная модель. По методу сканирования 3D-сканеры разделяются на активные и пассивные. Активные сканеры излучают на объект некоторые направленные волны и обнаруживают его отражение для анализа.

    Пассивные сканеры для анализа используют данные об обнаружении отраженного окружающего излучения. Большинство сканеров такого типа обнаруживает видимый свет - легкодоступное окружающее излучение. В случае с Intel Perceptual Computing сенсорами глубины изображения используется инфракрасное излучение, таким образом, интенсивность окружающего излучения не влияет на точность и корректность модели сканируемого объекта.

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

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

    (рис 5.8) Трехмерное сканирование объектов реального мира

    Технология Perceptual Computing также применима для создания и демонстрации мультимедийных презентаций. Формат современных презентаций шире стандартного представления о презентации как о линейной последовательности слайдов и представляет собой смешение различных технологий. Существует огромное количество различных способов организации презентации, которые позволяют включать нестандартные интерактивные ходы и мультимедийные средства. Стандарта построения сценарной линии презентации не существует, она может быть как линейной, так и иметь разветвленную структуру. Разработчику следует учитывать эти моменты при разработке среды для создания и демонстрации презентаций с помощью жестового и голосового интерфейса.

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

    Более сложная реализация жестового и голосового управления презентацией состоит из двух режимов: редактирования презентации (рис 5.9) и непосредственной демонстрации.

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

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

    (рис 5.9) Редактирование презентации, управляемой жестами

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

    5.3. Принципы управления мультимедиа приложением с использованием Intel Perceptual Computing SDK

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

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

    Далее, на этапе проектирования интерфейса, список конечных функций приложения, полученных в результате декомпозиции пользовательской задачи, следует соотнести с элементами управления программой. В данном случае в качестве элементов управления приложением рассматриваются не только стандартные элементы управления (кнопки, checkbox'ы, radiobutton'ы, выпадающие списки и др.) и их вариации, но и голосовые команды и жесты.

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

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

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

    В отношении технологии Perceptual Computing на данный момент нельзя выделить устоявшихся интерфейсных шаблонов в силу новизны и низкой распространенности технологии, но в дальнейшем необходимо их учитывать. Чтобы иметь представление о том, какие жестовые и голосовые приемы управления мультимедийными приложениями наиболее удобны и понятны конечному пользователю, необходимо постоянно отслеживать и анализировать появляющиеся perceptual-приложения, а также исследовать пользовательские отзывы о них. На данном этапе ориентироваться следует в первую очередь на то, что пользователю должно быть интуитивно понятно, какой жест или голосовую команду ждет от него приложение, чтобы выполнить его задачу. Например, пользователь ожидает, что противоположные действия вызывают соответственно противоположные реакции приложения. Например, если жест "большой палец вверх" запускает запись сигнала с видеокамеры в файл, то жест "большой палец вниз" должен эту запись останавливать. Аналогичным образом следует поступать и с голосовыми командами.

    Взаимодействие с подобными по виду элементами и объектами должно происходить всегда единообразно, иначе будут возникать ошибки, связанные с модальностью интерфейса. Модальность - наличие в интерфейсе нескольких состояний, в которых одна и та же команда пользователя интерпретируется по-разному. Например, изменение состояния объекта с "включенного" на "отключенное", выполняемое одним и тем же жестом, является модальным, поскольку для выполнения желаемого действия ("включить", "отключить") необходимо помнить текущее состояние объекта.

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

    Интерфейс программы должен своевременно информировать пользователя о способах воздействия на систему, ее текущем состоянии, а также о смене состояния в результате действий пользователя. Информирование пользователя о состоянии системы заключается в первую очередь в предоставлении различного рода обратной связи, например, что действие пользователя корректно воспринято программой и находится в обработке. Этот момент особенно важен при использовании технологии Intel Perceptual Computing, поскольку здесь степень соответствия распознанного сигнала действию пользователя имеет огромное значение. Как вариант, подробное информирование о всех распознаваемых приложением сигналах может быть реализовано в качестве опции и отключаться в тот момент, когда пользователь уже приобрел достаточный навык взаимодействия с технологией и располагает значительным опытом управления perceptual-приложениями.

    Для мультимедиа приложений характерно дублирование конечных простейших функций на несколько способов управления. За счет этого достигается некоторая гибкость в управлении программой, даже в том случае, если она решает сложные пользовательские задачи по управлению мультимедиа файлами. Например, в большинстве проигрывателей (рис 5.10) воспроизведение можно начать не только щелчком по кнопке, но и нажатием клавиши "пробел", а перемотать запись на определенный момент можно клавишами "вперед" и "назад", такими же кнопками, или передвинув ползунок progress bar'а.

    (рис 5.10) Фрагменты интерфейсов популярных мультимедиа проигрывателей

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

    5.4. Разработка графического редактора с жестовым управлением

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

    Функционал простейшего редактора растровой графики реализует базовые инструменты для работы с изображениями, такие как дорисовка изображения и выборочное редактирование, коллажирование, фотомонтаж, кадрирование. Именно такой набор функций лучше всего подходит для реализации графического редактора, использующего технологию Intel Perceptual Computing.

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

    Запустив приложение, пользователь должен выбрать изображение для редактирования из галереи (рис 5.11). В данном случае изображения в галерее могут быть организованы в виде слайдшоу и перелистываться движением ладоней вправо и влево, выбор изображения для редактирования осуществляется с помощью любой позы (статичного жеста), например "большой палец вверх" или "победа".

    (рис 5.11) Выбор изображения для редактирования из галереи

    Выбранное изображение появляется в окне редактирования (рис 5.12), которое содержит различные инструменты для работы с изображением: инструменты "карандаш", "овал", "прямоугольник", "прямая линия", цветовая палитра, регулятор толщины линии, а также кнопки "отменить", "повторить", "сохранить", "вставка изображения" и "выход". Выбрав инструмент рисования наведением курсора на нужную кнопку, пользователь определяет цвет и толщину линии. Процесс рисования контролируется движениями рук. Чтобы начать процесс рисования инструментом "карандаш", необходимо поднять указательный палец, остановка рисования осуществляется с помощью позы "победа". Аналогичным образом реализовано рисование графических примитивов (прямоуголник, овал, прямая линия). При наведении курсора на кнопку вставки изображения открывается окно галереи, выбранное пользователем изображение появляется в окне редактирования в месте, которое определяется положением курсора в момент поднятия указательного пальца. Размер вставляемого изображения также зависит от положения указательного пальца, закрепление размера также происходит при распознавании приложением позы "победа".

    Сохранение изображения происходит при наведении курсора на кнопку "сохранить". Сохраненное изображение автоматически добавляется в галерею.

    (рис 5.12) Процесс редактирования изображения

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

    5.5. Голосовое управление в стандартных сервисных приложениях (браузер, проигрыватель, слайдшоу)

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

    Простейшим примером такого сервисного приложения является галерея изображений или слайдшоу. Базовый функционал слайдшоу-приложения должен включать в себя возможность старта показа изображений, паузу и остановку, а также переход к предыдущему или следующему изображению. В соответствие каждой такой функциональной единице могут быть поставлены следующие команды: "Go", "Pause", "Stop", "Previous" и "Next". Дополнительно могут быть реализованы функции установки текущего изображения в качестве фона рабочего стола командой "desktop", а также управление скоростью показа изображений. Последняя функция может быть реализована как постепенным изменением скорости на определенную долю командами "faster" и "slower", так и переключением между тремя режимами "быстро", "умеренно", "медленно" соответственно командами "fast", "medium", "slow".

    Похожей функциональностью, а соответственно, и потенциалом для внедрения голосового управления обладает мультимедиа проигрыватель. В данном случае к базовой функциональности добавится управление громкостью проигрываемой аудиокомпозиции или видео. Рекомендуется изменять уровень громкости командами "louder" и "quieter" на определенный процент. В качестве дополнительной функциональности может быть добавлена возможность поиска конкретной композиции в мультимедиа библиотеке, поиск всех композиций конкретного исполнителя либо все композиции определенного жанра. Поиском по мультимедиа композициям следует управлять с помощью команд "search" или "find". Дополнительно можно предусмотреть возможность голосового управления плейлистами: создание нового плейлиста, добавление и удаление композиции из плейлиста, проигрывание плейлиста.

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

    Контрольные вопросы

  • Что подразумевается под понятиями "мультимедиа" и "мультимедиа технологии"?
  • Какие существуют типы распространенных мультимедиа приложений?
  • В чем основные преимущества от совместного использования мультимедиа и технологии Perceptual Computing?
  • В чем заключаются основные подходы к жестовому и голосовому управлению мультимедиа приложениями?
  • Какой набор функций по обработке растровой графики можно реализовать через жестовый интерфейс?
  • Какие функции стандартных сервисных приложений можно реализовать с помощью голосового управления?
  • Страницы:

    Презентацию к данной лекции можно скачать здесь.

    5.1. Краткое понятие мультимедиа и мультимедийных приложений

    Мультимедиа (multimedia) - это совокупность компьютерных технологий, одновременно использующих несколько информационных сред: графику, текст, видео, фотографию, анимацию, звуковые эффекты, звуковое сопровождение, человеческую речь.

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

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

    К разновидностям мультимедиа относятся:

  • Линейное мультимедиа - простейшая форма представления множества элементов мультимедиа, когда пользователь может выполнять только пассивный просмотр элементов мультимедиа, а последовательность просмотра элементов мультимедиа определяется сценарием.
  • Нелинейное (интерактивное) мультимедиа - форма представления множества элементов мультимедиа, в которой пользователю предоставлена возможность выбора и управления элементами в режиме диалога.
  • Гипермедиа - интерактивное мультимедиа, в котором пользователю предоставляется структура связанных элементов мультимедиа, которые он может последовательно выбирать.
  • Реальное видео - форма мультимедиа, моментально транслирующая поток данных с одного устройства на другое, предоставляющая пользователю просматривать видео и звуковое сопровождение в режиме реального времени.
  • В целом, под мультимедиа могут понимать и мультимедийную программу-оболочку, и продукт, сделанный на основе мультимедийной технологии, и компьютерное оснащение. Поскольку технологии мультимедиа являются комплексными, то и отдельные элементы этих технологий характеризуются многосредностью и ведением диалога с пользователем. Мультимедийные ресурсы, например, содержат различные виды информации, их существенной особенностью является активное взаимодействие ресурса и человека.

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

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

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

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

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

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

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

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

    Существует большое множество программных средств для работы с мультимедиа файлами. Такие приложения можно разделить на несколько основных категорий:

  • Средства создания и обработки изображения
  • Средства создания и обработки 2D и 3D - графики
  • Средства создания и обработки видео и анимации
  • Средства создания и обработки звука
  • Средства создания презентации
  • Компьютерное представление графической информации реализуется с помощью растрового или векторного подхода. В первом случае изображение делится на пиксели, цвет каждого пикселя кодируется определенным числом битов. Векторные изображения сохраняются в виде геометрического описания объектов, составляющих рисунок.

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

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

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

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

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

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

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

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

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

    5.2. Преимущества от использования Intel Perceptual Computing SDK при разработке мультимедиа приложений

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

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

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

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

    (рис 5.1) Процесс работы с музыкальным симулятором

    Другой вариант применения Intel Perceptual Computing - дирижер виртуального оркестра (рис 5.2). Приложение следит за частотой и размером жестов пользователя и в зависимости от этих характеристик меняет громкость и скорость звучания воспроизводимой музыкальной дорожки. Управление программой осуществляется с помощью характерных дирижерских жестов, причем жесты должны соответствовать размеру музыкального такта проигрываемой композиции. По факту, программой распознаются последовательности горизонтальных и вертикальных взмахов, из которых состоят движения дирижера. Дополнительной функциональностью является графическое отображение активных в данный момент партий оркестра. Аналогичное приложение можно реализовать как надстройку над любой популярной программой, читающей и воспроизводящей нотные табулатуры.

    (рис 5.2) Функциональность приложения для дирижирования виртуальным оркестром

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

    Другой тип мультимедиа приложений с главенствующей музыкальной составляющей - синтезаторы. Они применимы, в основном, в развлекательных целях, но их жестовые реализации потенциально могут стать неотъемлемым атрибутом digital-искусства. Одной из реализаций такого типа синтезаторов является приложение JOY (рис 5.3). При его разработке использовались не только аудио технологии, но и различный инструментарий для графического моделирования и генерирования изображений. При старте приложения пользователь выбирает аудиокомпозицию и запускает воспроизведение. Композиция состоит из 10 дорожек, управление которыми происходит с помощью поднятия и опускания пальцев. Изменение расстояния между кистей рук меняет эффект реверберации (отражения) звука. Вертикальное перемещение ладоней в разные стороны регулирует частоту колебаний, баланс звука и эхо изменяются при отдалении и приближении ладоней к камере с сенсорами глубины. Параллельно происходит управление видеорядом. На экране точками отображаются активные звуковые дорожки, геометрические объекты также зависят от количества поднятых пальцев, распознанных приложением, и пульсируют в соответствии с ритмом воспроизводимой композиции.

    (рис 5.3) Воспроизведение композиции в приложении-синтезаторе

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

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

    Генерация трехмерного видеопотока в режиме реального времени (рис 5.4) осуществляется по сходному принципу, однако, является более сложной задачей, поскольку требует от разработчика понимания принципов построения трехмерных изображений и продвинутых навыков работы с 3D-библиотеками. Графическая составляющая такого приложения может быть реализована как пространственное движение скопления нескольких однородных объектов с варьирующимися свойствами, например, несколько не одинаковых по размеру кубов разных оттенков зеленого или более сложные трехмерные модели, например, имитация хаотично движущейся стаи рыб. Для удобства реализации функций управления графикой рекомендуется задавать в скоплении один главный элемент, а все параметры всех остальных объектов ставить в зависимость от положения и состояния главного объекта.

    Управление свойствами объектов и их местоположением, как и в случае с двумерной графикой, рекомендуется разделять. В данном случае, возможно реализовать дополнительные функции изменения точки обзора путем контроля положения лица пользователя и при наклоне головы поворачивать трехмерную сцену в соответствующую сторону. Также возможно разработать систему голосовых команд, управляющих трехмерной сценой и средой, окружающей основные объекты. Например, можно предусмотреть варианты управления оттенком фона, степенью освещенности и прозрачностью объектов, моделированием дополнительных эффектов, имитирующих с помощью различных текстур различные явления реального мира, например, морскую воду, ураганный ветер, сильное пламя. Аналогичный прием будет приемлем и для приложений, генерирующих двумерный видеоряд. Информация о доступных дополнительных визуальных эффектах и способах управления ими должна быть продемонстрирована пользователю до непосредственного запуска процесса генерации видео. Таким образом, приложение, генерирующее в режиме реального времени 3D-видео, обладает некоторыми свойствами трехмерного графического редактора.

    (рис 5.4) Моделирование трехмерного видеопотока в реальном времени

    В качестве более канонической версии редактора трехмерной графики возможно реализовать приложение, осуществляющее создание пространственных 3D-объектов. Для качественной разработки таких типов приложений также необходимы знания в области использования библиотек трехмерной графики. Элементарный трехмерный графический редактор (рис 5.5) обеспечивает функциональность по созданию и редактированию объемных тел из простейших элементов, а также индивидуальное задание свойства цвета для каждого элементу, из которого состоит создаваемое тело. Контроль над приложением осуществляется с помощью двух курсоров, которые управляются простейшими жестовыми командами - двумя раскрытыми ладонями и движениями указательными пальцами. Трехмерный объект создается из базовых элементов - кубов единого размера, для каждого из них существует возможность определения цвета из палитры-спектра. Реализованы такие возможности управления трехмерным рабочим пространством, как вращение вокруг объекта, приближение, отдаление и перемещение по осям координат. Функции навигации по объекту с определением цветовых характеристик и непосредственного создания и редактирования объемного объекта для удобства разделены и выполняются жестами разных рук. Режимы редактирования переключаются с помощью кнопок на верхней панели. Переключение между цветовой палитрой и стрелками навигации по пространству, которые расположены в одном блоке, также происходит с помощью кнопок. Также в приложении реализована функция сохранения видимого изображения, экспорт 3D-модели не предусмотрен.

    (рис 5.5) Трехмерное моделирование в простейшем редакторе

    Функционал данной версии трехмерного графического редактора можно расширить, добавив дополнительные возможности экспорта 3D-модели в файл для дальнейшей работы и несколько изменив непосредственно процесс создания объекта. Для моделирования более сложных объемных тел необходимо уменьшить размер элементарных объектов, из которых состоит 3D-модель, и предоставить пользователю возможность регулировать интенсивность потока этих элементарных объектов в процессе создания модели. Управлять толщиной объемной кисти можно, контролируя степень открытости ладони: при моделировании поднятым указательным пальцем генерировать наиболее тонкий поток элементарных объектов, при моделировании сжатым кулаком использовать среднюю толщину кисти, а при движениях полностью раскрытой ладони создавать наиболее широкую поверхность. С помощью такого инструментария можно создавать гораздо более сложные трехмерные объекты (рис 5.6), которые в дальнейшем могут использоваться для обработки другими программами.

    (рис 5.6) 3D-модель, созданная с помощью жестового редактора CubeFlow

    Анимацией трехмерных объектов также можно управлять с помощью жестовых команд. Движение объемных предметов, определенное жестами, получается более плавным и реалистичным. Такой функционал можно реализовать как дополнительный модуль для любой из популярных программных пакетов для 3D-моделирования. Создавать траектории движения, в том числе с вращением объекта, можно, используя жесты захвата и слежение за положением рук. При выборе объекта происходит переход приложения в режим редактирования траектории движения. Управление стартом и окончанием задания траектории для объекта следует связать со статичными жестами (позами). Необходимо реализовать возможность захвата и задания траекторий не только для созданных пользователем моделей, но и для таких объектов, как камера и источники освещения сцены (рис 5.7). Дополнительной функциональностью может быть возможность выбора не только одного объекта, но и их группы, что позволит пользователю задавать одну траекторию движения сразу для нескольких объектов.

    (рис 5.7) Управление трехмерной анимацией с помощью жестового интерфейса

    Еще один вариант взаимодействия технологии Intel Perceptual Computing и мультимедиа - трехмерное сканирование предметов реального мира и оцифровка отсканированных моделей. Приложение для 3D-сканирования (рис 5.8) будет функционировать в случае наличия у камеры сенсоров глубины изображения.

    В процессе 3D-сканирования анализируется форма физического объекта и на основе полученных данных создается его трехмерная модель. По методу сканирования 3D-сканеры разделяются на активные и пассивные. Активные сканеры излучают на объект некоторые направленные волны и обнаруживают его отражение для анализа.

    Пассивные сканеры для анализа используют данные об обнаружении отраженного окружающего излучения. Большинство сканеров такого типа обнаруживает видимый свет - легкодоступное окружающее излучение. В случае с Intel Perceptual Computing сенсорами глубины изображения используется инфракрасное излучение, таким образом, интенсивность окружающего излучения не влияет на точность и корректность модели сканируемого объекта.

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

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

    (рис 5.8) Трехмерное сканирование объектов реального мира

    Технология Perceptual Computing также применима для создания и демонстрации мультимедийных презентаций. Формат современных презентаций шире стандартного представления о презентации как о линейной последовательности слайдов и представляет собой смешение различных технологий. Существует огромное количество различных способов организации презентации, которые позволяют включать нестандартные интерактивные ходы и мультимедийные средства. Стандарта построения сценарной линии презентации не существует, она может быть как линейной, так и иметь разветвленную структуру. Разработчику следует учитывать эти моменты при разработке среды для создания и демонстрации презентаций с помощью жестового и голосового интерфейса.

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

    Более сложная реализация жестового и голосового управления презентацией состоит из двух режимов: редактирования презентации (рис 5.9) и непосредственной демонстрации.

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

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

    (рис 5.9) Редактирование презентации, управляемой жестами

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

    5.3. Принципы управления мультимедиа приложением с использованием Intel Perceptual Computing SDK

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

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

    Далее, на этапе проектирования интерфейса, список конечных функций приложения, полученных в результате декомпозиции пользовательской задачи, следует соотнести с элементами управления программой. В данном случае в качестве элементов управления приложением рассматриваются не только стандартные элементы управления (кнопки, checkbox'ы, radiobutton'ы, выпадающие списки и др.) и их вариации, но и голосовые команды и жесты.

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

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

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

    В отношении технологии Perceptual Computing на данный момент нельзя выделить устоявшихся интерфейсных шаблонов в силу новизны и низкой распространенности технологии, но в дальнейшем необходимо их учитывать. Чтобы иметь представление о том, какие жестовые и голосовые приемы управления мультимедийными приложениями наиболее удобны и понятны конечному пользователю, необходимо постоянно отслеживать и анализировать появляющиеся perceptual-приложения, а также исследовать пользовательские отзывы о них. На данном этапе ориентироваться следует в первую очередь на то, что пользователю должно быть интуитивно понятно, какой жест или голосовую команду ждет от него приложение, чтобы выполнить его задачу. Например, пользователь ожидает, что противоположные действия вызывают соответственно противоположные реакции приложения. Например, если жест "большой палец вверх" запускает запись сигнала с видеокамеры в файл, то жест "большой палец вниз" должен эту запись останавливать. Аналогичным образом следует поступать и с голосовыми командами.

    Взаимодействие с подобными по виду элементами и объектами должно происходить всегда единообразно, иначе будут возникать ошибки, связанные с модальностью интерфейса. Модальность - наличие в интерфейсе нескольких состояний, в которых одна и та же команда пользователя интерпретируется по-разному. Например, изменение состояния объекта с "включенного" на "отключенное", выполняемое одним и тем же жестом, является модальным, поскольку для выполнения желаемого действия ("включить", "отключить") необходимо помнить текущее состояние объекта.

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

    Интерфейс программы должен своевременно информировать пользователя о способах воздействия на систему, ее текущем состоянии, а также о смене состояния в результате действий пользователя. Информирование пользователя о состоянии системы заключается в первую очередь в предоставлении различного рода обратной связи, например, что действие пользователя корректно воспринято программой и находится в обработке. Этот момент особенно важен при использовании технологии Intel Perceptual Computing, поскольку здесь степень соответствия распознанного сигнала действию пользователя имеет огромное значение. Как вариант, подробное информирование о всех распознаваемых приложением сигналах может быть реализовано в качестве опции и отключаться в тот момент, когда пользователь уже приобрел достаточный навык взаимодействия с технологией и располагает значительным опытом управления perceptual-приложениями.

    Для мультимедиа приложений характерно дублирование конечных простейших функций на несколько способов управления. За счет этого достигается некоторая гибкость в управлении программой, даже в том случае, если она решает сложные пользовательские задачи по управлению мультимедиа файлами. Например, в большинстве проигрывателей (рис 5.10) воспроизведение можно начать не только щелчком по кнопке, но и нажатием клавиши "пробел", а перемотать запись на определенный момент можно клавишами "вперед" и "назад", такими же кнопками, или передвинув ползунок progress bar'а.

    (рис 5.10) Фрагменты интерфейсов популярных мультимедиа проигрывателей

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

    5.4. Разработка графического редактора с жестовым управлением

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

    Функционал простейшего редактора растровой графики реализует базовые инструменты для работы с изображениями, такие как дорисовка изображения и выборочное редактирование, коллажирование, фотомонтаж, кадрирование. Именно такой набор функций лучше всего подходит для реализации графического редактора, использующего технологию Intel Perceptual Computing.

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

    Запустив приложение, пользователь должен выбрать изображение для редактирования из галереи (рис 5.11). В данном случае изображения в галерее могут быть организованы в виде слайдшоу и перелистываться движением ладоней вправо и влево, выбор изображения для редактирования осуществляется с помощью любой позы (статичного жеста), например "большой палец вверх" или "победа".

    (рис 5.11) Выбор изображения для редактирования из галереи

    Выбранное изображение появляется в окне редактирования (рис 5.12), которое содержит различные инструменты для работы с изображением: инструменты "карандаш", "овал", "прямоугольник", "прямая линия", цветовая палитра, регулятор толщины линии, а также кнопки "отменить", "повторить", "сохранить", "вставка изображения" и "выход". Выбрав инструмент рисования наведением курсора на нужную кнопку, пользователь определяет цвет и толщину линии. Процесс рисования контролируется движениями рук. Чтобы начать процесс рисования инструментом "карандаш", необходимо поднять указательный палец, остановка рисования осуществляется с помощью позы "победа". Аналогичным образом реализовано рисование графических примитивов (прямоуголник, овал, прямая линия). При наведении курсора на кнопку вставки изображения открывается окно галереи, выбранное пользователем изображение появляется в окне редактирования в месте, которое определяется положением курсора в момент поднятия указательного пальца. Размер вставляемого изображения также зависит от положения указательного пальца, закрепление размера также происходит при распознавании приложением позы "победа".

    Сохранение изображения происходит при наведении курсора на кнопку "сохранить". Сохраненное изображение автоматически добавляется в галерею.

    (рис 5.12) Процесс редактирования изображения

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

    5.5. Голосовое управление в стандартных сервисных приложениях (браузер, проигрыватель, слайдшоу)

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

    Простейшим примером такого сервисного приложения является галерея изображений или слайдшоу. Базовый функционал слайдшоу-приложения должен включать в себя возможность старта показа изображений, паузу и остановку, а также переход к предыдущему или следующему изображению. В соответствие каждой такой функциональной единице могут быть поставлены следующие команды: "Go", "Pause", "Stop", "Previous" и "Next". Дополнительно могут быть реализованы функции установки текущего изображения в качестве фона рабочего стола командой "desktop", а также управление скоростью показа изображений. Последняя функция может быть реализована как постепенным изменением скорости на определенную долю командами "faster" и "slower", так и переключением между тремя режимами "быстро", "умеренно", "медленно" соответственно командами "fast", "medium", "slow".

    Похожей функциональностью, а соответственно, и потенциалом для внедрения голосового управления обладает мультимедиа проигрыватель. В данном случае к базовой функциональности добавится управление громкостью проигрываемой аудиокомпозиции или видео. Рекомендуется изменять уровень громкости командами "louder" и "quieter" на определенный процент. В качестве дополнительной функциональности может быть добавлена возможность поиска конкретной композиции в мультимедиа библиотеке, поиск всех композиций конкретного исполнителя либо все композиции определенного жанра. Поиском по мультимедиа композициям следует управлять с помощью команд "search" или "find". Дополнительно можно предусмотреть возможность голосового управления плейлистами: создание нового плейлиста, добавление и удаление композиции из плейлиста, проигрывание плейлиста.

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

    Контрольные вопросы

  • Что подразумевается под понятиями "мультимедиа" и "мультимедиа технологии"?
  • Какие существуют типы распространенных мультимедиа приложений?
  • В чем основные преимущества от совместного использования мультимедиа и технологии Perceptual Computing?
  • В чем заключаются основные подходы к жестовому и голосовому управлению мультимедиа приложениями?
  • Какой набор функций по обработке растровой графики можно реализовать через жестовый интерфейс?
  • Какие функции стандартных сервисных приложений можно реализовать с помощью голосового управления?
  • Вернуться к учебному плану