Контекстный пользовательский интерфейс
Иллюстрации
Показать всеИзобретение относится к области вычислительной техники. Технический результат заключается в оптимизации интерфейса для представления контекста данных изображения. Технический результат достигается за счет определения настоящего контекста для пользовательского интерфейса посредством анализа данных изображения, описывающих окружающую обстановку, ближайшую к пользовательскому интерфейсу; определения, что левая рука пользователя проходит между вторым пользователем и пользовательским интерфейсом при выполнении жеста, посредством анализа данных изображения; и после определения того, что левая рука пользователя проходит между вторым пользователем и пользовательским интерфейсом, автоматического генерирования обновленного пользовательского интерфейса, где размещение интерфейсных объектов изменено для обеспечения пользователю возможности выполнять жесты правой рукой вместо жестов левой рукой. 3 н. и 17 з.п. ф-лы, 15 ил.
Реферат
Пользовательские интерфейсы для телевизоров, игровых консолей, медиаплееров, персональных компьютеров и других устройств стали слишком сложными. Устройства имеют все больше и больше приложений и программ, посредством которых пользователи могут обращаться к непрерывно расширяющемуся количеству контента. Кроме того, пользователи имеют многочисленные механизмы для взаимодействия с интерфейсами. Интерфейс, приспособленный для одного вида взаимодействия, может не быть подходящим или оптимизированным для второго вида взаимодействия.
Сущность изобретения
Этот раздел «Сущность изобретения» предназначен для представления выбора понятий в упрощенном виде, которые дополнительно описываются ниже в подробном описании. Этот раздел «Сущность изобретения» не предназначен ни для определения ключевых признаков или существенных признаков заявленного изобретения, ни для использования изолированно в качестве средства при определении объема заявленного изобретения.
Варианты осуществления настоящего изобретения анализируют контекст, в котором пользователь взаимодействует с интерфейсом компьютера и автоматически оптимизирует интерфейс для контекста. Контроллер или режим управления, который пользователь выбирает для взаимодействия, может частично определять контекст. Примеры режимов управления включают в себя выполнение жестов, звуковое управление, использование устройств-компаньонов и использование специализированных устройств управления, таких как игровые контроллеры и дистанционное управление. Разные устройства ввода предназначены для разных задач. Тем не менее, пользователь часто пытается выполнить задачу, используя ввод управления, который не приспособлен для этой задачи. Варианты осуществления настоящего изобретения изменяют характеристики пользовательского интерфейса, чтобы сделать более легким завершение пользователем предполагаемой задачи, используя устройство ввода по выбору пользователя.
В дополнение к адаптации интерфейса к выбранному механизму взаимодействия, интерфейсы могут дополнительно оптимизироваться на основе окружающих условий. Окружающие условия включают в себя расположение человека относительно других людей и объектов в комнате, а также контент, отображаемый на одном или нескольких интерфейсах. Например, интерактивное меню может быть представлено на части экрана, которая не загораживается объектом или человеком, стоящим между экраном и пользователем, который пытается взаимодействовать с контентом на экране. Таким образом, если нижний правый угол экрана был загорожен человеком, тогда справочная информация будет представлена на другой части экрана. Аналогично, если пользователь имеет телефон или другой объект в своей правой руке, тогда меню на основе жестов может оптимизироваться для использования левой рукой. Например, объекты меню могут быть перемещены к левой стороне экрана, так что пользователю нет необходимости тянуться поперек своего туловища, чтобы виртуально выбрать объекты интерфейса.
Варианты осуществления настоящего изобретения могут использовать различные сигналы для выяснения настоящего контекста. Примерные сигналы включают в себя данные цветного изображения, собранные камерой, данные 3D-изображения, собранные камерой с глубиной или другим 3D-устройством сбора данных, звуковые сигналы и информацию о состоянии от одного или нескольких вычислительных устройств и контроллеров в окрестности.
Краткое описание чертежей
Ниже подробно описываются варианты осуществления изобретения с ссылкой на прилагаемые фигуры чертежей, на которых:
фиг. 1 представляет собой блок-схему примерной вычислительной среды, подходящей для реализации вариантов осуществления изобретения;
фиг. 2 представляет собой диаграмму, иллюстрирующую многочисленные среды связи между игровыми консолями, игровыми услугами и устройствами-компаньонами, согласно варианту осуществления настоящего изобретения;
фиг. 3 представляет собой диаграмму, изображающую вычислительную среду, подходящую для использования контекста взаимодействия, чтобы оптимизировать пользовательский интерфейс, согласно варианту осуществления настоящего изобретения;
фиг. 4 представляет собой диаграмму, изображающую пользователя, взаимодействующего с интерфейсом, оптимизированным для использования жестов, согласно варианту осуществления настоящего изобретения;
фиг. 5 представляет собой диаграмму, изображающую пользователя, взаимодействующего с интерфейсом, который автоматически оптимизируется для использования с устройством-компаньоном, которое распознается игровой консолью, согласно варианту осуществления настоящего изобретения;
фиг. 6 представляет собой диаграмму, изображающую пользователя, взаимодействующего со справочным интерфейсом, оптимизированным для использования с игровым контроллером, согласно варианту осуществления настоящего изобретения;
фиг. 7 представляет собой диаграмму, изображающую пользователя, взаимодействующего со справочным интерфейсом, оптимизированным для использования со звуковым управлением, согласно варианту осуществления настоящего изобретения;
фиг. 8 представляет собой диаграмму, изображающую пользователя, взаимодействующего со справочным интерфейсом, оптимизированным для использования с устройством-компаньоном, согласно варианту осуществления настоящего изобретения;
фиг. 9 представляет собой диаграмму, изображающую пользователя, взаимодействующего с интерфейсом, оптимизированным для жестов левой рукой, согласно варианту осуществления настоящего изобретения;
фиг. 10 представляет собой диаграмму, изображающую пользователя, взаимодействующего с интерфейсом, оптимизированным для жестов правой рукой, согласно варианту осуществления настоящего изобретения;
фиг. 11 представляет собой диаграмму, изображающую пользователя, взаимодействующего с интерфейсом, оптимизированным в результате объекта, манипулируемого пользователем, согласно варианту осуществления настоящего изобретения;
фиг. 12 представляет собой диаграмму, иллюстрирующую использование идентификации объекта или одежды в окружающей обстановке, чтобы генерировать соответствующий интерфейс, согласно варианту осуществления настоящего изобретения;
фиг. 13 представляет собой блок-схему последовательности операций, изображающую способ представления интерфейса, который оптимизирован для настоящего контекста, согласно варианту осуществления настоящего изобретения;
фиг. 14 представляет собой блок-схему последовательности операций, изображающую способ представления интерфейса, который оптимизирован для настоящего контекста, согласно варианту осуществления настоящего изобретения; и
фиг. 15 представляет собой блок-схему последовательности операций, изображающую способ представления интерфейса, который оптимизирован для настоящего контекста, согласно варианту осуществления настоящего изобретения.
Подробное описание
Описывается существо вариантов осуществления изобретения, при этом специфичность в данном документе удовлетворяет требованиям закона. Однако предполагается, что само описание не ограничивает объем данного патента. Скорее, изобретатели рассматривали, что заявленное изобретение также может воплощаться другими способами, включая разные этапы или комбинации этапов, подобно тем, которые описаны в данном документе, вместе с другими настоящими или будущими технологиями. Кроме того, хотя термины «этап» и/или «блок» могут использоваться в данном документе для ассоциации разных элементов применяемых способов, термины не должны интерпретироваться как подразумевающие какой-либо конкретный порядок среди или между различными этапами, описанными в данном документе, исключая и кроме, когда явно описывается порядок индивидуальных этапов.
Варианты осуществления настоящего изобретения анализируют контекст, в котором пользователь взаимодействует с интерфейсом компьютера и автоматически оптимизирует интерфейс для контекста. Взаимодействия пользователя с пользовательским интерфейсом могут включать в себя предоставление разных степеней внимания интерфейсу, простирающихся от игнорирования интерфейса до полного внимания. Контроллер или режим управления, который пользователь выбирает для взаимодействия, может определять, в частности, контекст. Примеры режимов управления включают в себя выполнение жестов, звуковое управление, использование устройств-компаньонов и использование специализированных устройств управления, таких как игровые контроллеры и дистанционное управление. Разные устройства ввода предназначены для разных задач. Кроме того, пользователь часто пытается выполнить задачу, используя ввод управления, который не адаптирован для задачи. Варианты осуществления настоящего изобретения изменяют характеристики пользовательского интерфейса, чтобы сделать более легким завершение пользователей предполагаемой задачи, используя устройство ввода по выбору пользователя.
В дополнение к адаптированию интерфейса к выбранному механизму взаимодействия интерфейсы могут дополнительно оптимизироваться на основе окружающих условий. Окружающие условия включают в себя расположение человека относительно других людей и объектов в комнате, а также контент, отображаемый на одном или нескольких интерфейсах. Например, интерактивное меню может быть представлено на части экрана, которая не загораживается объектом или человеком, стоящим между экраном и пользователем, который пытается взаимодействовать с контентом на экране. Таким образом, если нижний правый угол экрана был загорожен человеком, тогда справочная информация будет представлена на другой части экрана. Аналогично, если пользователь имеет телефон или другой объект в своей правой руке, тогда меню на основе жестов может оптимизироваться для использования левой рукой. Например, объекты меню могут быть перемещены на левую сторону экрана, так что пользователю нет необходимости тянуться поперек своего туловища, чтобы виртуально выбрать объекты интерфейса.
Варианты осуществления настоящего изобретения могут использовать различные сигналы для выяснения настоящего контекста. Примерные сигналы включают в себя данные цветного изображения, собранные камерой, данные 3D-изображения, собранные камерой с глубиной или другим 3D-устройством сбора данных, звуковые сигналы и информация о состоянии от одного или нескольких вычислительных устройств и контроллеров поблизости.
Кратко описав обзор вариантов осуществления изобретения, ниже описывается примерная операционная среда, подходящая для использования при реализации вариантов осуществления изобретения.
Примерная операционная среда
Ссылаясь на чертежи в целом, и первоначально на фиг. 1 в частности, примерная операционная среда для реализации вариантов осуществления изобретения показана и обозначена, в целом, как вычислительное устройство 100. Вычислительное устройство 100 представляет собой только один пример подходящей вычислительной среды и, как подразумевается, не предполагает никакого ограничения на объем использования или функциональные возможности изобретения. Вычислительное устройство 100 также не должно интерпретироваться как имеющее какую-либо зависимость или требование, относящееся к любому одному или комбинации изображенных компонентов.
Изобретение может быть описано в общем контексте компьютерного кода или используемых машиной инструкций, включая исполняемые компьютером инструкции, такие как программные компоненты, исполняемые компьютером или другой машиной, такой как персональный помощник по обработке данных или другое карманное устройство. Обычно, программные компоненты, включающие в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.п., ссылаются на код, который выполняет конкретные задачи или реализует конкретные абстрактные типы данных. Варианты осуществления изобретения могут быть выполнены на практике в различных системных конфигурациях, включая карманные устройства, бытовую электронику, компьютеры общего назначения, специализированные вычислительные устройства и т.д. Варианты осуществления изобретения также могут быть выполнены на практике в распределенных вычислительных средах, где задачи выполняются устройствами с удаленной обработкой, которые связаны посредством сети передачи данных.
Продолжая ссылаться на фиг. 1, вычислительное устройство 100 включает в себя шину 110, которая непосредственно или косвенно связывает следующие устройства: память 112, один или несколько процессоров 114, один или несколько компонентов 116 представления, порты 118 ввода/вывода (I/O), компоненты 120 I/O, иллюстративный источник 122 питания, радиостанцию 124 и датчик 126. Шина 110 представляет то, что может представлять собой одну или несколько шин (таких как адресная шина, шина данных или их комбинацию). Хотя различные блоки на фиг. 1 показаны с линиями ради ясности, в действительности, схематическое изображение различных компонентов не является таким ясным, и, образно, линии, более точно, были бы серыми и нечеткими. Например, можно рассматривать компонент представления, такой как устройство отображения, представляющим собой компонент 120 I/O. Также, процессоры имеют память. Изобретатели изобретения признают, что такая сущность графических материалов, и повторяют, что диаграмма на фиг. 1 является просто иллюстративной примерного вычислительного устройства, которое может использоваться в связи с одним или несколькими вариантами осуществления изобретения. Не делается различие между такими категориями как «рабочая станция», «сервер», «портативный компьютер», «карманное устройство» и т.д., так как все рассматриваются в пределах объема фиг. 1 и ссылки на «компьютер» или «вычислительное устройство».
Вычислительное устройство 100 обычно включает в себя многочисленные считываемые компьютером среды. Считываемые компьютером среды могут представлять собой любые доступные среды, к которым может обращаться вычислительное устройство 100, и которые включают в себя как энергозависимые, так и энергонезависимые среды, съемные и несъемные среды. В качестве примера и не ограничения, считываемые компьютером среды могут содержать запоминающие среды компьютера и среды передачи данных. Запоминающие среды компьютера включают в себя как энергозависимые, так и энергонезависимые, съемные и несъемные носители, реализуемые любым способом или по любой технологии для хранения информации, такой как считываемые компьютером инструкции, структуры данных, программные модули или другие данные.
Запоминающие среды компьютера включают в себя оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), электрически стираемое программируемое ROM (EEPROM), флэш-память или другую технологию памяти, компакт-диск (CD-ROM), цифровые многофункциональные диски (DVD) или другое оптическое дисковое запоминающее устройство, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства. Запоминающие среды компьютера не содержат распространяемый сигнал данных.
Среды передачи данных обычно воплощают в себе считываемые компьютером инструкции, структуры данных, программные модули или другие данные в модулированном данными сигнале, таком как несущая волна или другой транспортный механизм, и включают в себя любые среды доставки информации. Термин «модулированный данными сигнал» означает сигнал, который имеет одну или несколько из своих характеристик, устанавливаемых или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, и не ограничения, среды передачи данных включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные (RF), инфракрасные и другие беспроводные среды. Комбинации любых из вышеперечисленных также должны быть включены в объем считываемых компьютером сред.
Память 112 включает в себя считываемые компьютером среды в виде энергозависимой и/или энергонезависимой памяти. Память 112 может быть съемной, несъемной или их комбинацией. Примерная память включает в себя твердотельную память, жесткие диски, приводы на оптических дисках и т.д. Вычислительное устройство 100 включает в себя один или несколько процессоров 114, которые считывают данные с различных объектов, таких как шина 110, память 112 или компоненты 120 I/O. Компонент(ы) 116 представления представляют указания данных для пользовательского или другого устройства. Примерные компоненты 116 представления включают в себя устройство отображения, громкоговоритель, печатающий компонент, вибрирующий компонент и т.д. Порты 118 I/O позволяют вычислительному устройству 100 логически соединяться с другими устройствами, включая компоненты 120 I/O, некоторые из которых могут быть встроенными. Иллюстративные компоненты 120 I/O включают в себя микрофон, джойстик, игровой планшет, сканер, аппаратную/программную кнопку, дисплей с сенсорным экраном и т.д.
Радиостанция 124 передает и принимает радиосвязь. Вычислительное устройство 100 может представлять собой беспроводный терминал, приспособленный к приему связи и мультимедиа по различным беспроводным сетям. Вычислительное устройство 100 может выполнять связь посредством беспроводных протоколов, таких как многостанционный доступ с кодовым разделением каналов (CDMA), глобальная система для мобильной связи (GSM) или многостанционный доступ с временным разделением каналов (TDMA), а также другие, для выполнения связи с другими устройствами (не показаны на фиг. 1). Радиосвязь может представлять собой соединение с малым радиусом действия, соединение с большим радиусом действия или комбинацию соединения беспроводной связи как малого радиуса действия, так и большого радиуса действия. Когда изобретатели ссылаются на тип соединения «малого радиуса действия» и «большого радиуса действия», они не подразумевают ссылаться на пространственную зависимость между двумя устройствами. Вместо этого, они обычно ссылаются на малый радиус действия и большой радиус действия как на разные категории, или типы, соединений (т.е. первичное соединение и вторичное соединение). Соединение с малым радиусом действия может включать в себя соединение Wi-Fi® (беспроводная точность) с устройством (например, мобильной точкой общественного доступа), которое обеспечивает доступ к сети беспроводной связи, такой как соединение беспроводной локальной сети (WLAN), использующее протокол 802.11. Соединение Bluetooth с другим вычислительным устройством представляет собой второй пример соединения с малым радиусом действия. Соединение с большим радиусом действия может включать в себя соединение, использующее один или несколько из протоколов CDMA, GPRS (пакетная радиосвязь общего назначения), GSM, TDMA и 802.16.
Датчик 126 наблюдает за устройством и окружающими характеристиками и состояниями. Примерные датчики содержат акселерометры, гироскопы, определения местоположения/GPS (глобальная система позиционирования), датчики приближения, светочувствительные датчики и датчики вибраций.
Опыт взаимодействия пользователя со многими устройствами
Обращаясь теперь к фиг. 2, на ней показана сетевая операционная среда 200, содержащая многочисленные вычислительные устройства, которые могут обеспечивать возможности взаимодействия с устройствами-компаньонами, согласно вариантам осуществления настоящего изобретения. Среда 200 включает в себя первичное устройство 210, устройства-компаньоны 252, 254, 256 и 258, беспроводный маршрутизатор 250, базовую станцию 260, сеть 230 и сервер 220 возможностей взаимодействия с устройствами-компаньонами. Эти устройства являются просто примерными и не предназначены быть ограничивающими.
Первичным устройством 210 может быть игровая консоль, консоль мультимедиа или другое подходящее вычислительное устройство, которое представляет заголовки. Заголовками могут быть игры, фильмы, приложения, музыка, видео, телевизионные программы и другой мультимедийный контент. Игровая консоль может быть связана с дисплеем, таким как телевизор.
Устройства-компаньоны 252, 254, 256 и 258 представляют собой вычислительные устройства. Устройством-компаньоном, как используется в данной заявке, является персональное вычислительное устройство, которое обеспечивает второй дисплей. Примеры включают в себя портативные компьютеры, персональные компьютеры (PC), нетбуки, смартфоны, электронные книги, персональные цифровые помощники (PDA) и планшеты. Возможности взаимодействия пользователя с устройствами-компаньонами позволяют пользователю взаимодействовать с контентом, относящимся к мультимедиа, воспроизводимым на первичном устройстве 210 посредством интерфейсов на устройстве-компаньоне. Возможности взаимодействия пользователя с устройствами-компаньонами также могут позволять пользователю управлять представлением мультимедиа при помощи интерфейса на устройстве-компаньоне.
Сервер 220 возможностей взаимодействия с устройствами-компаньонами обеспечивают возможности взаимодействия пользователя с устройствами-компаньонами посредством предоставления контента устройства-компаньона, приложений устройства-компаньона, регистрации и аутентификации устройств-компаньонов, способствования передаче данных между первичными устройствами и устройствами-компаньонами и выполнения других задач. Доступ к серверу возможностей взаимодействия с устройствами-компаньонами может выполняться посредством глобальной сети, такой как Интернет.
Устройства-компаньоны 252, 254, 256 и 258 могут выполнять связь непосредственно с первичным устройством 210 по Bluetooth или по проводному соединению. Устройства-компаньоны также могут выполнять связь по локальной беспроводной сети, создаваемой беспроводным маршрутизатором 250. Эти соединения могут быть непосредственными, или они могут маршрутизироваться через сервер возможностей взаимодействия с устройствами-компаньонами. Устройства-компаньоны также могут выполнять связь с первичным устройством посредством службы передачи данных, выполняемой базовой станцией 260. Базовая станция 260 может маршрутизировать связь на первичное устройство посредством любой связи с Интернетом 230, которую использует первичное устройство. Базовая станция 260 также может быть на непосредственной связи с первичным устройством, если первичное устройство использует эту же службу передачи данных.
Подсистема зависящего от контекста интерфейса
Обращаясь теперь к фиг. 3, на ней показана подсистема 300 зависящего от контекста интерфейса с компонентами, подходящими для обнаружения контекста взаимодействия и оптимизирования пользовательского интерфейса, согласно варианту осуществления настоящего изобретения. Подсистема 300 включает в себя компонент 310 определения контекста, хранилище 312 данных контекста, хранилище 314 данных пользователя, компонент 316 распознавания людей, компонент 318 распознавания объектов, компонент 320 распознавания устройств и компонент 322 активации интерфейса. Подсистема 300 зависящего от контекста интерфейса представляет собой просто пример одной подходящей архитектуры и подразумевается, что он не предлагает никакого ограничения в отношении объема использования или функциональных возможностей настоящего изобретения. Также подсистема 300 зависящего от контекста интерфейса не должна интерпретироваться как имеющая какую-либо зависимость или требование, относящиеся к любому единственному компоненту или комбинации изображенных в ней компонентов. Подсистема 300 зависящего от контекста интерфейса может постоянно находиться на единственном вычислительном устройстве или быть распределенным по многочисленным устройствам, включая многочисленные устройства, соединенные в домашней сети, локальной сети или глобальной сети. Части индивидуальных компонентов могут постоянно находиться частично на клиенте и частично на сервере или иным образом быть распределены по многочисленным устройствам.
Компонент 310 определения контекста определяет настоящий контекст взаимодействия пользователя. Контекст содержит действия пользователя и взаимодействия пользователя с устройствами, другими людьми и контент, отображаемый в данный момент на одном или нескольких устройствах. Компонент 310 определения контекста может использовать контекстные шаблоны для идентификации и маркирования контекста. Контекстный шаблон может описывать характеристики контекста и рекомендовать характеристики интерфейса, которые оптимизированы для контекста. Характеристики контекста используются для идентификации настоящего контекста. Рекомендуемыми характеристиками интерфейса являются те, которые оптимизированы или рекомендованы для контекста.
Компонент 310 определения контекста может быть привлечен к участию в построение или оптимизирование контекстных шаблонов, основываясь на действиях пользователя, наблюдаемых при использовании системы. Реакции пользователя на оптимизированные интерфейсы могут отслеживаться и использоваться для изменения контекстных шаблонов. Например, когда пользователь не взаимодействует с функциональными элементами, добавленными к оптимизированному интерфейсу, эти функциональные элементы могут быть удалены из шаблона. Если пользователи части направляются с первого функционального элемента интерфейса на второй функциональный элемент на втором интерфейсе, тогда первый и второй функциональные элементы интерфейса могут быть объединены в новый оптимизированный интерфейс.
В одном варианте осуществления данные от взаимодействий пользователя с интерфейсом могут передаваться на сервер, основываясь на машинном обучении и анализе, которые объединяют информацию от многочисленных пользователей для создания и модифицирования шаблонов. Шаблоны затем могут ассоциироваться с людьми в аналогичной ситуации и использоваться для распознавания взаимодействий, которые указывают намерение пользователя взаимодействовать с интерфейсом определенным образом. Например, контекстные шаблоны могут ассоциироваться с мужчинами 30-35 лет, которые используют игровой планшет своей правой рукой для навигации по интерфейсу выбора мультимедиа. Характеристика пользователя может наблюдаться или собираться из учетных данных, может извлекаться соответствующий шаблон и может оптимизироваться интерфейс в соответствии с шаблоном. Контекстные шаблоны могут храниться на сервере, и к ним можно обращаться по требованию, или они могут периодически передаваться на вычислительное устройство.
Например, контекстный шаблон ввода жеста имеет ввод жеста в качестве характеристики. Ввод жеста происходит тогда, когда пользователь двигает своим туловищем, или частями туловища, в жесте, который распознается устройством ввода, таким как камера с глубиной. Например, пользователь может выполнять жест пальцами вверх, предполагая повысить громкость телевизора. В любом случае, контекстный шаблон может включать в себя характеристики контекста, которые включают в себя пользователя, не держащего устройство управления, или пользователя, не производящего впечатления, что он будет выполнять взаимодействие посредством удерживаемого устройства управления в дополнение к выполнению распознаваемых жестов. В ответ, функциональные элементы оптимизированного пользовательского интерфейса могут включать в себя большие выбираемые объекты. Следовательно, пользовательский интерфейс может увеличиваться в масштабе, или выбираемые объекты могут увеличиваться в размере. В другом варианте осуществления увеличивается зона выбора вокруг объектов. Каждый контекст имеет разные характеристики и функциональные элементы оптимизированного интерфейса. Некоторые контексты могут совместно использовать характеристики с другими контекстами и функциональными элементами оптимизированного интерфейса.
Режим ввода является только одной особенностью контекста. Например, может быть целый класс контекстов на основе жестов, включающих в себя жесты правой рукой, жесты левой рукой, скрытые жесты и жесты многих людей. Компонент 310 определения контекста может использовать режим ввода в качестве начальной точки для выбора класса контекстов. Когда принимается больше информации, контекст может обновляться, и, соответствующим образом, может корректироваться интерфейс. Интерфейс может динамически обновляться, когда увеличивается или уменьшается уверенность в контекстном сценарии. Обычно, меньшая уверенность в конкретном контексте может приводить к отображению более обобщенного интерфейса, который не оптимизирован для конкретного контекста, но адаптируется для использования в разных контекстах.
Использование ввода специализированного устройства представляет собой другой класс контекстов. Специализированные устройства включают в себя дистанционное управление и игровые контроллеры и имеют тенденцию быть очень специализированными и менее гибкими. Характеристики, которые используются для определения того, что используется специализированное устройство, включают в себя взятие пользователем специализированного устройства и использование специализированного устройства. Это противоположно тому, что устройство откладывается или просто перемещается. В дополнение к использованию камеры для определения, производит ли впечатление, что пользователь использует устройство в качестве механизма управления, сигналы, принимаемые от специализированного устройства, могут подтвердить то, что наблюдается, посредством данных изображения. В этом случае, интерфейс может адаптироваться или оптимизироваться для использования с выбранным специализированным устройством. Компонент 310 определения контекста может работать с компонентом 320 распознавания устройств для идентификации специализированного устройства.
Взаимодействие с устройством-компаньоном представляет собой другой класс контекстов. Взаимодействие с устройством-компаньоном включает в себя использование устройства-компаньона, такого как смартфон или планшет. Устройства-компаньоны могут иметь сенсорный экран, который позволяет пользователю выполнять точный или детальный выбор и просмотр дополнительного контента. Устройства-компаньоны также могут иметь аппаратную или программную клавиатуру, которая позволяет пользователю вводить текст. Характеристики взаимодействия с устройством-компаньоном включают в себя взятие устройства-компаньона. Устройство-компаньон может идентифицироваться по его внешнему виду и по сигнальным данным, принимаемым устройством. Например, пакеты данных, передаваемые с устройства-компаньона во время установления сеанса связи, могут включать в себя унифицированный указатель ресурса (URL), который идентифицирует устройство и характеристики устройства.
В одном варианте осуществления компонент 316 распознавания людей используется для ассоциирования индивидуальных устройств с людьми. Например, много людей может быть в комнате с многими устройствами. Компонент 316 распознавания людей может помочь определить, кто что делает со своим устройством. Например, первый человек может ассоциироваться с устройством, которое лежит на столе, которое игнорируется. В этом случае, пользовательскому интерфейсу нет необходимости помещать относящийся контент на устройство-компаньон этого человека или переходить к контексту интерфейса, который оптимизирован для управления устройством-компаньоном. С другой стороны, если второй человек просматривает свое устройство-компаньон, дополнительный контент может быть направлен устройству, чтобы улучшить или дополнить возможности просмотра второго человека или способность управлять интерфейсом, если это требуется.
Варианты осуществления настоящего изобретения предпринимают попытку предвидеть, что пользователь захочет использовать устройство-компаньон как часть взаимодействия с интерфейсом. Например, пользователь, который пытается выполнить навигацию в интерфейсе веб-браузера, используя жесты, может поднять устройство-компаньон вскоре после выбора текстового блока. Варианты осуществления настоящего изобретения могут автоматически открывать программную клавиатуру на устройстве-компаньоне, чтобы предоставить пользователю возможность набора на клавиатуре, используя устройство-компаньон. Эта оптимизация происходит без выполнения пользователем чего-либо еще кроме взятия устройства-компаньона, или, если он уже держит его, перемещения его таким образом, который указывает, что он готовится его использовать. Контекст в этом случае также принимает во внимание состояние приложения браузера. В этом случае, контекст включает в себя активный текстовой блок. Если пользователь не держал устройство-компаньон, программная клавиатура не открывается, и вместо этого может открываться клавиатура жестов на главном дисплее.
Звуковой контекст представляет собой другой класс контекстов, где интерфейс может быть оптимизирован. Например, может быть трудным различать между людьми, говорящими в комнате, и человеком, хотящим начать использование звуковых команд для управления интерфейсом. В одном варианте осуществления звуковой интерфейс включается при обнаружении, что пользователь, который непосредственно взаимодействует с интерфейсом, использует речевые команды. Внимание пользователя к интерфейсу может определяться посредством данных изображения, которые подтверждают, что пользователь просматривает интерфейс, в противоположность разговора с другими людьми. Присутствие других людей в комнате также может помочь определить контекст. Например, может быть маловероятным, что люди говорят сами с собой, и любые произнесенные слова могут включать систему распознавания звука, когда единственный человек находится в комнате. В противоположность этому, при многочисленных людях в комнате может быть нежелательным включение системы распознавания звука без более явной команды от пользователя.
В дополнение к оптимизации визуального внешнего вида интерфейса, полностью новый интерфейс может быть представлен при определении контекста. Например, если пользователь взаимодействует с веб-браузером, используя жесты, и затем берет игровой контроллер, может быть выполнено контекстное определение, что пользователь хочет поиграть в игру, а не взаимодействовать с веб-браузером, используя игровой контроллер. В этом случае, вместо оптимизирования веб-браузера для использования с игровым контроллером, может быть представлена домашняя страница игры или другой относящийся к игре интерфейс. В одном варианте осуществления пользователь автоматически переносится в игру, в которую он играл в последний раз.
Компонент 310 определения контекста может применять один или несколько алгоритмов машинного обучения для распознавания контекстных ситуаций и ассоциировать их с соответствующим контекстным шаблоном. В частности, компонент 310 определения контекста может ввести различные характеристики пользователя, хранимые в хранилище 314 данных пользователя, чтобы способствовать идентификации контекста, который является подходящим. Таким образом последнее поведение и предпочтения пользователя могут быть включены в процесс определения контекста.
Хранилище 312 данных контекста хранит характеристики контекста и дополнительную информацию. Характеристики контекста могут определяться или сохраняться в виде контекстных шаблонов. В одном варианте осуществления использование контекста для пользователя сохраняется в хранилище 312 данных контекста. Другими словами, наиболее широко применяемые контексты могут выясняться для конкретного пользователя и использоваться в будущем для устранения неоднозначности определения контекста. Хранилище 312 данных контекста может находиться на единственном вычислительном устройстве или распределяться по многочисленным устройствам, включая многочисленные устройства, соединенные в домашнюю сеть, локальную сеть или глобальную сеть. Данные, ассоциированные с хранилищем 312 данных контекста, могут находиться частично на клиенте и частично на сервере или иным