динамическая обратная связь для жестов
Классы МПК: | G09G5/08 для управления курсором |
Автор(ы): | КОЛМЫКОВ-ЗОТОВ Александр Жанович (US), СОМДЖИ Шираз (US), ЛЕРНЕР Мэтт (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2004-02-27 публикация патента:
27.08.2009 |
Изобретение относится к динамической обратной связи для жестов. Техническим результатом изобретения является повышение надежности распознавания жестов пользователем. Технический результат достигается благодаря тому, что различные варианты осуществления изобретения используются для обеспечения обратной связи подсказки для пользователя, которая указывает, что жест был распознан, даже прежде, чем пользователь завершил выполнение жеста. Если жест пользователя был правильно распознан, то обратная связь подсказки убеждает пользователя, что выполнение команды вводимой жестом будет точно инициировано. Если жест пользователя не был правильно распознан, то пользователь начинает жест сначала. Если жест пользователя был неправильно распознан как другой жест, то пользователь может продолжить перемещать перо так, чтобы отменить неправильно распознанный жест. 3 н. и 51 з.п. ф-лы, 16 ил.
Формула изобретения
1. Способ обеспечения динамической обратной связи для пользователя, выполняющего рукописный жест, способ содержит этапы:
(i) прием позиционных данных от устройства указания, причем эти позиционные данные создаются посредством использования устройства указания;
(ii) анализ принимаемых позиционных данных для распознавания того, когда принятые позиционные данные соответствуют команде, вводимой рукописным жестом;
(iii) если принятые позиционные данные соответствуют, по меньшей мере, одной команде, вводимой рукописным жестом, то:
определяют, что принятые позиционные данные представляют, по меньшей мере, одну команду, вводимую рукописным жестом,
обеспечивают первую информацию обратной связи, указывающую пользователю о распознавании, по меньшей мере, одной команды, вводимой рукописным жестом;
отменяют определение, что принятые позиционные данные представляют, по меньшей мере, одну команду, вводимую рукописным жестом, после приема дополнительных позиционных данных, которые не соответствуют упомянутой, по меньшей мере, одной команде, вводимой рукописным жестом, при этом упомянутые дополнительные позиционные данные и принятые позиционные данные формируются посредством непрерывного использования устройства указания, и
формируют информацию обратной связи, указывающую упомянутую отмену;
(iv) если принимаемые позиционные данные не соответствуют, по меньшей мере, одной команде, вводимой рукописным жестом, то:
определяют, что принятые позиционные данные не представляют команду, вводимую рукописным жестом, и автоматически формируют вторую информацию обратной связи, указывающую пользователю, что команда, вводимая рукописным жестом, не была распознана, причем вторая обратная связь включает в себя пассивную обратную связь;
(v) повторение этапов (i)-(iv), пока не будут приняты дополнительные позиционные данные; и
(vi) если никакие дополнительные позиционные данные не приняты, и если было определено, что принятые позиционные данные представляют единственную команду, вводимую рукописным жестом, запуск этой единственной команды, вводимой рукописным жестом.
2. Способ по п.1, дополнительно предусматривающий этапы:
распознавание того, что первоначально принятые позиционные данные соответствуют множеству команд, вводимых рукописным жестом; и после распознавания того, что первоначально принятые позиционные данные соответствуют упомянутому множеству команд, вводимых рукописным жестом, формируют первую информацию обратной связи таким образом, чтобы указать о распознавании каждой из упомянутого множества команд, вводимых рукописным жестом.
3. Способ по п.2, дополнительно предусматривающий этапы:
определение достоверности в точности распознавания каждой из множества команд, вводимых рукописным жестом, и
формирование первой информации обратной связи таким образом, чтобы указать распознавание упомянутого множества команд, вводимых рукописным жестом, на основе определенной достоверности.
4. Способ по п.3, дополнительно предусматривающий формирование первой информации обратной связи посредством визуального изображения индикатора, идентифицирующего каждую из упомянутого множества команд, вводимых рукописным жестом, таким образом, что внешний вид каждого индикатора соответствует степени достоверности, определенной для точности распознавания команды, вводимой рукописным жестом, идентифицируемой индикатором.
5. Способ по п.3, дополнительно предусматривающий этапы:
анализ последовательно принимаемых позиционных данных для определения второй степени достоверности в точности распознавания каждой из упомянутого множества команд, вводимых рукописным жестом; и
модификацию второй информации обратной связи на основе определенной второй достоверности.
6. Способ по п.2, дополнительно предусматривающий этапы:
анализ последовательно принимаемых позиционных данных для распознавания единственной команды, вводимой рукописным жестом, соответствующей принятым позиционным данным; и
формирование третьей информации обратной связи, указывающей пользователю о распознавании единственной команды, вводимой рукописным жестом.
7. Способ по п.6, дополнительно предусматривающий формирование третьей информации обратной связи таким образом, чтобы удалить какое-либо указание о распознавании каждой из упомянутого множества команд, вводимых рукописным жестом, отличающейся от упомянутой единственной команды, вводимой рукописным жестом.
8. Способ по п.1, дополнительно предусматривающий этапы:
распознавание того, что первоначально принятые позиционные данные соответствуют множеству команд, вводимых рукописным жестом,
определение достоверности в точности распознавания каждой из множества команд, вводимых рукописным жестом, таким образом, что, по меньшей мере, одна из упомянутого множества команд, вводимых рукописным жестом, имеет наивысшую определенную достоверность, и формирование первой информации обратной связи таким образом, чтобы указать распознавание только упомянутой по меньшей мере одной команды, вводимой рукописным жестом, имеющей наивысшую определенную достоверность.
9. Способ по п.1, дополнительно предусматривающий визуальное отображение информации обратной связи для пользователя, при этом форма обратной связи и позиция отображения информации обратной связи основаны на местонахождении позиционных данных.
10. Способ по п.9, дополнительно предусматривающий визуальное отображение информации обратной связи для пользователя посредством включения информации обратной связи, по меньшей мере, в одно прозрачное окно, изображенное на дисплее.
11. Способ по п.10, дополнительно предусматривающий визуальное отображение информации обратной связи для пользователя посредством включения информации обратной связи во множество прозрачных окон, изображенных на дисплее.
12. Способ по п.1, дополнительно предусматривающий звуковое обеспечение информации обратной связи для пользователя.
13. Способ по п.1, дополнительно предусматривающий этапы:
визуальное изображение информации о местонахождении, соответствующей позиционным данным на дисплее;
визуальное изображение, по меньшей мере, первой информации обратной связи на дисплее.
14. Способ по п.13, дополнительно предусматривающий отображение, по меньшей мере, первой информации обратной связи в позиции на дисплее относительно места, в котором информация о местонахождении отображена на дисплее.
15. Способ по п.14, дополнительно предусматривающий перемещение позиции, в которой, по меньшей мере, первая информация обратной связи изображена на дисплее, относительно изменений в отображении информации о местонахождении на дисплее.
16. Способ по п.14, дополнительно предусматривающий отображение, по меньшей мере, первой информации обратной связи в позиции на дисплее относительно места, в котором информация о местонахождении отображена на дисплее, на основе информации о предпочтении, обеспеченной пользователем.
17. Способ по п.13, дополнительно предусматривающий отображение как информации о местонахождении так и, по меньшей мере, первой информации обратной связи в пользовательском интерфейсе ввода символов.
18. Способ по п.17, в котором
пользовательский интерфейс ввода символов включает в себя
программную клавиатуру типа Qwerty, и
первая информация обратной связи включает в себя изменение внешнего вида программируемой клавиши упомянутой программной клавиатуры типа Qwerty, соответствующей, по меньшей мере, одной команде, вводимой рукописным жестом.
19. Способ по п.1, в котором позиционные данные формируются только в ответ на движение устройства указания.
20. Способ по п.1, в котором информацией второй обратной связи является удаление первой информации обратной связи.
21. Способ по п.1, дополнительно предусматривающий обеспечение второй информации обратной связи таким образом, чтобы указать, что по меньшей мере, одна команда, вводимая рукописным жестом, больше не распознается.
22. Способ обеспечения динамической обратной связи для пользователя, выполняющего рукописный жест, предусматривающий этапы:
прием первой части потока позиционных данных от устройства указания, причем этот поток позиционных данных создается посредством использования устройства указания для выполнения рукописного жеста;
распознавание множества команд, вводимых рукописным жестом, соответствующих принятой первой части потока позиционных данных;
после распознавания того, что первая часть потока позиционных данных соответствует множеству команд, вводимых рукописным жестом, формирование информации обратной связи, указывающую распознавание каждой из множества команд, вводимых рукописным жестом,
определение степени достоверности в точности распознавания каждой из множества команд, вводимых рукописным жестом, соответствующих принятой первой части потока позиционных данных;
перед приемом второй части потока позиционных данных, формирование информации обратной связи для пользователя, указывающей распознавание упомянутого множества команд, вводимых рукописным жестом, причем информация обратной связи включает в себя воспринимаемую индикацию, относящуюся к степени определенной достоверности в точности распознавания каждой из множества команд, вводимых рукописным жестом,
отменяют распознавание множества команд, вводимых рукописным жестом, когда принимают дополнительные позиционные данные, которые не соответствуют упомянутому множеству команд, вводимых рукописным жестом, при этом упомянутые дополнительные позиционные данные и первая часть упомянутого потока данных формируется посредством непрерывного использования устройства указания, и
формируют информацию обратной связи, указывающую упомянутую отмену.
23. Способ по п.22, дополнительно предусматривающий этапы:
прием второй части потока позиционных данных, и
когда поток позиционных данных больше не принимается, вызов команды, вводимой рукописным жестом, из упомянутого множества команд, вводимых рукописным жестом, распознанных из принятого потока позиционных данных.
24. Способ по п.22, дополнительно предусматривающий визуальное изображение индикатора, идентифицирующего каждую из множества команд, вводимых рукописным жестом, таким образом, что внешний вид каждого индикатора соответствует степени достоверности, определенной для точности распознавания команды, вводимой рукописным жестом, идентифицируемой индикатором.
25. Способ по п.24, дополнительно предусматривающий этапы:
прием второй части потока позиционных данных;
использование принятой второй части потока позиционных данных для определения второй степени достоверности в точности распознавания каждой из упомянутого множества команд, вводимых рукописным жестом; и
формирование второй информации обратной связи, указывающей распознавание множества команд, вводимых рукописным жестом, на основе определенной второй степени достоверности.
26. Способ по п.25, дополнительно предусматривающий этапы:
обозначение того, что единственная команда, вводимая рукописным жестом, среди упомянутого множества команд, вводимых рукописным жестом, имеет высшую вторую определенную степень достоверность, и формирование второй информации обратной связи посредством удаления любого указания распознавания каждой из множества команд, вводимых рукописным жестом, отличных от упомянутой единственной команды, вводимой рукописным жестом.
27. Способ по п.22, дополнительно предусматривающий этапы:
определение степени достоверности в точности распознавания каждой из упомянутого множества команд, вводимых рукописным жестом, таким образом, что, по меньшей мере, одна из множества команд, вводимых рукописным жестом, имеет наивысшую определенную степень достоверности, и
обеспечение информации обратной связи посредством указания о распознавании только упомянутой, по меньшей мере, одной команды, вводимой рукописным жестом, имеющей наивысшую определенную степень достоверности.
28. Способ по п.24, дополнительно предусматривающий этапы:
после обеспечения информации обратной связи для пользователя, прием второй части потока позиционных данных от устройства указания;
анализ второй части потока позиционных данных для распознавания единственной команды, вводимой рукописным жестом, соответствующей принятым первой и второй частям потока позиционных данных из упомянутого множества команд, вводимых рукописным жестом; и
обеспечение второй информации обратной связи, указывающей пользователю о распознавании упомянутой единственной команды, вводимой рукописным жестом.
29. Способ по п.28, дополнительно предусматривающий этапы:
прием третьей части потока позиционных данных;
анализ третьей части потока позиционных данных для распознавания того, соответствует ли третья часть потока позиционных данных, по меньшей мере, одной из упомянутого множества команд, вводимых рукописным жестом; и
если третья часть потока позиционных данных не соответствует, по меньшей мере, одной из множества команд, вводимых рукописным жестом, обеспечение третьей обратной связи, указывающей, что команда, вводимая рукописным жестом, больше не распознается.
30. Способ по п.29, дополнительно предусматривающий обеспечение третьей информации обратной связи посредством удаления второй информации обратной связи.
31. Способ по п.29, дополнительно предусматривающий обеспечение третьей информации обратной связи посредством генерации индикатора, указывающего, что единственная команда, вводимая рукописным жестом, больше не распознается.
32. Способ по п.22, дополнительно предусматривающий визуальное обеспечение информации обратной связи для пользователя, причем форма информации обратной связи и позиция отображения информации обратной связи основаны на местонахождении позиционных данных.
33. Способ по п.32, дополнительно предусматривающий визуальное обеспечение информации обратной связи для пользователя посредством включения информации обратной связи в, по меньшей мере, одно прозрачное окно, изображенное на дисплее.
34. Способ по п.33, дополнительно предусматривающий визуальное обеспечение информации обратной связи для пользователя посредством включения информации обратной связи во множество прозрачных окон, изображенных на дисплее.
35. Способ по п.22, дополнительно предусматривающий звуковое обеспечение информации обратной связи для пользователя.
36. Способ по п.22, дополнительно предусматривающий этапы: визуальное отображение информации о местонахождении, соответствующей позиционным данным, на дисплее; и
визуальное отображение информации обратной связи на дисплее.
37. Способ по п.36, дополнительно предусматривающий отображение информации обратной связи в позиции на дисплее относительно местоположения, в котором информация о местонахождении отображается на дисплее.
38. Способ по п.37, дополнительно предусматривающий перемещение позиции, в которой информация обратной связи отображена на дисплее, относительно изменений в отображении информации о местонахождении на дисплее.
39. Способ по п.37, дополнительно предусматривающий отображение информации обратной связи в позиции на дисплее относительно местоположения, в котором информация о местонахождении отображена на дисплее, на основе информации о предпочтении, обеспеченной пользователем.
40. Способ по п.36, дополнительно предусматривающий отображение как информации о местонахождении так и информации обратной связи в пользовательском интерфейсе ввода символов.
41. Способ по п.40, в котором
пользовательский интерфейс ввода символов включает в себя программную клавиатуру типа Qwerty, соответствующую, по меньшей мере, одной команде, вводимой рукописным жестом, и
информация обратной связи включает в себя изменение во внешнем виде программной клавиши упомянутой клавиатуры типа Qwerty, соответствующей, по меньшей мере, одной команде, вводимой рукописным жестом.
42. Способ по п.22, в котором позиционные данные создаются только в ответ на движение устройства указания.
43. Способ по п.22, дополнительно предусматривающий этапы:
прием второй части потока позиционных данных;
анализ второй части потока позиционных данных для распознавания того, соответствует ли вторая часть потока позиционных данных, по меньшей мере, одной команде, вводимой рукописным жестом; и
если вторая часть потока позиционных данных не соответствует, по меньшей мере, одной команде, вводимой рукописным жестом, обеспечение второй информации обратной связи, указывающей, что команда, вводимая рукописным жестом, больше не распознается.
44. Способ по п.43, дополнительно предусматривающий формирование второй информации обратной связи посредством удаления первой информации обратной связи.
45. Способ по п.43, дополнительно предусматривающий формирование второй информации обратной связи посредством генерации индикатора, указывающего, что команда, вводимая рукописным жестом, больше не распознается.
46. Инструментальное средство обратной связи о жесте, воплощенное на компьютерном устройстве хранения, для обеспечения динамической обратной связи для пользователя, выполняющего рукописный жест, причем упомянутое инструментальное средство обратной связи содержит:
модуль распознавания жеста, который
принимает первую часть потока позиционных данных и вторую часть потока позиционных данных от устройства указания, при этом первая и вторая части потока позиционных данных формируются посредством использования упомянутого устройства указания;
непрерывно анализирует принимаемые данные указания для распознавания того, когда принимаемые данные указания соответствуют множеству команд, вводимых рукописным жестом; и
в ответ на распознавание того, что первая часть потока позиционных данных соответствует множеству команд, вводимых рукописным жестом, перед приемом второй части потока позиционных данных, создает позиционные данные, идентифицирующие множество команд, вводимых рукописным жестом, соответствующих принятой первой части потока позиционных данных;
причем модуль распознавания жеста:
определяет степень достоверности в точности распознавания каждой из упомянутого множества команд, вводимых рукописным жестом, соответствующих принятой первой части потока позиционных данных; и
модуль обратной связи жеста, который
принимает позиционные данные от модуля распознавания жеста, и
в ответ на прием позиционных данных и на основе определенной степени достоверности формирует информацию обратной связи для пользователя, соответствующую множеству команд, вводимых рукописным жестом, идентифицированных позиционными данными, соответствующих принятой первой части потока позиционных данных, причем информация обратной связи включает в себя воспринимаемую индикацию о степени достоверности, присущей каждой из множества команд, вводимых рукописным жестом,
отменяет распознавание множества команд, вводимых рукописным жестом, в ответ на прием дополнительных позиционных данных посредством непрерывного использования устройства указания, при этом упомянутые дополнительные позиционные данные не соответствуют упомянутому множеству команд, вводимых рукописным жестом, и
формирует информацию обратной связи, указывающую, что множество команд, вводимых рукописным жестом, более не распознаются.
47. Инструментальное средство по п.46, в котором модуль распознавания жеста включает в себя нейронную сеть.
48. Инструментальное средство по п.46, в котором модуль распознавания жеста включает в себя распознаватель для распознавания того, что принятые позиционные данные соответствуют, по меньшей мере, одной команде, вводимой рукописным жестом, на основе эвристики.
49. Инструментальное средство по п.48, в котором модуль распознавания жеста включает в себя нейронную сеть.
50. Инструментальное средство по п.46, в котором
принятые позиционные данные связываются с местоположениями указания на дисплее; и
модуль обратной связи жеста включает в себя модуль вычисления позиции, который визуально отображает информацию обратной связи на дисплее относительно местоположений указания.
51. Инструментальное средство по п.50, в котором модуль вычисления позиции визуально отображает информацию обратной связи на дисплее относительно местоположений указания на основе местонахождения позиционных данных.
52. Инструментальное средство по п.46, в котором модуль обратной связи жеста включает в себя модуль управления многоуровневыми окнами, который отображает информацию обратной связи в пользовательском интерфейсе.
53. Инструментальное средство по п.52, в котором модуль управления многоуровневыми окнами отображает информацию обратной связи в пользовательском интерфейсе ввода символов.
54. Инструментальное средство по п.52, в котором модуль управления многоуровневыми окнами отображает информацию обратной связи в одном или нескольких прозрачных окнах.
Описание изобретения к патенту
ОБЛАСТЬ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Различные варианты осуществления данного изобретения относятся к динамической обратной связи для жестов. Некоторые варианты осуществления изобретения имеют конкретное применение к обеспечению обратной связи для пользователя, делающего жест, которая подтверждает распознавание жеста перед тем, как жест завершен.
УРОВЕНЬ ТЕХНИКИ
По мере созревания области информатики множество устройств было разработано для того, чтобы позволить пользователям вводить информацию в компьютерные устройства. Одна группа этих устройств называется указывающими устройствами. По мере перемещения пользователем устройства или компонента устройства устройство указания генерирует позиционные данные, соответствующие перемещению устройства указания. Эти позиционные данные в свою очередь преобразуются в перемещение изображения указателя, изображенного на дисплее. Таким образом, посредством перемещения устройства указания пользователь может связать изображение указателя с данными, представленными другими изображениями, показанными на дисплее. Пользователь может затем манипулировать этими данными путем активации действия команды, связанной с указателем, например, нажатием командной кнопки.
Одна особая категория устройства указания позволяет пользователю вводить информацию в компьютер посредством перемещения пера или ручки относительно поверхности. Например, некоторые компьютеры в настоящее время включают в себя графический планшет, который детектирует положение пера относительно графического планшета. По мере движения пера по (или, в некоторых случаях, над) поверхности графического планшета графический планшет создает позиционные данные на основе положения пера. С такими компьютерами графический планшет может быть отдельным от дисплея или он может быть включен в дисплей. Один из примеров этого типа устройства ввода используется персональным компьютером 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, указывая, что жест был распознан.
В некоторых вариантах осуществления изобретения информация обратной связи о распознавании может просто указывать пользователю, что жест был распознан из позиционных данных, без специфической идентификации, какой жест был распознан модулем распознавания жеста. Таким образом, информацией обратной связи о распознавании может быть пиктограмма, которую пользователь распознает как подтверждение того, что жест был распознан, текстовое сообщение, просто утверждающее, что жест был распознан, или другое видимое изображение, которое укажет пользователю, что жест был распознан. Альтернативно или дополнительно может быть воспроизведен слышимый индикатор для информирования пользователя о том, что жест был распознан из позиционных данных. Например, некоторые варианты осуществления изобретения могут воспроизводить специфический звуковой сигнал, когда жест распознан, или воспроизводить речевое сообщение, утверждающее, что жест был распознан из позиционных данных.
В других вариантах осуществления изобретения, однако, информация обратной связи о распознавании будет специфически идентифицировать жест, распознанный из позиционных данных. Например, если жест распознан как соответствующий команде выполнить некоторое действие, то модуль обратной связи для жеста (например, модуль 313 обратной связи для жеста (о жесте) для варианта осуществления изобретения, показанного на фиг. 3) может отображать пиктограмму, текстовое сообщение или другое изображение, которое пользователь будет ассоциировать с этим действием. Таким образом, если модуль 307 распознавания жеста распознает, что входные позиционные данные соответствуют жесту для сохранения открытого файла, то модуль 313 обратной связи для жеста может показать пиктограмму, информирующую пользователя о том, что открытый файл был сохранен. Альтернативно модуль 313 обратной связи для жеста может отобразить текстовое сообщение, читающееся, например, как «файл сохранен». Если, с другой стороны, жест распознан как соответствующий команде выдать один или несколько текстовых символов, то модуль обратной связи для жеста может показать эти символы. Например, если жест распознан как команда генерировать букву «А», то модуль обратной связи для жеста может показать букву «А» для информирования пользователя о том, что жест был распознан.
Следует также понимать, что скорость, с которой информация обратной связи обеспечивается модулем обратной связи для жеста, может зависеть от скорости, с которой модуль 307 распознавания жеста распознает жест из позиционных данных. Если работа модуля 307 распознавания жеста является слишком медленной для обработки каждой новой порции позиционных данных, создаваемых устройством 303 ввода, то модуль 307 распознавания жеста может только периодически выбирать позиционные данные, генерируемые устройством 303 ввода, для распознавания жеста. Другие способы могут быть альтернативно или дополнительно применены для ускорения работы модуля 307 распознавания жеста, как, например, выполнение процесса распознавания жеста с использованием выделенного потока программ. В любом случае если модуль 307 распознавания жеста распознает жест более медленно, чем создаются позиционные данные для совершения этого жеста, то информация обратной связи, обеспеченная модулем 313 обратной связи для жеста, может также отставать от создания позиционных данных. Соответственно, некоторые варианты осуществления изобретения могут изменять эту обратную связь, например, посредством изменения цвета или яркости показанной обратной связи для указания задержки, с которой распознается жест.
Для некоторых вариантов осуществления изобретения модуль распознавания жеста (например, модуль 307 распознавания жеста варианта, показанного на фиг. 3) может обеспечить уровень достоверности в распознавании жеста. Например, когда пользователь лишь частично завершил жест, модуль распознавания жеста может правильно распознать жест, но имеет относительно низкий уровень достоверности в точности его распознавания. По мере того, как пользователь продолжает завершать жест (и система распознавания принимает дополнительные позиционные данные от устройства 303 ввода), уровень достоверности для точности распознаваемого жеста может увеличиться. Соответственно, различными вариантами осуществления изобретения может быть обеспечена информация обратной связи о жесте, которая далее информирует пользователя об уровне достоверности при распознавании жеста.
Например, если модуль распознавания жеста имеет относительно низкую достоверность в точности распознаваемого жеста, то модуль обратной связи для жеста может обеспечить пиктограмму как идентифицирующую распознаваемый жест, так и имеющую красный цвет для указания того, что достоверность в распознавании этого жеста является относительно низкой. Если модуль распознавания жеста затем увеличивает свой уровень достоверности при распознавании жеста, то модуль обратной связи для жеста может изменить цвет пиктограммы с красного на желтый для указания пользователю, что достоверность в распознавании жеста увеличилась. Если достоверность в жесте продолжает увеличиваться, то модуль обратной связи для жеста может затем изменить цвет пиктограммы опять, например, с желтого на зеленый для указания пользователю, что достоверность в распознавании жеста дополнительно увеличилась.Следует понимать, что в дополнение к цвету можно использовать и другие способы для идентификации уровня достоверности в распознавании жеста. Например, некоторые варианты осуществления изобретения могут использовать пиктограммы различных размеров или другие изображения для информирования пользователя об уровне достоверности в распознаваемом жесте. Другие варианты осуществления изобретения могут альтернативно или дополнительно использовать текстовые сообщения для информирования пользователя об уровне достоверности в распознаваемом жесте. Далее различные варианты осуществления изобретения могут использовать различные пиктограммы или другие изображения, слышимые звуки или речевые сообщения, или другие способы, включая комбинацию одного или нескольких вышеупомянутых способов, для информирования пользователя об уровне достоверности в распознаваемом жесте.
В некоторых вариантах осуществления изобретения модуль распознавания жеста может распознавать более одного жеста из набора позиционных данных. Для этих вариантов модуль обратной связи для жеста может обеспечить информацию обратной связи о жесте, идентифицирующую каждый распознанный жест. Например, модуль распознавания жеста может распознать жест, сделанный в форме «С» (как, например, жест, соответствующий команде копировать выбранные данные в буфер обмена компьютера), и распознать другой жест, сделанный в форме «S» (как, например, жест, соответствующий команде сохранить открытый файл). Когда пользователь начинает делать жест, соответствующий форме «S», модуль распознавания жеста первоначально может быть не способным отличить этот жест от жеста, соответствующего форме «С». Вместо этого система распознавания может «распознать» этот жест как соответствующий как форме «S», так и форме «С». В этой ситуации различные варианты осуществления изобретения могут обеспечить информацию обратной связи о жесте, идентифицирующую оба жеста.
Далее некоторые из этих вариантов осуществления изобретения могут обеспечить обратную связь о жесте, которая идентифицирует как каждый распознанный жест, так и уровень достоверности, связанный с каждым из распознанных жестов. Таким образом, в вышеприведенных примерах, если модуль распознавания жеста первоначально приписывает один и тот же уровень достоверности как жесту, соответствующему форме «S», так и жесту, соответствующему форме «С», модуль обратной связи для жеста может снабдить пользователя пиктограммами, идентифицирующими оба жеста и имеющими одинаковый цвет. По мере того, как пользователь продолжил завершать жест в форме «S», модуль распознавания жеста может увеличить уровень достоверности в распознавании жеста в форме «S» относительно уровня достоверности в распознавании жеста в форме «С». В ответ модуль обратной связи для жеста может изменить цвет пиктограммы, идентифицирующей жест в форме «S», для информирования пользователя о том, что уровень достоверности в распознавании жеста в форме «S» увеличился.
В других вариантах осуществления изобретения модуль обратной связи жеста может обеспечить информацию обратной связи о жесте, которая позволяет пользователю выбирать выполнение одного распознаваемого жеста по сравнению с другим распознаваемым жестом. Таким образом, в вышеприведенном примере модуль обратной связи для жеста может первоначально показать пиктограммы, идентифицирующие как жест в форме «С», так и жест в форме «S». Пользователь может затем выбрать желаемый жест, например, посредством направления указателя для указывающего устройства над пиктограммой, идентифицирующей желаемый жест, и последующей активации командной кнопки (или совершения эквивалентного действия), обычно называемой «щелчком кнопкой» на этой пиктограмме. Следует понимать, однако, что множество способов может использоваться как для идентификации двух или более распознаваемых жестов, так и для выбора пользователем распознаваемого жеста для запуска желаемой команды.
Возвращаясь к фиг. 3, на этапе 413 модуль 307 распознавания жеста определяет, продолжает ли пользователь создавать жест (а именно, продолжает ли пользователь генерировать позиционные данные). Если пользователь прекратил создавать жест (например, если пользователь поднял перо 166 с поверхности дигитайзера 165), то на этапе 415 запускается команда, представленная распознанным жестом (или распознанным жестом, имеющим наивысший уровень достоверности). Если, однако, пользователь продолжает завершать жест, то процесс возвращается на этап 401, и модуль 307 распознавания жеста определяет продолжение жеста, подлежащего распознаванию, на этапе 403.
Как понятно из этого процесса, жест может начать распознаваться перед тем, как пользователь завершил жест. Кроме того, информация обратной связи, идентифицирующая жест, может быть обеспечена пользователю перед завершением жеста. Удобно, если жест неправильно распознается как другой, нежелательный жест, то эта информация обратной связи о жесте позволяет пользователю отменить неправильно распознанный жест перед запуском команды, соответствующей этому жесту. Например, если пользователь делает жест в форме «С», который неправильно распознан как другой жест, пользователь может быть информирован о том, что жест не распознается правильно, посредством информации обратной связи о жесте, идентифицирующей нежелательный жест. Когда пользователь узнает, что желаемый жест не распознается правильно, пользователь может переместить устройство указания таким образом, чтобы отменить распознавание нежелательного жеста. Таким образом, в ответ на информацию обратной связи о жесте, идентифицирующую нежелательный жест, пользователь может затем передвинуть устройство указания в сторону от жеста в направлении, которое помешает модулю распознавания жеста продолжить распознавание нежелательного жеста.
Динамическая обратная связь для жеста
Фиг. 5 иллюстрирует один пример информации обратной связи о жесте, которая может быть обеспечена различными вариантами осуществления изобретения, включая вариант осуществления изобретения, показанный на фиг. 3. Как видно на фиг. 5, пользователь использовал перо 166 для рисования рукописных вводимых данных 203, соответствующих желаемой форме 201 жеста. В этом показанном варианте форма «S» 201 соответствует жесту для сохранения открытого файла, который был распознан модулем 307 распознавания жеста. Соответственно, модуль 313 обратной связи жеста отображает текстовое сообщение 501, которое читается как «Сохранение файла», для информирования пользователя о том, что жест для сохранения открытого файла был распознан из рукописных введенных данных 203. Если этот жест не является жестом, желаемым пользователем, то пользователь может отменить этот жест посредством создания дополнительных рукописных вводимых данных 601, которые не соответствуют форме 201, как показано на фиг. 6. В ответ модуль 307 распознавания жеста больше не распознает рукописные данные 601 и 701 как соответствующие жесту для сохранения открытого файла. Модуль 313 обратной связи для жеста может затем обеспечить пассивную обратную связь, указывающую, что жест больше не распознается, посредством удаления текстового сообщения 501. Альтернативно модуль 313 обратной связи для жеста может обеспечить «положительную» обратную связь, подтверждающую, что жест больше не распознается, посредством отображения текстового сообщения 603, которое читается как «Отмена сохранения».
Фиг. 7 показывает пример обратной связи о жесте, которая может быть обеспечена, когда модуль 307 распознавания жеста распознает рукописные вводимые данные 203 как соответствующие двум различным жестам: жесту в форме «S», представляющему команду сохранить файл, и жесту в форме «С», представляющему команду копировать материал в системный буфер обмена. Как показано на чертеже, модуль 313 обратной связи для жеста показывает пиктограмму 701, указывающую, что рукописные вводимые данные 203 распознаются как жест, представляющий команду сохранить файл. Модуль 313 обратной связи для жеста далее дополнительно отображает пиктограмму 703, указывающую, что рукописный ввод также распознается как жест, представляющий команду сохранить данные в буфере обмена. По мере того, как пользователь продолжает создавать рукописные вводимые данные 203 в форме «S» 201, модуль 307 распознавания жеста может увеличить уровень достоверности в распознавании рукописного ввода 203 как жеста, представляющего команду сохранить файл, относительно его уровня достоверности в распознавании рукописного ввода 203 как жеста, представляющего команду копировать данные в буфер обмена. Соответственно, модуль 313 обратной связи для жеста может отличить пиктограмму 701 от пиктограммы 703 для информирования пользователя об увеличенном уровне достоверности в распознавании рукописного ввода 203 как жеста, представляющего команду сохранить файл. Например, как показано на фиг. 8, модуль 313 обратной связи для жеста может изменить уровень яркости цвета, цвет или другую особенность внешнего вида пиктограммы 701.
В некоторых вариантах осуществления изобретения модуль 313 обратной связи для жеста может даже обеспечить обратную связь о жесте во взаимодействии с другими приложениями или инструментами программного обеспечения. Например, некоторые основанные на перьевом вводе компьютеры снабжают пользователя пользовательским интерфейсом ввода, который позволяет пользователю создавать текстовые данные пером. Таким образом, этот тип компьютера может снабдить пользователя панелью 901 ввода текста, как показано на фиг. 9. Как видно на этом чертеже, панель ввода текста может показывать многие клавиши, находящиеся на стандартной клавиатуре, такие как клавиша «Enter» 903. Соответственно, если пользователь делает жест, представляющий команду, которая также представлена клавишей в панели 901 ввода текста, модуль 313 обратной связи для жеста может отличить внешний вид клавиши, соответствующей распознаваемому жесту. В показанном варианте пользователь использовал перо 166 для генерации рукописных данных 203, соответствующих жесту в форме « » 201, представляющему команду ввести данные. В ответ модуль 313 обратной связи для жеста может изменить уровень яркости цвета, цвет или другую особенность внешнего вида клавиши «Enter» 903, как показано на фиг. 9.
Далее некоторые варианты осуществления изобретения могут использовать информацию обратной связи о жесте для помощи пользователю в выполнении правильного жеста. Например, если пользователь использует перо 166 с панелью ввода текста для представления данных, модуль 313 обратной связи для жеста может показывать идеальные жесты в ответ на активацию клавиш на пользовательском интерфейсе ввода. Таким образом, если пользователь использует перо 166 для активации клавиши «Enter» 903 в панели 901 ввода текста, модуль 313 обратной связи для жеста может в ответ показать соответствующий жест в форме « » 1001, как показано на фиг. 10. Этот тип обратной связи о жесте может использоваться для эффективного обучения пользователя жестам, представляющим различные команды, что позволяет пользователю предвосхитить использование пользовательского интерфейса ввода для выполнения этих команд в будущем.
Фиг. 11А и 11В показывают еще один пример обратной связи о жесте согласно различным вариантам осуществления изобретения. Как видно на этих чертежах, пользователь использует перо для совершения жеста «нажать и держать». Более конкретно пользователь выполняет жест посредством удерживания пера 166 в единственной позиции на дигитайзере 165 в течение порогового периода времени. Этот тип жеста может использоваться, например, для запуска команды меню (часто называемой «правый щелчок») для показа меню, относящегося к объекту, показанному в точке контакта между пером 166 и дигитайзером 165. Первоначально модуль 307 распознавания жеста может не распознать жест «нажать и держать». По мере того, как пользователь продолжает удерживать перо 166 в позиции, однако, модуль 307 распознавания жеста начнет распознавать, что пользователь выполняет жест «нажать и держать». В ответ модуль 313 обратной связи для жеста показывает круговые изображения 1101, которые расположены по кольцу вокруг точки контакта между пером 166 и дигитайзером 165.
По мере того, как перо продолжает удерживаться в позиции, модуль 313 обратной связи для жеста продолжает показывать дополнительные круговые изображения для завершения кольца вокруг точки контакта, как показано на фиг. 11В. А именно количество круговых изображений 1101, составляющих кольцо, пропорционально величине времени, когда перо 166 удерживается стационарным, с показом последнего кругового изображения 1101, завершающего это кольцо, как раз перед тем, как модуль 307 распознавания жеста запускает команду, соответствующую жесту «нажать и держать». Соответственно, показ каждого дополнительного кругового изображения 1101 подтверждает пользователю, что модуль 307 распознавания жеста продолжает распознавать жест «нажать и держать». Далее каждое круговое изображение 1101 показывается через интервал времени, пропорциональный величине порогового времени, которое перо 166 должно удерживаться на месте перед запуском жеста «нажать и держать». Показ этой информации обратной связи, таким образом, информирует пользователя о том, как долго пользователь должен продолжать удерживать перо 166 на месте перед запуском жеста «нажать и держать».
Фиг. 12 показывает еще один пример обратной связи для жеста, которая может быть обеспечена согласно различным вариантам осуществления изобретения. Как показано на этом чертеже, рукописные введенные данные 203 были записаны в область 1201 пользовательского интерфейса распознавания жеста. В показанном варианте модуль 307 распознавания жеста распознал рукописные введенные данные 203 как соответствующие жесту, представляющему команду генерировать текстовый символ «А». Соответственно, модуль 313 обратной связи для жеста показывает символ «А» 1203. Следует понимать, что этот тип обратной связи для жеста может использоваться для подтверждения распознавания жестов, представляющих команды создать любое количество текстовых символов и даже команды создать два или более текстовых символов.
Заключение
Как описано выше, способы обратной связи для жеста согласно различным вариантам осуществления изобретения снабжают пользователя информацией обратной связи, информирующей пользователя относительно распознавания одного или более жестов. Эта обратная связь может быть с выгодой использована для подтверждения пользователю, что жест правильно распознается. Далее эта информация обратной связи может предупреждать пользователя о том, что желаемый жест не распознается правильно, что позволяет пользователю отменить ошибочный жест прежде, чем он запущен.
Изобретение может включать в себя элементы и этапы, описанные здесь, в какой-либо комбинации или подкомбинации. Соответственно, имеется любое число альтернативных комбинаций для определения изобретения, которые включают в себя один или более элементов из описания, включая описание, формулу изобретения и чертежи, в различных комбинациях или подкомбинациях. Специалистам в соответствующей области очевидно в свете данного описания, что другие комбинации аспектов изобретения либо по отдельности, либо в комбинации с одним или более элементами или операциями, определенными здесь, могут использоваться как модификации или изменения изобретения или как часть изобретения.
Класс G09G5/08 для управления курсором