Динамическая обратная связь для жестов

Иллюстрации

Показать все

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

Реферат

ОБЛАСТЬ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ

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

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

Указывающее пером устройство удобно позволяет пользователю вводить данные с использованием естественного способа ввода рукописного текста. Например, персональный компьютер Microsoft Tablet PC может преобразовывать позиционные данные, генерируемые посредством записи на поверхности планшета пером, в электронные чернила, во многом подобно тому, как настоящая ручка пишет чернилами на бумаге. В попытке увеличить производительность указывающего пером устройства некоторые компьютеры даже способны распознавать «жесты», сделанные пером. Более конкретно эти компьютеры распознают специфические движения, сделанные пером, как команды, такие как команды выполнить действие или создать символ. Например, этот тип компьютера может распознать движение «S» с завышенными размерами, сделанное пером, как команду сохранить открытый файл, или распознать движение «<» или «>», сделанное пером, как команду сдвинуть изображения, показанные на дисплее, влево или вправо соответственно. Альтернативно или дополнительно этот тип компьютера может распознавать движение пера в форме «v» или в форме «с» как команду создать текстовый символ «v» или «с» соответственно.

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

КРАТКОЕ ИЗЛОЖЕНИЕ СУЩЕСТВА ИЗОБРЕТЕНИЯ

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг. 2А-2D показывают пример распознавания жеста без обратной связи подсказки.

Фиг. 3 показывает инструмент обратной связи жеста согласно варианту осуществления изобретения.

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

Фиг. 5-12 показывают различные примеры динамической обратной связи подсказки согласно различным вариантам осуществления изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

Обзор

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

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

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

Примерное рабочее окружение

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

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

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

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

Компьютер 100 обычно включает в себя процессор 110, системную память 120 и системную шину 130, которая связывает различные системные компоненты, включая системную память, с процессором 110. Системная память 130 может быть любого из нескольких типов структур шин, включая шину памяти или контроллер памяти, периферийную шину, и локальную шину с использованием множества архитектур шин. Системная память 120 включает в себя постоянное запоминающее устройство (ПЗУ) 140 и оперативное запоминающее устройство (ОЗУ) 150. Базовая система 160 ввода/вывода (BIOS), содержащая базовые подпрограммы, которые помогают переносить информацию между элементами в пределах компьютера 100, как, например, во время запуска, хранится в ПЗУ 140.

Компьютер 100 может, кроме того, включать в себя дополнительные компьютерные устройства носителей данных, такие как дисковод 170 для жестких дисков для считывания и записи на жесткий диск, дисковод 180 для магнитных дисков для считывания и записи на съемный магнитный диск 190 и дисковод 191 для оптических дисков для считывания и записи на съемный оптический диск 192, такой как CD-ROM или другой оптический носитель. Дисковод 170 для жестких дисков, дисковод 180 для магнитных дисков и дисковод 191 для оптических дисков подключены к системной шине 130 посредством интерфейса 192 дисковода для жестких дисков, интерфейса 193 дисковода для магнитных дисков и интерфейса 194 дисковода для оптических дисков соответственно. Дисководы и связанные с ними считываемые компьютером носители обеспечивают энергонезависимое хранение считываемых компьютером команд, структур данных, программных модулей и других данных для персонального компьютера 100. Специалистам в данной области техники понятно, что другие типы считываемого компьютером носителя, которые могут хранить данные, доступные компьютеру, такие как магнитные кассеты, карточки флэш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п., могут также использоваться в примерном рабочем окружении. Также понятно, что более портативные варианты компьютера 100, такие как персональный компьютер с графическим планшетом или электронный секретарь, могут не иметь одно или несколько компьютерных устройств носителей данных, обсуждаемых выше.

Множество программных модулей может храниться на дисководе 170 для жестких дисков, магнитном диске 190, оптическом диске 192, ПЗУ 140 или ОЗУ 150, включая операционную систему 195, одну или несколько прикладных программ 196, другие программные модули 197 и данные 198 программ. Пользователь может вводить программы и информацию в компьютер 100 через различные устройства ввода, такие как клавиатура 101 и указывающее устройство 102 (устройство указания, например, мышь, сенсорный планшет или указывающая ручка). Как отмечалось ранее, изобретение направлено на инструментальное средство для обеспечения обратной связи, когда жест распознан. Специалистам обычной квалификации в данной области техники будет понятно, что хотя ввод жеста может генерироваться с использованием множества устройств указания, наиболее удобным устройством указания для создания этого типа ввода часто является перо или ручка. Соответственно, вычислительное устройство 120 обычно будет включать в себя дигитайзер 165 (иногда называемый графическим планшетом) и ручку или перо 166, которое пользователь может использовать для создания рукописного ввода, который может быть распознан как жест. Специалистам обычной квалификации в данной области техники будет ясно, что в некоторых вариантах осуществления дигитайзер 165 принимает данные рукописного ввода, когда ручка или перо 166 контактирует с поверхностью дигитайзера 165. В других вариантах осуществления дигитайзер 165 может принимать данные рукописного ввода от луча света, генерируемого пером 166, посредством отслеживания углового движения механического манипулятора, поддерживающего перо 166, или посредством другого подходящего способа.

Эти и другие устройства ввода часто подключены к процессору 110 через интерфейс 106 последовательного порта, который подключен к системной шине 130, но могут быть подсоединены посредством других интерфейсов, таких как параллельный порт, игровой порт, шина IEEE-1394B или универсальная последовательная шина (USB). Кроме того, эти устройства могут быть подключены непосредственно к системной шине 130 через соответствующий интерфейс (не показан). Монитор 107 или другой тип устройства дисплея также подключен к системной шине 130 через интерфейс, такой как видеоадаптер 108. В дополнение к монитору 107 персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показаны), такие как громкоговорители и принтеры. Специалистам обычной квалификации в данной области техники будет ясно, что монитор 107 может включать в себя дигитайзер 165 для формирования графического дисплея 165. Это устройство удобно позволяет пользователю использовать перо 166 для указания непосредственно на объекты, изображенные на графическом дисплее, посредством контактирования с экраном дисплея 165.

Компьютер 100 может работать в сетевом окружении с использованием логических подключений к одному или нескольким удаленным компьютерам, таким как удаленный компьютер 109. Удаленным компьютером 109 может быть сервер, маршрутизатор, сетевой персональный компьютер, одноранговое устройство или другой общий узел сети и обычно включает в себя многие или все элементы, описанные выше для компьютера 100, хотя на фиг. 1 показано только одно устройство 111 памяти с относящимися к нему прикладными программами 196. Логические подключения, изображенные на фиг. 1, включают в себя локальную вычислительную сеть (ЛВС) 112 и глобальную вычислительную сеть (WAN) 113. Такие сетевые окружения являются обычными в офисах, компьютерных сетях предприятий, интранет и Интернет и поэтому не будут подробно объясняться здесь.

При использовании в сетевом окружении ЛВС компьютер 100 подключен к локальной сети 112 через сетевой интерфейс или адаптер 114. При использовании в сетевом окружении глобальной сети (WAN) персональный компьютер 100 обычно включает в себя модем 115 или другие средства для установления линии связи с глобальной вычислительной сетью 113, например с Интернет. Модем 115, который может быть внутренним или внешним, может быть подключен к системной шине 130 через интерфейс 106 последовательного порта. В сетевом окружении программные модули, изображенные для персонального компьютера 100 или его частей, могут храниться в удаленном устройстве памяти. Конечно, будет ясно, что показанные сетевые подключения являются примерными и могут быть использованы другие способы для установления линии связи между компьютерами. Предполагается использование любого из различных хорошо известных протоколов, таких как TCP/IP, Ethernet, FTP, HTTP и т.п., и система может работать в конфигурации клиент-сервер для того, чтобы позволить пользователю искать Web-страницы с основанного на Web-сервера. Любые из различных стандартных Web-броузеров могут использоваться для отображения и манипулирования данными на Web-страницах.

Распознавание жеста без обратной связи подсказки

Чтобы лучше различать подсказку и особенности динамической обратной связи согласно изобретению, сначала описан пример процесса распознавания жеста, который не использует динамическую обратную связь согласно изобретению. На фиг. 2А форма 201 является образцом, который модуль распознавания жеста распознает как жест, соответствующий некоторой команде. В частности, форма 201 является формой «S», которая будет распознана, например, как команда сохранить открытый файл или генерировать текстовый символ «S». Следует понимать, что форма 201 обычно не отображается для пользователя и, таким образом, показана пунктирной линией на фиг. 2А. Для того чтобы сделать жест, представленный формой 201, пользователь использует перо 166 для создания рукописного ввода 203, как показано на фиг. 2В. На этом чертеже рукописные введенные данные 203 показаны как сплошная линия. Следует, однако, отметить, что некоторые модули распознавания жеста могут не отображать рукописные введенные данные 203, генерируемые пером 166.

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

Со ссылкой на фиг. 2С, даже если пользователь завершает рукописный ввод 203, соответствующий форме 201 жеста, модуль распознавания жеста все же не обеспечивает какой-либо информации обратной связи для пользователя с целью указания, был ли распознан соответствующий жест. В некоторых модулях распознавания жеста после того, как пользователь прекращает делать жест (а именно, когда пользователь завершил рукописный ввод 203 и убрал перо 166 с поверхности дигитайзера 165), модуль распознавания жеста может все же не обеспечить какую-либо информацию обратной связи для пользователя, указывающую, был ли жест правильно распознан или нет, как показано на фиг. 2D. Таким образом, пользователь должен ждать, чтобы увидеть, запущена ли команда, соответствующая желаемому жесту, или нет, для определения того, был ли жест пользователя правильно распознан.

Инструментальное средство обратной связи о жесте

Фиг. 3 иллюстрирует инструментальное средство 301 обратной связи о жесте согласно одному варианту осуществления изобретения. Как подробно описано ниже, инструментальное средство 301 обратной связи жеста (о жесте) как распознает жест, сделанный пользователем, так и обеспечивает обратную связь для подсказки пользователю, подтверждающей распознавание жеста. Как видно на этом чертеже, инструментальное средство 301 используется в системе, включающей в себя устройство 303 ввода пользователя и модуль 305 интерфейса ввода. Эта система также включает в себя модуль 319 генерации многоуровневых окон и пользовательский интерфейс 321. Каждый из этих компонентов системы будет обсуждаться более подробно ниже.

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

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

Модулем 305 интерфейса ввода может быть любой тип модуля интерфейса пользователя для обеспечения данных для инструментального средства 301 на основе позиционных данных, созданных устройством 303 ввода. Таким образом, если устройством 303 ввода является перо 166, то модулем 305 интерфейса ввода может быть интерфейс прикладного программирования (API) для преобразования позиционных данных, создаваемых перемещением пера 166 над поверхностью дигитайзера 165, в данные, которые могут использоваться инструментальным средством 301. Например, модуль 305 интерфейса ввода может преобразовывать абсолютные позиционные данные, создаваемые пером 166, в данные электронных чернил, сделанные из дискретных выборок позиционных данных с соответствующей векторной информацией для каждой выборки. Конечно, модуль 305 интерфейса ввода может преобразовывать позиционные данные в любой формат данных, полезный для инструментального средства 301. Различные типы модулей 305 интерфейса ввода, использующие позиционные данные, создаваемые указывающими устройствами, хорошо известны в данной области техники и поэтому не будут обсуждаться здесь более подробно.

Со ссылкой на фиг. 3, инструментальное средство 301 включает в себя модуль 307 распознавания жеста. Модуль 307 распознавания жеста может использовать нейронную сеть 309 и/или эвристический распознаватель 311 для распознавания того, когда позиционные данные, созданные с использованием устройства 303 ввода, соответствуют жесту. Следует отметить, что хотя показанный вариант включает в себя как нейронную сеть 309, так и эвристический распознаватель 311 для распознавания жестов, дополнительные или альтернативные способы могут быть использованы для распознавания жестов из позиционных данных, создаваемых устройством 303 ввода. Использование таких альтернативных способов, также как и использование нейронной сети 309 и эвристического распознавателя 311, хорошо известно в данной области техники и поэтому не описаны более подробно.

Инструментальное средство 301 также включает в себя модуль 313 обратной связи для жеста. Как видно на фиг. 3, модуль 313 обратной связи для жеста включает в себя модуль 315 вычисления позиции и модуль 317 управления многоуровневыми окнами. Когда модуль 405 распознавания жеста распознает, что позиционные данные, генерируемые устройством 303 ввода, соответствуют жесту, модуль 405 распознавания жеста сообщает распознанный жест модулю 313 обратной связи для жеста. В ответ модуль 315 вычисления позиции определяет, какой тип обратной связи о жесте должен быть отображен для пользователя для того, чтобы информировать пользователя о том, что этот жест был распознан. В некоторых вариантах осуществления изобретения, например, модуль 315 вычисления позиции может использовать просмотровую таблицу для задания обратной связи о жесте, соответствующей распознанному жесту, обеспеченному модулем 307 распознавания жеста. Конечно, и другие варианты осуществления изобретения могут использовать любой желательный способ для определения формы информации обратной связи о жесте, которая будет отображена для пользователя в ответ на распознавание конкретного жеста. Также, как подробно описано ниже, информация обратной связи о жесте может принимать множество различных форм, включая показ одной или нескольких пиктограмм, текстовые сообщения, изменение цвета и анимация, воспроизведение слышимого звука или комбинации двух или нескольких из этих форм.

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

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

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

Соответственно, как только модуль 315 вычисления позиции определил форму обратной связи жеста и позицию, в которой информация обратной связи о жесте будет показана пользователю, модуль 317 управления многоуровневыми окнами инструктирует модуль 319 генерации многоуровневых окон генерировать эту информацию обратной связи о жесте в заданной позиции на пользовательском интерфейсе 321. Модулем 319 генерации многоуровневых окон может быть, например, стандартный интерфейс прикладного программирования (API) для управления внешним видом и содержимым оконных графических пользовательских интерфейсов. Подобным же образом, пользовательским интерфейсом 321 может быть любой тип стандартного дисплея, включая, например, дисплей на электронно-лучевой трубке, плазменный дисплей или жидкокристаллический дисплей (ЖКД), каждый из которых хорошо известен в данной области техники. Модулем 317 управления многоуровневыми окнами может быть в этих случаях любой тип модуля для управления работой многоуровневого окна модуля 319 генерации для показа требуемой информации обратной связи о жесте.

Работа инструментального средства обратной связи о жесте

Фиг. 4 показывает способ обеспечения динамической обратной связи, подтверждающей распознавание жеста, который может быть использован для множества вариантов осуществления изобретения, включая инструментальное средство 301 обратной связи о жесте. Как видно на этом чертеже, процесс обеспечения обратной связи о жесте для пользователя начинается, когда пользователь начинает рисовать жест, на этапе 401. На этапе 403 модуль распознавания жеста определяет, распознан ли жест, нарисованный таким образом пользователем. Например, для инструментального средства 301 обратной связи о жесте, модуль 307 распознавания жеста определяет, соответствуют ли позиционные данные от устройства 303 ввода жесту.

Если жест еще не распознан, то на этапе 405 пользователю обеспечивается информация обратной связи, указывающая, что жест еще не был распознан. В некоторых вариантах осуществления изобретения, этой обратной связью о нераспознавании может быть активная обратная связь, положительно указывающая пользователю, что жест еще не был распознан. Например, модуль 313 обратной связи для жеста может инструктировать модуль 319 генерации многоуровневых окон генерировать окно с содержимым текстового сообщения, утверждающего, что жест еще не был распознан. В других вариантах осуществления изобретения, однако, обратной связью нераспознавания может быть пассивная обратная связь, когда не предпринимается никакого действия (а именно, когда пользовательский интерфейс 321 остается неизменным), если жест не был распознан модулем распознавания жеста. Хотя положительная обратная связь о нераспознавании активно информирует пользователя о том, что жест еще не был распознан, пассивная обратная связь о нераспознавании требует малых или не требует никаких издержек выполнения модулем обратной связи для жеста.

На этапе 407 модуль распознавания жеста определяет, закончил ли пользователь совершение жеста. Например, в вариантах осуществления изобретения, показанных на фиг. 3, модуль 307 распознавания жеста определяет, продолжает ли устройство 303 ввода формировать позиционные данные. Если устройство 303 ввода больше не формирует позиционные данные (а именно, если пользователь поднял перо 166 с поверхности дигитайзера 165), то на этапе 409 инструментальным средством 301 не предпринимается никаких дальнейших действий. Если, однако, пользователь продолжает рисовать жест, то процесс возвращается к этапу 401, где модуль распознавания жеста продолжает пытаться распознать жест на этапе 403.

Когда модуль распознавания жеста распознает жест пользователя на этапе 403, модуль обратной связи для жеста обеспечивает информацию обратной связи пользователю, указывающую, что жест был распознан на этапе 411. Например, в варианте, показанном на фиг. 3, когда модуль 307 распознавания жеста распознал жест из позиционных данных, выданных устройством 303 ввода, модуль 313 обратной связи для жеста выдает информацию обратной связи на пользовательский интерфейс 321, указывая, что жест был распознан.

В некоторых вариантах осуществления изобретения инфор