ВЕРОЯТНОСТНОЕ ОБНАРУЖЕНИЕ КАСАНИЯ
PROBABILISTIC TOUCH DETECTION

Уровень техники
[0001] Чувствительное к касанию вычислительное устройство может использовать датчик касания и устройство отображения, чтобы предоставлять возможность пользовательского взаимодействия с графическим пользовательским интерфейсом. Датчики касания могут использовать любую из множества технологий для обнаружения сенсорных вводов данных, включающих в себя емкостные, резистивные и оптические технологии. Аналогично, пользователи могут выполнять вводы данных с помощью различных отличающихся инструментов для сенсорного ввода (ввода касанием), таких как один или более стилусов и/или человеческих пальцев.
Сущность изобретения
[0002] Раскрываются варианты осуществления, которые относятся к использованию вероятностных определений, чтобы корректировать обнаруженные местоположения сенсорного ввода в системах сенсорного ввода. Например, один раскрытый вариант осуществления предоставляет способ работы чувствительного к касаниям дисплея вычислительного устройства. Способ включает в себя отображение графического пользовательского интерфейса на чувствительном к касаниям дисплее, прием сенсорного ввода через датчик касания чувствительного к касаниям дисплея в обнаруженном местоположении, выполнение вероятностного определения предполагаемого местоположения касания на основе ввода и отображение ответа на ввод данных в скорректированном местоположении на графическом пользовательском интерфейсе, которое корректируется относительно обнаруженного местоположения на основе вероятностного определения.
[0003] Данная сущность предусмотрена для того, чтобы в упрощенной форме представить набор идей, которые дополнительно описываются ниже в подробном описании. Эта сущность не имеет намерением ни то, чтобы идентифицировать ключевые признаки или важнейшие признаки заявленного предмета изобретения, ни то, чтобы использоваться таким образом, что она ограничивает объем заявленного предмета изобретения. Кроме того, заявленный предмет изобретения не ограничен реализациями, которые разрешают какие-либо или все недостатки, отмеченные в любой части данного раскрытия сущности.
Краткое описание чертежей
[0004] Фиг. 1A-C схематично иллюстрируют примеры параллакса, который может возникать во время использования системы обнаружения касания.
[0005] Фиг. 2A и 2B показывают примерную корректировку, выполненную по отношению к обнаруженному местоположению касания на основе вероятностного определения возможного предполагаемого местоположения касания.
[0006] Фиг. 3A и 3B показывают другую примерную корректировку, выполненную по отношению к обнаруженному местоположению касания на основе вероятностного определения возможного предполагаемого местоположения касания.
[0007] Фиг. 4 показывает дополнительную примерную корректировку, выполненную по отношению к обнаруженному местоположению касания на основе вероятностного определения возможного предполагаемого местоположения касания.
[0008] Фиг. 5A показывают еще одну примерную корректировку, выполненную по отношению к обнаруженному местоположению касания на основе вероятностного определения возможного предполагаемого местоположения касания.
[0009] Фиг. 5B иллюстрирует отмену примерной корректировки на фиг. 5A через пользовательский ввод.
[0010] Фиг. 6 схематично иллюстрирует примерный набор данных местоположения касания, который может быть использован, чтобы выполнять вероятностное определение возможного предполагаемого местоположения касания в соответствии с реализацией этого изобретения.
[0011] Фиг. 7 показывает блок-схему последовательности операций, иллюстрирующую способ для определения возможного предполагаемого местоположения касания в соответствии с реализацией этого изобретения.
[0012] Фиг. 8 показывает блок-схему вычислительного устройства в соответствии с реализацией этого изобретения.
Подробное описание изобретения
[0013] Как описано выше, чувствительные к касаниям вычислительные устройства могут принимать ввод данных через устройство ввода, такое как человеческий палец или стилус. Во время сенсорного ввода может возникать различие между местоположением, в котором ввод применяется к вычислительному устройству, и местоположением, в котором ввод обнаруживается вычислительным устройством. Различные факторы могут способствовать этому эффекту, который называется в данном документе параллаксом независимо от источника различия.
[0014] Фиг. 1A-C схематично иллюстрируют чувствительный к касаниям дисплей 102 вычислительного устройства и иллюстрируют примеры того, как такой параллакс может возникать. Чувствительный к касаниям дисплей 102 содержит покрывающий лист 108 (например, стеклянный), дисплей 110 (например, LCD или OLED-дисплей) и датчик 112 касания (например, емкостной или резистивный датчик), которые вместе формируют объединенный комплект 114 дисплея и сенсорного устройства. Должно быть понятно, что датчик касания может быть расположен между покрывающим листом и дисплеем в некоторых реализациях.
[0015] В качестве первого примера параллакса фиг. 1A показывает, по ссылке 104, стилус 106, выполняющий касание в физическом местоположении 116 и обнаруживаемый посредством датчика 112 касания в обнаруженном местоположении 118. В примере по ссылке 104 обнаруженное местоположение 118 соответствует физическому местоположению 116, когда чувствительный элемент 120, расположенный в стилусе 106 и используемый посредством емкостного датчика касания, чтобы обнаруживать касание, вертикально выравнивается с кончиком стилуса, где физическое соприкосновение имеет место. По существу, дисплей 110 отображает ответ на сенсорный ввод данных в отображенном местоположении 122, которое соответствует физическому местоположению 116. В то время как отображенный ответ на касание по ссылке 104 является правильным местоположением, следует отметить, что пользователь 124 воспринимает физическое местоположение ответа, отображаемого на сенсорный ввод данных, как находящееся в воспринимаемом местоположении 126, которое смещено от отображенного местоположения 122, вследствие непрямого угла человеческого глаза относительно поверхности комплекта 114. Этот тип параллакса называется в данном документе "визуальным" параллаксом и может вынуждать пользователя выполнять сенсорные вводы данных в неправильных местоположениях.
[0016] В качестве другого примера параллакса, как указано по ссылке 128 на фиг. 1B, чувствительный элемент 120 вертикально не выравнивается с физическим местоположением 116' сенсорного ввода вследствие угловой ориентации стилуса 106 относительно поверхности покрывающего листа. Следовательно, датчик 112 касания обнаруживает сенсорный ввод в обнаруженном местоположении 118', которое отличается от физического местоположения 116', и которое также отличается от отображаемого местоположения 122' элемента пользовательского интерфейса (например, курсора, маркировки и т.д.), который отображается в ответ на обнаруженный сенсорный ввод. Этот тип параллакса называется в данном документе "аппаратным" параллаксом. Это различие может быть усугублено, когда угол между стилусом и плоскостью поверхности покрывающего листа 108 уменьшается. Пример этого показан по ссылке 130 на фиг. 1C, где относительно более значительное различие между физическим местоположением 116'' касания и обнаруженным местоположением 118'' возникает вследствие угловой ориентации стилуса, и относительно более значительное различие получается в результате между физическим местоположением 116'' и отображаемым местоположением 122'' элемента UI.
[0017] Системы сенсорного ввода могут корректировать аппаратный параллакс через калибровку, чтобы определять смещение, которое необходимо применять к обнаруживаемым сенсорным вводам. Однако, такая компенсация может быть неэффективной для различных углов касания стилуса.
[0018] Визуальный и/или аппаратный параллакс могут вызывать различные проблемы, такие как ошибочный выбор элементов пользовательского интерфейса вопреки намерению пользователя. Чтобы смягчать такие проблемы, вычислительное устройство может отображать визуальные ориентиры, такие как курсор, перекрестие и т.д., чтобы иллюстрировать обнаруженное местоположение пользователю. Однако, визуальные ориентиры могут перекрывать элементы пользовательского интерфейса, отображаемые посредством дисплея, и могут привносить задержку, когда ориентиры запаздывают за движением стилуса 106, которая может ухудшать пользовательское восприятие. Откалиброванные фиксированные смещения также могут быть применены, чтобы корректировать местоположения касаний. Однако, использование откалиброванных смещений для применения к сенсорным вводам, вместо визуальных ориентиров, может недостаточно компенсировать вариации в угловой ориентации стилуса 106, как описано выше.
[0019] Соответственно, в данном документе раскрываются примеры, которые вероятностно определяют предполагаемое местоположение касания на основе обнаруженного местоположения сенсорного ввода. Примеры, описанные в данном документе, могут смягчать параллакс, возникающий в ходе применения сенсорного ввода, без отображения визуальных ориентиров, которые ухудшают пользовательское восприятие. Фиг. 2A и 2B иллюстрируют примерную корректировку обнаруженного местоположения касания в соответствии с реализацией этого изобретения. Как показано на фиг. 2A, сенсорный ввод применяется посредством стилуса 202 к чувствительному к касаниям вычислительному устройству 204. В то время как вычислительное устройство 204 показано в форме планшетного вычислительного устройства, будет понятно, что любые другие подходящие формы вычислительных устройств находятся в рамках этого изобретения.
[0020] Вычислительное устройство 204 включает в себя дисплей 206, отображающий графический пользовательский интерфейс (GUI), включающий в себя виртуальную клавиатуру 208, которая, на основе сенсорного ввода, принимаемого от стилуса 202, может создавать текст на дисплее, например, в приложении обработки текста или электронной почты, работающем на вычислительном устройстве. Как показано, кончик стилуса физически касается сенсорного дисплея в границах отображенной клавиши "T". Однако, вследствие аппаратного параллакса, сенсорный ввод обнаруживается в местоположении между клавишами "Y" и "T". Таким образом, чтобы определять, какие из соседних клавиш пользователь возможно предполагает выбрать, вычислительное устройство 204 может включать в себя инструкции, которые являются исполняемыми, чтобы выполнять вероятностное определение предполагаемого местоположения касания на основе обнаруженного местоположения сенсорного ввода. Примерные аппаратные реализации вычислительного устройства 204 описываются ниже со ссылкой на фиг. 8.
[0021] Фиг. 2B иллюстрирует ответ, который может быть отображен на основе выполнения вероятностного определения. На этом чертеже может быть видно, что клавиша "T" отображенной клавиатуры выбирается на основе определения того, что вероятно предполагаемое местоположение касания было в границах клавиши "T".
[0022] Вероятностное определение может использовать любую подходящую информацию, чтобы определять возможное предполагаемое местоположение касания. Например, вероятностное определение может использовать в качестве входных данных обнаруженное местоположение 210 сенсорного ввода, местоположения одного или более элементов пользовательского интерфейса, отображаемых, когда сенсорный ввод принимается (например, клавиши 'T' и 'Y' на фиг. 2A и 2B), а также устанавливать ранее определенный разброс местоположений касания вокруг предполагаемого местоположения касания.
[0023] Вероятностное определение может включать в себя определение соответствующих вероятностей сенсорного ввода, предполагаемого для двух или более элементов пользовательского интерфейса. Например, могут быть определены вероятности для клавиш виртуальной клавиатуры 208 в пределах порогового расстояния от обнаруженного местоположения 210. В изображенном примере 'T' и 'Y' могут считаться возможно предполагаемыми местоположениями касания. Соответственно, вероятностные определения для каждой из этих клавиш могут быть выполнены посредством определения соответствующих расстояний (например, в направлениях x и y) между клавишами и обнаруженным местоположением 210. Будет понятно, что любое подходящее вычисление или вычисления могут быть использованы, чтобы определять вероятность или вероятности возможных предполагаемых местоположений касания, и что в некоторых реализациях различные вероятностные функции могут быть использованы в различных случаях.
[0024] В примере, показанном на фиг. 2B, вероятностное определение, выполняемое для клавиши 'T', в этом случае дает вероятность выше вероятности, предоставленной посредством вероятностного определения для клавиши 'Y'. По существу, клавиша 'T' выбирается в качестве предполагаемого местоположения касания на основе вероятностных определений. В этом примере клавиша 'T' находится ближе к обнаруженному местоположению, чем клавиша 'Y'. Однако, в некоторых случаях, клавиша, которая находится дальше от обнаруженного местоположения, может быть определена как более вероятная, в зависимости от природы используемого статистического распределения, относительных позиций обнаруженного местоположения касания по сравнению с элементами пользовательского интерфейса, вероятностной функции, используемой, чтобы определять вероятности, и потенциально других факторов.
[0025] Результатом вероятностного определения в этом случае является применение смещения обнаруженного местоположения в скорректированное местоположение (например, местоположение в границах клавиши 'Y'). В противоположность способам, которые применяют фиксированное, откалиброванное смещение по отношению к сенсорным вводам, смещение в этом случае определяется динамически и может изменяться как по величине, так и по направлению между сенсорными вводами. Дополнительно, корректировка может быть определена на основе одного или более элементов пользовательского интерфейса, отображаемых, когда принимается сенсорный ввод.
[0026] Как упомянуто выше, в некоторых реализациях пороговое условие может быть применено к элементу пользовательского интерфейса при определении того, предназначен ли обнаруженный сенсорный ввод для элемента. Например, могут быть применены пороговая минимальная вероятность, пороговое максимальное расстояние и/или другие пороговые условия. В случае, когда элементы пользовательского интерфейса не удовлетворяют каким-либо примененным пороговым условиям, ответ на сенсорный ввод может быть вместо этого отображен в обнаруженном местоположении, или вероятностное определение может все еще использоваться, чтобы определять смещение для применения.
[0027] Фиг. 3A и 3B показывают другую примерную корректировку, выполняемую по отношению к отображаемому ответу на сенсорный ввод, на основе вероятностного определения предполагаемого местоположения касания. Как видно на фиг. 3A, сенсорный ввод применяется посредством стилуса 202 к сенсорному (чувствительному к касаниям) вычислительному устройству 204 в обнаруженном местоположении 302. Аналогично обнаруженному местоположению 210, обнаруженное местоположение 302 лежит между клавишами 'Y' и 'T'. В этом примере, в отличие от примера на фиг. 2A и 2B, обнаруженное местоположение 302 совпадает с физическим местоположением, в котором происходит касание. Однако, вследствие оптического параллакса, пользователь касается дисплея в неправильном местоположении, воспринимая касание как находящееся в пределах клавиши 'Y'. В этом примере вероятностное определение, выполняемое для клавиши 'Y', дает вероятность выше вероятности, которая предоставлена посредством вероятностного определения, выполненного для клавиши 'T'. Соответственно, клавиша 'Y' выбирается в качестве предполагаемого местоположения касания. Таким образом, ответ на сенсорный ввод отображается в скорректированном местоположении 304, имеющем смещение как по направлению, так и по величине, отличное от смещения, примененного в примере на фиг. 2A-2B.
[0028] В некоторых реализациях вероятностное определение может быть дополнительно основано на контексте GUI, представляемого посредством дисплея 206. Любая подходящая контекстная информация может быть использована. В качестве одного примера, каждая клавиша виртуальной клавиатуры 208 может иметь ассоциированную частоту выбора. Таким образом, частота выбора может быть использована, чтобы взвешивать вероятностное определение, так что более часто выбираемая клавиша может быть взвешена с большим коэффициентом, чем менее часто выбираемая клавиша. В качестве другого примера, контекстная информация может содержать информацию, относящуюся к другим принимаемым пользовательским вводам. Например, клавиши на виртуальной клавиатуре 208, которые заканчивают или иначе сочетаются с незаконченным словом, вводимым в настоящий момент через виртуальную клавиатуру 208, могут быть взвешены выше клавиш, которые таковыми не являются. В качестве другого примера, корректировки в обнаруженных местоположениях касания могут быть определены на основе, по меньшей мере, частично, местоположения на дисплее 206, в котором сенсорный ввод был принят - например, другое смещение может быть определено для вводов в верхнем левом квадранте дисплея, чем для сенсорных вводов, принимаемых в нижнем правом квадранте дисплея. Аналогично, различные статистические распределения могут быть использованы в качестве входных данных для вероятностных определений в зависимости от местоположения на дисплее 206, в котором сенсорный ввод принимается.
[0029] Подходы, описанные в данном документе, также могут быть применены к вводам с "наведением курсора", в которых устройство ввода наводит курсор сверху, но не выполняет физическое соприкосновение с вычислительным устройством. Термины "сенсорный ввод" и т.п., когда используются в данном документе, ссылаются как на физическое касание, так и на ввод с наведением курсора. Таким образом, в некоторых реализациях, вычислительное устройство 204 может обнаруживать приближение объекта (например, стилуса, пальца) к сенсорному дисплею и выполнять множество вероятностных определений предполагаемых местоположений касания объекта с частотой дискретизации, когда объект приближается к датчику касания. В некоторых примерах вероятностные определения могут быть определены во время приближения объекта для сигналов, сформированных в датчике касания посредством объекта, который превысил пороговое отношение сигнал-шум (SNR), а не для сигналов, которые падают ниже порогового SNR.
[0030] Фиг. 4 показывает еще один пример корректировки отображаемого ответа на обнаруженный сенсорный ввод в соответствии с реализацией этого изобретения. Здесь, геометрическая форма 402 была ранее нарисована на дисплее 206 вычислительного устройства 204 в ответ на сенсорный ввод свободной формы посредством стилуса 202, и стилус был поднят от дисплея 206 после рисования формы 402. Стилус 202 затем приводится в соприкосновение с дисплеем 206 еще раз, в обнаруженном местоположении 404, которое отделено от конечной точки 406 формы 402. В ответ на прием этого сенсорного ввода вероятностное определение предполагаемого местоположения касания выполняется на основе обнаруженного местоположения 404 и формы 402, используя в качестве входных данных ранее активированную и активную в настоящий момент форму 402. На основе вероятностного определения определяется, что предполагаемое местоположение касания соответствует ранее активированному местоположению касания или элементу пользовательского интерфейса, который в настоящий момент находится в активном состоянии, а именно, конечной точке 406 ранее выполненного пользовательского ввода, формирующего форму 402. Таким образом, сенсорный ввод может быть "притянут" к ранее выполненному пользовательскому вводу, предоставляя возможность в этом примере пользователю возобновлять рисование формы 402. Пример реализации такого ответа на притягивание описывается более подробно ниже.
[0031] Фиг. 5A показывает другой пример корректировки отображаемого ответа на обнаруженный сенсорный ввод на основе вероятностного определения возможного предполагаемого местоположения касания. В этом примере текст "Dial" (набор номера), за исключением точки над 'i', был отображен на дисплее 206 вычислительного устройства 204 в ответ на сенсорный ввод, принятый посредством стилуса 202. Чтобы закончить текст и нарисовать точку над 'i', сенсорный ввод применяется в обнаруженном местоположении 502, которое отделено от 'i'. В ответ на прием этого сенсорного ввода вероятностное определение предполагаемого местоположения касания может приводить в результате к тому, что отображаемое местоположение притягивается к ранее нанесенной и еще активной конечной точке символа 'i'. Соответственно, может быть возможным, что ответ на сенсорный ввод отображается в скорректированном местоположении 504, так что ввод ошибочно притягивается к палочке символа 'i'. Однако, в этом случае, пользователь не имел намерением выполнять ввод в скорректированном местоположении 504. По существу, пользователь может выбирать выполнение отменяющего ввода, указывающего, что сенсорный ввод был интерпретирован неправильно. Отменяющий ввод может быть выполнен любым подходящим образом, например, посредством кнопки 506 отмены, кнопки стирания предыдущего символа, управления стилусом 202 в качестве ластика и т.д.
[0032] В ответ на прием отменяющего ввода ответ на сенсорный ввод снова отображается в обнаруженном местоположении 502, как показано на фиг. 5B, предоставляя возможность отображения точки над 'i'. Дополнительно, в некоторых примерах, отменяющий ввод также может выключать вероятностное определение для одного или более последующих сенсорных вводов, так что ответ на последующий ввод отображается в обнаруженном местоположении вместо скорректированного местоположения. В некоторых реализациях элементы управления могут быть отображены в GUI, представленном посредством дисплея 206, предоставляющие возможность пользователю явно включать и выключать корректировку и/или притягивание местоположения сенсорного ввода для сенсорного ввода.
[0033] Как упомянуто выше, вероятностное определение возможного предполагаемого местоположения касания может использовать ввод ранее определенного набора данных о местоположении сенсорного ввода. Фиг. 6 схематично иллюстрирует пример предварительно определенного набора обнаруженных местоположений 602 касания около предполагаемого местоположения касания 604, который может быть использован в качестве такого статистического распределения. В этом примере предполагаемое местоположение касания 604 может соответствовать, например, центру элемента пользовательского интерфейса, представленному на GUI.
[0034] Набор ранее определенных местоположений касания может быть изначально сформирован через тестирование, например, во время разработки чувствительной к касаниям системы. Набор данных дополнительно может быть обновлен во времени на основе сенсорных вводов, принимаемых через датчик касания вычислительного устройства 204. Например, наблюдаемые расстояния и направления между обнаруженными местоположениями касания и часто выбираемыми клавишами на виртуальной клавиатуре 208 могут быть добавлены к существующим расстояниям между обнаруженными местоположениями 602 касания и предполагаемым местоположением касания 604, пока касания не были отменены. При обновлении набора данных часто выбираемые элементы пользовательского интерфейса могут быть использованы для получения данных с тем, чтобы получать больше данных в единицу времени. Аналогично, элементы пользовательского интерфейса в различных отображаемых местоположениях могут быть выбраны, поскольку характеристики разброса могут изменяться в зависимости от местоположения на экране. Нормальное распределение разброса может быть допустимым в некоторых реализациях, и параметры, такие как среднее расстояние и стандартное отклонение (также как и другие параметры устройства, такие как угол стилуса), могут обновляться на периодической основе.
[0035] Статистическое распределение также может быть основано на других критериях. Критерии могут включать в себя, например, размер стилуса 202 (например, размер кончика стилуса) и/или угол, под которым стилус ориентируется относительно поверхности вычислительного устройства 204. Статистическое распределение может также изменяться в зависимости от размера, формы и/или типа элемента пользовательского интерфейса, с которым его расстояния ассоциируются. Кроме того, два или более статистических распределения могут быть использованы в качестве входных данных для вероятностных определений, выполняемых на вычислительном устройстве 204. Например, статистическое распределение, используемое для данного вероятностного определения, может изменяться в зависимости от местоположения, в котором сенсорный ввод принимается на вычислительном устройстве.
[0036] Фиг. 7 показывает блок-схему последовательности операций, иллюстрирующую способ 700 для вероятностного определения предполагаемого местоположения касания в соответствии с реализацией этого изобретения. Способ 700 может быть выполнен на вычислительном устройстве через выполнение инструкций, сохраненных в подсистеме хранения данных вычислительного устройства.
[0037] На этапе 702 способ 700 содержит отображение GUI на чувствительном к касаниям дисплее (например, дисплее 206 на фиг. 2) вычислительного устройства (например, вычислительного устройства 204 на фиг. 2). GUI может включать или может не включать в себя один или более элементов пользовательского интерфейса, таких как одна или более клавиш виртуальной клавиатуры (например, виртуальной клавиатуры 208 на фиг. 2). На этапе 704 сенсорный ввод принимается через датчик касания вычислительного устройства в обнаруженном местоположении. В некоторых примерах касание может быть физическим касанием на поверхности сенсорного дисплея. В других примерах прием сенсорного ввода может включать в себя, на этапе 706, обнаружение ввода с наведением курсора от объекта, когда объект приближается к датчику касания.
[0038] Продолжая, на этапе 710, способ 700 содержит выполнение вероятностного определения предполагаемого местоположения касания на основе сенсорного ввода, принятого на этапе 704. В некоторых реализациях, единственное, или фиксированное число, вероятностного определения(ий) может быть выполнено для каждого обнаруженного сенсорного ввода, когда сенсорный ввод касается чувствительного к касаниям дисплея. В других реализациях выполнение вероятностного определения может включать в себя, на этапе 712, выполнение множества вероятностных определений предполагаемых местоположений касания с частотой дискретизации, например, когда ввод с наведением курсора приближается к датчику касания. В таких реализациях вероятностные определения могут быть выполнены на основе того, превышают ли сигналы, индуцируемые в датчике касания посредством ввода с наведением курсора, предварительно определенное SNR, как описано выше. Дополнительно, в некоторых реализациях, как указано на этапе 714, вероятностное определение может использовать контекст GUI, отображенного на этапе 702, в качестве входных данных, как описано выше. Дополнительно, в некоторых примерах, вероятностное определение может включать в себя, на этапе 716, использование статистического распределения, содержащего набор местоположений касаний (например, в форме смещений) относительно возможного предполагаемого местоположения касания в качестве входных данных для вероятностного определения.
[0039] В некоторых реализациях способ 700 может содержать, на этапе 718, определение того, удовлетворяет ли результат, предоставленный посредством вероятностного определения, выполненного на этапе 710, пороговому условию, такому как минимальная вероятность. В других реализациях такое пороговое значение может не применяться.
[0040] Продолжая, если определяется, что вероятность, предоставленная посредством вероятностного определения, не превышает пороговое условие, способ 700 переходит к этапу 720, где ответ на сенсорный ввод отображается в обнаруженном местоположении. С другой стороны, если определяется, что вероятность, предоставленная посредством вероятностного определения, превышает пороговое условие, способ 700 необязательно переходит к этапу 722, где определяется, удовлетворяют ли какие-либо ранее активированные местоположения сенсорного ввода, которые в настоящее время активны, пороговому условию (например, пороговому расстоянию, пороговой вероятности и т.д.). Если не существуют ранее активированные местоположения сенсорного ввода, которые активны в настоящий момент, и которые удовлетворяют пороговому условию, тогда ответ на сенсорный ввод отображается в скорректированном местоположении, соответствующем результату вероятностного определения на этапе 718. С другой стороны, если существуют такие ранее активированные местоположения сенсорного ввода, тогда способ содержит, на этапе 725, отображение ответа на сенсорный ввод в скорректированном местоположении, соответствующем ранее активированному местоположению касания, как указано по ссылке 724.
[0041] Как упомянуто выше, в некоторых случаях вероятностное определение возможного предполагаемого местоположения касания может приводить в результате к корректировке, которая не соответствует фактическому намерению пользователя. В таких случаях пользователь может отменять корректировку. По существу, способ 700 содержит, на этапе 726, определение того, принимается ли отменяющий пользовательский ввод. Если отменяющий пользовательский ввод не принимается, статистическое распределение, используемое для вероятностного определения, может быть обновлено на этапе 728 на основе сенсорного ввода, принятого на этапе 704. Если, однако, отменяющий ввод был принят, тогда способ 700 переходит к этапу 730, где ответ на отменяющий ввод отображается в обнаруженном местоположении. Дополнительно, на этапе 732, ответ на последующий сенсорный ввод также может быть отображен в обнаруженном местоположении.
[0042] В некоторых вариантах осуществления способы и процессы, описанные в данном документе, могут быть привязаны к вычислительному устройству из одного или более вычислительных устройств. В частности, такие способы и процессы могут быть реализованы как компьютерная прикладная программа или служба, прикладной программный интерфейс (API), библиотека и/или другой компьютерный программный продукт.
[0043] Фиг. 8 схематично показывает неограничивающий вариант осуществления вычислительного устройства 800, которое может совершать один или более способов и процессов, описанных выше. Вычислительное устройство 800 показано в упрощенной форме. Вычислительное устройство 800 может принимать форму одного или более персональных компьютеров, серверных компьютеров, планшетных компьютеров, домашних развлекательных компьютеров, сетевых вычислительных устройств, игровых устройств, мобильных вычислительных устройств, устройств мобильной связи (например, смартфонов), и/или других вычислительных устройств, имеющих сенсорные экраны (например, приборы, такие как термостаты, сигнализаторы, кухонные приборы, автомобильные компьютеры, другие приборы с встроенными вычислительными устройствами, управляемыми с помощью сенсорного экрана, и т.д.).
[0044] Вычислительное устройство 800 включает в себя логическую подсистему 802 и подсистему 804 хранения данных. Вычислительное устройство 800 может необязательно включать в себя подсистему 806 отображения, подсистему 808 ввода, подсистему 810 связи и/или другие компоненты, непоказанные на фиг. 8.
[0045] Логическая подсистема 802 включает в себя одно или более физических устройств, сконфигурированных, чтобы выполнять инструкции. Например, логическая машина может быть сконфигурирована, чтобы выполнять инструкции, которые являются частью одного или более приложений, служб, программ, алгоритмов, библиотек, объектов, компонентов, структур данных или других логических конструкций. Такие инструкции могут быть реализованы, чтобы выполнять, задачу, реализовывать тип данных, изменять состояние одного или более компонентов, добиваться технического эффекта или иначе приходить к желаемому результату.
[0046] Логическая машина может включать в себя один или более процессоров, сконфигурированных, чтобы выполнять инструкции программного обеспечения. Дополнительно или альтернативно, логическая машина может включать в себя одну или более аппаратных или микропрограммных логических машин, выполненных с возможностью приводить в исполнение аппаратные или микропрограммные инструкции. Процессоры логической машины могут быть одноядерными или многоядерными, и инструкции, выполняемые в них, могут быть сконфигурированы для последовательной, параллельной и/или распределенной обработки. Отдельные компоненты логической машины необязательно могут быть распределены между двумя или более отдельных устройств, которые могут быть расположены удаленно и/или сконфигурированы с возможностью координированной обработки. Аспекты логической машины могут быть виртуализированы и выполнены посредством удаленно доступных, сетевых вычислительных устройств, сконфигурированных в конфигурацию облачного вычисления.
[0047] Подсистема 804 хранения данных включает в себя одно или более физических устройств, сконфигурированных, чтобы удерживать инструкции, исполняемые логической машиной, чтобы реализовывать способы и процессы, описанные в данном документе. Когда такие способы и процессы реализуются, состояние подсистемы 804 хранения данных может быть преобразовано - например, чтобы хранить различные данные.
[0048] Подсистема 804 хранения данных может включать в себя съемные и/или встроенные устройства. Подсистема 804 хранения данных может включать в себя оптическое запоминающее устройство (например, CD, DVD, HD-DVD, диск Blu-Ray и т.д.), полупроводниковое запоминающее устройство (например, RAM, EPROM, EEPROM и т.д.) и/или магнитное запоминающее устройство (например, накопитель на жестком диске, накопитель на гибком диске, ленточный накопитель, MRAM и т.д.), среди прочих. Подсистема 804 хранения данных может включать в себя энергозависимые, энергонезависимые, динамические, статические, для чтения/записи, только для чтения, со случайным доступом, с последовательным доступом, адресуемые по местоположению, адресуемые по файлу и/или адресуемые по контенту устройства.
[0049] Будет понятно, что подсистема 804 хранения данных включает в себя одно или более физических устройств. Однако, аспекты инструкций, описанные в данном документе, альтернативно могут распространяться посредством среды передачи данных (например, электромагнитного сигнала, оптического сигнала и т.д.), которая не удерживается посредством физического носителя в течение определенного срока действия.
[0050] Аспекты логической подсистемы 802 и подсистемы 804 хранения данных могут быть объединены вместе в один или более аппаратных логических компонентов. Такие аппаратные логические компоненты могут включать в себя программируемые пользователем вентильные матрицы (FPGA), программные и прикладные специализированные интегральные схемы (PASIC/ASIC), программные и прикладные специализированные стандартные продукты (PSSP/ASSP), систему на кристалле (SOC) и сложные программируемые логические устройства (CPLD), например.
[0051] Термины "способ" и "программа" могут быть использованы, чтобы описывать аспект вычислительного устройства 800, реализованный, чтобы выполнять конкретную функцию. В некоторых случаях, способ или программа может быть реализован посредством логической подсистемы 802, выполняющей инструкции, хранимые посредством подсистемы 804 хранения данных. Будет понятно, что различные способы и/или программы могут быть реализованы из одного и того же приложения, службы, блока кода, объекта, библиотеки, алгоритма, API, функции т.д. Аналогично, один и тот же способ и/или программа могут быть реализованы посредством различных приложений, служб, блоков кода, объектов, алгоритмов, API, функций и т.д. Термины "способ" и "программа" могут охватывать отдельные или группы исполняемых файлов, файлов данных, библиотек, драйверов, сценариев, записей базы данных и т.д.
[0052] Будет понятно, что "служба", когда используется в данном документе, является прикладной программой, выполняемой в течение множества пользовательских сеансов. Служба может быть доступна одному или более компонентам системы, программам и/или другим службам. В некоторых реализациях служба может работать на одном или более серверных вычислительных устройствах.
[0053] Подсистема 806 отображения может использоваться, чтобы представлять визуальное представление данных, хранимых посредством подсистемы 804 хранения данных. Это визуальное представление может принимать форму GUI. Когда описанные в данном документе способы и процессы изменяют данные, хранимые машиной хранения данных, и, таким образом, преобразуют состояние машины хранения данных, состояние подсистемы 806 отображения может аналогично преобразовываться, чтобы визуально представлять изменения в лежащих в основе данных. Подсистема 806 отображения может включать в себя одно или более устройств отображения, использующих фактически любой тип технологии. Такие устройства отображения могут быть объединены с логической подсистемой 802 и/или подсистемой 804 хранения данных в совместно используемой оболочке, или такие устройства отображения могут быть периферийными устройствами отображения.
[0054] Подсистема 808 ввода может содержать или взаимодействовать с одним или более устройствами пользовательского ввода, такими как сенсорный экран дисплея, клавиатура, мышь или игровой контроллер. В некоторых вариантах осуществления подсистема ввода может содержать или взаимодействовать с выбранными компонентами естественного пользовательского ввода (NUI). Такие компоненты могут быть интегрированными или периферийными, и преобразование и/или обработка действий ввода может управляться встроенным или внешним образом. Например, NUI-компоненты могут включать в себя микрофон для распознавания речи и/или голоса; инфракрасную, цветную, стереоскопическую и/или глубинную камеру для машинного зрения и/или распознавания жестов; устройство отслеживания головы, устройство отслеживания глаз, акселерометр и/или гироскоп для обнаружения движения и/или распознавания намерения; также как и компоненты, чувствительные к электрическому полю, для оценки активности мозга.
[0055] Когда включена, подсистема 810 связи может быть сконфигурирована, чтобы соединять с возможностью связи вычислительное устройство 800 с одним или более другими вычислительными устройствами. Подсистема 810 связи может включать в себя проводные и/или беспроводные устройства связи, совместимые с одним или более различными протоколами связи. В качестве неограничивающих примеров, подсистема связи может быть сконфигурирована для связи через беспроводную телефонную сеть или проводную или беспроводную локальную или глобальную вычислительную сеть. В некоторых вариантах осуществления подсистема связи может предоставлять возможность вычислительному устройству 800 отправлять и/или принимать сообщения к и/или от других устройств по сети, такой как Интернет.
[0056] Будет понятно, что конфигурации и/или подходы, описанные в данном документе, представлены для примера, и что эти конкретные варианты осуществления или примеры не должны рассматриваться в ограничивающем смысле, поскольку возможны многочисленные вариации. Конкретные процедуры или способы, описанные в данном документе, могут представлять одну или более из любого числа стратегий обработки. По существу, различные иллюстрированные и/или описанные действия могут быть выполнены в иллюстрированной и/или описанной последовательности, в других последовательностях, параллельно или исключены. Аналогично, порядок вышеописанных процессов может быть изменен.
[0057] Предмет изучения настоящего открытия включает в себя все новые и неявные комбинации и вспомогательные комбинации различных процессов, систем и конфигураций, и другие признаки, функции, действия и/или свойства, раскрытые в данном документе, а также любые или все их эквиваленты.